Split security for trusted execution environments
AssigneeRed Hat, Inc.
InventorMichael Tsirkin
Life of this patent
Estimating the term…
Abstract
A system includes a memory, an application TEE instance, an escrow TEE instance, and a server. The server is configured to receive a request to start the application TEE instance and launch the escrow TEE instance provisioned with a secret. The secret is initially accessible from a first location until the escrow TEE instance is provisioned and accessibility to the secret in the first location is restricted after provisioning the escrow TEE instance with the secret. The escrow TEE instance is configured to obtain a cryptographic measurement associated with the application TEE instance, validate the application TEE instance, and provide the secret from a second location to the application TEE instance.
Claims20
A system comprising:
- a memory;
- an application trusted execution environment (“TEE”) instance;
- an escrow TEE instance different from the application TEE instance;
- and
- a server configured to:
- launch the escrow TEE instance provisioned with a secret, wherein the secret is initially accessible from a first location until the escrow TEE instance is provisioned,
- and wherein accessibility to the secret in the first location is restricted after provisioning the escrow TEE instance with the secret, and
- receive a request to start the application TEE instance, and
- wherein the escrow TEE instance is configured to:
- validate the application TEE instance, and
- upon a successful validation of the application TEE instance, provide the secret from a second location to the application TEE instance, wherein the providing of the secret to the application TEE instance allows the application TEE instance to complete the launch;
- upon the receipt of the secret by the application TEE instance, create, by the application TEE instance, a clone TEE instance of the application TEE instance;
- provide the secret to the clone TEE instance by the application TEE instance, wherein the clone TEE instance comprises a service to launch additional clone TEE instances, wherein the clone TEE instance is configured to provide the secret to the additional clone TEE instances;
- and
- disable at least one of the escrow TEE, the application TEE instance, or the clone TEE instance based upon a security breach of at least one of the escrow TEE instance, the application TEE instance, or the clone TEE instance.
A method comprising:
- launching, by a processor, an escrow TEE instance provisioned with a secret, wherein the secret is initially accessible from a first location, and wherein accessibility to the secret in the first location is restricted after provisioning the escrow TEE instance with the secret;
- launching the application TEE instance;
- obtaining, during a launch of the application TEE instance, a cryptographic measurement associated with the application TEE instance;
- validating the application TEE instance;
- based upon a successful validation of the application TEE instance, providing the secret from a second location to the application TEE instance;
- upon the receipt of the secret by the application TEE instance, creating, by the application TEE instance, a clone TEE instance of the application TEE instance;
- and
- providing the secret to the clone TEE instance by the application TEE instance, wherein the clone TEE instance comprises a service to launch additional clone TEE instances, wherein the clone TEE instance is configured to provide the secret to the additional clone TEE instances.
A non-transitory machine-readable medium storing code, which when executed by a processor is configured to:
- launch an escrow TEE instance provisioned with a secret, wherein the secret is initially accessible from a first location, and wherein accessibility to the secret in the first location is restricted after provisioning the escrow TEE instance with the secret;
- receive a request to start an application TEE instance;
- obtain, during a launch of the application TEE instance, a cryptographic measurement associated with the application TEE instance;
- validate, the application TEE instance;
- upon a successful validation of the application TEE instance provide the secret from a second location to the application TEE instance, wherein the providing of the secret to the application TEE instance allows the application TEE instance to complete the launch;
- create a clone TEE instance based on the application TEE instance;
- and
- provide the secret to the clone TEE instance by the application TEE instance, wherein the clone TEE instance includes a clone service to launch additional clone TEE instances and provide the secret to the additional clone TEE instances.
Dependencies are inferred from the claim text.