CN106156615B - 基于类可分性判距的旁路区分器方法及系统 - Google Patents
基于类可分性判距的旁路区分器方法及系统 Download PDFInfo
- Publication number
- CN106156615B CN106156615B CN201610452737.6A CN201610452737A CN106156615B CN 106156615 B CN106156615 B CN 106156615B CN 201610452737 A CN201610452737 A CN 201610452737A CN 106156615 B CN106156615 B CN 106156615B
- Authority
- CN
- China
- Prior art keywords
- key
- classification
- indicate
- class
- conjecture
- 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
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/50—Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems
- G06F21/55—Detecting local intrusion or implementing counter-measures
- G06F21/556—Detecting local intrusion or implementing counter-measures involving covert channels, i.e. data leakage between processes
Landscapes
- Engineering & Computer Science (AREA)
- Computer Security & Cryptography (AREA)
- Software Systems (AREA)
- Theoretical Computer Science (AREA)
- Computer Hardware Design (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
一种基于类可分性判距的旁路区分器方法及系统,对待测硬件输入明文后循环执行目标函数并采集期间产生的功耗曲线,对于每一个猜测子密钥计算其中间值,对中间值按不同分类结构进行分类后分析每种分类下的散度矩阵判据,得到对应的统计量曲线,并对所得到的分类结果进行组合处理,得到每个猜测子密钥的综合统计量曲线,最后根据综合统计量曲线最高的峰值,该综合统计量曲线所对应的猜测子密钥即为候选密钥。本发明适用于所有DPA方法的应用场景,并比DPA方法更具有通用性,解决了典型DPA判别方法信息利用单一的问题。同时,也能实现在DPA上的多点信息利用,提高分析效率。
Description
技术领域
本发明涉及的是一种计算机安全领域的技术,具体是一种基于类可分性判距的旁路区分器方法及系统。
背景技术
在现实中,密码系统通常是以硬件或以硬件为表现形式的软件来实现的,譬如:智能卡、RFID、密码协处理器、SoC密码芯片、密码机等。在这些密码系统的实现环境中,攻击者可以观察和测量密码变换的能量消耗、电磁辐射等信息,利用这些额外的信息有可能实现比传统的数学分析更有效地密码破译。人们通常把这种环境下的攻击称为“旁路攻击(SideChannel Attack)”。旁路攻击通常包括简单功耗分析(SPA)和差分功耗分析(DPA)。其中DPA攻击是通过记录密码设备对大量不同数据加密或解密操作时的功耗曲线,利用统计方法从功耗曲线中恢复出密码设备中的密钥,其分析效果也相对更加有效。
典型的DPA攻击基于“分类‐判别”的思想,依据密码算法运行时中间值的某个比特或某些比特将其对应的功耗曲线分为若干类,再根据判别准则对这些类中功耗曲线计算判别值,依据最终得到的判别值来确定密钥值。
传统硬件工艺下,功耗泄露模型来源于每比特或每比特的翻转消耗的功率是相同的,这通常适用于总线或寄存器的功耗泄露模型。而随机电路工艺的改进,原有的功耗模型将可以不再适合,即,功耗模型将不再是汉明重量或汉明距离模型,因此,寻找合适的功耗模型是DPA攻击过程中最大的难点之一;同时,有一些设备并没有现成的功耗模型可以用,这类设备就无法传统的DPA攻击方法进行分析。有一些设备的功耗泄漏类型并不是固定的,若采用固定的功耗模型,在攻击的过程中就会发生攻击结果出现错误的情况。也就是可以不同的芯片,即使是同一批次的,其功耗模型也可能不一样,这时候甚至都不能使用模板攻击(在同一批次中一个芯片上做模板,在其他芯片上攻击)。
典型DPA“分类‐判别”的思想,其优势在于:独立于具体的泄露模型。能够实现通用分析,不依赖于泄露模型的先验知识,利用判别标准检验各类之间的差异性。利用这种攻击思想,能够解决工艺变化带来的泄露模型的不适用性。
虽然典型DPA利用“分类‐判别”的思想且独立于具体的泄露模型,但仍然存在一些问题:1)其分析效率往往不如已经泄露模型下的相关性分析(CPA),这是由于DPA的判别准则是差分,它仅仅利用了分类的均值。2)对于噪声抵抗性较差别并且分析效率较低,所需要的曲线条数较CPA要更多。这加剧了原来本就耗时的功耗采集过程,对于存储及计算资源都是极大消耗。3)典型DPA分析方法,只能利用功耗曲线上单点信息。而功耗泄露往往分布在相邻的若干点上,在DPA方法中合理利用这些泄露点,将极大提高分析效率。
发明内容
本发明针对现有技术的缺陷和不足,提出一种基于类可分性判距的旁路区分器方法及系统,适用于所有DPA方法的应用场景,并比DPA方法更具有通用性,解决了典型DPA判别方法信息利用单一的问题。同时,也能实现在DPA上的多点信息利用,提高分析效率。
本发明是通过以下技术方案实现的:
本发明涉及一种基于比特的通用差分功耗分析方法,对待测硬件输入明文后循环执行目标函数并采集期间产生的功耗曲线,对于每一个猜测子密钥计算其中间值,对中间值按不同分类结构进行分类后分析每种分类下的散度矩阵判据,得到对应的统计量曲线,并对所得到的分类结果进行组合处理,得到每个猜测子密钥的综合统计量曲线,最后根据综合统计量曲线最高的峰值,该综合统计量曲线所对应的猜测子密钥即为候选密钥。
所述的候选密钥其中:k为每个猜测的子密钥,为散度矩阵判据,Ci为分类结构。
所述的分类包括:单比特分类、多比特分类以及汉明重量分类。
所述的中间值可表述为I=f(k,m),其中:k表示子密钥,m表示明文,I表示待攻击的中间值,f为选择的算法操作,即DPA攻击的目标函数,该函数结构已知。
技术效果
与现有技术相比,本发明利用类可分性判据来构造DPA分析方法,该方法利用可分性判据这一统计量能够扩大类与类之间的距离,使得类间的可分性变大,同时又能充分利用功耗曲线上多点信息提升DPA分析效率。
附图说明
图1为本发明流程图;
图2为本发明应用AES加密算法功耗曲线示意图;
图3为J1为判据时,单点、单比特分类的分析成功率示意图;
图4为J2为判据时,单点、单比特分类的分析成功率示意图;
图5为J3为判据时,单点、单比特分类的分析成功率示意图;
图6为J4为判据时,单点、单比特分类的分析成功率示意图;
图7为J1为判据时,多点、单比特分类的分析成功率示意图;
图8为J2为判据时,多点、单比特分类的分析成功率示意图;
图9为J3为判据时,多点、单比特分类的分析成功率示意图;
图10为J4为判据时,多点、单比特分类的分析成功率示意图。
具体实施方式
实施例1
本实施例涉及一种基于比特的通用差分功耗分析方法,以AES硬件实现为例进行说明:对于硬件实现的AES来说,其分析可表述成函数:I=f(k,m)。由于密钥混淆的存在,每一轮的寄存器中的中间值和当前8比特轮密钥都关系,而其16个字节S盒是并行执行,在功耗曲线上重叠在一起。这无形之中降低了信噪比,使得攻击所需要的曲线条数增加,若要进行普通的DPA攻击,必须同时大量采集功耗曲线占用较大存储空间与计算能力。
本实施例包括以下步骤:
①随机输入明文m,循环执行目标函数f,并采集功耗曲线,如图2所示;
②根据密钥k的每一个猜测,计算得到对应的中间值I;
③依据中间值I选择单比特分类、多比特分类或汉明重量分类中的任意一种,形成对应的分类结构Ci;
④对于不同的分类结构Ci,进行散度矩阵判据的单点分析或多点分析;
⑤根据步骤④使用判据后得到的结果以及步骤③中不同的分类方式,采用相应的判别结果经过组合处理后得到的综合统计量曲线中的最大值所代表的k值为候选密钥,即其中:k为每个猜测的子密钥,Ci为分类结构,为下面定义散度矩阵判据的任意一种:
其中tr表示求迹,SW表示类内散度矩阵,SB表示类间散度矩阵,如图3、图7所示;
ii)J2=|SW|-1|SB|,其中||表示求行列式值,SW表示类内散度矩阵,SB表示类间散度矩阵,如图4、图8所示;
iii)J3=tr(SW)-1tr(SB),其中tr表示求迹,SW表示类内散度矩阵,SB表示类间散度矩阵,如图5、图9所示;
iv)J4=|SW|-1|ST|,其中||表示求行列式值,Sw表示类内散度矩阵,ST表示总散度矩阵,如图6、图10所示。
所述的类内散度矩阵类间散度矩阵总体散度矩阵 C为分类个数,其中:Δi表示每个分类,mi表示第Δi分类的均值,m表示功耗曲线的总均值,Ni表示Δi分类中功耗曲线条数,P(Δi)表示Δi分类的概率及表示Δi分类中第k条功耗曲线。
步骤④中所述的单点分析,是指根据判据i)~iv)中,SW、SB与ST中所有X与m取值,均为单个功耗曲线点的向量;对应多点分析,则均为多个功耗曲线点的向量,通过上述判据可将多点映射成单一值的统计量。
所述的分类包括:
a.如图3~图6所示的单比特分类:按待攻击的中间值I的第一个比特分类分成两类,即分成Δ1,0和Δ1,1,分别表示为第一比特为0的一类和第一比特为1的一类。
b.如图7~图10所示的多比特分类:按攻击的中间值I的第若干比特分类,可分成2l类,l表示比特数。
c.汉明重量分类:按攻击的中间值I的汉明重量进行分类。
所述的中间值可表述为I=f(k,m),其中:k表示子密钥,m表示明文,I表示待攻击的中间值,f为选择的算法操作,即DPA攻击的目标函数,该函数结构已知。
所述的组合处理是指:当进行多点分析时,进行与处理或进行或处理。
如在散度矩阵判据中选择单比特分类,那么每个中间值I可分为两类Δ1,0和Δ1,1对于AES中间值共有8个比特,每个比特两类都可利用判据进行判别可得8个结果即:其中1≤r≤8,可以将这8个结果进行组合得到最终密钥,即:
本实施例可以进一步通过以下系统实现上述方法,该系统包括:密钥检测模块、信息分类模块、统计量处理模块以及峰值检测模块,其中:密钥检测模块生成猜测密钥并计算得到其对应的中间值后输出至信息分类模块,信息分类模块根据密钥检测模块的中间值对分析曲线进行单比特、多比特或汉明重量分类,输出曲线分类信息至统计量处理模块,统计量处理模块与峰值检测模块相连并传输统计量信息,峰值检测模块根据每次的统计量曲线,按照预设的散度矩阵判据计算综合统计量曲线及总统计量曲线的峰值并输出至密钥检测模块,密钥检测模块根据猜测猜测密钥的中间值以及峰值检测模块返回的峰值进行对比并获得正确的猜测密钥;
所述的统计量信息包括:功耗曲线、分类信息以及每种分类下功耗曲线的统计量。
上述具体实施可由本领域技术人员在不背离本发明原理和宗旨的前提下以不同的方式对其进行局部调整,本发明的保护范围以权利要求书为准且不由上述具体实施所限,在其范围内的各个实现方案均受本发明之约束。
Claims (5)
1.一种基于类可分性判距的旁路区分器方法,其特征在于,对待测硬件输入明文后循环执行目标函数并采集期间产生的功耗曲线,对于每一个猜测子密钥计算其中间值,对中间值按不同分类结构进行分类后分析每种分类下的散度矩阵判据,得到对应的统计量曲线,并对所得到的分类结果进行组合处理,得到每个猜测子密钥的综合统计量曲线,最后根据综合统计量曲线最高的峰值,该综合统计量曲线所对应的猜测子密钥即为候选密钥;所述的候选密钥其中:k为每个猜测的子密钥,Ci为分类结构,为散度矩阵判据,其形式为以下任意一种:
i)其中tr表示求迹,SW表示类内散度矩阵,SB表示类间散度矩阵;
ii)J2=|SW|-1|SB|,其中||表示求行列式值,SW表示类内散度矩阵,SB表示类间散度矩阵;
iii)J3=tr(SW)-1tr(SB),其中tr表示求迹,SW表示类内散度矩阵,SB表示类间散度矩阵;
iv)J4=|SW|-1|ST|,其中||表示求行列式值,SW表示类内散度矩阵,ST表示总散度矩阵;
所述的类内散度矩阵
类间散度矩阵
总体散度矩阵 C为分类个数,其中:Δi表示每个分类,mi表示第Δi分类的均值,m表示功耗曲线的总均值,Ni表示Δi分类中功耗曲线条数,P(Δi)表示Δi分类的概率及表示Δi分类中第k条功耗曲线;
所述的分类包括:
①单比特分类:按待攻击的中间值I的第一个比特分类分成两类,即分成Δ1,0和Δ1,1,分别表示为第一比特为0的一类和第一比特为1的一类;
②多比特分类:按攻击的中间值I的第若干比特分类,可分成2l类,l表示比特数;
③汉明重量分类:按攻击的中间值I的汉明重量进行分类。
2.根据权利要求1所述的旁路区分器方法,其特征是,所述的中间值为I=f(k,m),其中:k表示子密钥,m表示明文,I表示待攻击的中间值,f为选择的算法操作,即DPA攻击的目标函数。
3.根据权利要求1所述的旁路区分器方法,其特征是,所述的分析,包括单点分析和多点分析,其中:单点分析,是指根据判据i)~iv)中,SW、SB与ST中所有X与m取值,均为单个功耗曲线点的向量;对应多点分析,则均为多个功耗曲线点的向量,通过上述判据可将多点映射成单一值的统计量。
4.根据权利要求3所述的旁路区分器方法,其特征是,所述的组合处理是指,当进行多点分析时,进行与处理或进行或处理。
5.一种实现权利要求1~4中任一所述方法的系统,其特征在于,包括:密钥检测模块、信息分类模块、统计量处理模块以及峰值检测模块,其中:密钥检测模块生成猜测密钥并计算得到其对应的中间值后输出至信息分类模块,信息分类模块根据密钥检测模块的中间值对分析曲线进行单比特、多比特或汉明重量分类,输出曲线分类信息至统计量处理模块,统计量处理模块与峰值检测模块相连并传输统计量信息,峰值检测模块根据每次的统计量曲线,按照预设的散度矩阵判据计算综合统计量曲线及总统计量曲线的峰值并输出至密钥检测模块,密钥检测模块根据猜测猜测密钥的中间值以及峰值检测模块返回的峰值进行对比并获得正确的猜测密钥;
所述的统计量信息包括:功耗曲线、分类信息以及每种分类下功耗曲线的统计量。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201610452737.6A CN106156615B (zh) | 2016-06-21 | 2016-06-21 | 基于类可分性判距的旁路区分器方法及系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201610452737.6A CN106156615B (zh) | 2016-06-21 | 2016-06-21 | 基于类可分性判距的旁路区分器方法及系统 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN106156615A CN106156615A (zh) | 2016-11-23 |
CN106156615B true CN106156615B (zh) | 2018-12-28 |
Family
ID=57353383
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201610452737.6A Active CN106156615B (zh) | 2016-06-21 | 2016-06-21 | 基于类可分性判距的旁路区分器方法及系统 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN106156615B (zh) |
Families Citing this family (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106817215B (zh) * | 2016-12-07 | 2019-09-20 | 清华大学 | 一种针对旁路攻击的片上供电网络验证方法 |
CN110460425B (zh) * | 2019-09-24 | 2023-05-09 | 北京银联金卡科技有限公司 | 一种面向侧信道密码能量泄漏信号的攻击方法及系统 |
CN115484107B (zh) * | 2022-09-20 | 2024-05-28 | 山东大学 | 一种基于并行计算的侧信道密钥分析方法及系统 |
CN115664641B (zh) * | 2022-12-26 | 2023-03-14 | 飞腾信息技术有限公司 | 对加密算法中轮密钥的校验方法及装置 |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101196965A (zh) * | 2006-12-07 | 2008-06-11 | 上海安创信息科技有限公司 | 防攻击高级加密标准的加密芯片的算法 |
CN102073811A (zh) * | 2010-12-22 | 2011-05-25 | 孙迎红 | 一种安全芯片抗功耗攻击防护能力量化评估的加速方法 |
CN102542288A (zh) * | 2011-11-28 | 2012-07-04 | 北京航空航天大学 | 一种高光谱数据多特征空间构建与融合分类方法 |
CN103067155A (zh) * | 2012-12-27 | 2013-04-24 | 东南大学 | 一种防止基于功耗分析的des算法攻击的方法及测试电路 |
CN103532973A (zh) * | 2013-10-25 | 2014-01-22 | 东南大学 | 面向des算法电路的差分功耗攻击测试方法 |
CN104954124A (zh) * | 2014-03-28 | 2015-09-30 | 华为技术有限公司 | 加密和解密数据处理方法、装置和系统 |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7194633B2 (en) * | 2001-11-14 | 2007-03-20 | International Business Machines Corporation | Device and method with reduced information leakage |
-
2016
- 2016-06-21 CN CN201610452737.6A patent/CN106156615B/zh active Active
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101196965A (zh) * | 2006-12-07 | 2008-06-11 | 上海安创信息科技有限公司 | 防攻击高级加密标准的加密芯片的算法 |
CN102073811A (zh) * | 2010-12-22 | 2011-05-25 | 孙迎红 | 一种安全芯片抗功耗攻击防护能力量化评估的加速方法 |
CN102542288A (zh) * | 2011-11-28 | 2012-07-04 | 北京航空航天大学 | 一种高光谱数据多特征空间构建与融合分类方法 |
CN103067155A (zh) * | 2012-12-27 | 2013-04-24 | 东南大学 | 一种防止基于功耗分析的des算法攻击的方法及测试电路 |
CN103532973A (zh) * | 2013-10-25 | 2014-01-22 | 东南大学 | 面向des算法电路的差分功耗攻击测试方法 |
CN104954124A (zh) * | 2014-03-28 | 2015-09-30 | 华为技术有限公司 | 加密和解密数据处理方法、装置和系统 |
Also Published As
Publication number | Publication date |
---|---|
CN106156615A (zh) | 2016-11-23 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN106156615B (zh) | 基于类可分性判距的旁路区分器方法及系统 | |
CN104868990B (zh) | 一种针对sm4密码算法轮输出的模板攻击方法 | |
CN104717055B (zh) | 一种针对sm4密码算法轮输入汉明重量的模板攻击方法 | |
CN103560877B (zh) | 攻击密钥的方法及装置 | |
CN110460425A (zh) | 一种面向侧信道密码能量泄漏信号的攻击方法及系统 | |
CN108604981A (zh) | 用于估计秘密值的方法和设备 | |
CN103258312B (zh) | 具有快速密钥流生成机制的数字图像加密方法 | |
Hu et al. | Hardware trojan detection combine with machine learning: an svm-based detection approach | |
Guo et al. | Learning to upgrade internet information security and protection strategy in big data era | |
Xu et al. | Rethinking FPGA security in the new era of artificial intelligence | |
Ding et al. | Adaptive chosen-plaintext collision attack on masked AES in edge computing | |
Barenghi et al. | Scramble suit: A profile differentiation countermeasure to prevent template attacks | |
Cai et al. | An energy trace compression method for differential power analysis attack | |
CN105897401B (zh) | 基于比特的通用差分功耗分析方法及系统 | |
CN106357378A (zh) | 用于sm2签名的密钥检测方法及其系统 | |
Luo et al. | Cryptanalysis of a chaotic block cryptographic system against template attacks | |
CN116566584B (zh) | 基于Henon混沌系统加密的可编程控制器通信方法 | |
Xie et al. | A novel bidirectional RFID identity authentication protocol | |
Xiangliang et al. | Non‐profiled Deep‐Learning‐Based Power Analysis of the SM4 and DES Algorithms | |
Hu et al. | Software implementation of aes-128: Side channel attacks based on power traces decomposition | |
CN115580489A (zh) | 数据传输方法、装置、设备及存储介质 | |
KR102312379B1 (ko) | Lac에 대한 부채널 분석 장치 및 방법 | |
Huang | A designed image encryption algorithm based on chaotic systems | |
CN112564885A (zh) | 基于掩码变量最大概率密度函数分布的侧信道攻击方法 | |
Wang et al. | Using Convolutional Neural Network to Redress Outliers in Clustering Based Side-Channel Analysis on Cryptosystem |
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 |