Mixmaster Remailer: Difference between revisions

From
Jump to navigation Jump to search
Line 54: Line 54:
Es ist auch möglich '''Kopien einer Nachricht''' über verschiedene Remailer Ketten zu versenden. Der letzte Remailer zerstört nach erfolgreicher Zustellung einer Kopie das Duplikat. Das Duplikat wird anhand einer Nachrichten-ID erkannt.
Es ist auch möglich '''Kopien einer Nachricht''' über verschiedene Remailer Ketten zu versenden. Der letzte Remailer zerstört nach erfolgreicher Zustellung einer Kopie das Duplikat. Das Duplikat wird anhand einer Nachrichten-ID erkannt.


Remailer merken sich die '''ID''''s verarbeiteter Packete in einem Cache. Dadurch werden mehr oder weniger '''Replay Attacken''' verhindert (siehe auch Schwächen von Mixmaster).
Remailer merken sich die '''ID''''s verarbeiteter Packete in einem '''Cache'''. Dadurch wirdden '''Replay Attacken''' begegnet (siehe auch Schwächen von Mixmaster).
Ursprünglich existierte der Ansatz, die Packete mit Zeitstempeln zu versehen, um Replay Attacken verhindern zu können. Allerdings entstand damit das Problem, dass bei zu kurz in der Zukunft liegenden Zeitstempeln der Timeout-Zeitpunkt überschritten wird noch bevor das Packet an seinem Zielort ankommt. Bei zu lange in der Zukunft liegenden Zeitstempeln werden im Netzwerk Packete, die kurz vor dem Ablauf ihres Timeouts stehen selten. Nun kann ein Angreifer folgende Attacke fahren: er hält das Packet, deren Weg durch das Netzwerk er nachvollziehen möchte, eine Zeit lang fest und schickt es anschliessend weiter auf die Reise. Wenn später im Netzwerk ein Packet auftaucht, deren Zeitstempel kurz vor dem Timeout ist, ist die Wahrscheinlichkeit gross, dass es sich um das zu verfolgende Packet handelt.
Ursprünglich existierte der Ansatz, die Packete mit '''Zeitstempeln''' zu versehen, um '''Replay Attacken''' verhindern zu können. Allerdings entstand damit das Problem, dass bei zu kurz in der Zukunft liegenden Zeitstempeln der Timeout-Zeitpunkt überschritten wird, noch bevor das Packet an seinem Zielort ankommt. Bei zu lange in der Zukunft liegenden Zeitstempeln werden im Netzwerk Packete, die kurz vor dem Ablauf ihres Timeouts stehen selten. Nun kann ein Angreifer folgenden Angriff fahren: er hält das Packet, deren Weg durch das Netzwerk er nachvollziehen möchte, eine Zeit lang fest und schickt es anschliessend weiter auf die Reise. Wenn später im Netzwerk ein Packet auftaucht, deren Zeitstempel kurz vor dem Timeout ist, ist die Wahrscheinlichkeit gross, dass es sich um das zu verfolgende Packet handelt.


Ein Packet kann auf seinem Weg durch das Netzwerk maximal 20 Remailer passieren.
Ein Packet kann auf seinem Weg durch das Netzwerk maximal 20 Remailer passieren.

Revision as of 23:03, 31 January 2006

Bei Mixmaster handelt es sich um ein anonymisierendes Peer2Peer-Netzwerk hoher Latenz, d.h. die Nachrichten werden nicht in Echtzeit versendet. Der Verzicht auf die Echtzeitfähigkeit bringt einen hohen Grad an Anonymität.

Allgemeines

Geschichte anonymisierender Remailer hoher Latenz

Allgemein gesagt haben die Remailer den Zweck den Nachrichtenverkehr entweder zu pseudonymisieren und/oder zu anonymisieren. Ein Remailer nicht verschlüsselte oder unverschlüsselte Nachtrichten an und leitet sie weiter.

Die Evolution brachte im Laufe der Zeit folgende Typen bzw. Generationen von Remailern zustande:

Typ 0: Nym Remailer

Altername Namen sind Nym Server oder Pseudonym Server. Diese Server ermöglichen bidirektionale Kommunikation zwischen den Kommunikationspartnern. Im Extremfall kennt keiner der Kommunikationspartner die Identitä des anderen (bei neueren Generationen der Nym Remailer). Wenn ein Nym Remailer (der älteren Generation) eine Nachricht erhält, entfernt er die Headerinformationen und ersetzt die Originalangaben zur Identität des Absendern durch sein Pseudonym. Anschliessend leitet er die Nachricht an den Empfänger weiter. Dieser hat die Möglichkeit an das Pseudonym zu antworten, d.h. die Antwortnachricht geht beim Nym Server ein. Dieser und nur dieser kennt die Zuordnung des Pseudonyms zu der realen Adresse/Identität, ersetzt das Pseudonym durch die reale Adresse und stellt die Anwort dem ursprünglichen Absender zu. Die Technick der Zuordnung von Pseudonym (und der Pseudonymadresse) zu der Realadresse (und der entsprechenden Identität) entscheidet über die Sicherheit d.h. den Grad der Anonymität. Weil frühe Nym Server und damit ihre Betreiber die wahre Identität der Absender kennen, spricht man hier von Pseudonymisierung statt von Anonymisierung. Somit basiert das System eher auf Vertrauen als auch durch technologische Verfahren herbeigeführter Sicherheit. Bei den aktuellen Nym Servern kennt nicht mal der Betreiber die Identität der Benutzer. Sie nutzen die Technologie der Typ1- und Typ 2-Remailer. Erster öffentlicher Pseudonym-Remailer wurde ab 1993 von Johan Helsingius unter anon.penet.fi betrieben. Er musste wenige Jahre später aufgrund von Klagebeschwerden und Gerichtsbeschlüssen abgeschaltet werden.

Typ 1: Cypherpunk Remailer

1990 entwarf eine Gruppe von Internetpionieren, die sich selber Cypherpunks nannten, das Modell eines anonymisierenden Netzwerks, das auf den Ideen und Vorschlägen von David Chaum fussten. Beim Nachrichtenversand werden ausgewählte Cypherpunk-Remailer zu einer Weiterleitungskette unter Benutzung von PGP-Verschlüsselung. Die Kommunikation zwischen den Cypherpunk Remailern basiert auf dem normalen E-Mail-Protokoll (SMTP/POP3/MIME-Format). Schwächen der Cypherpunk Remailer:

  • Remailer sendet die Nachrichten nach Erhalt sofort weiter - durch Zeit- und Größemanalyse ist die Zuordnung von Empfänger zu Absender leicht möglich
  • Replay-Attacken (chosen-ciphertext attack) sind möglich. Bei den Replay-Attacken wird ein Nachtrichtenpacket, desen Weg nachvollzogen werden soll vor dem ersten Passieren des Remailers kopiert. Nach dem ersten Passieren des Remailers wird der ausgehende Datenverkehr mitgeschnitten. Anschliessend wird die Kopie des Nachrichtenpackets an den Remailer geschickt und der ausgehende Datenverkehr wieder mitgeschnitten. Durch die Schnittmengen der beiden ausgehenden Datenmengen kann man dir Zuordnung des ausgehenden Packets zum eingehnen treffen.

Diese und viele weitere Schwächen wurden von Lance Cottrell erkannt und publiziert. Man kann sich spontan mögliche Lösungen der obigen Probleme finden, die aber wieder neue Probleme aufwerfen:

  • Um die durch zeitliche Analyse leicht mögliche Zuordnung eines aus einem Remailer ausgehenden Packets zu seinem eingehenden Pendant zu verhindern, könnte man eine Verzögerung beim Weiterleiten einbauen. Diese ist allerdings keine große Hilfe bei wenig Datenverkehr im Netzwerk.
  • Man könnte die eingehenden Packete zunächst in einem Puffer anhäufen, ihre Reihenfolge zufällig umsortieren und anschliessend die Packete aus dem Puffer weitersenden. Diese Strategie ist zwar nicht mehr durch einfache Zeitanalyse zu untergraben, ist aber den sogenannten Flooding-Attacken unterworfen. Dabei wird vom Angreifer der Eingangspuffer des Remailes mit eigenen Packeten überhäuft, so dass nach dem Aufzeichnen des ausgehenden Datenverkehrs das fremde Packet wie ein schwarzes Schaf auf einem weissen Feld ausfällt.
  • Der Remailer könnte den Replay-Attacken damit begegnen, dass er sich die ID's der Packete merkt und ein zweites Packet mit dergleichen ID ablehnt.

Hier wurden einige Ideen aufgezeigt, wie die Schwächen der Cypherpunk-Remailer geschlossen werden können, es bleibt trotzdem das Problem, dass durch das Entfernen von Verschlüsselungsschichten die Packete beim Traversieren durch das Netzwerk immer kleiner werden und somit ihre aktuelle Position innerhalb der Weiterleitungskette abgeschätz werden kann.

Typ 2: Mixmaster Remailer

Bei Mixmaster Remailern handelt es sich um eine Weiterentwicklung von Cypherpunk Remailern mit dem Ziel, die oben erwähnten Schwächen zu beseitigen. Das Protokoll ist seit 1995 im Internet gebräuchlich. Die wesentlichen Ideen und Verbesserungsvorschläge stammen von Lance Cottrell (der gleichzeitig auch der Gründer und Präsident von Anonymizer Inc. ist). Die Netzwerktopologie entspricht der des Cypherpunk Remailer Netzweks - ein Netz aus gleichgestellten Servern, denen Clients gegenüberstehen. Es gibt keinen zentralen Verzeichnisserver, wodurch eine Informationsasymmetrie über die im Netz vorhandenen Remailer entsteht. Das nicht gleichverteilte Wissen über aktuelle Server kann zur Unterwanderung der Anonymität ausgenutzt werden und stellt eine der Schwächen des Systems dar. Es existiert Client-Software für verschiedene Betriebssysteme und viele Mixmaster-Server können auch Cypherpunk-Nachrichten verarbeiten, indem sie in das Mixmaster-Format 'verpackt' werden.

Typ 3: Mixminion

Mixminion ist eine Weiterentwicklung der Mixmaster Remailer, die die Möglichkeit von anonymen Antworten auf anonyme Nachrichten durch Verwendung von sogenannten Single-Use-Reply-Blocks eröffnet. Weiterhin wird die Sicherheit der Anonymität noch weiter verbessert, und es wird der Informationsasymmetrie bezüglich aktueller Remailer-Server im Netzwerk durch redundante Directory Server begegnet.

Mixmaster Remailer

Mixmaster Remailer ist ein Typ 2 Remailer (und das entsprechende Protokoll), dass inspiriert durch die Ideen und Verbesserungsvorschläge von Lance Cottrell aus dem Cypherpunk Remailer hervorgegangen ist. Die zugrunde liegenden Ideen für anonymisierende Netzwerke aus Remailern stammt von David Chaum. Ein Mixmaster-Netzwerk besteht aus einer Menge gleichgestellter Server (im Folgenden als Remailer bezeichnet) und Clients, die Nachrichten über das Netzwerk versenden und empfangen. Das Netzwerk besitzt keinen zentralen Verzeichnisserver mit der Information über alle aktuell im Netz verfügbaren Remailer, allerdings haben viele Betreiber von solchen Remailern Webseiten mit einer Liste von den ihnen bekannten Servern, deren Adressen und aktuellen Schlüsseln. Das Mixmaster Protokoll ist im Internet seit 1995 verbreitet und es existieren für verschiedene Betriebssysteme entsprechende Software. Viele Mixmaster Remailer können auch Cypherpunk Nachrichten empfangen und weitersenden bzw. zustellen. Beim Weitersenden werden solche Nachrichten in das Mixmaster-Format verpackt, um vom höheren Grad der Anonymität profitieren zu können. Vor dem endgültigen Zustellen werden sie wieder entpackt und wie gewöhnliche Cypherpunk Nachrichten behandelt.

Bei Mixmaster haben alle Packete die gleiche Größe. Bereits die Client-Software zerteilt die Nachrichten in kleine Packete von ca. 20KByte. Wenn die Nachricht kleiner ist, wird sie auf diese Größe aufgefüllt.

Die Public-Key-Verschlüsselung ist fester Bestandteil des Protokolls, so dass der Remailer nur seinen Vorgänger und Nachfolger kennt. Dabei wird jedes Packet vor dem Versenden mit öffentlichen Schlüsseln der Remailer verschlüsselt, die es auf dem Weg passiert. Dadurch legen sich um das Packet Verschlüsselungsschichten ähnlich den Schalen einer Zwiebel. Kommt ein Packet bei einem Remailer an, kann dieser mit seinem privaten Schlüssel nur die oberste Verschlüsselungsschale entfernen. Dabei werden Informationen freigelegt, wohin das Packet als nächstes weitergeleitet bzw. an welche Zieladresse es zugestellt werden soll.

Der Sender legt sich für eine Kette von Remailern fest, wobei verschiedene Packete einer Nachricht über unterschiedliche Ketten versendet werden. Dabei muss jeweils der letzte Remailer gleich sein. Er ist der einzige, der die Zuordnung der verschiedenen Packete zu einer Nachricht treffen kann. Hier wird die Nachricht wieder zusammengesetzt und an den Empfänger zugestellt.

Remailer haben einen Nachrichtenpool einstellbarer Größe, in dem eingehende Packete gesammelt und vor dem Weiterleiten zufällig umsortiert werden. Weiterhin werden Dummy Packete erzeugt bei:

  • zu wenig Datenverkehr
  • Eingang eines neuen Packets
  • beim Weitersenden von Nachrichten

Dummy Packete passieren einige wenige Remailer und werden später von anderen Mixmaster Servern zerstört.

Es ist auch möglich Kopien einer Nachricht über verschiedene Remailer Ketten zu versenden. Der letzte Remailer zerstört nach erfolgreicher Zustellung einer Kopie das Duplikat. Das Duplikat wird anhand einer Nachrichten-ID erkannt.

Remailer merken sich die ID's verarbeiteter Packete in einem Cache. Dadurch wirdden Replay Attacken begegnet (siehe auch Schwächen von Mixmaster). Ursprünglich existierte der Ansatz, die Packete mit Zeitstempeln zu versehen, um Replay Attacken verhindern zu können. Allerdings entstand damit das Problem, dass bei zu kurz in der Zukunft liegenden Zeitstempeln der Timeout-Zeitpunkt überschritten wird, noch bevor das Packet an seinem Zielort ankommt. Bei zu lange in der Zukunft liegenden Zeitstempeln werden im Netzwerk Packete, die kurz vor dem Ablauf ihres Timeouts stehen selten. Nun kann ein Angreifer folgenden Angriff fahren: er hält das Packet, deren Weg durch das Netzwerk er nachvollziehen möchte, eine Zeit lang fest und schickt es anschliessend weiter auf die Reise. Wenn später im Netzwerk ein Packet auftaucht, deren Zeitstempel kurz vor dem Timeout ist, ist die Wahrscheinlichkeit gross, dass es sich um das zu verfolgende Packet handelt.

Ein Packet kann auf seinem Weg durch das Netzwerk maximal 20 Remailer passieren.

Mixminion

Überblick

Mixminion stellt eine Erweiterung vom Mixmaster dar, gewährt dabei Abwärtskompatibilität. Sie werden auch als Typ3-Remailer bezeichnet. Mixnetze können gemischt aus Mixmaster- sowie Mixminionservern bestehen. Beim Typwechsel muss das Paket gegeben geremixed werden.

Unterschiede zu Mixmaster

  • benutzt Directory-Server
  • benutzt TLS anstelle von SMTP
  • besitzt Key Rotation
  • bis zu 32 anstelle von 20 Hops
  • Replymessages mittels Singleusereplyblocks
  • Ununterscheidbarkeit zwischen Forward- und Replymessages


Directory Server

Die Directory Server geben Auskunft über die Struktur des Netzwerkes. Sie kommunizieren über eine dedizierte Verbindung (auch: Heartbeat) über welche sie sich gegenseitig über die Stuktur des Netzwerkes aktualisieren.
Möchte ein Benutzer eine anonyme E-Mail versenden, so hat kann er von einem sich Directory Server die Information über die aktuelle Netzwerkstruktur beschaffen. Diese Beschreibnung wird von weiteren Directory Servern signiert um die Authenzität zu sichern.
Andernfalls wäre ein einfacher Angriff möglich, indem ein Angreifer nur Mix-Server listet, welcher unter seiner eigenen Kontrolle laufen. Das Ergebnis wäre die Möglichkeit, augenblicklich sämtliche Hüllen des Headers und der Nachricht dekodieren und erlangt Zugriff auf die Nachricht (falls nicht anderweitig kodiert), als auch Absender und Empfänger.
Es fällt in den Aufgabenbereich der Mixminionserver sich bei bei einem Directory Server zu authentifizieren.

Key Rotation

Während bei Mixmaster die Publickeys der einzelnen Mixserver statisch sind ...

... fertigstellen ...