Untrusted/ Il TC in fondo non è così brutto

di Alessandro Bottoni - Qualcuno spiega come il Trusted Computing possa rappresentare una scelta utile quando si tratta di proteggere password, file e documenti, o di eliminare virus e spam. Tutto vero. Ma non basta
di Alessandro Bottoni - Qualcuno spiega come il Trusted Computing possa rappresentare una scelta utile quando si tratta di proteggere password, file e documenti, o di eliminare virus e spam. Tutto vero. Ma non basta


Roma – Il Trusted Computing può essere usato per fornire servizi utili all’utente finale, oltre che per controllarlo? C’è qualche motivo per cui potremmo avere il desiderio di sostituire il nostro vecchio PC con un nuovo PC dotato di funzionalità Trusted Computing, spendendo qualcosa come 800 – 1200 euro? C’è almeno un motivo per cui potremmo considerarci “compensati” del fatto che il Fritz Chip è in grado di controllare il nostro comportamento molto più di quanto noi possiamo controllare il suo?

La persona che meglio di chiunque altro ha cercato di dare delle risposte sensate, e tecnicamente ineccepibili, a queste domande è stato David Safford, un ricercatore dell’IBM che lavora sul Trusted Computing. Il suo lavoro è stato pubblicato in un documento PDF di 7 pagine , chiamato “The need for TCPA” .

In questo documento, Safford spiega dettagliatamente le ragioni che hanno spinto IBM e molte altre aziende a coalizzarsi per sviluppare questa tecnologia. Si tratta, a mio modesto avviso, di un documento fondamentale per capire il Trusted Computing per cui ne consiglio caldamente la lettura a tutti gli interessati.
Secondo Safford, le applicazioni utili del Trusted Computing sono essenzialmente due: la protezione dei documenti e la protezione delle chiavi di cifra. Vale la pena di esaminare le sue argomentazioni con attenzione.

Protezione delle chiavi di autenticazione dell’utente
“L’utente può generare una coppia di chiavi RSA, pubblica e privata, usando il chip TPM. il sistema può essere configurato in modo che la chiave privata non lasci mai il chip. Questa chiave privata può essere usata per autenticare in modo certo gli utenti su Internet grazie a protocolli come SSL. Il chip TPM non può impedire agli hacker di sfruttare delle vulnerabilità nel client ma è in grado di proteggere in modo efficace le chiavi di cifra dell’utente. Non importa cosa faccia l’hacker, egli non può comunque ottenere dal TPM una copia delle chiavi”.

La protezione delle chiavi di cifra dell’utente (cioè le “password”) è effettivamente qualcosa di fondamentale per la sicurezza del sistema. Lo testimonia il fatto che una delle prime cose che cercano i criminali informatici dopo essersi introdotti in un sistema sono proprio le chiavi di cifra che sono state usate dall’utente per proteggere i suoi file, interi file system, messaggi di posta ed altre informazioni rilevanti. Purtroppo, al giorno d’oggi, la ricerca di queste chiavi dà spesso buoni frutti perché queste chiavi vengono quasi sempre conservate sul disco fisso della macchina, insieme ai materiali che devono proteggere .

L’utilità del TPM a questo punto diventa evidente: le chiavi di cifra possono essere conservate all’interno del TPM, in apposite locazioni di memoria non volatile, fuori dalla portata degli intrusi e del loro software. Questa funzionalità del TPM, tuttavia, è molto meno indispensabile di quello che potrebbe sembrare.

Il fatto è che non c’è tecnicamente nessun motivo di tenere le chiavi di cifra sul sistema Ad esempio, si possono usare già da anni delle apposite Smart Card rimovibili per questo scopo.

Le Smart Card sono degli oggetti fisicamente indistinguibili da una normale carta di credito ma che non hanno nulla che fare con le normali carte Visa ed i Bancomat (Vedi Wikipedia ). Si tratta di veri e propri Fritz Chip (TPM) installati su un supporto di plastica e dotati dei contatti necessari per comunicare con un computer attraverso un apposito lettore (anch’esso diverso da quello usato per le carte di credito ed i bancomat).

In realtà, i Fritz Chip del Trusted Computing sono a tutti gli effetti delle Smart Card “saldate sulla motherboard”, esattamente come lo erano i vecchi chip crittografici ESS di IBM. Le Smart Card possono conservare le chiavi di cifra fuori dalla portata dei malintenzionati, esattamente come può fare il Fritz Chip, ma rispetto al Fritz Chip hanno il vantaggio fondamentale di non “marcare” in modo permanente ed indelebile, con la loro presenza e le loro “endorsement key”, il dispositivo che li ospita.
Per rendere nuovamente anonimo il dispositivo ospite (cioè il PC), basta sfilare la Smart Card dal lettore.
Per cambiare identità, basta cambiare Smart Card.
Per spostare la propria identità su un altro dispositivo, basta portare con sè la propria Smart Card.
Per aggiungere questa funzionalità ad un PC, basta acquistare ed installare l’apposito lettore. Non è necessario cambiare PC.
Si tratta quindi di strumenti molto più flessibili dei Fritz Chip.

