Post

Chiffrer ses e-mails : pourquoi ? Comment ?

Chiffrer ses e-mails : pourquoi ? Comment ?

logo

J’imagine que vous avez déjà envoyé une lettre dans votre vie. En ce qui concerne la confidentialité, je suppose que vous faites confiance au service postal qui se charge de livrer votre courrier.
Auriez-vous cette même confiance envers un service pour lequel vos lettres feraient un tour du monde avant d’arriver à destination ?
Et en rajoutant le fait que ces lettres peuvent potentiellement être ouvertes et lues sans que vous ou votre destinataire ne vous en rendiez compte ? C’est ce qui se passe avec les e-mails.

Il est à noter que certains fournisseurs d’e-mails (tel que ProtonMail) proposent un chiffrement automatique et transparent des e-mails avec les autres utilisateurs du service.
Ici, nous verrons comment implémenter le chiffrement nous-même, ce qui constitue la méthode la plus sûre. Vous êtes alors totalement maître de vos données ! Ce qui n’est techniquement pas le cas avec ProtonMail : bien que vos clés privées soient chiffrées (et donc inaccessibles à Proton), celles-ci sont stockés sur les serveurs du service.

Résumé

Chiffrer ses e-mails garantie que quiconque autre que votre destinataire ne puisse lire le contenu de ceux-ci. On utilise pour cela des clés PGP, par exemple RSA. RSA est un algorithme de chiffrement asymétrique, ainsi il faut votre clé publique pour vous envoyer des e-mails chiffrés, que vous déchiffrez avec votre clé privée. La taille de clé recommandée est de 4096 bits.
Thunderbird est un client de messagerie pratique qui inclut le chiffrement des e-mails.

Rappels sur le chiffrement

Pour un rappel complet, consulter le premier article.
Quelques rappels/ajouts essentiels :

  • RSA : du nom de ses 3 inventeurs (Ronald Rivest, Adi Shamir et Leonard Adleman), algorithme de cryptographie asymétrique, très employé aujourd’hui et sûr pour des tailles de clés suffisamment élevées.
    Pour une explication sur le plan mathématique, je vous recommande cette vidéo.
  • Cryptographie asymétrique : “domaine de la cryptographie où il existe une distinction entre des données publiques et privées [en l’occurrence des clés], en opposition à la cryptographie symétrique où la fonctionnalité est atteinte par la possession d’une donnée secrète commune.”
    Cela permet à la fois un chiffrement de bout en bout, et également de signer des contenus, prouvant leur authenticité (qu’ils proviennent bien de la personne avec qui l’on est en contact).
    (Wikipédia)
  • Chiffrement de bout en bout : (anglais : E2EE, end-to-end encryption)
    “Système de communication où seules les personnes qui communiquent peuvent lire les messages échangés. En principe, il empêche l’écoute électronique, y compris par les fournisseurs de télécommunications, par les fournisseurs d’accès Internet et même par le fournisseur du service de communication. Avec le chiffrement de bout en bout, personne n’est en mesure d’accéder aux clés cryptographiques nécessaires pour déchiffrer la conversation.” (Wikipédia)

Pourquoi vouloir chiffrer ses e-mails ?

D’un point de vue technique : pour que quiconque, autre que le(s) destinataire(s) du mail soit dans l’incapacité de lire le contenu du mail.
Pour le côté pratique, une question survient : qui pourrait être ce quiconque ?
On distingue :

  • Les fournisseurs de services mail (Google, Yahoo, etc.). Ils ont accès à l’entièreté des données que vous leur transmettez, et un certain nombre de ces fournisseurs utilisent ces données à des fins commerciales (Google notamment, jusqu’en 2017, mais qui donne encore accès aux e-mails à des entreprises tierces).
  • Tout intermédiaire entre les différents fournisseurs. Les e-mails transitent en étant chiffrés (par les fournisseurs)… Ou pas (pour le cas de Google, en 2014, 50% à 60% des e-mails échangés entre Google et différents fournisseurs étaient chiffrés en transit). Lorsque les e-mails ne sont pas chiffrés, ils sont alors lisibles par toute personne ayant accès aux points d’échange Internet (notamment des services de renseignement).
  • Des services de renseignement. Les fournisseurs de mails peuvent être amenés à fournir des données à des services de renseignement (États), ce qui semble être le cas en Allemagne par exemple.
  • D’autres entités/individus (hacker, concurrent, etc.), qui obtiendraient l’accès à votre compte mail, ou intercepteraient vos e-mails.

