USENIX 论文的配套材料 | 完整论文 此处

OpenPGP 和 S/MIME 是加密和数字签名电子邮件的两大标准。数字签名本应保证消息的真实性和完整性。在这项工作中,我们展示了针对各种 OpenPGP 和 S/MIME 电子邮件签名验证实现的五类实际可行的伪造攻击:(1) 我们分析了 S/MIME 容器格式中的边界情况。(2) 我们利用了最广泛使用的 OpenPGP 实现 GnuPG API 中的带内信令。(3) 我们应用 MIME 包装攻击,滥用电子邮件客户端对部分签名消息的处理。(4) 我们分析了签名消息与发送者身份绑定中的弱点。(5) 我们系统性地测试了电子邮件客户端的 UI 伪装攻击。
我们的攻击允许在 20 个经过测试的支持 OpenPGP 的电子邮件客户端中的 14 个,以及 22 个支持 S/MIME 签名的电子邮件客户端中的 15 个上,对任意消息进行数字签名伪造。虽然这些攻击并未针对数字签名的底层加密原语,但它们引发了对 OpenPGP 和 S/MIME 电子邮件应用程序实际安全性的担忧。最后,我们提出了应对这些攻击的缓解策略。
CMS 攻击。 加密消息语法(CMS)是 X.509 公钥基础设施中用于签名和加密消息的多功能标准。我们发现了在处理具有矛盾或异常数据结构电子邮件时的缺陷。
GPG API 攻击。 GnuPG 是使用最广泛的 OpenPGP 实现,但它仅提供了一个非常受限的命令行界面来验证签名。该界面易受注入攻击。
MIME 攻击。 电子邮件的正文在概念上是一个 MIME 树,但通常该树只有一个被签名的叶子。我们构造了非标准 MIME 树,诱使客户端在验证另一部分中无关签名时显示未签名的文本。
ID 攻击。 此类攻击的目标是显示来自邮件头中受信任通信伙伴身份(ID)的有效签名,尽管精心构造的电子邮件实际上是由攻击者签名的。
UI 攻击。 电子邮件客户端通过在用户界面(UI)中显示一些安全指示器(例如带有印章的信封)来表示有效签名。然而,一些客户端允许通过使用 HTML、CSS 和其他嵌入内容来模仿重要的 UI 元素。

