Cet article sera le dernier de cette série. Vous pouvez lire ou relire les autres articles de la série ici:

Je souhaite que vous puissiez commencer à utiliser activement gpg, au moins avec des amis proches ou des membres de votre famille qui auraient lu ce tutoriel, et pour cela, il faut que vous puissiez signer des clés.

Signer des clés…

Oui, avec gpg, on peut signer des courriels, des fichiers, mais aussi des clés gpg !

Délicieusement récursif

Rappelez-vous, j’ai commencé à en parler dans l’article précédent.

Lorsque vous signez une clé, vous accordez un certain crédit à celle-ci, et vous l’indiquez également à tous ceux qui récupéreront votre signature.

La signature d’une clé indique en fait que vous considérez que le propriétaire de cette clé est bien légitime.

On va parler, là de cercle de confiance immédiat (CCI pour résumer): ce sont toutes les personnes que vous avez rencontré, dont vous avez vérifié l’identité et signé la clé.

Retenez bien qu’il s’agit d’un concept que je définis ici, pour les besoins de l’article, pour vous permettre de comprendre toutes les notions ci dessous.

Un problème d’identité

On va prendre un exemple: quelqu’un se présente pour faire signer sa clé. Appelons le John.

Vous devez d’abord vérifier que John est bien le propriétaire de cette clé, et pour se faire, vérifier avec lui l’empreinte de la clé.

Vous devez ensuite vérifier que John est bien qui il prétend être. Un coup d’oeil (soigneux) à ses papiers d’identité vous le confirmera… mais pas seulement !
Car l’identité, c’est bien plus qu’un simple bout de carton plastifié, fut-il protégé avec des encres spéciales…

L’identité, c’est aussi les diverses fonctions qu’on occupe: trésorier d’une association, blogueur plus ou moins anonyme, présence sur des réseaux sociaux.

Tout ce qui renforce la confiance dans l’identité qu’une personne nous indique peut être vérifié.

Une fois ces divers points validés, vous êtes à peu près sûr qu’il s’agit bien de la bonne clé et de la bonne personne. Vous pouvez donc signer sa clé.

Confiance

En signant une clé, vous accordez également un certain niveau de confiance dans son propriétaire.

Ce sont deux choses liées mais néanmoins distinctes, et il est important de le comprendre.

Il y a cinq niveaux de confiance différents:

  • indéterminée/je ne sais pas (c’est le défaut)
  • absence de confiance/nulle
  • partielle
  • totale
  • absolue/c’est ma clé

Ce niveau de confiance traduit quelle confiance vous avez dans ce propriétaire pour, lui-même, vérifier les identités et donc assurer son cercle de confiance immédiat (CCI). Et ultimement, quelle confiance vous accordez à son jugement à lui sur ceux d’autres personnes !

Par exemple, vous pouvez avoir vérifié soigneusement la clé d’un membre de votre famille, un cousin mettons. Vous avez donc absolument confiance dans cette clé !

Mais par contre, vous pensez que votre cousin n’est pas encore bien rodé avec OpenPGP. Peut-être qu’il signe un peu n’importe qui, ou qu’il accorde une confiance excessive.

Vous n’avez donc aucune confiance dans son CCI.

Donc vous signez sa clé, mais avec une confiance nulle.

Et cette confiance nulle est quelque chose que vous pouvez (devez !) indiquer sans honte ni crainte. Pour ce faire, le niveau de confiance est codé, inscrit dans la signature, de telle façon qu’il soit et reste une information privée.

Vous êtes libre de votre jugement sur les gens dont vous signez la clé ! Il s’agit là d’un cas de liberté d’expression et d’opinion.

Plus vous respecterez ces diverses considérations, plus votre propre jugement sera respecté par d’autres, en particulier des gens que vous connaissez bien.

Et donc plus votre CCI prendra, lui une valeur haute également.

Pour ma part, je pense qu’on devrait signer avec une confiance partielle par défaut, et réserver la confiance totale aux gens dont on connaît le sérieux.

Votre CCI est donc à la fois constitué des clés (et donc de leurs propriétaires) que vous avez signées, mais également du niveau de confiance qui leur est accordé !

Des exemples

Vous rencontrez quelques personnes dans un bar lors d’un rendez-vous de votre LUG.

Arthur

Arthur vous explique qu’il débute dans l’utilisation de GPG et souhaite donc se construire une toile de confiance. Ok.
Vous vérifiez correctement son identité et il fait de même avec vous. Puis, chez vous, vous signez sa clé, puisque vous l’avez vérifiée.

En revanche vous lui accordez une confiance nulle, car vous estimez que sa pratique de Gpg est encore trop récente.

Cette confiance nulle ne vous empêche pas, un mois plus tard, lors d’une autre rencontre, de lui demander comment il gère son trousseau de clé, de constater son sérieux et d’élever son niveau de confiance.

Cette confiance nulle n’empêche pas non plus cette personne de vous accorder un jugement haut ou bas également.
Et les signatures d’autres personnes sur sa clé s’ajoute à la votre. Signatures peut-être plus positives !

