BlogKontaktTagcloud

Nachrichten mit einem geheimen Server austauschen

Dieser Artikel versteht sich als Fortsetzung des ersten Artikels über Tor's Onion Routing "Nachrichten anonym transportieren". Wiederum Kämpfen, stellvertretend für zwei unbescholtene Internetbenutzer die Tor benutzen, unsere Helden Bob von der British Agency und Alice von der Australian Agency gegen das böse in der Welt.

Die allgemeine Bedrohungslage hat sich verändert, Frankreich ein erklärter Feind der BA hat seine Überwachungsmassnahmen verschärft. Bob von der BA muss sich deshalb an einen geheimen Ort zurückziehen. Doch wie soll nun Alice noch mit ihm kommunizieren ohne dass Bob ihr seinen Standort verrät und sich somit der Gefahr einer Kommandoaktion der französischen Fremdenlegion aussetzt.

Die Lösung dieses Problem ist nicht ganz einfach. Durch eine geschickte Reihenfolge beim Kommunikationsaufbau können aber sowohl Alice als auch Bob anonym bleiben. Als Infrastruktur muss bereits die im Artikel "Nachrichten anonym transportieren" erwähnte Infrastruktur existieren. Bob deponiert nun einen Schliessschlüssel, für denn er einen Öffnungsschlüssel hat, für Kisten die an ihn adressiert werden in einem Büro (es können auch mehrere sein). Und schickt nun eine Agenten zu diesem Büro damit ihn Personen über dieses Büro erreichen können.
Im Internet würde Bob für den Austausch von Nachrichten einen public key für die Identifikation eines Services auf seinem Server erzeugen und diesen bei einem Entry-Point hinterlegen.
Alice erfährt nun über eine geheime Nachricht (Toter Briefkasten, Zitronen Schrift oder anderes was Agenten sonst noch so brauchen um geheime Nachrichten auszutauschen) wo Bob das den Schlüssel hinterlegt hat.
Alice findet einen Hash Wert des Public Key (Schliessschlüssel) und findet den Entry Point von Bob.
Alice schickt nun einen Agenten mit einem Erkennungszeichen (Zeitung, Nelke oder ähnliches) an ein zufällig ausgewähltes Büro. Sie sendet das Erkennungszeichen und das Büro zu welchem sie den Agenten geschickt hat, in einer Kiste das mit dem Schlüssel von Bob verschlossen hat, zu. Der AA Agent übergibt das Packet an den schon lange wartende BA Agenten. Dieser bringt das Packet an Bob.
Alice baut eine Verbindung zu einem zufälligen Torserver, dem Rendezvous-Punkt, auf. Damit Bob die Verbindung von Alice erkennen kann erstellt diese ein Rendezvous-Cookie (Erkennungszeichen). Diese Informationen übermittelt sie mit dem öffentlichen Schlüssel von Bob verschlüsselt an Bob's Entry-Point.
Wenn Bob nun mit der Verbindung einverstanden ist schickt er den Agenten nun mit dem Erkennungszeichen zu dem Verbindungsbüro von Alice. Nun können die Agenten über dieses Büro Nachrichten austauschen ohne den Standort des jeweils anderen zu kennen.
Beim Rendezvous-Punkt werden, mit Hilfe des Rendezvous-Cookie, die beiden Verbindungen "zusammengeschlossen".
Die ganze TOR-Geschichte ohne Agenten gibt’s im Übrigen auch bei Wikipedia.
Ähnliche Beiträge:
Nachrichten anonym transportieren
Lernen (oder eben doch nicht)
100@facebook
You shall not steal!
Abteilung: Fehler passieren überall
Comments (3)  Permalink

Nachrichten anonym transportieren

Zum letztjährigen Schulstoff gehört auch die Funktionsweise von anonymen Netzwerken. Als Beispiel haben wir Tor's Onion Routing behandelt. Wikipedia erklärt die Funktionsweise von Tor ebenfalls, dabei handelt es sich um eine Übersetzung aus dem englischsprachigen Tor Design Document. Ich versuche nun die Funktionsweise eines solchen Netzes zu erklären, in einem späteren Artikel versuche ich der Aufbau einer Verbindung zu erklären wenn der Standort des Gesprächspartners geheim ist.

