掌桥专利:专业的专利平台
掌桥专利
首页

离线密码的验证方法、生成方法及智能门锁

文献发布时间:2023-06-19 18:37:28


离线密码的验证方法、生成方法及智能门锁

技术领域

本申请涉及智能设备的密码验证技术领域,特别是涉及离线密码的验证方法、生成方法及智能门锁。

背景技术

密码验证技术是日常生活中常用的技术,通过密码验证的方式可以极大程度上保护用户的财产安全和信息安全。例如,具有密码验证功能的门锁可以用于降低盗窃发生的概率,具有密码验证功能的智能设备、软件或门户网站也可以提高用户信息的安全性。

为了使智能设备在没有联网的状态下能够工作,智能设备还会具验证具有一定有效期的离线密码的功能。然而,如果智能设备没有联网,智能设备内部预置的本地时间可能会于实际时间不同,这有可能导致智能设备不能够很好的对离线密码的有效期进行验证。

发明内容

本申请的实施例提供离线密码的验证方法、生成方法及智能门锁,能够改善现有技术中智能设备未能及时更新导致本地时间错误后,导致离线密码的有效期的准确性降低的问题。

第一方面,本申请实施例提供离线密码的验证方法,包括:获取用户输入的离线密码,并对离线密码进行解密以获取管理员密码和密码生成时间;其中,密码生成时间是服务器生成离线密码时所使用的服务器的当前本地时间;验证管理员密码是否正确;若管理员密码正确,则将密码生成时间和待解锁智能设备的本地存储时间进行早晚比较,以得到比较结果;确定与比较结果相匹配的解锁验证结果。

第二方面,本申请实施例提供离线密码的生成方法,获取服务器的当前本地时间作为密码生成时间,以及获取待解锁智能设备的管理员密码;至少将管理员密码和密码生成时间进行加密以生成离线密码,并将离线密码发送给用户,以使得待解锁智能设备接收到用户输入的离线密码时对离线密码进行解密以获取管理员密码和密码生成时间,并验证管理员密码是否正确,在管理员密码正确时将密码生成时间和待解锁智能设备的本地存储时间进行早晚比较,以得到比较结果,进而确定与比较结果相匹配的解锁验证结果。

第三方面,本申请实施例提供智能门锁,包括门锁本体、处理器和存储器,存储器储存程序指令,处理器用于执行程序指令以实现离线密码的验证方法。

本申请的有益效果是:区别于现有技术的情况,利用服务器的当前本地时间作为离线密码的密码生成时间,将密码生成时间和智能设备的本地时间做早晚比较以对密码的有效期进行验证。由于服务器的当前本地时间是和实际时间同步的,即便智能设备未能及时更新导致智能设备的本地时间早于实际时间,也能有效的对离线密码的有效期进行验证,改善了由于智能设备未能及时更新导致本地时间错误后,验证离线密码有效期的准确率不高的问题。

附图说明

图1是本申请智能门锁实施例的结构示意图;

图2是本申请智能门锁实施例的使用场景示意图;

图3是本申请离线密码的生成方法实施例的流程示意图;

图4是本申请离线密码的验证方法实施例的流程示意图。

具体实施方式

下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅是本申请的一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。

本申请的发明人经过长期研究发现,在离线密码的验证过程中,待解锁设备可能出于一些原因(例如断网),从而导致本地存储时间和实际时间不同。如果待解锁设备的本地时间不准确,验证离线密码的准确性和时效性就会变差。为了解决上述技术问题,本申请提出以下实施例。

以下本申请智能门锁实施例描述智能门锁的示例性结构。

参见图1,包括门锁本体11、处理器12和存储器13。存储器13用于储存程序指令。处理器12用于执行程序指令以实现离线密码的验证方法。处理器12可以是集成电路芯片,具有信号的处理能力。处理器12可以包括通用处理器、数字信号处理器(DSP)、专用集成电路(ASIC)、现场可编程门阵列(FPGA)、或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件。

在一些示例中,门锁本体11可以包括前面板、锁体。其中,前面板主要起交互作用,例如用户可以通过前面板输入离线密码或者管理员密码。锁体可以包括锁舌、母体和驱动电机。其中母体可以通过锁舌和门相连。通过锁舌可以控制锁体处于开锁和上锁状态。驱动电机用于在锁体处于上锁状态时,向锁舌施加作用以避免锁舌在智能门锁10没有通过验证的情况下开锁。当处理器12验证离线密码或者管理员密码通过后,可以控制驱动电机以撤销对锁舌施加的作用。

