← 返回首页
HTTPS的加密流程?TLS握手阶段如何交换密钥?
HTTPS 完整加密流程 + TLS 握手密钥交换原理。
一、HTTPS 本质
HTTPS = HTTP + TLS
HTTP:明文传输(不安全)
TLS:加密层(负责加密、身份认证、防篡改)
二、一句话核心
TLS 用 非对称加密 安全交换对称密钥,再用 对称加密 高速传输数据。
三、TLS 1.3 握手流程(现代 HTTPS 主流)
- Client Hello(客户端 → 服务端)
支持的 TLS 版本
支持的加密套件
随机数 client_random
- Server Hello(服务端 → 客户端)
确定 TLS 版本
确定加密套件
随机数 server_random
服务端证书(含公钥)
- 客户端验证证书
验证证书是否由可信 CA 签发
确认域名、有效期、未被吊销
- 客户端生成 预主密钥 Pre-Master Secret
用服务端公钥加密后发给服务端
只有服务端有私钥能解开
- 双方算出 主密钥 Master Secret
双方都用这三个值计算:
client_random
server_random
pre-master secret
最终得到一组会话密钥(对称密钥)
- 加密通信开始
之后所有数据都用对称加密传输,速度快、安全。