Software cryptoprocessor
US-2016224475-A1 · Aug 4, 2016 · US
US9983894B2 · US · B2
| Field | Value |
|---|---|
| Publication number | US-9983894-B2 |
| Application number | US-201414497111-A |
| Country | US |
| Kind code | B2 |
| Filing date | Sep 25, 2014 |
| Priority date | Sep 25, 2013 |
| Publication date | May 29, 2018 |
| Grant date | May 29, 2018 |
A practical reading order for non-experts. Skip the full description unless you need deep technical detail.
What the patent document calls the invention.
A short plain-language summary of the technical disclosure.
Who owns or filed the patent and who is credited as inventor.
Filing, priority, publication, and grant dates set the timeline.
The legal scope of protection — read this for what is actually claimed.
Technology tags used to group this patent with similar filings.
Prior art links and similar publications in this corpus.
Official abstract text for this publication.
An application such as a virtual machine are executed securely using a software-based, full-system emulator within a hardware-protected enclave, such as an SGX enclave. The emulator may thereby be secure even against a malicious underlying host operating system. In some cases, paging is used to allow even a large application may run within a small enclave using paging. Where the application itself uses enclaves, these guest enclaves may themselves be emulated within an emulator enclave such that the guest enclave(s) are nested as sibling enclaves by the emulator.
Opening claim text (preview).
We claim: 1. A system for providing secure execution of an application comprising: at least one processor and a memory; and the memory storing computer code that, when executed: creates by a host operating system (“OS”) an emulator enclave for emulation of a virtual machine (“VM”), wherein the emulator enclave provides a hardware-enforced protected region of an address space of the memory, wherein the emulator enclave is protected from the host OS, and wherein the VM includes quest memory with the emulator enclave being further provided for securely paging the guest memory to an untrusted region of the memory; under control of the emulator enclave, emulates execution of instructions of a guest OS of the VM; and emulates execution of instructions of a guest application for creating a guest enclave for execution of protected code of the guest application wherein the protected code executing in the secure enclave is protected from the guest OS. 2. The system of claim 1 , further including a redirection module comprising code executable on the processor for redirecting execution between each guest enclave and the emulator enclave. 3. The system of claim 2 , in which the redirection module is loaded in an unsecured portion of memory under the control of the host OS. 4. The system of claim 1 , in which the processor has an x86 processor architecture and is configured with Software Guard Extensions (SGX). 5. A method for providing secure execution of an application comprising: creating by a host operating system (“OS”), an emulator enclave for emulation of a virtual machine (“VM”), wherein the emulator enclave provides a hardware-enforced protected region of an address space of a memory, wherein the emulator enclave is protected from the host OS, and wherein the VM includes guest memory with the emulator enclave being further provided for securely paging the guest memory to an untrusted region of the memory; and under control of the emulator enclave, emulating execution of instructions of a guest OS of the VM; and emulating execution of instructions of a guest application for creating a guest enclave for execution of protected code of the guest application wherein the protected code executing in the secure enclave is protected from the guest OS. 6. The method of claim 5 , further comprising emulating instructions creating and managing said guest enclave, such that the guest enclave is nested as a sibling enclave by the emulator enclave. 7. The method of claim 6 , further including redirecting execution between each guest enclave and the emulator enclave. 8. The method of claim 7 , in which the step of redirecting execution is directed from within an unsecured portion of memory under the control of the host OS. 9. The method of claim 5 , in which the processor has an x86 processor architecture and is configured with Software Guard Extensions (SGX). 10. A non-transitory computer-readable storage medium storing instructions, the instructions, when executed by a processor, causing the processor to: create by a host operating system (“OS”) an emulator enclave for emulation of a virtual machine (“VM”), wherein the emulator enclave provides a hardware-enforced protected region of an address space of a memory, wherein the emulator enclave is protected from the host OS, and wherein the VM includes quest memory with the emulator enclave being further provided for securely paging the guest memory to an untrusted region of the memory; and under control of the emulator enclave, emulate execution of instructions of a guest OS of the VM; and emulate execution of instructions of a guest application for creating a guest enclave for execution of protected code of the guest application wherein the protected code executing in the secure enclave is protected from the guest OS. 11. The medium of claim 10 , in which the emulator enclave runs on a host platform, which includes the processor and memory. 12. The medium of claim 11 , further storing instructions, upon execution by the processor, causing the processor to redirect execution using code stored unsecured portion of memory under the control of the host OS. 13. The medium of claim 10 , in which the processor has an x86 processor architecture and is configured with Software Guard Extensions (SGX). 14. The method of claim 5 wherein the emulator enclave is a full-system emulator. 15. The method of claim 14 wherein the host OS creates multiple emulator enclaves, each emulator enclave for an independent emulator, each independent emulator for executing a VM. 16. The method of claim 5 wherein the emulator enclave emulates a central processing unit.
Hypervisor-specific management and integration aspects · CPC title
Guest-host, i.e. hypervisor is an application program itself, e.g. VirtualBox · CPC title
Isolation or security of virtual machine instances · CPC title
Related publications grouped by family.
Answers are generated from the same data shown on this page.