CN107241324B - 基于机器学习的密码电路功耗补偿抗旁路攻击方法及电路 - Google Patents
基于机器学习的密码电路功耗补偿抗旁路攻击方法及电路 Download PDFInfo
- Publication number
- CN107241324B CN107241324B CN201710406459.5A CN201710406459A CN107241324B CN 107241324 B CN107241324 B CN 107241324B CN 201710406459 A CN201710406459 A CN 201710406459A CN 107241324 B CN107241324 B CN 107241324B
- Authority
- CN
- China
- Prior art keywords
- power consumption
- circuit
- compensation
- mapping
- matrix
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
- 238000000034 method Methods 0.000 title claims abstract description 68
- 238000010801 machine learning Methods 0.000 title claims abstract description 25
- 238000004364 calculation method Methods 0.000 claims abstract description 56
- 238000004422 calculation algorithm Methods 0.000 claims abstract description 44
- 230000001537 neural effect Effects 0.000 claims abstract description 38
- 238000013507 mapping Methods 0.000 claims description 89
- 239000011159 matrix material Substances 0.000 claims description 80
- 230000006870 function Effects 0.000 claims description 45
- 230000008569 process Effects 0.000 claims description 32
- 230000007704 transition Effects 0.000 claims description 31
- 238000012546 transfer Methods 0.000 claims description 22
- 230000008859 change Effects 0.000 claims description 20
- 238000012549 training Methods 0.000 claims description 11
- 238000012545 processing Methods 0.000 claims description 4
- 230000007306 turnover Effects 0.000 claims description 3
- 238000005070 sampling Methods 0.000 claims description 2
- 238000010586 diagram Methods 0.000 description 8
- 238000005516 engineering process Methods 0.000 description 4
- 238000011160 research Methods 0.000 description 4
- 238000013461 design Methods 0.000 description 3
- 230000000694 effects Effects 0.000 description 3
- 230000000873 masking effect Effects 0.000 description 3
- 238000005457 optimization Methods 0.000 description 3
- 238000004458 analytical method Methods 0.000 description 2
- 238000013528 artificial neural network Methods 0.000 description 2
- 230000009286 beneficial effect Effects 0.000 description 2
- 238000011161 development Methods 0.000 description 2
- 238000001712 DNA sequencing Methods 0.000 description 1
- 238000013459 approach Methods 0.000 description 1
- 238000003491 array Methods 0.000 description 1
- 238000013473 artificial intelligence Methods 0.000 description 1
- 238000005094 computer simulation Methods 0.000 description 1
- 238000010219 correlation analysis Methods 0.000 description 1
- 238000005336 cracking Methods 0.000 description 1
- 238000013135 deep learning Methods 0.000 description 1
- 238000002474 experimental method Methods 0.000 description 1
- 239000002360 explosive Substances 0.000 description 1
- 238000007620 mathematical function Methods 0.000 description 1
- 238000004377 microelectronic Methods 0.000 description 1
- 230000001681 protective effect Effects 0.000 description 1
- 238000012827 research and development Methods 0.000 description 1
- 238000007619 statistical method Methods 0.000 description 1
- 238000012706 support-vector machine Methods 0.000 description 1
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L63/00—Network architectures or network communication protocols for network security
- H04L63/14—Network architectures or network communication protocols for network security for detecting or protecting against malicious traffic
- H04L63/1441—Countermeasures against malicious traffic
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L63/00—Network architectures or network communication protocols for network security
- H04L63/14—Network architectures or network communication protocols for network security for detecting or protecting against malicious traffic
- H04L63/1441—Countermeasures against malicious traffic
- H04L63/1475—Passive attacks, e.g. eavesdropping or listening without modification of the traffic monitored
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/08—Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
- H04L9/0861—Generation of secret information including derivation or calculation of cryptographic keys or passwords
- H04L9/0869—Generation of secret information including derivation or calculation of cryptographic keys or passwords involving random numbers or seeds
Landscapes
- Engineering & Computer Science (AREA)
- Computer Security & Cryptography (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Computer Hardware Design (AREA)
- Computing Systems (AREA)
- General Engineering & Computer Science (AREA)
- Storage Device Security (AREA)
- Traffic Control Systems (AREA)
Abstract
本发明公开了一种基于机器学习的密码电路功耗补偿抗旁路攻击方法及电路,该方法采用神经动态规划方法,根据加密电路功耗迹的统计规律构建功耗补偿模型,利用可配置的功耗补偿电路,对密码电路工作时的功耗进行实时补偿;神经动态规划算法的计算结果控制补偿电路进行相应汉明距离的功耗补偿,改变原加密电路中中间数据和功耗之间的统计规律,使攻击者无法从功耗轨迹中获取正确的密钥信息,进而抵御功耗攻击。
Description
技术领域
本发明属于信息安全领域,尤其是在加密电路的抗功耗攻击方面,用于保护加密电路,使之能以有限的面积和功耗代价增强密码电路的安全性,抵御功耗分析攻击,并以较好的灵活性适应不同的加密算法电路。
背景技术
随着信息化时代的发展,信息安全问题也更加受到人们的重视,对密码学和相关加密设备的研究与开发也同时随着微电子技术的爆发式增长而得到更加深入的探讨。高性能计算机的出现虽然增加了同时处理大量信息的能力,同时也对信息安全产生巨大威胁。
随着集成电路设计技术的发展,安全密码处理器更多采用片上系统芯片(SoC)的解决方案来提高处理数据能力。但在性能提高的同时,密码芯片也面临着各种各样攻击的攻击方式的威胁。旁路攻击(Side-Channel Attack,SCA),又称为侧信道攻击,通过加密设备旁路信息泄露的捕捉和分析,可以大大降低分析所需要的资源,极大增加攻击的成功率。以差分功耗攻击为例,利用功耗数据和加密过程的中间数据相关性,通过采集多条明文所对应的功耗迹进行统计分析来确定正确密钥。根据统计学原理的相关性分析,只要采集的功耗迹足够多,都可以获得正确密钥。此种方法实施简单,算法易实现,且不需要破坏加密设备。同时,随着分析者对硬件加密设备的了解程度的增加,破解难度大大降低。因此抗功耗攻击成为现代密码学电路的热门研究课题。为了有效抵御旁路攻击,目前,研究者基于隐藏技术(Hiding) 和掩码技术(Masking)的思想进行了广泛而深入的研究。隐藏技术的基本思路是切断密码芯片处理的数据与芯片旁路信息量之间的联系;掩码技术则通过随机化密码芯片所处理数据的中间值来提高安全性。
目前已有多种有效的基于隐藏技术的抗旁路攻击方法,以抗差分功耗攻击的电路实现为例,通过改变功耗迹之间的方差,或者将其降低至0,或者增大到无穷大,即可消除操作数和功耗之间的关系。主流的保护方法是使用噪声引擎引入噪声来降低信噪比,以及使用功耗补偿模块做冗余运算补偿功耗。然而,这些研究大都以较大的代价来换取密码芯片安全性能的提高。例如,利用波动差分逻辑电路(WDDL)实现的AES加密电路,其双轨电路处理数据 0和1时功耗基本相同,该种防御方法可抵御150万条功耗迹样本的攻击,但其芯片面积增加为原来的3倍,运算速度降低为原来的1/4。因此,如何设计一种有效的防护方法,能够增强加密电路防护性能且并不显著增加面积和降低速度显得至关重要。
机器学习是“一门给与计算机自主学习能力而无需明确编程的研究领域”。主要的机器学习算法有神经网络、支持向量机、神经动态规划、深度学习、增强型学习等,是一种计算机统计学,通过已有的样本进行训练,拟合必要的参数,使得在给与未知样本的情况下计算机具有预测的能力。机器学习强调了数学统计和最优化算法的使用,应用领域非常广泛,在DNA 测序、计算机金融学、密码学、机器人运动学、搜索引擎研究等领域都有极为深度的应用。神经动态规划是近年发展起来的一种优化方法,它采用动态规划的基本思想和结构,汲取了人工神经网络、计算机仿真、人工智能等领域的成果和方法,通过对实际系统的仿真,对系统自身进行优化,提高系统性能。
机器学习和密码学之间的关系非常密切,因为机器学习所希望拟合的函数或者未知系统,即可看成加密过程所未知的密钥,而用于训练的样本也就是密码攻击者所使用的明文-密文对。因此,本发明将密码电路的功耗抽象为数学函数进行建模,利用机器学习方法计算补偿功耗值,并与可配置的功耗补偿电路结合起来,加强加密电路的抗功耗攻击能力。
发明内容
发明目的:本发明提供一种基于隐藏技术的抗功耗攻击方法,在不显著增加电路面积和降低电路速度的前提下,有效抵御以功耗攻击为代表的旁路攻击。
技术方案:为解决上述技术问题,本发明提供的技术方案为:采用机器学习中的神经动态规划方法,根据加密电路功耗迹的统计规律构建功耗补偿模型,利用可配置的功耗补偿电路,对密码电路工作时的功耗进行实时补偿;神经动态规划算法的计算结果控制补偿电路进行相应汉明距离的功耗补偿,改变原加密电路中中间数据和功耗之间的统计规律,使攻击者无法从功耗轨迹中获取正确的密钥信息,进而抵御功耗攻击。
神经动态规划的基本原理是根据模型引入特征向量和与其对应维数的参数向量,通过调整参数向量以获得比较“好”的目标函数结果,参数向量不断调整的过程也正是机器学习的训练过程,当目标函数被优化到可接受程度时,则神经动态规划的学习已完成。本发明以加密电路功耗统计分布为优化目标,基于功耗轨迹规律进行建模,采用动态规划算法计算补偿的汉明距离值,并通过功耗补偿电路进行相应的补偿,使得原加密电路所处理中间数据的汉明距离和功耗之间的相关性被打破。
具体技术方案为:
整个电路系统由具有加密功能的加密电路、补偿值计算和映射电路、功耗补偿电路和神经动态规划算法模块构成,加密电路的输入信号为N比特明文,输出信号为N比特密文,其部分中间数据作为补偿值计算和映射电路的输入信号;补偿值计算和映射电路根据加密电路的中间数据和神经动态规划算法模块的计算结果计算出补偿汉明距离值作为输出结果;补偿值计算和映射电路的输出结果为功耗补偿电路的输入信号,控制功耗补偿电路的功耗大小;功耗补偿电路产生加密电路所需补偿汉明距离对应的功耗大小,其运算过程和结果不影响加密电路,运算结果不对外输出;神经动态规划算法模块是一独立的离线计算模块,采用神经动态规划法,其计算结果即为补偿汉明距离值与加密过程中间数据的映射关系,供补偿值计算和映射电路使用。
所述机器学习方法使用的是神经动态规划,通过建立概率转移矩阵并调整概率权值来对转移矩阵进行训练,从而获得代价函数值较小的功耗补偿映射矩阵,其建立和调整过程是离线处理过程。该学习过程是一无监督的学习过程,系统内部产生随机数来决定矩阵状态的转移,根据矩阵转移后的代价函数调整矩阵状态转移的概率,系统不断产生随机数来调整矩阵状态及其转移概率,直至代价函数小于设定值。
所述补偿值计算和映射电路从原加密电路中获取每轮加密中间数据,并计算相邻两轮数据的汉明距离,根据神经动态规划算法模块输出的补偿映射关系查找表,产生功耗补偿电路的配置信息。所述功耗补偿电路的运算过程和结果不影响加密电路的功能,其作用是产生加密电路所需补偿的功耗,其运算结果不对外输出。
所述功耗补偿电路由位控制寄存器阵列和字节替换补偿单元构成,其翻转位数由补偿值计算和映射电路确定;根据补偿值计算和映射电路的输出结果确定控制寄存器阵列中翻转的位数,寄存器阵列中某一寄存器是否翻转决定与之对应的字节替换单元的该位数据是否翻转。补偿值计算和映射电路计算得到所需补偿功耗值越高,则字节替换单元中翻转的位数越多,产生的补偿功耗越大;反之,所需补偿功耗值越低,则字节替换单元中翻转的位数越少,产生的补偿功耗越小。
所述机器学习及功耗补偿过程如下:
步骤一:神经动态规划算法模块根据不同明文输入所对应的功耗迹表现出的统计特征,计算加密电路补偿前的汉明距离概率分布,建立初始功耗映射矩阵PE和概率转移矩阵,功耗映射该矩阵代表着补偿值计算和映射电路计算时所需的补偿映射关系查找表,概率转移矩阵决定了功耗映射矩阵的变化规则,功耗映射矩阵按照概率转移矩阵中的权值进行状态转移。采用机器学习方法对功耗映射矩阵进行训练,训练过程如下:每个PE矩阵对应于一个代价函数的值,首先通过产生随机数改变PE矩阵,PE矩阵的改变会产生代价函数的值的变化,每次改变矩阵后,重新计算代价函数值,根据代价函数值的变化更新转移概率,再利用随机数改变PE矩阵,如此循环,直至代价函数值小于设定目标值,由此得到训练后的功耗补偿映射矩阵。
步骤二:补偿值计算和映射电路将加密电路中的中间数据寄存器的输入输出进行异或,并计算得到两轮加密中间数据的汉明距离,再根据步骤一中得到的训练后的功耗补偿映射矩阵进行查表计算,得到此轮加密过程中补偿电路需要补偿的汉明距离值。
步骤三:根据步骤二中得到的补偿汉明距离值,对功耗补偿电路进行配置,控制补偿电路中翻转数据的位数,使得加密模块的功耗与补偿电路的功耗之和与步骤一中理论计算的结果相近,从而改变电路功耗的统计特征。
本发明的有益效果是:
1、本发明采用机器学习的方法,打破原加密电路中间数据和功耗值的统计规律,使得攻击者无法根据加密电路所处理数据和功耗的相关性获取密钥信息,因此无法利用功耗轨迹获取正确密钥,从而有效抵御旁路攻击。
2、本发明相比原加密电路,增加了补偿值计算和映射电路和功耗补偿电路,但附加电路仅需获取原加密电路的中间数据,其本身处理结果也并不对外输出,附加电路对于原电路的性能影响较小,因此,本发明不会明显降低加密电路的速度和吞吐率;此外,结合机器学习的计算结果和实际加密情况,所需补偿汉明距离值明显小于原加密电路数据位宽,即功耗补偿电路所需补偿功耗明显小于原加密电路功耗值,所以补偿电路面积相对较小,因此本发明可以用有限的面积和功耗为代价获得较好的抗旁路攻击能力。
3、本发明的神经动态规划算法模型中的参数,以及功耗补偿电路的配置均灵活可变。在电路设计阶段,设计者可根据实际需求对面积成本和防护效果进行不同的设置,获得不同的补偿方案。此外由于算法的通用性和补偿电路的灵活性,本发明可应用于不同的加密算法电路,抗旁路攻击方案灵活可配。
附图说明
图1是使用本发明方法实现的抗旁路攻击的结构图
图2是本发明方法使用的实现补偿值计算和映射电路和功耗补偿电路的结构图
图3是使用本发明方法实现的抗旁路攻击工作流程图。
图4是本发明方法使用的补偿映射矩阵转移方式图
图5是本发明方法使用的补偿映射矩阵概率转移训练过程图
图6是本发明方法使用的神经动态规划算法的流程图
图7是未加保护的AES算法在CPA攻击下的相关性曲线图
图8是使用本发明方法实现的AES加密算法电路在CPA攻击下的相关性曲线图
具体实施方式
下面结合附图对本发明作进一步说明。
如图1所示,为一种基于机器学习的功耗补偿抗旁路攻击方法的结构图,包括加密电路 1、补偿值计算和映射电路2、功耗补偿电路3和神经动态规划算法模块4。其中神经动态规划算法模块是一独立的离线计算模块,其计算结果即为补偿功耗与加密中间数据的映射关系,供补偿值计算和映射电路使用;加密电路是安全芯片的主体部分,实现加密的功能;补偿值计算和映射电路的作用是获取加密电路的中间数据,计算两轮中间数据的汉明距离,并根据神经动态规划算法模块的计算结果配置功耗补偿电路中翻转的数据位数;功耗补偿电路的作用是产生补偿的功耗值,其组成基本单元是原电路中的字节替换单元,对功耗补偿电路的配置就是控制这些单元阵列翻转的数据位数。整体工作原理是:神经动态规划算法模块计算功耗补偿映射关系查找表,补偿值计算和映射电路根据加密电路中间数据和映射关系查找表,配置功耗补偿电路中数据翻转位数,使功耗补偿电路产生所需功耗,这样,整体电路功耗和加密电路中间数据的相关性被打破,从而增强加密电路的抗功耗攻击能力。
图2所示为补偿值计算和映射电路和功耗补偿电路的原理框图,其中补偿值计算和映射电路从原加密电路中获取每轮加密中间数据,并计算相邻两轮数据的汉明距离,根据神经动态规划算法模块输出的补偿映射关系查找表,产生功耗补偿电路的配置信息。功耗补偿电路的运算过程和结果不影响加密电路的功能,其作用是产生加密电路所需补偿的功耗,其运算结果不对外输出。功耗补偿电路由位控制寄存器阵列和字节替换补偿单元构成,其翻转位数由补偿值计算和映射电路确定,根据补偿值计算和映射电路的输出结果确定控制寄存器阵列中翻转的位数,寄存器阵列中某一寄存器是否翻转决定与之对应的字节替换单元的该位数据是否翻转。补偿值计算和映射电路计算得到所需补偿功耗值越高,则字节替换单元中翻转的位数越多,产生的补偿功耗越大;反之所需补偿功耗值越低,则字节替换单元中翻转的位数越少,产生的补偿功耗越小。
如图3所示,为使用本发明方法实现的基于机器学习的功耗补偿抗攻击工作流程,首先分析加密电路的中间数据汉明距离和功耗迹之间的统计规律,神经动态规划算法模块训练得到补偿汉明距离与中间数据的映射关系查找表,并将此映射关系查找表配置到电路中;之后在加密过程中,补偿值映射电路将根据中间数据的汉明距离和映射关系查找表,计算得到功耗补偿电路的配置信息;最后,补偿电路产生相应功耗,改变整体电路功耗。具体来讲,采用如下步骤:
步骤一:神经动态规划算法模块4根据不同明文输入所对应的功耗迹表现出的统计特征,计算加密电路补偿前的汉明距离概率分布,建立初始功耗映射矩阵PE和概率转移矩阵,功耗映射该矩阵代表着补偿值计算和映射电路2计算时所需的补偿映射关系查找表,概率转移矩阵决定了功耗映射矩阵的变化规则,功耗映射矩阵按照概率转移矩阵中的权值进行状态转移。采用机器学习方法对功耗映射矩阵进行训练,训练过程如下:每个PE矩阵对应于一个代价函数的值,首先通过产生随机数改变PE矩阵,PE矩阵的改变会产生代价函数的值的变化,每次改变矩阵后,重新计算代价函数值,根据代价函数值的变化更新转移概率,再利用随机数改变PE矩阵,如此循环,直至代价函数值小于设定目标值,由此得到训练后的功耗补偿映射矩阵。
步骤二:补偿值计算和映射电路2将加密电路1中的中间数据寄存器的输入输出进行异或,并计算得到两轮加密中间数据的汉明距离,再根据步骤一中得到的训练后的功耗补偿映射矩阵进行查表计算,得到此轮加密过程中补偿电路需要补偿的汉明距离值。
步骤三:根据步骤二中得到的补偿汉明距离值,对功耗补偿电路3进行配置,控制补偿电路中翻转数据的位数,使得加密模块的功耗与补偿电路的功耗之和与步骤一中理论计算的结果相近,从而改变电路功耗的统计特征。
如图4所示,为所述神经动态规划算法的补偿映射矩阵转移方式图,首先,建立功耗补偿映射矩阵PE,对应于PE矩阵,建立代价函数为 其中,和ProbHD为前期采样无保护电路得到的功耗迹统计分布规律的概率矩阵;ProbHD为密钥猜测错误时,加密中间数据第一字节汉明距离的概率分布;为密钥猜测正确时,加密中间数据第一字节汉明距离的概率分布。PE矩阵的每次变化都会引起代价函数E的变化,则以减小代价函数E为训练目标训练PE矩阵,设某次变化前代价函数E的大小为Eold,变化后代价函数E的大小为Enew,变化前后的差值为δ,则Enew=Eold+δ,若δ≤0,说明本次变化减小了代价函数。PE矩阵的初始状态为N(N 为中间数据位数,即输入明文和输出密文的位数)维单位对角阵,其状态转移过程就是其中元素1的位置不断移动的过程。某个1元素位于第i行,第j列的意义是:当两轮中间数据汉明距离为j时,通过补偿电路将电路总功耗补偿到i个汉明距离所对应的功耗值。
设状态为1的元素在位置为(i,j)处的转移方式如下:
1.状态只会在列之间转换,即由(i,j)处转换到(i+1,j)或(i-1,j)处,或维持在该位置不变。
3.由于功耗补偿是非负的,功耗无法被映射到小于自身的功耗位置,因此在对角线 wj,j j=1,2,...,m处向上转移的概率为0,向下转移概率为1-wi,j
4.PE矩阵最末行的向下转移概率为0,向上转移概率为1-wi,j
如图5所示,所述神经动态规划算法概率转移的训练过程图,为了使PE逼近最优解,训练过程中需要通过计算每一轮状态转移前后代价函数的变化调整概率转移矩阵,每一轮状态转移需要对每个元素1进行一次状态转移。设某一轮转移前代价函数E的大小为Eold,转移后代价函数E的大小为Enew,转移前后的差值为δ,则Enew=Eold+δ,若δ≤0,说明本轮转移减小了代价函数,转移是有益的。因此,转移前第i行第j列的元素1由转移前对应的位置转移出去将比留在该位置能获得更小的误差。于是减小转移前1所在位置的wi,j,使得状态停留在该位置的概率减小。同理可得当δ>0时,增加转移前1所在位置的wi,j,于是得到概率转移矩阵的调整规则:
其中α为状态更新的步长。利用神经动态规划算法,逐步调整概率转移的权值并迭代更新 PE矩阵状态,直到所得误差小于给定目标误差,所得PE矩阵即为功耗补偿的映射矩阵。
如图6所示,为本发明所使用神经动态规划算法的流程图,其算法流程如下:
步骤二:计算更新本轮迭代前代价函数Eold
步骤三:根据转移概率生成随机数,对PE各列中1所在状态进行状态转移,生成新PE 矩阵,并记录每个元素1是否转移,转移前第i行第j列的元素1是否转移记为tij(静止记为0,转移记为1)
步骤四:由PE矩阵所确定的功耗映射关系,理论计算新的功耗迹概率分布,并根据新的功耗迹概率分布计算新的代价函数
步骤五:计算两次代价函数之差δ
步骤六:根据δ及tij更新概率转移矩阵W中的元素wj,j
步骤七:若代价函数小于给定的目标误差ε,则结束算法,否则转至步骤二继续
图7和图8为使用本发明方法实现的AES加密算法在CPA功耗攻击中的抗攻击效果图。该效果图是本发明方法在基于XILINX公司Spartan-6系列FPGA的SAKURA-G平台上实现的,其中图7是未加保护的原始AES算法电路采集500条功耗迹后进行CPA攻击的相关系数曲线图。图中是对于未加保护的原始AES算法电路而言,猜测第一组8比特子密钥,共计28=256 种可能的情况,从该图中可以分析出:猜测正确的子密钥所对应的相关性曲线图具有明显的尖峰,说明此时功耗与猜测秘钥计算的数据之间的相关性最大。则说明第一组8比特的子密钥已攻击成功。重复该实验16次将可以完全破解128比特的真实密钥信息。
对采用本发明进行保护的AES算法做了同样的CPA攻击实验,同样得到第一组子密钥的相关系数曲线如图8所示。图8是使用本发明方法保护的AES算法电路采集100000条功耗迹后进行CPA攻击的相关系数曲线图。图中可见,由于采取了功耗补偿抗功耗攻击设计,正确密钥对应的相关性曲线已经淹没在错误密钥的相关性密钥曲线中,已经无法判断出正确子密钥。相比于未保护的AES电路,本发明提高了攻击效果200倍以上。因此,本发明能够有效抵御功耗攻击,保护关键密钥信息。
Claims (4)
1.一种基于机器学习的密码电路功耗补偿抗旁路攻击电路,其特征是:整个电路系统由具有加密功能的加密电路(1)、补偿值计算和映射电路(2)、功耗补偿电路(3)和神经动态规划算法模块(4)构成,加密电路(1)的输入信号为N比特明文,输出信号为N比特密文,其部分中间数据作为补偿值计算和映射电路(2)的输入信号;补偿值计算和映射电路(2)根据加密电路(1)的中间数据和神经动态规划算法模块(4)的计算结果计算出补偿汉明距离值作为输出结果;补偿值计算和映射电路(2)的输出结果为功耗补偿电路(3)的输入信号,控制功耗补偿电路(3)的功耗大小;功耗补偿电路(3)产生加密电路(1)所需补偿汉明距离对应的功耗大小,其运算过程和结果不影响加密电路(1),运算结果不对外输出;神经动态规划算法模块(4)是一独立的离线计算模块,采用神经动态规划法,其计算结果即为补偿汉明距离值与加密过程中间数据的映射关系,供补偿值计算和映射电路(2)使用;所述功耗补偿电路(3)由位控制寄存器阵列和字节替换补偿单元构成,其翻转位数是由补偿值计算和映射电路(2)根据神经动态规划算法模块(4)给出的映射关系计算得到,根据补偿值计算和映射电路(2)的输出结果确定控制寄存器阵列中翻转的位数,寄存器阵列中某一寄存器是否翻转决定与之对应的字节替换单元的该位数据是否翻转;补偿值计算和映射电路(2)计算得到所需补偿功耗值越高,则字节替换单元中翻转的位数越多,产生的补偿功耗越大,所需补偿功耗值越低,则字节替换单元中翻转的位数越少,产生的补偿功耗越小。
2.根据权利要求1所述的基于机器学习的密码电路功耗补偿抗旁路攻击电路,其特征是:补偿值计算和映射电路(2)从原加密电路(1)中获取每轮加密中间数据,并计算相邻两轮数据的汉明距离,再根据神经动态规划算法模块(4)输出的补偿映射关系查找表,产生功耗补偿电路的配置信息。
3.一种基于机器学习的密码电路功耗补偿抗旁路攻击方法,其特征是:电路系统由加密电路(1)、补偿值计算和映射电路(2)、功耗补偿电路(3)和神经动态规划算法模块(4)构成,具体步骤如下:
步骤一:神经动态规划算法模块(4)根据不同明文输入所对应的功耗迹表现出的统计特征,计算加密电路补偿前的汉明距离概率分布,建立初始功耗映射矩阵PE和概率转移矩阵,功耗映射矩阵PE代表着补偿值计算和映射电路(2)计算时所需的补偿映射关系查找表,概率转移矩阵决定了功耗映射矩阵PE的变化规则,功耗映射矩阵PE按照概率转移矩阵中的权值进行状态转移;采用机器学习方法对功耗映射矩阵进行训练,由此得到训练后的功耗补偿映射矩阵;所述机器学习方法是神经动态规划法,通过建立概率转移矩阵并调整概率权值来对概率转移矩阵进行训练,从而获得代价函数值较小的功耗补偿映射矩阵,其建立和调整过程是离线处理过程;训练过程如下:设定一个代价函数,每个功耗映射矩阵PE对应于一个代价函数的值,首先产生随机数改变功耗映射矩阵PE,功耗映射矩阵PE的改变会产生代价函数的值的变化,每次改变矩阵后,重新计算代价函数值,根据代价函数值的变化更新转移概率,再利用随机数改变功耗映射矩阵PE,如此循环,直至代价函数值小于设定目标值;
所述代价函数设定为:其中,和ProbHD为前期采样无保护电路得到的功耗迹统计分布规律的概率矩阵;ProbHD为密钥猜测错误时,加密中间数据第一字节汉明距离的概率分布;为密钥猜测正确时,加密中间数据第一字节汉明距离的概率分布;
步骤二:补偿值计算和映射电路(2)将加密电路(1)中的中间数据寄存器的输入输出进行异或,并计算得到两轮加密中间数据的汉明距离,再根据步骤一中得到的训练后的功耗补偿映射矩阵进行查表计算,得到此轮加密过程中补偿电路需要补偿的汉明距离值;
步骤三:根据步骤二中得到的补偿汉明距离值,对功耗补偿电路(3)进行配置,控制补偿电路中翻转数据的位数,使得加密模块的功耗与补偿电路的功耗之和与步骤一中理论计算的结果相近,从而改变电路功耗的统计特征。
4.根据权利要求3所述的基于机器学习的密码电路功耗补偿抗旁路攻击方法,其特征是:功耗补偿电路由位控制寄存器阵列和字节替换补偿单元构成,其翻转位数是由补偿值计算和映射电路(2)根据神经动态规划算法模块(4)给出的映射关系计算得到,根据补偿值计算和映射电路(2)的输出结果确定控制寄存器阵列中翻转的位数,寄存器阵列中某一寄存器是否翻转决定与之对应的字节替换单元的该位数据是否翻转;补偿值计算和映射电路(2)计算得到所需补偿功耗值越高,则字节替换单元中翻转的位数越多,产生的补偿功耗越大,所需补偿功耗值越低,则字节替换单元中翻转的位数越少,产生的补偿功耗越小。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201710406459.5A CN107241324B (zh) | 2017-06-01 | 2017-06-01 | 基于机器学习的密码电路功耗补偿抗旁路攻击方法及电路 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201710406459.5A CN107241324B (zh) | 2017-06-01 | 2017-06-01 | 基于机器学习的密码电路功耗补偿抗旁路攻击方法及电路 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN107241324A CN107241324A (zh) | 2017-10-10 |
CN107241324B true CN107241324B (zh) | 2020-07-31 |
Family
ID=59985276
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201710406459.5A Active CN107241324B (zh) | 2017-06-01 | 2017-06-01 | 基于机器学习的密码电路功耗补偿抗旁路攻击方法及电路 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN107241324B (zh) |
Families Citing this family (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109995502A (zh) * | 2017-12-31 | 2019-07-09 | 国民技术股份有限公司 | 一种侧信道分析方法及装置、终端及计算机可读存储介质 |
CN109347613B (zh) * | 2018-09-18 | 2023-08-01 | 上海观源信息科技有限公司 | 用于旁路攻击的gpu加速方法 |
CN109726599B (zh) * | 2018-12-29 | 2023-06-09 | 山东浪潮科学研究院有限公司 | 基于神经网络的芯片密钥保护模块和方法 |
CN111464568B (zh) * | 2020-06-17 | 2020-09-25 | 广东电网有限责任公司佛山供电局 | 一种增强多网口防网络攻击能力的方法和系统 |
CN112199675A (zh) * | 2020-10-20 | 2021-01-08 | Oppo广东移动通信有限公司 | 用于防止边信道攻击的任务处理方法及装置 |
CN113158179B (zh) * | 2021-03-17 | 2022-07-22 | 成都信息工程大学 | 自动发现泄露模型的有学习的侧信道攻击方法及加密设备 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101350038A (zh) * | 2008-09-16 | 2009-01-21 | 中国人民解放军国防科学技术大学 | 一种异步分组密码算法协处理器的设计方法 |
CN103532973A (zh) * | 2013-10-25 | 2014-01-22 | 东南大学 | 面向des算法电路的差分功耗攻击测试方法 |
CN103646219A (zh) * | 2013-11-29 | 2014-03-19 | 东南大学 | 基于神经网络功耗预测的功耗补偿抗攻击电路及控制方法 |
CN103916236A (zh) * | 2014-04-25 | 2014-07-09 | 东南大学 | 面向aes算法的抗功耗攻击方法及电路实现 |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US9774614B2 (en) * | 2014-06-24 | 2017-09-26 | Qualcomm Incorporated | Methods and systems for side channel analysis detection and protection |
-
2017
- 2017-06-01 CN CN201710406459.5A patent/CN107241324B/zh active Active
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101350038A (zh) * | 2008-09-16 | 2009-01-21 | 中国人民解放军国防科学技术大学 | 一种异步分组密码算法协处理器的设计方法 |
CN103532973A (zh) * | 2013-10-25 | 2014-01-22 | 东南大学 | 面向des算法电路的差分功耗攻击测试方法 |
CN103646219A (zh) * | 2013-11-29 | 2014-03-19 | 东南大学 | 基于神经网络功耗预测的功耗补偿抗攻击电路及控制方法 |
CN103916236A (zh) * | 2014-04-25 | 2014-07-09 | 东南大学 | 面向aes算法的抗功耗攻击方法及电路实现 |
Non-Patent Citations (1)
Title |
---|
功耗分析攻击中的功耗与数据相关性模型;罗鹏 等;《通信学报》;20120925;第33卷(第Z1期);第276-281页 * |
Also Published As
Publication number | Publication date |
---|---|
CN107241324A (zh) | 2017-10-10 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN107241324B (zh) | 基于机器学习的密码电路功耗补偿抗旁路攻击方法及电路 | |
CN108898028B (zh) | 涉及迭代与随机加密的神经网络模型加密保护系统及方法 | |
CN103646219B (zh) | 基于神经网络功耗预测的功耗补偿抗攻击电路及控制方法 | |
Hou et al. | Cryptanalysis of round-reduced SIMON32 based on deep learning | |
Duan et al. | Differential power analysis attack and efficient countermeasures on PRESENT | |
Alallayah et al. | Applying neural networks for simplified data encryption standard (SDES) cipher system cryptanalysis. | |
Chen et al. | PDLHR: Privacy-preserving deep learning model with homomorphic re-encryption in robot system | |
CN106656459A (zh) | 一种针对sm3‑hmac的侧信道能量分析方法和装置 | |
Murugan et al. | Cloud storage security scheme using DNA computing with morse code and zigzag pattern | |
CN115860094A (zh) | 基于同态加密的二值卷积神经网络实现方法及系统 | |
Nozaki et al. | Secret sharing schemes based secure authentication for physical unclonable function | |
Zheng et al. | Toward privacy-preserving healthcare monitoring based on time-series activities over cloud | |
Aseeri et al. | A subspace pre-learning approach to fast high-accuracy machine learning of large xor pufs with component-differential challenges | |
Ghandali et al. | Profiled power-analysis attacks by an efficient architectural extension of a CNN implementation | |
CN113225187A (zh) | 一种面向椭圆曲线密码芯片的抗能量攻击补偿方法及系统 | |
Tsmots et al. | Neural network technology for protecting cryptographic data | |
Li et al. | Scnet: A neural network for automated side-channel attack | |
CN112134679B (zh) | 针对sm4的组合高阶侧信道攻击方法、装置、设备及介质 | |
Liu et al. | A modeling attack on the sub-threshold current Array PUF | |
Lyu et al. | Improving the Deep-Learning-Based Differential Distinguisher and Applications to Simeck | |
Wu et al. | Efficient privacy-preserving federated learning for resource-constrained edge devices | |
Saeedi et al. | Feed-forward back-propagation neural networks in side-channel information characterization | |
Gao et al. | Systematically evaluation of challenge obfuscated APUFs | |
Jacob et al. | A hybrid encryption scheme using DNA Technology | |
CN111125789A (zh) | 一种具有多个硬件ip核的芯片密钥管理方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |