收藏 分销(赏)

基于多源数据聚合的神经网络侧信道攻击.pdf

上传人:自信****多点 文档编号:2349858 上传时间:2024-05-28 格式:PDF 页数:10 大小:2.07MB
下载 相关 举报
基于多源数据聚合的神经网络侧信道攻击.pdf_第1页
第1页 / 共10页
基于多源数据聚合的神经网络侧信道攻击.pdf_第2页
第2页 / 共10页
基于多源数据聚合的神经网络侧信道攻击.pdf_第3页
第3页 / 共10页
亲,该文档总共10页,到这儿已超出免费预览范围,如果喜欢就下载吧!
资源描述

1、基于多源数据聚合的神经网络侧信道攻击张润莲潘兆轩李金林武小年韦永壮(密码学与信息安全重点实验室(桂林电子科技大学)广西桂林541004)()A Side Channel Attack Based on Multi-Source Data Aggregation Neural NetworkZhangRunlian,PanZhaoxuan,LiJinlin,WuXiaonian,andWeiYongzhuang(Key Laboratory of Cryptography and Information Security(Guilin University of Electronic Techn

2、ology),Guilin,Guangxi 541004)AbstractSidechannelattackbasedondeeplearningneedstomodelandtraineachkeybyteofthecryptographicalgorithm,whichcostsalotofdataacquisitionandmodeltraining.Tosolvethisproblem,asidechannelattackmethodbasedonmulti-sourcedataaggregationneuralnetworkisproposed.Inordertoscreenthel

3、eakeddataofkeybytewithgoodgeneralizationqualityfordataaggregation,takingAES-128algorithmasanexample,firstly16singlekeybytemodelsaretrainedbasedontheleakeddataof16keybytes,andmodelsareusedtorecover16keybytesrespectively.Secondly,ascoringmechanismisdesignedtoevaluatethegeneralizationeffectofeachsingle

4、keybytemodel,andmodelswiththebestrecoveryeffectforeachkeybyteareselectedaccordingtoscoresorting.Finally,amulti-source data aggregation model is constructed based on the key byte leaked data sets corresponding to theselectedmodelstorealizekeyrecovery.Thetestedresultsshowthatthemulti-sourcedataaggrega

5、tionmodelhasgoodgeneralizationeffect,effectivelyimprovestheaccuracyandefficiencyofkeyrecovery,reducesthenumberoftracesusedtorecoverthekey,andthemodelalsohasgoodattackeffectinthecaseoflesstraces.Key wordssidechannelattack;neuralnetwork;scoringmechanism;dataaggregation;datalabeling摘要基于深度学习的侧信道攻击需要针对密码

6、算法的每一个密钥字节建模并训练,数据采集和模型训练开销大.针对该问题,提出一种基于多源数据聚合的神经网络侧信道攻击方法.为筛选具有良好泛化效果的密钥字节泄露数据进行数据聚合,以 AES-128 算法为例,先基于 16 个密钥字节的泄露数据训练 16个单密钥字节模型,分别实现对 16 个密钥字节的恢复;其次,设计一种打分机制评估各单密钥字节模型的泛化效果,通过得分排序筛选出对各密钥字节恢复效果最好的单密钥字节模型;最后,以筛选模型所对应的各密钥字节泄露数据集构建多源数据聚合模型进行训练,实现密钥恢复.实验测试结果表明,多源数据聚合模型具有良好的泛化效果,有效提高了密钥恢复的准确率和效率,降低了恢

7、复密钥所需的能量迹数量,其在采集能量迹较少的情况下依然具有较好的攻击效果.关键词侧信道攻击;神经网络;打分机制;数据聚合;数据标签中图法分类号TP309.7收稿日期:2022-03-01;修回日期:2022-12-23基金项目:国家自然科学基金项目(62062026,61872103);广西创新研究团队项目(2019GXNSFGA245004);广西青年创新人才科研专项(桂科AD20238082);广西自然科学基金项目(2020GXNSFBA297076);广西研究生创新项目(2022YCXS082)ThisworkwassupportedbytheNationalNaturalScience

8、FoundationofChina(62062026,61872103),theInnovationResearchTeamProjectofGuangxi(2019GXNSFGA245004),theScientificResearchProjectofYoungInnovativeTalentsofGuangxi(guikeAD20238082),theGuangxiNaturalScienceFoundation(2020GXNSFBA297076),andtheGraduateInnovationProjectofGuangxi(2022YCXS082).计 算 机 研 究 与 发 展

