CN116318675A - 一种动态密码生成方法、系统、装置、计算机设备及介质 - Google Patents
一种动态密码生成方法、系统、装置、计算机设备及介质 Download PDFInfo
- Publication number
- CN116318675A CN116318675A CN202310295572.6A CN202310295572A CN116318675A CN 116318675 A CN116318675 A CN 116318675A CN 202310295572 A CN202310295572 A CN 202310295572A CN 116318675 A CN116318675 A CN 116318675A
- Authority
- CN
- China
- Prior art keywords
- random number
- key
- true random
- dynamic
- generating
- 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.)
- Pending
Links
- 238000000034 method Methods 0.000 title claims abstract description 53
- 230000015654 memory Effects 0.000 claims description 23
- 230000008569 process Effects 0.000 abstract description 28
- 230000003993 interaction Effects 0.000 abstract description 17
- 238000007726 management method Methods 0.000 description 87
- 230000009286 beneficial effect Effects 0.000 description 7
- 230000005540 biological transmission Effects 0.000 description 7
- 238000010586 diagram Methods 0.000 description 3
- 230000002427 irreversible effect Effects 0.000 description 3
- 238000012986 modification Methods 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 230000002085 persistent effect Effects 0.000 description 2
- 239000007787 solid Substances 0.000 description 2
- 238000003491 array Methods 0.000 description 1
- 230000007547 defect Effects 0.000 description 1
- 230000006870 function Effects 0.000 description 1
- 230000007246 mechanism Effects 0.000 description 1
- 238000010295 mobile communication Methods 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 238000004088 simulation Methods 0.000 description 1
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/0863—Generation of secret information including derivation or calculation of cryptographic keys or passwords involving passwords or one-time passwords
-
- 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
-
- 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
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y04—INFORMATION OR COMMUNICATION TECHNOLOGIES HAVING AN IMPACT ON OTHER TECHNOLOGY AREAS
- Y04S—SYSTEMS INTEGRATING TECHNOLOGIES RELATED TO POWER NETWORK OPERATION, COMMUNICATION OR INFORMATION TECHNOLOGIES FOR IMPROVING THE ELECTRICAL POWER GENERATION, TRANSMISSION, DISTRIBUTION, MANAGEMENT OR USAGE, i.e. SMART GRIDS
- Y04S40/00—Systems for electrical power generation, transmission, distribution or end-user application management characterised by the use of communication or information technologies, or communication or information technology specific aspects supporting them
- Y04S40/20—Information technology specific aspects, e.g. CAD, simulation, modelling, system security
Landscapes
- Engineering & Computer Science (AREA)
- Computer Security & Cryptography (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Lock And Its Accessories (AREA)
Abstract
本发明提供一种动态密码生成方法、系统、装置、计算机设备及介质,包括:根据密钥因子生成第一密钥,第一密钥包括一个公钥和一个私钥;通过加密芯片生成第一真随机数,并将第一真随机数加密,得到加密后的第一真随机数;将加密后的第一真随机数、公钥及设备标识发送给密钥管理主机;接收密钥管理主机生成的加密数据,根据加密数据生成第二密钥;通过加密芯片生成第二真随机数,根据第二密钥将第二真随机数加密,得到加密后的第二真随机数;将加密后的第二真随机数发送给密钥管理主机;接收第一开锁密码;根据第二真随机数和设备标识生成第二开锁密码;比较第一开锁密码和第二开锁密码,若一致则完成开锁。本发明的动态密码在交互的过程中更安全。
Description
技术领域
本发明涉及密码设备领域,具体涉及一种动态密码生成方法、装置、计算机设备及介质。
背景技术
目前的动态密码锁,在生成动态密码过程中,需要将开锁密码传输到服务器端,由服务器端对开锁密码进行判断,判断开锁密码正确则实现开锁。
但是,开锁密码在传输给服务器端的过程中,存在数据被截取的风险,数据截取可能导致密码生成算法被攻破。目前对于此问题的解决方法是不再直接将开锁密码传输给服务器端进行判断,而是传输密钥和加密因子,动态密码锁和服务器端通过相同的密钥和加密因子实现对同一个密码的判断,这样密码生成算法被攻破的机率大大降低。
但是,这种方法也存在安全隐患,当有了解算法情况的人员,例如开发人员,拿到密钥的时候,系统依旧不安全。
因此,如何解决密钥容易被获取的问题,成为了本领域技术人员亟待解决的技术问题和始终研究的重点。
发明内容
为解决现有技术中的不足,本发明提供一种动态密码生成方法、装置、计算机设备及介质。
本发明第一方面提供一种动态密码生成方法,应用于动态密码锁,包括:根据密钥因子生成第一密钥,第一密钥包括一个公钥和一个私钥,密钥因子为用户输入到服务器端的一串自定义数值;通过加密芯片生成第一真随机数,并将第一真随机数加密,得到加密后的第一真随机数,加密芯片配置于动态密码锁中;将加密后的第一真随机数、公钥以及设备标识发送给密钥管理主机;接收密钥管理主机生成的加密数据,根据加密数据生成第二密钥;通过加密芯片生成第二真随机数,根据第二密钥将第二真随机数加密,得到加密后的第二真随机数;将加密后的第二真随机数发送给密钥管理主机;接收键盘上输入的第一开锁密码,第一开锁密码是密钥管理主机根据第二真随机数和设备标识生成的;根据第二真随机数和设备标识生成第二开锁密码;比较第一开锁密码和第二开锁密码,若一致则控制电机转动完成开锁。
有益效果为:本发明的动态密码锁生成第一密钥,第一密钥中的私钥存储在密钥管理主机中的加密芯片上,不允许被读取到,动态密码锁生成第一真随机数并将其加密,将加密后的第一真随机数、公钥以及设备标识发送给密钥管理主机,动态密码锁接收密钥管理主机生成的加密数据,根据加密数据生成第二密钥,这个过程中密钥管理主机与动态密码锁的交互出了一个共同的数据,也就是第二密钥,但是交互过程中传递的数据是第一真随机数、公钥、设备标识以及加密数据,第二密钥并未在交互过程中出现,所以不会产生传输泄露。动态密码锁生成第二真随机数并对其加密,将加密后的第二真随机数发送给密钥管理主机,密钥管理主机根据得到的第二真随机数和设备标识生成第一开锁密码,动态密码锁根据第二真随机数和设备标识生成第二开锁密码,动态密码锁比较第一开锁密码和第二开锁密码,若一致则控制电机转动完成开锁,比较的过程在动态密码锁中完成,不会导致密码泄露,同时,本发明的动态密码在生成的过程中,每一个环节都在加密的环境中完成,每个环节都有无法读取的数据,就算了解加密的算法,也无法攻破系统获取到动态密码,实现了对了解加密算法人员的防护。
结合第一方面,在第一方面第一实施方式中,动态密码锁中还配置有芯片定时器,通过加密芯片生成第一真随机数,包括:通过芯片定时器上的当前时间产生更新种子;通过加密芯片根据更新种子生成第一真随机数。
有益效果为:当前时间不同产生的第一真随机数也不同,之后的步骤中用到了第一真随机数,最终产生的动态密码也不同,实现动态密码的真正动态。
结合第一方面,在第一方面第二实施中,设备标识是由动态密码锁中的芯片硬件生成的唯一标识。
有益效果为:在产生开锁密码时用到了设备标识,每个动态密码锁的设备标识都不同,保证了与其他动态密码锁不重复。
本发明第二方面提供一种动态密码生成系统,包括:服务器端、动态密码锁以及密钥管理主机;服务器端接收用户输入的密钥因子,将所述密钥因子发送给所述动态密码锁;动态密码锁根据密钥因子生成第一密钥,第一密钥包括一个公钥和一个私钥,密钥因子为用户输入到服务器端的一串自定义数值;动态密码锁通过加密芯片生成第一真随机数,并将第一真随机数加密,得到加密后的第一真随机数,加密芯片配置于动态密码锁中;动态密码锁将加密后的第一真随机数、公钥以及设备标识发送给密钥管理主机;密钥管理主机生成一个加密数据,将加密数据发送给动态密码锁;动态密码锁接收密钥管理主机发送的加密数据,并根据加密数据生成第二密钥;动态密码锁通过加密芯片生成第二真随机数,根据第二钥将第二真随机数加密,得到加密后的第二真随机数,将加密后的第二真随机数发送给密钥管理主机;密钥管理主机接收加密后的第二真随机数,根据第二真随机数和设备标识生成第一开锁密码;密钥管理主机将第一开锁密码发送给所述服务器端;服务器端将所述第一开锁密码显示在界面上;动态密码锁根据第二真随机数和设备标识生成第二开锁密码;动态密码锁比较第一开锁密码和第二开锁密码,若一致则控制电机转动完成开锁。
有益效果为:本发明的动态密码锁生成第一密钥,第一密钥中的私钥存储在密钥管理主机中的加密芯片上,不允许被读取到,动态密码锁生成第一真随机数并将其加密,将加密后的第一真随机数、公钥以及设备标识发送给密钥管理主机,动态密码锁接收密钥管理主机生成的加密数据,根据加密数据生成第二密钥,这个过程中密钥管理主机与动态密码锁的交互出了一个共同的数据,也就是第二密钥,但是交互过程中传递的数据是第一真随机数、公钥、设备标识以及加密数据,第二密钥并未在交互过程中出现,所以不会产生传输泄露。动态密码锁生成第二真随机数并对其加密,将加密后的第二真随机数发送给密钥管理主机,密钥管理主机根据得到的第二真随机数和设备标识生成第一开锁密码,动态密码锁根据第二真随机数和设备标识生成第二开锁密码,动态密码锁比较第一开锁密码和第二开锁密码,若一致则控制电机转动完成开锁,比较的过程在动态密码锁中完成,不会导致密码泄露,同时,本发明的动态密码在生成的过程中,每一个环节都在加密的环境中完成,每个环节都有无法读取的数据,就算了解加密的算法,也无法攻破系统获取到动态密码,实现了对了解加密算法人员的防护。
结合第二方面,在第二方面第一实施方式中,密钥管理主机启动时,密钥管理主机内部的加密芯片根据密钥因子生成第一密钥,第一密钥包括一个公钥和一个私钥。
有益效果为:第一密钥中的私钥存储在密钥管理主机中的加密芯片上,不允许被读取到,保证密码锁的安全性。
结合第二方面,在第二方面第二实施方式中,密钥管理主机生成的第二密钥,第一密钥和第二密钥相同。
结合第二方面,在第二方面第二实施方式中,动态密码锁将加密后的第一真随机数、公钥以及设备标识发送给密钥管理主机之后,还包括:密钥管理主机接收并解析动态密码锁发送的加密后的第一真随机数、公钥以及设备标识,根据解析得到的加密后的第一真随机数、公钥以及设备标识生成加密数据。
结合第二方面,在第二方面第三实施方式中,通过加密芯片生成第二真随机数,包括:通过芯片定时器上的当前时间产生更新种子;通过加密芯片根据更新种子生成所述第二真随机数。
本发明第三方面提供一种动态密码生成装置,包括以下模块:生成第一密钥模块,用于根据密钥因子生成第一密钥,第一密钥包括一个公钥和一个私钥,密钥因子为用户输入到服务器端的一串自定义数值;生成第一真随机数模块,用于通过加密芯片生成第一真随机数,并将第一真随机数加密,得到加密后的第一真随机数,加密芯片配置于动态密码锁中;第一发送模块,用于将加密后的第一真随机数、公钥以及设备标识发送给密钥管理主机;第一接收模块,用于接收密钥管理主机生成的加密数据,根据加密数据生成第一密钥;生成第二真随机数模块,用于通过加密芯片生成第二真随机数,根据第一密钥将第二真随机数加密,得到加密后的第二真随机数;第二发送模块,用于将加密后的第二真随机数发送给密钥管理主机;第二接收模块,用于接收键盘上输入的第一开锁密码,第一开锁密码是密钥管理主机根据第二真随机数和设备标识生成的;第二开锁密码生成模块,用于根据第二真随机数和设备标识生成第二开锁密码;比较模块,用于比较第一开锁密码和第二开锁密码,若一致则控制电机转动完成开锁。
有益效果为:本发明的动态密码锁生成第一密钥,第一密钥中的私钥存储在密钥管理主机中的加密芯片上,不允许被读取到,动态密码锁生成第一真随机数并将其加密,将加密后的第一真随机数、公钥以及设备标识发送给密钥管理主机,动态密码锁接收密钥管理主机生成的加密数据,根据加密数据生成第二密钥,这个过程中密钥管理主机与动态密码锁的交互出了一个共同的数据,也就是第二密钥,但是交互过程中传递的数据是第一真随机数、公钥、设备标识以及加密数据,第二密钥并未在交互过程中出现,所以不会产生传输泄露。动态密码锁生成第二真随机数并对其加密,将加密后的第二真随机数发送给密钥管理主机,密钥管理主机根据得到的第二真随机数和设备标识生成第一开锁密码,动态密码锁根据第二真随机数和设备标识生成第二开锁密码,动态密码锁比较第一开锁密码和第二开锁密码,若一致则控制电机转动完成开锁,比较的过程在动态密码锁中完成,不会导致密码泄露,同时,本发明的动态密码在生成的过程中,每一个环节都在加密的环境中完成,每个环节都有无法读取的数据,就算了解加密的算法,也无法攻破系统获取到动态密码,实现了对了解加密算法人员的防护。
本发明第四方面提供一种计算机设备,包括,至少一个处理器;以及与至少一个处理器通信连接的存储器;其中,存储器存储有可被至少一个处理器执行的指令,指令被至少一个处理器执行,从而执行第一方面及其可选实施方式中任一项的动态密码生成方法。
本发明第五方面提供一种计算机可读存储介质,计算机可读存储介质存储有计算机指令,计算机指令用于使计算机执行第一方面及其可选实施方式中任一项的动态密码生成方法。
附图说明
为了更清楚地说明本发明具体实施方式或现有技术中的技术方案,下面将对具体实施方式或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图是本发明的一些实施方式。
图1示出了本发明实施例提供的动态密码生成系统流程图;
图2示出了本发明实施例提供的动态密码生成方法流程图;
图3示出了本发明实施例提供的动态密码生成装置示意图;
图4示出了本发明实施例提供的一种计算机设备的硬件结构示意图;
图5示出了本发明实施例提供的一种计算机可读存储介质的结构示意图。
具体实施方式
下面将结合附图对本发明的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
在本发明的描述中,需要说明的是,术语“第一”、“第二”仅用于描述目的,而不能理解为指示或暗示相对重要性。
本发明实施例提供了一种动态密码生成系统,如图1所示,包括服务器端、动态密码锁以及密钥管理主机,各设备执行如下步骤:
步骤S101:服务器端接收用户输入的密钥因子,将密钥因子发送给所述动态密码锁。
在一可选实施例中,密钥因子是由用户通过服务器端界面上输入的一串自定义的数值。
在一可选实施例中,动态密码锁内置网络芯片,用于与服务器端连接进行数据交互。
步骤S102:动态密码锁根据密钥因子生成第一密钥,第一密钥包括一个公钥和一个私钥。
在一可选实施例中,密钥因子只由用户掌握,所以了解算法的人员无法通过模拟系统获得与实际系统同样的公钥和私钥。
在一可选实施例中,动态密码锁中内置加密芯片,用于保存核心密钥,私钥作为核心密钥被保存到加密芯片中,任何人无法读取。
步骤S103:动态密码锁通过加密芯片生成第一真随机数,并将第一真随机数加密,得到加密后的第一真随机数,加密芯片配置于动态密码锁中。
在一可选实施例中,真随机数长度为128位,是一个绝对随机的数值。
在一可选实施例中,动态密码锁中的加密芯片通过非对称加密算法将第一真随机数加密,示例性地,非对称加密算法可以是SM2国密算法。
步骤S104:动态密码锁将加密后的第一真随机数、公钥以及设备标识发送给密钥管理主机。
步骤S105:密钥管理主机生成一个加密数据,将加密数据发送给动态密码锁。
在一可选实施例中,本发明实施例提供的动态密码生成系统中的动态密码锁将加密后的第一真随机数、公钥以及设备标识发送给密钥管理主机之后,包括:
密钥管理主机接收并解析动态密码锁发送的加密后的第一真随机数、公钥以及设备标识,根据解析得到的加密后的第一真随机数、公钥以及设备标识生成加密数据。
在一可选实施例中,密钥管理主机根据非对称加密算法解析得到的第一真随机数、公钥以及设备标识,将解析得到的加密后的第一真随机数、公钥以及设备标识通过非对称加密算法生成加密数据,示例性地,非对称加密算法可以是SM2国密算法。
在一可选实施例中,密钥管理主机根据加密数据通过非对称加密算法生成第一密钥,示例性地,非对称加密算法可以是椭圆加密算法。
步骤S106:动态密码锁接收密钥管理主机发送的加密数据,并根据加密数据生成第二密钥。
在一可选实施例中,动态密码锁根据加密数据通过非对称加密算法生成第一密钥,示例性地,非对称加密算法可以是椭圆加密算法。
在一可选实施例中,根据椭圆加密算法等非对称加密算法的机制,密钥管理主机与动态密码锁之间交互,交互出一个共同的数据,也就是第二密钥,由于密钥管理主机与动态密码锁中的第二密钥都是根据加密数据通过非对称加密算法生成,所以密钥管理主机与动态密码锁中的第二密钥的数据相同,而在交互的过程中,传输的数据为加密后的第一真随机数、公钥、设备标识以及加密数据,第二密钥并未出现过,所以不会产生传输泄露。
步骤S107:动态密码锁通过加密芯片生成第二真随机数,根据第二密钥将第二真随机数加密,得到加密后的第二真随机数,将加密后的第二真随机数发送给密钥管理主机。
在一可选实施例中,动态密码锁将第二真随机数通过第二密钥和对称加密算法加密,示例性地,对称加密算法可以是SM4国密算法。
步骤S108:密钥管理主机接收加密后的第二真随机数,根据第二真随机数和设备标识生成第一开锁密码。
在一可选实施例中,密钥管理主机通过第二密钥和对称加密算法解密接收数据得到第二真随机数。
在一可选实施例中,密钥管理主机根据第二真随机数和设备标识通过不可逆加密算法生成第一开锁密码,示例性地,不可逆加密算法可以是SM3国密算法。
步骤S109:密钥管理主机将第一开锁密码发送给服务器端。
在一可选实施例中,密钥管理主机以网络或USB的方式与服务器端连接和通讯。
在一可选实施例中,服务器端接收到第一开锁密码后,将第一开锁密码传递给用户,使得用户可以将第一开锁密码输入动态密码锁,实现开锁。示例性地,服务器端可以将第一开锁密码发送到用户对应的移动终端中,实现将第一开锁密码传递给用户;服务器端可以将第一开锁密码显示在显示器上,用户可以通过服务器端的显示器获取第一开锁密码。
步骤S1010:动态密码锁根据第二真随机数和设备标识生成第二开锁密码。
在一可选实施例中,动态密码锁根据第二真随机数和设备标识通过与密码管理主机同样的不可逆加密算法生成第二开锁密码,示例性地,不可逆加密算法可以是SM3国密算法。
步骤S1011:动态密码锁比较第一开锁密码和第二开锁密码,若一致则控制电机转动完成开锁。
在一可选实施例中,开锁操作人在动态密码锁上输入第一开锁密码,动态密码锁将第一开锁密码和内部生成的第二开锁密码进行比较,若一致则表明开锁操作人输入的动态密码正确,动态密码锁控制电机转动完成开锁。
在本发明实施例提供的动态密码生成系统中,动态密码锁生成第一密钥,第一密钥中的私钥存储在密钥管理主机中的加密芯片上,不允许被读取到,动态密码锁生成第一真随机数并将其加密,将加密后的第一真随机数、公钥以及设备标识发送给密钥管理主机,动态密码锁接收密钥管理主机生成的加密数据,这个过程中密钥管理主机与动态密码锁的交互出了一个共同的数据,也就是第二密钥,但是交互过程中传递的数据是第一真随机数、公钥、设备标识以及加密数据,第二密钥并未在交互过程中出现,所以不会产生传输泄露。动态密码锁生成第二真随机数并对其加密,将加密后的第二真随机数发送给密钥管理主机,密钥管理主机根据得到的加密后的第二真随机数和设备标识生成第一开锁密码,动态密码锁根据第二真随机数和设备标识生成第二开锁密码,动态密码锁比较第一开锁密码和第二开锁密码,若一致则控制电机转动完成开锁,比较的过程在动态密码锁中完成,不会导致密码泄露,同时,本发明的动态密码在生成的过程中,每一个环节都在加密的环境中完成,每个环节都有无法读取的数据,就算了解加密的算法,也无法攻破系统获取到动态密码,实现了对了解加密算法人员的防护。
在一可选实施例中,本发明实施里提供的动态密码锁生成系统,密钥管理主机启动时,密钥管理主机内部的加密芯片根据密钥因子生成第一密钥,第一密钥包括一个公钥和一个私钥。
在一可选实施例中,密钥管理主机内部也配置有加密芯片,用于保存核心密钥,私钥作为核心密钥被保存到加密芯片中,任何人无法读取。
在一可选实施例中,本发明实施里提供的动态密码锁生成系统,通过加密芯片生成第二真随机数,包括:
首先,通过芯片定时器上的当前时间产生更新种子;
其次,通过所述加密芯片根据所述更新种子生成所述第二真随机数。
在一可选实施例中,当前时间不同产生的第二真随机数也不同,之后的步骤中用到了第二真随机数,最终产生的动态密码也不同,且最终生成的第一开锁密码在完成一次开锁操作后失效,或未开锁一定时间后失效。
本发明实施例还提供一种动态密码生成方法,应用于动态密码锁,如图2所示,包括以下步骤:
步骤S201:根据密钥因子生成第一密钥,第一密钥包括一个公钥和一个私钥,密钥因子为用户输入到服务器端的一串自定义数值,详细内容参见上述实施例中步骤S102的描述,在此不再赘述。
步骤S202:通过加密芯片生成第一真随机数,并将第一真随机数加密,得到加密后的第一真随机数,加密芯片配置于动态密码锁中,详细内容参见上述实施例中步骤S103的描述,在此不再赘述。
步骤S203:将加密后的第一真随机数、公钥以及设备标识发送给密钥管理主机,详细内容参见上述实施例中步骤S104的描述,在此不再赘述。
步骤S204:接收密钥管理主机生成的加密数据,根据加密数据生成第二密钥,详细内容参见上述实施例中步骤S105的描述,在此不再赘述。
步骤S205:通过加密芯片生成第二真随机数,根据第二密钥将第二真随机数加密,得到加密后的第二真随机数,详细内容参见上述实施例中步骤S107的描述,在此不再赘述。
步骤S206:将加密后的第二真随机数发送给密钥管理主机,详细内容参见上述实施例中步骤S107的描述,在此不再赘述。
步骤S207:接收键盘上输入的第一开锁密码,第一开锁密码是密钥管理主机根据第二真随机数和设备标识生成的,详细内容参见上述实施例中步骤S108的描述,在此不再赘述。
步骤S208:根据第二真随机数和设备标识生成第二开锁密码,详细内容参见上述实施例中步骤S1010的描述,在此不再赘述。
步骤S209:比较第一开锁密码和第二开锁密码,若一致则控制电机转动完成开锁,详细内容参见上述实施例中步骤S1011的描述,在此不再赘述。
在本发明实施例中提供的动态密码生成方法中,动态密码锁生成第一密钥,第一密钥中的私钥存储在密钥管理主机中的加密芯片上,不允许被读取到,动态密码锁生成第一真随机数并将其加密,将加密后的第一真随机数、公钥以及设备标识发送给密钥管理主机,动态密码锁接收密钥管理主机生成的加密数据,根据加密数据生成第二密钥,这个过程中密钥管理主机与动态密码锁的交互出了一个共同的数据,也就是第二密钥,但是交互过程中传递的数据是第一真随机数、公钥、设备标识以及加密数据,第一密钥并未在交互过程中出现,所以不会产生传输泄露。动态密码锁生成第二真随机数并对其加密,将加密后的第二真随机数发送给密钥管理主机,密钥管理主机根据得到的加密后的第二真随机数和设备标识生成第一开锁密码,动态密码锁根据第二真随机数和设备标识生成第二开锁密码,动态密码锁比较第一开锁密码和第二开锁密码,若一致则控制电机转动完成开锁,比较的过程在动态密码锁中完成,不会导致密码泄露,同时,本发明的动态密码在生成的过程中,每一个环节都在加密的环境中完成,每个环节都有无法读取的数据,就算了解加密的算法,也无法攻破系统获取到动态密码,实现了对了解加密算法人员的防护。
在一可选实施例中,设备标识是由动态密码锁中的芯片硬件生成的唯一标识。
在一可选实施例中,在产生开锁密码时用到了设备标识,每个动态密码锁的设备标识都不同,保证了与其他动态密码锁不重复。
本发明实施例提供一种动态密码生成装置,如图3所示,包括以下模块:
生成第一密钥模块301:根据密钥因子生成第一密钥,第一密钥包括一个公钥和一个私钥,密钥因子为用户输入到服务器端的一串自定义数值,详细内容参见上述实施例中步骤S201的描述,在此不再赘述。
生成第一真随机数模块302:通过加密芯片生成第一真随机数,并将第一真随机数加密,得到加密后的第一真随机数,加密芯片配置于动态密码锁中,详细内容参见上述实施例中步骤S202的描述,在此不再赘述。
第一发送模块303:将加密后的第一真随机数、公钥以及设备标识发送给密钥管理主机,详细内容参见上述实施例中步骤S203的描述,在此不再赘述。
第一接收模块304:接收密钥管理主机生成的加密数据,根据加密数据生成第二密钥,详细内容参见上述实施例中步骤S204的描述,在此不再赘述。
生成第二真随机数模块305:通过加密芯片生成第二真随机数,根据第二密钥将第二真随机数加密,得到加密后的第二真随机数,详细内容参见上述实施例中步骤S205的描述,在此不再赘述。
第二发送模块306:将加密后的第二真随机数发送给密钥管理主机,详细内容参见上述实施例中步骤S206的描述,在此不再赘述。
第二接收模块307:接收键盘上输入的第一开锁密码,第一开锁密码是密钥管理主机根据第二真随机数和设备标识生成的,详细内容参见上述实施例中步骤S207的描述,在此不再赘述。
第二开锁密码生成模块308:根据第二真随机数和设备标识生成第二开锁密码,详细内容参见上述实施例中步骤S208的描述,在此不再赘述。
比较模块309:比较第一开锁密码和第二开锁密码,若一致则控制电机转动完成开锁,详细内容参见上述实施例中步骤S209的描述,在此不再赘述。
在本发明实施例提供的动态密码生成装置中,动态密码锁生成第一密钥,第一密钥中的私钥存储在密钥管理主机中的加密芯片上,不允许被读取到,动态密码锁生成第一真随机数并将其加密,将加密后的第一真随机数、公钥以及设备标识发送给密钥管理主机,动态密码锁接收密钥管理主机生成的加密数据,根据加密数据生成第二密钥,这个过程中密钥管理主机与动态密码锁的交互出了一个共同的数据,也就是第二密钥,但是交互过程中传递的数据是第一真随机数、公钥、设备标识以及加密数据,第一密钥并未在交互过程中出现,所以不会产生传输泄露。动态密码锁生成第二真随机数并对其加密,将加密后的第二真随机数发送给密钥管理主机,密钥管理主机根据得到的加密后的第二真随机数和设备标识生成第一开锁密码,动态密码锁根据第二真随机数和设备标识生成第二开锁密码,动态密码锁比较第一开锁密码和第二开锁密码,若一致则控制电机转动完成开锁,比较的过程在动态密码锁中完成,不会导致密码泄露,同时,本发明的动态密码在生成的过程中,每一个环节都在加密的环境中完成,每个环节都有无法读取的数据,就算了解加密的算法,也无法攻破系统获取到动态密码,实现了对了解加密算法人员的防护。
本发明实施例还提供一种计算机设备,如图4是根据一示例性实施例提出的一种计算机设备的硬件结构示意图。
如图4所示,该设备包括一个或多个处理器401以及存储器402,存储器402包括持久内存、易失内存和硬盘,图4中以一个处理器401为例。该设备还可以包括:输入装置403和输出装置404。
处理器401、存储器402、输入装置403和输出装置404可以通过总线或者其他方式连接,图4中以通过总线连接为例。
处理器401可以为中央处理器(Central Processing Unit,CPU)。处理器401还可以为其他通用处理器、数字信号处理器(Digital Signal Processor,DSP)、专用集成电路(Application Specific Integrated Circuit,ASIC)、现场可编程门阵列(Field-Programmable Gate Array,FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件等芯片,或者上述各类芯片的组合。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。
存储器402作为一种非暂态计算机可读存储介质,包括持久内存、易失内存和硬盘,可用于存储非暂态软件程序、非暂态计算机可执行程序以及模块,如本申请实施例中的业务管理方法对应的程序指令模块。处理器401通过运行存储在存储器402中的非暂态软件程序、指令以及模块,从而执行服务器的各种功能应用以及数据处理,即实现上述任意一种动态密码生成方法。
存储器402可以包括存储程序区和存储数据区,其中,存储程序区可存储操作系统、至少一个功能所需要的应用程序;存储数据区可存储根据、需要使用的数据等。此外,存储器402可以包括高速随机存取存储器,还可以包括非暂态存储器,例如至少一个磁盘存储器件、闪存器件、或其他非暂态固态存储器件。在一些实施例中,存储器402可选包括相对于处理器401远程设置的存储器,这些远程存储器可以通过网络连接至数据处理装置。上述网络的实例包括但不限于互联网、企业内部网、局域网、移动通信网及其组合。
输入装置403可接收输入的数字或字符信息,以及产生与用户设置以及功能控制有关的键信号输入。输出装置404可包括显示屏等显示设备。
一个或者多个模块存储在存储器402中,当被一个或者多个处理器401执行时,执行如图1所示的方法。
上述产品可执行本发明实施例所提供的方法,具备执行方法相应的功能模块和有益效果。未在本实施例中详尽描述的技术细节,具体可参见如图1和图2所示的实施例中的相关描述。
本发明实施例还提供了一种计算机可读存储介质,如图5所示,计算机可读存储介质中存储有计算机可执行指令501,该计算机可执行指令501可执行上述任意方法实施例中的动态密码生成方法。
存储介质可为磁碟、光盘、只读存储记忆体(Read-Only Memory,ROM)、随机存储记忆体(Random Access Memory,RAM)、快闪存储器(Flash Memory)、硬盘(Hard Disk Drive,HDD)或固态硬盘(Solid-State Drive,SSD)等;存储介质还可以包括上述种类的存储器的组合。
显然,上述实施例仅仅是为清楚地说明所作的举例,而并非对实施方式的限定。对于所属领域的普通技术人员来说,在上述说明的基础上还可以做出其它不同形式的变化或变动。这里无需也无法对所有的实施方式予以穷举。而由此所引伸出的显而易见的变化或变动仍处于本发明创造的保护范围之中。
Claims (10)
1.一种动态密码生成方法,其特征在于,应用于动态密码锁,包括以下步骤:
根据密钥因子生成第一密钥,所述第一密钥包括一个公钥和一个私钥,所述密钥因子为用户输入到服务器端的一串自定义数值;
通过加密芯片生成第一真随机数,并将所述第一真随机数加密,得到加密后的第一真随机数,所述加密芯片配置于所述动态密码锁中;
将所述加密后的第一真随机数、所述公钥以及设备标识发送给密钥管理主机;
接收所述密钥管理主机生成的加密数据,根据所述加密数据生成第二密钥;
通过所述加密芯片生成第二真随机数,根据所述第二密钥将所述第二真随机数加密,得到加密后的第二真随机数;
将所述加密后的第二真随机数发送给所述密钥管理主机;
接收键盘上输入的第一开锁密码,所述第一开锁密码是所述密钥管理主机根据所述第二真随机数和所述设备标识生成的;
根据所述第二真随机数和所述设备标识生成第二开锁密码;
比较所述第一开锁密码和所述第二开锁密码,若一致则控制电机转动完成开锁。
2.根据权利要求1所述的动态密码生成方法,其特征在于,所述动态密码锁中还配置有芯片定时器,所述通过加密芯片生成第一真随机数,包括:
通过芯片定时器上的当前时间产生更新种子;
通过所述加密芯片根据所述更新种子生成所述第一真随机数。
3.根据权利要求1所述的动态密码生成方法,其特征在于,
所述设备标识是由所述动态密码锁中的芯片硬件生成的唯一标识。
4.一种动态密码生成系统,其特征在于,包括:
服务器端、动态密码锁以及密钥管理主机;
所述服务器端接收用户输入的密钥因子,将所述密钥因子发送给所述动态密码锁;
所述动态密码锁根据密钥因子生成第一密钥,所述第一密钥包括一个公钥和一个私钥,所述密钥因子为用户输入到服务器端的一串自定义数值;通过加密芯片生成第一真随机数,并将所述第一真随机数加密,得到加密后的第一真随机数,所述加密芯片配置于所述动态密码锁中;将所述加密后的第一真随机数、所述公钥以及设备标识发送给所述密钥管理主机;
所述密钥管理主机生成一个加密数据,将所述加密数据发送给所述动态密码锁;
所述动态密码锁接收所述密钥管理主机发送的所述加密数据,并根据所述加密数据生成第二密钥;通过所述加密芯片生成第二真随机数,根据所述第二密钥将所述第二真随机数加密,得到加密后的第二真随机数,将所述加密后的第二真随机数发送给所述密钥管理主机;
所述密钥管理主机接收所述加密后的第二真随机数,根据所述第二真随机数和所述设备标识生成第一开锁密码;将所述第一开锁密码发送给所述服务器端;
所述动态密码锁根据所述第二真随机数和所述设备标识生成第二开锁密码;比较所述第一开锁密码和所述第二开锁密码,若一致则控制电机转动完成开锁。
5.根据权利要求4所述的动态密码生成系统,其特征在于,还包括:
密钥管理主机启动时,密钥管理主机内部的加密芯片根据密钥因子生成第一密钥,所述第一密钥包括一个公钥和一个私钥。
6.根据权利要求4所述的动态密码生成系统,其特征在于,所述动态密码锁将所述加密后的第一真随机数、所述公钥以及所述设备标识发送给所述密钥管理主机之后,还包括:
所述密钥管理主机接收并解析所述动态密码锁发送的所述加密后的第一真随机数、所述公钥以及所述设备标识,根据解析得到的所述加密后的第一真随机数、所述公钥以及所述设备标识生成所述加密数据。
7.根据权利要求4所述的动态密码生成系统,其特征在于,所述通过所述加密芯片生成第二真随机数,包括:
通过芯片定时器上的当前时间产生更新种子;
通过所述加密芯片根据所述更新种子生成所述第二真随机数。
8.一种动态密码生成装置,其特征在于,包括以下模块:
生成第一密钥模块,用于根据密钥因子生成第一密钥,所述第一密钥包括一个公钥和一个私钥,所述密钥因子为用户输入到服务器端的一串自定义数值;
生成第一真随机数模块,用于通过加密芯片生成第一真随机数,并将所述第一真随机数加密,得到加密后的第一真随机数,所述加密芯片配置于所述动态密码锁中;
第一发送模块,用于将加密后的第一真随机数、公钥以及设备标识发送给密钥管理主机;
第一接收模块,用于接收所述密钥管理主机生成的加密数据,根据所述加密数据生成第二密钥;
生成第二真随机数模块,用于通过加密芯片生成第二真随机数,根据所述第二密钥将所述第二真随机数加密,得到加密后的第二真随机数;
第二发送模块,用于将加密后的第二真随机数发送给密钥管理主机;
第二接收模块,用于接收键盘上输入的第一开锁密码,所述第一开锁密码是所述密钥管理主机根据第二真随机数和设备标识生成的;
第二开锁密码生成模块,用于根据所述第二真随机数和所述设备标识生成第二开锁密码;
比较模块,用于比较所述第一开锁密码和所述第二开锁密码,若一致则控制电机转动完成开锁。
9.一种计算机设备,其特征在于,包括:
至少一个处理器;以及与所述至少一个处理器通信连接的存储器;其中,所述存储器存储有可被所述至少一个处理器执行的指令,所述指令被所述至少一个处理器执行,从而执行如权利要求1-3中任一项所述的动态密码生成方法。
10.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质存储有计算机指令,所述计算机指令用于使所述计算机执行如权利要求1-3中任一项所述的动态密码生成方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202310295572.6A CN116318675A (zh) | 2023-03-22 | 2023-03-22 | 一种动态密码生成方法、系统、装置、计算机设备及介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202310295572.6A CN116318675A (zh) | 2023-03-22 | 2023-03-22 | 一种动态密码生成方法、系统、装置、计算机设备及介质 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN116318675A true CN116318675A (zh) | 2023-06-23 |
Family
ID=86813026
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202310295572.6A Pending CN116318675A (zh) | 2023-03-22 | 2023-03-22 | 一种动态密码生成方法、系统、装置、计算机设备及介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN116318675A (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN116527258A (zh) * | 2023-06-30 | 2023-08-01 | 深圳市旭子科技有限公司 | 密码锁的解锁方法、装置、设备及存储介质 |
-
2023
- 2023-03-22 CN CN202310295572.6A patent/CN116318675A/zh active Pending
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN116527258A (zh) * | 2023-06-30 | 2023-08-01 | 深圳市旭子科技有限公司 | 密码锁的解锁方法、装置、设备及存储介质 |
CN116527258B (zh) * | 2023-06-30 | 2023-09-22 | 深圳市旭子科技有限公司 | 密码锁的解锁方法、装置、设备及存储介质 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN108377190B (zh) | 一种认证设备及其工作方法 | |
CN111435913B (zh) | 一种物联网终端的身份认证方法、装置和存储介质 | |
CN111080845B (zh) | 临时解锁方法、系统、门锁、管理员终端和可读存储介质 | |
CN108199847B (zh) | 数字安全处理方法、计算机设备及存储介质 | |
US11743053B2 (en) | Electronic signature system and tamper-resistant device | |
CN107104795B (zh) | Rsa密钥对和证书的注入方法、架构及系统 | |
CN113242120B (zh) | 终端设备密码更新方法、系统、装置及存储介质 | |
CN110855616B (zh) | 一种数字钥匙生成系统 | |
CN112182551B (zh) | Plc设备身份认证系统和plc设备身份认证方法 | |
CN113411187A (zh) | 身份认证方法和系统、存储介质及处理器 | |
CN111526007A (zh) | 一种随机数生成方法及系统 | |
KR20000024445A (ko) | 전자서명을 이용한 사용자 인증기법과 무선 전자서명을이용한사용자 인증기법 및 휴대형 처리 도구 | |
CN116318675A (zh) | 一种动态密码生成方法、系统、装置、计算机设备及介质 | |
CN104767766A (zh) | 一种Web Service接口验证方法、Web Service服务器、客户端 | |
CN113472722A (zh) | 数据传输方法、存储介质、电子设备及自动售检票系统 | |
CN114139176A (zh) | 一种基于国密的工业互联网核心数据的保护方法及系统 | |
CN108881153B (zh) | 用于登入的认证方法 | |
CN113886793A (zh) | 设备登录方法、装置、电子设备、系统和存储介质 | |
CN106797381A (zh) | 认证棒 | |
JP2007104118A (ja) | 秘密情報の保護方法及び通信装置 | |
EP3664362B1 (en) | Key generation method, acquisition method, private key update method, chip and server | |
KR102288444B1 (ko) | 인증모듈의 펌웨어 업데이트 방법, 장치 및 프로그램 | |
CN114221759A (zh) | 一种远程监控部署方法、装置、电子设备及存储介质 | |
CN108235807B (zh) | 软件加密终端、支付终端、软件包加密及解密方法及系统 | |
CN106998250A (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 |