Um die Erklärung ein wenig farbiger zu gestalten verwende ich als Metapher zwei befreundete Geheimdienstes. Dabei handelt es sich um die British Agency (BA) geleitet von Bob und um die Australian Agency (AA) geleitet von Alice (soweit so fantasielos). Leider haben die beiden Geheimdienste gesetzliche Auflagen erhalten um gleichzeitig die Sicherheit und die Kontrollierbarkeit zu erhöhen. Diese Regeln besagen das der Austausch von wirklich geheimen Nachrichten nur durch Agenten persönlich erfolgen darf. Die Nachrichten dürfen nur in kleinen Metallkästen transportiert werden die die Nachrichten enthalten. Damit die Kontrollierbarkeit aber gewährleistet bleibt müssen die Kästen von den Agenten immer sichtbar getragen werden und mit dem nächsten Empfänger für alle sichtbar beschriftet sein.
Im Internet ist das ganz ähnlich. Die Metallkisten sind Netzwerkpakete die zwar verschlüsselt werden können, Empfänger und Absender aber immer beinhalten müssen.

Die beiden Agency's haben nun dasselbe Dilemma das wir im Internet auch haben, die Nachrichten können zwar Verschlüsselt (oder eben in Metallkästen verschlossen) werden. Das Aussehen der Nachricht (Metalkiste) und deren Empfänger sind aber für alle (auf dem Pfad der Agenten oder des IP-Paketes) sichtbar.

Nun haben die findigen Köpfe der Agency's (und auch Computerwissenschafler ) Möglichkeiten gesucht um Metalkisten (oder IP-Pakete) anonym zu übertragen. Es ist erst ein mal relativ einfach wenn Alice Bob Nachricht senden will die Nachricht über verschiedene Büros der Organisationen umzuleiten und jeweils wieder von einem anderen Agenten zu transportieren lassen um den Gegner zu verwirren. Leider müssen jeweils alle Adressen der Zwischenstationen angeschrieben sei weil die Kiste sonst ihren Weg nicht findet, ein Gegner mit einem IQ von über 70 dürfte sich mit dieser Methode kaum verwirren lassen. Die Agency's haben deshalb eine geniale Methode ausgedacht um dieses Problem zu umgehen. Beide Leiter der Geheimdienste haben einen riesen Schlüssbund mit dem sie die Metallkisten mit einem Spezialschloss so abschliessen können das es nur das Büro mit dem entsprechenden Schlüssel auch wieder öffnen kann. Das Büro Rom kann zum Beispiel nur Kästen öffnen die von Alice oder Bob mit dem "Rom-Schlüssel" abgeschlossen wurden. Wenn Alice nun ein Nachricht senden will verpackt sie diese in einen Metallkasten, beschriftet diesen mit seiner Adresse und verschliesst ihn mit dem Schlüssel von Bob so das nur er sie wieder öffnen kann. Dieser Kasten kommt nun in einen weiteren den sie zum Beispiel an das Büro in Singapur adressiert und mit dem Schlüssel dieses Büros verschliesst. Dies macht sie für einige weiter Zwischenstationen. Ausserdem wurden die Büros angewiesen die Kisten eine zufällige Zeit aufzubewahren, dass der Eingang dem Ausgang der Kiste nicht mehr zugeordnet werden konnte. Zugegeben der erste Agent ist ein wenig ein armes Schwein, weil sein Metallkasten recht gross wird, aber es hat ja niemand gesagt dass das Agentenleben leicht sei. Mit dieser Methode lässt sich der Weg einer Nachricht nicht mehr Verfolgen.
Auch hier ist der Internetvergleich wieder einfach. Mit PKI ist es sehr einfach Pakete so zu verschliessen das sie nur das nächste Büro (also ein Oninon Router) öffnen kann. Genau so wird im Internet eine Weg im vorhinein bestummen und die Pakete nach dem Babuschka/Matroschka-Prinzip verpackt.

