View a markdown version of this page

Attesta un'istanza Amazon EC2 con AMD SEV-SNP - Amazon Elastic Compute Cloud

Le traduzioni sono generate tramite traduzione automatica. In caso di conflitto tra il contenuto di una traduzione e la versione originale in Inglese, quest'ultima prevarrà.

Attesta un'istanza Amazon EC2 con AMD SEV-SNP

L'attestazione è un processo che consente all'istanza di dimostrare il suo stato e la sua identità. Dopo aver abilitato AMD SEV-SNP per la tua istanza, puoi richiedere un rapporto di SEV-SNP attestazione AMD al processore sottostante. Il rapporto di SEV-SNP attestazione AMD contiene un hash crittografico, chiamato Launch Measurement, del contenuto iniziale della memoria ospite e dello stato iniziale della vCPU. Il rapporto di attestazione è firmato con una firma VCEK (sugli host dedicati) o una firma VLEK (sulla locazione condivisa) che si ricollega a un root of trust AMD. È possibile utilizzare la misurazione di avvio inclusa nel rapporto di attestazione per verificare che l'istanza sia in esecuzione in un ambiente AMD originale e per convalidare il codice di avvio iniziale utilizzato per avviare l'istanza.

Prerequisito

Avvia un'istanza abilitata per AMD. SEV-SNP Per ulteriori informazioni, consulta Abilita AMD SEV-SNP per un'istanza EC2.

Attestazione per istanze su host dedicati

Gli host dedicati utilizzano una Versioned Chip Endorsement Key (VCEK), una chiave di firma unica per chip, per firmare il rapporto di attestazione. È necessario convalidare la catena di fiducia dal certificato VCEK alla radice di fiducia di AMD.

Nota

Il modello di processore attualmente supportato è. milan

Prerequisiti

Un'istanza in esecuzione su un host dedicato SEV-SNP compatibile con AMD con Git, Cargo e Perl installati.

Passaggio 1: crea l'utilità snpguest

In questo passaggio, installerai e creerai l'snpguestutilità, che utilizzerai per generare il rapporto di attestazione, recuperare i certificati richiesti e convalidare il rapporto di attestazione.

  1. Connettiti alla tua istanza.

  2. Verificate che i prerequisiti siano installati.

    $ perl --version; cargo --version; git --version
  3. Per installare l'utilità snpguest da snpguest repository, esegui i seguenti comandi.

    $ git clone https://github.com/virtee/snpguest.git $ cd snpguest $ cargo build -r $ cd target/release

Fase 2: Generazione del rapporto di attestazione

Genera una richiesta per il rapporto di attestazione. L'snpguestutilità richiede il rapporto di attestazione dall'AMD Secure Processor tramite l'host e lo scrive in un file binario. L'esempio seguente crea una richiesta casuale nonce e memorizza il report in. report.bin

$ ./snpguest report report.bin request-file.txt --random

Fase 3: Recuperare e convalidare la catena di certificati VCEK

Il rapporto di attestazione è firmato dal VCEK, che è unico per il chip AMD dell'host dedicato. È necessario convalidare la catena di fiducia dal VCEK alla radice della fiducia di AMD.

  1. Recupera il certificato VCEK dall'AMD Key Distribution Service (KDS). Il certificato è identificato dall'ID del chip e dalla versione TCB del rapporto di attestazione.

    $ ./snpguest fetch vcek pem ./ ./report.bin --processor-model milan
  2. Recupera i certificati root AMD (AMD Root Key (ARK) e AMD SEV Key (ASK)) che costituiscono la catena di fiducia.

    $ ./snpguest fetch ca PEM ./ milan --endorser vcek
  3. Verifica la catena di certificati.

    $ ./snpguest verify certs ./

    Di seguito è riportato un output di esempio.

    The AMD ARK was self-signed! The AMD ASK was signed by the AMD ARK! The VCEK was signed by the AMD ASK!

