CN112564884B - 一种针对密码算法的混合去噪功耗分析方法及终端 - Google Patents
一种针对密码算法的混合去噪功耗分析方法及终端 Download PDFInfo
- Publication number
- CN112564884B CN112564884B CN202011336636.5A CN202011336636A CN112564884B CN 112564884 B CN112564884 B CN 112564884B CN 202011336636 A CN202011336636 A CN 202011336636A CN 112564884 B CN112564884 B CN 112564884B
- Authority
- CN
- China
- Prior art keywords
- power consumption
- matrix
- function
- signal
- cryptographic algorithm
- 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
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
- H04L9/003—Countermeasures against attacks on cryptographic mechanisms for power analysis, e.g. differential power analysis [DPA] or simple power analysis [SPA]
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F17/00—Digital computing or data processing equipment or methods, specially adapted for specific functions
- G06F17/10—Complex mathematical operations
- G06F17/14—Fourier, Walsh or analogous domain transformations, e.g. Laplace, Hilbert, Karhunen-Loeve, transforms
- G06F17/148—Wavelet transforms
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F17/00—Digital computing or data processing equipment or methods, specially adapted for specific functions
- G06F17/10—Complex mathematical operations
- G06F17/16—Matrix or vector computation, e.g. matrix-matrix or matrix-vector multiplication, matrix factorization
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06V—IMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
- G06V10/00—Arrangements for image or video recognition or understanding
- G06V10/20—Image preprocessing
- G06V10/30—Noise filtering
-
- 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/1433—Vulnerability analysis
-
- 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
- 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
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2218/00—Aspects of pattern recognition specially adapted for signal processing
- G06F2218/02—Preprocessing
- G06F2218/04—Denoising
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2218/00—Aspects of pattern recognition specially adapted for signal processing
- G06F2218/02—Preprocessing
- G06F2218/04—Denoising
- G06F2218/06—Denoising by applying a scale-space analysis, e.g. using wavelet analysis
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02D—CLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
- Y02D10/00—Energy efficient computing, e.g. low power processors, power management or thermal management
Landscapes
- Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- Computer Security & Cryptography (AREA)
- General Physics & Mathematics (AREA)
- Mathematical Physics (AREA)
- Theoretical Computer Science (AREA)
- General Engineering & Computer Science (AREA)
- Mathematical Optimization (AREA)
- Data Mining & Analysis (AREA)
- Pure & Applied Mathematics (AREA)
- Computer Networks & Wireless Communication (AREA)
- Computational Mathematics (AREA)
- Mathematical Analysis (AREA)
- Signal Processing (AREA)
- Computing Systems (AREA)
- Algebra (AREA)
- Computer Hardware Design (AREA)
- Databases & Information Systems (AREA)
- Software Systems (AREA)
- Multimedia (AREA)
- Storage Device Security (AREA)
Abstract
本发明涉及一种针对密码算法的混合去噪功耗分析方法及终端,属于信息安全与边信道攻击领域;所述方法包括选择实际中间值攻击点,并确定出所需的实际中间值,向运行密码算法的加密设备输入明文,采集加密时的功耗信号数据;对所获得的功耗信号数据使用低通滤波和经验模态阈值混合的去噪方法进行预处理,得到降噪之后的功耗信号数据;使用预处理之后的功耗信号数据构建实际功耗矩阵,并计算假设中间值,得到假设的功耗矩阵;计算实际功耗矩阵与假设功耗矩阵之间的相关系数,并得到正确的密钥。本发明减少了功耗信号中的噪声,提高了信噪比,同时提高了密码攻击的效率和准确度。
Description
技术领域
本发明属于信息安全和侧信道分析技术领域,尤其涉及一种针对密码算法的混合去噪功耗分析方法及终端。
背景技术
如今,密码学的发展使得加密算法的安全性有了显著的提高,传统的数学攻击方法已经很难有效地攻击现在的AES等加密算法;然而侧信道攻击的出现,使得AES等能够抵御传统数学分析的加密算法受到了威胁。侧信道攻击是一种非侵入式攻击方法,密码芯片在运行加密算法的过程中,会有一些能量、电磁辐射等的侧信道泄露,侧信道攻击就是利用这些侧信道泄露的信息,其中功耗分析就是一种侧信道攻击的形式,攻击者研究加密硬件设备的功耗(如智能卡、防篡改的“黑盒”或集成电路)。攻击者可以从设备中提取加密密钥和其他机密信息;是一种容易实现且效率较高的方法。
通过功耗分析的方式进行密码设备的安全性评测可以有效地帮助密码设备的生产者以及使用者了解密码设备的安全性以及安全漏洞的情况,能帮助使用者规避被攻击的风险,帮助生产者改善密码设备的安全性。
目前,国内外在侧信道功耗攻击方面的研究,主要有针对攻击点的研究和针对功耗信号的去噪研究,例如段晓毅等人提出的基于小波变换去噪的相关功耗分析攻击研究与实现;针对功耗信号的去噪方法包括卡尔曼滤波、小波分析、主成分分析等。这些单一的功耗信号去噪方法对噪声的抑制效果以及对功耗分析的准确率提升有限。
发明内容
为了解决上述问题,本发明提供了一种针对密码算法的混合去噪功耗分析方法及终端,结合低通滤波,经验模态分解以及小波阈值方法,目的在于提高对功耗信号中噪声的抑制效果,从而提高功耗分析密钥破解的成功率和准确率。
为达到上述目的,在本发明的第一方面,本发明提供了一种针对密码算法的混合去噪功耗分析方法,所述方法包括以下步骤:
步骤1)、向运行密码算法的加密设备输入明文,选择实际中间值攻击点,确定所需的实际中间值;采集加密时的功耗信号数据;
步骤2)、对所获得的功耗信号数据使用低通滤波,经验模态分解以及小波阈值的混合去噪方法进行预处理,得到降噪后的功耗信号数据;
步骤3)、使用降噪后的功耗信号数据基于所述实际中间值构建出实际功耗矩阵;并计算假设中间值,得到假设功耗矩阵;
步骤4)、计算多组实际功耗矩阵与假设功耗矩阵之间的相关系数,并分析得到正确的密钥。
在本发明的第二方面,本发明还提供了一种针对密码算法的混合去噪功耗分析终端,包括:
存储器,用于存储可执行程序代码;
处理器,用于调用所述存储器中的所述可执行程序代码,执行的步骤包括:
选择密码算法的S盒或者轮密钥加的输出值作为中间值,向运行密码算法的加密设备输入明文,采集加密时的功耗信号数据;
对所获得的功耗信号数据使用低通滤波,经验模态分解以及小波阈值的混合去噪方法进行预处理,得到降噪后的功耗信号数据;
使用降噪后的功耗信号数据构建实际功耗矩阵,并计算假设中间值,得到假设的功耗矩阵;
计算多组实际功耗矩阵与假设功耗矩阵之间的相关系数,并分析得到正确的密钥。
本发明的有益效果:
本发明采用了混合去噪方式来抑制噪声,并且对混合去噪后的功耗信号数据进行功耗分析,提高了功耗分析过程中密钥破解的成功率和准确率;本发明可以有效地帮助密码设备的生产者以及使用者了解密码设备的安全性以及安全漏洞的情况,能帮助使用者规避被攻击的风险,帮助生产者改善密码设备的安全性。本发明提出了基于传统方法中汉明重量模型进行改进的转换距离模型,通过设置功耗差别系数β以提高假设功耗矩阵的转换效率,增强了功耗分析的效率和准确。另外,本发明提出的一种针对密码算法的混合去噪功耗分析终端集成了本发明的一种针对密码算法的混合去噪功耗分析方法,可以更简单快捷地针对密码设备进行安全测试。
附图说明
图1为本发明实施例中针对密码算法的混合去噪功耗分析方法的总体流程图;
图2为本发明实施例中所述的功耗信号低通滤波流程图;
图3为本发明实施例中构建实际功耗矩阵和假设功耗矩阵流程图;
图4为本发明实施例中计算相关系数推测密钥的流程图;
图5为本发明实施例中针对密码算法的混合去噪分析终端的结构图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
有关本发明的前述及其他技术内容、特点及功效,在以下配合参考图式的较佳实施例的详细说明中将可清楚呈现。通过具体实施方式的说明,当可对本发明为达成预定目的所采取的技术手段及功效得以更加深入且具体的了解,然而所附图式仅是提供参考与说明之用,并非用来对本发明加以限制。
本发明所揭示的是一种针对密码算法的混合去噪功耗分析方法,图1为本发明优选的一种实施例针对密码算法的混合去噪功耗分析方法的总体流程图,如图1所示,所述功耗分析方法的步骤包括:
步骤1)、选择密码算法明文与密钥的函数例如S盒或者轮密钥加的输出值作为中间值,向运行密码算法的加密设备输入明文,采集加密时的功耗信号数据;
其中,所述中间值会用于构建功耗矩阵,应当为明文与密钥的函数值或者密文与密钥的函数值,所以本实施例可以选取像S盒或者轮密钥加的输出这些类似的密码算法的中间输出作为中间值;当然在本发明进行具体实施时,可以不限于这两种密码算法,本领域技术人员可以根据实际需要选择合适的密码算法的中间输出作为实际中间。
向运行有密码算法的加密设备输入明文后,加密设备将会对这个输入明文加密,此时将会有一些能量、电磁辐射等的侧信道泄露。因此本发明可以利用示波器或者ChipWhisperer功耗分析平台的功耗捕获板来获取加密算法在进行加密运算时运行密码算法的设备泄露的功耗信号。
下面我们来详述一下ChipWhisperer功耗分析平台的测量原理,CPU执行不同指令的时候会有不同的功耗特征,这是因为不同的指令触发的半导体数量不同,有的指令还会访问内存、缓存等等,有的复杂的指令需要的时钟周期(Clock Cycles)还会比别的指令要长,各种各样的因素会导致不同的指令执行的时候会产生不同的功耗特征。
ChipWhisperer可以通过功耗测量接口,检测目标芯片的VCC供电线路上的电压变化,电压减少得越多,说明当前CPU的功耗越大。通过高精度的采样功耗变化,我们可以画出CPU的功耗变化图,从而寻找可以泄露CPU运行信息的相关信号特征,然后加以利用。
步骤2)、对所获得的功耗信号数据使用低通滤波,经验模态分解以及小波阈值的混合去噪方法对功耗信号数据进行预处理,得到降噪之后的功耗信号数据;
传统的功耗分析方法一般是使用小波变换去噪、卡尔曼滤波等单一的去噪方法进行处理,但是这些单一的功耗信号去噪方法对与噪声的抑制效果对功耗分析的准确率提升有限;因此本发明在此提供了包括低通滤波,经验模态分解以及小波阈值的混合去噪方法对功耗信号数据进行预处理,减少了噪声影响,能够提高功耗攻击效率,通过功耗分析的方式进行密码设备的安全性评测可以有效地帮助密码设备的生产者以及使用者了解密码设备的安全性以及安全漏洞的情况,能帮助使用者规避被攻击的风险,帮助生产者改善密码设备的安全性。
如图2所示,在所述步骤2)对所获得的功耗信号数据使用低通滤波,经验模态分解以及小波阈值的混合去噪方法对功耗信号数据进行预处理,得到降噪之后的功耗信号数据的过程包括:
步骤2-1、在运行密码算法的设备的运算芯片GND引脚处串联一个电阻,使用示波器或者ChipWhisperer捕获板采集到泄露的功耗信号曲线,得到原始信号函数g(t);
步骤2-2、对原始信号函数进行低通滤波,过滤掉信号中的高频噪声,得到滤波后的新的信号函数s(t),低通滤波可以采用I型切比雪夫滤波方法,其幅度与频率的关系可用公式表达为:
其中,n为切比雪夫低通滤波器的阶数,ε是通带波纹的大小,是小于1的正数,ω0是截止频率,Tn表示切比雪夫多项式。
切比雪夫多项式的定义为:
其中cosh为双曲余弦函数,定义为:
步骤2-3、找出功耗信号函数s(t)上的全部局部极大值和局部极小值,使用三次样条插值函数求出上下包络线u+(t)和u-(t),取上下包络线的均值即平均值函数a1(t)为:
步骤2-4、将功耗信号函数s(t)减去平均值函数a1(t);求第一个信号分量h1(t),其表达式为:
h1(t)=s(t)-a1(t)
步骤2-5、判断所述信号分量函数是否满足本征模态函数(IMF)的条件,确定所述信号分量函数为IMF分量;
判断信号分量函数h1(t)是否满足本征模态函数(IMF)的条件,如满足则h1(t)即为所需要的第一个IMF分量,记为c1(t);
如不满足则让s(t)=h1(t)并重复执行步骤2-1到2-3i次直至获得的信号分量函数hi(t)满足本征模态函数(IMF)的条件,此时的第一个IMF分量仍然记为c1(t);
其中,判断是否满足本征模态函数(IMF)的条件为:
(1)函数在整个时间范围内,局部极值点和过零点的数目必须相等;
(2)在任意时刻点,局部最大值的上包络线和下包络线平均必须为零。
步骤2-6、将第一个满足IMF条件的信号分量从原始函数总分离出来,其表达公式为:
m1(t)=s(t)-h1(t)
并令原始信号函数s(t)等于m1(t)作为新的原始信号函数重复步骤2-3至步骤2-6直至得到的本征模态函数不可再分。
步骤2-7、对含有噪声的高频IMF分量函数进行小波软阈值去噪,提取出有用的特征信息,其表达式为:
其中,h'j,k(t)表示经过阈值去噪后的小波系数,j为当前小波分解的层数,j的取值为1到n,n表示小波分解的层数;k是系数的次序,k的取值为1和2。
将提取出的特征信息与含有有用信息的低频IMF分量以及残差进行重构,其表达式为:
x(t)=h1(t)+h2(t)+…+hn(t)+R
其中,hi(t)表示第i个处理过的IMF分量,i=1,2,3,…,n;R表示残差。
步骤3)、使用预处理之后的功耗信号数据构建实际功耗矩阵,并计算假设中间值,得到假设的功耗矩阵;
如图3所示,所述步骤3)包含的具体步骤如下:
步骤3-1:根据采集的功耗曲线构建实际功耗矩阵,每条功耗数据为实际功耗矩阵中的一行,其中根据迭代轮次r,每轮选取一个采样点,则每条数据有r个采样点,按时间将矩阵中每条功耗数据的r个采样点对齐,就得到了n×r的实际功耗矩阵X;
步骤3-2:利用S盒的输出结果,计算假设中间值,其计算方法如下:
[Vi,j]n×m=SBOX(Pi,kj)i=1,2,…,n;j=1,2,…,m
其中,[Vi,j]n×m表示大小为n×m的假设中间值矩阵,Vi,j表示第i行第j列的假设中间值,该假设中间值可以为一个二进制编码序列;k为假设的密钥且k=(k1,k2,…,km),m为假设密钥的位数,P为输入的明文且P=(P1,P2,…Pn),n为明文数量,SBOX(Pi,kj)是S盒函数;
步骤3-3:根据假设中间值,构建假设功耗矩阵,为了使功耗分析的效率和准确都提高,本方法提出了基于传统方法中汉明重量模型进行改进的转换距离模型,由于实际情况下,CMOS逻辑电路中0转换为1和1转换为0产生的功耗不同,因此本方法提出了更准确的功耗模型,设置了功耗差别系数β,其表达为:
β=(Power0→1-Power1→0)/Power0→1
其中,Power0→1表示电路中0转换为1的功耗,Power1→0表示电路中1转换为0的功耗。
而转换距离功耗模型表示为:
[Hi,i]n×m=βHW(Vi,j(0→1))+(1-β)HW(Vi,j(1→0))
其中,Vi,j(0→1)是假设中间值0转换为1的功耗,Vi,j(1→0)是假设中间值1转换为0的功耗,HW()是汉明重量模型计算函数。
举个例子,假设V3,2表示一个字节的8位二进制数,表示为10111001,那么在为了计算出假设中间值V3,2的假设功耗值H3,2时,就需要对这8位二进制数中的跳变位进行翻转,假设跳变位为第2位和第4位,那么就需要采用汉明重量模型计算函数计算出第2位和第4位的功耗转换距离,并按照功耗差别系数计算出这8位二进制数所对应的假设功耗值;其中,跳变位是由于计算假设中间值时,S盒函数对输入的明文进行翻转跳变。
步骤4)、计算多组实际功耗矩阵与假设功耗矩阵之间的相关系数,并分析得到正确的密钥;
如图4所示,所述步骤4)包括的步骤如下:
步骤4-1:计算实际功耗矩阵如假设功耗矩阵的相关系数,计算时选用皮尔逊相关系数进行计算,其计算相关系数矩阵的公式如下:
其中,[Ri,j]m×p表示大小为m×p的系数矩阵,Ri,j表示第i行第j列的系数;Hz,i表示假设功耗矩阵H的第z行第i列的假设功耗值;i=1,2,…,m;j=1,2,…,p;是假设功耗矩阵H的列向量的算术平均,为实际功耗矩阵X的列向量的算数平均;Xz,i表示实际功耗矩阵H的第z行第i列的实际功耗值;m为可能的密钥的数量,p表示每条功耗曲线数据的采样点数。
步骤4-2:分析相关系数,得到猜测密钥。
其中,对于相关系数矩阵,每一行对应于一个假设密钥,首先找出每一行相关系数的最大值,得到一个字节密钥对应的m个最大的相关系数,选取m个最大相关系数值中最大的那一个对应的密钥值作为最佳密钥候选值,也即为本字节的猜测密钥,其他字节也采用相同的方法。
图5是本发明实施例中一种针对密码算法的混合去噪功耗分析终端的结构示意图,本发明的功耗分析方法可以但不限于应用于如图5所示的终端,所述终端例如可以但不限于计算机、服务器、平板电脑、个人数字助理(英文:Personal Digital Assistant,缩写:PDA)、移动互联网设备(英文:Mobile Internet Device,缩写:MID)等可进行数据处理和数据存储的设备,本发明对此不作任何限制。
如图5所示,所述终端包括一个或多个(图中仅示出一个)处理器510和一个或多个(图中仅示出一个)存储器530,操作系统531和可执行程序532;以及输入输出接口540和内存储器550;这些组件通过一条或多条通讯总线/信号线相互通讯。
具体的,如图5所示,所述终端包括通过系统总线520连接的处理器510、存储器530、内存储器550及输入输出接口540。其中,所述存储器530存储有操作系统531以及可执行程序532,该可执行程序532用于实现本发明实施例中提供的适用于本发明的针对密码算法的混合去噪功耗分析方法。该处理器510用于提供计算和控制能力,支撑整个计算机设备的运行。计算机设备中的内存储器550为存储器530中的操作系统531及可执行程序532的运行提供环境,输入输出接口540用于与外界进行网络或者其他设备通信。
本领域技术人员可以理解,图5中示出的结构,仅仅是与本申请方案相关的部分结构的框图,并不构成对本申请方案所应用于其上的终端的限定,具体地终端可以包括比图中所示更多或更少的部件,或者组合某些部件,或者具有不同的部件布置。
该处理器510可以是中央处理器(central processing unit,CPU),网络处理器(network processor,NP)或者CPU和NP的组合。
该处理器510还可以进一步包括硬件芯片。上述硬件芯片可以是专用集成电路(application-specific integrated circuit,ASIC),可编程逻辑器件(programmablelogic device,PLD)或其组合。上述PLD可以是复杂可编程逻辑器件(complexprogrammable logic device,CPLD),现场可编程逻辑门阵列(field-programmable gatearray,FPGA),通用阵列逻辑(generic array logic,GAL)或其任意组合。
该存储器530还可以包括易失性存储器(volatile memory),例如随机存取存储器(random-access memory,RAM);存储器也可以包括非易失性存储器(non-volatilememory),例如快闪存储器(flash memory),硬盘(hard disk drive,HDD)或固态硬盘(solid-state drive,SSD);存储器还可以包括上述种类的存储器的组合。
可选地,该存储器还用于存储程序指令。该处理器可以调用该存储器存储的程序指令,实现如本发明第一实施例、第二实施例所示的方法。
该总线可以是外设部件互连标准(peripheral component interconnect,简称PCI)总线或扩展工业标准结构(extended industry standard architecture,简称EISA)总线等。该总线可以分为地址总线、数据总线、控制总线等。为便于表示,图5中仅用一条粗线表示,但并不表示仅有一根总线或一种类型的总线。
可以理解的是,图5所示的终端结构仅为示意,所述分析终端还可以包括比图5所示更多或者更少的组件,或者具有与如图5所示不同的配置,图5中所示的各组件可以采用硬件、软件或者其组合实现。
在上述实施例的基础上,本实施例中各个模块具体包括:
存储器530,用于存储可执行程序532的代码数据;
处理器510,用于调用所述存储器530中的所述可执行程序532,执行的步骤包括:
选择密码算法的S盒或者轮密钥加的输出值作为中间值,向运行密码算法的加密设备输入明文,采集加密时的功耗信号数据;
对所获得的功耗信号数据使用混合去噪方法低通滤波,经验模态分解以及小波阈值的混合去噪方法进行预处理,得到降噪后的功耗信号数据;
使用降噪后的功耗信号数据构建实际功耗矩阵,并计算假设中间值,得到假设的功耗矩阵;
计算多组实际功耗矩阵与假设功耗矩阵之间的相关系数,并分析得到正确的密钥。
在一些更为具体的实施例中,所述处理器还可以执行的步骤包括:
步骤2-1、从运行密码算法的加密设备中采集功耗信号数据,得到原始信号函数;
步骤2-2、对原始信号函数进行低通滤波得到功耗信号函数;
步骤2-3、找出所述功耗信号函数上所有的局部极大值和局部极小值,使用三次样条函数获得上下包络线并求出上下包络线的平均值函数;
步骤2-4、将所述功耗信号函数减去所述平均值函数,得到信号分量函数;
步骤2-5、判断所述信号分量函数是否满足本征模态函数(IMF)的条件,确定所述信号分量函数为IMF分量;
步骤2-6、用所述功耗信号函数减去所述本征模态分量得到一个信号函数,让所述功耗信号函数等于所述信号函数,重复上述步骤,得到n个IMF分量直至第n个IMF分量不可再分时进入步骤2-7;
步骤2-7、对含有噪声的高频IMF分量进行小波阈值去噪处理,将特征信息提取出来,并对特征信息与低频IMF分量及残差进行重构,得到去噪之后的功耗信号。
步骤3-1:根据采集的功耗曲线构建实际功耗矩阵,每条功耗数据为实际功耗矩阵中的一行,其中根据迭代轮次r,每轮选取一个采样点,则每条数据有r个采样点,按时间将矩阵中每条功耗数据的r个采样点对齐,就得到了n×r的实际功耗矩阵X;
步骤3-2:利用S盒的输出结果,计算假设中间值;
步骤3-3:根据假设中间值,构建假设功耗矩阵;
步骤4-1:计算实际功耗矩阵如假设功耗矩阵的相关系数,计算时选用皮尔逊相关系数进行计算;
步骤4-2:分析相关系数,得到猜测密钥。
可以理解的是,本发明中的针对密码算法的混合去噪分析方法及终端的特征可以相互引用,为了节省篇幅,本发明不再对其一一例举。
在本发明的描述中,需要理解的是,术语“同轴”、“底部”、“一端”、“顶部”、“中部”、“另一端”、“上”、“一侧”、“顶部”、“内”、“外”、“前部”、“中央”、“两端”等指示的方位或位置关系为基于附图所示的方位或位置关系,仅是为了便于描述本发明和简化描述,而不是指示或暗示所指的装置或元件必须具有特定的方位、以特定的方位构造和操作,因此不能理解为对本发明的限制。
在本发明中,除非另有明确的规定和限定,术语“安装”、“设置”、“连接”、“固定”、“旋转”等术语应做广义理解,例如,可以是固定连接,也可以是可拆卸连接,或成一体;可以是机械连接,也可以是电连接;可以是直接相连,也可以通过中间媒介间接相连,可以是两个元件内部的连通或两个元件的相互作用关系,除非另有明确的限定,对于本领域的普通技术人员而言,可以根据具体情况理解上述术语在本发明中的具体含义。
尽管已经示出和描述了本发明的实施例,对于本领域的普通技术人员而言,可以理解在不脱离本发明的原理和精神的情况下可以对这些实施例进行多种变化、修改、替换和变型,本发明的范围由所附权利要求及其等同物限定。
Claims (6)
1.一种针对密码算法的混合去噪功耗分析方法,其特征在于,所述方法包括以下步骤:
步骤1)、向运行密码算法的加密设备输入明文,选择实际中间值攻击点,确定所需的实际中间值;采集加密时的功耗信号数据;
步骤2)、对所获得的功耗信号数据使用低通滤波,经验模态分解以及小波阈值的混合去噪方法进行预处理,得到降噪后的功耗信号数据;
步骤2-1、从运行密码算法的加密设备中采集功耗信号数据,得到原始信号函数;
步骤2-2、对原始信号函数进行低通滤波得到功耗信号函数;
步骤2-3、找出所述功耗信号函数上所有的局部极大值和局部极小值,使用三次样条函数获得上下包络线并求出上下包络线的平均值函数;
步骤2-4、将所述功耗信号函数减去所述平均值函数,得到信号分量函数;
步骤2-5、判断所述信号分量函数是否满足本征模态函数IMF的条件,如满足则所述信号分量函数即为所需要的第一个IMF分量;如不满足则令所述功耗信号函数等于所述信号分量函数;并重复执行步骤2-1到2-4,直至获得的信号分量函数满足IMF的条件并作为第一个IMF分量;确定所述信号分量函数为IMF分量;
判断是否满足本征模态函数的条件包括:
函数在整个时间范围内,局部极值点和过零点的数目相等;
在任意时刻点,局部最大值的上包络线和下包络线平均包络线为零;
步骤2-6、用所述功耗信号函数减去所述本征模态分量得到一个信号函数,让所述功耗信号函数等于所述信号函数,重复上述步骤,得到n个IMF分量直至第n个IMF分量不可再分时进入步骤2-7;
步骤2-7、对含有噪声的高频IMF分量进行小波阈值去噪处理,将特征信息提取出来,并对特征信息与低频IMF分量及残差进行重构,得到去噪之后的功耗信号;
所述步骤2-7中小波阈值去噪处理采用软阈值法,其计算公式如下:
其中,h'j,k(t)表示经过阈值去噪后的小波系数,thr(j)表示第j层小波分解的软阈值,j的取值为1到n,表示小波分解的层数;k是系数的次序,k的取值为1和2;
步骤3)、使用降噪后的功耗信号数据基于所述实际中间值构建出实际功耗矩阵;并计算假设中间值,得到假设功耗矩阵;
步骤4)、计算多组实际功耗矩阵与假设功耗矩阵之间的相关系数,并分析得到正确的密钥。
2.根据权利要求1所述的一种针对密码算法的混合去噪功耗分析方法,其特征在于,所述步骤1)中的实际中间值为密码算法的S盒或者轮密钥加的中间输出。
3.根据权利要求1所述的一种针对密码算法的混合去噪功耗分析方法,其特征在于,所述步骤3)中所述构建实际功耗矩阵X的方法包括将采集的n条功耗数据,每条作为实际功耗矩阵的一行,其中根据迭代轮次r,每轮选取一个采样点,则每条数据有r个采样点,按时间将矩阵中每条功耗数据的r个采样点对齐,得到n×r的实际功耗矩阵X。
4.根据权利要求1或3所述的一种针对密码算法的混合去噪功耗分析方法,其特征在于,所述步骤3)中计算假设功耗矩阵包括采用基于功耗差别系数的汉明重量模型计算出每个假设中间值的能耗转换距离,并形成假设功耗矩阵;表示为:
[Hi,i]n×m=βHW(Vi,j(0→1))+(1-β)HW(Vi,j(1→0))
其中,[Hi,j]n×m表示大小为n×m的假设功耗矩阵,Hi,j表示第i行第j列的假设功耗值;HW()是汉明重量模型计算函数;Vi,j表示第i行第j列的假设中间值,Vi,j(0→1)是0转换为1的功耗,Vi,j(1→0)是1转换为0的功耗,β表示功耗差别系数。
6.一种针对密码算法的混合去噪功耗分析终端,其用于实现如权利要求1~5任一所述的一种针对密码算法的混合去噪功耗分析方法,其特征在于,包括:
存储器,用于存储可执行程序代码;
处理器,用于调用所述存储器中的所述可执行程序代码,执行的步骤包括:
选择密码算法的S盒或者轮密钥加的输出值作为中间值,向运行密码算法的加密设备输入明文,采集加密时的功耗信号数据;
对所获得的功耗信号数据使用低通滤波,经验模态分解以及小波阈值的混合去噪方法进行预处理,得到降噪后的功耗信号数据;
使用降噪后的功耗信号数据构建实际功耗矩阵,并计算假设中间值,得到假设的功耗矩阵;
计算多组实际功耗矩阵与假设功耗矩阵之间的相关系数,并分析得到正确的密钥。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202011336636.5A CN112564884B (zh) | 2020-11-25 | 2020-11-25 | 一种针对密码算法的混合去噪功耗分析方法及终端 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202011336636.5A CN112564884B (zh) | 2020-11-25 | 2020-11-25 | 一种针对密码算法的混合去噪功耗分析方法及终端 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN112564884A CN112564884A (zh) | 2021-03-26 |
CN112564884B true CN112564884B (zh) | 2022-08-30 |
Family
ID=75043589
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202011336636.5A Active CN112564884B (zh) | 2020-11-25 | 2020-11-25 | 一种针对密码算法的混合去噪功耗分析方法及终端 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN112564884B (zh) |
Families Citing this family (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113705107B (zh) * | 2021-09-01 | 2023-09-08 | 桂林电子科技大学 | 一种基于均值岭回归的功耗分析方法 |
CN116304570B (zh) * | 2023-03-23 | 2023-10-27 | 昆明理工大学 | 一种基于EEMD联合Chebyshev滤波的水轮机故障信号去噪方法 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107508678A (zh) * | 2017-10-13 | 2017-12-22 | 成都信息工程大学 | 基于机器学习的rsa掩码防御算法的侧信道攻击方法 |
CN108270543A (zh) * | 2017-11-22 | 2018-07-10 | 北京电子科技学院 | 一种基于小波空域相关法的侧信道攻击预处理方法 |
US10599798B1 (en) * | 2017-01-06 | 2020-03-24 | Ansys, Inc. | Double glitch capture mode power integrity analysis |
CN111817842A (zh) * | 2020-07-02 | 2020-10-23 | 中金金融认证中心有限公司 | 一种针对rsa-crt运算的能量分析攻击测试装置和方法 |
Family Cites Families (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US10530567B2 (en) * | 2016-10-05 | 2020-01-07 | Megachips Corporation | Encryption device and memory device |
CN110390357A (zh) * | 2019-07-17 | 2019-10-29 | 国网浙江省电力有限公司电力科学研究院 | 一种基于边信道的dtu安全监测方法 |
CN111680787B (zh) * | 2020-06-12 | 2022-12-09 | 中国人民解放军战略支援部队信息工程大学 | 一种侧信道曲线的处理方法、装置及电子设备 |
-
2020
- 2020-11-25 CN CN202011336636.5A patent/CN112564884B/zh active Active
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US10599798B1 (en) * | 2017-01-06 | 2020-03-24 | Ansys, Inc. | Double glitch capture mode power integrity analysis |
CN107508678A (zh) * | 2017-10-13 | 2017-12-22 | 成都信息工程大学 | 基于机器学习的rsa掩码防御算法的侧信道攻击方法 |
CN108270543A (zh) * | 2017-11-22 | 2018-07-10 | 北京电子科技学院 | 一种基于小波空域相关法的侧信道攻击预处理方法 |
CN111817842A (zh) * | 2020-07-02 | 2020-10-23 | 中金金融认证中心有限公司 | 一种针对rsa-crt运算的能量分析攻击测试装置和方法 |
Non-Patent Citations (4)
Title |
---|
A Highly Effective Data Preprocessing in Side-Channel Attack Using Empirical Mode Decomposition;Zhang Shuaiwei等;《Security and Communication Networks》;20191231;第1-4节 * |
Use of the AES Encryption Algorithm and RSA-OAEP Key Transport in CMS;J. Schaad等;《IETF 》;20020131;全文 * |
基于小波包的AES相关功耗分析攻击;段晓毅等;《计算机工程》;20170615(第06期);第1-2节 * |
基于小波变换去噪的相关功耗分析攻击研究与实现;段晓毅等;《计算机应用研究》;20200415(第04期);全文 * |
Also Published As
Publication number | Publication date |
---|---|
CN112564884A (zh) | 2021-03-26 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN112564884B (zh) | 一种针对密码算法的混合去噪功耗分析方法及终端 | |
Moini et al. | Power side-channel attacks on BNN accelerators in remote FPGAs | |
KR20170098733A (ko) | 2차 이상의 부채널 분석에 대한 회로의 저항력을 테스트하는 방법 | |
CN111404542B (zh) | 一种双指数核信号计数方法及装置 | |
EP3918744A1 (en) | Post-quantum signature scheme using biometrics or other fuzzy data | |
WO2024152768A1 (zh) | 生物特征匹配方法、终端设备、服务器、系统及介质 | |
Zhang et al. | A flexible and generic Gaussian sampler with power side-channel countermeasures for quantum-secure Internet of Things | |
Xu et al. | Ring-ExpLWE: A high-performance and lightweight post-quantum encryption scheme for resource-constrained IoT devices | |
Li et al. | Power-based attacks on spatial dnn accelerators | |
Tran et al. | Transition factors of power consumption models for CPA attacks on cryptographic RISC-V SoC | |
Feng et al. | MLP and CNN-based classification of points of interest in side-channel attacks | |
Ouladj et al. | Chosen message strategy to improve the correlation power analysis | |
CN113691375B (zh) | 一种ecc椭圆曲线抗攻击的硬件架构 | |
Jiang et al. | SM4 Chaotic Masking Scheme Against Power Analysis Based on FPGA | |
CN115712857A (zh) | 一种异常流量检测方法、设备及介质 | |
Ricci et al. | Towards CRYSTALS-Kyber VHDL Implementation. | |
Wang et al. | Differential power analysis attack and countermeasures on MCrypton | |
CN115664633B (zh) | 波形的处理方法及装置 | |
Zhang et al. | A Highly Effective Data Preprocessing in Side‐Channel Attack Using Empirical Mode Decomposition | |
CN106330443B (zh) | 一种基于sm3算法的密码模块的防攻击方法及装置 | |
CN118174845B (zh) | 模型训练方法及数据处理方法 | |
Zhang et al. | Side Channel Analysis Based on Convolutional Neural Network Filtering | |
Cheng | What can information guess?: Towards information leakage quantification in side-channel analysis | |
Yan et al. | Low‐complexity LS algorithm using coordinate transformation | |
Li et al. | CKGS: A Way Of Compressed Key Guessing Space to Reduce Ghost Peaks |
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 |