Memory Integrity via Random Bit Sampling and Block Cipher Binding
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Conventional memory integrity techniques are vulnerable to corruption attacks, as they either rely on deterministic methods like parity, which can be guessed by adversaries, or high-storage-cost non-deterministic methods that cause performance degradation and power consumption issues due to frequent memory access.
Innovation Solution
The proposed solution involves a memory controller that determines whether unencrypted data has a random distribution of bits using a logic module, implementing an integrity action to prevent access when corruption is detected, and utilizing a block cipher like Threefish with a tweak function to bind data with memory addresses, ensuring diffusion and minimizing the need for integrity values.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Quantity of substance
If conventional parity techniques are used for memory integrity, then storage cost is low and the approach is in-line, but the method is deterministic and can be guessed by adversaries
Solution Approach 1:
The patent changes the fundamental parameter of integrity verification from deterministic parity checks to probabilistic random sampling. By randomly selecting bits from memory locations and verifying their integrity without predetermined patterns, the system achieves both low storage overhead and resistance to adversarial guessing, as the adversary cannot predict which bits will be sampled.
2Reliability
If large codes are used to verify integrity of stored data, then the method is non-deterministic to the adversary, but storage cost becomes relatively high
Solution Approach 1:
The patent extracts only the essential integrity verification function from comprehensive error-correcting codes. Instead of storing and processing large code words, it extracts random samples of memory bits and performs minimal verification operations on these samples, achieving effective integrity verification with negligible storage overhead.
3Reliability
If codes are used each time data is fetched from memory, then integrity verification is thorough, but memory access events increase causing performance degradation and additional power consumption
Solution Approach 1:
The patent applies partial verification by randomly sampling a small subset of memory bits rather than verifying all data. This partial action is sufficient to detect corruption with high probability while minimizing the number of memory access events, thereby avoiding performance degradation and excessive power consumption.
4Measurement precision
If frequent memory access is performed for integrity verification, then detection accuracy improves, but power consumption increases
Solution Approach 1:
The system performs partial verification by randomly sampling a small number of memory bits rather than accessing all data for integrity checks. This approach maintains high detection accuracy for corruption while minimizing memory access frequency and associated power consumption.
Data Source
Figure 1
Figure 2
Figure 3
AI summary
Systems and methods may provide for identifying unencrypted data including a plurality of bits, wherein the unencrypted data may be encrypted and stored in memory. In addition, a determination may be made as to whether the unencrypted data includes a random distribution of the plurality of bits. An integrity action may be implemented, for example, when the unencrypted data includes a random distribution of the plurality of bits.