一种抗SPA/DPA攻击的系统和方法技术方案

技术编号:4116796 阅读:520 留言:0更新日期:2012-04-11 18:40
本发明专利技术涉及一种抗SPA/DPA攻击的系统和方法,包括控制模块、功率消耗单元、定时器单元、随机数发生器单元和加解密模块,控制模块,在整个加解密运算的过程中,用于从随机数发生器单元中获得随机数,根据随机数设置定时器单元的定时间隔To和功率消耗单元的打开或关闭;功率消耗单元,用于在控制模块控制下打开或关闭;定时器单元,用于在控制模块的控制下产生定时信号;随机数发生器单元,用于产生随机数据供控制模块设置定时器单元的定时间隔To和功率消耗单元的打开或关闭;加解密模块,用于实现加解密算法的模块。本发明专利技术有益的效果是:当该方法用于特定算法的仿SPA/DPA攻击时,无需对算法进行特殊考虑,本发明专利技术中的方法更容易实现,成本更低。

【技术实现步骤摘要】

本专利技术涉及SoC集成电路设计领域,尤其是一种抗SPA/DPA攻击的系统和方法。
技术介绍
在现有的嵌入式SoC系统中,用于进行信息保护或者签名认证的加密算法(如RSA,DES,AES等)通常采用软件或硬件电路的方法实现。攻击者可以通过分析软件算法或硬件电路的实现方法,并通过静态功耗分析(SPA)或者动态功耗分析(DPA)的方法对系统进行攻击,获得算法加密用的密钥等信息,进而获得加密的信息或者进行签名伪装。 传统的用于防止SPA/DPA攻击的方法主要是通过修改加密算法的软件实现或者硬件电路,尽量使每一步计算0或计算1所消耗的功耗相同,从而是攻击者无法通过功耗分析知悉算法每一步是计算的0还是计算的1,以达到抵抗SPA/DPA攻击的目的。 但是这种方法不仅实现难度很大,而且一种方案只能针对某一种特定的加密算法,具有较大的局限性。
技术实现思路
本专利技术的目的正是要解决上述现有技术的缺点,而提供一种抗SPA/DPA攻击的系 统和方法,是一种防止SPA攻击及增加DPA攻击难度的方法和装置。 本专利技术利用嵌入式SoC系统中控制单元控制的随机数发生器单元和定时器单元, 随机地控制系统中功率消耗单元的打开或关闭,使系统在进行加解密运算时的功耗随机变 化,降低加解密的数据与系统功率消耗间的相关性,达到系统消耗电力无法预测,使其不能 被分析与统计,有效地解决抵抗SPA/DPA攻击的问题。本方法不针对某一特定算法;用于已 有的SoC系统时无需添加额外硬件资源,可以方便地利用嵌入式系统中现有资源;同时可 以采用纯硬件或者软硬件结合的方法实现;与现有方法相比,具有通用性强,灵活度高,消 耗资源少,易于实施等特点。 本专利技术解决其技术问题采用的技术方案这种抗SPA/DPA攻击的系统,包括控制 模块、功率消耗单元、定时器单元、随机数发生器单元和加解密模块,其中控制模块,在整个 加解密运算的过程中,用于从随机数发生器单元中获得随机数,根据随机数设置定时器单 元的定时间隔T。和功率消耗单元的打开或关闭,同时启动加解密模块进行加解密运算;功 率消耗单元,用于在控制模块控制下打开或关闭,打开时消耗功耗,关闭时则无消耗;定时 器单元,用于在控制模块的控制下产生固定或不固定的定时信号;随机数发生器单元,用于 产生随机数据供控制模块设置定时器单元的定时间隔T。和功率消耗单元的打开或关闭;加 解密模块,用于实现一种或多种加解密算法的模块。 所述的控制模块为嵌入式系统的可编程器件或专用硬件逻辑器件。 所述的功率消耗单元是一个专用的噪声发生器,或系统中闲置的功能模块。 本专利技术所述的这种抗SPA/DPA攻击的方法,包括如下步骤 (1)、嵌入式系统启动,控制模块从随机数发生器单元中获得随机数,根据随机数设置定时器单元的定时间隔T。和功率消耗单元的打开或关闭,同时启动加解密模块进行加 解密运算; (2)、定时器单元根据控制模块的设置,产生定时信号,当控制模块检测到定时器单元定时溢出时,产生中断,再次从随机数发生器单元获得随机数,根据此随机数重新设置定时器单元,并根据另一组重新获得的随机数打开或关闭功率消耗单元; (3)、重复以上步骤,直至加解密模块完成相应的加解密运算,控制模块从加解密模块获得加解密的结果,进行后继工作。 作为优选,该方法具体包括如下步骤 (1)、计算加解密模块进行加解密运算所需的平均时间T,确定定时器单元的最小 定时间隔Tmin和最大定时间隔Tmax ; (2)、根据加解密处理所依赖的系统资源,采用现有的或增设的功率消耗单元;现 有的功率消耗单元是选取系统中闲置的功能模块,断开其与外部的连接,关闭其时钟信号, 使它们处于不消耗功耗的状态; (3)、启动随机数发生器单元产生一组随机数,根据该随机数设置定时器单元的定 时间隔T。,若定时间隔大于T腿x,则T。取Tmax,如果定时间隔小于Tmin,则T。取Tmin ;所述定时间隔T。与加解密运算所需平均时间T有关,而且Tmin《T。《Tmax,其中rmin = ^ ; T隨=遍。 (4)、启动随机数发生器单元产生一组新的随机数,根据该随机数的值决定是否打 开功率消耗单元,随机地配置现有的或增设的功率消耗单元的功耗模式;配置现有的功率 消耗单元步骤为根据该随机数的值决定是否打开功能模块的时钟,并根据随机数的值设 置这些模块内部的分频电路及工作状态,通过这些设置,使功能模块处于随机的功率消耗 状态。(5)、启动加解密模块进行加解密运算,功率消耗单元处于随机的功率消耗状态; (6)、当定时器单元的定时溢出时,产生中断信号;控制模块检测到中断信号,进入中断服务程序,启动随机数发生器单元产生两组新的随机数,并采用步骤(3)和步骤(4)的方法重新设置定时器单元及功率消耗单元; (7)、中断处理完成后,继续进行加解密运算; (8)、重复步骤(6)和步骤(7),直至加解密处理完成。 本专利技术有益的效果是 (1)、各个部件都是SoC系统的常用部件,无需额外配置资源。 (2)、实现灵活,可以采用纯软件,软硬结合及纯硬件的方法实现,与现有的采用白 噪声发生器及随机数加电容的方法相比,更易于实现硬件开销小,额外功耗低的系统。 (3)、当该方法用于特定算法的仿SPA/DPA攻击时,无需对算法进行特殊考虑,与 现有通过修改算法本身实现仿SPA/DPA攻击的方法相比,本专利技术中的方法更容易实现,成 本更低。附图说明 图1是本专利技术的一种抗SPA/DPA攻击的系统结构示意图5 图2是本专利技术的一种抗SPA/DPA攻击的SoC系统实例图。 具体实施例方式下面结合附图和实施例对本专利技术作进一步说明 如图1所示,本专利技术所述的抗SPA/DPA攻击的系统,包括控制模块1 (Contro 1 Unit),功率消耗单元2 (Power Consumer),定时器单元3 (Timer),随机数发生器单元 4 (RNG),及加解密模块5 (EncryptionModule)。控制模块1从随机数发生器单元4获得随机 数,根据随机数设置定时器单元3的定时间隔T。,和功率消耗单元2的打开或关闭,同时启 动加解密模块5进行加解密运算。在整个加解密过程中,功率消耗单元2的功耗根据不同 的随机数不停发生变化,系统消耗的电力无法被分析和统计,从而达到抗SPA/DPA攻击的 目的。 控制单元1 一般为嵌入式系统的可编程器件(如RISC处理器,DSP等),通过软件 可以快捷地实现其控制功能,也可以是一个专为抗SPA/DPA攻击系统设计的硬件电路,两 者相比,前者消耗更少的资源。 功率消耗单元2是一个专用的噪声发生器,或系统中的某一闲置的功能模块,它 在控制模块1的控制下随机地打开或关闭,打开时消耗一定的功耗,关闭时则无消耗。 定时器单元3在控制模块1的控制下产生固定或不固定的定时间隔T。,在定时器 溢出时产生中断信号通知控制模块1重新获取随机数。 随机数发生器单元4产生随机的数据,控制模块1根据该随机数据对功率消耗单 元2进行随机控制。随机数发生器单元4根据具体实现的不同,可以是伪随机数发生器、 真随机数发生器或者随机数和真随机数结合的发生器,三者相比,采用真随机数发生器,抗 SPA/DPA攻击的效果最好。 加解密模块5是一个可以实现一种或多种加解密本文档来自技高网...