Les point précédents s’appuient sur ce thread, dont je recommande la lecture.

Le compte e-mail : à ne pas négliger.

Comme vous le verrez plus tard, votre paire de clé PGP sera liée à une adresse e-mail.

Il peut être plus pratique de créer une nouvelle adresse e-mail qui vous servira exclusivement à envoyer des e-mails chiffrés.

Il serait bien dommage de créer un compte e-mail chez un fournisseur qui récolte des données sur vous. Cela serait paradoxale par rapport à l’utilisation de cette adresse.

A vous donc de chercher un service mail qui est respectueux de la vie privée, et dont le siège social n’est de préférence pas dans l’un des Five Eyes.

Bien sûr, un mot de passe fort est à prévoir pour ce nouveau compte e-mail.

Client de messagerie : Thunderbird

Passons désormais au plus important : le client de messagerie !
C’est en effet lui qui permettra l’intégration du chiffrement, et l’interaction avec les e-mails en général.

Ici, nous nous intéresserons à Thunderbird, et ce pour plusieurs raisons :

  • Il est open source ;
  • Il est multi-plateforme (fonctionne sous Windows, Linux, et Mac OS) ;
  • Il est complet et simple à utiliser.

Pour l’installation, cela se passe comme pour n’importe quel autre programme, je vous invite à chercher sur un moteur de recherche de votre choix pour le système d’exploitation que vous utilisez si vous n’êtes pas sûr de la démarche à suivre.

Une fois installé, vous devriez tomber sur cette fenêtre lors de la première ouverture :

Entrez simplement votre e-mail et mot de passe.
Vous devriez alors voir apparaître cette fenêtre :

Note : pour l’exemple, j’ai créé deux adresses e-mail chez le fournisseur mail.com, mais cela ne veut en aucun cas dire que j’incite également à utiliser ce service.

Si ce n’est pas le cas, il faudra bidouiller un peu dans les paramètres, et faire quelques recherches.
Ensuite, Thunderbird vous demandera si vous souhaitez l’utiliser comme client mail par défaut :

A vous de voir ce qui vous convient. Je vous engage cependant vivement à décocher la vérification à chaque démarrage, au risque de voir cette demande à chaque lancement !
Vous arriverez alors sur la page d’accueil. Nous allons nous rendre dans les paramètres pour y modifier quelques réglages :

Vous arriverez alors sur cette page.

Dans la catégorie “Vie privée et sécurité”, nous allons modifier les paramètres suivants :

Explications :

  • Le contenu distant (des images par exemple) peut permettre à l’expéditeur du mail de vous pister quant à votre interaction avec le mail. Voir le lien pour plus d’informations.
  • La catégorie “contenu web”, ainsi paramétrée, permet de ne pas garder de traces de navigation. Cela n’est pas utile pour un client de messagerie dans la plupart des cas. Autant utiliser un navigateur séparé !
  • Concernant les mots de passe, du moment que vous en enregistrez, la règle est d’utiliser un mot de passe maître ou bien de chiffrer le disque de votre ordinateur. Pourquoi ? Car dans les autres cas, les mots de passe sont enregistrés en clair, ce qui signifie que n’importe qui ayant accès à votre ordinateur aura accès à vos mots de passe.
    A noter que même si la session n’est pas ouverte, du moment que le disque n’est pas chiffré, les mots de passe restent tout de même accessibles à quiconque ayant accès au disque.
    Petit aparté, c’est la même histoire pour les navigateurs !

Nous modifierons également le paramètre suivant :

Afin que Thunderbird ne récolte aucune information sur l’activité du logiciel.
Nous allons ensuite configurer le compte de messagerie ajouté plus tôt. Pour vous rendre dans ces paramètres, vous pouvez passer par “chiffrement de bout en bout” depuis la page d’accueil :

On utilisera en priorité les dossiers locaux, afin de laisser le moins de données possible sur les serveurs du fournisseur mail.

De préférence, on ne rédigera pas les messages en HTML, pour éviter des problèmes de chiffrement.

