IP Library Granted Patent US 9,923,718
Granted Patent B2
US 9,923,718 · App. 13/961,319 · Granted Mar 20, 2018

Authentication methods and apparatus using base points on an elliptic curve and other techniques

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,923,718
App. No.
13/961,319
Granted
Mar 20, 2018
Kind
B2
Abstract

In one aspect, a method comprises the steps of deriving a base point on an elliptic curve in a first processing device, generating authentication information in the first processing device utilizing the base point and a private key of the first processing device, and transmitting the authentication information from the first processing device to a second processing device. The base point on the elliptic curve may be derived, for example, by applying a one-way function to a current time value, or by computation based on a message to be signed.

Claims (46)

1. A method comprising the steps of: deriving a base point on an elliptic curve in a first processing device;

generating authentication information in the first processing device utilizing the base point and a private key of the first processing device; and

transmitting the authentication information from the first processing device to a second processing device via a communications network;

wherein the authentication information is utilized by the second processing device to generate modified authentication information suitable for providing joint authentication of the

first and second processing devices to a verifying device; and

wherein the verifying device jointly authenticates the first and second processing devices utilizing the modified authentication information.

2. The method of claim 1 wherein the base point on the elliptic curve is derived by applying a one-way function to a current time value.

3. The method of claim 1 wherein the base point on the elliptic curve is derived by computation based on a message to be signed.

4. The method of claim 1 wherein the authentication information transmitted from the first processing device to the second processing device comprises a value K 1 (T) =SK 1 G (T) , where SK 1 denotes the private key and G (T) denotes the base point on an elliptic curve E for a current time value T, and the first processing device is authenticated by the second processing device based on verification that ê(K 1 (T) , H)=ê(G (T) , PK 1 ), where ê is a pairing operator defined over E×E, H is a public randomly-selected point on the elliptic curve E, and PK 1 =SK 1 H is a public key corresponding to the secret key SK 1 .

5. The method of claim 1 wherein the authentication information transmitted from the first processing device to the second processing device is also transmitted to an authentication server.

6. The method of claim 1 wherein the first processing device comprises an authentication token.

7. The method of claim 6 wherein the authentication token comprises a wireless authentication token.

8. The method of claim 1 wherein:

the authentication information transmitted from the first processing device to the second processing device comprises a value K t (T) =SK t G (T) , where SK t denotes the private key of the first processing device and G (T) denotes the base point on an elliptic curve E for a current time value T;

the modified authentication information comprises a value K t,m (T) =SK m SK t G (T) computed by the second processing device on receiving the value K t (T) , where SK m denotes a private key of the second processing device.

9. The method of claim 8 wherein joint authentication of the first processing device and the second processing device is based on verification that ê(K t,m (T), H)=ê(G (T) , PK t,m )(=ê(G (T) ,H) SK m SK t ),where ê is a pairing operator defined over E×E, H is a public randomly-selected point on the elliptic curve E, and PK t,m =SK t SK m H is a joint public key shared by the first processing device and the second processing device.

10. The method of claim 1 wherein the authentication information transmitted from the first processing device to the second processing device masks an identity of first processing device such that joint authentication of the first processing device and the second processing device does not require the second processing device to reveal the identity of the first processing device.

11. A first processing device comprising: a memory;

a processor coupled to the memory; and interface circuitry coupled to the processor; the processor being configured:

to derive a base point on an elliptic curve;

to generate authentication information utilizing the base point and a private key of the first processing device; and

to transmit the authentication information to a second processing device via a communications network; wherein the authentication information is utilized by the second

processing device to generate modified authentication information suitable for providing joint authentication of the first and second processing devices to a verifying device; and

wherein the verifying device jointly authenticates the first and second processing devices utilizing the modified authentication information.

12. The first processing device of claim 11 wherein:

the authentication information transmitted from the first processing device to the second processing device comprises a value K t (T) =SK t G (T) , where SK t denotes the private key of the first processing device and G (T) denotes the base point on an elliptic curve E for a current time value T;

the modified authentication information comprises a value K t,m (T) =SK m SK t G (T) computed by the second processing device on receiving the value K t (T) , where SK m denotes a private key of the second processing device.

13. The first processing device of claim 12 wherein joint authentication of the first processing device and the second processing device is based on verification that ê(K t,m (T) , H)=ê(G (T) , PK t,m )(=ê(G (T) ,H) SK m SK t )where ê is a pairing operator defined over E×E, H is a public randomly-selected point on the elliptic curve E, and PK t,m =SK t SK m H is a joint public key shared by the first processing device and the second processing device.

14. A system comprising the first processing device of claim 11 and the second processing device of claim 11 .

