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

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 numériques, y compris les e-mail donc.
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 oui, tout le monde y a droit, et doit se battre pour ça. Le non respect de ce droit constitue une violation des droits de l’Homme.

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

Thunderbird est un client e-mail (comme Micrsoft Outlook). Ainsi, plutôt que d’utiliser votre GMail/Hotmail dans votre navigateur, vous utiliserez Thunderbird. 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 habituel :

installation de thunderbird

Configuration de son compte e-mail

Une fois l’installation complétée, vous lancez le logiciel. Il vous souhaite alors la bienvenu 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 avec votre compte mail habituel. Vos messages sont par ailleurs téléchargés sur votre ordinateur ce qui vous permet de les consulter en local même si vous n’avez pas accès Internet :

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 directement dans Thunderbird.

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. Redémarrez-le. À l’ouverture l’assistant de configuration d’OpenPGP s’ouvrira et vous pouvez configurer GPG. C’est ce que nous allons voir là.

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, vous pouvez mettre ce que vous voulez : la signature permet d’authentifier la provenance d’un message (comme une signature manuscrite, en fait). Avec GPG, la signature est une suite de nombres (du genre a493iTjpTJ54gUH, mais en bien plus long) attaché à la fin de l’e-mail et que le destinataire va comparer — je simplifie — à la signature qu’il connaît de l’expéditeur : si les signatures correspondent, 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). Vu que tout le monde n’utilise pas encore GPG, vous pouvez choisir oui sans trop de problèmes : ceux qui utilisent GPG sauront vous authentifier, et les autres personnes ne feront que voir votre signature sans être gêné pour autant.

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 ; ou plutôt c’est l’ordinateur qui va faire ça : vous n’avez rien à faire en fait.
Ces deux clés vous serviront pour signer et/ou chiffrer vos messages. 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 (ou le noter quelque part). 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 .cer, c’est le certificat de révocation de la clé. Il ne servira qu’au cas où.

Le fichier enregistré, c’est bon. Vous avez terminé : Thunderbird est installé, Enigmail et GPG aussi et vos clés sont générées.

configuration d’OpenPGP terminée

Vous avez terminé votre installation d’OpenPGP sur votre ordinateur. Mais pour que vos contacts puissent vous envoyer des e-mails chiffrés, ils doivent posséder votre clé publique. On va voir comment on exporte sa clé publique dans la partie suivante.

Échange les clé 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, 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 laquelle, 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 choisis (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 donné sur une clé USB à 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 contacts

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 ussi les clé 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 pair). Il faut stoquer cette clé sur une clé USB 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 importer 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 Ox1A2B3C4D. 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.

la suite à venir. . .

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