一种基于生物特征生成随机数的方法、设备及介质

文档序号:49276 发布日期:2021-09-28 浏览:25次 >En<

阅读说明:本技术 一种基于生物特征生成随机数的方法、设备及介质 (Method, device and medium for generating random number based on biological characteristics ) 是由 孙长杰 李照川 王伟兵 申传旺 肖守明 于 2020-03-24 设计创作,主要内容包括:本申请公开了一种基于生物特征生成随机数方法、设备及介质,方法包括:采集用户的多组生物特征数据;将多组生物特征数据进行结合,得到用户对应的生物特征值;将生物特征值进行哈希,得到第一哈希值;将第一哈希值与当前时间戳结合后进行哈希,生成第二哈希值,并将第二哈希值作为随机数。由于每个用户自身的生物特征是不同的,因此,通过本申请中基于生物特征来生成随机数,可以有效的保证了随机数自身的随机性,使得随机数难以被破解,也就保证了用户的信息的安全。并且通常情况下,现有设备尤其是智能手机、平板电脑等智能移动设备都会携带有相应的生物特征采集装置,因此,无需额外的安装硬件设备即可完成随机数的生成,节省了成本。(The application discloses a method, equipment and medium for generating random numbers based on biological characteristics, wherein the method comprises the following steps: collecting a plurality of groups of biological characteristic data of a user; combining the multiple groups of biological characteristic data to obtain a biological characteristic value corresponding to the user; hashing the biological characteristic value to obtain a first hash value; and combining the first hash value with the current timestamp, and then carrying out hash to generate a second hash value, wherein the second hash value is used as a random number. Because the biological characteristics of each user are different, the random number is generated based on the biological characteristics in the application, the randomness of the random number can be effectively ensured, the random number is difficult to crack, and the information safety of the user is also ensured. In addition, under normal conditions, the existing equipment, especially the smart mobile equipment such as a smart phone and a tablet personal computer, carries the corresponding biological characteristic acquisition device, so that the generation of the random number can be completed without extra hardware equipment, and the cost is saved.)

一种基于生物特征生成随机数的方法、设备及介质

技术领域

本申请涉及生物特征领域,具体涉及一种基于生物特征生成随机数的方法、设备及介质。

背景技术

随着互联网、云计算、等技术的迅猛发展,人类社会正在发生翻天覆地的变化,当今世界正向着万物互联、智能化的方向发展,在这其中,数据加密就显得尤为重要。密码学为数据加密提供了理论支撑,而随机数在密码学中起着关键作用,很多密码算法都要将随机数作为基础参数来运用。

现有技术中,生成随机数的方式大致分为两类,一类是基于软件方式生成的随机数,该类随机数生成时成本低,但属于伪随机数,存在破解的威胁。另一类是使用硬件方式(例如,数字电路、光量子设备等)生产的随机数,该类随机数在生成时速度快、效率高,但需要专用设备、成本高,适用于服务端大型设备,而对于移动端设备,如智能手机、手环等穿戴设备及平板电脑适用性不好。

发明内容

为了解决上述问题,本申请提出了一种基于生物特征生成随机数的方法,包括:采集用户的多组生物特征数据;将所述多组生物特征数据进行结合,得到所述用户对应的生物特征值;将所述生物特征值进行哈希,得到第一哈希值;将所述第一哈希值与当前时间戳结合后进行哈希,生成第二哈希值,并将所述第二哈希值作为随机数。

在一个示例中,采集用户的多组生物特征数据,包括:通过生物特征采集器采集用户的多组生物特征数据,其中,所述生物特征采集器包括人脸采集器、指纹采集器中的至少一种。

在一个示例中,采集用户的多组生物特征数据,包括:确定所述用户相应生物特征当前执行的动作;基于所述动作,采集用户的多组生物特征数据,其中,所述生物特征数据包括静态生物特征数据和动态生物特征数据。

在一个示例中,基于所述动作,采集用户的多组生物特征数据,包括:基于所述动作,确定所述生物特征的动态轨迹,并将采集到的所述动态轨迹对应的多组静态生物特征数据,结合所述静态生物特征数据在所述动态轨迹上对应的坐标值,生成所述用户的多组生物特征数据。

在一个示例中,确定所述用户相应生物特征当前执行的动作之前,所述方法还包括:确定所述用户当前执行的业务信息;基于所述业务信息,向所述用户发出提示,以使所述用户执行相应的动作。

