IP Library Granted Patent US 8,990,564
Granted Patent B2
US 8,990,564 · App. 13/176,897 · Granted Mar 24, 2015

System and method for performing device authentication using key agreement

Inventor: Robert John Lambert (Cambridge, CA)
Assignee: Certicom Corp.
H04L9/0844G06F21/34G06F21/44H04L9/3066H04L9/3242
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,990,564
App. No.
13/176,897
Granted
Mar 24, 2015
Kind
B2
Abstract

A system and method are provided which employs a key agreement scheme, wherein the agreed-upon-shared key is used in a protocol message in the authentication rather than being employed as a session key.

Claims (41)

1. A method of performing device authentication of a component of a verification device, the method comprising:

the verification device participating in an elliptic curve key agreement protocol with the component comprising the verification device computing a challenge point on an elliptic curve by performing scalar multiplication using a private key of the verification device and a generating point, and providing the challenge point to the component;

the verification device obtaining a first value from the component, the first value having been generated by the component by applying a deterministic function to a first result from a first operation performed in the key agreement protocol, the component participating in the key agreement protocol without using a random number generator, the first result having been computed using the challenge point, a cofactor and a private key of the component; and

the verification device using the first value to authenticate the component by performing a comparison of the first value with a second value, the second value generated by applying the deterministic function to a second result from a second operation performed in the key agreement protocol, the second result being computed using the cofactor, the private key of the verification device and a public key of the component.

2. The method according to claim 1 , wherein the first and second results correspond to an agreed-upon-key.

3. The method according to claim 1 , wherein the deterministic function uses information known to the verification device and the component.

4. The method according to claim 1 , wherein the deterministic function uses identity information of the component.

5. The method according to claim 1 , wherein the deterministic function generates an output based on one or more inputs, the output having a number of bits, each input having a respective number of bits, the number of bits of the output being less than the respective number of bits of one or more inputs.

6. The method according to claim 1 , further comprising the verification device obtaining the public key of the component.

7. The method according to claim 1 , further comprising the verification device validating a signature obtained from the component.

8. The method according to claim 1 , further comprising the verification device accepting or rejecting the component according to the comparison.

9. The method according to claim 1 , wherein the key agreement protocol comprises any one of a Diffie-Hellman protocol, an MQV protocol, and a STS protocol.

10. A non-transitory computer readable medium comprising computer executable instructions for performing device authentication of a component of a verification device, the computer readable medium comprising instructions for:

the verification device participating in an elliptic curve key agreement protocol with the component comprising the verification device computing a challenge point on an elliptic curve by performing scalar multiplication using a private key of the verification device and a generating point, and providing the challenge point to the component;

the verification device obtaining a first value from the component, the first value having been generated by the component by applying a deterministic function to a first result from a first operation performed in the key agreement protocol, the component participating in the key agreement protocol without using a random number generator, the first result having been computed using the challenge point, a cofactor and a private key of the component; and

the verification device using the first value to authenticate the component by performing a comparison of the first value with a second value, the second value generated by applying the deterministic function to a second result from a second operation performed in the key agreement protocol, the second result being computed using the cofactor, the private key of the verification device and a public key of the component.

11. A verification device comprising a processor and memory, the processor configured for performing device authentication of a component of the verification device, the memory storing computer executable instructions for:

participating in an elliptic curve key agreement protocol with the component comprising the verification device computing a challenge point on an elliptic curve by performing scalar multiplication using a private key of the verification device and a generating point, and providing the challenge point to the component;

obtaining a first value from the component, the first value having been generated by the component by applying a deterministic function to a first result from a first operation performed in the key agreement protocol, the component participating in the key agreement protocol without using a random number generator, the first result having been computed using the challenge point, a cofactor and a private key of the component; and

using the first value to authenticate the component by performing a comparison of the first value with a second value, the second value generated by applying the deterministic function to a second result from a second operation performed in the key agreement protocol, the second result being computed using the cofactor, the private key of the verification device and a public key of the component.

12. A method of enabling device authentication of a component of a verification device, the method comprising:

the component participating in an elliptic curve key agreement protocol with the verification device comprising the component obtaining a challenge point on an elliptic curve from the verification device, the challenge point having been computed by performing scalar multiplication using a private key of the verification device and a generating point;

the component generating a first value by applying a deterministic function to a first result from a first operation performed in the key agreement protocol, the component participating in the key agreement protocol without using a random number generator, the component computing the first result using the challenge point, a cofactor and a private key of the component; and

the component providing the first value to the verification device, wherein the first value enables the verification device to perform device authentication by performing a comparison of the first value with a second value, the second value generated by applying the deterministic function to a second result from a second operation performed in the key agreement protocol, the second result being computed using the cofactor, the private key of the verification device and a public key of the component.

13. The method according to claim 12 , wherein the first and second results correspond to an agreed-upon-key.

14. The method according to claim 12 , wherein the deterministic function uses information known to the verification device and the component.

15. The method according to claim 12 , wherein the deterministic function uses identity information of the component.

