Asymmetrische Kryptografie (Verschlüsselung)
In der asymmetrischen Kryptografie arbeitet man nicht mit einem einzigen Schlüssel, sondern mit einem Schlüsselpaar. Bestehend aus einem öffentlichen und einem privaten Schlüssel. Man bezeichnet diese Verfahren als asymmetrische Verfahren oder Public-Key-Verfahren. Üblich sind auch die Bezeichnungen Public-Key-Kryptografie und Public-Key-Verschlüsselung.
Ein fundamentales Problem der Kryptografie ist, dass sich die Kommunikationspartner auf einen gemeinsamen Schlüssel verständigen müssen. Man bezeichnet das als Schlüsselaustauschproblem.
Während ein manueller Schlüsselaustausch durch ein persönliches Treffen oder per Telefon bei einer handvoll Kommunikationspartner sicherlich kein Problem wäre. Wird es bei vielen Schlüsseln oder vielen Kommunikationspartnern schnell unübersichtlich und aufwendig. Hier kommt das Thema Schlüsselverwaltung und -verteilung zum Tragen. Alternativ bestünde die Möglichkeit einen Authentifizierungsserver einzusetzen. Beispielsweise Kerberos. Oder eben die asymmetrische Kryptografie.
Prinzip der asymmetrischen Kryptografie (Public-Key-Verfahren)
Asymmetrische Verschlüsselungsverfahren arbeiten mit Schlüsselpaaren. Ein Schlüssel ist der öffentliche Schlüssel (Public Key), der andere ist der private Schlüssel (Private Key). Dieses Schlüsselpaar hängt über einen mathematischen Algorithmus eng zusammen. Daten, die mit dem öffentlichen Schlüssel verschlüsselt werden, können nur mit dem privaten Schlüssel entschlüsselt werden. Deshalb muss der private Schlüssel vom Besitzer des Schlüsselpaares geheim gehalten werden.
Der konkrete Anwendungsfall sieht so aus: Will der Sender Daten verschlüsselt an den Empfänger senden, benötigt er den öffentlichen Schlüssel des Empfängers. Mit dem öffentlichen Schlüssel können die Daten verschlüsselt, aber nicht mehr entschlüsselt werden (Einwegfunktion). Nur noch der Besitzer des privaten Schlüssels, also der richtige Empfänger kann die Daten entschlüsseln. Wichtig bei diesem Verfahren ist, dass der private Schlüssel vom Schlüsselbesitzer absolut geheim gehalten wird. Kommt eine fremde Person an den privaten Schlüssel muss sich der Schlüsselbesitzer ein neues Schlüsselpaar besorgen.
Das Problem bei der asymmetrischen Kryptografie ist die Verteilung der öffentlichen Schlüssel. Typischerweise erfolgt die Übergabe des öffentlichen Schlüssels beim Erstkontakt. Doch hierbei stellt sich die Frage, ob dieser Schlüssel tatsächlich der echte Schlüssel des Kommunikationspartner ist.
Hinweis: Asymmetrische Verfahren benötigen viel mehr Rechenleistung als symmetrische Verfahren. Wenn man RSA und AES miteinander vergleicht, dann ist RSA ungefähr um den Faktor 1.000 langsamer als AES.
Einwegfunktion und Falltürfunktion
Bei der asymmetrischen Verschlüsselung geht es darum, eine Funktion zu wählen, die sehr einfach zu rechnen ist, aber deren Umkehrung dagegen sehr aufwendig. Realisiert wird das mit Modulo-Rechenarten. Einige davon sind tatsächlich sehr einfach zu rechnen, während die Umkehrung sehr aufwendig ist. Sie entsprechen also einer Einwegfunktion. Es gibt allerdings auch Funktionen, bei denen sich mit einer zusätzlichen Information die Umkehrung abkürzen lässt. In so einem Fall spricht man von einer Falltürfunktion.
Der diskrete Logarithmus fällt hier als Einwegfunktion besonders auf, weil man diesen sehr leicht berechnen kann. Umgekehrt ist es schlichtweg nicht möglich eine große Zahl in praktikabler Zeit zurückzurechnen. Man bezeichnet das als Diskreter-Logarithmus-Problem. Viele asymmetrische Verfahren basieren darauf. Allerdings bedeutet das nicht, dass nicht doch irgendwann ein Weg gefunden wird, den diskreten Logarithmus zu lösen.
Eine weitere Einwegfunktion ist das Multiplizieren von Primzahlen. Während die Multiplikation für einen Computer kein Problem darstellt, ist der umgekehrte Weg, beim dem das Primzahlprodukt in seine Faktoren zerlegt werden soll, nicht in akzeptabler Zeit machbar. Man spricht von Faktorisierung und in dem Zusammenhang vom Faktorisierungsproblem.
Ein Beispiel: Wenn man 17 x 19 berechnet (beides Primzahlen), dann kommt 323 heraus. Und jetzt soll man die beiden unbekannten Faktoren (17 und 19) daraus zurückberechnen. Es gibt im Prinzip nur einen Weg. Man muss alle Möglichkeiten durchprobieren. Bei hinreichend großen Primzahlen dauert das ewig. Damit ist das Faktorisierungsproblem gemeint.
Alle gängigen asymmetrische Verfahren basieren auf komplexen mathematischen Berechnungen, die gemeinsam haben, dass es für sie noch keine Vereinfachung gibt. Schlüssel, Klartext und Geheimtext stellen große Zahlen bzw. Zahlenpaare dar. Die Verfahren sind aber nur so lange sicher sind, bis jemand eine Vereinfachung gefunden hat.
Weil es nur begrenzt geeignete mathematische Berechnungen mit Einwegfunktion gibt, lassen sich nicht beliebig viele asymmetrische Verfahren entwickeln.
Angriffe auf asymmetrische Verschlüsselungsverfahren
- Public-Key-Only-Angriff: Mit Wissen des öffentlichen Schlüssels kann der Angreifer beliebigen Klartext verschlüsseln und beispielsweise mit bereits verschlüsselten Klartext vergleichen.
- Chosen-Cipertext-Angriff: Bei diesem Angriff schickt der Angreifer einen beliebigen Geheimtext an sein Ziel, um diesen entschlüsseln zu lassen.
Überblick: Asymmetrische kryptografische Verfahren
Im Vergleich zu den symmetrischen Verfahren gibt es nicht so viele asymmetrische Verfahren. Hier sind hauptsächlich RSA und Diffie-Hellman bekannt. Seltener hat man es mit MQV bzw. LMQSV zu tun.
- Diffie-Hellman-Merkle-Schlüsselaustausch
- RSA - Rivest, Shamir und Adleman
- MQV - Menezes, Qu und Vanstone (LMQSV)
- PGP - Pretty Good Privacy (OpenPGP)
Wie sicher ist asymmetrische Kryptografie?
Alle sicheren asymmetrischen Verfahren der letzten Jahrzehnte beruhen auf der Faktorisierung von Primzahlen oder dem diskreten Logarithmus. Nur so lange, wie niemand auf einen Trick kommt, wie man in realistischer Zeit faktorisieren oder das Diskreter-Algorithmus-Problem lösen kann, bleiben Verfahren wie RSA und Diffie-Hellman sicher.
Schon die Entdeckung einer praktikablen Faktorisierungsmethode würde bedeuten, dass die momentan üblichen asymmetrischen Verfahren unsicher sind. Das wäre eine Katastrophe für die moderne Kryptografie. Die Sicherheit weiter Teile der Telekommunikation, Computersysteme und Netzwerke würde wie ein Kartenhaus in sich zusammenfallen.
Asymmetrische Verfahren sind im Vergleich zu symmetrischen Verfahren langsam und komplex und deshalb sehr anfällig gegenüber Implementierungsfehlern. Komplizierte mathematische Verfahren, wie sie bei asymmetrischen Verfahren angewendet werden, bieten mehr Angriffsfläche und damit mehr Ansätze für die Kryptoanalyse. Dummerweise entstehen die meisten Sicherheitslücken durch fehlerhafte Implementierungen von kryptografischen Protokollen und bei der Prüfung der Authentizität der Kommunikationspartner. Im Vergleich dazu sind die gängigen symmetrischen Verfahren mit ihren einfachen Bit-Operationen bei geringerer Schlüssellänge sicherer.
Aus gutem Grund werden Klartexte niemals direkt mit asymmetrischen Verfahren verschlüsselt. Die Gefahr einer erfolgreichen Kryptoanalyse ist einfach zu hoch. In der Praxis werden asymmetrische Verfahren bevorzugt zum verschlüsselten Übertragen von Sitzungsschlüsseln oder Hashes verwendet.
In der Praxis kombinieren die übliche kryptografischen Protokolle sowohl symmetrische als auch asymmetrische Verfahren. Wobei der Schlüssel über ein asymmetrisches Verfahren ausgetauscht wird und anschließend mit einem symmetrischen Verfahren verschlüsselt wird.