Patent ID: 7792300

Claim:
A method for re-encrypting encrypted data in a secure storage file system, comprising: obtaining one or more selected encrypted data blocks from the secure storage file system, each selected encrypted data block comprising a selected encrypted data, the one or more selected encrypted data blocks comprising data blocks accessed by a first user, wherein the one or more selected encrypted data blocks were selected based on a user data access record, wherein the user data access record comprises a bitmap indicating which encrypted data blocks are accessed by a first user; decrypting, re-encrypting and storing each one of the one or more selected encrypted data blocks, the decrypting, re-encrypting and storing of each data block comprising: decrypting the selected encrypted data using a first symmetric key associated with the encrypted data block to obtain selected data; re-encrypting the selected data using a second symmetric key associated with the data block to obtain new encrypted data; for each user who has access to the data block, obtaining a public key associated with a private key, wherein the first user is denied access to the private key; encrypting the second symmetric key using the public key to obtain a new encrypted symmetric key; storing in a new data block, stored in a storage device; the new encrypted data and the new encrypted symmetric key if a second user has read permission, wherein the second user is allowed access to the private key; applying a hash function to the selected data to obtain hash data; encrypting the hash data with the private key to obtain encrypted hash data; and storing the encrypted hash data, the new encrypted data, and the new encrypted symmetric key if the second user has write permission.