OpenPGP Keysigning Party
Oui, c'est très facile d'échanger des clef OpenPGP sur internet. Mais rien ne garantit que personne n'intercepte les mails ou les requêtes HTTP, et remplace une clef par une autre. Ça permettrait à l'attaquant de déchiffrer tous les messages, et se faire passer pour un autre.
L'échange physique de clefs reste le moyen le plus sûr d'établir qu'une clef appartient à la bonne personne. Chacun emporte avec lui son empreinte (fingerprint), et la donne à tous les intéressés. Une fois retournés chez eux, ils téléchargent la clef d'un endroit quelconque, et vérifient que l'empreinte de la clef téléchargée correspond à celle reçue en personne.
Une fois la clef vérifiée de cette façon, il est possible de signer la clef, pour:
- se rappeler que la clef qu'on a sous les yeux a été vérifiée correctement
- partager la signature avec d'autre personnes
Si je trust ce qui vient de Bob (j'ai vérifié sa clef), et que Alice a vérifié ma clef, alors Alice peut truster Bob si je présente à Alice ma signature de la clef de Bob.
Déroulement
1. Générez une paire de clefs
Si vous n'avez pas déjà généré de paire de clefs OpenPGP, vous devez évidemment le faire. Avec GnuPG, on fait: gpg --gen-key
2. Envoyez votre clef publique
Pour que les autres participants puissent signer votre clef, ils doivent l'obtenir d'une certaine façon. Nous avons installé un serveur de clefs (apt-get install pks), et vous pouvez donc simplement faire: gpg --keyserver linux-quebec.org --send-keys [email protected]
Vous pouvez comme toujours remplacer votre adresse de courriel par l'identifiant exact de clef (dans mon cas: 39D4B2D4).
3. Informez le coordonateur de votre présence
Envoyez les informations de votre clef par courriel à gpg-party à linux-quebec.org, avec minimalement l'identifiant de votre clef, et préférablement aussi votre nom et courriel complets, comme ils figurent dans votre clef.
Le coordonateur saura alors qu'il faut vous ajouter à la liste des clefs à signer.
4. Présentez-vous au party
Vous devez amener:
- Vous-mêmes (impossible de participer virtuellement)
- Deux pièces d'identité (permis de conduire et carte d'assurance maladie sont de bons exemples)
- Identifiant de clef ("39D4B2D4", par exemple), type de clef et grosseur ("1024D", par exemple), empreinte hexadécimale ("5E84 1089 0036 BB63 6997 232C 8FFB 777D 39D4 B2D4", par exemple)
- Un crayon
Vous pouvez obtenir toutes les informations du point 3 en faisant: gpg --fingerprint [email protected]
Le coordonateur du party vous donnera une copie de la liste des empreintes des participants. Vérifiez que la liste que possède le coordonateur comporte bien votre clef.
Les participants se mettront en ligne. Le premier en avant vérifiera sa clef avec le second, et vice-versa, puis passera à la troisième personne en file. La seconde personne fait la même chose, et à la fin, la ligne se sera repliée sur elle-même, et chacun aura vérifié les clefs de tous. Un crochet sera mis au niveau de chaque clef vérifiée.
5. Signez toutes les clefs vérifiées
Importez la clef de tous les participants en exécutant la commande suivante pour chaque clef: gpg --keyserver linux-quebec.org --search-keys 39D4B2D4
Vérifiez les informations de la clef en vous fiant à la feuille que vous avait remis le coordonateur, et que avez utilisée pour vérifier les clefs des autres participants: gpg --fingerprint 39D4B2D4
Signez chaque clef en exécutant: gpg --sign-key 39D4B2D4
6. Envoyez les clefs signées au serveur, ou à son propriétairegpg --keyserver linux-quebec.org --send-keys 39D4B2D4
7. Téléchargement des signatures
Quelques heures/jours après l'événement, vous pouvez aller chercher les nouvelles signatures pour une clef précise en faisant: gpg --keyserver linux-quebec.org --recv-keys 39D4B2D4
Notez que vous pouvez spécifier plus d'une clef à la fois.
Pour en savoir plus
- GnuPG Keysigning Party HOWTO
- Jason Harris' page on PGP keysignings
Si vous utilisez Debian, jetez un petit coup d'oeil à au package signing-party (apt-cache show signing-party), qui contient un script pour générer un PostScript à imprimer, contenant plusieurs fois votre empreinte sous forme de bandes à découper, pour distribuer aux autres participants, et qui contient aussi un script pour envoyer une signature au propriétaire de la clef.
|