使用了SSL证书的网站使用CDN时会有哪些问题(一)

内容交付网络(CDN)被广泛部署,以提高网站的性能,可扩展性和安全性。它们最初用于通过将用户重定向到靠近用户的代理服务器(或缓存服务器)来减少Web访问的延迟,以及减轻原始Web服务器的负载。近年来,CDN提供商也开始通过隐藏原始网站并将攻击流量负载分配给多个代理服务器来提供DDoS缓解服务。通过在缓存服务器上部署Web应用程序防火墙,CDN还可以过滤对原始服务器的入侵。

使用CDN,Web访问终止于分布在Internet上的一个代理服务器,返回缓存的内容。然而,这种“中间人(MITM)”模型在为端到端通信设计的其他技术中引入了额外的复杂性。HTTPS(或基于TLS的HTTP)就是这样一种端到端协议,它建立加密隧道以在客户端和Web服务器之间传递敏感信息。Web服务器操作员可以从证书颁发机构(CA)获取证书,证书颁发机构(CA)受服务器和客户端浏览器的信任。在访问启用HTTPS的网站时,客户端可以通过验证服务器的证书来验证服务器的身份(例如,它是否由受信任的CA颁发,以及服务器域名是否与证书中列出的信息匹配)。

然而,当使用CDN(“中间人”)时,CDN服务器切断HTTPS通信的中间,并将HTTPS分成两部分:最终用户和CDN代理之间的前端通信服务器,以及CDN代理服务器和原始Web服务器之间的后端通信。在这种情况下,信任模型和双方(客户端和Web服务器)之间的安全隧道的建立现在涉及三方。虽然后端交互类似于原始HTTPS,但前端通信变得复杂。因为在HTTPS通信中添加其他方不仅需要更改安全隧道的设置(例如使用不同的证书),还需要额外的用户感知和委派控制,在纯粹的双方端到端HTTPS模型中,没有一个需要考虑。具体而言,当网站的所有者将其HTTPS的认证信息委托给某些CDN提供商时,应该有一种机制通知最终用户该授权。此外,网站所有者应该能够根据自己的意愿有效和独立地从CDN提供商撤销他/她的代表团(无需当前CDN提供商的批准,例如在更换CDN提供商的情况下) 。

本文研究了使用HTTPS和CDN的当前实践。对于前端通信,我们调查了20个流行的CDN提供商和10,721个客户网站。这些网站支持HTTPS访问,并通过基于DNS的请求路由使用CDN,这是在Internet中采用CDN服务的主要机制。在这些使用HTTPS和CDN的10,721个网站中,我们观察到其中15%的网站引发了无效证书的警报,从而打破了HTTPS的信任模型。对于那些没有证书警告的人,我们发现他们使用了两种类型的证书:自定义证书和共享证书。

自定义证书要求网站所有者将其证书和私钥上载到CDN提供商。实质上,在网站和CDN提供商之间共享私钥违反了公钥加密的基本设置。实际上,原始网站的所有者通过与CDN提供商共享私钥而面临更多安全风险,因为CDN提供商可能将这些敏感信息分发到因特网上的所有节点。此外,网站不能独立有效地撤销其CDN提供商的代表团。

在共享证书的情况下,CDN依靠合作伙伴CA颁发对多个域名有效的证书。为确保Web客户端收到有效证书,CDN提供商将客户的域名添加到主题备用名称(SAN)扩展[1]他的证书。但是,仅由共享证书表示的委派证明不完整(参见§IV-A2),这导致在向最终用户显示适当的安全指示符时丧失HTTPS的功能。例如,假设网站所有者已申请EV(扩展验证)证书以增强网站的保证级别,那么他将无法向网站的用户显示它,而是共享低级别DV(域验证) )属于他的CDN提供商的证书指示符。而且,我们的经验表明,在这种机制中也存在委托撤销的问题。

对于后端通信,我们测量了五个CDN提供商的行为,发现它们都远非完美。其中两个使用HTTP而不是HTTPS进行后端通信。其他三个虽然使用HTTPS,但在建立安全通道时没有执行适当的身份验证,因此容易受到MITM攻击。

为了解决使用CDN部署HTTPS的挑战,我们首先使用名为名称约束证书的现有技术检查潜在的解决方案。在此方法中,网站所有者扮演从属CA的角色,向CDN提供商颁发证书,限制为所有者的域。虽然这个解决方案在理论上是可行的,并且没有任何协议修改,但我们认为由于以下三个原因,它在部署中是不实际的。首先,我们在一些流行的Web浏览器中发现了一个漏洞,可以轻松绕过名称约束。其次,由于需要运行从属CA,该方法会给网站所有者带来沉重的开销。此外,由于严格的审查和审计责任,商业CA不太可能激励他们的客户成为从属CA.

然后,我们通过扩展名为DANE的新兴技术提出另一种解决方案。在此解决方案中,网站所有者可以明确地向他的代表团显示他的TLSA记录,该记录将网站和CDN提供商的证书相关联。因此,最终用户可以验证原始网站和CDN提供商的身份,以及它们之间的委托。我们的分析和实现表明,该解决方案可以有效地解决CDN中的HTTPS问题。
总之,我们在本文中做出以下贡献:
• 分析在CDN中部署HTTPS的问题和挑战;
• 用于调查CDN提供商中HTTPS的当前技术,识别其缺陷和实践问题的测量;
• 关于HTTPS使用的X.509证书名称约束问题的发现和实验;
• 基于DANE的轻量级灵活解决方案,可解决CDN环境中的HTTPS身份验证问题。

  • 1
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值