Cache Memory Masking Using Initialization Vectors Against Side-Channel Attacks
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Existing electronic computers are vulnerable to side-channel attacks, as plaintext data transmitted on internal buses of the system-on-a-chip can be easily obtained, compromising data security.
Innovation Solution
Implementing hardware circuits with masking and demasking modules to protect data and instructions transmitted on internal buses, using encryption and random initialization vectors to mask data and instructions, ensuring they remain encrypted and masked during transmission.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Speed
If data is transmitted in plaintext on internal buses for easy processing, then processing speed is improved, but data security deteriorates due to vulnerability to side-channel attacks
Solution Approach 1:
The data transmitted on internal buses is segmented into multiple shares using secret sharing schemes. Instead of transmitting a single plaintext value, the data is divided into N shares that are transmitted separately. This segmentation prevents side-channel attacks from recovering the original data while maintaining processing efficiency through parallel operations on the shares.
Solution Approach 2:
Random masks are introduced as intermediary elements between the original data and the transmitted shares. These masks act as mediators that obscure the relationship between the plaintext data and the transmitted values, preventing direct observation of sensitive information while allowing legitimate processing to proceed.
2Reliability
If encryption is applied to data transmitted on internal buses, then data security is improved, but processing complexity increases
Solution Approach 1:
The invention changes the parameter representation of data from standard plaintext to secret-shared values. By transforming data into a different parameter space (secret shares), the system achieves security without requiring traditional encryption/decryption operations, thus avoiding the associated processing overhead and complexity.
Solution Approach 2:
Instead of encrypting and decrypting data, the system creates multiple copies (shares) of the data that can be processed in parallel. These copies contain redundant information that allows recovery of the original data through simple addition operations, eliminating the need for complex cryptographic operations while maintaining security.
3Object-affected harmful factors
If masking is applied to all data transmissions, then side-channel attack resistance is improved, but performance overhead increases
Solution Approach 1:
The masking operation is applied periodically at specific points in the data flow rather than continuously. Secret sharing is applied at data input points and before sensitive operations, while intermediate processing steps operate on the already-masked data without requiring additional masking operations, thus reducing overall performance overhead.
Solution Approach 2:
The secret sharing scheme is designed to be self-service in that the masking and unmasking operations are automatically handled through algebraic operations (addition and subtraction) rather than requiring complex cryptographic key management. The system itself manages the masking without external intervention, reducing performance overhead.
Data Source
Figure 1~3
Figure 2~5
AI summary
This process includes: - the generation (144) of an initialization vector, then - the production (146) of a new mask from the generated initialization vector and a secret key, - the masking (148) of a data to be written in an internal cache memory using the new mask constructed to obtain a masked data, - the recording (150), in the same word of the internal cache memory, of the masked data and the generated initialization vector, - the unmasking of the masked data includes: - the extraction (162) of the initialization vector contained in the word, - the reconstruction (164) of the mask from the extracted initialization vector and the secret key, then - the unmasking (166) of the masked data using the new mask thus reconstructed.