IP Library › Granted Patent US 10,681,038
Granted Patent B1
US 10,681,038 · App. 15/794,916 · Granted Jun 9, 2020

Systems and methods for efficient password based public key authentication

Inventor: Paul A. Lambert (Mountain View, CA)
Assignee: Marvell Asia Pte, Ltd.
H04L63/083H04L9/0844H04L9/0866H04L9/0869H04L9/16H04L9/3226H04L63/0435H04L63/06
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 10,681,038
App. No.
15/794,916
Filed
Oct 26, 2017
Granted
Jun 9, 2020
Kind
B1
Examiner
SONG, HEE K
Art Unit
2497
USPC
713/171
Abstract

In a method for efficient password based public key authentication between a first user device and a second user device, a shared password is received by a first user device which generates a first hash value of the shared password and a first value, wherein the first value is composed of at least a product of the first hash value and a first unique security constant associated with the first user. The first user device then generates a first random value generated using data from a generator element, and a first blind public key associated with the first user device, wherein the first blind public key is generated using a first public key. The first user device concurrently sends the first value and the first blind public key to the second user device for authentication.

Claims (84)

1. A method for efficient password based public key authentication between a first user device and a second user device, the method comprising:

receiving a shared password by a first user device;

generating a first hash value of the shared password by the first user device;

generating, at the first user device, a first value, wherein the first value is composed of at least:

a product of the first hash value and a first unique security constant associated with the first user device; and

a first random value generated using data from a generator element;

generating, at the first user device, a first blind public key associated with the first user device, wherein the first blind public key is generated using a first public key; and

concurrently sending the first value and the first blind public key to the second user device for authentication;

receiving the first value and the first blind public key at the second user device;

combining, at the second user device, a second random value and the first public key to generate a second blind public key; and

comparing, at the second user device, the second blind public key and the received first blind public key to verify the identity of the first user device.

2. The method of claim 1 , wherein combining, at the second user device, the second random value and the first public key to generate a second blind public key comprises:

receiving the shared password by the second user device;

generating a second hash value of the shared password by the second user device;

generating, at the second user device, a second value, wherein the second value is composed of at least:

a product of the second hash value and a second unique security constant associated with the second user device; and

a second random value generated using data from the generator element;

generating, at the second user device, a second blind public key associated with the second user device, wherein the second blind public key is generated using a second public key.

3. The method of claim 2 , further comprising:

generating a first shared key at the second user device, wherein the first shared key is generated using the first blind public key, the first value, the first unique security constant, the second hash value and a first plurality of random values.

4. The method of claim 3 , further comprising:

generating at the second user device, a first symmetric key, wherein the first symmetric key is generated using the first value, the second value, and the second hash value; and

encrypting, using the first symmetric key, a first message wherein the first message comprises at least the second public key and a random value used to blind the second public key.

5. The method of claim 4 , further comprising concurrently sending the second value, the second blind public key, and the first message to the first user device.

6. The method of claim 5 , further comprising:

receiving at the first user device, the second value, the second blind public key, and the first message;

generating a second shared key at the first user device, wherein the second shared key is generated using the second blind public key, the second value, the second unique security constant, the first hash value, and a second plurality of random values; and

generating a first decryption key at the first device using the first value, the second value, the first hash value, and the second shared key, wherein the first decryption key is same as the first symmetric key generated at the second user device.

7. The method of claim 6 , further comprising:

decrypting, at the first user device, using the first decryption key, the first message to reveal the first random value and the second public key;

combining the first random value and the second public key to generate a blind public key; and

comparing the generated blind public key and the received second blind public key to verify the identity of a second user.

8. The method of claim 6 , further comprising:

generating at the first user device, a second symmetric key, wherein the second symmetric key is generated using the second value, the first value, and the first hash value;

encrypting, using the second symmetric key, a second message, wherein the second message at least includes the first public key and a second random value used to blind the first public key; and

sending the second message to the second user device.

9. The method of claim 8 , further comprising:

generating a second decryption key at the second user device using the first value, the second value, the second hash value, and the first shared key, wherein the second decryption key is same as the second symmetric key generated at the first user device; and

decrypting, using the second decryption key, the second message to reveal the second random value and the first public key.

10. The method of claim 9 , wherein the second user device sends an acknowledgement to the first user device, wherein the acknowledgement includes the second shared key.

11. A system for efficient password based public key authentication between a first user device and a second user device, the system comprising:

