温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,汇文网负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。
网站客服:3074922707
融合
CNN
LSTM
信道
攻击
彭佩
Computer Engineering and Applications计算机工程与应用2023,59(6)随着信息时代的到来,由加密设备组成的智能卡、银行卡、电子锁、无线网络、各式监控、共享充电宝、智能手机1都是随处可见的,在这样的大环境下人们的生活更加便捷舒适,但与此同时密码算法却遭到了威胁,产生最大威胁的攻击手段是侧信道攻击,它由Kocher等人提出2。侧信道攻击与数学分析类的攻击手段不同,它利用仪器捕获到与密钥有关的物理信息,如加密过程中释放的声音、电磁辐射、功耗损失、时间特征等关键信融合CNN_LSTM的侧信道攻击彭佩1,2,张美玲1,2,郑东1,21.西安邮电大学 网络空间安全学院,西安 7101212.西安邮电大学 陕西省无线网络安全技术国家工程实验室,西安 710121摘要:基于深度学习在侧信道攻击中的应用,在Chipwhisperer平台中实现AES算法,在其加密过程中测量相应能量迹,再利用CPA技术分析得出兴趣点位置,并针对兴趣点做出模型训练。在卷积神经网络(CNN),长短时记忆网络(LSTM)和CNN_LSTM混合模型三种网络模型上,结合数据预处理技术训练同步和异步能量迹。实验结果表明三种模型同步状态下的准确率相当,另外在保证模型训练参数不变的情况下逐渐增大异步数据时,三个模型训练集和测试集的准确率都在减少,但新提出的混合模型下降速度变化是最慢的,在实验异步数加大到50时,仍可以保证准确率在90%之上,即几乎一条能量迹就可恢复出正确密钥。所以,CNN_LSTM模型可以更好地适应能量迹发生异步的情况。关键词:高级加密标准(AES);侧信道攻击;卷积神经网络;长短时网络;深度学习文献标志码:A中图分类号:TN918.4doi:10.3778/j.issn.1002-8331.2111-0511Side Channel Attack Fused with CNN_LSTMPENG Pei1,2,ZHANG Meiling1,2,ZHENG Dong1,21.School of Communications&Information Engineering,Xi an University of Posts and Telecommunications,Xi an710121,China2.Shaanxi Province Wireless Network Security Technology National Engineering Laboratory,Xi an University of Postsand Telecommunications,Xi an 710121,ChinaAbstract:Based on the application of deep learning in side-channel attacks,the AES algorithm is first implemented inthe Chipwhisperer platform,the corresponding energy trace is measured during its encryption process,and then the CPAtechnology is used to analyze the location of the point of interest,and model training is made for the point of interest.Onthe three network models convolutional neural network(CNN),long-short-term memory network(LSTM)and CNN_LSTMhybrid model,combined with data preprocessing technology to train synchronous and asynchronous energy traces.Theexperimental results show that the accuracy of the three models in the synchronous state is equivalent.In addition,whenthe asynchronous data is gradually increased while ensuring the model training parameters remain unchanged,the accuracyof the training set and test set of the three models is decreasing,but the declining speed of the new hybrid model is theslowest.When the experimental asynchronous number is increased to 50,the accuracy can still be guaranteed to be above90%,that is,the correct key can be recovered with almost one energy trace.Therefore,the CNN_LSTM model can betteradapt to the situation where the energy trace occurs asynchronously.Key words:advanced encryption standard(AES);side channel attack;convolutional neural network;long short-termmemory network;deep learning基金项目:国家自然科学基金(62072371,61802303);陕西省重点研发计划(2021ZDLGY06-04);青海省重点项目(2020-ZJ-701)。作者简介:彭佩(1994),女,硕士研究生,研究方向为侧信道攻击;张美玲(1982),女,博士,讲师,研究方向为侧信道攻击、量子密码,E-mail:;郑东(1964),男,博士,教授,研究方向为密码学理论与网络空间安全。收稿日期:2021-11-26修回日期:2022-01-20文章编号:1002-8331(2023)06-0268-092682023,59(6)息3,然后分析采集到的信息,可实现小成本破解密钥。但是由于采集能量迹时的误差,可能会导致所有的能量迹并不是在同一时间点采集到,总是存在异步的差距,所以除了研究同步情况,异步分析也很重要。随着计算机领域机器学习的发展4,在侧信道领域研究人员也开始实现了新的攻击方法,Martinasek等人在2013年第一次应用多层感知器对AES进行成功的破解5。深度学习首次用于侧信道攻击是在2016年被Maghrebi等人提出6。2017年,Cagli等人将卷积神经网络成功运用于能量迹异步状态下的侧信道攻击中7。2018年Prouff团队针对能量迹同步和异步两种情况下,对比了多层感知器和卷积神经网络的有效性8,同年Samiotis又对CNN网络超参数进行研究,在四种特定的数据集上实现卷积神经自动化搜索和分类9。2019年,卷积神经网络被Timon证明可用于非建模类的侧信道攻击10。2020年Zaid团队11和Wouters团队12前后对卷积神经更好地应用于侧信道攻击作出技术指导说明。2016年至今科研人员对CNN网络进行不断探索,但是并没有对LSTM网络进行特定研究,文章将利用深度学习模型对AES-128实施攻击,以第一轮加密过程中第三个S盒为例。本文首先对SCANET9和本文提出的EDANET模型进行对比,并以EDANET模型为基准,展开对LSTM网络模型在侧信道攻击中的探索。攻击过程分为以下三个阶段。(1)在线获取能量迹:利用AES-128加密集成板子在固定密钥的情况下,设置随机明文,在Chipwhisterer平台采取了60 000的能量消耗曲线记为Np,用于训练模型,再多次改变密钥的情况下采集了10 000条能量迹为验证模型做准备,记为Na。(2)能量迹处理:每条能量迹1 600个采样点,首先对2 000条原始能量迹做方差分析,找到第三个S盒位置,然后做皮尔逊相关系数分析,找到芯片在加密过程中能量释放最大位置点在280370,作为模型输入特征数据。(3)深度学习建模:首先对数据作异步预处理,然后CNN_LSTM来训练同步和异步的能量迹。其中异步分别是以20和50来做的实验,实验结果表明只需要一条能量迹就可以得到正确密钥。实验分别在异步数R=0,R=20和R=50三种情况下,对卷积神经网络CNN,长短时网络LSTM13和本文的混合模型CNN_LSTM作出性能对比,结果发现不论同步还是异步14情况下,CNN_LSTM网络模型的准确率都比单独CNN或者LSTM效果好很多,而损失也更低。同时表明CNN网络模型和LSTM网络模型都有抗异步的效果,但如果将两种网络结合起来构建模型,效果会更加突出。这里需要强调的是本文提供了两种特殊的数据处理办法,特征归一化和数据探索,并成功将两种方法应用于模型上。该方法防止了梯度爆炸和梯度消失的出现,并且加速了梯度下降速率,训练集和验证集的准确率都很优秀,模型的泛化能力也比较强。1预备知识1.1攻击目标-AES算法2001年,美国国家标准技术研究所(National Instituteof Standards and Technology,NIST)发布了高级加密标准(advanced encryption standard,AES),成为了目前最广泛使用的对称密码算法之一。AES 的分组长度为128 bit,密钥长度为128、192和256 bit三种可选,分别记为AES-128、AES-192和AES-256。本文只考虑AES-128加密算法。记明文为p=(p1,p2,),密钥为k=(k1,k2,)。AES包含了4类操作,分别是字节代换(ByteSub)、行移位(ShiftRow)、列混淆(MixColumn)和密钥加(AddRound-Key)。其中字节代换是非线性变化,是指S盒查表。在查表阶段是能量迹数据特征具有较大差异的阶段,文中主要研究的是AES-128加密芯片第一轮加密的第三个S盒输入到输出位置。相应的操作公式如下:xi=piki(1)yi=Sbox(piki)(2)其中,i1,2,16,xi表示明文pi与密钥ki异或,是S盒的8 bit输入;yi代表xi经过S盒查表后的8 bit输出。当不带掩码时xi与yi是一一对应的,采集60 000条能量迹去训练时,计算机可以很充分地进行特征提取训练,然后在真实攻击时迅速找到对应输出。1.2深度学习在侧信道攻击中的应用1.2.1卷积神经网络卷积神经网络(convolutional neural network,CNN)15-16,由输入层、卷积层、激活函数、池化层、全连接层组成。卷积层由多个卷积核组成。卷积核即权重分布矩阵,在没有任何学习经验下,它是随机生成的数据,由后期训练逐步调整数据大小,其作用是用来提取输入样本中所有细小部分的特征。CNN模型一开始并不知道需要学习的样本具有哪些具体特征,将输入样本与不同大小的卷积核相互卷积,当卷积层输出的数值越大,说明该卷积核提取的特征越明显。卷积层就是在不断尝试改变卷积核的大小,来初步确定出能体现样本特征的卷积核都是哪些。池化层的输入是卷积层的输出,对输入的特征数据进行压缩的,目的是提取主要特征和简化网络参数,一般分为平均池化和最大池化。其中最大池化(max-pooling)选择出所选区域最大的数据作为代表数据输出,而平均池化(average-pooling)计算出所选区域的平均值作为代表数据输出。全连接层是