Roma – La domanda posta nel titolo può avere due diversi significati:
1. Quanto è robusto il TC nei confronti di eventuali tentativi di rubare i dati che il TPM ha cifrato o di accedere al sistema che la tecnologia TC protegge (“sicurezza crittografica”)?
2. Quanto è robusto il TC nei confronti di tentativi di sabotarlo o di sfruttare qualche sua lacuna a danno del suo proprietario (“affidabilità” o “sicurezza del sistema”)?
Sicurezza crittografica
Un sistema Trusted Computing “completo”, come Intel LaGrande + MS Windows Vista con NGSCB, protegge tutti gli elementi sensibili del sistema:
– i dati memorizzati su supporti ottici e magnetici sono cifrati (“sealed storage” e cifratura tradizionale)
– i dati ed i programmi in memoria sono protetti da apposite barriere hardware (“curtained memory”)
– i dati in transito da e verso il display, le casse audio, la stastiera ed il mouse sono cifrati (“protected I/O”)
– l’accesso al sistema, ai suoi programmi ed alla sua configurazione è soggetta a vari tipi di controlli di identità e di permessi.
Di conseguenza, possiamo dire che la sicurezza generale del sistema è molto alta, sia nei confronti di un attacco condotto attraverso la rete da un estraneo (Intruder) o da un programma (Virus, Trojan Horse, Worm, etc.), sia nei confronti di un eventuale “attacco” condotto localmente dal proprietario .
A questo punto, resta solo da capire quanto sia robusto il sistema di cifra usato dal Trusted Computing. In altri termini, se un malintenzionato ruba il mio hard disk, cifrato con il TPM di un sistema Trusted Computing, potrebbe riuscire a decifrarlo?
No. Non durante la nostra vita e probabilmente nemmeno durante quella dei nostri figli e nipoti.
Chiave a 2048 bit
La sicurezza di questa risposta deriva dalla prova empirica. Lo standard TCG per la crittografia del Trusted Computing prevede l’uso di un algoritmo RC5 (RSA) e di una chiave a 2048 bit, cioè lo stesso sistema di cifra usato per proteggere la XboX di Microsoft. Tra il 2003 ed il 2005 sono stati fatti diversi tentativi di fattorializzare (“indovinare”) “a forza bruta” la chiave privata a 2048 bit che MS usa per proteggere la sua game console. In caso di successo, non sarebbe più stato necessario modificare fisicamente la XboX per installare Linux. Tutti questi tentativi sono miseramente falliti (anche se, ufficialmente, sono stati abbandonati per ragioni legali), nonostante fossero basati sull’uso di intere “batterie” di computer collegati in rete tra loro attraverso Internet ( Distributed Computing ). Possiamo quindi dire, senza timore di smentite, che si tratta di un sistema di cifra molto, molto robusto.
Come se non bastasse, a dimostrare la robustezza di questo schema ci si mette anche RSA in persona. La casa produttrice dell’algoritmo, RSA Security, tiene in vita, dal lontano 1997, una pubblica sfida su Internet proprio per verificare e dimostrare la robustezza dei suoi sistemi di cifra. RSA mette a disposizione dei messaggi cifrati con vari algoritmi e varie chiavi e sfida i ricercatori a decifrarli. In altri casi, l’esercizio consiste nel “fattorializzare” una chiave RSA di lunghezza predefinita. Questo esercizio corrisponde più o meno ad “indovinare” la chiave di cifra, a partire da altre informazioni che sono sempre disponibili. In tutti i casi vengono offerti premi in denaro che vanno da 10.000 a 200.000 US$ per i vincitori.
I migliori risultati che sono stati raggiunti dagli sfidanti finora sono stati la decifrazione di un messaggio cifrato con un algoritmo RC5 (lo stesso del Fritz Chip) e con una chiave segreta a 64 bit e la fattoralizzazione (l’individuazione) di una chiave segreta RC5 di 640 bit. Entrambi questi risultati fanno sorridere se confrontati con la robustezza del sistema crittografico rappresentato dal TPM (Fritz Chip): algoritmo RC5 o superiore e chiavi di cifra a 2048 bit. La fattoralizzazione della chiave a 640 bit ha tenuto impegnati 30 server Opteron, collegati in rete tra loro, per circa 5 mesi di lavoro ininterrotto. La decifrazione del messaggio cifrato con RC5 e la chiave a 64 bit ha richiesto 1757 giorni di calcolo ininterrotto. Per la fattorializzazione della chiave RC5 a 2048 bit (lo stesso problema che volevano risolvere gli hacker della XboX) RSA Security offre dal 1997 un premio di ben 200.000 US$. Inutile dire che questo premio non è stato ancora riscosso, a quasi dieci anni di distanza dalla pubblicazione della sfida.
Un discorso simile si potrebbe fare per la sicurezza degli algoritmi di hashing (SHA-1) usati dal Trusted Computing per la creazione dei certificati digitali. Anch’essi sono stati sottoposti a “collaudo” e non lasciano intravvedere vulnerabilità particolarmente preoccupanti.
In buona sostanza: un documento od un flusso di dati cifrati con il TPM non è “crackabile” a forza bruta, né sul piano pratico né su quello teorico, con gli strumenti disponibili al giorno d’oggi. Nemmeno la potentissima NSA o la CIA potrebbero “crackare” questo sistema, nemmeno usando i più potenti computer esistenti e nemmeno collegandoli tra loro. Con ogni probabilità, questo sistema di cifra resterà inviolabile ancora per decenni, se non per secoli.
Che la situazione sia proprio questa lo dimostra il fatto che la stessa NSA si è già lamentata per l’eccessiva robustezza di questo sistema di cifra ed ha chiesto l’inserimento nel Fritz Chip di una backdoor che permetta, all’occorrenza, di scavalcare la protezione offerta dai sistemi Trusted Computing. Naturalmente, questa richiesta è stata prontamente ed ufficialmente rifiutata, per quello che possono valere le parole delle aziende su argomenti che, come questi, coinvolgono la sicurezza nazionale.
Si potrebbe pensare che sia comunque possibile trovare un punto debole nel sistema e riuscire in questo modo a crackarlo. Dopotutto, il CSS (Content Scrambling System) usato per proteggere i DVD era stato pubblicizzato come “inviolabile” al momento della sua introduzione sul mercato ed invece è stato violato meno di tre anni dopo. Purtroppo, o per fortuna, la situazione del Trusted Computing è molto diversa. Ecco perché.
Tutti i sistemi di cifra attualmente in uso si basano sul fatto che i dati da proteggere vengono cifrati con un algoritmo “standard”, ad esempio RC5 di RSA, e con una chiave diversa per ogni produttore o per ogni singolo prodotto. Una volta nota la chiave, quel prodotto, od adirrittura tutti i prodotti dello stesso produttore, possono essere usati liberamente su qualunque PC.
Per forza di cose, la chiave deve essere memorizzata da qualche parte e qui ci si scontra con il primo ed il più serio problema di sicurezza: non sempre è disponibile un posto sicuro dove conservare questa chiave .
Ad esempio, il CSS è stato violato grazie alla svista di un produttore che ha incautamente lasciato l’elenco (cifrato) delle chiavi usate da tutti i produttori mondiali su uno dei suoi DVD. Una volta decifrato l’elenco, il DVD , inteso in senso globale, non ha più avuto difese . Questo è il motivo per cui, ad esempio, al giorno d’oggi si usano delle Smart Card per memorizzare le chiavi di accesso usate dai sistemi DRM della televisione digitale (sia terrestre che satellitare). La Smart Card è un posto sicuro dove riporre una chiave, a differenza di un disco fisso o di un DVD. Si tratta infatti di un vero e proprio Fritz Chip rimovibile.
Nel caso del Trusted Computing, la chiave viene conservata all’interno del Fritz Chip e per entrarne in possesso bisogna riuscire a convincere dei propri diritti di accesso il Fritz Chip stesso. Come se non bastasse, la chiave viene generata dal Fritz Chip su richiesta dell’utente remoto (il vostro fornitore di brani musicali, ad esempio) e può essere diversa da una macchina all’altra e persino da una sessione all’altra. Situazioni come quella che si è verificata con i DVD non sono ipotizzabili nel caso del Trusted Computing.
Link
Analisi CSS
Cripto-analisi CSS
Lock regionale
Naturalmente, è sempre possibile che vengano scoperte delle vulnerabilità dovute a qualche errore di progettazione o di implementazione, come avviene per molti programmi, ma non sembra molto probabile. Sono già stati fatti diversi studi sulla sicurezza del TC e non sono state ancora rilevate falle tali da mettere in discussione la sua inviolabilità. Come vedremo tra un attimo, tuttavia, alcune lacune di sicurezza sono effettivamente state trovate, anche se di un tipo probabilmente non utile alla pratica del cracking.
Affidabilità
Chiarito che un sistema Trusted Computing non è crackabile e non sarà crackato, possiamo ora porci un’altra domanda: questo sistema funzionerà in maniera affidabile sulla nostra macchina?
Forse no.
Nel 2005, cioè quasi contemporaneamente all’introduzione sul mercato dei primi sistemi “Trusted”, il solito gruppetto di giovani, eroici, maltrattati e non-finanziati ricercatori italiani, ha identificato alcune lacune nel modello di sicurezza del Trusted Computing che potrebbero permettere ad un malintenzionato di alterare lo stato della piattaforma, forse fino a prenderne il controllo od a provocarne il blocco.
In pratica, il TPM potrebbe essere vulnerabile ad un particolare tipo di attacco di tipo man-in-the-middle in cui il malintenzionato registra i comandi che l’utente invia al TPM e li re-invia a sua volta in seguito. Questa tecnica potrebbe non essere sufficiente a prendere il controllo del TPM, o a decifrare i dati, ma forse potrebbe essere usata per provocare intenzionalmente il blocco del sistema, ad esempio re-impostando le chiavi di cifra (le “password”) ad insaputa dell’utente.
Questo è in assoluto lo scenario peggiore. Non si tratta infatti di una lacuna di sicurezza che potrebbe (soltanto o soprattutto) permettere ad un malintenzionato di scavalcare la protezione offerta dal sistema, rendendolo sostanzialmente inutile. Si tratta piuttosto di una lacuna che può trasformare questa piattaforma in un’arma di ricatto da parte di un malintenzionato nei confronti dell’utente legittimo. Trovate tutti i dettagli di questo studio a queste URL:
http://idea.sec.dico.unimi.it/~sullivan/
http://www.acsac.org/2005/papers/96.pdf
Questa vulnerabilità verrà sicuramente corretta prima della diffusione di massa di questa tecnologia ma dimostra ancora una volta come il Trusted Computing rischi di trasformarsi in qualcosa contro il quale ci troveremo a combattere, piuttosto che qualcosa del quale possiamo fidarci.
Quando si pretende di sostituirsi ad un essere umano nell’analisi della situazione sociale in cui esso si trova, nella creazione di uno stato di fiducia tra questi e le altre persone, e nella sua gestione, ci si assume una responsabilità molto pesante per una tecnologia, per quanto raffinata possa essere. Anche le serrature più geniali, in fondo, sono solo pezzi di ferro. Se non sono costruite in modo corretto, possono chiudere fuori di casa il legittimo prorietario e lasciar entrare i ladri.
Alessandro Bottoni
http://laspinanelfianco.wordpress.com
Tutte le release di Untrusted sono disponibili qui