4

我觉得我错过了什么。我知道 HSM 可以为您的密钥、加密数据等提供 100% 的防弹保护。但是,在您访问 HSM 并将您的机密复制到用户内存后,如何防止攻击者窃取您的敏感数据?或者例如,只是使用相同的 API 来访问模块?应用程序身份验证如何工作?如果它基于简单的东西,比如密码,为什么攻击者不能从内存中窃取密码,登录到 HSM 并得到他想要的?另外,如果内核被入侵,我认为它可以监听或篡改进程和 HSM 之间的任何通信,对吗?

4

2 回答 2

5

您对此的担忧是对的 - HSM 不是万能药,能够对 HSM 进行身份验证和使用 HSM 的受感染服务器是一个真正的风险,正如 Diginotar 巧妙地证明的那样

应用程序身份验证如何工作?

不同的 HSM 提供不同的身份验证选项,例如物理令牌(如智能卡)、物理引脚条目、逻辑令牌(在内存密钥中)、用户定义的自定义解决方案等。

但是,在您访问 HSM 并将您的机密复制到用户内存后,是什么阻止了攻击者窃取您的敏感数据呢?

理想情况下,当使用 HSM 实施解决方案时,敏感密钥永远不会暴露在 HSM 之外——您让 HSM使用密钥(例如进行签名/加密),而不是让 HSM 为您提供密钥。

登录 HSM 并得到他想要的?

HSM 允许您保护密钥,这样就无法从 HSM 中导出它们(即使您拥有用户/管理员的所有凭据)。

另外,如果内核被入侵,我认为它可以监听或篡改进程和 HSM 之间的任何通信,对吗?

是的; 应用程序和 HSM 之间可能存在受密码保护的通道,但最终,具有受损内核的机器应被视为攻击者控制的机器 - 机器可以合法执行的任何操作,攻击者都可以非法使用。

于 2013-02-09T20:11:49.770 回答
1

总体而言,HSM 是一种用于生成、存储和保护您的密钥的物理设备。

现代密码学最大的噩梦是密钥妥协,而 HSM 是对抗它的正确解决方案。HSM 通常用于大型组织和金融部门。人们选择使用 HSM 的另一个原因是出于审计或合规性要求(例如 PCI-DSS)

HSM 通过使用令牌(例如,智能卡)或密码短语对密钥加载提供多因素身份验证。即使您已经获得了连接到它的服务器的访问权限,如果没有获得所有因素,您仍然无法获得对密钥的访问权限。

对于密码窃取部分,有一些 E2EE 密码保护方案,厂商将密码认证逻辑构建到 HSM 安全内存中,因此解密后的凭证只能在 HSM 内部使用,应用程序只知道认证结果。通过这种方式,密码始终受到很好的保护。

于 2014-09-02T09:45:05.957 回答