一种基于深度学习的侧信道分析方法技术

技术编号:38139203 阅读:8 留言:0更新日期:2023-07-08 09:52
本发明专利技术公开了一种基于深度学习的侧信道分析方法,包括:S1:采集功耗轨迹构建数据集;S2:对采集的功耗轨迹进行正则化和互相关同步预处理;S3:对采集的功耗轨迹进行逆向相关性功耗分析,获得加密操作在功耗轨迹中的位置;S4:通过兴趣点确定兴趣区间,截取兴趣区间内的功耗轨迹;S5:构建神经网络模型并进行训练,获得所有子密钥的分析模型;S6:基于所述子密钥的分析模型,计算获得所有子密钥的候选子密钥概率,并恢复密钥。本发明专利技术通过对功耗轨迹进行预处理,提升了数据集质量,还通过逆向相关性功耗分析去除冗余数据,提升了模型训练效率和准确率,提高了侧信道分析的成功率。提高了侧信道分析的成功率。提高了侧信道分析的成功率。

【技术实现步骤摘要】
一种基于深度学习的侧信道分析方法


[0001]本专利技术涉及侧信道分析
,特别涉及一种基于深度学习的侧信道分析方法。

技术介绍

[0002]传统密码分析以黑盒的方式对密码算法进行分析,通过差分密码分析和代数密码分析等方法恢复密钥。但随着密钥长度的增加和密码算法复杂程度的提高,传统密码分析很难有效地分析密码算法。与传统密码分析不同,侧信道分析以灰盒的方式对密码算法进行分析,通过设备运行时泄露的功耗、电磁辐射等侧信道信息恢复设备中密钥等敏感数据。侧信道攻击并非破解密码算法,而是利用密码算法的物理实现中泄露的侧信道信息来分析密码算法,甚至能破解数学特性上安全的密码算法。
[0003]近年来,随着深度学习研究的深入,其也被应用于侧信道分析,以提升侧信道分析的效率,且已经被证明能够攻击多种针对侧信道分析的防御方法,包括掩码和隐藏等。例如,论文“Deep learning for side

channel analysis and introduction to ASCAD database”提出ASCAD数据集用于评估基于深度学习侧信道分析方法,并使用卷积神经网络进行侧信道分析,并分析了卷积神经网络中超参数的选择对模型的影响。论文“基于SincNet的侧信道攻击”提出了使用SincNet模型进行侧信道分析,可以使用更少的轨迹条数恢复密钥,并能有效缓解非同步轨迹的影响。论文“基于CBAPD网络的侧信道攻击”提出一种针对侧信道分析的更高效的卷积神经网络,成功恢复密钥使用的功耗轨迹数量少于SincNet。论文“Improving Deep Learning Networks for Profiled Side

channel Analysis Using Performance Improvement Techniques”通过批正则化、丢弃法和权重衰减三种技术提升卷积神经网络模型的训练效率,提升模型性能。
[0004]目前,将深度学习与传统侧信道分析方法相结合,虽然提升了侧信道分析的效率和成功率,但仍存在一些不足。一方面,并未对功耗轨迹进行信号处理相关的预处理,忽略了功耗轨迹本身的特性,不能保证数据质量;另一方面,功耗轨迹样本点较多,含有大量冗余数据,训练时耗费大量计算资源,造成训练效率较低,模型性能不高。

技术实现思路

[0005]为解决上述问题,本专利技术提供了一种基于深度学习的侧信道分析方法,具体技术方案如下:
[0006]S1:采集功耗轨迹构建数据集,包括建模数据集和分析数据集;
[0007]S2:对采集的功耗轨迹进行正则化和互相关同步预处理;
[0008]S3:对采集的功耗轨迹进行逆向相关性功耗分析,获得加密操作在功耗轨迹中的位置;
[0009]S4:通过兴趣点确定兴趣区间,截取兴趣区间内的功耗轨迹;
[0010]S5:基于残差网络模型,以建模数据集中的功耗轨迹作为模型输入,以子密钥对应
的第一轮S盒输出作为标签,训练模型,获得所有子密钥的分析模型;
[0011]S6:基于所述子密钥的分析模型,计算获得所有子密钥的候选子密钥概率,并恢复密钥。
[0012]进一步的,通过随机明文和随机密钥采集功耗轨迹,构建所述建模数据集。
[0013]进一步的,通过随机明文和固定密钥采集功耗轨迹,构建所述分析数据集。
[0014]进一步的,所述建模数据集以及所述分析数据集均包括功耗轨迹、明文、密文以及密钥。
[0015]进一步的,步骤S2中,所述互相关同步,过程如下:
[0016]设置标准轨迹和窗口,窗口内的轨迹记为参考轨迹;
[0017]从左向右滑动参考轨迹,计算参考轨迹与待同步轨迹当前对应位置的轨迹的互相关系数,得到互相关系数数组;
[0018]将待同步轨迹偏移量减去参考轨迹的标准偏移量,得到相关偏移量;
[0019]若相对偏移量diff大于0,将待同步轨迹向左移动diff个点,若相对偏移量diff小于0,将待同步轨迹向右移动

