400-080-0149

TLS1.2与TLS1.3握手流程介绍

TLS1.2与TLS1.3都是目前SSL证书在广泛使用的协议,经常会有人将这两种协议拿来比较,本文主要来说说这两种协议的握手流程,好方便大家对它们有个更深入的了解。

TLS1.2握手流程

第1步:整个连接/握手从客户端向服务器发送“客户端问候”消息开始。此消息包含加密信息,例如支持的协议和支持的 CipherSuites。它还由随机值或随机字节字符串组成。

第2步:响应客户端的“client hello”消息,服务器响应“server hello”消息。此消息包括服务器从客户端提供的密码套件中选择的密码套件。服务器还将其证书连同会话 ID 和另一个随机值一起发送。

第3步:现在客户端验证服务器发送的证书。一旦验证完成,它会发送一个随机字节串,也称为“pre-master secret”,并使用服务器证书的公钥对其进行加密。

第4步:一旦服务器收到预主密钥,客户端和服务器都会生成主密钥以及会话密钥(临时密钥)。这些会话密钥将用于对称加密数据。

第5步:现在客户端向服务器发送“Change Cipher Spec”消息,让它知道它将在会话密钥的帮助下切换到对称加密。与此同时,它还发送“客户端完成”消息。

第6步:响应客户端的“Change Cipher Spec”消息,服务器执行相同操作并将其安全状态切换为对称加密。服务器通过发送“服务器完成”消息来结束握手。

TLS1.3握手流程

第1步:与TLS1.2 握手类似,TLS1.3 握手以“Client Hello”消息开始——有一个重大变化。客户端发送支持的密码套件列表,并猜测服务器可能选择哪种密钥协议协议。客户端还发送其用于该特定密钥协商协议的密钥共享。

第2步:在回复“Client Hello”消息时,服务器使用它选择的密钥协商协议进行回复。“Server Hello”消息还包括服务器的密钥共享、其证书以及“Server Finished”消息。

在TLS1.2握手的第6步中发送的“Server Finished”消息在第二步中发送。从而节省了沿途四步一程。

第3步:现在,客户端检查服务器证书,生成密钥,因为它拥有服务器的密钥共享,并发送“客户端完成”消息。从这里开始,数据的加密开始了。

TLS1.3握手过程只涉及一次往返,而TLS1.2中则需要三个,这导致延迟减少,TLS1.3握手节省了整个往返时间和数百毫秒,这是相对于TLS 1.2握手的重大改进。

相关文章

LAYOUT

SAMPLE COLOR

Please read our documentation file to know how to change colors as you want

BACKGROUND COLOR

BACKGROUND TEXTURE