LINUXMAKER, OpenSource, Tutorials

Signieren von Dateien

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.

Signieren einer Datei

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-----
 

Überprüfen der Signatur

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"

Signatur einer veränderten Datei

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.