Wie funktionieren Tor Browser Onion Links?

1 Antwort

Vom Fragesteller als hilfreich ausgezeichnet
Mich interessiert das "Back-End" von diesen Onion Links, wie findet der Browser raus, dass ein Onion Link eigentlich die Adresse hat.

Jeder Onion-Dienst hat ein eindeutiges Schlüsselpaar, bestehend aus einem privaten (geheimen) und einem öffentlichen Schlüssel. Aus dem öffentlichen Schlüssel wird der Name generiert. Drängt sich ein Man-in-the-Middle in den Kommunikationsweg, um die Verbindung zu entschlüsseln, passt die aufgerufene Adresse nicht mehr zum Schlüssel. Damit fällt der Angreifer auf. Die Kommunikation zu einem Onion Service ist also nicht nur anonym, als Nutzer kann man sich auch sicher sein, dass man mit dem richtigen Dienst kommuniziert. Aber: Zwischen dem letzten Tor-Knoten und dem angesprochenen Dienst gibt es keine Verschlüsselung mehr durch Tor. Wer persönliche Daten übermittelt, muss also SSL/TLS-Verschlüsselung einsetzen.

Zunächst einmal muss sich der Onion Service im Tor-Netz bekannt machen. Dazu baut er drei Tor-Kanäle mit je drei Knoten auf. Der jeweils letzte Knoten ist der sogenannte Introduction Point. Die drei Introduction Points werden in in Form eines Onion Service Descriptors bei einem Verzeichnisdienst registriert. Dieser Verzeichnisdienst ist im gesamten Tor-Netz erreichbar. Damit ist der Onion Service im Tor-Netz erreichbar.

Dein Tor-Browser muss nun herausfinden, wie der aufgerufene Onion Service erreichbar ist. Dazu befragt er den Verzeichnisdienst und bekommt die drei Introduction Points genannt.

Im nächsten Schritt baut der Tor-Browser einen Kanal aus drei Knoten auf, wobei der letzte Knoten der sogenannte Rendevouz Point ist. Der Rendevouz Point erhält vom Tor-Browser ein Einmal-Passwort. Der Tor-Browser sucht sich nun einen der Introduction Points aus und baut einen Kanal über drei Knoten zu diesem Punkt auf. Er teilt dem Introduction Point das Einmal-Passwort und die Adresse des Rendevouz Points mit. Der Introduction Point reicht diese Daten an den Onion Service weiter. Dieser prüft die Daten in mehreren Schritten und entscheidet, ob der Client vertrauenswürdig ist.

Der Onion Service verbindet sich nun über einen Tor-Kanal mit dem Rendevouz Point und authentisiert sich mit dem Einmal-Passwort. Der Rendevouz Point prüft das Passwort und erlaubt die Verbindung.

Denn eine Domain ist es ja nicht (sonst könnte ich es ja auch in anderen Browsern öffnen)

Das eine hat mit dem anderen nichts zu tun. .onion ist eine Top-Level-Domain. Die onion-Adressen sind also Domains. Sie werden nur nicht zentral verwaltet und nicht vom DNS aufgelöst. Man benötigt also einen anderen Mechanismus, um zu einem Namen die IP-Adresse zu finden.

troloxi 
Fragesteller
 07.12.2021, 14:53

Noch eine Frage, wer stellt diese Server (Knotenpunkte) zur Verfügung? Die gehören ja nicht alle Tor und wenn man mal mit Tor verbunden ist und dann nachschaut, sind es häufiger mal Firmen oder ähnliches mit dessen Server man verbunden ist. Wieso sollten die sowas einfach so gratis machen?

und noch viel wichtiger: Wenn Menschen illegale Dinge tun, ist dann nicht die IP ihres Servers die, die angezeigt wird und theoretisch sie dafür gerade stehen müssen?