9、DOI:10.7544/issn1000-1239.202220172JournalofComputerResearchandDevelopment61(1):261270,2024侧信道攻击通过对密码算法在设备实际运行过程中泄露的物理信息(如时间信息、能量信息、电磁信息)进行采集和分析,从而恢复密钥信息1.侧信道攻击实用性强且破坏性大,严重威胁着密码设备的安全,是近年来密码分析的一个研究热点.随着密码设备功能的完善以及新防护手段的应用,传统侧信道攻击的效率和成功率越来越低.为提高侧信道攻击的效率和成功率,深度学习被引入侧信道攻击.深度学习具有学习能力强、覆盖范围广、适应性好等优点.基于密码设

10、备运行过程中采集的数据,深度学习可以在一定程度上学习和提取密码算法在设备中进行数据加密时的特征信息,实现对密码算法的密钥恢复2-4.2016 年,Maghrebi 等人5将深度学习用于 AES(advancedencryptionstandard)算法在无掩码和有掩码情况下的攻击,证明基于深度学习的侧信道攻击具有更好的攻击效果.2017 年,Cagli 等人6基于卷积神经网络实现在不需要对能量迹对齐和精确特征点提取的情况下的攻击.2020 年,Benadjila 等人7提出基于 ASCAD 数据集的最优神经网络模型,并通过实验证明神经网络模型的攻击效果优于被优化的模板攻击;Wang 等人8提出

11、基于联邦学习的侧信道攻击,使用 9 个同型号的不同设备采集数据进行联合训练,并成功完成攻击;Perin 等人9分析了基于深度学习的侧信道分析模型的泛化能力并以集成技术增强模型的攻击能力.2021 年,Won 等人10提出将 1 维数据的原始能量迹的测量值转化为具有数据位置信息的 2 维数据,改进了基于深度学习的侧信道分析;Zaid 等人11则为了减少深度学习衡量指标与侧信道评估指标的差异,提出一种排名损失函数并论证了成功攻击所需的能量迹上界.基于深度学习的侧信道分析,目前普遍的方法是针对采集的能量迹,基于每个密钥字节对应的泄露数据建模,再恢复该密钥字节.例如,针对 AES-128 算法,基于深

12、度学习的侧信道分析将 128b 密钥以每组 8b 划分为 16 个密钥字节,为了恢复 16 个正确密钥需要分别对每个密钥字节建模再进行恢复12.深度学习高度依赖数据,数据量越大,其学习效果越好.因此,为提高攻击的准确率,上述方式需要采集大量数据且单独训练 16 个模型,效率较低.而对侧信道攻击来说,数据采集由于外部因素的限制,攻击者可能无法采集到足够的数据,而数据不足会严重影响神经网络的训练效果.如何在数据采集要求无法被满足的情况下,提高深度学习侧信道攻击的效率和准确率,成为开展深度学习侧信道攻击的关键.针对该问题,数据增强技术被使用.2020 年,王恺等人12通过对原始功耗曲线增加抖动和高斯

13、噪声实现数据增强,并将增强后的数据用于残差网络训练实现密钥恢复;同年,Wang 等人13将条件生成对抗网络(conditionalgenerativeadversarialnetwork,CGAN)用于侧信道领域,通过条件生成对抗网络生成新的数据集进行训练数据集的扩充,从而提高能量迹不足情况下的攻击效率.2021 年,Luo 等人14和 Karim 等人15运用 Mixup技术16生成能量迹,增加模型攻击效果.然而,数据增强方法需要先训练网络生成所需能量迹,增加了侧信道攻击中数据训练的复杂性.针对上述问题,提出一种基于多源数据聚合的神经网络侧信道攻击方法,以 AES-128 算法为攻击对象,先

14、基于 16 个密钥字节的泄露数据训练 16 个模型,并分别实现对相应 16 个密钥字节的恢复;进一步以每个模型分别恢复其他的密钥字节,了解每个模型在特征学习过程中的泛化效果;针对每个模型对所有密钥字节的攻击效果打分并排序,筛选出对所有密钥字节攻击效果好的模型所对应的泄露数据,构建和训练一个基于多密钥字节泄露数据的多源数据聚合模型,再恢复所有的密钥字节.实验结果表明,该方法在较少能量迹情况下不需要数据增强处理也能够提高侧信道攻击的准确率,降低了模型训练的开销,减少了成功恢复密钥所需要的能量迹数量.1MLP 神经网络简介多层感知器(multi-layerperceptron,MLP)是一种由多个感

