CN108833086A - 指纹锁及其工作方法 - Google Patents

指纹锁及其工作方法 Download PDF

Info

Publication number
CN108833086A
CN108833086A CN201810422349.2A CN201810422349A CN108833086A CN 108833086 A CN108833086 A CN 108833086A CN 201810422349 A CN201810422349 A CN 201810422349A CN 108833086 A CN108833086 A CN 108833086A
Authority
CN
China
Prior art keywords
communication message
mould group
main control
control mcu
communication
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
Application number
CN201810422349.2A
Other languages
English (en)
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.)
Shenzhen Lumi United Technology Co Ltd
Original Assignee
Shenzhen Lumi United Technology 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 Shenzhen Lumi United Technology Co Ltd filed Critical Shenzhen Lumi United Technology Co Ltd
Priority to CN201810422349.2A priority Critical patent/CN108833086A/zh
Publication of CN108833086A publication Critical patent/CN108833086A/zh
Pending legal-status Critical Current

Links

Classifications

    • 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/08Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
    • H04L9/0816Key establishment, i.e. cryptographic processes or cryptographic protocols whereby a shared secret becomes available to two or more parties, for subsequent use
    • H04L9/0819Key transport or distribution, i.e. key establishment techniques where one party creates or otherwise obtains a secret value, and securely transfers it to the other(s)
    • H04L9/0822Key transport or distribution, i.e. key establishment techniques where one party creates or otherwise obtains a secret value, and securely transfers it to the other(s) using key encryption key
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/08Network architectures or network communication protocols for network security for authentication of entities
    • H04L63/083Network architectures or network communication protocols for network security for authentication of entities using passwords
    • H04L63/0838Network architectures or network communication protocols for network security for authentication of entities using passwords using one-time-passwords
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/08Network architectures or network communication protocols for network security for authentication of entities
    • H04L63/0876Network architectures or network communication protocols for network security for authentication of entities based on the identity of the terminal or configuration, e.g. MAC address, hardware or software configuration or device fingerprint
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/12Applying verification of the received information
    • H04L63/123Applying verification of the received information received data contents, e.g. message integrity
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L69/00Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
    • H04L69/22Parsing or analysis of headers
    • 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/08Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
    • H04L9/0861Generation of secret information including derivation or calculation of cryptographic keys or passwords
    • H04L9/0866Generation of secret information including derivation or calculation of cryptographic keys or passwords involving user or device identifiers, e.g. serial number, physical or biometrical information, DNA, hand-signature or measurable physical characteristics
    • 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/08Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
    • H04L9/0861Generation of secret information including derivation or calculation of cryptographic keys or passwords
    • H04L9/0869Generation of secret information including derivation or calculation of cryptographic keys or passwords involving random numbers or seeds

Abstract

本发明公开一种指纹锁及其工作方法,该工作方法包括:主控MCU采用预设方式生成更新密钥,将待发送的操作指令和更新密钥利用其最新存储的密钥加密后加入第一通信报文中发送给指纹模组,并存储更新密钥;指纹模组接收到第一通信报文后,利用其最新存储的密钥对第一通信报文解密,并对解密得到的通信内容进行校验;指纹模组对通信内容校验成功后,存储更新密钥,执行通信内容中的操作指令;指纹模组将执行操作指令的操作结果采用其最新存储的更新密钥加密后,加入第二通信报文中,并将第二通信报文反馈给主控MCU;主控MCU校验第二通信报文并做相应处理。本发明方案实现了以低成本的方式有效提升指纹锁的安全性。

Description

