Navigation im Tor-Netzwerk

Wie im Clear Web müssen auch im Tor-Netzwerk Verfahren vorhanden sein, um Ressourcen, sogenannte Hidden Services bzw. Onion Services zu finden. Im Clear Web stehen dafür DNS-Server zur Verfügung, die den Domain-Namen hierarchisch in eine IP-Adresse auflösen, und Router mit eigenen Routing-Protokollen ermitteln den Weg zur Ziel-IP-Adresse und leiten die Anfrage zielgenau dorthin. Im Prinzip weiß aber die ganze Welt, wer mit wem spricht und wo sich Quelle und Ziel befinden. Zumindest theoretisch und auf numerischer Basis.

Dies steht jedoch im krassen Gegensatz zum Anonymitätsansatz des Tor-Netzwerks, weshalb hier ein grundsätzlich anderer Ansatz verfolgt wird, der sowohl die Anonymität des Clients als auch die der Ressource, des Hidden Service, sicherstellt.

Die Tatsache, dass man mit Tor auch anonym im Clear Web surfen kann und somit die klassische Namensauflösung über DNS weiterhin genutzt wird, ist nicht Gegenstand dieses Artikels.

Hidden Service (Onion Service)

Der Begriff Hidden Service wurde in den frühen Tagen des Tor-Projekts verwendet, um Dienste zu beschreiben, die anonym innerhalb des Tor-Netzwerks gehostet wurden. Diese Dienste sind für die normale Internetwelt unsichtbar und bieten Anonymität sowohl für den Betreiber des Dienstes als auch für die Nutzer.

Der Begriff Onion Service wurde eingeführt, um den Dienst technisch genauer zu beschreiben und gleichzeitig die Weiterentwicklung des Protokolls zu betonen. Seit 2015 hat das Tor-Projekt begonnen, diesen Begriff verstärkt zu verwenden, insbesondere mit der Einführung der neuesten Version von Onion Services (v3).

Die Onion-Adresse

Onion-Adressen unterscheiden sich vom Clear Web. Der Betreiber des Onion Service startet die Einrichtung des Dienstes, indem er ein asymmetrisches Schlüsselpaar (bestehend aus einem privaten und einem öffentlichen Schlüssel) generiert. Aus dem öffentlichen Schlüssel des generierten Schlüsselpaares wird die Onion-Adresse berechnet.

Für v3-Onion-Adressen wird der öffentliche Schlüssel zunächst einer Hash-Funktion (SHA-3/256) unterzogen, und der resultierende Hash-Wert wird dann in Base32 kodiert, um die endgültige Onion-Adresse zu erzeugen. Die Onion-Adresse besteht aus 56 alphanumerischen Zeichen und endet mit .onion.

Die offizielle Onion-Adresse des Tor-Projekts sieht dann folgendermaßen aus:

http://2gzyxa5ihm7nsggfxnu52rck2vv4rvmdlkiu3zzui5du4xyclen53wid.onion/index.html

Deskriptor

Der Deskriptor eines Onion Service im Tor-Netzwerk enthält wichtige Informationen, die es einem Client ermöglichen, sich mit diesem Dienst zu verbinden, ohne seine Anonymität zu gefährden. Der Deskriptor wird vom Onion Service erstellt und in die Hidden Service Directories hochgeladen. Er enthält folgende Informationen:

  • Öffentlicher Schlüssel des Onion Service: Der Deskriptor enthält den öffentlichen Schlüssel des Onion Service. Dieser Schlüssel ist notwendig, um die Identität des Dienstes zu verifizieren und eine sichere Kommunikation zu gewährleisten.
  • Einleitungspunkte (Introduction Points): Eine Liste von Tor-Knoten, die als Introduction Points für den Onion Service dienen. Diese Introduction Points sind spezielle Tor-Relays, die bereit sind, Verbindungsanfragen von Clients entgegenzunehmen und an den Onion Service weiterzuleiten. Für jeden Introduction Point werden folgende Informationen angegeben:
    • Die Adresse des Introduction Point (in Form einer Tor-Knoten-ID).
    • Ein Handshake-Key, der vom Onion Service verwendet wird, um die Kommunikation mit dem Introduction Point zu sichern.
  • Signatur des Deskriptors: Der gesamte Deskriptor ist digital signiert. Diese Signatur wird mit dem privaten Schlüssel des Onion Service erstellt und ermöglicht es dem Client, die Authentizität des Deskriptors zu überprüfen.
  • Verschiedene Metadaten: Der Deskriptor enthält auch einige Metadaten, die für die Funktion des Dienstes und die Kommunikation notwendig sind. Dazu gehören:
    • Eine Versionsnummer des Deskriptors, die angibt, welche Version des Protokolls verwendet wird.
    • Ein Zeitstempel, der angibt, wann der Deskriptor erstellt wurde.
    • Eine Lebensdauer oder ein Gültigkeitszeitraum, der angibt, wie lange der Deskriptor gültig ist und wann er erneuert werden muss.
  • Kontrollinformation für Clients: Informationen, die dem Client helfen, die Verbindung zum Onion Service effizient herzustellen. Dies kann beispielsweise ein Hinweis darauf sein, wie die Verschlüsselung für die Verbindung erfolgen soll.

