IP Library Granted Patent US 8,731,203
Granted Patent B2
US 8,731,203 · App. 13/674,041 · Granted May 20, 2014

Securing a secret of a user

Inventor: Roy Peter D'Souza (Bellevue, WA)
Assignee: AlephCloud Systems, Inc.
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 8,731,203
App. No.
13/674,041
Granted
May 20, 2014
Kind
B2
Abstract

Methods, systems and apparatuses for securing a secret are disclosed. One method includes receiving a secret from the user and generating encrypted shares based on the secret, a policy, and a plurality of public keys. The encrypted shares are provided to a custodian, wherein the custodian verifies that the encrypted shares can be used to reconstitute the secret upon receiving the encrypted shares.

Claims (79)

1. A method of securing a secret of a user, comprising:

receiving, by a user server, a secret from the user;

generating encrypted shares based on the secret, a policy, and a plurality of public keys, comprising generating a plurality of shares from the secret, and encrypting each share utilizing a corresponding one of the plurality of public keys;

providing the encrypted shares to a custodian server of a first custodian; and

verifying, by the custodian server, that the encrypted shares can be used to reconstitute the secret upon receiving the encrypted shares, comprising leveraging, by the first custodian, one-way cryptographic functions, wherein the first custodian can reconstruct the secret, but cannot obtain access to the secret or any of the shares.

2. The method of claim 1 , further comprising a plurality of adjudicators, wherein each of the plurality of public keys has a corresponding at least one adjudicator of the plurality of adjudicators, and a corresponding secret key.

3. The method of claim 2 , further comprising escrowing the corresponding secret key of one or more of the plurality of public keys.

4. The method of claim 2 , further comprising monitoring a loss of one or more of the plurality adjudicators.

5. The method of claim 1 , wherein generating the encrypted shares based on the secret, a policy, and one or more public keys, is performed within a trust boundary.

6. The method of claim 1 , wherein the first custodian comprises a cloud network.

7. The method of claim 1 , wherein verifying, by the first custodian, that the encrypted shares can be used to reconstitute the secret is based upon the encrypted shares received by the first custodian, the public keys and the policy.

8. The method of claim 1 , wherein approved parties can decrypt the shares, wherein approved parties comprise parties who have access to the encrypted shares.

9. The method of claim 1 , wherein approved parties can decrypt the shares, wherein approved parties comprise parties who have secret keys that can decrypt the encrypted shares.

10. The method of claim 1 , wherein the first custodian receives the encrypted shares, but cannot decrypt the secret shares.

11. A method of securing a secret of a user, comprising:

receiving, by a user server, a secret from the user;

generating encrypted shares based on the secret, a policy, and a plurality of public keys;

providing the encrypted shares to a custodian server of a first custodian; and

verifying, by the custodian server, that the encrypted shares can be used to reconstitute the secret upon receiving the encrypted shares;

wherein each of the plurality of public keys has a corresponding at least one adjudicator of a plurality of adjudicators, and a corresponding secret key; and

escrowing the corresponding secret key of one or more of the plurality of public keys, comprising;

generating, encrypted shares based on the corresponding secret key, a policy, and a plurality of public keys;

providing the encrypted shares to a second custodian.

12. The method of claim 11 , wherein the first custodian and the second custodian are part of a common network.

13. A method of securing a secret of a user, comprising:

receiving, by a user server, a secret from the user;

generating encrypted shares based on the secret, a policy, and a plurality of public keys;

providing the encrypted shares to a custodian server of a first custodian; and

verifying, by the custodian server, that the encrypted shares can be used to reconstitute the secret upon receiving the encrypted shares;

wherein each of the plurality of public keys has a corresponding at least one adjudicator of a plurality of adjudicators, and a corresponding secret key; and

escrowing the corresponding secret key of one or more of the plurality of public keys, comprising;

generating, encrypted shares based on the corresponding secret key, a policy, and a plurality of public keys;

splitting the encrypted shares; and

providing the split encrypted shares between more than one custodian.

14. A method of securing a secret of a user, comprising:

receiving, by a user server, a secret from the user;

generating encrypted shares based on the secret, a policy, and a plurality of public keys;

providing the encrypted shares to a custodian server of a first custodian; and

