Por que o GnuPG está solicitando minha senha apenas ao assinar?

4

No meu Mac, eu tinha originalmente instalado o GnuPG usando o homebrew.

Então eu encontrei o GPGTools e comecei a usá-lo porque ele é mais user-friendly (teclas de atalho do SO, então eu posso facilmente usar criptografia dentro de um email por exemplo).

Eu não fiz nenhuma configuração de chaves usando o gpg obtido pelo homebrew. Eu configurei minha identidade com o GPGTools.

Eventualmente (depois de um tempo), descobri que, mesmo sem escolher a caixa de seleção "salvar em chaves", de todas as quatro operações (criptografia, assinatura, descriptografia, verificação), somente a etapa de assinatura requer minha senha.

Sei que a maneira como isso funciona é que eu preciso usar minha chave privada para as operações de sinalização e descriptografia. Então, estava me incomodando que eu estivesse em um estado em que a assinatura sempre exigisse a senha e a descriptografia nunca (depois da primeira vez que eu entrei).

Uma vez que eu tenha ido e atualizado o ~/.gnupg/gpg.conf para adicionar no-use-agent e eliminado o gpg-agent , agora é possível inserir a senha para assinatura e descriptografia.

A minha pergunta é: e a funcionalidade de gpg-agent que (quando ainda estava em execução) salvou minha senha, mas somente , para descriptografar e não para assinatura?

    
por Steven Lu 15.03.2016 / 18:56

1 resposta

3

Nem todas as quatro operações mencionadas exigem que a frase secreta seja inserida, mas apenas as que fazem uso da chave privada: descriptografia e assinatura. Tanto a criptografia quanto a verificação como contrapartes da descriptografia e da assinatura só fazem uso da chave pública, que não é armazenada em uma maneira criptografada (protegida por senha).

Algumas pessoas preferem que a senha seja armazenada em cache para descriptografia de mensagens criptografadas, mas sejam consultas para a frase secreta o tempo todo se você estiver assinando mensagens. Ou porque consideram as mensagens falsas, mas corretamente assinadas, mais perigosas do que as mensagens descriptografadas por um invasor ou porque desejam impedir a assinatura acidental de mensagens.

gpg-agent conhece várias opções para ajustar seu comportamento de armazenamento em cache, entre aquelas --default-cache-ttl para definir quanto tempo as frases secretas são armazenadas em cache e --ignore-cache-for-signing , que impede que o GnuPG solicite a frase secreta de qualquer maneira para assinar.

De man gpg-agent :

--ignore-cache-for-signing

This option will let gpg-agent bypass the passphrase cache for all signing operation. Note that there is also a per-session option to control this behaviour but this com‐mand line option takes precedence.

--default-cache-ttl n

Set the time a cache entry is valid to n seconds. The default is 600 seconds. Each time a cache entry is accessed, the entry's timer is reset. To set an entry's maximum lifetime, use max-cache-ttl.

É muito provável que você defina ignore-cache-for-signing em ~/.gnupg/gpg-agent.conf , o que não é padrão.

    
por 15.03.2016 / 21:54

Tags