Berätta om alla nycklar som Tor använder
Tor använder flera typer av kryptografiska nycklar för att ge integritet, autentisering och tillit. Dessa nycklar håller trafiken privat, bekräftar att du ansluter till de avsedda reläerna och samordnar en betrodd bild av nätverket.
Tor använder flera olika nycklar med tre syften: 1) kryptering för att skydda data i Tor-nätverket, 2) autentisering så att klienterna vet att de kommunicerar med de avsedda reläerna och 3) signaturer så att alla klienter känner till samma uppsättning reläer.
Kryptering: För det första använder alla anslutningar i Tor TLS-länkkryptering, så att observatörer inte kan se inuti dem och avgöra vilken krets en viss cell är avsedd för. Tor-klienten upprättar dessutom en tillfällig krypteringsnyckel med varje relä i kretsen. De extra krypteringslagren innebär att endast utgångsreläet kan läsa cellerna. Båda sidor kasserar kretsnyckeln när kretsen avslutas, så det fungerar inte att logga trafiken och senare göra intrång i reläet för att hitta nyckeln.
Autentisering: Varje Tor-relä har en offentlig dekrypteringsnyckel som kallas ”onion-nyckeln”. Varje relä byter sin onion-nyckel var fjärde vecka. När Tor-klienten upprättar kretsar kräver den i varje steg att Tor-reläet visar att det känner till sin onion-nyckel. På så sätt kan den första noden i vägen inte bara förfalska resten av vägen. Eftersom Tor-klienten väljer vägen kan den säkerställa Tors egenskap med ”distribuerad tillit”: inget enskilt relä i vägen kan känna till både klienten och vad klienten gör.
Samordning: Hur vet klienterna vilka reläerna är, och hur vet de att de har rätt nycklar till dem? Varje relä har en långsiktig offentlig signeringsnyckel som kallas ”identitetsnyckeln”. Varje katalogauktoritet har dessutom en ”katalogsigneringsnyckel”. Katalogauktoriteterna tillhandahåller en signerad lista över alla kända reläer. Listan innehåller en uppsättning certifikat från varje relä (självsignerade med reläets identitetsnyckel) som anger dess nycklar, plats, utgångspolicy och så vidare. Om inte angriparen kan styra en majoritet av katalogauktoriteterna (år 2025 finns det nio) kan angriparen därför inte lura Tor-klienten att använda andra Tor-reläer.
Hur vet klienterna vilka katalogauktoriteterna är?
Tor-programvaran innehåller en inbyggd lista med plats och offentlig nyckel för varje katalogauktoritet. Det enda sättet att lura användare att använda ett falskt Tor-nätverk är alltså att ge dem en särskilt modifierad version av programvaran.
Hur vet användarna att de har rätt programvara?
När vi distribuerar källkoden eller ett paket signerar vi det digitalt med GNU Privacy Guard. Se anvisningarna för att kontrollera Tor Browsers signatur.
För att vara säker på att programmet verkligen har signerats av oss måste du ha träffat oss personligen och fått ett exemplar av fingeravtrycket för vår GPG-nyckel, eller känna någon som har gjort det. Om du oroar dig för en attack på den här nivån rekommenderar vi att du engagerar dig i säkerhetsgemenskapen och börjar lära känna människor där.