Como renovar um par de chaves expirado com o gpg

82

Qual é a melhor maneira de renovar um par de chaves gpg quando ele expirar e qual é o motivo do método?

O par de chaves já está assinado por muitos usuários e disponível em servidores públicos.

  • A nova chave deve ser uma subchave da chave privada expirada?

  • Ele deve ser assinado pelo antigo (eu poderia tentar editar a chave e alterar a data de vencimento para amanhã)?

  • A nova chave deve assinar a antiga?

Jonas Stein
fonte

Respostas:

95

As chaves privadas nunca expiram. Somente chaves públicas fazem. Caso contrário, o mundo nunca perceberia a expiração, já que (esperançosamente) o mundo nunca vê as chaves privadas.

Para a parte importante, há apenas uma maneira, de modo que salva uma discussão sobre prós e contras.

Você precisa estender a validade da chave principal:

gpg --edit-key 0x12345678
gpg> expire
...
gpg> save

Você precisa tomar uma decisão sobre a extensão da validade vs. a substituição da (s) subchave (s). Substituí-los fornece segurança de encaminhamento limitada (limitada a prazos bastante grandes). Se isso for importante para você, você deve ter subchaves (separadas) para criptografia e assinatura (o padrão é apenas para criptografia).

gpg --edit-key 0x12345678
gpg> key 1
gpg> expire
...
gpg> key 1
gpg> key 2
gpg> expire
...
gpg> save

Você precisa key 1duas vezes para selecionar e desmarcar, pois pode estender a validade de apenas uma chave por vez.

Você também pode decidir estender a validade, a menos que tenha algum motivo para supor que a chave foi comprometida. Não jogar fora todo o certificado em caso de comprometimento faz sentido apenas se você tiver uma chave principal offline (que IMHO é a única maneira razoável de usar o OpenPGP de qualquer maneira).

Os usuários do seu certificado precisam obter sua versão atualizada de qualquer maneira (para as novas assinaturas de chave ou para as novas chaves). A substituição torna a chave um pouco maior, mas isso não é um problema.

Se você usar cartões inteligentes (ou planeja fazer isso), ter mais chaves (criptografia) cria um certo inconveniente (um cartão com a nova chave não pode descriptografar dados antigos).

Hauke ​​Laging
fonte
Eu bati isto: gpg> expire Need the secret key to do this. Alguma idéia de como contornar isso?
Felix
7
@ Felix Você não contorna a necessidade de chaves privadas. Essa é a base da criptografia PK.
Hauke ​​Laging
8
Irônico que as chaves são renovados com "expirar"
David Costa
2
Acredito que o expirecomando realmente orienta você na definição do tempo de expiração de uma chave, então talvez você "renove" a chave apenas definindo o tempo de expiração ainda mais no futuro?
Viktor Haag