In diesem Artikel geht es um die Verschlüsselung und Signierung von E-Mails mit S/MIME (secure/multipurpose internet mail extensions) als Alternative zu OpenPGP. Viele der Grundprinzipien sind ähnlich, die Formate sind jedoch nicht zueinander kompatibel. Eine mit OpenPGP verschlüsselte Mail kann also nicht von jemandem gelesen werden, der nur S/MIME einsetzt und umgekehrt.

Glücklicherweise ermöglichen alle in der Serie bisher besprochenen Lösungen eine Koexistenz beider Systeme, so dass man sich nicht entscheiden muss, sondern beide parallel betreiben kann. Dabei zeigt sich, dass S/MIME zwar das geschlossenere System von beiden ist, von der Benutzerfreundlichkeit und Integration jedoch einige Vorteile gegenüber OpenPGP bietet, die auch die in den letzten Jahren gemachten Fortschritte nicht ganz haben wett machen können.

Das wichtigste jedoch: S/MIME ist genauso sicher wie OpenPGP. Die Algorithmen zur Berechnung der Schlüssel sind sehr ähnlich, und auch die Privatheit des privaten Schlüssels ist gegeben (mehr dazu siehe unten). Es gibt allerdings einige Unterschiede, deren man sich bewusst sein sollte. Wer kein OpenPGP nutzen möchte, aber S/MIME, kann den folgenden Abschnitt überspringen und gleich zur Beantragung gehen.

Die wichtigsten Unterschiede 🔗

Der wichtigste Unterschied ist, dass bei OpenPGP die Beglaubigung oder Echtheit öffentlicher Schlüssel durch die Unterschriften verschiedener Benutzer bezeugt wird. Bei S/MIME-Zertifikaten hingegen wird diese Beglaubigung durch eine globale Zertifizierungsstelle (CA) ausgestellt. Viele globale Zertifizierungsstellen werden von Apple, Microsoft, Mozilla und anderen als Vertrauenswürdig eingestuft und die E-mail-Zertifikate daher als gültig anerkannt, wenn die Unterschrift auf dem öffentlichen Schlüssel verifiziert werden kann. Jeder öffentliche Schlüssel hat daher auch nur genau eine Unterschrift zur Beglaubigung, nämlich die der Zertifizierungsstelle.

Die S/MIME-Schlüssel werden nur immer genau auf eine E-Mail-Adresse ausgestellt. Hat man also fünf E-Mail-Adressen, mit denen man verschlüsselt kommunizieren möchte, muss man sich auch fünf Zertifikate besorgen.

Die Zertifikate werden im Falle kostenloser Varianten in der Regel nur auf die E-Mail-Adresse ausgestellt. Die Zertifizierungsstelle bestätigt also lediglich die Echtheit der E-Mail-Adresse, nicht die Identität der dahinter stehenden Person. Dies ist ein Zertifikat der Stufe 1. Zertifikate der Stufe 2 verifizieren auch den Namen der Person, indem z. B. Prüfungen des Personalausweises o. ä. durchgeführt werden, um die Echtheit der Personenangaben zu bestätigen. Die Stufe 3 letztendlich erwartet ein persönliches Erscheinen der Person zur Verifizierung, was in der Regel von Zertifikatsstellen gar nicht angeboten wird.

Ein Hinweis für Leser in Deutschland: Es ist gesetzlich verboten, eine Kopie des Personalausweises anzufertigen oder von dritten anfertigen zu lassen. Will man sich also für ein Zertifikat der Stufe 2 registrieren, muss man genau hinschauen, was erwartet wird und was man wie preisgeben kann und darf.

