Por que o GPG / PGP, por padrão, usa chaves diferentes para assinatura / criptografia?

22

Se você criar uma nova chave GPG, obterá, por padrão, um par de chaves mestres de assinatura e um par de subchaves de criptografia.

pub  2048R/XXXXXXXX  created: 2013-02-09  expires: 2014-02-09  usage: SC  
sec  2048R/XXXXXXXX           2013-02-09 [expires: 2014-02-09]

sub  2048R/ZZZZZZZZ  created: 2013-02-09  expires: 2014-02-09  usage: E
ssb  2048R/ZZZZZZZZ           2013-02-09 [expires: 2014-02-09]  

(Saída combinada de gpg --list-keyse gpg --list-secret-keys)

Também é recomendável não usar sua chave mestra para assinatura regular (de e-mails / dados), mas criar outra subchave somente de assinatura e remover / fazer backup de sua chave mestra em um local seguro e offline, apenas para ser usada para assinatura de chave .

Isso faz sentido, pois a maioria dos terminais de criptografia são laptops / telefones ou outros dispositivos móveis sempre on-line que colocam suas chaves privadas em risco de roubo ou perda. Com uma chave mestra armazenada com segurança, você sempre pode revogar essas subchaves perdidas e nunca perder suas assinaturas de chave.

Portanto, embora a separação da subchave da chave mestra <-> seja clara para mim, não entendo por que há essa ênfase na separação das chaves de assinatura e criptografia (mesmo que sejam as duas subchaves). Alguém pode explicar por que isso é necessário ou pelo menos qual é a vantagem de uma perspectiva prática ou de segurança?

Tecnicamente, é totalmente viável e suportado pelo GnuPG criar uma subchave de assinatura e criptografia.

pub  2048R/YYYYYYYY  created: 2013-08-13  expires: 2014-08-13  usage: SCEA
sub  2048R/VVVVVVVV  created: 2013-08-13  expires: 2014-08-13  usage: SEA 
Chaos_99
fonte
2
Há uma boa resposta para essa pergunta no Security.SE , caso alguém esteja interessado.
GnP 22/11/16

Respostas:

9

No Reino Unido, a Lei de Regulamentação de Poderes de Investigação de 2000 diz

49 (9) Um aviso nesta seção não exigirá a divulgação de nenhuma chave que:

a) Destina-se a ser utilizado apenas com o objetivo de gerar assinaturas eletrónicas; e

(b) não foi de fato usado para qualquer outra finalidade.

… O que significa que o governo do Reino Unido pode, em algumas circunstâncias, obrigar você a entregar sua chave de descriptografia (se você é um residente), mas eles não podem se passar por sua chave de assinatura.


fonte
1
Interessante ... isso também se aplica às chaves privadas do Bitcoin (usadas apenas para assinatura, não usadas para criptografia).
Jonathan Cruz
… E parece que essa isenção permanece em vigor no ato de 2016 .
8

Não sei especificamente por que o GPG / PGP faz o que faz, mas uma possível motivação para esse tipo de coisa é a recuperação de desastres. Você pode dar uma cópia da sua chave privada de criptografia a um amigo muito próximo e confiável; portanto, se sua casa for atingida por um meteorito, você ainda poderá ler as mensagens antigas salvas na nuvem. (Da mesma forma, pode ser necessário que você forneça sua chave de criptografia 1 ao seu chefe, para que ele possa ler seu e-mail depois que você sair.)

Mas não há motivo para alguém ter uma cópia do seu par de chaves de assinatura.
________________
1  "você pode ser solicitado a fornecer sua chave de criptografia" a alguém - veja a resposta da TEV .

Scott
fonte
2

A resposta simples é que quanto mais você usa uma chave, mais informações vazam sobre ela.

Uma chave de assinatura é usada por você para autenticar que você confia em uma chave e por inferência do proprietário, mas o mais importante é que suas comunicações venham de você. Isso é chamado de não repúdio .

