CN109257160B - 一种基于决策树的侧信道模板攻击方法 - Google Patents

一种基于决策树的侧信道模板攻击方法 Download PDF

Info

Publication number
CN109257160B
CN109257160B CN201811481945.4A CN201811481945A CN109257160B CN 109257160 B CN109257160 B CN 109257160B CN 201811481945 A CN201811481945 A CN 201811481945A CN 109257160 B CN109257160 B CN 109257160B
Authority
CN
China
Prior art keywords
value
key
hamming weight
energy consumption
energy
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
Application number
CN201811481945.4A
Other languages
English (en)
Other versions
CN109257160A (zh
Inventor
居太亮
倪志杰
于赛
武畅
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
University of Electronic Science and Technology of China
Original Assignee
University of Electronic Science and Technology of China
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by University of Electronic Science and Technology of China filed Critical University of Electronic Science and Technology of China
Priority to CN201811481945.4A priority Critical patent/CN109257160B/zh
Publication of CN109257160A publication Critical patent/CN109257160A/zh
Application granted granted Critical
Publication of CN109257160B publication Critical patent/CN109257160B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/002Countermeasures against attacks on cryptographic mechanisms
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/002Countermeasures against attacks on cryptographic mechanisms
    • H04L9/003Countermeasures against attacks on cryptographic mechanisms for power analysis, e.g. differential power analysis [DPA] or simple power analysis [SPA]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/06Cryptographic 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/0618Block ciphers, i.e. encrypting groups of characters of a plain text message using fixed encryption transformation
    • H04L9/0631Substitution permutation network [SPN], i.e. cipher composed of a number of stages or rounds each involving linear and nonlinear transformations, e.g. AES algorithms
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/08Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
    • H04L9/0861Generation of secret information including derivation or calculation of cryptographic keys or passwords
    • H04L9/0869Generation 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)
  • Complex Calculations (AREA)

Abstract

本发明公开了一种基于决策树的侧信道模板攻击方法,首先采集能量迹,建立能量消耗矩阵U,构建决策树模型,选择从根节点至叶节点出现的特征,然后根据选择的特征对能量消耗矩阵U进行抽取,建立能量消耗矩阵T,再根据对应明文与密钥,选择密码算法关键点的函数建立汉明重量列向量H,以能量消耗矩阵T为输入、汉明重量列向量H为输出,构建模板,从而很好地提取了特征,最后,采集随机明文、固定密钥的能量迹,引入映射的匹配策略,得到密钥,从而提高了模板匹配效果,进而提高了攻击成功率。

Description

