TLS连接的握手过程

TLS(传输层安全协议)握手过程是客户端(如浏览器)和服务器(如网站)之间建立安全连接的一系列步骤。以下是TLS握手的详细过程:

TLS连接的握手过程_第1张图片

图片来自Vector

  1. 1. 客户端问候(Client Hello):

客户端向服务器发送“Client Hello”消息,包含支持的TLS版本、加密套件列表和一个随机数(Client Random)。

  1. 2.服务器问候(Server Hello):

服务器回复“Server Hello”消息,包含服务器选择的TLS版本、加密套件和另一个随机数(Server Random)。

服务器还会发送其SSL证书,用于身份验证。

  1. 3.服务器密钥交换和证书请求(Server Key Exchange and Certificate Request):

服务器发送密钥交换信息(如Diffie-Hellman参数)和可能的证书请求,以便客户端提供其证书进行双向认证。

  1. 4.客户端证书和密钥交换(Client Certificate and Key Exchange):

如果服务器请求了客户端证书,客户端会发送其证书。

客户端生成一个预主密钥(Premaster Secret),并使用服务器的公钥加密后发送给服务器。

  1. 5.生成会话密钥(Generate Session Keys):

客户端和服务器使用Client Random、Server Random和预主密钥生成会话密钥,用于后续的对称加密通信1。

  1. 6.完成握手(Finish Handshake):

客户端发送“Finished”消息,用会话密钥加密,表示握手过程结束。

服务器也发送“Finished”消息,用会话密钥加密,确认握手完成。

  1. 7. 安全通信(Secure Communication):

握手完成后,客户端和服务器使用生成的会话密钥进行加密通信。

TLS 1.3版本简化了握手过程,使其更快更安全。

TLS主要是对传输层数据进行加密,他有几个版本目前TLS1.2和TLS1.3版本(2015年发布)用的比较多。

 

你可能感兴趣的:(#,通信管理——COM,TLS)