Envoyer des messages signés et chiffrés avec Enigmail

mercredi 3 décembre 2008, par Samizdat Tech Team

Nous ne le répéterons sans doute jamais assez : le courrier électronique circule sur les réseau en clair. En d’autres termes, le contenu d’un email est très facilement accessible. Il est donc fondamental de pouvoir protéger le contenu d’un message par la cryptographie.

Dans la même veine, il est parfois important de pouvoir vérifier qu’un email à bien été envoyé par son expéditeur nominal : là aussi, il n’est pas compliquer d’envoyer un message en lieu et place de quelqu’un d’autre. Là aussi, la possibilité de signature d’un message par une clef cryptée est fondamental.

Une solution simple pour crypter des emails consiste à combinée le logiciel client de courrier électronique Thunderbird avec GnuPG et l’extension Enigmail.

Enigmail esy un plugin de Thunderbird rajoute le chiffrement et la vérification OpenPGP de messages à votre programme de messageries électroniques. Enigmail se distingue par le chiffrement et le déchiffrement automatiques, et par une fonctionnalité intégrée de gestion de clés.

Principe

Chaque interlocuteur possède une double paire de clefs : une clef privée et une clef publique. Il est le seul à pouvoir utiliser sa clef privée (en saisissant la phrase secrète associée), alors qu’il diffuse à ses connaissances sa clef publique.

Pour crypter un message, l’émetteur utilise sa propre clef privée et la clef publique du destinataire qui pourra alors déchiffrer le message en utilisant sa clef privée.

Pour signer un message et donc certifier que l’émetteur est bien la personne mentionnée dans l’entête du message, l’émetteur utilise sa clef privée et le destinataire contrôle grâce à la clef publique correspondante.

Installation

Les trois logiciels dont nous avons besoin sont disponibles pour la plupart des plates-formes informatiques (GNU/Linux, BSD*, Mac OS X et Windows) et en français.

Pour Thunderbird et GnuPG, il suffit donc de récupérer les paquets correspondants et de les installer (voir les références en fin d’article).

Pour Enigmail, il faut télécharger le plugin sur le web et l’installer dans Thunderbird. La procédure est clairement expliquée sur le site de Mozilla [1].

Note : Enigmail n’installe pas GnuPG, il faut donc bien installer celui-ci en premier, puis installer Enigmail dans Thunderbird.

Création d’une paire de clef

La première étape, l’on a pas déjà de clef GnuPG est de créer une paire de clef. Avec Enigmail la procédure est on ne peut plus simple.

Lancez Thunderbird. Vous pouvez utiliser l’assistant Enigmail qui se lance automatiquement Si l’assistant ne se lance pas (c’est le cas lorsqu’on crée un compte mail plus tard), vous pouvez utiliser la métode suivante.

Aller au « Menu OpenPGP », option « Gestion des clefs ».

Choisir le menu « Générer » « Nouvelle paire de clefs ».

Choisir le compte email concerné par cette clef. Saisir une phrase secrète dans les deux zones. Celle-ci sera demandée par la suite à chaque utilisation de votre clef privée. Alors ne l’oubliez surtout pas !

Utilisez votre ordinateur afin de générer des codes aléatoires.

Note : il est conseillé de créer un « certificat de révocation » en cas de perte de sa clef privée et de stockez celui-ci en lieu sûr.

Voilà votre paire de clef est créée

Signez votre paire de clefs : clic droit et « Signer la clef ». Cette opération est nécessaire pour certains serveurs de clefs. (Parfois, une erreur ce produit si elle est déjà signée. Ignorez là)

Vous pouvez répéter ces opérations pour chacun de vos comptes de messagerie.

Vous pouvez aussi utiliser la même paire de clefs pour plusieurs comptes mail. Dans ce cas, faites un clic droit sur la paire de clefs et choisissez Gérer les identifiants utilisateur, ajoutez alors vos autres adresses mail.

Publication de la clef publique

Vous pouvez envoyer par mail votre clé publique à vos interlocuteurs en faisant un clic droit sur vos clefs et Envoyer des clefs publiques par courrier électronique

Il est aussi possible de publier ses clefs publiques par l’intermédiaire de serveurs de clefs consultables par tous. Ceci permettra à vos interlocuteurs de les retrouver automatiquement. Clic droit et Envoyer les clefs publiques vers un serveur de clefs. Choisissez n’importe lequel des serveurs proposés.

Envoi d’un message signé

Une fois les clefs générées, la signature d’un message se fait très simplement avec Thunderbird et Enigmail.

Créer un nouveau message en cliquant sur le bouton « Écrire » (ou « Répondre ») ; tout en maintenant la touche Maj (shift). Ceci permet de créer un nouveau message sans mise en forme (gras, italique...). Cela donne une meilleur compatibilité avec les autres logiciels de vérification de signature.

Cliquer sur le menu « OpenPGP » et cochez l’option « Signer le message ».

On remarquera le petit crayon en vert en bas à droite de la fenêtre.

Une confirmation ou une demande de votre phrase secrète apparaît afin de pouvoir utiliser votre clef privée pour la signature.

Envoi d’un message chiffré

De même que pour la signature, il est préférable de créer un message en maintenant la touche Maj (shift). Tapez le texte du message et dans le menu « OpenPGP », cochez les options « Signer le message » et « Chiffrer le message ».

Cette fois-ci, le crayon et la clef (en bas à droite de la fenêtre de message) sont en vert.

Envoyez le message.

Il est alors nécessaire de rechercher la clef publique du destinataire. Les serveurs de clefs sont là pour ça. Cliquez sur le bouton Télécharger les clefs manquantes si votre destinataire n’est pas dans la liste. Puis cochez-le dans la liste des clefs. Puis OK.

Réception d’un message chiffré

Si vous recevez un message qui a été chiffré par votre interlocuteur, votre phrase secrète vous sera automatiquement demandée pour le déchiffrer. Une petite enveloppe apparaît dans l’entête du message afin de connaître le niveau de confiance attribuée à la clef ayant signé et chiffrée le message.

Dans le gestionnaire de clefs, il est possible d’attribuer un niveau de confiance à chacune des clefs qui y sont stockées. Ceci en fonction de leur origine. Si vous avez obtenu une clef directement depuis votre interlocuteur (sur un support physique : CD, clef USB...) vous pouvez lui attribuer une confiance élevée. Alors que si vous l’avez simplement trouver sur un serveur de clefs, votre niveau de confiance sera plus modéré. Clic droit sur la clef et Définir le niveau de confiance du propriétaire.

Une bonne pratique est de aussi de signer les clefs dans lesquels vous avez confiance. Clic droit sur la clef et Signer la clef.

Sauvegarder ses clefs

Il est très important de ne pas perdre ses propres clefs (paires privées et publiques). Pour les sauvegarder, vous pouvez les exporter avec un clic droit sur la clef et Exporter les clefs vers un fichier que vous mettrez en lieu sûr. Si vous utilisez un utilitaire de sauvegarde, il suffit de sauvegarder le dossier .gnupg qui se trouve dans votre répertoire personnel.

Dernier conseil : ne diffusez jamais vos clefs privées. Même s’il faut une phrase secrète pour l’utiliser, il existe toujours des outils pour les « cracker ».

Note : bien que largement réécrit, ce texte reprend la structure et de larges passages, ainsi que les captures d’écrans, de l’exposé fait par Jean-Pierre Morfin pour l’association G3L, disponible sur son blog (jpfox.fr) et diffusé sous License CC-BY.

Répondre à cet article