IP Library › Granted Patent US 12,388,645
Granted Patent B2
US 12,388,645 · App. 18/362,798 · Granted Aug 12, 2025

Techniques for binding tokens to a device and collecting device posture signals

Inventors: Vinayak Shenoy (Seattle, WA); Yang Chen (East Brunswick, NJ); Lana Young Choi (San Francisco, CA); Tanvir Ahmed (Kirkland, WA); Dipti Shiralkar (San Jose, CA)
H04L9/3213H04L9/14H04L9/3073H04L9/3218
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 12,388,645
App. No.
18/362,798
Granted
Aug 12, 2025
Kind
B2
Abstract

Methods, systems, and devices for user authentication are described. A first device may generate a keypair at a secure module. The keypair includes a public key and a private key that is stored at the secure module. The first device may authenticate the first device and a user of the first device with an identity management platform and may generate a header at an authentication client based on the authenticating. The header may be generated in accordance with an application-layer protocol for demonstrating proof-of-possession (DPoD). The first device may collect device signals and sign the header with the private key and the device signals based on a web client invoking the authentication client via a loopback interface and the authentication client accessing the secure module. The first device may transmit the signed header to a server of the identity management platform via the web client.

Claims (38)

1. A method for user authentication on a first device, comprising:

generating a proof-of-possession keypair at a secure module of the first device, wherein the proof-of-possession keypair comprises a public key and a private key, and wherein the private key is stored at the secure module;

performing a sequence of operations to authenticate the first device and a user of the first device with an identity management platform;

generating a header at an authentication client of the first device based at least in part on the authenticating, wherein the header is generated in accordance with an application-layer protocol for demonstrating proof-of-possession;

receiving a nonce via a web client based at least in part on validating the header with the identity management platform using the public key;

obtaining one or more device signals at the authentication client of the first device in response to receiving the nonce and based at least in part on the web client invoking the authentication client via a loopback interface;

signing the header with the private key, the nonce, and the one or more device signals based at least in part on a web client of the first device invoking the authentication client via a loopback interface and the authentication client accessing the secure module via a system interface; and

transmitting the signed header to a server associated with the identity management platform via the web client.

2. The method of claim 1 , wherein each device signal of the one or more device signals correspond to a respective attribute of one or more attributes collectable by the authentication client.

3. The method of claim 2 , wherein the one or more attributes comprise security data that pertains to the first device.

4. The method of claim 2 , wherein the one or more attributes comprise an attestation of a management status of the first device, an operating system version of the first device, a status of one or more anti-virus products on the first device, an anti-virus setting of the first device, a firewall setting of the first device, a status of a firewall on the first device, a screen-lock type of the first device, a risk score of the first device, a status of one or more auto-update settings on the first device, a status of one or more internet settings on the first device, a status of a user account control on the first device, or a status of an operating system security center service, or any combination thereof.

5. The method of claim 1 , further comprising:

receiving an access token and a refresh token via the web client based at least in part on validating the header with the identity management platform using the public key, wherein the access token and the refresh token are bound to the first device and include the header.

6. The method of claim 5 , further comprising:

transmitting a request to a resource server for access to a resource, wherein the request is transmitted via the web client and includes the access token and the header; and

obtaining access to the resource based at least in part on the access token and the header being signed with the one or more device signals.

7. The method of claim 5 , further comprising:

transmitting, to the server associated with the identity management platform, a request for a second access token based at least in part on identifying an expiration of the access token, wherein the request includes the refresh token and the header; and

obtaining the second access token based at least in part on the refresh token and the header being signed with the one or more device signals.

8. The method of claim 1 , wherein the header comprises a demonstrated proof-of-possession header.

9. The method of claim 1 , wherein the sequence of operations are performed in response to a request, from the user, to access a resource via the web client.

10. An apparatus for user authentication on a first device, comprising:

one or more memories storing processor-executable code; and

one or more processors coupled with the one or more memories and individually or collectively operable to execute the code to cause the apparatus to:

generate a proof-of-possession keypair at a secure module of the first device, wherein the proof-of-possession keypair comprises a public key and a private key, and wherein the private key is stored at the secure module;

perform a sequence of operations to authenticate the first device and a user of the first device with an identity management platform;

generate a header at an authentication client of the first device based at least in part on the authenticating, wherein the header is generated in accordance with an application-layer protocol for demonstrating proof-of-possession;

receive a nonce via a web client based at least in part on validating the header with the identity management platform using the public key;

obtain one or more device signals at the authentication client of the first device in response to receiving the nonce and based at least in part on the web client invoking the authentication client via a loopback interface;

sign the header with the private key, the nonce, and the one or more device signals based at least in part on a web client of the first device invoking the authentication client via a loopback interface and the authentication client accessing the secure module via a system interface; and

transmit the signed header to a server associated with the identity management platform via the web client.

11. The apparatus of claim 10 , wherein each device signal of the one or more device signals correspond to a respective attribute of one or more attributes collectable by the authentication client.

12. The apparatus of claim 11 , wherein the one or more attributes comprise an attestation of a management status of the first device, an operating system version of the first device, a status of one or more anti-virus products on the first device, an anti-virus setting of the first device, a firewall setting of the first device, a status of a firewall on the first device, a screen-lock type of the first device, a risk score of the first device, a status of one or more auto-update settings on the first device, a status of one or more internet settings on the first device, a status of a user account control on the first device, a proof of management status, or a status of an operating system security center service, or any combination thereof.

13. The apparatus of claim 10 , wherein the one or more processors are individually or collectively further operable to execute the code to cause the apparatus to:

receive an access token and a refresh token via the web client based at least in part on validating the header with the identity management platform using the public key, wherein the access token and the refresh token are bound to the first device and include the header.

14. The apparatus of claim 13 , wherein the one or more processors are individually or collectively further operable to execute the code to cause the apparatus to:

transmit a request to a resource server for access to a resource, wherein the request is transmitted via the web client and includes the access token and the header; and

obtain access to the resource based at least in part on the access token and the header being signed with the one or more device signals.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Dec 1, 2023
From: SHENOY, VINAYAK; CHEN, YANG; CHOI, LANA YOUNG; AHMED, TANVIR; SHIRALKAR, DIPTI
To: OKTA, INC.
Reel/Frame 065736/0259 →
Continuity (1)
Related Publication 20250047489A1 · Feb 6, 2025
References Cited (6)
US 6842863B1 · Fox · 2005 [cited by examiner]
US 11456870B2 · Subramaniam · 2022 [cited by examiner]
US 20190124070A1 · Engan · 2019 [cited by examiner]
US 20190312730A1 · Engan · 2019 [cited by examiner]
US 20210243177A1 · Burson · 2021 [cited by examiner]
US 20220417241A1 · Zilbershtein · 2022 [cited by examiner]