Cache Entry ALLOCATOR Field for Side-Channel Attack Resistance
Find Innovative SolutionsGenerate 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
Engineering 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
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.
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.
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
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.
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.
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
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.
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.
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
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.
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.
Data Source
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.


