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
gnupg [Le 20/08/2015, 13:53]
79.81.126.216 [Signer une clef publique]
gnupg [Le 31/01/2024, 21:38] (Version actuelle)
Amiralgaby [Signer et Chiffrer des fichiers avec GnuPG] correction affichage de deux tirets pour une option
Ligne 1: Ligne 1:
-{{tag>Precise Trusty ​sécurité}}+{{tag>Xenial ​sécurité}}
  
 ---- ----
Ligne 16: Ligne 16:
 Comment fonctionne le chiffrement ? Comment fonctionne le chiffrement ?
  
-Il serait dommage d'​utiliser GPG sans connaître la différence entre une clef publique et une clef privée (//public key/private key//). Par conséquent,​ je vous invite à visiter la page [[http://​fr.wikipedia.org/​wiki/​Cryptographie_asym%C3%A9trique|Cryptographie asymétrique]] sur Wikipédia.+Il serait dommage d'​utiliser GPG sans connaître la différence entre une clef publique et une clef privée (//public key/private key//). Par conséquent,​ je vous invite à visiter la page [[wpfr>​Cryptographie_asymétrique|Cryptographie asymétrique]] sur Wikipédia.
 À noter qu'on peut également chiffrer en symétrique avec GPG (option « -c »). À noter qu'on peut également chiffrer en symétrique avec GPG (option « -c »).
  
Ligne 26: Ligne 26:
  
 La **clef publique** sert à chiffrer un message qui pourra être déchiffré uniquement à l'aide de la **clef privée**. Pour que cela fonctionne, il faut fournir à vos correspondants votre clef publique. Ceux-ci chiffreront leur message avec cette clef, et vous seul pourrez le déchiffrer à l'aide de votre clef privée. La **clef publique** sert à chiffrer un message qui pourra être déchiffré uniquement à l'aide de la **clef privée**. Pour que cela fonctionne, il faut fournir à vos correspondants votre clef publique. Ceux-ci chiffreront leur message avec cette clef, et vous seul pourrez le déchiffrer à l'aide de votre clef privée.
 +Ne perdez pas ce mot de passe et ne le divulguez à personne.
  
-La **clef privée** ne doit jamais être divulguée. 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 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. 
- 
-Une clef publique et une clef privée fonctionnent en inverse. Ce que chiffre l'une, l'​autre peut le déchiffrer,​ et vice versa. Chacune fait une partie du travail. Ainsi, vous pouvez **signer** vos messages à l'aide de votre clef privée en envoyant avec votre message une copie conforme de celui-ci, chiffrée avec votre clef privée. Votre clef publique pourra déchiffrer ce message, attestant ainsi de l'​identité de son emetteur. 
- 
-Un //mot de passe// est associé à la clef privée : il vous sera demandé pour signer ou déchiffrer les fichiers, courriels ou messages. Le chiffrage ne nécessite pas de mot de passe. 
- 
-Évidemment,​ ne perdez pas ce mot de passe et ne le divulguez à personne. 
  
 ==== Validité de la clef ==== ==== Validité de la clef ====
  
-Lors de la création de la clef publique, une date d'​expiration vous sera demandée : c'est la date à partir de laquelle vous et vos correspondants ne pourrez plus utiliser cette clef pour chiffrer des données. ​+Lors de la création de la clef publique, une date d'​expiration vous sera demandée : c'est la date à partir de laquelle vous et vos correspondants ne pourrez plus utiliser cette clef pour chiffrer des données.
  
 **Note :** 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 ultérieurement. \\ **Note :** 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 ultérieurement. \\
Ligne 51: Ligne 45:
 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é). 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 la section « [[#​gerer_son_trousseau_de_clefs|Gérer son trousseau de clefs]] ») : +Une clef est composée de différents champs (cf. comment lister les clefs de son trousseau dans la section « [[#​gerer_son_trousseau_de_clefs|Gérer son trousseau de clefs]] ») :
   - le champ « pub » correspond à la partie publique.   - le champ « pub » correspond à la partie publique.
   - le champ « sub » correspond à une sous-clé.   - le champ « sub » correspond à une sous-clé.
   - le champ « uid » correspond à une adresse email et un nom.   - le champ « uid » correspond à une adresse email et un nom.
  
-La notation « <id> » utilisée dans cette documentation est une chaine ​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//.+La notation « <id> » utilisée 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//.
  
  
Ligne 66: Ligne 60:
 Si l'​empreinte ne correspond pas vous devez supprimer la clef publique invalide de votre trousseau. Si l'​empreinte ne correspond pas vous devez supprimer la clef publique invalide de votre trousseau.
  
-**Note :** Les 8 derniers caractères du //​fingerprint//​ correspondent à l'​identifiant //pub// de la clé.+**Note :** Les 8 derniers caractères du //​fingerprint//​ correspondent à l'​identifiant //pub// de la clé. Cette méthode d’identification des clés n’est plus fiable, il est facile de générer une clé avec une empreinte différente mais dont les 8 derniers caractères sont choisis. Cf [[https://​evil32.com/​]].
  
 ==== Signer une clef publique ==== ==== Signer une clef publique ====
Ligne 72: Ligne 66:
 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. 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. Il est parfois apprécié de ne pas publier directement la clé signée, mais de l'​envoyer à son propriétaire afin du lui en laisser le choix.\\+Après avoir signé une clef publique vous pouvez la renvoyer sur un serveur. Il est parfois apprécié de ne pas publier directement la clé signée, mais de l'​envoyer à son propriétaire afin de lui en laisser le choix.\\
 Votre signature apporte à tous votre garantie sur l'​authenticité de cette clef. Votre signature apporte à tous votre garantie sur l'​authenticité de cette clef.
  
- 
-===== Pré-requis ===== 
- 
-  * Disposer des [[:​sudo|droits d'​administration]]. 
-  * Disposer d'une connexion à Internet configurée et activée. 
-  * Les [[:​depots|Dépôts universe]] activé. 
  
 ===== Installation ===== ===== Installation =====
Ligne 90: Ligne 78:
 Nous favoriserons ici l'​usage de gpg en [[:​tutoriel:​console_ligne_de_commande|ligne de commande]]. Nous favoriserons ici l'​usage de gpg en [[:​tutoriel:​console_ligne_de_commande|ligne de commande]].
  
-**N.B. :** Lorsque vous utilisez GPG pour chiffrer vos messages, ​cela sera transparent pour vous car pris en charge par vos logiciels habituels.+**N.B. :** Lorsque vous utilisez GPG pour chiffrer vos messages, ​c'​est ​transparent pour vous car c'​est ​pris en charge par vos logiciels habituels.
  
  
Ligne 97: Ligne 85:
  
 Cette section illustre les usages les plus communs de GnuPG. Vous pouvez évidement obtenir d'​autres détails en utilisant la commande :<​code>​gpg2 --help</​code>​ Cette section illustre les usages les plus communs de GnuPG. Vous pouvez évidement obtenir d'​autres détails en utilisant la commande :<​code>​gpg2 --help</​code>​
 +
 +
 +
 +====Vérification intégrité d'un fichier ====
 +
 +
 +<​note>​C'​est probablement la première utilisation de gpg dont vous aurez besoin.</​note>​
 +
 +Cette commande vérifie que le fichier MD5SUMS à la même signature que celui qui a été signé par son auteur (dans l'​exemple la signature publique est dans le fichier MD5SUMS.sign. Si les noms de fichier ont le même radical, le 2e argument peut être omis):
 +
 +<​code>​gpg2 --verify MD5SUMS.sign MD5SUMS</​code>​
 +
  
  
 ==== Création d'une clef ==== ==== Création d'une clef ====
  
-Ouvrez une console et exécutez la commande suivante : <​code>​gpg2 --gen-key</​code>​ qui vous renvoie:+Ouvrez une console et exécutez la commande suivante : <​code>​gpg2 --full-gen-key</​code>​ qui vous renvoie :
 <​code>​Sélectionnez le type de clef désiré : <​code>​Sélectionnez le type de clef désiré :
    (1) RSA et RSA (par défaut)    (1) RSA et RSA (par défaut)
Ligne 111: Ligne 111:
 Choisissez //RSA et RSA (par défaut)// en tapant //1//. Choisissez //RSA et RSA (par défaut)// en tapant //1//.
 On vous proposera une clef de  2048 bits, cela vous assurera une bonne protection, appuyez sur //Entrer//. On vous proposera une clef de  2048 bits, cela vous assurera une bonne protection, appuyez sur //Entrer//.
 +
 +<note important>​Dans le cas d'une clé RSA, **il est aujourd'​hui (2016) vivement recommandé d'​utiliser une clé d'une longueur minimale de 4096 bits !**
 +
 +Voir << [[https://​help.riseup.net/​fr/​security/​message-security/​openpgp/​best-practices#​les-cl%C3%A9s-primaires-devraient-%C3%AAtre-des-cl%C3%A9s-dsa-2-ou-rsa-de-4096-bits-ou-plus-de-pr%C3%A9f%C3%A9rence-rsa|Les clés primaires devraient être des clés DSA-2 ou RSA, de 4096 bits ou plus (de préférence RSA)]] >> ou encore [[http://​www.heise.de/​ix/​artikel/​Passivitaet-heisst-sich-abzufinden-1981718.html|l'​interview de Phil Zimmermann]] [de], l'​inventeur de PGP, qui, en 2013, recommandait déjà une longueur minimale de 3072 bits pour les clés RSA.</​note>​
 +
 Choisissez alors dans combien de temps votre clef expirera. Vous pouvez rentrer //30// comme nombre de jours pour faire vos premiers essais. Choisissez alors dans combien de temps votre clef expirera. Vous pouvez rentrer //30// comme nombre de jours pour faire vos premiers essais.
  
Ligne 133: Ligne 138:
 Faites « o ». Faites « o ».
 Il ne vous reste plus qu'à choisir la cause de la révocation. Et à répondre aux dernières questions. Il ne vous reste plus qu'à choisir la cause de la révocation. Et à répondre aux dernières questions.
- 
 ==== Gérer son trousseau de clefs ==== ==== Gérer son trousseau de clefs ====
-Voici quelques commandes pour gérer son trousseau de clefs: + 
-  * Lister toutes les clefs: <​code>​gpg2 --list-keys</​code>​ +Voici quelques commandes pour gérer son trousseau de clefs : 
-  * Exporter une clef publique sur un serveur de clef : <​code>​gpg2 --send-key <id> --keyserver <​serveur></​code>​ Vous pouvez spécifier un serveur de clef spécifique avec l'​option « ''​--keyserver <​serveur>''​ », c'est aussi bien pour la recherche, l'​importation ou exportation de clef.+  * Lister toutes les clefs : <​code>​gpg2 --list-keys</​code>​ 
 +  * Exporter une clef publique sur un serveur de clef : <​code>​gpg2 --send-key <id> --keyserver <​serveur></​code>​ Vous pouvez spécifier un serveur de clef spécifique avec l'​option « ''​%%--%%keyserver <​serveur>''​ », c'est aussi bien pour la recherche, l'​importation ou exportation de clef.
   * Rechercher une clef publique sur un serveur de clef : <​code>​gpg2 --search-keys <​identifiant></​code>​   * Rechercher une clef publique sur un serveur de clef : <​code>​gpg2 --search-keys <​identifiant></​code>​
   * Ajouter une clef publique depuis un serveur de clef : <​code>​gpg2 --recv-keys <​identifiant></​code>​   * Ajouter une clef publique depuis un serveur de clef : <​code>​gpg2 --recv-keys <​identifiant></​code>​
-  * Ajouter une clef publique contenue dans le presse papier (vous avez reçu la clef publique par courriel par exemple) : <​code>​gpg2 --import</​code>​ Collez ensuite la clef dans le terminal.+  * Ajouter une clef publique contenue dans le presse-papier (vous avez reçu la clef publique par courriel par exemple) : <​code>​gpg2 --import</​code>​ Collez ensuite la clef dans le terminal. ​et taper Ctrl D
   * Supprimer une clef publique : <​code>​gpg2 --delete-keys <​identifiant></​code>​   * Supprimer une clef publique : <​code>​gpg2 --delete-keys <​identifiant></​code>​
  
Ligne 149: Ligne 154:
     * Evolution : [[:​evolution_gpg|Evolution Gpg]]     * Evolution : [[:​evolution_gpg|Evolution Gpg]]
     * Kmail : [[:​kmail_openpgp|KMail Openpgp]]     * Kmail : [[:​kmail_openpgp|KMail Openpgp]]
-    * [[:​Claws-mail]] avec le module [[http://​www.claws-mail.org/​plugin.php?​plugin=gpg|gpg]]+    * [[:​Claws-mail]] avec le module [[https://​www.claws-mail.org/​plugin.php?​plugin=gpg|gpg]]
   ​   ​
   * Jabber :   * Jabber :
Ligne 162: Ligne 167:
 Exemple : <​code>​sudo ln -s /​media/​windowsdata/​Mes\ documents/​GPGkeys/​ /​home/​toto/​.gnupg</​code>​ Exemple : <​code>​sudo ln -s /​media/​windowsdata/​Mes\ documents/​GPGkeys/​ /​home/​toto/​.gnupg</​code>​
  
-=====Utilisation Avancée =====+===== Utilisation Avancée =====
  
-====Ajouter ou retirer un « uid » d'une clef ====+==== Ajouter ou retirer un « uid » d'une clef ====
  
 Ceci est généralement utilisé par les personnes disposant de plusieurs adresses de courriels. Ceci est généralement utilisé par les personnes disposant de plusieurs adresses de courriels.
  
-  ​<​code>​gpg2 --edit-key <​identifiant></​code>​+<​code>​gpg2 --edit-key <​identifiant></​code>​
  
 Gpg vous rend la main en affichant ''​gpg>''​ après avoir affiché des détails sur la clef à éditer. Gpg vous rend la main en affichant ''​gpg>''​ après avoir affiché des détails sur la clef à éditer.
Ligne 182: Ligne 187:
 Quittez avec ''​quit''​ en validant les modifications par ''​o''​. Quittez avec ''​quit''​ en validant les modifications par ''​o''​.
  
-==== Vérifier l'​empreinte====+==== Vérifier l'​empreinte ====
  
-  ​<​code>​gpg2 --fingerprint <​identifiant></​code>​+<​code>​gpg2 --fingerprint <​identifiant></​code>​
  
-==== Signer une clef publique====+==== Signer une clef publique ====
  
-  ​<​code>​gpg2 --sign-key <​identifiant></​code>​+<​code>​gpg2 --sign-key <​identifiant></​code>​
  
 Validez si vous êtes sûr de l'​authenticité de la clef. Vous pouvez alors renvoyer la clef sur un serveur de clef (cf. la section « Gérer son trousseau de clefs »). Validez si vous êtes sûr de l'​authenticité de la clef. Vous pouvez alors renvoyer la clef sur un serveur de clef (cf. la section « Gérer son trousseau de clefs »).
  
-==== Changer la date d'​expiration d'une clef====+==== Changer la date d'​expiration d'une clef ====
  
-  ​<​code>​gpg2 --edit-key <​identifiant>​ expire</​code>​+<​code>​gpg2 --edit-key <​identifiant>​ expire</​code>​
  
 Vous devez disposer de la clef secrète pour changer cette date. Vous devez disposer de la clef secrète pour changer cette date.
Ligne 208: Ligne 213:
  
 <note tip>Il faut bien comprendre ici que c'est là où intervient le mécanisme de clef publique/ clef privés. Vous chiffrez un fichier avec la clef publique de son destinataire et seule sa clef privée pourra le déchiffrer. D'où l'​intérêt de ne pas hésiter à diffuser sa clef publique. Ce principe est bien sûr identique pour le mail.\\ <note tip>Il faut bien comprendre ici que c'est là où intervient le mécanisme de clef publique/ clef privés. Vous chiffrez un fichier avec la clef publique de son destinataire et seule sa clef privée pourra le déchiffrer. D'où l'​intérêt de ne pas hésiter à diffuser sa clef publique. Ce principe est bien sûr identique pour le mail.\\
-Vous pouvez également chiffrer et signer un fichier en même temps, il suffit de mettre les options //--sign// et //​--encrypt//​.</​note>​+Vous pouvez également chiffrer et signer un fichier en même temps, il suffit de mettre les options //%%--sign%%// et //%%--encrypt%%//​.</​note>​
  
  
Ligne 216: Ligne 221:
 ===== Liens externes ===== ===== Liens externes =====
  
 +  * [[https://​gnupg.org/​|Le site officiel de GnuPG]] [en]
   * [[http://​www.francoz.net/​doc/​gpg/​|Utilisation de GnuPG]]   * [[http://​www.francoz.net/​doc/​gpg/​|Utilisation de GnuPG]]
-  * [[http://​matrix.samizdat.net/​crypto/​gpg_intro/​index.html]] +  * L'​article ​[[wpfr>​Pretty Good Privacy]]  ​sur Wikipédia 
-  * [[http://​www.gnupg.org/​]] +  * L'​article ​[[wpfr>GNU Privacy Guard]] sur Wikipédia 
-  * [[wpfr>GPG]] +  * [[https://​gnupg.org/​howtos/​fr/​|"​Mini-Howto"​ plutôt complet !]]
-  * [[http://www.gnupg.org/​howtos/​fr/​|"​Mini-Howto"​ plutôt complet !]]+
   * [[http://​gpglinux.free.fr/​|Télécharger GnuPG HOWTO par cho7]]   * [[http://​gpglinux.free.fr/​|Télécharger GnuPG HOWTO par cho7]]
-  * le [HOW-TO[[http://​forum.ubuntu-fr.org/​viewtopic.php?​id=28207|Créer sa clef PGP]] sur ubuntu-fr +  * Le HOW-TO [[https://​forum.ubuntu-fr.org/​viewtopic.php?​id=28207|Créer sa clef PGP]] sur le forum ubuntu-fr 
-  * [[http://​blog.rom1v.com/​2009/​05/​gnupg-chiffrer-et-signer-sous-ubuntu-pour-les-nuls/​|GnuPG : chiffrer et signer sous Ubuntu pour les nuls (®om'​s blog)]]+  * [[https://​blog.rom1v.com/​2009/​05/​gnupg-chiffrer-et-signer-sous-ubuntu-pour-les-nuls/​|GnuPG : chiffrer et signer sous Ubuntu pour les nuls (®om'​s blog)]] 
 +  * Un bon tutoriel : [[https://​www.mistra.fr/​tutoriel-linux-chiffrer-signer-mails-fichiers-gpg.html|Chiffrer et signer ses mails ou ses fichiers avec GPG]] 
 +  * Les bons conseils d'​utilisation : [[https://​help.riseup.net/​fr/​security/​message-security/​openpgp/​best-practices|Bonnes pratiques pour l'​utilisation d'​OpenPGP]] 
 +  * [[http://​laurent.flaum.free.fr/​pgpintrofr.htm|Principe du cryptage PGP]]
  
 ---- ----
  
-//​Contributeurs : [[utilisateurs:​Id2ndR]],​[[utilisateurs:​naoli]],​ [[:​utilisateurs:​l_africain|L'​Africain]].//​+//​Contributeurs : [[utilisateurs:​Id2ndR]],​[[utilisateurs:​naoli]],​ [[:​utilisateurs:​l_africain|L'​Africain]],​[[utilisateurs:​illoxx]],​--- //​[[:​utilisateurs:​fnx|fnx]] Le 17/08/2019, 11:15//.//
  • gnupg.1440071581.txt.gz
  • Dernière modification: Le 20/08/2015, 13:53
  • par 79.81.126.216