13. GNUpg en ligne de commande

Principe

Gnupg permet de chiffrer et de signer ses mails. Pour cela, il est nécessaire pour chaque correspondant de disposer de deux clés liées : une clé privée et une clé publique. Les clés publiques sont disponibles pour tout un chacun. Les clés privées ne sont à remettre à personne. Avec une clé publique, on peut chiffrer un message qui ne pourra être déchiffré que par le propriétaire de la clé privée correspondante. Avec la clé privée, on peut chiffrer un message qui ne pourra être déchiffré que par la clé publique.

Ainsi, pour vous envoyer un message chiffré, votre correspondant va le chiffrer avec votre clé publique. Comme vous êtes le seul à posséder la clé privée correspondante, vous êtes le seul à pouvoir le déchiffrer.

Dans l’autre sens, pour envoyer à votre correspondant un message chiffré, vous aller utiliser sa clé publique. Comme il est le seul à disposer de la clé privée correspondante, lui seul pourra déchiffrer votre message.

Simultanément, pour vous identifier, il vous suffit de chiffrer votre message avec votre clé privée. Comme seule la clé publique correspondant à votre clé privée pourra le déchiffrer, vous serez obligatoirement identifié.

Installation

Vous pouvez réaliser l’installation par la commande :

apt-get install gnupg

En ne spécifiant pas la version que vous désirez, vous installerez GnuPG 2.x, soit la dernière version de GnuPG.

Il est important de bien spécifier les droits sur le dossier de configuration :

~/.gnupg

à l’aide des commandes :

chown -R $(whoami) ~/.gnupg/
find ~/.gnupg -type f -exec chmod 600 {} \;
find ~/.gnupg -type d -exec chmod 700 {} \;

On spécifie ainsi que le répertoire et tous ses fichiers (-R) appartiennent à l’utilisateur ($(whoami)), puis que tout les fichiers ne sont accessibles en lecture et écriture qu’à l’utilisateur propriétaire (droits à 600 : rw) et que le répertoire lui-même est traversable (x) et accessible en lecture et écriture (rw) pour le propriétaire (droits à 700 : rwx).

Après son installation, vous disposerez d’un ensemble de commandes pour lesquelles vous pourrez trouver de l’aide avec :

man gpg

Création d’une paire de clés

La commande de création d’une paire de clé est :

gpg --full-generate-key

Vous devez ensuite choisir le type de clé, sa longueur, sa durée de validité, le nom associé (nom et prénom à mettre sur la même ligne), l’adresse mail correspondante, un commentaire (tout cela apparaîtra sous la forme : Nom Prenon (commentaire) <adressemail>) et donner une phrase de passe longue.

Vous pouvez ensuite vérifier si votre clé a bien été créée en listant l’ensemble des clés dont vous disposez avec :

gpg --list-keys

La liste des clés retournées devrait contenir l’adresse e-mail choisie et présenter une empreinte dont les huit dernier chiffres constituent l’identifiant.

Celui-ci est utilisé pour envoyer la partie publique de la clé sur un serveur de clé public de la manière suivante :

gpg --keyserver keys.openpgp.org --send-keys identifiant

Pour trouver les clés publiques de vos correspondants, pour autant qu’ils les aient publiées sur un serveur de clés, on utilise :

gpg --search-key identifiant

ou

gpg –auto-key-locate keyserver –locate-keys adresse_mail

en ayant préalablement défini le serveur dans votre fichier de configuration gpg.conf :

keyserver hkps://keys.openpgp.org

Pour récupérer ensuite cette clé publique sur le serveur de clés, on utilise :

gpg --keyserver keys.openpgp.org --recv-keys son_id_clef

en adaptant le nom du serveur en fonction de celui qu’on choisit, sachant que les clés publiques sont répliquées sur tous les serveurs au bout de quelques heures.

Chiffrer un fichier

Pour chiffrer un fichier de manière asymétrique, c’est-à-dire avec la clé publique d’un destinataire en vue de le lui envoyer, il faut utiliser la commande :

gpg -e --recipient sonID monFichier

-e signifie « encrypt ». Pour signer (-s) avec l’une de mes clé publique et chiffrer avec la sienne :

gpg -s --local-user monID -e --recipient sonID monFichier

Utilisation avec mutt

L’utilisation de pgp avec mutt est immédiate. Si un message vous est remis chiffré, en l’ouvrant votre phrase de chiffrement vous sera demandée pour pouvoir le lire. De plus, s’il est signé, cela sera mentionné au bas du mail.

Pour récupérer la clé publique de votre correspondant, il suffit de presser sur : Ctrl-K. Mutt, va alors chercher celle-ci et l’importer dans votre trousseau de clés.

Pour chiffrer un mail, il faut presser la touche p, puis plusieurs choix sont possibles :

  • c : chiffre avec la clé du destinataire ou demande avec quelle clé cela doit être fait,
  • s : signe avec la clé par défaut,
  • e : permet de spécifier avec quelle clé il faut signer (on spécifie une adresse mail),
  • d : chiffre et signe avec la clé par défaut,
  • m : s/Mime ?
  • r : ne fait rien.

On choisit les clé nécessaires et enfin on l’envoye avec y. Cela signifie aussi que pour répondre à un message signé et chiffré sans que la réponse soit chiffrée ou sans qu’elle ne soit chiffrée et signée, voir sans rien du tout, il suffit d’utiliser la touche p et de choisir l’une ou l’autre des solutions.

Remarquez que si vous vous retrouvez bloqué parce que mutt vous demande quelque chose que vous n’avez pas, comme le numéro de la clé d’un correspondant, vous pouvez ressortir de l’invite à la demande avec Ctrl-G.

Pour finir, une référence très claire :

https://ungeek.fr/gpg-et-le-chiffrement-pour-tous/#communiqueravecunkeyserver

Laisser un commentaire