tor browser
Perfekt! Här kommer den utökade versionen av artikeln, med en ny teknisk sektion som förklarar **hur Tor bygger sina krypteringslager** – komplett i MediaWiki-format med `
`-block för tydlig teknisk presentation.
---
= Tor Browser – Teknisk översikt =
'''Tor Browser''' är en webbläsare byggd för att skydda användarens anonymitet och integritet på internet. Den baseras på [[Mozilla Firefox]] med tillägg, förkonfigurationer och patchar som möjliggör anonym trafik via [[Tor-nätverket]] (The Onion Router). Tor Browser är utvecklad av [[The Tor Project]] och är tillgänglig för [[Windows]], [[macOS]], [[Linux]] och [[Android]].
== Grundläggande funktion ==
Tor Browser fungerar som ett gränssnitt till Tor-nätverket. När användaren öppnar en webbsida dirigeras trafiken genom minst tre slumpmässigt utvalda reläer (noder) i nätverket: en '''ingångsnod''', en '''mellanrelä''' och en '''utgångsnod'''.
Detta flerskiktade sätt att skicka data kallas för '''onion routing''' (lökrouting).
Varje nod i kedjan känner endast till föregående och nästa steg – inte hela vägen mellan användare och målserver.
Genom att kryptera varje lager separat (likt skal i en lök) uppnås anonymitet, eftersom ingen enskild nod kan se både avsändare och mottagare samtidigt.
== Komponenter ==
Tor Browser består av flera centrala komponenter:
* '''Firefox ESR''' – huvudmotorn, med anpassade patchar för att minska spårbarhet och nätverksidentifiering.
* '''Tor-daemon (tor.exe / tor)''' – klientprogrammet som bygger och underhåller kretsar i Tor-nätverket.
* '''NoScript''' – kontrollerar och begränsar körning av [[JavaScript]] och [[WebAssembly]].
* '''HTTPS-Only Mode''' – tvingar alla anslutningar till säkra HTTPS-anslutningar.
* '''Letterboxing''' – standardiserar fönsterstorlek för att motverka fingeravtryckning.
* '''Bridges''' – dolda reläer som gör det möjligt att ansluta även i länder där Tor är blockerat.
* '''Sandboxing''' – isolerar processer (på vissa plattformar) för att förhindra säkerhetsläckor.
== Onion Routing i detalj ==
Onion routing bygger på flerskiktskryptering:
# Tor-klienten skapar en slumpmässig kedja av tre reläer: Guard → Middle → Exit.
# En unik sessionsnyckel genereras för varje relä via en kryptografisk nyckelutväxling (Diffie–Hellman).
# När användaren skickar data (t.ex. en HTTP-förfrågan) krypteras den flera gånger – ett lager för varje relä.
# Varje nod dekrypterar endast sitt eget lager och vidarebefordrar sedan datapaketet till nästa nod.
# Den sista (exit-)noden skickar sedan förfrågan vidare till målsajten.
På vägen tillbaka sker processen i omvänd ordning, så att svaret till användaren återkapslas i samma ordning av lager.
== Pseudokod: Byggande av en Tor-krets ==
För att illustrera processen tekniskt kan man beskriva hur Tor bygger en krypterad krets med tre noder.
<pre>
# Definiera de tre slumpmässigt valda reläerna
entry_node = select_random_relay(type="guard")
middle_node = select_random_relay(type="middle")
exit_node = select_random_relay(type="exit")
# Etablera separata nycklar via Diffie–Hellman-handshake
K_entry = DH_key_exchange(entry_node)
K_middle = extend_circuit(K_entry, middle_node)
K_exit = extend_circuit(K_middle, exit_node)
# När kretsen är etablerad skickas datapaket enligt:
function send_over_tor(data):
# Kryptera i tre lager (innerst till ytterst)
layer_exit = encrypt(data, K_exit)
layer_middle = encrypt(layer_exit, K_middle)
layer_entry = encrypt(layer_middle, K_entry)
send_to(entry_node, layer_entry)
# Varje nod dekrypterar endast sitt eget lager
function relay(node, packet):
decrypted = decrypt(packet, node.key)
forward_to_next(decrypted)
Varje lager av kryptering gör att ingen enskild nod kan koppla ihop avsändare och mottagare. Kryptografiskt används vanligtvis elliptiska kurvor och ephemeral nycklar för varje krets, vilket ger både säkerhet och framåtsekretess.
DNS och nätverk
Tor Browser hanterar DNS-förfrågningar internt via Tor-klienten. DNS-resolution sker alltså inom nätverket, inte via användarens operativsystem, vilket hindrar DNS-läckor. Alla förfrågningar (HTTP, HTTPS, DNS) kapslas in i Tor-protokollets TCP-anslutningar.
UDP-baserad kommunikation, som WebRTC eller realtidsströmning, är normalt inaktiverad eftersom den kan avslöja IP-adressen.
Fingerprinting-skydd
Tor Browser minimerar skillnader mellan användare för att göra spårning svårare:
- Enhetlig användaragent-sträng
- Avaktiverad åtkomst till Canvas API och GPU-information
- Standardiserad fönsterstorlek (Letterboxing)
- Blockerad tidszon, språk- och systemidentifiering
- Begränsad fontlista
Resultatet blir att alla användare ser likadana ut för webbtjänster – vilket gör unika “fingeravtryck” mycket svårare att skapa.
Säkerhetsnivåer
Tor Browser har tre förinställda säkerhetsnivåer som balanserar funktionalitet och skydd:
- Standard: Full funktionalitet (JavaScript aktivt, alla medier).
- Safer: Begränsar JavaScript och vissa format på osäkra sidor.
- Safest: Stänger av JavaScript helt och tillåter endast grundläggande HTML.
Sedan version 15.0 hanteras även WebAssembly (Wasm) av NoScript, vilket gör det möjligt att behålla skyddet i högre nivåer utan att inaktivera viktiga interna funktioner som PDF-visning.
Relätyper i Tor
- Guard Node (Entry Node): Första noden i kedjan; endast användaren känner till den.
- Middle Node: Passerar krypterad trafik mellan ingångs- och utgångsnod.
- Exit Node: Kontaktar målsajten; synlig för målservern men inte användarens IP-adress.
Tor bygger automatiskt nya kretsar ungefär var tionde minut eller när användaren väljer “Ny identitet”.
Begränsningar
- Tor skyddar inte mot inloggning på personliga konton (t.ex. sociala medier).
- Trafik som lämnar utgångsnoden utan HTTPS kan läsas av tredje part.
- Hastigheten påverkas eftersom trafiken passerar flera reläer.
- Vissa webbtjänster blockerar Tor-noder eller kräver CAPTCHA.
Användningsområden
- Journalistik och visselblåsning
- Undvikande av censur i repressiva regimer
- Forskning och säker kommunikation
- Privat surfande utan kommersiell spårning
Se även
Externa länkar
- [[1](https://www.torproject.org/) Tor Project – officiell webbplats]
- [[2](https://tb-manual.torproject.org/) Tor Browser User Manual]
- [[3](https://gitlab.torproject.org/torproject) Tor Project GitLab]
Referenser
- Dingledine, Mathewson, Syverson: Tor: The Second-Generation Onion Router, USENIX 2004.
- The Tor Project: Tor Design Paper, 2020.
- Mozilla: Firefox Extended Support Release (ESR) documentation.