# US 2017/0255472 A1 · Remote attestation of host devices

> Agents: this data is available as JSON from the patentgrep API and MCP server — see https://patentgrep.com/llms.txt

- Number: US 2017/0255472 A1
- Document ID: US20170255472A1
- Status: Published application
- Kind: A1
- Application number: 15/483,227
- Filed: 2017-04-10
- Published: 2017-09-07
- Earliest claimed: 2013-04-15
- Assignees: Amazon Technologies, Inc.
- Applicants: Amazon Technologies, Inc.
- Inventors: Nachiketh Rao Potlapally; Rachit Chawla; Jeremy Ryan Volkman; Michael David Marr
- Web page: https://patentgrep.com/patent/US20170255472A1

## CPC

- G06F 9/4401: Bootstrapping (security arrangements therefor G06F21/57)
- G06F 9/4406: {Loading of operating system}
- G06F 11/1417: {Boot up procedures}
- G06F 21/575: {Secure boot}
- G06F 11/1446: Point-in-time backing up or restoration of persistent data
- G06F: ELECTRIC DIGITAL DATA PROCESSING (computer systems based on specific computational models G06N)

## Abstract

Approaches are described for enabling a host computing device to store credentials and other security information useful for recovering the state of the host computing device in a secure store, such as a trusted platform module (TPM) on the host computing device. When recovering the host computing device in the event of a failure (e.g., power outage, network failure, etc.), the host computing device can obtain the necessary credentials from the secure store and use those credentials to boot various services, restore the state of the host and perform various other functions. In addition, the secure store (e.g., TPM) may provide boot firmware measurement and remote attestation of the host computing devices to other devices on a network, such as when the recovering host needs to communicate with the other devices on the network.

## Claims

### Claim 1

(canceled)

### Claim 2

A computer implemented method, comprising:
provisioning a secure store on a host computing device of a resource provider environment to store credentials, the resource provider environment including a plurality of remote computing devices available over a network;
receiving a set of credentials from a remote computing device of the plurality of remote computing devices;
storing the set of credentials in the secure store;
rebooting the host computing device; and
initiating at least one boot service on the host computing device using the set of credentials.

### Claim 3 (depends on 1)

The computer implemented method of claim 1, further comprising:
transmitting the credentials to the remote computing device; and
authenticating the host computing device to the remote computing device using the set of credentials, wherein the host computing device is operable to access at least one service including the boot service over the network.

### Claim 4 (depends on 1)

The computer implemented method of claim 1, further comprising:
determining, during the rebooting, that a failure likely occurred on the host computing device prior to rebooting the host computing device; and
loading, from the secure store, a recovery image for access to a loaded recovery image, the loaded recovery image configured to restore at least a portion of state on the host computing device.

### Claim 5 (depends on 3)

The computer implemented method of claim 3, wherein the recovery image is encrypted and wherein loading the recovery image on the host computing device further comprises at least one of:
decrypting the recovery image by using a first cryptographic key stored in the secure store on the host computing device; or
decrypting a second cryptographic key by using the first cryptographic key stored in the secure store, and decrypting the recovery image by using the second cryptographic key.

### Claim 6 (depends on 3)

The computer implemented method of claim 3, further comprising:
obtaining a boot firmware measurement of the loaded recovery image;
storing the boot firmware measurement in a secure store on the host computing device;
receiving, from a remote computing device, a request to perform attestation of the recovery image loaded onto the host computing device; and
attesting the loaded recovery image to the remote computing device based at least in part on the boot firmware measurement.

### Claim 7 (depends on 5)

The computer implemented method of claim 5, wherein attesting the recovery image loaded on the host computing device further comprises:
sealing the boot firmware measurement recorded in the secure store by using public key infrastructure (PKI); and
transmitting the boot firmware measurement to the remote computing device, wherein the remote computing device inspects the boot firmware measurement to verify that a non-corrupted version of the recovery image is loaded on the host computing device, wherein the attestation of the loaded recovery image is performed by comparing the boot firmware measurement to a stored reference value and verifying that the boot firmware measurement matches the stored reference value.

### Claim 8 (depends on 1)

The computer implemented method of claim 1, wherein the secure store is a trusted platform module (TPM) on the host computing device, and wherein the set of credentials stored in the secure store further comprise a first cryptographic key to decrypt a second cryptographic key, the second cryptographic key used to decrypt a recovery image stored in the secure store.

### Claim 9

A computing device, comprising:
at least one processor; and
memory including instructions that, when executed by the at least one processor, cause the computing device to:
provision a secure store on the computing device of a resource provider environment to store credentials, the resource provider environment including a plurality of remote computing devices available over a network;
receive a set of credentials from a remote computing device of the plurality of remote computing devices;
store the set of credentials in the secure store;
reboot the computing device; and
initiate at least one boot service on the host computing device using the set of credentials.

