Volatile Memory Data Protection Against Cold Boot Attacks
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Volatile memory in electronic circuits is vulnerable to attacks that cause circuit resets, particularly 'Cold Boot' attacks where the circuit is cooled to slow down the reset process, potentially making secret data accessible during reinitialization.
Innovation Solution
A method involving a separate volatile memory for pattern storage, where a pattern is transferred from non-volatile memory to a dedicated volatile memory upon initialization, and the circuit is periodically powered off and on to verify the number of state changes, using statistical analysis to determine a range of acceptable values, and employing a ring oscillator to detect attacks by analyzing reproducibility of output states.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Speed
If volatile memory is used to store secret data for fast access, then speed of data access is improved, but security against reset attacks deteriorates
Solution Approach 1:
The memory system is segmented into volatile memory (for fast access) and non-volatile memory (for secure storage). The volatile memory stores only temporary data while secret data resides in non-volatile memory, which cannot be easily read or reset. This segmentation allows fast access when needed while maintaining security through physical separation of data storage locations.
Solution Approach 2:
A cryptographic processing unit acts as an intermediary between the volatile memory and external access points. This intermediary controls all access to secret data, encrypting data when stored in volatile memory and decrypting only when necessary for authorized operations. The intermediary prevents direct access to volatile memory contents, thereby protecting against reset attacks while maintaining fast access performance.
2Reliability
If volatile memory is periodically reset to protect data, then security is improved, but time consumption increases
Solution Approach 1:
The secret data is extracted from the volatile memory and stored in non-volatile memory, which does not require periodic resetting. The volatile memory is then used only for temporary processing of encrypted data, eliminating the need to reset the actual secret data storage. This extraction separates the data protection function from the time-consuming reset operation.
Solution Approach 2:
Data is pre-encrypted and stored in non-volatile memory before any processing occurs. When the system needs to access secret data, it retrieves and decrypts only the specific portions needed for current operations, rather than resetting entire memory blocks. This preliminary encryption and selective access reduces the frequency and duration of reset operations.
3Reliability
If reserved memory areas are used for secret data, then security is improved, but device complexity increases
Solution Approach 1:
The system merges the volatile and non-volatile memory into a unified memory management architecture controlled by a single cryptographic processing unit. This unit handles encryption, decryption, and data transfer between memory types through standardized interfaces, reducing the complexity that would arise from managing separate memory systems independently. The unified approach simplifies memory allocation, access control, and security management.
Applied Scientific Principles
This section explains which scientific principles are used to turn an abstract innovation direction into a practical engineering solution.
Function Achieved in This Case
Effectively protects sensitive data by detecting and preventing unauthorized access during reset attacks, ensuring data reliability and security by distinguishing legitimate resets from potential attacks through pattern verification and temperature-dependent state changes.
Implementation Method 1
the pattern is chosen so that said number of bits changing state varies according to the temperature of the integrated circuit
Data Source
Figure 1~2
Figure 3~4
Figure 5~6
AI summary
The invention relates to a method for detecting a cooling attack on an integrated circuit (1) comprising the following steps: transferring (62), into a first volatile memory of the integrated circuit, a pattern stored in a non-volatile memory of the circuit; periodically causing a shutdown (64) and a shutdown (66) of the first volatile memory; verifying (67) that the number of bits that have changed state is within a range of values.