Data Repository and Method for Promoting Network Storage of Data
First Claim
1. A method for client programs communicating over a network with a data repository, to store encrypted data items in the data repository, wherein the client programs encrypt the data items but do not retain information needed to decrypt the data items, the method comprising:
- generating a public key and a private key;
transmitting only the public key to a first client program running on a first client machine;
creating a data key, by the first client program;
encrypting a data item, by the first client program, using the data key as the encryption key;
depositing the encrypted data item in the data repository, in response to a request by the first client program;
encrypting the data key, by the first client program, using the public key as the encryption key;
storing the encrypted data key in association with the data item, in response to a request by the first client program;
erasing unencrypted information about the data key from storage on the first client machine;
erasing unencrypted information about the data item from storage on the first client machine;
retrieving the encrypted data key from the data repository, in response to a request by a second client program running on a second client machine that is different than the first client machine and that has access to the private key;
wherein the private key is needed to decrypt data encoded using the public key; and
wherein once both erasing steps have been completed, there is no information stored on the first client machine that would enable the unencrypted data item to be recovered, either from the first client machine or from the data repository.
4 Assignments
0 Petitions
Accused Products
Abstract
In general, the invention features methods by which more than one client program connected to a network stores the same data item on a storage device of a data repository connected to the network. In one aspect, the method comprises encrypting the data item using a key derived from the content of the data item, determining a digital fingerprint of the data item, and storing the data item on the storage device at a location or locations associated with the digital fingerprint. In a second aspect, the method comprises determining a digital fingerprint of the data item, testing for whether the data item is already stored in the repository by comparing the digital fingerprint of the data item to the digital fingerprints of data items already in storage in the repository, and challenging a client that is attempting to deposit a data item already stored in the repository, to ascertain that the client has the full data item.
-
Citations
11 Claims
-
1. A method for client programs communicating over a network with a data repository, to store encrypted data items in the data repository, wherein the client programs encrypt the data items but do not retain information needed to decrypt the data items, the method comprising:
-
generating a public key and a private key; transmitting only the public key to a first client program running on a first client machine; creating a data key, by the first client program; encrypting a data item, by the first client program, using the data key as the encryption key; depositing the encrypted data item in the data repository, in response to a request by the first client program; encrypting the data key, by the first client program, using the public key as the encryption key; storing the encrypted data key in association with the data item, in response to a request by the first client program; erasing unencrypted information about the data key from storage on the first client machine; erasing unencrypted information about the data item from storage on the first client machine; retrieving the encrypted data key from the data repository, in response to a request by a second client program running on a second client machine that is different than the first client machine and that has access to the private key; wherein the private key is needed to decrypt data encoded using the public key; and wherein once both erasing steps have been completed, there is no information stored on the first client machine that would enable the unencrypted data item to be recovered, either from the first client machine or from the data repository. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10, 11)
-
Specification