参见图2,智能门锁10可以对用户输入的离线密码进行验证。离线密码可以是智能门锁10的服务器20向用户的终端30发送的离线密码。例如,用户可以通过终端30向智能门锁10的服务器20发送请求指令,服务器20响应于该请求指令可以向用户的终端30反馈离线密码。在用户将接收到的离线密码输入智能门锁10后,处理器12可以执行程序指令以对离线密码进行验证。在一些示例中,离线密码也可以称为临时密码。

服务器20生成离线密码的步骤可以参见以下本申请离线密码的生成方法实施例。以下本申请离线密码的生成方法实施例示例性地描述离线密码的生成方法。

参见图3,离线密码的生成方法可以包括:步骤S110:获取服务器的当前本地时间作为密码生成时间,以及获取待解锁智能设备的管理员密码;步骤S120:至少将管理员密码和密码生成时间进行加密以生成离线密码,步骤S130:将离线密码发送给用户。

在步骤S110中,由于服务器是处于联网状态的,因此利用服务器的当前本地时间作为密码生成时间可以提高离线密码的时效性。其中,待解锁智能设备可以是智能门锁10。管理员密码可以是用户在安装配置智能门锁10的过程中设置的密码。

在一些示例中,步骤S120可以进一步包括:获取待解锁智能设备的设备身份信息和与设备身份信息对应的密钥;通过设备身份信息和密钥对管理员密码和密码生成时间进行加密以生成离线密码。

其中,设备身份信息可以是设备序列号(SN,Serial Number)或者MAC(MediaAccess Control Addres)地址。密钥可以是待解锁设备出厂时写入设备的。也即,密钥和设备身份信息是一一对应的。在一些示例中,在待解锁设备出厂时写入设备的密钥可以和对应的设备身份信息一起存储在服务器20中,以便于后续服务器20的调用。

通过设备身份信息和密钥对管理员密码和密码生成时间进行加密以生成离线密码。这意味着,离线密码至少和管理员密码相关。由于管理员密码是用户设置的,因此通过对管理员密码进行加密以生成离线密码的方式在一定程度上能够提高离线密码的私密性。另外,离线密码还和密码生成时间(服务器的当前本地时间)相关,因此,通过对密码生成时间进行加密以生成离线密码的方式进一步提高了离线密码的时效性。

参见图4,智能门锁10验证离线密码的步骤可以参见以下本申请离线密码的验证方法实施例。以下本申请离线密码的验证方法实施例示例性地描述离线密码的验证方法。

离线密码的验证方法可以包括:步骤S210:获取用户输入的离线密码,并对离线密码进行解密以获取管理员密码和密码生成时间;步骤S220:验证管理员密码是否正确;若管理员密码正确,则将密码生成时间和待解锁智能设备的本地存储时间进行早晚比较,以得到比较结果;步骤S230:确定与比较结果相匹配的解锁验证结果。

在步骤S210中,密码生成时间是终端30生成离线密码时所使用的终端30的当前本地时间。

在一些示例中,步骤S210可以进一步包括:获取待解锁智能设备的设备身份信息和与设备身份信息对应的密钥;通过设备身份信息和密钥对离线密码进行解密以获取管理员密码和密码生成时间。无论是待解锁设备(例如智能门锁10)对离线密码进行解密获取管理员密码和密码生成时间,还是服务器20对管理员密码和密码生成时间进行加密以生成离线密码,这些都是厂商自行设定的,因此这里对加密和解密的方法不做限定。

在一些示例中,步骤S220可以进一步包括:若管理员密码错误,则解锁验证结果为解锁验证失败。

在一些示例中,步骤S230可以进一步包括:若比较结果为密码生成时间不早于本地存储时间,则解锁验证结果为解锁验证成功,否则为解锁验证失败。

具体而言,通常情况下,如果比较结果为密码生成时间(也即服务器的当前本地时间)早于待解锁设备(例如智能门锁10)的本地存储时间,则意味着尝试开锁的人可能使用了过期的离线密码。也即,如果密码生成时间早于本地存储时间,意味着离线密码过期,解锁验证结果为验证失败。

如果待解锁设备(例如智能门锁10)时间未及时联网更新,可能会早于实际时间,而服务器20的当前本地时间可以看做是实际时间。如果待解锁设备时间及时联网更新,则待解锁设备的本地存储时间和服务器的当前本地时间都应当可以作为实际时间。在这种情况下,无论待解锁设备的本地存储时间是否早于实际时间,服务器的当前本地时间(实际时间)都不会早于待解锁设备的本地存储时间。因此,无论待解锁设备的本地存储时间是否正确,使用服务器的当前本地时间加密获取的离线密码理论上应该是可以通过验证的。由此,这种离线密码的生产和验证方式可以提高待解锁设备对离线密码的时效验证的准确性。

