Cryptographic certification of secure hosted execution environments
First Claim
Patent Images
1. A method comprising:
- providing a first instruction that causes a security-enabled processor of a computing system to establish a hardware-protected memory area within a memory of the computing system, the security-enabled processor configured to mediate, via one or more gate functions, access to the hardware-protected memory area by all code that executes outside of the hardware-protected memory area; and
providing a second instruction that causes the security-enabled processor, based at least on a request of a client system, to include, in an initial state, software and data identified by the request of the client system in the hardware-protected memory are;
instructing a portion of the software indentified by the request of the client system that is included in the hardware-protected memory area to execute, the portion of the software configured, upon execution, to cause the security-enabled processor to perform the act of generating cryptographic certification of all of contents of the hardware-protected memory area in the initial state;
receiving the cryptographic certification from the security-enabled processor, at least a portion of the cryptographic certification including an attestation created by the security-enabled processor using a private key of the security-enabled processor; and
providing the cryptographic certification to the client system, the cryptographic certification used by the client system based on a comparison of at least the portion of the cryptographic certification to a known cryptographic indication of the software and data identified in the request in the initial state, to determine that the contents of the hardware-protected memory area includes, in the initial state, only the software and data identified in the request, the attestation used by the client system, based at least on a public key associated with the security-enabled processor, to determine that the cryptographic certification of all contents of the hardware-protected memory area in the initial state was created by the security-enabled processor.
2 Assignments
0 Petitions
Accused Products
Abstract
Implementations for providing a secure execution environment with a hosted computer are described. A security-enabled processor establishes a hardware-protected memory area with an activation state that executes only software identified by a client system. The hardware-protected memory area is inaccessible by code that executes outside the hardware-protected memory area. A certification is transmitted to the client system to indicate that the secure execution environment is established, in its activation state, with only the software identified by the request.
224 Citations
20 Claims
-
1. A method comprising:
-
providing a first instruction that causes a security-enabled processor of a computing system to establish a hardware-protected memory area within a memory of the computing system, the security-enabled processor configured to mediate, via one or more gate functions, access to the hardware-protected memory area by all code that executes outside of the hardware-protected memory area; and providing a second instruction that causes the security-enabled processor, based at least on a request of a client system, to include, in an initial state, software and data identified by the request of the client system in the hardware-protected memory are;
instructing a portion of the software indentified by the request of the client system that is included in the hardware-protected memory area to execute, the portion of the software configured, upon execution, to cause the security-enabled processor to perform the act of generating cryptographic certification of all of contents of the hardware-protected memory area in the initial state;receiving the cryptographic certification from the security-enabled processor, at least a portion of the cryptographic certification including an attestation created by the security-enabled processor using a private key of the security-enabled processor; and providing the cryptographic certification to the client system, the cryptographic certification used by the client system based on a comparison of at least the portion of the cryptographic certification to a known cryptographic indication of the software and data identified in the request in the initial state, to determine that the contents of the hardware-protected memory area includes, in the initial state, only the software and data identified in the request, the attestation used by the client system, based at least on a public key associated with the security-enabled processor, to determine that the cryptographic certification of all contents of the hardware-protected memory area in the initial state was created by the security-enabled processor. - View Dependent Claims (2, 3, 4, 5, 6, 20)
-
-
7. One or more computer-readable storage devices comprising a plurality of programming instructions that is executable by one or more processors to cause a computing system to:
-
transmit a request to an application hosting service, the request for a security-enabled processor of the application hosting service to establish a hardware-protected memory area of a memory of the application hosting service, the request identifying software and data to be included in the hardware-protected memory area in an initial state, the security-enabled processor configured to mediate access to the hardware-protected memory area by all code that is executed outside of the protected memory area, the security-enabled processor configured to encrypt all contents of the hardware-protected memory area, a portion of the software to be included in the hardware-protected memory are executable to cause the security-enabled processor to generate a cryptographic certification of all of the contents of the hardware-protected memory area in the initial state; receive the cryptographic certification from the application hosting service, the cryptographic certification including at least an attestation created by the security-enabled processor using a private key of the security-enabled processor; determine, based at least on a comparison of at least a portion of the cryptographic certification to a known cryptographic indication of the software and data in the initial state, that only the software and data identified by the request is included in the hardware-protected memory area in the initial state; and determine, based at least on the attestation and a public key of the security-enabled processor, that the cryptographic certification of all of the contents of the hardware-protected memory area in the initial state is generated by the security-enabled processor. - View Dependent Claims (8, 9, 10, 11, 12, 13)
-
-
14. A computing system comprising:
-
a memory; one or more processors, including a security-enabled processor configured to establish a hardware-protected memory area in the memory, wherein the security-enabled processor is configured to mediate access to the hardware-protected memory area by processes that execute outside of the protected memory area, that security-enabled processor further configured to encrypt all contents of the hardware-protected memory area; and one or more modules stored on the memory and executable by the one or more processors to; receive a request from a client system to establish the hardware-protected memory area, the request including an indication of software and data to be loaded in the hardware-protected memory area in an initial state; cause, at least partly in response to the request, the security-enabled processor to instantiate the hardware-protected memory area and to include in the hardware-protected memory area the software and data in the initial state; cause an instance of a loader module of the software to execute, the loader module configured, upon execution, to transmit to the client system cryptographic certification, signed by a private key of the security-enabled processor, that includes an indicator used by the client system, based on a comparison of the indicator to a known indicator of the software and data in the initial state, that the activation state of the secure execution environment of the hardware-protected memory area includes only the software and data indicated by the request in the initial state, the cryptographic certification further used by the client system, based at least on a public key of the security-enabled processor, to determine that the security-enabled processor generated the indicator. - View Dependent Claims (15, 16, 17, 18, 19)
-
Specification