Mutually distrusting enclaves
AssigneeGoogle Inc.
InventorsNicolas Lidzborski, Jonathon Giffin
Life of this patent
Estimating the term…
Abstract
A method for accessing one or more service processes of service includes executing at least one service enclave and executing an enclave sandbox that wraps the at least one service enclave. The at least one service enclave provides an interface to the one or more service processes. The enclave sandbox is configured to establish an encrypted communication tunnel to the at least one service enclave interfacing with the one or more service processes, and communicate program calls to/from the one or more service processes as encrypted communications through the encrypted communication tunnel.
Claims20
A computer-implemented method executed by data processing hardware that causes the data processing hardware to perform operations comprising:
- executing a service enclave providing a first interface to a secure execution environment;
- receiving, from a client device over a network, a program call via a second interface, the client device and the network external to the service enclave;
- encrypting the program call, the encrypted program call comprising cipher text;
- establishing a communication tunnel between the second interface and the first interface of the service enclave interfacing with the secure execution environment;
- communicating the encrypted program call to the service enclave as encrypted communications through the communication tunnel;
- attesting to a key manager external to the communication tunnel;
- and
- after successful attestation to the key manager, obtaining, at the service enclave, a decryption key from the key manager for decrypting the encrypted program call.
A system comprising:
- data processing hardware;
- and
- memory hardware in communication with the data processing hardware, the memory hardware storing instructions that when executed on the data processing hardware cause the data processing hardware to perform operations comprising:
- executing a service enclave providing a first interface to a secure execution environment;
- receiving, from a client device over a network, a program call via a second interface, the client device and the network external to the service enclave;
- encrypting the program call, the encrypted program call comprising cipher text;
- establishing a communication tunnel between the second interface and the first interface of the service enclave interfacing with the secure execution environment;
- communicating the encrypted program call to the service enclave as encrypted communications through the communication tunnel;
- attesting to a key manager external to the communication tunnel;
- and
- after successful attestation to the key manager, obtaining, at the service enclave a decryption key from the key manager for decrypting the encrypted program call.
Dependencies are inferred from the claim text.