Courrier électronique

Le courrier électronique, c'est bien pratique!

C'est très souvent l'email qui est utilisé pour réinitialiser les mots de passe de vos comptes internet ou communiquer avec des administrations ou des entreprises. Contrairement aux messageries instantanées et sécurisées, il est universel : on peut envoyer un message électronique à quiconque est en possession d'une adresse électronique, quel qu'en soit le fournisseur. Etant donné son universalité, chacun d'entre nous possède au moins une et plus souvent même plusieurs adresses email pour nos différents usages.

Des informations et documents importants, officiels, transitent par ce canal, donc étant donné sa sensibilité, on imagine qu'elle est sécurisée... Vraiment ?

Rappelons les fondamentaux :

  • L'adresse de messagerie est composée d'un identifiant séparé du nom de domaine par @ (ex : toto@cmonmail.fr).
  • Le programme sur votre terminal est le client de messagerie et il envoie les mails vers un serveur de messagerie.
  • Il y a 2 types de protocoles pour les serveurs de mail, celui d'envoi qui utilise le protocole SMTP (Simple Mail Transfer Protocol) et celui de réception qui utilise POP (Post Office Protocol) ou IMAP (Internet Message Access Protocol). Le 1er télécharge le message du serveur sur le client, le 2nd stocke le message sur le serveur et l'affiche sur le client.

Etape 1
Vous rédigez un message dans votre client de messagerie, celui-ci est alors "en clair" car l'application que vous utilisez n'est pas chiffrée (Outlook, GMail, Thunderbird, etc...).

Etape 2
Pour l'envoyer au destinataire, vous le téléversez du client de messagerie vers le serveur de messagerie à l'aide du protocole SMTP. Ce protocole utilise des ports, qui sont comme des "portes" permettant d'identifier l'emplacement des données à livrer entre un client et un serveur. Ces ports portent des numéros de 1 à 65 536 et chacun sert à transmettre un certain type d'information. Les ports pour les protocoles mail sont :

  • SMTP : 25 par défaut et 465/587 pour forcer le chiffrement TLS (Transport Layer Security).
  • POP ou IMAP : 110 et 143 par défaut et 993 et 995 pour forcer le chiffrement TLS.

Etape 3
Le serveur de messagerie de votre fournisseur transfère votre message au serveur de messagerie du destinataire de votre message. (Avec souvent des passages par les serveurs intermédiaires de chaque fournisseur).

Etape 4
Le client de messagerie du destinataire va charger le message reçu sur le serveur à l'aide du protocole POP ou le lire sur le serveur avec IMAP.

Le courrier électronique n'a pas été créé pour être sécurisé, juste pour communiquer. Si vous ne faites rien, il est donc LE maillon faible de votre confidentialité (contenu lisible à plusieurs étapes) et de votre sécurité (modifiable par un tiers aux mêmes étapes).

Listons les différents niveaux de sécurité existants en fonction des moyens mis en oeuvre :

Niveau 1 : L'email n'est sécurisé à aucune étape :
=> messagerie "classique" et protocoles non sécurisés.

Transport Email non chiffré

La 1ère chose à faire est donc de s'assurer que les protocoles de chiffrement de mail pendant le transport (TLS) sont utilisés par votre messagerie (voir dans les réglages de votre appli).

Niveau 2 : L'email est sécurisé pendant son transport mais pas sur les clients et serveurs :
=> messagerie "classique" et protocoles sécurisés.

Sécurité transport Email avec TLS

L'étape suivante est donc de déployer une solution de chiffrement de contenu de l'email.

Niveau 3 : L'email est sécurisé pendant son transport et sur les serveurs mais pas sur les clients de messagerie :
=> messagerie "classique", protocoles sécurisés, chiffrement actif.

Sécurité Email avec TLS et chiffrement

L'étape suivante est donc de déployer une solution de messagerie chiffrée de bout en bout.

Niveau 4 : L'email est sécurisé de bout en bout :
=> l'utilisation d'une messagerie "classique" n'est pas possible dans cette configuration.

Sécurité Email chiffré E2EE

