Utiliser GPG pour envoyer des e-mails chiffrés avec Thunderbird

le logo de Mozilla Thunderbird

Ceci est un tuto pas à pas pour installer Enigmail/GPG dans Thunderbird, ce qui vous permettra d’envoyer des e-mails privés et chiffrés.

Cette page est créée dans un contexte où l’État Français vient de voter la loi sur la Programmation Militaire : un plan d’espionnage généralisé de toutes les communications.
L’utilisation massive de GPG/PGP permet de garantir un minimum de vie privée entre les citoyens. Le respect de la vie privée est un droit fondamental, et tout le monde y a droit, et doit se battre pour ça.

Le fonctionnement de GPG lui-même est un peu complexe, mais son utilisation est simple. On peut le mettre en place en quelques minutes et c’est l’objet de ce tutoriel.

Thunderbird est un client e-mail (comme Micrsoft Outlook). Ainsi, plutôt que d’utiliser GMail/Hotmail dans votre navigateur, vous utiliserez Thunderbird sur votre ordinateur (ça permet également d’avoir vos emails en copie sur votre ordinateur). Il faudra pour cela commencer par lier votre compte e-mail à Thunderbird. Tout est expliqué ci-dessous.

Installation de Thunderbird

Téléchargement de Thunderbird

Le téléchargement de Thunderbird se fait sur le site officiel : mozilla.org/thunderbird. Il suffit de cliquer sur « téléchargement » et de procéder à l’installation du logiciel, de façon habituelle :

installation de thunderbird

Configuration de son compte e-mail

Une fois l’installation complétée, vous lancez le logiciel. Il vous souhaite la bienvenue avec un assistant de configuration.

Si vous n’avez pas d’adresse e-mail, vous pouvez en créer une chez Gandi ou Hover. Dans notre cas, on part du principe que l’on a déjà une adresse et qu’on va la lier à Thunderbird. Il faut donc cliquer en bas sur passer cette étape et utiliser mon adresse existante :

configuration de thunderbird

Renseignez alors votre nom, votre e-mail et votre mot de passe, puis cliquez sur Continuer :

configuration de thunderbird

Si vous avez tout renseigné correctement, il vous le dira et vous pouvez d’ores et déjà utiliser Thunderbird pour envoyer et recevoir des e-mails, le tout avec votre adresse e-mail habituelle :

configuration de thunderbird

Installation du plugin Enigmail

Mozilla Thunderbird, comme Mozilla Firefox, dispose d’une bibliothèque de modules complémentaires (ou plugins). L’un d’eux est Enigmail : c’est lui qui va vous donner la possibilité d’utiliser GPG pour chiffrer vos e-mails.

Pour l’installer, allez dans le menu à droite et sur modules complémentaires :

installation de enigmail

Recherchez alors le plugin Enigmail. Vérifiez qu’il s’agisse bien la même que sur la capture d’écran ci-dessous, puis installez-là en cliquant sur Installer :

installation de enigmail

À la fin de cette installation, vous serez invités à redémarrer Thunderbird, ce que vous allez faire.
À l’ouverture l’assistant de configuration d’OpenPGP s’ouvrira et vous pouvez configurer GPG. Ce tutoriel poursuit donc avec la configuration d’OpenPGP.

Configuration du plugin Enigmail et installation d’OpenPGP

Après le redémarrage de Thunderbird, on obtient l’écran de configuration d’OpenPGP suivant :

configuration d’OpenPGP

Cliquez sur suivant. L’assistant vous dira qu’il faut installer le logiciel GPG. Cliquez sur Installer :

configuration d’OpenPGP

Le programme téléchargera GPG et l’installation commencera. Sélectionnez la langue et cliquez sur OK :

configuration d’OpenPGP

Patientez durant l’installation d’OpenPGP :

configuration d’OpenPGP

Après, cliquez sur suivant pour procéder à la configuration :

configuration d’OpenPGP

À la question pour signer par défaut tous les messages, mettez Non: la signature permet d’authentifier la provenance d’un message (comme une signature manuscrite, en fait) : si la signature envoyée correspond à celle que le destinataire connaît de vous, alors l’authentification est un succès. Dans le cas contraire il se peut que la transmission ait été altérée, voire modifiée par un espion ou un pirate…

Vous pouvez choisir de signer par défaut tous les messages sortants (faites Oui) ou uniquement avec les utilisateurs qui ont aussi GPG (faites non). Je conseille cette seconde solution.

Cliquez ensuite sur suivant :

configuration d’OpenPGP

