【技术实现步骤摘要】
针对SNOW3G算法的侧信道安全性检测方法
[0001]本专利技术涉及的是一种计算机安全领域的技术,具体是一种用于差分功耗分析(DPA)以及相关性功耗分析(CPA)的针对SNOW3G算法的侧信道安全性检测方法。
技术介绍
[0002]SNOW3G是由ETSI/SAGE于2006年设计的一个流密码算法,该算法已被3GPP(3rd Generation Partnership Project)采纳为国际加密标准,成为4G/5G移动通信中机密性保护算法和完整性保护算法的核心算法。密码算法在物理设备上运行时会泄漏可能包含敏感数据的侧信道信息,这些信息可被利用成为设备的安全隐患,因此对于这些物理设备需要有对应的安全检测方案以确定设备是否具有抗侧信道攻击的能力。
技术实现思路
[0003]本专利技术针对现有技术无法通过分析SNOW3G算法的功耗信息进行安全检测的不足,提出一种针对SNOW3G算法的侧信道安全性检测方法,利用相关性功耗分析方法,结合SNOW3G算法结构,能够在较短的时间内实现安全性检测。
[0004 ...
【技术保护点】
【技术特征摘要】
1.一种针对SNOW3G算法的侧信道安全性检测方法,其特征在于,通过采集SNOW3G算法在待测物理设备上运行时产生的包含SNOW3G算法执行信息的功耗曲线,检测是否能够从功耗曲线中解析出SNOW3G算法中包含密钥信息的状态参数,从而得到待测物理设备的安全性检测结果;所述的相关性功耗分析是指:一部分查找表的索引inx等价于固定不变的分量a与随机变化的分量b相异或的结果,即inx=a^b;另一部分查找表的索引inx等价于固定不变的分量a与随机变化的分量b相异或再与固定不变的分量c相加的结果,即inx=(a^b)+c,其中:随机分量b是外部已知量,a和c是内部未知量;通过遍历固定不变的分量a的所有可能值或同时遍历固定不变的分量a和c的所有可能值,用已知的随机变化的分量b与分量a的猜测值a
′
异或得到猜测索引inx
′
=b^a
′
,或与猜测值a
′
异或后再与猜测值c
′
相加得到猜测索引inx
′
=(b^a
′
)+c
′
);用inx
′
查表得到假设的输出值out
′
,再将输出值out
′
和对应的功耗曲线计算皮尔森相关性系数,当且仅当inx
′
=inx时相关系数达到最大;对于猜测值仅有a
′
的部分,只有a
′
=a时有inx
′
=inx;对于猜测值包括a
′
和c
′
两个值的部分,存在两组a
′
和c
′
值使得inx
′
=inx。2.根据权利要求1所述的针对SNOW3G算法的侧信道安全性检测方法,其特征是,所述的运行是指:SNOW3G算法执行信息指算法中的查表操作,即根据给定的索引值从查找表中得到对应的值,其中查找表具有256个索引项,索引值范围为0
‑
255。3.根据权利要求1所述的针对SNOW3G算法的侧信道安全性检测方法,其特征是,所述的状态参数包括:算法初始化过程中三个特定寄存器和的状态值,其中j代表初始化的轮次,即代表第j轮初始化操作后R1的状态值,该状态参数通过对查表操作使用相关性功耗分析,恢复出该查表操作的索引值。4.根据权利要求1所述的针对SNOW3G算法的侧信道安全性检测方法,其特征是,所述的安全性检测结果是指:利用采集到的功耗曲线解析SNOW3G算法中包含密钥信息的状态参数,当从功耗曲线中解析得到的对应的状态参数生成的估计密钥与实际密钥相同,则待测物理设备安全性检测不通过。5.根据权利要求1所述的针对SNOW3G算法的侧信道安全性检测方法,其特征是,所述的解析是指:通过32次CPA分析的结果得到SNOW3G算法所使用的密钥,具体为:第1到5次CPA分析恢复和的值,其中第1次CPA分析针对以第4字节(最低字节)为索引值的查表操作的功耗信息,恢复第4字节中两个未知量的两组可能值,第2、3、4次CPA分析分别针对以第3、2、1字节为索引值的查表操作的功耗信息,恢复第3、2、1字节中两个未知量的两组可能值,第5次CPA分析针对以第1字节为索引值的查表操作的功耗信息,将由第1到4次CPA分析得到的4组...
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。