
S/MIME ist eine lang etablierte Methode zum Versenden von verschlüsselten, signierten E-Mails, die auf öffentlichen Internetstandards basiert. Wir stoßen regelmäßig auf Anforderungen an S/MIME, insbesondere aus regulierten Branchen wie Banking, Gesundheit und Finanzen.
S/MIME ist eine lang etablierte Methode zum Senden von verschlüsselten, signierten E-Mails, basierend auf öffentlichen Internetstandards. Wir stoßen regelmäßig auf Anforderungen für S/MIME, insbesondere aus regulierten Branchen wie dem Bankwesen, der Gesundheitsbranche und dem Finanzwesen. S/MIME ist oft erforderlich, wenn beispielsweise zwischen Unternehmen und Regierungsbehörden kommuniziert wird.
Ein anderer sicherer Mail-Standard, PGP (amüsanterweise als „Pretty Good Privacy“ bezeichnet), wird mehr für sichere Kommunikation von Person zu Person verwendet. Es ist jetzt weniger populär, weil die Verbraucherversionen beliebter webbasierter E-Mail-Clients wie Gmail und Outlook/Hotmail verschlüsselte E-Mails nicht anzeigen können. Das ist ein Grund, warum viele Person-zu-Person-Kommunikationen, die Privatsphäre erfordern, zu Plattformen wie WhatsApp (und vielen anderen) gewechselt sind, die native Ende-zu-Ende-Verschlüsselung bieten.
Sowohl PGP als auch S/MIME erfordern einen Mail-Client, der Schlüssel und Zertifikate verwenden kann. Viele Desktop- und Mobil-Clients, darunter Apple Mail, Microsoft Outlook und Mozilla Thunderbird, erfüllen diese Anforderungen, ebenso wie Geschäftsversionen einiger Web-Clients wie Microsoft Office 365. Die Einrichtung der Schlüssel erfordert Aufwand, aber viele Organisationen halten es dennoch für lohnenswert, trotz kürzlicher Veröffentlichungen von Schwachstellen, die Maßnahmen erfordern, um das Laden von Remote-Inhalten zu blockieren.
S/MIME existiert seit 1995 und hat mehrere Überarbeitungen durchlaufen; die aktuelle Version wird von RFC 5751 abgedeckt. Es erfordert den Austausch öffentlicher Schlüssel, eine nicht triviale Aufgabe, die oft die Unterstützung eines IT-Teams oder einer ähnlichen Ressource erfordert. Für Organisationen, die eine unternehmensinterne E-Mail-Infrastruktur betreiben, erfordert die Implementierung von S/MIME zusätzliche Überlegungen für Plattformen wie PowerMTA und Momentum, die wir in unserem Leitfaden zu S/MIME für unternehmensinterne sichere E-Mail behandeln. Es gibt jedoch automatisierte Ansätze, um diesen Prozess zu optimieren, wie z. B. das Sammeln öffentlicher Empfängerschlüssel über E-Mail-basierte Systeme, die das Schlüsselmanagement für app-generierte E-Mail-Ströme vereinfachen können. Hier kommen kommerzielle Lösungen von Unternehmen wie SparkPost-Partnern Virtru und Echoworkx ins Spiel, die Sicherheit für Person-zu-Person-Geschäfts-E-Mails erleichtern (siehe unser SparkPost/Echoworkx How-to für weitere Informationen).
Das gesagt, lassen Sie uns ein wenig tiefer in das altbewährte S/MIME eintauchen und sehen, was wir damit machen können.
Warum sollte ich mich darum kümmern?
Die kurze Version:
Verschlüsselung gibt Ihnen Nachrichtenprivatsphäre.
Signieren bietet Authentifizierung (des Absenders), Nichtabstreitbarkeit des Ursprungs und Integritätsprüfungen für Nachrichten.
S/MIME funktioniert anders als DKIM und DMARC und kann mit ihnen koexistieren.
Privatsphäre
Wenn Ihre Nachrichten nichts Persönliches, Privates oder rechtlich Wichtiges enthalten, müssen Sie wahrscheinlich nicht über S/MIME nachdenken. Moderne E-Mail-Zustellungssysteme wie SparkPost verwenden bereits „opportunistische TLS“, um den Nachrichtentransport vom sendenden Server zum empfangenden Server zu sichern.
Der „opportunistische“ Teil bedeutet jedoch, dass wir die E-Mail im Klartext versenden, wenn der sendende Server keine sichere Verbindung aushandeln kann. Dies ist nicht geeignet, wenn Sie die Nachricht durchgehend sicher machen möchten. Sie können einen Blick darauf werfen, welche Postfachanbieter TLS-Unterstützung behaupten und welche tatsächlich unterstützen. Vorausgesetzt, der Server des Empfängers unterstützt TLS, wird Ihre Nachricht folgendermaßen gesichert:

