IP Library Granted Patent US 11,620,387
Granted Patent B2
US 11,620,387 · App. 17/321,356 · Granted Apr 4, 2023

Host attestation

Inventors: Matthew John Campagna (Bainbridge Island, WA); Gregory Alan Rubin (Seattle, WA); Eric Jason Brandwine (Haymarket, VA); Nicholas Alexander Allen (Kirkland, WA); Andrew Kyle Driggs (Seattle, WA)
Assignee: Amazon Technologies, Inc.
G06F21/57G06F21/64H04L9/088H04L9/0877H04L9/14H04L9/3247H04L9/3263H04L63/067H04L63/0823H04L67/01H04L2209/30
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,620,387
App. No.
17/321,356
Granted
Apr 4, 2023
Kind
B2
Abstract

A service provider provides virtual computing services using a fleet of one or more host computer systems. Each of the host computer systems may be equipped with a trusted platform module (“TPM”). The service provider, the host computer systems, and the virtual computing environments generate attestations that prove the integrity of the system. The attestations are signed with a one-time-use cryptographic key that is verifiable against the public keys of the service provider, a host computer system, and a virtual computing environment. The public key of the host computer system is integrated into a hash tree that links the public key of the host computer system to the public key of the service provider. The public key of the virtual computing environment is signed using a one-time-use graphic key issued to the host computer system that hosts the virtual computing environment.

Claims (82)

1. A computer-implemented method, comprising:

acquiring a digital signature of a message;

identifying a cryptographic key used to generate the digital signature;

requesting, from a signature authority, proof that the cryptographic key is valid;

receiving, from a key revocation service that is delegated authority to revoke the cryptographic key by the signature authority, a revocation value and an indication that the cryptographic key is revoked;

cryptographically deriving a verification hash from a combination of a cryptographic hash of the revocation value and a cryptographic hash of a public portion of the cryptographic key; and

confirming that the cryptographic key is revoked by verifying the verification hash against a public key of the signature authority that generated the cryptographic key using a hash tree generated under authority of the signature authority.

2. The computer-implemented method of claim 1 , wherein the key revocation service is provided by the signature authority.

3. The computer-implemented method of claim 1 , wherein:

the hash tree is generated from a set of hashes generated from a set of cryptographic keys that include the cryptographic key; and

a root of the hash tree is the public key of the signature authority.

4. The computer-implemented method of claim 3 , wherein:

the combination of the cryptographic hash of the revocation value and the cryptographic hash of the public portion of the cryptographic key is further combined with at least one additional node of the hash tree;

the verification hash is associated with a non-leaf node of the hash tree; and

the revocation value proves the revocation of a plurality of cryptographic keys of the set of cryptographic keys.

5. A system, comprising:

at least one computing device coupled to a processor and a memory containing instructions that, as a result of being executed, implement one or more services that:

acquire a digital signature;

identify a cryptographic key used to generate the digital signature;

request, from a signature authority, proof that the cryptographic key is valid;

receive, from the signature authority, a revocation value and an indication that the cryptographic key is revoked;

cryptographically derive a verification hash based on the revocation value and a public portion of the cryptographic key; and

confirm that the cryptographic key is revoked by verifying the verification hash against a public key of the signature authority that generated the cryptographic key.

6. The system of claim 5 , wherein the one or more services further:

request, from a confirmation authority, proof that the cryptographic key is not revoked;

receive, from the confirmation authority, a confirmation value;

generate a confirmation hash by determining a hash of a combination of the cryptographic hash of the revocation value and the cryptographic hash of the public portion of the cryptographic key and a cryptographic hash of the confirmation value; and

confirm that the cryptographic key has not been revoked by verifying the confirmation hash against the public key of the signature authority that generated the cryptographic key.

7. The system of claim 5 , wherein the one or more services further:

receive the cryptographic key from the signature authority; and

generate the digital signature using the cryptographic key.

8. The system of claim 5 , wherein cryptographically deriving the verification hash is based on the combination of a cryptographic hash of the revocation value and a cryptographic hash of the public portion of the cryptographic key.

9. The system of claim 8 , wherein:

the verification hash is a hash within a hash tree generated by the signature authority;

the hash tree is generated based on a set of cryptographic keys that include the cryptographic key; and

a root of the hash tree is the public key of the signature authority.

10. The system of claim 9 , wherein:

the combination of the cryptographic hash of the revocation value and the cryptographic hash of the public portion of the cryptographic key is further combined with at least one additional node of the hash tree; and

the revocation value proves the revocation of only one cryptographic key of the set of cryptographic keys.