一种基于决策树的侧信道模板攻击方法
技术领域
本发明属于密码算法分析检测技术领域,更为具体地讲,涉及一种基于决策树的侧信道模板攻击方法。
背景技术
侧信道模板攻击是一种非常强有力的侧信道攻击方式。侧信道模板攻击分为两个阶段:模板构建和模板匹配。其中,模板构建阶段最重要的是特征提取。目前常见的特征提取方法有相关系数法、SOSD(Sum Of Squared pairwise Difference)、主成分分析(PCA)。其中,相关系数法是基于汉明重量的大小与能量消耗呈相关性,但提取出的特征存在很大冗余性,很多点相关系数很大,但这些点自身的线性相关容易造成模板攻击中矩阵的数值问题;SOSD通过把不同汉明重量的点分类,计算差的平方和来提取差异大的点,缺点与相关系数法类似;PCA能够压缩能量迹,同时保留重要的点,但缺点是特征点与能量消耗的相关性会减弱。
发明内容
本发明的目的在于克服现有技术的不足,提出一种基于决策树的侧信道模板攻击方法,以很好地提取特征,同时,提高模板匹配效果,从而提高攻击成功率。
为实现上述发明目的,本发明基于决策树的侧信道模板攻击方法,其特征在于,包括以下步骤:
(1)、模板构建
1.1)、在微控制器上运行AES密码算法,每发送一个随机明文、随机密钥,便采集一条对应的能量迹,每条能量迹有T'个采样点;
发送N次,共采集N条能量迹,采样点的采样值按行放置,从而构建N×T'大小的能量消耗矩阵U1
1.2)、对每条能量迹,计算该能量迹对应的明文与密钥的汉明重量
Figure BDA0001893600310000011
汉明重量的取值范围为0~8,其中dn和kn分别为第n个随机明文、随机密钥的第一轮第一字节明文和密钥,从而构建N维汉明重量列向量H;
1.3)、从能量消耗矩阵U1选出特征点
1.3.1)、对于第t列N个采样值dn,t,n=1,2,...,N,根据其所在行,在N维汉明重量列向量H中对应行找到汉明重量作为其汉明重量,统计每一汉明重量w对应的采样值个数ct,w,w=0,1,2,...,8,然后得到每一汉明重量的取值概率:
Figure BDA0001893600310000021
1.3.2)、计算第t列N个采样值dn,t的信息熵ht
Figure BDA0001893600310000022
1.3.3)、在第t列N个采样值dn,t中找到最小值和最大值,然后在最小值到最大值等间隔确定K个采样值,并记为d'k,t,k=1,2,...,K;
对于等间隔确定的第k个采样值d'k,t,将N个采样值dn,t中小于等于采样值d'k,t划分为一个集合Dk,t_1,剩余的划分为一个Dk,t_2,然后计算第k个采样值d'k,t的信息增益gt,k
Figure BDA0001893600310000023
其中,c't,k_b,b=1,2为集合Dk,t_b的采样值个数,ht,k_i为集合Dk,t_b的信息熵(按照步骤1.3.1、1.3.2的计算方式进行);
1.3.4)、在K个信息增益gt,k,k=1,2,...,K中选出最大的信息增益,并作为第t列的信息增益gt,其对应的采样值所在行为第t列的特征点;
对于能量消耗矩阵U1的T'列最大的信息增益gt_max,t=1,2,...,T',再选取最大的列的特征点作为特征点s1,其对应采样值为特征值e1
1.4)、生成决策树:
1.4.1)、根据特征点s1所在列,该列采样值小于等于特征值e1的采样点所在行从能量消耗矩阵U1选出,并组成一个能量消耗矩阵U2,能量消耗矩阵U1中剩余的行组成能量消耗矩阵U3
按照步骤1.3)的方法,从能量消耗矩阵U2选出特征点s2、特征值e2,从能量消耗矩阵U3选出特征点s3、特征值e3,将特征点s1作为根节点,特征点s2、特征点s3分别作为特征点s1的叶节点,生成一层决策树;
1.4.2)、能量消耗矩阵U2、能量消耗矩阵U3按照1.4.1)的方法再次分别划分为能量消耗矩阵U4、U5以及能量消耗矩阵U6、U7,然后选出特征点s4和特征值e4、特征点s5和特征值e5以及特征点s6和特征值e6、特征点s7和特征值e7,将特征点s2作为根节点,特征点s4、特征点s5分别作为特征点s2的叶节点,将特征点s3作为根节点,特征点s6、特征点s7分别作为特征点s3的叶节点再生成一层决策树;
这样不断对能量消耗矩阵进行划分,选出特征点,生成决策树层,当达到设定的层数时,终止划分和生成,得到最终生成的决策树;
1.5)、对最终生成的决策树,从根节点到叶节点层次遍历方式,提取每次划分的特征点;
1.6)、根据提取的特征点所在列,对能量消耗矩阵U1的列进行抽取,得到矩阵T,矩阵T大小为N×P,其中,P为提取的特征点的个数;
1.7)、依据汉明重量列向量H,则把矩阵T中对应的行加入子矩阵Tw,w=0,1,2,...,8由此划分得到9个子矩阵;
1.8)、对每个子矩阵Tw,w=0,1,2,...,8,分别计算样本均值
Figure BDA0001893600310000031
和协方差矩阵/>
Figure BDA0001893600310000032
Figure BDA0001893600310000033
Figure BDA0001893600310000034
其中,nw表示子矩阵Tw的行数,
Figure BDA0001893600310000035
表示子矩阵Tw中第i行、第j列的采样值,/>
Figure BDA0001893600310000036
表示子矩阵Tw中第l行、第i列的采样值,/>
Figure BDA0001893600310000037
表示子矩阵Tw中第l行、第j列的采样值;
1.9)、根据样本均值向量Mw和协方差矩阵Cw,w=0,1,2,...,8,得到9种汉明重量的模板;
Figure BDA0001893600310000038
其中,p(M|w)表示待攻击能量迹特征点向量M属于汉明重量w的概率;
(2)、模板匹配
2.1)、对被攻击的运行AES密码算法的微控制器,如步骤1.1)采集随机明文、固定密钥的Q条能量迹;
2.2)、根据步骤1.5)提取的特征点所在列,对Q条能量迹根据提取的特征点所在列进行抽取,得到Q个待攻击能量迹特征点向量
Figure BDA0001893600310000041
Figure BDA0001893600310000042
2.3)、将待攻击能量迹特征点向量MSq作为M代入步骤1.9)得到的9种汉明重量的模板,得到属于汉明重量w的概率p(M|w),w=0,1,2,...,8,选取最大概率对应的汉明重量作为第q待攻击能量迹的汉明重量HW(q);
2.4)、汉明重量HW(q)进行映射,若汉明重量HW(q)>4,则映射为1,若HW(q)<4,则映射为-1,若HW(q)=4,则则映射为0;
2.5)、对于第1条待攻击能量迹,若其汉明重量HW(1)映射后的值不为0,则遍历密钥空间K',计算假设汉明重量
Figure BDA0001893600310000043
若假设汉明重量映射后的值为0或与汉明重量HW(1)映射后的值一致,则保留该密钥k',否则排除该密钥k',更新密钥空间K';若映射后的值为0,则不予处理,其中,d'1为第1待攻击能量迹对应第一轮第一字节明文;
2.6)、选择第2条待攻击能量迹,重复步骤2.5),再进行密钥筛选,然后选择第3条待攻击能量迹进行密钥筛选,这样不断选取待攻击能量迹对密钥进行筛选,直到密钥空间K'大小为1,则该密钥为所求密钥即步骤2.1)的固定密钥。
本发明的目的是这样实现的。
本发明基于决策树的侧信道模板攻击方法,首先采集能量迹,建立能量消耗矩阵U,构建决策树模型,选择从根节点至叶节点出现的特征,然后根据选择的特征对能量消耗矩阵U进行抽取,建立能量消耗矩阵T,再根据对应明文与密钥,选择密码算法关键点的函数建立汉明重量列向量H,以能量消耗矩阵T为输入、汉明重量列向量H为输出,构建模板,从而很好地提取了特征,最后,采集随机明文、固定密钥的能量迹,引入映射的匹配策略,得到密钥,从而提高了模板匹配效果,进而提高了攻击成功率。
本发明在模板构建中,采用基于决策树的特征提取方法,可以通过每次选取信息增益最大的采样点来提取特征。由于具有相似的采样点其每次集合划分效果类似,在决策树的生长过程中,特征点的冗余会大大减小,同时已选取的划分点具有最大的信息增益,因此能取得很好的特征提取效果。
附图说明
图1是本发明基于决策树的侧信道模板攻击方法一种具体实施方式的流程图;
图2是采集的一条能量迹的曲线图;
图3是能量消耗矩阵U1的信息增益曲线图;
图4是生成的决策树图。
具体实施方式
下面结合附图对本发明的具体实施方式进行描述,以便本领域的技术人员更好地理解本发明。需要特别提醒注意的是,在以下的描述中,当已知功能和设计的详细描述也许会淡化本发明的主要内容时,这些描述在这里将被忽略。
图1是本发明基于决策树的侧信道模板攻击方法一种具体实施方式的流程图。
在本实施例中,如图1所示,本发明基于决策树的侧信道模板攻击方法,其特征在于,包括以下步骤:
步骤S1:模板构建
步骤S1.1:采集用于构建匹配模板的能量迹
在一款AVR XMEGA微控制器上运行AES密码算法,每发送一个随机明文、随机密钥,便采集一条对应的能量迹,每条能量迹有T'个采样点;
发送N次,共采集N条能量迹,采样点的采样值按行放置,从而构建N×T'大小的能量消耗矩阵U1
本发明应用于攻击者与被攻击者拥有相同或类似的密码运行微处理器,并在上面运行AES密码算法。
首先发送N条随机明文与随机密钥,采集采样点数为T'的功耗曲线作为能量迹,N次采集,能量消耗矩阵U1,其中一条能量迹如图2所示,采样点数为T'=5000。
步骤S1.2:计算能量迹对应的明文与密钥的汉明重量
对每条能量迹,计算该能量迹对应的明文与密钥的汉明重量
Figure BDA0001893600310000061
汉明重量的取值范围为0~8,其中dn和kn分别为第n个随机明文、随机密钥的第一轮第一字节明文和密钥,从而构建N维汉明重量列向量H。
步骤S1.3:从能量消耗矩阵U1选出特征点
步骤S1.3.1:对于第t列N个采样值dn,t,n=1,2,...,N,根据其所在行,在N维汉明重量列向量H中对应行找到汉明重量作为其汉明重量,统计每一汉明重量w对应的采样值个数ct,w,w=0,1,2,...,8,然后得到每一汉明重量的取值概率:
Figure BDA0001893600310000062
步骤S1.3.2:计算第t列N个采样值dn,t的信息熵ht
Figure BDA0001893600310000063
步骤S1.3.3:在第t列N个采样值dn,t中找到最小值和最大值,然后在最小值到最大值等间隔确定K个采样值,并记为d'k,t,k=1,2,...,K;
对于等间隔确定的第k个采样值d'k,t,将N个采样值dn,t中小于等于采样值d'k,t划分为一个集合Dk,t_1,剩余的划分为一个Dk,t_2,然后计算第k个采样值d'k,t的信息增益gt,k
Figure BDA0001893600310000064
其中,c't,k_b,b=1,2为集合Dk,t_b的采样值个数,ht,k_i为集合Dk,t_b的信息熵(按照步骤1.3.1、1.3.2的计算方式进行);
步骤S1.3.4:在K个信息增益gt,k,k=1,2,...,K中选出最大的信息增益gt,k,并作为第t列的信息增益gt,其对应的采样值所在行为第t列的特征点;
对于能量消耗矩阵U1的T'列最大的信息增益gt_max,t=1,2,...,T',再选取最大的列的特征点作为特征点s1,其对应采样值为特征值e1
在本实施例中,能量消耗矩阵U1的T'列信息增益gt,t=1,2,...,T',构成的信息增益曲线如图3所示
步骤S1.4:生成决策树
步骤S1.4.1:根据特征点s1所在列,该列采样值小于等于特征值e1的采样点所在行从能量消耗矩阵U1选出,并组成一个能量消耗矩阵U2,能量消耗矩阵U1中剩余的行组成能量消耗矩阵U3
按照步骤S1.3的方法,从能量消耗矩阵U2选出特征点s2、特征值e2,从能量消耗矩阵U3选出特征点s3、特征值e3,将特征点s1作为根节点,特征点s2、特征点s3分别作为特征点s1的叶节点,生成一层决策树;
步骤S1.4.2:能量消耗矩阵U2、能量消耗矩阵U3按照步骤S1.4.1的方法再次分别划分为能量消耗矩阵U4、U5以及能量消耗矩阵U6、U7,然后选出特征点s4和特征值e4、特征点s5和特征值e5以及特征点s6和特征值e6、特征点s7和特征值e7,将特征点s2作为根节点,特征点s4、特征点s5分别作为特征点s2的叶节点,将特征点s3作为根节点,特征点s6、特征点s7分别作为特征点s3的叶节点再生成一层决策树;
这样不断对能量消耗矩阵进行划分,选出特征点,生成决策树层,当达到设定的层数时,终止划分和生成,得到最终生成的决策树,如图4所示。
步骤S1.5:提取特征点
对最终生成的决策树,从根节点到叶节点层次遍历方式,提取每次划分的特征点,即特征点s1、s2、s3...。
步骤S1.6:能量消耗矩阵U1的列进行抽取,得到矩阵T
根据提取的特征点所在列,对能量消耗矩阵U1的列进行抽取,得到矩阵T,矩阵T大小为N×P,其中,P为提取的特征点的个数。
步骤S1.7:依据汉明重量列向量H,把矩阵T划分为9个子矩阵
依据汉明重量列向量H,则把矩阵T中对应的行加入子矩阵Tw,w=0,1,2,...,8由此划分得到9个子矩阵。
步骤S1.8:对每个子矩阵分别计算样本均值和协方差矩阵
对每个子矩阵Tw,w=0,1,2,...,8,分别计算样本均值
Figure BDA0001893600310000071
和协方差矩阵/>
Figure BDA0001893600310000072
Figure BDA0001893600310000073
Figure BDA0001893600310000081
其中,nw表示子矩阵Tw的行数,
Figure BDA0001893600310000082
表示子矩阵Tw中第i行、第j列的采样值,/>
Figure BDA0001893600310000083
表示子矩阵Tw中第l行、第i列的采样值,/>
Figure BDA0001893600310000084
表示子矩阵Tw中第l行、第j列的采样值;
步骤S1.9:构建9种汉明重量的模板
根据样本均值向量Mw和协方差矩阵Cw,w=0,1,2,...,8,得到9种汉明重量的模板;
Figure BDA0001893600310000085
其中,p(M|w)表示待攻击能量迹特征点向量M属于汉明重量w的概率;
步骤S2:模板匹配
步骤S2.1:采集待攻击的能量迹
对被攻击的运行AES密码算法的微控制器,如步骤S1.1采集随机明文、固定密钥的Q条能量迹。
步骤S2.2:提取特征点,构建待攻击能量迹特征点向量
根据步骤S1.5提取的特征点所在列,对Q条能量迹根据提取的特征点所在列进行抽取,得到Q个待攻击能量迹特征点向量
Figure BDA0001893600310000086
步骤S2.3:代入9种汉明重量的模板,选取最大概率对应的汉明重量
将待攻击能量迹特征点向量MSq作为M代入步骤步骤S1.9得到的9种汉明重量的模板,得到属于汉明重量w的概率p(M|w),w=0,1,2,...,8,选取最大概率对应的汉明重量作为第q待攻击能量迹的汉明重量HW(q)。
步骤S2.4:汉明重量映射
汉明重量HW(q)进行映射,若汉明重量HW(q)>4,则映射为1,若HW(q)<4,则映射为-1,若HW(q)=4,则则映射为0。
在本实施例中,为验证模板构建的准确性,发送随机明文与密钥,并采集5000条功耗曲线,对每条曲线,提取相应的特征点,并匹配9种模板,计算后验概率,选取其中的最大值作为汉明重量。匹配得到的汉明重量与真实汉明重量的关系如表1所示。表1中的数值表示条件概率P,即匹配得到的汉明重量为真实汉明重量的概率,其中行为,列为真实汉明重量。
Figure BDA0001893600310000091
表1
分析表1的结果,由对角线的概率可知,各种汉明重量匹配的准确率在60%左右,模板匹配准确率不是很高。分析原因,可能由于在采集能量迹的时候,各条能量迹由于噪声的存在,无法准确区分开9种汉明重量。为了验证是否存在这样的可能,选取其中二维的特征以及随机的200条曲线,绘出特征点的汉明重量分布图,不同汉明重量的点确实交错在一起,很难在二维情况下分开。
然而,进一步对汉明重量进行0-1映射:HW(q)<4映射为-1,HW(q)>4映射为1,HW(q)=4映射为0,观察其在二维空间的分布,发现HW(q)=4的样本与HW(q)<4和HW(q)>4的样本重合度非常高,难以区分开来,计算映射后的条件概率如表2所示。
Figure BDA0001893600310000092
表2
观察表2对角线,结论与二维空间分别一致,由于HW(q)=4的存在,对攻击的准确率影响较大。然而由第一行和第三行可知,在匹配映射值为-1的条件下,真实映射值为-1与真映射实值为0的概率之和约为99.82%,在匹配映射值为1的条件下,真实映射值为1与真实映射值为0的概率之和约为99.09%。
因此,结合AES密码算法S盒的特性(平衡性、非线性性、差分均匀性和扩散性)。即固定明文时,遍历密钥空间,那么S盒的输出也将遍历输出空间,且满足上述特性。由此得出一个攻击(匹配)策略:
步骤S2.5:根据映射后的值筛选密钥,并更新密钥空间
对于第1条待攻击能量迹,若其汉明重量HW(1)映射后的值不为0,则遍历密钥空间K',计算假设汉明重量
Figure BDA0001893600310000101
若假设汉明重量映射后的值为0或与汉明重量HW(1)映射后的值一致,则保留该密钥k',否则排除该密钥k',更新密钥空间K';若映射后的值为0,则不予处理,其中,d'1为第1待攻击能量迹对应第一轮第一字节明文;
步骤S2.6:不断重复进行密钥筛选,得到固定密钥
选择第2条待攻击能量迹,重复步骤S2.5,再进行密钥筛选,然后选择第3条待攻击能量迹进行密钥筛选,这样不断选取待攻击能量迹对密钥进行筛选,直到密钥空间K'大小为1,则该密钥为所求密钥即步骤S2.2)的固定密钥。
下面验证上述算法的正确性。若固定密钥,遍历256种明文空间,则汉明重量等于4的中间值数量为
Figure BDA0001893600310000102
(约27.34%),汉明重量小于4的中间值数量为93(约36.33%),汉明重量大于4的中间值数量为93(约36.33%)。当选取匹配映射值为-1的明文(真实值为-1或0的概率为99.82%),遍历密钥空间,由S盒的特性,存在36.33%的密钥,使得假设汉明重量映射后的值为1(汉明重量小于4),从而可以排除这部分密钥。这样每选取一个满足条件的明文都可以使密钥空间减少36.33%。由公式(63.66%)13×256≈0.72可知,在平均水平下,最多13次明文选择就可以使密钥空间缩短到1个,而满足真实映射值为1的明文数目存在93个。最终密钥破解的成功率为(99.82%)13≈97.69%。当提升单次预测的准确率,或提高每次密钥空间减少量时,都可以使最终破解成功率显著提升。
下面以密钥0x3a651e2637abd2a6abf7358d09c42f5ec为例,攻击破解第一字节的密钥,其他字节类似,且整个过程中明文数目可共用,结果如下所示:
第一个明文匹配后密钥空间K':
00 02 03 04 06 07 08 0a 0b 0c 0d 0e 12 17 19 1a 1d 1e 1f 22 23 29 2a2c 2d 2f 30 33 34 35 37 39 3a 3b 3d 3f 44 45 49 4a 4b 4e 50 51 54 55 56 58 595a 5b 5c 5d 5f 61 62 63 66 69 6a 6b 6e 6f 70 71 73 75 67 77 78 79 7a 7b 7c 7d7e 81 83 85 87 8b 8c 8d 8e 8f 90 91 92 94 95 96 97 99 9a 9b 9c 9d a0 a2 a3 a4a5 a6 a7 a8 a9 ab ac ae b0 b1 b2 b3 b4 b5 b6 b7 ba bb bc bd be bf c1 c3 c5 c7c8 c9 ca cd ce cf d1 d2 d3 d5 d6 d9 db dd de e0 e3 e5 e6 e7 e8 e9 ea eb ef f4f5 f6 f9 fa fb fd fe。
第二个明文匹配后密钥空间K':
02 04 06 07 08 09 0a 0b 0c 0d 12 1a 1d 1e 23 2a 2d 30 34 37 39 3a 3b3d 3f 44 45 49 4b 50 54 56 58 59 5a 5b 5d 5f 61 63 66 6a 6b 6e 6f 71 75 76 787a 7b 7b 7c 7e 81 83 85 8b 8c 8d 8e 94 95 97 9b 9b 9c a2 a4 a5 a6 a7 a8 a9 abac ae b0 b1 b2 b3 b4 b5 bb be bf c1 c7 c8 ca cd ce d3 db dd de e0 e3 e7 e8 eaf4 f6 f9 fa fb fe。
第三个明文匹配后密钥空间K':
04 07 09 0a 0c 0d 1a 1d 1e 23 2a 30 34 37 39 3a 3b 3d 3f 49 58 5b 5f61 66 6e 6f 71 75 78 7a 7b 7c 7e 81 85 8b 8d 95 9b a2 a5 a6 a8 a9 ab b1 b3 b4b5 bb be bf c7 c8 ce de e0 e3 e7 ea f4 f6 fa fb fe。
第四个明文匹配后密钥空间K':
07 09 0d 1d 1e 39 3a 3b 3d 58 5b 5f 66 6f 71 75 78 7a 7c 7e 81 8b 959b a2 a6 b1 b3 b4 b5 be c7 e0 e3 ea f6 fa。
第五个明文匹配后密钥空间K':
07 09 0d 1d 1e 39 3a 3b 3d 5b 5f 66 6f 71 78 7c 81 9b b3 b4 b5 e3 eaf6 fa。
第六个明文匹配后密钥空间K':
07 09 0d 1e 39 3a 3d 71 78 7c 9b b3 b4 a3 ea f6 fa。
第七个明文匹配后密钥空间K':
07 0d 39 3a 71 78 9b b3 b4 f6。
第八个明文匹配后密钥空间K':
07 39 3a 71 78 9b f6。
第九个明文匹配后密钥空间K':
07 3a 71 9b f6。
第十个明文匹配后密钥空间K':
07 3a 9b f6。
第十一个明文匹配后密钥空间K':
3a 9b f6
第十二个明文匹配后密钥空间K':
3a
最终,在本实施例中,在VS2015环境下,使用12个明文成功破解出第一字节的密钥0x3a。
尽管上面对本发明说明性的具体实施方式进行了描述,以便于本技术领域的技术人员理解本发明,但应该清楚,本发明不限于具体实施方式的范围,对本技术领域的普通技术人员来讲,只要各种变化在所附的权利要求限定和确定的本发明的精神和范围内,这些变化是显而易见的,一切利用本发明构思的发明创造均在保护之列。

