cryptographie:gnupg2

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
cryptographie:gnupg2 [2018/10/27 21:12] – [Le fichier gpg.conf] Ajout de paramètres d2aircryptographie:gnupg2 [2023/01/22 10:45] (Version actuelle) – [Serveur de clés] sks-keyservers.net : This service is deprecated. d2air
Ligne 1: Ligne 1:
 ====== Utilisation de GNU Privacy Guard (version 2) ====== ====== Utilisation de GNU Privacy Guard (version 2) ======
-Ce logiciel est installé par défaut sous Linux – au moins sur Debian et Ubuntu – est désormais disponible qu’en version 2 sur les distributions les plus récentes. Mon [[cryptographie:gnupg|utilisation de la version précédente]] n’est plus pertinente, mais elle sera la base de cet article.+Ce logiciel est installé par défaut sous Linux – au moins sur Debian et Ubuntu – est désormais disponible en version 2 sur les distributions les plus récentes. Mon [[cryptographie:gnupg|utilisation de la version précédente]] n’est plus pertinente, mais elle sera la base de cet article.
  
 Les principales évolutions sont décrites [[https://www.gnupg.org/faq/whats-new-in-2.1.html|ici]]. Les principales évolutions sont décrites [[https://www.gnupg.org/faq/whats-new-in-2.1.html|ici]].
Ligne 9: Ligne 9:
 sudo apt update && sudo apt install rng-tools sudo apt update && sudo apt install rng-tools
 </code> </code>
-Pour configuer ''rng-tools'' il faut éditer le fichier ''/etc/default/rng-tools'' pour ajouter cette ligne : +Pour configuer ''rng-tools'' il faut éditer le fichier ''/etc/default/rng-tools'', mais c'est normalement inutile celui-ci pouvant reconnaître seul les sources d'entropie. Il faudra surtout éviter de le configurer avec ''/dev/urandom'' comme source (voir [[https://lwn.net/Articles/525459/|cet article]]). 
-<file sh rng-tools> +
-HRNGDEVICE=/dev/urandom +
-</file> +
-Et ensuite il faudra relancer ce service avec la commande : +
-<code> +
-sudo service rng-tools restart +
-</code>+
 ===== Configuration de GNUPG ===== ===== Configuration de GNUPG =====
 ==== Serveur de clés ==== ==== Serveur de clés ====
Ligne 25: Ligne 19:
 echo sks-keyservers.netCA.pem | sudo tee -a /etc/ca-certificates.conf echo sks-keyservers.netCA.pem | sudo tee -a /etc/ca-certificates.conf
 sudo update-ca-certificates sudo update-ca-certificates
 +rm ~/sks-keyservers.netCA.pem 
 </code> </code>
 +<note warning>
 +**sks-keyservers.net** : "This service is deprecated. This means it is no longer maintained, and new HKPS certificates will not be issued. Service reliability should not be expected.
 +2021-06-21: Due to even more GDPR takedown requests, the DNS records for the pool will no longer be provided at all."
 +</note>
 Il faudra ensuite utiliser les paramètres suivants dans ''~/.gnupg/gpg.conf'' : Il faudra ensuite utiliser les paramètres suivants dans ''~/.gnupg/gpg.conf'' :
 <file sh gpg.conf> <file sh gpg.conf>
Ligne 57: Ligne 56:
 Nous devons nous assurer que les clés se rafraîchissent régulièrement. La meilleure façon de le faire avec Debian ou Ubuntu est d’utiliser ''parcimonie'' : Nous devons nous assurer que les clés se rafraîchissent régulièrement. La meilleure façon de le faire avec Debian ou Ubuntu est d’utiliser ''parcimonie'' :
 <code> <code>
-sudo apt-get install parcimonie+sudo apt install parcimonie
 </code> </code>
 [[https://gaffer.ptitcanardnoir.org/intrigeri/code/parcimonie/|Parcimonie]] est un démon qui rafraîchit lentement votre trousseau de clés à partir d’un serveur de clés en passant par [[https://www.torproject.org/|Tor]]. Il utilise un délai aléatoire et un nouveau circuit Tor pour chaque clé. Le but est de compliquer la vie d’un attaquant qui voudrait corréler les mises à jour de clés avec votre trousseau. [[https://gaffer.ptitcanardnoir.org/intrigeri/code/parcimonie/|Parcimonie]] est un démon qui rafraîchit lentement votre trousseau de clés à partir d’un serveur de clés en passant par [[https://www.torproject.org/|Tor]]. Il utilise un délai aléatoire et un nouveau circuit Tor pour chaque clé. Le but est de compliquer la vie d’un attaquant qui voudrait corréler les mises à jour de clés avec votre trousseau.
Ligne 436: Ligne 435:
 <code> <code>
 gpg --output revoke.asc --gen-revoke '<fingerprint>' gpg --output revoke.asc --gen-revoke '<fingerprint>'
 +</code>
 +=== Révocation d'une clef ===
 +La révocation se fait avec les commandes suivantes :
 +<code>
 +gpg --import /home/john/.gnupg/openpgp-revocs.d/A0B000FF0000FF0011111111A0B00000000000FF.rev
 +gpg --keyserver hkps.pool.sks-keyservers.net --send-keys A0B000FF0000FF0011111111A0B00000000000FF
 +</code>
 +Et avec un dossier parallèle :
 +<code>
 +gpg --homedir=/media/veracrypt1 --keyring=~/.gnupg/pubring.gpg --trustdb-name=~/.gnupg/trustdb.gpg --output ~/Bureau/revoke.asc --gen-revoke A0B000FF0000FF0011111111A0B00000000000FF
 +gpg --homedir=/media/veracrypt1 --keyring=~/.gnupg/pubring.gpg --trustdb-name=~/.gnupg/trustdb.gpg --import ~/Bureau/revoke.asc
 +gpg --keyserver hkps.pool.sks-keyservers.net --send-keys A0B000FF0000FF0011111111A0B00000000000F
 +</code>
 +ou :
 +<code>
 +gpg --homedir=/media/veracrypt1 --keyring=~/.gnupg/pubring.gpg --trustdb-name=~/.gnupg/trustdb.gpg --import ~/.gnupg/openpgp-revocs.d/A0B000FF0000FF0011111111A0B00000000000FF.rev
 +gpg --keyserver hkps.pool.sks-keyservers.net --send-keys A0B000FF0000FF0011111111A0B00000000000F
 </code> </code>
 === Révocation d'une sous-clef === === Révocation d'une sous-clef ===
Ligne 550: Ligne 566:
 == Configuration alternative externe == == Configuration alternative externe ==
 <code> <code>
-gpg --home=/media/veracrypt1 --import clepublique.asc clesecrete.asc +gpg --homedir=/media/veracrypt1 --import clepublique.asc clesecrete.asc 
 gpg: Attention : les droits du répertoire personnel « /media/veracrypt2 » gpg: Attention : les droits du répertoire personnel « /media/veracrypt2 »
             ne sont pas sûrs             ne sont pas sûrs
Ligne 572: Ligne 588:
 Pour éditer notre clef avec les deux répertoires la commande est la suivante : Pour éditer notre clef avec les deux répertoires la commande est la suivante :
 <code> <code>
-gpg --home=/media/veracrypt1 --keyring=~/.gnupg/pubring.kbx --trustdb-name=~/.gnupg/trustdb.gpg --edit-key 'A0B000FF0000FF00111111110000AAAAFFFFFFFF'+gpg --homedir=/media/veracrypt1 --keyring=~/.gnupg/pubring.kbx --trustdb-name=~/.gnupg/trustdb.gpg --edit-key 'A0B000FF0000FF00111111110000AAAAFFFFFFFF'
 gpg (GnuPG) 2.2.4; Copyright (C) 2017 Free Software Foundation, Inc. gpg (GnuPG) 2.2.4; Copyright (C) 2017 Free Software Foundation, Inc.
 This is free software: you are free to change and redistribute it. This is free software: you are free to change and redistribute it.
Ligne 595: Ligne 611:
 <code> <code>
 gpg --delete-secret-keys 0xA0B00000000000FF gpg --delete-secret-keys 0xA0B00000000000FF
-gpg --home=/media/veracrypt1 --armor --export-secret-subkeys 0xA0B00000000000FF > maj-sousclesecrete.asc+gpg --homedir=/media/veracrypt1 --armor --export-secret-subkeys 0xA0B00000000000FF > maj-sousclesecrete.asc
 gpg --import maj-sousclesecrete.asc gpg --import maj-sousclesecrete.asc
 </code> </code>
Ligne 601: Ligne 617:
 Pour signer une clef publique avec le répertoire alternatif, après avoir vérifier le fingerprint avec le correspondant, il faut utiliser la commande pour éditer la clef : Pour signer une clef publique avec le répertoire alternatif, après avoir vérifier le fingerprint avec le correspondant, il faut utiliser la commande pour éditer la clef :
 <code> <code>
-gpg --home=/media/veracrypt1 --keyring=~/.gnupg/pubring.kbx --trustdb-name=~/.gnupg/trustdb.gpg --edit-key 0xBBAACC001122334455+gpg --homedir=/media/veracrypt1 --keyring=~/.gnupg/pubring.kbx --trustdb-name=~/.gnupg/trustdb.gpg --edit-key 0xBBAACC001122334455
 </code> </code>
 puis dans la console les commandes ''key'', ''sign'' et ''trust'' puis ''save'' pour finir. puis dans la console les commandes ''key'', ''sign'' et ''trust'' puis ''save'' pour finir.
Ligne 609: Ligne 625:
 gpg --send-keys 0xA0B00000000000FF gpg --send-keys 0xA0B00000000000FF
 </code>  </code> 
 +===== GnuPG et authentification SSH =====
 +==== Générer une sous-clef d’authentification ====
 +<code>
 +gpg --homedir=/media/veracrypt1 --keyring=~/.gnupg/pubring.kbx --trustdb-name=~/.gnupg/trustdb.gpg --edit-key 'A0B000FF0000FF00111111110000AAAAFFFFFFFF'
 +gpg (GnuPG) 2.2.4; Copyright (C) 2017 Free Software Foundation, Inc.
 +This is free software: you are free to change and redistribute it.
 +There is NO WARRANTY, to the extent permitted by law.
 +
 +La clef secrète est disponible.
 +
 +sec  ed25519/0xA0B00000000000FF
 +     créé : 2017-12-03  expire : 2027-12-01  utilisation : SC  
 +     confiance : ultime        validité : ultime
 +ssb  cv25519/0xB0FFFFFFFFFFFF00
 +     créé : 2017-12-03  expire : 2027-12-01  utilisation : E   
 +ssb  ed25519/0xB0FFFFFFFFFFFF22
 +     créé : 2017-12-03  expire : 2019-12-03  utilisation : S   
 +[  ultime ] (1). John Doe <john@domaine.eu>
 +
 +gpg> addkey
 +Les parties secrètes de la clef principale sont stockées sur la carte.
 +Sélectionnez le type de clef désiré :
 +   (3) DSA (signature seule)
 +   (4) RSA (signature seule)
 +   (5) Elgamal (chiffrement seul)
 +   (6) RSA (chiffrement seul)
 +   (7) DSA (indiquez vous-même les capacités)
 +   (8) RSA (indiquez vous-même les capacités)
 +  (10) ECC (signature seule)
 +  (11) ECC (indiquez vous-même les capacités)
 +  (12) ECC (chiffrement seul)
 +  (13) Clef existante
 +Quel est votre choix ? 11
 +
 +Actions possibles pour une clef ECDSA/EdDSA : Signer Authentifier 
 +Actions actuellement permises : Signer 
 +
 +   (S) Inverser la capacité de signature
 +   (A) Inverser la capacité d'authentification
 +   (Q) Terminé
 +
 +Quel est votre choix ? A
 +
 +Actions possibles pour une clef ECDSA/EdDSA : Signer Authentifier 
 +Actions actuellement permises : Signer Authentifier 
 +
 +   (S) Inverser la capacité de signature
 +   (A) Inverser la capacité d'authentification
 +   (Q) Terminé
 +
 +Quel est votre choix ? S
 +
 +Actions possibles pour une clef ECDSA/EdDSA : Signer Authentifier 
 +Actions actuellement permises : Authentifier 
 +
 +   (S) Inverser la capacité de signature
 +   (A) Inverser la capacité d'authentification
 +   (Q) Terminé
 +
 +Quel est votre choix ? Q
 +Sélectionnez le type de courbe elliptique désiré :
 +   (1) Curve 25519
 +   (3) NIST P-256
 +   (4) NIST P-384
 +   (5) NIST P-521
 +   (6) Brainpool P-256
 +   (7) Brainpool P-384
 +   (8) Brainpool P-512
 +   (9) secp256k1
 +Quel est votre choix ? 1
 +Veuillez indiquer le temps pendant lequel cette clef devrait être valable.
 +         0 = la clef n'expire pas
 +      <n>  = la clef expire dans n jours
 +      <n>w = la clef expire dans n semaines
 +      <n>m = la clef expire dans n mois
 +      <n>y = la clef expire dans n ans
 +Pendant combien de temps la clef est-elle valable ? (0) 5y
 +La clef expire le ven. 27 oct. 2023 03:42:20 CEST
 +Est-ce correct ? (o/N) o
 +Faut-il vraiment la créer ? (o/N) o
 +De nombreux octets aléatoires doivent être générés. 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'obtenir suffisamment d'entropie.
 +
 +sec  ed25519/0xA0B00000000000FF
 +     créé : 2017-12-03  expire : 2027-12-01  utilisation : SC  
 +     confiance : ultime        validité : ultime
 +ssb  cv25519/0xB0FFFFFFFFFFFF00
 +     créé : 2017-12-03  expire : 2027-12-01  utilisation : E   
 +ssb  ed25519/0xB0FFFFFFFFFFFF22
 +     créé : 2017-12-03  expire : 2019-12-01  utilisation : S   
 +ssb  ed25519/0xB0FFFFFFFFFFFF44
 +     créé : 2018-12-03  expire : 2023-12-01  utilisation : A   
 +[  ultime ] (1). John Doe <john@domaine.eu>  
 +
 +gpg> save
 +</code>
 +==== Le fichier gpg-agent.conf ====
 +Pour activer le support SSH dans l'agent GnuPG nous éditerons ainsi le fichier :
 +<file sh gpg-agent.conf>
 +enable-ssh-support
 +</file>
 +==== Le fichier sshcontrol ====
 +Pour indiquer à GnuPG notre clef d’authentification pour SSH nous ajouterons son identifiant (keygrip) dans le fichier ''~/.gnupg/sshcontrol''.
 +<code>
 +gpg -k --with-keygrip 
 +/home/john/.gnupg/pubring.kbx
 +------------------------------
 +pub   ed25519/0xA0B00000000000FF 2017-12-03 [SC] [expire : 2027-12-01]
 +      Empreinte de la clef = A0B0 00FF 0000 FF00 1111  1111 A0B0 0000 0000 00FF
 +      Keygrip = AABBCCFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFDD
 +uid                  [  ultime ] John Doe <john@domaine.eu> 
 +sub   cv25519/0xB0FFFFFFFFFFFF00 2017-12-03 [E] [expire : 2027-12-01]
 +      Keygrip = BBCCDD00000000000000000000000000000000EE
 +sub   ed25519/0xB0FFFFFFFFFFFF22 2017-12-03 [S] [expire : 2019-12-01]
 +      Keygrip = CCDDEEFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
 +sub   rsa4096/0xB0FFFFFFFFFFFF44 2018-12-03 [A] [expire : 2023-12-01]
 +      Keygrip = DDEEFF00000000000000000000000000000000GG
 +</code>
 +Nous récupérons la clé d'authentification 0xB0FFFFFFFFFFFF44 avec l’identifiant associé afin de l’ajouter au fichier ''~/.gnupg/sshcontrol''.
 +<code>
 +echo "DDEEFF00000000000000000000000000000000GG 0" >> ~/.gnupg/sshcontrol
 +</code>
 +Le chiffre après l’identifiant est la durée en seconde pendant laquelle l’agent gardera la clé en mémoire. Si ''0'' – la valeur par défaut – est utilisé la durée sera de 30 minutes.
 +<file sh sshcontrol>
 +DDEEFF00000000000000000000000000000000GG 0
 +</file>
 ===== Logiciels ===== ===== Logiciels =====
   * [[https://gpgtools.org/|GnuPG pour macOS]]   * [[https://gpgtools.org/|GnuPG pour macOS]]
Ligne 624: Ligne 768:
   * [[https://debian-administration.org/users/dkg/weblog/48|HOWTO prep for migration off of SHA-1]] in OpenPGP   * [[https://debian-administration.org/users/dkg/weblog/48|HOWTO prep for migration off of SHA-1]] in OpenPGP
   * [[https://linuxfr.org/news/gnupg-openpgp-js-cie-quoi-de-neuf|GnuPG, OpenPGP.js & cie : quoi de neuf ?]]   * [[https://linuxfr.org/news/gnupg-openpgp-js-cie-quoi-de-neuf|GnuPG, OpenPGP.js & cie : quoi de neuf ?]]
 +  * [[https://linuxfr.org/users/spack/journaux/gnupg-et-authentification-ssh|GnuPG et authentification SSH]]
  
  • cryptographie/gnupg2.1540689159.txt.gz
  • Dernière modification : 2018/10/27 21:12
  • de d2air