如何正确进行私钥管理

sip*_*wiz 48 security cryptography key-management pci-dss

有没有人获得实践经验或参考实施符合PCI DSS安全标准的密钥管理方案的方案?

鉴于符合PCI DSS的公司数量,但显然有很多实现,但试图找到它们的细节是很困难的.当它归结为存储私有数据时,讨论通常会停止使用哪种加密算法.在此之后,通常会有关于正确存储私钥的声明,但没有讨论实际的方法,或者定期更改密钥或为应用程序提供密钥等.

具体而言,我对PCI DSS标准第3.5和3.6节的要求感兴趣.

3.5.2以尽可能少的位置和形式安全地存储加密密钥.

3.6.a验证用于加密持卡人数据的密钥是否存在密钥管理程序.注意:密钥管理的众多行业标准可从包括NIST在内的各种资源获得,可在http://csrc.nist.gov上找到.

3.6.4确认密钥管理程序的实施至少每年要求定期更改密钥.

我已经看过NIST Cryptographic出版物,正如PCI DSS要求文件所暗示的那样,但除了最近的加密密钥管理研讨会的注释之外,似乎没有太多真正可实现的方案或标准.

至于我想要做的事情不是:

  1. 将密码+盐存储为单向哈希进行身份验证,
  2. 选择强大的symmteric算法进行数据加密,
  3. 首先避免需要存储私人数据.
  4. 避免使用其他机制进行密钥管理:物理安全性,数据库安全性,龙和向导等.

所有这些都是有效的问题,但在这种情况下不是答案.我的要求的细节是一个不同的SO问题.Net设计模式,用于存储和检索敏感的每个用户数据,但这一切都归结为密钥管理,因此这个更精确的问题.

Pau*_*ulG 35

我很熟悉你经历的痛苦.我们努力更新旧的EFT系统以实现PCI合规性.密钥管理当然(从我的软件角度来看)是最具挑战性的部分.

我想我也偶然发现了马丁发布的NIST关键管理建议,并且由于缺乏具体的例子而感到非常沮丧.

ANSI X9.17 -使用PCI-DSS,金融机构密钥管理可能与您的需求最相关.祝你读好运,该文件是TLA的大量集合,我知道我当然难以阅读.(X9.17每年更新,最新版本现在:NIST SP 800-57 Pt.1 Rev. 4)

当沮丧转向绝望时,我偶然发现了电子货币厂,这是一个虚构的故事,有大量相关的技术参考.第17章讨论X9.17并可能有助于理解.

从所有这些参考资料中,我设计了一个我们的审核员满意的关键管理系统.设计文档相当冗长,但总的来说,您的想法是您的数据加密密钥受密钥加密密钥保护,密钥加密密钥存储在物理上独立的盒子上,盒子本身受主密钥保护.

我的实现是在Windows机器上运行密钥服务器应用程序.此应用程序需要输入两个单独的"密钥服务器主密钥"才能使用它.这些密钥只有密钥服务器管理员才知道.将这些密钥放在一起以生成主密钥,该密钥在应用程序运行时仅存储在受保护的内存中.然后,应用程序可以自动生成加密强密钥加密密钥,这些密钥使用主密钥以加密形式存储.

需要加密的应用程序将从密钥服务器请求密钥加密密钥.应用程序使用KEK来加密/解密数据加密密钥,该密钥可以与应用程序数据一起安全地存储.

祝好运.我希望你也发现这是一个有趣的挑战!

  • 电子货币磨机不再出现在原始链接上.FWIW,我在Wayback Machine中找到了它的PDF副本:http://web.archive.org/web/20070712172633/http://www.msen.com/fievel/mmill/book.e1.pdf (8认同)

Mar*_*wis 7

您是否看过NIST SP 800-57,密钥管理建议?