Claims (1)

1.一种基于决策树的侧信道模板攻击方法,用于密码算法分析检测,其特征在于,包括以下步骤:
(1)、模板构建
1.1)、在微控制器上运行AES密码算法,每发送一个随机明文及一个随机密钥,便采集一条对应的能量迹,每条能量迹有T'个采样点;
发送N次,共采集N条能量迹,采样点的采样值按行放置,从而构建N×T'大小的能量消耗矩阵U1
1.2)、对每条能量迹,计算该能量迹对应的明文与密钥的汉明重量
Figure FDA0004209564900000011
汉明重量的取值范围为0~8,其中dn和kn分别为第n个随机明文、随机密钥的第一轮第一字节明文和密钥,从而构建N维汉明重量列向量H;
1.3)、从能量消耗矩阵U1选出特征点
1.3.1)、对于第t列N个采样值dn,t,n=1,2,...,N,根据其所在行,在N维汉明重量列向量H中对应行找到汉明重量作为其汉明重量,统计每一汉明重量w对应的采样值个数ct,w,w=0,1,2,...,8,然后得到每一汉明重量的取值概率:
Figure FDA0004209564900000012
1.3.2)、计算第t列N个采样值dn,t的信息熵ht
Figure FDA0004209564900000013
1.3.3)、在第t列N个采样值dn,t中找到最小值和最大值,然后在最小值到最大值之间等间隔确定K个采样值,并记为d'k,t,k=1,2,...,K;
对于等间隔确定的第k个采样值d'k,t,将N个采样值dn,t中小于等于采样值d'k,t的采样值划分为一个集合Dk,t_1,剩余的划分为一个集合Dk,t_2,然后计算第k个采样值d'k,t的信息增益gt,k
Figure FDA0004209564900000014
其中,c't,k_b为集合Dk,t_b的采样值个数,b=1,2,ht,k_b为集合Dk,t_b的信息熵,按照步骤1.3.1、1.3.2的计算方式得到;
1.3.4)、在K个信息增益gt,k,k=1,2,...,K中选出最大的信息增益,并作为第t列的信息增益gt,其对应的采样值所在行为第t列的特征点;
对于能量消耗矩阵U1的T'列最大的信息增益gt_max,t=1,2,...,T',再选取最大的列的特征点作为特征点s1,其对应采样值为特征值e1
1.4)、生成决策树:
1.4.1)、找到特征点s1所在列,该列采样值小于等于特征值e1的采样点所在行从能量消耗矩阵U1选出,并组成一个能量消耗矩阵U2,能量消耗矩阵U1中剩余的行组成能量消耗矩阵U3
按照步骤1.3)的方法,从能量消耗矩阵U2选出特征点s2、特征值e2,从能量消耗矩阵U3选出特征点s3、特征值e3,将特征点s1作为根节点,特征点s2、特征点s3分别作为特征点s1的叶节点,生成一层决策树;
1.4.2)、能量消耗矩阵U2、能量消耗矩阵U3按照1.4.1)的方法再次分别划分为能量消耗矩阵U4、U5以及能量消耗矩阵U6、U7,然后选出特征点s4和特征值e4、特征点s5和特征值e5以及特征点s6和特征值e6、特征点s7和特征值e7,将特征点s2作为根节点,特征点s4、特征点s5分别作为特征点s2的叶节点,将特征点s3作为根节点,特征点s6、特征点s7分别作为特征点s3的叶节点再生成一层决策树;
这样不断对能量消耗矩阵进行划分,选出特征点,生成决策树层,当达到设定的层数时,终止划分和生成,得到最终生成的决策树;
1.5)、对最终生成的决策树,从根节点到叶节点层次遍历方式,提取每次划分的特征点;
1.6)、根据提取的特征点所在列,对能量消耗矩阵U1的列进行抽取,得到矩阵T,矩阵T大小为N×P,其中,P为提取的特征点的个数;
1.7)、依据汉明重量列向量H,则把矩阵T中对应的行加入子矩阵Tw,w=0,1,2,...,8,由此得到9个子矩阵;
1.8)、对每个子矩阵Tw,w=0,1,2,...,8,分别计算样本均值
Figure FDA0004209564900000021
和协方差矩阵/>
Figure FDA0004209564900000022
Figure FDA0004209564900000023
Figure FDA0004209564900000031
其中,nw表示子矩阵Tw的行数,
Figure FDA0004209564900000032
表示子矩阵Tw中第l行、第i列的采样值,/>
Figure FDA0004209564900000033
表示子矩阵Tw中第l行、第j列的采样值;
1.9)、根据样本均值向量Mw和协方差矩阵Cw,w=0,1,2,...,8,得到9种汉明重量的模板;
Figure FDA0004209564900000034
其中,p(M|w)表示待攻击能量迹特征点向量M属于汉明重量w的概率;
(2)、模板匹配
2.1)、对被攻击的运行AES密码算法的微控制器,采集随机明文、固定密钥的Q条能量迹;
2.2)、根据步骤1.5)提取的特征点所在列,对Q条能量迹根据提取的特征点所在列进行抽取,得到Q个待攻击能量迹特征点向量
Figure FDA0004209564900000035
q=0,1,2,...,Q;
2.3)、将待攻击能量迹特征点向量MSq作为M代入步骤1.9)得到的9种汉明重量的模板,得到属于汉明重量w的概率p(M|w),w=0,1,2,...,8,选取最大概率对应的汉明重量作为第q待攻击能量迹的汉明重量HW(q);
2.4)、汉明重量HW(q)进行映射,若汉明重量HW(q)>4,则映射为1,若HW(q)<4,则映射为-1,若HW(q)=4,则映射为0;
2.5)、对于第1条待攻击能量迹,若其汉明重量HW(1)映射后的值不为0,则遍历密钥空间K',计算假设汉明重量
Figure FDA0004209564900000036
若假设汉明重量映射后的值为0或与汉明重量HW(1)映射后的值一致,则保留该密钥k',否则排除该密钥k',更新密钥空间K';若映射后的值为0,则不予处理,其中,d'1为第1待攻击能量迹对应第一轮第一字节明文;
2.6)、选择第2条待攻击能量迹,重复步骤2.5),再进行密钥筛选,然后选择第3条待攻击能量迹进行密钥筛选,这样不断选取待攻击能量迹对密钥进行筛选,直到密钥空间K'大小为1,则该密钥为所求密钥即步骤2.1)的固定密钥。
CN201811481945.4A 2018-12-05 2018-12-05 一种基于决策树的侧信道模板攻击方法 Active CN109257160B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201811481945.4A CN109257160B (zh) 2018-12-05 2018-12-05 一种基于决策树的侧信道模板攻击方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201811481945.4A CN109257160B (zh) 2018-12-05 2018-12-05 一种基于决策树的侧信道模板攻击方法

