概念图解难度 · 进阶
HTTPS 加密流程图解:TLS 如何保护你的数据
HTTPS / TLS 握手流程图解,一张图看懂证书、数字签名、密钥交换与对称加密,理解小锁头背后的原理。
#HTTPS#TLS#证书#加密
先看效果

为什么 HTTPS 不是「加了个锁」那么简单
出门锁门很直接,但网络加密有个难题:双方从来没见面,怎么安全地共享一个密码(密钥)? 如果直接在网络上发密码,黑客中途就能看到。
HTTPS(更准确说是 TLS 协议)用一套巧妙的分工解决它:用非对称加密安全地协商出对称密钥,再用对称密钥加密实际数据。因为对称加密快、非对称加密安全但慢。
原理图解
看上面这张图,TLS 握手的四个阶段:
- ClientHello:浏览器说「我要安全连接,我支持这些加密算法(密码套件)」;
- ServerHello + 证书:服务器选好算法,送上自己的数字证书(里面有公钥、域名、签发机构 CA 的签名);
- 交换密钥材料:浏览器验证证书合法后,双方各出随机数,组合生成同一个会话密钥(真正传输用的对称密钥);
- Finished 确认:互发握手过程的摘要(加密),确认两侧密钥一致、没人中途改过包。
握手完成后,浏览器地址栏的小锁头就亮了,之后所有 HTTP 内容都用这个会话密钥加密传输。
关键点:证书为什么能防冒充
当你访问 bank.com,怎么确定对面真是银行?凭据是证书——由受信任的 CA(证书颁发机构)签发。浏览器内置了这些 CA 的公钥:
- 服务器把证书出示给浏览器;
- 浏览器用 CA 公钥验证证书上的数字签名,确认证书是 CA 真签的、没被篡改;
- 再核对证书上的域名和当前访问的域名一致。
任何环节不对,浏览器都会亮红警告。这就是「信任链」:你信任浏览器,浏览器信任 CA,CA 担保了服务器。
常见问题
Q: TLS 1.2 和 1.3 有什么区别? A: TLS 1.3 精简了握手:把密钥交换和证书验证合并,通常 1 个 RTT 就完成(1.2 要 2 个),更快更安全(删除了很多过时算法)。
Q: 证书过期了会怎样? A: 浏览器会报「证书过期」错误并阻止访问。各 CA 已经普及 90 天短证书,配合自动化续期(如 Let’s Encrypt + 定时任务)成为标配。
下一步
HTTPS 讲完,顺便把建立连接的前提补上——TCP 是怎么先握手再传数据的?看 TCP 三次握手图解。