IP Library › Granted Patent US 8,595,501
Granted Patent B2
US 8,595,501 · App. 12/118,580 · Granted Nov 26, 2013

Network helper for authentication between a token and verifiers

Inventors: Gregory Gordon Rose (San Diego, CA); Alexander Gantman (Poway, CA); Miriam Wiggers De Vries (Crows Nest, AU); Michael Paddon (Tokyo, JP); Philip Michael Hawkes (Warrimoo, AU)
Assignee: QUALCOMM Incorporated
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 8,595,501
App. No.
12/118,580
Granted
Nov 26, 2013
Kind
B2
Abstract

A network helper is provided that assists verifiers in executing a puzzle-based protocol for authentication of a token. A token stores a secret key and one or more puzzle-generating algorithms. The helper stores a plurality of puzzles associated with a particular token. When requested to do so by a verifier, the helper provides a plurality of pseudorandomly selected puzzles for the token to a verifier. The puzzles are encoded with information that is used between the verifier and token to establish a secured symmetric key. The verifier selects one or a few of the encoded puzzles and breaks them by a brute force attack. Because the helper does not know which puzzles have been selected, it has to break all puzzles to attempt to figure out the symmetric key. However, if a large number of puzzles are utilized, say millions, then breaking all of them becomes a computationally prohibitive task.

Claims (68)

1. A method operational on a networked helper to assist a verifier in authenticating a token device, comprising:

receiving a plurality of encoded puzzles associated with a token identifier and a secret key from a token provisioner, each of the encoded puzzles, when solved, produces an associated puzzle secret and an associated puzzle identifier;

storing the plurality of encoded puzzles;

receiving a request from the verifier for puzzles associated with the token identifier during an initial authentication stage between the verifier and the token device in which a symmetric key is established between the verifier and the token device;

selecting a subset of the stored plurality of encoded puzzles associated with the token identifier; and

sending the selected subset of encoded puzzles to the verifier that allows the verifier to solve at least one of the encoded puzzles in the subset, to generate the symmetric key from the associated puzzle secret, and to provide the associated puzzle identifier to the token device, and that allows the token device to reproduce the at least one of the encoded puzzles and the associated puzzle secret corresponding to the token identifier from the associated puzzle identifier and the stored secret key, and to generate the symmetric key based on the associated puzzle secret.

2. The method of claim 1 , wherein each of the encoded puzzles is an encoded message including the associated puzzle identifier and the associated puzzle secret.

3. The method of claim 1 , wherein the symmetric key between the verifier and the token device is based on one or more of the subset of encoded puzzles.

4. The method of claim 1 , wherein the subset of the stored plurality of encoded puzzles are pseudorandomly selected by the helper.

5. The method of claim 4 , further comprising:

receiving a nonce from the verifier and using the nonce to pseudorandomly select the subset of encoded puzzles.

6. The method of claim 5 , further comprising:

generating proof that the subset of encoded puzzles was selected based on the received nonce; and

sending such proof to the verifier.

7. The method of claim 1 wherein the plurality of encoded puzzles is at least a million puzzles.

8. The method of claim 1 , further comprising:

storing a plurality of other puzzles associated with other token identifiers.

9. A helper device for assisting a verifier in authenticating token devices, comprising:

a communication interface having high bandwidth to a network; and

a hardware processing circuit coupled to the first communication interface, the processing circuit configured to

receive a plurality of encoded puzzles associated with a token identifier and a secret key from a token provisioner, each of the encoded puzzles, when solved, produces an associated puzzle secret and an associated puzzle identifier;

store the plurality of encoded puzzles;

receive a request from the verifier for puzzles associated with the token identifier during an initial authentication stage between the verifier and a token device in which a symmetric key is established between the verifier and the token device;

select a subset of the stored plurality of encoded puzzles associated with the token identifier; and

send the selected subset of encoded puzzles to the verifier that allows the verifier to solve at least one of the encoded puzzles in the subset, to generate the symmetric key from the associated puzzle secret, and to provide the associated puzzle identifier to the token device, and that allows the token device to reproduce the at least one of the encoded puzzles and the associated puzzle secret corresponding to the token identifier from the associated puzzle identifier and the stored secret key, and to generate the symmetric key based on the associated puzzle secret.

10. The helper device of claim 9 , further comprising:

a storage device coupled to the processing circuit for storing the plurality of puzzles.

11. The helper device of claim 9 , wherein each of the encoded puzzles is an encoded message including the associated puzzle identifier and the associated puzzle secret.

12. The helper device of claim 9 , wherein the symmetric key between the verifier and the token device is based on one or more of the subset of encoded puzzles.

13. The helper device of claim 9 , wherein the subset of the stored plurality of encoded puzzles are pseudorandomly selected by the helper.

14. The helper device of claim 13 , wherein the processing circuit is further configured to receive a nonce from the verifier and using the nonce to pseudorandomly select the subset of encoded puzzles;

