Asymmetrische Verschlüsselung: Was ist das?
Die asymmetrische Verschlüsselung (Public-Key-Kryptographie) bzw. asymmetrische Kryptographie wird eingesetzt, um Dateien, Verzeichnisse und ganze Laufwerke vor unerlaubten Zugriffen zu schützen sowie um geheime Nachrichten auszutauschen. Dafür werden Keys – also Schlüssel – zur Chiffrierung bzw. Dechiffrierung eingesetzt.
Im Gegensatz zur symmetrischen Verschlüsselung teilen sich die User bei diesem Verfahren keinen gemeinsamen geheimen Schlüssel (Private Key). Stattdessen erzeugt jeder Benutzer sein eigenes Schlüsselpaar, das aus einem geheimen bzw. privaten Schlüssel und einem öffentlichen Schlüssel besteht. Jeder Gesprächspartner, der über den öffentlichen Schlüssel verfügt, kann verschlüsselte Daten an den Besitzer des privaten Schlüssels senden, dessen digitale Signatur prüfen oder ihn authentifizieren. Der private Schlüssel kann die verschlüsselten Daten wiederum entschlüsseln, digitale Signaturen erzeugen oder authentisieren.
Im Folgenden erläutern wir das Prinzip sowie die Funktionen, Anwendungsmöglichkeiten und Vor- und Nachteile der asymmetrischen Verschlüsselung.
Im Folgenden erläutern wir das Prinzip sowie die Funktionen, Anwendungsmöglichkeiten und Vor- und Nachteile der asymmetrischen Verschlüsselung.
Was ist asymmetrische Kryptographie?
Die Idee zur Public-Key-Kryptographie entstand erst 1975. Damit ist die asymmetrische Verschlüsselung ein noch sehr junges Feld in der Kryptographie, deren Geschichte über 2.000 Jahre zurückreicht. Der größte Vorteil einer asymmetrischen Verschlüsselung ist gleichzeitig der größte Nachteil einer symmetrischen Verschlüsselung: Die Kommunikationspartner müssen sich nicht auf nur einen gemeinsamen Schlüssel verständigen, sondern jeder besitzt einen weiteren privaten Schlüssel.
Das Problem bei einem Secret-Key-Verfahren (symmetrische Verschlüsselung) ist insbesondere der Schlüsselaustausch. Der geheime Schlüssel muss zum Empfänger gelangen – dieser Transport wird, je mehr Kommunikationspartner sich einen Schlüssel teilen, immer unübersichtlicher, aufwendiger und dadurch unsicherer sowie angreifbarer.
Das Problem bei einem Secret-Key-Verfahren (symmetrische Verschlüsselung) ist insbesondere der Schlüsselaustausch. Der geheime Schlüssel muss zum Empfänger gelangen – dieser Transport wird, je mehr Kommunikationspartner sich einen Schlüssel teilen, immer unübersichtlicher, aufwendiger und dadurch unsicherer sowie angreifbarer.
Hierfür stellt die asymmetrische Kryptographie eine praktische Alternative dar, da jeder Nutzer über sein eigenes Schlüsselpaar verfügt.
Erläuterung des Public-Key-Kryptographie-Prinzips
Bei der asymmetrischen Kryptographie besitzt jeder Kommunikationspartner ein Schlüsselpaar, bestehend aus einem öffentlichen (Public Key) und einem privaten Schlüssel (Private Key). Analog werden Schlüssel über ein Schlüsselbund zusammengehalten – in diesem Kryptosystem hängen beide Schlüssel durch einen mathematischen Algorithmus eng zusammen: Daten, die mit dem Public Key verschlüsselt werden, können nämlich nur mit dem Private Key entschlüsselt werden. Für den Schutz der Daten und den sicheren Durchlauf der Public-Key-Kryptographie ist es deshalb unabdingbar, dass der Private Key für alle anderen Kommunikationspartner geheim bleibt.
In der Praxis braucht also der Sender von Daten immer den Public Key des Empfängers. Der öffentliche Schlüssel hat dabei verschlüsselungstechnisch eine Einwegfunktion: Er kann die Daten zwar verschlüsseln, aber nicht wieder entschlüsseln, denn dies kann immer nur der Empfänger der Daten mit seinem eigenen Private Key. Der Public Key dient aber nicht nur zur Chiffrierung, sondern erlaubt es auch, digitale Signaturen zu prüfen und Kommunikationspartner zu verifizieren.
In der Praxis braucht also der Sender von Daten immer den Public Key des Empfängers. Der öffentliche Schlüssel hat dabei verschlüsselungstechnisch eine Einwegfunktion: Er kann die Daten zwar verschlüsseln, aber nicht wieder entschlüsseln, denn dies kann immer nur der Empfänger der Daten mit seinem eigenen Private Key. Der Public Key dient aber nicht nur zur Chiffrierung, sondern erlaubt es auch, digitale Signaturen zu prüfen und Kommunikationspartner zu verifizieren.
Die Schlüsselübergabe findet bereits beim Erstkontakt statt. Gleichzeitig erzeugt der Private Key digitale Signaturen und kann sich somit gegenüber anderen Kommunikationspartnern authentifizieren. Kurz gesagt ermöglicht die asymmetrische Verschlüsselung, dass jeder auf einen Public Key zugreifen kann, ihn aber nur mit dem Private Key entschlüsseln kann. Dadurch können Daten sehr sicher ausgetauscht werden.
Wie funktioniert asymmetrische Verschlüsselung?
Zum Start einer asymmetrischen Verschlüsselung generiert der Empfänger sein Schlüsselpaar. Den privaten Schlüssel behält er, den öffentlichen Schlüssel macht er für den Kommunikationspartner zugänglich. Das geht über einen einfachen Transport, durch Zertifizierungsstellen oder durch sogenannte Key-Server (also Schlüssel-Server), auf denen der Schlüssel hinterlegt werden kann. Der Sender codiert mit diesem öffentlichen Schlüssel seine Nachricht und kann sie als „Geheimtext“ an den Empfänger schicken. Ab dem Zeitpunkt der Verschlüsselung ist diese Nachricht nur noch vom Empfänger mit seinem Private Key decodierbar. Aus diesem Grund ist der Nachrichtenkanal prinzipiell frei wählbar: Sollte die verschlüsselte Nachricht abgefangen werden, bleibt ihr Inhalt dem Angreifer verborgen.
Diese Einwegfunktion ist das Prinzip des gesamten asymmetrischen Kryptosystems. Die beiden Schlüssel sind völlig unabhängig voneinander. Selbst, wenn der öffentliche Schlüssel bekannt ist, kann ein Angreifer daraus keine Rückschlüsse auf den privaten Schlüssel ziehen. Um dies zu gewährleisten, arbeitet der Public Key mit klar definierten Primfaktoren, die multipliziert werden und ein eindeutiges Ergebnis haben. Er stellt also z. B. Rechnungen wie die folgende an:
Diese Einwegfunktion ist das Prinzip des gesamten asymmetrischen Kryptosystems. Die beiden Schlüssel sind völlig unabhängig voneinander. Selbst, wenn der öffentliche Schlüssel bekannt ist, kann ein Angreifer daraus keine Rückschlüsse auf den privaten Schlüssel ziehen. Um dies zu gewährleisten, arbeitet der Public Key mit klar definierten Primfaktoren, die multipliziert werden und ein eindeutiges Ergebnis haben. Er stellt also z. B. Rechnungen wie die folgende an:
23 x 199 = 4.577
Der Private Key hingegen arbeitet ausschließlich mit dem Ergebnis aus dieser Rechnung (im Beispiel also mit der Zahl 4.577). Aus diesem Wert Rückschlüsse auf die vorangegangenen Faktoren zu ziehen, ist nahezu unmöglich, denn es existieren unzählige Möglichkeiten, wie der Wert zustande gekommen sein kann. Bis heute gibt es zudem keine mathematisches Verfahren oder Algorithmen, die die Rückrechnung vereinfachen würden.
In diesem Beispiel wurde mit sehr kleinen Primzahlen gearbeitet. In der Praxis verwendet die asymmetrische Verschlüsselung wesentlich größere Zahlen. Das macht die Public-Key-Kryptographie so sicher.
Wo wird asymmetrische Kryptographie angewendet?
HTTPS steht für Hypertext Transfer Protocol Secure, bei dem im Vergleich zum bekannten und ungesicherten Hypertext Transfer Protocol, kurz HTTP, Daten asymmetrisch verschlüsselt und damit sicher versendet werden.
Darüber hinaus lassen sich asymmetrische Kryptosysteme mit symmetrischen Verfahren kombinieren. Dabei werden die Schlüssel zunächst mittels asymmetrischer Verschlüsselung ausgetauscht, die nachfolgende Kommunikation wird dann aber symmetrisch chiffriert. Dieses hybride Verschlüsselungssystem kommt zum Einsatz, wenn User die Geschwindigkeit einer symmetrischen, aber gleichzeitig die Sicherheit einer asymmetrischen Kryptographie wünschen.
Beispiele für asymmetrische Verschlüsselung
Das wahrscheinlich populärste Verschlüsselungsprogramm ist Pretty Good Privacy, besser bekannt in der Kurzform PGP. Es basiert auf der Public-Key-Kryptographie und dient der Verschlüsselung von E-Mails. Hier werden bei der Installation ein Public und ein Private Key generiert. Im Anschluss kann der Public Key entweder persönlich weitergegeben oder auf einer zentralen Datenbank hinterlegt werden. In dieser kann jeder nach Schlüsseln von bestimmten Besitzern suchen. Mit dem Public Key verschlüsselt der Absender seine Daten und kennzeichnet die E-Mail bzw. die Nachricht als PGP-verschlüsselt. Der Empfänger kann sie dann durch den Private Key wieder lesbar machen.
Als freie Alternative zu PGP wurde 1997 OpenPGP entwickelt. Die Open-Source-Software besitzt mittlerweile viele Erweiterungen, die über den Funktionsumfang von PGP hinausgehen.
Auch Signaturverfahren hängen immer eng mit Public-Key-Kryptographie zusammen. Bei digitalen Signaturen ist RSA das bekannteste Verfahren. Als Signatur wird dabei die Kodierung mit dem privaten Schlüssel der Nachricht bezeichnet. Der Sender „unterschreibt“ seine Nachricht mit RSA und kodiert sie auf diesem Weg. Danach kann er die Nachricht verschicken. Echtheit und Identität der Nachricht werden vom Empfänger mit seinem öffentlichen Schlüssel überprüft.
RSA gilt als altes, aber bewährtes Signaturverfahren. Alternativen, die nach einem sehr ähnlichen Verfahren digitale Signaturen erzeugen bzw. erkennen, sind DSA (Digital Signature Algorithm) und ElGamal.
Ein konkretes Beispiel für kryptographische Protokolle ist die Verschlüsselung mit SSL/TLS. Das Netzwerkprotokoll gewährleistet eine sichere Kommunikation – beispielsweise zwischen Webserver und Browser. Gleichzeitig wird die Authentizität des Servers sichergestellt. Dafür greift SSL/TLS auf eine hybride Verschlüsselung zurück, nutzt also sowohl das asymmetrische als auch symmetrische Verfahren. Der Public Key wird von einer Zertifizierungsstelle signiert, das daraus resultierende Zertifikat wird wiederum verschlüsselt. Das Zertifikat kann danach nur durch den öffentlichen Schlüssel der Zertifizierungsstelle geöffnet werden. Der Webserver übersendet hierfür beispielsweise seinen zertifizierten öffentlichen Schlüssel an den Browser, der das Zertifikat prüft. Ist das Zertifikat gültig, generiert der Browser einen symmetrischen Schlüssel und übersendet ihn an den Webserver. Beide verwenden nun für den Rest der SSL/TLS-Sitzung diesen gemeinsamen Schlüssel zur symmetrischen Verschlüsselung ihres Datenverkehrs.
RSA gilt als altes, aber bewährtes Signaturverfahren. Alternativen, die nach einem sehr ähnlichen Verfahren digitale Signaturen erzeugen bzw. erkennen, sind DSA (Digital Signature Algorithm) und ElGamal.
Ein konkretes Beispiel für kryptographische Protokolle ist die Verschlüsselung mit SSL/TLS. Das Netzwerkprotokoll gewährleistet eine sichere Kommunikation – beispielsweise zwischen Webserver und Browser. Gleichzeitig wird die Authentizität des Servers sichergestellt. Dafür greift SSL/TLS auf eine hybride Verschlüsselung zurück, nutzt also sowohl das asymmetrische als auch symmetrische Verfahren. Der Public Key wird von einer Zertifizierungsstelle signiert, das daraus resultierende Zertifikat wird wiederum verschlüsselt. Das Zertifikat kann danach nur durch den öffentlichen Schlüssel der Zertifizierungsstelle geöffnet werden. Der Webserver übersendet hierfür beispielsweise seinen zertifizierten öffentlichen Schlüssel an den Browser, der das Zertifikat prüft. Ist das Zertifikat gültig, generiert der Browser einen symmetrischen Schlüssel und übersendet ihn an den Webserver. Beide verwenden nun für den Rest der SSL/TLS-Sitzung diesen gemeinsamen Schlüssel zur symmetrischen Verschlüsselung ihres Datenverkehrs.
Was sind die Vor- und Nachteile von asymmetrischer Kryptographie?
Der größte Nachteil der Public-Key-Kryptographie ist die langsame Geschwindigkeit bei der Verschlüsselung. Außerdem wird erheblich mehr Rechenleistung benötigt. Deshalb wurde, wie bei dem oben angeführten Beispiel der SSL-Verschlüsselung, ein hybrides System entwickelt, das symmetrische und asymmetrische Systeme kombiniert. Probleme der Vergangenheit wie eine unsichere Authentifizierung und die hohe Anfälligkeit für Malware wurden bereits durch digitale Zertifikate und Signaturen sowie ID-basierte Kryptosysteme gelöst.
Um die Vorteile aus beiden Welten zu haben, empfiehlt sich die hybride Verschlüsselung. Die asymmetrische Kryptographie übernimmt dabei die Aufgabe der Schlüsselverteilung. Dadurch wird die umständliche Übergabe von Private Keys eines symmetrischen Kryptosystems übergangen. Das Resultat: eine sichere, schnelle und praktische Verschlüsselung.