假设我们有一个具有对称协处理器的处理器,它支持AES。然而,该处理器不为散列算法(如SHA-1或SHA-256 )提供协处理器支持。
我有以下几个密切相关的问题:
假设身份验证标记值的比较不会泄漏信息。DPA和定时攻击都可以考虑。
我之所以问这个问题,是因为哈希算法通常没有被明确地保护以抵御侧信道攻击。在这种情况下仍然经常使用HMAC。
发布于 2016-02-04 08:33:16
我的回答是基于本论文 (pdf)在评论中的链接,以及它引用或引用的一些相关论文。我不知道对HMAC有更现实的攻击。
它假设有一个DPA侧通道,当一个新值被读入CPU寄存器(或者在一些文件中的另一条指令中)时,它会泄漏翻转的位数。也就是说,它泄露了旧值和新值之间的汉明距离。这允许对HMAC进行直接的密钥恢复攻击,这是因为HMAC使用了内部和外部键,这是一个方便的已知距离。
如果您假设有这样一个侧通道,那么在计算机上您可以安全地做的事情不多。事实上,如果您仍然需要从内存中加载密钥才能使用HMAC,那么HMAC的典型硬件实现几乎同样容易受到攻击。
我不认为这是软件与硬件之间的问题,甚至不是侧通道保护的问题。如果存在上面描述的这样一个侧通道,那么在CPU上可以安全地做的事情就不多了。当然,大多数具有秘密值的传统数据处理都必须重新考虑。
更强,因为这是一个关键恢复攻击,不像填充甲骨文攻击,目标是CBC。但这些假设也更加有力。
是的,假设。
不一定。例如,使用AES-NI指令,您必须将AES密钥加载到XMM寄存器中,这有可能以同样的方式允许密钥恢复攻击。
如果您有一个专门的密码芯片组,也存储密钥,那么这可能是另一回事。当然,没有先验的理由认为它也没有侧通道。你得把钥匙安全地放进去。
https://crypto.stackexchange.com/questions/32325
复制相似问题