如何让gpg-agent确认每个密钥用法


5

gpg-agent我作为登录会话的一部分运行时,我运行的每个程序都可以访问我的(可能)未锁定的PGP密钥。它可能是偏执狂,但我希望得到关于每个密钥用法的确认,所以我希望有一个选项gpg-agent,当密码短语或卡片引脚已经被缓存时,它会弹出一个确认对话框,然后才允许访问密钥。

对于gpg-agent由此选项管理的ssh-key,根据联机帮助页存在,但不适用于PGP。

我错过了什么?

Answers:


2

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

  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.
    

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

如果考虑这些选项,请考虑要减轻的攻击。如果任何人能够使用您的密钥执行操作,他很可能无论如何都能运行任意命令,并且很可能安装木马或密钥记录器。


“如果任何人能够使用你的密钥执行操作,他很可能无论如何都能运行任意命令,并且很可能安装木马或密钥记录器。” < - 当GPG代理连接转发到远程连接时不一定是这种情况,然后这个额外的保护层更有意义。
Matthijs Kooijman

你是对的 - 这可以与使用加密智能卡上的密钥进行比较,该密钥执行所有(公钥 - 私钥)加密操作来代替主处理器。
Jens Erat
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.