14

我正在研究密钥管理解决方案以符合 PCI 标准。我已经与该领域的许多供应商进行了交谈,虽然我喜欢他们的产品,但成本超出了我的预算。有人知道密钥管理的任何开源或低成本解决方案吗?我使用 Windows/.NET 环境,因此我更喜欢针对该环境的解决方案,但是我有兴趣了解那里的任何内容。

谢谢

4

6 回答 6

7

看看KeyManager,它是 OpenStack 套件的关键管理组件。该应用程序可以用作 OpenStack 之外的独立密钥管理解决方案。

作为 OpenStack 的一个组件,KeyManager 正在积极开发中,新功能计划以六个月为周期。

于 2014-11-19T04:20:22.337 回答
5

我们和你有过类似的经历。我们需要一个用于 PCI 合规性的密钥管理解决方案,而我们看到的所有商业产品都太贵了。对于小客户来说,一些关键经理的成本比我们的产品还高!

我们最终制作了一个基于软件的密钥管理器。我们提出要求,离岸开发人员对其进行编码。有一次,他们正在寻找其他客户来使用它。我不知道他们是否还在。

让我解释一下我们探索的选项。首先要记住的是,PCI 合规性和安全性是不同的东西,你可以是 PCI 合规的,但不是很安全。

选项 0 - 为每个 DB 列分配一个键,并将键存储在 DLL 文件中。您的应用程序链接在 DLL 文件中以访问用于加密和解密数据的密钥。没有人知道钥匙。对于定期密钥替换,您使用新密钥创建一个新的 DLL,使用旧密钥解密所有数据并使用新密钥重新加密数据。然后使用带有新密钥的新 DLL 重新启动您的应用程序。(请注意,如果您考虑恢复数据库备份,则需要保留旧密钥。)

我第一次听说选项 0 时,我很惊讶它符合 PCI 标准。我们不使用选项 0。

改进选项 0 的方法。

如果您的环境中有 HSM,请使用 HSM 加密 DLL 文件中的密钥。当您的应用程序启动时,它将使用 HSM 解密密钥。如果您想要更高的安全性,请在每次需要时解密密钥。

加密密钥后,将它们存储在数据库表中是安全的。如果您为每个密钥(旧的和新的)分配一个小的整数密钥 ID,则可以将密钥 ID 与加密数据一起存储。这使您可以进行增量密钥替换并避免停机。

在许多进程中将您的密钥清晰地保存在内存中,会增加您遭受内存扫描攻击以查找密钥的风险。您可以创建一个新进程,该进程是唯一解密密钥的进程。您的应用程序与这个新流程对话以加密和解密数据。这种新工艺应该在一个“表面积”很小的盒子上进行保护。由于敏感数据现在正在通过网络传输,因此应该对这种通信进行加密。SSL 是一个不错的选择。

于 2012-12-09T18:47:03.383 回答
5

我意识到这是一个旧线程,但有几个选项:

  1. 一个完全免费的开源密钥管理解决方案位于http://sourceforge.net/projects/strongkey。我承认,该软件有点过时并且设置起来相当复杂,因为它假设您有一个 PKI 来向应用程序客户端颁发数字证书,以便与密钥管理服务器进行通信,并保护客户端设备上的密钥。
  2. 三年前,最初的 StrongKey 软件被大幅简化,并集成到带有加密硬件模块(TPM 和 HSM)的设备中,以提供更强大的密钥管理。不幸的是,尽管设备上的软件都是 FOSS,但集成解决方案本身并不是免费的 - 其价格列在其网站 ( http://www.strongauth.com/products/key-appliance.html ) 上。

但是,选项 #2 有很多优点,因为它允许您在完全符合 PCI 的同时利用公共云(搜索“Regulatory Compliant Cloud Computing (RC3)”并单击 IBM 上的链接 - 我只能发布两个链接在我的回答中)在旧金山举行的 RSA 2013 上发布了更多关于如何利用此设备的公告。

我希望这会有所帮助。

于 2013-01-28T00:35:03.767 回答
5

KLMS over KMIP 是很好且易于使用的密钥管理解决方案。这是一个用 Java 编写的开源解决方案。请参阅以下链接以供参考。http://www.ibm.com/developerworks/library/se-kmip4j/

名为 stubInterface 的包将包含使用 KLMS over KMIP 所需的所有 api。

KLMS : 关键生命周期管理系统

KMIP : 密钥管理互操作性协议

于 2015-05-05T10:04:34.743 回答
3

我将添加到此列表中,因为我在搜索中找到了它,其他人可能会从扩展列表中受益。

我最近发现了似乎是 alpha 的KeyWhiz 。

于 2015-04-15T18:40:36.740 回答
0

SNipeit 是我见过的最好的开源软件,非常健壮且非常易于使用,即使对于非技术人员也是如此。

https://snipeitapp.com/demo/

看看那里。

于 2015-09-03T14:14:01.920 回答