Es gibt keine Passphrase zur Ver- und Entschlüsselung, die abgefragt wird. E-Mails werden automatisch entschlüsselt, wenn für den Absender ein öffentlicher Schlüssel vorliegt. Erhält man eine nicht verschlüsselte, aber signierte E-Mail, importieren viele Mailer unter OS X und Windows die öffentlichen Schlüssel automatisch, so dass ab sofort verschlüsselt kommuniziert werden kann. Dies ist auch der übliche Verbreitungsweg für öffentliche Schlüssel im S/MIME-Verfahren: man schreibt nicht verschlüsselte, aber signierte Mails.

Beantragen eines kostenlosen Zertifikats 🔗

Es gibt mehrere Anbieter für kostenlose S/MIME-Zertifikate der Stufe 1. Ich selbst habe sehr gute Erfahrungen mit den Zertifikaten von Comodo gemacht. Dieser Link führt direkt zum auszufüllenden Formular.

  1. Das Formular ausfüllen. Wichtig ist neben der korrekten E-Mail-Adresse und dem Namen hier das Revocation Password (Kennwort zum Zurückziehen des Schlüssels). Dieses unbedingt irgendwo sicher verwahren (z. B. sichere Notiz in 1Password), um das Zertifikat zurückziehen zu können, falls man das Gefühl bekommt, es könne kompromittiert worden sein.
  2. Nach Abschicken des Formulars bekommt man per E-Mail den Link zur Installation des Zertifikats.
  3. Den Link in der Mail anklicken. Es öffnet sich ein neuer Browser-Tab. Das Schlüsselpaar wird nun auf dem Computer generiert und der öffentliche Schlüssel danach an den Server von Comodo gesendet. Diese unterschreiben ihn nun und schicken den unterschriebenen öffentlichen Schlüssel, das Zertifikat, an uns zurück.
  4. Es findet nun ein Download einer Datei mit der Endung .p7s statt. Der Safari im Mac speichert die Datei automatisch im Downloads-Ordner, der Firefox installiert das Zertifikat automatisch in seiner Zertifikatsverwaltung.

Die folgenden Schritte werden nun getrennt für OS X und Windows behandelt.

Installation des Zertifikats 🔗

Mac OS X 🔗

Nachdem der Schlüssel heruntergeladen wurde, doppelklickt man die Datei bzw. öffnet sie mit Cmd+O. Das Schlüsselpaar wird nun in den Schlüsselbund importiert.

Nun Mail beenden und neu starten. Danach stehen bei neuen Mails zwei Schaltflächen bzw. Kontrollkästchen zur Verfügung. Die eine steht fürs Unterschreiben, die andere fürs Verschlüsseln der mail. Wer bereits OpenPGP einsetzt, kann nun mit Cmd+Wahltaste+P auf OpenPGP bzw. Cmd+Wahltaste+S auf S/MIME umschalten, also beide Verschlüsselungsverfahren nutzen.

Erhält man nun eine mit S/MIME unterschriebene Mail, speichert Mail den öffentlichen Schlüssel des Absenders automatisch. Ihr selbst solltet nun auch immer unterschreiben, wenn ihr eine neue Mail schreibt, um so anzuzeigen, dass ihr S/MIME unterstützt. Kommen beide Verfahren zum Einsatz, kann man ja an den gleichen Empfänger in einer Mail mit S/MIME, in der anderen mit OpenPGP unterschreiben.

Kommt jetzt eine verschlüsselte Mail an, wird diese automatisch entschlüsselt. Beantwortet man sie, wird auch die Antwort automatisch mit dem richtigen Verfahren verschlüsselt.

iOS 🔗

