E-Mail Verschlüsselung mit Apple Mail
10.01.2016
In diesem Artikel fasse ich einmal alle Informationen zusammen, die man benötigt, um E-Mails mit selbst-signierten S/MIME Zertifikaten zu verschlüsseln. Bei meiner Recherche habe ich zwei sehr gute Artikel gefunden, bei denen aber jeweils kleine Details fehlten, damit es bei mir funktioniert hat.
Außerdem ist am Ende des Artikels auch klar, warum so wenig E-Mails verschlüsselt werden. ;-)
Selbst-signierte Zertifikate
Für die Verschlüsselung von E-Mails mit dem S/MIME-Standard ist ein Zertifikat notwendig (X.509). Dieses Zertifikat enthält den für die Verschlüsselung notwendigen privaten und öffentlichen Teil des Schlüssels. Nun könnte ja jeder hergehen und sich ein Zertifikat für eine beliebige E-Mail Adresse generieren. Um das zu verhindern gibt es Zertifizierungsstellen, die den öffentlichen Teil des Zertifikats unterschreiben und damit bestätigen, dass sie die Identität des Zertifikatseigentümers geprüft haben. Bei günstigen Zertifikaten wird dazu nur geprüft, ob der Zertfikatseigentümer E-Mails auf der angegebenen Adresse empfangen kann.
Diese Dienstleistung kostet natürlich in der Regel etwas, wobei einige Zertifizierungsstellen auch kostenlose Zertifikate anbieten. Nun ist das System der Zertifizierungsstellen nicht unumstritten und wer nur mit einem überschaubaren Kreis von Kommunikationspartnern verschlüsselte E-Mails austauschen will, kann auf selbst-signierte Zertifikate zurückgreifen. Der größte Nachteil an selbst-signierten Zertifikaten ist aber, dass niemand die Echtheit bestätigt hat. Der Empfänger der E-Mail muss dem Schlüssel sein Vertrauen aussprechen und kann dies nur tun, wenn er sicher ist, dass dieser auch vom erwarteten Sender stammt. In der Regel ist dies kein Problem, wenn man eine entsprechende Mail erwartet und mit einer verschlüsselten Mail antwortet. Kann diese dann wieder beim ursprünglichen Sender entschlüsselt werden, passt alles zusammen und man kann sich zukünftig auf eine sichere Verschlüsselung verlassen.
Selbst-signiertes Zertifikat erstellen
Die nächsten Schritte beschreiben, wie man sich mit Bordmitteln von OS X ein selbst-signiertes Zertifikat erstellt.
Schritt 1

- Starten des Programms “Schlüsselbundverwaltung”.
- Nach dem Start den Menüpunkt Schlüsselbundverwaltung > Zertifikatsassistent > Zertifikat erstellen auswählen.
Schritt 2

- Als Name wählt man in der Regel Vorname und Nachname für die E-Mail Adresse. Ggf. noch einen Zusatz, wenn man mit mehreren Adressen arbeitet.
- Identitätstyp und Zertifikatstyp bleiben wie voreingestellt.
- Da die Standardwerte leider keine funktionsfähigen Zertifikate liefern, müssen diese überschrieben werden. Dazu hier die Checkbox markieren, in den folgenden Dialogen werden diese Werte dann angepasst.
Schritt 3

- Die Seriennummer spielt hier keine Rolle und kann auf “1” bleiben.
- Bei der Dauer muss man sich überlegen, wie lange das Zertifikat gültig bleiben soll. Hier kann man ruhig zwei oder drei Jahre wählen.
Schritt 4

- Hier sind vor allem die E-Mail Adresse und der Name wichtig. Alle anderen Informationen sind optional.
- Das Land muss nicht angegeben werden, allerdings wird es vom Zertifikatsassistenten dann immer wieder auf “DE” gestellt. Kann man also gleich so eingestellt lassen.
Schritt 5

- Die Schlüssellänge sollte möglichst groß gewählt werden. Mehr als 2048 Bit sind zur Zeit aber nicht möglich.
- Möchte man E-Mails auch unter iOS verschlüsseln, so muss als Algorithmus “RSA” gewählt werden. “DSA” funktionierte bei mir auf einem iPhone leider nicht.
Schritt 6

- Nun kommt ein wichtiger Schritt, da mit den Voreinstellungen keine funktionierenden Zertifikate erzeugt werden.
- Unter “Einsatz” ist neben “Signatur” auch der Punkt “Verschlüsseln von Schlüsseln” auszuwählen.
Schritt 7

