掌桥专利:专业的专利平台
掌桥专利
首页

加扰时钟产生电路

文献发布时间:2023-06-19 11:49:09


加扰时钟产生电路

技术领域

本发明涉及集成电路技术领域,特别涉及一种加扰时钟产生电路。

背景技术

近年来,随着云计算、物联网、移动计算等技术的发展和应用领域的不断扩展,现代信息技术在社会生活中的引领作用越来越突出。与此同时,对信息安全的需求越来越强。在金融银行卡、社保卡、计算机安全启动芯片、车载MCU等越来越多的领域,需要对芯片做复杂的安全测试。高安全芯片不仅需要较块的响应速度,还需要抗击各种攻击,尤其是能量攻击。

能量攻击,又称为功耗攻击,是旁路攻击的一种。它利用了密码设备的功耗和密码算法之间的相关性,通过多次测量密码设备的功耗然后进行统计分析,进而获得密钥信息。

掩码方法是抗能量攻击比较常用的方法,通过对加密操作的中间值进行掩盖的方法使得攻击变得困难。但是掩码方法需要既有加密算法做重大的修改,硬件开销很大。

时钟加扰是另一种抗攻击方法。随机加扰处理后的时钟信号呈随机变化,从而使得安全芯片内部的电流曲线不再是规则变化,而是随机变化,从而提升攻击难度,提高了安全芯片的抗攻击性能。

中国发明专利CN105894079B提出了一种基于相位延时单元的时钟加扰电路。该方法需要设计包括多个延时挡位的延时单元。此类定制电路设计的硬件开销较大,且无法精确控制加扰时钟带来的性能开销。

发明内容

本发明的目的在于提供一种新颖的加扰时钟产生电路,该电路能够通过数字电路设计方法实现可精确控制性能损失开销的加扰时钟。

为解决上述技术问题,本发明提供一种加扰时钟产生电路,包括:

伪随机数发生器,被配置为根据由原始时钟生成的原始时钟信号产生伪随机数;

加扰使能产生器,被配置为根据原始时钟信号和伪随机数生成使能信号;以及

最终输出时钟,被配置为根据使能信号将原始时钟信号作为最终时钟信号输出。

可选的,在所述的加扰时钟产生电路中,伪随机数发生器根据原始时钟信号产生伪随机数包括:

所述伪随机数发生器产生串行的伪随机二进制序列,在伪随机二进制序列2^31-1的周期长度内,0和1随机出现。

可选的,在所述的加扰时钟产生电路中,所述伪随机数发生器基于PRBS31=X31+X28+1码型,所述伪随机数发生器包括32个延时单元,延时单元包括D触发器;

第1个延时单元的输出信号、第29个延时单元的输出信号及第32个延时单元的输出信号通过两个异或门产生伪随机二进制序列;

伪随机二进制序列反馈至第1个延时单元的输入端,以进行循环移位。

可选的,在所述的加扰时钟产生电路中,所述原始时钟信号由锁相环或晶体振荡器产生,原始时钟信号的一个时钟周期内,包含高电平有效时间和低电平有效时间,高电平有效时间占据整个时钟周期的比例为50%。

可选的,在所述的加扰时钟产生电路中,所述加扰使能产生器包括:

计数器,被配置为产生计数值,并判断计数值是否等于设置值,若是则输出等于1的计数信号,否则输出等于0的计数信号;

与门电路,被配置为将计数信号与伪随机数进行相与运算,以产生使能信号,若计数信号与伪随机数均为1,则使能信号为1,否则使能信号为0。

可选的,在所述的加扰时钟产生电路中,加扰使能产生器包括第一加扰电路,所述第一加扰电路包括:

模二计数器,被配置为遇到原始时钟信号的上升沿则进行一次跳变,以输出0和1交替循环出现的第一序列信号,第一序列信号等于1时则计数信号为1,否则计数信号为0;

