CN112530053B - 智能锁的控制方法、系统、锁设备、服务器及存储介质 - Google Patents

智能锁的控制方法、系统、锁设备、服务器及存储介质 Download PDF

Info

Publication number
CN112530053B
CN112530053B CN201910823318.2A CN201910823318A CN112530053B CN 112530053 B CN112530053 B CN 112530053B CN 201910823318 A CN201910823318 A CN 201910823318A CN 112530053 B CN112530053 B CN 112530053B
Authority
CN
China
Prior art keywords
information
authorization
authority
lock
transaction information
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
Application number
CN201910823318.2A
Other languages
English (en)
Other versions
CN112530053A (zh
Inventor
韩宇龙
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
China Mobile Communications Group Co Ltd
China Mobile IoT Co Ltd
Original Assignee
China Mobile Communications Group Co Ltd
China Mobile IoT Co Ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by China Mobile Communications Group Co Ltd, China Mobile IoT Co Ltd filed Critical China Mobile Communications Group Co Ltd
Priority to CN201910823318.2A priority Critical patent/CN112530053B/zh
Publication of CN112530053A publication Critical patent/CN112530053A/zh
Application granted granted Critical
Publication of CN112530053B publication Critical patent/CN112530053B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G07CHECKING-DEVICES
    • G07CTIME 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/00Individual registration on entry or exit
    • G07C9/00174Electronically operated locks; Circuits therefor; Nonmechanical keys therefor, e.g. passive or active electrical keys or other data carriers without mechanical keys
    • G07C9/00571Electronically 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
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/32Cryptographic 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/3236Cryptographic 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

Abstract

本发明提供一种智能锁的控制方法、系统、锁设备和服务器。该方法包括:接收携带有第一控制命令的第一交易信息;第一控制命令携带有第一权限信息和控制参数;在基于第一授权权限列表,对第一权限信息进行验证通过的情况下,计算第一权限信息的哈希值;基于第一权限信息的哈希值和控制参数,生成携带有第二控制命令的第二交易信息;将第二交易信息发送给服务器;基于控制信息中控制参数执行对应的操作,控制信息是服务器在满足第一预设条件的情况下发送给锁设备的信息;第一预设条件为基于第二授权权限列表,对第一权限信息的哈希值进行验证通过。本发明实施例能够降低锁设备本身对本地控制权限列表的设计标准,减小锁设备的设计难度。

Description

智能锁的控制方法、系统、锁设备、服务器及存储介质
技术领域
本发明实施例涉及智能锁技术领域,尤其涉及一种智能锁的控制方法、系统、锁设备、服务器以及计算可读存储介质。
背景技术
智能锁是指区别于传统机械锁,在用户识别、安全性和管理性方面更加智能化的锁具。智能锁是使用非机械钥匙作为用户身份标识码ID的成熟技术。在安全技术防范领域,具有防盗报警功能的电子密码锁代替传统的机械式密码锁,克服了机械式密码锁密码量少和安全性能差的缺点,使密码锁无论在技术上还是在性能上都大大提高一步。随着大规模集成电路技术的发展,特别是单片机的问世,出现了带微处理器的智能密码锁,它除具有电子密码锁的功能外,还引入了智能化管理和专家分析系统等功能,从而使密码锁具有很高的安全性和可靠性,从而使之应用日益广泛。
然而,智能锁的相关技术中,控制权限列表只存在于锁端本地,只要锁端中控制权限列表个别信息发生改变或篡改,智能锁将有可能被未授权的钥匙端开锁,造成经济损失。因此,智能锁在安全设计时,对锁端本身安全要求很高,锁端本身必须对本地控制权限列表设计极高标准的安全机制,设计难度较大。
发明内容
本发明实施例提供一种智能锁的控制方法、系统、锁设备、服务器以及计算机可读存储介质,以解决现有技术中锁端本身必须对本地控制权限列表设计极高标准的安全机制而导致的设计难度较大的问题。
第一方面,本发明实施例提供一种智能锁的控制方法,应用于智能锁的锁设备,所述智能锁还包括第一钥匙设备;所述方法包括:
接收携带有第一控制命令的第一交易信息;所述第一交易信息由所述第一钥匙设备发送,所述第一控制命令携带有与所述第一钥匙设备相关的第一权限信息和用于对所述锁设备进行控制的控制参数;
在基于第一授权权限列表,对所述第一权限信息进行验证通过的情况下,计算所述第一权限信息的哈希值;
基于所述第一权限信息的哈希值和所述控制参数,生成携带有第二控制命令的第二交易信息;
将所述第二交易信息发送给服务器;
基于接收的控制信息中控制参数执行对应的操作,所述控制信息是所述服务器在满足第一预设条件的情况下发送给所述锁设备的信息;所述第一预设条件为基于第二授权权限列表,对所述第二控制命令中第一权限信息的哈希值进行验证通过。
第二方面,本发明实施例提供一种智能锁的控制方法,应用于服务器,所述智能锁包括第一钥匙设备和锁设备;所述方法包括:
接收基于第一交易信息生成的第二交易信息;所述第一交易信息由所述第一钥匙设备发送给所述锁设备的交易信息,所述第一交易信息携带有第一控制命令,所述第一控制命令携带有与所述第一钥匙设备相关的第一权限信息和用于对所述锁设备进行控制的控制参数;所述第二交易信息由所述锁设备发送,所述第二交易信息携带有第二控制命令;所述第二控制命令是所述锁设备在基于第一授权权限列表,对所述第一权限信息进行验证通过的情况下,基于所述第一权限信息的哈希值和所述控制参数所生成的;
基于第二授权权限列表,对所述第二控制命令中第一权限信息的哈希值进行验证;
若验证通过,将携带有所述控制参数的控制信息发送给所述锁设备,所述控制信息用于控制所述锁设备执行对应的操作。
第三方面,本发明实施例提供一种锁设备,所述锁设备包括:
第一锁端接收模块,用于接收携带有第一控制命令的第一交易信息;所述第一交易信息由与所述锁设备匹配的第一钥匙设备发送,所述第一控制命令携带有与所述第一钥匙设备相关的第一权限信息和用于对所述锁设备进行控制的控制参数;
第一锁端计算模块,用于在基于第一授权权限列表,对所述第一权限信息进行验证通过的情况下,计算所述第一权限信息的哈希值;
第一锁端生成模块,用于基于所述第一权限信息的哈希值和所述控制参数,生成携带有第二控制命令的第二交易信息;
第一锁端发送模块,用于将所述第二交易信息发送给服务器;
锁端执行模块,用于基于接收的控制信息中控制参数执行对应的操作,所述控制信息是所述服务器在满足第一预设条件的情况下发送给所述锁设备的信息;所述第一预设条件为基于第二授权权限列表,对所述第二控制命令中第一权限信息的哈希值进行验证通过。
第四方面,本发明实施例提供一种服务器,所述服务器包括:
第一接收模块,用于接收基于第一交易信息生成的第二交易信息;所述第一交易信息由智能锁的第一钥匙设备发送给所述智能锁的锁设备的交易信息,所述第一交易信息携带有第一控制命令,所述第一控制命令携带有与所述第一钥匙设备相关的第一权限信息和用于对所述锁设备进行控制的控制参数;所述第二交易信息由所述锁设备发送,所述第二交易信息携带有第二控制命令;所述第二控制命令是所述锁设备在基于第一授权权限列表,对所述第一权限信息进行验证通过的情况下,基于所述第一权限信息的哈希值和所述控制参数所生成的;
验证模块,用于基于第二授权权限列表,对所述第二控制命令中第一权限信息的哈希值进行验证;
第一发送模块,用于若验证通过,将携带有所述控制参数的控制信息发送给所述锁设备,所述控制信息用于控制所述锁设备执行对应的操作。
第五方面,本发明实施例提供一种智能锁的控制系统,所述系统包括智能锁的第一钥匙设备、所述智能锁的锁设备和服务器;其中,
所述第一钥匙设备,用于获取第一输入操作;响应所述第一输入操作,生成携带有第一控制命令的第一交易信息;将所述第一交易信息发送给锁设备;所述第一控制命令携带有与所述第一钥匙设备相关的第一权限信息和用于对所述锁设备进行控制的控制参数;
所述锁设备,用于接收携带有第一控制命令的第一交易信息;在基于第一授权权限列表,对所述第一权限信息进行验证通过的情况下,计算所述第一权限信息的哈希值;基于所述第一权限信息的哈希值和所述控制参数,生成携带有第二控制命令的第二交易信息;将所述第二交易信息发送给服务器;
所述服务器,用于接收所述第二交易信息;在基于第二授权权限列表,对所述第二控制命令中第一权限信息的哈希值进行验证通过的情况下,将所述第二交易信息发送给所述锁设备;
所述锁设备,还用于基于接收的第二交易信息中第二控制命令的控制参数执行对应的操作。
第五方面,本发明实施例提供一种锁设备,包括第一处理器,第一存储器,存储在所述第一存储器上并可在所述第一处理器上运行的计算机程序,所述计算机程序被所述第一处理器执行时实现锁设备侧智能锁的控制方法的步骤。
第六方面,本发明实施例提供一种服务器,包括第二处理器,第二存储器,存储在所述第二存储器上并可在所述第二处理器上运行的计算机程序,所述计算机程序被所述第二处理器执行时实现服务器侧智能锁的控制方法的步骤。
第七方面,本发明实施例提供一种计算机可读存储介质,所述计算机可读存储介质上存储有计算机程序,所述计算机程序被第一处理器执行时实现锁设备侧智能锁的控制方法的步骤,或者被第二处理器执行时实现服务器侧智能锁的控制方法的步骤。
本发明实施例中,首先,由第一钥匙设备获取第一输入操作;响应所述第一输入操作,生成携带有第一控制命令的第一交易信息;将所述第一交易信息发送给锁设备;所述第一控制命令携带有与所述第一钥匙设备相关的第一权限信息和用于对所述锁设备进行控制的控制参数;然后,由锁设备接收携带有第一控制命令的第一交易信息;在基于第一授权权限列表,对所述第一权限信息进行验证通过的情况下,计算所述第一权限信息的哈希值;基于所述第一权限信息的哈希值和所述控制参数,生成携带有第二控制命令的第二交易信息;将所述第二交易信息发送给服务器;接着,由所述服务器接收所述第二交易信息;在基于第二授权权限列表,对所述第二控制命令中第一权限信息的哈希值进行验证通过的情况下,将所述第二交易信息发送给所述锁设备;最后,由所述锁设备基于接收的第二交易信息中第二控制命令的控制参数执行对应的操作。
可知,本发明实施例中,在对第一钥匙设备进行第一权限信息的验证时,不仅需要基于锁设备本地维护的第一授权权限列表对该第一权限信息进行匹配验证,还需要基于服务器维护的第二授权权限列表对该第一权限信息的哈希值进行匹配验证。这样,即使锁设备本地的维护信息遭遇恶意篡改,由于服务器维护的信息是权限信息的哈希值,且由于哈希值具有不可改变的特性,因此,即使锁设备的维护信息遭遇恶意篡改,未授权的钥匙设备依然也无法完成开锁或授权。一方面,对权限信息的维护更加安全,保证安全性;另一方面,能够降低锁设备本身对本地控制权限列表的设计标准,减小锁设备的设计难度。
附图说明
为了更清楚地说明本发明实施例的技术方案,下面将对本发明实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获取其他的附图。
图1是本发明实施例提供的智能锁的控制方法的流程示意图之一;
图2是基于区块链的智能锁的控制系统的结构示意图;
图3是本发明实施例提供的智能锁的控制方法的时序图;
图4是本发明实施例提供的智能锁的控制方法的流程示意图之二;
图5是第二钥匙设备通过锁设备对第一钥匙设备进行授权的时序图;
图6是本发明实施例提供的智能锁的控制方法的流程示意图之三;
图7是通过锁设备对第一钥匙设备进行初始化授权的时序图;
图8是本发明实施例提供的智能锁的控制方法的流程示意图之四;
图9是本发明实施例提供的锁设备的结构示意图;
图10是本发明实施例提供的锁设备的硬件结构示意图;
图11是本发明实施例提供的服务器的结构示意图;
图12本发明实施例提供的服务器的硬件结构示意图。
具体实施方式
智能锁是指区别于传统机械锁,在用户识别、安全性和管理性方面更加智能化的锁具。智能锁是使用非机械钥匙作为用户身份标识码ID的成熟技术。在安全技术防范领域,具有防盗报警功能的电子密码锁代替传统的机械式密码锁,克服了机械式密码锁密码量少和安全性能差的缺点,使密码锁无论在技术上还是在性能上都大大提高一步。随着大规模集成电路技术的发展,特别是单片机的问世,出现了带微处理器的智能密码锁,它除具有电子密码锁的功能外,还引入了智能化管理和专家分析系统等功能,从而使密码锁具有很高的安全性和可靠性,从而使之应用日益广泛。
对智能锁普遍关心的问题是安全性的问题,传统的智能锁只考虑人,通常使用指纹识别、人脸识别、手势识别、语音识别和设置密码等。然而,如果实际授权和开锁的权限只考虑人,指纹、人脸、手势和语音等生物特征信息的检测手段目前均无法保证百分百准确率,甚至通过伪造手段可以获得较高的成功率,安全性较低。
因此,提出使用电子签名技术来提高智能锁的安全性。电子签名技术的实现需要使用到非对称加密(RSA算法)和报文摘要(哈希算法)。非对称加密是指用户有两个密钥,一个是公钥,一个是私钥,公钥是公开的,任何人可以使用,私钥是保密的,只有用户自己可以使用,公钥和私钥是对应关系。用户可以用对方的公钥加密信息,并传送给对方,对方使用自己的私钥将密文解开。公钥和私钥是互相解密的,而且绝对不会有第三者能插进来。报文摘要利用哈希算法对任何要传输的信息进行运算,生成128位的报文摘要,而不同内容的信息一定会生成不同的报文摘要,因此,报文摘要就成了电子信息的“指纹”。
采用电子签名技术实现智能锁的安全设置,在实际授权和开锁的权限设计存在漏洞,实际授权和开锁的权限只考虑钥匙端,如果钥匙丢失,任何捡到钥匙的人都可以进行授权和开锁活动,在该种情况下,也无法保证安全性。
相关技术中,引入区块链系统作为安全中转通道保证信息传输的安全性。区块链是分布式数据存储、点对点传输、共识机制、加密算法等计算机技术的新型应用模式。狭义来讲,区块链是一种按照时间顺序将数据区块以顺序相连的方式组合成的一种链式数据结构,并以密码学方式保证的不可篡改和不可伪造的分布式账本。广义来讲,区块链技术是利用块链式数据结构来验证与存储数据、利用分布式节点共识算法来生成和更新数据、利用密码学的方式保证数据传输和访问的安全、利用由自动化脚本代码组成的智能合约来编程和操作数据的一种全新的分布式基础架构与计算方式。
具体的,整个系统包括钥匙端、区块链系统和锁端。其中,钥匙端被用来发出授权或开锁的控制信息给区块链系统;区块链系统作为可信通道,将授权或开锁的控制信息转发给锁端;锁端只接收区块链系统的控制,首先,认定授权或开锁控制信息的发出者身份,然后,通过查询锁端本地维护的控制权限列表是否包含该身份,从而决定是否执行具体授权或开锁控制指令。
然而,上述相关技术中,区块链未充分发挥安全作用,只将区块链作为信息传输的安全中转通道,并未利用其分布式共识机制参与开锁和授权的决策。另外,将生物识别信息和公钥登记在区块链中,敏感信息有暴露给云端服务器研发或厂商人员的隐患,相当于用户不再具备智能锁的开锁信息的管理权。
另外,相关技术中,控制权限列表只存在于锁端本地,只要锁端中控制权限列表个别信息发生改变或篡改,智能锁将有可能被未授权的钥匙端开锁,造成经济损失。因此,智能锁在安全设计时,对锁端本身安全要求很高,锁端本身必须对本地控制权限列表设计极高标准的安全机制,设计难度较大。
基于此,本发明实施例提出一种新的智能锁的控制方案,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获取的所有其他实施例,都属于本发明保护的范围。
下面首先对本发明实施例提供的智能锁的控制方法进行说明。
需要说明的是,本发明实施例提供的智能锁的控制方法可以应用于智能锁的控制系统中,所述智能锁的控制系统包括至少一钥匙设备、锁设备和服务器,所述钥匙设备与所述锁设备匹配,通过锁设备和服务器共同来验证与钥匙设备相关的权限信息,并在通过验证的情况下,锁设备执行钥匙设备所触发的控制操作。
这里,钥匙设备具有一定的计算能力,能够执行加密、签名算法、生物识别信息采集等;同时,还具有网络通信能力,如远程通信可使用蜂窝网Internet通信,近程通信可使用蓝牙、红外、WIFI和电磁感应等方式。所述服务器可以是普通的云服务器,也可以是基于区块链系统的服务器,当所述服务器为基于区块链系统的服务器时,锁设备端和钥匙设备端都是区块链系统上的一个节点,服务器上传输和维护的信息具有不可篡改的特性。
参见图1,图中示出了本发明实施例提供的智能锁的控制方法的流程示意图之一。如图1所示,该方法可以包括如下步骤:
步骤101,接收携带有第一控制命令的第一交易信息;所述第一交易信息由所述第一钥匙设备发送,所述第一控制命令携带有与所述第一钥匙设备相关的第一权限信息和用于对所述锁设备进行控制的控制参数。
本实施例的智能锁的控制方法应用于智能锁的锁设备,用于验证第一钥匙设备所发送的与所述第一钥匙设备相关的第一权限信息,并生成第一权限信息的哈希值,发送给服务器供服务器进行双重验证,并在双重验证通过的情况下,执行第一钥匙设备所触发的控制操作。
所述第一钥匙设备只有经过授权之后,才具备控制锁设备的功能,所述第一钥匙设备可以为经过第二钥匙设备授权的钥匙设备,也可以为经过所述锁设备初始化授权的钥匙设备。其中,所述第一钥匙设备可以为超级钥匙设备,也可以为普通钥匙设备。超级钥匙设备指的是既具备授权其他钥匙设备控制所述锁设备的功能,同时本身具备控制所述锁设备的功能。所述第二钥匙设备为超级钥匙设备。
所述第一权限信息可以仅包括持有所述第一钥匙设备的用户的生物识别信息,也可以仅包括所述第一钥匙设备的第一签名用公钥,当然,为了保证安全性,所述第一权限信息还可以同时包括持有所述第一钥匙设备的用户的生物识别信息和所述第一钥匙设备的第一签名用公钥。其中,所述生物识别信息的作用是标识所述用户,所述第一钥匙设备第一次启动时会根据密钥生成算法在本地生成的第一签名用密钥对,其作用是标识所述第一钥匙设备,所述第一签名用密钥对包括第一签名用公钥和第一签名用私钥。
以下实施例中,所述第一权限信息将以同时包括持有所述第一钥匙设备的用户的生物识别信息和所述第一钥匙设备本地生成的第一签名用公钥为例进行详细说明。
所述控制参数为钥匙设备控制锁设备执行指定操作的参数,在一可选的实施例中,控制参数可以是开锁、关锁等操作。
所述第一交易信息携带有第一控制命令,携带有第一控制命令的信息被编码成符合系统传输协议的信息。在一可选的实施例中,所述第一交易信息是遵循区块链协议的信息。
具体的,所述第一钥匙设备获取用户的第一输入操作,响应所述第一输入操作,生成携带有第一控制命令的第一交易信息;将所述第一交易信息发送给锁设备。
其中,所述第一输入操作可以是点击操作、触摸操作、手势操作、滑动操作等,所述第一输入操作用于指示对所述锁设备的控制操作。所述第一钥匙设备响应于所述第一输入操作,获取对应的控制参数和第一签名用公钥。同时,用户在所述第一钥匙设备录入生物识别信息之后,获取所述生物识别信息。
所述第一钥匙设备基于获取的控制参数、第一签名用公钥和生物识别信息,生成所述第一控制命令。同时,将携带有第一控制命令的信息编码成符合系统传输协议的信息,生成第一交易信息,并将所述第一交易信息发送给所述锁设备。
应当说明的是,若所述第一钥匙设备与锁设备近程连接,所述第一钥匙设备可以直接将第一交易信息发给锁设备,若所述第一钥匙设备与锁设备的距离隔的相对远,所述第一钥匙设备可以基于服务器将所述第一交易信息发送给锁设备。所述第一钥匙设备首先将第一交易信息发送给服务器,服务器在经过验证且通过之后,将所述第一交易信息转发给锁设备。当然,为了实现匹配的锁设备能够接收到该第一交易信息,所述第一交易信息中还需携带标识所述锁设备的身份识别码ID。
步骤102,在基于第一授权权限列表,对所述第一权限信息进行验证通过的情况下,计算所述第一权限信息的哈希值。
锁设备在接收到第一交易信息之后,获取第一权限信息,查询所述第一权限信息是否在本地维护的第一授权权限列表中,即查询第一钥匙设备是否是所述锁设备对应的钥匙设备,若查询通过,即验证通过,然后,通过哈希算法计算所述第一权限信息的哈希值。
步骤103,基于所述第一权限信息的哈希值和所述控制参数,生成携带有第二控制命令的第二交易信息。
这里,所述锁设备基于所述第一权限信息的哈希值和控制参数,生成第二控制命令,同时,将携带有第二控制命令的信息编码成符合系统传输协议的信息,生成第二交易信息。
步骤104,将所述第二交易信息发送给服务器。
所述服务器接收所述锁设备的第二交易信息,获取第一权限信息的哈希值,查询所述第一权限信息的哈希值是否在本地维护的第二授权权限列表中,即查询第一钥匙设备是否是所述锁设备对应的钥匙设备,若查询通过,即验证通过,然后,将携带有控制参数的控制信息发送给锁设备,所述控制信息用于指示所述锁设备执行对应的操作。
通过锁设备对第一权限信息的验证以及通过服务器对第一权限信息的哈希值的验证,双重验证可以提高智能锁的安全性。同时,服务器维护的是第一权限信息的哈希值,由于哈希值具有不可改变的特性,因此,对权限信息的维护更加安全。
步骤105,基于接收的控制信息中控制参数执行对应的操作,所述控制信息是所述服务器在满足第一预设条件的情况下发送给所述锁设备的信息;所述第一预设条件为基于第二授权权限列表,对所述第二控制命令中第一权限信息的哈希值进行验证通过。
所述锁设备在接收到控制信息之后,根据所述控制参数执行对应的操作。在一可选的实施例中,所述锁设备执行开锁关锁的操作。
另外,锁设备每次开锁成功都可以记录开锁的时间戳和第一钥匙设备的开锁次数,若第一钥匙设备在授权时其类型为临时钥匙,所述锁设备可通过记录的时间戳和/或开锁次数,确定所述第一钥匙设备的控制功能是否到期,若到期,自动执行取消授权的程序,使所述第一钥匙设备失去控制功能。
本发明实施例中,在对第一钥匙设备进行第一权限信息的验证时,不仅需要基于锁设备本地维护的第一授权权限列表对该第一权限信息进行匹配验证,还需要基于服务器维护的第二授权权限列表对该第一权限信息的哈希值进行匹配验证。这样,即使锁设备本地的维护信息遭遇恶意篡改,由于服务器维护的信息是权限信息的哈希值,且由于哈希值具有不可改变的特性,因此,即使锁设备的维护信息遭遇恶意篡改,未授权的钥匙设备依然也无法完成开锁或授权。一方面,对权限信息的维护更加安全,保证安全性;另一方面,能够降低锁设备本身对本地控制权限列表的设计标准,减小锁设备的设计难度。
上述实施例中,对控制命令的传输是明文的形式,其传输的信息有被暴露的风险。进一步的,基于实施例一,步骤102之后,所述方法还包括:
基于与所述加密公钥对应的加密私钥,对所述第一控制命令进行解密,获得所述第一权限信息和控制参数。
其中,所述第一控制命令为所述第一钥匙设备基于预先获取的加密公钥对明文控制命令进行加密获得的控制命令,所述明文控制命令为所述第一钥匙设备基于获取的第一权限信息和控制参数所生成的控制命令。
具体的,首先,所述第一钥匙设备基于获取的第一权限信息和控制参数,生成明文控制命令,该明文控制命令未加密;然后,所述第一钥匙设备基于预先获取的加密公钥对所述明文控制命令进行加密,获得所述第一控制命令。
相应的,在所述锁设备端,所述锁设备基于所述加密公钥对应的加密私钥,对所述第一控制命令进行解密,从而获取所述明文控制命令,得到所述第一权限信息和控制参数。
所述加密公钥和加密私钥可以在所述锁设备第一次启动时本地生成,或者可以从可信机构那里获取。
应当说明的是,所述第一钥匙设备获取所述加密公钥的方式有两种,第一种是所述锁设备在初始化授权时对所述第一钥匙设备进行授权成功时,接收所述锁设备发送的加密公钥,第二种是第二钥匙设备对第一钥匙设备进行授权成功时,接收所述第二钥匙设备发送的加密公钥。
本发明实施例通过将明文控制命令进行加密处理,服务器以及服务器所处系统不会得到用户的生物识别信息的明文,也不会保存钥匙设备的第一签名用公钥的明文,使之信息传输过程更加保护隐私。
为了保证智能锁的安全性,智能锁中可以采用电子签名技术,进一步的,基于实施例一,所述第一钥匙设备和锁设备两端都采用电子签名技术。
具体的,所述第一钥匙设备基于第一签名用私钥对所述第一控制命令进行签名,获得第一签名信息;所述第一交易信息中还携带有第一签名用公钥和所述第一签名信息。
在所述第一钥匙设备与所述锁设备近程连接时,所述锁设备直接接收所述第一交易信息,在接收到所述第一交易信息时,需要采用所述第一签名用公钥对所述第一签名信息进行验签,在验签成功时,才会执行后面的流程操作。
而在所述第一钥匙设备与所述锁设备相距较大距离时,所述第一钥匙设备还会发送标识所述锁设备的ID给服务器,可以通过第一交易信息携带所述ID的形式发送,也可以单独发送,这里不做限制。所述第一钥匙设备首先通过远程连接将第一交易信息发送给服务器,所述服务器接收所述第一交易信息,采用第一签名用公钥对所述第一签名信息进行验签,在验签成功时,将所述第一交易信息发送给ID对应的锁设备。
锁设备在接收到所述第一交易信息之后,为了保证传输的安全性,首先会进行验签,其验签方式与服务器的验签方式类似,这里不在对其赘述。验签成功之后,才会执行后续操作。
另外,所述锁设备在发送交易信息给服务器之前,也会对发送的第二控制命令进行签名。具体的,所述锁设备采用第二签名用私钥对所述第二控制命令进行签名,获得第二签名信息;并将携带有所述第二签名信息、与所述第二签名用私钥对应的第二签名用公钥和第二控制命令的第二交易信息发送给服务器。
其中,所述锁设备第一次启动时会根据密钥生成算法在本地生成的第二签名用密钥对,其作用是标识所述锁设备,所述第二签名用密钥对包括第二签名用公钥和第二签名用私钥。
所述服务器接收所述第二交易信息之后,会采用所述第二签名用公钥对所述第二签名信息进行验签,在验签成功时,才会执行后面的流程操作。
本发明实施例通过电子签名技术,能够进一步提高安全性。同时,标识钥匙设备的签名用公钥和生物识别信息同时是控制操作所检查的必要条件。意味着即使其他人只是获取到钥匙设备也无法完成开锁或授权,其他人只是攻破生物识别信息也无法完成开锁或授权,因此,本发明实施例开锁和授权所检查的必要条件更加完备。
进一步的,基于实施例一,所述服务器可以是基于区块链系统的服务器,参见图2,图中示出了基于区块链的智能锁的控制系统的结构示意图。如图2所示,基于区块链的智能锁的控制系统包括钥匙端、锁端和基于区块链系统的服务器,可以理解的是,基于区块链的智能锁的控制系统是由很多基于区块链的网络节点构成的网络,锁端和钥匙端都是一网络节点。
每一锁端至少对应一钥匙端,钥匙端是具有控制锁端功能的一端,钥匙端可以是设于钥匙设备中的程序端,也可以是钥匙设备。例如,钥匙设备可以是智能手机、平板电脑、个人数字助理、智能手表和智能手环等具有控制锁端功能的设备;锁端可以是设于锁设备中的程序端,也可以是锁设备。
钥匙设备与区块链系统的连接可以是临时建立的,即在钥匙设备需要通过区块链系统发送交易信息给锁设备时,将钥匙设备与区块链系统建立连接,通过钥匙设备将携带有控制命令的交易信息发送至区块链系统中。其中,在建立钥匙设备与区块链系统的连接时,钥匙设备可以获取基于区块链的网络节点的网际协议地址IP地址和基于区块链的网络端口号,通过IP地址和端口号与网络节点建立TCP连接。锁设备与区块链系统的连接可以是持续性的,即锁设备与区块链系统建立TCP连接后不再断开。
第一钥匙设备和锁设备在传输交易信息时,遵循区块链协议,以便能够基于区块链系统将交易信息发送给服务器。
本发明实施例中,由于区块链系统中数据的不可篡改特性,基于区块链系统的服务器不仅作为可信传输通道,在验证信息时其维护的信息还做存证,大大提高了安全性。
需要说明的是,本发明实施例中介绍的多种实施例,彼此可以相互结合实现,也可以单独实现,对此本发明实施例不作限定。
下面以远程开锁控制为例,对本发明实施例的智能锁的控制方法进行详细说明。
参见图3,图中示出了本发明实施例提供的智能锁的控制方法的时序图,该时序图所示的流程为上述各实施例的结合。如图3所示,包括以下步骤:
首先,所述第一钥匙设备接收第一输入操作,进入开锁功能,获取第一权限信息和控制参数;获取第一钥匙设备的第一签名用公钥,并获取用户录入的生物识别信息;所述控制参数为开锁;
然后,所述第一钥匙设备基于第一权限信息和控制参数,生成明文控制命令;
接着,所述第一钥匙设备采用加密公钥对明文控制命令进行加密,获得第一控制命令;
接着,所述第一钥匙设备采用第一签名用私钥对第一控制命令进行签名,获得第一签名信息;
接着,所述第一钥匙设备将锁设备的ID、第一交易信息发送给基于区块链系统的服务器;所述第一交易信息携带有第一签名用公钥、第一签名信息和第一控制命令,当然,所述第一交易信息也可携带所述ID一起发送;
接着,基于区块链系统的服务器基于获取的第一签名用公钥对所述第一签名信息进行验签;
接着,若验签成功,基于区块链系统的服务器将所述第一交易信息发送给所述ID对应的锁设备;
接着,所述锁设备对所述第一签名信息进行验签;
接着,若验签成功,所述锁设备采用加密私钥对所述第一控制命令进行解密,获得明文控制命令;
接着,在基于第一授权权限列表,对所述第一权限信息进行验证通过的情况下,所述锁设备计算所述明文控制命令中的第一权限信息的哈希值;
接着,所述锁设备基于第一权限信息的哈希值和控制参数,生成第二控制命令;
接着,所述锁设备基于第二签名用私钥对所述第二控制命令进行签名,获得第二签名信息;
接着,所述锁设备将携带有第二签名用公钥、第二签名信息和第二控制命令的第二交易信息发送给基于区块链系统的服务器;
接着,基于区块链系统的服务器采用第二签名用公钥对第二签名信息进行验签;
接着,若验签成功,基于区块链系统的服务器基于第二授权权限列表,对所述第二控制命令中第一权限信息的哈希值进行验证;
接着,若验证通过,基于区块链系统的服务器将携带有所述控制参数的控制信息发送给所述锁设备;
最后,所述锁设备基于所述控制参数执行开锁的操作。
应当说明的是,近程开锁控制与远程开锁控制的流程除了第一钥匙设备发送第一交易信息的方式不同之外,其他流程类似,这里不对其进行赘述。在近程开锁控制时,所述第一钥匙设备无需经过区块链系统,而是将第一交易信息直接发送给锁设备。
下面对第一钥匙设备的授权过程进行详细说明。
要实现第一钥匙设备具备控制所述锁设备的功能,所述第一钥匙设备首先必须获得授权,以下是锁设备对第一钥匙设备进行授权的过程。
首先,介绍第二钥匙设备通过所述锁设备对所述第一钥匙设备进行授权的过程,参见图4,图中示出了本发明实施例提供的智能锁的控制方法的流程示意图之二。如图4所示,锁设备对第一钥匙设备进行授权的方法包括:
步骤401,接收携带有第一授权命令的第三交易信息,所述第三交易信息由所述第二钥匙设备发送,所述第一授权命令携带有所述第一权限信息、与所述第二钥匙设备相关的第二权限信息和用于对钥匙设备进行授权的授权参数。
所述第二钥匙设备具备授权钥匙设备控制所述锁设备的授权功能,并在锁设备和服务器维护的信息中记录有所述第二钥匙设备为超级钥匙设备。
所述第二权限信息可以仅包括持有所述第二钥匙设备的用户的生物识别信息,也可以仅包括所述第二钥匙设备的第三签名用公钥,当然,为了保证安全性,所述第二权限信息还可以同时包括持有所述第二钥匙设备的用户的生物识别信息和所述第二钥匙设备的第三签名用公钥。其中,所述生物识别信息的作用是标识所述用户,所述第二钥匙设备第一次启动时会根据密钥生成算法在本地生成的第三签名用密钥对,其作用是标识所述第二钥匙设备,所述第三签名用密钥对包括第三签名用公钥和第三签名用私钥。
以下实施例中,所述第二权限信息将以同时包括持有所述第二钥匙设备的用户的生物识别信息和所述第二钥匙设备本地生成的第三签名用公钥为例进行详细说明。
所述第三交易信息携带有第一授权命令,携带有第一授权命令的信息被编码成符合系统传输协议的信息。在一可选的实施例中,所述第三交易信息是遵循区块链协议的信息。
具体的,所述第二钥匙设备获取用户的第二输入操作,响应所述第二输入操作,生成携带有第一授权命令的第三交易信息;将所述第三交易信息发送给锁设备。
其中,所述第二输入操作可以是点击操作、触摸操作、手势操作、滑动操作等,所述第二输入操作用于指示对所述第一钥匙设备的授权操作。所述第二钥匙设备响应于所述第二输入操作,获取授权参数和第三签名用公钥。同时,用户在所述第二钥匙设备录入生物识别信息之后,获取生物识别信息。
所述第二钥匙设备等待第一钥匙设备与之建立近程连接,当第一钥匙设备与第二钥匙设备建立近程连接时,所述第一钥匙设备将第一权限信息发送给所述第二钥匙设备。
所述第二钥匙设备基于获取的授权参数、第一权限信息和第二权限信息,生成所述第一授权命令。同时,将携带有第一授权命令的信息编码成符合系统传输协议的信息,生成第三交易信息,并将所述第三交易信息发送给所述锁设备。
为了保证安全性,授权过程也可以采用电子签名技术和加密技术。具体的,所述第二钥匙设备首先基于授权参数、第一权限信息和第二权限信息,生成明文授权命令。然后,基于加密公钥对明文授权命令进行加密,获得第一授权命令,基于第三签名用私钥对所述第一授权命令进行签名,获得第三签名信息。最后将携带有第三签名用公钥、第三签名信息和第一授权命令发送给所述锁设备。
应当说明的是,若所述第二钥匙设备与锁设备近程连接,所述第二钥匙设备可以直接将第三交易信息发给锁设备,若所述第二钥匙设备与锁设备的距离隔的相对远,所述第二钥匙设备可以基于服务器将所述第三交易信息发送给锁设备。所述第二钥匙设备首先将第三交易信息发送给服务器,服务器在经过验签且验签成功之后,将所述第三交易信息转发给锁设备。当然,为了实现匹配的锁设备能够接收到该第三交易信息,所述第三交易信息中还需携带标识所述锁设备的身份识别码ID。
步骤402,在基于所述第一授权权限列表,确定所述第二权限信息对应的钥匙设备具备授权功能的情况下,计算所述第一权限信息的哈希值和所述第二权限信息的哈希值。
锁设备在接收到第三交易信息之后,获取第二权限信息,查询所述第二权限信息是否在本地维护的第一授权权限列表中,且查询第二钥匙设备是否是超级钥匙设备,若查询通过,即验证通过。然后,通过哈希算法计算所述第一权限信息的哈希值和第二权限信息的哈希值。最后,暂存所述第一权限信息。
若采用了电子签名技术和加密技术,锁设备在接收到第三交易信息之后,首先要采用第三签名用私钥对第三签名信息进行解签,若解签成功,则基于加密私钥对所述第一授权命令进行解密,获得明文授权命令。然后,基于所述明文授权命令,获得第一权限信息、第二权限信息和授权参数。
步骤403,基于所述第一权限信息的哈希值、所述第二权限信息的哈希值和授权参数,生成携带有第二授权命令的第四交易信息,所述第二授权命令包括所述第一权限信息的哈希值和所述第二权限信息的哈希值。
这里,所述锁设备基于所述第一权限信息的哈希值、所述第二权限信息的哈希值和授权参数,生成第二授权命令,同时,将携带有第二授权命令的信息编码成符合系统传输协议的信息,生成第四交易信息。
若采用了电子签名技术和加密技术,所述锁设备还需要采用第二签名用私钥对所述第二授权命令进行签名,获得第四签名信息。然后,将携带有第二签名用公钥、第四签名信息和第二授权命令的第四交易信息发送给服务器。
步骤404,将所述第四交易信息发送给所述服务器。
所述服务器接收到第四交易信息之后,获取第二权限信息的哈希值,查询所述第二权限信息的哈希值是否在本地维护的第二授权权限列表中,且查询第二钥匙设备是否是超级钥匙设备。若查询通过,即验证通过,将所述第一权限信息的哈希值录入至所述第二授权权限列表中;并将第一录入结果发送给所述锁设备。
若采用了电子签名技术和加密技术,所述服务器接收到第四交易信息之后,首先需要采用第二签名用公钥对第四签名信息进行验签,若验签通过,则执行后续的操作。
步骤405,接收所述服务器发送的第一录入结果;所述第一录入结果是所述服务器在满足第二预设条件的情况下,将所述第一权限信息的哈希值录入至所述第二授权权限列表中的结果;所述第二预设条件为基于所述第二授权权限列表,确定所述第二权限信息的哈希值对应的钥匙设备具备授权功能。
所述第一录入结果存在两种情况,第一种情况为录入成功,第二种情况为录入失败。
步骤406,若所述第一录入结果表明录入成功,将所述第一权限信息录入至所述第一授权权限列表中。
另外,所述服务器可以普通的云服务器,也可以是基于区块链系统的服务器,当所述服务器是基于区块链系统的服务器,所述第二钥匙设备和锁设备都是基于区块链的网络节点,其传输的交易信息都需要遵循区块链协议,以便能够基于区块链系统将交易信息发送给服务器。
需要说明的是,上述流程是第二钥匙设备通过锁设备对第一钥匙设备的授权流程,若要取消对已经授权的钥匙设备的控制功能,其流程与上述类似,只是其获取的参数不一样,授权流程获取的是授权参数,而取消授权流程获取的是取消授权参数,所述锁设备基于获取的参数,则可知是对钥匙设备进行授权,还是取消对已经授权的钥匙设备的控制功能。
附加的,所述第二钥匙设备可以设置所述第一钥匙设备的类型,其类型可以为临时钥匙和永久钥匙,可以通过设置第一钥匙设备的控制时长和控制次数来设置第一钥匙设备的类型,若钥匙设备的控制时长或控制次数有限,则该钥匙设备即为临时钥匙。所述锁设备每次开锁成功都可以记录开锁的时间戳和第一钥匙设备的开锁次数,若第一钥匙设备在授权时其类型为临时钥匙,所述锁设备可通过记录的时间戳和/或开锁次数,确定所述第一钥匙设备的控制功能是否到期,若到期,自动执行取消授权的程序,使所述第一钥匙设备失去控制功能。
本发明实施例能够实现第二钥匙设备通过锁设备对第一钥匙设备进行授权,使所述第一钥匙设备具备控制所述锁设备的功能。在授权过程中,基于区块链系统的服务器不仅作为可信传输通道,在验证信息时其维护的信息还做存证,由于区块链系统中数据的不可篡改特性,因此能够大大提高安全性。同时,在授权过程中,可以采用电子签名技术和加密技术,在保证安全性的同时保护隐私。
参见图5,图中示出了第二钥匙设备通过锁设备对第一钥匙设备进行授权的时序图。如图5所示,包括以下步骤:
首先,所述第二钥匙设备接收第二输入操作,进入授权功能,获取第二权限信息和授权参数;同时,第一钥匙设备获取第一权限信息,与第二钥匙设备建立近程连接;
然后,所述第一钥匙设备将所述第一权限信息发送给第二钥匙设备;
接着,第二钥匙设备基于第一权限信息、第二权限信息和授权参数,生成明文授权命令;
接着,所述第二钥匙设备采用加密公钥对明文授权命令进行加密,获得第一授权命令;
接着,所述第二钥匙设备采用第三签名用私钥对第一授权命令进行签名,获得第三签名信息;
接着,所述第二钥匙设备将锁设备的ID、第三交易信息发送给基于区块链系统的服务器;所述第三交易信息携带有第三签名用公钥、第三签名信息和第一授权命令,当然,所述第三交易信息也可携带所述ID一起发送;
接着,基于区块链系统的服务器基于获取的第三签名用公钥对所述第三签名信息进行验签;
接着,若验签成功,基于区块链系统的服务器将所述第三交易信息发送给所述ID对应的锁设备;
接着,所述锁设备对所述第三签名信息进行验签;
接着,若验签成功,所述锁设备采用加密私钥对所述第一授权命令进行解密,获得明文授权命令;
接着,在基于所述第一授权权限列表,确定所述第二权限信息对应的钥匙设备具备授权功能的情况下,所述锁设备计算所述明文授权命令中的第一权限信息的哈希值和第二权限信息的哈希值;
接着,所述锁设备基于第一权限信息的哈希值、第二权限信息的哈希值和授权参数,生成第二授权命令;
接着,所述锁设备基于第二签名用私钥对所述第二授权命令进行签名,获得第四签名信息;
接着,所述锁设备将携带有第二签名用公钥、第四签名信息和第二授权命令的第四交易信息发送给基于区块链系统的服务器;
接着,基于区块链系统的服务器采用第二签名用公钥对第四签名信息进行验签;
接着,若验签成功,基于区块链系统的服务器基于第二授权权限列表,确定所述第二权限信息的哈希值对应的钥匙设备是否具备授权功能;
接着,若确定所述第二权限信息的哈希值对应的钥匙设备具备授权功能,基于区块链系统的服务器将第一权限信息的哈希值录入至第二授权权限列表中;
接着,基于区块链系统的服务器将第一录入结果发送给所述锁设备和第二钥匙设备;
接着,所述锁设备在第一录入结果表明录入成功的情况下,将第一权限信息录入至第一授权权限列表中;
最后,第二钥匙设备在第一录入结果表明录入成功的情况下,将加密公钥发送给第一钥匙设备。
应当说明的是,近程授权与远程授权的流程除了第二钥匙设备发送第三交易信息的方式不同之外,其他流程类似,这里不对其进行赘述。在近程授权时,所述第二钥匙设备无需经过区块链系统,而是将第三交易信息直接发送给锁设备。
然后,介绍通过所述锁设备对所述第一钥匙设备进行初始化授权的过程,参见图6,图中示出了本发明实施例提供的智能锁的控制方法的流程示意图之三。如图6所示,锁设备对第一钥匙设备进行初始化授权的方法包括:
步骤601,接收所述第一钥匙设备发送的第一权限信息;
首先,在进行初始化授权时,启动区块链系统;启动锁设备,所述锁设备本地生成或从可信机构获取加密密钥对,包括加密公钥和对应的加密私钥,本地生成第二签名用密钥对,进入初始化模式,等待钥匙设备连接和数据录入;第一钥匙设备启动,本地生成第一签名用密钥对,录入生物识别信息,与锁设备建立近程连接。
在建立近程连接之后,第一钥匙设备将第一权限信息发送给锁设备。
步骤602,计算所述第一权限信息的哈希值;
锁设备接收所述第一钥匙设备发送的第一权限信息,暂存该第一权限信息,并计算第一权限信息的哈希值。
步骤603,基于所述第一权限信息的哈希值和用于对钥匙设备进行初始化授权的初始化授权参数,生成携带有第三授权命令的第五交易信息;
所述锁设备基于所述第一权限信息的哈希值和初始化授权参数,生成第三授权命令,同时,将携带有第三授权命令的信息编码成符合系统传输协议的信息,生成第五交易信息。
若采用了电子签名技术和加密技术,所述锁设备还需要采用第二签名用私钥对所述第三授权命令进行签名,获得第五签名信息。然后,将携带有第二签名用公钥、第五签名信息和第三授权命令的第五交易信息发送给服务器。
步骤604,将所述第五交易信息发送给所述服务器;
所述服务器接收到第五交易信息之后,获取第一权限信息的哈希值,基于本地维护的第二授权权限列表中,确定所述锁设备是否为第一次初始化授权,若是,将所述第一权限信息的哈希值录入至所述第二授权权限列表中;并将第二录入结果发送给所述锁设备。
若采用了电子签名技术和加密技术,所述服务器接收到第五交易信息之后,首先需要采用第二签名用公钥对第五签名信息进行验签,若验签通过,则执行后续的操作。
步骤605,接收所述服务器发送的第二录入结果;所述第二录入结果是所述服务器在满足第三预设条件的情况下,将所述第一权限信息的哈希值录入至所述第二授权权限列表中的结果;所述第三预设条件为基于所述第三授权命令,确定所述锁设备为初始化授权;
所述第二录入结果存在两种情况,第一种情况为录入成功,第二种情况为录入失败。
步骤606,若所述第二录入结果表明录入成功,将所述第一权限信息录入至所述第一授权权限列表中。
另外,所述服务器可以普通的云服务器,也可以是基于区块链系统的服务器,当所述服务器是基于区块链系统的服务器,所述第一钥匙设备和锁设备都是基于区块链的网络节点,其传输的交易信息都需要遵循区块链协议,以便能够基于区块链系统将交易信息发送给服务器。
本发明实施例能够实现通过锁设备对第一钥匙设备进行初始化授权,使所述第一钥匙设备具备控制所述锁设备的功能。在授权过程中,基于区块链系统的服务器不仅作为可信传输通道,在验证信息时其维护的信息还做存证,由于区块链系统中数据的不可篡改特性,因此能够大大提高安全性。同时,在授权过程中,可以采用电子签名技术和加密技术,在保证安全性的同时保护隐私。
参见图7,图中示出了通过锁设备对第一钥匙设备进行初始化授权的时序图。如图7所示,包括以下步骤:
首先,启动区块链系统;启动锁设备,所述锁设备本地生成或从可信机构获取加密密钥对,本地生成第二签名用密钥对,进入初始化模式,等待钥匙设备连接和数据录入;第一钥匙设备启动,本地生成第一签名用密钥对,录入生物识别信息,与锁设备建立近程连接;
然后,所述第一钥匙设备将第一权限信息发送给锁设备;
接着,所述锁设备暂存第一权限信息,计算第一权限信息的哈希值;
接着,所述锁设备基于所述第一权限信息的哈希值和初始化授权参数,生成第三授权命令;
接着,所述锁设备基于第二签名用私钥对第三授权命令进行签名,生成第五签名信息;
接着,所述锁设备将携带有第二签名用公钥、第五签名信息和第三授权命令的第五交易信息发送给基于区块链系统的服务器;
接着,基于区块链系统的服务器基于第二签名用公钥对第三授权命令进行验签;
接着,若验签通过,基于区块链系统的服务器基于第二授权权限列表,确定所述锁设备是否为第一次初始化授权;
接着,若是,基于区块链系统的服务器将第一权限信息的哈希值录入至第二授权权限列表中;
接着,基于区块链系统的服务器将第二录入结果发送给所述锁设备;
接着,所述锁设备在第二录入结果表明录入成功的情况下,将第一权限信息录入至第一授权权限列表中;
接着,所述锁设备将其录入结果发送给第一钥匙设备,并在录入成功的情况下,同时,将加密公钥发送给第一钥匙设备。
下面对本发明实施例提供的服务器侧智能锁的控制方法进行说明。
参见图8,图中示出了本发明实施例提供的智能锁的控制方法的流程示意图之四。如图8所示,该方法可以包括如下步骤:
步骤801,接收基于第一交易信息生成的第二交易信息;所述第一交易信息由所述第一钥匙设备发送给所述锁设备的交易信息,所述第一交易信息携带有第一控制命令,所述第一控制命令携带有与所述第一钥匙设备相关的第一权限信息和用于对所述锁设备进行控制的控制参数;所述第二交易信息由所述锁设备发送,所述第二交易信息携带有第二控制命令;所述第二控制命令是所述锁设备在基于第一授权权限列表,对所述第一权限信息进行验证通过的情况下,基于所述第一权限信息的哈希值和所述控制参数所生成的;
本实施例的智能锁的控制方法应用于服务器,用于锁设备验证第一钥匙设备所发送的与所述第一钥匙设备相关的第一权限信息,并生成第一权限信息的哈希值,发送给服务器供服务器进行双重验证,并在双重验证通过的情况下,执行第一钥匙设备所触发的控制操作。
步骤802,基于第二授权权限列表,对所述第二控制命令中第一权限信息的哈希值进行验证;
步骤803,若验证通过,将携带有所述控制参数的控制信息发送给所述锁设备,所述控制信息用于控制所述锁设备执行对应的操作。
所述第一钥匙设备只有经过授权之后,才具备控制锁设备的功能,所述第一钥匙设备可以为经过第二钥匙设备授权的钥匙设备,也可以为经过所述锁设备初始化授权的钥匙设备。其中,所述第一钥匙设备可以为超级钥匙设备,也可以为普通钥匙设备。超级钥匙设备指的是既具备授权其他钥匙设备控制所述锁设备的功能,同时本身具备控制所述锁设备的功能。所述第二钥匙设备为超级钥匙设备。
在一可选的实施例中,所述智能锁还包括第二钥匙设备,所述第二钥匙设备具备授权钥匙设备控制所述锁设备的授权功能,所述第一钥匙设备为第二钥匙设备通过锁设备和服务器进行授权的钥匙设备。
所述接收基于第一交易信息生成的第二交易信息之前,所述方法还包括:
接收基于第三交易信息生成的第四交易信息;所述第三交易信息由所述第二钥匙设备发送给所述锁设备的交易信息,所述第三交易信息携带有第一授权命令,所述第一授权命令携带有与所述第一钥匙设备相关的第一权限信息、与所述第二钥匙设备相关的第二权限信息和用于对钥匙设备进行授权的授权参数;所述第四交易信息由所述锁设备发送,所述第四交易信息携带有第二授权命令;所述第二授权命令是所述锁设备在基于所述第一授权权限列表,确定所述第二权限信息对应的钥匙设备具备授权功能的情况下,基于所述第一权限信息的哈希值、所述第二权限信息的哈希值和所述授权参数所生成的;
基于所述第二授权权限列表,确定所述第二权限信息的哈希值对应的钥匙设备是否具备授权功能;
若所述第二权限信息的哈希值对应的钥匙设备具备授权功能,将所述第一权限信息的哈希值录入至所述第二授权权限列表中;
将第一录入结果发送给所述锁设备,所述第一录入结果用于指示所述锁设备在录入成功的情况下,将所述第一权限信息录入至所述第一授权权限列表中。
在另一可选的实施例中,所述第一钥匙设备为通过锁设备和服务器进行初始化授权的钥匙设备。
所述接收基于第一交易信息生成的第二交易信息之前,所述方法还包括:
接收携带有第三授权命令的第五交易信息;所述第五交易信息由所述第一钥匙设备发送,所述第三授权命令携带有所述第一权限信息的哈希值和用于对钥匙设备进行初始化授权的初始化授权参数;
在基于所述第三授权命令,确定所述锁设备为初始化授权的情况下,将所述第一权限信息的哈希值录入至所述第二授权权限列表中;
将第二录入结果发送给所述锁设备,所述第二录入结果用于指示所述锁设备在录入成功的情况下,将所述第一权限信息录入至所述第一授权权限列表中。
服务器侧智能锁的控制方法的具体实现过程与设备侧智能锁的控制方法实施例的实现过程类似,这里不对其进行赘述。
本发明实施例中,在对第一钥匙设备进行第一权限信息的验证时,不仅需要基于锁设备本地维护的第一授权权限列表对该第一权限信息进行匹配验证,还需要基于服务器维护的第二授权权限列表对该第一权限信息的哈希值进行匹配验证。这样,即使锁设备本地的维护信息遭遇恶意篡改,由于服务器维护的信息是权限信息的哈希值,且由于哈希值具有不可改变的特性,因此,即使锁设备的维护信息遭遇恶意篡改,未授权的钥匙设备依然也无法完成开锁或授权。一方面,对权限信息的维护更加安全,保证安全性;另一方面,能够降低锁设备本身对本地控制权限列表的设计标准,减小锁设备的设计难度。
下面对本发明实施例提供的锁设备进行说明。
参见图9,图中示出了本发明实施例提供的锁设备的结构示意图。如图9所示,锁设备900包括:
第一锁端接收模块901,用于接收携带有第一控制命令的第一交易信息;所述第一交易信息由与所述锁设备匹配的第一钥匙设备发送,所述第一控制命令携带有与所述第一钥匙设备相关的第一权限信息和用于对所述锁设备进行控制的控制参数;
第一锁端计算模块902,用于在基于第一授权权限列表,对所述第一权限信息进行验证通过的情况下,计算所述第一权限信息的哈希值;
第一锁端生成模块903,用于基于所述第一权限信息的哈希值和所述控制参数,生成携带有第二控制命令的第二交易信息;
第一锁端发送模块904,用于将所述第二交易信息发送给服务器;
锁端执行模块905,用于基于接收的控制信息中控制参数执行对应的操作,所述控制信息是所述服务器在满足第一预设条件的情况下发送给所述锁设备的信息;所述第一预设条件为基于第二授权权限列表,对所述第二控制命令中第一权限信息的哈希值进行验证通过。
可选的,所述第一控制命令为所述第一钥匙设备基于预先获取的加密公钥对明文控制命令进行加密获得的控制命令,所述明文控制命令为所述第一钥匙设备基于获取的第一权限信息和控制参数所生成的控制命令;所述锁设备900还包括:
解密模块,用于基于与所述加密公钥对应的加密私钥,对所述第一控制命令进行解密,获得所述第一权限信息和控制参数。
可选的,所述智能锁还包括第二钥匙设备,所述第二钥匙设备具备授权钥匙设备控制所述锁设备的授权功能,所述锁设备900还包括:
第二锁端接收模块,用于接收携带有第一授权命令的第三交易信息,所述第三交易信息由所述第二钥匙设备发送,所述第一授权命令携带有所述第一权限信息、与所述第二钥匙设备相关的第二权限信息和用于对钥匙设备进行授权的授权参数;
第二锁端计算模块,用于在基于所述第一授权权限列表,确定所述第二权限信息对应的钥匙设备具备授权功能的情况下,计算所述第一权限信息的哈希值和所述第二权限信息的哈希值;
第二锁端生成模块,用于基于所述第一权限信息的哈希值、所述第二权限信息的哈希值和授权参数,生成携带有第二授权命令的第四交易信息,所述第二授权命令包括所述第一权限信息的哈希值和所述第二权限信息的哈希值;
第二锁端发送模块,用于将所述第四交易信息发送给所述服务器;
第三锁端接收模块,用于接收所述服务器发送的第一录入结果;所述第一录入结果是所述服务器在满足第二预设条件的情况下,将所述第一权限信息的哈希值录入至所述第二授权权限列表中的结果;所述第二预设条件为基于所述第二授权权限列表,确定所述第二权限信息的哈希值对应的钥匙设备具备授权功能;
第一锁端录入模块,用于若所述第一录入结果表明录入成功,将所述第一权限信息录入至所述第一授权权限列表中。
可选的,所述锁设备900还包括:
第四锁端接收模块,用于接收所述第一钥匙设备发送的第一权限信息;
第三锁端计算模块,用于计算所述第一权限信息的哈希值;
第三锁端生成模块,用于基于所述第一权限信息的哈希值和用于对钥匙设备进行初始化授权的初始化授权参数,生成携带有第三授权命令的第五交易信息;
第三锁端发送模块,用于将所述第五交易信息发送给所述服务器;
第五锁端接收模块,用于接收所述服务器发送的第二录入结果;所述第二录入结果是所述服务器在满足第三预设条件的情况下,将所述第一权限信息的哈希值录入至所述第二授权权限列表中的结果;所述第三预设条件为基于所述第三授权命令,确定所述锁设备为初始化授权;
第二锁端录入模块,用于若所述第二录入结果表明录入成功,将所述第一权限信息录入至所述第一授权权限列表中。
可选的,所述服务器为基于区块链系统的服务器。
参见图10,图中示出了本发明实施例提供的锁设备的硬件结构示意图。如图10所示,锁设备1000包括:第一处理器1001、第一存储器1002、第一用户接口1003和第一总线接口1004。
第一处理器1001,用于读取第一存储器1002中的程序,执行下列过程:
接收携带有第一控制命令的第一交易信息;所述第一交易信息由所述第一钥匙设备发送,所述第一控制命令携带有与所述第一钥匙设备相关的第一权限信息和用于对所述锁设备进行控制的控制参数;
在基于第一授权权限列表,对所述第一权限信息进行验证通过的情况下,计算所述第一权限信息的哈希值;
基于所述第一权限信息的哈希值和所述控制参数,生成携带有第二控制命令的第二交易信息;
将所述第二交易信息发送给服务器;
基于接收的控制信息中控制参数执行对应的操作,所述控制信息是所述服务器在满足第一预设条件的情况下发送给所述锁设备的信息;所述第一预设条件为基于第二授权权限列表,对所述第二控制命令中第一权限信息的哈希值进行验证通过。
在图10中,总线架构可以包括任意数量的互联的总线和桥,具体由第一处理器1001代表的一个或多个处理器和第一存储器1002代表的存储器的各种电路链接在一起。总线架构还可以将诸如外围设备、稳压器和功率管理电路等之类的各种其他电路链接在一起,这些都是本领域所公知的,因此,本文不再对其进行进一步描述。第一总线接口1004提供接口。针对不同的用户设备,第一用户接口1003还可以是能够外接内接需要设备的接口,连接的设备包括但不限于小键盘、显示器、扬声器、麦克风、操纵杆等。
第一处理器1001负责管理总线架构和通常的处理,第一存储器1002可以存储第一处理器1001在执行操作时所使用的数据。
可选的,所述第一控制命令为所述第一钥匙设备基于预先获取的加密公钥对明文控制命令进行加密获得的控制命令,所述明文控制命令为所述第一钥匙设备基于获取的第一权限信息和控制参数所生成的控制命令;所述第一处理器1001,还用于:
基于与所述加密公钥对应的加密私钥,对所述第一控制命令进行解密,获得所述第一权限信息和控制参数。
可选的,所述智能锁还包括第二钥匙设备,所述第二钥匙设备具备授权钥匙设备控制所述锁设备的授权功能,所述第一处理器1001,还用于:
接收携带有第一授权命令的第三交易信息,所述第三交易信息由所述第二钥匙设备发送,所述第一授权命令携带有所述第一权限信息、与所述第二钥匙设备相关的第二权限信息和用于对钥匙设备进行授权的授权参数;
在基于所述第一授权权限列表,确定所述第二权限信息对应的钥匙设备具备授权功能的情况下,计算所述第一权限信息的哈希值和所述第二权限信息的哈希值;
基于所述第一权限信息的哈希值、所述第二权限信息的哈希值和授权参数,生成携带有第二授权命令的第四交易信息,所述第二授权命令包括所述第一权限信息的哈希值和所述第二权限信息的哈希值;
将所述第四交易信息发送给所述服务器;
接收所述服务器发送的第一录入结果;所述第一录入结果是所述服务器在满足第二预设条件的情况下,将所述第一权限信息的哈希值录入至所述第二授权权限列表中的结果;所述第二预设条件为基于所述第二授权权限列表,确定所述第二权限信息的哈希值对应的钥匙设备具备授权功能;
若所述第一录入结果表明录入成功,将所述第一权限信息录入至所述第一授权权限列表中。
可选的,所述第一处理器1001,还用于:
接收所述第一钥匙设备发送的第一权限信息;
计算所述第一权限信息的哈希值;
基于所述第一权限信息的哈希值和用于对钥匙设备进行初始化授权的初始化授权参数,生成携带有第三授权命令的第五交易信息;
将所述第五交易信息发送给所述服务器;
接收所述服务器发送的第二录入结果;所述第二录入结果是所述服务器在满足第三预设条件的情况下,将所述第一权限信息的哈希值录入至所述第二授权权限列表中的结果;所述第三预设条件为基于所述第三授权命令,确定所述锁设备为初始化授权;
若所述第二录入结果表明录入成功,将所述第一权限信息录入至所述第一授权权限列表中。
可选的,所述服务器为基于区块链系统的服务器。
本发明实施例中,在对第一钥匙设备进行第一权限信息的验证时,不仅需要基于锁设备本地维护的第一授权权限列表对该第一权限信息进行匹配验证,还需要基于服务器维护的第二授权权限列表对该第一权限信息的哈希值进行匹配验证。这样,即使锁设备本地的维护信息遭遇恶意篡改,由于服务器维护的信息是权限信息的哈希值,且由于哈希值具有不可改变的特性,因此,即使锁设备的维护信息遭遇恶意篡改,未授权的钥匙设备依然也无法完成开锁或授权。一方面,对权限信息的维护更加安全,保证安全性;另一方面,能够降低锁设备本身对本地控制权限列表的设计标准,减小锁设备的设计难度。
优选的,本发明实施例还提供一种锁设备,包括第一处理器1001,第一存储器1002,存储在第一存储器1002上并可在所述第一处理器1001上运行的计算机程序,该计算机程序被第一处理器1001执行时实现上述设备侧智能锁的控制方法实施例的各个过程,且能达到相同的技术效果,为避免重复,这里不再赘述。
下面对本发明实施例提供的服务器进行说明。
参见图11,图中示出了本发明实施例提供的服务器的结构示意图。如图11所示,服务器1100包括:
第一接收模块1101,用于接收基于第一交易信息生成的第二交易信息;所述第一交易信息由智能锁的第一钥匙设备发送给所述智能锁的锁设备的交易信息,所述第一交易信息携带有第一控制命令,所述第一控制命令携带有与所述第一钥匙设备相关的第一权限信息和用于对所述锁设备进行控制的控制参数;所述第二交易信息由所述锁设备发送,所述第二交易信息携带有第二控制命令;所述第二控制命令是所述锁设备在基于第一授权权限列表,对所述第一权限信息进行验证通过的情况下,基于所述第一权限信息的哈希值和所述控制参数所生成的;
验证模块1102,用于基于第二授权权限列表,对所述第二控制命令中第一权限信息的哈希值进行验证;
第一发送模块1103,用于若验证通过,将携带有所述控制参数的控制信息发送给所述锁设备,所述控制信息用于控制所述锁设备执行对应的操作。
可选的,所述智能锁还包括第二钥匙设备,所述第二钥匙设备具备授权钥匙设备控制所述锁设备的授权功能,所述服务器1100还包括:
第二接收模块,用于接收基于第三交易信息生成的第四交易信息;所述第三交易信息由所述第二钥匙设备发送给所述锁设备的交易信息,所述第三交易信息携带有第一授权命令,所述第一授权命令携带有与所述第一钥匙设备相关的第一权限信息、与所述第二钥匙设备相关的第二权限信息和用于对钥匙设备进行授权的授权参数;所述第四交易信息由所述锁设备发送,所述第四交易信息携带有第二授权命令;所述第二授权命令是所述锁设备在基于所述第一授权权限列表,确定所述第二权限信息对应的钥匙设备具备授权功能的情况下,基于所述第一权限信息的哈希值、所述第二权限信息的哈希值和所述授权参数所生成的;
确定模块,用于基于所述第二授权权限列表,确定所述第二权限信息的哈希值对应的钥匙设备是否具备授权功能;
第一录入模块,用于若所述第二权限信息的哈希值对应的钥匙设备具备授权功能,将所述第一权限信息的哈希值录入至所述第二授权权限列表中;
第二发送模块,用于将第一录入结果发送给所述锁设备,所述第一录入结果用于指示所述锁设备在录入成功的情况下,将所述第一权限信息录入至所述第一授权权限列表中。
可选的,所述服务器1100还包括:
第三接收模块,用于接收携带有第三授权命令的第五交易信息;所述第五交易信息由所述第一钥匙设备发送,所述第三授权命令携带有所述第一权限信息的哈希值和用于对钥匙设备进行初始化授权的初始化授权参数;
第二录入模块,用于在基于所述第三授权命令,确定所述锁设备为初始化授权的情况下,将所述第一权限信息的哈希值录入至所述第二授权权限列表中;
第三发送模块,用于将第二录入结果发送给所述锁设备,所述第二录入结果用于指示所述锁设备在录入成功的情况下,将所述第一权限信息录入至所述第一授权权限列表中。
可选的,所述服务器为基于区块链系统的服务器。
参见图12,图中示出了本发明实施例提供的服务器的硬件结构示意图。如图12所示,服务器1200包括:第二处理器1201、第二存储器1202、第二用户接口1203和第二总线接口1204。
第二处理器1201,用于读取第二存储器1202中的程序,执行下列过程:
接收基于第一交易信息生成的第二交易信息;所述第一交易信息由所述第一钥匙设备发送给所述锁设备的交易信息,所述第一交易信息携带有第一控制命令,所述第一控制命令携带有与所述第一钥匙设备相关的第一权限信息和用于对所述锁设备进行控制的控制参数;所述第二交易信息由所述锁设备发送,所述第二交易信息携带有第二控制命令;所述第二控制命令是所述锁设备在基于第一授权权限列表,对所述第一权限信息进行验证通过的情况下,基于所述第一权限信息的哈希值和所述控制参数所生成的;
基于第二授权权限列表,对所述第二控制命令中第一权限信息的哈希值进行验证;
若验证通过,将携带有所述控制参数的控制信息发送给所述锁设备,所述控制信息用于控制所述锁设备执行对应的操作。
在图12中,总线架构可以包括任意数量的互联的总线和桥,具体由第二处理器1201代表的一个或多个处理器和第二存储器1202代表的存储器的各种电路链接在一起。总线架构还可以将诸如外围设备、稳压器和功率管理电路等之类的各种其他电路链接在一起,这些都是本领域所公知的,因此,本文不再对其进行进一步描述。第二总线接口1204提供接口。针对不同的用户设备,第二用户接口1203还可以是能够外接内接需要设备的接口,连接的设备包括但不限于小键盘、显示器、扬声器、麦克风、操纵杆等。
第二处理器1201负责管理总线架构和通常的处理,第二存储器1202可以存储第二处理器1201在执行操作时所使用的数据。
可选的,所述智能锁还包括第二钥匙设备,所述第二钥匙设备具备授权钥匙设备控制所述锁设备的授权功能,所述第二处理器1201,还用于:
接收基于第三交易信息生成的第四交易信息;所述第三交易信息由所述第二钥匙设备发送给所述锁设备的交易信息,所述第三交易信息携带有第一授权命令,所述第一授权命令携带有与所述第一钥匙设备相关的第一权限信息、与所述第二钥匙设备相关的第二权限信息和用于对钥匙设备进行授权的授权参数;所述第四交易信息由所述锁设备发送,所述第四交易信息携带有第二授权命令;所述第二授权命令是所述锁设备在基于所述第一授权权限列表,确定所述第二权限信息对应的钥匙设备具备授权功能的情况下,基于所述第一权限信息的哈希值、所述第二权限信息的哈希值和所述授权参数所生成的;
基于所述第二授权权限列表,确定所述第二权限信息的哈希值对应的钥匙设备是否具备授权功能;
若所述第二权限信息的哈希值对应的钥匙设备具备授权功能,将所述第一权限信息的哈希值录入至所述第二授权权限列表中;
将第一录入结果发送给所述锁设备,所述第一录入结果用于指示所述锁设备在录入成功的情况下,将所述第一权限信息录入至所述第一授权权限列表中。
可选的,第二处理器1201,还用于:
接收携带有第三授权命令的第五交易信息;所述第五交易信息由所述第一钥匙设备发送,所述第三授权命令携带有所述第一权限信息的哈希值和用于对钥匙设备进行初始化授权的初始化授权参数;
在基于所述第三授权命令,确定所述锁设备为初始化授权的情况下,将所述第一权限信息的哈希值录入至所述第二授权权限列表中;
将第二录入结果发送给所述锁设备,所述第二录入结果用于指示所述锁设备在录入成功的情况下,将所述第一权限信息录入至所述第一授权权限列表中。
可选的,所述服务器为基于区块链系统的服务器。
本发明实施例中,在对第一钥匙设备进行第一权限信息的验证时,不仅需要基于锁设备本地维护的第一授权权限列表对该第一权限信息进行匹配验证,还需要基于服务器维护的第二授权权限列表对该第一权限信息的哈希值进行匹配验证。这样,即使锁设备本地的维护信息遭遇恶意篡改,由于服务器维护的信息是权限信息的哈希值,且由于哈希值具有不可改变的特性,因此,即使锁设备的维护信息遭遇恶意篡改,未授权的钥匙设备依然也无法完成开锁或授权。一方面,对权限信息的维护更加安全,保证安全性;另一方面,能够降低锁设备本身对本地控制权限列表的设计标准,减小锁设备的设计难度。
优选的,本发明实施例还提供一种服务器,包括第二处理器1201,第二存储器1202,存储在第二存储器1202上并可在所述第二处理器1201上运行的计算机程序,该计算机程序被第二处理器1201执行时实现上述服务器侧智能锁的控制方法实施例的各个过程,且能达到相同的技术效果,为避免重复,这里不再赘述。
本发明实施例还提供一种计算机可读存储介质,计算机可读存储介质上存储有计算机程序,该计算机程序被第一处理器执行时实现上述设备侧智能锁的控制方法,或者被第二处理器执行时实现上述服务器侧智能锁的控制方法实施例的各个过程,且能达到相同的技术效果,为避免重复,这里不再赘述。其中,所述的计算机可读存储介质,如只读存储器(Read-Only Memory,简称ROM)、随机存取存储器(Random Access Memory,简称RAM)、磁碟或者光盘等。
本领域普通技术人员可以意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,能够以电子硬件、或者计算机软件和电子硬件的结合来实现。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本发明的范围。
所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,上述描述的系统、装置和单元的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。
在本申请所提供的实施例中,应该理解到,所揭露的系统和方法,可以通过其它的方式实现。例如,以上所描述的系统实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。
所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本发明实施例方案的目的。
另外,在本发明各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。
所述功能如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、ROM、RAM、磁碟或者光盘等各种可以存储程序代码的介质。
以上所述,仅为本发明的具体实施方式,但本发明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,可轻易想到变化或替换,都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应以权利要求的保护范围为准。

Claims (14)

1.一种智能锁的控制方法,应用于智能锁的锁设备,其特征在于,所述智能锁还包括第一钥匙设备;所述方法包括:
接收携带有第一控制命令的第一交易信息;所述第一交易信息由所述第一钥匙设备发送,所述第一控制命令携带有与所述第一钥匙设备相关的第一权限信息和用于对所述锁设备进行控制的控制参数;
在基于第一授权权限列表,对所述第一权限信息进行验证通过的情况下,计算所述第一权限信息的哈希值;
基于所述第一权限信息的哈希值和所述控制参数,生成携带有第二控制命令的第二交易信息;
将所述第二交易信息发送给服务器;
基于接收的控制信息中控制参数执行对应的操作,所述控制信息是所述服务器在满足第一预设条件的情况下发送给所述锁设备的信息;所述第一预设条件为基于第二授权权限列表,对所述第二控制命令中第一权限信息的哈希值进行验证通过;
所述接收携带有第一控制命令的第一交易信息之前,所述方法还包括:
接收所述第一钥匙设备发送的第一权限信息;
计算所述第一权限信息的哈希值;
基于所述第一权限信息的哈希值和用于对钥匙设备进行初始化授权的初始化授权参数,生成携带有第三授权命令的第五交易信息;
将所述第五交易信息发送给所述服务器;
接收所述服务器发送的第二录入结果;所述第二录入结果是所述服务器在满足第三预设条件的情况下,将所述第一权限信息的哈希值录入至所述第二授权权限列表中的结果;所述第三预设条件为基于所述第三授权命令,确定所述锁设备为初始化授权;
若所述第二录入结果表明录入成功,将所述第一权限信息录入至所述第一授权权限列表中。
2.根据权利要求1所述的方法,其特征在于,所述第一控制命令为所述第一钥匙设备基于预先获取的加密公钥对明文控制命令进行加密获得的控制命令,所述明文控制命令为所述第一钥匙设备基于获取的第一权限信息和控制参数所生成的控制命令;所述在基于第一授权权限列表,对所述第一权限信息进行验证通过的情况下,计算所述第一权限信息的哈希值之前,所述方法还包括:
基于与所述加密公钥对应的加密私钥,对所述第一控制命令进行解密,获得所述第一权限信息和控制参数。
3.根据权利要求1所述的方法,其特征在于,所述智能锁还包括第二钥匙设备,所述第二钥匙设备具备授权钥匙设备控制所述锁设备的授权功能,所述接收携带有第一控制命令的第一交易信息之前,所述方法还包括:
接收携带有第一授权命令的第三交易信息,所述第三交易信息由所述第二钥匙设备发送,所述第一授权命令携带有所述第一权限信息、与所述第二钥匙设备相关的第二权限信息和用于对钥匙设备进行授权的授权参数;
在基于所述第一授权权限列表,确定所述第二权限信息对应的钥匙设备具备授权功能的情况下,计算所述第一权限信息的哈希值和所述第二权限信息的哈希值;
基于所述第一权限信息的哈希值、所述第二权限信息的哈希值和授权参数,生成携带有第二授权命令的第四交易信息,所述第二授权命令包括所述第一权限信息的哈希值和所述第二权限信息的哈希值;
将所述第四交易信息发送给所述服务器;
接收所述服务器发送的第一录入结果;所述第一录入结果是所述服务器在满足第二预设条件的情况下,将所述第一权限信息的哈希值录入至所述第二授权权限列表中的结果;所述第二预设条件为基于所述第二授权权限列表,确定所述第二权限信息的哈希值对应的钥匙设备具备授权功能;
若所述第一录入结果表明录入成功,将所述第一权限信息录入至所述第一授权权限列表中。
4.根据权利要求1所述的方法,其特征在于,所述服务器为基于区块链系统的服务器。
5.一种智能锁的控制方法,应用于服务器,其特征在于,所述智能锁包括第一钥匙设备和锁设备;所述方法包括:
接收基于第一交易信息生成的第二交易信息;所述第一交易信息由所述第一钥匙设备发送给所述锁设备的交易信息,所述第一交易信息携带有第一控制命令,所述第一控制命令携带有与所述第一钥匙设备相关的第一权限信息和用于对所述锁设备进行控制的控制参数;所述第二交易信息由所述锁设备发送,所述第二交易信息携带有第二控制命令;所述第二控制命令是所述锁设备在基于第一授权权限列表,对所述第一权限信息进行验证通过的情况下,基于所述第一权限信息的哈希值和所述控制参数所生成的;
基于第二授权权限列表,对所述第二控制命令中第一权限信息的哈希值进行验证;
若验证通过,将携带有所述控制参数的控制信息发送给所述锁设备,所述控制信息用于控制所述锁设备执行对应的操作。
6.根据权利要求5所述的方法,其特征在于,所述智能锁还包括第二钥匙设备,所述第二钥匙设备具备授权钥匙设备控制所述锁设备的授权功能,所述接收基于第一交易信息生成的第二交易信息之前,所述方法还包括:
接收基于第三交易信息生成的第四交易信息;所述第三交易信息由所述第二钥匙设备发送给所述锁设备的交易信息,所述第三交易信息携带有第一授权命令,所述第一授权命令携带有与所述第一钥匙设备相关的第一权限信息、与所述第二钥匙设备相关的第二权限信息和用于对钥匙设备进行授权的授权参数;所述第四交易信息由所述锁设备发送,所述第四交易信息携带有第二授权命令;所述第二授权命令是所述锁设备在基于所述第一授权权限列表,确定所述第二权限信息对应的钥匙设备具备授权功能的情况下,基于所述第一权限信息的哈希值、所述第二权限信息的哈希值和所述授权参数所生成的;
基于所述第二授权权限列表,确定所述第二权限信息的哈希值对应的钥匙设备是否具备授权功能;
若所述第二权限信息的哈希值对应的钥匙设备具备授权功能,将所述第一权限信息的哈希值录入至所述第二授权权限列表中;
将第一录入结果发送给所述锁设备,所述第一录入结果用于指示所述锁设备在录入成功的情况下,将所述第一权限信息录入至所述第一授权权限列表中。
7.根据权利要求5所述的方法,其特征在于,所述接收基于第一交易信息生成的第二交易信息之前,所述方法还包括:
接收携带有第三授权命令的第五交易信息;所述第五交易信息由所述第一钥匙设备发送,所述第三授权命令携带有所述第一权限信息的哈希值和用于对钥匙设备进行初始化授权的初始化授权参数;
在基于所述第三授权命令,确定所述锁设备为初始化授权的情况下,将所述第一权限信息的哈希值录入至所述第二授权权限列表中;
将第二录入结果发送给所述锁设备,所述第二录入结果用于指示所述锁设备在录入成功的情况下,将所述第一权限信息录入至所述第一授权权限列表中。
8.根据权利要求5所述的方法,其特征在于,所述服务器为基于区块链系统的服务器。
9.一种锁设备,其特征在于,所述锁设备包括:
第一锁端接收模块,用于接收携带有第一控制命令的第一交易信息;所述第一交易信息由与所述锁设备匹配的第一钥匙设备发送,所述第一控制命令携带有与所述第一钥匙设备相关的第一权限信息和用于对所述锁设备进行控制的控制参数;
第一锁端计算模块,用于在基于第一授权权限列表,对所述第一权限信息进行验证通过的情况下,计算所述第一权限信息的哈希值;
第一锁端生成模块,用于基于所述第一权限信息的哈希值和所述控制参数,生成携带有第二控制命令的第二交易信息;
第一锁端发送模块,用于将所述第二交易信息发送给服务器;
锁端执行模块,用于基于接收的控制信息中控制参数执行对应的操作,所述控制信息是所述服务器在满足第一预设条件的情况下发送给所述锁设备的信息;所述第一预设条件为基于第二授权权限列表,对所述第二控制命令中第一权限信息的哈希值进行验证通过;
所述锁设备,还包括:
第四锁端接收模块,用于接收所述第一钥匙设备发送的第一权限信息;
第三锁端计算模块,用于计算所述第一权限信息的哈希值;
第三锁端生成模块,用于基于所述第一权限信息的哈希值和用于对钥匙设备进行初始化授权的初始化授权参数,生成携带有第三授权命令的第五交易信息;
第三锁端发送模块,用于将所述第五交易信息发送给所述服务器;
第五锁端接收模块,用于接收所述服务器发送的第二录入结果;所述第二录入结果是所述服务器在满足第三预设条件的情况下,将所述第一权限信息的哈希值录入至所述第二授权权限列表中的结果;所述第三预设条件为基于所述第三授权命令,确定所述锁设备为初始化授权;
第二锁端录入模块,用于若所述第二录入结果表明录入成功,将所述第一权限信息录入至所述第一授权权限列表中。
10.一种服务器,其特征在于,所述服务器包括:
第一接收模块,用于接收基于第一交易信息生成的第二交易信息;所述第一交易信息由智能锁的第一钥匙设备发送给所述智能锁的锁设备的交易信息,所述第一交易信息携带有第一控制命令,所述第一控制命令携带有与所述第一钥匙设备相关的第一权限信息和用于对所述锁设备进行控制的控制参数;所述第二交易信息由所述锁设备发送,所述第二交易信息携带有第二控制命令;所述第二控制命令是所述锁设备在基于第一授权权限列表,对所述第一权限信息进行验证通过的情况下,基于所述第一权限信息的哈希值和所述控制参数所生成的;
验证模块,用于基于第二授权权限列表,对所述第二控制命令中第一权限信息的哈希值进行验证;
第一发送模块,用于若验证通过,将携带有所述控制参数的控制信息发送给所述锁设备,所述控制信息用于控制所述锁设备执行对应的操作。
11.一种智能锁的控制系统,其特征在于,所述系统包括智能锁的第一钥匙设备、所述智能锁的锁设备和服务器;其中,
所述第一钥匙设备,用于获取第一输入操作;响应所述第一输入操作,生成携带有第一控制命令的第一交易信息;将所述第一交易信息发送给锁设备;所述第一控制命令携带有与所述第一钥匙设备相关的第一权限信息和用于对所述锁设备进行控制的控制参数;
所述锁设备,用于接收携带有第一控制命令的第一交易信息;在基于第一授权权限列表,对所述第一权限信息进行验证通过的情况下,计算所述第一权限信息的哈希值;基于所述第一权限信息的哈希值和所述控制参数,生成携带有第二控制命令的第二交易信息;将所述第二交易信息发送给服务器;
所述服务器,用于接收所述第二交易信息;在基于第二授权权限列表,对所述第二控制命令中第一权限信息的哈希值进行验证通过的情况下,将所述第二交易信息发送给所述锁设备;
所述锁设备,还用于基于接收的第二交易信息中第二控制命令的控制参数执行对应的操作;
所述锁设备,还用于,在接收携带有第一控制命令的第一交易信息之前,接收所述第一钥匙设备发送的第一权限信息;
计算所述第一权限信息的哈希值;
基于所述第一权限信息的哈希值和用于对钥匙设备进行初始化授权的初始化授权参数,生成携带有第三授权命令的第五交易信息;
将所述第五交易信息发送给所述服务器;
接收所述服务器发送的第二录入结果;所述第二录入结果是所述服务器在满足第三预设条件的情况下,将所述第一权限信息的哈希值录入至所述第二授权权限列表中的结果;所述第三预设条件为基于所述第三授权命令,确定所述锁设备为初始化授权;
若所述第二录入结果表明录入成功,将所述第一权限信息录入至所述第一授权权限列表中。
12.一种锁设备,其特征在于,包括第一处理器,第一存储器,存储在所述第一存储器上并可在所述第一处理器上运行的计算机程序,所述计算机程序被所述第一处理器执行时实现如权利要求1至4中任一项所述的智能锁的控制方法的步骤。
13.一种服务器,其特征在于,包括第二处理器,第二存储器,存储在所述第二存储器上并可在所述第二处理器上运行的计算机程序,所述计算机程序被所述第二处理器执行时实现如权利要求5至8中任一项所述的智能锁的控制方法的步骤。
14.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质上存储有计算机程序,所述计算机程序被第一处理器执行时实现如权利要求1至4中任一项所述的智能锁的控制方法的步骤,或者被第二处理器执行时实现如权利要求5至8中任一项所述的智能锁的控制方法的步骤。
CN201910823318.2A 2019-09-02 2019-09-02 智能锁的控制方法、系统、锁设备、服务器及存储介质 Active CN112530053B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201910823318.2A CN112530053B (zh) 2019-09-02 2019-09-02 智能锁的控制方法、系统、锁设备、服务器及存储介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201910823318.2A CN112530053B (zh) 2019-09-02 2019-09-02 智能锁的控制方法、系统、锁设备、服务器及存储介质

Publications (2)

Publication Number Publication Date
CN112530053A CN112530053A (zh) 2021-03-19
CN112530053B true CN112530053B (zh) 2022-12-13

Family

ID=74974279

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201910823318.2A Active CN112530053B (zh) 2019-09-02 2019-09-02 智能锁的控制方法、系统、锁设备、服务器及存储介质

Country Status (1)

Country Link
CN (1) CN112530053B (zh)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113516807A (zh) * 2021-05-18 2021-10-19 深圳市亲邻科技有限公司 基于区块链的门禁管理方法、装置和门禁设备

Family Cites Families (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20080092516A (ko) * 2007-04-12 2008-10-16 아이네오 가부시키가이샤 클라이언트 서버 시스템, 클라이언트 서버 시스템에서의저장매체 권한 설정방법 및 권한 인증방법
CN111275857B (zh) * 2016-06-21 2022-02-01 创新先进技术有限公司 智能锁的控制方法及智能锁
TWI620087B (zh) * 2017-02-15 2018-04-01 財團法人資訊工業策進會 驗證伺服器、驗證方法及其電腦程式產品
CN109035515A (zh) * 2018-07-23 2018-12-18 上海永天科技股份有限公司 智能锁的控制方法及门锁系统
CN109243020A (zh) * 2018-08-24 2019-01-18 电子科技大学 一种基于无证书的智能锁身份认证方法

Also Published As

Publication number Publication date
CN112530053A (zh) 2021-03-19

Similar Documents

Publication Publication Date Title
US10601805B2 (en) Securitization of temporal digital communications with authentication and validation of user and access devices
WO2020182151A1 (zh) 用于拆分和恢复密钥的方法、程序产品、存储介质和系统
EP3435591B1 (en) 1:n biometric authentication, encryption, signature system
CN102215221B (zh) 从移动设备对计算机的安全远程唤醒、引导及登录的方法和系统
CN112214745B (zh) 经认证的外部生物特征读取器和验证设备
JP5710439B2 (ja) テンプレート配信型キャンセラブル生体認証システムおよびその方法
US20130305055A1 (en) Biometric identification method
CN100504717C (zh) 具有基于进程的密钥库的计算装置和操作计算装置的方法
CN104464048B (zh) 一种电子密码锁开锁方法及装置
US10742410B2 (en) Updating biometric template protection keys
JP6751545B1 (ja) 電子署名システム及び耐タンパ装置
US20100031045A1 (en) Methods and system and computer medium for loading a set of keys
WO2013123453A1 (en) Data storage devices, systems, and methods
WO2021111824A1 (ja) 電子署名システム及び耐タンパ装置
TW201223225A (en) Method for personal identity authentication utilizing a personal cryptographic device
CN109951294B (zh) 电子标签系统中的信息更新管理方法及相关设备
US8806216B2 (en) Implementation process for the use of cryptographic data of a user stored in a data base
CN112530053B (zh) 智能锁的控制方法、系统、锁设备、服务器及存储介质
CN103780600B (zh) 一种基于rsa公钥密码的离线电力交易信息系统授权方法
JP2004295761A (ja) 端末装置及び情報処理装置
CN108985079B (zh) 数据验证方法和验证系统
Maheshwari et al. Secure authentication using biometric templates in Kerberos
CN113282945B (zh) 智能锁权限管理方法、装置、电子设备及存储介质
TWI633231B (zh) Smart lock and smart lock control method
KR20220096811A (ko) 블록체인과 시간정보를 이용한 인증 시스템 및 방법

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