Advanced elastic launch for trusted execution environments
AssigneeRed Hat, Inc.
InventorMichael Tsirkin
Life of this patent
Estimating the term…
Abstract
A system includes a memory, a processor in communication with the memory, and a first TEE instance. The first TEE instance is configured to maintain an encrypted secret, obtain a cryptographic measurement associated with a second TEE instance, validate the cryptographic measurement, and provision the second TEE instance with the encrypted secret. Additionally, the first TEE instance and the second TEE instance are both configured to service at least a first type of request.
Claims20
A system comprising:
- a memory;
- a processor in communication with the memory;
- and
- a first trusted execution environment (“TEE”) instance configured to:
- maintain an encrypted secret;
- establish a connection with a second TEE instance while the second TEE instance does not have the encrypted secret, wherein the connection is established while the second TEE instance is engaged in a startup process, and wherein the second TEE instance needs the encrypted secret to complete the startup process;
- obtain a cryptographic measurement associated with the second TEE instance;
- validate the cryptographic measurement by comparing the cryptographic measurement to a trusted reference measurement;
- and
- after establishing the connection, and based on determining that the cryptographic measurement is valid, provision the second TEE instance with the encrypted secret, wherein the second TEE instance is configured to complete the startup process at least in part by using the encrypted secret from the first TEE instance, and wherein the first TEE instance and the second TEE instance are each configured to maintain the encrypted secret and independently provision a future TEE instance using the encrypted secret.
A method comprising:
- maintaining, by a first TEE instance, an encrypted secret;
- establishing, by the first TEE instance, a connection with a second TEE instance while the second TEE instance does not have the encrypted secret, wherein the connection is established while the second TEE instance is engaged in a startup process, and wherein the second TEE instance needs the encrypted secret to complete the startup process;
- obtaining, by the first TEE instance, a cryptographic measurement associated with the second TEE instance;
- validating, by the first TEE instance, the cryptographic measurement by comparing the cryptographic measurement to a trusted reference measurement;
- and
- after establishing the connection, and based on determining that the cryptographic measurement is valid, provisioning the second TEE instance with the encrypted secret, wherein the second TEE instance is configured to complete the startup process at least in part by using the encrypted secret from the first TEE instance, and wherein the first TEE instance and the second TEE instance are each configured to maintain the encrypted secret and independently provision a future TEE instance using the encrypted secret.
A non-transitory machine-readable medium storing code, which when executed by a processor is configured to:
- maintain an encrypted secret in a memory associated with a first application instance;
- establish a connection with a second application instance while the second application instance does not have the encrypted secret, wherein the connection is established while the second application instance is engaged in a startup process, and wherein the second application instance needs the encrypted secret to complete the startup process;
- obtain a cryptographic measurement associated with the second application instance;
- validate the cryptographic measurement by comparing the cryptographic measurement to a trusted reference measurement;
- and
- after establishing the connection, and based on determining that the cryptographic measurement is valid, provision the second application instance with the encrypted secret, wherein the second application instance is configured to complete the startup process at least in part by using the encrypted secret from the first application instance, and wherein the first application instance and the second application instance are each configured to maintain the encrypted secret and independently provision a future application instance using the encrypted secret.
Dependencies are inferred from the claim text.