Drei unterschiedliche Kryptographieverfahren im Vergleich:

Eine Zuordnung zum Klartext muß unmöglich werden

04.08.1989

"Die meisten Schutzprogramme sind leicht zu knacken", behauptet der Spiegel in der Ausgabe 25/1989. Besonders unsicher scheint dem Hamburger Magazin das von den meisten Schutzprogrammen verwendete XOR-Verfahren. Grund genug sich diese Methode einmal genauer anzuschauen.

Die Technik, Texte mit Hilfe komplizierter Verschlüsselungsverfahren vor unbefugten Lesern zu schützen, ist uralt. Genau so alt sind aber auch die Versuche, diese Schlüssel zu knacken. Neu dagegen ist die immer größere Bedeutung, die diesen Techniken, mit der Verbreitung des PCs heute zukommt.

Grundsätzlich gibt es drei Möglichkeiten, einen chiffrierten Text zu entschlüsseln. Die wirksamste, allerdings auch komplizierteste Methode ist, den Algorithmus, mit dem der Schlüssel arbeitet, zu finden. Mit Hilfe der Mathematik wird dann versucht, mathematischen Schwachstellen, das heißt über eine Formel zugängliche Lücken, in diesem Algorithmus zu entdecken.

Der zweite Weg, hinter das Geheimnis eines Textes zu kommen, ist zwar langwierig, führt aber auch zum Erfolg, besonders dann, wenn man, wie es beim Knacken eines Computercodes auf der Hand liegt, einen Computer zum Knacken einsetzt. Bei so einem "Brute-Force"-Angriff führt der Zugang nicht mehr über die Art der Verschlüsselung. Interessant sind nicht die mathematischen Formeln, sondern ganz simpel die Paßwörter. Man läßt den Computer automatisch die verschiedensten Paßwörter ausprobieren bis schließlich eines paßt.

Knacken nach Prinzip der Gleichung mit 3 Unbekannten

Eine Variation des "Brute-Force"-Angriffs ist ein Vorgehen, das man bezeichnenderweise "social engineering" nennt. "Social" deshalb, weil statt Paßwörter per Zufallsgenerator auszuprobieren, das soziale Umfeld eines Geheimnisträgers ausgespäht wird. Einige Beispiele: der Name der Freundin, der Frau oder Kinder, die Autonummer, Kontonummer und so weiter. Trotz aller Warnungen, Paßwörter willkürlich zu wählen, führt diese Methode immer wieder zum Erfolg. Der vor einiger Zeit berühmt gewordene "Nasa-Hacker" arbeitete beispielsweise mit "Social-Engineering".

Die dritte Methode einen Schlüssel zu knacken funktioniert nach dem Prinzip einer Gleichung mit drei Unbekannten nach der Formel:

Klartext = f(Schlüssel, Chiffriertext)

Der Klartext ist eine Funktion Schlüssel und Chiffriertext. Ist nun ein Text in klarer und verschlüsselter Form vorhanden, kann man anhand dieser Formel den Schlüssel berechnen, der Rest der Decodierung wird dann zur Routineaufgabe. Das bedeutet, wenn ein Text, und sei es ein noch so kleiner Abschnitt, in klarer und in chiffrierter Form vorhanden ist, dann kann man anhand dieser Formel den Schlüssel berechnen. Welches Chiffrierverfahren ursprünglich eingesetzt wurde, spielt keine Rolle mehr. Genau hier liegt der Schwachpunkt vieler Schutzprogramme für PCs. Das "Inhaltsverzeichnis" einer Festplatte - die File Allocation Table - ist für einen PC-Spezialisten relativ einfach an der Datenstruktur zu erkennen. Teile der FAT sind darüber hinaus immer gleich, die Forderung nach einem bekannten und einem chiffrierten Text für die Berechnung des Schlüssels ist also erfüllt.

Die einzige Möglichkeit, sich vor dieser Gefahr zu schützen, ist, jeden einzelnen Sektor der Platte nach einem eigenen Schlüssel zu codieren. Das Knacken des Schlüssels der FAT macht so wenig Sinn. Man erfährt nur, was man sowieso schon weiß, schafft aber keinen Zugang zum Rest der Informationen.

Sowohl die Gleichung mit den drei Unbekannten als auch das Ausspähen des Paßwortes, haben direkt nichts mit dem Chiffrieralgorithmus zu tun. Man bekommt zwar in beiden Fällem einen Schlüssel, weiß allerdings nicht, wie das Schloß an sich funktioniert.