0
franzhartwig  07.12.2021, 15:29
@troloxi
Noch eine Frage, wer stellt diese Server (Knotenpunkte) zur Verfügung?

Jeder, der möchte. So zum Beispiel ich. Aber Du könntest Dich auch beteiligen.

Wieso sollten die sowas einfach so gratis machen?

Spaß an der Freude? Idealismus?

Wenn Menschen illegale Dinge tun, ist dann nicht die IP ihres Servers die, die angezeigt wird und theoretisch sie dafür gerade stehen müssen?

Das ist zumindest in Deutschland allenfalls dann ein Punkt, über den man nachdenken muss, wenn man sogenannter Exit Node ist. Das kannst Du in der Konfiguration selbst festlegen.

In anderen Ländern gibt es so etwas wie die Störerhaftung nicht. Da gibt es das Problem nicht.

0
troloxi 
Fragesteller
 07.12.2021, 15:31
@franzhartwig

Betreibst du das auf einem richtigen Server, oder reicht da schon sowas wie ein Raspi aus?

Wie stehst du dazu? Bist du Exit Note? bzw. hast du falls es so ist, Angst, deswegen Ärger zu bekommen?

0
TechPech1984  07.12.2021, 15:33
@troloxi

hier sind die sachen erklärt

https://en.wikipedia.org/wiki/Onion_routing#Onion_creation_and_transmission

warum firmen etc das bereit stellen , weil es um anonymisierung geht , das jamand etwas illegales tut ist eine ganz andere sache, die tun leute auch auf nicht naonymisierten wegen , aber alle die halt so ein netzwerk brauchen , stellen sowas bereit auch unis . den z.b. die pressefreiheit und der informanten schutz ist eine gute sache und eine zentral wichtige sache . ein messer kann man halt zum brot schmieren und schneiden nehmen und zum töten , deswegen haben aber alle messer bei sich rumliegen und messer sind auch nicht verboten .

das system wurde auch maßgeblich für geheimdienste ausgebaut , weil die z.b. auch anonyme kommunikation brauchen . zur frage, wer die exit knoten kontrolliert hat schon mal den ausgangspunkt . dazu musst du aber erstmal rausfinden wer wo welchen exit node benutzt und das ist jetzt nicht so leicht wie es aussieht, da kein knoten weiss wer der endknotenist , er kennt maximal den vorherigen und den nächsten . quasi kann man immer wieder neue wege nehmen , bei jeder verbdingung . somit weiss weder server noch client wer nun wer ist weil die knoten dazwischen halt auch nix wissen . das ist schon sehr tricky gemacht . es gibt natürlich angriffspunkte um auch das zu "häcken" aber das ist halt nur mit großem aufwand verbunden und mit glück .

0
franzhartwig  07.12.2021, 15:34
@troloxi
Betreibst du das auf einem richtigen Server, oder reicht da schon sowas wie ein Raspi aus?

Ich habe einen VPS gemietet. Und ja, ein Raspi reicht aus. Mein Onion Service läuft auf einem Raspi.

Wie stehst du dazu? Bist du Exit Note?

Nein. Ich bin meistens Middle Node, manchmal auch Guard. Zudem habe ich eine Bridge.

0
troloxi 
Fragesteller
 07.12.2021, 15:37
@franzhartwig

Kann man momentan sehen, wie viele "Nodes" bzw Server gerade dafür auf der ganzen Welt bereitgestellt werden?

Wie war es beim Anfang von Tor eigentlich? Da wird es ja wohl nicht so viele Unterstützer gegeben haben. Wie haben die das da mit den Servern gemacht. Weißt du das?

0
troloxi 
Fragesteller
 07.12.2021, 15:38
@franzhartwig

Wenn man helfen will und eine eigene Node macht, muss man aber natürlich Ports freigeben. Richtig?

0
franzhartwig  07.12.2021, 15:44
@troloxi

Kann man momentan sehen, wie viele "Nodes" bzw Server gerade dafür auf der ganzen Welt bereitgestellt werden?

