首页> 中国专利> 基于神经网络功耗预测的功耗补偿抗攻击电路及控制方法

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

摘要

本发明公开了一种基于神经网络功耗预测的功耗补偿抗攻击电路及控制方法,所述电路由实现加解密算法功能的加解密模块、功耗补偿电路和神经网络预测模块构成,所述方法采用具有自适应学习能力的神经网络算法构建功耗预测模型,对密码电路工作时进行功耗预测,并建立可配置的功耗补偿电路,根据功耗预测结果控制补偿电路进行相应的功能配置,使整体电路的功耗趋于恒定值,该值不随密钥和所处理数据的改变而改变,使攻击者无从获取与密钥信息的相关性,因而可以有效抵御功耗攻击。

著录项

  • 公开/公告号CN103646219A

    专利类型发明专利

  • 公开/公告日2014-03-19

    原文格式PDF

  • 申请/专利权人 东南大学;

    申请/专利号CN201310633020.8

  • 申请日2013-11-29

  • 分类号G06F21/72(20130101);G06N3/02(20060101);

  • 代理机构32250 江苏永衡昭辉律师事务所;

  • 代理人王斌

  • 地址 210096 江苏省南京市四牌楼2号

  • 入库时间 2024-02-19 22:53:23

法律信息

  • 法律状态公告日

    法律状态信息

    法律状态

  • 2016-03-30

    授权

    授权

  • 2014-04-16

    实质审查的生效 IPC(主分类):G06F21/72 申请日:20131129

    实质审查的生效

  • 2014-03-19

    公开

    公开

说明书

技术领域

本发明属于信息安全领域,尤其是密码电路的抗功耗攻击方面,用于保护密码电路,使之能以较高的灵活性能在不降低密码电路处理速度的前提下抵御功耗分析攻击,增强密码电路的安全性。

背景技术

随着现代社会的日益信息化、数字化与网络化,人们对信息安全技术的需求越来越广泛和深入,信息安全产品已成为整个社会良性运转的重要保障。其中高性能高安全性的密码处理器是必不可少的基础硬件,各种基于DES、AES、RSA、ECC和HASH等算法的密码协处理器芯片得到了广泛地研究和开发。

得益于集成电路设计技术的飞速发展,很多安全密码处理器采用片上系统芯片(SoC)的解决方案以提高数据交互性能。但是在性能提高的同时,密码芯片也面临着各种各样的安全风险。密码算法的数学安全性可以由算法本身得到保证。近年来以功耗攻击为代表的旁路攻击(Side-ChannelAttack,SCA)对密码芯片的安全性提出了严峻的挑战,它能让攻击者通过分析密码设备在密钥操作时泄露的旁路信息(如功耗信息、电磁辐射等)来获得关键的密钥信息,其攻击效率比传统的数学攻击高数个数量级,而且实施起来也更加简单。

为了有效抵御旁路攻击,研究者基于隐藏技术(Hiding)和掩码技术(Masking)的思想进行了广泛而深入的研究。隐藏技术的基本思路是切断密码芯片处理的数据与芯片旁路信息量之间的联系;掩码技术则通过随机化密码芯片所处理数据的中间值来提高安全性。

目前已有多种有效的基于隐藏技术的抗攻击方法,通常由电路级对称设计来实现。然而,这些研究大都以较大的代价来换取密码芯片安全性能的提高。例如已报道的波动差分逻辑电路(WDDL)设计的AES密码电路,通过对称的双轨电路使处理0和1时功耗基本相同来隐藏功耗信息,可以抵御150万次样本攻击,但其代价是面积增加为原来的3倍,运算速度却降到1/4。此外,这些由定制集成电路方式实现的抗攻击方法除了面积代价大、速度代价大之外,还具有设计复杂、灵活性差的缺点。因而,如何在不显著增加面积和降低速度的前提下,构建一个高效的隐藏功耗的抗攻击方法成为必须。

