一种基于循环展开结构的抗侧信道攻击密码硬件实现方法

专利检索2025-12-20  5


本发明属于信息安全,具体涉及一种基于循环展开结构的抗侧信道攻击密码硬件实现方法。


背景技术:

1、密码技术,作为网络与信息安全的核心和基石,是最有效、最可靠、最经济的保障手段,在移动通信、政务交通、金融经济以及居民生活等领域发挥着不可替代的作用。

2、在现代密码学中,密码算法根据加密和解密时是否使用相同的密钥,可分为对称和非对称两类。分组密码,作为对称密码算法的重要分支,因其数据分组后加密速度快、软硬件实现效率高以及安全性评估迅速等优点,在需要数据安全和隐私保护的多个领域得到广泛应用。分组密码算法的应用效果极大地依赖于其实现载体,包括软件、硬件以及固件等多种形式。随着集成电路(integratedcircuit,ic)技术在过去30年的革命性发展,密码硬件已经成为了应用最为广泛的密码实现载体之一,其在性能和安全等方面显著优于软件实现。

3、密码硬件作为集成电路中的一类重要共性基础单元,被广泛应用于各种系统和设备中,如通用系统、智能手机/平板电脑、嵌入式系统、射频标签、传感器网络等,为信息安全提供机密性保障。

4、而能量分析、电磁分析等侧信道攻击由于难以检测,对密码硬件的安全性造成严重威胁。从2002年开始,国际标准(iso/iec17825)和国家标准(gm0083-2020)均将抗侧信道攻击能力逐步成为研制密码硬件的重要安全性要求之一。

5、抗侧信道攻击的密码硬件设计包括掩码、隐藏以及利用硬件结构特性等技术思路。其中,掩码和隐藏是学术界经常使用的侧信道攻击防护的技术思路。对密码算法中间值进行随机化处理的过程称为掩码。掩码方案包括rsm低熵掩码方案、阈值实现类方案、isw类掩码方案等。对侧信息泄漏进行随机化或者均匀化处理的过程称为隐藏。隐藏方案包括变频或乱序类方案、双轨预充电逻辑类方案等。利用硬件结构特性,是指根据易被侧信道攻击的位置,调整或重新设计硬件结构以抵抗侧信道攻击,该方法具有很大的灵活性。值得注意的是,引入码和隐藏等防护措施的密码实现,通常会带来额外的时间和面积开销。因此,本发明关注利用硬件结构特性来进行密码硬件的抗侧信道攻击设计。


技术实现思路

1、本发明解决的技术问题:提出一种基于循环展开结构的抗侧信道攻击密码硬件实现方法,解决现有密码硬件实现的侧信道攻击防御方案,具有实现面积大、吞吐率低且通常需要随机数的缺点,探索了循环展开结构与抗侧信道攻击之间的能力,并给出了抗侧信道攻击的单位面积吞吐率高的密码硬件实现方法。

2、技术方案:为了解决上述技术问题,本发明采用的技术方案如下:

3、一种基于循环展开结构的抗侧信道攻击密码硬件实现方法,包括以下步骤:

4、s1:选定基于轮函数的密码算法,并确定轮函数的迭代次数n;

5、s2:选择可以被迭代次数n整除的循环展开次数;

6、s3:根据循环展开次数,采用多种循环展开结构的密码硬件;

7、s4:根据循环展开结构的密码硬件,计算寄存器泄漏模型对应的敏感中间值,并对敏感中间值的密钥搜索空间进行分析;

8、s5:通过密钥搜索空间,进行第一次筛选,选出具有抗侧信道攻击能力的密码实现;

9、s6:通过信息泄漏检测,进行第二次筛选,选出相应抗侧信道攻击能力的密码实现;

10、s7:结合s5和s6的筛选结果,对抗侧信道攻击的密码实现进行筛选,选出具有抗侧信道攻击能力且单位面积吞吐率高的密码实现。

11、作为优选,在s3中,根据循环展开次数,采用多种循环展开结构的密码硬件,具体内容包括:单轮迭代结构、二合一迭代结构、四合一迭代结构、八合一迭代结构、十六合一迭代结构和全展开结构。

12、作为优选,在s4中,根据循环展开结构的密码硬件,计算寄存器泄漏模型对应的敏感中间值,并对敏感中间值的密钥搜索空间进行分析的具体内容为:

13、寄存器的泄漏模型为:hd(r1,r2)+noise=hw(r1⊕r2)+noise;

14、其中,r1和r2表示同一寄存器,在相邻两个周期的取值;hd表示汉明距离;hw表示汉明重量;noise表示噪声;⊕表示异或,将r1⊕r2称为寄存器的泄漏模型对应的敏感中间值。

15、作为优选,在s5中,通过密钥搜索空间,进行第一次筛选,选出具有抗侧信道攻击能力的密码实现的具体内容包括:

16、在多种循环展开结构的密码硬件的中进行筛选,筛选出密钥搜索空间最大的密码硬件。

17、作为优选,在s6中,通过信息泄漏检测,进行第二次筛选,选出相应抗侧信道攻击能力的密码实现的具体内容为:

18、对多种循环展开结构的密码硬件,在若干条能量迹下进行信息泄漏检测,筛选其中tvla最大值均小于4.5的密码硬件。