Concernant le chiffrement par défaut, cliquez sur oui. Le chiffrement permet, comme c’est écrit, de cacher le message : seul le destinataire pourra le lire. Si on choisit oui ici, alors ça chiffrera les messages pour tout ceux qui utilisent GPG, et ça laissera le message en clair pour ceux qui ne l’utilisent pas, et c’est ce que nous voulons.

Cliquez ensuite sur suivant :

configuration d’OpenPGP

À la question concernant le choix de paramètres supplémentaires, choisissez également oui. Ça nous évitera de devoir configurer tout ça après. Ensuite, faites suivant :

configuration d’OpenPGP

Génération de paire de clés PGP/GPG

On va maintenant créer deux clés (une publique et une privée) ; ou plutôt c’est l’ordinateur qui va faire ça : vous n’avez rien à faire en fait.

La clé publique c’est la clé que vous donnerez à vos contacts, distribuerez sur le net : les utilisateurs s’en serviront pour vous envoyer un message. La clé privée en revanche, il faut la garder très précieusement : elle vous servira à déchiffrer les messages que vous recevrez.

Comme vous n’avez encore de paire de clés, il faut en créer une. Choisissez donc je veux créer une nouvelle paire de clés pour chiffrer et signer mes messages puis cliquez sur suivant :

configuration d’OpenPGP

La clé secrète, pour rester secrète, doit être protégé par un mot de passe. Il est important d’utiliser un mot de passe fort, c’est à dire remplissant toutes les conditions suivantes :

Note : on me signale (merci Sylvhem) que GPG semble poser quelques problèmes avec les mots de passe contenant des caractères accentués ou non ASCII. Il conseille d’utiliser uniquement des caractères ASCII, c’est à dire majuscules, minuscules, chiffres et les caractères suivants : !"#$%&'()*+,-./:;<=>?@[\]^_`{|}~.

Une fois votre mot de passe choisi, il faudra vous en souvenir. Cliquez ensuite sur suivant :

configuration d’OpenPGP

L’assistant de configuration vous fait alors un petit récapitulatif de vos choix. Il ne vous reste qu’à cliquer sur suivant pour générer les deux clés :

configuration d’OpenPGP

La génération des clés peut durer entre quelques secondes et quelques minutes. La génération des clés a besoin d’un haut niveau d’entropie. Sans entrer dans les détails, cela signifie qu’il va chercher des bits aléatoire sur l’ordinateur. Plus il trouve de l’entropie, plus la clé sera robuste. Si la génération de la clé prend beaucoup de temps, ouvrez Word (ou LibreOffice Writer) et taper n’importe quoi au clavier, au hasard. Secouez la souris, montez et baissez le volume, etc. Il faut de l’aléatoire.

configuration d’OpenPGP

Une fois la génération des clés terminée, il vous dit de faire un certificat de révocation. Ceci est pour pouvoir annuler la clé au cas où vous la perdez ou si vous oubliez le mot de passe. Cela notifiera vos contacts que votre clé ne doit plus être utilisée :

configuration d’OpenPGP

Il vous demandera votre mot de passe (celui que vous avez choisi il y a quelques instants) et il vous proposera d’enregistrer un fichier .asc, c’est le certificat de révocation de la clé. Il ne servira qu’au cas où. Ce fichier est à conserver en lieu sûr et il ne faut jamais le perdre.

Une fois le fichier enregistré, vous avez terminé, félicitation !

configuration d’OpenPGP terminée

Thunderbird est installé, Enigmail et GPG aussi et vos clés sont générées. Il ne reste plus qu’à apprendre à se servir de tout ça.

Échanger les clés publiques avec vos contacts

Votre clé publique permet à vos contacts de chiffrer les messages qu’ils vous envoient. Ainsi, seul vous pourrez les déchiffrer (grâce à votre clé privée).
Pour pouvoir leur répondre, il faudra également que vous importiez la clé publique de votre contact.

Exporter sa clé publique, et la distribuer

Il faut donc donner votre clé publique à vos contacts. Voici comment on fait.

Dans les préférences de Thunderbird, allez sur OpenPGP puis Gestion des clés

export clé publique

Dans la fenêtre de la gestion des clés, côchez la case Afficher toutes les clés par défaut, sélectionnez votre clé, puis allez dans serveurs de clés et cliquez sur Envoyez les clés publiques. Choisissez un serveur de clés dans la liste (peu importe lequel, vous pouvez même les envoyer partout) et cliquez sur OK.

export clé publique

La clé publique est maintenant disponible sur le serveur, et tout le monde peut la récupérer depuis le serveur que vous avez choisi (via votre adresse e-mail ou votre nom), et vous envoyer un message.

On va aussi exporter la clé dans un fichier. Ce fichier peut être placé sur une clé USB et donné à vos proches, ou envoyé sur votre site, ou partagé de n’importe quelle autre façon.

