大型互联网站点HTTPS实践(三)基于协议和配置的优化.docxVIP

大型互联网站点HTTPS实践(三)基于协议和配置的优化.docx

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
大型互联网站点HTTPS实践(三):基于协议和配置的优化   1 前言   在前面的文章中讲到 HTTPS 对用户访问速度的影响。本文就为大家介绍 HTTPS 在访问速度,计算性能,安全等方面基于协议和配置的优化。   2 HTTPS 访问速度优化   2.1 Tcp fast open   HTTPS 和 HTTP 使用 TCP 协议进行传输,也就意味着必须通过三次握手建立 TCP 连接,但一个 RTT 的时间内只传输一个 syn 包是不是太浪费?能不能在 syn 包发出的同时捎上应用层的数据?其实是可以的,这也是 tcp fast open 的思路,简称 TFO。具体原理可以参考 rfc7413。   遗憾的是 TFO 需要高版本内核的支持,linux 从 3.7 以后支持 TFO,但是目前的 windows 系统还不支持 TFO,所以只能在公司内部服务器之间发挥作用。   2.2 HSTS   前面提到过将用户 HTTP 请求 302 跳转到 HTTPS,这会有两个影响:   1、不安全,302 跳转不仅暴露了用户的访问站点,也很容易被中间者支持。   2、降低访问速度,302 跳转不仅需要一个 RTT,浏览器执行跳转也需要执行时间。   由于 302 跳转事实上是由浏览器触发的,服务器无法完全控制,这个需求导致了 HSTS 的诞生:   HSTS(HTTP Strict Transport Security)。服务端返回一个 HSTS 的 http header,浏览器获取到 HSTS 头部之后,在一段时间内,不管用户输入还是,都会默认将请求内部跳转成。   Chrome, firefox, ie 都支持了 HSTS。   2.3 Session resume   Session resume 顾名思义就是复用 session,实现简化握手。复用 session 的好处有两个:   1、减少了 CPU 消耗,因为不需要进行非对称密钥交换的计算。   2、提升访问速度,不需要进行完全握手阶段二,节省了一个 RTT 和计算耗时。   TLS 协议目前提供两种机制实现 session resume,分别介绍一下。   2.3.1 Session cache   Session cache 的原理是使用 client hello 中的 session id 查询服务端的 session cache, 如果服务端有对应的缓存,则直接使用已有的 session 信息提前完成握手,称为简化握手。   Session cache 有两个缺点:   1、需要消耗服务端内存来存储 session 内容。   2、目前的开源软件包括 nginx,apache 只支持单机多进程间共享缓存,不支???多机间分布式缓存,对于百度或者其他大型互联网公司而言,单机 session cache 几乎没有作用。   Session cache 也有一个非常大的优点:   session id 是 TLS 协议的标准字段,市面上的浏览器全部都支持 session cache。   百度通过对 TLS 握手协议及服务器端实现的优化,已经支持全局的 session cache,能够明显提升用户的访问速度,节省服务器计算资源。   2.3.2 Session ticket   上节提到了 session cache 的两个缺点,session ticket 能够弥补这些不足。   Session ticket 的原理参考 RFC4507。简述如下:   server 将 session 信息加密成 ticket 发送给浏览器,浏览器后续握手请求时会发送 ticket,server 端如果能成功解密和处理 ticket,就能完成简化握手。   显然,session ticket 的优点是不需要服务端消耗大量资源来存储 session 内容。   Session ticket 的缺点:   1、session ticket 只是 TLS 协议的一个扩展特性,目前的支持率不是很广泛,只有 60% 左右。   2、session ticket 需要维护一个全局的 key 来加解密,需要考虑 KEY 的安全性和部署效率。   总体来讲,session ticket 的功能特性明显优于 session cache。希望客户端实现优先支持 session ticket。   2.4 Ocsp stapling   Ocsp 全称在线证书状态检查协议 (rfc6960),用来向 CA 站点查询证书状态,比如是否撤销。通常情况下,浏览器使用 OCSP 协议发起查询请求,CA 返回证书状态内容,然后浏览器接受证书是否可信的状态。   如果CA站点在国外,这个过程非常消耗时间,网络不

文档评论(0)

haihang2017 + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档