一种抵抗侵入式攻击的真随机数发生器的制作方法

文档序号:12462854阅读:210来源:国知局
一种抵抗侵入式攻击的真随机数发生器的制作方法与工艺

本发明涉及集成电路及芯片安全技术领域,具体涉及一种抵抗侵入式攻击的真随机数发生器。



背景技术:

随着互联网的快速发展以及信息技术应用,网上交易如电子商务、网上银行以及手机银行也变得越来越普遍,其安全问题也越来越受到人们的关注。目前网上交易的安全性主要是使用相关密码算法保证数据的完整性和真实性,其中分组密码算法和公钥密码算法是最常使用的两种密码算法。这些算法的一个特点就是都需要使用密钥才能进行运算,所以这些算法密钥的安全性就显得非常重要,其中很重要的一个特性就是不能轻易被攻击者猜测出密钥值,故一般都是采用真随机数作为密钥。因为真随机数发生器的不可预测性使得攻击者无法通过一般规律猜测出密钥值从而保证了密钥的安全。

随机数一般又分为真随机数和伪随机数,故其生产方式也分为两种,一种为真随机数生成方式,一种为伪随机数生成方式。其中真随机数一般使用随机的物理过程(比如环境噪声,电路的热噪声,放射性衰变等)作为随机数源,并利用模拟电路进行实现,再加上数字后处理过程从而得到真随机数。这样产生的真随机数是没有任何规律性可言,具有不可预测性,攻击者不可能通过大量数据分析进而猜测出下一个产生的数据是多少;伪随机数顾名思义不是真正的随机数,一般是使用某种固定生成算法实现,只是使用者可以设置初始种子,这样产生的随机数缺点是显而易见,攻击者可以通过大量数据分析进而猜测出伪随机数生成算法。故实际应用中都是使用真随机数发生器。

目前,真随机数发生器在电路设计中有离散时间混沌实现法、振荡采样法、直接放大热噪声法等三种常见的实现方法。其中振荡采样法的随机源主要来源于振荡器的相位抖动和噪声,电路中的亚稳态产生相位抖动,电路中的热噪声产生相位噪声。由于振荡采样法的实现电路比较简单,产生的真随机数质量不错,所以使用也最广泛,一般使用模拟电路实现随机数源部分,数字电路实现后处理部分。近年来随着攻击技术的不断发展,攻击者比较容易找到芯片中模拟电路部分进而用侵入式攻击的方法攻击随机数源部分,将随机数源部分切断或者输入固定的序列从而使得真随机数发生器是按照攻击者的方法产生随机数。为了避免这种攻击,目前主要是从两个方面进行改进,一是检测随机数源部分,检测随机数源部分是否攻击,如果检测受到攻击则停止产生随机数并报警,二是在使用前检测随机数的质量,如果通过测试则表示产生的真随机数是可以用的,否则不可使用。



技术实现要素:

本发明的目的在于提供一种抵抗侵入式攻击的真随机数发生器,电路结构实现简单,面积小,成本低,适用性强。

为了达到上述目的,本发明通过以下技术方案实现:一种抵抗侵入式攻击的真随机数发生器,包括:随机数源产生模块、检测模块和后处理模块;

随机数源产生模块的输出端分别耦合至所述检测模块和后处理模块的输入端;

随机数源产生模块用于产生具有随机特性的数字信号;

检测模块用于检测具有随机特性的数字信号是否被侵入式攻击,若被侵入式攻击,还用于报警并停止随机数源产生模块的输出;

后处理模块用于对随机数源信号进行算法处理以产生真随机数数据。

一种实施例中,随机数源产生模块包括高频信号源、低频信号源、采样电路和选择器;

采样电路的输入信号为高频信号源输出的高频信号及低频信号源输出的低频信号;

采样电路的输出信号为具有随机特性的数字信号,是由低频信号对高频信号进行采样后获得的;

采样电路的输出端耦合至选择器的输入端,选择器用于选择输出采样电路的输出信号或检测模块的输出信号。

