Einführung in Theorie und Praxis:
Verschlüsselungsalgorithmen und Implementationen
Referent: Andreas Bogk, Lutz Donnerhacke
Der Vortrag teilte sich in drei Teile,
- eine historische Einführung in Kryptographie,
- eine Beschreibung des "e;Web of Trust"e; von PGP als anonyme Authentifizierung und
- einen Ausblick auf die technischen Entwicklungen für politische Vorgaben
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:
- 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.
- 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.
Literatur: "Applied Cryptography" von Bruce Schneier
Mo Hataj