假设我们有一个由一些分布式系统、一个中心系统和一个内部PKI组成的内部环境。中央系统正在为一组HSM服务,这些系统可以通过网络以安全控制的方式访问。在分布式系统中,有不同的应用服务由独立的技术用户运行,它们希望利用中央系统提供的基于硬件的加密技术。分布式系统无法访问本地HSM。
从应用程序服务到中央HSM服务的每一个连接都使用来自内部PKI的证书来通过共同安全的TLS来保护。虽然中央系统的tls私钥可以由本地HSM保护,但应用服务的tls密钥必须是软件密钥,并以某种方式受到本地访问控制系统的保护。
在此设置中,我们关注分布式系统上使用/复制应用程序服务的私钥来对该应用程序的敏感数据执行加密操作的单个恶意管理员。
有什么优雅的方法来防止这种威胁吗?
目前,我们只能想到以下几种方法:
( a)当然,我们可以为每个分布式系统提供本地HSM。然而,对于分布式系统的数量来说,这应该是极其昂贵的,并且还需要为一个更复杂的基础设施建立一个响应性。
( b)有人想以某种方式使用本地TPMs来保护应用程序服务的密钥不受管理员的影响,并将它们隔离开来。我不确定我是否真的理解这种方法,但对我来说,这听起来像是TPM所能做的事情。
( c)应该配置访问控制系统和监视,使从管理员会话访问密钥的任何访问都会引发警报。当然,这也需要一个概念,以减少管理员的权力,使他不能操纵。更不用说如何正确处理此类警报的概念了。
所以我想知道你是否知道这个问题的一个优雅的解决方案。我认为这应该是云计算时代的一个标准问题。也许你还有更多的想法。
谢谢!
发布于 2022-01-07 10:01:14
IMHO,你在寻找一个组织问题的技术解决方案。
如果您不能信任您的管理员,那么他们就不应该拥有管理权限。不同的是,工作人员应该只有必要的私人部门来完成他们的工作。如果某人必须对某个特定操作的秘密数据(这里是一个私钥)进行访问,而且您不希望在其他方面信任它们,那么您所能做的就是确保此私钥不用于您控制的任何其他操作。如果他们能用那把钥匙,那么你应该承认他们可以用它做任何事。即使密钥存储在硬件设备上,大多数加密工具也可以使用硬件设备上的密钥进行文件加密。硬件设备的唯一要点是,密钥不能从他们的个人计算机中复制和使用。
对于加密应用程序的密钥文件的问题,一旦他们对这些文件具有写访问权限,他们就可以这样做。他们自己造钥匙就够了。
换句话说,您应该重新看看线程模型是什么。如果您不希望将密钥携带到系统之外,因为必须防止外部身份验证,那么使用硬件设备是有意义的,但是智能卡或USB设备并不那么昂贵。如果你想阻止有人用那个密钥来加密文件,我真的认为你在追逐错误的兔子.
发布于 2022-01-07 02:23:40
我不知道到底有多少服务器会参与到您的分布式系统中,但在这一点上,我建议您实际上可以为系统中的每一个服务器提供一个HSM。这是可能的,因为事实是,现在有非常小和便宜的HSM,可以潜在地满足您的需要。
例如,您可能想看看YubiHSM 2。它可以插入任何服务器上的任何可用USB端口,并保持密钥的安全。它可能没有网络设备HSM的一些更高级的功能,但是您似乎不需要像上面描述的系统那样的东西。
https://security.stackexchange.com/questions/238320
复制相似问题