指纹锁及其工作方法
技术领域
本发明涉及智能锁领域,特别涉及一种指纹锁及其工作方法。
背景技术
随着指纹锁市场的火爆,各种破解方法和视频也逐渐暴漏在公众的视野,指纹锁的安全性也越来越被消费者关注。目前的指纹锁,指纹模组和主控MCU之间多采用UART或SPI接口进行通信,通信内容是明文或采用简单的加密,很容易被重放攻击方式破解,如果采用硬件加密方案,则需要额外增加加密芯片,这样增大了体积和成本。
发明内容
本发明的主要目的是提供一种指纹锁及其工作方法,旨在以低成本的方式提升指纹锁的安全性。
为实现上述目的,本发明提出的指纹锁的工作方法,所述指纹锁包括主控MCU和与所述主控MCU通信连接的指纹模组,该工作方法包括以下步骤:
A、所述主控MCU采用预设方式生成更新密钥,将待发送的操作指令和所述更新密钥利用其最新存储的密钥加密后加入第一通信报文中,将所述第一通信报文发送给所述指纹模组,并存储所述更新密钥;
B、所述指纹模组接收到所述第一通信报文后,利用其最新存储的密钥对所述第一通信报文解密,并对解密得到的通信内容进行校验;
C、所述指纹模组对所述通信内容校验成功后,存储所述更新密钥,执行所述通信内容中的操作指令;
D、所述指纹模组将执行所述操作指令的操作结果采用其最新存储的所述更新密钥加密后,加入第二通信报文中,并将所述第二通信报文反馈给所述主控MCU;
E、所述主控MCU采用其最新存储的更新密钥对所述第二通信报文进行解密,并对解密得到的内容进行校验,以根据校验结果做相应处理。
优选地,在步骤A之后,所述工作方法还包括:
若所述主控MCU在第一预设时间内未收到所述指纹模组的回复,则判断所述主控MCU是否重发过所述第一通信报文;
若所述主控MCU没有重发过所述第一通信报文,则将所述第一通信报文重发给所述指纹模组;
若所述主控MCU重发过所述第一通信报文,则结束与所述指纹模组的通信。
优选地,所述工作方法还包括:
若所述指纹模组对所述通信内容校验失败,则发送第三通信报文给所述主控MCU,所述第三通信报文中包含状态为校验失败的确认字符;
所述主控MCU对接收到所述第三通信报文进行校验,在对所述第三通信报文的完整性校验失败或者确认所述第三通信报文中的确认字符的状态为校验失败后,判断所述主控MCU是否重发过所述第一通信报文;
若所述主控MCU没有重发过所述第一通信报文,则将所述第一通信报文重发给所述指纹模组;
若所述主控MCU重发过所述第一通信报文,则结束与所述指纹模组的通信。
优选地,所述第一通信报文和所述第二通信报文中均包含加密魔数,所述指纹模组对解密得到的通信内容的校验和所述主控MCU对解密得到的内容的校验均包括:完整性校验和魔数校验。
优选地,所述主控MCU生成更新密钥的预设方式包括:
所述主控MCU生成n字节的随机数,将其预先存储的所述指纹模组的MAC地址的其中a个字节与生成的n字节的随机数中的任意b个字节组成更新密钥。
优选地,所述工作方法还包括:
所述主控MCU向所述指纹模组发送MAC地址读取命令;
所述指纹模组反馈自身的MAC地址给所述主控MCU;
所述主控MCU对所述MAC地址进行存储。
本发明还提出一种指纹锁,包括主控MCU和与所述主控MCU通信连接的指纹模组;
所述主控MCU用于采用预设方式生成更新密钥,将待发送的操作指令和所述更新密钥利用其最新存储的密钥加密后加入第一通信报文中,将所述第一通信报文发送给所述指纹模组,并存储所述更新密钥;
所述指纹模组用于在接收到所述第一通信报文后,利用其最新存储的密钥对所述第一通信报文解密,并对解密得到的通信内容进行校验;并在通信内容校验成功后,存储所述更新密钥,执行所述通信内容中的操作指令;以及将执行所述操作指令的操作结果采用其最新存储的所述更新密钥加密后,加入第二通信报文中,将所述第二通信报文反馈给所述主控MCU;
所述主控MCU还用于采用其最新存储的更新密钥对所述第二通信报文进行解密,并对解密得到的内容进行校验,以根据校验结果做相应处理。
优选地,所述主控MCU还用于在第一预设时间内未收到所述指纹模组的回复后,判断是否重发过所述第一通信报文给所述指纹模组;并在确定没有重发过所述第一通信报文后,将所述第一通信报文重发给所述指纹模组;以及在确定重发过所述第一通信报文给所述指纹模组后,结束与所述指纹模组的通信。
优选地,所述指纹模组还用于在对所述通信内容校验失败后,发送第三通信报文给所述主控MCU,所述第三通信报文中包含状态为校验失败的确认字符;
所述主控MCU还用于对接收到所述第三通信报文进行校验,在对所述第三通信报文的完整性校验失败或者确认所述第三通信报文中的确认字符的状态为校验失败后,判断是否重发过所述第一通信报文给所述指纹模组;并在确定没有重发过所述第一通信报文后,将所述第一通信报文重发给所述指纹模组;以及在确定重发过所述第一通信报文给所述指纹模组后,结束与所述指纹模组的通信。
优选地,所述主控MCU生成更新密钥的预设方式包括:
所述主控MCU生成n字节的随机数,将其预先存储的所述指纹模组的MAC地址的其中a个字节与生成的n字节的随机数中的任意b个字节组成更新密钥。
本发明技术方案,主控MCU每一次与指纹模组的通信都会先更新密钥,然后将更新密钥与操作指令一起采用上一次发给指纹模组的密钥进行加密后,加入通信报文中发送给指纹模组,指纹模组解密主控MCU发送的通信报文并校验成功后,存储解密得到的通信内容中的更新密钥,以用于下次对MCU发送的通信报文进行解密,如此实现主控MCU与指纹模组之间每一次通信均采用不同的密钥,有效的避免了互换指纹模组破解以及重放攻击,保证了指纹锁的安全性;同时本方案并没有额外增加硬件芯片,不会增加硬件额外的成本。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图示出的结构获得其他的附图。
图1为本发明指纹锁的工作方法一实施例的流程示意图;
图2为本发明指纹锁的工作方法二实施例的流程示意图;
图3为本发明指纹锁较佳实施例的模块结构示意图。
本发明目的的实现、功能特点及优点将结合实施例,参照附图做进一步说明。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明的一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
需要说明,本发明实施例中所有方向性指示(诸如上、下、左、右、前、后……)仅用于解释在某一特定姿态(如附图所示)下各部件之间的相对位置关系、运动情况等,如果该特定姿态发生改变时,则该方向性指示也相应地随之改变。
本发明提出一种指纹锁的工作方法,所述指纹锁包括主控MCU和与所述主控MCU通信连接的指纹模组。
如图1所示,图1为本发明指纹锁的工作方法一实施例的流程示意图。本实施例中,该指纹锁的工作方法包括:
步骤S10,所述主控MCU采用预设方式生成更新密钥,将待发送的操作指令和所述更新密钥利用其最新存储的密钥加密后加入第一通信报文中,将所述第一通信报文发送给所述指纹模组,并存储所述更新密钥;
当主控MCU要与指纹模组进行通信时,主控MCU先采用预设方式生成更新密钥,再利用最新存储的密钥(即上一次通信时存储的更新密钥)对待发送的操作指令和本次的更新密钥进行加密,加密后的操作指令和更新密钥加入第一通信报文中,将该第一通信报文发送给指纹模组,主控MCU将本次的更新密钥存储,作为下一次通信时的加密密钥。本实施例中,所述主控MCU生成更新密钥的预设方式例如:1、随机生成N(例如,8、16等)字节的随机数;2、随机生成N字节的随机数,将所述N字节的随机数的奇数字节与预先获取的指纹模组的MAC地址的后几位字节组合形成更新密钥(如由指纹模组MAC地址的后4字节+主控MCU生成的8个字节随机数的第1、3、5、7个字节组成);等等。本实施例的主控MCU采用的加密算法优选为RC4算法,当然,还可以采用其它加密算法。
步骤S20,所述指纹模组接收到所述第一通信报文后,利用其最新存储的密钥对所述第一通信报文解密,并对解密得到的通信内容进行校验;
指纹模组接收到主控MCU发送的第一通信报文后,指纹模组利用其最新存储的密钥(该最新存储的密钥是在与主控MCU的上一次通信中,从解密得到的通信内容中获得的更新密钥)对第一通信报文进行解密,以将第一通信报文中的加密部分解密,从而得到第一通信报文的所有通信内容,然后指纹模组对解密得到的通信内容进行校验。本实施例中,所述第一通信报文中包括所有数据的异或运算值和加密魔数,所述指纹模组对所述通信内容的校验包括:对所述通信内容进行完整性校验的异或运算值的校验和/或对通信内容中的密钥进行验证的的魔数校验;魔数是一个固定的字符,用来验证数据的正确性,每次解密后,为了确定正确解密了,需要将解密出的魔数和预存的魔数对比一下,如果一致就说明解密对了。
步骤S30,所述指纹模组对所述通信内容校验成功后,存储所述更新密钥,执行所述通信内容中的操作指令;
当指纹模组对解密后的通信内容校验成功,即确认对第一通信报文解密成功。指纹模组在校验确认对第一通信报文解密成功后,将从第一通信报文中解密得到的更新密钥进行存储,以用于对主控MCU下次发送的报文进行解密,以及作为对执行所述操作指令的操作结果的加密密钥;指纹模组执行所述通信内容中的操作指令。
步骤S40,所述指纹模组将执行所述操作指令的操作结果采用其最新存储的所述更新密钥加密后,加入第二通信报文中,并将所述第二通信报文反馈给所述主控MCU;
在指纹模组得到执行所述操作指令的操作结果后,采用其最新存储的那个更新密钥对该操作结果进行加密,然后将加密后的操作结果加入第二通信报文中,再将第二通信报文反馈给所述主控MCU。
步骤S50,所述主控MCU采用其最新存储的更新密钥对所述第二通信报文进行解密,并对解密得到的内容进行校验,以根据校验结果做相应处理。
主控MCU收到指纹模组反馈的第二通信报文后,所述主控MCU利用其最新存储的密钥对所述指纹模组反馈的第二通信报文进行解密,并对解密后的第二通信报文进行校验,所述第二通信报文中包括所有数据的异或运算值和加密魔数,所述主控MCU对所述指纹模组反馈的第二通信报文的校验包括:对解密后的第二通信报文进行完整性校验的异或运算值的校验,和/或,对通信内容中的密钥进行验证的魔数校验。
主控MCU校验成功(即比对一致)后,根据第二通信报文中的操作结果进行相应处理(例如开锁)。若校验失败,可以直接结束通信或进行其它处理。
在一种实施方式中,主控MCU在第一通信报文中发送指纹采集的操作指令至指纹模组,指纹模组在执行了指纹采集的操作指令后,将执行的操作结果通过第二通信报文反馈给主控MCU,主控MCU对第二通信报文校验成功后,控制智能门锁内部的电机执行开锁操作。
本发明技术方案,主控MCU每一次与指纹模组的通信都会先更新密钥,然后将更新密钥与操作指令一起采用上一次发给指纹模组的密钥进行加密后,加入通信报文中发送给指纹模组,指纹模组解密主控MCU发送的通信报文并校验成功后,存储解密得到的通信内容中的更新密钥,以用于下次对MCU发送的通信报文进行解密和用于对反馈给主控MCU的操作结果进行加密,如此实现主控MCU与指纹模组之间每一次通信均采用不同的密钥,有效的避免了互换指纹模组破解以及重放攻击,保证了指纹锁的安全性;同时本方案并没有额外增加硬件芯片,不会增加硬件额外的成本。
进一步地,本实施例中,在步骤S10之后,该指纹锁的工作方法还包括:
若所述主控MCU在第一预设时间内未收到所述指纹模组的回复,则判断所述主控MCU是否重发过所述第一通信报文;
主控MCU在发送第一通信报文给指纹模组后,如果指纹模组在第一预设时间(例如10秒)内没有反馈,则判断为指纹模组没接收到主控MCU发送的第一通信报文或主控MCU的第一通信报文发送失败等异常情况,此时,主控MCU判断之前是否重发过该第一通信报文,根据重发记录确定要不要再次重发第一通信报文。
若所述主控MCU没有重发过所述第一通信报文,则将所述第一通信报文重发给所述指纹模组;
当主控MCU确定没有重发过该第一通信报文,则向指纹模组重发该第一通信报文,以免除由于发送失败或接收失败的这类偶然异常情况对通信交互的影响。
若所述主控MCU重发过所述第一通信报文,则结束与所述指纹模组的通信。
当主控MCU确定已经重发过该第一通信报文,则很可能是指纹模组或主控MCU出现其它异常情况,此时,则不再重发第一通信报文,而直接结束与指纹模组的通信。
如图2所示,图2为本发明指纹锁的工作方法二实施例的流程示意图;本实施例中,该指纹锁的工作方法还包括:
步骤S60,若所述指纹模组对所述通信内容校验失败,则发送第三通信报文给所述主控MCU,所述第三通信报文中包含状态为校验失败的确认字符;
当指纹模组对通信内容的校验出现数据异或运算值校验失败或者魔数校验失败时,说明指纹模组对第一通信报文的解密不成功,没有正确解密,此时指纹模组则反馈包含状态为校验失败的确认字符的第三通信报文给主控MCU,告诉主控MCU,指纹模组解密失败。
步骤S70,所述主控MCU对接收到所述第三通信报文进行校验,在对所述第三通信报文的完整性校验失败或者确认所述第三通信报文中的确认字符的状态为校验失败后,判断所述主控MCU是否重发过所述第一通信报文;
主控MCU接收指纹模组反馈的第三通信报文后,先校验该第三通信报文,在本实施例中,第三通信报文中包含所有数据的异或运算值,对第三通信报文的完整性校验即对第三通信报文进行异或运算值的校验。如果校验失败,或者校验成功但发现确认字符的状态为校验失败,则判断是否要重复第一通信报文,让指纹模组再一次对第一通信报文进行解密。
步骤S80,若所述主控MCU没有重发过所述第一通信报文,则将所述第一通信报文重发给所述指纹模组;
步骤S90,若所述主控MCU重发过所述第一通信报文,则结束与所述指纹模组的通信。
进一步地,在本实施例中,所述指纹锁的工作方法还包括:
所述主控MCU向所述指纹模组发送MAC地址读取命令;
所述指纹模组反馈自身的MAC地址给所述主控MCU;
所述主控MCU对所述MAC地址进行存储。
上述步骤在主控MCU与指纹模组第一次通信时执行。此外,在第一次通信时,主控MCU还根据该MAC地址生成初始密钥进行存储,并发送给指纹模组存储。由于每个指纹模组的MAC地址是唯一的,因此根据MAC地址确认的初始密钥也是唯一的,因此,在后续使用中,若指纹模组被换掉,则新的指纹模组不能解密主控MCU发送的第一通信报文,因此,本实施例有效的解决通过互换指纹模组来对指纹锁进行破解的隐患。
优选地,本实施例中,所述主控MCU生成更新密钥的预设方式为:
所述主控MCU生成n字节的随机数,将其预先存储的所述指纹模组的MAC地址的其中a个字节(例如后4个字节)与生成的n字节(例如8字节)的随机数中的任意b个字节(例如第1、3、5、7这4个字节)组成更新密钥。
当然,在其它实施例中,主控MCU生成更新密钥的方式还可以为其它方案。
如图3所示,本发明还提出一种指纹锁10,包括主控MCU101和与所述主控MCU101通信连接的指纹模组102;所述主控MCU101用于采用预设方式生成更新密钥,将待发送的操作指令和所述更新密钥利用其最新存储的密钥加密后加入第一通信报文中,将所述第一通信报文发送给所述指纹模组102,并存储所述更新密钥;
当主控MCU101要与指纹模组102进行通信时,主控MCU101先采用预设方式生成更新密钥,再利用最新存储的密钥(即上一次通信时存储的更新密钥)对待发送的操作指令和本次的更新密钥进行加密,加密后的操作指令和更新密钥加入第一通信报文中,将该第一通信报文发送给指纹模组102,主控MCU101将本次的更新密钥存储,作为下一次通信时的加密密钥。本实施例中,所述主控MCU101生成更新密钥的预设方式例如:1、随机生成N(例如,8、16等)字节的随机数;2、随机生成N字节的随机数,将所述N字节的随机数的奇数字节与预先获取的指纹模组102的MAC地址的后几位字节组合形成更新密钥(如由指纹模组102MAC地址的后4字节+主控MCU101生成的8个字节随机数的第1、3、5、7个字节组成);等等。本实施例的主控MCU101采用的加密算法优选为RC4算法,当然,还可以采用其它加密算法。
所述指纹模组102用于在接收到所述第一通信报文后,利用其最新存储的密钥对所述第一通信报文解密,并对解密得到的通信内容进行校验;并在通信内容校验成功后,存储所述更新密钥,执行所述通信内容中的操作指令;以及将执行所述操作指令的操作结果采用其最新存储的所述更新密钥加密后,加入第二通信报文中,将所述第二通信报文反馈给所述主控MCU101;
指纹模组102接收到主控MCU101发送的第一通信报文后,指纹模组102利用其最新存储的密钥(该最新存储的密钥是在与主控MCU101的上一次通信中,从解密得到的通信内容中获得的更新密钥)对第一通信报文进行解密,以将第一通信报文中的加密部分解密,从而得到第一通信报文的所有通信内容,然后指纹模组102对解密得到的通信内容进行校验。本实施例中,所述第一通信报文中包括所有数据的异或运算值和加密魔数,所述指纹模组102对所述通信内容的校验包括:对所述通信内容进行完整性校验的异或运算值的校验和/或对通信内容中的的密钥进行验证的魔数校验;魔数是一个固定的字符,用来验证数据的正确性,每次解密后,为了确定正确解密了,需要将解密出的魔数和预存的魔数对比一下,如果一致就说明解密对了。当指纹模组102对解密后的通信内容校验成功,即确认对第一通信报文解密成功。指纹模组102在校验确认对第一通信报文解密成功后,将从第一通信报文中解密得到的更新密钥进行存储,以用于对主控MCU101下次发送的报文进行解密,以及作为对执行所述操作指令的操作结果的加密密钥;并且指纹模组102执行所述通信内容中的操作指令,在得到执行所述操作指令的操作结果后,采用其最新存储的那个更新密钥对该操作结果进行加密,然后将加密后的操作结果加入第二通信报文中,再将第二通信报文反馈给所述主控MCU101。第二通信报文中包含初始密钥,初始密钥为主控MCU101与指纹模组102预先确定,主控MCU101与指纹模组102中都存储了该初始密钥。
所述主控MCU101还用于采用其最新存储的更新密钥对所述第二通信报文进行解密,并对解密得到的内容进行校验,以根据校验结果做相应处理。
主控MCU101收到指纹模组102反馈的第二通信报文后,所述主控MCU101利用其最新存储的密钥对所述指纹模组102反馈的第二通信报文进行解密,并对解密后的第二通信报文进行校验,所述第二通信报文中包括所有数据的异或运算值和加密魔数,所述主控MCU101对所述指纹模组反馈的第二通信报文的校验包括:对解密后的第二通信报文进行完整性校验的异或运算值的校验,和/或,对通信内容中的密钥进行验证的魔数校验。
主控MCU101校验成功(即比对一致)后,根据第二通信报文中的操作结果进行相应处理(例如开锁)。若校验失败,可以直接结束通信或进行其它处理。
在一种实施方式中,主控MCU101在第一通信报文中发送指纹采集的操作指令至指纹模组102,指纹模组102在执行了指纹采集的操作指令后,将执行的操作结果通过第二通信报文反馈给主控MCU101,主控MCU101对第二通信报文校验成功后,控制智能门锁内部的电机执行开锁操作。
本发明技术方案,主控MCU101每一次与指纹模组102的通信都会先更新密钥,然后将更新密钥与操作指令一起采用上一次发给指纹模组102的密钥进行加密后,加入通信报文中发送给指纹模组102,指纹模组102解密主控MCU101发送的通信报文并校验成功后,存储解密得到的通信内容中的更新密钥,以用于下次对MCU发送的通信报文进行解密和用于对反馈给主控MCU101的操作结果进行加密,如此实现主控MCU101与指纹模组102之间每一次通信均采用不同的密钥,有效的避免了互换指纹模组102破解以及重放攻击,保证了指纹锁10的安全性;同时本方案并没有额外增加硬件芯片,不会增加硬件额外的成本。
进一步地,本实施例中,所述主控MCU101还用于在第一预设时间内未收到所述指纹模组102的回复后,判断是否重发过所述第一通信报文给所述指纹模组102;并在确定没有重发过所述第一通信报文后,将所述第一通信报文重发给所述指纹模组102;以及在确定重发过所述第一通信报文给所述指纹模组102后,结束与所述指纹模组102的通信。
主控MCU101在发送第一通信报文给指纹模组102后,如果指纹模组102在第一预设时间(例如10秒)内没有反馈,则判断为指纹模组102没接收到主控MCU101发送的第一通信报文或主控MCU101的第一通信报文发送失败等异常情况,此时,主控MCU101判断之前是否重发过该第一通信报文,根据重发记录确定要不要再次重发第一通信报文。当主控MCU101确定没有重发过该第一通信报文,则向指纹模组102重发该第一通信报文,以免除由于发送失败或接收失败的这类偶然异常情况对通信交互的影响。当主控MCU101确定已经重发过该第一通信报文,则很可能是指纹模组102或主控MCU101出现其它异常情况,此时,则不再重发第一通信报文,而直接结束与指纹模组102的通信。
优选地,所述指纹模组102还用于在对所述通信内容校验失败后,发送第三通信报文给所述主控MCU101,所述第三通信报文中包含状态为校验失败的确认字符;
所述主控MCU101还用于对接收到所述第三通信报文进行校验,在对所述第三通信报文的完整性校验失败或者确认所述第三通信报文中的确认字符的状态为校验失败后,判断是否重发过所述第一通信报文给所述指纹模组102;并在确定没有重发过所述第一通信报文后,将所述第一通信报文重发给所述指纹模组102;以及在确定重发过所述第一通信报文给所述指纹模组102后,结束与所述指纹模组102的通信。
当指纹模组102对通信内容的校验出现数据异或运算值校验失败或者魔数校验失败时,说明指纹模组102对第一通信报文的解密不成功,没有正确解密,此时指纹模组102则反馈包含状态为校验失败的确认字符的第三通信报文给主控MCU101,告诉主控MCU101,指纹模组102解密失败。主控MCU101接收指纹模组102反馈的第三通信报文后,先对第三通信报文进行完整性校验;在本实施例中,第三通信报文中包含所有数据的异或运算值,对第三通信报文的完整性校验即对第三通信报文进行异或运算值的校验;如果对第三通信报文的完整性校验失败,或者完整性校验成功但发现确认字符的状态为校验失败,则判断是否要重复第一通信报文,让指纹模组102再一次对第一通信报文进行解密。
进一步地,本实施例中,所述主控MCU101还用于向所述指纹模组发送MAC地址读取命令,并对指纹模组102反馈的MAC地址进行存储;
所述指纹模组102还用于在接收到MAC地址读取命令后,反馈自身的MAC地址给所述主控MCU101。
上述操作在主控MCU101与指纹模组102第一次通信时执行。此外,在第一次通信时,主控MCU101还根据该MAC地址生成初始密钥进行存储,并发送给指纹模组102存储。由于每个指纹模组102的MAC地址是唯一的,因此根据MAC地址确认的初始密钥也是唯一的,因此,在后续使用中,若指纹模组102被换掉,则新的指纹模组102不能解密主控MCU发送的第一通信报文,因此,本实施例有效的解决通过互换指纹模组102来对指纹锁10进行破解的隐患。
优选地,本实施例中,所述主控MCU101生成更新密钥的预设方式为:
所述主控MCU101生成n字节的随机数,将其预先存储的所述指纹模组102的MAC地址的其中a个字节(例如后4个字节)与生成的n字节(例如8字节)的随机数中的任意b个字节(例如第1、3、5、7这4个字节)组成更新密钥。
当然,在其它实施例中,主控MCU101生成更新密钥的方式还可以为其它方案。
以上所述仅为本发明的优选实施例,并非因此限制本发明的专利范围,凡是在本发明的发明构思下,利用本发明说明书及附图内容所作的等效结构变换,或直接/间接运用在其他相关的技术领域均包括在本发明的专利保护范围内。

