概念|TLS 握手与 HTTPS
HTTPS 不是新协议,而是”HTTP + TLS 加密”。理解握手,才懂”为什么中间人看不懂”。
① 是什么
TLS 在 HTTP 之下加一层加密,保证机密性(防窃听)、完整性(防篡改)、身份验证(防冒充)。握手是客户端与服务器协商密钥、验证证书的过程。
② 为什么重要
- 不加密,账号密码、Cookie、业务数据在链路上裸奔,公共 WiFi 下尤甚。
- 配置不当(弱协议、无效证书)会让”加密”形同虚设。
③ 核心概念拆解(带片段)
- 握手步骤(简化,TLS 1.3):
ClientHello → 支持的版本/套件/随机数
← ServerHello + 证书 + 服务端随机数
ClientKeyExchange → 用证书公钥加密的预主密钥
← 用协商出的对称密钥加密的 Finished
之后双方用对称会话密钥加密通信;证书用于证明”你是你要连的服务器”。
- 证书链:由 CA 签发,浏览器校验域名与链完整性。
- 前向保密(PFS):每次会话独立密钥,单次泄露不影响历史流量。
- 配置要点:禁用 SSLv3/TLS1.0/1.1 与弱套件,启用 HSTS(见①组安全头篇)。
④ 常见误区
- 有锁图标=安全?证书可能无效/被诈,仍要校验证书链。
- TLS1.2 一定安全?弱套件/无 PFS 仍有风险,优先 TLS1.3。
- 内网不用 HTTPS?内网也可能被嗅探,应全链路加密。
⑤ 一句话小结
HTTPS = HTTP + TLS;握手用非对称协商出对称会话密钥,配合可信证书实现加密与身份验证——这是所有 Web 安全的传输底座。
下一篇:Web 缓存与缓存投毒
参考来源:https://www.cloudflare.com/learning/ssl/what-happens-in-a-tls-handshake/