密码套件:密码,算法和协商安全设置
字数 956 2025-08-10 08:28:00
TLS 1.2密码套件详解
加密类型概述
对称加密
- 使用两个相同的密钥进行加密和解密
- 用于实际通信加密
- 常见算法:AES(高级加密标准)
- 密钥大小:128位到256位
- 特点:计算效率高,安全性好
非对称加密
- 使用一对不同的密钥(公钥和私钥)
- 用于身份验证和密钥交换
- 常见算法:RSA
- 密钥大小:2048位、3072位或4096位
- 特点:计算成本高,增加握手延迟
密码套件的四个组件
1. 密钥交换机制
决定如何传输对称会话密钥
RSA密钥交换
- 客户端使用服务器公钥加密预主密钥并传输
- 服务器使用私钥解密预主密钥
- 双方使用PRF、随机数和预主密钥导出主密钥
- 使用主密钥和更多PRF计算会话密钥
缺点:
- 已从TLS 1.3中移除
- 容易遭受填充攻击
- 不支持完美前向保密(PFS)
Diffie-Hellman (DH)密钥交换
- 交换随机数(g和p)
- 双方选择自己的主控机密(a和b)
- 计算:g^a mod p = A,g^b mod p = B
- 交换A和B
- 双方独立计算共享密钥:B^a mod p = A^b mod p
特点:
- 不需要非对称加密
- 双方独立推导出共享密钥
椭圆曲线Diffie-Hellman (ECDH)
- DH的现代迭代
- 使用椭圆曲线密码学
- 计算基于椭圆曲线上的点
临时版本(ECDHE):
- TLS 1.3中的标准
- 支持完美前向保密
- 消除了静态密钥的安全隐患
PSK (预共享密钥)
- 使用预先交换的对称密钥
- 不常见于商业用途
- 未包含在TLS 1.3中
2. 认证机制
验证通信双方的身份
3. 批量加密算法
用于实际数据传输的对称加密算法
4. 消息认证码(MAC)
确保消息完整性和真实性
TLS 1.2与TLS 1.3的主要区别
-
密钥交换:
- TLS 1.3移除了静态密钥交换机制(RSA, 静态DH)
- 仅支持短暂密钥交换(如ECDHE)
-
完美前向保密:
- TLS 1.3强制要求PFS
- 即使私钥泄露,历史会话也不会被解密
-
密码套件简化:
- TLS 1.3简化了密码套件结构
- 移除了不安全的旧算法
安全建议
- 优先使用TLS 1.3
- 如果必须使用TLS 1.2:
- 选择ECDHE密钥交换
- 使用AES-256等强对称加密
- 禁用不安全的密码套件
- 避免使用静态密钥交换机制
- 确保实现完美前向保密