Marx0ria » GPG pour les nuls

Ce petit tuto vous expliquera comment sécuriser vos communications avec GPG.

Introduction

Vous voulez communiquer en toute sérénité ? Vous voulez échanger des e-mails sans que le gouvernement ne les lise ? Vous êtes sous Windows ? Alors ce tuto est fait pour vous. Je vais ici vous expliquer comment utiliser GPG (a.k.a. GnuPG ou GNU Privacy Guard) et l'utiliser pour chiffrer vos communications.

1. Fonctionnement

D'abord, expliquons le fonctionnement de GPG. Lorsque vous l'utilisez pour la première fois, il vous demandera de créer une paire de clés. En effet, il s'agit:

Si je parle de votre clé, selon le contexte, il s'agira de votre clé publique ou bien privée.

2. Installation

La suite de logiciels sous Windows permettant de manipuler des fichiers chiffrés avec GPG, avec une interface conviviale, s'appelle GPG4Win. Téléchargez la version 1.1.4 et lancez l'installateur.

S'agissant d'un logiciel libre sous licence GPL, vous pourrez bien évidemment accepter la licence, à moins que vous ne travailliez pour Microsoft. Ensuite, pour ce qui est des composants à installer, cochez les cases :

...et accessoirement GPGol qui est un plug-in pour Outlook, mais on s'en passera ici. Éventuellement, vous pourrez installer le guide du novice, mais vosu n'en aurez pas besoin si vous lisez mon tuto, non? :-p

3. Vos premiers pas

3.1. Créez votre paire de clés

Lancez l'outil GPA. Il va vous demander de créer une nouvelle clé. Entrez juste votre nom et une "phrase de passe" relativement longue et contenant tout: des chiffres, des lettres, des symboles. Une barre évaluera la force de votre phrase de passe. Vous obtiendrez enfin l'interface graphique suivante:

Interface principale de GPA

Vous pourrez ensuite cliquer sur le bouton Edit pour changer le mot de passe de la clé, ou sa date limite de validité. Attention aux crashs de GPA par contre, j'en ai déjà eu un.

3.2. Exportez votre clé publique

Le but étant que vos amis puissent s'en servir pour chiffrer des messages pour vous. Sélectionnez votre paire de clés puis cliquez sur le bouton Export (exporter). Mettez ensuite un nom de fichier (genre pubkey.asc) et laissez la case Armor cochée: il produira un bloc de texte facilement échangeable par mail, par MSN ou sur un forum.

Il est aussi possible de publier votre clé en l'envoyant sur un serveur de clés; dans ce cas, quiconque cherchant à vous envoyer un message pourra utiliser votre clé publique sans vous demander quoi que ce soit, et protéger votre vie privée ainsi que la sienne. Pratique, non? Il suffit de sélectionner votre paire de clés, puis de cliquer sur ServerSend keys.... Confirmez ensuite.

3.3. Importez d'autres clés publiques

Là, pas trop dur, cliquez sur le bouton Import (importer) et sélectionnez un fichier contenant une clé publique. Essayez par exemple avec la mienne ! Un message de confirmation devrait ensuite apparaître signalant qu'une clé a été importée.

De la même façon, vous pouvez aussi importer une clé à partir d'un serveur, accompagnée des signatures de gens qui l'ont déjà signée, en cliquant sur ServerRetrieve Keys.... Tapez ensuite le numéro de la clé (Key ID) qui vous intéresse. Ma clé a pour KeyID F4340FB8. Essayez!

3.4. Signez la clé publique d'autres gens

Ceci est une étape très importante qui permet de vous assurer que la clé que vous avez obtenue provient bien de la bonne personne. Il s'agit d'un rituel qui peut être fait en vrai ou encore par téléphone. GPG fera plutôt chier si vous n'utilisez pas une clé que vous avez signé au préalable.

Appelez la personne qui vous a fourni la clé, et vérifiez que l'empreinte (fingerprint) et le Key ID sont celle de la clé de votre ami. Si vous sélectionnez une clé, ils apparaissent dans l'onglet Détails ci-dessous, comme par exemple pour ma clé:

Onglet Détails pour ma clé

Je compte sur vous et sur votre bon sens pour vérifier ces deux valeurs. Une fois l'identité confirmée, faites un clic droit sur la clé à signer, puis cliquez sur Sign Key. Suivez les instructions à l'écran, et vous pourrez enfin faire quelque chose d'utile avec la clé publique de votre ami!