- Hier kann alles bleiben wie voreingestellt.
- Unter “Einsatz” wird nur “E-Mail-Schutz” benötigt
Schritt 8

- Hier sind keine Angaben erforderlich.
Schritt 9

- Wichtig ist hier die Angabe des “rfc822Name”. Hier muss die E-Mail Adresse eingetragen werden. Dabei exakt die zu verwendende Groß-/Kleinschreibung einhalten (am besten alles klein schreiben).
Schritt 10

- Gespeichert wird das Zertifikat in der Regel im Schlüsselbund “Anmeldung”.
Schritt 11

- Fertig! Das Zertifikat ist erzeugt und im Schlüsselbund gespeichert.
Einem Zertifikat vertrauen
Jetzt folgt der umständliche Teil bei selbst-signierten Zertifikaten. Da keine Zertifizierungsstelle das Zertifikat signiert, muss man dem Zertifikat das Vertrauen selbst aussprechen. Dies gilt auch für das soeben erzeugte eigene Zertifikat, aber auch für alle Zertifikate, die man von seinen Kommunikationspartnern erhält.
Die folgenden Schritte sind also zuerst für das soeben erzeugte eigene Zertifikat auszuführen, später dann auch für alle Zertifikate von Kommunikationspartnern.
Schritt 1

- Zuerst das E-Mail Programm beenden. Normalerweise kann man auch im E-Mail Programm einem Zertifikat das Vertrauen aussprechen, allerdings funktioniert dann das Versenden von verschlüsselten Mails nicht. Ein unangenehmer Bug im Mail-Programm.
- Starten der “Schlüsselbundverwaltung”.
- Suchen nach dem Zertifikat. Dies macht man am besten über Eingabe der E-Mail Adresse im Suchfeld oben rechts.
Schritt 2

- Anzeigen der Details des Zertifikats durch Doppelklick oder rechte Maustaste und dann Information im Kontextmenü auswählen.
- Aufklappen des Bereichs “Vertrauen” (kleines Dreieck anklicken).
- Bei folgenden Verwendungsarten muss in der Drop Down Box “Immer vertrauen” ausgewählt werden:
- S/MIME (Secure Mail)
- X.509-Standardrichtlinien
- Jetzt das Fenster schließen. Im Anschluss wird die Eingabe des Anmeldepassworts abgefragt, damit die Information sicher gespeichert werden kann.
- Nun kann das Zertifikat zum Verschlüsseln von E-Mails verwendet werden.
Die erste verschlüsselte E-Mail
Vor der ersten verschlüsselten Nachricht musst Du mit Deinem Kommunikationspartner die öffentlichen Schlüssel austauschen.
- Erzeugt beide unabhängig voneinander ein Zertifikat (siehe oben).
- Sende eine signierte E-Mail mit beliebigem Inhalt an Deinen Kommunikationspartner. Mit einer signierten E-Mail wird automatisch der öffentliche Schlüssel des Zertifikats an die E-Mail angehängt. Wichtig: die Nachricht ist jetzt noch nicht verschlüsselt. E-Mails werden signiert, in dem man beim Schreiben einer E-Mail den folgenden Button auswählt:

- Sobald dein Kommunikationspartner die E-Mail öffnet, wird das Zertifikat aus Deiner signierten E-Mail automatisch in seinem Schlüsselbund abgelegt.
- Jetzt muss Dein Kommunikationspartner das E-Mail Programm schließen, nach deinem Zertifikat im Schlüsselbund suchen und das Vertrauen einstellen (siehe oben).
- Danach kann er das E-Mail Programm wieder öffnen und auf die Mail verschlüsselt antworten. E-Mails werden verschlüsselt, in dem man beim Schreiben den folgenden Button auswählt:

- Sollte sich der Button nicht auswählen lassen, prüfe die E-Mail Adresse. Diese muss exakt mit der im Zertifikat angegebenen Adresse übereinstimmen (auch Groß-/Kleinschreibung). Außerdem muss das Vertrauen über das Schlüsselbund eingestellt worden sein.
- Wenn Du nun die E-Mail erhalten hast und diese lesen kannst, ist dein Schlüssel korrekt übermittelt worden. Nun musst Du noch dem Zertifikat Deines Kommunikationspartners vertrauen und kannst ihm danach ebenfalls verschlüsselte Mails senden.
Tip

