Onion Routing: la tecnica dell'anonimato dietro Tor

12 minimo lettoCrittografia

L'Onion Routing è la tecnica crittografica che rende possibile Tor e che altri sistemi di anonimato hanno adattato a modo loro. È stato inventato a metà degli anni '90 presso il Naval Research Laboratory degli Stati Uniti e brevettato dalla Marina degli Stati Uniti nel 1998 prima di essere rilasciato allo scoperto. Questa è la spiegazione focalizzata sulla tecnica stessa, separata da qualsiasi rete che la implementa.

Il corpo completo dell'articolo è fornito in inglese di seguito.

LL'idea di base

Il routing Onion risolve un problema specifico: Come si fa a consentire a due parti di comunicare senza che nessun singolo relè apprenda chi sta parlando con chi?

La tecnica avvolge un messaggio in più livelli di crittografia, come gli strati di una cipolla. Ogni relè nella catena contiene una chiave di decrittazione e può rimuovere solo un livello. Il primo relè vede il mittente originale ma non la destinazione finale; l'ultimo rilancio vede la destinazione finale ma non il mittente originale; i relè intermedi non vedono nessuno dei due.

Nessun singolo relè sa abbastanza per collegare il mittente al destinatario. Per deanonimizzare un utente, un avversario dovrebbe compromettere più relè lungo lo stesso percorso contemporaneamente: un problema molto più difficile che comprometterne uno solo.

La storia

L'onion routing è stato inventato a metà degli anni '90 presso il Naval Research Laboratory degli Stati Uniti dal matematico Paul Syverson e dagli scienziati informatici Michael G. Reed e David Goldschlag. La motivazione originale era proteggere le comunicazioni dell'intelligence statunitense: gli agenti dovevano comunicare su Internet senza rivelare metadati operativi e gli approcci esistenti (VPN, reti miste) presentavano diversi compromessi.