在一个示例中,向所述用户发出提示之前,所述方法还包括:确定所述业务信息对应的重要程度;基于所述重要程度,确定所述用户需要执行的动作的数量,以及所要采集所述用户的生物特征数据的组数,以便于发出提示。

在一个示例中,所述提示的对应的动作包括:眨眼、张嘴、移动人脸、滑动手指中的至少一种。

在一个示例中,基于所述动作,采集用户的多组生物特征数据,包括:基于所述动作,采集用户的在预设时长内的多组生物特征数据,其中,所述预设时长与当前设备的硬件条件相关。

另一方面,本申请还提出了一种基于生物特征生成随机数设备,包括:至少一个处理器;以及,与所述至少一个处理器通信连接的存储器;其中,所述存储器存储有可被所述至少一个处理器执行的指令,所述指令被所述至少一个处理器执行,以使所述至少一个处理器能够:采集用户的多组生物特征数据;将所述多组生物特征数据进行结合,得到所述用户对应的生物特征值;将所述生物特征值进行哈希,得到第一哈希值;将所述第一哈希值与当前时间戳结合后进行哈希,生成第二哈希值,并将所述第二哈希值作为随机数。

另一方面,本申请还提出了一种基于生物特征生成随机数的非易失性计算机存储介质,存储有计算机可执行指令,所述计算机可执行指令设置为:采集用户的多组生物特征数据;将所述多组生物特征数据进行结合,得到所述用户对应的生物特征值;将所述生物特征值进行哈希,得到第一哈希值;将所述第一哈希值与当前时间戳结合后进行哈希,生成第二哈希值,并将所述第二哈希值作为随机数。

通过本申请提出基于生物特征生成随机数的方法能够带来如下有益效果:

由于每个用户自身的生物特征是不同的,因此,通过本申请中基于生物特征来生成随机数,可以有效的保证了随机数自身的随机性,使得随机数难以被破解,也就保证了用户的信息的安全。并且通常情况下,现有设备尤其是智能手机、平板电脑等智能移动设备都会携带有相应的生物特征采集装置,因此,无需额外的安装硬件设备即可完成随机数的生成,节省了成本。

附图说明

此处所说明的附图用来提供对本申请的进一步理解,构成本申请的一部分,本申请的示意性实施例及其说明用于解释本申请,并不构成对本申请的不当限定。在附图中:

图1为本申请实施例中基于生物特征生成随机数的方法的流程示意图;

图2为本申请实施例中基于生物特征生成随机数的设备的示意图;

图3为本申请实施例中基于生物特征生成随机数的方法的步骤示意图;

图4为本申请实施例中基于生物特征生成随机数的设备的框架示意图。

具体实施方式

为使本申请的目的、技术方案和优点更加清楚,下面将结合本申请具体实施例及相应的附图对本申请技术方案进行清楚、完整地描述。显然,所描述的实施例仅是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。

以下结合附图,详细说明本申请各实施例提供的技术方案。

如图1和图3所示,本申请实施例提供一种基于生物特征生成随机数的方法,包括:

S101、采集用户的多组生物特征数据。

通常情况下,当用户准备执行一些业务,或者是当前设备在执行一些算法时,例如,用户在一些程序进行注册时,或者在用户进行支付业务时,通常需要需要填写手机号或邮箱账户等可以表示自身身份的信息,然后通过手机短信或邮箱将收到的验证码填写至相应的程序中,以完成相应的注册或支付,在这里的验证码,即可认为是随机数。还例如,在非对称加解密算法中生成私钥时,也需要使用随机数来生成私钥。

在生成随机数时,如果采用软件或者算法生成,通常将该类随机数称作伪随机数。由于算法是确定的,则会使伪随机数不够随机,也就增大了随机数被破解的可能性,对用户的安全造成影响。如果是通过硬件生成,则需要额外安装相应的生成器,不仅成本太高,而且在一些移动终端中难以实现。此时,可以通过用户的生物特征来生成随机数。

具体地,可以首先采集用户的多组生物特征数据,然后基于生物特征数据来生成随机数。由于每个用户的生物特征都不会完全相同,以人脸为例,即使是双胞胎,也会由于胖瘦等原因存在不同之处。并且,在采集人脸数据时,采集器所对应的不同角度、用户所处环境的不同的光线等,都会造成采集到的人脸数据不同。因此,通过生物特征数据来生成随机数,基于生物特征数据每次采集时的随机数,也就保证了每次生成随机数时的随机性。并且通过多组生物特征数据,更加难以出现多组生物特征数据都类似的情况发生,也就进一步的保证了随机数的随机性。

