
S/MIME is een al lang bestaand methode voor het verzenden van versleutelde, ondertekende e-mails, gebaseerd op publieke internetstandaarden. We komen regelmatig vereisten voor S/MIME tegen, met name vanuit gereguleerde sectoren zoals banken, gezondheidszorg en financiën.
S/MIME is een lang bekende methode voor het verzenden van versleutelde, ondertekende e-mail, gebaseerd op openbare internetstandaarden. We komen regelmatig eisen voor S/MIME tegen, vooral vanuit gereguleerde industrieën zoals banken, gezondheidszorg en financiën. S/MIME is vaak vereist bij communicatie tussen bedrijven en overheidsinstanties, bijvoorbeeld.
Een andere beveiligde mailstandaard, PGP (vermakelijk genaamd als "Pretty Good Privacy"), wordt meer gebruikt voor beveiligde communicatie van persoon tot persoon. Het is nu minder populair omdat de consumentversies van populaire webgebaseerde e-mailclients zoals Gmail en Outlook/Hotmail geen versleutelde mail kunnen weergeven. Dat is een reden waarom veel communicatie van persoon tot persoon die privacy vereist, is verhuisd naar platforms zoals WhatsApp (en vele anderen) die native end-to-end versleuteling bieden.
Zowel PGP als S/MIME vereisen een mailclient die sleutels en certificaten kan gebruiken. Veel desktop- en mobiele clients, inclusief Apple Mail, Microsoft Outlook en Mozilla Thunderbird voldoen aan de eisen, evenals bedrijfsversies van sommige webclients zoals Microsoft Office 365. Het instellen van de sleutels kost moeite, maar veel organisaties vinden het nog steeds de moeite waard, ondanks recente kwetsbaarheidsmeldingen die remedies vereisen om het laden van externe inhoud te blokkeren.
S/MIME bestaat al sinds 1995 en heeft verschillende revisies ondergaan; de huidige versie wordt gedekt door RFC 5751. Het vereist de uitwisseling van openbare sleutels, een niet-triviale taak die vaak ondersteuning van een IT-team of een vergelijkbare bron vereist. Voor organisaties die e-mailinfrastructuur op locatie gebruiken, vereist de implementatie van S/MIME aanvullende overwegingen voor platforms zoals PowerMTA en Momentum, die we behandelen in onze handleiding over S/MIME voor veilige e-mail op locatie. Er zijn echter geautomatiseerde benaderingen om dit proces te stroomlijnen, zoals het verzamelen van openbare sleutels van ontvangers via e-mailsystemen die het beheer van sleutels voor app-gegenereerde e-mailstromen kunnen vereenvoudigen. Hier komen commerciële oplossingen van bedrijven zoals SparkPost-partners Virtru en Echoworkx in beeld, die beveiliging gemakkelijker maken voor zakelijke e-mail van persoon tot persoon (zie onze SparkPost/Echoworkx how-to voor meer informatie).
Dat gezegd hebbende, laten we wat dieper ingaan op de klassieke S/MIME en kijken wat we ermee kunnen doen.
Waarom zou ik me daar druk om maken?
De korte versie:
Encryptie biedt je berichtprivacy.
Ondertekening geeft je authenticatie (van de afzender), niet-repudiatie van oorsprong, en berichtintegriteitscontroles.
S/MIME werkt anders dan DKIM en DMARC en kan naast hen bestaan.
Privacy
Als je berichten niets persoonlijks, privé, of wettelijk belangrijks bevatten, hoef je waarschijnlijk niet aan S/MIME te denken. Moderne e-mailbezorgsystemen zoals SparkPost gebruiken al "opportunistische TLS" om het berichtenverkeer van de verzendende server naar de ontvangende server te beveiligen.
Het "opportunistische" deel betekent echter dat als de verzendende server geen beveiligde verbinding kan onderhandelen, we de mail in platte tekst zullen verzenden. Dit is niet geschikt als je de boodschap onderweg volledig veilig wilt houden. Je kunt een kijkje nemen bij welke mailboxproviders beweren TLS-ondersteuning te hebben en welke dat daadwerkelijk doen. Als de server van de ontvanger TLS ondersteunt, wordt je bericht als volgt beveiligd:

