Hardware Accelerator Security via TEE Controller Segmentation

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

VSEngineering 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

Engineering Contradiction:
ImprovesecurityVSAvoidsecure memory size
Core Design Contradiction:
ReliabilityVSQuantity of substance

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.

Inventive Principle:
Principle #1Segmentation

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.

Inventive Principle:
Principle #24Intermediary (Mediator)

2Productivity

If applications are executed in the REE, then device resources are utilized efficiently, but security is compromised

Engineering Contradiction:
Improveapplication execution efficiencyVSAvoidsecurity
Core Design Contradiction:
ProductivityVSReliability

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.

Inventive Principle:
Principle #24Intermediary (Mediator)

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.

Inventive Principle:
Principle #3Local quality

3Adaptability or versatility

If a large TEE is created to support complex applications, then application complexity is accommodated, but resource consumption increases prohibitively

Engineering Contradiction:
Improveapplication complexity supportVSAvoidsecure memory size
Core Design Contradiction:
Adaptability or versatilityVSQuantity of substance

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.

Inventive Principle:
Principle #1Segmentation

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.

Inventive Principle:
Principle #16Partial or excessive action

Data Source

PatentUS11783055B2Secure application execution in a data processing system
Publication Date: 2023.10.10 NXP BV
  • US11783055B2 patent drawing
  • US11783055B2 patent drawing
  • US11783055B2 patent drawing

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.