Login
Newsletter
Werbung

Fr, 18. Februar 2005, 00:00

Der GNU Privacy Guard

Doch - Vorsicht: Zusatzwissen! - was passiert beim Signieren überhaupt? Digitale Signaturen sind eigentlich nur mit asymmetrischen Verfahren so zu erreichen, dass sie den Ansprüchen an Unterschriften gerecht werden. Zuerst wird von der Datei ein nicht umkehrbarer Hashwert über eine Einweg-Hashfunktion wie z.B. MD5 (gilt mittlerweile als unsicher) oder SHA* (SHA-1 ebenfalls) ermittelt. Salopp gesagt: Bilden Sie von einer 10-stelligen Zahl die Quersumme - das ist einfach - und dann versuchen Sie mal aus ihrer Quersumme die 10-stellige Ausgangszahl zu ermitteln (ohne sie zu kennen) - da wird es schon schwerer :-) Das leistet im Grunde die Hashfunktion. Der Hashwert wird daraufhin mit Hilfe des geheimen Schlüssels entschlüsselt - dass er gar nicht verschlüsselt ist, spielt dabei keine Rolle. Beim Überprüfen der Signatur wird sie mit dem öffentlichen Schlüssel wieder verschlüsselt (man erhält den Hashwert) und von der erhaltenen Datei wir ebenfalls der Hashwert gebildet. Die beiden Hashwerte werden verglichen. Sind sie identisch, dann ist - bei guter Hashfunktion - die Wahrscheinlichkeit sehr groß, dass die erhaltene Datei der Originaldatei entspricht. Gibt es Abweichungen, so ist eindeutig belegt, dass die Datei verändert wurde.

Die Hashfunktion ist notwendig. Würde man sie weglassen und direkt die Datei zum Signieren entschlüsseln, so hätte man das Problem, dass ein Angreifer über die Signatur Rückschlüsse auf ihren geheimen Schlüssel machen kann. Daher sollte auch der Hashwert möglichst nicht umkehrbar sein. Außerdem geht das Entschlüsseln des Hashwertes um einiges schneller, als riesige Dokumente zu entschlüsseln.

Analog zu dem weiter oben erwähnten --encrypt-files (um mehrere Dateien zu verschlüsseln) gibt es auch --decrypt-files (entschlüsseln), --verify-files (Signaturen überprüfen) und irgendwann vielleicht auch Entsprechendes für -s und -b, was in Version 1.4.0 leider noch nicht möglich ist.

Beim Verschlüsseln sollte man wissen, dass die verschlüsselten Dateien bzw. E-Mails wirklich nur der Empfänger entschlüsseln kann, also, wenn man dieser nicht ist, kann man sie auch selbst nicht mehr lesen (z.B. eine Kopie einer gesendeten verschlüsselten Mail wird lokal archiviert, und man will diese später wieder lesen). Um das zu ändern, ergänzt man encrypt-to <em>eigeneID</em> in der ~/.gnupg/gpg.conf. So wird zusätzlich der eigene öffentliche Schlüssel zum Verschlüsseln mitverwendet. Möchte man darauf in Ausnahmefällen wieder verzichten, so gibt man die Option --no-encrypt-to an.

Möchte man Daten gar nicht weitergeben, sondern nur vor fremden Zugriffen schützen, so kann man GnuPG auch symmetrisch verschlüsseln lassen. Dazu dient das gpg-Kommando --symmetric (kurz: -c).

~$ gpg -o gnupg.wml.gpg -c gnupg.wml
Geben Sie die Passphrase ein:

Als Passphrase wird natürlich nicht die Passphrase des geheimen Schlüssels verlangt, sondern eine frei erdachte, die nur für dieses eine Dokument gelten sollte. Entschlüsselt wird, wie auch bei der asymmetrischen Verschlüsselung, mit -d, nur dass eben die dokumentspezifische Passphrase angegeben werden muss.

