TLS 全称为 Transport Layer Security,是一种互联网传输层安全协议,其前身为 SSL 协议(即我们常见的 https 协议)。TLS 协议采用主从式架构模型,用于在两个应用程序间透过网络创建起安全的连线,防止在交换资料时受到窃听及篡改。

TLS 的连接流程

  • 当客户端连接到支持 TLS 协议的服务器要求创建安全连接并列出了受支持的密码包(包括加密算法、散列算法等),握手开始。
  • 服务器从该列表中决定密码包,并通知客户端。
  • 服务器发回其数字证书,此证书通常包含服务器的名称、受信任的证书颁发机构(CA)和服务器的公钥。
  • 客户端确认其颁发的证书的有效性。
  • 为了生成会话密钥用于安全连接,客户端使用服务器的公钥加密随机生成的密钥,并将其发送到服务器,只有服务器才能使用自己的私钥解密。
  • 利用随机数,双方生成用于加密和解密的对称密钥。这就是 TLS 协议的握手,握手完毕后的连接是安全的,直到连接(被)关闭。

如果上述任何一个步骤失败,TLS 握手过程就会失败,并且断开所有的连接。

5/5 - (1 vote)