IP Library Granted Patent US 11,190,344
Granted Patent B2
US 11,190,344 · App. 16/425,729 · Granted Nov 30, 2021

Secure user authentication based on multiple asymmetric cryptography key pairs

Inventors: Prasad Peddada (San Francisco, CA); Taher Elgamal (San Francisco, CA)
Assignee: SALESFORCE.COM, INC.
H04L9/0825H04L9/0861H04L9/0894H04L9/14H04L9/302H04L9/3013H04L9/3073H04L9/3213H04L9/3271
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,190,344
App. No.
16/425,729
Granted
Nov 30, 2021
Kind
B2
Abstract

A method is disclosed. The method includes, in a client device, acquiring first and second asymmetric cryptographic key pairs for a user, where each key pair includes a public key and a corresponding private key, securing the private key of the second key pair in a cryptographic processor, and splitting the private key of the first key pair into plural private key fragments, so that a sum of the plural private key fragments equals the private key of the first key pair. The method further includes storing at least one of the plural private key fragments on the client device, and registering the user with an identity service not hosted on the client device. Registering the user includes providing to the identity service, for use in securely authenticating the user, the public keys of the first and second key pairs, and the plural private key fragment(s) excluding the at least one private key fragment secured on the client device.

Claims (55)

1. A method of operating a client device, comprising:

acquiring first and second asymmetric cryptographic key pairs for a user, each key pair comprising a public key and a corresponding private key;

securing the private key of the second key pair in a cryptographic processor;

splitting the private key of the first key pair into plural private key fragments, wherein a sum of the plural private key fragments equals the private key of the first key pair;

storing at least one of the plural private key fragments on the client device;

registering the user with an identity service not hosted on the client device, wherein registering the user includes providing to the identity service, for use in securely authenticating the user, the public keys of the first and second key pairs, and the plural private key fragment(s) excluding the at least one private key fragment secured on the client device;

receiving, from the identity service, a first encrypted challenge message and a second encrypted challenge message;

receiving, from the identity service, a partial decryption result for the first encrypted challenge message;

providing, to the cryptographic processor, the second encrypted challenge message for decryption using the private key of the second key pair;

receiving, from the cryptographic processor, a second decryption result for the second encrypted challenge message;

decrypting the first encrypted challenge message using the at least one private key fragment secured on the client device and the partial decryption result to form a first decryption result;

generating a reply message based on the first and second decryption results; and

sending the reply message to the identity service.

2. The method of claim 1 , wherein the first asymmetric cryptographic key pair is generated using RSA technology; and the second asymmetric cryptographic key pair is generated using ElGamal technology.

3. The method of claim 1 , wherein: the private key of the first key pair is split into two fragments; one of the two fragments is secured on the client device; and the other one of the two fragments is provided to the identity service.

4. The method of claim 1 , wherein: the private key is split into three fragments; a first one of the three fragments is secured on the client device; a second one of the three fragments is saved by the user; and a third one of the three fragments is provided to the identity service.

5. The method of claim 1 , wherein the reply message includes a token authenticator value based on a predetermined cryptographic one-way hash function of the first and second decryption results.

6. The method of claim 5 , wherein generating the token authenticator value includes generating a key derivation function of the first and second decryption results.

7. A non-transitory computer-readable medium (NTCRM) including instructions executable by a processor of a client device to cause the client device to:

acquire first and second asymmetric cryptographic key pairs for a user, each key pair comprising a public key and a corresponding private key;

secure the private key of the second key pair in a cryptographic processor;

split the private key of the first key pair into plural private key fragments, wherein a sum of the plural private key fragments equals the private key of the first key pair;

store at least one of the plural private key fragments on the client device; and

register the user with an identity service not hosted on the client device, wherein registering the user includes providing to the identity service, for use in securely authenticating the user, the public keys of the first and second key pairs, and the plural private key fragment(s) excluding the at least one private key fragment secured on the client device;

receive, from the identity service, a first encrypted challenge message and a second encrypted challenge message;