一种实施例中,检测模块包括第一自检电路,第一自检电路用于产生控制选择器输出的控制信号,并用于检测选择器输出端的随机数据是否存在被侵入式攻击,若存在,第一自检电路还用于报警并停止选择器的输出。

一种实施例中,第一自检电路包括自检数据产生电路、控制信号产生电路、检测电路和第一报警电路;

自检数据产生电路用于产生自检数据并将自检数据输入选择器的输入端;

控制信号产生电路用于产生一控制信号并将控制信号发送至选择器的输入端,控制选择器选择输出自检数据;

检测电路用于比较选择器输出的自检数据与自检数据产生电路产生的自检数据是否相同,若不相同,则第一报警电路报警并停止选择器的输出。

一种实施例中,检测模块还包括第二自检电路,第二自检电路用于检测选择器输出端的随机数据是否存在被侵入式攻击,若存在,第二自检电路还用于报警并停止选择器的输出。

一种实施例中,第二自检电路包括计数器、比较器和第二报警电路;

计数器的输入端耦合至选择器的输出端,计数器的输出端耦合至比较器的输入端,比较器的输出端耦合至第二报警电路;

计数器用于计数选择器输出的随机数据出现连续0和1的个数;

比较器用于比较出现连续0和1的个数是否大于设定值,若大于,第二报警电路报警并停止选择器的输出。

一种实施例中,后处理模块包括异或门电路和线性反馈移位寄存器;

异或门电路的输入端耦合至选择器的输出端,异或门电路的输出端耦合至线性反馈移位寄存器的输入端;

异或门电路的输入信号为选择器输出的具有随机特性的数字信号;

线性反馈移位寄存器的输入信号为具有随机特性的数字信号与线性反馈移位寄存器的反馈信号经异或门电路异或后的信号。

一种实施例中,高频信号源为高频振荡器,所述高频振荡器包括第一至第四或门、第一至第十反相器和一个与非门;

第一至第十反相器依次串连,且第十反相器的输出端耦合至与非门的输入端,与非门的输出端和第十反相器的输出端分别耦合至第四或门的输入端,第四或门的输出端和第四反相器的输出端分别耦合至第三或门的输入端,第三或门的输出端和第三反相器的输出端分别耦合至第二或门的输入端,第二或门的输出端和第一反相器的输出端分别耦合至第一或门的输入端,第一或门的输出端耦合至第一反相器的输入端。

一种实施例中,线性反馈移位寄存器包括第一至第七异或门及第零至第四十D触发器;

第零D触发器的D端口接到第一异或门的输出端,Q端口接到第一D触发器的D端口;第一D触发器的Q端口接到第二D触发器的D端口,第二D触发器的Q端口接到第三D触发器的D端口;如此依次将第零至第四十D触发器串联起来;第零至第四十D触发器的CK端口都由相同的时钟信号驱动;第一D触发器、第二D触发器、第三D触发器及第六D触发器的Q端口分别接到第二异或门的四个输入端口,第二异或门的输出端口接至第一异或门的输入端;第十一D触发器、第十四D触发器的Q端口以及第四异或门的输出端分别接到第三异或门的三个输入端口,第三异或门的输出端口接至第一异或门的输入端;第十六D触发器、第十七D触发器的Q端口以及第五异或门和第六异或门的输出端分别接到第四异或门的四个输入端口;第十九D触发器、第二十一D触发器及第二十二D触发器的Q端口分别接到第五异或门的三个输入端口;第二十五D触发器、第二十六D触发器及第三十D触发器的Q端口以及第七异或门的输出端分别接到第六异或门的四个输入端口;第三十二D触发器、第三十五D触发器、第三十八D触发器及第四十D触发器的Q端口分别接到第七异或门的四个输入端口;其中,第二异或门、第三异或门、第四异或门、第五异或门、第六异或门及第七异或门的输出端进行异或后作为线性反馈移位寄存器的反馈信号,输出至第一异或门电路。

