非常大的公司如何管理他们最重要的密码/密钥?

信息安全 密码 密码管理 秘密管理
2021-08-30 03:07:51

第三方密码管理器如 1password 等对人、企业等存储密码很有用。但我敢打赌,Facebook、谷歌、Twitter 和其他超级大型科技公司不会将此类第三方服务用于他们的内部密码,而是拥有自己的密码管理器来处理他们最关键的密码。

一家非常大的公司如何管理一些世界上最敏感的密码?(例如:Gmail 团队根访问密码!)

即使使用最先进的密码管理器,您仍然会遇到密码的问题。

是否应该在几个值得信赖的人之间分享?或仅由 1 或 2 人保管(那么万一发生事故怎么办?)

大公司是否知道使用Shamir's Secret Sharing 的实现?

更一般地说,大公司用来管理其最敏感密码的众所周知的方法是什么?(即密码如果丢失,可能会造成数百亿美元的损失)


注意:我不是在谈论每个员工通常的登录密码,而是更多关于公司最重要的密码/加密密钥/私钥/root密码等,即如果丢失/泄露将产生非常严重后果的密码。

示例(我相信您可以帮助我找到更好的示例...):

  • 对于像 Facebook 这样的公司,如何保存设置www.facebook.com的 DNS 记录的“管理面板”的密码?

  • 像 Coinbase 这样的公司如何保存其冷库账户的私钥?(可能价值数十亿美元?)如果多人拥有它们,那么某人变得疯狂并带着钥匙逃跑的可能性很高。另一方面,如果只有一个人拥有它们(例如 CEO),那么当他不再活着时,公司(及其客户的账户)突然价值 0 美元。

4个回答

一般来说

这个问题并没有真正的答案,我不一定认为“大公司”是具有不同方法的独特事物。当然,您提到的特定公司有自己的做事方式,但最能回答这些问题的人是这些公司的员工。

至于大公司,它们的差异太大了,即使对于“科技”公司也是如此。有些人对安全和技术使用采取自上而下的方法,有些则不这样做。有些人非常关心安全性,而许多人则不关心。一些公司更喜欢构建自己的工具,而许多公司更喜欢使用 3rd 方系统,而不是每次都重新发明轮子。

此外,它在企业内部可能会有很大差异。组织内部的不同部门可能有自己的方法,部门内部的不同团队也可能做不同的事情,当然个别员工也可能经常做自己的事情。同样,这在很大程度上取决于技术选择是自上而下还是自下而上。

一个例子

我工作的公司是一家规模更大(约 12,000 名员工)的国际电子商务公司。我们对大多数内部事务使用单点登录 (SSO),但仍为员工提供带有在线密码管理器的帐户。这旨在用于员工在工作过程中必须注册的所有其他网站,他们无法使用我们自己的 SSO(也称为互联网的其余部分)登录。该公司还为每位员工购买了带有密码管理器的“个人”帐户许可证,主要是希望它可以鼓励人们不要将个人密码存储在他们的公司帐户中。

在实践中,这种用法因“部门”而异,有的几乎 100% 被采用,而其他业务领域则很少使用它,并且有自己喜欢的存储重要机密的方法。

当我离开时,Facebook 身份验证主要关注多因素身份验证。Facebook 和谷歌都投资购买了 Yubikeys,谷歌继续开发 U2F,后来成为 FIDO。服务器访问基于签名的 SSH 证书颁发。有一个“break glass” ssh 密钥,它物理存储在保险箱中,还有一些“超级堡垒”主机,可以在网站严重失败以至于人们开始报警时使用。然而,IP 范围和 DNS 记录可以像从 git 存储库中自动应用配置一样简单。Facebook 的 DNS 更改很频繁

几乎所有访问都基于常规用户身份,但通常带有层。可以使用需要证书和签名质询的 VPN 连接,其中密钥存储在计算机的安全飞地中,这样如果涉及分配给我的计算机,您只能使用我的凭据访问系统。

在使用 AWS 的小型公司中,我通过将密码和 2FA 机密放入 Vault 并使用 Vault 的内置 SSS 根密钥分发进行备份来实施 AWS 根访问控制。每次访问都会被审计记录,因为您需要轮换的 2FA 代码(Vault 不会让您读出秘密,只有令牌值),除非您合作获取备份(由一个团队管理)和必要的勾结的其他员工。

