IP Library Granted Patent US 11,036,392
Granted Patent B2
US 11,036,392 · App. 15/656,245 · Granted Jun 15, 2021

Determining when to use convergent encryption

Inventor: Jason K. Resch (Chicago, IL)
Assignee: PURE STORAGE, INC.
G06F3/0604G06F3/06G06F3/067G06F3/0622G06F3/0629G06F3/0659G06F11/1092G06F11/2094G06F2211/1028
View Patent ↗
Loading inventors, assignments & file history…
Monitor This Case
Get email alerts when status or documents change.
Order Certified Copies
Most orders are placed with the USPTO same day — all within 24 business hours.
Order via The Patent Place →
Pre-filled with this patent's details
Quick Facts
Patent No.
US 11,036,392
App. No.
15/656,245
Granted
Jun 15, 2021
Kind
B2
Abstract

A data encryption system receives data to be encrypted prior to being transmitted to a storage unit. The received data is analyzed to determine a secure storage approach based on a risk level associated with the received data. In response to the risk level satisfying a threshold risk level the data encryption system uses a convergent encryption technique to encrypt the received data, but in response to the risk level failing to satisfy the threshold risk level, the data encryption system encrypts the received data using a key based on a random number. The encrypted data is transmitted to a storage unit.

Claims (84)

1. A method for use in a data encryption system including a data analysis module, a key generator, and an encryptor, the method comprising:

receiving, at the data analysis module, received data to be encrypted prior to transmission to a storage unit, the received data having a received size;

analyzing, by the data analysis module, the received data to determine a secure storage approach based on a risk level associated with the received data;

in response to the risk level satisfying a threshold risk level:

masking, by the data analysis module, the received size of the received data by padding the received data to generate padded data having a padded size that does not exceed the received size by more than a predetermined percentage of the received size;

encrypting the padded data, by the encryptor, using a convergent encryption technique to encrypt the padded data;

in response to the risk level failing to satisfy the threshold risk level, encrypting the received data, by the encryptor, using a key, generated by a key generator, based on a random number; and

transmitting encrypted data to a storage unit.

2. The method of claim 1 , wherein using the convergent encryption technique includes:

generating a key based on the padded data.

3. The method of claim 1 , further comprising:

determining the risk level associated with the received data based, at least in part, on the received size of the received data.

4. The method of claim 1 , further comprising:

compressing the received data to generate compressed data having a compressed size;

determining a predictability of the received data based on a comparison of the compressed size to a compression threshold value; and

determining the risk level associated with the received data, based at least in part, on the predictability of the received data.

5. The method of claim 1 , wherein using the convergent encryption technique includes:

generating an encryption key by performing a deterministic function on the received data.

6. The method of claim 1 , wherein padding the received data includes:

adding padding to a beginning of the received data.

7. A computing device comprising:

a computing core configured to implement a data analysis module, a key generator, and an encryptor;

the data analysis module configured to:

analyze received data to select a secure storage approach based on a risk level associated with the received data, the secure storage approach selected from among a plurality of storage approaches including:

a first storage approach that uses convergent encryption to encrypt the received data after a received size of the received data has been masked by applying an added amount of padding that varies based on the received size of the received data to generate padded data having a padded size, wherein the padded size is limited as to not exceed the received size by more than a predetermined percentage of the received size;

and a second storage approach that encrypts the received data using a key generated based on a random number, wherein selecting the secure storage approach includes:

in response to the risk level satisfying a threshold risk level, setting the secure storage approach to use a convergent encryption technique to encrypt the received data;

in response to the risk level failing to satisfy the threshold risk level, setting the secure storage approach to use an encryption technique employing a key generated based on a random number to encrypt the received data;

transmit information specifying the secure storage approach to the key generator;

the key generator configured to:

generate an encryption key based on the secure storage approach;

transmit the encryption key to the encryptor;

the encryptor configured to:

receive data to be encrypted;

encrypt the data to generate encrypted data using the encryption key; and

an interface configured to transmit the encrypted data to a storage unit.

8. The computing device of claim 7 , further comprising:

a data manipulation module;

the data analysis module is further configured to:

examine the received size of the received data;

transmit information specifying the secure storage approach to the data manipulation module; and

the data manipulation module configured to mask the received size of the received data by adding padding to the received data to generate the padded data.

9. The computing device of claim 8 , further comprising:

the data manipulation module further configured to provide the padded data to the key generator; and

