Random Tweak Encryption in Distributed Datastores
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Distributed datastores face inefficiencies in data encryption and decryption processes due to the use of logical or physical block addresses as tweaks, leading to increased encryption/decryption cycles during data movements and deduplication, especially when data is transferred between different tiers.
Innovation Solution
Employing a random tweak for each data block, stored alongside the encrypted data, using the AES-XTS algorithm, which reduces the need for additional decryption and re-encryption during data transfer by encrypting data only once and storing the tweak with it, thus minimizing CPU usage and network bandwidth.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Adaptability or versatility
If logical block addresses (LBAs) or physical block addresses (PBAs) are used as tweaks for encrypting data blocks, then the datastore can generate different encrypted blocks from data blocks with the same clear text, but additional encryption and decryption cycles are required during data movements between tiers
Solution Approach 1:
The patent applies preliminary action by generating and storing the random tweak value together with the encrypted data block in the first tier. This preliminary storage of the tweak eliminates the need to retrieve and re-encrypt data during subsequent movements to the second tier, thereby resolving the contradiction between encryption variability and data movement efficiency
2Ease of manufacture
If PBAs are used as tweaks, then encryption is performed based on physical location, but re-encryption is required when data is moved between tiers with different PBAs
Solution Approach 1:
The patent stores the random tweak value in the first tier alongside the encrypted data block, performing the encryption setup action in advance. This eliminates the need for re-encryption when data moves between tiers, directly addressing the time loss issue while maintaining ease of implementation through the AES-XTS algorithm
3Productivity
If data deduplication is performed with LBAs, then multiple blocks with different LBAs can point to the same physical block, but the datastore cannot determine which LBA should be used for encrypting the data block
Solution Approach 1:
The patent introduces a random tweak value as an intermediary between the encryption key and the data block. This tweak value is stored with the encrypted data, allowing the system to maintain deduplication efficiency while resolving the ambiguity of which LBA to use for encryption, thereby reducing encryption management complexity
Data Source
AI summary
A method for encrypting data in one or more data blocks is provided. The method receives a first data block to be written to a physical storage that includes one or more physical disks. The method applies a first random tweak to data indicative of the first data block to generate a first encrypted data block, and writes the first encrypted data block and the first random tweak to a first physical block of the physical storage. The method receives a second data block to be written to the physical storage. The method then applies a second random tweak, different than the first random tweak, to data indicative of the second data block to generate a second encrypted data block, and writes the second encrypted data block and the second random tweak to a second physical block of the physical storage.


