glownight

返回

HTTPS 比 HTTP 多的核心步骤

HTTP 通常是:TCP 连接 -> 直接发 HTTP 明文请求

HTTPS 通常是:TCP(或 QUIC)连接 -> TLS 握手 -> 再发 HTTP(加密) 多出来的关键是 TLS 握手

  1. 客户端发 ClientHello(支持的 TLS 版本、加密套件、SNI、ALPN 等)
  2. 服务端回 ServerHello + 证书链(并选定加密参数)
  3. 客户端做证书校验(域名、有效期、签名链、是否受信任等)
  4. 双方做密钥交换(常见 ECDHE),生成会话密钥
  5. 发送 Finished,后续 HTTP 数据全部加密传输

证书校验主要在防什么

核心是在防 “你以为连的是A站,实际连到攻击者”,也就是:

  1. 中间人攻击(MITM)
  2. 假冒网站/伪造服务器身份
  3. DNS/路由劫持后被导向假站

本质上保障三件事:

  • 身份真实性(确实是目标域名对应服务器)
  • 传输机密性(内容不被窃听)
  • 传输完整性(内容不被篡改)
HTTPS 相比 HTTP 多了哪些核心步骤?证书校验主要在防什么?
作者 glownight
发布于 2025年4月9日