Capaz de descriptografar mensagens previamente criptografadas sem senha, mas não pode exportar chave privada de GPG

0

Eu me sinto muito idiota perguntando isso, mas por que não? Eu tenho um monte de arquivos que eu criptografei há um tempo atrás com um par de chaves gpg que é protegido por senha. Desde então, esqueci a senha. Mas a chave ainda deve estar em algum lugar (meu chaveiro?), Porque eu sou capaz de descriptografar todos os arquivos com gpg -d file.gpg sem nenhum prompt de senha.

No entanto, quando tento exportar a chave privada, peço uma senha.

Eu tentei reiniciar para ver se é uma coisa temporária, mas não é. Quando eu reiniciar a frio e tentar descriptografar uma mensagem criptografada, ele funciona. Quando tento exportar a chave privada, sem sorte.

Estou assumindo que gpg-agent está armazenando algo em cache; Eu tentei executar gpg através de strace para tentar recuperar minha chave privada, mas não tive sorte lá. gpg lê o arquivo de chave privada protegido por senha, fala com gpg-agent e recebe a mensagem descriptografada de volta. Mas não consigo encontrar a chave privada (ou talvez eu não saiba o que procurar) em qualquer lugar nos strace logs.

Eu tentei falar com gpg-agent com gpg-connect-agent , mas não sei o que fazer para obter a chave privada em cache.

Depois de descriptografar, eu armazenei com segurança todas as mensagens em algum lugar, então a perda de dados não é mais um problema. Eu só estou querendo saber se gerar um novo par de chaves é minha única opção.

    
por adtac 25.05.2018 / 10:05

1 resposta

2

Cada "chave" do OpenPGP consiste em vários pares de chaves independentes (subchaves), geralmente para finalidades diferentes (por exemplo, uma subchave de assinatura e certificação, uma subchave de criptografia, etc.).

No GnuPG 2.1 e posterior, as chaves privadas são armazenadas em ~/.gnupg/private-keys-v1.d e gerenciadas por gpg-agent . Há um arquivo separado para cada subchave, criptografado com sua frase secreta. Isso significa que você pode facilmente ignorar o gpg-agent, mas mesmo se você fizer isso, você ainda não poderá desbloquear os arquivos de chave sem saber sua frase secreta.

Tecnicamente, cada arquivo de chave pode ser criptografado usando uma senha diferente (embora a interface do usuário do gpg normalmente não ofereça isso). Por esse motivo, quando o gpg-agent armazena suas senhas em, e. Chaveiro do GNOME, eles também são armazenados separadamente para cada subchave sem verificar se são idênticos.

Portanto, é possível que sua frase-senha tenha sido "lembrada" apenas pela subchave de criptografia, mas não pela subchave de assinatura. Como eles são idênticos, deve ser suficiente apenas recuperar a senha armazenada do GNOME Keyring.

Use secret-tool para procurar o chaveiro do GNOME para suas senhas e veja se algum deles funciona:

$ secret-tool search --all xdg:schema org.gnupg.Passphrase

(Você também pode usar o programa gráfico do Seahorse também conhecido como "Senhas e chaves", mas ele tende a travar ou congelar e, portanto, não é tão útil.)

    
por 25.05.2018 / 14:19