# SSL 3.0（SSLv3）是什么？定义、例子与常见误区

> SSL 3.0 是 Netscape 设计的安全套接层协议的最后一个版本，1996 年发布，2014 年被 POODLE 攻破，2015 年被 RFC 7568 废弃。

Source: https://ssl.sh/zh/glossary/ssl-3-0/
Last updated: 2026-11-10

SSL 3.0 是 Netscape 设计的安全套接层协议的最后一个版本，1996 年发布，后来作为历史文档整理为 RFC 6101。[TLS 1.0](https://ssl.sh/zh/glossary/tls-1-0/) 正是在它的基础上制定的，记录层和握手的基本结构一直延续到今天的 TLS。

## 为什么重要
2014 年 10 月公布的 [POODLE](https://ssl.sh/zh/glossary/poodle/) 攻击表明，SSL 3.0 的 CBC 填充无法修补：填充字节不受 MAC 保护，内容也没有规定，攻击者只要能让浏览器反复发请求，就能逐字节还原 Cookie 等敏感数据。SSL 3.0 里唯一不用 CBC 的选择是 RC4，而 RC4 本身也有缺陷，后来被 RFC 7465 禁用，所以 SSL 3.0 根本不存在安全配置。当年很多客户端握手失败后会自动用更低版本重试，攻击者可借此强制[降级](https://ssl.sh/zh/glossary/downgrade-attack/)到 SSL 3.0。[RFC 7568](https://www.rfc-editor.org/rfc/rfc7568) 于 2015 年 6 月正式废弃 SSL 3.0。

## 例子
确认服务器已不再提供 SSLv3：

```bash
nmap --script ssl-enum-ciphers -p 443 example.com
```

输出中不应出现 SSLv3 一节。目前大多数 OpenSSL 版本连发起 SSL 3.0 握手的能力都已去掉。

## 常见误区
- **叫"SSL 证书"，说明网站用的是 SSL 协议。** 证书与协议版本无关，今天所谓的 SSL 证书实际都通过 TLS 1.2 或 1.3 使用，"SSL"只是沿用下来的叫法。
- **POODLE 只影响主动选择 SSL 3.0 的客户端。** 攻击者可以人为触发版本回退，所以服务器必须彻底关闭 SSL 3.0；RFC 7507 定义的 TLS_FALLBACK_SCSV 就是为阻止这类强制降级而加的。
- **SSL 3.0 配 RC4 就没问题。** RC4 自身存在可被利用的偏差，两条路都不安全。

## 相关术语

- [SSL](https://ssl.sh/zh/glossary/ssl/): SSL 是 Netscape 在上世纪 90 年代设计的加密传输协议，已被 TLS 完全取代，如今“SSL”多半只是 TLS 和证书的习惯叫法。
- [TLS](https://ssl.sh/zh/glossary/tls/): TLS 是 IETF 制定的传输层安全协议，为 HTTPS 等网络连接提供加密、完整性保护和服务器身份认证，是 SSL 的继任者。
- [TLS 1.0](https://ssl.sh/zh/glossary/tls-1-0/): TLS 1.0 是传输层安全协议的第一个版本，1999 年以 RFC 2246 发布，2021 年被 RFC 8996 正式废弃，主流浏览器已不再支持。
- [POODLE](https://ssl.sh/zh/glossary/poodle/): POODLE 是 2014 年公布的攻击（CVE-2014-3566），利用 SSL 3.0 不校验 CBC 填充的缺陷，从加密连接中逐字节还原 Cookie 等秘密。
- [降级攻击](https://ssl.sh/zh/glossary/downgrade-attack/): 降级攻击是指攻击者迫使客户端和服务器协商出比双方实际支持的更旧的协议版本或更弱的算法，从而利用其中的弱点。
- [RC4](https://ssl.sh/zh/glossary/rc4/): RC4 是 Ron Rivest 在 1987 年设计的流密码，曾在 SSL/TLS 中广泛使用，因密钥流存在统计偏差，2015 年被 RFC 7465 禁止用于 TLS。
