GPU Accelerated Trusted Execution Environment Memory Isolation
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Current trusted execution environments (TEEs) do not effectively protect sensitive code and data when they are transmitted to or from peripheral devices like GPUs, as they are primarily designed to secure computations within central processing units (CPUs) and lack comprehensive protection for GPU acceleration.
Innovation Solution
Establishing a unified TEE by creating trusted channels between user applications stored in enclaves and GPU drivers loaded on hypervisors, using page permissions in extended page tables to isolate these channels in physical memory, and executing the GPU driver in a hypervisor to prevent unauthorized access, thereby extending protection to GPU code and data.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Reliability
If TEE is implemented to protect sensitive code and data in CPU computations, then confidentiality and integrity protection is improved, but protection coverage deteriorates because it does not extend to peripheral devices like GPUs
Solution Approach 1:
The TEE architecture is extended from CPU-only protection to multi-device protection including GPUs and other accelerators. The hypervisor-mediated trusted channel framework enables universal protection across different device types, allowing the TEE to serve multiple functions: protecting CPU computations, securing GPU acceleration, and safeguarding data transmission between devices.
Solution Approach 2:
A hypervisor is introduced as an intermediary layer between user applications and peripheral devices. This hypervisor establishes and manages trusted channels, acting as a mediator that enforces security policies and protects sensitive data during transmission to and from GPUs and other accelerators, thereby extending TEE protection beyond the CPU.
2Adaptability or versatility
If trusted channels are established between enclave and GPU driver to extend protection, then protection coverage is improved, but system complexity deteriorates due to additional isolation mechanisms
Solution Approach 1:
The system is segmented into distinct trusted zones: user applications run in enclaves on the CPU, GPU drivers execute in isolated environments on the hypervisor, and trusted channels provide secure communication paths. This segmentation allows protection coverage to be extended to GPUs while managing complexity through clear separation of security responsibilities across different system layers.
Solution Approach 2:
The hypervisor serves as an intermediary that manages the complexity of establishing trusted channels. It handles the isolation mechanisms, memory management, and security policy enforcement, thereby extending protection coverage to peripheral devices while abstracting the complexity from the application layer and device drivers.
3Reliability
If page permissions in EPT are used to isolate trusted channels, then security protection is improved, but memory management complexity deteriorates
Solution Approach 1:
The hypervisor acts as an intermediary that manages extended page table (EPT) configurations for isolating trusted channels. It sets up and maintains the memory isolation mechanisms, handling the complexity of page permission management while providing simplified security guarantees to upper layers. This allows strong security protection through fine-grained memory isolation without burdening applications with memory management complexity.
Data Source
AI summary
Systems and methods for implementing a system architecture to support a trusted execution environment (TEE) with computational acceleration are provided. The method includes establishing a first trusted channel between a user application stored on an enclave and a graphics processing unit (GPU) driver loaded on a hypervisor. Establishing the first trusted channel includes leveraging page permissions in an extended page table (EPT) to isolate the first trusted channel between the enclave and the GPU driver in a physical memory of an operating system (OS). The method further includes establishing a second trusted channel between the GPU driver and a GPU device. The method also includes launching a unified TEE that includes the enclave and the hypervisor with execution of application code of the user application.


