[发明专利]一种针对密码算法的人工智能侧信道分析方法有效
申请号: | 202110273571.2 | 申请日: | 2021-03-15 |
公开(公告)号: | CN112968761B | 公开(公告)日: | 2022-04-19 |
发明(设计)人: | 王安;刘安女;丁瑶玲;刘铮;张玉伟;祝烈煌 | 申请(专利权)人: | 北京理工大学 |
主分类号: | H04L9/00 | 分类号: | H04L9/00;H04L9/08 |
代理公司: | 北京正阳理工知识产权代理事务所(普通合伙) 11639 | 代理人: | 张利萍 |
地址: | 100081 *** | 国省代码: | 北京;11 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 针对 密码 算法 人工智能 信道 分析 方法 | ||
1.一种针对密码算法的人工智能侧信道分析方法,其特征在于,包括以下步骤:
步骤1:对采集的密码算法运行过程中的能量迹进行能量分析,判断出能量迹中该密码算法实现的位置;
步骤2:分析加密位置的能量迹及其特征,将加密位置的能量迹划分为规律性的能量迹片段;
其中,能量迹由1个以上的能量迹片段组成,能量迹片段由明显的负尖峰划分,通过寻找加密过程能量迹中所有负尖峰的位置,获得每个能量迹片段的数据,实现能量迹划分;
步骤3:结合密码算法实现特征,对能量迹片段的特征及其对应的操作进行分析,如果能量迹片段特征不清楚,则对能量迹进行数字信号处理,然后重新进行分析识别;
包括以下步骤:
步骤3.1:分析密码算法实现过程,寻找关键操作执行规律;
在SM2密码算法中,关键一步是进行标量乘计算R=kP,其中P、R为椭圆曲线上的点,操作参数k为整数;侧信道分析针对该过程并求出操作参数k;
标量乘包括两种不同的操作,一种是点加操作,一种是倍点操作;对于操作参数k,若某个二进制位为0,则只进行一次倍点操作,若该位的值为1,则进行一次倍点操作和一次点加操作;无论计算到哪个比特位,倍点操作均要进行,但是,点加操作并非每次都进行,且点加操作只能跟在倍点操作之后;
步骤3.2:观察能量迹片段特征是否清楚明显,若不明显,则对能量迹使用数字信号处理,从而明确特征;
步骤3.3:分析能量迹片段及其特征,找到不同特征能量迹片段对应的操作;
步骤4:使用DBSCAN聚类算法,将相同操作对应的能量迹片段归为一类,之后,分析能量迹片段的类别和顺序,得到能量迹片段对应操作的顺序,从而得到完整的操作参数;
其中,在对能量迹片段归类时,使用主成分分析方式进行降维处理,使每个能量迹片段降至二维,此时,使用DBSCAN聚类算法将降维后的能量迹片段分为两类,一类是具有相对多数能量迹片段的类,对应所有倍点操作,即该类内的能量迹片段对应倍点操作,而另一类相对少数的能量迹片段对应点加操作;
其中,由能量迹片段对应操作的顺序得到完整的操作参数的方法为:由能量迹片段对应操作的顺序推出操作参数的值,即,由标量乘实现中k的比特位0对应一次倍点操作,比特位1对应一次倍点操作和一次点加操作可知,已知操作顺序的情况下能够推出所用操作参数k。
2.如权利要求1所述的一种针对密码算法的人工智能侧信道分析方法,其特征在于,在判断密码算法实现的位置时,采用简单能量攻击方法实现,包括以下步骤:
步骤1.1:采集加密过程完整能量迹,准备智能卡并搭建软件和硬件平台,通过软件和硬件平台采集智能卡加密过程的完整能量迹;
步骤1.2:利用加密过程中操作的数量特征,找到能量迹中密码算法实现的位置。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于北京理工大学,未经北京理工大学许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/202110273571.2/1.html,转载请声明来源钻瓜专利网。