Verschlüsselung von Daten
Die Verschlüsselung ist ein Mittel, um Daten in einer unsicheren Umgebung zu speichern, zu verarbeiten oder zu übermitteln. Verschlüsselung ist dabei die von einem Schlüssel abhängige Umwandlung einer „Klardatei“ in eine „Geheimdatei“ (auch: „Chiffrat“), so dass die Klardatei aus der Geheimdatei nur unter Verwendung eines geheimen Schlüssels wiedergewonnen werden kann. Verschlüsselung dient damit zur Geheimhaltung von Informationen, z. B. um Daten gegenüber unbefugtem Zugriff zu schützen oder um Nachrichten vertraulich zu übermitteln.
Grundlagen
Das Verschlüsseln
Durch Verschlüsseln wird eine Klardatei (echte Datei) in eine Geheimdatei umgewandelt.
Eine alte und relativ einfache Art der Verschlüsselung ist die vereinbarte sinngemäße Codierung. Hierbei werden in der Regel nicht einzelne Zeichen oder kurze Zeichenkombinationen verschlüsselt, sondern ganze Worte, Satzteile oder ganze Sinnzusammenhänge. Beispielsweise können im militärischen Bereich wichtige Befehle wie „Angriff im Morgengrauen!“ oder „Rückzug von den Hügeln!“ bestimmten Codewörtern oder für Außenstehende unverständliche Aussagen (z. B. „Die Sonne geht auf“) oder Zeichenkombinationen aus Buchstaben, Ziffern oder anderen Geheimzeichen (z. B. „103“) zugeordnet werden. Dies geschieht zumeist als tabellarische Liste in Form von Codebüchern. Zur Steigerung der kryptographischen Sicherheit von Codes werden die damit erhaltenen Geheimtexte oft einem zweiten Verschlüsselungsschritt unterworfen. Dies wird als Überschlüsselung bezeichnet.
Der Schlüssel
Der entscheidend wichtige Parameter bei der Verschlüsselung ist der Schlüssel. Die gute Wahl eines Schlüssels und sein sicherer Schutz vor unbefugtem Zugriff sind wichtige Voraussetzungen zur Wahrung des verschlüsselten Geheimnisses. Im Fall der Codierung stellt das Codebuch den Schlüssel dar. Im Fall der meisten klassischen und auch einiger moderner Methoden zur Verschlüsselung ist es ein Kennwort. Bei vielen modernen Verschlüsselungen, beispielsweise bei der E-Mail-Verschlüsselung, wird dem Benutzer inzwischen die (Qual der) Wahl eines Schlüssels abgenommen. Der Schlüssel wird automatisch generiert, ohne dass der Benutzer das bemerkt. Hierdurch wird auch der menschliche Fehlerfaktor eliminiert, nämlich die nicht selten zu sorglose Wahl eines unsicheren, zu kurzen und leicht zu erratenden Kennworts.
Das Entschlüsseln
Der zur Verschlüsselung umgekehrte Schritt ist die Entschlüsselung. Zum Entschlüsseln wird der geheime Schlüssel benötigt, mit dessen Hilfe der befugte Empfänger die Geheimdatei wieder in die Klardatei zurückverwandeln kann. Geht der Schlüssel verloren, dann lässt sich die Geheimdatei nicht mehr entschlüsseln. Gerät der Schlüssel in fremde Hände, dann können auch Unberechtigte die Geheimdatei lesen, das Geheimnis ist also nicht länger gewahrt.
Das Entziffern
Sprachlich zu trennen von der Entschlüsselung ist der Begriff des Entzifferns. Als Entzifferung wird die Kunst (oder Technik) bezeichnet, der Geheimdatei seine geheime Nachricht zu entringen, ohne dabei im Besitz des Schlüssels zu sein. Dies ist die Tätigkeit eines Kryptoanalytikers, häufig auch als Codeknacker bezeichnet. Im Idealfall gelingt das Entziffern nicht, wenn das Verschlüsselungsverfahren ausreichend stark ist. Im Gegensatz zu einer starken Verschlüsselung lässt sich eine schwache Verschlüsselung ohne vorherige Kenntnis des Schlüssels mit vertretbarem Aufwand mit Hilfe kryptoanalytischer Methoden brechen. Durch Fortschritte in der Kryptologie kann sich eine vermeintlich starke Verschlüsselung im Laufe der Zeit als eine schwache Verschlüsselung herausstellen. So galt beispielsweise die Vigenère-Verschlüsselung über Jahrhunderte hinweg als „Le Chiffre indéchiffrable“ (deutsch für: „Die unentzifferbare Verschlüsselung“).
Beispiel
Caesar-Verschlüsselung mit Schlüssel „C“
Zur Illustration einer Verschlüsselung wird der unten (aus Gründen der besseren Unterscheidbarkeit wie üblich in Kleinbuchstaben) angegebene Klardatei mithilfe eines sehr alten und äußerst simplen Verfahrens, der Caesar-Verschlüsselung, in einer Geheimdatei (hier aus Großbuchstaben) umgewandelt. Als geheimer Schlüssel wird hier „C“ benutzt, also der dritte Buchstabe des lateinischen Alphabets. Das bedeutet die Ersetzung jedes einzelnen Klardateibuchstabens durch den jeweiligen im Alphabet um drei Stellen verschobenen Buchstaben. So wird beispielsweise aus dem Anfangsbuchstaben „B“ der Klardatei durch Verschlüsselung der im Alphabet drei Stellen später auftretende Buchstabe „E“ in der Geheimdatei, und so weiter:
bevordertextverschluesseltwirdisterklarlesbar EHYRUGHUWHAWYHUVFKOXHVVHOWZLUGLVWHUNODUOHVEDU
Klartext und verschlüsselter Text
Die im Beispiel mit „EHYRU“ beginnende, hier durch Caesar-Verschlüsselung entstandene (und aus Gründen der Illustration in Großbuchstaben dargestellte) Geheimdatei ist tatsächlich auf den ersten Blick unverständlich. Sie eignet sich daher, um die in der Klardatei enthaltene Information vor fremdem Blicken zu verbergen. Kennt ein möglicher Angreifer das zugrundeliegende Verschlüsselungsverfahren nicht, oder gelingt es ihm nicht, den benutzen Schlüssel zu finden, dann bleibt die Geheimdatei für ihn ohne Sinn. Natürlich ist die hier im Beispiel benutzte Methode, die schon die alten Römer kannten, viel zu schwach, um die Geheimnachricht lange zu schützen. Einem erfahrenen Kryptoanalyitiker wird es nicht viel Mühe bereiten, die Geheimdatei nach kurzer Zeit zu brechen, also ohne vorherige Kenntnis von Schlüssel oder Verfahren die Nachricht zu entziffern.
Im Laufe der Geschichte der Menschheit wurden daher immer stärkere Methoden zur Verschlüsselung entwickelt. Ein modernes Verschlüsselungsverfahren ist der Advanced Encryption Standard (AES), das zurzeit als nicht entzifferbar gilt. Diese Einschätzung wird sich aber in den kommenden Jahrhunderten möglicherweise ändern.
Klassifizierung
Prinzipiell unterscheidet man unterschiedliche klassische und moderne symmetrische Verschlüsselungsverfahren und die erst seit wenigen Jahrzehnten bekannten asymmetrischen Verschlüsselungsverfahren. Klassische Verschlüsselungsverfahren können nach dem verwendeten Alphabet klassifiziert werden.
Symmetrische Verschlüsselung
Bei der symmetrischen Verschlüsselung dient der verwendete Schlüssel sowohl zum Verschlüsseln als auch zum Entschlüsseln.
Bei historischen Verfahren lassen sich zwei Verschlüsselungsklassen unterscheiden. Bei der ersten werden, wie bei der im Beispiel benutzen Caesar-Verschlüsselung, die Buchstaben des Klartextes einzeln durch andere Buchstaben ersetzt (Substitutionsverfahren). Im Gegensatz dazu bleibt bei der zweiten Verschlüsselungsklasse Transpositionsverfahren) jeder Buchstabe so, wie er ist, aber nicht wo er ist. Sein Platz im Text wird verändert, die einzelnen Buchstaben des Textes werden sozusagen durcheinandergewürfelt. Eine besonders einfache Form einer Transpositions-Verschlüsselung ist die bei Kindern beliebte Revertierung eines Textes. So entsteht beispielsweise aus dem Klartext „Geheimnis“ der Geheimtext SINMIEHEG.
Interessanterweise beruhen selbst moderne Verschlüsselungsverfahren, wie z. B. das über mehrere Jahrzehnte gegen Ende des 20. Jahrhunderts zum Standard erhobene Verschlüsselungsverfahren DES (Data Encryption Standard) auf den beiden klassischen Methoden Substitution und Transposition. Sie kombinieren diese beiden Grundprinzipien und beziehen ihre Stärke ganz maßgeblich durch die mehrfache wiederholte Anwendung von solchen Kombinationen nicht selten in Dutzenden von Wiederholungen. So wird der Klartext immer stärker verschlüsselt. Die Stärke der Verschlüsselung steigt zumeist mit der Anzahl der verwendeten Wiederholungen.
Asymmetrische Verschlüsselung
Bei der asymmetrischen Verschlüsselung gibt es zwei unterschiedliche Schlüssel, den öffentlichen Schlüssel zur Verschlüsselung und den privaten Schlüssel zur Entschlüsselung
Über Jahrhunderte hinweg war man der Meinung, dass es keine Alternative zur symmetrischen Verschlüsselung und dem damit verknüpften Schlüsselverteilungsproblem gäbe. Erst vor wenigen Jahrzehnten wurde die asymmetrische Verschlüsselung entwickelt. Kennzeichen der asymmetrischen Verschlüsselung ist, dass zur Verschlüsselung ein völlig anderer Schlüssel als zur Entschlüsselung benutzt wird. Dabei kann der öffentliche Schlüssel, der zum Verschlüsseln benutzt wird, öffentlich einsehbar und von jedermann benutzbar sein, während der private Schlüssel, nur vom Empfänger der Nachricht zum Entschlüsseln der Geheimdatei benutzt wird.
Weil asymmetrische Verfahren algorithmisch aufwändiger sind als symmetrische und daher in der Ausführung auch langsamer, werden in der Praxis häufig Kombinationen aus beiden, sogenannte Hybrid-Verfahren genutzt. Dabei wird z. B. zuerst ein zufällig generierter individueller Sitzungsschlüssel mithilfe eines asymmetrischen Verfahrens ausgetauscht, und dieser anschließend gemeinsam als Schlüssel für ein symmetrisches Verschlüsselungsverfahren benutzt, durch das die eigentlich zu kommunizierende Information verschlüsselt wird.
Übertragung der Nachricht
Eine verschlüsselte Nachricht muss in der Regel über mehrere Stationen übertragen werden. Heute handelt es sich dabei meist um einzelne Computersysteme, das heißt die verschlüsselte Nachricht wird über ein Rechnernetzwerk übertragen. Man unterscheidet dabei zwei grundlegend unterschiedliche Übertragungsweisen. Bei der Leitungsverschlüsselung wird die Nachricht jeweils nur für die Übermittlung zum jeweiligen Nachbarrechner verschlüsselt. Dieser entschlüsselt die Nachricht, verschlüsselt sie wiederum (mit einem möglicherweise anderen Verfahren) und schickt sie an seinen (nächsten) Nachbarn – und so weiter bis zum Zielrechner. Der Vorteil dieses Verfahrens besteht darin, dass sich jeweils nur Nachbarrechner auf ein Verschlüsselungsverfahren und verwendete Schlüssel einigen müssen. Darüber hinaus kann diese Übertragungsweise auf einer sehr niedrigen Protokollebene (etwa bereits in der Übertragungs-Hardware) angesiedelt werden. Der Nachteil besteht darin, dass jeder einzelne Rechner auf dem Übertragungsweg vertrauenswürdig und sicher sein muss. Bei der Ende-zu-Ende-Verschlüsselung hingegen wird die Nachricht vom Absender verschlüsselt und in dieser Form unverändert über mehrere Rechner hinweg zum Empfänger übertragen. Hier hat keiner der übertragenden Rechner Einsicht in die Klardatei. Der Nachteil besteht allerdings darin, dass sich der Absender mit jedem möglichen Empfänger auf ein Verschlüsselungsverfahren und zugehörige(n) Schlüssel einigen muss.
Glossar
In der Kryptologie dient eine klare Abgrenzung von Begriffen und eine saubere und konsequent verwendete Fachterminologie zur Erleichterung der Arbeit und zur Vermeidung von Missverständnissen. Im Gegensatz dazu werden umgangssprachlich nicht selten Ausdrücke falsch benutzt und miteinander verwechselt, was zu unnötigen und leicht vermeidbaren Irritationen führen kann. Ein Beispiel ist die unsaubere Verwendung des Begriffs Entschlüsselung, wenn eigentlich Entzifferung gemeint ist.
Alphabet – Eine in der Reihenfolge permutierte geordnete Anordnung von Symbolen, speziell der 26 lateinischen Großbuchstaben (Beispiel: EKMFLGDQVZNTOWYHXUSPAIBRCJ)
Brechen (einer Verschlüsselung) – Anderer Ausdruck für Entziffern
Chiffrat – Anderer Ausdruck für Geheimdatei
Chiffre – Anderer Ausdruck für Verschlüsselungsverfahren
Chiffrieren – Anderer Ausdruck für Verschlüsseln
Codebuch – Hilfsmittel bei der Codierung
Codeknacker – Anderer Ausdruck für Kryptoanalytiker
Codierung – Zumeist feste Zuordnung von Klartextgruppen zu Geheimtextgruppen
Dechiffrat – Anderer Ausdruck für Klardatei
Entschlüsseln – (Rück-)Umwandlung der Geheimdatei in die Klardatei mithilfe des Schlüssels
Entziffern – Brechen des Geheimtextes ohne vorherige Kenntnis des Schlüssels
Geheimdatei – Durch Verschlüsselung aus dem Klardatei erzeugte Datei
Kryptoanalytiker – Eine Person, die ohne vorherige Kenntnis des zur Entschlüsselung erforderlichen Schlüssels versucht, der Geheimdatei ihre Information zu entringen
Schlüssel – Geheime Information, die bei der Verschlüsselung verwendet und zur Entschlüsselung benötigt wird
Schwache Verschlüsselung – Verschlüsselung, die mit überschaubarem Aufwand entziffert werden kann
Starke Verschlüsselung – Verschlüsselung, die mit überschaubarem Aufwand nicht entziffert werden kann
Verschlüsseln – Umwandlung einer Klardatei in eine Geheimdatei mit Hilte eines kryptographischen Verfahrens