IP Library Granted Patent US 10,476,855
Granted Patent B1
US 10,476,855 · App. 15/689,098 · Granted Nov 12, 2019

Identity confirmation using private keys

Inventors: Prasad Peddada (Alameda, CA); Taher Elgamal (Atherton, CA)
Assignee: salesforce.com, inc.
H04L63/0442H04L9/0825H04L9/0838H04L9/3271H04L63/061H04L63/126G06F21/33H04L9/3263H04L63/0823
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,476,855
App. No.
15/689,098
Granted
Nov 12, 2019
Kind
B1
Abstract

Systems and methods for identify confirmation and transaction security are described. The system generates a challenge. The system transmits to a client computing system an encrypted challenge generated using the challenge and a public key of an asymmetric key pair to a client computing system. The system fragments a private key of the asymmetric key pair into a first, second and third private key fragments. The system generates a first partially decrypted challenge using the first private key fragment and the encrypted challenge. The system receives a second and a third partially decrypted challenges from the client computing system. The system generates a decrypted challenge using the first, second and third partially decrypted challenges. The system compares the decrypted challenge and the challenge for identity verification.

Claims (44)

1. A method comprising:

generating, by a server computing system, a challenge;

transmitting, by the server computing system to a client computing system, an encrypted challenge generated using the challenge and a public key of an asymmetric key pair;

fragmenting, by the server computing system, a private key of the asymmetric key pair into a first, second and third private key fragments;

generating, by the server computing system, a first partially decrypted challenge using the first private key fragment and the encrypted challenge;

receiving, by the server computing system, a second and a third partially decrypted challenges from the client computing system;

generating, by the server computing system, a decrypted challenge using the first, second and third partially decrypted challenges; and

comparing, by the server computing system, the decrypted challenge and the challenge for identity verification.

2. The method of claim 1 , further comprising transmitting, by the server computing system, the second and third private key fragments to the client computing system.

3. The method of claim 2 , wherein the second partially decrypted challenge is generated based on the second private key fragment and the encrypted challenge, and wherein the third partially decrypted challenge is generated based on the third private key fragment and the encrypted challenge.

4. The method of claim 3 , wherein the challenge is generated by the server computing system using a random number generator.

5. The method of claim 4 , further comprising receiving, by the server computing system from the client computing system, a request for identity verification.

6. The method of claim 5 , wherein said generating the challenge and transmitting the encrypted challenge are in response to said receiving the request for identity verification.

7. The method of claim 6 , further comprising transmitting, by the server computing system to the client computing system, a notification of a successful identity verification based on determining that the decrypted challenge is the same as the challenge.

8. A system comprising:

one or more processors; and

a non-transitory computer readable medium storing a plurality of instructions, which when executed, cause the one or more processors to:

generate a challenge;

transmit an encrypted challenge generated using the challenge and a public key of an asymmetric key pair to a client computing system;

fragment a private key of the asymmetric key pair into a first, second and third private key fragments;

generate a first partially decrypted challenge using the first private key fragment and the encrypted challenge;

receive a second and a third partially decrypted challenges from the client computing system;

generate a decrypted challenge using the first, second and third partially decrypted challenges; and

compare the decrypted challenge and the challenge for identity verification.

9. The system of claim 8 , further comprising instructions to transmit the second and third private key fragments to the client computing system.

10. The system of claim 9 , wherein the second partially decrypted challenge is generated based on the second private key fragment and the encrypted challenge, and wherein the third partially decrypted challenge is generated based on the third private key fragment and the encrypted challenge.

11. The system of claim 10 , wherein the challenge is generated using a random number generator.

12. The system of claim 11 , further comprising instructions to receive a request for identity verification from the client computing system.

13. The system of claim 12 , wherein said generating the challenge and said transmitting the encrypted challenge is in response to said receiving the request for identity verification.

14. The system of claim 13 , further comprising instructions to transmit a notification of a successful identity verification to the client computing system based on determining that the decrypted challenge is the same as the challenge.

15. A computer program product comprising a non-transitory computer-readable medium having computer-readable program code embodied therein to be executed by one or more processors the program code including instructions to:

generate a challenge;

transmit an encrypted challenge generated using the challenge and a public key of an asymmetric key pair to a client computing system;

fragment a private key of the asymmetric key pair into a first, second and third private key fragments;

generate a first partially decrypted challenge using the first private key fragment and the encrypted challenge;

receive a second and a third partially decrypted challenges from the client computing system;

generate a decrypted challenge using the first, second and third partially decrypted challenges; and

compare the decrypted challenge and the challenge for identity verification.

16. The computer program product of claim 15 , further comprising instructions to transmit the second and third private key fragments to the client computing system.

17. The computer program product of claim 16 , wherein the second partially decrypted challenge is generated based on the second private key fragment and the encrypted challenge, and wherein the third partially decrypted challenge is generated based on the third private key fragment and the encrypted challenge.

18. The computer program product of claim 17 , wherein the challenge is generated using a random number generator.

19. The computer program product of claim 18 , further comprising instructions to receive a request for identity verification from the client computing system.

20. The computer program product of claim 19 , wherein said generating the challenge and said transmitting the encrypted challenge is in response to said receiving the request for identity verification.

21. The computer program product of claim 20 , further comprising instructions to transmit a notification of a successful identity verification to the client computing system based on determining that the decrypted challenge is the same as the challenge.

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 Aug 29, 2017
From: PEDDADA, PRASAD; ELGAMAL, TAHER
To: SALESFORCE.COM, INC.
Reel/Frame 043432/0818 →