Trusted Computing - Voce in Capitolo
Transcript
Trusted Computing - Voce in Capitolo
Trusted Computing Opportunità o minaccia? Release 0.9 Beta For testing purpose ONLY – Do not re-distribute! Alessandro Bottoni – 2005 [email protected] Licenza Creative Commons di tipo "Attribution Non-commercial No Derivatives" (http://creativecommons.org/licenses/by-nc-nd/2.5/) Introduzione Cosa sta succedendo? Dal 1997/1998, praticamente tutti i principali produttori mondiali di hardware stanno alacremente sviluppando una nuova tecnologia di sicurezza nota con il nome di "Trusted Computing" o "Trustworthy Computing" (d'ora in poi semplicemente TC). Questa tecnologia dovrebbe invadere massicciamente il mercato a partire dal 2006. Il TC è l'erede di una tecnologia già nota e considerata potenzialmente molto pericolosa: “TCPA” o “Palladium”. I "dispositivi digitali" interessati da questa innovazione saranno i computer da tavolo, i computer portatili, i telefoni cellulari intelligenti, le "agendine elettroniche", i ricevitori TV (satellitari e digitale terrestre), i lettori ed i masterizzatori di DVD e CD, i lettori di MP3 e molti dispositivi ancora in fase di sviluppo. In altri termini, questa rivoluzione interesserà qualunque dispositivo digitale destinato al mercato civile. Dato che i produttori coinvolti nel progetto Trusted Computing rappresentano complessivamente oltre il 90% del mercato, e detengono praticamente tutti i brevetti necessari per produrre qualunque tipo di dispositivo digitale, tra qualche anno sarà praticamente impossibile acquistare dispositivi digitali privi di tecnologia TC. Si tratta quindi di una rivoluzione tecnologica di portata planetaria e che avrà sicuramente profondi effetti sia sul mercato che sulla nostra vita quotidiana. Perchè questo libro? In base a quanto abbiamo appena detto, dovrebbe essere chiaro che il TC è una tecnologia che non può essere ignorata. Prima che il nostro mercato venga silenziosamente invaso da dispositivi basati su questa tecnologia è necessario che gli utenti, gli specialisti di settore, i manager delle aziende ed i legislatori ne siano adeguatamente informati e che abbiano modo di valutare attentamente le opportunità ed i rischi che questa tecnologia comporta. Per questo motivo abbiamo deciso di raccogliere in questo testo le principali informazioni tecniche disponibili sulla tecnologia TC ed una analisi della accesa discussione che si sta svolgendo attorno ad essa. Come è strutturato questo libro Questo libro è stato concepito come una "review", cioè una analisi di quanto è stato scritto, da una parte e dall'altra, sulla tecnologia TC. Abbiamo adottato questo approcio perchè ci è sembrato il modo migliore di mettere il lettore in contatto con le informazioni ed il materiale che sono solitamente disponibili solo in Rete. In questo modo è possibile esporre il lettore alle opinioni più qualificate che sono state espresse su questo delicato argomento. I documenti utilizzati sono descritti nell'Appendice A e sono tutti facilmente reperibili sul World Wide Web di Internet. Alcuni di essi, che non sono coperti da copyright, sono disponibili nelle appendici di questo libro. Il primo capitolo contiene una breve descrizione di questa tecnologia e del suo funzionamento. Questa descrizione è largamente basata sui documenti ufficiali dei produttori e dovrebbe risultare abbastanza comprensibile anche per un lettore non molto preparato. Il secondo capitolo descrive le applicazioni previste per il Trusted Computing e quelle non ufficialmente previste ma tecnicamente possibili. Da questo capitolo cominciano ad emergere alcune preoccupanti implicazioni din questa tecnologia. Il terzo capitolo esamina le principali critiche che vengono mosse al Trusted Computing e rende conto della pesante polemica in corso su questo argomento. In molti sensi, questo è il capitolo centrale del libro. Il quarto capitolo esamina più in dettaglio i rischi che possono derivare da una adozione del TC su larga scala. Il quinto capitolo descrive quali sono le possibili vie di fuga da questa tecnologia. Ciò che trovate descritto in questo capitolo è basato sull'assunto che gli utenti decidano di non adottare questa tecnologia. Molte delle soluzioni che vengono descritte in questo capitolo sono ancora del tutto ipotetiche e richiederanno l'azione di utenti, produttori e governi per diventare realmente praticabili. L'ultimo capitolo contiene le conclusioni. Nel testo vengono usati molti acronimi e molti termini tecnici. Li trovate spiegati nel glossario. In tutto il testo, la sigla TC indica l'insieme di tecnologie comunemente noto come Trusted Computing o Trustworthy Computing. L'autore Alessandro Bottoni è un programmatore, sistemista e technical writer che si occupa principalmente di tecnologie per Internet e di sicurezza. Negli ultimi anni ha lavorato per diverse aziende leader nel loro settore ed ha pubblicato vari articoli sulle riviste italiane dedicate a Linux. La licenza Questo libro è disponibile in formato digitale (PDF) ed è coperto da una licenza "Creative Commons" estremamente permissiva. In pratica, nella misura in cui non usate questo testo a fini di lucro, potete leggerlo, copiarlo e distribuirlo liberamente. La piattaforma usata Questo libro è stato scritto su SuSe Linux OSS 10.0 usando OpenOfficeOrg 2.0, Mozilla Firefox 1.5, Mozilla Thunderbird 1.0.7 ed altri programmi FLOSS. ll file PDF di questo documento è stato generato usando il filtro PDF interno di OpenOffice Writer 2.0. Per quanto riguarda gli aspetti in qualche modo correlati alla discussione sul Trusted Computing, la piattaforma usata per creare questo libro ha mostrato di possedere le seguenti caratteristiche. Caratteristica Valore Costo totale del software Euro 0 (zero) Crash di sistema rilevati durante lo sviluppo 0 (zero) Virus rilevati nella posta elettronica o nei supporti usati 3 Contaminazioni virali andate a buon fine 0 (zero) Attacchi via Internet rilevati dal firewall (ipchains + shorewall) circa 1500 Attacchi andati a segno 0 (zero) Messaggi di posta indesiderata ricevuti oltre 200 Messaggi di posta correttamente oltre 200 archiviati come indesiderati dal client (Mozilla Thunderbird 1.0.7) Messaggi di posta erroneamente archiviati come posta indesiderata dal client (Mozilla Thunderbird 1.0.7) 0 (zero) Tempo speso nella manutenzione circa 10 minuti (su un totale di del sistema oltre 120 ore di lavoro) La piattaforma hardware che ospita SuSe Linux 10.0 OSS è la seguente: • CPU Pentium III a 500 Mhz • 256 Mb RAM • Due hard disk per complessivi 13 Gb, di cui 12 dedicati a SuSe Linux. • Connessione Internet via ADSL con Router D-Link (Linux- based) Cos'è il Trusted Computing Le ragioni del Trusted Computing Tecnicamente, il Trusted Computing è un insieme di strumenti hardware e software studiati per proteggere i nostri computer da vari tipi di minacce, tra cui i virus e gli hacker (o, più esattamente, i “cracker” e gli “intruder”). Le ragioni fondamentali per cui si è arrivati allo sviluppo del Trusted Computing sono due: da un lato la situazione globale della sicurezza informatica è ormai talmente grave da rappresentare un serio problema per lo sviluppo dell'intero settore e dall'altro non sembra che sia possibile risolvere questo problema senza un drastico cambiamento nella nostra tecnologia informatica. Purtroppo, quale sia la situazione della sicurezza informatica è qualcosa di ben noto a tutti gli utilizzatori: • Siamo costretti ad acquistare, installare e studiare programmi antivirus, firewall ed altre diavolerie solo per riuscire ad usare normalmente il nostro PC in ufficio od a casa. • Nonostante queste protezioni, succede sempre più spesso di rimanere colpiti da virus, worm, Trojan horse, adware, spyware e altri flagelli che ci costringono a reinstallare il sistema operativo e tutti i programmi applicativi, perdendo ore di lavoro e, spesso, grandi quantità di documenti e di dati che per noi sono importanti. • Anche quando non viene rilevata nessuna contaminazione e nessuna intrusione, il nostro PC sembra sfuggire al nostro controllo e si rifiuta di collaborare come se fosse un essere vivente. • Persino i tecnici specializzati hanno gettato la spugna e consigliano sempre più spesso di “spianare il disco e reinstallare tutto da zero”. Il Trusted Computing è stato studiato e sviluppato per dare una risposta definitiva alla richiesta di sicurezza che viene dagli utenti. I punti deboli dei nostri sistemi informatici Le ragioni della triste situazione in cui giace la nostra sicurezza informatica sono molte ma gli specialisti del settore sono riusciti a distillare una mezza dozzina di cause fondamentali. Nel suo articolo “The need for TCPA”, David Safford elenca i seguenti punti deboli fondamentali. • Programmi non sicuri • Programmi non correttamente configurati • Programmi difettosi I programmi non sicuri sono quelli che, per varie ragioni, sono stati progettati senza tenere presenti le esigenze della sicurezza e che quindi risultano intrinsecamente insicuri quando vengono utilizzati in un ambiente ostile come Internet. Tra questi programmi, David Safford elenca FTP e Telnet, due programmi di rete che hanno la pessima abitudine di inviare password in rete senza proteggerle crittograficamente. Ad esser sinceri, quando si parla di programmi intrinsecamente insicuri, non sono FTP e Telnet i primi programmi che vengono in mente. Questi due programmi sono due servizi di sistema tipici dei server di rete e, di conseguenza, non vengono installati sul tipico “PC Windows” che l'utente medio si trova ad utilizzare (e che rappresenta il 93% del parco installato). Inoltre, nel corso degli ultimi 5 anni, FTP e Telnet sono stati sostituiti quasi ovunque dalle loro controparti sicure, cioè SCP ed SSH, rispettivamente. Secondo il comune buon senso, e secondo molti specialisti, i primi programmi intrinsecamente insicuri che avrebbero potuto (e dovuto) essere citati al posto di FTP e Telnet sono Microsoft Windows, Microsoft Office (Word, Excel, PowerPoint e Access), Microsoft Internet Explorer e Microsoft Outlook. Tutti questi diffusissimi programmi, infatti, sono stati progettati e costruiti in un epoca in cui la sicurezza non rappresentava ancora un problema e sono afflitti da pesanti e ben note vulnerabilità. In questo senso corrispondono perfettamente alla definizione di programma non sicuro. Vedi a questo proposito l'Appendice M. I programmi non correttamente configurati sono quelli che pur possedendo le necessarie caratteristiche di sicurezza sono normalmente configurati in modo da non utilizzarle. David Safford cita a questo proposito NFS, il sistema usato per condividere file e stampanti sulle reti Unix. Anche in questo caso, verrebbe più naturale usare altri esempi. NFS, infatti, è stato largamente soppiantato dal più versatile e più sicuro Samba e comunque viene usato solo da amministratori di sistema che sanno bene come usarlo nel modo corretto. I programmi Microsoft citati in precedenza, invece, sono solitamente affidati a persone che possono vantare una scarsissima preparazione tecnica. Incredibilmente, per molti anni i dispositivi di sicurezza di questi programmi sono stati consegnati in uno stato disabilitato al momento dell'installazione, costringendo l'utente ad abilitarli, configurarli e gestirli di persona. Questo è il caso, ad esempio, dell'Interprete Visual Basic di MS Internet Explorer e di MS Outlook. Questo interprete, da solo, viene considerato responsabile di oltre il 90% delle epidemie di virus che si sono diffuse su Internet negli ultimi anni. Inutile dire che la stragrande maggioranza degli utenti non sa nemmeno che questo interprete esista e quindi non è certamente in grado di disabilitarlo. I programmi difettosi sono quelli che presentano errori di progettazione o di implementazione tali da comprometterne la sicurezza. David Safford non fa esempi ma, anche in questo caso, viene spontaneo pensare ai prodotti Microsoft. Praticamente tutti i programmi Microsoft, infatti, sono notoriamente afflitti da seri problemi di questo tipo, al punto che persino enti al di sopra di ogni sospetto come il CERT (Computer Emergency Response Team, vedi: http://www.cert.org/) è costretto a sconsigliarne l'uso. Queste puntualizzazioni riguardo ai prodotti Microsoft possono sembrare gratuite ed ingiustificate ma non lo sono. Non bisogna dimenticare, infatti, che praticamente tutti i problemi di sicurezza che vengono descritti come “irrisolvibili senza l'ausilio del Trusted Computing” sono in realtà flagelli che colpiscono solo l'ambiente Microsoft (Windows, Office, Internet Explorer ed Outlook). Altri ambienti di lavoro, come Linux, Unix, BSD e McOS X, sono tradizionalmente immuni da questi problemi senza nessun bisogno di ricorrere a tecnologie hardware/software come il Trusted Computing. Di conseguenza, sostenere che la situazione corrente della sicurezza informatica impone l'adozione del Trusted Computing è come minimo fuorviante. Inoltre, và anche detto che non tutti gli osservatori riconoscono nei tre punti elencati da David Safford i motivi principali della scarsa sicurezza dei nostri sistemi informatici. Secondo alcuni “dissidenti”, tra cui l'autore di questo testo, le vere cause del “problema sicurezza” sarebbero le seguenti. • L'abitudine generalizzata di sviluppare software nel segreto delle grandi aziende e di rilasciare solo la versione compilata dei programmi (illeggibile per un essere umano) rende impossibile verificare che i programmi vengano progettati dedicando la necessaria attenzione alla sicurezza e che non contengano difetti. L'intero movimento del software Open Source nasce proprio da questa constatazione e, negli ultimi 10 anni, ha chiaramente dimostrato che il software sviluppato in modo “aperto” è nettamente più sicuro di quello tradizionale. • La scarsissima preparazione tecnica degli utenti (soprattutto in Italia) li mette nella condizione di non saper scegliere il programma giusto, di non saperlo installare e configurare e di non saperlo gestire ed utilizzare nel modo corretto. Questa situazione apre la strada ad una lunghissima serie di attacchi che sono diretti non tanto al software quanto al suo utente. L'esempio più eclatante di questo tipo di attacchi è il phishing (vedi glossario) ma anche la diffusione dei virus attraverso la posta elettronica è solitamente da imputare in larga misura alla impreparazione dell'utente. • Lo scarso interesse dei privati e delle aziende per il materiale che risiede sui loro PC li porta a non acquistare programmi antivirus e firewall, a non investire tempo nella formazione degli utenti ed a disinteressarsi dei backup. Questa situazione è una vera manna dal cielo per i malintenzionati. Nessuna tecnologia potrà mai rimediare ai danni che può produrre un utente irresponsabile. Secondo questi osservatori, il problema della sicurezza risiede quindi nell'ambiente umano che vive attorno al sofwtare ed ai computer, un ambiente umano fatto di imprenditori avidi e privi di scrupoli da un lato e di utenti ignoranti ed irresponsabili dall'altro. Non si tratterebbe quindi di un problema da affrontare con nuovi strumenti tecnici (come il Trusted Computing) ma piuttosto attraverso una serie di interventi di carattere sociale ed industriale. La migliore dimostrazione della validità di questo punto di vista viene dall'ambiente Linux. Un sistema operativo e dei programmi sviluppati in modalità open source hanno reso possibile quel livello di verifica delle caratteristiche del software che è precluso al software tradizionale. Il coinvolgimento attivo degli utenti nel processo ha creato un livello di consapevolezza e di responsabilità che ha eliminato quasi completamente i problemi di sicurezza legati all'ingegneria sociale (vedi glossario). In questo momento, Linux, Unix e BSD possono già vantare un livello di sicurezza invidiabile, senza fare uso di tecnologie dedicate come il Trusted Computing. Quanto è grave la situazione? Ma quanto è realmente grave la situazione della sicurezza informatica? Secondo David Safford, e secondo molti altri specialisti, la situazione è talmente grave da rendere quasi impossibile lo sviluppo di alcuni settori cruciali dell'economia digitale, come il commercio elettronico. Tra gli osservatori che la pensano in questo modo ci sono anche Roger Schell e Michael Thompson, gli autori di “Platform Security: what is lacking”, uno dei lavori di ricerca che sono all'origine del Trusted Computing. Nel suo articolo “The need for TCPA”, David Safford riporta un interessante grafico del CERT che mostra quale sia il numero dei punti vulnerabili dei programmi che vengono scoperti nel mondo ogni anno. Già nel 2001 venivano scoperti ben 7 (sette) punti vulnerabili al giorno. Nel 2002 questo numero era già raddoppiato e nei soli primi 9 mesi del 2005 sono già stati rilevati oltre 4000 punti deboli (circa 15 al giorno). Le statistiche aggiornate sono disponibili a questa URL: http://www.cert.org/stats/cert_stats.html David Safford, giustamente, commenta in questo modo la situazione: Il problema è che rilevando difetti nel software a questo ritmo, diventa quasi impossibile applicare le patch necessarie a correggerli. Per gli hacker questa è una situazione ideale, dato che ogni sistema presenterà almeno uno di questi punti vulnerabili. I sistemi client sono particolarmente vulnerabili, dato che tipicamente non c'è un amministratore di sistema che si preoccupi di applicare le patch. Safford cerca anche di capire da dove nasca questa situazione: Perchè vengono scoperti così tanti difetti? In primo luogo bisogna tenere presente che i moderni sistemi informatici sono incredibilmente complessi. Un tipico sistema Windows o Linux, dotato delle principali applicazioni da ufficio, è formato da qualcosa come 100 milioni di righe di codice. Molti studi recenti hanno dimostrato come il tipico prodotto software dei nostri giorni contenga circa un difetto legato alla sicurezza ogni mille righe di codice. Di conseguenza, il nostro tipico sistema può avere qualcosa come 100.000 punti vulnerabili. Non c'è da sorprendersi se continuiamo a rilevare 5000 di questi punti vulnerabili ogni anno e che il ritmo a cui si continua a scoprirli stia aumentando in modo così drammatico. Con questi presupposti, le sue conclusioni non possono che essere decisamente pessimistiche: I nostri sistemi operativi e le nostre applicazioni sono così complesse che difetti e punti vulnerabili sono sostanzialmente inevitabili. Di conseguenza, è di importanza cruciale fornire un tipo di protezione hardware di base alle delicate chiavi di autenticazione e di crittografia che sia in grado di funzionare persino in presenza di software vulnerabile. Il TCPA fornisce queste funzionalità hardware e protegge le chiavi di autenticazione e di crittografia individuali da attacchi remoti via software. Purtroppo, quello che dice Safford è vero. La situazione della sicurezza informatica è effettivamente molto grave, almeno per quello che riguarda quel 93% di utenti che usa PC Intel dotati di Microsoft Windows. Qualunque utente può facilmente convincersene anche senza scomodare uno degli innumerevoli e serissimi studi che sono stati condotti su questo argomento. Basta osservare i file di log dei sistemi antivirus e dei firewall per rendersene conto: un normale utente che sia collegato ad Internet attraverso una connessione ADSL subisce diversi tentativi di attacco ogni minuto. Fino all'avvento dei sistemi antivirus di rete, era normale rilevare almeno 3 o 4 messaggi di posta elettronica contenenti virus ogni giorno. Ancora oggi, si possono ricevere facilmente ogni giorno uno o due messaggi di posta contenenti tentativi di phishing di qualche tipo. Negli ultimi tempi, grazie all'avvento di Internet e della posta elettronica, è diventata una vera tradizione dover fare i conti con almeno una o due rovinose epidemie di virus all'anno. Dal canto loro, anche i server di rete, che pure sono abitualmente basati su Linux, Unix o altri sistemi operativi considerati “sicuri”, devono far i conti con un livello di minaccia sempre più intenso e sempre più pericoloso. Senza un uso esteso di firewall, di antivirus di rete e, soprattutto, senza l'assidua opera di manutenzione effettuata dagli amministratori di sistema, le nostre aziende passerebbero gran parte del loro tempo in condizioni di “server down”. In realtà, la situazione è persino peggiore di come la descrive Safford. Secondo molti specialisti, è di fatto ingestibile già da diversi anni. Il motivo di tanto pessimismo è un micidiale mix di ragioni tecniche e sociali. Alla base di tutto c'è il fatto che, come abbiamo già detto, il 93% dei sistemi esistenti sono estremamente vulnerabili ad ogni sorta di attacco e, cosa ancora più grave, sono affidati a persone del tutto impreparate e spesso del tutto irresponsabili. Il resto è una conseguenza di questo stato di cose. La prima di queste conseguenze è che l'opera di difesa degli amministratori di sistema viene spesso vanificata dai comportamenti irresponsabili degli utenti. Ad esempio, esiste una diffusa tendenza ad usare i sistemi (aziendali e casalinghi) per scaricare musica abusivamente dalle reti peer-to-peer. Alcuni dei programmi client usati a questo scopo contengono notoriamente dei programmi adware (che visualizzano pubblicità) o addirittura spyware (che spiano il comportamento dell'utente). Come se non bastasse, questi stessi programmi sono in grado di creare connessioni crittografate con il mondo esterno, sfuggendo al controllo di chiunque, persino dell'utente. Nonostante il chiaro pericolo che questi programmi rappresentano, una larga parte degli utenti li usa, soprattutto sui sistemi disponibili in azienda, e li autorizza esplicitamente ad installare i propri componenti adware e spyware! Lo stesso avviene per molti siti web pornografici che impongono all'utente di usare programmi particolari per vedere le immagini o per accedere al sito. Sebbene sia assolutamente ovvio che questi programmi rappresentano una minaccia, una larga parte degli utenti acconsente alla loro installazione ed al loro uso pur di poter vedere le immagini! Questi comportamenti sono dovuti ad ignoranza ed a mancanza di senso di responsabilità e rendono completamente inutile il lavoro fatto dagli amministratori di sistema per proteggere le reti. Questi comportamenti rendono anche vana l'installazione di firewall e programmi antivirus sui PC di casa. Come se tutto questo non bastasse, negli ultimi anni si è riscontrata una deleteria tendenza delle aziende a non assumere gli amministratori di sistema e gli specialisti di sicurezza che sarebbero necessari. Dietro questa scelta ci sono certamente delle difficoltà economiche innegabili ma c'è anche la convinzione che il PC sia sostanzialmente un problema del dipendente che lo utilizza. Naturalmente, una volta affidato nelle mani di una persona che non ha né la preparazione tecnica né l'interesse necessari per proteggerlo, il sistema diventa immediatamente preda di hacker, virus ed ogni altro flagello digitale esistente. Dato che le infezioni e le intrusioni possono facilmente passare da un sistema ad un altro attraverso la rete locale o Internet, una volta che alcuni sistemi siano finiti sotto il controllo degli hacker, o siano stati contaminati da virus, è solo questione di tempo prima che il problema finisca per interessare intere LAN ed intere sezioni di Internet. In queste condizioni, è effettivamente utopistico pensare che si possano sfruttare appieno le grandi potenzialità dell'informatica contemporanea e di Internet. Cosa occorre per rendere sicuri i nostri sistemi? Come abbiamo appena visto, tutti gli specialisti sono d'accordo sul fatto che la situazione globale della sicurezza informatica sia drammatica. Persino i più acerrimi nemici del Trusted Computing converrebbero facilmente su questo punto. Tuttavia, questo consenso non esiste più se si esaminano le soluzioni che vengono proposte dalle varie parti. Secondo gli specialisti che sostengono il Trusted Computing, e molti altri analisti indipendenti, per affrontare seriamente il problema della sicurezza è necessario introdurre nei computer della prossima generazione alcune funzionalità di base che permettano di proteggere in modo adeguato alcuni elementi critici del sistema. Gli elementi critici fondamentali che si intende proteggere sono sostanzialmente delle chiavi crittografiche usate per identificare oggetti (componenti hardware, programmi, documenti ed anche utenti) e per cifrare/decifrare file (documenti e programmi) e flussi di dati (comunicazioni digitali tra computer). Le funzionalità fondamentali che vengono richieste al Trusted Computing sono quindi soltanto due: • la capacità di generare e conservare in modo sicuro delle chiavi crittografiche • la capacità di crittografare un insieme di dati applicando alcuni algoritmi ben noti Queste funzionalità di base sono sostanzialmente le stesse che vengono messe a disposizione già da diversi anni da alcuni tipi di chip crittografici esistenti, come l'ESS (Embedded Security Subsystem) di IBM, e da alcuni tipi di Smart Card. Sono anche le stesse funzionalità che vengono fornite da programmi come PGP (Pretty Good Privacy) e GPG (GNU Privacy Guard). Non c'è quindi nulla di realmente rivoluzionario nel TC. Grazie a queste capacità di base i sistemi Trusted Computing potrebbero fornire le funzionalità necessarie a “blindare” i nostri sistemi informativi, ad esempio: • la possibilità di identificare in modo sicuro componenti hardware, interi sistemi, programmi, documenti e persone. • la possibilità di proteggere crittograficamente programmi, documenti, comunicazioni e flussi di dati di vario tipo La “terapia” proposta dai sostenitori del TC consiste quindi nella introduzione di un innovativo “sistema immunitario” nei computer della prossima generazione. Secondo molti osservatori contrari al TC, invece, questa terapia è inutile e molto pericolosa. Come vedremo meglio in seguito, secondo gli avversari del TC la soluzione ai nostri problemi passa attraverso un cambiamento radicale nelle abitudini di acquisto degli utenti e delle aziende ed attraverso un cambiamento di mentalità nei “decision maker”. Cos'è il Trusted Computing Il Trusted Computing è una tecnologia composta da dispositivi elettronici (hardware) e da programmi (software) che permette di proteggere un sistema informatico dai principali tipi di attacchi. In realtà, come vedremo nel seguito, esistono diversi progetti e diverse implementazioni del concetto di Trusted Computing. Queste implementazioni svolgono funzioni diverse e sono caratterizzate da approci diversi allo stesso problema. Per il momento, possiamo dire che il TC permette di difendere i seguenti elementi del sistema dai tipi di attacco descritti a fianco. Elemento da difendere Tipi di attacco previsti Programmi (Applicazioni) e Sistema Operativo - Corruzione da parte di programmi (virus) - Attacco da parte di persone (hacker) Documenti e file multimediali (Musica e Film) - Accesso da parte di programmi non autorizzati (lettori diversi da quello originale) - Accesso da parte di persone non autorizzate (hacker) - Copia e distribuzione non autorizzata Flussi di dati (audio e video) - Intercettazione da parte di programmi non autorizzati - Intercettazione da parte di persone non autorizzate (hacker) - Salvataggio abusivo su disco Comunicazioni tra diversi - Intercettazione ed analisi da parte di computer collegati in rete persone e programmi non autorizzati (LAN o Internet) Comunicazione tra diversi - Intercettazione ed analisi da parte di componenti all'interno programmi non autorizzati (anche dello stesso computer eseguiti dal proprietario del PC) Come si può notare, non sempre questa tecnologia difende il sistema da attacchi provenienti dall'esterno. In alcuni casi, il TC difende alcuni elementi del sistema da un attacco che può essere perpetrato solo dal suo stesso proprietario o comunque da una persona che abbia accesso fisico al sistema. In altri termini, in alcuni casi il TC non difende il sistema (e quindi l'utente) da un attacco esterno ma piuttosto difende un file (e quindi il proprietario dei diritti su di esso) dall'azione dell'utente/proprietario del computer. Questa curiosa caratteristica del TC è alla base di alcune delle critiche più aspre che vengono mosse a questo progetto e verrà quindi discussa ampiamente in questo testo. A questo proposito, vale la pena ricordare che il TC non è concepito per essere usato solo all'interno dei computer: praticamente qualunque dispositivo digitale può essere dotato di questo tipo di protezione (e presto lo sarà). Fisicamente parlando, il TC è formato da tre elementi che poggiano uno sull'altro. Al livello più basso e più fondamentale si trova un particolare microchip chiamato TPM (Trusted Platform Module) o, più confidenzialmente, Fritz Chip (in onore del Senatore Fritz Hollings che si è speso instancabilmente per rendere obbligatoria questa tecnologia su tutti i dispositivi digitali commercializzati sul mercato USA). Questo chip svolge solo alcune funzioni crittografiche fondamentali. La tabella seguente le riporta in dettaglio. Funzioni del Fritz Chip Utilizzo Identificatore crittografico univoco (Attestation Identity Key, o AIK) Identificazione sicura ed univoca del chip, dell'intero sistema o dell'utente. Generazione di chiavi crittografiche e di "hash" Usata dalle funzioni crittografiche di codifica/decodifica e di verifica di integrità Funzioni crittografiche di codifica e decodifica in tempo reale (con protocolli RSA, SHA-1 e HMAC) - Protezione crittografica di programmi, documenti e canali di comunicazione. - Firma digitale di programmi, documenti e intere configurazioni del sistema. - Verifica di integrità di programmi, documenti ed intere configurazioni Funzioni di gestione - Abilitazione del sistema TC Salvataggio di chiavi per il backup Scambio di chiavi con altri sistemi Altri tipi di gestione Come abbiamo già fatto notare, le funzionalità offerte dal Fritz Chip sono molto simili a quelle fornite da alcuni famosi programmi di crittografia a chiave pubblica, come PGP (Pretty Good Privacy, vedi http://www.pgp.com/ , http://www.pgpi.org/ e http://www.openpgp.org/) e GPG (GNU Privacy Guardian, vedi: http://www.gnupg.org/).Queste funzionalità sono anche le stesse che vengono fornite dal chip ESS (Embedded Security Subsystem) di IBM presente nei laptop IBM e Lenovo ThinkPad di gamma alta (vedi: http://www1.ibm.com/support/docview.wss?uid=psg1MIGR-46391-IT) . Il Fritz Chip può essere implementato sia sotto forma di microchip separato, che viene saldato sulla scheda madre del dispositivo, sia come circuiteria specializzata che viene "incisa" all'interno della CPU di un computer o di un altro dispositivo. Il Fritz Chip viene utilizzato come componente crittografico di base all'interno di una architettura hardware più complessa. I principali progetti di di “secondo livello” sono il progetto LaGrande di Intel, il progetto Presidio (AMT) di AMD ed il progetto TrustZone di ARM. Queste architetture hardware mettono a disposizione alcune nuove funzionalità. La seguente tabella elenca ad esempio quelle previste dall'architettura LaGrande di Intel. Funzionalità Esecuzione protetta dei programmi (Protected Execution) Utilizzo Protezione della esecuzione dei programmi dalle interferenze di altri programmi che girano sullo stesso computer. Memorizzazione sigillata dei Protezione crittografica dei documenti documenti (Sealed Storage) che vincola l'utente ad una configurazione conosciuta ed "affidabile" del sistema per procedere alla decifrazione. Input protetto (Protected Input) Protezione del sistema contro i programmi che leggono la pressione dei tasti e le azioni del mouse (logger) Output protetto (Protected Output) Protezione nei confronti di programmi che registrano ciò che appare sullo schermo o ciò che arriva all'uscita della scheda audio. Attestazione (Attestation) - Verifica che la configurazione del sistema sia la stessa già vista in occasione di una precedente richiesta dello stesso tipo. In altri termini, certifica che il sistema non abbia subito cambiamenti. - Verifica anche che un singolo programma od un singolo documento non sia stato alterato. Funzionalità Utilizzo Attestazione remota (Remote Attestation) Certifica ad un interlocutore remoto che la configurazione del sistema sia la stessa già vista in occasione di una precedente richiesta dello stesso tipo. In altri termini, certifica che il sistema non abbia subito cambiamenti, anche effettuati dal suo legittimo proprietario. Avviamento protetto (Protected Launch o Protected Boot) Verifica che l'intera sequenza di avviamento del sistema passi attraverso stati conosciuti ed "affidabili". Come potete vedere, anche in questo caso il TC non sempre difende il sistema (e quindi l'utente) da minacce esterne. In alcuni casi fornisce delle funzionalità che servono soprattutto a difendere un interlocutore esterno (ad esempio un fornitore di software o di contenuti multimediali) dall'azione del legittimo proprietario del sistema. Questo è il caso dell'attestazione remota, ad esempio. L'ultimo strato di TC è rappresentato dal sistema operativo e dai programmi (applicazioni). Microsoft ha in avanzata fase di sviluppo una particolare versione di Windows Vista che conterrà il software necessario a sfruttare le potenzialità offerte dall'architettura LaGrande di Intel (e forse Presidio di AMD). Nella terminologia di Microsoft questo progetto è noto come NGSCB (Next Generation Secure Computing Base). In passato era noto come "Palladium". NGSCB è formato da due componenti: un particolare "kernel" del sistema operativo dedicato alla sicurezza, chiamato Nexus, ed una serie di programmi che sfruttano le sue capacità. Questi programmi sono chiamati NCA (Nexus Computing Agents) e possono essere sia intere applicazioni (come Outlook o Internet Explorer) che semplici componenti di programmi più ampi. Lo strato software non fornisce nuove funzionalità ma rende possibile lo sfruttamento di quelle messe a disposizione dal sottostante strato hardware. Quanti sono i progetti di Trusted Computing? Ma quanti sono allora i progetti Trusted Computing? Attualmente, ne esiste almeno una mezza dozzina, in parte destinati al mondo dei computer ed in parte destinati al mondo dei dispositivi digitali portatili e da salotto (i prodotti di “consumer electronics”, come vengono spesso chiamati). I progetti del Trusted Computing Group La tecnologia di base del Trusted Computing viene sviluppata da un apposito consorzio noto come TCG (Trusted Computing Group). Questo consorzio non produce nessun dispositivo digitale e si limita invece a rilasciare una serie di specifiche tecniche che permettono ai suoi membri di creare dispositivi standardizzati ed in grado di cooperare tra loro. Il consorzio TCG segue lo sviluppo di diversi progetti attraverso degli appositi “gruppi di lavoro”. I progetti più interessanti sono i seguenti. TRUSTED PLATFORM MODULE (TPM) O “FRITZ CHIP” I TPM sono dei microchip che implementano le funzioni crittografiche di base (creazione e gestione delle chiavi, cifratura/decifratura secondo vari algoritmi, etc.) e che possono essere usati come componenti (“moduli”) all'interno di una architettura di sicurezza più complessa, come Intel LaGrande o AMD Presidio. Solitamente vengono chiamati “Fritz Chip”, in onore del senatore USA Fritz Hollings che vorebbe la loro introduzione obbligatoria in tutti i dispositivi digitali commercializzati sul mercato statunitense. Il TCG si occupa della definizione delle specifiche tecniche di questi chip che vengono poi prodotti da alcuni membri del consorzio, come IBM e STMicroelectronics. Una caratteristica molto importante delle specifiche del TPM è che sono concepite in modo che le funzionalità di base possano essere realizzate sia come chip fisicamente separato dalla scheda madre del dispositivo ospite sia come circuiteria integrata all'interno di un altro chip, come ad esempio all'interno della CPU del dispositivo ospite. TRUSTED NETWORK CONNECT (TNC) TNC è un insieme di specifiche che permette di usare le funzionalità Trusted Computing per proteggere le comunicazioni tra computer collegati tra loro in rete e per svolgere alcune funzioni critiche, come l'autenticazione degli utenti. INFRASTRUCTURE Il progetto infrastructure si occupa della definizione di una infrastruttura comune e di interfacce che permettono ai vari elementi della tecnologia Trusted Computing di cooperare tra loro. Ad esempio, è questo gruppo di lavoro che si preoccupa di stabilire come deve essere gestita la comunicazione “Trusted” tra dispositivi mobili (telefoni cellulari) e dispositivi fissi presenti su Internet (server), laddove le specifiche esistenti presentano delle lacune. PC CLIENT Questo gruppo di lavoro si occupa della definizione delle specifiche relative alla implementazione del Trusted Computing sui normali PC da tavolo (i “client” dell'architettura client/server di Internet). SERVER Questo gruppo di lavoro si occupa della definizione delle specifiche relative alla implementazione del Trusted Computing sui server (i “server” dell'architettura client/server di Internet). MOBILE Una delle applicazioni più importanti del Trusted Computing sarà quella sui dispositivi di comunicazione mobile, cioè i telefoni cellulari di terza generazione (GPRS e UMTS), gli “smart phone” ed i PDA dotati di modem interno. Un apposito gruppo di lavoro del TCG ha provveduto a definire le caratteristiche che devono avere i microchip usati su questi dispositivi. Alcune aziende del TCG, come Nokia e Motorola hanno già annunciato la disponibilità dei componenti Trusted Computing all'interno dei loro telefoni cellulari di ultima generazione. SOFTWARE STACK Questo gruppo di lavoro si occupa della definizione della API (Application Programming Interface) dei dispositivi. La API è l'insieme di funzioni che vengono messe a disposizione dei programmatori per la creazione del software che usa le funzionalità di questi dispositivi hardware. STORAGE Il TCG ha anche un gruppo di lavoro che si occupa della definizione dei modi in cui i dati devono essere memorizzati sui supporti digitali, ad esempio su dischi fissi e memorie flash. Grazie al lavoro di questo gruppo stanno per essere immesse sul mercato delle flash card dotate di funzionalità Trusted Computing integrate. Queste funzionalità saranno utili, ad esempio, a quelle software house che desiderassero vendere i loro programmi o videogame memorizzandoli su flash card di tipo standard. Il consorzio TCG ha raccolto il testimone lasciato dal TCPA (Trusted Computing Platform Alliance) nel 2002 ed ha adottato le specifiche che erano state sviluppate fino a quel momento. Attualmente (Novembre 2005) il TCG raccoglie oltre 110 membri, tra cui IBM, Intel, AMD, Microsoft, Sun, Hewlett Packard e Sony. Sei di questi membri producono industrialmente i Fritz Chip: Atmel, Broadcom, Infineon, Sinosun, STMicroelectronics e Winbond. Intel “LaGrande” (LT) Intel, che produce le CPU usate dai normali computer da tavolo, da gran parte dei server e dai nuovi computer Apple, sta attivamente sviluppando un proprio progetto di tecnologia Trusted Computing conosciuto come progetto LaGrande o, più semplicemente, LT (LaGrande Technology). Il progetto LaGrande utilizza i TPM del TCG come moduli crittografici fondamentali e costruisce attorno ad essi una struttura più ampia e complessa. A quanto pare, tra i progetti di Intel c'è anche l'intenzione di rendere disponibili le funzionalità crittografiche di base direttamente nella CPU del computer. In questo modo, il Fritz Chip si troverebbe indissolubilmente “annegato” nella circuiteria della CPU. Secondo alcune fonti, alcune funzionalità di questo tipo, legate ad applicazioni DRM, sarebbero già state silenziosamente incluse nei Pentium D immessi sul mercato nella seconda metà del 2005. Intel ha ufficialmente smentito questa notizia ma non tutti gli osservatori si sono considerati soddisfatti da questa presa di posizione. Ai tempi dell'immissione sul mercato del Pentium III, infatti, Intel era già rimasta coinvolta in una situazione analoga che riguardava il numero di serie del processore. Alcune gaffe che risalgono a quel periodo hanno avuto l'effetto di rendere poco credibili le affermazioni di Intel sulla reale struttura interna del Pentium D. AMD Security Excecution Mode (SEM) o “Presidio” Anche AMD, che è il secondo produttore mondiale di CPU per computer, sta sviluppando la sua architettura di Trusted Computing. Su questo progetto si sa ancora poco ma è verosimile che ricalchi le linee guida del progetto LaGrande di Intel. Microsoft Next Generation Secure Computing Base (NGSCB) Il progetto di Microsoft è molto diverso dai precedenti in quanto è l'unico che si occupi di software. NGSCB è il nome di un ampio progetto che dovrebbe portare allo sviluppo di un nuovo sistema operativo “Trusted” entro il 2008. All'interno di questo progetto sono presenti diversi componenti. NEXUS Il Nexus è un nuovo kernel sicuro per il sistema operativo. A quanto pare dovrebbe essere incluso in Windows Vista entro il 2008. NEXUS COMPUTING AGENTS (NCA) Gli NCA sono i componenti software (intere applicazioni o semplici componenti) che utilizzano le funzionalità di Trusted Computing della piattaforma sottostante (Nexus + piattaforma hardware). SECURE SUPPORT COMPONENT (SSC ) Gli SSC sono i chip crittografici di base usati dalla architettura NGSCB. Dovrebbero essere equivalenti ai TPM Rel. 1.2 del TCG. Naturalmente, è previsto che Microsoft NGSCB faccia uso delle funzionalità di Trusted Computing fornite dalle piattaforme hardware Intel LaGrande e AMD Presidio. Microsoft è stata costretta a rimandare più volte l'immissione sul mercato di questa tecnologia, un tempo nota come “Palladium”. Inizialmente, era previsto che Palladium arrivasse sul mercato nel 2004. La forte reazione negativa di gran parte degli osservatori ha dapprima costretto Microsoft a rimandare e poi persino a cambiare nome al progetto in NGSCB, in modo da cancellare, almeno in parte, le tracce delle polemiche che avevano investito Palladium. Il cambiamento di nome non è però stato abbastanza efficace da depistare completamente gli osservatori e Microsoft si è trovata costretta a rimandare ancora l'immissione sul mercato di questa tecnologie. Le ultime notizie farebbero pensare ad una immissione sul mercato di NGSCB nel 2008 come componente (naturalmente obbligatorio) del secondo service pack del sistema operativo Windows Vista. In questo momento non è ancora noto cosa abbia intenzione di fare Apple con il suo sistema operativo McOS X ma sembra probabile che anche la casa di Cupertino finisca per adottare questa tecnologia. Le funzionalità del Trusted Computing Per capire meglio quali siano le funzionalità fornite dalla tecnologia Trusted Computing, e che cosa esse significhino per l'utente, occorre analizzarle in modo più approfondito. Esecuzione protetta (Protected Execution) Questa è la caratteristica che viene meno contestata. Significa semplicemente che durante la sua esecuzione un programma viene protetto dalla interferenza di altri programmi. Questo dovrebbe rendere inefficaci alcuni tipi di attacco (exploit) che attualmente vengono portati a termine ai danni dei servizi di sistema (come, ad esempio, il servizio software che gestisce la condivisione di file e directory nelle reti Windows). Memoria protetta (Curtained memory) Anche la memoria protetta è la conseguenza di una esigenza legittima. Questa funzionalità permette di proteggere i dati usati da un programma dall'azione di altri programmi che vogliano leggere questi dati o li vogliano modificare. Questa funzionalità può anche essere usata per proteggere i contenuti multimediali da copie abusive. L'identificazione univoca del chip, del sistema e dell'utente La presenza del Fritz Chip permette di identificare in modo sicuro ed univoco il sistema che lo ospita e, indirettamente, il suo utente e/o proprietario. Questo risultato può essere ottenuto direttamente, grazie ad un identificatore crittografico univoco inciso nel silicio del Fritz Chip od indirettamente, in base ad un meccanismo più complesso legato alla generazione di chiavi crittografiche. Microsoft prevede esplicitamente che il Fritz Chip usato per implementare la sua architettura di TC NGSCB sia dotato di un identificatore univoco. Ecco cosa afferma Microsoft nel documento NGSCB Security Model: 1 La “root of trust” (fonte iniziale della fiducia) di NGSCB è resa il più possibile robusta includendo una coppia di chiavi RSA pubblica e privata nel chip SSC che immagazzina i dati segreti. La chiave privata del coprocessore crittografico (SSC) non è accessibile: può solo essere usata per cifrare e decifrare i dati segreti. Le specifiche originali del TCG, molto più attente ai problemi di privacy, non parlano direttamente di questo "numero di serie" inciso nel silicio e preferiscono parlare di "Attestation Identity Key" e di "Endorsement Key". In pratica, il TCG prevede che il Fritz Chip sia in grado di generare in modo casuale un numero illimitato di particolari chiavi per la crittografia a chiave pubblica chiamate "attestation key" o "endorsement key" ("chiavi di attestazione" o "chiavi di approvazione"). L'utente sarebbe in grado di usare una qualunque di queste chiavi per attestare (cioè “dimostrare” o “certificare”) la propria identità all'interlocutore. In questo modo, l'interlocutore potrebbe sempre stabilire se sta parlando con la persona "giusta", ma non potrebbe mai risalire alla sua vera identità. Questa procedura ricorda da vicino quella usata dalle "session key" di PHP sul web. Comunque, sia la tecnica prevista dal TCG che il numero di serie menzionato da Microsoft possono essere usati per identificare con certezza ed in modo univoco il chip, il sistema su cui è installato, la configurazione di questo sistema e, in certi casi ed a certe condizioni, anche l'identità dell'utente. Ma a cosa serve questa funzionalità? Che sicurezza aggiuntiva ci fornisce? All'utente normale, probabilmente nessuna. Per identificare l'utente quanto basta per i nostri scopi ci sono sufficienti i metodi esistenti. Una volta che abbiamo identificato l'utente attraverso il suo indirizzo di posta elettronica, o attraverso una password di accesso, non ci interessa sapere nient'altro. Il fatto che il nostro interlocutore legga la sua posta elettronica dal computer da tavolo o dal portatile, che usi MS Outlook o 1The NGSCB root of trust is made as strong as possible by embedding a 2048-bit RSA public and private key in the SSC that stores the shared secrets. The coprocessor's private key cannot be accessed; it can only be used to encrypt and decrypt secrets. Eudora ci è del tutto indifferente. Ben diversa è la situazione di chi vende software e contenuti multimediali, magari attraverso Internet. Fa molta differenza se il cliente sta guardando il film che ha acquistato da noi in DVD sul suo computer o se invece ha "prestato" questo materiale (e le relative password di accesso) ad uno o più dei suoi amici che li stanno "consumando" sui rispettivi computer. Attestazione (Attestation) L'attestazione consiste nella generazione di un identificatore crittografico univoco, chiamato "hash", che descrive la struttura corrente di un documento, di un programma o di una intera configurazione. Da un punto di vista logico, si tratta della stessa operazione che viene eseguita quando si genera l'hash di un file usando un CRC32 od un MD5 (vedi glossario). Hash di questo tipo vengono già ampiamente utilizzati per "fotografare" lo stato corrente di un file e per verificare, in seguito, che il file non abbia subito cambiamenti a nostra insaputa (ad esempio a causa di un virus). Questa tecnica è normalmente usata dai sistemi di rilevamento delle intrusioni (IDS, Intrusion Detection System) come TripWire e AIDE (vedi Appendice H). Anche il sistema di abilitazione di Windows XP prevedeva una operazione di questo tipo: la configurazione hardware e software del sistema veniva "fotografata" (o “misurata”) generando un hash e questo hash veniva inviato alla Microsoft via Internet. Microsoft rispondeva inviando una "password" che autorizzava all'uso del sistema operativo. Se un elemento del sistema, ad esempio il disco rigido, veniva sostituito bisognava ripetere la procedura. In questo modo Microsoft ha messo in atto una prima, rudimentale forma di lotta alla pirateria digitale. Il TC usa ampiamente questa tecnica per stabilire che un programma, un componente hardware od una intera configurazione non siano stati sostituiti o modificati. Questo permette di rilevare immediatamente eventuali virus ma permette anche di rilevare facilmente eventuali modifiche al sistema. Quest'ultima funzionalità è alla base di un meccanismo che permette di impedire eventuali violazioni delle licenze d'uso del software (EULA: End User Licence Agreement) o dei diritti d'autore sui contenuti digitali. Ad esempio, se si tenta di bypassare il sistema anticopia di un file musicale MP3 usando un lettore diverso da quello originale, il sistema TC è in grado di rilevare questa sostituzione del programma e di impedire l'accesso al file MP3. Attestazione remota (Remote attestation) L'attestazione viene normalmente usata per attestare (certificare) all'utente, ed ai programmi che egli usa, che il sistema non abbia subito cambiamenti rispetto ad una situazione già nota in precedenza e ritenuta sicura. L'attestazione remota certifica la stessa cosa ad un interlocutore esterno, di solito un altro computer connesso in rete (ad esempio un server web). Questa caratteristica è decisamente curiosa. Perchè mai noi dovremmo certificare ad un ente esterno che il nostro computer non ha subito variazioni rispetto alla volta precedente? La spiegazione ufficiale è che questo serve a stabilire una relazione iniziale di fiducia tra il nostro computer e quello remoto. Ecco come descrive questa caratteristica la Intel nella sua LaGrande Technological Overview: 2 Attestazione: permette al sistema di fornire garanzie sul fatto che l'ambiente protetto di LaGrande è stato invocato correttamente. Consente anche di fornire una misura del software che sta girando nello spazio protetto. L'informazione che viene scambiata durante una attestazione è chiamata una Attestation Identity Key ed è usata per stabilire una relazione di fiduzia reciproca tra le parti. La “misura del software” che viene citata in questo frammento di testo è la “fotografia” della situazione del software 2 Attestation: Enables a system to provide assurance that the LT protected environment was correctly invoked. It also provides the ability to provide a measurement of the software running in the protected space. The information exchanged during an attestation function is called an Attestation Identity Key credential and is used to help establish mutual trust between parties. esistente: numero, identità e configurazione corrente dei programmi coinvolti nel processo. Se vi sembra strano che sia un sistema hardware/software a “stabilire una relazione di fiduzia reciproca tra le parti”, sappiate che non siete i soli. Questa caratteristica di TC è una delle più contestate. Lo stesso documento prosegue in questo modo: 3 LT supporta un meccanismo opzionale e verificabile di reporting, chiamato “attestazione”. L'attestazione permette che l'utente od un agente remoto possano misurare l'ambiente operativo in esecuzione usando le funzionalità di misura e di reporting messe a disposizione dal TPM. Usando queste informazioni, l'utente o l'agente remoto possono decidere se fidarsi o meno del sistema. Anche Microsoft descrive questa caratteristica nello stesso modo: 4 L'attestazione è il processo grazie al quale un frammento di codice firma digitalmente un frammento di dati e lo riconosce, permettendo in questo modo di confermare al ricevente che il frammento di dati è stato assemblato da un insieme di programmi identificato crittograficamente. Quando viene usato insieme ad una infrastruttura per la certificazione e per la gestione delle licenze, questo meccanismo permette all'utente di rivelare delle caratteristiche selezionate del suo ambiente operativo ad un richiedente esterno e di provare ad un servizio remoto che l'hardware e l'insieme di programmi è legittimo. Autenticando sé stesse ad una entità esterna, le applicazioni “trusted” possono creare, verificare e mantenere un perimetro di sicurezza che non richiede la presenza di autorità esterne o di amministratori fidati. L'attestazione fornisce una solida base di sicurezza per l'esecuzione di molti compiti che presentano dei rischi. Queste spiegazioni ufficiali non fanno altro che spostare la 3 LT supports an optional, verifiable reporting mechanism, called attestation. Attestation permits either the user or, optionally, a remote agent to measure the currently running environment using measurement and reporting mechanisms supported by the TPM. Based upon these reported measurements, the user or remote agent may use this information to decide whether to trust the current platform environment. nostra domanda iniziale su un piano leggermente più tecnico: per quale motivo il sistema remoto ha bisogno di conoscere la configurazione della nostra macchina per potersi fidare di noi? Non gli basta identificarci con una normale password? Tecnicamente, il fatto di sapere che la nostra configurazione non è cambiata permette al nostro interlocutore di sapere che nessun elemento del nostro sistema è stato cambiato a nostra insaputa, ad esmepio da un virus, ma questo è un nostro problema e non lo dovrebbe riguardare. In realtà, l'aspetto più interessante dell'attestazione remota è che permette al nostro interlcutore di scoprire se noi abbiamo intenzionalmente cambiato qualche elemento del sistema. Ad esempio, potremmo avere installato un programma che finge di essere un lettore multimediale conosciuto ma che invece provvede a salvare abusivamente sul nostro disco rigido dei brani musicali protetti da copyright. Se il nostro interlocutore è un sito web che vende musica online, questa caratteristica può fare una grande differenza. In altri termini, l'attestazione remota non difende noi da qualche minaccia esterna ma difende invece il nostro interlocutore dalle conseguenze delle nostre azioni. Seth Schoen, nel suo articolo "Trusted Computing: promise and risk" identifica questo problema con molta chiarezza: 5 Problema: l'incertezza di una terza parte riguardo al nostro ambiente software è normalmente una funzionalità apprezzata, non un difetto. 4 Attestation is the process by which a piece of code digitally signs and attests to a piece of data, helping to confirm to the recipient that the data was constructed by a cryptographically identifiable software stack. When used in conjunction with a certification and licensing infrastructure, this mechanism allows the user to reveal selected characteristics of the operating environment to external requestors and to prove to remote service providers that the hardware and software stack is legitimate. By authenticating themselves to remote entities, trusted applications can create, verify, and maintain a security perimeter that does not require trusted administrators or authorities. Attestation provides a stronger security foundation for many tasks that could potentially pose security risks. 5 Problem: Third-party uncertainty about your software environment is normally a feature, not a bug .......... ............. Nonostante il fatto che il Trusted Computing fornisca delle funzionalità importanti in termini di sicurezza, fornisce anche delle funzionalità che possono essere utilizzate in modo scorretto a discapito del cliente a cui si chiede di adottare questa nuova tecnologia. La prima di queste funzionlaità è l'attestazione remota che Microsoft descrive come altamente innovativa nel settore dell'informatica distribuita in quanto non esiste niente di comparabile nei computer del giorno d'oggi. ............. La nostra preoccupazione fondamentale è che il Trusted Computing è stato concepito deliberatamente per supportare dei modelli di sicurezza in cui il proprietario di un computer TC viene considerato una minaccia. Questi modelli di sicurezza rappresentano l'eccezione e non la regola nella storia dei computer e della sicurezza delle comunicazioni e non fanno parte delle caratteristiche per le quali il TC viene proposto al pubblico. ............... L'attestazione è appropriata per prevenire l'eventualità che il software di un computer venga cambiato all'insaputa del suo proprietario, ad esempio da un virus. Sfortunatamente il modello di attestazione proposto dal TCG può ugualmente prevenire che il software di un computer venga Even as trusted computing architectures provide security benefits, they may include features that can be abused, to the detriment of the customers who are asked to adopt the technology. Chief among these features is remote attestation, which Microsoft describes as "break[ing] new ground in distributed computing" because no comparable feature exists in current computers ............. Our most fundamental concern is that trusted computing systems are being deliberately designed to support threat models in which the owner of a "trusted" computer is considered a threat. These models are the exception rather than the rule in the history of computer and communications security, and they are not part of the rationales for trusted computing publicly offered by its proponents. ............... cambiato con la piena consapevolezza e la piena approvazione del proprietario. Mentre il proprietario rimane sempre in grado di cambiare il software, la presenza del TC gli può impedire di comunicare con altri computer se egli effettua questi cambiamenti. Dato che una terza parte in questo momento non ha nessun modo affidabile di stabilire che programma state usando, questa terza parte non ha nessun modo affidabile di obbligarvi ad usare un programma specifico. Questo aspetto della tecnologia corrente è quasi sempre un vantaggio per l'utente, in termini di libertà di scelta, di competizione tra produttori di software, di interoperabilità e di possibilità di controllo sul sistema da parte dell'utente, e di conseguenza nessuno schema di attestazione che cambi questa situazione può essere di beneficio per l'utente. Seth Schoen arriva anche a proporre una possibile soluzione a questo problema e la chiama Owner Override (sovrascrittura da parte dell'utente). Ne parleremo in dettaglio più avanti nel testo. Memorizzazione sigillata (Sealed Storage) La memorizzazione sigillata non deve essere confusa con la semplice memorizzazione protetta. La memorizzazione protetta consiste nel crittografare un file prima di scriverlo su disco. Questo file può essere copiato e spostato come qualunque normale file ma solo chi conosce la password necessaria può aprirlo e accedere al suo contenuto (testo, Attestation is appropriate for the purpose of preventing the software on a computer from being changed without the knowledge of the computer's owner (for instance, by a virus). Unfortunately, the attestation model in TCG's current design can equally effectively prevent the software on a computer from being changed deliberately by the computer owner with his or her full knowledge and consent. While the owner is always free to alter software, attestation adds a new risk: doing so may now eliminate the computer's ability to interoperate with other computers. Because third parties currently have no reliable way to tell what software you are using, they have no reliable way to compel you to use the software of their choice. This aspect of the status quo is almost always a benefit for computer owners -- in terms of improved competition, software choice, software interoperability, and owners' ability to control their computers -- and therefore no attestation scheme that changes this situation is likely to be beneficial to consumers. musica, film, etc.). Nella memorizzazione sigillata viene aggiunta una ulteriore condizione. Non basta più la password per decrittare il file: bisogna anche usare lo stesso programma e lo stesso ambiente che sono stati usati per crittografarlo. Il programma e l'ambiente vengono certificati grazie alle funzionalità di attestazione descritte in precedenza. Ma a cosa serve questa nuova caratteristica? Perchè condizionare l'apertura del file all'uso dello stesso programma usato per crittografarlo? Non basta la conoscenza della password a dimostrare che si è legittimamente autorizzati a farlo? Se ci limitiamo ad esaminare le normali esigenze crittografiche dell'utente, questa funzionalità è chiaramente inutile e probabilmente dannosa. La sua utilità diventa chiara se ci mettiamo nella posizione di chi vende musica o film su Internet. Normalmente, i file contenenti musica e film vengono trasferiti sul computer dell'utente in formato crittografato e per accedervi è necessario possedere una password di accesso che si acquista in rete. In questo modo, il file può essere trasferito senza problemi da una macchina all'altra e solo chi possiede la password ne può godere. Questo però lascia aperta la porta a chiunque sia disponibile a rimettere a disposizione di altri sia il file crittografato che la password. Basta copiare il file su un'altra macchina, fornire la password al programma di decrittazione ed il gioco è fatto. Questo è ciò che avviene da sempre con i programmi protetti da password come MS Office ed AutoDesk AutoCAD, ad esempio. Se la decrittazione non è più condizionata solo alla conoscenza della password, ma bisogna anche usare esattamente la stessa macchina che è stata utilizzata al momento dell'acquisto del file, questa copia abusiva non può più essere effettuata. Input/output protetto (Protected Input/Output) Sia Microsoft, con NGSCB, che Intel, con LaGrande, aggiungono alle specifiche del TCG una funzionalità originariamente non prevista: la protezione crittografica dei canali di comunicazione tra l'utente ed il computer. Sfruttando le funzionalità di codifica e decodifica dei flussi di dati in tempo reale messe a disposizione dall'hardware TC, le comunicazioni che avvengono tra il mouse e la tastiera da un lato e il computer dall'altro vengono crittografate e rese impenetrabili agli estranei. Lo stesso avviene per i flussi di dati che arrivano da Internet o dai lettori (CD, DVD, MP3, MPEG, etc.) presenti sul computer e che sono diretti allo schermo ed alle casse acustiche. Anche questa è una funzionalità piuttosto curiosa: per quale motivo è necessario proteggere i flussi di dati che scorrono all'interno del computer? Ufficialmente, questa caratteristica serve a proteggere questi flussi di dati dai programmi spia che rilevano la pressione dei tasti della tastiera (key logger) o che registrano quanto viene visuallizato sullo schermo (screen capture). Viste sotto questa luce queste funzionalità sono sicuramente un passo avanti in termini di sicurezza. Tuttavia, se si osservano queste funzionalità sotto un'altra luce le cose cambiano in modo significativo. Cosa succederà ai programmi che al giorno d'oggi vengono usati per "catturare" i flussi di dati audio e video e quindi per salvare abusivamente una copia di brani musicali e di film coperti da copyright? Che succederà ai programmi come Total Recorder (http://www.highcriteria.com/), SoundRecorder (http://www.soundrecorder.net/), Audio Haijack (http://www.rogueamoeba.com/audiohijackpro/) e MPlayer per Linux? Ovviamente questo tipo di programmi non potrà più funzionare. Avviamento protetto (Protected Launch) Grazie alle funzionalità di attestazione messe a disposizione dal Fritz Chip, i computer dotati di tecnologia TC sono in grado di fotografare una determinata configurazione hardware/software e di controllare in seguito se essa sia stata modificata o meno. Questa funzionalità viene sfruttata dai computer TC per fotografare i vari stadi dell'avviamento del sistema e per verificare in seguito che nessun elemento critico sia stato sostituito da un altro simile ma non uguale. In altri termini, questa funzionalità permette al computer di accorgersi se è stata inserita una nuova scheda al posto di una esistente o se un certo elemento del sistema operativo sia stato sostituito. Ufficialmente, questa funzionalità serve per rilevare gli effetti di una contaminazione da virus e per difendere il sistema da eventuali hacker che abbiano accesso fisico al sistema. Qualunque programma che fosse stato sostituito da una copia contaminata da virus verrebbe immediatamente bloccato. Se un hacker avviasse il computer da un sistema operativo diverso da quello originale, ad eempio un CD Live di Linux, non potrebbe comunque accedere ai dati protetti crittograficamente presenti sul disco rigido (Un tipo di protezione peraltro già disponibile grazie ai file system crittografici di Windows e di Linux). Tuttavia, se questa funzionalità dovesse realmente servire soltanto a questo, non si capisce né per quale motivo vengano rilevati anche i cambiamenti all'hardware né per quale motivo questa funzionalità non sia sottoposta al controllo dell'utente. Dopotutto, l'utente ha pienamente il diritto di cambiare un elemento hardware o software del suo computer. Se si guarda questa funzionalità da un altro punto di vista, diventa tutto molto più comprensibile. Cosa succede se l'utente decide di installare una scheda TV "pirata" che è in grado di salvare su disco i film trasmessi via satellite in barba alle protezioni digitali applicate da chi trasmette? La nuova scheda viene immediatamente rilevata ed il resto del sistema si rifiuta di collaborare, rendendo impossibile la copia abusiva. Che succede se si cerca di avviare l'intero sistema con un sistema operativo diverso da Windows Vista, ad esempio Linux? Il sistema si avvia ma le funzionalità TC necessarie per accedere ai file protetti rimangono inaccessibili. In altri termini, questa funzionalità non serve tanto a difendere l'utente da un ipotetico hacker o dai virus. Questa funzionalità serve soprattutto per proteggere gli interessi di chi detiene i diritti di copyright sui file multimediali dall'azione dell'utente del sistema. Come funziona il Trusted Computing? Date queste funzionalità, come funziona un sistena dotato di Trusted Computing? Come viene avviato? Come vengono lanciati ed eseguiti i programmi? Cosa succede se si cerca di eseguire programmi che non sono compatibili con lo standard TC? Che succede se si cerca di accedere a documenti protetti dal sistema TC? In questo capitolo cercheremo di rispondere a queste domande. Chiariamo subito un punto: un computer dotato di tecnologia TC può essere avviato con un sistema operativo e dei programmi di tipo tradizionale, come Linux. In questo caso, si comporta semplicemente come un qualunque computer di tipo tradizionale. Questo chiarimento è necessario perchè una delle principali critiche che vengono mosse al TC è quella che riguarda una sua sostanziale incompatibilità con tutto ciò che non si attiene al suo standard. Da più parti si sostiene che il TC renderà impossibile l'uso di Linux e di molti altri programmi Open Source. Questo non è vero, od almeno non lo è a questo livello. Microsoft spiega molto bene questo punto nelle sue FAQ su NGSCB: D: Ho sentito che NGSCB imporrà agli utenti di usare solo software approvato da Microsoft 6 R: Questo è semplicemente falso. Il chip SSC e gli altri elementi di NGSCB non vengono coinvolti nel processo di avviamento del sistema operativo e nella sua decisione di caricare una applicazione che non fa uso di NGSCB. Dato che non viene coinvolto nel proceso di avvio della macchina, NGSCB non può impedire di funzionare ad un programma che non si attiene al suo standard. Solo l'utente può decidere cosa viene fatto girare sul suo computer. 6 Q: I have heard that NGSCB will force people to run only Microsoft-approved software. A: This is simply not true. The nexus-aware security chip (the SSC) and other NGSCB features are not involved in the boot process of the operating system or in its decision to load an application that does not use the nexus. Because the nexus is not involved in the boot process, it cannot block an operating system or drivers or any nexus-unaware PC application from running. Only the user decides what nexus-aware applications get to run. Anyone can write an application to take advantage of new APIs that call to the nexus and related components without notifying Microsoft or getting Microsoft's approval. Chiunque può scrivere software che fa uso delle funzionalità offerte da NGSCB senza bisogno di notificare la cosa a Microsoft o di ottenere la sua approvazione. Naturalmente, rimane possibile scrivere software che richiede NGSCB per funzionare. Questo tipo di applicazioni può fare uso di tecniche crittografiche e di qualche meccanismo di gestione delle licenze per funzionare. Comunque, sarà solo questa applicazione a fare uso di queste caratteristiche e questo non avrà effetti sulle altre applicazioni. NGSCB isola una applicazione dall'altra per cui nessuna applicazione può impedire ad un'altra di funzionare. Anche Intel, nella sua LaGrande Technology Overview, parla chiaro su questo punto: 7 LT permette di lanciare un ambiente protetto senza riavviare la macchina ed il software tradizionale può funzionare senza modifiche. Diverso è il caso di un computer TC che viene avviato con un sistema operativo e dei programmi di tipo TC (come avviene anche nel caso di tutti i dispositivi digitali in cui non è possibile cambiare il software di controllo, come i lettori DVD/CD da salotto, i telefoni cellulari e via dicendo). In questo caso, il funzionamento del sistema è molto diverso e segue la logica prevista dallo standard TC. Al momento dell'avviamento (bootstrap) il sistema controlla che nessun elemento hardware o software sia stato sostituito. Se viene rilevato qualche cambiamento, i dati che erano stati crittografati prima di questo cambiamento non saranno più accessibili. Questo è un effetto voluto e serve ad evitare che i It will be possible, of course, to write applications that require access to nexus-aware services in order to run. Such an application could implement access policies that would require some type of cryptographically signed license or certificate before running. However, the application itself would enforce that policy and this would not impact other nexus-aware applications. The nexus and NCAs isolate applications from each other, so it is not possible for an individual nexus-aware application to prevent another one from running. 7LT supports the ability to launch protected environments without platform reboot, and legacy software is able to run unmodified in a standard partition. dati riservati siano accessibili ad un estraneo che riesce ad avere accesso fisico al sistema. Al giorno d'oggi, per bypassare alcuni tipi di protezione, come le password di sessione di Windows, è sufficiente riavviare il PC da una distribuzione Live di Linux. Il TC rende impossibile questo tipo di attacco. Fisicamente, questo effetto viene ottenuto in questo modo: • al momento della cifratura dei dati, viene presa una fotografia del sistema (cioè ne viene calcolato un hash che lo identifica in modo univoco) • al momento della decifrazione viene nuovamente fotografato il sistema e si verifica che esso non sia stato modificato. • solo se il sistema è rimasto identico a sé stesso, il Fritz Chip rilascia le chiavi di cifratura necessarie per accedere ai dati. In caso contrario, queste chiavi rimangono al sicuro all'interno del Fritz Chip, dove nessun programma non autorizzato può arrivare. In alcuni casi, come nel caso della sostituzione di un elemento hardware, è possibile ritornare in possesso di questi dati usando una particolare procedura detta di "migrazione delle chiavi". Questo permette di aggiornare o riparare il sistema senza perdere i dati che esso contiene. Se il sistema parte regolarmente, è possibile eseguire su di esso dei programmi che fanno uso della tecnologia TC. In questo caso, sono disponibili tutte le protezioni offerte dalla tecnologia TC: – I programmi possono essere eseguiti in ambienti isolati e protetti da ogni interferenza esterna. Anche la memoria da loro utilizzata per immagazzinare i dati viene protetta da accessi non autorizzati. – Tutti i canali di comunicazione tra l'utente ed il dispositivo (mouse, joystick, game pad, microfono, tastiera, schermo o casse audio) sono protetti da accessi non autorizzati. – In alcuni casi, anche le comunicazioni tra i componenti interni (schede) ed esterni (stampanti) del computer sono protette crittograficamente. – Il sistema ed ogni suo componente hardware e software può essere identificato in modo univoco e si può verificare che non sia stato modificato rispetto al precedente controllo. – I dati memorizzati sul computer possono essere crittografati in modo tale che non sia possibile decrittarli su un'altra piattaforma nemmeno conoscendo la password di accesso. – Il computer può essere "certificato" e può ottenere l'accesso a servizi particolarmente critici su Internet (home banking) od a servizi commerciali di altri tipo (iTunes ed altri rivenditori di brani musicali su Internet). L'utente non deve preoccuparsi in modo particolare del TC. Il sistema è in grado di effettuare tutte le operazioni necessarie da solo, senza nessuna assistenza da parte sua. Secondo la terminologia tipica del settore, la tecnologia TC è “trasparente” (cioè “invisibile”) per l'utente. La presenza del sistema TC diventa visibile solo quando l'utente tenta di accedere a dati cifrati e gli viene chiesto di identificarsi (di solito fornendo una password). Nell'uso normale, un sistema TC è sostanzialmente indistinguibile da un sistema tradizionale. D'altra parte, le differenze tra i due sistemi esistono e sono rilevanti. Ad esempio, l'utente non può più effettuare le seguenti operazioni: – copiare abusivamente un CD od un DVD – registrare abusivamente un brano musicale od un film da Internet o da un canale radio/TV satellitare o digitale terrestre – usare software non legalmente acquistato Come abbiamo già detto, su un sistema TC possono essere usati programmi non TC. La principale limitazione che si incontra in questo caso è che i dati creati con applicazioni TC non saranno accessibili. La possibilità di rendere inutilizzabili i programmi tradizionali sui sistemi TC esiste, ma non è prevista dalle specifiche tecniche del TC. Approfondiremo questo punto cruciale in una apposita sezione nella seconda parte del libro. Le differenze tra un sistema tradizionale ed un sistema TC si notano solo quando si tenta di effettuare una delle seguenti operazioni. Accedere ad un servizio di rete protetto Quando si tenta di accedere, ad esempio, ad un servizio come iTunes (un famoso negozio di musica online gestito da Apple) è necessario registrarsi, cioè farsi riconoscere dal sistema e ”firmare” il registro degli accessi. Fino ad ora il servizio richiedeva che l'utente provvedesse di persona a questa procedura, nota come login, digitando nome utente e password. In futuro sarà il computer TC stesso a provvedere e lo farà inviando al sistema remoto un identificatore digitale che svolgerà due funzioni: da un lato certificherà in modo univoco l'identità del sistema chiamante e dall'altro certificherà che l'hardware ed il software non hanno subito cambiamenti rispetto ad un momento precedente ritenuto “affidabile” dal servizio di rete. Al momento della prima registrazione, il servizio di rete può stabilire se un interlocutore remoto è “affidabile” utilizzando le capacità crittografiche del sistema TC per identificare l'hardware ed il software utilizzati dall'interlocutore stesso. Se in seguito anche uno solo di questi elementi viene cambiato, il sistema si rifiuta di concedere l'accesso al servizio. Accedere a dati protetti (locali e/o remoti) Quando si tenta di accedere a dati cifrati, sul proprio disco rigido o su un server di rete, è il sistema TC a registrarsi al posto dell'utente e lo fa inviando lo stesso tipo di certificato usato per accedere a servizi remoti. Anche in questo caso il certificato provvede ad identificare in modo sicuro l'utente ed a identificare in modo altrettanto sicuro l'hardware ed il software che egli utilizza. Se anche uno solo di questi elementi viene cambiato, il sistema si rifiuta di decifrare i dati e renderli accessibili. Spostare dati e/o programmi da una macchina all'altra Spostare dati o programmi da un macchina all'altra è logicamente equivalente a cambiare tutti o quasi tutti i componenti del computer su cui risiedono questi dati o questi programmi. Di conseguenza, il sistema TC si rifiuterebbe di rendere accessibili i dati cifrati e/o di rendere utilizzabili i programmi che sono sottoposti ad una licenza d'uso che non preveda esplicitamemte il diritto dell'utente di cambiare hardware. Per risolvere il problema dello spostamento legittimo di dati e programmi da un sistema all'altro è prevista una apposita (e piuttosto complessa) manovra di “migrazione delle chiavi crittografiche”. Ripristinare dati e/o programmi dopo un backup Anche la manovra di rirpistino (restore) dei dati e dei programmi dopo un backup (ed un eventuale crash del sistema) è logicamente equivalente a cambiare tutto o parte del sistema su cui sono ospitati i dati ed i programmi protetti dal sistema TC. Anche in questo caso si rende necessaria una manovra di migrazione delle chiavi. Un problema di terminologia Molti analisti hanno fatto notare che esiste un serio problema di terminologia in tutta la documentazione che riguarda il TC. Ad esempio: un sistema Trusted Computing (Elaborazione Fidata) per chi è fidato? Chi è l'utente del sistema, nella accezione usata dai documenti ufficiali sul TC? Chi è il proprietario dei dati che vengono protetti dal TC? Ecco come descrive questo problema di linguaggio Catherine Flick nella sua tesi di laurea: 8 Il linguaggio usato dalle aziende coinvolte nel progetto Trusted Computing è spesso ambiguo, in netto contrasto con il linguaggio, molto chiaro, solitamente usato nei documenti tecnici di questo tipo. Nella maggior parte dei casi, simili ambiguità servono a confondere od a depistare il lettore o sono la conseguenza di definizioni iniziali non adeguate. Vediamo allora di esaminare alcune di queste ambiguità. Chi è l'Utente del Sistema? Nella documentazione tecnica, normalmente l'utente è la persona che accede al sistema (direttamente dalla tastiera o attraverso una rete) per ottenere un servizio. Nel caso di un computer personale (desktop o portatile) si tratta quasi sempre del proprietario o comunque della persona che ha in affidamento il computer, ad esempio un dipendente dell'azienda che lo ha comprato. Nel caso di un server, è la persona che vi accede dalla rete per ottenere il servizio. Nella documentazione ufficiale sul TC non sempre l'utente è la persona che ha in affidamento il computer o la persona che accede ad esso per ottenere un servizio. A volte, con il termine "utente" si intende l'utente dei servizi messi a disposizione dalla piattaforma TC, non l'utente del computer e nemmeno l'utente dei servizi forniti dal server. L'utente dei servizi messi a disposizione dalla piattaforma TC è una persona od una azienda che utilizza questi servizi per mantenere uno stretto controllo su un programma o su un file di dati dopo aver trasferito questo file sul computer di qualcun'altro. Ad esempio, se acquistate un brano musicale da iTunes usando un computer TC, l'utente del sistema TC che risiede sul vostro computer è iTunes, non voi. Infatti, è iTunes che usa i servizi messi a disposizione dal vostro computer per difendere i propri diritti sul file digitale che avete acquistato 8 The language used by the companies involved in the Trusted Computing initiative is oftentimes ambiguous, in sharp contrast to the language more usually used in the specification of new computer systems or protocols [Information Sciences Institute, 1981]. Most of the time these ambiguities either serve to confuse or mislead, or are the result of inadequate definition to begin with. ed assicurarsi che non ne facciate copie abusive. Chi è il Proprietario dei Dati? Nella documentazione tecnica, il proprietario dei dati è solitamente la persona che possiede (od ha in affidamento) il computer sul quale risiedono i dati. I vostri dati sono quelli che risiedono sul vostro disco rigido. Nella terminologia usata dalla documentazione ufficiale del TC, il proprietario dei dati è la persona che ha creato quei dati o che può vantare su di esso dei diritti di proprietà (ad esempio il diritto d'autore), anche quando questi dati non risiedono più su un computer di proprietà di questa persona. In altri termini, se Michel Jackson decide di rilasciare su internet un suo brano musicale, il proprietario di quel file (cioè di tutte le innumerevoli copie esistenti di quel file) è sempre Michel Jackson, anche se il file risiede sul vostro disco rigido. Il sistema TC continuerà fedelmente a difendere i diritti del proprietario Michel Jackson qualunque cosa voi ne pensiate. A chi si garantisce l'affidabilità del sistema? Per chi è affidabile il sistema? A chi viene garantita la sicurezza? Normalmente, tutte le preoccupazioni degli specialisti di sicurezza sono rivolte a rendere il sistema affidabile e sicuro per la persona che ha acquistato il sistema stesso e/o lo usa abitualmente. Nel caso della tecnologia TC, molte delle preoccupazioni dei progettisti sono invece rivolte a rendere il sistema sicuro ed affidabile per chi entra in contatto con esso sulla rete ed intrattiene relazioni commerciali con il suo proprietario. In altri termini, se acquistate un brano musicale su Internet da iTunes, il sistema TC del vostro computer si preoccupa di rendere il vostro sistema sicuro ed affidabile per iTunes, non per voi (od almeno non solo per voi). Questo sconcertante aspetto della tecnologia TC viene sottolineato da tutti gli analisti che si sono occupati di essa. Tra questi, Ross Anderson, nelle sue FAQ, è particolarmente esplicito: 23. Ma la sicurezza dei PC non è una buona cosa? La domanda è: sicurezza per chi? ............ Visto in questi termini il TC non fornisce la stessa sicurezza all'utente e al venditore di PC, al fornitore di software e all'industria dei contenuti. Non aggiunge valore per l'utente, anzi lo distrugge. Si limita ciò che si può fare sul proprio PC per poter disporre di applicazioni e servizi che estraggono più denaro all'utente. Questa è la definizione classica di cartello monopolistico un accordo industriale che modifica i termini del commercio per diminuire il surplus per il consumatore. Il 24 Giugno del 2002, ExtremeTech ha persino pubblicato un articolo di Brett Glass intitolato proprio "Microsoft Palladium: security for whom?". Vedi: http://www.extremetech.com/article2/0,3973,263367,00.asp . Cosa significa fidato e cosa significa affidabile? Nella documentazione tecnica del TC viene fatta una sottile distinzione tra trusted (fidato) e trustworthy (affidabile). Un sistema è trusted (fidato) quando contiene informazioni cruciali e quindi si dipende da esso. Un sistema è trustworthy (affidabile) quando si può fare affidamento su di esso perchè è sicuro. Un sistema che contiene delle informazioni da cui dipende la vostra sicurezza ma non è protetto in alcun modo è un sistema trusted ma non non trustworthy. Un sistema assolutamente impenetrabile ma vuoto è un sistema trustworthy ma non trusted. Naturalmente, l'obiettivo che tutti si pongono è quello di avere sistemi trusted e trustworthy. Esaminando la documentazione del TC si ha spesso l'impressione che il sistema sia trusted per l'utente, nel senso che l'utente dipende da esso per alcuni aspetti cruciali, ma trustworthy per qualcun'altro (di solito il detentore dei diritti su qualche prodotto digitale). In che senso una funzionalità è opzionale? Molte delle funzionalità del TC vengono definite opzionali (opt-in) ma lo sono veramente? Catherine Flick è molto esplicita su questo punto: 9 Questa sequenza di piccoli passi verso una posizione di potere si riflette nella caratteristica, molto pubblicizzata, secondo la quale l'uso del TC è opzionale. Fornire all'utente la possibilità di accendere o meno il TC sembra uno sforzo razionale nella direzione di mantenere il TC sotto il controllo dell'utente ma, nella realtà, se il TC diventerà onnipresente come molti si aspettano, il semplice fatto di dover portare a termine il lavoro quotidiano ne imporrà l'uso dato che l'accesso ai dati crittografati ed ai server di rete sarebbe impossibile in caso contrario. Anche Ross Anderson è d'accordo su questa valutazione dei fatti: 12. Brutta storia. disattivarlo? Ma non posso semplicemente Certo - a meno che il tuo amministratore di sistema abbia configurato la macchina in modo che il TC sia vincolante è sempre possibile disattivarlo. E' possibile utilizzare il PC con i privilegi di amministratore ed utilizzare applicazioni non sicure. Comunque resta un piccolo problema. Se disabiliti il TC, il chip Fritz non rilascerà le chiavi necessarie per decriptare i 9 This sequence of small movements towards a hold of power is reflected openly in the widely publicised “opt-in” nature of Trusted Computing. Giving users an option on whether to turn on the Trusted Computing mechanisms seems like a reasonable effort to keep it controlled by the user, but in reality, if Trusted Computing becomes as ubiquitous as some vendors seem to think it will [Hewlett-Packard, 2003], the very process of carrying out everyday work will require it to be on, as access to encrypted files and authentication to servers requiring attestation will otherwise be denied. tuoi file ed accedere al tuo conto corrente. Le tue applicazioni TC-conformi non funzioneranno bene o per niente. Sarà come passare da da Windows a Linux oggigiorno; puoi avere maggiore libertà, ma questo comporta avere meno scelta. Se le applicazioni TC saranno più attraenti per la maggior parte delle persone, o saranno più profittevoli per i venditori di applicazioni, semplicemente non potrai utilizzarle - esattamente come molte persone devono utilizzare Microsoft Word semplicemente perchè tutti i loro colleghi ed amici gli spediscono documenti in Microsoft Word. Entro il 2008 è possibile che i costi per disattivare le funzioni TC siano semplicemente intollerabili. Praticamente tutti gli osservatori indipendenti sono d'accordo sul fatto che entro pochi anni ci sarà ben poco di opzionale nell'uso del TC. Questo pericolo è talmente chiaro che Intel ed il TCG sono corse ai ripari pubblicando un esplicito anatema contro queste forzature all'interno dei loro rispettivi documenti di autoregolamentazione. Ecco cosa afferma Intel nel documento "LaGrande Technology Policy on Owner/User Choice and Control": Scelta e Controllo 10 Principio #1: “La piattaforma deve avere un meccanismo semplice per assicurare la libertà di scelta nell'uso della piattaforma.” Il proprietario del PC deve avere la possibilità di scegliere se usare le funzionalità di LT e deve avere la possibilità di controllare le singole funzionalità in modo ragionevole. Ed ecco cosa asserisce il TCG nelle sue "Best Practices": 11 Principio di Controllabilità 10 Choice and Control Policy Statement #1: “LT based platforms must have a straightforward mechanism for ensuring choice in controlling the LT operation.” PC owner must have a choice whether they want to “opt-in” to LT protections and, to the degree feasible, maintain control over the various functions. 11 Controllability Principle Ogni utente deve effettivamente avere la possibilità di scegliere se usare le funzionalità del TCG o meno. Di conseguenza, il proprietario può disabilitare le funzionalità di TCG. In che senso il TC è neutrale? Alcuni dei documenti pubblicati a difesa del TC sostengono che questa tecnologia sia neutrale. Con questo termine si intende dire che il TC insè non è né buono né cattivo e si limita a servire gli scopi del suo utilizzatore. Catherine Flick è particolarmente lucida nell'esaminare questo punto: 12 3.2.4 "Neutralità" Affermare che il TC è neutrale è un modo per negare con facilità qualunque responsabilità per le applicazioni che saranno sviluppate grazie ad esso. Le aziende coinvolte sembrano rendersi conto della natura di lama a doppio taglio di TC, cioè del fatto che il TC può essere usato per applicazioni illegali ed antisociali nello stesso modo in cui può essere usato per applicazioni che queste aziende vorrebbero vedere associate al loro nome. Microsoft, nel dichiarare la sua neutralità, scrive: "NGSCB offre dei meccanismi di costrizione che possono essere di beneficio per molte parti ma la scelta di usare queste funzionalità rimane nelle mani dell'utente. Che l'utente usi queste funzionalità insieme a sistemi anticopia (DRM) o meno, queste funzionalità permettono all'utente di Each owner should have effective choice and control over the use and operation of the TCG-enabled capabilities that belong to them; their participation must be opt-in. Subsequently any user can reliably disable the TCG functionality in a way that does not violate the owner’s policy. 12 3.2.4 “Neutrality” Asserting neutrality over the potential uses of the Trusted Computing system is an easy way for providers to escape liability for any applications developed for it. The companies involved seem to realise the “double-edged sword” nature of Trusted Computing, that is, that it could be used for illegal and anti-social applications as well as for applications they would want associated with their company. Microsoft, in claiming its policy-neutral status, writes: mantenere la riservatezza sui propri dati, di controllare la condivisione di documenti, di collaborare online con amici e colleghi e di controllare lo svolgimento di operazioni delicate sul sistema." In questo modo Microsoft rimanda ogni responsabilità sull'uso di NGSCB all'applicazione che ne fa uso. Questo è una modo facile per sottrarsi a qualunque critica per le strategie d'uso che emergeranno come standard de facto, come l'uso di particolari elementi software che ridurranno l'interoperabilità e favoriranno il lock-in. Possiamo solo aggiungere che la tesi della neutralità morale viene solitamente utilizzata per difendere dalle critiche le armi da fuoco. Si è soliti sostenere questa tesi parlando di un'arma, non di una tecnologia informatica. Questa inattesa analogia dovrebbe far riflettere. “The NGSCB architecture offers policy enforcement mechanisms that can benefit many parties, but enforcement remains in the control of users. Whether or not they use it in conjunction with rights management systems, people can use such systems to maintain confidentiality, to control the sharing of their documents, to collaborate online with friends, co-workers or colleagues, or to control sensitive operations performed on their machines.” [Microsoft, 2003a] In this way it delegates all responsibility to the applications that take advantage of NGSCB. This is an easy way to evade criticism for any de facto policies that would arise, such as the use of particular pieces of software that restrict interoperation due to sofware lock-in (as discussed above). Applicazioni del TC La sicurezza Come abbiamo detto all'inizio, il Trusted Computing è stato concepito per essere la risposta definitiva a molti, se non tutti, i tipi di minaccia. In particolare, dovrebbe essere utile per impedire l'accesso al computer agli hacker, ai virus, ai worm, ai cavalli di Troia, agli adware ed ai programmi spia. Inoltre, dovrebbe essere utile anche per combattere il fastidioso fenomeno dello spamming ed alcuni tipi di truffe che vengono perpetrate su internet, come il phishing. Ma come è possibile tutto questo? Per capirlo bisogna esaminare questi tipi di minacce uno ad uno e vedere come agisce il Tc nei loro confronti. Hacker In realtà, non è corretto riferirsi ai malintenzionati digitali con il termine “hacker”. Questo termine, infatti, è equivalente al neologismo italiano “smanettone” e non ha alcuna connotazione negativa. I malintenzionati da cui dovrebbe difenderci il TC sono piuttosto gli “intruder”. Gli intruder sono persone, spesso di elevatissimo livello tecnico, che per vari motivi tentano di penetrare all'interno di sistemi informatici altrui e di prenderne il controllo. Il TC combatte gli intruder proteggendo gli elementi vulnerabili che questi malintenzionati sono soliti sfruttare per accedere al sistema e per prenderne il controllo. Gli elementi che il TC protegge sono i seguenti. • Programmi in esecuzione • Aree di memoria riservate • Comunicazioni tra diversi computer • Comunicazioni tra diversi componenti dello stesso computer • Documenti che contengono informazioni riservate (ad esempio password o parametri di configurazione del sistema) • Sequenza di avvio del sistema (bootstrap). Grazie al TC diventa impossibile aggirare le protezioni del sistema riavviandolo da un sistema operativo diverso da quello installato. La protezione che il TC fornisce contro questo tipo di minaccia è reale e di innegabile efficacia. Virus Il TC provvede a “fotografare” digitalmente i programmi al momento della loro installazione generando un apposito “hash”. Qualunque virus che dovesse contaminare uno di questi programmi provocherebbe una variazione nella sua struttura tale da alterare questa fotografia digitale. Il sistema di TC si accorgerebbe immediatamente di questa differenza e si rifiuterebbe di rilasciare le chiavi necessarie alla decifrazione dei documenti ed alla attivazione dei programmi. In questo modo, il virus verrebbe immediatamente bloccato. Questo meccanismo viene già usato da sistemi software come TripWire e AIDE che però non sono in grado di bloccare l'accesso ai dati cifrati e non sono in grado di impedire l'avvio di altri programmi. Inoltre, trattandosi di programmi, anche AIDE e TripWire sono soggetti essi stessi ad infezioni e ad attacchi software di vario tipo. Il TC è per sua natura immune a questo tipo di attacchi. Worm I worm (vermi) sono una particolare tipologia di virus che per il proprio funzionamento si appoggia agli interpreti di linguaggio presenti (per nostra sfortuna) in molti programmi come MS Internet Explorer, MS Outlook, MS Word, MS Excel, MS PowerPoint e via dicendo. I “virus” che negli ultimi anni hanno spazzato e devastato Internet erano in realtà quasi sempre dei worm che sfruttavano l'interprete Visual Basic contenuto nei programmi Microsoft ed in particolare in MS Outlook e MS Internet Explorer. Il TC combatte questo tipo di minaccia impedendo che questi programmi possano accedere in modo incontrollato a risorse sensibili, come la rubrica degli indirizzi di Outlook o i file presenti sul disco. Diversi antivirus esistenti svolgono via software le stesse funzioni previste per il TC. Trojan Horse I Trojan Horse, o “Cavalli di Troia”, sono semplici programmi che si spacciano per qualcosa di diverso. Un esempio classico sono le immagini pornografiche allegate a certi messaggi di posta che, una volta aperte, si rivelano essere programmi dagli effetti spiacevoli. Anche in questo caso, il TC combatte questi programmi impedendo loro di fare dei danni. Anche in questo caso, queste funzioni sono le stesse che vengono già svolte da molti antivirus presenti sul mercato. Adware/Spyware Gli adware sono programmi che si installano abusivamente sul sistema e che infliggono all'utente delle massiccie dosi di pubblicità non gradita, di solito alterando la pagina di avvio del browser web. Gli spyware sono programmi spia. Si installano abusivamente sul sistema e trasferiscono informazioni importanti al loro creatore. Vengono usati sia per raccogliere informazioni utili al marketing (pagine web visitate, gusti dell'utente, etc.) che per sottrarre password. Questi due tipi di programmi hanno scopi diversi ma agiscono nello stesso modo: sfruttano alcune vulnerabilità del browser web e del programma di posta elettronica per installarsi e modificano la configurazione del sistema per svolgere il proprio lavoro e per impedire all'utente di disinstallarli. Sono famosi tra gli utenti perchè è difficilissimo liberarsene. Il TC combatte questi programmi in tre modi: • rilevando le modifiche da loro apportate al sistema • impedendo a questi programmi di modificare il sistema • impedendo a questi programmi di accedere ad informazioni riservate Il TC fornisce degli strumenti di lotta realmente innovativi nei confronti di questi programmi, qualcosa che gli attuali programmi di difesa ed i normali antivirus non possono fornire. Tuttavia, è inevitabile sottolineare che i programmi adware e spyware esistono e proliferano esclusivamente nell'ambiente Microsoft (Windows ed Office) a causa della presenza dell'interprete Basic e di innumerevoli falle di sicurezza nei programmi. Negli altri ambienti operativi (Linux, Unix, BSD e McOS X) sono praticamente sconosciuti. Inoltre, nella maggioranza dei casi è sufficiente usare programmi non-Microsoft, come Firefox e Thunderbird, per navigare sul web e leggere la posta per liberarsi di questo problema. Spamming Lo spamming è quel fastidioso fenomeno grazie al quale dei perfetti sconociuti in cerca di facili guadagni si permettono di inondare le nostre caselle di posta elettronica con ogni sorta di spazzatura. Nonostante molti utenti siano convinti che questi sconosciuti possano entrare in possesso del loro indirizzo di posta elettronica grazie ad una vasta serie di accorgimenti poco leciti, nella realtà questi spammer si limitano a generare enormi quantità di indirizzi di posta “plausibili” ed a tentare l'invio del loro messaggi ad ognuno di essi. Un tasso di insuccesso del 99% non li spaventa. Pur trattandosi di un fastidio, più che di una minaccia, lo spamming ha attirato l'attenzione di molti specialisti ed al giorno d'oggi viene aspramente combattuto con appositi filtri posizionati o sui server di posta o sui programmi usati dagli utenti. Ad esempil Mozilla Thunderbird dispone di un ottimo filtro antispamming integrato. Il TC promette di porre fine a questo fenomeno. Grazie alle capacità crittografiche del TC è infatti possibile implementare una nuova generazione di programmi di posta “certificati”. Questi programmi accetterebbero posta solo da utenti chiaramente identificabili e porrebbero quindi fine al fenomeno degli spammer. Una tecnologia simile è peraltro già disponibile (anche da Poste Italiane) sotto forma della Posta Elettronica Certificata. Phishing Il Phishing consiste in questo: • un malintenzionato crea un sito web apparentemente identico a quello di una banca (o qualcosa di simile) • lo stesso malintenzionato invia a milioni di utenti (a caso) un messaggio che sembra provenire dalla banca a cui appartiene il sito. Nel messaggio si chiede all'utente di visitare una pagina del sito della banca (falsificata) e di inserire la propria password • normalmente, meno dell'1% degli utenti ci casca ma, dato che parliamo di milioni di persone, il bottino è spesso molto buono Il TC promette di mettere fine a questo tipo di truffa nello stesso modo in cui promette di mettere fine al fenomeno dello spamming, cioè certificando in modo digitale il mittente del messaggio (ed anche il sito web della banca). La gestione dei sistemi Una applicazione meno ovvia del TC è la gestione remota dei sistemi. Con questo termine si fa riferimento ad un vasto insieme di tecniche che in Italia sono spesso conosciute con il termine di “teleassistenza”. Il TC fornisce alcune funzionalità interessanti per questo tipo di applicazione: • permette di creare un canale di comunicazione protetto tra il computer che viene assistito e quello che fornisce assistenza • permette di limitare l'accesso dell'utente del computer al sistema (più o meno come avviene oggi nei sistemi che usano “login” diversi per l'utente normale e per l'amministratore di sistema) • permette di controllare se vengono fatte modifiche al sistema e/o di impedire che vengano apportate queste modifiche. In casi particolari, potrebbe persino consentire di ripristinare la situazione precedente ad eventuali modifiche. • permette di tracciare con precisione l'uso che viene fatto del sistema da parte degli utenti In pratica, una azienda che desiderasse farlo potrebbe mantenere uno stretto controllo sui propri computer pur lasciandoli fisicamente nelle mani dei suoi dipendenti. Questa situazione richiama da vicino quella che veniva proposta dai “Network Computer” negli anni '90. I Network Computer erano (od avrebbero dovuto essere) dei computer dotati di possibilità molto limitate, in pratica una specie di “terminali”, usati solo per accedere a programmi e dati che risiedevano su server remoti sui quali l'azienda manteneva uno stretto controllo. La protezione dalla copia abusiva (DRM) Nonostante il fatto che tutte le aziende coinvolte nel progetto si affrettino a negarlo, l'applicazione più interessante delle tecnologie TC è come sistema DRM (Digital Right Management), cioè come sistema anticopia avanzato. Questa "seconda natura" del Trusted Computing è talmente evidente che persino i suoi difensori più accaniti sono costretti a riconoscerlo. Nel suo rebuttal, David Safford è costretto ad ammettere: 13 Il TCPA non è un sistema DRM. IL DRM è soltanto una delle possibili applicazioni di questa tecnologia. In modo analogo, anche Microsoft è costretta a riconoscere questo fatto nelle sue NGCSB Technical FAQ: 14 Quindi, applicazioni DRM possono essere sviluppate su sistemi che sono costruiti sulla architettura NGSCB. I cambiamenti introdotti da NGSCB all'hardware ed al sistema operativo permettono di isolare le applicazioni (per evitare lo snooping ed eventuali modifiche da parte di altre applicazioni) e di immagazzinare dati segreti per queste applicazioni e quindi permettono di assicurare che solo il software di cui si fida la persona che è nella posizione di garantire l'accesso ai dai od al servizio abbia accesso a questi dati segreti. Un sistema DRM può trarre vantaggio da questo ambiente e può aiutare a garantire che i materiali siano utilizzati solo in accordo con un insieme di regole mutualmente riconosciute e comprese. Ma quali sono gli elementi del TC che si sposano in modo tanto naturale con questo tipi di applicazione? Sostanzialmente sono i seguenti. 13 TCPA is not DRM. DRM is just one possible application of a trust component. 14 Thus, DRM applications can be developed on systems that are built under the NGSCB architecture. The operating system and hardware changes introduced by NGSCB offer a way to isolate applications (to avoid snooping and modification by other software) and store secrets for them while ensuring that only software trusted by the person granting access to the content or service has access to the enabling secrets. A DRM system can take advantage of this environment to help ensure that content is obtained and used only in accordance with a mutually understood set of rules. Identificazione dell'utente e/o del sistema: la possibilità di identificare in modo sicuro un sistema od un utente in rete rende possibile concedere o negare servizi online su base individuale, tracciare il comportamento dell'utente e persino “punire” o “disincentivare” in vari modi i comportamenti sgraditi. Attestazione remota: la possibilità di verificare che il sistema usato da un utente remoto non abbia subito cambiamenti, rispetto ad una situazione iniziale considerata “affidabile”, permette ad un operatore che gestisca un sito di commercio elettronico di sottrarsi a vari tipi di “furti” e di “truffe” che ora affliggono questo settore. Ad esempio, questa funzionalità rende possibile scoprire se l'utente remoto sta cercando di collegarsi al sito di commercio elettronico usando un programma che non rispetta i criteri richiesti dal fornitore riguardo alla protezione anticopia e permette quindi di negargli l'accesso. Attestazione locale: la possibilità di verificare che il sistema non abbia subito cambiamenti permette anche ad un programma eseguito localmente sul computer di sottrarsi a questo genere di “furti” e di “truffe”. I dati cifrati (musica, film, testi, etc.) sono disponibili solo se si utilizza un programma “ammesso” dal fornitore e che quindi si attiene alle sue richieste per quello che riguarda la protezione anticopia. Memorizzazione sigillata: la possibilità di cifrare i dati e di sottoporre la decifrazione alla condizione che il sistema non abbia subito cambiamenti permette di legare il consumo dei dati cifrati (musica, film, test, etc.) ad uno specifico sistema (un determinato computer) e/o all'uso di uno specifico programma. In questo modo, non è più possibile “consumare” il materiale protetto su un altro sistema e/o usando un programma potenzialmente non affidabile (dal punto di vista del fornitore dei dati). Protezione dei canali di input e di output: la protezione dei canali di output che vanno alla scheda video ed alla scheda audio permette di evitare che musica e film vengano copiati abusivamente semplicemente catturando il segnale analogico che và al display ed alle casse audio. Questa tecnica è usata da programmi come Total Record, ad esempio. Protezione della memoria: la protezione delle aree di memoria (RAM) usata dai programmi permette di proteggere i dati da programmi che fossero intenzionati a copiarli abusivamente leggendo la memoria stessa. Secondo tutti gli osservatori, di entrambe le fazioni, il TC permette di creare sistemi DRM sostanzialmente inviolabili. Per chiarezza, va ricordato che la tecnologia Trusted Computing è concepita per essere usata ovunque, non solo sui computer. Come abbiamo già detto all'inizio, questa tecnologia verrà usata anche sui lettori di DVD e di CD portatili, sulle radio, sulle televisioni, sui ricevitori satellitari di qualunque tipo, persino sui telefoni cellulari. In questo momento, il Trusted Computing Group conta già circa 110 membri, tra cui Sony, Nokia, Motorola, Hitachi e Philips. Questi 110 membri producono la stragrande maggioranza di ciò che arriva sugli scaffali dei negozi e detiene quasi la totalità dei brevetti necessari a produrre un dispositivo digitale di qualunque tipo. Alcune applicazioni interessanti del Trusted Computing Nel marzo del 2004, un osservatore anonimo ha pubblicato una interessante analisi dei possibili usi positivi del TC sul suo blog “Unlimited Freedom”, ospitato da un servizio di web logging anonimo chiamato invisiblog (http://invisiblog.com). L'articolo originale, in due parti, si chiama “Interesting Uses of Trusted Computing” ed è reperibile ai seguenti indirizzi. http://invisiblog.com/1c801df4aee49232/article/0df117d5d9 b32aea8bc23194ecc270ec http://invisiblog.com/1c801df4aee49232/article/6b607597c 4c3ad8ca8a72fd4cf5d1b91 Qui di seguito riportiamo gli elementi essenziali di questa analisi. Elezioni via Internet (Online Elections) Durante le elezioni per il secondo mandato di George W. Bush, gran parte degli stati dell'unione hanno fatto largo uso di sistemi di voto elettronici. Questi sistemi erano (e sono) afflitti da un grave problema: per ovvie ragioni legate alla segretezza del voto, non tengono traccia delle votazioni effettuate. In questo modo, è impossibile verificare che le elezioni si siano svolte in modo corretto dopo che esse si sono concluse. Il fatto che questi sistemi siano accessibili solo a tecnici specializzati (che lavorano per le aziende private che producono i dispositivi) e solo su mandato degli enti di sorveglianza, rende di fatto impossibile qualunque tipo di controllo. Non è difficile immaginare una situazione in cui viene concesso l'appalto per la fornitura di questo tipo di attrezzature solo all'azienda che è in grado di garantire, in un modo o nell'altro, la rielezione dei politici (e futuri candidati) che firmano il contratto. Nonostante questa inquietante prospettiva, e nonostante una lunga serie di difficoltà tecniche già note, c'è ancora chi ritiene che si dovrebbe sviluppare una tecnologia che consenta di votare via internet. Questa esigenza è particolarmente sentita in paesi che, come gli USA, sono caratterizzati da vasti territori poco abitati dove il solo fatto di recarsi fisicamente a votare può diventare un problema. Secondo l'anonimo osservatore di invisiblog, il TC potrebbe essere utile per garantire la correttezza e la sicurezza di eventuali elezioni condotte via internet. Grazie alle funzionalità di identificazione sicura dell'utente e grazie alla robusta protezione dei canali di comunicazione, sarebbe possibile condurre le procedure di voto con lo stesso grado di sicurezza e di anonimato che è ora possibile in cabina elettorale. La principale critica che viene mossa a questa ipotesi è che, semplicemente, non c'è nessun reale motivo di inserire nella procedura di voto un meccanismo così chiaramente suscettibile di abusi e così chiaramente incontrollabile come l'elettronica digitale, Internet ed il Trusted Computing. Gioci Multi-Giocatore su Internet (Multi-Player Games) Il TC porterebbe dei grossi vantaggi ai giocatori di Dungeon&Dragons su Internet, eliminando ogni possibilità di truffa. Tuttavia, possiamo tranquillamente affermare che si può vivere benissimo anche con un normale Dungeon&Dragons frequentato dai soliti bari. Questa non può essere certo una motivazione ad adottare una tecnologia carica di insidie come il TC. Gioco d'Azzardo su Internet (Online Gambling) Un altro settore che risentirebbe sicuramente in modo positivo dell'avvento del TC sarebbe quello del gioco d'azzardo via Internet. A questo proposito, si può solo domandarsi se sia desiderabile la diffusione del gioco d'azzardo nelle nostre società, dentro o fuori la Grande Rete. Transazioni Finanziarie (Financial Transactions) Il nostro anonimo osservatore fa notare che tutto il settore dell'Internet Banking e del commercio elettronico risentirebbe positivamente della nuova atmosfera di fiducia portata dal TC. Di questo non c'è da stupirsi: il TC è stato sviluppato soprattutto per supportare questo genere di applicazioni. Tuttavia, si deve far notare che l'Internet Banking ed il commercio elettronico godono di ottima salute anche senza il TC. Basta visitare i siti web di Fineco (www.fineco.it) e di Amazon (www.amazon.com) per rendersene conto. VPNs Le VPN (Virtual Private Networks) sono reti digitali private (chiuse) che vengono “ritagliate” da una rete globale come Internet applicando dei protocolli di protezione crittografica ai dati in transito. Gli utenti vedono queste reti come se fossero chiuse ed inaccessibili dall'esterno ma, nella realtà fisica, queste reti sono solo flussi di dati cifrati che scorrono su Internet insieme a milioni di altri flussi. Ovviamente il TC renderebbe molto più sicure queste VPN ma, come è facile verificare, le VPN stesse esistono e proliferano da anni anche senza questa tecnologia e non mostrano falle di sicurezza tali da inficiarne l'affidabilità. Va anche detto che chi ha realmente bisogno di una sicurezza assoluta, come certe applicazioni bancarie o militari, usa già adesso delle reti distinte da Internet, e da altre reti, e debitamente protette. File Sharing (P2P Networks) Curiosamente, uno dei settori che potrebbe risentire in modo positivo della introduzione del TC è quello delle reti P2P (Peerto-peer o di “file sharing”). La possibilità di usare identificatori crittografici, univoci ma anonimi, per identificare i nodi della rete (cioè gli utenti) e la possibilità di cifrare i flussi di dati renderebbe queste reti molto più anonime, sicure ed affidabili di quanto siano attualmente. Tuttavia, reti che applicano con successo questi principi, senza ricorrere al TC, esistono e proliferano già da tempo. Si vedano, ad esempio, le seguenti reti P2P. ANTs P2P (http://antsp2p.sourceforge.net/) Mute (http://mute-net.sourceforge.net/) Freenet (http://freenet.sourceforge.net/) Remailer Anonimi (Anonymous Remailers) I remailer sono server che accettano in ingresso un messaggio di posta elettronica, lo ripuliscono di ogni elemento che possa mettere un eventuale investigatore sulle tracce del mittente, e lo inviano al destinatario in forma anonima. Questo tipo di applicazioni potrebbe trarre grande vantaggio dall'avvento del TC perchè potrebbe fare uso degli identificatori crittografici del TC, che sono univoci ma anonimi, per identificare il mittente e potrebbe usare le capacità crittografiche del TC per proteggere il contenuto dei messaggi da sguardi indiscreti. Anche in questo caso, esistono già diverse applicazioni, diffuse ed affidabili, che ottengono questo stesso risultato senza fare uso del TC. Calcolo Distribuito (Distributed Computing) Negli ultimi anni si sono diffuse su Internet alcune interessanti applicazioni di calcolo distribuito. Una delle più famose è il progetto SETI@Home (http://setiathome.ssl.berkeley.edu/). Questo progetto crea una gigantesca rete di computer, tutti coinvolti nello stesso calcolo, usando un apposito programma client (in questo caso uno screen saver) installato su ognuno di essi. Queste risorse di calcolo vengono usate dal progetto SETI (“Search for Extra-Terrestrial Intelligence”, vedi: http://www.seti.org/) per analizzare i segnali radio provenienti da varie regioni dello spazio. Progetti simili vengo portati avanti in vari settori e da varie organizzazioni. Si vedano i seguenti indirizzi. http://www.distributed.net/ http://www.distributedcomputing.info/ http://folding.stanford.edu/ http://en.wikipedia.org/wiki/Distributed_computing L'avvento del TC renderebbe molto più semplice e più sicuro creare queste grandi reti di calcolo distribuito anche se, come è possibile verificare su Internet, queste reti sono già state costruite e vengono già usate da anni, senza bisogno del supporto fornito dal TC. Un anonimo osservatore ha fatto notare che si farebbe miglior uso di queste tecnologie di calcolo distribuito avviando un programma per la ricerca di intelligenza sul Pianeta Terra (STI, cioè “Search for Terrestrial Intelligence”). Secondo questo osservatore, l'esistenza di forme di vita intelligente non risulterebbe evidente dall'analisi delle tracce radio emesse dal nostro pianeta (come “Il grande fratello”, “la talpa”, “l'isola dei famosi”, etc.). Vendita di cicli macchina (Selling CPU cycles) Un caso particolare di calcolo distribuito si ha quando qualcuno, di solito una grande azienda od una università, decide di vendere i “cicli macchina” od il “tempo di calcolo” di un computer (di solito un supercomputer molto costoso) a qualcun'altro, di solito una piccola azienda od un privato. In questo caso, l'uso del TC renderebbe possibile identificare l'utente e fatturare il servizio con maggiore facilità e sicurezza. Questo, sostanzialmente, è un caso particolare della più vasta categoria concettuale del commercio elettronico e condivide con essa tutti i vantaggi e gli svantaggi relativi all'adozione del TC. Agenti Mobili (Mobile Agents) Gli agenti mobili sono programmi che possono muoversi in rete da un computer all'altro per svolgere le loro funzioni. Ad esempio, sono stati sviluppati agenti mobili che si spostano fisicamente da un computer all'altro attraverso Internet per raccogliere informazioni sui documenti disponibili sui vari server (agenti di indicizzazione). Questo tipo di applicazioni ha delle pesantissime implicazioni di sicurezza perchè ogni agente mobile deve avere accesso a risorse potenzialmente molto delicate sul computer su cui si trasferisce. Molti osservatori considerano gli agenti mobili una versione ripulita e socialmente accettabile dei virus informatici. Grazie al TC sarebbe possibile assicurarsi che l'agente mobile sia realmente chi dice di essere ed accordargli i necessari diritti di accesso alla macchina in tutta sicurezza. La protezione fornita dal TC impedirebbe comunque all'agente mobile di accedere a dati riservati, sul disco od in memoria, e gli impedirebbe anche di interferire con le normali attività di altri programmi. In questo momento non esiste nulla che possa svolgere la stessa funzione del TC in questo settore ma resta da chiarire se la tecnologia degli agenti mobili sia così utile da giustificare l'introduzione del TC su larga scala. DRM Aziendale o ERM (Corporate DRM) Mentre i sistemi DRM (Digital Rights Management) proteggono dalla copia e dall'uso abusivo i contenuti multimediali dell'industria del recording (musica e film), i sistemi di DRM aziendale o ERM (Enterprise Rights Management) proteggono dalla copia e dall'abuso i documenti aziendali, siano essi documenti di testo (.DOC, .RTF, .PDF, .TXT, etc.), messaggi di posta elettronica, sessioni di chat, messaggi istantanei o messaggi SMS. La tecnologia usata è molto simile nei due casi e, di conseguenza, entrambi questi sistemi potrebbero avvantaggiarsi notevolmente delle funzionalità offerte dal TC. Rimane da stabilire se un simile tipo di controllo aziendale sui documenti utilizzati dai dipendenti sia legittimo e/o socialmente desiderabile. Si pensi solo al caso in cui un superiore invia un ordine per posta elettronica d un subordinato, costringendolo a fare qualcosa di discutibile, e poi cancella ogni traccia di quel messaggio usando gli strumenti messi a disposizione dal TC. Abusi di questo tipo sono tecnicamente possibili e non è difficile immaginare che chi conosce meglio questa tecnologia li userà ampiamente a proprio vantaggio ed a discapito di chi, per ignoranza o per la propria posizione aziendale, non ha accesso agli stessi strumenti. Riservatezza nel commercio in rete (Online Shopping Privacy) Al giorno d'oggi, se decidete di acquistare un vibratore su Internet, dovete essere disposti ad affrontare il rischio che, attraverso lo strumento da voi scelto per pagare (carta di credito o altro) si possa risalire alla vostra identità. Il TC potrebbe mettere fine a questo problema. Le sue funzionalità potrebbero essere usate per triangolare in modo sicuro i pagamenti tra voi, la vostra banca ed il venditore in modo che nessuno sappia chi siete e cosa state comprando. Più avanti ancora, è plausibile che si possa utilizzare il TC per dare vita ad una forma di carta moneta digitale del tutto anonima e facilmente spendibile in rete in tutta sicurezza. Studi in questa direzione sono stati condotti per anni senza mai arrivare ad una vera diffusione di strumenti di questo tipo proprio a causa della mancanza di alcune funzionalità crittografiche di base sui computer. Tuttavia, una semplice carta di credito prepagata può svolgere gran parte delle stesse funzioni senza richiedere l'uso del TC. Le critiche al TC Un sistema inutile La prima contestazione che viene mossa al Trusted Computing è quella di essere un sistema dichiaratamente inutile per l'utente finale. Questa contestazione è l'effetto, tra l'altro, di alcune dichiarazioni contenute nella documentazione ufficiale di Microsoft. Ad esempio, all'interno delle FAQ relative a NGSCB, Microsoft afferma: 15 D: NGSCB potrà fermare gli spammer o prevenire le infezioni da virus? R: No. A dispetto di qualche esagerazione della stampa, l'introduzione di NGSCB, in sé e per sé, non fermerà gli spammer e non contribuirà ad arginare le infezioni. Tuttavia, usando NGSCB come base, è possibile costruire una varietà di infrastrutture e di modelli di sicurezza che possono aiutare a combattere lo spam ed i virus in modi nuovi e molto efficaci. In realtà, come spiegano gli autori di queste FAQ, NGSCB può essere efficacemente usato come base tecnologica per costruire dei sistemi di difesa molto robusti, anche se, in sé stessa, questa tecnologia non fornisce nessuno strumento utile a questo scopo. Tuttavia, NGSCB ed il Trusted Computing restano comunque 15 Q: Will NGSCB stop spam or prevent viruses? A: No. Despite some hype in the media, introducing NGSCB enhancements to the PC ecosystem will not, in and of itself, stop spam or prevent viruses. However, by using NGSCB technology as a foundation, a number of trust and infrastructure models can be built to help combat spam and viruses in new and effective ways. una tecnologia di utilità molto discutibile. Gran parte delle funzionalità che questa tecnologia dovrebbe fornire sono già ampiamente disponibili da tempo. Per difendere i sistemi attuali da virus, worm, programmi spia e hacker è sufficiente usare i firewall e gli antivirus già esistenti. Non c'è motivo di sostituire tutto l'hardware esistente. Inoltre, come abbiamo già detto, gran parte dei problemi di sicurezza descritti dagli ideatori del Trusted Computing affliggono quasi solo l'ambiente Windows. Virus, worm, cavalli di Troia, programmi spia, adware e molti altri flagelli digitali sono praticamente sconosciuti nel mondo Apple (McIntosh) ed in quello Unix/Linux (vedi Appendice C). Gran parte dei problemi del mondo Windows sono infatti dovuti a delle gravi falle di sicurezza prodotte, per ragioni commerciali e strategiche, da Microsoft stessa. Il caso più clamoroso è la presenza di un interprete Basic (VBA), assai poco sicuro, all'interno di tutte i programmi prodotti da Microsoft, tra cui Word, Excel, PowerPoint, Outlook e Internet Explorer. Questo interprete è responsabile di praticamente tutte le epidemie di virus che si sono diffuse su Internet degli ultimi 5 o 10 anni e non è mai stato né rimosso né reso realmente affidabile. Per avere un computer sicuro, dal punto del vista dell'utente finale, sarebbe sufficiente usare un sistema operativo e del software costruito con la dovuta cautela, come Linux e gran parte del software Open Source (Mozilla Firefox, Mozilla Thunderbird, OpenOffice, etc.). Non c'è nessun bisogno di nuove e sofisticate tecnologie implementate in hardware. Questa situazione è certamente destinata a cambiare in futuro, quando un maggior numero di hacker comincerà a dedicare la propria attenzione a Linux, ma il concetto di base resta valido: i sistemi informatici possono (e dovrebbero) essere difesi con strumenti meno invasivi del Trusted Computing, a partire da una progettazione e da una implementazione attenta ai problemi della sicurezza. Sicuro per chi? Le considerazioni sull'utilità del Trusted Computing portano direttamente ad un'altra domanda: se il Trusted Computing non è utile per l'utente finale, a chi serve? In altri termini, se il mio PC non è sicuro per me, per chi è sicuro? Nella sua famosa FAQ sul Trusted Computing, il Professor Ross Anderson dell'Università di Cambridge presenta questa contestazione in modo molto chiaro: La domanda è: sicurezza per chi? Tu preferiresti non doverti preoccupare dei virus, ma neppure il TC li fermerà: i virus sfruttano il modo in cui le applicazioni software (come per esempio Microsoft Office e Outlook) utilizzano lo scripting. Potresti essere insofferente rispetto allo spamming, ma non sarà possibile eliminare neppure questo. ....... Visto in questi termini il TC non fornisce la stessa sicurezza all'utente e al venditore di PC, al fornitore di software e all'industria dei contenuti. Non aggiunge valore per l'utente, anzi lo distrugge. Si limita ciò che si può fare sul proprio PC per poter disporre di applicazioni e servizi che estraggono più denaro all'utente. Ross Anderson non è il solo a criticare il Trusted Computing in questo modo. Praticamente tutti gli analisti che si sono occupati del Trusted Computing sono concordi nell'affermare che un computer che usa questa tecnologia è da considerarsi sicuro per il produttore dell'hardware, del software e dei contenuti multimediali presenti su di esso, ma non per l'utente che ha comprato e pagato questo oggetto. Questa critica non viene adeguatamente contestata nemmeno dai più autorevoli sostenitori del Trusted Computing. Ad esempio, David Safford si limita a rispondere alle critiche di Anderson in questo modo: 16 “Visti in questi termini, TCPA e Palladium non fanno lo stesso sforzo per proteggere l'utente ed il fornitore del computer, del software o dei materiali. Questa tecnologia 16 "Seen in these terms, TCPA and Palladium do not so much provide security for the user as for the PC vendor, the software supplier, and the content industry. They do not add value for the user, but destroy it." Personally, I find the ability to protect my private keys, and to protect my encrypted data very important and very valuable. non aggiunge valore per l'utente ma anzi lo distrugge.” Personalmente, trovo la possibilità di proteggere le mie chiavi crittografiche ed i miei dati molto importante e molto prezioso. In effetti, nell'architettura del Trusted Computing sono presenti degli elementi che hanno poco o niente a che fare con la sicurezza dell'utente e sono invece chiaramente destinati a proteggere gli interessi dei fornitori di software e di contenuti. Il primo di questi elementi è l'attestazione remota. Come abbiamo visto in precedenza, con questo termine si definisce la procedura con cui un computer (od un altro dispositivo) si identifica quando contatta un server remoto o quando tenta di accedere ad una risorsa protetta (che può essere, ad esempio, un file crittografato). In pratica, si tratta della stessa procedura con cui l'utente si identifica quando si collega ad un sito web protetto, come un sito di Home Banking. In questo caso, tuttavia, è il computer ad identificarsi, senza che l'utente debba (o possa) intervenire. Inoltre, il computer invia un identificatore digitale che descrive la sua identità e la struttura del suo sistema. Se l'utente cambia un dispositivo od un programma, questo identificativo cambia a sua volta. Grazie a questa funzionalità, la controparte remota può sapere se il sistema è cambiato rispetto a quando è stato “certificato” (ad esempio, può scoprire se è stato installato software in grado di bypassare le protezioni). Francamente, è molto difficile pensare che questo meccanismo sia utile all'utente. Qualunque altro meccanismo di autenticazione, come le normali password, è più che sufficiente per le necessità dell'utente e delle aziende. Né le aziende né gli utenti individuali hanno realmente la necessità di sapere cosa c'è installato sul computer della persona con cui stanno parlando. Questa è una esigenza che può avere piuttosto chi vende software e contenuti multimediali ed è quindi esposto al rischio di copie abusive. Il secondo elemento che lascia perplessi è la protezione crittografica dei canali di comunicazione tra i vari componenti del computer. Dato che l'utente ha legittimamente comprato tutti questi elementi e può vantare su di essi una lunga serie di diritti, per quale motivo le comunicazioni tra questi componenti devono essere precluse alla sua analisi? Secondo gli ideatori del Trusted Computing, questa funzionalità serve a proteggere i dati in transito (le password) dall'azione di programmi spia. In realtà, la protezione contro questi programmi spia è già disponibile da anni, sotto forma di antivirus generici e di programmi di rilevamento più specifici. La vera ragione che ha spinto gli ideatori di NGSCB e LaGrande a volere questa funzionalità può essere facilmente dedotta leggendo il rebuttal di David Safford. Commentando le critiche di Lucky Green, Safford dice: 17 “[TCPA] chip: il chip è resistente alle manomissioni e montato direttamente sulla scheda madre.” Beh, no. Il chip TCPA non è particolarmente resistente nei confronti di un attacco messo in atto dal suo proprietario. Nei Criteri Comuni di Valutazione del TCPA, questo tipo di resistenza è specificamente non inclusa tra gli obiettivi da raggiungere. La versione IBM di questo chip viene venduta sotto forma di scheda LPC e non è particolarmente protetta contro attacchi fisici locali. Questo non è mai stato un obiettivo in quanto questo sistema è stato sviluppato per proteggere i dati dell'utente contro attacchi esterni via software. In effetti, quello che dice David Safford è vero. Il Fritz Chip proposto dal Trusted Computing Group, e prodotto da IBM, è semplicissimo da aggirare: basta sfilarlo dalla sua slot sulla scheda madre. Proprio per questo motivo l'architettura di Intel (LaGrande) e quella di Microsoft (NGSCB, ex-Palladium) hanno aggiunto alle specifiche del Trusted Computing Group due elementi che non erano originariamente previsti: l'implementazione della tecnologia Trusted Computing all'interno delle CPU e la protezione crittografica delle comunicazioni tra questi elementi. In questo modo, l'utente non ha più modo di 17 "[TCPA] chip: tamper resistant, surface mounted". Well, no. The TCPA chip is not particularly tamper resistant against owner attack. In the Common Criteria Evaluation target for TCPA, hardware tamper resistance is specifically not included as a goal. The IBM version ships as an LPC daughterboard, and is not specially protected against local hardware attacks. This was never a requirement, as the goal was to protect user data against external software attack". disabilitare queste funzionalità e non può nemmeno intercettare i flussi di dati tra un elemento e l'altro. L'utente è stato efficacemente tagliato fuori dal computer che ha comprato e regolarmente pagato. In pratica, l'utente viene trattato alla stregua di un avversario o, peggio, di un virus. Ross Anderson riporta una esplicita ammissione di un funzionario Microsoft su questo modo di intendere i rapporti con l'utente: Un modo caritatevole di guardare al TC è stato promosso da Roger Needham che ha diretto la ricerca Microsoft in Europa: esistono alcune applicazioni in cui si desidera limitare le azioni dell'utente. Per esempio si potrebbe voler impedire alla gente di intervenire sul contachilometri prima di vendere l'auto. Nello stesso modo, se vuoi gestire i DRM su un PC allora devi considerare l'utente come un nemico. L'ultimo elemento, forse il più inquetante, che fa ritenere che il Trusted Computing sia una tecnologia che protegge il venditore più che l'acquirente, è la possibilità di veto e di interferenza che un server remoto può avere sul dispositivo dell'utente. La documentazione di LaGrande afferma: 18 L'agente remoto può esaminare le credenziali per verificare se questa chiave pubblica rappresenti effettivamente un TPM reale. Inseguito può usare questa chiave per verificare la firma digitale sui dati ed infine per estrarre i dati stessi. A questo punto, i dati estratti possono essere confrontati con varie liste per verificare se l'ambiente è accettabile per l'agente remoto. In altri termini, l'utente (il suo dispositivo) deve lasciarsi identificare poi il server remoto decide se e cosa l'utente può fare basandosi su una "lista" non meglio definita. Questo, in pratica, equivale a dire che chi gestisce il server può decidere di fornire o meno un servizio od un prodotto sulla base 18 The remote agent may examine the credentials to determine that this public key does; in fact, represent a real TPM, then uses the public key to verify the signature on the record and, then extracts the data from the record. The extracted data may now be checked against various lists to determine if this is an environment acceptable to the remote agent. dell'identità del dispositivo (cioè dell'utente) e della sua configurazione (del software installato). Se il programma che usate per ascoltare la radio via internet finisce sulla lista nera del fornitore, allora niente radio (anche se avete già pagato l'abbonamento). Questa caratteristica di veto diventa ancora più pericolosa se la si vede unita alle caratteristiche di gestione remota dei sistemi Trusted Computing. Nel capitolo "Applicazioni del Trusted Computing" abbiamo detto che l'implementazione di Intel e di Microsoft rendono possibile la creazione di un canale protetto preferenziale per gli amministratori di sistema. Questo vuol dire che se il server remoto o l'amministratore di rete trova sul vostro computer qualcosa che non gradisce, teoricamente (e forse anche praticamente) lo può rimuovere d'autorità, può installare un aggiornamento od un programma sostitutivo senza nemmeno dirvelo. Questa caratteristica è esplicitamente supportata da Microsoft già da molto tempo, sotto forma degli aggiornamenti automatici del sistema di Windows Update. In teoria (e forse anche in pratica) questo sistema potrebbe inviare una lettera di denuncia alla Polizia se trova sul computer dei file protetti da copyright provenienti da fonti sospette. Secondo Anderson, una tecnologia di questo tipo, chiamata "Traitor Tracement" è stata effettivamente studiata da Microsoft per diversi anni. Anche in questo caso, è veramente difficile ipotizzare una applicazione sensata di queste funzionalità se non per proteggere i diritti dei fornitori di software, contenuti multimediali e servizi su Internet. Usi ed Abusi Una delle più gravi critiche che viene mossa al TC è che questa tecnologia si presta incredibilmente bene ad abusi di vario genere da parte delle aziende, dei governi e dei produttori di hardware, di software e di contenuti. Molti specialisti hanno fatto notare che c'è molta differenza tra quello che si può tecnicamente fare con il Trusted Computing e ciò che è effettivamente previsto dai progetti di Intel, AMD, Microsoft e degli altri produttori. Questo fa nascere il sospetto che mentre le aziende dichiarano di avere degli scopi del tutto legittimi e sostanzialmente limitati, le reali applicazioni a cui stanno pensando siano ben altre. Naturalmente le aziende respingono in modo deciso questi sospetti. Ad esempio, David Safford rigetta le accuse che vengono mosse al TC da Ross Anderson nel seguente modo. 19 Il Fritz Chip controlla che i componenti hardware siano sulla lista dei componenti approvati dal TCPA, che il software sia stato certificato e che nessun elemento abbia un numero di serie revocato. Se sono state apportate modifiche significative alla macchina, allora la macchina deve essere collegata ad Internet e ricertificata”. Nulla di questo esiste in nessun punto delle specifiche TCPA od in nessun prodotto sul mercato. Mentre queste cose possono essere teoricamente fatte su qualunque sistema operativo, presentarle come realtà, invece che come pura speculazione, è un atto irresponsabile. 20 “C'è un momento nel quale tuttavia non si può spegnere il Fritz Chip: non si può fare in modo che esso ignori il software piratato. Anche se il sistema viene avviato in modalità untrusted, il Fritz Chip controlla ugualmente che il sistema operativo non si trovi sulla lista dei numeri di serie revocati.” Queste sono altre speculazioni presentate come fatti. Non esiste nessuna lista di numeri di serie revocati. Questa lista può essere creata? Si, questo può essere fatto, con o senza il TCPA. Non c'è limite alla lista di cose stupide che può essere fatta con una macchina di Turing completa. 19 "Fritz checks that the hardware components are on the TCPA approved list, that the software components have been signed, and that none of them has a serial number that has been revoked. If there are significant changes to the PC’s configuration, the machine must go online to be re-certified." None of this exists anywhere in the TCPA specifications, or shipping product. While these things could theoretically be done on any operating system, to present them as existing fact, rather than the pure speculation that they are is irresponsible. 20 "There is one respect, though, in which you can’t turn Fritz [TCPA] off. You can’t make him ignore pirated software. Even if he’s been informed that the PC is booting in untrusted mode, he still checks that the operating system isn’t on the serial number revocation list." Here is more pure speculation presented as fact. There is no "serial number revocation list". Could someone create such a list? Yes, this could be done, with or without TCPA. There is no end to the infinite number of stupid things that could be done on a Turing complete system. TCPA simply does not do this. TCPA semplicemente non fa niente di tutto questo. Le affermazioni di Safford, tuttavia, non sono riuscite a porre termine alla discussione su questo argomento. Il punto debole di queste rassicurazioni è che i TPM del TCG, l'architettura LaGrande di Intel, l'architettura Presidio di AMD e lo strato software NGSCB di Microsoft sono cose molto diverse tra loro e che implementano funzionalità altrettanto diverse. Anche David Safford ne è consapevole ed infatti nel suo rebuttal avverte: 21 Questo report analizza questi documenti contrari al TCPA mettendo in risalto gli errori che contengono e dimostrando che leloro conlcusioni sul TCPA sono semplicemente sbagliate. Questo documento difende solo TCPA. Palladium ed i sistemi DRM devono difendersi da soli. Safford difende i TPM del TCG ma i computer che troveremo sugli scaffali dei negozi nei prossimi anni saranno invece dotati di LaGrande o Presidio, che usano i TPM al loro interno ma che ne ampiano anche enormemente le funzionalità. I TPM originali, da soli, saranno presumibilmente usati più che altro su dispositivi meno complessi come i lettori CD/DVD stand-alone, i ricevitori satellitari, i lettori portatili, le radio e via dicendo. Di conseguenza, le rassicurazioni di David Safford non sono applicabili ai computer. Anche ammesso che le aziende del TCG si attengano strettamente ai criteri stabiliti dal consorzio, ed a cui si riferisce Safford, questo fornirà qualche garanzia solo riguardo ai TPM del TCG. I computer basati su LaGrande, Presidio o TrustZone seguiranno altri criteri, molto meno garantisti per l'utente. Come se non bastasse, le rassicurazioni di Safford non sono del tutto attendibili nemmeno nel caso dei più semplici dispositivi digitali portatili o da salotto, cioè quelli su cui dovrebbero essere installati i TPM del TCG da soli. I produttori di questi dispositivi non sono obbligati ad attenersi alle regole del TCG. L'adesione alle linee guida del TCG, infatti, è del tutto volontaria e non sono previste sanzioni 21 This report analyzes these anti-TCPA papers, pointing out these errors in detail, and showing that their conclusions about TCPA are simply wrong. This paper defends only TCPA. Palladium and DRM have to defend themselves. per i trasgressori. Di conseguenza, questi produttori possono benissimo installare sui loro dispositivi i TPM del TCG ed usarli come componenti di una architettura più complessa, ad esempio di tipo DRM. Cosa possano fare queste architetture di secondo livello dipende solo dalla volontà di chi le implementa. Ma quali sono gli abusi a cui si prestano questi sistemi? Tra le cose che si possono teoricamente fare con questa tecnologia, ma che non sono ufficialmente previste nella documentazione dei produttori, gli analisti ne hanno identificate alcune davvero inquietanti. Le analizziamo qui di seguito. Identificazione degli utenti Grazie al TC si potrebbero identificare con certezza i dispositivi digitali ed i loro utenti sulle reti (Internet, Wireless e qualunqe altra rete). Anche se il TCG sostiene che questo non sia possibile, grazie alla disponibilità di infiniti alias crittografici, questa garanzia è completamente basata sulla buona fede di chi scrive il software. Chiunque può creare software che utilizza le chiavi crittografiche del TPM per identificare in modo certo l'utente in rete. Non c'è nulla che gli impedisca di farlo, a parte i buoni propositi del TCG. Obbligare l'utente ad usare del software così concepito, ed a lasciarsi identificare, è semplice: basta negargli l'accesso a qualche risorsa particolarmente appetibile se non lo fa. DRM Il TC permetterebbe di imporre a viva forza il rispetto dei diritti dell'autore e del distributore di contenuti multimediali, in modo molto più rozzo ed aggressivo di quanto sia attualmente previsto dalle legislazioni americane ed europee. Come abbiamo già visto, il DRM è quasi una seconda natura per il TC, al punto che gran parte delle sue funzionalità sembrano concepite apposta per questo scopo. Traitor Tracking Il TC permetterebbe di denunciare automaticamente i trasgressori. Più esattamemte, il TC fornirebbe le funzionalità di base necessarie a questo scopo, come l'identificazione dell'utente e le funzionalità per “misurare” il software e l'hardware che egli usa. Scrivere il software che implementa le funzionalità di secondo livello necessarie per completare l'opera, e costringere l'utente ad accettarlo, non sarebbe certo un problema per colossi come Microsoft e Intel. Come abbiamo già visto, sono già stati fatti degli studi su una tecnologia che agisce proprio in questo modo. Intercettazioni Il TC potrebbe rendere possibile intercettare le comunicazioni tra gli utenti. Questa è una conseguenza della posizione privilegiata di cui gode chi controlla il TC (azienda, governo, fornitore, etc.) rispetto all'utente del computer. Grazie a TC, una azienda potrebbe facilmente imporre ai suoi dipendenti l'uso di programmi di sua scelta e dotati di backdoor e/o di funzionalità di spionaggio. Questo potrebbe essere fatto anche da un fornitore hardware/software nei confronti dei suoi clienti. In ogni caso, l'utente e/o proprietario del sistema si troverebbe nella impossibilità di reagire proprio a causa delle protezioni messe in atto dal TC. Interferenze Il TC potrebbe mettere i governi, le aziende ed i produttori di hardware, software e di contenuti nella posizione di poter interferire attivamente nelle comunicazioni tra gli utenti e nel loro lavoro quotidiano. Anche questo sarebbe possibile grazie alla posizione privilegiata di cui gode il sistema TC nei confronti dell'utente e, di conseguenza, del potere di cui dispone chi è in grado di controllare il sistema TC. Non è difficile immaginare programmi che reagiscono attivamente a determinate azioni “sgradite” dell'utente, ad esempio reinstallando software che l'utente ha disinstallato o inviando messaggi all'esterno. Non è nemmeno difficile immaginare programmi che cancellano o modificano comunicazioni in corso tra gli utenti (e-mail e web ma anche audio/video) sulla base di criteri imposti da un fornitore o da un ente esterno (polizia, governo, azienda, etc.). Queste funzionalità potrebbero dare vita ad una nuova forma, estremamente temibile, di censura e di controllo. Tutte queste applicazioni sono esplicitamente vietate dai documenti del TCG e dei principali sviluppatori di sistemi TC ma, secondo alcuni osservatori, resta comunque possibile realizzarle. Concorrenza Sleale Il TC potrebbe essere usato da chi controlla il sistema TC per disabilitare o rimuovere software sgradito dal computer dell'utente o per impedirgli di funzionare. Nonostante tutte le assicurazioni delle aziende del TC, creare questo tipo di applicazione rimane possibile. Ocorre soltanto scrivere il software necessario. Obbligare l'utente ad usarlo non sarebbe un problema per colossi come i membri del TCG e per le grandi aziende loro clienti. In realtà, questo tipo di concorrenza sleale, o di vendor-lock, è già insito nel fatto che i programmi utilizzino la memorizzazione sigillata per proteggere i documenti da essi creati. Se Word genera documenti cifrati che solo Word, e solo a certe condizioni, può decifrare, nessun altro programma al mondo potrà mai fargli concorrenza. Programmi come ABIWord e OpenOffice sarebbero immediatamente tagliati fuori dal mercato. Installazione dell'utente ed aggiornamento automatico a dispetto Il TC potrebbe rendere possibile installare automaticamente del software sul sistema, od aggiornare quello esistente, senza che l'utente venga avvisato. A dire il vero, questo è già un evento abituale per chi usa Windows e Windows Update. Censura Il TC potrebbe permettere di creare e mettere in atto delle liste di proscrizione di programmi, contenuti e forse persino utenti che si desidera emarginare. Anche questo è tecnicamente possibile. Il livello di privilegio di cui gode TC sul sistema è tale da impedire all'utente di aggirare simili liste di proscrizione. Come si può vedere, i rischi di abuso sono decisamente gravi. Rimane tuttavia una domanda a cui è necessario dare una risposta: anche ammesso che queste applicazioni siano tecnicamente possibili, i produttori sono realmente intenzionati ad implementarle? Purtroppo, su questo punto non è possibile farsi molte illusioni: queste cose sono tecnicamente possibili e verranno implementate quasi certamente da uno o dall'altro dei produttori. Le ragioni di questo pessimismo estremo sono molte. La prima è che i produttori conivolti nel progetto Trusted Computing sono oltre un centinaio. Statisticamente è molto probabile che qualcuno di loro, presto o tardi, si faccia tentare da queste possibilità. La seconda ragione è che esiste una fortissima pressione da parte delle software house e delle aziende del recording per adottare queste soluzioni. Non è un mistero, ad esempio, che la RIAA (Recording Industry Association of America) abbia sempre fatto pressioni in questo senso presso il Congresso USA. Il terzo motivo è che non c'è nessuno in questo momento in grado di opporsi. L'adozione di queste tecnologie è soggetta solo alla accettazione (più o meno forzata) da parte dei clienti. Non esistono leggi, né in USA né in Europa né altrove, che regolino l'adozione di queste tecnologie o le disciplinino in qualunque modo. Infine, ci sono gli inquietanti precedenti di molte aziende coinvolte nel progetto Trusted Computing. Microsoft, tanto per fare un esempio, è famosa per usare tecniche molto aggressive, spesso al limite della legalità, per conquistare e mantenere le sue posizioni di mercato. Chi controlla? Come abbiamo appena visto, il Trusted Computing è una tecnologia che può essere facilmente utilizzata per molte applicazioni ufficialmente non previste dai suoi ideatori, molte delle quali decisamente sfavorevoli per il legittimo proprietario del dispositivo, chiaramente dannose per la salute del mercato e forse pericolose per la libertà di espressione, per la democrazia e persino per la sicurezza nazionale. Ad essere sinceri, questa tecnologia di presta talmente bene a vari tipi di abuso da far pensare che ci sia qualcosa di intenzionale in questa sua seconda natura. A questo punto, sorge spontanea una domanda: chi controlla che questa tecnologia sia usata soltanto per fini legittimi? Incredibilmente nessuno. In questo momento, non esiste nessun ente di sorveglianza su questa tecnologia, né in USA, né in Europa, né in nessun'altra parte del mondo. L'uso di questa tecnologia è regolato solamente dalla natura del contratto d'acquisto sottoscritto (di solito implicitamente) tra il produttore/venditore e l'acquirente/utente. Non c'è nessuno che vigili sui contenuti di questo contratto e non c'è nessuno che vigili sul fatto che l'acquirente sia realmente informato e realmente consenziente nel momento in cui lo sottoscrive. Tutto quanto avviene nello stesso contesto legale che regola l'acquisto di una lavatrice, senza nessuna particolare eccezione e senza nessuna particolare cautela. Si tratta chiaramente di una situazione in cui le aziende (soprattutto se consorziate, come nel caso del TCG) possono far valere in modo quasi illimitato il loro maggiore peso contrattuale ed in cui all'utente, spesso ignaro, non resta che subire passivamente una pesante vessazione. Per capire come si sia arrivati a questa allucinante asimmetria di diritti tra produttori e consumatori, bisogna tornare molto indietro negli anni, all'origine del concetto di DRM. Nell'Aprile del 1941, in piena Seconda Guerra Mondiale e sotto la dittatura fascista di Benito Mussolini, il Governo Italiano ha emanato una legge per la tutela del diritti d'autore, la legge N° 633 (vedi: http://www.interlex.it/testi/l41_633.htm e http://www.giustizia.it/cassazione/leggi/l633_41.html ). Il testo di questa legge prevede tra l'altro una norma che autorizza il produttore a fare uso di dispositivi tecnologici (di qualunque tipo) a difesa del diritto d'autore: Art. 102-quater 1. I titolari di diritti d'autore e di diritti connessi nonché del diritto di cui all'art. 102-bis, comma 3, possono apporre sulle opere o sui materiali protetti misure tecnologiche di protezione efficaci che comprendono tutte le tecnologie, i dispositivi o i componenti che, nel normale corso del loro funzionamento, sono destinati a impedire o limitare atti non autorizzati dai titolari dei diritti. Questo diritto del produttore è stato poi riconosciuto anche dalla legislazione americana con una legge emanata nel 2001 e diventata subito famosa: il Digital Millenium Copyright Act (DMCA). Nel 2003 l'Unione Europea, senza nessuna discussione democratica degna di nota, ha fatto proprie queste norme ed ha emanato una direttiva nota come European Union Copyright Directive (EUCD). Con un insolito zelo, il Governo Berlusconi ha immediatamente provveduto ad emettere vari decreti e varie leggi di attuazione per ribadire i principi del DMCA/EUCD e rinforzare ulteriormente i principi della Legge 633 del 1941, tra cui la famosa "Legge Urbani" (Legge 128/2004, vedi: http://www.parlamento.it/parlam/leggi/04128l.htm). Grazie a queste leggi, in questo momento, in tutto il mondo occidentale è illegale sia mettere fuori uso i dispositivi di protezione che tentare di esaminare il loro funzionamento. In altri termini, da un lato viene riconosciuto il diritto dei produttori di utilizzare questi sistemi di protezione e di decidere, senza alcun controllo e senza alcun confronto con l'utente, come questi dispositivi debbano funzionare. Dall'altro, viene vietato all'utente di prendere qualunque iniziativa per difendersi. Questo precedente, che riguardava solo i DRM, ha aperto la strada all'uso di sistemi di protezione dal significato più ampio, come sono appunto i sistemi di Trusted Computing. Grazie a questa vastissima ed inusuale coperatura legislativa, varata quasi all'insaputa della popolazione, i produttori sono quindi liberi di fare quasi tutto quello che desiderano. In particolare, possono decidere di inserire quello che vogliono nei prodotti che commercializzano e non devono rendere conto a nessuno della natura e del funzionamento dei dispositivi utilizzati. All'acquirente/utente viene lasciato solo il diritto di astenersi dall'acquisto, se gli è possibile, o di rivolgersi ad altri prodotti, se disponibili. Questa situazione è così chiaramente vessatoria che persino le aziende produttrici sono state costrette a riconoscerlo. Ecco cosa afferma il TCG a questo proposito nel suo “Design, Implementation, and Usage Principles for TPM-Based Platforms”: 22 L'informatica ed Internet hanno cambiato in modo fondamentale il valore e l'importanza dell'informazione. La tecnologia TC, quando correttamente implementata, ha la capacità di migliorare enormemente la sicurezza delle piattaforme collegate ad Internet. Nello stesso tempo, come molte tecnologie di sicurezza, il TC può essere usato in modo inappropriato per minare i diritti umani fondamentali dell'utente riguardo alla riservatezza ed al controllo sulla piattaforma. In vista di questi possibili abusi della tecnologia TC, il TCG ha lavorato con grande impegno per definire degli elementi costitutivi per il sistema di sicurezza che favoriscano il controllo della piattaforma da parte dell'utente, la riservatezza, l'interoperabilità e la portabilità dei dati. Il TCG riconosce che le forze del mercato, i comportamenti coercitivi ed una carente implementazione possono fare molto per indebolire questi principi e che c'è poco che il TCG possa fare per impedire ad un produttore o 22 Computing and the Internet have fundamentally changed the value and importance of information. TCG technology, when properly implemented, has the capability to greatly improve the security of platforms on the Internet. At the same time, as with most security technologies, TCG technology could also be used inappropriately to undermine basic human rights of privacy and platform owner/user control. In light of this possibility for misuse of TCG technology, the TCG has worked very hard to specify building blocks for a security system that favors platform owner/user control, user privacy, interoperability, and data portability. The TCG realizes that market forces, coercive behavior, and poor implementations can do much to weaken these principles and that there is little the TCG organization can do to prevent a manufacturer or system designer from subverting the goals of privacy and control, if they are determined to do so. What TCG can do, however, is to say that such implementations fit neither the spirit of the TCG organization nor the letter of the TCG Principles. ad un progettista di sovvertire questi obiettivi di riservatezza e di controllo, se queste persone sono determinate a farlo. Ciò che può fare il TCG, tuttavia, è asserire con chiarezza che questo tipo di implementazioni non rispettano né la lettera né lo spirito dei principi stabiliti dal TCG. Il TCG non è stato il solo a correre ai ripari per difendersi da questo tipo di critiche. Negli ultimi anni, quasi tutte le aziende coinvolte nel progetto TC si sono dotate di apposite "linee guida" sull'uso "moralmente accettabile" di queste tecnologie. Il TCG ha pubblicato le sue norme nel Maggio del 2005, sotto forma di "Best Practices" (vedi: https://www.trustedcomputinggroup.org/downloads/bestprac tices/Best_Practices_Principles_Document_v1.0.pdf ). Questo documento ha ottenuto una accoglienza largamente favorevole. Ad esempio, Stefan Bechtold, un ricercatore di Stanford attivo nel settore delle leggi sul mondo digitale, ha apprezzato i seguenti punti. 1. Il TCG e la progettazione dell'interfaccia utente 23 Innanzitutto, ci sono due motivio per cui il TCG dovrebbe essere apprezzato. A pagina 12 di questo documento, il TCG consiglia di coinvolgere degli specialisti di progettazione dell'interfaccia utente sin dalle prime fasi di implementazione di un sistema TC. Ritengo che questo sia un punto molto importante e che possa contribuire a risolvere sul nascere molte questioni legate alla gestione del sistema e delle politiche di sicurezza. 2. Conflitti che sono per loro natura irrisolvibili In secondo luogo, questo documento dovrebbe essere 23 1. TCG and human interface design First, there are two issues which the TCG should be applauded for. On page 12 of the document, the TCG recommends to involve human interface experts early on in the process of designing TCG-enabled systems. I think this is a very important point which could avoid quite a lot of policy-related problems from the beginning. 2. Conflicts that are inherently unsolvable Second, the document should also be applauded for not trying to solve conflicts that are inherently unsolvable. apprezzato per il fatto che non cerca di risolvere conflitti che sono per loro natura irrisolvibili. Anche Bruce Schneier si è espresso positivamente su alcune parti di questo documento: 24 Si tratta sostanzialmente di un buon documenti, sebbene esistano alcune valide critiche. Apprezzo il fatto che questo documenti affermi che l'uso coercitivo di una tecnologia, ad esempio forzare l'utente ad usare una tecnologia DRM, sia inappropriato. L'uso di sistemi coercitivi per forzare l'uso delle funzionalità del TPM non è un uso appropriato della tecnologia TC. Apprezzo anche il fatto che il documento cerchi di salvaguardare la riservatezza dell'utente: “Tutte le implementazioni di componenti TC dovrebbero assicurarsi che questi componenti non possano essere usati in modo inappropriato per raccogliere informazioni sull'utente e sul suo comportamento.” Tuttavia, tutti gli osservatori rilevano un punto critico fondamentale di questo approcio: il rispetto di queste Best Practices è del tutto volontario. Nessun ente di controllo è preposto a sorvegliare la loro applicazione da parte della aziende e nessun tribunale è in grado di emettere sanzioni nei confronti dei trasgressori. Stefan Bechtold lo dice molto chiaramente: 24 It's basically a good document, although there are some valid criticisms. I like that the document clearly states that coercive use of the technology -forcing people to use digital rights management systems, for example, are inappropriate: The use of coercion to effectively force the use of the TPM capabilities is not an appropriate use of the TCG technology. I like that the document tries to protect user privacy: All implementations of TCG-enabled components should ensure that the TCG technology is not inappropriately used for data aggregation of personal information Mancanza di obbligatorietà. A pagina 13, il documento afferma: “ Il TCG riconosce che le forze del mercato, i comportamenti coercitivi ed una carente implementazione possono fare molto per indebolire questi principi e che c'è poco che il TCG possa fare per impedire ad un produttore o ad un progettista di sovvertire questi obiettivi di riservatezza e di controllo, se queste persone sono determinate a farlo.“ 25 Questo porta alla conclusione che, mentre il TCG spende molte buone parole riguardo ai problemi di implementazione del TC, non offre nessun meccanismo sanzionatorio per prevenire questo tipo di problemi. Piuttosto, il TCG si affida alle forze del mercato, alla autoregolazione, alle parole ed ed alle buone intenzioni dei progettisti. Anche Schneier è d'accordo su questo punto: 26 Lamentele a parte, si tratta di un buon documento e noi tutti dovremmo sperare che le aziende ne seguano i principi. L'adesione è completamente volontaria ma è il tipo di documento a cui i governi e le aziende potrebbero guardare e di cui potrebbero richiedere il rispetto da parte dei fornitori. Nel Settembre 2003, Intel ha pubblicato un documento di autoregolamentazione chiamato "LaGrande Technology Policy on Owner/User and Control". In questo documento, Intel 25 Lack of enforcement: On page 13, the document states: "TCG realizes that market forces, coercive behavior, and poor implementations can do much to weaken these principles and that there is little the TCG organization can do to prevent a manufacturer or system designer from subverting the goals of privacy and control, if they are determined to do so. ......... This all leads to the conclusion that, while TCG has nice words to say about the policy problems of trusted computing, it does not offer any sanctioning mechanisms that help to to prevent such problems. Rather, TCG relies on market forces, self regulation, nice words and positively biased technology design. 26 Complaints aside, it's a good document and we should all hope that companies follow it. Compliance is totally voluntary, but it's the kind of document that governments and large corporations can point to and demand that vendors follow. riconosce esplicitamente la necessità di autocontrollo nell'uso di queste tecnologie: una forma di 27 Intel ritiene che una chiara, non ambigua definizione di una politica di implementazione sia molto importante nel momento in cui l'industria si imbarca in un progetto teso a migliorare la sicurezza dei PC. Queste politiche dovrebbero fornire una guida per lo sviluppo responsabile dei prodotti, aiutare a definire dei modelli di utilizzo che si appoggino alle funzionalità di LaGrande ed aiutare gli acquirenti a prendere decisioni di acquisto più consapevoli. ed ancora: 28 Intel ritiene che l'adesione a queste politiche, od a politiche equivalenti, sia fondamentale per ottenre tutti i benefici di LaGrande e delle tecnologie complementari e di conseguenza incoraggerà vigorosamente i suoi collaboratori a fare proprie queste linee guida ed a implementarle. Purtroppo, anche riguardo a questo documento di Intel valgono le stesse critiche già fatte al documento del TCG: si tratta di linee guida che nessuno a tenuto a rispettare. Nemmeno Intel si lega a doppio filo a questo suo documento: 29 Nello stesso momento, riconosciamo che molti aspetti legati alla implementazione di queste politiche dipendono dallo sviluppo hardware e software di fornitori esterni e sono quindi fuori dalla portata di Intel. Microsoft non è meno esplicita nel riconoscere che esiste un 27 Intel believes that a clear, unambiguous statement of policy is very important as the industry embarks on a path toward greater PC security. These policies should provide guidance for responsible product development, help define use models that rely on LT capabilities, and help buyers make more informed purchase decisions. 28 Intel believes adherence to these or equivalent policies is critical to delivering the full benefits of LT and complementary security technologies, and will vigorously encourage our fellow travelers in the industry to internalize and implement these policies. 29 At the same time, we recognize that many aspects of successful policy implementation depend on software and hardware development from third party providers whose implementations are outside Intel’s direct control. problema morale legato all'uso di queste tecnologie ed alla assenza di un controllo esterno. Ad esempio, nelle sue FAQ affronta uno dei possibili casi di abuso: 30 D: Come si può essere sicuri che il Nexus ed i componenti correlati facciano esattamente quello che dichiarano? R: Microsoft renderà largamente disponibili i sorgenti del software utilizzato in modo che sia esaminato e valutato. Tuttavia, Microsoft non ha ancora pubblicato nessun documento che specifichi quale dovrebbe essere l'uso "corretto" di NGSCB. 30 Q: How can anyone be sure that the nexus and related components do exactly what you claim they do? A: Microsoft will make widely available for review the source code of the trusted computing base so it can be evaluated widely and validated. I rischi del TC The Overridden User Il primo e più importante rischio che si corre con l'adozione su larga scala di questa tecnologia è semplicemente quello di vedere "sovrascritta" la volontà dell'utente. Questo rischio è stato battezzato "Overridden User", cioè "Utente sovrascritto" o "utente scavalcato". Come abbiamo visto, il TC rende disponibili molti strumenti per ottenere questo risultato. Che questi strumenti siano stati ufficialmente creati per contrastare vari tipi di minaccia, poco importa: rimangono comunque utilizzabili per schiacciare l'utente e ridurlo al ruolo di puro consumatore passivo e privo di volontà. Su questo punto, tutti gli osservatori sono d'accordo. Ecco come si esprime Ross Anderson nella sua FAQ: A tutti gli effetti, le specifiche TCG, trasferiranno il controllo definitivo del tuo computer da te stesso a chiunque abbia scritto il software che utilizzi. (Molto di più di ciò che succede ora.) Catherine Flick conclude la sua tesi di alurea in questo modo: A meno di drastiche modifiche alle specifiche ed alla implementazione, il TC non sarà in grado di fornire una soluzione al problema della sicurezza dei computer e delle reti senza imposserasi silenziosamente del diritto alla riservatezza e della libertà di scelta dell'utente. 31 31 Overall, Trusted Computing will not, without major modifications to specifications and implementations, be able to deliver a solution to the problems of computer and network security without severely encroaching on a user’s privacy and freedom of choice. Seth Schoen, da parte sua, si esprime in questo modo: 32 La mancanza di controllo da parte dell'utente sul contenuto dell'attestazione è il problema centrale della attuale proposta di Trusted Computing. Si tratta di un difetto di progettazione inaccetabilmente grave che deve essere corretto prima che il Trusted Computing possa diventare una tecnologia di chiaro vantaggio per l'utente. Pericoli per la Competizione Commerciale Uno dei primi rischi del Trusted Computing ad essere identificato, e tuttora uno dei più discussi, è rappresentato dalla possibilità di usare questa tecnologia per creare un "cartello" di produttori di hardware, di software e di contenuti, a danno della libera concorrenza e del consumatore. Il Professor Ross Anderson, nella sua famosa FAQ, descrive il problema nel modo seguente. Il secondo, e più importante, beneficio per Microsoft è che TC incrementerà esageratamente i costi per passare da prodotti Microsoft (come Office) a prodotti concorrenti (come OpenOffice). Per esempio uno studio legale che voglia passare da Office a OpenOffice oggi dovrebbe semplicemente installare il software, formare i dipendenti e convertire i file esistenti. Nel giro di cinque anni una volta che essi abbiano ricevuto documenti protetti con il TC da magari un migliaio di differenti clienti, essi dovrebbero avere il permesso (nella forma di certificati digitali) da ciascun specifico cliente per poter migrare i loro file nella nuova piattaforma. Lo studio legale, in pratica, non vorrà questo, e in questo modo saranno ancora più impediti nel passaggio ad un altro software. In questo modo Microsoft potrà alzare ulteriormente i prezzi. Gli Economisti che hanno studiato l'industria del software concludono che il valore di un business informatico è 32 The lack of computer-owner control of the content of attestations is the central problem with the current trusted computing proposals. It is an unacceptably grave design flaw that must be remedied before the trusted computing architecture as a whole package will be of clear benefit to computer owners. equivalente al costo totale che hanno i consumatori nel passare alla concorrenza; entrambi sono equivalenti al valore attuale netto dei pagamenti futuri dei clienti del software vendor. Questo significa che un dominatore in un mercato maturo, come Microsoft con i suoi prodotti Office, può crescere più velocemente del mercato solo se esso vincola i suoi clienti molto strettamente. Ci sono vari alcune perplessità riguardo a questa teoria, ma l'idea di base è ben conosciuta tra i capitani dell'industria del software. Ciò spiega il commento di Bill Gates che ` Noi siamo arrivati a ciò pensando alla musica ma poi abbiamo realizzato che le e-mail ed i documenti sono ambiti molto più interessanti'. In modo simile, anche il nostro Paolo Attivissimo denuncia questo rischio: Applicando questa tecnologia al software, le conseguenze si fanno ancora più interessanti. Supponiamo che siate affezionati alla vostra copia di Office, che ha sempre funzionato ragionevolmente bene e conoscete a menadito, per cui non sentite il bisogno di spendere denaro per la nuova versione. Attualmente potete tenere Office sul vostro PC a tempo indeterminato. Ma con Palladium, all'uscita di Office 2004 Microsoft potrebbe bloccare l'esecuzione del vecchio Office sul vostro PC, obbligandovi ad acquistare la nuova versione. Benvenuti nell'era del software a tempo. Si prega di infilare un'altra monetina nella fessura, grazie. Che non si tratti dell'incubo software di due ubriaconi lo dimostrano le rassicurazioni che sono costretti a fornire Microsoft e Intel su questo punto. Microsoft, nelle sue FAQ, sostiene quanto segue. 33 D: Ho sentito che NGSCB obbligherà gli utenti ad usare 33 Q: I have heard that NGSCB will force people to run only Microsoftapproved software. A: This is simply not true. The nexus-aware security chip (the SSC) and other NGSCB features are not involved in the boot process of the operating system or in its decision to load an application that does not use the nexus. Because the nexus is not involved in the boot process, it cannot block an operating system or drivers or any nexus-unaware PC application from running. Only the user decides what nexus-aware applications get to run. Anyone can write an application to take advantage of new APIs that call to the nexus and related components without notifying Microsoft or getting Microsoft's approval. solo software approvato da Microsoft. R: Questo è semplicemente falso. Il chip SSC e le altre componenti di NGSCB non sono coinvolte nel processo di avvio del sistema operativo o nella decisione di caricare una applicazione che non utilizza queste funzionalità. Dato che NGSCB non è coinvolto nel processo di avvio, non può impedire ad un sistema operativo, ad un driver o ad una applicazione non-NGSCB di funzionare. Solo l'utente può decidere quali applicazioni NGSCB far girare sul suo computer. Chiunque può scrivere un programma che usa le nuove API per accedere alle nuove funzionalità di NGSCB senza doverlo notificare a Microsoft e senza dover ottenere nessuna autorizzazione. Ovviamente, sarà possibile scrivere delle applicazioni che richiedono la presenza si NGSCB per funzionare. Questo tipo di applicazioni potranno implementare qualche tipo di politica di accesso che richieda un certificato digitale o una licenza per funzionare. Tuttavia, sarà l'applicazione stessa ad imporre questa politica e questa non potrà influenzare le altre applicazioni. NGSCB isola le applicazioni le une dalle altre per cui una applicazione non può impedire ad un'altra di funzionare. Queste rassicurazioni, tuttavia, non sono molto efficaci. Microsoft è riuscita ad imporre al mercato i suoi prodotti (certamente non privi di problemi) anche senza il Trusted Computing. La disponibilità di questa tecnologia, che lega indissolubilmente l'utente al suo fornitore, può solo rinforzare enormemente il potere contrattuale di Microsoft e degli altri membri del TCG. Non è necessario un guinzaglio elettronico visibile per ottenere questo vendor-lock: è sufficiente il lockin (la dipendenza) tra i documenti ed il loro programma di gestione per ottenere questo effetto. Il caso di Word, citato da It will be possible, of course, to write applications that require access to nexus-aware services in order to run. Such an application could implement access policies that would require some type of cryptographically signed license or certificate before running. However, the application itself would enforce that policy and this would not impact other nexus-aware applications. The nexus and NCAs isolate applications from each other, so it is not possible for an individual nexus-aware application to prevent another one from running. tutti gli analisti, è esemplare. Questo problema è talmente cruciale che recentemente persino il governo del Massachusset ha votato una legge che obbliga le amministrazioni locali e statali ad usare formati dei documenti "liberi" proprio per evitare questo vendor-lock (vedi ad essempio: http://www.electricnews.net/frontpage/news9634903.html ). Le stesse FAQ di Microsoft riportano anche un interessante nota riguardo a Linux: 34 D: Linux, FreeBSD e gli altri sistemi operativi open source possono funzionare su hardware sviluppato per l'architettura NGSCB? R: Praticamente qualunque programma che funziona su una macchina Windows-compatibile al giorno d'oggi funzionerà anche su una macchina NGSCB (Ci sono alcune eccezioni esotiche comunque un utente che attualmente usa sia Linux che Windows potrà avere esattamente queste stesse funzionalità su una macchina NGSCB) D: Linux, FreeBSD e gli altri sistemi operativi open source potranno dotarsi di una architettura Trusted Computing simile a NGSCB? R: Tecnicamente, è possibile scrivere un nexus che sia in grado di interagire con altri sistemi operativi su una macchina NGSCB. Tuutavia, gran parte dell'architettura NGSCB è coperta da brevetti e ci sono degli aspetti di 34 Q: Can Linux, FreeBSD or another open source operating system run on hardware developed for the NGSCB architecture? A: Virtually anything that runs on a Windows-based machine today will still run on a NGSCB machine (there are some esoteric exceptions*; a user with a machine that currently runs both Linux and Windows would be able to have that same functionality on an NGSCB machine). Q: Could Linux, FreeBSD or another open source operating system create a similar trust architecture? A: From a technology perspective, it will be possible to develop a nexus that interoperates with other operating systems on the hardware of a nexus-aware PC. Much of the NGSCB architecture design is covered by patents, and there will be intellectual property issues to be resolved. It is too early to speculate on how those issues might be addressed. copyright che dovrebbero essere risolti. In questo momento è presto per speculare su come questi aspetti legali verranno affrontati. Le rassicurazioni fornite da Microsoft sono però accettate solo con pesanti riserve da molti analisti. Mentre è certamente vero che Linux, BSD e molti altri Unix (come Solaris) potranno essere installati ed usati su hardware NGSCB (come pure su Intel LaGrande e AMD Presidio), è anche ovvio che molti programmi che ora rimpiazzano programmi ufficiali di Microsoft e di altri produttori smetteranno di funzionare. Questo è il caso dei molti client alternativi per la messaggistica istantanea, come Kopete, e di molti player multimediali, come Xine. Questo è dovuto al fatto che questi programmi fanno uso di formati di file e protocolli di comunicazione proprietari di Microsoft e di altri produttori. Se fin'ora questi file e questi protocolli erano aperti ad una (pur difficile) opera di reverse engineering, dopo l'avvento di TC saranno protetti crittograficamente e completamente inviolabili. Senza queste alternative "open" ai sistemi proprietari, Linux perderà parte del suo interesse come sistema desktop. Pericoli per la Democrazia e per Internet L'aspetto del Trusted Computing che in assoluto preoocupa di più gli analisti è la possibilità di usarlo per controllare le comunicazioni tra gli utenti, la stampa e Internet. Secondo molti osservatori, il Trusted Computing è seriamente in grado di mettere la parola fine alla libertà di espressione (non solo su Internet) ed alla democrazia. Nella sua FAQ, il Professor Ross Anderson descrive il seguente scenario. I potenziali abusi si estendono molto oltre le tensioni commerciali e le guerre economiche e giungono fino alla censura politica. Mi aspetto che questo avvenga un passo alla volta. All'inizio alcune forze di polizia ben intenzionate eseguiranno un ordine relativo ad una foto pornografica di un bambino, oppure a un manuale su come sabotare i segnali ferroviari. Tutti i computer TC-conformi cancelleranno, o almeno riferiranno su, questi documenti criminali. Dopo di ciò in una causa per diffamazione, oppure in un caso di diritti sul copyright, otterrà una sentenza da una corte civile per la distruzione dei documenti in questione. Magari Scientology invierà sulle blacklist il famoso Fishman Affidavit. La polizia segreta di un dittatore potrà punire l'autore di un testo di un dissidente semplicemente cancellando ogni documento esso abbia creato utilizzando quel certo sistema - il suo nuovo libro, la sua dichiarazione dei redditi, magari anche le cartoline di compleanno dei suoi figli - a dispetto dell'esito giudiziario della vicenda. Nel West una corte potrebbe utilizzare la dottrina per la confisca per 'oscurare' una macchina che sia stata usata come deposito per una foto pornografica di un bambino. Una volta che gli avvocati, la polizia ed i giudici si renderanno conto delle potenzialità di questo sistema la goccia diverrebbe un fiume in piena. Questa potenzialità nasce da una caratteristica del sistema di Trusted Computing nota come "Distruzione automatica dei documenti". Ecco come la descrive lo stesso Ross Anderson: Un punto centrale è la distruzione automatica dei documenti. A seguito dei contenuti di alcune email imbarazzanti emerse in un recente caso anti-trust, Microsoft ha deciso una politica per cui tutte le email interne vengono distrutte dopo sei mesi. TC renderà questa possibilità disponibile a tutte le aziende che adottino piattaforme Microsoft. (Pensate a come sarebbe stato utile tutto ciò per Arthur Andersen nella gestione caso Enron). TC può essere usato per assicurarsi che i documenti dell'azienda possano essere letti solo su PC dell'azienda stessa a meno che una persona autorizzata decida che essi sono esportabili. Saranno possibili anche controlli molto fantasiosi: per esempio se spedisci un'email imbarazzante per il tuo superiore egli potrà emanare un messaggio per provvedere alla sua cancellazione ovunque esso sia giunto. Sarà possibile anche incrociare i domini: per esempio un'azienda potrà specificare che la sua corrispondenza legale possa essere vista esclusivamente da tre persone nello studio legale e dalle loro segretarie. (Studio legale potrebbe cercare di evitare ciò perchè gli altri componenti dello studio sono responsabili congiuntamente: ci potrebbero essere negoziazioni interessanti sul modo in cui le persone cercheranno di ridurre le tradizionali relazioni di fiducia a relazioni programmate.) L'allarme su questo punto è stato appena smorzato dalle dichiarazioni di Microsoft su questo punto. Nelle sue FAQ, Microsoft sostiene quanto segue. 35 D: Alcune persone sostengono che il fatto di usare Windows su una macchina TC permetterà a Microsoft o ad altre parti di rilevare e rimuovere da remoto il software “piratato” sul mio computer. Questo è vero? R: No, non è vero. NGSCB non include nessun meccanismo che permetta di rilevare, rimuovere o disabilitare un file od un programma che si trova sul PC. Infatti, NGSCB è stato costruito basandosi sul principio che nessuna politica venga imposta senza l'approvazione dell'utente. Microsoft è fermamente contraria ad inserire funzionalità di questo tipo all'interno delle macchine TC e non è intenzionata a farlo. Solo il proprietario del PC, sia esso una persona od una azienda, ha la possibilità di decidere cosa possa essere installato ed usato su una macchina TC. I programmi che girano su macchine TC, esattamente come quelli che girano oggi su macchine Windows, faranno solo ciò che è concesso loro di fare sulla base dei parametri di sicurezza definiti per quella macchina. Non soltanto NGSCB rispetta i controlli dell'utente ma addirittura li rinforza. Come abbiamo già detto, lo scopo del nexus, degli NCA e 35 Q: Some people have claimed that running the Windows operating system with the nexus will enable Microsoft or other parties to detect and remotely delete unlicensed software from my PC. Is this true? A: This is not true. NGSCB does not include mechanisms that delete or disable any content or file that currently runs on a PC. In fact, the NGSCB architecture is built on the premise that no policy will be imposed that is not approved by the user. Microsoft is firmly opposed to putting "policing functions" into nexus-aware PCs and does not intend to do so. A machine's owner, whether an individual or enterprise, has sole discretion to determine what programs run on the nexus-aware system. Programs that run under nexus-aware systems, just like programs that run under Windows, will do whatever they are allowed to do, based on the security settings on the user's machine. NGSCB not only respects existing user controls, it strengthens them. dei componenti ad essi relativi è quello di generare certificati digitali riguardo alla identità del codice e di proteggere dati secreti da altre applicazioni TC e da normali applicazioni Windows, sia di tipo utente che di tipo kernel. Le funzionalità aggiunte a Windows come parte del progetto NGSCB non includono nessun componente che renda più facile rilevare o cancellare file. Purtroppo, quella che sembra una rassicurazione non lo è. NGSCB non fornisce strumenti per rilevare o cancellare programmi ma è perfettamente in grado di rendere inaccessibile i documenti crittografati creati con le applicazioni che sfruttano le funzionalità di NGSCB. Questa capacità di proteggere i documenti, anche dopo che essi sono stati rilasciati al pubblico, è una delle caratteristiche fondamentali del Trusted computing ed è alla base dei suoi impieghi nel DRM e nell'ERM (Enterprise Rights Management). Lo scenario presentato da Anderson rimane quindi perfettamente credibile. Pericoli per la Sicurezza e la Sovranità delle Nazioni Un aspetto poco studiato del Trusted Computing è il suo impatto sulla sicurezza nazionale degli stati esterni agli USA e sulla loro sovranità nazionale. Per capire quali sono le origini di queste preoccupazioni bisogna ricordare quale sarà l'ampiezza del fenomeno Trusted Computing. As stated earlier, the function of the nexus, NCAs and related components is to make digitally signed statements about code identity and to protect secrets from other nexus-aware applications and regular Windows kernel- and usermode spaces. Enhancements to the Windows operating system introduced as part of NGSCB do not have any features that make it easier for an application to detect or delete files. Come abbiamo detto nei primi capitoli, praticamente tutti i produttori esistenti di hardware e gran parte dei produttori di software stanno adottando questa tecnologia. Anche i pochi dissidenti che ancora esistono saranno presto piegati alla volontà della maggioranza a causa del peso giocato dai brevetti tecnologici. Qualunque azienda che volesse costruire CPU prive di tecnologie Trusted Computing dovrebbe riuscire a superare lo sbarramento rappresentato dai brevetti in mano a Intel, Motorola, IBM e Microsoft. Di conseguenza, non saranno solo i computer dei privati cittadini e delle aziende ad essere de facto obbligati ad adottare questa tecnologia. Anche i computer usati per il normale lavoro quotidiano dalle amministrazioni pubbliche, dalle amministrazioni locali, dai governi, dai ministeri, dagli uomini politici, dai partiti, dalle polizie e dalle forze armate saranno presto "contaminati" da questa tecnologia. Inoltre, come abbiamo già detto, il fenomeno non riguarda solo i computer: anche i telefoni cellulari, le radio digitali, le televisioni digitali (satellitari e terrestri), i lettori ed i masterizzatori di CD e DVD, i lettori di MP3, i navigatori satellitari e praticamente ogni altro dispositivo digitale saranno presto costretti ad adottare questa tecnologia. In pratica, gli unici dispositivi che potrebbero sottrarsi a questa "epidemia" sono i rarissimi dispositivi digitali costruiti su misura per ragioni funzionali o strategiche, come i sistemi di controllo della armi (missili e cannoni) ed i sistemi di comunicazione protetta usati dagli eserciti. A questo punto, diventa chiaro che praticamente tutti i paesi del mondo si troveranno ad avere il loro sistema nervoso nelle mani di chi controlla questa tecnologia. In realtà, il problema è già presente da almeno 20 anni ed è già molto grave. Sin dall'avvento di MS/DOS (1984) era già chiaro che la diffusa presenza di un sistema informatico standard (PC IBM + MS/DOS) in tutta la struttura amministrativa e di controllo di un paese poteva rappresentare un problema, sia per il rischio di backdoor che per l'evidente dipendenza da un fornitore straniero per applicazioni ormai cruciali per la vita di una nazione. L'avvento del Trusted Computing non fa altro che rendere il problema più evidente e più grave. Ross Anderson descrive la situazione nel modo seguente. Ciò ha interessanti implicazioni per la sicurezza nazionale. Ad un TCG symposium a Berlino, ho provato a spiegarlo in questi termini: nel 2010 il Presidente Clinton potrebbe avere due pulsanti sulla sua scrivania - uno che spedisce missili in Cina ed un altro che spegne tutti i computer in Cina - provate ad indovinare quale dei due spaventa di più i Cinesi? (A questo punto un uditore impertinente ha chiesto: 'E se ci fosse un bottone per spegnere i PC in Europa?'). Tutto ciò potrebbe essere un'esagerazione, ma lo sarebbe di poco. Le politiche tecnologiche e le politiche del potere si sono intrecciate dai tempi dell'impero romano ed i legislatori prudenti non possono evitare di considerare le implicazioni strategiche del TC. Potrebbe essere piuttosto difficile per un governo passare tutti i suoi sistemi informatici da Windows a GNU/Linux all'apice di una crisi internazionale. Come se non bastasse, negli anni '90 il caso di Echelon (vedi Appendice A) ha reso evidente che non è assolutamente possibile fare affidamento sulla correttezza dei paesi che forniscono questi beni ad alto contenuto tecnologico. Ma quali sono i rischi che potremmo correre? Il primo e forse ol più grave rischio è legato al fatto che i chip TPM, come pure le CPU e l'hardware LaGrande e Presidio, potrebbero non essere prodotti secondo le specifiche dichiarate dai rispettivi produttori. In altri termini, questi aggeggi potrebbero contenere backdoor usate per spiare gli utenti o per prendere il controllo dei loro sistemi. Seth Schoen è uno degli autori che riconosce in modo più esplicito l'esistenza di questo problema: 36 Problema: verifica delle implementazioni Come possono essere sicuri i proprietari di hardware TC che i loro sistemi siano stati implementati nel rispetto delle specifiche pubblicate? (Ruediger Weiss) 36 Problem: Verification of implementations How can computer owners know that their trusted computing hardware has been implemented according to its published specifications? (Ruediger Weiss) Questo è un problema importante per qualunque componente crittografico hardware, non solo per il TC ma, dato che finora la maggior parte dei PC non inlcudeva nessun dispositivo crittografico, la maggior parte degli utenti di PC semplicemente non ha mai avuto motivo di preoccuparsi di questo problema. Mentre qualunque componente hardware può contenere delle backdoor o delle funzionalità non documentate, l'hardware crittografico ha la caretteristica speciale di avere accesso ad informazioni riservate ed avere la possibilità di divulgare queste informazioni attraverso canali protetti, ad esempio attraverso i certificati digitali usati nella attestazione. Di conseguenza è importante assicurasi che i produttori implmentino questi dispositivi nel modo corretto, senza includere funzionalità non documentate che potrebbero permettere a loro, od a terze parti, di avere accesso non autorizzato a queste informazioni riservate. Stabilire cosa è realmente in grado di fare un microchip non è facile. Per riuscirci è necessario un laboratorio attrezzato e dei tecnici adeguatamente preparati. Di conseguenza, è molto difficile che venga varato un piano generalizzato di controllo sui chip che vengono acquistati dai paesi non produttori, con il rischio che negli uffici di polizie, governi, forze armate e servizi segreti finiscano grandi quantità di dispositivi "contaminati" da cimici elettroniche del tutto invisibili ed ineliminabili. Controllare il software che controlla questi chip non è meno difficile. Microsoft, bontà sua, dimostra di essere consapevole di questo problema e di voler rassicurare i suoi utenti. Nelle sue FAQ asserisce quento segue. This is an important problem for all cryptographic hardware, not just trusted computing hardware. But since most PCs have not previously contained any specialized cryptographic hardware, most PC users simply haven't had occasion to worry about this problem in the past. While any hardware could contain back doors or undocumented features, cryptographic hardware is unique in that it has access to important secret information as well as opportunities to leak that information through undetectable covert channels (for example, in attestation certificates). Thus, it is important to assure that trusted computer hardware manufacturers implement the specifications correctly, without including undocumented features that would allow them or third parties to obtain unauthorized access to private information. 37 D: Le agenzie governative (cioè i servizi segreti) non richiederanno un accesso nascosto a questi sistemi (le cosidette backdoor)? R: Microsoft non inserirà mai una backdoor in un suo prodotto e resisterà fieramente ad ogni richiesta in tal senso. ed ancora: 38 D: Come si può essere sicuri che il nexus e gli altri componenti coinvolti facciano esattamente quello che dichiarano di fare? R: Microsoft renderà pubblico il codice sorgente di queste applicazioni in modo che possa essere esaminato e convalidato. Purtroppo, entrambe queste rassicurazioni lasciano il tempo che trovano. Microsoft potrebbe benissimo usare un sorgente diverso da quello pubblicato per compilare i suoi Nexus ed NCA. L'unico modo di accorgersene sarebbe quello di effettuare una complessa analisi del programma compilato che viene distribuito, con tutti i problemi già accennati per il controllo su larga scala dei componenti hardware. L'alternativa è quella di compilare personalmente questi programmi a partire dai sorgenti, una attività normalmente fuori dalla portata tecnica dell'utente medio. Anche ammesso che si potesse contare su programmi NGSCB assolutamente attendibili, rimarrebbe poi il problema dei programmi di livello superiore, cioè delle applicazioni. Qualunque programma di intrattenimento, ad esempio un banale lettore di file MP3, potrebbe essere contaminato da codice spia. Dato che programmi di questo tipo sarebbero protetti crittograficamente, in modo sostanzialmente 37 Q: Won't government agencies want a back door? A: Microsoft will never voluntarily place a back door in any of its products and would fiercely resist any attempt to require back doors in products. 38 Q: How can anyone be sure that the nexus and related components do exactly what you claim they do? A: Microsoft will make widely available for review the source code of the trusted computing base so it can be evaluated widely and validated. inviolabile, dal Trusted Computing per difendere i proprietari dei diritti d'autore sui contenuti, l'utente non avrebbe modo di esaminare questi programmi e verificare cosa essi siano realmente in grado di fare. In altri termini, la sicurezza introdotta nel sistema con la motivazione ufficiale di difendere l'utente da attacchi software, renderebbe impossibile per l'utente difendersi da attacchi software perpetrati proprio attraverso questi strumenti. Come se tutto questo non bastasse, sono possibili altre forme molto pericolose di abuso anche usando hardware e software assolutamente affidabili. Per capire come questo sia possibile è sufficiente riprendere in esame l'esempio appena riportato ed estenderlo alle sue conseguenze logiche. Ammettiamo per un attimo che un nuovo, piccolo produttore di software decida di immettere sul mercato un nuovo programma multifunzione simile a Microsoft Outlook. Questi programmi, chiamati PIM (Personal Information Manager) sono solitamente composti da un programma per la gestione della posta elettronica, un'agenda ed una rubrica. In alcuni casi includono anche un programma di messaggistica istantanea, un programma per la consultazione dei newsgroup (usenet) ed un browser web. Dato che questo tipo di programmi è spesso in grado di trattare contenuti "sensibili" (posta elettronica, contenuti multimediali coperti da copyright e via dicendo), è legittimo aspettarsi che facciano uso delle protezioni offerte dal Trusted Computing. Se uno di questi programmi dovesse contenere una backdoor software, potrebbe usare le protezioni offerte dal TC per rendere invisibile la backdoor all'utente. Lo stesso programma potrebbe usare i privilegi di comunicazione con l'esterno che gli vengono (logicamente) riconosciuti dall'utente per spedire copia dei documenti ad un ente esterno (CIA, KGB, NSA, Mossad, etc.). Questo programma potrebbe persino consentire ad un agente di questi servizi di prendere il controllo del computer e spedire posta a nome dell'utente. Non c'è praticamente limite a quello che potrebbe fare un simile aggeggio. Questo esempio rende evidente un punto debole molto grave dell'intera logica del Trusted Computing: l'utente può essere subdolamente convinto (o tecnicamente costretto) ad installare un programma di tipo Trusted Computing ed a garantirgli dei pericolosi privilegi di accesso a dati e funzioni del suo sistema. A quel punto, l'utente può perdere completamente e definitivamente il controllo. Data la posizione di vantaggio del produttore, sia da un punto di vista tecnico che commerciale, questa situzione è tutt'altro che insolita. Gli utenti Microsoft sono stati convinti (o costretti) ad usare Internet Explorer e Multimedia Player per anni, molto tempo prima che il Trusted Computing si affacciasse all'orizzonte. Vie di Fuga e strumenti di Difesa Vie di fuga (chip alternativi) La via maestra ad un mondo privo di Trusted Computing sarebbe quello di produrre, distribuire ed usare hardware privo di questa tecnologia. Purtroppo, però, quasi tutti i produttori mondiali di hardware (e buona parte dei produttori di software e di contenuti) hanno già adottato, almeno sulla carta, il Trusted Computing. Molti di loro stanno già producendo dispositivi dotati di questa tecnologia. Come se non bastasse, questo è solo uno dei problemi da risolvere per arrivare a produrre hardware "Trusted Computing free". Anche ammesso di trovare un produttore disponibile ad inimicarsi il resto del mondo, rimarrebbe da risolvere il problema dei brevetti. La tecnologia dei microchip è stata letteralmente creata tra gli anni '60 e '70 da Intel, Motorola e Texas Instruments, tutte aziende che fanno parte del TCG. Al giorno d'oggi è praticamente impossibile produrre un qualunque microchip senza fare uso di almeno uno dei loro brevetti. Questi brevetti scadranno solo tra decine di anni e fino a quel momento è francamente difficile credere che queste aziende siano disposte a cedere i diritti per il loro impiego ad aziende che farebbero loro una concorrenza spietata sul mercato. Si tenga presente, infatti, che questi prodotti "alternativi "sarebbero molto più appetibili degli originali proprio perchè privi delle limitazioni imposte dal Trusted Computing. Gli unici produttori che sembrano essere in grado di sottrarsi a questa regola sono i cinesi e, forse, i russi. Una azienda cinese, la BLX IC Design, in collaborazione con l'Institute of Computing Technology cinese, ha già sviluppato autonomamente diversi processori sui quali sembra che le aziende americane non potranno vantare diritti legali, tra cui il famoso Dogson V ("Dragon V"). Sebbene questi processori siano ancora molto più lenti e molto meno interessanti dei chip prodotti da Intel ed AMD, potrebbero diventare estremamente appetibili sul mercato mondiale proprio grazie all'assenza di tecnologie TC. Il presidente venezuelano Hugo Chavez ha addirittura avviato una joint venture tra industrie venezuelane e cinesi proprio con l'intento di arrivare a produrre computer non basati su tecnologia americana. Dietro a questa decisione c'è chiaramente una certa preoccupazione per la sicurezza nazionale e per la sovranità del governo, oltre ad una ovvia preoccupazione per l'indipendenza dell'industria venezuelana. Tecnicamente, anche alcuni altri produttori di secondo piano sarebbero in grado di seguire le orme delle aziende cinesi ma se sarà effettivamente questa la strada che decideranno di seguire è tutto da vedere. Anche le aziende cinesi potrebbero facilmente cambiare idea sull'opportunità di aprire una vera guerra industriale e commerciale con l'occidente su questo argomento. Strumenti di difesa (legali) L'altra principale possibilità di lotta contro la diffusione del Trusted Computing è rappresentato dalle iniziative legali. Come abbiamo sottolineato più volte, il Trusted Computing fornisce le basi per una nuova generazione di sistemi DRM ed ERM molto aggressivi ed invasivi. Sulla base di questa constatazione, è possibile che il Trusted Computing venga trascinato in tribunale da individui ed associazioni che già si oppongono all'uso di sistemi DRM. Contro l'uso incontrollato di sistemi DRM si sono già espresse sia la Corte Suprema Australiana che la Corte d'Appello di Parigi. Si tratta quasi sempre di sentenze che non mettono in discusssione il diritto del produttore di usare sistemi DRM ma piuttosto l'impelementazione di questi sistemi. Tuttavia, queste sentenze sembrano aprire finalmente la strada ad una discussione democratica ed approfondita sull'uso di queste tecnologie di controllo. Ecco, ad esempio, come riporta la notizia sulla decisione dei francesi la rivista online "Punto Informatico" (http://puntoinformatico.it/p.asp?i=53207 ): Negli scorsi mesi l'associazione francese di difesa dei consumatori Que Choisir, ha vinto alcune cause pilota particolarmente significative. Con una sentenza del 22 aprile 2005, la Corte d'appello di Parigi ha giudicato illegittime queste protezioni, ponendo fine a un contenzioso che opponeva Ufc-Que Choisir a Universal Pictures Video France, distributore di DVD. (vedi anche ApogeOnLine: http://www.apogeonline.com/webzine/2005/05/05/01/200505050101 ) Ed ecco come Punto Informatico parla della sentenza australiana (http://punto-informatico.it/p.asp?i=55425&r=PI ) , focalizzata su un problema di gestione geografica differenziata dei diritti: Ed è anche per questo che i giudici hanno voluto esprimersi più in generale sulle limitazioni geografiche imposte da Sony per poter gestire in modo differenziato prezzi e modalità distributive dei propri titoli: secondo i giudici questo genere di misure comprimono i diritti dei consumatori e riducono anche la competizione sul mercato. Se i sistemi DRM si dimostreranno sempre più vulnerabili a contestazioni legali di questo tipo, è molto probabile che i sistemi Trusted Computing vengano presto attaccati nello stesso modo. Taming the Beast (iniziative politiche e legali) Sin dalla prima apparizione del Trusted Computing, alla fine degli anni '90, diversi analisti si sono sforzati di proporre alcune modifiche in grado di "addomesticare la belva". Uno di questi è Seth Schoen di EFF. Ecco come Schoen presenta la sua idea, nota come "Owner Override", nel suo articolo "Trusted Computing Promise and Risk": 39 Una soluzione: l'Owner Override La mancanza di controllo da parte del proprietario del PC 39 A solution: Owner Override sul contenuto dell'attestazione è il problema centrale della proposta corrente di tecnologia TC. Si tratta di un difetto di progetto molto grave ed inacettabile che dovrà essere risolto prima che il TC, come sistema, possa diventare uno strumento benefico per il proprietario del PC. Una semplice misura, che noi chiamiamo “Owner Override” potrebbe risolvere questo problema semplicemente ristabilendo l'impossibilità per altre persone di sapere che cosa l'utente stia usando, a meno che l'utente stesso non decida che sia meglio lasciarglielo sapere. L'Owner Override modifica in modo sottile la natura dei benefici di sicurezza portati dall'attestazione. Attualmente, l'attestazione dice ad altre persone se il vostro software è stato modificato. Nel nostro schema (Attestazione + Owner Override), l'attestazione permetterebbe alla terza parte solo di sapere se il software è stato cambiato a vostra insaputa. Di conseguenza, il rilevamento di attività illecite sarebbe comunque possibile ma, se decidete di apportare deliberatamente delle modifiche al vostro sistema, potreste mantenere nascoste queste modifiche, esattamente come potete fare oggi, per impedire alla controparte di usare le vostre scelte per discriminarvi. Catehrine Flick, nella sua tesi di laurea del 2004, esamina la proposta di Seth Schoen nel seguente modo. The lack of computer-owner control of the content of attestations is the central problem with the current trusted computing proposals. It is an unacceptably grave design flaw that must be remedied before the trusted computing architecture as a whole package will be of clear benefit to computer owners. A simple measure we call Owner Override could fix the problem by restoring others' inability to know for certain what software you're running -- unless you decide you would be better off if they knew. Owner Override subtly changes the nature of the security benefit provided by attestation. Currently, attestation tells remote parties whether the software on your computer has been changed. Attestation plus Owner Override would let remote parties know if the software on your computer has been changed without your knowledge. Thus, detection of illicit activity would still be practical. If, however, you had made deliberate changes on your own computer, you could conceal them, just as you can today, to prevent someone else from using your choices as a reason to discriminate against you. 40 Sebbene l'Owner Override possa migliorare alcuni aspetti del TC, è anche possibile che abbia delle serie controindicazioni: - l'Owner Override potrebbe degradare la sicurezza complessiva del sistema rendendolo più complesso e quindi più difficile da gestire. ad esempio, la possibilità di inviare informazioni false ad una terza parte potrebbe non essere di grande utilità se la generazione di queste informazioni non fosse automatizzata, almeno in parte, e questo potrebbe introdurre dei seri problemi di sicurezza. - l'Owner Override potrebbe instillare nell'utente un falso senso di sicurezza - l'Owner Override potrebbe rendere la maggior parte dei sistemi DRM inefficaci, per buoni i cattivi che siano. Nel complesso, l'Owner Override è un buon punto di partenza per la discussione ma non dobvrebbe essere visto come la soluzione definitiva ai problemi del TC, soprattutto perchè, a causa delle ragioni appena menzionate, difficilmente Micorosoft o qualunque altra azienda del TC produrrà mai un sistema che incorpori questa idea di Seth Schoen. Anche William Arbaugh, un Professore del Dipartimento di Computer Science dell'Unibersità del Maryland, tenta di proporre una ricetta per salvare il Trusted Computing da una condanna senza appello. Ecco come presenta i suoi 5 punti in un articolo del 2002 intitolato "The TCPA; What's wrong; What's right and what to do about" 41: 40 Although Owner Override would improve some parts of Trusted Computing, it would be likely to have several drawbacks: – Owner Override might degrade the overall security of the system by making it more complex, and thus more difficult to control; for example, the sending of false information to remote entities would not be much use unless the generation of the information was at least partly automated (because the information would be complicated enough to be extremely burdensome for a human to memorise and type), and such automation could lead to serious security holes; – Owner Override might instil a false sense of security in users of networked applications; and 1. Consentire all'utente di caricare i propri "root certificates" e fornire il codice sorgente degli strumenti necessari. Questo eliminerebbe la possibilità di aggirare la GPL e permetterebbe all'utente di usare qualsiasi sistema operativo di sua scelta, pur mantenendo inacessibili i contenuti protetti. 2. Permettere all'utente di disabilitare completamente il TPM, in modo che l'utente possa usare il suo sistema come un normale PC tradizionale. 3. Consentire una completa riservatezza delle informazioni. Sfortunatamente, per capire come sia possibile fornire questo tipo di garanzia è necessario ancora molto lavoro di ricerca sui sistemi a conoscenza zero o sui meccanismi con chiavi di gruppo. 4. Lavorare con la comunità Open Source per abilitare le funzionalità del TPM anche su altri sistemi operativi. Questo dovrebbe idealmente includere il rilascio dei sorgenti di alcuni programmi di esempio sotto una licenza compatibile con la GPL. 5. Tenere dei corsi a programmatori open source, sostenitori della riservatezza delle informazioni e ricercatori attivi nel settore della sicurezza. Questo permetterebbe di capire meglio questa tecnologia. Nel suo Rebuttal, David Saffor esamina questi punti nel – Owner Override would render most DRM (good or bad) applications ineffective. On the whole, Owner Override is a good starting point for discussion about modifications to Trusted Computing, but it should not be seen as an overall solution to the issues Trusted Computing raises. And this is doubly so since, for the reasons of control mentioned above (and others omitted for lack of space) neither Microsoft nor any other member of the Consortium is likely to ever build a system incorporating Schoen’s idea. 41 1. Allow owners to load their own (or others) trusted root certificates, and provide the source code for tools that do so. This eliminates the ability to circumvent the GPL and permits owners to use any operating system and applications of their choice. It may, however, prevent the owner/user from viewing content that is protected. 2. Allow the TPM to be completely disabled. This will permit users to utilize the information device completely free of any TCPA capabilities. seguente modo 42 . 1. "Consentire agli utenti di caricare i propri certificati". I sistemi TCPA non hanno e non usano nessun certificato. La sola chiave privata che non può essere cancellata e caricata arbitrariamente dall'utente è la coppia pubblica di chiavi di accettazione che, presumibilmente, viene creata sul chip al momento della produzione, e la la parte pubblica registrata dal produttore. Non ha nessun senso che l'utente possa cancellare o rimpiazzare questa chiave di accettazione dato che solo la chiave di accettazione registrata dall'utente può essere usata a questo scopo. Se si desidera avere questa funzionalità di accettazione, si deve avere una chiave di questo tipo. Se non si ha bisogno di questa funzionalità, si può disabilitare completamente l'accesso a queste chiavi. Tutte le altre chiavi possono essere arbitrariamente caricate o cancellate. Si noti che IBM non registra, e non ha mai resgitrato, nessuna di queste chiavi semplicemente perchè nessuno glielo ha mai chiesto. 2. "Consentire all'utente di disabilitare completamente il TPM". Questo è certamente possibile con le attuali versioni IBM. Si tratta infatti di una scheda LPC che può essere sfilata dal suo supporto eliminando qualunque chiave esistente (Il BIOS TCPA si lamenterà di questo e sarà necessario caricare del software non-TCPA). Disabilitare il TCPA in BIOS è più conveniente. Queta procedura lascia in vita alcuni comandi non pericolosi ma tutte le funzionalità di base vengono disabilitate. Questo è completamente sotto il controllo del proprietario del sistema. Su Linux, si può decidere se caricare o meno il driver del TPM. Se non si carica il driver, nessuna applicazione può avere accesso alel fuinzionalità del TPM. Questo è completamente sotto il vostro controllo. 3. Allow for complete privacy. Doing this, unfortunately, requires more research into zero knowledge systems, or group keying mechanisms. 4. Work with the open source community to enable the use of TPM features. Ideally, this would include the release of example source using the TPM under an open source approved license. 5. Hold a technical workshop for open source, privacy advocates, and security researchers. This will allow the community to better learn about the TCPA and provide better input. 3. "Consentire una completa riservatezza". Disabilitando la chiave di accettazione principale (endorsement key) si ottiene una riservatezza assoluta. Ovviamente, mantenere la riservatezza mentre si utilizza una qualunque forma di accettazione (endorsement) è molto difficile. La complessa logica di gestione delle chiavi è in realtà intesa proprio ad assicurare la riservatezza grazie alla generazione di infinite identità alternative. Le spcifiche fanno del loro meglio epr fare in modo che la chiave di accettazione principale venga usata solo per certificare queste identità astratte. L'utente può scegliere una autorità di certificazione esterna a cui permettere di collegare una di queste chiavi alla sua reale identità. Se necessario, si possono usare identità diverse in contesti diversi. Questo è completamente sotto il controllo dell'utente. 4. "Lavorare con la comunità Open Source". Certamente! Abbiamo già una implementazione funzionante su Linux e stiamo lavorando per rendere open source tutti I dettagli. 5. "Tenere dei corsi". Questa è una buona idea, specialmente dopo che il punto 4 sarà diventato una realtà. Il TC è una tecnologia complessa, specialmente nelle parti che riguardano l'inizializzazione e la gestione. Come è facilmente comprensibile, non sembra che sia possibile "domare la belva" attraverso qualche emendamento delle specifiche. Catherine Flick è molto esplicita su questo punto: 43 Non c'è nulla che possa essere aggiunto alle specifiche correnti del TC che lo possa trasformare in un compromesso accettabile per tutte le parti. Concedere 42 "Allow owners to load their own trusted root certificates." The TCPA chip does not have or load any certificates. The only private key that cannot be cleared and arbitrarily loaded by the owner is the endorsement public key pair, which possibly is created on the chip at manufacture time, and the public part recorded by the manufacturer. It does not make any sense for the user to delete or replace the endorsement key, as only the original endorsement key recorded by the manufacturer can be used for this endorsement. If you want endorsement, you have to have that key. If you don’t want endorsement, you can disable all access to the key. All other keys can be arbitrarily loaded and deleted. Note that IBM does not currently, and never has, recorded any endorsement keys, anyway, because no customers have asked for it. all'utente l'accesso alle chiavi crittografiche vorrebbe dire rendere inefficaci I sistemi DRM. Permettere all'utente di modificare I valori usati per l'attestazione vorrebbe dire creare problemi durante le attestazioni e ritrovarci in una situazione non migliore di quella attuale. Mi sembra che il TC, sebbene sia un buon punto di inizio per una seria discussione sulla sicurezza dei computer in rete, non sia destinato a fornire la risposta giusta alle varie parti coinvolte, ed in particolare all'utente finale. Tuttavia, il DRM potrebbe non essere considerato una parte indispensabile del sistema complessivo e, in questo caso, dare all'utente le chiavi del sistema, e consentirgli di decifrare le informazioni memorizzate su di esso, non dovrebbe rappresentare un problema. Questo consentirebbe di mantenere I vantaggi che il TC offre sul piano della sicurezza. 2. "Allow the TPM to be completely disabled." This is certainly possible with the existing IBM version. It is an LPC bus daughterboard, which can simply be unplugged, and doing so clears all keys. (The TCPA BIOS will complain, and the TCPA-less version needs to be loaded.) Disabling the TCPA in BIOS, is more convenient. It does leave some harmless commands active, but all sensitive commands are disabled. It is completely under the control of the system owner. Under Linux, you can choose whether or not to load the TCPA device driver. If you don’t load the driver, no application can access the chip at all. This is completely under your control. Conclusioni Opinioni Prima di arrivare a delle conclusioni, vorremmo ricordare brevemente cosa pensano del TC i principali osservatori che se ne sono occupati. Ross Anderson Visto in questi termini il TC non fornisce la stessa sicurezza all'utente e al venditore di PC, al fornitore di software e all'industria dei contenuti. Non aggiunge valore per l'utente, anzi lo distrugge. Si limita ciò che si può fare sul proprio PC per poter disporre di applicazioni e servizi che estraggono più denaro all'utente. Questa è la definizione classica di cartello monopolistico un accordo industriale che modifica i termini del commercio per diminuire il surplus per il consumatore. William Arbaugh 44 Il TCPA come è inteso ora è inaccettabile ma tecnologie come questa promettono dei grandi vantaggi in termini di sicurezza. Io spero che il TCPA ascolti i suggerimenti che le 3. "Allow for complete privacy." Disabling the endorsement key provides complete privacy. Ensuring complete privacy while using any form of endorsement key is clearly very difficult. The operations around the Endorsement Key are actually meant to protect user privacy by enabling the generation of multiple abstracted identities. The specification went to great lengths to define a process whereby the Endorsement Key functionality is limited to the generation of these identities only. A privacy CA can be selected by the user as the only entity that can link the Endorsement key with a specific identity. A different privacy CA can be used for each identity if desired. The user has complete control over the choice of if and how to use the endorsement key. 34 "Work with the open source community" . Absolutely! We have all the basic TCPA code running on Linux, and are actively working to GPL the basic driver and interface library. vengono fatti e li adotti, in modo che si possano avere gli aspetti migliori senza avere i peggiori. Seth Schoen 45 Riconosciamo che un miglioramento dell'hardware possa essere un modo di migliorare la sicurezza dei computer ma trattare l'utente come se fosse un avversario non rappresenta un progresso in questo settore. I problemi legati alla interoperabilità, alla competizione leale tra aziende sul mercato, al controllo del sistema da parte dell'utente e su altri aspetti sono talmente seri che siamo costretti ad esprimere una raccomandazione contro l'adozione di tecnologie come il TC finchè questi problemi non saranno stati risolti. Per fortuna, questi problemi non sembrano insormontabili per cui saremmo lieti di poter lavorare con l'industria per risolverli. Catherine Flick 46 Ho stabilito che il TC, nella sua veste attuale, non può essere una soluzione di lungo termine ai problemi della sicurezza e che potrebbe, di fatto, compromettere gli sforzi che vengono fatti nel tentativo di combattere attività antisociali ed illegali così come potrebbe restringere i diritti degli utenti. ............... A dispetto dell'approfondita analisi sulla discussione in corso riguardo a possibili miglioramenti del TC per renderlo accettabile, resta difficile stabilire se questi compromessi non possano portare ad una situazione in cui il TC, rigiutato come unico progetto di grandi ambizioni, non venga poi riproposto sotto forma di piccoli miglioramenti cumulativi. Gli argomenti esaminati in questa tesi mostrano che non ci sarebbe motivo di sorprendersi di fronte a questa tattica. ................. Le modifiche che potrebbero essere apportate al TC 5. "Hold a technical workshop". This is a really good idea, particularly after (4) is done. TCPA is a complex device, and the specification is hard to understand, particularly the initialization/management parts. potrebbero non migliorare affatto la situazione ed alcuni compromessi potrebbero persino creare più problemi di quanti ne risolvano. Nel complesso, senza delle drastiche modifiche alle spcifiche ed alla implementazione, il TC non potrà fornire una risposta ai problemi di sicurezza senza minare pesantemente il diritto alla riservatezza ed alla libertà di scelta degli utenti. Paolo Attivissimo Per le grandi aziende, Palladium è davvero la Soluzione Finale: Linux e Apache eliminati, pirati dei media debellati, i programmatori indipendenti sul lastrico. Chi controlla Palladium controlla tutti i computer e, dietro gentile richiesta, controlla anche la libertà di lettura. Un quadretto desolante. Considerati i nomi e i capitali che appoggiano l'iniziativa Palladium/TCPA, sembra che ci si debba arrendere all'inevitabile. Soprattutto dopo gli eventi dell'11 settembre, c'è un'insensata corsa mondiale ad abbracciare incondizionatamente qualsiasi tecnologia che prometta anche vagamente di darci maggiore sicurezza. E' fondamentale, invece, distinguere fra sicurezza reale e paccottiglia commerciale. Da questa breve galleria di commenti, dovrebbe risultare chiaro un fatto: sin dalla sua prima apparizione il Trusted Computing è stato accolto da un coro unanime di pesanti critiche, di proteste e di contestazioni. Raramente nella storia 43 There is nothing one can add to the current Trusted Computing specifications that would be an adequate compromise for all parties. Giving the owner access to keys used for encryption purposes would defy Digital Rights Management applications. Allowing the owner to change the PCR values would lead to problems with attestation in trusting reported values, and the potential for Trusted Computing to leave us no better off than we are now. It seems to me that the Trusted Computing initiative, while an excellent start in investigating the realms of securing the computer and network, is not going to be the best answer for many of the parties concerned, particularly typical end-users. Perhaps, however, the DRM applications are not necessary to the overall improvement to security that Trusted Computing would offer, and in this light, giving the user the keys to the system, and thus the ability to decrypt information stored on the system, would be appropriate in order to keep an even standing in the realms of interoperation and user control. dell'uomo si è potuto assistere ad un giudizio così negativo, così deciso e così unanime da parte del pubblico e degli specialisti di settore riguardo all'introduzione di una nuova tecnologia. Per ritrovare una accoglienza altrettanto negativa bisogna tornare con la memoria all'introduzione della bomba all'idrogeno e delle armi biologiche. In effetti, c'è anche chi arriva a paragonare il Trusted Computing ad un virus o ad un nuovo tipo di arma di distruzione di massa. Questo passo di Ross Anderson, che abbiamo già citato nel testo, è un esempio di questo tipo di contestazioni: Ciò ha interessanti implicazioni per la sicurezza nazionale. Ad un TCG symposium a Berlino, ho provato a spiegarlo in questi termini: nel 2010 il Presidente Clinton potrebbe avere due pulsanti sulla sua scrivania - uno che spedisce missili in Cina ed un altro che spegne tutti i computer in Cina - provate ad indovinare quale dei due spaventa di più i Cinesi? (A questo punto un uditore impertinente ha chiesto: 'E se ci fosse un bottone per spegnere i PC in Europa?'). Questa reazione violentemente negativa si è sviluppata nonostante il fatto che praticamente tutti gli osservatori riconoscano la necessità di intervenire in modo drastico per migliorare la situazione della sicurezza informatica. In altri termini: se la diagnosi che è stata effettuata dagli specialisti del TC viene considerata corretta, non si può dire lo stesso per la terapia che essi propongono. L'avversione di molti osservatori nei confronti del TC non è quindi figlia del pregiudizio o dell'ignoranza. Questa avversione nasce da un attenta analisi di questa tecnologia da parte di molte delle 44 The TCPA as it stands now is unacceptable. But, technology such as TCPA offers great promise for improving information security. I hope that the TCPA technical committee listens to these suggestions and/or others, and takes action to improve the specification so that we can have the good, but not the bad. 45 We recognize that hardware enhancements might be one way to improve computer security. But treating computer owners as adversaries is not progress in computer security. The interoperability, competition, owner control, and similar problems inherent in the TCG and NCSCB approach are serious enough that we recommend against adoption of these trusted computing technologies until these problems have been addressed. Fortunately, we believe these problems are not insurmountable, and we look forward to working with the industry to resolve them. migliori menti del settore. Il TC dovrebbe essere il “sistema immunitario tecnologico” della prossima Internet ma, agli occhi degli osservatori, somiglia molto di più ad un virus. Cammuffato da sistema di sicurezza che dovrebbe difenderci dai pericoli di Internet, il TC si comporterebbe invece da virus e rischierebbe di contaminare i computer di tutto il mondo con sistemi di controllo in grado di imporre censure, vendor-lock ed altre forme di vessazione agli utenti. La reazione negativa del pubblico rende evidente anche un altro elemento di questa tecnologia: il Trusted Computing è qualcosa che difende gli interessi degli industriali a discapito degli interessi della popolazione. Se così non fosse, non si assisterebbe ad una frattura tanto profonda, e tanto drammatica, tra l'industria ed i governi da un lato e la popolazione e gli specialisti dall'altro. Da un lato l'industria difende l'introduzione di questa tecnologia con una caparbietà mai vista prima e dall'altro il popolo della rete si organizza in comitati di lotta per combatterla. Da un lato l'industria arriva persino ad ordire manovre lobbystiche, che molti considerano poco trasparenti, per aprire la strada a questa tecnologia e dall'altra gli specialisti cominciano a cercare fonti alternative di hardware e di software. Se non esistesse un chiaro e drammatico conflitto tra gli interessi delle due parti, tutto questo non succederebbe. Come se non bastasse, nel bel mezzo di questa battaglia, molti governi di destra, tradizionalmente inclini a considerare la popolazione come un nemico da cui difendersi, si trasformano nei più entusiastici sostenitori di questa nuova tecnologia. Se ancora non siamo di fronte alla battaglia finale per il controllo della nostra vita 46 I have established that Trusted Computing, in its current state, will not be an effective long-term solution to security woes, and could in fact hinder efforts to stamp out illegal and anti-social activities as well as restrict honest consumers’ rights to carry out legitimate activities. ............ Despite having looked closely at the dialogue on the changes required for NGSCB to be acceptable to business clients, it is hard to know whether or not such a compromise will result in NGSCB being taken to pieces to reappear as a series of smaller-scale endeavours, but the issues raised in this thesis show that such a move would not be surprising. .............. digitale, certo questa situazione non è tra le più rassicuranti. Diagnosi corretta, terapia sbagliata Quasi tutti gli osservatori che si sono occupati del Trusted Computing sembrano essere d'accordo su di un punto: mentre la diagnosi di David Safford, e degli altri specialisti che sostengono il TC sullo stato della sicurezza informatica, è sostanzialmente corretta, la terapia che essi propongono, cioè il Trusted Computing, è invece sbagliata. Al giorno d'oggi nessuno si permetterebbe mai di sostenere che la situazione della sicurezza informatica non sia preoccupante. Tutti gli osservatori sono d'accordo sul fatto che la situazione sia ormai insostenibile e che quindi sia necessario trovare una soluzione definitiva a questo problema. Tuttavia, sulle ragioni di questo stato di cose e, di conseguenza, sulle tecniche da usare per risolvere il problema, non esiste lo stesso livello di consenso. Come abbiamo già detto in precedenza, il TCG ed i sostenitori del Trusted Computing ritengono che sia necessario dotare i nostri computer di un apposito “sistema immunitario” tecnologico per difenderli dai virus e dagli intruder. Questo sistema immunitario sarebbe rappresentato proprio dal Trusted Computing. Viceversa, gli avversari del Trusted Computing ritengono che questo sistema immunitario sia sostanzialmente inutile e potenzialmente molto pericoloso. La terapia che propongono gli avversari del Trusted Computing è meno tecnologica e più orientata all'elemento umano del sistema. Sostanzialmente, si compone dei seguenti elementi. • Un diverso modo di produrre software, che consenta di mantenere uno stretto controllo ed un alto livello di Modifications likely to be made to Trusted Computing will not necessarily improve the system at all, and even as a compromise may end up creating more problems than they solve. Overall, Trusted Computing will not, without major modifications to specifications and implementations, be able to deliver a solution to the problems of computer and network security without severely encroaching on a user’s privacy and freedom of choice. sorveglianza sulle caratteristiche reali dei programmi per computer. Questo modo di costruire software è quello usato da almeno 15 anni dal mondo Open Source ed ha già ampiamente dimostrato la sua validità grazie a realizzazioni di tutto rispetto come Linux, Apache, FreeBSD, OpenOffice, Mozilla e via dicendo. • Un maggiore livello di consapevolezza dell'utente. Questo obiettivo può essere ottenuto sia attraverso un'opera di formazione che attraverso delle modifiche al software. Ad esempio, oltre a tenere corsi agli utenti, è possibile renderli più consapevoli della reale struttura e del reale funzionamento del loro computer evitando di sottrarre al loro controllo degli elementi critici del sistema (come si è soliti fare in ambiente Windows nel tentativo di “semplificare” la gestione del sistema). • Una maggiore presenza di personale specializzato. Ormai dovrebbe essere chiaro a tutti che non si può fare innovazione tecnologica senza il personale necessario. Laddove sono presenti server, anche di tipo non commerciale, è necessario prevedere la presenza di personale qualificato. Sebbene questo approcio possa sembrare più complicato e più costoso rispetto al Trusted Computing, in realtà è molto più naturale e meno rischioso. Questo approcio è già stato collaudato ampiamente nell'arco dei 15 anni di vita di Linux e del software GNU e di esso sappiamo per certo che funziona. Non si può dire lo stesso del TC. Inoltre, l'adozione di software FLOSS (Free/Libre Open Source Software), quasi sempre gratuito, non comporta costi aggiuntivi, non richiede la sostituzione dell'hardware e non presenta rischi di dipendenza dal fornitore. La principale ragione che dovrebbe far pendere la bilancia a favore dell'approcio FLOSS, tuttavia, è un altra: questo approcio non comporta rischi per la democrazia e per la sicurezza nazionale. The root of evil A differenza di quello che si potrebbe pensare, tuttavia, il problema principale del TC non risiede nella tecnologia in sé o nella sua implementazione. Come fa notare David Safford, non c'è nulla di intrinsecamente malvagio nel Trusted Computing: 47 Non c'è limite al numero infinito di cose stupide che possono essere fatte con un sistema di Turing completo. Alcuni altri osservatori assimilano il Trusted Computing alle armi: non è l'arma che uccide ma il suo utilizzatore (come è giustamente previsto dalle leggi in qualunque paese del mondo). Tuttavia, proprio questa analogia rende dolorosamente chiara la vera natura del Trusted Computing: questa tecnologia è un potente strumento di controllo (cioè uno strumento di potere) che rischia di invadere ogni angolo della nostra esistenza personale e sociale. In un certo senso, il Trusted Computing è davvero molto simile alle armi usate dalla Polizia per imporre il rispetto delle leggi. Se il "fenomeno" Trusted Computing viene osservato sotto questa luce diventa immediatamente chiaro che il controllo di questa tecnologia non può essere lasciato nelle mani delle aziende produttrici e, dietro le quinte, della CIA, della NSA e del governo USA. Come abbiamo già detto, Ross Anderson chiarisce questo punto con un esempio inquietante: Ciò ha interessanti implicazioni per la sicurezza nazionale. Ad un TCG symposium a Berlino, ho provato a spiegarlo in questi termini: nel 2010 il Presidente Clinton potrebbe avere due pulsanti sulla sua scrivania - uno che spedisce missili in Cina ed un altro che spegne tutti i computer in Cina - provate ad indovinare quale dei due spaventa di più i Cinesi? (A questo punto un uditore impertinente ha chiesto: 'E se ci fosse un bottone per spegnere i PC in Europa?'). Tutto ciò potrebbe essere un'esagerazione, ma lo sarebbe di poco. Le politiche tecnologiche e le politiche del potere si sono intrecciate dai tempi dell'impero romano ed i legislatori prudenti non possono evitare di considerare le implicazioni strategiche del TC. Potrebbe essere piuttosto 47 There is no end to the infinite number of stupid things that could be done on a Turing complete system. difficile per un governo passare tutti i suoi sistemi informatici da Windows a GNU/Linux all'apice di una crisi internazionale. La radice del male, quindi, risiede nella assoluta assenza di discussione democratica attorno al suo impiego e nell'assoluta assenza di controllo da parte dei governi. Qualunque possa fare il Trusted Computing, lo fa al sistema nervoso delle nostre case, delle nostre aziende e dei nostri governi. Non è ammissibile che questa tecnologia venga introdotta sul mercato ed utilizzata senza nessun controllo. Tempo per una industria nazionale dell'hardware In realtà, quanto abbiamo appena detto del Trusted Computing è vero per tutta la tecnologia digitale. Le nostre aziende, i nostri governi, le nostre forze armate e noi stessi dipendiamo pesantemente dai computer e da molti altri dispositivi digitali per praticamente ogni aspetto della nostra vita quotidiana. Come hanno ampiamente dimostrato le innumerevoli epidemie di virus informatici degli anni passati, qualunque cosa che colpisca questo sistema nervoso rischia di mettere in ginocchio il paese. Altri paesi, meno dipendenti del nostro dagli USA, hanno già puntato il dito contro questa dipendenza e stanno sviluppando la tecnologia necessaria per produrre hardware sul loro territorio. In questo modo, potranno sottrarsi ad una sottile forma di controllo che altrimenti rischierebbe di compromettere il loro sviluppo economico, sociale e democratico. L'Italia, come tutta l'Europa dovrebbe prendere coscienza di questo problema ed iniziare ad affrancarsi dal grande fornitore americano. Per fortuna, negli ultimi 10 anni, questa dipendenza è già stata risolta nel settore del software. Sistemi operativi come Linux e BSD, programmi open source come OpenOffice, Mozilla e molti altri hanno reso i paesi non-USA molto meno dipendenti di un tempo dai programmi dello Zio Sam. Ora è tempo di rendere questi paesi indipendenti dall'hardware americano. Una luce in fondo al tunnel? In questo momento (Dicembre 2005) Microsoft ha posto in stato di attesa il suo progetto NGSCB. A quanto pare, NGSCB non dovrebbe vedere la luce prima del 2008, sotto forma di componente del secondo service pack previsto per questo sistema operativo. Intel ed il consorzio TCG, invece, lavorano a spron battuto ai loro rispettivi progetti. Secondo Intel, il suo TC (LaGrande) dovrebbe cominciare ad essere disponibile nel 2006. Come abbiamo già detto, almeno 6 membri del TCG producono già i Fritz Chip. Dei progetti di AMD (Presidio) e di Apple si sa poco. Secondo molti osservatori, AMD dovrebbe ricalcare abbastanza fedelmente la logica di Intel sia come caratteristiche del sistema che come tempistica di introduzione sul mercato. Apple dovrebbe seguire a ruota. Non sembra quindi giustificato l'ottimismo di chi vede nel “delay” imposto da Microsoft a NGSCB una specie di “resa preventiva” di fronte alla resistenza del mercato. Microsoft stessa sostiene che NGSCB sia ancora vivo e vegeto (“alive and kicking”, nelle loro parole). Microsoft, Intel e molti altri produttori continuano a lavorare freneticamente su questa tecnologia e possono godere dell'appoggio di molti dei più potenti governi del mondo. Senza una decisa azione di contrasto da parte dell'opinione pubblica, il TC invaderà il mercato molto prima di quanto si possa credere. Supporti Associazioni Against TCPA: http://www.againsttcpa.com/ (inglese) No1984: http://www.no1984.org/ (Italiano) Alcei: http://www.no1984.org/ (italiano) EFF: http://www.eff.org (inglese) Bibliografia Trusted Computing Platforms : Design and Applications by Sean W. Smith Trusted Computing Platforms: TCPA Technology in Context by Siani Pearson Linkografia http://www.consumersdigitalrights.org/cms/index_en.php http://www.complessita.it/tcpa/ http://www.cs.umd.edu/~waa/TCPA/TCPA-goodnbad.html http://www.eff.org/Infrastructure/trusted_computing/20031001_tc.php http://www.apogeonline.com/webzine/2002/07/02/01/200207020102 http://www.apogeonline.com/webzine/2002/10/01/01/200210010102 Glossario Termine Descrizione Adware Programma che visualizza annunci pubblicitari contro la volontà dell'utente. Applicazione Programma usato come strumento di lavoro, ad esempio Word o d Excel. Autenticazione Procedura con cui un utente si fa riconoscere dal sistema. Best Practices Migliori Pratiche. Con questo termine si intendono le pratiche di laboratorio e di ufficio necessarie per garantire i risultati attesi da una procedura complessa. BIOS Basic Input/Output System. Insieme di programmi che provvede all'avviamento iniziale del computer. Blog Contrazione di "Web Log", cioè "diario del web". Diario personale pubblicato su Internet. Board Scheda Boot – Bootstrap Sequenza di avvio del computer. BSD Berkeley Software Distribution. Classe di sistemi operativi simili a Unix. Cavallo di Troia Programma "malvagio" che si cammuffa da programma legittimo. Noto anche come Trojan Horse. CD Live CD che contiene una versione di un sistema operativo (di solito Linux) che può essere usata direttamente dal CD, senza procedere ad una installazione sul computer. Chiave Qualcosa di simile ad una password. Cloning Tecnica di clonatura di un CD o DVD utile a bypassare le protezioni anticopia. Contenuti Multimediali Testi, immagini, filmati, audio e musica che possono fare parte di (essere contenuti in) un documento multimediale. Copyright Diritto d'autore CPU Central Processing unit. Microchip centrale di un computer. Cracker Specialista di tecniche per la rimoszione della protezione dalla copia da documenti e programmi. CRC32 Tipo di Hash usato per fotografare lo stato di un file. Creative Commons Licenza di utilizzo di documenti simile alla GPL. Crittografia Tecnica che permette di rendere leggibile un documento al solo destinatario. Cypher Specialista di crittografia o crittoanalista. Digest Hash DMCA Digital Millenium Copyright Act. Legge federale americana che protegge i privilegi delle industrie del recording. Doughterboard Scheda figlia (scheda video scheda audio, etc.) DRM Digital Rights Management, Gestione Digitale dei Diritti. Con questo termine vengono indicati tutti i vari sistemi utilizzati dai produttori per difendere i contenuti multimediali (testi, musica, film, etc.) dalla copia abusiva o comunque da forme di consumo non autorizzate. EFF Electronic Frontier Fundation. Organizzazione si volontari a difesa dei diritti dei cittadini nel mondo digitale. ERM Enterprise Rights Management, cioè Gestione dei Diritti Digitali in Impresa. Con questo termine si indicano gli strumenti usati per difendere dalla copia e dalla distribuzione non autorizzate i documenti generati all'interno di un azienda (documenti di bilancio, oferte commerciali, etc.) EUCD European Union Copyright Directive. Direttiva Europea che protegge i privilegi delle industrie del recording. EULA End User License Agreement. Contratto di licenza tra produttore e utente di un programma per computer. Exploit Tecnica che sfrutta una falla di sicurezza di un servizio. FAQ Frequently Asked Questions o Frequently Answered Questions, cioè "Domande poste di frequente" o "domande a cui si è data frequentemente una risposta". Documento esplicativo scritto nella forma di coppie domanda/risposta. FIC File Integrity Check. Tecnica di monitoraggio che permette di rilevare se uno o più file sono stati modificati. File Oggetto informatico che può contenere un documento od un programma. Firewall Letteralmente "Parete parafiamma". Programma (o dispositivo di rete) che protegge un computer od una rete da possibili tentativi di attacco provenienti da Internet. Flusso di Dati Flusso di dati digitale usato per trasmettere musica, film ed altri contenuti. Noto anche come "stream". Fonderia Stabilimento che permette di produrre microchip (slang). Fritz Chip Nome confidenziale dei TPM e SSC. GPG GNU Privacy Guard. Versione libera e gratuita di PGP. GPL GNU Public License. Licenza di utilizzo del software libero ed aperto. Hacker "Smanettone" Hardware Insieme di uno o più componenti elettronici. Hash Sequenza di caratteri (di solito 32 – 1024) che identifica in modo univoco un file. IDS Intrusion Detection System. Sistema di sorveglianza e di rilevamento delle intrusioni. Implementazione Realizzazione Input Insieme di informazioni fornite ad un programma. Interprete Programma in grado di leggere ed eseguire sequenze di istruzioni. Intruder Specialista di tecniche di intrusione i sistemi e reti informatiche. Kernel Elemento fondamentale del sistema operativo. LaGrande Nome del progetto Intel per il TC. LAN Local Area Network, cioè Rete Locale. LGPL Lesser Public License. Licenza di utilizzo del software libero ed aperto. Più liberale della GPL. Linux Sistema Operativo libero e gratuito di classe Unix Lock (Lock-in) Blocco Malware Programma malvagio. McOS Sistema Operativo degli Apple MacIntosh. MD5 Tipo di Hash usato per fotografare lo stato di un file. Microchip Circuito integrato. Motherboard Scheda madre (quella che contiene la CPU) Mozilla Insieme di programmi per la navigazione sul web e per la posta elettronica, liberi e gratuiti. NGSCB Next-Generatio Secure Computing Base. Nuovo nome del progetto Microsoft per il Trusted Computing (ex-Palladium). NSA National Security Agency. Agenzia USA, simile alla CIA, che si occupa di spionaggio digitale e di intercettazioni. OpenOffice Versione libera e gratuita di MS Office Output Insieme di informazioni che un programma fornisce all'utente. Override Sovrascrittura Overview Descrizione sommaria Owner Proprietario Palladium Vecchio nome del progetto Microsoft per il Trusted Computing Partizione Parte di un disco rigido dedicato ad un uso particolare. PDA Personal Data Assistant. Si chiamano così i "Palm Top" (computer palmari) dotati di un sistema operativo e di programmi applicativi che li rendono simili a computer portatili. PGP Pretty Good Privacy. Programma di crittografia. Presidio Nome del progetto AMD per il TC. Rebuttal Documento di risposta ad una critica Review Recensione di uno o più articoli relativi ad uno specifico argomento. RIAA Recording Industry Association of America. Associazione delle industrie che producono CD e DVD. Sistema Insieme di componenti hardware e software che nell'insieme vive come oggetto digitale riconoscibile ed autonomo (computer o simili) Sistema Operativo Insieme di programmi che forniscono i servizi fondamentali alle applicazioni ed all'utente. Smartphone Marchio registrato di Microsoft che indica un telefono cellulare dotato di sistema operativo e di programmi applicativi che lo rendono molto simile ad un computer portatile. Software Insieme di uno o più programmi per computer. Spamming Pratica di inviare posta indesiderata ad utenti su Internet. Spyware Programma spia. SSC Security Support Component. Nome dato da Microsoft ai TPM (Fritz Chip) SSH Secure SHell. Programma di connessione remota protetta crittograficamente.Viene usato per collegarsi a sistemi fisicamente lontani attraverso Internet. SSL Secure Socket Layer. Tecnologia che protegge crittograficamente le comunicazioni tra server e client sul web. Molto usato dalle banche. TCG Trusted Computing Group. Consorzio che si occupa dello sviluppo delle specifiche per lo standard del Trusted Computing. TCPA Trusted Computing Platform Alliance. Consorzio di sviluppo del TC ora sostituito dal TCG. Tecnologia Insieme di tecniche e di componenti hardware e/o software che, insieme, vengono usati per dare vita ad un prodotto od un servizio. TPM Trusted Platform Module. Microchip che implementa le funzionalità crittografiche di base del TC. Unix Categoria di Sistemi Operativi ispirati ad un modello iniziale creato negli anni '70 dalla At&T. Urbani (Legge) Legge Italiana di attuazione della EUCD. User Utente Vendor-Lock Blocco del venditore. Tecnica con cui si lega il cliente al venditore. Virus Programma in grado di contagiare altri programmi con una copia di sé stesso. Worm Programma in grado di sfruttare le falle di sicurezza di un serizio di rete o di un interprete per creare altre copie di sé stesso. Appendici Appendice A: I documenti TCG TPM ARCHITECTURAL OVERVIEW https://www.trustedcomputinggroup.org/groups/TCG_1_0_Architecture_Over view.pdf Presso il sito del Trusted Computing Group sono disponibili molti documenti che spiegano i vari aspetti di questa tecnologia. Uno dei più comprensibili è questa "overview". TCG DESIGN, IMPLEMENTATION, PLATFORMS AND USAGE PRINCIPLES FOR TPM-BASED https://www.trustedcomputinggroup.org/specs/bestpractices/ Queste sono le "Best Practices" del Trusted Computing Group per la progettazione, la produzione e l'uso di questa tecnologia. Si tratta dello stesso documento che viene esaminato da Bruce Schneier in un suo articolo. Questo documento contiene diverse importanti ammissioni riguardo alla potenziale pericolosità di questa tecnologia. Questo stesso documento contiene anche un apprezzabile proposta di norme comportamentali per ridurre i rischi collegati al TC. Purtroppo, come Schneier stesso fa notare, l'adesione a questo protocollo, ed il rispetto delle relative norme, è del tutto volontario e non sono previste sanzioni. MICROSOFT NGSCB ARCHITECTURAL OVERVIEW www.microsoft.com/resources/ ngscb/documents/NGSCBhardware.doc Documento ufficiale di MS che spiega a grandi linee come sia organizzato il loro sistema NGSCB. MICROSOFT NGSCB SECURITY MODEL OVERVIEW www.microsoft.com/resources/ ngscb/documents/NGSCB_Security_Model.doc Documento ufficiale MS che descrive il modello di sicurezza su cui si basa NGSCB. MICROSOFT NGSCB TECHNICAL FAQ http://www.microsoft.com/technet/archive/security/news/ngscb.mspx Raccolta di domande e risposte su NGSCB pubblicata da Microsoft. LAGRANDE ARCHITECTURAL OVERVIEW http://www.intel.com/technology/security/downloads/LT_Arch_Overview.htm Documento ufficiale di Intel che descrive l'architettura del sistema LaGrande. LAGRANDE TECHNOLOGY POLICY ON OWNER/USER CHOICE AND CONTROL http://www.intel.com/technology/security/downloads/LT_Policy_statement_0 _8.htm Documento ufficiale che descrive la strategia scelta da Intel per assicurare il godimento di alcuni diritti fondamentali all'utente. TRUSTED COMPUTING FAQ di Ross Anderson Originale Inglese: http://www.cl.cam.ac.uk/users/rja14/tcpa-faq.html Traduzione Italiana: http://www.complessita.it/tcpa/ Le Trusted Computing FAQ (Frequently Answered Question) del Professor Ross Anderson dell'Università di Cambridge sono considerate la più importante analisi indipendente mai pubblicata su questa tecnologia. Da queste FAQ sono state derivate innumerevoli altre analisi ed innumerevoli articoli. Purtroppo, queste FAQ sono afflitte da un gran numero di imprecisioni e da alcuni evidenti errori. Poco dopo la loro pubblicazione, infatti, le FAQ di Anderson sono state sottoposte ad una attenta analisi e ad una lucida contestazione da parte di David Safford, un ricercatore dell'IBM coinvolto nel progetto TCPA. Il "Rebuttal" di Safford ha messo in risalto i numerosi punti deboli delle FAQ ma non è ugualmente riuscito a togliere attendibilità e forza critica alle parole di Anderson. Nella sostanza, l'analisi di Anderson viene ancora ritenuta pienamente valida da quasi tutti gli osservatori indipendenti. Questo documento è disponibile in appendice. CLARIFYING MISINFORMATION ON TCPA (AKA TCPA REBUTTAL) di David Safford Originale Inglese: www.research.ibm.com/gsal/tcpa/tcpa_rebuttal.pdf David Safford è un ricercatore dell'IBM coinvolto nel progetto TCG (ex-TCPA) ed è l'autore del principale e più autorevole documento di difesa del Trusted Computing. L'analisi di Safford è particolarmente lucida ed accurata. Alcuni degli errori tecnici che egli rileva nei documenti di Ross Anderson, Lucky Green e William Arbaugh sono innegabili e devono essere tenuti presenti per una reale comprensione del fenomeno. Tuttavia, l'analisi di Safford è specifica della implementazione standard, "di base", del TC, cioè quella promossa dal Trusted Computing Group (ex trusted Computing Platform Alliance), e come tale è di utilità molto limitata. Il TC che arriverà realmente sui mercati è infatti qualcosa di molto più ampio e molto diverso dai Fritz Chip del TCG. Il prodotto comunemente disponibile sugli scaffali dei negozi sarà costruito sulla base delle specifiche TCG ma sarà anche dotato di molte funzionalità non previste da questo standard. Quando si parla di TC, è più corretto fare riferimento a NGSCB di Miscrosoft, LaGrande di Intel e Presidio di AMD. Nessuna di queste implementazioni viene esaminata e/o difesa da David Safford in questo documento. THE NEED FOR TCPA di David Safford www.research.ibm.com/gsal/tcpa/why_tcpa.pdf Documento di David Safford che spiega quali sono le minacce a cui sono esposti i moderni computer ed in quale modo il Trusted Computing può essere usato per affrontarle. TC, PROMISES AND RISKS di Seth Schoen (EFF) http://www.eff.org/Infrastructure/trusted_computing/20031001_tc.php La Electronic Frontier Fundation è la principale organizzazione di difesa dei diritti digitali degli individui a livello mondiale e Seth Schoen è uno dei suoi più autorevoli analisti. Il documento di Schoen è considerato uno dei più attendibili e meglio focalizzati, al punto che persino David Safford vi riconosce un sincero tentativo di contribuire costruttivamente alla discussione sul TC ed al miglioramento di questa tecnologa. Il principale contributo di Schoen all'analisi è una proposta rivolta a mitigare gli effetti negativi del TC mentre si cerca di mantenere la sua utilità come sistema di sicurezza. Questa proposta, nota come Owner Override, è stata però già bocciata come irrealizzabile, e comunque inutile ,sia da David Safford che da Catherine Flick. Questo documento è disponibile in appendice. WHAT GOOD AND WHAT BAD WITH TC di William Arbaugh http://www.cs.umd.edu/~waa/TCPA/TCPA-goodnbad.html Per ammissione di David Safford, questo è uno dei documenti di analisi più accurati e più equilibrati che siano stati scritti su TC. In questo documento appaiono alcuni suggerimenti che vengono comentati da Safford nel suo rebuttal. THE CONTROVERSY OVER TC di Catherine Flick luddite.cst.usyd.edu.au/~liedra/ misc/Controversy_Over_Trusted_Computing.pdf Questo documento è una tesi di laurea presentata nel Giugno 2004 all'Università di Sidney, in Australia, ed è in assoluto una delle analisi più equilibrate, lucide ed approfondite che siano state finora pubblicate su questo argomento. L'autrice fornisce sia una attenta analisi tecnica della tecnologia Trusted Computing, sia una accurata analisi dei documenti che sono stati pubblicati negli ultimi anni a favore o contro questa tecnologia. NO, PALLADIUM NON È UN (BRUTTO) SOGNO di Paolo Attivissimo http://www.apogeonline.com/webzine/2002/10/01/01/200210010102 Articolo molto esplicito di uno dei più noti osservatori italiani PALLADIUM, LA SOLUZIONE FINALE SECONDO MICROSOFT ED INTEL di Paolo Attivissimo http://www.apogeonline.com/webzine/2002/07/02/01/200207020102 Articolo molto esplicito di uno dei più noti osservatori italiani Appendice B: Echelon Echelon è una rete di spionaggio globale gestita da USA, Inghilterra, Australia, Canada e Nuova Zelanda. Si ritiene che sia in grado di intercettare ed analizzare circa 3 miliardi di comunicazioni al giorno tra telefonate, fax, messaggi di posta elettronica ed altre tipologie. Sebbene sia stata creata con l'intento di combattere lo spionaggio sovietico, Echelon è stata usata in realtà soprattutto per spiare l'attività delle aziende europee intente a concorrere sui mercati internazionali per ottenere appalti miliardari. Grazie ad Echelon, la Boeing americana è riuscita a strappare alla europea Aerospatial un contratto miliardario per fornire decine di aerei di linea alle linee aeree Brasiliane. In seguito a questo scandalo l'Unione Europea ha avviato una pesante procedura di contrasto nei confronti di Echelon e dei suoi gestori (tra cui l'Inghilterra). Questa iniziativa si è arenata subito dopo l'attacco al World Trade Center nel Settembre del 2001. Ora si sostiene che Echelon venga usata prevalentemente per azioni di lotta al terrorismo internazionale. Vedi: http://en.wikipedia.org/wiki/EcheloN http://www.cli.di.unipi.it/~guidi/echelon/tesi.html http://www.echelonwatch.org/ http://fly.hiwaay.net/~pspoole/echelon.html http://fly.hiwaay.net/~pspoole/echres.html http://www.fas.org/irp/program/process/echelon.htm Appendice C: La sicurezza di Linux Uno degli argomenti che viene utilizzato per contestare l'utilità del TC è il fatto che quasi tutti i flagelli digitali che hanno colpito gli utenti negli ultimi 5 – 10 anni sono in realtà problemi che affliggono solo l'ambiente Microsoft (Windows e Office). Gli altri ambienti di lavoro, tra cui Linux, sembrano essere del tutto immuni rispetto a virus, worm, cavalli di Troia, adware, spyware ed altre maledizioni. Questo è vero ma non significa tutto e solo quello che potrebbe sembrare. Per interpretare questa situazione nel modo corretto, bisogna tenere presente alcuni parametri importanti. La sicurezza di Linux dipende da 4 fattori: – Linux è un sistema Unix. Come tutti gli Unix è nato per essere utilizzato in applicazioni server, dove la sicurezza è fondamentale. Di conseguenza, Linux, come qualunque altro Unix, è stato progettato tenendo ben presente le esigenze della sicurezza. – Linux, come tutti i sistemi Unix, divide chiaramente i ruoli di utente e di amministratore. Nella pratica quotidiana si accede a questi sistemi solo con un profilo utente (un "login") dalle funzionalità limitate, cioè quello da "utente". Si accede a questi sistemi con una utenza dalle funzionalità illimitate ("root") solo per effettuare operazioni di amministrazione del sistema. Questa divisione dei ruoli permette di ridurre di molto la possibilità di danneggiare il sistema. – Linux viene usato solo dal 3% della popolazione mondiale di utenti di computer. Non c'è interesse da parte di chi scrive virus, e da parte degli hacker in genere, ad attaccare questa esigua parte della popolazione mondiale. Windows, con il 93% di penetrazione sul mercato, è molto più appetitoso. – Linux, come tutti i sistemi Unix, richiede una certa competenza e viene quindi usato soprattutto da utenti tecnicamente preparati e consapevoli dei problemi legati alla sicurezza. Nessuno di questi aspetti può essere considerato realmente specifico di Linux, nel senso che Windows non sia in grado di competere. In particolare: – A partire da Windows NT, Microsoft ha dotato Windows di molte caratteristiche di sicurezza molto efficaci che lo rendono molto simile a Linux ed a Unix da questo punto di vista. Purtroppo, queste funzionalità sono poco conosciute dall'utente medio di questi sistemi (che, di solito, è un utente meno preparato di un utente Linux). – La divisione dei ruoli utente/amministratore è disponibile anche su Windows (NT, 2000, XP e Vista). Purtroppo è una caratteristica poco conosciuta ed ancor meno sfruttata. – Windows può essere reso quasi impenetrabile a virus, worm ed altri flagelli grazie al software di terze parti disponibile sul mercato (antivirus, firewall, etc.). Purtroppo, l'utente medio di Windows è assai poco incline a dotarsi di questi strumenti ed a tenerli aggiornati. La grande quantità di strumenti di difesa disponibili per Windows è anche la conseguenza del fatto che, con il suo 93% di penetrazione sul mercato, Windows è un grande business per chi crea questi programmi. – Windows è nettamente più semplice da gestire di Linux ed è documentato in misura assai maggiore. Grazie a tutto questo esistono utenti Windows che sanno spremere da questi sistemi un livello eccezionale di robustezza. Purtroppo, la sicurezza richiede studio e dedizione e non tutti gli utenti sono inclini ad investire in questo aspetto. In conclusione, non è corretto dire che Linux è più sicuro di Windows. Piuttosto, è vero che gli utenti Linux sanno usare il loro sistema con maggiore competenza. Per ottenere la sicurezza offerta da TC non è necessario il TC ma non è nemmeno necessario usare Linux o McOS X. Windows dispone già delle caratteristiche necessarie. Quello che manca è la preparazione degli utenti. Il grande vantaggio di TC sul piano della sicurezza è proprio che è in grado di sostituirsi all'utente nella gestione della sicurezza. Ovviamente, da questo suo enorme potere nascono anche i problemi a cui si accenna nel testo. Se si delega del potere, si rinuncia anche ad una parte della propria libertà. Appendice D: DRM I sistemi DRM (Digital Rights Management) sono largamente utilizzati per impedire la copia abusiva od il "consumo" non autorizzato di file di vario tipo come file musicali (MP3), film digitali (Divx ed MPEG), documenti letterari (PDF) e documenti aziendali (DOC e simili). Quasi sempre questi sistemi sono costituiti da 2 elementi: – un file dal contenuti crittografato – un programma in grado di decifrare il file solo a determinate condizioni Un esempio classico di questa tecnologia sono i sistemi DRM usati per proteggere i file musicali come: – Apple FairPlay (usato per Apple iTunes e su Apple iPod) – RealNetworks Helix (usato da RealPlayer) – Microsoft Media DRM Un sistema DRM molto diffuso in Italia è la SkyBox di Sky Television. I sistemi DRM sono da sempre al centro di una aspra polemica. Da un lato le aziende che producono contenuti multimediali sostengono che senza questo genere di dispositivi il mercato dei contenuti digitali è destinato a crollare sotto il peso delle copie abusive. Dall'altro, le associazioni di consumatori e molti degli specialisti di settore sostengono che i sistemi DRM rappresentino una grave violazione dei diritti del consumatore. Le ragioni delle aziende sono molto semplici e sicuramente fondate, per cui non ci dilungheremo oltre nel tentativo di analizzarle. Le ragioni degli oppositori richiedono invece una analisi più approfondita. Per quali motivi i DRM dovrebbero rappresentare violazione dei diritti del consumatore e/o del cittadino? una La fonte di tutte le contestazioni è il fatto che i DRM sono un dispositivo tecnico che dei privati cittadini (le aziende), per di più quasi sempre stranieri (USA), utilizzano per imporre il rispetto di un contratto che l'acquirente non ha nessun modo di discutere. In pratica, i sistemi DRM agiscono in maniera simile agli Autovelox. Questa natura tecnico/legale dei sistemi DRM porta con sé una lunga serie di problemi. Qui di seguito proviamo ad analizzare i principali. Natura vessatoria del contratto Come abbiamo già detto, il consumatore non ha modo di discutere la natura ed il contenuto del contratto di acquisto, di licenza o di noleggio che gli viene imposto dal fornitore. In particolare, l'utente è costretto ad accettare la presenza di un dispositivo, il DRM, che limita pesantemente i suoi diritti di utilizzare il prodotto in modi ritenuti leciti dalle leggi vigenti. Ad esempio, il DRM può impedire all'utente di copiare alcuni brani da CD audio diversi su un nuovo CD per ottenere una “compilation” da ascoltare in automobile. L'imposizione del sistema DRM in Italia (ed in altri paesi) può quindi essere ritenuta equivalente ad una clausola vessatoria del contratto. Le clausole vessatorie sono clausole del contratto con le quali una delle parti rinuncia ad un diritto che altrimenti gli sarebbe garantito per legge. In Italia (ed in molti altri paesi), le clausole vessatorie hanno valore legale solo se vengono accettate esplicitamente e separatamente dalla persona che vede limitati i suoi diritti, dopo che questa persona è stata adeguatamente informata sugli effetti di questa rinuncia, e soltanto nel caso che gli effetti della clausola non siano contrari alle leggi vigenti. Francamente, non ci sembra che nessuno di questi criteri venga rispettato da nessuno dei sistemi DRM esistenti. Difetto di autorità I DRM agiscono come sistemi automatici per imporre il rispetto di un contratto. Sebbene le leggi italiane, come quelle europee ed americane, riconoscano il diritto del produttore di difendere i propri diritti con mezzi automatici di questo tipo, alcuni osservatori fanno notare che in questo caso si concede ad un privato cittadino (il fornitore) un potere analogo a quello della polizia giudiziaria. Il fornitore si trova nella posizione di imporre il rispetto di una legge, quella sul diritto d'autore, secondo la sua personale visione dei fatti, senza nessun accordo reale con il consumatore (a causa della natura standardizzata del contratto) e senza nessun controllo da parte delle autorità. Tutto questo sembra essere in netto contrasto con il principio, universalmente riconosciuto, che le leggi devono essere stabilite da un parlamento democraticamente eletto, interpretate e fatte applicare da un giudice attraverso le forze di polizia. Per convincersi del fatto che questa critica non sia del tutto infondata basta pensare al fatto che il produttore stabilisce i limiti d'uso del prodotto che pone in vendita in modo del tutto arbitrario e nello stesso modo per tutto il mercato globale. Questo avviene nonostante il fatto che le leggi nazionali non siano le stesse ovunque e che quindi i diritti riconosciuti al produttore siano diversi da paese a paese. Questo rende evidenti due violazioni del diritto: da un lato è chiaro che è il produttore, e non i singoli governi, a stabilire cosa sia giusto e cosa sia sbagliato fare con il prodotto in questione, e dall'altro è chiaro che il produttore può trovarsi a far valere, a viva forza, dei diritti che in alcuni paesi non gli sono riconosciuti. Difetto di giurisdizione Una diretta conseguenza di quello che abbiamo appena detto è che non si può dare per scontato che il fornitore sia nella posizione di far valere i diritti che ritiene di avere. Un fornitore americano potrebbe basarsi sulle leggi federali USA per stabilire quali sono i diritti che il sistema DRM deve far valere. In questo caso è probabile che il suo sistema DRM violi le leggi di altri paesi in cui il prodotto viene commercializzato semplicemente perchè quelle leggi non riconoscono ai fornitori gli stessi diritti delle leggi federali americane. Difetto di precisione temporale L'unico diritto di “proprietà” che può legalmente essere fatto valere su un prodotto multimediale (un testo, una brano musicale, una registrazione audio o video, un film, etc.) è il “diritto d'autore” (copyright). Il diritto d'autore ha una durata temporale stabilita per legge. Nel caso dei romanzi, ad esempio, scade dopo 70 anni dalla morte dell'autore. Questo è il motivo per cui, ad esempio, ora è possibile stampare e distribuire il Candido di Voltaire senza pagare i diritti ai suoi discendenti. Questi limiti temporali sono diversi da paese a paese e possono essere cambiati da nuove leggi. Non ci risulta che nessun sistema DRM renda liberamente utilizzabili i contenuti al momento in cui scadono i diritti su di essi e non ci risulta che nessun sistema DRM sia in grado di tenere conto di eventuali variazioni della legislazione, passati o futuri. Difetto di precisione contestuale La legge ed i contratti tra fornitore ed acquirente stabiliscono quasi sempre che un certo utilizzo del prodotto non sia lecito in determinate situazioni e lo sia invece in altre. Ad esempio, è illegale usare un DVD a noleggio per proiettare il film in una sala cinematografica e fare pagare il biglietto all'ingresso, mentre è legale proiettare lo stesso film ad un piccolo gruppo di amici nelal propria residenza e senza scopo di lucro. Nessun sistema DRM esistente è in grado di discernere una situazione. Questo porta a situazioni di chiara violazione del diritto del consumatore come quella denunciata da Clay Shirky (http://www.shirky.com/) in questo suo articolo http://www.boingboing.net/2005/03/31/shirky_stupid_c_law s.html . In questo caso, l'utente si vede negare dal sistema DRM un diritto che certamente possiede: quello di copiare un CD di cui è l'autore! Difetto del diritto di ricorso per l'utente Nei confronti delle “leggi” imposte dai sistemi DRM non esiste di fatto nessun diritto di ricorso. L'utente che viene “colto in fallo” dal sistema viene automaticamente punito senza che gli sia data l'opportunità di difendersi e/o di dimostrare che può vantare i diritti che chiede di utilizzare. Sebbene questo sia legalmente corretto, alcuni osservatori vedono in questo comportamento autoritario del sistema un serio problema legale. L'autore che si vede negato dal sistema DRM il diritto di copiare il CD di cui è autore, deve avere il diritto di intervenire per far rispettare i suoi diritti. Non abbiamo notizia di nessun sistema DRM che possa essere disabilitato o riconfigurato (dal proprietario dei diritti) per tenere conto di situazioni particolari. Interferenza con altri diritti del consumatore/utente Infine, in molti hanno fatto notare che la presenza di sistemi DRM sul prodotto o, peggio, sul sistema, interferisce pesantemente con altri diritti del consumatore. Il caso di Clay Shirky è esemplare in questo senso. Il caso Sony/BMG ha mostrato come la presenza di un sistema DRM possa arrivare a rappresentare una seria minaccia per la sicurezza del sistema dell'utente. In generale, la presenza di un dispositivo che stabilisce regole di comportamento e prende decisioni, rappresenta una grave violazione della liberta dell'individuo. Questi sono solo alcuni dei problemi che presenta l'adozione dei sistemi DRM. Una analisi più approfondita richiederebbe un libro a parte. Vi consigliamo di visitare i siti menzionati qui di seguito e di studiare il caso della Sony/BMG citato in Appendice I per approfondire l'argomento. Da un punto di vista più strettamente filosofico, bisogna tenere presente che il diritto d'autore (che viene fatto rispettare in modo automatico dai DRM) dovrebbe rappresentare l'eccezione piuttosto che la regola. Questo diritto viene riconosciuto, per periodi di tempo rilevanti ma certo non infiniti, agli autori (e non agli editori, che invece li acquistano dagli auori stessi) per stimolare la produzione di “cultura” in senso lato, non certo per creare inutili aree di privilegio. Dai tempi del cinema e degli LP musicali, invece, questo diritto si è largamente trasformato in un puro diritto di proprietà intellettuale che alimenta un business sempre meno legato alla produzione ed alla diffusione di cultura e sempre più dedito a far valere diritti pregressi. Prima che l'industria dello spettacolo si trasformi in una casta notarile dedita solo ad attività contabili, si impone un ripensamento su questi meccanismi. Link: http://www.drmwatch.com/ http://www.microsoft.com/windows/windowsmedia/drm/faq. aspx http://www.realnetworks.com/products/drm/ http://www.applelinks.com/articles/2003/04/200304300026 40.shtml http://en.wikipedia.org/wiki/FairPlay http://www.apple.com/support/itunes/musicstore/authorizati on/ Appendice E: ERM I sistemi ERM (Enterprise Rights Management) sono l'ultima invenzione di Microsoft per soddisfare le esigenze delle aziende. Consistono nella applicazione degli stessi sistemi di protezione abitualmente usati per i CD musicali ai documenti prodotti dalle aziende. Ad esempio, l'uso di queste tecnologie, insieme al TC, permette di ottenere le seguenti funzionalità. Protezione dalla copia abusiva I documenti prodotti all'interno dell'azienda, siano essi documenti di testo in formato Word, fogli elettronici in formato Excel o messaggi di posta elettronica, possono essere cifrati in modo che siano leggibili solo dal personale autorizzato e/o solo su macchine autorizzate. eventuali copie abusive dei documenti non sarebbero leggibili. Protezione dal consumo abusivo Nello stesso modo, i documenti non sarebbero accessibili da persone non autorizzate nemmeno sulle macchine su cui sono stati creati o da persone autorizzate su macchine diverse da quelle autorizzate. In pratica, il dipendente che portasse fuori dall'azienda un documento riservato da lui stesso creato non potrebbe comunque leggerlo sul PC di casa. Distruzione remota I documenti aziendali potrebbero essere resi illeggibili (in pratica: distrutti) a distanza semplicemente “revocando” la chiave di cifratura usata per proteggerli (Questo meccanismo è già disponibile in molti sistemi crittografici tradizionali come GPG). Distruzione temporizzata I documenti aziendali potrebbero essere resi illeggibili, revocando automaticamente la loro chiave di cifratura, dopo un certo periodo di tempo. Questo meccanismo è alla base della tecnologia della posta elettronica che sparisce da sola una volta letta (“disappearing e-mail”). Appendice F: Crittografia Crittografia tradizionale Per capire come sia strutturato e come funzioni un sistema di Trusted Computing è necessario avere qualche cognizione di crittografia, sia di tipo tradizionale che di tipo asimmetrico (“a chiave pubblica”). La crittografia è un modo per proteggere da sguardi indiscreti e da manipolazioni abusive un insieme di dati, solitamente rappresentato da un documento di testo o da un messaggio. Nella crittografia tradizionale solitamente si fa uso di un codice e di una chiave che, usati insieme, permettono di cifrare un messaggio rendendolo illeggibile. La stessa chiave e lo stesso codice possono anche essere usati per decifrare il messaggio e renderlo nuovamente leggibile. Un esempio particolramente illuminante di crittografia tradizionale è rappresentato dal famoso cifrario di Vigenère. Il cifrario di Vigenère fa uso di un codice rappresentato da una tabella come la seguente. A B C D E F G H I J K L M N O P Q R S T U V W X Y Z B C D E F G H I J K L M N O P Q R S T U V W X Y Z A C D E F G H I J K L M N O P Q R S T U V W X Y Z A B D E F G H I J K L M N O P Q R S T U V W X Y Z A B C E F G H I J K L M N O P Q R S T U V W X Y Z A B C D F G H I J K L M N O P Q R S T U V W X Y Z A B C D E G H I J K L M N O P Q R S T U V W X Y Z A B C D E F H I J K L M N O P Q R S T U V W X Y Z A B C D E F G I J K L M N O P Q R S T U V W X Y Z A B C D E F G H J K L M N O P Q R S T U V W X Y Z A B C D E F G H I K L M N O P Q R S T U V W X Y Z A B C D E F G H I J L M N O P Q R S T U V W X Y Z A B C D E F G H I J K M N O P Q R S T U V W X Y Z A B C D E F G H I J K L N O P Q R S T U V W X Y Z A B C D E F G H I J K L M O P Q R S T U V W X Y Z A B C D E F G H I J K L M N P Q R S T U V W X Y Z A B C D E F G H I J K L M N O Q R S T U V W X Y Z A B C D E F G H I J K L M N O P R S T U V W X Y Z A B C D E F G H I J K L M N O P S S T U V W X Y Z A B C D E F G H I J K L M N O P Q R T U V W X Y Z A B C D E F G H I J K L M N O P Q R S U V W X Y Z A B C D E F G H I J K L M N O P Q R S T V W X Y Z A B C D E F G H I J K L M N O P Q R S T U W X Y Z A B C D E F G H I J K L M N O P Q R S T U V X Y Z A B C D E F G H I J K L M N O P Q R S T U V W Y Z A B C D E F G H I J K L M N O P Q R S T U V W X Z A B C D E F G H I J K L M N O P Q R S T U V W X Y Codice di Vigenère Un semplice esempio dovrebbe rendere evidente il modo in cui si usa questa tabella. Ammettiamo di voler cifrare questa celebre frase di Artur Bloch: Errare è umano, ma per incasinare tutto è necessario un computer! ed ammettiamo di voler usare la chiave “trust”. Per capire meglio come sia possibile cifrare il messaggio, è necessario ripetere numerose volte la nostra chiave sotto la frase da cifrare, in questo modo: E r r a r e è u m a n o m a p e r i n c a s i n .. t r u s t t r u s t t r u s t t r u s t t r u s Come potete vedere, in questo modo ad ogni lettera della frase da cifrare corrisponde una lettera della nostra chiave. Ad esempio, alla “e” iniziale di “Errare” corrisponde la” t” ed alla prima “a” corrisponde la “s”. Per ottenere il testo cifrato si procede in questo modo, una lettera alla volta: 1. cercate la lettera che volete cifrare nella prima riga del codice di Vigenère (la tabella riportata più sopra) 2. cercate la lettera corrispondente della chiave nella prima colonna del codice 3. come potete vedere, queste due lettere identificano una “cella” del codice di Vigenère. La cella si trova all'incrocio della riga e della colonna identificate da queste due lettere e contiene a sua volta una terza lettera. Questa lettera è quella che ci interessa. Nella tabella precedente abbiamo evidenziato la lettera “m” nella prima riga e la lettera “s” nella prima colonna. Come potete vedere, all'incrocio della riga e della colonna identificate da queste lettere si trova la lettera “e”. Seguendo la procedura descritta in precedenza per tutte le lettere della frase, otterrete il seguente risultato: XILSKX V OETGF GS IXI CFVTJCFTKV NMMMF Y FXVVMKTKZI MG VFGHNMVL (Questo risultato è stato ottenuto omettendo i segni di punteggiatura e sostituendo le lettere accentate con le corrispondenti non accentate. Per la cifratura si è fatto uso del programma disponibile in rete a questa URL: http://www.icosaedro.it/crittografia/chiavi-simmetriche.html ) Per decifrare il messaggio si procede in modo simile, usando la stessa chiave e la stessa tabella. L'unica differenza è che durante la decifrazione le lettere della chiave vengono usate per selezionare le righe e quelle del messaggio da decifrare vengono usate per selezionare le colonne. Ciò che si trova all'incrocio di riga e colonna è la lettera del testo in chiaro. Questo esempio dovrebbe essere riuscito a dimostrare i seguenti aspetti fondamentali della crittografia tradizionale. • un testo in chiaro può essere trasformato in un testo cifrato usando un codice di conversione ed una chiave (solitamente rappresentata da una parola chiave) • il testo cifrato può essere riportato alle sue condizioni originarie usando lo stesso codice e la stessa chiave ma seguendo una procedura leggermente diversa Ovviamente, la chiave deve essere mantenuta segreta per evitare che chiunque possa decifrare il testo che si intende proteggere. Crittografia a Chiave Pubblica Nella crittografia a chiave pubblica, alcuni degli assiomi della crittografia tradizionale vengono a mancare. In particolare, non si usa più la stessa chiave per cifrare e per decifrare il messaggio. Si usano invece due chiavi diverse. La prima chiave, chiamata “chiave pubblica” viene usata solo per cifrare il messaggio. Questa chiave non permette in alcun modo di risalire al testo in chiaro e può quindi essere resa pubblica. La seconda chiave viene usata solo per decifrare il testo e viene mantenuta segreta. Questa chiave viene chiamata “chiave privata”. Purtroppo, gli algoritmi usati nelal crittografia a chiave pubblica sono troppo complessi per permettere di assemblare un esempio che ne illustri le caratteristiche. Tuttavia, nel capitolo seguente viene descritto come funziona uno dei programmi più conosciuti di crittografia a chiave pubblica: GNU Privacy Guard (GPG). Appendice N: Chiavi, Hash, Firme Digitali ed Identificatori Nell'informatica, identificare oggetti e dispositivi è una esigenza comune. Di solito si usano a questo scopo dei numeri causali molto grandi, diciamo di 128 – 512 cifre, chiamati UUID (Universally Unique Identifier) o GUID (Globally Unique Identifier). Questi numeri sono molto simili al codice a 14 cifre usato dalle schede per la ricarica dei telefoni cellulari ma hanno, appunto, molte più cifre. Questi numeri vengono generati a caso, usando un apposito algoritmo, e poi vengono archiviati in un apposito database di numeri considerati “validi”. Dato che sono numeri molto grandi, anche generandone un grande quantitativo ne viene in realtà usata una percentuale molto piccola rispetto a tutti quelli che è possibile generare. Di conseguenza, chi tentasse di generare uno di questi numeri e sperasse di incappare accidentalmente in un numero presente nel database dei numeri validi, dovrebbe fare i conti con una probabilità molto bassa di riuscire nel suo intento. Secondo alcuni ricercatori, è di gran lunga più probabile morire centrati da un meteorite che riuscire ad indovinare uno di questi numeri. Il sistema operativo Unix dispone di alcune funzionalità standard per generare numeri di questi tipo (e quindi anche Linux, McOS X e freeBSD, che sono tutti delle varianti di Unix). Le “chiavi” abitualmente usate dai sistemi crittografici sono delle sequenze casuali di numeri molto simili o persino identiche a quelle usate come identificatori univoci. In realtà, in molti casi si usano proprio dei GUID o degli UUID di grandi dimensioni come chiavi crittografiche, ad una sola condizione: deve trattarsi di numeri primi. Questa condizione è dettata dal particolare algoritmo usato dai sistemi di crittografia a chiave pubblica. Per fortuna, esiste un apposito algoritmo, chiamato “crivello di Eratostene” che permette di generare (o meglio “identificare”) facilmente numeri primi con centinaia o migliaia di cifre. Queste chiavi vengono usate come base dell'algoritmo crittografico e non devono essere confuse con le password usate per accedere ai documenti cifrati. Al loro interno, i Fritz Chip sono in grado di generare un altro tipo di chiavi crittografiche, chiamate "endorsement key" (chiavi di approvazione) o “attestation key” (chiavi di vidimazione). Queste chiavi non sono dei semplici numeri primi casuali ma bensì delle vere “firme digitali” che vengono calcolate in base alla struttura del programma o del documento che si intende marcare e della chiave privata dell'utente. In pratica, si cifra il documento che si vuole marcare usando la chiave privata dell'utente. Questo testo cifrato ha la caratteristica di poter essere decifrato usando la chiave pubblica dello stesso utente. Dato che solo l'utente (od il suo sistema) ha accesso alla chiave privata, e che solo usando questa chiave privata si può generare un testo che sia decifrabile dalla corrispondente chiave pubblica, si può usare questo sistema per firmare digitalmente un documento. Queste firme digitali sono note anche come “certificati digitali” perchè consentono di “certificare” la provenienza di un documento. La “firma digitale” o la “certificazione digitale” di un documento è una prassi comune in informatica. Questa procedura viene usata, ad esempio, per garantire che un documento provenga realmente da una certa persona o che sia stato letto ed approvato da una certa persona. In modo simile, degli apposito “certificati digitali”, emessi da apposite autorità super-partes, vengono usati per certificare l'identità di un sito web, di un programma o di altri oggetti digitali. Le aziende che agiscono come autorità di certificazione sono chiamate appunto “Certification Authorities”. Una delle più famose è Verisign (http://www.verisign.com/). Le firme digitali mettono a rischio l'anonimato dell'utente perchè possono essere facilmente associate all'utente che firma il documento (o, più esattamente, alla chiave usata per cifrare il documento). Per evitare che una endorsement key possa essere associata all'utilizzatore di un computer, nelle specifiche del TC è previsto che sia possibile usare una diversa endorsement key per ogni scopo. Ad esempio si può usare una chiave per accedere ad iTunes in rete ed una chiave diversa per accedere al proprio sistema di Internet banking. In questo modo è possibile identificare l'utente per lo scopo preciso della transazione ma non è possibile stabilire la sua vera identità. Anche i Fritz Chip sono identificati univocamente, al loro interno, da chiavi crittografiche di questo tipo, lunghe 2048 cifre (chiavi RSA). Queste particolari chiavi sono chiamate “root of trust” (sorgente della fiducia) perchè sono all'origine delle varie identità che il chip può assumere sulla rete. Un problema accessorio che nasce dall'uso di chiavi crittografiche per cifrare/decifrare dati e per firmare oggetti digitali è quello di dover provvedere alla “migrazione delle chiavi“ in caso di spostamento dei dati da una macchina all'altra od in caso di un “restore” dopo un crash di qualche tipo. Ovviamente, non è solitamente possibile prelevare le chiavi crittografiche dal Fritz Chip di una vecchia macchina, salvarle su un floppy e caricarle sul Fritz Chip di una nuova macchina. Se questa funzionalità esistesse, tutta la sicurezza di un sistema TC verrebbe immediatamente compromessa. Per affrontare questo problema si sono studiate (e si stanno ancora studiando) diverse soluzioni. Una delle più accreditate consiste in una “chiave di riserva”, in pratica una specie di passepartout, che rimarrebbe sempre nelle mani del produttore del sistema (Intel o chi per essa) e che verrebbe fornita al cliente solo in casi eccezionali. Questa chiave servirebbe solo per abilitare la procedura di migrazione delle chiavi. Un'altra ipotesi è quella di usare una apposita smart card a questo scopo. Questa procedura permetterebbe anche di creare delle copie di riserva delle chiavi del Fritz Chip senza peraltro comprometterne la sicurezza. L'ultimo tipo di oggetto matematico usato nel settore del Trusted Computing sono gli hash. Un hash è una particolare sequenza di numeri, di lunghezza prefissata, che “fotografa” una certa sequenza di caratteri, come un testo alfabetico od una sequenza di 0 ed 1. Gli hash hanno delle caratteristiche molto importanti: • Ogni sequenza di caratteri (ogni testo) genera sempre lo stesso hash • L'hash ha sempre la stessa lunghezza predeterminata • Dato l'hash è quasi impossibile risalire alla sequenza di caratteri originale Queste caratteristiche rendono gli hash uno strumento ideale per “fotografare” un file, un programma od un documento e controllare in seguito se è stato alterato. Appendice G: Gnu Privacy Guard (GPG) GPG (GNU Privacy Guard) è un programma Open Source a linea di comando usato per cifrare e decifrare documenti di vario tipo. Dato che si tratta di un programma completamente libero e gratuito lo potete scaricare senza timori da questa URL: http://www.gnupg.org/ GPG funziona su Linux, vari tipi di Unix, McOS X e Windows. GPG è una implementazione particolare di uno standard noto come OpenPGP. Questo standard prende il nome da un famoso programma crittografico a cui si ispira: PGP (Pretty Good Privacy) di Philip Zimmermann. Il sito di OpenPGP è a questa URL: http://www.openpgp.org/ Normalmente GPG viene usato dalla linea di comando, come gli antichi programmi MS/DOS, ma sono disponibili varie interfacce grafiche aggiuntive per i più pigri, come KGPG per KDE. GPG viene anche usato “dietro le quinte” da vari programmi di posta elettronica, come Ximian Evolution e Kmail di KDE. GPG è in grado di svolgere le seguenti funzioni. • Generazione di coppie di chiavi crittografiche (pubblica e privata) • Cifratura e decifratura di documenti con vari algoritmi a chiave pubblica • Firma digitale di documenti • Gestione delle chiavi (pubblicazione, importazione, revoca, etc.) Per capire come funziona ed a cosa serve GPG, dobbiamo vedere questo programma in azione. Ammettiamo che Alice voglia spedire un file dal contenuto riservato a Bob attraverso Internet. Per fare questo potrebbe usare direttamente Ximian Evolution, che al suo interno usa proprio GPG, ma noi vogliamo vedere i dettagli del processo e quindi eseguiremo questa procedura dalla linea di comando. Subito dopo l'installazione del programma (su cui non ci dilunghiamo), la prima cosa che Alice e Bob devono fare è generare le loro coppie di chiavi. Sia Alice che Bob devono generare due chiavi: una chiave pubblica ed un chiave privata. La chiave pubblica dovrà essere inviata al loro interlocutore e verrà usata solo per cifrare il documento. La chiave privata deve essere mantenuta segreta e verrà usata solo per decifrare il documento. Per generare una coppia di chiavi, Alice e Bob dovranno invocare GPG sul loro computer in questo modo: [alice@home alice]$ gpg genkey gpg (GnuPG) 1.0.6; Copyright (C) 2001 Free Software Foundation, Inc. This program comes with ABSOLUTELY NO WARRANTY. This is free software, and you are welcome to redistribute it under certain conditions. See the file COPYING for details. gpg: Warning: using insecure memory! gpg: /home/marge/.gnupg/secring.gpg: keyring created gpg: /home/marge/.gnupg/pubring.gpg: keyring created Please select what kind of key you want: (1) DSA and ElGamal (default) (2) DSA (sign only) (4) ElGamal (sign and encrypt) Your selection? 1 L'opzione –gen-key informa GPG del fatto che l'utente vuole creare una coppia di chiavi. GPG reagisce chiedendo che algoritmo di cifratura si desidera usare e che tipo di chiavi si desidera creare. La scelta è tra DSA, ElGamal e DSA+ElGamal. Solitamente si usa il default DSA+ElGamal che permette di cifrare e firmare i documenti. Come seconda cosa, GPG chiede quanto deve essere lunga la chiave di cifratura e per quanto tempo deve essere valida: Your selection? 1 DSA keypair will have 1024 bits. About to generate a new ELGE keypair. minimum keysize is 768 bits default keysize is 1024 bits highest suggested keysize is 2048 bits What keysize do you want? (1024) Requested keysize is 1024 bits Please specify how long the key should be valid. 0 = key does not expire <n> = key expires in n days <n>w = key expires in n weeks <n>m = key expires in n months <n>y = key expires in n years Key is valid for? (0) Key does not expire at all Is this correct (y/n)? y A questo punto GPG chiede che gli venga fornito un identificatore con cui marcare la coppia di chiavi che viene creata. Questo identificatore è, in pratica, il nome della coppia di chiavi e solitamente viene costruito assemblando in un unico frammento di testo l'indirizzo di posta elettronica dell'utente, il suo vero nome ed un commento. You need a UserID to identify your key; the software constructs the user id from Real Name, Comment and Email Address in this form: "Heinrich Heine (Der Dichter) <[email protected]>" Real name: Alice Email address: [email protected] Comment: Alice's GPG key pair You selected this USERID: "Alice (Alice's GPG key pair) <[email protected]>" Change (N)ame, (C)omment, (E)mail or (O)kay/(Q)uit? O Infine, GPG è pronto a generare le chiavi e chiede una password che servirà in seguito per accedere ad esse. Dato che la password può contenere spazi, viene chiamata “passphrase”. You need a Passphrase to protect your secret key. Enter passphrase: Sbr6wh wscartBM, iscaa2d Repeat passphrase: Sbr6wh wscartBM, iscaa2d We need to generate a lot of random bytes. It is a good idea to perform some other action (type on the keyboard, move the mouse, utilize the disks) during the prime generation; this gives the random number generator a better chance to gain enough entropy. Al termine di questa operazione (che può durare qualche decina di secondi), GPG scrive la coppia di chiavi sul disco fisso ed avverte l'utente. public and secret key created and signed. Una volta creata la propria coppia di chiavi, Alice e Bob devono rendere disponibile la propria chiave pubblica al proprio interlucutore. Normalmente, le chiavi pubbliche vengono pubblicate su un apposito server come Veridis ( http://keyserver.veridis.com:11371/index.html ) od uno qualunque dei server elencati a questa URL: http://www.pgpi.org/services/keys/keyservers/ Prima di pubblicare la propria chiave pubblica è solitamente necessario convertirla ad un formato di solo testo, una procedura nota come “armatura” della chiave. Questa procedura si attiva invocando GPG in questo modo: [alice@home alice]$ gpg armor export [email protected] > alice_public_key.txt La chiave pubblica che viene scritta all'interno del file alice_public_key.txt ha questo aspetto: BEGIN PGP PUBLIC KEY BLOCK Version: GnuPG v1.0.6 (GNU/Linux) Comment: For info see http://www.gnupg.org mQGiBDv2vMARBACPHwe3BXmJXF5dvXxGEuxYIbYoY2naOmaArFsv1Pgl 3GqhhAP7GTGvN4A4Xo80S8i8mrSsseHE/RD7F2PS045dzP/LbDcI7Eqn fU2BDoIfEmTsTuplBKjOJUh7luhFbj2gdpbmmTUD/1BBKd42pIk/GPUc ynMS9TG4kUyB6UdtRF7NydYPo4T+0fIY8mbh5VRigoVVsukX8xuI+QaS 5iB/D4j36+zk/iRy171dY43OuwCgm6rQa8vmmGDyCCUWFX0PVlQn5MMf 97GadIAGgh1pdD7bMfB4FI84TyhNHuBDTCn0Ysffnot_a_public_key _but_other_than_this_line_it_looks_like_this_xxxbRmMA/9E /EGJnyYWdHtTerx+H8qacP183SrRFQDqSkOM61P4iDIWcZCOqlHCv7Br Rmf7Ug9I4RkD5qqWkpWY0ugcSbuoFx0f7AGckOOWWVq4ddQStAsOhlMQ 4ahOu7mBcmVuY2UgKExpbmRhJ3MgR1BHIGtleSBwYWlyKSA8bGluZHlA cGN1bml4LmNvbT6IdVJeXzVTKHnMTGUqutPpmro/txW3M4Z3/0gsOGyS xlob0MOQcbQ4TGluZGEgTGF3VwQTEQIAFwUCO/a8wQULBwoDBAMVAwID FgIBAheAAAoJEAymPu375boq1fkAniuKEAQAj8E9riM9UUI2fc3Of/5k huEi2nbT2xD2//FUVQh4uKXd4iQXW3z55ZbJnJ1ENk6xIPHx0kQUEcUx dRSK0rikAJ9bB4o+oZ9wqJubKMHII1K1BunTuLkBDQQ79rzFbZ+TGMKF OgoxEGAeIcf/XD0/zRDOvdKuLsIZjlNl3uqChXgeznCFU4kviuGdSeDK vcx/cR7NgfAn2JUKnhcf/sf01WRM43TbSZP5+5ZXk7zZWZItp+STRHYU ketXwFk/LWn2jrjbFpcBswgXZ1Vq7Hrbi027y4x6KIhKZ0rfGsXDYxsA AwUD/jCF25xvDrU9W5mjSmWy1f+Hn5q/RQAChIAgEEwWMpaHLXixyI+x E+kXvowDYdbmQWruJS1BGKDF/JibHwSp15ZzGQivpX/Dul4/nks3xYy7 iEYEGBECAAYFAjv2vMUACgkQDKY+7fvluiqY4ACcCga6MsB3DhSLEO6F se09UujGwUMAmwY9skYtEZDAFXBlcpov1wYzFAhh END PGP PUBLIC KEY BLOCK Questa chiave può essere pubblicata facendo l'upload del file alice_public_key.txt sul server di chiavi che si è deciso di usare. Per spedire un messaggio crittografato a Bob, Alice deve procurarsi da uno di questi server (o attraverso altri canali) una copia della chiave pubblica di Bob. Per scaricare ed importare la chiave di Bob dal server, Alice deve usare un comando come questo: gpg keyserver keyserver.veridis.com recvkeys KEYID Dove KEYID è l'identificatore della chiave di Bob. Questo identificatore deve essere fornito da Bob. In latrenativa, questo KEYID può essere facilmente scoperto cercando la chiave pubblica di Bob sul server web di Veridis. Nel caso che la chiave fosse stata fornita ad Alice sotto forma di file di testo (su floppy, su CD-ROM), Alice avrebbe potuto importarla con questo comando: gpg import bob_public_key.txt Per cifrare il suo documento, Alice deve usare un comando come il seguente. gpg output testo_cifrato.gpg encrypt recipient [email protected] testo_in_chiaro.txt Bob può decifrare il messaggio con questo comando: gpg output testo_in_chiaro.txt decrypt testo_cifrato.gpg Al momento di decifrare il messaggio, a Bob verrà chiesto di fornire la sua passphrase. In modo simile, Alice e Bob possono firmare digitalmente un documento. L'operazione di firma consiste nel cifrare il documento con la propria chiave privata (che resta segreta) in modo che sia decifrabile con la chiave pubblica. In questo modo il ricevente è sicuro che il mittente sia la persona a cui appartiene la chiave privata (o comunque qualcuno che ha accesso ad essa). I comandi per firmare (to sign) un documento e per verificare la firma (verify) sono i seguenti. gpg output documento_firmato.sig sign documento_da_firmare.txt gpg verify documento_firmato.sig Appendice H: I sistemi IDS e FIC (File Integrity Check) Le funzioni di controllo della integrità dei file e di rilevamento delle intrusioni che svolge il TC sono praticamente le stesse che vengono già svolte da molti anni da sistemi software come TripWire e AIDE. Questi sistemi vengono chiamati IDS (Intrusion Detection System) o FIC (File Integrity Checker). Vedi: http://it.wikipedia.org/wiki/IDS http://www.cs.tut.fi/~rammer/aide.html http://www.tripwire.com/ Appendice I: Il caso Sony, ovvero: fino dove sono disposti ad arrivare con il DRM? Nel novembre 2005 è scoppiato uno scandalo attorno all'uso, decisamente aggressivo, che Sony ha fatto delle tecnologie DRM. Questo articolo dimostra come Sony sia arrivata persino ad intallare abusivamente del software spia sul computer dell'utente pur di proteggere i propri interessi: http://puntoinformatico.it/cerca.asp?s=sony+drm&B=CERCA&r=PI http://www.sysinternals.com/Blog/ http://www.sysinternals.com/blog/2005/10/sony-rootkitsand-digital-rights.html Appendice L: FPGAs, ovvero: come fare i microchip senza avere la fonderia Data la situazione di sostanziale monopolio esistente nella produzione di hardware (microchip) sembrerebbe impossibile sottrarsi all'avvento di TC. In realtà, è possibile produrre CPU ed altri microchip su scala artigianale (e quindi restando al di fuori dell'area di dominio dei grandi produttori) usando tecnologie come l'FPGA e l'ASIC. Queste tecnologie permettono di creare microchip senza bisogno di avere una "fonderia" di silicio dedicata a questo scopo. Esistono già diversi esempi di CPU create in questo modo. Vedi: http://en.wikipedia.org/wiki/FPGA http://it.wikipedia.org/wiki/FPGA http://www.fpgacpu.org/ http://en.wikipedia.org/wiki/Applicationspecific_integrated_circuit http://www.opencores.org Appendice M: Microsoft Insecurity Tutti programmi di Microsoft, infatti, sono stati progettati e costruiti in un'epoca in cui le preoccupazioni per la sicurezza ancora non esistevano e sin da quei tempi si portano dietro alcune caratteristiche estremamente pericolose. La prima e la più importante di queste caratteristiche è la presenza di un interprete di linguaggio (Visual Basic for Applications) che viene abitualmente sfruttato da virus (più esattamente virus di macro e worm) e da hacker (più esattamente cracker ed intruder) per contaminare un sistema, penetrare in esso e prenderne il controllo. Questo interprete è notoriamente afflitto da numerosi difetti e da numerose falle di sicurezza e non è mai stato realmente reso sicuro (né mai lo sarà, secondo quasi tutti gli osservatori). La situazione della sicurezza nei programmi Microsoft è talmente grave che persino il solitamente moderatissimo CERT (Computer Emergency Response Team) arriva a consigliare gli utenti di abbandonare il software Microsoft (in questo caso Internet Explorer) in favore di software meno vulnerabile. L'articolo originale del CERT è reperibile a questa URL: http://www.kb.cert.org/vuls/id/713878 Questa è la sezione dell'articolo del CERT rilevante ai nostri fini: Use a different web browser There are a number of significant vulnerabilities in technologies related to the IE domain/zone security model, trust in and access to the local file system (Local Machine Zone), the Dynamic HTML (DHTML) document object model (in particular, proprietary DHTML features), the HTML Help system, MIME type determination, the graphical user interface (GUI), and ActiveX. These technologies are implemented as operating system components that are used by IE and many other programs to provide web browser functionality. These components are integrated into Windows to such an extent that vulnerabilities in IE frequently provide an attacker significant access to the operating system. It is possible to reduce exposure to these vulnerabilities by using a different web browser, especially when viewing untrusted HTML documents (e.g., web sites, HTML email messages). Such a decision may, however, reduce the functionality of sites that require IE-specific features such as proprietary DHTML, VBScript, and ActiveX. Note that using a different web browser will not remove IE from a Windows system, and other programs may invoke IE, the WebBrowser ActiveX control (WebOC), or the HTML rendering engine (MSHTML). La situazione della sicurezza dei prodotti Microsoft, ed in particolare di MS Internet Explorer ed Outlook, è ben nota sia agli utenti che agli specialisti ed ha portato alla nascita di numerosi siti web che cercano di avvisare gli utenti di questo pericolo o di intervenire in modo semiautomatico. Eccone alcuni: http://www.stopie.com/security/ http://www.litepc.com/ieradicator.html http://cc.realtimepublishers.com/portal.aspx?pubid=335 Ed ecco alcuni articoli sul tema: http://www.securityfocus.com/archive/1/344254 http://linuxtoday.com/news_story.php3?ltsn=2000-04-15018-06-SC http://www.microsoftmonitor.com/archives/011023.html http://www.securityfocus.com/columnists/188 http://www.networkworld.com/weblogs/security/003535.htm l Alle seguenti URL sono reperibili gli avvisi originali del CERT e di altre organizzazioni: http://www.us-cert.gov/cas/alerts/ http://www.us-cert.gov/cas/alerts/SA05-193A.html http://www.us-cert.gov/cas/alerts/SA05-102A.html http://www.us-cert.gov/cas/alerts/SA05-039A.html http://www.us-cert.gov/cas/alerts/SA05-012A.html http://www.dhs.gov/dhspublic/display?theme=70 I programmi non correttamente configurati Appendice O: Per una Carta dei Diritti Digitali Come riporta Punto informatico (http://puntoinformatico.it/p.asp?i=56155), a Novembre 2005 è stata presentata al Parlamento dell'Unione Europea una proposta di Carta dei Diritti Digitali da parte di AltroConsumo (http://www.altroconsumo.it/) e BEUC (http://www.beuc.org/Content/Default.asp). I punti salienti di questa proposta sono i seguenti: • Diritto alla scelta, alla conoscenza e alla diversità culturale. Vale a dire poter beneficiare di un mercato concorrenziale che favorisca la creatività, la libertà d'espressione, la scelta e la diversità culturale. Gli ostacoli sono ancora molti, basti pensare che nel mondo musicale quattro grandi società controllano l'80% del mercato mondiale, mantenendo i prezzi dei Cd a livelli proibitivi. • Diritto al principio della "neutralità tecnologica" e alla trasposizione nel mondo digitale dei diritti già esistenti nel mondo "analogico": diritto all'informazione, a clausole eque, a ricorrere quando un prodotto non mantiene le promesse. Nei fatti è l'industria a decidere unilateralmente quali informazioni rendere pubbliche, come il materiale può essere utilizzato, cosa è legale e cosa no. • Diritto di beneficiare delle innovazioni tecnologiche senza restrizioni abusive. L'industria non deve avere il potere di imporre un controllo eccessivo ai contenuti digitali. Non c'è ragione tecnologica o giuridica, per esempio, che giustifichi il fatto che i Dvd americani non possano essere visti sui lettori europei e viceversa. • Diritto all'interoperabilità fra contenuti e apparecchi. Esistono troppi casi di incompatibilità, perché per esempio la musica che si acquista su iTunes può essere ascoltata solo con un iPod? • Diritto alla protezione della vita privata. Registratori digitali e computer non devono essere manipolati senza il consenso dei proprietari. Se per esempio si carica un programma sul Pc, può accadere che sia inviato a insaputa del consumatore un programma supplementare, che una volta attivato può modificare la programmazione dell'apparecchio e catturare informazioni sulle abitudini nella navigazione. • Diritto a non essere criminalizzati. Non si deve considerare criminale chi fa copie di Cd e Dvd per uso personale. L'autore di questo libro, personalmente, si accontenterebbe di vedere riconosciuti i seguenti diritti digitali. Diritto all'informazione Nessun programma, e nessun'altra diavoleria tecnologica, si deve mai permettere di svolgere qualche operazione su di un oggetto che ho comprato e pagato e/o su un insieme di dati che mi appartengono senza che io ne sia a conoscenza. Diritto al controllo Nessun programma, e nessun'altra diavoleria tecnologica, si deve mai permettere di svolgere qualche operazione su di un oggetto che ho comprato e pagato e/o su un insieme di dati che mi appartengono senza la mia esplicita autorizzazione. Diritto alla fedeltà Nessun programma, e nessun'altra diavoleria tecnologica, si deve mai permettere di svolgere qualche operazione su di un oggetto che ho comprato e pagato e/o su un insieme di dati che mi appartengono nell'interesse di qualcuno che non sia io. Appendice P: La pagina di Wikipedia dedicata al Trusted Computing Per comodità del lettore, riportiamo qui di seguito il contenuto della pagina di Wikipedia dedicata al Trusted Computing. Il testo originale è reperibile sul World Wide Web di Internet a questi indirizzi: http://it.wikipedia.org/wiki/Trusted_Computing (Italiano) http://en.wikipedia.org/wiki/Trusted_computing (inglese) Il testo originale di Wikipedia è coperto da una licenza GFDL (GNU Free Documentation License) ed è quindi liberamente utilizzabile e distribuibile. Gli editori di questo libro si associano ai volontari di Wikipedia nel desiderio di mantenere libera la circolazione delle informazioni per cui viene garantito a chiunque il diritto di copiare e ridistribuire questa sezione del testo nei termini della stessa GFDL usata da Wikipedia. Trusted Computing Il termine Trusted Computing (TC) (informatica fidata) si riferisce ad una famiglia di specifiche del TCPA con l'obiettivo dichiarato di produrre computer più sicuri mediante l'uso di hardware dedicato. I critici - membri della community del software libero ed open source, esperti di sicurezza, accademici - sostengono che l'effetto complessivo (e forse l'intento) del trusted computing sia di imporre delle restrizioni irragionevoli su come le persone possono usare i loro computer. I concetti base I concetti alla base del trusted computing sono: 1. Ogni singola macchina/CPU è identificata univocamente usando dei certificati; 2. La cifratura è eseguita a livello hardware; 3. Le informazioni possono essere firmate con l'identificativo della macchina; 4. Le informazioni possono essere cifrate con la chiave segreta della macchina; La natura della fiducia Fiducia (trust) significa qualcosa di diverso per gli esperti di sicurezza rispetto all'accezione che spesso le attribuiscono i profani. Per esempio, la definizione di un sistema fidato del dipartimento della difesa Usa è una che potrebbe compromettere la tua sicurezza; ossia, "un sistema di cui sei costretto a fidarti perché non hai scelta". Il crittografo Bruce Schneier osserva "Un computer 'fidato' non significa un computer che sia affidabile". Secondo quelle definizioni, gli utenti confidano che la loro scheda video mostri correttamente le immagini. La fiducia nel linguaggio della sicurezza è sempre una sorta di compromesso o di debolezza - a volte inevitabile, ma mai desiderabile, in quanto tale. La principale controversia sul trusted computing riguarda questo significato di fiducia. I critici dipingono un sistema fidato come un sistema di cui sei costretto a fidarti, piuttosto che come uno particolarmente affidabile. Per contrasto, la Microsoft, nell'adottare il termine trustworthy computing (informatica affidabile), intende presumibilmente focalizzare l'attenzione dei consumatori sui presunti aspetti di affidabilità nel sistemi basati su trusted computing. I critici del trusted computing, invece, sono preoccupati di non essere in grado di guardare dentro allo hardware del trusted computing per vedere se sia implementato propriamente o se ci siano delle backdoor. Le specifiche del trusted computing sono aperte ed accessibili per chiunque le voglia riesaminare, ma le implementazioni in genere non lo sono. Allo stesso modo, molti sono preoccupati che i modelli crittografici e gli algortimi diventino obsoleti. Questo potrebbe risultare nell'obsolescenza forzata dei computer abilitati per il TC. Per esempio, delle recenti versioni di specifiche del trusted computing hanno aggiunto, e richiesto, l'algoritmo crittografico AES. Mentre i sostenitori affermano che il trusted computing aumenti la sicurezza, i critici ribattono che non solo la sicurezza non sarà aiutata, ma che il trusted computing faciliterà anche il digital rights managment (DRM) obbligatorio, lederà la privacy, e imporrà altre restrizioni agli utenti. Affidare la gestione dei computer in rete ad autorità di controllo piuttosto che ai singoli individui potrebbe creare fenomeni di censura digitale. Per i critici, bisognerà dunque contrastare il trusted computing con il secure computing (informatica sicura), in cui la principale preoccupazione sia quella dell'anonimato piuttosto che della trasparenza. I sostenitori dell'informatica sicura sostengono che della sicurezza addizionale può essere ottenuta senza cedere il controllo dei computer dagli utenti a dei super-utenti. I sostenitori del trusted computing sostengono che le lamentele sulla privacy siano prive di basi, poiché i consumatori manterranno la scelta tra sistemi, basata sulle loro necessità individuali. Per di più, i sostenitori del trusted computing argomentano che alcune necessità richiedano dei cambiamenti a livello hardware per permettere al computer di agire come un client fidato. Terminologia correlata Il progetto in questione è conosciuto con nomi diversi. Trusted computing (informatica fidata) era il nome originale, ed è ancora usato dal Trusted Computing Group (TCG) e da IBM. Microsoft lo ha ribattezzato trustworthy computing (informatica affidabile). Intel ha da poco iniziato a chiamarla safer computing (informatica più sicura). Richard Stallman della Free Software Foundation ha adottato il nome di treacherous computing (infomatica infida). Scenario Una varietà di iniziative ricade all'interno del trusted computing: Un consorzio di industrie che include Microsoft, Intel, IBM, HP e AMD, ha formato un alleanza per l'implementazione del trusted computing, nota come Trusted Computing Platform Alliance (TCPA), poi divenuta Trusted Computing Group (TGC), progettando un modulo chiamato Trusted Platform Module (TPM). Intel sta lavorando ad un modulo chiamato LaGrande Technology (LT), mentre quello di AMD è conosciuto come Secure Execution Mode (SEM) o Presidio. Ma, essenzialmente, ci sono proposte per quattro nuove caratteristiche fornite dal nuovo hardware, che richiede nuovo software (con l'inclusione di nuovi sistemi operativi e nuove applicazioni) per poterle utilizzare. Ogni caratteristica ha uno scopo diverso, anche se possono essere usate insieme. Queste caratteristiche sono: 1. 2. 3. 4. I/O sicuro Memory curtaining Sealed storage Attestazione Remota I/O sicuro L'input output sicuro (i/o secure) è tale quando viene autenticato usando dei codici di controllo per verificare che il software utilizzato per l'I/O non sia stato alterato. Il malware che si inserisce in questo percorso può essere identificato. Questo sistema non è capace di difendere contro un attacco hardware, come un dispositivo che memorizza i tasti premuti, posto tra la tastiera dell'utente ed il computer. Memory Curtaining Il memory curtaining (piantare la tenda sulla memoria) prevede che lo hardware impedisca ad ogni programma la lettura e la scrittura negli spazi di memoria (in cui i programmi "parcheggiano" i dati che stanno elaborando) degli altri applicativi in esecuzione. Nemmeno il sistema operativo potrebbe accedere alla memoria, quindi le informazioni sarebbero sicure anche nel caso in cui un intruso riesca a prendere il controllo del sistema. Qualcosa di molto simile può essere ottenuto anche con nuovi software, ma l'approccio hardware fornisce una soluzione più elegante ed affidabile. Può anche rendere impossibili alcuni metodi di debugging. Sealed storage Il sealed storage (unità di memorizzazione digitalmente controllata) protegge le informazioni private consentendone la cifratura usando una chiave derivata dal software e dallo hardware utilizzato. Questo significa che i dati possono essere letti solo dalla stessa combinazione di software ed hardware. Per esempio, gli utenti che utilizzano un diario privato sul proprio computer non vogliono che altri programmi o altri computer siano in grado di leggerlo. Oggi, un virus può cercare il diario, leggerlo e inviarlo a qualcun altro. Il virus Sircam faceva una cosa simile a questa. Anche se il diario era protetto da una password, il virus poteva lanciare un attacco basato su un dizionario. Alternativamente il virus poteva modificare il software del diario dell'utente per ottenere il testo una volta sbloccato il diario. Usando il sealed storage, il diario è cifrato con sicurezza in quanto solo il programma del diario non modificato e presente sul suo computer può leggerlo. Attestazione remota L'attestazione remota (remote attestation) permette all'utente e ad altri di rilevare le modifiche apportate al computer dell'utente. In questo modo, l'utente può evitare che siano inviate informazioni private ad un computer compromesso o non sicuro, o che da questo siano ricevuti comandi importanti. Il servizio si basa su un certificato, generato dall'hardware che attesta quali software sono in esecuzione al momento sul pc. L'utente puo' presentare tale certificato ad un gruppo remoto per mostrare che il suo computer non è stato compromesso. L'attestazione remota è di solito combinata con la cifratura a chiave pubblica, in modo che le informazioni scambiate possano essere lette soltanto dai programmi che hanno richiesto e presentato malintenzionati. l'attestazione, e non dai Per riprendere l'esempio dell'agenda, il programma di agenda dell'utente potrebbe inviare l'agenda ad altri pc soltanto se essi sono in grado di attestare l'esecuzione di una copia sicura del programma che riceve i dati. Combinata con altre tecnologie, l'attestazione remota fornisce un percorso più sicuro per i dati: l'I/O sicuro li protegge in fase di digitazione sulla tastiera e di visualizzazione sullo schermo, il memory courtaining mentre questi vengono elaborati, il sealed storage quando vengono salvati sullo hard disk; infine l'attestazione remota protegge i dati dal software non autorizzato anche quando questi vengono utilizzati su altri pc. Controindicazioni Gli oppositori del trusted computing sostengono che le funzionalità che proteggono i computer dai virus e da eventuali attacchi esterni di malintenzionati vanno anche a limitare le possibilità dei proprietari dei pc. Questo apre le porte a nuovi stratagemmi contro la normale concorrenza e potenzialmente danneggiare chi compra un pc "fidato". Il crittografo di Cambridge Ross Anderson teme che "il TC supporti la censura da remoto. Generalmente, gli apparecchi digitali progettati e costruiti per usare sistemi TC rimangono sotto il controllo delle aziende che li hanno costruiti anziché sotto quello del proprietario della piattaforma su cui questi sistemi vengono montati. Così qualcuno che scrive un documento che una corte giudicasse diffamatorio potrebbe essere obbligato a censurarlo e se lui si rifiutasse di farlo la compagnia produttrice del software con cui è stato scritto il documento potrebbe esser tenuta a cancellarlo (sotto un ordine della corte). Con queste possibilità noi possiamo aspettarci che i sistemi TC vengano usati per cancellare o nascondere... testi che contestano leader politici". Continua affermando che: "... i fornitori di software potrebbero rendere molto difficile il passaggio a prodotti dei loro concorrenti. In parole povere, Word potrebbe criptare tutti i tuoi documenti con chiavi a cui solo i software Microsoft hanno accesso; questo vorrebbe dire che potresti aprili soltanto con prodotti Microsoft, e non con un qualsiasi concorrenza. programma per testi appartenente alla "... il maggior beneficio per Microsoft è che il sistema TC aumenterà notevolmente i costi di passaggio da un prodotto Microsoft (come Office) a uno concorrente (come OpenOffice). Per esempio, uno studio legale che volesse passare da Office a OpenOffice ora come ora dovrebbe solo installare il software, istruire i dipendenti e convertire i loro documenti. In un margine di cinque anni, una volta che loro abbiano ricevuto documenti digitalmente protetti con il TC da magari mille clienti diversi, dovrebbero ottenere il permesso (sotto forma di certificato digitale firmato) da ognuno di quei clienti per poter convertire i loro file in un nuovo formato. Lo studio legale per motivi pratici non lo farà, così che sarà ancora più costretto in questa direzione, e ciò darà a Microsoft la possibilità di alzare i prezzi dei suoi prodotti". Anderson riassume il discorso dicendo "Il punto fondamentale è che chiunque controlli l'infrastruttura TC acquisirà un enorme potere. Avere il controllo di questo è come far sì che tutti usino la stessa banca, o lo stesso provider, o lo stesso avvocato. Ci sono molti modi in cui abusare di questo potere". Gli utenti non possono cambiare software Nell'esempio del diario, un hard disk sigillato protegge il diario da malware come i virus, ma non fa distinzione con i programmi utili, come quelli che potrebbero essere usati per convertire il diario in un nuovo formato, o implementare nuovi metodi di ricerca all'interno del diario. Un utente che volesse cambiare il software per il proprio diario con uno alternativo potrebbe incontrare problemi come l'impossibilità del nuovo diario di leggere le pagine del vecchio perché queste potrebbero essere accessibili solo con il software che aveva precedentemente. Potrebbe anche diventare impossibile per l'utente leggere o modificare il proprio diario se non con l'autorizzazione del software del diario. Se lui nel suo diario non aveva la possibilità di modificare o eliminare delle pagine, con il nuovo queste operazioni potrebbero risultare impossibili. L'autenticazione remota potrebbe causare altri problemi. Attualmente i siti web possono essere visitati con diversi browser, però alcuni siti possono esser impaginati (volontariamente o meno) in modo che qualche browser non sia in grado di decifrarne il codice. Gli sviluppatori però hanno trovato il modo di aggirare questo problema facendo emulare questo o quel browser a seconda delle necessità del sito visitato. Per esempio, quando il sito MSN di Microsoft non faceva semplicemente vedere le pagine ai browsers non Microsoft, gli utenti potevano accedere a quelle pagine impostando il loro browser per emularne uno Microsoft. Un sistema di autenticazione remota potrebbe rendere inutile ogni tipo di emulazione, così siti come MSN potrebbero richiedere un certificato per essere sicuri che in quel momento tu stia usando un browser di loro proprietà. Gli utenti non hanno il controllo delle informazioni che ricevono Una delle motivazioni originarie dietro al trusted computing era il desiderio di supportare in modo più rigoroso l'amministrazione dei diritti digitali (Digital Rights Managment, DRM): una tecnologia per evitare che gli utenti condividano e utilizzino, senza autorizzazione, file coperti da copyright o privati. Microsoft ha annunciato una tecnologia DRM che farà uso del trusted computing. Il trusted computing può essere usato per il DRM. Un esempio potrebbe essere il download di un file musicale di un artista: gli artisti potrebbero fornire delle regole su come la loro musica possa essere utilizzata. Per esempio, potrebbero volere che l'utente abbia la possibilità di eseguire il file solo tre volte al giorno, senza spendere altri soldi. Inoltre potrebbero usare un'attestazione remota per inviare la loro musica solo ad un lettore musicale capace di far rispettare le loro regole: il sealed storage impedirebbe all'utente di aprire il file con un altro lettore non capace di rispettare le restrizioni o di fare una copia senza restrizioni del file mentre è in esecuzione. Il secure output impedirebbe di catturare ciò che è trasmesso al sistema sonoro. Una volta che le registrazioni digitali sono state convertite in segnali analogici, i segnali (probabilmente qualitativamente peggiorati) potrebbero essere registrati nel modo convenzionale, ad esempio connettendo la scheda audio ad un registratore, al posto delle casse, oppure registrando il suono ottenuto tramite un microfono. Senza l'attestazione remota, questo problema non esisterebbe. L'utente potrebbe semplicemente scaricare la canzone con un lettore che non rispetta le restrizioni dell'artista, oppure che permette la conversione della canzone in un formato "senza restrizioni" come l'MP3. Gli utenti non hanno il controllo dei propri dati Se un utente aggiorna il proprio computer, il sealed storage potrebbe impedirgli di spostare i suoi file musicali nel nuovo computer. Potrebbe anche imporre l'uso di software spia, in modo che i file musicali vengono abilitati soltanto ad utenti i cui pc sono in grado di avvisare l'artista o la casa discografica ogni volta che la canzone viene riprodotta su quel pc. Analogamente un giornale potrebbe richiedere che, per poter scaricare i suoi articoli, il pc dell'utente attesti di leggerli usando uno specifico programma. A sua volta il software di lettura potrebbe essere programmato per impedire la lettura di articoli che nel frattempo sono stati modificati sul sito web del giornale. Questo "obbligo della nuova versione" permetterebbe al giornale di "riscrivere la storia" cambiando o cancellando degli articoli. Anche se un utente ha salvato sul proprio pc l'articolo originale, il software potrebbe rifiutarsi di visualizzarlo, una volta che ne sia stato annunciato il cambiamento. Perdita dell'anonimato su Internet Poiché un computer equipaggiato per il TC è in grado di attestare la propria identità, sarà possibile per i venditori, ed altri capaci di sfruttare la funzionalità dell'attestazione, ottenere dati sull'identità dell'utente di quel computer con un alto grado di precisione. Questa capacità è condizionata alla ragionevole probabilità che l'utente, in un certo momento, fornisca delle informazioni di identificazione, volontariamente o indirettamente. Un sistema comune per ottenere e collegare queste informazioni è la registrazione, da parte dell'utente, del suo computer appena dopo l'acquisto. Un altro sistema è la comunicazione delle informazioni di identificazione ad un sito internet di un affiliato al venditore. Con le nuove tecnologie di identificazione come quelle biometriche e RFID, sempre più diffuse, è previsto che gli utenti del computer vengano identificati con molta accuratezza, e che sia disponibile un numero maggiore di informazioni su di loro. Mentre chi propone il TC crede che gli acquisti online e le transizioni di denaro possano essere più sicure, come conseguenza dell'attestazione remota, questo potrebbe causare la perdita dell'aspettativa di anonimato da parte dell'utente durante l'utilizzo di Internet. I critici pensano che questo potrebbe avere degli effetti di congelamento su diversi fronti, quali la libera discussione politica, l'abilità dei giornalisti di utilizzare fonti anonime, la denuncia di cattive prassi, i blog politici e altre aree dove il pubblico ha tradizionalmente goduto della protezione dell'anonimato contro le rappresaglie. La proposta di implementare l'Owner Override sul TC Tutti questi problemi nascono perché il Trusted Computing protegge i programmi da tutto, persino dal proprietario. Una semplice soluzione di questo problema è quella di lasciare al proprietario dell'elaboratore la possibilità di modificare queste protezioni. Questa operazione è denominata Owner Override (controllo manuale del proprietario) ed attualmente è abbozzata soltanto come un suggerimento di modifica. Quando viene attivata la Owner Override, l'elaboratore utilizza il percorso sicuro di I/O per assicurarsi che ci sia fisicamente una persona presente e che tale persona sia il proprietario dell'elaboratore. Così sarà possibile aggirare le protezioni. In questo modo, con l'attestazione remota, è possibile forzare l'elaboratore a generare attestazioni false, ad esempio: certificati che indicano usiate Internet Explorer, quando in realtà state usando FireFox. Invece di riportare quando il software è stato modificato, l'attestazione remota indicherà quando il software è stato cambiato senza il permesso del proprietario. Mentre sembrava che l'idea del Owner Override sarebbe stata approvata favorevolmente, alcuni membri del TCG hanno invece dipinto questa modifica come la potenziale rovina del movimento TC. La Owner Override fa venire meno l'intera idea di potersi fidare ciecamente degli elaboratori degli altri utenti. La Owner Override continuerebbe a fornire tutti i benefici di sicurezza e di esecuzione sulla propria macchina, ma perderebbe tutta la capacità di accertare che un altro proprietario non abbia modificato le regole o le restrizioni sulla sua macchina. Ad esempio quando viene spedito un dato verso l'elaboratore di qualcun altro, qualunque sia tale dato (il tuo diario, un file musicale, un contratto, ...), il ricevente potrebbe controllare e quindi modificare quale sicurezza i loro elaboratori dovranno far rispettare durante l'operazione di copia di quei dati. Appendice Q: Le FAQ di Ross Anderson Riportiamo qui di seguito le FAQ del Professor Ross Anderson nella loro versione italiana. Questo documento è stato rilasciato sotto licenza GFDL (GNU Free Documentation License) e può essere quindi redistribuito e copiato liberamente. L'autore e l'editore di questo libro si associano al Professor Ross Anderson nel desiderio di mantenere libera la circolazione dell'informazione e garantiscono a chiunque sia interessato il diritto di riutilizzare questa sezione del testo secondo le norme previste dalla stessa licenza GFDL utilizzata all'origine. 'Trusted Computing' Frequently Asked Questions - TC / TCG / LaGrande / NGSCB / Longhorn / Palladium / TCPA Versione 1.1 (Agosto 2003) Ross Anderson Traduzione italiana: Mauro Sandrini Questo documento viene rilasciato rispettando le specifiche della licenza GNU Free Documentation License. Di seguito compaiono i link alle traduzioni in Inglese Tedesco, Spagnolo, Olandese, Cinese, Norvegese, Svedese, Finlandese, Ungherese, Ebraico e Francese. Visita inoltre la pagina su Economia e Sicurezza che fornisce molte informazioni di base sui temi qui trattati. 1. Cos'è il 'TC', questo business che si occupa di 'trusted computing' (informatica sicura/fidata) ? Il Trusted Computing Group (TCG) è un alleanza di Microsoft, Intel, IBM, HP ed AMD per promuovere per computer più 'sicuri'. La loro definizione di sicurezza è controversa; macchine costruite rispettando le loro specifiche saranno più 'fidate' dal punto di vista dei venditori di software e di contenuti, ma lo sarebbe meno dal punto di vista dei proprietari dei computer stessi. A tutti gli effetti, le specifiche TCG, trasferiranno il controllo definitivo del tuo computer da te stesso a chiunque abbia scritto il software che utilizzi. (Molto di più di ciò che succede ora.) Il progetto TCG è conosciuto con vari nomi. `Trusted computing' è stato il primo ed è tutt'ora utilizzato da IBM, mentre Microsoft lo definisce `trustworthy computing' e la Free Software Foundation `treacherous computing' (informatica traditrice). D'ora in avanti lo chiameremo TC in modo che ciascuno possa pronunciarlo come meglio vuole. Altre definizioni che potrai incontrare includono il TCPA (era il nome del TCG prima che questo lo incorporasse dopo cambio organizzativo), Palladium (il vecchio nome dato da Microsoft alla sua versione da rilasciare nel 2004) e NGSCB (il nuovo nome usato da Microsoft). Intel ha appena iniziato a chiamare ciò `safer computing' (informatica sicura). Molti osservatori sono convinti che questa confusione sia voluta - i promotori vogliono deviare l'attenzione da quello che TC realmente fa. 2. Quali sono le funzioni del TC in parole povere? La funzione principale di questo sistema è di fornire una piattaforma informatica che non permetta di modificare i programmi utilizzati dall'utente. Le applicazioni che gireranno su questo sistema, inoltre, saranno in grado di comunicare in modo sicuro col produttore. L'obiettivo originale era quello di gestire il copyright per i beni digitali. Il digital rights management (DRM): Disney sarà in grado di vendere DVD che saranno leggibili solo al momento dell'esecuzione su una piattaforma TC, ma che non sarà possibile copiare. Anche l'industria della musica sarà in grado di vendere brani scaricabili da Internet che non sarà possibile copiare. Sarà possibile vendere CD che l'acquirente potrà ascoltare solo tre volte, oppure solo nel giorno del tuo compleanno. Si apriranno un'infinità di nuove vie per il marketing di beni e servizi. Il TC renderà molto difficile utilizzare software senza licenza. Nonostante Microsoft abbia più volte negato ciò, al WEIS 2003 un senior Microsoft manager ha rifiutato di negare che combattere la pirateria fosse un obiettivo: 'Aiutare la gente ad utilizzare software rubato non è esattamente il nostro scopo di vita', ha affermato. I meccanismi ora proposti sono sottili. TC proteggerà il sistema di registrazione di modo che il software non licenziato venga escluso dal nuovo ambiente. Inoltre , le applicazioni TC funzioneranno meglio con le altre applicazioni TC, in modo che le persone non possano ottenere il massimo dalle applicazioni non-TC (comprese quelle pirata). Inoltre alcune applicazioni TC potranno rifiutare dati da vecchie applicazioni i cui numeri di serie siano stati registrati in apposite blacklist. Per esempio se Microsoft crede che la tua copia di Office sia una copia pirata, e il tuo comune adotta il TC, allora i documenti che ti può capitare di scambiare con l'amministrazione possono non essere leggibili. TC permetterà anche di rendere più semplice la possibilità di affittare il software anzichè acquistarlo; e se decidi di smettere di pagare l'affitto ciò non solo farà si che il software smetta di funzionare ma questo potrà succedere pure ai file che hai creato tramite esso. Cosi se smetti di pagare gli aggiornamenti a Media Player puoi perdere l'accesso a tutta la musica che hai acquistato nel corso del suo utilizzo. Bill Gates ha sognato per anni di trovare il modo per far si che i Cinesi paghino per il software: il TC potrebbe essere la risposta alle sue preghiere. Ci sono molte altre possibilità: i Governi potranno far si che tutti i documenti Word creati sui PC dell'amministrazione siano classificati come `riservati' e non possano essere forniti elettronicamente ai giornalisti. I siti d'Aste potrebbero forzare gli utenti ad utilizzare software considerato sicuro per le offerte, in modo da impedire offerte 'tattiche' durante l'asta. I "trucchi" ai videogames potrebbero essere resi molto più difficili. Ci sono però, altri aspetti: TC può supportare una una censura da remoto. Nella forma più semplice questo potrà servire per progettare applicazioni in grado di eliminare la musica piratata. Per esempio una canzone che provenga da un server TC e sia disponibile sul web come mp3 potrà essere riconosciuta tramite un watermark (marchio digitale), trasmessa la sua presenza al server remoto, dopodichè verranno emanate le istruzioni per la sua rimozione (cosi come quella di altro materiale presente su quella macchina). Questo modello di business denominato 'traitor tracing' (tracciare i traditori) è stato studiato estensivamente da Microsoft (ed altri). In generale, oggetti digitali creati usando TC rimarrano sotto il controllo dei creatori piuttosto che sotto il controllo della persona che è proprietaria della macchina su cui sono presenti il quel momento. Così chiunque scriva un articolo che un tribunale decida essere diffamatorio potrà essere obbligato a censurarlo - e l'azienda di software che abbia prodotto il word processor utilizzato per scriverlo potrà essere obbligata ad eliminarlo nel caso l'autore rifiuti. Dato ciò possiamo attenderci che TC possa essere utilizzato per sopprimere qualsiasi cosa dalla pornografia a scritti che critichino leader politici. Per il mondo del business questa funzionalità è importante perchè può rendere molto difficile per l'utente passare ad un prodotto della concorrenza. Ad un livello elementare Word potrà criptare tutti i tuoi documenti adottando chiavi cui solo i prodotti Microsoft abbiano accesso. Ciò significa che sarà possibile leggerli esclusivamente utilizzando prodotti Microsoft e non con qualsiasi elaboratore di testi concorrente. Questo spudorato lock-in (blocco) dei consumatori potrà essere proibito dalle autorità che regolano la concorrenza ma ci sono altre strategie di lock-in più sottili che sono molto più difficile da verificare (ne parlerò più avanti). 3. In questo modo non potrò più ascoltare gli MP3 sul mio PC? Con gli attuali MP3, dovrebbe essere possibile per i primi tempi. Microsoft afferma che TC non farà cessare il funzionamento di nulla dall'oggi al domani. Ma un recente aggiornamento a Windows Media Player ha causato una controversiadovuta al fatto che gli utenti devono accettare future misure anti-pirateria non meglio specificate, tali misure potrebbero includere misure che cancellino contenuti 'piratati' che venissero rinvenuti sul tuo computer. Bisogna aggiungere che alcuni programmi che permettono agli utenti un maggiore controllo del pc (come VMware e Total Recorder) probabilmente non saranno ammessi tra quelli funzionanti sulla piattaforma TC. Così potrebbe essere necessario utilizzare un diverso lettore di mp3 - in grado di leggere MP3 piratati, ma allora esso non sarà tra i software ammessi fra quelli del TC. E' a discrezione di un'applicazione definire le politiche di sicurezza per i propri file, utilizzando un server remoto accessibile attraverso Internet, per la gestione di tali politiche. In questo modo il Media Player potrà determinare a quali condizioni sono sottoposti i titoli protetti, c'è da aspettarsi che Microsoft metta in atto ogni tipo di accordi con i fornitori di contenuti, che sperimenteranno le strategie più stravaganti. Sarà possibile ottenere CD ad un terzo del prezzo ma che si potranno ascoltare solo 3 volte; pagando i rimanenti due terzi si otterranno i diritti completi. Sarà possibile prestare musica ad un amico ma la tua copia di backup non funzionerà finchè il tuo amico non ti restituirà la copia principale. Oppure, più probabilmente, non sarà possibile prestare musica in nessun caso. Queste politiche renderanno la vita difficile per qualcuno; per esempio una codifica regionale potrebbe impedire di guardare la versione Polacca di un film se il tuo PC è stato acquistato fuori dall'Europa. Tutto questo potrebbe essere già fatto oggi - a Microsoft servirebbe solo poter scaricare la nuova patch nel tuo media player - e una volta che TC rendesse difficile per i singoli gestire il proprio software lettore di mp3, sarà più facile per Microsoft e l'industria della musica controllare gli aggiornamenti e le patch. Sarà più difficile sfuggire al sistema. Il controllo del software per il media player è così importante che l'antitrust dell'Unione Europea sta proponendo di penalizzare Microsoft per i suoi comportamenti anticompetitivi obbligandola a scorporare il Media Player oppure di includere i sistemi dei concorrenti entro Windows. TC aumenterà enormemente le modalità di controllo dei media. 4. Come funziona il TC? TC fornisce le specifiche per i componenti di monitoraggio e reporting che saranno montati nei futuri PC. L'implementazione auspicata prima fase del TC enfatizzava il ruolo del chip 'Fritz' - una smartcard o una chiave hardware - saldata sulla scheda madre. La versione attuale presenta cinque componenti: il chip Fritz, una memoria separata nella CPU, un kernel di sicurezza in ciascuna applicazione TC (il componente 'NCA' nel linguaggio di Microsoft) ed una infrastruttura di back-end di server di sicurezza online gestita dai software vendors per collegare tutti i tasselli insieme. La versione iniziale del TC prevedeva che il chip Fritz supervisionasse il processo di avvio, in modo che il Pc sarebbe stato avviato in uno stato conforme con hardware e software conosciuti. La versione corrente vede Fritz come un componente passivo che memorizza l'hash (numero univoco) della macchina allo start up. Questo hash viene calcolato utilizzando i dettagli dell'hardware (scheda audio, video etc..) e del software (Sistema Operativo, drivers, etc..). Se la macchina termina l'avvio in uno stato approvato, Fritz renderà disponibili al sistema operativoo le chiavi crittografiche necessarie per decrittare le applicazioni ed i dati TC. Se, invece, termina in uno stato non conforme allora Fritz non rilascerà la chiave giusta. La macchina sarà ancora in grado di eseguire applicazioni non-TC ed accedere a dati non-TC ma il materiale protetto resterà inaccessibile. Il kernel deputato alla sicurezza (il 'Nexus') del sistema operativo colma il vuoto fra il chip Fritz ed i componenti di sicurezza delle applicazioni (gli 'NCA'). Si occupa di verificare che i componenti siano sulla lista approvata da TC, che i componenti software siano stati registrati, che nessuno dei numeri seriali sia stato revocato. Se ci sono cambiamenti significativi alla configurazione del Pc la macchina dovrà collegarsi alla rete per essere ri-certificata: il sistema operativo si occuperà di questo. L'esito è che il Pc verrà avviato in uno stato conosciuto con una combinazione di hardware e software approvata (ovvero le cui licenze non sono scadute). Infine, il 'Nexus' lavorerà insieme alla memoria separata nella CPU per impedire ad ogni applicazione TC dal leggere dati di altre applicazioni TC. Queste nuove funzioni sono chiamate `Lagrande Technology' (LT) per le CPU Intel e `TrustZone' per l'ARM. Una volta che la macchina sia in uno stato approvato, con una applicazione TC caricata e difesa da interferenze da altri software, Fritz certificherà questo alle terze parti. Per esempio potrà eseguire un protocollo di autenticazione con Disney per garantire che quella macchina è un contenitore 'sicuro' per Biancaneve. Ciò significa che il Pc sta eseguendo un programma autorizzato - Media Player, Disney Player etc - con il suo NCA correttamente caricato e difeso dalla memoria separata contro debuggers ed altri strumenti che utilizzabili per copiarlo illegalmente. Il server Disney spedirà i dati criptati con una chiave che Fritz utilizzerà per aprirli. Fritz renderà disponibile la chiave solo all'applicazione autorizzata e solo fino a quando l'ambiente resti 'trusworthy' (fidato). Per questo motivo 'trustworthy' è definita in base alle politiche sicurezza scaricate dal server sotto il controllo del proprietario dell'applicazione. Ciò significa che Disney può decidere di rilasciare i suoi contenuti migliori solo al media player i cui autori decidano di accettare certe restrizioni. Ciò potrà includere restrizioni su quale hardware o software utilizzare oppure in quale paese essi siano localizzati. Ciò potrebbe includere un pagamento: Disney potrebbe insistere, per esempio, che l'applicazione raccolga un dollaro ogni volta che il film viene visto. L'applicazione stessa potrà essere affittata. Le possibilità sembrano limitate solo alla immaginazione dei reparti marketing. 5. Per cos'altro potrà essere utilizzato il TC? Il TC può essere utilizzato per promuovere un maggior controllo sull'accesso a documenti confidenziali. Ciò è già disponibile, in forma primitiva, con Windows Server 2003, con il nome di `Enterprise rights management' (Gestione dei diritti aziendali) e la gente sta già sperimentato questo sistema. Un punto centrale è la distruzione automatica dei documenti. A seguito dei contenuti di alcune email imbarazzanti emerse in un recente caso anti-trust, Microsoft ha deciso una politica per cui tutte le email interne vengono distrutte dopo sei mesi. TC renderà questa possibilità disponibile a tutte le aziende che adottino piattaforme Microsoft. (Pensate a come sarebbe stato utile tutto ciò per Arthur Andersen nella gestione caso Enron). TC può essere usato per assicurarsi che i documenti dell'azienda possano essere letti solo su PC dell'azienda stessa a meno che una persona autorizzata decida che essi sono esportabili. Saranno possibili anche controlli molto fantasiosi: per esempio se spedisci un'email imbarazzante per il tuo superiore egli potrà emanare un messaggio per provvedere alla sua cancellazione ovunque esso sia giunto. Sarà possibile anche incrociare i domini: per esempio un'azienda potrà specificare che la sua corrispondenza legale possa essere vista esclusivamente da tre persone nello studio legale e dalle loro segretarie. (Studio legale potrebbe cercare di evitare ciò perchè gli altri componenti dello studio sono responsabili congiuntamente: ci potrebbero essere negoziazioni interessanti sul modo in cui le persone cercheranno di ridurre le tradizionali relazioni di fiducia a relazioni programmate.) Il TC è rivolto inoltre ai sistemi di pagamento. Una delle visioni di Microsoft è che molte delle funzionalità attualmente presenti nelle carte bancarie si potrà spostare verso il software una volta che le applicazioni siano a prova di intrusione. Ciò implicherà che noi pagheremo per i libri letti e la musica ascoltata ad una certa cifra per pagina o per minuto. L'industria della banda larga sta promuovendo questa visione; contemporaneamente alcune persone preveggenti nella industria della musica stanno iniziando a preoccuparsi del fatto che Microsoft possa acquisire una percentuale delle loro vendite. Nonostante i micropagamenti non funzionino come modello di business - ed esistono alcuni argomenti persuasivi sul perchè - ci saranno cambiamenti enormi nei pagamenti online con l'effetto di far pagare di più il consumatore. Se, nel giro di dieci anni, non sarà conveniente acquistare online con una carta di credito a meno che non utilizzi una piattaforma TC allora sarà davvero dura per gli utenti Mac e GNU/linux. L'attenzione che i governi dedicano al TC risiede nel fatto che l'ERM (Enterprise Rights Management) può essere usato per realizzare un 'controllo di accesso vincolante' - rendendo le decisioni sul controllo di accesso indipendenti dalle scelte dell'utente ma fondate esclusivamente sul suo ruolo. Per esempio un esercito potrà disporre che i suoi soldati possano creare documenti Word siglati ad un livello di riservatezza 'Confidenziale' o superiore. In questo modo, i soldati non potranno spedire documenti alla stampa (oppure a casa etc..). Questa rigidità non funziona molto bene in organizzazioni grandi e complesse, a causa del fatto che il controllo di accesso entra nel modo in cui le persone lavorano, ma i governi affermano di volerlo e senza dubbio si scontreranno con le difficoltà inerenti questa opzione. (Il controllo di accesso vincolante può essere invece molto utile per le piccole organizzazioni con una mission molto focalizzata: per esempio un cartello per il commercio della cocaina può disporre che quel foglio elettronico con i dati delle spedizioni dell'ultimo mese possa essere letto esclusivamente da cinque Pc e solo fino alla fine del mese). Dopodichè le chiavi utilizzate per criptarlo scadono e chip Fritz su queste macchine non lo renderà più disponibile ad alcuno. 6. OK, ci saranno vincitori e vinti - Disney potrebbe essere uno dei grandi vincitori, i produttori di smartcard grandi perdenti. Ma di sicuro Microsoft e Intel non stanno investendo cosi tanto su questo progetto per beneficenza. Come intendono rendere profittevole questo business per loro stessi? Per Intel, che ha dato il via a tutto il processo legato al TC, è stata una mossa difensiva. Poichè essi ottengono il massimo del valore dal mercato dei microprocessori, ed hanno la maggior parte del mercato, l'unico modo per crescere è di aumentare le dimensioni del mercato. Essi erano determinati a far si che il Pc divenisse l'hub della futura rete di casa. Se l'entertaiment è la killer application e il DRM sta diventando la tecnologia critica in questo contesto, allora il Pc doveva gestire i DRM oppure essere spazzato via dal mercato home. Microsoft, che sta ora guidando il TC, è stata motivata dalla stessa aspirazione: portare l'entertaiment all'interno del suo impero. Comunque vada essi vincerebbero alla grande se il TC si diffondesse. Ci sono due ragioni. La prima, e meno importante, è che essi saranno in grado di ridurre drasticamente la copia del software. 'Far pagare i cinesi per il software' è sempre stata una grande aspirazione per Bill; con il TC potrà collegare ogni Pc alla singola licenza di Office e Windows, oltrechè escludere le copie illegali di Office fuori dal nuovo universo TC. Il secondo, e più importante, beneficio per Microsoft è che TC incrementerà esageratamente i costi per passare da prodotti Microsoft (come Office) a prodotti concorrenti (come OpenOffice). Per esempio uno studio legale che voglia passare da Office a OpenOffice oggi dovrebbe semplicemente installare il software, formare i dipendenti e convertire i file esistenti. Nel giro di cinque anni una volta che essi abbiano ricevuto documenti protetti con il TC da magari un migliaio di differenti clienti, essi dovrebbero avere il permesso (nella forma di certificati digitali) da ciascun specifico cliente per poter migrare i loro file nella nuova piattaforma. Lo studio legale, in pratica, non vorrà questo, e in questo modo saranno ancora più impediti nel passaggio ad un altro software. In questo modo Microsoft potrà alzare ulteriormente i prezzi. Gli Economistiche hanno studiato l'industria del software concludono che il valore di un business informatico è equivalente al costo totale che hanno i consumatori nel passare alla concorrenza; entrambi sono equivalenti al valore attuale netto dei pagamenti futuri dei clienti del software vendor. Questo significa che un dominatore in un mercato maturo, come Microsoft con i suoi prodotti Office, può crescere più velocemente del mercato solo se esso vincola i suoi clienti molto strettamente. Ci sono vari alcune perplessità riguardo a questa teoria, ma l'idea di base è ben conosciuta tra i capitani dell'industria del software. Ciò spiega il commento di Bill Gates che ` Noi siamo arrivati a ciò pensando alla musica ma poi abbiamo realizzato che le e-mail ed i documenti sono ambiti molto più interessanti'. 7. Da dove vengono queste idee, dal punto di vista tecnico? Il concetto del TC di avviare una macchina in uno stato conosciuto è implicito nei primi Pc dove la ROM era nel BIOS e dove non era presente un hard-disk in cui un virus poteva nascondersi. L'idea di un bootstrap affidabile per le macchine moderne sembra essere apparso per la prima volta in un articolo di Bill Arbaugh, Dave Farber and Jonathan Smith, `` Una Architettura di Bootstrap Sicura ed Affidabile'', nei lavori del IEEE Symposium on Security and Privacy (1997) pp 65-71. Ciò ha portato ad un brevetto statunitense: ``Secure and Reliable Bootstrap Architecture'', U.S. Patent No. 6,185,678, February 6th, 2001. Il pensiero di Arbaugh si è sviluppato a partire dal suo lavoro sulla firmatura del codice presso la NSA nel 1994 e originalmente applicato agli switch ATM in rete. Alla Microsoft hanno inoltre richiesto il brevetto sugli aspetti del sistema operativo. (I testi dei brevetti sono qui e qui.) Ci sono molti lavori preliminari a questi però. Markus Kuhn ha scritto su the TrustNo1 Processor anni fa, e l'idea di base relativa ai sistemi operativi 'affidabili' - di un 'monitor di riferimento' che supervisiona le funzioni di controllo di accesso - risale almeno a un articolo scritto da James Anderson per conto dell' USAF nel 1972. E' stata una caratteristica della filosofia dei sistemi di sicurezza militari USA da allora. 8. Come ciò è legato al numero seriale del Pentium 3? Intel iniziò un programma prototipo verso la metà degli anni '90 che avrebbe inserito le funzionalità del chip Fritz all'interno processore principale del PC, oppure nel chip di controllo della cache verso il 2000. Il numero seriale del Pentium è stato un primo passo in questa direzione. La reazione pubblica avversa sembrò aver causato una pausa nello sviluppo, e indirizzarli verso la costituzione di un consorzio con Microsoft ed altri per cercare di costituire una massa di produttori che dalla sua avesse la forza dei numeri. Il consorzio che venne costituito, il Trusted Computer Platform Alliance (TCPA), fu alla fine inglobato nel TCG ed il suo nome modificato. 9. Perchè chiamare 'Fritz' il chip responsabile della supervisione ? E' stato chiamato cosi in onore del senatore Fritz Hollings del South Carolina, il quale ha lavorato indefessamente al Congresso per rendere il TC un componente obbligatorio per tutta l'elettronica di consumo. (La proposta di Hollings è fallita; egli ha perso la presidenza della commissione del Senato Usa per il Commercio, la Scienza ed i Trasporti ed è in procinto di andare in pensione nel 2004. Ma l'impero ritornerà. Per esempio Microsoft sta spendendo una fortuna a Bruxelles per promuovere una bozza di direttiva sul rafforzamento degli IPR (Intellectual an Property Rights) che è propriamente una roba brutta.) 10. OK, in questo modo TC impedisce ai ragazzi di rubare la musica ed aiuta le aziende a mantenere i dati riservati. Potrebbe aiutare anche la Mafia, a meno che l'FBI ottenga una chiave di accesso riservata, che si può pensare avrà. Ma a parte i pirati, le spie industriali e gli estremisti, chi dovrebbe essere preoccupato per questa storia? Molte aziende sono nella posizione di essere estromesse dal mercato in rapporto diretto a questo processo, come per esempio i fornitori di sistemi di sicurezza. Quando venne lanciato il TC, col nome di Palladium, Microsoft affermò che Palladium avrebbe fermato lo spam i virus e praticamente ogni altra brutta cosa si trovasse nel cyberspazio - se fosse cosi, allora le aziende che producono antivirus, gli spammer, i filtri anti-spam e le aziende che si occupano di firewall e di rilevamento delle intrusioni potrebbero vedersi espropriate del loro pane quotidiano. Ora il clima è un po' cambiato, ma Bill Gates ammette che Microsoft entrerà nel mercato della sicurezza in modo piuttosto aggressivo: "Questo perchè si tratta di un'area in crescita e non vogliamo apparire falsamente modesti rispetto alle nostre intenzioni." Rispetto a cio' le preoccupazioni riguardano gli effetti su competizione e innovazione continuano ad aumentare. I problemi per l'innovazione sono ben spiegati in un recente articolo sul New York Times del noto economista Hal Varian. Ci sono, però, problemi più profondi. La questione fondamentale e' che chiunque controlli l'infrastruttura TC acquisira' un enorme aumento di potere. Gestire questo singolo punto di controllo sarà come far si che ognuno utilizzi la stessa banca, lo stesso commercialista oppure lo stesso avvocato. Ci sono molti modi in cui questo potere potrà essere abusato. 11. In che modo ci potrebbero essere abusi legati al TC? Una delle preoccupazioni è la censura. Il TC è stato progettato dall'inizio per per impedire, da un organismo centrale, l'utilizzo di bit considerati illegali. Il software pirata non verrà eseguito nel mondo TC cosi come il TC renderà il processo di registrazione a prova di intrusione. Ma che ne sarà delle canzoni o dei video piratati? Come si potrà impedire che qualcuno registri una canzone - se necessario con dei microfoni vicino agli altoparlanti di una macchina TC - per poi convertirla in mp3? La soluzione proposta è che il contenuto protetto conterrà una marchiatura digitale e che i media players legali non suoneranno una canzone a meno che essa non contenga il suo certificato digitale. Ma se qualche hacker riuscisse a violare il Fritz chip e a produrre una transazione che 'legalmente' trasferisse la proprietà della canzone? In questo caso entrerebbe in azione la tecnologia per il tracciamento del traditore (traitor tracing technology) per rintracciare da quale PC la canzone è stata prelevata. A questo punto succedono due fatti. Il primo è che il proprietario di quel PC verrà perseguito (Almeno in teoria; infatti questa tecnica non funzionerebbe se i pirati usassero PC violati). In secondo luogo le traccie presenti su quella macchina sarebbero inserite su una lista nera da cui tutti i TC player sarebbero aggiornati di tanto in tanto. Le Blacklist (liste nere) hanno utilizzi che vanno molto al di là della gestione della pirateria musicale. Esse possono essere utilizzate per monitorare tutti i file che quella applicazione apre - come contenuto, come numero di serie dell'applicazione che l'ha creata, o da qualsiasi altro criterio si voglia programmare. L'obiettivo di ciò è che se tutti in Cina utilizzassero la medesima copia di Office non solo si impedirà a questa copia di funzionare in ogni macchina non TC conforme questo farebbe soltanto si che i Cinesi adottassero PC normali anzichè computer TC conformi - ma anche ogni computer TCconforme al mondo rifiuterebbe di leggere i documenti creati utilizzando quella copia pirata. Ciò metterà una enorme pressione sui cinesi. (Un precedente esiste già: quando gli spammer iniziarono ad usare account cinesi, molti ISP americani semplicemente oscurarono la China, di modo che il governo cinese fu costretto a mettere sotto controllo lo spam). I potenziali abusi si estendono molto oltre le tensioni commerciali e le guerre economiche e giungono fino alla censura politica. Mi aspetto che questo avvenga un passo alla volta. All'inizio alcune forze di polizia ben intenzionate eseguiranno un ordine relativo ad una foto pornografica di un bambino, oppure a un manuale su come sabotare i segnali ferroviari. Tutti i computer TC-conformi cancelleranno, o almeno riferiranno su, questi documenti criminali. Dopo di ciò in una causa per diffamazione, oppure in un caso di diritti sul copyright, otterrà una sentenza da una corte civile per la distruzione dei documenti in questione. Magari Scientology invierà sulle blacklist il famoso Fishman Affidavit. La polizia segreta di un dittatore potrà punire l'autore di un testo di un dissidente semplicemente cancellando ogni documento esso abbia creato utilizzando quel certo sistema - il suo nuovo libro, la sua dichiarazione dei redditi, magari anche le cartoline di compleanno dei suoi figli - a dispetto dell'esito giudiziario della vicenda. Nel West una corte potrebbe utilizzare la dottrina per la confisca per 'oscurare' una macchina che sia stata usata come deposito per una foto pornografica di un bambino. Una volta che gli avvocati, la polizia ed i giudici si renderanno conto delle potenzialità di questo sistema la goccia diverrebbe un fiume in piena. L'età moderna è iniziata solo quando Gutemberg inventò la stampa a caratteri mobili in Europa, la quale permetteva di preservare e diffondere le informazioni nonostante i principi ed i preti volessero bandirla. Per esempio quando Wycliffe tradusse la Bibbia in inglese nel 1380/1, il movimento dei Lollardi, che egli iniziò, venne soppresso facilmente; ma quando Tyndale tradusse il Nuovo Testamento nel 1524/5, egli fu in grado di stamparne circa 50.000 copie prima di venir catturato e bruciato sulla pira. Tutto il vecchio ordinamento in Europa collassò e l'età moderna ebbe inizio. Le società che tentano di controllare l'informazione diventano non competitive, e con il collasso dell'Unione Sovietica sembrò che la democrazia liberale ed il capitalismo avessero vinto. Ma ora, TC mette a rischio l'eredità senza prezzo che Gutemberg ci ha lasciato. I libri elettronici, una volta pubblicati, saranno vulnerabili; la corte potrà ordinare di eliminarli e l'infrastuttura TC farà il lavoro sporco. L'Unione Sovietica ha tentato di registrare e controllare ogni macchina da scrivere ed ogni fax. Allo stesso modo il TC tenta di registrare e controllare tutti i computer. Il problema è che ogni cosa sta diventanto informatizzata. Non abbiamo assolutamente idea dell'ubiquità che comporterà, per ognuno di noi, questo meccanismo di controllo dei contenuti. 12. Brutta storia. Ma non posso semplicemente disattivarlo? Certo - a meno che il tuo amministratore di sistema abbia configurato la macchina in modo che il TC sia vincolante - è sempre possibile disattivarlo. E' possibile utilizzare il PC con i privilegi di amministratore ed utilizzare applicazioni non sicure. Comunque resta un piccolo problema. Se disabiliti il TC, il chip Fritz non rilascerà le chiavi necessarie per decriptare i tuoi file ed accedere al tuo conto corrente. Le tue applicazioni TC-conformi non funzioneranno bene o per niente. Sarà come passare da da Windows a Linux oggigiorno; puoi avere maggiore libertà, ma questo comporta avere meno scelta. Se le applicazioni TC saranno più attraenti per la maggior parte delle persone, o saranno più profittevoli per i venditori di applicazioni, semplicemente non potrai utilizzarle - esattamente come molte persone devono utilizzare Microsoft Word semplicemente perchè tutti i loro colleghi ed amici gli spediscono documenti in Microsoft Word. Entro il 2008 è possibile che i costi per disattivare le funzioni TC siano semplicemente intollerabili. Ciò ha interessanti implicazioni per la sicurezza nazionale. Ad un TCG symposium a Berlino, ho provato a spiegarlo in questi termini: nel 2010 il Presidente Clinton potrebbe avere due pulsanti sulla sua scrivania - uno che spedisce missili in Cina ed un altro che spegne tutti i computer in Cina - provate ad indovinare quale dei due spaventa di più i Cinesi? (A questo punto un uditore impertinente ha chiesto: 'E se ci fosse un bottone per spegnere i PC in Europa?'). Tutto ciò potrebbe essere un'esagerazione, ma lo sarebbe di poco. Le politiche tecnologiche e le politiche del potere si sono intrecciate dai tempi dell'impero romano ed i legislatori prudenti non possono evitare di considerare le implicazioni strategiche del TC. Potrebbe essere piuttosto difficile per un governo passare tutti i suoi sistemi informatici da Windows a GNU/Linux all'apice di una crisi internazionale. 13. Allora la politica e l'economia rivestono un ruolo importante in questa storia? Esattamente. I maggiori profitti nei beni informatici e nei mercati dei servizi tendono ad andare alle aziende che possono stabilire piattaforme e controlli di conformità per essi. In questo modo è possibile gestire i mercati dei prodotti/servizi complementari. Un esempio illuminante viene dalle stampanti. Da quando la Xerox N24 è apparsa nel 1996, i produttori di stampanti hanno inserito chip di autenticazione nelle cartuccie di inchiostro, in modo che le stampanti possano riconoscere le cartuccie di terze parti - o ricaricate - e possono rifiutarsi di operare con esse. La questione delle cartuccie sta provocando un conflitto tra USA ed Europa Negli Stati Uniti un tribunale ha emanato per Lexmark un ingiunzione per prevenire la vendita di cartuccie con chips che possano comunicare con le stampanti Lexmark. Nel frattempo, la Commissione Europea ha adottato una Direttiva sui rifiuti elettrici e dei dispositivi elettronici che obbligheranno gli stati membri a disattendere, entro il 2007, le leggi UE sul riciclaggio per le aziende che progettano prodotti con chip per essere sicuri che non verranno riciclati. Cio' non riguarda solo le stampanti. Alcuni venditori di cellulari utilizzano chip incorporati per l'autenticazione che verificano se la batteria del telefono sia originale piuttosto che compatibile. La Sony Playstation 2 adotta un sistema simile per accertarsi che le schede di memoria siano della casa madre piuttosto che di un concorrente a basso prezzo. Lo stesso per la Xbox di Microsoft. Fino ad ora però chiunque abbia voluto entrare in questa competizione sui prodotti compatibili ha dovuto sviluppare la sua propria tecnologia hardware. Ciò può essere economicamente fattibile per i produttori di hardware ma troppo costoso per la maggior parte delle aziende software. TC permettera' ai venditori di applicazioni software di portare le strategie sulla compatibilità al cuore del contenuto. Poichè i venditori di applicazioni controlleranno le politiche di sicurezza sui server, potranno dettare i termini secondo cui qualunque altro software potra cooperare con i propri. All'inizio l'innovazione sul software è stata veloce e cruenta perchè c'erano millioni di PC sul mercato i cui dati ed i cui formati erano comprensibili. In questo modo se ti veniva in mente un modo intelligente di gestire le rubriche ed i contatti potevi scrivere la tua applicazione in modo che potesse interfacciarsi con una mezza dozzina di formati comuni nei PC, nei PDA e nei cellulari, e potevi essere parte del business: c'erano milioni di potenziali clienti. In futuro i proprietari di questi formati saranno tentati di bloccare questi formati adottando il TC (sostenendo che è per 'la tua privacy') e le terze parti non potranno accedere ad essi. Questo sarà pessimo per l'innovazione. Ciò sarà possibile a causa del fatto che il server per le politiche di gestione applica regole arbitrarie su come le altre applicazioni potranno utilizzare i file che l'applicazione TC ha creato. In questo modo una applicazione TC di successo porterà molto più denaro alla software house che la controlla poichè potrà affittare l'accesso alle interfaccie che controlla per qualsiasi cosa il mercato sia disponibile a sopportare. In questo modo la maggior parte degli sviluppatori software produrrà applicazioni TC-conformi; e se Windows sarà il primo sistema operativo a supportare il TC esso otterrà un ulteriore vantaggio competitivo su GNU/Linux e sul MacOS all'interno della comunità degli sviluppatori. 14. Aspetta un momento, la legge permette di reingegnerizzare le interfaccie per mantenere la compatibilità. Non è cosi? Certo, e questo è molto importante per il funzionamento dei mercati di beni e servizi IT; dai un'occhiata a Samuelson e Scotchmer, ``Le leggi e l'economia del Reverse Engineering'', Yale Law Journal, May 2002, 1575-1663. La legge, però, nella maggior parte dei casi ti dà il diritto di provarci, non di avere successo. Tornando indietro a quando la compatibilità significava una gran confusione legata al formato dei file, si tratta di un caso reale - quando Word e Word Perfect stavano combattendo per il dominio, ciascuno cercava di leggere i file altrui e rendere più difficile, per il competitore, di leggere i propri. Con una architettura come il TC il gioco è già finito prima di iniziare; senza l'accesso alle chiavi, o senza un qualche modo di entrare nel chip, non c'è nulla da fare. 15. Il TC può essere violato? Le prime versioni saranno vulnerabili a chiunque abbia gli strumenti e la pazienza di crackare l'hardware (cioè ripulire i dati sul bus tra la cpu e il chip Fritz). In ogni caso, dalla fase 2, il chip Fritz verrà incorporato nel processore centrale e scomparirà dalla scheda madre - chiamiamolo, per es, `Hexium' - e le cose diventeranno molto più difficili. Contendenti seri, ben attrezzati, saranno ancora in grado di crackare il sistema. Comunque diventerà molto più difficile e costoso. Inoltre, in molti paesi, crackare Fritz sarà illegale. Negli USA il Digital Millennium Copyright Act lo impone già, mentre nell'Unione Europea si avrà a che fare con la EU Copyright Directive e, se passerà, la bozza di rafforzamento della direttiva. (In alcuni paesi l'accettazione della Direttiva sul Copyright rende già ora la ricerca sulla criptografia tecnicamente illegale.). Inoltre, in molti prodotti, il controllo di compatibilità viene deliberatamente intrecciato con il controllo di copyright. Il chip per l'autenticazione della Playstation Sony contiene anche l'algoritmo per il DVD, così che chi reingegnerizzasse il prodotto potrebbe essere accusato di violazione di un meccanismo di protezione del copyright e subire le conseguenze del Digital Millennium Copyright Act. La situazione è piuttosto confusa - e questo favorirà le aziende con ampi budget per le spese legali. 16. Quali possono essere gli effetti sull'economia in generale? Le industrie che producono contenuti potranno guadagnare un po' dalla riduzione delle copie illegali - si può prevedere che Sir Michael Jagger diventi un po' più ricco di quel che è già. L'effetto più significativo, però, sarà nel rafforzamento della posizione di chi ha il predominio nei mercati di beni e servizi informazionali a spese dei nuovi entranti. Questo potrà significare una crescita nel mercato dei capitali di imprese come Intel, Microsoft e IBM - ma a spese della innovazione e della crescita generale. Eric von Hippel documenta come la maggior parte dell'innovazione che alimenta la crescita economica non è preventivata dai produttori delle piattaforme di cui sono proprietari ed il cambiamento nei mercati di beni e servizi IT è di solito cumulativo. Concedere a chi ha il predominio nuovi strumenti per rendere la vita più dura per chi cerca di sviluppare nuovi utilizzi creerà ogni tipo di trappole e di incentivi perversi. L'immensa concentrazione di potere rappresentato dal TC favorirà le grandi aziende rispetto alle piccole; le grandi aziende potranno impadronirsi di una quota maggiore di entrate collaterali alle loro attività economiche principali, così come i produttori di automobili impongono ai proprietari di automobili di eseguire la manutenzione solo presso i rivenditori da loro autorizzati. Poichè la maggior crescita occupazionale avviene nell'ambito delle piccole e medie aziende questo può avere conseguenze sul mercato del lavoro. Ci potranno essere vari effetti a livello locale. Per esempio molti anni di sostegno dei governi all'industria europea delle smartcard ha reso forte questo settore industriale, anche al costo di impedire altre tipologie di innovazione tecnologica. I principali esponenti del mondo industriale con cui ho avuto colloqui prevedono che la seconda fase del TC introdurrà le funzionalità del Fritz chip all'interno del processore principale e che questo abbatterà le vendite di smartcard. Vari insider interni alle aziende coinvolte nel progetto TC hanno ammesso personalmente che estromettere i sistemi fondati sulle smartcard dal mercato dell'autenticazione sicura è uno degli obiettivi. Molte delle funzioni che le smartcard consentono ora saranno rimpiazzate dal chip Fritz inserito nel tuo notebook, nel tuo PDA e nel tuo telefono cellulare. Se questa industria venisse fatta fuori dal TC, l'Europa sarebbe un perdente importante in questa competizione. Altri settori dell'industria informatica legata alla sicurezza potrebbero essere, inoltre, gravemente danneggiati. 17. Chi altri sarà sconfitto? Ci saranno molte situazioni in cui gli attuali processi economici collasseranno secondo modalità che permetteranno ai detentori del copyright di generare nuove rendite. Per esempio, di recente ho richiesto l'autorizzazione per destinare un terreno agricolo di mia proprietà a giardino; per far questo ho dovuto fornire al nostro governo locale sei copie di una mappa 1:1250 del terreno. Una volta, chiunque poteva fotocopiare una mappa dalla biblioteca locale. Adesso le mappe risiedono su un server della biblioteca, con un controllo di copyright, ed è possibile ottenere un massimo di quattro copie per ogni foglio. Per un singolo è abbastanza semplice evitare l'inconveniente: ne compri quattro copie oggi e chiedi ad un amico di comprartene le altre due copie domani. Ma le aziende che utilizzano molte mappe finiranno per pagare molto denaro extra alle aziende che gestiscono la titolarità dei diritti sulle mappe. Questo potrebbe essere un piccolo inconveniente; prova a moltiplicarlo per migliaia di situazioni simili ed avrai un idea dell'effetto di ciò sull'economia generale. I trasferimenti di reddito e ricchezza andranno, ancora una volta, dalla piccole aziende verso le grandi e dalle nuove aziende a quelle preesistenti. Un avvocato molto noto nel Regno Unito ha detto che la legge sul copyright è tollerata solo perchè non viene applicata contro la vasta maggioranza dei piccoli che la infrangono. Esistono alcuni casi sfortunati notevoli, però. E' chiaro che le normative sul copyright attese verso la fine dell'anno in Gran Bretagna impediranno ai non vedenti il diritto di utilizzare il software che permette loro di leggere gli e-book sugli schermi tattili normalmente utilizzati. Normalmente una stupidità burocratica come questa non avrebbe grandi conseguenze, poichè la gente semplicemente la ignorerebbe e la politica non sarebbe cosi idiota da perseguire alcuno. Ma se la legislazione sul copyright fosse applicata attraverso un sistema di protezione hardware, questo sistema sarebbe praticamente impossibile da rompere e i non vedenti potrebbero davvero venire esclusi. (Esistono altri gruppi marginali che corrono rischi simili). 18. Accidenti. C'è dell'altro? Si, il TC comprometterà la General Public License (GPL), che regola la distribuzione di molti prodotti software open source. La licenza GPL è pensata per far si che i frutti del lavoro volontario della comunità di sviluppatori sia preservato e non venga scippato da aziende private per motivi di lucro. Ciascuno può utilizzare e modificare il software distribuito sotto questa licenza, ma se vuoi distribuirne una copia modificata devi renderla disponibile a tutti, includendo il codice sorgente, in modo che altri possano effettuare a loro volta le loro modifiche. IBM ed HP pare abbiano iniziato hanno iniziato a lavorare ad una versione di GNU/linux TC-conforme. Questo significa riorganizzare il codice e rimuovere una serie di caratteristiche dal sistema operativo. Per ottenere la certificazione dal consorzio TCG, il proponente dovrà sottoporre il codice reso conforme ad laboratorio di analisi, con allegata una massa di documentazione che dimostra come mai gli attacchi più conosciuti al codice non funzionano. (L'analisi è al livello EA3 - sufficentemente costoso per espellere la comunità del software libero, ma sufficentemente economico per permettere alla maggior parte dei produttori di software commerciale per far superare questa prova al proprio pessimo codice.) Sebbene il codice modificato possa essere coperto dalla GPL, e quindi accessibile a chiunque, non potrà far un completo utilizzo delle caratteristiche TC a meno che tu abbia un certificato ad esso collegato che sia specifico al chip Fritz montato sulla tua macchina. Che è quello che dovrà essere acquistato (magari non all'inizio, forse). Sarà ancora possibile effettuare modifiche sul codice modificato, ma non sarà possibile ottenere un certificato che permetta di accedere, a questo sistema modificato, al sistema TC. Qualcosa di simile accade con linux versione Sony per la Playstation 2; il meccanismo di protezione dalle copie illegali della console previene il poter lanciare file binari modificati, e dall'utilizzare svariate caratteristiche legate all'hardware. Ache se un filantropo producesse un GNU/linux no profit, l'effetto non potrebbe essere una reale versione GPL del sistema operativo TC, ma un sistema operativo proprietario che il filantropo distribuirebbe gratis. (Ma resta la questione di chi pagherebbe per i certificati dell'utente). La gente ha creduto che la licenza GPL rendesse impossibile per un'azienda di rapinare il codice che veniva prodotto della comunità degli sviluppatori. Ciò rappresentava una rassicurazione per le persone che destinavano il proprio tempo libero per scrivere software che andasse a beneficio della comunità. Ma il TC cambia questo. Una volta che la maggioranza dei PC sul mercato fossero TCabilitati, la GPL non funzionerebbe più nel senso originale. Il beneficio per Microsoft non è che questo distruggerà il software libero direttamente. Il punto è questo: una volta che le persone si renderanno conto che anche il software licenziato come GPL potrà essere piratato per scopi commerciali, i giovani, idealistici, programmatori saranno molto meno motivati a scrivere software libero. 19. Immagino che che parecchia gente si arrabbierà rispetto a questo. E' probabile, anche perchè ciò si intreccia con molte questioni politiche - la trasparenza sulla elaborazione dei dati personali garantita nella direttiva UE sulla protezione dei dati; le questioni sulla sovranità di chi abbia l'autorità di regolamentare il copyright - se i governi nazionali oppure, come ora, qualcuno a Portland o a Redmond -; se il TC sarà usato da Microsoft come strumento per eliminare Apache; e rispetto al fatto se la persone si troveranno a loro agio nell'avere il loro computer telecomandato - a tutti gli effetti da remoto, un controllo di cui possono impossessarsi tribunali e agenzie governative senza che il singolo ne venga a conoscenza. 20. Ma il TC non è illegale rispetto alla legislazione antitrust? Negli Stati Uniti forse no. Intel ha affilato una strategia definita di 'leadership di piattaforma', in cui essi guidano gli sforzi industriali per sviluppare tecnologie che rendano i PC più utili, come per esempio le tecnologie a bus PCI e USB. Il loro modus operandi viene descritto in un libro di Gawer e Cusumano. Intel avvia un consorzio per condividere lo sviluppo della tecnologia, come membro fondatore condivide l'utilizzo di alcuni brevetti, pubblica uno standard, aspetta un po' in attesa che si sviluppi, dopodichè lo rilascia all'industria sotto la condizione che i licenziatari in cambio faranno lo stesso con ogni brevetto che interferisca con questo, ad un costo zero, per tutti i membri del consorzio. Il lato positivo di questa strategia è che Intel ha fatto crescere il mercato complessivo dei PC; il lato oscuro è che essi hanno prevenuto qualsiasi concorrente dall'acquisire una posizione dominante in una qualsiasi tecnologia potesse minacciare il loro predominio nell'hardware dei PC. Per esempio, Intel non può permettere che il bus a microchannel di IBM prevalga andando a costituire un elemento competitivo nuovo nella arena del mercato PC, allo stesso modo IBM non ha interesse a far si che le prestazioni di questo componente possano avvicinare i PC ai computer di fascia alta che rappresentano il 'suo' mercato. L'effetto in termini strategici è qualcosa di simile alla pratica degli antichi Romani di demolire tutte le abitazioni ed abbattere tutti gli alberi lungo le strade che portavano ai loro castelli. Nessuna struttura competitiva può essere ammessa nelle vicinanze della piattaforma Intel; tutto deve essere portato alle dimensioni di piccolo orto. Ma anche un piccolo orto, ordinato e gradevole, dal punto di vista delle interfaccie può essere `aperto ma non libero'. L'approccio del consorzio come strategia competitiva si è evoluta come una modalità molto efficace per competere ai margini della normativa antitrust. In questo modo, le autorità non sembrano essere preoccupate riguardo ai consorzi - dato che gli standard sono disponibili a tutte le aziende. Dovrebbero iniziare ad essere un po' più sofisticate per considerare questi giochi sottili. Per esempio in Europa la legge esplicitamente copre i consorzi e la normativa soggetta a restrizioni che probabilmente saranno ancora più vincolanti in futuro. C'è stata una conferenza sul TC a Berlin, organizzata dal Ministro tedesco per l'economia ed il lavoro, il quale ha ascoltato le ragioni di esperti pro e anti TC. Se conosci il tedesco c'è un analisi molto completa di analisi degli aspetti di politica competitiva del Professore Christian Koenig; l'abstract riporta che TC sembra violare le leggi europee sulla competizione in vari campi. Generalmente è consentito a gruppi economici l'esenzione alla legge sui cartelli solo se sono aperti, non discriminatori e i componenti non collegati fra loro. Ovviamente non è il caso del TCG. E' discriminatorio sui non appartenti, la quota di partecipazione rende difficile alle piccole aziende di partecipare, e l'adozione di licenze a pagamento anzichè libere è discriminatorio riguardo il free software. Esistono inoltre molti altri aspetti rispetto al potere di mercato e ai collegamenti fra i mercati. La UE è sul punto di scoprire la colpevolezza di Microsoft nel cercare di estendere il proprio monopolio dai PC ai server attraverso politiche di gestione delle interfaccie non chiare. Se le interfacce potessero essere bloccate attraverso un meccanismo TC, sarebbe molto peggio di come è ora. TC può, inoltre, permettere a Microsost di estendere il suo monopolio sui sistemi operativi alla fornitura di servizi musicali online o a software di gestione dei telefoni cellulari. Comunque, la legge è una cosa, l'obbligo un altro. Per la fine del 2003 la UE dovrebbe aver convinto la Microsoft dei suoi comportamenti anti-competitivi rispetto a Netscape e alle interfacce per i server. Il giudizio però arriverà troppo tardi per resuscitare Netscape o per creare una competizione nel mercato dei browser. Per la fine del 2008 la UE potrebbe aver convinto la Microsoft anche sul TC, ma sarà il 2008. Per allora la nostra società sarà intossicata dal TC, e non sarà più possibile prendere nessuna decisione effettiva. 21. Quando entrerà in produzione il TC ? Lo è già. La specifiche della versione 1.0 sono state pubblicate nel 2000. Atmel sta già vendendo un Fritz chip, ed è possibile acquistarlo già installato nella serie di laptop IBM Thinkpad dal Maggio 2002. Alcune delle caratteristiche presente in Windows XP e nella X-Box sono funzionalità TC: per esempio se tu modifichi, anche minimamente, la configurazione del tuo PC diventa necessario riregistrare tutto il tuo software con Redmond. Inoltre, a partire da Windows 2000, Microsoft ha iniziato a certificare tutti i driver dei dispositivi: se cerchi di caricare un driver non certificato, XP esprime perplessità. L'Enterprise Rights Management è parte di Windows Server 2003. Esiste inoltre un crescente interesse governativo statunitense nella standardizzazione tecnica di questo processo. I kit TC per gli sviluppatori ci è stato detto saranno disponibili da Ottobre 2003. Il treno è già partito. 22. Cos'è TORA BORA? Sembra essere una battuta interna alla Microsoft: dai un'occhiata al annuncio del Palladium. L'idea è che quella `Trusted Operating Root Architecture' ('Architettura Operativa Affidabile di Base', il Palladium cioè) fermerà gli attacchi di tipo `Break Once Run Anywhere' ('Copia Una volta Eseguilo Ovunque'), che significa che il contenuto piratato, una volta sprotetto, può essere pubblicato sulla rete ed utilizzato da chiunque. Sembrano essersi accorti che questa battuta potrebbe venir considerata come uno scherzo di pessimo gusto. Ad una conferenza cui ho partecipato il 10 Luglio 2002 presso il Centro Ricerche Microsoft, lo slogan è stato modificato in `BORE-resistance' ('resistenza-BORE'), dove BORE sta per `Break Once Run Everywhere' ('Copia Una volta Eseguila Dappertutto'). (Per inciso, lo speaker ha definito la protezione del copyright attraverso il watermarking come 'monitoraggio dei contenuti', un termine utilizzato per impedire ai minori di accedere alla pornografia: la macchina delle Pubbliche Relazioni non sapeva davvero quali argomenti utilizzare! Ci è stato detto anche che non avrebbe funzionato a meno di utilizzare un sistema operativo 'affidabile'. Quando gli ho chiesto se questo significava far fuori Linux la risposta è stata che gli utenti Linux dovranno utilizzare il 'monitoraggio dei contenuti'.) 23. Ma la sicurezza dei PC non è una buona cosa? La domanda è: sicurezza per chi? Tu preferiresti non doverti preoccupare dei virus, ma neppure il TC li fermerà: i virus sfruttano il modo in cui le applicazioni software (come per esempio Microsoft Office e Outlook) utilizzano lo scripting. Potresti essere insofferente rispetto allo spamming, ma non sarà possibile eliminare neppure questo. Anche se sei fra coloro che non sopportano lo spamming, questo sistema non potrà eliminare neppure ciò. (Microsoft rivendica che lo spam sarà fermato filtrando tutti i messaggi non firmati - ma è gia ora possibile configurare i client di posta per escludere i messaggi da gente che non si conosce per inserirli in una cartella cui si può velocemente dare un'occhiata una volta al giorno). Neppure se sei fra coloro preoccupati per la tua privacy il TC potrà servire a garantirla: la maggior parte delle violazioni della privacy derivano dall'abuso di accesso autorizzato ed il TC aumenterà gli incentivi per le aziende che vogliono collezionare dati personali su di te. L'assicurazione sanitaria può richiedere che tu autorizzi che i tuoi dati vengano condivisi con il tuo datore di lavoro e che essi possano venderli a chichessia. Tutto ciò non si fermerà solo perchè i PC saranno ufficialmente 'sicuri'. Al contrario sarà possibile che questi fatti avvengano ancor di più proprio a causa del fatto che i computer saranno ufficialmente 'sicuri'. Gli economisti chiamano tutto ciò una 'trappola sociale'. Rendere qualcosa appena un po' meno pericoloso, o far sembrare che lo sia, spesso incita le persone ad usarlo peggio, o con meno attenzione, in modo che il pericolo collettivo aumenta. L'esempio classico è che i guidatori di Volvo hanno più incidenti. Un modo caritatevole di guardare al TC è stato promosso da Roger Needham che ha diretto la ricerca Microsoft in Europa: esistono alcune applicazioni in cui si desidera limitare le azioni dell'utente. Per esempio si potrebbe voler impedire alla gente di intervenire sul contachilometri prima di vendere l'auto. Nello stesso modo, se vuoi gestire i DRM su un PC allora devi considerare l'utente come un nemico. Visto in questi termini il TC non fornisce la stessa sicurezza all'utente e al venditore di PC, al fornitore di software e all'industria dei contenuti. Non aggiunge valore per l'utente, anzi lo distrugge. Si limita ciò che si può fare sul proprio PC per poter disporre di applicazioni e servizi che estraggono più denaro all'utente. Questa è la definizione classica di cartello monopolistico un accordo industriale che modifica i termini del commercio per diminuire il surplus per il consumatore. 24. Ma allora perchè viene chiamato 'Trusted Computing' (Informatica affidabile, degna di fiducia' ? Non c'è nessun motivo per fidarsene! E' più che altro una barzelletta ad uso interno. Per il Dipartimento della Difesa USA, infatti, un `sistema o componente affidabile' viene definito come `un sistema in grado di rompere le politiche di sicurezza'. Potrebbe sembrare contradditorio, ma fermati un attimo a pensare. Il sistema di protezione della posta, o il firewall, si pongono fra un sistema di segretezza ed un altro di sistema di segretezza ancora maggiore (Top Secret) - se fallisce - significa che quel messaggio dovrà passare esclusivamente verso il livello Top Secret ma, mai, nella direzione inversa. E' per questo che viene definito affidabile: per rafforzare il flusso delle politiche di gestione dei flussi di informazioni. Prendiamo un esempio dalla vita quotidiana, non un caso militare: supponiamo che ti fidi del tuo medico riguardo al fatto che mantenga riservate le tue analisi. Questo significa che egli ha accesso ad esse, in modo che potrebbe divulgarli alla stampa se fosse in malafede. Tu non ti fidi di me per la conservazione delle tue analisi; ma sia che io ti voglia bene o sia malintenzionato nei tuoi confronti, non posso fare proprio nulla per influenzare la tua politica secondo cui i dati delle tue analisi devono restare confidenziali. Il tuo medico, però, può; ed il fatto che egli si trovi in una posizione che potrebbe ferirti è esattamente quello che si intende (a livello di sistema) quando dici che ti fidi di lui. Puoi provare molta simpatia per lui, oppure ti fidi solo perchè è l'unico medico dell'isola dove vivi; non cambia la situazione, il Dipartimento delle Difesa USA semplicemente elimina questi aspetti, confusi ed emotivi, dalla definizione di 'fiducia' (e questo può confondere la gente). Durante la fine degli anni 1990, durante un dibattito sul controllo da parte dei governi della crittografia, Al Gore propose una `Terza Parte Affidabile' - un servizio che avrebbe tenuto al sicuro una copia della tua chiave per la decriptazione, in caso che tu (oppure l'FBI, o la NSA) ne avreste avuto bisogno. Il nome è stato deciso con lo stesso esercizio di marketing che vedeva la colonia russa dell'Est della Germania chiamarsi 'Repubblica Democratica'. Ma, in realtà, suona allineato con la filosofia del Dipartimento della Difesa. Una Terza Parte Affidabile è qualcuno in grado di rompere la tua politica di sicurezza. 25. Allora un 'Trusted Computer' è un computer che può violare la mia sicurezza? Questo è un modo molto gentile per dire come stanno le cose. Ross Anderson Traduzione italiana:Mauro Sandrini Approfondimenti ulteriori in ordine cronologico approssimativo a partire dal luglio 2002 • Questo è un link alla prima versione di questa FAQ, versione 0.2 (in inglese) , e un link alla versione 1.0 (in italiano), che è stata online dal Luglio 2002 fino all'Agosto 2003. • Prima diffusione delle notizie sul TCPA a partire dalla fine del 2002, sono passati articoli su ZDNet, sulla BBC, Internetnews, PBS, O'Reilly, Linux Journal, Salon.com, e Extremetech. Questi sono i commenti in un seminario ad Harvard di Larry Lessig sulla questione. Ci sono una storia riportata da un ex dipendente di Microsoft su come è avvenuto il lancio di Palladium, un paio di blog (qui e qui) di Seth Schoen su un incontro riguardo a Palladium tra MS e EFF. L'Unione Europea ha iniziato a prendere nota, ed il rumore che abbiamo fatto ha cominciato a preoccupare analisti del mercato di PC in Australia. C'è stato un intervento del CyberZar di Bush, Mr. Richard Clark in favore del TCPA (p. 12); alla stessa conferenza il CEO di Intel Craig Barrett ha affermato che il governo dovrebbe lasciare gestire i DRM all'industria piuttosto che imporre una soluzione (p. 58). Questo potrebbe spiegare almeno in parte questa storia riguardo a Intel che si opponeva alla proposta Hollings, mentre contemporaneamente promuoveva il TCPA. C'è anche un'email di Bill. • Molte questioni relative al TC sono già state anticipate da Richard Stallman nel suo famoso articolo Il diritto di leggere. • L'inventore del TC, Bill Arbaugh, ha avuto qualche ripensamento ed ha effettuato alcune proposte su come il TC potrebbe essere modificato per mitigare i suoi effetti peggiori, per esempio concedendo agli utenti di caricare i propri certificati sicuri oppure di poter spegnere completamente gli effetti del chip Fritz. • Lucky Green è stato uno dei primi TC insider, che in seguito si è un po' pentito. Le slide del suo intervento a Def Con sono disponibili sul suo sito. • In questo scambio avvenuto sulla lista dei criptografi, Peter Biddle, direttore tecnico di TC per Microsoft, spiega alcune delle modifiche avvenute tra le versioni 1.0 ed 1.2. (Riassumendo in breve: nel TC 1.0, una macchina che stesse eseguendo un processo 'trusted' ed iniziasse un processo 'untrusted' avrebbe terminato il processo 'trusted' e ripulito la memoria. Ciò avrebbe reso il TC inutilizzabile in pratica per il modo con cui è implementata oggi la gestione dei processi. E' stato necessario quindi espandere le specifiche e far si che Intel portasse il processo 'trusted' all'interno di una memoria separata in modo che applicazioni 'trusted' ed 'untrusted' possano venire eseguite contemporaneamente sullo stesso PC. • Un post da parte di John Gilmore alla lista cypherpunks, ed ulteriori commenti di Adam Back, Seth Schoen ed altri. • Un commento di Bruce Schneier; alcune polemiche iniziate da Bill Thompson, che sembra davvero credere che il mondo del trusted computing sarà davvero libero da virus e da spam oltre che permettere agli utenti la possibilità di esercitare i propri diritti. Ma anche alcune reazioni ... • Microsoft ha rilasciato una FAQ su Palladium nell'Agosto 2002 in cui si rimangiava le precedenti dichiarazioni sul fatto che sarebbero stati fermati spam e virus. • Nel Settembre 2002, Intel ha annunciato LaGrande. Questo chip sarà il successore del Pentium 4 e supporterà la 'memoria separata' necessaria per le versioni di TC dalla 1.2 in poi. E' stato annunciato E' stato chiamato come una città nell'Est dell'Oregon. Le reazioni iniziali sono state ostili. I gruppi per le libertà civili hanno iniziato a muoversi qui è apparsa una pagina web di EPIC, per esempio. • In Ottobre 2002 c'è stato un articolo su Linux devices riguardo i problemi che il TCPA potrebbe causare ai sistemi embedded, ed un articolo su una rivista tecnica tedesca. Ma l'evento più importante del mese è stata la denuncia del TC da parte di Richard Stallman. Due traduzioni in francese, qui e qui. La Francia sta iniziando a porre attenzione al problema. Anche una traduzione italiana qui • Il 7 di Novembre c'è stato un dibattito pubblico sul TCPA tra i sostenitori (Microsoft, HP, Infineon) ed i ragazzacci (Alan Cox and me). C'è stata una copertura TV (attualmente non più presente sul sito web di Channel 4), ed un dibattito più breve a Cambridge il giorno seguente ad uno dei nostri incontri del security group. • In Novembre, TC ha iniziato il suo percorso verso la fantascienza - nell'ultima storia breve di Cory Doctorow. • L'interesse Francese ha continuato a crescere nel gennaio 2003, con questo articolo su Le Monde. • L'evento principale in Gennaio, comunque, è stata la proposta TC di Microsoft's, di rinominare Palladium. La prima regola dei comunicatori, quando hanno un problema fra le mani, è di cambiargli nome! Cosi Palladium è attualmente conosciuto come NGSCB - che sta per `Next Generation Secure Computing Base'. • Nel Febbraio 2003, Microsoft ha annunciato che avrebbe rilasciato molte caratteristiche TC all'interno di Windows 2003 Server nel corso dell'anno, includendo i meccanismi di Rights Management un sistema per cui un'email può evaporare sulla macchina del destinatario dopo 30 giorni. Sono sistemi ancora a livello software, e quindi possono essere eliminati con patch software (sebbene questo sia illegale negli USA). Comunque è iniziato il processo di introduzione sul mercato delle funzionalità di lock-in in attesa delle funzionalità TC integrali. Commenti a ciò si trovano su Geek News, VNUnet e Zdnet. • In Aprile, i rinomati crittografi Whit Diffie e Ron Rivest hanno denunciato il TC alla conferenza RSA. • In Maggio, il TCPA è stato rilanciato come TCG (il Trusted Computing Group, annunciando che esso stava lavorando sulla versione 1.2 del chip Fritz, prevedendo i primi sistemi in commercio alla fine del 2004 o all'inizio del 2005 e che l'ambito di applicazione del TC si sarebbe esteso dai PC ai PDA ed ai telefoni cellulari. La storia è riportata da EE Times, con le puntate the seguenti; puoi anche leggere di come Il Presidente Bill è rimasto sbalordito alla Windows Hardware Engineering Conference quando NGSCB è stato finalmente svelato. • Nel Luglio 2003, Il Times ha riportato vari abusi da parte dei fabbricanti di stampanti, tra cui impostazioni relative alle cartuccie per il toner per mostrare 'empty' (vuoto) quando solo due terzi dell'inchiostro fosse stato consumato. Questo tipo di business model diverrà pervasivo in tutto il mondo dell'informatica se il TC avrà successo. Inoltre i dispositivi che sarebbe possibile utilizzare per sbloccare questo meccanismo della stampante sarà fuorilegge in Europa a causa della proposta di rafforzamento della direttiva sugli IPR - e delle possibilità tecniche fornite dal TC per minare la concorrenza e sfruttare i consumatori. • Sempre in Luglio,Bill Gates ha ammesso sul New York Times che Microsoft entrerà nel mercato della sicurezza in modo piuttosto aggressivo: "Si tratta di un'area in crescita e non abbiamo intenzione di nascondere le nostre intenzioni". Ha confermato che la scommessa più grande per la sua azienda è la prossima versione di Windows - il nome in codice è Longhorn - in altre parole, la tecnologia conosciuta dapprima nota come Palladium ed ora come NGSCB. Uomo avvisato mezzo salvato. Ho riferito in pubblico sul TC il 2 di Luglio a Berlino al "Trusted Computing Group" Symposium; dopodichè a Bruxelles l'8 di Luglio ad un evento organizzato da DG Infosoc, e il 14 Luglio al PODC. Ne parlerò anche al Helsinki IPR workshop in Agosto. Sono certo ci saranno molte altre occasioni. Nel frattempo una versione del mio studio economico sul TC è apparso su un numero speciale di Upgrade ed affronta temi legati alla proprieta intellettuale (IP) e questioni informatiche correlate (Giugno 2003). Una versione più estesa del paper affronta in dettaglio molti dei temi qui affrontati su questioni legate alle politiche della concorrenza. Ross Cambridge, England, August 2003 Anderson Acuni portavoce di Microsoft sono piuttosto convinti dell'importanza del TC per i DRM; altri sono più scettici. (Altre informazioni sulle ragioni di Microsoft seguiranno in futuro.) Appendice R: Il Punto di Vista di EFF (Seth Schoen) Riportiamo qui di seguito la versione italiana dell'articolo “Trusted Computing: Promise and Risk” di Seth Schoen. Questo articolo è reperibile su Internet a questi indirizzi: http://www.eff.org/Infrastructure/trusted_computing/20031001_tc.php (originale inglese) http://www.no1984.org/Trusted_Computing%3a_Promesse_e_rischi (versione italiana a cura di www.no1984.org ) http://www.p2pforum.it/forum/showthread.php?t=63809 italiana a cura di www.p2pforum.it ) (versione Non è stato possibile stabilire con certezza quale fosse il tipo di licenza applicabile a questo documento anche se, trattandosi di un documento pubblicato da EFF, dovrebbe essere plausibile una licenza GFDL o Creative Commons di tipo molto liberale. Di conseguenza l'autore e gli editori di questo libro rimangono a disposizione degli aventi diritto per provvedere ad eventuali rimozioni o modifiche secondo i loro desideri. Introduzione: La sicurezza dei computer è innegabilmente importante, e come vengono scoperte e sfruttate nuove vulnerabilità, cresce il bisogno percepito di nuove soluzioni per la sicurezza. Le iniziative del "trusted computing" (informatica fidata) si propongono di risolvere alcuni degli odierni problemi di sicurezza mediante dei cambiamenti a livello hardware nei personal computer. Cambiare lo hardware non è intrinsecamente sospetto, ma i propositi principali del trusted computing hanno un costo elevato: forniscono la sicurezza agli utenti mentre danno a terze parti il potere di rafforzare le politiche sui computer degli utenti contro i desideri degli utenti -- lasciano che altri facciano pressione su di voi perché cediate un po' del controllo sul vostro PC a qualcun altro. Questa è una "caratteristica" confezionata per l'abuso degli autori di software che vogliono soffocare in modo anticompetitivo il software rivale. Non dovrebbe andare in questo modo: un semplice cambio di piani per i venditori del trusted computing potrebbe lasciare intatti i benefici per la sicurezza ed assicurare che la volontà del proprietario di un PC vinca sempre sui desideri di coloro che hanno caricato del software o dei dati nel PC. Riprogettare lo hardware dei Pc per la sicurezza C'è la percezione diffusa che la sicurezza dei personal computer sia in una situazione disperata, e che in qualche modo vi si debba porre rimedio. Ci sono degli approcci promettenti volti all'incremento della sicurezza: migliorare l'architettura dei sistemi operativi, cambiare le metodologie di programmazione, oppure modificare lo stesso hardware. E' oramai comunemente accettato che una buona difesa contro le minacce alla sicurezza degli utenti PC dovra' coinvolgere molti approcci diversi, non uno soltanto. E' impossibile che un'infrastruttura insicura diventi magicamente "sicura" soltanto aggiungendo una nuova tecnologia. La modifica dell'architettura hardware dei PC è uno dei tanti utili strumenti per migliorare la sicurezza. Anche se non un prerequisito fondamentale, è però innegabilmente un aiuto importante; ad esempio, fornendo un modo sicuro per immagazzinare le chiavi private (e di conseguenza i documenti protetti con tali chiavi). Un gruppo di progetti che ha lo scopo di incrementare la sicurezza attraverso modifiche allo hardware è noto come "trusted computing" (informatica fidata). Questo termine generico include un mix di singole iniziative portate avanti da produttori di CPU e da aziende OEM, insieme a due progetti piu' grandi e ben conosciuti. Il primo di questi e' un progetto di Microsoft per un nuovo sistema operativo - originariamente noto come Palladium - chiamato Next-Generation Secure Computing Base, o NGSCB (base informatica sicura di nuova generazione). Il progetto NGCSB prevede modifiche al software che sfruttino i miglioramenti in termini di sicurezza resi disponibili dalla futura tecnologia hardware dei PC. L'altro e' un progetto di specifiche hardware, condotto da un consorzio il cui nome originale era "Trusted Computing Platform Alliance" (TCPA Alleanza per una piattaforma informatica fidata). Il TCPA ha pubblicato molti documenti sulle specifiche da adottare, poi ha cambiato il proprio nome in TCG, Trusted Computing Group. Questi due progetti hanno coniato una lista impressionante di nuovi termini, incluso un intero gruppo di nuovi acronimi. In parecchi casi, uno dei due progetti ha inventato molti termini differenti per riferirsi ad un unico concetto, anche se l'altro adottava una terminologia completamente diversa. Un glossario ragionevolmente completo per questi 2 progetti potrebbe richiedere decine di pagine. Nell'interesse della semplicità, notiamo che I requisiti dell'NGCSB e le funzionalità che lo hardware progettato dal TCG offre stanno convergendo. (Microsoft è un membro del TCG, ed ha espresso interesse riguardo al possibile utilizzo dell'infrastruttura offerta da TCG come requisito hardware per il proprio NGCSB) Alcune aziende OEM hanno iniziato ad includere I primi chip TCG nelle schede madri dei propri computer. In futuro, molti produttori di componenti potrebbero includere le prossime versioni dei circuiti TCG nei loro prodotti. Il software NGCSB sarebbe solo uno della miriade di applicazioni che potrebbero trarre vantaggio dalle caratteristiche di questi chip. Anche se a tutt'oggi questi due progetti sono ancora distinti, è ragionevole parlare di un'unica architettura di trusted computing, verso la quale entrambi I progetti stanno procedendo. (Soltanto una porzione di quest'architettura viene descritta nelle specifiche del TCG più recenti, e, come nota lo stesso TCG, saranno necessari altri e nuovi software per utilizzare molte delle funzionalità offerte). Altri progetti di trusted computing meno conosciuti sono in fase di sviluppo da parte di intel e AMD (anch'essi membri del TCG), i due maggiori produttori di CPU al mondo. Questi progetti potrebbero colmare alcuni dei gap presenti fra le specifiche TCG e le necessità dell'NGCSB. Ad esempio, la "Tecnologia LaGrande" (LT) di Intel e la "Modalità di Esecuzione Sicura" (SEM) di AMD forniscono il supporto hardware a tutte le maggiori funzionalità presenti in NGCSB. I progetti di Intel e AMD sono trattati qui come entità separate, ma le loro caratteristiche si sovrapporrebbero alle specifiche TCG per fornire il supporto hardware richiesto dall'NGCSB. Una somiglianza importante fra la struttura di NGSCB e le specifiche del TCG esistenti è che entrambe contengono la funzionalità di "attestazione remota", che analizzeremo estesamente in seguito. Anche se sussistono differenze fra la descrizione di Microsoft e quella del TCG dell'attestazione remota, tutte e due, se supportate correttamente dal sistema operativo, possono essere impiegate per lo stesso compito in modo equivalente. Che i progetti NGSCB e TCG convergano o meno su un'unica architettura hardware, l'analisi dell'attestazione remota è interamente applicabile ad entrambi. Stiamo descrivendo un progetto ancora in fase di lavorazione, ma è fondamentale cominciare subito a comprendere i cambiamenti proposti per i futuri computer e gli effetti che tali cambiamenti avranno sul nostro modo di usarli. In senso generale, l'architettura trusted computing è un'implementazione fuorviata di un'ottima idea, ed offrirebbe agli utenti vantaggi e svantaggi. Nell'interpretazione di Microsoft dell'architettura trusted computing, le modifiche previste sono suddivise in quattro gruppi, ognuno dei quali ha bisogno di aggiornamenti hardware ai PC odierni. I gruppi sono: 1. Memory curtaining (Oscuramento della memoria) 2. Input ed Output sicuri 3. Sealed storage (dispositivi di memorizzazione digitalmente controllati) 4. Attestazione remota Ognuna di queste funzionalità ha un diverso fondamento in termini di sicurezza, anche se esse possono essere utilizzate congiuntamente. Memory curtaining Il memory curtaining è una potente funzionalità di isolamento della memoria, imposta via hardware, che impedisce ai programmi di leggere e scrivere negli spazi di memoria degli altri programmi in esecuzione. Oggigiorno è spesso possibile per un intruso, sia esso un utente malintenzionato o un malware, leggere o alterare dati importanti nella memoria di un PC. Nelle idee del progetto trusted computing, neanche il sistema operativo dovrebbe avere accesso alla memoria protetta, così che anche nel caso in cui qualcuno riuscisse ad ottenere il controllo del sistema operativo, non potrebbe comunque interferire con la memoria protetta dei programmi in esecuzione. Anche se l'isolamento della memoria può essere ottenuto via software, questo metodo richiede che siano riscritti sistemi operativi, driver per le periferiche e perfino le applicazioni. Invece, implementare questa funzione direttamente nello hardware permette un grado di compatibilità superiore con il software esistente e riduce la quantità di programmi che devono essere riscritti. (In generale, molti dei benefici del trusted computing potrebbero essere ugualmente ottenuti riscrivendo i programmi, ma alcuni giudicano questa via impraticabile.) I/O Sicuro L'input e output sicuri (o I/O sicuro) hanno lo scopo di combattere le minacce rappresentate dai keylogger e dagli screen-grabbers, che sono spesso usati per spiare le attività degli utenti. Un keylogger può registrare ogni singolo tasto premuto dall'utente, mentre uno screen-grabber può registrare qualunque schermata appaia sul monitor. L'I/O sicuro fornisce un percorso sicuro ai dati che va dalla tastiera all'applicazione, e dall'applicazione allo schermo. Nessun altro software in esecuzione sullo stesso PC è in grado di stabilire quali tasti sono stati premuti, o quale sia stata la conseguente reazione del programma destinatario. (Nello stesso tempo, l'I/O sicuro potrà fornire protezione da altri -più "esoterici"attacchi, permettendo ai programmi di determinare se l'input ricevuto proviene da un utente fisicamente presente davanti al PC o da un software che sta impersonando l'utente. O ancora, potrà impedire i tentativi di alcuni programmi che mascherano o corrompono l'output di un'applicazione per ingannare l'utente.) Attestazione remota L'attestazione remota è il più significativo e il più rivoluzionaria dei quattro gruppi di caratteristiche descritti dalla Microsoft. A grandi linee, mira a permettere di rilevare cambiamenti "non autorizzati" al software. Se chi sferra un attacco ha rimpiazzato una delle vostre applicazioni, o una parte del vostro sistema operativo, con una versione alterata, potresti essere in grado di dirlo. Poiché l'attestazione è "remota", anche altri con cui interagisci dovrebbero essere in grado di dirtelo. Così, possono evitare di spedire dati sensibili ad un sistema compromesso. Se il tuo computer dovesse essere violato, altri computer potrebbero astenersi dallo spedire informazioni private, almeno finché non venga ripristinato. Mentre l'attestazione remota è ovviamente utile, l'attuale approccio del TCG all'attestazione è bacato. L'attestazione TCG fallisce miseramente nel distinguere tra applicazioni che proteggono i proprietari di computer dagli attacchi e applicazioni che proteggono i computer dai loro proprietari. In effetti, il proprietario del computer, qualche volta, è trattato proprio come un altro attaccante o avversario cui deve essere impedito di accedere e alterare il software del computer. L'attestazione remota funziona generando, a livello hardware, un certificato crittografico di attestazione sull'identità del software attualmente in funzione su un PC. (Non c'è determinazione se il software sia buono o cattivo, o se sia compromesso o non compromesso. La "identità" è rappresentata da un codice crittografico, che permette semplicemente a programmi diversi di essere distinti l'uno dall'altro, o di discernere i cambiamenti nel loro codice, senza trasmettere alcun tipo di giudizio sul valore.) Questo certificato potrebbe, su richiesta dell'utente del PC, essere fornito a qualunque parte remota, e in principio ha l'effetto di provare a quella parte che la macchina sta usando del software previsto e inalterato. Se il software sulla macchina è stato alterato, il certificato generato lo rifletterà. Vedremo che quest'approccio, sebbene elegante, si rivela problematico. Come il trusted computing influisce sul PC Ognuno di questi quattro gruppi configurativi è probabile che sia utile per la sicurezza del computer, perchè ognuno può essere usato da software appropriati per prevenire o mitigare attacchi effettivi al momento contro i PC. Così, un PC con un supporto hardware configurato in questo modo può fornire garanzie di sicurezza tali che sarebbe difficile mantenere con un supporto hardware non configurato per il trusted computing. Certo, le falle presenti nei software permetteranno ancora altri attacchi, includendo la rivelazione delle informazioni private del client. La tecnologia trusted compunting non può impedire del tutto le falle della sicurezza del computer. In generale, si cerca di contenere e limitare il danno che può derivare da una falla particolare. Per esempio, non potrà essere possibile per una falla di programmazione in un'applicazione (come un web browser) violarlo per copiarne o alterarne i dati da una differente applicazione (come un word processor). Questa sorta di approccio d'isolamento e contenimento è un'importante campo di ricerca nell'ambito della sicurezza sul computer ed è usato in molti differenti approcci sulla sicurezza del computer, incluse promettenti tecniche esterne al trusted computing. Le configurazioni del trusted computing sono già descritte e verranno aggiunte nuove risorse al PC. Di solito, lo hardware deve essere supportato dal software; in assenza di driver per trusted computing, il PC che adotta questo tipo di tecnologia diventa un PC ordinario che riesce, comunque, a far funzionare tutti i software per PC esistenti. Inoltre, l'architettura del trusted computing è ideata per essere retrocompatibile nelle abilità di supporto per far funzionare i sistemi operativi e le applicazioni software esistenti. Anche Microsoft prevede che le future versioni di Microsoft Windows (i quali possono includere i software NGSCB) potranno essere retro-compatibili, ad oggi possono funzionare tutte le applicazioni DOS e Windows. In aggiunta, I nuovi PC possono funzionare con le nuove applicazioni trusted-computinginformative che portano vantaggi ai nuovi futuri hardware. Equivoci sul TC Ci sono molte idee sbagliate su questa architettura. L'errore più comune stà nel pensare che i PC dotati del sistema TC non siano realmente retro-compatibili con lo hardware o in grado di far girare software esistente. Anche se è sicuramente possibile per i costruttori fabbricare PC che non siano retrocompatibili o che non possano eseguire un particolare codice, niente nelle specifiche del TCG insiste su questo. Ancora più importante è che nel modello di sicurezza dell'architettura TC non è previsto che non sia permessa l'esecuzione di software non sicuro, dannoso, o non desiderato. Questo modello di sicurezza invece è concentrato sull'isolamento del software -cioè sul prevenire che i programmi in esecuzione interferiscano l'uno con l'altro. Quando i programi sono adeguatamente protetti dall'interferenza di altri programmi, non c'è bisogno che venga prevenuta l'esecuzione di altri. Come per i SO multi-utente che danno all'utente la possibilità di eseguire il software che preferisce e contemporaneamente proteggono gli altri utenti dagli effetti di quel software, NGSCB potrebe permettere agli utenti di eseguire i programmi che vogliono proteggendo gli altri programmi dai loro effetti. Soltanto un modello di sicurezza veramente rozzo avrebbe bisogno di proibire completamente l'esecuzione su un computer di software considerato "cattivo", e il modello NGSCB non è così rozzo. Inoltre, un approccio di questo tipo dovrebbe avere delle indicazioni precise per determinare quale software è "cattivo", e avere definizioni per ogni software sarebbe un'impresa veramente ardua. (Qualche SO proprietario indica come "cattivo" tutto quel software senza una firma digitale di un'autorità ufficiale, ma gli utenti si opporrebbero giustamente ad un approccio così restrittivo in ambito di PC. Pretendono, com'è giusto che sia, di poter scrivere e usare il loro software senza bisogno dell'approvazione di una qualche autorità . Nessun hardware richiesto da NGSCB sembra essere specifico per Microsoft Windows. L'architettura dello hardware TCG/TCPA non è specifica per un particolare SO. I ricercatori IBM hanno recentemente pubblicato software sotto licenza GNU/GPL che faccia lavorare un chip TCPA/TPM con il kernel Linux. Questo software è utilizzabile oggi per incrementare la sicurezza delle memorie a chiave cifrata nei sistemi Linux che girano su macchine con hardware che supporta il TCPA. Nè il TCG nè il TCPA proibirebbero volontariamente ai loro utenti di usare un particolare SO, programma o file. Dov'è il problema? È chiaro che lo hardware TC fornisce dei benefici alla sicurezza del PC, sempre che il software sia predisposto per usufruirne. Ma la tecnologia TC è stata accolta con scetticismo e rimane una questione controversa. Alcune delle controversie sono nate da degli equivoci, ma molte invece hanno un fondamento logico, visto che fondamentalmente i sistemi TC alterano le relazioni di fiducia. Le preoccupazioni legittime sul TC non sono limitate soltanto a una sola area, come la privacy dell'utente oppure la tutela del copyright. Noi abbiamo almeno due serie preoccupazioni riguardo al TC. Prima di tutto, i progetti esistenti sono sbagliati alla base perché espongono i consumatori al rischio che nascano nuove tecniche per impedire la concorrenza e per limitare le possibilità dell'utente. In secondo luogo, i costruttori di computer o di componenti hardware "fidati" potrebbero implementare queste tecniche a nostra insaputa. Ora analizzeremo il primo di questi problemi in modo più approfondito. Problema: La mancanza di certificazione delle applicazioni di terze parti riguardo l'ambiente software è una caratteristica normale, non un difetto Anche se lo hardware è implementato secondo specifiche pubbliche, tuttavia potrebbe essere usato in modo da danneggiare il proprietario del computer. (Lucky Green, Ross Anderson) Anche se le architetture del "trusted computing" forniscono dei benefici riguardo la sicurezza, questi potrebbero includere delle caratteristiche che potrebbero essere abusate, a discapito del consumatore a cui è stato chiesto di adottare questa tecnologia. A capo di queste caratteristiche c'è la "remote attestation", che Microsoft descrive come "un nuovo terreno di rottura nel "distributed computing"" poiché non è presente, nei computer odierni, una caratteristica paragonabile a questa. Il design di sicurezza include necessariamente la specificazione di un modello di minaccia: che tipo di attacchi e di attaccanti ha intenzione di prevenire una misura di sicurezza? Una misura di sicurezza che previene un attacco potrebbe essere completamente inefficace contro un diverso tipo di attacco; al contrario, una misura di sicurezza richiesta per alcuni scopi può risultare inutile, nel migliore dei casi, per quelli che non condividono quell'obbiettivo. La nostra preoccupazione fondamentale è che il sistema del "trusted computing" sia deliberatamente destinata a supportare i modelli di minaccia in cui i proprietari di un computer "trusted" sono considerati la minaccia. Questi modelli sono l'eccezione, piuttosto che la regola, nella storia della sicurezza informatica e delle comunicazioni e non sono parte delle basi logiche per il "trusted computing" pubblicamente offerto dai suoi fautori. L'attestazione è adatta per prevenire che il software installato su un computer sia modificato (per esempio, da un virus) senza che il proprietario del computer ne sia a conoscenza. Sfortunatamente, il modello di attestazione nel disegno del TGS impedisce che il software installato sul computer sia deliberatamente cambiato dal proprietario, senza la sua conoscenza approfondita e acconsenziente. Mentre l'utente è sempre libero di modificare il software, l'attestazione aggiunge un nuovo rischio: la modifica potrebbe eliminare la possibilità dei computer di interagire con altri computer? Poiché le terze parti non hanno, correntemente, un metodo certo per dire quale software l'utente sta utilizzando, essi non hanno un motivo per costringere l'utilizzo del software presente sulla loro macchina. Questo aspetto dello status quo è quasi sempre un beneficio per il proprietario del computer -- in termini di concorrenza, scelta del software, interoperabilità del software e possibilità dei proprietari di controllare i loro computer -- e quindi nessun schema di attestazione che cambi questa situazione porta questi benefici ai consumatori. Esempi di abusi della "remote attestation" Consideriamo alcuni esempi concreti di come il metodo dell'attestazione del TCG può nuocere all'interoperabilità o essere usato contro i proprietari del computer. Sul Web Un sito web può richiedere un'attestazione software alle persone desiderose di accedervi. Se loro si rifiutassero di fornire questa attestazione, il sito si rifiuterebbe di interagire con loro in modo completo; se l'attestazione mostra che viene utilizzato un software non approvato, il sito potrebbe inoltre rifiutarsi completamente di interagire con loro. Solo a chi può creare un certificato digitale, capace di provare che il software installato sul computer soddisfa i requisiti del sito remoto, sarà permesso l'accesso. Questo certificato può essere prodotto -- nello schema corrente del TCG -- solo se vengono soddisfatti i requisiti richiesti. Oggi non c'è un modo certo per realizzare questo. Di conseguenza, i tentativi di forzare gli utenti ad utilizzare un particolare software sono senza effetto; i siti web sono oberati dal controllare quale sistema operativo e quali applicazioni possono essere usate dai loro utenti. Il "reverse engineering" permette, infatti, la creazione di nuovo software competitivo, che funziona bene con il software ed i servizi esistenti e, di conseguenza, i proprietari dei computer hanno la possibilità di effettuare realmente una scelta. È effettivamente impossibile punirli per aver scelto di usare un software diverso da quello preferito da chi si occupa dei servizi. Se loro vogliono usare un browser web od un sistema operativo diverso, sanno che è improbabile che vengano tagliati fuori dai servizi più importanti. Per esempio, molti dei servizi on-line delle banche richiedono un browser Microsoft, ma gli utenti di altri software sono capaci di modificare il loro browser affinché appaia come Internet Explorer. Per quello che riguarda la banca, i clienti stanno accedendo al sito con il programma richiesto, ma gli utenti non sono vincolati alle decisioni dettate dalla miopia delle loro istituzioni finanziarie. In un caso molto pubblicizzato, MSN, il Network di Microsoft, rifiutò, in poche parole, di servire pagine web a browser diversi da quelli Microsoft. In poco tempo, gli utenti di prodotti competitivi riuscirono a far credere a MSN che utilizzavano i browser di Microsoft. Questo sarebbe stato impossibile in un ambiente con procedure simili alle "remote attestation" del NGSCB. Permettendo in questo modo che un sito web impedisca l'accesso a software non approvato, queste attestazioni darebbero a chiunque la potenza di avere una leva all'interno del mercato capace di controllare le scelte degli utenti relative al software. La sicurezza non ha niente a che fare con le motivazioni di molti siti di impedire l'utilizzo di software non approvato. Effettivamente, le loro motivazioni potrebbero essere completamente arbitrarie. In alcuni casi, l'operatore di un sito potrebbe obbligare gli utenti ad utilizzare un determinato programma per sottoporlo alla pubblicità. Verificando che un utente utilizza un programma "approvato", il sito può convincersi che l'utente è stato obbligato a visualizzare un certo numero di informazioni pubblicitarie. L'interoperabilità del software e il lock-in Anche l'interoperabilità del software è a rischio. Uno sviluppatore di un programma per un server web, un file server, server di posta, ecc., potrebbe programmare l'applicazione per richiedere una attestazione; il server potrebbe rifiutare categoricamente di dialogare con i client che sono stati prodotti da qualcun altro diverso da chi sviluppa il programma server. Oppure l'editore potrebbe insistere sulle tasse di licenza agli sviluppatori dei client, e rendere l'interoperabilità del proprio server possibile solo con chi ha pagato la tassa. (Ciò è possibile, in modo simile, creando dei file cifrati con metodi proprietari che possono essere letti solo da software "approvato", e per i quali la chiave di decodifica deve essere ottenuta tramite un server di rete ed è estremamente difficile adottare il "reverse engineering".) L'editore, in questo caso, potrebbe far aumentare notevolmente i costi per gli utenti che vogliono adottare il software di un suo rivale. Se un utente ha una grossa quantità di dati importanti memorizzati all'interno di un sistema proprietario, e il sistema comunica solo con i client sviluppati dall'editore del sistema proprietario, potrebbe essere estremamente difficoltoso, per un utente, migrare i suoi dati verso il nuovo sistema software. Quando il nuovo sistema prova a comunicare con quello vecchio per estrarre i dati, quello vecchio potrebbe rifiutarsi di rispondere. Il file server Samba è un importante esempio di software per l'interoperabilità, creato tramite il reverse engineering. gli sviluppatori Samba hanno studiato il protocollo di rete usato dal file server di Microsoft Windows e hanno creato una implementazione alternativa, che hanno pubblicato come software free/open source. Samba può essere utilizzato in una rete di computer al posto del file server di Windows, e le macchine client Windows possono comunicare con esso come se fosse un server Windows. (In modo simile, Samba consente ai client non-Windows di accedere ai file server Windows.) Senza software competitivo come Samba, gli utenti di Windows sarebbero obbligati ad usare i server Windows, e vice versa. Ma se il software potesse identificare tranquillamente il software all'altra estremità di una rete, uno sviluppatore software potrebbe fare programmi richiedenti attestazioni e quindi proibire al software del rivale di connettersi ed interagire. Se Microsoft sceglia di usare lo NGSCB in questo modo, potrebbe chiudere Samba fuori dai servizi di Windows, in modo permanente, ed impedire ogni utile implementazione competitiva dei relativi protocolli senza la specifica autorizzazione. In modo simile, i servizi di messaggistica istantanea (IM) hanno frequentemente provato a chiudere fuori i client dei loro avversari che, in alcuni casi, erano free/open source. Oggi questi tentativi sono infruttuosi, nella generazione di uno o più interruzioni provvisorie per gli utenti. Un meccanismo di attestazione sarebbe uno strumento molto potente per limitare la competizione e l'interoperabilità nei servizi IM. Ad alcune applicazioni client potrebbe essere impedita permanentemente la connessione, anche se offrono delle caratteristiche che gli utenti finali preferiscono. Questi sono esempi di un problema più generale di "lock-in", pratica spesso usata in una strategia deliberatamente di mercato nell'industria del software, per causare datti al commercio e, nello stesso modo, agli utenti dei computer. Sfortunatamente, il disegno del TCG fornisce nuovi potenti strumento per attivare il "lock-in". L'attestazione è responsabile di questo problema; "sealed storage" può rendere le cose ancora più aspre, permettendo al programma che crea un file di impedire la lettura da parte di altri programmi. Quindi, sia i protocolli di rete che i formati dei file possono essere usati per attaccare l'interoperabilità del software. Una soluzione: il passaggio di proprietà La mancanza del controllo proprietà dei computer del contenuto delle attestazioni è il problema centrale con le proposte correnti del trusted computing. È un'inaccettabile e grave falla di disegno che deve essere rimediata prima che si attui l'architettura del trusted computing come un intero pacchetto sarà un chiaro beneficio per i proprietari dei computer. Una semplice misura che chiamiamo passaggio di proprietà può fissare il problema da restaurare di altre incapacità del software, per sapere per certo cosa il software può far funzionare – a meno che non decidete che sia meglio che loro sappiano. Il passaggio di proprietà cambia finemente la natura dei benefici della sicurezza che provvedono all'attestazione. Attualmente, l'attestazione chiama le parti remote se il software sul vostro computer è stato cambiato. L'attestazione più il passaggio di proprietà possono permettere alle parti remote di sapere se il vostro software è stato cambiato senza la vostra consapevolezza. Così, la rivelazione di attività illecite può essere fattibile. Se, comunque, avete creato dei cambiamenti deliberatamente sul computer di vostra proprietà, potete nasconderlo a loro, ora come ora potete farlo, per impedire a qualcun altro di usare le vostre scelte come una ragione per discriminarvi. Il passaggio di proprietà lavora dalla procura data deliberatamente dal proprietario del computer, quando fisicamente presente al computer, per scegliere la generazione di un'attestazione la quale non riflette l'attuale stato dell'ambiente del software – per presentare la figura della sua scelta del sistema operativo del suo computer, sistema applicativi o drivers. Da quel momento una tale attestazione può solo essere generata dal computer proprietario consapevole della scelta. Il valore di attestazione per scoprire cambiamenti non autorizzati è preservato. Ma il PC proprietario ha riconquistato il controllo fine-granulato, sempre in un ambiente di reti multiple, ed il PC può in un breve tempo imporre la pulizia contro il volere del suo proprietario. Il passaggio di proprietà rimuove le toolbox che permettendo all'architettura del trusted computing di essere violata da un'anti-interoperabilità ed un'anti-competitività preposta. Esso restituisce l'importante abilità di annullare programmi di ingegneria informatica per promuovere l'interoperabilità tra loro. Largamente, è fissato il trusted computing così che protegga il computer proprietario e autorizzi gli utenti contro attacchi, senza limitare l'autorità del computer proprietario per decidere precisamente quale politica voglia imporre. Così, senza minare alcun beneficio richiama per l'architettura del TCG una vetrina pubblica in dimostrazione della NGSCB della Microsoft. Esso consiste nel TCG e in molti venditori assegnati sulle reti del trusted computing. (In una realtà societaria, la società deve essere la proprietaria dei pc che i suoi impiegati usa, ritenendo il potere di sviluppare la politica della rete informatica per i suoi utenti una cosa prioritaria. Sin dal passaggio di proprietà richiede agli utenti di fornire le credenziali proprietarie prima del fallimento della politica gestionale, non indebolisce un controllo proprietario del computer sull'utente autorizzato. Una società può, per esempio, usare ancora delle attestazioni per controllare ciò che un software impiegato da un utente può utilizzare sul desktop della macchina societaria quando essi accedono alle risorse di rete). Il passaggio di proprietà preclude alcune interessanti nuove applicazioni, particolarmente nel calcolo distribuito. Nello status quo, non è tipicamente possibile spedire dati ad un computer antagonista mentre controlla ciò che l'avversario può fare con esso. Il passaggio di proprietà protegge quell'aspetto dello status quo, mentre il rimpianto degli sviluppatori di applicazioni è che preferiscono dare fiducia al computer remoto sempre mentre diffidano della loro proprietà. Nello stesso modo, il passaggio di proprietà previene che il trusted computing venga utilizzato per fermare le frodi nei giochi di rete. Il passaggio di proprietà – come trusted computing in generale – rimuove le caratteristiche o le funzionalità non esistenti dal PC, crediamo per tanto che esso avvantaggi significativamente più che crei svantaggi. Nonostante il plausibile desiderio di migliorare l'hardware per accrescere la sicurezza del computer saranno fatti alcuni cambiamenti di hardware. I proprietari di PC potranno accuratamente pensare in quale direzione vogliono sviluppare la loro piattaforma. I sistemi trusted computing che proteggono ancora il vostro PC e vi impediscono di utilizzare una politica derogativa sono, in bilancio, un passo indietro. Un passaggio di proprietà configurato, o il suo equivalente, è necessario per fissare il disegno dei sistemi trusted computing. (Questa tabella mostra come il passaggio di proprietà preserva di più i benefici della sicurezza dell'attestazione remota mentre annulla i suoi rischi). Status Quo Attestazione Attestazione + passaggio di proprietà La compromissione del software (da un virus) può essere creato scoprendolo da un party remoto, il quale può attivarsi su queste informazioni. Le frodi ai giochi di rete possono essere prevenute, e La competizione e distribuite le l'interoperabilità applicazioni sono le norme. (Distributed.net. Il controllo SETI@Home, ecc.) dell'utente e la sua possono riguardare i scelta sono protetti. computer posseduti Il blocco ed il dalle parti false Pros controllo remoto senza rischiare sono difficoltosi l'integrità dei calcoli perché i proprietari o la confidenza dei dei computer hanno dati. un controllo Le società possono sostanziale su tutto il effettivamente software locale in imporre politiche tutte le circostanze. contro i loro lavoratori. “Paternalista” politica di sicurezza che protegge gli utenti dalle conseguenze certe dei loro errori possono essere sempre implementate La compromissione del software può tranquillamente essere creata distinguendolo da un party remoto. Una società può effettivamente imporre politiche contro i loro membri, così come loro possono usare i computer propri delle aziende. I proprietari dei computer tengono un sostanziale controllo sul software locale. La competizione, interoperabilità, del controllo e delle scelte dell'utente sono preservate Non c'è in generale qualcosa che permette ad un party remoto di scoprire o, senza la consapevolezza del proprietario del computer, viene modificato inappropriatamente il software locale. Le frodi ai giochi di rete non possono Cons essere prevenute. Le frodi da partecipanti non scrupolosi nei calcoli distribuiti non possono essere prevenuti. “Paternalista” la politica di sicurezza che protegge gli utenti dai loro stessi errori sono difficili da scoprire. Il terzo party può imbrogliare la politica contro il proprietario del computer dove tradizionalmente questo può non essere stato tecnologicamente imbrogliato, o può essere stato imbrogliato solamente con difficoltà, per esempio: *DRM *applicazioni di blocco *migrazioni e restrizioni di back up *attivazioni di prodotti *catena di prodotti *upgrade forzati *downgrade forzati *applicazioni specifiche di spyware *impedimenti della retroingegneria Le frodi ai giochi di reti o da partecipanti non scrupolosi sulle distribuzioni dei calcoli, tranquillamente non essere bloccato. “Paternalista” politica di sicurezza rimane difficoltosa da frodare. Dall'estensione di cui i proprietari dei computer devono potenzialmente beneficiare da una frode robusta di una politica DRM, non ottengono questo beneficio Problema: verifica dell'implementazione Come può il proprietario del computer conoscere ciò che il loro hardware trusted computing implementa in accordo con le sue specifiche pubbliche? ( Ruediger Weiss) Questo è un importante problema per tutti gli hardware crittografici, hardware non trusted computing. Ma da più PC non ha preventivamente contenuto alcuni hardware specializzati crittografici, più utenti di uno stesso PC semplicemente non hanno avuto occasione di preoccuparsi per questo problema in passato. Mentre alcuni hardware possono contenere back doors o caratteristiche non documentate, gli hardware crittografici sono gli unici ad avere accesso ad informazioni segrete importanti come l'opportunità di perdere ciò che l'informazione non scopre attraverso canali coperti (per esempio, nei certificati di attestazione). Così, è importante assicurare i manufatti hardware di trusted computing implementino correttamente le specifiche, senza includere caratteristiche non documentate le quali possono permettere loro o parti terze di ottenere accesso non autorizzato ad informazioni private. Conclusioni Noi riconosciamo che l'aumento dello hardware deve essere uno solo per migliorare la sicurezza del computer. Solo che i proprietari dei computer devono comportarsi come antagonisti e non progredire nella sicurezza del computer. L'interoperabilità, competizione, del controllo proprietario, e problemi similari inerenti al TCG e NGSCB si avvicinano seriamente a sufficienza a ciò che noi raccomandiamo contro l'opzione di queste tecnologie del trusted computing fino a che questi problemi saranno stati indirizzati. Fortunatamente, crediamo che questi problemi non siano insormontabili, e guardiamo avanti lavorando con le industrie per risolverli. Appendice S: Il punto di vista di Richard M. Stallman Riportiamo qui di seguito la versione italiana dell'articolo “Can you trust your computer” di Richard M. Stallman. Questo articolo è reperibile in rete a questi indirizzi: http://www.gnu.org/philosophy/can-you-trust.html (inglese) http://www.complessita.it/tcpa/rms.html (italiano) Questo documento è copyrighted Richard M. Stallman – 2002. L'autore ne ha consentito la riproduzione a condizione che il testo rimanga immodificato. L'autore e l'editore si associano a Richard M. Stallman nel desiderio di mantenere libera la circolazione dell'informazione e riconoscono a chiunque sia interessato il diritto di riutilizzare questa sezione del libro secondo gli stessi criteri previsti dall'autore originale. Puoi fidarti del tuo computer? Richard Stallman, 21 ottobre (Versione italiana a cura di: Mauro Sandrini) 2002 Richard Stallman, 21 ottobre 2002 Da chi dovrebbe prendere ordini il vostro computer? La maggior parte delle persone pensano che i loro computer debbano obbedire agli ordini che vengono impartiti dal proprietario e non rispondere a direttive impartite da qualcun altro. Con un progetto chiamato 'trusted computing' (più o meno traducibile con 'computer sicuri, affidabili', alcune grandi aziende della comunicazione (includendo fra queste quelle del cinema e le case discografiche) cooperano con aziende del settore informatico come Microsoft e Intel per far si che il tuo computer obbedisca ai loro ordini anzichè ai tuoi. Software proprietari in passato hanno incluso, qualche volta, caratteristiche intrusive ma questo progetto le mette al centro di ogni sistema informatico. Software proprietario significa, in sostanza, non avere il controllo su ciò che accade: non è possibile studiare il codice sorgente o modificarlo. Non è strano che imprenditori solerti studino la possibilità di utilizzare questo controllo per mettere l'utente/acquirente in una posizione di svantaggio. Microsoft ha fatto questo varie volte: una delle versioni di Windows venne progettata per inviare a Microsoft un rapporto con tutti software presenti sull'hard disk di ogni computer; una recente upgrade per migliorare la 'sicurezza' di Windows Media Player richiede all'utente di acconsentire a nuove restrizioni. Ma Microsoft non è sola: il software per condivisione di file musicali KaZaa è progettato in modo che aziende legate a KaZaa possano affittare l'utilizzo del computer dell'utente ai loro clienti. Queste funzionalità perverse sono spesso segrete ma, anche quando se ne viene a conoscenza, può essere difficile rimuoverle, proprio perché non si ha a disposizione il codice sorgente. Nel passato sono avvenuti problemi isolati grazie a queste caratteristiche. I 'Computer Sicuri' renderanno questo fenomeno pervasivo. 'Computer Inaffidabili' sarebbe un nome più appropriato, proprio perché il progetto è di far si che il computer disattenda sistematicamente le istruzioni del proprietario. Infatti esso sarà progettato in modo da impedire che il computer funzioni come un computer general-purpose. Ogni funzione potrà richiedere specifici permessi prima di essere eseguita. L'idea sottostante ai 'Computer Inaffidabili' sta nel fatto che includono un dispositivo per gestire firme digitali criptate, e le chiavi sono tenute all'oscuro dal proprietario della macchina. (La versione di Microsoft di questo sistema è denominata 'Palladium'). Programmi proprietari utilizzeranno questo dispositivo per controllare quali altri programmi potrai eseguire, a quali documenti o dati potrai accedere e a quali programmi potrai farli elaborare. Questi programmi scaricheranno in continuazione da Internet nuove regole per la gestione delle autorizzazioni e le imporranno sul tuo modo di lavorae. Se non permetterai al tuo computer di scaricare le nuove regole periodicamente da Internet alcune funzionalità cesseranno automaticamente di funzionare. Naturalmente Hollywood e le case discografiche hanno in mente di utilizzare i 'computer inaffidabili' per il "DRM" (Digital Restriction Management - la Restrizione dei Diritti Digitali), in modo che i video e la musica scaricata possa essere fruita solo sul quel specifico computer. Condividerli sarà impossibile a meno di utilizzare i file di autorizzazione forniti dal produttore. Le persone, finora, hanno avuto la libertà e la possibilità di condividerli. (E' possibile che qualcuno troverà il modo di produrre versioni non criptate e di permetterne l'upload e il download, in modo che il DRM non potrà vincere completamente, ma in ogni caso non è questo un motivo per approvare questo sistema). Rendere impossibile la condivisione dei file è una cosa disdicevole.. ma c'è di peggio. Ci sono progetti per utilizzare la stessa possibilità per email e documenti, per esempio per far sparire le email nel giro di due settimane, oppure di documenti che possono essere letti esclusivamente nei computer di un' unica azienda. Provate ad immaginare cosa potrebbe succedere se vi arrivasse un'email dal vostro superiore chiedendovi di svolgere un'azione che secondo voi è a rischio: un mese dopo, quando vi vorranno rimpiazzare per quella decisione, non sarà possibile utilizzare quell'email come prova che la decisione non è stata vostra. "Mettere per iscritto" le cose non vi proteggerà se l'ordine è scritto con un inchiostro evanescente. Immaginate di ricevere un'email dal vostro capo con direttive illegali od moralmente inaccettabili come per esempio distruggere i documenti amministrativi della vostra azienda, oppure con l'ordine di lasciar passare una pericolosa minaccia verso il vostro paese senza verificarla. Oggi è possibile inviare queste email ad un giornalista ed esporre i fatti. Con i 'Computer Inaffidabili' il giornalista non sarà in grado di leggere il documento: il computer si rifiuterà di obbedirgli. La 'Informatica Inaffidabile' diviene il paradiso della corruzione. Elaboratori di testi come Microsoft Word potranno utilizzare 'computer inaffidabili' quando essi salvano i tuoi documenti per essere certi che nessun word processor concorrente possa leggerli. Oggi dobbiamo decifrare i segreti del formato Word con esperimenti laboriosi per poter permettere agli elaboratori di testo liberi di leggere i documenti Word. Se Word criptasse questi documenti utilizzando 'computer inaffidabili' al momento del salvataggio, la comunità del software libero non avrebbe alcuna possibilità di leggerli e, anche nel caso ciò fosse possibile, questo programma potrebbe essere persino vietato dal Digital Millenium Copyright Act. Programmi che utilizzano 'Computer Inaffidabili' scaricheranno in continuazione nuove regole ed autorizzazioni attraverso Internet per imporle automaticamente alle tue attività. Se Microsoft, o il governo U.S.A., fossero contrari ad un documento da te scritto potrebbero stabilire nuove regole impedendo a tutti i computer di leggere quel documento. Ciascun computer obbedirà a questa regola dal momento in cui scaricherà le nuove istruzioni. I tuoi scritti saranno soggetti ad una cancellazione retroattiva al modo di 1984 di Orwell. Persino tu, l'autore, potresti non essere più in grado di leggerli. Si potrebbe pensare di verificare quali siano le attività svolte da un 'Computer Inaffidabile' , studiare quali di queste siano dannose, e decidere se accettarle o meno. Sarebbe una prospettiva miope e folle da adottare: il fatto è che il contratto che si stipula non resterà lo stesso. Una volta che la tua attività dipenderà dall'utilizzo di quel programma, sarai legato ad esso, e loro lo sanno; essi potranno cambiare il contratto. Alcune applicazioni scaricheranno automaticamente aggiornamenti che faranno qualcosa di diverso - e non sarà possibile scegliere se accettare l'aggiornamento o no. Oggi puoi evitare le restrizioni imposte dal software proprietario semplicemente non utilizzandolo. Se adotti GNU/Linux o un altro sistema operativo libero, e se eviti di installare applicazioni proprietarie su di esso, allora sei nella condizione di pieno controllo sul tuo computer. Se un programma libero ha una funzionalità scorretta, altri sviluppatori della comunità la elimineranno, e potrai utilizzare la versione corretta. E' anche possibile utilizzare software libero su sistemi operativi non liberi; ciò non ti darà ancora la completa libertà, ma molti utenti lo fanno. L' 'Informatica Inaffidabile' mette a rischio l'esistenza del software e dei sistemi operativi liberi perché potrebbe non essere più possibile utilizzarli del tutto. Alcune versioni di 'Computer Inaffidabili' richiederanno che ogni programma sia autorizzato da chi sviluppa il sistema operativo. Non sarà possibile utilizzare applicazioni libere: anche i sistemi operativi liberi potrebbero non essere più installabili. Se qualcuno trovasse il modo di farlo, e lo dicesse in giro, questo sarebbe un crimine. Ci sono proposte di legge in Usa che richiedono che tutti i computer debbano essere 'Inaffidabili', e che proibiscono ai vecchi computer di collegarsi ad Internet. Il CBDTPA (Consumer Broadband and Digital Television Promotion Act ma che sarebbe meglio chiamare 'Consume But Don't Try Programming Act' - Consuma Ma Non Azzardarti a Programmare - ) è uno di questi. Ma anche se essi non forzassero per vie legali a passare ai sistemi inaffidabili, la pressione ad accettarlo sarebbe enorme. Oggi le persone spesso usano il formato Word per le comunicazioni, sebbene questo causi una serie di problemi (vedi: http://www.gnu.org/philosophy/no-word-attachments.html). Se solo una macchina inaffidabile potrà leggere l'ultima versione di documenti Word, molte persone passeranno ad esso, se essi vedranno la situazione solo in termini di azione individuale (prendere o lasciare). Per opporsi all' 'Informatica Inaffidabile', è necessario unire le forze e rapportarsi ad esso come fosse (ed è) una scelta collettiva. Per ulteriori informazioni su questi argomenti http: / / www.cl.cam.ac.uk / users / rja14 / tcpa - faq.html italiano su http: / / www.complessita.it / tcpa). vedi (in Per fermarla sarà necessario che le persone si organizzino. Abbiamo bisogno del tuo aiuto! La The Electronic Frontier Foundation (www.eff.org) e Public Knowledge (www.publicknowledge.org) hanno iniziato campagne per fronteggiare i 'Computer Inaffidabili' . Visita il loro sito per iscriverti e sostenere il loro lavoro. Per dare un segno puoi anche scrivere ai dipartimenti per le relazioni con il pubblico di Intel, Ibm, HP/Compaq o di chiunque da cui tu abbia acquistato un computer, spiegando che non vuoi essere obbligato ad acquistare 'Computer Inaffidabili' e che tali computer non dovrebbero essere prodotti. Questo può aumentare il potere dei consumatori. Se decidi di fare questo, spedisci una copia delle tue lettere alle organizzazioni citate. Postscriptum: 1. Il progetto GNU distribuisce il GNU Privacy Guard, un programma che implementa la firma digitale a chiave pubblica. E' interessante verificare come GPG sia diverso dai sistemi inaffidabili, e scoprire cosa rende l'uno utile e l'altro dannoso. Quando qualcuno utilizza GPG per inviare un documento criptato, ed usa GPG per decriptarlo, il risultato è un documento non criptato che puoi leggere, inviare in forward, copiare ed anche re-criptare per spedirlo in modo sicuro ad altri. Una applicazione inaffidabile ti permetterà di leggere le parole sullo schermo ma non di produrre un documento non criptato che puoi usare in altri modi. GPG, un pacchetto di software liberi, rende le prestazioni per la sicurezza disponibili agli utenti: gli utenti possono utilizzarla infatti. Il sistema inaffidabile, invece, è è progettato per imporre restrizioni agli utenti: il sistema 'usa' gli utenti. 2. MIcrosoft presenta Palladium come una misura di sicurezza, e dichiara che proteggerà gli utenti da virus, ma questa dichiarazione è evidentemente falsa. Una presentazione da parte di Microsoft Research avvenuta in ottobre 2002 afferma che una delle specifiche di Palladium è che i sistemi operativi esistenti e le applicazioni continueranno a funzionare; questo significa che i virus continueranno a poter fare tutto ciò che fanno oggi. Quando Microsoft parla di 'sicurezza' relativamente a Palladium, essi non intendono ciò che normalmente intendiamo con questa parola: proteggere la tua macchina da cose che non vogliamo. Essi intendono, invece, proteggere i dati sulla tua macchina dall'accesso non autorizzato da parte tua in modi che altri non desiderano. Una diapositiva nella presentazione elencava i vari tipi di informazioni riservate per cui poteva venir usato Palladium per proteggerle, incluse 'informazioni segrete di terze parti' e 'informazioni segrete dell'utente'. Il fatto è che le 'informazioni segrete dell'utente' era posto fra virgolette, ammettendo che non è per questo che Palladium è progettato. La presentazione ha fatto un uso frequente di termini che di solito associamo con il contesto della sicurezza, come 'attacco', 'codice infetto', 'spoofing' cosi come di 'sicurezza'. Nessuno di questi significa quel che di solito significa. 'Attacco' non significa che qualcuno sta tentando di violare il tuo computer, significa ma che tu stai tentando di copiare musica. 'Codice infetto' significa codice inserito da te per fare operazioni che qualcun altro non vuole la tua macchina svolga. 'Spoofing' non significa che qualcuno sta tentando di entrare nella tua macchina ma che tu stai tentando di accedere ad un'area della tua macchina che è controllata da Palladium. E cosi via. 3. Una affermazione degli sviluppatori di Palladium è stata che chiunque ha sviluppato o raccolto informazioni dovrebbe avere il controllo totale su come l'utente le utilizza. Ciò rappresenterebbe un cambiamento rivoluzionario riguardo alle idee alla base dei sistemi etici e legali della nostra società. Il risultato sarebbe la creazione di un sistema di controllo senza precedenti. I problemi particolari di questo sistema non sono casuali: sono il risultato del loro scopo specifico. E' lo scopo che dobbiamo rifiutare. Copyright 2002 Richard Stallman La copia e la distribuzione con qualsiasi media di questo intero articolo è permessa senza royalty sempre che questa informazione venga fornita intatta.