Attestazione di Confidential VM

L'attestazione è il processo che aumenta la certezza che un'istanza Confidential VM sia legittima e funzioni nello stato previsto. È uno strumento fondamentale per verificare che il tuo workload sia in esecuzione in un Trusted Execution Environment (TEE).

Attestazione basata sulla CPU

I report di attestazione sono la prova che la tua VM è in esecuzione in un TEE. Vengono generati dall'istanza Confidential VM e, a seconda della tecnologia Confidential Computing utilizzata, vengono firmati da un vTPM basato su software o da un Trusted Security Module (TSM) dedicato basato su hardware. I report di attestazione contengono misurazioni relative all'attività del bootloader, alla configurazione hardware, alla configurazione del firmware e ad altri eventi registrati all'avvio che aiutano a convalidare lo stato e l'identità dell'istanza VM confidenziale.

Il tipo di report di attestazione che puoi richiedere dipende dalla tecnologia Confidential Computing utilizzata dall'istanza Confidential VM.

Origine della firma Tipo Copertura dei report Tecnologia Confidential Computing
SEV SEV-SNP Intel TDX
vTPM gestito da Google vTPM basato su software Attività del bootloader, integrità del kernel
AMD Secure Processor TSM basato su hardware Ambiente hardware e firmware
Modulo Intel TDX TSM basato su hardware Ambiente hardware e firmware

Richiedere un report di attestazione

Puoi richiedere report di attestazione dal vTPM gestito da Google, dal processore sicuro di AMD e dal modulo TDX di Intel con i seguenti strumenti:

  • Go-TPM

  • Strumenti Go-TPM (è richiesta la versione 0.4.4 o successiva per il supporto di AMD SEV-SNP e Intel TDX)

L'evento GceNonHostInfo nel log eventi di attestazione vTPM mostra quale tecnologia Confidential Computing è in uso. Gli strumenti Go-TPM possono richiedere un report di attestazione da AMD Secure Processor se viene utilizzato AMD SEV-SNP o dal modulo Intel TDX se viene utilizzato Intel TDX.

Solo per i report di attestazione hardware, puoi inviare una richiesta di verifica crittografica al TSM con i seguenti strumenti:

  • Per AMD SEV-SNP, utilizza SEV Guest. I certificati della chiave di verifica del chip di versione (VCEK) vengono memorizzati nella cache della VM anziché essere richiesti direttamente al sistema di distribuzione delle chiavi (KDS) di AMD.

  • Per Intel TDX, utilizza TDX Guest.

Intel TDX su Ubuntu

Per le immagini Ubuntu sul kernel 1016 e versioni successive, il modulo tdx_guest si trova nel pacchetto linux-modules-extra.

Per installare il pacchetto linux-modules-extra, esegui questo comando:

sudo apt-get install linux-modules-extra-gcp

Se riscontri problemi durante l'installazione di linux-modules-extra-gcp, puoi aggiornare il kernel eseguendo il seguente comando:

sudo apt-get upgrade

Per applicare le modifiche, devi riavviare o caricare manualmente il modulo. Per caricare manualmente il modulo, esegui questo comando:

sudo modprobe tdx_guest

Verificare i report di attestazione con Google Cloud Attestation

Se il tuo modello di attendibilità lo consente, anziché scrivere ed eseguire autonomamente un programma di verifica dell'attestazione, puoi utilizzare Google Cloud Attestation. Ciò comporta l'utilizzo degli strumenti Go-TPM per recuperare una citazione di attestazione dal vTPM di un'istanza Confidential VM e inviarla a Google Cloud Attestation per la verifica. Se la citazione supera la verifica, Google Cloud Attestation restituisce un token contenente le informazioni della VM che puoi confrontare con le tue norme per confermare se la VM deve essere considerata attendibile o meno.

Google Cloud Attestation può essere utilizzato solo con istanze Confidential VM AMD SEV.

Per un esempio end-to-end di utilizzo di Google Cloud Attestation, consulta il codelab vTPM Remote Attestation on Confidential Virtual Machine.

Attestazione basata su GPU

L'attestazione della GPU prevede la verifica del driver GPU, del dispositivo GPU o di entrambi.

Attestazione del driver GPU

Per garantire un'attestazione solida, attiva Avvio protetto quando crei l'istanza Confidential VM.

L'avvio protetto consente il caricamento solo dei driver GPU firmati dalla distribuzione. Questa verifica è essenziale per confermare che il driver GPU è stato rilasciato e fornito ufficialmente da NVIDIA. Un driver ufficiale è importante perché stabilisce una sessione SPDM (Security Protocol and Data Model) sicura con i dispositivi GPU e funge da radice di attendibilità per l'attestazione del dispositivo GPU NVIDIA.

Attestazione del dispositivo GPU NVIDIA

Oltre all'attestazione del driver GPU, puoi attestare ulteriormente i dispositivi GPU NVIDIA. L'attestazione del dispositivo GPU NVIDIA verifica il BIOS video (VBIOS) in esecuzione sulla GPU. In questo modo puoi identificare le versioni del software NVIDIA e valutare la presenza di potenziali vulnerabilità.

Per eseguire l'attestazione del dispositivo GPU NVIDIA, installa prima la libreria nvtrust di NVIDIA, quindi utilizzala per l'attestazione locale o remota.

API_LINK="https://api.github.com/repos/NVIDIA/nvtrust/tags"
LATEST_VER="$(curl -s "${API_LINK}" | jq -r '..name')"
DOWNLOAD_LINK="https://github.com/NVIDIA/nvtrust/archive/refs/tags/${LATEST_VER}.tar.gz"
echo "Downloading nvtrust version ${LATEST_VER}"
curl -L "${DOWNLOAD_LINK}" -o nvtrust.tar.gz
mkdir github_nvtrust
tar xvf nvtrust.tar.gz -C github_nvtrust
cd github_nvtrust/nvtrust-${LATEST_VER:1}
python3 -m venv./prodtest
source./prodtest/bin/activate

Attestazione del dispositivo GPU locale

L'attestazione del dispositivo GPU locale ti consente di eseguire la procedura di attestazione direttamente sull'istanza VM e visualizzare i risultati localmente per verificare l'integrità della GPU.

Per eseguire l'attestazione del dispositivo GPU locale, installa lo strumento di verifica locale. Per istruzioni dettagliate, vedi Verificatore.

Attestazione remota del dispositivo GPU

L'attestazione remota del dispositivo GPU utilizza NVIDIA Remote Attestation Service (NRAS) per verificare l'integrità della GPU. Questa procedura genera un token di attestazione firmato da NVIDIA. Questo token può essere presentato a terze parti per dimostrare l'autenticità e l'integrità della tua GPU, spesso richiesto per accedere a dati o risorse sensibili.

Per istruzioni dettagliate, vedi SDK NVIDIA per l'attestazione e Servizio di attestazione remota NVIDIA (NRAS).