TLS beveiligt de gesprekken tussen mailservers (daarom wordt het Transport Layer Security genoemd). MIME (inclusief S/MIME) houdt zich bezig met de berichtinhoud en de behandeling ervan, en kan worden beschouwd als onderdeel van de "Presentatielaag".
S/MIME beveiligt de berichtinhoud van begin tot eind ("end to end") van de berichtbron tot de e-mailclient van de ontvanger, waarbij de berichtinhoud wordt ingekapseld.

S/MIME versleutelt de berichtinhoud met de openbare sleutel van de ontvanger. De inhoud kan niet worden gedecodeerd zonder de privésleutel van de ontvanger—niet door enige "persoon in het midden" zoals je ISP, SparkPost of de mailserver van de ontvanger.
De privésleutel wordt nooit bekendgemaakt; hij blijft in het exclusieve bezit van de ontvanger. Het versleutelde bericht reist over het internet naar de ontvangende mailserver. Wanneer het in de inbox van de ontvanger belandt, wordt het (meestal automatisch) gedecodeerd met hun privésleutel en leesbaar gemaakt.
Een paar S/MIME valkuilen om je van bewust te zijn:
S/MIME-encryptie heeft als neveneffect dat servergebaseerde inkomende berichtenscanning op malware wordt voorkomen, omdat de berichtinhoud versleuteld is en daarom onidentificeerbaar.
Merk op dat de berichtkoppen (Van:, Aan:, Onderwerp: enz.) niet zijn versleuteld, dus de inhoud van de onderwerpregel moet met dat in gedachten worden gecreëerd.
Ondertekening – authenticatie
S/MIME biedt de ontvanger ook de mogelijkheid om te controleren dat de identiteit van de berichtafzender is wie ze zeggen dat ze zijn.
De e-mail van de afzender heeft een certificaat bijgevoegd, dat, net als het certificaat op een beveiligde website, kan worden herleid tot een uitgevende autoriteit. Voor een volledige beschrijving van het ondertekeningsproces, zie de S/MIME signing process PDF.
We zullen de aanpak hanteren om de mail eerst te ondertekenen en daarna te versleutelen, zodat het proces er zo uitziet.

Niet-repudiatie
Een ander nuttig voordeel van ondertekening voor de ontvanger is niet-repudiatie van oorsprong. Stel je een situatie voor waarin een e-mailbericht wordt gebruikt om een contract goed te keuren. De ontvanger ontvangt het contract in een bericht van de afzender. Als de afzender later probeert te zeggen: "Nee, ik heb dat bericht nooit naar je verstuurd", dan toont het ontvangen bericht aan dat het certificaat van de afzender daadwerkelijk werd gebruikt.
Berichtintegriteit
Het ondertekeningsproces creëert een vingerafdruk van het de originele bronbericht (bekend als een berichtsamenvatting), versleutelt de samenvatting met de privésleutel van de afzender en voegt deze toe aan het afgeleverde bericht. De mailclient van de ontvanger kan nagaan of de berichtinhoud is gemanipuleerd.
Misschien zou je zeggen: "Ik dacht dat DKIM mij berichtintegriteitscontroles biedt!" Ja, DKIM biedt integriteitscontroles voor zowel de berichtinhoud als de berichtkop - garanties tegen manipulatie. Echter, DKIM-falen (of afwezigheid) zal doorgaans niet betekenen dat het inkomende bericht volledig ongeldig wordt verklaard… tenzij er een DMARC-beleid van p=reject wordt gehanteerd (zie ons blogbericht DMARC: Hoe je je e-mailreputatie beschermt). DKIM is een aspect van vele die door de ISP worden gebruikt voor betrouwbare toewijzing van reputatie aan een domein en is natuurlijk een essentieel onderdeel van je berichtenstack.
Je mailclient zal je prominent laten zien als een S/MIME-bericht faalt bij ondertekeningscontroles:

