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

Potrebbero interessarti anche:
Commenti (9):
1. Stefano
venerdì 28 dicembre 2007 alle 1:01 PM - unknown unknown unknown
   

E di questo, cosa ne pensi?

www.tomshw.it/news.php

   
2. Paperino
venerdì 28 dicembre 2007 alle 5:45 PM - unknown unknown unknown
   

La descrizione è molto striminzita ma non credo che abbia a che fare con TPM.

   
3. Stefano
venerdì 28 dicembre 2007 alle 5:50 PM - unknown unknown unknown
   

Lo so, era solo per far vedere che la mela (il meglio che c'è) segue la stessa strada...

E nessuno dei fan della mela ha niente da dire!!

   
4. Scrooge McDuck
venerdì 28 dicembre 2007 alle 10:57 PM - unknown unknown unknown
   

Niente da dire?

Io mi considererei fortunato se non iniziassero ad accusare la Microsoft di aver copiato il loro sistema di attivazione (la famosa macchina del tempo).

   
5. ViK
sabato 29 dicembre 2007 alle 10:54 AM - unknown unknown unknown
   

Esiste qualcosa di simile per chi non ha Enterprise o Ultimate? E per XP?

   
6. Paperino
sabato 29 dicembre 2007 alle 7:36 PM - unknown unknown unknown
   

Qualcosa di simile rivolto al mercato aziendale esiste e si chiama SafeBoot (www.safeboot.com). Pare sia un servizio che si acquista solo per abbonamento, non ho trovato altre info.

Per il mercato casalingo TrueCrypt potrebbe essere sufficiente ma ovviamente non ha le feature interessanti di bitlocker: secure boot, encryption completa del drive, ecc. Ne supporta meccanismi diversi di autenticazione ad eccezione della password (versione 4.0).

   
7. Paperino
sabato 29 dicembre 2007 alle 8:54 PM - unknown unknown unknown
   

Actually TrueCrypt ha fatto qualche passo avanti rispetto a quello che avevo provato tempo fa: www.truecrypt.org/.../tcgina

Ancora molto lontano da Bitlocker ma l'encryption trasparente del "home folder" sembrerebbe funzionare. Anche l'estensione TCTEMP sembra molto interessante: www.truecrypt.org/.../tctemp

Non ho idea se funzionino per Vista, ma per XP dovrebbero funzionare.

IMPORTANTE: a differenza di BitLocker, TCGina non impedisce l'attacco offline tramite ad esempio le Rainbow Table

   
8. Blackstorm
martedì 1 gennaio 2008 alle 11:38 PM - unknown unknown unknown
   

TCGina non blocca le Rainbow? Ma dai... vuol dire che è hashing puro senza nemmeno un minimo di salting?

   
9. Paperino
mercoledì 2 gennaio 2008 alle 4:02 AM - unknown unknown unknown
   

Un attimo: con TCGINA viene criptato _soltanto_ l'home folder. Il resto del sistema, e quindi il file delle password (SAM equivalente di /etc/password), non viene criptato (chicken and egg). Tale file poi può essere attaccato offline (se non viene usato il salting). Con bitlocker ad essere criptato è tutto il sistema e viene decriptato *SOLO* se tutta la configurazione di boot rimane uguale.

La prossima versione di truecrypt pare supporti qualcosa di simile al secure boot: http://www.truecrypt.org/future.php e introdurrà il supporto dei token USB.

   
Lascia un commento:
Commento: (clicca su questo link per gli smiley supportati; regole di ingaggio per i commenti)
(opzionale, per il Gravatar)