Der Deskriptor dient dazu, eine sichere und anonyme Kommunikation zwischen einem Client und einem Onion Service zu ermöglichen. Er versorgt den Client mit den notwendigen Informationen, um eine Verbindung aufzubauen, ohne die Identität oder den Standort des Onion Service preiszugeben. Die Introduction Point fungieren dabei als Vermittler, die die tatsächliche IP-Adresse des Onion Service verbergen, während die digitale Signatur sicherstellt, dass der Deskriptor authentisch ist und nicht manipuliert wurde.

Hidden Service Directory (HSDirs)

Die Hidden Service Directories (HSDirs) sind ein wesentlicher Bestandteil des Tor-Netzwerks und spielen eine zentrale Rolle bei der Organisation und Verfügbarkeit der Onion Services. Diese speziellen Dienste fungieren als dezentrale, anonyme Verzeichnisserver, die die notwendigen Informationen bereitstellen, damit Clients auf die Onion Services zugreifen können.

Die Hauptaufgabe der Hidden Service Directories besteht darin, die Deskriptoren der Onion Services zu speichern. Diese Deskriptoren enthalten wichtige Informationen über den Onion Service, wie z.B. den öffentlichen Schlüssel, die Introduction Points und andere Metadaten, die notwendig sind, um eine Verbindung zum Onion Service herzustellen.

Jeder Onion Service berechnet auf Basis seiner .onion-Adresse mehrere Hashes, um zu bestimmen, welche Hidden Service Directories (HSDirs) seine Deskriptoren speichern sollen. Diese Hashes werden verwendet, um die Deskriptoren gleichmäßig und zufällig über das Netzwerk zu verteilen.

Wenn ein Client eine .onion-Adresse eingibt, berechnet sein Tor-Client ebenfalls die entsprechenden Hashes, um die richtigen Hidden Service Directories zu finden, die den Deskriptor des gewünschten Onion Service speichern. Der Tor-Client wählt eines dieser Hidden Service Directories und sendet eine Anfrage an dieses HSDir, um den Deskriptor abzurufen. Sobald der Deskriptor heruntergeladen wurde, verwendet der Client die darin enthaltenen Informationen, um sich mit dem Onion Service zu verbinden.

Die Hidden Service Directories im Tor-Netzwerk sind ein Schlüsselmechanismus, der die Anonymität und Verfügbarkeit der Onion Services sicherstellt. Sie speichern die verschlüsselten Deskriptoren der Onion Services und stellen diese auf Anfrage anonym zur Verfügung, so dass Clients sicher und anonym auf diese Dienste zugreifen können.

Introduction Points

Introduction Points sind Knoten im Tor-Netzwerk, die vom Onion Service ausgewählt werden, um zwischen dem Client und dem Onion Service zu vermitteln. Sie ermöglichen eine Verbindung zu einem Onion Service, ohne dass der Client die tatsächliche IP-Adresse des Dienstes kennt.

Der Client wählt einen der Introduction Points aus dem Deskriptor aus und baut eine verschlüsselte Verbindung zu diesem auf. Über diese Verbindung sendet der Client eine Nachricht (INTRODUCE Message), die eine verschlüsselte Nachricht für den Onion Service enthält. Diese Nachricht enthält unter anderem Informationen darüber, wie der Service den Client kontaktieren kann, normalerweise durch Angabe eines Rendezvous Points und anderer Metadaten. Der Introduction Point sendet daraufhin eine INTRODUCE-ACK Message an den Client zurück, die ihn darüber informiert, ob seine Anfrage zugestellt wurde oder dass seine Anfrage nicht erfolgreich war.

Der Onion Service empfängt die INTRODUCE Message vom Introduction Point, entschlüsselt sie und entscheidet, ob er die Verbindung akzeptiert. Wenn ja, baut er eine Verbindung zum angegebenen Rendezvous Point über einen separaten Tor-Circuit auf. Der Client und der Onion Service treffen sich am Rendezvous Point, ohne dass einer von beiden die Identität oder IP-Adresse des anderen kennt.

Rendezvous Point

Der Rendezvous Point ist ein normales Tor-Relay, das als Treffpunkt für den Datenverkehr zwischen einem Client und einem Onion Service dient. Sowohl der Client als auch der Onion Service bauen separate und anonyme Verbindungen zu diesem Rendezvous Point auf, indem sie jeweils mehrere Tor-Relays durchlaufen.

