Obter o atestado do NitroTPM
O atestado é um componente essencial do processo de atestação do NitroTPM. Ele contém uma série de medidas criptográficas que podem ser usadas para verificar a identidade da instância e provar que ela está executando somente software confiável. Você pode usar o atestado com o AWS KMS, que tem compatibilidade integrada com a atestação do NitroTPM, ou criar seus próprios mecanismos criptográficos de atestação.
O utilitário nitro-tpm-attest permite que você recupere um atestado assinado do NitroTPM para uma instância do Amazon EC2 durante o runtime
O exemplo de descrição de imagem do Amazon Linux 2023 instala automaticamente o utilitário na imagem compilada no diretório /usr/bin/. Isso garante que o utilitário seja pré-instalado nas instâncias iniciadas usando a AMI. Não é necessário instalar o utilitário manualmente. Para obter mais informações, consulte Criar o exemplo de descrição de imagem do Amazon Linux 2023.
Tópicos
Instalar o utilitário nitro-tpm-attest
Se você estiver usando o Amazon Linux 2023, poderá instalar o utilitário nitro-tpm-attest a partir do repositório Amazon Linux como se segue.
sudo yum install aws-nitro-tpm-tools
Usar o utilitário nitro-tpm-attest
O utilitário fornece um único comando, nitro-tpm-attest, para recuperar o atestado. O comando retorna o atestado codificado em Concise Binary Object Representation (CBOR) e assinado usando CBOR Object Signing and Encryption (COSE).
Ao executar o comando, você pode especificar os seguintes parâmetros opcionais:
-
public-key: uma chave pública que pode ser usada pelo AWS KMS ou por um serviço externo para criptografar dados de resposta antes de serem retornados. Isso garante que somente o destinatário pretendido, que possui a chave privada, possa descriptografar os dados. Por exemplo, se você estiver atestando com o AWS KMS, o serviço criptografa os dados de texto simples com a chave pública no atestado e retorna o texto cifrado resultante no campoCiphertextForRecipientda resposta. Compatível somente com chaves RSA. -
user-data: os dados do usuário podem ser usados para entregar dados assinados adicionais a um serviço externo. Esses dados do usuário podem ser usados para concluir um protocolo acordado entre a instância solicitante e o serviço externo. Não usado para atestação com o AWS KMS. -
nonce: o nonce pode ser usado para configurar a autenticação de desafio-resposta entre a instância e o serviço externo para ajudar a evitar ataques de falsificação de identidade. Usar um nonce permite que o serviço externo verifique se está interagindo com uma instância ao vivo e não com um impostor que está reutilizando um atestado antigo. Não usado para atestação com o AWS KMS.
Para recuperar o atestado
Use o seguinte comando e os seguintes parâmetros opcionais:
/usr/bin/nitro-tpm-attest \ --public-keyrsa_public_key\ --user-datauser_data\ --noncenonce
Para ver um exemplo completo que mostra como gerar um par de chaves RSA e como solicitar um atestado com a chave pública, consulte o repositório nitro-tpm-attest do GitHub