一种基于四元组网络的建模类侧信道攻击方法

文档序号:37965973发布日期:2024-05-13 12:12阅读:10来源:国知局
一种基于四元组网络的建模类侧信道攻击方法

本发明涉及信息安全领域,具体是一种基于四元组网络的建模类侧信道攻击方法。


背景技术:

1、侧信道攻击通过采集密码设备在执行密码算法时泄漏与秘密信息相关的物理信息(如电磁辐射、能量消耗、时间等)进行采样和分析,得出它们与秘密信息之间的关联,进而恢复出秘密信息。根据攻击者的能力和攻击方式的不同,侧信道攻击通常被分为非建模类侧信道攻击和建模类侧信道攻击两大类。

2、常见的非建模类侧信道攻击方法包括差分功耗分析(differential poweranalysis,dpa)、相关功耗分析(correlation power analysis,cpa)以及互信息分析(mutual information analysis)等。与之不同,建模类侧信道攻击方法假设攻击者拥有一个与目标设备相似的副本设备。在建模阶段,攻击者在副本设备上运行密码算法,采集大量能量迹数据以建立攻击模型。然后,在攻击阶段,攻击者在目标设备上采集能量迹数据,并利用建模阶段得到的攻击模型来恢复密钥。模板攻击是最早被提出并且最常见的高效建模类攻击方法之一。机器学习、深度学习被应用于建模类侧信道攻击后,其有效提升了传统方法的攻击能力,但对计算资源的开销也大大增加。

3、尽管深度学习具有强大的特征学习能力,但是在实际的攻击场景中,采集到的原始能量迹通常是高维信号,同时含有大量噪声,这使得这些能量迹携带了大量与泄露信息无关的特征点,使用这些高维且含大量噪声的能量迹进行模型训练,容易导致模型过拟合,并显著增加计算复杂性,从而降低了攻击准确率,甚至导致攻击失败。因此,针对建模类侧信道攻击,无论是传统的模板攻击还是深度学习模型建模,都需要加强对能量迹数据的特征提取,才能构建更高效的攻击模型。

4、为更好地提取特征并进行降维,本发明提出一种基于四元组网络深度度量模型的模板攻击方法。深度度量学习是通过深度学习技术来学习,可以在更高层次上更好地理解和表达数据之间的关联,从而提高模型对数据相似性的敏感性。但目前,四元组网络主要应用于目标识别领域。在侧信道攻击中,需要新构建适用于能量迹数据的四元组网络模型。


技术实现思路

1、本发明一种基于四元组网络的建模类侧信道攻击方法,该方法通过设计符合能量迹数据的四元组样本对选择策略和四元组损失函数,构建基于四元组网络的深度度量学习模型,提升模型区分样本对差异的能力;基于构建的四元组网络的深度度量学习模型,进行降维和特征提取,将能量迹数据转换为关键的低维特征;最后,利用提取的关键特征建立高效的模板攻击模型,降低攻击复杂度,提高攻击的准确率。

2、实现本发明目的的技术方案是:

3、一种基于四元组网络的建模类侧信道攻击方法,具体包括如下步骤:

4、(1)采集能量迹数据;

5、利用功耗采集设备采集密码芯片中目标密码算法运行时的功耗信息集合,即能量迹数据;

6、(2)计算建模集能量迹的标签;

7、基于假设的泄露模型完成对建模集能量迹标签的计算;

8、(3)设计四元组网络模型;

9、设计符合能量迹数据的四元组样本对选择策略和四元组损失函数,构建基于四元组网络的深度度量学习模型;

10、(4)训练四元组网络模型;

11、将建模集的能量迹与标签一同输入到构建的四元组网络模型中,迭代训练以得到最优模型;

12、(5)能量迹特征提取;

13、将建模集和攻击集能量迹分别输入到四元组网络模型中进行特征提取,得到关键的嵌入特征;

14、(6)采用模板攻击实施建模类侧信道攻击;

15、利用建模集嵌入特征建立模板,再利用攻击集嵌入特征进行模板匹配,完成对目标密码算法的密钥恢复。

16、本发明基于四元组网络的建模类侧信道攻击方法中,步骤(1)所述的采集能量迹数据,具体步骤如下:

17、(1.1)首先,在pc机上用编程语言实现目标密码算法,并通过烧录软件将密码算法烧录到密码设备中,将功耗采集设备示波器分别与pc机、密码设备进行连接;

