[Gpg4win-users-de] Frage zum Regelwerk - Verwendung von Algorithmen

Bernhard Reiter bernhard at intevation.de
Mo Feb 8 10:09:51 CET 2016


Hallo Klara,

On Sunday 07 February 2016 at 11:54:53, Klara Hofmann wrote:
> Ich sshe mir gerade GPG an (Installation von gpg4win), und möchte meine
> erste Frage an euch richten.

gern! Alle Fragen sind willkommen!

(Deine finde ich schon sehr technisch, wenn Dir hier die Antworten
nicht ausreichen, dann ist die Englische gnupg-users Mailinglist
die nächste Anlaufstelle!)

> Zum Wording (um Missverständnisse zu vermeiden):
> Zertifikat = Signatur an der Benutzer-ID eines Schlüssels
> Eigenzertifikat = Zertifikat, das man selbst (implizit bei der
> Schlüsselerzeugung) für seinen Schlüssel erstellt hat.
> Signatur: Sagnatur von Daten/Dateien
> Schlüssel: Objekt entweder im öffentlichen oder im privaten Schlüsselbund.

> Ich möchte das Regelwerk der Ermittlung des symmetrischen Algorithmus,
> Hashalgorithmus und Kompressionsalgorithmus besser verstehen, den GnuPG
> tatsächlich verwendet, wenn ich verschlüssle.

Dann gehe ich mal davon aus, dass Du das Verschlüsseln mit einem 
asymmetrischen Verfahren meinst. Dabei verschlüsselst Du an ein Zertifikat
des Kommunikationspartners, sagen wir mal mit RSA. Mit RSA wird dann ein 
Sitzungsschlüssel verschlüsselt, mit welchem die eigentlichen Daten
per symmetrischem Verfahren verschlüsselt werden.

> 1. Also mit --default-preference-list (ich vermute am besten in der
> Konfigurationsdatei?) teile ich GnuPG meine Wunsch-Prioritätenliste
> betreffend aller Algorithmenarten (symmetrisch Verschlüsseln, Hashen,
> Komprimieren) mit. GnuPG respektiert diesen Wunsch nach Möglichkeit,
> wenn *ich* verschlüssle, signiere etc.
> Diese Wunschliste hat also den Sinn: Wenn ich selbst symmetrisch
> verschlüssle, hätte ich gern, dass sich GnuPG möglichst an diese Listre
> hält.

> 2. Mit --edit-key --> setpref schreibe ich für andere Benutzer ebenfalls
> meine Wunsch-Prioritätenliste für die drei Algorithmenarten in das
> Eigenzertifikat (self signature) meines Schlüssels rein.

Nicht ganz. Soweit ich weiß kannst Du durch Dein "Eigenzertifikat"
die Präferenz in Deinem Zertifikat angeben. --default-preference-list
gibt an, was bei der Erzeugung eines (neuen) Zertifikats von Dir da dann 
reingeschrieben wird. Mit --edit-key --> setpref kannst Du das nachträglich 
ändern.

Somit sind --default-preference-list und --edit-key --> setpref
beides dafür da dem Kommunikationspartner Deine Wunschliste mitzuteilen.


> Diese 
> Wunschliste hat den Sinn: Wenn andere Benutzer mir verschlüsselte Daten
> schicken, dann hätte ich gerne, dass sie (d.h. deren GnuPG-Installation)
> diese Wunschliste respektieren.

Ja.

> Wenn ich nun symmetrisch verschlüssle (und das tue ich ja immer, sobald
> ich verschlüssle, denn "asymmetrische" Verschlüsselung = bei GnuPG
> *hybride* Verschlüsselung), dann sieht sich GnuPG meine Präferenzenliste
> an (--default-preference-list), des Weiteren die Präferenzenliste im
> Eigenzertifikat des Fremdschlüssels, mit dem ich verschlüssle. Dann
> sieht GPG nach, ob es eine nicht-leere Schnittmenge an jeweils
> bevorzugten Algorithmen gibt. Wenn nicht leer: Welcher symmetrische
> Algorithmus gewinnt dann? Immer der Algorithmus des Absenders? Oder der
> des Empfängers?
> Wenn leer: Es wird der jeweilige kleinste gemeinsame Nenner verwendet,
> den der OpenPGP-Standard empfiehlt: z.B. 3DES im Falle von symmetrischer
> Verschlüsselung.
>
> Sehe ich das alles richtig?

Nein,
meiner Interpretation der Dokumentation nach, sind beide Optionen 
für das Setzen der Präferenz im Zertifikat zuständig, nicht
für Deine eigenen Präferenzen.

Du kannst mit --disable- Optionen und Weiteren 
so eine Art eigene Präferenz einstellen.

> 3. Mit den drei Optionen --cert-digest-algo, --cipher-algo,
> --compress-algo kann ich in der Kommandozeile erzwingen, welcher
> Algoithmus für diese konkrete Aktion verwendet wird, da wird das
> Regelwerkk (1, 2) praktisch umgangen.

Ja, so verstehe ich das auch.

> Die Vorrangregeln, nach denen sich GnuPG bei der Ermittlung des zu
> verwendenden Algorithmus beachtet, scheinen demnach wie folgt zu sein:
>
> [i] Der mit --cert-digest-algo, --cipher-algo, --compress-algo
> angegebene Algorithmus
> [ii] Der Algorithmus, der in dem Regelwerk oben (1, 2) ermittelt wurde.

Es gibt noch andere Optionen, welche das Auswahlverhalten beeinflussen,
wie --rfc4880, --openpgp, --rfc2440, --rfc1991  [...]

> Habe ich das Ganze verstanden, oder liege ich völlig daneben?

(Soweit ich das aus Deiner Email gesehen habe:)
Du liegt bei der Bedeutung von --default-preference-list daneben,
hast aber die Bedeutung der [i] Optionen erkannt.

GnuPG ist eine Software mit einigen Funktionen -- die Dokumentation ist in der 
Regel gut, es lohnt sie zu lesen. Insbesondere die "texinfo" Dokumentation.
Danach ist oft der Blick in den Quelltext ein gutes Mittel, um herausbekommen,
was wirklich passiert. Dank Freie Software ist das ja möglich.

GnuPG selbst und Gpg4win versuchen ja die nötige Komplexität vor den Nutzenden 
zu verstecken und nur für die Interessierten bereit zu halten.


Gruß,
Bernhard

-- 
www.intevation.de/~bernhard (CEO)    www.fsfe.org (Founding GA Member)
Intevation GmbH, Osnabrück, Germany; Amtsgericht Osnabrück, HRB 18998
Owned and run by Frank Koormann, Bernhard Reiter, Dr. Jan-Oliver Wagner
-------------- nächster Teil --------------
Ein Dateianhang mit Binärdaten wurde abgetrennt...
Dateiname   : signature.asc
Dateityp    : application/pgp-signature
Dateigröße  : 473 bytes
Beschreibung: This is a digitally signed message part.
URL         : <http://lists.wald.intevation.org/pipermail/gpg4win-users-de/attachments/20160208/57ce6710/attachment.sig>


Mehr Informationen über die Mailingliste Gpg4win-users-de