IP Library Granted Patent US 11,159,511
Granted Patent B1
US 11,159,511 · App. 16/244,533 · Granted Oct 26, 2021

Authentication protocol management

Inventors: Darrell Geusz (Sterling, VA); Deepak Karuppiah (Vienna, VA)
Assignee: MicroStrategy Incorporated
H04L63/0815H04L9/3213H04L63/062H04L63/10
View Patent ↗
Loading inventors, assignments & file history…
Monitor This Case
Get email alerts when status or documents change.
Order Certified Copies
Most orders are placed with the USPTO same day — all within 24 business hours.
Order via The Patent Place →
Pre-filled with this patent's details
Quick Facts
Patent No.
US 11,159,511
App. No.
16/244,533
Granted
Oct 26, 2021
Kind
B1
Abstract

Methods, systems, and apparatus, including computer-readable media, for authentication protocol management. In some implementations, a computing device receives data indicating a current context of a client device associated with a particular user. The computing device accesses first authentication data that demonstrates that the particular user has been authenticated using a first authentication protocol. The computing device determines that the particular user is likely to request access to a secured resource based on the current context of the client device and data indicating one or more previous resource accesses by the particular user. The computing device determines that access to the secured resource involves authentication using a second authentication protocol that is different from the first authentication protocol. In response, the computing device authenticates the particular user using the second authentication protocol and establishes an authenticated session for the particular user to access the secured resource.

Claims (79)

1. A method performed by one or more computers, the method comprising:

receiving, by the one or more computers, data indicating a current context of a client device associated with a particular user;

accessing, by the one or more computers, first authentication data that demonstrates that the particular user has been authenticated using a first authentication protocol;

determining, by the one or more computers, that the particular user is likely to request access to a secured resource based on the current context of the client device and data indicating one or more previous resource accesses by the particular user;

accessing a stored resource profile for the secured resource, the stored resource profile indicating authentication requirements of the secured resource;

determining, by the one or more computers, that access to the secured resource involves authentication using a second authentication protocol that is different from the first authentication protocol;

accessing, by the one or more computers, attribute data for the particular user, the attribute data describing attributes of at least one of the client device or a user account of the particular user;

in response to determining that the particular user is likely to request access to the secured resource and based on the first authentication data demonstrating that the particular user has been authenticated using the first authentication protocol:

generating, by the one or more computers, an authentication request for the particular user to access the secured resource, the authentication request being generated using attributes selected from the attribute data based on the stored resource profile;

using, by the one or more computers, the generated authentication request to authenticate the particular user using the second authentication protocol; and

establishing, by the one or more computers, an authenticated session for the particular user to access the secured resource.

2. The method of claim 1 , further comprising:

providing, by the one or more computers, session data to the client device that enables the client device to access the secured resource using the authenticated session.

3. The method of claim 1 , wherein accessing the first authentication data comprises receiving a Kerberos ticket for an authenticated Kerberos session of the particular user in a local area network domain; and

wherein the secured resource is a resource outside the local area network domain.

4. The method of claim 1 , wherein determining that access to the secured resource involves authentication using a second authentication protocol comprises determining that access to the secured resource comprises authentication using at least one of Open Authentication protocol, Security Assertion Markup Language (SAML), OpenID connect (OIDC), JSON Web Tokens (JWT), or Open Web Application Security Project (OWASP).

5. The method of claim 1 , wherein the secured resource comprises a data source, a document, a web page, a network-based application, a network-based service, or a remote computer system.

6. The method of claim 1 , wherein the first authentication data comprises a Kerberos ticket, from a Kerberos key distribution center, that is currently valid, the Kerberos ticket being stored by the one or more computers on behalf of the client device; and

wherein the authentication is established by the one or more computers using second authentication data for the particular user that comprises at least one of biometric data, a user name, a user account identifier, a device identifier for the client device, a password, a personal identification number, a code, or a data token.

7. The method of claim 1 , wherein determining that access to the secured resource involves authentication using a second authentication protocol comprises:

determining that the secured resource is outside a domain of the client device, the one or more computers, or a key distribution center for the first authentication protocol; and

