2014-11-21 73 views
0

有人询问我是否可以将其客户的信用卡号码用作会员号码。PCI符合信用卡号码的散列号

因此,查找存储信用卡号码的PCI要求,它说,信用卡号码的单向散列是必需的。 Page 38 - https://www.pcisecuritystandards.org/documents/PCI_DSS_v3.pdf

它不会说什么哈希是可以接受的吗?

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

什么是最简单的散列实现,因为我正在使用专有的脚本语言。

+3

“......如果他们可以使用他们的客户信用卡号码有会员号码......”只是没有。告诉他们不要,并且使用别的东西,一旦事情在你脸上爆炸,就不会让你陷入麻烦。 – PeeHaa 2014-11-21 15:22:28

+0

同意PeeHaa,如果有其他选择使用高度敏感的数据用于世俗目的,请使用其中的一种。当新卡在到期时发卡时卡号也会频繁变化。 – 2014-11-21 16:48:28

回答

0

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

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

信用卡号码并非完全随机,这意味着基于字典的暴力攻击比完全随机更容易。正如评论中提到的那样,它们会改变,并可能会导致您在财务条例方面遇到法律麻烦。

3

PCI文档指定使用“强大的密码学”,并指出你到glossary of terms欲知更多信息。

词汇状态

“使用行业测试和接受alogorithms [...] SHA-1是一种工业测试和接受散列算法的 的例子。”

的麻烦的是,您需要访问原始卡号才能生成这些哈希值。如果您有权访问原始卡数据,那么PCI合规性的全部权重就会降低。你不能只是散列这些数字并希望得到最好的结果,你需要遵守PCI的各个方面,包括保护你的网络符合PCI标准,为员工维护信息安全策略等等。

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

0

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