Ja: https://metrics.torproject.org/

Wie war es beim Anfang von Tor eigentlich? Da wird es ja wohl nicht so viele Unterstützer gegeben haben. Wie haben die das da mit den Servern gemacht. Weißt du das?

Es waren halt zunächst nur wenige Knoten aktiv. Die Entwicklung seit 1. Januar 2000: https://metrics.torproject.org/networksize.html?start=2000-01-01&end=2021-12-07

Wenn man helfen will und eine eigene Node macht, muss man aber natürlich Ports freigeben. Richtig?

Richtig. Wenn Du das Ding zu Hause im Heimnetz betreibst.

0
troloxi 
Fragesteller
 07.12.2021, 15:56
@franzhartwig

Waren die Knoten dann von den Gründern selber aufgestellt? Oder gab es da von Anfang an wirklich Leute die das gemacht haben?

0
troloxi 
Fragesteller
 07.12.2021, 16:24
@franzhartwig

Ich wollte so eine Art "Tor" (also mit den Knotenpunkten) mal als Spaß für mich privat umsetzen. Natürlich nur um mehr zu verstehen wie alles geht und Erfahrung zu sammeln.

Ist sowas überhaupt möglich, oder ist das alleine unmöglich sowas umzusetzen?

0
franzhartwig  07.12.2021, 16:26
@troloxi

Nichts ist unmöglich. Das Aufsetzen eines Tor-Knotens ist nicht so schwierig und gut dokumentiert. Du benötigst aber auch die Tor-internen (Verzeichnis)-Dienste. Wie die aufgesetzt werden, habe ich noch nie nachgelesen.

0
troloxi 
Fragesteller
 07.12.2021, 16:28
@franzhartwig

Ich meinte nichts mit Tor Zusammenhängend. Also sozusagen einen Tor Clone (natürlich für private und Lern Zwecke) also ein Firefox Browser der Bearbeitet wurde und das Backend (mit eigenen Knoten und so einem System ein programmiert wurde)

0
franzhartwig  07.12.2021, 16:33
@troloxi

Du willst ein eigenes System entwickeln, das vergleichbar ist mit Tor? Kann man machen. Viel Spaß dabei ...

0
troloxi 
Fragesteller
 07.12.2021, 16:36
@franzhartwig

Ist sowas überhaupt möglich alleine?

Ich glaube da sitz ich noch hier bis ich 60 bin ;D

0
franzhartwig  07.12.2021, 16:43
@troloxi

Ob das möglich ist, hängt von Deinen Fähigkeiten ab. Und vom Zeitkontingent.

0
troloxi 
Fragesteller
 07.12.2021, 16:50
@TechPech1984

Kann eine Exit Node gleichzeitig benutzt werden? Also die IP Adresse die als aller letztes raus kommt und den Seiten sozusagen angezeigt werden würde. Können über die mehrere gleichzeitig Connecten? Oder ist eine Exit Node für einen User? Wenn ja, dann brauch man ja 10000 exit nodes

0
franzhartwig  07.12.2021, 18:09
@troloxi
Kann eine Exit Node gleichzeitig benutzt werden?

Gleichzeitig mit was?

Können über die mehrere gleichzeitig Connecten?

Connecten = verbinden. Du meinst, ob mehrere Verbindungen parallel über einen Exit Node laufen könne? Ja, natürlich. Das ist doch nichts anderes als ein Proxy. Ansonsten könnten nur rund 1.500 Verbindungen über das Tor-Netz parallel existieren, weil nur rund 1.500 Exit Nodes existieren.

0
troloxi 
Fragesteller
 08.12.2021, 13:22
@franzhartwig

Sorry, jetzt muss ich nochmal fragen aus Interesse, hast du auf deinem VPS eine Exit Note?

Bzw hast du jemals eine Exit Node gehostet?

0