Onion Routing: Anonymitetstekniken bakom Tor
Onion routing är den kryptografiska tekniken som gör Tor möjlig – och som andra anonymitetssystem har anpassat sig på sina egna sätt. Den uppfanns i mitten av 1990-talet vid U.S. Naval Research Laboratory och patenterades av den amerikanska flottan 1998 innan den släpptes i det fria. Det här är förklararen fokuserad på själva tekniken, separat från ett nätverk som implementerar den.
Hela artikeltexten finns på engelska nedan.
Kärnidén
Onion-routing löser ett specifikt problem: hur låter du två parter kommunicera utan någon enskild reläinlärning vem som pratar med vem?
Tekniken lindar in ett meddelande i flera lager av kryptering, som lagren av en lök. Varje relä i kedjan har en dekrypteringsnyckel och kan bara skala ett lager. Det första reläet ser den ursprungliga avsändaren men inte slutdestinationen; det sista reläet ser slutdestinationen men inte den ursprungliga avsändaren; mittreläerna ser varken.
Inget enskilt relä vet tillräckligt för att länka sändaren till mottagaren. För att deanonymisera en användare skulle en motståndare behöva kompromissa med flera reläer längs samma väg samtidigt - ett mycket svårare problem än att kompromissa med någon av dem. G. Reed och David Goldschlag. Den ursprungliga motivationen var att skydda amerikansk underrättelsekommunikation – agenter som behövdes för att kommunicera över internet utan att avslöja operationell metadata, och befintliga metoder (VPN, mix-nätverk) hade olika avvägningar.
Tekniken patenterades av den amerikanska flottan 1998 (US Patent 6,466). Den publicerades samtidigt på akademiska platser - IEEE Communications och andra - för att uppmuntra bredare forskning. Marinen släppte den ursprungliga lökdirigeringskoden under en fri licens 2004, vilket banade väg för Tor-implementeringen med öppen källkod som startade 2002 under Roger Dingledine, Nick Mathewson och Syverson. krets:
- Klienten får en lista över tillgängliga reläer och deras publika nycklar från en katalog.
- Klienten väljer tre reläer slumpmässigt (eller med bias mot de som är flaggade som Guard / Middle / Exit, i Tors fall). kryptografi:
- Den öppnar en TLS-anslutning till det första reläet och utför ett Diffie-Hellman-nyckelutbyte för att härleda en delad symmetrisk nyckel med endast det reläet.
- Tgenom den krypterade kanalen ber den det första reläet att förlänga kretsen till det andra reläet och återigen förhandla ett separat DH-förhandlat relä. key.
- Den upprepar förlängningen till det tredje reläet, och slutar med tre separata delade nycklar — en med varje relä, av vilka ingen ser de andra.
Nu ska du skicka ett meddelande: klienten krypterar nyttolasten tre gånger — först med det tredje reläets nyckel, sedan skickar den andra paketet till — paketet. första stafetten. Varje relä skalar ett lager och skickar resultatet vidare. Utgångsreläet (tredje) dekrypterar det innersta lagret och skickar klartexten till den faktiska destinationen. Destinationens svar läggs till lagren baklänges på vägen hem.
Vad lökdirigering skyddar mot
- Lokala observatörer: Internetleverantörer, nätverksoperatörer, Wi-Fi-snoopers. De ser krypterad trafik till ett relä; de ser inte destinationen.
- Vilket som helst enstaka komprometterat relä: om ett relä i kretsen är fientligt lär det sig högst en slutpunkt, inte båda.
- Destinationsservrar lär sig vem du är din.
- Långtidsspårning av nätverksposition: sökvägen genom nätverket väljs slumpmässigt och uppdateras regelbundet.
Vad lökdirigering INTE skyddar mot
End-to-end trafik9End-to-end XPLZ0 övervakning xPLZ-till-slut-trafik både ingångsskyddet och utgångsreläet kan samtidigt korrelera timingmönster för att bekräfta att användare X pratar med destination Y. Paketen som går in har samma form och timing som paketen som kommer ut, bara på en annan nätverksplats.
Detta är en grundläggande begränsning, inte en bugg. Anonymitetsnätverk med låg latens – allt som är tillräckligt snabbt för interaktiv surfning – läcker timinginformation. De enda motåtgärderna är high-latency-system (mixnätverk som Mixminion, där meddelanden är batchade och slumpmässigt försenade) eller dummy traffic (som ständigt skickar lockbetepaket, vilket är bandbreddsdyrt). Tor byter uttryckligen ut korrelationsmotstånd för användbarhet.
Själva utgångsreläet
Utgångsreläet ser den okrypterade destinationstrafiken. Om du inte använder HTTPS (eller något annat ände-till-ände krypteringslager) kan utgången läsa och ändra din trafik. Dokumenterade fall av skadliga exit som gör exakt detta finns - fånga lösenord, ändra Bitcoin-adresser, injicera JavaScript. Tor Browser skickar endast HTTPS-läget på som standard specifikt för att kastrera det mesta av denna kategori.
Föregångsattacker
Om en motståndare kontrollerar en del av reläerna och en användare upprepade gånger bygger nya kretsar under en lång period, kommer motståndaren så småningom att dyka upp i tillräckligt många positioner för att deanonymisera användaren via statistisk korrelation. Åtgärden är guard reläer — Tor fäster det första hoppet till en liten uppsättning betrodda reläer under en längre period (veckor åt gången), vilket minskar hastigheten med vilken en angripare kan landa i skyddsplatsen. routing. Nyckelskillnaden: vitlöksdirigering paketerar flera meddelanden ("nejlikor" i en "glödlampa") och dirigerar dem som en enhet. Detta gör trafikanalys svårare eftersom storleken och antalet meddelanden i ett paket är oförutsägbara. Onion routing i Tor är ett meddelande per cell, alla i samma storlek, vilket förenklar protokollet men gör korrelationsanalysen något enklare. Se vår I2P-förklaring för mer om vitlöksdirigering.
Lökrouting vs mixnätverk
Mix-nätverk (Mixmaster, Mixminion) tar lökrouting och lägger till avsiktlig latens. Varje relä håller inkommande meddelanden, batcherar dem, slumpar ordningen och vidarebefordrar dem efter en fördröjning. Detta besegrar timing korrelation helt till priset av att vara oanvändbar för interaktiv surfning - meddelandeleverans kan ta timmar. Mixnätverk används fortfarande för asynkrona applikationer med hög anonymitet som anonyma remailers.
Aktuella implementeringar
- Teller — den överlägset största implementeringen. ~7000 frivilliga reläer, miljontals användare dagligen. Se vår Teller förklarar för nätverksspecifika detaljer.
- I2P — använder vitlöksdirigering snarare än lökdirigering i sig, men principen om lagerkryptering delas. lök-routing-liknande lagerkryptering med en annan incitamentsmodell.
- Cwtch / Briar — meddelandeappar som använder Tors lökdirigering som en transport.
Den grundläggande kompromissen som löser en vacker teknik som löser aOnOnionXX4. metadata-anonymitetsproblem rent när dess antaganden håller. Dess svaghet är strukturell: alla anonymitetsnätverk med låg latens läcker timinginformation, och det finns ingen lösning utan att överge interaktiv lyhördhet.
För de flesta användare är routing med lök (via Tor) mer än tillräckligt med anonymitet — bättre än ett VPN, mycket bättre än ingenting, det rätta verktyget för känsliga undersökningar, och känsliga meddelanden. För de mest extrema hotmodellerna – motståndare med global passiv övervakningskapacitet och obegränsad inriktningstid – har till och med lökdirigering gränser. Det är inte ett fel i tekniken; det är den grundläggande matematiken för snabb onlineanonymitet.
Vanliga frågor
- Är lökdirigering detsamma som Tor?
- Lök routing är den kryptografiska tekniken; Tor är det mest populära nätverket som implementerar det. Andra system (Lokinet, Briar, den ursprungliga NRL lökdirigeringstestbädden) använder också lökdirigering. När folk säger "Jag använder Tor" använder de lökdirigering; när de säger "lök routing" menar de nästan alltid Tor.
- Vem uppfann lökrouting?
- Paul Syverson, Michael G. Reed och David Goldschlag vid U.S. Naval Research Laboratory i mitten av 1990-talet. Marinen patenterade den 1998 (US Patent 6 266 704) och släppte den ursprungliga koden under en fri licens 2004, vilket möjliggjorde Tor-projektet med öppen källkod som startade 2002.
- Varför kallas lökdirigering så?
- Varje relä tar bort ett krypteringslager som att skala ett lager av en lök. Det ursprungliga meddelandet är insvept i kapslad kryptering - ett lager per relä i sökvägen. Det första reläet kan dekryptera endast det yttre lagret; det andra nästa lager; det sista reläet dekrypterar det innersta lagret och ser klartexten avsedd för den faktiska mottagaren.
- Kan lökvägen brytas?
- Inte kryptografin direkt. Men onion routing-nätverk med låg latens (Tor) är sårbara för trafikkorrelation från ända till ända om en motståndare kan övervaka både ingångsvakten och utgångsreläet samtidigt. Detta är en grundläggande begränsning av anonymitet med låg latens, inte en implementeringsbugg. Blandningsnätverk med hög latens (Mixmaster) har inte denna sårbarhet men är för långsamma för interaktiv användning.
- Vad är skillnaden mellan routing av lök och routing av vitlök?
- Vitlöksdirigering (används i I2P) samlar flera meddelanden till en enda "glödlampa" som färdas tillsammans. Detta gör trafikanalys svårare eftersom paketstorlekar och antal meddelanden är oförutsägbara. Onion routing (används i Tor) skickar en cell med fast storlek åt gången, enklare att implementera men något lättare att analysera. Båda förlitar sig på samma lagerkrypteringsprincip.