高博 郑喜艳 徐锦涛
摘 要:深度学习的兴起,促进了侧信道攻击技术的发展。相比于传统的侧信道攻击方法,基于深度学习的侧信道攻击具有攻击准确率高、效果好、能克服典型防护技术等优势,对密码设备的安全性构成了严重的威胁,但也存在着一些亟待解决的问题。文章从基于深度学习侧信道攻击技术的基本原理入手,介绍了攻击的具体流程,接着分析了基于深度学习侧信道攻击中面临的问题并给出了相应的解决方案,最后对全文进行了总结。
关键词:侧信道攻击;深度学习;数据不平衡;损失函数;模型结构
中图分类号:TP309;TP18 文献标识码:A 文章编号:2096-4706(2023)19-0172-04
Progress and Problems of Side Channel Attack Based on Deep Learning
GAO Bo1, ZHENG Xiyan2, XU Jintao1
(1.Unit 92957 of PLA, Zhoushan 316000, China; 2.Henan Institute of Metrology, Zhengzhou 450001, China)
Abstract: The rise of Deep Learning has promoted the development of side channel attack. Compared with the traditional method, the side channel attack based on Deep Learning has the advantages of high attack accuracy, good effect, and breaking the typical protection technology. It poses a serious threat to the security of cryptographic devices. However, there are some urgent problems to be solved. This paper starts from the basic principle of side channel attack technology based on Deep Learning, introduces the specific process, then analyzes the problems faced in side channel attack based on Deep Learning and gives corresponding solutions, and finally summarizes the full paper.
Keywords: side channel attack; Deep Learning; data imbalance; loss function; model structure
0 引 言
物联网、云计算、大数据、人工智能、5G通信等信息产业的蓬勃发展,显著地改变了人类的日常生活,同时信息产业面临的安全问题也日渐成为关注的重點。密码设备将重要信息和敏感数据进行加密保护,成为保障信息产业安全的重要基石和支撑。但密码设备的运行过程中,在所难免地会向周边环境中泄漏与敏感中间值相关的物理信息,如运算执行时间、电磁辐射、能量消耗、热量、可见光强度等;侧信道攻击[1](Side Channel Attack, SCA)便是利用这些泄漏信息并结合统计工具来恢复密码设备密钥的方法。侧信道攻击的诞生,实现了对密码算法实现方式上的攻击,严重威胁着各类密码设备的安全性。
近年来,随着CPU性能和GPU算力的显著提升,深度学习技术发展迅速,基于深度学习技术的侧信道攻击也逐渐成为学术界关注和研究的热点。Maghrebi[2]等人率先将深度学习中的多层感知机(Multi Layers Perceptron, MLP)和卷积神经网络(Convolutional Neural Network, CNN)应用到侧信道攻击中来,开创了神经网络与能量分析相结合的先河。王俊年[3]等人将长短时记忆网络(Long Short-Term Memory, LSTM)应用到侧信道攻击中,并将攻击效果与MLP、CNN对比研究,证明LSTM网络模型在效率上更胜一筹。Martinasek[4]等人在DPA-contest数据集上对比了经典的模板攻击、基于机器学习的攻击和基于深度学习技术的攻击,验证了基于深度学习侧信道攻击的优越性。对于带安全防护技术密码算法实现,Gilmore[5]等人在攻击者可以访问随机掩码的基本假设下,针对加入掩码防护的密码算法,提出了一种基于主成分分析和多层感知机MLP的攻击方法,使用两个神经网络模型来分别恢复掩码和密钥;Cagli[6]等人针对加入随机延迟的非对齐能量迹,提出了一种基于卷积神经网络CNN和数据增强技术的攻击方法;于赛[7]等人针对加入旋转S盒掩码防护的密码算法,使用卷积神经网络CNN对掩码偏移量进行破解,然后结合破解后的掩码对S盒运算中间值进行分类;杨光[8]等人为了提高对带防护密码算法攻击时的泄漏信息利用率,提出了一种基于卷积神经网络的时频融合分析方法,利用神经网络来同时提取泄漏信息在时域上和频域上的特征。周冠豪[9]等人针对加掩码的AES算法,提出了基于前向拟合网络的高阶攻击,相比于常用的高阶DPA攻击,该方法具有显著的优越性和可行性。宋治[10]等人将深度学习网络中的残差网络模型运用到电磁泄漏分析中,取得了更高的分类准确率。
相比传统的侧信道攻击而言,基于深度学习的侧信道攻击具有攻击速度快、分类精度高、对特征自动提取和识别能力强等优点,并且对目前典型的防护策略有一定的攻击能力。本文围绕基于深度学习的侧信道攻击展开讨论,组织结构如下:第一节介绍基于深度学习侧信道攻击技术的基本原理和流程、常用神经网络模型及攻击结果评价指标;第二节分析现阶段基于深度学习的侧信道攻击中面临的问题,并给出相应的解决方案;第三节对全文进行了总结。
1 基于深度学习的侧信道攻击技术
基于深度学习的侧信道攻击主要利用深度神经网络强大的数据表示能力[11],提取出泄漏信息中的深层次特征,通过训练建立起泄漏信息到中间值的映射关系,进而恢复密钥信息。
1.1 基于深度学习的侧信道攻击
基于深度学习的侧信道攻击,是一种典型的模板类攻击方法,依托于深度神经网络模型强大的学习和分类能力,将侧信道攻击过程转化为多元变量的分类问题,通过训练建立起泄漏信息到中间值的映射关系,进而恢复密钥信息[12]。攻击过程可分为训练阶段和测试阶段。基于深度学习的侧信道攻击流程如图1所示。
1.1.1 训练阶段
在训练阶段,攻击者向密码设备发送Ntrain条已知明文 和固定密钥k*train,通过示波器采集得到泄漏的功耗轨迹 ,根据密码算法运算中间值得到数据标签 ;利用(Ti,Li)对神经网络模型M进行训练,训练过程中,依据功耗轨迹Ttrain对数据标签进行预测,如果预测的标签与Ltrain不匹配,则需要对模型参数进行更新和调整;训练完成后,攻击者可以得到训练好的模型 ,其中Y为从Ttrain预测得到Ltrain的概率分布。
1.1.2 测试阶段
在测试阶段,攻击者在密钥未知的前提下,通过示波器得到密码设备加密Ntest已知明文 时的功耗轨迹 。采用最大似然概率的方法计算每一个可能密钥kguess对应的最大似然得分S作为判断正确密钥的依据(为了计算方便采用了对数似然的方法),计算方法如式(1)所示:
得分最高猜测密钥作为正确密钥。
1.2 常用深度神经网络模型
基于深度学习侧信道攻击的攻击效果,很大程度上依赖于深度神经网络模型的结构特征,不同结构的网络模型表达和泛化能力也存在明显差异。在基于深度学习的侧信道攻击领域,根据神经网络模型不同的结构特性,常用的网络模型可以分为以下3类[13]。
1.2.1 全连接网络
全连接网络是神经网络的基本类型,对于输入数据在不做任何假设的前提下,利用学习算法不断调整模型结构权重并最小化损失函数。典型的全连接网络便是多层感知机,通过将多个线性分类器组合起来,构成复杂的非线性分类器[14]。基于多层感知机的侧信道攻击具有识别率高、分类速度快等优点。
1.2.2 特征提取网络
特征提取网络经常用于图像识别和分类,利用卷积滤波器和池化层学习数据中对分类或目标检测最有用的深层次的特征,实现对信息中关键特征的提取[15]。卷积神经网络是经典的特征体征提取网络,由局部连接的卷积层和池化层交替连接组成,最后利用全连接层输出结果。卷积神经网络的平移不变性,使得其在带时间维度隐藏防护技术密码算法实现的攻击中展现出得天独厚的优势。
1.2.3 时间依赖网络
时间依赖网络不同于以上两种类型的神经网络,能够同时处理多个时间阶段共享的信息,每个神经元的输出需要依赖于当前的输入和先前神经元的输出。长短时记忆网络属于典型的时间依赖性网络,通过门结构來传递有用的信息,丢弃无用的信息,具有一定的记忆功能,适用于处理时间序列数据[16]。在对带安全防护密码算法实现的攻击中,长短时记忆网络具有分类精度高的明显优势。
1.3 常用攻击效果评价指标
为了评价基于深度学习侧信道攻击的攻击效果,攻击者需要选用一定的评价指标来评估攻击进展情况,常用的评价指标包括模型准确率、损失值、模型复杂度、猜测熵和成功率[17,18]等。
1)模型准确率。模型准确率,即在数据集上成功分类的比率;在每个迭代周期完成时,用于判断是否收敛到正确的权重值和偏差值,准确率acc计算方法如式(2)所示:
式中,TP表示真阳性,TN表示真阴性,FP表示假阳性,FN表示假阴性。模型准确率越高,模型性能越好。
2)损失值。损失值是用来评估模型的预测值与真实值的差距,损失值越小,模型性能越好。模型损失值可以分为训练损失值和测试损失值。
3)模型复杂度。模型复杂度主要指模型结构和需要训练的参数量。模型结构越精简,模型参数量越少,模型的复杂度越低。
4)猜测熵。猜测熵被广泛应用于侧信道攻击的效果评估,用于评估成功分析出密钥需要功耗轨迹的数量。对于单个密钥字节,当猜测熵为0时,所需要的功耗轨迹数量越少,代表模型的性能越好。
5)成功率。成功率是对于密码实现多次攻击并成功恢复密钥的概率。攻击者从功耗轨迹集随机选取特定数目的功耗轨迹,组成攻击轨迹集;利用攻击轨迹集恢复密钥,攻击总次数记为Ttimes,成功恢复出密钥的攻击次数记为Stimes,则成功率SR的计算方法如式(3)所示:
2 存在问题以及可行的技术路线
2.1 存在的问题
近年来,基于深度学习的侧信道攻击展现出了巨大发展潜力,但也存在着一些亟待解决的问题。
2.1.1 攻击效果评价指标不合理
在常用的攻击效果评价指标中,模型准确率、损失值、模型复杂度属于深度学习领域中典型的评估标准。最近的一些研究表明,深度学习评价指标和侧信道攻击效果评估存在一定的冲突;若将深度学习评价指标直接应用于侧信道攻击结果评估中来,可能会给出一些误导性的结果。如Cagli[6]等人在研究使用数据增强技术解决带抖动防护密码算法时发现,深度学习中的模型准确率仅仅等价于使用一条功耗轨迹进行攻击时的攻击成功率,当功耗轨迹条数增多时,模型准确率无法直接和侧信道攻击的效果联系起来;Picek[19]等人针对这一问题进行了更深入的研究,探讨了深度学习指标和侧信道评估的冲突问题。深度学习的各种指标,包括准确率、损失值、召回率、F1分数等,均无法稳定地反映模型能否成功地进行侧信道攻击。
另外,猜测熵和成功率属于传统的侧信道攻击评价指标,虽然评估效果好,但每次计算过程中都需要进行实际攻击并计算猜测向量,时间、计算复杂度高,一定程度上影响了应用。
2.1.2 数据不平衡问题
数据不平衡问题是深度学习领域研究的重要问题之一[20]。训练数据的不平衡,会严重影响训练完成深度学习模型的性能。在基于深度学习的侧信道攻击场景中,汉明重量或汉明距离经常被用作有监督学习的数据标签,但这两种标签是不平衡的,因此数据不平衡问题同样也困扰着基于深度学习的侧信道攻击。以AES-128算法第一字节为例,将汉明重量作为分类的数据标签,则汉明重量数据标签的分布如表1所示。
在训练数据集中,由于汉明重量为0和1的数据标签比重小,因此训练出来的深度学习模型输出为0和1的概率就小。
近年来,一些用于解决深度学习领域中数据不平衡的方案被应用于基于深度学习的侧信道攻击场景中。Picek[19]等人利用合成少数类过采样技术对数据集进行重采样,一定程度上缓解了数据不平衡的影响。汪平[21]等人使用条件生成对抗网络生成数量占比较少的功耗轨迹,构建了对平衡的数据集。但是,现有的这些方案都需要对真实环境中采集得到的数据集进行干预,且这些方法仅限应用于简单防护策略的攻击场景中。
2.1.3 模型结构不合理
为了提高密码算法的抗侧信道攻击能力,绝大多数的密码算法都会采用安全防护技术(如掩码、隐藏和组合防护技术等)。在对带安全防护密码算法实现的攻击领域,现有的神经网络模型,仍存在一些亟待解决的问题[22],典型神经网络模型存在的问题如表2所示。
2.2 可行的解决方案
2.2.1 设计更实用的评价指标
基于深度学习的侧信道攻击并不能完全等价于深度学习中分类问题,需要在紧密联系深度学习与侧信道攻击的基础上,设计更加合理实用的评价指标(如交叉熵比率[23]),使得其在能够更好地反映深度学习模型的侧信道攻击效果的情况下,同时具有算力可承受的计算复杂度。
2.2.2 更改损失函数
基于深度学习的侧信道攻击中存在的数据不平衡问题,根本上是由于深度学习方法引入,侧信道攻击中不存在此类问题。因此,可以通过深入分析侧信道攻击的优化、概率密度函数估计问题和基于深度学习的侧信道攻击之间的关联和差异,在此基础上,更改模型训练过程中的损失函数,来消除数据不平衡的影响。
2.2.3 优化模型结构
基于深度学习侧信道攻击的攻击效果,很大程度上依赖于深度神经网络模型的结构,不同结构的网络模型表达和泛化能力也存在较为明显的差异。对于实际的攻击场景,模型的结构越合理,泛化能力也就越强,意味着对功耗轨迹上数据点与运算中间值间依赖关系表达越准确,攻击准确率也就越高,成功恢复密钥所需的功耗轨迹数量也就越少。因此,需要结合具体的攻击场景,优化深度神经网络的模型结构。
3 结 论
基于深度学习的侧信道攻击自提出以来一直是学术界研究的热点。学者们针对攻击过程中存在的问题提出了各种应对策略和改进方法,但仍存在一些暂时难以解决的问题;随着深度学习等技术不断发展,克服这些问题的研究将会取得实质性的理论和技术进步。
参考文献:
[1] KOCHER P,JAFFE J,JUN B. Differential power analysis [C]//Annual International Cryptology Conference.[S.I.]:Springer,1999:388-397.
[2] MAGHREBI H,PORTIGLIATTI T,PROUFF E. Breaking cryptographic implementations using deep learning techniques [C]//International Conference on Security,Privacy,and Applied Cryptography Engineering.[S.I.]:LCNS,2016:3-26.
[3] 王俊年,朱斌,于文新,等.基于深度学习LSTM的侧信道分析 [J].计算机工程,2021,47(10):140-146.
[4] MARTINASEK Z Z. Innovative method of the power analysis [J]. Radio engineering,2013,22(2):586-594.
[5] GILMORE R,HANLEY N,O' NEILL M. Neural network based attack on a masked implementation of AES [C]//In Hardware Oriented Security and Trust (HOST).Washington,DC:IEEE,2015:106-111.
[6] CAGLI E,DUMAS C,PROUFF E. Convolutional neural networks with data augmentation against jitter-based countermeasures [C]// Cryptographic Hardware and Embedded Systems-CHES 2017: 19th International Conference.[S.I.]:Springer:2017:45-68.
[7] 于賽.基于分组密码算法的侧信道分析与实现 [D].成都:电子科技大学,2019.
[8] 杨光.基于深度学习的侧信道分析方法研究 [D].合肥:中国科学院大学,2020.
[9] 周冠豪.利用神经网络对加掩算法的高阶攻击研究 [D].成都:成都信息工程大学,2018.
[10] 宋治.基于FPGA的AES电磁泄露信号分析 [D].北京:北京邮电大学,2019.
[11] 安树坤.基于深度学习的侧信道建模攻击优化方法研究 [D].合肥:中国科学技术大学,2022.
[12] 汪晶.基于深度学习的侧信道攻击与掩码防护关键技术研究 [D].郑州:战略支援部队信息工程大学,2022.
[13] 谷大武,张驰,陆相君.密码系统的侧信道分析:进展与问题 [J].西安电子科技大学学报,2021,48(1):14-21+49.
[14] 孙鑫,曲立国,陈国豪,等.基于MLP的磁导航机器人方向控制系统设计 [J].中北大学学报:自然科学版,2022,43(6):530-535.
[15] 王琪善,章国宝,黄永明,等.基于卷积神经网络的多模态过程故障检测 [J].制造业自动化,2023,45(1):185-191.
[16] 彭佩,张美玲,郑东.融合CNN_LSTM的侧信道攻击 [J].计算机工程与应用,2023,59(6):268-276.
[17] STANDAERT F X,MALKIN T G,YUNG M. A Unified Framework for the Analysis of Side-Channel Key Recovery Attacks [C]//Advances in Cryptology - EUROCRYPT 2009.Berlin:Springer,2009:443-461.
[18] PROUFF E,STRULLU R,BENADJILA R,et al. Study of Deep Learning Techniques for Side-Channel Analysis and Introduction to ASCAD Database [C]//IACR Cryptol.Springer,2018:53-65.
[19] PICEK S,HEUSER A,JOVIC A. The curse of class unbalance and conflicting metrics with machine learning for side-channel evaluations [C]//IACR Transactions on Cryptographic Hardware and Embedded Systems.[S.I.]:ICAR:2019(1):209-237.
[20] 郑宇.基于深度学习的样本不平衡问题研究 [D].重庆:重庆理工大学,2022.
[21] 汪平,鄭梦策,南杰慧,等.一种针对侧信道建模攻击中数据不平衡的新方法 [J].密码学报,2021,8(4):549-559.
[22] 高博,陈琳,严迎建.基于CNN-MGU的侧信道攻击研究 [J].信息网络安全,2022,22(8):55-63.
[23] ZHANG J,ZHENG M,NAN J,et al. A Novel Evaluation Metric for Deep Learning-Based Side Channel Analysis and Its Extended Application to Imbalanced Data [J]//IACR Transactions on Cryptographic Hardware and Embedded Systems,2020 (3):73-96.
作者简介:高博(1990—),男,汉族,河南郑州人,工程师,硕士,主要研究方向:侧信道攻击、芯片安全防护。
收稿日期:2023-03-24