第一与门,被配置为将模二计数器产生的计数信号与伪随机数进行相与运算。

可选的,在所述的加扰时钟产生电路中,加扰使能产生器还包括第二加扰电路,所述第二加扰电路包括:

模四计数器,被配置为遇到原始时钟信号的上升沿则进行一次跳变,以输出0、1、2、3交替循环出现的第二序列信号;

判断电路,被配置为检测到第二序列信号等于3时,使得计数信号为1,否则使得计数信号为0;

第二与门,被配置为将判断电路产生的计数信号与伪随机数进行相与运算。

可选的,在所述的加扰时钟产生电路中,还包括:

反相器,被配置为将使能信号进行反相;

第一与门输出的高电平有效时间占据整个时钟周期的比例为25%,第二与门输出的高电平有效时间占据整个时钟周期的比例为12.5%。

可选的,在所述的加扰时钟产生电路中,还包括:

模式选择器,被配置为选择第一与门输出的使能信号提供至反相器,或选择第二与门输出的使能信号提供至反相器。

可选的,在所述的加扰时钟产生电路中,原始时钟连接至异步总线桥、系统总线、CPU、DMA及片上存储器,以将所述原始时钟信号提供至异步总线桥、系统总线、CPU、DMA及片上存储器;

最终输出时钟与异步总线桥和安全子系统连接,以将最终时钟信号提供至异步总线桥和安全子系统;

所述安全子系统包括加解密模块,通过异步总线桥与系统总线通信;

所述安全子系统按照最终时钟信号工作在加扰时钟域,以提升抗击能量攻击能力;

所述系统总线、CPU、DMA及片上存储器按照原始时钟信号工作在非加扰时钟域;

所述异步总线桥根据非加扰时钟域与加扰时钟域的数据通信。

在本发明提供的加扰时钟产生电路中,通过伪随机数发生器根据原始时钟信号产生伪随机数,加扰使能产生器根据原始时钟信号和伪随机数生成使能信号,最终输出时钟根据使能信号将原始时钟信号作为最终时钟信号输出,伪随机数发生器、加扰使能产生器均为数字电路实现,整个电路采用数字电路实现,电路开销较小。

附图说明

图1是本发明一实施例加扰时钟产生电路系统示意图;

图2是本发明一实施例加扰时钟产生电路原理示意图;

图3是本发明一实施例加扰时钟产生电路应用于片上系统示意图;

图4是本发明一实施例加扰时钟产生电路原始时钟波形示意图;

图5是本发明一实施例加扰时钟产生电路加扰时钟波形示意图;

图6是本发明一实施例加扰时钟产生电路第一加扰电路波形示意图;

图7是本发明一实施例加扰时钟产生电路第二加扰电路波形示意图;

图中所示:10-原始时钟;20-伪随机数发生器;30-加扰使能产生器。

具体实施方式

在本发明中,各实施例仅仅旨在说明本发明的方案,而不应被理解为限制性的。在本发明中,除非特别指出,量词“一个”、“一”并未排除多个元素的场景。在此还应当指出,在本发明的实施例中,为清楚、简单起见,可能示出了仅仅一部分部件或组件,但是本领域的普通技术人员能够理解,在本发明的教导下,可根据具体场景需要添加所需的部件或组件。另外,除非另行说明,本发明的不同实施例中的特征可以相互组合。例如,可以用第二实施例中的某特征替换第一实施例中相对应或功能相同或相似的特征,所得到的实施例同样落入本申请的公开范围或记载范围。

以下结合附图和具体实施例对本发明提出的加扰时钟产生电路作进一步详细说明。根据下面说明和权利要求书,本发明的优点和特征将更清楚。需说明的是,附图均采用非常简化的形式且均使用非精准的比例,仅用以方便、明晰地辅助说明本发明实施例的目的。

另外,除非另行说明,本发明的不同实施例中的特征可以相互组合。例如,可以用第二实施例中的某特征替换第一实施例中相对应或功能相同或相似的特征,所得到的实施例同样落入本申请的公开范围或记载范围。

