Obtención del documento de atestación de NitroTPM - Amazon Elastic Compute Cloud

Obtención del documento de atestación de NitroTPM

El documento de atestación es un componente esencial del proceso de atestación de NitroTPM. Contiene una serie de mediciones criptográficas que se pueden utilizar para verificar la identidad de la instancia y demostrar que ejecuta únicamente software confiable. Puede utilizar el documento de atestación con AWS KMS, que proporciona compatibilidad integrada para la atestación de NitroTPM, o crear sus propios mecanismos criptográficos de atestación.

La utilidad nitro-tpm-attest permite recuperar un documento de atestación de NitroTPM firmado para una instancia de Amazon EC2 durante el tiempo de ejecución.

La descripción de la imagen de muestra de Amazon Linux 2023 instala automáticamente la utilidad en la imagen compilada, dentro del directorio /usr/bin/. Esto garantiza que la utilidad esté preinstalada en las instancias que se lanzan con la AMI. No es necesario instalar la utilidad manualmente. Para obtener más información, consulte Compilación de la descripción de imagen de Amazon Linux 2023 de muestra.

Instalación de la utilidad nitro-tpm-attest

Si utiliza Amazon Linux 2023, puede instalar la utilidad nitro-tpm-attest desde el repositorio de Amazon Linux de la siguiente manera:

sudo yum install aws-nitro-tpm-tools

Uso de la utilidad nitro-tpm-attest

La utilidad proporciona un único comando (nitro-tpm-attest) para recuperar el documento de atestación. El comando devuelve el documento de atestación codificado en Concise Binary Object Representation (CBOR) y firmado mediante CBOR Object Signing and Encryption (COSE).

Cuando se ejecuta el comando, es posible especificar los siguientes parámetros opcionales:

  • public-key: una clave pública que puede utilizar AWS KMS o un servicio externo para cifrar los datos de respuesta antes de su devolución. Esto garantiza que solo el destinatario previsto, que posee la clave privada, pueda descifrar los datos. Por ejemplo, si se realiza una atestación con AWS KMS, el servicio cifra los datos en texto plano con la clave pública incluida en el documento de atestación y devuelve el texto cifrado en el campo CiphertextForRecipient de la respuesta. Solo se admiten claves RSA.

  • user-data: los datos de usuario se pueden utilizar para enviar cualquier información adicional firmada a un servicio externo. Estos datos de usuario se pueden emplear para completar un protocolo acordado entre la instancia solicitante y el servicio externo. No se utiliza para la atestación con AWS KMS.

  • nonce: el valor nonce se puede emplear para establecer autenticación de desafío y respuesta entre la instancia y el servicio externo, con el fin de ayudar a prevenir ataques de suplantación El uso de un valor nonce permite que el servicio externo verifique que interactúa con una instancia activa y no con un suplantador que reutiliza un documento de atestación antiguo. No se utiliza para la atestación con AWS KMS.

Recuperación del documento de atestación

Utilice el siguiente comando y parámetros opcionales:

/usr/bin/nitro-tpm-attest \ --public-key rsa_public_key \ --user-data user_data \ --nonce nonce

Para un ejemplo completo que muestra cómo generar un par de claves RSA y cómo solicitar una atestación con la clave pública, consulte el repositorio de GitHub nitro-tpm-attest.