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
- 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).
- 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.
- Você precisa de uma cópia impressa das fingerprint GnuPG, tamanhos das chaves e um documento de identificação para provar sua identidade (passaporte, carteira de motorista ou similar).
- As fingerprints e tamanhos são dadas para outras pessoas que devem assinar sua chave depois do encontro.
- Caso você não possua uma chave GnuPG ainda, crie uma com o comando
gpg --gen-key. - Assine uma chave somente se a identidade da pessoa a qual você vai assinar a chave seja provada.
- Depois do encontro você terá que obter a chave GnuPG para assiná-la.
O comando abaixo pode ajudar :
gpg --keyserver keyring.debian.org --recv-keys 0xDEADBEEFNote que podemos usar os últimos oito dígitos hexadecimais da fingerprint nesta e em outras operações GnuPG. O 0x na frente também é opcional.
- Para assinar a chave, entre no menu de edição com
gpg --edit-key 0xDEADBEEF - No GnuPG selecione todas as uids para assinar com o comando
uid n, ondené o número da uid mostrada no menu. Você pode também pressionar enter para assinar todas as uids. - Para assinar uma chave, digite
sign. Será então mostrada a fingerprint e o tamanho da chave que você deve comparar com os dados obtidos da pessoa que você conheceu. - Quando perguntado sobre o nível de certificação, escolha "casual".
- Feche o GnuPG com
quit - Para verificar se você assinou a chave corretamente, você pode usar :
gpg --list-sigs 0xDEADBEEFVocê deverá ver seu próprio nome e fingerprint (na forma abreviada) na saída.
- Uma vez que esteja tudo correto, você pode enviar a chave assinada
para o destinatário usando:
gpg --export -a 0xDEADBEEF > someguys.keyA opção
-aexporta a chave no formato ASCII assim a mesma pode ser enviada via e-mail sem a possibilidade de corrupção. - Caso alguém assine sua chave desta maneira, você pode adicioná-la no
keyring Debian usando :
gpg --import mysigned.key gpg --keyserver keyring.debian.org --send-keys <your key id>Pode demorar um tempo até que os mantenedores do keyring atualizem sua chave portanto seja paciente. Você deverá também fazer o upload de sua chave atualizada para os servidores de chaves públicos.
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.
