java - PCI DSS 移动应用程序支付和信用卡数据

标签 java mobile payment-gateway payment-processing pci-dss

我需要实现一个解决方案,允许移动应用程序根据支付网关服务进行支付。

我发送的数据是卡详细信息和付款数据本身。

每次付款时都输入银行卡详细信息是不切实际的,所以...所以我分析了以下替代方案:

  1. 将数据卡保存到您的智能手机中。被安全部门丢弃。

  2. 使用第三方存储卡数据,例如 PayPal Vault。通过将数据分配给第三方而丢弃。

  3. 将卡数据保存在自己的“中央服务器”上并使用 token 策略。这样做的缺点是该基础设施应满足[PCI-DSS 法规][1]

  4. 部分数据卡保存在智能手机上,将其余数据保存在中央服务(基础设施)中,例如移动设备中的一半 PAN、另一半在智能手机上。

根据第四种选择:

问题是,如果只存储部分数据卡,这个中央服务是否也应该满足 PCI-DSS 标准?

谢谢

最佳答案

这是一个非常有趣的方法。从我的角度来看,将数据存储在手机上实际上(总体而言)比服务器端更安全,因为丢失单个手机的影响比中央数据库被破坏的影响要小得多。

尽管如此,PCI DSS 非常明确,但不幸的是没有为这种创造力留下太多空间。基本上,如果您的系统(以及作为其一部分的移动应用程序)正在处理卡数据,则需要遵守 PCI DSS 规则:

PCI DSS applies to all entities involved in payment card processing — including merchants, processors, financial institutions, and service providers, as well as all other entities that store, process, or transmit cardholder data and/or sensitive authentication data. Cardholder data and sensitive authentication data are defined as follows:

Account Data

  • Cardholder Data includes:*
    • Primary Account Number (PAN)
    • Cardholder Name
    • Expiration Date
    • Service Code
  • Sensitive Authentication Data includes:
    • Full track data (magnetic-stripe data or equivalent on a chip)
    • CAV2/CVC2/CVV2/CID
    • PINs/PIN blocks

参见PCI Standards Council v3 doc

考虑到上述情况,您有两个选择:

  1. 将支付数据处理外包给 PCI 合规方(免责声明:我为其中一家工作)
  2. 您自己承担合规的责任。如果您可以限制受影响的范围,那么这不必那么困难。寻找早期标记化、去标记化代理、独立的 PCI 区域(这样您的大多数系统根本看不到卡数据)。

关于java - PCI DSS 移动应用程序支付和信用卡数据,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28579684/

相关文章:

java - 验证码使jsp页面上的所有html元素消失

java - 启动tomcat时jsp索引异常

java - KML marshal 生成零长度文件

android - Apache Cordova 在 div 中加载外部 URL 或网站

php - 获取自定义支付网关数据作为 Woocommerce 3 中的设置

java - Log4j2 LogManager.getLogger() 与 Spring

java - android 信标库未开始检测信标

css - 我应该从代码中删除什么以禁用移动响应

php - 如何使用 Paypal 直接付款方式激活订阅流程

java - IPG Payment Gateway.javax.net.ssl.SSLHandshakeException : sun. security.validator.ValidatorException:找不到可信证书