Como uma chave pública pode conter várias chaves públicas com GPG (ou o que estou fazendo errado)?

2

Estou configurando alguns servidores Ubuntu. Eu recebi de outro sysadmin uma chave a ser adicionada (chame-a de somekey.pub ) para a verificação do pacote apt em pacotes internos.

Adicionar essa chave a apt-key add somekey.pub resulta em DUAS entradas adicionais exibidas em apt-key list , cada uma com uma linha "pub" e uma linha "sub". (A linha "uid" em ambas as novas entradas é o sysadmin que me deu a chave.)

Como isso é possível? Inspecionando a chave com less mostra:

-----BEGIN PGP PUBLIC KEY BLOCK-----
Version: GnuPG v2.0.22 (GNU/Linux)

(41 lines snipped)
-----END PGP PUBLIC KEY BLOCK-----

Eu também usei gpg para criar um chaveiro contendo apenas essa chave (usando gpg --no-default-keyring --keyring ./somekeyring.gpg --import somekey.pub ), para poder colocar o chaveiro em /etc/apt/trusted.gpg.d/ em outros servidores Ubuntu em vez de executar o comando apt-key add .

Inspecionar esse chaveiro com gpg --no-default-keyring --keyring ./somekeyring.gpg --list-keys confirma que ele tem duas chaves. Aqui está a saída, um pouco:

pub   1024R/4AAAAAAA 2018-08-31
uid                  Joe Sysadmin (Ubuntu Dev Repo Key) <[email protected]>
sub   1024R/9FFFFFFF 2018-08-31

pub   2048R/BAAAAAAA 2018-08-31
uid                  Joe Sysadmin (Ubuntu Repo Repo Key) <[email protected]>
sub   2048R/1EEEEEEE 2018-08-31

Esta é a minha primeira incursão em chaves GPG e apt, então posso estar perdendo algumas informações básicas simples, mas eu esperaria que o único bloco de chave pública em somekey.pub contivesse apenas uma única chave pública - acima dos resultados me surpreendeu.

Onde está a documentação que me permitirá entender isso?

    
por Wildcard 08.09.2018 / 00:48

1 resposta

2

Uma mensagem OpenPGP pode ser construída de pacotes OpenPGP arbitrários - incluindo várias chaves primárias. Na verdade, um chaveiro GnuPG "clássico" não no formato Keybox ( .kbx ) é apenas uma mensagem OpenPGP com todas as teclas alinhadas. A única diferença para o seu chaveiro é que o seu é blindado em ASCII, que é apenas outra codificação feita para transmissão sobre os primeiros protocolos de comunicação, como e-mail, que inicialmente suportava apenas os 127 caracteres ASCII originais.

As distribuições do GnuPG geralmente incluem gpg-split , que pode ser usado para separar os pacotes individuais do OpenPGP. Para compor novamente, apenas con cat de novo (e gpg --enarmor se você preferir a codificação blindada ASCII).

O OpenPGP ofereceria ainda uma segunda maneira de incluir várias chaves públicas do OpenPGP: geralmente e seguindo as melhores práticas (e para alguns algoritmos criptográficos como um requisito técnico), várias chaves são criadas. Uma chave primária é gerada apenas para ser usada no gerenciamento de chaves (e talvez em tarefas de assinatura), enquanto uma ou mais subchaves associadas à chave primária são usadas na operação "dia a dia". "Quantas chaves do OpenPGP devo fazer" oferece uma discussão um pouco mais aprofundada sobre subchaves.

    
por 08.09.2018 / 08:12

Tags