文章目录
前言
随着网络服务对隐私与完整性要求的提高,TLS/SSL 已成为互联网通信的基础保护层。
一、TLS / SSL 是什么?
SSL(Secure Sockets Layer)是早期的加密传输协议,后来演进为更安全的 TLS(Transport Layer Security)。TLS 旨在为客户端/服务端通信提供:保密性(防窃听)、数据完整性(防篡改)与身份验证(通常基于 X.509 证书的公钥基础设施)。现代互联网应以 TLS 为标准,避免使用已弃用的 SSL 版本。
二、简要历史与版本
- SSLv2 / SSLv3:历史遗留版本,存在已知严重漏洞(如 POODLE),应禁用。
- TLS 1.0 / 1.1:已被逐步弃用(大多数机构与浏览器不再信任)。
- TLS 1.2:长期主流版本,支持多种密码套件与扩展。
- TLS 1.3:RFC 8446 标准化(重大简化与安全/性能改进,如更短握手、更少可配置的危险选项)。推荐默认开启 TLS 1.3,并仅在兼容性需要时保留 TLS 1.2。
三、TLS 的工作原理
- 客户端发起连接,告知支持的协议版本、密码套件列表与扩展(ClientHello)。
- 服务器从中选择协议版本与套件,返回 ServerHello,并发送证书链(X.509)以证明自己的身份。
- 双方进行密钥协商(现代通常用基于椭圆曲线的 ECDHE 以实现前向保密 PFS),生成对称密钥用于后续数据加密(常见为 AES-GCM 或 ChaCha20-Poly1305)。
- 完成后双方切换到加密通道,应用层数据在加密信道上交换。
这个流程在 TLS 1.3 中被简化(减少往返、移除了易错/危险的选项),并默认更偏向 AEAD 与 PFS。
四、常见攻击
- POODLE(针对 SSLv3 的填充降级攻击)说明:保持兼容性时会引入重大风险,必须禁用 SSLv3。
- Heartbleed(OpenSSL 内存泄露漏洞,2014):暴露私钥与敏感内存,强调库/依赖的及时更新与密钥轮换。
- 中间人(MITM)与降级攻击:强制使用 PFS、避免静态 RSA 密钥交换、使用 HSTS 等可以降低风险。
以上事件强调:选择安全默认、及时补丁、尽量自动化证书管理(例如使用自动化 CA)是实务要点。