【问题标题】:AWS Lambda stripe payment backend, PCI concerns?AWS Lambda 条带支付后端,PCI 问题?
【发布时间】:2017-08-19 11:23:47
【问题描述】:

我希望构建一个移动应用程序,将信用卡信息发送到 aws-lambda 微服务,然后该微服务将该信息提交给 Stripe。我担心 PCI 合规性/安全性,我想知道我是否缺少某些东西。以下是我的计划:

1) 用户使用符合 PCI 的密码登录 - 并被分配唯一的 ID 并获得 cognito 访问密钥。

2) 用户在移动应用中输入支付信息。然后,该应用程序使用 HTTPS 通过 POST 请求将该信用卡数据发送到经过身份验证的 aws-lambda 实例(api 网关用于创建端点)。

3) 发布请求成功后,应用会删除本地信用卡数据。

4) lambda 实例使用 KMS 解密加密的条带秘密访问密钥。

5) lambda 实例使用 Stripe NodeJS sdk 将数据发送到条带并将条带标记存储在数据库中。

6) Lambda 实例绝不会保存任何信用卡数据 - 它只会将 Stripe 令牌写入数据库。

这里有什么我遗漏的吗?有什么需要注意的吗?

编辑:

附加信息: 信用卡详细信息在应用程序中收集并存储在应用程序状态中,直到它们被删除。 https POST 不使用 Stripe 工具,因为我使用的是 React Native。

【问题讨论】:

  • #2 需要考虑的一件事 --- 您如何收集/发布卡片数据?您是否在使用 Stripe 提供的工具之一—— Elements 或 Checkout,这是移动 SDK 之一?如果您这样做,它应该可以缓解 PCI 合规性问题,因为卡详细信息根本不会通过您的服务器。发布原始 PAN,即使您不保留它们也会使合规变得更加棘手。
  • @duck 这是我主要关心的问题 - 对 lambda 的 POST 请求只是 https;它没有使用 Stripe 的工具。这样做的原因是我正在开发 react native,而 stripe 没有任何 SDK。我应该在这里做点别的吗?例如。加密数据 -> https post -> 在 lambda 中解密?
  • 我不是 PCI 专家,但我想到的其他问题是:服务器日志(记录 POST 请求,AWS 是否将这些记录在自己的日志中以跟踪使用情况?)以及如何限制对服务器的物理访问。
  • 您是否考虑过使用 Stripe 的 JavaScript API?或这个? blog.bigbinary.com/2015/11/03/…github.com/lrettig/react-native-stripe
  • @Rob 我看过你链接的博客——基本上他们只是使用请求来访问 Stripe 的 api。我不愿意直接从应用程序中执行此操作,原因有两个:(1)它在架构上不优雅(2)我必须在应用程序中嵌入条带密钥。此外,我不能使用 Stripe 的 Javascript SDK,因为它依赖于 NodeJS,而 React Native 不能在其上运行。

标签: stripe-payments aws-lambda pci-compliance aws-cognito


【解决方案1】:

进一步我们在 cmets 中的讨论,您可以编写一个服务包装器,使用他们的 JavaScript API 将数据直接发布到 Stripe。您只需将公共 API 密钥嵌入到您的应用中。

请参阅此博文中的解决方案:http://blog.bigbinary.com/2015/11/03/using-stripe-api-in-react-native-with-fetch.html

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2020-04-15
    • 2018-08-03
    • 1970-01-01
    • 1970-01-01
    • 2013-10-26
    • 1970-01-01
    • 2021-09-28
    • 2021-11-07
    相关资源
    最近更新 更多