4. Chiffrer et déchiffrer

Sous Windows, la procédure varie selon ce que vous voulez faire.

4.1. Chiffrer du texte

S'il s'agit d'un truc que vous n'avez pas encore tapé (i.e. une réplique sur MSN, une réponse à un e-mail ou à un post sur un forum), voici le moyen le plus facile :

  1. Ouvrez GPA puis cliquez sur le dernier bouton, intitulé Clipboard.
  2. Dans le champ de texte, tapez ce que vous voulez.
  3. Cliquez ensuite sur le bouton Encrypt (chiffrer).
  4. Dans la partie haute de la boîte de dialogue, sélectionnez la personne pour qui le message est destiné. Cochez la case Sign et sélectionnez votre clé privée dans la liste ci-dessous.
  5. Cliquez ensuite sur OK. Entrez votre phrase de passe lorsqu'on vous le demande.

Sélection de clés avec GPA

Si tout va bien, le contenu du message initial sera remplacé par un truc horrible compris entre deux balises -----BEGIN PGP MESSAGE----- et -----END PGP MESSAGE-----. Copiez-collez ensuite ce message normalement; votre ami reconnaîtra qu'il s'agit d'un message crypté et va le déchiffrer avec le procédé inverse.

Pour déchiffrer la réponse que votre ami vous enverra ensuite, faites un copier-coller du message entier (y compris les balises). Cliquez ensuite sur Verify (vérifier) ou Decrypt (déchiffrer). Préférez le premier car Verify vérifie la signature et déchiffre le texte; ceci pour vous assurer que les mots doux écrits par votre moitié proviennent bien de lui et pas d'un imposteur par exemple ;-)

Attention: si vous chiffrez le message avec une clé publique d'une personne autre que vous, vous ne pourrez plus jamais lire vous-même ce que vous aviez écrit! Si c'est vraiment important, gardez une copie du texte original quelque part avant de le chiffrer!

4.2. Chiffrer d'autres fichiers

D'accord, vous savez maintenant chiffrer du texte. Mais s'il s'agit d'une photo, d'un document W*** (par exemple), ou un autre truc que vous enverriez en pièce jointe dans un mail, cela ne présente que peu d'intérêt. Les autres fichiers se chiffrent de la façon suivante:

  1. Faites un clic droit sur le fichier à chiffrer.
  2. Dans le menu contextuel, sélectionnez GPGeeSign & Encrypt.
  3. Cochez la case devant la clé publique du destinataire.
  4. Sélectionnez votre clé privée dans Signing Keys.
  5. Laissez toutes les autres options comme elles sont et cliquez sur OK.
  6. Tapez éventuellement votre phrase de passe lorsqu'il vous est demandé de le faire.

Sélection de clés avec GPGee

Si le fichier s'appelait foo.ext, alors un nouveau fichier foo.ext.gpg devrait apparaître. Il s'agit d'un fichier binaire donc pas de balises comme dans le paragraphe 4.1.. Notez que le fichier d'origine ne bouge pas.

Vous pouvez aussi cocher la case Text output (ASCII Armor) pour que votre fichier chiffré soit sous forme de texte et devienne un foo.ext.asc. Cela ne présente que peu d'intérêt, sauf si vous utilisez un moyen de communication qui ne permette pas d'envoyer des pièces jointes. Dites quand même à votre destinataire qu'il s'agit d'un fichier non textuel.

Pour déchiffrer: faites un clic droit sur le fichier .gpg ou .asc, puis sélectionnez GPGeeVerify/Decrypt. Tapez votre phrase de passe, et une boîte vous indiquant que tout s'est bien passé (ou pas) apparaîtra. Le fichier déchiffra apparaîtra dans le même répertoire que le fichier crypté.

Conclusion

Pas besoin, donc, d'être un dieu de l'informatique pour savoir chiffrer ses messages. Sous Linux, il existe aussi bien des outils en ligne de commande (gpg, qui permet de faire tout ce que j'ai décrit) que des interfaces graphiques similaires à GPA (comme kgpg). Comme quoi, pour protéger vos secrets, ce n'est pas difficile du tout si vous savez cliquer.

Je vous invite aussi à lire la documentation pour tout savoir sur les usages alternatifs de GPG: comment utiliser la même clé privée sur d'autres machines, comment signer des messages sans les chiffrer, et bien d'autres choses encore. En cette sombre époque, vous allez en avoir besoin.

Marx0r, 1er juin 2009

XHTML valide ! CSS valide !