Memory Encryption Tweak Control Against Template Attacks
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Template attacks exploit the limited diffusion in early rounds of block ciphers, allowing attackers to observe power consumption patterns and recover secret keys, rendering existing countermeasures like frequent key changes inefficient and performance-intensive.
Innovation Solution
A system that combines memory addresses with tweak control values using XOR operations, generating different stimuli for each memory location by changing tweak control values, making it difficult for attackers to build templates based on power consumption patterns or other side-channel signals.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Reliability
If frequent key changes are implemented to counter template attacks, then security against side-channel attacks is improved, but system performance deteriorates due to re-encryption requirements
Solution Approach 1:
The encryption key is segmented into a static base key and a dynamic tweak component. The base key remains fixed for performance, while the tweak is changed per memory location to provide variability against template attacks. This segmentation allows security improvement without requiring full key rotation and re-encryption of entire memory spaces.
Solution Approach 2:
Different tweak values are applied to different memory locations, creating local variability in the encryption stimulus. This ensures that even though the base key is static, each memory location has unique encryption characteristics that prevent template attack success, while maintaining overall system performance.
2Productivity
If a single encryption key is used for large portions of memory, then system performance is maintained, but vulnerability to template attacks increases
Solution Approach 1:
The encryption approach is segmented into a static key component and a dynamic tweak component. This allows the system to maintain performance characteristics of single-key encryption while adding the security benefits of key variability through the tweak mechanism, which is changed per memory location without requiring full key rotation.
Solution Approach 2:
Instead of changing the entire encryption key, only the tweak parameter is changed for each memory location. This parameter change approach provides sufficient variability to counter template attacks while minimizing the overhead associated with key management and re-encryption operations.
3Reliability
If tweak control values are changed for each memory location, then protection against template attacks is enhanced, but device complexity increases
Solution Approach 1:
Tweak values are pre-computed and stored in a lookup table indexed by memory address. This preliminary action eliminates the need for complex real-time tweak generation during encryption operations, reducing runtime complexity while maintaining the security benefits of per-location tweak variability.
Solution Approach 2:
A lookup table serves as an intermediary between the memory address and the tweak value. This intermediary structure simplifies the system by providing direct access to pre-computed tweak values, avoiding the need for complex algorithms or operations during the encryption process.
Data Source
Figure 1
Figure 2
Figure 3
AI summary
A method for protecting data includes encrypting information to generate a first tweak, combining a data block with the first tweak, encrypting the tweaked data block to form encrypted data, combining the encrypted data with the first tweak, and providing the combined encrypted data for storage in a memory address. Storing the combined encrypted data at the memory address generates a first stimulus different from a second stimulus generated by storing same encrypted data combined with a second tweak at the memory address. The first stimulus is generated based on the first tweak and the second stimulus is generated based on the second tweak.