依据上述实施例的真随机数发生器,由于检测模块比较容易检测出随机数源部分是否被切断或受到控制,若随机数源部分被切断或受到控制,检测模块报警并停止输出随机数源,提高了真随机数的质量,并且,检测模块采用数字电路实现,结构简单、面积比较少,便于在各种工艺下进行移植,比较容易加入到真随机数发生器电路中。

附图说明

图1为真随机数发生器原理图;

图2为高频信号源电路结构示意图;

图3为第一自检电路结构示意图;

图4为第二自检电路结构示意图;

图5为线性反馈移位寄存器电路结构示意图。

具体实施方式

下面通过具体实施方式结合附图对本发明作进一步详细说明。

如图1所示,一种抵抗侵入式攻击的真随机数发生器,包括随机数源产生模块100、检测模块200和后处理模块300;随机数源产生模块100的输出端分别耦合至检测模块200和后处理模块300的输入端;随机数源产生模块100用于产生具有随机特性的数字信号;检测模块200用于检测具有随机特性的数字信号是否被侵入式攻击,若被侵入式攻击,还用于报警并停止随机数源产生模块100的输出;后处理模块300用于对随机数源信号进行算法处理以产生真随机数数据。

其中,随机数源产生模块100包括高频信号源101、低频信号源102、采样电路103和选择器104;采样电路103的输入信号为高频信号源101输出的高频信号及低频信号源102输出的低频信号;采样电路103的输出信号为具有随机特性的数字信号,是由低频信号对高频信号进行采样后获得的,如,采用低频时钟信号作为采样电路103的输入时钟,高频时钟信号作为采样电路103的输入数据;采样电路103的输出端耦合至104选择器的输入端,选择器104用于选择输出采样电路103的输出信号或检测模块200的输出信号。

具体的,如图2所示,高频信号源101为高频振荡器,该词频振荡器包括第一至第四或门(10110-10113)、第一至第十反相器(10120-10129)和一个与非门10130,其中,第一至第十反相器(10120-10129)依次串连,且第十反相器10129的输出端耦合至与非门10130的输入端,与非门10130的输出端和第十反相器10129的输出端分别耦合至第四或门10113的输入端,第四或门10113的输出端和第四反相器10123的输出端分别耦合至第三或门10112的输入端,第三或门10112的输出端和第三反相器10122的输出端分别耦合至第二或门10111的输入端,第二或门10111的输出端和第一反相器10120的输出端分别耦合至第一或门10110的输入端,第一或门10110的输出端耦合至第一反相器10120的输入端;与非门10130的输出信号即为高频信号,由于MOS管的热噪声会导致产生高频信号的相位噪声。

由于本例的高频信号源101具有反馈作用,使得其产生的高频信号的频率幅度变化较大,相应的,产生的随机数据的随机性较高。

进一步,检测模块200包括第一自检电路201和第二自检电路202,其中,第一自检电路201用于产生控制选择器104输出的控制信号,并用于检测选择器104输出端的随机数据是否存在被侵入式攻击,若存在,第一自检电路201还用于报警并停止选择器104的输出,如图3所示,第一自检电路201包括自检数据产生电路2011、控制信号产生电路2012、检测电路2013和第一报警电路2014,自检数据产生电路2011用于产生自检数据并将自检数据输入选择器104的输入端;控制信号产生电路2012用于产生一控制信号并将控制信号发送至选择器104的输入端,控制选择器104选择输出自检数据;检测电路2013用于比较选择器104输出的自检数据与自检数据产生电路2011产生的自检数据是否相同,若不相同,则第一报警电路2014报警并停止选择器104的输出。

本例的第一自检电路201的工作原理是:自检数据产生电路2011是一个伪随机数据发生器,当控制寄存器的使能位置1时,自检数据产生电路2011产生4位随机数并输出给选择器104,同时,控制信号产生电路2012输出高电平控制选择器104输出该4位随机数,检测电路2013是一个比较器,检测电路2013比较选择器104的输出是否等于自检数据产生电路2011产生的4位随机数,若不相等,则检测电路2013输出一控制信号,该控制信号控制第一报警电路2014发出报警并停止选择器104的输出,。

