代码之家  ›  专栏  ›  技术社区  ›  Gromer

SQL Server 2008+PCI合规性?属于PCI,以及对称密钥!

  •  3
  • Gromer  · 技术社区  · 16 年前

    我以前从未处理过PCI合规性问题。我一直在阅读他们的文件,上面说我需要保护信用卡号、有效期和持卡人的姓名。从未存储过安全代码。

    如果我需要对所有三列进行加密,我是共享一个证书并拥有3个对称密钥,还是只需要每个对称密钥中的1个,并且在所有3列上都使用该对称密钥?我询问的原因是在关于加密列的BoL文档中,密钥是以他们加密的列命名的。

    2 回复  |  直到 16 年前
        1
  •  10
  •   PaulG    16 年前

    如果您存储PAN(卡号),则绝对必须对其进行加密。

    应该

    CV2/AVS/CSC代码不能在授权后存储,理想情况下,您希望证明它根本没有存储(例如-仅在执行授权时保存在内存中)

    关于证书/密钥-您可以只使用一个密钥加密所有与卡相关的数据。最佳做法是不要将密钥用于多种目的,因此,如果您有其他(与卡无关的)加密数据,请使用单独的密钥。

    最困难的部分是你没有真正详细提到的,那就是关键管理。为了满足PCI要求,密钥必须存储在数据库的单独物理框中,并且您需要至少每年更改密钥的能力。SQL 2008支持这一点 Extensible Key Management (EKM)

    所有这些问题最好与独立的QSA(合格的安全评估员)讨论,为了满足PCI合规性,您在某个时候需要与QSA(合格的安全评估员)进行讨论。您的QSA将能够在此类问题上为您提供指导,并最终提供他/她的建议,以便您遵守这些建议。

    值得一提的是,大多数人很快就意识到PCI合规性会带来多大的负担,并希望通过使用第三方支付网关将这一负担降至最低。大多数支付网关将允许您执行授权/结算,并将卡的详细信息存储在其(已符合PCI)服务器上。然后,如果您需要在该卡上执行进一步的收费/退款,您只需要存储一个引用这些付款详细信息的TokenId。

    祝你好运!

        2
  •  2
  •   Community Mohan Dere    6 年前

    https://www.pcisecuritystandards.org/security_standards/pci_dss.shtml

    要求3:保护存储的持卡人数据

    加密、截断、屏蔽和散列等保护方法是持卡人数据保护的关键组成部分。如果有入侵者 那个人用不上。应将保护存储数据的其他有效方法视为潜在的风险缓解机会。对于 需要,并且不在未加密的电子邮件中发送PAN。

    我认为这强烈建议你应该

    1. 除非有必要,否则不要储存
    2. 如果有必要,尽可能储存一个零件
    3. 如果您存储了任何内容,请对其进行加密。
    推荐文章