2

Stripe 是一种支付处理服务,其工作方式或多或少是这样的:

  • 用户访问我们的网络应用程序并在表格中填写他们的卡详细信息
  • 一些由 Stripe 提供并加载在<script>页面标签中的 JavaScript 向 Stripe 的服务器发出异步请求,后者将卡片详细信息交换为令牌
  • 令牌被发布到我们的应用程序后端,后端将其发送回 Stripe。这会导致在用户的银行收取费用

我们的服务器只允许通过 TLS 1.2 与 Stripe 的 API 通信

但是,Stripe 前端 JavaScript 支持 IE9 和 IE10,它们不能开箱即用地处理 TLS 1.2。因此,这些浏览器上的一些用户将使用较弱的 TLS 1.0 请求 Stripe JavaScript。

有什么办法可以阻止有人为这些用户欺骗 Stripe JavaScript 并在他们的卡详细信息中进行中间人处理?

4

1 回答 1

3

好问题!

PCI 安全标准委员会将 TLS 1.0 的截止日期设置为 2018 年 6 月 30 日[1]

为了使过渡更容易,Stripe 开始对 2016 年 7 月 1 日之后创建的帐户实施 TLS 1.2 [2],并逐步取消对旧帐户的 TLS 1.0 和 1.1 支持。

也就是说,对于客户端库(CheckoutStripe.js),Stripe 仍然允许 TLS 1.0 / 1.1,如您所述。这是因为 Stripe 不希望不必要地阻止客户付款,即使他们使用的是无法使用 TLS 1.2 的旧版浏览器/操作系统。

当然,到 2018 年 6 月 30 日,使用 TLS 1.0 浏览器的客户将无法再通过 Stripe(或任何其他在线支付处理器)进行支付。

于 2017-10-02T12:27:14.647 回答