人类具有最高度发达的大脑,具有认知、记忆、学习等复杂的信息处理能力。人脑总计大约有1.4×1011个神经细胞,称为神经元。每个神经元有数以千计的通道与其他神经元广泛连接,形成复杂的生物神经网络。神经网络算法正是智能仿生学的优秀产物,它通过模拟人体神经网络的方式提高智能信息系统的数据处理能力,如今已广泛应用于信号处理、模式识别、数据压缩、生物医学等许多工程领域。但目前还没有人将其用到在密码电路的抗攻击增强方案中。人工神经网络中,最常用的误差反传(ErrorBackPropagation,BP)网络是万能逼近器,即,任何一个非线性函数都可用BP网络进行任意逼近,在合理设计下能够实现快速收敛的函数逼近。因此,本发明将密码电路的功耗抽象为数学函数进行建模,利用神经网络算法进行功耗预测,并与可配置的功耗补偿电路结合起来,可以有效增强密码电路的抗功耗攻击能力。

发明内容

本发明提供一种隐藏功耗的抗攻击方法,可在不降低密码电路工作速度、不显著增加电路面积的前提下,有效抵御以功耗攻击为代表的旁路攻击。

为解决上述技术问题,本发明提供的技术方案为:采用具有自适应学习能力的神经网络拓扑结构构建功耗预测模型,对密码电路工作时的功耗进行预测,并建立配套的可配置的功耗补偿电路;根据神经网络的功耗预测结果来控制补偿电路进行相应的功能配置,使整体电路的功耗趋于恒定值,该值不随密钥和所处理数据的改变而改变,使攻击者无从获取与密钥信息的相关性,因而可以有效抵御功耗攻击。本发明的具体技术方案为:

所述电路由实现加解密算法功能的加解密模块、功耗补偿电路和神经网络功耗预测模块构成,所述加解密模块含有信号输入端和输出端,所述功耗补偿电路由可重构运算单元阵列、多路选择器和配置单元构成,所述运算单元阵列由一系列运算单元构成,所述的神经网络功耗预测模块为多层神经网络,其建立和调整过程是离线处理过程。

所述加解密模块的输入信号为N比特输入明文,该输入信号同时作为神经网络功耗预测模块的输入信号之一;所述的神经网络功耗预测模块输出的配置参数信号连接到功耗补偿电路的输入端,神经网络功耗预测模块在电路设计仿真阶段或实测阶段采集大量加解密单元的功耗样本,以实际测量的真实功耗的归一化值作为神经网络的输出期望,通过自适应学习不断训练和调整神经网络的权值系数和节点数目,使得预估功耗值轨迹逼近真实功耗轨迹;所述功耗补偿电路产生与加解密模块互补的功耗,其运算结果不对外输出,该功耗补偿电路中配置单元的配置信息由神经网络功耗预测模块产生,通过多路选择器选择运算模块中的运算单元使其做翻转操作产生补偿功耗,使得预测功耗与补偿功耗之和趋于一个固定值。

具体地,所述电路中加解密模块和所述功耗补偿电路连接有同样的VDD供电电源,功耗补偿电路的供电电源通过一个电源开关连接到功耗补偿电路内部;加解密模块和功耗补偿电路共同的电源通路中连接一个电流计,其电流输出信号连接到神经网络预测模块中作为该神经网络功耗预测模块的一个输入信号。

具体地,功耗补偿电路具有独立的供电网络,由电源开关单独关断,从而在设计和调试阶段提供更高的灵活性,而在实际产品中将此电源开关禁用,防止破坏抗攻击效果。

所述的基于神经网络功耗预测的功耗补偿抗攻击电路的控制方法,包括:

步骤一:关闭功耗补偿电路的电源开关,仅启动加解密模块,获取训练样本,通过对加解密模块输入一系列随机明文进行实验,对每一个明文测量该模块的整体功耗值并进行归一化,其中每一个明文对应的整体功耗是加解密过程中的功耗组成的一条功耗轨迹,对多组明文进行加解密操作,获得足够多的训练样本,将这些样本作为期望向量D。

步骤二:初始化神经网络拓扑结构和权值系数,根据加解密算法的输入明文的位数及算法复杂度选定输入层节点数N,将加解密模块的预估功耗值归一化后作为输出层结果,输出层节点数为l,隐层节点数初始化为M,神经网络中所有的权值都经过归一化,其取值范围为(0,1)。

步骤三:训练神经网络,在给定的误差限条件下,根据样本不断的训练神经网络,计算误差代价函数,并根据误差反传算法修正各个权值系数、重新构造神经网络,直至误差代价函数满足设定的误差限条件为止,此时,神经网络的输出值与期望之间满足足够小的偏差要求。