Der Rendezvous Point ist für den Client das letzte Relay in dieser spezifischen Tor-Verbindung, aber der Rendezvous Point selbst kennt die Identität des Clients nicht, da der Client anonym durch mehrere Relays geroutet wird.

Die Verbindung des Onion Service durchläuft ebenfalls mehrere Tor-Relays, bevor sie den Rendezvous Point erreicht. Der Rendezvous Point ist auch hier das letzte Relay in der Verbindung, kennt aber weder die Identität noch den Standort des Onion Service, da die Verbindung ebenfalls über mehrere Relays anonymisiert wurde.

Ein Relay muss über eine stabile und gut erreichbare Verbindung zum Internet verfügen. Relays, die als Rendezvous Point ausgewählt werden, sollten eine hohe Verfügbarkeit und eine zuverlässige Netzwerkverbindung bieten, um eine stabile Kommunikation zwischen Clients und Onion Service zu gewährleisten. Relays, die als Rendezvous Point fungieren, müssen im Konsensdokument, das die Liste aller aktiven Tor-Relays enthält, aufgeführt sein. Nur in diesem Dokument aufgeführte Relays können als Rendezvous Point ausgewählt werden.

Grafische Darstellung des Prozesses

Erläuterungen zu den einzelnen Phasen

Der Aufbau einer Verbindung eines Tor-Clients zu einem Onion-Service ist ein sehr komplexes Verfahren. Das liegt vor allem daran, dass das Tor-Netzwerk sowohl die Identität des Tor-Clients, als auch die es Onion Service anonymisiert.

  1. Im ersten Schritt (in der Grafik rot dargestellt) wird bei der Erstellung eines Onion Services die .onion-Adresse (xyz.onion) generiert und der Deskriptor in ein Hidden Service Directory (HSDir) hochgeladen. Im Deskriptor definiert der Onion Service mehrere Introducion Points (IPs), über die ein Tor Client Kontakt zum Onion Service aufnehmen kann.
  2. Ruft der Tor-Client nun die .onion-Adresse (xyz.onion) eines Onion Services auf, wird zuerst das Hidden Service Directory (HSDir) ermittelt, welches den Deskriptor des Onion Services enthält.
  3. Bei erfolgreicher Verbindung zum Hidden Service Directory (HSDir) lädt der Tor-Client den Deskriptor des Onion Services herunter.
  4. Der Tor-Client kontaktiert einen der im Deskriptor definierten Introduction Points (IP) und stellt eine Verbindungsanfrage an den Onion Service. Dabei gibt er einen Rendezvous Point (RP) an, an dem sich der Tor Client und der Onion Service treffen können. Der Introduction Point (IP) leitet die Anfrage an den Onion Service weiter.
  5. Der Onion Service sendet dem Introduction Point (IP) eine Bestätigung, dass er die Verbindung akzeptiert, die vom Introduction Point (IP) an den Tor-Client weitergeleitet wird.
  6. Der Tor-Client und der Onion Service treffen sich am vereinbarten Rendezvous Point (RP) und tauschen nun Daten aus.

Der Schlüssel zur Anonymität der beteiligten Kommunikationspartner ist die Tatsache, dass jede einzelne Verbindung, sowohl vom Tor-Client als auch vom Onion Service, über einen separaten Tor-Circuit (eine Verbindungskette mit jeweils einem Entry-Point, einem Middle-Relay und einem Exit-Point) geleitet wird. Somit kennen weder das Hidden Service Directory (HSDir) noch der Introduction Point (IP) oder der Rendezvous Point (RP) die wahre Identität des Tor Clients oder des Onion Services. Sie kennen jeweils nur den Exit-Point. Ebenso kennen weder der Tor Client noch der Onion Service die wahre Identität des anderen.

Voraussetzung für die Wahrung der Anonymität ist allerdings eine korrekte Konfiguration und Implementierung der Tor-Komponenten. Falsch konfigurierte Browser können beispielsweise eine Menge Informationen über den Verbindungskanal preisgeben, die die Anonymität des Tor-Clients gefährden.

Ein Problem bei der Nutzung des Tor-Netzwerks, das die Anonymität der Nutzer gefährdet, ist eine große Anzahl von Tor-Relays, die unter der Kontrolle eines einzelnen Akteurs stehen könnte. Auch wenn durch die Verschlüsselung der Inhalt der Kommunikation nicht sofort bekannt wird, kann durch die Korrelation von zeitlichen und räumlichen Verbindungsanfragen auf die wahre Identität eines Nutzers oder zumindest auf einige wenige Nutzer zurückgeführt werden.

Loading

Updated on 20. August 2024
Was this article helpful?

Related Articles