CN111526007A - 一种随机数生成方法及系统 - Google Patents
一种随机数生成方法及系统 Download PDFInfo
- Publication number
- CN111526007A CN111526007A CN202010224621.3A CN202010224621A CN111526007A CN 111526007 A CN111526007 A CN 111526007A CN 202010224621 A CN202010224621 A CN 202010224621A CN 111526007 A CN111526007 A CN 111526007A
- Authority
- CN
- China
- Prior art keywords
- random number
- pin code
- ciphertext
- client
- server
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Granted
Links
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/08—Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
- H04L9/0861—Generation of secret information including derivation or calculation of cryptographic keys or passwords
- H04L9/0869—Generation of secret information including derivation or calculation of cryptographic keys or passwords involving random numbers or seeds
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F7/00—Methods or arrangements for processing data by operating upon the order or content of the data handled
- G06F7/58—Random or pseudo-random number generators
- G06F7/582—Pseudo-random number generators
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L63/00—Network architectures or network communication protocols for network security
- H04L63/08—Network architectures or network communication protocols for network security for authentication of entities
- H04L63/0823—Network architectures or network communication protocols for network security for authentication of entities using certificates
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/32—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials
- H04L9/3226—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials using a predetermined code, e.g. password, passphrase or PIN
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/32—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials
- H04L9/3236—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials using cryptographic hash functions
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/32—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials
- H04L9/3263—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials involving certificates, e.g. public key certificate [PKC] or attribute certificate [AC]; Public key infrastructure [PKI] arrangements
Abstract
本发明提出一种随机数生成方法,包括:客户端输入用户PIN码登录后向服务端发起连接请求,所述连接请求包括所述客户端用户设备的标识码和所述PIN码的第一摘要值密文;服务端通过对预置的PIN码的第二摘要值进行加密生成第二摘要值密文,并通过摘要值密文的比对实现用户PIN码验证;服务端将物理噪声源单元采集的第一随机数进行加密后生成第一随机数密文,并将第一随机数密文和服务端的数字证书发送至客户端;客户端在验证服务端的数字证书后对第一随机数密文进行解密获得第一随机数、从熵池文件单元中读取第二随机数、对本地随机数池单元进行解密获得第三随机数;客户端对第一随机数、第二随机数和第三随机数进行计算生成随机数。
Description
技术领域
本发明涉及密码技术领域,具体涉及一种随机数生成方法及系统。
背景技术
随机数生成系统是制密系统和各类密码保密系统中不可缺少的关键部件,它的工作状态直接影响制密系统和各类密码保密系统的可靠性和稳定性,所产生的随机数的质量关系到密码装备对信息的保护强度。在目前的密码学技术领域,很多密码协议的安全性都要求产生高质量的随机数,因此随机数在身份认证、密钥生成等场合具有举足轻重的作用。
在物联网设备的应用过程中需要在客户端和服务端建立安全通道时产生初始随机数作为通讯会话密钥使用。目前,随机数的生成通常包括两个不同阶段:熵采集和随机数生成。熵是对攻击者来说不可预测的信息,且该熵用作通常使用加密技术的确定性伪随机数生成器的种子。然而现有的方法无法产生高质量的随机数,尤其是不能满足作为会话密钥的随机数的质量要求。
因此如何保证产生满足安全需求的高质量的随机数是目前急需解决的问题。
发明内容
本发明针对上述问题,有必要提供一种随机数生成方法及系统,其能够保证生成满足安全需求的高质量的随机数。
本发明第一方面提出一种随机数生成方法,该方法应用于客户端和服务端,包括:单元配置阶段、PIN码验证阶段和随机数生成阶段;
单元配置阶段:
所述服务端配置有物理噪声源单元;所述客户端配置有熵池文件单元和本地随机数池单元;
PIN码验证阶段:
S101,所述客户端输入用户PIN码登录后向所述服务端发起连接请求,所述连接请求包括客户端用户设备的标识码和所述PIN码的第一摘要值密文;
S102,所述服务端接收到所述连接请求信息后,对预置的PIN码的第二摘要值进行加密生成所述PIN码的第二摘要值密文,并通过摘要值密文的比对实现用户PIN码验证;
随机数生成阶段:
S103,所述服务端在PIN码验证通过后将所述物理噪声源单元采集的第一随机数进行加密后生成第一随机数密文,并将所述第一随机数密文和所述服务端的数字证书发送至所述客户端;
S104,所述客户端验证所述服务端的数字证书合法性,在验证通过后对所述第一随机数密文进行解密获得所述第一随机数、从所述熵池文件单元中读取第二随机数、从所述本地随机数池单元中读取第三随机数;
S105,所述客户端对所述第一随机数、所述第二随机数和所述第三随机数进行计算生成随机数。
进一步的,所述S101中所述PIN码的第一摘要值的密文生成包括:
所述客户端使用摘要算法对用户PIN码进行计算获得第一摘要值,并使用所述第一摘要值的前16字节作为第一派生密钥;
所述客户端再使用所述第一派生密钥对所述第一摘要值进行加密获得所述第一摘要值的密文HASH1。
进一步的,所述S102具体包括:
所述服务端接收到所述客户端发送的连接请求后,使用PIN码的第二摘要值的前16字节作为第二派生密钥;
所述服务端再使用所述第二派生密钥对所述第二摘要值进行加密获得所述第二摘要值的密文HASH2;最后将所述PIN码的第二摘要值的密文HASH2与所述第一摘要值的密文HASH1进行比对,若比对成功,则表明用户PIN码正确;同时,所述第一派生密钥和所述第二派生密钥相同。
进一步的,所述S103中,使用所述第二派生密钥对所述第一随机数进行加密后生成第一随机数密文;S104中,所述服务端的数字证书合法性验证通过后,使用所述第一派生密钥对所述第一随机数密文进行解密获得所述第一随机数。
进一步的,单元配置阶段中,所述本地随机数池单元由所述物理噪声源单元采集随机数产生;PIN码验证阶段,所述客户端使用所述第一派生密钥对所述本地随机数池单元进行加密保存;步骤S104中,使用所述第一派生密钥对所述本地随机数池单元进行解密获得第三随机数。
进一步的,所述本地随机数池单元在使用超过预设的阈值时,需要从服务端采集新的随机数以对所述本地随机数池单元进行更新。
进一步的,所述S105具体包括:所述客户端对所述第一随机数、所述第二随机数和所述第三随机数使用摘要算法进行计算获得第三摘要值,并对所述第三摘要值的前16字节和后16字节进行异或运算生成随机数。
本发明第二方面还提出一种随机数生成系统,所述系统包括客户端和服务端,所述客户端配置有熵池文件单元和本地随机数池单元;所述服务端配置有物理噪声源单元;所述客户端和所述服务端配合依次执行PIN码验证过程和随机数生成过程;
在PIN码验证过程中:
所述客户端,用于输入用户PIN码登录后向所述服务端发起连接请求,所述连接请求包括所述客户端用户设备的标识码和所述PIN码的第一摘要值密文;
所述服务端,用于接收到所述客户端发送的连接请求信息后,对预置的PIN码的第二摘要值进行加密生成所述PIN码的第二摘要值密文,并通过摘要值密文的比对实现用户PIN码验证;
在随机数生成过程中:
所述服务端,用于在PIN码验证通过后将所述物理噪声源单元采集的第一随机数进行加密后生成第一随机数密文,并将所述第一随机数密文和所述服务端的数字证书发送至所述客户端;
所述客户端,用于验证所述服务端的数字证书合法性,在验证通过后对所述第一随机数密文进行解密获得所述第一随机数、从所述熵池文件单元中读取第二随机数、从所述本地随机数池单元中读取第三随机数;还用于对所述第一随机数、所述第二随机数和所述第三随机数进行计算生成随机数。
进一步的,所述PIN码的第一摘要值的密文生成包括:首先使用摘要算法对用户PIN码进行计算获得第一摘要值,并使用所述第一摘要值的前16字节作为第一派生密钥;然后使用所述第一派生密钥对所述第一摘要值进行加密获得所述第一摘要值的密文HASH1。
进一步的,所述服务端实现用户PIN码验证包括:所述服务端接收到所述客户端发送的连接请求后,首先使用PIN码的第二摘要值的前16字节作为第二派生密钥;然后使用所述第二派生密钥对所述第二摘要值进行加密获得所述第二摘要值的密文HASH2;最后将所述PIN码的第二摘要值的密文HASH2与所述第一摘要值的密文HASH1进行比对,若比对成功,则表明用户PIN码正确;同时,所述第一派生密钥和所述第二派生密钥相同。
进一步的,所述客户端计算生成随机数包括:所述客户端对所述第一随机数、所述第二随机数和所述第三随机数使用摘要算法进行计算获得第三摘要值,并对所述第三摘要值的前16字节和后16字节进行异或运算生成随机数。
进一步的,所述本地随机数池单元由所述物理噪声源单元采集随机数产生并使用所述第一派生密钥进行加密保存;所述本地随机数池单元在使用超过预设的阈值时,则需要从服务端采集新的随机数对所述本地随机数池单元进行更新。
本发明具有突出的实质性特点和显著的进步,具体的说:
(1)所述客户端输入用户PIN码登录后向所述服务端发起连接请求,所述连接请求包括所述客户端用户设备的标识码和所述PIN码的第一摘要值密文;所述服务端接收到所述连接请求信息后,对预置的PIN码的第二摘要值进行加密生成所述PIN码的第二摘要值密文,并通过摘要值密文的比对实现用户PIN码验证,保证在生成随机数之前对所述客户端的身份进行验证,以及产生派生密钥用于进行后续随机数生成时的加解密处理;
(2)所述服务端在PIN码验证通过后将所述物理噪声源单元采集的第一随机数使用所述第二派生密钥进行加密后生成第一随机数密文,并将所述第一随机数密文和所述服务端的数字证书发送至所述客户端;所述客户端验证所述服务端的数字证书合法性,在验证通过后对所述第一随机数密文使用所述第一派生密钥进行解密获得所述第一随机数、从所述熵池文件单元中读取第二随机数、对所述本地随机数池单元使用所述第一派生密钥进行解密获得第三随机数;
保证了服务端身份的合法性,以及通过派生密钥进行加解密处理保证第一随机数、第三随机数的安全性;
(3)所述客户端对所述第一随机数、所述第二随机数和所述第三随机数进行计算生成随机数,能够保证通过这三部分随机数产生初始化时使用的高质量的随机数。
本发明的附加方面和优点将在下面的描述部分中变得明显,或通过本发明的实践了解到。
附图说明
本发明的上述和/或附加的方面和优点从结合下面附图对实施例的描述中将变得明显和容易理解,其中:
图1示出本发明一种随机数生成方法流程图;
图2示出本发明一种随机数生成系统结构框图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
需要说明的是,当一个组件被认为是“连接”另一个组件,它可以是直接连接到另一个组件或者可能同时存在居中组件。
除非另有定义,本文所使用的所有的技术和科学术语与属于本发明的技术领域的技术人员通常理解的含义相同。本文中在本发明的说明书中所使用的术语只是为了描述具体的实施例的目的,不是旨在于限制本发明。
如图1所示,本发明第一方面提出一种随机数生成方法,该方法应用于客户端和服务端,包括:单元配置阶段、PIN码验证阶段和随机数生成阶段;
单元配置阶段:
所述服务端配置有物理噪声源单元;所述客户端配置有熵池文件单元和本地随机数池单元;
PIN码验证阶段:
S101,所述客户端输入用户PIN码登录后向所述服务端发起连接请求,所述连接请求包括客户端用户设备的标识码和所述PIN码的第一摘要值密文;
S102,所述服务端接收到所述连接请求信息后,对预置的PIN码的第二摘要值进行加密生成所述PIN码的第二摘要值密文,并通过摘要值密文的比对实现用户PIN码验证;
随机数生成阶段:
S103,所述服务端在PIN码验证通过后将所述物理噪声源单元采集的第一随机数进行加密后生成第一随机数密文,并将所述第一随机数密文和所述服务端的数字证书发送至所述客户端;
S104,所述客户端验证所述服务端的数字证书合法性,在验证通过后对所述第一随机数密文进行解密获得所述第一随机数、从所述熵池文件单元中读取第二随机数、从所述本地随机数池单元中读取第三随机数;
S105,所述客户端对所述第一随机数、所述第二随机数和所述第三随机数进行计算生成随机数。
在实际应用中,所述客户端对所述第一随机数、所述第二随机数和所述第三随机数进行计算生成的随机数可用来作为客户端与服务端建立安全通道时的通讯会话密钥使用,来保证初始通信时的安全性。
需要说明的是,熵池文件单元文件/dev/random是指当前系统下的环境噪音,描述了一个系统的混乱程度;环境噪音由以下几个方面组成,如内存的使用量、文件的使用量、不同类型的进程数量等,刚开机的时候系统噪音会比较小。/dev/random的random pool依赖于系统中断,因此在系统的中断数不足时,/dev/random设备会一直封锁,尝试读取的进程就会进入等待状态,直到系统的中断数充分够用, /dev/random设备可以保证数据的随机性,产生初始随机数时,读取16字节使用。
具体的,所述S101中所述PIN码的第一摘要值的密文生成包括:
所述客户端使用摘要算法对用户PIN码进行计算获得第一摘要值,并使用所述第一摘要值的前16字节作为第一派生密钥;
所述客户端再使用所述第一派生密钥对所述第一摘要值进行加密获得所述第一摘要值的密文HASH1。
具体的,所述S102具体包括:
所述服务端接收到所述客户端发送的连接请求后,使用PIN码的第二摘要值的前16字节作为第二派生密钥;
所述服务端再使用所述第二派生密钥对所述第二摘要值进行加密获得所述第二摘要值的密文HASH2;最后将所述PIN码的第二摘要值的密文HASH2与所述第一摘要值的密文HASH1进行比对,若比对成功,则表明用户PIN码正确;同时,所述第一派生密钥和所述第二派生密钥相同。
具体的,所述S105具体包括:所述客户端对所述第一随机数、所述第二随机数和所述第三随机数使用摘要算法进行计算获得第三摘要值,并对所述第三摘要值的前16字节和后16字节进行异或运算生成随机数。
具体的,所述S103中,使用所述第二派生密钥对所述第一随机数进行加密后生成第一随机数密文;S104中,所述服务端的数字证书合法性验证通过后,使用所述第一派生密钥对所述第一随机数密文进行解密获得所述第一随机数。
具体的,单元配置阶段中,所述本地随机数池单元由所述物理噪声源单元采集随机数产生;PIN码验证阶段,所述客户端使用所述第一派生密钥对所述本地随机数池单元进行加密保存;获取第三随机数时,使用所述第一派生密钥对所述本地随机数池单元进行解密以获得第三随机数。
其中,所述本地随机数池单元在使用超过预设的阈值时,则需要从服务端采集新的随机数对所述本地随机数池进行更新。
在实际的应用中,本地随机数池单元是在初始化时生成,大小32KB,由服务端物理噪声源单元产生,使用用户PIN码摘要值的前16字节作为派生密钥进行加密处理后保存在客户端中。每次登录产生初始随机数时,选取16字节使用。
更新:本地随机数池单元如果使用超过8KB,需要更新。更新方法是建立安全通道后,从服务端采集16字节真随机数,作为种子,产生32KB伪随机数,对本地随机出池单元进行更新。
需要说明的是,客户端对所述第一随机数、所述第二随机数和所述第三随机数进行计算生成随机数后,还可以通过使用服务端的公钥对所述随机数进行加密后发送给服务端;服务端使用私钥解密获得该随机数,在后续的通信过程中均可使用该随机数进行通信信息的加密处理。
如图2所示,本发明第二方面还提出一种随机数生成系统,
所述系统包括客户端和服务端,所述客户端配置有熵池文件单元和本地随机数池单元;所述服务端配置有物理噪声源单元;所述客户端和所述服务端配合依次执行PIN码验证过程和随机数生成过程;
在PIN码验证过程中:
所述客户端,用于输入用户PIN码登录后向所述服务端发起连接请求,所述连接请求包括所述客户端用户设备的标识码和所述PIN码的第一摘要值密文;
所述服务端,用于接收到所述客户端发送的连接请求信息后,对预置的PIN码的第二摘要值进行加密生成所述PIN码的第二摘要值密文,并通过摘要值密文的比对实现用户PIN码验证;
在随机数生成过程中:
所述服务端,用于在PIN码验证通过后将所述物理噪声源单元采集的第一随机数进行加密后生成第一随机数密文,并将所述第一随机数密文和所述服务端的数字证书发送至所述客户端;
所述客户端,用于验证所述服务端的数字证书合法性,在验证通过后对所述第一随机数密文进行解密获得所述第一随机数、从所述熵池文件单元中读取第二随机数、从所述本地随机数池单元中读取第三随机数;还用于对所述第一随机数、所述第二随机数和所述第三随机数进行计算生成随机数。
具体的,所述PIN码的第一摘要值的密文生成包括:首先使用摘要算法对用户PIN码进行计算获得第一摘要值,并使用所述第一摘要值的前16字节作为第一派生密钥;然后使用所述第一派生密钥对所述第一摘要值进行加密获得所述第一摘要值的密文HASH1。
具体的,所述服务端实现用户PIN码验证包括:所述服务端接收到所述客户端发送的连接请求后,首先使用PIN码的第二摘要值的前16字节作为第二派生密钥;然后使用所述第二派生密钥对所述第二摘要值进行加密获得所述第二摘要值的密文HASH2;最后将所述PIN码的第二摘要值的密文HASH2与所述第一摘要值的密文HASH1进行比对,若比对成功,则表明用户PIN码正确;同时,所述第一派生密钥和所述第二派生密钥相同。
具体的,所述客户端计算生成随机数包括:所述客户端对所述第一随机数、所述第二随机数和所述第三随机数使用摘要算法进行计算获得第三摘要值,并对所述第三摘要值的前16字节和后16字节进行异或运算生成随机数。
具体的,所述本地随机数池单元由所述物理噪声源单元采集随机数产生并使用所述第一派生密钥进行加密保存;所述本地随机数池单元在使用超过预设的阈值时,则需要从服务端采集新的随机数对所述本地随机数池单元进行更新。
本发明通过所述客户端输入用户PIN码登录后向所述服务端发起连接请求,所述连接请求包括所述客户端用户设备的标识码和所述PIN码的第一摘要值密文,所述PIN码的第一摘要值密文通过计算的第一派生密钥进行加密生成;所述服务端接收到所述连接请求信息后,通过计算的第二派生密钥对预置的PIN码的第二摘要值进行加密生成所述PIN码的第二摘要值密文,并通过摘要值密文的比对实现用户PIN码验证,保证在生成随机数之前对所述客户端的身份进行验证,以及产生派生密钥用于进行后续随机数生成时的加解密处理;
所述服务端在PIN码验证通过后将所述物理噪声源单元采集的第一随机数使用所述第二派生密钥进行加密后生成第一随机数密文,并将所述第一随机数密文和所述服务端的数字证书发送至所述客户端;所述客户端验证所述服务端的数字证书合法性,在验证通过后对所述第一随机数密文使用所述第一派生密钥进行解密获得所述第一随机数、从所述熵池文件单元中读取第二随机数、对所述本地随机数池单元使用所述第一派生密钥进行解密获得第三随机数;
保证了服务端身份的合法性,以及通过派生密钥进行加解密处理保证第一随机数、第三随机数的安全性;
所述客户端对所述第一随机数、所述第二随机数和所述第三随机数进行计算生成随机数,能够保证通过这三部分随机数产生初始化时使用的高质量的随机数。
以上所述仅为本发明的优选实施例而已,并不用于限制本发明,对于本领域的技术人员来说,本发明可以有各种更改和变化。凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。
Claims (10)
1.一种随机数生成方法,其特征在于,该方法应用于客户端和服务端,包括:单元配置阶段、PIN码验证阶段和随机数生成阶段;
单元配置阶段:
所述服务端配置有物理噪声源单元;所述客户端配置有熵池文件单元和本地随机数池单元;
PIN码验证阶段:
S101,所述客户端输入用户PIN码登录后向所述服务端发起连接请求,所述连接请求包括客户端用户设备的标识码和所述PIN码的第一摘要值密文;
S102,所述服务端接收到所述连接请求信息后,对预置的PIN码的第二摘要值进行加密生成所述PIN码的第二摘要值密文,并通过摘要值密文的比对实现用户PIN码验证;
随机数生成阶段:
S103,所述服务端在PIN码验证通过后将所述物理噪声源单元采集的第一随机数进行加密后生成第一随机数密文,并将所述第一随机数密文和所述服务端的数字证书发送至所述客户端;
S104,所述客户端验证所述服务端的数字证书合法性,在验证通过后对所述第一随机数密文进行解密获得所述第一随机数、从所述熵池文件单元中读取第二随机数、从所述本地随机数池单元中读取第三随机数;
S105,所述客户端对所述第一随机数、所述第二随机数和所述第三随机数进行计算生成随机数。
2.根据权利要求1所述的随机数生成方法,其特征在于,所述S101中所述PIN码的第一摘要值的密文生成包括:
所述客户端使用摘要算法对用户PIN码进行计算获得第一摘要值,并使用所述第一摘要值的前16字节作为第一派生密钥;
所述客户端再使用所述第一派生密钥对所述第一摘要值进行加密获得所述第一摘要值的密文HASH1。
3.根据权利要求1或2所述的随机数生成方法,其特征在于,所述S102具体包括:
所述服务端接收到所述客户端发送的连接请求后,使用PIN码的第二摘要值的前16字节作为第二派生密钥;
所述服务端再使用所述第二派生密钥对所述第二摘要值进行加密获得所述第二摘要值的密文HASH2;最后将所述PIN码的第二摘要值的密文HASH2与所述第一摘要值的密文HASH1进行比对,若比对成功,则表明用户PIN码正确;同时,所述第一派生密钥和所述第二派生密钥相同。
4.根据权利要求3所述的随机数生成方法,其特征在于,所述S103中,使用所述第二派生密钥对所述第一随机数进行加密后生成第一随机数密文;S104中,所述服务端的数字证书合法性验证通过后,使用所述第一派生密钥对所述第一随机数密文进行解密获得所述第一随机数。
5.根据权利要求2所述的随机数生成方法,其特征在于,单元配置阶段中,所述本地随机数池单元由所述物理噪声源单元采集随机数产生;PIN码验证阶段,所述客户端使用所述第一派生密钥对所述本地随机数池单元进行加密保存;步骤S104中,使用所述第一派生密钥对所述本地随机数池单元进行解密获得第三随机数。
6.根据权利要求5所述的随机数生成方法,其特征在于,所述本地随机数池单元在使用超过预设的阈值时,需要从服务端采集新的随机数以对所述本地随机数池单元进行更新。
7.根据权利要求1所述的随机数生成方法,其特征在于,所述S105具体包括:所述客户端对所述第一随机数、所述第二随机数和所述第三随机数使用摘要算法进行计算获得第三摘要值,并对所述第三摘要值的前16字节和后16字节进行异或运算生成随机数。
8.一种随机数生成系统,其特征在于,所述系统包括客户端和服务端,所述客户端配置有熵池文件单元和本地随机数池单元;所述服务端配置有物理噪声源单元;所述客户端和所述服务端配合依次执行PIN码验证过程和随机数生成过程;
在PIN码验证过程中:
所述客户端,用于输入用户PIN码登录后向所述服务端发起连接请求,所述连接请求包括所述客户端用户设备的标识码和所述PIN码的第一摘要值密文;
所述服务端,用于接收到所述客户端发送的连接请求信息后,对预置的PIN码的第二摘要值进行加密生成所述PIN码的第二摘要值密文,并通过摘要值密文的比对实现用户PIN码验证;
在随机数生成过程中:
所述服务端,用于在PIN码验证通过后将所述物理噪声源单元采集的第一随机数进行加密后生成第一随机数密文,并将所述第一随机数密文和所述服务端的数字证书发送至所述客户端;
所述客户端,用于验证所述服务端的数字证书合法性,在验证通过后对所述第一随机数密文进行解密获得所述第一随机数、从所述熵池文件单元中读取第二随机数、从所述本地随机数池单元中读取第三随机数;还用于对所述第一随机数、所述第二随机数和所述第三随机数进行计算生成随机数。
9.根据权利要求7所述的随机数生成系统,其特征在于,所述PIN码的第一摘要值的密文生成包括:首先使用摘要算法对用户PIN码进行计算获得第一摘要值,并使用所述第一摘要值的前16字节作为第一派生密钥;然后使用所述第一派生密钥对所述第一摘要值进行加密获得所述第一摘要值的密文HASH1。
10.根据权利要求7所述的随机数生成系统,其特征在于,所述服务端实现用户PIN码验证包括:所述服务端接收到所述客户端发送的连接请求后,首先使用PIN码的第二摘要值的前16字节作为第二派生密钥;然后使用所述第二派生密钥对所述第二摘要值进行加密获得所述第二摘要值的密文HASH2;最后将所述PIN码的第二摘要值的密文HASH2与所述第一摘要值的密文HASH1进行比对,若比对成功,则表明用户PIN码正确;同时,所述第一派生密钥和所述第二派生密钥相同。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010224621.3A CN111526007B (zh) | 2020-03-26 | 2020-03-26 | 一种随机数生成方法及系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010224621.3A CN111526007B (zh) | 2020-03-26 | 2020-03-26 | 一种随机数生成方法及系统 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN111526007A true CN111526007A (zh) | 2020-08-11 |
CN111526007B CN111526007B (zh) | 2022-02-11 |
Family
ID=71902076
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202010224621.3A Active CN111526007B (zh) | 2020-03-26 | 2020-03-26 | 一种随机数生成方法及系统 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN111526007B (zh) |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112910933A (zh) * | 2021-05-07 | 2021-06-04 | 鹏城实验室 | 认证方法、认证设备以及验证设备 |
CN113204760A (zh) * | 2021-05-20 | 2021-08-03 | 郑州信大捷安信息技术股份有限公司 | 用于软件密码模块的安全通道建立方法及系统 |
CN115314204A (zh) * | 2022-10-11 | 2022-11-08 | 南京易科腾信息技术有限公司 | 随机数生成方法、装置及存储介质 |
CN116560617A (zh) * | 2023-07-12 | 2023-08-08 | 杭州星锐网讯科技有限公司 | 一种随机数生成方法、装置和系统 |
Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20130318139A1 (en) * | 2012-05-22 | 2013-11-28 | Electronics And Telecommunications Research Institute | Random number generation method and apparatus using low-power microprocessor |
US20140351303A1 (en) * | 2013-05-27 | 2014-11-27 | Electronics And Telecommunications Research Institute | Apparatus and method for acquiring noise source entropy for random number generator |
CN104317551A (zh) * | 2014-10-17 | 2015-01-28 | 北京德加才科技有限公司 | 一种超高安全的真随机数生成方法及真随机数生成系统 |
CN105812124A (zh) * | 2014-12-31 | 2016-07-27 | 环达电脑(上海)有限公司 | 密码生成方法和密码验证方法 |
CN108494811A (zh) * | 2018-06-27 | 2018-09-04 | 深圳市思迪信息技术股份有限公司 | 数据传输安全认证方法及装置 |
CN109088889A (zh) * | 2018-10-16 | 2018-12-25 | 深信服科技股份有限公司 | 一种ssl加解密方法、系统及计算机可读存储介质 |
CN110336666A (zh) * | 2019-07-17 | 2019-10-15 | 武汉信安珞珈科技有限公司 | 一种增强ssl/tls协议中随机数随机性的方法 |
-
2020
- 2020-03-26 CN CN202010224621.3A patent/CN111526007B/zh active Active
Patent Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20130318139A1 (en) * | 2012-05-22 | 2013-11-28 | Electronics And Telecommunications Research Institute | Random number generation method and apparatus using low-power microprocessor |
US20140351303A1 (en) * | 2013-05-27 | 2014-11-27 | Electronics And Telecommunications Research Institute | Apparatus and method for acquiring noise source entropy for random number generator |
CN104317551A (zh) * | 2014-10-17 | 2015-01-28 | 北京德加才科技有限公司 | 一种超高安全的真随机数生成方法及真随机数生成系统 |
CN105812124A (zh) * | 2014-12-31 | 2016-07-27 | 环达电脑(上海)有限公司 | 密码生成方法和密码验证方法 |
CN108494811A (zh) * | 2018-06-27 | 2018-09-04 | 深圳市思迪信息技术股份有限公司 | 数据传输安全认证方法及装置 |
CN109088889A (zh) * | 2018-10-16 | 2018-12-25 | 深信服科技股份有限公司 | 一种ssl加解密方法、系统及计算机可读存储介质 |
CN110336666A (zh) * | 2019-07-17 | 2019-10-15 | 武汉信安珞珈科技有限公司 | 一种增强ssl/tls协议中随机数随机性的方法 |
Non-Patent Citations (2)
Title |
---|
BAOCHUAN LI;NING JIANG;YAJUN WANG;ANKE ZHAO;SHIQIN LIU;LU C: "Wideband Complex Optical Chaos and Physical Random Bits Generation Based on Gaussian White Noise Feedback Phase Modulation", 《2019 ASIA COMMUNICATIONS AND PHOTONICS CONFERENCE (ACP)》 * |
张建国;化腾飞;马荔;王云才: "基于物理噪声源的真伪随机数发生器的设计与实现", 《机械工程与自动化》 * |
Cited By (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112910933A (zh) * | 2021-05-07 | 2021-06-04 | 鹏城实验室 | 认证方法、认证设备以及验证设备 |
CN113204760A (zh) * | 2021-05-20 | 2021-08-03 | 郑州信大捷安信息技术股份有限公司 | 用于软件密码模块的安全通道建立方法及系统 |
CN113204760B (zh) * | 2021-05-20 | 2022-04-15 | 郑州信大捷安信息技术股份有限公司 | 用于软件密码模块的安全通道建立方法及系统 |
CN115314204A (zh) * | 2022-10-11 | 2022-11-08 | 南京易科腾信息技术有限公司 | 随机数生成方法、装置及存储介质 |
CN115314204B (zh) * | 2022-10-11 | 2022-12-16 | 南京易科腾信息技术有限公司 | 随机数生成方法、装置及存储介质 |
CN116560617A (zh) * | 2023-07-12 | 2023-08-08 | 杭州星锐网讯科技有限公司 | 一种随机数生成方法、装置和系统 |
Also Published As
Publication number | Publication date |
---|---|
CN111526007B (zh) | 2022-02-11 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN109347835B (zh) | 信息传输方法、客户端、服务器以及计算机可读存储介质 | |
CN111526007B (zh) | 一种随机数生成方法及系统 | |
CN109756500B (zh) | 基于多个非对称密钥池的抗量子计算https通信方法和系统 | |
CN110401615B (zh) | 一种身份认证方法、装置、设备、系统及可读存储介质 | |
CN106130716B (zh) | 基于认证信息的密钥交换系统及方法 | |
KR100506076B1 (ko) | 패스워드를 기반으로 한 상호 인증 및 키 교환방법과 그장치 | |
CN111464301B (zh) | 一种密钥管理方法及系统 | |
CN111435913B (zh) | 一种物联网终端的身份认证方法、装置和存储介质 | |
CN108509787B (zh) | 一种程序认证方法 | |
CN107920052B (zh) | 一种加密方法及智能装置 | |
CN101286849A (zh) | 基于约定算法的第三方认证系统和方法 | |
CN113114475B (zh) | 基于比特自检puf身份认证系统及协议 | |
CN108199847B (zh) | 数字安全处理方法、计算机设备及存储介质 | |
CN109218251B (zh) | 一种防重放的认证方法及系统 | |
CN115276978A (zh) | 一种数据处理方法以及相关装置 | |
CN108551391B (zh) | 一种基于USB-key的认证方法 | |
CN109412799B (zh) | 一种生成本地密钥的系统及其方法 | |
TW200803392A (en) | Method, device, server arrangement, system and computer program products for securely storing data in a portable device | |
KR20070035342A (ko) | 패스워드 기반의 경량화된 상호 인증 방법 | |
CN104579692A (zh) | 一种基于智能卡的信息处理方法 | |
KR101793528B1 (ko) | 무인증서 공개키 암호 시스템 | |
CN110768792B (zh) | 主密钥生成方法、装置及敏感安全参数的加解密方法 | |
CN110572788B (zh) | 基于非对称密钥池和隐式证书的无线传感器通信方法和系统 | |
EP3185504A1 (en) | Security management system for securing a communication between a remote server and an electronic device | |
CN110572257B (zh) | 基于身份的数据来源鉴别方法和系统 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant | ||
PE01 | Entry into force of the registration of the contract for pledge of patent right | ||
PE01 | Entry into force of the registration of the contract for pledge of patent right |
Denomination of invention: A Method and System for Generating Random Numbers Effective date of registration: 20230412 Granted publication date: 20220211 Pledgee: China Construction Bank Corporation Zhengzhou Jinshui sub branch Pledgor: ZHENGZHOU XINDA JIEAN INFORMATION TECHNOLOGY Co.,Ltd. Registration number: Y2023980037751 |