# TLS 1.0（传输层安全协议 1.0）是什么？

> TLS 1.0 是传输层安全协议的第一个版本，1999 年以 RFC 2246 发布，2021 年被 RFC 8996 正式废弃，主流浏览器已不再支持。

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

TLS 1.0 是 IETF 接手 SSL 3.0 之后发布的第一个 TLS 版本，规范是 1999 年 1 月的 RFC 2246。它在结构上和 SSL 3.0 非常接近，线上的版本号写作 3.1，主要变化是记录完整性改用 HMAC，密钥派生改用 MD5 与 SHA-1 组合构造的伪随机函数。

## 为什么重要
TLS 1.0 的 CBC 模式使用可预测的初始向量，2011 年被 [BEAST](https://ssl.sh/zh/glossary/beast/) 攻击利用；它不支持 AES-GCM 这类 [AEAD](https://ssl.sh/zh/glossary/aead/) 算法，握手过程也依赖 MD5 和 SHA-1。Chrome 84、Edge 84 和 Firefox 78 在 2020 年中移除了 TLS 1.0/1.1，[RFC 8996](https://www.rfc-editor.org/rfc/rfc8996) 于 2021 年 3 月正式废弃这两个版本。国内常用的 360 浏览器、QQ 浏览器基于 Chromium 内核，行为基本一致。服务器如果只开了 TLS 1.0，现代浏览器根本无法完成握手；各类安全扫描工具通常也会把"仍支持 TLS 1.0"标记为问题。

## 例子
检查服务器是否还接受 TLS 1.0。OpenSSL 3.x 在默认安全级别下客户端自己就会拒绝 TLS 1.0，测试时需要临时降到 0 级：

```bash
openssl s_client -connect example.com:443 -tls1 -cipher 'DEFAULT:@SECLEVEL=0'
```

能握手成功，说明服务器仍开着 TLS 1.0。Nginx 中只保留新版本即可：

```nginx
ssl_protocols TLSv1.2 TLSv1.3;
```

宝塔面板里调整 SSL 协议版本，最终也是改写这条指令；阿里云、腾讯云的 CDN 和负载均衡则在控制台里提供 TLS 版本或安全策略选项。

## 常见误区
- **关掉 TLS 1.0 会流失大量用户。** 主流浏览器早已不支持它，还依赖它的通常是很老的操作系统或嵌入式设备，可以先查访问日志再决定。
- **只要配强密码套件，TLS 1.0 就安全。** 问题出在协议本身的握手哈希和缺少 AEAD，换套件修不好，只能升级到 TLS 1.2 或 1.3。
- **SSL 3.0 和 TLS 1.0 是一回事。** 它们是不同的协议版本，SSL 3.0 已在 2015 年被 RFC 7568 单独废弃。

## 相关术语

- [TLS](https://ssl.sh/zh/glossary/tls/): TLS 是 IETF 制定的传输层安全协议，为 HTTPS 等网络连接提供加密、完整性保护和服务器身份认证，是 SSL 的继任者。
- [SSL 3.0](https://ssl.sh/zh/glossary/ssl-3-0/): SSL 3.0 是 Netscape 设计的安全套接层协议的最后一个版本，1996 年发布，2014 年被 POODLE 攻破，2015 年被 RFC 7568 废弃。
- [TLS 1.1](https://ssl.sh/zh/glossary/tls-1-1/): TLS 1.1 是 2006 年以 RFC 4346 发布的 TLS 第二个版本，主要为 CBC 加入显式 IV，2021 年与 TLS 1.0 一起被 RFC 8996 废弃。
- [TLS 1.2](https://ssl.sh/zh/glossary/tls-1-2/): TLS 1.2 是 2008 年由 RFC 5246 定义的 TLS 版本，引入了基于 SHA-256 的密钥派生和 AES-GCM 等 AEAD 加密算法，至今仍被广泛使用。
- [BEAST](https://ssl.sh/zh/glossary/beast/): BEAST 是 2011 年公布的攻击（CVE-2011-3389），利用 SSL 3.0 和 TLS 1.0 中 CBC 模式可预测的 IV，逐字节解密 Cookie 等秘密。
- [POODLE](https://ssl.sh/zh/glossary/poodle/): POODLE 是 2014 年公布的攻击（CVE-2014-3566），利用 SSL 3.0 不校验 CBC 填充的缺陷，从加密连接中逐字节还原 Cookie 等秘密。
- [降级攻击](https://ssl.sh/zh/glossary/downgrade-attack/): 降级攻击是指攻击者迫使客户端和服务器协商出比双方实际支持的更旧的协议版本或更弱的算法，从而利用其中的弱点。