Toujours dans la fenêtre de la gestion des clés, allez sur Fichier puis Exporter les clés vers un fichier. Un popup vous demandera quelles clés. Ne choisissez d’exporter que la clé publique pour l’instant :

export clé publique

Enregistrez alors votre fichier. C’est un fichier .asc : c’est un simple fichier texte qui contient votre clé publique. C’est ce fichier texte qu’il faut donner à tous vos contacts (du moins, ceux qui veulent utiliser GPG avec vous).

La clé publique, pour info, est quelque chose qui ressemble à ceci lorsqu’on l’affiche dans le bloc-note :

export clé publique

Importer la clé publique d’un contact

La clé publique de votre contact va permettre à vous de chiffrer un courrier destiné à ce contact en particulier. Pour cela, il vous faut sa clé publique.

Si votre contact à envoyé sa clé sur un serveur de clés, vous pouvez la récupérer sur le serveur en question. Par exemple, en cherchant mon e-mail sur le serveur de clés du MIT, vous trouverez ma clé publique.
Je distribue également ma clé sur mon site web : public-key.gpg.

Il suffit de télécharger le fichier sur votre ordinateur, puis, toujours dans la gestion des clés, d’aller sur Fichier et importer des clés depuis un fichier :

import clé publique

Voilà ! Maintenant, vous pouvez envoyer un e-mail chiffré à votre contact ! Si ce dernier a également importé votre clé publique, alors vous pourrez correspondre tous les deux de façon privé et sécurisé.

On essaie ? Voyez la suite !

Envoyer et recevoir un message chiffré

Envoyer un message

Si vous avez la clé publique de votre contact, alors l’utilisation de GPG est transparente pour vous. Il suffit d’envoyer un e-mail et il sera automatiquement chiffré et signé.

Cliquez sur Écrire en haut, dans Thunderbird pour créer un nouveau message, puis tapez votre courriel normalement :

envoi de courrier chiffré

Tapez votre mot de passe (ceci ne sera pas nécessaire à chaque envoi : il est possible de configurer Thunderbird pour qu’il mémorise le mot de passe plus longtemps) :

envoi de courrier chiffré

Patientez quelques secondes que votre courriel soit envoyé. En arrière plan, vous constatez déjà que l’e-mail est bien chiffré :

envoi de courrier chiffré

Recevoir un message

De l’autre côté, votre correspondant va recevoir votre message. Qu’il ait votre clé publique ou pas, il pourra le lire : c’est sa clé privée qui va déchiffrer le message.
En revanche, si vous aviez signé la clé, il lui faudra posséder votre clé publique : il comparera alors votre signature à celle contenue dans votre clé publique et il dira « la signature est valide » ou bien « la signature n’est pas valide, faites attention ! ».

Ici, j’ai bien reçu et déchiffré le message (comme l’indique la barre jaune pâle en haut) mais comme je n’avais pas encore importé la clé publique du correspondant, la signature n’a pas pa pu être vérifiée :

envoi de courrier chiffré

Répondre au premier message d’un inconnu

Vu que votre clé publique est disponible sur les serveurs de clé, tout le monde peut l’utiliser pour vous envoyer un message.

Vous n’aurez rien à faire pour le déchiffrer : c’est votre clé privée qui s’en charge. En revanche, pour répondre à votre correspond, il vous faut sa clé publique.

OpenPGP est très bien fait : il peut récupérer automatiquement la clé publique de votre correspondant sur les serveurs de clés en faisant une recherche associée à l’adresse e-mail de l’expéditeur. Attention cependant avec ça : rien ne signifie que la clé récupérée est celle de la véritable personne avec cette adresse e-mail-là. Le mieux est toujours de récupérer la clé publique de quelqu’un en personne. Ou bien de noter l’ID de la clé et de téléphoner à la personne pour lui demander confirmation.

PGP gère tout ça avec les niveaux de confiances : il est possible (pour un usage avancé) de donner des niveaux de confiances à certaines clés. Si vous recevez une clé publique, le niveau de confiance est alors Inconnu. Si vous recevez la clé depuis un site sûr mais que vous avez des doutes, vous pourrez changer le niveau de confiance en « modéré ». Enfin, si vous recevez la clé publique sur une clé USB en main propres (et avec les papiers d’identité), alors vous pouvez définir la confiance comme Pleine voire Ultime.

Mais laissons ces choses là pour plus tard. Nous nous contenterons d’importer la clé publique de façon automatique : à côté de la barre jaune pâle, cliquez-droit sur détails puis Importer la clé publique. OpenPGP s’occupera alors de consulter les serveurs de clés qu’il connaît et trouvera la clé associée à l’expéditeur. Il vous suffira alors de l’importer dans votre trousseau de clés.

