一种智能锁的临时密码的设置及其验证方法与流程

文档序号:17628648发布日期:2019-05-10 23:56阅读:3192来源:国知局
一种智能锁的临时密码的设置及其验证方法与流程

本发明属于智能锁应用技术领域,具体涉及一种智能锁的临时密码的设置及其验证方法。



背景技术:

门锁是人们日常用的工具,传统的门锁采用机械钥匙,后来才用了刷卡或者输入密码开锁,但是机械锁需要钥匙,刷卡也需要门卡,容易遗失;随着移动互联网时代的到来,人们对智能化的生活方式提出了更高的要求,故采用指纹、数字密码、钥匙、生物识别等多种解锁方式的智能锁成为越来越多人的首选。

但是现有的智能锁在访客需要自行开门的情况下,只能告知访客数字密码等固定密码,极易造成密码泄露,而每次访客开门后均进行密码修改需要耗费不必要的人力物力,且对日常使用极其不便;少部分智能锁能够实现临时密码授权功能,但是在一些写字楼、银行、酒店等有固定邀约的智能锁使用场合,现有的临时密码无法判断当前访客的身份,易造成出入混乱的情况,无法进行有效的访客管理,使用十分不便。



技术实现要素:

为了解决现有技术存在的上述问题,本发明目的在于提供一种智能锁的临时密码的设置及其验证方法,本发明通过临时密码与授权码的双重验证,实现了出入访客记录及规范,同时采用加密算法生成的临时密码及授权码安全性能高,操作便捷。

本发明所采用的技术方案为:

一种智能锁的临时密码的设置及其验证方法,包括临时密码设置方法及临时密码验证方法;所述的临时密码设置方法包括以下步骤:

s101.接收来自用户端的临时开锁请求,为当前临时开锁请求实时匹配当前时间;

s102.根据当前临时开锁请求及当前时间生成临时密码存储于临时密码表中,并将当前临时密码发送至用户端;

所述的临时密码验证方法包括以下步骤:

s201.接收来自用户端的密码串,然后判断当前密码串中是否包括临时密码及授权码;

s202.如步骤s201中判断结果为否,则输出开锁失败信息至用户端,如步骤s201中的判断结果为是,则分别验证临时密码及授权码;

s203.将当前临时密码与当前时间段内有效的临时密码表进行比对,如比对成功,则当前临时密码有效,如比对失败,则输出开锁失败信息至用户端;

s204.将当前授权码与预设的授权码表进行比对,如比对结果一致,则当前授权码有效,如比对失败,则输出开锁失败信息至用户端;

s205.当前授权码有效且当前临时密码有效,则输出开锁成功信息至用户端并打开当前智能锁。

作为优选,所述的步骤s101中,当前时间为当前智能锁所在的时区的网络时间。

作为优选,所述的步骤s102中,生成临时密码时,具体步骤如下:

s102a.临时密码生成器随机生成并输出固定字长的密码位,时钟单元在接收到当前临时开锁请求后立即获取当前智能锁所在的时区的网络时间作为当前时间输出;

s102b.将密码位与当前时间依次排列后生成当前临时密码,当前临时密码在当前时间+预设时间内有效;

s102c.将预设时间内生成的所有临时密码录入同一临时密码表中。

作为优选,所述的步骤102a及步骤s102b中,生成密码位及当前临时密码均采用单向散列函数生成。

作为优选,所述的步骤s201中,授权码由当前智能锁初次使用时设定;所述的授权码为1个以上,其由固定密码与角色编码共同生成。

作为优选,所述的步骤s204中,授权码的比对具体步骤如下:

s204a.将初次输入的固定密码与角色编码依次排列,得到私钥,然后将私钥通过secp256k1椭圆曲线算法进行处理,得到公钥;

s204b.将公钥依次通过sha256和ripemd160哈希算法进行处理,得到公钥哈希;

s204c.将公钥哈希通过两次sha256哈希算法进行处理,得到的结果的前4字节作为校验值,然后将地址1字节的前缀加上公钥哈希加上校验值,得到中间密码;

s204d.将中间地址通过base58编码实现编码转换,得到授权码。

作为优选,所述的临时密码验证方法还包括以下步骤:

s206.当预设时间内输出预设次数的开锁失败信息后,锁定当前智能锁,并输出开锁异常信息。

