针对轻型分组密码LED 提出了一种基于碰撞模型的代数旁路攻击。首先利用代数攻击方法建立密码算法等效布尔代数方程组;然后采集算法运行中泄露的功耗信息并转换为碰撞信息;最后将碰撞信息转化成额外方程组并利用CryptoMiniSAT 解析器求解密钥。实验结果表明:旁路碰撞信息可有效降低方程组求解的复杂度;已知明文条件下,利用2轮最少50%的随机碰撞信息,即可在158.5 秒内恢复64-bit LED 完整密钥。此外,本文中分析方法也可用于其它分组密码功耗碰撞分析。
采集到LED 加密的功耗信息后,从中选取功耗泄露较为明显的算法操作对保证碰撞捕获的准确率十分重要。实验中选取每轮S 盒代换输出的功耗泄露,用数组S[n][m](0 0
在相关性匹配阶段,将数组S 中的任意两个元素U=S[n1][m1],V=S[n2][m2]基于Pearson 相关性系数公式(4)进行匹配,若相关系数ρ大于参考阈值则说明两个元素发生碰撞。若对n 轮的S 盒输出进行碰撞捕获,共需要进行216n C次匹配。
3.2 碰撞表示
捕获到碰撞之后需要将其用方程组表示出来。若S[n1][m1]和S[n2][m2]发生碰撞,根据2.2 节中LED 代数方程组的建立方法,有:
每发生一次碰撞增加一个代数方程,将新增的方程组和LED 代数方程组联立之后,有助于降低LED 的密钥求解复杂度。当碰撞达到一定数量则可以利用解析器解出全部密钥。
4 实验结果与分析
利用3.1 节中的碰撞捕获方法对采集的功耗进行分析,推断出S 盒输出的碰撞信息,然后利用3.2 节方法将其转化为额外方程组, 同LED 加密方程组联立, 最后利用CryptoMinisat 进行密钥求解。基于SAT 问题求解方程组的基本思想为给出满足所有代数方程组的一个解,因此当碰撞信息足够多时才能锁定唯一解。
在理想情况下,加密过程中发生的所有碰撞都能通过相关性匹配捕获到,此时仅需2 轮S 盒的输出功耗信息,碰撞捕获次数平均为33 次,即可在3.5s 内获取全部密钥。但在实际攻击中,受测试计量仪器精度、被测平台噪声等因素的影响,功耗信息的采集会存在一定误差,造成在功耗分析中达不到Pearson 相关性的阈值,并不能捕获全部碰撞信息。捕获率和密钥求解时间如表2 所示:随着碰撞捕获率的升高,新加入的方程数量不断增加,降低了解析器求解密钥的复杂度,使求解时间减少。
3 轮S 盒功耗信息的碰撞次数平均为70 个,在最少30%的碰撞捕获率下可以在27.8s 内恢复密钥。4 轮S 盒功耗信息的碰撞次数平均为123 个,在最少20%的碰撞捕获率下可以在159.7s 内恢复密钥。图5 给出了不同求解轮数时碰撞获率和求解时间之间的关系。从图中曲线总体趋势可以看出,功耗信息采集轮数越少,碰撞数量越少,求解方程组复杂度越大,求解时间越长。单个时间曲线的趋势显示,随着捕获的碰撞数量比例的增加,求解时间越来越短,当捕获的碰撞数量达到一定规模时,求解时间会急剧减少,最终趋于稳定。
5 结束语
本研究针对LED 密码提出了一种基于碰撞模型的代数旁路攻击方法, 并通过功耗物理实验成功对8 位ATMEGA324P 微控制器上的LED 实现进行了攻击。结果表明:LED 易遭受此类攻击,利用LED 加密部分轮功耗泄露 的碰撞信息即可恢复64-bit 初始密钥,耗时不超过160s。
编辑;妮子
中国照明网论文频道现向广大业内朋友征集稿件。稿件内容要求具有技术性、可读性。欢迎研究机构、院校、企业进行投稿。
投稿信箱:edit@lightingchina.com.cn
联系电话:0086-020-85530605-5029
(投稿时请注明作者姓名、单位、邮编和地址及电话、E-mail;以便通知审核结果,如发稿七日内无通知请来电查询。)
广东中照网传媒有限公司 版权所有 增值电信业务经营许可证:粤B2-20050039 粤ICP备06007496号
传真:020-85548112 E-mail:Service@lightingchina.com.cn 中国照明网