步骤四:功耗补偿电路的平衡化操作,根据神经网络输出的预估功耗值轨迹,对功耗补偿电路进行配置,控制一定数量的电路单元做翻转操作产生补偿功耗,使得加解密模块的预测功耗与补偿电路的功耗之和趋于一个固定值。

本发明的有益效果是:

(1)本发明采用具有自适应学习能力的神经网络对密码电路进行功耗预测,根据神经网络的功耗预测结果控制补偿电路进行相应的功能配置,使整体电路的功耗趋于恒定值,因此整体电路具有良好的功耗恒定性能,从而给密码电路提供了较高的抗功耗攻击防护能力。

(2)本发明的功耗补偿电路的作用是产生与加解密模块互补的功耗,其本身不具备具体功能,与加解密电路也没有交互处理,因而对主体的加解密电路没有影响。而所述的神经网络功耗预测模型的建立是离线处理过程,在电路设计仿真阶段或实测阶段采集大量功耗样本并进行学习和调整权值,使得预估功耗值轨迹尽可能逼近真实功耗轨迹。因而本发明不会降低加解密电路的速度和吞吐率。

(3)本发明的神经网络预测模型的参数,以及功耗补偿电路的配置均灵活可变,在电路设计阶段,就可以根据电路仿真的功耗信息进行预测模型的建立,从而对设计阶段的抗攻击性能进行指导。在芯片制造完成之后的调试阶段,由于功耗补偿电路可以单独关闭,因而仍然可以根据芯片实测结果对功耗预测模型的参数以及功耗补偿电路的配置进行相应的更改,使其能够提供更好的抗攻击效果(在实际产品中可以将功耗补偿电路的电源开关禁用,防止破坏抗攻击效果)。此外,离线处理的神经网络算法也可扩展、可升级,在芯片制造完成后仍然可以进行优化改进,适用于多种密码算法,抗攻击方案灵活可配。

附图说明

图1是使用本发明方法实现的抗攻击总体结构框图。其中有:加解密模块1、功耗补偿电路2、神经网络功耗预测模块3、电源开关4。

图2是本发明方法实现的功耗补偿电路结构图。

图3是使用本发明方法实现的抗攻击工作流程。

图4是本发明方法使用的三层BP神经网络结构图。

图5是神经网络功耗预测和平衡化抗攻击方案流程图。

图6是神经网络对DES算法的学习曲线。

图7是未加保护的DES算法在DPA攻击下的相关性曲线图。

图8是使用本发明方法实现的DES加密算法在差分功耗攻击中的抗攻击效果图。

具体实施方式

下面结合附图对本发明作进一步说明。

如图1所示,为一种基于神经网络功耗预测和可配置功耗补偿电路的抗功耗攻击方法的结构图,包括加解密模块1、功耗补偿电路2和神经网络功耗预测模块3。其中加解密模块1是安全芯片的主体部分,实现要求的加解密功能;功耗补偿电路2的作用是产生与加解密模块互补的功耗,其基本组成单元是一系列可重构处理单元(PE),它们是一些功能相同的小单元;对功耗补偿电路的配置其实就是配置这些处理单元的工作与否,以及用作何种功能。整体工作原理是:神经网络的作用是进行功耗预测,并进行平衡化操作,功耗补偿电路的配置单元接收并存储来自离线的神经网络的功耗平衡化配置信息,并作用于功耗补偿电路,使整体电路的功耗为一个不随输入数据变化的恒定值,从而达到抵御旁路攻击的目的。

图2所示为功耗补偿电路的原理框图,功耗补偿电路不具备具体功能,其作用是产生与加解密模块互补的功耗,其运算结果不对外输出。功耗补偿电路由可重构运算单元阵列、多路选择器和配置模块构成,运算单元阵列由一系列运算单元构成,其配置信息由神经网络预测单元产生,通过一组多路选择器选择运算模块中一定数量的运算单元使其做翻转操作产生补偿功耗,使得预测功耗与补偿功耗之和趋于一个固定值。预估功耗值越高,则被用来产生翻转功耗的运算单元数目越少;预估功耗值越低,则用来产生翻转功耗的运算单元数目越多。

