GnuPG kann noch mehr! GnuPG trägt dazu bei, dass man überprüfen kann, ob eine Datei oder auch eMail sich noch im Orignalzustand befindet, als die zugehörige Signatur erstellt wurde.
Wird beispielsweise eine signierte Datei "Test.txt", zu der es die Signatur "Test.txt.asc" gibt, verändert, dann signalisiert das bei einer Überprüfung GnuPG. Hintergrund ist hierbei, dass die im Zeitpunkt der Überprüfung generierte Signatur nicht mehr dieselben Zahlen generiert, die die Orignalsignatur einhält und somit ein Vergleich beider Signaturen fehlschlägt.
Wie das aussieht, demonstrieren wir an einer Datei "Test.txt" mit dem Inhalt
Das ist ein geheimer Testtext.
Anschliessend erzeugen wir die Signatur "Test.txt.asc", dabei wird unser Standardschlüssel zur Signierung verwendet.
gpg --armor --detach-sign Test.txt
You need a passphrase to unlock the secret key for
user: "Max.Mustermann@linuxmaker.com"
1024-bit DSA key, ID G45ZK41, created 2007-12-09
Das Ergebnis ist die Datei Test.txt.asc, die diesen Inhalt besitzt
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.4.6 (GNU/Linux)
iD8DBQBHYkdyC3muasQQUJMRAoVKAKCHF5UrD6RdOurkX28OElgsDqxX/Q
CfdiqdnYZUjrhuUwHxeiiFCQ/ljGQ=
=70XJ
-----END PGP SIGNATURE-----
Bezieht jetzt der Andere die Datei Test.txt und die Signatur Test.txt.asc, dann kann er wie folgt die Echtheit der ersten Datei überprüfen:
gpg --verify Test.txt.asc < Test.txt
Das liefert folgende Ausgabe:
gpg: Signature made Fr 14 Dez 2007 10:05:54 CET using DSA key ID G45ZK41
gpg: Good signature from "Max.Mustermann@linuxmaker.com"
Jetzt verändern wir einfach in unserer Datei den Inhalt insoweit, dass wir aus dem Wort "Das" das Wort "Dies" machen. Wir ändern also einen Buchstaben und fügen einen weiteren hinzu.
Der Signaturtest
gpg --verify Test.txt.asc < Test.txt
liefert dann
gpg: Signature made Fr 14 Dez 2007 10:05:54 CET using DSA key ID G45ZK41
gpg: BAD signature from "Max.Mustermann@linuxmaker.com"
Damit dürfte wohl eindeutig sein, dass hier eine Manipulation vorliegt. Das funktioniert auch mit eMails und man Beides: Man kann signieren und verschlüsseln.
Damit erreichen Sie einen idealen Status, der dem Empfänger signalisiert, dass das von Ihnen kommende Dokument nicht nur von Ihnen stammt (Fingerprint), sondern, sofern der Signaturtest positiv ausfällt, auch im Orignalzustand ist.
Also, signierte eMails sind sozusagen eMails, die Sie mit einem Siegel versehen haben, ähnlich wie ein Notar.