diff个点。
[0020]进一步的,参考轨迹的标准偏移量为窗口的起点,待同步轨迹偏移量为最高互相关系数值对应的索引。
[0021]进一步的,步骤S5中,以准确率作为模型训练的评价指标。
[0022]进一步的,准确率设定不低于40%。
[0023]进一步的,步骤S6中,第k个子密钥的候选子密钥概率,计算如下:
[0024][0025]其中,prob
k
为第k个子密钥所有候选子密钥的概率,候选子密钥范围为0到255,为长度为256的数组,N为使用的轨迹条数,w
k
为第k个子密钥对应模型的模型参数,代表第k个子密钥对应的分析模型,trace
n
为第n条功耗轨迹,为第k个子密钥对应分析模型的第n个模型输出。inter2key将模型输出通过逆S盒,并与明文进行异或将第一轮S盒输出概率转换为候选子密钥的概率。
[0026]进一步的,步骤S6中,所述恢复密钥,利用numpy的argmax函数对计算得到的候选子密钥概率进行排序,得到最高候选子密钥概率值对应的候选子密钥。
[0027]本专利技术的有益效果如下:
[0028]本专利技术通过正则化和互相关同步对功耗轨迹进行预处理,提升了数据集质量;还通过逆向相关性功耗分析确定加密窗口,去除冗余数据,大量降低功耗轨迹的样本点数量,提升了模型训练效率和准确率,提高了侧信道分析的成功率。
附图说明
[0029]图1是本专利技术的方法流程示意图;
[0030]图2是互相关系数计算过程示意图;
[0031]图3是第一轮输入逆向相关性功耗分析示意图;
[0032]图4是第二轮输入逆向相关性功耗分析示意图;
[0033]图5是残差网络训练与测试准确率示意图;
[0034]图6是计算单个子密钥的候选子密钥概率示意图。
具体实施方式
[0035]在下面的描述中对本专利技术实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅是本专利技术的一部分实施例,而不是全部的实施例。基于本专利技术中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本专利技术保护的范围。
[0036]在本专利技术实施例的描述中,需要说明的是,指示方位或位置关系为基于附图所示的方位或位置关系,或者是该专利技术产品使用时惯常摆放的方位或位置关系,或者是本领域技术人员惯常理解的方位或位置关系,或者是该专利技术产品使用时惯常摆放的方位或位置关系,仅是为了便于描述本专利技术和简化描述,而不是指示或暗示所指的装置或元件必须具有特定的方位、以特定的方位构造和操作,因此不能理解为对本专利技术的限制。此外,术语“第一”、“第二”仅用于区分描述,而不能理解为指示或暗示相对重要性。
[0037]在本专利技术实施例的描述中,还需要说明的是,除非另有明确的规定和限定,术语“设置”、“连本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种基于深度学习的侧信道分析方法,其特征在于,包括:S1:采集功耗轨迹构建数据集,包括建模数据集和分析数据集;S2:对采集的功耗轨迹进行正则化和互相关同步预处理;S3:对采集的功耗轨迹进行逆向相关性功耗分析,获得加密操作在功耗轨迹中的位置;S4:通过兴趣点确定兴趣区间,截取兴趣区间内的功耗轨迹;S5:基于残差网络模型,以建模数据集中的功耗轨迹作为模型输入,以第一轮S盒输出作为标签,训练模型,获得所有子密钥的分析模型;S6:基于所述子密钥的分析模型,计算获得所有子密钥的候选子密钥概率,并恢复密钥。2.根据权利要求1所述的基于深度学习的侧信道分析方法,其特征在于,通过随机明文和随机密钥采集功耗轨迹,构建所述建模数据集。3.根据权利要求1所述的基于深度学习的侧信道分析方法,其特征在于,通过随机明文和固定密钥采集功耗轨迹,构建所述分析数据集。4.根据权利要求2

3任一所述的基于深度学习的侧信道分析方法,其特征在于,所述建模数据集以及所述分析数据集均包括功耗轨迹、明文、密文以及密钥。5.根据权利要求1所述的基于深度学习的侧信道分析方法,其特征在于,步骤S2中,所述互相关同步,过程如下:设置标准轨迹和窗口,窗口内的轨迹记为参考轨迹;从左向右滑动参考轨迹,计算参考轨迹与待同步轨迹当前对应位置的轨迹的互相关系数,得到互相关系数数组;将待同步轨迹偏移量减去参考轨迹的标准偏移量,得到相关偏移量;若相对偏移量diff大于0,将待同步...

【专利技术属性】
技术研发人员:钟杰梁树彬郑力何琛胡沄松刘晖
申请(专利权)人:成都市明翔信息技术有限公司
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1