如图3所示,为使用本发明方法实现的基于神经网络功耗预测的功耗补偿抗攻击工作流程,首先对整体电路进行初始化,将功耗补偿电路关闭,仅启动加解密进行功耗样本采集;其次将样本送入神经网络预测算法中进行功耗预测;最后进行相应的抗攻击配置,将功耗补偿电路打开并配置产生相应的功耗,配合加解密运算,使整体的功耗值恒定。具体来讲,采用如下步骤:

步骤一:关闭功耗补偿电路的电源开关,仅启动加解密模块,获取训练样本。通过对加解密模块输入一系列随机明文进行实验,对每一个明文测量该模块的整体功耗值并进行归一化,其中每一个明文对应的整体功耗是加解密过程中的功耗组成的一条功耗轨迹。对多组明文进行加解密操作,获得足够多的训练样本,将这些样本作为期望向量D。

步骤二:初始化神经网络拓扑结构和权值系数。根据加解密算法的输入明文的位数及算法复杂度选定输入层节点数N,将加解密模块的预估功耗值归一化后作为输出层结果,输出层节点数为l,隐层节点数初始化为M。神经网络中所有的权值都经过归一化,其取值范围为(0,1)。

步骤三:训练神经网络。在给定的误差限条件下,根据样本不断的训练神经网络,计算误差代价函数,并根据误差反传算法修正各个权值系数、重新构造神经网络,直至误差代价函数满足设定的误差限条件为止。此时,神经网络的输出值与期望之间满足足够小的偏差要求。

步骤四:功耗补偿电路的平衡化操作。根据神经网络输出的预估功耗值轨迹,对功耗补偿电路进行配置,控制一定数量的电路单元做翻转操作产生补偿功耗,使得加解密模块的预测功耗与补偿电路的功耗之和趋于一个固定值。

如图4所示,为一个三层误差反传(BP)神经网络结构图。本发明以单隐层的多层感知器模型构建了三层BP神经网络功耗模型,所谓三层即输入层、隐层和输出层。其中,输入向量X=(x1,x2,…,xn)T为1~n比特的明文输入,x0=-1是为隐层神经元引入阈值而设置的;隐层输出向量为Y=(y1,y2,…,ym)T,图中y0=-1是为输出层神经元引入阈值而设置的;输出层输出向量为O=(o1,o2,…,oi)T;期望输出向量为D=(d1,d2,…,di)T。输入层到隐层之间的权值矩阵用V=(v10,v11,…,v1n,…,vij,…,vm0,vm1,…,vmn)表示,其中vi,j表示隐层的第i个神经元节点对应第j个输入节点的权值系数;而隐层到输出层之间的权值矩阵用W=(w10,w11,…,w1n,…,wij,…,wl0,wl1,…,wlm)表示,其中wij表示输出层第i个输出结果对应第j个隐层节点的权值系数。

输出层和隐层的输出信号分别由式(1)和式(2)决定,有

>ok=f(Na)=f(Σj=0mwjkyj)k=1,2,...,1---(1)>

>yj=f(Nb)=f(Σi=0nvijxi)j=1,2,...,m---(2)>

其中,上述各式中f(x)为变换函数,采用具有连续可导特点的单极性Sigmoid函数,如式(3)所示

>f(x)=11+e-x---(3)>

当神经网络输出结果与期望输出不等时,其误差函数可以表示为:

>E=12(D-O)2=12Σk=1l(dk-ok)2---(4)>

展开至隐层可得:

>E=12Σk=1l[dk-f(Na)]2=12Σk=1l[dk-f(Σj=0mwjkyj)]2---(5)>

进一步展开至输入层可得:

>E=12Σk=1l{dk-f[Σj=0mwjkf(Σi=0nvijxi)]}2---(6)>

由上式可见,输出误差是各层权值wjk、vij的函数,神经网络的调节过程就是根据误差函数不断调整权值系数的过程,最终使误差尽可能的小,使得输出结果尽可能逼近期望值。

如图5所示为基于神经网络功耗预测和功耗补偿的平衡化抗攻击方案流程图。根据建立的神经网络功耗预测模型,以随机明文激励为输入层信号,以加解密模块的预估功耗值作为输出层结果,设计了三层BP神经网络,并以实际测量的真实功耗的归一化值作为神经网络的输出期望,不断训练和调整神经网络的权值系数和节点数目,使得预估功耗值尽可能逼近真实功耗。

