[发明专利]一种基于决策树的侧信道模板攻击方法有效
申请号: | 201811481945.4 | 申请日: | 2018-12-05 |
公开(公告)号: | CN109257160B | 公开(公告)日: | 2023-07-04 |
发明(设计)人: | 居太亮;倪志杰;于赛;武畅 | 申请(专利权)人: | 电子科技大学 |
主分类号: | H04L9/00 | 分类号: | H04L9/00;H04L9/06;H04L9/08 |
代理公司: | 成都行之专利代理事务所(普通合伙) 51220 | 代理人: | 温利平 |
地址: | 611731 四川省成*** | 国省代码: | 四川;51 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 基于 决策树 信道 模板 攻击 方法 | ||
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为集合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,分别计算样本均值和协方差矩阵
其中,nw表示子矩阵Tw的行数,表示子矩阵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密码算法的微控制器,采集随机明文、固定密钥的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)的固定密钥。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于电子科技大学,未经电子科技大学许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201811481945.4/1.html,转载请声明来源钻瓜专利网。
- 上一篇:新型高维超混沌系统的构造方法
- 下一篇:二进制数据加密设备及加密方法