TLS sichert die Konversationen zwischen Mailservern (darum wird es als Transport Layer Security bezeichnet). MIME (einschließlich S/MIME) beschäftigt sich mit dem Nachrichteninhalt und seiner Behandlung und kann als Teil der „Präsentationsebene“ betrachtet werden.
S/MIME sichert den Nachrichteninhalt durchgehend („end to end“) vom Nachrichtenursprung bis zum Empfänger-Mail-Client und kapselt den Nachrichtenkörper.

S/MIME verschlüsselt den Nachrichtenkörper mit dem öffentlichen Schlüssel des Empfängers. Der Körper kann ohne den privaten Schlüssel des Empfängers nicht entschlüsselt werden — nicht von einer „Person in der Mitte“ wie Ihrem ISP, SparkPost oder dem Mailserver des Empfängers.
Der private Schlüssel wird niemals offenbart; er ist nur im Besitz des Empfängers. Die verschlüsselte Nachricht reist über das Internet zum empfangenden Mailserver. Wenn sie im Posteingang des Empfängers landet, wird sie (normalerweise automatisch) mit seinem privaten Schlüssel entschlüsselt und lesbar gemacht.
Einige S/MIME-Nachteile, die zu beachten sind:
S/MIME-Verschlüsselung hat den Nebeneffekt, serverbasierte eingehende Nachrichtenscans auf Malware zu verhindern, da die Nachrichtenlast in verschlüsselter Form und daher nicht identifizierbar ist.
Beachten Sie, dass die Nachrichtenheader (Von:, An:, Betreff: usw.) nicht verschlüsselt sind, sodass der Inhalt der Betreffzeile entsprechend erstellt werden muss.
Signieren – Authentifizierung
S/MIME ermöglicht es dem Empfänger auch zu überprüfen, dass die Identität des Nachrichtenabsenders tatsächlich die ist, die sie behaupten.
Die E-Mail des Absenders hat ein Zertifikat angehängt, das, ähnlich einem Zertifikat auf einer sicheren Website, zu einer ausstellenden Behörde zurückverfolgt werden kann. Es gibt hier eine vollständige Beschreibung des Signaturprozesses hier.
Wir werden zuerst den Ansatz des Signierens der E-Mail verfolgen und sie dann verschlüsseln. Der Prozess sieht so aus.

Nichtabstreitbarkeit
Ein weiterer nützlicher Vorteil des Signierens für den Empfänger ist die Nichtabstreitbarkeit des Ursprungs. Betrachten Sie eine Situation, in der eine E-Mail-Nachricht zur Genehmigung eines Vertrags verwendet wird. Der Empfänger erhält den Vertrag in einer Nachricht vom Absender. Wenn der Absender später versucht zu sagen: „Nein, ich habe Ihnen diese Nachricht nie gesendet“, dann zeigt die empfangene Nachricht, dass das Zertifikat des Absenders tatsächlich verwendet wurde.
Integrität der Nachricht
Der Signaturprozess erstellt einen Fingerabdruck der unverschlüsselten Nachweisnachricht (bekannt als Nachrichten-Digest), verschlüsselt den Digest mit dem privaten Schlüssel des Absenders und fügt ihn in die zugestellte Nachricht ein. Der Mail-Client des Empfängers kann feststellen, ob der Nachrichtenkörper manipuliert wurde.
Vielleicht würden Sie sagen: „Ich dachte, DKIM bietet mir Integritätsprüfungen der Nachricht!“ Nun ja, DKIM bietet Integritätsprüfungen des Nachrichtenkörpers und der Nachrichtenheader – Anti-Manipulations-Garantien. Allerdings wird ein DKIM-Fehler (oder das Fehlen von DKIM) normalerweise nicht dazu führen, dass die eingehende Nachricht als vollständig ungültig markiert wird, …es sei denn, eine DMARC-Richtlinie von `p=reject` ist im Spiel (mehr zu DMARC hier). DKIM ist ein Faktor von vielen, die der ISP für die zuverlässige Zuordnung von Reputation zu einer Domain verwendet, und natürlich ein wesentlicher Bestandteil Ihres Nachrichtensystems.
Ihr Mail-Client wird Ihnen deutlich anzeigen, wenn eine S/MIME-Nachricht die Signaturprüfungen nicht besteht:

