Patent ID: 9298942
Filing Date: 2016-03-29
CPC Classification: G06F,H04L

Claim Text:
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 encryption key encrypted as the first encrypted resource and the storage location of the first encrypted data file in the data store; retrieving, by the server computer, a current version of a second encrypted resource encrypted by use of the public key, the current version of the second encrypted resource being an encrypted set of respective index entries, wherein: augmenting, by the server computer, the first encrypted resource with the current version of the second encrypted resource to form an encrypted data tuple, the augmenting comprising appending the index entry to the current version of the second encrypted resource; encrypting, by the server computer, the encrypted data tuple by use of the public key; storing, by the server computer, the encrypted data tuple as the current version of the second encrypted resource; receiving, by the server computer and from the user device, a request for the current version of the second encrypted resource and sending, in response to the request, the second encrypted resource to the user device; receiving, by the server computer and from the user device, a request for a respective first encrypted data file stored at one of the respective storage locations; and sending, in response to the request and to the user device, the respective first encrypted data file requested by the user device.