Questo documento illustra i componenti misurati nei registri di misurazione per le diverse tecnologie di Confidential Computing.
Registri di configurazione della piattaforma vTPM
Ogni registro di configurazione della piattaforma (PCR) in un vTPM di Confidential VM contiene tre banchi per i digest SHA-1, SHA-256 e SHA-384.
Il modo in cui vengono utilizzati i PCR 0-7 è standardizzato approssimativamente nelle seguenti specifiche:
I PCR superiori a 7 vengono utilizzati dal sistema operativo o in altri modi specifici della piattaforma. Per maggiori dettagli, consulta il registro PCR TPM di Linux.
Le istanze Confidential VM misurano i seguenti componenti nei PCR del vTPM:
| Indice | Che cosa viene misurato | ||||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| 0 |
Misurazione della radice di attendibilità statica (SRTM), BIOS, ROM opzionali incorporate. Il PCR 0 degli UEFI di Compute Engine non è standard in base alla specifica del profilo del firmware del Trusted Computing Group, in quanto non include una misurazione per l'intero blob binario del firmware. Questo serve per la stabilità. Ogni avvio di un'istanza VM di Compute Engine viene trattato come una nuova macchina, avviata con l'ultima versione del firmware virtuale. Omettendo la misurazione del blob binario del firmware, la verifica dell'attestazione non viene interrotta da modifiche al firmware che non sono basate sulla sicurezza o che si sono verificate in seguito a modifiche della toolchain. Il PCR 0 è stabile per tutta la durata di una singola VM, anche in caso di riavvii e aggiornamenti software. Questo non vale per due cicli di vita di VM diversi, anche con la stessa immagine. Confidential VM misura due eventi aggiuntivi nel PCR 0:
I valori degli eventi
|
||||||||||||
| 1 | Configurazione della piattaforma host, inclusi l'ordine di avvio, le voci di avvio, gli aggiornamenti del microcodice e i volumi del firmware. | ||||||||||||
| 2 | Driver UEFI e codice dell'applicazione. | ||||||||||||
| 3 | Dati e configurazione di applicazioni e driver UEFI. | ||||||||||||
| 41 | Eventi di misurazione dell'applicazione EFI Portable Executable (PE) o Common Object File Format (COFF) (ad esempio, bootloader), che indicano la transizione da UEFI alla prima applicazione EFI. | ||||||||||||
| 5 |
Misurazione GPT (quando l'opzione di avvio utilizza GPT),
ExitBootServices.
|
||||||||||||
| 6 | Specifico del produttore della piattaforma host, non utilizzato nell'implementazione di riferimento di EDK II. | ||||||||||||
| 71 |
Avvio protetto. Include le seguenti variabili UEFI:
Il PCR 7 rimane stabile, a condizione che lo stato di Avvio protetto e la gerarchia di firma rimangano invariati. Due immagini diverse, a condizione che siano firmate con la stessa chiave e utilizzino la stessa gerarchia delle chiavi, producono lo stesso valore PCR 7. |
||||||||||||
| 8 | Tutti i comandi eseguiti dal bootloader GRUB e le righe di comando del kernel e del modulo risultanti. | ||||||||||||
| 9 | Tutti i file letti da GRUB, ad esempio grub.cfg. |
||||||||||||
| 10 | Integrità del kernel, utilizzata dall'Integrity Measurement Architecture (IMA) di Linux. | ||||||||||||
| 13 | Misurazioni del workload e della configurazione per gli ambienti Confidential Space. | ||||||||||||
| 141 | Stato della chiave del proprietario della macchina (MOK) shim. |
Registro di misurazione AMD SEV-SNP
Il processore AMD Secure ha un unico registro di avvio MEASUREMENT. Come altri registri di misurazione di Confidential Computing, le misurazioni vengono sottoposte ad hashing e concatenate per produrre un digest finale. Per AMD SEV-SNP, viene utilizzato l'algoritmo SHA-384.
I seguenti componenti vengono misurati e contribuiscono al digest finale:
Il file binario del firmware virtuale dell'istanza VM.
La struttura, ma non i contenuti, delle seguenti pagine di memoria:
La pagina di memoria sicura SNP, che rappresenta un blocco di memoria che il firmware virtuale richiede all'hypervisor di pre-convalidare prima che la VM possa avviarsi.
La pagina Secrets, che contiene le chiavi utilizzate per la comunicazione tra il guest e il processore sicuro AMD.
La pagina CPUID, che contiene le funzionalità della CPU verificate.
La Virtual Machine Save Area (VMSA), misurata per ogni vCPU allocata all'istanza Confidential VM. Se la VM ha più vCPU, viene eseguito l'hashing di ogni VMSA singolarmente nella catena in ordine sequenziale.
Puoi anche accedere alle misurazioni vTPM della Shielded VM per verificare i componenti del bootloader, del kernel e dello spazio utente. A differenza del processore AMD Secure, le misurazioni sono attestate dal software.
Registri di misurazione Intel TDX
Intel TDX utilizza i seguenti registri di misurazione:
Misurazione del dominio di attendibilità (MRTD)
Run-Time Measurement Registers (RTMR)
Ogni registro memorizza un digest SHA-384.
Le istanze Confidential VM misurano i seguenti componenti nei registri di misurazione Intel TDX:
| Registro di misurazione | Che cosa viene misurato |
|---|---|
MRTD |
Firmware virtuale del dominio di attendibilità (TDVF), acquisito durante il processo di compilazione del TD. |
RTMR[0] |
Configurazione TDVF (blocco TD Hand-Off, ACPI, configurazione di avvio protetto). |
RTMR[1] |
Loader TD (GRUB/shim). |
RTMR[2] |
Il kernel e la riga di comando passata al kernel. |
RTMR[3] (User-defined) |
Misurazione aggiuntiva dei log eventi passata dallo spazio utente. |
Puoi anche accedere alle misurazioni vTPM della Shielded VM. A differenza del modulo Intel TDX, le misurazioni sono attestate dal software.