Eine digitale Unterschrift oder Signatur ist am ehesten mit einem
Siegel zu vergleichen. Mit dem Siegel wird die Integrität eines
Dokumentes bestätigt, das sich in einem Umschlag befindet, und
ermöglicht, dass sich eine nachträgliche Manipulation feststellen
läßt. Wenn das Dokument nachfolgend in irgendeiner Weise verändert
wird, ergibt die Prüfung der Signatur ein negatives Ergebnis.
Außerdem ermöglicht die Signatur eine zweifelsfreie Zuordnung des
Absenders. Eine digitale Unterschrift kann so demselben Zweck wie
eine handgeschriebene Unterschrift dienen mit dem zusätzlichen
Vorteil, eine Handhabe gegen Verfälschung zu bieten. Die
GnuPG-Quelltextdistribution ist [eg] so unterschrieben, dass die
Benutzer nachprüfen können, dass der Quelltext nachträglich nicht
verändert worden ist und auch wirklich vom GnuPG-Team stammt.
Die rechtliche Verbindlichkeit von digitalen Unterschriften ist
von Land zu Land verschieden. In Deutschland ist das
Signaturgesetz augenblicklich einer Novellierung unterworfen.
Weitere Informationen und Quellenverweise finden Sie in Kapitel 4.
Bei der Erzeugung und Prüfung von Unterschriften benutzt man das
öffentlich/geheime Schlüsselpaar anders als bei der Ver- und
Entschlüsselung. Die Unterschrift wird hier mit dem geheimen
Schlüssel des Unterzeichnenden erzeugt und dann jeweils mit dem
entsprechenden öffentlichen Schlüssel geprüft. So würde
beispielsweise Alice ihren geheimen Schlüssel benutzen, um ihren
letzten Beitrag für eine Zeitschrift zu signieren. Der Redakteur,
der Alices Artikel bearbeitet, benutzt dann ihren öffentlichen
Schlüssel, um die Unterschrift zu prüfen und so sicherzustellen,
daß der Beitrag wirklich von Alice selbst stammt und auch nicht
nachträglich verändert worden ist.
Als Konsequenz aus der Verwendung digitaler Signaturen ergibt
sich, dass sich kaum abstreiten läßt, dass man eine digitale
Unterschrift geleistet hat, da dies ja bedeuten würde, dass der
geheime Schlüssel kompromittiert wurde.
Die Kommandozeilen-Option --sign wird zum Erzeugen einer
digitalen
Unterschrift verwendet. Mit der Option --output
legen Sie fest, in welche Datei das signierte Dokument geschrieben
wird.
user@linux ~$
gpg --output doc.sig --sign doc
Sie benötigen ein Mantra, um den geheimen Schlüssel zu entsperren. Benutzer: "Alice (Rechtsanwältin) <alice@cyb.org>" 1024-bit DSA Schlüssel, 1024D/FB5797A9, erzeugt 2000-06-06
Geben Sie das Mantra ein:
|
Das Dokument wird vor dem Unterschreiben komprimiert und die
Ausgabe erfolgt im binären Format.
Haben Sie ein unterschriebenes Dokument erhalten, können Sie die
Unterschrift prüfen, und zwar optional ohne oder mit Entnahme des
unterschriebenen Originaldokumentes. Zur bloßen Überprüfung der
Unterschrift benutzen Sie die Option --verify.
Wenn Sie außerdem das unterzeichnete Dokument entnehmen wollen,
verwenden Sie die Option --decrypt.
user@linux ~$
gpg --output doc --decrypt doc.sig
gpg: Unterschrift vom Die 06 Jun 2000 17:19:52 CEST, DSA Schlüssel ID FB5797A9 gpg: Korrekte Unterschrift von "Alice (Rechtsanwältin) <alice@cyb.org>"
|
In Fällen, in denen es unerwünscht ist, das Dokument beim
Unterschreiben zu komprimieren, benutzt man die Option
--clearsign. Das bewirkt, dass eine in ASCII
dargestellte Signatur das Dokument wie ein Briefumschlag umgibt,
das Dokument an sich aber nicht verändert wird. Der Vorteil
dieses Verfahrens ist, dass der Empfänger das Dokument auch ohne
Prüfung der Signatur lesen kann.
user@linux ~$
gpg --clearsign doc
Sie benötigen ein Mantra, um den geheimen Schlüssel zu entsperren. Benutzer: "Alice (Rechtsanwältin) <alice@cyb.org>" 1024-Bit DSA Schlüssel, ID FB5797A9, erzeugt 2000-06-06
Geben Sie das Mantra ein:
|
GnuPG markiert dann im Klartext den Anfang des signierten
Dokuments und hängt am Ende einen Block mit der eigentlichen
OpenPGP-Signatur an.
-----BEGIN PGP SIGNED MESSAGE----- Hash: SHA1
Hier steht irgend ein von GnuPG signierter Text [...] -----BEGIN PGP SIGNATURE----- Version: GnuPG v1.0.1 (GNU/Linux) Comment: For info see http://www.gnupg.org
iD8DBQE5Pf40WyoKbftXl6kRAsWJAJ4hj7FzPX8M9MWZav9u6yjbHXWGKwCfSiKA wTaJ/lfY1ETv3R/uJrtGTbI= =BDOH -----END PGP SIGNATURE-----
|
|
Der Nachteil bei signierten Dokumenten ist, dass der Empfänger das
Originaldokument aus der unterschriebenen Version erst
wiederherstellen muß bzw. bei einem im Klartext unterschriebenen
Dokument dieses gegebenenfalls noch editieren muß. Deshalb gibt
es als Drittes noch die Möglichkeit, Dokumente mit abgetrennter
Unterschrift zu signieren. Dazu verwendet man die Option
--detach-sig. Die Signatur wird dann in einer
separaten Datei abgelegt. Das eigentliche Dokument bleibt
unverändert.
user@linux ~$
gpg --output doc.sig --detach-sig doc
Sie benötigen ein Mantra, um den geheimen Schlüssel zu entsperren. Benutzer: "Alice (Rechtsanwältin) <alice@cyb.org>" 1024-Bit DSA Schlüssel, ID FB5797A9, erzeugt 2000-06-06
Geben Sie das Mantra ein:
|
Um die Signatur zu prüfen, benötigen Sie sowohl das eigentliche
Dokument als auch die abgetrennte Unterschrift. Die Option
--verify kann zum Prüfen der Signatur benutzt
werden.
user@linux ~$ gpg --verify doc.sig doc
gpg: Unterschrift vom Die 06 Jun 2000 17:34:43 CEST, DSA Schlüssel ID FB5797A9 gpg: Korrekte Unterschrift von "Alice (Rechtsanwältin) <alice@cyb.org>"
|
|
|