Facoltativo: per una maggiore trasparenza, puoi verificare in modo indipendente la catena scaricando i certificati direttamente da AMD e utilizzandoliopenssl.

$ curl --proto '=https' --tlsv1.2 -sSf https://kdsintf.amd.com/vcek/v1/Milan/cert_chain -o ./cert_chain.pem $ openssl verify --CAfile ./cert_chain.pem vcek.pem

Di seguito è riportato un output di esempio.

vcek.pem: OK

Fase 4: Convalida la firma del rapporto di attestazione

Verifica che il rapporto di attestazione sia stato firmato dal certificato VCEK. Ciò conferma che il rapporto è stato generato su hardware AMD originale e non è stato manomesso.

$ ./snpguest verify attestation ./ report.bin

Di seguito è riportato un output di esempio.

Reported TCB Boot Loader from certificate matches the attestation report. Reported TCB TEE from certificate matches the attestation report. Reported TCB SNP from certificate matches the attestation report. Reported TCB Microcode from certificate matches the attestation report. VEK signed the Attestation Report!

I campi della versione TCB (Trusted Computing Base) confermano che le versioni del firmware nel certificato corrispondono a quelle riportate nel rapporto di attestazione. L'ultima riga conferma che il VCEK ha firmato il rapporto.

Attestazione per casi di locazione condivisa

Le istanze di locazione condivisa utilizzano una Versioned Loaded Endorsement Key (VLEK), emessa da AMD per. AWSÈ necessario convalidare la catena di fiducia dal certificato VLEK alla radice di fiducia di AMD.

Passaggio 1: crea l'utilità snpguest

In questo passaggio, installerai e creerai l'snpguestutilità, che utilizzerai per generare il rapporto di attestazione, recuperare i certificati richiesti e convalidare il rapporto di attestazione.

  1. Connettiti alla tua istanza.

  2. Per installare l'utilità snpguest da snpguest repository, esegui i seguenti comandi.

    $ git clone https://github.com/virtee/snpguest.git $ cd snpguest $ cargo build -r $ cd target/release

Fase 2: Generazione del rapporto di attestazione

Genera una richiesta per il rapporto di attestazione. L'snpguestutilità richiede il rapporto di attestazione dall'host e lo scrive in un file binario. L'esempio seguente crea una richiesta casuale nonce e memorizza il report in. report.bin

$ ./snpguest report report.bin request-file.txt --random

Richiedi i certificati dalla memoria host e archiviali come file PEM.

$ ./snpguest certificates PEM ./

Fase 3: Recuperare e convalidare la catena di certificati VLEK

Il rapporto di attestazione è firmato dal VLEK, rilasciato da AMD per. AWSÈ necessario convalidare la catena di fiducia dal VLEK alla radice di fiducia di AMD.

  1. Scarica i certificati VLEK root of trust dal servizio ufficiale di distribuzione delle chiavi AMD nella directory corrente.

    $ sudo curl --proto '=https' --tlsv1.2 -sSf https://kdsintf.amd.com/vlek/v1/Milan/cert_chain -o ./cert_chain.pem
  2. Utilizza openssl per convalidare che il certificato VLEK sia firmato dai certificati root di fiducia di AMD.

    $ sudo openssl verify --CAfile ./cert_chain.pem vlek.pem

    Di seguito è riportato un output di esempio.

    vlek.pem: OK

Fase 4: Convalida la firma del rapporto di attestazione

Verifica che il rapporto di attestazione sia stato firmato dal certificato VLEK. Ciò conferma che il rapporto è stato generato su hardware AMD originale e non è stato manomesso.

$ ./snpguest verify attestation ./ report.bin

Di seguito è riportato un output di esempio.

Reported TCB Boot Loader from certificate matches the attestation report. Reported TCB TEE from certificate matches the attestation report. Reported TCB SNP from certificate matches the attestation report. Reported TCB Microcode from certificate matches the attestation report. VEK signed the Attestation Report!