a first device having first control circuitry configured to:

receive a shared password by a first user device;

generate a first hash value of the shared password by the first user device;

generate a first value, wherein the first value is composed of at least:

a product of the first hash value and a first unique security constant associated with the first user device; and

a first random value generated using data from a generator element;

generate a first blind public key associated with the first user device, wherein the first blind public key is generated using a first public key; and

concurrently send the first value and the first blind public key to the second user device for authentication; and

a second device having second control circuitry configured to:

receive the first value and the first blind public key;

combine a second random value and the first public key to generate a second blind public key; and

compare the second blind public key and the received first blind public key to verify the identity of the first user device.

12. The system of claim 11 , wherein the second control circuitry configured to combine the second random value and the first public key to generate a second blind public key is further configured to:

receive the shared password by the second user device;

generate a second hash value of the shared password by the second user device;

generate, at the second user device, a second value, wherein the second value is composed of at least:

a product of the second hash value and a second unique security constant associated with the second user device; and

a second random value generated using data from the generator element;

generate, at the second user device, a second blind public key associated with the second user device, wherein the second blind public key is generated using a second public key.

13. The system of claim 12 , wherein the second control circuitry is further configured to:

generate a first shared key at the second user device, and wherein the first shared key is generated using the first blind public key, the first value, the first unique security constant, the second hash value and a first plurality of random values.

14. The system of claim 13 , wherein the second control circuitry is further configured to:

generate at the second user device, a first symmetric key, wherein the first symmetric key is generated using the first value, the second value, and the second hash value; and

encrypt, using the first symmetric key, a first message wherein the first message comprises at least the second public key and a random value used to blind the second public key.

15. The system of claim 14 , wherein the second control circuitry is further configured to concurrently send the second value, the second blind public key, and the first message to the first user device.

16. The system of claim 15 , wherein the first control circuitry is further configured to:

receive, at the first user device, the second value, the second blind public key, the, and the first message;

generate a second shared key at the first user device, wherein the second shared key is generated using the second blind public key, the second value, the second unique security constant, the first hash value, and a second plurality of random values; and

generate a first decryption key at the first device using the first value, the second value, the first hash value, and the second shared key, wherein the first decryption key is same as the first symmetric key generated at the second user device.

17. The system of claim 16 , wherein the first control circuitry is further configured to:

decrypt, at the first user device, using the first decryption key, the first message to reveal the first random value and the second public key;

combine the first random value and the second public key to generate a blind public key; and

compare the generated blind public key and the received second blind public key to verify the identity of a second user.

18. The system of claim 16 , wherein the first control circuitry is further configured to:

generate at the first user device, a second symmetric key, wherein the second symmetric key is generated using the second value, the first value, and the first hash value;

encrypt, using the second symmetric key, a second message, wherein the second message at least includes the first public key and a second random value used to blind the first public key; and

send the second message to the second user device.

19. The system of claim 18 , wherein the second control circuitry is further configured to:

generate a second decryption key at the second user device using the first value, the second value, the second hash value, and the first shared key, wherein the second decryption key is same as the second symmetric key generated at the first user device;

decrypt, using the second decryption key, the second message to reveal the second random value and the first public key;

combine the second random value and the first public key to generate a blind public key; and

compare the generated blind public key and the received first blind public key to verify the identity of the first user device.

20. The system of claim 19 , wherein the second control circuitry is further configured to send an acknowledgement to the first user device, wherein the acknowledgement includes the second shared key.

Assignments (5)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jun 16, 2020
From: CAVIUM INTERNATIONAL
To: MARVELL ASIA PTE, LTD.
Reel/Frame 053475/0001 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded May 1, 2020
From: CAVIUM INTERNATIONAL
To: MARVELL ASIA PTE, LTD.
Reel/Frame 052551/0188 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Feb 20, 2020
From: MARVELL INTERNATIONAL LTD.
To: CAVIUM INTERNATIONAL
Reel/Frame 052918/0001 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded May 15, 2018
From: LAMBERT, PAUL A.
To: MARVELL SEMICONDUCTOR, INC.
Reel/Frame 045812/0362 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded May 15, 2018
From: MARVELL SEMICONDUCTOR, INC.
To: MARVELL INTERNATIONAL LTD.
Reel/Frame 045812/0390 →
Continuity (1)
Provisional Application 62412926 · Oct 26, 2016
Cited By (3)
US 12,609,841 US 12,609,842 US 12,750,214