CPU Transaction Security Attributes for SoC Access Control
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
In computing systems, especially those with System on a Chip (SoC) architecture, there is a need for a comprehensive and uniform access control mechanism to ensure secure access to resources across multiple cores and distributed memory, as existing approaches lack a modular and consistent method to determine the privileges of initiators, leading to potential unauthorized access and vulnerabilities.
Innovation Solution
An attributes-based access control model is implemented, using Security Attributes of Initiators (SAIs) generated by hardware, which are persisted across transactions to enforce access policies through policy registers and mappers, ensuring only authorized initiators access secured assets by associating immutable security attributes with each transaction.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Reliability
If traditional access control mechanisms are used in SoC architectures, then implementation simplicity is maintained, but security consistency and modularity across multiple cores and distributed memory are compromised
Solution Approach 1:
The access control mechanism is segmented into distinct components: security attribute generation units in each initiator, attribute attachment to transaction messages, and evaluation logic in targets. This modular segmentation enables consistent security enforcement across multiple cores and distributed memory while maintaining implementation simplicity through standardized interfaces.
Solution Approach 2:
The security attribute mechanism is designed as a universal framework that can be applied to any initiator-target transaction in the SoC, whether between CPU cores, memory controllers, or I/O devices. The same attribute generation, attachment, and evaluation process serves all access control needs, providing consistency without requiring separate mechanisms for different resource types.
2Reliability
If security attributes are generated and evaluated for each transaction, then unauthorized access is prevented, but transaction processing overhead increases
Solution Approach 1:
Security attributes are generated in advance by the initiator before the transaction is initiated, and are attached to the transaction message as it is constructed. This preliminary preparation ensures that authorization evaluation can occur immediately when the transaction reaches the target, without adding retrospective processing delays.
Solution Approach 2:
The security attribute acts as an intermediary carrier that conveys authorization information from the initiator to the target without requiring direct complex evaluation logic in the transaction path. The attribute serves as a self-contained credential that simplifies the target's evaluation process to a straightforward match-check operation.
Data Source
Figure 1
Figure 2
Figure 3a~3b
AI summary
Method, apparatus, and system for qualifying CPU transactions with security attributes. Immutable security attributes are generated for transactions initiator by a CPU or processor core that identifying the execution mode of the CPU/core being trusted or untrusted. The transactions may be targeted to an Input/Output (I/O) device or system memory via which a protected asset may be accessed. Policy enforcement logic blocks are implemented at various points in the apparatus or system that allow or deny transactions access to protected assets based on the immutable security attributes generated for the transactions. In one aspect, a multiple-level security scheme is implemented under which a mode register is updated via a first transaction to indicate the CPU/core is operating in a trusted execution mode, and security attributes are generated for a second transaction using execution mode indicia in the mode register to verify the transaction is from a trusted initiator.