Assinatura de chaves

Uma vez que diversos desenvolvedores encontram-se em roadshows 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 desenvolvedores são muito interessantes.

Este documento tem como objetivo ajudá-lo 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 Debian Keyring, substitua keyring.debian.org por um servidor público como wwwkeys.pgp.net, por exemplo. (Que apesar do nome também armazena chaves GnuPG.)

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

  1. O proprietário da chave convence o assinador que a identidade no UID é verdadeiramente sua própria identidade através de qualquer evidência que o assinador aceite como convencedora. Normalmente isto significa que o proprietário da chave deve apresentar uma identificação expedida pelo governo com uma foto e informação que coincida com o proprietário da chave. (Alguns assinadores sabem que identificações expedidas pelo governo são facilmente forjadas e que a confiabilidade de expedir autoridades é frequentemente suspeita e portanto podem requerer evidências adicionais e/ou alternativas de identidade).
  2. O proprietário da chave verifica que a fingerprint e o tamanho da chave prestes a ser assinada é verdadeiramente sua.

Mais importante, caso o proprietário 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 proprietário da chave do requisito 1 em nome do proprietário da chave, uma vez que o agente poderia substituir a fingerprint por uma chave PGP diferente com o nome do proprietário 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 transfora uma chave GnuPG num arquivo PostScript para imprimir "paper slips" com sua fingerprint, e gpg-mailkeys vai enviar uma mensagem com uma chave assinada para seu autor. O pacote também inclui caff que é uma ferramenta um pouco mais avançada. Veja a documentação do pacote para mais informações.

O que você não deverá fazer

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

É legal ter mais assinaturas em sua chave e é tentador cortar alguns passos durante o percurso. 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. Caso você a assine quando você realmente não a conhece, a cadeia de confiança não mais poderá ser confiada.