Übersicht: End-to-End (S/MIME) vs. Server-to-Server (DKIM, DMARC, TLS)
S/MIME ist eine Präsentationsebene-Funktion, die zwischen zwei E-Mail-Endverbrauchern (mit gültigen Zertifikaten/Schlüsseln) ohne jegliche Aktion durch den E-Mail-Administrator funktionieren kann. S/MIME bietet Verschlüsselung und Signierung und ist persönlich für jeden Benutzer.
S/MIME ist mit der vollständigen Absenderadresse (lokaler Teil und Domänenteil) verbunden, sodass zum Beispiel alice@bigcorp.com und bob@bigcorp.com unterschiedliche Zertifikate benötigen würden. Im Gegensatz dazu validiert DKIM, dass die E-Mail von der signierenden Domain stammt. DKIM ist ein ganzes Thema für sich; dieser Artikel ist ein guter Ausgangspunkt.
DKIM- und DMARC-Einrichtung wird von Ihrem E-Mail-Administrator (der am Mailserver und den DNS-Einträgen arbeitet) durchgeführt. Sobald sie eingerichtet sind, sind sie für Domains aktiv, anstatt für einzelne Benutzer.
Wie hängt das mit SparkPost zusammen?
Welche Clients unterstützen S/MIME?
Consumer Gmail
Der gewöhnliche Gmail-Webclient zeigt eingehende Mailsignaturen (siehe unten) an, ist jedoch nicht darauf ausgelegt, Ihren privaten Schlüssel zur Entschlüsselung verschlüsselter Nachrichten zu speichern. Selbst wenn dies über Drittanbieter-Plugins möglich wäre, wäre das Hochladen Ihres privaten Schlüssels aus Sicherheitsgründen keine gute Idee.

Ich konnte Yahoo! Mail überhaupt nicht dazu bringen, Signaturen in Nachrichten zu entschlüsseln.
Die Verbraucherversion von Microsoft Outlook/Hotmail-Konten benachrichtigt Sie über das Vorhandensein einer S/MIME-Signatur, gibt Ihnen jedoch nicht vollen Zugriff, um das Zertifikat zu betrachten oder zu prüfen.

Gehostete Geschäftsmails
Für Organisationen mit gehosteten Mails bieten Microsoft Office 365 und G Suite Enterprise S/MIME-Unterstützung.
Outlook-Mail-Clients
Client-basierte Microsoft Outlook (z.B. 2010 für Windows) funktioniert:

Ein Klick auf die Symbole gibt Ihnen mehr Informationen:


In Outlook 2010 / Windows wird der Zertifikatspeicher über Datei / Optionen / Sicherheitscenter / Sicherheitscenter-Einstellungen / E-Mail-Sicherheit / Import / Export aufgerufen.

Thunderbird – plattformübergreifend und kostenlos
Wenn Sie nach einem kostenlosen Client suchen, Mozilla Thunderbird passt die Rechnung. Es ist auf PC, Mac und Linux verfügbar und unterstützt S/MIME auf all diesen Plattformen. So sieht eine Nachricht auf dem Mac aus. Das Symbol des „versiegelten Umschlags“ zeigt, dass die Nachricht signiert ist, und das Vorhängeschloss zeigt an, dass sie verschlüsselt wurde.

Ein Klick auf das Umschlag-/Vorhängeschloss-Symbol zeigt Informationen zur Nachricht an:

Thunderbird hat seinen eigenen Schlüsselspeicher, der auf jeder Plattform auf ähnliche Weise aufgerufen wird:
Mac über Einstellungen / Erweitert / Zertifikate / Zertifikate verwalten
PC: Menü („Hamburger“ oben rechts), Erweitert / Zertifikate / Zertifikate verwalten
Linux: Menü („Hamburger“ oben rechts), Einstellungen / Erweitert / Zertifikate verwalten
Mac Mail
Mac Mail unterstützt auch S/MIME. Es verwendet Ihre Mac-Schlüsselbund, um Ihre Schlüssel zu speichern.

iOS Mail
Importieren Sie zunächst das Zertifikat Ihres E-Mail-Kontos so, dann können Sie S/MIME-signierte und verschlüsselte E-Mails ansehen. Sie sehen auf dem Anzeigebildschirm nicht wirklich anders aus.



Android
Einige Geräte und Apps unterstützen S/MIME; es gibt eine große Vielfalt da draußen. Samsung hat einen Leitfaden.
Endlich…
Das ist unser kurzer Überblick über die praktischen Anwendungen von S/MIME. Wenn Sie Ihre eigenen E-Mail-Zertifikate erhalten möchten, finden Sie hier eine Liste von Anbietern. Ich habe festgestellt, dass Comodo gut funktioniert (kostenlos für nicht-kommerzielle Nutzung – öffnen Sie dies in Firefox, nicht in Chrome).
In Teil 2 werden wir untersuchen, wie Sie S/MIME-Signierung und -Verschlüsselung auf Nachrichten anwenden können, die Sie über SparkPost versenden.
Weiterführende Literatur
Microsoft hat einen guten einführenden Artikel zu S/MIME hier.
Weitere Informationen zur EFAIL-Schwachstelle und wie sie behoben wurde, finden Sie hier auf der maßgeblichen Seite. Weitere leicht verständliche Erklärungen sind hier und hier zu finden.