15. An article of manufacture comprising a non-transitory computer-readable storage medium storing one or more software programs which when executed by a processor of a first processing device implements the steps of:

deriving a base point on an elliptic curve in a first processing device; generating authentication information in the first processing device utilizing the base point and a private key of the first processing device; and

transmitting the authentication information from the first processing device to a second processing device via a communications network;

wherein the authentication information is utilized by the second processing device to generate modified authentication information suitable for providing joint authentication of the first and second processing devices to a verifying device; and

wherein the verifying device jointly authenticates the first and second processing devices utilizing the modified authentication information.

16. The article of manufacture of claim 15 wherein:

the authentication information transmitted from the first processing device to the second processing device comprises a value K t (T) =SK t G (T) , where SK t denotes the private key of the first processing device and G (T) denotes the base point on an elliptic curve E for a current time value T;

the modified authentication information comprises a value K t,m (T) =SK m SK t G (T) computed by the second processing device on receiving the value K t (T) , where SK m denotes a private key of the second processing device.

17. The article of manufacture of claim 16 wherein joint authentication of the first processing device and the second processing device is based on verification that ê(K t,m (T) , H)=ê(G (T) ,PK t,m )(=ê(G (T) , H) SK m SK t ),where ê is a pairing operator defined over E×E, H is a public randomly-selected point on the elliptic curve E, and PK t,m =SK t SK m H is a joint public key shared by the first processing device and the second processing device.

18. A method comprising:

receiving authentication information at a second processing device from a first processing device via a communications network, the authentication information being generated in the first processing device utilizing a private key of the first processing device and a base point on an elliptic curve derived in the first processing device;

computing modified authentication information in the second processing device; and providing the modified authentication information to a verifying device to jointly authenticate the first processing device and the second processing device;

wherein the verifying device jointly authenticates the first and second processing devices utilizing the modified authentication information.

19. The method of claim 18 wherein:

the authentication information received at the second processing device from the first processing device comprises a value K t (T) =SK t G (T) , where SK t denotes the private key of the first processing device and G (T) denotes the base point on an elliptic curve E for a current time value T;

the modified authentication information comprises a value K t,m (T) =SK m SK t G (T) computed in the second processing device on receiving the value K t (T) , where SK m denotes a private key of the second processing device.

20. The method of claim 19 wherein joint authentication of the first processing device and the second processing device is based on verification that ê(K t,m (T) , H)=ê(G (T) ,PK t,m )(=ê(G (T) , H) SK m SK t ), where ê is a pairing operator defined over E×E, H is a public randomly-selected point on the elliptic curve E, and PK t,m =SK t SK m H is a joint public key shared by the first processing device and the second processing device.

Assignments (5)
RELEASE OF SECURITY INTEREST IN PATENTS PREVIOUSLY RECORDED AT REEL/FRAME (046366/0014) Recorded May 20, 2022
From: THE BANK OF NEW YORK MELLON TRUST COMPANY, N.A., AS NOTES COLLATERAL AGENT
To: DELL PRODUCTS L.P.; EMC CORPORATION; EMC IP HOLDING COMPANY LLC
Reel/Frame 060450/0306 →
RELEASE OF SECURITY INTEREST AT REEL 046286 FRAME 0653 Recorded Nov 2, 2021
From: CREDIT SUISSE AG, CAYMAN ISLANDS BRANCH
To: DELL PRODUCTS L.P.; EMC CORPORATION; EMC IP HOLDING COMPANY LLC
Reel/Frame 058298/0093 →
SECURITY AGREEMENT Recorded Mar 21, 2019
From: CREDANT TECHNOLOGIES, INC.; DELL INTERNATIONAL L.L.C.; DELL MARKETING L.P.; DELL PRODUCTS L.P.; DELL USA L.P.; EMC CORPORATION; FORCE10 NETWORKS, INC.; WYSE TECHNOLOGY L.L.C.; EMC IP HOLDING COMPANY LLC
To: THE BANK OF NEW YORK MELLON TRUST COMPANY, N.A.
Reel/Frame 049452/0223 →
PATENT SECURITY AGREEMENT (CREDIT) Recorded Jun 1, 2018
From: DELL PRODUCTS L.P.; EMC CORPORATION; EMC IP HOLDING COMPANY LLC
To: CREDIT SUISSE AG, CAYMAN ISLANDS BRANCH, AS COLLATERAL AGENT
Reel/Frame 046286/0653 →
PATENT SECURITY AGREEMENT (NOTES) Recorded Jun 1, 2018
From: DELL PRODUCTS L.P.; EMC CORPORATION; EMC IP HOLDING COMPANY LLC
To: THE BANK OF NEW YORK MELLON TRUST COMPANY, N.A., AS COLLATERAL AGENT
Reel/Frame 046366/0014 →