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:
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).