MORGAN (MPLS Overlay Routing Gives Anonymous Networking
Transcript
MORGAN (MPLS Overlay Routing Gives Anonymous Networking
MORGAN (MPLS Overlay Routing Gives Anonymous Networking) Architecture Donato Battaglino, Simone Teofili 25 settembre 2007 Introduzione In questo documento sono descritte le nuove scelte architetturali della rete di anonimizzazione MORGAN (MPLS Overlay Routing Gives Anonymous Networking): in esso vi sono le possibili ipotesi per la realizzazione del sistema con i pro ed i contro che esse portano nell’architettura. Le nuove caratteristiche dell’architettura della rete di anonimizzazione sono dovute al problema che occorre prevedere l’ingresso e il rientro di un socket all’interno della rete di anonimizzazione: a tale scopo è stato introdotto il concetto di indirizzo overlay (esplicito o implicito) che sarà descritto più avanti nel documento. Le ipotesi fatte per l’ingresso di uno stream di dati nella rete di anonimizzazione prevedono l’uso di un proxy SOCKS che rilancia le connessioni TCP (in caso di proxy SOCKS5 anche datagrammi UDP) attraverso la rete oppure la configurazione di gateway che si affacciano direttamente sulla rete overlay. Altre caratteristiche documentate sono: scenari applicativi della rete di anonimizzazione, formato del pacchetto con la presenza di indirizzi overlay e multiplazione di più flussi in un path overlay. 1 Capitolo 1 Scenari applicativi Gli scenari applicativi della rete di anonimizzazione MORGAN sono due, di cui il secondo è l’estensione del primo. Il primo scenario operativo è di tipo TOR-like [1] mentre il secondo comprende nella rete overlay anche i nodi iniziale e finale della comunicazione (architettura all-in-MORGAN). A R1 R4 R3 R2 B RETE OVERLAY MORGAN Fig.1: Architettura TOR-like A R1 R4 R3 R2 B RETE OVERLAY MORGAN Fig.2:Architettura all-in-MORGAN 1.1 Architettura TOR-like In questo scenario la rete overlay non comprende il nodo mittente e il nodo destinatario della comunicazione: occorre prevedere quindi un punto d’ingresso e un punto d’uscita a/da la rete MORGAN. La maggior parte dei problemi 2 implementativi che riguardano questo scenario sono concentrati proprio sul punto di ingresso di uscita dalla rete overlay. In Fig.1 possiamo vedere che gli estremi della comunicazione sono il nodo A (client) e il nodo B (application server): il nodo A vuole comunicare in modo anonimo con B utilizzando la rete overlay MORGAN. Il primo processo che deve scatenare il nodo A è la creazione del path (sempre in modo anonimizzato) per arrivare a B passando per i nodi overlay (MORGAN nodes) R1,R2,R3 ed R4: il protocollo di segnalazione per la creazione del path non è specificato in questo documento, ma si suppone che A (o un’altra entità sollecitata da A, come ad esempio il nodo d’ingresso R1) possa invocare tale protocollo ogniqualvolta voglia istituire un path attraverso la rete di anonimizzazione. Il nodo overlay R1 è l’ingresso che A vede sulla rete MORGAN: le due scelte implementative possibili per l’ingresso nella rete overlay sono di considerare R1 come proxy che inoltra le richieste nella rete di anonimizzazione oppure come gateway (verso B) che si affaccia sulla rete MORGAN. 1.2 Architettura all-in-MORGAN In Fig.2 è possibile vedere la configurazione dell’architettura all-in-MORGAN: in essa, come detto in precedenza, la rete overlay comprende tutti i nodi comunicanti: ciò significa che sia il mittente (client) sia la destinazione (server) devono avere nel loro stack protocollare lo stato MPLS-over-IP per poter inoltrare direttamente i pacchetti nella rete overlay. Quest’architettura comprende la configurazione TOR-like descritta in precedenza. Il vantaggio di quest’architettura è che, considerando i meccanismi di Traffic Flow Confidentiality sottostanti allo strato MPLS-over-IP, un eventuale attaccante che osserva i capi della rete (subito dopo A e prima di B) non riesce a portare avanti un attacco di traffic analisys per correlare il traffico da A diretto verso B. 3 Capitolo 2 Architettura TOR-like: strategie d’ingresso 2.1 Proxy d’ingresso Considerando l’architettura della rete di anonimizzazione TOR[1], si potrebbe utilizzare un proxy sul primo nodo del path overlay, che inoltra le richieste TCP (e UDP) in modo anonimo attraverso la rete di anonimizzazione. La soluzione migliore, affinché siano supportate la maggior parte delle applicazioni TCP-based senza modifiche, è quella di usare un’interfaccia proxy basata su SOCKS[2]: SOCKS è un protocollo che convoglia delle sessioni TCP per permettere alle applicazioni un accesso trasparente attraverso il firewall. Poiché SOCKS è indipendente dalle applicazioni, può essere usato da più protocolli di strato applicativo. Il protocollo SOCKS fornisce una generica interfaccia per i proxy TCP. Il client si connette ad un SOCKS server con una connessione TCP, e richiede una connessione TCP su un altro socket verso un application server. Il SOCKS server stabilisce la connessione, e comunica il successo o il fallimento al client. Dopo che la connessione è stata stabilita, l’applicazione del client comunica con server attraverso socket stabilito con il proxy. 2.1.1 SOCKS client L’utente che vuole comunicare in modo anonimo, deve avere un client SOCKS che permette di inviare le richieste SOCKS verso il nodo d’accesso alla rete di anonimizzazione. Una buona soluzione (in caso di traffico HTTP, utilizzata anche in TOR) è l’utilizzo di Privoxy [3]: Privoxy è un web proxy che ha capacità di filtraggio per la protezione della privacy. Privoxy viene installato 4 sul client e quando viene usato ne intercetta le richieste HTTP, rilanciandole attraverso il protocollo SOCKS verso un punto d’ingresso della rete overlay. 2.1.2 SOCKS proxy, nodo d’ingresso nella rete overlay Come detto in precedenza, il SOCKS proxy è situato nei punti d’ingresso della rete di anonimizzazione. Supponendo che il path sia già stato costruito attraverso i nodi overlay (in seguito verranno fatte delle considerazioni sulle funzionalità richieste al protocollo di segnalazione per il path setup), il proxy, al giungere di nuove connessioni TCP da diversi client deve: 1. contattare attraverso la rete di anonimizzazione l’application server per l’apertura di un nuovo socket; 2. comunicare al client il socket su cui comunicare oppure il fallimento della richiesta; 3. effettuare un mapping consistente dei flussi informativi provenienti dagli utenti in distinti flussi informativi verso il server e mappare questi ultimi in corrispondenti circuiti (o stream, vedi quarto capitolo) nella rete si anonimizzazione, apponendo tag MPLS diverse ai vari flussi dati e viceversa. L’ultima operazione è fondamentale per l’ingresso nella rete di anonimizzazione del flusso TCP: il mapping dovrebbe essere effettuato tra source port del pacchetto TCP e tra TAG MPLS che identifica il flusso tra i nodi overlay. In seguito verrà descritto un possibile modo per multiplare più connessioni TCP all’interno di un unico path. 2.1.3 Note sul path setup e sul protocollo di segnalazione Fin’ora è stato ipotizzato che quando il client vuole effettuare una connessione in modo anonimo attraverso la rete overlay, esso trovi già un path formato attraverso di essa; il protocollo di path setup che ha il compito di istituire i circuiti cirtuali nella rete di anonimizzazione dovrebbe essere scatenato preventivamente, istituendo cosı̀ dei path prima che qualsiasi flusso sia inoltrato in modo anonimo (situazione possibile nei casi di flussi diretti verso server più trafficati con più richiesta di connessioni anonime), oppure al momento delle richieste di connessione di un client verso un SOCKS proxy, nel caso in cui un path verso la destinazione desiderata non sia disponibile: in quest’ultimo caso il path setup ha origine nel primo nodo della rete overlay e inizia dopo 5 la richiesta di un socket da parte del client (CONNECT request) e prima del rilascio da parte del SOCKS proxy del socket al client (CONNECT reply). 2.2 Gateway d’ingresso In questo scenario un nodo d’ingresso nella rete overlay è un gateway per il client verso l’application server. Se il nodo d’ingresso è situato nella stessa sottorete IP di A non ci sono problemi, se invece è localizzato in un qualsiasi punto di internet, esso può essere raggiunto tramite una VPN e impostato come gateway dal client verso il server. Questa soluzione risulta più facile da implementare all’interno del kernel del sistema operativo rispetto la precedente, ma anche meno flessibile per un utente finale, che dovrebbe modificare la tabella di routing per forzare il transito dei pacchetti diretti verso una certa destinazione attraverso la rete di anonimizzazione. GATEWAY R1 A Rete Overlay Tunnel cifrato Fig.3: Gateway verso la rete overlay 6 Capitolo 3 Uscita dalla rete MORGAN: overlay addresses L’introduzione di uno strato protocollare tra TCP/UDP e IP introduce dei problemi nel transito dei pacchetti IP di risposta dal server verso il client, in particolare è critico l’hop in cui i pacchetti IP rientrano nel circuito overlay al’exit node della rete di anonimizzazione: quando una risposta giunge da un application server all’exit node del path su cui è giunto il pacchetto proveniente dal client, lo strato MPLS non ha elementi sufficienti per apporre al pacchetto la tag MPLS che identifica il circuito di ritorno da attraversare nella rete di anonimizzazione. Infatti, anche se l’application server all’esterno della rete overlay risponde a richieste di più client,(che possono provenire da diversi path all’interno della rete di anonimizzazione), gli indirizzi IP su cui il server apre il socket sono sempre quelli del server stesso e dell’exit node. Per risolvere questo problema è stato introdotto il concetto di overlay address: un indirizzo IP overlay non è coinvolto per il normale instradamento dei pacchetti a livello di rete, ma viene utilizzato solo per aprire un socket sull’application server. Gli indirizzi overlay possono essere espliciti, ossia viaggiano con il pacchetto all’interno della rete MORGAN e scelti dal client o negoziati tramite un protocollo di segnalazione, o impliciti, cioè memorizzati in un database all’interno dell’ultimo nodo (exit node) nella rete overlay, e gestiti unicamente da quest’ultimo. L’utilizzo e il trasporto degli indirizzi overlay verranno esaminati successivamente in questo capitolo. 3.1 Problema delle risposte In uno scenario in cui si ha lo strato MPLS direttamente sopra IP (con TAG apposta tra l’header IPsec/ESP, e TCP/UDP), senza ulteriori accorgimenti 7 (ossia senza considerare l’uso di indirizzi overlay), nell’ultimo nodo del path della rete di anonimizzazione (Rn ) avvengono le seguenti operazioni: • nel caso di architettura TOR-like: 1. arriva una pacchetto facente parte di un certo path overlay con IPsource=(Rn−1 ), IPdest=(Rn ) e label=X; 2. il nodo (Rn ), consultando il database di ILM (Incoming Label Map) vede che è un pacchetto MPLS valido e quindi, per prendere decisioni sull’inoltro del pacchetto, consulta la NHLFE associata (Next Hop Label Forwarding Entry) e vede che il pacchetto deve uscire dalla rete di anonimizzazione ed è diretto verso B; 3. il pacchetto viene inoltrato verso B con IPsource=(Rn ) e IPdest=B; 4. B, dovendo inoltrare una risposta al pacchetto ricevuto in precedenza attraverso la rete di anonimizzazione, manda un pacchetto verso (Rn ) con IPsource=B e IPdest=(Rn ); (Rn ) però non riesce a inoltrare la risposta nella rete overlay se più path terminano in esso e sono diretti verso B; • nel caso di architettura all-in-MORGAN: 1. il nodo (Rn ), consultando il database di ILM (Incoming Label Map) vede che è un pacchetto MPLS valido e quindi, per prendere decisioni sull’inoltro del pacchetto, consulta la NHLFE associata (Next Hop Label Forwarding Entry) e vede che il pacchetto deve uscire dalla rete di anonimizzazione ed è diretto verso B; 2. il pacchetto viene inoltrato verso B con IPsource=(Rn ), IPdest=B e label=Y; 3. in un’architettura all-in-MORGAN nel nodo B gli strati applicativi aprono un socket con la coppia di indirizzi IP di (Rn ) e di B: quando devono rispondere inoltrano un pacchetto verso gli strati protocollari inferiori con tali indirizzi inconsapevoli della presenza dello strato MPLS; giunto ad MPLS, non si potrebbe prendere una decisione per l’inoltro di tale pacchetto nel caso più path terminino nel nodo B. 8 ULTIMO NODO OVERLAY Rn NODO FINALE B APPLIC. MPLS IP/IPsec TCP/UDP IP Richieste anonimizzate verso B da due path diversi IP Uscita dalla rete di anonim. Rn Rn-1 X Payload 1 B Rn Payload 1 Rn Rn-2 W Payload 2 B Rn Payload 2 PROBLEMA: come inviare sui due path diversi le risposte? Risposte di B Rn B Risposta 1 Rn B Risposta 2 B Risposta 1 Fig.4:Risposte nel caso TOR-like ULTIMO NODO OVERLAY B APPLIC. TCP/UDP B Rn B Payload 1 Rm Payload 2 Rn Rm MPLS IP/IPsec PROBLEMA: come inviare sui due path diversi le risposte? Richieste anonimizzate verso B da due path diversi B Rn X Payload 1 B Rm W Payload 2 Fig.5:Risposte nel caso tutti che i nodi siano nella rete di anonimizzazione 9 B Risposta 2 3.2 Soluzione: indirizzi overlay Il problema nell’ultimo nodo è quindi il non riuscire a discriminare le risposte nei path di ritorno della rete di anonimizzazione. Se nel nodo di destinazione gli strati applicativi riuscissero ad aprire dei socket con coppie di indirizzi diversi a seconda del path e del mittente nella rete di anonimizzazione, il problema delle risposte nell’ultimo nodo sarebbe risolto. La soluzione sta nell’utilizzare degli indirizzi nell’apertura dei socket, non coinvolti nel routing a livello IP, ossia degli indirizzi overlay (indirizzi IP utilizzati al di sopra dello strato di rete). Tali indirizzi sono unicamente coinvolti nell’ultimo nodo, in quanto servono solo per poter inoltrare correttamente le risposte all’interno della rete MORGAN, e possono essere espliciti, ossia trasportati lungo tutta la rete all’interno dei pacchetti che viaggiano in modo anonimizzato, o impliciti, memorizzati solamente all’interno di database contenuti nei router overlay. In seguito verranno esaminate le precedenti modalità di indirizzamento overlay ed il trasporto, nel caso si usi la modalità esplicita, degli indirizzi overlay all’interno delle unità informative nella rete di anonimizzazione. 3.2.1 Indirizzamento overlay esplicito In questa modalità di indirizzamento overlay il primo nodo della rete di anonimizzazione, oltre a taggare il pacchetto con una specifica label MPLS, ne appone all’interno uno specifico indirizzo IP overlay (o una coppia di indirizzi) che rimarrà (o rimarranno) inalterati all’interno della rete fino all’ultimo nodo overlay (potrà anche viaggiare cifrato in caso si abbiano dei nodi overlay non fidati). Il numero di indirizzi overlay necessari affinché le risposte possano rientrare correttamente all’interno della rete di anonimizzazione è uno, ma se ne può prevedere una coppia in caso di utilizzi e sviluppi futuri (ad esempio particolari funzionalità di routing in cui si vuole rendere noto all’ultimo nodo uno specifico percorso da far eseguire al pacchetto nella fase di ritorno). Con almeno un indirizzo overlay esplicito si riesce ad aprire un socket nell’ultimo nodo della comunicazione tra la coppia di indirizzi IPdest=B e IPsource=OverlaySourceAddress, dove quest’ultimo viene apposto ai pacchetti di un certo flusso dal primo nodo della rete overlay. Per avere indirizzi overlay univoci nel nodo di destinazione, essi vengono assegnati con il protocollo di segnalazione e path setup all’inizio della comunicazione all’interno della rete di anonimizzazione. Nel path di ritorno, l’apposizione della tag MPLS con la specifica label che identifica il percorso, dipenderà dal particolare indirizzo overlay assegnato ai pacchetti di un certo flusso. Nei seguenti esempi verrà esaminato l’uso dell’indirizzamento overlay esplicito, senza tenere in considerazione di come l’indirizzo (o gli indirizzi) overlay 10 è (sono) contenuto nel pacchetto. Nel caso di un singolo indirizzo overlay, abbiamo che tale indirizzo viene inserito nel pacchetto dopo la label MPLS dal primo dei nodi overlay della rete di anonimizzazione. Nel punto di uscita della rete di anonimizzazione, nel caso TOR-like, può o no sostituire l’indirizzo IPsource del pacchetto: la prima possibilità si può considerare solo nella situazione in cui il nodo di destinazione B si trovi nella stessa sottorete dell’ultimo nodo Rn; ciò è dovuto al fatto che nel ritorno se B risponde all’IPsource=OverlaySourceAddress, il routing IP fino al nodo overlay Rn fallirebbe. La soluzione migliore è nell’eseguire un’operazione di source NATting sull’ultimo nodo overlay verso la destinazione B (MASQUERADING): in questo caso, all’interno del nodo Rn prima viene fatta la sostituzione dell’indirizzo IP sorgente del pacchetto con l’indirizzo overlay, poi viene NATtato con il MASQUERADING, sostituendo l’indirizzo IP sorgente (rappresentato dall’indirizzo overlay) con l’indirizzo IP dell’interfaccia di rete verso B (sfruttando poi in numero di porta TCP per discriminare le risposte provenienti da B); un procedimento molto simile viene utilizzato nell’indirizzamento overlay implicito. In uno scenario in cui tutti i nodi comunicanti sono compresi nella rete di anonimizzazione, si può ipotizzare che una coppia di indirizzi overlay viaggi all’interno del pacchetto anonimizzato: il nodo finale B aprirà un socket verso il primo nodo su questa coppia di indirizzi e la label che verrà apposta nel pacchetto di ritorno dipenderà da tali indirizzi (gli indirizzi IP del pacchetto di risposta anonimizzato saranno ovviamente quelli di B e del primo router overlay che si incontra nel path di ritorno). ULTIMO NODO OVERLAY Rn B MPLS IP/IPsec Rn Rn-1 X O O IP Payload Payload MASQUERADING B Rn Payload VERSO IL NODO B O: Indirizzo overlay Fig.6:Indirizzamento overlay esplicito nello scenario TOR-like 11 ULTIMO NODO OVERLAY B APPLIC. TCP/UDP Od Os MPLS Payload Os Od Rn B Risposta IP/IPsec Da Rn B Rn X Od Os Payload Y Os Od Risposta Verso Rn Fig.7:Indirizzamento overlay esplicito nello scenario All-in-MORGAN 3.2.2 Indirizzamento overlay implicito L’indirizzamento overlay implicito è una modalità di indirizzamento a livello overlay possibile in uno scenario del tipo TOR-like: l’indirizzo overlay non esce mai dall’ultimo nodo della rete di anonimizzazione ed è legato al gruppo di label del path overlay usato dal pacchetto per giungere al Rn: si ha infatti un database con le corrispondenze Label-SourceOverlayAddress. Viene sfruttato anche in questo caso il NAT, in particolare in MASQUERADING, verso l’indirizzo di destinazione. I passi applicati all’ultimo router overlay alla ricezione di un pacchetto taggato MPLS sono i seguenti: • confronto con le ILM memorizzate nel nodo e accettazione del pacchetto; • lettura della NHLFE collegata alla ILM corrispondente al pacchetto ricevuto; • sostituzione dell’indirizzo IP destinazione del pacchetto con quello di B e dell’indirizzo IP sorgente con l’indirizzo IP overlay presente nella NHLFE corrispondente alla label del pacchetto ricevuto; • invio del pacchetto sull’interfaccia di uscita; • NATting dell’indirizzo overlay con l’indirizzo IP dell’interfaccia di uscita verso B (MASQUERADING) 12 3.2.3 Posizionamento degli indirizzi overlay all’interno del pacchetto Il posizionamento degli indirizzi IP overlay all’interno di un pacchetto che viaggia attraverso la rete di anonimizzazione può essere effettuato secondo due modalità: • formato proprietario del pacchetto: l’indirizzo (o la coppia di indirizzi) overlay segue (o seguono) la TAG MPLS successiva all’header IPsec (ESP). Questa è la soluzione che permette il maggior risparmio possibile di bit all’interno di un pacchetto, ma in contropartita occorre introdurre un formato non standard dei protocolli contenuti nel pacchetto; • incapsulamento IP-in-IP: gli indirizzi overlay sono contenuti in un header IP che segue la tag MPLS. Il vantaggio potrebbe essere rappresentato dal fatto che un’header IP completo che segue la tag MPLS potrebbe essere sfruttato in sviluppi futuri del routing overlay in MORGAN; si ha una maggiore ridondanza all’interno di un pacchetto. Quest’ultimo problema potrebbe essere risolto da un algoritmo di compressione del solo header IP (overlay). 3.3 Ritorno della connessione verso il client Se viene adottato il NAT (MASQUERADING) nell’exit node della rete overlay, quando i pacchetti di risposta giungono dall’application server, l’indirizzo dell’interfaccia verso il server che ha mascherato l’indirizzo overlay, viene risostituito da quest’ultimo. Per la ri-immissione su un path di ritorno attraverso la rete, occorre che la policy per il tagging del pacchetto abbia come parametri l’indirizzo overlay del client e l’indirizzo IP dell’application server: la label che identifica il circuito di ritorno e gli indirizzi IP da apporre al pacchetto saranno in relazione biunivoca con i parametri detti. Il path di ritorno, indipendente da quello di andata, dovrà necessariamente terminare sul nodo di ingresso della rete dove è localizzato il SOCKS proxy che si affaccia verso il client. 13 Capitolo 4 Multiplazione di più flussi all’interno di un path overlay Rispetto a quanto descritto nell’architettura di TOR [1], anche all’interno dell’architettura di MORGAN dovrebbe essere possibile multiplare all’interno di un unico path più flussi dati (connessioni TCP o flussi di datagrammi UDP), appartenenti ad uno o più client che si connettono ai proxy SOCKS sul perimetro della rete di anonimizzazione. Per fare ciò, si può sfruttare la definizione di label stack all’interno dell’architettura protocollare di MPLS [4]: “It is useful to have a more general model in which a labeled packet carries a number of labels, organized as a last-in, first-out stack. We refer to this as a label stack.”. Si può adattare la definizione di MPLS-label-stack per multiplare più flussi TCP all’interno di un unico path nella rete di anonimizzazione: il nodo d’ingresso del path, che si interfaccia con i client attraverso il proxy SOCKS, esegue il tagging del pacchetto con un label stack composto da due label MPLS, la più esterna che rappresenta il circuito nel quale il flusso deve viaggiare nella rete overlay, e la più interna che rappresenta il flusso che può essere multiplato all’interno di un path. La label più interna deve essere in relazione uno ad uno con il flusso in uscita dal proxy SOCKS ed in essa viene mappato tale flusso; tale label deve essere letta solo dall’exit node della rete overlay e deve essere in relazione con l’indirizzo overlay che deve essere poi nattato in uscita dal nodo. Il valore della label interna può essere deciso unicamente dal nodo di ingresso oppure contrattato dal nodo di ingresso e l’exit node: lo svantaggio nel primo caso è che si rischia la collisione nell’exit con uno stesso valore assegnato da un altro nodo d’ingresso mentre nel secondo caso con una contrattazione si può compromettere la sicurezza del sistema. Il vantaggio principale derivante da questa soluzione è che i path all’inter14 no della rete di anonimizzazione sono indipendenti dai flussi di dati che li attraversano, ossia che: • i valori delle label che identificano i circuiti overlay non dipendono dai flussi dati che li attraversano; • l’indirizzo overlay assegnato per uscire dalla rete di anonimizzazione dipende solo dal flusso uscente, quindi è solo in relazione con la label più interna e non con tutte le label che identificano il circuito; • i path tra i nodi overlay possono anche essere costruiti preventivamente. 15 Capitolo 5 Working in progress Questa è una lista di idee che si vogliono sviluppare e inserire all’interno dell’architettura di MORGAN: • utilizzo di più punti d’ingresso e di uscita nella rete overlay per un unico flusso dati: con l’attuale architettura è possibile che un flusso informativo all’interno della rete overlay segua percorsi completamente differenti in andata e ritorno dal client, compresi però, sempre tra un nodo d’ingresso e un nodo di uscita. Si vuole sviluppare un’architettura che permetta il ritorno di un flusso all’interno la rete overlay tramite un nodo che non coincida necessariamente con l’exit node dal quale è uscito il flusso in andata e l’uscita del flusso di ritorno da un nodo che non coincida necessariamente con il punto d’ingresso del flusso in andata; • sviluppo dell’architettura “leaky pipe” [1]: tramite l’uso di uno stack di label MPLS, fare in modo che gli strem dati multiplati in un path nella rete overlay possano avere a disposizione più uscite dalla rete lungo tale path; • definire le specifiche del protocollo di segnalazione e di path setup. 16 Bibliografia [1] Roger Dingledine, Nick Mathewson, Paul Syverson. “Tor: The SecondGeneration Onion Router ”, In the Proceedings of the 13th USENIX Security Symposium, August 2004 [2] NEC, SOCKS: A protocol for TCP proxy across firewalls [3] www.privoxy.org [4] IETF, RFC 3031 “Multiprotocol Label Switching Architecture”, www.ietf.org 17