Il ne faut pas que vous vous sentiez honteux ou irrespectueux d’indiquer une confiance basse à Arthur.

Miriam

Miriam vous explique qu’elle est développeuse Debian. Vous vérifiez son identité et sa clé.
Chez vous, vous vérifiez également ses dires au sujet de Debian et vous constatez qu’elle a bien dit la vérité.

Donc vous signez sa clé, et vous lui accordez une confiance totale car vous savez que les dev’ Debian utilisent beaucoup GPG et doivent respecter un certain sérieux.

Greg

Greg vous indique qu’il utilise très régulièrement Gpg. Après avoir vérifié sa clé, vous la signez, avec une confiance partielle.
Simplement parce que vous ne le connaissez pas, mais vous voyez Greg comme quelqu’un de sérieux. Sans plus.

Karolina

Karolina vous explique qu’elle a adopté un système de signature très précis décrit avec beaucoup de détails dans un document disponible sur son blog (on parle là de politique de signatures).

Vous trouvez sa démarche très juste et décidez de lui accorder une confiance totale, précisément à cause de ce système de signatures dont vous estimez le fonctionnement très équilibré.

La Toile de confiance

C’est quoi la toile de confiance (les anglophones parlent de Web of Trust) ?

La toile de confiance, ce sont tous les CCI additionnés et mis bout à bout, constituant des chaînes:

Vous avez mis une confiance partielle en Greg. Donc son CCI se retrouve lui aussi avec une confiance partielle.

Vous avez mis une confiance complète en Miriam. C’est comme si vous aviez fait entrer tous ses contacts dans votre cercle de confiance à vous.
Et c’est Miriam qui a défini si oui ou non vous pouvez faire confiance dans telle ou telle personne que vous n’avez jamais rencontré - puisque vous avez confiance dans le jugement de Miriam.
Si, donc, elle a mis elle-même quelqu’un d’autre en confiance totale, alors cette troisième se retrouve à nouveau de facto dans votre cercle de confiance étendu.

Seulement, et c’est bien important, il ne *faut pas que vous signiez* une des clés signées par Miriam sans avoir rencontré la/le propriétaire de cette clé.
Miriam l’a fait. Donc la clé qu’elle a signée sera reconnue comme valide par votre gestionnaire de clés.
D’ailleurs pourquoi signeriez vous une clé sans avoir rencontré la personne ?

Gpg va déterminer par un algorithme jusqu’à quel point vous pouvez faire confiance à telle clé, que vous n’avez pas signé, à travers le mécanisme de la toile de confiance.

Par défaut, Gpg n’ira pas plus loin que cinq cercles de confiance. Et il faut trois signatures avec une confiance partielle, ou une signature avec une confiance complète pour qu’une clé soit valide.

Corollaires

Il faut se rendre compte également que la Toile de confiance doit être considérée avec sérieux.

Par exemple, les opinions politiques, religieuses, son origine, son sexe, sa couleur de peau ni même votre proximité sentimentale (ami, membre de la famille…) avec le propriétaire de la clé n’ont rien à voir ici.
Seul compte le sérieux qu’il accorde à son CCI.

Si vous rencontrez quelqu’un qui vous explique qu’il signe des gens d’une manière très précise, avec une politique de signature détaillée, vous pouvez être admiratif de son sérieux et décider de lui accorder une confiance totale.
Puis au cours de la discussion, vous vous rendez compte que c’est un pédophile néonazi pronnant l’eugénisme et mangeant des chatons au petit-déjeuner avec de la sauce soja, vous devriez quand même signer sa clé !

Bien sûr, vous le dénoncer à la police aussi sec, mais les deux actions sont compatibles.

Quelle est ma responsabilité dans tout ça ?

Il s’agit donc bien d’un système, d’un réseau de confiance relative.

Il n’y a pas d’autorité centrale de type étatique qui indique quelle identité est vraie ou fausse.

C’est vous qui devez estimer quelle confiance vous accordez et à qui vous l’accordez.

Ne soyez toutefois pas effrayé d’une telle responsabilité !

Le fonctionnement du réseau est démocratique: si vous attribuez un mauvais degré de confiance à un utilisateur, votre “vote” sera contrebalancé par ceux des autres.

Les politiques de signature documentées et accessibles en ligne renforcent cet aspect démocratique, parce qu’elles sont impartiales, comme décrit au dessus (cf le néonazi mangeur de chatons).

La responsabilité est donc individuelle et distribuée. C’est en fait du pair-à-pair ! C’est nous tous qui, collectivement, sommes l’autorité en laquelle nous faisons confiance pour valider les clés.

Tromperies ?

Que faire si quelqu’un tente de me tromper en me faisant signer une fausse clé ?

Déjà, il faut bien voir qu’en signant une clé, vous validez aussi une adresse courriel. Donc c’est aussi l’adresse courriel qu’il s’agit de vérifier.

