CN105897401A - 基于比特的通用差分功耗分析方法及系统 - Google Patents
基于比特的通用差分功耗分析方法及系统 Download PDFInfo
- Publication number
- CN105897401A CN105897401A CN201610452671.0A CN201610452671A CN105897401A CN 105897401 A CN105897401 A CN 105897401A CN 201610452671 A CN201610452671 A CN 201610452671A CN 105897401 A CN105897401 A CN 105897401A
- Authority
- CN
- China
- Prior art keywords
- bit
- power consumption
- key
- median
- statistic
- 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
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
- H04L9/003—Countermeasures against attacks on cryptographic mechanisms for power analysis, e.g. differential power analysis [DPA] or simple power analysis [SPA]
Landscapes
- Engineering & Computer Science (AREA)
- Computer Security & Cryptography (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Complex Calculations (AREA)
Abstract
一种基于比特的通用差分功耗分析方法及系统,对于多个猜测子密钥中的每一个计算其中间值,并对中间值的每个比特位进行通用DPA攻击,采用类可分性判据对得到每个比特位对应的功耗曲线进行分类,计算每种分类下功耗曲线的统计量,得到对应于每个比特的统计量曲线,并对所得到的八次分类结果进行组合处理,得到每个猜测子密钥的综合统计量曲线,最后根据综合统计量曲线最高的单点峰值,该综合统计量曲线所对应的猜测子密钥即为正确子密钥;本发明适用于所有DPA方法的应用场景,并比DPA方法更具有通用性,也弥补了其它的一些通用DPA方法的不足之处。
Description
技术领域
本发明涉及的是一种计算机安全领域的技术,具体是一种基于比特的通用差分功耗分析方法及系统。
背景技术
在现实中,密码系统通常是以硬件或以硬件为表现形式的软件来实现的,譬如:智能卡、RFID、密码协处理器、SoC密码芯片、密码机等。在这些密码系统的实现环境中,攻击者可以观察和测量密码变换的能量消耗、电磁辐射等信息,利用这些额外的信息有可能实现比传统的数学分析更有效地密码破译。人们通常把这种环境下的攻击称为“旁路攻击(Side ChannelAttack)”。旁路攻击通常包括简单功耗分析(SPA)和差分功耗分析(DPA)。其中DPA攻击是通过记录密码设备对大量不同数据加密或解密操作时的功耗曲线,利用统计方法从功耗曲线中恢复出密码设备中的密钥,其分析功能也相对更加有效。
DPA攻击中,通常需要当一种功耗泄露模型,例如汉明重量模型或汉明距离模型,这种当的原理是:当每比特或每比特的翻转消耗的功率是相同的,它们通常适用于总线或寄存器的功耗泄露模型。但是,一般的DPA方法存在如下几个不足:1)功耗模型必须和真实的泄漏相匹配,否则就无法成功攻击。随机电路工艺的改进,原有的功耗模型将可以不再适合,即,功耗模型将不再是汉明重量或汉明距离模型,因此,寻找合适的功耗模型是DPA攻击过程中最大的难点之一;2)有一些设备并没有现成的功耗模型可以用,这类设备就无法对传统的DPA攻击方法进行分析。例如,公钥的某些实现;3)有一些设备的功耗泄漏类型并不是固定的,若采用固定的功耗模型,在攻击的过程中就会发生攻击结果出现错误的情况。也就是可以不同的芯片,即使是同一批次的,其功耗模型也可能不一样,这时候甚至都不能使用模板攻击。
通用DPA就是针对DPA攻击中的问题提出的攻击方法,它不使用任何的功耗模型,只根据不同的中间值产生不同的功耗来进行区分,具有通用的特性。在通用DPA中,通常是把中间值按值来分类,具体为:一个字节,即8比特的中间值,按值分类就是把它们分成28=256类。但如果密钥与中间值是一对一的关系的,通用DPA则因为无法区分真假密钥猜测下的统计特性,而使得攻击无法成功。
目前提出的通用DPA有很多种:包括MIA,LR‐based DPA等等。但是对于通用DPA也存在一定的问题:1)通用DPA在抗噪声能力不如传统的DPA攻击方法;2)对于像AES这种中间值和对应的输入之间是一对一关系的情况,通用DPA被证明无法成功攻击;3)计算复杂度变高,使得不太实用。例如,MIA需要计算密度函数,这将大大提高其计算复杂度,消耗计算资源。
发明内容
本发明针对现有技术大部分基于汉明重量的功耗(能量)模型,无法解决非汉明重量下的能量攻击等缺陷和不足,提出一种基于比特的通用差分功耗分析方法及系统,适用于所有DPA方法的应用场景,并比DPA方法更具有通用性,也弥补了其它的一些通用DPA方法的不足之处。
本发明是通过以下技术方案实现的:
本发明涉及一种基于比特的通用差分功耗分析方法,对于多个猜测子密钥中的每一个计算其中间值,并对中间值的每个比特位进行通用DPA攻击,采用类可分性判据对得到每个比特位对应的功耗曲线进行分类,计算每种分类下功耗曲线的统计量,得到对应于每个比特的统计量曲线,并对所得到的八次分类结果进行组合处理,得到每个猜测子密钥的综合统计量曲线,最后根据综合统计量曲线最高的单点峰值,该综合统计量曲线所对应的猜测子密钥即为正确子密钥。
所述的正确子密钥其中:Ω0表示比特0所对应的分类曲线集,Ω1表示比特1所对应的分类曲线集,NIP表示曲线的点数,J(j)(Ω0,Ω1)表示对第j个比特应用J判据的值。
所述的分类是指:按待攻击的中间值I的第一个比特分类分成两类,即分成Ω1,0和Ω1,1,分别表示为第一比特为0的一类和第一比特为1的一类。
所述的统计量包括但不限于两类曲线之间的统计距离。
所述的中间值的模型为I=f(k,m),其中:k表示子密钥,m表示明文,I表示待攻击的中间值,f为选择的算法操作,即DPA攻击的目标函数,该中间值满足:
1)中间值的每一比特都与子密钥的每比特相关;
2)中间值的每一比特都是独立且是均匀分布的。
所述的组合处理是指:当每个比特对应的量为Result(i),1≤i≤8,则把所有相关系数组合在一起,得到Result=com(Result(1),Result(2),…,Result(8)),其中:com是组合方法。
在组合处理时,当每个比特对应的量为概率形式的结果时,由于完成整个事件则需要完成过程中的每个事件,因此使用与的方法;当每个比特对应的量为距离形式的结果时,由于总体的距离则是个体的距离之和,因此使用累加的方法,不管是概率还是距离,方法都要求每个比特是独立且均匀分布的。
在组合处理时,当任一比特与另一比特完全相关,即,第一比特的值决定了第二比特的值,则在组合时只计算两个比特之一即可。
技术效果
与现有技术相比,本发明在同数量的曲线条数下,计算复杂度是一般DPA的8倍;在汉明重量模型下本方法所需的功率曲线的条数一般要多于CPA,少于DPA,在非汉明重量模型下CPA及DPA方法不能攻击成功,但本方法仍然可以分析成功且受影响可能不大。
附图说明
图1为本发明方法示意图。
具体实施方式
实施例1
本实施例涉及一种基于比特的通用差分功耗分析方法,对于多个猜测子密钥中的每一个计算其中间值,并对中间值的每个比特位进行通用DPA攻击,采用类可分性判据对得到每个比特位对应的功耗曲线进行分类,计算每种分类下功耗曲线的统计量,得到对应于每个比特的统计量曲线,并对所得到的八次分类结果进行组合处理,得到每个猜测子密钥的综合统计量曲线,最后根据综合统计量曲线最高的单点峰值,该综合统计量曲线所对应的猜测子密钥即为正确子密钥。
所述的正确子密钥其中:Ω0表示比特0所对应的分类曲线集,Ω1表示比特1所对应的分类曲线集,NIP表示曲线的点数,J(j)(Ω0,Ω1)表示对第j个比特应用J判据的值。
所述的分类是指:按待攻击的中间值I的第一个比特分类分成两类,即分成Ω1,0和Ω1,1,分别表示为第一比特为0的一类和第一比特为1的一类。
所述的统计量包括但不限于两类曲线之间的统计距离。
所述的中间值的模型为I=f(k,m),其中:k表示子密钥,m表示明文,I表示待攻击的中间值,f为攻击的目标算法操作,该中间值满足:
1)中间值的每一比特都与子密钥的每比特相关;
2)中间值的每一比特都是独立且是均匀分布的。
所述的组合处理是指:当每个比特对应的量,例如,CPA中相关系数为Result(i),1≤i≤8,则把所有相关系数组合在一起,得到Result=com(Result(1),Result(2),…,Result(8)),其中,com是某种组合方法。
在组合处理时,当每个比特对应的量为概率形式的结果时,由于完成整个事件则需要完成过程中的每个事件,因此使用与的方法;当每个比特对应的量为距离形式的结果时,由于总体的距离则是个体的距离之和,因此使用累加的方法,不管是概率还是距离,方法都要求每个比特是独立且均匀分布的。
所述的与的方法具体为:
所述的累加的方法具体为:
例如一种极端的情形,当第一比特与第二比特完全相关,即,第一比特的值决定了第二比特的值,此时,Result(1)与Result(2)就是相同的,那么,在组合结果时只需要考虑Result(1)或Result(2)即可。
如图1所示,本实施例具体包括以下步骤:
针对单个比特的情形,通用DPA过程描述如下:
1)猜测一个子密钥k,并计算待攻击的中间值I=f(k,m);
2)根据I的每个比特位把功耗曲线按此比特对应的0或1分成两类Ωi,0和Ωi,1;
3)根据某种统计量,如两类问题的统计距离,得到统计量曲线(即曲线上的每个点是对应分类曲线点的统计距离);
4)每一个密钥猜测都将得到一条统计量曲线,对于一阶DPA攻击,从所有的统计量曲线中找到最高的单点峰值,其所对应的子密钥即为正确猜测,即
当存在八个比特位时,将八个比特位对应的结果组合处理,即得到正确猜测的子密钥其中:J(j)(Ω0,Ω1)表示对第j个比特应用J判据的值。
本实施例可以进一步通过以下系统实现上述方法,该系统包括:密钥检测模块、信息分类模块、统计量处理模块以及峰值检测模块,其中:密钥检测模块生成猜测密钥并计算得到其对应的中间值信息后输出至信息分类模块,信息分类模块根据密钥检测模块的中间值信息对分析曲线进行分类,输出曲线分类信息至统计量处理模块,统计量处理模块与峰值检测模块相连并传输统计量信息,峰值检测模块根据每次的统计量曲线,计算综合统计量曲线及总统计量曲线的峰值并输出至密钥检测模块,密钥检测模块根据猜测密钥的中间值以及峰值检测模块返回的峰值进行对比并获得正确的猜测密钥。
所述的统计量信息包括:功耗曲线、分类信息以及每种分类下功耗曲线的统计量。
上述具体实施可由本领域技术人员在不背离本发明原理和宗旨的前提下以不同的方式对其进行局部调整,本发明的保护范围以权利要求书为准且不由上述具体实施所限,在其范围内的各个实现方案均受本发明之约束。
Claims (9)
1.一种基于比特的通用差分功耗分析方法,其特征在于,对于多个猜测子密钥中的每一个计算其中间值,并对中间值的每个比特位进行通用DPA攻击,采用类可分性判据对得到每个比特位对应的功耗曲线进行分类,计算每种分类下功耗曲线的统计量,得到对应于每个比特的统计量曲线,并对所得到的八次分类结果进行组合处理,得到每个猜测子密钥的综合统计量曲线,最后根据综合统计量曲线最高的单点峰值,该综合统计量曲线所对应的猜测子密钥即为正确子密钥;
所述的正确子密钥其中:Ω0表示比特0所对应的分类曲线集,Ω1表示比特1所对应的分类曲线集,NIP表示曲线的点数,J(j)(Ω0,Ω1)表示对第j个比特应用J判据的值。
2.根据权利要求1所述的基于比特的通用差分功耗分析方法,其特征是,所述的分类是指:按待攻击的中间值I的第一个比特分类分成两类,即分成Ω1,0和Ω1,1,分别表示为第一比特为0的一类和第一比特为1的一类。
3.根据权利要求1所述的基于比特的通用差分功耗分析方法,其特征是,所述的统计量包括两类曲线之间的统计距离。
4.根据权利要求1所述的基于比特的通用差分功耗分析方法,其特征是,所述的中间值的模型为I=f(k,m),其中:k表示子密钥,m表示明文,I表示待攻击的中间值,f为选择的算法操作,即DPA攻击的目标函数;该中间值满足:
1)中间值的每一比特都与子密钥的每比特相关;
2)中间值的每一比特都是独立且是均匀分布的。
5.根据权利要求1~4中任一所述的基于比特的通用差分功耗分析方法,其特征是,所述的组合处理是指:当每个比特对应的量为Result(i),1≤i≤8,则把所有相关系数组合在一起,得到Result=com(Result(1),Result(2),…,Result(8)),其中:com是组合方法。
6.根据权利要求5所述的基于比特的通用差分功耗分析方法,其特征是,在组合处理时,当每个比特对应的量为概率形式的结果时,由于完成整个事件则需要完成过程中的每个事件,因此使用与的方法;当每个比特对应的量为距离形式的结果时,由于总体的距离则是个体的距离之和,因此使用累加的方法。
7.根据权利要求5所述的基于比特的通用差分功耗分析方法,其特征是,在组合处理时,当任一比特与另一比特完全相关,即,第一比特的值决定了第二比特的值,则在组合时只计算两个比特之一即可。
8.根据权利要求6所述的基于比特的通用差分功耗分析方法,其特征是,所述的与的方法具体为:所述的累加的方法具体为:
9.一种实现权利要求1~8中任一所述方法的系统,其特征在于,密钥检测模块、信息分类模块、统计量处理模块以及峰值检测模块,其中:密钥检测模块生成猜测密钥并计算得到其对应的中间值信息后输出至信息分类模块,信息分类模块根据密钥检测模块的中间值信息对分析曲线进行分类,输出曲线分类信息至统计量处理模块,统计量处理模块与峰值检测模块相连并传输统计量信息,峰值检测模块根据每次的统计量曲线,计算综合统计量曲线及总统计量曲线的峰值并输出至密钥检测模块,密钥检测模块根据猜测密钥的中间值以及峰值检测模块返回的峰值进行对比并获得正确的猜测密钥;
所述的统计量信息包括:功耗曲线、分类信息以及每种分类下功耗曲线的统计量。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201610452671.0A CN105897401B (zh) | 2016-06-21 | 2016-06-21 | 基于比特的通用差分功耗分析方法及系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201610452671.0A CN105897401B (zh) | 2016-06-21 | 2016-06-21 | 基于比特的通用差分功耗分析方法及系统 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN105897401A true CN105897401A (zh) | 2016-08-24 |
CN105897401B CN105897401B (zh) | 2018-12-07 |
Family
ID=56730168
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201610452671.0A Active CN105897401B (zh) | 2016-06-21 | 2016-06-21 | 基于比特的通用差分功耗分析方法及系统 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN105897401B (zh) |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN108418675A (zh) * | 2018-06-15 | 2018-08-17 | 上海观源信息科技有限公司 | 用于旁路攻击的优化曲线对齐方法 |
CN108847923A (zh) * | 2018-06-27 | 2018-11-20 | 上海交通大学 | 基于低通滤波的旁路攻击曲线预处理方法 |
CN109347636A (zh) * | 2018-12-05 | 2019-02-15 | 中国信息通信研究院 | 一种密钥恢复方法、系统、计算机设备及可读介质 |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103530474A (zh) * | 2013-10-25 | 2014-01-22 | 东南大学 | 面向aes算法电路的差分功耗攻击测试方法 |
CN103679008A (zh) * | 2012-09-03 | 2014-03-26 | 江苏东大集成电路系统工程技术有限公司 | 一种高效的安全芯片功耗攻击测试方法 |
CN104079561A (zh) * | 2014-06-09 | 2014-10-01 | 中国电子科技集团公司第十五研究所 | 一种攻击密钥的方法和装置 |
CN104734842A (zh) * | 2015-03-13 | 2015-06-24 | 上海交通大学 | 基于伪操作的电路旁路攻击抵御方法 |
CN104836666A (zh) * | 2015-04-20 | 2015-08-12 | 成都信息工程学院 | 一种针对sm2解密算法的能量分析攻击的方法 |
-
2016
- 2016-06-21 CN CN201610452671.0A patent/CN105897401B/zh active Active
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103679008A (zh) * | 2012-09-03 | 2014-03-26 | 江苏东大集成电路系统工程技术有限公司 | 一种高效的安全芯片功耗攻击测试方法 |
CN103530474A (zh) * | 2013-10-25 | 2014-01-22 | 东南大学 | 面向aes算法电路的差分功耗攻击测试方法 |
CN104079561A (zh) * | 2014-06-09 | 2014-10-01 | 中国电子科技集团公司第十五研究所 | 一种攻击密钥的方法和装置 |
CN104734842A (zh) * | 2015-03-13 | 2015-06-24 | 上海交通大学 | 基于伪操作的电路旁路攻击抵御方法 |
CN104836666A (zh) * | 2015-04-20 | 2015-08-12 | 成都信息工程学院 | 一种针对sm2解密算法的能量分析攻击的方法 |
Non-Patent Citations (1)
Title |
---|
WEIJIA WANG,YU YU: "Evaluation and Improvement of Generic-Emulating DPA Attacks", 《CRYPTOGRAPHIC HARDWARE AND EMBEDDED SYSTEM--CHES2015》 * |
Cited By (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN108418675A (zh) * | 2018-06-15 | 2018-08-17 | 上海观源信息科技有限公司 | 用于旁路攻击的优化曲线对齐方法 |
CN108418675B (zh) * | 2018-06-15 | 2021-05-11 | 上海观源信息科技有限公司 | 用于旁路攻击的优化曲线对齐方法 |
CN108847923A (zh) * | 2018-06-27 | 2018-11-20 | 上海交通大学 | 基于低通滤波的旁路攻击曲线预处理方法 |
CN109347636A (zh) * | 2018-12-05 | 2019-02-15 | 中国信息通信研究院 | 一种密钥恢复方法、系统、计算机设备及可读介质 |
CN109347636B (zh) * | 2018-12-05 | 2021-09-24 | 中国信息通信研究院 | 一种密钥恢复方法、系统、计算机设备及可读介质 |
Also Published As
Publication number | Publication date |
---|---|
CN105897401B (zh) | 2018-12-07 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US9497021B2 (en) | Device for generating a message authentication code for authenticating a message | |
CN108833103B (zh) | 射频识别标签和读取设备之间进行安全通信的方法和系统 | |
US7292060B2 (en) | Logic circuit and method thereof | |
CN104836666A (zh) | 一种针对sm2解密算法的能量分析攻击的方法 | |
CN106664204A (zh) | 差分功率分析对策 | |
CN104734842A (zh) | 基于伪操作的电路旁路攻击抵御方法 | |
CN109417466A (zh) | 机密密钥估算方法与装置 | |
CN110460425A (zh) | 一种面向侧信道密码能量泄漏信号的攻击方法及系统 | |
Dobraunig et al. | Fault attacks on nonce-based authenticated encryption: Application to keyak and ketje | |
US11036891B2 (en) | Testing resistance of a circuit to a side channel analysis | |
CN103404073B (zh) | 针对无源监听的保护 | |
CN102970132A (zh) | 一种防止对分组算法进行功耗分析和电磁辐射分析的防护方法 | |
CN1753357A (zh) | 应用于des加密芯片的差分功耗分析屏蔽电路 | |
CN104301095A (zh) | Des轮运算方法和电路 | |
CN105897401A (zh) | 基于比特的通用差分功耗分析方法及系统 | |
CN104935565A (zh) | 用于网络投票系统的选票处理系统、方法以及装置 | |
CN106100823A (zh) | 保护密码装置 | |
Ding et al. | Adaptive chosen-plaintext collision attack on masked AES in edge computing | |
CN102970131A (zh) | 一种防止对分组算法进行功耗攻击的电路结构 | |
CN106156615A (zh) | 基于类可分性判距的旁路区分器方法及系统 | |
CN105897398A (zh) | 一种des加密过程的密钥保护方法及系统 | |
Jia et al. | A unified method based on SPA and timing attacks on the improved RSA | |
Fei et al. | Two kinds of correlation analysis method attack on implementations of Advanced Encryption Standard software running inside STC89C52 microprocessor | |
Dong et al. | A SHA-3 based RFID mutual authentication protocol and its implementation | |
Putra et al. | Security analysis of BC3 algorithm for differential power analysis attack |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |