Secure Cache Reservation Using Way Masks for Side-Channel Isolation
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Existing computer architectures lack secure mechanisms for resource allocation, particularly in multiprocessor systems, which can lead to vulnerabilities in cache management and side channel attacks.
Innovation Solution
Implementing a secure cache reservation mechanism using way masks with reserved mask bits to partition the cache into reserved and non-reserved regions, ensuring secure cache allocation and preventing unauthorized access.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Productivity
If a shared cache is used in multiprocessor systems, then cache utilization efficiency is improved, but security vulnerabilities and side channel attacks increase
Solution Approach 1:
The shared cache is segmented into multiple isolated regions using way masks, where each region is assigned to a specific trust domain or security context. This segmentation allows the cache to maintain high utilization through sharing while preventing cross-contamination and side channel attacks between different security domains by physically isolating their cache lines.
2Ease of operation
If cache resources are allocated without secure mechanisms, then resource allocation simplicity is maintained, but unauthorized cache access occurs
Solution Approach 1:
A secure cache management mechanism acts as an intermediary between cache resources and accessing processors. This intermediary uses way masks and trust domain identifiers to automatically enforce access policies, providing secure resource allocation without requiring complex software security management, thus maintaining ease of operation while ensuring reliability.
3Adaptability or versatility
If cache partitioning is implemented without secure mechanisms, then cache resource control is improved, but security vulnerabilities remain
Solution Approach 1:
The cache partitioning mechanism uses asymmetric security attributes by associating each cache way or region with a trust domain identifier. This creates an asymmetric access control model where different trust domains have different levels of access rights to different cache regions, enabling fine-grained resource control while inherently preventing security vulnerabilities through the asymmetric security boundary.
Data Source
Figure 1
Figure 2
Figure 3(A)
AI summary
An apparatus and method for securely reserving resources for trusted execution. For example, one embodiment of a processor comprises: a plurality of cores, each core of the plurality of cores to provide at least one logical processor of a plurality of logical processors; a first plurality of registers, each register of the first plurality of registers to associate a class of service (CLOS) value with a corresponding logical processor of the plurality of logical processors; a second plurality of registers, each register of the second plurality of registers to indicate a portion of a shared resource to be allocated to a corresponding CLOS value; a first control register of a first logical processor of the plurality of logical processors to be configured with a reserved CLOS value associated with a trusted control structure; resource reservation circuitry configurable by secure firmware or software to indicate a reserved portion of the shared resource associated with the reserved CLOS value; and enforcement circuitry to limit access to the reserved portion of the shared resource to threads or logical processors associated with the reserved CLOS value.