IP Library › Granted Patent US 11,281,789
Granted Patent B2
US 11,281,789 · App. 16/691,157 · Granted Mar 22, 2022

Secure storage of passwords

Inventors: Brent R. Bilger (Los Altos Hills, CA); Rajesh M. Patel (Saratoga, CA); Shailesh K. Venugopal (Gilroy, CA); William F. Copeland (Garland, TX); Michel J. Basmaji (San Jose, CA)
Assignee: Verizon Patent and Licensing Inc.
G06F21/6209H04L9/006H04L9/0877H04L9/302H04L9/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 11,281,789
App. No.
16/691,157
Granted
Mar 22, 2022
Kind
B2
Abstract

A device includes a memory and a processor. The processor is to execute the instruction to: receive, from a user device, a username of a user and a string; retrieve a first Message Authentication Code (MAC) and a salt from a database in response to receiving the username and the string; send the first MAC, the salt, and one or more parameters to a Hardware Security Module (HSM); receive, from the HSM, a message indicating whether the first MAC matches a second MAC that the HSM generates based on the one or more parameters and the salt. In addition, the processor to perform one of: authenticate the user when the message indicates that the first MAC matches the second MAC; or not authenticate the user when the message indicates that the first MAC does not match the second MAC.

Claims (62)

1. A device comprising:

a processor to execute instructions to:

generate a nonce at the device;

send, to a user device, the nonce and a public key corresponding to a private key stored in a Hardware Security Module (HSM) connected to the device;

receive, from the user device, a username of a user and a string, wherein the string has been generated by the user device based on the nonce and the public key;

retrieve a first Message Authentication Code (MAC) and a salt from a database, which is on a network device different from the user device and stores a plurality of MACs, in response to receiving the username and the string;

send the first MAC, the salt, and one or more parameters to the HSM;

receive, from the HSM, a message indicating whether the first MAC matches a second MAC that the HSM generates based on the one or more parameters and the salt; and

perform one of:

authenticate the user when the message indicates that the first MAC matches the second MAC; or

not authenticate the user when the message indicates that the first MAC does not match the second MAC.

2. The device of claim 1 , wherein the one or more parameters include a plaintext password and the string includes the plaintext password.

3. The device of claim 2 , wherein the HSM is to:

generate the second MAC by using a secret key and a result of concatenating the plaintext password and the salt.

4. The device of claim 1 ,

wherein the string includes a result of encryption, by the user device using the public key, of another string obtained by concatenating a plaintext password and the nonce.

5. The device of claim 4 , wherein the processor is further to:

send the string and the nonce to the HSM; and

receive the plaintext password from the HSM.

6. The device of claim 4 , wherein the one or more parameters include the plaintext password.

7. The device of claim 4 , wherein the encryption comprises the Rivest-Shamir-Adleman (RSA) encryption.

8. The device of claim 4 , wherein the one or more parameters include the nonce and the string.

9. The device of claim 8 , wherein the device further comprises the HSM, and wherein when the HSM generates the second MAC, the HSM is to:

decrypt the string using a first private key to obtain a resultant string;

remove a portion corresponding to the nonce from the resultant string to obtain the plaintext password;

concatenate the plaintext password with the salt to obtain a salted password; and

use the salted password and a secret key to generate the second MAC.

10. The device of claim 1 , wherein the processor is further to:

notify the user device whether the user is authenticated based on the message from the HSM.

11. A method comprising:

generating a nonce by a processor in a device;

sending, to a user device, the nonce and a public key corresponding to a private key stored in a Hardware Security Module (HSM) connected to the device;

receiving, from the user device, a username of a user and a string, wherein the string has been generated by the user device based on the nonce and the public key;

retrieving a first Message Authentication Code (MAC) and a salt from a database, which is on a network device different from the user device and stores a plurality of MACs, in response to receiving the username and the string;

sending the first MAC, the salt, and one or more parameters to the HSM;

receiving, from the HSM, a message indicating whether the first MAC matches a second MAC that the HSM generates based on the one or more parameters and the salt; and

performing one of:

authenticating the user when the message indicates that the first MAC matches the second MAC; or

not authenticating the user when the message indicates that the first MAC does not match the second MAC.

12. The method of claim 11 , wherein the one or more parameters include a plaintext password and the string includes the plaintext password.

13. The method of claim 12 , further comprising:

generating, by the HSM, the second MAC by using a secret key and a result of concatenating the plaintext password and the salt.

14. The method of claim 11 ,

wherein the string includes a result of encryption, by the user device using the public key, of another string obtained by concatenating a plaintext password and the nonce.

15. The method of claim 14 , further comprising:

sending the string and the nonce to the HSM; and

receiving the plaintext password from the HSM.

16. The method of claim 14 , wherein the one or more parameters include the plaintext password.

17. The method of claim 14 , wherein the one or more parameters include the nonce and the string.

18. The method of claim 11 , wherein further comprising:

notifying the user device whether the user is authenticated based on the message.

19. A non-transitory computer-readable medium, comprising computer-executable instruction, wherein when executed by a processor of a device, the instructions cause the processor to:

generate a nonce at the device;

send, to a user device, the nonce and a public key corresponding to a private key stored in a Hardware Security Module (HSM) connected to the device;

receive, from the user device, a username of a user and a string, wherein the string has been generated by the user device based on the nonce and the public key;

retrieve a first Message Authentication Code (MAC) and a salt from a database, which is on a network device different from the user device and stores a plurality of MACs, in response to receiving the username and the string;

send the first MAC, the salt, and one or more parameters to the HSM;

receive, from the HSM, a message indicating whether the first MAC matches a second MAC that the HSM generates based on the one or more parameters and the salt; and

perform one of:

authenticate the user when the message indicates that the first MAC matches the second MAC; or

not authenticate the user when the message indicates that the first MAC does not match the second MAC.

20. The non-transitory computer-readable medium of claim 19 , wherein the one or more parameters include a plaintext password and the string includes the plaintext password.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Nov 21, 2019
From: BILGER, BRENT R.; PATEL, RAJESH M.; VENUGOPAL, SHAILESH K.; COPELAND, WILLIAM F.; BASMAJI, MICHEL J.
To: VERIZON PATENT AND LICENSING INC.
Reel/Frame 051080/0823 →
Continuity (1)
Related Publication 20210157939A1 · May 27, 2021
Cited By (1)
US 12,244,725