Page principale \ Les Dossiers \ Cryptographie

2. Dans la pratique : crypter ses messages

Pour les spécialistes, un utilitaire de cryptage ne peut prétendre à ce titre que dans la mesure où son code source est disponible : un expert peut vérifier que le logiciel ne contient pas de backdoor (porte dérobée) qui permettrait de décrypter tous les messages.

Ainsi, seule la version 6.5.1 de PGP est réputée fiable [Télécharger (4,89 Mo)] ! En effet, ce logiciel a été racheté par la société Network Associates, qui continue à le développer mais qui ne propose plus les sources.

Aujourd'hui, plusieurs versions de PGP coexistent :

Dans la suite de ce dossier, nous utiliserons un logiciel libre, GPG (Gnu Privacy Guard). Cet utilitaire est gratuit et ses sources sont disponibles. Sous Windows, des add-ins (Compléments à un programme) sont également disponibles pour les clients de messagerie les plus courants (Outlook, Outlook Express, Eudora, Pegasus Mail...)

"GnuPG, pour GNU Privacy Guard (gardien de la vie privée), est la version GNU free software (logiciel libre) du standard OpenPGP. GnuPG est compatible avec PGP 5.x/6.x/7.x et peut être librement utilisé pour un usage commercial. " [OpenPGP]

2.1 Sous Windows

La page http://www.geocities.com/openpgp/gnupg-win.htm contient le résumé des explications suivantes.

2.1.1 Les utilitaires nécessaires

Tout d'abord, nous utiliserons une interface graphique pour manipuler GPG, WinPT (Windows Privacy Tray).

La version actuelle (02/2002) de WinPT est la 0.5.5, celle de GPG est la 1.0.6.
Pour vérifier si de nouvelles versions sont disponibles, consultez les sites officiels de ces outils :

Si vous utilisez un des clients de messagerie suivants, vous pouvez télécharger ces petits programmes qui "simplifient la vie". [Source : OpenPGP]

Vous utilisez...

...Téléchargez

MS-Outlook Express 5.x / 6

GPGOE

MS-Outlook

G-Data plugin

Pegasus Mail

QDGnuPG

Becky! 2

BkGnuPG

A priori (je ne les ai pas tous testé), ces utilitaires s'insèrent dans les barres d'outils des logiciels et il vous suffit de cliquer pour crypter, décrypter, ou récupérer la clé d'un correspondant.

Mais avant de pouvoir crypter ses messages, il faut configurer GPG, créer une paire de clés....
Pas de panique ! Nous allons voir cela ensemble....

Je ne parlerai pas de l'installation des logiciels, celle-ci étant relativement simple.


2.1.2 Configuration de GPG et de WinPT

La première opération est de configurer GPG. Ceci peut se faire très simplement par l'interface graphique WinPT dont nous avons parlé.

Note : WinPT se loge près de l'horloge et se présente sous la forme d'une loupe pointant un signe @. En cliquant avec le bouton droit de la souris sur cette icône, un menu s'affiche.

Ces commandes sont également accessibles par un certain nombre de raccourcis claviers ("crypter le presse-papier" par CTRL+ALT+C par exemple). L'auteur conseille cette méthode, mais nous utiliserons les commandes du menu.

Pour WinPT, il n'y a pas grand chose à faire : dans le sous -répertoire Locale, il suffit de renommer le fichier correspondant à votre langue favorite en winpt.mo puis de relancer WinPT pour que les commandes de celui-ci soient traduites !
Le fichier pour le français a pour nom winpt-fr.mo.

Lors de son premier lancement, WinPT propose de générer une paire de clefs (donc, pas besoin de chercher dans les menus).


2.1.3 Générer une paire de clés

Dans le menu de WinPT, la première entrée, "Key manager" (Gestionnaire de clés) affiche une fenêtre qui listera notre trousseau, c'est à dire la liste des clés publiques des correspondants auxquels il est possible d'envoyer des messages cryptés. Naturellement, tant que nous n'aurons pas importé de clefs, cette liste reste vide...

Dans un premier temps, nous allons générer une paire (publique ; privée) de clés.

Pour cela nous appellerons le menu Key / Generate... dans le Gestionnaire de clés ("Key manager ") dont nous venons de parler.

La fenêtre suivante s'affiche :


Les informations entrées dans cette fenêtre seront utilisées pour générer une clé unique.

La "Passphrase" doit être suffisamment longue (idéalement, une phrase complète contenant des caractères "spéciaux") pour être fiable... Celle ci vous sera demandé pour décrypter les messages (comme un mot de passe).

En appuyant sur Start, l'ordinateur génèrera des nombres aléatoires pour construire les clés. Les spécialistes conseillent de bouger la souris, lire une vidéo, jouer une musique ou toute autre activité nécessitant du calcul pour améliorer la qualité de ces nombres et de fait celle des clés.