On désactivera cette fonctionnalité, car elle implique de scanner d’une façon ou d’une autre les e-mails que vous envoyez et recevez.

Comme on utilisera en priorité les dossiers locaux, il faut s’assurer que tout est bien synchronisé !

Même démarche ici, cette fonctionnalité implique l’analyse des messages.

Voilà pour cette catégorie ! Il est à noter que ces paramètres sont fortement recommandés mais pas forcément obligatoires. Il y a également d’autres paramètres intéressants selon votre utilisation du logiciel et vos besoins. A vous d’être curieux !

Passons à la partie primordiale : la génération de votre paire de clé !

Générer une paire de clé

Votre paire de clé est essentielle. Nous allons désormais voir comment générer une paire de clé depuis Thunderbird.
Si vous souhaitez générer votre paire de clé de manière optimale en terme de sécurité, référez vous plutôt à la partie suivante, et non celle-ci.

A nouveau, il faut aller dans “chiffrement de bout en bout” :

Il faut bien sélectionner RSA et 4096, car il s’agit de l’algorithme le plus utilisé et la taille de clé la plus élevée. Cela assure alors un chiffrement robuste.

Vous devriez alors voir ce message !
Nous allons alors sauvegarder la clé publique et la clé privée, afin de pouvoir les utiliser sur un autre appareil, ou les restaurer en cas de problème.

Bien sûr, le mot de passe doit être fort, pas comme ici ! Une phrase de passe est recommandée.

Vous pouvez alors partager votre clé publique à tous vos contacts pour qu’ils puissent échanger des e-mails chiffrés avec vous.

EN REVANCHE, conservez votre clé secrète dans un endroit sûr (une clé usb ou un disque dur que vous ne transporterez pas avec vous, de préférence chiffré !).

Nous n’avons plus qu’à modifier quelques paramètres :

Afin de ne pas avoir à penser à les cocher lors de l’envoi de chaque e-mail.
A noter que la signature numérique fonctionne avec la clé privée, en prouvant que vous possédez celle-ci. Cela prouve alors votre identité, et que les e-mails proviennent bien de vous !
Une signature automatique est alors bien pratique… Sauf si vous souhaitez envoyer des e-mails de manière anonyme, et que la clé est à votre nom…

Pour les utilisateur avancés (et un peu paranoïaques)

Ignorez ce paragraphe si vous avez suivi le précédent pour créer votre paire de clé !

Nous allons ici générer une paire de clé avec ses sous-clés sur une machine air gapped (déconnectée d’Internet).

La clé principale constituera un “identifiant numérique” lié à votre identité. Elle signe les sous clés, garantissant que celles-ci vous appartiennent. Comme vous manipulerez cette clé principale uniquement déconnecté d’Internet (lors de sa génération, puis pour toute modification des sous-clés), il ne sera pas possible de diffuser des clés en signées en votre nom. Il faudra par la suite diffuser largement l’identifiant de votre clé principale !

Pour cette manipulation, il faudra au moins deux clés USB de 1Go (1 Go est largement suffisant). Il vous faudra également de préférence une machine non-utilisée, où vous installerez le système Linux de votre choix (par exemple Fedora, il y a des tutos d’installation sur YouTube). Autrement, vous pouvez démarrer sur un système Linux en RAM, comme Tails (idéal car ne laisse aucune trace).

Dans tous les cas, vous ne devez sous aucun prétexte connecter la machine à Internet.

Ne pas utiliser une machine virtuelle ! La machine hôte peut en effet “voir tout ce qui s’y passe”.

Cette vidéo explique très bien comment générer une paire de clé maître et une paire de sous-clé.

Il y a eu quelques changements depuis :

  • La commande n’est plus gpg mais gpg2.
  • La commande gpg –gen-key devient gpg2 –full-gen-key.
  • Pas besoin d’être root (mais ne change rien).

Conseil : utiliser un gestionnaire de mot de passe comme KeePassXC pour créer des mots de passe aléatoires et longs, et pour cette base de donnée ayez un mot de passe fort mais facile à retenir (comme une phrase de passe). Bien sûr, gardez précieusement votre fichier de base de donnée KeePassXC sur au moins deux supports externes !

Initier une conversation chiffrée

