什么是SSL/TLS?SSL和TLS有什么区别?
SSL/TLS是一种用于保护网络通信安全的加密协议,用于在浏览器、APP或其他客户端与服务器之间建立安全连接。
简单来说:
SSL/TLS负责“加密通信”,SSL证书负责“证明服务器身份”。
很多人把“SSL”和“SSL证书”混为一谈,但二者并不是同一个概念。
例如:
- TLS协议负责加密用户访问网站的数据;
- SSL证书用于证明访问的网站确实属于对应域名;
- CA机构负责验证身份并签发证书。
当网站开启HTTPS后,浏览器会通过TLS协议建立加密连接,并使用服务器安装的SSL证书完成身份验证。
因此:SSL/TLS是通信协议,SSL证书是TLS连接中的数字身份凭证。
SSL和TLS有什么区别?
SSL(Secure Sockets Layer)和TLS(Transport Layer Security)都是用于网络加密通信的协议。
但严格来说:
- SSL已经被淘汰;
- TLS是SSL的后续版本;
- 目前互联网HTTPS主要使用TLS 1.2和TLS 1.3。
二者关系如下:
| 协议版本 | 状态 | 说明 |
|---|---|---|
| SSL 2.0 | 已废弃 | 存在严重安全漏洞 |
| SSL 3.0 | 已废弃 | 受POODLE漏洞影响停止使用 |
| TLS 1.0 | 已淘汰 | 不再满足现代安全要求 |
| TLS 1.1 | 已淘汰 | 主流浏览器逐步禁用 |
| TLS 1.2 | 主流使用 | 兼容性最好 |
| TLS 1.3 | 推荐使用 | 握手更快、安全性更高 |
虽然现在技术上已经使用TLS,但由于SSL证书这个名称长期存在,因此行业仍习惯把HTTPS证书称为“SSL证书”。
TLS协议如何保护HTTPS通信?
当用户访问一个HTTPS网站时,浏览器与服务器之间需要先完成TLS握手。
整个过程主要包括几个步骤:
1. 客户端发送连接请求
浏览器首先告诉服务器:
- 支持哪些TLS版本;
- 支持哪些加密算法;
- 是否支持TLS扩展功能。
例如:
- TLS 1.2;
- TLS 1.3;
- AES-GCM加密算法;
- ECDHE密钥交换算法。
2. 服务器返回SSL证书
服务器收到请求后,会发送:
- SSL证书;
- 中间证书链;
- 公钥信息。
浏览器随后检查:
- 证书是否由可信CA签发;
- 域名是否匹配;
- 证书是否过期;
- 证书链是否完整。
如果验证失败,就会出现:
- NET::ERR_CERT_AUTHORITY_INVALID
- NET::ERR_CERT_COMMON_NAME_INVALID
等浏览器安全提示。
3. 双方协商会话密钥
TLS不会直接使用证书公钥加密所有数据。
实际过程是:
- 使用非对称加密完成身份验证;
- 通过密钥交换算法生成临时会话密钥;
- 后续数据使用对称加密高速传输。
目前主流环境推荐:
- ECDHE密钥交换;
- AES-GCM加密算法;
- ChaCha20加密算法。
4. 建立加密通信
TLS握手完成后:
浏览器和服务器之间传输的数据都会经过加密处理,包括:
- 登录密码;
- 用户信息;
- API请求;
- 支付数据。
即使数据在网络中被截获,没有会话密钥也无法直接读取。
SSL证书在TLS连接中有什么作用?
SSL证书主要承担两个作用:
1. 验证服务器身份
SSL证书包含:
- 域名信息;
- 公钥;
- CA签名;
- 有效期限。
浏览器通过验证证书确认:
当前访问的网站确实拥有该域名。
例如:
用户访问:
https://www.example.com
浏览器会检查证书是否包含:
www.example.com
如果不匹配,就会提示风险。
2. 提供密钥交换基础
SSL证书中包含服务器公钥。
TLS握手过程中:
- 浏览器使用公钥验证服务器身份;
- 双方协商生成安全会话密钥。
服务器私钥始终保存在服务器端,不会发送给客户端。
TLS 1.2和TLS 1.3有什么区别?
TLS 1.3相比TLS 1.2主要进行了优化:
| 对比项目 | TLS 1.2 | TLS 1.3 |
|---|---|---|
| 握手速度 | 较慢 | 更快 |
| 密钥交换 | 支持RSA等旧方式 | 强制使用前向保密算法 |
| 加密套件 | 较多 | 删除弱算法 |
| 安全性 | 较高 | 更高 |
目前新部署网站建议:
- 开启TLS 1.2;
- 优先支持TLS 1.3;
- 禁用TLS 1.0/1.1。
如果服务器只支持旧TLS版本,即使安装新的SSL证书,也可能出现:
ERR_SSL_VERSION_OR_CIPHER_MISMATCH
等连接错误。
SSL/TLS部署常见问题
证书安装成功,为什么浏览器还是提示不安全?
常见原因包括:
- 证书链未完整部署;
- 访问域名不在证书SAN列表;
- 证书已经过期;
- 页面存在HTTP混合内容。
可以使用SSL证书检查工具快速检测HTTPS配置。
TLS版本越高越好吗?
不是简单越高越好。
实际生产环境建议:
- TLS 1.3:优先开启;
- TLS 1.2:保持兼容;
- TLS 1.0/1.1:关闭。
这样可以兼顾安全性和用户访问兼容性。
自签名证书可以使用TLS吗?
技术上可以。
但是自签名证书没有经过公共CA验证,浏览器无法确认服务器身份。
因此:
- 测试环境可以使用;
- 公网网站不建议使用。
企业网站建议使用受浏览器信任的商业SSL证书或免费DV证书。
常见问题 FAQ
Q:SSL和TLS到底有什么区别?
A:SSL是早期网络加密协议,目前已经被淘汰;TLS是SSL的升级版本,目前HTTPS实际使用的是TLS协议。行业中仍习惯将HTTPS证书称为SSL证书。
Q:SSL证书和TLS协议是什么关系?
A:TLS负责建立加密通信,SSL证书负责验证服务器身份。二者共同组成HTTPS安全体系。
Q:开启HTTPS一定需要SSL证书吗?
A:公网网站需要。HTTPS依赖TLS协议,而TLS通常需要受信任的SSL证书完成身份验证。
Q:TLS 1.3是否一定比TLS 1.2好?
A:TLS 1.3安全性和性能更优秀,但TLS 1.2兼容性更广。现代网站一般同时开启TLS 1.2和TLS 1.3。
什么是SSL/TLS总结
SSL/TLS是HTTPS安全通信的核心技术,其中TLS协议负责数据加密和安全传输,SSL证书负责验证网站身份。虽然SSL协议已经退出历史舞台,但由于行业习惯,目前仍普遍使用“SSL证书”这一名称。现代网站部署HTTPS时,应选择受信任SSL证书,并启用TLS 1.2和TLS 1.3,以兼顾安全性和访问兼容性。



京公网安备11010502031690号
网站经营企业工商营业执照
















