Chaos Communication Congress '97
Hamburg, Eidelstedter Bürgerhaus, 27. - 29.12.1997
Chaos-Knoten

[an error occurred while processing this directive]

Einführung in Theorie und Praxis:

Verschlüsselungsalgorithmen und Implementationen

Referent: Andreas Bogk, Lutz Donnerhacke


Der Vortrag teilte sich in drei Teile,

  1. eine historische Einführung in Kryptographie,
  2. eine Beschreibung des "e;Web of Trust"e; von PGP als anonyme Authentifizierung und
  3. einen Ausblick auf die technischen Entwicklungen für politische Vorgaben

Versteckt vermittelte geheime Nachrichten sind so alt wie die Menschheit

Sklaven wurden Mitteilungen auf den gescherten Kopf tätowiert und sie gingen mit dichtem Haarwuchs auf die Reise. Der Empfänger scherte die Haare wieder ab und brauchte danach nur noch den Sklaven zu köpfen, um höchste Geheimhaltung zu gewährleisten.

Cäsar soll im römischen Reich den "Cäsar Cypher" erfunden haben, bekannt als ROT 13, wonach alle Buchstaben eines Textes um 13 Stellen weiter im Alphabet verschoben werden (fb jvr va qvrfrz Orvfcvry).

Diese Verfahren verändern nur das Erscheinungsbild eines Textes, Eigenschaften bleiben dagegen erhalten. So ist der Buchstabe 'e' das häufigste Zeichen in deutschsprachigen Texten - der Ausgangspunkt zum Buchstabenraten.

Mit den Kriegen stiegen auch die Ansprüche: Neue Verfahren wurden entwickelt und alte Verfahren wurden komplexer. Die "Enigma" (Verschlüsselungsmaschine der deutschen Wehrmacht im zweiten Weltkrieg) arbeit mit sieben sich gegeneinander verschiebende Scheiben die ihre Position nach jedem Zeichen ändern. Ein finnischer Mathematiker erkannte, daß trotz dieses Aufwandes nur das Erscheinungsbild des Originaltextes verändert wurde. Mit erheblichem Aufwand konnten die Nachrichten nun mitgelesen werden.

Auguste Kerckhoffs beschreibt die Voraussetzungen für eine sichere Verschlüsselung folgendermaßen: "Ein Verfahren ist dann sicher, wenn man es nicht knacken kann, obwohl man den Code kennt."


Struktur des modernen Verschlüsselungsalgorithmus

Die Nachricht wird mit einem Schlüssel verschlüsselt. Der entstandene verschlüsselte Text wird nun sicher verschickt und vom Empfänger entschlüsselt. Der Schlüssel muß natürlich auf einem sicheren Weg übermittelt werden.

Wenn der Empfänger einen anderen Schlüssel als der Absender benutzt, kann der Schlüsselaustausch entfallen. Moderne Verschlüsselungsalgorithmen sind z.B. IDEA oder DES. Die Anwendung und Kombination von Algorithmen ergeben dann die Verschlüsselungsprotokolle, mit denen man im Alltag zu tun hat. Moderne Verschlüsselungsprotokolle sind z.B. PGP oder S-MIME.


Was passiert beim Verschlüsseln?

Unterschieden wird zwischen Stream-Verschlüsselung und Block-Verschlüsselung.

Stream-Verschlüsselung (Stream-Cypher)

Bei der Stream-Verschlüsselung wird die Nachricht byteweise, manchmal sogar bitweise verschlüsselt. Die Encryption-Engine liefert Zahlenfolgen die mit den Datenstrom per XOR verrechnet werden. die Encryption-Engine benutzt dazu z.B. den Key und einen (Pseudo-) Zufallszahlengenerator. Ein Pseudo-Zufallszahlengenerator (linearer kongruenter Generator) erzeugt Zahlenfolgen für den Hausgebrauch. Die Wahrscheinlichkeit der Zahlenfolgen ist voraussagbar. Ein "e;echter"e; Zufallszahlengenerator benutzt eine natürliche Zufallsquelle (z.B. Zählung des radioaktiven Zerfalls eines Elements).

Block-Verschlüsselung

Arbeitet mit deffinierten Blöcken (z.B. 1 Block = 256 Byte). Das bietet den Vorteil effektiver nachvollziehbare Wiederholungen durch die Verschlüsselung zu vermeiden. Nach der ersten Verschlüsselung finden dann noch weitere Verschlüsselungen statt. Rückkopplungen und Verknüpfung mit anderen Blöcken erzeugen komplexere verschlüsselte Texte (z.B. mit Block-Shiften).


Angriffsvarianten auf verschlüsselte Daten

Nachdem man den bevorzugten Ort der eigenen Wahl gefunden hat, um die Daten zu bekommen, steht die Wahl der erfolgreichsten Attacke.

Cyphertext ist vorhanden
Die schwierigste Ausgangssituation für eine Entschlüsselung sind nur die verschlüsselten Daten vorhanden. Über deren Inhalt ist nichts bekannt. Die ganze Vielfalt der Entschlüsselungspalette, von geschicktem Raten bis zur Häufigkeitsanalyse, kann nun darauf angewendet werden, ohne daß eine Verfahren schneller zum Erfolg führt als ein anderes.

Known-Plaintext-Attack
Von den verschlüsselten Daten sind Teile bekannt, wie z.B. feste Grußformeln in Briefen oder Dateiheader in Computerdaten. Verschlüsselten Fisch erkennt man z.B. schnell am Geruch.

Chosen-Plaintext-Attack
Hier unterscheidet man zwischen den Überprüfungsmöglichkeiten seiner Ergebnisse:

  1. Eine einzige Überprüfungsmöglichkeit - beim Benutzen der Erkenntnisse aus den entschlüsselten Daten sitzt am anderen Ende z.B. der andere Geheimdienst und ein Fehler fällt sofort auf.
  2. adaptive-chosen-plaintext - Dem Computer am anderen Ende ist es egal, wie oft ich meine falschen Entschlüsselungen an ihm austeste.
Gummiknüppel-Attacke
Bei der Gummiknüppel-Attacke geht man davon aus, daß mich die verschlüsselten Daten erwarten. So befinden sich auf einer Festplatte mehrere Dateisysteme die sich gegenseitig nicht kennen. Entschlüssele ich nun ein Dateisystem und greife darauf zu, erkennt es den Rest der Festplatte als ungenutzt an und belegt sie. Die anderen Dateisysteme werden dadurch gelöscht.

Brute-Force-Attacke
Der simpelste Angriff - ich probiere alle Möglichkeiten durch. Im Zeitalter der krebsartig wachsenden Computerkapazitäten ist brute-force inzwischen eine zeitsparende Variante. In Kombination mit anderen Attacken läßt sich der Weg zu den Originaldaten schnell eingrenzen.

Web of Trust - wird nachgeliefert

Technische Entwicklung - wird nachgeliefert

Literatur: "Applied Cryptography" von Bruce Schneier

Mo Hataj



[ Start | Inhalt | Impressum | Hinweise | Fahrplan ]

Copyleft © 1997 by Chaos Computer Club
Veröffentlichung ausdrücklich erwünscht, Belegexemplar erbeten.