15、知器单元组成的神经网络,包括输入层、输出层和 1 个或多个隐藏层,每一层包含 1 个或多个感知器单元,每一层的所有感知器与下一层的所有感知器进行全连接,MLP 的结构如图 1 所示.输入层隐藏层输出层Fig.1ThestructureofMLP图1MLP 结构MLP 网络模型的核心思想是通过前向传播得到误差,再把误差通过反向传播实现权重的修正,最终得到最优模型.在反向传播过程中通常使用随机梯262计算机研究与发展2024,61(1)度下降法对权重值进行修正,梯度下降法的原理是计算损失函数关于所有内部变量的梯度,并进行反向传播.2多源数据聚合模型目前采用神经网络针对 AES 算法的侧信道分析,主

16、要利用采集的能量迹分别为每一个密钥字节在第1 轮 S 盒处的泄露点进行建模,再恢复该密钥字节,如对 AES-128 算法需要建立和训练 16 个模型.这种方法需要采集大量的数据进行训练,能量迹采集和训练开销大、效率低;若采集的能量迹不足,会导致模型的准确率低.针对上述问题,提出基于多源数据聚合的模型构建方法,针对 AES-128 算法筛选出对各个密钥字节攻击效果较好的数据集建立多源数据聚合模型,再进行密钥恢复.2.1基于单密钥字节的泄露数据集建模在 AES-128 算法加密过程中,16 个密钥字节加密明文的操作是一个时序操作,所有的泄露都在采集的一条能量迹中.在整个时序中,由于每个密钥字节在加

17、密不同明文时所泄露的能量信息具有相同特征,因此在采用深度学习方法进行侧信道分析时,通常是对单个密钥字节的泄露数据建模,在攻击阶段根据训练结果恢复出对应字节的密钥.在传统侧信道攻击中,通常使用能量消耗模型模拟真实情况下泄露的能量消耗.能量消耗模型有不同的精度级别,一般而言,精度越高的模型攻击效果越好,但所需要的资源也越多.汉明重量模型是攻击者刻画总线与寄存器能量消耗常用的能量消耗模型,它的基本原理是假设能量消耗与寄存器中存储数据比特 1 的数目成正比.而密码设备 S 盒置换的非线性操作在寄存器中引发的能量变化较为突出,因此主要针对 S 盒的输出通过能量消耗模型寻找相关特征.能量迹的特征依赖于密钥

