System.ArgumentOutOfRangeException: 索引和长度必须引用该字符串内的位置。 参数名: length 在 System.String.Substring(Int32 startIndex, Int32 length) 在 zhuanliShow.Bind()
【技术实现步骤摘要】
本专利技术涉及一种智能锁密钥生成,具体涉及一种用于物联锁的临时密码生成与验证方法。
技术介绍
1、智能锁由于其操作简单,不需携带钥匙,安全性高等优点,应用日益广泛,与此同时,对智能锁的功能也提出了更多的需求。例如,当智能锁主人不在家,而临时有人员需要进入时,智能锁的主人只能把密码告知访客,为了安全起见,事后智能锁主人需要修改密码,这样给使用者带来诸多不便。
2、针对临时需要开锁的应用需求,市面上已经出现具有临时密码功能的智能锁,主要包括:1)在本地智能锁体设置并存储固定的临时密码,但需要事先设置临时密码,为避免密码泄露的安全隐患,使用之后还要更改或删除临时密码,给用户带来不便;2)针对具有联网功能的智能锁,用户通过app设置临时密码并传送给服务器,服务器接收到后发送给智能锁体,智能锁体接收并存储临时密码,但该方式智能锁必须具备联网功能,否则不能开锁,降低了临时密码开锁的可靠性,而且硬件成本高,耗电量大,通信过程中易受网络攻击;3)智能锁包括智能锁体和手机app两部分,它们在出厂时内置相同的密钥库或有相同的临时密码算法,例如中国专利“智能门锁非时间管理的临时密码管理方法及系统”(专利号111260827 a) 在智能终端采用sha-1加密算法生成多个临时密码,用户采用相同算法生成多个门锁端临时密码,然后将它们逐一比对实现离线临时密码开锁功能,但是在出厂前需将密钥库固定写在智能锁里,一旦密钥库被破解将失去安全性,且能通过获取几组临时密码后反推出原始密钥,另外获取加密算法或源码后,也容易反推出原始密码。因此,如何保证临时密
技术实现思路
1、为解决
技术介绍
中现有智能锁中临时密码不可靠和不安全的问题,本专利技术提供一种用于物联锁的临时密码生成与验证方法。
2、本专利技术的技术方案是:一种用于物联锁的临时密码生成与验证方法,包括智能锁和智能终端,在智能锁上设置开启临时密码功能,具体操作步骤为:
3、s1、休眠状态,智能锁无任何操作时都处于休眠状态,降低功耗;
4、s2、触摸智能锁面板唤醒智能锁;
5、s3、连续按*#键,输入管理员密码;
6、s4、密码匹配成功,进入菜单界面;
7、s5、在菜单界面设置开启临时密码功能;
8、s6、激活内部加密算法;
9、s7、智能锁获得临时密码;
10、在智能锁端开启临时密码功能的前提下,智能终端操作步骤为:
11、a1、登录智能终端,设置加密因子m,此加密因子与智能锁端的加密因子必须相同;
12、a2、在智能终端中开启临时密码功能;
13、a3、智能终端中激活内置与智能锁端相同的加密算法;
14、a4、产生临时密码,传递给访客;
15、s8、访客在智能锁端键入临时密码;
16、s9、智能锁对比键入的信息与智能锁产生的临时密码是否相同;相同则开锁,否则提示开锁失败。
17、作为本专利技术的进一步改进,上述步骤s6中,算法的输入参数为基于哈希的消息认证码,采用如下的公式进行处理:
18、hmac(t,m) = h(t⊕opad)‖h(t⊕ipad)‖m
19、其中,t是用于生成hmac的密钥,m是需要认证的数据,h为哈希函数;opad和ipad是两个固定的填充值;其中,opad的每个字节值都是0x5c,ipad的每个字节值都是0x36;符号⊕表示按位异或运算,‖表示连接操作。
20、作为本专利技术的进一步改进,智能锁安全离线开锁密码生成算法,步骤s6中,采用sha算法进行加密处理,加密算法的具体操作步骤为:
21、s601、获取智能锁本地的时间戳,提取长度为l的数字串作为时间因子t;
22、s602、对时间因子t,进行hash填充;
23、s603、将hash填充后的t数字串与opad做异或运算;
24、s604、将hash填充后的t数字串与ipad做异或运算;
25、s605、加密因子m是由用户自主设置的数字串;
26、s606、将s603、s604的异或结果与s605进行拼接,整体作为加密算法的输入y;
27、s607、根据输入y,进行内层hash运算;
28、s608、得到最终的临时密码。
29、作为本专利技术的进一步改进,进行hash填充,使得信息摘要的长度为b字节。
30、作为本专利技术的进一步改进,所述opad为0x5c,每个字节都与opad进行异或操作。
31、作为本专利技术的进一步改进,所述ipad为0x36,每个字节都与ipad进行异或操作。
32、作为本专利技术的进一步改进,内层hash运算,有预设的160bit消息摘要缓冲区,与输入y进行n次运算得到最终结果。
33、作为本专利技术的进一步改进,所述的智能终端包括小程序和/或app。
34、作为本专利技术的进一步改进,设定加密算法有效时间5分钟,允许时间误差为2分钟,激活加密算法后,把时间因子向前推进7分钟,再向后退2分钟,产生9组临时密码,外部键入的临时密码与其中一个相同即可开锁。
35、作为本专利技术的进一步改进,智能锁正常开锁的密码是6位数字,临时密码是8位数字;键入临时密码时就会触发智能锁开启内部加密算法,产生9组临时密码,与键入的临时密码匹配,有相同的就可开锁;进行密码匹配,如果3次输入匹配均不成功,则会系统锁定3分钟,同时提示开锁失败。
36、本专利技术的有益效果是,是否开启离线临时密码,由用户控制;在智能锁端可根据需求随时开启或关闭临时密码,功能灵活,满足用户的多样化需求;采用时间因子与加密因子的双重信息输入的方式,不需要其他额外机制,保证数据完整性与操作的便捷性;智能锁与智能终端之间无通信连接,防止通信传输过程中的网络攻击;所采用的算法本身具有不可逆性,另外每个用户会自己设置不同的加密因子,实现双重保险,即使知道算法的构造也无法破解;对于临时密码有有效时间设置,对智能锁与智能终端的时间一致性要求不严格,允许一定的时间误差,降低了对智能锁内部系统的要求。
本文档来自技高网...【技术保护点】
1.一种用于物联锁的临时密码生成与验证方法,包括智能锁和智能终端,其特征在于:在智能锁上设置开启临时密码功能,具体操作步骤为:
2.根据权利要求1所述的一种用于物联锁的临时密码生成与验证方法,其特征在于上述步骤S6中,算法的输入参数为基于哈希的消息认证码,采用如下的公式进行处理:
3.根据权利要求2所述的一种用于物联锁的临时密码生成与验证方法,其特征在于智能锁安全离线开锁密码生成算法,步骤S6中,采用SHA算法进行加密处理,加密算法的具体操作步骤为:
4.根据权利要求3所述的一种用于物联锁的临时密码生成与验证方法,其特征在于进行hash填充,使得信息摘要的长度为B字节。
5.根据权利要求3所述的一种用于物联锁的临时密码生成与验证方法,其特征在于所述opad为0x5c,每个字节都与opad进行异或操作。
6.根据权利要求3所述的一种用于物联锁的临时密码生成与验证方法,其特征在于所述ipad为0x36,每个字节都与ipad进行异或操作。
7.根据权利要求4所述的一种用于物联锁的临时密码生成与验证方法,其特征在于内
8.根据权利要求4所述的一种用于物联锁的临时密码生成与验证方法,其特征在于所述的智能终端包括小程序和/或APP。
9.根据权利要求1所述的一种用于物联锁的临时密码生成与验证方法,其特征在于设定加密算法有效时间5分钟,允许时间误差为2分钟,激活加密算法后,把时间因子向前推进7分钟,再向后退2分钟,产生9组临时密码,外部键入的临时密码与其中一个相同即可开锁。
10.根据权利要求1所述的一种用于物联锁的临时密码生成与验证方法,其特征在于智能锁正常开锁的密码是6位数字,临时密码是8位数字;键入临时密码时就会触发智能锁开启内部加密算法,产生9组临时密码,与键入的临时密码匹配,有相同的就可开锁;进行密码匹配,如果3次输入匹配均不成功,则会系统锁定3分钟,同时提示开锁失败。
...【技术特征摘要】
1.一种用于物联锁的临时密码生成与验证方法,包括智能锁和智能终端,其特征在于:在智能锁上设置开启临时密码功能,具体操作步骤为:
2.根据权利要求1所述的一种用于物联锁的临时密码生成与验证方法,其特征在于上述步骤s6中,算法的输入参数为基于哈希的消息认证码,采用如下的公式进行处理:
3.根据权利要求2所述的一种用于物联锁的临时密码生成与验证方法,其特征在于智能锁安全离线开锁密码生成算法,步骤s6中,采用sha算法进行加密处理,加密算法的具体操作步骤为:
4.根据权利要求3所述的一种用于物联锁的临时密码生成与验证方法,其特征在于进行hash填充,使得信息摘要的长度为b字节。
5.根据权利要求3所述的一种用于物联锁的临时密码生成与验证方法,其特征在于所述opad为0x5c,每个字节都与opad进行异或操作。
6.根据权利要求3所述的一种用于物联锁的临时密码生成与验证方法,其特征在于所述ipad为0x36,每个字节都与ipad进行...
【专利技术属性】
技术研发人员:阮秀凯,项文广,纪东亚,周志立,杨卫波,张瑶,陈秋影,詹志翔,
申请(专利权)人:温州大学智能锁具研究院,
类型:发明
国别省市:
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。