CN112968760A - 一种基于集成学习的侧信道攻击相关能量分析方法 - Google Patents
一种基于集成学习的侧信道攻击相关能量分析方法 Download PDFInfo
- Publication number
- CN112968760A CN112968760A CN202110122805.3A CN202110122805A CN112968760A CN 112968760 A CN112968760 A CN 112968760A CN 202110122805 A CN202110122805 A CN 202110122805A CN 112968760 A CN112968760 A CN 112968760A
- Authority
- CN
- China
- Prior art keywords
- correlation
- intermediate value
- sub
- energy
- key
- 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.)
- Granted
Links
Images
Classifications
-
- 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/002—Countermeasures against attacks on cryptographic mechanisms
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N20/00—Machine learning
- G06N20/20—Ensemble learning
-
- 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/06—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols the encryption apparatus using shift registers or memories for block-wise or stream coding, e.g. DES systems or RC4; Hash functions; Pseudorandom sequence generators
- H04L9/0618—Block ciphers, i.e. encrypting groups of characters of a plain text message using fixed encryption transformation
- H04L9/0631—Substitution permutation network [SPN], i.e. cipher composed of a number of stages or rounds each involving linear and nonlinear transformations, e.g. AES algorithms
-
- 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/0894—Escrow, recovery or storing of secret information, e.g. secret key escrow or cryptographic key storage
Landscapes
- Engineering & Computer Science (AREA)
- Computer Security & Cryptography (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Theoretical Computer Science (AREA)
- Software Systems (AREA)
- Medical Informatics (AREA)
- Evolutionary Computation (AREA)
- Data Mining & Analysis (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Physics & Mathematics (AREA)
- Computing Systems (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Mathematical Physics (AREA)
- Artificial Intelligence (AREA)
- Storage Device Security (AREA)
Abstract
本发明涉及一种基于集成学习的侧信道攻击相关能量分析方法,属于计算机嵌入式网络安全和机器学习技术领域。本方法首先构建多个子学习器,每个子学习器不放回地抽取多条波形。其次,对每一个子学习器,使用汉明重量模型,计算波形与中间值汉明重量的相关系数。最后对所有相关系数求出后取平均值,平均相关系数最高的密钥猜测,认为其是正确密钥。本方法相较于经典的能量分析方法,对随机时延防护对策有着良好的效果,同时在无防护设备上的攻击效果不弱于经典的相关能量分析方法,为检测密码设备的安全性提供了很好的评估手段。
Description
技术领域
本发明涉及一种基于集成学习的侧信道攻击相关能量分析方法,属于计算机嵌入式网络安全和机器学习技术领域。
背景技术
在网络安全领域,边信道攻击(side channel attack,简称SCA),又称侧信道攻击,是针对加密电子设备在运行过程中的时间消耗、功率消耗或电磁辐射之类的侧信道信息泄露而对加密设备进行攻击的方法。边信道攻击所需要的设备成本低、攻击效果显著,其有效性远高于密码分析数学方法,因此,给密码设备的安全性带来了严重威胁。
1996年,Paul Kocher首次提出了时间攻击方法,并使用时间攻击成功破解了RSA加密算法。其原理是,利用硬件执行密码算法时,不同的步骤时间消耗往往不同,根据时间消耗的侧信息,得出加密过程中所使用的密钥。从此以后,侧信道攻击的研究和应用也越来越广泛。
由于侧信道攻击能够直接获得密码加密过程中的中间值信息的特性,其相较于传统的密钥恢复方法有着巨大的优势。在此之前,传统的密钥恢复都依赖于数学方法,无论是穷举法还是根据密文和密钥的数学特性进行分析,都有着不小的局限性。以AES加密算法为例,以目前的算力,穷举法无法破解AES算法使用的128位密钥。由于AES算法属于分组密码算法的一种,其设计所遵循的混淆原则和扩散原则,使得分段破解和利用密文的统计特征进行破解也无法实现。但是,侧信道分析攻击方法则不同,其破译密码的难度不会随着密码算法复杂性的提升而提升,并且时间开销一般也更小。
在侧信道攻击方法中,主要有能量分析攻击、电磁辐射分析攻击以及时间攻击等等。其中,能量分析攻击因其密钥恢复成功率高、实现容易的优点,得到了广泛的应用,也是目前侧信道攻击领域研究最多的方向。
能量分析攻击利用的是硬件执行加密算法时,设备能量消耗与加密操作本身及操作的数据之间存在的依赖关系。目前,比较常用的能量分析攻击方法有相关能量分析攻击、模板攻击、差分能量分析攻击,以及互信息攻击等等。
相关能量分析攻击是近年来较为流行、高效的能量分析攻击方法。在选择相关能量分析攻击方法时,通常对执行密码算法的硬件设备不了解,因而并不关心某一条波形在密码算法执行时各段的能量消耗信息,而是关心在相同的时间段,不同数据加密所造成的能量消耗的差异。通过选取密码算法执行时的某个中间值、测量不同数据加密时的能量消耗、计算密钥假设的中间值、将中间值根据对应关系求出能量消耗、对比密钥假设的能量消耗和实际能量消耗这五个步骤,得到最有可能正确的密钥。
相关能量分析在攻击时,最重要的一步需要对泄漏点进行攻击。但是,由于某些设备加入了诸如随机延时等防护策略。防护策略的加入使得泄漏点信息中的噪声增大,从而导致攻击的效果大打折扣。这种防护策略在密码设备中实现的计算开销很小,却可以对攻击效果造成很大的影响。
发明内容
本发明的目的是为了解决基于相关能量分析方法在攻击时如何应对密码设备中随机延时等防护策略的技术问题,并评估防护策略的好坏,创造性地提出一种基于集成学习的侧信道攻击相关能量分析方法。
一种基于集成学习的侧信道攻击相关能量分析方法,包括以下步骤:
步骤1:对能量波形进行泄漏分析,确定泄漏点。
泄漏点包含的有用信息是攻击位置处的能量消耗,其与攻击位置S盒的输出的汉明重量之间存在线性相关关系,通过泄漏分析,能够大幅减少攻击所消耗的时间。
具体地,可以采用以下分析方法:
选取若干条明文及其对应的能量波形,通过已知密钥计算中间值。其中,中间值选取第一轮加密的S盒操作之后(一轮操作分为轮密钥加、S盒、行移位、列混合四个步骤),选择第一轮的目的是此时中间值只与明文及密钥相关,选择它在恢复密钥时计算更为简便。
然后,求出中间值与能量波形间的相关系数,公式如下:
其中,ρ为中间值与能量波形间的相关系数,cov()代表协方差,var()代表方差,X和Y分别代表中间值与一组波形数据。
最后,选出所有相关系数中最大的一组,该组点在能量波形里的横坐标,即为泄漏点。
例如,选取500条明文及其对应的波形,每条波形包含1000个点,则将波形分为1000组数据,即每条波形第一点的纵坐标为第一组,第二个点纵坐标为第二组,以此类推。之后,将500条明文对应的中间值分别与这1000组数据求得1000个相关系数。最后,选出1000个相关系数中最大的那一组,该组点在能量波形里的横坐标即为泄漏点。
步骤2:构建子学习器。
具体地,每个子学习器,使用pasting方法抽取若干条明文及其对应的能量波形。重复抽取,从而获得一组类型相同但包含不同内容的子学习器。
其中,pasting方法是机器学习领域中的集成学习所包含的内容,集成学习中包含bagging方法、随机森林、pasting方法等,而pasting方法是指在子学习器构建中,抽取的所有样本数据均不重复的抽样方式。
步骤3:对每一个子学习器,使用汉明重量模型,对其进行相关能量分析,得到密钥猜测的相关系数。
具体地,所述相关能量分析是指当密码设备在加密运算时,某些运算泄漏点处的能量消耗与中间值存在相关关系,根据计算能量消耗与中间值的相关系数,判断猜测中间值与实际中间值之间的相关性。
由于是逐个字节恢复,猜测时只需穷搜0-255共256个数,即可恢复单个字节密钥,其它字节与第一字节操作完全一致,16个字节的密钥全部得到后,将其连接起来,从而得到正确的密钥猜测。相关系数的计算方法,与步骤1中的方法相同。
所述汉明重量模型,是指在泄漏点处的能量消耗与特定中间值的汉明重量为线性相关关系,通常为正比例关系。汉明重量,是指中间值转换为二进制后值为1的比特的个数,其依据在于:CPU在实现密码算法时,存储中间值的存储器的所有比特在数据写入前被刷新为0,而后再进行数据写入,由于只有该位为1的比特位需要写入,因而能量消耗与值为1的比特位个数之间是线性关系。
步骤4:将所有相关系数求出后,采用平均法进行结合,平均相关系数最高的密钥猜测被认为是正确密钥。
步骤5:重复步骤1至4,统计密钥恢复成功的次数,得到基于集成学习的相关能量分析算法的密钥恢复成功率。
密钥恢复成功率代表了方法性能的优劣,在使用的能量波形条数相等的情况下,密钥恢复成功率越高,说明方法性能越好。
有益效果
本发明方法,对比现有技术,具有如下优点:
1.本发明方法,能够减少诸如随机延时等防护对策对相关能量分析攻击的影响,对有防护对策的密码设备有更好的攻击效果;
2.本发明方法可以用于密码设备使用的防护对策的评判。现有的相关能量分析方法在各种防护对策下的表现都不理想,而本发明方法具备对防护对策的反制能力,从而达到评测密码设备所使用的防护对策的效果。
附图说明
图1是本发明方法针对的加密算法——AES加密算法的实现流程,其中,红色箭头所指的位置即为攻击的位置,即AES加密第一轮的S盒操作之后。
图2是本发明方法实施例中泄漏分析的结果。在横坐标约为450处出现尖峰,此处即为泄漏点。
图3是无防护对策的情况下一组波形泄漏点示意图,图中显示了每条波形泄漏点处的能量消耗。
图4是有防护对策的情况下一组波形泄漏点示意图,图中显示了每条波形泄漏点处的能量消耗,红点处即为防护对策对波形造成的影响。
图5是本发明方法实施例中,在无防护对策的情况下,不同参数选择下密钥恢复成功率的结果。
图6是本发明方法实施例中,在有防护对策的情况下,不同参数选择下密钥恢复成功率的结果。
图7是本发明方法实施例中,在无防护对策的情况下,与经典的相关能量分析方法之间密钥恢复成功率对比。
图8是经典相关能量分析方法实施中,在无防护对策的情况下和有防护对策下,密钥恢复成功率的对比。
图9是本发明方法实施利中,在有防护对策的情况下,与经典的相关能量分析方法之间密钥恢复成功率对比。
具体实施方式
下面结合附图及实施例对本发明方法做进一步详细说明。
实施例
以AES加密算法为例,所要解决的技术问题如下:
问题1:在本发明方法执行中,需要选择的参数有子学习器个数以及子学习器大小两个重要参数,在纵向对比中,怎样的参数选择具有更高的密钥恢复成功率,如图5及图6所示。
问题2:相较于经典的相关能量分析方法,本发明方法与之横向对比有何优势,如图7、图8以及图9所示。
无论是经典的相关能量分析方法,还是本发明方法,都要先选取攻击位置。通常,选择第一轮S盒运算输出或是最后一轮S盒运算输出作为攻击位置。在本实施例中,如图1箭头所指出的,选择第一轮S盒输出作为攻击位置。
图2是本发明方法实施例的泄漏分析的结果。在横坐标约为450处出现尖峰,此处即为泄漏点。泄漏点包含的有用信息是攻击位置处的能量消耗,其与攻击位置S盒的输出的汉明重量之间存在线性相关关系,无论是经典的相关能量分析方法,还是本发明方法,都要通过泄漏分析,来大幅减少攻击所消耗的时间。
两个重要参数的选择:子学习器个数,子学习器大小。
在子学习器个数以及子学习器大小这两个重要参数的选择中,需要考虑集成学习本身的特性以及实施例的条件。若想要使集成学习能够取得良好的效果,子学习器要满足好而不同的特点。其中,好,是指单个子学习器的性能要好,以分类器为例,要求单个分类器分类准确率要高。不同,是要求各个子学习器要有差异,这样才能使得结合后泛化性能明显强过单个学习器。
以二分类的子分类器为例,当各个子分类器的错误率相互独立时,即错误率会随学习器个数的增加而指数下降。在实际实施中,各个子学习器不可能完全独立,子学习器相关性越低,实施效果越好。
图5展示了无防护对策情况下,本发明方法的参数选择及其对应的密钥恢复成功率。其中,红点处代表取得最优结果的参数组合。可以看到,有多个参数组合可以取得最优结果。其中的缘由在于,集成学习对子学习器的要求——好而不同在无防护对策的场景下,并不能够做到同时满足。由相关能量分析方法的理论可知,在无防护的情况下,波形条数越多,密钥恢复的成功率也就越高。然而,在本发明方法的执行过程中,能够选择的波形条数是固定的,这意味着,当子学习器的波形条数增加时,各个子学习器之间的相关性也会增加。与此类似,子学习器个数的不断增加并不能够一直提升密钥恢复成功率。因为当子学习器的个数增加时,虽然不同的子学习器增多了,但子学习器之间的平均相关性会下降,从总体上看,子学习器之间的差异性并没有提升。
在有防护对策的情况下,本发明方法的参数选择则需要考虑更多的因素。与无防护对策的场景不同,在有防护对策的场景下,会有个别的波形在泄漏点处与其它的波形差异很大,这意味着这些异常波形在该点并不包含泄漏信息。在子学习器选取波形时,如果某个子学习器选到了这些异常波形,就会导致该学习器的密钥恢复成功率大幅度降低。由图6可以看出,随着子学习器的规模增大,密钥恢复成功率是减小的。这是由于当子学习器的波形条数增加时,除了各个子学习器之间的相关性也会增加外,子学习器选中异常波型的概率也会提升。这意味着,在一定范围内,随着每个子学习器中波形条数的增加,本方法的密钥恢复成功率会降低。而在子学习器的个数方面,相较于无防护场景下,由于子学习器的规模被限制得较小,因而当子学习器个数增加时,更多个较小规模的子学习器和更少的较大规模的子学习器包含的泄漏信息是相同的,但小规模子学习器中包含异常波型的子学习器会更少,这就解释了图6所得到的参数选择的结果。
横向对比:
根据前面选出的参数,将其与经典的相关能量分析方法做对比。由图7、图8以及图9可以得出,在有防护对策的场景下,现有的相关能量分析方法的密钥恢复成功率大幅下降,而本发明方法的密钥恢复成功率要明显高于现有的相关能量分析方法。
Claims (3)
1.一种基于集成学习的侧信道攻击相关能量分析方法,包括以下步骤:
步骤1:对能量波形进行泄漏分析,确定泄漏点,方法如下:
首先,选取若干条明文及其对应的能量波形,通过已知密钥计算中间值;
然后,求出中间值与能量波形间的相关系数,公式如下:
其中,ρ为中间值与能量波形间的相关系数,cov()代表协方差,var()代表方差,X和Y分别代表中间值与一组波形数据;
最后,选出所有相关系数中最大的一组,该组点在能量波形里的横坐标即为泄漏点;
步骤2:构建子学习器;
每个子学习器,使用pasting方法抽取若干条明文及其对应的能量波形;重复抽取,从而获得一组类型相同但包含不同内容的子学习器;其中,pasting方法是指在子学习器构建中,抽取的所有样本数据均不重复的抽样方式;
步骤3:对每一个子学习器,使用汉明重量模型,对其进行相关能量分析,得到密钥猜测的相关系数;
所述相关能量分析是指当密码设备在加密运算时,某些运算泄漏点处的能量消耗与中间值存在相关关系,根据计算能量消耗与中间值的相关系数,判断猜测中间值与实际中间值之间的相关性;
猜测时,穷搜0-255共256个数即可恢复单个字节密钥,其它字节与第一字节操作完全一致,16个字节的密钥全部得到后,将其连接起来,从而得到正确的密钥猜测;相关系数的计算方法与步骤1中的方法相同。
步骤4:将所有相关系数求出后,采用平均法进行结合,平均相关系数最高的密钥猜测被认为是正确密钥;
步骤5:重复步骤1至4,统计密钥恢复成功的次数,得到基于集成学习的相关能量分析算法的密钥恢复成功率。
2.如权利要求1所述的一种基于集成学习的侧信道攻击相关能量分析方法,其特征在于,步骤1计算中间值时,中间值选取第一轮加密的S盒操作之后。
3.如权利要求1所述的一种基于集成学习的侧信道攻击相关能量分析方法,其特征在于,步骤3中所述汉明重量模型,是指在泄漏点处的能量消耗与特定中间值的汉明重量为线性相关关系,为正比例关系;
汉明重量,是指中间值转换为二进制后值为1的比特的个数。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110122805.3A CN112968760B (zh) | 2021-01-29 | 2021-01-29 | 一种基于集成学习的侧信道攻击相关能量分析方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110122805.3A CN112968760B (zh) | 2021-01-29 | 2021-01-29 | 一种基于集成学习的侧信道攻击相关能量分析方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN112968760A true CN112968760A (zh) | 2021-06-15 |
CN112968760B CN112968760B (zh) | 2022-03-15 |
Family
ID=76272076
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202110122805.3A Active CN112968760B (zh) | 2021-01-29 | 2021-01-29 | 一种基于集成学习的侧信道攻击相关能量分析方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN112968760B (zh) |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102571331A (zh) * | 2012-02-07 | 2012-07-11 | 中国科学院软件研究所 | 一种用于防御能量分析攻击的密码算法实现保护方法 |
CN103227717A (zh) * | 2013-01-25 | 2013-07-31 | 国家密码管理局商用密码检测中心 | 选择轮密钥异或输入进行sm4密码算法侧信道能量分析的应用 |
CN110263586A (zh) * | 2019-06-19 | 2019-09-20 | 广西师范大学 | 一种混沌密码系统的硬件安全评估方法 |
US20200313845A1 (en) * | 2016-04-01 | 2020-10-01 | Institut Mines-Telecom | Secret key estimation methods and devices |
CN112260818A (zh) * | 2020-10-19 | 2021-01-22 | 中国人民解放军战略支援部队信息工程大学 | 侧信道曲线的增强方法、侧信道攻击方法及装置 |
-
2021
- 2021-01-29 CN CN202110122805.3A patent/CN112968760B/zh active Active
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102571331A (zh) * | 2012-02-07 | 2012-07-11 | 中国科学院软件研究所 | 一种用于防御能量分析攻击的密码算法实现保护方法 |
CN103227717A (zh) * | 2013-01-25 | 2013-07-31 | 国家密码管理局商用密码检测中心 | 选择轮密钥异或输入进行sm4密码算法侧信道能量分析的应用 |
US20200313845A1 (en) * | 2016-04-01 | 2020-10-01 | Institut Mines-Telecom | Secret key estimation methods and devices |
CN110263586A (zh) * | 2019-06-19 | 2019-09-20 | 广西师范大学 | 一种混沌密码系统的硬件安全评估方法 |
CN112260818A (zh) * | 2020-10-19 | 2021-01-22 | 中国人民解放军战略支援部队信息工程大学 | 侧信道曲线的增强方法、侧信道攻击方法及装置 |
Non-Patent Citations (1)
Title |
---|
司恩泽等: "相关能量分析中的后向检错方案", 《密码学报》 * |
Also Published As
Publication number | Publication date |
---|---|
CN112968760B (zh) | 2022-03-15 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
Yuan et al. | Gini-impurity index analysis | |
Ors et al. | Power-analysis attack on an ASIC AES implementation | |
Fei et al. | A statistics-based fundamental model for side-channel attack analysis | |
CN108604981B (zh) | 用于估计秘密值的方法和设备 | |
Reparaz et al. | Selecting time samples for multivariate DPA attacks | |
Dabosville et al. | A new second-order side channel attack based on linear regression | |
Duan et al. | Differential power analysis attack and efficient countermeasures on PRESENT | |
Bruneau et al. | Stochastic collision attack | |
Ding et al. | Block-oriented correlation power analysis with bitwise linear leakage: An artificial intelligence approach based on genetic algorithms | |
Hu et al. | An effective differential power attack method for advanced encryption standard | |
Mavroeidis et al. | PCA, eigenvector localization and clustering for side-channel attacks on cryptographic hardware devices | |
CN106156615A (zh) | 基于类可分性判距的旁路区分器方法及系统 | |
CN112968760B (zh) | 一种基于集成学习的侧信道攻击相关能量分析方法 | |
Zhang et al. | A highly effective DPA attack method based on genetic algorithm | |
Zhang | On the exact relationship between the success rate of template attack and different parameters | |
Ming et al. | Revealing the weakness of addition chain based masked SBox implementations | |
Hu et al. | Software implementation of aes-128: Side channel attacks based on power traces decomposition | |
Lerman et al. | Comparing sboxes of ciphers from the perspective of side-channel attacks | |
CN113438067B (zh) | 一种压缩密钥猜测空间的侧信道攻击方法 | |
Zhang et al. | A novel template attack on wnaf algorithm of ECC | |
CN112564885A (zh) | 基于掩码变量最大概率密度函数分布的侧信道攻击方法 | |
Aljuffri et al. | Balanced Dual-Mask Protection Scheme for GIFT Cipher Against Power Attacks | |
Zheng et al. | Design and implementation of a DPA resistant AES coprocessor | |
Zhang et al. | Efficient nonprofiling 2nd-order power analysis on masked devices utilizing multiple leakage points | |
Li et al. | Weighted key enumeration for em-based side-channel attacks |
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 |