IP Library Granted Patent US 9,172,687
Granted Patent B2
US 9,172,687 · App. 13/730,761 · Granted Oct 27, 2015

Query system and method to determine authentication capabilities

Inventors: Davit Baghdasaryan (San Francisco, CA); Matthew Lourie (San Jose, CA); Rolf Lindemann (Steele, DE); Brendon J. Wilson (San Jose, CA); Marc Briceno (San Francisco, CA)
Assignee: NOK NOK LABS, INC.
H04L63/08H04L63/205H04L63/0853
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 9,172,687
App. No.
13/730,761
Granted
Oct 27, 2015
Kind
B2
Abstract

A system, apparatus, method, and machine readable medium are described for determining the authentication capabilities. For example, one embodiment of a method comprises: receiving a policy identifying a set of acceptable authentication capabilities; determining a set of client authentication capabilities; and filtering the set of acceptable authentication capabilities based on the determined set of client authentication capabilities to arrive at a filtered set of one or more authentication capabilities for authenticating a user of the client.

Claims (67)

1. A machine-implemented method for authenticating a user over a network comprising:

receiving at a client device from an authentication server a policy identifying a set of acceptable authentication capabilities for authenticating a user of the client device over the network, the acceptable authentication capabilities including one or more acceptable types of authentication devices;

determining at the client device a set of client authentication capabilities available on the client device, including one or more authentication devices available on the client device;

analyzing the policy at the client device to determine an appropriate privacy class to be used for providing client information to the authentication server for each authentication device of the policy, wherein a privacy class is defined based on a probability with which the client information could be used to uniquely identify a user;

filtering at the client device the set of acceptable authentication capabilities based on the determined set of client authentication capabilities, the determined privacy class of each authentication device, and privacy preferences specified by the user of the client to arrive at a filtered set of one or more authentication capabilities for authenticating the user of the client;

wherein the filtered set of one or more authentication capabilities comprises a subset of authentication capabilities common to both the authentication capabilities identified in the server policy and the authentication capabilities available on the client, further filtered based on the determined privacy class for each authentication device and privacy preferences specified by the user, the filtered set including one or more authentication devices available on the client device for performing authentication that reduce the privacy risks to the user; and

using the filtered set of one or more authentication capabilities to register the filtered set of one or more authentication capabilities, including the one or more acceptable authentication devices, with an authentication service and to authenticate the user with the authentication service over the network.

2. The method as in claim 1 further comprising:

the client device determining the set of client authentication capabilities by reading from a secure storage on the client.

3. The method as in claim 1 wherein the policy comprises a set of one or more types and/or classes of authentication devices deemed acceptable by the authentication server.

4. The method as in claim 1 further comprising:

the client device displaying one or more of the filtered set of authentication capabilities in a graphical user interface (GUI);

the client device querying the user to select or prioritize one or more of authentication capabilities from the list; and

the client device generating a filtered, user specified list of authentication capabilities based on user input to the query.

5. The method as in claim 1 wherein at least one of the types of authentication devices includes a fingerprint sensor.

6. The method as in claim 1 wherein the authentication capabilities include voice authentication capabilities.

7. The method as in claim 1 wherein at least one of the types of authentication devices includes a smartcard.

8. The method as in claim 1 wherein at least one of the types of authentication devices includes a trusted platform module (TPM).

9. The method as in claim 1 wherein registering the filtered set of one or more authentication capabilities including one or more acceptable authentication devices for performing authentication on the client device comprises:

generating at the client a public/private key pair for each of the one or more authentication devices;

sending at least one public key of the public/private key pair associated with each of the one or more authentication devices to the authentication server; and

the authentication server associating each public key with its corresponding authentication device within a secure storage.

10. The method as in claim 9 further comprising:

receiving a request by the client device to authenticate using a first one of the acceptable authentication devices;

identifying a first public key in secure storage associated with the first one of the acceptable authentication devices; and

using the public key to establish secure communication between the authentication server and the client device when authenticating the user with the first one of the acceptable authentication devices.

