Skip to content
Vol. 1 · Ed. 2026
CyberGlossary
Entry № 786

填充预言机攻击

填充预言机攻击 是什么?

填充预言机攻击Vaudenay 在 2002 年提出的密码学攻击,当服务器披露篡改消息的 PKCS#7 填充是否合法时,可解密 CBC 模式的密文。


Serge Vaudenay 于 2002 年 Eurocrypt 大会上提出了针对采用 PKCS#5/PKCS#7 填充的 CBC 模式密文的填充预言机攻击。只要攻击者可以提交篡改后的密文,并通过任何方式区分填充是否合法(HTTP 500 与 200、时间差、错误码差异等),便能在不知道密钥的情况下按字节解密任意密文。典型案例包括 ASP.NET MachineKey 填充预言机(CVE-2010-3332)、POODLE、Lucky 13 以及 Bleichenbacher 的 RSA 变体。防御措施:使用 AES-GCMChaCha20-Poly1305 等 AEAD 认证加密;先加密再做恒定时间 MAC 校验;统一错误响应;并在 TLS 1.3 中淘汰 CBC 套件。

示例

  1. 01

    通过 MachineKey 填充预言机解密 ASP.NET ViewState(CVE-2010-3332)。

  2. 02

    POODLE 将 TLS 降级为 SSL 3.0,利用其非确定性 CBC 填充。

常见问题

填充预言机攻击 是什么?

Vaudenay 在 2002 年提出的密码学攻击,当服务器披露篡改消息的 PKCS#7 填充是否合法时,可解密 CBC 模式的密文。 它属于网络安全的 攻击与威胁 分类。

填充预言机攻击 是什么意思?

Vaudenay 在 2002 年提出的密码学攻击,当服务器披露篡改消息的 PKCS#7 填充是否合法时,可解密 CBC 模式的密文。

填充预言机攻击 是如何工作的?

Serge Vaudenay 于 2002 年 Eurocrypt 大会上提出了针对采用 PKCS#5/PKCS#7 填充的 CBC 模式密文的填充预言机攻击。只要攻击者可以提交篡改后的密文,并通过任何方式区分填充是否合法(HTTP 500 与 200、时间差、错误码差异等),便能在不知道密钥的情况下按字节解密任意密文。典型案例包括 ASP.NET MachineKey 填充预言机(CVE-2010-3332)、POODLE、Lucky 13 以及 Bleichenbacher 的 RSA 变体。防御措施:使用 AES-GCM、ChaCha20-Poly1305 等 AEAD 认证加密;先加密再做恒定时间 MAC 校验;统一错误响应;并在 TLS 1.3 中淘汰 CBC 套件。

如何防御 填充预言机攻击?

针对 填充预言机攻击 的防御通常结合技术控制与运营实践,详见上方完整定义。

填充预言机攻击 还有哪些其他名称?

常见的别称包括: CBC 填充预言机。

相关术语

参见