IP Library Granted Patent US 11,061,594
Granted Patent B1
US 11,061,594 · App. 16/827,674 · Granted Jul 13, 2021

Enhanced data encryption in distributed datastores using a cluster-wide fixed random tweak

Inventors: Wenguang Wang (Palo Alto, CA); Vamsi Gunturu (Palo Alto, CA)
Assignee: VMware, Inc.
G06F3/064G06F3/062G06F3/067G06F3/0659G06F3/0664G06F3/0689G06F21/602
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,061,594
App. No.
16/827,674
Granted
Jul 13, 2021
Kind
B1
Abstract

A method for encrypting data in one or more data blocks is provided. The method generates a fixed random tweak. The method receives first and second data blocks to write on at least one physical disk of a set of physical disks associated with a set of host machines. The method applies a fixed random tweak to data indicative of the first data block and data indicative of the second data block to generate, respectively, first and second encrypted data blocks. The method writes first and second entries to a data log in a cache, the first entry comprising a first header and the first encrypted data block and the second entry comprising a second header and the second encrypted data block. The method then writes the first and second encrypted data blocks to the at least one physical disk.

Claims (51)

1. A method for encrypting data in one or more data blocks, the method comprising:

generating a fixed random tweak;

receiving a first data block to write on at least one physical disk of a set of physical disks associated with a set of host machines;

applying the fixed random tweak to data indicative of the first data block to generate a first encrypted data block;

writing a first entry to a data log in a cache, the first entry comprising a first header and the first encrypted data block;

writing the first encrypted data block to the at least one physical disk;

receiving a second data block, different from the first data block, to write on the at least one physical disk;

applying the fixed random tweak to data indicative of the second data block to generate a second encrypted data block;

writing a second entry to the data log, the second entry comprising a second header and the second encrypted data block; and

writing the second encrypted data block to the at least one physical disk.

2. The method of claim 1 , further comprising, before applying the fixed random tweak to the data indicative of the first data block, compressing data in the received first data block to generate the data indicative of the first data block.

3. The method of claim 1 , wherein generating the fixed random tweak comprises generating the fixed random tweak when the set of physical disks associated with the set of host machines is initially formatted and associated with a storage cluster.

4. The method of claim 1 , wherein writing the first and second encrypted data blocks to the at least one physical disk comprises writing the first and second encrypted data blocks to the at least one physical disk as part of a stripe comprising a plurality of additional encrypted data blocks and the first and second encrypted data blocks.

5. The method of claim 4 , wherein writing the first and second encrypted data blocks to the at least one physical disk as part of the stripe comprises writing the first and second encrypted data blocks and the plurality of additional encrypted data blocks on multiple physical disks across multiple host machines without decrypting the encrypted data blocks.

6. The method of claim 1 , wherein at least one of the set of host machines that comprises one of the set of physical disks performs deduplication on encrypted data blocks stored on the one physical disk without decrypting the encrypted data blocks.

7. The method of claim 1 , wherein the applying the fixed random tweak comprises using advanced encryption standard text encryption.

8. A non-transitory computer readable medium comprising instructions that, when executed by one or more processors of a computing system, cause the computing system to perform a method of encrypting data in one or more data blocks, the method comprising:

generating a fixed random tweak;

receiving a first data block to write on at least one physical disk of a set of physical disks associated with a set of host machines;

applying the fixed random tweak to data indicative of the first data block to generate a first encrypted data block;

writing a first entry to a data log in a cache, the first entry comprising a first header and the first encrypted data block;

writing the first encrypted data block to the at least one physical disk;

receiving a second data block, different from the first data block, to write on the at least one physical disk;

applying the fixed random tweak to data indicative of the second data block to generate a second encrypted data block;

writing a second entry to the data log, the second entry comprising a second header and the second encrypted data block; and

writing the second encrypted data block to the at least one physical disk.

9. The non-transitory computer readable medium of claim 8 , wherein the method further comprises:

before applying the fixed random tweak to the data indicative of the first data block, compressing data in the received first data block to generate the data indicative of the first data block.

10. The non-transitory computer readable medium of claim 8 , wherein generating the fixed random tweak comprises generating the fixed random tweak when the set of physical disks associated with the set of host machines is initially formatted and associated with a storage cluster.

11. The non-transitory computer readable medium of claim 8 , wherein writing the first and second encrypted data blocks to the at least one physical disk comprises writing the first and second encrypted data blocks to the at least one physical disk as part of a stripe comprising a plurality of additional encrypted data blocks and the first and second encrypted data blocks.

12. The non-transitory computer readable medium of claim 11 , wherein writing the first and second encrypted data blocks to the at least one physical disk as part of the stripe comprises writing the first and second encrypted data blocks and the plurality of additional encrypted data blocks on multiple physical disks across multiple host machines without decrypting the encrypted data blocks.

13. The non-transitory computer readable medium of claim 8 , wherein at least one of the set of host machines that comprises one of the set of physical disks performs deduplication on encrypted data blocks stored on the one physical disk without decrypting the encrypted data blocks.

14. A computer system, comprising:

a memory; and

a processor coupled to the memory, the processor being configured to:

generate a fixed random tweak;

receive a first data block to write on at least one physical disk of a set of physical disks associated with a set of host machines;

apply the fixed random tweak to data indicative of the first data block to generate a first encrypted data block;

write a first entry to a data log in a cache, the first entry comprising a first header and the first encrypted data block;

write the first encrypted data block to the at least one physical disk;

receive a second data block, different from the first data block, to write on the at least one physical disk;

apply the fixed random tweak to data indicative of the second data block to generate a second encrypted data block;

write a second entry to the data log, the second entry comprising a second header and the second encrypted data block; and

write the second encrypted data block to the at least one physical disk.

15. The computer system of claim 14 , wherein the processor is further configured to:

before applying the fixed random tweak to the data indicative of the first data block, compressing data in the received first data block to generate the data indicative of the first data block.

16. The computer system of claim 14 , wherein generating the fixed random tweak comprises generating the fixed random tweak when the set of physical disks associated with the set of host machines is initially formatted and associated with a storage cluster.

17. The computer system of claim 14 , wherein writing the first and second encrypted data blocks to the at least one physical disk comprises writing the first and second encrypted data blocks to the at least one physical disk as part of a stripe comprising a plurality of additional encrypted data blocks and the first and second encrypted data blocks.

18. The computer system of claim 17 , wherein writing the first and second encrypted data blocks to the at least one physical disk as part of the stripe comprises writing the first and second encrypted data blocks and the plurality of additional encrypted data blocks on multiple physical disks across multiple host machines without decrypting the encrypted data blocks.

19. The computer system of claim 14 , wherein at least one of the set of host machines that comprises one of the set of physical disks performs deduplication on encrypted data blocks stored on the one physical disk without decrypting the encrypted data blocks.

20. The computer system of claim 14 , wherein the applying the fixed random tweak comprises using advanced encryption standard text encryption.

Assignments (2)
CHANGE OF NAME Recorded Apr 15, 2024
From: VMWARE, INC.
To: VMWARE LLC
Reel/Frame 067102/0314 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Mar 23, 2020
From: WANG, WENGUANG; GUNTURU, VAMSI
To: VMWARE, INC.
Reel/Frame 052200/0159 →
Cited By (4)
US 12,306,764 US 12,314,182 US 12,353,734 US 12,443,538