Deduplicated Data Encryption Using Deterministic Initialization Vectors

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Existing encryption systems face challenges in generating a non-repeating initialization vector (IV) for deduplication of encrypted data sets, which is essential for protecting against precalculation attacks and ensuring unique ciphertext blocks, while also supporting data deduplication in file systems like ZFS and TrueCrypt.

Innovation Solution

The system generates a cryptographically secure IV using a key'd SHA256 message authentication code (HMAC-SHA256) for deduplicated data sets, derived from the full plaintext block, and a truncated unkey'd SHA256 message digest for non-deduplicated data sets, ensuring unique IVs and enhanced security against attacks.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Reliability

If a non-repeating initialization vector (IV) is generated for each encryption operation, then security against precalculation attacks is improved, but data deduplication capability deteriorates

Engineering Contradiction:
Improvesecurity against precalculation attacksVSAvoiddata deduplication capability
Core Design Contradiction:
ReliabilityVSProductivity

Solution Approach 1:

The patent applies local quality by using different IV generation strategies for different data blocks: deduplicated blocks use a deterministic IV generation method (based on block address and key) that enables deduplication, while non-deduplicated blocks use a random IV generation method that ensures security. This localized application of different quality characteristics resolves the contradiction between security and deduplication capability.

Inventive Principle:
Principle #3Local quality

2Reliability

If a random initialization vector (IV) is generated, then uniqueness of ciphertext blocks is improved, but data deduplication capability deteriorates

Engineering Contradiction:
Improveuniqueness of ciphertext blocksVSAvoiddata deduplication capability
Core Design Contradiction:
ReliabilityVSProductivity

Solution Approach 1:

The patent implements dynamics by making the IV generation method adaptive: the system dynamically selects between random IV generation and deterministic IV generation based on whether the plaintext block is identified as deduplicated. This dynamic adjustment allows the system to optimize for uniqueness when needed and for deduplication when applicable, resolving the contradiction between these two requirements.

Inventive Principle:
Principle #15Dynamics

3Ease of operation

If an initialization vector (IV) is transmitted with the packet, then decryption capability is improved, but communication overhead increases

Engineering Contradiction:
Improvedecryption capabilityVSAvoidcommunication overhead
Core Design Contradiction:
Ease of operationVSQuantity of substance

Solution Approach 1:

The patent extracts the IV from the encryption process for deduplicated blocks by generating it deterministically from the block address and encryption key. This extracted IV is then stored with the ciphertext, allowing the recipient to regenerate the same IV for decryption without requiring transmission of the IV itself in the packet, thereby reducing communication overhead while maintaining decryption capability.

Inventive Principle:
Principle #2Taking out (Extraction)

Data Source

PatentUS8218759B2System and method for encrypting data
Publication Date: 2012.07.10 ORACLE AMERICAN INC
  • US8218759B2 patent drawing
  • US8218759B2 patent drawing

AI summary

A method for encrypting data includes receiving a block of plaintext for a data set at one or more computers, acquiring a cryptographic key for the data set, generating an initialization vector for the block of plaintext based on the block of plaintext, and encrypting the block of plaintext using the cryptographic key and the initialization vector.