Graphics processing unit accelerated trusted execution environment

US11295008B2 · US · B2

Patent metadata
FieldValue
Publication numberUS-11295008-B2
Application numberUS-202016787610-A
CountryUS
Kind codeB2
Filing dateFeb 11, 2020
Priority dateFeb 13, 2019
Publication dateApr 5, 2022
Grant dateApr 5, 2022

How to read this patent

A practical reading order for non-experts. Skip the full description unless you need deep technical detail.

  1. Title

    What the patent document calls the invention.

  2. Abstract

    A short plain-language summary of the technical disclosure.

  3. Assignees and inventors

    Who owns or filed the patent and who is credited as inventor.

  4. Key dates

    Filing, priority, publication, and grant dates set the timeline.

  5. First independent claim

    The legal scope of protection — read this for what is actually claimed.

  6. CPC / IPC classifications

    Technology tags used to group this patent with similar filings.

  7. Citations and related patents

    Prior art links and similar publications in this corpus.

Abstract

Official abstract text for this publication.

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.

First claim

Opening claim text (preview).

What is claimed is: 1. A method for implementing a system architecture to support a trusted execution environment (TEE) with computational acceleration, comprising: establishing a first trusted channel between a user application stored on an enclave and a graphics processing unit (GPU) driver loaded on a hypervisor, wherein 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); establishing a second trusted channel between the GPU driver and a GPU device; and launching a unified TEE that includes the enclave and the hypervisor with execution of application code of the user application. 2. The method as recited in claim 1 , wherein during the execution of the application code, the unified TEE protects the confidentiality of the application code and data execution in the entire software stack and hardware spaces. 3. The method as recited in claim 1 , further comprising: accelerating computation using the GPU device through the first trusted channel and the second trusted channel, wherein the first trusted channel and the second trusted channel are protected by the unified TEE. 4. The method as recited in claim 1 , wherein establishing the second trusted channel further comprises: leveraging page permissions in the EPT to mark pages shared between the GPU driver and GPU device in the physical memory. 5. The method as recited in claim 4 , wherein the GPU driver and a corresponding user run-time transfers at least one of sensitive code and sensitive data through shared memory to offload workloads to the GPU device. 6. The method as recited in claim 5 , further comprising: marking, by the hypervisor, pages that contain the at least one of sensitive code and sensitive data as only accessible by the GPU driver and the enclave in the EPT whenever transmission is implemented through the shared memory. 7. The method as recited in claim 5 , further comprising: in response to an attempt by untrusted software to access the shared memory, raising a trap to the hypervisor and detecting the attempt as illegal access. 8. The method as recited in claim 1 , wherein establishing the second trusted channel further comprises: performing authentication of the GPU driver at every access to each hardware space through which the GPU device and GPU driver interact. 9. The method as recited in claim 8 , further comprising: in response to an attempt to access by a software other than the GPU driver, implementing at least one of: trapping access to the hypervisor; and preventing the access through authentication. 10. The method as recited in claim 1 , wherein loading the GPU driver into the hypervisor further comprises: running the hypervisor from a most privileged central processing unit (CPU) mode; and isolating the GPU driver from other software that runs in less privileged modes. 11. The method as recited in claim 1 , wherein loading the user application into the enclave further comprises: adding sensitive code and data of the user application and run-time as protected pages into the enclave using an instruction to add a page to an uninitialized enclave. 12. A computer system implementing a system architecture to support a trusted execution environment (TEE) with computational acceleration, comprising: a processor device operatively coupled to a memory device, the processor device being configured to: establish a first trusted channel between a user application stored on an enclave and a graphics processing unit (GPU) driver loaded on a hypervisor, wherein 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); establish a second trusted channel between the GPU driver and a GPU device; and launch a unified TEE that includes the enclave and the hypervisor with execution of application code of the user application. 13. The system as recited in claim 12 , wherein during the execution of the application code, the unified TEE protects the confidentiality of the application code and data execution in the entire software stack and hardware spaces. 14. The system as recited in claim 12 , the processor device is further configured to: accelerate computation using the GPU device through the first trusted channel and the second trusted channel, wherein the first trusted channel and the second trusted channel are protected by the unified TEE. 15. The system as recited in claim 12 , wherein, when establishing the second trusted channel, the processor device is further configured to: leverage page permissions in the EPT to mark pages shared between the GPU driver and GPU device in the physical memory. 16. The system as recited in claim 15 , wherein the GPU driver and a corresponding user run-time transfers at least one of sensitive code and sensitive data through shared memory to offload workloads to the GPU device. 17. The system as recited in claim 16 , wherein the processor device is further configured to: mark, by the hypervisor, pages that contain the at least one of sensitive code and sensitive data as only accessible by the GPU driver and the enclave in the EPT whenever transmission is implemented through the shared memory. 18. The system as recited in claim 16 , wherein the processor device is further configured to: in response to an attempt by untrusted software to access the shared memory, raise a trap to the hypervisor and detect the attempt as illegal access. 19. The system as recited in claim 12 , wherein, when establishing the second trusted channel, the processor device is further configured to: perform authentication of the GPU driver at every access to each hardware space through which the GPU device and GPU driver interact. 20. A computer program product for implementing a system architecture to support a trusted execution environment (TEE) with computational acceleration, the computer program product comprising a non-transitory computer readable storage medium having program instructions embodied therewith, the program instructions executable by a computing device to cause the computing device to perform the method comprising: establishing a first trusted channel between a user application stored on an enclave and a graphics processing unit (GPU) driver loaded on a hypervisor, wherein 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); establishing a second trusted channel between the GPU driver and a GPU device; and launching a unified TEE that includes the enclave and the hypervisor with execution of application code of the user application.

Assignees

Inventors

Classifications

  • operating in dual or compartmented mode, i.e. at least one secure mode · CPC title

  • Secure boot · CPC title

  • G06F21/53Primary

    by executing in a restricted environment, e.g. sandbox or secure virtual machine · CPC title

  • Isolation or security of virtual machine instances · CPC title

  • by securing the transmission between two devices or processes · CPC title

Patent family

Related publications grouped by family.

External sources

Frequently asked questions

Answers are generated from the same data shown on this page.

What does patent US11295008B2 cover?
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 permis…
Who is the assignee on this patent?
Nec Lab America Inc, Nec Corp
What technology area does this patent fall under?
Primary CPC classification G06F21/53. Mapped technology areas include Physics.
When was this patent published?
Publication date Tue Apr 05 2022 00:00:00 GMT+0000 (Coordinated Universal Time) (B2). Legal status and post-grant events are not shown on this page.
What related patents are in patentsdb?
We list 5 related publications on this page (citations in our corpus or others sharing the same primary CPC).