web-dev-qa-db-fra.com

Qu'est-ce qu'un identifiant de clé OpenPGP / GnuPG?

Je comprends l'utilité du bloc de clé lui-même et d'un hachage de la clé, mais je ne sais pas pourquoi des informations supplémentaires seraient nécessaires. Je ne peux donc pas commencer à deviner l'utilité d'un bit d'information supplémentaire.

Plus précisément,

  • Que signifie-t-il,
  • où est-il utilisé, et
  • (comment) peut-il être déterminé étant donné le blocage de la clé publique?

Il a tendance à être mentionné de manière tangentielle et en passant, ce qui prête à confusion car clairement la sortie dans l’espace reconnaît une différence entre empreinte digitale et identité , tandis que certains documents GPG publiés par Fedora incluent la phrase

Pour KEYNAME, remplacez l’ID de clé ou l’empreinte de votre paire de clés principale,

ce qui donne l'impression que les deux partagent le même objectif; mais cela n'a pas de sens car si tel était le cas, pourquoi auriez-vous besoin des deux pour commencer?

25
Parthian Shot

De RFC 4880 :

Une empreinte digitale V4 est le hachage SHA-1 de 160 octets de l'octet 0x99, suivi de la longueur du paquet de deux octets, suivi de l'intégralité du paquet de clé publique commençant par le champ de version. L'ID de clé correspond aux 64 bits de poids faible de l'empreinte.

Pour les clés V3, le calcul est similaire, mais la longueur de la clé est omise.

En d'autres termes, l'empreinte digitale est calculée à partir d'une constante, de la longueur du paquet et enfin d'une partie du paquet de clé publique. Explication supplémentaire sur ce qui est inclus (et donc comment le calculer) dans la RFC liée.

La clé (longue) id est représentée par les 64 bits les plus bas et est utilisée car l'empreinte digitale complète est une valeur longue et peu commode. Encore plus souvent, la clé courte id formée par les 32 bits d’ordre le plus bas est utilisée. Ces identifiants de clé courte sont souvent considérés comme ayant un risque trop élevé de collisions et l'utilisation d'au moins l'identifiant long, voire d'empreinte digitale complète, est recommandée.

Récapitulez en quelques mots:

L'empreinte est la valeur de hachage calculée à partir du paquet de clé publique. Les identifiants de clé font partie de l’empreinte digitale:

Fingerprint: 0D69 E11F 12BD BA07 7B37  26AB 4E1F 799A A4FF 2279
Long key ID:                                4E1F 799A A4FF 2279
Short key ID:                                         A4FF 2279

Parfois, les identifiants sont préfixés par 0x car ils sont des valeurs hexadécimales.

29
Jens Erat