L’uso di Smart Card è già molto diffuso in ambienti, come quello militare e quello bancario, dove le chiavi di cifra ricoprono un ruolo cruciale. Le Smart Card sono anche considerate l’erede naturale dei nostri abituali Bancomat e delle nostre Carte di Credito. Il “passaporto digitale” e molte altre carte servizi che si stanno diffondendo sono in realtà delle Smart Card di questo tipo. Non si tratta quindi di dispositivi “futuribili” od ipotetici ma di qualcosa che appartiene già da tempo alla realtà quotidiana, anche se l’utente spesso non ne è informato. Non si capisce quindi perché non venga promosso l’uso di questi dispositivi invece della adozione su vasta scala di dispositivi controversi come i Fritz Chip (che oltretutto impongono di rinnovare il parco hardware esistente a spese dell’utente).

Come se non bastasse, in alcune applicazioni di tipo “personale” non c’è nemmeno la necessità di usare una Smart Card: basta memorizzare le chiavi su un floppy, una “penna USB” od un CD-ROM.


Protezione delle chiavi usate dall’utente per cifrare file e filesystem
Scrive Safford: “Un’altra importante applicazione del trusted Computing consiste nel proteggere i dati ed i file dell’utente. Grazie al TPM, l’utente può sigillare all’interno del TPM la chiave di cifra usata per cifrare un intero file system. Questa chiave di cifra può essere recuperata dal TPM soltanto se l’ambiente operativo rimane immutato. Se un hacker dovesse avere accesso al sistema ed installasse una backdoor od un programma spia, il TPM noterebbe immediatamente il cambiamento e si rifiuterebbe di rilasciare la chiave, impedendo efficacemente l’accesso al file system”.

Spesso l’utente non è consapevole della vulnerabilità delle sue chiavi di cifra ma è perfettamente consapevole della vulnerabilità dei suoi file, dei suoi documenti, dei suoi messaggi di posta e dei suoi dischi fissi. Quello che interessa veramente l’utente finale è proprio la possibilità di cifrare e rendere illeggibile agli estranei questi materiali.

Il Fritz Chip si propone come un candidato vincente per questo scopo. Con la sua implementazione ultra-ottimizzata in hardware, può facilmente cifrare e decifrare file e documenti al volo, anche quando si tratta di oggetti di grande dimensione o persino di pesanti stream audio e/o video che devono essere trattati in tempo reale. Grazie alle sue spettacolari prestazioni è possibile proteggere ogni cosa con un algoritmo di cifra molto robusto, come RSA, AES o Blowfish, e con chiavi di cifra molto lunghe e quindi molto robuste, fino a 2048 bit.

Anche in questo caso, tuttavia, la necessità di un Fritz Chip è discutibile.

I moderni processori sono in grado di svolgere le stesse funzioni in modo molto simile, senza obbligare l’utente a piegarsi alla volontà del TCG. Per quelle rarissime applicazioni che veramente richiedono questo livello di prestazioni, sono comunque disponibili degli appositi chip crittografici montati su schede rimovibili o addirittura su Smart Card. Queste applicazioni estreme, tuttavia, non riguardano praticamente mai l’utente “casa e ufficio” ma piuttosto una utenza di tipo industriale. Nelle stragrande maggioranza dei casi, un banale programma di cifra come GPG – GNU Privacy Guard ed un normalissimo Pentium III a 500 Mhz sono più che sufficienti allo scopo.

Ora che abbiamo esaminato le argomentazioni di David Safford, che sono in assoluto quelle più solide, possiamo dedicarci ad altro. Una delle argomentazioni che vengono spesso usate per sostenere l’utilità (sul lato end-user) del Trusted Computing è che questa tecnologia avrebbe la proprietà taumaturgica di sconfiggere in modo definitivo i virus informatici , di qualunque tipo, lo “spam” e gli “hacker”.

Per confutare queste affermazioni, non è nemmeno necessario presentare degli argomenti. Ha già provveduto Microsoft in persona, anni fa, a smentire questa tesi. Ecco cosa afferma Microsoft nelle sue FAQ sul “suo” Trusted Computing, cioè NGSCB:

Q: NGSCB fermerà lo spam o combatterà i virus?
A: No. A dispetto di quanto riferiscono i media, l’introduzione di NGSCB, in sé e per sé, non fermerà lo spam e non impedirà ai virus di diffondersi. Tuttavia, l’uso delle tecnologie NGSCB permetterà lo sviluppo di sistemi anti-spam ed anti-virus del tutto innovativi e molto efficaci.”


Riguardo a questo punto, è comunque necessario ricordare che esistono da decenni programmi del tutto affidabili in grado di combattere efficacemente sia i virus che il fenomeno dello spam. Da alcuni anni ne esistono addirittura delle versioni gratuite ed Open Source, come ClamAV e SpamAssassin. La difesa dai cosiddetti cracker può essere messa in atto con software e tecniche esistenti da decenni, come ad esempio i firewall, ottenendo gli stessi risultati che può garantire la tecnologia Trusted Computing. Tutto questo può essere ottenuto, da anni, senza dover sottostare alla vessatoria logica di funzionamento del Trusted Computing che prevede, lo ricordiamo, che il dispositivo dell’utente (e quindi l’utente) sia identificabile in maniera univoca in rete (nessuna possibilità di anonimato) e che questo dispositivo possa essere esaminato e “valutato” dal fornitore remoto di beni e di servizi (nessuna possibilità di “privacy” e nessuna possibilità di “mentire”).

