Léa-Linux & amis :   LinuxFR   GCU-Squad   Zarb.Org   GNU
Reseau-secu-gpg-intro

Signer et chiffrer avec GnuPG

Signer et chiffrer avec GnuPG
ou comment préserver votre identité sur internet

Introduction à GPG

GPG signifie : GNU Privacy Guard. C'est un outil qui permet deux choses, à priori, distinctes :

  • signer un message/document et permettre de vérifier que la signature provient de la personne qui l'affirme
  • crypter un message/document de façon que seul le destinataire puisse le décrypter

Il fonctionne suivant le principe suivant, chaque personne utilisant GPG dispose de deux clés :

  • une clé privée connue d'elle seule (cette clé sert à signer et à décrypter)
  • une clé publique connue de tout le monde, cette clé doit correspondre à la clé secrète (cette clé sert à vérifier les signatures et à crypter)
Note: dans la suite je n'emploierai plus l'expression "crypter" qui est un anglicisme mais chiffrer qui est le terme français adapté.

L'envoi d'un mail signé se passe de la manière suivante : j'écris mon message comme d'habitude, je le passe à GPG avec le nom de la clé que je souhaite utiliser pour signer ce message, il me demande la pass phrase (les clés secrètes sont 'protégées' par une pass-phrase, ou mot de passe), il me génère un fichier de signature (ou équivalent : un fichier signé, suivant les options) que j'envoie avec mon message (en pièce attachée par exemple). Le destinataire reçoit mon message, il faut qu'il dispose de ma clé publique (ce qui est simple puisque tout le monde peut la consulter, par exemple sur Léa). Il passe mon message et la signature à GPG qui vérifie alors la signature.

Pour chiffrer un message, c'est similaire. Je dois connaître la clé publique du destinataire. Je passe à GPG le message à chiffrer et l'identité du destinataire (ou la clé, c'est pareil pour GPG puisque qu'il maintient une base de données des clés dont vous disposez). GPG me renvoie un message chiffré (que même moi, je ne peux déchiffrer). Je l'envoie au destinaire qui le déchiffre en utilisant sa clé secrète.

Ce document est très axé 'ligne de commande', mais même ceux qui préfèrent utiliser des outils graphiques peuvent le lire avec profit.

Générer les clés

Avant toutes choses, il nous faut GPG. Vous le trouverez sur le CD de votre distribution ou, à défaut sur : http://www.gnupg.org.

Puis, il nous faut nos deux clés. Nous allons demander à GPG de les générer.

  1. On initialise gpg :
[LFS raoul@gandalf raoul]$ gpg --list-keys
gpg: WARNING: using insecure memory!
gpg: voir http://www.gnupg.org/fr/faq.html pour plus d'informations
gpg: /home/raoul/.gnupg: répertoire créé
gpg: new configuration file `/home/raoul/.gnupg/gpg.conf' created
gpg: keyblock resource `/home/raoul/.gnupg/pubring.gpg': erreur d'ouverture de fichier

Le message d'erreur est normal : nous n'avons encore aucune clé.

  1. On génère les deux clés (GPG va nous poser de multiples questions, les réponses seront notées en gras) :
[LFS raoul@gandalf raoul]$ gpg --gen-key
gpg (GnuPG) 1.2.0; Copyright (C) 2002 Free Software Foundation, Inc.
This program comes with ABSOLUTELY NO WARRANTY.
This is free software, and you are welcome to redistribute it
under certain conditions. See the file COPYING for details.

gpg: WARNING: using insecure memory!
gpg: voir http://www.gnupg.org/fr/faq.html pour plus d'informations
gpg: le porte-clés `/home/raoul/.gnupg/secring.gpg` a été créé
Sélectionnez le type de clé désiré:
(1) DSA et ElGamal (par défaut)
(2) DSA (signature seule)
(5) RSA (signature seule)
Votre choix ? 1

Ici, choississez l'option par défaut, c'est celle qui est la plus sûre.

La paire de clés DSA fera 1024 bits.
Préparation à la génération d'une nouvelle paire de clés ELG-E.
la taille minimale est 768 bits
la taille par défaut est 1024 bits
la taille maximale conseillée est 2048 bits
Quelle taille de clé désirez-vous ? (1024) 2048

Ici, choississez 2048 car les clés de 1024 bits ne sont plus vraiment sûres.

