IP Library Granted Patent US 12,019,764
Granted Patent B2
US 12,019,764 · App. 17/464,756 · Granted Jun 25, 2024

Modifying encryption in a storage system

Inventors: Constantine P. Sapuntzakis (Palo Alto, CA); Kiron Vijayasankar (Santa Clara, CA); Yuval Frandzel (Foster City, CA)
Assignee: PURE STORAGE, INC.
G06F21/602G06F12/1408G06F21/6218H04L9/0891H04L67/1095H04L67/1097G06F2212/1052G06F2212/402
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 12,019,764
App. No.
17/464,756
Granted
Jun 25, 2024
Kind
B2
Abstract

A method of modifying encryption of a storage system includes: receiving an instruction to rekey data on a storage system, wherein the instruction identifies first encryption information and second encryption information; determining that the instruction is authorized; decrypting, by a processing device of a storage system controller, the data using a current key included in the first encryption information to generate decrypted data; and encrypting, by the processing device of the storage system controller, the decrypted data using the second encryption information to generate encrypted data.

Claims (47)

1. A method, comprising:

receiving an instruction to rekey data on one or more storage devices, wherein the instruction identifies first encryption information and second encryption information;

determining that the instruction is authorized;

decrypting, by a processing device of a storage system controller coupled to the one or more storage devices, the data on the one or more storage devices using a current key included in the first encryption information to generate decrypted data; and

encrypting, by the processing device of the storage system controller coupled to the one or more storage devices, the decrypted data on the one or more storage devices using the second encryption information to generate encrypted data.

2. The method of claim 1 , wherein the first encryption information comprises:

an identifier of: a current key, a current encryption algorithm, and a current initialization vector scheme; and

wherein the second encryption information comprises:

an identifier of: a desired key, a desired encryption algorithm, and a desired initialization vector scheme.

3. The method of claim 2 , wherein the first encryption information further comprises: a proof of possession of the current key; and

wherein the second encryption information further comprises: a proof of possession of the desired key.

4. The method of claim 2 , wherein the current key is the same as the desired key.

5. The method of claim 1 , wherein the instruction further identifies a range of logical block addresses corresponding to the data.

6. The method of claim 1 , wherein the rekey instruction is part of a Small Computer System Interface (SCSI), Non-Volatile Memory Express (NVMe), Presentational State Transfer (REST), or vStorage Application Programming Interface for Storage Awareness (VASA) instruction set.

7. The method of claim 1 , further comprising: writing metadata for an application associated with the data that instructs the processing device of the storage system controller to use the second encryption information for future write operations of the application.

8. The method of claim 1 , wherein the rekey instruction comprises an instruction to copy the data to a target location identified by the rekey instruction, further comprising: copying the encrypted data to the target location.

9. A system comprising:

one or more storage devices; and

a controller coupled to the one or more storage devices and configured to:

receive an instruction to rekey data on the one or more storage devices, wherein the instruction identifies first encryption information and second encryption information;

determine that the instruction is authorized;

decrypt the data on the one or more storage devices using a current key included in the first encryption information to generate decrypted data; and

encrypt the decrypted data on the one or more storage devices using the second encryption information to generate encrypted data.

10. The storage system of claim 9 , wherein the first encryption information comprises:

an identifier of: a current key, a current encryption algorithm, and a current initialization vector scheme; and

wherein the second encryption information comprises:

an identifier of: a desired key, a desired encryption algorithm, and a desired initialization vector scheme.

11. The storage system of claim 10 , wherein the first encryption information further comprises: a proof of possession of the current key; and

wherein the second encryption information further comprises: a proof of possession of the desired key.

12. The storage system of claim 10 , wherein the current key is the same as the desired key.

13. The storage system of claim 9 , wherein the instruction further identifies a range of logical block addresses corresponding to the data.

14. The storage system of claim 9 , wherein the rekey instruction is part of a Small Computer System Interface (SCSI), Non-Volatile Memory Express (NVMe), Presentational State Transfer (REST), or vStorage Application Programming Interface for Storage Awareness (VASA) instruction set.

15. The storage system of claim 9 , the controller further configured to: write metadata for an application associated with the data that instructs the controller to use the second encryption information for future write operations of the application.

16. The storage system of claim 9 , wherein the rekey instruction comprises an instruction to copy the data to a target location identified by the rekey instruction, and wherein the controller is further configured to: copy the encrypted data to the target location.

17. A system comprising:

one or more storage devices; and

a controller coupled to the one or more storage devices and configured to:

receive an instruction to rekey data on the one or more storage devices to correspond to desired encryption information;

determine that the data on the one or more storage devices was decrypted using correct encryption information; and

based on the determining, modify metadata associated with the data on the one or more storage devices to correspond to the desired encryption information.

18. The storage system of claim 17 , the controller further configured to:

receive an instruction to read the data on the one or more storage devices;

encrypt the data on the one or more storage devices using the desired encryption information to generate encrypted data; and

provide the encrypted data.

19. The storage system of claim 17 , wherein the desired encryption information comprises:

an identifier of: a desired key, a desired encryption algorithm, and a desired initialization vector scheme.

20. The storage system of claim 17 wherein the rekey instruction is part of a Small Computer System Interface (SCSI), Non-Volatile Memory Express (NVMe), Presentational State Transfer (REST), or vStorage Application Programming Interface for Storage Awareness (VASA) instruction set.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Sep 2, 2021
From: SAPUNTZAKIS, CONSTANTINE P.; VIJAYASANKAR, KIRON; FRANDZEL, YUVAL
To: PURE STORAGE, INC.
Reel/Frame 057365/0647 →
Continuity (2)
Continuation 16172329 · Oct 26, 2018
Related Publication 20210397722A1 · Dec 23, 2021