...dachten sie! Bis ein findiger Gegenagent kam und genau die Grösse der Kisten, die den Agenten beim Transport den Rücken ruinierte, ausnutzte. Mit der Grösse der Kiste liess sich nämlich bestimmen wie lange ein Packet schon unterwegs ist, ausserdem lies sich mit einem guten Augenmass und ein wenig Glück auch ankommende Kisten, ausgehenden Kisten zuordnen. Die ausgehende Kiste war jeweils einfach ein wenig kleiner als die Zugehörige eingehende. Waren wenige Kisten unterwegs war das nicht mal so eine schwere Aufgabe und konnte vom feindlichen Agenten mit dem Feldstecher vom Kaffe aus erledigt werden. Das Problem zu lösen war gar nicht mal so schwer, die Kistengrösse der Kiste die zueuserst war wurde einfach normiert. Jedes Büro muss nun wenn es ein Kiste erhält dieses Auspacken und gleich in eine neue Normkiste verpacken und diese gleich wie die innere Kiste adressieren. Der entstehende Holraum wird einfach mit alten Zeitungen ausgestopft. Dies funktioniert sehr gut, der Aufwand ist natürlich einiges höher da nun die Kisten immer wieder neu verpackt werden müssen und jedes Büro einen Schliess-Schlüsselbund braucht (welcher nur das schliessen von Kisten ermöglich aber nicht deren öffnen, jedes Büro kann nach wie vor nur für sich verschlossene Pakete öffnen).
Tatsächlich wurd die Paketgrösse auch im Internet auf die Grösse von 512 Bytes normiert.

Wenn allerdings nun der Standort von Alice geheim bleiben soll, wie kommt die Antwort von Bob wieder zurück. Auch dafür wurde eine Lösung gefunden. Jedes Büro kennt den Absender und den Empfänger einer Nachricht. Wird das Packet nun neu verpackt wird es mit einem Farbcode versehen. In einer strenggeheimen Liste wird nun vermerkt von wem die Kiste kam und welcher Farbcode die ausgehende Kiste hatte. Will nun ein Büro ein Nachricht zurücksenden verwendet es einfach denselben Farbcode. Der Weg zurück ist dann klar. Jedoch jeweils nur von einem Büro zum nächsten.
Tor baut dazu zwischen zwei Onion Routern einen Circuit auf. Die den Rücktransport der Nachrichten ermöglichen, die Verbindung aber geheim bleibt.

Ein letztes kleines Problem ist das es jeweils ganz mutige Agenten gibt die Versuchen ein Kiste zu klonen (das scheint irgendwie zu gehen), mit ihr ins Büro laufen und sie weiter schicken zu lassen. Macht man das genug häufig kann man Ein- und Ausgang zuordnen weil durch die normierten Prozeduren das Ausgangspaket jeweils ebenfalls identisch aussieht. Die Lösung dazu ist ein wenig Umständlich aber sehr einfach. Jedes Büro hat einen Agenten angestellt der sich alle Pakete merkt, wenn eines zwei mal eintrifft wird es vernichtet und der Agent, naja mit dem passiert hald was mit feindlichen Agenten so passiert.
Dieses Problem begegnet Tor mit einer Datenbank in der bereits empfangene Pakete gespeichert werden. Trifft ein solches Paket erneut ein, wird es gnadenlos exekutiert.

Wie Alice und Bob kommunizieren wenn die Bedrohungslage in Frankreich steigt und Bob sich verstecken muss (oder "hidden service") erkläre ich im nächsten Artikel.
Ähnliche Beiträge:
Nachrichten mit einem geheimen Server austauschen
Lernen (oder eben doch nicht)
100@facebook
You shall not steal!
Abteilung: Fehler passieren überall
Comments (1)  Permalink
1-2/2