Apple Mail zeigt häufig nicht an, dass es sich um eine verschlüsselte E-Mail handelt, obwohl diese korrekt entschlüsselt wird. Hier hilft es dann, ein Mail-Regel anzulegen, die verschlüsselte E-Mails in einer anderen Farbe darstellt. Interessanterweise zeigt Apple Mail dann meist nicht nur die Farbe an, sondern auch wieder das Verschlüsselungs-Icon.
Update 14.04.2017: Unter macOS Sierra (10.12) funktioniert diese Form des Filters nicht mehr. Sieht nach einem neuen Bug in Apple Mail aus. Dafür funktioniert das Icon wieder etwas zuverlässiger.
E-Mails unter iOS verschlüsseln
Schritt 1
- Das Zertifikat überträgt man am einfachsten auf das iPhone/iPad, in dem man es sich selbst per E-Mail zusendet. Aber Achtung: da das Zertifikat auch den privaten Schlüssel enthält, muss das Zertifikat entsprechend gesichert werden. Im nächsten Schritt wird es daher mit einem Passwort geschützt aus dem Schlüsselbund exportiert.
- Das Zertifikat auswählen und mit der rechten Maustaste das Kontextmenü öffnen.
- Menüpunkt "Max Mustermann" exportieren auswählen.
- Auswählen eines Dateinamens und Verzeichnisses sowie das Format “Personal Information Exchange (.p12)”.
- Jetzt wird ein Passwort abgefragt. Es sollte ein möglichst langes und sicheres Passwort gewählt werden.
- Jetzt im E-Mail Programm die Datei an die eigene E-Mail Adresse senden. Wichtig: nicht verschlüsseln, da das Zertifikat bereits durch das Passwort geschützt ist und auf dem iPhone ja noch nicht entschlüsselt werden kann.
Schritt 2

- Jetzt auf dem iPhone/iPad die Mails abrufen.
- In der Mail mit dem Zertifikat die angehängte Datei auswählen. iOS zeigt dann ein neues “Profil” an, dass installiert werden kann.
- Den Button Installieren auswählen und Passwort eingeben.

- Die Installation des Zertifikats durch Installieren abschließen.
Schritt 4
- In den Einstellungen unter Mail, Kontakte, Kalender den passenden E-Mail Account auswählen.
- Dann unter Account den Punkt Erweitert ganz unten aufrufen.
- Dort muss jetzt “S/SMIME” aktiviert und sowohl “Signieren” als auch “Standardmäßig verschlüsseln” auf “Ja” gesetzt werden. Später können die beiden letzten Optionen wieder auf “Nein” gestellt werden, wenn nicht standardmäßig signiert oder verschlüsselt werden soll.
Schritt 5
- Um E-Mail verschlüsselt versenden zu können, muss man vom Kommunikationspartner einmal eine unverschlüsselte, aber signierte E-Mail erhalten haben.
- In dieser E-Mail kann man durch Anklicken des Namens die Details anzeigen. Dort findet man dann auch den Button Zertifikat anzeigen.
- Diesen Button auswählen und dann das Zertifikat installieren.
- Nun kann man dieser Person auch verschlüsselte E-Mails senden.
Hinweis: Manchmal klappt es trotz allem nicht, verschlüsselte E-Mails zu versenden und das E-Mail Programm beschwert sich, dass keine passende Identität gefunden werden konnte. In diesem Fall hilft leider nur, den E-Mail Account komplett zu löschen und neu anzulegen. Das sollte man natürlich nur machen, wenn es sich um einen IMAP Account handelt und die Mails auf dem Server gespeichert sind.
Schlusswort
E-Mails zu verschlüsseln ist leider immer noch keine Selbstverständlichkeit. Schaut man sich Umfang und Komplexität dieser Anleitung an, wird schnell klar warum. Die Verwendung von kostenlosen Zertifikaten einer Zertifizierungsstelle wie sie bspw. von StartSSL oder Comodo angeboten werden vereinfacht den Prozess etwas, erfordert dafür aber das Erzeugen eines privaten Schlüssels auf dem eigenen Rechner (was auch nicht trivial ist) oder man vertraut diesen Prozess der Zertifizierungsstelle an, wovon man nur ausdrücklich abraten kann. Selbst wenn die Zertifizierungsstelle für die Erzeugung des privaten Schlüssels die Browser-Funktion <keygen/>
nutzt, kann der Laie nur darauf vertrauen, dass auch wirklich diese Funktion genutzt wird, nachprüfbar ist es für ihn nicht.
Referenzen