考虑到待解锁设备也处于联网的状态,因而有可能本地存储时间是同步更新的,为了给用户输入密码提供足够的操作时间,本地存储时间可以精确到分钟或者小时。例如本地存储时间为2022年1月1日13点,本地时间的存储精度为1小时,在这种情况下,在本地时间存储时间更新到2022年1月1日14点之前,用户在2022年1月1日13点至2022年1月1日14点之间获取的离线密码均可以通过验证。

如果为了提高离线密码的安全性,可以提高本地存储时间的存储精度。在这种情况下,离线密码也可以趋向成为一次性密码。具体而言,由于离线密码是和服务器的当前本地时间有关的,而服务器的当前本地时间是处于持续更新的状态,因此不同时刻获取的离线密码是不同的。如果本地存储时间的存储精度比较高,而且是联网同步更新的,从服务器获取的离线密码可通过验证的有效期就会相应的缩短。

进一步讲,如果随着待解锁设备的时间更新,即使离线密码没有被使用过,也将会失效。由此,能够提高离线密码验证的安全性。

在另一些示例中,可以通过结合本地存储时间和密码有效期的方式对离线密码进行验证。具体而言,在本地存储时间的基础上增加密码有效期可以获取一个时间段。例如本地存储时间为2022年1月1日13点10分。有效期可以为2022年1月1日13点10分前的前30秒至2022年1月1日13点10分30秒。然后将离线密码解密获取的密码生成时间和有效期对比对离线密码进行验证。如果离线密码落入有效期内,解锁验证也能成功。通过这种方式也可兼顾离线密码的时效性、安全性的同时给用户预留一定的操作时间。

在一些示例中,在解锁验证结果为解锁验证成功之后,密码的验证方法可以进一步包括:步骤S240:将密码生成时间作为本地存储时间进行存储,以更新本地存储时间。在这种情况下,如果待解锁设备(例如智能门锁10)没有联网,可以在离线密码输入时,对本地存储时间进行更新。

在一些示例中,在将密码生成时间和待解锁智能设备的本地存储时间进行早晚比较,以得到比较结果之前,还包括:判断是否是第一次接收离线密码;若是,则将密码生成时间存储作为本地存储时间。解锁验证通过,或者,将密码生成时间和本地存储时间对比后,解锁验证通过。

在一些示例中,在将密码生成时间和待解锁智能设备的本地存储时间进行早晚比较,以得到比较结果之前,包括:判断是否是第一次接收离线密码;若是,则存储密码生成时间,并获取存储密码生成时间时的本地时间作为本地存储时间。

另外,如果待解锁设备(例如智能门锁10)的时间未及时联网更新,本地存储时间如果处于更新状态也可能会晚于实际时间。考虑到这种情况,本地存储时间也可以是不进行更新。具体而言,在上一次输入离线密码后,待解锁设备可以对离线密码进行解密以获取离线密码的密码生成时间,并将密码生成时间存储为本地存储时间,并且不对本地存储时间进行更新。也就是说,在下一次输入离线密码之前,本地存储时间会一直等于上次输入的离线密码的密码生成时间。如果之后再次输入离线密码,则对应的将新输入的离线密码的密码生成时间存储为本地存储时间。

换言之,离线密码的验证逻辑可以为:获取离线密码;对离线密码进行解密获取管理员密码和密码生成时间。验证管理员密码是否正确,如果管理员密码错误,则解锁验证失败,如果管理员密码正确,则进一步对密码生成时间进行验证。将密码生成时间和本地存储时间比较,如果密码生成时间早于本地存储时间,则解锁验证失败,如果密码生成时间不早于本地存储时间,则解锁验证成功。

进一步地,智能门锁10可以根据处理器12识别的解锁验证结果执行开锁动作或者不执行开锁动作。

综上,根据本申请公开离线密码的验证方法、生成方法及智能门锁利用服务器的当前本地时间作为离线密码的密码生成时间,将密码生成时间和智能设备的本地时间做早晚比较以对密码的有效期进行验证。由于服务器的当前本地时间是和实际时间同步的,即便智能设备未能及时更新导致智能设备的本地时间早于实际时间,也能有效的对离线密码的有效期进行验证,改善了由于智能设备未能及时更新导致本地时间错误后,验证离线密码有效期的准确率不高的问题。

以上所述仅为本申请的实施例,并非因此限制本申请的专利范围,凡是利用本申请说明书及附图内容所作的等效结构或等效流程变换,或直接或间接运用在其他相关的技术领域,均同理包括在本申请的专利保护范围内。

技术分类

06120115630286