16. The method according to claim 12 , wherein the deterministic function generates an output based on one or more inputs, the output having a number of bits, each input having a respective number of bits, the number of bits of the output being less than the respective number of bits of one or more inputs.

17. The method according to claim 12 , further comprising the component providing the public key to the verification device.

18. The method according to claim 12 , further comprising the component providing a signature to be obtained by the verification device.

19. The method according to claim 12 , wherein the key agreement protocol comprises any one of a Diffie-Hellman protocol, an MQV protocol, and a STS protocol.

20. The method according to claim 12 , further comprising the component applying one or more tests to the challenge point.

21. The method according to claim 20 , wherein the one or more tests comprise any one or more of checking the challenge point is on an elliptic curve being used in the key agreement protocol, and checking that the challenge point is in a large prime sub-order group on the elliptic curve.

22. A non-transitory computer readable medium comprising computer executable instructions for performing device authentication of a component of a verification device, the computer readable medium comprising instructions for:

the component participating in an elliptic curve key agreement protocol with the verification device comprising the component obtaining a challenge point on an elliptic curve from the verification device, the challenge point having been computed by performing scalar multiplication using a private key of the verification device and a generating point;

the component generating a first value by applying a deterministic function to a first result from a first operation performed in the key agreement protocol, the component participating in the key agreement protocol without using a random number generator, the component computing the first result using the challenge point, a cofactor and a private key of the component; and

the component providing the first value to the verification device, wherein the first value enables the verification device to perform device authentication by performing a comparison of the first value with a second value, the second value generated by applying the deterministic function to a second result from a second operation performed in the key agreement protocol, the second result being computed using the cofactor, the private key of the verification device and a public key of the component.

23. A component of a verification device, the component comprising a processor and memory, the processor configured for enabling device authentication of the component by the verification device, the memory storing computer executable instructions for:

participating in an elliptic curve key agreement protocol with the verification device comprising the component obtaining a challenge point on an elliptic curve from the verification device, the challenge point having been computed by performing scalar multiplication using a private key of the verification device and a generating point;

generating a first value by applying a deterministic function to a first result from a first operation performed in the key agreement protocol, the component participating in the key agreement protocol without using a random number generator, the component computing the first result using the challenge point, a cofactor and a private key of the component; and

providing the first value to the verification device, wherein the first value enables the verification device to perform device authentication by performing a comparison of the first value with a second value, the second value generated by applying the deterministic function to a second result from a second operation performed in the key agreement protocol, the second result being computed using the cofactor, the private key of the verification device and a public key of the component.

Assignments (8)
CORRECTIVE ASSIGNMENT TO CORRECT THE ADDED PATENT NUMBER TO REMOVE PATENT NO. 8,873,407 AT PREVIOUSLY RECORDED ON REEL 64066 FRAME 1. ASSIGNOR(S) HEREBY CONFIRMS THE NUNC PRO TUNC ASSIGNMENT EFFECTIVE DATE MARCH 20, 2023. Recorded Feb 2, 2026
From: BLACKBERRY LIMITED
To: MALIKIE INNOVATIONS LIMITED
Reel/Frame 074921/0001 →
CORRECTIVE ASSIGNMENT TO CORRECT 12817157 APPLICATION NUMBER PREVIOUSLY RECORDED AT REEL: 064015 FRAME: 0001. ASSIGNOR(S) HEREBY CONFIRMS THE ASSIGNMENT. Recorded Sep 5, 2023
From: OT PATENT ESCROW, LLC
To: MALIKIE INNOVATIONS LIMITED
Reel/Frame 064807/0001 →
CORRECTIVE ASSIGNMENT TO CORRECT THE COVER SHEET AT PAGE 50 TO REMOVE 12817157 PREVIOUSLY RECORDED ON REEL 063471 FRAME 0474. ASSIGNOR(S) HEREBY CONFIRMS THE ASSIGNMENT. Recorded Sep 5, 2023
From: BLACKBERRY LIMITED
To: OT PATENT ESCROW, LLC
Reel/Frame 064806/0669 →
NUNC PRO TUNC ASSIGNMENT Recorded Jun 19, 2023
From: BLACKBERRY LIMITED
To: MALIKIE INNOVATIONS LIMITED
Reel/Frame 064066/0001 →
NUNC PRO TUNC ASSIGNMENT Recorded Jun 16, 2023
From: OT PATENT ESCROW, LLC
To: MALIKIE INNOVATIONS LIMITED
Reel/Frame 064015/0001 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Apr 27, 2023
From: BLACKBERRY LIMITED
To: OT PATENT ESCROW, LLC
Reel/Frame 063471/0474 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Oct 2, 2019
From: CERTICOM CORP.
To: BLACKBERRY LIMITED
Reel/Frame 050610/0937 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Aug 3, 2011
From: LAMBERT, ROBERT J.
To: CERTICOM CORP.
Reel/Frame 026701/0033 →
Continuity (2)
Provisional Application 61362604 · Jul 8, 2010
Related Publication 20120011362A1 · Jan 12, 2012