651 字
3 分钟
TLS 1.3 握手过程是什么
  1. 1计算机网络学习路线与文章导读
  2. 2网络分层模型与数据封装是怎么回事
  3. 3TCP/IP 四层模型与 OSI 七层模型
  4. 4IP 地址与 CIDR 子网怎么理解
  5. 5ARP 是什么?主机如何找到目标 MAC 地址
  6. 6IP 路由与默认网关是如何工作的
  7. 7TCP 和 UDP 有什么区别?如何选择
  8. 8TCP 握手、挥手和丢包重传分别解决什么问题
  9. 9TCP 三次握手与四次挥手
  10. 10TCP 流量控制和拥塞控制有什么区别
  11. 11TCP 为什么可靠:流量控制、拥塞控制与局限性
  12. 12TCP 丢包、粘包和拆包是什么
  13. 13HTTP/1.0、HTTP/1.1、HTTP/2 与 HTTP/3 有什么区别
  14. 14HTTP 请求包含哪些内容
  15. 15HTTP 中 GET 和 POST 有什么区别
  16. 16HTTP 方法的安全性与幂等性怎么区分
  17. 17HTTP 状态码与网络故障如何区分排查
  18. 18常见 HTTP 状态码与网站故障排查
  19. 19HTTP 和 HTTPS 有什么区别
  20. 20谈谈对 DNS 和 CDN 的理解
  21. 21从输入网址到网页显示发生了什么
  22. 22TCP 的 TIME_WAIT 状态有什么作用
  23. 23TCP 的 CLOSE_WAIT 状态是什么,过多如何排查
  24. 24TLS 1.3 握手过程是什么本文
  25. 25HTTPS 如何校验证书
  26. 26HTTP 强缓存和协商缓存怎么工作
  27. 27HTTP Keep-Alive 是什么,连接如何复用
  28. 28WebSocket 和 HTTP 有什么区别
  29. 29服务端如何解析 HTTP 请求的数据
  30. 30NAT 是什么?端口映射如何实现
  31. 31ICMP、ping 和 traceroute 分别做什么
  32. 32网络故障如何分层排查
  33. 33Cookie、Session、Token 与 JWT 有什么区别
  34. 34常见的登录鉴权方式有哪些
  35. 35什么是 SYN Flood 攻击

TLS 握手的目标是协商安全参数、验证服务端身份并得到后续加密通信使用的密钥。以常见的 TLS 1.3 完整握手为例,客户端发送 ClientHello,列出支持的版本、密码套件、随机数、密钥份额等;服务端选定参数,返回 ServerHello 和自己的密钥份额,双方由密钥交换计算出共享秘密。

服务端随后发送证书链及 CertificateVerify 等消息证明其持有相应私钥,并通过 Finished 消息校验握手 transcript。客户端检查证书后也发送 Finished。双方据协商结果导出流量密钥,之后应用数据通过记录层加密并做完整性保护。不同协商扩展、客户端证书、PSK 会改变消息流程;0-RTT 仅适用于特定恢复场景并有重放风险。

TLS 1.3 删除/调整了旧版本中的部分算法和握手方式,不能把 TLS 1.2 的消息顺序照搬为 TLS 1.3。密钥交换提供会话密钥材料,证书签名负责身份认证;后续数据主要使用对称算法,兼顾效率。

握手协商还会确定应用协议,例如通过 ALPN 选择 HTTP/2 或 HTTP/1.1。握手消息由 transcript 参与认证,防止中间人悄悄改写协商参数。实际抓包时若看到握手失败,应结合告警类型、双方支持的版本/密码套件、证书链以及系统时钟分析;单独看到“TLS error”不足以确定原因。不要通过关闭证书验证来绕过错误。

常见追问#

TLS 握手为什么要随机数和密钥份额?#

它们参与协商新鲜的会话密钥,使每次连接的密钥具有独立性。仅交换证书公钥并不等于双方已经建立了加密会话。

证书和会话密钥分别做什么?#

证书把公钥与身份绑定,并由证书链建立信任;会话密钥用于保护当前连接的数据。两者用途不同。

TLS 1.3 能否恢复会话?#

可以通过 PSK 等方式恢复,减少握手往返。启用 0-RTT 时早期数据可能被重放,因此应用不能不加区分地对其执行非幂等操作。

TLS 握手成功就代表 HTTP 请求安全了吗?#

握手确保到被验证对端的连接安全,但服务器应用、终端设备、代理配置和用户权限仍可能有问题;TLS 不替代身份授权和业务安全。

TLS 1.3 握手过程是什么
https://blog.xqcherry.top/posts/interview/network/tls-handshake-process/
作者
xqcherry
发布于
2026-10-12
许可协议
CC BY-NC-SA 4.0