Patent ID: 9608969
Date: 2017-03-28
CPC Classifications: G06F,H04L

Claim:
1. A method performed by a data processing apparatus, the method comprising: receiving, from a user device at a server computer separate from the user device: storing the encrypted data file at a storage location in a data store; generating an index entry that is a combination of the first encrypted key and the storage location of the first encrypted data file in the data store; retrieving, by the server computer, a current version of an encrypted resource encrypted by use of the second encryption key, the encrypted resource being an encrypted set of respective index entries, wherein: combining, by the server computer, the index entry with the current version of the encrypted resource to form an encrypted data tuple; encrypting, by the server computer, the encrypted data tuple by use of the second encryption key; and storing, by the server computer, the encrypted data tuple as the current version of the second encrypted resource; receiving, from a user device, a request for the encrypted resource; providing to the user device the encrypted resource; receiving, from the user device, a request for an encrypted data file stored at a storage location specified in the encrypted resource; and providing, to the user device, the encrypted data file.