Claims (10)

1.一种指纹锁的工作方法,其特征在于,所述指纹锁包括主控MCU和与所述主控MCU通信连接的指纹模组,该工作方法包括以下步骤:
A、所述主控MCU采用预设方式生成更新密钥,将待发送的操作指令和所述更新密钥利用其最新存储的密钥加密后加入第一通信报文中,将所述第一通信报文发送给所述指纹模组,并存储所述更新密钥;
B、所述指纹模组接收到所述第一通信报文后,利用其最新存储的密钥对所述第一通信报文解密,并对解密得到的通信内容进行校验;
C、所述指纹模组对所述通信内容校验成功后,存储所述更新密钥,执行所述通信内容中的操作指令;
D、所述指纹模组将执行所述操作指令的操作结果采用其最新存储的所述更新密钥加密后,加入第二通信报文中,并将所述第二通信报文反馈给所述主控MCU;
E、所述主控MCU采用其最新存储的更新密钥对所述第二通信报文进行解密,并对解密得到的内容进行校验,以根据校验结果做相应处理。
2.如权利要求1所述的指纹锁的工作方法,其特征在于,在步骤A之后,所述工作方法还包括:
若所述主控MCU在第一预设时间内未收到所述指纹模组的回复,则判断所述主控MCU是否重发过所述第一通信报文;
若所述主控MCU没有重发过所述第一通信报文,则将所述第一通信报文重发给所述指纹模组;
若所述主控MCU重发过所述第一通信报文,则结束与所述指纹模组的通信。
3.如权利要求1所述的指纹锁的工作方法,其特征在于,所述工作方法还包括:
若所述指纹模组对所述通信内容校验失败,则发送第三通信报文给所述主控MCU,所述第三通信报文中包含状态为校验失败的确认字符;
所述主控MCU对接收到所述第三通信报文进行校验,在对所述第三通信报文的完整性校验失败或者确认所述第三通信报文中的确认字符的状态为校验失败后,判断所述主控MCU是否重发过所述第一通信报文;
若所述主控MCU没有重发过所述第一通信报文,则将所述第一通信报文重发给所述指纹模组;
若所述主控MCU重发过所述第一通信报文,则结束与所述指纹模组的通信。
4.如权利要求1所述的指纹锁的工作方法,其特征在于,所述第一通信报文和所述第二通信报文中均包含加密魔数,所述指纹模组对解密得到的通信内容的校验和所述主控MCU对解密得到的内容的校验均包括:完整性校验和魔数校验。
5.如权利要求1所述的指纹锁的工作方法,其特征在于,所述主控MCU生成更新密钥的预设方式包括:
所述主控MCU生成n字节的随机数,将其预先存储的所述指纹模组的MAC地址的其中a个字节与生成的n字节的随机数中的任意b个字节组成更新密钥。
6.如权利要求1至5中任意一项所述的指纹锁的工作方法,其特征在于,所述工作方法还包括:
所述主控MCU向所述指纹模组发送MAC地址读取命令;
所述指纹模组反馈自身的MAC地址给所述主控MCU;
所述主控MCU对所述MAC地址进行存储。
7.一种指纹锁,其特征在于,包括主控MCU和与所述主控MCU通信连接的指纹模组;
所述主控MCU用于采用预设方式生成更新密钥,将待发送的操作指令和所述更新密钥利用其最新存储的密钥加密后加入第一通信报文中,将所述第一通信报文发送给所述指纹模组,并存储所述更新密钥;
所述指纹模组用于在接收到所述第一通信报文后,利用其最新存储的密钥对所述第一通信报文解密,并对解密得到的通信内容进行校验;并在通信内容校验成功后,存储所述更新密钥,执行所述通信内容中的操作指令;以及将执行所述操作指令的操作结果采用其最新存储的所述更新密钥加密后,加入第二通信报文中,将所述第二通信报文反馈给所述主控MCU;
所述主控MCU还用于采用其最新存储的更新密钥对所述第二通信报文进行解密,并对解密得到的内容进行校验,以根据校验结果做相应处理。
8.如权利要求7所述的指纹锁,其特征在于,所述主控MCU还用于在第一预设时间内未收到所述指纹模组的回复后,判断是否重发过所述第一通信报文给所述指纹模组;并在确定没有重发过所述第一通信报文后,将所述第一通信报文重发给所述指纹模组;以及在确定重发过所述第一通信报文给所述指纹模组后,结束与所述指纹模组的通信。
9.如权利要求7所述的指纹锁,其特征在于,所述指纹模组还用于在对所述通信内容校验失败后,发送第三通信报文给所述主控MCU,所述第三通信报文中包含状态为校验失败的确认字符;
所述主控MCU还用于对接收到所述第三通信报文进行校验,在对所述第三通信报文的完整性校验失败或者确认所述第三通信报文中的确认字符的状态为校验失败后,判断是否重发过所述第一通信报文给所述指纹模组;并在确定没有重发过所述第一通信报文后,将所述第一通信报文重发给所述指纹模组;以及在确定重发过所述第一通信报文给所述指纹模组后,结束与所述指纹模组的通信。
10.如权利要求7至9中任意一项所述的指纹锁,其特征在于,所述主控MCU生成更新密钥的预设方式,包括:
所述主控MCU生成n字节的随机数,将其预先存储的所述指纹模组的MAC地址的其中a个字节与生成的n字节的随机数中的任意b个字节组成更新密钥。
CN201810422349.2A 2018-05-04 2018-05-04 指纹锁及其工作方法 Pending CN108833086A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201810422349.2A CN108833086A (zh) 2018-05-04 2018-05-04 指纹锁及其工作方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201810422349.2A CN108833086A (zh) 2018-05-04 2018-05-04 指纹锁及其工作方法