本发明方法在DES密码算法的电路实现上进行实验,采用本发明方法在ModelSim仿真平台上做了验证,最终完成的基于三层BP神经网络的功耗平衡化抗攻击设计中,神经网络的输入层、隐层和输出层的节点数分别为n=68,m=9,l=1。训练1000次所获得的神经网络学习曲线如图6所示,其训练后的最终误差约为0.0442(4.42%)。下面以此例说明基于神经网络功耗预测和功耗补偿的平衡化抗攻击方案的主要步骤。

1)关闭功耗补偿电路的电源开关,启动加解密模块,获取训练样本。在ModelSim仿真平台上实现的DES算法和DPA攻击,利用汉明距离获得实测功耗值。根据基于相关系数的DPA攻击流程,选取DES算法第一轮S盒输出的第一位作为攻击点,并根据DES的16轮循环函数将功耗迹离散化为80个功耗点,每一轮5个功耗点,将80个功耗采样点作为一条功耗迹的离散值。共进行1000次随机明文加密,采用的密钥统一为0x4f6d352afdab,获得1000组功耗样本,即1000×80的VCD文件(ModelSim采集出来的波形文件)。将这些样本作为期望向量D。

2)初始化神经网络拓扑结构和权值系数。根据DES算法的输入明文的位数(64位)和循环轮数(共16轮,用4比特表示),选定输入层节点数n=64+4=68。将加解密模块的预估功耗迹的归一化值作为输出层结果,输出层节点数l=1。将隐层节点数初始化为m=9。由于神经网络中所有的权值都经过了归一化,其取值范围为(0,1),先将权值矩阵V和W全部初始化为0.5。

3)训练神经网络。在给定的误差限条件下(4.5%),根据样本不断的训练神经网络,然后计算误差代价函数,并根据BP算法修正各个权值系数、重新构造神经网络,直至误差代价函数满足设定的误差限条件为止。此时,神经网络的输出值与期望之间满足足够小的偏差要求。

4)功耗平衡化。在密码电路实际工作中,将加解密单元的输入信号同时输出到神经网络预测单元中,根据神经网络输出的预估功耗值轨迹对功耗补偿电路进行配置,控制对应数量的电路单元做翻转操作产生补偿功耗,使得加解密模块的预测功耗与补偿电路的功耗之和趋于一个固定值。例如,DES算法某个明文激励产生的预估功耗值为145个单位,而设定的固定功耗和为200,则需配置功耗补偿电路做55比特的翻转产生对应的补偿功耗。这样,整体电路的功耗在整个加解密运算过程中趋于一个固定值,该值不随密钥和所处理数据的改变而改变,攻击者无从获取与密钥信息的相关性,因而可以有效抵御功耗攻击。

图7和图8为使用本发明方法实现的DES加密算法在差分功耗攻击中的抗攻击效果图。其中图7是未加保护的原始DES算法在DPA攻击下的相关性曲线图。图中是对于未加保护的原始DES算法电路而言,猜测第一组6比特子密钥,共计26=64种可能的情况,从该图中可以分析出:1)猜测的子密钥010011所对应的相关性曲线图具有明显的尖峰,说明此时功耗与数据之间的相关性最大。而该子密钥与真实密钥0x4f6d352afdab的前6位完全一致,说明第一组6比特的子密钥已攻击成功。重复该实验8次将可以完全破解48比特的真实密钥信息。2)尖峰值出现在相关性曲线的前几个离散点处,这是由于一开始设定的攻击点选择在第一轮S盒输出处,根据离散化功耗点的选取方法,第一轮S盒输出对应于功耗迹上的第三个点,故尖峰值出现在约第三个离散点处。

对采用本发明进行保护的DES算法做了同样的DPA攻击实验,同样得到第一组子密钥的相关性曲线如图8所示。图中可见,由于采取了功耗补偿抗功耗攻击设计,正确密钥对应的相关性曲线没有出现明显的尖峰,已经无法判断出正确子密钥,其对应的相关性曲线与其他错误子密钥相类似。因此,本发明能够有效抵御功耗攻击,保护关键密钥信息。

去获取专利,查看全文>

相似文献

  • 专利
  • 中文文献
  • 外文文献
获取专利

客服邮箱:kefu@zhangqiaokeyan.com

京公网安备:11010802029741号 ICP备案号:京ICP备15016152号-6 六维联合信息科技 (北京) 有限公司©版权所有
  • 客服微信

  • 服务号