Les protocoles de chiffrement TLS sont de nos jours généralement activés nativement, voyons comment passer à l'étape suivante et chiffrer le contenu des emails qui transitent via les protocoles de votre messagerie habituelle : PGP (Pretty Good Privacy) et S/MIME (Secure/Multipurpose Internet Mail Extensions).

L'inconvénient de ces solutions est toutefois triple :
1- Ca nécessite une implémentation sur votre messagerie actuelle.
2- Ce n'est pas "automatique" car ça nécessite d'être en possession de la clé publique du destinataire.
3- Ca ne règle pas le problème d'absence de protection du client de messagerie (pas E2EE).

Sécuriser sa messagerie habituelle avec PGP.

Cette méthode de chiffrement date des années 90, c'est une cryptographie hybride (symétrique et asymétrique) qui permet de chiffrer et signer, est open-source et décentralisée. Elle permet de chiffrer tout type de données (y compris des fichiers et pas seulement des emails).

Fonctionnement PGP.

Pour utiliser PGP, il faut installer un module complémentaire ou choisir un service de messagerie qui propose PGP par défaut. PGP génère une paire de clés : une clé publique, qui ne sert qu’à chiffrer, et une clé privée, également appelée clé de session, qui sert à déchiffrer. Les utilisateurs doivent transmettre leur clé publique à leurs contacts. L'expéditeur utilise la clé publique du destinataire pour chiffrer l’email puis le lui envoie. Le destinataire utilise sa clé privée, dont il est seul détenteur, pour déchiffrer l’email.

  • Avantages : permet de chiffrer n'importe quelle donnée, open-source donc assurance de ne pas avoir de porte dérobée permettant de le contourner, décentralisé donc l'utilisateur positionne le curseur sécurité au niveau souhaité (durée de validité des clés, etc...), gratuit dans sa mouture GnuGPG.
  • Inconvénients (les mêmes que pour toute méthode de chiffrement) : il faut échanger une clé entre un expéditeur et un destinataire et gérer le cycle de vie des clés (sécurisation/renouvellement/révocation), il faut l'implémenter soi-même dans son client de messagerie.

La diffusion de sa clé publique peut être un vrai challenge : si vous l'envoyez via un email en "clair", rien ne garantit qu'un attaquant ne la remplace par la sienne, vous n'en saurez rien. Pour pallier ce problème, il faut soit envoyer un email signé numériquement incluant sa clé publique au destinataire, soit utiliser un serveur de clés sur lesquel on peut publier et chercher des clés publiques (ex : keys.openpgp.org). On peut aussi passer par un service transfert de fichier ou de messagerie chiffrés.

Il existe des applications pour ordinateur (GPG Suite/Tools pour Mac Os), des applications tierces et également des extensions pour navigateur, toutes Open source et gratuites (ou pas). Commençons par les implémentations dans les applis natives d'IOS et intéressons nous à l'unique appli Open source et gratuite qui s'intègre à Mail d'IOS : PGPro.

Mise en oeuvre PGP dans Mail => PGPro.

L'appli PGPro permet de chiffrer/déchiffrer un email en passant de l'appli tierce à celle de messagerie assez facilement. Le prérequis est la génération d'une paire de clé à l'aide du menu "Keychain" et l'intégration des clés publiques de vos destinataires.

Pour chiffrer : "Encryption".

1- Depuis PGPro, dans l'onglet "Encryption", sélectionner le destinataire (donc sa clé publique) et rédiger un message puis cliquer sur l'icône de courrier fermé.

Rédaction Email PGP

2- Cela vous bascule automatiquement sur l'appli Mail sur laquelle apparait le message chiffré.

Chiffrement Email PGP

3- On envoie le message de la même façon qu'habituellement dans l'appli Mail.

Pour déchiffrer : "Decryption".

1- Depuis l'appli Mail, réception de l'email chiffré et copie de son contenu.

Réception Email PGP

2- Ouvrir l'onglet "Decryption" de PGPro. Sélectionner sa clé privée et copier le contenu chiffré.

Déchiffrement Email PGP

3- Déchiffrer le message en cliquant sur l'icône de courrier ouvert.

Lecture Email PGP déchiffré

