特征选择在深度学习侧信道攻击中的应用
背景介绍
深度学习经广泛研究并表明这是一种很强的分析攻击,其在SCA中的主要优势之一是无需预处理/特征工程。这意味着我们只需要将数百或数千个样本点(特征)的原始测量结果直接输入深度神经网络,之后分类算法会自动检测泄漏最多的点。模板攻击、深度学习攻击和基于机器学习的攻击[2]由于其在实践中的效率而被广泛考虑。这些分析方法允许评估人员估计目标设备在最坏情况下的安全性。为此,一般考虑有关随机密钥共享和实现源代码的知识,以从侧通道测量中选择特征点 (POI)。因为如果从共享因子中选择的兴趣点包含足够高的信噪比 (SNR) 值,则更容易实现最佳模型。所以在最坏的安全假设下,噪声成为降低攻击效率的主要条件。从而就会产生一个问题,在不同信噪比水平下的POI选择对深度神经网络的分析攻击性能有多大影响?2022年,来自拉德堡德大学、代尔夫特理工大学的Guilherme Perin、Lichao Wu、Stjepan Picek在顶级学术会议CHES上通过构建三种实验场景:精炼特征点(RPOI)、优化特征点(OPOI)、非优化特征点 (NOPOI),通过对比实验结果给出了答案。
实验过程
1、模型评价指标
①感知信息Perceived Information(PI)。PI可以作为衡量攻击效率的信息度量。PI测量模型可以从侧通道中获得感知信息,并根据多个测量结果来指示攻击的复杂性。
进而根据PI可以计算出恢复密钥最少需要的波形条数:
其中f(β) 是与预期成功率β相关的小常数。在本篇论文中主要利用感知信息度量比较深度学习模型在最坏情况下(即攻击者知道泄露中间值以及相关加密实现信息)的性能。
②猜测熵Guessing Entropy (GE)。GE表示正确密钥的位置排名。当GE=1时,说明一组正确密钥的排名均为1,此时攻击者成功恢复了密钥,模型的性能最佳。
2、数据集
ASCAD with a Fixed Key - ASCADf数据集总共有6万条密钥固定的能量迹,其中训练能量迹50000条,验证能量迹5000条,攻击能量迹5000条,每条能量迹包含10万个样本点,对其中700个特征点进行分析,它包含AES第一轮的第三个S盒加密。
ASCAD with Random Keys - ASCADr数据集总共有300000条能量迹,其中前200000条能量迹为随机密钥,用于训练阶段。后100000条能量迹为固定密钥,从中随机挑选出10000条用于验证,10000条用于攻击。每条能量迹有25万个样本点,对其中1400个特征点进行分析。
DPAContest 4.2 - DPAv4.2包含80000条能量迹,细分为16组5000条能量迹。每个组都定义了一个单独的固定密钥。每条能量迹中有704046个样本点,对前400000个样本点进行分析,它包含了S盒的输出和掩码。
CHES CTF 2018 - CHES_CTF总共包含50000条能量迹,其中训练集包含4.5万条能量迹且密钥固定,验证集和攻击集各含2500条能量迹且密钥固定,攻击集和验证集密钥相同但与训练集的密钥不同。每条能量迹包含65万个样本点,对前15万个样本点进行分析。
3、共享因子
掩码技术意味着通过掩码来改变中间值,在布尔掩码中,掩码型中间值vm=v⊕m,一旦给定vm和m,就可以计算出中间值v,我们将vm和m称为共享因子,也就是说,可以用两个共享因子表示中间值v,记为(vm,m)。在我们已知共享因子的情况下,我们便可以通过共享因子进行特征选择。
4、三种特征点选择的场景
本篇论文选取了三种实验场景进行对照:
精炼特征点(RPOI):从实施二阶DPA攻击所需的两个共享因子(sr=Sbox(p3⊕k3)⊕r和r)的最高SNR峰值中选择特征点。
优化特征点(OPOI):数据集由一个优化的区间(或两个区间的串联)组成,其中包括从两个共享因子中获得的主要 SNR 峰值。
非优化特征点(NOPOI):考虑完整的测量区间,仅仅使用重采样的方法进行降维。
实验结果
1、精炼特征点(RPOI)
对于RPOI,实施了几种对比实验,①将精炼的特征点进行分类(低、中、高信噪比);②在特征提取阶段设置是否使用线性判别分析(LDA);③在训练阶段,选择高斯模板攻击or神经网络;④最后使用PI和GE进行模型性能的评估。
图1 身份泄露模型下特征点数量和PI的关系
从整体的趋势来看,特征点越多,模型的性能越好,因为输入包含了更多的泄漏点;由于ASCADf数据集中用于训练的数据集较少(5万),因此对于中等和低等信噪比显示出相对较差的性能。
图2 汉明重量泄露模型下特征点数量和PI的关系
在高信噪比的情况下,神经网络显示出优于高斯模板攻击的性能。对于具有中等SNR的数据集 (图2b和3b),随着特征点数量的增加,可以发现必须经过线性判别分析(LDA)降维,才可以增加PI值。当多层感知机(MLP)和卷积神经网络(CNN)模型不考虑LDA时,增加所选特征点的数量往往会降低模型的质量。这表明对于这种特殊情况,需要降维才能找到最佳模型。
2、优化特征点 (OPOI)
OPOI与RPOI方案的主要区别在于,OPOI考虑了包括两个共享因子的主要SNR峰值的最小化区间。实验目的:通过对比在输入为精炼特征点和最小化的轨迹区间 (包括来自密钥共享因子的主要SNR峰值) 下的深度学习SCA的性能,来了解排除噪声对深度学习模型性能的影响。
图3 优化的兴趣点 (OPOI):对于不同泄露模型的猜测熵
3、非优化兴趣点 (NOPOI)
最后使用 NOPOI 场景攻击完整的 AES 密钥。
图4 NOPOI 场景下恢复完整密钥所需轨迹数
上图展示了,NOPOI 场景(没有去同步)下,针对16字节的密钥,利用MLP和CNN重新训练得到的最佳模型(重采样窗口大小为20,泄露模型包括ID和汉明重量)。图中显示了每个单独的密钥字节达到猜测熵为1 时所需的攻击轨迹数。正如我们所看到的,对于使用ID泄露泄漏模型的 MLP 案例,可以使用少于20条的攻击轨迹将ASCADf 数据集中完整的 AES 密钥恢复出来。
总结
总体而言,本篇论文主要的目标是了解特征选择如何影响基于深度学习的分析模型的性能。以ASCDAf数据集为例,有以下结论:
1、在超参数选择时,使用在固定区间范围内的超参数搜索,并在NPOI场景下,证明这种固定区间的超参数搜索方法可以与超参数调整技术 (例如强化学习和网格搜索) 的模型性能相媲美。
2、在最坏情况下的安全假设下(RPOI),可以找到与GTA相比具有优越性能的神经网络。但是,这需要大量的时间来进行超参数搜索。因此,需要在模型性能和计算成本之间权衡。
3、在NOPOI场景下,分析攻击可以在不考虑掩码共享知识的情况下,通过单个攻击跟踪从ASCADf数据集恢复出正确的密钥字节。
最后,本篇论文对四个数据集进行实验得到重要结论:在跨多个数据集和特征选择的安全评估中,可以保持超参数搜索空间不变,其中要考虑的变量仅是搜索尝试的次数。
参考资料
[1]Houssem Maghrebi, Thibault Portigliatti, and Emmanuel Prouff. Breaking cryptographic implementations using deep learning techniques. In Interna-tional Conference on Security, Privacy, and Applied Cryptography Engineering,pages 3–26. Springer, 2016.
[2]Liran Lerman, Stephane Fernandes Medeiros, Gianluca Bontempi, and Olivier Markowitch. A Machine Learning Approach Against a Masked AES. In CARDIS, Lecture Notes in Computer Science. Springer, November 2013.Berlin, Germany.