Publications (2)

Publication Number Publication Date
CN109257160A CN109257160A (zh) 2019-01-22
CN109257160B true CN109257160B (zh) 2023-07-04

Family

ID=65042666

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201811481945.4A Active CN109257160B (zh) 2018-12-05 2018-12-05 一种基于决策树的侧信道模板攻击方法

Country Status (1)

Country Link
CN (1) CN109257160B (zh)

Families Citing this family (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110048827B (zh) * 2019-04-15 2021-05-14 电子科技大学 一种基于深度学习卷积神经网络的类模板攻击方法
CN112019320B (zh) * 2019-05-30 2022-04-19 中国科学技术大学 侧信道分析中的能量轨迹提取方法及系统
CN110458209B (zh) * 2019-07-24 2021-12-28 东莞理工学院 一种针对集成树分类器的逃避攻击方法及装置
CN110572251B (zh) * 2019-08-13 2020-09-22 武汉大学 一种模板攻击方法以及设备抗模板攻击的评估方法

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103310027A (zh) * 2013-07-09 2013-09-18 中国人民解放军信息工程大学 用于地图模板匹配的规则提取方法
CN104052590A (zh) * 2014-05-05 2014-09-17 清华大学 基于侧信道相关能量分析的频域分析方法
CN104868990A (zh) * 2015-04-15 2015-08-26 成都信息工程学院 一种针对sm4密码算法轮输出的模板攻击方法
CN108062477A (zh) * 2017-12-12 2018-05-22 北京电子科技学院 基于侧信道分析的硬件木马检测方法

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9959429B2 (en) * 2013-03-15 2018-05-01 Cryptography Research, Inc. Asymmetrically masked multiplication

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103310027A (zh) * 2013-07-09 2013-09-18 中国人民解放军信息工程大学 用于地图模板匹配的规则提取方法
CN104052590A (zh) * 2014-05-05 2014-09-17 清华大学 基于侧信道相关能量分析的频域分析方法
CN104868990A (zh) * 2015-04-15 2015-08-26 成都信息工程学院 一种针对sm4密码算法轮输出的模板攻击方法
CN108062477A (zh) * 2017-12-12 2018-05-22 北京电子科技学院 基于侧信道分析的硬件木马检测方法

Also Published As

Publication number Publication date
CN109257160A (zh) 2019-01-22

Similar Documents

Publication Publication Date Title
CN109257160B (zh) 一种基于决策树的侧信道模板攻击方法
CN109951444B (zh) 一种加密匿名网络流量识别方法
CN108614992B (zh) 一种高光谱遥感图像的分类方法、设备及存储设备
CN109753797B (zh) 针对流式图的密集子图检测方法及系统
CN111224994A (zh) 一种基于特征选择的僵尸网络检测方法
CN111160400A (zh) 一种基于修正边界攻击的对抗攻击方法
CN114157408A (zh) 基于混沌系统的数字图像加密方法、解密方法及系统
CN113709152B (zh) 一种具备高抗检测能力的对抗域名生成模型
CN106789338A (zh) 一种在动态大规模社交网络中发现关键人物的方法
CN109218008B (zh) 一种针对sm4密钥扩展算法的模板攻击方法
CN105005586A (zh) 一种基于度特征替换策略的流式图抽样方法
CN114362988A (zh) 网络流量的识别方法及装置
EP0996092B1 (en) Efficient hashing method
CN116471048A (zh) 一种实时高效的物联网DDoS攻击检测方法及系统
CN113438067B (zh) 一种压缩密钥猜测空间的侧信道攻击方法
CN112134679B (zh) 针对sm4的组合高阶侧信道攻击方法、装置、设备及介质
CN110730062B (zh) 一种基于模板攻击的混沌分组加密分析方法
Ghonaim et al. An improvement of chaos-based hash function in cryptanalysis approach: An experience with chaotic neural networks and semi-collision attack
Liu et al. Hybrid domain digital watermarking scheme based on improved differential evolution algorithm and singular value block embedding
Sreedharan et al. A lightweight encryption scheme using Chebyshev polynomial maps
Linyun et al. Parameters selection and optimization in profiled side channel analysis based on convolutional neural network
CN109347613A (zh) 用于旁路攻击的gpu加速方法
CN116232682A (zh) 面向持续连接的恶意木马细粒度行为早期精准识别方法
CN110311775B (zh) 基于dna算子和混沌系统的s盒构建方法
Chen et al. Research of frequency assignment based on genetic algorithm

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