Wie funktioniert die Verschlüsselung mit öffentlichen Schlüsseln? / Public Key Kryptographie und SSL
Was ist Public Key Verschlüsselung?
Public Key encryption oder Public Key cryptography ist eine Methode, um Daten mit zwei verschiedenen Schlüsseln zu verschlüsseln und einen der Schlüssel, den öffentlichen Schlüssel, für jedermann zugänglich 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 und mit dem privaten Schlüssel verschlüsselte Daten nur mit dem öffentlichen Schlüssel entschlüsselt werden. Die Verschlüsselung mit öffentlichem Schlüssel wird auch als asymmetrische Verschlüsselung bezeichnet., Es ist weit verbreitet, insbesondere für TLS / SSL, was HTTPS ermöglicht.
Was ist ein kryptographischer Schlüssel?
In der Kryptographie ist ein Schlüssel eine Information, die zum Verschlüsseln von Daten verwendet wird, so dass sie zufällig erscheint.oft ist es eine große Zahl oder eine Reihe von Zahlen und Buchstaben. Wenn unverschlüsselte Daten, auch Klartext genannt, mithilfe des Schlüssels in einen Verschlüsselungsalgorithmus eingegeben werden, wird der Klartext auf der anderen Seite als zufällig aussehende Daten ausgegeben. Jeder, der den richtigen Schlüssel zum Entschlüsseln der Daten hat, kann ihn jedoch wieder in Klartext einfügen.,
Klartext + key = Chiffretext:
hello + 2jd8932kd8 = X5xJCSycg14=
Chiffretext + key = Klartext:
X5xJCSycg14= + 2jd8932kd8 = hello
(Dies ist ein Beispiel für symmetrische Verschlüsselung, bei der nur ein Schlüssel verwendet wird.)
* Mit Blowfish algorithmus, CBC modus, Base64 encoding.
Wie funktioniert die Verschlüsselung mit öffentlichen Schlüsseln?
Public-key-Kryptographie kann kompliziert erscheinen für den Laien nicht; glücklicherweise ein Autor namens Panayotis Vryonis kam mit einer Analogie, die grob geht wie folgt.
Stellen Sie sich einen Kofferraum mit einem Schloss vor, mit dem zwei Personen, Bob und Alice, Dokumente hin und her versenden., Ein typisches Schloss hat nur zwei Zustände: gesperrt und entsperrt. Jeder mit einer Kopie des Schlüssels kann den Kofferraum entsperren, wenn er gesperrt ist, und umgekehrt. Als Bob den Kofferraum sperrt und an Alice sendet, weiß er, dass Alice ihre Kopie des Schlüssels verwenden kann, um den Kofferraum zu entsperren. So funktioniert im Wesentlichen die sogenannte symmetrische Kryptographie: Ein geheimer Schlüssel wird sowohl zum Verschlüsseln als auch zum Entschlüsseln verwendet, und beide Seiten einer Konversation verwenden denselben Schlüssel.
Stellen Sie sich nun stattdessen vor, dass Bob einen Kofferraum mit einer besonderen Art von Schloss macht. Diese Sperre hat drei Zustände anstelle von zwei:
- A., Verriegelt, Schlüssel ganz nach links gedreht
- B. Entriegelt, in der Mitte.
- C. Verriegelt, Schlüssel ganz nach rechts gedreht.
Anstelle eines schlüssels gehen zwei schlüssel mit diesem schloss:
- Schlüssel No. 1 kann nur nach links
- Schlüssel No. 2 kann nur nach rechts
Dies bedeutet, dass, wenn der kofferraum gesperrt ist und der schlüssel ist gedreht zu position A, nur schlüssel No. 2 können entsperren es durch drehen rechts, zu position B (entsperrt). Wenn der Kofferraum in Position C verriegelt ist, kann nur der Schlüssel Nr.,
Mit anderen Worten, jeder Schlüssel kann den Kofferraum sperren – aber sobald er gesperrt ist, kann nur der andere Schlüssel ihn entsperren.
Nehmen wir an, Bob macht ein paar Dutzend Kopien von Key No. 2, dem Schlüssel, der nur rechts abbiegt, und teilt sie mit jedem, den er kennt, und jedem, der eine Kopie möchte, und macht sie zu seinem öffentlichen Schlüssel. Er behält Schlüssel Nr. 1 für sich – es ist sein privater Schlüssel. Was bewirkt das?
- Alice kann Bob vertrauliche Daten über den Kofferraum senden und sicher sein, dass nur Bob sie entsperren kann., Sobald Alice den Kofferraum mit dem öffentlichen Schlüssel verriegelt hat, der sich von links nach rechts dreht, kann nur ein Schlüssel, der sich von rechts nach links drehen kann, ihn entsperren. Das bedeutet, nur Bobs privater Schlüssel kann ihn entsperren.
- Alice kann sicher sein, dass der Kofferraum tatsächlich von Bob stammt und kein Imitator, wenn er mit seinem privaten Schlüssel gesperrt ist. Es gibt nur einen Schlüssel, der den Kofferraum so verriegeln kann, dass sich das Schloss in Position A befindet oder ganz nach links gedreht wird: Bobs privater Schlüssel. Zwar kann jeder es mit dem öffentlichen Schlüssel entsperren, indem er den Schlüssel nach rechts dreht, aber es ist garantiert, dass der Kofferraum von Bob stammt.,
Ersetzen Sie Klartextdaten für den Stamm und kryptografische Schlüssel für die physischen Schlüssel aus dieser Analogie, und so funktioniert die Kryptographie mit öffentlichen Schlüsseln. Nur der Besitzer des privaten Schlüssels kann Daten verschlüsseln, so dass der öffentliche Schlüssel sie entschlüsselt; Inzwischen kann jeder Daten mit dem öffentlichen Schlüssel verschlüsseln, aber nur der Besitzer des privaten Schlüssels kann sie entschlüsseln.
Daher kann jeder Daten sicher an den privaten Schlüsselinhaber senden., Außerdem kann jeder überprüfen, ob die Daten, die er vom Eigentümer des privaten Schlüssels erhält, tatsächlich von dieser Quelle stammen und nicht von einem Imitator (siehe Was ist ein On-Path-Angriff?).
Wie verwendet TLS / SSL die Verschlüsselung mit öffentlichen Schlüsseln?
Public-key-Verschlüsselung ist äußerst nützlich für die sichere Kommunikation über das Internet (via HTTPS). Das SSL/TLS – Zertifikat einer Website, das öffentlich freigegeben wird, enthält den öffentlichen Schlüssel, und der private Schlüssel ist auf dem Ursprungsserver installiert-er gehört der Website.,
TLS-Handshakes verwenden die Kryptographie mit öffentlichen Schlüsseln, um die Identität des Ursprungsservers zu authentifizieren und Daten auszutauschen, die zum Generieren der Sitzungsschlüssel verwendet werden. Ein Schlüsselaustauschalgorithmus wie RSA oder Diffie-Hellman verwendet das öffentlich-private Schlüsselpaar, um Sitzungsschlüssel zu vereinbaren, die nach Abschluss des Handshakes für die symmetrische Verschlüsselung verwendet werden. Clients und Server können sich für jede Kommunikationssitzung auf neue Sitzungsschlüssel einigen, sodass schlechte Akteure die Kommunikation nicht entschlüsseln können, selbst wenn sie einen der Sitzungsschlüssel identifizieren oder stehlen.