Tradotto da: 'Trusted Computing: Promise and Risk' By Seth Schoen

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 anti-competitivo 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.)

Immagazzinamento sigillato

Gli indirizzi sigillati per dare una maggiore sicurezza al PC falliscono: l'inabilità di un PC per assicurare le chiavi crittografiche al magazzino. Solitamente, le chiavi e le password che proteggono i documenti privati o gli account sono immagazzinati localmente sugli hard drive del computer, insieme ai loro documenti. Questo è stato paragonato al consegnare la combinazione intatta in una stanza di sicurezza simile. In pratica, gli intrusi che irrompono in un computer possono, frequentemente, copiare la decriptazione e segnarsi le chiavi dall'hard drive del computer. Le chiavi devono essere accessibili dagli utenti del computer in ordine di utilizzo per i loro fini, gli ingegneri della sicurezza hanno affrontato un problema: Come possono le chiavi essere fornite così che possano essere accessibili solo dagli utenti legittimati e non a, come dire, un virus, i quali possono acquisire gli stessi privilegi degli utenti legittimi?
L'immagazzinamento sigillato è un'invenzione ingegnosa che genera chiavi basate in parte sull'identità del software richiedente il loro uso ed in parte sull'identità del computer sul quale il software è installato. Il risultato è che le stesse chiavi abbisognano di non essere immagazzinati sull'hard drive ma possono essere generate tutte le volte che loro ne hanno bisogno – stabilito che il software autorizzato fida per generarle su una macchina autorizzata. Se un altro programma il quale programma ha generato la chiave criptata originalmente, o “blindato”, i dati privati potrebbero essere decriptati con il metodo della forza bruta, o “sblindato”, il metodo della forza bruta è garantito al fallimento per questi dati. Similarmente, se i dati sono copiati in una forma criptata in una macchina differente, provando a decriptarli non sarà possibile attuare questa via con successo. Così, le vostre e-mail potrebbero essere leggibili al vostro client e-mail, ma incomprensibili ad un virus. L'immagazzinamento sigillato rappresenta una soluzione intelligente per una prevenzione del problema di immagazzinamento delle chiavi intrattabile.
Per esempio, supponiamo che voi avete un diario privato sul vostro PC oggi. Volete impedire che il vostro diario sia mosso dal vostro computer senza il vostro permesso, molti come voi possono bloccare una pagina di diario all'interno di una scrivania. Mentre esiste il controllo di accesso e il sistema di criptazione degli indirizzi hanno uno scopo, devono essere bypassati o sovvertiti. Se qualcuno compromette il vostro sistema, o viene infettato da un worm o un virus, il software locale può essere alterato, o i documenti privati possono essere inviati via e-mail o copiati su un altro computer. (Il SirCam è un worm trasmissibile via e-mail più precisamente questo – tutto quello che infetta un computer, spedisce i files ed ha trovato gli allegati alle e-mail che casualmente vengono scelti dagli utenti Internet. Un sostanziale valore delle informazioni private e confidenziali era inappropriatamente divulgato come un risultato).
Potete criptare il vostro diario usando una password, ma se la vostra password è corta, qualcuno può copiare il diario criptato sarà ancora possibile decriptarlo (provando ogni possibilità con un attacco di forza bruta). C'è di più, se il software criptato da voi usa, o l'editor con cui avete composto il diario, è clandestinamente rimpiazzato con una versione modificata, esso dovrebbe far trapelare la decriptazione del testo del diario (o una tua password) a parti terze.
L'immagazzinamento sigillato può lavorare insieme con la memoria velata e sicura I/O per assicurare che il vostro diario possa essere letto solo sul vostro computer, e solamente da quel particolare software con il quale è stato creato. Sempre se un virus o un worm come SirCam faccia trapelare il vostro diario criptato, il recipiente non lo decripterà. Se un intruso o un virus nascosto altera il vostro software criptato, non sarà così difficile poterlo decriptare, così il contenuto del vostro diario rimarrà protetto.

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 retro-compatibile 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-computing-informative 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 retro-compatibili 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à

Pros

La competizione e l'interoperabilità sono le norme.
Il controllo dell'utente e la sua scelta sono protetti.
Il blocco ed il controllo remoto sono difficoltosi perché i proprietari dei computer hanno un controllo sostanziale su tutto il software locale in tutte le circostanze.

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 distribuite le applicazioni (Distributed.net. SETI@Home, ecc.) possono riguardare i computer posseduti dalle parti false senza rischiare l'integrità dei calcoli o la confidenza dei dati.
Le società possono effettivamente imporre politiche 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

Cons

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 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.

Trusted Computing: Promesse e rischi (last edited 2006-01-20 22:49:00 by JoeVinegar)