一种SoC安全芯片抗侧信道攻击方法及抗侧信道攻击的电子系统技术方案

技术编号:27470536 阅读:11 留言:0更新日期:2021-03-02 17:35
本发明专利技术提供一种SoC安全芯片抗侧信道攻击方法及电子系统。该方法包括:每接收到待处理的明文数据后,则对所述待处理的明文数据执行至少一回密码运算,每回密码运算包括至少两次密码运算,具体包括:生成随机数R0,并根据R0确定每次密码运算的密码参数的真伪组合方式与真伪密码运算的先后顺序;根据每次密码运算的密码参数的真伪组合方式,进行本回密码运算;若本回密码运算中的至少一次密码运算的密码参数皆为真,则保留密码参数皆为真的密码运算的运算结果,丢弃密码参数中的至少一个参数为伪的密码运算的运算结果;若执行完本回密码运算后,还有仍未进行密码运算的明文数据,则进行下一回密码运算,否则所述待处理的明文数据的密码运算结束。的密码运算结束。的密码运算结束。

【技术实现步骤摘要】
一种SoC安全芯片抗侧信道攻击方法及抗侧信道攻击的电子系统


[0001]本专利技术涉及SoC(System on Chip)安全芯片密码服务应用领域,尤其涉及一种SoC安全芯片抗侧信道攻击方法及抗侧信道攻击的电子系统。

技术介绍

[0002]SoC安全芯片是指嵌入有硬件密码算法IP核的片上系统的微处理器芯片,如智能卡、身份证、银行卡、加密网卡和安全终端设备中提供密码服务功能的芯片均为SoC安全芯片。
[0003]随着人们网络交流与物联网应用的普及,网络上流动的信息只有通过密码技术的保护才能保障信息的机密性、完整性与不可否认性。嵌入式SoC安全芯片只需要在安全环境下协商或者下载密钥,且通过密钥管理可确保在任何条件下密钥只存放在芯片内部的安全区域,而不可能出现在芯片以外,以确保密钥的安全性。因此,在上网设备中采用嵌入式SoC安全芯片提供密码服务要比采用纯软件提供密码服务具有更高的安全性。
[0004]采用硬件电路在芯片内部实现密码算法,当硬件电路在执行密码算法时,其能量的消耗与密钥和输入的运算信息密切相关,侧信道攻击技术就是利用SoC安全芯片在执行密码运算时所泄露的功耗、电磁辐射、温度等相关信息,在不破坏芯片正常工作的前提下,采集一定量的功耗、电磁能、温度等信息,通过简单功耗分析SPA(Simple Power Analysis)、差分功耗分析DPA(Differential Power Analysis)、相关功耗分析CPA(Correlation Power Analysis)等方式来获取SoC安全芯片内部所存储的密钥,从而达到破解密码应用系统的目的。
[0005]SoC安全芯片内部的密码算法IP核一般有2种工作模式:即普通工作模式和安全工作模式。普通工作模式通常采用掩码技术,提供有限的安全防护;安全工作模式下对称密码算法IP核一般采用随机掩码、动态时钟、冗余密码运算、冗余功耗部件、双态功耗平衡逻辑电路等多种技术相结合的方式来抵抗侧信道的攻击,但这些技术的采用,极大地降低了密码运算的速度,有些芯片安全工作模式的密码运算速度仅为普通工作模式的13%,且增加了芯片的功耗和成本;有些又有安全防护能力不足的问题。因而在SoC安全芯片应用中,亟需既具备一定的抗侧信道攻击能力,又有较高密码运算速度的技术方案。

技术实现思路