J'en vois certains qui font la grimace : installer une appli supplémentaire, gérer des clés, faire des copié/collé, ne pas pouvoir uniquement signer un message, faire l'impasse sur les pièces jointes... Ok, certaines fonctionnalités sont absentes, mais ne soyons pas injuste, ce que cette appli fait, c'est chiffrer/déchiffrer dans l'appli Mail, et elle le fait bien !

Comme j'ai anticipé la remarque, nous allons voir qu'il existe une application tierce très connue qui utilise le chiffrement PGP nativement : Proton Mail. Mais avant cela, regardons d'abord ce que S/MIME permet de faire pour rester dans l'optique de chiffrement à partir de l'appli native de courrier.

Sécuriser sa messagerie habituelle avec S/MIME.

Cette norme date également des années 90, et permet de signer et chiffrer vos messages. Contrairement à PGP, elle est centralisée et propriétaire (c'est une des raisons qui a mené au développement d'une solution Open source qui a pris la forme de PGP).

Fonctionnement S/MIME.

S/MIME utilise la cryptographie à clé publique : Une autorité de certification émet un certificat X.509 qui une fois implémenté au client de messagerie, rend possible la mise en oeuvre de la cryptographie asymétrique. Contrairement à PGP c'est un format uniquement destiné au courrier électronique.

  • Avantages : la délégation de confiance rend inutile la vérification des clés publiques des utilisateurs. C'est l'autorité de certification gère le renouvellement des clés via le certificat. S/MIME est géré nativement dans les applications courrier Mac OS et IOS.
  • Inconvénients (les mêmes que pour toute méthode de chiffrement) : il faut échanger une clé entre un expéditeur et un destinataire. C'est un format propriétaire (appartient à RSA Security) et non Open source. La centralisation du format ne permet pas de moduler le niveau de sécurité selon ses souhaits. Le recours a une autorité de certification a un coût.

Les contraintes liées à l'échange de clefs, bien que similaires à celles rencontrées avec PGP, sont un peu plus souples. Le certificat de l'expéditeur est en effet épinglé au message signé numériquement par ce dernier, ce qui permet au destinataire de l'enregistrer dans son trousseau. De plus, avec S/MIME, ce message signé reste "en clair" contrairement à celui signé avec PGP. L'expéditeur n'a donc pas besoin d'être en possession de la clé publique du destinataire pour que ce dernier puisse en prendre connaissance. Il pourra ensuite répondre à ce message en le chiffrant/signant, ce qui clôturera le cycle d'échange de clés.

Cela étant dit, voyons comment intégrer S/MIME dans IOS.

Mise en oeuvre S/MIME dans Mail.

On a indiqué un peu plus haut que ce format est centralisé donc onéreux, donc généralement plus adapté aux organisations qu'aux particuliers. La majorité des autorités de certification, fournissent en effet des certificats X.509 sur abonnement ou gratuitement pour des périodes d'essai très courtes. Il en existe toutefois une, digne de confiance, qui propose gratuitement des certificats à durée annuelle : Actalis.

Une fois votre inscription effectuée à l'aide des renseignements personnels qui vous seront demandés, vous recevrez d'abord un 1er message pour confirmer votre adresse mail, puis un 2nd avec un certificat au format PKCS12 valable 1 an.

L'installation est très simple:

  • Enregistrer le certificat => Enregistrer dans un dossier le certificat reçu par mail pour le dézipper.

Certificat SMIME

  • Paramétrer Mail pour utiliser le certificat => Réglages/Général/VPN et gestion de l'appareil.

Paramétrer iOS pour certificat SMIME

  • Enregistrer le profil => Installer/Taper le code de l'iPhone/Installer/Taper mot de passe du certificat/Installer/Ok.

Installer certificat SMIME

  • Régler l'appli Mail => Réglages/Apps/Mail/Comptes Mail/Compte/Réglages du compte/Réglages avancés/S MIME

Signer : Oui
Chiffrer par défaut : Oui

Mise en oeuvre chiffrement SMIME

Pour signer : le message créé est automatiquement signé (voir réglage ligne du dessus).

Lors de la réception de l'email, le symbole de signature est présent à côté du nom de l'expéditeur, indiquant que le message provient bien de l'expéditeur affiché.

Signer un Email avec SMIME

