
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.
Business in a box.
Ontdek onze oplossingen.
Praat met ons verkoopteam
S/MIME is een al lang bestaande methode voor het verzenden van versleutelde, ondertekende e-mails, gebaseerd op openbare internetstandaarden. We komen regelmatig vereisten voor S/MIME tegen, met name uit gereguleerde sectoren zoals bankwezen, gezondheidszorg en financiën. S/MIME is vaak vereist bij communicatie tussen bedrijven en overheidsinstanties, bijvoorbeeld.
Een andere beveiligde mailstandaard, PGP (grappig genoeg genoemd "Pretty Good Privacy"), wordt meer gebruikt voor veilige persoon-tot-persoon communicatie. Het is nu minder populair omdat de consumentenversies van populaire webgebaseerde e-mailclients zoals Gmail en Outlook/Hotmail geen versleutelde mail kunnen weergeven. Dat is een reden waarom veel persoon-tot-persoon communicatie die privacy vereist, is overgestapt naar platforms zoals WhatsApp (en vele anderen) die native end-to-end encryptie bieden.
Zowel PGP als S/MIME vereisen een mailclient die sleutels en certificaten kan gebruiken. Veel desktop- en mobiele clients, waaronder Apple Mail, Microsoft Outlook en Mozilla Thunderbird voldoen hieraan, evenals zakelijke versies van enkele webclients zoals Microsoft Office 365. Het opzetten van de sleutels kost inspanning, maar veel organisaties vinden het nog steeds de moeite waard, ondanks recente kwetsbaarheidsaankondigingen die oplossingen vereisten om laden van externe inhoud te blokkeren.
S/MIME bestaat al sinds 1995 en is door verschillende revisies gegaan; de huidige versie valt onder RFC 5751. Het vereist de uitwisseling van openbare sleutels, een niet-triviale taak die vaak de ondersteuning van een IT-team of een vergelijkbare bron vereist. Dit is waar commerciële oplossingen van bedrijven zoals SparkPost-partners Virtru en Echoworkx van pas komen, waardoor beveiliging eenvoudiger wordt voor persoon-tot-persoon zakelijke mailing (zie onze SparkPost/Echoworkx how-to voor meer informatie).
Dat gezegd hebbende, laten we eens dieper ingaan op gewone oude S/MIME en kijken wat we ermee kunnen doen.
Waarom zou ik me daar druk om maken?
De korte versie:
Encryptie geeft je berichtprivacy.
Ondertekening geeft je authenticatie (van de afzender), niet-weigering van oorsprong, en controle van de integriteit van berichten.
S/MIME werkt anders dan DKIM en DMARC en kan naast hen bestaan.
Privacy
Als je berichten niets persoonlijks, vertrouwelijks of juridisch belangrijks bevatten, is de kans groot dat je niet aan S/MIME hoeft te denken. Moderne e-mailbezorgsystemen zoals SparkPost gebruiken al "opportunistische TLS" om het berichttransport van de verzendende server naar de ontvangende server te beveiligen.
Het "opportunistische" gedeelte betekent echter dat als de verzendende server geen veilige verbinding kan onderhandelen, we de mail in platte tekst sturen. Dit is niet geschikt als je wilt dat het bericht over de hele weg veilig is. Je kunt een kijkje nemen bij welke mailboxproviders TLS-ondersteuning claimen en welke dat daadwerkelijk doen. Aangenomen dat de server van de ontvanger TLS ondersteunt, is je bericht als volgt beveiligd:

TLS beveiligt de gesprekken tussen mailservers (waarom het Transport Layer Security wordt genoemd). MIME (inclusief S/MIME) houdt zich bezig met de inhoud van berichten en de behandeling daarvan, en kan worden gezien als onderdeel van de "Presentatielaag".
S/MIME beveiligt de berichtinhoud helemaal van het berichtbegin tot de ontvangende mailclient, waarbij de berichttekst wordt ingekapseld.

S/MIME versleutelt de berichttekst met de openbare sleutel van de ontvanger. De tekst kan niet worden gedecodeerd zonder de privésleutel van de ontvanger—niet door een "persoon in het midden" zoals je ISP, SparkPost, of de mailserver van de ontvanger.
De privésleutel wordt nooit onthuld; deze is uitsluitend in het bezit van de ontvanger. Het versleutelde bericht reist over 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.
Een paar S/MIME valkuilen om op te letten:
S/MIME encryptie heeft als bijwerking dat servergebaseerde inbox-scanning op malware wordt voorkomen omdat de berichtinhoud in versleutelde vorm is en daarom onherkenbaar.
Merk op dat de berichtheaders (Van:, Aan:, Onderwerp: enzovoort) niet versleuteld zijn, dus de inhoud van het onderwerp moet daar rekening mee houden.
Ondertekening – authenticatie
S/MIME biedt de ontvanger ook de mogelijkheid om te controleren dat de identiteit van de afzender 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 instantie. Er is een volledige beschrijving van het ondertekeningsproces hier.
We nemen de aanpak om de e-mail eerst te ondertekenen en vervolgens te versleutelen, zodat het proces er als volgt uitziet.