11. The system of claim 5 , wherein the one or more services further:

request, from a confirmation authority, proof that the cryptographic key is revoked;

receive, from the confirmation authority, a confirmation value;

generate a confirmation hash by determining a hash of a combination of the cryptographic hash of the revocation value and the cryptographic hash of the public portion of the cryptographic key and a cryptographic hash of the confirmation value; and

confirm that the cryptographic key is revoked by verifying the confirmation hash against the public key of the signature authority that generated the cryptographic key.

12. The system of claim 11 , wherein the one or more services further:

as a result of receiving the indication that the cryptographic key is revoked, receive a new cryptographic key from the signature authority; and

generate a new digital signature based on the new cryptographic key.

13. A non-transitory computer-readable storage medium having stored thereon executable instructions that, as a result of being executed by one or more processors of at least one computer system, cause the computer system to at least:

acquire a digital signature associated with a message;

identify a cryptographic key used to generate the digital signature;

request, from a signature authority, proof that the cryptographic key is valid;

receive, from the signature authority, a revocation value and an indication that the cryptographic key is revoked;

cryptographically derive a verification hash from a combination of a cryptographic hash of the revocation value and a cryptographic hash of a public portion of the cryptographic key; and

confirm that the cryptographic key is revoked by verifying the verification hash against a public key of the signature authority that generated the cryptographic key.

14. The non-transitory computer-readable storage medium of claim 13 , wherein the instructions further comprise instructions that, as a result of being executed by the one or more processors, cause the computer system to:

request, from a confirmation authority, proof that the cryptographic key is revoked;

receive, from the confirmation authority, a confirmation value;

generate a confirmation hash by determining a hash of a combination of the cryptographic hash of the revocation value and the cryptographic hash of the public portion of the cryptographic key and a cryptographic hash of the confirmation value; and

confirm that the cryptographic key is revoked by verifying the confirmation hash against the public key of the signature authority that generated the cryptographic key.

15. The non-transitory computer-readable storage medium of claim 13 , wherein the instructions further comprise instructions that, as a result of being executed by the one or more processors, cause the computer system to:

request, from a confirmation authority, proof that the cryptographic key is not revoked;

receive, from the confirmation authority, a confirmation value;

generate a confirmation hash by determining a hash of a combination of the cryptographic hash of the revocation value and the cryptographic hash of the public portion of the cryptographic key and a cryptographic hash of the confirmation value; and

confirm that revocation of the cryptographic key is rescinded by verifying the confirmation hash against the public key of the signature authority that generated the cryptographic key.

16. The non-transitory computer-readable storage medium of claim 13 , wherein the instructions further comprise instructions that, as a result of being executed by the one or more processors, cause the computer system to:

as a result of receiving the indication that the cryptographic key is revoked, receive a new cryptographic key from the signature authority; and

generate a new digital signature for the message.

17. The non-transitory computer-readable storage medium of claim 13 , wherein the instructions further comprise instructions that, as a result of being executed by the one or more processors, cause the computer system to:

receive the cryptographic key from the signature authority; and

generate a digital signature of the message using the cryptographic key.

18. The non-transitory computer-readable storage medium of claim 13 , wherein:

the signature authority is a service running on a remote computer system;

a request for proof that the cryptographic key is valid is submitted to the service running on the remote computer system via a network service interface; and

the revocation value is received as a response to the request via the network service interface.

19. The non-transitory computer-readable storage medium of claim 13 , wherein:

the verification hash is a hash within a hash tree generated by the signature authority;

the hash tree is generated from a set of hashes generated from a set of cryptographic keys that include the cryptographic key; and

a root of the hash tree is the public key of the signature authority.

20. The non-transitory computer-readable storage medium of claim 19 , wherein:

the combination of the cryptographic hash of the revocation value and the cryptographic hash of the public portion of the cryptographic key is further combined with at least one additional node of the hash tree;

the verification hash is associated with a non-leaf node of the hash tree; and

the revocation value proves the revocation of a plurality of cryptographic keys of the set of cryptographic keys.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Mar 2, 2023
From: CAMPAGNA, MATTHEW JOHN; RUBIN, GREGORY ALAN; BRANDWINE, ERIC JASON; ALLEN, NICHOLAS ALEXANDER; DRIGGS, ANDREW KYLE
To: AMAZON TECHNOLOGIES, INC.
Reel/Frame 062861/0406 →
Continuity (3)
Continuation 16298867 · Mar 11, 2019
Division 15389771 · Dec 23, 2016
Related Publication 20210326442A1 · Oct 21, 2021
Cited By (1)
US 12,386,939