差分能量分析介绍(二)

差分功率分析

1、基本分析方法

        差分功率分析DPA是一种统计方法,用于分析测量集,以确定数据相关的相关性。基本方法包括将一组记录道划分为子集,然后计算这些子集的平均值之差。如果将哪个记录道分配给每个子集的选择与记录道中包含的测量值不相关,则随着记录道数量的增加,子集平均值的差异将接近零。否则,如果划分为子集与跟踪测量相关,则平均值将接近非零值。如果有足够的记录道,无论测量中存在多少噪声,都可以分离出极小的相关性。

       

 图6典型DPA结果(从上到下)显示第1轮中第一个S盒输出的LSB为1的能量迹平均值、LSB为0的记录道平均值、顶部两条记录道之间的差值以及Y轴放大系数为15的差值

2、举例分析

        图6显示了典型成功DPA结果的组成部分。在这种情况下,目标设备是执行AES的同一智能卡,并且子集基于第一轮中第一个S盒输出的LSB的实际值。图中显示了四道。最上面的一道是整个过程中LSB为1的记录道的平均值覆盖前两轮AES加密的时间间隔。第二条记录道是LSB为0的记录道的平均值。前两条记录道似乎是相同的,因为平均值之间的差异远小于总功耗变化。第三条记录道显示了前两条记录道的差异,并且看起来几乎相同yflat-再次,因为差异很小。第四条(最低)轨迹显示Y轴比例增加15倍的平均值差异,DPA结果清晰可见。

        泄漏区域在最低记录道中以尖峰形式可见。当目标设备首次计算S盒输出位时,出现第一个尖峰。当在第一轮剩余时间进一步处理该位时,会出现更多尖峰。到第一轮结束时,AES中间产物不再与S盒输出的LSB相关e表示与其他位混合以及密码的雪崩。因此,在第二轮或之后的差分记录道中未发现尖峰。图6显示尖峰之间的噪声相对较小,因为使用的记录道数(4000)与单个记录道内的噪声相比,噪声较高。虽然更多的记录道产生更清晰的结果,但通常没有理由使用更多的数据来区分所需的信号。

        DPA测试显示的信息由选择函数决定。选择函数用于将跟踪分配给子集,通常基于加密计算中一个或多个中间产物的可能值的经过教育的猜测。如果最终的DPA跟踪显示显著峰值,密码分析员将ws选择函数输出与(或等于)目标设备实际计算的值相关。如果未观察到相关,则选择函数输出不相关(或相关性太小,无法观察)。选择函数可以是单个位的预测值,例如S盒或乘法器的输出位。也可以使用更复杂的函数,例如寄存器中某位的值与覆盖该位的位的值之间的预测差。选择函数也可以是多个位的函数。例如,如果预测多位中间值等于常数(或不同的中间值),则选择函数可能输出1以及其他输出0。

        选择函数的选择是DPA过程的关键部分,因为它封装了关于设备中可能存在的泄漏的工程直觉。DPA中使用的选择函数通常是二进制值函数。

3、典型的DPA攻击包括以下阶段

  • 该初步阶段涉及开发与设备通信的方法,以调用加密操作并记录其响应。测量设备(如由PC驱动的数字示波器)也连接到目标设备。根据设备的可用性和可用性,可以使用与设备电源线或地线串联的电阻器或电流探针。在加密组件附近进行的测量通常具有更好的质量,尽管也可以使用更多质量较低的记录道。如果无法插入电阻器(例如,如果设备使用内部电池),则设备的内阻通常足够。E-field和M-field探测器也可用于对设备进行EM攻击,方法与DPA相同。对于触发,测量系统通常连接到设备的I/O线。
  • 这是数据收集阶段。在目标设备执行加密操作时记录电源跟踪。每个捕获的跟踪与相关的加密数据(例如,明文或密文)一起存储在PC上。根据需要,可通过添加模拟滤波器、调整带宽或采样率以及探索SPA信号特征以去除不相关区域来改善跟踪质量和捕获效率信号处理这一可选阶段涉及在软件中处理轨迹,以消除对准误差、隔离感兴趣的特征、突出显示信号和降低噪声。在许多情况下,只需要简单的时间对齐,或者可以完全忽略此步骤。
  • 在此阶段,关于形成的部分键的不同假设用于定义用于分析的选择函数。然后将每个选择函数应用于与每个跟踪相关联的加密数据,从而得出关于下一个测试阶段的中间状态的预测。预测和选择函数生成
  • 平均阶段为每个选择函数计算由选择函数输出定义的输入子集的平均值。这一步通常是计算最密集的阶段。
  • 分析DPA测试结果,以确定最可能的候选关键点猜测。这个过程可以通过可视化或使用自动化工具来完成。

最后三个步骤(预测、平均和评估)通常是迭代的。例如,对于AES-256,第一轮密钥通常在第二轮密钥开始攻击之前找到。在其他情况下,例如,如果正在使用自适应选择的输入消息,则还可以重复附加步骤。

  • 0
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值