CN115862192B - 控制方法、控制系统、电子设备及存储介质 - Google Patents
控制方法、控制系统、电子设备及存储介质 Download PDFInfo
- Publication number
- CN115862192B CN115862192B CN202211386863.8A CN202211386863A CN115862192B CN 115862192 B CN115862192 B CN 115862192B CN 202211386863 A CN202211386863 A CN 202211386863A CN 115862192 B CN115862192 B CN 115862192B
- Authority
- CN
- China
- Prior art keywords
- door lock
- key
- intelligent door
- client
- data
- 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
- 238000000034 method Methods 0.000 title claims abstract description 61
- 238000013475 authorization Methods 0.000 claims abstract description 203
- 238000012795 verification Methods 0.000 claims description 251
- 238000004891 communication Methods 0.000 claims description 101
- 239000012634 fragment Substances 0.000 claims description 54
- 230000000875 corresponding effect Effects 0.000 claims description 20
- 230000001276 controlling effect Effects 0.000 claims description 12
- 230000002596 correlated effect Effects 0.000 claims description 5
- 230000004044 response Effects 0.000 description 12
- 238000004422 calculation algorithm Methods 0.000 description 9
- 230000001960 triggered effect Effects 0.000 description 6
- 238000011161 development Methods 0.000 description 4
- 230000002427 irreversible effect Effects 0.000 description 4
- 230000005540 biological transmission Effects 0.000 description 2
- 230000001427 coherent effect Effects 0.000 description 2
- 238000004590 computer program Methods 0.000 description 2
- 238000010586 diagram Methods 0.000 description 2
- 230000007246 mechanism Effects 0.000 description 2
- 230000008569 process Effects 0.000 description 2
- 230000002441 reversible effect Effects 0.000 description 2
- 230000009286 beneficial effect Effects 0.000 description 1
- 238000004364 calculation method Methods 0.000 description 1
- 238000012790 confirmation Methods 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 230000006870 function Effects 0.000 description 1
- 230000007774 longterm Effects 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 238000012360 testing method Methods 0.000 description 1
Abstract
本申请提供一种控制方法、控制系统、电子设备及存储介质,该控制方法包括:基于智能门锁的第一密钥,生成并显示图形码;其中,图形码用于提供给终端设备扫描,以使终端设备上的客户端获取第一密钥;从服务端获取第一加密数据;其中,第一加密数据由客户端利用第一密钥对绑定数据加密形成;绑定数据至少包括用于管控智能门锁的授权密钥;基于第一密钥对第一加密数据解密,以获取绑定数据;基于绑定数据,构建智能门锁和客户端的绑定关系,使客户端能够基于授权密钥管控智能门锁。该控制方法能够实现安全绑定智能门锁和客户端的目的。
Description
技术领域
本申请涉及智能门锁技术领域,特别涉及一种控制方法、控制系统、电子设备及计算机可读存储介质。
背景技术
智能手机等终端设备通常需要与智能门锁构建绑定关系之后,才能控制智能门锁执行开锁操作或其他操作。终端设备与智能门锁构建绑定关系过程中通常需要交换绑定操作所需的各种数据,如果明文传输这些数据,很容易造成数据泄露。为了保障数据安全,部分服务商选择在传输这些数据之前,要求终端设备和智能门锁直接建立通信链路,或者通过云服务端建立通信链路,基于通信链路协商或传输临时密钥。继而,通过临时密钥加密绑定操作所需的各种数据,以提高数据安全。
但是,暴露在通信链路中的临时密钥很容被拦截,特别是经由云服务端的通信链路,在云服务端被攻击的情况下,所传输的临时密钥很容易经由云服务端泄露,进而导致基于该临时密钥加密的各种数据泄露,威胁系统安全。
发明内容
有鉴于现有技术中存在的上述问题,本申请提供了一种控制方法、控制系统、电子设备及计算机可读存储介质,本申请实施例采用的技术方案如下:
一种控制方法,应用于智能门锁,包括:
基于所述智能门锁的第一密钥,生成并显示图形码;其中,所述图形码用于提供给终端设备扫描,以使所述终端设备上的客户端获取所述第一密钥;
从服务端获取第一加密数据;其中,所述第一加密数据由所述客户端利用所述第一密钥对绑定数据加密形成;所述绑定数据至少包括用于管控所述智能门锁的授权密钥;
基于所述第一密钥对所述第一加密数据解密,以获取所述绑定数据;
基于所述绑定数据,构建所述智能门锁和所述客户端的绑定关系,使所述客户端能够基于所述授权密钥管控所述智能门锁。
在一些实施例中,所述图形码中还包括输入所述智能门锁的第一通讯号码,以及与所述图形码唯一关联的第一验证码和任务编号;所述第一验证码和所述任务编号配置为能够被所述客户端发送至所述服务端,所述服务端在关联存储所述第一加密数据和所述任务编号的情况下,基于所述第一通讯号码将所述第一验证码发送至相应的终端设备;
所述从服务端获取第一加密数据,包括:
获取输入的第二验证码;
在基于所述第一验证码对所述第二验证码验证通过的情况下,基于所述任务编号访问所述服务端以获取所述第一加密数据。
在一些实施例中,所述第一密钥包括第一密钥片段和第二密钥片段;所述从服务端获取第一加密数据,包括:
从所述服务端获取所述第一加密数据和第一校验数据;所述第一加密数据由所述客户端利用所述第一密钥片段对所述绑定数据加密形成;所述第一校验数据由所述客户端利用所述第二密钥片段对所述绑定数据计算形成;
相应的,所述基于所述绑定数据,构建所述智能门锁和所述客户端的绑定关系,包括:
利用所述第一校验数据验证所述绑定数据的真伪;
在所述绑定数据验证通过的情况下,构建所述智能门锁和所述客户端的绑定关系。
在一些实施例中,所述绑定数据还包括所述智能门锁的第一身份信息、所述客户端的第二身份信息和所述客户端的客户端公钥;
所述基于所述绑定数据,构建所述智能门锁和所述客户端的绑定关系,包括:
关联存储所述第一身份信息、所述第二身份信息、所述客户端公钥和所述授权密钥,以在所述智能门锁本地形成所述智能门锁和所述客户端的绑定关系;
将所述第一身份信息和所述第二身份信息发送至所述服务端,以请求所述服务端构建所述智能门锁和所述客户端的绑定关系。
在一些实施例中,所述绑定数据还包括加密的授权密钥,所述加密的授权密钥为基于所述客户端公钥对所述授权密钥加密形成;
所述将所述第一身份信息和所述第二身份信息发送至所述服务端,包括:
将所述第一身份信息、所述第二身份信息和所述加密的授权密钥发送至所述服务端;其中,所述加密的授权密钥配置为由所述服务端保存并能够被所述客户端获取。
在一些实施例中,所述将所述第一身份信息、所述第二身份信息和所述加密的授权密钥发送至所述服务端,包括:
基于所述智能门锁的锁端密钥对所述第一身份信息、所述第二身份信息和所述加密的授权密钥加密,形成第二校验数据;
将所述第一身份信息、所述第二身份信息、所述加密的授权密钥和所述第二校验数据发送至所述服务端;其中,所述第二校验数据用于验证所述第一身份信息、所述第二身份信息和所述加密的授权密钥的真伪。
在一些实施例中,所述基于所述智能门锁的第一密钥,生成并显示图形码,包括:
获取所述智能门锁的第一身份信息,以及输入所述智能门锁的第一通讯号码;
生成所述第一密钥、第一验证码和任务编号;
基于所述第一通讯号码、所述第一身份信息、所述第一密钥、所述第一验证码和所述任务编号,生成并显示图形码。
在一些实施例中,还包括:
向所述服务端发送第一操作请求;所述第一操作请求用于请求所述客户端允许所述智能门锁执行目标操作,所述第一操作请求至少包括第三验证码;
接收所述服务端基于所述第一操作请求反馈的第二加密数据;其中,所述第二加密数据由所述客户端利用所述授权密钥对操作数据加密形成;
基于所述授权密钥解密所述第二加密数据,以获取所述操作数据;所述操作数据至少包括第四验证码和操作指令;
在基于所述第三验证码对所述第四验证码验证通过的情况下,基于所述操作指令执行所述目标操作或放弃执行所述目标操作。
一种控制方法,应用于终端设备上的客户端,包括:
通过所述终端设备扫描智能门锁显示的图形码,获取所述智能门锁的第一密钥;
获取用于与智能门锁构建绑定关系的绑定数据;所述绑定数据至少包括用于管控所述智能门锁的授权密钥;
基于所述第一密钥加密所述绑定数据,以生成第一加密数据;
将所述第一加密数据发送至服务端;其中,所述第一加密数据用于提供给所述智能门锁,使所述智能门锁能够基于所述第一密钥解密所述第一加密数据获取所述绑定数据,并构建所述智能门锁和所述客户端的绑定关系。
在一些实施例中,所述第一加密数据包括第一密钥片段和第二密钥片段;
所述基于所述第一密钥加密所述绑定数据,以生成第一加密数据,包括:
基于所述第一密钥片段加密所述绑定数据,以生成所述第一加密数据;
基于所述第二密钥片段加密所述绑定数据,以生成第一校验数据;其中,所述第一校验数据用于提供给所述智能门锁,使所述智能门锁能够基于所述第一校验数据验证所述绑定数据的真伪。
在一些实施例中,所述图形码中还包括输入到所述智能门锁中的第一通讯号码;所述获取用于与智能门锁构建绑定关系的绑定数据,包括:
在所述第一通讯号码与所述客户端绑定的第二通讯号码一致的情况下,获取所述绑定数据。
在一些实施例中,所述图形码中还包括输入到所述智能门锁中的第一通讯号码,以及所述智能门锁生成的第一验证码;所述将所述第一加密数据发送至服务端,包括:
将所述第一通讯号码、所述第一验证码和所述第一加密数据发送至所述服务端;
其中,所述第一通讯号码用于所述服务端基于所述第一通讯号码将所述第一验证码发送至相应的客户端;所述第一验证码用于输入到所述智能门锁,以触发所述智能门锁访问所述服务端获取所述第一加密数据。
在一些实施例中,所述获取用于与智能门锁构建绑定关系的绑定数据,包括:
从所述图形码中提取所述智能门锁的第一身份信息;
获取所述授权密钥、所述客户端的第二身份信息和所述客户端的客户端公钥;
基于所述客户端公钥对所述授权密钥加密以生成加密的授权密钥;其中,所述加密的授权密钥配置为由所述智能门锁反馈至所述服务端,通过所述服务端保存所述加密的授权密钥,以备所述客户端获取;
通过所述第一身份信息、所述第二身份信息、所述客户端公钥、所述授权密钥和所述加密的授权密钥形成所述绑定数据。
在一些实施例中,还包括:
获取所述服务端发送的第二操作请求,所述第二操作请求用于请求所述客户端允许所述智能门锁执行目标操作,所述第二操作请求至少包括所述智能门锁生成的第三验证码;
基于所述第二操作请求获取操作数据,所述操作数据至少包括所述第三验证码和操作指令,所述操作指令用于指示所述智能门锁执行所述目标操作或放弃执行所述目标操作;
基于所述授权密钥对所述操作数据加密,以生成第二加密数据;
将所述第二加密数据发送至服务端;所述第二加密数据用于提供给所述智能门锁,使所述智能门锁能够基于所述授权密钥解密所述第二加密数据获取所述操作数据,并在所述第三验证码验证通过的情况下,基于所述操作指令执行所述目标操作或放弃执行所述目标操作。
一种控制系统,包括智能门锁、服务端及终端设备上的客户端;
所述智能门锁配置为:基于所生成的第一密钥,生成并显示图形码;
所述客户端配置为:通过所述终端设备扫描智能门锁显示的图形码,获取所述智能门锁的第一密钥;获取用于与智能门锁构建绑定关系的绑定数据;所述绑定数据至少包括用于管控所述智能门锁的授权密钥;基于所述第一密钥加密所述绑定数据,以生成第一加密数据;将所述第一加密数据发送至服务端;
所述服务端配置为:保存所述第一加密数据;
所述智能门锁还配置为:从服务端获取第一加密数据;基于所述第一密钥对所述第一加密数据解密,以获取所述绑定数据;基于所述绑定数据,构建所述智能门锁和所述客户端的绑定关系,使所述客户端能够基于所述授权密钥管控所述智能门锁。
一种电子设备,至少包括存储器和处理器,所述存储器上存储有程序,所述处理器在执行所述存储器上的程序时实现如上任一实施例所述的方法。
一种计算机可读存储介质,所述计算机可读存储介质中存储有计算机可执行指令,在执行所述计算机可读存储介质中的所述计算机可执行指令时实现如上任一实施例所述的方法。
本申请实施例的控制方法,控制智能门锁基于第一密钥生成并显示图形码,终端设备通过扫描图形码能够使终端设备上的客户端获取第一密钥,避免第一密钥暴露在通讯链路和服务端;客户端利用第一密钥对绑定数据加密形成第一加密数据,虽然第一加密数据经由服务端传递至智能门锁,但由于只有客户端和智能门锁持有该第一密钥,即使非法截获第一加密数据,也无法从中解密出绑定数据,而智能门锁能够基于第一密钥解密出包含授权密钥在内的绑定数据,安全的构建智能门锁和客户端之间的绑定关系,有益于提高系统的安全性。
附图说明
图1为本申请第一种实施例的控制方法的流程图;
图2为本申请第二种实施例的控制方法的流程图;
图3a和图3b为本申请第三种实施例的控制方法的流程图;
图4a和图4b为本申请第四种实施例的控制方法的流程图;
图5为本申请第五种实施例的控制系统的框架图;
图6为本申请第六种实施例的电子设备的结构框图。
具体实施方式
下面结合附图和实施例对本申请作进一步的详细说明。可以理解的是,此处所描述的具体实施例仅仅用于解释相关发明,而非对该发明的限定。另外还需要说明的是,为了便于描述,附图中仅示出了与有关发明相关的部分。
需要说明的是,在不冲突的情况下,本申请中的实施例及实施例中的特征可以相互组合。下面将参考附图并结合实施例来详细说明本申请。
本申请第一种实施例提供了一种控制方法,应用于智能门锁。图1为本申请第一种实施例的控制方法的流程图,参见图1所示,本申请第一种实施例的控制方法具体可包括如下步骤。
S110,基于所述智能门锁的第一密钥,生成并显示图形码。其中,所述图形码用于提供给终端设备扫描,以使所述终端设备上客户端获取所述第一密钥。
可选的,所述智能门锁可获取用于指示智能门锁与客户端执行绑定操作的绑定指令,响应于该绑定指令,基于所述智能门锁的第一密钥,生成并显示图形码。
可选的,所述绑定指令可由所述智能门锁自身生成。例如,在需要绑定智能门锁和客户端时,用户可操作智能门锁的触控面板或操作按钮,调取用于执行绑定操作的绑定界面,使智能门锁自身生成绑定指令。
可选的,所述绑定指令也可由服务端或客户端发送至所述智能门锁。例如,在需要绑定智能门锁和客户端时,可操作客户端,选取用于执行绑定操作的选项,通过所述客户端直接向智能门锁发送绑定指令,或者通过服务端将绑定指令转发给所述智能门锁。
可选的,所述第一密钥可为未暴露于通讯链路中的密钥,以从源头保证第一密钥的安全性。可选的,所述第一密钥可为所述智能门锁专为本次绑定操作生成的临时密钥。例如,所述智能门锁可响应于绑定指令,生成所述第一密钥,并基于所述第一密钥生成图形码。
可选的,所述第一密钥也可为所述智能门锁长期持有的密钥。例如,该第一密钥可为所述智能门锁的锁端密钥,或者,该第一密钥也可为专用于执行绑定操作的绑定密钥。
可选的,所述第一密钥可为对称密钥,也可为非对称密钥。例如,所述第一密钥可为基于高级加密标准(AES)生成的对称密钥。在所述第一密钥为对称密钥时,可直接基于第一密钥自身生成图形码。在所述第一密钥为非对称密钥时,可基于第一密钥的公钥生成图形码。
可选的,所述图形码可为二维码、条形码或其他图形码。所述图形码可仅基于第一密钥生成,也可基于第一密钥及其他信息共同生成。也即,所述图形码中也仅包含第一密钥,也可包含第一密钥及其他信息。
所述图形码用于提供给终端设备扫描,以使所述终端设备上的客户端能够获取第一密钥。也即,用户需要绑定智能门锁和客户端时,可触发智能门锁生成图形码,通过客户端所在的终端设备扫描智能门锁显示的图形码,获取图形码中包含的第一密钥,以在第一密钥不暴露于通讯链路的情况下,将第一密钥传递至客户端。
示例性的,用户需要绑定智能门锁和客户端时,可触发智能门锁基于第一密钥生成二维码,继而用户可操作例如智能手机或平板电脑上客户端,通过客户端调取摄像头扫描二维码,解析二维码以获取第一密钥等信息。
应理解,在实际应用中,本申请实施例中的客户端可以被开发成一个独立的应用软件,也可以被开发为一个功能模块而被嵌入到其他应用软件中或者被其他的应用软件调用,还可以被开发成其他可能的产品形态,本申请对此不作限定。
S120,从服务端获取第一加密数据。其中,所述第一加密数据由所述客户端利用所述第一密钥对绑定数据加密形成;所述绑定数据至少包括用于管控所述智能门锁的授权密钥。
可选的,所述图形码还可包括用于标识操作内容的操作标识,客户端可基于所述操作标识确定该第一密钥用于执行绑定操作。继而,客户端获取包括授权密钥在内的绑定数据,基于第一密钥对绑定数据加密形成第一加密数据。之后,将第一加密数据传输至服务端。
例如,所述图形码中还可包括用于唯一标识本次绑定操作的任务编号,所述任务编号中可包含用于标识操作内容的操作标识。客户端可解析二维码获取任务编号,并基于所述任务编号中的操作标识确定智能门锁请求执行的操作内容。
可选的,所述智能门锁可响应于触发操作主动访问服务端的绑定数据接口,从服务端获取第一加密数据。例如,所述服务端接收到第一加密数据之后,可向客户端反馈提示信息,通过提示信息提示用户服务端已成功将第一加密数据缓存在缓存空间中。用户可触发智能门锁主动访问服务端的绑定数据接口,从缓存空间中获取第一加密数据。
可选的,所述智能门锁也可在生成图形码之后,定期访问服务端的绑定数据接口,以获取第一加密数据。
可选的,所述第一加密数据可由服务端主动发送至智能门锁。例如,所述图形码还可包括智能门锁的第一身份信息,如所述智能门锁的产品序列号(SN码)。客户端可将第一加密数据和第一身份信息上传至服务端,服务端可基于第一身份信息将第一加密数据发送至智能门锁。所述第一身份信息包括但不限于智能门锁的产品序列号(SN码)、厂商为该智能门锁配置的编码信息、用户为该智能门锁设置的名称或编号等等。
可选的,所述智能门锁可基于物联网传输协议从服务端获取第一加密数据。例如,所述智能门锁可基于消息队列遥测传输协议(MQTT)、受限应用协议(COAP)或松耦合服务调用协议(REST/HTTP)与服务端通信,以从服务端获取第一加密数据。
S130,基于所述第一密钥对所述第一加密数据解密,以获取所述绑定数据。
在获取到第一加密数据的情况下,智能门锁可基于自身持有的第一密钥对第一加密数据解密,以获取绑定数据。例如,在第一密钥为对称密钥的情况下,智能门锁可基于第一密钥自身对第一加密数据解密,在第一密钥为非对称密钥的情况下,智能门锁可基于第一密钥的私钥对第一加密数据解密。
S140,基于所述绑定数据,构建所述智能门锁和所述客户端的绑定关系,使所述客户端能够基于所述授权密钥管控所述智能门锁。
可选的,所述绑定数据还可包括能够唯一标识所述客户端的身份的第二身份信息,所述智能门锁可关联存储所述第二身份信息和所述授权密钥,来构建智能门锁和客户端的绑定关系。后续,客户端可基于授权密钥对操作指令加密,智能门锁基于授权密钥对加密的操作指令解密,并执行相应的操作。
可选的,所述智能门锁也可关联存储所述智能门锁的第一身份信息和所述客户端的第二身份信息,以构建所述智能门锁和所述客户端的绑定关系。例如,所述智能门锁可构建绑定表单,通过绑定表单保存第一身份信息、第二身份信息及其二者之间的关联关系。
本申请实施例的控制方法,控制智能门锁基于第一密钥生成并显示图形码,终端设备通过扫描图形码能够使终端设备上的客户端获取第一密钥,避免第一密钥暴露在通讯链路和服务端;客户端利用第一密钥对绑定数据加密形成第一加密数据,虽然第一加密数据经由服务端传递至智能门锁,但由于只有客户端和智能门锁持有该第一密钥,即使非法截获第一加密数据,也无法从中解密出绑定数据,而智能门锁能够基于第一密钥解密出包含授权密钥在内的绑定数据,安全的构建智能门锁和客户端之间的绑定关系,有益于提高系统的安全性。
终端设备上的客户端(例如用户的手机上的APP,以下也称管理手机APP)也可以通过蓝牙、SoftAP等方式与智能门锁建立绑定。通过蓝牙通信方案完成的智能门锁与管理手机APP,绑定的通常需要智能门锁具有蓝牙通信的能力,并且要求智能门锁与管理手机APP的开发者具备蓝牙通信技术协议的能力,这种方式不仅增加了智能门锁硬件的成本还加大了开发与测试的工作量,进而增大了产品的开发周期。通过softAp通信方式完成智能门锁与管理手机APP绑定的方式,通常需要智能门锁开启一个WiFi,手机的用户需要跳转到手机系统WiFi设置页面,从而增加了绑定时用户需要执行的步骤。连接上此WiFi,连上智能门锁的WiFi后要求智能门锁与管理手机APP具备TCP/IP通信技术协议的能力才能进行绑定。这种方式降低了用户体验,加大了开发与测试的工作量,同样会增大产品的开发周期。
与之相比,采用本申请实施例中的方式可以避免使用蓝牙、SoftAP等方式来实现绑定,即便智能门锁硬件不具有蓝牙通信能力也没有影响,并且不需要开发者具有蓝牙通信、TCP/IP通信协议的开发能力。因此,本申请实施例中的方式能够缩短智能门锁和客户端的开发周期,避免增加智能门锁的硬件成本,对用户也比较友好。
在一些实施例中,步骤S110,基于所述智能门锁的第一密钥,生成并显示图形码,可包括如下步骤。
S111,基于所述第一密钥、输入所述智能门锁的第一通讯号码,以及与所述图形码唯一关联的第一验证码和任务编号,生成并显示所述图形码。
相应的,步骤S120,从服务端获取第一加密数据,可包括如下步骤。
S121,获取输入的第二验证码。
S122,在基于所述第一验证码对所述第二验证码验证通过的情况下,基于所述任务编号访问所述服务端以获取所述第一加密数据。
其中,所述任务编号可用于标识本次绑定操作;所述第一验证码和所述任务编号配置为能够被所述客户端发送至所述服务端,所述服务端在关联存储所述第一加密数据和所述任务编号的情况下,基于所述第一通讯号码将所述第一验证码发送至相应的终端设备。
可选的,在用户需要绑定智能门锁和客户端时,可操作智能门锁显示绑定界面,通过绑定界面向智能门锁输入第一通讯号码,并选取生成图形码选项。智能门锁可响应于绑定指令生成第一密钥、第一验证码、任务编号,基于第一通讯号码、第一密钥、第一验证码和任务编号生成图形码。可选的,所述第一验证码和所述任务编号可由智能门锁随机生成。所述第一密钥可由智能门锁基于特定的密钥算法生成。
所述客户端基于第一密钥对绑定数据加密生成第一加密数据的情况下,可将第一加密数据、第一通讯号码、第一验证码和任务编号发送至服务端。所述服务端可关联存储第一加密数据和所述任务编号。例如,所述服务端可将第一加密数据和任务编号关联存储在缓存空间中。继而,所述服务端可基于第一通讯号码将第一验证数据发送至相应的终端设备。可选的,所述第一通讯号码可为例如手机号码,所述服务端可利用短信息将第一验证码发送至相应的终端设备。
可选的,扫描图形码的终端设备与所述第一通讯号码所标识的终端设备可为同一终端设备。例如,用户可将自己的手机号输入到智能门锁,并通过相应的手机扫描图形码。如此,服务端关联存储第一加密数据和任务编号的情况下,可向该手机发送短信验证码。
可选的,扫描图形码的终端设备与所述第一通讯号码所标识的终端设备也可为不同的终端设备。例如,用户可将自己的手机号码输入到智能门锁,并通过平板电脑扫描图形码。服务端关联存储第一加密数据和任务编号的情况下,并不会向该平板电脑发送短信验证码,而是向该第一通讯号码对应的手机发送短信验证码。
可选的,第一通信号码所对应的终端设备接收到第一验证码的情况下,用户可向智能门锁输入第二验证码。实际上,在用户操作正确的情况下,第二验证码应该与第一验证码相同。智能门锁接收到第二验证码,确定智能门锁本地保存的第一验证码与第二验证码是否相同。如果相同,则基于本地保存的任务编号访问服务端的缓存空间,获取第一加密数据,如果不同,则可提示用户验证失败。
通过第一验证码的验证机制,既能够使用户实时知晓第一加密数据和任务编号已经关联存储完毕,通过向智能门锁准确输入第二验证码,能够及时触发智能门锁获取第一加密数据,以保证整个绑定操作高效且连贯的执行。
在一些实施例中,步骤S120,从服务端获取第一加密数据,可包括如下步骤。
从所述服务端获取所述第一加密数据和第一校验数据。其中,所述第一密钥包括第一密钥片段和第二密钥片段;所述第一加密数据由所述客户端利用所述第一密钥片段对所述绑定数据加密形成;所述第一校验数据由所述客户端利用所述第二密钥片段对所述绑定数据计算形成。
相应的,步骤S140,基于所述绑定数据,构建所述智能门锁和所述客户端的绑定关系,可包括如下步骤。
S141,利用所述第一校验数据验证所述绑定数据的真伪。
S142,在所述绑定数据验证通过的情况下,构建所述智能门锁和所述客户端的绑定关系。
分别利用第一密钥片段和第二密钥片段对绑定数据加密,生成第一加密数据和第一校验数据,使得智能门锁能够利用第一校验数据校验绑定数据的真伪,以确保绑定数据是否真实有效,有益于进一步提高绑定操作的安全性。
可选的,所述第一密钥片段和所述第二密钥片段可具有相同的字符位数,也可具有不同的字符位置。示例性的,在所述第一密钥具有2N位字符的情况下,所述第一密钥片段和所述第二密钥片段均可具有N位字符。其中,N为大于等于1的自然数。
例如,在所述第一密钥为64位字符串时,可通过该64位字符串的前32位字符串形成第一密钥片段,并通过该64位字符串的后32位字符串形成第二密钥片段。客户端获取到该第一密钥,利用前32位字符串对绑定数据加密形成第一加密数据,利用后32位字符串对绑定数据加密形成第一验证数据。继而,将第一加密数据、第一验证数据共同上传至服务端。
应理解,前述第一密钥除了包含第一密钥片段和第二密钥片段之外还可以包括其他字符串。
可选的,所述客户端可利用可逆的加密算法基于该第一密钥片段对绑定数据加密,以形成第一加密数据,可利用不可逆的加密算法基于该第二密钥片段对绑定数据加密,形成第一校验数据。
可选的,智能门锁从服务端获取到第一加密数据和第一校验数据,可基于第一密钥对第一加密数据解密,获取绑定数据。利用第二密钥片段对绑定数据加密生成另一校验数据,判断该第一校验数据和该另一校验数据是否相同。如果相同,则确定绑定数据真实有效,确定绑定数据验证通过,继而基于所述绑定数据构建智能门锁和客户端的绑定关系。如果不同,则可生成提示信息,提示用户验证失败。
在一些实施例中,所述绑定数据还包括所述智能门锁的第一身份信息、所述客户端的第二身份信息和所述客户端的客户端公钥。
步骤S140,基于所述绑定数据,构建所述智能门锁和所述客户端的绑定关系,可包括如下步骤。
S143,关联存储所述第一身份信息、所述第二身份信息、所述客户端公钥和所述授权密钥,以在所述智能门锁本地形成所述智能门锁和所述客户端的绑定关系。
S144,将所述第一身份信息和所述第二身份信息发送至所述服务端,以请求所述服务端构建所述智能门锁和所述客户端的绑定关系。
可选的,所述智能门锁可基于智能门锁的第一身份信息和第一密钥生成图形码,以使终端设备扫描该图形码能够获取到第一身份信息和第一密钥。客户端还可获取自身的第二身份信息、客户端公钥和授权密钥,基于第一密钥加密第一身份信息、第二身份信息、客户端公钥和授权密钥,以生成第一加密数据。智能门锁解密第一加密数据,可获取第一身份信息、第二身份信息、客户端公钥和授权密钥,可关联存储第一身份信息、第二身份信息、客户端公钥和授权密钥,以在智能门锁本地形成智能门锁和客户端的绑定关系。智能门锁还将第一身份信息和第二身份信息发送至服务端,请求服务端构建智能门锁和客户端的绑定关系。如此,可便利于服务端确定智能门锁和客户端的绑定关系,智能门锁可从服务端调取与之绑定的客户端,客户端也可从服务端调取预置绑定的智能门锁。例如,在执行开锁操作时,智能门锁可从服务端调取与之绑定的全部客户端,供用户选取向哪一个客户端发送开锁请求。
所述第二身份信息用于唯一标识所述客户端。可选的,第二身份信息包括但不限于客户端的用户名称、用户编号(UID)、关联的手机号码等等。示例性的,用户向客户端上的客户端输入用户名称、用户密钥及关联的手机号等信息,来完成新用户注册。服务端可向客户端反馈用户编号(UID)。客户端可调取密钥管理工具(SDK),通过SDK生成客户端公钥和客户端私钥,客户端私钥可由SDK保存到安全空间中,客户端公钥可提供给客户端。客户端可将UID和客户端公钥发送至服务端,请求服务端关联存储UID和客户端公钥,以能够与服务端进行加密通信。客户端调用终端设备的摄像头扫描二维码,可获取例如智能门锁的SN码和第一密钥。客户端还可获取UID、客户端公钥和授权密钥,基于第一密钥对智能门锁的SN码、UID、客户端公钥和授权密钥加密,以形成第一加密数据。智能门锁可关联存储智能门锁的SN码、UID、客户端公钥和授权密钥,并将智能门锁的SN码和UID发送至服务端,以请求服务端构建智能门锁和客户端的绑定关系。
在一些实施例中,所述绑定数据还包括加密的授权密钥,所述加密的授权密钥为基于所述客户端公钥对所述授权密钥加密形成。
步骤S144,将所述第一身份信息和所述第二身份信息发送至所述服务端,可包括如下步骤。
将所述第一身份信息、所述第二身份信息和所述加密的授权密钥发送至所述服务端;其中,所述加密的授权密钥配置为由所述服务端保存并能够被所述客户端获取。
可选的,所述客户端获取授权密钥,可利用客户端公钥对授权密钥加密形成加密的授权密钥,基于第一密钥片段加密智能门锁的SN码、UID、客户端公钥、授权密钥和加密的授权密钥,形成第一加密数据。智能门锁获取第一加密数据,利用第一密钥片段解密第一加密数据,以获取智能门锁的SN码、UID、客户端公钥、授权密钥和加密的授权密钥。继而,将智能门锁的SN码、UID和加密的授权密钥发送至服务端。服务端基于智能门锁的SN码和UID构建智能门锁和客户端之间的绑定关系,服务端还可关联存储UID和加密的授权密钥。如此,客户端本地保存的授权密钥被删除或损坏的情况下,客户端可将加密的授权密钥恢复到本地,可通过SDK利用所持有的客户端私钥对加密的授权密钥解密,以将授权密钥恢复到本地。此外,在用户更换终端设备时,也可利用新的终端设备的SDK将授权密钥恢复到新的终端设备上。
上述的SDK示例性地可以采用DOE(Data Owner Ensure)SDK。DOE SDK作为一种密钥管理工具,可以运行在手机端等终端设备上,主要用于用户密钥管理。DOE SDK提供的接口示例性地可以包括:生成非对称密钥接口、加密接口、解密接口、签名接口等。
在实际应用中,当前述客户端被开发成一个独立的应用软件时,SDK可以被集成在客户端中,也可以独立于客户端外而能够被客户端调用;当客户端被开发为一个功能模块时,SDK可以被集成在其他应用软件中,也可以独立于其他应用软件外而能够被其他应用软件直接或者间接调用。
在一些实施例中,所述将所述第一身份信息、所述第二身份信息和所述加密的授权密钥发送至所述服务端,可包括如下步骤。
基于所述智能门锁的锁端密钥对所述第一身份信息、所述第二身份信息和所述加密的授权密钥加密,形成第二校验数据。
将所述第一身份信息、所述第二身份信息、所述加密的授权密钥和所述第二校验数据发送至所述服务端;其中,所述第二校验数据用于验证所述第一身份信息、所述第二身份信息和所述加密的授权密钥的真伪。
可选的,厂商可在智能门锁中预置锁端密钥,或者在智能门锁初始化过程中可自行生成锁端密钥。该锁端密钥可为对称密钥,也可为非对称密钥。以该锁端密钥为非对称密钥为例,智能门锁可预先将智能门锁的SN码和锁端公钥发送至服务端,请求服务端关联存储智能门锁的SN码和锁端公钥。在执行绑定操作过程中,智能门锁可利用锁端公钥基于不可逆加密算法对智能门锁的SN码、UID和加密的授权密钥加密,以生成第二校验数据。智能门锁可将智能门锁的SN码、UID、加密的授权密钥和第二校验数据一同发送至服务端,服务端可基于智能门锁的SN码调取锁端公钥,利用锁端公钥基于该不可逆加密算法对智能门锁的SN码、UID和加密的授权密钥加密生成又一校验数据。继而判断该又一校验数据和该第二校验数据是否相同,如果相同,则确定智能门锁的SN码、UID和加密的授权密钥真实有效,如果不同,则可向智能门锁或客户端发送提示信息,以提示验证失败。
可选的,第一身份信息、第二身份信息、所述加密的授权密钥和第二校验数据可以明文传输至服务端,也可加密传输至服务端。例如,可利用锁端密钥、终端密钥或服务端密钥对上述数据进行加密,之后将密文传输至服务端,以提高数据传输过程中的安全性,避免数据泄露。
在一些实施例中,所述方法还可包括如下步骤。
S150,向所述服务端发送第一操作请求。所述第一操作请求用于请求所述客户端允许所述智能门锁执行目标操作,所述第一操作请求至少包括第三验证码。
可选的,所述第三验证码(rand)可为智能门锁随机生成的字符串,所述目标操作包括但不限于开锁操作、对讲操作或视频操作等等。例如,用户在需要开锁时,可选取智能门锁的开锁选项,以生成开锁指令。智能门锁可响应于开锁指令随机生成八个字节的验证码,基于该八个字节的验证码向服务端发送第一操作请求。
可选的,所述第一操作请求还可包括所述智能门锁的第一身份信息。例如,智能门锁可基于智能门锁的SN码和第三验证码,向服务端发送第一操作请求。服务端获取第一操作请求,可基于智能门锁的SN码确定与所述智能门锁具有绑定关系的客户端。如服务端可获取该智能门锁的绑定列表,该绑定列表中可记载有与所述智能门锁具有绑定关系的客户端的第二身份信息。
可选的,服务端可基于智能门锁的第一身份信息、客户端的第二身份信息和第三验证码,向与所述智能门锁具有绑定关系的全部客户端发送第二操作请求。用户触发目标操作时,也可指定客户端,所述第一操作请求中可携带所指定的客户端的第二身份信息。服务端可基于第一操作请求携带的第二身份信息向所指定的客户端发送第二操作请求。
可选的,服务端接收第一操作请求,还可生成用于标识本次目标操作的任务编号(TID),服务端可将任务编号反馈给智能门锁,并基于任务编号、第一身份信息、第二身份信息和第三验证码向客户端发送第二操作请求。
S160,接收所述服务端基于所述第一操作请求反馈的第二加密数据。其中,所述第二加密数据由所述客户端利用所述授权密钥对操作数据加密形成。
可选的,客户端获取到第二操作请求,可显示提示界面,提示用户智能门锁请求允许执行目标操作,请求用户选择允许智能门锁执行目标操作或不允许智能门锁执行目标操作。客户端可响应于用户的选取操作生成操作指令(Operation),该操作指令用于指示智能门锁执行目标操作,或指示指令门锁放弃执行目标操作。例如,所述操作指令可为“0”或“1”的标识符,在该操作指令为“0”时用于指示智能门锁执行开锁操作,在该操作指令为“1”时用于指示智能门锁放弃执行开锁操作。
可选的,客户端可利用授权密钥对该操作指令和第四验证码加密形成第二加密数据。实际上,在第一操作请求和第二操作请求正确传输的情况下,该第四验证码与第三验证码相同。可选的,所述授权密钥可由客户端长期持有,客户端获取到操作指令的情况下,可调取本地保存的授权密钥对操作指令和第四验证码加密。
可选的,该授权密钥也可由服务器保存,客户端配置为每次需要使用时从服务端获取,使用完毕立即删除,以提高授权密钥的安全性。例如,客户端接收到第二操作请求的情况下,可访问服务端获取加密的授权密钥。客户端可调用SDK,通过SDK基于客户端私钥解密该加密的授权密钥,以恢复授权密钥。继而,利用授权密钥对操作指令和第四验证码加密形成第二加密数据。
可选的,为了避免第二加密数据中的信息被篡改,客户端还可生成用于校验第二加密数据中信息真伪的第三校验数据。例如,客户端可利用授权密钥对智能门锁的SN码、UID、第四验证码及操作指令加密,形成第二加密数据。客户端还可利用客户端公钥对UID、操作指令及第二加密数据加密形成第三校验数据。之后,将UID、操作指令、第二加密数据及第三校验数据上传至服务端,使得服务端能够基于第三校验数据校验第二加密数据、操作指令及UID的真伪。
可选的,所述第二加密数据可由服务端主动发送至智能门锁,也可由智能门锁主动访问服务端来获取。例如,服务端可在基于第三校验数据验证第二加密数据、操作指令及UID真实有效的情况下,将第二加密数据发送给智能门锁。还例如,智能门锁可在发送第一操作请求之后,轮询服务端的特定接口,以在客户端将第二加密数据上传至服务端的情况下,主动访问服务端获取第二加密数据。
S170,基于所述授权密钥解密所述第二加密数据,以获取所述操作数据;所述操作数据至少包括第四验证码和操作指令。
可选的,所述服务端可将UID、Operation、第二加密数据和第三校验数据反馈给智能门锁。智能门锁可基于第三校验数据校验UID、Operation和第二加密数据的真伪,如果确定UID、Operation和第二加密数据真实有效,可利用授权密钥解密第二加密数据,获取智能门锁的SN码、UID、Operation及第四验证码。
S180,在基于所述第三验证码对所述第四验证码验证通过的情况下,基于所述操作指令执行所述目标操作或放弃执行所述目标操作。
可选的,所述智能门锁可校验本地保存的第三验证码和从第二加密数据中解密获取的第四验证码是否相同,如果相同,则基于操作指令执行目标操作,或者,在操作指令用于指示智能门锁放弃执行目标操作的情况下,放弃执行所述目标操作。例如,在Operation为“0”的情况下,智能门锁可执行开锁操作。如果两个验证码不同,可提示用户验证失败。
可选的,所述智能门锁还可校验本地保存的绑定关系中是否包含该UID,在本地保存的绑定关系中包含该UID,且第三验证码和第四验证码相同的情况下,基于操作指令执行目标操作或放弃执行所述目标操作。
可选的,所述智能门锁在执行所述目标操作或放弃执行所述目标操作之后,还可向服务端反馈操作结果(result)。服务端还可将该操作结果反馈至客户端,以使用户知晓目标操作执行成功或执行失败。
服务端虽然保存有加密的授权密钥,但是由于服务端不持有客户端私钥,无法解密获取授权密钥的明文,只有智能门锁和客户端持有授权密钥的明文,因此,利用授权密钥对第四验证码和操作指令加密形成的第二加密数据不容易被破解和伪造,进而使得智能门锁具有较高安全性。
本申请第二种实施例提供了一种控制方法,应用于终端设备上的客户端,所述终端设备包括但不限于智能手机、平板电脑、笔记本电脑及智能汽车等等,此处并不对终端设备的类型进行限定。图2为本申请第二种实施例的控制方法的流程图,参见图2所示,本申请第二种实施例的控制方法具体可包括如下步骤。
S210,通过终端设备扫描智能门锁显示的图形码,获取所述智能门锁的第一密钥。
可选的,所述图形码可为二维码或条形码。所述图形码可仅基于第一密钥生成,也可基于第一密钥及其他信息共同生成。也即,所述图形码中也仅包含第一密钥,也可包含第一密钥及其他信息。
可选的,用户需要绑定智能门锁和客户端时,可触发智能门锁生成图形码,通过终端设备扫描智能门锁显示的图形码,获取图形码中包含的第一密钥,以在第一密钥不暴露于通讯链路的情况下,将第一密钥传递至客户端。
示例性的,用户需要绑定智能门锁和客户端时,可触发智能门锁基于第一密钥生成二维码,继而用户可操作例如智能手机或平板电脑等终端设备上的客户端,通过客户端调用摄像头扫描二维码,解析二维码以获取第一密钥等信息。
S220,获取用于与智能门锁构建绑定关系的绑定数据;所述绑定数据至少包括用于管控所述智能门锁的授权密钥。
可选的,所述图形码还可包括用于标识操作内容的操作标识,客户端可基于所述操作标识确定该第一密钥用于执行绑定操作。继而,客户端获取包括授权密钥在内的绑定数据。例如,所述图形码中还可包括用于唯一标识本次绑定操作的任务编号,所述任务编号中可包含用于标识操作内容的操作标识。客户端可解析二维码获取任务编号,基于所述操作标识确定所述智能门锁请求执行绑定曹组,获取绑定数据。
可选的,所述客户端可响应于获取第一密钥,生成授权密钥。例如,所述客户端可基于高级加密标准(AES)生成32个字节的授权密钥。
S230,基于所述第一密钥加密所述绑定数据,以生成第一加密数据。
在获取到所述绑定数据的情况下,客户端可利用第一密钥加密绑定数据,以生成第一加密数据。
S240,将所述第一加密数据发送至服务端。
其中,所述第一加密数据用于提供给所述智能门锁,使所述智能门锁能够基于所述第一密钥解密所述第一加密数据获取所述绑定数据,并构建所述智能门锁和所述客户端的绑定关系。
可选的,所述客户端可调用服务端的绑定数据接口,通过该接口将第一加密数据上传至服务端的缓存空间中。可选的,所述客户端还可从所述服务端接收提示信息,所述提示信息用于提示所述服务端已经成功将所述第一加密数据缓存在缓存空间中。用户可触发智能门锁主动访问服务端的绑定数据接口,从缓存空间中获取第一加密数据。
可选的,所述智能门锁在生成图形码之后,也可定期访问服务端的绑定数据接口,以获取第一加密数据。
可选的,所述第一加密数据可由服务端主动发送至智能门锁。例如,所述图形码还可包括能够唯一标识智能门锁的第一身份信息。客户端可将第一加密数据和第一身份信息上传至服务端,服务端可基于第一身份信息将第一加密数据发送至智能门锁。所述第一身份信息包括但不限于智能门锁的产品序列号(SN码)、厂商为该智能门锁配置的编码信息、用户为该智能门锁设置的名称或编号等等。
可选的,在获取到第一加密数据的情况下,智能门锁可基于自身持有的第一密钥对第一加密数据解密,以获取绑定数据。例如,在第一密钥为对称密钥的情况下,智能门锁可基于第一密钥自身对第一加密数据解密,在第一密钥为非对称密钥的情况下,智能门锁可基于第一密钥的私钥对第一加密数据解密。
可选的,所述绑定数据还可包括能够唯一标识所述客户端的第二身份信息,所述智能门锁可关联存储所述第二身份信息和所述授权密钥,来构建智能门锁和客户端的绑定关系。后续,客户端可基于授权密钥对操作指令加密,智能门锁基于授权密钥对加密的操作指令解密,并执行相应的操作。
可选的,所述智能门锁也可关联存储所述智能门锁的第一身份信息和所述客户端的第二身份信息,以构建所述智能门锁和所述客户端的绑定关系。例如,所述智能门锁可构建表单,通过表单保存第一身份信息、第二身份信心及其二者之间的关联关系。
本申请实施例的控制方法,控制智能门锁基于第一密钥生成并显示图形码,终端设备扫描图形码使终端设备上的客户端能够获取第一密钥,避免第一密钥暴露在通讯链路和服务端;客户端利用第一密钥对绑定数据加密形成第一加密数据,虽然第一加密数据经由服务端传递至智能门锁,但由于只有客户端和智能门锁持有该第一密钥,即使非法截获第一加密数据,也无法从中解密出绑定数据,而智能门锁能够基于第一密钥解密出包含授权密钥在内的绑定数据,安全的构建智能门锁和客户端之间的绑定关系,有益于提高系统的安全性。
在一些实施例中,步骤S220,获取用于与智能门锁构建绑定关系的绑定数据,可包括如下步骤。
S221,从所述图形码中提取所述智能门锁的第一身份信息。
S222,获取所述授权密钥、所述客户端的第二身份信息和所述客户端的客户端公钥。
S223,基于所述客户端公钥对所述授权密钥加密以生成加密的授权密钥;其中,所述加密的授权密钥配置为由所述智能门锁反馈至所述服务端,通过所述服务端保存所述加密的授权密钥,以备所述客户端获取。
S224,通过所述第一身份信息、所述第二身份信息、所述客户端公钥、所述授权密钥和所述加密的授权密钥形成所述绑定数据。
可选的,所述智能门锁可基于智能门锁的第一身份信息和第一密钥生成图形码,以使终端设备扫描该图形码能够获取到第一身份信息和第一密钥。所述第一身份信息包括但不限于智能门锁的产品序列号(SN码)、厂商为该智能门锁配置的编码信息、用户为该智能门锁设置的名称或编号等等。
可选的,第二身份信息包括但不限于客户端的用户名称、用户编号(UID)、关联的手机号码等等。示例性的,用户向客户端输入用户名称、用户密钥及关联的手机号等信息,来完成新用户注册。服务端可向客户端反馈用户编号(UID)。客户端可调用密钥管理工具(SDK),通过SDK生成客户端公钥和客户端私钥,客户端私钥可由SDK保存到安全空间中,客户端公钥可提供给客户端。客户端可将UID和客户端公钥发送至服务端,请求服务端关联存储UID和客户端公钥,以能够与服务端进行加密通信。客户端调用摄像头扫描二维码,可获取例如智能门锁的SN码和第一密钥。
可选的,所述客户端获取授权密钥,可利用客户端公钥对授权密钥加密形成加密的授权密钥,基于第一密钥片段加密智能门锁的SN码、UID、客户端公钥、授权密钥和加密的授权密钥,形成第一加密数据。智能门锁获取第一加密数据,利用第一密钥片段解密第一加密数据,以获取智能门锁的SN码、UID、客户端公钥、授权密钥和加密的授权密钥。继而,将智能门锁的SN码、UID和加密的授权密钥发送至服务端。服务端基于智能门锁的SN码和UID构建智能门锁和客户端之间的绑定关系,服务端还可关联存储UID和加密的授权密钥。如此,客户端本地保存的授权密钥被删除或损坏的情况下,客户端可将加密的授权密钥恢复到本地,通过SDK利用所持有的客户端私钥对加密的授权密钥解密,以将授权密钥恢复到本地。此外,在用户更换终端设备时,也可利用新的终端设备的SDK将授权密钥恢复到新的终端设备上。
在一些实施例中,所述第一加密数据包括第一密钥片段和第二密钥片段。
步骤S230,基于所述第一密钥加密所述绑定数据,以生成第一加密数据,可包括如下步骤。
S231,基于所述第一密钥片段加密所述绑定数据,以生成所述第一加密数据。
S232,基于所述第二密钥片段加密所述绑定数据,以生成第一校验数据;其中,所述第一校验数据用于提供给所述智能门锁,使所述智能门锁能够基于所述第一校验数据验证所述绑定数据的真伪。
分别利用第一密钥片段和第二密钥片段对绑定数据加密,生成第一加密数据和第一校验数据,使得智能门锁能够利用第一校验数据校验绑定数据的真伪,能够确保绑定数据真实有效,有益于进一步提高绑定操作的安全性。
可选的,所述第一密钥片段和所述第二密钥片段可具有相同的字符位数,也可具有不同的字符位置。示例性的,在所述第一密钥具有2N位字符的情况下,所述第一密钥片段和所述第二密钥片段均可具有N位字符。其中,N为大于等于1的自然数。
例如,在所述第一密钥为64位字符串时,可通过该64位字符串的前32位字符串形成第一密钥片段,并通过该64位字符串的后32位字符串形成第二密钥片段。客户端获取到该第一密钥,利用前32位字符串对绑定数据加密形成第一加密数据,利用后32位字符串对绑定数据加密形成第一验证数据。继而,将第一加密数据、第一验证数据共同上传至服务端。
可选的,所述客户端可利用可逆的加密算法基于该第一密钥片段对绑定数据加密,以形成第一加密数据,可利用不可逆的加密算法基于该第二密钥片段对绑定数据加密,形成第一校验数据。
在一些实施例中,所述图形码中还包括输入到所述智能门锁中的第一通讯号码,以及所述智能门锁生成的第一验证码。
步骤S240,将所述第一加密数据发送至服务端,具体可包括如下步骤。
将所述第一通讯号码、所述第一验证码和所述第一加密数据发送至所述服务端;其中,所述第一通讯号码用于所述服务端基于所述第一通讯号码将所述第一验证码发送至相应的终端设备;所述第一验证码用于输入到所述智能门锁,以触发所述智能门锁访问所述服务端获取所述第一加密数据。
可选的,智能门锁可响应于绑定指令生成第一密钥、第一验证码、任务编号,基于第一通讯号码、第一密钥、第一验证码和任务编号生成图形码。所述第一验证码和所述任务编号可由智能门锁随机生成。所述第一密钥可由智能门锁基于特定的密钥算法生成。
所述客户端基于第一密钥对绑定数据加密生成第一加密数据的情况下,可将第一加密数据、第一通讯号码、第一验证码和任务编号发送至服务端。所述服务端可关联存储第一加密数据和所述任务编号。例如,所述服务端可将第一加密数据和任务编号关联存储在缓存空间中。继而,所述服务端可基于第一通讯号码将第一验证数据发送至相应的终端设备。可选的,所述第一通讯号码可为例如手机号码,所述服务端可利用短信息将第一验证码发送至相应的手机。
可选的,扫描图形码的终端设备与所述第一通讯号码所标识的终端设备可为同一终端设备。例如,用户可将自己的手机号输入到智能门锁,并通过相应的手机扫描图形码。如此,服务端关联存储第一加密数据和任务编号的情况下,可向该手机发送短信验证码。
可选的,扫描图形码的终端设备与所述第一通讯号码所标识的终端设备也可为不同的终端设备。例如,用户可将自己的手机号码输入到智能门锁,并通过平板电脑。服务端关联存储第一加密数据和任务编号的情况下,并不会向该平板电脑发送短信验证码,而是向该第一通讯号码对应的收集发送短信验证码。
可选的,第一通信号码所标识的终端设备接收到第一验证码的情况下,用户可向智能门锁输入第二验证码。实际上,在用户操作正确的情况下,第二验证码应该与第一验证码相同。智能门锁接收到第二验证码,确定智能门锁本地保存的第一验证码与第二验证码是否相同。如果相同,则基于本地保存的任务编号访问服务端的缓存空间,获取第一加密数据,如果不同,则可提示用户验证失败。
通过第一验证码的验证机制,既能够使用户实时知晓第一加密数据和任务编号已经关联存储完毕,通过向智能门锁准确输入第二验证码,能够及时触发智能门锁获取第一加密数据,以保证整个绑定操作高效且连贯的执行。
在一些实施例中,步骤S220,所述获取用于与智能门锁构建绑定关系的绑定数据,具体可包括如下步骤。
在所述第一通讯号码与所述客户端绑定的第二通讯号码一致的情况下,获取所述绑定数据。
可选的,在用户需要绑定智能门锁和客户端时,可操作智能门锁显示绑定界面,通过绑定界面向智能门锁录第一通讯号码,并选取生成图形码选项。可选的,第二通讯号码为客户端关联的手机号码。例如,第二通讯号码可为平板电脑上门锁管理程序的登录用户所关联的手机号。客户端通过比较第一通讯号码和第二通讯号码是否相同,可校正第一通讯号码是否正确,还可核实智能门锁的绑定目标。
在一些实施例中,所述方法还可包括如下步骤。
S250,获取所述服务端发送的第二操作请求,所述第二操作请求用于请求所述客户端允许所述智能门锁执行目标操作,所述第二操作请求至少包括所述智能门锁生成的第三验证码。
可选的,所述第三验证码(rand)可为智能门锁随机生成的字符串,所述目标操作包括但不限于开锁操作、对讲操作或视频操作等等。例如,用户在需要开锁时,可选取智能门锁的开锁选项,以生成开锁指令。智能门锁可响应于开锁指令随机生成八个字节的验证码,基于该八个字节的验证码向服务端发送第一操作请求。
可选的,所述第一操作请求还可包括所述智能门锁的第一身份信息。例如,智能门锁可基于智能门锁的SN码和第三验证码,向服务端发送第一操作请求。服务端获取第一操作请求,可基于智能门锁的SN码确定与所述智能门锁具有绑定关系的客户端。如服务端可获取该智能门锁的绑定列表,该绑定列表中可记载有与所述智能门锁具有绑定关系的客户端的第二身份信息。
可选的,服务端可基于智能门锁的第一身份信息、客户端的第二身份信息和第三验证码,向与所述智能门锁具有绑定关系的全部客户端发送第二操作请求。用户触发目标操作时,也可指定客户端,所述第一操作请求中可携带所指定的客户端的第二身份信息。服务端可基于第一操作请求中的第二身份信息向所指定的客户端发送第二操作请求。
可选的,服务端接收第一操作请求,还可生成用于标识本次目标操作的任务编号(TID),服务端可将任务编号反馈给智能门锁,并基于任务编号、第一身份信息、第二身份信息和第三验证码向客户端发送第二操作请求。
S260,基于所述第二操作请求获取操作数据,所述操作数据至少包括所述第三验证码和操作指令,所述操作指令用于指示所述智能门锁执行所述目标操作或放弃执行所述目标操作。
可选的,客户端获取到第二操作请求,可显示提示界面,提示用户智能门锁请求允许执行目标操作,用户可选择允许智能门锁执行目标操作或不允许智能门锁执行目标操作。客户端可响应于用于的选取操作生成操作指令(Operation),该操作指令用于指示智能门锁执行目标操作,或指示指令门锁禁止执行目标操作。例如,所述操作指令可为“0”或“1”的标识符,在该操作指令为“0”时用于指示智能门锁执行开锁操作,在该操作指令为“1”时用于指示智能门锁禁止执行开锁操作。
S270,基于所述授权密钥对所述操作数据加密,以生成第二加密数据。
可选的,客户端可利用授权密钥对该操作指令和第三验证码加密形成第二加密数据。可选的,所述授权密钥可由客户端长期持有,客户端获取到操作指令的情况下,可调取本地保存的授权密钥对操作指令和第三验证码加密。
可选的,该授权密钥也可由服务器保存,客户端配置为每次需要使用时从服务端获取,使用完毕立即删除。例如,客户端接收到第二操作请求的情况下,可访问服务端获取加密的授权密钥。客户端可调用SDK,通过SDK利用客户端私钥解密该加密的授权密钥,以恢复授权密钥。继而,利用授权密钥对操作指令和第三验证码加密形成第二加密数据。
S280,将所述第二加密数据发送至服务端;所述第二加密数据用于提供给所述智能门锁,使所述智能门锁能够基于所述授权密钥解密所述第二加密数据获取所述操作数据,并在所述第三验证码验证通过的情况下,基于所述操作指令执行所述目标操作或放弃执行所述目标操作。
可选的,为了避免第二加密数据中的信息被篡改,客户端还可生成用于校验第二加密数据中信息真伪的第三校验数据。例如,客户端可利用授权密钥对智能门锁的SN码、UID、第三验证码及操作指令加密,形成第二加密数据。客户端还可利用客户端公钥对UID、操作指令及第二加密数据加密形成第三校验数据。之后,将UID、操作指令、第二加密数据及第三校验数据上传至服务端,使得服务端能够基于第三校验数据校验第二加密数据、操作指令及UID的真伪。
可选的,所述第二加密数据可由服务端主动发送至智能门锁,也可由智能门锁主动访问服务端来获取。例如,服务端可在基于第三校验数据验证第二加密数据、操作指令及UID真实有效的情况下,将第二加密数据发送给智能门锁。还例如,智能门锁可在发送第一操作请求之后,轮询服务端的特定接口,以在客户端将第二加密数据上传至服务端的情况下,主动访问服务端获取第二加密数据。
可选的,所述服务端可将UID、Operation、第二加密数据和第三校验数据反馈给智能门锁。智能门锁可基于第三校验数据校验UID、Operation和第二加密数据的真伪,如果确定UID、Operation和第二加密数据真实有效,可利用授权密钥解密第二加密数据,获取智能门锁的SN码、UID、Operation及第三验证码。
可选的,所述智能门锁可校验本地保存的第三验证码和从第二加密数据中解密获取的第三验证码是否相同,如果相同,则基于操作指令执行目标操作,在操作指令用于指示智能门锁放弃执行目标操作的情况下,智能门锁基于操作指令放弃执行所述目标操作。例如,在Operation为“0”的情况下,智能门锁可执行开锁操作。如果两个验证码不同,则提示验证失败。
可选的,所述智能门锁还可校验本地保存的绑定关系中是否包含该UID,在本地保存的绑定关系中包含该UID且两个验证码相同的情况下,基于操作指令执行目标操作或放弃执行所述目标操作。
可选的,所述智能门锁在执行所述目标操作或放弃执行所述目标操作之后,还可向服务端反馈操作结果(result)。服务端还可将该操作结果反馈至客户端,以使用户知晓目标操作执行成功或执行失败。
由于服务端不持有客户端私钥,无法解密加密的授权密钥来授权密钥的明文,只有智能门锁和客户端持有授权密钥的明文,因此,利用授权密钥对第三验证码和操作指令加密形成的第二加密数据不容易被破解和伪造,进而使得智能门锁具有较高安全性。
本申请第三种实施例提供了一种控制方法,用于构建智能门锁和客户端之间的绑定关系,该控制方法应用于智能门锁、服务端及终端设备上客户端。参见图3a和图3b所示,本申请第三种实施例的控制方法具体可包括如下步骤。
S311,获取输入所述智能门锁的第一通讯号码。
可选的,在用户需要绑定智能门锁和客户端时,可操作智能门锁显示绑定界面,通过绑定界面向智能门锁输入第一通讯号码和用户名,并选择确认选项。
S312,获取所述智能门锁的第一身份信息,并生成所述第一密钥、第一验证码和任务编号。
可选的,所述第一身份信息包括但不限于智能门锁的产品序列号(SN码)、厂商为该智能门锁配置的编码信息、用户为该智能门锁设置的名称或编号等等。
可选的,所述第一密钥可为所述智能门锁专为本次绑定操作生成的临时密钥。例如,所述智能门锁可响应于绑定指令,生成所述第一密钥。所述第一密钥也可为所述智能门锁长期持有的长期密钥。例如,该第一密钥可为所述智能门锁的锁端密钥,或者,该第一密钥也可为厂商配置的专用于执行绑定操作的绑定密钥。可选的,所述第一密钥可为对称密钥,也可为非对称密钥。例如,所述第一密钥可为基于高级加密标准(AES)生成的对称密钥。
可选的,所述第一验证码和所述任务编号可由智能门锁随机生成,所述任务编号(TID)可用于标识本次绑定操作。
S313,基于所述第一通讯号码、所述第一身份信息、所述第一密钥、所述第一验证码和所述任务编号,生成并显示图形码。
可选的,所述图形码可为二维码或条形码。以所述图形码为二维码为例,二维码数据格式可以是JSON字符串,如下所示。
{
"mobile":"xxxxxx", //手机号
"sms":"xxxxxx", //短信验证码
"sn":"XXXXXXXXXXXXXXXX", //门锁SN
"key":"随机生成的32个字节的临时密钥,前16是用来加密的,后16是用来计算mac的",
"tid":"随机生成的16个字节的任务ID",//任务ID(需唯一)
}
S321,通过终端设备扫描智能门锁显示的图形码,以使终端设备上客户端获取所述第一密钥、所述第一身份信息、所述第一通讯号码、所述第一验证码和所述任务编号。
S322,校验所述第一通讯号码与所述客户端自身的第二通讯号码是否一致,如果一致,则执行步骤S323,如果不一致,则提示验证失败。
可选的,第二通讯号码为客户端关联的通讯号码。例如,第二通讯号码可为门锁管理程序的登录用户所关联的手机号。
S323,通过客户端生成授权密钥。
例如,所述客户端可基于高级加密标准(AES)生成32个字节的授权密钥(unlockAesKey)。
S324,基于所述客户端的客户端公钥对所述授权密钥加密,生成加密的授权密钥。
S325,利用第一密钥的第一密钥片段加密绑定数据,以生成第一加密数据。其中,所述绑定数据包括第一身份信息、第二身份信息、客户端公钥、授权密钥及加密的授权密钥。
S326,利用第一密钥的第二密钥片段加密绑定数据,以生成第一校验数据。
可选的,可利用例如HmacSha256算法基于第二密钥片段加密绑定数据,以生成第一校验数据。
S327,将所述第一加密数据、第一校验数据、任务编号、第一通讯号码和第一验证码发送至服务端。
S331,通过所述服务端基于所述第一通讯号码,将所述第一验证码发送至相应的终端设备。
例如,所述服务端可基于获取的手机号,向相应的收集发送短信验证码。
S341,通过所述智能门锁获取输入的第二验证码。
S342,所述智能门锁基于所述第一验证码验证所述第二验证码,如果验证通过,则执行步骤S343,如果验证失败,则生成错误提示信息。
S343,所述智能门锁基于任务编号访问所述服务端,从所述服务端获取所述第一加密数据和所述第一校验数据。
S344,基于第一密钥片段解密所述第一加密数据,以获取绑定数据。
可选的,所述智能门锁可利用临时密钥的前16个字节解密第一加密数据。所述绑定数据包括第一身份信息、第二身份信息、客户端公钥、授权密钥及加密的授权密钥。可选的,所述绑定数据可包括智能门锁的SN码、用户编号(UID)、客户端公钥、授权密钥及加密的授权密钥。
345,利用所述第一校验数据验证所述绑定数据的真伪,如果验证通过,则执行步骤S346,如果验证失败,则生成错误提示信息。
可选的,所述智能门锁可利用临时密钥的后16个字节加密绑定数据生成另一校验数据。在该另一校验数据和所述第一校验数据相同的情况下,确定所述绑定数据真实有效,在二者不一致的情况下,可确定绑定数据验证失败。
S346,关联存储第一身份信息、第二身份信息、客户端公钥和授权密钥,以在所述智能门锁本地形成所述智能门锁和所述客户端的绑定关系。
S347,基于所述智能门锁的锁端密钥,加密第一身份信息、第二身份信息、任务编号和加密的授权密钥,以生成第二校验数据。
S348,将第一身份信息、第二身份信息、加密的授权密钥和第二校验数据发送至服务端。
S351,所述服务端基于所述第二校验数据验证所述第一身份信息、所述第二身份信息和加密的授权密钥的真伪,如果验证通过,则执行步骤S352,如果验证失败,则向智能门锁和/或客户端发送错误提示信息。
S352,基于第一身份信息和第二身份信息,构建所述智能门锁和所述客户端之间的绑定关系。
S353,所述服务端关联存储所述第二身份信息和所述加密的授权密钥。
S354,所述服务端分别向所述智能门锁和所述客户端反馈绑定结果。
本申请第四种实施例提供了一种控制方法,用于控制智能门锁执行目标操作,例如,控制智能门锁执行开锁操作。该控制方法应用于智能门锁、服务端及终端设备上的客户端。参见图4a和图4b所示,本申请第四种实施例的控制方法具体可包括如下步骤。
S411,通过智能门锁生成第三验证码。
例如,智能门锁可响应于开锁指令,随机生成八个字节的验证码作为第三验证码(rand)。
S412,通过智能门锁基于第一身份信息和第三验证码,向所述服务端发送第一操作请求;其中,所述第一操作请求用于请求所述客户端允许所述智能门锁执行目标操作。
S421,服务端生成用于标识所述目标操作的任务编号,并将所述编号反馈至所述智能门锁。
S422,服务端基于第一身份信息,确定与所述智能门锁具有绑定关系的客户端。
例如,服务端可基于智能门锁的SN码,获取该智能门锁的绑定列表,该绑定列表中可记载有与所述智能门锁具有绑定关系的客户端的第二身份信息。
S423,服务端基于智能门锁的第一身份信息、客户端的第二身份信息和第三验证码,向客户端发送第二操作请求。其中,所述第二操作请求用于请求所述客户端允许所述智能门锁执行目标操作。
S431,客户端获取所述第二操作请求,生成提示信息,提示用户智能门锁请求允许执行目标操作。
S432,客户端响应于用户针对所述提示信息的选取操作,生成操作指令。
该操作指令(Operation)用于指示智能门锁执行目标操作或指示指令门锁放弃执行目标操作。例如,所述操作指令可为“0”或“1”的标识符,在该操作指令为“0”时用于指示智能门锁执行开锁操作,在该操作指令为“1”时用于指示智能门锁放弃执行开锁操作。
S433,客户端访问服务端获取加密的授权密钥。
S434,利用客户端私钥解密该加密的授权密钥,以获取授权密钥。
例如,所述客户端可调用SDK利用客户端私钥解密该加密的授权密钥。
S435,基于所述授权密钥对操作数据加密,以生成第二加密数据;其中,所述操作数据包括第一身份信息、第二身份信息、第三验证码和操作指令。
例如,所述客户端可利用授权密钥对智能门锁的SN码、UID、rand和Operation加密,以获取第二加密数据。
S436,基于客户端公钥加密第二身份信息、操作指令和第二加密数据,以生成第三校验数据。
S437,将第二身份信息、操作指令、第二加密数据和第三校验数据发送至所述服务端。
S441,所述服务端基于第三校验数据校验第二加密数据、操作指令和第二身份信息的真伪,如果校验通过,则执行S442,如果校验失败,则向客户端和/或智能门锁发送错误提示信息。
S442,所述服务端将第二身份信息、操作指令、第二加密数据和第三校验数据发送至智能门锁。
S451,所述智能门锁基于第三校验数据校验所述第二身份信息、所述操作指令和所述第二加密数据的真伪,如果校验通过,则执行S452,如果校验失败,则生成错误提示信息。
S452,基于授权密钥解密所述第二加密数据,以获取所述第二身份信息、所述操作指令和所述第三验证码。
S453,验证解密获取的第三验证码和所述第二身份信息,如果第三验证码和所述第二身份信息均验证通过,则执行步骤S454,如果二者中至少一个验证失败,则生成错误提示信息。
可选的,可将解密获取的第三验证码与智能门锁本地保存的第三验证码比较,确定两个验证码是否相同,如果相同,则确定第三验证码验证通过,如果不同,则确定第三验证码验证失败。
可选的,可将解密获取的第二身份信息,与智能门锁本地保存的绑定关系比较,确定绑定关系中是否包含该第二身份信息,如果智能门锁本地保存的绑定关系中包含该第二身份信息,则确定验证通过,如果不包含,则确定验证失败。
S454,所述智能门锁基于所述操作指令,执行所述目标操作或放弃执行所述目标操作。
例如,在所述操作指令为“0”时,所述智能门锁执行开锁操作;在所述操作指令为“1”时,所述智能门锁放弃执行开锁操作。当然,所述目标操作不仅限于开锁操作,还可包括例如视频操作或对讲操作等等。
S455,所述智能门锁向服务端发送操作结果。该操作结果可为已经执行目标操作或已经放弃执行目标操作。
S461,所述服务端向所述客户端发送所述操作结果。
本申请实施例的控制方法,由于服务端不持有客户端私钥,无法解密加密的授权密钥来获取授权密钥的明文,只有智能门锁和客户端持有授权密钥的明文,因此,利用授权密钥对第三验证码和操作指令加密形成的第二加密数据不容易被破解和伪造,进而使得智能门锁具有较高安全性。
本申请第五种实施例一种控制系统,参见图5所示,该控制系统包括智能门锁501、服务端502及所述终端设备上的客户端503。
所述智能门锁501配置为:基于所生成的第一密钥,生成并显示图形码。
所述客户端503配置为:通过终端设备扫描智能门锁501显示的图形码,获取所述智能门锁501的第一密钥;获取用于与智能门锁501构建绑定关系的绑定数据;所述绑定数据至少包括用于管控所述智能门锁501的授权密钥;基于所述第一密钥加密所述绑定数据,以生成第一加密数据;将所述第一加密数据发送至服务端502。
所述服务端502配置为:保存所述第一加密数据。
所述智能门锁501还配置为:从服务端502获取第一加密数据;基于所述第一密钥对所述第一加密数据解密,以获取所述绑定数据;基于所述绑定数据,构建所述智能门锁501和所述终端设备的绑定关系,使所述终端设备上的客户端503能够基于所述授权密钥管控所述智能门锁501。
在一些实施例中,所述智能门锁501具体配置为:基于第一验证码、任务编号、所述第一密钥及输入所述智能门锁501的第一通讯号码,生成并显示图形码。
所述客户端503配置为:通过所述终端设备扫描智能门锁501显示的图形码,获取所述第一验证码、所述任务编号、所述第一密钥及所述第一通讯号码;将所述第一验证码、所述任务编号、所述第一通讯号码和所述第一加密数据发送至服务端502。
所述服务端502配置为:关联存储所述第一加密数据和所述任务编号;基于所述第一通讯号码将所述第一验证码发送至相应的终端设备。
所述客户端503还配置为:获取输入的第二验证码;在基于所述第一验证码对所述第二验证码验证通过的情况下,基于所述任务编号访问所述服务端502以获取所述第一加密数据。
在一些实施例中,所述图形码中还包括输入到所述智能门锁501中的第一通讯号码;所述客户端503具体配置为:在所述第一通讯号码与所述客户端503自身的第二通讯号码一致的情况下,获取所述绑定数据。
在一些实施例中,所述客户端503具体用于:从所述图形码中提取所述智能门锁501的第一身份信息;获取所述授权密钥、所述客户端503的第二身份信息和所述客户端503的终端公钥;基于所述终端公钥对所述授权密钥加密以生成加密的授权密钥;基于所述第一密钥对所述第一身份信息、所述第二身份信息、所述终端公钥、所述授权密钥和所述加密的授权密钥加密形成所述第一加密数据。
在一些实施例中,所述客户端503具体配置为:基于所述第一密钥的第一密钥片段加密所述绑定数据,以生成所述第一加密数据;基于所述第一密钥的第二密钥片段加密所述绑定数据,以生成第一校验数据;将所述第一加密数据和所述第一校验数据发送至所述服务端502。
所述智能门锁501具体配置为:从所述服务端502获取所述第一加密数据和第一校验数据;利用所述第一校验数据验证所述绑定数据的真伪;在所述绑定数据验证通过的情况下,构建所述智能门锁501和所述客户端503的绑定关系。
在一些实施例中,所述绑定数据还包括所述智能门锁501的第一身份信息、所述客户端503的第二身份信息和所述客户端503的终端公钥。
所述智能门锁501具体配置为:关联存储所述第一身份信息、所述第二身份信息、所述终端公钥和所述授权密钥,以在所述智能门锁501本地形成所述智能门锁501和所述客户端503的绑定关系;将所述第一身份信息和所述第二身份信息发送至所述服务端502,以请求所述服务端502构建所述智能门锁501和所述客户端503的绑定关系。
在一些实施例中,所述绑定数据还包括加密的授权密钥,所述加密的授权密钥为基于所述终端公钥对所述授权密钥加密形成。
所述智能门锁501具体配置为:将所述第一身份信息、所述第二身份信息和所述加密的授权密钥发送至所述服务端502。
所述服务端502具体配置为:基于所述第一身份信息和所述第二身份信息构建所述智能门锁501和所述客户端503的绑定关系;关联存储所述第二身份信息和所述加密的授权密钥,以供所述客户端503获取。
在一些实施例中,所述智能门锁501具体配置为:基于所述智能门锁501的锁端密钥对所述第一身份信息、所述第二身份信息和所述加密的授权密钥加密,形成第二校验数据;将所述第一身份信息、所述第二身份信息、所述加密的授权密钥和所述第二校验数据发送至所述服务端502。
所述服务端502具体配置为:基于所述第二校验数据验证所述第一身份信息、所述第二身份信息和所述加密的授权密钥的真伪;在验证通过的情况下,关联存储所述第二身份信息和所述加密的授权密钥。
在一些实施例中,所述智能门锁501具体配置为:获取输入所述智能门锁501的第一通讯号码;生成所述第一密钥、第一验证码和任务编号,并获取所述智能门锁501的第一身份信息;基于所述第一通讯号码、所述第一身份信息、所述第一密钥、所述第一验证码和所述任务编号,生成并显示图形码。
在一些实施例中,所述智能门锁501还配置为:向所述服务端502发送第一操作请求;所述第一操作请求用于请求所述客户端503允许所述智能门锁501执行目标操作,所述第一操作请求至少包括第三验证码。
所述服务端502具体配置为:基于所述第一操作请求,向所述客户端503发送第二操作请求;所述第二操作请求至少包括所述智能门锁501生成的第三验证码。
所述客户端503配置为:基于所述第二操作请求获取操作数据,所述操作数据至少包括所述第三验证码和操作指令,所述操作指令用于指示所述智能门锁501执行所述目标操作或放弃执行所述目标操作;基于所述授权密钥对所述操作数据加密,以生成第二加密数据;将所述第二加密数据发送至服务端502。
所述智能门锁501还配置为:接收所述服务端502基于所述第一操作请求反馈的第二加密数据;基于所述授权密钥解密所述第二加密数据,以获取所述操作数据;所述操作数据至少包括第三验证码和操作指令;在解密获取的所述第三验证码验证通过的情况下,基于所述操作指令执行所述目标操作或放弃执行所述目标操作。
参见图6所示,本申请第六种实施例还提供了一种电子设备,至少包括存储器601和处理器602,所述存储器601上存储有程序,所述处理器602在执行所述存储器601上的程序时实现如上第一种实施例和第二种实施例所述的方法。在应用上述第一种实施例所述的控制方法时,所述电子设备实际即为智能门锁。在应用上述第二种实施例所述的控制方法时,所述电子设备实际即为终端设备。
本申请第七种实施例还提供了一种计算机可读存储介质,所述计算机可读存储介质中存储有计算机可执行指令,在执行所述计算机可读存储介质中的所述计算机可执行指令时实现如实现如上第一种实施例和第二种实施例所述的方法。
本领域技术人员应明白,本申请的实施例可提供为方法、电子设备、计算机可读存储介质或计算机程序产品。因此,本申请可采用完全硬件实施例、完全软件实施例、或结合软件和硬件的实施例的形式。而且,本申请可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质上实施的计算机程序产品的形式。当通过软件实现时,可以将这些功能存储在计算机可读介质中或者作为计算机可读介质上的一个或多个指令或代码进行传输。
上述处理器可以是通用处理器、数字信号处理器、专用集成电路(application-specific integrated circuit,ASIC),可编程逻辑器件(programmable logic device,PLD)或其组合。上述PLD可以是复杂可编程逻辑器件(complex programmable logicdevice,CPLD),现场可编程逻辑门阵列(field-programmable gate array,FPGA),通用阵列逻辑(generic array logic,简称GAL)或其任意组合。通用处理器可以是微处理器或者任何常规的处理器等。
上述存储器可能包括计算机可读介质中的非永久性存储器,随机存取存储器(RAM)和/或非易失性内存等形式,如只读存储器(ROM)或闪存(flash RAM)。存储器是计算机可读介质的示例。
上述可读存储介质可为磁碟、光盘、DVD、USB、只读存储记忆体(ROM)或随机存储记忆体(RAM)等,本申请对具体的存储介质形式不作限定。
以上实施例仅为本申请的示例性实施例,不用于限制本申请,本申请的保护范围由权利要求书限定。本领域技术人员可以在本申请的实质和保护范围内,对本申请做出各种修改或等同替换,这种修改或等同替换也应视为落在本申请的保护范围内。
Claims (16)
1.一种控制方法,其特征在于,应用于智能门锁,包括:
基于所述智能门锁的第一密钥和输入所述智能门锁的第一通讯号码,生成并显示图形码;其中,所述图形码用于提供给终端设备扫描,以使所述终端设备上的客户端获取所述第一密钥和所述第一通讯号码;
从服务端获取第一加密数据;其中,所述第一加密数据由所述客户端在所述第一通讯号码与所述客户端绑定的第二通讯号码一致的情况下获取绑定数据并利用所述第一密钥对绑定数据加密形成;所述绑定数据至少包括用于管控所述智能门锁的授权密钥;
基于所述第一密钥对所述第一加密数据解密,以获取所述绑定数据;
基于所述绑定数据,构建所述智能门锁和所述客户端的绑定关系,使所述客户端能够基于所述授权密钥管控所述智能门锁。
2.根据权利要求1所述的方法,其特征在于,所述图形码中还包括与所述图形码唯一关联的第一验证码和任务编号;所述第一验证码和所述任务编号配置为能够被所述客户端发送至所述服务端,所述服务端在关联存储所述第一加密数据和所述任务编号的情况下,基于所述第一通讯号码将所述第一验证码发送至相应的终端设备;
所述从服务端获取第一加密数据,包括:
获取输入的第二验证码;
在基于所述第一验证码对所述第二验证码验证通过的情况下,基于所述任务编号访问所述服务端以获取所述第一加密数据。
3.根据权利要求1所述的方法,其特征在于,所述第一密钥包括第一密钥片段和第二密钥片段;所述从服务端获取第一加密数据,包括:
从所述服务端获取所述第一加密数据和第一校验数据;所述第一加密数据由所述客户端利用所述第一密钥片段对所述绑定数据加密形成;所述第一校验数据由所述客户端利用所述第二密钥片段对所述绑定数据计算形成;
相应的,所述基于所述绑定数据,构建所述智能门锁和所述客户端的绑定关系,包括:
利用所述第一校验数据验证所述绑定数据的真伪;
在所述绑定数据验证通过的情况下,构建所述智能门锁和所述客户端的绑定关系。
4.根据权利要求1所述的方法,其特征在于,所述绑定数据还包括所述智能门锁的第一身份信息、所述客户端的第二身份信息和所述客户端的客户端公钥;
所述基于所述绑定数据,构建所述智能门锁和所述客户端的绑定关系,包括:
关联存储所述第一身份信息、所述第二身份信息、所述客户端公钥和所述授权密钥,以在所述智能门锁本地形成所述智能门锁和所述客户端的绑定关系;
将所述第一身份信息和所述第二身份信息发送至所述服务端,以请求所述服务端构建所述智能门锁和所述客户端的绑定关系。
5.根据权利要求4所述的方法,其特征在于,所述绑定数据还包括加密的授权密钥,所述加密的授权密钥为基于所述客户端公钥对所述授权密钥加密形成;
所述将所述第一身份信息和所述第二身份信息发送至所述服务端,包括:
将所述第一身份信息、所述第二身份信息和所述加密的授权密钥发送至所述服务端;其中,所述加密的授权密钥配置为由所述服务端保存并能够被所述客户端获取。
6.根据权利要求5所述的方法,其特征在于,所述将所述第一身份信息、所述第二身份信息和所述加密的授权密钥发送至所述服务端,包括:
基于所述智能门锁的锁端密钥对所述第一身份信息、所述第二身份信息和所述加密的授权密钥加密,形成第二校验数据;
将所述第一身份信息、所述第二身份信息、所述加密的授权密钥和所述第二校验数据发送至所述服务端;其中,所述第二校验数据用于验证所述第一身份信息、所述第二身份信息和所述加密的授权密钥的真伪。
7.根据权利要求1所述的方法,其特征在于,所述基于所述智能门锁的第一密钥和输入所述智能门锁的第一通讯号码,生成并显示图形码,包括:
获取所述智能门锁的第一身份信息,以及输入所述智能门锁的第一通讯号码;
生成所述第一密钥、第一验证码和任务编号;
基于所述第一通讯号码、所述第一身份信息、所述第一密钥、所述第一验证码和所述任务编号,生成并显示图形码。
8.根据权利要求1所述的方法,其特征在于,还包括:
向所述服务端发送第一操作请求;所述第一操作请求用于请求所述客户端允许所述智能门锁执行目标操作,所述第一操作请求至少包括第三验证码;
接收所述服务端基于所述第一操作请求反馈的第二加密数据;其中,所述第二加密数据由所述客户端利用所述授权密钥对操作数据加密形成;
基于所述授权密钥解密所述第二加密数据,以获取所述操作数据;所述操作数据至少包括第四验证码和操作指令;
在基于所述第三验证码对所述第四验证码验证通过的情况下,基于所述操作指令执行所述目标操作或放弃执行所述目标操作。
9.一种控制方法,其特征在于,应用于终端设备上的客户端,包括:
通过所述终端设备扫描智能门锁显示的图形码,获取所述智能门锁的第一密钥和输入所述智能门锁的第一通讯号码;
在所述第一通讯号码与所述客户端绑定的额第二通讯号码一致的情况下,获取用于与智能门锁构建绑定关系的绑定数据;所述绑定数据至少包括用于管控所述智能门锁的授权密钥;
基于所述第一密钥加密所述绑定数据,以生成第一加密数据;
将所述第一加密数据发送至服务端;其中,所述第一加密数据用于提供给所述智能门锁,使所述智能门锁能够基于所述第一密钥解密所述第一加密数据获取所述绑定数据,并构建所述智能门锁和所述客户端的绑定关系。
10.根据权利要求9所述的方法,其特征在于,所述第一加密数据包括第一密钥片段和第二密钥片段;
所述基于所述第一密钥加密所述绑定数据,以生成第一加密数据,包括:
基于所述第一密钥片段加密所述绑定数据,以生成所述第一加密数据;
基于所述第二密钥片段加密所述绑定数据,以生成第一校验数据;其中,所述第一校验数据用于提供给所述智能门锁,使所述智能门锁能够基于所述第一校验数据验证所述绑定数据的真伪。
11.根据权利要求9所述的方法,其特征在于,所述图形码中还包括输入到所述智能门锁中的第一通讯号码,以及所述智能门锁生成的第一验证码;所述将所述第一加密数据发送至服务端,包括:
将所述第一通讯号码、所述第一验证码和所述第一加密数据发送至所述服务端;
其中,所述第一通讯号码用于所述服务端基于所述第一通讯号码将所述第一验证码发送至相应的客户端;所述第一验证码用于输入到所述智能门锁,以触发所述智能门锁访问所述服务端获取所述第一加密数据。
12.根据权利要求9所述的方法,其特征在于,所述获取用于与智能门锁构建绑定关系的绑定数据,包括:
从所述图形码中提取所述智能门锁的第一身份信息;
获取所述授权密钥、所述客户端的第二身份信息和所述客户端的客户端公钥;
基于所述客户端公钥对所述授权密钥加密以生成加密的授权密钥;其中,所述加密的授权密钥配置为由所述智能门锁反馈至所述服务端,通过所述服务端保存所述加密的授权密钥,以备所述客户端获取;
通过所述第一身份信息、所述第二身份信息、所述客户端公钥、所述授权密钥和所述加密的授权密钥形成所述绑定数据。
13.根据权利要求9所述的方法,其特征在于,还包括:
获取所述服务端发送的第二操作请求,所述第二操作请求用于请求所述客户端允许所述智能门锁执行目标操作,所述第二操作请求至少包括所述智能门锁生成的第三验证码;
基于所述第二操作请求获取操作数据,所述操作数据至少包括所述第三验证码和操作指令,所述操作指令用于指示所述智能门锁执行所述目标操作或放弃执行所述目标操作;
基于所述授权密钥对所述操作数据加密,以生成第二加密数据;
将所述第二加密数据发送至服务端;所述第二加密数据用于提供给所述智能门锁,使所述智能门锁能够基于所述授权密钥解密所述第二加密数据获取所述操作数据,并在所述第三验证码验证通过的情况下,基于所述操作指令执行所述目标操作或放弃执行所述目标操作。
14.一种控制系统,其特征在于,包括智能门锁、服务端及终端设备上的客户端;
所述智能门锁配置为:基于输入的第一通讯号码和所生成的第一密钥,生成并显示图形码;
所述客户端配置为:通过所述终端设备扫描智能门锁显示的图形码,获取所述智能门锁的第一密钥;在所述第一通讯号码与所述客户端绑定的额第二通讯号码一致的情况下,获取用于与智能门锁构建绑定关系的绑定数据;所述绑定数据至少包括用于管控所述智能门锁的授权密钥;基于所述第一密钥加密所述绑定数据,以生成第一加密数据;将所述第一加密数据发送至服务端;
所述服务端配置为:保存所述第一加密数据;
所述智能门锁还配置为:从服务端获取第一加密数据;基于所述第一密钥对所述第一加密数据解密,以获取所述绑定数据;基于所述绑定数据,构建所述智能门锁和所述客户端的绑定关系,使所述客户端能够基于所述授权密钥管控所述智能门锁。
15.一种电子设备,至少包括存储器和处理器,所述存储器上存储有程序,其特征在于,所述处理器在执行所述存储器上的程序时实现如权利要求1-8中任一项所述的方法,或者实现如权利要求9-13中任一项所述的方法。
16.一种计算机可读存储介质,所述计算机可读存储介质中存储有计算机可执行指令,其特征在于,在执行所述计算机可读存储介质中的所述计算机可执行指令时实现如权利要求1-8中任一项所述的方法,或者实现如权利要求9-13中任一项所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202211386863.8A CN115862192B (zh) | 2022-11-07 | 2022-11-07 | 控制方法、控制系统、电子设备及存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202211386863.8A CN115862192B (zh) | 2022-11-07 | 2022-11-07 | 控制方法、控制系统、电子设备及存储介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN115862192A CN115862192A (zh) | 2023-03-28 |
CN115862192B true CN115862192B (zh) | 2023-11-03 |
Family
ID=85662666
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202211386863.8A Active CN115862192B (zh) | 2022-11-07 | 2022-11-07 | 控制方法、控制系统、电子设备及存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN115862192B (zh) |
Citations (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106411508A (zh) * | 2016-09-30 | 2017-02-15 | 宁波方太厨具有限公司 | 一种智能设备终端的鉴权方法 |
CN109583181A (zh) * | 2018-11-29 | 2019-04-05 | 新华三技术有限公司 | 一种认证方法、装置及机器可读存储介质 |
CN112862488A (zh) * | 2021-03-29 | 2021-05-28 | 中信银行股份有限公司 | 数据的签名方法、装置、电子设备及计算机可读存储介质 |
CN112995137A (zh) * | 2021-02-03 | 2021-06-18 | 深圳市凯迪仕智能科技有限公司 | 一种智能锁的绑定方法及智能锁系统 |
CN113538739A (zh) * | 2021-06-09 | 2021-10-22 | 杭州华橙软件技术有限公司 | 智能锁的配对方法、电子装置和存储介质 |
CN113674455A (zh) * | 2021-08-13 | 2021-11-19 | 京东科技信息技术有限公司 | 智能门锁远程控制方法、装置、系统、设备及存储介质 |
CN113793434A (zh) * | 2021-09-02 | 2021-12-14 | 广州广电运通金融电子股份有限公司 | 离线式生物锁具、密码锁系统、开闭方法和存储介质 |
WO2022053069A1 (zh) * | 2020-09-14 | 2022-03-17 | Oppo广东移动通信有限公司 | 绑定帐号的方法、装置、终端及存储介质 |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105933039B (zh) * | 2016-06-24 | 2018-06-29 | 飞天诚信科技股份有限公司 | 一种蓝牙设备及其工作方法 |
-
2022
- 2022-11-07 CN CN202211386863.8A patent/CN115862192B/zh active Active
Patent Citations (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106411508A (zh) * | 2016-09-30 | 2017-02-15 | 宁波方太厨具有限公司 | 一种智能设备终端的鉴权方法 |
CN109583181A (zh) * | 2018-11-29 | 2019-04-05 | 新华三技术有限公司 | 一种认证方法、装置及机器可读存储介质 |
WO2022053069A1 (zh) * | 2020-09-14 | 2022-03-17 | Oppo广东移动通信有限公司 | 绑定帐号的方法、装置、终端及存储介质 |
CN112995137A (zh) * | 2021-02-03 | 2021-06-18 | 深圳市凯迪仕智能科技有限公司 | 一种智能锁的绑定方法及智能锁系统 |
CN112862488A (zh) * | 2021-03-29 | 2021-05-28 | 中信银行股份有限公司 | 数据的签名方法、装置、电子设备及计算机可读存储介质 |
CN113538739A (zh) * | 2021-06-09 | 2021-10-22 | 杭州华橙软件技术有限公司 | 智能锁的配对方法、电子装置和存储介质 |
CN113674455A (zh) * | 2021-08-13 | 2021-11-19 | 京东科技信息技术有限公司 | 智能门锁远程控制方法、装置、系统、设备及存储介质 |
CN113793434A (zh) * | 2021-09-02 | 2021-12-14 | 广州广电运通金融电子股份有限公司 | 离线式生物锁具、密码锁系统、开闭方法和存储介质 |
Also Published As
Publication number | Publication date |
---|---|
CN115862192A (zh) | 2023-03-28 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP6921066B2 (ja) | セッション識別子同期を実現する方法及びデバイス | |
US10013548B2 (en) | System and method for integrating two-factor authentication in a device | |
US11544365B2 (en) | Authentication system using a visual representation of an authentication challenge | |
CN112073188B (zh) | 鉴权方法、装置、设备及计算机可读存储介质 | |
JP6691262B2 (ja) | グラフィックコード情報を提供及び取得する方法及び装置並びに端末 | |
CN110047185B (zh) | 一种智能门锁的开锁方法及系统 | |
CN106372497B (zh) | 一种应用编程接口api保护方法和保护装置 | |
CN110213247B (zh) | 一种提高推送信息安全性的方法及系统 | |
JP7422241B2 (ja) | パスワード回復方法、システム、クラウドサーバー及び電子デバイス | |
CN112184952A (zh) | 智能锁控制系统、方法以及存储介质 | |
CN115527292A (zh) | 安全芯片的手机终端远程车辆解锁方法及安全芯片装置 | |
US9210134B2 (en) | Cryptographic processing method and system using a sensitive data item | |
EP4037250A1 (en) | Message transmitting system with hardware security module | |
CN111654503A (zh) | 一种远程管控方法、装置、设备及存储介质 | |
CN112425116B (zh) | 智能门锁无线通信方法、智能门锁、网关及通信设备 | |
CN111405550B (zh) | 一种WhatsApp的key文件提取方法及设备 | |
CN113099457A (zh) | 车辆与移动终端的绑定方法及系统 | |
CN115862192B (zh) | 控制方法、控制系统、电子设备及存储介质 | |
JP6307610B2 (ja) | データ改竄検知装置、データ改竄検知方法、及びプログラム | |
KR101172876B1 (ko) | 사용자 단말기와 서버 간의 상호 인증 방법 및 시스템 | |
JP7438387B2 (ja) | 移動可能デバイスのロック機能 | |
KR102288444B1 (ko) | 인증모듈의 펌웨어 업데이트 방법, 장치 및 프로그램 | |
KR20200067987A (ko) | 로그인 제어 방법 | |
KR20220146978A (ko) | 보안이 강화된 차키 공유 방법 | |
CN115834077B (zh) | 控制方法、控制系统、电子设备及存储介质 |
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 |