随机数发生器的熵源采集方法、计算机设备及存储介质技术

技术编号:18860399 阅读:54 留言:0更新日期:2018-09-05 14:05
本申请发明专利技术涉及一种移动终端随机数发生器的熵源采集方法、计算机设备和介质,一个实施例中的方法包括:从移动终端获取随机终端信息串;从服务端获得服务端来源随机信息;基于所述随机终端信息串和所述服务端来源随机信息生成外部熵源。本实施例方案基于移动终端的随机终端信息串和服务端的服务端来源随机信息生成外部熵源,不仅适用于移动终端,而且基于服务端来源随机信息可使得客户端的随机数发生器获得足够的熵源,提高了移动终端采集的熵源的随机性和安全性。

Entropy generation method, computer equipment and storage medium of random number generator

The invention relates to an entropy source acquisition method, a computer device and a medium for a mobile terminal random number generator. An embodiment of the invention includes: acquiring a random terminal information string from a mobile terminal; obtaining random information from a server source; and following the random terminal information string and the server source based on the random terminal information string. Machine information generates an external entropy source. The proposed scheme generates an external entropy source based on the random terminal information string of the mobile terminal and the random information of the server source. It is not only suitable for the mobile terminal, but also can make the random number generator of the client obtain enough entropy source based on the random information of the server source, thus improving the entropy source of the mobile terminal. Machine and safety.