进一步地,在采集多组生物特征数据时,这多组生物特征数据之间可以是相对连续的,也可以是相对独立的。但是,无论是连续的还是独立的,这多组生物特征中的任意一组都属于一个动作中的某帧生物特征数据。因此,可以首先确定用户相应的生物特征当前正在执行的动作。其中,生物特征可以包括人脸、指纹、声音等,在本申请实施例中,以人脸和指纹为例进行解释说明。人脸执行的动作,可以是人脸面部的表情,例如眼睛、嘴等器官的动作,也可以是人脸整体的动作,例如上下点头、左右晃动等。指纹执行的动作,则可以是手指在屏幕上的滑动。

然后,可以基于该动作来确定生物特征数据,此时,该生物特征数据除了包括静态生物特征数据外,还会包括动态生物特征数据,当然,通常情况下动态生物特征数据指的就是执行动作时的动态轨迹。因此,可以通过动作可以确定出生物特征的动态轨迹,其中,人脸的动态轨迹可以是面部器官的动态轨迹,也可以是人脸整体的动态轨迹。在动态轨迹上,会对应有多组静态生物特征数据,例如多组人脸数据和/或多组指纹数据等。此时,采集器采集到的这多组生物特征数据在该动态轨迹上会对应有相应的坐标值,然后可以将采集到的这多组静态生物特征数据,结合其在动态轨迹上所对应的坐标值后,作为用户对应的生物特征数据。

静态生物特征数据本身已经由于用户自身的原因,采集时的光线、角度等外部的原因,具有了随机性。此时再加上用户的生物特征在执行动作时的随机性,通过静态生物特征数据结合在动态轨迹上的坐标值,可以进一步地增加了生物特征数据的随机性,也就可以进一步的保证了在后续生成随机数时的随机性,保证了用户信息的安全性。

S102、将所述多组生物特征数据进行结合,得到所述用户对应的生物特征值。

在采集了多组生物特征数据后,如果直接通过多组生物特征数据来生成随机数,那么会使得过程较为复杂。因此,为了便于生成随机数,可以将这多组生物特征数据进行结合,例如,直接进行拼接,然后可以将最终拼接得到的生物特征数据称作该用户对应的生物特征值。

通常情况下,采集到的用户的每组生物特征数据,可以用矩阵的形式来进行表示,矩阵中不同位置的值代表不同的像素。每个像素所包含的数据可以是多种的,例如,每个像素都对应有自身的坐标值、亮暗程度、颜色等,这些都可以在矩阵中进行体现。而进行拼接时,则可以是直接将这多组生物特征数据所对应的矩阵直接进行拼接,而在拼接多组矩阵时,通常是按照一定的规则进行拼接,例如,全部进行横向或纵向拼接,或者按照其他的规则进行拼接,在此不做限定。在拼接完成后,最终得到的矩阵,该矩阵即代表着该用户对应的生物特征值。

S103、将所述生物特征值进行哈希,得到第一哈希值。

S104、将所述第一哈希值与当前时间戳结合后进行哈希,生成第二哈希值,并将所述第二哈希值作为随机数。

在得到了用户的生物特征值后,如果直接用作随机数,则可能会导致随机数的长度太长。因此,可以将该生物特征值进行哈希,得到第一哈希值。其中,第一哈希值通常为固定长度,并且这里的哈希算法可以是哈希256等,在此不做限定。

然后,为了进一步地增加随机性,除去生物特征值以外,还可以将其与时间戳进行结合。当然,将生物特征值与时间戳结合后,可能也会导致长度过长,此时可以在第一哈希值与当前的时间戳进行结合后,再次进行哈希,生成第二哈希值,在此即可将该第二哈希值作为随机数。通过结合时间戳,可以进一步地使得随机数的随机性更高。

当然,通过哈希算法后的第二哈希值通常是固定长度,具体长度可以根据实际情况的需求来进行设置,例如,针对注册时的验证码,通常为4位或者6位。当第二哈希值,即随机数以二进制进行表示时,只包含数字1或0,而以十进制表示时,可以包含数字0-9,以十六进制表示时,则除了数字0-9以外,还可以包含字母a-f,在此不对第二哈希值的进制表示形式进行限制,可以根据实际情况进行设置。