本发明的核心思想在于提供一种新颖的加扰时钟产生电路,通过数字电路设计方法实现可精确控制性能损失开销的加扰时钟。

为实现上述思想,本发明提供了一种加扰时钟产生电路,包括:伪随机数发生器,被配置为根据由原始时钟生成的原始时钟信号产生伪随机数;加扰使能产生器,被配置为根据原始时钟信号和伪随机数生成使能信号;以及最终输出时钟,被配置为根据使能信号将原始时钟信号作为最终时钟信号输出。

本发明提供一种加扰时钟产生电路,如图1所示,包括:原始时钟10,被配置为产生原始时钟信号;伪随机数发生器20,被配置为根据原始时钟信号产生伪随机数;加扰使能产生器30,被配置为根据原始时钟信号和伪随机数产生使能信号;以及最终输出时钟(加扰时钟60),被配置为接收到使能信号后,将原始时钟信号作为最终时钟信号输出。应当指出,在一些实施例中,实现原始时钟10的振荡电路可以与本发明的加扰时钟产生电路分开。在这种情况下,本发明的加扰时钟产生电路从外部接收原始时钟信号并据此生成加扰时钟60。

图1为本发明提出的加扰时钟产生电路。原始时钟10作为伪随机数发生器20的控制时钟,产生一个随机抽头。该伪随机数发生器20可以是常用的PRBS7,PRBS9,PRBS15,PRSB23或者PRBS31等,可以为固定码型的随机数发生器,也可以是特定码型的随机数发生器。码字越长,随机性能越好。在所述的加扰时钟产生电路中,所述原始时钟信号由锁相环或晶体振荡器产生,原始时钟信号的一个时钟周期内,包含高电平有效时间和低电平有效时间,高电平有效时间占据整个时钟周期的比例约为50%。

在本发明的一个实施例中,在所述的加扰时钟产生电路中,伪随机数发生器20根据原始时钟信号产生伪随机数包括:所述伪随机数发生器20产生串行的伪随机二进制序列,在伪随机二进制序列2^31-1的周期长度内,0和1随机出现。

在本发明的一个实施例中,在所述的加扰时钟产生电路中,如图2所示,所述伪随机数发生器20基于PRBS31=X31+X28+1码型,所述伪随机数发生器20包括32个延时单元,延时单元包括D触发器;第1个延时单元的输出信号、第29个延时单元的输出信号及第32个延时单元的输出信号通过两个异或门产生伪随机二进制序列;伪随机二进制序列反馈至第1个延时单元的输入端,以进行循环移位。

伪随机二进制序列(Pseudo-Random Binary Sequence,PRBS)是指只包含0和1的伪随机序列。如果一个序列,一方面它是可以预先确定的,并且是可以重复地生产和复制的;一方面它又具有某种随机序列的随机特性(即统计特性),便称这种序列为伪随机序列。伪随机信号与随机信号的区别在于:随机信号是不可预测的,而是随机信号在将来时刻的取值只能从统计意义上去描述;伪随机序列实质上不是随机的,而是收发双方都知道的确定性周期信号,之所以称其为伪随机序列,是因为它表现出白噪声采样序列的统计特性,在不知其生成方法的侦听者看来像真的随机序列一样。伪随机二进制序列的理论发展比较成熟。实现比较简便,利用n级移位寄存器可产生长度为2

在本发明的一个实施例中,在所述的加扰时钟产生电路中,所述加扰使能产生器30包括:计数器,被配置为产生计数值,并判断计数值是否等于设置值,若是则输出等于1的计数信号,否则输出等于0的计数信号;与门电路,被配置为将计数信号与伪随机数进行相与运算,以产生使能信号,若计数信号与伪随机数均为1,则使能信号为1,否则使能信号为0。

