可能的重复:
我需要在一个电子商务网站上存储信用卡号码。我不打算储存整个信用卡号码,因为这将是很高的风险。我想至少存储前五位数,这样我以后可以识别出发行这张卡的金融机构。理想情况下,我想存储尽可能多的信用号码,以帮助任何未来交叉参照等。
我能安全地存储多少位数,哪一位数字?
例如,我认为这是不够安全的:
5555 5555 555* 4444因为你可以计算出丢失的数字。
同样,这也是安全的,但没有那么有用:
5555 5*** **** ****是否有一个被广泛接受的存储部分信贷号码的模式?
发布于 2009-09-28 08:51:24
“支付卡数据安全标准”规定,如果您正在处理持卡人的数据,那么您将受到PCI DSS的约束(这是非常全面的,也是一个很难遵守的问题)。如果您想要存储卡号的一部分,并且不想处理标准,那么您需要确保:( a)存储不超过前6位和最后4位数;( b)永远不要存储、处理或传输更多的卡号。这意味着在数据进入您的控件之前必须执行截断。
考虑到您正在谈论的是电子商务站点,我认为您迟早将不得不处理PCI DSS (因为如果您不使用完整的can,您就无法处理事务)。那么,实际上,您应该避免存储一个PAN的前6位和最后4位以上的数据;标准则不关心这些数据,您可以以您认为合适的任何形式来存储它。如果存储前7位数字,那么标准的第3项要求就会生效(并且您必须真正理解加密中的密钥管理)。
我希望这是有用的。
发布于 2009-09-28 04:59:14
2013年3月编辑
一个非常相关的资源是PCI安全标准理事会,该组织成立于2006年,由五个全球最大的信用卡品牌(AmEx、Visa、MasterCard、JCB International和发现号)组成,是支付卡行业事实上的安全事务权威机构。
该组织特别出版的PCI数据安全标准,目前在其2.0版本,其中包括问题,如管理的完整或部分信用卡号码。这份文件,如果是免费的,但需要一个简单的注册和许可条款的确认。
以下是原,c. 2009的答案,大部分是正确的,但却是假的。
一种常见的做法(我不知道是否合法)是存储最后4位数字的,因为这可能用于帮助客户确认他/她的信用卡中的哪一种用于特定的事务。
在不显著提高恶意人士猜出完整数字的几率的情况下,您可以存储存储的前4位数字s,这些数字代表了发卡的金融机构,如问题中所述。
不要,保存比这8个数字更多的数字,因为否则,在给定的LUHN-10校验和中,您可能会提供足够的信息来使猜测完整的数字更可信(如果仍然比较困难,即使从给定的发行人在给定的时间内使用的序列中获得了洞察力,但应该小心.)
为了使整个事情更安全,技术上和法律上,您可以考虑只存储这样的信息,如果客户明确允许它。您还应该考虑使用隐藏此信息,这是一个简单的散列,用于存储在数据库中。
另外,您可以/应该在特定事务之后存储的是--在提交transacton时由信用卡处理器提供的事务ID。这个ID是允许定位最多(全部?)的键。在您甚至需要的信息中,是否存在与特定事务有关的问题。这种类型的信息通常可以从处理公司维护的安全网站上查询,以及一些汇总报告,其中可能包括按卡类型分组(美国运通卡,Visa.)如果这就是你想要储存前四个的原因。
发布于 2009-09-28 04:46:13
如果你不需要存储整个信用卡号码,你为什么要存储它呢?如果你想要拯救发卡的金融机构,为什么不把发卡的金融机构存起来呢?
https://stackoverflow.com/questions/1485442
复制相似问题