SSL 签名相关漏洞
- [1. SSL 自签名证书漏洞](#1. SSL 自签名证书漏洞)
- [2. SSL证书过期漏洞](#2. SSL证书过期漏洞)
- [3. SSL 证书链未排序漏洞](#3. SSL 证书链未排序漏洞)
1. SSL 自签名证书漏洞
漏洞原理
自签名证书就是证书的签发者(issuer)和持有者(subject)是同一个实体------也就是证书不是由受信任的证书颁发机构(CA)签发,而是自己签的。技术上它仍包含公钥、主体名、有效期、签名算法等,但没有第三方信任背书。
自签名证书为什么会被视为漏洞?
因为它破坏了 HTTPS/TLS 的核心安全属性:身份验证(authentication)。HTTPS 的 3 个核心能力:
- 对称加密通信
- 防止篡改
- 服务器身份合法性验证(关键)
其中第 3 条依赖 可信 CA 签名,但自签名证书 无法提供可信身份验证。因此:
- 浏览器无法确认服务端是否是真实的服务器
- 鉴别服务器的安全链(chain of trust)失效
- TLS 防中间人保护机制损坏
漏洞危害
- 客户端默认不会信任自签名证书,必须手动导入或点击"信任"
- 攻击者可以把自己的自签证书替换到通信链路上,用户若盲目接受就会与攻击者建立安全连接
- 影响品牌力和用户信任
漏洞修复
使用受信任 CA 签发的证书
2. SSL证书过期漏洞
漏洞原理
证书过期是指 TLS 证书的 Not After 时间到了之后,客户端会把该证书视为无效。结果是 TLS 握手失败或客户端/用户忽略警告而继续
为什么证书过期会被视为安全漏洞?
证书过期的核心风险是: 客户端无法确认服务器身份是否仍然真实可信。 换句话说:HTTPS 中的"加密"仍然存在,但"认证"失效,TLS 退化成"加密但无法确认对方是谁"。
这与自签名证书风险相似,但更严重,因为用户通常认为"这个证书之前是合法的",容易继续访问,从而被攻击者利用。
漏洞危害
- 客户端默认不会信任过期证书,必须手动导入或点击"信任"
- 影响品牌力和用户信任
漏洞修复
证书续期
3. SSL 证书链未排序漏洞
漏洞原理
在 TLS 握手中:
- 客户端必须根据服务器给的证书链
- 从服务器证书一路验证到信任的根证书
验证流程示意:
plain
Leaf Cert
↑ Issuer
Intermediate CA1
↑ Issuer
Intermediate CA2
↑ Issuer
Root CA(本地可信)
但如果顺序打乱,比如:
plain
Intermediate CA1
Leaf Cert
客户端必须自己猜每个证书的上级是谁。问题是:并不是所有客户端/设备都能自动重排序,特别是旧设备、内网系统、嵌入式终端、API 客户端可能直接失败
这就造成安全漏洞和兼容性问题。
漏洞危害
安全漏洞和兼容性问题
漏洞修复
重新排列证书链中证书的顺序。