IP Library Granted Patent US 7,716,484
Granted Patent B1
US 7,716,484 · App. 09/802,485 · Granted May 11, 2010

System and method for increasing the security of encrypted secrets and authentication

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 7,716,484
App. No.
09/802,485
Granted
May 11, 2010
Kind
B1
Abstract

In general, in one aspect, the invention relates to a method for accessing encrypted data by a client. The method includes receiving from the client by a server client information derived from a first secret wherein the client information is derived such that the server can not feasibly determine the first secret. The method also includes providing to the client by the server intermediate data, which is derived responsive to the received client information, a server secret, and possibly other information. The intermediate data is derived such that the client cannot feasibly determine the server secret. The method also includes authenticating the client by a device that stores encrypted secrets and is configured not to provide the encrypted secrets without authentication. After the authenticating step, the method also includes providing the encrypted secrets to the client. The encrypted secrets 5 are capable of being decrypted using a third secret that is derived from the intermediate data.

Claims (60)

1. A method comprising:

implementing a multi-party secure computation protocol between a client which has a client secret and a server which has a server secret to compute a third secret from the client secret and the server secret, wherein the protocol is implemented so that the client obtains the third secret and cannot feasibly determine the server secret, and the server cannot feasibly determine the client secret and cannot feasibly determine the third secret;

authenticating the client by a device, the device storing an encrypted secret and configured not to provide the encrypted secret without authentication and the device being distinct from the server; and

after authenticating, providing to the client by the device the encrypted secret, wherein the encrypted secret is capable of being decrypted using a decryption key derived from the third secret and wherein the multi-party secure computation protocol implemented between the client and the server is the only multi-party computation protocol that is implemented in generating the third secret and the decryption key derived from the third secret;

wherein implementing the multi-party secure computation protocol involves:

at the client, using the client secret to compute client information to harden the client secret and then sending the client information to the server;

at the server, using the client information and the server secret to compute intermediate data and sending the intermediate data to the client; and

at the client, deriving the third secret from the intermediate data.

2. The method of claim 1 wherein the third secret is derived from the intermediate data by use of one of a key derivation function and a hash function.

3. The method of claim 1 wherein the client secret comprises at least one of a PIN, a password, and biometric information.

4. The method of claim 3 wherein the intermediate data is derived from at least the client secret and the server secret by use of a blind function evaluation protocol.

5. The method of claim 4 wherein the security of the blind function evaluation protocol is based on the problem of extracting roots modulo a composite.

6. The method of claim 4 wherein the security of the blind function evaluation protocol uses discrete logarithms.

7. The method of claim 1 wherein authenticating comprises authenticating the client based on a time-dependent code.

8. The method of claim 1 wherein authenticating comprises authenticating the client based on at least one of a PIN, a password, and biometric information.

9. The method of claim 1 wherein authenticating comprises authenticating the client based on a secret other than the client secret.

10. The method of claim 1 wherein authenticating comprises using an authentication secret derived from the third secret.

11. The method of claim 1 wherein the device comprises at least one of a file server, a directory server, a key server, a PDA, a mobile telephone, a smart card, and a desktop computer.

12. The method of claim 11 wherein the device comprises at least one secure data store, the device requiring authentication before allowing the client access to the data store.

13. The method of claim 1 wherein the encrypted secret comprises an encrypted private key of a public/private key pair used for asymmetric cryptography.

14. The method of claim 13 wherein the encrypted secret comprises an encrypted signature key used for creating a digital signature.

15. The method of claim 14 wherein authenticating comprises authenticating the client based on a secret other than the client secret, so that the user provides different information to access the device and access the signature key.

16. The method of claim 1 wherein the encrypted secret comprises an encrypted secret key used for symmetric cryptography.

17. The method of claim 1 wherein the encrypted secret comprises at least one unit of encrypted digital currency.

18. The method of claim 1 further comprising verifying that the client has not exceeded a predetermined number of unsuccessful attempts to obtain the intermediate data.

19. The method of claim 18 wherein verifying further comprises:

transmitting a challenge code to the client; and

receiving the result of a cryptographic operation using the challenge code as an input and using a cryptographic key derived from the encrypted secret.

20. The method of claim 1 , further comprising

deriving the decryption key from the third secret; and

decrypting the encrypted secret using the decryption key.

21. A method for authenticating to a network server, the method comprising:

implementing a multi-party secure computation protocol between a client which has a client secret and a server which has a server secret to compute a third secret from the client secret and the server secret, wherein the protocol is implemented so that the client cannot feasibly determine the server secret and the server cannot feasibly determine the client secret and cannot feasibly determine the third secret;

at the client deriving a password from the third secret;

authenticating to the network server using the derived password, wherein the multi-party secure computation protocol implemented between the client and the server is the only multi-party computation protocol that is implemented in generating the third secret and the password derived from the third secret;

wherein implementing the multi-party secure computation protocol involves:

at the client, using the client secret to compute client information to harden the client secret and then sending the client information to the server;

at the server, using the client information and the server secret to compute intermediate data and sending the intermediate data to the client; and

