Randomized Cache Partitioning for Low-Overhead Gradual Re-Keying

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Existing cache designs are susceptible to side-channel attacks, leading to information leakage and security vulnerabilities, with current solutions either compromising performance or scalability, or requiring complex software changes.

Innovation Solution

Implement a gradual re-keying scheme for cache-set randomization, combining cache partitioning and skewing to provide different security-performance trade-offs, allowing selective protection levels per partition, and using biased replacement policies to minimize performance impact.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Reliability

If cache-set randomization is implemented to protect against side-channel attacks, then security is improved, but performance deteriorates due to cache flushing and re-keying overhead

Engineering Contradiction:
ImprovesecurityVSAvoidperformance
Core Design Contradiction:
ReliabilityVSProductivity

Solution Approach 1:

The cache is divided into multiple segments, each with its own independent randomization key. This allows selective re-keying of only certain cache segments rather than flushing the entire cache, thereby maintaining security while reducing performance overhead. The segmentation enables granular control over which cache portions require re-randomization based on security requirements.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The cache randomization system implements dynamic re-keying where the randomization key is changed periodically or based on security events. This dynamic approach allows the system to adapt security levels as needed while managing performance impact through controlled re-keying intervals and conditional cache flushing based on security threats.

Inventive Principle:
Principle #15Dynamics

2Reliability

If frequent re-keying is performed to enhance security, then security is improved, but performance deteriorates due to increased cache flushing operations

Engineering Contradiction:
ImprovesecurityVSAvoidre-keying overhead
Core Design Contradiction:
ReliabilityVSLoss of time

Solution Approach 1:

By segmenting the cache into multiple independently re-keyable portions, the system can perform re-keying operations on smaller cache segments rather than the entire cache. This reduces the time and overhead associated with each re-keying operation while maintaining security through cumulative coverage of all segments over time.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The system implements periodic re-keying where cache segments are re-randomized at scheduled intervals rather than continuously. This periodic approach balances security requirements with performance considerations by limiting re-keying frequency to necessary intervals while still providing security protection.

Inventive Principle:
Principle #19Periodic action

3Reliability

If uniform high-security protection is applied to the entire cache, then security is improved, but adaptability deteriorates as different workloads require different protection levels

Engineering Contradiction:
ImprovesecurityVSAvoidsecurity-performance trade-off flexibility
Core Design Contradiction:
ReliabilityVSAdaptability or versatility

Solution Approach 1:

Different cache segments can be assigned different security levels and re-keying frequencies based on the sensitivity of the data they store. This local quality approach allows the system to apply high-security measures to critical cache segments while using lighter protection on less sensitive segments, providing adaptability to different workload requirements and optimizing the security-performance trade-off.

Inventive Principle:
Principle #3Local quality

Data Source

PatentUS20250217295A1Partitioning and/or gradual re-keying of randomized caches
Publication Date: 2025.07.03 INTEL CORP
  • US20250217295A1 patent drawing
  • US20250217295A1 patent drawing
  • US20250217295A1 patent drawing

AI summary

Techniques for partitioning and/or gradual re-keying of randomized caches are described. In certain examples, an apparatus includes an execution circuit to cause a memory access request; a cache to store a plurality of sets, each of the sets to include a plurality of cache lines; and a cache randomizer circuit to generate a randomized index into the plurality of sets of the cache based on an address of the memory access request by encrypting a first subset of bits of the address of the memory access request to generate an encrypted value, and generating the randomized index based on a first subset of bits of the encrypted value. The encrypting is to be based on a first key for a first segment of the cache and a second segment of the cache during a first period, on a second key for the first segment of the cache and the first key for the second segment of the cache during a second period, and on the second key for the first segment of the cache and the second segment of the cache during a third period.