Wie funktioniert die Verschlüsselung mit öffentlichem Schlüssel? | Kryptografie mit öffentlichem Schlüssel und SSL

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.

Share facebook icon linkedin icon twitter icon email icon

Verschlüsselung mit öffentlichem Schlüssel

Lernziele

Nach Lektüre dieses Artikels können Sie Folgendes:

  • Sie können die Verschlüsselung mit öffentlichem Schlüssel definieren
  • Sie verstehen, wie die Verschlüsselung mit öffentlichem Schlüssel funktioniert
  • Sie wissen, warum die Verschlüsselung mit öffentlichem Schlüssel für das TLS/SSL-Protokoll unerlässlich ist

Was ist Verschlüsselung mit öffentlichem Schlüssel?

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.

Was ist ein kryptografischer Schlüssel?

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.

Wie funktioniert die Verschlüsselung mit öffentlichem Schlüssel?

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:

  • A. Verriegelt, Schlüssel ganz nach links gedreht.
  • B. Entriegelt, in der Mitte.
  • C. Verriegelt, Schlüssel ganz nach rechts gedreht.
SSL Lock Analogy

Anstelle eines Schlüssels gehören zu diesem Schloss zwei Schlüssel:

  • Schlüssel Nr. 1 kann nur nach links gedreht werden
  • Schlüssel Nr. 2 kann nur nach rechts gedreht werden

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?

  1. Alice kann Bob vertrauliche Daten mithilfe des Koffers schicken und sicher sein, dass nur Bob ihn aufschließen kann. Sobald Alice den Koffer mit dem öffentlichen Schlüssel verriegelt hat, der sich von links nach rechts drehen lässt, kann ihn nur ein Schlüssel aufschließen, der sich von rechts nach links drehen lässt. Das bedeutet, dass nur Bobs privater Schlüssel den Koffer aufschließen kann.
  2. Alice kann sicher sein, dass der Koffer wirklich von Bob stammt und nicht von einem Imitator, wenn er mit Bobs privatem Schlüssel verriegelt ist. Es gibt nur einen Schlüssel, mit dem der Koffer so verriegelt werden kann, dass sich das Schloss in Position A befindet bzw. ganz nach links gedreht ist: Bobs privater Schlüssel. Zwar kann jeder ihn mit dem öffentlichen Schlüssel aufschließen, indem er den Schlüssel nach rechts dreht, aber es ist garantiert, dass der Koffer von Bob stammt.

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 Man-in-the-Middle-Angriff?).

Wie verwendet TLS / SSL die Verschlüsselung mit öffentlichem Schlüssel?

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.