存储部分信用卡号码

Joe*_*oel 21 payment credit-card pci-dss

可能重复:

  1. 使用PHP获取和存储信用卡信息的最佳实践
  2. 存储信用卡详细信息
  3. 存储信用卡信息

我需要在电子商务网站中存储信用卡号码.我不打算存储整个信用卡号码,因为这样做风险很大.我想存储至少前五位数字,以便我以后可以识别发卡的金融机构.理想情况下,我希望尽可能多地存储信用卡号码,以帮助任何未来的交叉引用等.

我可以安全存储多少位数和哪些特定数字?

例如,我想这不够安全:

5555 5555 555* 4444
Run Code Online (Sandbox Code Playgroud)

因为你可以计算缺失的数字.

同样,这是安全的,但不是很有用:

5555 5*** **** ****
Run Code Online (Sandbox Code Playgroud)

是否有一个公认的模式来存储部分信用卡号码?

小智 39

支付卡数据安全标准规定,如果您正在处理持卡人数据,那么您将受到PCI DSS的限制(这是非常全面的,也是一个要遵守的挑战).如果您想存储部分卡号,并且不想处理标准,那么您需要确保a)您存储的数量不超过前6位和后4位 ; b)你不会存储,处理或传输超过这个.这意味着必须在数据进入控件之前执行截断.

鉴于您正在谈论电子商务网站,我认为您迟早要处理PCI DSS(因为如果您没有采用完整的PAN,则无法处理交易).实际上,你应该避免存储超过PAN的前6位和后4位数; 标准然后不关心这些数据,你可以以你认为合适的任何形式存储它.如果您存储前7位数字,那么标准的要求3就会启动(并且您必须真正理解加密中的密钥管理).

我希望这是有用的.

  • 任何人都有这方面的实际参考?例如"标准然后'不关心'这个数据"...... (2认同)

mjv*_*mjv 5

2013年3月编辑PCI安全标准委员会
是一个非常相关的资源,该委员会由五个最大的全球信用卡品牌(AmEx,Visa,MasterCard,JCB International和Discovery)于2006年成立,是事实上的安全管理机构对于支付卡行业(PCI)至关重要。
该组织特别发布了PCI数据安全标准,当前版本为2.0版,其中涵盖了诸如管理完整或部分信用卡号的问题。该文档可免费获得,但需要简单的注册和许可条款确认。

以下为原文,c。2009年的答案,多数是正确的,但是伪造的
常见的做法(无论我是否合法,都不知道)是存储后4位数字,因为这可以用来帮助客户确认其特定交易使用了哪些信用卡。

如问题所述,在不显着提高恶意人员猜测完整号码的几率的情况下,可以存储代表发行卡的金融机构的前4位数字

请勿保存比这8位数字更多的数字,因为否则,给定LUHN-10校验和,您可能会提供足够的信息以使猜测整个数字更合理(即使相对困难,即使从给定序列使用的序列中得出的见解也是如此)发行人,在给定的时间段内,但应当心……)

为了使整个事情在技术上和法律上更加安全,您可以考虑仅在客户明确允许的情况下存储此类信息。您还应该考虑使用简单的哈希值屏蔽此信息以存储在数据库中

另外,在进行特定交易后,您可以/应该存储的是在提交交易时,信用卡处理器提供的交易ID。此ID是允许您查找甚至需要的大部分(全部?)信息的键,特定交易是否有任何问题。通常可以从Processing公司维护的安全网站中查询此类信息,以及一些汇总报告,其中可能包括按卡类型(Amex,Visa ...)分组的信息(如果这就是为什么要考虑存储的原因)前四个。