Ein Schlüssel ist eine Gruppe von zufälligen Zeichen in einer bestimmten Reihenfolge. Verschlüsselungsprotokolle verwenden einen Schlüssel, um Daten so zu ändern, dass sie verschlüsselt werden und jemand ohne den Schlüssel die Informationen nicht entschlüsseln kann.
Nach Lektüre dieses Artikels können Sie Folgendes:
Ähnliche Inhalte
Abonnieren Sie theNET, Cloudflares monatliche Zusammenfassung der beliebtesten Einblicke in das Internet!
Link zum Artikel kopieren
Ein kryptografischer Schlüssel ist eine Zeichenfolge, die in einem Verschlüsselungsalgorithmus verwendet wird, um Daten so zu ändern, dass sie zufällig erscheinen. Wie mit einem physischer Schlüssel werden die Daten gesperrt (verschlüsselt), sodass nur jemand mit dem richtigen Schlüssel sie entsperren (entschlüsseln) kann.
Die Originaldaten werden als Klartext bezeichnet, die Daten nach der Verschlüsselung mit dem Schlüssel als Chiffretext.
Die Formel:
plaintext
+ key
= ciphertext
Vor dem Aufkommen von Computern wurde Chiffretext oft durch einfaches Ersetzen eines Buchstabens durch einen anderen Buchstaben im Klartext erzeugt, eine Methode, die als „Substitutionschiffre“ bezeichnet wird. Angenommen, jemand schickt einer anderen Person die Nachricht „Hello“, und jeder Buchstabe wird durch den im Alphabet nachfolgenden ersetzt: Aus „Hello“ wird „Ifmmp“.
H | E | L | L | O |
+1 | +1 | +1 | +1 | +1 |
I | F | M | M | P |
„Ifmmp“ sieht wie eine unsinnige Buchstabenfolge aus, aber wenn jemand den Schlüssel kennt, kann er die richtigen Buchstaben ersetzen und die Nachricht als „Hello“ entschlüsseln. In diesem Beispiel lautet der Schlüssel (Buchstabe) - 1, wobei jeder Buchstabe im Alphabet um eine Stelle nach oben verschoben wird, um zum eigentlichen Buchstaben zu gelangen.
I | F | M | M | P |
-1 | -1 | -1 | -1 | -1 |
H | E | L | L | O |
Solche Chiffren sind mit einer einfachen statistischen Analyse relativ leicht zu knacken, da bestimmte Buchstaben in einem bestimmten Text häufiger vorkommen als andere (z. B. ist E der häufigste Buchstabe in der englischen Sprache). Um dem entgegenzuwirken, haben Kryptografen ein System entwickelt, das als One-Time-Pad bezeichnet wird.
Ein One-Time-Pad ist ein Schlüssel zur einmaligen Verwendung, der mindestens so viele Werte hat, wie der Klartext Zeichen enthält. Mit anderen Worten: Jeder Buchstabe wird durch einen Buchstaben ersetzt, der eine einmalige Anzahl von Positionen von ihm im Alphabet entfernt ist.
Angenommen, jemand muss die Nachricht „Hello“ verschlüsseln und verwendet ein One-Time-Pad mit den Werten 7, 17, 24, 9, 11.
H | E | L | L | O |
7 | 17 | 24 | 9 | 11 |
Während wir zuvor einfach jeden Buchstaben (Buchstabe + 1) eine Position nach oben verschoben haben, verschieben wir jetzt jeden Buchstaben eine andere Anzahl von Stellen im Alphabet. Wir addieren 7 zum ersten Buchstaben, H; wir addieren 17 zum zweiten Buchstaben; und so weiter. Für alle Berechnungen, die über Z hinausgehen, gehen wir einfach zum Anfang des Alphabets zurück und addieren weiter.
H | E | L | L | O |
7 | 17 | 24 | 9 | 11 |
O | V | J | U | Z |
Ausgehend vom Klartext „Hello“ haben wir nun mit dem Schlüssel „7, 17, 24, 9, 11“ den Chiffretext „Ovjuz“ erhalten.
Damit die Kommunikation mithilfe eines One-Time-Pad funktioniert, müssen beide Seiten der Konversation für jede einzelne Nachricht denselben Schlüssel verwenden (symmetrische Verschlüsselung), während jedes Mal ein anderer Schlüssel verwendet wird, wenn eine neue Nachricht eintrifft. Obwohl „Ovjuz“ für Dritte wie zufälliger Unsinn aussieht, wird die Person, die den Chiffretext „Ovjuz“ erhält, wissen, dass sie den Schlüssel „7, 17, 24, 9, 11“ zum Entschlüsseln verwenden muss (subtrahieren statt addieren):
O | V | J | U | Z |
7 | 17 | 24 | 9 | 11 |
H | E | L | L | O |
So kann eine einfache Nachricht durch eine Folge von zufälligen Daten, einen Schlüssel, geändert werden, um verschlüsselt oder entschlüsselt zu werden.
Obwohl die obigen Beispiele der frühen Kryptografie veranschaulichen, wie die Verwendung einer zufälligen Informationsfolge zur Umwandlung von Klartext in Chiffretext funktioniert, sind kryptografische Schlüssel heute weitaus komplexer.
Der öffentliche Schlüssel einer Website könnte zum Beispiel so aussehen:
04 CE D7 61 49 49 FD 4B 35 8B 1B 86 BC A3 C5 BC D8 20 6E 31 17 2D 92 8A B7 34 F4 DB 11 70 4E 49 16 61 FC AE FA 7F BA 6F 0C 05 53 74 C6 79 7F 81 12 8A F7 E2 5E 6C F5 FA 10 69 6B 67 D9 D5 96 51 B0 (aus dem cloudflare.com SSL-Zertifikat im Jahr 2019 kopiert)
Dies ist sehr viel komplexer als der Schlüssel „7 17 24 9 11“, den wir oben zur Verschlüsselung von „Hello“ verwendet haben.
Anstatt einfach nur zu addieren oder zu subtrahieren, verwendet die moderne Verschlüsselung komplexe mathematische Formeln, die als Algorithmen bezeichnet werden. Und anstelle einer einfachen Folge von Zufallszahlen für einen Schlüssel zu verwenden, werden moderne Schlüssel in der Regel noch weiter randomisiert.
Dies ist aus mehreren Gründen der Fall:
In Kombination mit einem Verschlüsselungsalgorithmus verschlüsselt ein kryptografischer Schlüssel einen Text bis zur Unkenntlichkeit.
Es gibt zwei Arten von Verschlüsselung: symmetrische Verschlüsselung und asymmetrische Verschlüsselung, auch als Verschlüsselung mit öffentlichem Schlüssel bezeichnet. Bei der symmetrischen Verschlüsselung verwenden beide Seiten einer Konversation denselben Schlüssel, um Klartext in Chiffretext umzuwandeln und umgekehrt.
Bei der asymmetrischem Verschlüsselung oder Public-Key-Verschlüsselung verwenden die beiden Seiten der Konversation jeweils einen anderen Schlüssel. Dabei wird ein Schlüssel als öffentlicher Schlüssel bezeichnet und ein Schlüssel als privater Schlüssel – so genannt, weil eine der Parteien ihn geheim hält und ihn niemals mit jemandem teilt. Wenn Klartext mit dem öffentlichen Schlüssel verschlüsselt wird, kann ihn nur der private Schlüssel entschlüsseln, nicht der öffentliche Schlüssel.
SSL (oder TLS, wie es heute genannt wird) ist ein Verschlüsselungsprotokoll, das verwendet wird, um die Internetkommunikation sicher zu halten Eine Website, die über HTTPS statt über HTTP bereitgestellt wird, verwendet diese Art der Verschlüsselung. In TLS/SSL hat eine Website oder Webanwendung sowohl einen öffentlichen als auch einen privaten Schlüssel. Der öffentliche Schlüssel wird im SSL-Zertifikat der Website öffentlich zugänglich gemacht, damit jeder ihn sehen kann. Der private Schlüssel wird auf dem Ursprungsserver installiert und nie weitergegeben.
TLS/SSL-Kommunikationssitzungen beginnen mit einem TLS-Handshake, bei dem die Website und der Client den öffentlichen Schlüssel und den privaten Schlüssel verwenden, um neue Schlüssel zu generieren, die als Sitzungsschlüssel bezeichnet werden. Diese Sitzungsschlüssel werden dann von beiden Seiten verwendet, um ihre Nachrichten hin und her zu verschlüsseln.
Also beginnt TLS mit einer asymmetrischen Verschlüsselung (mit zwei Schlüsseln) und wechselt zur symmetrischen Verschlüsselung (mit einem Schlüssel). Beide Seiten verwenden während der Kommunikationssitzung dieselben Schlüssel, aber wenn sie eine neue Sitzung starten, generieren sie gemeinsam neue Schlüssel.