
S/MIME est une méthode bien établie pour envoyer des e-mails cryptés et signés, basée sur des normes publiques Internet. Nous rencontrons régulièrement des demandes pour S/MIME, particulièrement de la part d'industries réglementées telles que la banque, la santé et la finance.
S/MIME est une méthode établie de longue date pour envoyer des e-mails chiffrés et signés, basée sur des normes Internet publiques. Nous rencontrons régulièrement des exigences pour S/MIME, en particulier de la part de secteurs réglementés tels que la banque, la santé et la finance. S/MIME est souvent requis lors de communications entre entreprises et agences gouvernementales, par exemple.
Une autre norme de courrier sécurisé, PGP (amusamment nommée « Pretty Good Privacy »), est utilisée davantage pour les communications sécurisées de personne à personne. Elle est moins populaire maintenant parce que les versions grand public des clients de messagerie basés sur le Web, tels que Gmail et Outlook/Hotmail, ne peuvent pas afficher les e-mails chiffrés. C’est l’une des raisons pour lesquelles de nombreuses communications de personne à personne nécessitant de la confidentialité ont migré vers des plateformes telles que WhatsApp (et bien d'autres) qui offrent un chiffrement de bout en bout natif.
Tant PGP que S/MIME nécessitent un client de messagerie capable d'utiliser des clés et des certificats. De nombreux clients de bureau et mobiles, y compris Apple Mail, Microsoft Outlook et Mozilla Thunderbird répondent aux critères, tout comme les versions professionnelles de certains clients Web tels que Microsoft Office 365. La configuration des clés demande du travail, mais de nombreuses organisations considèrent toujours cela comme valable, malgré les récentes divulgations de vulnérabilités nécessitant des remèdes pour bloquer le chargement de contenu distant.
S/MIME existe depuis 1995 et a connu plusieurs révisions; la version actuelle est couverte par RFC 5751. Il requiert un échange de clés publiques, une tâche non triviale qui nécessite souvent le soutien d'une équipe informatique ou d'une ressource similaire. Pour les organisations utilisant une infrastructure de messagerie sur site, la mise en œuvre de S/MIME nécessite des considérations supplémentaires pour des plateformes comme PowerMTA et Momentum, que nous abordons dans notre guide sur S/MIME pour la messagerie sécurisée sur site. Cependant, il existe des approches automatisées pour rationaliser ce processus, telles que la collecte des clés publiques des destinataires via des systèmes basés sur les e-mails qui peuvent simplifier la gestion des clés pour les flux de courriels générés par des applications. C’est là que des solutions commerciales d'entreprises partenaires de SparkPost, telles que Virtru et Echoworkx, interviennent, facilitant la sécurité pour les courriers professionnels de personne à personne (voir notre guide pratique SparkPost/Echoworkx pour plus d'informations).
Ceci étant dit, explorons plus en profondeur le bon vieux S/MIME et voyons ce que nous pouvons en faire.
Pourquoi devrais-je m'en soucier ?
La version courte :
Le chiffrement vous offre la confidentialité des messages.
La signature vous offre l'authentification (de l'expéditeur), la non-répudiation de l'origine et des vérifications de l'intégrité des messages.
S/MIME fonctionne différemment de DKIM et DMARC et peut coexister avec eux.
Confidentialité
Si vos messages ne contiennent rien de personnel, privé ou juridiquement important, alors vous n'aurez probablement pas besoin de penser à S/MIME. Les systèmes de livraison d'e-mails modernes tels que SparkPost utilisent déjà le « TLS opportuniste » pour sécuriser le transport du message du serveur d'envoi au serveur destinataire.
La partie « opportuniste » signifie cependant que si le serveur d'envoi ne peut pas négocier une connexion sécurisée, nous enverrons le courrier en texte clair. Cela n'est pas adapté si vous souhaitez forcer la sécurité du message de bout en bout. Vous pouvez jeter un œil sur les fournisseurs de boîtes mail qui prétendent supporter TLS et ceux qui le font réellement. En supposant que le serveur du destinataire supporte TLS, votre message est sécurisé de cette manière :

