HTTPS加密过程是怎样的?
HTTPS 加密过程就是浏览器与服务器建立安全连接(TLS 握手)的全过程。在用户访问网站时,浏览器首先验证服务器的 SSL证书是否可信,然后协商加密算法和会话密钥,最后再使用该密钥对所有数据进行加密传输。
整个过程虽然只需要几百毫秒,但却完成了三个关键任务:
- 验证网站身份,确认访问的是正确的网站;
- 协商加密密钥,防止通信内容被窃听;
- 保证数据完整性,避免数据在传输过程中被篡改。
正因为有了这一过程,HTTPS 才能保护账号密码、支付信息、用户隐私等敏感数据,也是现代网站安全的基础。
HTTPS加密过程分为哪几个步骤?
一次完整的 HTTPS 连接,大致会经历以下几个阶段。
第一步:浏览器发起 HTTPS 请求
当用户输入:https://www.example.com
浏览器首先与服务器建立 TCP 连接(HTTP/3 使用 QUIC 协议),随后立即开始 TLS 握手,而不会直接传输网页内容。
客户端会向服务器发送 Client Hello 消息,其中包括:
- 支持的 TLS 版本(TLS 1.2 / TLS 1.3)
- 支持的加密算法(Cipher Suites)
- 随机数(Client Random)
- 支持的扩展(如 SNI、ALPN)
服务器根据这些信息选择双方都支持的安全参数。
第二步:服务器返回 SSL 证书
服务器收到请求后,会返回自己的数字证书,其中包含:
- 网站域名
- 公钥
- CA(证书颁发机构)
- 有效期
- 数字签名
- SAN(备用域名)
浏览器并不会立即相信这张证书,而是开始验证。
主要检查内容包括:
- 域名是否一致
- 是否在有效期内
- 是否被吊销
- 是否由受信任 CA 签发
- 证书链是否完整
只有全部验证通过,TLS 握手才能继续。
如果验证失败,就会看到:
- 您的连接不是私密连接
- NET::ERR_CERT_AUTHORITY_INVALID
- NET::ERR_CERT_DATE_INVALID
- ERR_CERT_COMMON_NAME_INVALID
等浏览器安全提示。
第三步:协商会话密钥
证书验证成功后,浏览器和服务器开始协商真正用于通信的加密密钥。
现代 HTTPS 基本采用 ECDHE 密钥交换算法。
其特点是:
- 每次访问都会生成新的临时密钥;
- 即使服务器私钥未来泄露,也无法解密以前抓取的数据;
- 支持前向保密(Forward Secrecy)。
浏览器和服务器根据双方随机数及 ECDHE 参数,分别计算出相同的 Session Key(会话密钥)。
整个过程中,这个密钥不会直接在网络上传输,因此无法被第三方获取。
第四步:开始 HTTPS 加密通信
握手完成以后,浏览器与服务器都会保存同一把会话密钥。
之后所有 HTTP 数据都会转换为 HTTPS 加密数据,包括:登录账号,用户密码,Cookie,API 请求,支付信息,图片、CSS、JavaScript等.
现代浏览器通常使用:
- AES-128-GCM
- AES-256-GCM
- ChaCha20-Poly1305
等高性能对称加密算法完成数据传输。
由于对称加密速度远高于 RSA 等非对称算法,因此 HTTPS 实际运行效率非常高。
TLS 1.2 与 TLS 1.3 有什么区别?
目前互联网主要使用 TLS 1.2 和 TLS 1.3。
| 对比项目 | TLS 1.2 | TLS 1.3 |
|---|---|---|
| 握手次数 | 2 RTT | 1 RTT |
| 默认密钥交换 | ECDHE | ECDHE |
| 是否支持前向保密 | 支持 | 强制支持 |
| 是否保留弱算法 | 是 | 否 |
| 安全性 | 高 | 更高 |
目前 Chrome、Edge、Safari、Firefox 均优先使用 TLS 1.3。
如果服务器仍开启 TLS 1.0 或 TLS 1.1,不仅安全性较低,也可能无法满足 PCI DSS、等保等安全要求。
SSL证书在HTTPS中起什么作用?
很多人认为 HTTPS 的加密完全依赖 SSL 证书,其实并不准确。
SSL 证书真正负责的是建立信任。
它主要完成两项工作:
- 证明服务器身份真实可信;
- 提供公钥用于安全密钥交换。
真正负责大量数据加密的是后续协商生成的会话密钥。
因此可以理解为:
SSL证书负责"证明你是谁",TLS负责"保护通信内容"。
两者共同构成完整的 HTTPS 安全体系。
为什么网站必须部署SSL证书?
如果网站没有部署 SSL 证书:
- 浏览器会提示"不安全"
- 登录信息可能被窃取
- 用户数据存在泄露风险
- API 请求容易遭受中间人攻击
- HTTPS 无法启用
- 不利于搜索引擎收录与用户信任
因此,无论是企业官网、电商平台、后台管理系统还是微信小程序接口,都建议部署受信任 CA 签发的 SSL 证书。
常见问题
HTTPS 会降低网站访问速度吗?
不会。
早期 HTTPS 的确会增加握手开销,但随着 TLS 1.3、HTTP/2、HTTP/3、Session Resume、OCSP Stapling 等技术的发展,大多数网站开启 HTTPS 后几乎不会影响访问速度。
HTTPS 是否能够防止所有网络攻击?
不能。
HTTPS 主要保护的是数据传输安全,可以防止:中间人攻击(MITM),数据窃听,数据篡改,身份伪造
但无法防御:SQL 注入,XSS,CSRF,DDoS,服务器漏洞等
因此 HTTPS 应与 WAF、防火墙、漏洞修复等安全措施配合使用。
HTTPS 和 SSL 是一回事吗?
不是。
SSL 是早期的安全协议,目前已经被 TLS 取代,但"SSL证书"这一名称一直沿用至今。
现在网站实际使用的是 TLS 协议,只是行业内仍习惯称为 SSL 证书。



京公网安备11010502031690号
网站经营企业工商营业执照
















