A Ovest Di Paperino

Welcome to the dark side.

TPM e bitlocker

bitlock Nella "puntata" precedente ho raccontato come funziona il secure boot su una Trusted Platfrom (TP). Bitlocker è una feature di encryption "tombale" introdotta con Vista per arginare il fenomeno del trafugamento dei dati via furto dei laptop. Bitlocker, per funzionare, non richiede la presenza del TPM ma laddove esistente ed abilitato ne può fare uso. In questo post farò ampio uso di terminologia (es. sealing, PCR) introdotta nella puntata precedente.

Bitlocker funziona in maniera piuttosto semplice. Innanzitutto divide la partizione principale (es. C:\) in due partizioni "asimmetriche". Una piccolina e destinata a contenere il minimo indispensabile verrà usata per fare il boot (di solito chiamata S:\); l'altra verrà usata per contenere tutto il resto del contenuto originale di C:\. Nella versione attuale Bitlocker non permette di sigillare drive non di sistema (D:\, E:\, ecc.).

Splittata la partizione di sistema, l'attivazione di Bitlocker avviene in due fasi: la creazione di una chiave simmetrica e successiva criptazione del drive C:\ con tale chiave simmetrica. La chiave simmetrica, che va sotto il nome di Volume Master Key (VMK), può essere memorizzata in due diverse locazioni: in assenza di TPM può essere archiviata su chiave USB[1]; laddove il TPM è presente la VMK viene "sigillata" e salvata sul drive S:\

Una copia della VMK (recovery) viene generata per dare la possibilità di sbloccare il boot laddove succeda legittimamente qualcosa che possa prevenire l'un-sealing della VMK (esempio: installazione di hardware che cambia la configurazione del BIOS). Ovviamente il consiglio è di stampare la chiave di recovery e tenerla chiusa in un posto "tranquillo": il parallelo è con la copia della chiave di casa.

La criptazione del drive avviene in background grazie al low priority IO e in maniera safe. L'algoritmo basato su AES, la cui interessantissima descrizione è contenuta in questo paper in inglese, è sector based: il SO è in grado di distinguere quali settori sono criptati e quali no, nel caso un evento esterno possa interrompere il processo di criptazione.

In aggiunta alla chiave simmetrica è possibile proteggere il boot tramite PIN. Tali impostazioni sono poi forzabili a livello aziendale via group policy.

Per ulteriori approfondimenti consiglio una visita al System Integrity Team Blog da cui cito un paio di post interessanti:

Possibili FAQ:

Quale differenza c'è tra tenere la chiave di volume (VMK) su pendrive e fare uso di TPM?
Aldilà di una questione soggettiva di praticità, solo un TPM può garantire che il sistema è integro tramite il meccanismo di secure boot.

Cosa succede se il sistema non si riavvia e chiede la chiave di recovery?
Questo può accadere per svariati motivi, uno dei quali la modifica legittima di impostazioni del BIOS, l'aggiunta/rimozione di hardware, installazione di un menù multi-boot, ecc. Una volta inserita la chiave di recovery, il sistema si avvia e a questo punto basta disattivare/riattivare Bitlocker per rigenerare l'impronta del sistema con le nuove impostazioni. Dal successivo riavvio la chiave di recovery non sarà più necessaria. Un'altra possibilità, per evitare questa noiosissima operazione in caso di frequenti cambi di impostazioni (es. il Sony Vaio ha uno switch stamina-performance che cambia le impostazioni nel bios), è quella di indicare esplicitamente i registri PCR da usare per il sealing della VMK. Questo si può fare con i seguenti via gpedit.msc -> Administrative Templates - Windows Components -Bitlocker Drive Encryption -> "Configure TPM Platform Validation Profile"

I dati criptati con BitLocker sono inviolabili?
Assolutamente no. BitLocker usa algoritmi pubblicamente documentati e attacchi di forza bruta sono sempre possibili. BitLocker è un deterrente eccezionale per il trafugamento di dati ma non è un espediente magico contro le forze del male. Con sufficiente tempo e risorse qualsiasi algoritmo di criptazione diventa violabile.

Posso conservare la chiave di recupero nella partizione di boot (S:\)?
Certo, ma è come chiudere la porta a chiave e lasciare la chiave nella serratura. Non mi sembra un'ottima idea.

Lo voglio "comprare" ed "installare", cosa devo fare?
BitLocker, come tutte le feature "aziendali" di Vista, è disponibile solo su Vista Enterprise o Vista Ultimate. Su quest'ultima è disponibile - via Ultimate Extra - il BitLocker drive preparation tool che semplifica le operazioni di ripartizionamento dell'HD. In ogni caso una guida passo passo è presente a questa pagina in inglese.

Argomento del prossimo post sul Trusted Computing sarà il controverso meccanismo della remote attestation.

-quack

Technorati Tags: ,

[1] Per memorizzare la chiave su pendrive è necessario - per ovvi motivi - che il sistema BIOS+chiavetta supporti il boot da pendrive: questo garantisce che il codice di pre-boot possa accedere allo VMK sul pendrive senza bisogno di driver