公众号:小博的前端笔记
一、https的加密过程是怎么样的
HTTPS 的加密过程是一个结合对称加密、非对称加密和数字证书验证的复杂流程,主要分为握手协商阶段和加密通信阶段。以下是基于最新技术资料的清晰说明:
📍 1. 握手阶段(SSL/TLS 握手)
-
Client Hello
-
客户端向服务器发送:
- 支持的 SSL/TLS 版本(如 TLS 1.2/1.3)
- 支持的加密算法套件列表(如 AES、RSA)
- 客户端生成的随机数
Random_C
-
-
Server Hello
-
服务器响应客户端:
- 选定双方均支持的 SSL/TLS 版本和加密算法
- 服务器生成的随机数
Random_S - 数字证书(包含服务器公钥和 CA 机构签名)
-
-
证书验证与密钥交换
- 客户端验证服务器证书(通过 CA 根证书确认合法性,防钓鱼
- 客户端生成 预备主密钥(Pre-Master Secret) ,用服务器公钥加密后发送给服务器
- 双方使用
Random_C+Random_S+Pre-Master Secret生成对称会话密钥(Session Key)
-
完成握手
- 双方交换
Finished报文,用会话密钥加密验证握手完整性
- 双方交换
⚡ 2. 加密通信阶段
- 后续所有数据传输均使用协商的对称会话密钥加密(如 AES)
- 对称加密高效处理大量数据,确保传输速度与安全性
🔑 核心加密机制总结
| 技术 | 作用 | 应用阶段 |
|---|---|---|
| 非对称加密(RSA 等) | 安全传输 Pre-Master Secret,防止中间人窃取 | 握手阶段 |
| 对称加密(AES 等) | 高效加密实际通信数据,提升传输效率 | 通信阶段 |
| 数字证书(CA 颁发) | 验证服务器身份,防止公钥被篡改或钓鱼攻击 | 证书验证环节 |
💡 为何使用混合加密?
- 非对称加密确保密钥交换安全,但计算开销大(适合少量数据)
- 对称加密效率高,适合大数据传输,但需安全交换密钥
可见 HTTPS 通过结合两者优势,在安全与性能间取得平衡。
二、什么是非对称加密和对称加密
一、加密机制
-
对称加密
- 密钥使用方式:相同密钥进行加密与解密(例如:AES加密文件后需用同一密钥解密)。
- 核心问题:需预先安全分发密钥(若密钥泄露,加密失效)。
-
非对称加密
-
密钥使用方式
:使用成对密钥
(公钥 + 私钥)。
- 公钥:公开共享,用于加密数据(任何人可向您发送加密信息)。
- 私钥:严格保密,用于解密(仅持有者能读取加密内容)。
-
核心优势:解决密钥分发安全问题(即使公钥被截获,无私钥仍无法解密)。
-
二、性能与效率
| 对比维度 | 对称加密 | 非对称加密 |
|---|---|---|
| 速度 | ⚡ 极快(简单算法) | 🐢 慢(复杂数学运算) |
| 适用数据量 | ✅ 大量数据(文件传输/数据库加密) | ❌ 少量数据(如密钥传输/数字签名) |
典型场景:HTTPS握手阶段用非对称加密传输对称密钥,后续通信改用对称加密,兼顾安全与效率。
三、安全性对比
- 对称加密风险: 密钥传输易被截获(如中间人攻击),一旦泄露则加密体系崩溃。
- 非对称加密优势: 公钥可公开,私钥保密即可保证安全(黑客获取公钥无法解密数据)。
例外:私钥若存储不当(如服务器被入侵),仍存在风险。
四、应用场景
| 加密类型 | 典型算法 | 常见用途 |
|---|---|---|
| 对称加密 | AES, DES, 3DES | 文件加密、磁盘加密、数据库保护、实时通信 |
| 非对称加密 | RSA, ECC, DSA | HTTPS密钥交换、数字签名、身份认证、区块链 |
五、关键技术提醒
-
密钥管理:
- 对称加密需安全通道分发密钥(如物理传递或非对称加密保护)。
- 非对称加密需严格保护私钥(如HSM硬件模块存储)。
-
混合加密实践:
现行安全协议(如TLS/SSL)普遍采用: 步骤1:非对称加密验证身份并传输对称会话密钥; 步骤2:后续通信全程使用对称加密。