Kernel Object Validation for Data Processing Accelerators
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
There is a need for a system to secure communication channels for data processing accelerators, such as AI accelerators, to protect sensitive transactions from unauthorized access and data leakage, as existing methods do not effectively safeguard AI training data and inference outputs.
Innovation Solution
A method and system that verifies kernel objects to be executed by a data processing accelerator using a trusted execution environment, where a runtime library identifies and verifies an executable image of the kernel object with a public key corresponding to a private key used for signing, and transmits the verified image to the accelerator for execution.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Productivity
If kernel objects are executed directly by data processing accelerators without verification, then execution speed and productivity are improved, but security and reliability deteriorate due to unauthorized access and data leakage risks
Solution Approach 1:
The patent implements preliminary verification of kernel objects through digital signature validation before execution. The runtime library verifies the executable image of the kernel object using public key cryptography corresponding to the private key used for signing, ensuring authenticity and integrity prior to transmission to the accelerator
Solution Approach 2:
The patent introduces a runtime library executed within a trusted execution environment (TEE) as an intermediary between the application and the data processing accelerator. This intermediary validates kernel objects and manages secure communication channels, preventing direct unauthorized access while maintaining execution efficiency
2Reliability
If a trusted execution environment with public key verification is implemented, then security and reliability are improved, but device complexity and processing time increase
Solution Approach 1:
The patent extracts the security verification functionality into a dedicated runtime library executed within a trusted execution environment (TEE). This separation isolates complex cryptographic operations from the main system, containing complexity within a secure boundary while preserving overall system simplicity
Solution Approach 2:
The runtime library within the TEE serves multiple functions: verifying digital signatures of kernel objects, managing secure communication channels with accelerators, and protecting sensitive data. This multi-functionality consolidates security operations into a single universal component, reducing overall system complexity
3Reliability
If kernel objects are verified using public key cryptography, then integrity and authenticity are ensured, but processing overhead and execution time increase
Solution Approach 1:
The verification of kernel objects using public key cryptography is performed in advance during system initialization or before execution, rather than during active processing. This preliminary action ensures integrity and authenticity are established beforehand, allowing subsequent operations to proceed without repeated verification overhead
Solution Approach 2:
The patent replaces repeated mechanical verification operations with a single initial verification followed by trusted execution. The TEE maintains the verified state without requiring continuous cryptographic validation, substituting ongoing computational overhead with a trusted hardware-enforced state
Data Source
Figure 1
Figure 2
Figure 3
AI summary
A system receives, at a runtime library executed within a trusted execution environment (TEE) of a host system, a request from an application to invoke a predetermined function to perform a predefined operation. In response to the request, the system identifies a kernel object associated with the predetermined function. The system verifies an executable image of the kernel object using a public key corresponding to a private key that was used to sign the executable image of the kernel object. In response to successfully the system verifies the executable image of the kernel object, transmitting the verified executable image of the kernel object to a data processing (DP) accelerator over a bus to be executed by the DP accelerator to perform the predefined operation.