如果我有一个Web应用程序,我收到通过HTTPS浏览器通过POST请求传输的信用卡数据,并立即打开套接字(SSL)到远程PCI编辑卡处理器转发数据并等待响应,我是允许这样做?或者这是否与我的应用程序接收数据并转发它已经处理"处理信用卡数据"?
如果我创建一个在客户端浏览器中显示的iframe来输入cc数据,并且这个iframe通过HTTPS将数据发布到远程卡处理器(直接!)这已经是处理信用卡数据的情况了吗?即使我的应用程序代码"没有触及"任何事件处理程序输入的数据?
我对"信用卡数据处理"的定义感兴趣.什么时候开始成为cc数据处理应用程序?有人可能会指出我在PCI-DSS标准中明确定义何时开始"成为处理应用程序"的那一部分?
谢谢,
我有这样的购物车流程:
第4页.收据页面
重复计费是以后的要求,具有可变金额和计划.(用户必须能够返回并更改其计划而无需再次输入CC编号).
这是我不想要做的:
由于我需要一个确认页面,我想我需要使用某种标记化系统,例如braintreepayments提供的.您基本上将信用卡号存储在他们的服务上,他们会返回一个代表该号码的令牌.然后,您可以随时对该卡收取任何金额的费用.这当然是最灵活的解决方案.
我想绕过圈子试图找出这是否是最好的解决方案:
"最纯粹"最安全的方法似乎是重定向到braintree(或提供类似网关的其他人).
编辑(分配赏金后):
我的结论是,我必须有一个系统,我们只需要满足PCI的 A级.一直在更详细地研究PCI,这些问卷是卡片不存在的商家(即电子商务)的相关问卷.
SAQ A :(当CC号码甚至没有触及我们的服务器时).如果你在线销售,你仍然需要填写这份问卷,但这很容易.
SAQ D :(如果我们不存储它们,CC数字会触及我们的服务器)
看看这些问卷,揭示了需求之间的巨大差异.PCI要求经常被误解为一个简单的列表,例如"维护防火墙","安全策略","限制物理访问" - 但如果您实际阅读问卷D,您会看到它有更多问题和要求的顺序.例如,您必须回答您的服务器是否受摄像机保护,以及您的服务器上有哪种数据加密.
我真的很感激知道哪些实际的产品或供应商能够帮助我做我想做的事情.如果真的只有1或2家公司让我这样做,那么我需要知道.
我与Braintree没有任何关系,除非我设法进入他们的电子邮件营销列表.他们只是我设法找到的唯一一家这样做的公司.如果你正在经营另一家公司,那么请务必吹自己的小号.随着时间的推移,PCI要求将变得更加严格,任何已经阅读过这个问题的人都可能已经意识到这一点.
所以我知道有很多关于存储信用卡信息的帖子.我们正在构建一个移动应用程序,并希望人们能够输入一次卡片信息,而不是每次购买.
我们查看了Authorize.net CIM,它似乎是一个理想的解决方案(我们只存储一个返回信用卡号的个人资料ID或令牌)......但它可能达不到我们的需求,因为信用卡信息不是由authorize.net处理(必然),但我们也通过任何商家帐户处理付款.换句话说,我们希望存储信用卡信息,如钱包......不一定每次都与Authorize.net一起处理.
阅读CIM XML文档(p.94),看起来getCustomerPaymentProfileResponse掩盖了信用卡返回数据...所以我不知道如果数据被屏蔽,这对处理有什么用呢?
我们确实有其他一些实施方案,但我真的希望有一种基于网络的方式让客户管理他们的支付账户.有没有人知道存储信用卡数据的任何方法,可以根据需要调用这些数据传递给任何给定商家的处理器?
编辑4.28.2011 - 我正在用这个打墙.如果我们根本不存储信用卡信息,让客户输入然后通过它怎么办...我们如何安全地做到这一点?不存储它,传递HTTPS,在传输过程中加密卡数据?
我处于这种非常不幸的境地:
我的网站用于与支付网关交换数据,但随着TLSv1.0被删除,我不再使用php的cURL库甚至file_get_contents()(或wget/lynx/curl via shell)
是否有任何解决方法,如何在不使用内置库的情况下连接TLSv1.1 +安全服务器的任何选项?
我知道PHP中存在一些类,如phpseclib,这是SSH客户端,非常适合不能使用SSH2模块的人
PHP存在类似的东西吗?有什么方法可以连接到我的网关吗?
到目前为止,我最好的想法是通过其他服务器连接到网关(使用更新的软件)
我们正在获得PCI PA-DSS认证,其中一项要求是避免将干净的PAN(卡号)写入磁盘.应用程序不会将此类信息写入磁盘,但如果操作系统(在本例中为Windows)需要交换,则将内存内容写入页面文件.因此,应用程序必须清理内存以防止RAM捕获器服务读取敏感数据.
有三种情况需要处理:
memsetmemset例如:
void test()
{
char card_number[17];
strcpy(card_number, "4000000000000000");
}
Run Code Online (Sandbox Code Playgroud)
在执行测试之后,存储器仍然包含card_number信息.
一条指令可以在测试结束时将变量card_number归零,但这应该适用于程序中的所有函数.
memset(card_number, 0, sizeof(card_number));
Run Code Online (Sandbox Code Playgroud)
有没有办法在某个时刻清理堆栈,就像程序结束前一样?
是否有一种简单的方法或在线工具来检查网站的SSL漏洞问题?
根据PCI标准,我发现网站必须强制使用SSLv3或TLSv1协议以及高安全性加密算法.我需要检查我的网站是否符合这些PCI DSS标准.
我们需要为基于订阅/定期付款的 SaaS 应用程序存储信用卡的最后 4 位数字(以便让客户知道他们使用的是哪张卡?)和到期日期(以通知客户他们的卡即将到期)。
PCI DSS 允许这两种数据存储吗?请回答并提供官方网站或文档的参考/链接。
请注意:我们不会存储卡上的姓名和CVV 号码
有没有人对信用卡的卡片存档服务有任何经验,处理持续购买的信用卡信息存储?
我们正在寻找可以通过Web服务或类似方法与自定义ASP.NET应用程序集成的解决方案,但是从方程式中删除了信息的存储,以降低风险并满足PCI合规性问题.
我们需要一种解决方案,允许我们以不同的金额为卡通系统进行持续计费,而不是每月固定的订阅账单.
我正在考虑使用eWay作为支付网关.他们提供两种选择.一种是允许用户在eWay托管网站上输入信用卡数据,另一种是使用我自己的表格并通过我的服务器将信用卡数据发送到eWays后端.第二个选项(他们的页面包含详细信息)似乎更适合我,因为用户永远不会离开我的网站,并维持品牌.现在,我采访了支持,他们说只要我使用SSL,我的网站就会符合PCI标准.所以基本上我可以允许用户在我的网站上提供CC号码并通过XML将其发送到eWays后端.只要我不存储敏感数据,但只转移就可以了.到目前为止,我认为只要CC数据到达我的服务器我的网站需要PCI兼容,但现在我不确定.如果有人可以向我解释它是如何真的是非常值得赞赏的.
我正在寻找一个开源静态源代码分析工具,可用于Android应用程序的安全测试.我需要确保我的应用程序符合PCI标准.
Fortify是一个非开源工具的例子.
任何人都可以帮助提供推荐软件列表?