一种防止被加数侧信道信息泄露的安全处理装置及方法与流程

文档序号:12734615阅读:525来源:国知局
一种防止被加数侧信道信息泄露的安全处理装置及方法与流程

本发明属于信息安全技术领域,尤其涉及一种防止被加数侧信道信息泄露的安全电路或者芯片以及安全处理方法。



背景技术:

当前信息安全领域,各种密码分析手段不断涌现。与针对安全算法的常规密码分析方式不同,侧信道分析更加关注安全算法在硬件中运行时的特征,通过以功耗、电磁辐射、错误诱导等方式所泄露的信息,极大限度地获得与安全算法有关的机密数据。

加密硬件以半导体逻辑为基础,逻辑门由大量晶体管构成,当逻辑门上发生放电现象时,电子从硅衬底流过、消耗能量,同时产生电磁辐射,而能量分析就是监测硬件的功耗或者电磁辐射等能量信息的变化,利用统计方法和攻击经验对收集到的边信息进行分析;能量分析技术主要有以下四种:简单功耗分析(Simple Power Analysis)、简单电磁辐射分析(Simple Electromagnetic Analysis)以及相对应的差分功耗分析(Differential Power Analysis)和差分电磁辐射分析(Differential Electromagnetic Analysis);目前,能量分析技术尤其是差分能量分析已被广泛使用以窃取密码电子器件所保护的数据。

由于涉及能量分析的侧信道攻击已经触及并正在越来越深的影响到银行、金融、工商业和人民日常生活;国内外关于能量攻击防御方面的研究报道也逐步出现,其主流技术包括:算法及其硬件实现中的掩码技术、时钟扰乱技术等,其中掩码方法由于实现代价可控且不影响数字电路的工作特性,已经受到广泛关注。

针对侧信道攻击,常用的掩码防护技术为:每一次数据传输时,使用一个随机数作为数据掩码(MASK);将数据与掩码相异或,得到的数据用来在芯片中传输或进行其他的操作;因为每一次传输所使用的掩码均不相同,所以攻击者多次采集得到的波形泄露的信息均不相同,这样攻击者将无法获得数据的真实数值。

然而,如果重要信息经过传输后需要进行加法运算;通常只能先将被掩码的数据与掩码相异或,得到真实的数据,再进行加法运算;这样又将泄露此重要数据的信息;目前解决此类加法问题的常用方法,经典文献 “On boolean and arithmetic masking against differential power analysis”, Lecture Notes in Conputer Science Volume 1965, 2000, pp231-237.,Coron,J.S. and L.Goubin,两位作者进行了详细描述;该方法通过软件对数据进行多次加法和异或的运算,在不泄露数据信息的情况下得到加法结果,需要使用1位随机数。

现有技术的不足之处,在芯片中通常将被保护数据与一个随机掩码(MASK)异或,对数据进行掩码保护,由于每次使用的掩码MASK均不相同;通常数据a与掩码m相异或得到()。若要实现加法运算,由于加法与异或是不同的运算,通常只能先将掩码数据()与掩码m相异或得到a,再与数据b相加,这样将会出现a的功耗信息,可被攻击者发现。



技术实现要素:

针对上述现有技术中存在的不足,本发明的目的是,提供一种防止被加数侧信道信息泄露的安全电路或者芯片以及安全处理方法,该安全电路及安全处理方法能够要解决侧信道攻击中掩码数据保护问题,使用硬件实现从异或运算向加法运算转移,并避免功耗信息泄露。

本发明为解决其技术问题所采用的方案是,一种防止被加数侧信道信息泄露的安全处理装置,该安全处理装置包括:

寄存器,用于输入输出数据,由CPU通过总线写入,输出数据存放在寄存器中,由CPU通过总线读出;

改进型加法器,由32个改进型单比特全加器组成,其输入端口为32位经过掩码的被加数 ,32位加数,32位掩码,1位进位输入位,其输出:32位数据, 1位进位输出位,用于计算,将掩码与被掩码值异或的被加数相异或得到被加数,然后将被加数与加数进行加法运算的到加法结果;

改进型单比特全加器,由改进型半加器组成,其输入端口为:1位经过掩码的被加数,1位掩码,1位加数,1位进位,其输出位为:1位本位结果,1位进位结果;

改进型半加器,其输入端口为:1位经过掩码的被加数, 1位掩码,1位加数,其输出位为:1位半加器本位结果,1位半加器进位结果;

乘法器,其输入端口为:32位被乘数和32位乘数,其输出端口为:64位乘法结果。

