基于数据预处理的侧信道分析优化方法
2023-02-18赵毅强王庆雅马浩诚张启智王汉宁何家骥
赵毅强 王庆雅 马浩诚 张启智 叶 茂 王汉宁 何家骥*
①(天津大学微电子学院 天津 300072)
②(清华大学集成电路学院 北京 100084)
1 引言
随着高精度局部电磁攻击方法的成熟,以及局部电磁分析算法的完善,密码芯片面对的威胁也越来越大,因此对密码产品的抗侧信道攻击能力进行评估已成为密码测评的重要内容。美国国家标准技术研究所(National Institute of Standards and Technology, NIST)发布的密码模块安全标准FIPS140-3[1]以及我国发布的GM/T 0028-2014《密码模块安全技术要求》[2]和GM/T0008-2012《安全芯片密码检测准则》[3]已将抗侧信道攻击能力用作评估的重要依据。 同时,一些侧信道防护措施的有效性必须通过安全评估来验证。
侧信道攻击一般可分为4个阶段:建立泄露模型、采集侧信道泄露信息、数据预处理以及密钥分析。其中数据预处理是分析密钥的基础,数据的纯净度会对密钥猜测的准确度有很大的影响。因此,数据预处理在侧信道分析中占有很重要的地位。所以为了减少侧信道攻击需要的计算时间和攻击所需的曲线数量,需要进一步探索有效的数据预处理方法,提高侧信道信息和密钥的相关性。
数据的预处理过程一般包括降噪和对齐。传统降噪方法通过数据样本均值来去除噪声,但这样需要巨大的样本量[4]。文献[5]提出4阶累积量降噪方法,利用信号的非高斯特性和噪声的高斯特性,从信号中去除高斯噪声,该方法相比均值降噪减少了分析样本量,但计算量较大。文献[6]通过仿真证明了小波变换的降噪效果要好于高阶累积量。文献[7]提出针对分形高斯噪声,经验模态分解方法的降噪效果比小波处理更加明显,经验模态分解克服了小波分解需要先验知识的缺点,具有自适应性。文献[8]提出了一种混合降噪方法。首先使用巴特沃斯低通滤波器进行初步的降噪预处理,然后使用经验模态分解和小波阈值进行更精细的去噪,处理过程相对复杂。对齐技术包括静态对齐和弹性对齐,静态能量迹对齐技术的常用方法有最小欧氏距离法、最大相关性法、峰值匹配法等,但当加入随机时延防护后,导致加解密操作时数据长度不一致,无法通过简单的位移实现对齐。动态时间规整(Dynamic Time Warping, DTW)算法[9]是一种典型的弹性对齐,通过数据的非线性扭曲达到对齐效果。2011年,文献[10]改进了DTW的时间复杂度,并将其应用在差分功耗分析上。文献[11]提出了一种基于小波模式检测的小波对齐方法。另外,文献[12]利用流形学习的思想,提出了一种通过能量数据局部关系进行全局对齐的方法。同样是全局对齐的思想,文献[13]使用最长公共子序列对齐方法,非均匀量化以去除信号中部分噪声并保留密钥的相关信息,然后将其转换为符号,通过插入和删除操作来获得对齐后的数据。
本文主要针对电磁数据预处理方法进行了优化,进而提高侧信道攻击效率和密钥恢复成功率。主要研究贡献为:(1)提出了一种最小相关差值的对齐方法,对比传统最大相关系数对齐方法,侧信道攻击效率提升了29.91%。(2)提出了一种K奇异值分解(K Singular Value Decomposition, KSVD)字典学习的降噪方法,相比于小波降噪,侧信道攻击效率提升了55.23%。(3)搭建了一套完善的侧信道测评平台,基于真实高级加密标准(Advanced Encryption Standard, AES)密码芯片开展了安全测评和验证。
本文其余部分的组织结构如下:第2节对提出的对齐与降噪两种数据预处理方法进行了介绍;第3节搭建了测评平台,利用所提出的预处理方法,基于真实AES密码芯片开展了侧信道分析;第4节总结本文的研究结论。
2 数据预处理方法
在信息采集过程中,由于通常会受到内部电路噪声、外部环境噪声、非同步系统等非理想因素的影响,采集到的侧信道信号具有非平稳、时变、离散性大、信息量大的特征,检测人员处理难度较大,因此需要对原始数据进行进一步处理。本文提出针对非同步噪声采用最小相关差值法对齐信号,针对外部环境噪声采用KSVD 字典学习算法进行降噪。
2.1 最小相关差值对齐
在进行侧信道分析时每条信号曲线需要相对于加密运算过程精确对齐,但对于非同步系统,在同一个采样集中,各曲线的时间线却存在偏移,影响了攻击成功率。
最小相关差值对齐过程如图1所示,根据每一互相关与参考信号自相关之间的时间延迟来完成信号间的对齐,首先使用一个时间窗从原始信号中选取参考信号序列作为模板,并求解自相关函数,然后计算每一个待对齐信号与参考信号的互相关函数。自相关函数是描述信号在任意不同时刻的值之间的相关程度,互相关函数是描述两个不同信号在任意两个不同时刻的值之间的相关程度,两者的差值反映了各时间点上两个信号的形状差异,差值越小则信号相似性越大,最后根据差函数的最小值与自相关函数之比(使用差值系数δ表示)调整待对齐信号相对于参考信号的位置[14]。δ计算公式为
图1 最小相关差值法对齐流程图
其中的分母项在归一化过程中减小了相关性计算中对幅值的敏感度与对曲线变化的敏感度。而最小相关差值方法表示了参考信号与待对齐信号之间在形状上的差别,包括曲线的幅值差别和周期差别。虽然两种方法都是通过估计两个信号间的时间延迟实现对齐,但由于最大相关系数法对曲线变化不够敏感,使对齐与非对齐点之间的ρ值的差别相对较小,有可能出现相同最大ρ值的情况,造成信号的误对齐。而最小相关差值法则仅有唯一的最小δ值,极大减少误对齐的发生。
2.2 KSVD 字典学习降噪
由于电磁辐射属于微弱信号,且在采集过程中易受内部电路噪声、外部环境噪声等干扰,对于不同的处理器芯片、算法实现方式以及测试设备,引入的噪声也会有所不同,为消除噪声带来的影响,提高采样信号的纯净度,应选取有效的降噪方法,在降低噪声的同时最大限度保留有效信息。
传统小波降噪过程需要选取合适的小波基函数,将信号分解成低频部分和高频部分,然后对高频部分进行门限或阈值的降噪处理,最后将低频系数与阈值处理后的高频系数进行小波重建恢复原始信号。但小波变换需要对变换域系数进行经验性的统计假设,无理论依据[15]。
KSVD字典学习[16]方法比传统降噪方法具有更强的特征自适应性,其核心为k次迭代进行稀疏编码和字典更新两个步骤,并使用奇异值分解(Singular Value Decomposition, SVD)算法更新字典原子。图2为该降噪算法流程图,对信号进行稀疏表示的过程可以看作对信号的特征提取,通常认为原始信号可以用有限个原子来表示,是可稀疏的,而噪声则不可以用有限个原子表示,是不可稀疏的。通过提取原始信号的稀疏成分,只能提取出不含噪声信号的特征,再用这些稀疏成分来重构信号,重构过程中,噪声作为原始信号和重构信号之间的残差被丢弃,从而达到降噪的效果。
图2 KSVD字典学习法降噪流程图
KSVD具体步骤为:
3 密码芯片安全测评
3.1 AES芯片设计
本文基于一款经流片验证的AES-128加密芯片,搭建并使用电磁侧信道测评系统对其安全性进行测评,并在评测中应用了本文所提出的数据预处理方法。AES每一轮加密需要5个时钟周期,前4个周期完成S盒非线性变换,最后一个周期用来完成其他操作。中间数据和最终输出数据使用状态寄存器进行存储与传输。图3为AES-128芯片版图及在显微镜下的实际芯片图像,AES-128 使用180 nm CMOS工艺进行流片,芯片总面积为1.5327 mm×1.5444 mm,设计时钟频率为25 MHz。
图3 AES-128加密芯片版图与实物图
3.2 平台整体架构
侧信道信息测评平台主要由待测设备、3轴位移系统、显微成像系统、电磁采集系统、上位机控制系统和后续软件数据处理与分析几部分组成。整体架构如图4所示。
图4 平台整体架构
考虑在实际工程应用中,一般是对一款安全性未知的芯片进行评测,因此平台提供了电磁采集与分析全流程,实现电磁扫描、数据预处理、密钥分析一体化,使安全评测工作更加便捷,用户操作更加简单。平台具体工作流程如图5所示。显微成像系统将芯片表面图像显示在上位机上,方便选取扫描起始位置,上位机控制3轴位移系统实现待测设备的移动,扫描芯片表面电磁辐射信息。同时向待测设备发送激励,为待测加密芯片提供必要的输入信号,电磁采集系统捕获探测到的电磁信息并实时上传到上位机,区域电磁采集完成后形成时域电磁地图,反映芯片运行时的电磁分布情况,通过侧信道泄露评估方法定位可疑泄漏点。上位机软件集成了多种数据预处理算法与侧信道分析算法用于完成安全测评。
图5 侧信道信息测评平台工作流程
3.3 电磁信息采集
近场电磁采集系统使用业内领先的高精度近场微探头,具有150 μm的高分辨率。根据电磁采集位置的不同可将采集方式分为两个模式:定位采集和区域扫描。图6为电磁采集装置,对于定位采集,首先根据显微摄相机捕获的芯片图像,确定电磁采集位置,然后通过3轴位移平台将该点从镜头位置移动到探头正下方,磁场通过探头采集后,由探头内部放大器放大,电磁信息经过示波器或频谱仪采集传输至上位机。对于区域扫描方式,同样通过芯片图像选择近场扫描的参考坐标,在采集过程中保持探头位置固定,利用3轴位移平台控制芯片移动,完成针对芯片表面的近场扫描,扫描精度为5 μm。
图6 AES-128密码芯片的电磁辐射采集
实验采用128 bit固定密钥和128 bit随机明文的加密方式,采集从芯片表面辐射出的电磁信号,并进行16次平均,采样率为2.5 GHz。如图7所示。可以看出,在采样时刻800~3300 ns处有明显的加密操作波形。结合AES电路在芯片内部的实际分布情况,对应选定芯片区域,以划分区域的左上角为采集基准,控制位移平台移动进行12×7的扫描,每次扫描步进距离为100 μm,每个位置采集16000条电磁曲线,形成了如图8所示的芯片表面电磁辐射区域地图,通过热度图能够确定扫描区域的辐射热点。
图7 AES加密电磁曲线
图8 芯片表面电磁辐射区域地图
为验证算法的普适性,同时在FPGA上进行了实验。Spartan-6 CSG484大小为19 mm×19 mm,控制位移平台移动进行7×7的扫描,每次扫描步进距离为3 mm,可全局扫描整个FPGA,每次采集16000条电磁曲线。
3.4 电磁信息处理
对扫描区域A点(x=800 μm, y=300 μm)、B点(x=1000 μm, y=200 μm)、C点(x=0 μm, y=0 μm)3个位置上采集的16000条电磁曲线进行对齐,采样点数为10000。以第1条曲线为参考,图9为采样时间800~1120 ns时的A点曲线对齐结果,可以看出根据自相关函数与互相关函数的最小差值估计延时,时域上得到了很好的对齐。经过实验验证,与传统最大相关系数对齐方法相比,本文所提方法成功攻击所需样本量(Measurements To Disclosure, MTD)都有所减少,证实了该对齐方法能在一定程度上提高侧信道攻击效率,表1为两种对齐方法的MTD对比,攻击效率最大提升了29.91%。
图9 对齐前后电磁曲线对比
表1 不同对齐方法的MTD值
用对齐后的多条电磁曲线进行KSVD降噪,经多次尝试、分析,设置字典所含原子个数为40,迭代次数为40,迭代次数过高会出现过平滑现象,使得有效信息细节被滤除,影响后续侧信道攻击效率。图10所示为信号降噪前后对比,可以看到消除了噪声抖动,使用文献[17]提出的降噪评价指标来评价KSVD方法的降噪效果,式(4)为平滑度计算公式,其中f(n)为 原始信号,fˆ(n)为降噪后信号
图10 KSVD降噪前后电磁曲线对比
该指标越小,表示去噪效果越好,本实验中KSVD降噪平滑度为0.9878。使用小波降噪处理作为对比,小波基为dB8,并根据不同位置曲线特点设置阈值。表2为两种降噪方法的MTD对比,攻击效率最大提升了55.23%。
表2 不同降噪方法的MTD值
3.5 侧信道攻击
相关性电磁攻击(Correlation ElectroMagnetic Analysis, CEMA)是一种有效的电磁分析攻击手段。CEMA 的攻击方法是,测量密码芯片在使用实际密钥对大量明文(密文)进行加解密运算时的实际电磁辐射,并根据电磁信息泄漏模型预测出相应的电磁辐射估计值,然后将实际电磁辐射与电磁辐射估计值进行Pearson相关系数计算,从而推测出密码芯片的密钥信息[18]。
在实验室评估中,通过分析自研AES芯片电磁地图,采集不同数量的曲线进行分析。通过对图8电磁辐射地图的分析,可以看出地图8左上方为辐射热点,而蓝色区域电磁信号很微弱,有效信号基本被噪声淹没。颜色越深信号幅度越大,理论上更容易进行分析,因此按照信号幅度由小到大选取芯片扫描区域中A点(x=800 μm, y=300 μm)、B点(x=1000 μm, y=200 μm)、C点(x=0 μm, y=0 μm)3个位置进行AES-128侧信道攻击,其中C点为辐射最强点。
选择AES加密第1轮S盒的输出作为攻击点,并以汉明距离模型为攻击模型,提取电磁曲线中相关采样点以加速攻击,对于原始电磁曲线,由于其在时间轴上处于未对齐状态,导致数据相关性减弱,图11为对3个芯片位置的原始电磁曲线的密钥第1字节攻击结果,正确密钥的相关性很弱,在16000条曲线下未能成功攻击。在进行最小相关差值法对齐预处理后,对于处理不同数据(0和1)的电磁差异在大量采集的信号样本中得到累积,在相关性曲线上产生明显尖峰,如图12所示,3个位置上都成功破解出正确密钥,A点MTD为737,B点MTD为614,C点MTD为313。在进行KSVD降噪后,如图13所示,由于信号信噪比的增加,正确密钥相关性进一步提升,相关性达到0.3,A点MTD降低为308,B点MTD降低为361,对于C点仅需244条电磁曲线即可实现正确攻击。通过3次实验的对比,验证了测评系统中数据预处理方法的有效性。
图11 原始曲线侧信道攻击相关性结果
图12 对齐曲线侧信道攻击相关性结果
图13 对齐与降噪曲线侧信道攻击相关性结果
同样选择AES加密第1轮S盒的输出作为攻击点,以汉明距离模型为攻击模型,对FPGA进行侧信道攻击,形成图14所示的侧信道攻击相关性结果。经过最小相关差值对齐后能够成功攻击出加密密钥,降噪处理后,MTD进一步减少。通过对AES芯片与FPGA电磁曲线进行数据预处理与侧信道攻击,证明了预处理算法的普适性与有效性。
图14 FPGA侧信道攻击相关性结果
对芯片进行区域性攻击更容易定位脆弱点,从而改进电路设计或采取防护措施,有效增强信息安全性。在实验中,通过对AES芯片与FPGA不同位置进行相关性电磁攻击,形成了图15、图16所示的相关性电磁地图,图15(a)与图16(a)为非同步系统侧信道攻击结果,其正确密钥下的最大相关性仅为0.11与0.14,证明相比同步系统,非同步系统的安全性更高,侧信道攻击难度更大。图15(b)、图16(b)分别为两种芯片经过对齐处理后的相关性电磁地图,正确密钥与攻击模型的相关性大幅度提升,使得侧信道攻击更加容易,图15(c)、图16(c)为两种芯片经过对齐与降噪预处理后的相关性电磁地图,相关性分别达到0.25与0.3,且密钥信息泄露区域更加明显,更容易定位辐射“热点”,且提高了定位的准确度。
图15 AES芯片侧信道攻击相关性电磁地图
图16 FPGA侧信道攻击相关性电磁地图
在侧信道攻击时,信噪比(Signal to Noise Ratio,SNR)与相关系数呈正比关系,同样是评测侧信道攻击效率的指标,反映了从原始信号中能够获取的密钥的信息量的大小。实验中通过计算AES芯片以及FPGA芯片电磁曲线信噪比,如表3所示,可以看到经过对齐预处理,曲线信噪比大幅度提升,表明侧信道攻击效率提高,经过降噪预处理后,信号中噪声分量减小,除了C点外,其余位置信噪比在对齐基础上均有一定程度的提高,同样提高了侧信道攻击效率。
表3 SNR计算结果(a.u.)
3.6 基于t-test的泄露评估
在本文中,基于统计分析的信息泄露评估方法对所提出的预处理算法进行效果评估,该评估不以密钥分析为目的,主要通过统计测试、信息熵评估等方式来判断密码运算过程是否存在信息泄露,通用性强并且评估周期短[19]。在实验中利用了T检验技术评估密码芯片两组泄露曲线均值的差异性,从而判断是否有相应的秘密信息泄露,其统计量t按式(5)计算,t值大于4.5时表示存在信息泄露
其中,A和B分别代表两组电磁曲线,NA和NB表示两组曲线集合的大小,XA和XB表示两组电磁曲线的均值,SA和SB表示两组电磁曲线的方差,t越大代表信息泄露越大。实验中基于首轮Sbox输出中间值的汉明距离将数据分类为集合A (HD1={0,1,2,3,4}) 和集合B (H D2={5,6,7,8}),表4展示了分别对AES芯片上3个位置的两组电磁曲线进行ttest评估结果,如表4所示,可以看出非同步系统未对齐曲线t值小于4.5,信息泄露程度小,具有一定的安全性。经过数据预处理后t值均大于4.5,证明对齐和降噪处理可以使有效信息泄露更加明显,提高侧信道攻击成功率。但由于该方法简单地把评估曲线分为两组,会导致脆弱点判别存在误差。
表4 t-test评估结果
4 结束语
本文针对侧信道分析过程中数据预处理的方法进行了研究。所提最小相关差值对齐方法相比于传统最大相关系数对齐方法提高了幅值的敏感度与对曲线变化的敏感度,降低了误对齐率;所提KSVD字典学习的降噪方法能在减少噪声、提高平滑度的同时保留有效信息细节。通过搭建实验平台,对AES加密芯片进行电磁数据的采集、预处理和安全测评,对比芯片的电磁辐射泄露点,使用两种预处理方法都能使相关性电磁地图泄露区域更加明显,辐射定位更加准确。侧信道攻击效率对比其他预处理方法分别提高了29.91%和55.23%。随着侧信道数据预处理方法的不断优化,测评技术不断增强,将有力提升密码芯片及相关密码产品信息数据的安全性和可靠性。