RoboCup 2003 Padova, 8 luglio 2003 Privacy in rete: posta crittografata, anonymous remailer & pseudonym server Marco A. Calamari - [email protected] Il Progetto Winston Smith Il Progetto Freenet Questo documento è distribuito sotto la Gnu Free Documentation Licence 1.1 1 Copyleft 2003, Marco A. Calamari È garantito il permesso di copiare, distribuire e/o modificare questo documento seguendo i termini della GNU Free Documentation License, Versione 1.1 o ogni versione successiva pubblicata dalla Free Software Foundation. Una copia della licenza è acclusa come nota a questa slide, ed è anche reperibile all’URL http://fly.cnuce.cnr.it/gnu/doc.it/fdl.it.html Questo documento è distribuito sotto la Gnu Free Documentation Licence 1.1 2 Siete al seminario giusto ? In questo seminario verranno trattate a livello non tecnico...…. beh, il meno tecnico possibile, le problematiche connesse con la trasmissione di posta riservata ed anonima. Malgrado la ristrettezza dei tempi, cercheremo di fornire un panorama completo dall’inizio (In Principio Era il Pgp) fino a dopodomani (remailer tipo III - Mixminion) Termineremo con una breve dimostrazione di programmi per lo scambio di posta privata ed anonima Questo documento è distribuito sotto la Gnu Free Documentation Licence 1.1 3 Perche’ l’anonimato ? “Certo la privacy e’ una bella cosa, ma l’anonimato ?” “Dopo tutto chi e’ onesto non ha nulla da nascondere” Prerequisito per questo seminario e’ la convinzione che l’anonimato, in una societa’ civile ed attenta ai diritti dell’individuo, sia una cosa auspicabile anzi un diritto inalienabile; chi non ne fosse in possesso puo’ aspettare la fine dell’intervento, e sfruttare la sessione Q&A, oppure consultare materiale informativo sul sito del Progetto Winston Smith http://www.winstonsmith.info/ e magari decidere di partecipare all’iniziativa P&ace - Private & Anonymous Communication for Everyone Questo documento è distribuito sotto la Gnu Free Documentation Licence 1.1 4 In Principio era il Pgp Si’, tutto e’ cominciato con pgp e gli algoritmi di cifratura a chiave pubblica. Utilizzando Pgp (od uno dei suoi successori) insieme al vostro programma di posta preferito, potete inviare mail crittografate ad un qualunque destinatario, purche’ dotato di Pgp o programmi equivalenti (Gpg ….) Questo documento è distribuito sotto la Gnu Free Documentation Licence 1.1 5 Pgp in tre slide (1) Il meccanismo alla base di Pgp e’ che tutti gli interlocutori creano una coppia di chiavi personale, composta da una chiave detta pubblica ed una detta privata. La chiave pubblica viene messa a disposizione di chiunque la voglia, di solito su appositi server internet. La chiave privata viene gelosamente custodita dal proprietario, che non la cede a nessuno e la salvaguarda con la massima cura. Questo documento è distribuito sotto la Gnu Free Documentation Licence 1.1 6 Pgp in tre slide (2) Un testo crittografato con la chiave pubblica di una persona puo’ essere letto solo tramite la chiave privata della stessa persona. Alice, per mandare un messaggio a Bob (che non conosce), cerca su internet la chiave pubblica di Bob, la usa per crittografare il messaggio e glielo invia; neppure Alice puo’ rimettere in chiaro il messaggio. Questo documento è distribuito sotto la Gnu Free Documentation Licence 1.1 7 Pgp in tre slide (3) Bob riceve una mail crittografata, usa la sua chiave privata per rimetterla in chiaro e leggerla; solo lui puo farlo perche’ solo lui ha la chiave privata di Bob. Resta aperto il problema dell’identita’, cioe’ che Alice possa essere sicura che la chiave e l’indirizzo di posta che ha utilizzato appartengano effettivamente a Bob; si tratta di un problema importante che non affronteremo qui. Il problema si risolve comunque con le stesse tecniche crittografiche che usiamo, ed in particolare con la firma digitale, web of trust, autorita’ di certificazione. . Questo documento è distribuito sotto la Gnu Free Documentation Licence 1.1 8 Il problema della tracciabilita’ Con l’applicazione della crittografia e di Pgp. Gpg o strumenti equivalenti, Alice e Bob possono scriversi senza che Carol, che intercetta i messaggi, possa sapere cosa si sono scritti. Carol pero’ viene ugualmente in possesso di un’informazione personale comunque molto importante; sa che Alice ha scritto a Bob un messaggio in una certa data Questo documento è distribuito sotto la Gnu Free Documentation Licence 1.1 9 … e allora ? L’informazione tracciata, che e’ gia’ importante con un singolo messaggio, diventa importantissima se Carol potesse (e lo puo’ effettivamente) intercettare tutti i messaggi che passano sulla rete, e sapere a chi scrive ciascuno di noi. Pur con l’uso di Pgp la privacy e’ comunque violata; nasce quindi l’esigenza di trovare una soluzione piu’ completa. Questo documento è distribuito sotto la Gnu Free Documentation Licence 1.1 10 Gli Anonymous Remailer La soluzione ce la forniscono esattamente gli stessi mezzi crittografici usati fino ad ora. Gli anonymous remailer sono oggetti complicati ma non complessi; prima di addentrarci in particolari tecnici, descriviamone il funzionamento con una metafora. Il paragone e’ quello di una busta solidissima e dotata di serratura; Alice, crittografando il messaggio, lo ha inserito in una “busta” dotata di serratura che solo la chiave di Bob puo’ aprire Questo documento è distribuito sotto la Gnu Free Documentation Licence 1.1 11 Gli Anonymous Remailer Sulla busta ci sono pero’ sia l’indirizzo di Alice, il mittente, che quello di Bob, il destinatario. Carol, che lavora alle Poste, puo’ comodamente, quando vede passare la busta, annotarsi gli indirizzi, la data e l’ora. Si puo’ pero’ rendere inutile il lavoro di diligente annotazione che Carol fa disaccoppiando l’invio del messaggio dalla sua ricezione. Sempre come paragone, immaginiamo che l’anonymous remailer sia un gentile e fidato signore che sa crittografare la posta. Questo documento è distribuito sotto la Gnu Free Documentation Licence 1.1 12 Gli Anonymous Remailer Immaginiamo anzi che di questi gentili signori, disposti ad accollarsi questo lavoro, ce ne siano parecchi, e chiamiamoli Danny, Eddy e Freddy. Ciascuno di loro possiede la propria chiave Pgp; Danny riceve la busta mandata da Alice, che ha ovviamente il suo indirizzo come destinatario, la apre e dentro trova un’altra busta simile alla prima, con il suo indirizzo come mittente. Quello che fa Danny e’ semplicemente spedirla all’indirizzo indicato, che e’ quello di Eddy. Ma che vantaggio ne ricava Alice ? Questo documento è distribuito sotto la Gnu Free Documentation Licence 1.1 13 Cosa ha fatto Alice ? Alice, che non vuole far sapere a Carol i cavoli suoi e di Bob, anzi non vuole neppure farle sapere che si conoscono, ha scelto tre Anonymous Remailer (in questo caso Danny, Eddy e Freddie, ma in realta’ ne esistono molti altri). Ha poi realizzato un messaggio costituito da tante buste dotate di serratura, inserite una dentro l’altra, crittografate con le opportune chiavi e recanti gli opportuni indirizzi. Questo documento è distribuito sotto la Gnu Free Documentation Licence 1.1 14 Cosa ha fatto Alice ? In breve: Ha preso il messaggio per Bob, lo ha crittografato con la sua chiave pubblica, ed ha scritto sulla busta l’indirizzo di Freddy come mittente e quello di Bob come destinatario. Poi ha preso questa busta e sempre con la crittografia l’ha inserita in un’altra busta con l’indirizzo di Eddy come mittente e quello di Freddy come destinatario Poi ha preso questa busta e sempre con la crittografia l’ha inserite in un’altra busta con l’indirizzo di Danny come mittente e quello di Eddy come destinatario Poi ha preso questa busta e sempre con la crittografia l’ha inserite in una busta con l’indirizzo di Alice (il suo) come mittente e quello di Danny come destinatario Questo documento è distribuito sotto la Gnu Free Documentation Licence 1.1 15 Ehhhhhh ???? Proviamo a riassumere con uno schema. Questo documento è distribuito sotto la Gnu Free Documentation Licence 1.1 16 E allora cosa succede ? Succede che: • Alice manda la mail a Danny • Danny, che e’ il solo che la puo aprire e vederne il contenuto, trova una busta per Eddy e gliela spedisce • Eddy fa la stessa operazione, trova la busta per Freddy, e gliela manda. • Freddy riceve la sua busta, anche lui la apre, trova una mail per Bob e gliela invia. • Bob riceve una mail ed e’ l’unico che puo’ aprirla. Questo documento è distribuito sotto la Gnu Free Documentation Licence 1.1 17 …. ed inoltre Sono successe alcune cose importanti: • Nemmeno Bob sa da chi arriva il messaggio, ammenonche’ Alice stessa non ce l’abbia scritto dentro • Solo Danny sa che il messaggio viene da Alice • Solo Freddy sa che il messaggio e’ destinato a Bob • Se anche Carol impersonasse uno dei tre, non riuscirebbe comunque a capire che Alice ha scritto a Bob Questo documento è distribuito sotto la Gnu Free Documentation Licence 1.1 18 … il risultato finale A questo si aggiunga il fatto che contemporaneamente centinaia di “Alici” scrivono ad altrettanti “Bob” con lo stesso trucco e che tutti questi messaggi rimbalzano tra Danny, Eddy, Freddy ed una cinquantina di loro amici che fanno lo stesso lavoro di anonymous remailing. I nostri tre utili amici sono detti Anonymous Remailer di Tipo I, o piu’ semplicemente “remailer cypherpunks” Questo documento è distribuito sotto la Gnu Free Documentation Licence 1.1 19 Si puo’ fare di meglio ! La perfida Carol e’ pero’ una persona dotata di tempo, pazienza e mezzi infiniti; puo’ comunque tentare di fare un’analisi di chi scrive a chi utilizzando due informazioni che trapelano anche attraverso i remailer di tipo I. I messaggi hanno una dimensione che li contraddistingue, e che decresce di una quantita’ nota ad ogni passaggio. I messaggi partono ed arrivano a certi istanti, questo puo’ aiutare a riconoscere la catena di passaggi. Questo documento è distribuito sotto la Gnu Free Documentation Licence 1.1 20 Anonymous remailer tipo II Consci di questi problemi, Danny, Eddy e Freddy decidono di frequentare un corso di specializzazione per diventare piu’ furbi. Gli viene insegnato a - far diventare tutti i messaggi della stessa lunghezza (10 KB), suddividendoli in piu’ parti e/o aggiungendo spazzatura in fondo - non spedire subito i messaggi, ma inserirli in una cesta, da cui ne vengono prelevati per l’invio un certo numero a caso ad intervalli regolari - creare ogni tanto qualche messaggio “finto” destinato ad altri remailer e buttarlo nella cesta con gli altri. Questo documento è distribuito sotto la Gnu Free Documentation Licence 1.1 21 Anonymous remailer tipo II Danny, Eddy e Freddy passano l’esame e possono orgogliosamente fregiarsi del titolo di Anonymous Remailer di tipo II, o per gli amici “remailer mixmaster”. Povera Carol, ora davvero non sa piu’ cosa fare; non vi fa un po’ pena ? Ma anche ad Alice rimane un problema ……. … Bob non potra’ inviarle una dichiarazione d’amore ! Questo documento è distribuito sotto la Gnu Free Documentation Licence 1.1 22 Pseudonym server Alice non sa come farsi rispondere da Bob senza rivelargli la sua identita’. Infatti, quando Bob riceve il messaggio, lo vede arrivare da un remailer (in questo caso Freddy). Se Alice vuole ricevere una risposta, non puo’ che mettere il suo indirizzo di posta dentro il corpo del messaggio; in questo modo pero’ Bob viene a sapere chi e’. Questo documento è distribuito sotto la Gnu Free Documentation Licence 1.1 23 Pseudonym server Alice fa entrare in ballo un nuovo attore, Ziggy, che fa di mestiere lo Pseudonym server. Alice crea una catena di buste simile a quella precedente, ma che vada da Ziggy stesso, attraverso magari i soliti Danny, Eddy e Freddy, fino a lei. La invia poi a Ziggy, dicendogli di crearle lo pseudonimo di AliBaba. Ha l’accortezza di fare questo invio utilizzando una catena di remailer, diversa dalla solita, supponiamo Harry, Indy e John Questo documento è distribuito sotto la Gnu Free Documentation Licence 1.1 24 Pseudonym server Quando Ziggy riceve la busta, che contiene il bustone preparato da Alice (a proposito, si chiama “reply block” e la richiesta di creare per lei uno pseudonimo, controlla sulla sua lista se questo pseudonimo esiste gia’, ed in caso negativo usa il reply block per farle avere l’ok alla creazione dello pseudonimo AliBaba. Si noti che Ziggy non ha la piu’ pallida idea di chi Alice sia, perche’ tutti i messaggi che riceve provengono da una catena di remailer, e quelli che manda usano il reply block Questo documento è distribuito sotto la Gnu Free Documentation Licence 1.1 25 Pseudonym server Il percorso della richiesta di Alice Alice -> Harry -> Indy -> John -> Ziggy Il percorso dell’OK di Ziggy Ziggy -> Danny -> Eddie -> Freddy -> Alice Questo documento è distribuito sotto la Gnu Free Documentation Licence 1.1 26 Pseudonym server A questo punto Alice possiede un indirizzo fittizio (uno pseudonimo, appunto) nel dominio di posta di Ziggy; se l’indirizzo di Ziggy fosse [email protected], lo pseudonimo di Alice sarebbe [email protected]. Per scrivere ad Alice, Bob mandera’ un messaggio normale ad [email protected]. Ziggy ricevera’ il messaggio, ed in base allo pseudonimo, selezionera’ l’opportuno reply block da usare per inoltrare il messaggio attraverso la catena di remailer scelta da Alice. Questo documento è distribuito sotto la Gnu Free Documentation Licence 1.1 27 Pseudonym server Lo pseudonimo di Alice, [email protected] puo’ essere usato anche per spedire messaggi. Se Alice vuole spedire un messaggio a Bob dal suo pseudonimo, usera’ una catena di remailer qualsiasi per spedire a Ziggy il messaggio e l’indirizzo a cui spedirlo a nome del suo pseudonimo. A tutti gli effetti Bob puo’ addirittura non sapere che l’indirizzo da cui riceve ed a cui spedisce posta sia diverso da uno “normale”. Questo documento è distribuito sotto la Gnu Free Documentation Licence 1.1 28 Pseudonym server Il percorso del messaggio da Alice a Bob Alice -> Harry -> Indy -> John -> Ziggy -> Bob Il percorso della risposta di Bob ad Alice Bob -> Ziggy -> Danny -> Eddie -> Freddy -> Alice Questo documento è distribuito sotto la Gnu Free Documentation Licence 1.1 29 Abbiamo risolto tutti i problemi …. Non e’ proprio vero ….. Carol non se ne stara’ certo con le mani in mano; non dimentichiamo che, grazie alla potenza di internet ed alla crescita di prestazioni delle reti e dei computer, si tratta pur sempre di una comare che puo’ leggere, memorizzare, correlare tutta la posta elettronica che viene inviata, e puo’ all’occorrenza inviare messagi maligni e costruire falsi anonymous remailer, nym server ed altro ….. Questo documento è distribuito sotto la Gnu Free Documentation Licence 1.1 30 C’e’ ancora qualche problema E’ necessario inoltre considerare che un’esposizione schematica e non tecnica come questa non permette di percepire i dettagli tecnici di implementazione dei remailer e dei client che li usano. Carol ha seguito l’esempio di Eddy e soci, e si e’ messa a studiare anche lei per diventare piu’ furba, ed ha esaminato a fondo i codici di tutte le applicazioni di cui abbiamo parlato. Ha trovato non delle falle, ma dei punti deboli, che possono essere utilizzati per sferrare attacchi magari non efficacissimi ma subdoli Questo documento è distribuito sotto la Gnu Free Documentation Licence 1.1 31 …. Ad esempio ? La difficolta’ di gestione delle chiavi degli utenti e dei remailer La difficolta’ della gestione, trasmissione ed annullamento dei reply block La necessita’ di conoscere indirizzi e statistiche di funzionamento dei remailer La necessita’ di trustare (fidarsi) di server non controllati su basi suscettibili di falsificazioni quali la reputazione. La possibilita’ che Carol inserisca traffico a lei noto in quello dei remailer La possibilita’ che Carol reinvii vecchi messaggi registrati La possibilita’ che Carol tragga informazioni dal riconoscimento e dall’analisi statistica delle tipologie di messaggio La possibilita’ che Carol riesca a far cifrare e poi ad esaminare un testo da lei scelto Questo documento è distribuito sotto la Gnu Free Documentation Licence 1.1 32 Mixminion Il remailer di tipo III nascono e si sviluppano sia per contrastare gli attacchi piu’ avanzati che Carol e la sua banda hanno concepito, che per eliminare alcuni pesanti oneri che gli utenti di nym hanno, come la gestione dei reply block. Mixmnion infatti riunisce le funzioni di remailer e pseudonym server, e si svincola dalla necessita’ stessa di usare la posta elettronica; i remailer tipo III comunicano solitamente tra loro in maniera diretta con un loro protocollo che gira direttamente sopra il Tcp Questo documento è distribuito sotto la Gnu Free Documentation Licence 1.1 33 Ed in pratica ? Per utilizzare Pgp non ci sono problemi; esistono programmi standalone e plugin per tutti i gusti, sistemi operativi e programmi di posta; sulla International Pgp Homepage ne trovate per tutti i gusti. In ambiente Gnu/Linux una buona accoppiata e’ GnuPg (GPG) + Mutt o Kmail Per l’ambiente win* e’ ottimo, a mio parere, Pgp for personal privacy 6.5.8 Questo documento è distribuito sotto la Gnu Free Documentation Licence 1.1 34 Ed in pratica ? Per utilizzare remailer di tipo I e II c’e’ bisogno di un client apposito; anche se teoricamente possibile fare tutto con Pgp, non e’ pensabile utilizzarlo in pratica. Il server piu’ diffuso, Mixmaster, gira in ambiente Gnu/Linux ed *nix; poiche’ include anche il client e’ senz’altro il software di elezione su questa piattaforma. Per l’ambiente win* il server e’ Reliable, ed il client e’ Jack B. Nymble (JBN); per l’installazione consiglio le istruzioni che trovate sul PWS Questo documento è distribuito sotto la Gnu Free Documentation Licence 1.1 35 Ed in pratica ? Per uno pseudonym server il software piu’ diffuso e’ Alias.net, scritto in Perl puo’ essere eseguito su molte piattaforme. Come client sono consigliabili i soliti Mixmaster e Jack B. Nymble, che gestiscono anche i nym Alias I remailer di tipo III sono ancora in fase sperimentale; chi volesse testarli deve usare obbligatoriamente Linux o *nix ed il software che si trova sul sito principale, che al solito include sia server che client (solo a linea comandi) Questo documento è distribuito sotto la Gnu Free Documentation Licence 1.1 36 Grazie a tutti per l’attenzione. per informazioni: [email protected] - www.winstonsmith.info Il progetto Winston Smith: (su Freenet e sui mirror) https://freenet.homelinux.net/SSK@Dgg5lJQu-WO905TrlZ0LjQHXDdIPAgM/pws/9// http://e-privacy.firenze.linux.it/pws http://www.winstonsmith.info The International PGP Home Page - http://www.pgpi.org/ Pgp inc. homepage - http://www.pgp.com/ Sito del convegno “E-privacy 2003” - http://e-privacy.firenze.linux.it/ Il sito del ramailer tipo II Antani - https://remailer.firenze.linux.it Il sito di riferimento per il remailer di tipo I e II - http://mixmaster.sourceforge.net/ Il sito di riferimento per i remailer di tipo III - http://mixminion.net/ Documentazione in italiano sui remailer di tipo II - http://riot.eu.org/anon/ Jack B. Nymble & Reliable - Potato Software - http://www.skuz.net/potatoware/ Questo documento è distribuito sotto la Gnu Free Documentation Licence 1.1 37