软件安全模块/工具包,替换了用于开发加密功能的HSM

问题描述 投票:8回答:5

我工作并完成了一个PKI项目,该项目使用HSM生成-存储密钥并执行加密功能。我使用PKCS#11与我们的应用程序交互以进行sigin /验证和加密/解密。我们的平台是Windows。

现在,我们正在寻求通过用软件安全模块替换HSM来提供一种低成本的替代解决方案。我必须在这里指出,我知道不使用HSM的缺点。在安全性与成本之间进行权衡。

我发现Microsoft提供了下一代CryptoAPI(CNG),密钥存储和证书服务。我的高级管理层不倾向于使用开源软件。我还发现了RSA和加密数学提供的工具包,可以执行基于软件的解决方案。

有人遇到任何商业软件安全模块工具包来执行密钥生成,密钥存储和加密功能吗?

编程语言-c / c ++

谢谢

Raj

security encryption cryptography hsm
5个回答
2
投票

您最好的选择应该是找到一个软件PKCS#11库。市场上应该有几种实现方式-我知道我工作的公司出售了一种。这样,您仍然可以切换回兼容PKCS#11的HSM,并且对应用程序的必要修改应该很小。

您的其他选项是Microsoft的CryptoAPI或CNG或RSA,Cryptomathic或其他供应商的工具包。这可能需要更多的工作来重写应用程序-除了CryptoAPI和CNG是免费的之外,我看不到此选项的任何优势。


9
投票

您可以使用SoftHSM,它是纯软件PKCS#11的实现。如果没有真正的HSM,OpenDNSSEC项目正使用它来交换掉它,因此它也可能对您有用。但是,它是BSD许可的,因此我想您的管理层可能不喜欢它。

如果您正在寻找低成本且商业化的产品(我不确定您是在专门寻找专有的东西,即CryptoAPI还是在寻求商业支持的东西,而CryptoAPI则不是,除非您拥有对Microsoft而言),重写您的应用程序以使用Win32 CryptoAPI对我来说似乎是唯一可行的选择。根据我的经验,RSA的工具包并不便宜。


2
投票

我有一个客户使用了Mozilla NSS随附的软件PKCS#11实现来替代HSM。它们在Linux上使用ruby-pkcs11,因此您的工作量可能会有所不同。


1
投票

看看LSM-PKCS11的http://www.openssl.org/related/kits.html。那可能是一个解决方案。


0
投票

我正在测试一种名为Vault from Hashicorp的解决方案,该解决方案类似于SSM(软件安全模块),可以保护密钥和加密操作。它具有可以在“开发人员模式”(用于测试和编程)中使用的服务器,以及可以在最终环境中使用的非常严格的“生产模式”。基本解决方案是开放源代码,如果您还需要其他东西,则可以使用“企业解决方案”来提供更多灾难恢复,备份,复制等方法。

他们正在使用以下确切的词提供解决方案:“管理机密并保护敏感数据,使用UI,CLI或HTTP API保护,存储和严格控制对令牌,密码,证书,加密密钥的访问,以保护机密和其他敏感数据。”

下载并测试。

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