Cette section est expliquée à travers un exemple. Mais quelques informations auparavant :

  • Pour rappel, nous utilisons ici un chiffrement asymétrique, c’est à dire que la clé se décompose en une clé publique qui permet de chiffrer les e-mails, et en une clé privée qui permet de les déchiffrer. Donc, pour chiffrer vos e-mails avec une autre personne, il vous faudra sa clé publique.
  • On partira du principe que pour l’instant les clés publiques des deux personnes n’ont pas encore été communiquées entre elles. Les clés peuvent bien sûr être échangée autrement que par e-mail, le moyen le plus sûr restant un échange physique (ex : clé usb).
  • Hors échange physique, peu importe le moyen d’échange des clés publiques, il faut absolument vérifier qu’il s’agit bel et bien de la clé de notre destinataire que nous avons reçu. Nous verrons comment faire ceci et surtout pourquoi.

On imagine alors un premier échange entre deux utilisateurs activistes. Le premier doit alors envoyer sa clé publique :

Il faut bien sûr cocher ici “Joindre ma clé publique”.

Et lorsque l’on clique sur envoyer…

Logique, on ne connaît pas encore la clé publique de notre destinataire ! On ne peut donc pas chiffrer ce premier e-mail.

Le mail est alors parti !
Voyons du côté du deuxième utilisateur.

STOP ! Avant de valider l’importation de la clé, il faut vérifier son empreinte (la longue liste de caractères juste au dessus de l’identité associée à la clé).

Petit aparté : une empreinte numérique est une donnée de petite taille qui permet d’identifier une donnée plus grande. Ici, chaque clé publique à une unique empreinte, c’est à dire que deux clés n’auront, en principe, jamais la même empreinte. Sans l’empreinte, on devrait comparer la clé publique “à la main”, sauf que la version lisible par un humain est une suite de plusieurs centaines de caractère qui semble aléatoire, ce qui est laborieux sinon pas faisable. Plus de détails techniques ici.

Pourquoi ? Car si une tierce personne réussie à intercepter le mail… Qu’est ce qui l’empêche de changer la clé par la sienne ?
Si vous ne voyez pas quelles pourraient être les conséquences d’une telle action, je vous invite à visualiser cette vidéo.

Vous devez alors ABSOLUMENT demander à votre destinataire de vous envoyer l’empreinte de sa clé par un autre moyen de communication.

A noter qu’une empreinte peut se présenter sous différentes formes :

Dans tous les cas, il est aisé de comparer deux empreintes, on peut les coller dans un bloc-note.

Exercice - Comparaison d’empreintes

L’empreinte correspond-elle ici ?

Eh bien non ! Un caractère ne correspond pas. La différence, si elle ne saute pas carrément aux yeux, apparaît en quelques secondes d’observation.

Revenons à nos moutons… A nos clés, pardon.

La clé est bien importée, mais il faut l’indiquer comme étant de confiance. Cliquez alors sur “Afficher les détails…” :

Il faut bien sûr indiquer que l’on a vérifié que la clé est correcte.

Le deuxième utilisateur échange alors sa clé publique au premier.

Comme il a la clé publique du premier utilisateur, le message est chiffré !
Même histoire pour le premier utilisateur :

(les deux utilisateurs ont dans cet exemple bien TOUS LES DEUX vérifié l’empreinte de la clé de l’autre.)

Et voilà, les messages seront désormais chiffrés et signés (garantissant l’identité de l’expéditeur) entre les deux utilisateurs !

Mais au fait, que se passe-t-il sans la clé privée ?
Ceci :

Voici l’e-mail chiffré par le premier utilisateur avec la clé du deuxième utilisateur. Voyons ce qui se passe si l’on supprime la clé privée du deuxième utilisateur :

Le mail ne s’affiche tout simplement pas.
Mais à quoi ressemble un e-mail chiffré ?
A ceci :

Et bien plus bas…

C’est ce que verra quiconque interceptera un e-mail chiffré.
Peu lisible !

ATTENTION CEPENDANT : Le sujet du mail n’est pas chiffré !! Ne pas divulguer d’informations dans celui-ci, en conséquent.

Note : il en est de même pour le(s) destinataire(s). Il reste donc possible pour une personne ayant accès à vos mails de savoir avec qui vous communiquez, à quelle fréquence, et si vous ne prenez pas garde à l’objet, l’objet des mails.

Quid des pièces jointes ?

