一种真随机数发生器及标签芯片的制作方法

文档序号:12809094阅读:279来源:国知局
一种真随机数发生器及标签芯片的制作方法与工艺

本发明涉及信息安全领域,具体地,涉及一种真随机数发生器及标签芯片。



背景技术:

随着对通信安全的重视,目前对于标签芯片的安全级别要求也越来越高。国家密码管理局制定的《采用sm7密码算法的电子标签芯片规范》中,就对标签芯片有如下要求:要求基于无源标签,满足其低成本、低功耗需求;要求适用于对安全标签和随机数发生器有较高安全级别要求的应用环境,特别是仅限使用国产商用算法作为密码应用的场合。

安全级别较高的标签芯片通常采用认证协议、加密算法以及随机数发生器来共同保护标签密钥和数据的安全,而随机数发生器又分为伪随机数发生器(pseudo-randomnumbergenerator,prng)和真随机数发生器(truerandomnumbergenerator,trng)。其中,伪随机数发生器产生的是伪随机数,它们实际上是可以计算出来的,一旦知道了生成方法和随机数种子,就可以得到完全相同的伪随机数。而真随机数发生器可为伪随机数发生器提供种子,其所产生的随机数来源于真实的随机物理过程,因此彻底地消除了伪随机数的周期性问题,对于某些对随机数质量有特殊要求的应用具有重要意义。

如图1所示,真随机数发生器的架构通常包括熵源、熵处理模块和错误校验模块,若错误校验中发现问题则进行报警,否则输出随机数。后处理模块则为常规真随机数发生器的可选择模块,通过后处理模块可以增强随机数的随机性,降低偏置性和相关性。通常,后处理模块可以通过简单的逻辑运 算或密码算法来实现。

根据上述的《采用sm7密码算法的电子标签芯片规范》对标签芯片的要求,配合标签芯片使用的真随机数发生器在架构上也应要求电路复杂度低、低功耗且高速。对此,若为真随机数发生器选择后处理模块,会使电路复杂度增加,从而占用标签芯片面积,且通过简单的逻辑运算或密码算法实现的后处理模块也不适用于有较高安全级别要求的应用环境(特别是仅限使用国产商用算法作为密码应用的场合)。但是,若不选择后处理模块,又不利于增强真随机数本身的安全性。因此,现有的真随机数发生器的架构不能满足对应的标签芯片的要求。



技术实现要素:

本发明的目的是提供一种真随机数发生器,用于解决现有配合标签芯片使用的真随机数发生器的架构不满足标签芯片要求的问题。

为了实现上述目的,本发明提供一种真随机数发生器,该真随机数发生器包括:随机数产生模块,用于产生真随机数;以及后处理模块,用于采用密码算法对产生的真随机数进行后处理;其中,所述后处理模块被配置为采用与该真随机数发生器配合使用的标签芯片的密码算法ip核模块。

优选地,所述密码算法为sm7密码算法。

本发明还提供了一种标签芯片,该标签芯片与上述的随机数发生器配合使用,且该标签芯片的密码算法ip核模块被配置为所述随机数发生器的后处理模块。

优选地,所述密码算法ip核模块是sm7算法ip核模块。

优选地,所述随机数发生器集成在所述标签芯片中。

优选地,该标签芯片还包括:微控制器,用于接收并存储所述随机数产生模块产生的真随机数,并将所述真随机数传输给所述密码算法ip核模块 进行后处理。

优选地,所述随机数产生模块与所述微控制器之间以及所述微控制器与所述密码算法ip核模块之间通过数据总线通信。

优选地,所述微控制器包括:流密钥寄存器,用于将所述随机数产生模块产生的真随机数作为流密钥数据存储;以及数据寄存器,用于将所述随机数产生模块产生的真随机数作为待加密数据存储。

优选地,将所述真随机数传输给所述密码算法ip核模块进行后处理包括:所述微控制器向所述密码算法ip核模块发送使能信号,并在数据总线的高位填充流密钥数据,低位填充待加密数据;以及密码算法ip核模块接收到所述使能信号后,读取数据总线数据,再采用加密算法对读取的数据总线数据进行后处理运算,生成真随机数对应的密文,并将该密文填充至数据总线。

优选地,所述微处理器从数据总线获得所述密文,并将该密文作为最终的真随机数写入至所述数据寄存器。

通过上述技术方案,本发明的技术效果是:本发明通过后处理模块,增强了真随机数发生器的白噪声化,增加了熵值,减弱了潜在的未知攻击;在硬件需求方面,所选的密码算法ip核复杂度低、低功耗、高速,适用于无源标签芯片等对真随机数的安全需求,且节省了标签芯片面积。

本发明的其它特征和优点将在随后的具体实施方式部分予以详细说明。

附图说明