Inoltre è necessario ricordare che il fenomeno dei virus, nelle sue varie forme, è qualcosa che colpisce quasi esclusivamente il mondo Microsoft (Windows, MS Office, Internet Explorer, MS Outlook e altri programmi). Gli altri ambienti operativi, come Linux e FreeBSD sono del tutto immuni da questi fenomeni. Persino molti programmi per Windows, prodotti da altre software house, come OpenOffice, Mozilla Thunderbird, Mozilla Firefox, sono del tutto immuni da questi problemi.

La sconcertante vulnerabilità dei programmi Microsoft è (anche) una conseguenza della scelta strategica di Microsoft stessa di inserire all’interno dei propri programmi un interprete di linguaggio, cioè Visual Basic, che permette a queste infezioni di trasmettersi (in particolare ai Worm ed ai Trojan Horse). A questa scelta strategica si somma la evidente incapacità di Microsoft di rendere realmente affidabili e sicuri i propri prodotti, come viene continuamente denunciato da molti specialisti di sicurezza. Nel giugno del 2004, il CERT (Computer Emergency Readiness Team) del DHS (Departement of Homeland Security) USA è arrivato persino a sconsigliare ufficialmente l’uso di MS Internet Explorer per la navigazione sul web a causa dei suoi molti, pericolosi ed irrisolti bug. L’avviso originale è reperibile qui . Un articolo esplicativo è disponibile qui .

Con questi precedenti, è veramente difficile pensare che Microsoft sia in grado di garantire una maggiore sicurezza ai suoi utenti solo perchè adotta una nuova tecnologia. I mezzi per ottenere questo risultato non le sono mai mancati. Se questo risultato non è stato ottenuto, come invece è invece stato ottenuto da Linux e da FreeBSD, non è stato certo a causa della mancanza del Trusted Computing.
Il documento originale di Microsoft è disponibile qui

In rete è disponibile un altro documento, pubblicato in forma anonima, che tenta di descrivere i possibili usi “utili” del Trusted Computing. Lo potete trovare qui .
Tuttavia, questo testo è quasi risibile per la facilità con cui possono essere confutate le sue tesi. Arriva persino a definire come “uso positivo” del Trusted Computing il fatto che possa essere usato per rendere “sicuro” il gioco d’azzardo online, qualunque cosa possa significare “sicuro” in un contesto come quello.
Più in generale, nessuna delle applicazioni descritte in questo documento richiede realmente l’uso del Trusted Computing. Come se non bastasse, molte delle applicazioni che vengono descritte in questo documento difficilmente possono essere considerate “desiderabili” dopo un analisi razionale, come è il caso dei sistemi di voto online e degli anonimous remailer. Si tratta di una lettura particolarmente interessante perché riesce a concentrare in poche pagine quasi tutti i luoghi comuni e gli errori concettuali esistenti su questo tema.

Infine, dobbiamo ricordare che il Fritz Chip (TPM) e le sue funzionalità non rappresentano tutto il Trusted Computing. Come abbiamo già spiegato negli articoli precedenti, le implementazioni del Trusted Computing con cui dovremo veramente fare i conti in futuro, come Intel LaGrande, AMD Presidio, ARM TrustZone, Via Technologies Padlock e Microsoft NGSCB, implementano molte altre funzionalità originariamente non previste dal consorzio TCG, come la curtained memory ed il protected I/O . Per queste funzionalità aggiuntive, a quanto pare, nessun osservatore indipendente ha ancora potuto trovare una applicazione che sia realmente utile all’utente finale e che non sia facilmente ottenibile con altri mezzi, meno controversi. Non è infatti disponibile nessun documento che tenti seriamente di giustificare l’implementazione di queste funzionalità, a parte i documenti delle aziende produttrici.

In particolare, è veramente difficile sostenere l’utilità per l’utente finale di una funzionalità prevista dallo standard TCG, come la remote attestation , che permette ad un fornitore esterno di analizzare e valutare il dispositivo (il PC) dell’utente, il software che egli utilizza e la relativa configurazione, prima di fornire un bene od un servizio.
L’unica applicazione possibile di una funzionalità come questa è all’interno di un sistema DRM, di tono molto aggressivo e praticamente inviolabile, verso il quale difficilmente l’utente finale potrà mai provare qualche interesse personale o qualche simpatia.

Alessandro Bottoni
http://laspinanelfianco.wordpress.com

Link utili
The need for TCPA – David Safford – IBM
Interesting uses of Trusted computing – Anonimous
Introduction to Smart Cards

Le precedenti release di Untrusted sono qui

Link copiato negli appunti

Ti potrebbe interessare

16 03 2006
Link copiato negli appunti