Method and system of securely escrowing private keys in a public key infrastructure
First Claim
Patent Images
1. A method of restricting access to a private key wherein the private key is stored at a primary site, the method comprising:
- authenticating, at a secondary site, a key escrow requestor based on a first administrator certificate;
verifying that the authenticated key escrow requester is associated with a key escrow privilege;
receiving a masked session key from the key escrow requester over a secure escrow connection;
storing the masked session key to a memory located at the secondary site;
authenticating, at the secondary site, a key recovery requestor based on a second administrator certificate;
verifying that the key recovery requestor is associated with a key recovery privilege; and
sending the masked session key to the key recovery requestor over a secure recovery connection, the masked session key enabling recovery of the private key.
11 Assignments
0 Petitions
Accused Products
Abstract
A method of restricting access to private keys in a public key infrastructure provides for storage of an encrypted private key at a primary site. A masked session key is stored at a secondary site, where the masked session key enables recovery of the private key. By using distributed storage architecture for recovery data, simplification can be achieved without sacrificing security.
87 Citations
32 Claims
-
1. A method of restricting access to a private key wherein the private key is stored at a primary site, the method comprising:
-
authenticating, at a secondary site, a key escrow requestor based on a first administrator certificate;
verifying that the authenticated key escrow requester is associated with a key escrow privilege;
receiving a masked session key from the key escrow requester over a secure escrow connection;
storing the masked session key to a memory located at the secondary site;
authenticating, at the secondary site, a key recovery requestor based on a second administrator certificate;
verifying that the key recovery requestor is associated with a key recovery privilege; and
sending the masked session key to the key recovery requestor over a secure recovery connection, the masked session key enabling recovery of the private key. - View Dependent Claims (2, 3)
-
-
4. A method of restricting access to private keys wherein a protected private key is stored at a primary site, the method comprising:
storing a protected session value at a secondary site, the protected session value enabling recovery of the private key. - View Dependent Claims (5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16)
-
17. A machine-readable storage medium including a stored set of key escrow instructions capable of being executed by a processor to:
-
encrypt a private key of a key pair with a session key;
store a first recovery datum and the encrypted private key at a primary site; and
send a second recovery datum to a secondary site, the first recovery datum and the second recovery datum enabling recovery of the private key. - View Dependent Claims (18, 19, 20, 21, 22, 23)
-
-
24. A machine-readable storage medium including a stored set of key recovery instructions capable of being executed by a processor to:
-
retrieve a first recovery datum and an encrypted private key from a memory located at a primary site;
receive a second recovery datum from a secondary site; and
thedecrypting the encrypted private key based on the first recovery datum and the second recovery datum. - View Dependent Claims (25, 26, 27, 28)
-
-
29. A method for recovering a key, including:
-
protecting a first key with a session value at a first site;
performing an XOR operation on the session value and a nonce to obtain a masked session value at the first site;
storing the nonce and the protected first key at the first site;
deleting the session value from memory at the first site; and
sending the masked session value to a second site. - View Dependent Claims (30, 31)
-
-
32. A method for recovering a key, including:
-
encrypting a key using a secret;
transforming the secret into a first piece of data and a second piece of data;
deleting the secret;
separating the first piece of data from the second piece of data;
reuniting the first and second pieces of data only when certain requirements are met;
after reuniting the first and second pieces of data, transforming the first and second pieces of data into the secret; and
decrypting the key using the secret.
-
Specification