Je comprends que la validité de tout certificat OpenPGP est basée sur la vérification de ce certificat par une partie de confiance au sein d’un réseau Web de confiance.
Cependant, pour la plupart des gens qui n'utilisent pas GnuPG tous les jours, ils obtiendront simplement leurs clés une fois de keyserver.ubuntu.com
et auront la certitude qu'elles sont exactes. Par exemple. en suivant le guide "comment vérifier" sur Ubuntu.com:
gpg --keyserver hkp://keyserver.ubuntu.com --recv-keys "8439 38DF 228D 22F7 B374 2BC0 D94A A3F0 EFE2 1092" "C598 6B4F 1257 FFA8 6632 CBA7 4618 1433 FBB7 5451"
Bien que cette communication se produise via un protocole HTTP non crypté , je pense que le certificat que nous recevons du serveur de clés sera signé par le serveur de clés lui-même. Par conséquent, tant que nous disposerions d'un certificat de confiance pour le serveur de clés, faites confiance à la réponse.
Mais comment, en n'exécutant cette commande qu'une seule fois, pouvons-nous faire confiance au serveur de clés, car je ne pense pas que GnuPG aura encore créé un fichier trustdb
? GnuPG a-t-il une liste intégrée de certificats qu’elle approuve, qui inclut celle de keyserver.ubuntu.com
? Si oui, comment puis-je trouver cette liste pour vérifier que c'est bien le cas?
En l'absence de cette liste de confiance, ne serait-il pas possible que toutes mes communications soient interceptées par le même intervenant (MITM), qui pourrait alors me nourrir d'un faux certificat de keyserver.ubuntu.com
en même temps que je mette un paquet signé contrefait (par exemple, le système d’exploitation ISO lui-même)?
Le paramètre de réception des clés est l’empreinte complète de deux clés:
L’empreinte digitale est calculée à partir de la clé publique (I identifiants de clé OpenPGP sur le super utilisateur , si vous souhaitez davantage de références). GnuPG réalisera que la mauvaise clé a été renvoyée si l'empreinte calculée de la clé reçue ne correspond pas à l'empreinte demandée. En d'autres termes: vous ne pouvez pas faire confiance aux serveurs de clés (ils sont exploités par des individus aléatoires, qui pourraient bien avoir des objectifs malveillants), mais vous n'y êtes pas obligés, toutes les informations reçues des serveurs de clés doivent quand même être validées. La gamme d’empreintes digitales possibles est très grande: il n’est pas faisable de trouver une collision (la même empreinte digitale pour une autre clé), même si vous disposez de vastes capacités de calcul, comme les agences, comme par exemple le NSA ). Ne vous fiez pas aux identifiants de clés courtes, cependant.
Pour la même raison, il est possible que vous ne puissiez pas faire confiance aux résultats d'un serveur de clés lors de la recherche d'adresses de messagerie ou d'identifiants d'utilisateurs. Les opérateurs de serveurs de clés peuvent non seulement renvoyer des informations malveillantes, mais les serveurs de clés ne vérifient rien du tout (tout le monde peut télécharger des clés pour des adresses de messagerie arbitraires). Vous devez toujours valider les clés vous-même. Il n'y a rien de tel que les clés approuvées par défaut dans GnuPG, pas même les clés du mainteneur de GnuPG. Si vous faites confiance à la source répertoriant les empreintes digitales de la clé Ubuntu, vous pouvez les signer pour informer GnuPG que vous avez vérifié ces clés.
Il existe également HKPS (HKP over HTTPs), mais cela ne change rien compte tenu de la vérification manquante des informations de serveur clé; HKPS n'a été introduit que pour qu'un homme du milieu ne puisse pas enregistrer les clés que vous récupérez des serveurs de clés.