Niet-weigering
Een ander nuttig voordeel van ondertekening voor de ontvanger is niet-weigering van oorsprong. Overweeg een situatie waarbij een e-mailbericht wordt gebruikt om een contract goed te keuren. De ontvanger krijgt het contract in een bericht van de afzender. Als de afzender later probeert te zeggen: "Nee, ik heb dat bericht nooit naar jou verzonden", dan laat het ontvangen bericht zien dat het certificaat van de afzender daadwerkelijk is gebruikt.
Berichtintegriteit
Het ondertekeningsproces creëert een vingerafdruk van het onbewerkte bronbericht (bekend als een berichtdigest), versleutelt de digest met de privésleutel van de afzender, en voegt deze toe aan het geleverde bericht. De mailclient van de ontvanger kan zien of er met de berichttekst is geknoeid.
Misschien zeg je: "Ik dacht dat DKIM me berichtintegriteitscontroles geeft!" Nou ja, DKIM biedt integriteitscontroles van berichttekst en berichtheaders – garanties tegen knoeien. Echter, DKIM-falen (of afwezigheid) zal meestal niet ervoor zorgen dat het inkomende bericht als volledig ongeldig wordt gemarkeerd, ...tenzij een DMARC beleid van `p=reject` van kracht is (meer over DMARC hier). DKIM is één van de vele factoren 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 duidelijk laten zien als een S/MIME-bericht faalt bij handtekeningcontroles:

Samenvatting: end-to-end (S/MIME) vs server-server (DKIM, DMARC, TLS)
S/MIME is een presentatielaagmogelijkheid 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 heel apart onderwerp; dit artikel is een goed startpunt.
DKIM en DMARC configuratie wordt gedaan door je e-mailbeheerder (werkzaam op de mailserver en DNS-records). Na de configuratie 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 binnenkomende e-mailhandtekeningen (zie hieronder), maar is niet ingesteld om uw privésleutel te bewaren om versleutelde berichten te lezen. Zelfs als dat mogelijk was via invoegtoepassingen van derden, is het uploaden van uw privésleutel geen goed idee vanuit beveiligingsoogpunt.

Ik kon Yahoo! Mail nergens vinden om handtekeningen in berichten te decoderen.
De consumentversie 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.

Hosted business mail
Voor organisaties met gehoste mail hebben Microsoft Office 365 en G Suite Enterprise S/MIME-ondersteuning.
Outlook mail clients
Client-gebaseerde Microsoft Outlook (bijv. 2010 voor Windows) werkt:

Klikken op de iconen geeft u meer informatie:


Op Outlook 2010 / Windows wordt de certificaatopslag geopend via Bestand / Opties / Vertrouwenscentrum / Vertrouwenscentruminstellingen / E-mailbeveiliging / Importeren / Exporteren.

Thunderbird – cross-platform and free
Als u op zoek bent naar een gratis client, Mozilla Thunderbird voldoet. Het is beschikbaar op pc, Mac en Linux, en ondersteunt S/MIME op al deze platforms. Zo ziet een bericht eruit op Mac. Het 'gesloten envelop'-pictogram geeft aan dat het bericht is ondertekend, en het hangslot geeft aan dat het is versleuteld.

Klikken op de envelop/hangslot toont informatie over het bericht:

Thunderbird heeft zijn eigen sleutelopslag, toegankelijk op vergelijkbare manieren op elk platform:
Mac via Voorkeuren / Geavanceerd / Certificaten / Certificaten beheren
PC: menu ("hamburger" rechtsboven), Geavanceerd / Certificaten / Certificaten beheren
Linux: menu ("hamburger" rechtsboven), Voorkeuren / Geavanceerd / Certificaten beheren
Mac Mail
Mac Mail ondersteunt ook S/MIME. Het maakt gebruik van uw Mac-sleutelhanger om uw sleutels te houden.

iOS Mail
Importeer eerst het certificaat van uw e-mailaccount op deze manier, dan kunt u S/MIME ondertekende en versleutelde e-mails bekijken. Ze zien er op het kijkscherm 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 krijgen, is er hier een lijst van providers. Ik vond dat Comodo goed werkt (gratis voor niet-commercieel gebruik - open dit in Firefox, niet Chrome).
In deel 2 zullen we verkennen hoe we S/MIME ondertekening en versleuteling kunnen toepassen op berichten die je via SparkPost verzendt.
Verder lezen
Microsoft heeft een goed inleidend artikel over S/MIME hier.
Voor meer informatie over de EFAIL-kwetsbaarheid en hoe dit is aangepakt, is deze de definitieve site. Andere makkelijk te volgen uitleg is hier en hier.