存储信用卡号 - PCI?

Posted

技术标签:

【中文标题】存储信用卡号 - PCI?【英文标题】:Storing Credit Card Number - PCI? 【发布时间】:2011-05-17 02:20:09 【问题描述】:

在数据库中存储信用卡号应遵循哪些 PCI 规则?

1) 这是否允许? 2)如果是这样,我们必须遵循什么规则?

我在看这个网站https://www.pcisecuritystandards.org/security_standards/index.php 我应该在这里阅读哪个文件?

【问题讨论】:

尝试在 ***.com 中搜索“pci 合规性”。您将获得的不仅仅是便宜货。 您是否真的想要,即使允许?与安全存储它们所带来的头痛相比,用户必须重新输入它们的不便很小。而且我认为大多数用户也不喜欢网站存储他们的卡号。 如果您认为自己的安全性与亚马逊这样的公司一样好,请将其存储起来。它非常方便,它确实让我更有可能购买。没有真正回答你的问题,但我想我会说你的模型很好。 @Johnny - 事情是你不需要。 Authorize.net 和 Braintree,我敢肯定,此时大多数其他主要网关都提供安全保险库,您不必担心 PCI 合规性,但您仍然可以访问该卡以向您的帐户收费。 【参考方案1】:

1) 是的,这是允许的,但非常非常不鼓励。在您的数据库中拥有这些信息会使您成为黑客极具吸引力的目标。如果你认为你可以保护它,再想一想。黑客已经击败了具有出色安全性的公司的安全性。您的安全不会更好。

2) 您必须遵守in this guide 列出的 PCI 规则。但是您可能会发现this guide 更容易理解。前往第 14 页了解您需要了解的内容。基本上您可以存储它,但必须根据 PCI 标准对其进行加密。您的服务器和网络也必须是安全的。如果任何一块拼图不符合 PCI 标准,您就无法存储信用卡号。这排除了大多数共享托管公司作为解决方案。

【讨论】:

+1。只是想评论一下,尽管加密很容易,任何想要解决这个问题的人都不应低估加密密钥管理的困难。 如果您要存储信用卡号码,您还必须关注对服务器的所有类型的访问,包括物理访问。我在一家大公司为符合 PCI 的服务器进行操作,我们做了以下操作:CC 号码被加密(当然),对数据库服务器的访问仅限于 Web 服务器的 IP 地址和运营团队 IP 地址的 IP 地址(我无法从家里甚至不同的建筑物连接),并且服务器在一个上锁的笼子里(字面上有一条链子并锁在上面)。即使我进入了 DC,我也无法访问机器。【参考方案2】:

这不是一个直接的答案,而是一个建议。请不要投反对票;我只是想提供帮助。在获得了丰富的 PCI 合规经验后,我强烈建议您尽可能避免在系统上保存信用卡信息。

我们使用的方法(非常成功)是标记化。有些服务会为您收集和存储您的信用卡信息。您进行 API 调用以获取令牌,通常是某种散列,表示信用卡的主帐号。当您想为卡计费时,您传递令牌和其他交易详细信息,然后他们处理付款。

这是一篇关于该过程的简单文章: http://www.creditcards.com/credit-card-news/tokenization-to-fight-credit-card-id-theft-1282.php

现在有很多选择:

https://www.adyen.com/blog/tokenization-payment-technology-guide http://www.elementps.com/software-providers/security/pass/ http://www.cybersource.com/products_and_services/payment_security/payment_tokenization/

有关该方法的更多信息,您可以使用Google Search: Credit Card Tokenization。

【讨论】:

这不是一个直接的答案,但恕我直言,作为一种替代方法具有很大的价值。 +1 我在 2106 年 12 月将 Adyen 添加到令牌化支付提供商列表中。我个人没有使用过它们,但我今天在我的 JetBrains 帐户中注意到这是 JetBrains 使用的。作为(恕我直言)***开发人员工具提供商之一,我认为他们已经对 Adyen 进行了适当的安全审查。 我们使用了标记化,但是当您想要迁移到不同的信用卡处理器时,它是一场噩梦。 @DD。我真的可以看到情况会怎样。我想你必须权衡一下自己管理具体信用卡数据的潜在噩梦。除非我在一家金融机构工作,该机构拥有非常称职的安全部门,否则我仍然认为我更喜欢代币化。不过,您的情况和里程会有所不同。祝你好运。【参考方案3】:

你可以,但这样做很昂贵。

您需要由其他服务或专用 DNS 服务器提供 DNS。

您需要有一个专门的服务器来运行您的 SQL Server 数据库,仅此而已。

您需要使用 PCI 认可的软件。

您的数据库服务器需要与您的 Web 服务器位于同一数据中心内,否则性能会很差。

因此,最好将您的网站托管在 PCI 安全主机上,或者按照我的描述设置您的服务器。

【讨论】:

DNS 与此有什么关系?

以上是关于存储信用卡号 - PCI?的主要内容,如果未能解决你的问题,请参考以下文章

在标记信用卡信息时,标记每个信用卡属性以符合 PCI 是不是有意义?

存储部分信用卡号

存储信用卡信息的 PCI 兼容服务 - [非美国公司]

在 SQL Server 中屏蔽信用卡号

查找和替换信用卡号

Lotusscript 在现有 Notes 文档中的 PCI 合规性