Patent ID: 8572119

Claim:
A method for providing private storage of data on a server within a network, wherein the storage is persistent, encrypted, and anonymous, to a user having a client computer connected to the network, comprising: (a) providing to the user a client application, the client application being configured to: generate a first encryption key and a first decryption key; encrypt the data using the first encryption key; generate a data object identifier; create a data object comprising the data object identifier and the encrypted data; write the data object identifier to a user object; write the first decryption key to the user object; generate a user object encryption key based on information private to the user and reproducible in future sessions by the user, in a manner such that the private information cannot practicably be derived from the user object encryption key; encrypt the user object with the user object encryption key; generate a user object identifier based on information private to the user and reproducible in future sessions by the user, in a manner such that the private information cannot practicably be derived from the user object identifier; associate the user object identifier with the user object; send the data object to the server; and send the user object and user object identifier to the server; (b) responsive to receiving the data object from the user, storing the data object in a database under the control of the server, using the data object identifier as a locator; and (c) responsive to receiving the user object from the user, storing the user object in the database, using the user object identifier as a locator.