Samenvatting: end-to-end (S/MIME) versus server-naar-server (DKIM, DMARC, TLS)
S/MIME is een presentatielaagcapaciteit die kan werken tussen twee e-mailgebruikers (met geldige certificaten/sleutels) zonder enige actie van de e-mailbeheerder. S/MIME biedt encryptie en ondertekening en is persoonlijk voor elke gebruiker.
S/MIME is gekoppeld aan het volledige verzendadres (lokaal deel en domeindeel), dus, bijvoorbeeld, alice@bigcorp.com en bob@bigcorp.com zouden verschillende certificaten moeten hebben. In tegenstelling hiermee valideert DKIM dat de e-mail afkomstig is van het ondertekenende domein. DKIM is een onderwerp op zichzelf; dit artikel is een goede plek om te beginnen.
DKIM en DMARC-instellingen worden gedaan door je e-mailbeheerder (werkend aan de mailserver en DNS records). Eenmaal ingesteld, zijn ze actief voor domeinen, in plaats van individuele gebruikers.
Hoe verhoudt dit zich tot SparkPost?
Welke clients ondersteunen S/MIME?
Consumer Gmail
De gewone Gmail-webclient toont inkomende e-mailsignaturen (zie hieronder), maar is niet ingesteld om uw privésleutel te bewaren om versleutelde berichten te lezen. Zelfs als dat mogelijk was via plug-ins van derden, is het uploaden van uw privésleutel vanuit veiligheidsoogpunt geen goed idee.

Ik kon Yahoo! Mail helemaal niet zover krijgen om handtekeningen in berichten te decoderen.
De consumentenversie van Microsoft Outlook/Hotmail-accounts waarschuwt u voor de aanwezigheid van een S/MIME-handtekening, maar geeft u geen volledige toegang om het certificaat te bekijken of te controleren.

Gehoste zakelijke e-mail
Voor organisaties met gehoste e-mail bieden Microsoft Office 365 en G Suite Enterprise S/MIME-ondersteuning.
Outlook-mailclients
Client-gebaseerde Microsoft Outlook (bijv. 2010 voor Windows) werkt:

Door op de pictogrammen te klikken, krijgt u meer informatie:


In Outlook 2010 / Windows wordt het certificatensysteem geopend via Bestand / Opties / Vertrouwenscentrum / Instellingen Vertrouwenscentrum / E-mailbeveiliging / Importeren / Exporteren.

Thunderbird – cross-platform en gratis
Als u op zoek bent naar een gratis client, is Mozilla Thunderbird een goede keuze. Het is beschikbaar op pc, Mac en Linux en ondersteunt S/MIME op al deze systemen. Zo ziet een bericht eruit op een Mac. Het pictogram van de “verzegelde enveloppe” geeft aan dat het bericht is ondertekend en het hangslot dat het bericht is versleuteld.

Door op de envelop/hangslot te klikken, worden gegevens over het bericht weergegeven:

Thunderbird heeft zijn eigen sleutelsysteem, dat op elke platform vergelijkbaar toegankelijk is:
Mac via Voorkeuren / Geavanceerd / Certificaten / Beheer certificaten
PC: menu (“hamburger” rechtsboven), Geavanceerd / Certificaten / Beheer certificaten
Linux: menu (“hamburger” rechtsboven), Voorkeuren / Geavanceerd / Beheer certificaten
Mac Mail
Mac Mail ondersteunt ook S/MIME. Het vertrouwt op uw Mac-sleutelhanger om uw sleutels te bewaren.

iOS Mail
Importeer eerst het certificaat van uw e-mailaccount zoals dit, en dan kunt u S/MIME ondertekende en versleutelde e-mails bekijken. Ze zien er in het weergavescherm niet echt anders uit.



Android
Sommige apparaten en apps ondersteunen S/MIME; er is veel variatie beschikbaar. Samsung heeft een gids.
Eindelijk…
Dat is ons korte overzicht van de praktische toepassingen van S/MIME. Als je je eigen mailcertificaten wilt verkrijgen, is er hier een lijst van aanbieders. Ik vond Comodo goed werken (gratis voor niet-commercieel gebruik – open dit in Firefox, niet in Chrome).
In deel 2 zullen we onderzoeken hoe we S/MIME ondertekening en encryptie kunnen toepassen op berichten die je via SparkPost verstuurt.
Verder lezen
Microsoft heeft een goed inleidend artikel over S/MIME in hun documentatie.
Voor meer info over de EFAIL-kwetsbaarheid en hoe deze is aangepakt, zie de officiële EFAIL-website. Andere makkelijk te volgen uitleg is beschikbaar op de EFAIL wiki-pagina en in CipherMail's blogpost EFAIL: Which is vulnerable, PGP, S/MIME or your mail client?.