TLS sécurise les conversations entre serveurs de messagerie (ce qui explique pourquoi on l'appelle Sécurité de la couche de transport). MIME (y compris S/MIME) s'occupe du contenu du message et de son traitement, et peut être considéré comme faisant partie de la « couche Présentation ».
S/MIME sécurise le contenu du message de bout en bout (« end to end ») depuis l'origine du message jusqu'au client mail du destinataire, encapsulant le corps du message.

S/MIME chiffre le corps du message avec la clé publique du destinataire. Le corps ne peut pas être décodé sans la clé privée du destinataire — ni par aucun « intermédiaire » tel que votre ISP, SparkPost ou le serveur de messagerie du destinataire.
La clé privée n'est jamais divulguée ; elle est gardée en la possession exclusive du destinataire. Le message chiffré transite sur Internet vers le serveur de messagerie récepteur. Lorsqu'il arrive dans la boîte de réception du destinataire, il est (généralement automatiquement) déchiffré avec sa clé privée et devient lisible.
Quelques pièges du S/MIME dont il faut être conscient :
Le chiffrement S/MIME a pour effet secondaire de prévenir l'analyse des messages entrants par le serveur pour identifier les malwares parce que le payload du message est sous forme chiffrée et donc non identifiable.
Notez que les en-têtes du message (De : À : Sujet : etc) ne sont pas chiffrés, donc le contenu de la ligne de sujet doit être créé en gardant cela à l'esprit.
Signature – Authentification
S/MIME offre également au destinataire la capacité de vérifier que l'identité de l'expéditeur du message est bien celle qu'il prétend être.
L'email de l'expéditeur a un certificat attaché qui, un peu comme le certificat sur un site web sécurisé, peut être retracé jusqu'à une autorité d'émission. Une description complète du processus de signature est disponible ici.
Nous prendrons l'approche de signer le courrier en premier, puis de le chiffrer, de sorte que le processus ressemble à ceci.

Non-répudiation
Un autre avantage utile de la signature pour le destinataire est la non-répudiation de l'origine. Considérez une situation où un message email est utilisé pour approuver un contrat. Le destinataire reçoit le contrat dans un message de l'expéditeur. Si l'expéditeur essaie plus tard de dire : « Non, je ne vous ai jamais envoyé ce message », alors le message reçu montre que le certificat de l'expéditeur a bien été utilisé.
Intégrité du message
Le processus de signature crée une empreinte du message source en clair (connu sous le nom de digest du message), chiffre le digest en utilisant la clé privée de l'expéditeur et l'inclut dans le message livré. Le client de messagerie du destinataire peut détecter si le corps du message a été altéré.
Peut-être diriez-vous, « Je pensais que DKIM me garantissait des vérifications d'intégrité des messages ! » Eh bien oui, DKIM fournit des vérifications d'intégrité du corps du message et des en-têtes de message – des garanties anti-altération. Cependant, l'échec de DKIM (ou son absence) ne fera généralement pas en sorte que le message entrant soit marqué comme complètement invalide, sauf si une politique DMARC de `p=reject` est en jeu (en savoir plus sur DMARC ici). DKIM est un facteur parmi beaucoup d'autres utilisés par l'ISP pour l'attribution fiable de la réputation à un domaine et est, bien sûr, une partie essentielle de votre pile de messagerie.
Votre client de messagerie vous informera de manière visible si un message S/MIME échoue aux vérifications de signature :

Résumé : de bout en bout (S/MIME) vs de serveur à serveur (DKIM, DMARC, TLS)
S/MIME est une capacité de la couche présentation qui peut fonctionner entre deux utilisateurs finaux de messagerie (avec certificats/clés valides) sans aucune action par l'administrateur de l'email. S/MIME fournit l'encryption et la signature et est personnelle à chaque utilisateur.
S/MIME est lié à l'adresse d'envoi complète (partie locale et partie domaine), donc, par exemple, alice@bigcorp.com et bob@bigcorp.com devraient avoir différents certificats. En revanche, DKIM valide que l'email provient du domaine signataire. DKIM est un sujet à part entière ; cet article est un bon endroit pour commencer.
La configuration DKIM et DMARC est effectuée par votre administrateur email (travaillant sur le serveur de messagerie et les enregistrements DNS). Une fois configurés, ils sont actifs pour les domaines, plutôt que pour les utilisateurs individuels.
Comment cela se rapporte-t-il à SparkPost ?
Quels clients prennent en charge S/MIME ?
Consumer Gmail
Le client web Gmail ordinaire affiche les signatures des courriers entrants (voir ci-dessous), mais il n'est pas configuré pour conserver votre clé privée afin de lire les messages chiffrés. Même si c'était possible via des plugins tiers, télécharger votre clé privée n'est pas une bonne idée du point de vue de la sécurité.

Je n'ai pas pu obtenir que Yahoo! Mail décode les signatures dans les messages.
La version grand public des comptes Microsoft Outlook/Hotmail vous avertit de la présence d'une signature S/MIME, mais ne vous donne pas un accès complet pour voir ou vérifier le certificat.

Hosted business mail
Pour les organisations avec courrier hébergé, Microsoft Office 365 et G Suite Enterprise prennent en charge S/MIME.
Outlook mail clients
La version client de Microsoft Outlook (par exemple, 2010 pour Windows) fonctionne :

Cliquer sur les icônes vous donne plus d'informations :


Sur Outlook 2010 / Windows, le magasin de certificats est accessible via Fichier / Options / Centre de confiance / Paramètres du centre de confiance / Sécurité des e-mails / Importer / Exporter.

Thunderbird – cross-platform and free
Si vous cherchez un client gratuit, Mozilla Thunderbird est ce qu'il vous faut. Il est disponible sur PC, Mac et Linux, et prend en charge S/MIME sur toutes ces plateformes. Voici à quoi ressemble un message sur Mac. L'icône de "l'enveloppe scellée" indique que le message est signé, et le cadenas indique qu'il était chiffré.

Cliquer sur l'enveloppe/cadenas affiche des informations sur le message :

Thunderbird a son propre magasin de clés, accessible de manière similaire sur chaque plateforme :
Mac via Préférences / Avancé / Certificats / Gérer les certificats
PC : menu (« hamburger » en haut à droite), Avancé / Certificats / Gérer les certificats
Linux : menu (« hamburger » en haut à droite), Préférences / Avancé / Gérer les certificats
Mac Mail
Mac Mail prend également en charge S/MIME. Il s'appuie sur votre trousseau Mac pour conserver vos clés.

iOS Mail
D'abord, importez le certificat de votre compte e-mail comme ceci, puis vous pouvez voir les courriels signés et chiffrés S/MIME. Ils ne semblent pas vraiment différents sur l'écran d'affichage.



Android
Certains appareils et applications supportent S/MIME ; il y a beaucoup de variété disponible. Samsung a un guide.
Enfin…
C'est notre aperçu rapide des utilisations pratiques de S/MIME. Si vous souhaitez obtenir vos propres certificats de messagerie, il y a une liste de fournisseurs ici. J'ai trouvé que Comodo fonctionne bien (gratuit pour un usage non commercial – ouvrez ceci dans Firefox, pas Chrome).
Dans la deuxième partie, nous explorerons comment appliquer la signature et le cryptage S/MIME aux messages que vous livrez via SparkPost.
Lectures complémentaires
Microsoft a un bon article introductif sur S/MIME ici.
Pour plus d'informations sur la vulnérabilité EFAIL et comment elle a été traitée, ceci est le site définitif. D'autres explications faciles à suivre sont ici et ici.