核心思路:传输层安全协议(TLS/SSL)是最主流方案,它不是单纯加密,而是一套「身份认证 + 密钥协商 + 对称加密传输 + 完整性校验」的组合流程;除此之外还有 IPsec、SSH、QUIC 等不同层级的安全协议,在不同场景做传输加密。
现在 SSL 已经废弃,正式标准是 TLS(当前主流 TLS1.2、TLS1.3,优先 TLS1.3)
一、TLS 完整加密流程(HTTPS 底层就是 TLS)
1. 握手阶段:安全协商密钥(最关键)
目标:通信双方(客户端 ↔ 服务端)在公网不泄露的前提下,协商出同一个会话密钥
客户端 Hello:发给服务端支持的 TLS 版本、加密套件、随机数
服务端 Hello:选定 TLS 版本、加密套件、生成服务端随机数,返回数字证书
证书校验(身份认证) 客户端用 CA 根证书验证服务端证书签名,确认对方不是中间人;证书里包含服务端公钥。
作用:防止你连到伪造的钓鱼服务器
密钥交换
RSA 模式:客户端生成预主密钥,用服务端公钥加密发给服务器,服务器用私钥解密拿到;
ECDHE(椭圆曲线 Diffie-Hellman,TLS1.3 默认):双方各自生成临时公私钥对,交换公钥,双方独立算出相同预主密钥;前向安全(PFS):就算服务器私钥泄露,历史加密流量无法解密。
双方结合「客户端随机数 + 服务端随机数 + 预主密钥」,派生出会话密钥(对称密钥)
✅ 握手特点:非对称加密只用来协商密钥,不加密业务数据(非对称慢,适合少量数据)
2. 传输阶段:对称加密加密业务数据
握手完成后,后续所有业务报文用对称加密算法加密:
常见:AES-GCM、ChaCha20-Poly1305
优点:速度快、适合大流量
GCM 这类是 AEAD(带关联数据的认证加密):同时做到【加密 + 完整性校验 + 防篡改】
3. 附加保护
MAC / 认证标签:校验报文有没有被中间人篡改
序列号:防重放攻击(攻击者重复发送旧报文)
关闭告警:异常时终止会话
TLS1.3 大幅简化握手:1-RTT 甚至 0-RTT,去掉弱加密套件,强制 AEAD,安全性和性能更好。

二、其他传输安全协议的加密机制
三、几个容易混淆的关键点
加密 ≠ 防篡改 单纯加密只能不让别人看懂;AEAD 同时生成认证标签,一旦报文被改,标签校验失败直接丢弃。
前向安全 PFS 使用 ECDHE 这类临时密钥交换算法:服务器长期私钥只用来签名,不直接加密预主密钥。就算私钥泄露,之前抓的流量依然无法解密;RSA 密钥交换没有前向安全。
证书只是身份,不是加密密钥 证书用来证明 “这个公钥确实属于目标服务器”,不是用来加密业务数据。
传输加密解决的是链路安全,不解决:
数据到服务器之后存储是否加密
应用层业务逻辑漏洞(SQL 注入、越权)
客户端本地数据泄露

四、一句话总结
安全协议(以 TLS 为代表)先用非对称密码体系完成身份认证 + 安全密钥协商,再用高速对称加密算法加密后续传输数据,搭配完整性校验、防重放机制,保证链路上的数据:窃听者看不懂、中间人改不了、冒充者连不上。
本文原创作者:易君召,详见:https://www.yijunzhao.cn/authors/yijunzhao,转载请注明出处。
原文链接
欢迎访问 小易撩挨踢