一种抗旁路攻击的时钟串扰实现方法

文档序号:9843710阅读:486来源:国知局
一种抗旁路攻击的时钟串扰实现方法
【技术领域】
[0001]本发明涉及旁路攻击的防护技术,具体涉及一种抗旁路攻击的时钟串扰实现方法。
【背景技术】
[0002]随着信息技术的发展与应用,金融IC卡和电子交易设备的应用越来越广泛。而金融IC卡和电子交易设备的安全性也越来越重要。整个金融IC卡和电子交易设备的核心即采用公钥加密算法对交易者身份进行论证,使用对称加密对交易内容进行加密,保证整个交易环节的安全。
[0003]随着交易安全性的提高,黑客的攻击技术也在提高。从早期通过对磁条卡复制制作伪卡进行攻击,到现在通过旁路攻击和侵入式攻击对金融IC卡和交易设备进行攻击。这对金融IC卡和电子交易设备的本身抗攻击性提出了更高要求,仅仅实现加解密已经不能抵抗黑客的攻击,同时要保证加解密的实现方法和整个系统能够抵抗黑客的旁路攻击和侵入攻击。
[0004]最新的安全技术要不但保证加解密的正确性,也要保证加解密安全性。通过对加解密算法实现方式的改进,能提升加解密的安全性,但这会大大增加加解密算法的硬件实现成本和算法执行效率。

【发明内容】

