Kryptographie des öffentlichen Schlüssels
Die Kryptografie befasst sich mit dem Schutz von Informationen durch die Verwendung von Codes und Verschlüsselung. In seiner einfachsten Form ist ein Code ein Vorgang, bei dem Informationen in geordneter Weise so verändert werden, dass sie für Dritte unlesbar sind.
Der Vorgang, bei dem die Informationen mit einem Code verändert werden, wird als Verschlüsselung bezeichnet, der umgekehrte Vorgang als Entschlüsselung. Die ursprüngliche Nachricht wird als „Klartext“ bezeichnet, während die veränderte Nachricht als „verschlüsselter Text“ bezeichnet wird. Die Information, die verwendet wird, um Klartext in verschlüsselten Text umzuwandeln, wird als Schlüssel bezeichnet, und die besondere Art und Weise, in der ein Schlüssel die Information verändert, wird als Algorithmus bezeichnet.
Die Kryptographie mit öffentlichem Schlüssel stellt eine bedeutende Innovation dar, da sie den Ver- und Entschlüsselungsprozess grundlegend verändert.
Anstelle eines einzigen gemeinsamen geheimen Schlüssels werden zwei Schlüssel verwendet. Einer davon, der sogenannte „private Schlüssel“, bleibt geheim. Es wird nicht zwischen den Parteien geteilt, sondern nur von einer Partei gehalten. Der andere, der „öffentliche Schlüssel“, ist nicht geheim und kann weit verbreitet werden.
Diese beiden Schlüssel oder „Schlüsselpaar“ werden bei der Ver- und Entschlüsselung gemeinsam verwendet und stehen in einer besonderen gegenseitigen Beziehung, so dass sie nur in Verbindung mit dem anderen Schlüssel verwendet werden können. Diese Beziehung bindet die Schlüssel ausschließlich aneinander: der öffentliche Schlüssel und der zugehörige private Schlüssel sind gepaart und stehen in keiner Beziehung zu anderen Schlüsseln.
Diese Paarung ist durch eine besondere mathematische Beziehung zwischen den Algorithmen möglich, so dass ihre gemeinsame Verwendung das gleiche Ergebnis erzielt wie die doppelte Verwendung eines symmetrischen Schlüssels.
Die Schlüssel müssen zusammen verwendet werden, da der private Schlüssel nicht verwendet werden kann, um seine eigene Operation rückgängig zu machen, da er immer nur in eine Richtung wirkt. Darüber hinaus sind die von beiden Schlüsseln verwendeten Algorithmen so konzipiert, dass der eine nicht zur Ermittlung des anderen im Paar verwendet werden kann, d. h. der private Schlüssel kann nicht aus dem öffentlichen Schlüssel ermittelt werden, da der öffentliche Schlüssel die mathematische Komplexität und seine einseitige Wirkung nutzt, um auszugleichen, dass er bekannt ist.
Aufgrund der besonderen Beziehung zwischen dem privaten und dem öffentlichen Schlüssel im Schlüsselpaar ist es für eine Einheit (Person, Benutzer, Gerät) möglich, dasselbe Schlüsselpaar mit vielen anderen Einheiten zu verwenden, anstatt mit jeder einzelnen einen anderen Schlüssel zu verwenden.
Solange der private Schlüssel geheim bleibt, kann der öffentliche Schlüssel an eine beliebige Anzahl von Personen weitergegeben und sicher verwendet werden. Diese Eigenschaft stellt einen großen Fortschritt in der Kryptographie dar, da sie den Nutzwert erheblich steigert, indem sie die Anforderungen an die Schlüsselverwaltung deutlich reduziert.
Unterstützung von digitalen Signaturen
Der Kern der digitalen Signatur ist die Möglichkeit, den Absender einer Nachricht eindeutig zu identifizieren, was durch die gegenseitige Beziehung im Schlüsselpaar bei der Kryptographie des öffentlichen Schlüssels möglich ist.
Da der private Schlüssel nur einer einzigen Einheit gehört, kann bei jeder Verwendung davon ausgegangen werden, dass er nur von seinem Besitzer verwendet wurde. Auf diese Weise wirkt seine Verwendung wie eine Unterschrift auf einem Blatt Papier, da nur sein Besitzer dies tun kann, was seine Authentizität bestätigt.
Wenn ein bestimmter öffentlicher Schlüssel erfolgreich beim Ver- und Entschlüsseln verwendet wird, kann daraus gefolgert werden, dass der entsprechende private Schlüssel für einen Teil des Vorgangs verwendet wurde. Da nur der Schlüsselbesitzer den privaten Schlüssel verwenden kann, bedeutet dies, dass nur der Schlüsselbesitzer einen Teil des Vorgangs durchgeführt haben kann.
Die Verwendung eines privaten Schlüssels zur Feststellung der Identität zeigt, dass der gesamte Ver- und Entschlüsselungsvorgang erfolgreich war. Der Nachweis des vollständigen Vorgangs setzt voraus, dass der Klartext mit einem privaten Schlüssel in einen verschlüsselten Text umgewandelt und dann mit dem entsprechenden öffentlichen Schlüssel entschlüsselt werden muss.
Um eine vollständige erfolgreiche Ver- und Entschlüsselung nachzuweisen, muss der Nachrichtentext beim Absender mit dem Text übereinstimmen, den der Empfänger nach der Entschlüsselung erhält. Die beiden Textnachrichten müssen direkt miteinander verglichen werden und absolut übereinstimmen. Daher ist es notwendig, ein Kontrollelement für den Vergleich und die Validierung zu verwenden.
Bei der Verwendung der E-Mail ist das Kontrollelement und die Validierung des Datenaustauschs zwischen einem Absender und einem Empfänger die Nachricht selbst: wenn der Vorgang erfolgreich war, ist sie auf beiden Seiten verfügbar.
Für diesen Vergleich wird die Nachricht in einen „Hash“ umgewandelt, der eine numerische Darstellung des vollständigen Textes ist. Ein identischer Nachrichtentext ergibt identische Hash-Werte.
Durch die Kombination des Hash-Wertes der Nachricht mit dem privaten Schlüssel zum Zeitpunkt des Versands beweist der Besitzer des privaten Schlüssels, dass nur er die Nachricht gesendet hat.
Die Kombination der Nachricht mit dem privaten Schlüssel wird durch Verschlüsselung des Hash-Werts mit dem privaten Schlüssel des Absenders erreicht, wodurch die eigentliche digitale Signatur entsteht. Je nachdem, wie das E-Mail-System des Absenders konfiguriert ist, wird die digitale Signatur entweder an das Ende der Nachricht angehängt, so dass eine „eindeutige Signatur“ entsteht, oder das Ergebnis wird mit der ursprünglichen Nachricht in einem binären Anhang kombiniert, so dass eine „undurchsichtig signierte“ Nachricht entsteht; letzteres wird hauptsächlich für sichere E-Mails (S/MIME) verwendet.
Eindeutig signierte Nachrichten können von allen E-Mail-Clients gelesen werden (unabhängig davon, ob sie S/MIME-kompatibel sind oder nicht). Ihr grundsätzlicher Nachteil ist das Risiko, dass die an der Kommunikation beteiligten Mail-Gateways die Nachricht verändern und damit die Signatur ungültig machen. Diese Art von Signatur verhält sich in der Praxis wie eine unsignierte Nachricht.
Im Gegensatz dazu ist es bei undurchsichtigen signierten Nachrichten wesentlich unwahrscheinlicher, dass sie während der Übertragung verändert werden, da der Text und die digitale Signatur als ein einziger binärer Anhang behandelt werden; dabei können nur sichere E-Mail-Clients (die S/MIME unterstützen) die Nachricht lesen.
Wenn der Empfänger eine Nachricht erhält, kann er die digitale Signatur abrufen und den öffentlichen Schlüssel des Absenders bei der Entschlüsselung verwenden, um den ursprünglichen Hash-Wert der Nachricht zu erhalten. Anschließend muss er den erhaltenen Hash-Wert mit dem Hash-Wert der empfangenen Nachricht vergleichen.
Da nur ein privater Schlüssel mit einem öffentlichen Schlüssel übereinstimmen kann und nur der Besitzer des öffentlichen Schlüssels diesen zur erfolgreichen Verschlüsselung des Hash-Wertes verwenden kann, zeigt die Entschlüsselung des Hash-Wertes mit dem öffentlichen Schlüssel, dass der Besitzer des privaten Schlüssels den Hash-Wert tatsächlich verschlüsselt hat.
Da der Hash-Wert eine numerische Darstellung des Nachrichtentextes ist, beweist sein Vergleich, dass der Text der gesendeten Nachricht mit dem empfangenen Text übereinstimmt und beim Senden nicht verändert wurde. In Verbindung mit der Tatsache, dass nur der Besitzer des privaten Schlüssels die Nachricht abgesendet haben kann, kann der Empfänger sicher feststellen, wer die Nachricht abgeschickt hat, was die Authentizität und damit die Nichtabstreitbarkeit beweist.
Er zeigt auch, dass die Nachricht nicht verändert wurde, was die Datenintegrität gewährleistet: wenn die Hash-Werte nicht übereinstimmen, weiß der Empfänger, dass die Nachricht während der Übertragung geändert wurde oder dass der verwendete öffentliche Schlüssel nicht mit dem verwendeten privaten Schlüssel übereinstimmt; in beiden Fällen gilt die Nachricht als ungültig.
Die logische Abfolge der digitalen Signatur mit den Unterstützungsfunktionen der Kryptographie des öffentlichen Schlüssels kann wie folgt verstanden werden:
- Die Nachricht (unsigniert) wird erfasst.
- Es wird der Hash-Wert des Nachrichtentexts berechnet.
- Der private Schlüssel des Absenders wird abgerufen.
- Der Hash-Wert wird mit dem privaten Schlüssel des Absenders verschlüsselt.
- Der verschlüsselte Hash-Wert wird der Nachricht als digitale Signatur hinzugefügt.
- Die signierte Nachricht wird gesendet.
Für den Empfänger wiederum gilt die folgende Prüffolge:
- Die signierte Nachricht wird empfangen.
- Die Nachricht und die digitale Signatur, die den verschlüsselten Hash-Wert enthält, werden abgerufen.
- Es wird der Hash-Wert des Nachrichtentexts berechnet.
- Der öffentliche Schlüssel des Absenders wird abgefragt.
- Der Hash-Wert wird mit dem öffentlichen Schlüssel des Absenders entschlüsselt.
- Der entschlüsselte Hash-Wert wird mit dem Hash-Wert des empfangenen Texts verglichen. Wenn die Werte übereinstimmen, ist die Nachricht gültig.
Die Kryptographie des öffentlichen Schlüssels bietet die Funktionen, die einer digitalen Signatur ihre wichtigsten Sicherheitsleistungen erteilen: Authentifizierung, Nichtabstreitbarkeit und Datenintegrität.