Et le plus simple dans ce cas est que la personne vous envoie un courriel signé depuis cette adresse. (Il peut le faire quelques heures plus tard, ce n’est pas un soucis).
De cette façon, vous êtes sûr que vous signiez la clé associée à cette adresse courriel, et qu’elle appartient à la personne que vous avez rencontré.

C’est toutefois un poil lourd comme procédure. À vous de voir.

Il peut arriver qu’on veuille écrire à quelqu’un qu’on ne connaît pas ! Comment être sûr qu’on récupère la bonne clé ?

C’est le rôle de la toile de confiance, décrite au dessus.

Si vous souhaitez écrire à Valentina, et que des gens mal-intentionnés ont crée une ou des fausse(s) clé(s) qu’ils ont envoyés sur les serveurs de clés, comment reconnaître la bonne ?

Il y a de fortes chances que la clé de Valentina soit celle qui comporte le plus de signatures.
Et, très important, plus ces signatures viennent de personnes diverses (de nationalités, de fonctions diverses…), plus la clé sera sûre !

Il est par exemple très facile de créer des clés avec vingt signatures dessus.

Il est par contre assez difficile de créer une clé avec une ou deux fausses signatures de dev’ Debian. Or il est très facile d’obtenir la signature d’un dev’ Debian!
Non pas que ce soient des gars ou des filles faciles. Mais ils sont nombreux et éparpillés un peu partout.
Si vous habitez une grande ville occidentale, il est probable que vous ayez un dev’ Debian à portée de main et qu’il signera votre clé (en suivant sa politique de signature) si vous l’invitez pour une bière dans un bar.

S’il est donc facile de créer des clés avec de fausses signatures, il est tout aussi facile de faire signer sa clé par une personne publique à l’identité vérifiable (dev’ Debian ou dev’ d’autres logiciels libres, blogueur, membre d’une association…).

Et c’est donc cette dernière clé que vous utiliserez en cas de doute !

Exercice

Bon, c’est bon, vous pigez le truc de la toile de confiance ?

Ne vous inquiétez pas, vous aurez d’autres articles qui donneront d’autres détails. Et vous pouvez toujours revenir ici lire encore et encore cet article.

Je vais vous demander pour l’exercice du jour, de signer la clé du tutoriel, d’y mettre la confiance qui vous paraît correcte, puis de me l’envoyer par courriel.

Nous sommes bien d’accord qu’il ne faut pas faire cela normalement, puisque qu’on ne s’est pas rencontré.

C’est la raison pour laquelle j’ai indiqué dans un des articles que la clé du tutoriel ne sera utilisée que pour les besoins du tutoriel.

Donc, comment qu’on fait ?

Dans votre gestionnaire de clés, vous devez sélectionner la clé en question, puis l’option Signer.

Le logiciel vous demandera quelle confiance vous souhaitez accorder à cette clé. Si vous avez plusieurs clés privées, il vous sera demandé avec laquelle vous souhaitez signer.

Vous pouvez également passer par l’édition des propriétés de la clé et changer simplement le niveau de confiance. La signature sera alors faîte automatiquement.

Vous exportez ensuite la clé dans un fichier, que vous envoyez en pièce jointe de courriel à Tuto-gpg @ 22decembre.eu. Lorsque je vais récuperer la clé, les signatures vont s’additionner les unes les autres. Je vais alors vous répondre et vous envoyer votre clé, signée avec la clé du tutoriel.

Summum de la feignantise, KGpg et d’autres logiciels vous proposent de faire le tout s’un seul coup: avec l’option Signer et envoyer par courrier electronique, KGpg va effectivement signer suivant vos directives, puis préparer le courriel avec la clé dedans.

Précisions

Certains logiciels (notamment KGpg) mettent l’accent sur la vérification de l’identité du propriétaire de la clé pour vous indiquer le niveau de confiance que vous pouvez accordez.

Il s’agit là en fait d’une assertion selon laquelle, puisque l’identité et la clé ont bien été validées sérieusement, il est raisonnable de penser que le propriétaire de la clé accorde le même sérieux dans d’autres signatures.

Ceci ne change pas la signification de votre signature et ma description reste valable (elle est basée sur l’analyse du comportement du logiciel lui-même, ainsi que la description de ce comportement par divers développeurs et contributeurs au logiciel libre): la confiance accordée indique à quel point vous estimez le propriétaire de la clé capable d’entretenir son CCI.

C’est donc ce niveau de confiance que vous devez indiquer.

Ces logiciels ont par exemple une ergonomie trompeuse. Si vous avez des questions, n’hésitez pas à lire et relire cet article ou à m’écrire.

Inspirations diverses

Vous pourrez trouver:

Le blog de Miriam Ruiz, développeuse Debian, dont j’ai utilisé le nom dans cet article.

Samizdat et l’Amula qui m’ont parmi de comprendre le concept de Toile de confiance, et aujourd’hui m’ont fourni une bonne base pour ordonner mes idées et donc écrire le présent article.