in response to the information specifying the secure storage approach indicating use of a convergent encryption technique, the key generator is further configured to generate the encryption key based on the padded data.

10. The computing device of claim 7 , wherein the data analysis module is further configured to:

determine the risk level based, at least in part, on the received size of the received data.

11. The computing device of claim 7 , wherein the data analysis module is further configured to:

compress the received data to generate compressed data having a compressed size;

determine a predictability of the received data based on a comparison of the compressed size to a compression threshold value; and

determine the risk level associated with the received data, based at least in part, on the predictability of the received data.

12. The computing device of claim 7 , wherein the key generator is further configured to:

in response to the information specifying the secure storage approach indicating use of a convergent encryption technique, generate an encryption key by performing a deterministic function on the received data.

13. A data encryption system comprising:

a data analysis module, a key generator, and an encryptor;

the data analysis module configured to;

analyze received data to determine a secure storage approach based on a risk level associated with the received data, the secure storage approach selected from among a plurality of storage approaches including:

a first storage approach that uses convergent encryption to encrypt the received data after a received size of the received data has been masked by applying an added amount of padding that varies based on the received size of the received data to generate padded data having a padded size, wherein the padded size is limited as to not exceed the received size of the received data by more than a predetermined percentage of the received size of the received data;

and a second storage approach that encrypts data using a key generated based on a random number, wherein selecting the secure storage approach includes:

in response to the risk level satisfying a threshold risk level, setting the secure storage approach to use a convergent encryption technique to encrypt the received data;

in response to the risk level failing to satisfy the threshold risk level, setting the secure storage approach to use an encryption technique employing a key generated based on a random number to encrypt the received data;

transmit information specifying the secure storage approach to the key generator;

the key generator configured to;

generate an encryption key based on the secure storage approach;

transmit the encryption key to the encryptor;

the encryptor configured to:

receive data to be encrypted;

encrypt the data to generate encrypted data using the encryption key; and

a storage unit configured to receive and store the encrypted data.

14. The data encryption system of claim 13 , further comprising:

a data manipulation module;

the data analysis module is further configured to:

examine the received size of the received data;

transmit information specifying the secure storage approach to the data manipulation module; and

the data manipulation module configured to mask the received size of the received data by adding padding to the received data to generate the padded data.

15. The data encryption system of claim 14 , further comprising:

the data manipulation module further configured to provide the padded data to the key generator; and

in response to the information specifying the secure storage approach indicating use of a convergent encryption technique, the key generator is further configured to generate the encryption key based on the padded data.

16. The data encryption system of claim 13 , wherein the data analysis module is further configured to:

determine the risk level based, at least in part, on the received size of the received data.

17. The data encryption system of claim 13 , wherein the data analysis module is further configured to:

compress the received data to generate compressed data having a compressed size;

determine a predictability of the received data based on a comparison of the compressed size to a compression threshold value; and

determine the risk level associated with the received data, based at least in part, on the predictability of the received data.

Assignments (5)
TERMINATION AND RELEASE OF SECURITY INTEREST IN PATENT RIGHTS Recorded Jun 11, 2025
From: BARCLAYS BANK PLC, AS ADMINISTRATIVE AGENT
To: PURE STORAGE, INC.
Reel/Frame 071558/0523 →
SECURITY INTEREST Recorded Aug 26, 2020
From: PURE STORAGE, INC.
To: BARCLAYS BANK PLC AS ADMINISTRATIVE AGENT
Reel/Frame 053867/0581 →
CORRECTIVE ASSIGNMENT TO CORRECT THE DELETE 15/174/279 AND 15/174/596 PROPERTY NUMBERS PREVIOUSLY RECORDED AT REEL: 49555 FRAME: 530. ASSIGNOR(S) HEREBY CONFIRMS THE ASSIGNMENT. Recorded Jan 7, 2020
From: INTERNATIONAL BUSINESS MACHINES CORPORATION
To: PURE STORAGE, INC.
Reel/Frame 051495/0831 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jun 21, 2019
From: INTERNATIONAL BUSINESS MACHINES CORPORATION
To: PURE STORAGE, INC.
Reel/Frame 049555/0530 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jul 21, 2017
From: RESCH, JASON K.
To: INTERNATIONAL BUSINESS MACHINES CORPORATION
Reel/Frame 043063/0330 →
Cited By (5)
US 12,204,657 US 12,235,954 US 12,248,566 US 12,411,962 US 12,561,428