OpenPGP 中的格式预言机与明文恢复攻击
1. 格式预言机概述
格式预言机是一种侧信道,它会泄露与给定密文对应的解密值信息。与传统的填充预言机相比,格式预言机在两个方向上进行了扩展:
- 预言机执行的测试不仅限于明文的填充,还可以考虑明文(与应用相关)格式的任何约束。
- 格式预言机可能比传统的填充预言机更快地泄露明文信息。
当格式预言机的输出只是对解密密文进行某种格式验证的结果时,我们称其为布尔型预言机;如果它能提供额外信息,则称为有泄露的预言机。
在 OpenPGP 库中,错误消息可能会泄露与提交密文对应的解密值的部分信息。例如,GnuPG 在解密结果出现格式不一致时,通常会在标准错误流 stderr 上发出非致命错误。其中,状态消息尤其值得关注,因为它们是专门为使用 GnuPG 作为后端的应用程序提供信息的。如果这些错误消息被不小心的应用程序提供给攻击者,就会实例化一个格式预言机。特别是 JavaScript 库,它们可能在敌对环境中运行,因此异常和错误消息需要进行清理。
由于格式预言机的定义依赖于 OpenPGP 消息的格式,因此很难完全形式化。对于特殊构造的密文,大多数格式预言机可以测试解密后的密文字节是否在特定集合(可能是单元素集合)中取值。
2. 具体的格式预言机类型
- 无效标识符预言机 :OpenPGP 数据包包含多个受约束的值,如数据包标签、压缩方法、加密算法等。无效标识符预言机是一种有泄露的预言机,它以包含算法 E 的密钥 K 的密钥包 KeyPacketA(K, E) 和包含密文 C 的对称加密包为输入。它会测试在解析解密
超级会员免费看
订阅专栏 解锁全文
12

被折叠的 条评论
为什么被折叠?



