IP Library › Granted Patent US 9,768,966
Granted Patent B2
US 9,768,966 · App. 14/821,616 · Granted Sep 19, 2017

Peer to peer attestation

Inventors: Darren David Krahn (Saratoga, CA); William Alexander Drewry (Nashville, TN); Sumit Gwalani (Mountain View, CA)
Assignee: Google Inc.
H04L9/3247G06F21/57H04L9/0877H04L9/0897H04L9/3234H04L9/3268H04L63/0823H04L63/123H04L63/0428
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 9,768,966
App. No.
14/821,616
Granted
Sep 19, 2017
Kind
B2
Abstract

Techniques for peer to peer attestation are provided. An example method includes receiving, at a first device, a discovery message from a second device, based on the discovery message, establishing a communication channel between the first device and the second device, receiving, at the first device, identity information from the second device, the identity information including one or more of: a trusted platform module (TPM) endorsement key certificate, a public portion of an identity key, one or more platform control register (PCR) values or a quote of the PCR values with the identity key, verifying, at the first device, one or more of the PCR values, the quote or the endorsement key certificate and authenticating one or more of the communication channel or the identity information of the second device based on the verification of a signature received from the second device.

Claims (49)

1. A computer implemented method comprising:

receiving, at a first device, a discovery message from a second device;

based on the discovery message, establishing a communication channel between the first device and the second device;

receiving, at the first device, identity information from the second device, the identity information including a public portion of an identity key and one or more of: a trusted platform module (TPM) endorsement key certificate, one or more platform control register (PCR) values or a quote of the PCR values with the identity key;

verifying, at the first device, one or more of the PCR values, the quote or the endorsement key certificate; and

based on the verification, sending, from the first device to the second device, a message including a signing key, wherein the signing key includes a random value generated by the first device;

encrypting, at the first device with an endorsement public key, a combination of identity key information and the signing key;

providing the encrypted combination from the first device to the second device;

when a response is received from the second device at the first device after the providing, verifying a signature included in the response; and

authenticating one or more of the communication channel or the identity information from the second device based on the verification of the signature, thereby allowing peer to peer attestation between the first and second devices.

2. The method of claim 1 , wherein the TPM endorsement key certificate is provided by a manufacturer of the second device.

3. The method of claim 1 , wherein the endorsement key certificate is verified against a list of valid endorsement root authorities stored at the first device.

4. The method of claim 1 , wherein the combination is a data structure readable by a TPM at the first device or the second device.

5. The method of claim 1 , wherein the signing key is recovered from the encrypted combination by the second device when a TPM of the second device includes private keys for the endorsement public key and the identity key.

6. The method of claim 5 , wherein the response is received from the second device when the second device is able to recover the signing key from the encrypted combination.

7. The method of claim 1 , wherein the response from the second device includes the signature of the encrypted combination using the signing key, the signing key recovered by the second device.

8. A non-transitory machine-readable medium comprising instructions stored therein, which when executed by a processor, causes the processor to perform operations comprising:

receiving, at a first device, a discovery message from a second device;

based on the discovery message, establishing a communication channel between the first device and the second device;

receiving, at the first device, identity information from the second device, the identity information including a public portion of an identity key and one or more of: a trusted platform module (TPM) endorsement key certificate, one or more platform control register (PCR) values or a quote of the PCR values with the identity key;

verifying, at the first device, one or more of the PCR values, the quote or the endorsement key certificate; and

based on the verification, sending, from the first device to the second device, a message including connectivity information associated with the established communication channel, wherein the connectivity information includes a random value generated by the first device;

encrypting, at the first device with an endorsement public key, a combination of the connectivity information and identity key information;

providing the encrypted combination from the first device to the second device;

when a response is received from the second device at the first device after the providing, verifying a signature included in the response; and

authenticating one or more of the communication channel or the identity information from the second device based on the verification, thereby allowing peer to peer attestation between the first and second devices.

9. The machine-readable medium of claim 8 , wherein the TPM endorsement key certificate is provided by a manufacturer of the second device.

10. The machine-readable medium of claim 8 , wherein the endorsement key certificate is verified against a list of valid endorsement root authorities stored at the first device.

11. The machine-readable medium of claim 8 , wherein the combination is a data structure readable by a TPM at the first device or the second device.

12. The machine-readable medium of claim 8 , wherein the signing key is recovered from the encrypted combination by the second device when a TPM of the second device includes private keys for the endorsement public key and the identity key.

13. The machine-readable of claim 12 , wherein the response is received from the second device when the second device is able to recover the connectivity information from the encrypted combination.

14. The machine-readable medium of claim 8 , wherein the response from the second device includes the signature of the encrypted combination using the connectivity information, the connectivity information recovered by the second device.

15. A system comprising:

a memory comprising instructions; and

a processor configured to execute the instructions to:

receive, at a first device, a discovery message from a second device;

based on the discovery message, establish a communication channel between the first device and the second device;

receive, at the first device, identity information from the second device, the identity information including a public portion of an identity key and one or more of: a trusted platform module (TPM) endorsement key certificate, one or more platform control register (PCR) values, a public portion of an asymmetric signing key, a signature of the public portion of the asymmetric signing key by the identity key, or a quote of the PCR values with the identity key;

verify, at the first device, one or more of the PCR values, the quote, the endorsement key certificate or certification of the asymmetric signing key; and

based on the verification, send, from the first device to the second device, a message including a signing key, wherein the signing key includes a random value generated by the first device;

encrypt, at the first device with an endorsement public key, a combination of identity key information and the signing key;

provide the encrypted combination from the first device to the second device;

when a response is received from the second device at the first device after the providing, verify a signature included in the response; and

authenticate one or more of the communication channel or the identity information from the second device based on the verification of the signature, thereby allowing peer to peer attestation between the first and second devices.

16. The system of claim 15 , wherein the first device retains the asymmetric signing key along with other metadata for the second device to authenticate future connections to the second device.

17. The system of claim 15 , wherein the endorsement key certificate is verified against a list of valid endorsement root authorities stored at the first device.

18. The system of claim 15 , wherein the combination is a data structure readable by a TPM at the first device or the second device.

19. The system of claim 15 , wherein the signing key is recovered from the encrypted combination by the second device when a TPM of the second device includes private keys for the endorsement public key and the identity key.

20. The system of claim 19 , wherein the response is received from the second device when the second device is able to recover the connectivity information from the encrypted combination.

Assignments (2)
CHANGE OF NAME Recorded Oct 2, 2017
From: GOOGLE INC.
To: GOOGLE LLC
Reel/Frame 044097/0658 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Aug 10, 2015
From: KRAHN, DARREN DAVID; DREWRY, WILLIAM ALEXANDER; GWALANI, SUMIT
To: GOOGLE INC.
Reel/Frame 036293/0646 →
Continuity (1)
Related Publication 20170041147A1 · Feb 9, 2017