18、与明文,理论上针对单密钥字节所建立的模型并以其恢复对应密钥字节的效果是最佳的.模型的建立需要先对采用的数据集进行数据处理,即完成数据标签.数据的标签实际上是将每条能量迹的特征通过能量消耗模型重新刻画,即将每条能量迹的分类类别由明文和密钥转化为标签值函数计算后的标签值.假设一条能量迹中某 S 盒泄露点 x 的明文数据为 p,该单密钥字节为 k,假设采用汉明重量函数 HW()计算,则标签值 z 计算方法为z=f(p,k)=HW(Sbox(pk).(1)对于其他能量迹,同样在该泄露位置 x 计算对应的标签值 z,完成对所有能量迹在泄露点 x 的标签.采用同样的方法,继续针对所有能量迹的其他泄露点完成

19、数据标签.以所有能量迹在某个泄露点标签后的数据,训练建立一个单密钥字节模型,并以该模型恢复该泄露点对应的密钥字节.AES-128 算法中,使用了 16 个 S 盒,但这 16 个 S盒的真值表是相同的.这使得基于这 16 个 S 盒进行运算后的数据间可能存在一定的关联性,即所采集的能量迹不同泄露点的数据可能会表现出相似的特征.对能量迹的标签计算,也会将这些相似特征表现出来,即在对这些能量迹进行标签时,通过标签值函数 f(p,k)标签,不同泄露点的标签结果也可能会被归于同一类.基于这种特征,以某个泄露点训练的模型,若能够有效恢复出其他泄露点对应的密钥字节,则可以有效降低能量迹采集和模型训练的开销

20、.为评估以某个泄露点训练的模型恢复其他泄露点对应密钥字节,针对 AES-128 算法,先采集算法运行时的能量迹,再将其划分为 16 个密钥字节的泄露数据集,进行数据标签处理,以这 16 个密钥字节的数据集分别训练出 16 个模型.进一步地,利用这 16个模型,先分别恢复该泄露数据集对应的密钥字节,再分别去恢复其他密钥字节.采用 Benadjila 等人7于 2020 年对 ASCAD 数据集提出的 MLP-best 模型建立 MLP 神经网络模型,MLP 模型一共有 6 层,第 1 层为输入层,其是大小为96 的 1 维向量,输入层神经元数对应单个密钥字节在 S 盒操作处的 96 个能量采样点

21、数据.中间 4 层为隐藏层,每层隐藏层都有 200 个神经元;为了在快速收敛的同时避免梯度消失并提高网络的精度,激活函数采用 RELU 函数.最后一层是输出层,其大小与实验选择的能量消耗模型有关.ASCAD 公开数据集只提供第 3 个 S 盒处的泄露数据,本文方法需分析AES 算法的 16 个 S 盒的所有泄露数据,在此选用提供了全部字节泄露的 DPAContest_V4 数据集.MLP-best 在 ASCAD 数据集上有局部最优效果,但并不适用于采用 RSM(rotatingS-boxmasking)掩码方案17的DPAContest_V4 数据集18.针对 DPAContest_V4 数

22、据集,构造新的标签值函数计算标签值:z=f(p,k)=pkSbox(pk).(2)f将标签值(p,k)作为不同明文对应能量迹的标签值时,根据 AES 的 S 盒输入异或输出共 163 种异或结果,因此输出层设置为 163 个神经元,对应 163张润莲等:基于多源数据聚合的神经网络侧信道攻击263种不同标签值的分类结果.为提高分类的准确率,输出 层 的 激 活 函 数 选 择 适 用 于 多 分 类 场 景 下的Softmax 函数,以将输出映射为各个类别的分类概率.基于上述建立的模型,利用 AES-128 算法 16 个密钥字节的标签好的数据集训练出 16 个模型,分别命名为 Mi(i=1,2

23、,16).为区分不同密钥字节的标签数据集,以 Sj(j=1,2,16)表示依据 S 盒操作顺序并完成标签的数据集.DPAContest_V4 数据集中每个数据集 Sj分别有 10000 条能量迹,从中随机抽取 8000条作为训练集训练神经网络模型 Mi,剩下的 2000 条作为测试集用以恢复对应密钥字节.为保证效果一致,在每个模型训练过程中统一设置相关参数:训练的 epoch=300,batchsize=100,学习率设为 0.00001,优化器使用 RMSprop,使用交叉熵损失函数.基于上述建立的 16 个模型,利用相应的测试集数据分别去恢复 16 个密钥字节,各个模型恢复对应密钥字节所用

24、的最少能量迹数如表 1 所示.进一步地,为评估以某个泄露点训练的模型是否能够恢复其他泄露点对应密钥字节,基于同样的实验环境,利用这 16 个模型中的每一个模型,分别以每个密钥字节对应的测试集数据去恢复相应的密钥字节,各模型完成对各密钥字节恢复的最少能量迹数如表 2 所示.Table 1Minimum Number of Traces for Sixteen ModelsRecovering the Corresponding Key Byte表 1 16 个模型恢复对应密钥字节的最少能量迹数模型能量迹数模型能量迹数模型能量迹数模型能量迹数M150M531M918M1328M240M615M10

25、50M1433M349M727M1168M1541M430M839M1235M1633Table 2Number of Traces for Sixteen Models Recovering Sixteen Key Bytes表 2 16 个模型恢复 16 个密钥字节的能量迹数模型密钥字节S1S2S3S4S5S6S7S8S9S10S11S12S13S14S15S16M1501387895138141681378142071384121287177172M211340137831607167170256192171329466208352155M396182493003321838744227

26、529971870738482149374M411397245306168711091251151831425828718180M557129409492116551191635181501117041535549M61252489701821539284402191148162215416497367M7667263128157872733214635939675134314104328M811210816510012712514839404566744268117125M981306174173931921084918686610327122120195M10308125274168219

27、1022117648501079210747249161M1119427318321538915114813010315768404145152108711M1255027454090135575333793949140355474265181M131471785011771051461314146725692285870150M142111835081472051161971167246891756333184162M1586123561681881234986150120423566627441417M16991453295452191118103821422521019242137833

28、表 2中,每一行的数值表示第 i 个模型 Mi恢复不同密钥字节的最少能量迹数.从表 2 中可以看出,以某个泄露点对应的密钥字节数据建立的模型,在恢复该泄露点对应的密钥字节时,除 M10外都具有最佳效果;而以某个模型去恢复其他密钥字节时,也都可以恢复,只是需要使用更多的能量迹数量.2.2数据筛选与多源数据聚合模型构建表 2 结果表明,基于神经网络进行单密钥字节模型训练时,由于 AES 算法中 S 盒特性,密钥泄露数据集之间存在可能相似的特征,每个模型可以一定程度上学习到其他密钥字节的泛化特征,能够恢复出其他泄露点对应的密钥字节.在因运行环境等原因264计算机研究与发展2024,61(1)无法大量

29、采集能量迹的情况下,为减少数据采集和模型训练,基于密钥字节泄露数据集之间可能相似的特征,可以选用部分密钥字节的泄露数据集训练一个多源数据聚合模型去恢复所有密钥字节.为保证训练的聚合模型具有更好的泛化效果,需要筛选出对其他所有密钥字节的攻击效果总体上最好的数据集进行训练.具体地,设计一种打分机制进行评估.先基于不同泄露数据集构建的 16 个模型中的每个模型对所有密钥字节的攻击结果,根据每个模型恢复各个密钥字节的能量迹数量进行升序排序并进行打分,排序靠前的模型得分高,排序靠后的被认为对恢复密钥的作用较小,得分降低甚至忽略不计.以 Cx(Mi,Sj)表示模型 Mi在密钥字节 Sj上排序位置为 x 时

30、的得分,打分方法为Cx(Mi,Sj)=30.3x,1 x 10,0,11 x 16.(3)根据 Cx(Mi,Sj)计算出各个模型 Mi在密钥字节Sj上的得分.基于该方法,计算每个模型 Mi在所有16 个密钥字节上的得分并求总分,以 CT(Mi)表示模型 Mi的总得分,则CT(Mi)=16j=1Cx(Mi,Sj).(4)根据表 2 中不同单密钥字节模型对各个密钥字节恢复所需要的能量迹数,采用式(4)分别计算每个模型在恢复所有密钥字节时的得分情况如表 3 所示.Table 3Scores of Each Model表 3 各个模型的得分模型得分模型得分模型得分模型得分M113.2M517.7M92

31、1.9M1322.5M213.5M615.9M1015.9M1412.9M37.2M718.6M116.0M1519.2M419.5M828.5M1216.8M1614.7根据表 3 中各个模型的得分进行升序排序,结果如表 4 所示.Table 4Ranking of Each Model According to Scores表 4 由得分得到的各个模型的排序排名模型排名模型排名模型排名模型1M85M159M1013M12M136M710M614M143M97M511M1615M34M48M1212M216M11为构建一个具有较好泛化效果的聚合模型,选取排序靠前的几个模型分别对应的密钥字节泄

32、露数据集进行聚合,训练出一个多源数据聚合模型,再以聚合模型进行密钥恢复.在多源数据聚合模型训练中,仍然采用 Benadjila等人7提出的 MLP-best 模型建立 MLP 神经网络模型,聚合模型的层数、激活函数和参数均与 2.1 节中基于单密钥字节构建模型相同.3实验结果与分析采用 Python 语言,基于 Keras 深度学习开源库(keras2.2.4)和 TensorFlow 后端(Tensorflow1.12.0)在硬件配置为 Intel(R)CoreTMi5-6300HQCPU2.30GHz、内存 8GB 和 NVIDIAGeForceGTX960M 显 卡 的计算机上实现MLP

33、 神经网络模型,基于DPAContest_V4数据集构建并训练 16 个单密钥字节模型和多源数据聚合模型,并进行密钥恢复测试.针对多源数据聚合模型,完成了其进行密钥恢复的能量迹数量及与其他模型的对比测试.3.1不同多源数据聚合模型的攻击效果测试根据表 4 中单密钥字节模型对不同密钥字节恢复的打分排名结果,按照排名情况选取各个模型对应的密钥字节数据进行聚合,训练多源数据聚合模型,再进行密钥恢复.为更好地评估不同密钥字节数据集聚合的泛化攻击效果,根据表 4 的排名情况分别以得分排名前 6,8,10,12,14,16 的模型对应的密钥字节数据集进行多源数据聚合,建立和训练聚合模型 Mix_6,Mix

34、_8,Mix_10,Mix_12,Mix_14,Mix_16,对不同密钥字节数据进行恢复,并与各个单密钥字节模型 Mi恢复相应密钥字节数据的结果进行对比,各自所需要的能量迹数如图 2 所示.能量迹数量0603012090150S1S2S3S4S5S6S7S8S9S10S11S12S13S14S15S16密钥字节MiMix_12Mix_6Mix_14Mix_8Mix_10Mix_16Fig.2Number of traces for each key byte recovered bydifferentmodels图2不同模型恢复各密钥字节的能量迹数图 2 结果表明,多源数据聚合模型都能够以所聚

35、合的部分密钥字节泄露数据集训练模型并有效恢复张润莲等:基于多源数据聚合的神经网络侧信道攻击265出所有密钥字节,包括那些没有参与聚合训练的密钥字节;同时,多源数据聚合模型较单密钥字节模型的攻击效果更好,其恢复各密钥字节所需要的能量迹数量更少.从对每一个密钥字节数据的攻击结果看,随着聚合的数据集增加,聚合模型的攻击效果提升,恢复该密钥字节所需的能量迹数量减少,这表明聚合模型可以在更多的数据集中更好地学习到泛化特征.在聚合模型进行特征学习过程中,当聚合的数据集较少时,噪声容易干扰学习结果,攻击效果并没有显著提升;随着聚合数据集的增加,噪声干扰降低,在聚合 6 个数据集进行训练后,对整体子密钥的恢复

36、效果基本趋于稳定并优于单密钥字节模型的攻击结果.多源数据聚合模型基于深度学习的强大学习能力,能够基于部分采集的能量迹数据有效恢复算法整体密钥,这在数据采集不便的情况下也能够实现高效的攻击;由于不需要训练多个模型也使得模型训练和分析测试工作有效减少.3.2公用数据集对比实验与分析现有针对密码算法的基于深度学习的侧信道分析方法,更多的仍然是针对密码算法不同的密钥字节分别建模和分析.针对 AES-256 算法,文献 13 基于卷积神经网络(convolutionalneuralnetwork,CNN)和 DPAV4 数据集,以第 1 轮掩码 S 盒输出值的最低有效位作为训练标签,针对其选择的某个密钥

37、字节对应的泄露数据集分别建模和训练测试,使用 1000条能量迹作为训练集,2000 条作为验证集,2000 条作为测试集,完成对该密钥字节的恢复,其恢复该密钥字节所需要的能量迹为 550 条.采用多源数据聚合模型方法,按表 4 分别取前 8,10 个数据集聚合训练模型 Mix_8,Mix_10,与文献 13在同样数据集大小条件下进行模型训练并对前 16 个密钥字节进行恢复;同时,根据算法原始的密钥字节顺序选取前 8,10 个密钥字节的泄露数据集,采用本文的多源数据聚合思想以同样数据集大小聚合训练模型 MO_8,MO_10 并恢复前 16 个密钥字节,与在同样数据集大小情况下采用单密钥字节泄露数

38、据训练模型 Mi的密钥恢复结果对比,各自所需能量迹数如表 5 所示.Table 5Recovery Results of Six Models for 16 Key Bytes表 5 6 个模型对 16 个密钥字节的恢复结果模型密钥字节S1S2S3S4S5S6S7S8S9S10S11S12S13S14S15S16文献 13550550550550550550550550550550550550550550550550Mi11561410913103210222000700116519871844140146856756315322000Mix_8415511636667338172811066

39、2129882779150MO_84273417712065401909310993172137108100155Mix_1027397132374125115606865124841179133MO_10423733566734531608411072116204110125136文献 13 通过已知的掩码计算掩码 S 盒的输出,将其转换为一个不受保护的实现,本实验中采用式(2)的标签方案并未对掩码进行额外操作,因此在只有1000 条训练数据下训练的单密钥字节模型效果不太理想,但在 2000 条能量迹内也能恢复正确密钥.表 5 结果也显示多源数据聚合模型恢复密钥字节的效果都优于文献 13,所

40、需能量迹数量更少;随着聚合数据集的增加,聚合模型对密钥字节的恢复效 果 更 好,所 需 要 的 能 量 迹 数 减 少.模 型 Mix_8,Mix_10 的攻击效果分别优于模型 MO_8,MO_10,这表明基于打分排名后筛选的多源数据聚合模型具有更好的泛化特征学习能力,其攻击效果要优于不做数据筛选的多源数据聚合模型,恢复密钥字节所需使用的能量迹数更少.文献 9 基于 MLP 网络和 DPAV4 数据集,进行50 次随机超参数搜索训练得到 50 个 MLP 网络并使用引导聚集(bootstrapaggregating)算法进行集成,针对第 1 个密钥字节的数据进行训练与恢复,以第 1 轮掩码 S

41、 盒输出值的汉明重量作为训练标签,34000 条能量迹作为训练集,1000 条作为验证集,1000 条作为测试集进行实验.采用同样的数据集规模,基于多源数据聚合模型方法,按表 4 分别取前 8,10,12 个数据集聚合训练模型 Mix_8,Mix_10,Mix_12 进行密钥恢复;同时,根据算法原始的密钥字节顺序选取前 8,10,12 个密钥字节的泄露数据集,采用本文的多源数据聚合方法以同样数据集大小聚合训练模型 MO_8,MO_10,MO_12 并恢复密钥,各自所需能量迹数如表 6所示.266计算机研究与发展2024,61(1)表 6 结果显示,相较于文献 9 中的结果,采用聚合模型进行攻击

42、,各个模型中参与了训练的密钥字节的恢复所需要的能量迹在 4 条左右,未参与训练的密钥字节的恢复需要更多的能量迹数;但采用聚合模型仅需要训练 1 个模型,开销小、时间短,且在聚合 12 个密钥字节的泄露数据集后,对未参与训练的密钥字节恢复密钥的能量迹数量都有效减少,而文献 9 需要训练 50 个不同的模型才完成对第 1个密钥字节的攻击,要完成对 16 个密钥字节的攻击,其模型训练的开销极大、时间过长.Table 6Recovery Results of Seven Models for 16 Key Bytes表 6 7 个模型对 16 个密钥字节的恢复结果模型密钥字节数据S1S2S3S4S5S

43、6S7S8S9S10S11S12S13S14S15S16文献 94Mix_83216454440545169553779MO_845545646923152917473412Mix_1030635454644710652888MO_104455545769151811283411Mix_121362145454469562066MO_1234545456771067222511相比于表 5 中的结果,表 6 结果也显示聚合模型中相应密钥恢复所需要的能量迹数量进一步减少.这表明随着数据规模的增加,神经网络可以充分地学习到训练数据的特征,聚合模型的攻击成功率更高;其次,采用基于打分排名后筛选的数据

44、聚合模型具有更好的泛化特征学习能力,其总体攻击效果仍然优于不做数据筛选的聚合模型;同时,随着参与训练的数据量增加,泄露数据参与了训练的密钥字节更容易被恢复,因其特征能够被更好地提取出来.3.3实测数据集对比实验与分析使用 MathMagic 侧信道分析仪,搭载目标芯片STC89C52 单片机,实现无防护的 AES-128 算法,模拟数据采集困难、所采集的能量迹少的情景,共采集 3500 条能量迹,以其中 3000 条能量迹作为训练集,剩下 500 条能量迹作为测试集.实验中先通过相关性分析确定密钥字节在能量迹中的泄露位置,采用式(1)进行计算,由于汉明重量模型对应 9 种类别,因此在保持 ML

45、P 模型结构参数与 2.1 节模型参数其余部分不变的基础上,将输出层节点数设置为 9.对每个密钥字节独立建模并攻击,各单密钥字节模型记为 Mi.采用多源数据聚合模型方法,按表 4 选取前8,10 个泄露数据集聚合训练模型 Mix_8,Mix_10,同时按密码算法原始密钥字节顺序选取前 8,10 个数据集聚合训练模型 MO_8,MO_10,并分别恢复各密钥字节,各个模型完成密钥恢复所需的能量迹数对比结果如表 7 所示.表 7 结果表明,由于训练数据的不足,采用单密钥字节建模并进行密钥恢复时,仅恢复出其中的 3个字节,其他模型因不能学习到足够的特征,无法恢复密钥;采用多源数据聚合模型方法都有效完成

46、了密钥恢复,优于单密钥字节模型攻击结果.在 Mix_8,Mix_10 中,恢复前 3 个密钥字节的能量迹数较 MO_8,MO_10 所需的能量迹数稍多,主要原因在于这些密钥字节泄露数据在 Mix_8,Mix_10 中未参与训练,而Table 7Recovery Results of Five Models for 16 Key Bytes表 7 5 个模型对 16 个密钥字节的恢复结果模型密钥字节S1S2S3S4S5S6S7S8S9S10S11S12S13S14S15S16Mi954440Mix_857645455466568615MO_846444567768788820Mix_105675

47、4445448676812MO_104544447778139711916张润莲等:基于多源数据聚合的神经网络侧信道攻击267在 MO_8,MO_10 中参与了训练,在训练数据不足的情况下未参与训练的密钥字节特征学习效果相对减弱.但总体上,与采用公用数据集训练模型一样,采用实测数据集训练模型时,基于打分排名后筛选的多源数据聚合模型仍然具有更好的泛化特征学习能力,其攻击效果优于不做数据筛选的多源数据聚合模型,恢复密钥字节所需使用的能量迹数更少.此外,相对于加掩防护的公用数据集实验,实测实验针对的是未加掩码防护的 AES-128 算法,因此更容易完成攻击,恢复密钥所需的能量迹数大大减少.3.4针对

48、 Present 算法的聚合模型实验与分析为评估本文方法的通用性,将聚合模型应用于Present 算法,验证数据聚合模型的分析效果.Present算法是一个 4b 的 S 盒且 SPN 结构的轻量级密码算法.使 用 osrtoolkit 功 耗 采 集 平 台,搭 载 目 标 芯 片ATMEGA2560,实现无防护的 Present 算法,采集 3500条能量迹,以其中 3000 条能量迹作为训练集,500 条能量迹作为测试集.实验中先通过相关性分析确定密钥半字节在能量迹中的泄露位置,以真实密钥作为身份标签,训练的 epoch=300,batchsize=100,学习率设为 0.00001,优

49、化器使用 RMSprop,使用交叉熵损失函数,将输出层节点数设置为 16.对 16 个密钥半字节分别独立建模并攻击,各密钥半字节模型记为 Mi.利用这 16 个模型中的每一个模型,分别以每个密钥半字节对应的测试集数据去恢复所有的密钥半字节,各模型完成对各密钥半字节恢复的最少能量迹数如表 8 所示.根据式(4),基于表 8 的结果计算每个模型在恢复所有密钥半字节时的得分,结果如表 9 所示.采用多源数据聚合模型方法,对表 9 以得分高低排序后选取前 8,10,12,16 个泄露数据集聚合训练模型Mix_8,Mix_10,Mix_12,Mix_16,分别恢复各密钥半字节,所需的能量迹数与单密钥半字

50、节建模恢复的结果对比情况如表 10 所示.表 10 结果表明,在聚合模型中,由于密钥半字节 S5和 S9对应模型得分较低,相应数据集未能在Mix_8,Mix_10 中参与训练,无法被恢复.但在 Mix_12模型中,S5对应的数据集尽管没有参与训练,但由于有更多数据集参与训练,相应特征被学习,也能够被有效恢复.而基于所有数据集的聚合模型,能够以更少的能量迹数量恢复所有密钥半字节.从所有聚合模型恢复的结果看,若数据集参与了聚合模型训练,其恢复相应密钥半字节所需要的能量迹数量均少于单密钥半字节模型的结果;在单密钥半字节模型中无法恢复的其他密钥半字节,在聚合模型中除 1 或 2Table 8Numbe

展开阅读全文
相似文档                                   自信AI助手自信AI助手
猜你喜欢                                   自信AI导航自信AI导航
搜索标签

当前位置:首页 > 学术论文 > 毕业论文/毕业设计

移动网页_全站_页脚广告1

关于我们      便捷服务       自信AI       AI导航        获赠5币

©2010-2024 宁波自信网络信息技术有限公司  版权所有

客服电话:4008-655-100  投诉/维权电话:4009-655-100

gongan.png浙公网安备33021202000488号   

icp.png浙ICP备2021020529号-1  |  浙B2-20240490  

关注我们 :gzh.png    weibo.png    LOFTER.png 

客服