Content-based encryption keys
AssigneeQuest Software, Inc.
InventorsMurali Bashyam, Tarun K. Tripathy
Life of this patent
Estimating the term…
Abstract
Techniques and mechanisms described herein facilitate the encryption of content using content-based encryption keys. According to various embodiments, data stream may include one or more data chunks. A client machine may apply a hash function to a data chunk to determine a fingerprint value. A cryptographic protocol shared with a remote server may be applied to the fingerprint value to determine a data chunk encryption key. The data chunk encryption key may be used to encrypt the data chunk, and the encrypted data chunk may be sent to the remote server for storage.
Claims20
A method, comprising:
- identifying a message from a client device, the message including a request for a status of a fingerprint value;
- determining the status for the fingerprint value at a networked storage device;
- sending a status message that includes the status for the fingerprint value to the client device;
- determining that the fingerprint value is not associated with a data chunk at the networked storage device;
- receiving the data chunk from the client device, wherein the data chunk is not encrypted;
- generating a data chunk encryption key based on the fingerprint value by combining the fingerprint value with a secret string, the secret string being pre-negotiated between the client device and the networked device;
- encrypting the data chunk with the data chunk encryption key;
- and
- storing the data chunk with the data chunk encryption key at the networked storage device.
A system, comprising:
- one or more processors;
- and
- a memory storing instructions that when executed by the one or more processors, cause the one or more processors to perform operations comprising:
- identify a message from a client device, the message including a request for a status of a fingerprint value;
- determine the status for the fingerprint value at a networked storage device;
- send a status message that includes the status for the fingerprint value to the client device;
- determine that the fingerprint value is not associated with a data chunk at the networked storage device;
- receive the data chunk from the client device, wherein the data chunk is not encrypted;
- generate a data chunk encryption key based on the fingerprint value by combining the fingerprint value with a secret string, the secret string being pre-negotiated between the client device and the networked device;
- encrypt the data chunk with the data chunk encryption key;
- and
- store the data chunk with the data chunk encryption key at the networked storage device.
A non-transitory machine-readable medium comprising stored instructions, wherein the instructions, when executed, cause a machine to perform operations, comprising:
- identifying a message from a client device, the message including a request for a status of a fingerprint value;
- determining a status for the fingerprint value at a networked storage device;
- sending a status message that includes the status for the fingerprint value to the client device;
- determining that the fingerprint value is not associated with a data chunk at the networked storage device;
- receiving the data chunk from the client device, wherein the data chunk is not encrypted;
- generating a data chunk encryption key based on the fingerprint value by combining the fingerprint value with a secret string, the secret string being pre-negotiated between the client device and the networked device;
- encrypting the data chunk with the data chunk encryption key;
- and
- storing the data chunk with the data chunk encryption key at the networked storage device.
Dependencies are inferred from the claim text.