优选地,该改进型半加器的实现电路中,将计算本位结果的运算分解为若干个异或操作,先将掩码与加数进行异或运算,得到的结果再与经过掩码的被加数进行异或运算。

优选地,该改进型半加器的实现电路中,将计算本位结果的运算分解为若干个异或操作,先将经过掩码的被加数与加数进行异或运算,得到的结果再与掩码进行异或运算。

优选地,该改进型半加器的实现电路中,将计算进位结果值的运算进行变形,分解为三个中间数据逻辑与的操作,中间数据1为经过掩码的被加数与掩码的逻辑或运算,中间数据2为经过掩码的被加数的逻辑非与掩码的逻辑非进行逻辑或操作得到的结果,先进行中间数据2与加数的逻辑与操作,得到的结果与中间数据1进行逻辑与操作。

优选地,该改进型半加器的实现电路中,将计算进位结果值的运算进行变形,分解为三个中间数据逻辑与的操作,中间数据1为经过掩码的被加数与掩码的逻辑或运算,中间数据2为经过掩码的被加数的逻辑非与掩码的逻辑非进行逻辑或操作得到的结果,先进行中间数据1与加数的逻辑与操作,得到的结果与中间数据2进行逻辑与操作。

优选地,该防止被加数侧信道信息泄露的安全处理装置使用改进型加法器和乘法器,实现乘法操作,其输入数据为:经过掩码的被乘数,掩码,乘数,随机数;输出数据为:乘法结果,实现方法为:取随机数,使用改进型加法器计算得到,然后计算得到的结果。

一种集成电路安全芯片,包括上述所述的防止被加数侧信道信息泄露的安全处理装置。

一种防止被加数侧信道信息泄露的安全处理方法,具体步骤如下:

1)将输入数据存放在寄存器中,由CPU通过总线写入,输出数据存放在寄存器中,有CPU通过总线读出;

2)将改进型加法器配置为,由32个改进型单比特全加器组成,该改进型单比特全加器的输入位为:1位经过掩码的被加数,1位掩码,1位加数, 1位进位,其输出位为:1位本位结果,1位进位结果;

3)将改进型半加器配置为,改进型半加器的输入为:1位经过掩码的被加数,1位掩码,1位加数,其输出位为:1位半加器本位结果,1位半加器进位结果;

4)将改进型单比特全加器配置为,由改进型半加器组成,其输入端口为:1位经过掩码的被加数,1位掩码,1位加数,1位进位,其输出位为:1位本位结果,1位进位结果;

5)将乘法器配置为, 其输入端口为:32位被乘数和32位乘数,其输出端口为:64位乘法结果。

优选地,该防止被加数侧信道信息泄露的安全处理方法,在该改进型半加器的实现电路中,将计算本位结果的运算分解为若干个异或操作,先将掩码与加数进行异或运算,得到的结果再与经过掩码的被加数进行异或运算。

优选地,该防止被加数侧信道信息泄露的安全处理方法,在该改进型半加器的实现电路中,将计算本位结果的运算分解为若干个异或操作,先将经过掩码的被加数与加数进行异或运算,得到的结果再与掩码进行异或运算。

优选地,该防止被加数侧信道信息泄露的安全处理方法,在该改进型半加器的实现电路中,将计算进位结果值的运算进行变形,分解为三个中间数据逻辑与的操作,中间数据1为经过掩码的被加数与掩码的逻辑或运算,中间数据2为经过掩码的被加数的逻辑非与掩码的逻辑非进行逻辑或操作得到的结果,先进行中间数据2与加数的逻辑与操作,得到的结果与中间数据1进行逻辑与操作。

优选地,该防止被加数侧信道信息泄露的安全处理方法,在该改进型半加器的实现电路中,将计算进位结果值的运算进行变形,分解为三个中间数据逻辑与的操作,中间数据1为经过掩码的被加数与掩码的逻辑或运算,中间数据2为经过掩码的被加数的逻辑非与掩码的逻辑非进行逻辑或操作得到的结果,先进行中间数据1与加数的逻辑与操作,得到的结果与中间数据2进行逻辑与操作。

优选地,该防止被加数侧信道信息泄露的安全处理方法,使用改进型加法器和乘法器,实现乘法操作,其输入数据为:经过掩码的被乘数,掩码,乘数,随机数;输出数据为:乘法结果,实现方法为:取随机数,使用改进型加法器计算得到,然后计算得到的结果。

本发明的有益效果是,本电路使用改进的加法器电路及其安全处理方法,用硬件电路实现从异或运算到加法运算的迁移,使得安全处理效率大大提高。

