Ottieni il documento di attestazione NitroTPM - Amazon Elastic Compute Cloud

Ottieni il documento di attestazione NitroTPM

Il documento di attestazione è un componente chiave del processo di attestazione NitroTPM. Contiene una serie di misurazioni crittografiche che possono essere utilizzate per verificare l’identità dell’istanza e per dimostrare che sta eseguendo solo software affidabile. Puoi utilizzare il documento di attestazione con AWS KMS, che fornisce supporto integrato per l’attestazione NitroTPM, o per creare meccanismi di attestazione crittografici personalizzati.

L’utilità nitro-tpm-attest consente di recuperare un documento di attestazione NitroTPM firmato per un’istanza Amazon EC2 durante il runtime.

La descrizione dell’immagine di esempio di Amazon Linux 2023 installa automaticamente l’utilità nell’immagine incorporata nella directory /usr/bin/. Questo garantisce che l’utilità sia preinstallata sulle istanze avviate utilizzando l’AMI. Non è necessario installare l’utilità manualmente. Per ulteriori informazioni, consulta Crea la descrizione dell’immagine di esempio di Amazon Linux 2023.

Installa l’utilità nitro-tpm-attest

Se usi Amazon Linux 2023, puoi installare l’utilità nitro-tpm-attest dal repository Amazon Linux come segue.

sudo yum install aws-nitro-tpm-tools

Utilizza l’utilità nitro-tpm-attest

L’utilità fornisce un solo comando, nitro-tpm-attest, per recuperare il documento di attestazione. Il comando restituisce il documento di attestazione codificato in Concise Binary Object Representation (CBOR) e firmato utilizzando CBOR Object Signing and Encryption (COSE).

Quando esegui il comando, puoi specificare i seguenti parametri facoltativi:

  • public-key: una chiave pubblica che può essere utilizzata da AWS KMS o da un servizio esterno per crittografare i dati di risposta prima che vengano restituiti. Questo garantisce che solo il destinatario previsto, in possesso della chiave privata, possa decrittografare i dati. Ad esempio, se stai effettuando l’attestazione con AWS KMS, il servizio crittografa i dati in chiaro con la chiave pubblica nel documento di attestazione e restituisce il testo criptato risultante nel campo CiphertextForRecipient nella risposta. Sono supportate solo le chiavi RSA.

  • user-data: i dati utente possono essere utilizzati per fornire eventuali dati firmati aggiuntivi a un servizio esterno. Questi dati utente possono essere utilizzati per completare un protocollo concordato tra l’istanza richiedente e il servizio esterno. Non utilizzato per l’attestazione con AWS KMS.

  • nonce: il nonce può essere utilizzato per configurare l’autenticazione challenge-response tra l’istanza e il servizio esterno per aiutare a prevenire attacchi di impersonificazione. L’uso di un nonce consente al servizio esterno di verificare che stia interagendo con un’istanza live e non con un imitatore che riutilizza un vecchio documento di attestazione. Non utilizzato per l’attestazione con AWS KMS.

Per recuperare il documento di attestazione

Utilizza il comando e i seguenti parametri facoltativi:

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

Per un esempio completo che mostra come generare una coppia di chiavi RSA e come richiedere un’attestazione con la chiave pubblica, consulta il repository GitHub nitro-tpm-attest.