PGP - 3ème partie : Générer des sous-clés PGP Protéger l’intégrité de votre code avec PGP

Dans ce troisième épisode de notre feuilleton PGP, nous vous expliquerons comment générer des sous-clés PGP pour votre travail quotidien.

Article écrit et posté par Konstantin Ryabitsev le 28 février 2018 sur Linux.com
Traduit par Gilles Gouget pour Librethic le 15 mai 2018
https://creativecommons.org/licenses/by-sa/4.0/

Dans cette série de tutoriels, nous fournissons un guide pratique pour l’utilisation de PGP. Précédemment, nous vous avons proposé une introduction aux Concepts et outils de base, et vous avons montré comment générer et protéger votre clé PGP maître (mettre le lien à jour une fois en ligne). Dans ce troisième article, nous expliquerons comment générer des sous-clés PGP, qui sont utilisées dans le travail quotidien.

Check-list

  1. Générer une sous-clé de chiffrement de 2048 bits (ESSENTIEL) ;
  2. Générer une sous-clé de signature de 2048 bits (ESSENTIEL) ;
  3. Générer une sous-clé d’authentification de 2048 bits (BON) ;
  4. Téléverser vos clés publiques sur un serveur de clés PGP (ESSENTIEL) ;
  5. Mettre en place une tâche Cron de rafraîchissement (ESSENTIEL).

Considérations

Maintenant que nous avons créé la clé maître, créons les clés que vous utiliserez dans votre travail au jour le jour. Nous créons des clés de 2048 bits car beaucoup de matériels spécialisés ne gèrent pas de clé plus grandes (nous y reviendrons), mais aussi pour des raisons pragmatiques. Si nous nous retrouvons dans un monde où les clés RSA de 2048 bits ne sont plus considérées comme suffisamment sûres, ce sera parce que des percées fondamentales auront eu lieu en informatique ou en mathématique qui feront que des clés plus longues de 4096 bits ne feront pas une grande différence.

Créer la sous-clés

Pour créer la sous-clé, exécutez :

$ gpg --quick-add-key [fpr] rsa2048 encr
$ gpg --quick-add-key [fpr] rsa2048 sign

Vous pouvez aussi créer la clé d’authentification, qui vous permettra d’utiliser votre clé PGP pour des sessions ssh :

$ gpg --quick-add-key [fpr] rsa2048 auth

Vous pouvez vérifier les informations de votre clé en utilisant gpg —list-key [fpr] :

pub   rsa4096 2017-12-06 [C] [expires: 2019-12-06]
    111122223333444455556666AAAABBBBCCCCDDDD
uid           [ultimate] Alice Engineer <alice@example.org>
uid           [ultimate] Alice Engineer <alice@example.net>
sub   rsa2048 2017-12-06 [E]
sub   rsa2048 2017-12-06 [S]

Téléverser vos clés publiques sur un serveur de clés

La création de la clé est maintenant terminée, il faut à présent qu’elle soit facile à trouver en la téléversant sur un des serveurs de clés publiques (sautez cette étape si vous n’avez pas l’intention de vous servir de la clé que vous venez de créer, car cela ne fait qu’encombrer les serveurs de données inutiles).

$ gpg --send-key [fpr]

Si cette commande n’aboutit pas, vous pouvez essayer de spécifier le serveur de clés sur un port qui soit plus susceptible de fonctionner :

$ gpg --keyserver hkp://pgp.mit.edu:80 --send-key [fpr]

La plupart des serveurs de clé communiquent entre eux, ainsi les informations de votre clé finiront par être synchronisées avec tous les autres.
Note sur la vie privée : Les serveurs de clé sont complètement publics et à ce titre, par principe, montrent des informations potentiellement sensibles sur vous, comme votre état civil, vos surnoms, et vos adresses de courriel personnelles ou professionnelles. Si vous signez les clés d’autres personnes ou si une personne signe la votre, les serveurs de clés révéleront de façon itérative votre réseau social. Une fois que ce type d’information est transmise à un serveur de clés, il est alors impossible de la modifier ou de la supprimer. Même si vous révoquez une identité ou une signature, elles ne seront pas supprimées de votre liste de clés, mais seront simplement marquées comme révoquées – les rendant même plus visibles.
Ceci étant dit, si vous participez à un développement logiciel sur un projet public, toutes les informations mentionnées plus haut sont déjà de notoriété publique, ainsi les rendre aussi accessible sur un serveur de clés ne résulte pas en une perte nette de vie privée.

Téléversez votre clé publique sur Github

Si vous utilisez Github (qui ne le fait pas ?), vous devriez téléverser votre clé en suivant les instructions qu’ils fournissent :

Ajouter une clé PGP à votre compte Github (anglais)

Pour générer la sortie de clé publique que vous pourrez coller, exécutez simplement :

$ gpg --export --armor [fpr]

Mettre en place une tâche Cron de rafraîchissement

Vous aurez besoin de rafraîchir votre trousseau régulièrement pour avoir les derniers changements de clés publiques des autres personnes. Vous pouvez mettre en place un service cron pour ce faire :
$ crontab -e

Ajoutez sur une nouvelle ligne :
@daily /usr/bin/gpg2 --refresh >/dev/null 2>&1

Note : Vérifiez bien le chemin de votre commande gpg ou gpg2, et utilisez gpg2 si votre gpg pat défaut est la version GnuPG v.1.