下面结合附图和具体实施方式对本发明做进一步说明。

附图说明

图1是本发明的改进型加法器结构示意图。

图2是本发明的改进型加法器逻辑运算示意图。

图3是本发明的改进型加法器和乘法器乘法运算具体实施例图。

图4是本发明的防止被加数侧信道信息泄露的安全处理方法具体实施例图。

具体实施方式

参看图1所示,改进型加法器结构示意图;该改进型加法器的输入端口分别为:32位经过掩码的被加数数据,32位加数数据,32位掩码数据,以及进位输入位,输出端口为:32位加法结果Sum,以及1位进位输出位;电路中包含32个改进型单比特全加器,每个改进型单比特全加器的输入端口为:1位经过掩码的被加数,1位加数,一位掩码,1位进位,每个单比特全加器的输出端口为:1位结果,1位进位。

参看图1所示,改进型加法器的输入数据的32位,分别对应32个改进型单比特全加器的端口;改进型加法器的输入数据中32位,分别对应32个改进型单比特全加器的端口;改进型加法器的输入数据m的32位,分别对应32个改进型单比特全加器的端口;改进型加法器的输入数据与第1个改进型单比特全加器的输入端口相连接;每个改进型单比特全加器的输出端口与下一个改进型单比特全加器的输入端口相连接;第32个改进型单比特全加器的输出端口与改进型加法器的输出端口相连接。

参看图2所示,为改进型加法器逻辑运算具体实施例示意图;加数先与掩码数据进行逻辑异或运算,得到中间数据d1,将中间数据d1与被加数进行逻辑异或运算,得到中间数据,将与输入进位进行逻辑异或运算得到输出结果,将与输入进位进行逻辑与运算得到中间数据,被加数先取反得到,掩码取反得到,将取反后的与取反后的进行逻辑或运算得到中间数据d2,将与进行逻辑或运算得到中间数据d3,将中间数据d2与加数进行逻辑与运算得到中间数据d4,再将d4与d3进行逻辑与运算得到中间数据,将中间数据与中间数据进行逻辑或运算得到输出结果。

参看图3所示,为本发明的改进型加法器和乘法器实现的具体实施例示意图;该改进型加法器和乘法器,实现乘法操作,其输入数据为:经过掩码的被乘数,掩码,乘数,随机数;输出数据为:乘法结果,实现方法为:取随机数,使用改进型加法器计算得到,然后计算得到的结果。

参看图4所示,为本发明的一种具有实施例,该安全电路处理方法;

1)由CPU将32位经过掩码的被加数,32位加数,32位掩码和1位进位输入位写入寄存器中;

2)寄存器中存放的32位经过掩码的被加数,32位加数,32位掩码和1位进位输入位被连接到改进型加法器相应输入端口作为数据输入;

3)从改进型加法器端口输入的32位经过掩码的被加数,32位加数,32位掩码,被分别连接到32个改进型单比特全加器上,与每个改进型单比特全加器上1位经过掩码的被加数端口,1位掩码端口,1位加数端口相对应,改进型加法器的1位进位输入位连接到第1个改进型单比特全加器的1位进位输入端口上;

4)在改进型单比特全加器中1位经过掩码的被加数端口,1位掩码端口,1位加数端口通过改进型半加器的计算,得到该改进型半加器的运算结果,包括1位半加器本位结果和1位半加器进位结果;

5)将改进型半加器的本位输出结果与改进型单比特全加器的进位输入位相异或,作为改进型单比特全加器的1位本位输出结果,将改进型半加器的本位输出结果与改进型单比特全加器的进位输入位进行与运算,再和改进型半加器的进位输出结果进行或运算,作为改进型单比特全加器的1位进位输出结果;

6)将改进型单比特全加器进位结果,连接到下一个改进型单比特全加器的进位输入端口;

7)将所有32个改进型单比特全加器的本位结果合并,作为改进型加法器的32位加法结果输出,将第32个改进型单比特全加器的进位结果作为改进型加法器的进位输出;

8)将改进型加法器的32位加法结果和1位进位输出,保存在寄存器中,由CPU从寄存器中读出。

上述仅为本发明的具体实施例,本领域普通技术人员在不脱离本发明技术思路的基础上能有许多变形和变化,这些显而易见形成的技术方案也包含在本发明保护的技术范围内,故凡在本发明的精神和原则之内,所作的任何修改、同等替换、改进等,均应包含在本发明的权利保护范围之内。

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