CN113674456B - 开锁方法、装置、电子设备和存储介质 - Google Patents
开锁方法、装置、电子设备和存储介质 Download PDFInfo
- Publication number
- CN113674456B CN113674456B CN202110954123.9A CN202110954123A CN113674456B CN 113674456 B CN113674456 B CN 113674456B CN 202110954123 A CN202110954123 A CN 202110954123A CN 113674456 B CN113674456 B CN 113674456B
- Authority
- CN
- China
- Prior art keywords
- key
- unlocking
- random number
- lockset
- fingerprint
- 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.)
- Active
Links
Classifications
-
- G—PHYSICS
- G07—CHECKING-DEVICES
- G07C—TIME OR ATTENDANCE REGISTERS; REGISTERING OR INDICATING THE WORKING OF MACHINES; GENERATING RANDOM NUMBERS; VOTING OR LOTTERY APPARATUS; ARRANGEMENTS, SYSTEMS OR APPARATUS FOR CHECKING NOT PROVIDED FOR ELSEWHERE
- G07C9/00—Individual registration on entry or exit
- G07C9/00174—Electronically operated locks; Circuits therefor; Nonmechanical keys therefor, e.g. passive or active electrical keys or other data carriers without mechanical keys
- G07C9/00571—Electronically operated locks; Circuits therefor; Nonmechanical keys therefor, e.g. passive or active electrical keys or other data carriers without mechanical keys operated by interacting with a central unit
-
- G—PHYSICS
- G07—CHECKING-DEVICES
- G07C—TIME OR ATTENDANCE REGISTERS; REGISTERING OR INDICATING THE WORKING OF MACHINES; GENERATING RANDOM NUMBERS; VOTING OR LOTTERY APPARATUS; ARRANGEMENTS, SYSTEMS OR APPARATUS FOR CHECKING NOT PROVIDED FOR ELSEWHERE
- G07C9/00—Individual registration on entry or exit
- G07C9/00174—Electronically operated locks; Circuits therefor; Nonmechanical keys therefor, e.g. passive or active electrical keys or other data carriers without mechanical keys
- G07C9/00309—Electronically operated locks; Circuits therefor; Nonmechanical keys therefor, e.g. passive or active electrical keys or other data carriers without mechanical keys operated with bidirectional data transmission between data carrier and locks
-
- G—PHYSICS
- G07—CHECKING-DEVICES
- G07C—TIME OR ATTENDANCE REGISTERS; REGISTERING OR INDICATING THE WORKING OF MACHINES; GENERATING RANDOM NUMBERS; VOTING OR LOTTERY APPARATUS; ARRANGEMENTS, SYSTEMS OR APPARATUS FOR CHECKING NOT PROVIDED FOR ELSEWHERE
- G07C9/00—Individual registration on entry or exit
- G07C9/00174—Electronically operated locks; Circuits therefor; Nonmechanical keys therefor, e.g. passive or active electrical keys or other data carriers without mechanical keys
- G07C9/00896—Electronically operated locks; Circuits therefor; Nonmechanical keys therefor, e.g. passive or active electrical keys or other data carriers without mechanical keys specially adapted for particular uses
- G07C9/00912—Electronically operated locks; Circuits therefor; Nonmechanical keys therefor, e.g. passive or active electrical keys or other data carriers without mechanical keys specially adapted for particular uses for safes, strong-rooms, vaults or the like
-
- G—PHYSICS
- G07—CHECKING-DEVICES
- G07C—TIME OR ATTENDANCE REGISTERS; REGISTERING OR INDICATING THE WORKING OF MACHINES; GENERATING RANDOM NUMBERS; VOTING OR LOTTERY APPARATUS; ARRANGEMENTS, SYSTEMS OR APPARATUS FOR CHECKING NOT PROVIDED FOR ELSEWHERE
- G07C9/00—Individual registration on entry or exit
- G07C9/00174—Electronically operated locks; Circuits therefor; Nonmechanical keys therefor, e.g. passive or active electrical keys or other data carriers without mechanical keys
- G07C9/00309—Electronically operated locks; Circuits therefor; Nonmechanical keys therefor, e.g. passive or active electrical keys or other data carriers without mechanical keys operated with bidirectional data transmission between data carrier and locks
- G07C2009/0042—Electronically operated locks; Circuits therefor; Nonmechanical keys therefor, e.g. passive or active electrical keys or other data carriers without mechanical keys operated with bidirectional data transmission between data carrier and locks the transmitted data signal containing a code which is changed
Landscapes
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Lock And Its Accessories (AREA)
Abstract
本发明公开了开锁方法、装置、电子设备和存储介质,涉及计算机技术领域。该方法的一具体实施方式包括:接收锁具通过钥匙发送的开锁校验请求,获取开锁校验请求中锁具标识和锁具生成的加密校验信息,锁具与钥匙连接;基于锁具标识查询锁具的加密因子,以计算锁具的工作密钥,基于工作密钥对加密校验信息解密,进而调用预设的生成模型,基于解密结果生成开锁码;将开锁码通过钥匙发送至锁具,以使锁具基于开锁码执行开锁认证。该实施方式能够解决现有技术中各网点均需要备份所有网点款箱的钥匙,导致各网点款箱的安全性降低的问题。
Description
技术领域
本发明涉及计算机技术领域,尤其涉及一种开锁方法、装置、电子设备和存储介质。
背景技术
在银行业务中,业务人员通常需要动过动态密码解锁的方式来打开款箱,以保证款箱的安全性。现有技术中,动态密码解锁使用时,需要钥匙和锁具预先约定相同的密钥和加密算法,在开锁时,钥匙和锁具可以分别生成动态密码,进而将钥匙和锁具生成的动态密码进行验证开锁。由于钥匙和锁具需要预先约定相同的密钥和加密算法,所以各钥匙和锁具之间需要相互匹配才有可能打开锁具。
在实际应用中,各银行网点均有可能接收到其他网点的款箱,为了能够打开各网点的款箱,各网点均需要备份所有网点款箱的钥匙,但是这中方式导致各网点款箱的安全性降低。
发明内容
有鉴于此,本发明实施例提供一种开锁方法、装置、电子设备和存储介质,能够解决现有技术中各网点均需要备份所有网点款箱的钥匙,导致各网点款箱的安全性降低的问题。
为实现上述目的,根据本发明实施例的一个方面,提供了一种开锁方法。
本发明实施例的一种开锁方法,用于服务端,包括:接收锁具通过钥匙发送的开锁校验请求,获取所述开锁校验请求中锁具标识和所述锁具生成的加密校验信息,所述锁具与所述钥匙连接;基于所述锁具标识查询所述锁具的加密因子,以计算所述锁具的工作密钥,基于所述工作密钥对所述加密校验信息解密,进而调用预设的生成模型,基于解密结果生成开锁码;将所述开锁码通过所述钥匙发送至所述锁具,以使所述锁具基于所述开锁码执行开锁认证。
在一个实施例中,在所述接收锁具通过钥匙发送的开锁校验请求之前,还包括:
接收所述钥匙发送的开锁请求,所述开锁请求包括所述锁具标识和所述钥匙对应的用户身份标识;
基于所述用户身份标识查询所述钥匙对应用户的权限范围,以判断所述权限范围是否包括所述锁具标识;
若是,则向所述钥匙发送同意开锁消息,以使所述钥匙向所述锁具发送开锁指示;若否,则向所述钥匙发送不同意开锁消息。
在又一个实施例中,所述接收锁具通过钥匙发送的开锁校验请求之前,还包括:
接收所述锁具的初始化请求后,为所述锁具生成锁具标识;
获取所述锁具对应的当前时间戳,生成所述锁具对应的随机数,结合所述锁具标识,生成所述锁具对应的工作密钥,将所述锁具标识、所述锁具对应的当前时间和随机数存储为所述锁具的加密因子;
通过与所述锁具当前连接的钥匙向所述锁具发送所述工作密钥和所述锁具标识。
在又一个实施例中,所述通过与所述锁具当前连接的钥匙向所述锁具发送所述工作密钥和所述锁具标识,包括:
获取与所述锁具当前连接钥匙的钥匙标识,以查询对应的加密因子,进而生成与所述锁具当前连接钥匙的工作密钥;
基于与所述锁具当前连接钥匙的工作密钥,对所述锁具的工作密钥和所述锁具标识加密得到密钥密文,向与所述锁具当前连接钥匙发送所述密钥密文,以使与所述锁具当前连接钥匙对所述密钥密文解密后得出所述锁具的工作密钥和锁具标识并发送至所述锁具。
在又一个实施例中,接收锁具通过钥匙发送的开锁校验请求之前,还包括:
接收所述钥匙的初始化请求后,为所述钥匙生成钥匙标识,向所述钥匙发送所述钥匙标识;
接收所述钥匙发送的随机数,获取所述钥匙对应的当前时间戳,结合所述钥匙标识,以生成所述钥匙对应的工作密钥,将所述钥匙发送的随机数、所述钥匙对应的当前时间戳、所述钥匙标识存储为所述钥匙的加密因子;
向所述钥匙发送所述钥匙对应的工作密钥,以使所述钥匙存储所述钥匙对应的工作密钥。
在又一个实施例中,向所述钥匙发送所述钥匙标识,包括:
查询所述钥匙对应业务类型的公钥,向所述钥匙发送所述钥匙标识和所述公钥;
所述接收所述钥匙发送的随机数,包括:
接收所述钥匙发送的随机数密文,所述随机数密文为所述钥匙通过所述随机数和所述公钥生成的;
查询所述钥匙对应业务类型的私钥,以对所述随机数密文解密,得出所述随机数。
为实现上述目的,根据本发明实施例的又一个方面,提供了又一种开锁方法。
本发明实施例的又一种开锁方法,用于锁具,包括:调用随机数生成模型生成随机数,查询存储的工作密钥,以对所述随机数加密得出加密校验信息;通过连接的钥匙向服务端发送所述开锁校验信息,所述开锁校验信息包括所述加密校验信息和锁具标识;通过所述钥匙接收所述服务端发送的开锁码,基于所述随机数和预设的认证规则对所述开锁码执行开锁认证;确定所述开锁码认证通过,执行开锁流程。
在一个实施例中,所述基于所述随机数和预设的认证规则对所述开锁码执行开锁认证,包括:
调用预设的生成模型,基于所述随机数生成认证码;
判断所述认证码与所述开锁码是否一致;
若是,则确定所述开锁码认证通过;若否,则确定所述开锁码认证不通过。
在又一个实施例中,在所述生成用于开锁的随机数之前,还包括:
接收所述服务端通过所述钥匙发送的开锁指示,其中,所述开锁指示为所述服务端确定所述钥匙对应用户的权限范围包括所述锁具标识后发送的。
为实现上述目的,根据本发明实施例的另一方面,提供了一种开锁装置。
本发明实施例的一种开锁装置,设置于服务端,包括:接收单元,用于接收锁具通过钥匙发送的开锁校验请求,获取所述开锁校验请求中锁具标识和所述锁具生成的加密校验信息,所述锁具与所述钥匙连接;生成单元,用于基于所述锁具标识查询所述锁具的加密因子,以计算所述锁具的工作密钥,基于所述工作密钥对所述加密校验信息解密,进而调用预设的生成模型,基于解密结果生成开锁码;发送单元,用于将所述开锁码通过所述钥匙发送至所述锁具,以使所述锁具基于所述开锁码执行开锁认证。
在一个实施例中,所述接收单元还用于接收所述钥匙发送的开锁请求,所述开锁请求包括所述锁具标识和所述钥匙对应的用户身份标识;
所述装置还包括:
判断单元,用于基于所述用户身份标识查询所述钥匙对应用户的权限范围,以判断所述权限范围是否包括所述锁具标识;
所述发送单元,还用于若是,则向所述钥匙发送同意开锁消息,以使所述钥匙向所述锁具发送开锁指示;若否,则向所述钥匙发送不同意开锁消息。
在又一个实施例中,所述接收单元还用于接收所述锁具的初始化请求后,为所述锁具生成锁具标识;
所述生成单元,还用于获取所述锁具对应的当前时间戳,生成所述锁具对应的随机数,结合所述锁具标识,生成所述锁具对应的工作密钥,将所述锁具标识、所述锁具对应的当前时间和随机数存储为所述锁具的加密因子;
所述发送单元,还用于通过与所述锁具当前连接的钥匙向所述锁具发送所述工作密钥和所述锁具标识。
在又一个实施例中,所述发送单元,具体用于:
获取与所述锁具当前连接钥匙的钥匙标识,以查询对应的加密因子,进而生成与所述锁具当前连接钥匙的工作密钥;
基于与所述锁具当前连接钥匙的工作密钥,对所述锁具的工作密钥和所述锁具标识加密得到密钥密文,向与所述锁具当前连接钥匙发送所述密钥密文,以使与所述锁具当前连接钥匙对所述密钥密文解密后得出所述锁具的工作密钥和锁具标识并发送至所述锁具。
在又一个实施例中,所述发送单元,还用于接收所述钥匙的初始化请求后,为所述钥匙生成钥匙标识,向所述钥匙发送所述钥匙标识;
所述生成单元,还用于接收所述钥匙发送的随机数,获取所述钥匙对应的当前时间戳,结合所述钥匙标识,以生成所述钥匙对应的工作密钥,将所述钥匙发送的随机数、所述钥匙对应的当前时间戳、所述钥匙标识存储为所述钥匙的加密因子;
所述发送单元,还用于向所述钥匙发送所述钥匙对应的工作密钥,以使所述钥匙存储所述钥匙对应的工作密钥。
在又一个实施例中,所述发送单元,具体用于查询所述钥匙对应业务类型的公钥,向所述钥匙发送所述钥匙标识和所述公钥;
所述接收单元,具体用于:
接收所述钥匙发送的随机数密文,所述随机数密文为所述钥匙通过所述随机数和所述公钥生成的;
查询所述钥匙对应业务类型的私钥,以对所述随机数密文解密,得出所述随机数。
为实现上述目的,根据本发明实施例的再一方面,提供了再一种开锁装置。
本发明实施例的再一种开锁装置,设置于锁具,包括:加密单元,用于调用随机数生成模型生成随机数,查询存储的工作密钥,以对所述随机数加密得出加密校验信息;发送单元,用于通过连接的钥匙向服务端发送所述开锁校验信息,所述开锁校验信息包括所述加密校验信息和锁具标识;认证单元,用于通过所述钥匙接收所述服务端发送的开锁码,基于所述随机数和预设的认证规则对所述开锁码执行开锁认证;开锁单元,用于确定所述开锁码认证通过,执行开锁流程。
在一个实施例中,所述认证单元,具体用于:
调用预设的生成模型,基于所述随机数生成认证码;
判断所述认证码与所述开锁码是否一致;
若是,则确定所述开锁码认证通过;若否,则确定所述开锁码认证不通过。
在又一个实施例中,所述装置包括:
接收单元,用于接收所述服务端通过所述钥匙发送的开锁指示,其中,所述开锁指示为所述服务端确定所述钥匙对应用户的权限范围包括所述锁具标识后发送的。
为实现上述目的,根据本发明实施例的再一个方面,提供了一种电子设备。
本发明实施例的一种电子设备,包括:一个或多个处理器;存储装置,用于存储一个或多个程序,当所述一个或多个程序被所述一个或多个处理器执行,使得所述一个或多个处理器实现本发明实施例提供的开锁方法。
为实现上述目的,根据本发明实施例的又一个方面,提供了一种计算机可读介质。
本发明实施例的一种计算机可读介质,其上存储有计算机程序,所述程序被处理器执行时实现本发明实施例提供的开锁方法。
上述发明中的一个实施例具有如下优点或有益效果:本发明实施例中,锁具与钥匙连接后,可以生成加密校验信息,并通过钥匙向服务端发送的开锁校验请求;服务端基于锁具标识可以查询出锁具的加密因子,从而可以计算出锁具的工作密钥,然后可以对加密校验信息进行解密,进而基于解密结果和预设的生成模型生成开锁码,并将开锁码通过钥匙发送给锁具;锁具接收开锁码后,可以基于预设的生成模型生成认证码,进而在确定开锁码和认证码一致后即可进行开锁。本发明实施例中,在需要打开锁具时,锁具可以通过钥匙与服务端进行交互,实现开锁校验和开锁认证的过程,进而实现对锁具的动态开锁,此过程中锁具与钥匙并不需要进行配对设置,所以与钥匙之间没有对应关系,在应用时不需要备份各网点的钥匙,从而提高了尾箱开锁的安全性。
上述的非惯用的可选方式所具有的进一步效果将在下文中结合具体实施方式加以说明。
附图说明
附图用于更好地理解本发明,不构成对本发明的不当限定。其中:
图1是根据本发明实施例的开锁方法的一种主要流程的示意图;
图2是根据本发明实施例的开锁方法的又一种主要流程的示意图;
图3是根据本发明实施例的开锁方法的又一种主要流程的示意图;
图4是根据本发明实施例的尾箱锁具的初始化方法的一种主要流程的示意图;
图5是根据本发明实施例的指纹钥匙的初始化方法的一种主要流程的示意图;
图6是根据本发明实施例的开锁装置的主要单元的一种示意图;
图7是根据本发明实施例的开锁装置的主要单元的又一种示意图;
图8是本发明实施例可以应用于其中的一种示例性系统架构图;
图9是适于用来实现本发明实施例的计算机系统的结构示意图。
具体实施方式
以下结合附图对本发明的示范性实施例做出说明,其中包括本发明实施例的各种细节以助于理解,应当将它们认为仅仅是示范性的。因此,本领域普通技术人员应当认识到,可以对这里描述的实施例做出各种改变和修改,而不会背离本发明的范围和精神。同样,为了清楚和简明,以下的描述中省略了对公知功能和结构的描述。
需要指出的是,在不冲突的情况下,本发明中的实施例以及实施例中的特征可以互相组合。
本发明实施例提供一种开锁系统,该系统可以用于对锁具进行动态开锁的场景。具体的,该系统可以用于银行业务中对尾箱锁具进行动态开锁的场景。
本发明实施例中,开锁系统可以包括锁具、钥匙和服务端。锁具可以与钥匙连接,在需要对锁具开锁时,可以将所要使用的钥匙与锁具连接,此时锁具与钥匙可以为物理连接,如此可以提高锁具与钥匙之间数据传输的安全性。钥匙可以与服务端连接,以便于连接锁具与服务端,使二者进行数据交互。服务端可以具体包括两部分,一部分为核心数据服务端,一部分为加密服务端。其中,核心数据服务端可以与钥匙进行数据交互,主要用于存储锁具和钥匙的标识、加密因子等信息,加密服务端可以与核心数据服务端数据交互,主要用于对数据加解密和密钥生成等等。
本发明实施例提供了一种开锁方法,该方法可由开锁系统中服务端执行,如图1所示,该方法包括:
S101:接收锁具通过钥匙发送的开锁校验请求,获取开锁校验请求中锁具标识和锁具生成的加密校验信息。
其中,锁具与钥匙连接。在需要打开锁具时,可以先将锁具与钥匙连接,以便于锁具通过连接的钥匙与服务端进行数据交互。
锁具与钥匙连接后可以生成加密校验信息,并通过钥匙将其和锁具标识发送给服务端。服务端接收开锁校验请求后,可以获取开锁校验请求中锁具标识和加密校验信息。具体的,加密校验信息可以为锁具生成的随机数通过预设的工作密钥加密后得出的。
本发明实施例中,在执行本步骤之前,为了提高锁具开锁的安全性,还可以先对钥匙进行权限校验。具体可以执行为:接收钥匙发送的开锁请求,开锁请求包括锁具标识和钥匙对应的用户身份标识;基于用户身份标识查询钥匙对应用户的权限范围,以判断权限范围是否包括锁具标识;若是,则向钥匙发送同意开锁消息,以使钥匙向锁具发送开锁指示;若否,则向钥匙发送不同意开锁消息。
钥匙与锁具连接后,可以先从锁具中获取该锁具的锁具标识,然后向服务端发送包括锁具标识和钥匙对应用户身份标识的开锁请求,以便于服务端对钥匙是否具有打开该锁具的权限进行校验。服务端接收开锁请求后,可以先基于用户身份标识查询钥匙对应用户的权限范围,进而判断锁具标识是否属于该权限范围内,即权限范围是否包括锁具标识。如果权限范围包括锁具标识,说明钥匙对应用户有权限打开该锁具,则可以向钥匙发送同意开锁消息;如果权限范围不包括锁具标识,说明钥匙对应用户没有权限打开该锁具,则可以向钥匙发送不同意开锁消息。服务端可以向钥匙发送同意开锁消息后,钥匙则可以向锁具发送开锁指示,以触发锁具执行开锁的流程,即生成开锁校验请求并执行步骤S101。
本发明实施例中,钥匙对应的用户身份标识可以基于用户输入信息识别得出,也可以为预先存储至钥匙中的,具体的,钥匙可以通过用户输入的指纹信息来获取用户身份标识。权限范围可以为用户所能打开锁具的锁具标识集合,也可以为用户所能打开锁具的等级。权限范围为用户所能打开锁具的等级时,服务端可以基于锁具标识查询出锁具等级,进而判断锁具等级是否属于用户所能打开锁具的等级,以判断出权限范围是否包括所述锁具标识。
需要说明的是,为了提高锁具与服务端之间数据传输的安全性,开锁校验请求中还可以包括用于防止数据篡改的校验值。服务端接收开锁校验请求后,可以基于校验值对开锁校验请求是否被篡改进行校验,在确定开锁校验请求未被篡改后,获取开锁校验请求中锁具标识和锁具生成的加密校验信息。
S102:基于锁具标识查询锁具的加密因子,以计算锁具的工作密钥,基于工作密钥对加密校验信息解密,进而调用预设的生成模型,基于解密结果生成开锁码。
其中,锁具的加密因子可以为锁具初始化时生成并存储的,加密因子可以用于生成锁具的工作密钥,即锁具进行数据传输时对传输数据加密所使用的密钥,也就是加密校验信息的密钥。服务端基于锁具便是可以查询出存储的锁具的加密因子,进而基于加密因子可以生成锁具的工作密钥,得出锁具的工作密钥即可对加密校验信息进行解密,进而得出解密结果。得出解密结果后,可以调用预设的生成模型,以基于解密结果生成对应的开锁码。本发明实施例中,解密结果可以为锁具生成的随机数。生成模型所使用的算法可以根据需求设置。
需要说明的是,本发明实施例中通过锁具加密因子生成锁具的工作密钥来对加密校验信息进行解密,而不是直接存储工作密钥,进一步提高数据开锁的安全性。通过锁具加密因子生成锁具的工作密钥的为预先配置的。
S103:将开锁码通过钥匙发送至锁具,以使锁具基于开锁码执行开锁认证。
其中,服务端生成开锁码后,可以将其通过钥匙发送至锁具,由于开锁码为基于加密校验信息的解密结果生成的,所以锁具可以对开锁码进行认证,进而基于认证结果执行开锁,即锁具基于所述开锁码执行开锁认证。
需要说明的是,本步骤服务端向锁具发送开锁码时,可以先通过锁具的加密工具对其进行加密,然后将加密的开锁码通过钥匙发送至锁具进行处理。
本发明实施例的一种实现方式中,锁具在初始使用时需要执行初始化的过程。具体可以执行为:接收锁具的初始化请求后,为锁具生成锁具标识;获取锁具对应的当前时间戳,生成锁具对应的随机数,结合锁具标识,生成锁具对应的工作密钥,将锁具标识、锁具对应的当前时间和随机数存储为锁具的加密因子;通过与锁具当前连接的钥匙向锁具发送工作密钥和锁具标识。
在锁具初始化时,服务端可以先为锁具生成一个全局唯一标识,即锁具标识。然后服务端可以获取锁具初始化时的当前时间戳,即锁具对应的当前时间戳,并生成一个随机数,以基于锁具标识、锁具对应的当前时间戳和随机数来生成锁具的工作密钥,所以锁具标识、锁具对应的当前时间戳和随机数即为锁具工作密钥的加密因子,服务端中可以存储该锁具的加密因子,以便后续使用。服务端为锁具生成工作密钥后,可以将其发送给锁具进行存储。由于锁具需要通过钥匙与服务端进行数据传输,所以服务端可以通过锁具初始化时连接的钥匙,即当前连接钥匙,向锁具发送其工作密钥和锁具标识。
锁具需要通过钥匙与服务端进行数据传输,为了提高数据传输的安全性,服务端在向锁具发送锁具工作密钥时,可以使用锁具当前连接钥匙的工作做密钥进行加密传输。具体的,可以执行为:获取与锁具当前连接钥匙的钥匙标识,以查询对应的加密因子,进而生成与锁具当前连接钥匙的工作密钥;基于与锁具当前连接钥匙的工作密钥,对锁具的工作密钥和锁具标识加密得到密钥密文,向与锁具当前连接钥匙发送密钥密文,以使与锁具当前连接钥匙对密钥密文解密后得出锁具的工作密钥和锁具标识并发送至锁具。
服务端在锁具初始化时,可以先获取与锁具当前连接钥匙的钥匙标识,进而基于钥匙标识查询出锁具当前连接钥匙的加密因子,进而可以生成与锁具当前连接钥匙的工作密钥。在得出与锁具当前连接钥匙的工作密钥后,可以使用其对锁具的工作密钥和锁具标识加密,从而得到密钥密文,然后将密钥密文发送给与锁具当前连接的钥匙。与锁具当前连接的钥匙接收密钥密文后,可以使用其工作密钥对加密密文进行解密,得出锁具标识和锁具的工作密钥,并发送给锁具存储。
需要说明的是,本发明实施例中锁具在开锁时所连接的钥匙和锁具在初始化时所连接的钥匙并不一定相同。
本发明实施例的又一种实现方式中,钥匙在初始使用时需要执行初始化的过程。具体可以执行为:接收钥匙的初始化请求后,为钥匙生成钥匙标识,向钥匙发送钥匙标识;接收钥匙发送的随机数,获取钥匙对应的当前时间戳,结合钥匙标识,以生成钥匙对应的工作密钥,将钥匙发送的随机数、钥匙对应的当前时间戳、钥匙标识存储为钥匙的加密因子;向钥匙发送钥匙对应的工作密钥,以使钥匙存储钥匙对应的工作密钥。
在钥匙初始化时,服务端可以先为钥匙生成一个全局唯一标识,即钥匙标识,并将钥匙标识下发给钥匙。钥匙接收钥匙标识后,可以进行存储,并生成一个随机数发送至服务端。服务端接收钥匙发送的随机数后,可以获取当前时间戳,即钥匙对应的当前时间戳,并结合钥匙标识,来生成该钥匙对应的工作密钥,所以钥匙发送的随机数、钥匙对应的当前时间戳和钥匙标识为该钥匙工作密钥的加密因子,服务端存储为钥匙的加密因子。服务端生成钥匙对应的工作密钥可以发送至钥匙,以便于其进行存储。
本发明实施例中,在钥匙初始化时,服务端可以基于钥匙所属业务类型查询该业务类型对应公私钥对中的公钥,并将公钥与钥匙标识一通发送给钥匙,以便于钥匙可以使用公钥对随机数加密,生成随机数密文。服务端接收随机数密文后可以查询钥匙对应业务类型的私钥,以对随机数密文解密,得出随机数。
需要说明的是,在钥匙生成随机数后,可以基于预设的加密模型生成通讯密钥,然后发送给服务端。服务端中在生成钥匙的工作密钥后,可以使用该通讯密钥对其进行加密,然后再发送给钥匙,以提高数据传输的安全性。
本发明实施例中,在需要打开锁具时,锁具可以通过钥匙与服务端进行交互,实现开锁校验和开锁认证的过程,进而实现对锁具的动态开锁,此过程中锁具与钥匙并不需要进行配对设置,所以与钥匙之间没有对应关系,在应用时不需要备份各网点的钥匙,从而提高了尾箱开锁的安全性。
本发明实施例提供了又一种开锁方法,该方法可由开锁系统中锁具执行,如图2所示,该方法包括:
S201:调用随机数生成模型生成随机数,查询存储的工作密钥,以对随机数加密得出加密校验信息。
锁具在需要开锁时,可以先调用随机数生成模型生成随机数,并查询出其工作密钥,以对随机数加密生成加密校验信息。
由于锁具需要与钥匙连接才可以进行开锁,所以本步骤中,锁具可以在与钥匙连接并接收到钥匙发送的开锁指令后执行。开锁指示可以为服务端确定钥匙对应用户的权限范围包括锁具标识后发送的。
S202:通过连接的钥匙向服务端发送开锁校验信息。
其中,开锁校验信息包括加密校验信息和锁具标识。锁具生成加密校验信息后,可以将其与锁具标识一起发送给服务端,以使服务端进行校验,并基于随机数来生成用于开锁认证的开锁码。
S203:通过钥匙接收服务端发送的开锁码,基于随机数和预设的认证规则对开锁码执行开锁认证。
服务端通过钥匙将开锁码发送给锁具,锁具接收开锁码后,可以基于随机数和预设的认证规则对开锁码执行开锁认证。
具体的,本发明实施例中,锁具可以配置与服务端对应的生成模型,然后调用生成模型以基于随机数来生成认证码,进而通过判断认证码和开锁码是否一致来执行开锁认证。若认证码和开锁码一致,则可以确定开锁码认证通过,可以开锁;若认证码和开锁码不一致,则确定开锁码认证不通过,不可以开锁。
S204:确定开锁码认证通过,执行开锁流程。
锁具在确定开锁码认证通过,则可以执行开锁流程,以打开锁具。
本发明实施例中,锁具在初始使用时需要通过服务端执行初始化,服务端在锁具初始化过程中为锁具生成锁具标识和工作密钥,并通过与锁具当前连接的钥匙发送给锁具。锁具接收锁具标识和工作密钥后可以进行存储,具体可以为写入设置的加密芯片中。
本发明实施例中,在需要打开锁具时,锁具可以通过钥匙与服务端进行交互,实现开锁校验和开锁认证的过程,进而实现对锁具的动态开锁,此过程中锁具与钥匙并不需要进行配对设置,所以与钥匙之间没有对应关系,在应用时不需要备份各网点的钥匙,从而提高了尾箱开锁的安全性。
本发明实施例的开锁方法可以用于银行中款箱锁具的开锁场景,其中钥匙可以具体为指纹钥匙,服务端可以包括核心数据服务端和加密服务端两部分。在此场景下,结合图1和图2所示实施例,本发明实施例中开锁方法进行具体说明。如图3所示,该方法包括:
S301:指纹钥匙确定对应用户的用户身份标识。
其中,在需要对尾箱开锁时,指纹钥匙可以与尾箱锁具连接。志文要是还可以通过指纹识别来确定对应用户的用户身份标识。
S302:指纹钥匙获取锁具标识。
其中,指纹钥匙与尾箱锁具连接,所以可以从尾箱锁具中获取锁具标识。
S303:指纹钥匙向核心数据服务端发送用户身份标识和锁具标识。
其中,指纹钥匙获取锁具标识后,可以将用户身份标识和锁具标识发送给核心数据服务端。
S304:核心数据服务端确定指纹钥匙对应用户的权限范围包括锁具标识,向指纹钥匙发送同意开锁消息。
核心数据服务端接收指纹钥匙发送的用户身份标识和锁具标识后,可以先基于用户身份标识查询指纹钥匙对应用户的权限范围,并判断指纹钥匙对应用户的权限范围是否包括锁具标识。本发明实施例以指纹钥匙对应用户的权限范围包括锁具标识为例进行说明,则核心数据服务端确定指纹钥匙对应用户的权限范围包括锁具标识后,可以向指纹钥匙发送同意开锁消息。
S305:指纹钥匙向尾箱锁具发送开锁指令。
其中,指纹钥匙接收同意开锁消息后可以向尾箱锁具发送开锁指令。
S306:尾箱锁具生成随机数,并通过工作密钥加密得出加密校验信息。
尾箱锁具接收开锁指令后,可以执行步骤S210,即生成随机数,并通过工作密钥加密得出加密校验信息。
S307:尾箱锁具通过指纹钥匙向核心数据服务端发送开锁校验请求。
开锁校验请求包括加密校验信息和锁具标识。
S308:核心数据服务端获取锁具标识,查询尾箱锁具的加密因子,将尾箱锁具的加密因子和加密校验信息发送至加密服务端。
其中,核心数据服务端接收开锁校验请求后,可以获取其中锁具标识,并查询出尾箱锁具的加密因子,以将尾箱锁具的加密因子和加密校验信息发送至加密服务端。
S309:加密服务端计算尾箱锁具的工作密钥,以对加密校验信息解密得出随机数,调用生成模型生成开锁码。
加密服务端可以基于尾箱锁具的加密因子计算尾箱锁具的工作密钥,进而对加密校验信息解密得出随机数,并调用生成模型,基于随机数生成开锁码。
S310:将开锁码通过核心数据服务端和指纹钥匙发送至尾箱锁具。
加密服务端可以将开锁码发送至核心数据服务端,核心数据服务端可以查询指纹钥匙的加密因子,然后生成指纹钥匙的工作密钥,以对开锁码加密后发送至指纹密钥。指纹密钥接收加密的开锁码后对其进行解密,并将解密的开锁码发送给尾箱锁具。
S311:尾箱锁具基于开锁码执行开锁认证,并在确定开锁码认证通过后执行开锁流程。
尾箱锁具接收开锁码后可以执行步骤S203和步骤S204。
需要说明的是,本发明实施例中上述数据处理原理与图1和图2所示实施例中对应数据处理原理相同,在此不再赘述。
本发明实施例中,在需要打开尾箱锁具时,尾箱锁具可以通过指纹钥匙与服务端进行交互,实现开锁校验和开锁认证的过程,进而实现对尾箱锁具的动态开锁,此过程中尾箱锁具与指纹钥匙并不需要进行配对设置,所以其与指纹钥匙之间没有对应关系,在应用时不需要备份各网点的指纹钥匙,从而提高了尾箱开锁的安全性。
本发明实施例的开锁方法可以用于银行中款箱锁具的开锁场景,其中钥匙可以具体为指纹钥匙,服务端可以包括核心数据服务端和加密服务端两部分。在此场景下,结合图1和图2所示实施例,本发明实施例中尾箱锁具的初始化方法进行具体说明。如图4所示,该方法包括:
S401:核心数据服务端生成锁具标识。
其中,核心数据服务端可以在接收锁具初始化请求后执行本步骤。
S402:核心数据服务端获取指纹钥匙的钥匙标识,查询指纹钥匙对应的加密因子,获取当前时间戳。
其中,指纹钥匙为当前与尾箱锁具连接的指纹钥匙,以图3所示实施例中指纹钥匙并不一定相同。
需要说明的是,核心数据服务端中可以在指纹钥匙初始化时存储其对应的加密因子。
S403:核心数据服务端将指纹钥匙对应的加密因子、当前时间戳和锁具标识发送至加密服务端。
S404:加密服务端生成随机数,并结合锁具标识和当前时间戳生成尾箱锁具的工作密钥。
S405:加密服务端生成指纹钥匙的工作密钥,以对尾箱锁具的工作密钥和锁具标识加密。
S406:加密服务端将加密后尾箱锁具的工作密钥和锁具标识,通过核心数据服务端发送至指纹钥匙。
S407:指纹钥匙对尾箱锁具的工作密钥和锁具标识解密,并发送至尾箱密钥。
S408:尾箱密钥存储工作密钥和锁具标识。
本发明实施例中上述数据处理原理与图1和图2所示实施例中对应数据处理原理相同,在此不再赘述。
本发明实施例中,尾箱锁具初始化后,其并未与指纹钥匙进行配对,所以其与指纹钥匙之间没有对应关系,在应用时不需要备份各网点的指纹钥匙,从而提高了尾箱开锁的安全性。
本发明实施例的开锁方法可以用于银行中款箱锁具的开锁场景,其中钥匙可以具体为指纹钥匙,服务端可以包括核心数据服务端和加密服务端两部分。在此场景下,结合图1和图2所示实施例,本发明实施例中指纹钥匙的初始化方法进行具体说明。如图5所示,该方法包括:
S501:核心数据服务端从加密服务端查询指纹钥匙对应的公钥。
核心数据段可以在接收指纹钥匙初始化请求执行本步骤。指纹钥匙对应的公钥为预先存储,标识指纹钥匙所属业务类型对应公私钥对中的公钥。
S502:核心数据服务端生成指纹钥匙的钥匙标识,将钥匙标识和公钥发送至指纹钥匙。
S503:指纹钥匙生成随机数,基于公钥加密得出加密后的随机数,并基于随机数生成通讯密钥。
S504:指纹钥匙向核心数据服务端发送通讯密钥和加密后的随机数。
S505:核心数据服务端获取当前时间戳,将当前时间戳、钥匙标识、加密后的随机数和通讯密钥发送至加密服务端。
S506:加密服务端对加密的随机数解密,并基于当前时间戳、钥匙标识和随机数生成指纹钥匙的工作密钥。
加密服务端通过与公钥对应的私钥对加密的随机数解密。
S507:加密服务端通过通讯密钥对指纹钥匙的工作密钥加密,将随机数和加密的工作密钥发送至核心数据服务端。
S508:核心数据服务端存储随机数,将加密的工作密钥发送至指纹钥匙。
核心服务端可以生成一条指纹钥匙对应的存储记录,以存储指纹钥匙的钥匙标识、随机数和当前时间戳,即加密因子。
S509:指纹钥匙存储工作密钥。
指纹钥匙接收加密的工作密钥,可以解密得出工作密钥,并进行存储,具体的可以将工作密钥写入加密芯片中。
本发明实施例中上述数据处理原理与图1和图2所示实施例中对应数据处理原理相同,在此不再赘述。
本发明实施例中,指纹钥匙初始化后,其并未与尾箱锁具进行配对,所以其与尾箱锁具之间没有对应关系,在应用时不需要备份各网点的指纹钥匙,从而提高了尾箱开锁的安全性。
为了解决现有技术存在的问题,本发明实施例提供了一种开锁装置600,设置于服务端,如图6所示,该装置600包括:
接收单元601,用于接收锁具通过钥匙发送的开锁校验请求,获取所述开锁校验请求中锁具标识和所述锁具生成的加密校验信息,所述锁具与所述钥匙连接;
生成单元602,用于基于所述锁具标识查询所述锁具的加密因子,以计算所述锁具的工作密钥,基于所述工作密钥对所述加密校验信息解密,进而调用预设的生成模型,基于解密结果生成开锁码;
发送单元603,用于将所述开锁码通过所述钥匙发送至所述锁具,以使所述锁具基于所述开锁码执行开锁认证。
应理解的是,实施本发明实施例的方式与实施图1所示实施例的方式相同,在此不再赘述。
本发明实施例的一种实现方式中,所述接收单元601还用于接收所述钥匙发送的开锁请求,所述开锁请求包括所述锁具标识和所述钥匙对应的用户身份标识;
所述装置600还包括:
判断单元,用于基于所述用户身份标识查询所述钥匙对应用户的权限范围,以判断所述权限范围是否包括所述锁具标识;
所述发送单元603,还用于若是,则向所述钥匙发送同意开锁消息,以使所述钥匙向所述锁具发送开锁指示;若否,则向所述钥匙发送不同意开锁消息。
本发明实施例的又一种实现方式中,所述接收单元601还用于接收所述锁具的初始化请求后,为所述锁具生成锁具标识;
所述生成单元602,还用于获取所述锁具对应的当前时间戳,生成所述锁具对应的随机数,结合所述锁具标识,生成所述锁具对应的工作密钥,将所述锁具标识、所述锁具对应的当前时间和随机数存储为所述锁具的加密因子;
所述发送单元603,还用于通过与所述锁具当前连接的钥匙向所述锁具发送所述工作密钥和所述锁具标识。
本发明实施例的又一种实现方式中,所述发送单元603,具体用于:
获取与所述锁具当前连接钥匙的钥匙标识,以查询对应的加密因子,进而生成与所述锁具当前连接钥匙的工作密钥;
基于与所述锁具当前连接钥匙的工作密钥,对所述锁具的工作密钥和所述锁具标识加密得到密钥密文,向与所述锁具当前连接钥匙发送所述密钥密文,以使与所述锁具当前连接钥匙对所述密钥密文解密后得出所述锁具的工作密钥和锁具标识并发送至所述锁具。
本发明实施例的又一种实现方式中,所述发送单元601,还用于接收所述钥匙的初始化请求后,为所述钥匙生成钥匙标识,向所述钥匙发送所述钥匙标识;
所述生成单元602,还用于接收所述钥匙发送的随机数,获取所述钥匙对应的当前时间戳,结合所述钥匙标识,以生成所述钥匙对应的工作密钥,将所述钥匙发送的随机数、所述钥匙对应的当前时间戳、所述钥匙标识存储为所述钥匙的加密因子;
所述发送单元603,还用于向所述钥匙发送所述钥匙对应的工作密钥,以使所述钥匙存储所述钥匙对应的工作密钥。
本发明实施例的又一种实现方式中,所述发送单元603,具体用于查询所述钥匙对应业务类型的公钥,向所述钥匙发送所述钥匙标识和所述公钥;
所述接收单元601,具体用于:
接收所述钥匙发送的随机数密文,所述随机数密文为所述钥匙通过所述随机数和所述公钥生成的;
查询所述钥匙对应业务类型的私钥,以对所述随机数密文解密,得出所述随机数。
应理解的是,实施本发明实施例的方式与实施图1、图3、图4、图5所示实施例的方式相同,在此不再赘述。
本发明实施例中,在需要打开锁具时,锁具可以通过钥匙与服务端进行交互,实现开锁校验和开锁认证的过程,进而实现对锁具的动态开锁,此过程中锁具与钥匙并不需要进行配对设置,所以其与钥匙之间没有对应关系,在应用时不需要备份各网点的钥匙,从而提高了尾箱开锁的安全性。
为了解决现有技术存在的问题,本发明实施例提供了一种开锁装置700,设置于锁具,如图7所示,该装置700包括:
加密单元701,用于调用随机数生成模型生成随机数,查询存储的工作密钥,以对所述随机数加密得出加密校验信息;
发送单元702,用于通过连接的钥匙向服务端发送所述开锁校验信息,所述开锁校验信息包括所述加密校验信息和锁具标识;
认证单元703,用于通过所述钥匙接收所述服务端发送的开锁码,基于所述随机数和预设的认证规则对所述开锁码执行开锁认证;
开锁单元704,用于确定所述开锁码认证通过,执行开锁流程。
应理解的是,实施本发明实施例的方式与实施图2所示实施例的方式相同,在此不再赘述。
本发明实施例的一种实现方式中,所述认证单元703,具体用于:
调用预设的生成模型,基于所述随机数生成认证码;
判断所述认证码与所述开锁码是否一致;
若是,则确定所述开锁码认证通过;若否,则确定所述开锁码认证不通过。
本发明实施例的又一种实现方式中,所述装置700包括:
接收单元,用于接收所述服务端通过所述钥匙发送的开锁指示,其中,所述开锁指示为所述服务端确定所述钥匙对应用户的权限范围包括所述锁具标识后发送的。
应理解的是,实施本发明实施例的方式与实施图2、图3、图4、图5所示实施例的方式相同,在此不再赘述。
本发明实施例中,在需要打开锁具时,锁具可以通过钥匙与服务端进行交互,实现开锁校验和开锁认证的过程,进而实现对锁具的动态开锁,此过程中锁具与钥匙并不需要进行配对设置,所以其与钥匙之间没有对应关系,在应用时不需要备份各网点的钥匙,从而提高了尾箱开锁的安全性。
根据本发明的实施例,本发明实施例还提供了一种电子设备和一种可读存储介质。
本发明实施例的电子设备包括:至少一个处理器;以及,与所述至少一个处理器通信连接的存储器;其中,所述存储器存储有可被所述一个处理器执行的指令,所述指令被所述至少一个处理器执行,以使所述至少一个处理器执行本发明实施例所提供的开锁方法。
图8示出了可以应用本发明实施例的开锁方法或开锁装置的示例性系统架构800。
如图8所示,系统架构800可以包括终端设备801、802、803,网络804和服务器805。网络804用以在终端设备801、802、803和服务器805之间提供通信链路的介质。网络804可以包括各种连接类型,例如有线、无线通信链路或者光纤电缆等等。
用户可以使用终端设备801、802、803通过网络804与服务器805交互,以接收或发送消息等。终端设备801、802、803上可以安装有各种客户端应用。
终端设备801、802、803可以是但不限于智能手机、平板电脑、膝上型便携计算机和台式计算机等等,具体可以为锁具或钥匙。
服务器805可以是提供各种服务的服务器,服务器可以对接收到的开锁校验请求等数据进行分析等处理,并将处理结果(例如开锁码--仅为示例)反馈给终端设备。
需要说明的是,本发明实施例所提供的开锁方法一般由服务器805执行,相应地,开锁装置一般设置于服务器805中。
应该理解,图8中的终端设备、网络和服务器的数目仅仅是示意性的。根据实现需要,可以具有任意数目的终端设备、网络和服务器。
下面参考图9,其示出了适于用来实现本发明实施例的计算机系统900的结构示意图。图9示出的计算机系统仅仅是一个示例,不应对本发明实施例的功能和使用范围带来任何限制。
如图9所示,计算机系统900包括中央处理单元(CPU)901,其可以根据存储在只读存储器(ROM)902中的程序或者从存储部分908加载到随机访问存储器(RAM)903中的程序而执行各种适当的动作和处理。在RAM 903中,还存储有系统900操作所需的各种程序和数据。CPU 901、ROM 902以及RAM 903通过总线904彼此相连。输入/输出(I/O)接口905也连接至总线904。
以下部件连接至I/O接口905:包括键盘、鼠标等的输入部分906;包括诸如阴极射线管(CRT)、液晶显示器(LCD)等以及扬声器等的输出部分907;包括硬盘等的存储部分908;以及包括诸如LAN卡、调制解调器等的网络接口卡的通信部分909。通信部分909经由诸如因特网的网络执行通信处理。驱动器910也根据需要连接至I/O接口905。可拆卸介质911,诸如磁盘、光盘、磁光盘、半导体存储器等等,根据需要安装在驱动器910上,以便于从其上读出的计算机程序根据需要被安装入存储部分908。
特别地,根据本发明公开的实施例,上文参考流程图描述的过程可以被实现为计算机软件程序。例如,本发明公开的实施例包括一种计算机程序产品,其包括承载在计算机可读介质上的计算机程序,该计算机程序包含用于执行流程图所示的方法的程序代码。在这样的实施例中,该计算机程序可以通过通信部分909从网络上被下载和安装,和/或从可拆卸介质911被安装。在该计算机程序被中央处理单元(CPU)901执行时,执行本发明的系统中限定的上述功能。
需要说明的是,本发明所示的计算机可读介质可以是计算机可读信号介质或者计算机可读存储介质或者是上述两者的任意组合。计算机可读存储介质例如可以是——但不限于——电、磁、光、电磁、红外线、或半导体的系统、装置或器件,或者任意以上的组合。计算机可读存储介质的更具体的例子可以包括但不限于:具有一个或多个导线的电连接、便携式计算机磁盘、硬盘、随机访问存储器(RAM)、只读存储器(ROM)、可擦式可编程只读存储器(EPROM或闪存)、光纤、便携式紧凑磁盘只读存储器(CD-ROM)、光存储器件、磁存储器件、或者上述的任意合适的组合。在本发明中,计算机可读存储介质可以是任何包含或存储程序的有形介质,该程序可以被指令执行系统、装置或者器件使用或者与其结合使用。而在本发明中,计算机可读的信号介质可以包括在基带中或者作为载波一部分传播的数据信号,其中承载了计算机可读的程序代码。这种传播的数据信号可以采用多种形式,包括但不限于电磁信号、光信号或上述的任意合适的组合。计算机可读的信号介质还可以是计算机可读存储介质以外的任何计算机可读介质,该计算机可读介质可以发送、传播或者传输用于由指令执行系统、装置或者器件使用或者与其结合使用的程序。计算机可读介质上包含的程序代码可以用任何适当的介质传输,包括但不限于:无线、电线、光缆、RF等等,或者上述的任意合适的组合。
附图中的流程图和框图,图示了按照本发明各种实施例的系统、方法和计算机程序产品的可能实现的体系架构、功能和操作。在这点上,流程图或框图中的每个方框可以代表一个单元、程序段、或代码的一部分,上述单元、程序段、或代码的一部分包含一个或多个用于实现规定的逻辑功能的可执行指令。也应当注意,在有些作为替换的实现中,方框中所标注的功能也可以以不同于附图中所标注的顺序发生。例如,两个接连地表示的方框实际上可以基本并行地执行,它们有时也可以按相反的顺序执行,这依所涉及的功能而定。也要注意的是,框图或流程图中的每个方框、以及框图或流程图中的方框的组合,可以用执行规定的功能或操作的专用的基于硬件的系统来实现,或者可以用专用硬件与计算机指令的组合来实现。
描述于本发明实施例中所涉及到的单元可以通过软件的方式实现,也可以通过硬件的方式来实现。所描述的单元也可以设置在处理器中,例如,可以描述为:一种处理器包括接收单元、生成单元和发送单元。其中,这些单元的名称在某种情况下并不构成对该单元本身的限定,例如,接收单元还可以被描述为“接收单元的功能的单元”。
作为另一方面,本发明还提供了一种计算机可读介质,该计算机可读介质可以是上述实施例中描述的设备中所包含的;也可以是单独存在,而未装配入该设备中。上述计算机可读介质承载有一个或者多个程序,当上述一个或者多个程序被一个该设备执行时,使得该设备执行本发明所提供的开锁方法。
上述具体实施方式,并不构成对本发明保护范围的限制。本领域技术人员应该明白的是,取决于设计要求和其他因素,可以发生各种各样的修改、组合、子组合和替代。任何在本发明的精神和原则之内所作的修改、等同替换和改进等,均应包含在本发明保护范围之内。
Claims (10)
1.一种开锁方法,其特征在于,用于服务端,所述服务端包括核心数据服务端和加密服务端,包括:
核心数据服务端接收指纹钥匙发送的用户身份标识和锁具标识,其中,在需要对尾箱开锁时,指纹钥匙与尾箱锁具连接,通过指纹识别来确定对应用户的用户身份标识,以及指纹钥匙从尾箱锁具中获取锁具标识;
核心数据服务端确定指纹钥匙对应用户的权限范围包括锁具标识,向指纹钥匙发送同意开锁消息,以使指纹钥匙向尾箱锁具发送开锁指令,进而尾箱锁具生成随机数,并通过工作密钥加密得出加密校验信息;
核心数据服务端接收尾箱锁具通过指纹钥匙发送的开锁校验请求,其中,开锁校验请求包括加密校验信息和锁具标识;
核心数据服务端获取锁具标识,查询尾箱锁具的加密因子,将尾箱锁具的加密因子和加密校验信息发送至加密服务端;
加密服务端计算尾箱锁具的工作密钥,以对加密校验信息解密得出随机数,调用生成模型以基于该随机数生成开锁码,并将开锁码通过核心数据服务端和指纹钥匙发送至尾箱锁具,以使尾箱锁具基于开锁码执行开锁认证,并在确定开锁码认证通过后执行开锁流程;
其中,指纹钥匙的初始化方法,还包括:
核心数据服务端从加密服务端查询指纹钥匙对应的公钥;
核心数据服务端生成指纹钥匙的钥匙标识,将钥匙标识和公钥发送至指纹钥匙,以使指纹钥匙生成随机数,基于公钥加密得出加密后的随机数,并基于随机数生成通讯密钥,并向核心数据服务端发送通讯密钥和加密后的随机数;
核心数据服务端获取当前时间戳,将当前时间戳、钥匙标识、加密后的随机数和通讯密钥发送至加密服务端;
加密服务端对加密的随机数解密,并基于当前时间戳、钥匙标识和随机数生成指纹钥匙的工作密钥;
加密服务端通过通讯密钥对指纹钥匙的工作密钥加密,将随机数和加密的工作密钥发送至核心数据服务端;
核心数据服务端存储随机数,将加密的工作密钥发送至指纹钥匙,以使指纹钥匙存储工作密钥。
2.根据权利要求1所述的方法,其特征在于,所述接收开锁校验请求之前,还包括:
核心数据服务端接收所述锁具的初始化请求后,为所述锁具生成锁具标识;
核心数据服务端获取指纹钥匙的钥匙标识,查询指纹钥匙对应的加密因子,获取当前时间戳;
核心数据服务端将指纹钥匙对应的加密因子、当前时间戳和锁具标识发送至加密服务端;
加密服务端生成随机数,并结合锁具标识和当前时间戳生成锁具的工作密钥;
加密服务端生成指纹钥匙的工作密钥,以对锁具的工作密钥和锁具标识加密;
加密服务端将加密后锁具的工作密钥和锁具标识,通过核心数据服务端发送至指纹钥匙,以使指纹钥匙对锁具的工作密钥和锁具标识解密后发送至锁具存储。
3.一种开锁方法,其特征在于,设置于尾箱锁具,包括:
在需要对尾箱开锁时,尾箱锁具与指纹钥匙连接,以使指纹钥匙通过指纹识别来确定对应用户的用户身份标识,以及从尾箱锁具中获取锁具标识,并发送至核心数据服务端,进而核心数据服务端确定指纹钥匙对应用户的权限范围包括锁具标识后,向指纹钥匙发送同意开锁消息;
接收指纹钥匙发送的同意开锁消息,调用随机数生成模型生成随机数,查询存储的工作密钥,以对所述随机数加密得出加密校验信息,所述工作密钥为所述服务端在所述锁具初始化时的随机数、当前时间戳和所述锁具标识生成;
通过连接的钥匙向核心数据服务端发送所述开锁校验信息,所述开锁校验信息包括所述加密校验信息和锁具标识,使所述核心数据服务端获取锁具标识,查询尾箱锁具的加密因子,将尾箱锁具的加密因子和加密校验信息发送至加密服务端,进而加密服务端计算尾箱锁具的工作密钥,以对加密校验信息解密得出随机数,调用生成模型以基于所述随机数生成开锁码,并通过核心数据服务端和指纹钥匙发送至尾箱锁具,其中,所述钥匙为指纹钥匙;
通过所述指纹钥匙接收所述开锁码,基于所述随机数和预设的认证规则对所述开锁码执行开锁认证;
确定所述开锁码认证通过,执行开锁流程;
其中,指纹钥匙初始化方法包括:核心数据服务端从加密服务端查询指纹钥匙对应的公钥,生成指纹钥匙的钥匙标识,将钥匙标识和公钥发送至指纹钥匙,以使指纹钥匙生成随机数,基于公钥加密得出加密后的随机数,并基于随机数生成通讯密钥,并向核心数据服务端发送通讯密钥和加密后的随机数;在核心数据服务端获取当前时间戳后,将当前时间戳、钥匙标识、加密后的随机数和通讯密钥发送至加密服务端;使加密服务端对加密的随机数解密,并基于当前时间戳、钥匙标识和随机数生成指纹钥匙的工作密钥,并通过通讯密钥对指纹钥匙的工作密钥加密,将随机数和加密的工作密钥发送至核心数据服务端,以及核心数据服务端存储随机数,将加密的工作密钥发送至指纹钥匙,以使指纹钥匙存储工作密钥。
4.根据权利要求3所述的方法,其特征在于,所述基于所述随机数和预设的认证规则对所述开锁码执行开锁认证,包括:
调用预设的生成模型,基于所述随机数生成认证码;
判断所述认证码与所述开锁码是否一致;
若是,则确定所述开锁码认证通过;若否,则确定所述开锁码认证不通过。
5.一种开锁装置,其特征在于,设置于服务端,所述服务端包括核心数据服务端和加密服务端,包括:
所述核心数据服务端,用于接收指纹钥匙发送的用户身份标识和锁具标识,其中,在需要对尾箱开锁时,指纹钥匙与尾箱锁具连接,通过指纹识别来确定对应用户的用户身份标识,以及指纹钥匙从尾箱锁具中获取锁具标识;
所述核心数据服务端,还用于确定指纹钥匙对应用户的权限范围包括锁具标识,向指纹钥匙发送同意开锁消息,以使指纹钥匙向尾箱锁具发送开锁指令,进而尾箱锁具生成随机数,并通过工作密钥加密得出加密校验信息;
所述核心数据服务端,还用于接收尾箱锁具通过指纹钥匙发送的开锁校验请求,其中,开锁校验请求包括加密校验信息和锁具标识;
所述核心数据服务端,还用于获取锁具标识,查询尾箱锁具的加密因子,将尾箱锁具的加密因子和加密校验信息发送至加密服务端;
所述加密服务端,用于计算尾箱锁具的工作密钥,以对加密校验信息解密得出随机数,调用生成模型以基于该随机数生成开锁码,并将开锁码通过核心数据服务端和指纹钥匙发送至尾箱锁具,以使尾箱锁具基于开锁码执行开锁认证,并在确定开锁码认证通过后执行开锁流程;
所述核心数据服务端还用于:从加密服务端查询指纹钥匙对应的公钥,生成指纹钥匙的钥匙标识,将钥匙标识和公钥发送至指纹钥匙,以使指纹钥匙生成随机数,基于公钥加密得出加密后的随机数,并基于随机数生成通讯密钥,并向核心数据服务端发送通讯密钥和加密后的随机数;获取当前时间戳,将当前时间戳、钥匙标识、加密后的随机数和通讯密钥发送至加密服务端;
所述加密服务端还用于:对加密的随机数解密,并基于当前时间戳、钥匙标识和随机数生成指纹钥匙的工作密钥;通过通讯密钥对指纹钥匙的工作密钥加密,将随机数和加密的工作密钥发送至核心数据服务端;
所述核心数据服务端还用于:存储随机数,将加密的工作密钥发送至指纹钥匙,以使指纹钥匙存储工作密钥。
6.根据权利要求5所述的装置,其特征在于,所述核心数据服务端还用于:接收所述锁具的初始化请求后,为所述锁具生成锁具标识;获取指纹钥匙的钥匙标识,查询指纹钥匙对应的加密因子,获取当前时间戳;将指纹钥匙对应的加密因子、当前时间戳和锁具标识发送至加密服务端;
所述加密服务端还用于:生成随机数,并结合锁具标识和当前时间戳生成锁具的工作密钥;生成指纹钥匙的工作密钥,以对锁具的工作密钥和锁具标识加密;将加密后锁具的工作密钥和锁具标识,通过核心数据服务端发送至指纹钥匙,以使指纹钥匙对锁具的工作密钥和锁具标识解密后发送至锁具存储。
7.一种开锁装置,其特征在于,设置于尾箱锁具,包括:
在需要对尾箱开锁时,所述尾箱锁具,用于与指纹钥匙连接,以使指纹钥匙通过指纹识别来确定对应用户的用户身份标识,以及指纹钥匙从尾箱锁具中获取锁具标识,并发送至核心数据服务端,进而核心数据服务端确定指纹钥匙对应用户的权限范围包括锁具标识后,向指纹钥匙发送同意开锁消息;
所述尾箱锁具,还用于接收指纹钥匙发送的同意开锁消息,调用随机数生成模型生成随机数,查询存储的工作密钥,以对所述随机数加密得出加密校验信息,所述工作密钥为所述服务端在所述锁具初始化时的随机数、当前时间戳和所述锁具标识生成;通过连接的指纹钥匙向核心数据服务端发送所述开锁校验信息,所述开锁校验信息包括所述加密校验信息和锁具标识,使所述核心数据服务端获取锁具标识,查询尾箱锁具的加密因子,将尾箱锁具的加密因子和加密校验信息发送至加密服务端,进而加密服务端计算尾箱锁具的工作密钥,以对加密校验信息解密得出随机数,调用生成模型以基于所述随机数生成开锁码,并通过核心数据服务端和指纹钥匙发送至尾箱锁具;通过所述指纹钥匙接收所述核心数据服务端发送的开锁码,基于所述随机数和预设的认证规则对所述开锁码执行开锁认证;确定所述开锁码认证通过,执行开锁流程;
其中,核心数据服务端还用于从加密服务端查询指纹钥匙对应的公钥,生成指纹钥匙的钥匙标识,将钥匙标识和公钥发送至指纹钥匙,以使指纹钥匙生成随机数,基于公钥加密得出加密后的随机数,并基于随机数生成通讯密钥,并向核心数据服务端发送通讯密钥和加密后的随机数;在核心数据服务端获取当前时间戳后,将当前时间戳、钥匙标识、加密后的随机数和通讯密钥发送至加密服务端;使加密服务端对加密的随机数解密,并基于当前时间戳、钥匙标识和随机数生成指纹钥匙的工作密钥,并通过通讯密钥对指纹钥匙的工作密钥加密,将随机数和加密的工作密钥发送至核心数据服务端,以及核心数据服务端用于存储随机数,将加密的工作密钥发送至指纹钥匙,以使指纹钥匙存储工作密钥。
8.根据权利要求7所述的装置,其特征在于,所述基于所述随机数和预设的认证规则对所述开锁码执行开锁认证,包括于:
调用预设的生成模型,基于所述随机数生成认证码;
判断所述认证码与所述开锁码是否一致;
若是,则确定所述开锁码认证通过;若否,则确定所述开锁码认证不通过。
9.一种电子设备,其特征在于,包括:
一个或多个处理器;
存储装置,用于存储一个或多个程序,
当所述一个或多个程序被所述一个或多个处理器执行,使得所述一个或多个处理器实现如权利要求1-4中任一所述的方法。
10.一种计算机可读介质,其上存储有计算机程序,其特征在于,所述程序被处理器执行时实现如权利要求1-4中任一所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110954123.9A CN113674456B (zh) | 2021-08-19 | 2021-08-19 | 开锁方法、装置、电子设备和存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110954123.9A CN113674456B (zh) | 2021-08-19 | 2021-08-19 | 开锁方法、装置、电子设备和存储介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN113674456A CN113674456A (zh) | 2021-11-19 |
CN113674456B true CN113674456B (zh) | 2023-09-22 |
Family
ID=78543881
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202110954123.9A Active CN113674456B (zh) | 2021-08-19 | 2021-08-19 | 开锁方法、装置、电子设备和存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN113674456B (zh) |
Families Citing this family (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN114120496A (zh) * | 2021-12-01 | 2022-03-01 | 中国建设银行股份有限公司 | 用于开锁控制的方法、服务器、加密组件及装置 |
CN114170709A (zh) * | 2021-12-07 | 2022-03-11 | 中国建设银行股份有限公司 | 基于物联网的款箱管理方法和系统 |
CN114255532B (zh) * | 2021-12-17 | 2024-07-16 | 中国建设银行股份有限公司 | 款箱管理方法、装置、电子设备及存储介质 |
CN114120499B (zh) * | 2022-01-28 | 2022-05-17 | 浙江力嘉电子科技有限公司 | 基于动态加密的送检设备开锁方法和电子设备 |
Citations (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
EP2043055A1 (en) * | 2007-09-28 | 2009-04-01 | iLoq Oy | Lock administration system |
CN103971435A (zh) * | 2014-05-22 | 2014-08-06 | 广东欧珀移动通信有限公司 | 开锁方法、服务器、移动终端、电子锁及开锁系统 |
CN203891603U (zh) * | 2014-03-24 | 2014-10-22 | 李仕平 | 双向通讯密码锁 |
CN107578511A (zh) * | 2017-09-15 | 2018-01-12 | 林海航 | 一种智能锁及其智能钥匙 |
WO2018014854A1 (zh) * | 2016-07-20 | 2018-01-25 | 腾讯科技(深圳)有限公司 | 一种数据处理的方法、设备及系统 |
WO2018076365A1 (zh) * | 2016-10-31 | 2018-05-03 | 美的智慧家居科技有限公司 | 密钥协商方法及装置 |
CN109905235A (zh) * | 2017-12-08 | 2019-06-18 | 北京邮电大学 | 一种智能锁解锁方法、智能锁、终端、服务器及系统 |
CN110149209A (zh) * | 2019-04-15 | 2019-08-20 | 深圳奇迹智慧网络有限公司 | 物联网设备及其提高数据传输安全性的方法和装置 |
CN110473318A (zh) * | 2019-06-28 | 2019-11-19 | 阿里巴巴集团控股有限公司 | 解锁方法、实现解锁的设备及计算机可读介质 |
CN113205620A (zh) * | 2021-03-26 | 2021-08-03 | 珠海汇金科技股份有限公司 | 一种开锁方法以及相关设备 |
-
2021
- 2021-08-19 CN CN202110954123.9A patent/CN113674456B/zh active Active
Patent Citations (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
EP2043055A1 (en) * | 2007-09-28 | 2009-04-01 | iLoq Oy | Lock administration system |
CN203891603U (zh) * | 2014-03-24 | 2014-10-22 | 李仕平 | 双向通讯密码锁 |
CN103971435A (zh) * | 2014-05-22 | 2014-08-06 | 广东欧珀移动通信有限公司 | 开锁方法、服务器、移动终端、电子锁及开锁系统 |
WO2018014854A1 (zh) * | 2016-07-20 | 2018-01-25 | 腾讯科技(深圳)有限公司 | 一种数据处理的方法、设备及系统 |
WO2018076365A1 (zh) * | 2016-10-31 | 2018-05-03 | 美的智慧家居科技有限公司 | 密钥协商方法及装置 |
CN107578511A (zh) * | 2017-09-15 | 2018-01-12 | 林海航 | 一种智能锁及其智能钥匙 |
CN109905235A (zh) * | 2017-12-08 | 2019-06-18 | 北京邮电大学 | 一种智能锁解锁方法、智能锁、终端、服务器及系统 |
CN110149209A (zh) * | 2019-04-15 | 2019-08-20 | 深圳奇迹智慧网络有限公司 | 物联网设备及其提高数据传输安全性的方法和装置 |
CN110473318A (zh) * | 2019-06-28 | 2019-11-19 | 阿里巴巴集团控股有限公司 | 解锁方法、实现解锁的设备及计算机可读介质 |
CN113205620A (zh) * | 2021-03-26 | 2021-08-03 | 珠海汇金科技股份有限公司 | 一种开锁方法以及相关设备 |
Also Published As
Publication number | Publication date |
---|---|
CN113674456A (zh) | 2021-11-19 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN113674456B (zh) | 开锁方法、装置、电子设备和存储介质 | |
CN114726643B (zh) | 云平台上的数据存储、访问方法及装置 | |
US11930103B2 (en) | Method, user device, management device, storage medium and computer program product for key management | |
CN110519309B (zh) | 数据传输方法、装置、终端、服务器及存储介质 | |
US8495383B2 (en) | Method for the secure storing of program state data in an electronic device | |
US9374360B2 (en) | System and method for single-sign-on in virtual desktop infrastructure environment | |
US20230368194A1 (en) | Encryption method and decryption method for payment key, payment authentication method, and terminal device | |
CN110611657A (zh) | 一种基于区块链的文件流处理的方法、装置及系统 | |
CN110690956B (zh) | 双向认证方法及系统、服务器和终端 | |
CN114024710A (zh) | 一种数据传输方法、装置、系统及设备 | |
US11831753B2 (en) | Secure distributed key management system | |
CN107104795B (zh) | Rsa密钥对和证书的注入方法、架构及系统 | |
CN108199847B (zh) | 数字安全处理方法、计算机设备及存储介质 | |
CN108319857B (zh) | 可信应用的加解锁方法和系统 | |
CN111654503A (zh) | 一种远程管控方法、装置、设备及存储介质 | |
CN116244750A (zh) | 一种涉密信息维护方法、装置、设备及存储介质 | |
CN114154181A (zh) | 基于分布式存储的隐私计算方法 | |
CN109949457B (zh) | 智能门锁控制方法及相关装置 | |
CN116599719A (zh) | 一种用户登录认证方法、装置、设备、存储介质 | |
CN109768969B (zh) | 权限控制方法及物联网终端、电子设备 | |
CN114584355B (zh) | 一种用于数字货币交易的安全认证方法、装置和系统 | |
US11463251B2 (en) | Method for secure management of secrets in a hierarchical multi-tenant environment | |
CN110602075A (zh) | 一种加密访问控制的文件流处理的方法、装置及系统 | |
CN115549930A (zh) | 登录操作系统的验证方法 | |
CN114357472B (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 |