一种采用时钟乱序技术和混沌触发器的抗DPA攻击方法与流程

文档序号:14325137阅读:157来源:国知局
本发明涉及信息安全和数字集成电路设计领域,具体涉及一种采用时钟乱序技术和混沌触发器的抗dpa攻击方法。
背景技术
:在电子银行、金融、通信、军工等领域,信息安全扮演着一个重要的角色。随着人们对这些领域愈加依赖,信息安全的重要性更加不可忽略。为了信息更加安全且高效地传播,工程师一般会将一些加密算法集成在芯片内部来对关键信息进行加密处理。近年来提出的加密算法有des(dataencryptionstandard,数据加密准则)、aes(advancedencryptionstandard,高级加密标准)、rsa、ecc(ellipticcurvescryptography,椭圆曲线密码算法)和hash(哈希)等,这些加密算法通过复杂运算来对信息进行加密保护,从而使得攻击者无法在有效的时间内通过穷尽的方法破解信息。上面提到的加密算法无疑是为信息安全作出了巨大的贡献,使得社会得到极大的发展,人民得到极大的便利。然而在加密算法高速发展的同时,一些不法分子为了获取在加密芯片内部的密钥信息,提出了不少破解密码的算法,随着加密技术的发展,破解密码的算法也随之高速发展。其中有被动攻击,主动攻击,入侵式攻击和半入侵式攻击等几种攻击方法。由于入侵式攻击或半入侵式攻击需要对芯片或设备进行拆解,并且利用高端精密仪器对其进行内部分析,所以这些攻击方法无疑需要巨大的成本。攻击者也可以利用主动攻击方法,对密码设备进行异常操作诱发并分析设备的异常行为来获得密码信息,但该方法需要攻击者非常熟悉电路的内部结构。在众多的攻击方法中,被动攻击中的旁道攻击方法最为突出,攻击者只需要通过收集在加密过程中芯片泄露的物理信息,如电磁辐射、功耗、时间等,这些在运行过程中获取的旁道信息蕴含着加密过程中使用的密钥信息,攻击者可以利用这些物理信息加以处理而获得密钥信息。在这些旁道攻击方法中,功耗分析攻击方法是研究得最多的一种,其中的dpa(差分功耗攻击)是最为突出且有效的攻击方法。攻击者通过输入大量的随机明文,收集芯片在加密过程中产生的功耗信息,通过利用数学统计的方法来分析功耗与密钥之间的相关性,从而得到隐藏的密钥信息。因为dpa攻击使用方便,成本低廉,且攻击者无需了解加密芯片的内部电路实现,所以dpa攻击对信息安全造成了极大的威胁。dpa攻击原理的前提是需要收集到的每一条由随机明文产生的功耗信息与密钥之间存在一定的相关性,相关性越大攻击越有效,并且每条功耗波形的攻击点需要严格对齐,这样在对功耗波形集合进行差分操作后,功耗与密钥间的相关性数值呈现在差分功耗波形的每个时间点上,通过比较差分波形上相关性数值波峰的高度可以确定猜测的密钥是否为真实的隐藏密钥。在这样的技术背景下,基于dpa攻击的原理,加密算法设计者提出大量不同的防御方法,其中包括掩码法,伪电路随机功耗法,功耗均衡技术等。这些电路在抗dpa攻击的方法上作出了巨大的贡献,然而这些方法也存在一定的缺陷,例如增加了电路的面积或功耗,导致制作成本增加。技术实现要素:本发明的目的是针对上述现有技术的不足,提供了一种采用时钟乱序技术和混沌触发器的抗dpa攻击方法。本发明的目的可以通过如下技术方案实现:一种采用时钟乱序技术和混沌触发器的抗dpa攻击方法,所述方法首先在每次加密运算起始,通过随机控制信号产生模块产生一个8比特的随机控制信号,在混沌触发器模块处于复位状态下时利用该产生的8比特随机控制信号中的一比特控制信号,对混沌触发器模块内部的混沌单元进行控制,在控制信号低电平下实现内部混沌单元与非输出,混沌触发器由与非门构成;在控制信号高电平下实现内部混沌单元或非输出,混沌触发器由或非门构成;从而实现混沌触发器的重构;电路处于复位状态下,利用该8比特随机控制信号的两位最低有效位,在pll输出的三个带相位偏移时钟信号中选择一个时钟信号并用于驱动混沌触发器模块,实现时钟乱序电路模块中时钟的乱序输出。进一步地,在每一次加密运算的初始阶段,首先要对混沌触发器模块进行复位,在复位状态下完成随机控制信号产生模块中随机控制信号的产生,以及混沌触发器的重构和时钟的乱序输出,完成后再进行加密运算。进一步地,所述随机控制信号产生模块包括存储8比特明文的寄存器组和8比特的时间计数器单元,通过输入随机明文数据和时间计数实时数据获得8比特的随机控制信号,所述时间计数器单元独立于整体电路且不受全局复位信号的影响,所述8比特的随机控制信号按照如下公式获得:其中,ctr表示输出的8比特的随机控制信号,plaintext表示输入的随机明文数据,counter表示输入的时间计数实时数据,8比特的随机控制信号中的每一比特控制信号分别对接于每一比特数据的可重构的混沌触发器模块,且8比特的随机控制信号的两位最低有效位ctr[1:0]对接于时钟乱序电路模块。进一步地,所述时钟乱序电路模块通过pll产生三个相位存在偏移的时钟信号,并通过8比特的随机控制信号的两位最低有效位ctr[1:0]在混沌触发器模块复位状态下驱动时钟cp和实现时钟的乱序输出;输入时钟以及产生的三个相位存在偏移的时钟信号参数如下:输入时钟的时钟频率为50mhz;pll产生的时钟outclk0,时钟频率为50mhz,相位偏移为0度;pll产生的时钟outclk1,时钟频率为50mhz,相位偏移为11.25度;pll产生的时钟outclk2,时钟频率为50mhz,相位偏移为22.5度;时钟乱序电路模块的输出如下:当ctr[1:0]=2’b00时,全局时钟驱动信号输出为outclk0和当ctr[1:0]=2’b01时,全局时钟驱动信号输出为outclk0和当ctr[1:0]=2’b10时,全局时钟驱动信号输出为outclk1和当ctr[1:0]=2’b11时,全局时钟驱动信号输出为outclk2和进一步地,所述混沌触发器模块用于存储一比特数据,一个混沌触发器模块由六个带置1功能的混沌单元和两个不带置1功能的混沌单元组成,并形成主从触发器电路模块,其中四个带置1功能的混沌单元构成主触发器电路,主触发器电路在一比特控制信号ctr为高电平的情况下利用时钟cp驱动,在一比特控制信号ctr为低电平的情况下利用时钟驱动;另外两个带置1功能的混沌单元和两个不带置1功能的混沌单元构成从触发器电路,从触发器电路在一比特控制信号ctr为高电平的情况下利用时钟驱动,在一比特控制信号ctr为低电平的情况下利用时钟cp驱动;另外,所述混沌触发器模块在控制信号set_n和rst_n的控制下分别实现电路的异步置位和异步复位功能。进一步地,所述带置1功能的混沌单元中的或非门u1的输入信号为a、b,或非门u2的输入信号为ctr、a,或非门u3的输入信号为ctr、b,或非门u4的输入信号为或非门u1、u2和u3的输出信号,与非门u5的输入信号为或非门u4的输出信号和置位复位控制信号rst_set;所述不带置1功能的混沌单元中或非门u1的输入信号为a、b,或非门u2的输入信号为ctr、a,或非门u3的输入信号为ctr、b,或非门u4的输入信号为或非门u1、u2和u3的输出信号,与非门u5的输入信号为或非门u4的输出信号;上述ctr为来自随机控制信号产生模块的1比特的控制信号,混沌触发器模块在复位状态下,通过控制信号ctr实现混沌电路的重构。本发明与现有技术相比,具有如下优点和有益效果:本发明所提出的一种采用时钟乱序技术和混沌触发器的抗dpa攻击方法通过运行过程中使能门级电路的个数产生变化而导致功耗随之变化,尽管在相同的明文输入,输入状态一致的前提下,其输出的功耗大小也不尽相同,功耗与隐藏密钥之间的相关性因此被削弱;而且由于纯数字组合的混沌逻辑电路,在面积方面并没有像现有技术的模拟混沌电路一样耗费大量的面积,在混沌触发器电路的基础上,使用了时钟乱序技术,使得攻击点产生偏移而导致dpa攻击在攻击过程中难以对准,达到削弱dpa攻击强度的目的,能够使存储关键数据的混沌触发器组在多次加密运算中,在数据被操作的时间点上产生紊乱并实现动态功耗的可控性变化,具有高安全性,搭建简单的特点。附图说明图1为本发明实施例一种采用时钟乱序技术和混沌触发器的抗dpa攻击方法的总示意图。图2为本发明实施例时钟乱序电路模块产生的相位存在偏移的时钟信号仿真波形图。图3为本发明实施例混沌触发器模块的电路结构图。图4为本发明实施例中带置1功能的混沌单元电路结构图。图5为本发明实施例中不带置1功能的混沌单元电路结构图。图6为本发明实施例混沌触发器模块的仿真波形图。具体实施方式下面结合实施例及附图对本发明作进一步详细的描述,但本发明的实施方式不限于此。实施例:本实施例提供了一种采用时钟乱序技术和混沌触发器的抗dpa攻击方法,所述方法总示意图如图1所示,首先在每次加密运算起始,通过随机控制信号产生模块产生一个8比特的随机控制信号,在混沌触发器模块处于复位状态下时利用该产生的8比特随机控制信号中的一比特控制信号,对混沌触发器模块内部的混沌单元进行控制,在控制信号低电平下实现内部混沌单元与非输出,混沌触发器由与非门构成;在控制信号高电平下实现内部混沌单元或非输出,混沌触发器由或非门构成;从而实现混沌触发器的重构;电路处于复位状态下,利用该8比特随机控制信号的两位最低有效位,在pll输出的三个带相位偏移时钟信号中选择一个时钟信号并用于驱动混沌触发器模块,实现时钟乱序电路模块中时钟的乱序输出。所述随机控制信号产生模块包括存储8比特明文的寄存器组和8比特的时间计数器单元,通过输入随机明文数据和时间计数实时数据获得8比特的随机控制信号,所述时间计数器单元独立于整体电路且不受全局复位信号的影响,所述8比特的随机控制信号按照如下公式获得:其中,ctr表示输出的8比特的随机控制信号,plaintext表示输入的随机明文数据,counter表示输入的时间计数实时数据,8比特的随机控制信号中的每一比特控制信号分别对接于每一比特数据的可重构的混沌触发器模块,且8比特的随机控制信号的两位最低有效位ctr[1:0]对接于时钟乱序电路模块。所述时钟乱序电路模块通过pll产生三个相位存在偏移的时钟信号,仿真波形图如图2所示,并通过8比特的随机控制信号的两位最低有效位ctr[1:0]在混沌触发器模块复位状态下驱动时钟cp和实现时钟的乱序输出;输入时钟以及产生的三个相位存在偏移的时钟信号参数如下:输入时钟的时钟频率为50mhz;pll产生的时钟outclk0,时钟频率为50mhz,相位偏移为0度;pll产生的时钟outclk1,时钟频率为50mhz,相位偏移为11.25度;pll产生的时钟outclk2,时钟频率为50mhz,相位偏移为22.5度;时钟乱序电路模块的输出如下:当ctr[1:0]=2’b00时,全局时钟驱动信号输出为outclk0和当ctr[1:0]=2’b01时,全局时钟驱动信号输出为outclk0和当ctr[1:0]=2’b10时,全局时钟驱动信号输出为outclk1和当ctr[1:0]=2’b11时,全局时钟驱动信号输出为outclk2和所述混沌触发器模块的电路结构图如图3所示,用于存储一比特数据,一个混沌触发器模块由六个带置1功能的混沌单元和两个不带置1功能的混沌单元组成,并形成主从触发器电路模块,其中四个带置1功能的混沌单元构成主触发器电路,主触发器电路在一比特控制信号ctr为高电平的情况下利用时钟cp驱动,在一比特控制信号ctr为低电平的情况下利用时钟驱动;另外两个带置1功能的混沌单元和两个不带置1功能的混沌单元构成从触发器电路,从触发器电路在一比特控制信号ctr为高电平的情况下利用时钟驱动,在一比特控制信号ctr为低电平的情况下利用时钟cp驱动;另外,所述混沌触发器模块在控制信号set_n和rst_n的控制下分别实现电路的异步置位和异步复位功能。所述带置1功能的混沌单元(电路结构图如图4所示)中的或非门u1的输入信号为a、b,或非门u2的输入信号为ctr、a,或非门u3的输入信号为ctr、b,或非门u4的输入信号为或非门u1、u2和u3的输出信号,与非门u5的输入信号为或非门u4的输出信号和置位复位控制信号rst_set;所述不带置1功能的混沌单元(电路结构图如图5所示)中的或非门u1的输入信号为a、b,或非门u2的输入信号为ctr、a,或非门u3的输入信号为ctr、b,或非门u4的输入信号为或非门u1、u2和u3的输出信号,与非门u5的输入信号为或非门u4的输出信号;上述ctr为来自随机控制信号产生模块的1比特的控制信号,混沌触发器模块在复位状态下,通过控制信号ctr实现混沌电路的重构。两种混沌单元具体功能实现如下:其中,vnx1表示或非门u1输出信号,vnx2表示或非门u2输出信号,vnx3表示或非门u3输出信号;带置1功能的混沌单元电路实现如下:其中,vout表示带置1功能的混沌单元输出信号,set_rst为置1控制信号,不带置1功能的混沌单元电路实现如下:其中,vout表示不带置1功能的混沌单元输出信号,从上述两种混沌单元输出公式可知,在控制信号ctr为高电平时混沌单元实现或非功能,控制信号ctr为低电平时混沌单元实现与非功能。带置1功能的混沌单元在set_rst为低电平时实现置1输出功能。利用混沌单元实现混沌触发器模块,该混沌触发器电路实现上升沿读取数据,通过控制信号rst_n实现异步复位,通过控制信号set_n实现异步置位。当控制信号ctr为0时触发器电路由与非门实现,当控制信号ctr为1时触发器电路由或非门实现;混沌触发器在复位状态下,通过ctr实现混沌电路的重构。实现功能如表1所示:输入ctrrst_nset_n实现功能qq_ndx01异步复位01dx10异步置位10d011存储数据(与非门)ddd111存储数据(或非门)dd表1混沌触发器模块仿真波形如图6所示,电路实现上升沿数据读取,异步复位,异步置位功能以及在复位状态实现电路重构。以上所述,仅为本发明专利较佳的实施例,但本发明专利的保护范围并不局限于此,任何熟悉本
技术领域
的技术人员在本发明专利所公开的范围内,根据本发明专利的技术方案及其发明专利构思加以等同替换或改变,都属于本发明专利的保护范围。当前第1页12
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1