我正在学习如何在GnuPG中使用OpenPGP密钥,并且我想知道人们通常用来维护单独的OpenPGP密钥的阈值是多少。保持大量密钥是不好的,因为这会使他人难以信任。另一方面,我的感觉是,保持单个键可能无法将单独的东西分开。多少太多?

#1 楼

通常,每个标识一个密钥就可以。

一个密钥可以包括:


多个UID(用于单独的邮件地址,...)
几个子密钥(用于不同的设备,因此您可以在手机上放置一些子密钥;如果丢失,请仅撤消此密钥)
签署密钥时遇到麻烦,与密钥服务器进行交互,对密钥进行交叉签名
在维护密钥时会遇到麻烦,包括转移到其他计算机,吊销证书等。污染:如果有人想使用您的公钥,则以语义方式对它们进行分组比较容易找到正确的公钥。想象一下,寻找一个人的名字,并为使用中的所有不同地址查找一打密钥,该密钥可用于加密?

无论如何都具有多个密钥

如果您想管理多个不能直接连接的ID(我可以想象一个人,一个在您的雇主那里,一个用于可能不包含您真实姓名的东西-我想到政府的压力,...),当然可以随意使用多个主密钥。

子密钥的局限性

为您加密的其他密钥将始终选择最新的子密钥。无法将子项连接到特定的用户ID(例如,为工作和家庭使用不同的子项)。这将是使用多个主键的一个很好的理由(此外,您的雇主可能可以要求使用私钥,具体取决于您当地的法规)。这对签名子项无效:每台计算机将仅使用可用的子项;如果只分发特定的子项,则可以轻松地强制执行给定的子项。

从版本2.1开始,GnuPG只能为主键合并不同组的私有子键。确保将所有子项放在一台计算机上,并根据需要导出,或升级GnuPG。有一种使用gpgsplitcat的方法,但是这很繁琐,并且需要对RFC4880(OpenPGP规范)有深入的了解。 gpg --edit-key [key-id]作为主键,然后使用addkey命令启动子键生成助手(不要忘了之后再输入save)。要导出一个子密钥(或一组子密钥),请运行gpg --export-secret-subkeys [subkey-id]! >subkey.pgp-不要忘记感叹号!,否则GnuPG会将子密钥解析为关联的主密钥(并导出该主密钥)。您可以使用普通的gpg --import [file]命令导入它。


我强烈建议在子键上使用Debian的文档,以供进一步阅读。

#2 楼


多少个键可以?有多少个?


如果要具有多个断开的身份,则只需要多个密钥。身份已签名,密钥上可能有多个身份。因此,您可以拥有一个希望拥有所有身份的密钥。

同样,您可以创建尽可能多的密钥来断开身份标识。这完全取决于个人许多您认为合适且个人可管理的产品。