我们正在尝试为我们公司的安全团队创建一个安全的通信通道,并且在我们的网站上公开显示 PGP 公钥是一件好事(就像 Apple 和 AWS 所做的那样)。问题是,密钥需要与整个团队共享。
考虑到密钥管理问题,与整个团队“共享”PGP 私钥的正确方法是什么?苹果、AWS等一些公司是如何做到的?
我们正在尝试为我们公司的安全团队创建一个安全的通信通道,并且在我们的网站上公开显示 PGP 公钥是一件好事(就像 Apple 和 AWS 所做的那样)。问题是,密钥需要与整个团队共享。
考虑到密钥管理问题,与整个团队“共享”PGP 私钥的正确方法是什么?苹果、AWS等一些公司是如何做到的?
严格来说,你没有。单个 PGP 密钥用于单个地址/身份。
在实践中,您将需要某种形式的重新加密过程。
邮件列表守护进程可以监控“securityTeam@foo.com”的传入邮箱,它可以访问该地址的私钥,以及访问列表成员的公钥密钥环。
当 pgp 加密的电子邮件进入时,守护进程将解密该消息,然后将其重新加密到其密钥环中的每个公钥,并将消息的副本发送给列表的每个成员。
这还具有将列表成员与面向公众的单个 PGP 密钥断开连接的优点。
例如:如果有人被添加到或离开应该有权访问的团队,只需将他们的公钥删除或添加到守护程序的密钥环中。一个成员的密钥不知何故被泄露,只需更换那个。您必须更改面向公众的密钥,只需更改它,所有成员都会保留自己的密钥。
如果出现上述一个或多个示例,任何一种字面上的“共享”解决方案都会出现问题。
当然,安全团队中的某个人仍必须负责此电子邮件守护程序的 DevOps 维护。
PGP 私钥永远不会与任何人共享,因为它将帮助任何人解密使用您的公钥加密的消息。
假设你和我正在公共网络上谈论一些秘密。我将使用您的PGP公钥加密数据并通过网络将其发送给您,但为了解密电子邮件,您必须使用您的私钥解密电子邮件。
但是如果我是你并且想要整个团队的 PGP 密钥对,我会首先要求团队的每个成员向我发送他们的公钥,然后我会使用这些公钥来加密私钥,这意味着与团队共享并通过电子邮件发送加密的内容。在这种情况下,除了所需的团队成员之外,没有人能够看到实际的私钥。
希望你明白我的意思。
在我的公司,我们确实在监控收件箱的两个人之间共享 PGP 密钥(团队中的其他成员没有密钥)。我们每个月只报告 2-3 个安全问题,因此不需要任何更复杂的问题。然后将解密的消息转发给适当的人。
如上所述,密钥与身份相关联,在这种情况下,身份是公司的漏洞管理团队。
上面的回复似乎只考虑了接收电子邮件,您还必须考虑发送电子邮件以及您通常需要与查找者进行保密对话。