Cache Memory Indirection Tables for Dynamic Side-Channel Defense
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Existing cache memory management systems, such as Scattercache, suffer from static spatial randomization that can be exploited by side-channel attacks, leading to significant performance degradation due to frequent cache misses when the security key is modified.
Innovation Solution
A dynamic cache management method using indirection tables and bijective correspondence functions to generate random line indexes, allowing for continuous spatial randomization without static key changes, combined with process-specific and shared memory handling to enhance security and performance.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Reliability
If spatial randomization is implemented using a cryptographic function with a secret key to protect against side-channel attacks, then security against cache attacks is improved, but modifying the key during execution causes systematic cache misses that substantially slow down process execution
Solution Approach 1:
The patent implements dynamic key modification during process execution. The key modification unit changes the secret key k at predetermined timing (e.g., when a specific number of cache accesses have occurred or after a certain time period), transforming the static randomization of Scattercache into a dynamic system that continuously evolves the cache mapping without causing systematic misses.
Solution Approach 2:
The patent employs periodic key modification at predetermined intervals during process execution. This periodic action refreshes the spatial randomization mapping, maintaining security against side-channel attacks while allowing the system to recover and adapt, thus preventing the permanent performance degradation that would result from continuous key changes.
2Reliability
If the secret key is modified frequently to enhance security, then resistance to side-channel attacks is improved, but the number of cache misses increases substantially, degrading system performance
Solution Approach 1:
The system dynamically balances security and performance by modifying the key at optimized intervals rather than frequently or statically. The key modification unit responds to predetermined conditions (cache access counts, time periods) to adjust the randomization mapping, maintaining security while minimizing disruptive cache misses.
Solution Approach 2:
The patent changes the parameter of key modification frequency from static (never or only at power-on) to dynamic and periodic. This parameter change allows the system to optimize the balance between security (requiring frequent changes) and performance (requiring fewer changes to avoid cache misses), implementing key modification at scientifically determined intervals.
3Reliability
If static spatial randomization is used to protect cache memory, then security against observation attacks is improved, but the randomization pattern can be exploited by sophisticated side-channel attacks
Solution Approach 1:
The patent transforms static spatial randomization into dynamic randomization by periodically modifying the secret key during execution. This creates continuously evolving cache mapping patterns that adapt to and counteract sophisticated attack patterns, making it extremely difficult for attackers to establish reliable observation models.
Solution Approach 2:
The key modification unit performs preliminary key changes at predetermined timing before attackers can exploit static patterns. By proactively refreshing the randomization mapping based on predicted attack vectors and access patterns, the system stays ahead of evolving threats.
Data Source
Figure 1
Figure 2~3
Figure 4~5
AI summary
This process includes: - the selection (112), based on an address of a word to be read or written, of a first cell in an indirection table and the use, as the first value generated for a row index, of the value contained in this first cell, and - in response to the triggering of a cache fault: - the recording (156) of the word provided from a higher-rank memory in a new row identified by a second value of the row index, this second value being contained in a second cell of the indirection table, and - the permutation (152), in the indirection table, only of the values contained in the first and second cells so that after this permutation the first cell contains the second value and the second cell contains the first value.