MEE Cache Design for Replay Protection and Power Efficiency
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Current memory encryption technologies fail to provide comprehensive protection against both passive and active attacks, particularly lacking integrity and replay protection, which allows attackers to compromise encrypted data by replaying older snapshots.
Innovation Solution
A memory encryption engine (MEE) with a novel cache design that incorporates cryptographic mechanisms for encryption, integrity protection, and replay protection, utilizing a counter tree-based approach and metadata-only caching to efficiently verify and authenticate data integrity and authenticity, while employing a Metadata Usage Based (MUB) cache replacement policy for optimized performance and power efficiency.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Reliability
If traditional encryption schemes are used without integrity and replay protection, then implementation is simpler and faster, but security is compromised allowing attackers to replay encrypted data snapshots
Solution Approach 1:
The patent applies preliminary action by pre-computing and storing authentication tags (MACs) and counters in the MEE cache before data access operations. This allows the system to verify data integrity and detect replay attacks quickly during actual operations, enhancing security without adding significant overhead during critical data access paths.
Solution Approach 2:
The patent introduces an intermediary component - the MEE cache - that sits between the memory encryption/decryption process and the main processing system. This cache stores cryptographic metadata (authentication tags, counters) and handles verification operations, isolating the complexity of integrity and replay protection from the main encryption scheme while maintaining security.
2Reliability
If comprehensive integrity and replay protection mechanisms are implemented, then security against active attacks is improved, but memory access overhead and power consumption increase
Solution Approach 1:
The patent applies local quality by implementing protection mechanisms selectively in the MEE cache for frequently accessed cryptographic metadata, rather than applying uniform protection to all memory operations. The cache stores authentication tags and counters locally, enabling fast verification of only the critical cryptographic data that requires integrity and replay protection, thereby reducing overall power consumption compared to protecting all memory accesses.
Solution Approach 2:
By pre-loading authentication tags and counters into the MEE cache before they are needed, the system performs verification operations on cached data rather than accessing main memory repeatedly. This preliminary action reduces the number of high-power memory accesses required during integrity verification, thereby lowering overall power consumption while maintaining security.
3Productivity
If cryptographic metadata is cached to reduce memory access overhead, then performance is improved, but cache management complexity and power consumption increase
Solution Approach 1:
The MEE cache pre-loads and stores cryptographic metadata (authentication tags, counters) before they are needed for verification. This preliminary action ensures that when data access operations occur, the cryptographic metadata is already in the cache, eliminating the need for complex real-time memory management and reducing access overhead.
Solution Approach 2:
The MEE cache is designed to automatically manage its own contents by intercepting and caching cryptographic metadata from memory access operations. The cache self-manages the storage and retrieval of authentication tags and counters without requiring complex external control logic, thereby improving performance while keeping management complexity localized to the cache module itself.
Data Source
AI summary
Apparatuses, systems, and methods for hardware-level data encryption having integrity and replay protection are described. An example electronic device includes a memory encryption engine (MEE) having a MEE cache configured to store a plurality of MEE cache lines, each MEE cache line comprising a plurality of cryptographic metadata blocks, where each metadata block is associated with each of a plurality of encrypted data lines stored in a memory, and each MEE cache line includes a bit vector mapped to the plurality of metadata blocks, where a set bit in the bit vector indicates that the associated metadata block has been accessed by one or more processors, and MEE circuitry configured to select a replacement candidate from the plurality of MEE cache lines for eviction from the MEE cache based on a number of accessed metadata blocks in the replacement candidate as indicated by the associated bit vector.


