Provisioning keys for virtual machine secure enclaves
US-2018183580-A1 · Jun 28, 2018 · US
US11443033B2 · US · B2
| Field | Value |
|---|---|
| Publication number | US-11443033-B2 |
| Application number | US-201715414355-A |
| Country | US |
| Kind code | B2 |
| Filing date | Jan 24, 2017 |
| Priority date | Jan 24, 2017 |
| Publication date | Sep 13, 2022 |
| Grant date | Sep 13, 2022 |
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 abstract enclave identity is presented. An abstract identity may be a secure identity that may be the same for multiple related, but not identical, enclave instantiations. An enclave identity value may be determined from an abstract enclave identity type with respect to a instantiated enclave. Various enclave operations may be performed with an abstract identity, such as sealing data to an abstract identity, incrementing a monotonic counter, making trusted time measurement.
Opening claim text (preview).
What is claimed: 1. An enclave identification method performed by a computing device comprising a processor and memory, the method comprising: receiving an identity type and a request for an operation related to an enclave that is instantiated, wherein an enclave image from which the enclave was instantiated includes references to additional dependent enclave images; determining which of the additional dependent enclave images are to be included at least in part as input to a hash function based at least in part on each additional dependent enclave image that is to be included at least in part as input to the hash function being included at least in part in an identity portion of the enclave image that is based at least in part on the identity type; computing the hash function, based at least in part on the identity type and information derived from the enclave image, to provide as an output of the hash function an identity value for the enclave, wherein integrity of the identity value is verifiable by verifying a signature in the enclave image with a public key related to an author of the enclave image; and performing the operation with the identity value to provide security with regard to the enclave. 2. The method of claim 1 , comprising: determining, based at least in part on the identity type, the identity portion of the enclave image; wherein computing the hash function comprises: computing the hash function over the identity portion. 3. The method of claim 2 , wherein the identity portion includes one or more of: (a) binary code copied into a secure enclave container during instantiation of the enclave or (b) one or more identifiers that are not executable code. 4. The method of claim 1 , wherein: the enclave was instantiated with a plurality of enclave images; and the identity type indicates which of the plurality of enclave images are included at least in part in the hash function to determine the identity value. 5. The method of claim 1 , wherein: the operation includes generating an attestation report with the identity value. 6. The method of claim 1 , wherein: the operation includes sealing data to the enclave by sealing data with the identity value. 7. The method of claim 1 , wherein: the operation includes incrementing a monotonic counter, wherein the monotonic counter is identified by the identity value. 8. The method of claim 1 , wherein: the operation includes making a trusted time measurement, wherein the trusted time is determined based on the identity value. 9. The method of claim 1 , wherein the enclave image includes a plurality of identifiers corresponding to a plurality of respective abstract identity types, each of the plurality of identifiers identifying a respective group of enclave instances corresponding to the respective abstract identity type. 10. A system comprising at least a processor and memory storing thereon instructions that, when executed by the system, cause at least: receiving an identity type and a request for an operation related to an enclave that is instantiated, the identity type being useable to identify a plurality of enclaves having at least one common feature, the plurality of enclaves including the enclave that is instantiated; computing a hash function, based at least in part on the identity type and information derived from an enclave image from which the enclave was instantiated, to provide as an output of the hash function an identity value for the enclave, wherein the enclave image includes a plurality of references to a plurality of respective additional dependent enclave images, and wherein integrity of the identity value is verifiable by verifying a signature in the enclave image with a public key related to an author of the enclave image, wherein the identity type indicates which of the additional dependent enclave images are included as input to the hash function; and performing the operation with the identity value to provide security with regard to the enclave. 11. The system of claim 10 , wherein the instructions cause at least: determining, based at least in part on the identity type, an identity portion of the enclave image; and computing the hash function over the identity portion. 12. The system of claim 11 , wherein the identity portion includes one or more of: (a) binary code copied into a secure enclave container during instantiation of the enclave or (b) one or more identifiers that are not executable code. 13. The system of claim 10 , wherein: the enclave was instantiated with a plurality of enclave images; and the identity type indicates which of the plurality of enclave images are included at least in part in the hash function to determine the identity value. 14. The system of claim 10 , wherein: the operation includes generating an attestation report with the identity value. 15. The system of claim 10 , wherein: the operation includes sealing data to the enclave by sealing data with the identity value. 16. The system of claim 10 , wherein: the operation includes incrementing a monotonic counter, wherein the monotonic counter is identified by the identity value. 17. The system of claim 10 , wherein: the operation includes making a trusted time measurement, wherein the trusted time is determined based on the identity value. 18. An enclave identification method, comprising: receiving an identity type and a request for an operation related to an enclave that is instantiated, the identity type being useable to identify a plurality of enclaves having at least one common feature, the plurality of enclaves including the enclave that is instantiated; computing a hash function, based at least in part on the identity type and data stored in a container of the enclave, to provide as an output of the hash function an identity value for the enclave, wherein the identity type indicates which of a plurality of enclave images that were used to instantiate the enclave are to be included at least in part in the hash function, wherein the data stored in the container of the enclave includes a plurality of identity values that identify the enclave, and wherein the identity value is determined by selecting amongst the plurality of identity values based on the identity type, and wherein integrity of the identity value is verifiable by verifying a signature in the container with a public key related to a creator of the enclave; and performing the operation with the identity value to provide security with regard to the enclave. 19. The enclave identification method of claim 18 , wherein the operation includes sealing data to the enclave by sealing data with the identity value. 20. The enclave identification method of claim 18 , wherein the operation includes incrementing the monotonic counter that is identifiable using the identity value. 21. The enclave identification method of claim 18 , wherein the operation includes making the trusted time measurement using the identity value. 22. The enclave identification method of claim 18 , wherein the operation includes generating an attestation report with the identity value.
involving digital signatures · CPC title
Certifying or maintaining trusted computer platforms, e.g. secure boots or power-downs, version controls, system software checks, secure updates or assessing vulnerabilities · CPC title
Protecting data integrity, e.g. using checksums, certificates or signatures · CPC title
Hash functions, e.g. MD5, SHA, HMAC or f9 MAC · CPC title
operating in dual or compartmented mode, i.e. at least one secure mode · CPC title
Related publications grouped by family.
Answers are generated from the same data shown on this page.