跳到主要内容

11. 安全性考虑

安全性考虑事项在本文档的各处进行了讨论。本备忘录强调以下安全性考虑事项。

11.1. 攻击面​

TLS 协议存在多种攻击面,包括:握手协议、记录协议、密码套件协商和证书验证。

11.2. 握手协议中的攻击​

攻击者在握手期间可能尝试进行中间人攻击,以协商较弱的密码套件或更改安全参数。为缓解此风险,握手消息在 Finished 消息中包含校验和,以验证握手未被篡改。Finished 消息使用新协商的密钥进行加密和认证。

11.3. 密码学攻击​

已知攻击包括:

  • 针对 CBC 模式密码的填充预言攻击(如 [CBCATT])。TLS 1.2 要求在加密之前计算 MAC,并使用随机 IV,以缓解此类攻击。
  • 针对流密码的已知明文攻击。为缓解此风险,对于流密码应使用随机填充。
  • 针对 PRF 的攻击。TLS 1.2 使用基于 SHA-256 的 PRF,以增强健壮性。

11.4. 证书验证​

TLS 协议依赖于 PKI 来验证证书。攻击者可能尝试使用无效或伪造的证书。实现必须验证证书链,并检查吊销状态(例如使用 OCSP 或 CRL)。

11.5. 向后兼容性攻击​

TLS 1.2 实现必须防范降级攻击,例如攻击者将连接降级到 SSLv3 或早期 TLS 版本。实现应优先选择 TLS 1.2,并避免使用已知不安全的密码套件。

11.6. 其他考虑事项​

  • 随机数的质量至关重要。必须使用密码学安全的随机数生成器。
  • 会话恢复必须安全处理,以防止重放攻击。
  • 实现必须正确处理错误,以避免信息泄露。

注意:本译文由 AI 翻译,可能包含错误。请参考 RFC 5246 官方英文原文进行核对。