【问题标题】:Online Credit Card Storage? [closed]在线信用卡存储? [关闭]
【发布时间】:2011-01-15 11:46:43
【问题描述】:

我即将继承并在一个设计非常糟糕的小型企业零售网站上工作。除其他外,最令人担忧的是当前的信用卡处理。

目前,所有者从在线订单中检索信用卡信息(姓名、号码、CVV2 和到期日期),并将所有这些信息以纯文本形式保存在 MySQL 数据库中。然后有人订购的通知会发送到他的电子邮件。此后,他有一个管理后端页面,他可以查看订单和信用卡信息,用于与自己的商家进行离线处理。

从后端页面检索信息后,信用卡号和CVV2立即被删除(PHP脚本自动调用)。如果在 7 天内未访问该页面,该信息也会被删除。因此,在交易处理之前,所有信息都有可能以纯文本形式在数据库中保存 7 天。

这似乎不是一个好的设计,可能是非法的。如果这是非法的,我将不得不向他打破这个,因为他还没有意识到这一点。

我的问题:除了不安全之外,这是否违法或违反使用条款 (PCI DSS)?而且,如果是这样,我该如何向他证明,以便他允许我改变他的方式(显然,我不想把手伸进违法的事情中。另外,有时使用条款的措辞可以看起来很主观)?最后,解决此问题的最佳选择是什么(第 3 方在线商家、符合 PCI DSS 或其他)?

【问题讨论】:

  • 你在哪个国家?
  • 我投票结束这个问题,因为它是一个法律问题,而不是一个编程问题。

标签: credit-card pci-dss


【解决方案1】:

这违反了 PCI DSS。您不仅存储了不应存储的信息 (CVV),而且还没有加密信用卡号(也是违规行为)。

更糟糕的是,他违反了 Visa 和 MasterCard 准则,这些准则规定所有在线交易都必须使用符合 ECI 的设备或软件进行处理互联网订单必须有一个单独的商家帐户。他们的信用卡终端绝对不符合 ECI,因为没有。他们需要获得一个新的商家帐户并使用 Authorize.Net 等支付网关来处理这些订单。

编辑

由于我怀疑网站所有者是否真的会费心获得新的商家帐户或实施支付网关,您最好的选择是使用双向加密来存储此信息。然后确保他们用于检索信用卡信息的页面是加密的(SSL 证书),因此信息从端到端是安全的。

我强烈建议您获得一个互联网商家帐户并使用 Authorize.Net 之类的支付网关。除了符合 PCI 和 ECI 并且只是明智的选择之外,企业不仅失去其商家帐户而且被列入黑名单并被禁止再次拥有真正的商家帐户的可能性非常高。商家帐户提供商只需进行一次拒付,就可以了解他们在做什么并开始解决问题。

【讨论】:

  • ECI 合规性是否适用于这种情况?他不是在网上做交易,只是在网上获取信息来进行线下交易。这有点像通过电话接收信用卡信息来进行交易。和/或者您是说这需要另一个商家帐户?
  • ECI 合规性是一个问题,因为订单来自他们的网站。如果它来自电话,ECI 将不适用。基本上,这不是您处理订单的方式,而是订单的来源。它还需要另一个商家帐户,因为源自 Internet 的订单必须与非 Internet 订单分开。这主要是由于退款问题。
【解决方案2】:

这严重违反了 PCI 规则。您可以在这里获取文件:https://www.pcisecuritystandards.org/security_standards/pci_dss.shtml 使用 Google Checkout 之类的第三方会是明智之举。成为 PCI 合规是一件很头疼的事情,并且涉及年度审查(可能是自我评估),其中可能包括渗透测试等。如果您真的检查过,他可能根本不需要访问信用卡信息,只需交易 ID。您不仅需要加密数据,还必须有一个精心设计的方案来保护加密密钥。这比小企业想要进入的要大得多。上面的一些建议听起来不错,但它不符合 PCI 规范。阅读文档,您会很快发现这是一项艰巨的任务。我目前支持内部 PCI 兼容系统,并且必须花费大量精力来使其达到标准。我们还必须进行一些网络更改。企业转换为第三方会更便宜。

【讨论】:

    【解决方案3】:

    有许多第三方支付提供商可以为您处理所有安全和合规问题。

    对于任何中小型企业来说,这是一项绝对应该外包给有专业知识的人的职能。

    【讨论】:

      【解决方案4】:

      使用第 3 方信用卡处理网关无需在客户端服务器上存储信用信息 - POST 后的 cc 信息被传递到处理网关,处理网关返回可用于记录保存的交易 ID你的客户。

      信用卡支付网关由 Authorize.net、LinkPoint Central 等公司提供 - 甚至 PayPal 也参与其中。所有主要网关都有现有代码,用于将购物车与大多数流行的 Web 编程平台(.NET、PHP、Java 等)集成。此外,大多数主要购物车都支持开箱即用的主要网关,或者至少为大多数网关提供可安装模块。

      因此,您的客户应该设置一个互联网支付网关,并且您应该将他们现有的代码与网关集成。

      【讨论】:

        【解决方案5】:

        正确保护支付数据是一个复杂的话题。即使是非常大的公司,有时也会从他们的系统中窃取大量信用卡。

        至少要考虑以下步骤:

        • 确保在线订单使用 HTTPS 来捕获数据。
        • 如果 DB 和 Web 服务器是不同的盒子,请确保它们之间的路径安全。
        • 加密数据库中的支付数据。 MySQL Reference
        • 确保对后端网页的强大访问控制(外界是否可以物理访问它?是否需要强密码?是 HTTPS 吗?)
        • 确保没有最终将付款信息写入文件系统的日志(例如调试日志)。

        【讨论】:

          【解决方案6】:

          这绝对违反了 PCI 规则。但是,为存储的数据添加加密应该不是那么难,尤其是在很少有人需要查看它的情况下。

          曾在第三方信用卡交易处理公司工作过,如果他们的系统很糟糕,我强烈推荐它。但是,您仍然需要加密该信息,或者在将其发送到 TPP 后根本不存储它。 TPP 确实适用于商家,因此他们可以帮助您解决任何合规问题并帮助您获得最佳交换率。

          【讨论】:

            猜你喜欢
            • 2011-05-19
            • 1970-01-01
            • 2012-08-15
            • 1970-01-01
            • 2016-06-25
            • 2010-12-18
            • 2013-01-19
            • 2016-12-07
            相关资源
            最近更新 更多