La taille demandée est 2048 bits
Spécifiez combien de temps cette clé devrait être valide.
0 = la clé n'expire pas
<n> = la clé expire dans n jours
<n>w = la clé expire dans n semaines
<n>m = la clé expire dans n mois
<n>y = la clé expire dans n années
La clé est valide pour ? (0) '

Ici, choisissez ce que vous voulez, mais à priori votre clé n'a pas de raison particulière d'expirer.

Key n'expire pas du tout
Est-ce correct (o/n) ? o

Répondez "o" si vous ne vous êtes pas trompé, "n" sinon ;-)

Vous avez besoin d'un nom d'utilisateur pour identifier votre clé; le programme le construit à partir du nom réel, d'un commentaire et d'une adresse e-mail de cette manière:
« Heinrich Heine (Der Dichter) <heinrichh@duesseldorf.de> »

Nom réel: Raoul Machin
Adresse e-mail: raoul.machin@mon-fai.org
Commentaire: riton

Entrez ici votre identité (faites attention à votre email, ce sera souvent lui qui servira à identifier avec quelle signature faire quelle chose (signer, chiffrer, vérifier, déchiffrer). Pour le commentaire, l'habitude est de mettre un surnom ou un titre.

Vous avez sélectionné ce nom d'utilisateur:
"Raoul Machin (riton) <raoul.machin@mon-fai.org>"

Changer le (N)om, le (C)ommentaire, l'(E)-mail ou (O)K/(Q)uitter ? O

Validez !

Vous avez besoin d'un mot de passe pour protéger votre clé secrète.
Entrez le mot de passe: xxxxxx
Répétez le mot de passe: xxxxxx

Le mot de passe est l'ultime protection de votre clé privée, choisissez-le avec précaution : il ne doit pas être trop long à taper car vous le taperez souvent, mais il doit être suffisamment complexe pour ne pas pouvoir être cracké trop vite. Sachez quand même que si quelqu'un met la main sur votre clé secrète, vous pouvez la considérer comme corrompue : ce n'est qu'une affaire de temps.

Un grand nombre d'octets aléatoires doit être généré. Vous devriez faire autre-chose (taper au clavier, déplacer la souris, utiliser les disques) pendant la génération de nombres premiers; cela donne au générateur de nombres aléatoires une meilleure chance d'avoir assez d'entropie.
++++++++++..++++++++++++++++++++.++++++++++.+++++...
...
gpg: /home/raoul/.gnupg/trustdb.gpg: base de confiance créée
les clés publique et secrète ont été créées et signées.
clé marquée comme ayant une confiance ultime.

pub 1024D/A39DDDD2 2002-10-18 Raoul Machin (riton) <raoul.machin@mon-fai.org>
Empreinte de la clé = 3930 6F14 BD9D CB85 D027 40CB 9574 8EF6 A39D DDD2
sub 2048g/0A66DCBD 2002-10-18

Ça y est, vos clés sont générées. Vous pouvez remarquer que chaque clé a un numéro (celle marquée pub est la clé publique, celle marquée sub est la clé secrète), mais ce que vous voyez, ce ne sont pas les clés : seulement leur numéro (tout le monde peut les voir). Enfin, vous remarquez aussi que la clé publique possède une empreinte. Cette empreinte sert à "valider" l'identité de quelqu'un. Nous y reviendrons plus tard. Vous pouvez recommencer cela plusieurs fois si vous souhaitez signer vos messages suivant plusieurs identités (riton <coiffeur>, riton <musicien>, etc...)

Exporter sa clé publique.

Si personne ne connait votre clé publique, personne ne pourra vérifier l'authenticité de vos messages, ni vous envoyer des messages chiffrés : alors à quoi ça sert que GPG, il se décarcasse ? ;-)

D'abord, exportons-la dans un fichier texte :

[LFS raoul@gandalf raoul]$ gpg --export --armor riton > ~/riton.asc
gpg: WARNING: using insecure memory!
gpg: voir http://www.gnupg.org/fr/faq.html pour plus d'informations

Voila, votre clé publique est maintenant sauvée dans le fichier ~/riton.asc.

Vous pouvez coller votre clé publique sur tous vos messages. Mais c'est pénible : pour vous, mais aussi pour vos destinataires.

Vous pouvez, si vous disposez d'un espace sur le WEB (en http, ou ftp), la mettre sur votre espace et dans chaque message signaler où on peut trouver la clé avec une fin de message du style :

Enfin, la méthode des pros de gpg : le serveur de clés. Rendez vous là : http://www.keyserver.net/en. Cliquez sur "ADD A KEY". Dans la zone texte "Paste your key here" : coller le contenu de votre "~/riton.asc" (en entier, sans rien ajouter, absolument rien, même pas un retour chariot). Puis cliquez sur "Submit this key to the keyserver". Votre clé est alors envoyée à plusieurs keyservers mondiaux et maintenant vous pouvez envoyer un message à n'importe qui, il pourra vérifier votre signature en consultant votre clé publique sur le serveur de clés. C'est la méthode que je vous encourage à utiliser.

Importer une clé publique.

Si votre correspondant ne vous a pas donné un moyen de télécharger le fichier contenant sa clé publique (Fred.asc) c'est que la clé doit se trouver sur un serveur de clé. Rendez vous sur http://www.keyserver.net/en et cliquez sur "SEARCH A KEY", tapez l'addresse de votre correspondant ou le numéro de sa clé. Et obtenez la clé. Sauvez la dans : Fred.asc (par exemple).

Nous disposons, donc, maintenant du fichier Fred.asc contenant la clé de Fred (la mienne !). Il nous faut l'ajouter à notre liste de clés (le trousseau : keyring in english) :

[LFS raoul@gandalf raoul]$ gpg --import Fred.asc
gpg: WARNING: using insecure memory!
gpg: voir http://www.gnupg.org/fr/faq.html pour plus d'informations
gpg: key E64019B5: public key "Frédéric Bonnaud (Fred) <frederic.bonnaud chez laposte.net>" imported
gpg: Quantité totale traitée: 1
gpg: importée: 1

On peut vérifier de suite que tout est normal (même si le message précédant l'indique clairement) :

[LFS raoul@gandalf raoul]$ gpg --list-keys
gpg: WARNING: using insecure memory!
gpg: voir http://www.gnupg.org/fr/faq.html pour plus d'informations
/home/raoul/.gnupg/pubring.gpg
------------------------------
pub 1024D/B60335AE 2002-10-18 Raoul Machin (riton) <raoul.machin@mon-fai.org>
sub 768g/8AE42FB0 2002-10-18

pub 1024D/E64019B5 2001-09-13 Frédéric Bonnaud (Fred) <frederic.bonnaud chez laposte.net>
sub 1024g/422AA63E 2001-09-13

Signer un message/document.

Je supposerai que le message que nous souhaitons signer est : ~/message.txt. Il y a plusieurs méthodes :

  1. La signature simple, binaire :
[LFS raoul@gandalf raoul]$ gpg --default-key riton --detach-sign message.txt
gpg: WARNING: using insecure memory!
gpg: voir http://www.gnupg.org/fr/faq.html pour plus d'informations

Vous avez besoin d'un mot de passe pour déverrouiller la clé secrète pour l'utilisateur: "Raoul Machin (riton) <raoul.machin@mon-fai.org>" clé de 1024 bits DSA, ID B60335AE, créée le 2002-10-18

Entrez le mot de passe: xxxxxxx

Cela crée un fichier binaire contenant la signature : ~/message.txt.sig. Il faut l'envoyer avec le message lui-même, par exemple en pièce attachée.

  1. La signature simple, ascii :
[LFS raoul@gandalf raoul]$ gpg --default-key riton --armor --detach-sign message.txt
gpg: WARNING: using insecure memory!
gpg: voir http://www.gnupg.org/fr/faq.html pour plus d'informations

Vous avez besoin d'un mot de passe pour déverrouiller la clé secrète pour l'utilisateur: "Raoul Machin (riton) <raoul.machin@mon-fai.org>" clé de 1024 bits DSA, ID B60335AE, créée le 2002-10-18
Entrez le mot de passe: xxxxxxx

Cela crée un fichier ascii (--armor) lisible (enfin presque) contenant la signature : ~/message.txt.asc. Il faut l'envoyer avec le message lui-même, si vous l'envoyez par email cela doit être une meilleure solution que la signature binaire. La signature ressemble à cela :

-----BEGIN PGP MESSAGE-----
Version: GnuPG v1.2.0 (GNU/Linux)

owGbwMvMwCRYcZa5Yhuz6TrGNapJ3LmpxcWJ6al6JRUltuv/KiWnJmcqpBaXKJTm
KUCluDrsmVkZQJIwjYJMy0MZ5kd3789++nx9qrrM3amnDRcsXOw5PZRhQcudquMS
jmU2xzytOPVOPA4TTJbOAQA=
=AAQr
-----END PGP MESSAGE-----
  1. La signature dans le message en ascii :
[LFS raoul@gandalf raoul]$ gpg --default-key riton --clearsign message.txt
gpg: WARNING: using insecure memory!
gpg: voir http://www.gnupg.org/fr/faq.html pour plus d'informations

Vous avez besoin d'un mot de passe pour déverrouiller la clé secrète pour l'utilisateur: "Raoul Machin (riton) <raoul.machin@mon-fai.org>" clé de 1024 bits DSA, ID B60335AE, créée le 2002-10-18

Entrez le mot de passe: xxxxxxx

Cela crée un fichier ascii (--clearsign)lisible contenant la signature et le message : ~/message.txt.asc ressemblant :

-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1

ceci est un message
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.2.0 (GNU/Linux)

iD8DBQE9r/90eM0DeLYDNa4RAiHfAJ0YzqtxI9P3P8k4qBO5oqux3ePo6wCgnqYr
u0Fp+PQc3mayA6znuWg2fT4=
=gy4J
-----END PGP SIGNATURE-----

Là, vous n'avez que ce fichier à envoyer.

Normalement votre client mail doit savoir faire cela tout seul sans que vous vous en occupiez.

Vérifier un message signé.

Comme il y a plusieurs façons de signer, il y a plusieurs façon de vérifier la signature.

  1. Si le message vous arrive avec une signature séparée (message.txt + message.txt.sig ou message.txt.asc), alors, il suffit de faire :
[LFS raoul@gandalf raoul]$ gpg --verify message.txt.asc message.txt
gpg: WARNING: using insecure memory!
gpg: voir http://www.gnupg.org/fr/faq.html pour plus d'informations
gpg: Signature faite ven 18 oct 2002 14:45:58 CEST avec une clé DSA ID B60335AE
gpg: Bonne signature de "Raoul Machin (riton) <raoul.machin@mon-fai.org>"

À ce moment vous pouvez avoir un message vous signalant que la validité de la clé ne peut être vérifiée : c'est normal, nous n'avons pas signé la clé de riton ni indiqué à quel point nous lui faisons confiance.

  1. Si le message vous arrive avec la signature (un seul fichier : message.txt.asc) : c'est encore plus simple :
[LFS raoul@gandalf raoul]$ gpg --verify message.txt.asc
gpg: WARNING: using insecure memory!
gpg: voir http://www.gnupg.org/fr/faq.html pour plus d'informations
gpg: Signature faite ven 18 oct 2002 14:45:58 CEST avec une clé DSA ID B60335AE
gpg: Bonne signature de "Raoul Machin (riton) <raoul.machin@mon-fai.org>"

(Même remarque que précédemment)

Si, au lieu de vous renvoyer "Bonne signature", gpg vous renvoie :

gpg: Erreur de CRC; 43558e - fbd2e9
gpg: packet(2) too short

c'est que la signature n'est pas une signature gpg valable : la signature est corrompue (pas la clé).

S'il renvoie :

gpg: Signature faite ven 18 oct 2002 14:44:46 CEST avec une clé DSA ID B60335AE
gpg: MAUVAISE signature de "Raoul Machin (riton) <raoul.machin@mon-fai.org>"

je crois que c'est clair ;-) : le message a été modifié : il ne provient pas de "riton".

Pour Kmail, allez voir ce [../trucs/lire.php3?id=167 truc & astuce].

Chiffrer un message/document.

Pour chiffrer un message, le principe est le même que pour signer, sauf qu'il ne faut pas indiquer la "default-key" mais le "recipient" (ie : le destinataire du message/document).

  1. Chiffrer (binaire, à éviter, sauf problème de taille de message) :
[LFS raoul@gandalf raoul]$ gpg --recipient riton --encrypt message.txt
gpg: WARNING: using insecure memory!
gpg: voir http://www.gnupg.org/fr/faq.html pour plus d'informations

Ceci crée message.txt.gpg, un fichier illisible.

  1. Chiffrer (ascii, à préférer)
[LFS raoul@gandalf raoul]$ gpg --recipient riton --armor --encrypt message.txt
gpg: WARNING: using insecure memory!
gpg: voir http://www.gnupg.org/fr/faq.html pour plus d'informations

Ceci crée message.txt.asc, un fichier lisible (ou presque) utilisable directement par votre client mail.

Déchiffrer un message/document.

Vous avez reçu le message chiffré : message.txt.gpg (ou message.txt.asc si l'option --armor a été utilisée). Pour le déchiffrer, quel que soit le format, il suffit de faire :

[LFS raoul@gandalf raoul]$ gpg --decrypt message.txt.gpg
gpg: WARNING: using insecure memory!
gpg: voir http://www.gnupg.org/fr/faq.html pour plus d'informations

Vous avez besoin d'un mot de passe pour déverrouiller la clé secrète pour l'utilisateur: "Raoul Machin (riton) <raoul.machin@mon-fai.org>" clé de 768 bits ELG-E, ID 8AE42FB0, créée le 2002-10-18 (ID clé principale B60335AE)

Entrez le mot de passe: xxxxxxx
gpg: chiffré avec une clé de 768 bits ELG-E, ID 8AE42FB0, créée le 2002-10-18
"Raoul Machin (riton) <raoul.machin@mon-fai.org>"
ceci est un message

Cela déchiffre le message sur la sortie standard (stdout). Pour sauver le message dans un fichier, il suffit d'utiliser une redirection :

[LFS raoul@gandalf raoul]$ gpg --decrypt message.txt.gpg > message.txt
gpg: WARNING: using insecure memory!
gpg: voir http://www.gnupg.org/fr/faq.html pour plus d'informations

Vous avez besoin d'un mot de passe pour déverrouiller la clé secrète pour l'utilisateur: "Raoul Machin (riton) <raoul.machin@mon-fai.org>" clé de 768 bits ELG-E, ID 8AE42FB0, créée le 2002-10-18 (ID clé principale B60335AE)

Entrez le mot de passe: xxxxxxx
gpg: chiffré avec une clé de 768 bits ELG-E, ID 8AE42FB0, créée le 2002-10-18
"Raoul Machin (riton) <raoul.machin@mon-fai.org>"

Lisons le message :

[LFS raoul@gandalf raoul]$ cat message.txt
ceci est un message

Note: le mot de passe qui vous est demandé est bien entendu celui de votre clé privée (de celle correspondant à la clé publique utilisée pour le chiffrage, au cas où vous en ayez plusieurs).

Edition des clés.

À quoi peut bien servir d'éditer les clés ? À indiquer à gpg a quel point vous leur faites confiance et/ou êtes sur de l'identité de la personne détentrice de la clé. Cela permet aussi d'ajouter une nouvelle identité pour la même clé (par exemple si vous avec plusieurs emails).

Il est possible d'utiliser kgpg pour faire cela, mais c'est assez facile en ligne de commande. Pour modifier la clé de Fred, il suffit de taper :

gpg --edit-key Fred

Vous vous retrouvez alors sous le shell (ligne de commande) de gpg :

gpg (GnuPG) 1.2.0; Copyright (C) 2002 Free Software Foundation, Inc.
This program comes with ABSOLUTELY NO WARRANTY.
This is free software, and you are welcome to redistribute it
under certain conditions. See the file COPYING for details.

gpg: WARNING: using insecure memory!
gpg: voir http://www.gnupg.org/fr/faq.html pour plus d'informations

pub 1024D/E64019B5 créée: 2001-09-13 expire: never confiance: -/-
sub 1024g/422AA63E créée: 2001-09-13 expire: never
(1). Frédéric Bonnaud (Fred) <frederic.bonnaud@laposte.net>

Commande>

Pour signifier à gpg que vous savez que la personne qui prétend posséder cette clé est la bonne, il faut suffit de la signer :

Commande> sign

pub 1024D/E64019B5 créée: 2001-09-13 expire: never confiance: -/-
Primary key fingerprint: 633F 57F8 E64D 844F 961C 5A1C 6C5B 2BA9 E640 19B5
Frédéric Bonnaud (Fred) <frederic.bonnaud@laposte.net>

Avec quel soin avez-vous vérifié que la clé que vous allez signer ?
Appartient-elle réellement à la personne sus-nommée ? Si vous ne savez
quoi répondre, entrez "0".

(0) Je ne répondrai pas. (default)
(1) Je n'ai pas vérifié du tout.
(2) J'ai un peu vérifié.
(3) J'ai vérifié très soigneusement.

Votre choix ? 2
Etes-vous vraiment sûr(e) que vous voulez signer cette clé
avec la vôtre: "Raoul Machin (riton) <raoul.machin@mon-fai.org>"

J'ai un peu vérifié cette clé.

Signer réellement ? oui

Vous avez besoin d'un mot de passe pour déverrouiller la clé secrète pour l'utilisateur: "Raoul Machin (riton) <raoul.machin@mon-fai.org>" clé de 1024 bits DSA, ID B60335AE, créée le 2002-10-18

Entrez le mot de passe: xxxxxxx

Pour savoir comment vérifier l'identité d'un signataire (attendez un peu, ça vient ;-).

Ensuite vous devez indiquer à gpg à quel point vous faites confiance à la personne possédant cette clé :

Commande> trust
pub 1024D/E64019B5 créée: 2001-09-13 expire: never confiance: -/-
sub 1024g/422AA63E créée: 2001-09-13 expire: never
(1). Frédéric Bonnaud (Fred) <frederic.bonnaud@laposte.net>

À quel point avez-vous confiance en cet utilisateur pour la vérification des clés des autres utilisateurs (vous pouvez vérifier son passeport, vérifier les empreintes de diverses sources...) ?
1 = ne sais pas
2 = je ne fais PAS confiance
3 = je crois marginalement
4 = je fais entièrement confiance
5 = je donne une confiance ultime
m = retour au menu principal

Votre décision ? 3

pub 1024D/E64019B5 créée: 2001-09-13 expire: never confiance: m/-
sub 1024g/422AA63E créée: 2001-09-13 expire: never
(1). Frédéric Bonnaud (Fred) <frederic.bonnaud@laposte.net>
Please note that the shown key validity is not necessarily correct unless you restart the program.

Commande>

Ne faites pas trop confiance aux gens que vous n'avez jamais rencontré (dans ce cas confiance marginale est un bon choix), vous pouvez sans doute faire une confiance ultime uniquement à vos amis. Ne faites pas confiance à quelqu'un (même un ami) dont vous savez qu'il signe toutes les clés n'importe commment. Cela affaiblit la chaine de validité des clés et diminue de beaucoup l'intérêt d'utiliser gpg.

Enfin sauvez les modifications :

Commande> save

Voilà, ce n'est pas la mer à boire.

Ajout de Jean-Thomas MUYL (maston28)

Le menu d'édition de clé de gpg possède cependant d'autres options intéressantes, et certaines méritent de s'y attarder...

Essayons la commande help pour avoir une liste des options disponibles :

Commande> help
quit quitter ce menu
save enregistrer et quitter
help afficher cette aide
fpr afficher l'empreinte
list lister la clé et les noms d'utilisateurs
uid sélectionner le nom d'utilisateur N
key sélectionner la clé secondaire N
check lister les signatures
sign signer la clé
lsign signer la clé localement
nrsign signer la clé de façon non-révocable
nrlsign signer la clé de façon locale et non-révocable
adduid ajouter un utilisateur
addphoto ajouter une photo d'identité
deluid enlever un utilisateur
addkey ajouter une clé secondaire
delkey enlever une clé secondaire
addrevoker ajouter une clé de révocation
delsig supprimer les signatures
expire changer la date d'expiration
primary marquer le nom d'utilisateur comme principal
toggle passer de la liste des clés secrètes aux clés privées et inversement
pref lister les préférences (expert)
showpref lister les préférences (bavard)
setpref donner la liste de préférences
updpref préférences mises à jour
passwd changer le mot de passe
trust changer la confiance
revsig révoquer les signatures
revkey révoquer une clé secondaire
disable désactiver une clé
enable activer une clé
showphoto montrer la photo d'identité

Tout d'abord, regardons ce que donne la commande uid :

Commande> uid

pub 1024D/6D30A93E créée: 2003-10-05 expire: never confiance: u/u
sub 2048g/A6FCFC89 créée: 2003-10-05 expire: never
(1) Jean-Thomas MUYL (maston28) <jtmaston@wanadoo.fr>
(2) plopppp (plop) <plopppp@plopp.com>
(3). coin_pwet (pwet) <coin@pwet.com>

Il y a ici 3 utilisateurs déclarés pour la même clé. Aucun n'est sélectionné. La plupart des commandes de ce menu nécessitent qu'un ou plusieurs utilisateurs soient sélectionnés :


Commande> uid 2

pub 1024D/6D30A93E créée: 2003-10-05 expire: never confiance: u/u
sub 2048g/A6FCFC89 créée: 2003-10-05 expire: never
(1) Jean-Thomas MUYL (maston28) <jtmaston@wanadoo.fr>
(2)* plopppp (plop) <plopppp@plopp.com>
(3). coin_pwet (pwet) <coin@pwet.com>

Vous pouvez donc constater que l'utilisateur sélectionné a une étoile * après son numéro.

Pour déselectionner tous les utilisateurs, utilisez uid 0


Imaginons maintenant que vous souhaitiez supprimer l'utilisateur sélectionné. Procédez comme suit :


Commande> deluid
Enlever réellement cet utilisateur ? yes

(1) Jean-Thomas MUYL (maston28) <jtmaston@wanadoo.fr>
(2). coin_pwet (pwet) <coin@pwet.com>



Si vous avez plusieurs adresses de courriel, vous voudrez sans doute pouvoir signer avec la même clé pour ces différentes adresses. Il vous faut donc ajouter de nouveaux utilisateurs via la commande adduid

Commande> adduid
Nom réel: Moi même maitre du monde
Adresse e-mail: autre_adresse@email.com
Commentaire: eureka
Vous utilisez le jeu de caractères 'iso-8859-1'.
Vous avez sélectionné ce nom d'utilisateur:
"Moi même maitre du monde (eureka) <autre_adresse@email.com>"

Changer le (N)om, le (C)ommentaire, l'(E)-mail ou (O)K/(Q)uitter ? O

Vous avez besoin d'un mot de passe pour déverrouiller la clé secrète pour
l'utilisateur: "Jean-Thomas MUYL (maston28) <jtmaston@wanadoo.fr>"
clé de 1024 bits DSA, ID 6D30A93E, créée le 2003-10-05


pub 1024D/6D30A93E créée: 2003-10-05 expire: never confiance: u/u
sub 2048g/A6FCFC89 créée: 2003-10-05 expire: never
(1) Jean-Thomas MUYL (maston28) <jtmaston@wanadoo.fr>
(2). Moi même maitre du monde (eureka) <autre_adresse@email.com>

Voila ! Simple non ?


Essayons maintenant de changer le mot de passe défini à la première génération de clé avec la commande passwd

Commande> passwd
La clé est protégée.

Vous avez besoin d'un mot de passe pour déverrouiller la clé secrète pour
l'utilisateur: "Jean-Thomas MUYL (maston28) <jtmaston@wanadoo.fr>"
clé de 1024 bits DSA, ID 6D30A93E, créée le 2003-10-05

Entrez le mot de passe.
Entre le nouveau mot de passe pour cette clé secrète.
Entrez à nouveau le nouveau mot de passe pour cette clé secrète.


Vous pouvez également ajouter une photo à votre clé. Cependant attention, celle-ci doit obligatoirement être au format JPEG. De plus, elle sera stockée dans votre clé publique, ainsi, si elle est trop grosse, votre clé publique risque fort de devenir intransportable...

Commande> addphoto

Pick an image to use for your photo ID. The image must be a JPEG file.
Remember that the image is stored within your public key. If you use a
very large picture, your key will become very large as well!
Keeping the image close to 240x288 is a good size to use.

Enter JPEG filename for photo ID:

De la même manière, la commande showphoto vous montreras la photo liée à la clé.


Voilà pour les principales options de ce menu, à vous ensuite de tester les autres ou de regarder dans la documentation de gpg à quoi elles correspondent.

ATTENTION, aucune des modifications que vous ferez ne seront prises en compte si vous n'utilisez pas save avant de fermer le menu !

Vérification de la validité des clés.

La sécurité des clés gpg réside dans la faculté de vérifier ou non l'identité des gens avec qui vous correspondez. Il existe un moyen de vérifier qu'une clé gpg appartient bien a quelqu'un : le fingerprint qu'on obtient en tapant :

[LFS raoul@ganfalf raoul]$ gpg --fingerprint Fred
gpg: WARNING: using insecure memory!
gpg: voir http://www.gnupg.org/fr/faq.html pour plus d'informations
pub 1024D/E64019B5 2001-09-13 Frédéric Bonnaud (Fred) <frederic.bonnaud@laposte.net>
Empreinte de la clé = 633F 57F8 E64D 844F 961C 5A1C 6C5B 2BA9 E640 19B5
sub 1024g/422AA63E 2001-09-13

L'empreinte clé est une somme de contrôles (un calcul assez complexe permettant d'identifier de manière à peu près sûre une clé. SI vous rencontrez (physiquement uniquement) une personne, qu'elle peut vous montrer son passport (ou que vous la connaissez personnellement, ça suffit, on n'est pas parano quand même, les chinois du FBI sont pas partout ;-) ET que l'empreinte de clé correspond à celle que vous donne la commande précédante ALORS vous pouvez être sûr que la clé dont elle prétend disposer est bien la sienne. Vous pouvez alors signer cette clé en affirmant que vous avez vérifié très soigneusement l'identité de la clé.

Intégration de gpg dans l'espace de travail.

kGPG: l'outil graphique.

En réalité, kgpg n'est pas le seul outil graphique, mais c'est à mon sens le plus développé et le plus simple d'utilisation. Il est surtout profondément intégré dans kde (je ne sais pas pour gnome)...Une fois vos clés créées, vous allez voir apparaître dans konqueror de nouvelles options sur les fichiers :


Intro-gpg-intro crypt menu.png

Si vous cliquez sur crypter fichier, vous allez devoir choisir pour qui vous voulez chiffrer (crypter=chiffrer) ce fichier (avec quelle clé publique).


Intro-gpg-intro choix cle.png

Votre mot de passe vous sera alors demandé, et le fichier chiffré sera créé. Pour déchiffrer un fichier, cliquez simplement dessus, il sera automatiquement déchiffré.

Il existe un applet pour kgpg qui simplifie encore plus ce travail, il se place dans une boite à miniature de la barre des taches KDE. Vous pouvez chiffrer-dechiffrer des fichiers grâce à lui en faisant un simple glisser-déposer.

Mais cet outil a d'autres options, un simple clic permet de le voir :


Fichier:Gpg-intro applet kgpg.png

Etudions quelles sont ces options :

  • "Encrypt clipboard" permet de chiffrer le contenu du presse-papier.
  • "Decrypt clipboard" permet de déchiffrer le contenu du presse-papier
    Dans les deux cas vous devrez choisir la clé adéquate, et entrer votre mot de passe
  • "Open Key Manager" L'outil graphique permettant de gérer ses clés. Intro-gpg-intro key manager.png Il permet de signer, ajouter, modifier, supprimer, exporter, importer révoquer des clés gpg, je vous laisse découvrir par vous même les options en question.
  • "Open editor" permet d'ouvrir un éditeur qui peut chiffrer-dechiffrer-signer du texte à la volée.
  • "Keyserver dialog" permet de gérer l'interaction avec les serveurs de clé (import-export, et une fonction de recherche).

Kmail et les clés GPG

La procédure pour utiliser kmail avec sa clé gpg est détaillée dans ce truc et astuce ainsi que celui-ci

Conclusion.

Voilà, avec cela vous devez pouvoir vous en tirer avec GPG (ou PGP). Il est possible de signer et chiffrer les messages (essayez !). Normalement il faut aussi générer un certificat de révocation pour votre clé privée (au cas ou elle serait corrompue). Bref, ce n'est pas un article complet. Amusez-vous à tout tester : gpg est vraiment un bel outil complet. Le plus simple pour utiliser GPG est d'utiliser un client mail qui sait s'en servir automatiquement (kmail, sylpheed-claws, gnus, mutt...) : ça évite de taper les commandes de chiffrage/déchiffrage, signature/vérification. Note de Jice : Savez-vous que tout le trafic mail passe en clair sur tous les serveurs ? Cela signifie que n'importe qui peut intercepter un mail au niveau d'un serveur et le lire (votre entreprise, votre fournisseur d'accès, etc.), par exemple à partir de certains mots clefs. De plus, les états cherchent des moyens d'espionner la correspondance électronique (système Echelon et équivalent Français). Chiffrer vos mails avec gpg, même les plus insignifiants, vous permet 1) de dormir sur vos deux oreilles et 2) de vous opposer à cette intrusion dans votre vie privée. C'est à mon avis extrêmement important.



@ Retour à la rubrique Réseau et sécurité

Cette page est issue de la documentation 'pré-wiki' de Léa a été convertie avec HTML::WikiConverter. Elle fut créée par Frédéric Bonnaud le 18/10/2002.

Copyright

Copyright © 18/10/2002, Frédéric Bonnaud

Creative Commons License
Creative Commons Attribution iconCreative Commons Share Alike icon
Ce document est publié sous licence Creative Commons
Attribution, Partage à l'identique 3.0 :
http://creativecommons.org/licenses/by-sa/3.0/


Autres ressources

Pour gérer vos clés gpg/pgp vous pouvez essayer : gpgkeys.

Moi j'utilise kgpg sous KDE.

Affichages

Serveur hébergé par ST-Hebergement et Lost-Oasis / IRC hébergé par FreeNode / NS secondaire hébergé par XName
Sauf mention contraire, les documentations publiées sont sous licence Creative-Commons CC-BY-SA