【问题标题】:PHP Storing card data using PCI Standards OR using a third party to store card data?PHP 使用 PCI 标准存储卡数据还是使用第三方存储卡数据?
【发布时间】:2019-09-14 07:48:42
【问题描述】:

所以我今天面临一个具有挑战性的问题。我目前正在开发我正在开发的应用程序的支付界面。我必须让应用程序未来的用户可以选择存储和编辑他们的支付卡详细信息,以便于结帐。我所在行业的每家企业都这样做。因此,必须让我的用户能够添加和编辑卡片详细信息。

我正在考虑将用户卡详细信息存储到我们使用 PCI 标准租用的 AWS RDS 数据库中。我计划在需要时使用 PHP 和 mcrypt 以及椒盐来加密和解密卡数据。

你们认为在这种情况下将支付数据存储到我们的数据库是一个合适的选择吗?还是他们的任何第三方提供商将为我们存储用户付款详细信息?

请务必注意,我们将使用我们自己的商家帐户进行某些交易,而对于其他交易,我们将使用各种供应商商家帐户通过他们的 API 处理我们的交易。

谢谢

【问题讨论】:

  • 谢谢约翰!我不确定这是否是正确的选择,因为我们将使用多个商家帐户并将卡详细信息传回给我们值得信赖的第三方供应商。
  • 这听起来不是个好主意。您可能希望找到一种替代方法来处理这些付款,因为这会使您面临大量问题,尤其是退单问题。
  • 谢谢!据我所知,我们真的没有任何其他选择。我们从事旅游业,在大多数情况下,我们必须将银行卡详细信息传输给酒店,在某些情况下还需要向供应商传输。我觉得我们行业的每个人都在存储付款详细信息。如果你在这种情况下你个人会怎么做?我非常重视安全,我想做对企业和消费者最有利的事情。
  • 只是一个建议。确保在设计中添加反向代理。 PCI数据存储标准要求

标签: pci-compliance


【解决方案1】:

我会推荐以下蓝图:

https://aws.amazon.com/blogs/security/how-to-enhance-the-security-of-sensitive-customer-data-by-using-amazon-cloudfront-field-level-encryption/

云端 -> API 网关 -> Lambda -> RDS

Lambda 函数是唯一有权访问 RSA 私钥来解密由 Cloudfront 加密的字段值的地方。然后转身用AWS Encryption SDK重新加密持卡人信息,最后存入RDS。该 lambda 只允许使用 KMS 密钥进行加密。创建一个单独的 lambda 函数,负责从 RDS 中读取数据,用 KMS 解密并传输给第三方。

解决方案的细节有很多问题,但如果您遵循此蓝图,至少您不会让您的 PHP 应用程序受到威胁并暴露大量信用卡。最终,您希望限制处理持卡人信息的位置数量,以减少您的 PCI 审计风险。我什至会说为持卡人数据设置单独的 VPC 和 RDS。将“令牌”返回到您的应用程序以供参考。

【讨论】:

  • 你能分享一下这些细节吗?
猜你喜欢
  • 2011-05-17
  • 2016-08-03
  • 2021-08-18
  • 2018-01-17
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2013-12-19
相关资源
最近更新 更多