Voreingestellter Verschlüsselungsalgorithmus für -c ist übrigens CAST5. Mit der Option --cipher-algo <em>Algorithmus</em> darf man einen anderen Algorithmus wählen. Meiner GnuPG-Version stehen zum Beispiel 3DES, BLOWFISH, AES, AES192, AES256 und TWOFISH als Alternativen zur Verfügung. Diese Information erhält man mit gpg --version.

Web of Trust

Ich erwähnte schon das Web-of-Trust. Ein OpenPGP-Nutzer vertraut einem anderen, indem er seine Schlüssel signiert. Das »Vertrauen« bezieht sich hierbei auf das Wissen, dass genau dieser Nutzer auch hinter diesem Schlüssel steckt und kein Man-in-the-Middle oder eine Spaßidentität. Das Vertrauen bezieht sich hier also nicht auf persönliches Vertrauen. Somit kann man auch ohne Bedenken fremde Personen und ihre Schlüssel überprüfen und sie dann signieren. Durch starke Verwebungen im Web-of-Trust wird es auch schwer, dieses Netz wieder zu zerstören: ein kompromittierter (geknackter) Schlüssel bringt nicht das gesamte System zu Fall.

Keysigning-Partys

Keysigning-Partys (kurz: KSP) sind leider viel zu seltene gesellschaftliche Ereignisse. Auf dem Linuxtag in Karlsruhe und auf dem Chaos Communication Congress waren im Jahr 2004 wohl größere Ereignisse dieser Art. Zu einer Keysigning-Party treffen sich Menschen aus allen Gegenden, um sich gegenseitig zu signieren. Die Motivationen sind unterschiedlich: die Stärkung und Ausweitung des Web-of-Trusts, das Erhöhen des eigenen Ranges in Key-Analysen, ... - für einige ist es auch einfach nur eine Art Sport, möglichst viele Signaturen zu ergattern. Wenn Sie viele Signaturen haben, haben auch Menschen, die Sie nicht signiert haben, einen Anhaltspunkt, dass Sie auch wirklich Sie sind. Allerdings ist das noch kein Grund, Sie einfach so ohne Kontrolle zu signieren, denn das würde eine Abschwächung des Web-of-Trusts bedeuten, da die Schwelle zum Signieren sinkt - Ihre ganzen Signaturen könnten ja auch von Menschen sein, die mit Ihnen unter einer Decke stecken :-) Nebenbei kann man auf Keysigning-Partys einige neue, vielleicht auch interessante, Leute kennen lernen. Durch Keysigning-Partys werden auch manchmal mehrere kleinere Web-of-Trusts zu einem großen zusammengeführt bzw. vom so genannten »Strong Set« aufgesogen.

Wie laufen also solche Keysigning-Partys ab? Meist steht alles Wichtige dazu auf der Website einer solchen Veranstaltung und meist ist dort auch ein Link auf das GnuPG Keysigning-Party HOWTO zu finden. In dem ist eigentlich alles Wichtige beschrieben, trotzdem hier eine kurze, grobe Zusammenfassung...

Als erstes sollte man seinen öffentlichen Schlüssel an den Koordinator (Veranstalter, Organisator, ...) oder auf einen Keyserver schicken - das ist von KSP zu KSP unterschiedlich. Bei der Lösung über den Keyserver muss man sich dennoch anmelden, da der Aufwand einer KSP riesig wäre, wenn alle unangemeldet kämen. Vom Veranstalter wird zu gegebenem Zeitpunkt eine Liste veröffentlicht, die alle Teilnehmer enthält. Diese Liste ist, wenn sie im Internet veröffentlicht wird, auszudrucken und mitzunehmen. Manchmal wird sie auch direkt vor der Veranstaltung unter den Teilnehmern verteilt.

Kommentare (Insgesamt: 0 )
Pro-Linux
Pro-Linux @Facebook
Neue Nachrichten
Werbung