当前位置: 首页 > 专利查询>天津大学专利>正文

基于卷积神经网络和选择消息方法的功耗攻击方法技术

技术编号:26531243 阅读:25 留言:0更新日期:2020-12-01 14:11
一种基于卷积神经网络和选择消息方法的功耗攻击方法,包括:构建基于公钥加密算法的数据集,包括训练集和测试集;构建基于卷积神经网络方法的功耗分析模型;对基于卷积神经网络方法的功耗分析模型进行训练;用训练好的基于卷积神经网络方法的功耗分析模型进行测试。本发明专利技术实现了基于盲化Boscher模幂算法的RSA加密方案,在实现简单的基础上,攻击效率远远高于现有其他方案。本发明专利技术的方法,不仅只适用于基于盲化Boscher模幂算法的RSA加密系统,也试用于目前大部分基于模乘模平方循环迭代类的RSA加密系统。

【技术实现步骤摘要】
基于卷积神经网络和选择消息方法的功耗攻击方法
本专利技术涉及一种功耗攻击方法。特别是涉及一种基于卷积神经网络和选择消息方法的功耗攻击方法.
技术介绍
随着经济全球化和信息化的发展,信息传输被应用到金融、商业、军事等各个领域,敏感信息的泄露不仅会让个人和企业的财产蒙受巨大的损失,严重时甚至会威胁到国家安全,这就对信息安全保密建设提出了挑战。目前的侧信道攻击主要分为两大类,一类是垂直侧信道攻击,另一类是水平侧信道攻击。垂直侧信道攻击主要是利用统计工具,测量大量功耗曲线样本,提取数据特征。为了增加公钥密码的安全性,研究者提出了多种盲化措施,包括:蒙哥马利阶梯算法、平方-乘法算法以及原子性平方-乘法算法。同时,增加了随机数,通过对密钥或输入数据的盲化,使得每次加密操作中的操作数都产生不同的变化。这使得我们无法采用大量的功耗曲线样本来分析数据特征。2016年开始到现在,机器学习在侧信道攻击方面的应用逐渐增多,就比如G.Perin,L等人提出的针对受保护的RSA实现的方法,该方法结合了无监督学习,水平攻击,最大似然估计和模板攻击以恢复指数位。另外有Martinasek及其合作者已将基于MLP的方法与其他经典方法如模板攻击等进行比较,在PIC8位微控制器上成功实现了不受保护的AES-128算法,文章表明来自机器学习可以应用于非常大的数据,例如模板,当数据多于100时很难施加攻击,并且对于信号变形(如抖动),像卷积神经网络CNN,多层感知机MLP这些深度学习方法都有很强的鲁棒性。嵌入式安全社区中深度学习方法更普遍地讲,是一个通用框架,用于研究和比较机器学习方法与如今缺少加密算法的嵌入式实现。在2018年,Benadjila等人发表了一篇文章,用了类似于VGG16的方法,构建了数据集ASCAD,成功对AES进行了攻击。但对于深度学习在RSA上的应用及算法参数化仍是一个空缺。目前,在密码安全领域应用最广泛的加密系统是RSA加密系统,RSA算法的基本运算是模幂运算,原始的从左到右或是从右到左模幂算法都可以被简单功耗攻击SPA轻松攻破。所以之后有很多的抗侧信道攻击的模幂算法被提出,例如Boscher等人提出了一种抗侧信道攻击的模幂算法,该算法比此前的盲化蒙哥马利阶梯算法在运算速度上更优。Yen等人最早提出的选择消息SPA攻击,通过选择特定的输入消息,功耗曲线的一些特征可以更容易的获得和分辨。他们将n-1作为模幂算法的输入(当模幂系统模数为n时)。理论上,这个方法可以攻击从左到右平方乘算法和BRIP算法。但是,在经过了一系列盲化,加上实际的硬件环境下的噪声、随机延时、随机时钟毛刺等干扰,功耗曲线的特征很难直接通过SPA观察得到。至今,许多机器学习方法在RSA上的应用纷纷出现,但是都需要经过各种繁杂的预处理以及去噪。
技术实现思路
本专利技术所要解决的技术问题是,提供一种能够在减少攻击复杂性同时不降低攻击准确率的基于卷积神经网络和选择消息方法的功耗攻击方法。本专利技术所采用的技术方案是:一种基于卷积神经网络和选择消息方法的功耗攻击方法,包括如下步骤:1)构建基于公钥加密算法的数据集,包括训练集和测试集;2)构建基于卷积神经网络方法的功耗分析模型;3)对基于卷积神经网络方法的功耗分析模型进行训练;4)用训练好的基于卷积神经网络方法的功耗分析模型进行测试。2.根据权利要求1所述的基于卷积神经网络和选择消息方法的功耗攻击方法,其特征在于,步骤1)包括选择消息数字1作为加密输入消息,输入现场可编程阵列FPGA中的加密程序盲化Boscher模幂算法中;在现场可编程阵列FPGA上执行加密程序盲化Boscher模幂算法,在执行中采集电压功耗数据,即获取示波器采集到的电压功耗波形数据,是行列分别为相应电压值和bit的二维数组,并将其中80%的数据作为训练集,20%的数据作为测试集,每个训练集都用整体数据中位数的方法计算对应的标签。步骤2)所述的基于卷积神经网络方法的功耗分析模型,包括有依次连接的:输入层、第一卷积层、第一激活层、第一平均池化层、第二卷积层、第二激活层、第二平均池化层、第三卷积层、第三激活层、第三平均池化层、第四卷积层、第四激活层、第四平均池化层、第一全连接层、第五激活层、第二全连接层、第六激活层、softmax分类层(18)和输出层。所述的输入层用于对原始图像数据进行预处理,包括去均值和归一化;所述的第一卷积层、第二卷积层、第三卷积层和第四卷积层结构相同,计算的填充均为1,每个神经元连接数据窗的权重是固定的,每个神经元只关注一个特性,所述的神经元是图像处理中的滤波器;所述的第一激活层、第二激活层、第三激活层、第四激活层、第五激活层和第六激活层结构相同,均采用ReLU作为激活函数,用于将卷积层输出结果做非线性映射;所述的第一平均池化层、第二平均池化层、第三平均池化层和第四平均池化层结构相同,大小均为2×2,步长均为2,用于压缩数据和参数的量,减小过拟合;所述的第一全连接层和第二全连接层结构相同,均有4096个神经元,用于将得到的高度抽象化的特征数据进行整合,进行归一化处理;所述的softmax分类层具有35个神经元,代表了35个类别,即35个比特位,用于根据全连接得到的概率进行分类。步骤3)包括:调用python库中的乱序函数打乱训练集数据,再从打乱的训练集数据中每次选择100组数据,输入基于卷积神经网络方法的功耗分析模型中,对该模型训练20次;在每次的训练过程中,用RMSProp优化器作为该模型的优化算法,同时使用回调函数对该模型进行参数优化;具体是:将每次训练得出的密钥结果和训练集的标签进行一一比对;使用回调函数计算与训练集的标签比对后的密钥结果的损失率和准确率并保存;如果连续两次训练准确率没有改善,则终止训练,否则继续训练,直至完成20次训练,在每次训练后保存该模型;在回调函数中为模型添加检查点,在每次训练后保存当前次训练的权重,若损失率改善,则用当前模型参数覆盖上一次模型参数,最终得到最优的基于卷积神经网络方法的功耗分析模型。步骤4)是将测试集数据输入训练好的基于卷积神经网络方法的功耗分析模型进行测试,得到测试集对应的密钥结果。本专利技术的基于卷积神经网络和选择消息方法的功耗攻击方法,采用基于深度学习的方法进行功耗分析,像CNN、MLP等都能够通过采集到的数据进行训练学习,进而更好的测试分类,是目前最先进的进行功耗分析的方法。本专利技术的方法能够在减少攻击复杂性同时不降低攻击准确率。本专利技术的基于卷积神经网络和选择消息方法的功耗攻击方法,使用FPGA平台做硬件设计,实现了基于盲化Boscher模幂算法的RSA加密方案。提出的功耗分析方案用了12833条独立运行的RSA加密系统所取得的功耗波形数据在2.5MHz下,用卷积神经网络完成对基于盲化Boscher模幂算法的RSA加密系统的攻击,获得准确的密钥信息。在实现简单的基础上,攻击效率远远高于现有其他方案。此外,本专利技术的方法,不仅只适用于基于盲化Boscher模幂算法的RSA加密系统本文档来自技高网
...

