IP Library Granted Patent US 8,315,395
Granted Patent B2
US 8,315,395 · App. 12/331,848 · Granted Nov 20, 2012

Nearly-stateless key escrow service

Assignee: Oracle America, 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,315,395
App. No.
12/331,848
Granted
Nov 20, 2012
Kind
B2
Abstract

Some embodiments provide a system to generate a key pair. During operation, the system can receive a request to generate the key pair, wherein the key pair is generated by a key assigner, and wherein the key pair is associated with a user. Next, the system can determine a secret associated with the key assigner. Specifically, the system can determine the secret by determining an initial secret associated with the key assigner, and by applying a one-way hash function to the initial secret one or more times. The system can then determine a seed based on the secret. Specifically, the system can determine the seed by cryptographically combining the secret with information associated with the user. Next, the system can generate the key pair by using the seed as an input to a key generator. The system can then return the key pair to a requestor.

Claims (34)

1. A method for generating a key pair, the method comprising:

in a key assignment server,

receiving a request to generate a key pair associated with a user, wherein the key pair is generated by the key assignment server;

acquiring, from a key recovery server, a secret associated with the key assignment server, wherein the key recovery server generates the secret associated with the key assignment server, and wherein generating the secret at the key recovery server comprises cryptographically combining a master secret with an identifier that identifies the key assignment server;

determining a seed based on the secret, wherein determining the seed based on the secret includes cryptographically combining the secret received from the key recovery server with information associated with the user;

generating the key pair by using the seed as an input to a key generator; and

returning the key pair to a requestor.

2. The method of claim 1 , wherein generating the secret in the key recovery server includes:

determining an initial secret associated with the key assignment server; and

determining the secret by applying a one-way hash function one or more times to the initial secret.

3. The method of claim 1 , wherein the method further comprises receiving a certificate which certifies that the key pair is associated with the user, and that the key pair was generated by the key assignment server.

4. The method of claim 1 , wherein the identifier that identifies the key assignment server is different from the information associated with the user.

5. A non-transitory computer-readable storage medium storing instructions that when executed by a computer cause the computer to perform a method for generating a key pair, the method comprising:

in a key assignment server,

receiving a request to generate a key pair associated with a user, wherein the key pair is generated by the key assignment server;

acquiring, from a key recovery server, a secret associated with the key assignment server, wherein the key recovery server generates the secret associated with the key assignment server, and wherein generating the secret at the key recovery server comprises cryptographically combining a master secret with an identifier that identifies the key assignment server;

determining a seed based on the secret, wherein determining the seed based on the secret includes cryptographically combining the secret received from the key recovery server with information associated with the user;

generating the key pair by using the seed as an input to a key generator; and

returning the key pair to a requestor.

6. The non-transitory computer-readable storage medium of claim 5 , wherein generating the secret in the key recovery server includes:

determining an initial secret associated with the key assignment server; and

determining the secret by applying a one-way hash function one or more times to the initial secret.

7. The non-transitory computer-readable storage medium of claim 5 , wherein the method further comprises receiving a certificate which certifies that the key pair is associated with the user, and that the key pair was generated by the key assignment server.

8. An apparatus that generates a key pair, the apparatus comprising:

a key assignment server;

a key recovery server coupled to the key assignment server;

a receiving mechanism in the key assignment server configured to receive a request to generate a key pair associated with a user, wherein the key pair is generated by the key assignment server;

wherein the receiving mechanism is further configured to receive, from a key recovery server, a secret associated with the key assignment server, wherein the key recovery server generates the secret associated with the key assignment server, and wherein generating the secret at the key recovery server comprises cryptographically combining a master secret with an identifier that identifies the key assignment server;

a determining mechanism in the key assignment server configured to determine a seed based on the secret, wherein determining the seed based on the secret includes cryptographically combining the secret received from the key recovery server with information associated with the user;

a generating mechanism in the key assignment server configured to generate the key pair by using the seed as an input to a key generator; and

a returning mechanism in the key assignment server configured to return the key pair to a requestor.

9. The apparatus of claim 8 , wherein, when generating the secret associated with the key assignment server, the key recovery server is configured to:

determine an initial secret associated with the key assignment server; and

determine the secret by applying a one-way hash function one or more times to the initial secret.

Assignments (2)
MERGER AND CHANGE OF NAME Recorded Dec 16, 2015
From: ORACLE USA, INC.; SUN MICROSYSTEMS, INC.; ORACLE AMERICA, INC.
To: ORACLE AMERICA, INC.
Reel/Frame 037311/0182 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Feb 11, 2009
From: PERLMAN, RADIA J.
To: SUN MICROSYSTEMS, INC.
Reel/Frame 022245/0144 →
Continuity (1)
Related Publication 20100142713A1 · Jun 10, 2010