generate proof that the subset of encoded puzzles was selected based on the received nonce; and

send such proof to the verifier.

15. A helper device for assisting a verifier in authenticating token devices, comprising:

means for receiving a plurality of encoded puzzles associated with a token identifier and a secret key from a token provisioner, each of the encoded puzzles, when solved, produces an associated puzzle secret and an associated puzzle identifier;

means for storing the plurality of encoded puzzles;

means for receiving a request from the verifier for puzzles associated with the token identifier during an initial authentication stage between the verifier and a token device in which a symmetric key is established between the verifier and the token device;

means for selecting a subset of the stored plurality of encoded puzzles associated with the token identifier; and

means for sending the selected subset of encoded puzzles to the verifier that allows the verifier to solve at least one of the encoded puzzles in the subset, to generate the symmetric key from the associated puzzle secret, and to provide the associated puzzle identifier to the token device, and that allows the token device to reproduce the at least one of the encoded puzzles and the associated puzzle secret corresponding to the token identifier from the associated puzzle identifier and the stored secret key, and to generate the symmetric key based on the associated puzzle secret.

16. The helper device of claim 15 , wherein an each of the encoded puzzles is an encoded message including the associated puzzle identifier and the associated puzzle secret.

17. The helper device of claim 15 , wherein the symmetric key between the verifier and the token device is based on one or more of the subset of encoded puzzles.

18. The helper device of claim 15 , further comprising:

means for receiving a nonce from the verifier and using the nonce to pseudorandomly select the subset of encoded puzzles;

means for generating proof that the subset of encoded puzzles was selected based on the received nonce; and

means for sending such proof to the verifier.

19. A processing device, comprising:

a hardware processing circuit configured to

receive a plurality of encoded puzzles associated with a token identifier and a secret key from a token provisioner, each of the encoded puzzles, when solved, produces an associated puzzle secret and an associated puzzle identifier;

store the plurality of encoded puzzles;

receive a request from the verifier for puzzles associated with the token identifier during an initial authentication stage between the verifier and a token device in which a symmetric key is established between the verifier and the token device;

select a subset of the stored plurality of encoded puzzles associated with the token identifier; and

send the selected subset of encoded puzzles to the verifier that allows the verifier to solve at least one of the encoded puzzles in the subset, to generate the symmetric key from the associated puzzle secret, and to provide the associated puzzle identifier to the token device, and that allows the token device to reproduce the at least one of the encoded puzzles and the associated puzzle secret corresponding to the token identifier from the associated puzzle identifier and the stored secret key, and to generate the symmetric key based on the associated puzzle secret.

20. The processing device of claim 19 wherein the processing circuit is further configured to pseudorandomly select the subset of the stored plurality of encoded puzzles.

21. The processing device of claim 19 , wherein the processing circuit is further configured to receive a nonce from the verifier and using the nonce to pseudorandomly select the subset of encoded puzzles;

generate proof that the subset of encoded puzzles was selected based on the received nonce; and

send such proof to the verifier.

22. A non-transitory machine-readable medium having one or more instructions operational on a networked helper for assisting a verifier in authenticating a token device, which when executed by a processor causes the processor to:

receive a plurality of encoded puzzles associated with a token identifier and a secret key from a token provisioner, each of the encoded puzzles, when solved, produces an associated puzzle secret and an associated puzzle identifier;

store the plurality of encoded puzzles;

receive a request from the verifier for puzzles associated with the token identifier during an initial authentication stage between the verifier and the token device in which a symmetric key is established between the verifier and the token device;

select a subset of the stored plurality of encoded puzzles associated with the token identifier; and

send the selected subset of encoded puzzles to the verifier that allows the verifier to solve at least one of the encoded puzzles in the subset, to generate the symmetric key from the associated puzzle secret, and to provide the associated puzzle identifier to the token device, and that allows the token device to reproduce the at least one of the encoded puzzles and the associated puzzle secret corresponding to the token identifier from the associated puzzle identifier and the stored secret key, and to generate the symmetric key based on the associated puzzle secret.

23. The non-transitory machine-readable medium of claim 22 having one or more instructions which when executed by a processor causes the processor to further:

storing a plurality of other puzzles associated with other token identifiers.

24. The non-transitory machine-readable medium of claim 22 , having one or more instructions which when executed by a processor causes the processor to further:

receive a nonce from the verifier and using the nonce to pseudorandomly select the subset of encoded puzzles;

generate proof that the subset of encoded puzzles was selected based on the received nonce; and

send such proof to the verifier.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Oct 29, 2008
From: ROSE, GREGORY GORDON; GANTMAN, ALEXANDER; VRIES, MIRIAM WIGGERS DE; PADDON, MICHAEL; HAWKES, PHILIP MICHAEL
To: QUALCOMM INCORPORATED
Reel/Frame 021759/0200 →
Continuity (1)
Related Publication 20090282253A1 · Nov 12, 2009