zur Startseitezur Info-Startseite

OpenPGP vs. S/MIME (X.509)

OpenPGP ist eins von zwei verbreiteten Verfahren zur Verschlüsselung und Signatur von E-Mails, das andere ist S/MIME. Allgemein gilt OpenPGP bei Privatanwendern als deutlich weiter verbreitet, in (großen) Unternehmen wird dagegen ganz überwiegend S/MIME verwendet, zumal dieselbe Technik / Infrastruktur (SSL/TLS) auch für gesicherte Verbindungen im Internet (v.a. zu Webservern (https) und Mailservern) verwendet wird.

Qualifizierte Signaturen kann man derzeit mit OpenPGP nicht erzeugen, sondern nur mit S/MIME, was aber primär rechtliche und weniger technische Gründe hat; qualifizierte Signaturen spielen (schon auf Grund der damit verbundenen Kosten) für Privatanwender bisher keine Rolle. S/MIME ist nicht sicherer als OpenPGP, eher umgekehrt. OpenPGP ist insgesamt das mächtigere Format: Man kann alles (Wichtige), was mit X.509 möglich ist, auch mit OpenPGP umsetzen, aber umgekehrt nicht.

Die eigentliche kryptografische Technik ist bei beiden Verfahren dieselbe; das reine Schlüsselmaterial kann man sogar aus der einen Welt in die andere übernehmen. Die beiden Standards beschreiben aber das Drumherum unterschiedlich:

Die meisten E-Mail-Clients (insbesondere die meistgenutzten: Outlook, Thunderbird) unterstützen S/MIME standardmäßig, OpenPGP aber nur duch Addons/Plugins (und selbst dann im Fall von Outlook eher schlecht). OpenPGP wird standardmäßig z.B. von den Mailclients der Linux-Desktops KDE (KMail) und GNOME (Evolution) unterstützt (sowie weiteren, weniger bekannten Linux-Mailprogrammen). Für Thunderbird gibt es das gute Add-on Enigmail.

Vor- und Nachteile

Es gibt jeweils genau einen wesentlichen strukturellen und praktischen Unterschied zwischen OpenPGP und X.509, die auch noch eng zusammenhängen:

Man kann also mit S/MIME sofort loslegen, ohne sich um viel kümmern zu müssen. Das ist nicht nur eine Frage des Aufwands: Die meisten Nutzer sind von den Entscheidungsmöglichkeiten schlicht überfordert. Sie wissen nicht, was die Entscheidung bedeutet, sie kennen die Hintergründe und Probleme nicht. Wie sollen sie dann eine Entscheidung treffen? Andererseits ist die Vorstellung, ohne Sachkenntnis sicher kommunizieren zu wollen, schon grotesk. Was heißt denn sicher, wenn man keine Ahnung hat?

Diese Bequemlichkeit hat den Nachteil, dass man Leuten unbewusst vertraut; da einem normalerweise nicht bewusst ist, welche Leute das sind, kann es durchaus sein, dass man die gar nicht vertrauenswürdig findet. Spätestens seit Snowdens Enthüllungen ist klar, dass es heikel ist, CAs derart viel Macht zu geben. Insbesondere lässt sich diese Macht – anders als bei OpenPGP – nicht beschränken: Es reicht immer die Zertifizierung durch eine einzige CA aus, und jede CA kann jede beliebige E-Mail-Adresse zertifizieren.

Ein weiteres gravierendes Problem von X.509 (jedenfalls so, wie es heute verwendet wird) ist, dass man sich auch bezüglich der eigenen digitalen identität komplett von anderen abhängig macht. Wenn die CA, die das eigene Zertifikat unterschrieben hat, auf den Knopf drückt, dann ist dieses Zertifikat unwiderruflich tot. Normalerweise wird dieser Knopf nur aus gutem Grund gedrückt, und man kann sich im Fall des Falles natürlich eine neue CA suchen, aber das ist grundsätzlich keine schöne Situation. Zertifikate der vorinstallierten CAs sind außerdem nur wenige Jahre gültig. Danach müssen sie ersetzt oder verlängert werden (ggf. neu bezahlt). Das gilt auch dann, wenn E-Mail-Adressen hinzukommen oder wegfallen.

Bei OpenPGP entscheidet (meist) allein der Schlüsselbesitzer darüber, ob sein Schlüssel zurückgerufen wird. Das macht unabhängig, aber auch hilflos, wenn man auf Grund technischer Probleme den eigenen Schlüssel gar nicht mehr zurückrufen kann. Wenn man sich einen guten Schlüssel erzeugt, kann man den sehr lange (10+ Jahre) verwenden (mit unterschiedlichen E-Mail-Adressen) und dadurch direkte Kontakte zu vielen Leuten knüpfen. Diese direkten Kontakte können von außen nicht manipuliert werden.

Theoretisch könnte es auch CAs für OpenPGP geben (bzw. die X.509-CAs könnten auch OpenPGP-Zertifikate signieren). Die gibt es deshalb (quasi) nicht, weil der Nutzen einer CA darin liegt, dass sie vorinstalliert ist. Das würde die OpenPGP-Gemeinde aber nicht machen. Es gibt ein paar Organisationen, die auf hohem Niveau OpenPGP-Zertifizierungen durchführen:

  1. die Heise-Kryptokampagne (der Verlag, in dem die c’t erscheint)

  2. CAcert (die machen eigentlich X.509, aber OpenPGP so nebenbei)

  3. Institut für Internet-Sicherheit (an der Westfälischen Hochschule)

  4. Hinweise auf änliche Einrichtungen bitte an mich

Natürlich kann man beide Systeme nutzen, um so für möglichst viele Leute gesichert erreichbar zu sein und allen die Möglichkeit zu geben, das bevorzugte System zu verwenden.

[Hier ist die Seite zu Ende.]