CN109448208B - 一种智能门锁的开锁方法及控制装置 - Google Patents
一种智能门锁的开锁方法及控制装置 Download PDFInfo
- Publication number
- CN109448208B CN109448208B CN201910016359.0A CN201910016359A CN109448208B CN 109448208 B CN109448208 B CN 109448208B CN 201910016359 A CN201910016359 A CN 201910016359A CN 109448208 B CN109448208 B CN 109448208B
- Authority
- CN
- China
- Prior art keywords
- key
- queue
- password
- door lock
- unlocking
- 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
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/30—Individual registration on entry or exit not involving the use of a pass
- G07C9/32—Individual registration on entry or exit not involving the use of a pass in combination with an identity check
- G07C9/33—Individual registration on entry or exit not involving the use of a pass in combination with an identity check by means of a password
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/08—Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
- H04L9/0861—Generation of secret information including derivation or calculation of cryptographic keys or passwords
- H04L9/0863—Generation of secret information including derivation or calculation of cryptographic keys or passwords involving passwords or one-time passwords
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/32—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials
- H04L9/3226—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials using a predetermined code, e.g. password, passphrase or PIN
- H04L9/3228—One-time or temporary data, i.e. information which is sent for every authentication or authorization, e.g. one-time-password, one-time-token or one-time-key
Landscapes
- Engineering & Computer Science (AREA)
- Computer Security & Cryptography (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Lock And Its Accessories (AREA)
Abstract
本实施例提供一种智能门锁的开锁方法及控制装置,涉及智慧家居技术领域。该方法包括:控制终端获取开锁密码,从秘钥队列获取加密秘钥并对开锁密码进行加密,将获得的加密密码发送给智能门锁;智能门锁从秘钥队列获取解密秘钥,并对加密密码进行解密,根据解密获得的开锁密码和预设密码控制是否开锁,将解密秘钥从秘钥队列中删除,以及向控制终端发送解锁指令;控制终端将加密秘钥从秘钥队列中删除。采用本实施例提供的智能门锁的开锁方法及控制装置,即使加密密码在发送过程中被盗取并再次发送给智能门锁也无法打开智能门锁,提高了智能门锁的安全性。
Description
技术领域
本实施例涉及智慧家居技术领域,尤其涉及一种智能门锁的开锁方法及控制装置。
背景技术
如图1所示,在智慧家居系统中,通常设置有控制终端、云端服务器和智能家居设备。在该系统中,控制终端能够直接或者通过云端服务器对智能家居设备进行管理,例如,打开智能家居设备中的智能门锁。
控制终端在控制智能门锁开锁的过程中,需要将用户输入的密码发送给智能门锁,以便智能门锁根据该密码判断是否开锁。在该过程中,控制终端通常会采用一个固定的加密规则对用户输入的密码进行加密,获得加密密码,再将该加密密码发送给智能门锁。智能门锁在接收到该加密密码之后,使用与该加密规则对应的解密规则对该加密密码进行解密,即可获得用户输入的密码。
然而,在上述过程中,由于控制终端的加密规则和智能门锁侧的解密规则是固定的,如果密码的盗取者窃取该加密密码之后,再将其发送给智能门锁后,智能门锁使用解密规则对该加密密码再次进行解密之后,依然可能打开智能门锁,导致智能门锁的安全性降低。
发明内容
本实施例提供了一种智能门锁的开锁方法及控制装置,用于解决加密密码被盗取并再次发送给智能门锁而导致的智能门锁安全性低的问题。
第一方面,本实施例提供一种智能门锁的开锁方法,应用于控制终端,包括:获取开锁密码,所述开锁密码的长度为K;从预设的秘钥队列的队头开始,获取K个连续的数据作为加密秘钥;采用所述加密秘钥对所述开锁密码进行加密,获得加密密码;将所述加密密码发送给智能门锁;在接收到所述智能门锁发送的第一解锁指令后,将所述加密秘钥从所述秘钥队列中删除。
在第一方面的第一种实现方式中,在获取开锁密码之前,所述方法还包括:接收所述智能门锁发送的第二解锁指令;从所述秘钥队列的队头开始删除K个连续的数据。
在第一方面的第二种实现方式中,所述秘钥队列为环形队列,所述方法还包括:将随机生成的秘钥序列发送给智能门锁;将所述秘钥序列添加至所述秘钥队列的队尾。
在第一方面的第三种实现方式中,结合上述第二种实现方式,将所述秘钥序列添加至所述秘钥队列的队尾,包括:若所述秘钥序列的长度N大于所述秘钥队列中所有空置位置的总长度M,则将所述秘钥序列中前M个数据添加至所述秘钥队列的队尾;以及,将所述秘钥序列中的后N-M个数据丢弃,或者,用所述秘钥序列中的后N-M个数据覆盖所述秘钥队列队头的前N-M个数据。
在第一方面的第四种实现方式中,采用所述加密秘钥对所述开锁密码进行加密,获得加密密码,包括:对所述加密秘钥和所述开锁密码进行异或运算,获得加密密码。
第二方面,本实施例提供一种智能门锁的开锁方法,应用于智能门锁,包括:接收加密密码;从预设的秘钥队列的队头开始,获取K个连续的数据作为解密秘钥;采用所述解密秘钥对所述加密密码进行解密,获得开锁密码;根据所述开锁密码和预设密码控制是否开锁;将所述解密秘钥从所述秘钥队列中删除,并向所述控制终端发送解锁指令。
在第二方面的第一种实现方式中,所述秘钥队列为环形队列,所述方法还包括:接收所述控制终端发送的秘钥序列;将所述秘钥序列添加至秘钥队列的队尾。
在第二方面的第二种实现方式中,结合上述第一种实现方式,将所述秘钥序列添加至所述秘钥队列的队尾,包括:若所述秘钥序列的长度N大于所述秘钥队列中所有空置位置的总长度M,则将所述秘钥序列中的前M个数据添加至秘钥队列的队尾;以及,将所述秘钥序列中的后N-M个数据丢弃,或者,用所述秘钥序列中的后N-M个数据覆盖所述秘钥队列队头的前N-M个数据。
在第二方面的第三种实现方式中,采用所述解密秘钥对所述加密密码进行解密,获得开锁密码,包括:对所述解密秘钥和所述加密密码进行异或运算,获得开锁密码。
第三方面,本实施例提供一种智能门锁的控制装置,应用于控制终端,包括:第一获取单元,用于获取开锁密码,所述开锁密码的长度为K;第一选择单元,用于从预设的秘钥队列的队头开始,获取K个连续的数据作为加密秘钥;加密单元,用于采用所述加密秘钥对所述开锁密码进行加密,获得加密密码;第一发送单元,用于将所述加密密码发送给智能门锁;第一接收单元,用于接收所述智能门锁发送的第一解锁指令;第一删除单元,用于将所述加密秘钥从所述秘钥队列中删除。
第四方面,本实施例提供一种智能门锁的控制装置,应用于智能门锁,包括:第二接收单元,用于接收加密密码;第二选择单元,用于从预设的秘钥队列的队头开始,获取K个连续的数据作为解密秘钥;解密单元,用于采用所述解密秘钥对所述加密密码进行解密,获得开锁密码;开锁控制单元,用于根据所述开锁密码和预设密码控制所述智能门锁是否开锁;第二删除单元,用于将所述解密秘钥从所述秘钥队列中删除;第二发送单元,用于向所述控制终端发送解锁指令。
本实施例提供的智能门锁的开锁方法及控制装置,在通过控制终端控制智能门锁开锁的过程中,在保证加密秘钥与解密秘钥的相同的情况下,还保证了该加密秘钥和解密秘钥均为一次性秘钥。即使该加密密码在发送过程中被盗取并再次发送给智能门锁,智能门锁在解密的过程中也无法获得正确解密获得开锁密码,无法打开智能门锁。
附图说明
为了更清楚地说明本实施例的技术方案,下面将对实施例中所需要使用的附图作简单地介绍,显而易见地,对于本领域普通技术人员而言,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
图1为本实施例提供的智慧家居系统的网络连接示意图。
图2为本实施例提供的一种智能门锁的开锁方法的示意图一。
图3为本实施例提供的一种常规键盘的示意图。
图4为本实施例提供的一种安全键盘的示意图。
图5为本实施例提供的一种秘钥队列的示意图一。
图6为本实施例提供的一种秘钥队列的示意图二。
图7为本实施例提供的一种智能门锁的开锁方法的示意图二。
图8为本实施例提供的一种智能门锁的开锁方法的示意图三。
图9为本实施例提供的一种环形的秘钥队列的示意图一。
图10为本实施例提供的一种环形的秘钥队列的示意图二。
图11为本实施例提供的一种环形的秘钥队列的示意图三。
图12为本实施例提供的一种环形的秘钥队列的示意图四。
图13为本实施例提供的一种环形的秘钥队列的示意图五。
图14为本实施例提供的一种智能门锁的开锁控制装置示意图一。
图15为本实施例提供的一种智能门锁的开锁控制装置示意图二。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整的描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
请参阅图2,本实施例提供一种智能门锁的开锁方法,该方法能够通过控制终端控制智能门锁打开。在本实施例中,该控制终端包括但不限于手机、平板电脑、笔记本电脑、智能手表等智能电子设备。该方法具体包括如下步骤S201-S210。
步骤S201,控制终端获取用户输入的开锁密码,该开锁密码的长度为K。
具体地,控制终端会提供一个密码输入界面,用于获取用户输入的开锁密码。其中,该开锁密码的长度K可以根据需求预先进行设置,例如K=4或者K=6等。
在一种可能的实现方式中,密码输入界面上的键盘为常规键盘,即键盘中的数字0-9按照1 2 3 4 5 6 7 8 9 0的顺序依次排列在键盘的按键上,例如图3所示的键盘。该常规键盘便于用户快速锁定按键的位置,提高开锁密码的输入效率。
在另一种可能的实现方式中,密码输入界面上的键盘为安全键盘,即键盘中的数字0-9随机排列在键盘的按键上,例如图4所示的键盘。用户在输入开锁密码的过程中,该安全键盘能够防止他人通过判断用户的操作手势确定用户输入的内容,提高了密码输入的安全性。
步骤S202,控制终端从预设的秘钥队列的队头开始,获取K个连续的数据作为加密秘钥。
在本实施例提供的控制终端中预先设置有一个秘钥队列,该秘钥队列中预先存储有用于加密的至少K个数据。控制终端在获取开锁密码后,即可根据该秘钥队列的第一位置指针确定该队列的队头的位置,并从队头开始,获取K个连续的数据作为加密秘钥。示例性的,对于如图5所示的秘钥队列,当K=4时,从该秘钥队列中获取到的加密秘钥为2536。
步骤S203,控制终端采用加密秘钥对开锁密码进行加密,获得加密密码。
可选的,控制终端可以通过对开锁密码和该加密秘钥进行异或运算,实现对该开锁密码的加密。由于开锁密码和该加密秘钥通常为十进制的数字,而异或运算是基于二进制的运算,因此,在加密的过程中,控制终端需要将开锁密码和加密秘钥转换成二进制数之后再进行异或运算。
示例性的,当开锁密码是1234,加密秘钥为2536时。该异或运算的计算过程为:0001 0010 0011 0100^0010 0101 0011 0110=0011 0111 0000 0010。其中,0001 00100011 0100为开锁密码1234对应的二进制数;0010 0101 0011 0110为加密秘钥2536对应的二进制数,0011 0111 0000 0010为加密密码。
步骤S204,控制终端将加密密码发送给智能门锁。
如果控制终端与智能门锁直接连接,例如通过蓝牙、WIFI(Wireless Fidelity,无线局域网)连接,控制终端则将加密密码直接发送给智能门锁。如果控制终端与智能门锁之间间接连接,例如通过2G/3G/4G/5G信号连接,控制终端则将加密密码通过云端服务器发送给智能门锁。
步骤S205,智能门锁从预设的秘钥队列的队头开始,获取K个连续的数据作为解密秘钥。
在本实施例提供的智能门锁中也预先设置有一个秘钥队列,该秘钥队列与存储于控制终端的秘钥队列完全相同,即队列的总长度、队列中数据的个数以及每个数据在队列中的位置均相同。
智能门锁接收到加密秘钥之后,根据本地的秘钥队列的第一位置指针即可确定该队列的队头的位置,并从队头开始,获取K个连续的数据作为解密秘钥。其中,值得说明的是,由于智能门锁侧的秘钥队列与控制终端侧的秘钥队列是完全相同的,因此,解密秘钥与加密秘钥也是完全相同的。示例性的,当智能门锁侧的秘钥队列为如图5所示的队列时,智能门锁侧的秘钥队列也如图5所示,从该秘钥队列中获取的解密秘钥与加密秘钥均为2536。
步骤S206,智能门锁采用解密秘钥对加密密码进行解密,获得开锁密码。
基于上述步骤S203提供的加密方式,在该步骤中,智能门锁可以通过对加密密码和解密秘钥进行异或运算,实现对该加密密码的解密。
示例性的,当加密密码为0011 0111 0000 0010,解密秘钥为2 5 3 6时,该进行解密的异或运算的计算过程为:0011 0111 0000 0010^0010 0101 0011 0110=0001 00100011 0100。其中,0010 0101 0011 0110为解密秘钥2536对应的二进制数;0001 0010 00110100为对加密密码解密之后获得开锁密码,将其转换为十进制数之后,即为1 2 3 4。
步骤S207,智能门锁根据开锁密码和预设密码控制是否开锁。
智能门锁内存储有预设密码,如果经过解密获得的开锁密码与该预设密码相同,智能门锁则打开,如果经过解密获得的开锁密码与该预设密码不相同,智能门锁则不打开。
步骤S208,智能门锁将解密秘钥从秘钥队列中删除。
值得说明的是,在进行一次解密操作之后,无论智能门锁是否开锁成功,智能门锁都会将本次解密所使用的解密秘钥从秘钥队列中删除,以保证每次解密过程中使用一次性的解密秘钥,提高智能门锁的安全性。
示例性的,对于如图5所示的秘钥队列,将加密秘钥2536从该秘钥队列中删除后,获得如图6所示的的秘钥队列。
步骤S209,智能门锁向控制终端发送解锁指令。
由于智能门锁在执行解锁操作之后,便将秘钥队列中的解密秘钥删除,因此,为了保证控制终端侧的秘钥队列与智能门锁侧的秘钥队列相同,智能门锁向控制终端发送一个解锁指令。
步骤S210,控制终端在接收到智能门锁发送的解锁指令后,将加密秘钥从秘钥队列中删除。
对于控制终端侧而言,该解锁指令包括第一解锁指令和第二解锁指令。第一解锁指令是指控制终端在发送加密密码给智能门锁之后,接收到的解锁指令。第二控制指令是指控制终端在没有发送加密密码给智能门锁的情况下,接收到的解锁指令。
该步骤中的解锁指令为第一解锁指令,用于指示控制终端将本次加密所使用的加密秘钥从控制终端侧的秘钥队列中删除。控制终端在接收到该第一解锁指令之后,便能够确认智能门锁使用了秘钥队列中的解密秘钥。为了保持控制终端侧的秘钥队列和智能门锁侧的秘钥队列相同,控制终端会将本次加密所使用的加密秘钥从控制控端侧的秘钥队列中删除。
值得说明的是,解锁指令中并不包括秘钥队列的内容,其携带的智能门锁侧的秘钥队列的第一位置记录指针的位置,从而避免了在解锁指令传输的过程中泄露秘钥队列的风险。
该加密秘钥的删除方法与步骤S205中解密秘钥的删除方法及删除后获得的队列均相同,此处不再赘述。
在秘钥队列删除本次的加密秘钥之后,秘钥队列的第一位置指针便会向队尾的方向移动,移动的长度与加密秘钥的长度相同。在控制终端从本地的秘钥队列删除本次的加密秘钥之后,其第一位置记录指针的位置与智能门锁侧的秘钥队列的第一位置记录指针的位置相同。如果二者不同,则将本地的秘钥队列的位置记录指针移动至与智能门锁侧的秘钥队列的第一位置记录指针相同的位置,并删除本地的秘钥队列中第一位置记录指针之前的所有数据。
其中,需要说明的是,本实施例中的步骤S209-S210也可以在步骤S205之后进行,即在从秘钥队列获取了解密秘钥之后进行,本实施例对此不进行限制。
在一种可能的情况下,加密密码在由控制终端发送至智能门锁的过程中被盗取者复制,并再次发送给了智能门锁。智能门锁在接收到控制终端发送的该加密密码后,会执行上述步骤S205-S209,控制智能门锁是否开锁,并将对应的解密秘钥删除。当智能门锁接收到密码盗取者发送的该加密密码时,由于该加密密码已经被智能门锁解密过一次,其能够正确进行解密的解密秘钥已经被使用并删除。此时,智能门锁在对该密码盗取者发送的该加密密码解密的过程中,所使用的解密秘钥与对该加密密码进行加密的加密秘钥不相同。因此,智能门锁无法对该加密密码正确解密,无法获得开锁密码,也就无法打开智能门锁。
示例性的,对于使用加密秘钥2536对开锁密码1 2 3 4进行加密之后获得的加密密码0011 0111 0000 0010,当其第二次被发送至智能门锁之后,智能门锁侧当前的秘钥队列如图6所示。在智能门锁根据该加密密码进行解密的过程中,所使用的解密秘钥为1057。对该加密密码和该解密秘钥进行异或运算的过程为:0011 0111 0000 0010^0001 00000101 0111=00100111 0101 0101。其中,0001 0000 0101 0111为1 0 5 7对应的二进制数,0010 0111 0101 0101为经过解密获得的开锁密码,该开锁密码对应的十进制数为2 75 5,与开锁密码1 2 3 4完全不同。
在智能门锁对密码盗取者发送的该加密密码再次进行解密之后,便从智能门锁侧的秘钥队列中删除本次控制开锁所使用的解密秘钥,如1 0 5 7。此时,为了保证控制终端侧的秘钥队列和智能门锁侧的秘钥队列相同,如图7所示,本实施例提供的方法还包括如下步骤。
步骤S701,控制终端接收智能门锁发送的第二解锁指令。
控制终端接收到该第二解锁指令,则说明可能有密码盗取者将盗取的加密密码再次发送给了智能门锁,并且智能门锁使用该加密密码进行了控制开锁的过程。
步骤S702,控制终端从秘钥队列中的队头开始删除K个连续的数据。
控制终端在接收到该第二解锁指令之后,便从控制终端的秘钥队列的队头开始删除K个连续的数据,以保持控制终端侧的秘钥队列和智能门锁侧的秘钥队列相同。
本实施例提供的智能门锁的开锁方法,在通过控制终端控制智能门锁开锁的过程中,在保证加密秘钥与解密秘钥的相同的情况下,还保证了该加密秘钥和解密秘钥均为一次性秘钥。即使该加密密码在发送过程中被盗取并再次发送给智能门锁,智能门锁在解密的过程中也无法获得正确解密获得开锁密码,无法打开智能门锁。
在本实施例提供的开锁方法中,由于加密秘钥和解密秘钥都是一次性秘钥,在进行一次加密或者解密之后,其分别会被从控制终端侧和智能门锁侧的秘钥队列中删除,导致秘钥队列中的数据不断地减少,当秘钥队列的长度小于开锁密码的长度K时,控制终端将无法继续控制智能门锁开锁。为此,本实施例可以将该秘钥队列设置为环形队列,并基于环形队列提供一种秘钥队列的维护方法,以维护秘钥队列的长度。如图8所示,该方法具体包括如下步骤S801-S804。
S801,控制终端将随机生成的秘钥序列发送给智能门锁。
控制终端在执行步骤S202,即从预设的秘钥队列的队头开始,获取K个连续的数据作为加密秘钥之前,将一个随机生成的秘钥序列发送给智能门锁,并且,该秘钥序列的长度至少为K。
由于控制终端在获取开锁密码的过程中可能会生成一个安全键盘,该安全键盘上0-9的数字是随机排列在按键上的。因此,控制终端可以直接根据该安全键盘的上数字的排列顺序,生成一个秘钥序列,并将该秘钥序列发送给智能门锁。示例性的,当该安全键盘为如图4所示的安全键盘时,对应的秘钥序列即为1 0 5 7 3 2 9 4 8 6。当然,控制终端也可以直接随机生成一个秘钥序列,并将该秘钥序列发送给智能门锁。
S802,智能门锁向控制终端发送秘钥序列的确认接收指令。
该确认接收指令用于指示智能门锁已成功接收控制终端发送的秘钥序列。
S803,智能门锁将秘钥序列添加至秘钥队列的队尾。
智能门锁中预先存储有一个秘钥队列,该秘钥队列可以为空,也可以预先存储有一些数据。
由于队列的长度是确定的,如果秘钥序列的长度N小于秘钥队列中的所有空置位置的总长度M,则智能门锁在根据本地的秘钥队列的第二位置指针确定队尾位置之后,直接将该秘钥序列添加至该秘钥队列的队尾。
示例性的,当智能门锁当前存储的秘钥队列如图9所示时,该秘钥队列的长度为36,其中存储有4个数据,所有空置位置的总长度为M=32。当该随机的秘钥序列为1 0 5 73 2 9 4 8 6时,该秘钥序列的长度N=10,小于空置位置的总长度32。因此,控制终端直接将该秘钥序列添加至该秘钥队列之后,得到如图10所示的新的秘钥队列。
如果秘钥序列的长度N大于秘钥队列中所有空置位置的总长度M,当前的空置位置将无法存储该秘钥序列中全部的数据。例如,对于如图11所示的秘钥队列,该秘钥队列的长度为36,其中存储有30个数据,所有空置位置的总长度为M=6。当该随机的秘钥序列为1 05 7 32 9 4 8 6时,该秘钥序列的长度为N=10,大于空置位置的长度6。
此时,在一种可能的实现方式中,可以将则将该秘钥序列中的前6个数据(1 0 5 73 2)添加至该空置位置,将该秘钥序列中的后4个数据(9 4 8 6)丢弃,获得如图12所示的秘钥队列。在另一种可能的实现方式中,可以将则将该秘钥序列中的前6个数据(1 0 5 7 32)添加至该空置位置,并且,用该秘钥序列中的后4个数据(9 4 8 6)覆盖该秘钥队列的前4个数据(1 9 2 7),获得如图13所示的秘钥队列。
S804,控制终端将秘钥序列添加至秘钥队列的队尾。
控制终端中预先存储有一个秘钥队列,该秘钥队列与添加秘钥序列之前的智能门锁侧的秘钥队列是完全相同的。控制终端在接收到智能门锁发送的确认接收指令之后,便将秘钥序列添加至本地的秘钥队列中。其添加方式与将秘钥队列添加至智能门锁侧的秘钥队列的方式完全相同,可参见步骤S803,此处不再赘述。
其中,需要说明的是,步骤S803与步骤S804没有先后顺序之分,智能门锁在发送确认接收指令之后执行步骤S803,控制终端在接收确认接收指令之后,执行步骤S804。
本实施例提供的秘钥队列的维护方法,在每一次进行加密和解密之前,都会向控制终端侧和智能门锁侧的秘钥队列的队尾添加相同的秘钥序列,以避免出现秘钥队列数据不足,无法进行加密和解密的情况。
请参阅图14-图15,本实施例提供一种应用于控制终端的智能门锁的控制装置,以及一种应用于智能门锁的控制装置。这两个控制装置结合使用,用于执行上述本实施例提供的智能门锁的开锁方法。
控制终端中的控制装置包括如下部件:
第一获取单元1401,用于获取用户输入的开锁密码,所述开锁密码的长度为K。
第一选择单元1402,用于从预设的秘钥队列的队头开始,获取K个连续的数据作为加密秘钥。
加密单元1403,用于采用加密秘钥对开锁密码进行加密,获得加密密码。
第一发送单元1404,用于将加密密码发送给智能门锁。
第一接收单元1405,用于接收智能门锁发送的第一解锁指令。
第一删除单元1406,用于在控制终端接收到智能门锁发送的第一解锁指令后,将加密秘钥从所述秘钥队列中删除。
可选的,第一接收单元1405,还用于接收智能门锁发送的第二解锁指令。第一删除单元1406,还用于从秘钥队列的队头开始删除K个连续的数据。
可选的,当秘钥队列为环形队列时,第一发送单元1404,还用于将随机生成的秘钥序列发送给智能门锁。控制终端中的控制装置还包括,第一添加单元1407,用于将秘钥序列添加至秘钥队列的队尾。
可选的,第一添加单元1407还用于,若秘钥序列的长度N大于秘钥队列中所有空置位置的总长度M,则将秘钥序列中前M个数据添加至秘钥队列的队尾;以及,将秘钥序列中的后N-M个数据丢弃,或者,用秘钥序列中的后N-M个数据覆盖秘钥队列队头的前N-M个数据。
智能门锁中的控制装置包括如下部件:
第二接收单元1501,用于接收加密密码。
第二选择单元1502,用于从预设的秘钥队列的队头开始,获取K个连续的数据作为解密秘钥。
解密单元1503,用于采用解密秘钥对加密密码进行解密,获得开锁密码。
开锁控制单元1504,用于根据开锁密码和预设密码控制智能门锁是否开锁。
第二删除单元1505,用于将解密秘钥从秘钥队列中删除。
第二发送单元1506,用于向控制终端发送解锁指令。
可选的,当秘钥队列为环形队列时,第二接收单元1501,还用于接收控制终端发送的秘钥序列。该控制装置还包括第二添加单元1507,用于将秘钥序列添加至秘钥队列的队尾。
可选的,第二添加单元1507,还用于若秘钥序列的长度N大于秘钥队列中所有空置位置的总长度M,则将该秘钥序列中的前M个数据添加至秘钥队列的队尾;以及,将该秘钥序列中的后N-M个数据丢弃,或者,用该秘钥序列中的后N-M个数据覆盖秘钥队列队头的前N-M个数据。
本实施例提供的智能门锁的控制装置,在通过控制智能门锁开锁的过程中,在保证加密秘钥与解密秘钥的相同的情况下,还保证了该加密秘钥和解密秘钥均为一次性秘钥。即使该加密密码在发送过程中被盗取并再次发送给智能门锁,智能门锁在解密的过程中也无法获得正确解密获得开锁密码,无法打开智能门锁。
以上所述仅是本实施例的具体实施方式,使本领域技术人员能够理解或实现本实施例。对这些实施例的多种修改对本领域的技术人员来说将是显而易见的,本文中所定义的一般原理可以在不脱离本实施例的精神或范围的情况下,在其它实施例中实现。因此,本实施例将不会被限制于本文所示的这些实施例,而是要符合与本文所公开的原理和新颖特点相一致的最宽的范围。
应当理解的是,本实施例并不局限于上面已经描述的内容,并且可以在不脱离其范围进行各种修改和改变。本实施例的范围仅由所附的权利要求来限制。
Claims (7)
1.一种智能门锁的开锁方法,应用于控制终端,其特征在于,包括:
获取开锁密码,所述开锁密码的长度为K;
从预设的秘钥队列的队头开始,获取K个连续的数据作为加密秘钥;
采用所述加密秘钥对所述开锁密码进行加密,获得加密密码;
将所述加密密码发送给智能门锁;
在接收到所述智能门锁发送的第一解锁指令后,将所述加密秘钥从所述秘钥队列中删除;
其中,所述秘钥队列为环形队列;所述方法还包括将随机生成的秘钥序列发送给智能门锁;将所述秘钥序列添加至所述秘钥队列的队尾;若所述秘钥序列的长度N大于所述秘钥队列中所有空置位置的总长度M,则将所述秘钥序列中前M个数据添加至所述秘钥队列的队尾;以及,将所述秘钥序列中的后N-M个数据丢弃,或者,用所述秘钥序列中的后N-M个数据覆盖所述秘钥队列队头的前N-M个数据。
2.根据权利要求1所述的方法,其特征在于,在获取开锁密码之前,所述方法还包括:
接收所述智能门锁发送的第二解锁指令;
从所述秘钥队列的队头开始删除K个连续的数据。
3.根据权利要求1所述的方法,其特征在于,采用所述加密秘钥对所述开锁密码进行加密,获得加密密码,包括:
对所述加密秘钥和所述开锁密码进行异或运算,获得加密密码。
4.一种智能门锁的开锁方法,应用于智能门锁,其特征在于,包括:
接收加密密码;
从预设的秘钥队列的队头开始,获取K个连续的数据作为解密秘钥;
采用所述解密秘钥对所述加密密码进行解密,获得开锁密码;
根据所述开锁密码和预设密码控制是否开锁;
将所述解密秘钥从所述秘钥队列中删除,并向所述控制终端发送解锁指令;
其中,所述秘钥队列为环形队列;所述方法还包括接收所述控制终端发送的秘钥序列;将所述秘钥序列添加至所述秘钥队列的队尾,若所述秘钥序列的长度N大于所述秘钥队列中所有空置位置的总长度M,则将所述秘钥序列中的前M个数据添加至秘钥队列的队尾;以及,
将所述秘钥序列中的后N-M个数据丢弃,或者,用所述秘钥序列中的后N-M个数据覆盖所述秘钥队列队头的前N-M个数据。
5.根据权利要求4所述的方法,其特征在于,采用所述解密秘钥对所述加密密码进行解密,获得开锁密码,包括:
对所述解密秘钥和所述加密密码进行异或运算,获得开锁密码。
6.一种智能门锁的控制装置,其特征在于,应用于控制终端,包括:
第一获取单元,用于获取开锁密码,所述开锁密码的长度为K;
第一选择单元,用于从预设的秘钥队列的队头开始,获取K个连续的数据作为加密秘钥;
加密单元,用于采用所述加密秘钥对所述开锁密码进行加密,获得加密密码;
第一发送单元,用于将所述加密密码发送给智能门锁,将随机生成的秘钥序列发送给智能门锁;
第一接收单元,用于接收所述智能门锁发送的第一解锁指令;
第一删除单元,用于将所述加密秘钥从所述秘钥队列中删除;
第一添加单元,用于将秘钥序列添加至秘钥队列的队尾,若秘钥序列的长度N大于秘钥队列中所有空置位置的总长度M,则将秘钥序列中前M个数据添加至秘钥队列的队尾;以及,将秘钥序列中的后N-M个数据丢弃,或者,用秘钥序列中的后N-M个数据覆盖秘钥队列队头的前N-M个数据。
7.一种智能门锁的控制装置,其特征在于,应用于智能门锁,包括:
第二接收单元,用于接收加密密码,接收控制终端发送的秘钥序列;
第二选择单元,用于从预设的秘钥队列的队头开始,获取K个连续的数据作为解密秘钥;
解密单元,用于采用所述解密秘钥对所述加密密码进行解密,获得开锁密码;
开锁控制单元,用于根据所述开锁密码和预设密码控制所述智能门锁是否开锁;
第二删除单元,用于将所述解密秘钥从所述秘钥队列中删除;
第二发送单元,用于向所述控制终端发送解锁指令;
第二添加单元,用于将秘钥序列添加至秘钥队列的队尾,若秘钥序列的长度N大于秘钥队列中所有空置位置的总长度M,则将该秘钥序列中的前M个数据添加至秘钥队列的队尾;以及,将该秘钥序列中的后N-M个数据丢弃,或者,用该秘钥序列中的后N-M个数据覆盖秘钥队列队头的前N-M个数据。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910016359.0A CN109448208B (zh) | 2019-01-08 | 2019-01-08 | 一种智能门锁的开锁方法及控制装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910016359.0A CN109448208B (zh) | 2019-01-08 | 2019-01-08 | 一种智能门锁的开锁方法及控制装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN109448208A CN109448208A (zh) | 2019-03-08 |
CN109448208B true CN109448208B (zh) | 2021-03-02 |
Family
ID=65543008
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201910016359.0A Active CN109448208B (zh) | 2019-01-08 | 2019-01-08 | 一种智能门锁的开锁方法及控制装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN109448208B (zh) |
Families Citing this family (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110047185B (zh) * | 2019-04-25 | 2021-09-14 | 广州河东科技有限公司 | 一种智能门锁的开锁方法及系统 |
CN110821303A (zh) * | 2019-12-05 | 2020-02-21 | 上海新微技术研发中心有限公司 | 一种ble智能门锁 |
CN110886555A (zh) * | 2019-12-05 | 2020-03-17 | 上海新微技术研发中心有限公司 | 一种ble智能门锁交互方法 |
CN113674455B (zh) * | 2021-08-13 | 2023-08-04 | 京东科技信息技术有限公司 | 智能门锁远程控制方法、装置、系统、设备及存储介质 |
CN115171247A (zh) * | 2022-06-24 | 2022-10-11 | 广东汇泰龙科技股份有限公司 | 一种智能锁、存储方法、解密方法及存储介质 |
Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1143437A (zh) * | 1994-03-14 | 1997-02-19 | 威廉·Y·肖 | 密钥可变的加密系统 |
US6026165A (en) * | 1996-06-20 | 2000-02-15 | Pittway Corporation | Secure communications in a wireless system |
CN101793115A (zh) * | 2009-12-20 | 2010-08-04 | 姜君凯 | 电子锁和钥匙及工作流程控制 |
CN105184929A (zh) * | 2015-09-30 | 2015-12-23 | 深圳市章陈融通科技有限公司 | 智能门锁控制方法及装置 |
CN106953875A (zh) * | 2017-04-26 | 2017-07-14 | 吉林大学珠海学院 | 基于多密钥流密码的顺序加密方法 |
CN106971438A (zh) * | 2017-03-31 | 2017-07-21 | 杭州西野科技有限公司 | 锁体控制方法、装置、服务器及售卖柜 |
CN108270563A (zh) * | 2016-12-30 | 2018-07-10 | 航天信息股份有限公司 | 一种基于sm2加密算法的数据交换方法和系统 |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7088218B2 (en) * | 2003-07-30 | 2006-08-08 | Lear Corporation | Wireless appliance activation transceiver |
-
2019
- 2019-01-08 CN CN201910016359.0A patent/CN109448208B/zh active Active
Patent Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1143437A (zh) * | 1994-03-14 | 1997-02-19 | 威廉·Y·肖 | 密钥可变的加密系统 |
US6026165A (en) * | 1996-06-20 | 2000-02-15 | Pittway Corporation | Secure communications in a wireless system |
CN101793115A (zh) * | 2009-12-20 | 2010-08-04 | 姜君凯 | 电子锁和钥匙及工作流程控制 |
CN105184929A (zh) * | 2015-09-30 | 2015-12-23 | 深圳市章陈融通科技有限公司 | 智能门锁控制方法及装置 |
CN108270563A (zh) * | 2016-12-30 | 2018-07-10 | 航天信息股份有限公司 | 一种基于sm2加密算法的数据交换方法和系统 |
CN106971438A (zh) * | 2017-03-31 | 2017-07-21 | 杭州西野科技有限公司 | 锁体控制方法、装置、服务器及售卖柜 |
CN106953875A (zh) * | 2017-04-26 | 2017-07-14 | 吉林大学珠海学院 | 基于多密钥流密码的顺序加密方法 |
Also Published As
Publication number | Publication date |
---|---|
CN109448208A (zh) | 2019-03-08 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN109448208B (zh) | 一种智能门锁的开锁方法及控制装置 | |
CN106656476B (zh) | 一种密码保护方法、装置及计算机可读存储介质 | |
CN103092484B (zh) | 解锁屏幕的方法、装置及终端 | |
KR101416536B1 (ko) | 패스코드 운영 시스템과 패스코드 장치 및 슈퍼 패스코드 생성 방법 | |
EP2741443B1 (en) | Credential Recovery | |
KR102159461B1 (ko) | 데이터 백업 방법 및 장치, 저장 매체 그리고 서버 | |
US20180091487A1 (en) | Electronic device, server and communication system for securely transmitting information | |
CN110311787B (zh) | 授权管理方法、系统、设备及计算机可读存储介质 | |
CN110047185A (zh) | 一种智能门锁的开锁方法及系统 | |
CN102708324A (zh) | 一种屏幕锁解锁系统及方法 | |
CN106487659B (zh) | 信息加密方法、信息加密装置及终端 | |
CN103777912A (zh) | 一种成像设备及其安全成像方法、成像系统 | |
CN104917787A (zh) | 基于群组密钥的文件安全共享方法和系统 | |
WO2019160472A1 (en) | Updating biometric template protection keys | |
CN105933503B (zh) | 一种信息处理方法和电子设备 | |
CN109547303B (zh) | 控制方法及相关设备 | |
CN106797381B (zh) | 用于用户认证的通信适配器 | |
CN111193588A (zh) | 基于进程的信息处理方法、装置及存储介质 | |
CN111008400A (zh) | 数据处理方法、装置及系统 | |
CN111818466B (zh) | 信息发送、接收方法及装置、电子设备及可读存储介质 | |
CN104751028A (zh) | 应用程序加密、解密的方法及装置 | |
CN106453335B (zh) | 一种数据传输方法及装置 | |
CN113282945B (zh) | 智能锁权限管理方法、装置、电子设备及存储介质 | |
CN109670338A (zh) | 一种数据全程加密的方法与系统 | |
US10181951B2 (en) | Protected encryption key recovery |
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 | ||
CP03 | Change of name, title or address |
Address after: 266061 Songling Road, Laoshan District, Qingdao, Shandong Province, No. 399 Patentee after: Qingdao Hisense Smart Life Technology Co.,Ltd. Address before: A64 / F, 399 Songling Road, Laoshan District, Qingdao City, Shandong Province 266100 Patentee before: QINGDAO HISENSE SMART HOME SYSTEMS Co.,Ltd. |
|
CP03 | Change of name, title or address |