Cliquer sur le symbole de signature permet de télécharger le certificat, ce qui permettra de l'intégrer à son trousseau et donc d'envoyer par la suite un email chiffré à cet interlocuteur.

Enregistrer la clé publique du certificat SMIME

Pour chiffrer : le message créé est automatiquement chiffré.

(Lorsque le réglage est activé et si vous êtes en possession de la clé publique du destinataire).

Lors de l'envoi ou la réception de l'email, le symbole de chiffrement (le cadenas) est présent à côté du nom de l'expéditeur ou du destinataire, indiquant que le message est chiffré.

Réception Email chiffré SMIME

Sinon le message ne sera pas chiffré et une alerte "Chiffrement impossible" s'affichera.

Réception Email non chiffré SMIME

La mise en oeuvre du chiffrement des emails est le niveau maximal de sécurité atteignable avec une messagerie "classique" mais ne permet pas d'accéder au chiffrement de bout en bout :
=> Les messages sont sécurisés lors de leur transit mais restent en clair dans l'application de messagerie.

Pour corriger cette faiblesse, la seule solution est de changer ses habitudes et de migrer vers une application spécifique, spécialement conçue pour la sécurité.

Si vous n'utilisez pas une appli chiffrée de bout en bout, il est fortement déconseillé d'envoyer des données confidentielles par email, utilisez alors plutôt une messagerie instantanée comme iMessage, WhatsApp, Signal ou Olvid.

Utiliser une application de courrier électronique chiffrée de bout en bout.

La “Force“ de l'Email chiffré E2EE

Ça y est, vous avez décidé de sauter le pas et de quitter le côté obscur des messageries Gmail, Outlook et autres Apple Mail pour passer du côté lumineux.

Les critères à prendre en compte pour faire votre choix seront probablement : Sécurité - Confidentialité - Facilité d'utilisation - Prix. En faisant des recherches, votre sélection finale intégrera vraisemblablement Proton Mail et Tuta Mail.

Sans rentrer dans le détail du fonctionnement de ces messageries, retenons que si leur conception est très différente, leur utilisation est similaire :

  • Vous envoyez un message à un utilisateur qui utilise le service => l'email est chiffré de bout en bout.
  • Vous envoyez un message à un utilisateur qui n'utilise pas le service :
    • Soit vous envoyez l'email non chiffré et le destinataire le lira directement.
    • Soit vous envoyez l'email chiffré et le destinataire recevra un lien lui permettant de le consulter à l'aide du code que vous lui aurez fourni.

Logo Proton Mail

Proton Mail a le mérite d'avoir démocratisé les emails chiffrés de bout en bout. Lancé en 2013, il compte une très importante communauté de 100 millions d'utilisateurs, il surfe sur un écosystème très complet comprenant messagerie, Cloud de stockage, gestionnaire de mots de passe, VPN et reventique son installation en Suisse, ce qui ne garantit par contre rien comme l'indique leur Rapport de transparence. Nous nous intéresserons ici uniquement à la messagerie, qui offre des avantages, et des inconvénients selon le point de vue qu'on adopte...

Sécurité.

Comme nous l'avons évoqué plus haut, Proton Mail repose sur la méthode de chiffrement PGP :

L'avantage est la capacité de chiffrement de bout en bout du corps de message et des pièces jointes et la compatibilité avec les systèmes de chiffrement des messageries "classiques".

Les inconvénients sont par contre multiples :

  • Absence de chiffrement des métadonnées et particulièrement de la ligne "Objet".
  • Absence de PFS (Perfect Forward Secrecy) : la compromission de la clé de chiffrement donne accès au déchiffrement de tous les messages passés.
  • Ne résiste pas en l'état aux ordinateurs quantiques.

La réinitialisation du mot de passe est possible à l'aide d'un email de secours ou N° de téléphone, c'est un problème en cas de compromission de ces canaux, mais un avantage en terme de facilité d'utilisation.

Confidentialité.

Avantages :

  • Respecte la directive RGPD et ne collecte pas vos données (avec la limite de réquisition judiciaire évoquée plus haut).
  • A remplacé le reCaptcha Google par le sien donc a supprimé cette anomalie qui subsistait.