Die Sicherheit des Schlosses, das heißt, die theoretische Möglichkeit einen für alle Fälle gültigen Zugang zum geheimen Text zu bekommen, bestimmt letztendlich der Chiffrieralgorithmus.

Das am meisten eingesetzte Chiffrierverfahren ist Data Encryption Standard DES. Sein Algorithmus verschlüsselt Nullen und Einsen, und zwar immer 64 Bits auf einmal, denen dann über eine Tabelle 64 andere Bits zugeordnet werden. Der Schlüssel ist dabei 56 Bit lang. Für die Sicherheit von DES gibt es keinen mathematischen Beweis, aber auch die Unsicherheit ist bisher mathematisch noch nicht bewiesen.

Kleiner Ausflug in die Theorie zeigt Funktionsprinzip

Ebenfalls häufig zur Verschlüsselung verwendet wird das XOR-Verfahren. Um sein Funktionsprinzip zu verdeutlichen, ein kleiner Ausflug in die Theorie: Ein System ist dann sicher, wenn jemand, der einen Geheimtext versucht zu entschlüsseln, keine Chance hat, auch wenn er alles Wissen und alle Rechenkapazität aller Rechner der Welt zur Analyse des Systems einsetzt. Keine Chance zu haben bedeutet, daß er nach jeder noch so sorgfältigen Analyse des Systems nicht mehr weiß, als er ohnehin schon wußte.

Diesen Sachverhalt kann man noch etwas technischer ausdrucken. Betrachten wir einen Klartext und bezeichnen wir ihn mit m. Über alle möglichen Klartexte nennen wir dann die Wahrscheinlichkeit dafür, daß er auftritt p(m). Jemand hat eine Geheimnachricht abgefangen: Wir nennen sie c. Theoretisch kann man jetzt alle Klartexte durchgehen und bestimmen, wie groß die Wahrscheinlichkeit ist, daß der Geheimtext c aus dem Klartext m hervorging. Wir bezeichnen diese Wahrscheinlichkeit mit pc(m). Würde man nun feststellen, daß pc(m) > p(m) ist, wüßte man, daß c mit hoher Wahrscheinlichkeit von m kommt. Man hätte also etwas dazugelernt. Genauso verhält es sich, wenn umgekehrt pc(m) < p(m) ist.

Ein System bietet also dann perfekte Sicherheit, wenn für alle Nachrichten und alle Klartexte die Beziehung pc(m) = p(m) gilt.

Das bedeutet, daß jemand, der einen Geheimtext entziffern will, sich nach Belieben abmühen kann, aber trotz alledem nach seiner Analyse nicht schlauer ist als zuvor.

Anders ausgedruckt: Wenn in einem System alle Schlüssel mit der gleichen Wahrscheinlichkeit vorkommen und es für jeden Klartext m und jeden Geheimtext c genau einen Schlüssel gibt, mit dem m in c überführt wird, dann ist das System perfekt.

Klartext

-------------

m1,m2,....mn

Geheimschrift

Schlüssel + -----------------

---------------- c1,c2,.....cn

S1,S2, ... Sn

Das bekannteste System nach diesem Prinzip wurde bereits 1926 von einem gewissen Herrn Vernam erfunden. Es ist mathematisch beweisbar perfekt: Erstens bestehen sowohl der Klartext als auch der Geheimtext, aber auch der Schlüssel aus gleichlangen Buchstabenfolgen, und weiterhin gibt es zu jedem Klartext und zu jedem Geheimtext genau einen Schlüssel.

Das Vernamsche System hat zudem den unschätzbaren Vorteil, daß die Deschiffrierung und die Chiffrierung im wesentlichen derselbe Vorgang ist. Man braucht nur die Addition durch eine Subtraktion zu ersetzen. Sein gravierender Nachteil besteht allerdings in den unhandlich großen Schlüsseln.

Bei der Anwendung in einem Rechner wird die Sache etwas einfacher. Hier bestehen die einzelnen Zeichen nur noch aus Nullen und Einsen. Zum einen ist die Addition von zwei binären Ziffern sehr einfach: Vernachlässigt man das Übertragungsbit, entspricht sie der logischen Operation XOR, die sich aus digitalen Bausteinen oder mit Hilfe von Prozessoren leicht realisieren läßt, und die dem Verfahren seinen allgemein üblichen Namen gab. Zum anderen besteht zwischen der Addition und der Subtraktion binärer Ziffern in unserem Fall überhaupt kein Unterschied. Das bedeutet, daß die Verschlüsselung und die Entschlüsselung genau der gleiche Vorgang ist.