在本发明的一个实施例中,在所述的加扰时钟产生电路中,加扰使能产生器30包括第一加扰电路302,所述第一加扰电路302包括:模二计数器320,被配置为遇到原始时钟信号的上升沿则进行一次跳变,以输出0和1交替循环出现的第一序列信号,第一序列信号等于1时则计数信号为1,否则计数信号为0;第一与门322,被配置为将模二计数器产生的计数信号与伪随机数进行相与运算。

在本发明的一个实施例中,在所述的加扰时钟产生电路中,加扰使能产生器30还包括第二加扰电路303,所述第二加扰电路包括:模四计数器330,被配置为遇到原始时钟信号的上升沿则进行一次跳变,以输出0、1、2、3交替循环出现的第二序列信号;判断电路331,被配置为检测到第二序列信号等于3时,使得计数信号为1,否则使得计数信号为0;第二与门332,被配置为将判断电路产生的计数信号与伪随机数进行相与运算。

加扰使能产生器30是基于计数器的低硬件开销电路。比如加扰使能产生器可以是2bit的计数器,以0->1->2->3->0->1->2->3->1…循环计数。当计数器跳到3时,此时伪随机发生器的输出抽头可以作为门控时钟单元50的使能。理论上,伪随机数发生器20输出抽头是随机的0或者1,但是0或者1发生的概率均为50%。而2bit计数器跳到3时来选择输出抽头,因此高电平脉冲使能的发生概率为1/4*50%=12.5%。高电平脉冲使能取反,相当于用87.5%的使能概率来控制原始时钟10的门控,产生加扰时钟60;该加扰时钟60的性能约为原始时钟10的87.5%,即12.5%的性能开销。如果采用1bit计数器,则产生的加扰时钟性能约为原始时钟的75%,即25%的性能开销。可以通过采用不同的计数器,来控制加扰时钟的性能开销。软件可以通过模式控制端来,来产生多种不同的加扰时钟。

在本发明的一个实施例中,在所述的加扰时钟产生电路中,还包括:反相器305,被配置为将使能信号进行反相;第一与门输出的高电平有效时间占据整个时钟周期的比例为25%,第二与门输出的高电平有效时间占据整个时钟周期的比例为12.5%。

在本发明的一个实施例中,在所述的加扰时钟产生电路中,还包括:模式选择器304,被配置为选择第一与门输出的使能信号提供至反相器305,或选择第二与门输出的使能信号提供至反相器305。加扰使能产生器30可以只包括第一加扰电路302、或者只包括第二加扰电路303、或者同时包括第一加扰电路302和第二加扰电路303并根据模式选择器304来选择两者中的一个起作用。

在本发明的一个实施例中,如图3所示,在所述的加扰时钟产生电路中,原始时钟10连接至异步总线桥200、系统总线300、CPU、DMA及片上存储器,以将所述原始时钟信号提供至异步总线桥200、系统总线300、CPU、DMA及片上存储器;最终输出时钟(加扰时钟60)与异步总线桥200和安全子系统100连接,以将最终时钟信号提供至异步总线桥200和安全子系统100;所述安全子系统100包括加解密模块,通过异步总线桥200与系统总线300通信;所述安全子系统100按照最终时钟信号工作在加扰时钟域,以提升抗击能量攻击能力;所述系统总线300、CPU、DMA及片上存储器按照原始时钟信号工作在非加扰时钟域;所述异步总线桥200根据非加扰时钟域和加扰时钟域进行数据通信。

在本发明提供的加扰时钟产生电路中,通过伪随机数发生器20根据原始时钟信号产生伪随机数,加扰使能产生器30根据原始时钟信号和伪随机数产生使能信号,最终输出时钟根据使能信号(例如在使能信号的高电平的时刻,或者反之,此操作例如可以通过将使能信号与原始时钟信号进行与运算(AND)来实现)将原始时钟信号作为最终时钟信号输出,伪随机数发生器20、加扰使能产生器30均为数字电路实现,整个电路采用数字电路实现,电路开销小,且能够精确控制时钟加扰带来的性能开销(如12.5%,25%或者其他值)。

