Anonym im Internet - Seite 6
Tor Onion Services
Mit Tor können Internetdienste als Tor Onion Services bzw. Tor Onion Dienste, auch Hidden Services genannt, anonym betrieben und angeboten werden, so dass Nutzern reale IP-Adressen und Domaininformationen zum Internetdienst bzw. Server nicht bekannt werden, sondern verborgen bleiben. Also zum Beispiel einen eigenen Webserver, auf dem ein Weblog, eine Website oder ein Webforum gehostet wird. Umgekeht bleibt dem Diensteanbieter die Identität des Nutzers unbekannt.
Ein Anbieter, der die Anonymität seines Angebots und seiner Identität gewährleisten will, muss darauf achten, selbst keinerlei Informationen in den angebotenen Inhalten oder über die technische Plattform zu bieten, die zur Identifizierung seiner Person oder des Ortes führen, wo sein verborgener Tor-Dienst läuft. Für Dienste und Inhalte, die nicht auf dem eigenen Heimrechner gehostet werden, kann das zum Beispiel bedeuten, einen anonym bezahl- und administrierbaren Server anzumieten oder eine bereits existierende anonyme Hosting-Plattform zu nutzen. Bietet der heimische Internetzugang ausreichend Bandbreite, ist auch der Einsatz eines zusätzlichen Mini-PCs wie der angedachten FreedomBox vorstellbar, der kontinuierlich online ist und auf dem neben dem Betriebssystem Tor und die Server-Anwendungen installiert werden. Damit könnten sich Anbieter der Tor-Dienste von Hostern unabhängig machen und die Probleme bei der Anonymisierung von Bezahlung und Administration externer Server umgehen.
Tor Onion Dienste können so vor Zensur- und Verbotsmaßnahmen schützen, die sich gegen die Anbieter und Betreiber richten, polizeiliche und geheimdienstliche Maßnahmen und Methoden be- und verhindern, die zum Ziel haben, die Person bzw. Identität der Anbieter und Betreiber festzustellen, gesetzliche Zwangsvorschriften zur Anfertigung, Speicherung und Aushändigung von Logdateien unterlaufen und den Internetnutzern einen zusätzlichen Weg eröffnen, anonym Internetdienste zu nutzen und miteinander zu kommunizieren oder Inhalte zu konsumieren, die Verboten und der Zensur unterliegen.
Onion Dienste suchen & besuchen
Einrichtung von Tor Onion Diensten
Für den Betrieb eines verborgenen Internetdienstes über Tor und die Serveranwendung selbst sind ähnliche Sicherheitsmaßnahmen zu ergreifen wie für den Betrieb eines Onion Routers selbst.
Der Internetdiensteanbieter hat den Server eingerichtet und lässt ihn lokal über die loopback Adresse 127.0.0.1 und eine freie Portnummer laufen.
Die Tor Konfigurationsdatei torrc erhält entsprechende Einträge für den Internetdienst. Werden mehrere Internetdienste hinter Tor verborgen betrieben, benötigt jeder Dienst einen separaten Eintrag:
Option | Wert |
---|---|
PublishHidServDescriptors | 0|1 |
HiddenServiceDir | /var/lib/tor/name1 |
HiddenServicePort | Virt-Port1 127.0.0.1:Dienst-Port1 |
HiddenServiceDir | /var/lib/tor/name2 |
HiddenServicePort | Virt-Port2 127.0.0.1:Dienst-Port2 |
Die PublishHidServDescriptors Option ist standardmäßig aktiviert (1), so dass die Dienstebeschreibung von den Verzeichnisservern im DHT Verzeichnis für verborgene Internetdienst veröffentlicht wird.
Das HiddenServiceDir Verzeichnis muss für das Benutzerkonto, unter dem Tor betrieben wird, mit Schreibrechten versehen sein, weil Tor darin ein eigenes Schlüsselpaar aus privatem und öffentlichem Schlüssel für den Dienst erstellt, das in der private_key Datei abgespeichert wird und die hostname Datei, in die der Tor Hostname aufgenommen wird.
Der Tor Hostname lautet üblicherweise base32hash.onion, wobei der base32hash Anteil einen Hash des öffentlichen Schlüssels in Base32 kodierter Form enthält und .onion die virtuelle Top Level Domain für die Rechner darstellt, auf denen die verborgenen Dienste betrieben werden. Sie kann deshalb nur über Tor selbst „aufgelöst“ werden. Der Hostname kann auch base32hash_rn.base32hash_hs.base32hash.onion lauten. Dann enthält der base32hash_rn Anteil Daten zur Authentifikation/Autorisation, die der Treffpunktknoten verlangt und der base32hash_hs Anteil Daten zur Authentifikation/Autorisation, die der Internetdienst verlangt – beides ebenfalls in Base32 Kodierung.
Die HiddenServicePort Zeile gibt zuerst die virtuelle Portnummer an, über den später die Nutzer meinen, von außen auf den Dienst zuzugreifen und danach die lokale Adresse mit der internen/lokalen Portnummer, auf die der Internetdienst wirklich lauscht und an die Tor die über das Tornetz eingehenden Anfragen der Nutzer übergibt. Beide Portnummern können auch gleich lauten. Für einen Webserver kann der Wert z. B. 80 127.0.0.1:80 oder 80 127.0.0.1:8080 lauten.
Aufbau der Verbindungen mit und der Nutzung von Tor Onion Diensten
Phase 1
Der Onion Proxy des Dienstes wählt aus allen Onion Routern mehrere Onion Router aus, die später dem Onion Proxy des Nutzers als Treffpunkt-Netzknoten („introduction points“) dienen. Zu allen Treffpunkt-Netzknoten baut der Onion Proxy des Dienstes eine Verbindungskette auf und übermittelt den Onion Routern seinen öffentlichen Schlüssel, wobei die Mitteilung mit dem privaten Schlüssel signiert ist.
Phase 2
Der Onion Proxy des Dienstes stellt eine Dienstebeschreibung zusammen, die alle Treffpunkt-Netzknoten, den öffentlichen Schlüssel und die Portnummer des Dienstes enthält, signiert sie mit dem privaten Schlüssel und übermittelt die Dienstebeschreibung an alle Verzeichnisserver, von denen sie nach Überprüfung der Signatur und Zeitangaben in ein DHT Verzeichnis für verborgene Internetdienste eingetragen wird. Die Dienstebeschreibungen verbleiben also im DHT Verzeichnis und werden nicht wie die Daten zu allen Onion Routern über eine Verzeichniskopie an die Onion Proxys der Tor Nutzer übertragen. Parallel entnimmt der Diensteanbieter den Tor Hostnamen seines Dienstes der hostname Datei und gibt die Informationen anonym Internetnutzern auf Webseiten bekannt, übermittelt sie an Interessenten anonym per E-Mail oder Instant Messaging usw.
Phase 3
Der Nutzer hat Informationen und Angaben zum verborgenen Internetdienst über eine Internetplattform, per E-Mail usw. erhalten. Er übergibt den string.onion Hostnamen des Dienstes als Teil der Adresse seiner Internetanwendung, die ihn an den Onion Proxy übergibt. Der ruft von den Tor Verzeichnisservern bzw. dem DHT Verzeichnis die Daten des Dienstes aus dessen Dienstebeschreibung (siehe Phase 4) ab, darunter auch die Namen der Treffpunkt-Netzknoten des Dienstes.
Phase 4
Der Onion Proxy des Nutzers wählt aus allen Onion Routern einen Onion Router aus, der später seinem und dem Onion Proxy des Dienstes als Verbindung-Netzknoten („rendezvous point“) dient und baut zum Verbindung-Netzknoten eine Verbindungskette auf. Dem Verbindung-Netzknoten wird ein OTP mitgeteilt.
Phase 5
Der Onion Proxy des Nutzers baut zusätzlich zu einem der Treffpunkt-Netzknoten des Dienstes eine separate Verbindungskette auf und übermittelt dem Treffpunkt-Netzknoten eine mit dem öffentlichen Schlüssel des Dienstes verschlüsselte Nachricht, die u. a. den Namen des Verbindung-Netzknoten, das OTP und einen Schlüsselmaterial-Anteil für einen gemeinsamen Sitzungsschlüssel mit dem Onion Proxy des Dienstes per Diffie-Hellman Schlüsselvereinbarung enthält.
Phase 6
Der Treffpunkt-Netznoten sendet die Nachricht vom Onion Proxy des Nutzers über die Verbindungskette an den Onion Proxy des Diensteanbieters, wo sie mit dem privaten Schlüssel entschlüsselt wird.
Phase 7
Der Onion Proxy des Dienstes entnimmt der entschlüsselten Nachricht u. a. den Namen des Onion Routers, der als Verbindung-Netzknoten des Nutzers fungiert und den Schlüsselmaterial-Anteil für den gemeinsamen Sitzungsschlüssel. Danach bildet er den gemeinsamen Sitzungsschlüssel, baut eine neue separate Verbindungskette zum Verbindung-Netzknoten des Nutzers auf und übergibt ihm u. a. den zweiten Schlüsselmaterial-Anteil. Der Verbindung-Netzknoten sendet die Nachricht über die Tor Verbindungskette an den Onion Proxy des Nutzers weiter.
Phase 8
Der Onion Proxy des Nutzers bildet ebenfalls den gemeinsamen Sitzungsschlüssel. Danach schalten sich die beiden Verbindungsketten vom Onion Proxy des Nutzers und des Dienstes über den Verbindung-Netzknoten zusammen. An einer Verbindung zwischen einem anonymen Nutzer und einem anonymen Dienst sind also ingesamt sechs Onion Router für die beiden Verbindungsketten und ein Onion Router als Verbindung-Netzknoten beteiligt.
Der Onion Proxy des Nutzers sendet Anfragen des Nutzers, die zuerst mit dem gemeinsamen Sitzungsschlüssel und danach mit allen Sitzungsschlüssel der beteiligten Onion Router verschlüsselt sind, bis zum Verbindung-Netzknoten. Dort werden sie an den letzten Onion Router der Verbindungskette des Dienstes übergeben und – wieder schrittweise mit den Sitzungsschlüsseln „seiner“ Onion Router verschlüsselt – zum Onion Proxy des Dienstes weitergeleitet. Der entschlüsselt die Anfrage und leitet sie über den lokalen Diensteport an den Interntedienste-Server (z. B. einen Webserver) weiter. Die Antworten des Internetdienste-Servers nimmt der Onion Proxy auf. Von dort werden sie, mit den gleichen Mechanismen wie bei den Anfragen, verschlüsselt über die Verbindungskette des Dienstes bis zum Verbindung-Netzknoten und von dort über die Verbindungskette des Nutzers bis zum Onion Proxy des Nutzers weitergeleitet. Nach Entschlüsselung der Antwortpakete übergibt sie der Onion Proxy an die Internetanwendung (z. B. einen Webbrowser) des Nutzers.