# What Is TLS 1.1 (Transport Layer Security 1.1)?

> TLS 1.1 is the 2006 revision of Transport Layer Security (RFC 4346) that added explicit CBC IVs; RFC 8996 deprecated it together with TLS 1.0 in 2021.

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

TLS 1.1 is the second version of TLS, published in April 2006 as RFC 4346. Its main changes were security fixes for CBC ciphers: each record now carries an explicit initialization vector instead of reusing the last ciphertext block of the previous record, and padding errors are reported with the same alert as MAC failures to make padding-oracle attacks harder.

## Why it matters
TLS 1.1 was never widely deployed on its own, because [TLS 1.2](https://ssl.sh/glossary/tls-1-2/) followed only two years later with SHA-256 based key derivation and [AEAD](https://ssl.sh/glossary/aead/) cipher suites. TLS 1.1 still uses the MD5/SHA-1 based PRF of TLS 1.0 and supports only CBC and stream ciphers. Browsers removed it at the same time as [TLS 1.0](https://ssl.sh/glossary/tls-1-0/) (Chrome 84, Edge 84, Firefox 78, all mid-2020), and RFC 8996 deprecated both versions in March 2021. In practice, the minimum version for a public HTTPS site today is TLS 1.2.

## Example
List the protocol versions and cipher suites a server accepts with nmap's standard script:

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

A modern result shows only TLSv1.2 and TLSv1.3 sections. To remove TLS 1.1 in nginx:

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

## Common misconceptions
- **"TLS 1.1 is a reasonable middle ground."** It was deprecated together with TLS 1.0 and removed from browsers at the same time. There is no client population that needs 1.1 but cannot do 1.2 that is worth weakening a server for.
- **"Explicit IVs made CBC safe."** They stopped the predictable-IV attack later demonstrated as BEAST, but MAC-then-encrypt CBC remained vulnerable to timing attacks such as Lucky Thirteen.
- **"Turning off TLS 1.1 requires a new certificate."** Protocol versions are server configuration; the existing certificate keeps working unchanged.

## Related terms

- [TLS 1.0](https://ssl.sh/zh/glossary/tls-1-0/): TLS 1.0 是传输层安全协议的第一个版本，1999 年以 RFC 2246 发布，2021 年被 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 加密算法，至今仍被广泛使用。
- [TLS 1.3](https://ssl.sh/zh/glossary/tls-1-3/): TLS 1.3 是当前最新的传输层安全协议版本（2018 年的 RFC 8446，现行规范为 RFC 9846），完整握手只需一个往返，且只保留 AEAD 加密算法。
- [BEAST](https://ssl.sh/zh/glossary/beast/): BEAST 是 2011 年公布的攻击（CVE-2011-3389），利用 SSL 3.0 和 TLS 1.0 中 CBC 模式可预测的 IV，逐字节解密 Cookie 等秘密。
- [降级攻击](https://ssl.sh/zh/glossary/downgrade-attack/): 降级攻击是指攻击者迫使客户端和服务器协商出比双方实际支持的更旧的协议版本或更弱的算法，从而利用其中的弱点。
- [密码套件](https://ssl.sh/zh/glossary/cipher-suite/): 密码套件是 TLS 客户端和服务器协商使用的一组命名的加密算法组合，例如 TLS_AES_128_GCM_SHA256，决定连接用什么算法保护数据。
