目录
一、HTTPS证书体系:核心是“信任链”机制
二、HTTPS 通信加密流程(TLS 握手 + 数据传输)
三、核心逻辑总结
HTTPS 证书(SSL/TLS 证书)是用于验证服务器身份并加密通信的电子文件,其核心作用是解决 “如何让客户端信任服务器身份” 以及 “如何安全交换加密密钥”。证书体系通过层级化的信任机构(CA) 构建,本质是一套 “由权威机构背书的身份验证体系”。
1. 证书体系的核心组成
2. 证书的“合法性验证”逻辑
客户端验证服务器证书的核心是 “验证签名”:
(1)客户端从服务器证书中提取 “签发机构(中间 CA)” 和 “数字签名”;
(2)用本地存储的 “中间 CA 公钥” 解密签名,得到 “证书内容的哈希值 A”;
(3)客户端对服务器证书的内容(域名、公钥等)计算哈希值 B;
(4)若 A=B,说明证书内容未被篡改;再通过根证书验证中间证书合法性,最终确认服务器证书可信。
HTTPS 通信的核心是 “先通过非对称加密交换对称密钥,再用对称加密传输数据”(结合证书验证身份)。以主流的TLS 1.2为例,流程分为 “TLS 握手” 和 “加密通信” 两阶段。
1. 前置:TCP 三次握手
HTTPS 基于 TCP 协议,通信前先完成 TCP 三次握手(建立可靠连接),之后进入 TLS 握手。
2. 核心:TLS 握手(密钥交换与身份验证)
目标:①验证服务器身份;②安全交换 “会话密钥”(后续用于对称加密)。
客户端向服务器发送:支持的 TLS 版本(如 TLS 1.2)、加密套件列表(如 ECDHE-RSA-AES256-GCM-SHA384)、随机数 A。
服务器选择 TLS 版本和加密套件,返回:随机数 B、服务器证书(含公钥)、服务器随机数(部分加密套件需)。
客户端用本地根证书验证服务器证书(按 “信任链” 逻辑):
(1)若验证失败(如证书过期、域名不匹配、签名无效),浏览器提示 “不安全”;
(2)验证通过后,提取服务器证书中的公钥。
客户端生成一个随机数(预主密钥),用服务器公钥加密后发送给服务器(非对称加密:只有服务器私钥能解密)。
服务器用自己的私钥(与证书中公钥配对)解密,得到预主密钥。
客户端和服务器分别用 “随机数 A + 随机数 B + 预主密钥”,通过相同算法生成会话密钥(对称密钥,用于后续数据加密)。
客户端和服务器分别发送 “已准备好对称加密” 的通知(用会话密钥加密),握手结束。
3. 数据传输阶段(对称加密)
TLS 握手后,客户端和服务器用 “会话密钥” 进行对称加密通信:
1. 证书的作用:通过 CA 背书验证服务器身份(防伪装),同时提供服务器公钥(用于加密密钥交换)。
2. 加密逻辑:非对称加密(证书公钥)用于安全交换 “会话密钥”,对称加密(会话密钥)用于实际数据传输,兼顾安全性和效率。
3. 信任基础:客户端预装的根证书是整个体系的 “信任锚”,所有证书的合法性最终追溯到根证书。
通过这套体系,HTTPS 解决了 HTTP 的 “明文传输(易被窃听)”“身份无法验证(易被伪装)”“数据易被篡改” 三大问题。