Introduction à GPG
GPG : Utilisation en ligne de commandes
Géneration des clefs
La commande est gpg —gen-key
[valerie@jellylaptop valerie]$ gpg —gen-key
gpg (GnuPG) 1.2.1 ; 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 : AVERTISSEMENT : l’utilisation de la mémoire n’est pas sûre !
gpg : voir http://www.gnupg.org/fr/faq.html pour plus d’informations
gpg : /home/valerie/.gnupg : répertoire créé
gpg : nouveau fichier de configuration `/home/valerie/.gnupg/gpg.conf’ créé
gpg : keyblock resource `/home/valerie/.gnupg/secring.gpg’ : erreur d’ouverture de fichier
gpg : le porte-clés `/home/valerie/.gnupg/pubring.gpg` a été créé
Sélectionnez le type de clef désiré :
(1) DSA et ElGamal (par défaut)
(2) DSA (signature seule)
(5) RSA (signature seule)
Votre choix ?
L’utilisation DSA et ElGamal par défaut nous suffit pour notre utilisation.
La paire de clefs DSA fera 1024 bits.
Préparation à la génération d’une nouvelle paire de clefs 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 clef désirez-vous ? (1024)
La taille de la clef définit sa robustesse.
Mais n’exagérez pas trop non plus.
Plus une clef est grosse, plus les opérations avec cette clef sont lentes.
Pour une utilisation normale, une clef de 1024 sufit.
Spécifiez combien de temps cette clef devrait être valide.
0 = la clé n’expire pas
= la clé expire dans n jours
w = la clé expire dans n semaines
m = la clé expire dans n mois
y = la clé expire dans n années La clé est valide pour ? (0)
Toujours dans une utilisation courante et normale une clef sans expiration suffit amplement
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)
» Nom réel:Valerie test
Adresse e-mail : Valerie@test-clef.fr
Commentaire :
Vous avez sélectionné ce nom d’utilisateur :
"Valerie test
" Changer le (N)om, le (C)ommentaire, l’(E)-mail ou (O)K/(Q)uitter ?
Le nom est l’identifiant de la clef ...
Donner le nom, l’email, et le commentaire puis valider.
Astuce : Le commentaire apparaît dans la clef sur les serveurs de clefs.
Il peut être utilisé pour signifier l’appartenance à l’association par exemple.
Vous avez besoin d’un mot de passe pour protéger votre clé secrète.
Entrez le mot de passe :
Le mot de passe ne doit pas être négligé ... il est la seule protection contre l’utilisation de votre clef par quelqu ?un d’autre.
Un bon mot de passe devrait être une phrase non célèbre ( pas vini vidi vici par ex )
Elle devrait être idéalement composée de lettres, de chiffres et de caractères spéciaux.
Exemple : Le peTiT chat Bleu à 3 Z’oreilleS
Gardez à l’esprit que pour découvrir votre phrase de pass, les pirates utiliseront des dictionnaires de mots et de phrases couramment utilisés.
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.
++++++++++.++++++++++++++++++++.+++++++++++++++++++++++++.++++++++++.
pub 1024D/CA0C0FC0 2003-11-18 Valerie Test
Empreinte de la clé = 621F 8260 D8E6 20A0 A7A3 4DF9 0CA5 6719 CA0C 0FC0
sub 1024g/2E7A381A 2003-11-18
La clef est créée ! Relevez éventuellement l’empreinte de votre clef.
Creation des certificats
Un certificat de révocation permet de révoquer votre clef si vous n’en avez plus le contrôle.
Il devra être gardé en lieu sûr. Quelqu’un d’autre pourrait révoquer votre clef avec.
gpg —output revoc.gpg —gen-revoke NOM-CLEF
Générer un certificat de révocation pour cette clé ? y
choisissez la cause de la révocation :
Gpg vous demande alors le motif de révocation de la clef
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 ?
La cause de révocation donne des indices aux autres utilisateurs de votre clef sur le motif de la révocation.
Gpg vous demande ensuite un commentaire et enfin votre phrase de clef.
Il génère ensuite votre certificat de révocation.
Export de la clef
gpg —armor —output valerie.asc —export valerie@test-clef.fr
— armor permet d’écrire en format ascii plutôt que binaire.
— output définit le fichier de sortie.
— export est la commande d’exportation.
valerie@test-clef.fr est le nom de la clef
pour trouver le nom de la clef :
gpg —list-key
Vous pouvez aussi exporter votre clef sur un serveur de clef.
gpg —send-keys valerie@test-clef.fr
Pour préciser quel serveur vous voulez utiliser, il existe l’option —keyserver HÔTE
gpg —send-keys valerie@test-clef.fr —keyserver pgp.mit.edu
Import de clef
gpg —import nom-de-fichier
Importer une clef la place dans votre trousseau.
Vous pouvez également utiliser les serveurs de clef pour importer des clefs.
gpg —recv-keys IDDECLEF
Mode d’édition
Les modifications sur les clefs se font en mode édition.
Pour rentrer dans ce mode, il faut utiliser la commande :
gpg —edit-key NOM-DE-LA-CLEF
Pour sortir de ce mode, tapez quit ou q
Commande> q
[yogi@jellylaptop yogi]$
Gpg vous rend alors la main dans la console.
Si vous avez fait des modifications sur une clef, il faut utiliser la commande SAVE avant de quitter.
Commande> save
Commande> q
Signer une clef
Pour signer une clef il faut l’éditer.
Avant de signer une clef il convient de vérifier son enpreinte, que le possesseur de la clef a dû vous fournir en même temps qu’il vous a prouvé son identité.
[paul@jellylaptop paul]$ gpg —edit-key valerie@test-clef.fr
gpg (GnuPG) 1.2.1 ; 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 : AVERTISSEMENT : l’utilisation de la mémoire n’est pas sûre !
gpg : voir http://www.gnupg.org/fr/faq.html pour plus d’informations
gpg : vérifier la base de confiance
gpg : vérification à la profondeur 0 signé=0 ot(-/q/n/m/f/u)=0/0/0/0/0/1
pub 1024D/CA0C0FC0 créée : 2003-11-18 expire : never confiance : -/-
sub 1024g/2E7A381A créée : 2003-11-18 expire : never
- Valerie Test
La commande fpr permet d’afficher l’empreinte de la clef pour vérification.
Commande> fpr
pub 1024D/CA0C0FC0 2003-11-18 Valerie Test
Empreinte de la clé principale : 621F 8260 D8E6 20A0 A7A3 4DF9 0CA5 6719 CA0C 0FC0
Commande>
Une fois l’empreinte de la clef vérifiée, on peut utiliser la commande sign pour signer la clef.
Commande> sign
pub 1024D/CA0C0FC0 créée : 2003-11-18 expire : never confiance : -/-
Empreinte de la clé principale : 621F 8260 D8E6 20A0 A7A3 4DF9 0CA5 6719 CA0C 0FC0
Valerie Test
Avec quel soin avez-vous vérifié que la clé que vous allez signer
appartient réellement à la personne sus-nommée ? Si vous ne savez
quoi répondre, entrez "0".
(0) Je ne répondrai pas. (par défaut)
(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 ?
Le type de vérification est très important.
Il définit la sécurité de la clef.
Normalement on doit vérifier l’identité du possesseur de la clef avec une pièce d’identité formelle (carte nationale d’identité, passeport ou permis de conduire).
Le possesseur de la clef devra aussi vous fournir l’empreinte de sa clef pour bien attester que c’est la bonne clef que vous allez signer.
Dans notre cas la vérification est parfaite.
Donc 3.
Votre choix ? 3
Etes-vous vraiment sûr(e) que vous voulez signer cette clé
avec la vôtre : "Paul test
" J’ai vérifié cette clé avec grand soin.
Signer réellement ? oui
Vous avez besoin d’un mot de passe pour déverrouiller la clé secrète pour
l’utilisateur : "Paul test
" clé de 1024 bits DSA, ID A2B5F7AD, créée le 2003-11-18
Commande>
Gpg vous demande le mot de passe de votre clef pour signer réellement.
Vérifier les signatures
La commande check en édition sur une clef permet de lister les signatures avec le niveau de vérification.
Commande> check
uid Valerie Test
sig !3 CA0C0FC0 2003-11-18 [auto-signature]
sig !3 A2B5F7AD 2003-11-18 Paul test
Ici le niveau de vérification est le 3 juste après le sig !
sinon la commande gpg —check-sigs affiche toutes les signatures.
Ajuster le niveau de confiance
en mode édition utiliser la commande trust
Commande> trust
pub 1024D/CA0C0FC0 créée : 2003-11-18 expire : never confiance : u/u
sub 1024g/2E7A381A créée : 2003-11-18 expire : never
(1). Valerie Test
À 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 sait 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 ? 5
Voulez-vous vraiment donner une confiance ultime à cette clé ?o
pub 1024D/CA0C0FC0 créée : 2003-11-18 expire : never confiance : u/u
sub 1024g/2E7A381A créée : 2003-11-18 expire : never
— Valerie Test
Ici Gpg est suffisamment clair pour comprendre les niveaux de confiance.
Créer une signature détachée
gpg —detach-sign doc.txt
Gpg va créer un fichier doc.txt.sig.
Il faudra alors joindre ce fichier à doc.txt pour que d’autres personnes puissent vérifier votre signature.
Le fichier doc.txt reste inchangé.
Ce type de signature est utile pour les fichiers binaires.
Vérifier une signature détachée
gpg —verify doc.txt.sig doc.txt
OU
gpg —verify doc.txt.sig
Seulement si le fichier doc.txt est à coté du fichier de signature.
Gpg doit vous répondre par exemple
gpg : Signature faite dim 17 oct 2004 22:37:28 CEST avec la clé DSA ID 40B3C4BD
gpg : Bonne signature de "Nicolas B (COAGUL)"
Sinon il vous dira que la signature n’est pas valable.
Si par exemple vous modifiez le fichier après l’avoir signé, et que vous refaites une vérification, Gpg vous répondra :
gpg : Signature faite dim 17 oct 2004 22:37:28 CEST avec la clé DSA ID 40B3C4BD
gpg : MAUVAISE signature de "Nicolas B (COAGUL)"
Ce qui indique que le fichier n’est pas le même que celui qui a été signé.
Signature en clair dans le doc
gpg —clearsign doc.txt
Gpg crée alors un fichier doc.txt.asc.
Le fichier doc.txt.asc reste lisible tel quel.
La mention indiquant que c’est un fichier signé se trouve au début du fichier.
-----BEGIN PGP SIGNED MESSAGE-----
Hash : SHA1
... ici le contenu de mon fichier...
Et la signature est simplement ajoutée à la fin.
-----BEGIN PGP SIGNATURE-----
Version : GnuPG v1.2.4 (GNU/Linux)
iD8DBQFBctplLL3VFkCzxL0RAsVQAJ0Y/QGe6CSOm7al2pE4/4gDYRAotQCgmldf
dQU/vBefWBjy+YJ4dprpZCk=
=mQzP
-----END PGP SIGNATURE-----
Ce type de signature est très utilisée pour les fichiers texte.
Vérifier un fichier signé en clair
gpg —verify doc.txt.asc
Comme pour les signatures détachées gpg doit vous répondre
gpg : Bonne signature
OU
gpg : MAUVAISE signature
Chiffrer un message/document
Ici nous voulons transmettre un fichier ou document de manière sécurisée.
Nous voulons que seul le destinataire puisse le rendre lisible.
Nous devons donc indiquer à Gpg la clef de celui à qui est destiné le fichier.
La commande pour chiffrer s’ecrit ainsi :
gpg —recipient yogi@nerim.net —armor —encrypt doc.txt
— recipient sert à définir le destinataire (ici yogi@nerim.net)
— armor sert pour faire un fichier ascii (plus lisible)
— encrypt sert à demander l’encription du fichier qui suit (doc.txt)
Je recommande ici l’utilisation de l’option —armor car elle rend le fichier directement utilisable avec les courrielleurs.
Gpg va ici créer un fichier doc.txt.asc qui sera la version chiffrée de votre document.
Si vous n’utilisez pas l’option —armor Gpg créera un fichier binaire en .gpg
Déchiffrer un message/document.
Pour déchiffrer un fichier en .gpg ou .asc la commande est :
gpg —decrypt doc.txt.asc
Gpg va d’abord vous demander votre phrase-passe et afficher le document ensuite.
Pour garder le document en clair, il faut donc utiliser la redirection vers un fichier.
gpg —decrypt doc.txt.asc > doc.txt
Là vous aurez un fichier doc.txt qui sera la version en clair de votre fichier crypté.
Utilisation plus avancée de Gpg
Plusieurs clefs privées
Il peut parfois être utile d’avoir plusieurs clefs privées.
Les membres du bureau de COAGUL devront par exemple en manier deux en même temps. Celle qui définit leurs fonctions, et leur clef personnelle.
Dans ce cas, il faudra préciser à Gpg quelle clef utiliser lors de la signature ou de l’encription.
Cela se fait avec l’option —default-key suivit du nom de votre clef.
La commande pour signer un message en clair devient alors :
gpg —default-key maclef —clearsign doc.txt
Ou « maclef » serait le nom de la clef que vous voulez utiliser.
Plusieurs adresses sur la même clef
Il est courant de nos jours d’avoir plusieurs adresses de courriel.
Or la reconnaissance de l’identité dans Gpg se base sur cette adresse.
Il est donc souhaitable d’ajouter toutes vos adresses ou vous voulez utiliser votre clef.
Nous allons donc éditer notre clef pour lui rajouter une identité
(pour les besoins de ce tutorial, j’ai crée une clef test@clef.fr)
gpg —edit-key test
gpg : AVERTISSEMENT : l’utilisation de la mémoire n’est pas sûre !
gpg : voir http://www.gnupg.org/fr/faq.html pour plus d’informations
La clé secrète est disponible.
pub 1024D/2AE98DD7 créée : 2004-10-16 expire : jamais confiance : m/-
sub 1024g/6C702EDB créée : 2004-10-16 expire : jamais
(1). Utilisateur Test (COAGUL)
Commande>
une fois en édition il faut utiliser la commande adduid
Commande> adduid
Nom réel : Test2
Adresse e-mail : Test2@clef.fr
Commentaire : Deuxiemme id de Utilisateur test
Vous avez sélectionné ce nom d’utilisateur :
"Test2 (Deuxiemme id de Utilisateur test)
" Changer le (N)om, le (C)ommentaire, l’(E)-mail ou (O)K/(Q)uitter ? O
Comme à la création de la clef Gpg vous demande le nom réel, l’adresse et le commentaire.
Il vous suffit alors de vérifier et de valider.
Vous avez besoin d’un mot de passe pour déverrouiller la clé secrète pour
l’utilisateur : "Utilisateur Test (COAGUL)
" clé de 1024 bits DSA, ID 2AE98DD7, créée le 2004-10-16
Gpg vous demande ensuite votre phrase-pass pour dévérouiller la clef.
pub 1024D/2AE98DD7 créée : 2004-10-16 expire : jamais confiance : m/-
sub 1024g/6C702EDB créée : 2004-10-16 expire : jamais
(1) Utilisateur Test (COAGUL)
(2). Test2 (Deuxiemme id de Utilisateur test)
Commande>
On peut déjà voir ici les deux identités sur la clef.
avant de quitter, il convient de définir l’identité principale de la clef.
Utiliser la commande « uid » suivie du numéro de l’identité voulue.
Commande> uid 1
pub 1024D/2AE98DD7 créée : 2004-10-16 expire : jamais confiance : m/-
sub 1024g/6C702EDB créée : 2004-10-16 expire : jamais
(1)* Test2 (Deuxiemme id de Utilisateur test)
- Utilisateur Test (COAGUL) <test@clef.fr>
Ici la première identité (test2@clef.fr) est désormais l’identité de la clef.
Il ne vous reste alors plus qu’à sauver et quitter
Commande>save
Commande>quit
Vous pouvez comme ça, ajouter autant d’identités que vous le souhaitez.
Ces fonctions sont pratiques surtout si vous avez plein d’adresses ou si vous devez en changer.
Export de votre clef sur un serveur
Une manière simplifiée d’échanger des clefs peut se faire à travers un serveur de clefs.
Pour plus d’infos sur les serveurs : http://www.nongnu.org/sks/
les options sont :
— send-keys exporter les clefs vers un serveur de clefs
— recv-keys importer les clefs d’un serveur de clefs
— search-keys chercher les clefs avec un serveur de clefs
— refresh-keys mettre à jour les clefs depuis un serveur
Conclusion
Je ne m’étendrai pas plus avant sur les fonctionnalités de Gpg.
La lecture de la page de manuel ou un simple « help » en mode édition vous donnera l’ampleur de toutes ses possibilités.
Si une utilisation en ligne de commande de Gpg reste simple, elle n’est pas toujours confortable.
C’est pourquoi il existe des applications graphiques qui simplifient grandement son utilisation.
Vous pouvez trouver une liste d’interfaces pour gpg à cette adresse :
http://www.gnupg.org/(fr)/related_software/frontends.html
Les quatre plus avancées sont Enigmail pour Mozzila, Kgpg pour kde, Seahorse pour gnome et Gpa dévelopé par les créateurs de Gnupg.
Commentaires
> Utilisation de GPG
Je me disais que le nouveau document reprenait la fin de celui-ci ;)
> Utilisation de GPG
ok !
Je crois que je n’ai rien oublier de ce que tu m’a trouvé.
J’ai en plus séparé la synthese a la fin pour en faire un autre article.
Plus simple a consulter comme ca non ?
Merci pour ton aide.
> Utilisation de GPG
par qqun d’autre. -> par quelqu’un d’autre
sub 1024g/2E7A381A créée : 2003-11-18 expire : never
(un icone spip c’est intercallé, cette ligne est deux fois dans le texte)
=mQzP
— -END PGP SIGNATURE-----
(une ligne spip c’est intercallé)
de votre fichier cripté -> de votre fichier crypté
de ce tuto -> de ce tutorial
(1)* Test2 (Deuxiemme id de Utilisateur test)
(un icone spip c’est intercallé)
Voila, voili, voilou