determining, based on the stored resource profile for the secured resource or communication with the secured resource, that the first authentication protocol is not supported by the secured resource but the second authentication protocol is supported by the secured resource, or

determining, based on a management profile, that a management policy directs use of the second authentication protocol in addition to requirements of the secured resource.

8. The method of claim 1 , comprising:

before receiving the request from the client device to access the secured resource:

establishing the authenticated session for the particular user with the secured resource; and

storing session data describing the authenticated session for the particular user to access the secured resource; and

providing the stored session data to the client device in response to receiving a request from the client device to access the secured resource.

9. The method of claim 1 , further comprising:

communicating with multiple different services to establish authenticated sessions for the particular user for each of the multiple different services without user action to initiate access to the multiple different services, the multiple different services using different authentication protocols; and

storing authentication tokens for the authentication sessions and maintaining the authentication sessions active while a Kerberos authentication for the particular user in a local area network domain remains active.

10. The method of claim 1 , further comprising:

determining that authentication of the particular user for the first authentication protocol or the second authentication protocol expires within a threshold amount of time; and

based on determining that authentication of the particular user for the first authentication protocol or the second authentication protocol expires within the threshold amount of time, automatically renewing the authentication of the particular user for the first authentication protocol or the second authentication protocol.

11. The method claim 1 , further comprising:

determining that the authenticated session of the particular user for the first authentication protocol has ended; and

based on determining that the authenticated session of the particular user for the first authentication protocol has ended, ending the authenticated session of the particular user for the secured resource that was obtained using the second authentication protocol.

12. The method of claim 1 , further comprising:

after establishing the authenticated session for the particular user to access the secured resource, receiving, by the one or more computers, a request from the client device to access the secured resource; and

in response to receiving the request from the client device to access the secured resource, providing, by the one or more computers, second authentication data that enables the client device to access the secured resource using the authenticated session.

13. A system comprising:

one or more computers; and

one or more computer-readable media storing instructions that, when executed by the one or more computers, cause the one or more computers to perform operations comprising:

receiving, by the one or more computers, data indicating a current context of a client device associated with a particular user;

accessing, by the one or more computers, first authentication data that demonstrates that the particular user has been authenticated using a first authentication protocol;

determining, by the one or more computers, that the particular user is likely to request access to a secured resource based on the current context of the client device and data indicating one or more previous resource accesses by the particular user;

accessing a stored resource profile for the secured resource, the stored resource profile indicating authentication requirements of the secured resource;

determining, by the one or more computers, that access to the secured resource involves authentication using a second authentication protocol that is different from the first authentication protocol;

accessing, by the one or more computers, attribute data for the particular user, the attribute data describing attributes of at least one of the client device or a user account of the particular user;

in response to determining that the particular user is likely to request access to the secured resource and based on the first authentication data demonstrating that the particular user has been authenticated using the first authentication protocol:

generating, by the one or more computers, an authentication request for the particular user to access the secured resource, the authentication request being generated using attributes selected from the attribute data based on the stored resource profile;

using, by the one or more computers, the generated authentication request to authenticate the particular user using the second authentication protocol; and

establishing, by the one or more computers, an authenticated session for the particular user to access the secured resource.

14. The system of claim 13 , wherein accessing the first authentication data comprises receiving a Kerberos ticket for an authenticated Kerberos session of the particular user in a local area network domain; and

wherein the secured resource is a resource outside the local area network domain.

15. The system of claim 13 , wherein determining that access to the secured resource involves authentication using a second authentication protocol comprises determining that access to the secured resource comprises authentication using at least one of Open Authentication protocol, Security Assertion Markup Language (SAML), OpenID connect (OIDC), JSON Web Tokens (JWT), or Open Web Application Security Project (OWASP).

16. The system of claim 15 , wherein the first authentication data comprises a Kerberos ticket, from a Kerberos key distribution center, that is currently valid, the Kerberos ticket being stored by the one or more computers on behalf of the client device; and

wherein the authentication is established by the one or more computers using second authentication data for the particular user that comprises at least one of biometric data, a user name, a user account identifier, a device identifier for the client device, a password, a personal identification number, a code, or a data token.

