Bleichenbacher 攻击
Bleichenbacher 攻击 是什么?
Bleichenbacher 攻击Daniel Bleichenbacher 在 1998 年提出的自适应选择密文攻击,当服务器泄露 PKCS#1 v1.5 填充是否合法时即可恢复 RSA 明文。
Daniel Bleichenbacher 在 1998 年的 CRYPTO 会议上针对使用 RSA-PKCS#1 v1.5 的 SSL 握手发表了这一攻击。服务器无意中成为填充预言机:任何可区分的响应(耗时、告警或错误)都会告诉攻击者篡改后的密文是否以 0x00 0x02 开头。提交大约一百万条精心构造的密文后,攻击者将明文区间不断收敛,从而恢复预主密钥并破坏机密性。由于 PKCS#1 v1.5 很难做到恒定时间实现,该攻击反复重现(2016 年 DROWN、2017 年 ROBOT)。缓解措施包括统一错误处理、新设计采用 RSA-OAEP,并使用从握手中移除 RSA 加密的 TLS 1.3。
● 示例
- 01
对一台 1990 年代的 Web 服务器,通过不同的填充错误告警恢复 SSL 预主密钥。
- 02
DROWN 与 ROBOT 都是在现代 TLS 实现中重新利用这一预言机。
● 常见问题
Bleichenbacher 攻击 是什么?
Daniel Bleichenbacher 在 1998 年提出的自适应选择密文攻击,当服务器泄露 PKCS#1 v1.5 填充是否合法时即可恢复 RSA 明文。 它属于网络安全的 攻击与威胁 分类。
Bleichenbacher 攻击 是什么意思?
Daniel Bleichenbacher 在 1998 年提出的自适应选择密文攻击,当服务器泄露 PKCS#1 v1.5 填充是否合法时即可恢复 RSA 明文。
Bleichenbacher 攻击 是如何工作的?
Daniel Bleichenbacher 在 1998 年的 CRYPTO 会议上针对使用 RSA-PKCS#1 v1.5 的 SSL 握手发表了这一攻击。服务器无意中成为填充预言机:任何可区分的响应(耗时、告警或错误)都会告诉攻击者篡改后的密文是否以 0x00 0x02 开头。提交大约一百万条精心构造的密文后,攻击者将明文区间不断收敛,从而恢复预主密钥并破坏机密性。由于 PKCS#1 v1.5 很难做到恒定时间实现,该攻击反复重现(2016 年 DROWN、2017 年 ROBOT)。缓解措施包括统一错误处理、新设计采用 RSA-OAEP,并使用从握手中移除 RSA 加密的 TLS 1.3。
如何防御 Bleichenbacher 攻击?
针对 Bleichenbacher 攻击 的防御通常结合技术控制与运营实践,详见上方完整定义。
Bleichenbacher 攻击 还有哪些其他名称?
常见的别称包括: 百万消息攻击。
● 相关术语
- attacks№ 941
ROBOT 攻击
2017 年复活的 Bleichenbacher 1998 年 RSA PKCS#1 v1.5 填充预言机攻击,可对仍受影响的 TLS 服务器解密会话或冒充身份。
- attacks№ 786
填充预言机攻击
Vaudenay 在 2002 年提出的密码学攻击,当服务器披露篡改消息的 PKCS#7 填充是否合法时,可解密 CBC 模式的密文。
- network-security№ 1159
TLS(传输层安全)
由 IETF 标准化的加密协议,为两个联网应用之间的通信提供机密性、完整性与认证。
- vulnerabilities№ 1038
侧信道攻击
通过观察系统的物理或实现特征(时序、功耗、电磁辐射、缓存、声学信号等)而非逻辑漏洞,来恢复机密信息的攻击。