Manger攻击再探
在加密计算领域,Manger攻击一直是一个备受关注的安全隐患。计算过程中的汉明重量差异是功耗分析攻击最常见的目标,攻击者很可能从功耗轨迹中推断出错误条件是否满足。
1. OAEP解码中的应对策略
如果要在OAEP解码程序中实施对策,应遵循最小修改原则,即忽略多余的八位字节,且不引入时间差异。这样,第二个错误条件仍会满足,确保整体解密结果正确,即显示“解密错误”。因为Manger攻击常常绕过第一个错误条件的检查,所以该检查对方案的安全性并无实质贡献。不过,上述考虑仅适用于可行的功耗分析攻击场景。
2. 整数到八位字节字符串转换中的新漏洞
即使OAEP解码程序已完全安全,在其之前的整数到八位字节字符串转换步骤中仍可能存在潜在漏洞。
2.1 OpenSSL和Botan中的整数编码问题
OpenSSL和Botan的整数编码例程都存在一个共同的漏洞,即该例程的运行时间与表示整数所需的八位字节数呈线性关系。如果攻击者能够检测到这些时间差异,就可以基于此侧信道信息发起Manger攻击。
以Botan - 1.9.7为例,其整数编码例程如下:
void BigInt::binary_encode(byte output[]) const
{
const u32bit sig_bytes = bytes();
for(u32bit j = 0; j != sig_bytes; ++j)
output[sig_bytes-j-1] = byte_at(j);
}
超级会员免费看
订阅专栏 解锁全文
1217

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



