符合PCI标准的信用卡号码哈希值

时间:2014-11-21 15:19:19

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

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

因此,在查看存储信用卡号码的PCI要求时,它表示需要信用卡号码的单向哈希值。 第38页 - https://www.pcisecuritystandards.org/documents/PCI_DSS_v3.pdf

然而,它并不能说什么哈希值可以接受?

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

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

3 个答案:

答案 0 :(得分:3)

PCI文档执行指定使用强加密技术'并指向glossary of terms以获取更多信息。

词汇表说明

  

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

但问题是,您需要访问原始卡号才能生成这些哈希值。如果您可以访问原始卡数据,那么PCI合规性的全部重要性就会降低。您不能只是哈希这些数字并希望获得最佳数据,您需要在PCI的各个方面都要遵守,包括保护您的网络符合PCI标准,维护员工的信息安全政策等等。

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

答案 1 :(得分:0)

简单替代方法:使用持久变量,每当需要新的会员编号时,该变量会递增。

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

信用卡号码并非完全随机,这意味着基于字典的暴力攻击比完全随机攻击更容易。正如评论中所提到的,它们会发生变化,并可能导致您在财务规定方面出现法律问题。

答案 2 :(得分:0)

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