[发明专利]一种基于决策树的侧信道模板攻击方法有效
申请号: | 201811481945.4 | 申请日: | 2018-12-05 |
公开(公告)号: | CN109257160B | 公开(公告)日: | 2023-07-04 |
发明(设计)人: | 居太亮;倪志杰;于赛;武畅 | 申请(专利权)人: | 电子科技大学 |
主分类号: | H04L9/00 | 分类号: | H04L9/00;H04L9/06;H04L9/08 |
代理公司: | 成都行之专利代理事务所(普通合伙) 51220 | 代理人: | 温利平 |
地址: | 611731 四川省成*** | 国省代码: | 四川;51 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | 本发明公开了一种基于决策树的侧信道模板攻击方法,首先采集能量迹,建立能量消耗矩阵U,构建决策树模型,选择从根节点至叶节点出现的特征,然后根据选择的特征对能量消耗矩阵U进行抽取,建立能量消耗矩阵T,再根据对应明文与密钥,选择密码算法关键点的函数建立汉明重量列向量H,以能量消耗矩阵T为输入、汉明重量列向量H为输出,构建模板,从而很好地提取了特征,最后,采集随机明文、固定密钥的能量迹,引入映射的匹配策略,得到密钥,从而提高了模板匹配效果,进而提高了攻击成功率。 | ||
搜索关键词: | 一种 基于 决策树 信道 模板 攻击 方法 | ||
【主权项】:
1.一种基于决策树的侧信道模板攻击方法,其特征在于,包括以下步骤:(1)、模板构建1.1)、在微控制器上运行AES密码算法,每发送一个随机明文、随机密钥,便采集一条对应的能量迹,每条能量迹有T'个采样点;发送N次,共采集N条能量迹,采样点的采样值按行放置,从而构建N×T'大小的能量消耗矩阵U1;1.2)、对每条能量迹,计算该能量迹对应的明文与密钥的汉明重量
汉明重量的取值范围为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,然后得到每一汉明重量的取值概率:
1.3.2)、计算第t列N个采样值dn,t的信息熵ht:
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:
其中,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,分别计算样本均值
和协方差矩阵![]()
![]()
其中,nw表示子矩阵Tw的行数,
表示子矩阵Tw中第i行、第j列的采样值,
表示子矩阵Tw中第l行、第i列的采样值,
表示子矩阵Tw中第l行、第j列的采样值;1.9)、根据样本均值向量Mw和协方差矩阵Cw,w=0,1,2,...,8,得到9种汉明重量的模板;
其中,p(M|w)表示待攻击能量迹特征点向量M属于汉明重量w的概率;(2)、模板匹配2.1)、对被攻击的运行AES密码算法的微控制器,如步骤1.1)采集随机明文、固定密钥的Q条能量迹;2.2)、根据步骤1.5)提取的特征点所在列,对Q条能量迹根据提取的特征点所在列进行抽取,得到Q个待攻击能量迹特征点向量
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',计算假设汉明重量
若假设汉明重量映射后的值为0或与汉明重量HW(1)映射后的值一致,则保留该密钥k',否则排除该密钥k',更新密钥空间K';若映射后的值为0,则不予处理,其中,d'1为第1待攻击能量迹对应第一轮第一字节明文;2.6)、选择第2条待攻击能量迹,重复步骤2.5),再进行密钥筛选,然后选择第3条待攻击能量迹进行密钥筛选,这样不断选取待攻击能量迹对密钥进行筛选,直到密钥空间K'大小为1,则该密钥为所求密钥即步骤2.1)的固定密钥。
下载完整专利技术内容需要扣除积分,VIP会员可以免费下载。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于电子科技大学,未经电子科技大学许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/patent/201811481945.4/,转载请声明来源钻瓜专利网。
- 上一篇:新型高维超混沌系统的构造方法
- 下一篇:二进制数据加密设备及加密方法