Lien vers l'index du site (en anglais) :clem's Qt/Embedded, Opie, iPAQ and security resources
GnuPG logo Mozilla Thunderbird email client
Mozilla web and email suite

English language: USA & UK flags Note: this page is also available in English, see How to get secure emails with GnuPG and Enigmail.

Résumé

Avec GNU Privacy Guard (GnuPG) et un bon programme de messagerie électronique comme Mozilla (web+email) ou Mozilla Thunderbird (email seulement), vous pouvez vraiment avoir des conversations par email sécurisées, en utilisant des programmes d'excellente qualité et libres. Les emails simples ont, en effet, deux gros problèmes : ils ne sont ni authentifiés (vous pouvez prétendre être n'importe qui quand vous envoyez un email, ce qui est utilisé par les spammeurs et les virus), ni chiffrés (n'importe qui sur le trajet que prend votre email, entre vous et votre correspondant, peut le lire). Avec la signature et le chiffrement des emails par GnuPG, vous pouvez être sûr que vos messages proviennent bien de la personne qu'ils prétendent, et que vous serez les seuls à avoir accès à votre correspondance !
Installer GnuPG et Enigmail (un plugin qui permet aux clients de messagerie Mozilla de sécuriser les emails avec GnuPG) est une question de minutes, regardons comment faire : allez à la partie Windows™ si vous utilisez ce système d'exploitation, ou à la partie GNU/Linux (et autres parents d'Unix) si vous utilisez une distribution GNU/Linux ou un parent même éloigné d'Unix :-)

Table des matières

Nouveautés à propos de cette page

28 novembre 2004

Grâce à une nouvelle version d'Enigmail (0.89.0), vous n'avez désormais plus du tout besoin de la ligne de commande ! (certaines personnes semblent en effet y être allergiques :-) Voir cette capture d'écran et les suivantes pour découvrir cette nouvelle fonctionnalité ; bien entendu, le guide a été également mis à jour partout où l'on conseillait d'abord d'utiliser la ligne de commande (en particulier pour signer une clé). De plus, son installation sous Mozilla Thunderbird est deux fois plus simple qu'avant car il n'y a plus qu'un plug-in à installer au lieu de deux.

1er octobre 2004

Quelques petites corrections et mises à jour, dont la mention qu'Enigmail est disponible pour d'autres systèmes que GNU/Linux et Windows !

24 Septembre 2004

Première version française de la page.

Si vous avez Microsoft Windows™

Installer GnuPG

Installer Enigmail

étape optionnelle : Installer une des interfaces graphiques de gestion de clés WinPT ou GPGshell

Note : Enigmail s'occupera de la génération de paires de clés, et d'à peu près toutes les fonctions ayant trait aux emails dont vous aurez besoin ; en particulier depuis sa version 0.89.0 elle permet aussi d'importer, exporter et signer des clés. Pour les rares choses qu'elle ne fait pas (signature / chiffrement / vérification de signature de fichiers non contenu dans des emails) et dont vous pourriez avoir besoin, vous pouvez utiliser l'interface GnuPG en ligne de commande presentée ci-dessous. Allez donc directement à la partie Enigmail si vous me faites confiance, ou continuez à lire cette partie si vous pensez vraiment en avoir besoin (ou si vous avez besoin de pouvoir chiffrer, signer ou vérifier le presse-papier d'un seul clic, ce qui est utile pour utiliser GnuPG à travers des comptes de webmail comme Hotmail ou Gmail) .
La suite WinPT comprend :
GPGshell est une autre GUI pour GnuPG sous Windows™ qui fonctionne avec une version récente de GnuPG (1.2.5), mais malheureusement elle n'est pas open-source. Vous pouvez cependant l'essayer, si vous ne savez pas ou ne voulez pas utiliser l'interface GnuPG en ligne de commande pour des opérations telles que signer une clé.

Si vous avez GNU/Linux (ou un autre parent d'Unix)

Note pour les utilisateurs d'autres systèmes que GNU/Linux : il semble exister des versions d'Enigmail pour Solaris, Mac OS X, NetBSD, FreeBSD et OpenBSD (voir la liste des versions téléchargeables d'Enigmail qui s'affiche par le bouton Show all operating systems). Je ne peux malheureusement pas tester Enigmail (et même Mozilla) sur tous ces autres systèmes d'exploitation que GNU/Linux et garantir qu'ils fonctionneront sans problèmes pour vous ; c'est pourquoi vos retours (par email) sont ici bienvenus !
Puisque la méthode d'installation dépend de votre distribution GNU/Linux, je ne détaillerai pas tous les moyens d'installer les trois composants dont nous avons besoin ici (GnuPG, qui est sûrement déjà installé + Mozilla Seamonkey ≥ ou Mozilla Thunderbird ≥ + Enigmail). Mais vous utilisez déjà GNU/Linux, donc je présume que vous trouverez un moyen d'installer ces trois programmes :)
Si vous utilisez Debian, je peux déjà vous dire que apt-get install mozilla-thunderbird-enigmail sera suffisant pour installer GnuPG, Mozilla Thunderbird et son plugin Enigmail :)
Une fois que vous avez installé  vous pouvez continuer à suivre ce guide.