[0006]针对现有方案不能较好平衡SoC安全芯片的安全防护能力和密码运算速度的问题,本专利技术提供一种SoC安全芯片抗侧信道攻击方法及抗侧信道攻击的电子系统。
[0007]一方面,本专利技术提供一种SoC安全芯片抗侧信道攻击方法,包括:每接收到待处理的明文数据后,则对所述待处理的明文数据执行至少一回密码运算,每回密码运算包括至少两次密码运算,具体包括以下步骤:
[0008]步骤1、生成随机数R0,并根据R0确定本回密码运算中每次密码运算的密码参数的
真伪组合方式与真伪密码运算的先后顺序,所述密码参数包括密钥、明文和算法参数组;
[0009]步骤2、根据本回密码运算中每次密码运算的密码参数的真伪组合方式,进行本回密码运算;
[0010]步骤3、若本回密码运算中的至少一次密码运算为真运算,则保留所述真运算的运算结果,并丢弃伪运算的运算结果;其中,若一次密码运算中的所有密码参数均为真,则该次密码运算为真运算;若一次密码运算中的密码参数中的至少一个参数为伪,则该次密码运算为伪运算;
[0011]步骤4、若执行完本回密码运算后,还有仍未进行密码运算的明文数据,则进行下一回密码运算,否则所述待处理的明文数据的密码运算结束;
[0012]所述步骤2中,每次密码运算的运算过程包括:
[0013]步骤2.1、产生一个IP核状态控制随机数R1,并将R1写入所述SoC安全芯片中的IP核状态控制寄存器,激活IP核状态控制寄存器状态位为“1”的IP核和进行本次密码运算的IP核,关闭状态位为“0”的IP核,以产生随机功耗;
[0014]步骤2.2、产生一个工作频率设置随机数R2,设定所述SoC安全芯片进行本次密码运算的工作频率F:F=F
min
+R2*(F
max-F
min
)/n;其中F
max
、F
min
分别为所述SoC安全芯片的最大工作频率、最小工作频率,n为正整数;R2为整数且0≤R2≤n;
[0015]步骤2.3、调用本回密码运算所需要的密码算法IP核,根据本次密码运算的密码参数的真伪组合方式和本次密码运算的工作频率F,进行本次密码运算。
[0016]进一步地,步骤2.3中,所述密码算法为对称密码算法,所述密码参数中的明文为进行对称密码运算的一个明文分组,所述密码参数中的算法参数组包括加密与解密方式、密码运算模式和初始向量IV值。
[0017]进一步地,在所述步骤1之前还包括:
[0018]预先设定本回密码运算的密码参数的N种真伪组合方式,所述N种真伪组合方式包括:每次密码运算的密码参数均全为真的组合方式、每次密码运算的密码参数中均存在至少一个参数为伪的组合方式中的至少一种、以及其中一次密码运算的密码参数全为真且其余次密码运算的密码参数中均存在至少一个参数为伪的组合方式中的至少一种;
[0019]对应地,所述步骤1包括:根据R0从所述N种真伪组合方式中选择一种。
[0020]进一步地,若根据R0确定的真伪组合方式为:本回密码运算中的每次密码运算的密码参数均全为真,则继续判断待处理的明文数据长度是否大于一次密码运算所需明文数据长度的L倍,若是,则在任意两次真运算之间增加一次伪运算,否则重新执行步骤1;其中,L为每回密码运算应包含的密码运算的次数,L≥2。
[0021]另一方面,本专利技术提供一种抗侧信道攻击的电子系统,包括SoC安全芯片;
[0022]所述SoC安全芯片,用于在每接收到待处理的明文数据后,对所述待处理的明文数据执行至少一回密码运算,每回密码运算包括至少两次密码运算,具体用于:
[0023]生成随机数R0,并根据R0确定本回密码运算中每次密码运算的密码参数的真伪组合方式与真伪密码运算的先后顺序,所述密码参数包括密钥、明文和算法参数组;
[0024]根据本回密码运算中每次密码运算的密码参数的真伪组合方式,进行本回密码运算;
[0025]若本回密码运算中的至少一次密码运算为真运算,则保留所述真运算的运算结
果,并丢弃伪运算的运算结果;其中,若一次密码运算中的所有密码参数均为真,则该次密码运算为真运算;若一次密码运算中的密码参数中的至少一个参数为伪,则该次密码运算为伪运算;
[0026]若执行完本回密码运算后,还有仍未进行密码运算的明文数据,则进行下一回密码运算,否则所述待处理的明文数据的密码运算结束;
[0027]所述SoC安全芯片的每次密码运算的运算过程包括:
[0028]产生一个IP核状态控制随机数R1,并将R1写入所述SoC安全芯片中的IP核状态控制寄本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种SoC安全芯片抗侧信道攻击方法,其特征在于,包括:每接收到待处理的明文数据后,则对所述待处理的明文数据执行至少一回密码运算,每回密码运算包括至少两次密码运算,具体包括以下步骤:步骤1、生成随机数R0,并根据R0确定本回密码运算中每次密码运算的密码参数的真伪组合方式与真伪密码运算的先后顺序,所述密码参数包括密钥、明文和算法参数组;步骤2、根据本回密码运算中每次密码运算的密码参数的真伪组合方式,进行本回密码运算;步骤3、若本回密码运算中的至少一次密码运算为真运算,则保留所述真运算的运算结果,并丢弃伪运算的运算结果;其中,若一次密码运算中的所有密码参数均为真,则该次密码运算为真运算;若一次密码运算中的密码参数中的至少一个参数为伪,则该次密码运算为伪运算;步骤4、若执行完本回密码运算后,还有仍未进行密码运算的明文数据,则进行下一回密码运算,否则所述待处理的明文数据的密码运算结束;所述步骤2中,每次密码运算的运算过程包括:步骤2.1、产生一个IP核状态控制随机数R1,并将R1写入所述SoC安全芯片中的IP核状态控制寄存器,激活IP核状态控制寄存器状态位为“1”的IP核和进行本次密码运算的IP核,关闭状态位为“0”的IP核,以产生随机功耗;步骤2.2、产生一个工作频率设置随机数R2,设定所述SoC安全芯片进行本次密码运算的工作频率F:F=F
min
+R2*(F
max-F
min
)/n;其中F
max
、F
min
分别为所述SoC安全芯片的最大工作频率、最小工作频率,n为正整数;R2为整数且0≤R2≤n;步骤2.3、调用本回密码运算所需要的密码算法IP核,根据本次密码运算的密码参数的真伪组合方式和本次密码运算的工作频率F,进行本次密码运算。2.根据权利要求1所述的方法,其特征在于,步骤2.3中,所述密码算法为对称密码算法,所述密码参数中的明文为进行对称密码运算的一个明文分组,所述密码参数中的算法参数组包括加密与解密方式、密码运算模式和初始向量IV值。3.根据权利要求1或2所述的方法,其特征在于,在所述步骤1之前还包括:预先设定本回密码运算的密码参数的N种真伪组合方式,所述N种真伪组合方式包括:每次密码运算的密码参数均全为真的组合方式、每次密码运算的密码参数中均存在至少一个参数为伪的组合方式中的至少一种、以及其中一次密码运算的密码参数全为真且其余次密码运算的密码参数中均存在至少一个参数为伪的组合方式中的至少一种;对应地,所述步骤1包括:根据R0从所述N种真伪组合方式中选择一种。4.根据权利要求3所述的方法,其特征在于,若根据R0确定的真伪组合方式为:本回密码运算中的每次密码运算的密码参数均全为真,则继续判断待处理的明文数据长度是否大于一次密码运算所需明文数据长度的L倍,若是,则在任意两次真运算之间增加一次伪运算,否则重新执行步骤1;其中,L为每回密码运算应包含的密码运算的次数,L≥2。5.一种抗侧信道攻击的电子系统,其特征在于,包括So...

【专利技术属性】
技术研发人员:张鲁国彭金辉刘武忠卫志刚孙晓鹏乔少虎
申请(专利权)人:郑州信大捷安信息技术股份有限公司
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1