Physically-tagged Data Cache Using Translation Context for Side Channel Mitigation

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Side channel attacks exploit microarchitectural speculation in CPUs to leak sensitive information, such as encryption keys, by manipulating cache behavior and timing differences, which existing security measures fail to adequately mitigate.

Innovation Solution

Incorporating a translation context (TC) into the data cache memory allocation and access logic, ensuring that cache entries are only accessed by the same translation context that allocated them, thereby preventing attackers from exploiting cache hits for sensitive data.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Speed

If speculative execution is enabled to improve CPU performance, then processing speed is improved, but security vulnerabilities increase due to side channel attacks

Engineering Contradiction:
ImproveCPU processing speedVSAvoidside channel attack vulnerability
Core Design Contradiction:
SpeedVSObject-affected harmful factors

Solution Approach 1:

The patent segments the cache access logic by introducing translation context (TC) identification. Each cache entry is tagged with its originating TC, and cache accesses are segmented into different paths based on whether the accessing TC matches the tagged TC. This segmentation prevents cross-TC information leakage while preserving speculative execution within the same TC, thus maintaining performance while improving security.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The patent introduces translation context identification as an intermediary mechanism between the cache controller and cache entries. This intermediary verifies whether an accessing TC is authorized to access a particular cache entry, blocking unauthorized accesses that would otherwise leak sensitive information through side channels, while allowing legitimate speculative accesses to proceed.

Inventive Principle:
Principle #24Intermediary (Mediator)

2Productivity

If cache sharing is implemented to improve resource utilization, then hardware efficiency is improved, but information leakage between translation contexts increases

Engineering Contradiction:
Improvehardware resource utilizationVSAvoidinformation leakage between TCs
Core Design Contradiction:
ProductivityVSLoss of information

Solution Approach 1:

The patent applies local quality by making cache entry accessibility context-dependent. Instead of uniform cache sharing or isolation, each cache entry has its access permissions locally configured based on its TC tag. This allows fine-grained control where each entry can be selectively shared or isolated based on its security requirements, maintaining efficient resource utilization while preventing information leakage.

Inventive Principle:
Principle #3Local quality

3Reliability

If cache access control is strengthened to improve security, then protection against side channel attacks is improved, but cache access performance deteriorates

Engineering Contradiction:
Improvesecurity protectionVSAvoidcache access performance
Core Design Contradiction:
ReliabilityVSProductivity

Solution Approach 1:

The patent implements preliminary action by pre-tagging each cache entry with its originating translation context during the cache allocation phase. This preliminary identification of TC ownership allows the cache controller to make rapid access decisions without complex runtime verification, as the TC match/mismatch can be determined through simple tag comparison, thus maintaining high access performance while ensuring security.

Inventive Principle:
Principle #10Preliminary action

Data Source

PatentUS12118076B2Physically-tagged data cache memory that uses translation context to reduce likelihood that entries allocated during execution under one translation context are accessible during execution under another translation context
Publication Date: 2024.10.15 VENTANA MICRO SYSTEMS INC
  • US12118076B2 patent drawing
  • US12118076B2 patent drawing
  • US12118076B2 patent drawing

AI summary

A physically-tagged data cache memory mitigates side channel attacks by using a translation context (TC). With each entry allocation, control logic uses the received TC to perform the allocation, and with each access uses the received TC in a hit determination. The TC includes an address space identifier (ASID), virtual machine identifier (VMID), a privilege mode (PM) or translation regime (TR), or combination thereof. The TC is included in a tag of the allocated entry. Alternatively, or additionally, the TC is included in the set index to select a set of entries of the cache memory. Also, the TC may be hashed with address index bits to generate a small tag also included in the allocated entry used to generate an access early miss indication and way select.