×

Storing and retrieving ciphertext in data storage

  • US 10,374,807 B2
  • Filed: 04/04/2014
  • Issued: 08/06/2019
  • Est. Priority Date: 04/04/2014
  • Status: Active Grant
First Claim
Patent Images

1. A system, comprising:

  • a processor; and

    a non-transitory storage medium storing data storage instructions and data retrieval instructions, the data storage instructions executable on the processor to;

    compute a first ciphertext value for a first data chunk to be saved to a storage system, the first ciphertext value computed based on encrypting information of the first data chunk using, as an initial value for encryption, an encrypted chunk hash value associated with the first data chunk, the encrypted chunk hash value encrypted using an encryption key, the computing of the first ciphertext value responsive to an indication provided as part of deduplicating ciphertext values corresponding to data chunks to be stored by a storage operation to the storage system, wherein the indication is responsive to a determination that the encrypted chunk hash value associated with the first data chunk is not stored in an index, and the deduplicating of ciphertext values avoids storing a redundant ciphertext value in the storage system in response to a determination that an encrypted chunk hash value associated with a given data chunk is stored in the index; and

    provide the first ciphertext value to a server for storage in the storage system, and provide the encrypted chunk hash value for storage in the index; and

    the data retrieval instructions executable on the processor to;

    in response to a request from a client for the first data chunk;

    receive the encrypted chunk hash value associated with the first data chunk from the index;

    decrypt the first ciphertext value for the first data chunk using the received encrypted chunk hash value;

    decrypt the received encrypted chunk hash value to produce a decrypted chunk hash value;

    determine, using the decrypted chunk hash value, whether the decrypted first ciphertext value corresponds to the first data chunk; and

    accept or reject the decrypted first ciphertext value based on the determining.

View all claims
  • 2 Assignments
Timeline View
Assignment View
    ×
    ×