我应该何时备份我的主要 OpenPGP 密钥?

我应该何时备份我的主要 OpenPGP 密钥?

我应该何时备份我的主要 OpenPGP 密钥?

我最近使用以下设置生成了一个 OpenPGP 密钥(输出gpg2 --list-keys):

pub   rsa4096/KEYIDSC 2017-10-19 [SC]
uid         [ultimate] My Name <[email protected]>
sub   rsa4096/KEYIDE  2017-10-19 [E]
sub   rsa4096/KEYIDS  2017-10-19 [S]

输出如下gpg2 --list-secret-keys

sec#  rsa4096/KEYIDSC 2017-10-19 [SC]
uid         [ultimate] My Name <[email protected]>
ssb   rsa4096/KEYIDE  2017-10-19 [E]
ssb   rsa4096/KEYIDS  2017-10-19 [S]

总而言之,我离线存储了我的主密钥的备份(sec#)并使用子密钥进行签名和加密。

现在,假设我想为 (with ) 添加用户 ID adduid,我将导入我的备份私钥并对其进行编辑。我现在的问题是:

  1. 我是否应该使用导出命令对我的私钥进行新的备份?
  2. 我是否也需要编辑子项?或者它们是否已自动考虑添加新 UID?
  3. 假设子项在此过程中被修改,我应该将它们导出到我的其他计算机,还是旧计算机继续执行这项工作?
  4. 我目前还没有将密钥上传到密钥服务器,我应该上传吗?它是否会自动解决上一个问题中提到的再次导出子密钥的麻烦(如果存在此类问题)?
  5. 除此之外,还有哪些命令/操作adduid需要对我的密钥进行新的备份?

请随时在下面询问精确度,我会尽力回答,但考虑到我对 OpenPGP 还比较陌生。

答案1

我是否应该使用导出命令对我的私钥进行新的备份?

如果您将公钥上传到密钥服务器网络,备份所有私钥(包括您想要恢复的所有子密钥)就足够了——其他所有内容都可以再次从密钥服务器中获取。任何(即使是最小的)私钥导出都始终包含相应的公钥。

如果您不定期上传,您必须区分可能会丢失的不同类型的东西:

  • “丢失”的用户 ID 并不是真正的问题,您只需生成新的用户 ID(它们会有另一个时间戳和较新的签名,但这在实践中不是问题)
  • 显然,必须再次设置新的公共设置(您可以使用这些设置询问其他人使用什么密码、压缩算法等)
  • 存储在您的密钥环中的传入认证不是您自己颁发的,因此您必须再次收集它们(但是,如果您不共享它们,它们实际上就没用了)
  • 如果你创建新的子项,这些子项显然尚未包含在你的备份/导出中,并且无法重新生成,因此请进行备份
  • 备份吊销证书可能是合理的,但如果你不分享它们,它们就毫无用处

我是否也需要编辑子项?或者它们是否已自动考虑添加新 UID?

不,子键和用户 ID 之间没有直接联系。两者都只与主键相关。

除了 adduid 之外,还有哪些命令/操作需要对我的密钥进行新的备份?

备份实际上并不是 OpenPGP 特有的问题,因为你的密钥环与你存储在计算机上的任何其他内容没有什么不同。

务实的观点:你一直在更改计算机上的内容,如果你关心你的文件,无论如何你都需要一个最新的、自动的和定期安排的备份。这将包括任何更改您的 GnuPG 密钥环(无论是否是重要更改),甚至考虑是否备份一些小文件也不值得付出努力——存储很便宜,如有疑问请备份所有内容。

不太通用的答案:备份您不想丢失的所有内容。如果只是您的密钥,请在每次更改后生成新的备份。如果您关心其他任何事情,请在存储后运行备份。

相关内容