O que é um ID de chave OpenPGP / GnuPG?

20

Eu entendo a utilidade do bloco de chaves em si, e de um hash da chave, mas não sei por que informações adicionais seriam necessárias, então não posso começar a adivinhar a utilidade de um pouco mais de informação .

Especificamente,

  • O que isso significa,
  • onde é usado e
  • (como) pode ser determinado dado o bloqueio de chave pública?

Tende a ser mencionado tangencialmente e de passagem, o que leva a confusão, já que claramente o passeio espacial reconhece a diferença entre impressão digital e identificação , enquanto alguma documentação do GPG publicada pelo Fedora inclui a frase

For KEYNAME, substitute the key ID or fingerprint of your primary keypair,

que faz parecer que os dois compartilham o mesmo propósito; mas isso não faz sentido porque se fosse esse o caso, por que você precisaria de ambos para começar?

    
por Parthian Shot 16.06.2014 / 16:22

1 resposta

23

De RFC 4880 :

A V4 fingerprint is the 160-bit SHA-1 hash of the octet 0x99, followed by the two-octet packet length, followed by the entire Public-Key packet starting with the version field. The Key ID is the low-order 64 bits of the fingerprint.

Para chaves V3, o cálculo é semelhante, mas o comprimento da chave é omitido.

Em outras palavras, a impressão digital é calculada a partir de uma constante, o tamanho do pacote e, finalmente, uma parte do pacote de chave pública. Mais explicações sobre o que está incluído (e, portanto, como calculá-lo) no RFC vinculado.

O ID da chave (longa) é representado pelos 64 bits mais baixos e é usado como a impressão digital completa é um valor longo e não-prático. Ainda mais frequentemente, o id de chave curto formado pelos 32 bits de menor ordem é usado. Estes IDs de chave curtos são frequentemente considerados como tendo uma chance muito alta de colisões e uso de pelo menos a identificação longa, se não mesmo a impressão digital completa é recomendada.

Recapitamos em poucas palavras:

A impressão digital é o valor de hash calculado a partir do pacote de chave pública. Os IDs principais são parte da impressão digital:

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

Às vezes, os IDs são prefixados por 0x como valores hexadecimais.

    
por 16.06.2014 / 17:41

Tags