Memory Replay Protection via Compression Authentication
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Existing memory encryption schemes are vulnerable to replay attacks, where illegitimate access can overwrite data with old data due to the bijective nature of symmetric encryption, and existing replay protection methods incur significant performance overhead.
Innovation Solution
Implement probabilistic replay protection using compression and pseudorandom functions to authenticate compressed data, ensuring only legitimate entities can access memory, while minimizing performance impact on incompressible data.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Reliability
If symmetric encryption is used for memory protection, then data confidentiality is improved, but the system becomes vulnerable to replay attacks where old data can be overwritten
Solution Approach 1:
The patent applies preliminary action by computing and storing authentication tags (MACs) alongside encrypted data before memory access occurs. When data is written to memory, the system pre-computes authentication tags using a pseudorandom function and stores them with the encrypted data. This preliminary authentication mechanism ensures that before any read operation, the system can verify the authenticity of the data, preventing replay attacks where illegitimate entities attempt to overwrite memory with old encrypted data. The pre-stored tags serve as a baseline for future verification, making the system proactively secure rather than reactively defensive.
2Reliability
If replay protection mechanisms are implemented, then security against replay attacks is improved, but performance overhead increases significantly
Solution Approach 1:
The patent applies parameter changes by dynamically adjusting the authentication mechanism based on data characteristics. The system uses a pseudorandom function with a secret key to generate authentication tags, where the tag length and computation complexity can be optimized. For compressible data, the system applies compression before encryption, which reduces the amount of data requiring authentication tags, thereby reducing the overall overhead. The parameter of authentication tag length can be tuned to balance security strength against performance cost, allowing the system to adapt to different security requirements without uniformly applying heavy protection to all data.
Solution Approach 2:
The patent applies local quality by selectively applying replay protection mechanisms based on data characteristics and access patterns. The system identifies compressible data and applies compression-specific authentication optimizations, while incompressible data receives standard protection. The authentication tag verification is performed locally at the memory controller or cache level rather than requiring full processor intervention, concentrating the security function in the specific component best suited for it. This localized approach minimizes the performance impact on the overall system while maintaining strong security where most needed.
3Quantity of substance
If compression is applied to data before encryption, then storage efficiency is improved, but the complexity of authentication and decryption processes increases
Solution Approach 1:
The patent applies segmentation by separating the authentication function from the encryption and compression functions. The system computes authentication tags on the compressed data separately from the encryption process, storing the tag alongside the encrypted data. This segmentation allows each function (compression, authentication, encryption) to be optimized independently. The authentication tag computation uses a pseudorandom function that operates on the compressed data structure, creating a verification mechanism that is tailored to the compressed format rather than trying to authenticate the original uncompressed data. This separation reduces the complexity of the overall process by avoiding the need to decompress data for authentication purposes.
Data Source
AI summary
Techniques for preventing replay for compressible data are described. In certain examples, a computing system includes a memory; an execution circuitry to execute an instruction to generate a memory request to read a data line from the memory; and a memory controller circuit to: determine that a field of the data line is not set to a conflict indicator value, determine that the field of the data line is set to a compressed indicator value, in response to the determinations, perform a hash of a compressed data field of the data line using a key to generate a tag, compare the tag generated by the hash to a corresponding tag field of the data line, and decompress the compressed data field of the data line, in response to the tag generated by the hash matching the corresponding tag field of the data line, to generate decompressed data.


