web-dev-qa-db-fra.com

Quelle est la signification exacte de cette sortie gpg concernant la confiance?

Lorsque j'importe des signatures ou que je reçois une clé avec gpg, cela génère des lignes cryptiques comme:

gpg: 3 marginal(s) needed, 1 complete(s) needed, PGP trust model
gpg: depth: 0  valid:   1  signed:  16  trust: 0-, 0q, 0n, 0m, 0f, 1u
gpg: depth: 1  valid:  16  signed: 115  trust: 1-, 1q, 1n, 1m, 12f, 0u
gpg: depth: 2  valid: 105  signed: 189  trust: 81-, 11q, 0n, 4m, 9f, 0u
gpg: depth: 3  valid:  29  signed: 120  trust: 19-, 9q, 0n, 0m, 1f, 0u

Je comprends le Web de confiance et la cryptographie asymétrique. Mais je ne sais pas ce que signifient exactement "marginaux", "valides", "signés" et toutes les lettres derrière la confiance.

29
Thomas Koch

La documentation officielle de GnuPG concernant cette sortie est plutôt maladroite.

Le modèle de confiance OpenPGP

gpg: 3 marginal(s) needed, 1 complete(s) needed, PGP trust model

Par défaut, GnuPG utilise le modèle de confiance OpenPGP. En cela, vous pouvez faire confiance à une clé, ce qui lui permet de valider d'autres clés.

Clés de confiance

Les clés peuvent être fiables. La confiance permet aux clés de valider d'autres clés. Bien que la confiance soit une sorte de signature sur d'autres clés, elle n'est pas distribuée lors du téléchargement de clés sur des serveurs de clés.

Il existe différents niveaux de confiance:

  • - Aucune approbation de propriétaire attribuée/pas encore calculée
  • e Le calcul de confiance a échoué; probablement en raison d'une clé expirée
  • q Pas assez d'informations pour le calcul
  • n Ne faites jamais confiance à cette clé
  • m Légèrement fiable
  • f Entièrement fiable
  • u Ultimement fiable

(extrait du manuel GnuPG, gestion des clés de chapitre )

Les trois dernières catégories sont les plus importantes: vos propres clés sont finalement fiables; les signatures de clés entièrement fiables valent également la vôtre; tandis que les clés de confiance marginales nécessitent plus de chemins de signature pour rendre une clé valide.

Clés valides

Dans le modèle de confiance OpenPGP par défaut, une clé est entièrement valide si:

  1. il est signé par suffisamment de touches valides, ce qui signifie
    • vous l'avez signé personnellement,
    • il a été signé par une clé entièrement fiable, ou
    • il a été signé par trois clés de confiance marginale; et
  2. le chemin des clés signées menant de K à votre propre clé est de cinq étapes ou plus court.

(extrait du manuel GnuPG, chapitre 'Valider d'autres clés sur votre trousseau de clés publiques' )

Les autres clés sont marginalement valides ; montrant qu'il existe un chemin de confiance, mais il n'est pas assez fort. J'ai mis en surbrillance le mot "valide" dans la citation ci-dessus: seule la confiance des clés entièrement valides est prise en compte pour le calcul de la validité! Dans GnuPG, le modèle d'approbation par défaut peut être configuré.

La page de manuel liée directement ci-dessus contient également quelques exemples de calcul de confiance, mais attention au modèle de confiance non par défaut appliqué pour plus de simplicité!

Informations sur la base de données de confiance de GnuPG

Ces informations sont imprimées chaque fois que la base de données de confiance est mise à jour, par exemple après les avoir reçues d'un serveur clé.

gpg: depth: 0  valid:   1  signed:  16  trust: 0-, 0q, 0n, 0m, 0f, 1u
gpg: depth: 1  valid:  16  signed: 115  trust: 1-, 1q, 1n, 1m, 12f, 0u
gpg: depth: 2  valid: 105  signed: 189  trust: 81-, 11q, 0n, 4m, 9f, 0u
gpg: depth: 3  valid:  29  signed: 120  trust: 19-, 9q, 0n, 0m, 1f, 0u

Cette sortie décrit votre toile de confiance. Les lettres représentent les niveaux de confiance répertoriés ci-dessus. Au niveau 0 , vous trouverez vos propres clés (finalement fiables). Il ne devrait pas y avoir d'autre type de confiance à ce niveau. Cette clé est valide (bien sûr).

La sortie supplémentaire représente mon interprétation qui n'est pas basée sur la lecture de la documentation (manquante) ni du code source: vous avez signé 16 clés, ce qui les rend entièrement valides au niveau niveau 1 . Pour 12 d'entre eux, vous avez émis une confiance totale, l'un d'entre eux seulement marginal. Ceux-ci conduisent à nouveau à 105 autres clés valides en lesquelles vous avez confiance niveau 2 . Certains d'entre eux sont à nouveau fiables, conduisant à 29 autres clés valides dans niveau 3 .

En comparant cette sortie à ce que les serveurs de clés disent , vous devriez probablement mettre à jour votre trousseau de clés. ;)

Des clés plus fiables dans des niveaux plus profonds pourraient créer les niveaux 0-5 si vous ne modifiez pas la longueur de chemin maximale de cinq proposée par le modèle de confiance d'OpenPGP.


Werner Koch, le principal auteur de GnuPG, une fois déclaré sur la liste de diffusion GnuPG :

Vous auriez besoin de regarder la source. Cependant, si vous connaissez bien le WoT, vous devriez être en mesure de comprendre de quoi il s'agit. [...] Vous devriez considérer cela comme une sortie de débogage.

26
Jens Erat