at the client, deriving the third secret from the intermediate data.

22. The method of claim 21 further comprising transmitting to the first server by the network server verification that the user has authenticated successfully.

23. The method of claim 21 wherein the network server is a web server.

24. The method of claim 21 wherein deriving comprises deriving a server password using a key derivation function.

25. The method of claim 1 , wherein the multi-party secure computation protocol is a blind function evaluation protocol.

26. The method of claim 25 , wherein the blind function evaluation protocol is based on discrete-logarithm cryptography.

27. The method of claim 26 , wherein the blind function evaluation protocol is based on an RSA algorithm.

28. A method comprising:

implementing a multi-party secure computation protocol between a client which has a client secret and a server which has a server secret to compute a third secret from the client secret and the server secret, wherein the protocol is implemented so that the client cannot feasibly determine the server secret and the server cannot feasibly determine the client secret and cannot feasibly determine the third secret;

authenticating the client by a device, the device storing an encrypted secret and configured not to provide the encrypted secret without authentication; and

after authenticating, providing to the client by the device the encrypted secret, wherein the encrypted secret is capable of being decrypted using a decryption key derived from the third secret and wherein no additional multi-party secure computation protocol involving any entity other than the server is required to enable the client to generate the third secret and the key derived from the third secret;

wherein implementing the multi-party secure computation protocol involves:

at the client, using the client secret to compute client information to harden the client secret and then sending the client information to the server;

at the server, using the client information and the server secret to compute intermediate data and sending the intermediate data to the client; and

at the client, deriving the third secret from the intermediate data.

29. The method of claim 21 , wherein the password is derived from the third secret and a server identifier.

30. The method of claim 1 , wherein the multi-party secure computation protocol comprises the client and the server providing their respective secrets as input to respective protocol operations that jointly calculate the third secret as a function of the client and server secrets.

31. The method of claim 21 , wherein the multi-party secure computation protocol comprises the client and the server providing their respective secrets as input to respective protocol operations that jointly calculate the third secret as a function of the client and server secrets.

32. The method of claim 28 , wherein the multi-party secure computation protocol comprises the client and the server providing their respective secrets as input to respective protocol operations that jointly calculate the third secret as a function of the client and server secrets.

33. The method of claim 1 , wherein implementing the multi-party secure computation protocol between the client which has the client secret and the server which has the server secret to compute the third secret from the client secret and the server secret comprises implementing the multi-party secure computation protocol between the client which has the client secret and a single server which has the server secret to compute the third secret from the client secret and the server secret.

34. The method of claim 21 , wherein implementing the multi-party secure computation protocol between the client which has the client secret and the server which has the server secret to compute the third secret from the client secret and the server secret comprises implementing the multi-party secure computation protocol between the client which has the client secret and a single server which has the server secret to compute the third secret from the client secret and the server secret.

35. The method of claim 28 , wherein implementing the multi-party secure computation protocol between the client which has the client secret and the server which has the server secret to compute the third secret from the client secret and the server secret comprises implementing the multi-party secure computation protocol between the client which has the client secret and a single server which has the server secret to compute a third secret from the client secret and the server secret.

