HSM 和自定义模块

问题描述 投票:0回答:2

我们正在实施安全关键系统,其中需要符合FIPS 140-2的HSM(硬件安全模块)来生成和存储密钥材料、执行加密/解密并运行自定义代码,并为自定义模块设置以下要求:

  • 模块可通过 RPC 访问
  • 模块有权访问所有 HSM 密钥和服务
  • 模块具有内存和持久存储(均为 1+ MB)
  • 模块内存受到保护(FIPS 140-2 3+ 级)

对于HSM服务本身,需要:

  • 支持AES、RSA和HMAC
  • 有键别名
  • 通过 PKCS11 接口生成带有别名的新密钥
  • 通过 PKCS11 接口检索带有别名的公钥和证书
  • 通过 PKCS11 接口删除带有别名的密钥

由于 NDA,有关 HSM 产品的信息非常少,因此很难评估要求和选项。任何标准或供应商特定的解决方案(例如Utimaco)是否满足这些要求?

security encryption pkcs#11 hsm key-management
2个回答
4
投票

如果您确实需要在 HSM 设备内运行自定义代码,您可以在多个供应商中进行多种选择:

SafeNet ProtectServer(以及 SafeNet Luna 网络/PCIe HSM 自版本 7.4 起)

SafeNet ProtectServer HSM 提供独特的灵活性 应用程序开发人员创建自己的固件并执行它 在 HSM 的安全范围内。称为功能模块, 该工具包提供了全面的工具来开发和部署 定制固件。

泰雷兹 nShieldCodeSafe

大多数 nShield HSM 还支持托管关键数据的独特功能 强化安全边界内的应用程序,因此您可以 除了建立防篡改业务流程 保护加密操作。

Utimaco CryptoServerSDK

CryptoServer 软件开发套件 (SDK) 是专业的 所有 Utimaco 硬件安全模块的开发环境。它 使集成商和最终用户能够创建特定的应用程序, 例如专有算法、自定义密钥派生程序或 在防篡改环境中运行的复杂协议 CryptoServer 硬件安全模块。由于 SDK 提供完全访问权限 根据 Utimaco 基础固件,可以开发定制固件模块 在很短的时间内。


我敢打赌,如果您确实需要 FIPS 140 认证,您还需要验证在 HSM 内运行的自定义代码(因为此类代码非常强大,可以绕过访问控制、以纯文本形式提取密钥……因此它很容易打破任何安全假设)。


您的要求应该可以通过任何产品来满足(甚至无需在 HSM 内运行自定义代码——这取决于您的应用程序所需的控制级别)。

祝你好运!

免责声明:我不是加密专家,所以请验证我的想法。


0
投票

请参阅我在 security.stackexchange 上对此问题的回答:https://security.stackexchange.com/questions/258578/examples-of-custom-key-restriction-policies-for-hsms/258620#258620关于如何/为什么要在商业 HSM 中运行自定义固件、它如何影响认证等进行更长时间的讨论。

© www.soinside.com 2019 - 2024. All rights reserved.