Onion Routing: Anonymitetsteknikken bag Tor

12 min læstKryptografi

Onion routing er den kryptografiske teknik, der gør Tor mulig - og som andre anonymitetssystemer har tilpasset på deres egne måder. Den blev opfundet i midten af ​​1990'erne på U.S. Naval Research Laboratory og patenteret af den amerikanske flåde i 1998, før den blev frigivet i det fri. Dette er forklareren, der fokuserer på selve teknikken, adskilt fra ethvert netværk, der implementerer den.

Hele artiklens krop findes på engelsk nedenfor.

Kerneideen

Onion-routing løser et specifikt problem: hvordan lader du to parter kommunikere uden en eneste relæ-indlæring, hvem der taler til hvem?

Teknikken omslutter en besked i flere lag af kryptering, ligesom lagene af et løg. Hvert relæ i kæden har én dekrypteringsnøgle og kan kun skrælle ét lag. Det første relæ ser den oprindelige afsender, men ikke den endelige destination; det sidste relæ ser den endelige destination, men ikke den oprindelige afsender; mellemrelæer ser hverken.

Intet enkelt relæ ved nok til at forbinde afsenderen med modtageren. For at deanonymisere en bruger skal en modstander kompromittere flere relæer ad samme vej samtidigt - et meget sværere problem end at kompromittere en af dem. G. Reed og David Goldschlag. Den oprindelige motivation var at beskytte amerikansk efterretningskommunikation - agenter var nødvendige for at kommunikere over internettet uden at afsløre operationelle metadata, og eksisterende tilgange (VPN'er, mix-netværk) havde forskellige afvejninger.

Teknikken blev patenteret af den amerikanske flåde i 1998 (US patent 6,466). Det blev samtidigt udgivet på akademiske steder - IEEE Communications og andre - for at tilskynde til bredere forskning. Søværnet udgav den originale løg-routingkode under en gratis licens i 2004, hvilket banede vejen for open source Tor-implementeringen, der startede i 2002 under Roger Dingledine, Nick Mathewson og Syverson. kredsløb:

  1. Klienten får en liste over tilgængelige relæer og deres offentlige nøgler fra en mappe.
  2. Klienten vælger tre relæer tilfældigt (eller med bias mod dem, der er markeret som Guard / Middle / Exit, i Tors tilfælde). kryptografi:
  3. Den åbner en TLS-forbindelse til det første relæ og udfører en Diffie-Hellman-nøgleudveksling for at udlede en delt symmetrisk nøgle med kun det relæ.
  4. Tgennem den krypterede kanal beder den det første relæ om at udvide kredsløbet til det andet relæ, der igen forhandler et separat DH-forhandler. key.
  5. Den gentager udvidelsen til det tredje relæ og ender med tre separate delte nøgler — en med hvert relæ, hvoraf ingen kan se de andre.

Nu skal der sendes en besked: klienten krypterer nyttelasten tre gange — først med det tredje relæs nøgle, derefter den anden pakkes-krypter til — det første stafet. Hvert relæ skræller et lag og sender resultatet videre. Udgangsrelæet (tredje) dekrypterer det inderste lag og sender klarteksten til den faktiske destination. Destinationens svar får lagene tilføjet tilbage omvendt på vej hjem.

Hvad løgrouting beskytter mod

  • LLokale observatører: Internetudbydere, netværksoperatører, Wi-Fi snoopere. De ser krypteret trafik til ét relæ; de kan ikke se destinationen.
  • Et enkelt kompromitteret relæ: hvis et relæ i kredsløbet er fjendtligt, lærer det højst ét endepunkt, ikke begge.
  • Destinationsservere lærer, hvem du er: relæet, der stammer fra destinationen, se IP-forbindelsen, eks-forbindelsen, se ikke destinationen. din.
  • Llangsigtet sporing af netværksposition: stien gennem netværket er tilfældigt valgt og opdateres med jævne mellemrum.

Hvad løgrouting IKKE beskytter mod

End-to-end trafik9End-til-endeXPLZ0 overvågning 9-til-ende-trafik både indgangsvagten og udgangsrelæet kan samtidigt korrelere timingmønstre for at bekræfte, at bruger X taler med destination Y. De pakker, der går ind, har samme form og timing som pakkerne, der kommer ud, bare på en anden netværksplacering.

Dette er en grundlæggende begrænsning, ikke en fejl. Anonymitetsnetværk med lav latens - alt, der er hurtigt nok til interaktiv browsing - læk tidsinformation. De eneste modforanstaltninger er high-latency-systemer (mix-netværk som Mixminion, hvor beskeder er batchede og tilfældigt forsinket) eller dummy traffic (konstant afsendelse af lokkepakker, hvilket er båndbreddedyrt). Tor bytter eksplicit korrelationsmodstand for usability.

Selve udgangsrelæet

Udgangsrelæet ser den ukrypterede destinationstrafik. Hvis du ikke bruger HTTPS (eller et andet end-to-end-krypteringslag), kan exit læse og ændre din trafik. Der findes dokumenterede tilfælde af ondsindede udgange, der gør præcis dette - indfangning af adgangskoder, ændring af Bitcoin-adresser, indsprøjtning af JavaScript. Tor-browseren leverer kun HTTPS-tilstand til som standard specifikt for at sterilisere det meste af denne kategori.

Forgængerangreb

Hvis en modstander kontrollerer en brøkdel af relæer, og en bruger gentagne gange bygger nye kredsløb over en lang periode, vil modstanderen til sidst dukke op i nok positioner til at deanonymisere brugeren via statistisk korrelation. Afhjælpningen er guard-relæer — Tor fastgør det første hop til et lille sæt af betroede relæer i en længere periode (uger ad gangen), hvilket reducerer den hastighed, hvormed en angriber kan lande i guard-slottet. routing. Den vigtigste forskel: Hvidløgsruting samler flere beskeder sammen ("nelliker" i en "pære") og dirigerer dem som en enhed. Dette gør trafikanalyse sværere, fordi størrelsen og antallet af meddelelser i en pakke er uforudsigelige. Onion-routing i Tor er én besked pr. celle, alle i samme størrelse, hvilket forenkler protokollen, men gør korrelationsanalysen lidt lettere. Se vores I2P-forklaring for mere om hvidløgsrouting.

Løgrouting vs mix-netværk

Mix-netværk (Mixmaster, Mixminion) tager løgrouting og tilføjer bevidst latens. Hvert relæ holder indgående beskeder, batcher dem, randomiserer rækkefølgen og videresender dem efter en forsinkelse. Dette besejrer timing-korrelation helt på bekostning af at være ubrugelig til interaktiv browsing - levering af beskeder kan tage timer. Mix-netværk bruges stadig til asynkrone applikationer med høj anonymitet som f.eks. anonyme remailere.

Nuværende implementeringer

  • Tor — langt den største implementering. ~7000 frivillige relæer, millioner af brugere dagligt. Se vores Tor forklaring for de netværksspecifikke detaljer.
  • I2P — bruger hvidløgsrouting i stedet for løgrouting i sig selv, men princippet om lagdelt kryptering er delt. løg-routing-lignende lagdelt kryptering med en anden incitamentsmodel.
  • Cwtch / Briar — beskedapps, der bruger Tors løg-routing som en transport.

Den grundlæggende afvejning, der løser den smukke teknik, der løser den smukke teknik metadata-anonymitetsproblem rent, når dets antagelser holder. Dens svaghed er strukturel: ethvert anonymitetsnetværk med lav latens siver timinginformation, og der er ingen løsning uden at opgive interaktiv lydhørhed.

For de fleste brugere er løgrouting (via Tor) mere end nok anonymitet - bedre end en VPN, langt bedre end ingenting, det rigtige værktøj til følsom forskning, og whistleblowing. For de mest ekstreme trusselsmodeller - modstandere med global passiv overvågningskapacitet og ubegrænset målretningstid - har selv løgdirigering grænser. Det er ikke en fejl i teknikken; det er den grundlæggende matematik for hurtig online anonymitet.

Ofte stillede spørgsmål

Er løgrouting det samme som Tor?
Løg routing er den kryptografiske teknik; Tor er det mest populære netværk, der implementerer det. Andre systemer (Lokinet, Briar, den originale NRL løgrouting testbed) bruger også løgrouting. Når folk siger 'Jeg bruger Tor', bruger de løg-routing; når de siger 'løg routing', mener de næsten altid Tor.
Hvem opfandt løgrouting?
Paul Syverson, Michael G. Reed og David Goldschlag ved U.S. Naval Research Laboratory i midten af ​​1990'erne. Navy patenterede det i 1998 (US Patent 6.266.704) og udgav den originale kode under en gratis licens i 2004, hvilket muliggjorde open source Tor-projektet, der startede i 2002.
Hvorfor kaldes løgrouting det?
Hvert relæ fjerner et krypteringslag som at skrælle et lag af et løg. Den originale besked er pakket ind i indlejret kryptering - et lag pr. relæ i stien. Det første relæ kan kun dekryptere det ydre lag; det andet det næste lag; det sidste relæ dekrypterer det inderste lag og ser klarteksten bestemt til den faktiske modtager.
Kan løgrutingen brydes?
Ikke kryptografi direkte. Men onion-routing-netværk med lav latens (Tor) er sårbare over for ende-til-ende-trafikkorrelation, hvis en modstander kan overvåge både indgangsvagten og udgangsrelæet samtidigt. Dette er en grundlæggende begrænsning af anonymitet med lav latens, ikke en implementeringsfejl. High-latency mix-netværk (Mixmaster) har ikke denne sårbarhed, men er for langsomme til interaktiv brug.
Hvad er forskellen mellem løg routing og hvidløg routing?
Hvidløgsruting (brugt i I2P) samler flere beskeder i en enkelt 'pære', der rejser sammen. Dette gør trafikanalyse sværere, fordi bundtstørrelser og beskedantal er uforudsigelige. Onion routing (brugt i Tor) sender én celle med fast størrelse ad gangen, enklere at implementere, men lidt nemmere at analysere. Begge er afhængige af det samme lagdelte krypteringsprincip.
Løgruting forklaret: Anonymitetsteknikken bag Tor | VPN Master Pro