kmail signaturverfahren

Mathias Bauer mbauer at gmx.org
Mo Apr 7 05:23:58 CEST 2014


Hallo!

* Sandro Knauß schrieb am So, 30. Mär 2014, um 12:59 (+0200):

> ich selber beschäftige mich mit dem crypto support von kmail
> und hier ist eine Frage aufgetaucht, die ich auch nach
> Recherchen nicht vollständig beantworten kann. Nämlich, wo ist
> der Unterschied zwischen clearsign und binary Signaturen.
>
> RFC 3156 [1] spricht leider kein bevorzugtes Signaturverfahren
> aus.

RFC 3156 "MIME Security with OpenPGP" hat mit "clearsign" nichts
zu tun.  Der von dir zitierte Abschnitt 5 enthält sogar explizit:

   When the OpenPGP digital signature is generated:
   [...]
   (6) The signature MUST be generated detached from the signed
       data so that the process does not alter the signed data in
       any way.

Du meinst vermutlich clear text-Signaturen, wie sie gpg
--clearsign erzeugt, oder?

> Und so kam es wie es kommen musste :) thunderbird/enigmail
> erzeugt clearsign mode und kmail den binary mode.

Was kam?  Bitte verwende die Terminologie genauer, da es sonst
nur Missverständnisse gibt.  Einen "binary mode" gibt es im
Zusammenhang mit GnuPG-Signaturen nicht.  GnuPG bzw. der OpenPGP-
Standard RFC 4880 unterscheiden zwischen Signaturen von
Binärdokumenten und "canonical text"-Dokumenten; in Abschnitt
5.2.1 gibt es noch weitere Typen.

Grundsätzlich muss man zwischen zwei Seiten unterscheiden,
zwischen GnuPG und dem jeweiligen Mailprogramm:

GnuPG kann "clear text" Signaturen erstellen, oder losgelöste
("detached") Signaturen, die wiederum im ASCII- oder Binärformat
als separate Dateien erzeugt werden.  Was dabei signiert wird ist
egal.  Es funktioniert z. B.

  $ gpg --clearsign --output ls.clearsig /bin/ls

was eine Binärdatei liefert auch wenn sie die bekannten und
lesbaren Anfangs- und Endteile besitzt.  Trotzdem ist das
Ergebnis eine Signatur vom Typ "canonical text document".

Mailprogramme behandeln Signaturen, zunächst einmal ganz grob
formuliert, wie alle anderen Daten auch.  Beim Versand wird alles
für den Transport geeignet konvertiert und verpackt und beim
Empfänger an die "lokale (System-)Umgebung" ausgepackt und
angepasst.  Für alle diese Vorgänge gibt es Standards und nicht
jedes Mailprogramm kennt bzw. befolgt diese genau.

Komplizierter wird es mit Signaturen.  Macht sich ein
Mailprogramm die Arbeit einfach, lässt es GnuPG vom Text (mit gpg
--clearsign...) eine clear text-Signatur erstellen und verschickt
diese anstelle des ursprünglichen Texts.  Ein Problem ist
offensichtlich: Text ist nicht gleich Text (z. B. Kodierung in
UTF-8 auf der Sender- und in ISO-8859-1 auf Empfängerseite).  Die
Prüfung der Signatur wird fehlschlagen, obwohl der Text nicht
verändert wurde...

Kurz: Clear text-Signaturen (oder Inline-PGP, wie es manchmal
auch genannt wird) und E-Mail sind problematisch!

Daniel Kahn Gillmor hat weitere Probleme zusammengefasst:
https://dkg.fifthhorseman.net/notes/inline-pgp-harmful
https://www.debian-administration.org/users/dkg/weblog/108

> Es wäre jedoch nicht schlimm, wenn alles glatt laufen
> würde. Jedoch ist der binary mode deutlich strenger was
> erlaubte Veränderungen angeht,

Bitte genauer!  Was würde "glatt laufen" und was sollen "erlaubte
Veränderungen" sein?  Das ist, gelinde gesagt, mehrdeutig.
Entweder kann eine Signatur korrekt überprüft werden oder nicht.
Abstufungen ("strenger") machen hier keinen Sinn.

> so dass thunderbird öfters mails als "ungültige signatur"
> anzeigt [2].  Obwohl cmd line und auch kmail eine korrete
> Signatur anzeigen[3].

Sowohl Thunderbird/Enigmail als auch KMail beherrschen PGP/MIME:
http://kde.org/applications/internet/kmail
https://www.enigmail.net/documentation/per-account.php

Offenbar geht es um (Kodierungs-)Probleme von Mailprogrammen und
ist daher eher OT auf einer GnuPG-Mailinglisten - zumindest
solange nicht der Zusammenhang genauer oder eine Fragestellung
konkreter beschrieben wird.

> Gibt es irgendwelche Recommends, welchen mode ein Mailprogramm
> nutzen sollte?

Ja, eindeutig PGP/MIME.

> Welche Veränderungen sind im clearsign mode alles erlaubt?  Ist
> dies die richtige Mailingliste; oder doch eher -devel?

Was meinst du mit Veränderungen?  Im Zusammenhang mit Signaturen
s. o.

Die Themen Kodierungen, Zeilenumbrüche, etc. betreffen alle eher
die "E-Mail-Seite" als die von GnuPG.  Das Bindeglied ist der
schon erwähnte RFC 3156.

Viele Grüße
Mathias



Mehr Informationen über die Mailingliste Gnupg-de