结合 Yubikey 使用 ECC for PGP-Master Key

信息安全 pgp RSA gnupg 电子抄送 优比键
2021-08-15 17:45:57

我上个月买了一个 Yubikey Neo。现在我想为 PGP 使用智能卡功能。我按照Yubico 网站上的官方指南使用 2048 RSA 密钥对其进行了测试,并且运行良好。但是如果我丢失了密钥,我就会遇到问题,因为主私钥完全存储在 Yubikey 上。所以我尝试了另一种方法。我在我的计算机上创建了一个密钥,并用它生成了三个子密钥,一个用于签名,一个用于身份验证,一个用于加密。然后我移动了 Yubikey 上的三个子键。我想把我的万能钥匙存放在一个安全的地方,并且想要 Yubikey 供日常使用。我使用 RSA 4096 作为主密钥,使用 RSA 2048 作为子密钥,因为 Yubikey 不支持更大的密钥。这也很有效。

问题:

GPG 在较新版本中支持 ECC。是否可以使用 ECC 而不是 RSA 创建主密钥(子密钥仍然是 RSA),我是否能够与使用尚不支持 ECC 的系统的其他人(使用我的子密钥)进行通信?他们是否能够毫无问题地签署我的密钥和我的密钥?

1个回答

首先,请注意 Yubikey 不支持 ECC 密钥(但我没有从您假设的问题中读到)。

如果您使用 ECC 主密钥,其他使用不支持 ECC 密钥的旧 GnuPG 实现的其他人(因此,GnuPG 2.1 之前的所有内容)将无法验证您的主密钥或您发布的签名,因为它不理解新算法。所以总而言之,运行 GnuPG 的 ECC 前版本的人将能够

  • 签署你的钥匙
  • 接收您加密的消息(根本不涉及您的密钥)
  • 向您发送签名消息(根本不涉及您的密钥)

不能_

  • 验证您签发的签名/证明
  • 验证您的密钥(包括验证自签名)
  • 验证您的 RSA 子密钥发出的签名,因为必须先验证子密钥的绑定签名
  • 将加密消息发送到 ECC 加密子密钥
  • 将加密消息发送到 RSA 加密子密钥,因为必须先验证子密钥的绑定签名

签署您的密钥是可能的,因为不必使用您的公钥进行加密,但签名者只是在您的密钥指纹上计算签名(使用他自己的密钥)。

PS:我在 GnuPG 1.4 和 2.1 之间验证了这些操作,因为我有一些期望,但不确定 GnuPG 是否真的满足它们。