作为优选,所述步骤s206中,锁定当前智能锁后,在激活前无法使用临时密码打开当前智能锁。

作为优选,每次输出开锁成功信息后,被使用的临时密码即时从临时密码表中清除,即该临时密码失效。

作为优选,每次输出开锁异常信息、开锁成功信息或开锁失败信息时,时钟单元均实时获取当前智能锁所在的时区的网络时间,然后将当前开锁异常信息、开锁成功信息或开锁失败信息及与其对应的网络时间计入时间流日志。

本发明的有益效果为:

1)本发明中的临时密码采用随机生成的密码位与时间共同生成,由此避免固定密码的泄露造成的安全隐患,且临时密码在预设时间内有效的临时密码设置方式使得任一临时密码均具有时效性,避免临时密码滥用造成的安全问题,同时,单向的加密方式避免访客知晓当前密码锁的密码生成规律后进行密码破解,进一步提高了安全性能;

2)本发明通过临时密码与授权码双重验证的方式,使得每个使用临时密码开锁的访客的身份均能够被记录,每个授权码唯一对应一个具有当前智能锁使用权限的管理员角色,由此在进一步提高了智能锁解锁安全性的同时,能够记录及追溯访客的身份,便于进行有效的访客管理,且授权码采用用私钥加密及公钥验证的方式,确保了授权码的保密性及安全性,避免不法分子盗用开门信息进行打开智能锁,安全性极高;

3)本发明采用时间流日志的方式记录当前智能锁的每次开门的操作及试图开门的操作,使得任一开锁异常信息、开锁成功信息或开锁失败信息均基于时间流记录,时间不可倒流,故每次存储的记录不可修改,避免不法分子注入伪造的开门记录信息或伪造的临时密码打开门禁,安全实用,适于推广使用。

附图说明

为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。

图1是本发明的结构框图。

具体实施方式

以下将参照附图,通过实施例方式详细地描述本发明提供的一种智能锁的临时密码的设置及其验证方法。在此需要说明的是,对于这些实施例方式的说明用于帮助理解本发明,但并不构成对本发明的限定。

本文中术语“和/或”,仅仅是一种描述关联对象的关联关系,表示可以存在三种关系,例如,a和/或b,可以表示:单独存在a,单独存在b,同时存在a和b三种情况,本文中术语“/和”是描述另一种关联对象关系,表示可以存在两种关系,例如,a/和b,可以表示:单独存在a,单独存在a和b两种情况,另外,本文中字符“/”,一般表示前后关联对象是一种“或”关系。

实施例1:

如图1所示,本实施例提供一种智能锁的临时密码的设置及其验证方法,包括临时密码设置方法及临时密码验证方法;临时密码验证方法基于临时密码设置方法运行,由此构成完整的临时密码使用过程。

临时密码设置方法包括以下步骤:

s101.接收来自用户端的临时开锁请求,为当前临时开锁请求实时匹配当前时间;其中,当前时间为当前智能锁所在的时区的网络时间,网络时间通过通信网络实时获取,具有不可倒流性,由此避免了后期生成重复的临时密码,网络时间可以但不仅限于包括公立日期和基于24小时制的时分时刻。

s102.根据当前临时开锁请求及当前时间生成临时密码存储于临时密码表中,并将当前临时密码发送至用户端;其中,生成临时密码时,具体步骤如下:

s102a.临时密码生成器随机生成并输出固定字长的密码位,时钟单元在接收到当前临时开锁请求后立即获取当前智能锁所在的时区的网络时间作为当前时间输出;由此避免了临时密码重复造成的数据混乱,实用性更高。

s102b.将密码位与当前时间依次排列后生成当前临时密码,当前临时密码在当前时间+预设时间内有效;预设时间可以为任意时长,管理员可以根据实际需求设置,预设时间的设置使得在指定的使用日期结束后,该临时密码即失效,任何人无法再使用该临时密码打开密码锁,由此在确保安全性的前提下,避免了在访客使用后都需要重新设定密码的工作,方便了智能锁的管理及使用。

s102c.将预设时间内生成的所有临时密码录入同一临时密码表中;由此便于多个具有当前智能锁使用权限的管理员角色在预设时间内均生成临时密码后,访客依然可以有条不紊地打开智能锁,使用便捷高效。

