Qual das minhas chaves públicas GPG devo publicar? Primário, subchaves, tudo?

Qual das minhas chaves públicas GPG devo publicar? Primário, subchaves, tudo?

Pergunta original

Tenho aprendido sobre GPG e o uso de subchaves. Sinto que desenvolvi uma boa compreensão dos benefícios de usar subchaves e manter sua chave primária offline, mas faltam informações sobre quais dessas chaves devem ser publicadas. Minhas perguntas:

Quais chaves devo publicar?
Devo publicar minha chave primária, ou minhas subchaves, ou todas elas? Quais são os prós/contras de cada um?

Quais chaves meus amigos devem assinar?
Se meu amigo estiver me adicionando ao seu chaveiro, ele adicionará minha chave primária, minhas subchaves ou todas as minhas chaves? Se eu configurar uma nova subchave, como ele poderá validar que ela está associada à minha chave primária?

Como exatamente as subchaves estão “associadas” à chave primária?
Há muitos artigos dizendo que eles estão associados, mas nenhum dizendo como. Eles contêm algumas propriedades matemáticas compartilhadas?

Ansioso para entender isso, apreciaríamos muito qualquer esclarecimento que pudesse ser oferecido.

Atualizar

Depois de fazer mais pesquisas, me deparei com este artigo interessante sobre oAnatomia de uma chave GPG. A julgar pelas informações contidas neste artigo, parece que as subchaves estão literalmente contidas na chave mestra, pelo menos quando se olha para a chave pública. O que eu não entendi originalmente foi que uma chave PGP contém muitas metainformações, mais do que apenas o valor numérico real da chave.

Estou certo em entender que só tenhoumchave pública?
Parece que só tenho uma chave pública, que seria a que eu publico e a que meus amigos assinam. É isso que associa minhas subchaves e diz a todos que minhas subchaves são realmente minhas?

Se eu copiar minhas subchaves para outro dispositivo, também levo toda a chave pública?
Ou as subchaves possuem suas próprias chaves subpúblicas?

Responder1

Começando com este:

Estou certo ao entender que só tenho uma chave pública?

Parece que só tenho uma chave pública, que seria a que eu publico e a que meus amigos assinam. É isso que associa minhas subchaves e diz a todos que minhas subchaves são realmente minhas?

Sim e não. Depende de qual dosmúltiplas definições de 'chave pública'você deseja usar.

Você tem um públicobloco de teclas, quala maioria das pessoaschame de "chave pública PGP" no sentido geral. (Também pode ser chamado de "certificado".) Como você viu no artigo vinculado, esse bloco de chave pública consiste em vários pacotes:

your "primary" public key parameters (the cryptographic values for RSA/DSA/etc)
├─ metadata for that public key (creation/expiry time, etc)
├─ a list of userids (name+email labels)
│  └─ each userid followed by a list of signatures (certifications)
└─ a list of "subkey" public key parameters (RSA numbers, etc)
   └─ each subkey followed by a list of self-signatures (self-certifications)

No entanto, não é a mesma coisa que “uma chave pública” no sentido criptográfico, porque temvários conjuntosdo RSA/DSA/etc real.parâmetros públicosdentro dele.

Como exatamente as subchaves estão “associadas” à chave primária?

Há muitos artigos dizendo que eles estão associados, mas nenhum dizendo como. Eles contêm algumas propriedades matemáticas compartilhadas?

Eles são armazenados junto com uma assinatura (autocertificação) feita pela chave primária. Matematicamente, porém, eles são completamente independentes e podem ser gerados por diferentes algoritmos.

Quais chaves devo publicar?

Devo publicar minha chave primária, ou minhas subchaves, ou todas elas? Quais são os prós/contras de cada um?

Todos eles, como uma única unidade (keyblock).

Cada chave individual é necessária para sua própria tarefa – a chave primária deve ser pública, pois é necessária para verificar assinaturas (certificações) feitas nas chaves de outras pessoas (userids) e em suas próprias subchaves e userids. A subchave de criptografia deve ser pública para que outros possam realmente criptografar uma mensagem para ela. E assim por diante.

Quais chaves meus amigos devem assinar?

Na interface do usuário, o processo de assinatura começa especificando sua chave primária (por ID ou impressão digital). O software então faz a coisa correta.

Tecnicamente, nenhuma das chaves é assinada. Outras pessoas assinam o seuIDs de usuário,que são rótulos de texto (nome+e-mail) associados à chave primária. O objetivo de assinar a chave de outra pessoa é atestar a ligação entre a chave e o nome+e-mail; assinar apenas a chave seria inútil.

Se meu amigo estiver me adicionando ao seu chaveiro, ele adicionará minha chave primária, minhas subchaves ou todas as minhas chaves?

Seus amigos adicionam todo o bloco de chaves – chave primária, subchaves, IDs de usuário.

Se eu configurar uma nova subchave, como ele poderá validar que ela está associada à minha chave primária?

Suas próprias subchaves e IDs de usuário são "autocertificadas", ou seja, são automaticamente assinadas pela sua chave primária assim que você as cria. É por isso que é suficiente distribuir a impressão digital da sua chave primária – ela atua como raiz de verificação.

informação relacionada