### Claim 10 (depends on 8)

The computing device of claim 8, wherein the instructions when executed further enable the computing device to:
transmit the set of credentials to the remote computing device; and
authenticate the computing device to the remote computing device using the set of credentials, wherein the computing device is operable to access at least one service including the boot service over the network.

### Claim 11 (depends on 8)

The computing device of claim 8, wherein the instructions when executed further enable the computing device to:
determine, during the reboot, that a failure likely occurred on the computing device prior to rebooting the computing device;
analyze one or more conditions during boot time of the computing device;
detect, based at least in part on the one or more conditions, that a failure occurred on the computing device causing the computing device to terminate abnormally; and
load, in response to detecting that the failure occurred on the computing device, a recovery image into the memory of the computing device to obtain access to a loaded recovery image

### Claim 12 (depends on 10)

The computing device of claim 10, wherein the recovery image is encrypted, and wherein the instructions when executed to load the recovery image on the computing device, further enable the computing device perform one of:
decrypt the recovery image by using a first cryptographic key stored in the secure store on the computing device
decrypt a second cryptographic key by using the first cryptographic key stored in the secure store, and decrypting the recovery image by using the second cryptographic key.

### Claim 13 (depends on 10)

The computing device of claim 10, wherein the instructions when executed further enable the computing device to:
obtain a boot firmware measurement of the loaded recovery image;
store the boot firmware measurement in a secure store on the computing device;
receive, from a remote computing device, a request to perform attestation of the loaded recovery image loaded onto the computing device; and
attest the loaded recovery image to the remote computing device based at least in part on the boot firmware measurement.

### Claim 14 (depends on 12)

The computing device of claim 12, wherein the instructions when executed to attest the loaded recovery image further enable the computing device to:
seal the boot firmware measurement recorded in the secure store by using public key infrastructure (PKI); and
transmit the boot firmware measurement to the remote computing device, wherein the remote computing device inspects the boot firmware measurement to verify that a non-corrupted version of the recovery image is loaded on the computing device.

### Claim 15 (depends on 12)

The computing device of claim 12, wherein the attestation of the loaded recovery image is performed by comparing the boot firmware measurement to a stored reference value and verifying that the boot firmware measurement matches the stored reference value.

### Claim 16 (depends on 8)

The computing device of claim 8, wherein the computing device further includes a normal operating system image, and wherein after a recovery image has completed restoring at least a portion of a state on the computing device, the computing device is rebooted and the normal operating system image is loaded onto the computing device.

### Claim 17

A non-transitory computer readable storage medium storing one or more sequences of instructions executed by at least one processor to cause the at least one processor to:
provision a secure store on a host computing device of a resource provider environment to store credentials, the resource provider environment including a plurality of remote computing devices available over a network;
receive a set of credentials from a remote computing device of the plurality of remote computing devices;
store the set of credentials in the secure store;
reboot the host computing device; and
initiate at least one boot service on the host computing device using the set of credentials.

### Claim 18 (depends on 16)

The non-transitory computer readable storage medium of claim 16, wherein the instructions when executed further enable the at least one processor to:
transmit the set of credentials to the remote computing device; and
authenticate the host computing device to the remote computing device using the set of credentials, wherein the host computing device is operable to access at least one service including the boot service over the network.

### Claim 19 (depends on 16)

The non-transitory computer readable storage medium of claim 16, wherein the instructions when executed further enable the at least one processor to:
determine, during the reboot, that a failure likely occurred on the host computing device prior to rebooting the host computing device;
analyze one or more conditions during boot time of the host computing device;
detect, based at least in part on the one or more conditions, that a failure occurred on the host computing device causing the host computing device to terminate abnormally; and
load, in response to detecting that the failure occurred on the host computing device, a recovery image on the host computing device to obtain access to a loaded recovery image.

### Claim 20 (depends on 18)

The non-transitory computer readable storage medium of claim 18, wherein the recovery image is encrypted, and wherein the instructions when executed to load the recovery image on the host computing device, further enable the at least one processor to:
decrypt the recovery image by using a first cryptographic key stored in the secure store on the host computing device
decrypt a second cryptographic key by using the first cryptographic key stored in the secure store, and decrypting the recovery image by using the second cryptographic key.

### Claim 21 (depends on 19)

The non-transitory computer readable storage medium of claim 19, wherein the instructions when executed further enable the at least one processor to:
obtain a boot firmware measurement of the loaded recovery image;
store the boot firmware measurement in a secure store on the host computing device;
receive, from a remote computing device, a request to perform attestation of the recovery image loaded onto the host computing device; and
attest the loaded recovery image to the remote computing device based at least in part on the boot firmware measurement, wherein the attestation of the loaded recovery image is performed by comparing the boot firmware measurement to a stored reference value and verifying that the boot firmware measurement matches the stored reference value.