18、(1.2)设置多条随机明文pp=(pp1,pp2,…,ppi,…,ppr),以及一个已知的固定密钥k=(k1,k2,…,ki,…,kz),其中r为明文的数量,z为密钥的字节数,每次将一条明文ppi和固定密钥k进行加密操作,并通过示波器采集密码设备每次加密操作过程中产生的功耗信息集合,即一个数量为r的用于建模的建模集能量迹集合,表示为tprofiling=(t1,t2,…,ti,…,tr),ti表示针对明文ppi加密并采集的能量迹;

19、(1.3)设置多条随机明文ppp=(ppp1,ppp2,…,pppi,…,pppw),以及一个未知固定密钥kk=(kk1,kk2,…,kki,…,kkz),其中w为明文的数量,每次将一条明文pppi和固定密钥kk进行加密操作,并通过示波器采集密码设备每次加密操作过程中产生的功耗信息集合,即一个数量为w的用于攻击的攻击集能量迹集合,表示为tattack=(tt1,tt2,…,tti,…,ttw),tti表示针对明文pppi加密并采集的能量迹。

20、本发明基于四元组网络的建模类侧信道攻击方法中,步骤(2)所述的计算建模集能量迹的标签,具体方法如下:

21、使用汉明重量泄露模型,计算建模集能量迹的标签l,其中hw(·)表示计算汉明重量,sbox(·)表示第i个字节的明文与第i个字节的密钥进行异或操作后再经对应sbox的输出。

22、本发明基于四元组网络的建模类侧信道攻击方法中,步骤(3)所述的设计四元组网络模型,具体步骤如下:

23、(3.1)具有相近汉明重量的中间值将产生相似的泄露信息,也就是说,能量迹之间的标签距离越小则可能表示能量迹越相似,因此,为更好地区别能量迹样本间的相似性,以能量迹样本和样本标签间的混合距离dh计算样本间的相似性,其中la,lb分别为能量迹样本a和b的标签,d(a,b)表示样本a和b之间在向量空间上的欧氏距离,d′(la,lb)表示两个样本标签之间的标准化欧氏距离,β为一个需要调整的常数;

24、(3.2)设计一个四元组样本对选择策略进行样本选取约束;

25、(3.2.1)从建模集能量迹中划分一个批次的能量迹,并读取步骤(2)计算的该批次能量迹的标签值;

26、(3.2.2)从所有能量迹不同类的标签值中,随机选取c个类的能量迹,每一类再随机选取q条能量迹,即筛选出c×q条能量迹;

27、(3.2.3)根据步骤(3.1)中混合距离dh计算方法,计算所筛选出的所有能量迹之间的距离,得到一个n×n的距离矩阵,n=c×q;

28、(3.2.4)根据距离矩阵n,选取两条标签值相同且距离最远的能量迹a、p,以及不同于a、p标签值且距离最近的两条新的能量迹m、n,且m、n的标签值也不相同;选取的四条能量迹(a,p,m,n)即为从该训练批次选取的四元组;

29、(3.3)在模型训练中,为了让距离最远的正样本对间的距离能够尽可能地小,让距离最近的两个不同类的负样本对间的距离尽可能地大,使得模型能够更好地减少类内差距,扩大类间差距,设计相应的四元组网络损失函数lnq为:

30、

31、其中,e为四元组样本对的数量,在每一个训练批次中,a和p为同类样本中距离最远的样本对,m和n为不同类样本中距离最近的样本对,margin是预设边际阈值,d(·)表示采用步骤(3.1)中混合距离dh计算的样本距离;

32、(3.4)构建四元组网络深度度量学习模型;

33、采用稠密卷积神经网络densenet构建四元组网络的深度神经网络模型,主要包括输入层、初始卷积层、两个稠密卷积块、过渡层和输出层;

34、其中,输入层接收能量迹数据作为初始输入;

35、初始卷积层的组成包括:卷积核大小为7×7的卷积层、批处理层、relu激活函数和最大池化层;

36、两个稠密卷积块结构相同,分别由5个相同的卷积块组成,包括:批处理层、relu激活函数、卷积核大小为1×1的卷积层、批处理层、relu激活函数以及卷积核大小为3×3的卷积层;

37、在第一个稠密卷积块后为过渡层,过渡层由填充层、卷积核大小为1×1的卷积层、批处理层、relu激活函数和平均池化层构成;

38、最终的输出层包含批处理层、relu激活函数、全局平均池化层、展开层和全连接层。

39、本发明基于四元组网络的建模类侧信道攻击方法中,步骤(4)所述的训练四元组网络模型,具体步骤如下:

40、(4.1)对于建模集能量迹,按照每个批次包含l条能量迹的数量划分为多个训练批次r/l;

