Precisa de ajuda para importar nova chave pública

0

Eu sou um novo usuário do GnuPG. Estou muito familiarizado com o conceito de chaves públicas e privadas, bem como Web of Trust depois de ler o GNU Privacy Handbook e alguns blogs. Ainda assim, não sei como devo prosseguir se tiver acabado de começar com um chaveiro e um trustdb vazios e precisar verificar novos arquivos baixados da Internet.

Por exemplo, eu gostaria de compilar o Emacs a partir de fontes. Eu baixei dois arquivos de seu site Gnu Emacs : emacs-25.3.tar.gz.sig e emacs-25.3.tar.gz . Eu verifiquei a assinatura e obtive esta saída:

gpg: Signature made Mon 11 Sep 2017 20:52:45 BST
gpg:                using RSA key 28D3BED851FDF3AB57FEF93C233587A47C207910
gpg: Can't check signature: No public key

Por algum motivo, não consigo recuperar a chave "7C207910" como afirma o gpg:

[fw@localhost~ ]$ gpg --recv-keys 7C207910
gpg: Note: signatures using the SHA1 algorithm are rejected
gpg: key 0x233587A47C207910: 19 signatures not checked due to missing keys
gpg: key 0x233587A47C207910: 10 bad signatures
gpg: key 0x233587A47C207910: no valid user IDs
gpg: this may be caused by a missing self-signature
gpg: Total number processed: 1
gpg:           w/o user IDs: 1

Após a verificação, parece-me que os principais agentes de Nicolas Petton, cujo ID de chave termina com 7C207910 . Eu acho que se eu recebesse a chave do servidor de chaves, eu saberia sua impressão digital. Se as duas impressões digitais coincidissem, no site e na minha chave recém-recebida, isso seria suficiente para confirmar a importância de Nicolas Petton? Seria informação suficiente para confirmar a chave e definir sua confiança para o total?

Qual é a sua rotina?

Obrigado

    
por Celdor 13.05.2018 / 16:11

1 resposta

1

Você ou sua distribuição adicionou a opção weak-digest SHA1 à configuração do GnuPG ( ~/.gnupg/gpg.conf ), fazendo com que ela rejeitasse assinaturas feitas com SHA-1 como "fracas". (Por padrão, apenas o MD5 é rejeitado. O SHA-1 ainda é aceitável, mas apenas pouco.)

Sem essa opção, a saída esperada é:

$ gpg --recv-keys 28D3BED851FDF3AB57FEF93C233587A47C207910
gpg: key 233587A47C207910: public key "Nicolas Petton <[email protected]>" imported
gpg: marginals needed: 3  completes needed: 1  trust model: pgp
gpg: depth: 0  valid:   2  signed:   9  trust: 0-, 0q, 0n, 0m, 0f, 2u
gpg: depth: 1  valid:   9  signed:  78  trust: 3-, 0q, 0n, 6m, 0f, 0u
gpg: depth: 2  valid:  68  signed:  18  trust: 31-, 20q, 2n, 15m, 0f, 0u
gpg: depth: 3  valid:   2  signed:   2  trust: 1-, 1q, 0n, 0m, 0f, 0u
gpg: next trustdb check due at 2018-06-25
gpg: Total number processed: 1
gpg:               imported: 1

I guess if I received the key from keyserver, I would know its fingerprint

Não necessariamente. Você ainda não sabe se recebeu a chave real ou alguma outra chave que tenha o mesmo ID de chave. Os IDs de chave 'curtos' (8 dígitos) são muito fáceis de duplicar, e o futuro para os 'longos' (16 dígitos) também não parece bom. Se você conhece a impressão digital, você deve usá-la diretamente com --recv-keys e outros comandos.

Em qualquer caso, você não deve obter impressões digitais do servidor de chaves; esse tipo de derrota todo o ponto de verificação por impressão digital.

Would it be enough information to confirm the key and set its trust to full?

Sim e não. Você pode confirmar a chave como válida, mas definir a confiança de uma chave não é a mesma coisa - ela realmente permite que essa chave contribua para a validade de outras chaves (é assim que a "web de confiança" é construída ).

Se você não conhece a pessoa (ou, em particular, não conhece suas práticas de PGP), você não deve atribuir nenhuma confiança às suas chaves. É suficiente marcar a chave como válida, usando --lsign-key <fingerprint> se você quiser mantê-la apenas local ou usando --sign-key se quiser publicar a "confirmação".

    
por 13.05.2018 / 19:20

Tags