|
|
Il sistema Onion Routing [15] è una soluzione per la connessione anonima indipendente dalle applicazioni che lo usano. Lo scopo principale di Onion Routing è di fornire comunicazioni resistenti all'analisi del traffico, su una rete pubblica, in modo efficiente e ad un costo contenuto. Questa soluzione deve, inoltre, evitare che un osservatore esterno sia in grado di stabilire che due parti (in questa trattazione denominati initiator e responder) sono in comunicazione. La rete consiste di un numero di Onion Routers che hanno funzionalità di semplici nodi di instradamento e le proprietà di un mix, ed i dati vengono spediti attraverso una path di questi nodi. I mittenti verranno connessi alla rete di onion router attraverso un onion proxy; sarà poi quest' ultimo a preparare i dati e a stabilirne l' instradamento. L'anonimia è garantita solo dal primo all' ultimo onion router, mentre la connessione dal mittente al primo onion router, e dall' ultimo onion router al destinatario, non è anonimamente protetta (alle società è perciò raccomandato di avere un onion router ai margini della propria sottorete). ![]() Il fulcro di questa soluzione è quindi l'onion, un puntatore ad una struttura dati che viene spedito ad un onion router. Esso è cifrato mediante la chiave pubblica dell'onion router a cui è spedito e definisce l' instradamento della connessione anonima. Infatti contiene le informazioni sul prossimo nodo (il prossimo onion router o il destinatario), il seme per generare le chiavi simmetriche, che saranno usate dall' onion router durante l' instradamento dei dati, e un onion incapsulato che è spedito al prossimo onion router. Quando un mittente vuole comunicare in maniera anonima con un particolare utente, viene settata una connessione anonima. Quindi l'onion proxy prepara un onion che deve essere spedito al primo onion router. Quest' onion router decifra l' onion, ottiene l'informazione sul prossimo nodo ed il seme della chiave, e spedisce l' onion incapsulato al prossimo onion router. Viene quindi settata una connessione anonima, identificata da un ACI (Anonymous Connection Identifier), attraverso cui i dati possono essere trasmessi. Inizialmente l'applicazione proxy anonimizza il flusso dei dati che gli arriva e prima di spedire i dati attraverso la rete di onion router, li codifica più volte usando le chiavi simmetriche che erano state distribuite a tutti gli onion routers sulla path. Le informazioni sono trasportate da piccole celle contenenti gli ACI appropriati. Ogni onion router rimuove o aggiunge uno strato di cifratura (usando chiavi simmetriche, generate da semi materiali nell'onion) in dipendenza dalla direzione dei dati (avanti/indietro). Molte altre connessioni anonime esisteranno allo stesso tempo. Osservatori vedranno scorrere messaggi attraverso la rete di onion router, ma non vedranno (in teoria) chi sta comunicando con loro. Il sistema onion router resiste all'analisi del traffico così i dati appaiono differenti ad ogni onion router. Gli onion router sono anche nodi di entrata e, il traffico entrante o quello esistente può non essere visibile, rendendo ancora più difficile il monitoraggio dei pacchetti. Dal lato negativo, il sistema è inteso per comunicazioni in real-time e bidirezionali, che limitano la possibilità di ritardare il traffico e decrementano le proprietà di mix degli onion routers. Siccome gli onion sono avanzati lungo la stessa path, che dopo formerà il canale anonimo, essi dovrebbero essere mischiati e ritardati. Nel 1997 è stato implementato un iniziale prototipo per dimostrare la fattibilità dell'approccio ed è stato in funzione fino al Gennaio 2000. Questo prototipo utilizzava computer operanti al Naval Research Laborator in Washington, D.C., i quali simulavano una rete di cinque onion router. Nel periodo in cui il sistema è stato in funzione ha suscitato parecchio interesse attraendo utenti in più di sessanta paesi e tutti i sette maggiori domini US hanno effettuato attraverso il sistema un prototipo di 1.5 milioni di connessioni in media per mese. Questa forte richiesta dell'uso del prototipo ha dimostrato sia l'interesse al sistema che la sua fattibilità, sebbene esso mancasse di un certo numero di caratteristiche necessarie per rendere il sistema robusto e flessibile. Un design per una seconda generazione di sistemi è stato iniziato e diverse compagnie hanno contattato il Naval Research Laboratory con l'intento di ottenere una licenza commerciale su Onion Routing. PipeNet [5] è un sistema simile al precedente ma più robusto, infatti nel sistema Onion Routing un nemico potrebbe ritardare i dati in input ad un onion router, causando un ritardo di un output specifico di quel onion router, e quindi causerà la disconnessione di una parte della connessione anonima. Gli switch di PipeNet, d'altro lato, rileveranno questa disconnessione, ed allo stesso tempo ritarderanno tutte le altre connessioni che attraversano questo switch. Delle informazioni vengono aggiunte per mantenere costante il flusso di dati attraverso tutte le connessioni, rendendo l'analisi del traffico molto difficile. Comunque non ci sono indicazioni precise su un' attuale implementazione di questo sistema. Freedom Network [17] è un sistema attualmente in commercio che ingloba differenti tecniche viste finora. Esso ha alcune caratteristiche di Onion routing e, come esso costruisce connessioni utilizzando un percorso di freedom server appartenenti ad una particolare rete (vedere Figura), dove ogni freedom server cifra ripetutamente i dati per rendere la comunicazione sempre differente ad ogni passaggio; inoltre ha anche le proprietà forti di PipeNet. ![]() Freedom Network inoltre fornisce un sistema di comunicazione pseudonima tra l'utente e la sua rete. La Zero-Knowledge ha commercializzato il pacchetto software Freedom 1.0 che consente di operare con 150 sever freedom. La Freedom Network correntemente include server operanti negli Stati Uniti, Inghilterra, Paesi Bassi, Giappone, Canada, Austria e Australia. Il software è attualmente utilizzabile solo sotto Microsoft's Windows 95/98. L'intero pacchetto costa 49.95$ e comprende cinque pseudonimi. Ogni pseudonimo ha la durata di un anno e addizionali pseudonimi costano 10$ ognuno. |