附图是用来提供对本发明的进一步理解,并且构成说明书的一部分,与下面的具体实施方式一起用于解释本发明,但并不构成对本发明的限制。在附图中:

图1是常规真随机数发生器的结构示意图。

图2是本发明的实施例中的随机数发生器的结构示意图。

图3是本发明的实施例中的标签芯片的局部架构示意图。

附图标记说明

1随机数产生模块2后处理模块

3密码算法ip核模块4微处理器

5数据总线41流密钥寄存器

42数据寄存器

具体实施方式

以下结合附图对本发明的具体实施方式进行详细说明。应当理解的是,此处所描述的具体实施方式仅用于说明和解释本发明,并不用于限制本发明。

在本发明中,标签芯片是指电子标签芯片,而电子标签又称射频标签、应答器、数据载体等。另外,本发明中需要对真随机数进行后处理的原理为:理论上,真随机数发生器输出的随机位出现“0”和“1”的概率应相等,实际上,由于真随机数发生器电路内部其它非高斯型噪声影响、电路外部环境温度变化对系统稳定性影响、以及实现模拟电路的精确性等因素影响,使得产生的随机位不可能是严格等概率的,这就会影响所产生随机序列分布的均匀性,为此必须采用数字后处理方法对随机位的概率偏差加以修正。

本发明的实施例提供了一种真随机数发生器,如图2所示,该真随机数发生器包括:随机数产生模块1,用于产生真随机数;以及后处理模块2,用于采用密码算法对产生的真随机数进行后处理;其中,所述后处理模块2被配置为采用与该真随机数发生器配合使用的标签芯片的密码算法ip核模块(也可直接称为密码算法ip核)。需说明的是,图2中后处理模块2与密 码算法ip核模块为同一模块。

其中,所述真随机数产生模块1的可参考图1所示的常规真随机数发生器的结构进行设计,其通过熵源、熵处理模块和错误校验模块产生真随机数,其中熵源、熵处理模块和错误校验模块以及它们结合所产生真随机数的过程为本领域的公知技术,在此不在赘述。

在本领域,真随机数发生器通常可配合标签芯片使用,其为标签芯片提供真随机数,以提高标签芯片的安全性。进一步地,标签芯片具有固有的密码算法ip核(intellectualpropertycore,全称为知识产权核,简称ip核),ip核是指某一方提供的、形式为逻辑单元、芯片设计的可重用模块。在标签芯片中,通过密码算法ip核能够对用户的敏感信息进行加密,从而对用户信息提供更为有效的机密性和完整性保护。

据此,本实施例将标签芯片固有的密码算法ip核模块作为真随机数发生器的后处理模块,从而复用了密码算法ip核模块,无需另行设计进行后处理的功能模块或电路。

进一步地,所述密码算法采用sm7算法,且优选为轻量级国产算法sm7,从而对应的标签芯片也优选为具有轻量级国产算法sm7ip核模块的标签芯片。轻量级国产算法sm7是国产商用算法,且很多密码应用的场合仅限使用国产商用算法,因此本实施例的真随机数发生器采用轻量级国产算法sm7ip核模块作为后处理模块,针对性优于常规真随机数发生器。

对应于上述随机数发生器,本发明的实施例还提供了一种标签芯片,该标签芯片与上述的随机数发生器配合使用,且该标签芯片的密码算法ip核模块被配置为所述随机数发生器的后处理模块。

本实施例中,所述密码算法ip核模块是sm7算法ip核模块。据此,所述标签芯片可以是只具有sm7算法ip核模块的标签芯片,也可以是集成有多ip核(包括sm7算法ip核)的标签芯片。

进一步地,本实施例中,所述随机数发生器优选为集成在所述标签芯片中。在标签芯片中集成随机数发生器,更加有利于复用所述密码算法ip核模块,且在硬件需求方面,满足了标签芯片的低成本、低功耗的要求。同时,集成了随机数发生器的标签芯片,功能更为完整,在需要获取真随机数时,无需另行设置通信方式以实现与随机数发生器的通信及密码算法ip核模块的复用。

结合上述描述,如图3所示,对于集成有随机数据发生器的标签芯片,其包括:密码算法ip核模块3,用于采用密码算法进行信息加密;随机数发生器,其包括有随机数产生模块1,且其采用所述密码算法ip核模块3作为后处理模块2。此外,还包括微控制器4,该微处理器4用于接收并存储所述随机数产生模块产生的真随机数,并将所述真随机数传输给所述密码算法ip核模块进行后处理。其中,所述随机数产生模块与所述微控制器之间以及所述微控制器与所述密码算法ip核模块之间通过数据总线5通信。