在一个实施例中,用户在执行一些业务时,需要产生随机数。但是此时用户可能会由于用户自身或外部的原因,无法采集到用户的生物特征,例如,当前的光线太暗,或者是用户的生物特征未出现在采集器所能采集到的范围内,从而无法基于生物特征数据产生随机数。或者是由于自身或外部的原因,例如,用户处于类似于静止的状态,即,用户的生物特征此时相对于采集器几乎相对静止,没有执行明显的动作,导致最终采集到的用户的多组生物特征数据之间差距较小,也可能会由于当前的光线较暗,使得采集到的用户多组生物特征数据之间的差距也较小,从而可能会影响随机性。

因此,当需要采集用户的生物特征数据时,若是由于外部的原因导致无法采集到用户的生物特征数据或者多组生物特征数据之间差距较小,则可以对用户进行提示,以使用户改善外部环境。而如果是由于用户自身的原因无法采集到生物特征数据,则可以提示用户将生物特征值至于采集器可以采集到的范围内,例如,提醒用户将设备自身所携带的采集装置,例如摄像头等,对准用户的面部,或者是提醒用户将指纹放置在设备自身所携带的指纹采集装置上。如果是用户此时未执行动作,导致多组生物特征数据之间差距较小,则可以提示用户执行相应的动作,来增加产生随机数时的随机性。

而在提示用户执行动作时,可以每次的提示都相同,也可以基于不同的业务来进行不同的提示。因此,可以先确定用户当前执行的业务信息,然后基于该业务信息,向用户发出提示,以使用户执行相应的动作,来增加产生随机数时的随机性。例如,提示可以是提示用户进行一些相应的动作,该动作可以是表情对应的动作,例如眨眼、张嘴等,也可以是人脸整体的运动,例如左右移动、上下移动、晃动头部等,还可以是指纹的运动,例如按照规定的方向或形状滑动手指等。

另外,对于用户来说,通常希望自己所执行的动作越少越好,如果在一次生成随机数的过程中,用户执行了过多的动作,可能会降低用户的体验。因此,通常情况下,只需要采集用户的一种生物特征数据即可,例如,只采集多组人脸数据或者多组指纹数据,此时的提示也只需要提示用户执行一种动作即可,保证了用户的体验。

但是,由于不同的业务的重要程度不同,如果所有重要程度的业务都只提示用户执行一种动作,可能难以保证用户的信息安全或者利益安全。因此可以预先将业务的重要程度进行划分,在进行一些重要程度较低的业务时,例如用户在进行注册账号时,或者进行支付的金额较小时,只需要采集用户的一种生物特征数据,或者是提示用户执行一种动作即可。而在进行一些重要程度较高的业务时,例如,在通过随机数生成秘钥时,或者进行支付的金额较大时,为了确保安全性,需要提高所生成的随机数的随机性,此时则需要采集用户的多种生物特征数据,或者是提示用户执行多种动作。其中,这多种动作可以是同一个生物特征的动作,也可以是多个生物特征的动作,在此不做限定。即,可以基于业务重要程度的不同,来确定用户需要执行的动作的数量和所要采集的用户的组数,以便于发出提示。

在一个实施例中,在确定生物特征的动态轨迹时,可以是确定预设时长内的生物特征的动态轨迹,其中,这里的预设时长与设备本身的硬件条件相关,可以将默认值设置为2秒。通常情况下,每次生成随机数所要采集的生物特征数据的数量是固定的,而如果设备本身的硬件条件无法在2秒内采集足够数量的生物特征数据,则该预设时长需要多于2秒。而如果设备的硬件条件在2秒内已经采集了超过固定数量的生物特征数据,则可以按照时间顺序进行选取,或者是间隔选取,也可以是随机选取等选取方式来选取多组生物特征数据,在此不做限定。

在此需要说明的是,在本申请实施例中所描述基于生物特征生成随机数的方法,尤其适用于智能移动设备,例如,智能手机、平板电脑、智能手环等。通常情况下,智能移动设备体积较小,难以添加相应的生成随机数的硬件设备,而智能移动设备都自带有相应的采集器,例如指纹识别器、摄像头等,可以采集到用户的人脸数据、指纹数据,无需添加其他硬件设备,也可以增加所生成随机数的随机性,节省了成本的同时,也提高了效果。当然,本申请实施例中的方法也可以应用在其他的需要产生随机数的设备上,在此不做限定。

