System for providing session-based network privacy, private, persistent storage, and discretionary access control for sharing private data
First Claim
1. A method for providing private storage of data on a server within a network, to a storing user operating a client computer connected to the network, wherein the storage is persistent, encrypted, and anonymous, and wherein access to the data may be granted by the storing user to an accessing user, the method comprising:
- (a) providing to the storing user a client application, the client application being configured to;
identify the data to be stored and the accessing user, who is to have access thereto;
generate a first encryption key and a first decryption key;
encrypt the data within said client using the first encryption key;
generate a data object identifier;
generate a challenge public-private key pair for the data;
read an identifier for the accessing user;
generate a coded user identifier from the user identifier by hashing;
send the coded user identifier to the server together with a request for the accessing user'"'"'s message queue public key;
receive the message queue public key from the server;
create a message object comprising the data object identifier, the first decryption key, and the private challenge key;
encrypt the message object with the message queue public key;
send the encrypted message object to the message queue on the server associated with the coded user identifier;
create a data object comprising the data object identifier, the encrypted data, and the public challenge key;
send the data object to the server;
(b) receiving the coded user identifier and request for the accessing user'"'"'s message queue public key from the client application, and responsive thereto identifying the message queue public key associated with the coded user identifier and returning the message queue public key to the client application; and
(c) receiving the encrypted data, data object identifier, and public challenge key from the client application, and responsive thereto storing the encrypted data in a database under the control of the server, using the data object identifier as a locator and maintaining an association with the public challenge key.
1 Assignment
0 Petitions
Accused Products
Abstract
The invention provides secure and private communication over a network, as well as persistent private storage and private access control to the stored information, which is accomplished by imposing mechanisms that separate a user'"'"'s actions from their identity. The system provides (i) anonymous network browsing, in which event the anonymity system is unaware of both the user'"'"'s identity and browsing activities, (ii) private network storage and retrieval of data such as passwords, profiles and files in a manner such that the data can be stored into the system and later retrieved without the system knowing the contents or owners of the data, and (iii) the ability of the user to control and manage access to the remotely stored data without the system knowing the contents, owners, or accessors of the data.
-
Citations
5 Claims
-
1. A method for providing private storage of data on a server within a network, to a storing user operating a client computer connected to the network, wherein the storage is persistent, encrypted, and anonymous, and wherein access to the data may be granted by the storing user to an accessing user, the method comprising:
-
(a) providing to the storing user a client application, the client application being configured to; identify the data to be stored and the accessing user, who is to have access thereto; generate a first encryption key and a first decryption key; encrypt the data within said client using the first encryption key; generate a data object identifier; generate a challenge public-private key pair for the data; read an identifier for the accessing user; generate a coded user identifier from the user identifier by hashing; send the coded user identifier to the server together with a request for the accessing user'"'"'s message queue public key; receive the message queue public key from the server; create a message object comprising the data object identifier, the first decryption key, and the private challenge key; encrypt the message object with the message queue public key; send the encrypted message object to the message queue on the server associated with the coded user identifier; create a data object comprising the data object identifier, the encrypted data, and the public challenge key; send the data object to the server; (b) receiving the coded user identifier and request for the accessing user'"'"'s message queue public key from the client application, and responsive thereto identifying the message queue public key associated with the coded user identifier and returning the message queue public key to the client application; and (c) receiving the encrypted data, data object identifier, and public challenge key from the client application, and responsive thereto storing the encrypted data in a database under the control of the server, using the data object identifier as a locator and maintaining an association with the public challenge key. - View Dependent Claims (2, 3, 4, 5)
-
Specification