基于神经网络功耗预测的功耗补偿抗攻击电路及控制方法

文档序号:6521782阅读:188来源:国知局
基于神经网络功耗预测的功耗补偿抗攻击电路及控制方法
【专利摘要】本发明公开了一种基于神经网络功耗预测的功耗补偿抗攻击电路及控制方法,所述电路由实现加解密算法功能的加解密模块、功耗补偿电路和神经网络预测模块构成,所述方法采用具有自适应学习能力的神经网络算法构建功耗预测模型,对密码电路工作时进行功耗预测,并建立可配置的功耗补偿电路,根据功耗预测结果控制补偿电路进行相应的功能配置,使整体电路的功耗趋于恒定值,该值不随密钥和所处理数据的改变而改变,使攻击者无从获取与密钥信息的相关性,因而可以有效抵御功耗攻击。
【专利说明】基于神经网络功耗预测的功耗补偿抗攻击电路及控制方法
【技术领域】
[0001]本发明属于信息安全领域,尤其是密码电路的抗功耗攻击方面,用于保护密码电路,使之能以较高的灵活性能在不降低密码电路处理速度的前提下抵御功耗分析攻击,增强密码电路的安全性。
【背景技术】
[0002]随着现代社会的日益信息化、数字化与网络化,人们对信息安全技术的需求越来越广泛和深入,信息安全产品已成为整个社会良性运转的重要保障。其中高性能高安全性的密码处理器是必不可少的基础硬件,各种基于DES、AES、RSA、ECC和HASH等算法的密码协处理器芯片得到了广泛地研究和开发。
[0003]得益于集成电路设计技术的飞速发展,很多安全密码处理器采用片上系统芯片(SoC)的解决方案以提高数据交互性能。但是在性能提高的同时,密码芯片也面临着各种各样的安全风险。密码算法的数学安全性可以由算法本身得到保证。近年来以功耗攻击为代表的旁路攻击(Side-ChannelAttack,SCA)对密码芯片的安全性提出了严峻的挑战,它能让攻击者通过分析密码设备在密钥操作时泄露的旁路信息(如功耗信息、电磁辐射等)来获得关键的密钥信息,其攻击效率比传统的数学攻击高数个数量级,而且实施起来也更加简单。
[0004]为了有效抵御旁路攻击,研究者基于隐藏技术(Hiding)和掩码技术(Masking)的思想进行了广泛而深入的研究。隐藏技术的基本思路是切断密码芯片处理的数据与芯片旁路信息量之间的联系;掩码技术则通过随机化密码芯片所处理数据的中间值来提高安全性。
[0005]目前已有多种有效的基于隐藏技术的抗攻击方法,通常由电路级对称设计来实现。然而,这些研究大都以较大的代价来换取密码芯片安全性能的提高。例如已报道的波动差分逻辑电路(WDDL)设计的AES密码电路,通过对称的双轨电路使处理O和I时功耗基本相同来隐藏功耗信息,可以抵御150万次样本攻击,但其代价是面积增加为原来的3倍,运算速度却降到1/4。此外,这些由定制集成电路方式实现的抗攻击方法除了面积代价大、速度代价大之外,还具有设计复杂、灵活性差的缺点。因而,如何在不显著增加面积和降低速度的前提下,构建一个高效的隐藏功耗的抗攻击方法成为必须。
[0006]人类具有最高度发达的大脑,具有认知、记忆、学习等复杂的信息处理能力。人脑总计大约有1.4X IO11个神经细胞,称为神经元。每个神经元有数以千计的通道与其他神经元广泛连接,形成复杂的生物神经网络。神经网络算法正是智能仿生学的优秀产物,它通过模拟人体神经网络的方式提高智能信息系统的数据处理能力,如今已广泛应用于信号处理、模式识别、数据压缩、生物医学等许多工程领域。但目前还没有人将其用到在密码电路的抗攻击增强方案中。人工神经网络中,最常用的误差反传(ErrorBackPropagation, BP)网络是万能逼近器,即,任何一个非线性函数都可用BP网络进行任意逼近,在合理设计下能够实现快速收敛的函数逼近。因此,本发明将密码电路的功耗抽象为数学函数进行建模,利用神经网络算法进行功耗预测,并与可配置的功耗补偿电路结合起来,可以有效增强密码电路的抗功耗攻击能力。

