Joe*_*oel 21 payment credit-card pci-dss
可能重复:
我需要在电子商务网站中存储信用卡号码.我不打算存储整个信用卡号码,因为这样做风险很大.我想存储至少前五位数字,以便我以后可以识别发卡的金融机构.理想情况下,我希望尽可能多地存储信用卡号码,以帮助任何未来的交叉引用等.
我可以安全存储多少位数和哪些特定数字?
例如,我想这不够安全:
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就会启动(并且您必须真正理解加密中的密钥管理).
我希望这是有用的.
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 ...)分组的信息(如果这就是为什么要考虑存储的原因)前四个。