Nota
L'accesso a questa pagina richiede l'autorizzazione. È possibile provare ad accedere o modificare le directory.
L'accesso a questa pagina richiede l'autorizzazione. È possibile provare a modificare le directory.
Per i passaggi su come cambiare banche PCR nei dispositivi TPM 2.0 nel PC, è necessario contattare il fornitore OEM o UEFI. Questo articolo fornisce informazioni generali su cosa accade quando si cambia banca PCR nei dispositivi TPM 2.0.
Un registro di configurazione della piattaforma (PCR) è una posizione di memoria nel TPM che ha alcune proprietà univoche. La dimensione del valore che può essere archiviato in una pcr è determinata dalle dimensioni di un digest generato da un algoritmo hash associato. Un PCR SHA-1 può archiviare 20 byte, ovvero le dimensioni di un digest SHA-1. Più PCR associati allo stesso algoritmo di hash sono definiti banca PCR.
Per archiviare un nuovo valore in una richiesta PCR, il valore esistente viene esteso con un nuovo valore come indicato di seguito: PCR[N] = HASHalg( PCR[N] || ArgumentOfExtend)
Il valore esistente viene concatenato con l'argomento dell'operazione di estensione TPM. La concatenazione risultante viene quindi usata come input per l'algoritmo hash associato, che calcola un digest dell'input. Il digest calcolato diventa il nuovo valore del PCR.
La specifica del profilo TPM della piattaforma client TPM per PC TCG definisce l'inclusione di almeno una banca PCR con 24 registri. L'unico modo per reimpostare i primi 16 PCR consiste nel reimpostare il TPM stesso. Questa restrizione consente di garantire che il valore di tali RICHIESTE possa essere modificato solo tramite l'operazione di estensione TPM.
Alcuni pcr TPM vengono usati come checksum degli eventi di log. Gli eventi di log vengono estesi nel TPM man mano che si verificano gli eventi. In seguito, un revisore può convalidare i log calcolando i valori PCR previsti dal log e confrontandoli con i valori PCR del TPM. Poiché i primi 16 PCR TPM non possono essere modificati arbitrariamente, una corrispondenza tra un valore PCR previsto in tale intervallo e il valore pcr TPM effettivo fornisce la garanzia di un log non modificato.
In che modo Windows usa i PCR?
Per associare l'uso di una chiave basata su TPM a un determinato stato del dispositivo, la chiave può essere sealed a un set previsto di valori PCR. Ad esempio, i PCR da 0 a 7 hanno un valore ben definito dopo il processo di avvio, quando viene caricato il sistema operativo. Quando l'hardware, il firmware o il caricatore di avvio del computer cambia, la modifica può essere rilevata nei valori pcr. Windows usa questa funzionalità per rendere alcune chiavi crittografiche disponibili solo in determinati momenti durante il processo di avvio. Ad esempio, la chiave BitLocker può essere usata in un determinato punto dell'avvio, ma non prima o dopo.
È importante notare che questa associazione ai valori PCR include anche l'algoritmo hash usato per la RICHIESTA PCR. Ad esempio, una chiave può essere associata a un valore specifico di SHA-1 PCR[12]
, se si usa la banca SHA-256 PCR, anche con la stessa configurazione di sistema. In caso contrario, i valori pcr non corrisponderanno.
Cosa accade quando le banche PCR vengono commutate?
Quando le banche PCR vengono commutate, viene modificato l'algoritmo usato per calcolare i valori hash archiviati nelle richieste di estensione durante le operazioni di estensione. Ogni algoritmo hash restituisce una firma di crittografia diversa per gli stessi input.
Di conseguenza, se la banca PCR attualmente usata viene commutata, tutte le chiavi associate ai valori PCR precedenti non funzionano più. Ad esempio, se si avesse una chiave associata al valore SHA-1 di PCR[12] e successivamente si modificasse la banca PCR in SHA-256, le banche non corrisponderebbero e non si sarebbe in grado di usare tale chiave. La chiave BitLocker viene protetta usando le banche PCR e Windows non può annullarla se le banche PCR vengono commutate mentre BitLocker è abilitato.
Cosa è possibile fare per cambiare pcr quando BitLocker è già attivo?
Prima di cambiare banche PCR, è necessario sospendere o disabilitare BitLocker o avere la chiave di ripristino pronta. Per i passaggi su come cambiare banche PCR nel PC, contattare il fornitore OEM o UEFI.
Come è possibile identificare quale banca PCR viene usata?
È possibile configurare un TPM in modo che siano attive più banche PCR. Quando il BIOS esegue misurazioni, lo fa in tutte le banche PCR attive, a seconda della sua capacità di effettuare queste misurazioni. Bios può scegliere di disattivare le banche PCR che non supporta o limitare le banche PCR che non supporta estendendo un separatore. Il valore del Registro di sistema seguente identifica quali banche PCR sono attive:
- Chiave del Registro di sistema:
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\IntegrityServices
- DWORD:
TPMActivePCRBanks
- Definisce quali banche PCR sono attualmente attive. Questo valore deve essere interpretato come una bitmap per cui i bit sono definiti nella tabella 21 del Registro di sistema degli algoritmi TCG della revisione 1.27.
Windows controlla quali banche PCR sono attive e supportate dal BIOS. Windows controlla anche se il log di avvio misurato supporta le misurazioni per tutte le banche PCR attive. Windows preferisce l'uso della banca SHA-256 per le misurazioni e torna alla banca SHA1 PCR se una delle precondizioni non viene soddisfatta.
È possibile identificare la banca PCR attualmente usata da Windows esaminando il registro:
- Chiave del Registro di sistema:
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\IntegrityServices
- DWORD:
TPMDigestAlgID
- ID algoritmo della banca PCR attualmente in uso in Windows. Questo valore rappresenta un identificatore di algoritmo come definito nella tabella 3 del Registro di sistema dell'algoritmo TCG della revisione 1.27.
Windows usa solo una banca PCR per continuare le misurazioni di avvio. Tutte le altre banche PCR attive vengono estese con un separatore per indicare che non sono usate da Windows e le misure che sembrano provenire da Windows non devono essere attendibili.