当我的结账流程有确认页面时,最大限度地减少 PCI 合规性
Posted
技术标签:
【中文标题】当我的结账流程有确认页面时,最大限度地减少 PCI 合规性【英文标题】:Minimizing PCI compliance when my checkout flow has a confirmation page 【发布时间】:2010-12-19 07:52:32 【问题描述】:我有一个这样的购物车流程:
第 1 页。选择产品 第 2 页。在单页结账时输入地址、送货、信用卡详细信息。 第 3 页。用户确认订单 - 但我们想要最后一次追加销售的机会,因此我们必须能够更改收取的金额。如果用户放弃此页面,则不应向他们收取任何费用或授权任何东西,但我们必须能够打电话给他们并说服他们订购,而无需再次询问他们的电话号码。第 4 页。收据页
重复计费是以后的要求,具有可变的金额和时间表。 (用户必须能够返回并更改他们的日程安排,而无需再次输入 CC 号码)。
这是我不想想做的事情:
将用户转到第三方页面(因为我想要单页结帐并保留品牌) 尽量减少 PCI 合规性要求 授权付款并在用户未确认时取消付款。这是在多个层面上自找麻烦!由于我需要一个确认页面,我想我需要使用某种标记化系统,例如 braintreepayments 提供的。您基本上将信用卡号存储在他们的服务上,然后他们会给您一个代表该号码的令牌。然后,您可以随时对该卡收取任何费用 数量。这无疑是最灵活的解决方案。
我有点想知道这是否是最好的解决方案:
我不知道 BrainTree 是否是唯一一家提供此类服务的公司,但我也不认为它真的有必要。 如果我在会话中临时存储 CC 直到用户确认它,我仍然可以使用几乎任何支付网关。因此,问题变成了“我是否将 CC 临时存储在内存中是否重要”以及存储到什么程度。“最纯粹”最安全的方法似乎是重定向到 Braintree(或提供类似网关的其他人)。
编辑(分配赏金后):
我已经得出结论,我绝对必须有一个系统,我们只需要满足PCI 的 A 级。一直在更详细地研究 PCI,这些问卷是针对无卡商家(即电子商务)的相关问卷。
SAQ A : (当抄送号码甚至不接触我们的服务器时)。如果您在网上销售,您仍然需要填写这份问卷,但这很容易。
SAQ D : (CC 号码会触及我们的服务器,即使我们不存储它们)
看看这些调查问卷会发现需求之间存在巨大差异。 PCI 要求经常被误认为是一个简单的列表,例如“维护防火墙”、“安全策略”、“限制物理访问”——但如果你真的阅读问卷 D,你会发现它有更多的问题和要求.例如,您必须回答您的服务器是否受到摄像机的保护,以及您的服务器上的数据加密类型。
我非常希望知道有哪些实际产品或供应商可以帮助我做我想做的事。如果真的只有 1 或 2 家公司让我这样做,那么我需要知道。
我与 Braintree 没有任何关系,但我设法进入了他们的电子邮件营销列表。他们只是我找到的唯一一家这样做的公司。如果你经营另一家公司做同样的事情,那么一定要吹响你自己的号角。随着时间的推移,PCI 要求只会变得更加严格,任何读过我的问题的人都可能已经意识到这一点。
【问题讨论】:
您接受的 235 个问题不到三分之一。可能想增加一点... 我知道那个米奇,但很感激这个轻推。尝试过几次,但总是很难选择一个答案。我认为他们直到我的第 200 个问题才介绍了计数器 :-) 然后我就像'哦 *#&@' 这需要一些工作才能达到 50%。 避免“将用户发送到第三方页面”的要求难道不是意味着 CC# 必须通过您的服务器,这意味着您准备好了 SAQ D? @stobor 如果使用 HTTP 表单实际发布到受信任的第三方站点的透明重定向(就像您实际上在托管页面上一样),则不会。然后,他们负责安全地存储卡信息并将该页面上的任何其他非敏感字段(例如订单商品、用户名/密码等)发回给我们。 @Simon:很公平。对我来说,这听起来像是“将用户发送到第三方页面”,但如果这个过程对你来说没问题,那么是的,许多结账运营商都会提供该过程的一些变体。 【参考方案1】:是的,是否将 CC 编号存储在内存中很重要。当卡号接触到您的网络时,您就处于 PCI 的范围内。
我不为 Braintree 工作,而是为一家满足您需求的公司工作。您需要结合标记化和让数据访问外部站点。我们有一个解决方案可以解决重定向到外部站点的需要。 (我为编造它感到非常自豪,人们为此而疯狂。)它是专门为解决你提到的所有问题而制作的。 (是的,你并不孤单。)
我不会用自我推销来偏向您的搜索,因为我相信有很多人在做这件事。 (另外我不是以官方营销身份来这里的,不想给自己造成任何问题。)
祝你好运。
更新:您可以是一家小公司,但仍能达到第 1 层。这完全取决于数量,如果您第一次做对了,那么一旦您达到更高的层级,就没有什么可改变的。如果您不存储 CC 编号(通过标记化或其他选项),那么如果您需要第三方审计员参与,那么这会限制应用程序和服务器为 PCI 所做的事情。这只是一个问题。
如果卡号完全到达您的服务器,那么直到该服务器的所有内容都在 PCI 的范围内。审计人员不接受将 CC 编号临时存储在内存中会限制服务器范围的事实是非常愚蠢的。但你是对的;透明重定向、第二站点重定向,甚至简单的回发都无法保证数据不会被盗。 PCI 旨在设置障碍以使数据泄露变得困难,然后能够说您已尽一切努力防止数据被盗。 (我的类比是,PCI 将责备的手指对准用户的所有方向,而不是处理业务的人一直到处理器。)
关于 PCI 的真正大问题是,如果您到了需要审计员参与的程度,您无法预料这些规则的执行会有多严格。每个审核员对 PCI DSS 要求的解释都略有不同,甚至审查 ROC 报告的人也会突然决定他们不喜欢您所做的事情。你关心什么并不重要。重要的是 PCI 人员是否要接受您的 ROC,或者他们是否要对规则执行一些新的解释。
我曾与许多审核员和许多通过 PCI 的大公司合作。现在的解释是限制范围意味着卡号不能接触你的网络。这对您的影响完全取决于您当前或未来的销量。
【讨论】:
但如果最终我们不在服务器上存储 CC 信息,那么 PCI 真的很重要吗?对于中小型公司,我们不是只有自我评估调查要填写吗?防火墙、SSL、访问策略。这有多难?关键是从我们的服务器上获取数据。这是一个高度受控的环境,我完全不关心木马软件。无论如何,与任何服务器端软件相比,有人可以更容易地注入 javascript 来窃取数字 - 对。某种程度的透明重定向可能是一种虚假的安全感 ok 事实证明,PCI 列表中的每个项目都有许多子项目变得无法管理。如果您触摸卡信息,您必须填写表格 D pcisecuritystandards.org/docs/pci_saq_d.doc。即使您将支付处理外包,您仍然必须填写表格 A,但 A 和 D 表格之间存在显着差异 应该指出的是,如果发生违规行为,您的级别并不重要。审核员将调查您的业务并查看您是否符合 PCI 标准,无论您拥有何种 SAQ 或 QSA 审核的 ROC。 1 级和 4 级商户具有相同的安全要求,只是所需的年度审计级别不同。 (抱歉游戏有点晚了,只是希望对以后看到这个问题的人有所帮助)【参考方案2】:如果您不将用户重定向到另一个站点,则必须填写表格 D。它适用于所有具有 PAN 的系统,即使它们没有写入磁盘。如果您刚刚开始,我建议您使用重定向路线,这样您就可以避免这种情况。 PayPal 的信用卡产品实际上是一个合理的选择。如果不出意外,它们又大又结实,不太可能去任何地方。
完全符合 PCI 既费时又费钱。我认为通常最好将其推迟到企业有收入之前。
【讨论】:
如果我们不这样做怎么办。除了风险,谁来找我们?现在罚款只有20美元/月。明年七月有最后期限。这是我们必须填写表格 A 或 D 的时候,否则会有被切断的风险?附言。我绝对不打算这样做 - 只是想更好地了解大局 想想如果他们认为您被黑客入侵并发现您不合规会发生什么。如果他们感到非常沮丧,他们可能会阻止您处理信用卡。同样,如果您遇到退款问题,他们会询问 PCI 合规性。总的来说,我认为他们不太关心非常小的商家,但如果不遵守规定,您就是在拿您的企业生存做赌注。【参考方案3】:以下是一般经验法则:如果您不读取、存储或处理 PAN (CC#) 和/或到期日期,则不需要 PCI 合规性。如果您甚至远程触摸该卡号,那么您需要接受 PCI 合规性。
为什么不简单地使用 PayPal 呢?
【讨论】:
在选择第三方时请记住,如果您想离开,包括 PayPal 在内的大多数服务提供商都不会将您的数据还给您。我们(Braintree)启动了信用卡数据可移植性标准来解决问题bit.ly/a2uEvm。 这是不正确的,即使您将卡处理外包,商家仍然要求遵守 PCI。但是,如果您不接触卡数据,那很好,因为它使您的 PCI 合规性更容易,因为您的 PCI 合规性的很大一部分只是声明和证明您没有接触卡数据!【参考方案4】:如果您想最大限度地减少 PCI 要求,请重定向到托管支付页面或使用 iFrame 解决方案。更多详情请看我帮助作者的Drupal PCI Compliance white paper。
【讨论】:
以上是关于当我的结账流程有确认页面时,最大限度地减少 PCI 合规性的主要内容,如果未能解决你的问题,请参考以下文章
环形环绕地图上一组点之间的“质心”,可最大限度地减少到所有点的平均距离