这是一种存储信用卡的安全方式吗?

时间:2013-07-29 04:19:57

标签: credit-card pci-compliance

基本上我正在处理信用卡处理的网站。 但是当我收到交易/收费时,我想将有关信用卡的信息存储在数据库中。

现在,我一直在考虑存储前4个和后4个数字以及到期日期。 但我不会将它存储在计划文本中,我已经创建了自己的加密方法。

这样安全吗?

2 个答案:

答案 0 :(得分:4)

足够安全吗?让我想想。嗯,我希望你能够考虑过去几年发生的大量数据泄露事件,这些事件来自人们认为安全的网站。

像Sony,NHS,EverNote,Yahoo,Ubisoft,Apple,Blizzard甚至NSA(你会认为最适合保护自己的信息)的网站。来自here

enter image description here

此外,您自己开发的加密技术不太可能经受住确定的攻击。<​​/ p>

但真正的问题是:为什么需要信息?这些信息确实属于卡的所有者,任何存储它的网站都会降低该所有者的安全。对于客户使用不同的标识符可能更好,并且如果您需要知道他们使用多少种不同的卡,则可以为卡号存储不可逆的哈希值。虽然散列会在卡号的整个搜索空间中发生冲突,但单个客户内发生冲突的可能性要小得多。

您可能还会发现,立法会限制您可以存储的内容,具体取决于您所在的辖区。

答案 1 :(得分:0)

从PCI Compliancy的角度来看,只存储前四个,最后四个是纯文本。 PCI实际上允许前六位数字的纯文本存储(这称为IIN或发行方标识符范围),后四位数(最后一位数字是校验和)。

这些类似于打印收据的标准,允许打印前六位和后三位数。

你的问题确实可以理解。如果您(或您的系统)可以访问完整的卡号,那么您就属于PCI-DSS的范围。监控和维护合规性可能非常耗时且成本高昂,尤其是在您的合规性必须由第三方QSA(合格安全评估师)进行验证的情况下。

更好的方法是使用已经符合PCI标准的支付网关。他们将能够执行卡授权/结算,并返回一个令牌ID和/或卡号的哈希值,可以安全存储在您的数据库中。