另外,如图4所示,在本申请实施例中,在采集生物特征数据时,所使用的是生物特征采集器。例如,在采集人脸数据时,使用的是人脸采集器,体现在设备上可以是摄像头或者相应的人脸扫描设备。而采集指纹数据时,所使用的是指纹采集器。在采集完生物特征数据后,可以将其发送至生物特征汇集模块,由生物特征汇集模块将其拼接成为一组生物特征值。最后可以将得到的生物特征值发给随机数计算模块,随机数计算模块即可进行哈希计算,并结合时间戳最终生成随机数。生物特征汇集模块与随机数计算模块体现在硬件上可以是同一个硬件,例如都属于设备的中央处理器,也可以单独设置的,在此不做限定。

如图2所示,本申请实施例还提供了一种基于生物特征生成随机数设备,包括:

至少一个处理器;以及,

与所述至少一个处理器通信连接的存储器;其中,

所述存储器存储有可被所述至少一个处理器执行的指令,所述指令被所述至少一个处理器执行,以使所述至少一个处理器能够:

采集用户的多组生物特征数据;

将所述多组生物特征数据进行结合,得到所述用户对应的生物特征值;

将所述生物特征值进行哈希,得到第一哈希值;

将所述第一哈希值与当前时间戳结合后进行哈希,生成第二哈希值,并将所述第二哈希值作为随机数。

本申请实施例还提供了一种基于生物特征生成随机数的非易失性计算机存储介质,存储有计算机可执行指令,其特征在于,所述计算机可执行指令设置为:

采集用户的多组生物特征数据;

将所述多组生物特征数据进行结合,得到所述用户对应的生物特征值;

将所述生物特征值进行哈希,得到第一哈希值;

将所述第一哈希值与当前时间戳结合后进行哈希,生成第二哈希值,并将所述第二哈希值作为随机数。

本申请中的各个实施例均采用递进的方式描述,各个实施例之间相同相似的部分互相参见即可,每个实施例重点说明的都是与其他实施例的不同之处。尤其,对于设备和介质实施例而言,由于其基本相似于方法实施例,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。

本申请实施例提供的设备和介质与方法是一一对应的,因此,设备和介质也具有与其对应的方法类似的有益技术效果,由于上面已经对方法的有益技术效果进行了详细说明,因此,这里不再赘述设备和介质的有益技术效果。

本领域内的技术人员应明白,本申请的实施例可提供为方法、系统、或计算机程序产品。因此,本申请可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本申请可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。

本申请是参照根据本申请实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。

这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。

这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。

在一个典型的配置中,计算设备包括一个或多个处理器(CPU)、输入/输出接口、网络接口和内存。

内存可能包括计算机可读介质中的非永久性存储器,随机存取存储器(RAM)和/或非易失性内存等形式,如只读存储器(ROM)或闪存(flash RAM)。内存是计算机可读介质的示例。

计算机可读介质包括永久性和非永久性、可移动和非可移动媒体可以由任何方法或技术来实现信息存储。信息可以是计算机可读指令、数据结构、程序的模块或其他数据。计算机的存储介质的例子包括,但不限于相变内存(PRAM)、静态随机存取存储器(SRAM)、动态随机存取存储器(DRAM)、其他类型的随机存取存储器(RAM)、只读存储器(ROM)、电可擦除可编程只读存储器(EEPROM)、快闪记忆体或其他内存技术、只读光盘只读存储器(CD-ROM)、数字多功能光盘(DVD)或其他光学存储、磁盒式磁带,磁带磁磁盘存储或其他磁性存储设备或任何其他非传输介质,可用于存储可以被计算设备访问的信息。按照本文中的界定,计算机可读介质不包括暂存电脑可读媒体(transitory media),如调制的数据信号和载波。

还需要说明的是,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、商品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、商品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、商品或者设备中还存在另外的相同要素。

以上所述仅为本申请的实施例而已,并不用于限制本申请。对于本领域技术人员来说,本申请可以有各种更改和变化。凡在本申请的精神和原理之内所作的任何修改、等同替换、改进等,均应包含在本申请的权利要求范围之内。

14页详细技术资料下载
上一篇:一种医用注射器针头装配设备
下一篇:用户身份认证方法、装置及终端设备

网友询问留言

已有0条留言

还没有人留言评论。精彩留言会获得点赞!

精彩留言,会给你点赞!

技术分类