IP Library › Granted Patent US 11,443,033
Granted Patent B2
US 11,443,033 · App. 15/414,355 · Granted Sep 13, 2022

Abstract enclave identity

Inventor: Manuel Costa (Cambridge, GB)
Assignee: Microsoft Technology Licensing, LLC
G06F21/53G06F21/57G06F21/64G06F21/74H04L9/0643H04L9/3247
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,443,033
App. No.
15/414,355
Granted
Sep 13, 2022
Kind
B2
Abstract

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.

Claims (53)

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.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jan 24, 2017
From: COSTA, MANUEL
To: MICROSOFT TECHNOLOGY LICENSING, LLC
Reel/Frame 041068/0103 →
Continuity (1)
Related Publication 20180211035A1 · Jul 26, 2018