Onde o GPG Agent armazena a frase secreta - preciso restaurá-la

2

Esqueci minha senha da chave GPG.

Eu sei que meu computador está armazenando em algum lugar porque eu descriptografo strings com ele, sem uma senha, por exemplo:

$ gpg --decrypt -r [email protected] ~/.password-store/gmail.gpg 
You need a passphrase to unlock the secret key for
user: "Example <[email protected]>"
2048-bit RSA key, ID 02BFF027, created 2014-10-04 (main key ID 410A4C4A)
gpg: NOTE: secret key 02BFF027 expired at Thu  4 Oct 17:30:49 2018 EDT
gpg: encrypted with 2048-bit RSA key, ID 02BFF027, created 2014-10-04
      "Example <[email protected]>"
princess

A saída acima consegue descriptografar ~ / .password-store / gmail.gpg; ele sabe que minha chave está vencida e sabe que precisa de uma frase secreta, mas de alguma forma consegue decifrar a string mesmo assim (minha senha não é "princesa", isso é apenas para propósitos de ilustração).

Estou assumindo que o agente GPG está sendo usado para passar a frase secreta para gpg.

É possível fazer algo como:

gpg-agent --display-passphrase 02BFF027

?

    
por alberto56 14.10.2018 / 04:54

1 resposta

0

A frase secreta em si não é armazenada em qualquer lugar e, portanto, não pode ser exibida.

O processo de descriptografia funciona de qualquer maneira aplicando repetidamente um algoritmo de hash seguro a uma concatenação da senha sendo inserida e um valor de sal (um número aleatório) lido no porta-chaves.
Esse processo (computacionalmente intensivo) retorna a chave mestra para descriptografar o conjunto de chaves.
Se a senha estiver correta, você pode descriptografar o conjunto de chaves, incluindo a chave para descriptografar a mensagem de email.
Se a senha estiver errada, você obtém uma chave mestra incorreta que falha na validação e, portanto, resulta em uma mensagem de erro (e falha ao descriptografar a mensagem porque sua chave de criptografia não é extraída do conjunto de chaves).

    
por 23.10.2018 / 18:53

Tags