« Reseau-secu-gpg-intro » : différence entre les versions
Aucun résumé des modifications |
(balises code) |
||
Ligne 91 : | Ligne 91 : | ||
# La signature simple, ascii : | # La signature simple, ascii : | ||
<div class="code"> [LFS raoul@gandalf raoul]$ '''gpg --default-key riton --armor --detach-sign message.txt'''<br /> gpg: WARNING: using insecure memory!<br /> gpg: voir http://www.gnupg.org/fr/faq.html pour plus d'informations<br /><br /> 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<br /> Entrez le mot de passe: xxxxxxx </div> | <div class="code"> [LFS raoul@gandalf raoul]$ '''gpg --default-key riton --armor --detach-sign message.txt'''<br /> gpg: WARNING: using insecure memory!<br /> gpg: voir http://www.gnupg.org/fr/faq.html pour plus d'informations<br /><br /> 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<br /> Entrez le mot de passe: xxxxxxx </div> | ||
Cela crée un fichier ascii (< | Cela crée un fichier ascii (<b>--armor</b>) 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 : | ||
<div class="code"> -----BEGIN PGP MESSAGE-----<br /> Version: GnuPG v1.2.0 (GNU/Linux)<br /><br /> owGbwMvMwCRYcZa5Yhuz6TrGNapJ3LmpxcWJ6al6JRUltuv/KiWnJmcqpBaXKJTm<br /> KUCluDrsmVkZQJIwjYJMy0MZ5kd3789++nx9qrrM3amnDRcsXOw5PZRhQcudquMS<br /> jmU2xzytOPVOPA4TTJbOAQA=<br /> =AAQr<br /> -----END PGP MESSAGE----- </div> | <div class="code"> -----BEGIN PGP MESSAGE-----<br /> Version: GnuPG v1.2.0 (GNU/Linux)<br /><br /> owGbwMvMwCRYcZa5Yhuz6TrGNapJ3LmpxcWJ6al6JRUltuv/KiWnJmcqpBaXKJTm<br /> KUCluDrsmVkZQJIwjYJMy0MZ5kd3789++nx9qrrM3amnDRcsXOw5PZRhQcudquMS<br /> jmU2xzytOPVOPA4TTJbOAQA=<br /> =AAQr<br /> -----END PGP MESSAGE----- </div> | ||
# La signature dans le message en ascii : | # La signature dans le message en ascii : | ||
<div class="code"> [LFS raoul@gandalf raoul]$ '''gpg --default-key riton --clearsign message.txt'''<br /> gpg: WARNING: using insecure memory!<br /> gpg: voir http://www.gnupg.org/fr/faq.html pour plus d'informations<br /><br /> 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<br /><br /> Entrez le mot de passe: xxxxxxx </div> | <div class="code"> [LFS raoul@gandalf raoul]$ '''gpg --default-key riton --clearsign message.txt'''<br /> gpg: WARNING: using insecure memory!<br /> gpg: voir http://www.gnupg.org/fr/faq.html pour plus d'informations<br /><br /> 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<br /><br /> Entrez le mot de passe: xxxxxxx </div> | ||
Cela crée un fichier ascii (< | Cela crée un fichier ascii (<b>--clearsign</b>)lisible contenant la signature et le message : ~/message.txt.asc ressemblant : | ||
<div class="code"> -----BEGIN PGP SIGNED MESSAGE-----<br /> Hash: SHA1<br /><br /> ceci est un message<br /> -----BEGIN PGP SIGNATURE-----<br /> Version: GnuPG v1.2.0 (GNU/Linux)<br /><br /> iD8DBQE9r/90eM0DeLYDNa4RAiHfAJ0YzqtxI9P3P8k4qBO5oqux3ePo6wCgnqYr<br /> u0Fp+PQc3mayA6znuWg2fT4=<br /> =gy4J<br /> -----END PGP SIGNATURE----- </div> | <div class="code"> -----BEGIN PGP SIGNED MESSAGE-----<br /> Hash: SHA1<br /><br /> ceci est un message<br /> -----BEGIN PGP SIGNATURE-----<br /> Version: GnuPG v1.2.0 (GNU/Linux)<br /><br /> iD8DBQE9r/90eM0DeLYDNa4RAiHfAJ0YzqtxI9P3P8k4qBO5oqux3ePo6wCgnqYr<br /> u0Fp+PQc3mayA6znuWg2fT4=<br /> =gy4J<br /> -----END PGP SIGNATURE----- </div> | ||
Là, vous n'avez que ce fichier à envoyer. | Là, vous n'avez que ce fichier à envoyer. | ||
Ligne 187 : | Ligne 187 : | ||
Le menu d'édition de clé de gpg possède cependant d'autres options intéressantes, et certaines méritent de s'y attarder... | 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 < | Essayons la commande <b>help</b> pour avoir une liste des options disponibles : | ||
<div class="code"> Commande> help <br /> | <div class="code"> Commande> help <br />quit quitter ce menu <br />save enregistrer et quitter <br />help afficher cette aide <br />fpr afficher l'empreinte <br />list lister la clé et les noms d'utilisateurs <br />uid sélectionner le nom d'utilisateur N <br />key sélectionner la clé secondaire N <br />check lister les signatures <br />sign signer la clé <br />lsign signer la clé localement <br />nrsign signer la clé de façon non-révocable <br />nrlsign signer la clé de façon locale et non-révocable <br />adduid ajouter un utilisateur <br />addphoto ajouter une photo d'identité <br />deluid enlever un utilisateur <br />addkey ajouter une clé secondaire <br />delkey enlever une clé secondaire <br />addrevoker ajouter une clé de révocation <br />delsig supprimer les signatures <br />expire changer la date d'expiration <br />primary marquer le nom d'utilisateur comme principal <br />toggle passer de la liste des clés secrètes aux clés privées et inversement <br />pref lister les préférences (expert) <br />showpref lister les préférences (bavard) <br />setpref donner la liste de préférences <br />updpref préférences mises à jour <br />passwd changer le mot de passe <br />trust changer la confiance <br />revsig révoquer les signatures <br />revkey révoquer une clé secondaire <br />disable désactiver une clé <br />enable activer une clé <br />showphoto montrer la photo d'identité </div> | ||
Tout d'abord, regardons ce que donne la commande uid : | Tout d'abord, regardons ce que donne la commande uid : | ||
<div class="code"> Commande> uid<br /><br /> | <div class="code"> Commande> uid<br /><br /> pub 1024D/6D30A93E créée: 2003-10-05 expire: never confiance: u/u<br /> sub 2048g/A6FCFC89 créée: 2003-10-05 expire: never<br /> (1) Jean-Thomas MUYL (maston28) <jtmaston@wanadoo.fr><br /> (2) plopppp (plop) <plopppp@plopp.com><br /> (3). coin_pwet (pwet) <coin@pwet.com><br /> </div> | ||
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 : | 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 : | ||
Ligne 199 : | Ligne 199 : | ||
<br /> | <br /> | ||
<div class="code"> Commande> uid 2 <br /><br /> | <div class="code"> Commande> uid 2 <br /><br /> pub 1024D/6D30A93E créée: 2003-10-05 expire: never confiance: u/u<br /> sub 2048g/A6FCFC89 créée: 2003-10-05 expire: never<br /> (1) Jean-Thomas MUYL (maston28) <jtmaston@wanadoo.fr><br /> (2)* plopppp (plop) <plopppp@plopp.com><br /> (3). coin_pwet (pwet) <coin@pwet.com><br /> </div> | ||
Vous pouvez donc constater que l'utilisateur sélectionné a une étoile < | Vous pouvez donc constater que l'utilisateur sélectionné a une étoile <b><nowiki>*</nowiki></b> après son numéro. | ||
<div class="note">Pour déselectionner tous les utilisateurs, utilisez < | <div class="note">Pour déselectionner tous les utilisateurs, utilisez <b>uid 0</b></div> | ||
<br /> | <br /> | ||
Ligne 211 : | Ligne 211 : | ||
<br /> | <br /> | ||
<div class="code"> Commande> deluid <br />Enlever réellement cet utilisateur ? yes <br /><br />(1) | <div class="code"> Commande> deluid <br />Enlever réellement cet utilisateur ? yes <br /><br />(1) Jean-Thomas MUYL (maston28) <jtmaston@wanadoo.fr><br /> (2). coin_pwet (pwet) <coin@pwet.com><br /> </div> | ||
<br /><br /> | <br /><br /> | ||
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 < | 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 <b>adduid</b> | ||
<div class="code"> Commande> adduid<br /> Nom réel: Moi même maitre du monde<br /> Adresse e-mail: autre_adresse@email.com<br /> Commentaire: eureka<br /> Vous utilisez le jeu de caractères 'iso-8859-1'.<br /> Vous avez sélectionné ce nom d'utilisateur:<br /> | <div class="code"> Commande> adduid<br /> Nom réel: Moi même maitre du monde<br /> Adresse e-mail: autre_adresse@email.com<br /> Commentaire: eureka<br /> Vous utilisez le jeu de caractères 'iso-8859-1'.<br /> Vous avez sélectionné ce nom d'utilisateur:<br /> "Moi même maitre du monde (eureka) <autre_adresse@email.com>"<br /><br /> Changer le (N)om, le (C)ommentaire, l'(E)-mail ou (O)K/(Q)uitter ? O<br /><br /> Vous avez besoin d'un mot de passe pour déverrouiller la clé secrète pour<br /> l'utilisateur: "Jean-Thomas MUYL (maston28) <jtmaston@wanadoo.fr>"<br /> clé de 1024 bits DSA, ID 6D30A93E, créée le 2003-10-05<br /><br /><br /> pub 1024D/6D30A93E créée: 2003-10-05 expire: never confiance: u/u<br /> sub 2048g/A6FCFC89 créée: 2003-10-05 expire: never<br /> (1) Jean-Thomas MUYL (maston28) <jtmaston@wanadoo.fr><br /> (2). Moi même maitre du monde (eureka) <autre_adresse@email.com><br /> </div> | ||
Voila ! Simple non ? | Voila ! Simple non ? | ||
Ligne 223 : | Ligne 223 : | ||
<br /> | <br /> | ||
Essayons maintenant de changer le mot de passe défini à la première génération de clé avec la commande < | Essayons maintenant de changer le mot de passe défini à la première génération de clé avec la commande <b>passwd</b> | ||
<div class="code"> Commande> passwd<br /> La clé est protégée.<br /><br /> Vous avez besoin d'un mot de passe pour déverrouiller la clé secrète pour<br /> l'utilisateur: "Jean-Thomas MUYL (maston28) <jtmaston@wanadoo.fr>"<br /> clé de 1024 bits DSA, ID 6D30A93E, créée le 2003-10-05<br /><br /> Entrez le mot de passe.<br /> Entre le nouveau mot de passe pour cette clé secrète.<br /> Entrez à nouveau le nouveau mot de passe pour cette clé secrète.<br /> </div> | <div class="code"> Commande> passwd<br /> La clé est protégée.<br /><br /> Vous avez besoin d'un mot de passe pour déverrouiller la clé secrète pour<br /> l'utilisateur: "Jean-Thomas MUYL (maston28) <jtmaston@wanadoo.fr>"<br /> clé de 1024 bits DSA, ID 6D30A93E, créée le 2003-10-05<br /><br /> Entrez le mot de passe.<br /> Entre le nouveau mot de passe pour cette clé secrète.<br /> Entrez à nouveau le nouveau mot de passe pour cette clé secrète.<br /> </div> | ||
Ligne 231 : | Ligne 231 : | ||
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... | 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... | ||
<div class="code"> Commande> addphoto<br /><br /> Pick an image to use for your photo ID. | <div class="code"> Commande> addphoto<br /><br /> Pick an image to use for your photo ID. The image must be a JPEG file.<br /> Remember that the image is stored within your public key. If you use a<br /> very large picture, your key will become very large as well!<br /> Keeping the image close to 240x288 is a good size to use.<br /><br /> Enter JPEG filename for photo ID:<br /> </div> | ||
De la même manière, la commande < | De la même manière, la commande <b>showphoto</b> vous montreras la photo liée à la clé. | ||
<br /> | <br /> | ||
Ligne 239 : | Ligne 239 : | ||
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. | 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. | ||
<div class="warning">ATTENTION, aucune des modifications que vous ferez ne seront prises en compte si vous n'utilisez pas < | <div class="warning">ATTENTION, aucune des modifications que vous ferez ne seront prises en compte si vous n'utilisez pas <b>save</b> avant de fermer le menu !</div> | ||
== Vérification de la validité des clés. == | == Vérification de la validité des clés. == |
Version du 17 mai 2012 à 13:57
Signer et chiffrer avec GnuPG
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)
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.
- On initialise gpg :
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é.
- On génère les deux clés (GPG va nous poser de multiples questions, les réponses seront notées en gras) :
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.
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.
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.
Est-ce correct (o/n) ? o
Répondez "o" si vous ne vous êtes pas trompé, "n" sinon ;-)
« 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.
"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 !
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.
++++++++++..++++++++++++++++++++.++++++++++.+++++...
...
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 :
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) :
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) :
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 :
- La signature simple, binaire :
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.
- La signature simple, ascii :
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 :
Version: GnuPG v1.2.0 (GNU/Linux)
owGbwMvMwCRYcZa5Yhuz6TrGNapJ3LmpxcWJ6al6JRUltuv/KiWnJmcqpBaXKJTm
KUCluDrsmVkZQJIwjYJMy0MZ5kd3789++nx9qrrM3amnDRcsXOw5PZRhQcudquMS
jmU2xzytOPVOPA4TTJbOAQA=
=AAQr
-----END PGP MESSAGE-----
- La signature dans le message en ascii :
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 :
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.
- 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 :
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.
- Si le message vous arrive avec la signature (un seul fichier : message.txt.asc) : c'est encore plus simple :
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: 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: 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).
- Chiffrer (binaire, à éviter, sauf problème de taille de message) :
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.
- Chiffrer (ascii, à préférer)
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 :
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 :
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 :
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 :
Vous vous retrouvez alors sous le shell (ligne de commande) de gpg :
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 :
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é :
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 :
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 :
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 :
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 :
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.
Imaginons maintenant que vous souhaitiez supprimer l'utilisateur sélectionné. Procédez comme suit :
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
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
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...
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.
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 :
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 :
Si vous cliquez sur crypter fichier, vous allez devoir choisir pour qui vous voulez chiffrer (crypter=chiffrer) ce fichier (avec quelle clé publique).
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-papierDans 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. 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é
Copyright
Copyright © 18/10/2002, Frédéric Bonnaud
Ce document est publié sous licence Creative Commons Attribution, Partage à l'identique 4.0 : https://creativecommons.org/licenses/by-sa/4.0/ |
Autres ressources
Pour gérer vos clés gpg/pgp vous pouvez essayer : gpgkeys.
Moi j'utilise kgpg sous KDE.