Random Tweak Encryption in Distributed Datastores

Resolve Bottlenecks,
Find Innovative Solutions
Generate 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

VSEngineering 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

Engineering Contradiction:
Improveencryption variabilityVSAvoiddata movement efficiency
Core Design Contradiction:
Adaptability or versatilityVSProductivity

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

Inventive Principle:
Principle #10Preliminary action

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

Engineering Contradiction:
Improveencryption implementationVSAvoidre-encryption time
Core Design Contradiction:
Ease of manufactureVSLoss of time

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

Inventive Principle:
Principle #10Preliminary action

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

Engineering Contradiction:
Improvestorage efficiencyVSAvoidencryption management complexity
Core Design Contradiction:
ProductivityVSDevice complexity

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

Inventive Principle:
Principle #24Intermediary (Mediator)

Data Source

PatentUS11573711B2Enhanced data encryption in distributed datastores using random tweaks stored in data blocks
Publication Date: 2023.02.07 VMWARE INC
  • US11573711B2 patent drawing
  • US11573711B2 patent drawing
  • US11573711B2 patent drawing

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.