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, da� 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 z.B. so unterschrieben, da� die Benutzer nachpr�fen k�nnen, da� 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, da� sich kaum abstreiten l��t, da� man eine digitale Unterschrift geleistet hat, da dies ja bedeuten w�rde, da� 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.
alice$ gpg --output doc.sig --sign doc Sie ben�tigen ein Mantra, um den geheimen Schl�ssel zu entsperren. Benutzer: ``Alice (Rechtsanw�ltin) <[email protected]>'' 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.
blake$ 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) <[email protected]>''
In F�llen, in denen es unerw�nscht ist, das Dokument beim Unterschreiben zu komprimieren, benutzt man die Option --clearsign. Das bewirkt, da� 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, da� der Empf�nger das Dokument auch ohne Pr�fung der Signatur lesen kann.
alice$ gpg --clearsign doc Sie ben�tigen ein Mantra, um den geheimen Schl�ssel zu entsperren. Benutzer: ``Alice (Rechtsanw�ltin) <[email protected]>'' 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, da� 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.
alice$ gpg --output doc.sig --detach-sig doc Sie ben�tigen ein Mantra, um den geheimen Schl�ssel zu entsperren. Benutzer: ``Alice (Rechtsanw�ltin) <[email protected]>'' 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.
blake$ 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) <[email protected]>''