另外,在图3中,所述后处理模块2与所述密码算法ip核模块3为同一模块,为便于指代清楚,未在图中标明后处理模块2,可参考上述文字内容进行理解。此外,图3仅为标签芯片的局部架构示意图,对于标签芯片的其他功能模块,不属于本实施例的内容,在此不再赘述。

需说明的是,所述微控制器是整个标签芯片的芯片控制模块,其可选用本领域所采用的常规控制器。

进一步,所述微控制器4包括:流密钥寄存器41,用于将所述随机数产生模块产生的真随机数作为流密钥数据存储;以及数据寄存器42,用于将所述随机数产生模块产生的真随机数作为待加密数据存储。

通过流密钥寄存器和数据寄存器实现了真随机数在微控制器中的存储,以32bit的真随机数为例,可通过以下步骤接收并分别将真随机数存入两个寄存器:在微控制器要调用真随机数发生器时,通过数据总线,发送一个随 机数使能信号;真随机数发生器通过数据总线将错误校验后的32bit真随机数传送给微控制器模块,微控制器模块将32bit数据及其循环左移8bit后按位取反的32bit数,按从高到低顺序,存入流密钥寄存器;将32bit真随机数循环右移8bit后的32bit数和及其数据按位取反的32bit数,按照从高到低的顺序,作为待加密数据,存入数据寄存器。在此,通过循环移位和取反的方式进行存储,有利于保证真随机数在存储过程中的安全性。其中,向两个寄存器中存储的真随机楼的数据格式,如表1所示。

表1

表中,trng_32表示32位真随机数,符号“<<”和“>>”分别表示循环左移和循环右移,符号“~”表示取反。

进一步地,同样以上述的32bit真随机数为例,微处理器将所述真随机数传输给所述密码算法ip核模块进行后处理包括:所述微控制器向所述密码算法ip核模块发送使能信号,并在数据总线的高位填充32bit流密钥数据,低位填充32bit待加密数据;以及密码算法ip核模块接收到所述使能信号后,读取数据总线数据,再采用加密算法对读取的数据总线数据进行后处理运算,生成真随机数对应的32bit密文,并将该32bit密文填充至数据总线。优选地,将将该32bit密文填充至数据总线时,在数据总线的高位填充32bit密文,在数据总线的低位填充32bit密文取反后的32位数,以保证32bit在传输过程上的安全性。

需说明的是,所述微控制器向所述密码算法ip核模块发送使能信号, 并在数据总线的高位填充32bit流密钥数据,低位填充32bit待加密数据时,可从流密钥寄存器中存储的流密钥数据进行逻辑运算(如异或),以获得32bit的流密钥数据,可从数据寄存器中存储的待加密数据进行逻辑运算(如异或),以获得32bit的流密钥数据。

之后,所述微处理器从数据总线获得所述密文,并将该密文作为最终的真随机数写入至所述数据寄存器。同时,所述微处理器还在其内部状态中产生随机数生成结束标志。

综上所述,本实施例中的真随机数发生器以及与真随机数发生器配合使用的标签芯片,主要具备以下两个特点:

1)真随机数发生器包括了后处理模块,后处理模块的实现方式采用标签芯片的密码算法ip核模块,且根据真随机数发生器的实际应用,密码算法采用轻量级国产算法sm7,针对性强。

2)真随机数发生器与标签芯片结合,在标签芯片的架构上,通过增加简单的组合电路(即上述实施例中通过数据总线和微控制器实现随机数产生模块与密码算法ip核的通信),即可实现密码算法ip核模块的复用,且无需访问标签芯片的芯片存储单元。

综上所述,本发明通过后处理模块,增强了真随机数发生器的白噪声化,增加了熵值,减弱了潜在的未知攻击;在硬件需求方面,所选的密码算法ip核复杂度低、低功耗、高速,适用于无源标签芯片等对真随机数的安全需求。同时,对于sm7密码算法的标签芯片,通过本实施例集成了真随机数发生器,并与真随机数发生器复用密码算法ip核,满足了《采用sm7密码算法的电子标签芯片规范》中对标签芯片的低成本、低功耗、适用于对安全标签和随机数发生器有较高安全级别要求的应用环境(特别是仅限使用国产商用算法作为密码应用的场合)的要求,扩展了国产算法sm7及其芯片产品的应用。

以上结合附图详细描述了本发明的优选实施方式,但是,本发明并不限于上述实施方式中的具体细节,在本发明的技术构思范围内,可以对本发明的技术方案进行多种简单变型,这些简单变型均属于本发明的保护范围。

另外需要说明的是,在上述具体实施方式中所描述的各个具体技术特征,在不矛盾的情况下,可以通过任何合适的方式进行组合。为了避免不必要的重复,本发明对各种可能的组合方式不再另行说明。

此外,本发明的各种不同的实施方式之间也可以进行任意组合,只要其不违背本发明的思想,其同样应当视为本发明所公开的内容。

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