Das Problem des Vernamschen Systems besteht nicht in der Verknüpfungsoperation von Schlüssel und Klartext, sondern in der Verwaltung und dem Aufbau des Schlüssels. Die Hauptforderung an den Schlüssel ist nämlich, daß seine Zeichen zufällig aufeinander folgen müssen.

Üblicherweise wird das Vernamsche System so implementiert, daß man den Schlüssel nicht als ganzen definiert, sondern ihn aus einem (pseudo-)Zufallsgenerator bestimmt, der durch gewisse, wenige Daten bestimmt wird. Diese Zufallsgeneratoren sind so aufgebaut, daß sie insofern deterministisch sind, als sich in Kenntnis der wenigen beschreibenden Daten die Zufallsfolge bestimmen läßt, andererseits die so erzeugte (pseudo-)Zufallsfolge alle statistischen Anforderungen an Zufallsfolgen erfüllt. Der unschätzbare Vorteil ist dann, daß relativ wenige Daten im Gegensatz zu einem unvertretbar langen Schlüssel genügen, um eine Entschlüsselung zu ermöglichen.

Neben dem beschriebenen DES- und Vernam-Verfahren existieren noch eine Reihe von weiteren kryptographischen Verfahren. Vor allem das RSA Verfahren hat in den letzten Jahren an Bedeutung gewonnen. Dazu muß man allerdings sagen, daß noch keine vermarktbare Implementierung für PCs vorliegt. Zwar ist dieses Verfahren, ebenso wie das Vernam-Verfahren, theoretisch "unknackbar", doch eine praktische Umsetzung auf einem Personal Computer ist wegen der immensen Komplexität bislang noch nicht gelungen.

Schlüssellänge ist Schwachpunkt des XOR-Verfahrens

Zusammenfassend läßt sich sagen, daß das Vernam (XOR-)Verfahren theoretisch "unknackbar" und damit zweifelsfrei dem DES-Verfahren überlegen ist. Verläßt man die Theorie und betrachtet man die praktische Implementierung, muß man sagen, daß die Schwachstelle vom Vernam-Verfahren die Schlüssellänge bzw. Schlüsselgenerierung ist. Dieses gilt aber ebenso für das DES-Verfahren. Kürzlich wurde auf einer öffentlichen Datenschutz-Fachtagung in Paris (Securicom) live demonstriert, wie ein nach dem DES-Verfahren verschlüsselter Text auf einem handelsüblichen AT in wenigen Sekunden geknackt werden kann. Der hierfür notwendige Code hatte weniger als 100 Programmzeilen. Diese Schwachstelle läßt sich nur durch eine aufwendige und kostspielige Implementierung in Hardware reduzieren. Man darf sich hierbei allerdings nicht dem Trugschluß hingeben, daß DES deshalb, weil es in Chips abgebildet wurde, sicherer geworden ist.

Beim Vernam-Verfahren hat man mit ähnlichen Problemen zu kämpfen. Je kürzer der Schlüssel, desto einfacher eine Dechiffrierung. Der Angriffspunkt der meisten Dechiffrierversuche liegt aber weniger in einem algorithmischen Ansatz, sondern in der bereits erwähnten Lösung der Gleichung mit drei Unbekannten: Wenn man den Klartext und den Chiffriertext hat, kann man auf die verschlüsselnde Zufallsfolge schließen.

Das Vorhandensein des Chiffriertextes kann man nicht verhindern, die Zuordnung zum vermeintlichen Klartext aber kann man mindestens erschweren, wenn nicht sogar unmöglich machen. Das heißt im konkreten Fall des DOS-Betriebssystems: Ist die Lage der vermeintlichen Klartexte verändert und wird darüberhinaus noch für jeden Sektor der Festplatte ein anderer Schlüssel verwendet, ist die Wahrscheinlichkeit den Code zu knacken extrem gering.

Alternative: Hiervon hängt letztendlich die Sicherheit einer Schutzsoftware ab und nicht, wie der Spiegel meint, vom Chiffrieralgorithmus.