S/MIME ist eine lang etablierte Methode zum Versand von verschlüsselten, signierten E-Mails, basierend auf öffentlichen Internetstandards. Wir begegnen regelmäßig Anfragen zu S/MIME, insbesondere aus regulierten Branchen wie Banken, Gesundheitswesen und Finanzen. S/MIME wird häufig benötigt, wenn zwischen Unternehmen und Regierungsbehörden kommuniziert wird, zum Beispiel.
Ein weiterer sicherer E-Mail-Standard, PGP (amüsant benannt als „Pretty Good Privacy“), wird mehr für sichere Kommunikation von Person zu Person verwendet. Es ist heute weniger beliebt, da die Verbraucher-Versionen der beliebten webbasierten E-Mail-Clients wie Gmail und Outlook/Hotmail keine verschlüsselte E-Mail anzeigen können. Das ist ein Grund, warum viele persönliche Kommunikationen, die Datenschutz erfordern, auf Plattformen wie WhatsApp (und vielen anderen) umgestiegen sind, die native Ende-zu-Ende-Verschlüsselung anbieten.
Sowohl PGP als auch S/MIME erfordern einen E-Mail-Client, der Schlüssel und Zertifikate verwenden kann. Viele Desktop- und Mobile-Clients, einschließlich Apple Mail, Microsoft Outlook und Mozilla Thunderbird, erfüllen diese Anforderungen, ebenso wie Geschäftsversionen einiger Webclients wie Microsoft Office 365. Die Einrichtung der Schlüssel erfordert Arbeit, aber viele Organisationen halten es trotz der jüngsten Sicherheitsanfälligkeiten, die Abhilfemaßnahmen erfordern, um das Laden entfernter Inhalte zu blockieren, weiterhin für lohnenswert.
S/MIME gibt es seit 1995 und es hat mehrere Überarbeitungen durchlaufen; die aktuelle Version wird durch RFC 5751 abgedeckt. Es erfordert den Austausch öffentlicher Schlüssel, eine nicht triviale Aufgabe, die häufig die Unterstützung eines IT-Teams oder ähnlicher Ressourcen erfordert. Hier kommen kommerzielle Lösungen von Unternehmen wie SparkPost-Partnern wie Virtru und Echoworkx ins Spiel, die die Sicherheit für die persönliche Geschäftskommunikation erleichtern (siehe unser SparkPost/Echoworkx Handbuch für weitere Informationen).
Das gesagt, lassen Sie uns etwas tiefer in das gewöhnliche S/MIME eintauchen und sehen, was wir damit tun können.
Warum sollte ich mich darum kümmern?
Die Kurzfassung:
Verschlüsselung gibt Ihnen Datenschutz für Nachrichten.
Signierung gibt Ihnen Authentifizierung (des Absenders), Nichtabstreitbarkeit des Ursprungs und Integritätsprüfungen der Nachricht.
S/MIME funktioniert anders als DKIM und DMARC und kann mit ihnen koexistieren.
Datenschutz
Wenn Ihre Nachrichten nichts Persönliches, Privates oder Rechtlich Wichtiges enthalten, dann müssen Sie wahrscheinlich nicht über S/MIME nachdenken. Moderne E-Mail-Zustellungssysteme wie SparkPost verwenden bereits „opportunistisches TLS“, um den Nachrichtenversand vom sendenden Server zum Empfängerserver zu sichern.
Der Teil „opportunistisch“ bedeutet jedoch, dass, wenn der sendende Server keine sichere Verbindung aushandeln kann, wir die E-Mail im Klartext senden. Das ist nicht geeignet, wenn Sie möchten, dass die Nachricht durchgehend sicher ist. Sie können einen Blick darauf werfen, welche Mailanbieter TLS-Unterstützung beanspruchen und welche es tatsächlich tun. Vorausgesetzt, der Server des Empfängers unterstützt TLS, wird Ihre Nachricht so gesichert:
TLS sichert die Gespräche zwischen Mailservern (das ist der Grund, warum es „Transport Layer Security“ genannt wird). MIME (einschließlich S/MIME) beschäftigt sich mit dem Nachrichteninhalt und seiner Behandlung und kann als Teil der „Präsentationsschicht“ betrachtet werden.
S/MIME sichert den Nachrichteninhalt vollständig von der Nachrichtenursprungsquelle bis zum Mail-Client des Empfängers, indem der Nachrichteninhalt kapselartig eingekapselt wird.
S/MIME verschlüsselt den Nachrichteninhalt mit dem öffentlichen Schlüssel des Empfängers. Der Inhalt kann nicht ohne den privaten Schlüssel des Empfängers dekodiert werden – nicht von irgendeiner „Person in der Mitte“, wie Ihrem ISP, SparkPost oder dem Mailserver des Empfängers.
Der private Schlüssel wird niemals offengelegt; er verbleibt im alleinigen 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 (meist automatisch) mit ihrem privaten Schlüssel entschlüsselt und wird lesbar.
Einige S/MIME-Überraschungen, auf die man achten sollte:
S/MIME-Verschlüsselung hat den Nebeneffekt, dass sie die serverbasierte eingehende Nachrichtenüberprüfung auf Malware verhindert, da der Nachrichteninhalt in verschlüsselter Form vorliegt und somit nicht identifiziert werden kann.
Beachten Sie, dass die Nachricht Kopfzeilen (Von:, An:, Betreff: usw.) nicht verschlüsselt sind, sodass der Inhalt der Betreffzeile mit dieser Überlegung erstellt werden muss.
Signierung – Authentifizierung
S/MIME bietet dem Empfänger auch die Möglichkeit, zu überprüfen, dass die Identität des Nachrichtenabsenders der ist, der er sagt, dass er ist.
Die E-Mail des Absenders hat ein angehängtes Zertifikat, das, ähnlich wie das Zertifikat auf einer sicheren Website, zurückverfolgt werden kann zu einer ausstellenden Behörde. Es gibt eine vollständige Beschreibung des Signierungsprozesses hier.
Wir werden den Ansatz verfolgen, die E-Mail zuerst zu signieren und dann zu verschlüsseln, sodass der Prozess wie folgt aussieht.
Nichtabstreitbarkeit
Ein weiterer nützlicher Vorteil der Signatur für den Empfänger ist die Nichtabstreitbarkeit des Ursprungs. Stellen Sie sich eine Situation vor, in der eine E-Mail-Nachricht verwendet wird, um einen Vertrag zu genehmigen. Der Empfänger erhält den Vertrag in einer Nachricht vom Absender. Wenn der Absender später versucht zu sagen: „Nein, ich habe dir diese Nachricht nie gesendet“, dann zeigt die erhaltene Nachricht, dass das Zertifikat des Absenders tatsächlich verwendet wurde.
Nachrichtenintegrität
Der Signierungsprozess erstellt einen Fingerabdruck der ursprünglichen Nachricht (bekannt als Nachrichten-Digest), verschlüsselt den Digest mit dem privaten Schlüssel des Absenders und fügt ihn der gelieferten Nachricht bei. Der Mail-Client des Empfängers kann feststellen, ob der Nachrichteninhalt manipuliert wurde.
Vielleicht könnten Sie sagen: „Ich dachte, DKIM gibt mir Integritätsprüfungen für Nachrichten!“ Nun ja, DKIM bietet Integritätsprüfungen für die Nachrichteninhalte und die Nachrichtenkopfzeilen – Anti-Manipulationsgarantien. Allerdings führt ein DKIM-Ausfall (oder das Fehlen) normalerweise nicht dazu, dass die eingehende Nachricht als völlig ungültig markiert wird, …es sei denn, eine DMARC-Richtlinie mit `p=reject` ist aktiv (mehr über DMARC hier). DKIM ist ein Faktor von vielen, die von ISPs zur zuverlässigen Zuweisung des Rufs einer Domain verwendet werden und ist natürlich ein wesentlicher Bestandteil Ihres Messaging-Stacks.
Ihr Mail-Client wird Ihnen deutlich anzeigen, wenn eine S/MIME-Nachricht die Signaturprüfungen nicht besteht:
Zusammenfassung: Ende-zu-Ende (S/MIME) vs. Server-zu-Server (DKIM, DMARC, TLS)
S/MIME ist eine Fähigkeit der Präsentationsschicht, die zwischen zwei E-Mail-Endbenutzern (mit gültigen Zertifikaten/Schlüsseln) ohne Maßnahmen des E-Mail-Administrators funktionieren kann. S/MIME bietet Verschlüsselung und Signierung und ist persönlich für jeden Benutzer.
S/MIME ist an die vollständige Absenderadresse (lokaler Teil und Domainteil) gebunden, sodass beispielsweise alice@bigcorp.com und bob@bigcorp.com unterschiedliche Zertifikate haben müssten. Im Gegensatz dazu validiert DKIM, dass die E-Mail von der signierenden Domain kommt. DKIM ist ein ganz eigenes Thema; dieser Artikel ist ein guter Ausgangspunkt.
DKIM- und DMARC-Einrichtungen werden von Ihrem E-Mail-Administrator (der am Mailserver und den DNS-Einträgen arbeitet) getroffen. Sobald sie eingerichtet sind, sind sie für Domains aktiv, und nicht für einzelne Benutzer.
Wie hängt das mit SparkPost zusammen?
E-Mail-Systeme für die Nachrichtenübertragung von Person zu Person, wie Microsoft Exchange Server, haben lange S/MIME unterstützt.
Wenn Sie SparkPost verwenden, um an spezifische Empfänger mit E-Mail-Clients zu senden, die S/MIME lesen können, dann könnte es sinnvoll sein, Ihre Nachrichten mit S/MIME zu signieren. Die S/MIME-Signatur bietet zusätzliche Sicherheit, dass die Nachricht tatsächlich von Ihnen (oder Ihrem System) stammt und unverändert ist, was in einigen Anwendungsfällen von Wert sein kann. Alles was Sie dafür benötigen, ist Ihr eigener Schlüssel und einige kostenlose Software, die wir im zweiten Teil dieses Artikels demonstrieren werden.
Die Verwendung von S/MIME-Verschlüsselung ist eine separate Entscheidung. Sie benötigen den öffentlichen Schlüssel für jeden Ihrer Empfänger. Dies zu erhalten könnte so einfach sein, wie wenn sie Ihnen (oder Ihrer App) eine signierte E-Mail senden. Wir werden ein praktisches Tool untersuchen, um S/MIME-signierte und verschlüsselte E-Mails über SparkPost in einem Folgebeitrag zu versenden.
Welche Clients unterstützen S/MIME?
Verbraucher Gmail
Der gewöhnliche Gmail-Web-Client zeigt eingehende E-Mail-Signaturen an (siehe unten), ist jedoch nicht eingerichtet, um Ihren privaten Schlüssel zu halten, um verschlüsselte Nachrichten zu lesen. Selbst wenn dies über Drittanbieter-Plugins möglich wäre, ist es aus Sicherheitsgründen keine gute Idee, Ihren privaten Schlüssel hochzuladen.
Ich konnte Yahoo! Mail nicht dazu bringen, Signaturen in Nachrichten überhaupt zu decodieren.
Die Verbraucher-Version von Microsoft Outlook/Hotmail-Konten informiert Sie über das Vorhandensein einer S/MIME-Signatur, bietet jedoch keinen vollständigen Zugriff auf die Anzeige oder Überprüfung des Zertifikats.
Gehostete Geschäftsmail
Für Organisationen mit gehosteter Mail unterstützen Microsoft Office 365 und G Suite Enterprise S/MIME.
Outlook-Mail-Clients
Clientbasierte 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 / Vertrauensstellung / Einstellungen im Vertrauenszentrum / E-Mail-Sicherheit / Importieren / Exportieren aufgerufen.
Thunderbird – plattformübergreifend und kostenlos
Wenn Sie nach einem kostenlosen Client suchen, Mozilla Thunderbird erfüllt die Anforderungen. Es ist für PC, Mac und Linux verfügbar und unterstützt S/MIME auf all diesen Plattformen. So sieht eine Nachricht auf einem Mac aus. Das Symbol „versiegelter Umschlag“ zeigt an, dass die Nachricht signiert ist, und das Vorhängeschloss zeigt an, dass sie verschlüsselt wurde.
Ein Klick auf das Umschlag/Vorhängeschloss zeigt Informationen zur Nachricht an:
Thunderbird hat einen eigenen Schlüssel-Speicher, der auf ähnliche Weise auf jeder Plattform aufgerufen wird:
Mac über Einstellungen / Erweitert / Zertifikate / Zertifikate verwalten
PC: Menü („Hamburger“-Symbol oben rechts), Erweitert / Zertifikate / Zertifikate verwalten
Linux: Menü („Hamburger“-Symbol oben rechts), Einstellungen / Erweitert / Zertifikate verwalten
Mac Mail
Mac Mail unterstützt ebenfalls S/MIME. Es verlässt sich auf Ihren Mac-Schlüsselbund zur Verwaltung Ihrer Schlüssel.
iOS Mail
Importieren Sie zuerst das Zertifikat Ihres E-Mail-Kontos so, dann können Sie S/MIME-signierte und verschlüsselte E-Mails anzeigen. Sie sehen auf dem Anzeige-Bildschirm nicht wirklich anders aus.
Android
Einige Geräte und Apps unterstützen S/MIME; es gibt eine große Vielfalt. Samsung hat einen Leitfaden.
Schließlich…
Das ist unser kurzer Überblick über die praktischen Anwendungen von S/MIME. Wenn Sie Ihre eigenen E-Mail-Zertifikate erhalten möchten, gibt es eine Liste von Anbietern hier. Ich finde, Comodo funktioniert gut (kostenlos für nichtkommerzielle Nutzung – öffnen Sie dies in Firefox, nicht in Chrome).
Im zweiten Teil werden wir untersuchen, wie Sie S/MIME-Signierung und -Verschlüsselung auf Nachrichten anwenden, die Sie über SparkPost versenden.
Weiterführende Lektüre
Microsoft hat einen guten einführenden Artikel zu S/MIME hier.
Für weitere Informationen über die EFAIL-Sicherheitsanfälligkeit und wie sie angegangen wurde, dies hier ist die endgültige Seite. Weitere leicht verständliche Erklärungen finden Sie hier und hier.