私有 OpenPGP 密钥的密码如何增加其安全性?

信息安全 pgp 蛮力 gnupg 密码破解 打开pgp
2021-08-29 22:44:16

我是 OpenPGP 的新手用户。我在 OS X 上使用 GPGTools。我有几个相关的问题,但很难在 Internet 上找到直接答案。

  1. 当我创建一个密钥对时,我输入的密码是一个仅在我的机器上加密我的私钥的密码,它不是解密编码消息所需的密码,对吗?
  2. 如果上面的陈述是正确的,是否意味着我用来解密消息的密码实际上只是解锁我的私钥的密码:因此,如果我丢失了我的私钥(比如说,把我的电脑丢在太平洋),所以即使我透露我的密码,因为它仅用于解锁特定文件,所以什么也做不了?
  3. 暴力破解技术仅通过私钥(通常很长)破解 OpenPGP 加密文本;因此,当为“存储目的”创建密钥时,用于破解私有 PGP 密钥的暴力破解技术是通过密码短语(密钥所有者知道的)完成的。那是对的吗?

很抱歉有很多问题,但我相信这些代表了一个我在任何地方都找不到答案的问题。

谢谢你。

1个回答

如果您有加密的私钥,这意味着私钥是从随机数生成的,然后使用您的密码进行对称加密。换句话说,私钥不是由密码生成的,而是通过它来保护的。

当我创建一个密钥对时,我输入的密码是一个仅在我的机器上加密我的私钥的密码,它不是解密编码消息所需的密码,对吗?

私钥是使用您的密码加密的,没错。但这也意味着,如果您想解密一条消息(这需要您未加密的私钥),您必须输入您的密码才能解密它。

如果上面的陈述是正确的,是否意味着我用来解密消息的密码实际上只是解锁我的私钥的密码:因此,如果我丢失了我的私钥(比如说,把我的电脑丢在太平洋),所以即使我透露我的密码,因为它仅用于解锁特定文件,所以什么也做不了?

再说一次,当然仅凭密码短语不足以解密消息,因此您的“掉入大海”的比喻成立了。如果没有加密的私钥,密码是没有用的。

暴力破解技术仅通过私钥(通常很长)破解 OpenPGP 加密文本;因此,当为“存储目的”创建密钥时,用于破解私有 PGP 密钥的暴力破解技术是通过密码短语(密钥所有者知道的)完成的。那是对的吗?

当然,加密的私钥可能会通过暴力破解密码来泄露(但如果 GnuPG 的合理/默认设置和足够复杂的密码,只要使用的算法未被证明不安全,这不是实际的攻击面)。但与此同时,攻击者当然也可能尝试猜测/暴力破解您的私钥的(未加密)副本。鉴于您拥有庞大而充足的计算资源,您可以暴力破解其中任何一个;暴力破解密码可能成本更低,但需要知道加密的私钥,而暴力破解密钥只需要加密消息。