【技术实现步骤摘要】
随机数发生器的熵源采集方法、计算机设备及存储介质
本申请涉及密码学
,特别是涉及一种移动终端随机数发生器的熵源采集方法、计算机设备和计算机存储介质。
技术介绍
在目前的密码学
,很多密码协议的安全性都要求产生高质量的随机数,因此随机数在身份认证、密钥生成等场合具有举足轻重的作用。手机、平板电脑等移动终端在没有SE安全组件的条件下,无法使用专用芯片产生随机数,此时必须利用确定性随机数发生器来产生随机数。NISTSP800系列标准给出了确定性随机数发生器的推荐构造方式,譬如基于Hash运算的随机数发生器。在随机数发生器中,在初始化阶段必须输入外部采集的熵源,并且还需要利用该外部熵源执行周期性的补种操作。采集外部熵源的手段,一般从操作系统中具有随机性的外部输入设备进行采集,譬如利用鼠标的移动方向、距离等信息。但移动终端设备一般都是使用触屏输入,PC环境下常用的熵源采集方法并不适用于移动终端设备。
技术实现思路
基于此,有必要提供一种移动终端随机数发生器的熵源采集方法、计算机设备和计算机存储介质。一种移动终端随机数发生器的熵源采集方法,所述方法包括步骤:从移动终端获取随机终端信息串;从服务端获得服务端来源随机信息;基于所述随机终端信息串和所述服务端来源随机信息生成外部熵源。一种计算机设备,包括存储器和处理器,所述存储器上存储有计算机程序,所述处理器执行所述计算机程序时实现如上所述法的步骤。一种计算机可读存储介质,其上存储有计算机程序,该程序被处理器执行时实现上述方法的步骤。根据如上所述的实施例的方案,其从移动终端获取随机终端信息串,还从服务端获得服务端来源随机信息,并基于移动终端的随机终端信息串和服务端的服务端来源随机信息生成外部熵源,不仅适用于移动终端,而且基于服务端来源随机信息可使得客户端的随机数发生器获得足够的熵源,提高了移动终端采集的熵源的随机性和安全性。附图说明图1为一个实施例中的移动终端随机数发生器的熵源采集方法的流程示意图;图2是一个实施例中的计算机设备的内部结构示意图。具体实施方式为了使本申请的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本申请进行进一步详细说明。应当理解,此处所描述的具体实施例仅仅用以解释本申请,并不用于限定本申请。如图1所示,一个实施例中的移动终端随机数发生器的熵源采集方法,包括步骤S101至步骤S103。步骤S101:从移动终端获取随机终端信息串。一个实施例中,从移动终端获取随机终端信息串可以包括:从移动终端的各部件采集终端部件随机信息,并基于采集的各部件的终端部件随机信息构建随机终端信息串。其中,在从移动终端的各部件采集终端部件随机信息时,可以是任何可能的部件,只要这些部件的信息不会在所有的移动终端上具有相同值。一个实施例中,从移动终端的各部件采集获得的终端部件随机信息,可以包括但不限于下述各类型信息:移动终端的陀螺仪的坐标值,该坐标值可以是一个三维坐标,包括横坐标值X、纵坐标值Y和第三坐标值Z,可表示为(X、Y、Z);移动终端的加速度传感器输出的加速度参数,对应于上述坐标值,该加速度参数可包括三个值,即横坐标加速度、纵坐标加速度以及第三坐标加速度,可表示为(AX、AY、AZ)。移动终端所处的地理位置信息,地理位置信息可以包括:经度Lon,纬度Lat和高度H。移动终端磁力计的输出的磁力信息,可记为MagNet,其具体可以包括磁北、真北和磁偏角。移动终端的当前CPU(中央处理器)的CPU使用率信息,可记为UR。移动终端的摄像设备的摄像设备信息。移动终端的操作系统的信息。移动终端的应用软件的软件信息。移动终端预先生成并存储的相关信息。可以理解,从移动终端的各部件采集的终端部件随机信息,可以包括但不限于上述列出的各种终端部件随机信息中的随机组合。在基于采集的各部件的终端部件随机信息构建随机终端信息串(下述各实施例中,将随机终端信息串记为Hinfo)时,可以采用任何可能的方式进行。在其中一个实施例中,可以是串接各部件的终端部件随机信息,获得随机终端信息串。以从移动终端的各部件采集的终端部件随机信息包括三维坐标(X、Y、Z)、加速度参数(AX、AY、AZ)、磁力信息MagNet、CPU使用率信息UR为例,串接后得到的随机终端信息串可以表示为:Hinfo=X||Y||Z||AX||AY||AZ||Lon||Lat||H||MagNet||UR。在其中一个实施例中,可以是计算各部件的终端部件随机信息的哈希值,并对获得的各哈希值进行运算,获得随机终端信息串。其中,在对获得的各哈希值进行运算,获得随机终端信息串时,可以采用任何可能的运算方式,例如,对获得的各哈希值进行异或或者相加或者其他运算,获得随机终端信息串。在其中一个实施例中,可以对各部件的终端部件随机信息进行处理,获得各处理数据,并对获得的各处理数据进行运算,获得随机终端信息串。其中,对各部件的终端部件随机信息进行的处理,可以是任何可能的处理方式,只要能够基于各终端部件随机信息产生较好随机性的输出即可,例如密钥派生。对获得的各处理数据进行运算,获得随机终端信息串时,可以采用任何可能的运算方式,例如,对获得的各密钥派生数据进行异或或者相加或者其他运算,获得随机终端信息串。步骤S102:从服务端获得服务端来源随机信息。可以采用各种可能的方式获得服务端来源随机信息。在其中一个实施例中,可以从服务端获取随机数信息,将该随机数信息作为所述服务端来源随机信息。该从服务端获取的随机数信息,可以是一个随机数,也可以是其他的信息,例如服务端采用对称密钥对随机数加密后获得的随机数密文,只要能够体现出从服务端获得的信息的随机性即可。在其中一个实施例中,从服务端获得服务端来源随机信息可以包括:从服务端获取随机数信息,基于所述随机数信息执行秘密运算,获得服务端来源随机信息。从服务端获取的随机数信息,可以是一个随机数,也可以是其他的信息,例如服务端采用共享对称密钥或者非对称密钥(如客户端公钥)对随机数加密后获得的随机数密文,只要能够体现出从服务端获得的信息的随机性即可。在一个实施例中,从服务端获取随机数信息,基于所述随机数信息执行秘密运算,获得服务端来源随机信息,包括步骤S1121和步骤S1122。步骤S1121:从服务端获取随机数,其中,该随机数可以是服务端调用密码机生成的随机数,且该随机数可以是真随机数。步骤S1122:采用对称密钥对随机数进行秘密运算,获得服务端来源随机信息。采用对称密钥对随机数进行运算的方式可以是任何可能的方式,例如加密运算(如SM4加密运算)、解密运算(如SM4解密运算)、或者HMAC运算等。其中,该对称密钥可以采用任何可能的方式获得。在其中一个方式中,可以通过随机的方式生成该对称密钥。例如随机生成一个随机数作为对称密钥。在其中一个方式中,可以是通过对上述随机终端信息串进行处理,获得该对称密钥,这里的处理可以是任何可能的处理方式,只要能够基于各终端部件随机信息产生较好随机性的输出即可。以下仅以其中两种方式进行举例说明。一个实施例中,可以通过对随机终端信息串进行密钥派生,获得该对称密钥,例如以上述硬件信息串Hinfo为输入,执行密钥派生函数获得一个128比特的随机数:K=KDF(Hinfo,128)本文档来自技高网...