RAW_CLK是由锁相环或者晶体振荡器产生的原始时钟,一般是较理想的时钟信号。每个原始时钟周期,包含高电平有效时间和低电平有效时间,高电平有效时间占据整个时钟周期的比例,称为占空比。图4的占空比接近50%。

如图5所示,Swallow_CLK则是经过时钟加扰电路处理后的最终输出时钟。可以发现,高电平脉冲会被随机的丢弃:丢弃的时刻是随机的,连续丢弃的脉冲格式是随机的,但是被丢弃的总比例是可控的。

图2是一种伪随机数发生器示例,且是一种基于PRBS31=X31+X28+1码型的伪随机数发生器。PRBS,即Pseudo-Random Binary Sequence,即伪随机二进制序列。在该码流中,在2^31-1的周期长度内,0和1是随机出现的。

伪随机数发生器20包含了X0,X1,…X30,X31一共32个延时单元;比如211X15就是第16个延时单元。在本发明中,延时单元就是一个简单的D触发器,来实现一个RAW_CLK周期的延时。212是第一个延时单元X0的输出抽头;213是延时单元X28的输出抽头;214是延时单元X31的输出抽头;212、213、214这三个抽头,通过两个异或门215和216,产生217,所以217就是PRBS31=X31+X28+1这个码型生成器的输出。217会反馈给X0的输入端,实现循环移位。217上0和1出现的概率是50%。

如图2、6所示,第一加扰电路302基于模二计数器320实现。320是一个工作在RAW_CLK的模二计数器。324实际就是基于RAW_CLK时钟上升沿来跳变的0->1->0->1->0->1->…序列,通过与门322,324与217做逻辑“AND”操作,产生了325使能控制型号。概率来讲,325信号上,高电平出现的时间占据总时间的25%。

如图2、7所示,第二加扰电路303基于模四计数器330实现。330是一个工作在RAW_CLK的模四计数器。333实际就是基于RAW_CLK时钟上升沿来跳变的0->1->2->3->0->1->2->3->0->1->2->3…循环序列。331是个判断电路,只有333为“3”,则334输出“1”,否则输出“0”。所以334上出现高电平的时间比例为25%。通过与门332,334与217做逻辑“AND”操作,产生了335使能控制型号。由于任意时刻,217上出现0和1的概率各为50%,所以335按照50%的概率,随机的去除334上的高电平脉冲,如图7所示,334的第二个脉冲被吞没了。因此,335上出现高电平的时间比例为12.5%。

304是一个二选一的选择电路。当模式控制端为1,选择325,否则选择335。通过305,我们对304的输出去反。因此,当模式控制端为1时候,306上高电平的时间比例为75%;否则,高电平时间比例为87.5%。50是一个门控时钟单元。通过306来控制原始的RAW_CLK,能够生成最终的加扰时钟。

综上,上述实施例对加扰时钟产生电路的不同构型进行了详细说明,当然,本发明包括但不局限于上述实施中所列举的构型,任何在上述实施例提供的构型基础上进行变换的内容,均属于本发明所保护的范围。本领域技术人员可以根据上述实施例的内容举一反三。

本说明书中各个实施例采用递进的方式描述,每个实施例重点说明的都是与其他实施例的不同之处,各个实施例之间相同相似部分互相参见即可。对于实施例公开的系统而言,由于与实施例公开的方法相对应,所以描述的比较简单,相关之处参见方法部分说明即可。

上述描述仅是对本发明较佳实施例的描述,并非对本发明范围的任何限定,本发明领域的普通技术人员根据上述揭示内容做的任何变更、修饰,均属于权利要求书的保护范围。

相关技术
  • 加扰时钟产生电路
  • 时钟校正方法与校正电路和参考时钟产生方法与产生电路
技术分类

06120113066510