本实施例中,生成密码位及当前临时密码均采用单向散列函数生成,由此避免了访客知晓当前密码锁的密码生成规律后进行密码破解。

临时密码验证方法包括以下步骤:

s201.接收来自用户端的密码串,然后判断当前密码串中是否包括临时密码及授权码;其中,授权码由当前智能锁初次使用时设定;授权码为1个以上,其由固定密码与角色编码共同生成,每个具有当前智能锁使用权限的管理员角色具有唯一对应的角色编码,由此便于进行访客的管理,固定密码可以是用于打开智能锁的数字密码,也可以是用于设置授权码而专门生成的密码串。

s202.如步骤s201中判断结果为否,则输出开锁失败信息至用户端,如步骤s201中的判断结果为是,则分别验证临时密码及授权码;开锁失败信息包括本次开锁失败的原因,验证临时密码与验证授权码是两个同时进行的独立步骤,便于记录并输出本次开锁失败的原因。

s203.将当前临时密码与当前时间段内有效的临时密码表进行比对,如比对成功,则当前临时密码有效,如比对失败,则输出开锁失败信息至用户端;由此避免临时密码超期使用或重复使用造成的访客混乱。

s204.将当前授权码与预设的授权码表进行比对,如比对结果一致,则当前授权码有效,如比对失败,则输出开锁失败信息至用户端;其中,授权码的比对具体步骤如下:

s204a.将初次输入的固定密码与角色编码依次排列,得到私钥,然后将私钥通过secp256k1椭圆曲线算法进行处理,得到公钥;

s204b.将公钥依次通过sha256和ripemd160哈希算法进行处理,得到公钥哈希;通过将公钥及公钥哈希利用sha256哈希算法将得到一个256位的私钥,相同的数据输入将得到相同的结果,输入数据只要稍有变化则将得到一个千差万别的结果,且结果无法事先预知,正向计算(即由固定密码与角色编码计算其对应的私钥)十分容易,但逆向计算(即由私钥计算出固定密码与角色编码)极其困难,在当前科技条件下被视作不可能,由此使得初次注册得到的授权码是唯一且不能被盗用的,进一步增加了数据的安全性。

s204c.将公钥哈希通过两次sha256哈希算法进行处理,得到的结果的前4字节作为校验值,然后将地址1字节的前缀加上公钥哈希加上校验值,得到中间密码;校验码是从需要编码的数据的哈希值中得到的,可以用来检测并避免转录和输入中产生的错误;本实施例中,编码时地址1字节的前缀是128(十六进制是0x80)。

s204d.将中间地址通过base58编码实现编码转换,得到授权码。

s205.当前授权码有效且当前临时密码有效,则输出开锁成功信息至用户端并打开当前智能锁;本实施例中,每次输出开锁成功信息后,被使用的临时密码即时从临时密码表中清除,即该临时密码失效。

本实施例中,临时密码验证方法还包括以下步骤:

s206.当预设时间内输出预设次数的开锁失败信息后,锁定当前智能锁,并输出开锁异常信息,开锁异常信息可以使得管理员能够快速察觉到盗锁、临时密码过期后反复开锁、临时密码反复使用等异常情况,便于管理员能够迅速进行有效的应对;其中,锁定当前智能锁后,在激活前无法使用临时密码打开当前智能锁,激活可以但不仅限于采用固定密码激活、生物特征激活等方式。

本实施例中,每次输出开锁异常信息、开锁成功信息或开锁失败信息时,时钟单元均实时获取当前智能锁所在的时区的网络时间,然后将当前开锁异常信息、开锁成功信息或开锁失败信息及与其对应的网络时间计入时间流日志;由此使得任一开锁异常信息、开锁成功信息或开锁失败信息均基于时间流记录,时间不可倒流,故每次存储的记录不可修改,避免不法分子注入伪造的开门记录信息或伪造的临时密码打开门禁。

需要说明的是,在本文中,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同因素。

本领域普通技术人员可以理解:实现上述方法实施例的全部或部分步骤可以通过程序指令相关的硬件来完成,前述的程序可以存储在计算机可读取的存储介质中,该程序在执行时,执行包括上述方法实施例的步骤。

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

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1