Jeder Nutzer hat einen privaten Schlüssel (eng. private key) und einen öffentlichen Schlüssel (eng. public key). Den privaten Schlüssel kennt nur der Besitzer. Den öffentlichen Schlüssel kennt im Gegensatz jeder.Bevor wir genauer auf die Funktionsweise eingehen, müssen wir den Hash-Wert verstehen.
Hash-Wert
Ein Hash-Wert ist eine generierte Zeichenkette auf ein Dokument oder Text mit einer festen Länge. Dieser Prozess kann nicht rückgängig gemacht werden. Jede Eingabe erzeugt einen anderen Hash-Wert. Somit ist der erzeugte Hash-Wert eines Dokumentes eindeutig und kann theoretisch nur beim Erzeugen des Hash-Wertes des exakt gleichen Dokument erzeugt werden.
Verschlüsselung
So kann ein beliebiger Nutzer eine Nachricht mit dem öffentlichen Schlüssel eines zweiten Nutzers verschlüsseln. Dieser zweite Nutzer kann nun mit seinen privaten Schlüssel die Nachricht wieder entschlüsseln. Alle anderen Nutzer sehen auch die verschlüsselte Nachricht, aber können diese nicht entschlüsseln.
Auch kann eine Nachricht mit dem privaten Schlüssel verschlüsselt werden. Nun können alle mit dem öffentlichen Schlüssel des Nutzers die Nachricht entschlüsseln und können die Integrität der Nachricht bestätigen (Nachricht kommt vom Nutzer).
Digitale Signatur
Erstellen:
- Für ein Dokument wird ein Hash-Wert erzeugt
- Dieser wid mit dem privaten Schlüssel des Unterzeichners verschlüsselt (Signatur)
- Nun wird das Dokument mit der Signatur veröffentlicht
Prüfen:
- Ein Nutzer kann die Signatur mit dem öffentlichen Schlüssel des Unterzeichners entschlüsseln und erhält den ursprüngliche Hash-Wert
- Nun erzeugt er einen Hash-Wert für das veröffentlichte Dokument und vergleicht diesen mit dem entschlüsselten Hash-Wert
- Falls die Hash-Werte übereinstimmen, handelt es sich um das nicht manipulierte veröffentlichte Dokument des Unterzeichners
Zertifikate
Erhalt:
- Der Betreiber einer Website erstellt ein Schlüsselpaar
- Seinen öffentlichen Schlüssel und Adresse (Domain) sendet er zu einer Zertifizierungsstelle
- Die Zertifizierungsstelle erstellt ein Zertifikat
- Sie signiert den öffentlichen Schlüssel und Adresse des Betreibers mit dem privaten Schlüssel der Zertifizierungsstelle
- Der Webserver des Betreibers kann jedem das Zertifikat zusenden
Prüfen:
- Ein Nutzer fragt die Website des Betreibers an und erhält das Zertifikat
- Dieses kann er mit den öffentlichen Schlüssel der Zertifizierungsstelle entschlüsseln und erhält den öffentlichen Schlüssel sowie die Adresse
- Die erhaltende Adresse vergleicht er mit der besuchten Adresse und kann feststellen, ob zu der Website das gesendete Zertifikat gehört
- Mit dem öffentlichen Schlüssel kann der Nutzer den Website Inhalt, der mit dem privaten Schlüssel des Betreibers verschlüsselt wurde, entschlüsseln