实用电磁模板攻击HMAC及相关技术研究
1. HMAC-SHA1密钥恢复攻击基础
在对HMAC - SHA1的攻击中,首先关注的是消息字候选数量的分布。对于第一条消息字 $W_0$,其相关测量中的常量是已知的,具体常量可参考如下表格(假设表格1为相关常量表)。测量会给出与测量匹配的候选数量 $\gamma$ 的分布,该分布平均为2.79,最坏情况值为81。若使用随机初始状态而非SHA - 1指定的IV进行实验,也会得到类似结果,这模拟了其他消息字的恢复情况。而且,如果允许其中一个测量有1的误差,平均会有4.60个候选,最坏情况为140个。这表明在测量中可以容忍一定误差,而不会过多影响计算时间。
预计在每一步测量大约会给出三个候选。对于恢复一个32κ位的HMAC密钥,预计会使用一个大小约为3κ的集合S,攻击复杂度约为 $2^{32}×3^{\kappa}$,对于128位密钥,在PC上大约需要几个小时。为了从集合S中识别出正确密钥,可以使用已知的MAC,或者利用压缩函数后续步骤中的泄露信息。
2. HMAC - SHA1实现的实验验证
本攻击的核心在于,如果能够测量使用ldw指令从内存加载到寄存器时翻转的位数,就可以恢复压缩函数的消息输入。为了验证这一假设,在Altera Stratix FPGA上使用针对NIOS处理器的HMAC - SHA1实现进行了实验。通过对水平磁场敏感的环形探头,采用近场方法测量电磁辐射。
2.1 HMAC - SHA1实现的泄露情况
图2展示了使用128位密钥和504位消息M计算HMAC - SHA1时测量到的辐射情况。可以清晰地看到压缩函数执行了5次。为了获取更多有用信息,需要对这种泄露
超级会员免费看
订阅专栏 解锁全文
827

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