Por uma questão de argumento, digamos que usar uma chave 10000 vezes significa que você vaza todas as informações necessárias para alguém reconstruir essa chave. Usar uma chave> 9999 vezes significaria que outra pessoa poderia se passar por você e transmitir sua assinatura confiável à chave ou documento de um terceiro mal, fazendo com que toda a sua rede confiável acreditasse que essa parte é você ou que o documento é seu.

No entanto, se você também estiver criptografando com a mesma chave, o limite será atingido mais rapidamente.

Para evitar esse aborrecimento potencial, é criada uma segunda chave, usada apenas para criptografia / descriptografia, que é usada apenas para criptografar dados como você. Depois que essa chave tiver sido usada 9999 vezes, você poderá expirar essa chave sem perder toda a confiança que você entregou com sua chave de assinatura válida. Você redigita, gera uma nova chave de criptografia e assina com a chave de assinatura para mostrar que essa é uma chave de criptografia confiável que todos podem verificar.

EDITAR:

Ao reler o que escrevi acima e o GNU Privacy Handbook , minha conclusão é que subé uma chave privada e pubdeve ser uma chave pública. @GnP esta resposta:

" The keyword pub identifies the public master signing key, and the keyword sub identifies a public subordinate key."

Daniël W. Crompton
fonte
Suponho que, para a maioria das pessoas, a chave de assinatura seja usada com mais frequência do que a chave de criptografia, pois quase todos os emails serão assinados, mas apenas alguns serão criptografados. Nesse caso, o padrão gpg é o contrário, como o encr. É fácil alterar a chave enquanto a chave de assinatura não é.
Chaos_99
Como você geralmente criptografa com a chave pública de outra pessoa, isso parece um tanto lógico, e provavelmente há boas razões para isso que eu desconheço.
Daniël W. Crompton
Você está certo. Troque "criptografia" por "descriptografia" no meu comentário. Mas o ponto permanece válido. Você assina com mais frequência do que criptografa. Fiz essa pergunta para descobrir exatamente as "provavelmente boas razões" que você mencionou.
Chave_99
1
Tanto o mestre quanto a subchave são PAIRS de chave válidos com chave pública e privada. A abreviação do mestre particular é 'sec', para a subchave privada 'ssb'. Ambos podem ser vistos com gpg --list-secret-keys. As listagens fornecidas acima mostram apenas as chaves públicas retornadas por gpg --list-keys.
Chave_99
1
"quanto mais você usa uma chave, mais informações vazam sobre a chave", você tem uma fonte para essa reivindicação?
GnP 22/11/16
0

Se você criar uma nova chave GPG, obterá, por padrão, um par de chaves mestres de assinatura e um par de subchaves de criptografia.

As mensagens podem ser:

  • não assinado e não criptografado
  • assinado e não criptografado
  • não assinado e criptografado
  • assinado e criptografado

e há usos para cada um desses casos, dependendo do que você está tentando realizar com assinatura e criptografia.

Se, ao assinar, você estiver estabelecendo identidade / endosso, e ao criptografar, tornar as mensagens privadas, poder criptografar, mas não assinar, permitirá enviar uma mensagem privada que não está necessariamente associada à sua identidade ou endossada por você. Você gostaria de chaves separadas neste caso.

LawrenceC
fonte
2
Corrija-me se estiver errado, mas acredito que, quando você criptografa uma mensagem, usa a chave (pública) do destinatário . Assim, quando ela sai de suas mãos, ela não pode ser rastreada. Sua chave de criptografia é para outras pessoas enviarem mensagens criptografadas para você.
Scott
@ Scott, sim, mas a maioria das pessoas geralmente também possui um conjunto de chaves padrão para poder ler o que estiver na caixa de saída e, geralmente, especificar uma assinatura padrão. Embora, nesses casos, o ID da chave / chave de certificação seja usado para selecionar a subchave correta.
21417 Ben