智能锁临时密码生成方法及电子设备与流程

文档序号:30697725发布日期:2022-07-09 18:19阅读:551来源:国知局
智能锁临时密码生成方法及电子设备与流程

1.本发明涉及智能锁安全技术领域,尤其涉及智能锁临时密码的生成方法及电子设备,从而能生成用于智能锁的临时密码,供临时打开智能锁的用户使用。


背景技术:

2.随着智能锁各方面技术的完善,智能锁越来越多地被应用到我们的日常生活中,如门禁、存物柜、快递柜等。智能锁用户可以通过设置常规密码(即用户可多次重复使用的密码)来控制智能锁开启关闭,智能锁用户也可以通过设置指纹、人脸、指静脉等人体生物特征密码,从而更安全、方便地控制智能锁。
3.在智能锁使用过程中,常常出现只需要临时单次使用密码的情形。如门禁系统,对于临时使用门禁的用户,如钟点工,临时拜访的朋友等。又如快递柜,对于临时有快递被放置在快递柜的用户,其都需要临时开启智能锁。针对这种需求,现有技术提供了多种临时密码生成的方案。
4.其中,现有技术提供的一种离线临时密码生成方案,由于智能锁的网络可以持续保持断开连接状态,极大地降低了智能锁的功耗,从而被更多地采用。现有技术提供的离线临时密码生成方案的一种实现方式中,智能锁与终端设备的app各自通过特定的算法生成临时密码,即在用户输入临时密码之前,智能锁与终端设备之间,智能锁、终端设备与云端服务器之间均不需要通信。离线临时密码的生成和比对均在智能锁离线状态下实现。具体实施方案可参照申请人在先申请的离线临时密码生成方案专利。如公开号为cn113593095a的《一种智能锁的临时密码离线验证方法、系统及智能锁》专利申请。
5.虽然上述离线临时密码生成方案实现了离线临时密码的生成和比对,减少了功耗。但是发明人在实施上述方案的过程中,也发现其还存在以下一些不足之处:
6.1)智能锁的密码一般不宜设置过长,否则,会影响用户记忆、同时影响密码输入、解密等过程,造成开锁时间过长,影响用户的体验。因此,现有的智能锁密码,无论是常规密码还是临时密码,一般都是六位。同时,智能锁的密码一般设定为数字,也是为了更好的记忆和开锁体验。但是这导致密码承载的加密信息有限。
7.2)由于生成的离线临时密码一般为位数有限的数字密码,而现有的比较成熟的加密算法,如hash加密、非对称加密等,形成的密文长度都比较长,同时还包含字母、符号、数字等,因此现有的离线临时密码难以利用现有成熟的加密算法生成;因此,我们可以看到,现有的离线临时密码无论是智能锁端,还是终端设备端,基本都是将hash函数处理后的密文通过求余的方式转换成数字来获得临时密码。
8.3)现有的离线临时密码如通过成熟的加密算法生成密文,为了得到位数有限的数字密码,需要对密文进行长度、求余等信息验证,这将破坏原加密算法的安全性。以aes128算法为例,其密钥复杂度为2的128次方,可以理解为密钥有2的128次方个组合。但利用取长度、求余等方式将密钥转换为6位数字密码,那6位数字密码自身的密钥组合为1000000个,加上一些时间戳的校验规则,这个组合可能会变得更小。通俗地说,就是原来加密的密钥本
来是不同的,但转换之后可能会得到相同的6位数字,安全性大幅降低。
9.4)现有离线临时密码也有通过自定义加密算法来生成。但是自定义加密算法容易被破解,导致安全性没有保障。好的加密算法有严密的数学论证,经过行业充分的检验,能够成为各行业流行使用的方法。这些都需要大量的努力和充分的验证。自定义算法是指成熟的加密算法之外自己研究的一套加密算法,并没有得到充分的验证,容易存在漏洞,导致安全没有保障。


技术实现要素:

