搜档网
当前位置:搜档网 › ARIA密钥扩展简单功耗分析攻击

ARIA密钥扩展简单功耗分析攻击

龙源期刊网 https://www.sodocs.net/doc/d74018204.html,

ARIA密钥扩展简单功耗分析攻击

作者:孟令玲张磊

来源:《商情》2014年第05期

【摘要】介绍针对 ARIA 密码算法密钥扩展时产生的中间值泄漏的功耗信息,进行简单功耗分析攻击,通过分析中间值泄漏汉明重信息,能有效的减少密钥空间,利用已知的明文和密文来确定密钥的唯一性。

【关键词】密钥扩展,功耗分析

通常,攻击者关注的是密码算法在加/解密过程中功耗泄漏的信息,通过 DPA、 CPA等方法进行分析来破解密钥,一旦在这个过程中加入一些防护手段(如掩码策略),这会给功耗分析攻击带来很大的困难,甚至会失效。然而掩码防护手段对密码算法进行密钥扩展时无法起到保护作用,因此,可以对密钥扩展算法中的密钥中间值泄露的功耗信息进行功耗分析,从而得到密钥值。

一、简单功耗分析方法

针对密钥扩展的简单功耗分析攻击,需要攻击者知道或分析出功耗轨迹中执行操作数的功耗特征,即操作数的功耗特征和汉明重有直接的成比例的对应关系。

这里做一个简单的实验例子来说明:

密码设备中的每一算法都有一定的执行顺序,算法的定义及其操作被编译成设备所支持的指令,这些指令包括算术指令(如加法)、逻辑指令(如异或)、数据传送指令(如移动)和转移指令(如跳转),其在物理设备上的功能和方式实现都各不相同,因此它们具有不同的能量消耗特征,这将在功耗迹中产生具有不同特征的模式,同种指令执行不同的操作数时,也有不同的能量消耗特征:如在 AT59C52 单片机中执行往累加器 A中赋值的语句:: MOV A,X。其中源操作数X的汉明重量为0到8共9种不同的值(#00H,#01H,#03H,#07H,

#0FH,#1FH,#3FH,#7FH,#FFH),同时采集赋值语句执行时的功耗轨迹,上述指令各执行 100 遍并对各种情况下的 100 条功耗轨迹求平均值得到 9种不同汉明重量下赋值语句对应的功耗迹

从图中可以看到,9 条功耗轨迹基本形状类似,在于操作数相关的位置,轨迹的幅值和操作数的汉明重量呈现反比例的情形。假设简单的创建 9个模板,每一个模板对应于一个汉明重量的数,如果一个未知的值也执行同样的操作得到一条功耗轨迹,必然会和其中的一条汉明重量的模板相匹配,称为发生了值的碰撞。如果,在功耗轨迹中某个8-bit中间值的汉明重为3,那么这个中间值的可能值空间将从28=256下降到■=56个,可以得知这个未知的值的汉明重量,从而大大减少未知值的搜索空间。

相关主题