Kryptographie - Ein Überblick
Die Kryptographie ist ein ein sehr umfangreiches Themengebiet, und obwohl ich mich jetzt seit 30 Artikeln damit befasst habe sind längst nicht alle Themen vorgestellt worden. Aber zumindest die wichtigsten habe ich beschrieben, und damit soll es jetzt auch erst mal genug sein. Dieser Artikel gibt einen Überblick über alle anderen Artikel rund um die Kryptographie, und danach wende ich mich erst mal wieder anderen Themen zu.
Grundlagen und klassische Verfahren
Los ging es mit den Grundlagen der Kryptographie und der Vorstellung einiger klassischer Verfahren: Der Substitution und Angriffen darauf, der Transposition, der Polyalphabetischen Substitution und dem One-Time-Pad.
Während das One-Time-Pad nach wie vor das einzige beweisbar sichere Verschlüsselungsverfahren ist, sind alle andere klassischen Verfahren inzwischen äußerst unsicher. Früher hätte ich geschrieben, die löst fast schon jeder programmierbare Taschenrechner, aber wer hat den heutzutage noch? Und sein Ersatz in Form einer Smartphone-App hat mit diesen Verschlüsselungen erst recht keine Probleme.
Halbwegs aktuelle symmetrische Verfahren
Als nächstes wurden die Feistel-Netzwerke vorgestellt, mit denen wir uns einem halbwegs aktuellen Verfahren näherten: Dem Data Encryption Standard DES. Der hat eine interessante Geschichte, sein Algorithmus ist aber nicht mehr sicher, auch wenn es mit 3DES eine etwas sichere Variante gibt. Man sollte DES also nicht mehr einsetzen, weshalb die Anwendungsbeispiele eine vom Aussterben bedrohte Spezies sind. Und das mit Recht!
Das aktuell sichere symmetrische Verfahren: AES
Da DES unsicher wurde, musste man einen Nachfolger suchen. Und da DES ein US-amerikanischer Standard ist wurde vom US-amerikanischen National Institute of Standards and Technology (NIST) auch ein Nachfolger gesucht: Der Advanced Encryption Standard AES, der noch sicher ist.
Blockchiffren, symmetrische und asymmetrische Verfahren, Authentifikationssysteme
DES und AES sind Blockchiffren, d.h. es werden immer Blöcke einer bestimmten Größe verarbeitet. Für derartige Chiffren gibt es verschiedene Betriebsarten.
Außerdem sind DES und AES symmetrische Verfahren, bei denen für Ver- und Entschlüsselung der gleiche Schlüssel verwendet wird.
Das macht die Schlüsselverteilung kompliziert, ein Problem, dass die asymmetrischen Verfahren nicht haben. Bei denen gibt es zwei Schlüssel: Den öffentlichen Schlüssel (Public Key), der für die Verschlüsselung verwendet wird, und der wie es der Name schon sagt öffentlich bekannt sein darf, und den geheimzuhaltenden privaten Schlüssel (Private Key), mit dem die verschlüsselten Daten entschlüsselt werden können.
Alle bisher vorgestellten Verfahren dienten der Verschlüsselung von Daten, also dem Erreichen des Schutzziels "Vertraulichkeit". Verschlüsselungssysteme werden auch als Konzelationssysteme bezeichnet. Mit Hilfe der Kryptographie kann aber auch das Schutzziel "Integrität" erreicht werden. Dabei geht es um die Frage, ob Daten bei der Übertragung verändert wurden oder nicht. Die dazu verwendeten Systeme werden Authentifikationssysteme genannt.
Ein asymmetrisches Verfahren: RSA
Das bekannteste asymmetrische Verfahren ist RSA, das nicht nur zur Verschlüsselung, sondern auch als digitales Signatursystem, einem Spezialfall der Authentifikationssysteme, eingesetzt werden kann. Im Gegensatz zum Authentifikationssystem kann beim digitalen Signatursystem nicht nur die Unversehrtheit der Daten, sondern auch der Urheber der Signatur bewiesen werden.
Der naive Einsatz von RSA ist allerdings nicht sicher (und war es auch nie), weshalb man RSA absichern muss. Dann ist es aber für ausreichend lange Schlüssel auch wirklich sicher. Auf die Schlüssellänge komme ich unten noch zurück.
Hybride Verfahren
Symmetrische und Asymmetrische Verfahren können zu einem Hybriden Verschlüsselungsverfahren kombiniert werden, dass die Vorteile beider Systeme miteinander verknüpft: Den einfachen Schlüsselaustausch des asymmetrischen Verfahrens und die schnellere Berechnung des symmetrischen Verfahrens. Erst werden die Daten mit einem zufällig erzeugten Schlüssel symmetrisch verschlüsselt, danach der dafür verwendete Schlüssel für die gewünschten Empfänger asymmetrisch.
Der Empfänger entschlüsselt mit seinem privaten asymmetrischen Schlüssel und dem asymmetrischen Verfahren den symmetrischen Schlüssel und damit dann mit dem symmetrischen Verfahren die eigentlichen Daten.
Identitätsprüfung
Ein praktisches Problem der Kryptographie ist die Identitätsprüfung. Das Das Interlock-Protokoll erlaubt die Identitätsprüfung ohne vertrauenswürdigen Dritten. Gibt es einen vertrauenswürdigen Dritten, gibt es zwei Ansätze für die Identitätsprüfung: Das Web of Trust wie es z.B. von PGP/GPG verwendet wird, und Hierarchische Zertifizierungssysteme, die z.B. in SSL/TLS verwendet werden.Schlüsselaustausch
Wie tauscht man einen symmetrischen Schlüssel aus, wenn kein vertrauenswürdiger Übertragungskanal zur Verfügung steht? Dies Problem löst der Diffie-Hellman-Schlüsselaustausch. Wird er im Rahmen von SSL/TLS eingesetzt, spricht man von Perfect Forward Secrecy. Wurde der symmetrische Sitzungsschlüssel gelöscht, kann er nicht mehr wiederhergestellt werden. Selbst wenn ein Angreifer den gesamten Netzwerkverkehr aufzeichnet UND später an den geheimen Schlüssel des asymmetrischen Verfahrens gelangt, kann er den Sitzungsschlüssel nicht wiederherstellen, und danach die Sitzung zu entschlüsseln.
Hashfunktionen
Hashfunktionen werden in der Kryptographie sehr häufig verwendet. Zum Beispiel wird bei der Berechnung von Signaturen oft der Hashwert des Dokuments signiert, statt das gesamte Dokument zu signieren. Also braucht man sichere Hashfunktionen. Die bekannten und lange Zeit meistgenutzten Funktionen MD4, MD5, SHA und SHA-1 sind inzwischen alle unsicher. Die Funktionen der SHA-2-Familie und ihre bereitstehende Alternative SHA-3 sind noch für einige Jahre sicher. Wenn Sie die mit ausreichender Länge verwenden, schlagen die Angriffe auf Hash-Funktionen alle fehl.
Schlüssel- und Hashwert-Längen
Die Bundesnetzagentur, zuständig für die Bewertung der Algorithmen für digitale Signaturen nach dem Signaturgesetz, stuft im Algorithmenkatalog 2016 vom 9.12.2015 die folgenden der oben aufgeführten Verfahren und Schlüssel- bzw. Hashwertlängen für die kommenden 7 Jahre, also bis Ende 2022, als sicher ein:
Verfahren | Schlüssellänge |
---|---|
RSA (für Signaturen) | Mindestens: 1976 Bit Empfohlen: 2048 Bit Angestrebt: 3000 Bit |
Hashfunktionen | SHA-256, SHA-512/256, SHA-384, SHA-512 SHA3-256, SHA3-384, SHA3-512 |
Das Bundesamt für Sicherheit in der Informationstechnik hat in der Technischen Richtlinie BSI TR-02102-1 "Kryptographische Verfahren: Empfehlungen und Schlüssellängen" in der Version 2016-01 vom 15.2.2016 die folgenden der oben aufgeführten Verfahren und Schlüssel- bzw. Hashwertlängen als "kryptographisch stark" eingestuft:
Verfahren | Schlüssellänge |
---|---|
AES | AES-128, AES-192, AES-256 |
Betriebsarten für Blockchiffren | Galois-Counter-Mode (GCM) Cipher-Block Chaining (CBC) Counter Mode (CTR) |
RSA | Mindestens 2000 Bit |
Diffie-Hellman | Mindestens 2000 Bit |
Hashfunktionen | SHA-256, SHA-512/256, SHA-384 und SHA-512 und SHA3-256, SHA3-384, SHA3-512 |
Und damit ist das Thema "Kryptographie" vorerst beendet. Womit es in der nächsten Folge weiter geht habe ich noch nicht entschieden.
Trackbacks