IP Library Granted Patent US 11,455,409
Granted Patent B2
US 11,455,409 · App. 16/175,221 · Granted Sep 27, 2022

Storage layer data obfuscation

Inventors: James Fisher (Golden, CO); Brian Gold (Los Altos, CA); Taylor Ericson (Centennial, CO); Ronald Karr (Palo Alto, CA)
Assignee: PURE STORAGE, INC.
G06F21/6218G06F3/065G06F3/067G06F3/0623G06F16/212G06F16/221
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,455,409
App. No.
16/175,221
Granted
Sep 27, 2022
Kind
B2
Abstract

Storage layer data obfuscation, including: determining a subset of a dataset to obfuscate in accordance with a security policy; generating, based at least in part on the security policy, an obfuscated snapshot of the dataset that is representative of the dataset with the subset of the dataset obfuscated; and sending, to a target computer system, the obfuscated snapshot from which a restored version of the dataset includes the subset of the dataset obfuscated.

Claims (40)

1. A method comprising:

determining, by a processor during a write operation to a storage system, a sensitive subset of a dataset to obfuscate in accordance with a security policy;

indicating in metadata for the dataset that the sensitive subset of the dataset is to be obfuscated;

generating, by the storage system and according to the security policy and a schedule, an obfuscated snapshot of the dataset by obfuscating the sensitive subset of the dataset based on the metadata for the dataset, wherein the sensitive subset remains obfuscated to an untrusted target computer system at a time that the untrusted target computer system restores the dataset from the obfuscated snapshot, and wherein the obfuscated snapshot captures the state of the dataset at a specific point in time with the sensitive subset obfuscated; and

providing, to one or more untrusted target computer systems, the obfuscated snapshot for restoration of the dataset corresponding to the specific point in time with the sensitive subset of the dataset obfuscated at the one or more untrusted target computer systems.

2. The method of claim 1 , wherein generating the obfuscated snapshot is performed by a controller of a storage system.

3. The method of claim 2 , wherein the storage system is within a trusted computing environment in accordance with the security policy, and wherein the untrusted target computer system is not within a trusted computing environment in accordance with the security policy.

4. The method of claim 1 , wherein the dataset comprises a structured database that is structured in accordance with a schema.

5. The method of claim 4 , wherein generating the obfuscated snapshot further comprises:

interpreting the dataset in accordance with the schema to determine one or more columns of data to obfuscate.

6. The method of claim 1 , wherein the dataset is unstructured data, and wherein generating the obfuscated snapshot further comprises:

interpreting the dataset to determine one or more types of data to obfuscate, wherein the one or more types are specified by one or more of: a user or one or more rule sets.

7. The method of claim 1 , wherein the security policy specifies permissions for users within different computing environment, wherein the security policy specifies one or more portions or types of data correspond to one or more of the permissions for users, wherein the security policy specifies access limitations to allow access only to datasets that have been correctly obfuscated, and wherein the obfuscated snapshot is tagged with metadata specifying the security policy used to obfuscate the obfuscated snapshot.

8. An apparatus comprising:

a computer processor configured to implement an obfuscation engine; and

a computer memory operatively coupled to the computer processor, the computer memory having disposed within it computer program instructions implementing the obfuscation engine that, when executed by the computer processor, cause the apparatus to perform:

determining, by the computer processor during a write operation to a storage system, a sensitive subset of a dataset to obfuscate in accordance with a security policy;

indicating in metadata for the dataset that the sensitive subset of the dataset is to be obfuscated;

generating, by the storage system and according to the security policy and a schedule, an obfuscated snapshot of the dataset by obfuscating the sensitive subset of the dataset based on the metadata for the dataset, wherein the sensitive subset remains obfuscated to an untrusted target computer system at a time that the untrusted target computer system restores the dataset from the obfuscated snapshot, and wherein the obfuscated snapshot captures the state of the dataset at a specific point in time with the sensitive subset obfuscated; and

providing, to one or more untrusted target computer systems, the obfuscated snapshot for restoration of the dataset corresponding to the specific point in time with the sensitive subset of the dataset obfuscated at the one or more untrusted target computer systems.

9. The apparatus of claim 8 , wherein generating the obfuscated snapshot is performed by a controller of a storage system.

10. The apparatus of claim 9 , wherein the storage system is within a trusted computing environment in accordance with the security policy, and wherein the untrusted target computer system is not within a trusted computing environment in accordance with the security policy.

11. The apparatus of claim 8 , wherein the dataset comprises a structured database that is structured in accordance with a schema.

12. The apparatus of claim 11 , wherein the computer program instructions implementing the obfuscation engine further cause the apparatus to perform:

interpreting the dataset in accordance with the schema to determine one or more columns of data to obfuscate.

13. The apparatus of claim 8 , wherein the computer program instructions implementing the obfuscation engine further cause the apparatus to perform:

interpreting the dataset to determine one or more types of data to obfuscate, wherein the one or more types are specified by one or more of: a user or one or more rule sets.

14. The apparatus of claim 8 , wherein the security policy specifies permissions for users within different computing environment, wherein the security policy specifies one or more portions or types of data correspond to one or more of the permissions for users, wherein the security policy specifies access limitations to allow access only to datasets that have been correctly obfuscated, and wherein the obfuscated snapshot is tagged with metadata specifying the security policy used to obfuscate the obfuscated snapshot.

15. A computer program product disposed upon a non-transitory computer readable medium, the computer program product comprising computer program instructions that, when executed, cause a computer to perform:

determining, by a processor during a write operation to a storage system, a sensitive subset of a dataset to obfuscate in accordance with a security policy;

indicating in metadata for the dataset that the sensitive subset of the dataset is to be obfuscated;

generating, by the storage system and according to the security policy and a schedule, an obfuscated snapshot of the dataset by obfuscating the sensitive subset of the dataset based on the metadata for the dataset, wherein the sensitive subset remains obfuscated to an untrusted target computer system at a time that the untrusted target computer system restores the dataset from the obfuscated snapshot, and wherein the obfuscated snapshot captures the state of the dataset at a specific point in time with the sensitive subset obfuscated; and

providing, to one or more untrusted target computer systems, the obfuscated snapshot for restoration of the dataset corresponding to the specific point in time with the sensitive subset of the dataset obfuscated at the one or more untrusted target computer systems.

16. The computer program product of claim 15 , wherein generating the obfuscated snapshot is performed by a controller of a storage system.

17. The computer program product of claim 16 , wherein the storage system is within a trusted computing environment in accordance with the security policy, and wherein the untrusted target computer system is not within a trusted computing environment in accordance with the security policy.

18. The computer program product of claim 15 , wherein the dataset comprises a structured database that is structured in accordance with a schema.

19. The computer program product of claim 18 , the program instructions, when executed, further cause the computer to perform:

interpreting the dataset in accordance with the schema to determine one or more columns of data to obfuscate.

20. The computer program product of claim 15 , the program instructions, when executed, further cause the computer to perform:

interpreting the dataset to determine one or more types of data to obfuscate, wherein the one or more types are specified by one or more of: a user or one or more rule sets.

Assignments (3)
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 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Oct 30, 2018
From: FISHER, JAMES; GOLD, BRIAN; ERICSON, TAYLOR; KARR, RONALD
To: PURE STORAGE, INC.
Reel/Frame 047359/0125 →
Cited By (3)
US 12,474,996 US 12,619,471 US 12,706,917