Anonymous communications

Guzzo Antonio 02/04/09
Scarica PDF Stampa
Mix net
Per garantire l’anonimato in rete, ci si affida principalmente alla tecnologia delle Mix-net studiata da David Chaum nel 1981 Queste tecnologie richiedono che le risorse degli utenti siano usate in modo collaborativo. La condivisione reciproca delle risorse, per mezzo di algoritmi sicuri, garantisce che un attaccante in grado di controllare la rete passivamente (leggendo tutto il traffico in ogni segmento) ed attivamente (potendo generare del traffico arbitrario), non riesca a scoprire l’identità di un individuo che si protegge all’interno di una mixnet. Anonymous remailer, TOR e Freenet si basano su questi concetti evoluti e rielaborati negli anni. Il funzionamento di queste reti si basa sulla collaborazione e sulla fruibilità di risorse condivise.
Remailers
Mixminion è una diffusa implementazione di un remailer anonimo (anonymous remailer, ovvero un meccanismo per la trasmissione di messaggi di posta elettronica in modalità anonima. Durante la trasmissione di un’e-mail, pur applicando una qualche forma di cifratura del contenuto, utilizzando tecnologie quali PGP e S/MIME, sono ancora presenti troppe informazioni note ad un osservatore ostile sulla rete: soprattutto identità del mittente e destinatario, ma anche informazioni sul programma di posta, lunghezza del messaggio e così via. L’identità del mittente di un messaggio inviato tramite Mixminion, assieme alle altre informazioni sensibili, non vengono svelate al destinatario, nè ad un osservatore malevolo; si dice che il contenuto è correlato all’autore. L’anonimato viene raggiunto facendo passare il messaggio in forma cifrata attraverso diversi nodi, che conoscono solamente i nodi adiacenti. L’implementazione di Mixminion permette la trasmissione anonima di generici pacchetti di dati, con solamente lo scambio di messaggi di posta elettronica. Esso pùo quindi essere utilizzato come livello di rete di base per applicazioni elaborate con forti requisiti di privacy, come ad esempio Free Haven. Mixminion è sviluppato da Roger Dingledine, Nick Mathewson e George Danezis; il primo di questi `e lo sviluppatore principale di Free Haven e con il secondo ha sviluppato Tor.
Evoluzione dei remailer
I protocolli di remailer anonimi sono evoluti nel tempo. Si distinguono tre generazioni, precedute da un tipo di remailer non propriamente anonimo; Mixminion è l’implementazione standard di riferimento della terza e ultima generazione.
Pseudonym remailer
La prima forma di remailer, indicato successivamente come remailer anonimo di tipo 0, `e in verità un pseudonym remailer, in quanto si tratta di un singolo host che smista i messaggi secondo degli pseudonimi ivi memorizzati. Il server di questo tipo più importante `e stato anon.penet.fi; esso offriva a metà degli anni ’90 un servizio di SMTP e POP che prima di inoltrare i messaggi di posta toglieva le informazioni sul mittente contenuti nell’header e utilizzava come identificativo del mittente uno pseudonimo. Per le risposte, il destinatario inoltrava il messaggio all’indirizzo pseudonimo, ed il remailer gestiva la corrispondenza fra pseudonimo e mittente. Il problema fondamentale di questo approccio, che `e stata anche la principale causa della chiusura di anon.penet.fi, è la necessaria presenza sul server di una lista di corrispondenze fra mittente effettivo pseudonimo utilizzato. Oltre alla scarsa anonimità del sistema, un attaccante che monitori la rete può conoscere il destinatario da un messaggio in transito, in quanto la consegna del messaggio è affidata al classico SMTP.
Cypherpunk remailer – Tipo 1
La prima forma di inoltro dei messaggi di posta elettronica propriamente anonima si basa su una rete di cypherpunk remailer; dei nodi che, accettando messaggi di posta, possibilmente cifrati con algoritmi a chiavi asimmetriche (utilizzando programmi quali PGP o GPG), li inoltrano rimuovendo le informazioni riguardanti il mittente ed il destinatario. La destinazione `e specificata in appositi campi tra l’header e il corpo dell’email. Il messaggio deve essere preventivamente costruito ad-hoc dal mittente, che decide un percorso casuale attraverso i remailer per raggiungere il destinatario. Infatti cifrando varie volte in modo opportuno il messaggio, è possibile utilizzare più remailer in cascata, ognuno dei quali può decifrare una parte di header del messaggio e scoprire l’indirizzo soltanto del prossimo remailer; così nessun remailer conosce il contenuto del messaggio, soltanto il primo può conoscere l’identità del mittente e soltanto l’ultimo conoscere il destinatario. Il limite principale di questo meccanismo rimane l’impossibilità di gestire le risposte; il destinatario di un messaggio anonimo, non avendo riferimenti sul mittente, non può rispondergli. Inoltre i messaggi sono tracciabili, sono troppe le informazioni sulla dimensione e sul flusso dei messaggi note ad un eventuale malintenzionato.
Nymserver
Per ottenere un riferimento anonimo del mittente, ci si può appoggiare ad un server che gestisce un riferimento al mittente; tali server vengono detti pseudonym server. L’informazione sulla corrispondenza tra identità del mittente e pseudonimo fornito non `e memorizzata direttamente; il server infatti conosce per ogni pseudonimo un blocco precalcolato dal mittente (reply block) per inoltrare la risposta tramite una catena di remailer anonimi. Il mittente che vuole quindi permettere risposte al suo messaggio deve prima dell’invio del messaggio accordarsi con il nymserver per predisporre il reply block, e quindi nei campi header riservati dal meccanismo Cypherpunk inserire il suo pseudonimo. Si noti che il destinatario può anche comunicare al nymserver tramite una catena di remailer; sia identità del mittente che del destinatario sono quindi nascoste agli occhi del nymserver, che può scaricare ogni responsabilità (plausible deniability). Il server che storicamente offre questo servizio `e nym.alias.net, collocato presso il MIT. Per necessità e nata una classe di server che offre un ulteriore servizio: l’elenco dei remailer conosciuti. Generalmente oltre al nome del nymserver presentano statistiche (effettuate con l’invio di messaggi di prova) sulla loro disponibilità e sui servizi offerti; sono quindi noti con il nome di statistics server o directory server. ixmaster remailer – Tipo 2
I nodi di tipo cypherpunk sono evoluti in mixmaster remailer, la seconda generazione di remailer anonimi; il sistema nuovo `e quindi retrocompatibile. Questi nodi cercano di limitare i problemi di tracciabilit`a effettuando diverse operazioni:
• Spezzano prima dell’inoltro i messaggi in pacchetti di dimensione fissa, con eventuale riempimento con dati casuali dei blocchi troppo corti.
• Effettuano l’invio dei pacchetti in tempi differenti, tenendo sempre un numero minimo di pacchetti da inviare (pooling).
• Inviano dei pacchetti finti (dummy message) per evitare la situazione in cui solo un utente sull’intera rete comunica, rendendo evidente il flusso di dati.
• Il messaggio `e ricomposto a destinazione, tramite un’apposita applicazione.
Anche con i remailer di tipo mixmaster rimane il problema della risposta ai messaggi, essendo la comunicazione unidirezionale; anche qui ci si può appoggiare ad un nymserver per tenere un riferimento al mittente.
Mixminion – Tipo 3
Mixmaster rappresenta una serie di accorgimenti per “rattoppare” Cypherpunk, aumentando sia la complessità del sistema che quindi l’inaffidabilità; oltre ai problemi noti sopra elencati, la gestione delle risposte rimane comunque macchinosa e scomoda. Per questi motivi nel 2003 nasce Mixminion, che parte dall’esperienza dei due tipi di remailer precedenti e raccogliendo i loro meccanismi di funzionamento li migliora, rendendo inoltre pi`u semplice la gestione delle risposte . La rete Mixminion segue il seguente modello ogni nodo conosce soltanto l’identità del nodo precedente e di quello successivo nel tragitto di una comunicazione, a causa della cifratura a chiavi asimmetriche. Anche qui i nodi effettuano le varie operazioni di frammentazione e dispersione dei pacchetti, con le migliorie necessarie a risolvere i problemi presentati. Una delle novità introdotte riguarda il protocollo di trasmissione fra i nodi remailer, che allarga notevolmente il suo ambiente di utilizzo: non avviene pi`u a livello di SMTP, ma direttamente su TCP/IP, permettendo lo scambio agevole di qualsiasi tipo di dati. Uno dei più grandi miglioramenti riguarda il diverso approccio al percorso dei pacchetti: i messaggi trasmessi tra i nodi sono composti da due header e un payload. I due header specificano due percorsi distinti attraverso i nodi, uno dei quali deve essere segnato: in corrispondenza del nodo segnato (crossover point), i due header vengono scambiati. Questo meccanismo permette tre tipi di comunicazione:
• Forward message, in cui il mittente rimane anonimo e decide il percorso dei due header, calcolati opportunamente per poter raggiungere il destinatario noto. Solo questa modalità trasmette messaggi in forma binaria e permette l’invio di dati non solo testuali.
• Direct reply, in cui il destinatario utilizza un reply block simile a quello di Nymserver per  rispondere al mittente; questo gli deve già essere noto, per esempio se `e stato comunicato durante un messaggio precedente.
• Anonymous reply, in cui sia il mittente che il destinatario sono sconosciuti. Il mittente sceglie il percorso del primo header e utilizza come secondo header il reply block del destinatario.
I reply block, qui chiamati SURB (Single Use Reply Block) poichè devono essere utilizzati soltanto una volta, sono l’equivalente del blocco precalcolato memorizzato dal Nymserver. Esso in pratica contiene il percorso cifrato a cascata da seguire per ritornare al mittente. Questi blocchi sono inviati anonimamente a vari nodi della Mixminion scelti a caso per permettere ad eventuali messaggi di risposta in attesa ivi memorizzati di giungere a destinazione. Nel caso quindi di anonymous reply, se il SURB `e già noto lo si imposta come secondo header, altrimenti si lascia al destinatario il compito di recuperare il messaggio. Per contrastare la marcatura dei pacchetti da parte di alcuni nodi malevoli fra i quali `e presente il nodo di crossover, `e possibile utilizzare più di un crossover point; `e statisticamente difficile scegliere casualmente più nodi malevoli per il crossover su una rete in gran parte affidabile. In Mixminion alcuni nodi offrono funzionalità aggiuntive: statistiche di rete e directory server. Quest’ultimo servizio, che raccoglie e offre una lista di nodi presenti, `e delicato in quanto può presentare una lista di nodi ad hoc per tentare un attacco a partizionamento (partition attack): infatti fornendo ad un soggetto da attaccare una lista di nodi controllati, `e possibile tracciare la trasmissione. Per evitare ciò è necessario richiedere le liste di nodi da diversi directory server. Un problema risolto in parte riguarda la possibilità per un nodo ostile di modificare i tempi di invio di alcuni messaggi aspettando per l’inoltro periodi in cui la rete è maggiormente scarica; questo problema è fortemente limitato dal pooling ma pur sempre possibile anche se con molta imprecisione. Inoltre il fatto stesso che la rete non sia uniformemente carica nel tempo può a lungo termine fornire informazioni sempre più dettagliate riguardo l’identità dei mittenti e dei destinatari; questo problema è comune e generalmente non risolto nei sistemi di comunicazione anonima.
 
a cura del Dottor Antonio Guzzo
Responsabile CED – Sistemi Informativi del Comune di Praia a Mare

Guzzo Antonio

Scrivi un commento

Accedi per poter inserire un commento