Cette opération terminée, GPG vous demande de sauvegarder les deux clés sous forme de deux fichiers : pubring.gpg (clé publique) et secring.gpg (clé privée). Idéalement, ces 'fichiers-clés' doivent être copiés sur une disquette ou sur un cdrom !

Note: PGP/Key -ID = 0x[clé publique]

Par exemple si la clé publique est 12B2E23F, le PGP ID sera 0x12B2E23F

2.1.4 Importer / Exporter de nouvelles clés

Une fois ces clés générées, il faut distribuer la clé publique (la privée ne doit pas être connue d'un tiers) pour que nos correspondants puissent l'utiliser. Deux méthodes sont possibles pour distribuer sa clé publique :

Au besoin, on peut exporter de nouveau vos clés dans un fichier en choisissant l'entrée 'Export...' du menu Key.

Pour ajouter la clé d'un correspondant dans son trousseau, on peut de même

Les serveurs de clés:

Nous utiliserons le menu "Keyserver" du Gestionnaire de clés ("Key manager "). Cette fenêtre contient une liste de serveurs de clés.

Note : Pour ajouter un serveur, par exemple, le serveur du MIT, il faut éditer le fichier keyserver.conf dans le répertoire de WinPT (par défaut C:\Program File\WinPT). Il suffira d'insérer http://pgp.mit.edu=18.7.14.139 à la suite des serveurs disponibles et redémarrer WinPT pour que celui soit disponible. En donnant un identifiant (Key-ID ou adresse e-mail), on peut récupérer ou envoyer (attention à bien cocher la case "envoyer") très rapidement une clé.

Note : Avec les plugins pour les clients de messagerie, il est inutile d'utiliser GPG ou WinPT pour récupérer une clé. Il suffit de cliquer sur l'icône adéquate pour récupérer la clé associée au message crypté (l'opération peut même être automatique).

Aucune manipulation particulière n'est nécessaire pour la signature numérique.

2.1.5 Et ensuite ?

Aprés toutes ces opérations (bien plus longues à expliquer qu'à faire), il ne reste quasiment rien à faire...

Pour un message signé numériquement, si le correspondant est inconnu, une ligne "Message signé par clé inconnue 12B2E23F" sera inséré en début de mail. Il suffira de cliquer sur "Importer la clé du message" dans la barre d'outils pour que le logiciel la demande à un serveur de clés. Cette opération peut être automatique.

Avec le temps, le trousseau grossira, incluant les nouvelles clés de vos correspondants.

2.2 Sous Linux

Naturellement, la démarche sera la même que sous Windows : nous allons générer une paire de clés, l'envoyer à un serveur....

Je ne reprendrais pas toutes les explications (théoriques) données dans la partie précédente, mais simplement donner les commandes (en ligne) pour arriver au même résultat.

La page http://www.geocities.com/openpgp/gnupg.htm apporte un certain nombre de renseignements complémentaires.

2.2.1 Les outils nécessaires.

Il existe plusieurs interfaces pour GPG sous Linux, dont une officielle : GPA [Sources.
Voir les copies d'écran à http://www.geocities.com/openpgp/gnupg.htm#GUI.
Cette page présente également deux autres interfaces : Seahorse et TkPGP.

Si Gpg n'est pas déjà installé, vous devez récupérer les sources ou un package déjà compilé.

La version actuelle (02/2002) de gpg est la 1.0.6 :

Les commandes suivantes sont à taper dans une console (il n'est pas nécessaire d'être root)

2.2.2 Générer une paire de clés

Pour créer les deux clefs, taper taper gpg --gen-key Quelques questions vous sont posées :

Plus d’informations à http://www.gnupg.org/howtos/fr/GPGMiniHowto-3.html

Les clés que vous venez de générer sont stockées dans votre trousseau.

2.2.3 Lister, Effacer une clé dans le trousseau

Pour lister votre trousseau, la commande est : gpg --list-keys [clé publique] vous pouvez aussi lister votre (vos) clé(s) privée(s):
gpg --list-secret-keys

Pour effacter une clé :
gpg --delete-key [clef publique]
gpg --delete-secret-key [clef privée]

2.2.4 Importer / Exporter de nouvelles clés

Une fois votre clé publique générée, vous souhaiterez peut être l'envoyer sur un serveur de clés :
gpg --export [clef]

Note : Il est plus sécurisé d'échanger des clés de directement de vos correspondants.
Envoyer votre clé publique sur un serveur de clé: gpg --keyserver pgp.mit.edu [clé] Le paramètre -–keyserver indique le serveur à utiliser.

3. Pour aller plus loin

La page http://www.gnupg.org/howtos/fr/GPGMiniHowto-6.html vous présente un certain nombre de liens en rapport avec la cryptographie, PGP ou GPG.

Plus général, le howto de Gpg est disponible à http://www.gnupg.org/howtos/fr

Ce document est sous license Creative-Common (by-nc-sa)


Note: Ce site n'est plus mis jour. Consultez Arnest.net pour plus de dossiers et d'informations. Me contacter.