CN109905235B - 一种智能锁解锁方法、智能锁、终端、服务器及系统 - Google Patents
一种智能锁解锁方法、智能锁、终端、服务器及系统 Download PDFInfo
- Publication number
- CN109905235B CN109905235B CN201711297681.2A CN201711297681A CN109905235B CN 109905235 B CN109905235 B CN 109905235B CN 201711297681 A CN201711297681 A CN 201711297681A CN 109905235 B CN109905235 B CN 109905235B
- Authority
- CN
- China
- Prior art keywords
- key
- intelligent lock
- terminal
- server
- identification 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.)
- Active
Links
Images
Landscapes
- Lock And Its Accessories (AREA)
- Telephonic Communication Services (AREA)
Abstract
本发明提供一种智能锁解锁方法、智能锁、终端、服务器及系统。所述方法包括:所述智能锁根据第一种子密钥与当前所述第一时钟对应的第一数值生成第一钥匙码;所述智能锁将所述智能锁所对应的第一标识码发送至所述终端;所述智能锁判断所接收到的所述第二钥匙码与所述第一钥匙码是否相同;若判断结果为是,则所述智能锁执行开锁操作。本发明中的服务器承担了信息管理、用户开锁验证、开锁钥匙码生成的功能,智能锁承担了钥匙码验证功能,终端承担了开锁动作的触发和智能锁信息传递的功能,使得智能锁开锁更加可靠简单。
Description
技术领域
本发明涉及密码锁技术领域,尤其涉及一种智能锁解锁方法、智能锁、终端、服务器及系统。
背景技术
随着科技的进步,锁具也越来越智能化,越来越多的门锁采用智能手机代替传统的钥匙进行开锁,这样不仅会可以减少用户忘带钥匙无法开锁的情况,也大大提高了用户人身财产的安全性。
其中,在公开号为CN205680158、发明名称为“基于物联网的动态密码锁”的发明专利申请中,公开了一种基于物联网的动态密码锁。该密码锁和移动终端均通过后台监管模块进行信息传递,开锁过程通过二维码交互连接。但该发明要求后台监管模块与密码锁通信,对门锁要求较高,且门锁需始终保持监听状态,功耗较大,不利于门锁的长期使用。而在公开号为CN107301703A、发明名称为“动态密码锁系统及解锁方法”的发明专利申请中公开了一种动态密码锁及解锁方式,由锁具生成密码并加密成识别码,并显示在显示屏上,用户通过移动终端发送该识别码到云服务器,云服务器处完成用户身份验证和识别码解密过程,然后发送给手机,再由用户输入密码到锁具中。该方法存在以下问题:一是开锁过程中没有对锁具进行验证,可能会出现用户开启他人门锁的情况;二是显示屏显示出的识别码极有可能被他人看到,从而可以轻易获得开锁密码,同时密码回传的过程中没有采取任何加密措施,使得密码易于泄露;三是其锁具上需配有显示、输入、通信等模块,对成本、功耗等要求较高,不利于锁具的使用和推广。此外,在公开号为CN104376621A、发明名称为“酒店入住/退房的实现方法及系统”的发明专利申请中公开了一种无介入式酒店入住/退房的实现方法及系统,在该申请中服务器同时给注册并支付的用户和用户所预订房间的密码锁发送入住密码,若用户密码与门锁密码比对成功后,门禁开启,用户即可入住。但该发明存在以下问题:同一个用户在入住期间的密码不变,一旦密码泄露将造成用户人身安全问题。而在公开号为CN106302547A、发明名称为“酒店入住管理系统及方法”的发明专利申请中公开了一种基于用户生物特征信息的酒店入住管理系统,该申请中通过智能门锁获取现场采集的生物特征信息与房间预订时用户特征信息进行对比来验证用户身份,实现门禁开锁。但该发明需采集用户的生物特征信息,这就导致了对设备要求的提高,而且个人生物特征信息属于用户隐私,留档在酒店数据库属于侵犯用户隐私的行为,也会对该方法的普及率产生较大的影响。
综上,现有技术中在利用智能手机进行开锁时,通常采用的是智能锁、终端分别与服务器通信,并在服务器端完成身份验证、匹配的过程,这样不仅对门锁要具备的功能模块要求较高,无形中增加了成本,同时门锁需始终保持监听状态,功耗较大,均不利于智能锁的推广和长期使用。
发明内容
本发明提供一种智能锁解锁方法、智能锁、终端、服务器及系统,所采用的开锁密码为动态密码,使得用户在每次开锁时所对应的密码都是不相同且唯一的,从而大大提高了开锁的安全性,且由于不需要使用个人生物特征信息以及且不需要显示、输入等交互模块,因此,也节约了设备成本,同时也避免了用户隐私的外漏。
第一方面,本发明提供的一种智能锁解锁方法,应用于智能锁解锁系统,所述智能锁解锁系统包括:智能锁、终端以及服务器;所述智能锁中设置有第一时钟,所述服务器中设置有第二时钟,所述第一时钟与所述第二时钟同步;所述智能锁与所述终端之间双向近场通信连接,所述终端与所述服务器之间双向通信连接;所述方法包括:
所述智能锁根据第一种子密钥与当前所述第一时钟对应的第一数值生成第一钥匙码,其中,每个所述智能锁与每个第一种子密钥之间唯一对应,每次开锁操作时所述第一时钟对应不同的第一数值;
所述智能锁将所述智能锁所对应的第一标识码发送至所述终端,以使所述终端将所述第一标识码与预设在所述终端中的用户身份信息发送至所述服务器,以使所述服务器获取所述用户身份信息对应的第二标识码,若所述服务器判断所述第一标识码和所述第二标识码相同,则所述服务器获取所述第二标识码所对应的所述智能锁的第二种子密钥,根据所述第二种子密钥和所述第二时钟对应的第二数值生成第二钥匙码,并将所述第二钥匙码发送至所述终端,以使所述终端将所述第二钥匙码发送至所述智能锁;
所述智能锁判断所接收到的所述第二钥匙码与所述第一钥匙码是否相同;
若判断结果为是,则所述智能锁执行开锁操作。
在一种可能的设计中,在所述智能锁根据第一种子密钥与当前所述第一时钟对应的第一数值生成第一钥匙码之前,还包括:
所述智能锁接收唤醒指令,所述唤醒指令用于指示所述智能锁从睡眠模式切换至监听模式;
所述智能锁在所述监听模式下获取所述第一时钟的当前时间数值。
在一种可能的设计中,所述智能锁将智能锁数据发送至所述终端,具体包括:
所述智能锁利用第一私钥对所述第一标识码进行私钥签名后形成第一加密数据;
所述智能锁将所述第一加密数据发送至所述终端,以使所述终端利用第二公钥对所述第一加密数据与所述用户身份信息进行加密处理后形成第二加密数据,以使所述服务器利用第二私钥对所述第二加密数据进行解密得到第一解密数据,所述第一解密数据包括第一加密数据和所述用户身份信息,获取与所述用户身份信息对应的第二标识码,并获取所述第二标识码所对应的所述智能锁的第一公钥和第二种子密钥,利用第一公钥对所述第一解密数据进行公钥验证得到第二解密数据,所述第二解密数据包括所述第一标识码,若所述第一标识码与所述第二标识码相同,则根据所述第二种子密钥和所述第二数值生成第二钥匙码,利用所述第一公钥对所述第二钥匙码进行加密得到第三加密数据,再利用所述第二私钥对所述第三加密数据进行私钥签名得到第四加密数据,所述服务器将所述第四加密数据发送至所述终端,以使所述终端利用所述第二公钥对所述第四加密数据进行公钥验证得到第三解密数据,将所述第三解密数据发送至所述智能锁。
在一种可能的设计中,所述智能锁判断所接收到的所述第二钥匙码与所述第一钥匙码是否相同,具体包括:
所述智能锁接收所述第三解密数据;
所述智能锁利用所述第一私钥对所述第三解密数据进行解密得到第四解密数据,其中,所述第四解密数据包括所述第二钥匙码;
所述智能锁判断所述第二钥匙码与所述第一钥匙码是否相同。
第二方面,本申请提供的一种智能锁解锁方法,应用于智能锁解锁系统,所述智能锁解锁系统包括:智能锁、终端以及服务器;所述智能锁中设置有第一时钟,所述服务器中设置有第二时钟,所述第一时钟与所述第二时钟同步;所述智能锁与所述终端之间双向近场通信连接,所述终端与所述服务器之间双向通信连接;所述方法包括:
所述终端接收所述智能锁发送的所述智能锁所对应的第一标识码;
所述终端将所述智能锁数据与预设在所述终端中的用户身份信息发送至所述服务器,以使所述服务器根据所述用户身份信息获取与所述用户身份信息对应的第二标识码,若所述服务器判断所述第一标识码和所述第二标识码相同,则所述服务器根据所述第二标识码获取所述第二标识码所对应的所述智能锁的第二种子密钥,根据所述第二种子密钥和所述第二时钟对应的第二数值生成第二钥匙码,并将所述第二钥匙码发送至所述终端;
所述终端接收所述服务器发送的所述第二钥匙码;
所述终端将所述第二钥匙码发送至所述智能锁,若所述智能锁判断所述智能锁根据所述第一种子密钥与所述第一数值生成的第一钥匙码与所述第二钥匙码相同,则所述智能锁执行开锁操作。
第三方面,本申请提供的一种智能锁解锁方法,应用于智能锁解锁系统,所述智能锁解锁系统包括:智能锁、终端以及服务器;所述智能锁中设置有第一时钟,所述服务器中设置有第二时钟,所述第一时钟与所述第二时钟同步;所述智能锁与所述终端之间双向近场通信连接,所述终端与所述服务器之间双向通信连接;所述方法包括:
所述服务器接收所述终端发送的所述智能锁所对应的第一标识码与预设在所述终端中的用户身份信息;
所述服务器获取与所述用户身份信息对应的第二标识码;
所述服务器判断所述第一标识码和所述第二标识码是否相同;
若判断结果为是,则所述服务器获取所述第二标识码所对应的所述智能锁的第二种子密钥;
所述服务器根据所述第二种子密钥和所述第二时钟对应的第二数值生成第二钥匙码,并将所述第二钥匙码发送至所述终端,以使所述终端将所述第二钥匙码发送至所述智能锁,若所述智能锁判断所述智能锁根据所述第一种子密钥与所述第一数值生成的第一钥匙码与所述第二钥匙码相同,则所述智能锁执行开锁操作。
第四方面,本申请提供一种智能锁,其特征在于,应用于智能锁解锁系统,所述智能锁包括:
计算模块,用于根据第一种子密钥与当前所述第一时钟对应的第一数值生成第一钥匙码,其中,每个所述智能锁与每个第一种子密钥之间唯一对应,每次开锁操作时所述第一时钟对应不同的第一数值;
发送模块,用于将所述智能锁所对应的第一标识码发送至所述终端,以使所述终端将所述第一标识码与预设在所述终端中的用户身份信息发送至所述服务器,以使所述服务器获取所述用户身份信息对应的第二标识码,若所述服务器判断所述第一标识码和所述第二标识码相同,则所述服务器获取所述第二标识码所对应的所述智能锁的第二种子密钥,根据所述第二种子密钥和所述第二时钟对应的第二数值生成第二钥匙码,并将所述第二钥匙码发送至所述终端,以使所述终端将所述第二钥匙码发送至所述智能锁;
判断模块,用于判断所接收到的所述第二钥匙码与所述第一钥匙码是否相同;
开锁模块,用于当所述第二钥匙码与所述第一钥匙码相同时,执行开锁操作。
在一种可能的设计中,所述智能锁,还包括:
接收模块,用于接收唤醒指令,所述唤醒指令用于指示所述智能锁从睡眠模式切换至监听模式;
计数模块,用于在所述监听模式下获取所述第一时钟的当前时间数值。
在一种可能的设计中,所述发送模块,具体包括:
加密子模块,用于利用第一私钥对所述第一标识码进行私钥签名后形成第一加密数据;
发送子模块,用于将所述第一加密数据发送至所述终端,以使所述终端利用第二公钥对所述第一加密数据与所述用户身份信息进行加密处理后形成第二加密数据,以使所述服务器利用第二私钥对所述第二加密数据进行解密得到第一解密数据,所述第一解密数据包括第一加密数据和所述用户身份信息,获取与所述用户身份信息对应的第二标识码,并获取所述第二标识码所对应的所述智能锁的第一公钥和第二种子密钥,利用第一公钥对所述第一解密数据进行公钥验证得到第二解密数据,所述第二解密数据包括所述第一标识码,根据所述第二种子密钥和所述第二数值生成第二钥匙码,利用所述第一公钥对所述第二钥匙码进行加密得到第三加密数据,再利用所述第二私钥对所述第三加密数据进行私钥签名得到第四加密数据,所述服务器将所述第四加密数据发送至所述终端,以使所述终端利用所述第二公钥对所述第四加密数据进行公钥验证得到第三解密数据,将所述第三解密数据发送至所述智能锁。
在一种可能的设计中,所述判断模块,具体包括:
接收子模块,用于接收接收所述第三解密数据;
解密子模块,用于利用所述第一私钥对所述第三解密数据进行解密得到第四解密数据,其中,所述第四解密数据包括所述第二钥匙码;
判断子模块,用于判断所述第二钥匙码与所述第一钥匙码是否相同。
第五方面,本申请提供一种终端,其特征在于,应用于智能锁解锁系统,所述终端包括:
接收模块,用于接收所述智能锁发送的所述智能锁所对应的第一标识码;
发送模块,用于将所述智能锁数据与预设在所述终端中的用户身份信息发送至所述服务器,以使所述服务器根据所述用户身份信息获取与所述用户身份信息对应的第二标识码,若所述服务器判断所述第一标识码和所述第二标识码相同,则所述服务器根据所述第二标识码获取所述第二标识码所对应的所述智能锁的第二种子密钥,根据所述第二种子密钥和所述第二时钟对应的第二数值生成第二钥匙码,并将所述第二钥匙码发送至所述终端;
所述接收模块,还用于接收所述服务器发送的所述第二钥匙码;
所述发送模块,还用于将所述第二钥匙码发送至所述智能锁,若所述智能锁判断所述智能锁根据所述第一种子密钥与所述第一数值生成的第一钥匙码与所述第二钥匙码相同,则所述智能锁执行开锁操作。
第六方面,本申请提供一种服务器,其特征在于,应用于智能锁解锁系统,所述服务器包括:
接收模块,用于接收所述终端发送的所述智能锁所对应的第一标识码与预设在所述终端中的用户身份信息;
获取模块,用于获取与所述用户身份信息对应的第二标识码;
判断模块,用于判断所述第一标识码和所述第二标识码是否相同;
所述获取模块,还用于若所述第一标识码和所述第二标识码相同,则获取所述第二标识码所对应的所述智能锁的第二种子密钥;
计算模块,用于根据所述第二种子密钥和所述第二时钟对应的第二数值生成第二钥匙码,并将所述第二钥匙码发送至所述终端,以使所述终端将所述第二钥匙码发送至所述智能锁,若所述智能锁判断所述智能锁根据所述第一种子密钥与所述第一数值生成的第一钥匙码与所述第二钥匙码相同,则所述智能锁执行开锁操作。
第七方面,本申请还提供一种智能锁解锁系统,包括:第四方面中任一一种智能锁、第五方面中的终端以及第六方面中的服务器,其中,所述智能锁与所述终端之间双向近场通信连接,所述终端与所述服务器之间双向通信连接。
本发明提供一种智能锁解锁方法,通过在智能锁中设置第一时钟,在服务器中设置与第一时钟同步的第二时钟,从而使得智能锁在不同时间进行开锁时根据第一种子密钥以及第一时钟对应的第一数值所生成的第一钥匙码也是动态变化、且不可重复的,智能锁对第一钥匙码进行保存,再通过终端将智能锁所对应的第一标识码和预设在终端中的用户身份信息一起发送至服务器,使得服务器能够根据用户身份信息来判断用户当前开的锁是否为正确的智能锁,此外,服务器还可以根据第二时钟所对应的第二数值和第二种子密钥生成第二钥匙码,并通过终端将第二钥匙码发送至智能锁,最后通过智能锁再次判断第二钥匙码与第一钥匙码是否相同来确定是否进一步地执行开锁操作,通过将智能锁中动态的第一钥匙码和服务器生成的动态第二钥匙码进行比对确定是否开锁,即使第一钥匙码和第二钥匙码在使用过程中发生了密码外漏,由于第一钥匙码和第二钥匙码因为开锁时间的改变均为不可重复的,他人也无法利用该第一钥匙码和第二钥匙码继续进行下次的开锁操作,从而大大提高了智能锁的安全性。此外,通过设置终端作为智能锁和服务器之间的数据传输中转站,使得智能锁无需时刻保持监听状态,从而也大大降低了智能锁的功耗,并且延长了智能锁的使用寿命。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作一简单地介绍,显而易见地,下面描述中的附图是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
图1为本发明提供的智能锁解锁方法应用场景图;
图2为本发明根据一示例性实施例示出的智能锁解锁方法信令交互图;
图3为本发明根据又一示例性实施例示出的智能锁解锁方法信令交互图;
图4为本发明根据一示例性实施例示出的智能锁结构示意图;
图5为本发明根据又一示例性实施例示出的智能锁结构示意图;
图6为本发明根据一示例性实施例示出的终端结构示意图;
图7为本发明根据一示例性实施例示出的服务器结构示意图;
图8为本发明根据一示例性实施例示出的智能锁解锁系统结构示意图。
具体实施方式
为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
图1为本发明提供的智能锁解锁方法应用场景图。如图1所示,本发明提供的智能锁解锁方法应用于智能锁解锁系统,该智能锁解锁系统包括:智能锁、终端以及服务器;其中,终端与服务器之间双向通信连接,智能锁与终端之间通过例如WIFI、蓝牙、近场通信技术(Near Field Communication,简称NFC)、红外通讯技术、ZigBee、UWB超宽带、及利用声、光、热等技术实现信息传递等近距离通信方式进行连接。当终端和智能锁之间的距离在近场通信范围之内,或者是在预设的固定范围之内时,智能锁根据第一种子密钥生成并保存第一开锁码的同时还向终端发送相关数据,而终端可以通过网络,例如3G、4G以及WIFI等无线网络,将智能锁所产生相关的数据上传至服务器,服务器中存储有与该智能锁中相对应的种子密钥,服务器根据该种子密钥生成第二开锁码,并将其回传至终端,以使终端通过近场通信将第二开锁码进一步传输至智能锁,最后由智能锁判断其内部存储的第一开锁码和第二开锁码是否相同,只有在二者相同的情况下,智能锁才会执行开锁操作。
图2为本发明根据一示例性实施例示出的智能锁解锁方法信令交互图。如图2所示,本实施提供的智能锁解锁方法,应用于智能锁解锁系统,智能锁解锁系统包括:智能锁、终端以及服务器;智能锁中设置有第一时钟;智能锁与终端之间双向近场通信连接,终端与所述服务器之间双向通信连接,本实施提供的方法包括:
S101、智能锁根据第一种子密钥与当前第一时钟对应的第一数值生成第一钥匙码。
具体地,智能锁中的第一时钟在用户每次需要开锁时,都会相应获取当前的时间节点,并将其作为第一数值,因此,每次开锁操作时第一时钟所产生的第一数值都是不重复的,即每个第一数值在第一时钟中只会出现一次,且每个第一数值也仅在一次开锁的过程中有效,当用户对智能锁重新进行开锁操作时,第一时钟则会重新更新第一数值。
此外,在智能锁中还设置有第一种子密钥,其中,第一种子密钥是固定不变的,但是对于不同的智能锁,其对应的第一种子密钥是不相同的,也可以理解为,每个智能锁与每个第一种子密钥之间是唯一对应的,即每个智能锁只对应一个特定的第一种子密钥,同时每个第一种子密钥也只对应着一个特定的智能锁。为了进一步地提高安全性,在实际的实现过程中,还可以根据实际需求在智能锁中设置不同位数的种子密钥,使得最后产生的开锁码更加复杂,从而具有更好的安全性,因此,在本实施例中,也并不对智能锁中所设置的第一种子密钥的位数以及该第一种子密钥是否进行更新进行具体的限定。
在用户每次进行开锁操作时,智能锁都会根据其内置的第一种子密钥与当前第一时钟对应的第一数值生成第一钥匙码,并对该第一钥匙码进行存储。其中,第一钥匙码是以第一种子密钥和第一数值为参数,根据预设的密钥生成函数所生成的,该密钥生成函数可以是用户根据实际需求自行定义的,也可以是现行的密码学中的常用加密函数,在本实施例中,并不对该密钥生成函数的具体形式以及安全等级进行限定,在实际的实现过程中,设计人员可以根据具体地实际需求和应用场景进行选择。由于智能锁中设置有第一时钟,而该第一时钟在用户每次开锁操作时所产生的数值是唯一且不可重复的,因此,智能锁在每次进行开锁时,根据第一钥匙码和动态变化的第一数值所产生的第一开锁码也是唯一且不可重复的。即使在开锁的过程中,用户的钥匙码被泄露,该开锁码也无法在下一次开锁的过程中继续使用,大大地提高了智能锁的安全性。
S102、智能锁发送该智能锁所对应的第一标识码至终端。
具体地,智能锁在根据第一种子密钥与当前第一时钟对应的第一数值生成第一钥匙码之后,对该第一钥匙码进行保存。此外,智能锁将与该智能锁相对应的第一标识码通过WIFI、蓝牙、NFC、红外通讯技术、ZigBee、UWB超宽带、及利用声、光、热等技术实现信息传递的通信方式等双向近场通信的传输方式发送至终端,其中,智能锁发送的可以是一个数据包的形式,该数据包中包含有第一标识码。如果该智能锁应用于酒店行业,作为酒店房间的门锁使用,则该智能锁对应的第一标识码可以是该智能锁所安装的房间所对应的房间号,例如第一标识码对应房间号8123。考虑到传输的可靠性,智能锁数据的传输发生可以采用断点续传的方式,从而保证了终端能够接收到完整的智能锁数据,从而提高后续开锁的可靠性。
S103、终端接收智能锁发送的第一标识码。
具体地,终端在接收到智能锁发送的第一标识码之后,对其进行存储。为了进一步地提高用户开锁的体验,如果终端在接受智能锁数据的过程中发生了接收失败的情况,例如,用户在接受数据的过程中,离开了近场通信的距离区域,则终端则会提示用户传输失败,提示方式可以是文字提醒,可以是语音提醒或者是终端震动提醒等。
S104、终端发送第一标识码与预设在终端中的用户身份信息至服务器。
具体地,终端在接收到完整的第一标识码数据之后,将该第一标识码和预设在终端中的用户身份信息一起发送至服务器。其中,预设在终端中的用户身份信息可以是用户的身份证号码、护照号码、手机号码等与用户姓名的组合,例如可以是,张三,11022619850130XXXX。本实施例中,并不对用户身份信息的形式进行具体地限定,只需保证该用户身份信息能够对应到唯一的用户即可。如果该智能锁应用于酒店行业,作为酒店房间的门锁使用时,用户则可以事先在终端的相应应用中设置个人身份信息,在用户入住该酒店时,用户就可以相应的应用进行验证操作。
S105、服务器接收终端发送的第一标识码与预设在终端中的用户身份信息。
具体地,该服务器可以是云端服务器也可以是本地服务器,如果该服务器是云端服务器,则终端可以直接通过WIFI、3G、4G等网络将数据上传至云端服务器,如果该服务器为本地服务器,则终端也可以是通过局域网等形式将数据上传本地服务器。值得说明地,在本实施例中,并不对服务器的具体形式、终端数据发送的形式以及服务器接收数据的形式进行具体地限定,只需保证服务器能够接收到终端发送的数据即可。
S106、服务器获取与用户身份信息对应的第二标识码。
具体地,服务器中预设有与用户身份信息相对应的第二标识码,即在用户进行开锁操作之前,需要在服务器中进行登记,建立用户身份信息与第二标识码之间的对应关系。例如,应用于酒店行业,则用户在入住酒店时,就可以在终端的相关应用中登记自己的信息以完成房间的预定和付款,或者用户还可以通过酒店的前台完成登记和付款,无论用户是通过何种渠道进行登记的,最终都会在服务器上存储该用户等级的用户身份信息,其中,服务器中存储的用户身份信息可以是用户的身份证号码、护照号码、手机号码等与用户姓名的组合,例如可以是,张三,11022619850130XXXX。此外,在用户登记完成后,服务器中还会对应存储该用户所要入住的房间所对应的房间号。因此,服务器中至少保存有用户的用户身份信息和该用户所要入住的房间所对应的房间号,例如张三,11022619850130XXXX,8123,那么在本实施例中的第二标识码标识符就可以是对应房间号。
S107、服务器判断第一标识码和第二标识码是否相同,若是则执行S108。
具体地,服务器通过判断第一标识码和第二标识码是否相同,如果相同,则服务器会进行下一步的解锁操作。但是如果服务器判断第一标识码和第二标识码不相同,则服务器判断为用户所请求打开的房间不正确。当用户打开的不是正确的房间时,服务器可以进一步地发送一条提示信息至终端,以提示用户当前用户所打开的房间不正确,此外,终端在接收到打开的房间不正确的指示信息之后,可以进一步地通过WIFI、蓝牙、NFC、红外通讯技术、ZigBee、UWB超宽带、及利用声、光、热等技术实现信息传递等双向近场通信的传输方式发送至智能锁,以使智能锁也能够对用户进行提示,例如智能锁会发出语音提示,或者直接进入休眠模式。
S108、服务器获取第二标识码对应的智能锁的第二种子密钥。
当服务器判断第一标识码和第二标识码为相同时,服务器则会根据第二标识码获取与其相对应的智能锁的第二种子密钥。例如,本实施例中的智能锁解锁系统应用于酒店房门解锁系统,则在服务器中预设有每个房间号对应的智能锁所对应的第二种子密钥,该第二种子密钥可以和第一种子密钥相同,也可以是通过密码学或者是用户设置的特定规则在第一种子密钥的基础上计算得出的,值得说明地,在本实施中,并不对第一种子密钥和第二种子密钥之间的关系以及具体的形式进行具体的限定,只需保证在正确开锁操作的前提下,智能锁根据第一种子密钥生成的第一钥匙码与服务器根据第二种子密钥生成的第二钥匙码相同即可。
S109、服务器根据第二种子密钥和第二时钟对应的第二数值生成第二钥匙码。
具体地,在服务器获取到第二种子密钥之后,服务器将当前第二时钟对应的第二数值以及获取到的第二种子密钥作为参数,然后根据服务器中预设的密钥生成函数来生产的,该密钥生成函数可以是用户根据实际需求自行定义的,也可以是现行的密码学中的常用加密函数,在本实施例中,并不对该密钥生成函数的具体形式以及安全等级进行限定,在实际的实现过程中,设计人员可以根据具体地实际需求和应用场景进行选择。
S110、服务器发送第二钥匙码至终端。
在服务器将当前第二时钟对应的第二数值以及获取到的第二种子密钥作为参数,利用密钥生成函数生成第二钥匙码之后,服务器进一步地将第二钥匙码发送至终端。如果该服务器是云端服务器,则终端可以直接通过WIFI、3G、4G等网络接收云端服务器发送的数据,如果该服务器为本地服务器,则终端也可以是通过局域网等形式接收本地服务器发送的数据。值得说明地,在本实施例中,并不对服务器的具体形式、终端数据发送的形式以及服务器接收数据的形式进行具体地限定,只需保证终端能够接收到服务器发送的数据即可。
S111、终端接收服务器发送的第二钥匙码。
S112、终端发送第二钥匙码至智能锁。
具体地,终端在接收到服务器发送的第二钥匙码之后,将其转发至智能锁。为了进一步地提高用户开锁的体验,如果终端在发送第二钥匙码的过程中发生了接收失败的情况,例如,用户在发送第二钥匙码的过程中,离开了近场通信的距离区域,则终端设会提示用户传输失败,提示方式可以是文字提醒,可以是语音提醒或者是终端震动提醒等。
S113、智能锁判断第二钥匙码与第一钥匙码是否相同,若是则执行S114。
智能锁在接收到终端发送的第二钥匙码之后,将其与之前通过S101中所保存的第一钥匙码进行对比,如果第一钥匙码与第二钥匙码相同,则智能锁进入解锁操作。若第一钥匙码与第二钥匙码相同,则智能锁直接进入休眠状态。
S114、智能锁执行开锁操作。
当智能锁将第一钥匙码与第二钥匙码判断为相同时,智能锁执行相应的开锁操作。如果本实施例中的智能锁解锁系统应用于酒店房门解锁系统,则为了进一步地提高用户的入住体验,该智能锁还可以与房间内的照明以及通风设备相连接,在用户成功开锁之后,室内的照明系统和通风系统自动开启。
在本实施例中,通过在智能锁中设置第一时钟,在服务器中设置与第一时钟同步地第二时钟,从而使得智能锁在不同时间进行开锁时根据第一种子密钥以及第一时钟对应的第一数值所生成的第一钥匙码也是为动态变化、且不可重复的,智能锁对第一钥匙码进行保存,再通过终端将智能锁所对应的第一标识码和预设在终端中的用户身份信息一起发送至服务器,使得服务器能够根据用户身份信息来判断用户当前开的锁是否为正确的智能锁,此外,服务器还可以根据第二时钟所对应的第二数值和第二种子密钥生成第二钥匙码,并通过终端将第二钥匙码发送至智能锁,最后通过智能锁再次判断第二钥匙码与第一钥匙码是否相同来确定是否进一步地执行开锁操作,通过将智能锁中动态的第一钥匙码和服务器生成的动态第二钥匙码进行比对确定是否开锁,即使第一钥匙码和第二钥匙码在使用过程中发生了密码外漏,由于第一钥匙码和第二钥匙码因为开锁时间的改变均为不可重复的,他人也无法利用该第一钥匙码和第二钥匙码继续进行下次的开锁操作,从而大大提高了智能锁的安全性。此外,通过设置终端作为智能锁和服务器之间的数据传输中转站,使得智能锁无需时刻保持监听状态,从而也大大降低了智能锁的功耗,并且延长了智能锁的使用寿命。
下面结合本实施例中的智能锁解锁系统具体的工作步骤进行详细地说明。整个系统包括用户向云服务器登记、智能锁开锁、用户信息变更操作等主要步骤。
首先,用户需要向服务器登记,用户在取得智能锁开锁权后,需到服务器提供商处进行身份验证,并由提供商将用户和智能锁信息上传至服务器,保存在智能锁信息表中,用于日后的用户开锁流程。
然后,用户即可对智能锁进行开锁,在用户向云服务器登记之后,开锁无需身份验证,可直接利用终端进行开锁。智能锁能以种子密钥和当前时间节点为参数,根据密钥生成函数得到一个不可预测的、具有随机性的密码。此外,智能锁支持近场通信方式,如Wi-Fi、蓝牙、NFC、红外通讯技术、ZigBee、UWB超宽带、及利用声、光、热等介质实现信息传递的通信方式等;存有固定的种子密钥和长期有效的公私密钥对;有与服务器保持同步的时钟部件用以得到当前时间节点。
进一步地,终端具有以下功能:支持近场通信方式;安装有与服务器匹配的应用软件,该应用软件应具有以下功能:用户账号管理(包括用户账号的登陆、注册、登出等功能),与智能锁通信,与服务器通信,以及对数据进行加密/解密。
当用户进行开锁操作时,先打开终端登陆相关应用,按照应用软件提示将手机靠近智能锁的近场通信感应区,智能锁将用智能锁所对应的第一标识码发送给终端。终端在收到第一标识码后,将第一标识码与智能锁数据用服务器一起发送给服务器。云服务器收到数据后,在数据库中查询出该第一标识码对应的智能锁的第二标识码,若验证后的第一标识码与第二标识码匹配,则认为用户请求打开的是正确的智能锁。接着云服务器查询出对应的第二种子密钥,结合当前的时间节点生成第二钥匙码,并发送至终端。终端在收到第二钥匙码之后,再次靠近智能锁,以近场通信方式发送第二钥匙码给智能锁。智能锁将第一钥匙码和第二钥匙码进行对比,一致则认证成功打开门锁。
若用户或智能锁的信息发生变动时,需到服务提供商处进行用户身份验证并提交信息变更请求,服务提供商验证无误后,更改在服务器中存储的对应的信息即可。
在上述使用流程中,服务器承担了智能锁信息管理、用户开锁验证、开锁钥匙码生成的功能,智能锁承担了开锁钥匙码生成、钥匙码验证功能,终端承担了开锁动作的触发和智能锁信息传递的功能。
图3为本发明根据又一示例性实施例示出的智能锁解锁方法信令交互图。如图3所示,本实施提供的智能锁解锁方法,应用于智能锁解锁系统,智能锁解锁系统包括:智能锁、终端以及服务器;智能锁中设置有第一时钟;智能锁与终端之间双向近场通信连接,终端与所述服务器之间双向通信连接,本实施提供的方法包括:
S201、智能锁接收唤醒指令。
考虑到现有技术中利用终端对智能锁进行解锁的过程必须要求服务器与智能锁进行直接通信,所以该智能锁需始终保持监听状态,功耗较大,不利于智能锁的长期使用。因此,为了使得智能锁无需始终保持监听状态,从而减小功耗,进一步地延长智能锁的使用寿命,在本实施例中,智能锁无需直接和服务器进行通信解锁,而是在智能锁上设置有唤醒开关,通过触发唤醒开关可以使得智能锁在睡眠模式和监听模式之间自由地切换。当用户需要进行解锁时,先触发唤醒开关,智能锁接收唤醒指令,就会从睡眠模式切换至监听模式。
S202、智能锁在监听模式下获取第一时钟的当前时间数值。
智能锁在进入监听模式之后,获取第一时钟的当前时间数值,并将该数值作为第一数值,因此,每次进行开锁操作时,该第一时钟所产生的第一数值均不相同,且不重复。
S203、智能锁根据第一种子密钥与当前第一时钟对应的第一数值生成第一钥匙码。
步骤203的具体实现方式参照图2所示的实施例中步骤101的描述,这里不再赘述。
S204、智能锁利用第一私钥对第一标识码进行私钥签名后形成第一加密数据。
具体地,为了进一步地提高数据传输的安全性,可以对传输的数据进行加密处理,其中加密方式可以采用非对称加密算法,而公钥与私钥是通过一种算法得到的一个密钥对(即一个公钥和一个私钥),公钥是密钥对中公开的部分,私钥则是非公开的部分。公钥通常用于加密会话密钥、验证数字签名,或加密可以用相应的私钥解密的数据。通过这种算法得到的密钥对能保证在世界范围内是唯一的。使用这个密钥对的时候,如果用其中一个密钥加密一段数据,必须用另一个密钥解密。比如用公钥加密数据就必须用私钥解密,如果用私钥加密也必须用公钥解密,否则解密将不会成功。在本实施例中,智能锁利用的是第一私钥对智能锁数据进行加密后形成第一加密数据,因此,在后续的数据传输过程中,也只能通过与该第一私钥相对应的第一公钥才能实现对第一加密数据的解密。
S205、智能锁发送第一加密数据至终端。
具体地,智能锁在根据第一种子密钥与当前第一时钟对应的第一数值生成第一钥匙码之后,将该第一钥匙码进行保存,将与智能锁对应的第一标识码进行加密后通过WIFI、蓝牙、NFC、红外通讯技术、ZigBee、UWB超宽带、及利用声、光、热等技术实现信息传递等双向近场通信的传输方式发送至终端,其中,智能锁发送的可以是一个数据包的形式,该数据包中包含有第一标识码。如果该智能锁应用于酒店行业,作为酒店房间的门锁使用,则该智能锁对应的第一标识码可以是该智能锁所安装的房间所对应的房间号,例如第一标识码对应房间号8123。考虑到传输的可靠性,第一标识码的传输发生可以采用断点续传的方式,从而保证了终端能够接收到完整的第一加密数据,从而提高后续开锁的可靠性。
S206、终端接收智能锁发送的第一加密数据。
具体地,终端在接收到智能锁发送的第一加密数据之后,对其进行存储。为了进一步地提高用户开锁的体验,如果终端在接受第一加密数据的过程中发生了接收失败的情况,例如,用户在接受数据的过程中,离开了近场通信的距离区域,则终端设会提示用户传输失败,提示方式可以是文字提醒,可以是语音提醒或者是终端震动提醒等。
S207、终端利用第二公钥对第一加密数据和用户身份信息进行加密得到第二加密数据。
具体地,终端利用的是第二公钥对第一加密数据和用户身份信息进行加密后形成第二加密数据,因此,在后续的数据传输过程中,也只能通过与该第二公钥相对应的第二私钥才能实现对第二加密数据的解密。其中,预设在终端中的用户身份信息可以是用户的身份证号码、护照号码、手机号码等与用户姓名的组合,例如可以是,张三,11022619850130XXXX。本实施例中,并不对用户身份信息的形式进行具体地限定,只需保证该用户身份信息能够对应到唯一的用户即可。如果该智能锁应用于酒店行业,作为酒店房间的门锁使用时,用户则可以事先在终端的相应应用中设置个人身份信息,在用户入住该酒店时,用户就可以通过相应的应用进行验证操作。
S208、终端发送第二加密数据至服务器。
S209、服务器利用第二私钥对第二加密数据进行解密得到第一解密数据。
具体地,服务器利用的是第二私钥对第二加密数据进行解密从而得到第一解密数据,解密后的第一解密数据中包括了第一加密数据和用户身份信息。
S210、服务器获取与用户身份信息对应的第二标识码及第二标识码对应的智能锁的第一公钥。
S211、服务器利用第一公钥对第一解密数据进行公钥验证得到第二解密数据。
具体地,服务器利用的是第一公钥对第一解密数据进行公钥验证从而得到第二解密数据,解密后的第二解密数据包括第一标识码。
S212、服务器判断第一标识码和第二标识码是否相同,若是则执行S213。
S213、服务器获取第二标识码所对应的智能锁的第二种子密钥。
步骤210,212-213的具体实现方式分别参照图2所示的实施例中步骤106-108的描述,这里不再赘述。
S214、服务器根据第二种子密钥和第二数值生成第二钥匙码。
步骤214的具体实现方式参照图2所示的实施例中步骤109的描述,这里不再赘述。
S215、服务器利用第一公钥对第二钥匙码进行加密得到第三加密数据,再利用第二私钥对第三加密数据进行私钥签名得到第四加密数据。
具体地,服务器利用的是第一公钥对第二钥匙码进行加密后形成第三加密数据,因此,在后续的数据传输过程中,也只能通过与该第一公钥相对应的第一私钥才能实现对第三加密数据的解密。再利用第二私钥对第三加密数据进行私钥签名得到第四加密数据。
S216、服务器发送第四加密数据至终端。
在服务器生成第四加密数据之后,服务器进一步地将第四加密数据发送至终端。如果该服务器是云端服务器,则终端可以直接通过WIFI、3G、4G等网络接收云端服务器发送的数据,如果该服务器为本地服务器,则终端也可以是通过局域网等形式接收本地服务器发送的数据。值得说明地,在本实施例中,并不对服务器的具体形式、终端数据发送的形式以及服务器接收数据的形式进行具体地限定,只需保证终端能够接收到服务器发送的数据即可。
S217、终端接收服务器发送的第四加密数据,并利用第二公钥对第四加密数据进行公钥验证得到第三解密数据。
S218、终端发送第三解密数据至智能锁。
具体地,终端在接收到服务器发送的第三解密数据之后,将其转发至智能锁。为了进一步地提高用户开锁的体验,如果终端在发送第三解密数据的过程中发生了接收失败的情况,例如,用户在发送第三解密数据的过程中,离开了近场通信的距离区域,则终端设会提示用户传输失败,提示方式可以是文字提醒,可以是语音提醒或者是终端震动提醒等。
S219、智能锁接收终端发送的第三解密数据。
S220、智能锁利用第一私钥对第三解密数据进行解密得到第四解密数据。
具体地,智能锁利用的是第一私钥对第三解密数据进行解密从而得到第四解密数据,解密后的第四解密数据中包括第二钥匙码。
S221、智能锁判断第二钥匙码与第一钥匙码是否相同,若是则执行S222。
S222、智能锁执行开锁操作。
步骤221-222的具体实现方式参照图2所示的实施例中步骤113-114的描述,这里不再赘述。
图4为本发明根据一示例性实施例示出的智能锁结构示意图。如图4所示,本实施例提供的智能锁包括:
计算模块301,用于根据第一种子密钥与当前所述第一时钟对应的第一数值生成第一钥匙码,其中,每个所述智能锁与每个第一种子密钥之间唯一对应,每次开锁操作时所述第一时钟对应不同的第一数值;
发送模块302,用于将所述智能锁所对应的第一标识码发送至所述终端,以使所述终端将所述第一标识码与预设在所述终端中的用户身份信息发送至所述服务器,以使所述服务器获取所述用户身份信息对应的第二标识码,若所述服务器判断所述第一标识码和所述第二标识码相同,则所述服务器获取所述第二标识码所对应的所述智能锁的第二种子密钥,根据所述第二种子密钥和所述第二时钟对应的第二数值生成第二钥匙码,并将所述第二钥匙码发送至所述终端,以使所述终端将所述第二钥匙码发送至所述智能锁;
判断模块303,用于判断所接收到的所述第二钥匙码与所述第一钥匙码是否相同;
开锁模块304,用于当所述第二钥匙码与所述第一钥匙码相同时,执行开锁操作。
在图4所示的实施例的基础上,图5为本发明根据又一示例性实施例示出的智能锁结构示意图。如图5所示,本实施例提供的智能锁还包括:
接收模块306,用于接收唤醒指令,所述唤醒指令用于指示所述智能锁从睡眠模式切换至监听模式;
计数模块305,用于在所述监听模式下获取所述第一时钟的当前时间数值。
其中,发送模块302,具体包括:
加密子模块3021,用于利用第一私钥对所述第一标识码进行私钥签名后形成第一加密数据;
发送子模块3022,用于将所述第一加密数据发送至所述终端,以使所述终端利用第二公钥对所述第一加密数据与所述用户身份信息进行加密处理后形成第二加密数据,以使所述服务器利用第二私钥对所述第二加密数据进行解密得到第一解密数据,所述第一解密数据包括第一加密数据和所述用户身份信息,获取与所述用户身份信息对应的第二标识码,并获取所述第二标识码所对应的所述智能锁的第一公钥和第二种子密钥,利用第一公钥对所述第一解密数据进行公钥验证得到第二解密数据,所述第二解密数据包括所述第一标识码,若所述第一标识码与所述第二标识码相同,则根据所述第二种子密钥和所述第二数值生成第二钥匙码,利用所述第一公钥对所述第二钥匙码进行加密得到第三加密数据,再利用所述第二私钥对所述第三加密数据进行私钥签名得到第四加密数据,所述服务器将所述第四加密数据发送至所述终端,以使所述终端利用所述第二公钥对所述第四加密数据进行公钥验证得到第三解密数据,将所述第三解密数据发送至所述智能锁。
此外,判断模块303,具体包括:
接收子模块3033,用于接收所述第三解密数据;
解密子模块3032,用于利用所述第一私钥对所述第三解密数据进行解密得到第四解密数据,其中,所述第四解密数据包括所述第二钥匙码;
判断子模块3031,用于判断所述第二钥匙码与所述第一钥匙码是否相同。
图6为本发明根据一示例性实施例示出的终端结构示意图。如图6所示,本实施例提供的终端包括:
接收模块401,用于接收所述智能锁发送的所述智能锁所对应的第一标识码;
发送模块402,用于将所述智能锁数据与预设在所述终端中的用户身份信息发送至所述服务器,以使所述服务器根据所述用户身份信息获取与所述用户身份信息对应的第二标识码,若所述服务器判断所述第一标识码和所述第二标识码相同,则所述服务器根据所述第二标识码获取所述第二标识码所对应的所述智能锁的第二种子密钥,根据所述第二种子密钥和所述第二时钟对应的第二数值生成第二钥匙码,并将所述第二钥匙码发送至所述终端;
所述接收模块401,还用于接收所述服务器发送的所述第二钥匙码;
所述发送模块402,还用于将所述第二钥匙码发送至所述智能锁,若所述智能锁判断所述智能锁根据所述第一种子密钥与所述第一数值生成的第一钥匙码与所述第二钥匙码相同,则所述智能锁执行开锁操作。
图7为本发明根据一示例性实施例示出的服务器结构示意图。如图7所示,本实施例提供的服务器包括:
接收模块501,用于接收所述终端发送的所述智能锁所对应的第一标识码与预设在所述终端中的用户身份信息;
获取模块502,用于获取与所述用户身份信息对应的第二标识码及第二标识码对应的第一公钥;
判断模块503,用于判断所述第一标识码和所述第二标识码是否相同;
所述获取模块502,还用于若所述第一标识码和所述第二标识码相同,则获取所述第二标识码所对应的所述智能锁的第二种子密钥;
计算模块504,用于根据所述第二种子密钥和所述第二时钟对应的第二数值生成第二钥匙码,并将所述第二钥匙码发送至所述终端,以使所述终端将所述第二钥匙码发送至所述智能锁,若所述智能锁判断所述智能锁根据所述第一种子密钥与所述第一数值生成的第一钥匙码与所述第二钥匙码相同,则所述智能锁执行开锁操作。
图8为本发明根据一示例性实施例示出的智能锁解锁系统结构示意图。如图8所示,本实施例提供的智能锁解锁系统包括:智能锁、终端以及服务器,其中,所述智能锁与所述终端之间双向近场通信连接,所述终端与所述服务器之间双向通信连接。
图8所示的实施例所提供的智能锁解锁系统可用于执行图2-图3所示的实施例所提供的方法,具体实现方式和技术效果类似,这里不再赘述。
此外,术语“第一”、“第二”仅用于描述目的,而不能理解为指示或暗示相对重要性或者隐含指明所指示的技术特征的数量。由此,限定有“第一”、“第二”的特征可以明示或者隐含地包括一个或者更多个该特征。在本发明的描述中,“多个”的含义是两个或两个以上,除非另有明确具体的限定。
最后应说明的是:以上各实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述各实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分或者全部技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的范围。
Claims (9)
1.一种智能锁解锁方法,其特征在于,应用于智能锁解锁系统,所述智能锁解锁系统包括:智能锁、终端以及服务器;所述智能锁中设置有第一时钟,所述服务器中设置有第二时钟,所述第一时钟与所述第二时钟同步;所述智能锁与所述终端之间双向近场通信连接,所述终端与所述服务器之间双向通信连接;所述方法包括:
所述智能锁根据第一种子密钥与当前所述第一时钟对应的第一数值生成第一钥匙码,其中,每个所述智能锁与每个第一种子密钥之间唯一对应,每次开锁操作时所述第一时钟对应不同的第一数值;
所述智能锁将所述智能锁所对应的第一标识码发送至所述终端,以使所述终端将所述第一标识码与预设在所述终端中的用户身份信息发送至所述服务器,以使所述服务器获取所述用户身份信息对应的第二标识码,若所述服务器判断所述第一标识码和所述第二标识码相同,则所述服务器获取所述第二标识码所对应的所述智能锁的第二种子密钥,根据所述第二种子密钥和所述第二时钟对应的第二数值生成第二钥匙码,并将所述第二钥匙码发送至所述终端,以使所述终端将所述第二钥匙码发送至所述智能锁;
所述智能锁判断所接收到的所述第二钥匙码与所述第一钥匙码是否相同;
若判断结果为是,则所述智能锁执行开锁操作;
所述智能锁将智能锁数据发送至所述终端,具体包括:
所述智能锁利用第一私钥对所述第一标识码进行私钥签名后形成第一加密数据;
所述智能锁将所述第一加密数据发送至所述终端,以使所述终端利用第二公钥对所述第一加密数据与所述用户身份信息进行加密处理后形成第二加密数据,以使所述服务器利用第二私钥对所述第二加密数据进行解密得到第一解密数据,所述第一解密数据包括第一加密数据和所述用户身份信息,获取与所述用户身份信息对应的第二标识码,并获取所述第二标识码所对应的所述智能锁的第一公钥和第二种子密钥,利用第一公钥对所述第一解密数据进行公钥验证得到第二解密数据,所述第二解密数据包括所述第一标识码,若所述第一标识码与所述第二标识码相同,则根据所述第二种子密钥和所述第二数值生成第二钥匙码,利用所述第一公钥对所述第二钥匙码进行加密得到第三加密数据,再利用所述第二私钥对所述第三加密数据进行私钥签名得到第四加密数据,所述服务器将所述第四加密数据发送至所述终端,以使所述终端利用所述第二公钥对所述第四加密数据进行公钥验证得到第三解密数据,将所述第三解密数据发送至所述智能锁。
2.根据权利要求1所述的方法,其特征在于,在所述智能锁根据第一种子密钥与当前所述第一时钟对应的第一数值生成第一钥匙码之前,还包括:
所述智能锁接收唤醒指令,所述唤醒指令用于指示所述智能锁从睡眠模式切换至监听模式;
所述智能锁在所述监听模式下获取所述第一时钟的当前时间数值。
3.根据权利要求2所述的方法,其特征在于,所述智能锁判断所接收到的所述第二钥匙码与所述第一钥匙码是否相同,具体包括:
所述智能锁接收所述第三解密数据;
所述智能锁利用所述第一私钥对所述第三解密数据进行解密得到第四解密数据,其中,所述第四解密数据包括所述第二钥匙码;
所述智能锁判断所述第二钥匙码与所述第一钥匙码是否相同。
4.一种智能锁解锁方法,其特征在于,应用于智能锁解锁系统,所述智能锁解锁系统包括:智能锁、终端以及服务器;所述智能锁中设置有第一时钟,所述服务器中设置有第二时钟,所述第一时钟与所述第二时钟同步;所述智能锁与所述终端之间双向近场通信连接,所述终端与所述服务器之间双向通信连接;所述方法包括:
所述终端接收所述智能锁发送的所述智能锁所对应的第一标识码;
所述终端将所述智能锁数据与预设在所述终端中的用户身份信息发送至所述服务器,以使所述服务器根据所述用户身份信息获取与所述用户身份信息对应的第二标识码,若所述服务器判断所述第一标识码和所述第二标识码相同,则所述服务器根据所述第二标识码获取所述第二标识码所对应的所述智能锁的第二种子密钥,根据所述第二种子密钥和所述第二时钟对应的第二数值生成第二钥匙码,并将所述第二钥匙码发送至所述终端;
所述终端接收所述服务器发送的所述第二钥匙码;
所述终端将所述第二钥匙码发送至所述智能锁,若所述智能锁判断所述智能锁根据第一种子密钥与第一数值生成的第一钥匙码与所述第二钥匙码相同,则所述智能锁执行开锁操作,所述第一数值根据所述第一时钟确定;
所述终端接收智能锁数据,具体包括:
所述终端接收所述智能锁发送的第一加密数据,所述终端利用第二公钥对所述第一加密数据与所述用户身份信息进行加密处理后形成第二加密数据;
所述终端将所述第二加密数据发送至所述服务器,以使所述服务器利用第二私钥对所述第二加密数据进行解密得到第一解密数据,所述第一解密数据包括第一加密数据和所述用户身份信息,获取与所述用户身份信息对应的第二标识码,并获取所述第二标识码所对应的所述智能锁的第一公钥和第二种子密钥,利用第一公钥对所述第一解密数据进行公钥验证得到第二解密数据,所述第二解密数据包括所述第一标识码,若所述第一标识码与所述第二标识码相同,则根据所述第二种子密钥和所述第二数值生成第二钥匙码,利用所述第一公钥对所述第二钥匙码进行加密得到第三加密数据,再利用所述第二私钥对所述第三加密数据进行私钥签名得到第四加密数据;
所述终端接收所述服务器发送的第四加密数据,所述终端利用所述第二公钥对所述第四加密数据进行公钥验证得到第三解密数据,将所述第三解密数据发送至所述智能锁。
5.一种智能锁解锁方法,其特征在于,应用于智能锁解锁系统,所述智能锁解锁系统包括:智能锁、终端以及服务器;所述智能锁中设置有第一时钟,所述服务器中设置有第二时钟,所述第一时钟与所述第二时钟同步;所述智能锁与所述终端之间双向近场通信连接,所述终端与所述服务器之间双向通信连接;所述方法包括:
所述服务器接收所述终端发送的所述智能锁所对应的第一标识码与预设在所述终端中的用户身份信息;
所述服务器获取与所述用户身份信息对应的第二标识码;
所述服务器判断所述第一标识码和所述第二标识码是否相同;
若判断结果为是,则所述服务器获取所述第二标识码所对应的所述智能锁的第二种子密钥;
所述服务器根据所述第二种子密钥和所述第二时钟对应的第二数值生成第二钥匙码,并将所述第二钥匙码发送至所述终端,以使所述终端将所述第二钥匙码发送至所述智能锁,若所述智能锁判断所述智能锁根据第一种子密钥与第一数值生成的第一钥匙码与所述第二钥匙码相同,则所述智能锁执行开锁操作,所述第一数值根据所述第一时钟确定;
所述服务器接收智能锁数据,具体包括:
所述服务器接收所述终端发送的第二加密数据;
所述服务器利用第二私钥对所述第二加密数据进行解密得到第一解密数据,所述第一解密数据包括第一加密数据和所述用户身份信息,获取与所述用户身份信息对应的第二标识码,并获取所述第二标识码所对应的所述智能锁的第一公钥和第二种子密钥,利用第一公钥对所述第一解密数据进行公钥验证得到第二解密数据,所述第二解密数据包括所述第一标识码;
所述服务器利用所述第一公钥对所述第二钥匙码进行加密得到第三加密数据,再利用所述第二私钥对所述第三加密数据进行私钥签名得到第四加密数据;
所述服务器将所述第四加密数据发送至所述终端,以使所述终端利用第二公钥对所述第四加密数据进行公钥验证得到第三解密数据,将所述第三解密数据发送至所述智能锁。
6.一种智能锁,其特征在于,应用于智能锁解锁系统,所述智能锁包括:
计算模块,用于根据第一种子密钥与当前第一时钟对应的第一数值生成第一钥匙码,其中,每个所述智能锁与每个第一种子密钥之间唯一对应,每次开锁操作时所述第一时钟对应不同的第一数值;
发送模块,用于将所述智能锁所对应的第一标识码发送至终端,以使所述终端将所述第一标识码与预设在所述终端中的用户身份信息发送至服务器,以使所述服务器获取所述用户身份信息对应的第二标识码,若所述服务器判断所述第一标识码和所述第二标识码相同,则所述服务器获取所述第二标识码所对应的所述智能锁的第二种子密钥,根据所述第二种子密钥和第二时钟对应的第二数值生成第二钥匙码,并将所述第二钥匙码发送至所述终端,以使所述终端将所述第二钥匙码发送至所述智能锁;
判断模块,用于判断所接收到的所述第二钥匙码与所述第一钥匙码是否相同;
开锁模块,用于当所述第二钥匙码与所述第一钥匙码相同时,执行开锁操作;
所述发送模块,具体包括:
加密子模块,用于所述智能锁利用第一私钥对所述第一标识码进行私钥签名后形成第一加密数据;
发送子模块,用于将所述智能锁将所述第一加密数据发送至所述终端,以使所述终端利用第二公钥对所述第一加密数据与所述用户身份信息进行加密处理后形成第二加密数据,以使所述服务器利用第二私钥对所述第二加密数据进行解密得到第一解密数据,所述第一解密数据包括第一加密数据和所述用户身份信息,获取与所述用户身份信息对应的第二标识码,并获取所述第二标识码所对应的所述智能锁的第一公钥和第二种子密钥,利用第一公钥对所述第一解密数据进行公钥验证得到第二解密数据,所述第二解密数据包括所述第一标识码,若所述第一标识码与所述第二标识码相同,则根据所述第二种子密钥和所述第二数值生成第二钥匙码,利用所述第一公钥对所述第二钥匙码进行加密得到第三加密数据,再利用所述第二私钥对所述第三加密数据进行私钥签名得到第四加密数据,所述服务器将所述第四加密数据发送至所述终端,以使所述终端利用所述第二公钥对所述第四加密数据进行公钥验证得到第三解密数据,将所述第三解密数据发送至所述智能锁。
7.一种终端,其特征在于,应用于智能锁解锁系统,所述终端包括:
接收模块,用于接收所述智能锁发送的所述智能锁所对应的第一标识码;
发送模块,用于将所述智能锁数据与预设在所述终端中的用户身份信息发送至服务器,以使所述服务器根据所述用户身份信息获取与所述用户身份信息对应的第二标识码,若所述服务器判断所述第一标识码和所述第二标识码相同,则所述服务器根据所述第二标识码获取所述第二标识码所对应的所述智能锁的第二种子密钥,根据所述第二种子密钥和第二时钟对应的第二数值生成第二钥匙码,并将所述第二钥匙码发送至所述终端;
所述接收模块,还用于接收所述服务器发送的所述第二钥匙码;
所述发送模块,还用于将所述第二钥匙码发送至所述智能锁,若所述智能锁判断所述智能锁根据第一种子密钥与第一数值生成的第一钥匙码与所述第二钥匙码相同,则所述智能锁执行开锁操作,所述第一数值根据第一时钟确定;
所述接收模块,还用于接收所述智能锁发送的第一加密数据,所述终端利用第二公钥对所述第一加密数据与所述用户身份信息进行加密处理后形成第二加密数据;
所述发送模块,还用于将所述第二加密数据发送至所述服务器,以使所述服务器利用第二私钥对所述第二加密数据进行解密得到第一解密数据,所述第一解密数据包括第一加密数据和所述用户身份信息,获取与所述用户身份信息对应的第二标识码,并获取所述第二标识码所对应的所述智能锁的第一公钥和第二种子密钥,利用第一公钥对所述第一解密数据进行公钥验证得到第二解密数据,所述第二解密数据包括所述第一标识码,若所述第一标识码与所述第二标识码相同,则根据所述第二种子密钥和所述第二数值生成第二钥匙码,利用所述第一公钥对所述第二钥匙码进行加密得到第三加密数据,再利用所述第二私钥对所述第三加密数据进行私钥签名得到第四加密数据;
所述接收模块,还用于接收所述服务器发送的第四加密数据,所述终端利用所述第二公钥对所述第四加密数据进行公钥验证得到第三解密数据,将所述第三解密数据发送至所述智能锁。
8.一种服务器,其特征在于,应用于智能锁解锁系统,所述服务器包括:
接收模块,用于接收终端发送的所述智能锁所对应的第一标识码与预设在所述终端中的用户身份信息;
获取模块,用于获取与所述用户身份信息对应的第二标识码;
判断模块,用于判断所述第一标识码和所述第二标识码是否相同;
所述获取模块,还用于若所述第一标识码和所述第二标识码相同,则获取所述第二标识码所对应的所述智能锁的第二种子密钥和第一公钥;
计算模块,用于根据所述第二种子密钥和第二时钟对应的第二数值生成第二钥匙码,并将所述第二钥匙码发送至所述终端,以使所述终端将所述第二钥匙码发送至所述智能锁,若所述智能锁判断所述智能锁根据第一种子密钥与第一数值生成的第一钥匙码与所述第二钥匙码相同,则所述智能锁执行开锁操作,所述第一数值根据第一时钟确定;
所述接收模块,还用于获取所述终端发送的第二加密数据;
解密模块,用于利用第二私钥对所述第二加密数据进行解密得到第一解密数据,所述第一解密数据包括第一加密数据和所述用户身份信息,获取与所述用户身份信息对应的第二标识码,并获取所述第二标识码所对应的所述智能锁的第一公钥和第二种子密钥,利用第一公钥对所述第一解密数据进行公钥验证得到第二解密数据,所述第二解密数据包括所述第一标识码;
加密模块,用于利用所述第一公钥对所述第二钥匙码进行加密得到第三加密数据,再利用所述第二私钥对所述第三加密数据进行私钥签名得到第四加密数据;
发送模块,用于将所述第四加密数据发送至所述终端,以使所述终端利用第二公钥对所述第四加密数据进行公钥验证得到第三解密数据,将所述第三解密数据发送至所述智能锁。
9.一种智能锁解锁系统,其特征在于,包括:如权利要求6所述的智能锁、如权利要求7所述的终端以及如权利要求8所述的服务器,所述智能锁与所述终端之间双向近场通信连接,所述终端与所述服务器之间双向通信连接。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201711297681.2A CN109905235B (zh) | 2017-12-08 | 2017-12-08 | 一种智能锁解锁方法、智能锁、终端、服务器及系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201711297681.2A CN109905235B (zh) | 2017-12-08 | 2017-12-08 | 一种智能锁解锁方法、智能锁、终端、服务器及系统 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN109905235A CN109905235A (zh) | 2019-06-18 |
CN109905235B true CN109905235B (zh) | 2020-11-27 |
Family
ID=66940720
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201711297681.2A Active CN109905235B (zh) | 2017-12-08 | 2017-12-08 | 一种智能锁解锁方法、智能锁、终端、服务器及系统 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN109905235B (zh) |
Families Citing this family (17)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110443915B (zh) * | 2019-06-24 | 2023-04-18 | 深圳绿米联创科技有限公司 | 门锁控制方法、控制装置、门锁及存储介质 |
CN110284770B (zh) * | 2019-06-26 | 2020-12-08 | 北京华大智宝电子系统有限公司 | 一种开锁系统、方法、终端设备、门锁及门锁服务器 |
CN110473318B (zh) * | 2019-06-28 | 2021-06-22 | 创新先进技术有限公司 | 解锁方法、实现解锁的设备及计算机可读介质 |
US10769873B1 (en) | 2019-06-28 | 2020-09-08 | Alibaba Group Holding Limited | Secure smart unlocking |
CN110988421B (zh) * | 2019-12-10 | 2022-08-19 | 国网山东省电力公司日照供电公司 | 一种应用到电能计量机构的智能安全防护装置及系统 |
CN110910544A (zh) * | 2019-12-17 | 2020-03-24 | 深圳市深华方科技有限公司 | 一种动态密码开门方法和门锁 |
CN111179473A (zh) * | 2019-12-30 | 2020-05-19 | 国网北京市电力公司 | 开启锁具的方法及装置、锁具系统 |
TWI726613B (zh) * | 2020-02-12 | 2021-05-01 | 寬豐工業股份有限公司 | 密碼鎖系統及其操作方法 |
CN113763599A (zh) * | 2020-06-04 | 2021-12-07 | 曾惠瑜 | 执行加解密及开锁管理的系统及方法 |
CN112381970A (zh) * | 2020-11-06 | 2021-02-19 | 新大陆(福建)公共服务有限公司 | 一种基于蓝牙和ctid的智能门锁控制方法及系统 |
CN112863017A (zh) * | 2021-02-02 | 2021-05-28 | 厦门立林科技有限公司 | 一种智慧社区楼宇对讲系统动态密码开锁装置、方法、设备及存储介质 |
CN115331330A (zh) * | 2021-04-26 | 2022-11-11 | 华为技术有限公司 | 解锁方法、钥匙重置方法、装置、终端、锁、系统 |
CN113282944B (zh) * | 2021-06-29 | 2023-03-10 | 珠海优特电力科技股份有限公司 | 智能锁开启方法、装置、电子设备及存储介质 |
CN113674456B (zh) * | 2021-08-19 | 2023-09-22 | 中国建设银行股份有限公司 | 开锁方法、装置、电子设备和存储介质 |
CN113611020A (zh) * | 2021-08-31 | 2021-11-05 | 龙芯中科(金华)技术有限公司 | 智能锁控制方法、装置和设备 |
CN115063907B (zh) * | 2021-12-30 | 2024-03-22 | 广西处处通电子科技有限公司 | 一种数据处理的方法、设备及系统 |
CN114783091B (zh) * | 2022-05-27 | 2023-10-20 | 广东汇泰龙科技股份有限公司 | 一种临时密码生成方法、装置、设备及存储介质 |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102426715A (zh) * | 2011-09-30 | 2012-04-25 | 华为技术有限公司 | 一种电子门锁开锁方法、电子门锁及电子门锁系统 |
CN103700177A (zh) * | 2013-12-25 | 2014-04-02 | 袁磊 | 使用加密授权数据在特定时间段开锁的密码锁系统 |
WO2016094886A2 (en) * | 2014-12-12 | 2016-06-16 | Romesh Wadhwani | Smartkey Apparatuses, Methods and Systems |
CN106898064A (zh) * | 2017-01-09 | 2017-06-27 | 云丁网络技术(北京)有限公司 | 一种基于智能门锁系统的离线验证码的生成方法及其系统 |
CN107067516A (zh) * | 2017-04-17 | 2017-08-18 | 常州唯康信息科技有限公司 | 开锁方法及系统、及门锁系统 |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
EP3078135B1 (en) * | 2013-12-05 | 2019-12-11 | Sony Corporation | Pairing consumer electronic devices using a cross-body communications protocol |
-
2017
- 2017-12-08 CN CN201711297681.2A patent/CN109905235B/zh active Active
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102426715A (zh) * | 2011-09-30 | 2012-04-25 | 华为技术有限公司 | 一种电子门锁开锁方法、电子门锁及电子门锁系统 |
CN103700177A (zh) * | 2013-12-25 | 2014-04-02 | 袁磊 | 使用加密授权数据在特定时间段开锁的密码锁系统 |
WO2016094886A2 (en) * | 2014-12-12 | 2016-06-16 | Romesh Wadhwani | Smartkey Apparatuses, Methods and Systems |
CN106898064A (zh) * | 2017-01-09 | 2017-06-27 | 云丁网络技术(北京)有限公司 | 一种基于智能门锁系统的离线验证码的生成方法及其系统 |
CN107067516A (zh) * | 2017-04-17 | 2017-08-18 | 常州唯康信息科技有限公司 | 开锁方法及系统、及门锁系统 |
Also Published As
Publication number | Publication date |
---|---|
CN109905235A (zh) | 2019-06-18 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN109905235B (zh) | 一种智能锁解锁方法、智能锁、终端、服务器及系统 | |
CN109903433B (zh) | 一种基于人脸识别的门禁系统及门禁控制方法 | |
CN103971435B (zh) | 开锁方法、服务器、移动终端、电子锁及开锁系统 | |
EP2888855B1 (en) | Systems and methods for lock access management using wireless signals | |
WO2018090183A1 (zh) | 一种身份认证的方法、终端设备、认证服务器及电子设备 | |
CN102448061B (zh) | 一种基于移动终端防钓鱼攻击的方法和系统 | |
US8769289B1 (en) | Authentication of a user accessing a protected resource using multi-channel protocol | |
CN106533861A (zh) | 一种智能家居物联网安全控制系统及认证方法 | |
CN103401880B (zh) | 一种工业控制网络自动登录的系统及方法 | |
US10133861B2 (en) | Method for controlling access to a production system of a computer system not connected to an information system of said computer system | |
US9231940B2 (en) | Credential linking across multiple services | |
WO2016115807A1 (zh) | 无线路由器的接入处理、接入方法及装置 | |
CN103597799A (zh) | 服务访问认证方法和系统 | |
CN105099690A (zh) | 一种移动云计算环境下基于otp和用户行为的认证授权方法 | |
CN101969446A (zh) | 一种移动商务身份认证方法 | |
CN106600775A (zh) | 一种应用于智能门禁系统的不联网动态密码生成方法 | |
KR101673189B1 (ko) | 출입 인증을 위한 모바일 학생증의 등록 및 사용 방법과 이를 위한 모바일 학생증 서버 | |
WO2017185450A1 (zh) | 终端的认证方法及系统 | |
KR101963437B1 (ko) | 도어락 시스템 및 방법 | |
CN108200037B (zh) | 一种利用安全设备执行安全操作的方法及系统 | |
CN110738776B (zh) | 一种打开蓝牙门禁的方法、系统、蓝牙设备及其工作方法 | |
CN107911211B (zh) | 基于量子通信网络的二维码认证系统 | |
CN108650219B (zh) | 一种用户身份识别方法、相关装置、设备和系统 | |
CN104918241A (zh) | 一种用户认证方法及系统 | |
CN107786978B (zh) | 基于量子加密的nfc认证系统 |
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 |