【发明内容】

[0007]本发明提供一种隐藏功耗的抗攻击方法,可在不降低密码电路工作速度、不显著增加电路面积的前提下,有效抵御以功耗攻击为代表的旁路攻击。
[0008]为解决上述技术问题,本发明提供的技术方案为:采用具有自适应学习能力的神经网络拓扑结构构建功耗预测模型,对密码电路工作时的功耗进行预测,并建立配套的可配置的功耗补偿电路;根据神经网络的功耗预测结果来控制补偿电路进行相应的功能配置,使整体电路的功耗趋于恒定值,该值不随密钥和所处理数据的改变而改变,使攻击者无从获取与密钥信息的相关性,因而可以有效抵御功耗攻击。本发明的具体技术方案为:
[0009]所述电路由实现加解密算法功能的加解密模块、功耗补偿电路和神经网络功耗预测模块构成,所述加解密模块含有信号输入端和输出端,所述功耗补偿电路由可重构运算单元阵列、多路选择器和配置单元构成,所述运算单元阵列由一系列运算单元构成,所述的神经网络功耗预测模块为多层神经网络,其建立和调整过程是离线处理过程。
[0010]所述加解密模块的输入信号为N比特输入明文,该输入信号同时作为神经网络功耗预测模块的输入信号之一;所述的神经网络功耗预测模块输出的配置参数信号连接到功耗补偿电路的输入端,神经网络功耗预测模块在电路设计仿真阶段或实测阶段采集大量加解密单元的功耗样本,以实际测量的真实功耗的归一化值作为神经网络的输出期望,通过自适应学习不断训练和调整神经网络的权值系数和节点数目,使得预估功耗值轨迹逼近真实功耗轨迹;所述功耗补偿电路产生与加解密模块互补的功耗,其运算结果不对外输出,该功耗补偿电路中配置单元的配置信息由神经网络功耗预测模块产生,通过多路选择器选择运算模块中的运算单元使其做翻转操作产生补偿功耗,使得预测功耗与补偿功耗之和趋于一个固定值。
[0011 ] 具体地,所述电路中加解密模块和所述功耗补偿电路连接有同样的VDD供电电源,功耗补偿电路的供电电源通过一个电源开关连接到功耗补偿电路内部;加解密模块和功耗补偿电路共同的电源通路中连接一个电流计,其电流输出信号连接到神经网络预测模块中作为该神经网络功耗预测模块的一个输入信号。
[0012]具体地,功耗补偿电路具有独立的供电网络,由电源开关单独关断,从而在设计和调试阶段提供更高的灵活性,而在实际产品中将此电源开关禁用,防止破坏抗攻击效果。
[0013]所述的基于神经网络功耗预测的功耗补偿抗攻击电路的控制方法,包括:
[0014]步骤一:关闭功耗补偿电路的电源开关,仅启动加解密模块,获取训练样本,通过对加解密模块输入一系列随机明文进行实验,对每一个明文测量该模块的整体功耗值并进行归一化,其中每一个明文对应的整体功耗是加解密过程中的功耗组成的一条功耗轨迹,对多组明文进行加解密操作,获得足够多的训练样本,将这些样本作为期望向量D。
[0015]步骤二:初始化神经网络拓扑结构和权值系数,根据加解密算法的输入明文的位数及算法复杂度选定输入层节点数N,将加解密模块的预估功耗值归一化后作为输出层结果,输出层节点数为1,隐层节点数初始化为M,神经网络中所有的权值都经过归一化,其取值范围为(0,I)。
[0016]步骤三:训练神经网络,在给定的误差限条件下,根据样本不断的训练神经网络,计算误差代价函数,并根据误差反传算法修正各个权值系数、重新构造神经网络,直至误差代价函数满足设定的误差限条件为止,此时,神经网络的输出值与期望之间满足足够小的偏差要求。
[0017]步骤四:功耗补偿电路的平衡化操作,根据神经网络输出的预估功耗值轨迹,对功耗补偿电路进行配置,控制一定数量的电路单元做翻转操作产生补偿功耗,使得加解密模块的预测功耗与补偿电路的功耗之和趋于一个固定值。
[0018]本发明的有益效果是:
[0019](I)本发明采用具有自适应学习能力的神经网络对密码电路进行功耗预测,根据神经网络的功耗预测结果控制补偿电路进行相应的功能配置,使整体电路的功耗趋于恒定值,因此整体电路具有良好的功耗恒定性能,从而给密码电路提供了较高的抗功耗攻击防护能力。
[0020](2)本发明的功耗补偿电路的作用是产生与加解密模块互补的功耗,其本身不具备具体功能,与加解密电路也没有交互处理,因而对主体的加解密电路没有影响。而所述的神经网络功耗预测模型的建立是离线处理过程,在电路设计仿真阶段或实测阶段采集大量功耗样本并进行学习和调整权值,使得预估功耗值轨迹尽可能逼近真实功耗轨迹。因而本发明不会降低加解密电路的速度和吞吐率。
[0021](3)本发明的神经网络预测模型的参数,以及功耗补偿电路的配置均灵活可变,在电路设计阶段,就可以根据电路仿真的功耗信息进行预测模型的建立,从而对设计阶段的抗攻击性能进行指导。在芯片制造完成之后的调试阶段,由于功耗补偿电路可以单独关闭,因而仍然可以根据芯片实测结果对功耗预测模型的参数以及功耗补偿电路的配置进行相应的更改,使其能够提供更好的抗攻击效果(在实际产品中可以将功耗补偿电路的电源开关禁用,防止破坏抗攻击效果)。此外,离线处理的神经网络算法也可扩展、可升级,在芯片制造完成后仍然可以进行优化改进,适用于多种密码算法,抗攻击方案灵活可配。
【专利附图】