étape optionnelle : Installer une interface graphique de gestion de clés

J'ai tendance à penser que ce n'est pas nécessaire, d'une part parce qu'en brave utilisateur de GNU/Linux, quelques mots par-ci par-là en ligne de commande ne devrait pas vous faire peur ;-), mais aussi parce qu'Enigmail permet depuis peu de faire la grande partie des opérations de gestion de clé par elle-même ! Voici quand même, au cas où, quelques GUIs sympathiques et apparemment fiables disponibles pour compléter Enigmail et/ou l'interface gpg (notons aussi que si vous utilisez de temps en temps un webmail tel que Hotmail ou Gmail, leurs fonctionnalités de manipulation du presse-papier ou du texte de la fenêtre en cours peuvent aussi se réveler utiles) :

Dans les deux cas : Configurer facilement GnuPG et Enigmail au moyen de l'interface graphique d'Enigmail

Maintenant vous avez accès aux fonctionnalités et options de configuration de messagerie sécurisée par GnuPG au moyen du menu Enigmail dans votre client email.
Mettons ceci en pratique ! (note : les captures d'écrans ont été faites avec Thunderbird, mais l'interface de Mozilla n'est pas fondamentalement différente)

Allons-y ! (ou signer et chiffrer vos premiers messages)

Maintenant vous pouvez signer (avec l'icône de crayon ou le bouton OpenPGP de la barre d'outils ou un raccourci clavier) ou chiffrer (avec l'icône de cadenas ou le bouton OpenPGP de la barre d'outils ou un raccourci clavier) vos messages au moyen des nouvelles icônes présentes dans le coin inférieur droit de vos messages ! Vous pouvez voir ces boutons dans la capture d'écran suivante (les icônes de stylo et de clé sont anciennes sur cette image, et ont depuis été remplacées par un crayon et un cadenas) :
Fenêtre Enigmail de rédaction, avec signature et chiffrement sélectionnés

Cliquez sur cette image pour la voir en taille réelle

Et maintenant ?

Vous venez juste d'apprendre quasiment tout ce qu'il y a à savoir pour envoyer et recevoir des emails sécurisés au moyen d'Enigmail ! La seule chose qu'il reste à faire est de construire votre "réseau de confiance" (en anglais "web of trust"), ce que vous pouvez encore faire grâce à Enigmail, car il vous permet d'importer, exporter et signer les clés publiques d'autres utilisateurs. Voici donc les étapes qui vous restent :

Petit guide du programme GnuPG (= interface en ligne de commande)

Depuis Enigmail version 0.89.0, vous pouvez importer, exporter et signer des clés par une interface graphique accessible par le menu Enigmail :
Capture d'écran montrant comment lancer le gestionnaire de clés par le menu Enigmail

Cliquez sur cette image pour la voir en taille réelle

Vous n'avez donc plus à apprendre absolument à utiliser cette interface, ou à recourir à une autre interface graphique !
Tout d'abord, si vous utilisez Windows™, vous n'aurez pas accès à GnuPG en tapant juste gpg en ligne de commande jusqu'à ce que vous mettiez le répertoire où vous avez installé gpg.exe dans votre variable d'environnement PATH. C'est expliqué sur cette page (en anglais), si vous ne savez pas comment faire.
Ensuite, pour découvrir les commandes de GnuPG, vous avez au moins deux options : gpg --help ou la page man, accessible via man gpg sous GNU/Linux ou en ligne (en anglais) sous Windows™ et GNU/Linux. Également disponible, le manuel de GNU Privacy Guard (en français). Les commandes sont généralement intuitives pour qui connaît l'anglais, par exemple gpg --sign-key nomOuIdDuneCléPublique permet de signer la clé d'un correspondant (sinon ils ne seront pas certifiés et apparaîtront comme "UNTRUSTED" dans Enigmail), ou encore gpg --edit-key idOuNomOuPartieDelEmail qui est une interface à beaucoup de commandes relatives aux clés de votre 'trousseau'. Tapez help dans le mode gpg --edit-key pour connaître toutes les commandes disponibles dans cette interface.
Note : si vous utilisez Windows™, vous pourriez vouloir créer un fichier texte nommé gpg.conf dans le répertoire de GnuPG (C:\Program Files\GnuPG\gpg\ si vous avez suivi ce guide), contenant simplement "keyserver x-hkp://random.sks.keyserver.penguin.de". Sous GNU/Linux, ce fichier peut déjà exister dans le sous-répertoire .gnupg de votre home, mais le mot-clé keyserver peut être suivi d'une autre adresse que random.sks.keyserver.penguin.de. Je recommande de mettre keyserver x-hkp://random.sks.keyserver.penguin.de devant les autres lignes éventuelles, puisque random.sks.keyserver.penguin.de est la meilleure adresse de serveur de clés que j'ai trouvée (plus de détails à propos du réseau de serveurs de clés vers lequel pointe cette adresse, interface web à ce réseau de serveurs de clés). En fait, Enigmail lui-même utilise aussi cette adresse, quand il a besoin d'un serveur de clés pour récupérer des clés (publiques) !

Glossaire

Paire de Clés
Une paire de clés est composée de :
  • Votre clé publique, que vous pouvez donner à n'importe qui (ou même la publier sur un serveur de clés, voir pourquoi) : elle permet aux gens de vous authentifier et de vous envoyer des emails ou fichiers confidentiels chiffrés (bien evidemment vous pouvez vous en servir pour des messages non-confidentiels ;-).
  • Votre clé privée, que vous ne devez jamais donner à personne : elle vous permet de signer (ou de vous authentifier), et de déchiffrer les emails ou fichiers chiffrés que les gens vous ont envoyés (ou que vous avez chiffrés pour vous-même).
Votre clé publique peut contenir des renseignements à votre sujet, comme votre nom, votre email, un commentaire (par ex. “Clé professionnelle” ou “clé de haute sécurité, ne l'utilisez pas quand vous voulez me joindre en voyage”), et même des signatures d'autres personnes qui certifient que vous êtes vous (ou du moins ce qu'ils pensent que vous êtes :). En fait, ce texte, par exemple “Jean Dupont (clé personnelle) <jean_dupont@unfai.com>”, est appelé un User ID, et si vous avez plusieurs adresses emails vous pouvez attacher plusieurs user IDs à votre paire de clés.
Pourquoi et comment publier votre clé (publique) : Aussitôt que vous savez que les emails sécurisés sont bons pour vous (ce que vous savez probablement maintenant que vous avez presque atteint la fin de ma page ;-), vous devriez publier votre clé publique sur un serveur de clés (avec le menu Key / Export to file du gestionnaire de clé d'Enigmail puis en utilisant l'interface web d'un serveur de clé, ou avec l'unique ligne de commande GnuPG gpg --send-key votreNom) ; de cete manière il sera plus facile pour les gens de savoir qu'il y a un moyen sécurisé de communiquer avec vous, et aussi cela sera plus facile pour eux de signer votre clé ou de vérifier votre signature sur d'autres clés.
Au cas où vous voudriez savoir, à des fins de backup par exemple, voici les fichiers qui contiennent respectivemment votre clé privée, et votre clé publique plus vos user IDs et photo, en résumé votre identité publique : secring.gpg et pubring.gpg.
Clé publique, clé privée (plus de théorie)
En résumé, vous devez savoir que la clé publique est utilisée pour verifier ce qui a été signé par la clé privée, et pour chiffrer des messages et des fichiers que seule la clé privée sera capable de déchiffrer. Evidemment, vous devez garder votre clé privée pour vous-même, mais comme la clé publique associée ne peut pas être utilisée pour deviner votre clé privée, vous pouvez publier votre clé publique comme vous voulez.
Vous pouvez en apprendre plus au sujet de la théorie derrière les paires de clés, utilisées massivement à des fins d'authentification ou de confidentialité, dans cet article sur la cryptographie asymétrique.
Serveur de clés
La plupart des utilisateurs de GnuPG ou PGP rendent leur(s) clé(s) accessible(s) (pas la partie privée evidemment ;-) sur un serveur de clés, ce qui est un moyen facile de centraliser et de trouver des clés. Même si beaucoup de serveurs de clés existent aujourd'hui (certains avec plus de possibilités que d'autres), la plupart d'entre eux sont synchronisés pour des raisons d'uniformité et de redondance. Certaines adresses correspondent à un seul serveur de clés, d'autres pointent sur un ensemble de serveurs synchronisés, comme random.sks.keyserver.penguin.de, et la plupart d'entre eux ont une interface web comme celle-ci en plus d'une interface PGP (celle que vous utilisez au moyen d'Enigmail ou d'instructions en ligne de commande comme gpg --search-keys ou gpg --send-keys).
Note : vous pouvez faire en sorte que gpg (en ligne de commande) utilise le(s) même(s) serveur(s) de clés qu'Enigmail, en ajoutant des lignes comme keyserver x-hkp://random.sks.keyserver.penguin.de dans gpg.conf dans votre répertoire de profil GnuPG. De cette manière, les instructions comme gpg --send-key votre@email utiliseront automatiquement ces serveurs de clés récents.
Signer une clé
Quand vous recevez des emails ou des fichiers signés par une personne ou une organisation, rien ne vous dit qu'ils ont réellement été signés par la personne ou l'organisation désignée par le nom indiqué sur la clé (au fait, quand nous ne le précisons pas, nous parlons de la partie publique de la paire de clé). Vous devez aussi établir que la paire de clés est bien entre les mains de la personne à qui vous voulez envoyer les messages ou les fichiers sécurisés, parce que cela n'aurait pas de sens de chiffrer un message avec une clé publique si cette clé publique n'est pas celle de votre correspondant ! Ce que vous devez faire avant de faire confiance à quelqu'un est de la vérification d'authenticité comme :
  • Pour une personne, soit :
    • Si vous la connaissez personnellement, demandez lui l'empreinte de sa clé au téléphone !
    • Vous pouvez evidemment également vous échanger vos empreintes de vive voix.
    • Finalement, si vous ne les connaissez pas (encore), vous pouvez avoir une première idée de leur véritable clé s'ils ont un site web et qu'ils mettent leur clé ou leur empreinte dessus. Par exemple, vous trouverez ici les clés et empreintes de Philip Zimmermann, le développeur originel de PGP.
  • Pour une organisation, vous pouvez aussi vérifier leur clé sur leur site web (exemples : Microsoft Security Notification Service key, US-CERT key, Linux kernel key).
  • Et dans les deux cas, vous pouvez vérifier l'authenticité de la clé au moyen de votre réseau de confiance, qui est la relation de confiance entre vous et la clé publique qui vous intéresse. Exemple : vous faites entièrement confiance à Bob pour signer des clés, et Bob a signé la clé d'Alice avec une valeur de confiance 'complète'. Vous allez donc considérer la clé d'Alice comme valide ! Un autre exemple : vous faites confiance à Bob et à Chris, et ils ont tous les deux signés la clé d'Alice avec une valeur de confiance 'marginale'; vous pouvez donc considérer également la clé d'Alice comme valide.
Une fois que vous avez vérifié l'authenticité d'une clé, idéalement dans la vie réelle (par exemple en rencontrant ou en donnant un coup de téléphone à quelque que vous connaissez et en notant son empreinte, ou en allant à une key signing party et en vérifiant l'identité des personnes et leurs empreintes PGP), vous pouvez utiliser Enigmail (voir paragraphe suivant) ou lancer gpg --sign-key userID pour concrétiser votre confiance dans cette identité en signant sa clé publique. Ainsi la clé deviendra valide pour vous (et il n'y aura plus de point d'interrogation au-dessus du symbole 'signé' dans Enigmail), et vous pourrez dire à tout le monde (en particulier les gens qui ont confiance en vous) que vous avez confiance dans cette clé en l'uploadant avec votre signature sur le serveur de clé avec gpg --send-key userID. Quand des gens recevront une clé au moyen d'Enigmail ou de gpg --search-keys / gpg --recv-key, ou quand ils recevront les dernières infos au sujet des clés qu'ils connaissent déjà au moyen de gpg --refresh-keys, ils verront votre signature dessus !
Si vous préférez les interfaces graphiques, vous pouvez simplement utiliser la commande Sign du gestionnaire de clé Enigmail, comme vous pouvez le voir ici (capture d'écran de la version anglaise) :
Capture d'écran montrant la boîte de dialogue permettant de signer une clé

Cliquez sur cette image pour la voir en taille réelle

Renseignements complémentaires (liens anglophones et francophones)

English language: USA & UK flagsMore on the protocols

English language: USA & UK flagsOther guides

Drapeau françaisLiens en Français

English language: USA & UK flagsOther userful links

English language: USA & UK flagsSupport information


Questions, commentaires ? Contactez l'auteur ! (Clément Séveillac (personal email) - PGP key / fingerprint)