【技术保护点】
1.一种基于卷积神经网络和选择消息方法的功耗攻击方法,其特征在于,包括如下步骤:/n1)构建基于公钥加密算法的数据集,包括训练集和测试集;/n2)构建基于卷积神经网络方法的功耗分析模型;/n3)对基于卷积神经网络方法的功耗分析模型进行训练;/n4)用训练好的基于卷积神经网络方法的功耗分析模型进行测试。/n

【技术特征摘要】
1.一种基于卷积神经网络和选择消息方法的功耗攻击方法,其特征在于,包括如下步骤:
1)构建基于公钥加密算法的数据集,包括训练集和测试集;
2)构建基于卷积神经网络方法的功耗分析模型;
3)对基于卷积神经网络方法的功耗分析模型进行训练;
4)用训练好的基于卷积神经网络方法的功耗分析模型进行测试。


2.根据权利要求1所述的基于卷积神经网络和选择消息方法的功耗攻击方法,其特征在于,步骤1)包括选择消息数字1作为加密输入消息,输入现场可编程阵列FPGA中的加密程序盲化Boscher模幂算法中;在现场可编程阵列FPGA上执行加密程序盲化Boscher模幂算法,在执行中采集电压功耗数据,即获取示波器采集到的电压功耗波形数据,是行列分别为相应电压值和bit的二维数组,并将其中80%的数据作为训练集,20%的数据作为测试集,每个训练集都用整体数据中位数的方法计算对应的标签。


3.根据权利要求1所述的基于卷积神经网络和选择消息方法的功耗攻击方法,其特征在于,步骤2)所述的基于卷积神经网络方法的功耗分析模型,包括有依次连接的:输入层(1)、第一卷积层(2)、第一激活层(3)、第一平均池化层(4)、第二卷积层(5)、第二激活层(6)、第二平均池化层(7)、第三卷积层(8)、第三激活层(9)、第三平均池化层(10)、第四卷积层(11)、第四激活层(12)、第四平均池化层(13)、第一全连接层(14)、第五激活层(15)、第二全连接层(16)、第六激活层(17)、softmax分类层(18)和输出层(19)。


4.根据权利要求3所述的基于卷积神经网络和选择消息方法的功耗攻击方法,其特征在于,所述的输入层(1)用于对原始图像数据进行预处理,包括去均值和归一化;所述的第一卷积层(2)、第二卷积层(5)、第三卷积层(8)和第四卷积层(11)结构相同,计算的填充均为1,每个神经元连接数据窗的权重是...

【专利技术属性】
技术研发人员:郭炜陆瑾魏继增
申请(专利权)人:天津大学
类型:发明
国别省市:天津;12

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

1