当gpg-agent
我作为登录会话的一部分运行时,我运行的每个程序都可以访问我的(可能)未锁定的PGP密钥。它可能是偏执狂,但我希望得到关于每个密钥用法的确认,所以我希望有一个选项gpg-agent
,当密码短语或卡片引脚已经被缓存时,它会弹出一个确认对话框,然后才允许访问密钥。
对于gpg-agent
由此选项管理的ssh-key,根据联机帮助页存在,但不适用于PGP。
我错过了什么?
当gpg-agent
我作为登录会话的一部分运行时,我运行的每个程序都可以访问我的(可能)未锁定的PGP密钥。它可能是偏执狂,但我希望得到关于每个密钥用法的确认,所以我希望有一个选项gpg-agent
,当密码短语或卡片引脚已经被缓存时,它会弹出一个确认对话框,然后才允许访问密钥。
对于gpg-agent
由此选项管理的ssh-key,根据联机帮助页存在,但不适用于PGP。
我错过了什么?
Answers:
没有选项只显示消息。最后,您必须从两个选项中进行选择:
完全禁用缓存,以确保根本不存储密码:
--max-cache-ttl n
Set the maximum time a cache entry is valid to n seconds. After
this time a cache entry will be expired even if it has been
accessed recently or has been set using gpg-preset-passphrase.
The default is 2 hours (7200 seconds).
我不确定是否有一个值0
完全禁用缓存或将最大时间设置为无限 - 您将很容易找到。设置为1
秒也应该没问题。
签名时可以选择禁用缓存(解密时仍然使用它):
--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 command line option
takes precedence.
这背后的想法是防止意外地签署消息(可能无法撤消),而意外解密消息可能不会造成伤害。
如果考虑这些选项,请考虑要减轻的攻击。如果任何人能够使用您的密钥执行操作,他很可能无论如何都能运行任意命令,并且很可能安装木马或密钥记录器。