Roma – L’avvento del Trusted Computing ha prodotto un notevole allarme negli utilizzatori di Internet. Il timore di fondo è che il Trusted Computing venga utilizzato per controllare cosa può essere fatto, e da chi, sulla grande rete. In questo articolo cercheremo di capire se queste preoccupazioni sono fondate e cosa può essere realmente fatto usando il Trusted Computing come strumento di controllo.
Controllare l’accesso alla Rete
Una macchina TC è costruita in modo da poter chiedere a chi tenta di collegarsi ad essa di identificarsi in modo certo (attraverso le AIK). Inoltre, grazie alla Remote Attestation , può pretendere di verificare che la piattaforma hardware e software usata dall’utente remoto corrisponda a quella desiderata, prima di consentire all’utente remoto di collegarsi o di effettuare qualunque operazione. Questa potenzialità innata delle macchine TC viene ulteriormente esaltata da un apposito protocollo, chiamato TNC (Trusted Network Connect) che permette di concedere all’utente remoto un livello di accesso che sia proporzionale al suo livello di “affidabilità”.
Questo significa che utenti diversi potrebbero avere un livello di accesso diverso alla stessa rete, a seconda della macchina usata per collegarsi. Ad esempio, un consulente esterno che si collega alla rete aziendale con un portatile dotato di tecnologia Trusted Computing potrebbe essere classificato come “affidabile”, nel senso che risulta protetto da virus e altri flagelli, e potrebbe accedere alla rete senza particolari limitazioni. Un altro consulente, che invece si colleghi con una macchina tradizionale, potrebbe essere considerato “a rischio” e gli potrebbe essere consentito l’accesso in sola lettura ai dischi della rete, in modo che non possa copiare i suoi file sui dischi e diffondere una infezione virale.
Naturalmente, questo è un fatto molto positivo per la sicurezza. Lo è assai meno per la libertà degli utenti. Se i fornitori di accesso a Internet cominciassero a pretendere la presenza di tecnologia Trusted Computing sulle macchine degli utenti per consentire loro l’accesso a determinati servizi (tipicamente i servizi bancari) o a determinate reti (una ipotetica Internet 3.0 a “sicurezza intrinseca”), l’utente generico sarebbe sostanzialmente costretto ad adottare questa tecnologia ed a piegarsi alle regole che, grazie ad essa, i fornitori potranno imporre su di lui (ad esempio, l’uso di software “affidabili” per ascoltare musica, vedere film e scaricare file).
Controllare l’accesso ai server ed ai servizi di rete
La stessa tecnologia TNC permette chiaramente di controllare l’accesso ai server di rete ed ai servizi che essi forniscono. Questo vuol dire che solo una macchina Trusted Computing potrà verosimilmente accedere a server “critici” come i router ed i firewall. Lo stesso potrebbe valere per alcuni servizi critici come i DNS. Per evitare “taroccamenti”, potrebbe essere deciso che lo scambio di informazioni tra DNS (che serve a diffondere le informazioni necessarie alla risoluzione dei nomi per tutta la rete) sia limitato a macchine che si identificano l’una con l’altra grazie a delle AIK e che sono protette da tecnologia Trusted Computing.
In queste applicazioni di networking, francamente, è difficile scorgere dei rischi per l’utente. La presenza del TPM rende possibile identificare in modo univoco l’utente. In realtà, l’utente si identifica usando una “identità virtuale” creata ad hoc. Questa identità virtuale è una chiave RSA chiamata Attestation Identity Key (AIK) e viene generata a partire dalla chiave RSA che identifica in modo univoco il TPM, la famigerata Endorsement Key (EK).
L’utente può generare tutte le AIK che vuole e può quindi ammantarsi di tutte le identità che gli fanno comodo. L’unico limite è che per ottenere i servizi desiderati, l’identità che viene utilizzata deve passare il vaglio del fornitore, un processo che dipende dal fornitore stesso e che può essere lungo e complesso. Ad esempio, la vostra banca vorrà quasi certamente vedere la vostra faccia, e la vostra carta d’identità, per associarla alla AIK che userete per accedere all’home banking. Cambiare questa AIK in seguito potrebbe essere un processo lungo ed impegnativo.
A parte questo, si deve tenere presente il fatto che ogni AIK finisce per funzionare come un cookie od una “session key” ed identifica comunque sia la vostra macchina (da dovunque si colleghi) che voi. Anche senza sapere come vi chiamate di nome e quando siete nati, sarebbe abbastanza facile usare questa AIK per scoprire molte cose interessanti di voi.
Infine, va detto che la AIK è firmata digitalmente con la EK del TPM e quindi risulta legata ad esso. Risalire dalla AIK alla EK resta quindi possibile, grazie ad un banale confronto di firme digitali. Come se non bastasse, la EK resta sempre visibile al software che gira localmente sulla macchina, per permettere ai vari programmi di sapere su quale macchina stanno girando ed impedire che lo stesso programma (o sistema operativo) venga installato su macchine diverse da quelle autorizzate. Di conseguenza, un qualunque programma scaricato da Internet potrebbe leggere questa EK e spedirla a chissà chi a vostra insaputa. L’architettura Trusted Computing mette a disposizione di questo ipotetico programma tutta la crittografia di cui potrebbe mai avere bisogno per raggiungere questo scopo.
Tracciare l’utente
Conoscere la AIK dell’utente o, peggio, la EK della sua macchina, permette di tracciarlo. Anche senza conoscere l’identità della persona collegata a queste chiavi, è comunque possibile seguirne gli spostamenti su Internet e registrare tutte le operazioni.
Questo livello di tracciamento è già possibile adesso, grazie ai cookies ed alle session keys di molti server web, e permette già adesso di scoprire cose molto interessanti di un utente. L’unica condizione è quella di fare uso di un servizio centralizzato di tracciamento come Doubleclick . Con l’avvento del Trusted Computing, tutto questo diventerà più semplice e più affidabile (dal punto di vista di chi spia).
Se poi l’utente ha associato a questa AIK anche la sua identità personale, ad esempio per accedere ai servizi bancari, anche l’ultima barriera a protezione della sua privacy potrebbe facilmente cadere. Creare reti private (VPN)
Grazie alle funzionalità crittografiche del Trusted Computing, è possibile creare delle raffinate VPN (Virtual Private Network) “ritagliando” delle sotto-reti cifrate da Internet. Questo è qualcosa di molto simile a quello che fanno già adesso i programmi di “tunneling” crittografico come OpenVPN .
Rispetto alle VPN esistenti, il Trusted Computing permette di avere una identificazione degli utenti e delle macchine molto più affidabile e, soprattutto, grazie alla Remote Attestation permette di verificare l’identità e la integrità dei vari elementi hardware e software che compongono le macchine remote. Questo fornisce un livello di sicurezza e di affidabilità mai visto prima.
Anche in questo caso, francamente è difficile vedere delle controindicazioni all’uso del Trusted Computing.
Creare reti P2P
La creazione di reti P2P cifrate è solo una conseguenza della stessa tecnologia usata per le VPN. Come la rete “Friend-to-Friend” WASTE è nata dall’uso di tecnologie VPN nel settore P2P, anche le prossime reti F2F o P2P basate su Trusted Computing potrebbero derivare dalle VPN basate su questa tecnologia.
Le reti P2P basate su TC sarebbero caratterizzate da un livello estremo di “chiusura” nei confronti del mondo esterno. Per accedervi non solo sarebbe necessario identificarsi attraverso una AIK ma la rete P2P potrebbe anche procedere alla verifica dei certificati digitali del software residente su ogni singolo “nodo”.
Tutta questa sicurezza, però, non metterebbe al riparo da infiltrati: una volta che il signor Mario Rossi sia stato “accettato” dalla comunità umana che si serve della rete P2P, il suo accesso sarebbe comunque garantito. Se poi saltasse fuori che il signor Mario Rossi era un agente della RIAA…
Rilanciare le tecnologie Push
Curiosamente, l’avvento del TC potrebbe consentire il rilancio delle cosiddette Tecnologie Push .
Le tecnologie push hanno sempre risentito di un pesante problema tecnico e di un grave problema sociale. Il primo è dovuto al fatto che, per definizione, devono “far eseguire qualche compito alla macchina dell’utente da remoto”. Nel loro caso, devono inviare e far apparire sullo schermo una pagina web o qualcosa di simile. Di sicuro, gli utenti di MS Internet Explorer stanno già tremando al solo pensiero che qualcuno, dall’esterno, possa inviare qualcosa al loro browser (fatemi dire che non sono io a trattare male MS IE ma è piuttosto lo US CERT che arriva a consigliare esplicitamente l’utente di usare un altro browser). L’altro problema è che la gente non vuole una Internet uguale alla TV, dove qualcun’altro decide cosa lo spettatore debba guardare.
Fortunatamente, il Trusted Computing permette di risolvere entrambi i problemi. Le funzionalità crittografiche del TPM permettono di identificare in modo certo le due macchine che si parlano e di cifrare i dati in transito, rendendo possibile usare con tranquillità persino MS Internet Explorer. Le stesse funzionalità permettono anche di condizionare in modo ferreo l’accesso a determinati servizi, alla accettazione di questo schema distributivo. Che cosa l’utente pensi del Push, diventerà finalmente una questione irrilevante.
In conclusione, il Trusted Computing potrebbe essere effettivamente un passo avanti di dimensioni epocali per quello che riguarda la sicurezza delle infrastrutture di rete (firewall, router, DNS e via dicendo) e la sicurezza delle reti private (LAN, reti P2P e VPN). Sembra invece molto pericoloso per la libertà individuale se applicato a reti “pubbliche” come Internet e le future reti Wi-Fi. La prossima Internet 3.0, a cui si accederà in modo “illimitato” solo con una macchina TC-compliant, potrebbe essere molto simile ad uno di quei viaggi turistici alla fine dei quali si devono acquistare delle pentole prima di poter scendere dal pullman.
Alessandro Bottoni
http://www.laspinanelfianco.it/
PS: Per chi se lo stesse chiedendo, la Internet 2.0 è quella “commerciale” che state usando in questo momento, in contrapposizione alla Internet 1.0 “libera” a cui erano abituati un tempo i pochi privilegiati che vi avevano accesso dalle università e dagli enti governativi.
Tutte le release di Untrusted sono qui