11. The method as in claim 10 wherein the client device uses the private key associated with the first one of the acceptable authentication devices to establish the secure communication between the authentication server and the client device.

12. The method as in claim 9 further comprising:

the authentication server performing device attestation to validate the identity of the one or more authentication devices.

13. The method as in claim 12 further comprising:

generating a random challenge at the authentication server and sending the random challenge to the client device during the registration of the filtered set of one or more acceptable authentication devices, wherein the client device sends the random challenge back to the authentication server and the authentication server validates the random challenge.

14. A system comprising:

a client receiving a policy from an authentication server identifying a set of acceptable authentication capabilities and to determine a set of client authentication capabilities, for authenticating a user of the client over the network, the acceptable authentication capabilities including one or more types of acceptable authentication devices;

determining at the client a set of client authentication capabilities available on the client, including one or more authentication devices available on the client;

analyzing at the client the policy at the client device to determine an appropriate privacy class to be used for providing client information to the authentication server for each authentication device of the policy, wherein a privacy class is defined based on a probability with which the client information could be used to uniquely identify a user;

a policy filter implemented on the client to filter the set of acceptable authentication capabilities, the determined privacy class of each authentication device, and privacy preferences specified by the user of the client to arrive at a filtered set of one or more authentication capabilities for authenticating the user of the client;

wherein the filtered set of one or more authentication capabilities comprises a subset of authentication capabilities common to both the authentication capabilities identified in the server policy and the authentication capabilities available on the client, further filtered based on the determined privacy class for each authentication device and privacy preferences specified by the user, the filtered set including one or more authentication devices available on the client device for performing authentication that reduce the privacy risks to the user; and

the client using the filtered set of one or more authentication capabilities to register the filtered set of one or more authentication capabilities, including the one or more acceptable authentication devices, with an authentication service and to authenticate the user with the authentication service over the network.

15. The system as in claim 14 further comprising:

the client determining the set of client authentication capabilities by reading from a secure storage.

16. The system as in claim 14 wherein the policy comprises a set of one or more types and/or classes of authentication devices deemed acceptable by the authentication server.

17. The system as in claim 16 further comprising:

the client displaying one or more of the filtered set of authentication capabilities in a graphical user interface (GUI);

the client querying the user to select or prioritize one or more of authentication capabilities from the list; and

the client generating a filtered, user specified list of authentication capabilities based on user input to the query.

18. The system as in claim 14 wherein at least one of the types of authentication devices includes a fingerprint sensor.

19. The system as in claim 14 wherein the authentication capabilities include voice authentication capabilities.

20. The system as in claim 14 wherein at least one of the types of authentication devices includes a smartcard.

21. The system as in claim 14 wherein at least one of the types of authentication devices includes a trusted platform module (TPM).

22. A non-transitory machine readable medium having program code stored thereon which, when executed by a machine, causes the machine to perform the operations of:

receiving at a client device from an authentication server a policy identifying a set of receiving at a client device from an authentication server a policy identifying a set of acceptable authentication capabilities for authenticating a user of the client device over the network, the acceptable authentication capabilities including one or more acceptable types of authentication devices;

determining at the client device a set of client authentication capabilities available on the client device, including one or more authentication devices available on the client device;

analyzing the policy at the client device to determine an appropriate privacy class to be used for providing client information to the authentication server for each authentication device of the policy, wherein a privacy class is defined based on a probability with which the client information could be used to uniquely identify a user;

filtering at the client device the set of acceptable authentication capabilities based on the determined set of client authentication capabilities, the determined privacy class of each authentication device, and privacy preferences specified by the user of the client to arrive at a filtered set of one or more authentication capabilities for authenticating the user of the client;

wherein the filtered set of one or more authentication capabilities comprises a subset of authentication capabilities common to both the authentication capabilities identified in the server policy and the authentication capabilities available on the client, further filtered based on the determined privacy class for each authentication device and privacy preferences specified by the user, the filtered set including one or more authentication devices available on the client device for performing authentication that reduce the privacy risks to the user; and

