Assinatura de chaves

Uma vez que diversos(as) desenvolvedores(as) encontram-se em feiras ou conferências, estes eventos se tornaram uma boa maneira de pessoas assinarem suas chaves GnuPG e melhorar a cadeia de confiança. Especialmente para pessoas que são novas no projeto, assinaturas de chaves e encontros com outros(as) desenvolvedores(as) são muito interessantes.

Este documento tem como objetivo ajudar você com a organização de uma sessão de assinatura de chaves. Note que todos os exemplos usam keyring.debian.org como servidor de chaves. Se a chave em questão não está no chaveiro do Debian, substitua keyring.debian.org por um servidor público como por exemplo www.keys.pgp.net (que apesar do nome também armazena chaves GnuPG.)

As pessoas devem assinar uma chave somente sob, pelo menos, duas condições

  1. O(A) proprietário(a) da chave convence o(a) assinador(a) que a identidade no UID é verdadeiramente sua própria identidade através de qualquer evidência que o(a) assinador(a) aceite como convincente. Normalmente isto significa que o(a) proprietário(a) da chave deve apresentar uma identificação expedida pelo governo com uma foto e informações que coincidam com o(a) proprietário(a) da chave. Alguns(mas) assinadores(as) sabem que identificações expedidas pelo governo são facilmente falsificadas e que a confiabilidade das autoridades emissoras é frequentemente suspeita e, portanto, podem solicitar evidência de identidade adicional e/ou alternativa.
  2. O(A) proprietário(a) da chave verifica que a fingerprint e o tamanho da chave prestes a ser assinada é verdadeiramente sua.

Mais importante, caso o(a) proprietário(a) da chave não esteja participando ativamente na troca, você não estará apto a completar os requisitos 1 ou 2. Ninguém pode completar a parte do(a) proprietário(a) da chave do requisito 1 em nome do(a) proprietário(a) da chave, porque de outra forma qualquer pessoa com uma identificação roubada poderia facilmente obter uma chave PGP para fingir ser um(a) representante do(a) dono(a) do chave. Ninguém pode completar a parte do(a) proprietário(a) da chave do requisito 2 em nome do(a) proprietário(a) da chave, uma vez que o(a) representante poderia substituir a fingerprint por uma chave PGP diferente com o nome do(a) proprietário(a) da chave na mesma, e fazer com que alguém assine a chave errada.

O pacote Debian signing-party (festa de assinaturas) oferece algumas ferramentas para ajudar você com este processo. gpg-key2ps transforma uma chave GnuPG em um arquivo PostScript para imprimir bilhetes com a sua fingerprint, e gpg-mailkeys vai enviar uma mensagem com uma chave assinada para o(a) seu(sua) autor(a). O pacote também inclui o caff que é uma ferramenta mais avançada. Veja a documentação do pacote para mais informações.

O que você não deve fazer

Você nunca deve assinar uma chave para alguém que você não tenha encontrado pessoalmente. Assinar uma chave baseado em qualquer outra coisa que não seja o encontro pessoal, destrói a utilidade da cadeia de confiança. Caso um(a) amigo(a) apresente o seu documento de identificação e sua fingerprint para outros(as) desenvolvedores(as), sem que você esteja lá para verificar que a fingerprint pertence a você, o que os(as) outros(as) desenvolvedores(as) terão para relacionar a fingerprint com a identificação? Eles têm apenas a palavra do(a) amigo(a), e as outras assinaturas na sua chave -- isso não é melhor do que se eles assinassem sua chave apenas porque outras pessoas assinaram!

É legal ter mais assinaturas em uma chave, e é tentador cortar alguns passos durante o processo. Mas possuir assinaturas confiáveis é mais importante do que ter muitas assinaturas, portanto é muito importante que mantenhamos o processo de assinaturas de chaves o mais puro possível. Assinar a chave de alguém é uma confirmação de que você possui evidências da identidade do portador da chave. Se você assinar sem realmente levar isso a sério, a cadeia de confiança não poderá mais ser confiável.