Cache Entry ALLOCATOR Field for Side-Channel Attack Resistance

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Microprocessor caches are vulnerable to side-channel attacks, where unauthorized software can extract sensitive information by detecting changes in cache states correlated with higher privileged software data access, posing a security risk.

Innovation Solution

Incorporating an ALLOCATOR field in cache entries to identify the software domain and implementing specific cache securing strategies for allocation, access, and replacement operations, ensuring that only authorized software domains access or replace cache entries, thereby preventing unauthorized data access.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Speed

If caches are used to improve performance and reduce power consumption, then access time is reduced and energy consumption decreases, but the system becomes vulnerable to side-channel attacks that can extract sensitive information

Engineering Contradiction:
Improveaccess timeVSAvoidside-channel attack vulnerability
Core Design Contradiction:
SpeedVSObject-affected harmful factors

Solution Approach 1:

The cache system is segmented into multiple isolated cache spaces, each associated with a specific software domain identifier. This segmentation prevents unauthorized access between different privilege levels by physically separating cache contents while maintaining performance benefits within each domain.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

A domain identifier field is introduced as an intermediary mechanism between the cache control unit and cache entries. This intermediary verifies authorization before allowing access, replacing direct access and preventing side-channel attacks while maintaining legitimate performance optimization.

Inventive Principle:
Principle #24Intermediary (Mediator)

2Reliability

If hardware protection mechanisms are implemented to prevent unauthorized access to system registers and storage areas, then security is improved, but cache state changes can still leak sensitive information through side-channel attacks

Engineering Contradiction:
Improvehardware protectionVSAvoidsensitive information leakage
Core Design Contradiction:
ReliabilityVSLoss of information

Solution Approach 1:

The cache is divided into multiple isolated spaces with domain identifiers, creating security boundaries that prevent information leakage. Each domain's cache contents are segregated, so even if one domain is compromised, other domains remain protected through physical separation.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

Different cache spaces have different access permissions and domain associations. The cache control unit checks domain identifiers locally at each cache entry to enforce access control, providing fine-grained security that prevents information leakage while allowing legitimate access within domains.

Inventive Principle:
Principle #3Local quality

3Reliability

If an ALLOCATOR field is added to each cache entry to identify software domains, then security against side-channel attacks is improved, but device complexity increases

Engineering Contradiction:
Improvecache securityVSAvoidcache structure complexity
Core Design Contradiction:
ReliabilityVSDevice complexity

Solution Approach 1:

The domain identifier field serves multiple functions simultaneously: it provides security by preventing unauthorized access, enables cache space isolation, and maintains performance through domain-based optimization. This multi-functionality reduces the need for separate security mechanisms, offsetting the added complexity.

Inventive Principle:
Principle #6Universality (Multi-functionality)

Solution Approach 2:

The cache entry structure is extended by adding a domain identifier parameter. This parameter change enables both security enforcement and performance optimization without requiring fundamentally different cache architecture, managing complexity through parameter extension rather than structural overhaul.

Inventive Principle:
Principle #35Parameter changes

4Reliability

If cache entries are isolated by software domain identifiers, then side-channel attacks are prevented, but performance may be penalized due to additional access control checks

Engineering Contradiction:
Improvesecurity against side-channel attacksVSAvoidprocessor performance
Core Design Contradiction:
ReliabilityVSProductivity

Solution Approach 1:

The domain identifier is pre-loaded into the cache control unit before cache access operations. This preliminary action allows the security check to be performed in parallel with cache tag comparison, minimizing the impact on access performance while maintaining security enforcement.

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

The domain identifier comparison is integrated into the existing cache tag comparison logic, allowing security verification to occur continuously alongside normal cache operations. This integration ensures that security checks do not interrupt the useful action of cache access but rather accompany it seamlessly.

Inventive Principle:
Principle #20Continuity of useful action

Data Source

PatentUS11334668B2Cache securing method and device capable of resisting side channel attack
Publication Date: 2022.05.17 PHYTIUM TECH CO LTD
  • US11334668B2 patent drawing
  • US11334668B2 patent drawing
  • US11334668B2 patent drawing

AI summary

A method and a device for securing a cache against side channel attacks are provided. An allocator identifier ALLOCATOR field is added to each cache entry in the present disclosure. Whenever an entry is allocated in the cache, the identifier of the software domain currently running on the processor is filled into the ALLOCATOR field of the allocation entry. When accessing the cache, the cache entry can be hit only if the identifier of the software domain currently running on the processor is identical to the ALLOCATOR field in the cache entry. If the cache entry to be replaced is invalid or its ALLOCATOR field is identical to the identifier of the software domain currently running on the processor, then the existing entry in the cache is replaced directly; otherwise, the entire cache is emptied.