Skript/Kryptografie
Grundlagen und Einführung
Kryptografie - Umwandlung von Klartext in Geheimtext
Beschreibung
Kryptografie ist die von einem Schlüssel abhängige Umwandlung von „Klartext“ genannten Daten in einen „Geheimtext“ sodass der Klartext aus dem Geheimtext nur unter Verwendung eines geheimen Schlüssels wiedergewonnen werden kann.
- Griech. krypto (geheim), graph (Schrift)
- Kryptografie behandelt die Kryptografie (encryption) einer Informationen vom Klartext (plain text) in eine nicht verständliche Darstellung (Verschlüsselter Text)
- Kryptografie muss so erfolgen, dass Befugte die Information bei einer Entschlüsselung wieder lesen können (decryption)
- Kryptografie wir oft zur Authentifizierung eingesetzt
- Dabei werden die verschlüsselten Texte mit gespeicherten Texten verglichen
- Dabei wird verglichen, ob sie gleich sind oder Abweichungen enthalten
- Kryptografie ist eine elementare Technologie zum Aufbau sicherer Netzwerke
Wesentliche Technologien
- Kryptografie ist ein Teilbereich der Kryptologie
- die auch Kryptoanalyse behandelt
- Disziplinen der theoretischen Mathematik
- Vertraulichkeit eines Texts garantieren oder brechen
Kryptografie, Chiffrierung, Kryptierung
Von einem Schlüssel abhängige Umwandlung von „Klartext“ genannten Daten in einen „Geheimtext“ (auch „Chiffrat“ oder „Schlüsseltext“ genannt), so dass der Klartext aus dem Geheimtext nur unter Verwendung eines geheimen Schlüssels wiedergewonnen werden kann.
- Geheimhaltung
Kryptografie dient zur Geheimhaltung von Nachrichten, beispielsweise um Daten gegen unbefugten Zugriff abzusichern oder um Nachrichten vertraulich zu übermitteln.
- Die Wissenschaft des Verschlüsselns wird als Kryptographie bezeichnet.
- Informationssicherheit
Die Informationssicherheit nutzt die Kryptografie, um verwertbare Informationen in eine Form umzuwandeln, die sie für jeden anderen als einen autorisierten Benutzer unbrauchbar macht; dieser Vorgang wird Verschlüsselung genannt.
- Informationen, die verschlüsselt (unbrauchbar) gemacht wurden, können von einem autorisierten Benutzer, der im Besitz des Kryptographieschlüssels ist, durch den Prozess der Entschlüsselung wieder in ihre ursprüngliche nutzbare Form zurückverwandelt werden.
- Die Kryptografie wird in der Informationssicherheit eingesetzt, um Informationen vor unbefugter oder versehentlicher Offenlegung zu schützen, während die Informationen übertragen werden (entweder elektronisch oder physisch) und während die Informationen gespeichert werden.
Anwendungen
Die Kryptografie bietet der Informationssicherheit auch andere nützliche Anwendungen, darunter verbesserte Authentifizierungsmethoden, Nachrichten-Digests, digitale Signaturen, Nichtabstreitbarkeit und verschlüsselte Netzwerkkommunikation.
- Ältere, weniger sichere Anwendungen wie Telnet und File Transfer Protocol (FTP) werden langsam durch sicherere Anwendungen wie Secure Shell (SSH) ersetzt, die eine verschlüsselte Netzwerkkommunikation verwenden.
- Drahtlose Kommunikation kann mit Protokollen wie WPA/WPA2 oder dem älteren (und weniger sicheren) WEP verschlüsselt werden.
- Die drahtgebundene Kommunikation (wie ITU-T G.hn) ist durch den AES zur Verschlüsselung und X.1035 zur Authentifizierung und zum Schlüsselaustausch gesichert.
- Softwareanwendungen wie GnuPG oder PGP können zur Verschlüsselung von Dateien und E-Mails verwendet werden.
Sicherheitsprobleme
Kryptografie kann Sicherheitsprobleme verursachen, wenn sie nicht korrekt implementiert wird.
- Kryptografische Lösungen müssen mit branchenweit anerkannten Lösungen implementiert werden, die von unabhängigen Kryptografieexperten einer strengen Prüfung unterzogen wurden.
- Die Länge und Stärke des Verschlüsselungsschlüssels ist ebenfalls ein wichtiger Aspekt.
- Ein zu schwacher oder zu kurzer Schlüssel führt zu einer schwachen Verschlüsselung.
- Die für die Ver- und Entschlüsselung verwendeten Schlüssel müssen mit der gleichen Strenge geschützt werden wie alle anderen vertraulichen Informationen.
Sie müssen vor unbefugter Offenlegung und Zerstörung geschützt werden und bei Bedarf verfügbar sein.
- Lösungen für die Public Key Infrastructure (PKI) lösen viele der Probleme, die mit der Schlüsselverwaltung verbunden sind.
Grundlagen
Verschlüsseln
Durch Verschlüsseln wird ursprünglich der „offene Wortlaut“ eines Textes, genannt „Klartext“, in eine unverständliche Zeichenfolge umgewandelt, die als „Geheimtext“ bezeichnet wird.
- Die Fachbegriffe Klartext und Geheimtext sind historisch gewachsen und heutzutage deutlich weiter zu interpretieren.
- Außer Textnachrichten lassen sich auch alle anderen Arten von Information verschlüsseln, beispielsweise Sprachnachrichten, Bilder, Videos oder der Quellcode von Computerprogrammen.
- Die kryptographischen Prinzipien bleiben dabei die gleichen.
- Eine besondere und relativ einfache Art der Kryptografie ist die Codierung (auch: Kodierung).
- Hierbei werden in der Regel nicht einzelne Klartextzeichen oder kurze Zeichenkombinationen verschlüsselt, sondern ganze Worte, Satzteile oder ganze Sätze.
- Beispielsweise können wichtige Befehle wie „Angriff im Morgengrauen!“ oder „Rückzug von den Hügeln!“ bestimmten Codewörtern oder unverständlichen Zeichenkombinationen aus Buchstaben, Ziffern oder anderen Geheimzeichen zugeordnet werden.
- Dies geschieht zumeist als tabellarische Liste, beispielsweise in Form von Codebüchern.
- Zur Steigerung der kryptographischen Sicherheit von Codes werden die damit erhaltenen Geheimtexte oft einem zweiten Kryptografiechritt unterworfen.
- Dies wird als Überschlüsselung (auch: Überverschlüsselung) bezeichnet.
- Außer geheimen Codes gibt es auch offene Codes, wie den Morsecode und ASCII, die nicht kryptographischen Zwecken dienen und keine Kryptografie darstellen.
Schlüssel
- Der entscheidende Parameter bei der Kryptografie ist der „Schlüssel“.
- Die gute Wahl eines Schlüssels und seine Geheimhaltung sind wichtige Voraussetzungen zur Wahrung des Geheimnisses.
- Im Fall der Codierung stellt das Codebuch den Schlüssel dar.
- Im Fall der meisten klassischen und auch einiger moderner Methoden zur Kryptografie ist es ein Passwort (auch: Kennwort, Schlüsselwort, Codewort oder Kodewort, Losung, Losungswort oder Parole von italienisch la parola „das Wort“.
- Bei vielen modernen Verfahren, beispielsweise bei der E-Mail-Kryptografie, wird dem Benutzer inzwischen die Wahl eines Schlüssels abgenommen.
- Dieser wird automatisch generiert, ohne dass der Nutzer es bemerkt.
- Hierdurch wird auch der „menschliche Faktor“ eliminiert, nämlich die nicht selten zu sorglose Wahl eines unsicheren, weil zu kurzen und leicht zu erratenden, Passworts.
Entschlüsseln
- Der zur Kryptografie umgekehrte Schritt ist die Entschlüsselung.
- Dabei gewinnt der befugte Empfänger den Klartext aus dem Geheimtext zurück.
- Zum Entschlüsseln wird ein geheimer Schlüssel benötigt.
- Bei symmetrischen Kryptografieverfahren ist dies der gleiche wie für das Verschlüsseln, bei asymmetrischen Verfahren hingegen nicht.
- Geht der Schlüssel verloren, dann lässt sich der Geheimtext nicht mehr entschlüsseln
- Gerät der Schlüssel in fremde Hände, dann können auch Dritte den Geheimtext lesen, das Geheimnis ist also nicht länger gewahrt.
- Ein zusammenfassender Begriff für Verschlüsseln und/oder Entschlüsseln ist das Schlüsseln.
Entziffern
- Sprachlich zu trennen von der Entschlüsselung ist der Begriff der „Entzifferung“.
- Als Entzifferung wird die Kunst bezeichnet, dem Geheimtext seine geheime Nachricht zu entringen, ohne im Besitz des Schlüssels zu sein.
- Dies ist die Tätigkeit eines Kryptoanalytikers, häufig auch als „Codeknacker“ () bezeichnet.
- Im Idealfall gelingt keine Entzifferung, weil das Kryptografieverfahren ausreichend „stark“ ist.
- Es wird dann als „unbrechbar“ oder zumindest als „kryptographisch stark“ bezeichnet.
- Im Gegensatz zu einer „starken Kryptografie“ lässt sich eine „schwache Kryptografie“ ohne vorherige Kenntnis des Schlüssels mit vertretbarem Aufwand mithilfe kryptanalytischer Methoden brechen.
- Durch Fortschritte in der Kryptologie kann sich eine vermeintlich starke Kryptografie im Laufe der Zeit als schwach erweisen.
- So galt beispielsweise die „Vigenère-Kryptografie“ über Jahrhunderte hinweg als „Le Chiffre indéchiffrable“ („Die unentzifferbare Kryptografie“).
- Inzwischen weiß man, dass sie das nicht ist.
- Kryptanalyse/Kryptoanalyse
Arbeitsgebiet, das sich mit der Entzifferung von Geheimtexten befasst
- Sie ist neben der Kryptographie das zweite Teilgebiet der Kryptologie.
- Die Kryptanalyse dient nicht nur zur unbefugten Entzifferung von Geheimnachrichten, sondern sie befasst sich auch mit „(Un-)Brechbarkeit“ von Kryptografieen, also der Prüfung der Sicherheit von Kryptografieverfahren gegen unbefugte Entzifferung.
- Die meisten Kryptografieverfahren sind nur pragmatisch sicher, was bedeutet, dass bei ihrer Kryptanalyse keine praktikable Möglichkeit zur Entzifferung gefunden wurde.
- Dabei ist das Vertrauen in die Sicherheit umso mehr gerechtfertigt, je länger ein Verfahren bereits öffentlich bekannt ist und je verbreiteter es in der Anwendung ist, denn umso mehr kann man davon ausgehen, dass viele fähige Kryptologen es unabhängig voneinander untersucht haben und dass eine eventuell vorhandene Schwäche gefunden und veröffentlicht worden wäre (siehe auch Kerckhoffs’ Prinzip).
- Es gibt Verfahren, deren Sicherheit unter Annahme der Gültigkeit bestimmter mathematischer Vermutungen beweisbar ist.
- So kann zum Beispiel für das RSA gezeigt werden: Der private Schlüssel eines Benutzers kann aus dessen öffentlichem Schlüssel genau dann effizient berechnet werden, wenn man eine große Zahl (in der Größenordnung von einigen hundert Dezimalstellen) effizient in ihre Primfaktoren zerlegen kann.
- Das einzige Kryptografieverfahren, dessen Sicherheit wirklich bewiesen und nicht nur auf Vermutungen zurückgeführt wurde, ist das One-Time-Pad.
Beispiel
- Caesar-Kryptografie
Als Beispiel einer Kryptografie wird der unten in Kleinbuchstaben stehende Klartext mithilfe eines sehr alten und äußerst simplen Verfahrens, der Caesar-Kryptografie, in einen Geheimtext (hier wie in der Kryptografie üblich in Großbuchstaben) umgewandelt.
- Als geheimer Schlüssel wird hier „C“ benutzt, also der dritte Buchstabe des lateinischen Alphabets.
- Das bedeutet die Ersetzung jedes einzelnen Klartextbuchstabens durch den jeweiligen im Alphabet um drei Stellen verschobenen Buchstaben.
- So wird aus einem „a“ des Klartextes der im Alphabet drei Stellen später stehende Buchstabe „D“ im Geheimtext, aus „b“ wird „E“ und so weiter.
Wenn man über das Ende des Alphabets hinauskommt, beginnt man wieder am Anfang; aus „z“ etwa wird somit „C“:
kommeumachtzehnuhrmitdenplaenenzurkapelle NRPPHXPDFKWCHKQXKUPLWGHQSODHQHQCXUNDSHOOH
- Der mit „NRPPH“ beginnende Geheimtext ist auf den ersten Blick unverständlich.
- Das Verfahren eignet sich somit, um die im Klartext enthaltene Information vor Unbefugten zu verbergen.
- Kennt ein möglicher Angreifer das zugrundeliegende Kryptografieverfahren nicht, oder gelingt es ihm nicht, den benutzten Schlüssel zu finden, dann bleibt der Geheimtext für ihn ohne Sinn.
- Natürlich ist die hier benutzte Methode, die schon die alten Römer kannten, sehr schwach.
- Einem erfahrenen Codebrecher wird es nicht viel Mühe bereiten, den Geheimtext nach kurzer Zeit zu entziffern, auch ohne vorherige Kenntnis von Schlüssel oder Verfahren.
- Im Laufe der Geschichte der Menschheit wurden daher immer stärkere Methoden zur Kryptografie entwickelt
- siehe auch: Geschichte der Kryptographie
- Ein modernes Kryptografieverfahren ist der Advanced Encryption Standard (AES), das zurzeit als unbrechbar gilt.
- Dies wird sich aber in kommenden Jahrzehnten möglicherweise ändern (siehe auch: Kryptoanalytische Angriffe auf AES).
Klassifizierung
- Prinzipiell unterscheidet man
- Klassische und moderne symmetrische Kryptografieverfahren
- asymmetrischen Kryptografieverfahren
- Erst seit wenigen Jahrzehnten bekannt
- Klassische Kryptografieverfahren können nach dem verwendeten Alphabet klassifiziert werden.
Symmetrisch
Symmetrische Kryptografieverfahren verwenden zur Ver- und Entschlüsselung den gleichen Schlüssel
- Historischen Verfahren
Bei historischen Verfahren lassen sich zwei Kryptografieklassen unterscheiden
- Bei der ersten werden, wie bei der im Beispiel benutzten Caesar-Kryptografie, die Buchstaben des Klartextes einzeln durch andere Buchstaben ersetzt.
- Mit dem lateinischen Wort substituere (deutsch: „ersetzen“) werden sie als Substitutionsverfahren bezeichnet.
- Im Gegensatz dazu bleibt bei der zweiten Kryptografieklasse, genannt Transposition (von lateinisch: transponere; deutsch: „versetzen“), jeder Buchstabe 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-Kryptografie ist die bei Kindern beliebte „Revertierung“ (von lateinisch: reverse; deutsch: „umkehren“) eines Textes.
- So entsteht beispielsweise aus dem Klartext „GEHEIMNIS“ der Geheimtext „SINMIEHEG“.
- Modernen symmetrischen Verfahren
Bei modernen symmetrischen Verfahren werden Stromverschlüsselung und auf einer Blockverschlüsselung basierende Verfahren unterschieden.
- Bei der Stromverschlüsselung werden die Zeichen des Klartextes jeweils einzeln und nacheinander verschlüsselt.
- Bei einer Blockverschlüsselung hingegen wird der Klartext vorab in Blöcke einer bestimmten Größe aufgeteilt.
- Wie dann die Blöcke verschlüsselt werden, bestimmt der Betriebsmodus der Kryptografiemethode.
Interessanterweise beruhen selbst moderne Blockchiffren, wie beispielsweise das über mehrere Jahrzehnte gegen Ende des 20. Jahrhunderts zum Standard erhobene Kryptografieverfahren DES (Data Encryption Standard) auf den beiden klassischen Methoden Substitution und Transposition.
- Sie verwenden diese beiden Grundprinzipien in Kombination und beziehen ihre Stärke ganz maßgeblich durch die mehrfache wiederholte Anwendung von solchen Kombinationen nicht selten in Dutzenden von „Runden“.
- So wird, vergleichbar zum wiederholten Kneten von Teig, der Klartext immer stärker verschlüsselt.
- Die Stärke der Kryptografie steigt zumeist mit der Anzahl der verwendeten Runden.
siehe Symmetrisches Kryptosystem
Asymmetrisch
Über Jahrhunderte hinweg war man der Meinung, dass es keine Alternative zur symmetrischen Kryptografie und dem damit verknüpften Schlüsselverteilungsproblem gäbe.
- Erst vor wenigen Jahrzehnten wurde die asymmetrische Kryptografie (Public-key cryptography) erfunden.
- Kennzeichen der asymmetrischen Kryptografie ist, dass zur Kryptografie ein völlig anderer Schlüssel als zur Entschlüsselung benutzt wird.
- Man unterscheidet hier zwischen dem „öffentlichen Schlüssel“, der zum Verschlüsseln benutzt wird, und dem „privaten Schlüssel“ zum Entschlüsseln des Geheimtextes.
- Der private Schlüssel wird niemals weitergegeben oder gar veröffentlicht, der öffentliche Schlüssel hingegen wird dem Kommunikationspartner übergeben oder veröffentlicht.
- Er kann dann von jedermann benutzt werden, um Nachrichten zu verschlüsseln.
- Um diese jedoch entschlüsseln zu können, benötigt man den dazu passenden privaten Schlüssel.
- Nur damit kann die verschlüsselte Nachricht wieder entschlüsselt werden.
- Das heißt, noch nicht einmal der Verschlüssler selbst ist in der Lage, seine eigene Nachricht, die er mit dem öffentlichen Schlüssel der anderen Person verschlüsselt hat, wieder zu entschlüsseln.
Das Verfahren kann übrigens auch „umgekehrt“ verwendet werden, indem eine Person ihren privaten Schlüssel nutzt, um damit eine Information zu verschlüsseln.
- Nun ist jedermann, der Zugriff auf den öffentlichen Schlüssel hat, in der Lage, damit die Nachricht zu entschlüsseln.
- Hier geht es meist nicht um die Geheimhaltung einer Nachricht, sondern beispielsweise um die Authentifizierung einer Person beziehungsweise die digitale Signatur einer Nachricht.
- Jedermann kann leicht überprüfen und erkennen, dass die verschlüsselte Information nur von dieser einen Person stammen kann, denn nur diese besitzt den nötigen privaten Schlüssel.
- Zum Signieren allein genügt es, den Nachrichtentext unverschlüsselt als Klartext zu belassen, und beispielsweise nur eine Prüfsumme davon verschlüsselt anzuhängen.
- Wenn der öffentliche Schlüssel des Autors beim Entschlüsseln eine korrekte Prüfsumme freilegt, ist sowohl der Autor als auch die Unverfälschtheit der Nachricht bestätigt.
Da asymmetrische Verfahren algorithmisch aufwendiger sind als symmetrische und daher in der Ausführung langsamer, werden in der Praxis zumeist Kombinationen aus beiden, sogenannte Hybrid-Verfahren genutzt.
- Dabei wird beispielsweise 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 Kryptografieverfahren benutzt, wodurch die eigentlich zu kommunizierende Information verschlüsselt wird.
Anwendungen
Nachrichtenübertragung
Eine verschlüsselte Nachricht (z. B. eine E-Mail oder eine Webseite) 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 nur jeweils für den Nachbarrechner verschlüsselt.
- Dieser entschlüsselt die Nachricht, verschlüsselt sie wiederum (mit einem möglicherweise anderen Verfahren) und schickt sie an seinen Nachbarn – und so weiter bis zum Zielrechner.
- Der Vorteil dieses Verfahrens besteht darin, dass sich jeweils nur Nachbarrechner auf ein Kryptografieverfahren 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-Kryptografie 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 den Klartext der Nachricht.
- Der Nachteil besteht allerdings darin, dass sich der Absender mit jedem möglichen Empfänger auf ein Kryptografieverfahren und zugehörige(n) Schlüssel einigen muss.
Datenträger
- Sensible Daten auf einem Datenträger lassen sich im Wesentlichen auf zwei Wegen vor unbefugtem Zugriff schützen
- man verschlüsselt mit Hilfe von Kryptografiesoftware die gesamte Festplatte oder eine einzelne Partition (Full Disk Encryption, kurz FDE) oder auch nur einen Daten-Container in Form einer einzelnen Datei auf dem Datenträger
- bei der hardwareseitigen Kryptografie (Hardware encryption) übernimmt ein Mikrochip auf dem USB-Laufwerk eine automatische und transparente Kryptografie.
- Die Authentifizierung wird beispielsweise dadurch erreicht, dass das Gerät über eine physische Tastatur verfügt, über die vor der Verwendung ein PIN-Code einzugeben ist.