IP Library Granted Patent US 11,962,576
Granted Patent B2
US 11,962,576 · App. 17/973,664 · Granted Apr 16, 2024

Enclave interactions

Inventors: Anna Sapek (Kirkland, WA); Uday Savagaonkar (Redmond, WA); Jeffrey Thomas Andersen (Kirkland, WA); Thomas Michael Roeder (Kirkland, WA)
Assignee: Google LLC
H04L63/08H04L9/0844H04L63/0428H04L63/101G06Q30/0185
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,962,576
App. No.
17/973,664
Filed
Oct 26, 2022
Granted
Apr 16, 2024
Kind
B2
Art Unit
2492
USPC
726/7
Abstract

Aspects of the disclosure provide various methods relating to enclaves. For instance, a method of authentication for an enclave entity with a second entity may include receiving, by one or more processors of a host computing device of the enclave entity, a request and an assertion of identity for the second entity, the assertion including identity information for the second identity; using an assertion verifier of the enclave entity to determine whether the assertion is valid; when the assertion is valid, extracting the identity information; authenticating the second entity using an access control list for the enclave entity to determine whether the identity information meets expectations of the access control list; when the identity information meets the expectations of the access control list, completing the request.

Claims (40)

1. A method of establishing a communication channel between an enclave entity and a second entity, the method comprising:

receiving, by one or more processors of a host computing device of the enclave entity, a request to initiate the communication channel from the second entity;

negotiating, by the one or more processors with the second entity, one or more types of assertions of identity to be exchanged between the enclave entity and the second entity;

negotiating, by the one or more processors with the second entity, a record protocol for the communication channel and a secret key for cryptographically protecting traffic sent over the communication channel; and

in response to negotiating the one or more types of assertions of identity, the record protocol, and the secret key, communicating, by the one or more processors with the second entity, using the record protocol and the secret key to encrypt and authenticate data exchanged over the communication channel.

2. The method of claim 1 , further comprising conducting, by the one or more processors, an attestation and authentication process to verify an identity of the second entity, wherein the attestation and authentication process comprises:

receiving an assertion of the identity of the second entity; and

verifying the assertion of the identity of the second entity.

3. The method of claim 2 , wherein the attestation and authentication process further comprises authorizing the second entity based on identity information extracted from the assertion of the identity of the second entity.

4. The method of claim 2 , further comprising aborting the communication channel when the enclave entity is unable to verify the identity of the second entity.

5. The method of claim 2 , wherein the attestation and authentication process further comprises sending an assertion of an identity of the enclave entity to the second entity.

6. The method of claim 2 , wherein negotiating the record protocol occurs before conducting the attestation and authentication process.

7. The method of claim 2 , wherein the one or more types of assertions of identity are used in the assertion and authentication process.

8. The method of claim 1 , wherein negotiating the one or more types of assertions of identity comprises identifying one or more types of assertions that the enclave entity is capable of generating and verifying.

9. The method of claim 1 , wherein negotiating the one or more types of assertions of identity comprises receiving one or more types of assertions that the second entity is capable of generating and verifying.

10. The method of claim 1 , wherein the record protocol is a message passing protocol for sending application-level data when communicating with the second entity over the communication channel.

11. The method of claim 1 , wherein the record protocol is negotiated before the secret key is negotiated.

12. A system comprising:

one or more processors; and

one or more storage devices coupled to the one or more processors and storing instructions that, when executed by the one or more processors, cause the one or more processors to perform operations for establishing a communication channel between an enclave entity and a second entity, the operations comprising:

receiving, by the enclave entity, a request to initiate the communication channel from the second entity;

negotiating, by the one or more processors with the second entity, one or more types of assertions of identity to be exchanged between the enclave entity and the second entity;

negotiating, by the enclave entity with the second entity, a record protocol for the communication channel and a secret key for cryptographically protecting traffic sent over the communication channel; and

in response to negotiating the one or more types of assertions of identity, the record protocol, and the secret key, communicating, by the enclave entity with the second entity, using the record protocol and the secret key to encrypt and authenticate data exchanged over the communication channel.

13. The system of claim 12 , wherein the operations further comprise conducting, by the enclave entity, an attestation and authentication process to verify an identity of the second entity, wherein the attestation and authentication process comprises:

receiving an assertion of the identity of the second entity; and

verifying the assertion of the identity of the second entity.

14. The system of claim 13 , wherein the attestation and authentication process further comprises authorizing the second entity based on identity information extracted from the assertion of the identity of the second entity.

15. The system of claim 13 , wherein the operations further comprise aborting the communication channel when the enclave entity is unable to verify the identity of the second entity.

16. The system of claim 13 , wherein the one or more types of assertions of identity are used in the assertion and authentication process.

17. The system of claim 12 , wherein the record protocol is a message passing protocol for sending application-level data when communicating with the second entity over the communication channel.

18. A non-transitory computer readable medium for storing instructions that, when executed by one or more processors, cause the one or more processors to perform operations for establishing a communication channel between an enclave entity and a second entity, the operations comprising:

receiving, by the enclave entity, a request to initiate the communication channel from the second entity;

negotiating, by the one or more processors with the second entity, one or more types of assertions of identity to be exchanged between the enclave entity and the second entity;

negotiating, by the enclave entity with the second entity, a record protocol for the communication channel and a secret key for cryptographically protecting traffic sent over the communication channel; and

in response to negotiating the one or more types of assertions of identity, the record protocol, and the secret key, communicating, by the enclave entity with the second entity, using the record protocol and the secret key to encrypt and authenticate data exchanged over the communication channel.

19. The non-transitory computer readable medium of claim 18 , wherein the operations further comprise conducting, by the enclave entity, an attestation and authentication process to verify an identity of the second entity, wherein the attestation and authentication process comprises:

receiving an assertion of the identity of the second entity; and

verifying the assertion of the identity of the second entity.

20. The non-transitory computer-readable medium of claim 19 , wherein the attestation and authentication process further comprises authorizing the second entity based on identity information extracted from the assertion of the identity of the second entity.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Oct 26, 2022
From: SAPEK, ANNA; SAVAGAONKAR, UDAY; ANDERSEN, JEFFREY THOMAS; ROEDER, THOMAS MICHAEL
To: GOOGLE LLC
Reel/Frame 061542/0715 →
Continuity (3)
Continuation 17046547
Provisional Application 62664463 · Apr 30, 2018
Related Publication 20230039096A1 · Feb 9, 2023
Cited By (4)
US 12,306,996 US 12,417,294 US 12,499,263 US 12,541,617