Möchte man das Zertifikat auch unter iOS nutzen, muss man wie folgt vorgehen:

  1. Im Ordner Programme/Dienstprogramme das Programm Schlüsselbundverwaltung öffnen.
  2. Nach der eigenen E-Mail-Adresse suchen und in den Ergebnissen den Eintrag mit dem Typ „Zertifikat“ auswählen.
  3. Diesen jetzt erweitern, dass der dahinter versteckte Eintrag „Privater Schlüssel“ sichtbar wird. VoiceOver-Nutzer drücken Ctrl+Wahltaste+Nummernzeichen.
  4. Diesen Eintrag „Privater Schlüssel“ jetzt rechtsklicken bzw. mit Ctrl+Option+Umschalt+M von VoiceOver das Kontextmenü aufrufen und Exportieren wählen.
  5. Namen vergeben, Ort wählen und sicherstellen, dass als Dateiformat Personal Information Exchange (P12) ausgewählt ist.
  6. Im nächsten Schritt ein Kennwort vergeben, mit dem die exportierte Datei geschützt wird.
  7. Diese P12-Datei jetzt per Mail an sich selbst schicken. Andere Wege werden von iOS leider nicht unterstützt, z. B. AirDrop.
  8. Auf dem iPhone oder iPad die Mail öffnen und den Anhang antippen.
  9. Es öffnen sich die Einstellungen. Jetzt oben rechts auf Installieren tippen und mit dem Geräte-Code bzw. Kennwort bestätigen.
  10. Man wird nun gewarnt, dass das Zertifikat noch unbekannt sei. Mit nochmaligem Drücken auf Installieren bestätigen, und das gleiche im darauf erscheinenden Sicherheits-Abfrage-Hinweis.
  11. Jetzt das eben vergebene Kennwort eingeben und auf Weiter tippen.
  12. Das Zertifikat ist nun installiert. Auf Fertig tippen, und man gelangt wieder in die E-Mail.
  13. In die Einstellungen zurückkehren und den Punkt E-Mail, Kalender … wählen.
  14. Das E-Mail-Konto wählen, unter dem die E-Mail-Adresse des Zertifikats geführt wird.
  15. Das Konto bearbeiten und ganz unten auf Erweitert tippen.
  16. Ganz nach unten scrollen und S/MIME aktivieren.
  17. Sowohl Signieren als auch Verschlüsseln aktivieren. Das richtige Zertifikat sollte jeweils ausgewählt sein.
  18. Zurück wählen und oben rechts auf Fertig. Da keine anderen Änderungen am Konto vorgenommen wurden, sollte sich das Fenster einfach schließen, und wir können die Einstellungen verlassen.

Jetzt werden unterstützte Empfänger automatisch mit verschlüsselten Mails versorgt, und alle anderen Mails werden mit S/MIME unterschrieben. Erhält man eine unterschriebene Mail, kann man beim Absender direkt auf die Details tippen und das Zertifikat (den öffentlichen Schlüssel) installieren. Ein automatisches Importieren von öffentlichen Schlüsseln findet im Gegensatz zu OS X leider nicht statt, wenn man eine unterschriebene Mail erhält.

Wie man aber sieht, ist das Behandeln von S/MIME-verschlüsselten E-Mails im Vergleich zu OpenPGP deutlich einfacher und direkt in die Mail-App integriert. Es ist nicht nötig, Apps von Drittherstellern zu verwenden.

Windows 🔗

