Argomenti trattati: privacy, controllo, matching, crittografia, denaro elettronico, PGP, public-key, ARA, pseudonimi digitali, crypto-hacker
"LA PROTEZIONE DELLA PRIVACY MEDIANTE IL DENARO ELETTRONICO"
Di Hal Finney
Testo tratto dalla rivista "Extropy", #10, vol.4, n.2, Winter/Spring 1993, Los Angeles, CA, USA
Traduzione dall'inglese di Mimmo Nocera.
Come possiamo difendere la nostra privacy in un'era di crescente computerizzazione? Oggi, le nostre vite sono soggette al controllo in molti modi diversi. Ogni transazione effettuata da una carta di credito finisce in un archivio, un "database". Le nostre telefonate sono registrate dalle compagnie telefoniche e usate per i loro scopi di mercato. I nostri assegni sono fotocopiati ed archiviati dalla banca. E nuove tecniche di "matching" combinano informazioni basandosi su databases diversi, rivelando sempre maggiori dettagli sulla nostra vita. Con il crescere dei databases, e l'aumentare di transazioni effettuate elettronicamente attraverso sistemi telefonici e network informatici, aumentano di conseguenza le possibili forme di controllo.(1) Come è prevedibile, la maggior parte delle soluzioni proposte per questo problema, includono il governo. Una proposta consisterebbe nell'approvare un pacchetto di leggi mirate a restringere l'uso delle informazioni: "Nessuna informazione potrà essere utilizzata per uno scopo diverso da quello per cui essa è stata originariamente raccolta". Così, i dati accumulati da una banca attraverso il monitoraggio delle attività dei conti correnti non potrebbero essere resi disponibili a compagnie di "mailng list"; i registri telefonici non potrebbero esser venduti alle agenzie di vendita per corrispondenza, ecc. Ma questa non è una buona soluzione, per molti motivi. Il governo è notoriamente incapace di applicare le leggi che esistono, e la facilità con cui si può raccogliere ed usare informazioni suggerisce che sarebbe praticamente impossibile applicare una legge come questa. Inoltre il governo ha una tendenza ad auto- esimersi dalle proprie leggi. E' infatti improbabile che l'IRS, per esempio, smetta allegramente di usare il "matching" fra i databases, con il quale rintracciano gli evasori fiscali. Senza tralasciare che la stessa idea di cercare di restringere l'uso delle informazioni richiede delle severe restrizioni delle azioni private degli individui, cosa che gli "Extropians" troverebbero inaccettabile. Ma c'è un'altra soluzione, sostenuta con forza da David Chaum, del "Center for Mathematics and Computer Science" in Olanda. Mentre la maggior parte delle persone interessate a questo problema hanno cercato soluzioni che prevedevano la presenza "paternalistica" del governo, Chaum ha lentamente gettato le basi per una nuova forma di organizzazione delle informazioni economiche e personali. Piuttosto che affidarsi a nuove leggi e a maggiori regolamentazioni, Chaum guarda alle soluzioni tecniche. E queste soluzioni si basano sull'antica scienza che si dedica a mantenere riservate le informazioni: la crittografia. La crittografia, l'arte della scrittura segreta, è passata attraverso una vera rivoluzione negli ultimi venti anni, una rivoluzione fatta esplodere dall'invenzione della crittografia "a chiave pubblica" (public-key). Aggrappandosi a questa nuova tecnologia, gli scienziati informatici si sono espansi in decine di direzioni, spingendo le frontiere della segretezza e della riservatezza in nuovi territori. E sono proprio queste nuove applicazioni della crittografia che promettono di riuscire ad evitare i pericoli di cui abbiamo parlato. Si può considerare l'approccio di Chaum alla protezione della privacy come costituito da tre livelli. Il primo è la crittografia public-key, che protegge la privacy dei singoli messaggi. Il secondo livello costituisce la messaggeria anonima, che permette di comunicare attraverso la posta elettronica ("email") senza dover rivelare la propria identità. Il terzo livello, infine, è il denaro elettronico, che permette a chiunque non solo di comunicare attraverso un network informatico, ma anche di sbrigare affari con la stessa riservatezza che otteniamo quando usiamo denaro contante: se entriamo in un negozio oggi e acquistiamo con del contante, non rimane nessun dato che ci leghi personalmente alla transazione. Lo scopo del denaro elettronico è far sì che si possa effettuare elettronicamente lo stesso tipo di transazioni private. (Sappiate che esistono altre proposte di "denaro elettronico" che non assicurano lo stesso tipo di protezione della privacy. Le proposte di Chaum intendono conservare le proprietà di riservatezza del contante, per cui è più corretto parlare di "digital cash". Invece le altre alternative elettroniche al denaro non solo privano il contante della sua "privacy", ma aiuterebbero il monitoraggio informatico inserendo maggiori informazioni nei databases, scoraggiando così l'uso del contante. Se vi capita di vedere una proposta per un sistema di denaro elettronico, controllate se prevede la possibilità di mantenere l'anonimato delle transazioni finanziarie allo stesso modo del denaro di carta; se non lo prevede, rendetevi conto che la proposta mira ad affossare, non aiutare, la privacy individuale). Il primo dei tre livelli in un sistema di denaro elettronico che protegga la privacy, è la crittografia "public-key": il concetto di base, inventato nel 1976 da Diffie e Hellman(2), è semplice. Un sistema di crittazione (encrypting) è stato sempre descritto come composto da due parti: un metodo di crittazione ed una chiave. Si considera che il metodo sia noto pubblicamente, mentre la chiave viene tenuta segreta. Se due persone vogliono comunicare, si accordano su una chiave segreta, e la usano per cifrare e decifrare il messaggio. La crittografia a chiave pubblica introduce l'idea che ci possano essere due chiavi invece di una: la prima, pubblica, conosciuta da tutti, ed usata per cifrare i messaggi. L'altra, quella segreta, è nota solo a voi, e si usa per decifrare i messaggi. Le due chiavi, pubblica e segreta, vengono create insieme, a coppie, in modo che ogni chiave pubblica corrisponda ad una sola chiave segreta, e viceversa. Quindi, per usare un sistema a chiave pubblica, si dovrà prima creare una coppia di chiavi; poi comunicare agli "amici" la chiave pubblica, mantenendo segreta l'altra chiave. Quando qualcuno vorrà inviarvi un messaggio, dovrà cifrarlo usando la vostra chiave pubblica. Il messaggio che ne risulterà potrà essere letto soltanto utilizzando la vostra chiave privata. Ciò significa che nemmeno la persona che ha cifrato il messaggio può decifrarlo! Se dimentica cosa diceva il messaggio e per caso lo avesse cancellato, non c'è modo per lui di risalire all'originale. Solo voi potrete farlo. Questo è il paradosso della crittografia a chiave pubblica - cioè che si può cifrare un messaggio in tal modo da non poterlo de-cifrare, pur conoscendo l'esatta formula usata per la trasformazione. La figura 1 illustra le fasi di una cifrazione a chiave pubblica. (le chiavi e i messaggi sono basati sull'output reale di PGP, il software "public-key" di Phillip Zimmermann). Alice, a sinistra, crea prima la sua coppia di chiavi, e invia la sua chiave pubblica, in alto, al suo amico Bob, a destra. Il secondo riquadro è la sua chiave segreta, che Alice mantiene segreta. Bob, riceve e conserva la chiave pubblica di Alice, poi, quando vuole scriverle, compone il messaggio (secondo riquadro a destra). Con un programma di cifrazione a chiave pubblica come il PGP, cripta il messaggio usando la chiave pubblica di Alice. Il messaggio cifrato (terzo riquadro a destra) viene spedito ad Alice, la quale usa la sua chiave segreta per decifrare il messaggio di Bob, come si vede nell'ultimo riquadro in basso a sinistra. Non c'è più bisogno che la crittografia a chiave pubblica rimanga un mistero: ora esistono pacchetti di software pubblico dominio che permettono di sperimentare questo tipo di crittografia sul proprio computer, come il PGP di Zimmermann ed altri.
Messaggi anonimi
La crittografia a chiave pubblica permette a chiunque di comunicare elettronicamente con riservatezza e sicurezza. Con queste tecniche si possono inviare messaggi al sicuro da occhi indiscreti. Tuttavia questo è solo un passo verso la soluzione del problema "privacy"; il prossimo passo contempla l'arrivo al secondo livello della privacy: i messaggi anonimi - quei messaggi dei quali non si può conoscere il mittente e la destinazione. Questo si è reso necessario allo scopo di ottenere la privacy per una normale transazione in contanti in un network elettronico. Proprio come un commerciante accetta del contante da un acquirente senza chiedere alcuna prova della sua identità, allo stesso modo vogliamo che accada con il nostro sistema di denaro elettronico, senza che la persona coinvolta, o chiunque controlli il network, debba venire a conoscenza dell'identità dell'altro. Esistono dei problemi per quanto riguarda la posta anonima negli odierni sistemi di "email". I network nazionali di posta elettronica sono costituiti da migliaia di macchine, connesse fra loro attraverso una quantità di "gateways" e sistemi di passaggio (message-passing). Un messaggio, per arrivare a destinazione in un network siffatto, deve essere necessariamente ben indirizzato. Di solito, un indirizzo email è composto dal nome dell'utente e dalla denominazione del computer a cui egli "appartiene" (home). Man mano che il messaggio si fa strada attraverso il network, ad esso vengono aggiunte informazioni sul suo "instradamento" (routing), in modo da conservare una memoria della sua provenienza, e della "strada" effettuata per giungere a destinazione. In questo sistema, tutti i messaggi sono visibilmente contrassegnati con la provenienza e la destinazione: riesce difficile immaginare di ottenere messaggi anonimi. Chaum ha proposto due diversi sistemi per superare il problema.(3) In questa sede prenderà in considerazione quello che Chaum chiama "Mix", perché mi sembra più semplice e più adeguato per un utilizzo di posta elettronica anonima. Il concetto di "Mix" è molto semplice: consiste fondamentalmente in un servizio di inoltro dei messaggi, si pensi al normale servizio postale. Immaginate di voler inviare una lettera ad un amico, ma in modo che se qualcuno controllasse la vostra posta, non saprebbe che lo state facendo. Un modo potrebbe essere di mettere la lettera in un plico indirizzato al vostro amico, e poi chiuderlo a sua volta in un altro plico più grande da inviare ad una terza persona, unitamente ad un messaggio che lo preghi di far avere la lettera al vostro amico. Così facendo si nasconderebbe la destinazione reale della vostra posta a chi stesse osservando i plichi inviati. I Mixes di Chaum utilizzano la stessa idea di base, applicandola all'email e migliorandola con la crittografia a chiave pubblica. Un Mix è un programma in grado di ricevere la posta elettronica, il quale riceve messaggi contenenti richieste di inoltro (o "forward") ad altri indirizzi, estrae le relative istruzioni e rispedisce i messaggi come richiesto. Chaum ha aggiunto a questo la sicurezza, ideando una diversa chiave pubblica per ogni Mix. Quindi, invece di spedire semplicemente il messaggio con relativa richiesta di inoltro, si cifrerà il testo e le informazioni di inoltro con la public key del Mix prima di inviarle al Mix, il quale, poi, non farà altro che decifrare il messaggio con la propria chiave segreta, tirar fuori le informazioni di forward, e inoltrare il messaggio. Per proteggere la privacy del mittente, il Mix elimina dal messaggio le informazioni riguardanti il mittente originale prima di inviarlo. Per un grado maggiore di security, inoltre, il mittente originale avrà la possibilità di specificare un'intera famiglia di Mixes ("Cascade") attraverso i quali dovrà passare il messaggio prima di essere inoltrato alla sua destinazione finale. In questo modo non si potrà capire chi spedisce a chi, nemmeno se uno dei Mixes fosse guasto. In conclusione, l'uso dei Mixes è tutto ciò che serve per ottenere un sistema di posta anonima: un messaggio "en route" in un network, non deve rivelare né la sua provenienza né la sua destinazione. Potrebbe venire da un Mix, o andare verso un Mix, o entrambe. La figura 2 mostra un esempio di come un messaggio anonimo venga "forwardato" attraverso un Mix, usando la crittografia a chiave pubblica per proteggere la propria privacy. Come in figura 1, Bob vuole inviare un messaggio cifrato ad Alice, ma stavolta intende usare un Mix per ottenere più riservatezza. Partiamo con il messaggio cifrato di fig. 1: Bob (stavolta a sinistra) aggiunge innanzitutto le informazioni che saranno poi tradotte dal Mix. Queste conterranno l'indirizzo email di Alice nel formato specifico richiesto dal Mix (questo esempio fa uso di una procedura semplificata usata attualmente con remailers sperimentali). Poi Bob cifra il tutto con la public key del Mix, e lo spedisce a quest'ultimo. Una volta ricevuto il messaggio, il Mix applica la procedura inversa di quella usata da Bob: decifra il messaggio con la propria chiave segreta, poi estrae le istruzioni di remailing aggiunte da Bob. Ciò che si ottiene (illeggibile per il Mix perché cifrato con la chiave segreta di Alice) è il messaggio che verrà poi inoltrato ad Alice secondo le istruzioni. Come prima, Alice riceve il messaggio e lo decifra con la propria chiave segreta, ma stavolta, il percorso del messaggio è stato assicurato e protetto dal Mix, e il fatto stesso che Alice e Bob stiano comunicando, rimane un segreto fra loro.
Indirizzi per risposta anonima (Anonymous Return Addresses)
Per raggiungere il massimo della riservatezza nei messaggi, abbiamo bisogno di qualcosa di ancora più avanzato della semplice messaggistica anonima. Questi messaggi anonimi sono essenzialmente a "senso unico": io posso inviarvi un messaggio, del quale sono nascosti sia il mittente che il destinatario, e quando ricevete il messaggio non avete modo di capire chi l'abbia spedito. Ciò significa che non mi potete rispondere; quindi abbiamo bisogno di procurarci questa possibilità. In questo caso, ci troviamo davanti ad un apparente paradosso: cercare di rispondere a qualcuno del quale non conosciamo né l'identità né l'email. Chaum dimostra che questo può essere superato con la crittografia a chiave pubblica e l'uso dei Mixes, e chiama questa tecnica Anonymous Return Address (ARA). Nella sua forma più semplice, io posso ottenere un ARA cifrando il mio email con la chiave pubblica di un particolare Mix, che chiameremo Mix A. Poi invierà il tutto, unitamente al mio messaggio, ad una "Cascade" di Mixes. Ora, quando voi riceverete il mio messaggio, non potrete vedere a quale indirizzo rispondere, ma sarà visibile quella parte di testo che costituisce l'ARA. Per rispondermi, basterà inviare la risposta, cifrata insieme all'ARA, al Mix A, il quale decifrerà l'ARA con la sua chiave pubblica, ottenendo il mio email originale, col quale potrà inoltrare a me la risposta. Alla fine, io avrò ricevuto la vostra risposta, senza che voi conosciate la mia identità. La figura 3 mostra questo processo graficamente. Bob, a sinistra in alto, crea il proprio ARA cifrando l'istruzione di remailing con la chiave pubblica del Mix, come era stato fatto in fig.2. Poi include l'ARA nei messaggi che spedisce, sia pubblicamente che anonimamente. Nell'esempio, Alice vede l'ARA di Bob e pensa di rispondergli pur ignorando il suo indirizzo email. Allora Alice compone il proprio messaggio, secondo riquadro a destra, e lo combina con l'ARA di Bob, per poi spedire il tutto al Mix. A questo punto il Mix utilizza la propria chiave segreta per decifrare la parte ARA del messaggio, estraendo le istruzioni di remailing che Bob aveva cifrato per creare l'ARA. Il Mix estrae quindi la richiesta di remailing e invia il messaggio all'indirizzo di Bob. Questi strumenti aprono una serie di possibilità. Con i Mixes, le Cascades, e gli ARA, la gente può entrare in comunicazione senza conoscere le identità l'uno dell'altro. Si può inviare della posta anonima ad un board pubblico (BBs, ecc...), allegare il proprio ARA e ricevere risposte da persone che in effetti non sanno a chi scrivono. Qualcuno potrebbe anche rispondere anonimamente ed allegare a sua volta il proprio ARA. Quindi si può entrare in comunicazione con un altro senza che nessuno dei due sappia niente dell'altro. Alcuni sistemi come le "Chat lines" o i simulatori di CB offrono a tutt'oggi l'illusione di un reale anonimato, ma nella maggior parte dei casi i sysop possono facilmente passare attraverso gli pseudonimi e le protezioni per scoprire le vere identità degli utenti. Con una Cascade di Mixes, nessun singolo Mix è in grado di stabilire la relazione esistente: finché un solo Mix della Cascade rimane in funzione, l'identità rimane senz'altro segreta.
Pseudonimi digitali
I messaggi anonimi mettono in evidenza l'utilità di "pseudonimi digitali", un altro concetto sviluppato da Chaum. Non essendoci alcuna identificazione, sembrerebbe non esistere il modo di verificare se due messaggi provengano dalla stessa persona. Si potrebbero avere problemi con impostori che si fingessero altre persone, creando confusione. Per risolvere tale problema, abbiamo bisogno di un altro concetto proprio della crittografia a chiave pubblica: la "firma elettronica". Come descritto sopra, la crittografia public-key fa sì che i messaggi cifrati con la mia chiave pubblica, possano essere decifrati con la mia chiave segreta. Ma i messaggi possono anche essere cifrati con la chiave segreta ed essere poi decifrati con quella pubblica. Questa proprietà viene utilizzata per la firma elettronica: se io cifro un documento con la mia chiave segreta, chiunque è in grado di decifrarlo con la mia chiave pubblica; e poiché la chiave segreta è, appunto, segreta, io sono l'unico che può compiere tale operazione. Questo vuol dire che se un documento può essere decifrato con la mia chiave pubblica, allora solo e soltanto io posso averlo cifrato con la mia chiave segreta. Questo viene considerato un tipo di "firma digitale", nel senso che costituisce una prova del fatto che io sono il "firmatario" (cioè il cifrante) del documento. Il concetto di firma digitale può essere utilizzato per risolvere il problema degli impostori, implementando gli pseudonimi digitali. Il mio pseudo digitale non è altro che una coppia di chiavi pubblica/segreta, delle quali, come al solito, rendo nota quella pubblica, unitamente al mio ARA. A questo punto, per dimostrare che un dato messaggio proviene da me e da nessun altro, "firmo" il messaggio utilizzando la chiave segreta del mio pseudo digitale. Qualunque gruppo di messaggi firmati con lo stesso pseudonimo viene quindi riconosciuto come proveniente da me, perché solo io posseggo quella tal chiave segreta. Nessuno conoscerebbe la mia reale identità, ma io riuscirei ugualmente ad apparire come una "persona" identificabile sulla rete, attraverso il mio pseudonimo digitale. Con la crittografia a chiave pubblica, i Mixes e gli pseudonimi digitali, abbiamo tutto ciò che serve per un network di persone che comunicano privatamente ed anonimamente. Ora, ci serve un modo per operare transazioni economiche che conservino queste condizioni.
(segue)