首页>安全资讯>TLS 1.3 如何为HTTPS连接提速

TLS 1.3 如何为HTTPS连接提速

OpenSSL 官方宣布,即将发布的新版本 (OpenSSL 1.1.1) 将会提供 TLS1.3 的支持,而且还会和之前的1.1.0 版本完全兼容。TLS1.3是一种新的加密协议,它既能提高互联网用户的访问速度,又能增强安全性,同时大大提升HTTPS连接的速度性能。

与TLS1.2及更早版本的区别

在配置正常的情况下,TLS1.2会很安全。但TLS1.2具有很强的可配置性,因此一些有安全漏洞的站点,为兼容老版本的浏览器没有关闭一些旧的属性。TLS1.3信奉“少即是多”哲学,取消了对一些老旧而衰弱的加密方式的支持,TLS1.2中原有的大量特性都被删除了,这些特性包括:

TLS 1.3版本是对规范的重大修改,一些工作方式也非常不同:

完整的HTTPS 连接建立步骤

在 Web 领域,传输延迟(Transmission Latency)是 Web 性能的重要指标之一,低延迟意味着更流畅的页面加载以及更快的API 响应速度。而一个完整的 HTTPS 链接的建立大概需要以下四步:

第一步:DNS 查询

浏览器在建立链接之前,需要将域名转换为互联网 IP 地址。一般默认是由你的 ISP DNS提供解析。ISP 通常都会有缓存的,一般来说花费在这部分的时间很少。

第二步:TCP 握手( 1 RTT)

和服务器建立 TCP 连接,客户端向服务器发送 SYN 包,服务端返回确认的 ACK 包,这会花费一个往返(1 RTT)

第三步:TLS 握手(2 RTT)

该部分客户端会和服务器交换密钥,同时设置加密链接,对于 TLS 1.2 或者更早的版本,这步需要 2 个 RTT

第四步:建立 HTTP 连接(1 RTT)

一旦 TLS 连接建立,浏览器就会通过该连接发送加密过的 HTTP 请求。

我们假设 DNS 的查询时间忽略不计,那么从开始到建立一个完整的 HTTPS 连接大概一共需要 4 个 RTT,如果是浏览刚刚已经访问过的站点的话,通过 TLS 的会话恢复机制,第三步 TLS 握手能够从 2 RTT 变为 1 RTT。

总结:

建立新连接:4 RTT + DNS 查询时间

访问刚浏览过的连接:3 RTT + DNS 查询时间

TLS1.3如何减少延迟

那么 TLS 1.3 是如何减少延迟的?先简单回顾一下 TLS 1.2 是如何工作的。

TLS 1.2 建立新连接

TLS 1.2 建立新连接

1.在一次新的握手流程中,Client Hello 总是客户端发送的第一条消息,该消息包含客户端的功能和首选项,与此同时客户端也会将本身支持的所有密码套件(Cipher Suite)列表发送过去

2.Server Hello 将服务器选择的连接参数传送回客户端,同时将证书链发送过去,进行服务器的密钥交换

3.进行客户端部分的密钥交换,此时握手已经完成,加密连接已经可以使用

4.客户端建立 HTTP 连接

TLS 1.2 会话恢复

TLS 1.2 会话恢复

会话恢复:

在一次完整协商的连接断开时,客户端和服务器都会将会话的安全参数保留一段时间。希望使用会话恢复的服务器会为会话指定唯一的标识,称为会话 ID。

1.希望恢复会话的客户端将相应的会话 ID 放入 ClientHello 消息中,提交给服务器

2.服务器如果愿意恢复会话,将相同的会话 ID 放入 Server Hello 消息返回,使用之前协商的主密钥生成一套新密钥,切换到加密模式,发送完成信息

3.客户端收到会话已恢复的消息,也进行相同的操作。

TLS 1.3 建立新连接

TLS 1.3 建立新连接

1.在一次新的握手流程中,客户端不仅会发送 Client Hello 同时也会将支持的密码套件以及客户端密钥发送给服务端,相比于 TLS1.2,该步骤节约了一个 RTT

2.服务端发送 Server Hello ,服务端密钥和证书

3.客户端接收服务端发过来的信息,使用服务端密钥,同时检查证书完整性,此时加密连接已经建立可以发送 HTTP 请求,整个过程仅仅一个 RTT

TLS 1.3 0-RTT 会话恢复

TLS 1.3 0-RTT 会话恢复

TLS 1.2 中通过 1 个RTT 即可完成会话恢复,那么 TLS 1.3 是如何做到 0 RTT 连接的?当一个支持 TLS 1.3 的客户端连接到同样支持 TLS 1.3 的服务器时,客户端会将收到服务器发送过来的 Ticket 通过相关计算,一起组成新的预共享密钥,PSK(PreSharedKey)。客户端会将该 PSK 缓存在本地,在会话恢复时在 Client Hello 上带上 PSK 扩展,同时通过之前客户端发送的完成(finished)计算出恢复密钥(Resumption Secret)通过该密钥加密数据发送给服务器。服务器会从会话 Ticket 中算出 PSK,使用它来解密刚才发过来的加密数据。至此完成了该 0-RTT 会话恢复的过程。

以上简单描述了 TLS 1.3 建立连接的大致流程,也解释了为什么 TLS 1.3 相比于之前的 TLS 1.2 会有更出色的性能表现。

总结

TLS 1.3 将是 Web 性能以及安全的一个新的里程碑,为HTTPS连接提速,淡化了大家之前对使用 HTTPS 性能上的隐忧。随着 HTTP/2 的不断普及,全网 HTTPS 将成为一种必然。

沃通SSL证书

沃通SSL证书帮助网站快速实施HTTPS加密。沃通SSL证书Pre系列产品支持所有浏览器和各种新老操作系统,支持各种新老移动终端,并提供细致的本地化客户服务和专业的一对一技术支持,十余年的证书行业服务经验,帮助用户应对各类复杂应用场景,更加快捷地完成证书部署。

相关资讯:

HTTPS加密协议详解(二):TLS/SSL工作原理

什么是TLS/SSL协议,TLS/SSL协议与HTTPS有什么关系,TLS/SSL协议工作原理介绍。... HTTPS协议的主要功能基本都依赖于TLS/SSL协议,本节分析TLS/SSL协议工作原理。TLS...

HTTPS加密协议详解(四):TLS/SSL握手过程

TLS/SSL握手过程是怎么样的?基于RSA握手和密钥交换的客户端验证服务器为示例详解握手过程。

HTTP2.0提速,让网站飞起来-HTTP2.0优势详解

HTTP/2.0(超文本传输协议第2版,最初命名为HTTP 2.0),是HTTP协议的的第二个主要版本,使用于万维网。HTTPS/2.0将比HTTP 1.1传输速度更快,由于强制使用https加密...

转载:HTTPS,SPDY,HTTP/2三者性能的简单对比

Firefox 35是第一个默认开启支持HTTP/2协议的浏览器。Google现在在其服务器上同时支持了HTTP/2第14版草案和SPDY协议,这就给了我们一个基于同一个...