如何让 gpg-agent 确认每个密钥的使用情况

如何让 gpg-agent 确认每个密钥的使用情况

当作为登录会话的一部分运行时,gpg-agent我运行的每个程序都可以访问我(可能)解锁的 PGP 密钥。这可能有点偏执,但我想确认每个密钥的使用情况,所以我希望有一个选项,gpg-agent当密码或卡密码已经缓存时,它会在允许访问密钥之前弹出一个确认对话框。

对于由 ssh-keys 管理的gpg-agent此类选项,根据手册页,但不适用于 PGP。

我错过了什么?

答案1

没有只显示消息的选项。最后,您必须从两个选项中进行选择:

  1. 完全禁用缓存,以确保密码根本不被存储:

    --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秒应该也可以。

  2. 有一个选项签名时禁用缓存(解密仍然使用它):

    --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.
    

    其背后的想法是防止意外签署消息(可能无法撤消),而意外解密消息可能不会造成危害。

如果考虑这些选项,请考虑您想要缓解哪些攻击。如果有人能够使用您的密钥执行操作,那么他很可能能够运行任意命令,并且可能会安装木马或键盘记录器。

相关内容