Hardware Accelerator Security via TEE Controller Segmentation
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Data processing systems face challenges in securely executing complex applications that require confidential data processing, as standard trusted execution environments (TEE) are resource-constrained and insecure rich execution environments (REE) lack sufficient security measures.
Innovation Solution
A data processing system is implemented with a REE and a TEE, where a hardware accelerator is controlled by an accelerator controller in the TEE, restricting access to control registers and using secure memory to protect confidential data, allowing complex applications to run in the REE without requiring a large TEE for software execution.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Reliability
If applications requiring confidential data processing are executed in a TEE, then security is improved, but device resources (memory, processing capacity) are consumed excessively
Solution Approach 1:
The system segments the execution environment into two parts: the TEE is used only for executing the accelerator controller (a small, security-critical component), while the REE is used for executing the main application. This segmentation allows the application to benefit from security without requiring the entire application to run in resource-constrained secure memory.
Solution Approach 2:
The accelerator controller acts as an intermediary between the application in the REE and the hardware accelerator. It mediates all access to the accelerator and confidential data, providing security enforcement without requiring the application itself to run in the TEE. The controller validates and controls all operations, preventing unauthorized access while allowing efficient execution in the REE.
2Productivity
If applications are executed in the REE, then device resources are utilized efficiently, but security is compromised
Solution Approach 1:
The accelerator controller in the TEE serves as a security intermediary that the REE application must interact with for all accelerator operations. The application runs efficiently in the REE, but its access to confidential data and accelerator resources is controlled by the secure controller, which validates all requests and prevents unauthorized operations.
Solution Approach 2:
Security is applied locally at the accelerator controller level rather than globally across the entire system. The controller implements security checks and controls specifically for accelerator access and confidential data protection, while allowing the rest of the system to operate efficiently in the REE without unnecessary security overhead.
3Adaptability or versatility
If a large TEE is created to support complex applications, then application complexity is accommodated, but resource consumption increases prohibitively
Solution Approach 1:
The system separates the security-critical control functions from the resource-intensive application execution. Only the accelerator controller, which is small and security-critical, runs in the TEE. The complex application runs in the REE with access to full system resources. This segmentation allows support for complex applications without requiring proportionally large secure memory.
Solution Approach 2:
Instead of requiring the entire application to run in the TEE (excessive action), the system applies security partially through the accelerator controller that manages only the critical accelerator interface. This partial security approach is sufficient to protect confidential data while allowing the application to utilize full system resources in the REE.
Data Source
AI summary
A data processing system includes a rich execution environment, a hardware accelerator, a trusted execution environment, and a memory. The REE includes a processor configured to execute an application. A compute kernel is executed on the hardware accelerator and the compute kernel performs computations for the application. The TEE provides relatively higher security than the REE and includes an accelerator controller for controlling operation of the hardware accelerator. The memory has an unsecure portion coupled to the REE and to the TEE, and a secure portion coupled to only the TEE. The secure portion is relatively more secure than the unsecure portion. Data that is to be accessed and used by the hardware accelerator is stored in the secure portion of the memory. In another embodiment, a method is provided for securely executing an application is the data processing system.


