CPU Transaction Security Attributes for SoC Access Control

Resolve Bottlenecks,
Find Innovative Solutions
Generate 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

VSEngineering 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

Engineering Contradiction:
Improvesecurity consistencyVSAvoidaccess control mechanism complexity
Core Design Contradiction:
ReliabilityVSDevice complexity

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.

Inventive Principle:
Principle #1Segmentation

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.

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

2Reliability

If security attributes are generated and evaluated for each transaction, then unauthorized access is prevented, but transaction processing overhead increases

Engineering Contradiction:
Improveaccess authorizationVSAvoidtransaction processing speed
Core Design Contradiction:
ReliabilityVSProductivity

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.

Inventive Principle:
Principle #10Preliminary action

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.

Inventive Principle:
Principle #24Intermediary (Mediator)

Data Source

PatentEP2972785B1A method, apparatus, system for qualifying CPU transactions with security attributes
Publication Date: 2019.10.16 INTEL CORP
  • EP2972785B1 patent drawingFigure 1
  • EP2972785B1 patent drawingFigure 2
  • EP2972785B1 patent drawingFigure 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.