Memory Encryption Using Statistical Counter and Address Merging
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Current memory interfaces face security risks due to physical access, and counter mode encryption increases memory bandwidth and storage overhead by requiring separate counter values to be stored in memory.
Innovation Solution
A computing device merges an integrity value with a counter value for counter mode cryptography, using a statistical counter that increments with probability to combine with memory addresses and other data for encryption, reducing the need for separate counter storage and enhancing security.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Reliability
If counter mode encryption is used to protect memory confidentiality, then security is improved, but memory bandwidth and storage overhead increase due to requiring separate counter values to be stored in memory
Solution Approach 1:
The patent merges the counter value with the memory address by using the address itself as the counter input. This eliminates the need for separate counter storage in memory, as the counter is derived from the address through a hash function or direct use, thereby reducing memory storage overhead while maintaining encryption security.
Solution Approach 2:
The memory address serves dual purposes: it identifies the memory location and simultaneously functions as the counter for encryption. This multi-functionality eliminates the need for dedicated counter storage, reducing overall memory requirements while preserving the security benefits of counter mode encryption.
2Reliability
If counter values are stored in memory as metadata, then encryption can be performed, but additional memory lookups are required which reduce performance
Solution Approach 1:
By combining the counter derivation with the existing memory address access, the patent eliminates separate counter lookup operations. The counter is computed on-the-fly from the address during the normal memory access workflow, avoiding additional memory lookups and improving performance.
3Reliability
If traditional counter mode encryption is used, then data confidentiality is protected, but replay attacks remain a security risk
Solution Approach 1:
The patent uses a dynamic counter that changes with each memory access based on the address and access pattern. This dynamic behavior ensures that encrypted values differ between reads and writes and prevent replay attacks, as the encryption input is constantly changing rather than static.
Data Source
Figure 1
Figure 2
Figure 3
AI summary
Technologies for memory encryption include a computing device to generate a keyed hash of a data line based on a statistical counter value and a memory address to which to write the data line and to store the keyed hash to a cache line. The statistical counter value has a reference probability of incrementing at each write operation. The cache line includes a plurality of keyed hashes and each of the keyed hashes corresponds with a different data line. The computing device further encrypts the data line based on the keyed hash, the memory address, and the statistical counter value.