为什么Stripe允许客户端只支持TLS 1.0,如果他们在服务器上强制执行TLS 1.2?

时间:2017-10-02 10:38:23

标签: ssl stripe-payments stripe.js

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

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

我们的服务器是only allowed to communicate with Stripe's API over TLS 1.2

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

什么阻止某些人为这些用户欺骗Stripe JavaScript以及他们的卡片详细信息?

1 个答案:

答案 0 :(得分:3)

好问题!

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

为了简化过渡,Stripe开始对2016年7月1日之后创建的帐户[2]强制执行TLS 1.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(或任何其他在线支付处理器)付款。