Publications (1)

Publication Number Publication Date
CN108833086A true CN108833086A (zh) 2018-11-16

Family

ID=64147383

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201810422349.2A Pending CN108833086A (zh) 2018-05-04 2018-05-04 指纹锁及其工作方法

Country Status (1)

Country Link
CN (1) CN108833086A (zh)

Citations (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2012049993A (ja) * 2010-08-30 2012-03-08 Toyota Infotechnology Center Co Ltd 暗号鍵更新システム、スマートキーシステムおよび暗号鍵更新方法
CN104282061A (zh) * 2014-08-21 2015-01-14 厦门华数电力科技有限公司 一种安全智能锁系统及其开、关锁方法
CN104299300A (zh) * 2014-09-02 2015-01-21 厦门华数电力科技有限公司 基于nfc的安全智能锁系统的开锁和关锁方法
CN106357393A (zh) * 2016-08-27 2017-01-25 飞天诚信科技股份有限公司 一种安全的数据传输方法及装置
CN106850191A (zh) * 2017-02-19 2017-06-13 郑州云海信息技术有限公司 分布式存储系统通信协议的加密、解密方法及装置
CN106887060A (zh) * 2017-02-07 2017-06-23 北京海鑫智圣技术有限公司 酒店客房指纹门锁控制系统及方法
CN106972926A (zh) * 2017-03-29 2017-07-21 北京经纬恒润科技有限公司 一种无线汽车钥匙的加密解密方法、装置及系统
CN106971441A (zh) * 2017-04-28 2017-07-21 深圳星普森信息技术有限公司 一种开锁方法、门锁、钥匙和锁具
KR20170131741A (ko) * 2016-05-19 2017-11-30 중앙대학교 산학협력단 도어락 장치, 사용자 단말 및 도어락 장치의 제어 방법

Patent Citations (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2012049993A (ja) * 2010-08-30 2012-03-08 Toyota Infotechnology Center Co Ltd 暗号鍵更新システム、スマートキーシステムおよび暗号鍵更新方法
CN104282061A (zh) * 2014-08-21 2015-01-14 厦门华数电力科技有限公司 一种安全智能锁系统及其开、关锁方法
CN104299300A (zh) * 2014-09-02 2015-01-21 厦门华数电力科技有限公司 基于nfc的安全智能锁系统的开锁和关锁方法
KR20170131741A (ko) * 2016-05-19 2017-11-30 중앙대학교 산학협력단 도어락 장치, 사용자 단말 및 도어락 장치의 제어 방법
CN106357393A (zh) * 2016-08-27 2017-01-25 飞天诚信科技股份有限公司 一种安全的数据传输方法及装置
CN106887060A (zh) * 2017-02-07 2017-06-23 北京海鑫智圣技术有限公司 酒店客房指纹门锁控制系统及方法
CN106850191A (zh) * 2017-02-19 2017-06-13 郑州云海信息技术有限公司 分布式存储系统通信协议的加密、解密方法及装置
CN106972926A (zh) * 2017-03-29 2017-07-21 北京经纬恒润科技有限公司 一种无线汽车钥匙的加密解密方法、装置及系统
CN106971441A (zh) * 2017-04-28 2017-07-21 深圳星普森信息技术有限公司 一种开锁方法、门锁、钥匙和锁具

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
杨争辉等: "基于AS602的智能指纹锁系统设计与实现", 电子器件, no. 02 *
金志刚等: "一种高安全的融合指纹识别与NFC技术的门禁系统认证协议", 南开大学学报(自然科学版), no. 07, pages 1 - 2 *

Similar Documents

Publication Publication Date Title
US10708062B2 (en) In-vehicle information communication system and authentication method
CN104158567B (zh) 蓝牙设备间的配对方法和系统、数据交互方法和系统
CN101828357B (zh) 用于证书提供的方法和装置
CN103136664B (zh) 具有电子签名功能的智能卡交易系统及方法
CN105722013A (zh) 蓝牙配对方法及装置
US20060209843A1 (en) Secure spontaneous associations between networkable devices
CN109818747B (zh) 数字签名方法及装置
CN108809645A (zh) 密钥协商的方法、装置及配电自动化系统
CN111181723B (zh) 物联网设备间离线安全认证的方法和装置
CN101783800A (zh) 一种嵌入式系统安全通信方法、装置及系统
CN113114475B (zh) 基于比特自检puf身份认证系统及协议
CN111030814A (zh) 秘钥协商方法及装置
CN109063523B (zh) 一种射频识别安全认证方法及系统
CN108734015A (zh) 存储装置及其访问权限控制方法
CN106027250A (zh) 一种身份证信息安全传输方法及系统
CN110430057A (zh) 数据传输系统和传输方法
CN106792700A (zh) 一种可穿戴设备的安全通信环境的建立方法及系统
CN106507349A (zh) 一种软硬件结合的嵌入式终端加密系统及加密方法
CN104219208B (zh) 一种数据输入的方法、装置
EP3556050B1 (en) Method for synchronized signature with additive rsa key splitting using early floating exponent negotiation
CN108833086A (zh) 指纹锁及其工作方法
CN114297597B (zh) 一种账户管理方法、系统、设备及计算机可读存储介质
CN111131311A (zh) 基于区块链的数据传输方法及区块链节点
CN110298145A (zh) 一种基于公开密钥密码算法的固件程序装载保护方法
CN114826600B (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