Die Verschlüsselung mit öffentlichem Schlüssel, auch als asymmetrische Verschlüsselung bezeichnet, verwendet zwei separate Schlüssel anstelle eines gemeinsamen Schlüssels: einen öffentlichen und einen privaten Schlüssel. Die Verschlüsselung mit öffentlichem Schlüssel ist eine wichtige Technologie für die Internetsicherheit.
Nach Lektüre dieses Artikels können Sie Folgendes:
Link zum Artikel kopieren
Die Verschlüsselung mit öffentlichem Schlüssel (oder Public-Key-Kryptografie) ist eine Methode, Daten mit zwei verschiedenen Schlüsseln zu verschlüsseln und einen der Schlüssel, den öffentlichen Schlüssel, für jedermann verfügbar zu machen. Der andere Schlüssel wird als privater Schlüssel bezeichnet. Mit dem öffentlichen Schlüssel verschlüsselte Daten können nur mit dem privaten Schlüssel entschlüsselt werden, und mit dem privaten Schlüssel verschlüsselte Daten können nur mit dem öffentlichen Schlüssel entschlüsselt werden. Die Verschlüsselung mit öffentlichem Schlüssel wird auch als asymmetrische Verschlüsselung bezeichnet. Sie ist weit verbreitet, insbesondere für TLS/SSL, was HTTPS ermöglicht.
In der Kryptografie ist ein Schlüssel eine Information, die zum Verschlüsseln von Daten verwendet wird, damit diese zufällig erscheinen; oft handelt es sich dabei um eine große Zahl oder eine Folge von Zahlen und Buchstaben. Wenn unverschlüsselte Daten, auch Klartext genannt, mit Hilfe des Schlüssels in einen Verschlüsselungsalgorithmus eingegeben werden, wird der Klartext als zufällig aussehende Daten ausgegeben. Jeder, der den richtigen Schlüssel zum Entschlüsseln der Daten hat, kann sie jedoch wieder in Klartextform bringen.
Angenommen, wir nehmen eine Klartextnachricht, „Hallo“, und verschlüsseln sie mit einem Schlüssel*; sagen wir, der Schlüssel lautet „2jd8932kd8“. Mit diesem Schlüssel verschlüsselt, lautet unser einfaches „Hallo“ nun „X5xJCSycg14=“, was wie zufälliger Datenmüll erscheint. Wenn wir es jedoch mit demselben Schlüssel entschlüsseln, erhalten wir „Hallo“ zurück.
Klartext + Schlüssel = Chiffretext:
Hallo + 2jd8932kd8 = X5xJCSycg14=
Chiffretext + Schlüssel = Klartext:
X5xJCSycg14= + 2jd8932kd8 = Hallo
(Dies ist ein Beispiel für eine symmetrische Verschlüsselung, bei der nur ein Schlüssel verwendet wird.)
*Unter Verwendung des Blowfish-Algorithmus, CBC-Modus, Base64-Kodierung.
Kryptografie mit öffentlichem Schlüssel kann für Uneingeweihte komplex erscheinen. Glücklicherweise hat der Autor Panayotis Vryonis eine Analogie gefunden, die in etwa folgendermaßen lautet.
Stellen Sie sich einen mit einem Schloss versehenen Koffer vor, den zwei Personen, Bob und Alice, benutzen, um Dokumente hin und her zu befördern. Ein typisches Schloss hat nur zwei Zustände: verriegelt und entriegelt. Jeder, der eine Kopie des Schlüssels hat, kann den Koffer aufschließen, wenn er verriegelt ist, und umgekehrt. Wenn Bob den Koffer verriegelt und an Alice schickt, weiß er, dass Alice ihre Kopie des Schlüssels verwenden kann, um den Koffer aufzuschließen. So funktioniert im Wesentlichen die so genannte symmetrische Kryptografie: Ein geheimer Schlüssel wird sowohl zum Verschlüsseln als auch zum Entschlüsseln verwendet, und beide Seiten einer Konversation verwenden den gleichen Schlüssel.
Stellen Sie sich nun stattdessen vor, dass Bob einen Koffer mit einer besonderen Art von Schloss herstellt. Dieses Schloss hat drei statt zwei Zustände:
Anstelle eines Schlüssels gehören zu diesem Schloss zwei Schlüssel:
Das bedeutet, wenn der Koffer verriegelt und der Schlüssel in Position A gedreht ist, kann man ihn nur mit Schlüssel Nr. 2 aufschließen, indem Nr. 2 nach rechts in Position B (entriegelt) gedreht wird. Wenn der Koffer in Position C verriegelt ist, kann man ihn nur mit Schlüssel Nr. 1 aufschließen, indem dieser nach links in Position B gedreht wird.
Mit anderen Worten, jeder Schlüssel kann den Koffer aufschließen – aber sobald er mit einem Schlüssel verriegelt ist, kann ihn nur der andere Schlüssel aufschließen.
Nehmen wir nun an, Bob stellt ein paar Dutzend Kopien von Schlüssel Nr. 2 her, dem Schlüssel, der sich nur nach rechts drehen lässt, und er verteilt die Kopien an alle, die er kennt und die eine Kopie haben möchten. Dadurch wird dieser Schlüssel zu seinem öffentlichen Schlüssel. Er behält Schlüssel Nr. 1 für sich – das ist sein privater Schlüssel. Was bringt das?
Ersetzen Sie den Koffer dieser Analogie durch Klartextdaten und die physischen Schlüssel durch kryptografische Schlüssel: So funktioniert Kryptografie mit einem öffentlichen Schlüssel. Nur der Besitzer des privaten Schlüssels kann Daten verschlüsseln, sodass der öffentliche Schlüssel sie entschlüsselt. Gleichzeitig kann jeder mit dem öffentlichen Schlüssel Daten verschlüsseln, aber nur der Besitzer des privaten Schlüssels kann sie entschlüsseln.
Daher kann jeder Daten sicher an den Besitzer des privaten Schlüssels senden. Außerdem kann jeder überprüfen, ob die Daten, die er vom Besitzer des privaten Schlüssels erhält, tatsächlich von dieser Quelle stammen und nicht von einem Imitator (siehe Was ist ein On-Path-Angriff?).
Die Verschlüsselung mit öffentlichem Schlüssel ist äußerst nützlich für den Aufbau einer sicheren Kommunikation über das Internet (über HTTPS). Das SSL/TLS-Zertifikat einer Website, das öffentlich zugänglich ist, enthält den öffentlichen Schlüssel, und der private Schlüssel ist auf dem Ursprungsserver installiert – er ist „Eigentum“ der Website.
TLS-Handshakes verwenden Kryptografie mit öffentlichem Schlüssel zur Authentifizierung der Identität des Ursprungsservers und zum Austausch von Daten, die für die Generierung der Sitzungsschlüssel verwendet werden. Ein Schlüsselaustausch-Algorithmus wie RSA oder Diffie-Hellman verwendet das öffentlich-private Schlüsselpaar zur Vereinbarung von Sitzungsschlüsseln, die nach Abschluss des Handshakes zur symmetrischen Verschlüsselung verwendet werden. Clients und Server sind in der Lage, sich für jede Kommunikationssitzung auf neue Sitzungsschlüssel zu einigen, sodass böswillige Akteure nicht in der Lage sind, die Kommunikation zu entschlüsseln, selbst wenn sie einen der Sitzungsschlüssel identifizieren oder stehlen.
Vertrieb
Über SSL/TLS
Navigation Infocenter