IP Library Granted Patent US 11,609,766
Granted Patent B2
US 11,609,766 · App. 16/315,890 · Granted Mar 21, 2023

Method and system for protecting data processed by data processing accelerators

Inventors: Yueqiang Cheng (Sunnyvale, CA); Yong Liu (Sunnyvale, CA); Tao Wei (Sunnyvale, CA); Jian Ouyang (Beijing, CN)
Assignees: BAIDU USA LLC; BAIDU.COM TIMES TECHNOLOGY (BEIJING) CO., LTD.; KUNLUNXIN TECHNOLOGY (BEIJING) COMPANY LIMITED
G06F9/4411G06F9/3017G06F9/3877G06F9/545
View Patent ↗
Loading inventors, assignments & file history…
Monitor This Case
Get email alerts when status or documents change.
Order Certified Copies
Most orders are placed with the USPTO same day — all within 24 business hours.
Order via The Patent Place →
Pre-filled with this patent's details
Quick Facts
Patent No.
US 11,609,766
App. No.
16/315,890
Granted
Mar 21, 2023
Kind
B2
Abstract

According to one embodiment, a data processing system performs a secure boot using a security module (e.g., a trusted platform module (TPM)) of a host system. The system verifies that an operating system (OS) and one or more drivers including an accelerator driver associated with a data processing (DP) accelerator is provided by a trusted source. The system launches the accelerator driver within the OS. The system generates a trusted execution environment (TEE) associated with one or more processors of the host system. The system launches an application and a runtime library within the TEE, where the application communicates with the DP accelerator via the runtime library and the accelerator driver.

Claims (36)

1. A computer-implemented method, comprising:

performing a secure boot using a security module of a host system;

verifying that an operating system (OS) and one or more drivers including an accelerator driver associated with a data processing (DP) accelerator is provided by a trusted source;

launching the accelerator driver within the OS;

generating a trusted execution environment (TEE) associated with one or more processors of the host system to protect an application and a runtime library from data intrusions, wherein the runtime library provides a predetermined set of kernels to be launched by the application to perform a task by the DP accelerator, wherein the TEE of the host system includes an I/O manager, wherein the DP accelerator includes an I/O interface which denies the host system from accessing a memory of the DP accelerator, while the I/O manager allows the DP accelerator to only access certain memory blocks of the host system; and

launching the application and the runtime library within the TEE, wherein the application communicates with the DP accelerator via the runtime library and the accelerator driver.

2. The method of claim 1 , wherein the application and the runtime library are statically linked and launched together.

3. The method of claim 1 , wherein the runtime library is launched in the TEE, and after the runtime library is launched, the application is dynamically loaded for launching.

4. The method of claim 1 , further comprising launching other applications on the host system which are memory safe applications.

5. The method of claim 4 , wherein the memory safe applications are implemented by one or more memory safe programming languages.

6. The method of claim 1 , further comprising hardening the application and the runtime library running in the TEE with side channel free algorithms to defend against cache-based side channel attacks.

7. A non-transitory machine-readable medium having instructions stored therein, which when executed by a processor, cause the processor to perform operations, the operations comprising:

performing a secure boot using a security module of a host system;

verifying that an operating system (OS) and one or more drivers including an accelerator driver associated with a data processing (DP) accelerator is provided by a trusted source;

launching the accelerator driver within the OS;

generating a trusted execution environment (TEE) associated with one or more processors of the host system to protect an application and a runtime library from data intrusions, wherein the runtime library provides a predetermined set of kernels to be launched by the application to perform a task by the DP accelerator, wherein the TEE of the host system includes an I/O manager, wherein the DP accelerator includes an I/O interface which denies the host system from accessing a memory of the DP accelerator, while the I/O manager allows the DP accelerator to only access certain memory blocks of the host system; and

launching the application and the runtime library within the TEE, wherein the application communicates with the DP accelerator via the runtime library and the accelerator driver.

8. The machine-readable medium of claim 7 , wherein the application and the runtime library are statically linked and launched together.

9. The machine-readable medium of claim 7 , wherein the runtime library is launched in the TEE, and after the runtime library is launched, the application is dynamically loaded for launching.

10. The machine-readable medium of claim 7 , wherein the operations further comprise launching other applications on the host system which are memory safe applications.

11. The machine-readable medium of claim 10 , wherein the memory safe applications are implemented by one or more memory safe programming languages.

12. The machine-readable medium of claim 7 , wherein the operations further comprise hardening the application and the runtime library running in the TEE with side channel free algorithms to defend against cache-based side channel attacks.

13. A data processing system, comprising:

a security module;

one or more processors coupled to the security module; and

a memory coupled to the processor to store instructions, which when executed by the processor, cause the processor to perform operations, the operations including:

performing a secure boot using the security module for a host system,

verifying that an operating system (OS) and one or more drivers including an accelerator driver associated with a data processing (DP) accelerator is provided by a trusted source,

launching the accelerator driver within the OS,

generating a trusted execution environment (TEE) associated with the one or more processors of the host system to protect an application and a runtime library from data intrusions, wherein the runtime library provides a predetermined set of kernels to be launched by the application to perform a task by the DP accelerator, wherein the TEE of the host system includes an I/O manager, wherein the DP accelerator includes an I/O interface which denies the host system from accessing a memory of the DP accelerator, while the I/O manager allows the DP accelerator to only access certain memory blocks of the host system, and

launching the application and the runtime library within the TEE, wherein the application communicates with the DP accelerator via the runtime library and the accelerator driver.

14. The system of claim 13 , wherein the application and the runtime library are statically linked and launched together.

15. The system of claim 13 , wherein the runtime library is launched in the TEE, and after the runtime library is launched, the application is dynamically loaded for launching.

16. The system of claim 13 , wherein the operations further comprise launching other applications on the host system which are memory safe applications.

17. The system of claim 16 , wherein the memory safe applications are implemented by one or more memory safe programming languages.

18. The system of claim 13 , wherein the operations further comprise hardening the application and the runtime library running in the TEE with side channel free algorithms to defend against cache-based side channel attacks.

Assignments (2)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Oct 15, 2021
From: BAIDU USA LLC; BAIDU.COM TIMES TECHNOLOGY (BEIJING) CO., LTD.
To: BAIDU USA LLC; BAIDU.COM TIMES TECHNOLOGY (BEIJING) CO., LTD.; KUNLUNXIN TECHNOLOGY (BEIJING) COMPANY LIMITED
Reel/Frame 057829/0255 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jan 10, 2019
From: CHENG, YUEQIANG; LIU, YONG; WEI, TAO; OUYANG, JIAN
To: BAIDU USA LLC; BAIDU.COM TIMES TECHNOLOGY (BEIJING) CO., LTD.
Reel/Frame 047953/0613 →
Continuity (1)
Related Publication 20210173666A1 · Jun 10, 2021
Cited By (1)
US 12,542,666