receive, from the identity service, a partial decryption result for the first encrypted challenge message;

provide, to the cryptographic processor, the second encrypted challenge message for decryption using the private key of the second key pair;

receive, from the cryptographic processor, a second decryption result for the second encrypted challenge message;

decrypt the first encrypted challenge message using the at least one private key fragment secured on the client device and the partial decryption result to form a first decryption result;

generate a reply message based on the first and second decryption results; and

send the reply message to the identity service.

8. The NTCRM of claim 7 , wherein the first asymmetric cryptographic key pair is generated using RSA technology; and the second asymmetric cryptographic key pair is generated using ElGamal technology.

9. The NTCRM of claim 7 , wherein: the private key of the first key pair is split into two fragments; one of the two fragments is secured on the client device; and the other one of the two fragments is provided to the identity service.

10. The NTCRM of claim 7 , wherein: the private key is split into three fragments; a first one of the three fragments is secured on the client device; a second one of the three fragments is saved by the user; and a third one of the three fragments is provided to the identity service.

11. The NTCRM of claim 7 , wherein the reply message includes a token authenticator value based on a predetermined cryptographic hash function of the first and second decryption results.

12. The NTCRM of claim 11 , wherein generating the token authenticator value includes generating a key derivation function of the first and second decryption results.

13. A computer system, comprising:

one or more processors; and

one or more non-transitory computer-readable media (NTCRM) comprising instructions that when executed by one or more processors is to cause the computer system to:

acquire first and second asymmetric cryptographic key pairs for a user, each key pair comprising a public key and a corresponding private key;

secure the private key of the second key pair in a cryptographic processor;

split the private key of the first key pair into plural private key fragments, wherein a sum of the plural private key fragments equals the private key of the first key pair;

store at least one of the plural private key fragments on the computer system; and

register the user with an identity service not hosted on the computer system, wherein registering the user includes providing to the identity service, for use in securely authenticating the user, the public keys of the first and second key pairs, and the plural private key fragment(s) excluding the at least one private key fragment secured on the computer system;

receive, from the identity service, a first encrypted challenge message and a second encrypted challenge message;

receive, from the identity service, a partial decryption result for the first encrypted challenge message;

provide, to the cryptographic processor, the second encrypted challenge message for decryption using the private key of the second key pair;

receive, from the cryptographic processor, a second decryption result for the second encrypted challenge message;

decrypt the first encrypted challenge message using the at least one private key fragment secured on the computer system and the partial decryption result to form a first decryption result;

generate a reply message based on the first and second decryption results; and

send the reply message to the identity service.

14. The computer system of claim 13 , wherein the first asymmetric cryptographic key pair is generated using RSA technology; and the second asymmetric cryptographic key pair is generated using ElGamal technology.

15. The computer system of claim 13 , wherein: the private key of the first key pair is split into two fragments; one of the two fragments is secured on the computer system; and the other one of the two fragments is provided to the identity service.

16. The computer system of claim 13 , wherein: the private key is split into three fragments; a first one of the three fragments is secured on the computer system; a second one of the three fragments is saved by the user; and a third one of the three fragments is provided to the identity service.

17. The computer system of claim 13 , wherein the reply message includes a token authenticator value based on a predetermined cryptographic hash function of the first and second decryption results.

Assignments (2)
CHANGE OF NAME Recorded Oct 30, 2023
From: SALESFORCE.COM, INC.
To: SALESFORCE, INC.
Reel/Frame 065394/0169 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jul 30, 2019
From: PEDDADA, PRASAD; ELGAMAL, TAHER
To: SALESFORCE.COM, INC.
Reel/Frame 049905/0190 →
Continuity (6)
Continuation In Part 15476833 · Mar 31, 2017
Continuation In Part 15415451 · Jan 25, 2017
Continuation In Part 16425729
Continuation In Part 15627031 · Jun 19, 2017
Continuation In Part 15415451 · Jan 25, 2017
Related Publication 20190280860A1 · Sep 12, 2019
Cited By (2)
US 12,278,895 US 12,537,670