Patent ID: 7594257

Claim:
A method of storing data over a computer network from a first client computer system of a plurality of different client computer systems to a remote network server, comprising: generating a private encryption key and a public encryption key on a first client computer, wherein generating the private and public encryption keys are based at least in part a hardware identifier that is uniquely associated with the first client computer and based at least in part on user input; encrypting the data on the first client computer with the public encryption key to generate encrypted data; copying the public encryption key and the encrypted data to the remote network server; and storing the public encryption key and the encrypted data on a data storage medium in the remote network server in association with a file attribute that designates the data as encrypted, wherein the file attribute further indicates an owner of the public encryption key used to encrypt the encrypted data; wherein when a request of the remote network server for the encrypted data is received from a requestor, a determination is made whether the requestor is the owner of the public encryption key used to encrypt the encrypted data; wherein when the requestor is the owner of the public encryption key used to encrypt the encrypted data, automatically forwarding the encrypted data to the requestor; and wherein when a request is received from the requestor for non-encrypted data automatically encrypting the non-encrypted on the remote network server, with the public encryption key of the requestor and automatically forwarding the encrypted data to the requestor.