
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 emails chiffrés et signés, basée sur les normes Internet publiques. Nous rencontrons régulièrement des exigences pour S/MIME, notamment de la part des industries réglementées telles 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 messagerie sécurisée, PGP (amusamment nommée « Pretty Good Privacy »), est plus utilisée pour les communications sécurisées de personne à personne. Elle est moins populaire maintenant parce que les versions grand public des clients de messagerie web populaires comme Gmail et Outlook/Hotmail ne sont pas capables d'afficher les emails chiffrés. C’est une des raisons pour lesquelles beaucoup de communications de personne à personne nécessitant la confidentialité ont basculé vers des plateformes telles que WhatsApp (et bien d’autres) qui offrent un chiffrement natif de bout en bout.
Les deux PGP et 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 à cette exigence, tout comme les versions professionnelles de certains clients web comme Microsoft Office 365. La mise en place des clés demande du travail, mais de nombreuses organisations estiment encore que cela vaut la peine, malgré les récentes révélations de vulnérabilités nécessitant des remèdes pour bloquer le chargement de contenu distant.
S/MIME existe depuis 1995 et a traversé plusieurs révisions ; la version actuelle est couverte par RFC 5751. Il nécessite l'é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. C'est là que les solutions commerciales de sociétés telles que les partenaires de SparkPost, Virtru et Echoworkx, interviennent, facilitant la sécurité des emails d'entreprise de personne à personne (voir notre guide SparkPost/Echoworkx pour plus d'informations).
Cela dit, plongeons un peu plus profondément dans le bon vieux S/MIME pour voir 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 fournit l'authentification (de l'expéditeur), la non-répudiation de l'origine et les vérifications d'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 modernes de livraison de courrier électronique, tels que SparkPost, utilisent déjà le «TLS opportuniste» pour sécuriser le transport du message du serveur d’envoi au serveur du destinataire.
Cependant, la partie « opportuniste » signifie que si le serveur d'envoi ne peut pas négocier une connexion sécurisée, nous enverrons le courrier en texte clair. Ceci n’est pas approprié si vous voulez forcer le message à être sécurisé tout au long. Vous pouvez jeter un coup d'œil à quels fournisseurs de boîtes aux lettres prétendent supporter TLS et lesquels le font réellement. En supposant que le serveur du destinataire prend en charge TLS, votre message est sécurisé de cette manière :

TLS sécurise les conversations entre serveurs de messagerie (d'où le nom de Transport Layer Security). MIME (y compris S/MIME) concerne le contenu du message et son traitement, et peut être considéré comme faisant partie de la « couche de présentation ».
S/MIME sécurise le contenu du message tout le long (« de bout en bout ») de l'origine du message au client de messagerie 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 une « personne au milieu » comme votre FAI, SparkPost, ou le serveur de messagerie du destinataire.
La clé privée n'est jamais divulguée ; elle reste en possession exclusive du destinataire. Le message chiffré voyage sur Internet jusqu'au 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 leur clé privée et devient lisible.
Quelques pièges S/MIME dont il faut être conscient :
Le chiffrement S/MIME a pour effet secondaire d'empêcher l'analyse des messages entrants par le serveur à la recherche de logiciels malveillants, car la charge utile du message est sous forme chiffrée et donc non identifiable.
Notez que les en-têtes de message (De :, À :, Sujet : etc.) ne sont pas chiffrés, donc le contenu de la ligne d'objet doit être créé en tenant compte de cela.
Signature – authentification
S/MIME offre également au destinataire la possibilité 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 comporte un certificat attaché qui, de la même manière que le certificat sur un site web sécurisé, peut être retracé jusqu'à une autorité de délivrance. Il y a une description complète du processus de signature ici.
Nous adopterons l'approche consistant à signer le courrier d'abord, puis à le chiffrer, afin 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 électronique 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 en fait été utilisé.
Intégrité des messages
Le processus de signature crée une empreinte du message source en clair (connue sous le nom de condensé de message), chiffre le condensé en utilisant la clé privée de l'expéditeur et l'inclut dans le message livré. Le client de messagerie du destinataire peut dire si le corps du message a été altéré.
Peut-être diriez-vous, « Je pensais que DKIM me donnait des vérifications d'intégrité des messages ! » En effet, DKIM fournit vérifications d'intégrité du corps du message et des en-têtes de message - garanties anti-tampering. Cependant, un échec DKIM (ou absence) ne rendra généralement pas le message entrant complètement invalide, ...sauf si une politique DMARC de `p=reject` est en jeu (plus sur DMARC ici). DKIM est un des nombreux facteurs utilisés par le FAI pour attribuer une réputation fiable à un domaine et est, bien sûr, une partie essentielle de votre pile de messagerie.
Votre client de messagerie vous montrera 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 de présentation qui peut fonctionner entre deux utilisateurs finaux de messagerie (avec des certificats/clés valides) sans aucune action de l'admin de la messagerie. S/MIME offre le chiffrement et la signature et est personnel à 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 auraient besoin de certificats différents. En revanche, DKIM valide que l'email provient du domaine signataire. DKIM est tout un sujet en soi ; cet article est un bon point de départ.
La configuration de DKIM et DMARC est effectuée par votre administrateur de messagerie (agissant 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 mails 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 cela était possible via des plugins tiers, télécharger votre clé privée n’est pas une bonne idée d’un point de vue sécurité.

Je n'ai pas pu faire en sorte 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.

Mail d'entreprise hébergé
Pour les organisations avec une messagerie hébergée, Microsoft Office 365 et G Suite Enterprise prennent en charge S/MIME.
Clients de messagerie Outlook
Microsoft Outlook basé sur le client (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 gestion de la confidentialité / Paramètres du centre de gestion de la confidentialité / Sécurité des e-mails / Importer / Exporter.

Thunderbird – multiplateforme et gratuit
Si vous cherchez un client gratuit, Mozilla Thunderbird répond à vos besoins. Il est disponible sur PC, Mac et Linux, et prend en charge S/MIME sur tous ces systèmes. Voici à quoi ressemble un message sur Mac. L'icône "enveloppe scellée" indique que le message est signé, et le cadenas indique qu'il a été chiffré.

Cliquer sur l’enveloppe/cadenas affiche les infos sur le message :

Thunderbird possède 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
Tout d’abord, importez le certificat de votre compte de messagerie comme ceci, puis vous pouvez voir les emails signés et chiffrés S/MIME. Ils n'ont pas vraiment l'air différent sur l'écran de visualisation.



Android
Certains appareils et applications prennent en charge S/MIME; il y a beaucoup de variété. 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 une utilisation non commerciale - ouvrez-le dans Firefox, pas dans Chrome).
Dans la partie 2, nous explorerons comment appliquer la signature et le chiffrement S/MIME aux messages que vous envoyez via SparkPost.
Lecture complémentaire
Microsoft a un bon article d'introduction sur S/MIME ici.
Pour plus d'informations sur la vulnérabilité EFAIL et comment elle a été abordée, ceci est le site de référence. D'autres explications faciles à suivre sont ici et ici.