本例的第二自检电路202用于检测选择器104输出端的随机数据是否存在被侵入式攻击,若存在,第二自检电路202还用于报警并停止选择器104的输出,如图4所示,第二自检电路202包括计数器2021、比较器2022和第二报警电路2023;其中,计数器2021的输入端耦合至选择器104的输出端,计数器2021的输出端耦合至比较器2022的输入端,比较器2022的输出端耦合至第二报警电路2023;计数器2021用于计数选择器104输出的随机数据出现连续0和1的个数;比较器2022用于比较出现连续0和1的个数是否大于设定值,若大于,比较器2022输出一控制信号,该控制信号控制第二报警电路2023报警并停止选择器104的输出。

本例将第一自检电路201和第二自检电路202综合使用,以提高随机数源部分的检测质量,在其他实施例中,可以单独使用其中之一进行检测。

本例的后处理模块300包括异或门电路301和线性反馈移位寄存器302,异或门电路301的输入端耦合至选择器104的输出端,异或门电路301的输出端耦合至线性反馈移位寄存器302的输入端;异或门电路301的输入信号为选择器104输出的具有随机特性的数字信号;线性反馈移位寄存器302的输入信号为具有随机特性的数字信号与线性反馈移位寄存器302的反馈信号经异或门电路301异或后的信号。

如图5所示,线性反馈移位寄存器302采用41位线性反馈移位寄存器,由于该41位线性反馈移位寄存器的位数多,产生的随机数据的随机性更好,其包括第一至第七异或门(3021-3027)和第零至第四十D触发器(00-40),反馈函数为F=D[40]^D[38]^D[35]^D[32]^D[30]^D[26]^D[25]^D[22]^D[21]^D[19]^D[17]^D[16]^D[14]^D[11]^D[06]^D[03]^D[02]^D[01]。

其中,第零D触发器00的D端口接到第一异或门3021的输出端,Q端口接到第一D触发器01的D端口;第一D触发器01的Q端口接到第二D触发器02的D端口,第二D触发器02的Q端口接到第三D触发器03的D端口;如此依次将第零D触发器00至第四十D触发器40串联起来;第零D触发器00至第四十D触发器40的CK端口都由相同的时钟信号驱动;第一D触发器01、第二D触发器02、第三D触发器03及第六D触发器06的Q端口分别接到第二异或门3022的四个输入端口,第二异或门3022的输出端口接至第一异或门3021的输入端;第十一D触发器11、第十四D触发器14的Q端口以及第四异或门3024的输出端分别接到第三异或门3023的三个输入端口,第三异或门3023的输出端口接至第一异或门3021的输入端;第十六D触发器16、第十七D触发器17的Q端口以及第五异或门3025和第六异或门3026的输出端分别接到第四异或门3024的四个输入端口;第十九D触发器19、第二十一D触发器21及第二十二D触发器22的Q端口分别接到第五异或门3025的三个输入端口;第二十五D触发器25、第二十六D触发器26及第三十D触发器30的Q端口以及第七异或门3027的输出端分别接到第六异或门3026的四个输入端口;第三十二D触发器32、第三十五D触发器35、第三十八D触发器38及第四十D触发器40的Q端口分别接到第七异或门3027的四个输入端口;其中,第二异或门3022、第三异或门3023、第四异或门3024、第五异或门3025、第六异或门3026及第七异或门3027的输出端进行异或后作为线性反馈移位寄存器302的反馈信号,输出至第一异或门电路3021。

先通过检测模块200对随机数源产生模块100产生的随机数据进行检测,以防止随机数据被侵入式攻击,然后再将检测后的数据经后处量模块300进行处理获得随机性高的真随机数据,即线性反馈移位寄存器302中的值即为真随机数据,提高了真随机数据的质量。

以上应用了具体个例对本发明进行阐述,只是用于帮助理解本发明,并不用以限制本发明。对于本发明所属技术领域的技术人员,依据本发明的思想,还可以做出若干简单推演、变形或替换。

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