Deep Neural Network Execution in Trusted Execution Environment
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Existing methods for executing deep neural networks within a trusted execution environment (TEE) face performance bottlenecks and inefficiencies due to complex interactions and scheduling, leading to reduced execution efficiency and increased error rates.
Innovation Solution
The proposed method involves implementing a deep neural network with a hooking portion outside the TEE, where operators in the hooking portion invoke corresponding execution operators within the TEE. This approach allows for the determination of a computation graph during multiple executions, enabling efficient execution of the deep neural network within the TEE.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Reliability
If deep neural network is executed entirely within TEE, then security is improved, but execution efficiency deteriorates due to complex interactions and scheduling
Solution Approach 1:
The deep neural network is segmented into two parts: a hooking portion executed outside TEE and an execution portion executed inside TEE. This segmentation allows security-critical operations to run in the isolated TEE environment while non-critical operations run outside, reducing the overhead of complete TEE execution and improving overall execution efficiency.
Solution Approach 2:
A computation graph is introduced as an intermediary data structure that describes the execution portion of the deep neural network. The computation graph is determined during multiple executions and then used to guide efficient execution within TEE, acting as a mediator between the hooking portion outside TEE and the execution portion inside TEE.
2Productivity
If computation is performed outside TEE, then execution efficiency is improved, but security deteriorates due to potential access and alteration by external programs
Solution Approach 1:
The execution portion that requires high security is extracted and moved into the TEE environment, while the hooking portion that can tolerate lower security levels remains outside. This extraction ensures that sensitive computations are protected from external access and alteration while maintaining overall system efficiency.
Solution Approach 2:
Different portions of the deep neural network are assigned different security qualities: the execution portion operates with high security within TEE, while the hooking portion operates with standard security outside TEE. This local differentiation of security quality allows the system to optimize both security and efficiency in appropriate locations.
3Measurement precision
If multiple executions are performed to determine computation graph, then accuracy of execution path identification is improved, but time consumption increases
Solution Approach 1:
Multiple executions are performed in advance to determine the computation graph before actual deployment. This preliminary action identifies the optimal execution paths and structures the computation graph accordingly, ensuring accurate execution path identification that will guide efficient runtime execution.
Data Source
AI summary
Embodiments of the present disclosure relate to a method, a device, and a computer program product for executing computer programs. The method includes implementing multiple executions of a deep neural network that includes a hooking portion outside a trusted execution environment (TEE), wherein an operator in the hooking portion, when executed outside the TEE, invokes a corresponding execution operator in the TEE. During the period, the method includes determining, on the basis of the invocation of the corresponding execution operator in the TEE by the operator in the hooking portion, a computation graph corresponding to the hooking portion. The method further includes executing, on the basis of the computation graph, the execution operator corresponding to the hooking portion in the TEE during the execution of the deep neural network after the multiple executions.