La tecnica è stata brevettata dalla Marina degli Stati Uniti nel 1998 (brevetto USA 6.266.704). È stato pubblicato contemporaneamente in sedi accademiche – IEEE Communications e altri – per incoraggiare una ricerca più ampia. La Marina ha rilasciato il codice originale di routing Onion con una licenza gratuita nel 2004, che ha aperto la strada all'implementazione Tor open source iniziata nel 2002 sotto Roger Dingledine, Nick Mathewson e Syverson. relè disponibili e le relative chiavi pubbliche da una directory.

  • LIl client sceglie tre relè in modo casuale (o con una preferenza verso quelli contrassegnati come Guard / Middle / Exit, nel caso di Tor).
  • LIl client costruisce il circuito un hop alla volta utilizzando la crittografia asimmetrica:
  • Ipre una connessione TLS al primo relè ed esegue uno scambio di chiavi Diffie-Hellman per derivare una chiave simmetrica condivisa solo con quel relè.
  • Attraverso quel canale crittografato, chiede al primo relè di estendere il circuito al secondo relè, negoziando nuovamente una chiave simmetrica separata derivata da DH.
  • Ipete l'estensione al terzo relè, terminando con tre chiavi condivise separate, una con ciascun relè, nessuna delle quali vede il altri.
  • Ora per inviare un messaggio: il client crittografa il payload tre volte, prima con la chiave del terzo relè, poi con quella del secondo, poi con quella del primo, e invia il pacchetto con tripla crittografia al primo relè. Ciascun relè stacca uno strato e inoltra il risultato. Il relè di uscita (terzo) decodifica lo strato più interno e invia il testo in chiaro alla destinazione effettiva. La risposta della destinazione fa sì che i livelli vengano aggiunti nuovamente in ordine inverso sulla strada di casa.

    Da cosa protegge il routing Onion

    • LOsservatori locali: ISP, operatori di rete, ficcanaso Wi-Fi. Vedono il traffico crittografato verso un relè; non vedono la destinazione.
    • Ogni singolo relè compromesso: se un relè nel circuito è ostile, apprende al massimo un endpoint, non entrambi.
    • I server di destinazione apprendono chi sei: la destinazione vede le connessioni originate dall'IP del relè di uscita, non tuo.
    • LTracciamento a lungo termine in base alla posizione della rete: il percorso attraverso la rete viene scelto casualmente e aggiornato periodicamente.

    Da cosa NON protegge il routing Onion

    Correlazione del traffico end-to-end

    Un avversario che osserva contemporaneamente sia la guardia di ingresso che il relè di uscita può correlare i tempi pattern per confermare che l'utente X sta parlando con la destinazione Y. I pacchetti in entrata hanno la stessa forma e tempistica dei pacchetti in uscita, solo in una posizione di rete diversa.

    Questa è una limitazione fondamentale, non un bug. Le reti di anonimato a bassa latenza (qualsiasi cosa sufficientemente veloce per la navigazione interattiva) perdono informazioni sui tempi. Le uniche contromisure sono i sistemi ad alta latenza (reti miste come Mixminion, dove i messaggi vengono raggruppati e ritardati in modo casuale) o dummy traffic (invio costante di pacchetti esca, che è costoso in termini di larghezza di banda). Tor scambia esplicitamente la resistenza alla correlazione con l'usabilità.

    Il relè di uscita stesso

    Lil relè di uscita vede il traffico di destinazione non crittografato. Se non utilizzi HTTPS (o un altro livello di crittografia end-to-end), l'uscita può leggere e modificare il tuo traffico. Esistono casi documentati di uscite dannose che fanno esattamente questo: acquisire password, modificare indirizzi Bitcoin, iniettare JavaScript. Tor Browser fornisce la modalità Solo HTTPS per impostazione predefinita specificatamente per neutralizzare la maggior parte di questa categoria.

    Attacchi precedenti

    Se un avversario controlla una parte dei relè e un utente costruisce ripetutamente nuovi circuiti per un lungo periodo, l'avversario alla fine apparirà in posizioni sufficienti per deanonimizzare l'utente tramite correlazione statistica. La mitigazione è guard Relays — Tor vincola il primo hop a un piccolo set di relè attendibili per un periodo prolungato (settimane alla volta), riducendo la velocità con cui un utente malintenzionato può atterrare nello slot di guardia.

    Onion routing vs.aglio routing

    I2P utilizza una variante chiamata garlic routing. La differenza fondamentale: il routing dell'aglio raggruppa più messaggi insieme ("chiodi di garofano" in un "bulbo") e li instrada come un'unità. Ciò rende più difficile l'analisi del traffico perché la dimensione e il numero di messaggi in un pacchetto sono imprevedibili. Il routing Onion in Tor prevede un messaggio per cella, tutti della stessa dimensione, il che semplifica il protocollo ma rende leggermente più semplice l'analisi della correlazione. Consulta la nostra spiegazione I2P per ulteriori informazioni sul routing Egg.

    Routing Onion e reti mix

    Le reti Mix (Mixmaster, Mixminion) accettano il routing Onion e aggiungono latenza deliberata. Ogni relè trattiene i messaggi in arrivo, li raggruppa, randomizza l'ordine e li inoltra dopo un ritardo. Ciò annulla completamente la correlazione temporale a costo di essere inutilizzabile per la navigazione interattiva: la consegna dei messaggi può richiedere ore. Le reti miste vengono ancora utilizzate per applicazioni asincrone ad alto anonimato come i remailer anonimi.

    Implementazioni attuali

    • Tor: di gran lunga la distribuzione più grande. ~7000 staffette volontarie, milioni di utenti ogni giorno. Consulta la nostra spiegazione T o per i dettagli specifici della rete.
    • I2P: utilizza il routing aglio anziché il routing a cipolla di per sé, ma il principio di crittografia a strati è condiviso.
    • Lokinet: una rete di anonimato più piccola che utilizza la crittografia a strati simile al routing a cipolla con un incentivo diverso model.
    • Cwtch / Briar — app di messaggistica che utilizzano il routing Onion di Tor come trasporto.

    LIl compromesso fondamentale

    Il routing Onion è una tecnica meravigliosa che risolve il problema dell'anonimato dei metadati in modo pulito quando i suoi presupposti sono validi. La sua debolezza è strutturale: qualsiasi rete di anonimato a bassa latenza perde informazioni sui tempi e non esiste una soluzione senza abbandonare la reattività interattiva.

    Per la maggior parte degli utenti, l'onion routing (tramite Tor) garantisce un anonimato più che sufficiente: meglio di una VPN, molto meglio di niente, lo strumento giusto per denunciare irregolarità, ricerche sensibili ed elusione. Per i modelli di minaccia più estremi – avversari con capacità di sorveglianza passiva globale e tempo di targeting illimitato – anche l’onion routing ha dei limiti. Questo non è un difetto della tecnica; è la matematica fondamentale del veloce anonimato online.

    Domande frequenti

    Il routing Onion è lo stesso di Tor?
    Il routing Onion è la tecnica crittografica; Tor è la rete più popolare che lo implementa. Anche altri sistemi (Lokinet, Briar, il banco di prova originale del routing cipolla NRL) utilizzano il routing cipolla. Quando le persone dicono "sto usando Tor" stanno usando il routing Onion; quando dicono 'onion routing' intendono quasi sempre Tor.
    Chi ha inventato il routing delle cipolle?
    Paul Syverson, Michael G. Reed e David Goldschlag presso il Laboratorio di ricerca navale degli Stati Uniti a metà degli anni '90. La Marina lo ha brevettato nel 1998 (brevetto USA 6.266.704) e ha rilasciato il codice originale con licenza gratuita nel 2004, consentendo il progetto Tor open source iniziato nel 2002.
    Perché il routing Onion si chiama così?
    Ogni relè rimuove uno strato di crittografia come staccare uno strato da una cipolla. Il messaggio originale è racchiuso in una crittografia nidificata: uno strato per inoltro nel percorso. Il primo relè può decrittografare solo lo strato esterno; il secondo lo strato successivo; l'ultimo relè decodifica lo strato più interno e vede il testo in chiaro destinato al destinatario effettivo.
    È possibile interrompere il percorso della cipolla?
    Non direttamente la crittografia. Ma le reti di routing Onion (Tor) a bassa latenza sono vulnerabili alla correlazione del traffico end-to-end se un avversario può monitorare contemporaneamente sia la guardia di ingresso che il relè di uscita. Questa è una limitazione fondamentale dell'anonimato a bassa latenza, non un bug di implementazione. Le reti miste ad alta latenza (Mixmaster) non presentano questa vulnerabilità ma sono troppo lente per l'uso interattivo.
    Qual è la differenza tra il percorso della cipolla e il percorso dell'aglio?
    Il routing Garlic (utilizzato in I2P) raggruppa più messaggi in un unico "bulbo" che viaggia insieme. Ciò rende più difficile l'analisi del traffico perché le dimensioni dei bundle e il conteggio dei messaggi sono imprevedibili. Il routing Onion (utilizzato in Tor) invia una cella di dimensione fissa alla volta, più semplice da implementare ma leggermente più facile da analizzare. Entrambi si basano sullo stesso principio di crittografia a più livelli.
    Spiegazione dell'Onion Routing: la tecnica dell'anonimato dietro Tor | VPN Master Pro