GnuPG HOWTO
par cho7
(version PDF bien plus lisible et a jour ici)
Préliminaires
Pour les décideurs préssés, un Memento est disponible en dernières pages, mais sans lire le reste, c'est pas simple !
Ca me parait evident, il faut installer GPG sur son ordinateur.
Pour la partie Evolution, c'est dans la dernière partie de ce howto, mais je conseille très sincèrement la lecture de tout le document, sinon vous allez être largué, la partie Evolution etant rédigée en partant du principe que vous avez lu le reste du document)
Toutes les opérations dans ce mini-howto ont été réalisées sur Debian Sid (http://www.debian.org)
Commencez donc par installez GPG (et evolution/sylpheed si ca vous interesse) comme n'importe quel programme :
# apt-get install gnupg
# apt-get install evolution
Etape 1 : création d'une paire de clés
“Euh attend un peu là, pas si vite, c'est quoi une paire de clés ??”
Bon, quelques rappels élémentaires sur le cryptage a clé publique/clé privé :
Ce systeme repose sur 2 clés. la clé publique sert a crypter un message, et la clé privé sert a décrypter un message crypté a l'aide de la clé publique. Dans la pratique, chacun garde sa clé privée bien préciseusement chez lui, et donne sa clé publique a tout ses contacts. Ainsi si je veux crypter mon mail et l'envoyer a Albert, il faut que j'ai en stock la clé publique d'albert, si je ne l'ai pas, c'est que albert ne me l'a pas donné, ou bien tout simplement qu'Albert n'utilise pas GPG (et il a le droit), auquel cas, il m'est impossible d'envoyer un mail crypté a albert !!
Donc pour résumé, si un de mes contacts veut m'envoyer un mail crypté, il devra d'abord avoir ma clé publique dans son trousseau de clé, il cryptera son mail avec, et dès lors, le mail crypté n'est décryptable QUE par MA clé privée (et pas la clé privée du voisin). L'expediteur lui meme serait infoutu de décrypter le mail qu'il vient d'envoyer, c'est aboslument irreversible, un mail crypté a l'aide d'une clé publique, ne peut etre décrypté que par la clé privée générée en meme temps que la clé publique
Voilà pour le bref rappel théorique !
Maintenant la pratique, ouvrez un shell et tappez :
cho7@cho7land:~$ gpg --gen-key
gpg (GnuPG) 1.2.5; Copyright (C) 2004 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.
Sélectionnez le type de clé désiré:
(1) DSA et ElGamal (par défaut)
(2) DSA (signature seule)
(4) RSA (signature seule)
Votre choix ?
1
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)
1024
La taille demandée est 1024 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)
0
Key n'expire pas du tout
Est-ce correct (o/n) ?
o
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:
Cho7 Kipu
Adresse e-mail:
cho7@dlfp.org
Commentaire:
facultatif
Vous avez sélectionné ce nom d'utilisateur:
"Cho7 Kipu <cho7@dlfp.org>"
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 protéger votre clé secrète.
Password :
votre password (a repeter ensuite une seconde fois)
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.
+++++.+++++++++++++++.++++++++++...+++++++++++++++..+++++..+++++++++++++++.+++++ ++++++++++.++++++++++.++++++++++++++++++++++++++++++++++++++++>+++++..+++++..... ..>+++++...........................+++++
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.
++++++++++.+++++...++++++++++++++++++++..+++++++++++++++++++++++++++++++++++++++ +.+++++++++++++++.+++++++++++++++.++++++++++.+++++++++++++++>+++++.............. ..............+++++^^^
les clés publique et secrète ont été créées et signées.
clé marquée comme ayant une confiance ultime.
pub 1024D/0C792AD8 2004-09-29 Cho7 Kipu <cho7@dlfp.org>
Empreinte de la clé = 999A 46D0 5E2D D616 2974 DD86 D20C AA55 0C79 2AD8
sub 1024g/51741FEF 2004-09-29
cho7@cho7land:~$
Voilà, votre paire de clé publique/privée est générée avec succès !
Pour s'en assurer:
cho7@cho7land:~$ gpg --list-keys
/home/cho7/.gnupg/pubring.gpg
-----------------------------
pub 1024D/0C792AD8 2004-09-29 Cho7 Kipu <cho7@dlfp.org>
sub 1024g/51741FEF 2004-09-29
Ici on voit que ma clé publique a été créée, et possede l'id 0C792AD8
Veuillez notez que la petite taille de cette id (8 caracteres), laisse présager un risque de doublon avec une autre clé publique générée, donc pour enlever tout doute possible sur l'identification de la clé(enfin techniquement il est là aussi possible d'avoir un doublon mais bon...), nous préfererons utiliser le fingerprint de la clé, littéralement une “empreinte digitale”:
cho7@cho7land:~$ gpg --fingerprint
/home/cho7/.gnupg/pubring.gpg
-----------------------------
pub 1024D/0C792AD8 2004-09-29 Cho7 Kipu <cho7@dlfp.org>
Empreinte de la clé = 999A 46D0 5E2D D616 2974 DD86 D20C AA55 0C79 2AD8
sub 1024g/51741FEF 2004-09-29
Voilà, vous pouvez donc lire ici l'empreinte de votre clé publique (999A 46D0 5E2D D616 2974 DD86 D20C AA55 0C79 2AD8), se terminant par les 8 chiffres de votre id précédemment vu. Notez cette empreinte sur un bout de papier, elle nous servira plus tard.
S'enregistrer auprès d'un serveur de clés
Une fois vos clés générées, il faut stocker sur un serveur votre clé publique, afin que vos contacts puissent trouver votre clé publique et ainsi vous envoyer un mail crypté !
pour se faire, nous allons utiliser le serveur http://pgp.mit.edu, mais il y en a d'autres bien evidemment. La plupart se réactualisent entre eux, mais pas toujours, donc l'idéal et de garder toujours le meme serveur, et de le préciser a ses contacts, pour etre sûr qu'ils vous trouve.
Autre détail, la création d'un certificat de revocation est essentielle, pour prévenir par exemple le serveur de clé que votre clé publique n'est plus bonne et que vos contacts doivent cesser de l'utiliser !
Allez hop, on va créé ce certificat de revocation
cho7@cho7land:~/Gpg$ gpg --gen-revoke cho7@dlfp.org > revoc_cho7@dlfp.org.txt
sec 1024D/0C792AD8 2004-09-29 Cho7 Kipu <cho7@dlfp.org>
Générer un certificat de révocation pour cette clé ?
o
choisissez la cause de la révocation:
0 = Aucune raison spécifiée
1 = La clé a été compromise
2 = La clé a été remplacée
3 = La clé n'est plus utilisée
Q = Annuler
(Vous devriez sûrement sélectionner 1 ici)
Votre décision ?
3
Entrez une description optionnelle ; terminez-là par une ligne vide:
> J'ai perdu mon mot de passe
>
Cause de révocation: La clé n'est plus utilisée
J'ai perdu mon mot de passe
Est-ce d'accord ?
o
Vous avez besoin d'un mot de passe pour déverrouiller la clé secrète pour
l'utilisateur: "Cho7 Kipu <cho7@dlfp.org>"
clé de 1024 bits DSA, ID 0C792AD8, créée le 2004-09-29
votre password de clé secrète
sortie avec armure ASCII forcée.
Certificat de révocation créé.
Voilà, votre certificat est créé, garder le fichier texte précieusement, car si quelqu'un l'utilise, il peut invalider vos clés en prevenant le serveur qu'elles n'existe plus, alors que ce sera faux !! Nous verrons plus tard comment s'en servir...
Pour revenir a nos moutons, nous devons nous enregistrer sur le serveur de clé.
pour celà, c'est très simple :
cho7@cho7land:~$ gpg --keyserver pgp.mit.edu --send-keys cho7@dlfp.org
gpg: l'envoi à `pgp.mit.edu' s'est déroulé avec succès (résultat=200)
Voilà, votre clé a été exporté sur le serveur de clé, vous pouvez allez l'admirer sur pgp.mit.edu en tappant dans le champ String votre id sur 8 chiffres précédé d'un '0x', ou encore votre nom, votre adresse mail, etc.
pour la mienne : http://pgp.mit.edu:11371/pks/lookup?op=get&search=0x0C792AD8
Revoquer sa clé sur le serveur de clé :
Si comme indiqué plus haut vous ne vous servez plus de vos clé pour une raison ou une autre (compromise par quelqu'un qui possede votre clé privée, vous avez perdu votre mot de passe, etc), vous devez impérativement prévenir le serveur de clé de cette revocation !
Pour se faire, munissez vous du fichier de revocation que vous avez créé plus haut, et importez le dans votre porte-clé via la commande
gpg –import revoc_cho7@dlfp.org.txt
Verifiez que votre trousseau de clé a bien enregistrer la revocation en listant vos clés :
gpg –list-keys
Votre clé doit maintenant etre marquée comme [révoquée]
Vous pouvez donc là ré-envoyer sur le serveur de clé pour mettre a jour ce dernier :
gpg --keyserver pgp.mit.edu --send-keys cho7@dlfp.org
Voilà, votre clé est révoquée, et donc inutilisable.
Vous pouvez donc supprimer vos clés publique et privée de votre trousseau.
Pour se faire :
supprimez d'abord la clé secrète :
gpg –delete-secret-keys cho7@dlfp.org
puis la ou les clés publiques ratachées :
gpg –delete-keys cho7@dlfp.org
S'envoyer un mail crypté
1ère chose a faire une fois la paire de clés créée, s'envoyer a soi-meme un mail crypté. Un mail c'est quoi ? un fichier, rien de plus, que l'on s'envoit par internet. Donc ici nous appelerons notre mail test.txt
Notez que la methode décrite ci-dessous est brute, il est possible avec des clients de messagerie evolués tels que Evolution, de gerer le cryptage/signature de mail “a la volée”, sans passer par la ligne de commande (cf. annexes)
Pour que ce soit plus propre, j'ai créé un dossier Gpg dans mon home directory. Toutes les actions qui vont suivre s'y situeront.
Tout d'abord, on va ecrire notre mail :)
cho7@cho7land:~/Gpg$ vi test.txt
Mettez ce que vous voulez dedans on s'en fiche pas mal :)
Ensuite passez votre fichier a la moulinette gpg, et passez en meme temps les arguments -e (pour encrypt) et r pour spécifier la clé publique de votre trousseau a utiliser pour crypter
Vous noterez encore une fois que la situation dans laquelle vous envoyez un mail crypté a un destinataire n'utilisant pas Gpg est impossible, car il faut impérativement la clé publique du destinataire dans son trousseau au moment du cryptage !
cho7@cho7land:~/Gpg$ gpg -er cho7@dlfp.org test.txt
cho7@cho7land:~/Gpg$ ls -l
total 8
-rw-r--r-- 1 cho7 cho7 50 2004-09-29 15:00 test.txt
-rw-r--r-- 1 cho7 cho7 389 2004-09-29 15:01 test.txt.gpg
Oh tiens, c'est quoi ce nouveau fichier test.txt.gpg qui est apparu subitement ?? Notre mail crypté peut etre ? Allez lire son contenu vous verrez bien le sens du mot “crypté” :)
Bon dès lors on peut supprimer notre fichier test.txt; il ne nous est plus utile...
cho7@cho7land:~/Gpg$ rm test.txt
Decrypter un mail
Et là on fait quoi ? d'abord on va faire un truc que plus tard vous ne pourrez plus faire :
decrypter le fichier test.txt.gpg !
Et oui, pour decrypter ce fichier, il faut utiliser la clé secrete du destinataire, que vous n'aurez jamais en temps normal, sauf là, puisque vous vous etes envoyé ce fichier a vous meme, avec votre clé publique, donc cette fois, et seulement cette fois, votre clé secrete va vous permettre de decrypter le fichier que vous avez envoyé (alors que normalement seul votre destinataire pourra décrypter votre mail, pas vous !)
cho7@cho7land:~/Gpg$ gpg test.txt.gpg
Vous avez besoin d'un mot de passe pour déverrouiller la clé secrète pour
l'utilisateur: "Cho7 Kipu <cho7@dlfp.org>"
clé de 1024 bits ELG-E, ID 51741FEF, créée le 2004-09-29 (ID clé principale 0C792AD8)
Password :
saisissez le mot de passe de votre clé secrete
gpg: chiffré avec une clé de 1024 bits ELG-E, ID 51741FEF, créée le 2004-09-29
"Cho7 Kipu <cho7@dlfp.org>"
cho7@cho7land:~/Gpg$
cho7@cho7land:~/Gpg$ ls -l
total 8
-rw-r--r-- 1 cho7 cho7 50 2004-09-29 15:13 test.txt
-rw-r--r-- 1 cho7 cho7 389 2004-09-29 15:01 test.txt.gpg
Oh bah tiens, un revenant... On l'avait pas viré lui ? Bon bah on a fait l'opération en sens inverse, vous avez retrouvé le fichier d'origine ! mais encore une fois, je ne le repeterai jamais assez, ce sera dans l'avenir possible uniquement avec un fichier mail que vous avez RECU, ou alors ENVOYé A VOUS MEME !
Donc dans l'absolu, vous envoyer ce fichier .gpg avec le client de messagerie de votre choix, et votre destinataire (ou vous meme, il suffit d'inverser les roles), n'aura qu'a enregistrer le fichier .gpg recu sur son disque dur, ouvrir un shell, taper gpg mon_fichier.gpg et fournir son mot de passe de clé privée, et hop, le fichier sera décrypté dans le meme dossier sous le nom “mon_fichier”
Vous pouvez donc désormais ecrire un fichier, le crypter a l'aide de la clé publique de votre destinataire, et envoyer le fichier .gpg comme bon vous semble.
Vous pouvez aussi désormais recevoir un fichier .gpg par mail, et vous dire, tiens j'ai recu un mail crypté, je vais aller le décrypter comme on m'a dit plus haut :)
Ce que vous ne savez pas encore :
“On m'a dit que pour envoyer un mail crypté a quelqu'un je devais avoir sa clé publique, mais jla trouve où ??”
Très bonne question, si votre destinataire n'utilise pas GPG, il n'en a pas, donc pas de mail crypté.
S'il en a une, alors il doit vous la communiquer.
Pour celà, plusieurs methodes, la plus sûre etant d'etre face a la personne, et qu'il vous remette un papier avec le fingerprint de sa clé publique noté dessus, et le nom d'un serveur de clé sur lequel sa clé est repertorié (n'aillez pas peur des termes, ce sera expliqué plus bas)
Ainsi, il va vous remettre par exemple :
Empreinte de la clé = 999A 46D0 5E2D D616 2974 DD86 D20C AA55 0C79 2AD8
sur http://pgp.mit.edu
Ok c'est cool, j'en fais quoi moi de ce bou de papier ??
C'est facile, vous allez tapper presque la meme chose que pour vous enregistrer sur le serveur de clé . Notez ici que AAAAAAA correspond aux 8 derniers caracteres du finger print, soit votre id a 8 chiffres.
cho7@cho7land:~/Gpg$ gpg --keyserver pgp.mit.edu --recv-keys AAAAAAAA
gpg: clé AAAAAAAA: clé publique "Plop Plop <plop@plop.org>" importée
gpg: Quantité totale traitée: 1
gpg: importée: 1
En cas de doublons (ce qui ne m'est jamais arrivé), il vous proposera sans doute 2 clés publiques et leur fingerprint, vous pourrez donc choisir la bonne (bien que de toute facon, les noms associés aux 2 clés risque a 99% d'être différent, mais sait-on jamais, le fingerprint est la seule solution pour distinguer 2 clés avec le meme id 8 chiffres et le meme nom de propriétaire...)
Vous pouvez ensuite faire un
cho7@cho7land:~/Gpg$ gpg –list-keys
pour constater que la clé a bien été importée dans votre trousseau.
Vous pouvez désormais envoyer des mails cryptés à plop@plop.org !
Prevenir ses contacts
Vous pouvez dès maintenant commencer a faire suivre votre clé publique, en donnant votre id et votre serveur de clé (facultatif, mais je vous ai dit que parfois les serveurs n'etaient pas a jour, donc je préfère donner celui ou j'ai moi meme envoyer ma clé)
Vos contacts pourront donc (pour ceux etant equipés en GPG) vous envoyez des mails cryptés dès qu'ils auront importé votre clé publique dans leur trousseau.
De votre coté, récuperer aussi les clés publiques de vos contacts, afin de pouvoir, vous aussi, leur envoyer des mails cryptés !
Signer ses mails
“Signer ses mails ? ca sert a quoi ?”
Tout d'abord, crypter ses mails a un inconvénient, a savoir que le destinataire doit saisir un mot de passe pour décrypter, et parfois ca peut enerver. D'autant que beaucoup de gens se serve de gpg non pas pour crypter, mais juste pour signer leur message. De plus, il est possible d'envoyer des mails signés, meme a des destinataires n'utilisant pas GPG !
Signer un message, c'est lui joindre un certificat, attestant que la personne qui a envoyé le mail, et bien la personne qui apparait dans le champs “From : “ (ou “De: “)
N'importe quel bouzin sait en effet comment envoyer un mail anonyme en changeant le champ From et en envoyant des mails au nom de bilou@microsoft.com pour se la jouer hacker, ou encore les milliers de virus se propageant via les carnets de contacts et qui abusent de la crédulité des gens qui pensent ouvrir un “jeu” envoyé par leur copain, alors que c'est en fait le virus qui a fait une “usurpation d'identité”
Signer ses mails ne requiert donc pas de decryptage de la part du destinataire, pas plus qu'un mot de passe, lorsqu'il ouvrira son mail avec gpg, ca lui indiquera simplement qu'il a été signé numériquement, et lui dira si oui ou non la signature est valide.
Ainsi si le contenu du mail est modifié, la signature ne sera plus bonne, et le destinataire en sera averti, pour lui dire “Attention, signature invalide, le contenu n'est peut etre pas sur, car ou bien il a été altéré, ou bien s'il n'y a pas de signature du tout, et auquel cas si vous prenez l'habitude de signer vos mails, alors votre contact se doutera d'une entourloupe en se disant :
“Tiens c'est marrant, lui normalement il signe ses mails, et pas là... Peut etre un virus... J'ouvre pas cette drole de pièce jointe pour la peine...”
Et hop, un virus de plus qui ne se propagera pas grace a moi.
Voilà pour la théorie, venons en a la pratique...
Reprenons notre fichier test.txt du début.
Avant toute chose, sachez qu'il existe 2 methodes pour signer son mail. Le certificat peut etre fusionné au mail lui meme, ce qui le rend illisible pour les simples clients de messageries non compatibles, ou bien le certificat peut etre fourni en piece jointe (un fichier d'extension .sig)
Auquel cas, lors de la lecture du mail par un client de messagerie non compatible, le message apparaitra normalement, et la signature apparaitra en pièce jointe sous la forme d'un fichier d'extension .sig)
Pour les clients de messageries evolués tels que Evolution, le fichier sera normalement détécté, et un pied de page en bas du mail sera rajouté pour signifier que le mail est signé numériquement et le logiciel indiquera aussi si cette signature est valide ou non.
Notez que pour signer un mail, il faut impérativement choisir une clé pour savoir “au nom de qui nous signons”, et en saisir le mot de passe de la clé secrète, ce qui “prouve” que c'est bien nous qui avons signé, et pas un virus ou mon voisin cherchant a se faire passer pour moi :-)
1ere methode – signature fusionnée au mail
gpg -su cho7@dlfp.org test.txt
va générer un fichier test.txt.gpg, qui sera signé (et aussi “crypté” pour les clients de messagerie non compatible, mais ca ce n'est pas voulu :-)
Lors du decryptage en ligne de commande, l'indication de la signature sera faite naturellement :
cho7@cho7land:~/Gpg$ gpg test.txt.gpg
gpg: Signature faite mer 29 sep 2004 16:58:55 CEST avec la clé DSA ID 1E8F63AF
gpg: Bonne signature de "Romain Lienard <lienardr@free.fr>"
gpg: vérifier la base de confiance
gpg: vérification à la profondeur 0 signé=1 ot(-/q/n/m/f/u)=0/0/0/0/0/3
gpg: vérification à la profondeur 1 signé=0 ot(-/q/n/m/f/u)=0/0/0/1/0/0
2eme methode – signature en pièce jointe
gpg -bu cho7@dlfp.org test.txt
Ne va absolument pas modifier le fichier test.txt, mais va créér un fichier test.txt.sig, qu'il faudra joindre en meme temps que le mail lui meme.
La cette fois, les clients de messageries non-compatible avec gpg, se contenteront d'afficher la pièce jointe...
Testez l'altération des données vous verrez :
Si vous souhaitez verifier simplement l'intégrité d'une signature tappez :
cho7@cho7land:~/Gpg$ gpg --verify test.txt.sig
gpg: Signature faite mer 29 sep 2004 17:31:00 CEST avec la clé DSA ID 0C792AD8
gpg: Bonne signature de "Cho7 Kipu <cho7@dlfp.org>"
maintenant on va modifier un seul caractere de notre fichier test.txt et on va reverifier la signature :
gpg: Signature faite mer 29 sep 2004 17:31:00 CEST avec la clé DSA ID 0C792AD8
gpg: MAUVAISE signature de "Cho7 Kipu <cho7@dlfp.org>"
Voilà, le message a été altéré, donc la signature numérique n'est plus bonne, CQFD
Réseaux de confiance
Qu'est ce que c'est ? Tout d'abord allez sur n'importe quel seveur de clé et faite une recherche sur bill gates ou jacques chirac, et vous verrez que plein de gens ont référencés des clés publiques loufoques. D'ou la question : comment distinguer les vrais clés des fausses ? En regardant celles qui ont le plus de signatures. Il est en effet possible de signer la clé de quelqu'un, comme pour dire “Moi cho7, atteste que la clé 12345678 est bien celle de plop, hop je signe avec ma clé privée”
Plus une clé publique a de signatures, plus elle est fiable. De meme, il est possible de donner un niveau de confiance a une clé, pour dire par exemple “Moi cho7 ne fait pas trop confiance a la clé 12345678, car jtrouve que son propriétaire n'a pas trop saisi l'interet des réseaux de confiance et signe un peu les clés des autres à la légère, et qu'il peut mettre en péril le réseau de confiance en signant la clé d'une personne sans s'assurer que ce soit bien elle” (notez que je peux attester la clé en la signant, tout en nuancant sur la confiance que je porte au PORTEUR de la clé publique)
Pour donner ma confiance a la clé 12345
gpg –edit-key 12345
Là on tappe
sign
suivit d'un indice de validité (3 etant le summum, j'en suis sûr et certain, c'est bien la bonne personne)
Signer une clé nécéssite le mot de passe de la clé secrete (sinon n'importe quelle personne ayant accès a votre pc pourrait signer les clés sans votre consentement)
Pour donner un niveau de confiance a une clé:
toujours dans le mode d'edition (gpg –edit-key 12345), tappez
trust
puis un indice de confiance.
Validez par votre mot de passe de clé secrete.
une fois vos clés signées et “trustés”, vous pouvez mettre a jour le serveur de clé, pour que les prochaines personnes qui vont importés les clés de vos contacts, puissent voir que vous-meme avait approuvées la ou les signatures.
pour se faire :
gpg –keyserver pgp.mit.edu –send-keys
Et confirmez.
Pour mettre a jour son trousseau (a faire régulièrement, car les clés de votre trousseau peuvent etre signées et trustées par d'autres tous les jours, faites
gpg –keyserver pgp.mit.edu –refresh-keys
Là, gpg va vous indiquer si des clés ont été signées par de nouvelles personnes ou bien si elles ont été révoquées.
Vous pouvez lister les clés de votre trousseau ainsi que les signatures récoltées pour chacune en tappant :
gpg –list-sigs
Configurer Evolution et Sylpheed
Bon nous voilà a la 13ème page, nous allons enfin pouvoir parler d'Evolution, afin de rendre GPG beaucoup plus convivial :-)
C'est bon vous avez créér votre paire de clé ? Vous voulez dire a evolution que vous etes un grand garcon et que vous voulez crypter/signer vos mails ?
Ok, c'est pas sorcier vous allez voir.
Demarrer Evolution et aller dans le menu Outils> Parametrages
Sélectionnez le compte qui va utiliser GPG (il doit avoir une clé dans votre trousseau portant cette adresse mail !) et cliquez sur Editer, et enfin rendez-vous sur l'onglet Securité :
Vous l'aurez compris, il suffit d'indiquer l'id 8 chiffres de la clé secrete correspondant au compte evolution, vous pouvez eventuellement mettre des options comme celle de signer automatiquement tout courrier sortant de ce compte.
Validez tout, et vous revoilà sous la fenetre principale d'evolution.
Désormais, pour envoyer un mail crypté il vous suffit de rédiger un nouveau mail normalement, mais avant de l'envoyer, séléctionnez le menu Sécurité de votre message, et vous pourrez alors choisir de chiffre et/ou signer votre message, a condition que le compte choisi pour le champ From soit un compte paramatré pour tourner avec GPG (cf un peu plu haut)
Si vous recever un mail crypté, evolution vous demandera le mot de passe de votre clé privée pour le lire, si c'est un mail simplement signé numériquement, il y aura un cadenas en pied de page du mail, cliquez dessus, et verifier que la signature est bonne :
Ce
message est signé numériquement et a été
certifié authentique.
gpg: en-tête d'armure:
Version: GnuPG v1.2.5 (GNU/Linux)
gpg: Signature faite mer 29 sep
2004 17:59:33 CEST avec la clé DSA ID 0C792AD8
gpg: Bonne
signature de "Cho7 Kipu <cho7@dlfp.org>"
gpg:
signature binaire, algorithme de hachage SHA1
Pour verifier a nouveau le principe de “Vous ne pouvez dechiffrer un mail qu'avec la clé secrete du destinataire” essayer donc d'aller dans le dossier “Envoyés” et essayer de lire le mail que vous venez d'envoyer a votre contact. Evolution ne pourra pas vous l'ouvrir, car il vous faudra la clé secrete du destinataire et son mot de passe, il est donc impossible de réutiliser un message envoyé s'il a été crypté, il fallait penser a en faire une sauvegarde avant :)
Et comme je suis gentil, pour le client de messagerie Sylpheed, c'est a peu près la meme chose :
Menu Configuration des comptes > Edition des comptes > on séléctionne le compte > Editer > onglet Confidentialité > Indiquez manuellement la clé > on saisit l'id a 8 chiffres > On valide (on peut là aussi regler des trucs comme la signature systematique des mails)
Avant d'envoyer le mail : Menu Message > Chiffrer et/ou Signer
Voilà, c'est la fin de ce howto dans lequel je vous ai epargné la longue philosophie GnuPG et ses réseaux de confiance, mais quelques recherches avec notre ami google devrait vous apporter toutes les réponses aux questions que vous vous posez !
Donc merci a vous de m'avoir lu, et a une prochaine fois peut etre...
Je pense que vous savez désormais où me contacter !!
Copyright cho7@dlfp.org
Memento GPG
Général
Créer une paire de clés :
gpg –gen-key
Créer un certificat de révocation :
gpg –gen-revoke [clé] > fichier
Revoquer sa clé :
gpg –import [fichier_contenant_certificat_de_revocation_généré_précédemment]
puis on met a jour le serveur en renvoyant notre trousseau au complet
gpg –keyserver pgp.mit.edu –send-keys
ou bien simplement la clé révoquée :
gpg –keyserver pgp.mit.edu –send-keys [clé]
Lister son trousseau de clé publiques :
gpg –list-keys (--list-secret-keys pour les clés privées)
S'inscrire a un serveur de clé :
gpg –keyserver pgp.mit.edu –send-keys [clé]
Ajouter une clé publique a son trousseau :
gpg –keyserver pgp.mit.edu –recv-keys [id à 8 chiffres de la clé a recevoir]
Mettre à jour son trousseau de clés publiques (afin de savoir si certaines ont été signées ou révoquées)
gpg –keyserver pgp.mit.edu –refresh-keys
puis pour lire les nouvelles signatures
gpg –list-sigs
Si des clés du trousseau ont été révoqués, on peut alors les supprimer :
gpg –delete-keys [clé]
et pour supprimer une clé secrete de son trousseau :
gpg –delete-secret-keys [clé]
Edition d'une clé publique de son trousseau
gpg –edit-key [clé]
puis
sign
ou
trust
Une fois son trousseau modifié, on met a jour le serveur de clé :
gpg –keyserver pgp.mit.edu –send-keys
Traitement de fichiers
Signer un fichier :
gpg -su [clé] [nom du fichier]
ou
gpg -bu [clé] [nom du fichier]
pour séparer la signature du fichier (création d'un fichier .sig)
Crypter un fichier :
gpg -er [clé du destinataire] [nom du fichier]
génère un fichier .gpg
Signer et Crypter un fichier :
gpg -su [clé] -er [clé du destinataire] [nom du fichier]
génère un fichier .gpg
Decrypter un fichier :
gpg [fichier crypté]
regénère le fichier d'origine dans le repertoire courant
Verifier la signature d'un fichier :
gpg –verify [fichier signé ou fichier original + fichier .sig]