Signature de clés
Comme de nombreux développeurs se rencontrent lors de manifestations commerciales ou de conférences, celles-ci sont devenues une façon simple de faire signer des clés OpenPGP et d'étendre le réseau de confiance. Et les gens qui sont nouveaux dans le projet apprécient particulièrement la signature de clé et la rencontre d'autres développeurs.
Ce document a pour but de vous aider à organiser une séance de signature de
clés. Veuillez noter que tous les exemples utilisent le serveur de clés
keyring.debian.org
. Si la clé recherchée n'est pas dans le
trousseau de Debian, remplacez keyring.debian.org
par un serveur
de clé public comme keys.openpgp.org
(qui est un serveur de
validaton de clé).
Deux conditions au moins sont nécessaires pour une signature de clé :
- le propriétaire de la clé persuade le signataire que l'identité de l'UID est bien la sienne au moyen de toute preuve que le signataire voudra bien accepter comme convaincante. Habituellement cela signifie que le propriétaire de la clé doit présenter une pièce d'identité délivrée par un gouvernement avec une photo et des informations lui correspondant (certains signataires savent que des pièces d'identité délivrées par des gouvernements sont facilement falsifiables et peuvent donc demander des preuves complémentaires ou alternatives d'identité) ;
- le propriétaire de la clé vérifie que la longueur de la clé à signer est correcte et que l'empreinte est bien la sienne.
Plus important encore, si le propriétaire de la clé ne participe pas activement à l'échange, vous ne pourrez pas remplir l'un ou l'autre des prérequis. Personne ne peut effectuer la première partie des prérequis du propriétaire de la clé pour le compte du propriétaire car sinon quiconque avec une carte d'identité volée pourrait facilement obtenir une clé OpenPGP allant avec en prétendant être un représentant du propriétaire. Personne ne peut effectuer la seconde partie des prérequis du propriétaire de la clé pour le compte du propriétaire car le représentant pourrait substituer l'empreinte par celle d'une autre clé OpenPGP avec le nom du propriétaire et faire signer la mauvaise clé.
- Vous avez besoin d'empreintes OpenPGP imprimées, de la longueur de la clé et d'un document pour prouver votre identité (passeport, permis de conduire ou autre) ;
- Les empreintes et la longueur de la clé sont distribuées aux autres personnes devant signer votre clé après la rencontre ;
- Si vous n'avez pas encore de clé OpenPGP, créez-en une avec la commande
gpg --gen-key
; - Ne signez une clé que si l'identité de la personne dont la clé doit être signée a été prouvée ;
- Après la rencontre, vous devrez récupérer la clé OpenPGP afin de la signer.
L'exemple suivant peut vous aider ;
gpg --keyserver keyring.debian.org --recv-keys 0xDEADBEEF
Notez qu'il est possible d'utiliser les huit derniers chiffres hexadécimaux de l'empreinte ici et pour les autres opérations avec GnuPG. Le 0x en tête est facultatif ;
- Pour signer la clé, entrez dans le menu d'édition par :
gpg --edit-key 0xDEADBEEF
- Dans GnuPG sélectionnez tous les UID à signer par
uid n
, oùn
est le numéro de l'UID affiché dans le menu. Vous pouvez aussi presser la touche « Entrée » pour signer tous les UID ; - Pour signer une clé, tapez
sign
. L'empreinte et la longueur de la clé seront alors affichées pour que vous la compariez avec celles obtenues de la personne rencontrée ; - Lorsque le niveau de confiance vous est demandé, veuillez choisir « un peu » ;
- Quittez GnuPG par
quit
; - Pour vérifier que vous avez bien signé la clé, vous pouvez
exécuter :
gpg --list-sigs 0xDEADBEEF
Vous devriez voir s'afficher votre nom et votre empreinte (dans sa forme courte) ;
- Une fois que vous êtes sûr que tout s'est bien passé, vous pouvez envoyer
la clé signée à son destinataire par :
gpg --export -a 0xDEADBEEF > quelqu-un.clé
L'option
-a
exporte la clé au format ASCII pour pouvoir l'envoyer par courriel sans risque de corruption ; - Si quelqu'un signe votre clé de cette façon, vous pouvez l'ajouter au
trousseau de Debian par :
gpg --import --import-options merge-only mysigned.key gpg --keyserver keyring.debian.org --send-keys <id de votre clé>
La mise à jour de votre clé par les responsables du trousseau peut prendre du temps, soyez patient. Vous devriez aussi télécharger votre clé à jour vers un serveur de clés public.
Le paquet Debian signing-party fournit des outils pour vous aider dans ce processus. gpg-key2ps crée un fichier PostScript avec votre clef OpenPGP pour imprimer des fiches papiers contenant votre empreinte digitale et gpg-mailkeys envoie un courriel contenant une clef signée à son auteur. Ce paquet comprend aussi caff qui est un outil plus avancé. Veuillez vous reporter à la documentation du paquet pour de plus amples informations.
Ce que vous ne devez pas faire
Vous ne devez jamais signer la clé de quelqu'un que vous n'avez pas rencontré personnellement. La signature d'une clé, basée sur autre chose qu'une rencontre directe, détruit l'utilité du réseau de confiance. Si un ami se présente à d'autres développeurs avec votre carte d'identité et votre empreinte mais que vous n'êtes pas présent pour vérifier que l'empreinte vous appartient, comment les développeurs peuvent-ils associer l'empreinte et la carte d'identité ? Ils n'ont que la parole de votre ami et les autres signatures sur votre clé – ce n'est pas mieux que s'ils signaient votre clé simplement parce que d'autres personnes l'ont signée !
Faire signer sa clé de nombreuses fois est agréable et il est tentant de raccourcir un peu la procédure. Mais avoir des signatures de confiance est bien plus important que d'avoir beaucoup de signatures, aussi est-il très important de conserver le processus de signature aussi strict que possible. Signer la clé de quelqu'un d'autre est la garantie que vous avez la preuve directe de l'identité du détenteur de la clé. Si vous la signez sans cette certitude, il n'est plus possible de faire confiance au réseau de confiance.