【附图说明】
[0022]图1是使用本发明方法实现的抗攻击总体结构框图。其中有:加解密模块1、功耗补偿电路2、神经网络功耗预测模块3、电源开关4。
[0023]图2是本发明方法实现的功耗补偿电路结构图。
[0024]图3是使用本发明方法实现的抗攻击工作流程。
[0025]图4是本发明方法使用的三层BP神经网络结构图。
[0026]图5是神经网络功耗预测和平衡化抗攻击方案流程图。
[0027]图6是神经网络对DES算法的学习曲线。
[0028]图7是未加保护的DES算法在DPA攻击下的相关性曲线图。
[0029]图8是使用本发明方法实现的DES加密算法在差分功耗攻击中的抗攻击效果图。
【具体实施方式】
[0030]下面结合附图对本发明作进一步说明。
[0031]如图1所示,为一种基于神经网络功耗预测和可配置功耗补偿电路的抗功耗攻击方法的结构图,包括加解密模块1、功耗补偿电路2和神经网络功耗预测模块3。其中加解密模块I是安全芯片的主体部分,实现要求的加解密功能;功耗补偿电路2的作用是产生与加解密模块互补的功耗,其基本组成单元是一系列可重构处理单元(PE),它们是一些功能相同的小单元;对功耗补偿电路的配置其实就是配置这些处理单元的工作与否,以及用作何种功能。整体工作原理是:神经网络的作用是进行功耗预测,并进行平衡化操作,功耗补偿电路的配置单元接收并存储来自离线的神经网络的功耗平衡化配置信息,并作用于功耗补偿电路,使整体电路的功耗为一个不随输入数据变化的恒定值,从而达到抵御旁路攻击的目的。
[0032]图2所示为功耗补偿电路的原理框图,功耗补偿电路不具备具体功能,其作用是产生与加解密模块互补的功耗,其运算结果不对外输出。功耗补偿电路由可重构运算单元阵列、多路选择器和配置模块构成,运算单元阵列由一系列运算单元构成,其配置信息由神经网络预测单元产生,通过一组多路选择器选择运算模块中一定数量的运算单元使其做翻转操作产生补偿功耗,使得预测功耗与补偿功耗之和趋于一个固定值。预估功耗值越高,则被用来产生翻转功耗的运算单元数目越少;预估功耗值越低,则用来产生翻转功耗的运算单元数目越多。
[0033]如图3所示,为使用本发明方法实现的基于神经网络功耗预测的功耗补偿抗攻击工作流程,首先对整体电路进行初始化,将功耗补偿电路关闭,仅启动加解密进行功耗样本采集;其次将样本送入神经网络预测算法中进行功耗预测;最后进行相应的抗攻击配置,将功耗补偿电路打开并配置产生相应的功耗,配合加解密运算,使整体的功耗值恒定。具体来讲,采用如下步骤:
[0034]步骤一:关闭功耗补偿电路的电源开关,仅启动加解密模块,获取训练样本。通过对加解密模块输入一系列随机明文进行实验,对每一个明文测量该模块的整体功耗值并进行归一化,其中每一个明文对应的整体功耗是加解密过程中的功耗组成的一条功耗轨迹。对多组明文进行加解密操作,获得足够多的训练样本,将这些样本作为期望向量D。
[0035]步骤二:初始化神经网络拓扑结构和权值系数。根据加解密算法的输入明文的位数及算法复杂度选定输入层节点数N,将加解密模块的预估功耗值归一化后作为输出层结果,输出层节点数为1,隐层节点数初始化为M。神经网络中所有的权值都经过归一化,其取值范围为(0,I)。
[0036]步骤三:训练神经网络。在给定的误差限条件下,根据样本不断的训练神经网络,计算误差代价函数,并根据误差反传算法修正各个权值系数、重新构造神经网络,直至误差代价函数满足设定的误差限条件为止。此时,神经网络的输出值与期望之间满足足够小的偏差要求。
[0037]步骤四:功耗补偿电路的平衡化操作。根据神经网络输出的预估功耗值轨迹,对功耗补偿电路进行配置,控制一定数量的电路单元做翻转操作产生补偿功耗,使得加解密模块的预测功耗与补偿电路的功耗之和趋于一个固定值。
[0038]如图4所示,为一个三层误差反传(BP)神经网络结构图。本发明以单隐层的多层感知器模型构建了三层BP神经网络功耗模型,所谓三层即输入层、隐层和输出层。其中,输入向量Χ=(χι,χ2,…,χη)τ为I~η比特的明文输入,Xtl=-1是为隐层神经元引入阈值而设置的;隐层输出向量为Y=(yi,y2,-,yffl)T,图中L=-1是为输出层神经元引入阈值而设置的;输出层输出向量为O=(C)1, O2,…,Oi)T ;期望输出向量为D=W1, d2,…,di)T。输入层到隐层之间的权值矩阵用V= (V1CI, V11,…,Vln,…,Vij,…,Vm(l, Vml,…,Vmn)表示,其中Vi, j表示隐层的第i个神经元节点对应第j个输入节点的权值系数;而隐层到输出层之间的权值矩阵用W=(w1Q, W11,…,wln,..., Wij.,…,Wlc^W11,…,wlm)表示,其中Wij表示输出层第i个输出结果对应第j个隐层节点的权值系数。
[0039]输出层和隐层的输出信号分别由式(I)和式(2)决定,有
[0040]
【权利要求】
1.一种基于神经网络功耗预测的功耗补偿抗攻击电路,其特征是: 所述电路由实现加解密算法功能的加解密模块(I)、功耗补偿电路(2)和神经网络功耗预测模块(3)构成,所述加解密模块(I)含有信号输入端和输出端,所述功耗补偿电路(2)由可重构运算单元阵列、多路选择器和配置单元构成,所述运算单元阵列由一系列运算单元构成,所述的神经网络功耗预测模块(3)为多层神经网络,其建立和调整过程是离线处理过程; 所述加解密模块(I)的输入信号为N比特输入明文,该输入信号同时作为神经网络功耗预测模块(3)的输入信号之一;所述的神经网络功耗预测模块(3)输出的配置参数信号连接到功耗补偿电路(2)的输入端,神经网络功耗预测模块(3)在电路设计仿真阶段或实测阶段采集大量加解密单元的功耗样本,以实际测量的真实功耗的归一化值作为神经网络的输出期望,通过自适应学习不断训练和调整神经网络的权值系数和节点数目,使得预估功耗值轨迹逼近真实功耗轨迹;所述功耗补偿电路(2)产生与加解密模块(I)互补的功耗,其运算结果不对外输出,该功耗补偿电路(2)中配置单元的配置信息由神经网络功耗预测模块(3)产生,通过多路选择器选择运算模块中的运算单元使其做翻转操作产生补偿功耗,使得预测功耗与补偿功耗之和趋于一个固定值。
2.根据权利要求1所述的基于神经网络功耗预测的功耗补偿抗攻击电路,其特征是:所述电路中加解密模块(I)和所述功耗补偿电路(2)连接有同样的VDD供电电源,功耗补偿电路(2 )的供电电源通过一个电源开关(4 )连接到功耗补偿电路(2 )内部;加解密模块(I)和功耗补偿电路(2)共同的电源通路中连接一个电流计,其电流输出信号连接到神经网络预测模块(3)中作为该神经网络功耗预测模块(3)的一个输入信号。
3.根据权利要求1或2所述的一种基于神经网络功耗预测的功耗补偿抗攻击电路,其特征是:功耗补偿电路(2)具有独立的供电网络,由电源开关单独关断。
4.根据权利要求1或2所述的一种基于神经网络功耗预测的功耗补偿抗攻击电路的控制方法,其特征是:包括 步骤一:关闭功耗补偿电路的电源开关,仅启动加解密模块,获取训练样本,通过对加解密模块输入一系列随机明文进行实验,对每一个明文测量该模块的整体功耗值并进行归一化,其中每一个明文对应的整体功耗是加解密过程中的功耗组成的一条功耗轨迹,对多组明文进行加解密操作,获得足够多的训练样本,将这些样本作为期望向量D ; 步骤二:初始化神经网络拓扑结构和权值系数,根据加解密算法的输入明文的位数及算法复杂度选定输入层节点数N,将加解密模块的预估功耗值归一化后作为输出层结果,输出层节点数为1,隐层节点数初始化为M,神经网络中所有的权值都经过归一化,其取值范围为(O, I); 步骤三:训练神经网络,在给定的误差限条件下,根据样本不断的训练神经网络,计算误差代价函数,并根据误差反传算法修正各个权值系数、重新构造神经网络,直至误差代价函数满足设定的误差限条件为止,此时,神经网络的输出值与期望之间满足足够小的偏差要求; 步骤四:功耗补偿电路的平衡化操作,根据神经网络输出的预估功耗值轨迹,对功耗补偿电路进行配置,控制一定数量的电路单元做翻转操作产生补偿功耗,使得加解密模块的预测功耗与补偿电路的功耗之和趋于一个固定值。
【文档编号】G06N3/02GK103646219SQ201310633020
【公开日】2014年3月19日 申请日期:2013年11月29日 优先权日:2013年11月29日
【发明者】单伟伟, 王学香, 孙华芳, 徐志鹏, 田朝轩 申请人:东南大学
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1