CN112712612A - 用于控制智能门锁的方法、装置、计算机可读介质及设备 - Google Patents
用于控制智能门锁的方法、装置、计算机可读介质及设备 Download PDFInfo
- Publication number
- CN112712612A CN112712612A CN201910954205.6A CN201910954205A CN112712612A CN 112712612 A CN112712612 A CN 112712612A CN 201910954205 A CN201910954205 A CN 201910954205A CN 112712612 A CN112712612 A CN 112712612A
- Authority
- CN
- China
- Prior art keywords
- door lock
- code
- information
- intelligent door
- function code
- 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 103
- 238000012795 verification Methods 0.000 claims abstract description 134
- 238000004590 computer program Methods 0.000 claims description 13
- 230000004044 response Effects 0.000 claims description 12
- 230000006870 function Effects 0.000 description 260
- 230000008569 process Effects 0.000 description 11
- 238000004891 communication Methods 0.000 description 10
- 238000010586 diagram Methods 0.000 description 10
- 238000012545 processing Methods 0.000 description 8
- 238000012905 input function Methods 0.000 description 5
- 238000005516 engineering process Methods 0.000 description 4
- 230000009471 action Effects 0.000 description 3
- 230000005540 biological transmission Effects 0.000 description 3
- 230000009286 beneficial effect Effects 0.000 description 2
- 230000000694 effects Effects 0.000 description 2
- 230000003287 optical effect Effects 0.000 description 2
- 230000000712 assembly Effects 0.000 description 1
- 238000000429 assembly Methods 0.000 description 1
- 230000008859 change Effects 0.000 description 1
- 230000007547 defect Effects 0.000 description 1
- 230000008014 freezing Effects 0.000 description 1
- 238000007710 freezing Methods 0.000 description 1
- 230000014509 gene expression Effects 0.000 description 1
- 238000004519 manufacturing process Methods 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 230000003068 static effect Effects 0.000 description 1
Images
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/00817—Electronically operated locks; Circuits therefor; Nonmechanical keys therefor, e.g. passive or active electrical keys or other data carriers without mechanical keys where the code of the lock can be programmed
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/32—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials
- H04L9/3236—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials using cryptographic hash functions
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/32—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials
- H04L9/3297—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials involving time stamps, e.g. generation of time stamps
-
- 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
- G07C2009/00753—Electronically operated locks; Circuits therefor; Nonmechanical keys therefor, e.g. passive or active electrical keys or other data carriers without mechanical keys operated by active electrical keys
-
- 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/00817—Electronically operated locks; Circuits therefor; Nonmechanical keys therefor, e.g. passive or active electrical keys or other data carriers without mechanical keys where the code of the lock can be programmed
- G07C2009/00825—Electronically operated locks; Circuits therefor; Nonmechanical keys therefor, e.g. passive or active electrical keys or other data carriers without mechanical keys where the code of the lock can be programmed remotely by lines or wireless communication
Landscapes
- Engineering & Computer Science (AREA)
- Computer Security & Cryptography (AREA)
- Computer Networks & Wireless Communication (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Signal Processing (AREA)
- Lock And Its Accessories (AREA)
Abstract
本申请提供了用于控制智能门锁的方法、装置、计算机可读介质及设备,该方法的一具体实施方式包括:服务器接收客户端发送的携带有识别码和待执行操作的操作信息的功能码获取请求;服务器根据功能码获取请求和当前时间生成功能码,其中,功能码包括第一校验信息和根据操作信息确定的操作码,第一校验信息根据当前时间、操作码以及识别码确定;服务器将功能码发送至客户端,以便智能门锁能够获取到被发送至客户端的该功能码,并对第一校验信息进行校验,校验通过后,执行操作码对应的操作。本申请的第一校验信息只能在对应的有效时间内通过校验,经过对应的有效时间后,即使第一校验信息泄露,也不会给智能门锁的用户带来安全隐患。
Description
技术领域
本申请涉及自动控制技术领域,特别涉及用于控制智能门锁的方法、装置、计算机可读介质及设备。
背景技术
随着互联网技术的广泛应用,智能门锁正在被越来越多的用户使用。智能门锁一方面可以根据用户设定的开锁密码或生物特征进行开锁,另一方面可以通过无线传输方式与服务器通信,使得用户能够通过客户端控制智能门锁。其中,用户对智能门锁的控制包括管理智能门锁的密码。
然而,智能门锁实际使用过程中有时会出现离线状态,也就是无法与服务器通信的状态。现有技术中,如果用户需要对离线状态的智能门锁进行控制,可以向智能门锁输入一个预设的管理员密码,在管理员密码通过校验后即可控制智能门锁。对于一个智能门锁,管理员密码具有很高的控制权限,因此,一旦管理员密码泄露,就会给智能门锁的用户造成巨大的安全隐患。
发明内容
基于上述现有技术的不足,本申请提出了用于控制智能门锁的方法、装置、计算机可读介质及设备,以解决现有技术中管理员密码泄露导致的安全隐患。
为解决上述问题,现提出的方案如下:
第一方面,本申请实施例提供了一种用于控制智能门锁的方法,该方法包括:
服务器接收客户端发送的功能码获取请求;其中,功能码获取请求携带有智能门锁的识别码,以及待执行操作的操作信息;
服务器根据功能码获取请求和当前时间生成对应的功能码;其中,功能码包括操作码和第一校验信息,操作码根据操作信息确定,第一校验信息根据操作码、当前时间以及识别码确定;
服务器向客户端发送功能码;其中,第一校验信息通过智能门锁的校验后,功能码用于控制智能门锁执行操作码对应的操作。
在一些实施例中,服务器通过以下第一确定方式确定第一校验信息:
采用预设的哈希算法,对操作码、当前时间以及识别码进行哈希运算,将所得的哈希值确定为第一校验信息。
在一些实施例中,服务器通过以下第二确定方式确定第一校验信息:
根据识别码获取智能门锁的设备密钥;
采用预设的哈希算法,对操作码、当前时间以及设备密钥进行哈希运算,将所得的哈希值确定为所述第一校验信息。
在一些实施例中,服务器根据功能码获取请求和当前时间生成对应的功能码之后,还包括:
服务器根据智能门锁的加密信息,对功能码进行加密,得到加密后的功能码;
其中,服务器向客户端发送功能码,包括:
服务器向客户端发送加密后的功能码。
在一些实施例中,功能码获取请求还携带有客户端的所属用户的用户信息;
其中,服务器根据功能码获取请求和当前时间生成对应的功能码之前,还包括:
根据用户信息和操作信息,判断客户端的所属用户是否具有待执行操作对应的权限;
若判断出客户端的所属用户有待执行操作对应的权限,则执行根据功能码获取请求和当前时间生成对应的功能码;
若判断出客户端的所属用户没有待执行操作对应的权限,则向客户端发送响应信息;其中,响应信息用于表明客户端的功能码获取请求被服务器拒绝。
第二方面,本申请实施例提供了一种用于控制智能门锁的方法,该方法包括:
智能门锁获取功能码;其中,功能码是服务器响应于接收到客户端发送的与功能码有关的功能码获取请求,基于功能码获取请求和与功能码获取请求对应的接收时间生成的,功能码获取请求携带有智能门锁的识别码,以及待执行操作的操作信息,功能码包括操作码和第一校验信息,操作码根据操作信息确定,第一校验信息根据操作码、接收时间以及识别码确定;
智能门锁对第一校验信息进行校验;
若第一校验信息通过校验,智能门锁执行操作码对应的操作。
在一些实施例中,第一校验信息是服务器通过以下第一确定方式确定的:采用预设的哈希算法,对操作码、接收时间以及识别码进行哈希运算,将所得的哈希值确定为第一校验信息;以及
智能门锁对第一校验信息进行校验,包括:
智能门锁采用哈希算法,对操作码、当前时间以及识别码进行哈希运算,将所得的哈希值确定为第二校验信息;
智能门锁判断第一校验信息与第二校验信息是否一致;
若第一校验信息与第二校验信息一致,则智能门锁确定第一校验信息通过校验;
若第一校验信息与第二校验信息不一致,则智能门锁确定第一校验信息未通过校验。
在一些实施例中,第一校验信息是服务器通过以下第二确定方式确定的:根据识别码获取智能门锁的设备密钥;采用预设的哈希算法,对操作码、接收时间以及设备密钥进行哈希运算,将所得的哈希值确定为所述第一校验信息;以及
智能门锁对第一校验信息进行校验,包括:
智能门锁采用哈希算法,对操作码、智能门锁的设备密钥以及当前时间进行哈希运算,将所得的哈希值确定为第二校验信息;
智能门锁判断第一校验信息与第二校验信息是否一致;
若第一校验信息与第二校验信息一致,则智能门锁确定第一校验信息通过校验;
若第一校验信息与第二校验信息不一致,则智能门锁确定第一校验信息未通过校验。
在一些实施例中,若第一校验信息通过校验,智能门锁执行操作码对应的操作之后,还包括:
智能门锁将功能码记录在自身的历史数据库中。
在一些实施例中,若第一校验信息通过校验,智能门锁执行操作码对应的操作,包括:
若第一校验信息通过校验,则智能门锁判断自身是否存储有功能码;
若智能门锁判断出自身未存储有功能码,则智能门锁执行操作码对应的操作。
第三方面,本申请实施例提供了一种用于控制智能门锁的装置,应用于服务器,该装置包括:
接收单元,用于接收客户端发送的功能码获取请求;其中,功能码获取请求携带有智能门锁的识别码,以及待执行操作的操作信息;
生成单元,用于根据功能码获取请求和当前时间生成对应的功能码;其中,功能码包括操作码和第一校验信息,操作码根据操作信息确定,第一校验信息根据操作码、当前时间以及识别码确定;
发送单元,用于向客户端功能码;其中,第一校验信息通过智能门锁的校验后,功能码用于控制智能门锁执行操作码对应的操作。
在一些实施例中,上述装置还包括:
第一确定单元,用于通过以下第一确定方式确定第一校验信息:
采用预设的哈希算法,对操作码、当前时间以及识别码进行哈希运算,将所得的哈希值确定为第一校验信息。
在一些实施例中,上述装置还包括:
第二确定单元,用于通过以下第二确定方式确定第一校验信息:
根据识别码获取智能门锁的设备密钥;采用预设的哈希算法,对操作码、当前时间以及设备密钥进行哈希运算,将所得的哈希值确定为第一校验信息。
在一些实施例中,上述装置还包括:
加密单元,用于根据智能门锁的加密信息,对功能码进行加密,得到加密后的功能码;
其中,发送单元进一步用于:向智能门锁发送加密后的功能码。
在一些实施例中,功能码获取请求还携带有客户端的所属用户的用户信息;以及生成单元进一步用于:根据用户信息和操作信息,判断客户端的所属用户是否具有待执行操作对应的权限;若判断出客户端的所属用户有待执行操作对应的权限,则根据功能码获取请求和当前时间生成对应的功能码;若判断出客户端的所属用户没有待执行操作对应的权限,则向客户端发送响应信息,其中,响应信息用于表明客户端的功能码获取请求被服务器拒绝。
第四方面,本申请实施例提供了一种用于控制智能门锁的装置,应用于智能门锁,该装置包括:
获取单元,用于获取的功能码;其中,功能码是服务器响应于接收到客户端发送的与功能码有关的功能码获取请求,基于功能码获取请求和与功能码获取请求对应的接收时间生成的,功能码获取请求携带有智能门锁的识别码,以及待执行操作的操作信息,功能码包括操作码和第一校验信息,操作码根据操作信息确定,第一校验信息根据所述操作码、接收时间以及识别码确定;
校验单元,用于对第一校验信息进行校验;
执行单元,用于若第一校验信息通过校验,则执行操作码对应的操作。
在一些实施例中,若第一校验信息是服务器通过以下第一确定方式确定的:采用预设的哈希算法,对操作码、接收时间以及识别码进行哈希运算,将所得的哈希值确定为第一校验信息,则校验单元对第一校验信息进行校验时,用于:
采用哈希算法,对操作码、当前时间以及识别码进行哈希运算,将所得的哈希值确定为第二校验信息;判断第一校验信息与第二校验信息是否一致;若第一校验信息与第二校验信息一致,则确定第一校验信息通过校验;若第一校验信息与第二校验信息不一致,则确定第一校验信息未通过校验。
在一些实施例中,若第一校验信息是服务器通过以下第二确定方式确定的:根据识别码获取智能门锁的设备密钥;采用预设的哈希算法,对操作码、接收时间以及设备密钥进行哈希运算,将所得的哈希值确定为第一校验信息,则校验单元对第一校验信息进行校验时,用于:
采用哈希算法,对操作码、智能门锁的设备密钥以及当前时间进行哈希运算,将所得的哈希值确定为第二校验信息;判断第一校验信息与第二校验信息是否一致;若第一校验信息与第二校验信息一致,则确定第一校验信息通过校验;若第一校验信息与第二校验信息不一致,则确定第一校验信息未通过校验。
在一些实施例中,上述装置还包括:
记录单元,用于将已经被执行的功能码记录在历史数据库中。
在一些实施例中,上述装置还包括:
判断单元,用于在校验单元确定出第一校验信息通过校验后,判断历史数据库中是否存储有获取的功能码;
其中,执行单元还用于在判断单元判断出历史数据库中未存储有获取的功能码后,执行操作码对应的操作。
第五方面,本申请实施例提供了一种计算机可读介质,其上存储有计算机程序,其中,该程序被处理器执行时实现如第一方面中任一实现方式描述的方法或者实现如第二方面中任一实现方式描述的方法。
第六方面,本申请实施例提供了一种处理器,该处理器用于运行程序,其中,该程序运行时执行如第一方面中任一实现方式描述的方法或者实现如第二方面中任一实现方式描述的方法。
第七方面,本申请实施例提供了一种设备,包括:一个或多个处理器;存储装置,其上存储有一个或多个程序;当该一个或多个程序被该一个或多个处理器执行时,使得该一个或多个处理器实现如第一方面中任一实现方式描述的方法或者实现如第二方面中任一实现方式描述的方法。
本申请的上述实施例提供的方案,通过服务器从客户端接收携带有识别码和待执行操作的操作信息的功能码获取请求,而后根据功能码获取请求和当前时间生成功能码,功能码包括第一校验信息和根据操作信息确定的操作码,第一校验信息根据当前时间、操作码以及识别码确定,然后将功能码发送至客户端,以便智能门锁能够获取到被发送至客户端的该功能码,并对第一校验信息进行校验,校验通过后,执行操作码对应的操作。本申请的第一校验信息只能在对应的有效时间内通过校验,经过对应的有效时间后,即使第一校验信息泄露,也不会给智能门锁的用户带来安全隐患。另外,当智能门锁未与客户端以及服务器通信连接时,本申请提供的方案可以使得智能门锁获取用户手动输入的该功能码,从而可以实现智能门锁的离线安全控制。
附图说明
为了更清楚地说明本申请实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据提供的附图获得其他的附图。
图1为本申请实施例提供的一种用于控制智能门锁的方法的流程示意图;
图2为本申请另一实施例提供的一种用于控制智能门锁的方法的流程示意图;
图3为本申请实施例提供的一种对校验信息进行校验的方法的流程示意图;
图4为本申请实施例提供的一种智能门锁获取功能码的方法的流程示意图;
图5为本申请实施例提供的一种用于控制智能门锁的装置的结构示意图;
图6为本申请另一实施例提供的一种用于控制智能门锁的装置的结构示意图。
具体实施方式
下面结合附图和实施例对本申请作进一步的详细说明。可以理解的是,此处所描述的具体实施例仅仅用于解释相关发明,而非对该发明的限定。所描述的实施例仅仅是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。
需要说明的是,为了便于描述,附图中仅示出了与有关发明相关的部分。在不冲突的情况下,本申请中的实施例及实施例中的特征可以相互组合。
应当理解,本申请中使用的“***”、“装置”、“单元”和/或“模块”是用于区分不同级别的不同组件、元件、部件、部分或装配的一种方法。然而,如果其他词语可实现相同的目的,则可通过其他表达来替换该词语。
如本申请和权利要求书中所示,除非上下文明确提示例外情形,“一”、“一个”、“一种”和/或“该”等词并非特指单数,也可包括复数。一般说来,术语“包括”与“包含”仅提示包括已明确标识的步骤和元素,而这些步骤和元素不构成一个排它性的罗列,方法或者设备也可能包含其它的步骤或元素。由语句“包括一个……”限定的要素,并不排除在包括要素的过程、方法、商品或者设备中还存在另外的相同要素。
其中,在本申请实施例的描述中,除非另有说明,“/”表示或的意思,例如,A/B可以表示A或B;本文中的“和/或”仅仅是一种描述关联对象的关联关系,表示可以存在三种关系,例如,A和/或B,可以表示:单独存在A,同时存在A和B,单独存在B这三种情况。另外,在本申请实施例的描述中,“多个”是指两个或多于两个。
以下,术语“第一”、“第二”仅用于描述目的,而不能理解为指示或暗示相对重要性或者隐含指明所指示的技术特征的数量。由此,限定有“第一”、“第二”的特征可以明示或者隐含地包括一个或者更多个该特征。
本申请中使用了流程图用来说明根据本申请的实施例的***所执行的操作。应当理解的是,前面或后面操作不一定按照顺序来精确地执行。相反,可以按照倒序或同时处理各个步骤。同时,也可以将其他操作添加到这些过程中,或从这些过程移除某一步或数步操作。
智能门锁是一种具有通信功能的,通过识别用户输入的密码进行开锁的一种新型的门锁。用户可以通过相关网站和应用程序在智能门锁内预设至少一个密码。运行期间,若智能门锁识别到任意一个自身存储的密码,则执行开锁动作。
其中,智能门锁的密码并不限于特定的字符串,还可以是用户的生物特征,例如,可以是用户的指纹,或声纹等。
一般的,用户对智能门锁的控制,可以通过向服务器发送请求,由服务器向智能门锁发送指令的方式进行。例如,可以控制智能门锁进行下述任意一种操作:删除指定密码,冻结指定密码(指不删除指定密码,但使该密码暂时失效),解冻指定密码,开启电子反锁,关闭电子反锁,修改智能门锁的时间以及生成新密码。
上述电子反锁是智能门锁的一种功能,开启电子反锁后,将无法通过输入正确密码的方式打开智能门锁,直至关闭电子反锁。
但是,实际使用时,智能门锁可能会出现离线状态,即无法通过网络与服务器通信的状态,此时,就需要一种离线状态的控制方法来控制智能门锁执行上述操作。
综上所述,本申请实施例提供一种用于控制智能门锁的方法,用于对离线状态的智能门锁进行控制,请参考图1,本实施例提供的方法包括以下步骤:
S101、服务器接收客户端发送的功能码获取请求。
其中,功能码获取请求携带有需要控制的智能门锁的识别码,以及待执行操作的操作信息。
智能门锁的识别码保存在客户端中。
每一个智能门锁均对应一个识别码,且任意两个不同的智能门锁,其对应的识别码也不同。
步骤S101所述的客户端,可以是手机或电脑上运行的程序,也可以是通过这些设备访问的一个网站。
待执行操作指用户需要对智能门锁进行的操作,具体可以是前述对智能门锁的介绍中涉及的多种操作中的任意一种。
需要说明的是,当待执行操作是对指定密码的删除、冻结或解冻时,待执行操作的操作信息一方面要指明进行什么操作(即进行删除、冻结还是解冻),也就是要携带上述动作对应的编码,另一方面需要指明对哪一个密码进行操作,也就是要携带用于唯一的确定智能门锁当前存储的密码的密码标识。
进一步的,涉及生成新密码时,操作信息中应当包括“生成新密码”这一动作的编码,还应当携带有新密码。例如,要生成的新密码是“123”,则操作信息中应当携带有“123”这一信息。当然,客户端可以对新密码进行加密后再向服务器发送。
其中,待执行操作的操作信息,可以由用户直接输入,也可以在客户端显示一个操作信息列表,由用户从列表中选择对应的操作信息。
服务器接收的操作信息,可以是文本形式的信息,也可以是用于指代待执行操作的一串数字编码。
S102、服务器根据功能码获取请求和当前时间生成对应的功能码。
步骤S102的实现过程如下:
服务器根据功能码获取请求中携带的操作信息生成对应的操作码,并根据功能码获取请求中携带的智能门锁的识别码、当前时间以及操作码生成第一校验信息,最后组合第一校验信息和操作码得到功能码。
可选地,服务器可以采用特定的算法,对智能门锁的识别码、当前时间以及操作码进行处理,得到第一校验信息。或者,服务器可以根据智能门锁的识别码获取智能门锁的设备密钥,而后采用特定的算法,对智能门锁的设备密钥、当前时间以及操作码进行处理,得到第一校验信息。其中,特定的算法可以是现有或未来开发出的多种加密算法中的一种,例如哈希算法,在此不做具体限定。
在本实施例中,操作信息是文本形式的信息时,服务器通过识别操作信息,确定出待执行操作,然后根据预设的编码方式,确定出待执行操作对应的数字编码作为操作码。
对待执行操作的编码方式,同时可以保存在客户端中。因此,客户端可以直接确定出待执行操作对应的操作码,将其作为操作信息发送至服务器,此时,服务器直接将操作信息作为操作码即可。
智能门锁的设备密钥,仅存储在对应的智能门锁和服务器中,并且任何情况下均不通过网络向外传输。每一个智能门锁对应一个设备密钥,且任意两个智能门锁之间,对应的设备密钥不同。
用于生成第一校验信息的当前时间,其精度可以根据安全要求预先设定,可以精确到天,小时或分钟。例如,假设生成第一校验信息时的时间是,2017年8月3日,18时24分,那么用于生成第一校验信息的当前时间,若精确到天,就是20180803,若精确到小时,就是2018080318,若精确到分钟,就是201808031824。具体精确至哪一程度,可以根据安全需求,以及生成功能码的频率确定。
功能码可以表示成一个字符串,其中各个字符表示的含义可以预先设置。下面简要介绍一种功能码的表示方式。作为一个实例,本申请任意实施例提供的控制方法的具体实现过程中,功能码也可以采用与下述实例不同的表示方式。
表1
参考表1,本实例中功能码可以认为按表1所示划分成多段,每一段均包括多个字符,表1的第一行表示功能码的每一段的含义,第二行表示功能码的每一段的位数,或者说字符数。
功能码的第一段(即功能码的前两位)称为开始位,是两个预先配置的固定字符,例如,参考表1,可以配置为“#*”,用于表示一条操作指令的开始。功能码相当于是智能门锁的一条操作指令,而智能门锁运行期间会收到多条操作指令,通过将每一条操作指令的前两位设置为表示操作指令开始的两个固定字符,可以将相邻的两条操作指令区分开。
功能码的第3位至第7位构成功能码的第二段,这一段表示功能码的基础信息。如表1所示,基础信息又可以分为1位的命令提示符(CMD),两位的功能码ID和两位的操作类型。
其中,基础信息的第1位,即CMD,用于在功能码作为一条操作指令被智能门锁获取后,向智能门锁表明这条操作指令是一个功能码。因此,对于任意一个功能码,CMD均被设置为一个智能门锁和服务器之间预先约定的,用于表示功能码的字符。这个预先约定的字符可以是任意一个数字,比如“3”,或者“7”,也可以是一个符号,比如“#”,或者“*”,只要智能门锁能够根据这个字符,将功能码与其他的操作指令区分开即可。
功能码的第4位和第5位表示功能码ID,取值范围是0至99,用于表示这个功能码是当前日期下针对当前被控制的智能门锁生成的第几个功能码。例如,某一天服务器针对一个智能门锁生成的第46个功能码,其功能码ID就是“45”。
进一步的,若服务器发现当天已经生成了100个功能码,也就是说在当前日期内,已经生成了功能码ID为99的功能码,则服务器判断出当前日期内可以生成的功能码数量已达上限。因此,服务器拒绝当前功能码获取请求,不再生成对应的功能码,直至下一天开始。
当然,功能码ID的位数可以由智能门锁的生产方根据需要调整。
功能码的第6位和第7位表示操作类型,用于表示前述智能门锁的多种操作,例如,用01表示删除密码,02表示冻结密码,04表示开启电子反锁等。每一种操作具体用哪两个字符表示,可以用智能门锁生产方预先设定。
操作类型之后是N位的控制信息,也就是功能码的第三段,N可以根据操作类型确定,也可以是一个预先设定的正整数,一般的,N设置为大于或等于4。控制信息,用于表示前述操作类型的操作对象,例如,操作类型为删除密码时,控制信息可以是一个四位数,如0031,表示需要删除的是标识为0031的密码。其中,若当前操作类型不需要指定操作对象,例如,操作类型为开启电子反锁时,为了提高安全性,并避免功能码重复,控制信息可以是服务器生成的四位随机数。
进一步的,控制信息还可以包括至少一位随机数,以降低服务器生成完全相同的功能码的概率。例如,对于上述密码标识0031,可以生成一个包括这个密码标识和两位的随机数的6位的控制信息,例如,生成的控制信息可以是“610031”,其中的61为服务器生成的随机数,0031为密码标识。
控制信息和基础信息中的操作类型组合,就是步骤S102中生成的操作码。
功能码的最后6位构成功能码的第四段,就是步骤S102中生成的第一校验信息。
S103、服务器向客户端发送功能码。
离线状态的智能门锁无法与服务器通过网络直接通信,因此,服务器将功能码发送至客户端。
需要说明的是,服务器可以采用任意方式将功能码下发至客户端。例如,客户端上可以安装有智能门锁控制类应用,该应用可以与服务器通信,服务器可以将功能码发送至该应用。可选地,客户端可以具有短信收发功能,服务器可以以短信的形式将功能码下发至客户端。
S104、智能门锁获取功能码。
其中,功能码可以被客户端的所属用户,即当前使用客户端的用户读取,并由用户输入至智能门锁,这样当智能门锁未与客户端通信连接时,可以实现智能门锁的离线安全控制;另一方面,智能门锁和客户端之间可以建立通信连接,例如,通过蓝牙连接,然后由客户端直接向智能门锁发送功能码。
S105、智能门锁对第一校验信息进行校验。
对第一校验信息的校验根据功能码携带的操作码、智能门锁的设备密钥或识别码和当前时间进行。
其中,智能门锁的设备密钥和识别码存储在智能门锁内。步骤S105所述的当前时间,是对第一校验信息进行校验的时间,其精确程度与服务器生成第一校验信息时所用的时间的精确程度一致。
S106、若第一校验信息通过校验,智能门锁执行操作码对应的操作。
第一校验信息通过校验,表明第一校验信息所属的功能码是由服务器发送的,且用于控制当前的智能门锁的功能码,并且截至当前时间,这个功能码仍然有效,也就是说,第一校验信息所属的功能码是合法功能码,因此,智能门锁执行这个功能码携带的操作码对应的操作。
S107、若第一校验信息未通过校验,则智能门锁拒绝执行操作码对应的操作。
相对的,第一校验信息未通过校验,说明对于第一校验信息所属的功能码,前述几个条件中至少有一个条件不满足。也就是说这个功能码是非法功能码,因此智能门锁不执行操作码对应的操作。
本实施例提供的用于控制智能门锁的方法,通过服务器从客户端接收携带有识别码和待执行操作的操作信息的功能码获取请求,而后根据功能码获取请求和当前时间生成功能码,功能码包括第一校验信息和根据操作信息确定的操作码,第一校验信息根据当前时间、操作码以及识别码确定,然后将功能码发送至客户端,以便智能门锁能够获取到被发送至客户端的该功能码,并对第一校验信息进行校验,校验通过后,执行操作码对应的操作。本申请的第一校验信息只能在对应的有效时间内通过校验,经过对应的有效时间后,即使第一校验信息泄露,也不会给智能门锁的用户带来安全隐患。另外,当智能门锁未与客户端以及服务器通信连接时,本申请提供的方案可以使得智能门锁获取用户手动输入的该功能码,从而可以实现智能门锁的离线安全控制。
结合前述实施例,本申请另一实施例还提供一种用于控制智能门锁的方法,请参考图2,该方法包括以下步骤:
S201、服务器接收功能码获取请求。
功能码获取请求由客户端发出。
其中,功能码获取请求携带:待执行操作的操作信息,客户端的所属用户的用户信息,以及智能门锁的识别码。服务器能够根据功能码获取请求中的用户信息,确定出用户的身份。
其中,客户端的所属用户,指代当前使用该客户端的用户。用户信息由用户向客户端输入。
S202、服务器判断当前用户是否具有待执行操作对应的权限。
当前用户指代客户端的所属用户,即当前在使用该客户端的用户。
上述判断根据功能码获取请求携带的用户信息和操作信息进行。
如步骤S201所述,服务器可以根据用户信息确认出客户端所属用户的身份,进而确认出客户端所属用户具有的权限。进一步的,服务器可以从自身的数据库中获取待执行操作需要的权限,通过比较待执行操作所需的权限和客户端的所属用户具有的权限,即可判断出客户端的所属用户是否有权执行操作信息对应的待执行操作。
若判断出客户端的所属用户不具有待执行操作对应的权限,则执行步骤S203,若判断出客户端的所属用户具有待执行操作对应的权限,则执行步骤S204。
S203、服务器向客户端发送响应信息。
其中,上述响应信息用于表明客户端的功能码获取请求被服务器拒绝。
S204、服务器根据功能码获取请求和当前时间生成对应的功能码。
功能码包括第一校验信息和操作码。这里,针对步骤S204的解释说明,可参看图1所示实施例中的步骤S102的相关说明,在此不再赘述。
S205、服务器对功能码进行加密得到加密后的功能码。
上述对功能码的加密根据服务器存储的上述智能门锁的加密信息进行。
其中,智能门锁的加密信息,可以是一段预设的字符串。一个智能门锁的加密信息,分别保存在这个智能门锁和服务器中。对于一个功能码,利用现有的算法对这个功能码和加密信息的组合进行处理,得到的结果就可以作为加密后的功能码。
通过对功能码进行加密并发送加密后的功能码,可以防止功能码在传输过程中被窃取,进一步提高了智能门锁的安全性。
S206、服务器向客户端发送加密后的功能码。
S207、智能门锁从客户端获取加密后的功能码。
S208、智能门锁根据自身的加密信息对加密后的功能码进行解密,得到功能码。
利用与服务器的加密算法对应的解密算法,对加密后的功能码和加密信息进行处理,就可以解密得到功能码。
S209、智能门锁对第一校验信息进行校验。
若第一校验信息未通过校验,则执行步骤S210,若第一校验信息通过校验,则执行步骤S211。
S210、智能门锁拒绝执行操作码对应的操作。
S211、智能门锁判断自身是否存储同一功能码。
其中,同一功能码,指与在步骤S208中解密得到的功能码相同的功能码。若智能门锁判断出自身存储有该功能码,则智能门锁执行步骤S210;若智能门锁判断出自身未存储有该功能码,则执行步骤S212。
智能门锁可以在自身的历史数据库中保存以往获取的每一个功能码,执行步骤S211时,智能门锁通过将获取的功能码与自身的历史数据库中存储的所有功能码逐个比对,即可判断出自身是否存储有与获取的功能码等同的功能码。
S212、智能门锁执行操作码对应的操作。
S213、智能门锁将获取的功能码记录在自身的历史数据库中。
可选的,智能门锁可以在恢复与服务器的网络通信后,将自身的历史数据库中存储的功能码发送至服务器,使服务器在生成功能码后,预先利用该历史数据库中的功能码与刚生成的功能码进行比对,若发现该历史数据库中存在与刚生成的功能码数值相同的功能码,则不发送刚生成的功能码。
进一步的,服务器生成功能码后,可以根据生成的功能码的ID,判断当前日期内已经生成的针对当前要控制的这个智能门锁的功能码的数量是否达到预设的每天获取次数阈值,若已达到每天获取次数阈值,则不发送刚生成的功能码,而是等到当前日期的后一天再生成一个功能码并发送。
例如,功能码的ID的位数设置为2的情况下,则一个智能门锁每天只能获取99个功能码,即每天获取次数阈值为99。若一天之内,服务器针对一个智能门锁生成了99个功能码,则当天服务器不再发送或生成这个智能门锁的功能码,直至进入第二天。
本实施例提供的方法,一方面在生成功能码之前根据用户信息和操作信息判断客户端的所属用户是否具有待执行操作对应的操作权限,只有在判断出客户端的所属用户具有对应的操作权限后才生成功能码,从而能够针对一个智能门锁,根据不同用户的不同权限分别进行管理,同时也能防止客户端盗用。另一方面,智能门锁将获取的功能码与自身的历史数据库中存储的,以往接收过的功能码进行比对,并在获取的功能码生效后将其记录在自身的历史数据库中,从而保证对于一个智能门锁,每一个功能码只能生效一次,进一步避免功能码泄露给智能门锁的用户造成损失。
结合前述实施例提供的用于控制智能门锁的方法,下面介绍一种智能门锁对第一校验信息进行校验的方法作为参考,请参考图3,该方法包括以下步骤:
S301、智能门锁根据操作码、智能门锁的设备密钥以及当前时间生成第二校验信息。
前述实施例已经指出,任意一个智能门锁的设备密钥,同时存储在这个智能门锁以及服务器中,因此,步骤S301中,智能门锁可以直接读取自身存储的设备密钥用于生成第二校验信息。
上述当前时间,是准备生成第二校验信息时的时间。步骤S301中用于生成第二校验信息的当前时间,与服务器用于生成第一校验信息的当前时间具有相同的精确程度,也就是说,若服务器生成第一校验信息时使用的当前时间精确到小时,则智能门锁生成第二校验信息所使用的当前时间也精确到小时。
需要说明的是,第二校验信息的生成过程与第一校验信息相同,也是利用特定的算法对当前时间,操作码和设备密钥进行处理得到第二校验信息。并且,在本实施例提供的校验方法中,生成第二校验信息所用的算法与服务器生成第一校验信息所用的算法是同一算法。
需要说明的是,在第一校验信息是服务器根据操作码、智能门锁的设备密钥以及与所接收的上述功能码获取请求对应的接收时间确定的情况下,智能门锁可以执行步骤S301来生成第二校验信息。在第一校验信息是服务器根据操作码、智能门锁的识别码以及与所接收的上述功能码获取请求对应的接收时间确定的情况下,智能门锁可以根据操作码、当前时间以及识别码生成第二校验信息。
可选地,若第一校验信息是服务器通过以下第一确定方式确定的:采用预设的哈希算法,对操作码、上述接收时间以及识别码进行哈希运算,将所得的哈希值确定为第一校验信息,则智能门锁可以采用该哈希算法,对操作码、当前时间以及识别码进行哈希运算,将所得的哈希值确定为第二校验信息。若第一校验信息是服务器通过以下第二确定方式确定的:根据识别码获取智能门锁的设备密钥;采用预设的哈希算法,对操作码、上述接收时间以及设备密钥进行哈希运算,将所得的哈希值确定为第一校验信息,则智能门锁可以采用该哈希算法,对操作码、智能门锁的设备密钥以及当前时间进行哈希运算,将所得的哈希值确定为第二校验信息。
S302、智能门锁判断第一校验信息与第二校验信息是否一致。
若第一校验信息与第二校验信息不一致,则执行步骤S303,若第一校验信息与第二校验信息一致,则执行步骤S304。
S303、智能门锁确定第一校验信息未通过校验。
S304、智能门锁确定第一校验信息通过校验。
智能门锁和服务器使用的加密算法相同,因此,只有当智能门锁用于生成第二校验信息的操作码,设备密钥和当前时间三类数据中至少一类与服务器使用的对应类别的数据不一致时,才会出现第一校验信息与第二校验信息不一致的情况。服务器和智能门锁之间出现上述三类数据中任意一类数据不一致的情况,就表明第一校验信息校验失败,当前智能门锁获取的功能码不是合法的功能码。
考虑到网络延迟和用户输入速度较慢的情况,一般希望功能码生成后在一定的有效期内都能生效,因此需要第一校验信息生成后,只要在有效期内都能通过校验。有效期的长短可以根据智能门锁的实际使用情况设定和调整,有效期可以以小时为单位设置,例如将有效期设置为1小时,2小时,也可以以分钟为单位,例如将有效期设置为5分钟,10分钟。下面以有效期设置为5分钟的情况为例,简要介绍一种能够满足上述要求的校验方法:
首先需要将服务器生成第一校验信息所用的时间和智能门锁生成第二校验信息所用的时间都精确到分钟。参考前述例子,假设生成第一校验信息时的时间是,2017年8月3日,18时24分,则服务器使用的当前时间,应该表示为201708031824。进一步的,智能门锁根据当前时间生成第二校验信息时,可以将当前时间后退5分钟,每退后一分钟,生成一个对应的第二校验信息。例如智能门锁生成第二校验信息的时间是18时26分,则退后5分钟就可以得到5个时间点,分别是201708031822,201708031823,201708031824,201708031825,201708031826,对应的生成5个第二校验信息。然后在步骤S302的判断中,将这5个第二校验信息逐个与第一校验信息比对,若其中有一个第二校验信息与第一校验信息一致,则确定出第一校验信息通过校验,若5个第二校验信息与第一校验信息都不一致,则确定第一校验信息未通过校验。
基于上述方法,即使第一校验信息在18时22分生成,用户只需要在18时26分结束前,也就是第一校验信息被生成之后的5分钟以内,将客户端收到的功能码输入完毕即可。
当然,以上仅仅是有效期设置为5分钟的情况下的例子,通过调整生成第一校验信息和第二校验信息所用的时间的精确程度,以及生成第二校验信息时后退的时间,上述方法可以适用于根据实际使用情况设置的,任意长度的有效期。
上述方法,一方面为用户预留了足够的时间用于输入功能码,另一方面也避免了网络延迟,服务器和智能门锁之间的时间误差等情况导致的校验失败,有效地改善了用户体验。
本申请的上述实施例提供的用于控制智能门锁的方法中,功能码一般需要由用户手动输入至智能门锁,而功能码一般包含多个字符,一旦其中某个字符输入错误,用户就需要重新输入整个功能码,既影响用户体验,又导致控制智能门锁的过程效率较低。因此,本申请另一实施例提供一种适用于智能门锁的获取功能码的方法,通过分段记录用户输入的功能码,并针对输入的功能码的每一段向用户发出响应信号,以达到改善用户体验,提高智能门锁的控制方法的执行效率的目的。
请参考图4,并结合前述实施例中介绍的功能码的表示方式,本实施例提供的智能门锁获取功能码的方法包括以下步骤:
S401、获取功能码的开始位和基础信息。
本实施例中智能门锁获取信息,相当于是用户向智能门锁输入信息。
S402、获取成功后,输出第一提示音。
本实施例中,判断信息是否获取成功可以通过判断用户在输入阶段输入的字符数进行。例如,在前述功能码的表示方式中,功能码的开始位和基础信息一共是7个字符,因此,当用户在步骤S401中输入了7个字符后,就判断出开始位和基础信息输入成功,执行步骤S402。后续步骤的原理与此相似。
第一提示音用于向用户表明,开始位和基础信息已经输入成功。
S403、获取功能码的控制信息。
其中,智能门锁根据已经输入的基础信息中的操作类型判断当前被输入的功能码携带的控制信息的位数,然后在用户本次输入字符数量达到该控制信息的位数时,执行步骤S404。
例如,判断出当前被输入的功能码的控制信息是6位的控制信息,则用户在步骤S403中输入了6个字符后,判断出控制信息获取成功,执行步骤S404。
S404、获取成功后,输出第二提示音。
第二提示音用于向用户表明控制信息输入成功。
S405、获取功能码携带的第一校验信息。
S406、获取成功后,输出第三提示音。
第三提示音用于向用户表明第一校验信息输入成功。
S407、对第一校验信息进行校验。
S408、若第一校验信息校验通过,输出第四提示音。
第四提示音用于向用户表明当前输入的功能码的第一校验信息通过校验,当前输入的功能码为合法的功能码。
结合本申请任一实施例提供的智能门锁的控制方法,本申请另一实施例还提供了一种用于控制智能门锁的装置,该装置可以应用于服务器。请参考图5,该装置包括:
接收单元501,用于接收客户端发送的功能码获取请求。
其中,功能码获取请求携带有智能门锁的识别码,以及待执行操作的操作信息。
生成单元502,用于根据功能码获取请求和当前时间生成对应的功能码。
其中,功能码包括操作码和第一校验信息,操作码根据操作信息确定,第一校验信息根据操作码、当前时间以及识别码确定。
加密单元503,用于根据智能门锁的加密信息,对功能码进行加密,得到加密后的功能码。
发送单元504,用于向客户端发送加密后的功能码。
其中,第一校验信息通过智能门锁的校验后,功能码用于控制智能门锁执行操作码对应的操作。
可选的,功能码也可以不经过加密单元503的加密,直接由发送单元504发送。
可选的,接收单元501接收的功能码获取请求还携带有客户端的所属用户的用户信息。
生成单元502还用于,根据用户信息和操作信息,判断客户端的所属用户是否具有待执行操作对应的权限,若判断出客户端的所属用户有待执行操作对应的权限,则生成功能码,若判断出客户端的所属用户没有待执行操作对应的权限,则向客户端发送响应信息。
其中,响应信息用于表明客户端的功能码获取请求被服务器拒绝。
可选的,上述装置还包括:
第一确定单元,用于通过以下第一确定方式确定所述第一校验信息:
采用预设的哈希算法,对操作码、当前时间以及识别码进行哈希运算,将所得的哈希值确定为第一校验信息。
可选的,上述装置还包括:
第二确定单元,用于通过以下第二确定方式确定第一校验信息:
根据所述识别码获取所述智能门锁的设备密钥;采用预设的哈希算法,对所述操作码、当前时间以及所述设备密钥进行哈希运算,将所得的哈希值确定为所述第一校验信息。
结合本申请任一实施例提供的用于控制智能门锁的方法,本申请另一实施例还提供一种用于控制智能门锁的装置,该装置设置于智能门锁,智能门锁还包括设置在门板上的门锁主体,其中,参考图6,该装置包括:
获取单元601,用于获取功能码。
其中,获取功能码的方式可以是,客户端收到功能码后,客户端的所属用户向获取单元601输入功能码;也可以是,获取单元601与客户端建立通信连接,客户端将自身接收的功能码直接传输给获取单元601。
并且,功能码是服务器响应于接收到客户端发送的与该功能码有关的功能码获取请求,基于功能码获取请求和与功能码获取请求对应的接收时间生成的,功能码获取请求携带有智能门锁的识别码,以及待执行操作的操作信息,功能码包括操作码和第一校验信息,操作码根据操作信息确定,第一校验信息根据所述操作码、接收时间以及识别码确定。
校验单元602,用于对第一校验信息进行校验。
执行单元603,用于若第一校验信息通过校验,执行操作码对应的操作。
可选的,若第一校验信息是服务器通过以下第一确定方式确定的:采用预设的哈希算法,对操作码、接收时间以及识别码进行哈希运算,将所得的哈希值确定为所述第一校验信息,则校验单元602对第一校验信息进行校验时,用于:
采用所述哈希算法,对操作码、当前时间以及识别码进行哈希运算,将所得的哈希值确定为第二校验信息;判断第一校验信息与第二校验信息是否一致;若第一校验信息与第二校验信息一致,则确定第一校验信息通过校验;若第一校验信息与第二校验信息不一致,则确定第一校验信息未通过校验。
可选的,若第一校验信息是服务器通过以下第二确定方式确定的:根据识别码获取智能门锁的设备密钥;采用预设的哈希算法,对操作码、接收时间以及设备密钥进行哈希运算,将所得的哈希值确定为第一校验信息;则校验单元602对第一校验信息进行校验时,用于:
采用所述哈希算法,对操作码、智能门锁的设备密钥以及当前时间进行哈希运算,将所得的哈希值确定为第二校验信息;判断第一校验信息与第二校验信息是否一致;若第一校验信息与第二校验信息一致,则确定第一校验信息通过校验;若第一校验信息与第二校验信息不一致,则确定第一校验信息未通过校验。
可选的,上述装置还包括:
记录单元604,用于将已经被执行的功能码记录在历史数据库中。
可选的,上述装置还包括:
判断单元,用于在校验单元602确定出第一校验信息通过校验后,判断历史数据库中是否存储有获取的功能码。
其中,执行单元603,还用于在判断单元判断出历史数据库中未存储有获取的功能码后,执行操作码对应的操作。
需要说明的是,用于控制智能门锁的装置可以是芯片,组件或模块,装置可包括处理器和存储器,接收单元、生成单元和发送单元,以及获取单元、校验单元和执行单元等均作为程序单元存储在存储器中,由处理器执行存储在存储器中的上述程序单元来实现相应的功能。
处理器中可以包含内核,由内核去存储器中调取相应的程序单元。内核可以设置一个或多个,通过调整内核参数来解决现有技术中管理员密码泄露导致的安全隐患。
存储器可能包括计算机可读介质中的非永久性存储器,随机存取存储器(RAM)和/或非易失性内存等形式,如只读存储器(ROM)或闪存(flash RAM),存储器包括至少一个存储芯片。
本申请的上述实施例提供的用于控制智能门锁的装置,通过接收单元接收携带有识别码和待执行操作的操作信息的功能码获取请求后,生成单元根据功能码获取请求和当前时间生成功能码,功能码包括第一校验信息和根据操作信息确定的操作码,第一校验信息根据当前时间、操作码以及识别码确定,然后发送单元将功能码发送至客户端。另外,获取单元获取功能码后,校验单元对第一校验信息进行校验,校验通过后,执行单元执行操作码对应的操作。本申请的第一校验信息只能在对应的有效时间内通过校验,经过对应的有效时间后,即使第一校验信息泄露,也不会给智能门锁的用户带来安全隐患。另外,当智能门锁未与客户端以及服务器通信连接时,本申请提供的方案可以使得智能门锁中的获取单元获取用户手动输入的该功能码,从而可以实现智能门锁的离线安全控制。
本申请实施例提供了一种计算机可读介质,其上存储有计算机程序,其中,该程序被处理器执行时实现以上各方法实施例描述的用于控制智能门锁的方法。
本申请实施例提供了一种处理器,该处理器用于运行程序,其中,该程序运行时实现以上各方法实施例描述的用于控制智能门锁的方法。
本申请实施例提供了一种设备,该设备包括处理器、存储器及存储在存储器上并可在处理器上运行的程序,处理器执行程序时实现以上各方法实施例描述的用于控制智能门锁的方法。
本申请实施例还提供了一种计算机程序产品,当在数据处理设备上执行时,使得数据处理设备实现以上各方法实施例描述的用于控制智能门锁的方法。
其中,本申请的上述实施例提供的设备、计算机可读介质或计算机程序产品可以均用于执行上文所提供的对应的方法,因此,其所能达到的有益效果可参考上文所提供的对应的方法中的有益效果,此处不再赘述。
本申请是参照根据本申请实施例的方法、设备(***)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
在一个典型的配置中,计算设备包括一个或多个处理器(CPU)、输入/输出接口、网络接口和内存。
存储器可能包括计算机可读介质中的非永久性存储器,随机存取存储器(RAM)和/或非易失性内存等形式,如只读存储器(ROM)或闪存(flash RAM)。存储器是计算机可读介质的示例。
计算机可读介质包括永久性和非永久性、可移动和非可移动媒体可以由任何方法或技术来实现信息存储。信息可以是计算机可读指令、数据结构、程序的模块或其他数据。计算机的存储介质的例子包括,但不限于相变内存(PRAM)、静态随机存取存储器(SRAM)、动态随机存取存储器(DRAM)、其他类型的随机存取存储器(RAM)、只读存储器(ROM)、电可擦除可编程只读存储器(EEPROM)、快闪记忆体或其他内存技术、只读光盘只读存储器(CD-ROM)、数字多功能光盘(DVD)或其他光学存储、磁盒式磁带,磁带磁磁盘存储或其他磁性存储设备或任何其他非传输介质,可用于存储可以被计算设备访问的信息。按照本文中的界定,计算机可读介质不包括暂存电脑可读媒体(transitorymedia),如调制的数据信号和载波。
本领域技术人员应明白,本申请的实施例可提供为方法、***或计算机程序产品。因此,本申请可采用完全硬件实施例、完全软件实施例或结合软件和硬件方面的实施例的形式。而且,本申请可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。
以上描述仅为本申请的较佳实施例以及对所运用技术原理的说明而已,并不用于限制本申请。对于本领域技术人员来说,本申请可以有各种更改和变化。本申请中所涉及的发明范围,并不限于上述技术特征的特定组合而成的技术方案,同时也应涵盖在不脱离上述发明构思的情况下,由上述技术特征或其等同特征进行任意组合而形成的其它技术方案。例如上述特征与本申请中公开的(但不限于)具有类似功能的技术特征进行互相替换而形成的技术方案。
Claims (15)
1.一种用于控制智能门锁的方法,其特征在于,包括:
服务器接收客户端发送的功能码获取请求;其中,所述功能码获取请求携带有智能门锁的识别码,以及待执行操作的操作信息;
所述服务器根据所述功能码获取请求和当前时间生成对应的功能码;其中,所述功能码包括操作码和第一校验信息,所述操作码根据所述操作信息确定,所述第一校验信息根据所述操作码、当前时间以及所述识别码确定;
所述服务器向所述客户端发送所述功能码;其中,所述第一校验信息通过所述智能门锁的校验后,所述功能码用于控制所述智能门锁执行所述操作码对应的操作。
2.根据权利要求1所述的方法,其特征在于,所述服务器通过以下第一确定方式确定所述第一校验信息:
采用预设的哈希算法,对所述操作码、当前时间以及所述识别码进行哈希运算,将所得的哈希值确定为所述第一校验信息。
3.根据权利要求1所述的方法,其特征在于,所述服务器通过以下第二确定方式确定所述第一校验信息:
根据所述识别码获取所述智能门锁的设备密钥;
采用预设的哈希算法,对所述操作码、当前时间以及所述设备密钥进行哈希运算,将所得的哈希值确定为所述第一校验信息。
4.根据权利要求1-3之一所述的方法,其特征在于,所述服务器根据所述功能码获取请求和当前时间生成对应的功能码之后,还包括:
所述服务器根据所述智能门锁的加密信息,对所述功能码进行加密,得到加密后的功能码;
其中,所述服务器向所述客户端发送所述功能码,包括:
所述服务器向所述客户端发送所述加密后的功能码。
5.根据权利要求1-3之一所述的方法,其特征在于,所述功能码获取请求还携带有所述客户端的所属用户的用户信息;
其中,所述服务器根据所述功能码获取请求和当前时间生成对应的功能码之前,还包括:
根据所述用户信息和所述操作信息,判断所述客户端的所属用户是否具有所述待执行操作对应的权限;
若判断出所述客户端的所属用户有所述待执行操作对应的权限,则执行所述根据所述功能码获取请求和当前时间生成对应的功能码;
若判断出所述客户端的所属用户没有所述待执行操作对应的权限,则向所述客户端发送响应信息;其中,所述响应信息用于表明所述客户端的功能码获取请求被所述服务器拒绝。
6.一种用于控制智能门锁的方法,其特征在于,包括:
智能门锁获取功能码;其中,所述功能码是服务器响应于接收到客户端发送的与所述功能码有关的功能码获取请求,基于所述功能码获取请求和与所述功能码获取请求对应的接收时间生成的,所述功能码获取请求携带有所述智能门锁的识别码,以及待执行操作的操作信息,所述功能码包括操作码和第一校验信息,所述操作码根据所述操作信息确定,所述第一校验信息根据所述操作码、所述接收时间以及所述识别码确定;
所述智能门锁对所述第一校验信息进行校验;
若所述第一校验信息通过校验,所述智能门锁执行所述操作码对应的操作。
7.根据权利要求6所述的方法,其特征在于,所述第一校验信息是所述服务器通过以下第一确定方式确定的:采用预设的哈希算法,对所述操作码、所述接收时间以及所述识别码进行哈希运算,将所得的哈希值确定为所述第一校验信息;以及
所述智能门锁对所述第一校验信息进行校验,包括:
所述智能门锁采用所述哈希算法,对所述操作码、当前时间以及所述识别码进行哈希运算,将所得的哈希值确定为第二校验信息;
所述智能门锁判断所述第一校验信息与所述第二校验信息是否一致;
若所述第一校验信息与所述第二校验信息一致,则所述智能门锁确定所述第一校验信息通过校验;
若所述第一校验信息与所述第二校验信息不一致,则所述智能门锁确定所述第一校验信息未通过校验。
8.根据权利要求6所述的方法,其特征在于,所述第一校验信息是所述服务器通过以下第二确定方式确定的:根据所述识别码获取所述智能门锁的设备密钥;采用预设的哈希算法,对所述操作码、所述接收时间以及所述设备密钥进行哈希运算,将所得的哈希值确定为所述第一校验信息;以及
所述智能门锁对所述第一校验信息进行校验,包括:
所述智能门锁采用所述哈希算法,对所述操作码、所述智能门锁的设备密钥以及当前时间进行哈希运算,将所得的哈希值确定为第二校验信息;
所述智能门锁判断所述第一校验信息与所述第二校验信息是否一致;
若所述第一校验信息与所述第二校验信息一致,则所述智能门锁确定所述第一校验信息通过校验;
若所述第一校验信息与所述第二校验信息不一致,则所述智能门锁确定所述第一校验信息未通过校验。
9.根据权利要求6-8之一所述的方法,其特征在于,所述若所述第一校验信息通过校验,所述智能门锁执行所述操作码对应的操作之后,还包括:
所述智能门锁将所述功能码记录在自身的历史数据库中。
10.根据权利要求9所述的方法,其特征在于,所述若所述第一校验信息通过校验,所述智能门锁执行所述操作码对应的操作,包括:
若所述第一校验信息通过校验,则所述智能门锁判断自身是否存储有所述功能码;
若所述智能门锁判断出自身未存储有所述功能码,则所述智能门锁执行所述操作码对应的操作。
11.一种用于控制智能门锁的装置,应用于服务器,其特征在于,包括:
接收单元,用于接收客户端发送的功能码获取请求;其中,所述功能码获取请求携带有智能门锁的识别码,以及待执行操作的操作信息;
生成单元,用于根据所述功能码获取请求和当前时间生成对应的功能码;其中,所述功能码包括操作码和第一校验信息,所述操作码根据所述操作信息确定,所述第一校验信息根据所述操作码、当前时间以及所述识别码确定;
发送单元,用于向所述客户端发送所述功能码;其中,所述第一校验信息通过所述智能门锁的校验后,所述功能码用于控制所述智能门锁执行所述操作码对应的操作。
12.一种用于控制智能门锁的装置,应用于智能门锁,其特征在于,包括:
获取单元,用于获取功能码;其中,所述功能码是服务器响应于接收到客户端发送的与所述功能码有关的功能码获取请求,基于所述功能码获取请求和与所述功能码获取请求对应的接收时间生成的,所述功能码获取请求携带有所述智能门锁的识别码,以及待执行操作的操作信息,所述功能码包括操作码和第一校验信息,所述操作码根据所述操作信息确定,所述第一校验信息根据所述操作码、所述接收时间以及所述识别码确定;
校验单元,用于对所述第一校验信息进行校验;
执行单元,用于若所述第一校验信息通过校验,则执行所述操作码对应的操作。
13.一种计算机可读介质,其特征在于,其上存储有计算机程序,其中,所述程序被处理器执行时实现如权利要求1-5中任一所述的方法,或者实现如权利要求6-10中任一所述的方法。
14.一种处理器,其特征在于,所述处理器用于运行程序,其中,所述程序运行时实现如权利要求1-5中任一所述的方法,或者实现如权利要求6-10中任一所述的方法。
15.一种设备,其特征在于,包括:
一个或多个处理器;
存储装置,其上存储有一个或多个程序;
当所述一个或多个程序被所述一个或多个处理器执行时,使得所述一个或多个处理器实现如权利要求1-5中任一所述的方法,或者实现如权利要求6-10中任一所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910954205.6A CN112712612A (zh) | 2019-10-09 | 2019-10-09 | 用于控制智能门锁的方法、装置、计算机可读介质及设备 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910954205.6A CN112712612A (zh) | 2019-10-09 | 2019-10-09 | 用于控制智能门锁的方法、装置、计算机可读介质及设备 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN112712612A true CN112712612A (zh) | 2021-04-27 |
Family
ID=75540137
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201910954205.6A Pending CN112712612A (zh) | 2019-10-09 | 2019-10-09 | 用于控制智能门锁的方法、装置、计算机可读介质及设备 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN112712612A (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN114694283A (zh) * | 2022-03-11 | 2022-07-01 | 深圳市凯迪仕智能科技有限公司 | 一种智能锁开锁的方法及相关装置 |
Citations (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CH705781A1 (de) * | 2011-11-17 | 2013-05-31 | Sven Sauter | Benutzerrechteverwaltung und Zugangskontrollsystem mit Zeitbeschränkung. |
CN105120007A (zh) * | 2015-09-14 | 2015-12-02 | 劳海鹏 | 一种远程对智能锁临时密码设置与使之失效的方法与*** |
CN105730398A (zh) * | 2014-12-12 | 2016-07-06 | 上海修源网络科技有限公司 | 移动终端双向控制汽车的***与方法 |
CN106780917A (zh) * | 2017-01-11 | 2017-05-31 | 上海共佰克智能科技有限公司 | 锁的控制方法与*** |
CN106898064A (zh) * | 2017-01-09 | 2017-06-27 | 云丁网络技术(北京)有限公司 | 一种基于智能门锁***的离线验证码的生成方法及其*** |
CN107103676A (zh) * | 2017-06-06 | 2017-08-29 | 张永穆 | 一种共享设备动态密码锁*** |
CN107748991A (zh) * | 2017-10-30 | 2018-03-02 | 北京小米移动软件有限公司 | 账户安全管理方法及装置 |
CN108629177A (zh) * | 2018-04-24 | 2018-10-09 | 上海与德通讯技术有限公司 | 一种智能终端的解锁方法、智能终端以及可读存储介质 |
CN108737394A (zh) * | 2018-05-08 | 2018-11-02 | 腾讯科技(深圳)有限公司 | 离线验证***、扫码设备和服务器 |
CN109389727A (zh) * | 2018-10-30 | 2019-02-26 | 南昌努比亚技术有限公司 | 开锁方法、***及计算机可读存储介质 |
-
2019
- 2019-10-09 CN CN201910954205.6A patent/CN112712612A/zh active Pending
Patent Citations (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CH705781A1 (de) * | 2011-11-17 | 2013-05-31 | Sven Sauter | Benutzerrechteverwaltung und Zugangskontrollsystem mit Zeitbeschränkung. |
CN105730398A (zh) * | 2014-12-12 | 2016-07-06 | 上海修源网络科技有限公司 | 移动终端双向控制汽车的***与方法 |
CN105120007A (zh) * | 2015-09-14 | 2015-12-02 | 劳海鹏 | 一种远程对智能锁临时密码设置与使之失效的方法与*** |
CN106898064A (zh) * | 2017-01-09 | 2017-06-27 | 云丁网络技术(北京)有限公司 | 一种基于智能门锁***的离线验证码的生成方法及其*** |
CN106780917A (zh) * | 2017-01-11 | 2017-05-31 | 上海共佰克智能科技有限公司 | 锁的控制方法与*** |
CN107103676A (zh) * | 2017-06-06 | 2017-08-29 | 张永穆 | 一种共享设备动态密码锁*** |
CN107748991A (zh) * | 2017-10-30 | 2018-03-02 | 北京小米移动软件有限公司 | 账户安全管理方法及装置 |
CN108629177A (zh) * | 2018-04-24 | 2018-10-09 | 上海与德通讯技术有限公司 | 一种智能终端的解锁方法、智能终端以及可读存储介质 |
CN108737394A (zh) * | 2018-05-08 | 2018-11-02 | 腾讯科技(深圳)有限公司 | 离线验证***、扫码设备和服务器 |
CN109389727A (zh) * | 2018-10-30 | 2019-02-26 | 南昌努比亚技术有限公司 | 开锁方法、***及计算机可读存储介质 |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN114694283A (zh) * | 2022-03-11 | 2022-07-01 | 深圳市凯迪仕智能科技有限公司 | 一种智能锁开锁的方法及相关装置 |
CN114694283B (zh) * | 2022-03-11 | 2024-04-30 | 深圳市凯迪仕智能科技股份有限公司 | 一种智能锁开锁的方法及相关装置 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
RU2620998C2 (ru) | Способ снятия блокировки полномочий администрирования и устройство аутентификации | |
CN106330850B (zh) | 一种基于生物特征的安全校验方法及客户端、服务器 | |
US9135430B2 (en) | Digital rights management system and method | |
CN114553439B (zh) | 基于身份信息的加密密钥管理 | |
CN111143816B (zh) | 验证及授权的方法及验证服务器 | |
CN106952378A (zh) | 开锁方法及装置、电子锁 | |
CN110070363B (zh) | 区块链网络中的账户管理方法、验证方法及终端设备 | |
CN110502889B (zh) | 登录方法、装置、计算机可读存储介质和计算机设备 | |
CN110310392A (zh) | 车辆解锁方法、装置、计算机设备及存储介质 | |
CN111340987A (zh) | 物联门锁通信方法、装置、***及计算机存储介质 | |
CN108768941B (zh) | 一种远程解锁安全设备的方法及装置 | |
CN112364323A (zh) | 一种基于用户虹膜识别的高安全存储访问方法和装置 | |
TWI724681B (zh) | 基於身分資訊管理密碼金鑰 | |
CN115348107A (zh) | 物联网设备安全登陆方法、装置、计算机设备和存储介质 | |
CN111553689A (zh) | 一种基于二次哈希的匹配关联方法及*** | |
CN112348997A (zh) | 智能门锁控制方法、装置及*** | |
KR102057386B1 (ko) | 출입 인증 방법 및 그 장치 | |
CN112712612A (zh) | 用于控制智能门锁的方法、装置、计算机可读介质及设备 | |
KR101339723B1 (ko) | 휴대폰 본인인증 도용방지와 스미싱 방지를 위한 문자메시지 보안시스템 및 방법 | |
KR20190012026A (ko) | 로그인 인증 처리를 위한 시스템 및 방법 | |
CN111199596A (zh) | 智能门锁控制方法、装置及*** | |
CN104134025A (zh) | 基于sim卡的移动终端加锁方法、装置及移动终端 | |
CN213780963U (zh) | 一种基于用户虹膜识别的高安全存储访问装置 | |
CN213126079U (zh) | 一种基于声纹识别的高安全等级数据访问装置 | |
CN116108474B (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 | ||
RJ01 | Rejection of invention patent application after publication |
Application publication date: 20210427 |
|
RJ01 | Rejection of invention patent application after publication |