1、2023 年 5 月 Journal on Communications May 2023 第 44 卷第 5 期 通 信 学 报 Vol.44 No.5基于双样本 KS 检验的非特定 TVLA 方法 郑震,严迎建,蔡爵嵩,刘燕江(信息工程大学密码工程学院,河南 郑州 450001)摘 要:测试向量泄露评估(TVLA)在能耗样本量较少时易出现“假阴性”错误。针对该问题进行了理论推导,发现对非特定 TVLA,能量迹中存在泄露的采样点处得到的检验统计量 t 值随能耗样本量变化而变化,非泄露点处的 t 值则无显著变化,因此当存在泄露时不同能耗样本量下得到的 t 值序列的分布不同。据此提出在不同样本量
2、下实施非特定 TVLA 并对得到的 t 值序列实施双样本 KS 检验以评估泄露。分别在无防护对齐仿真能耗数据、加防护对齐能耗数据集 DPA Contest v4_2 和加防护非对齐自测能耗数据上进行了验证,结果表明在对齐的仿真能耗数据和 DPA Contest v4_2 数据集上所提方法检测出泄露所需样本量较其他方法均有所减小,最多分别减小了 46.1%和 39.0%;在非对齐的自测能耗数据进行对齐处理后,所提方法所需能耗样本量较其他方法同样有所减小,最多减小了 29.4%。因此所提方法能够有效减小能耗样本量较小时出现“假阴性”错误的概率。关键词:侧信道;测试向量泄露评估;假阴性;双样本 KS
3、 检验 中图分类号:TP309 文献标志码:A DOI:10.11959/j.issn.1000436x.2023101 Non-specific TVLA method based on two-sample KS test ZHENG Zhen,YAN Yingjian,CAI Juesong,LIU Yanjiang Department of Cryptogram Engineering,Information Engineering University,Zhengzhou 450001,China Abstract:Test vector leakage assessment(TV
4、LA)is prone to“false negative”when the power consumption sam-ple size is small.To address this issue,it was found that for non-specific TVLA,when the power consumption sample size changes,the test statistic t-values obtained at the leakage sampling points in the power trace vary ac-cordingly,while t
5、he t-values at the non-leakage sampling points do not significantly vary.Therefore,when there is leakage,the distributions of the t-values obtained under different sample sizes will be different.Based on this,it was proposed to implement non-specific TVLA under different sample sizes and perform two
6、-sample KS test on the obtained t-value sequences to evaluate whether there was leakage.Verifications were carried out based on un-protected-aligned simulation power consumption,protected-aligned power consumption dataset DPA Contest v4_2 and protected-non-aligned self-collected power consumption re
7、spectively.The results showed that the sample size required by the proposed method on the aligned simulation power consumption and DPA Contest v4_2 was re-duced by at most 46.1%and 39.0%respectively.And after the alignment,the required sample size of the proposed method on the self-collected power c
8、onsumption is also smaller than that of other schemes,with a maximum re-duction of 29.4%.Therefore,the proposed method can effectively reduce the probability of“false negative”when the power consumption sample size is small.Keywords:side-channel,test vector leakage assessment,false negative,two-samp
9、le KS test 收稿日期:20230210;修回日期:20230421 138 通 信 学 报 第 44 卷 0 引言 自 1999 年 Kocher 等1开创性地提出差分能量分析攻击以来,大量侧信道能量攻击方法相继被提出2-4,对各类密码实现的安全性构成了严重威胁。当前,对侧信道能量信息安全性的评估已经成为密码设备安全性测评中不可或缺的重要环节。最初,评估能量信息安全性是通过实施能量攻击的方法实现的,如果能够攻破说明存在泄露。然而,随着新的能量攻击方法不断被提出,这种评估形式的成本变得越来越大且准确性难以得到保证。因此,不依赖于能量攻击方法的通用型能量信息泄露评估方法逐渐成为更普遍的选
10、择。不同于实施攻击的评估形式,通用型评估方法旨在判断是否存在能量信息泄露,而不关注怎样利用这些泄露破解密钥等敏感信息,其基于成熟的数理统计理论,通过执行确定性的评估步骤来判断明文或密钥等秘密信息是否和能量消耗存在相关性,进而判断泄露情况。目前,最常用的通用型能量信息泄露评估方法是测试向量泄露评估(TVLA,test vector leakage assessment)5技术,该技术将采集的能耗分为两组,并根据两组能耗均值间的差异来判断是否存在泄露,若有显著的统计差异则认为存在泄露。根据分组依据的不同,TVLA 可分为特定 TVLA 和非特定TVLA,其中特定 TVLA 根据密码算法中间值的一位
11、或多位的取值进行分组,非特定 TVLA 则根据输入明文对能耗数据进行分组,其中一组为固定明文,另一组为服从均匀分布的随机明文。由于可选择的密码算法的中间值数目庞大,特定 TVLA 所需耗费的成本非常大,以 AES-128 算法为例,在考虑圈密钥加、字节置换、行移位和列混合这 4 种密码操作的情况下,仅在算法的一轮运算中就可实施 4128种位测试和 416256 种字节测试,因此目前应用较多的是非特定 TVLA。TVLA 将复杂的泄露检测问题简化为易行的统计步骤,并且不需要评估人员掌握过多的算法实现知识6-7,具有简单、高效和可操作性强等优势,近年来被广泛应用于信息泄露的检测中8-10。然而,受
12、噪声和自身检验统计量设计等因素影响,TVLA易出现“假阳性”(实际无泄露却判定存在泄露)和“假阴性”(实际有泄露却判定不存在泄露)的错误,相关领域的学者对此开展了大量研究。总体来说,当前对 TVLA 的研究主要可分为对 TVLA 进行创新和寻找 TVLA 的替代方法两类。文献11提出一种基于 HC(higher criticism)检验的 TVLA 方法,对 TVLA 得到的各采样点处的 p 值(由检验统计量 t 值得出的零假设成立,即不存在泄露的概率)实施 HC 检验,通过比较在无泄露情况下预期的 p值分布和实际检验得到的 p 值的分布之间的差异对泄露情况进行判断。该方法能够检测出信号较弱的
13、泄露,当能量迹中存在多处泄露信号时该方法较TVLA 能以更小的能量迹样本量检测出泄露。文献12针对两组能耗样本的均值差异较小时TVLA存在漏检的问题,提出对能耗样本的均值与方差进行综合差异评估,当样本均值间的差异大于方差间的差异时实施多分类 F 检验,当样本均值间的差异小于方差间的差异时实施 Bartlett 检验。该方案能够有效解决两组能耗的均值差异不显著导致的“假阴性”错误。文献13提出一种配对 t 检验的方案,对密码算法相邻的两次加密进行配对,由于执行一次加密的时间非常短,可以认为相邻的两次加密是在相同的外界环境下进行的,因此在配对时做差即可减小环境噪声的影响,得到更加稳定的检验统计量,
14、从而以更小的能耗样本量检测出泄露。文献14同样对配对 t 检验方案进行了研究。文献15通过显著性检验的方法对 TVLA 中的阈值设置问题进行了研究,减小了检验犯“假阳性”错误的概率。文献16提出用卡方检验结合 TVLA 对泄露进行检测,该方案利用卡方检验的性质将泄露检测扩展到了多个能耗分组上,且可以捕获多个统计矩中的泄露。当信息泄露在一阶统计矩(均值)上的差异性不大时该方案可以检测出TVLA 方法漏报的泄露点。文献17提出一个基于置信区间的泄露评估框架,该方法对噪声的鲁棒性较强,能够有效避免评估中的“假阳性”错误。2021 年,文献18首次将深度学习应用于泄露评估中,使评估人员不必考虑泄露在能
15、量迹中的位置、能量迹是否对齐和泄露的统计矩阶数等问题,且直接覆盖了多变量等泄露情形。文献19提出一种针对高阶掩码的基于Levene 检验的泄露检测方法,首先对能耗数据的分布进行判定,若为正态分布则实施 TVLA,否则实施Levene 判断多个能耗分组的方差是否相同,进而对泄露情况进行判定。该方法能够以较小的样本量检测出存在的高阶泄露。本文针对能耗数据样本量较小时TVLA易出现“假阴性”错误的问题,推导发现在非特定 TVLA中,能量迹中泄露点处的 t 值随能量迹样本量的变化第 5 期 郑震等:基于双样本 KS 检验的非特定 TVLA 方法 139 而变化,而非泄露点处的 t 值无显著变化。因此当
16、存在泄露时,非特定 TVLA 在不同样本量下得到的 t 值的分布不同;当不存在泄露时,不同样本量下得到的t 值的分布无显著变化。据此,本文提出在不同样本量下分别实施非特定 TVLA 并对得到的t 值序列实施双样本 KS 检验以判断其是否服从相同分布,从而评估泄露情况。本文方法根据 t 值分布的变化情况而非 t的具体取值对泄露情况进行判断,能够有效减小检测泄露所需的能耗数据样本量。1 TVLA 概述及技术分析 在各类能量分析攻击中,攻击者试图根据能耗的数学统计特征设计不同的攻击形式来获取与所处理数据相关的信息进而破解密码算法。因此,当所处理的数据发生变化时,若密码设备能耗的统计特征也随之发生显著
17、变化,则说明能耗中有攻击者可利用的信息,即存在能量信息泄露。TVLA 正是基于上述原理,利用 t 检验分析密码设备处理不同数据时产生的能耗均值是否发生变化,从而判断是否存在能量信息泄露,其零假设和备择假设分别为0H表示不存在泄露和1H表示存在泄露。其具体步骤如下。首先将采集到的能耗数据分为两组,分别记为0和1,将其样本量、样本均值和样本方差分别计为2000(,)nS和2111(,)nS,TVLA的检验统计量t和自由度v分别为 012201012220101222201010111tSSnnSSnnvSSnnnn(1)然后,得到对应的t分布的概率密度函数(,)f t v和零假设成立的概率 p 分
18、别为 12212(,)122(,)dvtvtf t vvvvpf t vt(2)其中,()是伽马函数。由以上过程可知,当TVLA得到的p值较小或t值的绝对值较大时,零假设成立的概率较小,应拒绝零假设,判定存在泄露。TVLA将复杂的泄露检测问题转化为简捷的计算步骤,具有简单高效等优势,然而该技术同时具有如下缺陷。1)对能耗值的分组数过小,无论算法中间值的位数为多少,仅简单地将采集的能耗分为两组。这一缺陷可能导致能耗统计特征的变化被隐藏在其中的一个能耗值分组中。2)由式(1)可知,TVLA检验统计量的构造形式为能耗的一阶矩,这可能与一些场景下能耗泄露的特征并不符合。这一缺陷可能导致能耗统计特征的变
19、化被隐藏在能耗的高阶矩中。3)在能量迹样本量较小的情况下,能耗中的噪声等偶然因素对能耗统计特征的影响较大。这可能导致实际上存在泄露的设备在处理不同数据时产生的能耗的统计特征变化并不显著,从而使TVLA出现“假阴性”错误。针对上述第3个缺陷,为尽可能地减小能耗样本量较小时噪声的影响,本文对能量迹中得到的t值的分布进行研究。经分析推导发现,随着能量迹样本量的变化,泄露点处的t值和能量迹样本量存在正相关的比例关系,而非泄露点处的t值和能量迹样本量无相关关系。据此,本文提出在2个不同能量迹样本量下分别实施非特定TVLA,然后对得到的2个t值序列实施双样本KS检验判断其是否服从相同分布。当2个t值序列服
20、从相同分布时说明在不同能量迹样本量下t值的分布无明显变化,可以认为能量迹中不存在泄露,否则认为存在泄露。2 基于双样本KS检验的非特定TVLA方法 2.1 非特定 TVLA 中能量迹样本量与 t 值关系 密码设备的能量消耗依赖于执行的密码操作和处理的数据,可将能耗中的操作依赖分量记为opP,数据依赖分量记为dataP;同时,能耗中不可避免地含有与所执行的密码操作和所处理的中间值无关的服从正态分布的噪声分量noiseP以及由漏电流等产生的常量部分constP。据此,可用式(3)刻画密码设备的总能量totalP20。totalopdatanoiseconstPPPPP(3)TVLA是逐采样点实施的
21、过程,本节根据式(3)中的能耗模型对能量迹中的单个采样点进行分析,将该采样点记为sp,分组0 和1 中的能耗值分别140 通 信 学 报 第 44 卷 记为0P和1P。将能量迹样本量为n时0和1的样本量、样本均值和样本方差分别计为2000(,)nS和2111(,)nS;能量迹样本量为kn时0和1的样本量、样本均值和样本方差分别记为2000(,)nS和2111(,)nS。1)采样点sp是泄露点 a)分组0 各条能量迹对应相同的明文和密钥,故密码算法的中间值相等,则能耗值中的数据依赖分量dataP均相等;各能量迹的sp采样点对应相同的密码操作,故各能耗值中的操作依赖分量opP相等;由定义知各能耗值
22、中常量部分constP也相等。因此可将0P中的dataP、opP及constP之和记为一个常量0C,则有 0opdatanoiseconstnoise0PPPPPPC(4)定理 1 随机变量2(,)XN,则X的线性函数2(0)(,()YaXb aN ab a。由于噪声分量noiseP服从正态分布,结合定理1可知0P同样服从正态分布,设0002(,)PN。b)分组1 各条能量迹对应服从均匀分布的随机明文和固定密钥,故各能耗值中操作依赖分量opP和常量分量constP均相等,可将二者之和记为一个定值1C,则有 1opdatanoiseconstdatanoise1PPPPPPPC(5)定理 2 若
23、2(,),1,2,iiiXNin,则它们的 和12nZXXX仍 服 从 正 态 分 布,且2221212(,)nnZN。当被处理的数据服从均匀分布时,能量消耗中的数据依赖分量dataP服从正态分布20。同时,噪声分量noiseP服从正态分布且noiseP和dataP相互独立。可知1P同样服从正态分布,设1112(,)PN。定理 3 12,nXXX是 来 自 正 态 总 体2(,)N 的样本,X和2S分别是样本均值和样本方差,则有 22,E(),(),NDnnXXX(6)222122211E()E11E()E()1niiniinnnnSXXXX(7)由于0002(,)PN且1112(,)PN,则
24、采样点sp处0和1中的能耗值可分别看作来自2个正态分布的样本,由定理3可得0和1中能耗样本的均值和方差的期望分别为 000022E(),E()PSP(8)111122E(),E()PSP(9)定理 4 随 机 变 量X具 有 数 学 期 望E()X,方差2()D X,则对于任意正数有 22P X(10)结合式(8)和式(9)可得 000022200E(),E()PSSP(11)111122211E(),E()PSSP(12)将能量迹样本量为n时的t值记为nt,即 01220101ntSSnn(13)当样本量变为kn时,由于非特定TVLA的分组依据不变,因此0和1样本量的比例不变,则有0011,
25、nkn nkn。由式(11)和式(12)可知,样本均值和样本方差的近似值和样本量无关,因此0011,且22220011,SSSS。将能量迹样本量为kn时的t值记为knt,则有 010122220011010101220101knntSSSSnnknknkktSSnn(14)2)采样点sp不是泄露点 根据本文第1节对泄露检测原理的分析可知,无论能量迹样本量为多少,0和1的样本量都相等,样本均值和样本方差之间均不存在显著的统计差异,即 0101nnknkn(15)222200110011,SSSS(16)则01和01均可看作一个无穷小量。定理 5 无穷小和有界函数之积仍为无穷小。第 5 期 郑震等
26、:基于双样本 KS 检验的非特定 TVLA 方法 141 故能量迹样本量为n时的t值为 0122220011010110tSSSSnnnn(17)同理可得能量迹样本量为kn时的t值0knt,因此nkntt。由以上推导结果可知,当样本量由n变为kn时,无泄露的采样点处得到的t值无显著性变化,而存在泄露的采样点处的t值则变为原t值的k倍。因此,当存在能量信息泄露时,在不同能量迹样本量下实施非特定TVLA得到的t值序列所服从的分布不同,而不存在泄露时得到的t值序列的分布相同。2.2 算法设计 本节利用2.1节中的结论,引入双样本KS检验对非特定TVLA在不同能量迹样本量下得到的t值序列的分布是否相同
27、进行检验,若分布不同则判定存在泄露,否则判定不存在泄露。双样本KS检验用样本的经验分布函数来近似估计总体的累积分布函数,从而对2个样本是否服从相同分布进行判断,其零假设和备择假设分别为0H表示2个样本服从相同分布和1H表示2个样本不服从相同分布。对于某抽样样本的观测值12,ns ss,其经验分布函数()F x为 11()insiF xIn(18)其中,当isx时1isI,当isx时0isI。双样本KS检验的统计量为 max()()DF xFx(19)其中,()F x和()Fx分别为2个样本的经验分布函数。检验阈值为 1ln22pqTpq(20)其中,为检验的显著性水平,pq和 分别为2个样本的
28、样本量。当DT时接受0H,判定2个样本服从相同分布;否则拒绝0H,判定2个样本不服从相同分布。由此本文提出基于双样本KS检验的非特定TVLA方法:将采集的n条能量迹(每条含p个采样点)记为能耗矩阵n pA,首先依次对矩阵n pA中能量迹的每个采样点依次实施非特定TVLA,分别用num、mean和var函数求出2个分组0A和1A的样本量、样本均值和样本方差并根据式(1)求出t值,将得到的p个t值记作序列 S;再从矩阵n pA中选择出(01)knk条能量迹,将其记为矩阵kn pB,对矩阵 B 实施相同操作得到t值序列 R(由于能量迹中采样点数量不变,故S和 R 中均有p个t值);利用ecdf函数分
29、别求得序列 S 和 R 的经验分布函数FS和FR,利用 abs 和 max 函数求得FS和FR之差的绝对值的最大值D,并比较D和阈值T的大小,当DT时令0C,判定不存在泄露,反之令1C,判定存在泄露。上述主要步骤的流程如图 1 和算法 1 所示。图 1 基于双样本 KS 检验的非特定 TVLA 流程 算法 1 基于双样本 KS 检验的非特定 TVLA 输入 n pA,k;输出 C;1)Begin 2)对n pA实施TVLA,将得到的t值序列 赋给S 3)for =1 to doip 4)01mean()mean()z AAA;142 通 信 学 报 第 44 卷 5)2000var()num(
30、)wAAA;6)2111var()num()wAAA;7)1201()wwwAAA;8)ziwAAS;9)end for 10)从n pA中选择出kn条能量迹组成矩阵 B 11)select(,)kBA;12)对 B 实施 TVLA,将得到的t值序列赋给 R 13)for=1 to doi p 14)01mean()mean()z BBB;15)2000var()num()wBBB;16)2111var()num()wBBB;17)1201()wwwBBB;18)ziwBBR;19)end for 20)求 S 的经验分布函数 21)ecdf()F SS;22)求R的经验分布函数 23)ecd
31、f()F RR;24)求双样本 KS 检验的统计量 25)max(abs()()DFxFxSR;26)求双样本 KS 检验的阈值 27)1221ln222pTp;28)if thenDT 29)0C;30)else 31)1C;32)end if 33)0C则不存在泄露,1C 则存在泄露 34)return C;35)end 3 实验验证 3.1 实验配置 本节从以下方面对算法 1 展开验证。1)用不同平台的能耗数据分别进行验证。分别采用了 MATLAB 仿真能耗数据、DPA Contest v4_2数据集21和基于 Chipwhisperer 开发板的自测能耗数据。此外,本文对这 3 个能耗
32、数据集分别实施了相关能量分析(CPA,correlation power analysis),以明确能耗数据中确实存在能量信息泄露,从而进一步验证本文方法的有效性。2)对无防护措施和加防护措施的情况分别进行验证。MATLAB 仿真能耗未加防护措施,DPA Contest v4_2 数据集和自测能耗数据设置了一阶RSM 掩码防护措施。3)用对齐和非对齐的能耗数据分别进行验证。仿真能量迹和 DPA Contest v4_2 数据集中的能耗数据均是对齐的,自测所得能量迹存在抖动。4)用不同密码算法分别验证。仿真能耗数据和 DPA Contest v4_2 上的验证针对 AES-128算法展开,自测能
33、耗数据上的验证针对 SM4 算法展开。5)对不同的泄露检测方法进行对比:分别实现本文方法、TVLA5、基于 HC 的 TVLA11、基于配对的 TVLA13、基于深度学习的泄露检测方法18和基于 Levene 检验的泄露检测方法19并进行了对比。其中,对于 TVLA 和基于配对的TVLA,为减小噪声等偶然因素影响,在每个样本量下实施两次检验,在各采样处对得到的 2 个t值平均值的绝对值进行统计;在基于深度学习的检测方法中,简便起见,使用多层感知器网络模型并将训练过程迭代次数设为 20,将验证集样本量设为 1 000 并使其中 2 个标签分组的能量迹样本量相等,实验中能量迹样本量均指与验证集互相
34、独立的训练集样本量。需要明确的是,基于 Levene 检验的泄露检测方法针对的是加掩码防护的情形,故在无防护的仿真能耗数据中未对比该方法。本文实验中将显著性水平均设置为0.001,则可由式(20)计算双样本 KS 检验阈值,基于 HC 的TVLA 检验阈值为 31.65,基于深度学习和基于Levene 则均以得到的p值的对数形式lg(p)为统计量,阈值均为 5,而在 TVLA 及基于配对的 TVLA第 5 期 郑震等:基于双样本 KS 检验的非特定 TVLA 方法 143 中,将检验阈值设为定值会导致产生误判的概率随能量迹中采样点数量的增加而增大,使对不同长度的能量迹实施评估的精确度不同。因此
35、,为实现对不同长度能量迹的公平评估,应根据能量迹中采样点的数量设置阈值。设能量迹中采样点的数量为l,TVLA 的整体显著性水平为,单次检验的显著性水平为TH,则有 TH1(1)l (21)结合t分布的累积分布函数CDFt可得阈值TH和TH的关系为 TH2(1CDF(TH,)tv(22)进一步可得 1111(0,1)1(1)THCDF,21(1)CDF2ltlNv(23)3.2 基于无防护对齐仿真能耗数据的验证 本节利用MATLAB工具实现AES-128算法,并通过式(24)中的能耗模型仿真能量消耗。HW()PMN(24)其中,P为仿真能耗值,HW为汉明重量函数,M为算法中间值,N为服从标准正态
36、分布的噪声。验证过程中,首先采集6 000条仿真能量迹,每条能量迹设置3 000个采样点,对其实施非特定TVLA,根据式(23)可计算得到单次t检验的阈 值 为5.1035t,双 样 本KS检 验 阈 值 为0.050 3。然后分别挑选出3 000条和1 500条能量迹重复实施非特定TVLA。在上述3个不同样本量下,能量迹中的部分采样点得到的t值如图2所示。具体统计分析如下。1)当样本量为6 000时,采样点区间(500,750)和(2 100,2 400)内大部分t值超过了阈值,经重复实验,该2个区间内多数采样点处的t值在相同方向(2次得到的t值正负相同)超过了阈值,证明这2个采样点区间内存
37、在泄露。2)当样本量为1 500和3 000时,2个泄露区间内的t值均未超过阈值,说明在这2个能量迹样本量下存在“假阴性”误报错误。图 2 仿真样本量为 1 500、3 000 和 6 000 时的部分采样点 t 值 3)在3个泄露区间内,样本量越大,得到的t值越大。在泄露区间外,随样本量变化t值无明显变化。从图2中可知,在能量迹中泄露点处得到的非特定TVLA的t值随样本量的增大而增大,而非泄露点处的t值无显著性变化,因此当样本量较小时,泄露点处的t值会因为样本量不足而无法超过阈值导致“假阴性”误判。同时,对以上3个不同样本量下得到的t值序列实施双样本KS检验可得1500,3000D、1500
38、,6 000D和3 000,6 000D分别为0.056 7、0.073 5和0.062 3,均大于阈值0.050 3。因此在以上3个能量迹样本量下,算法1在样本量为3 000时即可检测出泄露,而TVLA在样本量为6 000时才能发现泄露。然后在不同能量迹样本量下分别实施3.1节所述各泄露检测方法并进行对比,图3为对比结果,其中本文方法以左侧y轴为参照,其他方法均以右侧y轴为参照。由图3可知,在3次对比实验中,本文方法最少仅需2 568条能量迹即可使统计量超过阈值;TVLA、基于配对的TVLA、基于HC的TVLA和深度学习检测方法分别需要3 980、4 768、3 632和2 896条能量迹。
39、本文方法所需能量迹分别减少了35.5%、46.1%、29.3和11.3%。144 通 信 学 报 第 44 卷 图 3 仿真环境对比结果 3.3 基于加防护对齐能耗数据集的验证 本节利用公开能耗数据集DPA Contest v4_2进行验证,该数据集采集的是Atmel ATMega-163智能卡上加RSM掩码防护AES-128算法的能耗,实验中根据式(25)进行预处理22。1()iidttiLL(25)其中,itL为it时刻的能耗,it为it时刻能耗的均值,d为共享因子的数量,L为处理后的能耗。验证过程中同样地统计各方法在不同能量迹样本量下的检验统计量,结果如图4所示。图 4 DPA Cont
40、est v4_2 数据集对比结果 由图4可知,在3次实验中本文方法最少需27 800 条能量迹即可使统计量超过阈值,TVLA、基于配对的TVLA、基于HC的TVLA、基于Levene的检测方法和深度学习检测方法分别需要45 590、41 750、42 710、41 020和31 200条能量迹,本文方法所需能量迹分别减少了39.0%、33.4%、34.9%、32.2%和10.9%。第 5 期 郑震等:基于双样本 KS 检验的非特定 TVLA 方法 145 3.4 基于加防护非对齐实测能耗数据的验证 本节利用Chipwhisperer开发板采集SM4算法的能耗展开验证,目标板为CW303单片机,
41、采集板为CW1173,通过自带的OpenADC模块直接采集能耗。实验前根据式(25)进行预处理,实验中调整采样频率将能量迹中采样点数量设置为5 000,可求得双样本KS检验和t检验的阈值分别为0.039和5.199 2。对比结果如图5所示。图 5 实测环境实验对比结果 经统计,在3次实验中本文方法最少需53 680条能量迹可使统计量超过阈值,TVLA、基于配对的TVLA、基于HC的TVLA、基于Levene的检测方法和深度学习检测方法分别需要76 060、66 840、64 280、59 220和49 960条能量迹,本文方法所需能量迹比深度学习方法增加了7.4%,比其他方法分别减少了29.4
42、%、19.7%、16.5%和9.4%。为使验证结果更全面,利用相关系数法对能量迹进行了对齐处理,然后在处理后的能耗数据上分别实施本文方法和深度学习检测方法并进行对比,结果如图6所示。图 6 实测环境下对齐后本文方法与深度学习方法的对比 本文方法需26 500条能量迹即可使统计量超过阈值,而深度学习检测方法需35 280条能量迹,本文方法所需样本量比深度学习方法少24.9%。3.5 攻击验证 本节对上述3个能耗数据集分别实施CPA攻击以验证本文算法1的有效性。在实施攻击前,利用相关系数法对未对齐的自测能耗数据进行了对齐处理,并根据式(25)进行了预处理。实施攻击过程中,分别根据明文和密钥计算得到
43、AES-128算法和SM4算法第一轮S盒输出,并根据汉明重量模型得到能耗的映射值,然后通过计算该映射值和能量迹中的实际能耗值之间的相关系数实施攻击。对3个能耗数据集实施攻击时,分别以3 000、20 000和30 000为初始能量迹样本量,以300、1 000和1 500为样本量增量,不能攻破时即增加样本量,直至攻破密钥。实验结果表明,对3个能耗数据集的攻击分别在样本量增加至3 600、33 000和37 500146 通 信 学 报 第 44 卷 时破获密钥。攻击验证的结果表明这3个能耗数据集中确实存在泄露,且攻破密钥所需能耗样本量与实施评估检测出泄露所需样本量的大小次序相一致。综合分析以上
44、各实验结果可得如下结论。1)相 较 深 度 学 习 泄 露 检 测 方 法,在 对AES-128和SM4算法的验证中,在能量迹未对齐的情况下本文方法检测出泄露所需样本量稍大;经对齐处理后,本文方法所需样本量小于深度学习方法。2)相较其他泄露检测方法,无论是否施加防护措施,无论能量迹是否对齐,在对AES-128和SM4算法的验证中本文方法均能以更小的能耗样本量检测出泄露。综上,本文所提非特定TVLA方法能够有效减小因能耗样本量较小而产生的“假阴性”误判错误。4 结束语 针对能量迹样本量较小时TVLA易产生“假阴性”误判的问题,本文提出利用双样本KS检验对不同样本量下得到的非特定TVLA的t值序列
45、进行分析从而判断泄露情况。所提方法利用能量迹中t值的分布随能耗样本量的变化对泄露情况进行判断,避免了因能耗样本量偏小造成的泄露点处t值不超过阈值的现象,减小了“假阴性”误判概率。然而所提方法仍存在以下问题:1)选择能量迹的方法有待优化;2)需重复实施TVLA,评估效率有所降低。后续研究将从以下方面开展:1)选择能量迹的方法;2)根据推导得到的检验t值和能量迹样本量的变化关系对泄露检测所需样本量进行研究。参考文献:1 KOCHER P,JAFFE J,JUN B.Differential power analy-sisC/Advances in Cryptology-CRYPTO 99.Berl
46、in:Springer,1999:388-397.2 BRIER E,CLAVIER C,OLIVIER F.Correlation power analysis with a leakage modelC/Cryptographic Hardware and Embedded Sys-tems-CHES 2004.Berlin:Springer,2004:16-29.3 GIERLICHS B,BATINA L,TUYLS P,et al.Mutual information analysisC/Cryptographic Hardware and Embedded Systems-CHES
47、 2008.Berlin:Springer,2008:426-442.4 吴震,王燚,周冠豪.有学习的高阶 DPA 攻击J.通信学报,2018,39(9):135-146.WU Z,WANG Y,ZHOU G H.High order DPA with profilingJ.Journal on Communications,2018,39(9):135-146.5 GOODWILL G,JUN B,JAFFE J,et al.A testing methodology for side-channel resistance validationC/NIST Non-Invasive Atta
48、ck Testing Workshop.S.l.:s.n.,2011:115-136.6 STANDAERT F X.How(not)to use Welchs t-test in side-channel security evaluationsC/Smart Card Research and Advanced Applica-tions.Berlin:Springer,2019:65-79.7 DAO B A,HOANG T T,LE A T,et al.Correlation power analysis attack resisted cryptographic RISC-V SoC
49、 with random dynamic fre-quency scaling countermeasureJ.IEEE Access,2021,9:151993-152014.8 STEINBAUER T,NAGPAL R,PRIMAS R,et al.TVLA on selected NIST LWC finalistsEB.2022.9 LU C C,CUI Y J,KHALID A,et al.A novel combined correlation power analysis(CPA)attack on schoolbook polynomial multiplication in
50、 lattice-based cryptosystemsC/Proceedings of 2022 IEEE 35th In-ternational System-on-Chip Conference(SOCC).Piscataway:IEEE Press,2022:1-6.10 JEVTIC R,OTERO M G.Methodology for complete decorrelation of power supply EM side-channel signal and sensitive dataJ.IEEE Transactions on Circuits and Systems
©2010-2024 宁波自信网络信息技术有限公司 版权所有
客服电话:4008-655-100 投诉/维权电话:4009-655-100