Method and apparatus for cryptographic key storage wherein key servers are authenticated by possession and secure distribution of stored keys
First Claim
1. A method of accessing encrypted data, wherein the encrypted data is stored on a first secured system and a key usable for decrypting the encrypted data is stored on a second secured system and wherein the first secured system maintains a first private key of a first secured system key pair, the method comprising:
- obtaining a onetime key pair at the first secured system;
generating a request by the first secured system for the key, wherein the request includes at least a onetime public key of the onetime key pair, wherein the onetime public, key is unknown to the second secured system prior to sending the request to the second secured system;
signing the request with the first private key of the first secured system;
sending the request signed by the first private key to the second secured system, wherein the second secured system is a key server;
at the key server, obtaining the key from among a plurality of stored keys;
responding to the request signed by the first private key with a response from the second secured system, wherein the response includes at least the key requested by the first secured system, encrypted using the onetime public key provided in the request signed by the first private key;
decrypting at least a part of the response using the one-time private key, so as to obtain the key;
using at least the key provided as part of the response to decrypt the encrypted data; and
deleting, at the first secured system, the key obtained from the key server, once access to the encrypted data is complete for a given session, such that the key is not maintained at the first secured system.
10 Assignments
0 Petitions
Accused Products
Abstract
A key management system includes secured data stored on a first system secured by a control key stored securely on a key server. The secured data is secured against attacks such as unauthorized use, modification or access, where authorization to access the secured data is determined by knowledge of an access private key of an access key pair. When an authorized user is to access the secured data, the first system generates a request to the key server, signed with the access private key, wherein the request is for a decryption control key and the request includes a one-time public key of a key pair generated by the first system for the request. The first system can decrypt the decryption control key from the response, using a one-time private key. The first system can then decrypt the secured data with the decryption control key remaining secured in transport.
105 Citations
8 Claims
-
1. A method of accessing encrypted data, wherein the encrypted data is stored on a first secured system and a key usable for decrypting the encrypted data is stored on a second secured system and wherein the first secured system maintains a first private key of a first secured system key pair, the method comprising:
-
obtaining a onetime key pair at the first secured system; generating a request by the first secured system for the key, wherein the request includes at least a onetime public key of the onetime key pair, wherein the onetime public, key is unknown to the second secured system prior to sending the request to the second secured system; signing the request with the first private key of the first secured system; sending the request signed by the first private key to the second secured system, wherein the second secured system is a key server; at the key server, obtaining the key from among a plurality of stored keys; responding to the request signed by the first private key with a response from the second secured system, wherein the response includes at least the key requested by the first secured system, encrypted using the onetime public key provided in the request signed by the first private key; decrypting at least a part of the response using the one-time private key, so as to obtain the key; using at least the key provided as part of the response to decrypt the encrypted data; and deleting, at the first secured system, the key obtained from the key server, once access to the encrypted data is complete for a given session, such that the key is not maintained at the first secured system. - View Dependent Claims (2, 3)
-
-
4. A secured key server and a plurality of key clients, wherein keys for the plurality of key clients are maintained at the secured key server, the secured key server comprising:
-
a database of keys stored on the secured key server, wherein each key is associated with a key client; a communications module for receiving key requests, a key request including a one-time public key signed by a first private key of a key client, wherein the one-time public key is unknown to the communication module prior to receiving the key request; logic for authenticating the key client based on a public key of the key client; logic for obtaining the key from among a plurality of stored keys; logic for encrypting a response that includes the requested key and that is encrypted using the one-time public key; logic for sending the response to the key client; and each of the plurality of key clients comprising; logic for deleting the requested key once access to encrypted data is complete at the key client for a given session, such that the requested key is not maintained at the key client.
-
-
5. A method of decrypting encrypted data, the method comprising:
-
generating a one-time key pair that comprises a one-time public key and a first private key; generating a request by a key client for a decryption key stored on a key server, wherein the request includes the onetime public key; signing the request with a second private key; determining by the key client which of a plurality of key servers to use to obtain the decryption key by querying a database of key servers; transmitting the request to the key server; in response to receiving a response encrypted by the one-time public key associated with the request from the key server, decrypting the response using the first private key to obtain the decryption key; using at least the decryption key provided as part of the response to decrypt the encrypted data; and deleting the decryption key obtained from the key server following access to the encrypted data, such that the key is not maintained at the key client. - View Dependent Claims (6, 7, 8)
-
Specification