10.本发明实施例针对现有技术提供的离线临时密码生成方法中存在的一些不足,提供一种智能锁临时密码生成方法,可以采用非常成熟的非对称加密算法,而且不需要对加密的密文进行长度、取余等验证,提高了临时密码的安全性。同时,临时密码可以由用户自己输入容易记忆的数字,而不是依靠终端设备随机生成,增加了临时密码的可记忆性、输入的便捷性,也可以在一定程度上增加用户将临时密码发送给使用者过程中的保密性。
11.本发明实施例提供的智能锁临时密码生成方法,由智能锁实现,包括以下步骤:
12.s11:通过非对称加密算法生成包括公钥和私钥的密钥对;
13.s12:将所述私钥保存在智能锁中;
14.s13:在智能锁与通过合法性验证的第二设备网络连接时,将所述公钥发送至所述第二设备;
15.s14:接收所述第二设备的密文,所述密文为使用公钥对临时密码加密后生成;
16.s15:使用私钥解密所述密文,获得临时密码。
17.本发明实施例提供的由智能锁实现的临时密码生成方法,由智能锁根据非对称加密算法生成公钥和私钥,其中,私钥一直保存在智能锁内部而不会向任何第三方传送,包括云端服务器和用户终端,这样,避免了私钥在传送过程中被截获或者窃取的可能,保证了私钥的安全性。智能锁只将公钥传送至被合法验证过的第二设备,如云端服务器或者终端设备,使得终端设备可以使用该公钥对用户设置的临时密码进行加密,形成密文。该密文只能由保存在智能锁中的私钥才能解密出临时密码。而任何其他方因为没有私钥,获取到的都是无法破解的无意义的密文。从而保障了临时密码的安全性。同时使用的是业界成熟应用的非对称加密算法,如使用rsa加密算法,不需要使用长度、求余验证,保证了加密算法的完整性,也就是保证了加密算法的安全性。另一方面,由于密文的长度与用户设置的临时密码无关,因此用户可以设置常用位数的临时密码,如设置六位或八位的临时密码均可,保证了用户在记忆临时密码时的方便性,以及不需要过长的时间输入临时密码,同时也不需要过长的时间解锁临时密码,可提高用户的使用体验。第三方面,由于临时密码可以是由用户自己输入设置,而不是通过加密算法随机生成,这样,用户可以通过设置一些更易记忆的密码,或者通过设置一些使用临时密码的临时用户所熟悉的数字,增加临时用户快速记忆临时密码的可能性,以及增加临时用户快速输入临时密码的快捷性,达到更好的用户体验。而且,由于可以设置临时用户熟悉的数字为临时密码,智能锁用户在设置好临时密码后,可以不需要直接将临时密码发送给用户,而可以给临时用户描述一些该临时密码数字的特征,从而使得该临时用户自己推导出临时密码,即智能锁用户在发送临时密码给临时用户时,相当于给临时密码做了一次加密,这也增加了临时密码发送过程中的安全性。
18.基于同样的发明构思,本发明实施例还提供智能锁临时密码生成方法,由云端服务器实现,包括以下步骤:
19.s21:接收智能锁生成的公钥,并保存在云端服务器;
20.s22:接收终端设备的公钥获取请求,并将公钥获取请求中对应智能锁的公钥发送至所述终端设备;
21.s23:接收所述终端设备发送的密文,所述密文为使用公钥对临时密码加密后生成;
22.s24:当云端服务器与智能锁网络连接时,检查是否有所述智能锁对应的密文,如有,则将所述密文发送至所述智能锁,以供所述智能锁通过使用私钥对密文进行解密获取临时密码。
23.本发明实施例提供的由云端服务器实现的智能锁临时密码生成方法,实现了连接智能锁和终端设备的作用,从而为智能锁实现临时密码生成方法提供了一种可行的辅助实现方式。因此,其也具有上述由智能锁实现的临时密码生成方法的技术效果。同时,云端服务器与智能锁之间的网络连接可以由智能锁在需要的时候触发连接,而大多数时候可以保持断开状态,即智能锁的通信模块可以保持断开状态,从而减少智能锁的功耗。
24.基于同样的发明构思,本发明实施例还提供智能锁临时密码生成方法,由终端设备实现,包括以下步骤:
25.s31:启动临时密码生成命令;
26.s32:接收输入或随机生成的需要设置的临时密码,使用对应智能锁的公钥对所述临时密码加密,生成密文;
27.s33:将所述密文发送到对应的智能锁,供所述智能锁使用私钥对所述密文进行解密,获得所述临时密码。
28.本发明实施例提供的由终端设备实现的智能锁临时密码生成方法,用户可以在终端设备启动临时密码设置命令后,输入需要设置的临时密码,也可以由终端设备随机生成一组数字作为临时密码,终端设备通过公钥对临时密码进行加密,生成密文,并将所述密文直接发送到智能锁,或者通过云端服务器发送到智能锁,由智能锁使用私钥对密文进行解密,智能锁从而获得了可以用来进行比对验证的临时密码。因此,该终端设备实现的智能锁临时密码生成方法与智能锁实现的临时密码生成方法相辅相成,其也具有相应的技术效果。在此不予赘述。
29.基于同样的发明构思,本发明实施例还提供智能锁临时密码生成方法,由智能锁、云端服务器和终端设备构成的智能锁系统实现,其中,智能锁与终端设备之间通过绑定建立联系,智能锁、终端设备可通过网络连接云端服务器,包括以下步骤:
30.s40:智能锁通过非对称加密算法生成包括公钥和私钥的密钥对;并将所述私钥保存在所述智能锁中;
31.s41:当所述智能锁连接到通过合法认证的云端服务器时,将所述公钥发送至所述云端服务器;
32.s42:云端服务器接收智能锁发送的公钥,并将所述公钥保存在云端服务器;
33.s43:云端服务器接收终端设备的连接请求,并对所述终端设备进行合法性验证;
34.s44:终端设备向所述云端服务器发送公钥获取请求,所述公钥获取请求携带有对
应智能锁的标识信息;所述云端服务器将对应智能锁的公钥发送至所述终端设备;
35.s45:终端设备启动临时密码生成命令,接收需要设置的临时密码,判断接收的所述临时密码长度是否满足临时密码长度要求,在满足临时密码长度要求时,获取时效信息,使用公钥对所述临时密码和时效信息进行加密,生成密文;
36.s46:将所述密文发送至所述云端服务器;
37.s47:当智能锁连接到云端服务器时,智能锁发送密文获取请求至所述云端服务器,所述云端服务器将所述智能锁对应的密文发送至所述智能锁;
38.s48:智能锁使用私钥对所述密文进行解密,获取临时密码和时效信息,并将所述临时密码和时效信息保存在智能锁的临时密码列表和时效信息列表中。
39.本发明实施例提供的上述智能锁临时密码生成方法,解决了现有离线临时密码生成方案存在的一些问题。通过将智能锁、云端服务器和终端设备组成一个智能锁系统,在他们分别实现各自生成智能锁临时密码的工作中,共同实现了生成临时密码的完整工作。因此,本发明实施例提供的智能锁临时密码生成方法,采用成熟的非对称加密算法,保证了加解密中的完整性,从而也保证了生成的临时密码的安全性。同时私钥在整个过程中不会向外传送,一直保存在智能锁中,也保证了私钥的绝对安全性。临时密码由终端设备输入确定,而不是由加密算法随机生成,使得临时密码不需要为了确保一定的位数而要用长度、求余等验证,都可以在保证平时对密码的使用习惯时同时增加了临时密码的安全性。也进一步方便了用户对临时密码的记忆,以及为临时密码的进一步安全发送增加安全提供了可能。
40.基于相同的发明构思,本发明实施例还提供了一种用于实现上述智能锁临时密码生成方法的电子设备,所述电子设备包括处理器和存储器,所述存储器存储有可执行程序。该电子设备可以是智能锁、云端服务器或者终端设备。当该电子设备为智能锁时,其实现上述由智能锁实现的智能锁临时密码生成方法;相应的,当该电子设备为云端服务器或者终端设备时,其分别实现上述由云端服务器或者终端设备实现的智能锁临时密码生成方法。
41.基于相同的发明构思,本发明实施例还提供了一种存储介质,所述存储介质上存储有可执行程序,所述可执行程序执行时上述智能锁临时密码生成方法。
附图说明
42.为了更清楚地说明本发明实施例中的技术方案,下面将对实施例描述中所需要使用的附图做一简单地介绍,显而易见地,下面描述中的附图是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
43.图1为本技术实施例提供的一种智能锁系统的模块框图;
44.图2为本技术实施例1提供的一种智能锁临时密码生成方法流程图;
45.图3为本技术实施例2提供的一种智能锁临时密码生成方法流程图;
46.图4为本技术实施例3提供的一种智能锁临时密码生成方法流程图;
47.图5为本技术实施例4提供的一种智能锁临时密码生成方法流程图。
具体实施方式
48.为使本技术的目的、技术方案和优点更加清楚,以下将参照本技术实施例中的附图,通过实施方式清楚、完整地描述本技术的技术方案,显然,所描述的实施例是本技术一部分实施例,而不是全部的实施例。基于本技术中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本技术保护的范围。
49.在本发明的描述中,若干的含义是一个以上,多个的含义是两个以上,大于、小于、超过等理解为不包括本数,以上、以下、以内等理解为包括本数。如果有描述到第一、第二只是用于区分技术特征为目的,而不能理解为指示或暗示相对重要性或者隐含指明所指示的技术特征的数量或者隐含指明所指示的技术特征的先后关系。
50.本发明的描述中,除非另有明确的限定,设置等词语应做广义理解,所属技术领域技术人员可以结合技术方案的具体内容合理确定上述词语在本发明中的具体含义。
51.本发明的描述中,参考术语“一个实施例”、“一些实施例”、“示意性实施例”、“示例”、“具体示例”、或“一些示例”等的描述意指结合该实施例或示例描述的具体特征或者特点包含于本发明的至少一个实施例或示例中。在本说明书中,对上述术语的示意性表述不一定指的是相同的实施例或示例。而且,描述的具体特征或者特点可以在任何的一个或多个实施例或示例中以合适的方式结合。
52.如图1所示,本技术实施例涉及到的硬件包括智能锁、服务器和终端设备,智能锁、服务器和终端设备整体可构建一套智能锁系统。另外,终端设备包括但不限于可以实现联网功能的手机、平板或电脑等。用户可以通过终端设备与智能锁进行绑定,并可以通过终端设备的联网功能实现与服务器的通信。本技术实施例中的服务器,尤指布置于云端的可用于对智能锁的信息进行保存和对智能锁进行关联的云端服务器。目前,智能锁生产厂家均会构建自己的智能云端生态系统或者参与到行业智能云端生态系统中,从而实现对智能锁的管理。
53.智能锁包括锁体,锁体可安装在房门、柜门等需要进行安全防护的物体上,并与门、门框或者柜门、柜体等配合实现锁定和解锁的功能。智能锁实现锁定和解锁的部件和结构可采用现有技术,如包括锁舌、驱动机构、传动机构等,在此不做限制。
54.智能锁还包括有输入模块,用于实现人机交互。使用人员可以通过输入模块实现对智能锁的操作,如将密码输入智能锁,或者对智能锁实现唤醒、设置等功能,其实现方式也是本领域的常规实现方式,在此不予赘述。智能锁还包括有主控模块,主控模块可加载可执行的程序,从而通过主控模块实现对智能锁的控制。
55.智能锁还可以包括通信模块用于连接服务器,智能锁在出于安全或者节能等方面考虑,大部分时间均保持断开联网的状态,或者处于关闭通信模块的状态。
56.实施例1
57.本实施例中的智能锁在一开始接入使用时,或者智能锁完成恢复出厂设置后重新使用时,首先需要完成配网。配网阶段,用户可以通过手机安装的智能锁app应用与智能锁进行配网绑定,绑定成功后,智能锁app可获取到智能锁的标识信息,从而为后续终端设备获取智能锁的公钥、或者终端设备将经过公钥加密的密文发送给智能锁提供连接基础。
58.智能锁配网完成后,可进一步实现智能锁与云端服务器的安全认证,安全认证后,智能锁可实现与云端服务器的网络连接。安全认证后可以确保智能锁只会将公钥发送到确
认安全的云端服务器或者终端设备上。上述智能锁与终端设备的绑定、智能锁与云端服务器的安全认证和网络连接可采用现有成熟的技术方案实现,在此不予赘述。
59.如图2所示,本实施例提供一种智能锁,包括有主控模块(或者叫处理器)和存储器。智能锁中可植入可执行程序,可执行程序在主控模块的调用下实现智能锁临时密码生成方法,具体包括以下步骤:
60.s11:通过非对称加密算法生成包括公钥和私钥的密钥对。智能锁通过非对称加密算法,如rsa、elgamal、rabin算法等,本实施例优选更广泛使用、更成熟的rsa算法,生成一对相互对应的公钥和私钥。用公钥对数据进行加密,只有用对应的私钥才能解密。
61.s12:将所述私钥保存在所述智能锁中;智能锁在生成完成对的公钥和私钥后,只将私钥保存在智能锁本地的存储器中。为了更加确保私钥的安全性,可以在智能锁中设置安全芯片,将私钥保存在智能锁的安全芯片中。安全芯片中的数据设置为禁止传送到任何智能锁以外的设备,从而保证了私钥不会传送到云端服务器,也不会传送到任何其他终端设备。可以确保私钥不泄露。
62.s13:在智能锁与通过合法性验证的第二设备网络连接时,将所述公钥发送至所述第二设备。其中,第二设备可以是终端设备,即在终端设备与智能锁处于一个可直接通过近场无线通信连接,如nfc、蓝牙等连接时,智能锁可以直接将公钥发送至绑定的终端设备上,以供终端设备通过公钥将临时密码生成密文。更优选的实施方式中,第二设备为云端服务器。智能锁与云端服务器网络连接。智能锁首先将公钥发送到云端服务器并保存在云端服务器中,以供终端设备在网络连接到云端服务器后从云端服务器获取公钥,并在使用公钥对临时密码加密成密文后,通过将密文上传到云端服务器,并通过云端服务器将密文传送到智能锁。这样,终端设备与智能锁之间可以不需要通过近场无线通信连接,摆脱物理空间的限制。
63.s14:接收所述第二设备的密文,所述密文为使用公钥对临时密码加密后生成。其中,临时密码的具体设置流程,可参阅本发明实施例3中终端设备设置临时密码的过程,为避免重复,在此不予赘述。
64.s15:使用私钥解密所述密文,获得临时密码。使用私钥解密由公钥加密的密文的过程,也属于相关领域成熟的技术方案,在此不予赘述。
65.本实施例提供的由智能锁实现的临时密码生成方法,智能锁可采用成熟的非对称加密算法生成公钥和私钥,其中,私钥一直保存在智能锁内部而不会向任何第三方传送,包括云端服务器和用户终端,避免了私钥在传送过程中泄露,保证了私钥的安全性。智能锁只将公钥传送至被合法验证过的第二设备,如云端服务器或者终端设备,使得终端设备可以使用该公钥对用户设置的临时密码进行加密,形成密文。该密文只能由保存在智能锁中的私钥才能解密出临时密码。而任何其他方因为没有私钥,获取到的都是无法破解的无意义的密文。从而保障了临时密码的安全性。由于使用了成熟的非对称加密算法,不需要使用长度、求余验证,保证了加密算法的完整性,也就是保证了加密算法的安全性。另一方面,由于密文的长度与用户设置的临时密码无关,因此用户可以设置常用位数的临时密码,如设置六位或八位的临时密码均可,保证了用户在记忆临时密码时的方便性,以及不需要过长的时间输入临时密码,同时也不需要过长的时间解锁临时密码,可提高用户的使用体验。第三方面,由于临时密码是可以由用户自己输入设置,而不是通过加密算法随机生成,这样,用
户可以通过设置一些更易记忆的密码,或者通过设置一些使用临时密码的临时用户所熟悉的数字,增加临时用户快速记忆临时密码的可能性,以及增加临时用户快速输入临时密码的快捷性,达到更好的用户体验。而且,由于可以设置临时用户熟悉的数字为临时密码,智能锁用户在设置好临时密码后,可以不需要直接将临时密码发送给用户,而可以给临时用户描述一些该临时密码数字的特征,从而使得该临时用户自己推导出临时密码,即智能锁用户在发送临时密码给临时用户时,相当于给临时密码做了一次加密,这也增加了临时密码发送过程中的安全性。
66.智能锁在获取临时密码后,将临时密码保存在临时密码列表中。则智能锁可以执行临时密码对比认证流程,至少可以有两种实现方式:
67.方式一:步骤s161:通过智能锁上设置的输入模块接收用户的输入密码,判断所述输入密码的长度,如所述输入密码的长度符合临时密码长度,则将所述输入密码与智能锁保存的临时密码匹配,如匹配成功,则控制所述智能锁开锁;
68.如所述输入密码的长度符合常规密码长度,则将所述输入密码与智能锁保存的常规密码匹配,如匹配成功,则控制所述智能锁开锁;
69.如所述输入密码长度既不符合临时密码长度,也不符合常规密码长度,则保持智能锁关闭状态。
70.用户可以在智能锁上设置临时密码长度和常规密码长度,如设置常规密码长度为六位数,由于常规密码为用户需要反复使用的,可以设置的稍微短一些,从而方便记忆,也节省输入密码的时间。这个位数只有用户自己知道,也可以确保安全性。而临时密码因为是一次性使用,位数可以稍微设置的长一些,如八位数字。
71.通过设置临时密码和常规密码的位数不同,智能锁在接收到输入密码时,首先判断输入密码的位数,从而可以区分出是临时密码还是常规密码。根据临时密码和常规密码的不同,其对比验证的流程也不同,可以加快智能锁对比验证的时间,提高用户的体验。
72.在所述步骤s161之后,还包括步骤s162:当输入密码与智能锁保存的临时密码匹配不成功时,所述智能锁启动网络连接到云端服务器,并从云端服务器获取对应所述智能锁的新密文;
73.如能获取新密文,使用私钥对获取的新密文进行解密,获取新临时密码,并将所述输入密码与新临时密码匹配,如匹配成功,则控制所述智能锁开锁;
74.如不能获取新密文,或者输入密码与新临时密码匹配不成功,则保持智能锁关闭状态。
75.由于智能锁在大部分时间内均断开与云端服务器的网络连接,从而可以极大地减少功耗。但这也可能导致终端设备生成的带有临时密码的密文没有及时下载到智能锁中。因此智能锁在保存在智能锁中的临时密码不能与输入密码匹配时,需要及时连接网络,以便及时从云端服务器获取最新的针对该智能锁的密文,从而增加验证匹配的成功性。提高用户的使用体验。
76.方式二:s171:接收输入密码,同时触发智能锁启动网络连接到所述第二设备;并从所述第二设备获取对应所述智能锁的新密文;如能获取新密文,使用私钥对获取的新密文进行解密,获取新临时密码,将所述新临时密码加入所述智能锁的临时密码列表中;
77.s172:判断所述输入密码的长度,如所述输入密码的长度符合临时密码长度,则将
所述输入密码与智能锁保存的临时密码匹配,如匹配成功,则控制所述智能锁开锁;否则,保持所述智能锁关闭状态;
78.如所述输入密码的长度符合常规密码长度,则将所述输入密码与智能锁保存的常规密码匹配,如匹配成功,则控制所述智能锁开锁;
79.如所述输入密码长度既不符合临时密码长度,也不符合常规密码长度,则保持智能锁关闭状态。
80.智能锁在被触发输入操作时,如输入模块被启动、有用户试图转动门把手打开门禁时,即可启动网络连接云端服务器的流程,并在网络连接成功后及时查询云端服务器是否存在没有下载过的针对该智能锁的密文,如有,则下载所述密文,并在下载完成后及时通过私钥进行解密,获取临时密码并保存到临时密码列表中。即在输入模块接收用户输入的输入密码的同时,智能锁也同步连接云端服务器,并从云端服务器获取密文,对密文进行解密。这样,智能锁一方面可以获取到最新的临时密码,避免因为网络断开导致接收临时密码延迟而不能匹配的问题,同时在用户输入密码的同时就更新了临时密码,而减少密码比对匹配的时间,提高用户的使用体验。
81.为提高临时密码的安全性,还可以给临时密码设置时效信息,使得临时密码只能在有效时间内使用,在临时密码生成过程中,终端设备一方面获取用户输入的临时密码,另一方面获取时效信息,并通过公钥对临时密码和时效信息组合后的字段进行加密,生成密文。智能锁在实施步骤s15:使用私钥解密所述密文,可以同时获取临时密码和时效信息;
82.在输入密码与临时密码匹配成功之后,还包括步骤s18:根据所述智能锁时钟模块获取所述智能锁当前时间,判断所述当前时间是否满足时效信息,如果满足,则控制所述智能锁开锁,否则,保持所述智能锁关闭状态,并发出提示信息。
83.实施例2
84.本实施例提供一种云端服务器,其可以与实施例1中提供的智能锁网络连接,同时可以与终端设备网络连接。终端设备可以通过配网操作与智能锁进行绑定。本实施例提供的云端服务器可实现一种智能锁临时密码生成方法,如图3所示,包括以下步骤:
85.s21:接收智能锁生成的公钥,并保存在云端服务器;
86.s22:接收终端设备的公钥获取请求,并将公钥获取请求中对应智能锁的公钥发送至所述终端设备;其中,公钥获取请求带有对应智能锁的标识信息,如智能锁的网卡物理地址,或者智能锁的ip地址等。
87.s23:接收所述终端设备发送的密文,所述密文为使用公钥对临时密码加密后生成;
88.s24:当云端服务器与智能锁网络连接时,检查是否有所述智能锁对应的密文,如有,则将所述密文发送至所述智能锁,以供所述智能锁通过使用私钥对密文进行解密获取临时密码。
89.其中,终端设备首先需要建立与云端服务器的网络连接,在建立网络连接之前,云端服务器可以先实施对终端设备的安全验证,从而确保终端设备是合法终端,从而保证公钥只会发送到经合法验证的用户。所述合法验证步骤具体为:步骤s220:接收终端设备的连接请求,并对所述终端设备进行合法性验证,如通过,则建立与所述终端设备的网络连接,否则,拒绝所述终端设备的网络连接并发送提示信息。安全性验证具体可以包括验证终端
设备发送的用户名是否是在云端服务器注册的用户,用户名对应的密码是否准确等。
90.本实施例提供的云端服务器,可以作为智能锁和终端设备的交互中心,辅助智能锁生成的公钥可供终端设备获取,也可使终端设备通过公钥加密临时密码生成的密文可传送到智能锁中,供智能锁使用私钥解密获得临时密码。本实施例未详述的技术细节可参阅实施例1提供的智能锁的技术方案,以及实施例3提供的终端设备的技术方案。
91.实施例3
92.本实施例提供一种终端设备,在智能锁附近时,可以通过近场通讯的方式与智能锁直接连接,实现与智能锁的绑定与通信。在与智能锁处于近场通讯可连接范围外时,可以通过连接云端服务器的方式获取到智能锁的公钥,并通过将密文传送到云端服务器的方式将密文传送到智能锁。终端设备可以是手机、平板电脑等具有处理器、输出输入交互模块并可以安装智能锁应用app的设备。
93.终端设备可实现智能锁临时密码生成方法,如图4所示,具体包括如下步骤:
94.s31:启动临时密码生成命令;终端设备上安装有智能锁应用app,终端设备可运行该应用。app上设置有临时密码生成模块,用户通过点击该模块可触发终端设备上的临时密码生成命令。
95.s32:接收需要设置的临时密码,使用对应智能锁的公钥对所述临时密码加密,生成密文。在临时命令生成模式下,终端设备提供临时密码输入接口供用户通过输入模块输入用户想设置的临时密码。如用户知道临时用户的生日为2004年12月4日,则可以设置其生日如20041204为临时密码,则用户可在输入接口中输入20041204。终端设备在收到用户确认输入完毕的命令后,读取输入接口中用户输入的临时密码信息,并调用获取的智能锁公钥对该临时密码进行加密,生成无任何意义的,只能由智能锁中保持的私钥解密的密文。作为一种可选方式,终端设备的app上也可以设置随机字符串生成模块,或者在临时密码输入接口对话框中设置临时密码随机生成控件,该控件在接收到触发指令后,可随机生成一串符合临时密码长度要求的字符串,以作为临时密码使用。即用户在使用终端设备生成临时密码时,可以自己输入一串数字作为临时密码。当用户不想自己输入,或者觉得自己输入比较麻烦时,也可以直接触发临时密码随机生成控件,由终端设备自动随机生成一串字符串作为临时密码。随机生成字符串的技术属于现有成熟技术,在此不予赘述。
96.s33:终端设备将所述密文发送到对应的智能锁,供所述智能锁使用私钥对所述密文进行解密,获得所述临时密码。在终端设备与智能锁可近场通讯时,终端设备可以直接将密文通过近场通讯方式传送到智能锁。而当终端设备通过网络连接云端服务器时,可以将密文发送到云端服务器。其中密文携带有智能锁的标识信息,以供智能锁在网络连接到云端服务器时,可下载其对应的密文。并使用保持在智能锁本地的私钥对密文进行解密,从而获取终端设备设置的临时密码。
97.本实施例提供的终端设备以及其实现的智能锁临时密码生成方法中,临时密码由用户自己设置,而不是由终端设备通过加密算法随机生成。因此用户可以设置一些临时用户容易记忆的数字作为临时密码,方便临时用户记忆和快速输入。同时,用户在设置临时用户熟悉的数字后,需要将临时密码通知临时用户,以供临时用户使用该临时密码打开智能锁。则用户可以通过描述临时密码的特征的方式代替直接发送临时密码,如可以描述为:密码为你的生日、密码为你某个证件的后八位,则就算是该信息不小心被其他人获取到,也可
以确保临时密码具有一定的安全性。
98.终端设备在还没有获取到智能锁的公钥时,还需要首先通过云端服务器获取智能锁的公钥。可以在app上直接触发获取智能锁公钥的命令,以启动终端设备向云端服务器请求获取智能锁公钥,也可以在启动临时密码生成命令后,终端设备检查是否保存有智能锁的公钥,如果有保存,直接调用该公钥,如果没有保存,则同时启动智能锁公钥获取步骤,还包括步骤:
99.s301:建立与云端服务器的网络连接;
100.s302:向所述云端服务器发送智能锁公钥获取请求,所述智能锁公钥获取请求携带有对应智能锁的标识信息;
101.s303:接收所述云端服务器下发的对应智能锁的公钥。
102.在智能锁中设置有常规密码长度和临时密码长度限制时,在所述步骤32接收需要设置的临时密码后,还包括临时密码长度判断步骤:判断输入接口中输入的所述临时密码长度是否满足临时密码长度要求,如设置临时密码的长度为八位时,终端设备还会判断输入的临时密码是否满足八位,如满足,则使用公钥对临时密码加密;否则,发出临时密码长度不满足要求的提示信息,提醒用户输入符合要求位数的临时密码。
103.在设置临时密码时,可同时设置临时密码的时效性,以使临时密码没有在规定时间内使用即作废,提高智能锁的安全性。所述步骤s32具体为:接收需要设置的临时密码,判断接收的所述临时密码长度是否满足临时密码长度要求,在满足临时密码长度要求时,获取时效信息,使用公钥对所述临时密码和时效信息进行加密,生成密文。时效信息可以是用户输入的临时密码生效时间,如app中除提供临时密码输入接口外,还提供临时密码有效时间输入接口。用户可在临时密码有效时间输入接口输入临时密码生效的时间段,如用户在早上8点设置临时密码,预计两个小时之后临时用户会使用该临时密码,则可以在临时密码有效时间输入接口中输入10:00至11:00,这该临时密码的时效信息是当天的10点至11点。另一种实现方式中,可以设置临时密码生效的起始时间,同时设置临时密码有效持续时间,如设置起始时间为10点,持续有效时间1个小时,则终端设备自动将时效信息设置为10点到11点。终端设备如果没有检测到临时密码有效时间输入接口有有效的输入时间信息,则自动读取当前时间戳,并以持续有效时间结合获得时效信息为当前时间起持续1小时为临时密码有效时间。
104.实施例4
105.本实施例提供一种智能锁系统,包括智能锁、云端服务器和终端设备,其中,智能锁与终端设备之间通过绑定建立联系,智能锁、终端设备可通过网络连接云端服务器。本实施例提供的智能锁系统可实现智能锁临时密码生成方法,包括以下步骤:
106.s40:智能锁通过非对称加密算法生成包括公钥和私钥的密钥对;并将所述私钥保存在所述智能锁中;
107.s41:当所述智能锁连接到通过合法认证的云端服务器时,将所述公钥发送至所述云端服务器;
108.s42:云端服务器接收智能锁发送的公钥,并将所述公钥保存在云端服务器;
109.s43:云端服务器接收终端设备的连接请求,并对所述终端设备进行合法性验证;
110.s44:终端设备向所述云端服务器发送公钥获取请求,所述公钥获取请求携带有对
应智能锁的标识信息;所述云端服务器将对应智能锁的公钥发送至所述终端设备;
111.s45:终端设备启动临时密码生成命令,接收需要设置的临时密码,判断接收的所述临时密码长度是否满足临时密码长度要求,在满足临时密码长度要求时,获取时效信息,使用公钥对所述临时密码和时效信息进行加密,生成密文;
112.s46:将所述密文发送至所述云端服务器;
113.s47:当智能锁连接到云端服务器时,智能锁发送密文获取请求至所述云端服务器,所述云端服务器将所述智能锁对应的密文发送至所述智能锁;
114.s48:智能锁使用私钥对所述密文进行解密,获取临时密码和时效信息,并将所述临时密码和时效信息保存在智能锁的临时密码列表和时效信息列表中。
115.进一步地,还包括步骤s491:接收输入密码,判断所述输入密码的长度,如所述输入密码的长度符合临时密码长度,则将所述输入密码与智能锁保存的临时密码匹配,如匹配成功,判断所述智能锁当前时间是否满足时效信息要求,如果满足,则控制所述智能锁开锁;否则,保持所述智能锁关闭状态;
116.如所述输入密码的长度符合常规密码长度,则将所述输入密码与智能锁保存的常规密码匹配,如匹配成功,则控制所述智能锁开锁;
117.如所述输入密码长度既不符合临时密码长度,也不符合常规密码长度,则保持智能锁关闭状态。
118.s492:当输入密码与智能锁保存的临时密码匹配不成功时,所述智能锁启动网络连接到所述云端服务器,并从所述云端服务器获取对应所述智能锁的新密文;如能获取新密文,使用私钥对获取的新密文进行解密,获取新临时密码,并将所述输入密码与新临时密码匹配,如匹配成功,则控制所述智能锁开锁;如不能获取新密文,或者输入密码与新临时密码匹配不成功,则保持智能锁关闭状态;
119.作为可选的另一种实施方式,在所述步骤s48之后,还包括以下步骤:s501:接收输入密码,同时触发智能锁启动网络连接到所述第二设备;并从所述第二设备获取对应所述智能锁的新密文;如能获取新密文,使用私钥对获取的新密文进行解密,获取新临时密码,将所述新临时密码加入所述智能锁的临时密码列表中;
120.s1502:判断所述输入密码的长度,如所述输入密码的长度符合临时密码长度,则将所述输入密码与智能锁保存的临时密码匹配,如匹配成功,则控制所述智能锁开锁;否则,保持所述智能锁关闭状态;
121.如所述输入密码的长度符合常规密码长度,则将所述输入密码与智能锁保存的常规密码匹配,如匹配成功,则控制所述智能锁开锁;
122.如所述输入密码长度既不符合临时密码长度,也不符合常规密码长度,则保持智能锁关闭状态。
123.即上述实施例1、实施例2和实施例3提供的智能锁、云端服务器和终端设备共同构建了本实施例的智能锁系统。其中的技术细节适用于本实施例。在此不予赘述。
124.实施例5
125.本发明实施例提供一种电子设备,所述电子设备包括处理器和存储器,所述存储器存储可执行程序,所述处理器执行所述可执行程序时实现智能锁临时密码生成方法。
126.该电子设备可以是智能锁,当其为智能锁时,其可以实现实施例1中的智能锁临时
密码生成方法。
127.该电子设备可以是云端服务器,当其为云端服务器时,其可以实现实施例2中的智能锁临时密码生成方法。
128.该电子设备可以是终端设备,当其为终端设备时,其可以实现实施例3中的智能锁临时密码生成方法。
129.本实施例还提供一种存储介质,所述存储介质上存储有可执行程序,所述可执行程序执行时实现如实施例1至实施例4中的智能锁临时密码生成方法。
130.对本领域的技术人员来说,可根据以上描述的技术方案以及构思,做出其它各种相应的改变以及形变,而所有的这些改变以及形变都应该属于本发明权利要求的保护范围之内。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1