verifying, by the custodian server, that the encrypted shares can be used to reconstitute the secret upon receiving the encrypted shares;

wherein each of the plurality of public keys has a corresponding at least one adjudicator of a plurality of adjudicators, and a corresponding secret key; and

further comprising monitoring a loss of one or more of the plurality adjudicators;

providing the user with an early warning if the loss of adjudicators exceeds a threshold, thereby allowing the user to select new or different adjudicators.

15. A method of securing a secret of a user, comprising:

receiving, by a user server, a secret from the user;

generating encrypted shares based on the secret, a policy, and a plurality of public keys;

providing the encrypted shares to a custodian server of a first custodian; and

verifying, by the custodian server, that the encrypted shares can be used to reconstitute the secret upon receiving the encrypted shares;

receiving a user name, a number n of security questions, and a threshold value k from the user;

generating for each of the n security questions, key pairs SKi, PKi for encryption of subsequently created secret shares derived from the secret;

receiving N distinct questions Q[1] . . . Q[n] along with corresponding answers A[1] . . . A[n] to the N distinct questions Q[1] . . . Q[n] from the user; wherein

generating the encrypted shares comprises;

deriving symmetric encryption keys KA[i] based on each of the answers;

encrypting each of the key pairs SKi, PKi based on a corresponding symmetric encryption key KA[i], to obtain encrypted keys ESK[1] . . . ESK [n].

16. The method of claim 15 , wherein providing the encrypted shares to the first custodian comprises:

uploading the encrypted keys ESK[1] . . . ESK[n] and the distinct questions Q[1] . . . Q[n] to the first custodian; and wherein

verifying comprises;

generating secret shares SS[1] . . . SS[n];

generating encrypted shares ESS[i] by encrypting each secret share SS[1] . . . SS[n] using the corresponding public key PKi;

uploading the encrypted share ESS[1] . . . ESS[n];

generating an asymmetric key pair (PK, SK); and

obtaining an encrypted asymmetric key ESK by encrypting the secret key SK using an symmetric encryption key PWD_K derived from a passphrase password as specified by a user; and

uploading the encrypted asymmetric key ESK.

17. The method of claim 16 , further comprising:

prompting the user to select and provide answers A′[1] . . . A′ [k] to the k security questions Q[1] . . . Q[k];

downloading, by the user device, encrypted shares ESS[1] . . . ESS[k] and encrypted keys ESK[1] . . . ESK[k];

deriving keys KA[1] . . . KA[k] from the provided answers A′ [1] . . . A′[k]; (an incorrect answer yields an incorrect key)

attempting to decrypt ESK[1] . . . ESK[k] using the keys KA[1] . . . KA[k];

obtaining the secret keys SK[1] . . . SK[k];

decrypting the encrypted shares ESS[1] . . . ESS[k] using the secret keys SK[1] . . . SK[k];

obtaining the secret shares SS[1] . . . SS[k] based on the encrypted shares ESS[1] . . . ESS[k];

recovery the password or the symmetric encryption key PWD_K using the secret shares SS[1] . . . SS[k] if the provided answers A′[1] . . . A′[k] are correct.

18. The method of claim 17 , wherein if the provided answers are determine not to be correct, the prompting the user for a new set of k security questions and answers.

19. The method of claim 17 , wherein if the provided answers are determine to be correct, than allowing the user to change the secret.

20. A system for securing a secret, comprising:

a user server operative to:

receive a secret from the user;

generate encrypted shares based on the secret, a policy, and a plurality of public keys, comprising generating a plurality of shares from the secret, and encrypting each share utilizing a corresponding one of the plurality of public keys; and

provide the encrypted shares to a custodian server; wherein

the custodian server verifies that the encrypted shares can be used to reconstitute the secret upon receiving the encrypted shares, comprising leveraging, by the first custodian, one-way cryptographic functions, wherein the first custodian can reconstruct the secret, but cannot obtain access to the secret or any of the shares.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Nov 11, 2012
From: D'SOUZA, ROY PETER
To: ALEPHCLOUD SYSTEMS, INC.
Reel/Frame 029276/0876 →
Continuity (3)
Continuation In Part 13613080 · Sep 13, 2012
Provisional Application 61598071 · Feb 13, 2012
Related Publication 20130212393A1 · Aug 15, 2013