SoC Resource Protection via State Machine Segmentation
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Existing System-on-Chip (SoC) technologies face challenges in ensuring safe and secure access and control of resources, as secure software may not be safe, and safe software may be malicious, leading to compromised security and safety when shared resources are accessed by different hardware and software entities.
Innovation Solution
A dual-level protection mechanism using a state machine that restricts state transitions based on the identity of bus masters, ensuring that only authorized safe or secure bus masters can modify resource configurations, with a secure master checking configurations to prevent malicious changes.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Adaptability or versatility
If shared resources are accessible by both secure and non-secure bus masters, then resource utilization and functionality are improved, but security and safety risks increase due to potential malicious access
Solution Approach 1:
The patent segments resource access control into two distinct levels: a first level controlling which bus masters can change resource protection configuration, and a second level controlling interactions between safe and secure bus masters with the resource itself. This segmentation allows different access policies for different operational needs, enabling both secure and non-secure masters to access resources while maintaining security through differentiated control mechanisms.
Solution Approach 2:
The patent introduces a state machine as an intermediary between bus masters and resources. The state machine mediates all access requests, transitioning between states based on the identity and authorization of the bus master. This intermediary enforces security policies by allowing only authorized masters to perform specific state transitions, thus enabling resource sharing while preventing unauthorized or malicious access.
2Reliability
If a single protection level is used for resource access, then device complexity is reduced, but security and safety protection is insufficient
Solution Approach 1:
The patent divides protection into two distinct levels: the first level controls which bus masters can modify resource protection configuration, while the second level controls interactions between safe and secure bus masters with the resource. This segmentation enables targeted security measures at each level, providing comprehensive protection without requiring a single complex monolithic protection mechanism.
Solution Approach 2:
The patent adds a temporal dimension to protection by introducing state transitions. The state machine moves through different states (e.g., configuration state, operational state, secure state), and different bus masters are authorized for different transitions. This dimensional approach to protection allows the system to enforce security policies dynamically based on the current state, enhancing security without requiring static complex protection for all operations.
3Adaptability or versatility
If resource configuration can be changed dynamically, then adaptability is improved, but security risks increase due to potential malicious configuration changes
Solution Approach 1:
The patent implements preliminary authorization checks before allowing configuration changes. The state machine verifies the identity and authorization of the bus master attempting to change resource configuration before permitting the transition. This preliminary verification ensures that only authorized masters can modify configurations, preventing malicious changes while maintaining the ability to dynamically reconfigure resources when authorized.
Solution Approach 2:
The state machine provides feedback mechanisms by monitoring and responding to access requests. When a bus master attempts to change resource configuration, the state machine evaluates the request against stored authorization rules and either permits or denies the transition. This feedback loop ensures that configuration changes are controlled and logged, enabling adaptability while preventing unauthorized modifications through continuous monitoring and enforcement of security policies.
Data Source
AI summary
A System on Chip (SoC), including a plurality of processor cores including a secure master, which is configured to run security software, and a non-secure master, which is configured to run non-security software; a resource configured to be shared by the secure master and the non-secure master; and a state machine configured to protect the resource by allowing only the secure master to transition the resource to a particular state of the state machine, and allowing only the non-secure master to transition the resource to another particular state of the state machine.


