【问题标题】:PCI compliant hash of a credit card number信用卡号的 PCI 兼容哈希
【发布时间】:2015-01-19 18:56:57
【问题描述】:

有人询问我是否可以将客户的信用卡号用作会员号。

因此查找存储信用卡号的 PCI 要求,它说需要信用卡号的单向哈希。 第 38 页 - https://www.pcisecuritystandards.org/documents/PCI_DSS_v3.pdf

但是它没有说什么哈希是可以接受的?

所以我真正需要完成的就是将卡号转换为会员号,这将是一个散列的信用卡号。

当我使用专有脚本语言时,最容易实现的哈希是什么。

【问题讨论】:

  • "...如果他们可以使用他们的客户信用卡号有会员号..." 只是没有。告诉他们不,并使用其他不会给你带来麻烦的东西,一旦事情在你的脸上爆炸。
  • 同意 PeeHaa,如果有其他方法可以将高度敏感的数据用于普通目的,请使用其中一种。新卡到期时,卡号也会经常更改。

标签: hash credit-card pci-dss pci-compliance


【解决方案1】:

据我所知,审计员允许令牌(“哈希”)保留最后 4 位,甚至前 6 位和后 4 位数字。再说一次,只要实数触及您的设备,您就处于 PCI 范围内。

【讨论】:

    【解决方案2】:

    PCI 文档确实指定使用“强加密”,并将您指向glossary of terms 以获取更多信息。

    词汇表状态

    “使用经过行业测试和接受的算法 [...] SHA-1 是 行业测试和接受的散列算法的示例。 "

    然而,问题在于您需要访问原始卡号才能生成这些哈希值。如果您可以访问原始卡数据,那么 PCI 合规性的全部重量就会压倒您。您不能只是对这些数字进行散列并寄希望于最好的结果,您需要在 PCI 的各个方面合规,包括保护您的网络符合 PCI 标准、维护员工的信息安全策略等等。

    最佳做法是完全避免卡片数据通过您的网络或系统。让第三方提供商管理并返回令牌 ID。然后,您可以安全地将令牌 ID 映射到持卡人。

    【讨论】:

      【解决方案3】:

      简单的替代方案:使用一个持久变量,每次需要一个新的成员编号时都会递增。

      你也可以使用随机数,但你必须确保它没有被使用过。

      信用卡号并不是完全随机的,这意味着基于字典的暴力攻击比完全随机的更容易。正如 cmets 中所述,它们会发生变化,并可能在财务法规方面给您带来法律问题。

      【讨论】:

        猜你喜欢
        • 2011-05-17
        • 2011-05-25
        • 1970-01-01
        • 2018-03-20
        • 1970-01-01
        • 2014-03-01
        • 2012-04-22
        • 2010-11-28
        • 1970-01-01
        相关资源
        最近更新 更多