Vous envoyez désormais des e-mails chiffrés : c’est déjà une très bonne chose. Mais si vous envoyez une pièce jointe, elle ne sera pas nécessairement chiffrée par votre client mail !

Comment faire alors ?

Plusieurs solutions s’offrent à vous :

  • Utiliser GPG pour chiffrer le fichier à l’aide de la clé publique de votre destinataire (de nombreux tutoriels existent en ligne) ;
  • VeraCrypt, qui vous permettra de créer un volume virtuel dans un fichier, bien sûr chiffré ;
  • Une archive zip chiffrée, avec par exemple 7-Zip, un logiciel de gestion d’archives open source.

Attention au choix d’algorithme de chiffrement ! Par exemple, l’algorithme ZipCrypto n’est pas fiable.

Si vous utilisez une archive ZIP chiffrée, il sera possible de voir le nom des fichiers et dossiers à l’intérieur. Si cela ne vous correspond pas, vous pouvez commencer par compresser vos fichiers dans une archive non-chiffrée, puis placer l’archive obtenue dans une archive chiffrée !

Vous pouvez alors joindre le fichier chiffré… Et noter le mot de passe dans le mail (car celui-ci est chiffré).

Raison de plus pour vérifier deux fois au moins que le chiffrement est bien activé ! Et cela va de soi, ne jamais envoyer un mot de passe en clair.

Il est alors recommandé de générer des mots de passe totalement aléatoires et longs. Pourquoi s’en priver, de toute façon votre destinataire utilisera très probablement un copier-coller !

Pour plus de discrétion, vous pouvez même téléverser votre fichier chiffré sur un service cloud (de préférence pas d’un des GAFAM), puis envoyer le lien de téléchargement dans le mail. Il n’y a alors aucun moyen pour quiconque intercepterait le mail de savoir que celui concerne le partage d’un fichier, si la personne ne peut pas le déchiffrer.

Le chiffrement des e-mails : est-ce fiable/sûr ?

Fiabilité

  • Algorithme RSA : sa sécurité se base sur deux conjectures, en ce qui concerne les attaques par force brute (tenter de trouver une clé en testant toutes les clés possibles) :
    1. Il faut factoriser un grand nombre pour trouver la clé secrète ;
    2. Dans les conditions actuelles, à partir d’une certaine taille de clé, il est impossible de factoriser des grands nombres en un temps raisonnable. On considère aujourd’hui que les clés peuvent être considérées comme “sûres” à partir de 3072 bits. Nous avons créé dans cet article des clés de 4096 bits, nous devrions donc être tranquille pour le moment.
  • OpenPGP : bien que des vulnérabilités ont existé (comme sur n’importe quel programme), le projet existe depuis 1997, et a su se maintenir au cours du temps.
  • Thunderbird est open source, donc n’importe qui peut avoir accès au code source, et relever les potentielles vulnérabilités.

Bonnes pratiques

  • Chiffrer son disque dur
    Particulièrement si votre ordinateur est portable et que vous l’emmenez partout avec vous. Une personne tierce peut accéder aux données de votre disque dur aisément si vous n’avez pas chiffré celui-ci. Le mot de passe de session n’a rien à voir avec cela. Si par exemple vous utilisez Thunderbird comme indiqué dans cet article, alors vos clés secrètes comme e-mails sont sur votre disque dur, et par conséquent quiconque aura un accès physique à votre ordinateur pourra accéder à ceux-ci, si le disque dur n’est pas chiffré !
  • Garder sa clé privée en sûreté
    Vous l’aurez sûrement compris, votre clé privée est importante : si quelqu’un met la main dessus, il pourra lire tout contenu chiffré avec votre clé publique publique qu’il a à disposition. De même, si vous la perdez, vous serez dans l’incapacité de communiquer de manière sûre avec vos correspondants. C’est pourquoi vous devriez la sauvegarder sur un support externe chiffré et la mettre en lieu sûr.
  • Mettre à jour les programmes et le système d’exploitation
    Cela préviendra l’exploitation de failles de sécurité, qui peuvent compromettre la sûreté du chiffrement de vos e-mails.
  • Utiliser des mots de passe forts
    Des phrases de passe, et/ou un gestionnaire de mot de passe.

Sources non-citées au cours de l’article

Cet article est sous licence CC BY 4.0 par l'auteur.