Hat man sich das Zertifikat mit Hilfe von Firefox erstellt, also den Link in der E-Mail angeklickt, wird das Zertifikat automatisch in Firefox installiert. Man bekommt darüber auch eine Meldung. Um es nun in Thunderbird nutzen zu können, geht man wie folgt vor:

  1. Man öffnet Extras, Einstellungen (bzw. Optionen) und wechselt aufs Register Erweitert.
  2. Hier wählt man das Unter-Register Zertifikate aus und klickt auf Zertifikate Anzeigen.
  3. Im folgenden Fenster wechselt man aufs Register Eigene Zertifikate, wählt das gerade installierte Zertifikat von Comodo CA aus und klickt auf Backup.
  4. Man vergibt einen Dateinamen, wählt ggf. einen Zielordner und belässt das Dateiformat tunlichst auf P12.
  5. Im nächsten Schritt vergibt man ein Kennwort zum Schützen der exportierten Datei. Danach wird die Datei gespeichert und dies bestätigt. Man kann nun die Dialoge schließen.
  6. Jetzt wechselt man zu Thunderbird und öffnet Extras/Konteneinstellungen. Man wählt das Konto für die E-Mail-Adresse aus, für die man eben ein Zertifikat erstellt hat und wechselt auf den Eintrag Sicherheit.
  7. Hier wählt man wieder Zertifikate anzeigen und wechselt auf das Register Eigene Zertifikate.
  8. Auf Import klicken, die in Schritt 4 gespeicherte Datei wählen, das in Schritt 5 vergebene Passwort eingeben, und das Zertifikat wird importiert. Der Zertifikatmanager kann nun auch durch Klick auf OK geschlossen werden.
  9. Jetzt für die Signierung von E-Mails den Schalter „Wählen“ betätigen und das soeben importierte Zertifikat wählen.
  10. Thunderbird fragt nun nach, ob dieses Zertifikat auch für das Verschlüsseln von Mails verwendet werden soll. Dies wird bejaht.
  11. Nun noch einstellen, dass E-Mails standardmäßig signiert werden sollen, und bei Verschlüsselung „notwendig“ auswählen. Mit OK die Konteneinstellungen schließen.

Nun kann man mit S/MIME verschlüsselte Mails senden und empfangen. Hat man zusätzlich OpenPGP mit Enigmail installiert, fragt Enigmail im Zweifel nach, ob die Verschlüsselung mit PGP/MIME oder S/MIME passieren soll. Auch hier ist also eine Koexistenz beider Systeme möglich.

Auch Thunderbird importiert automatisch S/MIME-Zertifikate bei Erhalt digital unterschriebener Mails. Man muss also auch hier keine öffentlichen Schlüssel von Hand importieren. Man kann sogar direkt verschlüsselt antworten, vorausgesetzt, man hat dem Empfänger schon mal eine digital signierte Mail geschickt und dessen Client hatte die Chance, den öffentlichen Schlüssel abzurufen.

Hat man iOS-Geräte, kann man mit derselben Datei, die man aus Firefox per Backup exportiert hat, so vorgehen, wie im vorigen Abschnitt ab Schritt 7 beschrieben, also dem Punkt, an dem man sich seine Backup-Datei selbst per Mail zuschickt.

Die Optionen zum Einstellen, ob man eine S/MIME-Mail signiert und/oder verschlüsselt, finden sich entweder im Popup-Menü der oberen Symbolleiste oder im Menü Optionen als unterste zwei Menüpunkte.

Fazit 🔗

Das Erstellen, der tägliche Umgang und die Integration ist mit S/MIME deutlich einfacher als mit OpenPGP. Welches Verschlüsselungsverfahren man nimmt, oder ob man zweigleisig fährt, ist eine Geschmacks- und Glaubensfrage. Manche werden der Unterschrift einer Firma, auch wenn diese sich CA nennt, niemals so sehr vertrauen wie den Unterschriften ihnen persönlich bekannter Personen und von daher OpenPGP vorziehen. Andere werden vielleicht die einfachere Handhabung von S/MIME bevorzugen, gerade wenn sie auch unter iOS arbeiten, und von daher diese Variante bevorzugen. Beide Verfahren sind bisher nicht geknackt worden. Von dieser Seite herrscht also eher kein Unterschied.

Ich selbst habe mich dazu entschieden, beide Verfahren einzusetzen und dadurch mit beiden erreichbar zu sein. So kann jeder selbst entscheiden, wie er/sie mit mir verschlüsselt kommunizieren möchte. Wer also meinen öffentlichen S/MIME-Schlüssel möchte, schickt mir einfach eine Mail mit der Bitte um Zusendung einer signierten Antwort. Idealerweise enthält diese Anfrage schon gleich die eigene Signatur, dann ist sofortige verschlüsselte Kommunikation möglich.

Viel Spaß beim verschlüsselten Kommunizieren, mit welchem Verfahren auch immer!