41、(4.2)依次在每一个批次中,基于步骤(3.2)的选择策略,选择出在该批次中距离最远的正样本对和距离最近的两个不同类的负样本,形成一个四元组,这个四元组也是该批次中学习最困难的四元组;完成对所有批次的四元组样本对选择,获得r/l个四元组;

42、(4.3)将第一个批次的建模集的能量迹与标签一同输入到步骤(3.4)所设计的四元组网络模型中,进行迭代训练;

43、(4.4)根据步骤(3.3)设计的损失函数计算该批次四元组样本的损失值;

44、(4.5)根据损失值的大小,更新模型的参数,进行反向传播;

45、(4.6)若迭代结束则转步骤(4.7);否则转步骤(4.4);

46、(4.7)获得一个本次迭代训练的最优的四元组网络模型;

47、(4.8)若所有批次的四元组还没有训练完成,则从剩余训练批次选择下一个批次的四元组数据,以步骤(4.7)获得的四元组网络模型进行迭代训练,并转步骤(4.4);否则,转步骤(4.9);

48、(4.9)完成对所有批次的四元组迭代训练,最终得到一个最优的四元组网络模型m。

49、本发明基于四元组网络的建模类侧信道攻击方法中,步骤(5)所述的能量迹特征提取,具体步骤如下:

50、(5.1)将建模集的能量迹tprofiling与标签输入到步骤(4.9)得到的四元组网络模型m中,得到建模集能量迹的被降维和被提取的关键嵌入特征fprofiling,特征的维度为1×32;

51、(5.2)将攻击集的能量迹tattack输入到步骤(4.9)得到的四元组网络模型m中,得到攻击集能量迹的被降维和被提取的关键嵌入特征fattack,特征的维度为1×32。

52、本发明基于四元组网络的建模类侧信道攻击方法中,步骤(6)所述的采用模板攻击实施建模类侧信道攻击,具体步骤如下:

53、(6.1)模板建立阶段;

54、(6.1.1)利用步骤(5.1)得到建模集能量迹的关键嵌入特征fprofiling,根据其标签将嵌入特征分s类,s为标签的类别数量;

55、(6.1.2)对每一类嵌入特征进行模板的建立,模板由均值向量和协方差矩阵组成;

56、假设标签类别为f的能量迹共有y条,表示为其对应的嵌入特征为每一个嵌入特征上有32个点,即第i个嵌入特征fif可表示为则计算标签类别为f的嵌入特征的均值向量mf为:

57、

58、其中,xj为嵌入特征fif在某一样本点上对应的值;

59、标签类别为f的嵌入特征的协方差covf计算方法为:

60、

61、将(mf,covf)称为标签类别为f的嵌入特征所对应的模板;

62、(6.1.3)对所有标签类别的嵌入特征根据步骤(6.1.2)都建立相应的模板;

63、(6.2)模板匹配阶段;

64、(6.2.1)对于w条攻击集能量迹,相应的嵌入特征表示为{ff1,ff2,…,ffi,…,ffw},其中第i个嵌入特征ffi表示为ffi={x1,x2,…,xi,…,x32},则ffi为标签类别f的模板(mf,covf)的概率ph(·)的计算方法为:

65、

66、其中,g为嵌入式特征的样本点个数,为32;

67、(6.2.2)根据步骤(6.2.1)计算得到嵌入特征ffi对于所有标签类别的模板匹配的概率,表示为:{ph(ffi,(m1,cov1)),ph(ffi,(m2,cov2)),…,ph(ffi,(mf,covf)),…,ph(ffi,(m9,cov9))};

68、(6.2.3)根据极大似然估计准则进行判定,若某一概率ph(ffi,(mf,covf))的值最大,则能量迹的嵌入特征最有可能的标签类别则为f,即能量迹对应的正确密钥的标签为f;

69、(6.2.4)最后,根据步骤(2)的标签计算公式,以及对应明文即可推算出正确密钥;

70、(6.3)对所有嵌入特征都按照步骤(6.2)进行计算,可以推出多个密钥,这些密钥有很多都是相同的,而重复次数最高的密钥就是正确密钥。

71、本发明的有益效果是:

72、(1)本发明方法通过设计适用于能量迹的四元组样本对选择策略和损失函数,构建四元组深度度量网络模型进行特征提取,模型能够从原始能量迹中提取到关键且紧凑的嵌入特征,有效降低能量迹的维度,减少了原始能量迹携带的冗余信息;

73、(2)利用本发明方法所提取的关键嵌入特征,可以采用本发明方法中的模板攻击进行密钥恢复,也可以采用深度学习模型进行侧信道攻击恢复密钥,都能够有效降低攻击时计算的复杂度,提升攻击的成功率,减少恢复目标密码算法未知密钥所需的能量迹数量。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1