Assignments (14)
RELEASE OF SECURITY INTEREST IN PATENTS PREVIOUSLY RECORDED AT REEL/FRAME (053546/0001) Recorded Jun 23, 2022
From: THE BANK OF NEW YORK MELLON TRUST COMPANY, N.A., AS NOTES COLLATERAL AGENT
To: DELL MARKETING L.P. (ON BEHALF OF ITSELF AND AS SUCCESSOR-IN-INTEREST TO CREDANT TECHNOLOGIES, INC.); DELL INTERNATIONAL L.L.C.; DELL PRODUCTS L.P.; DELL USA L.P.; EMC CORPORATION; DELL MARKETING CORPORATION (SUCCESSOR-IN-INTEREST TO FORCE10 NETWORKS, INC. AND WYSE TECHNOLOGY L.L.C.); EMC IP HOLDING COMPANY LLC
Reel/Frame 071642/0001 →
RELEASE OF SECURITY INTEREST IN PATENTS PREVIOUSLY RECORDED AT REEL/FRAME (045455/0001) Recorded May 20, 2022
From: THE BANK OF NEW YORK MELLON TRUST COMPANY, N.A., AS NOTES COLLATERAL AGENT
To: DELL MARKETING CORPORATION (SUCCESSOR-IN-INTEREST TO ASAP SOFTWARE EXPRESS, INC.); DELL MARKETING L.P. (ON BEHALF OF ITSELF AND AS SUCCESSOR-IN-INTEREST TO CREDANT TECHNOLOGIES, INC.); DELL USA L.P.; DELL INTERNATIONAL L.L.C.; DELL PRODUCTS L.P.; DELL MARKETING CORPORATION (SUCCESSOR-IN-INTEREST TO FORCE10 NETWORKS, INC. AND WYSE TECHNOLOGY L.L.C.); EMC CORPORATION (ON BEHALF OF ITSELF AND AS SUCCESSOR-IN-INTEREST TO MAGINATICS LLC); EMC IP HOLDING COMPANY LLC (ON BEHALF OF ITSELF AND AS SUCCESSOR-IN-INTEREST TO MOZY, INC.); SCALEIO LLC
Reel/Frame 061753/0001 →
RELEASE OF SECURITY INTEREST IN PATENTS PREVIOUSLY RECORDED AT REEL/FRAME (040136/0001) Recorded Apr 26, 2022
From: THE BANK OF NEW YORK MELLON TRUST COMPANY, N.A., AS NOTES COLLATERAL AGENT
To: DELL MARKETING CORPORATION (SUCCESSOR-IN-INTEREST TO ASAP SOFTWARE EXPRESS, INC.); DELL MARKETING L.P. (ON BEHALF OF ITSELF AND AS SUCCESSOR-IN-INTEREST TO CREDANT TECHNOLOGIES, INC.); DELL USA L.P.; DELL INTERNATIONAL L.L.C.; DELL PRODUCTS L.P.; DELL MARKETING CORPORATION (SUCCESSOR-IN-INTEREST TO FORCE10 NETWORKS, INC. AND WYSE TECHNOLOGY L.L.C.); EMC CORPORATION (ON BEHALF OF ITSELF AND AS SUCCESSOR-IN-INTEREST TO MAGINATICS LLC); EMC IP HOLDING COMPANY LLC (ON BEHALF OF ITSELF AND AS SUCCESSOR-IN-INTEREST TO MOZY, INC.); SCALEIO LLC
Reel/Frame 061324/0001 →
RELEASE OF SECURITY INTEREST Recorded Nov 3, 2021
From: CREDIT SUISSE AG, CAYMAN ISLANDS BRANCH
To: ASAP SOFTWARE EXPRESS, INC.; AVENTAIL LLC; CREDANT TECHNOLOGIES, INC.; DELL USA L.P.; DELL INTERNATIONAL, L.L.C.; DELL MARKETING L.P.; DELL PRODUCTS L.P.; DELL SOFTWARE INC.; DELL SYSTEMS CORPORATION; EMC CORPORATION; EMC IP HOLDING COMPANY LLC; FORCE10 NETWORKS, INC.; MAGINATICS LLC; MOZY, INC.; SCALEIO LLC; WYSE TECHNOLOGY L.L.C.
Reel/Frame 058216/0001 →
SECURITY AGREEMENT Recorded Apr 22, 2020
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 053546/0001 →
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 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Sep 29, 2016
From: EMC CORPORATION
To: EMC IP HOLDING COMPANY LLC
Reel/Frame 040203/0001 →
SECURITY AGREEMENT Recorded Sep 21, 2016
From: ASAP SOFTWARE EXPRESS, INC.; AVENTAIL LLC; CREDANT TECHNOLOGIES, INC.; DELL USA L.P.; DELL INTERNATIONAL L.L.C.; DELL MARKETING L.P.; DELL PRODUCTS L.P.; DELL SOFTWARE INC.; DELL SYSTEMS CORPORATION; EMC CORPORATION; EMC IP HOLDING COMPANY LLC; FORCE10 NETWORKS, INC.; MAGINATICS LLC; MOZY, INC.; SCALEIO LLC; SPANNING CLOUD APPS LLC; WYSE TECHNOLOGY L.L.C.
To: THE BANK OF NEW YORK MELLON TRUST COMPANY, N.A., AS NOTES COLLATERAL AGENT
Reel/Frame 040136/0001 →
SECURITY AGREEMENT Recorded Sep 21, 2016
From: ASAP SOFTWARE EXPRESS, INC.; AVENTAIL LLC; CREDANT TECHNOLOGIES, INC.; DELL USA L.P.; DELL INTERNATIONAL L.L.C.; DELL MARKETING L.P.; DELL PRODUCTS L.P.; DELL SOFTWARE INC.; DELL SYSTEMS CORPORATION; EMC CORPORATION; EMC IP HOLDING COMPANY LLC; FORCE10 NETWORKS, INC.; MAGINATICS LLC; MOZY, INC.; SCALEIO LLC; SPANNING CLOUD APPS LLC; WYSE TECHNOLOGY L.L.C.
To: CREDIT SUISSE AG, CAYMAN ISLANDS BRANCH, AS COLLATERAL AGENT
Reel/Frame 040134/0001 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Feb 23, 2010
From: RSA SECURITY HOLDING, INC.
To: EMC CORPORATION
Reel/Frame 023975/0151 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Feb 23, 2010
From: RSA SECURITY LLC
To: RSA SECURITY HOLDING, INC.
Reel/Frame 023975/0453 →
MERGER Recorded Jan 27, 2010
From: RSA SECURITY INC.
To: RSA SECURITY LLC
Reel/Frame 023852/0500 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jan 21, 2010
From: RSA SECURITY LLC
To: RSA SECURITY HOLDING, INC.
Reel/Frame 023824/0721 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jan 21, 2010
From: RSA SECURITY HOLDING, INC.
To: EMC CORPORATION
Reel/Frame 023825/0011 →