envoi de courrier chiffré

Une fois la clé publique de votre correspondant importée, vous pourrez correspondre de façon privée avec lui.

Voilà tout ce que vous devez savoir pour correspondre avec quelqu’un de façon privée. Ce qui va suivre concerne quelques choses qui peuvent être intéressants à voir si vous souhaitez utiliser GPG de façon plus intensive, et en explorer les options un peu plus exotiques.

Exporter et sauvegarder sa clé privée

La clé privée, c’est la clé que vous ne distribuez pas. Il faut toujours l’avoir, sinon vous ne pouvez pas déchiffrer les couriels qu’on vous envoie. Si vous avez plusieurs ordinateurs pour lire vos emails, vous devrez utiliser la même clé privée sur les deux ordis. De plus, il est toujours utile de faire une sauvegarde de ces clés, au « cas où ».

Pour exporter votre paire de clé publique et privée dans un seul fichier, allez dans la gestion des clés, puis sélectionnez la clé que vous voulez exporter (votre clé) puis allez dans Fichier et exporter les clés dans un fichier. Contrairement à tout à l’heure, choisissez d’exporter aussi les clés privées :

exporter clé privée

Tout comme avec la clé publique, vous vous retrouvez avec un fichier .asc. Ce fichier contient votre clé publique et votre clé privée (la paire). Il faut stocker cette clé sur un support de stockage et ne pas perdre cette clé : si vous perdez votre clé privée, vous ne pourrez plus jamais déchiffrer vos messages.

Cette sauvegarde vous servira aussi au cas où vous changez d’ordinateur : il ne sera pas nécessaire de générer une nouvelle clé, mais vous pourrez importer la paire de clés publique/privée et vous en servir comme avant.

Enfin, au fur à mesure que vous importez des clés publiques de vos contact, votre trousseau de clés devient important. Là aussi, il est possible d’exporter toutes les clés dans un fichier à des fins de sauvegarde ou d’archive.

Quelques précisions à propos de votre paire de clés

Vous disposez de deux clés : une privée et une publique et vous savez vous en servir. La clé possède diverses informations qu’on va examiner maintenant.

Dans la gestion des clés, sélectionnez votre clé puis faites Affichage et Propriétés de la clé, et vous verez alors une fenêtre comme celle-là :

propriétés de la clé

L’ID de la clé

Il s’agit d’un code court de la forme 0x1A2B3C4D. C’est un code qui permet de retrouver la clé dans un serveur de clé. Sur ces serveurs, vous pouvez rechercher avec le nom, l’email ou cet ID. Il permet aussi de voir d’un coup d’œil si vous avez la bonne clé publique d’un correspondant.

L’ID de la clé est une information que vous pouvez ajouter à la signature de vos emails : une personne qui lit votre email peut donc retrouver la clé publique sur un serveur avec votre ID et vous envoyer un message chiffré. Cet ID est public et peut être diffusé.

La validité de la clé & la confiance du propriétaire

Vu que c’est votre clé, vous pouvez mettre la confiance en absolu. Ces deux paramètres peuvent être changés aussi pour les clé publiques que vous importez : une clé que vous récupérez automatiquement doit être marqué avec une confiance faible.
Si vous récupérez une clé directement auprès de son propriétaire dont vous êtes sûr de l’identité, alors sa confiance peut-être marquée comme haute.

Empreinte de la clé

Il s’agit d’une valeur unique plus forte que l’ID. Il est possible que deux personnes aient le même ID pour leur clés : pour être sûr qu’on récupère la bonne clé de la bonne personne, on vérifie alors l’empreinte. Cette valeur est publique aussi.

La date d’expiration de la clé

Passée cette date, la clé fonctionnera toujours, mais il est beaucoup mieux de changer de générer une nouvelle clé. Changer sa clé GPG, c’est un peu comme changer la serrure de votre porte régulièrement : ça augmente la sécurité.

Certains changent de clés tous les ans : il faut alors que les correspondants téléchargent la nouvelle clé — ceci peut se faire automatiquement grâce à la date d’expiration.

Vous pouvez choisir de ne pas donner de date d’expiration, mais si vous perdez votre clé privée, elle ne s’annulera jamais. Il est recommandé de mettre une date d’expiration, mais de la repousser à chaque fois (ne pas oublier alors de renvoyer la clé sur les serveurs de clés).

la suite à venir. . .

Ressources…

Sommaire

Page créée en décembre 2013. Mise à jour le dimanche 20 septembre 2015
Adresse de la page : http://lehollandaisvolant.net/tuto/gpg/