【技术保护点】
一种抗SPA/DPA攻击的系统,其特征在于:该系统包括控制模块、功率消耗单元、定时器单元、随机数发生器单元和加解密模块,其中    控制模块,在整个加解密运算的过程中,用于从随机数发生器单元中获得随机数,根据随机数设置定时器单元的定时间隔T↓[o]和功率消耗单元的打开或关闭,同时启动加解密模块进行加解密运算;    功率消耗单元,用于在控制模块控制下打开或关闭,打开时消耗功耗,关闭时则无消耗;    定时器单元,用于在控制模块的控制下产生固定或不固定的定时信号;    随机数发生器单元,用于产生随机数据供控制模块对功率消耗单元进行随机控制;    加解密模块,用于实现一种或多种加解密算法的模块。

【技术特征摘要】
一种抗SPA/DPA攻击的系统,其特征在于该系统包括控制模块、功率消耗单元、定时器单元、随机数发生器单元和加解密模块,其中控制模块,在整个加解密运算的过程中,用于从随机数发生器单元中获得随机数,根据随机数设置定时器单元的定时间隔To和功率消耗单元的打开或关闭,同时启动加解密模块进行加解密运算;功率消耗单元,用于在控制模块控制下打开或关闭,打开时消耗功耗,关闭时则无消耗;定时器单元,用于在控制模块的控制下产生固定或不固定的定时信号;随机数发生器单元,用于产生随机数据供控制模块对功率消耗单元进行随机控制;加解密模块,用于实现一种或多种加解密算法的模块。2. 根据权利要求1所述的抗SPA/DPA攻击的系统,其特征在于所述的控制模块为嵌 入式系统的可编程器件或专用硬件逻辑器件。3. 根据权利要求1所述的抗SPA/DPA攻击的系统,其特征在于所述的功率消耗单元 是一个专用的噪声发生器,或系统中闲置的功能模块。4. 一种抗SPA/DPA攻击的方法,其特征在于该方法包括如下步骤(1) 、嵌入式系统启动,控制模块从随机数发生器单元中获得随机数,根据随机数设置 定时器单元的定时间隔T。和功率消耗单元的打开或关闭,同时启动加解密模块进行加解密 运算;(2) 、定时器单元根据控制模块的设置,产生定时信号,当控制模块检测到定时器单元 定时溢出时,产生中断,再次从随机数发生器单元获得随机数,根据此随机数重新设置定时 器单元,并根据另一组重新获得的随机数打开或关闭功率消耗单元;(3) 、重复以上步骤,直至加解密模块完成相应的加解密运算,控制模块从加解密模块 获得加解密的结果,进行后继工作。5. 根据权利要求4所述的抗SPA/DPA攻击的方法,其特征在于该方法包括如下步骤(1) 、计算加解密模块进行加解密运算所需的平均时间T,确定定时器单元的最小定时间隔Tmin...

【专利技术属性】
技术研发人员:张飞飞
申请(专利权)人:杭州晟元芯片技术有限公司
类型:发明
国别省市:86[]

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

1