Fachkonzept - Signiersysteme
Ein System zur Erzeugung einer digitalen Signatur
Ein Signiersystem wird benutzt, um Integrität, Authentizität und Verbindlichkeit beim elektronischen Nachrichtenaustausch zu gewährleisten. Zur Erinnerung:
Integrität: Die Nachricht, die man erhält, ist von keiner dritten Person manipuliert worden.
Authentizität: Die Nachricht, die man erhält, stammt wirklich von der Person, die als Absender angegeben ist.
Verbindlichkeit: Der Urheber kann nachträglich nicht bestreiten, die Nachricht verfasst zu haben.
Ein Signiersystem ist ein System, das elektronische Dokumente mit einer digitalen Signatur versieht. Diese digitale Signatur wird bei der Überprüfung des Nachrichtenaustauschs auf Integrität, Authentizität und Verbindlichkeit benutzt.
Ein Signiersystem benutzt in der Regel eine Hash-Funktion (siehe die nächsten Abschnitte), um eine Art Fingerabdruck des zu signierenden Textes zu erstellen. Mit Hilfe eines Schlüsselpaares bestehend aus einem öffentlichen und einem privaten Schlüssel wird aus dem Fingerabdruck dann die digitale Signatur erstellt. Die Vorgehensweise soll anhand des in der Abbildung gezeigten Szenarios beschrieben werden.
Alice will eine signierte Nachricht an Bob senden.
In einem ersten Schritt erzeugt sie mit Hilfe einer Hash-Funktion einen Fingerabdruck des zu versendenden Textes. Bei dem Fingerabdruck handelt es sich um ein Bitmuster, das dem Text zugeordnet wird.
Diesen Fingerabdruck verschlüsselt Alice mit ihrem privaten Schlüssel. Das Ergebnis ist ein Bitmuster, das die digitale Signatur zum vorgegebenen Text bildet.
Alice sendet jetzt den Text mit der digitalen Signatur an Bob.
Wie überprüft Bob die Integrität der erhaltenen Nachricht?
Bob benutzt dieselbe Hash-Funktion wie Alice, um einen Fingerabdruck zum übermittelten Text zu erzeugen.
Bob ist im Besitz des öffentlichen Schlüssels von Alice und benutzt ihn, um die übermittelte Signatur zu entschlüsseln.
Wenn die Nachricht nicht verändert wurde, dann erhält Bob durch die Entschlüsselung der Signatur den von Alice erzeugten Fingerabdruck zum versendeten Text. Dieser ist dann identisch mit dem von Bob bestimmten Fingerabdruck zum empfangenen Text.
Wenn die Nachricht in Teilen verändert wurde, dann müsste das Bob beim Vergleich der Fingerabdrücke auffallen. Wenn Mr(s) X. z.B. den Text abändert, dann ändert sich auch der Fingerabdruck zum Text. Mr(s) X. kann zwar einen Fingerabdruck zum veränderten Text erzeugen, Mr(s) X. kann ihn aber nicht passend verschlüsseln, da Mr(s) X. keinen Zugang zum privaten Schlüssel von Alice hat (davon gehen wir hier natürlich aus). Mr(s) X. ist demnach nicht in der Lage, ein stimmiges Paar bestehend aus einem veränderten Text und einer hierzu passenden mit dem privaten schlüssel von Alice erzeugten Signatur zu erzeugen.
Bob kann zudem die Authentizität der Nachricht überprüfen, d.h., ob die Nachricht tatsächlich von Alice stammt. Nur Alice hat Zugriff auf ihren privaten Schlüssel (davon gehen wir hier aus). Wenn Bob den öffentlichen Schlüssel von Alice benutzt (und dieser tatsächlich auch von Alice stammt), dann passt dieser öffentliche Schlüssel nur zum privaten Schlüssel von Alice. Bob erhält nur dann identische Fingerabdrücke, wenn der gesendete Text mit dem privaten Schlüssel von Alice - also von Alice - signiert wurde.
Da nur Alice Zugriff auf ihren privaten Schlüssel hat, kann Alice nachträglich nicht bestreiten, die signierte Nachricht an Bob verschickt zu haben. Mit der digitalen Signatur wird also auch die Verbindlichkeit des Nachrichtenaustauschs garantiert.