using the filtered set of one or more authentication capabilities to register the filtered set of one or more authentication capabilities, including the one or more acceptable authentication devices, with an authentication service and to authenticate the user with the authentication service over the network.

23. The non-transitory machine-readable medium as in claim 22 comprising additional program code to cause the machine to perform the operations of:

determining the set of client authentication capabilities by reading from a secure storage on the client.

24. The non-transitory machine readable medium as in claim 22 wherein the policy comprises a set of one or more types and/or classes of authentication devices deemed acceptable by the authentication server.

25. The non-transitory machine readable medium as in claim 22 comprising additional program code to cause the machine to perform the operations of:

displaying one or more of the filtered set of authentication capabilities in a graphical user interface (GUI);

querying the user to select or prioritize one or more of authentication capabilities from the list; and

generating a filtered, user specified list of authentication capabilities based on user input to the query.

26. The non-transitory machine readable medium as in claim 22 wherein at least one of the types of authentication devices includes a fingerprint sensor.

27. The non-transitory machine readable medium as in claim 22 wherein the authentication capabilities include voice authentication capabilities.

28. The non-transitory machine readable medium as in claim 22 wherein at least one of the types of authentication devices includes a smartcard.

29. The non-transitory machine readable medium as in claim 22 wherein at least one of the types of authentication devices include a trusted platform module (TPM).

Assignments (8)
CORRECTIVE ASSIGNMENT TO CORRECT THE APPLICATION NUMBER PREVIOUSLY RECORDED AT REEL: 71257 FRAME: 566. ASSIGNOR(S) HEREBY CONFIRMS THE RELEASE OF SECURITY INTEREST. Recorded Aug 26, 2025
From: VENTURE LENDING & LEASING VII, INC.; VENTURE LENDING & LEASING VIII, INC.
To: NOK NOK LABS, INC.
Reel/Frame 073057/0274 →
SECURITY INTEREST Recorded Jul 1, 2025
From: NOK NOK LABS, INC.
To: MUFG BANK, LTD.
Reel/Frame 071773/0493 →
CORRECTIVE ASSIGNMENT TO CORRECT THE ERRONEOUSLY RECORDED PATENT APPLICATION NUMBER 14488747 PREVIOUSLY RECORDED ON REEL 71273 FRAME 25. ASSIGNOR(S) HEREBY CONFIRMS THE SECURITY INTEREST. Recorded Jun 18, 2025
From: VENTURE LENDING & LEASING IX, INC.; VENTURE LENDING & LEASING VIII, INC.
To: NOK NOK LABS, INC.
Reel/Frame 071773/0352 →
RELEASE OF SECURITY INTEREST Recorded May 30, 2025
From: VENTURE LENDING & LEASING VIII, INC.; VENTURE LENDING & LEASING IX, INC.
To: NOK NOK LABS, INC.
Reel/Frame 071273/0025 →
RELEASE OF SECURITY INTEREST Recorded May 29, 2025
From: VENTURE LENDING & LEASING VII, INC.; VENTURE LENDING & LEASING VIII, INC.
To: NOK NOK LABS, INC.
Reel/Frame 071257/0566 →
SECURITY INTEREST Recorded Jul 5, 2018
From: NOK NOK LABS, INC.
To: VENTURE LENDING & LEASING IX, INC.; VENTURE LENDING & LEASING VIII, INC.
Reel/Frame 046492/0870 →
SECURITY INTEREST Recorded Jan 12, 2017
From: NOK NOK LABS, INC.
To: VENTURE LENDING & LEASING VII, INC.; VENTURE LENDING & LEASING VIII, INC.
Reel/Frame 041352/0867 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Dec 20, 2013
From: BAGHDASARYAN, DAVIT; LOURIE, MATTHEW; LINDEMANN, ROLF; WILSON, BRENDON J.; BRICENO, MARC
To: NOK NOK LABS, INC.
Reel/Frame 031826/0839 →
Continuity (1)
Related Publication 20140189779A1 · Jul 3, 2014