我们正在努力实现 SAQ-D PCI 合规性,并且我们每天都在发现新事物。今天:密钥管理
我想知道是否有任何可用的开源或商业 PHP 解决方案可以实现符合 PCI DSS 安全标准的密钥管理方案?
我们将存储卡并需要具有符合NIST SP 800-57的加密密钥。我一直在搜索,但找不到任何示例代码甚至一个有效的密钥。
我们正在努力实现 SAQ-D PCI 合规性,并且我们每天都在发现新事物。今天:密钥管理
我想知道是否有任何可用的开源或商业 PHP 解决方案可以实现符合 PCI DSS 安全标准的密钥管理方案?
我们将存储卡并需要具有符合NIST SP 800-57的加密密钥。我一直在搜索,但找不到任何示例代码甚至一个有效的密钥。
NIST SP 800-57 是一个很长且非常通用的标准,主要适用于关键用途、长度、寿命和其他通常独立于所用应用程序的细节等细节。也许您应该查看该标准文档,确定与您的应用程序相关的要求,并缩小您的问题范围以反映您的应用程序需要实现的特定要求。
请注意,找到专门为实现密钥和密码管理最佳实践而编写的应用程序并没有什么意义,因为密钥和密码管理需要集成到实际使用密码和密钥的应用程序中,而不是一个标准的单独解决。因此,目前还不清楚专门用于强制执行密钥生命周期、长度等的应用程序实际上会做什么,以及它将如何适应您的一般工作流程。
此外,关键管理实践与应用程序的配置、使用和部署有关,与代码本身有关,而且可能更多。
虽然 PCI DSS 没有明确要求密钥管理符合 NIST SP-800-57,但它确实参考了 NIST 和该领域的其他国际标准(请参阅 PCI DSS 词汇表和导航指南)。部署经过 NIST 认证的密钥管理解决方案对于遵守 PCI DSS 大有帮助。最低限度您应该寻找密钥管理器的 FIPS-140-2 验证。可以在此处找到经过验证的供应商解决方案:
http://csrc.nist.gov/groups/STM/cmvp/documents/140-1/140val-all.htm
您需要谨慎对待供应商关于 FIPS-140-2 合规性的声明。密钥管理组件仅通过 FIPS-140-2 认证是不够的。如果供应商的解决方案不在 NIST 网站上,则它未经 NIST 验证。
PCI DSS 参考了其他关键管理最佳实践,例如双重控制、职责分离和知识分离。这些在 PCI DSS 导航指南中得到了很好的描述。非常值得快速阅读。这些概念也来自 NIST 出版物和安全最佳实践。