System.ArgumentOutOfRangeException: 索引和长度必须引用该字符串内的位置。 参数名: length 在 System.String.Substring(Int32 startIndex, Int32 length) 在 zhuanliShow.Bind()
【技术实现步骤摘要】
本申请涉及侧信道分析,尤其涉及一种基于深度学习的侧信道分析方法及装置。
技术介绍
1、侧信道分析是一种密码分析攻击形式,利用密码算法在物理实现时泄露的侧信道信息来分析密码算法和总结规律,以还原出隐私信息。传统的侧信道分析技术受到各种对抗侧信道攻击的安全策略的限制,其使用复杂的密码算法加强了侧信道信息的多样性,使得后期分析时难以总结出真实有效的规律,也就难以有效地还原出隐私信息,从而提高了攻击成本。
2、近年来,考虑到深度学习模型在拟合和泛化能力上的强大表现,其也被应用于侧信道分析,旨在提升侧信道分析的效率和成功率,且已经被证明能够攻击多种防御方法,包括掩码和隐藏等。
3、尽管已有的深度学习-侧信道分析方法相对于传统技术略有优势,但目前仍存在着分析准确率不高的问题。现有的方法大部分直接使用全局信息进行模型训练和构建多分类网络,在模型的训练成本与分析准确率等方面仍有改进空间。
技术实现思路
1、基于上述的应用需求与技术背景,为了解决现有技术中模型训练成本高和分析准确率低的技术问题,本申请采用如下技术方案:
2、本申请第一方面提出基于深度学习的侧信道分析方法,所述方法包括如下步骤:
3、通过目标密码设备运行目标密码算法,通过采集组件和示波器采集目标密码设备运行时泄露的功耗信息并发送给上位机,通过所述上位机根据所述功耗信息和第一目标密钥信息得到第一目标数据集;
4、通过所述上位机对所述第一目标数据集进行预处理,得到第二目标数据集,
5、通过所述上位机搭建第一深度学习模型,将所述第二目标数据集输入到所述第一深度学习模型中进行训练得到第二深度学习模型,评价所述第二深度学习模型,评价结果达到预设目标后得到第三深度学习模型;
6、通过所述上位机将所述第二目标数据集输入到所述第三深度学习模型中进行测试,获取第二目标密钥信息。
7、进一步地,所述将全局信息切分为局部信息的步骤包括:
8、对第一目标数据集进行两次切片划分,第一次切片划分将第一目标数据集中多倍点计算部分的功耗信息划分成64份次级功耗轨迹;第二次切片划分将所述64份次级功耗轨迹切分出等长的255份子功耗轨迹。
9、进一步地,在所述将全局信息切分为局部信息后,所述预处理还包括对所述第一目标数据集进行标记,所述标记的步骤包括:
10、将所述切片划分后的第一目标数据集导出成浮点数格式的一维数据,并根据标量k的二进制数为每一条所述子功耗轨迹标记一个为0或为1的标签值。
11、进一步地,所述第二目标数据集包括目标训练集、目标验证集与目标测试集,所述目标训练集用于输入到所述第一深度学习模型进行训练;所述目标验证集用于判断所述第二深度学习模型是否达到所述预设目标;所述目标测试集用于输入到所述第三深度学习模型中进行测试,获取第二目标密钥信息。
12、进一步地,所述第一深度学习网络模型是卷积神经网络模型,所述卷积神经网络模型包括沿功耗信息传输先后顺序依次电相连的输入层、卷积层、池化层、全连接层、分类层。
13、进一步地,所述评价所述第二深度学习模型,评价结果达到预设目标后得到第三深度学习模型的步骤包括:
14、对所述第二深度学习模型进行模型评价得到评价结果,若所述评价结果满足评价条件,则所述第二深度学习模型为第三深度学习模型;若评价结果不满足评价条件,则重新将所述第二目标数据集输入到所述第二深度学习模型中进行训练。
15、本申请第二方面提出基于深度学习的侧信道分析装置,所述装置包括
16、目标密码设备,用于运行目标加密算法,产生加密触发信号并将所述触发信号发送给示波器,所述目标加密算法运行结束后,所述目标密码设备将加密完成的目标密钥信息发送给上位机;
17、采集组件,用于采集目标密码设备运行时泄露的功耗信息;
18、示波器,用于接收所述目标密码设备发送的所述触发信号,开始同步通过所述采集组件采集所述功耗信息,并将采集到的所述功耗信息发送给上位机;
19、上位机,用于接收所述第一目标密钥信息,以及接收、处理和分析所述功耗信息得到第二密钥信息。
20、进一步地,所述上位机包括数据集构建模块、数据集预处理模块、模型搭建模块、模型训练模块、模型评价模块和密钥恢复模块;
21、所述数据集构建模块用于根据接收的功耗信息和第一目标密钥信息构建第一目标数据集;
22、所述数据集预处理模块用于对所述第一目标数据集进行预处理,得到第二目标数据集;
23、所述模型搭建模块用于搭建第一深度学习模型;
24、所述模型训练模块用于通过将所述第二目标数据集输入到所述第一深度学习模型中进行训练,得到第二深度学习模型;
25、所述模型评价模块用于对所述第二深度学习模型进行模型评价,当评价结果达到预设目标后得到第三深度学习模型;
26、所述密钥恢复模块用于将所述第二目标数据集输入到所述第三深度学习模型中进行测试,获取第二目标密钥信息;
27、所述采集组件包括采集平台、采集平台控制器、采集探头和采集探头移动架;
28、所述采集平台包括底层隔离板,用于固定设备和隔离干扰因素;
29、所述采集平台控制器用于连接上位机与采集探头移动架,实现上位机对采集探头移动架的控制;
30、所述采集探头用于采集目标密码设备运行目标密码算法过程中泄露出来的功耗信息;
31、所述采集探头移动架用于固定和移动装配在其上的所述采集探头。
32、本申请第三方面提出电子设备,所述设备包括处理器和存储器,所述存储器上存储有计算机程序,所述处理器被设置为在执行所述计算机程序时实现上述基于深度学习的侧信道分析方法。
33、本申请第四方面提出计算机可读的存储介质,所述介质包括存储的计算机程序,所述计算机程序运行时控制所述计算机可读存储介质所在的设备执行上述基于深度学习的侧信道分析方法。
34、与现有技术相比,本申请的有益效果为:
35、本申请所提供的基于深度学习的侧信道分析方法,通过使用深度学习模型代替人工从目标密码设备运行时泄露的功耗信息中总结有效规律,更有效率地还原出隐私信息;通过使用局部信息代替全局信息训练深度学习模型,简化模型结构,提高分析准确率,也降低了模型的训练成本。本申请还同时公开了基于深度学习的侧信道分析装置、电子设备和存储介质,也具有上述有益效果。
本文档来自技高网...【技术保护点】
1.一种基于深度学习的侧信道分析方法,其特征在于,所述方法包括:
2.根据权利要求1所述的方法,其特征在于,所述将全局信息切分为局部信息的步骤包括:
3.根据权利要求2所述的方法,其特征在于,在所述将全局信息切分为局部信息后,所述预处理还包括对所述第一目标数据集进行标记,所述标记的步骤包括:
4.根据权利要求1所述的方法,其特征在于,所述第二目标数据集包括目标训练集、目标验证集与目标测试集,所述目标训练集用于输入到所述第一深度学习模型进行训练;所述目标验证集用于判断所述第二深度学习模型是否达到所述预设目标;所述目标测试集用于输入到所述第三深度学习模型中进行测试,获取第二目标密钥信息。
5.根据权利要求1所述的方法,其特征在于,所述第一深度学习网络模型是卷积神经网络模型,所述卷积神经网络模型包括沿功耗信息传输先后顺序依次电相连的输入层、卷积层、池化层、全连接层、分类层。
6.根据权利要求1所述的方法,其特征在于,所述评价所述第二深度学习模型,评价结果达到预设目标后得到第三深度学习模型的步骤包括:
7.一种基于深
8.根据权利要求7所述的装置,其特征在于,所述上位机包括数据集构建模块、数据集预处理模块、模型搭建模块、模型训练模块、模型评价模块和密钥恢复模块;
9.一种电子设备,其特征在于,所述设备包括处理器和存储器,所述存储器上存储有计算机程序,所述处理器被设置为在执行所述计算机程序时实现上述权利要求1至6中任一项所述的方法。
10.一种计算机可读的存储介质,其特征在于,所述介质包括存储的计算机程序,所述计算机程序运行时控制所述计算机可读存储介质所在的设备执行上述权利要求1至6中任一项所述的方法。
...【技术特征摘要】
1.一种基于深度学习的侧信道分析方法,其特征在于,所述方法包括:
2.根据权利要求1所述的方法,其特征在于,所述将全局信息切分为局部信息的步骤包括:
3.根据权利要求2所述的方法,其特征在于,在所述将全局信息切分为局部信息后,所述预处理还包括对所述第一目标数据集进行标记,所述标记的步骤包括:
4.根据权利要求1所述的方法,其特征在于,所述第二目标数据集包括目标训练集、目标验证集与目标测试集,所述目标训练集用于输入到所述第一深度学习模型进行训练;所述目标验证集用于判断所述第二深度学习模型是否达到所述预设目标;所述目标测试集用于输入到所述第三深度学习模型中进行测试,获取第二目标密钥信息。
5.根据权利要求1所述的方法,其特征在于,所述第一深度学习网络模型是卷积神经网络模型,所述卷积神经网络模型包括沿功耗信息传输先后顺序依次电相连的输入...
【专利技术属性】
技术研发人员:李蒙,张宗楠,安晓欣,李振,王培正,李菊,李金喜,
申请(专利权)人:深圳技术大学,
类型:发明
国别省市:
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。