Inconvénient :

  • L'existence d'un pont IMAP avec les messageries classiques permet de stocker les messages en clair sur ces clients de messagerie tiers.

Facilité d'utilisation.

Avantages :

  • Imports de messageries tiers possible.
  • Auto-suppression d'email paramétrable.
  • Pont IMAP permettant d'utiliser son client de messagerie habituel (voir ci-dessus l'inconvénient posé en terme de sécurité/confidentialité).
  • Communauté d'utilisateurs très importante qui augmente la probabilité que le destinataire reçoive le message directement en E2EE.

Inconvénient :

  • Pas d'accès au fil de discussion pour un utilisateur "non Proton Mail" en E2EE.
  • Absence de connexion par Passkey.

Prix.

Avantages :

  • Possibilité d'utiliser un compte gratuit. L'accès à des offres payantes modulables offrant, espace Cloud, alias email, prise en charge de domaine personnalisé, VPN, gestionnaire de mots de passe.

Freins :

  • L'accès au pont IMAP, les alias et le domaine personnalisé nécessite la souscription d'une offre payante.
  • Les offres sont onéreuses (3.99€/mois pour l'accès au pont IMAP et 10 adresses email, 9.99€/mois pour l'offre avec 15 adresses email et alias illimités, Cloud 500 Go et VPN complet).

Logo Tuta Mail

Tuta Mail existe depuis 2011, soit depuis plus longtemps que Proton Mail. Sa communauté d'utilisateurs est pourtant 10x moins importante avec un total d'environ 10 millions. Il n'offre qu'un service de messagerie, mais après tout c'est bien ce qu'on lui demande ! Ses serveurs sont situés en Allemagne.

Sécurité.

Avantages :

  • Sécurité des messages : Algorithmes de chiffrement hybride à sécurité quantique qui combine un mécanisme d'encapsulation de clés post-quantique (CRYSTALS-Kyber) et un échange de clés Elliptic-Curve-Diffie-Hellmann (x25519).
  • Chiffrement de la totalité du mail (corps et pièces jointes) mais également des métadonnées (dont l'objet).
  • Permet le PFS (confidentialité persistante).

Confidentialité.

Avantages :

  • Respecte la directive RGPD et ne collecte pas vos données (avec les mêmes limites que Proton Mail).
  • Utilise son propre Captcha open source et ne fournit donc pas de données même indirectement à Google.
  • Clients de bureau et applis mobiles open source.

Facilité d'utilisation.

Avantages :

  • Accès au fil de discussion pour les utilisateurs "non Tuta Mail" en E2EE.
  • Possibilité d'utiliser la messagerie en "marque blanche".
  • Existence d'un formulaire de contact sécurisé (malheureusement pas accessible pour tous les comptes payants).

Inconvénients :

  • Pas d'import en masse de messagerie tierce (alors qu'annoncé depuis plusieurs années).
  • Absence d'auto-destruction des messages.
  • Absence de compatibilité avec clients tiers.
  • Communauté d'utilisateurs assez restreinte limitant la probabilité que le destinataire reçoive un email nativement en E2EE.
  • Absence de connexion par Passkey.

Prix.

Avantages :

  • Possibilité d'utiliser un compte gratuit. L'offre permettant l'utilisation d'un nom de domaine personnalisé et 15 alias reste (un peu) moins onéreuse que Proton (3€/mois).

Inconvénient :

  • Le récent triplement du prix de l'offre payante peut inquiéter (ou rassurer sur la résilience du service selon le point de vue qu'on adoptera).

Si l'on fait la balance entre les + et les - on peut synthétiser de la façon suivante :

Tuta Mail ne fournit qu'une solution de messagerie E2EE (et c'est ce qu'on lui demande) mais elle le fait sans concession avec la sécurité qui est sa marque de fabrique. Sa montée en puissance nécessite que l'adjonction des fonctionnalités attendues par la communauté ne tarde pas trop.

Proton Mail offre certes une solution de messagerie E2EE, mais porte plus ses efforts sur les fonctionnalités facilitant l'utilisation au quotidien (interopérabilité, écosystème riche). L'avenir nous dira si c'est la bonne solution et comment sera pris le virage de la cryptographie post-quantique qui est clairement le plus gros challenge de cette solution.