19、作为优选,根据tvla,采集一组数据,根据敏感中间值的任一位,将数据分成la和lb两组样本,其中la是选定位中间值为0,lb是选定位中间值为1的侧信息;

20、利用tvla对待测设备进行检测的计算过程如下:

21、

22、其中,是la的均值,sa2是la的方差;是lb的均值,sb2是lb的方差,如果|tu|≥4.5,则拒绝假设h0,表示密码设备没有泄漏,则la和lb与明文密钥无关,二者均值相等认为存在信息泄漏;若否,则接受h0,表示la和lb来自于同一分布,二者对应时刻的侧信息与dut中运行的数据无关,侧信息中不存在信息泄漏。

23、作为优选,在s7中,结合s5和s6的筛选结果,对抗侧信道攻击的密码实现进行筛选,选出具有抗侧信道攻击能力且单位面积吞吐率高的密码实现的具体内容为:

24、吞吐率是指单位时间内密码硬件单元处理数据的能力,对于分组密码而言,通常定义为,分组密码明文长度与处理明文所需时间的比值;

25、单位面积吞吐率表示吞吐率与密码使用的luts数量的比值,其中luts表示fpga中查找表资源。

26、有益效果:与现有技术相比,本发明具有以下优点:

27、(1)本发明从密码硬件结构设计的角度出发,进行抗侧信道攻击的密码硬件设计。本发明提出的基于循环展开结构的抗侧信道攻击密码硬件实现方法无需随机数即可抵抗侧信道攻击,现有的掩码方案需要随机数来生成共享因子和刷新掩码,而本发明无需随机数。

28、(2)本发明的实现方法不需要对布局布线做特殊的约束即可抗侧信道攻击,现有的隐藏方案的双轨预充电类逻辑需要正和反电路能够均匀、平衡的布局布线,而本发明无需特殊的布局布线要求。

29、本发明方法具有无需随机数、不需要对布局布线做特殊的约束的特点,可从多种设计方案中选出单位面积吞吐率高的密码实现。

30、(3)本发明的实现方法适用于多轮迭代的密码算法,包括分组密码算法、哈希算法以及认证加密算法等,例如aes、sm4、present、sha2、sha3、ascon等;可适用于fpga和asic等多种硬件平台。


技术特征:

1.一种基于循环展开结构的抗侧信道攻击密码硬件实现方法,其特征在于:包括以下步骤:

2.根据权利要求1所述的基于循环展开结构的抗侧信道攻击密码硬件实现方法,其特征在于:在s3中,根据循环展开次数,采用多种循环展开结构的密码硬件,具体内容包括:单轮迭代结构、二合一迭代结构、四合一迭代结构、八合一迭代结构、十六合一迭代结构和全展开结构。

3.根据权利要求1所述的基于循环展开结构的抗侧信道攻击密码硬件实现方法,其特征在于:在s4中,根据循环展开结构的密码硬件,计算寄存器泄漏模型对应的敏感中间值,并对敏感中间值的密钥搜索空间进行分析的具体内容为:

4.根据权利要求1所述的基于循环展开结构的抗侧信道攻击密码硬件实现方法,其特征在于:在s5中,通过密钥搜索空间,进行第一次筛选,选出具有抗侧信道攻击能力的密码实现的具体内容包括:

5.根据权利要求1所述的基于循环展开结构的抗侧信道攻击密码硬件实现方法,其特征在于:在s6中,通过信息泄漏检测,进行第二次筛选,选出相应抗侧信道攻击能力的密码实现的具体内容为:

6.根据权利要求5所述的基于循环展开结构的抗侧信道攻击密码硬件实现方法,其特征在于:根据tvla,采集一组数据,根据敏感中间值的任一位,将数据分成la和lb两组样本,其中la是选定位中间值为0,lb是选定位中间值为1的侧信息;

7.根据权利要求1所述的基于循环展开结构的抗侧信道攻击密码硬件实现方法,其特征在于:在s7中,结合s5和s6的筛选结果,对抗侧信道攻击的密码实现进行筛选,选出具有抗侧信道攻击能力且单位面积吞吐率高的密码实现的具体内容为:


技术总结
本发明公开了一种基于循环展开结构的抗侧信道攻击密码硬件实现方法,属于信息安全技术领域。该方法包括选定基于轮函数的密码算法,并确定轮函数的迭代次数N;选择可以被迭代次数N整除的循环展开次数;根据循环展开次数,采用多种循环展开结构的密码硬件;根据循环展开结构的密码硬件,计算寄存器泄漏模型对应的敏感中间值,对敏感中间值的密钥搜索空间进行分析;通过密钥搜索空间,进行第一次筛选,选出具有抗侧信道攻击能力的密码实现;通过信息泄漏检测,进行第二次筛选,选出相应抗侧信道攻击能力的密码实现;结合上述的筛选结果,对抗侧信道攻击的密码实现进行筛选,选出具有抗侧信道攻击能力且单位面积吞吐率高的密码实现。

技术研发人员:周永彬,张倩
受保护的技术使用者:南京理工大学
技术研发日:
技术公布日:2024/5/29
转载请注明原文地址:https://win.8miu.com/read-1159263.html

最新回复(0)