[0005]本发明提供一种抗旁路攻击的时钟串扰实现方法,通过对时钟的串扰提高对旁路攻击的抵抗能力,提高系统的安全性。
[0006]为了达到上述目的,本发明的技术方案是提供一种抗旁路攻击的时钟串扰实现方法,其中对一路输入时钟的相位和频率进行串扰,产生一路串扰时钟的过程,包含:
对输入时钟进行相位延迟得到多路相位延迟时钟;
对输入时钟进行分频得到一路分频时钟,所述分频时钟的分频数在设定的数值范围内动态切换;
随机生成第一随机数和第二随机数;
将各路相位延迟时钟和一路分频时钟分别作为时钟源,锁存第一随机数分别得到第一选择信号和第二选择信号;根据第一选择信号对分频数进行随机选择;同时根据第二选择信号从多个时钟源中随机选出其中一路时钟源作为输出时钟;
对于选出的这一路输出时钟,锁存第二随机数得到第三选择信号,对这一路输出时钟的持续周期数进行随机选择;
对这一路输出时钟实际持续的周期进行计数,当计数的数值达到随机选择的持续周期数时,随机选出新的时钟源,随机选出新的持续周期数并重新开始计数。
[0007]其中,对输入时钟ClkIn进行相位延迟,得到四路相位差为1/4周期的相位延迟时钟(:1诎、(:让1、(:11^2和(:11^3。
[0008]其中,使用10位LFSR反馈电路作为随机数生成电路,来产生第一随机数RandomSel[2:0]和第二随机数RandomCnt[3:0]。
[0009]其中,锁存第一随机数RandomSel[2:0],并根据其中的后两位得到第一选择信号ClkSel [ 1: O],用来确定分频时钟Clk4的分频数为2、3、4、5中随机选出的一个数值,使输入时钟ClkIn通过2-5分频电路进行分频。
[0010]其中,锁存第一随机数RandomSel[2:0],得到第二选择信号ClkSel[2:0];
采用不带毛刺的时钟切换电路进行随机时钟选择,根据第二选择信号ClkSel[2:0]选择相应的时钟源作为输出时钟,对应关系为:
ClkSel=3 ’ bOOO时,选择相位延迟时钟ClkO ;
ClkSel=3 ’bOOl时,选择相位延迟时钟Clkl ;
ClkSel=3’b010时,选择相位延迟时钟Clk2;
ClkSel=3 ’ b011时,选择相位延迟时钟Clk3;
ClkSel=3’bl00时,选择的分频时钟Clk4为2分频时钟;
ClkSel=3’bl01时,选择的分频时钟Clk4为3分频时钟;
ClkSel=3’bllO时,选择的分频时钟Clk4为4分频时钟; (:11^61=3’13111时,选择的分频时钟(:11^4为5分频时钟。
[0011]其中,锁存第二随机数RandomCnt[3:0],得到第三选择信号ClkCnt[3:0],用来选择ClkCnt,使设定的持续周期数在16?31个时钟周期之间随机变化;当计数值count [ 4:0 ]从O计数到ClkCnt+16后,重新从O开始计数。
[0012]综上所述,本发明提供的一种抗旁路攻击的时钟串扰实现方法,其优点在于:
综上所述,本发明通过对输入时钟的相位和频率串扰,产生一个加扰的时钟。对输入时钟进行相位延迟产生四个相位差为1/4个周期的时钟,以及分频数为2、3、4或者5的动态切换分频时钟,共五个时钟源。通过随机在五个时钟源中选择一路作为时钟输出,同时分频时钟在2到5分频数之间随机选择。每选择一路时钟后,此时钟持续周期数也在16个时钟到31个时钟之间随机选择,最终通过随机选择时钟源,随机每一个时钟源的持续周期产生一个相位和频率随机变换的串扰时钟。旁路攻击对功耗和电磁辐射的测量是以稳定时钟周期为基准的,对于加扰后的时钟,功耗和电磁辐射无法以同一时钟周期作为基准测量,大大增加旁路攻击的难度。
【附图说明】
[0013]图1为本发明一种抗旁路攻击的时钟串扰方法整体实现结构图;
图2为本发明所述随机数生成模块的实现图;
图3为本发明中所述不带毛刺时钟切换电路实现图;
图4为一个示例中原始时钟ClkIn和串扰时钟ClkOut的信号波形图。
【具体实施方式】
[0014]以下结合【附图说明】对本发明的实施例作进一步详细描述,但本实施例并不用于限制本发明,凡是采用本发明的相似结构、方法及其相似变化,均应列入本发明的保护范围。
[0015]本发明提供一种抗旁路攻击的时钟串扰实现方法,能够在系统级别提升加解密实现的安全性,通过很小的硬件成本,对算法时钟进行串扰,使旁路攻击者难以精确测量加解密过程中的功耗和电磁辐射,很大程度提高旁路攻击难度和攻击时间,从而抵御黑客攻击。
[0016]如图1所示,是本发明所述抗旁路攻击的时钟串扰方法的整体实现结构,所述方法包含:
相位延迟时钟生成:令输入时钟ClkIn通过三级相同的相位延迟电路,产生相位间隔一致的三个时钟Clkl、Clk2和Clk3,再将输入时钟ClkIn作为时钟ClkO,得到共四个相位延迟时钟。
[0017]其中,单级相位延迟电路采用标准单元库的DELl模块级联而成。DELl模块在TTcorner下的时间延迟为Ins,在不同温度和工艺下,偏差范围为±50%,即时间延迟为0.5ns?
1.5ns。根据输入时钟的周期,单级延迟电路设计延迟时间为时钟周期的四分之一,比如时钟频率为40MHz,时钟周期即为25ns,则单级延迟电路设计为延迟6ns,因此使用6个DELl模块级联。
[0018]分频时钟生成:令输入时钟ClkIn通过动态可设2-5分频电路,产生分频时钟Clk4,在某个确定时刻,Clk4分频值是确定的,为2-5中的一个。根据输入的ClkSel [ 1: O]值选择不同分频值,对应关系为:
ClkSel [ 1:0]=2,bOO: Clk4为2分频时钟ClkSel[l:0]=2’b01: Clk4为3分频时钟ClkSel [ 1:0]=2,blO: Clk4为4分频时钟ClkSel [ 1:0]=2,bl1: Clk4为5分频时钟。
[0019]随机数生成:随机数生成电路使用LFSR反馈电路,产生随机选择和随机时钟周期需要的随机数(RandomSel [2:0]和RandomCnt [3:0])。如图2所示,随机数采用10位的LFSR(线性反馈移位寄存器)电路,面积很小,产生的随机数随机性能满足应用要求。公式如下:
feedback = lsfr[8]'lsfr[5]'lsfr[4]'lsfr[2]'lsfr[0];lsfr[9:0] = {feedback, lsfr[9:1]};
RandomSel[2:0] = lsfr[2:0] ' lsfr[5:3];
RandomCnt[3:0] = lsfr[9:6]0
[0020]随机时钟选择:采用不带毛刺的时钟切换电路,根据ClkSel[2:0],从四个相位延迟时钟ClkO、Clkl、Clk2和Clk3和分频时钟Clk4这五个时钟源中,随机选择一路对应的时钟源。
[0021]不带毛刺时钟切换电路,如图3所示,其核心在于每个时钟的选择信号经过此时钟下降沿采样后,再去开关时钟避免产生毛刺。同时,每个时钟的选择有效信号与其它时钟有效信号互斥,保证最终只有一个时钟输出。比如ClkSel[2:0]=3’b010,选择Clk2,此时
clk0_sel_reg=0;clkl_sel_reg=0;clk2_sel_reg=l;clk3_sel_reg=0;clk4_sel_reg=0o
[0022]ClkO~Clk4与其各自对应的选择信号clkO_sel_reg?clk4_sel_reg相与,因为只
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1