一个非常敏感的应用程序必须保护几种不同形式的数据,例如密码、信用卡和秘密文档,当然还有加密密钥。
作为围绕(标准)加密和密钥管理过程开发自定义解决方案的替代方案,正在考虑购买HSM (硬件安全模块)。
显然,这将取决于(至少部分地)特定的应用程序、公司、数据类型、技术和预算--但是我希望保持这个通用的,所以我把它放在一个高层次的视图中,而忽略了特定的工作流。
让我们假设存在需要加密的秘密数据,我们正在寻找基于硬件的解决方案来管理定制密钥管理的复杂性和可能的不安全性,并减轻对基于软件的加密和密钥的明显威胁。
在比较和选择HSM时,应该考虑哪些因素和标准?每个人的考虑因素是什么?
例如:
要明确的是:我不是在这里寻找产品推荐,而是为了如何评估任何特定的产品。请随意在评论中命名产品,或者更好地在聊天室中.
发布于 2013-05-30 11:51:04
HSM不会避免复杂性,相反,它会给整个系统增加相当大的复杂性。
HSM最擅长的是密钥存储:关键在于HSM,而不是退出它,永远不会。但是,您仍然需要担心关键的生命周期。使用存储在文件或操作系统内部的“软件”密钥,备份是一个漏洞(您不希望该密钥的许多副本在周围浮动)。使用HSM,可以避免此漏洞,但备份成为一个主要问题:丢失密钥也是一个主要风险,特别是对于加密(如果丢失加密密钥,则丢失数据)。因此,这是HSM:备份过程的第一项内容。我对Thales (nCipher) HSM有一些经验,它是这样做的:密钥实际上存储为加密文件(可以像任何文件一样保存),并且可以使用一定数量的管理员智能卡(在新的HSM中)重新构建该密钥的解密密钥。
HSM很少进行批量对称加密。实际上,用HSM进行对称加密没有多大意义:您使用加密,因为数据是机密的。从逻辑上讲,如果需要保密,那么对称密钥就不能离开HSM,那么数据本身也不应该离开它。此外,对称加密意味着加密和解密都使用相同的密钥:如果该密钥在HSM中,那么加密和解密都必须经过它。
HSM更好地与混合加密一起使用: HSM存储和使用非对称加密系统的私钥;当数据被加密时,拥有数据的人生成随机对称密钥K,用K加密数据,用对应于HSM存储的私钥的公钥加密K。从这个意义上说,HSM的运作方式是(超大的,定价过高的) 智能卡。
当然,还有另一个极端,您可以将整个应用程序安装在HSM中。这需要一个可编程的HSM,这是一个完全不同的背景。泰勒斯HSM允许作为一种选择(它称为"CodeSafe“和”见“),他们不会免费赠送.不要期望在其中运行传统代码。HSM有密码加速器,但它们在其他方面是相当有限的嵌入式系统(最好是60 MHz ARM CPU : HSM屏蔽与散热不一致)。您可以在HSM中适应相对复杂的代码(允许这样做),但这是一项特定的编程工作。另外,有些HSM根本不允许这样做。
尽管HSM是昂贵的,但HSM的最大成本是操作:它们需要安装、配置、操作、恢复和退役的许多过程。你需要人。我的主要标准是:程序。一个好的HSM将附带一个详细的使用手册,其中描述了如何做的事情。重要的不是硬件,而是你如何使用它。
认证,如EAL 4+或FIPS 140-2级3级,可能需要用于监管目的.您很少选择是否需要它;这是预期使用上下文中的一个要求。获得这样的认证是一个非常漫长和昂贵的过程,所以你不会自己去做。另一方面,你可能想扩大你的购物范围:如果HSM主要是大型智能卡,智能卡可能可以用来代替HSM。20欧元智能卡可以是FIPS 140-2级3级;它将只计算每秒一个RSA-2048解密,而不是500个解密,但这可能对您来说就足够了。
https://security.stackexchange.com/questions/36664
复制相似问题