我为 1Password 工作。

我们确实有许多大公司在使用 1Password,但我们不会在未经客户明确许可的情况下谈论我们的客户。另请注意,我们无法看到存储在哪里,因此我们无法从我们所看到的内容中真正推断出他们如何处理您提出的一些非常好的管理问题。但是,我们有时会与客户的安全团队就此类事情进行讨论。

有些晦涩难懂

需要注意的一件事是,虽然通过默默无闻的安全性通常是一件坏事,但您提到的一些细节最好保持沉默。例如,如果一个组织正在使用 Shamir Secret Sharing,那么您可能不希望公开谁持有股份以及需要多少股份。

所以我不会告诉你谁是我们 1Password 帐户的管理员,也不会告诉你他们如何管理自己的主密码和密钥。我也不会详细说明我们的业务连续性计划的各个方面,这些计划是为了处理那些被公共汽车撞到的人。这些都经过深思熟虑并得到很好的保护,但我不想把目标放在任何人的背上。(当然你可以猜到,其中一些猜测甚至可能是正确的。)

恢复功率分配

如果您是使用 1Password 的企业,您可能想要做的一件事是尝试确保限制在 1Password 中拥有恢复权和在组织内控制电子邮件的人数。我不想深入了解用于帐户恢复的所有密钥管理的血腥细节,只是要注意,我们 1Password 从来没有能够这样做的密钥,但如果 Alice 两者都是正确的包括 Bob 的 1Password 团队的管理员,她可以阅读 Bob 的电子邮件,然后她有权接管 Bob 在该团队中的 1Password 帐户。(虽然不是以 Bob 看不见的方式。)请注意,这记录在我们的安全设计文档中。

因此,一些组织可能希望限制同时拥有这两种权力的人。对于较小的组织来说,这是一个比较大的组织更大的问题。在较小的公司中,您将拥有较小的 IT 团队,因此可能需要执行帐户恢复的人员也可能是组织电子邮件地址的经理。顺便说一句,这也是我们为企业帐户成员提供免费家庭帐户的原因之一。雇主无权对员工家庭账户中的数据进行任何恢复或访问。

更细粒度的管理权限

成为团队恢复组的成员意味着某些密钥已加密为您的公钥。有大量管理任务不需要成为恢复组的成员。例如,企业可以安全地自动配置和取消配置用户,而无需访问或解密恢复组密钥。

一般来说,我们试图让组织更容易(或至少不会太痛苦)遵循管理 1Password 用户所涉及的权力的最低权限策略。

Shamir 秘密共享、HSM 等。

1Password 不(还没有?)提供这项技术。但我有理由相信,我们的一些客户为了一些主要秘密而自己这样做。同样,我有理由相信我们的一些客户正在使用 HSM 来解密一些主机密。

我相信他们在 1Password 工具本身之外这样做是一件好事。我们可以做更多的事情来提供挂钩以使这种集成更容易,但是密钥管理应该通过其他一些系统。

我也很想更多地了解我们的客户对此做了什么,因此我期待得到以下答案。但与此同时,我认为这是政策和实践的问题,有些模糊是有用的。

你提到了私钥。对于这些,一种众所周知的方法是使用硬件安全模块(HSM)。与基于芯片的信用卡一样,它们将钥匙保存在无法打开的盒子内,并将盒子存放在安全的位置。访问盒子的签名功能(当然,不泄露密钥)也可以通过电子方式保护,例如您的信用卡需要 PIN 码。如果您需要经常使用密钥,盒子可以直接插入服务器,或者它们可以离线存储。

HSM 通常只是一个更大的基础设施的一部分,用于保护密钥同时仍然能够使用它们,但公司并不热衷于详细展示它们的工作方式。IANA 虽然不是一家很大的公司,但对此非常开放。它“拥有”非常重要的钥匙。他们的根密钥签名密钥仪式录制视频,并在网上发布视频,作为其与公众建立信任的程序的一部分。HSM 存储在保险箱中,并且仅连接到相当受信任的设备(计算机上的只读操作系统,也存储在保险箱中)。签署密钥大约需要 3 个小时,因为需要执行许多步骤才能将最初存储在 USB 密钥上的签署请求数据安全地传送到 HSM,然后再将签署的数据恢复到 USB 记忆棒上。最后,这个过程需要几个不应该相互信任的人的物理存在。