【技术保护点】
1.一种移动终端随机数发生器的熵源采集方法,其特征在于,所述方法包括步骤:从移动终端获取随机终端信息串;从服务端获得服务端来源随机信息;基于所述随机终端信息串和所述服务端来源随机信息生成外部熵源。

【技术特征摘要】
1.一种移动终端随机数发生器的熵源采集方法,其特征在于,所述方法包括步骤:从移动终端获取随机终端信息串;从服务端获得服务端来源随机信息;基于所述随机终端信息串和所述服务端来源随机信息生成外部熵源。2.根据权利要求1所述的方法,其特征在于,从移动终端获取随机终端信息串包括:从移动终端的各部件采集终端部件随机信息,并基于采集的各部件的终端部件随机信息构建随机终端信息串。3.根据权利要求2所述的方法,其特征在于,基于采集的各部件的终端部件随机信息构建随机终端信息串,包括下述各项中的任意一项:串接各部件的终端部件随机信息,获得随机终端信息串;计算各部件的终端部件随机信息的哈希值,并对获得的各哈希值进行运算,获得随机终端信息串;对各部件的终端部件随机信息进行处理,获得各处理数据,对获得的各处理数据进行运算,获得随机终端信息串。4.根据权利要求1所述的方法,其特征在于,从服务端获得服务端来源随机信息,包括下述各项中的任意一项:从服务端获取随机数信息,将所述随机数信息作为所述服务端来源随机信息;从服务端获取随机数信息,基于所述随机数信息执行秘密运算,获得服务端来源随机信息。5.根据权利要求4所述的方法,其特征在于,从服务端获取随机数信息,基于所述随机数信息执行秘密运算,获得服务端来源随机信息,包括下述各项中的任意一项:第一项:从服务端获取随机数;获取对称密钥,并采用对称密钥对随机数进行运算,获得服务端来源随机信息;第二项:与服务端执行交换协议,获得共享随机数;获取对称密钥,采用所述对称密钥对所述共享随机数进行运算,获得服务端来源随机信息;第三项:获取服务端对随机数加密得到的第一随机数密文,对所述第一随机数密文解密,获得随机数;获取对称密钥,采用对称密钥对随机数进行运算,获得服务端来源随机信息。6.根据权利要求5所述的方法,其特征在于,获取对称密钥包括:对所述随机终端信息串进行处理,获得所述对称密钥。7.根据权利要求6所述的方法,其特征在于,对所述随机终端信息串进行密钥派生,获得所述对称密钥。8.根据权利要求6所述的方法,其特征在于,对...

【专利技术属性】
技术研发人员:张永强
申请(专利权)人:数安时代科技股份有限公司广东信鉴信息科技有限公司
类型:发明
国别省市:广东,44

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1