Mixmaster Remailer

From
Jump to navigation Jump to search

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

Tor - The Onion Router

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.

Packetaufbau

Ein Mixmaster-Packet besteht aus einem Header, der widerum in Header Sections eingeteilt ist, und einem Body. Jede Header Section ist 512 Byte lang. Allgemein gilt für zwei beliebige Packete, dass alle ihre Felder die gleiche Größe haben. Dadurch werden die Packete anhand dieses Aspekts nicht unterscheidbar. Alle Header Sections (ausser der ersten) sowie der Body sind symmetrisch mit dem sogenannten Session Key verschlüsselt.

Mixmaster Packetaufbau.png


Ein Remailer erhält ein Packet, entschlüsselt die erste Header Section mit seinem privaten Schlüssel und entschlüsselt den encrypted header part. Die Packet-ID wird zu Duplikaterkennung herangezogen (siehe auch Replay Attacken). Der 3-DES-Key wird zur Entschlüsselung der restlichen Header Sections und des Body verwendet.

Der packet type identifier kann folgende Werte annehmen:

  • 0 - Es handelt sich um einen Zwischen-Remailer, der das Packet annehmen und an den nächsten Remailer weiterleiten soll
  • 1 - Es handelt sich um den letzten Remailer in der Kette. Das aktuelle Packet ist bereits die ganze Nachricht.
  • 2 - Es handelt sich um den letzten Remailer in der Kette. Das aktuelle Packet ist nur ein Teil der Nachricht.

message digest ist eine MD5-Checksumme des kompletten vorangegangenen Teils des Headers. Checksumme des nochfolgenden Teils ist nicht möglich, da der Header beim Passieren eines jeden Remailers nach dem Entfernen der äußeren Verschlüsselungsschale mit zufälligen Daten aufgefüllt wird, um seine Größe kostant zu halten und damit keine Rückschlüsse auf die aktuelle Position des Packets innerhalb der Remailerkette zu verraten.


packet information ist vom Inhalt des packet type identifier abhängig:

  • Handelt es sich um einen Zwischenremailer, steht hier die Adresse des nächsten Remailers.
  • Handelt es sich um den letzten Remailer in der Kette, und die Nachricht besteht nur aus diesem Packet, enthält dieses Feld die Message-ID
  • Handelt es sich um den letzten Remailer in der Kette, und die Nachricht besteht aus noch weiteren Packeten, sind hier die Packetnummer, Anzahl der Packete und die Message-ID vermerkt.

Vor dem Weitersenden (durch einen Zwischenremailer) wird die erste Header Section entfernt, alle anderen hochgeschoben und am Ende des Headers Datenmüll angehängt. Dadurch bleibt die Größe des Packets immer gleich und für einen Remailer ist seine Position innerhalb der Kette nicht erkennbar.

Vor dem Weiterleiten (durch einen Zwischenremailer) wird das Packet als Base-64 encodiert.


Es gibt drei Arten von Mixmasternachrichten:

  • E-Mails
  • Usenet Nachrichten
  • Dummy Nachrichten

Aufbau des Packetnutzinhalts (Body):

Mixmaster Packetaufbau Body.png

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 ...