新闻中心

EEPW首页 > 电源与新能源 > 设计应用 > 分析泄漏功率攻击采用90nm CMOS技术的加密器件

分析泄漏功率攻击采用90nm CMOS技术的加密器件

作者:时间:2011-02-26来源:网络收藏

泄漏电流可能被用于攻击加密系统。

在电子商务与电子银行等应用中,安全要求越来越严格。虽然加密技术提供了强健的算法,但这些算法的物理实现一般会通过器件电气运行中的物理现象,泄漏一些信息,攻击者会利用它来探测密钥。这些“旁路”(side-channel)攻击利用加密实现硬件模块所泄漏的信息。该信息可能包含数据与功耗或时序之间的相互关系。一种广为报道的强大旁路攻击方法是微分功率分析(differential-Power analysis),因为它能让攻击者用现售元件做出的测量设置探测出密钥。攻击者依据的事实是,标准逻辑的动态功耗主要依赖于输入数据。例如,考虑一个简化的反相器模型,它以一只接地电容作为自己的负载。该模型只有当输出从0至1的过渡时才从电源吸入电流。在1至0的过渡时,输出电容释放能量,而从0至0和1至1的过渡时电路不消耗能量。最近工程师们提出了很多同时采用软件和RTL(寄存器传输级)的对策,以阻止通过动态功率分析的攻击。

历史上,电路功耗的主要来源是CMOS开关活动造成的动态功耗。动态功耗是电源电压的二次方,而对时钟频率的依赖则是线性的。CMOS电路功耗的另外一个来源是CMOS器件关断状态下寄生电流所造成的泄漏功率。这种泄漏功率很快将达到可与动态功耗相比较的量级。CMOS设计中的泄漏电流主要取决于输入数据的矢量,工程师使用这个特性,在电路的等待周期内减少泄漏功耗。他们还提出了可以预测在CMOS电路中分别产生最大和最小泄漏电流的输入矢量模型。

由于泄漏电流依赖于CMOS逻辑中的输入值,你可以通过测量泄漏电流,提取出一个加密核心中有关加密数据的信息。对一个采用RTL仿真的简单加密核心,通过分析泄漏电流与输入数据的依赖关系,就可以用统计分析技术发动攻击。这些技术类似于微分功耗分析技术,可以提取出从泄漏电流测量开始的密钥,原理上更容易实现。

数据依赖性

泄漏电流主要来自反向结、亚阈值以及门隧道电流。对于一个偏置在弱反向区的MOS晶体管,亚阈值电流是最重要的因素。标准CMOS门的设计者会使用串并联连接组成的上拉和下拉网络。设计者还为串并联配置的MOS器件开发了泄漏电流模型。

为了解标准CMOS门泄漏电流对数据的依赖性,研究人员对意法半导体公司90 nm CMOS090工艺的标准单元作了仿真。这些仿真采用了代工厂针对Spectre晶体管级仿真器所提供的模型,用五种温度来验证泄漏电流与温度的关系(表1)。如果对表中泄漏电流按升序排序,则顺序与温度的变化相同。例如,对一个双输入与非门,逻辑输入0或1在所有温度值下都产生最大的泄漏电流。这种功率分析方法能揭示出一个加密核心的输入与产生最大或最小泄漏电流之间的关联。现在有资料描述最大、最小和其它算法,用于估算泄漏电流。

对称密钥算法的基本部件是S盒(substitution box)。当使用分组密码时,一般用S盒来掩盖原文本与加密文本之间的关系。S盒在N位输入字和M位输出字之间提供了一种组合映射。这些盒子(如有四输入和四输出)一般都使用固定表。

Cadence公司的研究人员采用一个真值表和意法半导体公司的90 nm CMOS工艺库,对一种S盒做综合,这款S盒有四个输入和四个输出(表2)。然后研究人员对S盒的所有可能的输入组合作了大量泄漏电流仿真。如果按泄漏电流的升序对表中的输入组合作排列,则结果与温度的变动无关。于是,在仿真或测量中可以使用任何热系数,只要它保持恒定不变。可以将异或门连接到一只S盒的输入端,实现一个简单加密核心的组合器件。异或门将任何原文本文字与密钥预先混合,S盒加密结果。你可以针对一个加密核心的组合部分,对所有密钥值和输入值作大量的泄漏电流仿真。如果将泄漏电流值升序排列,则输入与输出的次序对每个密钥都是相同的,意味着泄漏电流与输入值无关。这些仿真还显示出,对不同密钥和相同输入值,泄漏电流值有差异。异或门对输入变化很敏感,它是这种差异的根源。S盒不是过错方,因为对相同的输入,测得的电流总是相同的。

图1,为一个组合设计增加一些电阻,就可以构建出一个简单的加密核心。


上一页 1 2 下一页

关键词: CMOS

评论


相关推荐

技术专区

关闭