17. The system of claim 13 , wherein the secured resource comprises a data source, a document, a web page, a network-based application, a network-based service, or a remote computer system.

18. The system of claim 13 , wherein determining that access to the secured resource involves authentication using a second authentication protocol comprises:

determining that the secured resource is outside a domain of the client device, the one or more computers, or a key distribution center for the first authentication protocol the KDC; and

determining, based on a stored profile for the secured resource or communication with the secured resource, that the first authentication protocol is not supported by the secured resource but the second authentication protocol is supported by the secured resource, or

determining, based on a management profile, that a management policy directs use of the second authentication protocol in addition to requirements of the secured resource.

19. The system of claim 13 , comprising:

before receiving the request from the client device to access the secured resource:

establishing the authenticated session for the particular user with the secured resource; and

storing session data describing the authenticated session for the particular user to access the secured resource; and

providing the stored session data to the client device in response to receiving a request from the client device to access the secured resource.

20. One or more non-transitory computer-readable media storing instructions that are operable, when executed by the one or more computers, cause the one or more computers to perform operations comprising:

receiving, by the one or more computers, data indicating a current context of a client device associated with a particular user;

accessing, by the one or more computers, first authentication data that demonstrates that the particular user has been authenticated using a first authentication protocol;

determining, by the one or more computers, that the particular user is likely to request access to a secured resource based on the current context of the client device and data indicating one or more previous resource accesses by the particular user;

accessing a stored resource profile for the secured resource, the stored resource profile indicating authentication requirements of the secured resource;

determining, by the one or more computers, that access to the secured resource involves authentication using a second authentication protocol that is different from the first authentication protocol;

accessing, by the one or more computers, attribute data for the particular user, the attribute data describing attributes of at least one of the client device or a user account of the particular user;

in response to determining that the particular user is likely to request access to the secured resource and based on the first authentication data demonstrating that the particular user has been authenticated using the first authentication protocol:

generating, by the one or more computers, an authentication request for the particular user to access the secured resource, the authentication request being generated using attributes selected from the attribute data based on the stored resource profile;

using, by the one or more computers, the generated authentication request to authenticate the particular user using the second authentication protocol; and

establishing, by the one or more computers, an authenticated session for the particular user to access the secured resource.

Assignments (5)
CHANGE OF NAME Recorded Sep 19, 2025
From: MICROSTRATEGY INCORPORATED
To: STRATEGY INC
Reel/Frame 072910/0511 →
TERMINATION AND RELEASE OF PATENT SECURITY AGREEMENT AT REEL/FRAME: 056647/0687, REEL/FRAME: 057435/0023, REEL/FRAME: 059256/0247, REEL/FRAME: 062794/0255 AND REEL/FRAME: 066663/0713 Recorded Sep 26, 2024
From: U.S. BANK TRUST COMPANY, NATIONAL ASSOCIATION, AS SUCCESSOR IN INTEREST TO U.S. BANK NATIONAL ASSOCIATION, IN ITS CAPACITY AS COLLATERAL AGENT FOR THE SECURED PARTIES
To: MICROSTRATEGY INCORPORATED; MICROSTRATEGY SERVICES CORPORATION
Reel/Frame 069065/0539 →
SUPPLEMENTARY PATENT SECURITY AGREEMENT Recorded Feb 18, 2022
From: MICROSTRATEGY INCORPORATED; MICROSTRATEGY SERVICES CORPORATION
To: U.S. BANK NATIONAL ASSOCIATION, AS COLLATERAL AGENT
Reel/Frame 059256/0247 →
SECURITY INTEREST Recorded Jun 22, 2021
From: MICROSTRATEGY INCORPORATED
To: U.S. BANK NATIONAL ASSOCIATION, AS COLLATERAL AGENT
Reel/Frame 056647/0687 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jan 31, 2019
From: GEUSZ, DARRELL; KARUPPIAH, DEEPAK
To: MICROSTRATEGY INCORPORATED
Reel/Frame 048202/0851 →