Différences

Ci-dessous, les différences entre deux révisions de la page.

Lien vers cette vue comparative

Les deux révisions précédentes Révision précédente
Prochaine révision
Révision précédente
applications:gnupg [Le 21/12/2006, 17:20]
Blackpegaz redirection vers nouvelle version de page
— (Version actuelle)
Ligne 1: Ligne 1:
-====== GNU Privacy Guard ====== 
  
-<​code>​ 
-Testé sous Breezy. 
-</​code>​ 
- 
-Rédigée et maintenue par [[utilisateurs:​Id2ndR]]. 
- 
-GPG est l'​acronyme de GNU Privacy Guard. il permet le chiffrement et la signature de données. 
- 
-===== Introduction ===== 
- 
-Vous trouverez dans le présent document la méthode en passant par les interfaces graphiques, suivie de leur équivalent en lignes de commande. 
- 
-L'​application GnuPG sert à chiffrer des données : vous pouvez vous en servir pour communiquer en toute sécurité (courriel, messagerie instantanée...) et pour chiffrer vos fichiers (qui pourront d'​ailleurs être également déchiffrés sous d'​autres OS comme Windows). 
- 
-===== Concept ===== 
- 
-Comment fonctionne le chiffrement ? 
- 
-Il serait dommage d'​utiliser GPG sans connaître la différence //clef publique/​clef privée// (//public key/secret key//). Par conséquent,​ je vous invite a visiter la page [[http://​fr.wikipedia.org/​wiki/​Cryptographie_asymétrique|Cryptographie asymétrique]] sur Wikipedia. 
-A noter qu'on peut également chiffrer en symétrique avec GPG (option -c) 
- 
-> **Remarque** : Dans cette documentation le terme de //clef// utilisé seul peut désigner la clef publique et/ou la clef privée. Cet abus de langage couramment utilisé ne pose pas de problème quand le concept de //clef publique/​clef privée// est bien compris. 
- 
-Ci-dessous une autre formulation des principaux concepts : 
- 
-==== Clef publique/​clef privée ==== 
- 
-  * La //clef publique// (du destinataire) est nécessaire pour **chiffrer** des données. Elle sera utilisée par vos correspondants lorsqu'​ils vous enverront des messages que seul vous pourrez déchiffrer. C'est une clef que vous devez/​pouvez fournir à vos correspondants afin qu'ils puissent vous envoyer des messages chiffrés. Elle peut également servir à vos correspondants pour **vérifier** vos signatures. 
-  * La //clef privée// ne doit jamais être divulguée : elle vous servira à **déchiffrer** des données. Pour plus de sécurité , cette clé est chiffrée en symétrique et un mot de passe y est donc associé : ainsi même lorsque que quelqu'​un a accès à votre clef privée (en accédant à votre ordinateur par exemple), il ne peut utiliser votre clé privée pour déchiffrer vos données. Elle sert également à **signer** des documents ou des e-mails. Ainsi, vos destinataires peuvent être sûrs que vous êtes bien l'​auteur ou l'​expéditeur des données signées. 
- 
-Un //mot de passe// est associé à la //clef privée// : il vous sera demandé pour signer ou déchiffrer les fichiers, courriels ou messages. 
- 
-Evidemment, ne perdez pas ce mot de passe et ne le divulguez à personne. 
- 
-==== Validité de la clef ==== 
- 
-Lors de la création de la clef, une date d'​expiration vous sera demandée : c'est la date à partir de laquelle vous ou vos correspondants ne pourront plus utiliser cette clef pour chiffrer des données. 
- 
-> Ceci ne vous empêchera pas de relire des données chiffrées avec cette clef publique. Il est aussi possible de modifier cette date d'​expiration par après. 
- 
-==== Certificat de révocation ==== 
- 
-Le Certificat de révocation sert à invalider une clef. Vos correspondants ne pourront alors plus utiliser cette clef. Il doit être utilisé lorsque quelqu'​un est susceptible d'​avoir obtenu votre clef privée et/ou votre mot de passe. 
- 
-==== Identifiant ==== 
- 
-L'​identifiant d'une clef est appelé //uid// (User IDentifiant) dans gpg. Il est de la forme "​Prénom NOM (commentaire) <adresse de courriel>"​ (ou "​Prénom NOM <adresse de courriel>"​ si aucun commentaire n'a été spécifié). 
- 
-Une clef est composée de différents champs (cf comment lister les clefs de son trousseau dans le section [[applications:​gnupg#​gerer_son_trousseau_de_clefs|Gérer son trousseau de clefs]]) :  
-  - le champ "​pub"​ correspond à la partie publique. 
-  - Le champ "​sub"​ correspond à la partie privée de la clé. 
-  - le champ "​uid"​ correspond à une adresse email et un nom. 
- 
-//<​id>//​ utilisé dans cette documentation est une chaîne de caractères propre à une clé du trousseau. Typiquement,​ cela peut être le //nom//, ou //un identifiant de la clé// (//pub// ou //uid//), ou encore //​l'​adresse de courriel//. 
- 
-==== Empreinte ==== 
- 
-Une empreinte (fingerprint en anglais), sert à identifier de manière unique une clef. 
-L'​idée étant que, plusieurs personnes pouvant générer une clef avec un même //uid//, il faut pouvoir déterminer si on a la bonne clef publique en comparant son empreinte. 
- 
-Si l'​empreinte ne correpond pas vous devez supprimez la clef publique invalide de votre trousseau. 
- 
-> Les 8 derniers caractères du fingerprint correspondent à l'​identifiant //pub// de la clé. 
- 
-==== Signer une clef publique ==== 
- 
-Signer une clef publique c'est certifier que cette clef est bien celle de la personne indiquée par l'​identifiant. C'est pour cela qu'il faut faire la vérification d'​empreinte **avant** de signer une clef. 
- 
-Après avoir signé une clef publique vous pouvez la renvoyer sur un serveur. Ceci apporte à tous votre garantie sur l'​authenticité de cette clef. 
- 
- 
-===== Prérequis ===== 
- 
-  - Fonction “sudo” activée (sinon voir [[installation:​ajout_sudo_utilisateur]]). 
-  - Connexion Internet configurée et activée (sinon voir [[materiel:​modem]] et/ou [[tutoriel:​comment_configurer_son_reseau_local]]). ​ 
-  - Dépôt universe activé (sinon voir [[installation:​depots]]) 
- 
-===== Installation ===== 
- 
-Il existe divers FE (Front End, interface graphique) pour GnuPG : 
- 
-  - KGpg, développé pour l'​environnement KDE, mais fonctionne également sous Gnome 
-  - GnomeGPG, développé pour l'​environnement Gnome mais pas complet 
-  - Seahorse (cf [[applications:​gnupg#​Avertissement sur Seahorse]]). 
-  - GPA, tente de devenir l'​interface graphique standard de GnuPG. 
- 
-N'​ayant peu ou pas testé ces interfaces graphiques (car elles ne sont pas généralement pas encore très abouties), je détaille dans cette documentation l'​usage de gpg en ligne commande. 
- 
-Si vous ne savez pas encore comment utiliser la ligne commande, allez voir [[console:​ligne_de_commande]]. 
- 
-> Lorsque vous utilisez gpg pour chiffrer vos messages, cela sera transparent pour vous car pris en charge par vos logiciels habituels. 
- 
-==== Installation de GnuPG ==== 
- 
-Il faut installer le paquet ''​gnupg2''​ et ses dépendances,​ par Synaptic, Adept ou en ligne de commande, comme suit: 
- 
-  $ sudo apt-get install gnupg2 
- 
-==== Installation des interfaces graphiques ==== 
- 
-=== Sous Ubuntu - Gnome === 
- 
-Dans le menu Applications -> Ajouter des applications 
- 
-  * KGpg : Catégorie //​Accessoires//​ -> //Plus d'​application...//​ -> KGpg 
-  * GnomePGP : Catégorie //Outils système// -> //Plus d'​application...//​ -> GnomePGP 
-  * Seahorse : Catégorie //Autre// -> Encryption Key Manager 
- 
-Vous pouvez aussi faire une recherche dans la barre prévu à cet effet. 
- 
-=== Via Synaptic ou Adept === 
- 
-Il faut installer respectivement les paquets suivants: 
-  * ''​kgpg''​ 
-  * ''​gpgp''​ 
-  * ''​seahorse''​ 
-  * ''​gpa''​ 
- 
-=== Avertissement sur Seahorse === 
- 
-Seahorse est plus complet que GnomePGP et vous permettra de créer de nouvelle pair de clefs (clef publique et privée), à l'​inverse de GnomePGP. Par contre, certains utilisateurs ont [[http://​forum.ubuntu-fr.org/​viewtopic.php?​id=21497|mentionné des bugs]]. 
- 
--> La ligne de commande vous permettra d'​éviter les bugs. 
- 
-===== Utilisation/​Configuration ===== 
- 
-Cette section illustre les usages les plus communs de GnuPG. Vous pouvez évidement obtenir d'​autres détails en utilisant la commande : 
-<​code>​$ gpg --help</​code>​ 
- 
-==== Gérer les clefs avec GPG ==== 
- 
-=== Créer une paire de clefs === 
- 
-** 1. Création de la clef ** 
- 
-  * Ouvrez une console, et exécutez la commande suivante : 
- 
-  $ gpg --gen-key 
- 
-  * Choisissez //DSA and ElGamal (default)// en tapant //1//. 
-Une clef de 1024 bits vous assurera une bonne protection. 
- 
-  * Choisissez alors dans combien de temps votre clef expirera. Vous pouvez rentrer //30// comme nombre de jours pour faire vos premiers essais. 
- 
-Confirmez par //y//. 
- 
-  * Vous allez alors créer un //​identifiant//​ pour votre clef : 
-  - Il faut d'​abord donner vos //Prénom// et //NOM//. 
-  - Remplissez ensuite votre //adresse de courriel// (même si vous utiliser cette clef uniquement pour chiffrer vos fichiers). Cette adresse doit correspondre avec celle que vous utilisez, sans artifice anti-spam. 
-  - Le //​commentaire//​ est optionnel. 
- 
-Validez par //O//. 
- 
-  * Il faut maintenant fournir le //mot de passe//. 
- 
-> Rien ne s'​affiche lorsque vous tapez votre mot de passe dans la console. C'est une question de sécurité. 
- 
-** 2. Création du Certificat de révocation ** 
- 
-  * Ouvrez une console, et exécutez la commande suivante : 
- 
-  $ gpg --gen-revoke <​mon_id>​ 
- 
-=== Gérer son trousseau de clefs === 
- 
-  * Lister toutes les clefs : 
- 
-  $ gpg --list-keys 
- 
-  * Exporter une clef publique sur un serveur de clef : 
- 
-  $ gpg --send-key <id> --keyserver <​serveur>​ 
- 
-> Vous pouvez spécifier un serveur de clef spécifique avec l'​option //​--keyserver <​serveur>//,​ ce aussi bien pour la recherche, l'​importation ou exportation de clef. 
- 
-  * Rechercher une clef publique sur un serveur de clef : 
- 
-  $ gpg --search-keys <​identifiant>​ 
- 
-  * Ajouter une clef publique depuis un serveur de clef : 
- 
-  $ gpg --recv-keys <​identifiant>​ 
- 
-  * Ajouter une clef publique contenue dans le presse papier (vous avez reçu la clef publique par courriel par exemple) : 
- 
-  $ gpg --import 
- 
-Collez ensuite la clef dans la console (clic du milieu) 
- 
-  * Supprimer une clef publique 
- 
-  $ gpg --delete-keys <​identifiant>​ 
- 
-=== Avancé === 
- 
-  * Ajouter ou retirer un //<​uid>//​ d'une clef : 
- 
-Ceci est généralement utiliser par les personnes disposant de plusieurs adresse de couriels. 
- 
-  $ gpg --edit-key <​identifiant>​ 
- 
-Gpg vous rend la main en affichant ''​Command>''​ après avoir afficher des détails sur la clef à éditer. 
- 
-Pour ajouter un //<​uid>//​ : 
-  - Tappez la commande ''​adduid''​ 
-  - Renseignez les infos demandées. 
- 
-Pour Retirer un //<​uid>//​ : 
-  - Sélectionnez un //uid// par la commande ''​uid <​numéro_entre_paranthèses>''​. Gpg affiche alors une étoile à côté de l'//​uid//​ sélectionné. 
-  - Retirez alors l'//​uid//​ par la commande ''​deluid''​. 
- 
-Quittez avec ''​quit''​ en validant les modifications par ''​y''​. 
- 
-  * Vérifier le fingerprint 
- 
-  $ gpg --fingerprint <​identifiant>​ 
- 
-  * Signer une clef publique 
- 
-  $ gpg --sign-key <​identifiant>​ 
- 
-Validez si vous êtes sûr de l'​authenticité de la clef. 
- 
-Vous pouvez renvoyez la clef sur un serveur de clef (cf la section [[applications:​gnupg#​Gérer son trousseau de clefs|Gérer son trousseau de clefs]]). 
- 
-  * Changer la date d'​expiration d'une clef 
- 
-  $ gpg --edit-key <​identifiant>​ expire 
- 
-Vous devez disposer de la clef secrète pour changer cette date. 
- 
-Vous aurez d'​abord à l'​écran les informations concernant la clef puis vous pourrez rentrer une durée pour laquelle la clef sera valide en suivant le format indiqué. Validez ensuite par //o//, puis entrez éventuellement votre passphrase. Lorsque la ligne ''​Commande>''​ apparaît, entrez //quit// et validez les changements. 
- 
- 
- 
-==== Configurer les logiciels pour utiliser GnuPG ==== 
- 
-  * Courriel : 
-    * Thunderbird,​ via Enigmail : [[applications:​mozilla-thunderbird_enigmail]] 
-    * Evolution : [[:​evolution_gpg|Evolution Gpg]] 
-    * Kmail : [[applications:​kmail_openpgp]] 
-  * Jabber : 
-    * Gajim : [[:Gajim]] 
- 
-==== Signer et Chiffrer des fichiers avec GnuPG ==== 
- 
-Ces manipulations sont possibles avec les [[applications:​gnupg#​installation_des_interfaces_graphiques|FE]]. 
- 
-Voici comment les réaliser en ligne de commande avec gnupg : 
- 
-  * Signer un fichier : 
- 
-  $ gpg --clearsign <​mon_fichier>​ 
- 
-Votre mot de passe vous est demandé pour vérifier que c'est bien vous qui signez le fichier. 
- 
-Un fichier //​mon_fichier.asc//​ est créé : c'est la signature du fichier //​mon_fichier//​. 
- 
-  * Chiffrer un fichier : 
- 
-  $ gpg --encrypt <​mon_fichier>​ 
- 
-L'​identifiant du destinataire est demandé : c'est la personne qui pourra déchiffrer le fichier (qui peut très bien être vous). 
-> Il faut bien comprendre ici que c'est la ou intervient le mécanisme de clef publique/ clef privés. Vous cryptez un fichier avec la clef publique de son destinataire et seule sa clef privée pourra le déchiffrer. De l'​intéret de ne pas hésiter à diffuser sa clef publique. Ce principe est bien sur identique pour le mail. 
- 
-Un fichier //​mon_fichier.gpg//​ est créé : c'est la copie chiffré de //​mon_fichier//​. 
- 
-  * Déchiffrer un fichier : 
- 
-  $ gpg --decrypt <​mon_fichier.pgp>​ 
- 
-Votre mot de passe vous est demandé pour déchiffrer //​mon_fichier.pgp//​. 
-Le fichier //​mon_fichier//​ est créé et lisible. 
- 
-> Vous pouvez bien sur chiffrer et signer un fichier : il suffit de mettre les options //--sign// et //​--encrypt//​. 
- 
-===== Liens externes ===== 
- 
-  * [[http://​matrix.samizdat.net/​crypto/​gpg_intro/​index.html]] 
-  * [[http://​www.gnupg.org/​]] 
-  * [[http://​fr.wikipedia.org/​wiki/​GPG]] 
-  * [[http://​www.gnupg.org/​howtos/​fr/​|"​Mini-Howto"​ plutôt complet !]] 
-  * [[http://​gpglinux.free.fr/​|Télécharger GnuPG HOWTO par cho7]] 
  • applications/gnupg.1166718043.txt.gz
  • Dernière modification: Le 18/04/2011, 14:47
  • (modification externe)