Memory Encryption Key Rolling Against Side-Channel Attacks
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Existing computing systems face vulnerabilities from side-channel attacks like DPA and SPA, where attackers can detect encryption keys by monitoring power supply rails, posing a threat to data security in encrypted memory systems.
Innovation Solution
A key management system that tracks encryption key usage and initiates key rolling operations when thresholds are met or suspicious activity is detected, seamlessly transitioning between encryption keys while completing memory requests, using techniques like throttling bandwidth to prevent attackers from obtaining keys.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Reliability
If encryption keys are used to encrypt memory regions, then data security is improved, but the system becomes vulnerable to side-channel attacks where attackers can detect keys by monitoring power rails
Solution Approach 1:
The patent implements dynamic key rolling where encryption keys are periodically changed based on counter thresholds. The system transitions from static key usage to dynamic key rotation, making it difficult for attackers to capture keys through prolonged power analysis monitoring. Keys are rolled from first keys to second keys when counters exceed thresholds, creating temporal variability that disrupts side-channel attacks.
Solution Approach 2:
The system employs periodic key rolling operations triggered when usage counters exceed predetermined thresholds. This periodic key changes mechanism ensures that encryption keys are not used indefinitely, limiting the window of opportunity for attackers to accumulate sufficient power analysis data. The cyclic replacement of keys creates regular security refreshes that counteract continuous monitoring attacks.
2Reliability
If key rolling operations are performed frequently to prevent attacks, then security against side-channel attacks is improved, but system complexity and overhead increase
Solution Approach 1:
The patent divides the key management process into segmented components: separate counters for tracking key usage, distinct threshold levels for triggering rolls, and organized key storage structures. This segmentation allows the system to manage complexity through modular organization rather than monolithic key management, making the system more tractable and maintainable.
Solution Approach 2:
The key management system operates autonomously using self-service mechanisms. Counters automatically increment with memory requests and self-trigger key rolling operations when thresholds are exceeded without external intervention. The system manages its own key lifecycle, reducing operational complexity and eliminating the need for manual key management procedures.
3Reliability
If key rolling is initiated based on memory request counters, then security is improved by limiting key exposure time, but memory access performance may deteriorate due to key switching overhead
Solution Approach 1:
The system applies partial key rolling by selectively rolling keys based on counter thresholds rather than rolling all keys at fixed intervals. This partial action approach rolls keys only when necessary based on usage patterns, avoiding unnecessary key switching overhead while still limiting key exposure time appropriately. The excessive action variant would roll keys more frequently than minimum security requirements, providing a safety margin.
Solution Approach 2:
The patent utilizes parameter changes in the form of adjustable counter thresholds that control when key rolling occurs. By modifying these threshold parameters, the system can balance security requirements against performance considerations. Higher thresholds reduce key rolling frequency and overhead, while lower thresholds enhance security by limiting key exposure. This parameter adjustability allows optimization for different operational contexts.
Data Source
AI summary
Examples herein describe techniques for method of accessing encrypted data. The techniques include receiving, via a memory controller, a first memory request to a first memory region, where the first memory region is encrypted based on a first key, and incrementing, based on the first memory request, a first counter associated with the first key. The techniques further include, in response to determining that the first counter exceeds a first threshold, initiating a key rolling operation to cause the first memory region to be encrypted based on a second key. The techniques further include tracking an address range of the first memory region that has been encrypted based on the second key, and, in response to determining that an address of a second memory request is outside of the address range, causing the second memory request to be completed based on the first key.


