TLS(传输层安全协议)是保护您的浏览器与访问网站之间通信的加密协议。每当您在 地址栏看到"HTTPS"时,TLS 就在工作。在 whatsmy.fyi 上可以查看您连接使用的 TLS 版本。
TLS 与 SSL:有何区别?
"SSL"和"TLS"经常被互换使用,但从技术上讲它们是不同的协议:
- SSL(安全套接字层) — Netscape 于 20 世纪 90 年代开发的原始 协议。SSL 2.0 和 SSL 3.0 已被废弃,存在已知的严重漏洞。
- TLS(传输层安全) — SSL 的继任者,1999 年以 TLS 1.0 的形式 首次标准化。所有现代 HTTPS 连接使用的正是 TLS。
没有任何现代浏览器或服务器使用 SSL。当人们说"SSL 证书"时,实际上指的是 TLS 证书。"SSL"这个术语只是在口语中流传了下来。
TLS 能做什么?
TLS 提供三大安全保障:
- 保密性:浏览器与服务器之间传输的数据经过加密。您与服务器之间 的任何人(ISP、公共 Wi-Fi 上的黑客、监控者)都无法读取内容。
- 完整性:数据在传输过程中不能被篡改。如果有人篡改数据包,TLS 的消息认证码(MAC)将检测到这一行为。
- 身份验证:TLS 使用数字证书验证您正在与真正的服务器通信,而非 冒名者,从而防止"中间人攻击"。
TLS 1.2 与 TLS 1.3
TLS 1.3 于 2018 年 8 月在 RFC 8446 中标准化,是对 TLS 1.2 的重大改进:
| 特性 | TLS 1.2 | TLS 1.3 |
|---|---|---|
| 握手往返次数 | 2-RTT | 1-RTT(恢复会话可达 0-RTT) |
| 密码套件 | 众多,包含弱加密 | 仅 5 个强密码套件 |
| 完全前向保密(PFS) | 可选 | 强制 |
| RSA 密钥交换 | 支持(存在弱点) | 已移除 |
| 握手中的 MD5/SHA-1 | 允许 | 已移除 |
最重要的改进是 TLS 1.3 中强制执行的完全前向保密(PFS)。PFS 意味着即使将来服务器的私钥泄露,也无法解密之前记录的历史流量。
TLS 握手是如何工作的?
在开始传输加密数据之前,浏览器和服务器会进行 TLS 握手:
- ClientHello:浏览器发送支持的 TLS 版本、密码套件列表和随机数。
- ServerHello:服务器选择双方均支持的最高 TLS 版本和最强密码套件, 并发送其证书。
- 证书验证:浏览器根据操作系统或浏览器中的可信证书颁发机构(CA) 验证服务器证书。
- 密钥交换:双方通过 Diffie-Hellman 密钥交换(TLS 1.3 中始终为 临时密钥)获得相同的会话密钥。
- 加密流量开始传输。
在 TLS 1.3 中,整个过程只需要一次往返,而非两次,使 HTTPS 连接 明显更快。
什么是 TLS 密码套件?
密码套件是用于 TLS 连接不同部分的算法组合:密钥交换、身份验证、加密和消息完整性。 TLS 1.3 密码套件如 AEAD-AES256-GCM-SHA384 的含义是:
- AES-256-GCM — 使用 256 位密钥的 Galois/Counter 模式 AES 加密
- SHA-384 — 用于消息认证的 HMAC 哈希函数
TLS 1.3 移除了 TLS 1.2 中允许的所有弱密码套件(RC4、DES、3DES、CBC 模式), 显著缩小了攻击面。
常见问题
TLS 1.2 还安全吗?
在正确配置的情况下(仅使用强密码套件,启用 PFS),TLS 1.2 仍然被认为是安全的。 但 TLS 1.3 更简单、更快,提供更强的安全保障。建议优先选择支持 TLS 1.3 的服务器。
如何检查 TLS 版本?
访问 whatsmy.fyi——"TLS 安全"卡片直接从 Cloudflare 边缘节点获取准确的版本和密码套件信息。
能强制网站使用 TLS 1.3 吗?
TLS 版本是自动协商的——浏览器和服务器会就双方支持的最高版本达成一致。如果服务器 支持 TLS 1.3(大多数现代服务器均支持),将自动使用。客户端无法强制服务器升级其 TLS 支持。
什么是 HTTPS?
HTTPS(超文本传输安全协议)简单来说就是通过 TLS 连接传输的 HTTP。地址中的"S" 代表安全(Secure)。在地址栏看到 HTTPS 时,说明 TLS 加密已启用,您的连接受到 保护。



