一种残膜回收机防缠绕挑膜装置的制 一种秧草收获机用电力驱动行走机构

蓝牙设备的数据传输方法和装置、存储介质及电子装置与流程

2021-11-05 21:30:00 来源:中国专利 TAG:


1.本发明涉及通信领域,具体而言,涉及一种蓝牙设备的数据传输方法和装置、存储介质及电子装置。


背景技术:

2.在目前的智能设备研发技术中,有很多的智能设备是通过蓝牙协议的方式连接到云端的,比如:需要接入云端的设备首先通过蓝牙连接到安装应用程序的设备上,安装应用程序的设备再与蓝牙网关进行连接,通过蓝牙网关与云平台进行通信。但是目前蓝牙设备与云平台进行通信的过程中二者之间的交互数据均是直接传输的,这就导致了交互数据很容易泄露,安全性较低。
3.针对相关技术中,蓝牙设备接入云平台进行数据传输时数据的安全性较低等问题,尚未提出有效的解决方案。


技术实现要素:

4.本发明实施例提供了一种蓝牙设备的数据传输方法和装置、存储介质及电子装置,以至少解决相关技术中,蓝牙设备接入云平台进行数据传输时数据的安全性较低等问题。
5.根据本发明实施例的一个实施例,提供了一种蓝牙设备的数据传输方法,包括:接收设备认证请求,其中,所述设备认证请求用于请求对目标蓝牙设备进行设备认证;响应所述设备认证请求与所述目标蓝牙设备进行双向认证,并为所述目标蓝牙设备生成目标设备密钥;在所述双向认证成功的情况下,使用所述目标设备密钥对所述目标蓝牙设备的交互数据进行加解密。
6.在一个示例性实施例中,为所述目标蓝牙设备生成目标设备密钥,包括:获取所述目标蓝牙设备生成的一个或者多个客户端随机数;使用所述一个或者多个客户端随机数,以及,生成的一个或者多个服务器随机数生成所述目标设备密钥。
7.在一个示例性实施例中,获取所述目标蓝牙设备生成的一个或者多个客户端随机数,包括:生成第一服务器随机数;将所述第一服务器随机数发送至所述目标蓝牙设备;接收所述目标蓝牙设备响应所述第一服务器随机数发送的设备密钥协商请求,其中,所述设备密钥协商请求中携带了所述目标蓝牙设备生成的目标客户端随机数。
8.在一个示例性实施例中,使用所述一个或者多个客户端随机数,以及,生成的一个或者多个服务器随机数生成所述目标设备密钥,包括:对所述设备密钥协商请求中携带的设备签名和设备证书进行认证;在认证成功的情况下,生成第二服务器随机数;将所述目标客户端随机数,所述第一服务器随机数和所述第二服务器随机数输入目标密钥生成算法,得到所述目标密钥生成算法的输出结果作为所述目标设备密钥。
9.在一个示例性实施例中,在使用所述目标设备密钥对所述目标蓝牙设备的交互数据进行加解密之前,所述方法还包括:向所述目标蓝牙设备发送认证指令,其中,所述认证
指令中携带有所述目标蓝牙设备的设备标识,服务器签名,服务器证书和所述目标设备密钥,所述服务器签名和所述服务器证书用于所述目标蓝牙设备对服务器进行认证;接收所述目标蓝牙设备响应所述认证指令返回的第一加密数据,其中,所述第一加密数据是使用所述目标设备密钥对设备认证结果进行加密得到的;使用所述目标设备密钥对所述第一加密数据进行解密,得到所述设备认证结果;在所述设备认证结果用于指示设备认证成功的情况下,确定所述双向认证成功;响应所述设备认证结果,向所述目标蓝牙设备发送第二加密数据,其中,所述第二加密数据是使用所述目标设备密钥对服务器认证结果进行加密得到的,所述服务器认证结果用于指示服务器认证成功。
10.根据本发明实施例的另一个实施例,还提供了一种蓝牙设备的数据传输方法,包括:向服务器发送设备认证请求,其中,所述设备认证请求用于请求对目标蓝牙设备进行设备认证;获取所述服务器在响应所述设备认证请求与所述目标蓝牙设备进行双向认证的过程中为所述目标蓝牙设备生成的目标设备密钥;在所述双向认证成功的情况下,使用所述目标设备密钥对所述目标蓝牙设备的交互数据进行加解密。
11.在一个示例性实施例中,获取所述服务器在响应所述设备认证请求与所述目标蓝牙设备进行双向认证的过程中为所述目标蓝牙设备生成的目标设备密钥,包括:接收所述服务器发送的第一服务器随机数;响应所述第一服务器随机数生成目标客户端随机数;向所述服务器发送设备密钥协商请求,其中,所述设备密钥协商请求中携带了所述目标客户端随机数;接收所述服务器响应所述密钥协商请求发送的所述目标设备密钥,其中,所述目标设备密钥是所述服务器将所述目标客户端随机数,所述第一服务器随机数和生成的第二服务器随机数输入目标密钥生成算法得到的所述目标密钥生成算法的输出结果。
12.在一个示例性实施例中,在使用所述目标设备密钥对所述目标蓝牙设备的交互数据进行加解密之前,所述方法还包括:接收所述服务器发送的认证指令,其中,所述认证指令中携带有所述目标蓝牙设备的设备标识,服务器签名,服务器证书和所述目标设备密钥;使用所述服务器签名和所述服务器证书对所述服务器进行认证;在认证成功的情况下,使用所述目标设备密钥对设备认证结果进行加密,得到第一加密数据;响应所述认证指令向所述服务器发送所述第一加密数据;接收所述服务器响应所述设备认证结果发送的第二加密数据,其中,所述第二加密数据是使用所述目标设备密钥对服务器认证结果进行加密得到的;在所述服务器认证结果用于指示服务器认证成功的情况下,确定所述双向认证成功。
13.根据本发明实施例的另一个实施例,还提供了一种蓝牙设备的数据传输装置,包括:第一接收模块,用于接收设备认证请求,其中,所述设备认证请求用于请求对目标蓝牙设备进行设备认证;处理模块,用于响应所述设备认证请求与所述目标蓝牙设备进行双向认证,并为所述目标蓝牙设备生成目标设备密钥;第一加解密模块,用于在所述双向认证成功的情况下,使用所述目标设备密钥对所述目标蓝牙设备的交互数据进行加解密。
14.根据本发明实施例的另一个实施例,还提供了一种蓝牙设备的数据传输装置,包括:第一发送模块,用于向服务器发送设备认证请求,其中,所述设备认证请求用于请求对目标蓝牙设备进行设备认证;获取模块,用于获取所述服务器在响应所述设备认证请求与所述目标蓝牙设备进行双向认证的过程中为所述目标蓝牙设备生成的目标设备密钥;第二加解密模块,用于在所述双向认证成功的情况下,使用所述目标设备密钥对所述目标蓝牙设备的交互数据进行加解密。
15.根据本发明实施例的又一方面,还提供了一种计算机可读的存储介质,该计算机可读的存储介质中存储有计算机程序,其中,该计算机程序被设置为运行时执行上述蓝牙设备的数据方法。
16.根据本发明实施例的又一方面,还提供了一种电子装置,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,其中,上述处理器通过计算机程序执行上述的蓝牙设备的数据方法。
17.在本发明实施例中,接收设备认证请求,其中,设备认证请求用于请求对目标蓝牙设备进行设备认证;响应设备认证请求与目标蓝牙设备进行双向认证,并为目标蓝牙设备生成目标设备密钥;在双向认证成功的情况下,使用目标设备密钥对目标蓝牙设备的交互数据进行加解密,即如果接收到用于请求对目标蓝牙设备进行设备认证的设备认证请求,则在响应该设备认证请求与目标蓝牙设备进行双向认证的过程中为目标蓝牙设备生成目标设备密钥,并在双向认证成功的情况下与目标蓝牙设备进行数据交互的过程中使用目标设备密钥对目标蓝牙设备的交互数据进行加解密,从而通过设备认证过程为蓝牙设备生成相应的设备密钥用于后续的数据传输,保证了目标蓝牙设备的交互数据在传输过程中的数据安全性。采用上述技术方案,解决了相关技术中,蓝牙设备接入云平台进行数据传输时数据的安全性较低等问题,实现了提高蓝牙设备接入云平台进行数据传输时数据的安全性的技术效果。
附图说明
18.此处所说明的附图用来提供对本发明的进一步理解,构成本发明的一部分,本发明的示意性实施例及其说明用于解释本发明,并不构成对本发明的不当限定。在附图中:
19.图1是本发明实施例的一种蓝牙设备的数据传输方法的计算机终端的硬件结构框图;
20.图2是根据本发明实施例的一种蓝牙设备的数据传输方法的流程图;
21.图3是根据本发明实施例的一种分配设备标识过程的示意图;
22.图4是根据本发明可选的实施方式的一种蓝牙设备与云端的认证过程的示意图;
23.图5是根据本发明可选的实施方式的一种蓝牙设备与云端的业务交互过程的示意图;
24.图6是根据本发明实施例的另一种蓝牙设备的数据传输方法的流程图;
25.图7是根据本发明实施例的一种蓝牙设备接入云端过程的示意图;
26.图8是根据本发明实施例的一种蓝牙设备的数据传输装置的结构框图;
27.图9是根据本发明实施例的另一种蓝牙设备的数据传输装置的结构框图。
具体实施方式
28.为了使本技术领域的人员更好地理解本发明方案,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分的实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都应当属于本发明保护的范围。
29.需要说明的是,本发明的说明书和权利要求书及上述附图中的术语“第一”、“第二”等是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的本发明的实施例能够以除了在这里图示或描述的那些以外的顺序实施。此外,术语“包括”和“具有”以及他们的任何变形,意图在于覆盖不排他的包含,例如,包含了一系列步骤或单元的过程、方法、系统、产品或设备不必限于清楚地列出的那些步骤或单元,而是可包括没有清楚地列出的或对于这些过程、方法、产品或设备固有的其它步骤或单元。
30.本发明实施例所提供的方法实施例可以在计算机终端、计算机终端或者类似的运算装置中执行。以运行在计算机终端上为例,图1是本发明实施例的一种蓝牙设备的数据传输方法的计算机终端的硬件结构框图。如图1所示,计算机终端可以包括一个或多个(图1中仅示出一个)处理器102(处理器102可以包括但不限于微处理器mcu或可编程逻辑器件fpga等的处理装置)和用于存储数据的存储器104,在一个示例性实施例中,上述计算机终端还可以包括用于通信功能的传输设备106以及输入输出设备108。本领域普通技术人员可以理解,图1所示的结构仅为示意,其并不对上述计算机终端的结构造成限定。例如,计算机终端还可包括比图1中所示更多或者更少的组件,或者具有与图1所示等同功能或比图1所示功能更多的不同的配置。
31.存储器104可用于存储计算机程序,例如,应用软件的软件程序以及模块,如本发明实施例中的蓝牙设备的数据传输方法对应的计算机程序,处理器102通过运行存储在存储器104内的计算机程序,从而执行各种功能应用以及数据处理,即实现上述的方法。存储器104可包括高速随机存储器,还可包括非易失性存储器,如一个或者多个磁性存储装置、闪存、或者其他非易失性固态存储器。在一些实例中,存储器104可进一步包括相对于处理器102远程设置的存储器,这些远程存储器可以通过网络连接至计算机终端。上述网络的实例包括但不限于互联网、企业内部网、局域网、移动通信网及其组合。
32.传输装置106用于经由一个网络接收或者发送数据。上述的网络具体实例可包括计算机终端的通信供应商提供的无线网络。在一个实例中,传输装置106包括一个网络适配器(network interface controller,简称为nic),其可通过基站与其他网络设备相连从而可与互联网进行通讯。在一个实例中,传输装置106可以为射频(radio frequency,简称为rf)模块,其用于通过无线方式与互联网进行通讯。
33.在本实施例中提供了一种蓝牙设备的数据传输方法,图2是根据本发明实施例的一种蓝牙设备的数据传输方法的流程图,该流程包括如下步骤:
34.步骤s202,接收设备认证请求,其中,所述设备认证请求用于请求对目标蓝牙设备进行设备认证;
35.步骤s204,响应所述设备认证请求与所述目标蓝牙设备进行双向认证,并为所述目标蓝牙设备生成目标设备密钥;
36.步骤s206,在所述双向认证成功的情况下,使用所述目标设备密钥对所述目标蓝牙设备的交互数据进行加解密。
37.通过上述步骤,如果接收到用于请求对目标蓝牙设备进行设备认证的设备认证请求,则在响应该设备认证请求与目标蓝牙设备进行双向认证的过程中为目标蓝牙设备生成目标设备密钥,并在双向认证成功的情况下与目标蓝牙设备进行数据交互的过程中使用目
标设备密钥对目标蓝牙设备的交互数据进行加解密,从而通过设备认证过程为蓝牙设备生成相应的设备密钥用于后续的数据传输,保证了目标蓝牙设备的交互数据在传输过程中的数据安全性。采用上述技术方案,解决了相关技术中,蓝牙设备接入云平台进行数据传输时数据的安全性较低等问题,实现了提高蓝牙设备接入云平台进行数据传输时数据的安全性的技术效果。
38.可选地,在本实施例中,上述蓝牙设备的数据传输方法可以但不限于应用于服务器侧,比如:可以但不限于应用于业务系统中部署的用于设备密钥生成,下发和管理以及对蓝牙设备的交互数据进行加解密的服务器,或者,实现该功能的服务器也可以但不限于独立于业务系统单独部署。该服务器可以但不限于称为设备安全服务器。
39.在上述步骤s202提供的技术方案中,设备认证请求可以但不限于是由目标蓝牙设备发送的,或者也可以但不限于是由蓝牙设备所连接的应用程序(app)发送的。
40.可选地,在本实施例中,目标蓝牙设备可以但不限于包括任何通过蓝牙协议与云平台进行连接的设备,比如:音箱,电视,洗衣机,空调,扫地机器人,风扇等等。在蓝牙设备接入云平台业务系统的过程中,由于蓝牙设备自身的限制,无法直接与云端通信,可以通过连接app,再由app连接蓝牙网关设备接入云端,或者,通过连接app,再由app直接接入云端,或者,通过直接连接蓝牙网关设备接入云端。这样蓝牙设备与云端的通信就变为蓝牙设备、蓝牙网关与云端的通信。
41.可选地,在本实施例中,设备认证请求中可以但不限于携带有目标蓝牙设备的设备标识(设备id,deviceid),该设备标识可以但不限于是预先分配给目标蓝牙设备的,设备id用于与唯一标识目标蓝牙设备。可以但不限于由部署的设备颁发服务器通过颁发设备证书的形式将设备id分配给每个蓝牙设备。
42.比如:图3是根据本发明实施例的一种分配设备标识过程的示意图,如图3所示,设备颁发服务器用于为每个设备颁发一个私有证书,证书中携带设备的唯一标识,即设备id。烧写工具向设备颁发服务器申请证书,设备颁发服务器生成设备id并基于设备id生成设备证书,然后将设备证书返回给烧写工具,烧写工具把设备证书烧写到蓝牙设备上。并且设备颁发服务器也会维护设备证书与设备的关系。
43.在上述步骤s204提供的技术方案中,在响应设备认证请求与目标蓝牙设备进行双向认证的过程中,可以为目标蓝牙设备生成目标设备密钥,并将生成的目标设备密钥通过双向认证过程中的交互信息发送给目标蓝牙设备,从而使得目标蓝牙设备能够使用该目标设备密钥对交互数据进行加解密。
44.可选地,在本实施例中,目标蓝牙设备和云端可以但不限于通过三次交互的方式完成目标蓝牙设备和云端双方的认证,并生成目标蓝牙设备和云端交互的目标设备密钥(设备key)。
45.在一个示例性实施例中,在响应设备认证请求与目标蓝牙设备进行双向认证的过程中,可以但不限于通过以下方式为目标蓝牙设备生成目标设备密钥:获取所述目标蓝牙设备生成的一个或者多个客户端随机数;使用所述一个或者多个客户端随机数,以及,生成的一个或者多个服务器随机数生成所述目标设备密钥。
46.可选地,在本实施例中,可以但不限于使用目标蓝牙设备与服务器分别生成的随机数为目标蓝牙设备生成目标设备密钥。
47.在一个示例性实施例中,可以但不限于通过以下方式获取目标蓝牙设备生成的一个或者多个客户端随机数:生成第一服务器随机数;将所述第一服务器随机数发送至所述目标蓝牙设备;接收所述目标蓝牙设备响应所述第一服务器随机数发送的设备密钥协商请求,其中,所述设备密钥协商请求中携带了所述目标蓝牙设备生成的目标客户端随机数。
48.可选地,在本实施例中,生成第一服务器随机数之后,服务器还可以将具有对应关系的设备id和第一服务器随机数进行缓存。
49.可选地,在本实施例中,在将第一服务器随机数发送至目标蓝牙设备的方式可以但不限于为将具有对应关系的设备id和第一服务器随机数发送至目标蓝牙设备。
50.可选地,在本实施例中,具有对应关系的设备id和第一服务器随机数的发送方式可以但不限于为明文方式。
51.在一个示例性实施例中,可以但不限于通过以下方式使用一个或者多个客户端随机数,以及,生成的一个或者多个服务器随机数生成目标设备密钥:对所述设备密钥协商请求中携带的设备签名和设备证书进行认证;在认证成功的情况下,生成第二服务器随机数;将所述目标客户端随机数,所述第一服务器随机数和所述第二服务器随机数输入目标密钥生成算法,得到所述目标密钥生成算法的输出结果作为所述目标设备密钥。
52.可选地,在本实施例中,设备密钥协商请求中还携带了设备id,设备签名和设备证书,用于完成目标蓝牙设备与云端之间的双向认证过程。
53.可选地,在本实施例中,服务器使用设备密钥协商请求中携带的设备签名和设备证书对目标蓝牙设备进行认证,如果认证成功,则首先生成第二服务器随机数,再通过目标密钥生成算法对目标客户端随机数,第一服务器随机数和第二服务器随机数进行运算得到目标设备密钥。
54.可选地,在本实施例中,服务器使用设备密钥协商请求中携带的设备签名和设备证书对目标蓝牙设备进行认证的方式可以但不限于首先认证设备证书和设备签名,再校验设备证书cn是否与设备id一致。
55.可选地,在本实施例中,目标密钥生成算法可以但不限于任何能够使用多个随机数生成密钥的算法,比如:sha256算法。
56.在一个可选的实施方式中,提供了一个蓝牙设备与云端进行双向认证的过程,图4是根据本发明可选的实施方式的一种蓝牙设备与云端的认证过程的示意图,如图4所示,分三次交互完成设备和云端的认证,第一次智能蓝牙设备(即上述目标蓝牙设备)通过app携带设备唯一标识(diviceid),发起双向认证请求(即上述设备认证请求),云端(即设备安全服务器)生成一个随机数s1(即上述第一服务器随机数),发给智能蓝牙设备。
57.第二次设备生产一个随机数rand_c(即上述目标客户端随机数),并携带设备证书和设备签名发个云端,云端对设备证书和设备签名进行认证,校验后,生成第二个随机数s2(即上述第二服务器随机数)。根据云端的2个随机数及智能蓝牙设备的1个随机数,生成设备和云端交互的设备key(即上述目标设备密钥),记为ltk。设备key的生成算法可以根据设备的能力不同采用不同的算法,比如可以采用sha256算法。生成设备key后携带服务器签名及服务器证书,发送给智能蓝牙设备。
58.第三次,智能蓝牙设备根据云端第二次返回的数据,校验云端的身份,校验过后,认为云端可信任,发送设备确认消息(该设备确认消息可以使用设备key加密)给云端,云端
收到确认消息后,会发一个服务器确认消息(该服务器确认消息使用设备key加密)到设备。通过设备和云端的上述三次交互完成了设备和云端双方的认证,生成了设备和云端交互的设备key。
59.在上述步骤s206提供的技术方案中,后续目标蓝牙设备与云端的业务系统进行交互的过程中使用双向认证过程中生成的目标设备密钥对交互数据进行加解密,从而保障目标蓝牙设备的交互数据的传输安全性。
60.可选地,在本实施例中,云端的业务系统可以但不限于通过云端的设备安全服务器对目标蓝牙设备的交互数据进行加解密处理。
61.在一个示例性实施例中,在上述步骤s206之前,还可以但不限于通过以下方式确定双向认证已成功:向所述目标蓝牙设备发送认证指令,其中,所述认证指令中携带有所述目标蓝牙设备的设备标识,服务器签名,服务器证书和所述目标设备密钥,所述服务器签名和所述服务器证书用于所述目标蓝牙设备对服务器进行认证;接收所述目标蓝牙设备响应所述认证指令返回的第一加密数据,其中,所述第一加密数据是使用所述目标设备密钥对设备认证结果进行加密得到的;使用所述目标设备密钥对所述第一加密数据进行解密,得到所述设备认证结果;在所述设备认证结果用于指示设备认证成功的情况下,确定所述双向认证成功;响应所述设备认证结果,向所述目标蓝牙设备发送第二加密数据,其中,所述第二加密数据是使用所述目标设备密钥对服务器认证结果进行加密得到的,所述服务器认证结果用于指示服务器认证成功。
62.可选地,在本实施例中,在目标蓝牙设备及云端都具备设备key后,就可以进行相应的业务交互了。所有的业务数据需要通过设备key加密。业务数据在通路中,使用设备key加密;做业务之前,先通过设备key解密,做完业务之后,再通过设备key加密。把加密数据及设备标识返回给设备。设备根据返回的数据判断业务是否成功。
63.在一个可选的实施方式中,提供了一个使用设备key进行业务交互的过程,图5是根据本发明可选的实施方式的一种蓝牙设备与云端的业务交互过程的示意图,如图5所示,蓝牙设备通过app或者蓝牙网关向业务系统发送携带了deviceid的设备key加密数据(比如使用设备key加密的业务请求)。业务系统将该携带了deviceid的设备key加密数据转发至设备安全服务器,由设备安全服务器根据deviceid查询相应的设备key,对设备key加密数据进行数据解密,得到解密数据,将携带了deviceid的解密数据返回给业务系统,由业务系统进行相应的业务处理,得到处理结果,将携带有deviceid的处理结果作为需要加密的数据发送给设备安全服务器。由设备安全服务器根据deviceid查询相应的设备key,对需要加密的数据进行数据加密,得到加密数据,将携带了deviceid的设备key加密数据返回给业务系统。业务系统将携带了deviceid的设备key加密数据发送至蓝牙设备,蓝牙设备使用设备key对其进行解密,得到业务的处理结果,根据该处理结果判断业务是否成功。
64.可选地,在本实施例中,在蓝牙设备成功接入云端之后还可以由业务系统制订适合的业务数据的配置。比如业务数据的组装格式等等。
65.可选地,在本实施例中,对于业务数据的组装格式,可以但不限于采用以下两种数据格式,或者根据需要制订适合的数据格式。
66.格式一,tlv格式,包括xml,json等等数据格式。
67.格式二,protobuf格式,protobuf(google protocol buffers)是google开发的一
套用于数据存储,网络通信时用于协议编解码的工具库。protobuf是一种二进制的数据格式,具有更高的传输,打包和解包效率。
68.在本实施例中提供了另一种蓝牙设备的数据传输方法,图6是根据本发明实施例的另一种蓝牙设备的数据传输方法的流程图,如图6所示,该流程包括如下步骤:
69.步骤s602,向服务器发送设备认证请求,其中,所述设备认证请求用于请求对目标蓝牙设备进行设备认证;
70.步骤s604,获取所述服务器在响应所述设备认证请求与所述目标蓝牙设备进行双向认证的过程中为所述目标蓝牙设备生成的目标设备密钥;
71.步骤s606,在所述双向认证成功的情况下,使用所述目标设备密钥对所述目标蓝牙设备的交互数据进行加解密。
72.通过上述步骤,向服务器发送用于请求对目标蓝牙设备进行设备认证的设备认证请求后接收到服务器在双向认证过程中为目标蓝牙设备生成的目标设备密钥,在双向认证成功的情况下与服务器进行数据交互的过程中使用目标设备密钥对目标蓝牙设备的交互数据进行加解密,从而通过设备认证过程为蓝牙设备生成相应的设备密钥用于后续的数据传输,保证了目标蓝牙设备的交互数据在传输过程中的数据安全性。采用上述技术方案,解决了相关技术中,蓝牙设备接入云平台进行数据传输时数据的安全性较低等问题,实现了提高蓝牙设备接入云平台进行数据传输时数据的安全性的技术效果。
73.可选地,在本实施例中,上述蓝牙设备的数据传输方法可以但不限于应用于上述目标蓝牙设备,或者应用于为上述目标蓝牙设备提供云端连接的app或者蓝牙网关。
74.在上述步骤s602提供的技术方案中,设备认证请求中可以但不限于携带了目标蓝牙设备的设备标识(设备id,deviceid)。
75.可选地,在本实施例中,目标蓝牙设备可以但不限于通过蓝牙网关或者app进行数据的传输。在上述步骤s602之前,还可以但不限于进行蓝牙网关、app代理通道的建立。由于蓝牙设备自身的限制,不能直接建立与云端的通信,可以通过app或者网关设备建立一条转发的通道,后面蓝牙设备所涉及的业务均会通过这条代理通道与云端进行交互。
76.在上述步骤s604提供的技术方案中,服务器在响应设备认证请求与目标蓝牙设备进行双向认证的过程中为目标蓝牙设备生成目标设备密钥,并在与目标蓝牙设备进行双向认证的过程中将目标设备密钥发送给目标蓝牙设备。
77.在一个示例性实施例中,可以但不限于通过以下方式获取服务器生成的目标设备密钥:接收所述服务器发送的第一服务器随机数;响应所述第一服务器随机数生成目标客户端随机数;向所述服务器发送设备密钥协商请求,其中,所述设备密钥协商请求中携带了所述目标客户端随机数;接收所述服务器响应所述密钥协商请求发送的所述目标设备密钥,其中,所述目标设备密钥是所述服务器将所述目标客户端随机数,所述第一服务器随机数和生成的第二服务器随机数输入目标密钥生成算法得到的所述目标密钥生成算法的输出结果。
78.在上述步骤s606提供的技术方案中,对于目标蓝牙设备发出的交互数据可以使用目标设备密钥进行加密。发送给目标蓝牙设备的交互数据也均是使用目标设备密钥加密过的,对于发送给目标蓝牙设备的交互数据可以使用目标设备密钥进行解密。
79.在一个示例性实施例中,在上述步骤s606之前,还可以但不限于通过以下方式确
定双向认证已成功:接收所述服务器发送的认证指令,其中,所述认证指令中携带有所述目标蓝牙设备的设备标识,服务器签名,服务器证书和所述目标设备密钥;使用所述服务器签名和所述服务器证书对所述服务器进行认证;在认证成功的情况下,使用所述目标设备密钥对设备认证结果进行加密,得到第一加密数据;响应所述认证指令向所述服务器发送所述第一加密数据;接收所述服务器响应所述设备认证结果发送的第二加密数据,其中,所述第二加密数据是使用所述目标设备密钥对服务器认证结果进行加密得到的;在所述服务器认证结果用于指示服务器认证成功的情况下,确定所述双向认证成功。
80.可选地,在本实施例中,确定双向认证已成功的过程中可以但不限于使用目标设备密钥对传输的数据进行加解密。
81.为了更好的理解上述蓝牙设备的数据传输方法的过程,以下再结合可选实施例对上述蓝牙设备的数据传输过程的实现方法流程进行说明,但不用于限定本发明实施例的技术方案。
82.下面结合实施例对本发明进行具体说明:
83.图7是根据本发明实施例的一种蓝牙设备接入云端过程的示意图,如图7所示,设备颁发服务器为每个设备颁发一个私有证书,证书中携带设备唯一标识,即设备id,并将为蓝牙设备生成的设备证书烧写到蓝牙设备上。蓝牙设备与蓝牙网关和app建立代理通道。蓝牙设备通过该代理通道与云端的设备安全服务器进行双向认证,并在认证过程中生成设备key。后续蓝牙设备与云端的业务系统进行业务交互的过程中,蓝牙设备使用设备key对业务数据进行加解密,业务系统通过设备安全服务器对设备数据进行加解密。
84.通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到根据上述实施例的方法可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件,但很多情况下前者是更佳的实施方式。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质(如rom/ram、磁碟、光盘)中,包括若干指令用以使得一台终端设备(可以是手机,计算机,服务器,或者网络设备等)执行本发明各个实施例的方法。
85.图8是根据本发明实施例的一种蓝牙设备的数据传输装置的结构框图;如图8所示,包括:
86.第一接收模块82,用于接收设备认证请求,其中,所述设备认证请求用于请求对目标蓝牙设备进行设备认证;
87.处理模块84,用于响应所述设备认证请求与所述目标蓝牙设备进行双向认证,并为所述目标蓝牙设备生成目标设备密钥;
88.第一加解密模块86,用于在所述双向认证成功的情况下,使用所述目标设备密钥对所述目标蓝牙设备的交互数据进行加解密。
89.通过上述装置,如果接收到用于请求对目标蓝牙设备进行设备认证的设备认证请求,则在响应该设备认证请求与目标蓝牙设备进行双向认证的过程中为目标蓝牙设备生成目标设备密钥,并在双向认证成功的情况下与目标蓝牙设备进行数据交互的过程中使用目标设备密钥对目标蓝牙设备的交互数据进行加解密,从而通过设备认证过程为蓝牙设备生成相应的设备密钥用于后续的数据传输,保证了目标蓝牙设备的交互数据在传输过程中的数据安全性。采用上述技术方案,解决了相关技术中,蓝牙设备接入云平台进行数据传输时
数据的安全性较低等问题,实现了提高蓝牙设备接入云平台进行数据传输时数据的安全性的技术效果。
90.在一个示例性实施例中,所述处理模块包括:获取单元,用于获取所述目标蓝牙设备生成的一个或者多个客户端随机数;第一生成单元,用于使用所述一个或者多个客户端随机数,以及,生成的一个或者多个服务器随机数生成所述目标设备密钥。
91.在一个示例性实施例中,所述获取单元用于:生成第一服务器随机数;
92.将所述第一服务器随机数发送至所述目标蓝牙设备;接收所述目标蓝牙设备响应所述第一服务器随机数发送的设备密钥协商请求,其中,所述设备密钥协商请求中携带了所述目标蓝牙设备生成的目标客户端随机数。
93.在一个示例性实施例中,所述第二生成单元用于:对所述设备密钥协商请求中携带的设备签名和设备证书进行认证;在认证成功的情况下,生成第二服务器随机数;将所述目标客户端随机数,所述第一服务器随机数和所述第二服务器随机数输入目标密钥生成算法,得到所述目标密钥生成算法的输出结果作为所述目标设备密钥。
94.在一个示例性实施例中,所述装置还包括:第二发送模块,用于在使用所述目标设备密钥对所述目标蓝牙设备的交互数据进行加解密之前,向所述目标蓝牙设备发送认证指令,其中,所述认证指令中携带有所述目标蓝牙设备的设备标识,服务器签名,服务器证书和所述目标设备密钥,所述服务器签名和所述服务器证书用于所述目标蓝牙设备对服务器进行认证;第二接收模块,用于接收所述目标蓝牙设备响应所述认证指令返回的第一加密数据,其中,所述第一加密数据是使用所述目标设备密钥对设备认证结果进行加密得到的;解密模块,用于使用所述目标设备密钥对所述第一加密数据进行解密,得到所述设备认证结果;第一确定模块,用于在所述设备认证结果用于指示设备认证成功的情况下,确定所述双向认证成功;第三发送模块,用于响应所述设备认证结果,向所述目标蓝牙设备发送第二加密数据,其中,所述第二加密数据是使用所述目标设备密钥对服务器认证结果进行加密得到的,所述服务器认证结果用于指示服务器认证成功。
95.图9是根据本发明实施例的一种蓝牙设备的数据传输装置的结构框图;如图9所示,包括:
96.第一发送模块92,用于向服务器发送设备认证请求,其中,所述设备认证请求用于请求对目标蓝牙设备进行设备认证;
97.获取模块94,用于获取所述服务器在响应所述设备认证请求与所述目标蓝牙设备进行双向认证的过程中为所述目标蓝牙设备生成的目标设备密钥;
98.第二加解密模块96,用于在所述双向认证成功的情况下,使用所述目标设备密钥对所述目标蓝牙设备的交互数据进行加解密。
99.通过上述装置,向服务器发送用于请求对目标蓝牙设备进行设备认证的设备认证请求后接收到服务器在双向认证过程中为目标蓝牙设备生成的目标设备密钥,在双向认证成功的情况下与服务器进行数据交互的过程中使用目标设备密钥对目标蓝牙设备的交互数据进行加解密,从而通过设备认证过程为蓝牙设备生成相应的设备密钥用于后续的数据传输,保证了目标蓝牙设备的交互数据在传输过程中的数据安全性。采用上述技术方案,解决了相关技术中,蓝牙设备接入云平台进行数据传输时数据的安全性较低等问题,实现了提高蓝牙设备接入云平台进行数据传输时数据的安全性的技术效果。
100.在一个示例性实施例中,所述获取模块包括:第一接收单元,用于接收所述服务器发送的第一服务器随机数;第二生成单元,用于响应所述第一服务器随机数生成目标客户端随机数;发送单元,用于向所述服务器发送设备密钥协商请求,其中,所述设备密钥协商请求中携带了所述目标客户端随机数;第二接收单元,用于接收所述服务器响应所述密钥协商请求发送的所述目标设备密钥,其中,所述目标设备密钥是所述服务器将所述目标客户端随机数,所述第一服务器随机数和生成的第二服务器随机数输入目标密钥生成算法得到的所述目标密钥生成算法的输出结果。
101.在一个示例性实施例中,所述装置还包括:第三接收模块,用于在使用所述目标设备密钥对所述目标蓝牙设备的交互数据进行加解密之前,接收所述服务器发送的认证指令,其中,所述认证指令中携带有所述目标蓝牙设备的设备标识,服务器签名,服务器证书和所述目标设备密钥;认证模块,用于使用所述服务器签名和所述服务器证书对所述服务器进行认证;加密模块,用于在认证成功的情况下,使用所述目标设备密钥对设备认证结果进行加密,得到第一加密数据;第四发送模块,用于响应所述认证指令向所述服务器发送所述第一加密数据;第四接收模块,用于接收所述服务器响应所述设备认证结果发送的第二加密数据,其中,所述第二加密数据是使用所述目标设备密钥对服务器认证结果进行加密得到的;第二确定模块,用于在所述服务器认证结果用于指示服务器认证成功的情况下,确定所述双向认证成功。
102.需要说明的是,上述各个模块是可以通过软件或硬件来实现的,对于后者,可以通过以下方式实现,但不限于此:上述模块均位于同一处理器中;或者,上述各个模块以任意组合的形式分别位于不同的处理器中。
103.本发明的实施例还提供了一种存储介质,该存储介质包括存储的程序,其中,上述程序运行时执行上述任一项的方法。
104.可选地,在本实施例中,上述存储介质可以被设置为存储用于执行以下步骤的程序代码:
105.s11,接收设备认证请求,其中,所述设备认证请求用于请求对目标蓝牙设备进行设备认证;
106.s12,响应所述设备认证请求与所述目标蓝牙设备进行双向认证,并为所述目标蓝牙设备生成目标设备密钥;
107.s13,在所述双向认证成功的情况下,使用所述目标设备密钥对所述目标蓝牙设备的交互数据进行加解密。
108.可选地,在本实施例中,上述存储介质还可以被设置为存储用于执行以下步骤的程序代码:
109.s21,向服务器发送设备认证请求,其中,所述设备认证请求用于请求对目标蓝牙设备进行设备认证;
110.s22,获取所述服务器在响应所述设备认证请求与所述目标蓝牙设备进行双向认证的过程中为所述目标蓝牙设备生成的目标设备密钥;
111.s23,在所述双向认证成功的情况下,使用所述目标设备密钥对所述目标蓝牙设备的交互数据进行加解密。
112.本发明的实施例还提供了一种电子装置,包括存储器和处理器,该存储器中存储
有计算机程序,该处理器被设置为运行计算机程序以执行上述任一项方法实施例中的步骤。
113.可选地,上述电子装置还可以包括传输设备以及输入输出设备,其中,该传输设备和上述处理器连接,该输入输出设备和上述处理器连接。
114.可选地,在本实施例中,上述处理器可以被设置为通过计算机程序执行以下步骤:
115.s11,接收设备认证请求,其中,所述设备认证请求用于请求对目标蓝牙设备进行设备认证;
116.s12,响应所述设备认证请求与所述目标蓝牙设备进行双向认证,并为所述目标蓝牙设备生成目标设备密钥;
117.s13,在所述双向认证成功的情况下,使用所述目标设备密钥对所述目标蓝牙设备的交互数据进行加解密。
118.可选地,在本实施例中,上述处理器还可以被设置为通过计算机程序执行以下步骤:
119.s21,向服务器发送设备认证请求,其中,所述设备认证请求用于请求对目标蓝牙设备进行设备认证;
120.s22,获取所述服务器在响应所述设备认证请求与所述目标蓝牙设备进行双向认证的过程中为所述目标蓝牙设备生成的目标设备密钥;
121.s23,在所述双向认证成功的情况下,使用所述目标设备密钥对所述目标蓝牙设备的交互数据进行加解密。
122.可选地,在本实施例中,上述存储介质可以包括但不限于:u盘、只读存储器(read

only memory,简称为rom)、随机存取存储器(random access memory,简称为ram)、移动硬盘、磁碟或者光盘等各种可以存储程序代码的介质。
123.可选地,本实施例中的具体示例可以参考上述实施例及可选实施方式中所描述的示例,本实施例在此不再赘述。
124.显然,本领域的技术人员应该明白,上述的本发明的各模块或各步骤可以用通用的计算装置来实现,它们可以集中在单个的计算装置上,或者分布在多个计算装置所组成的网络上,可选地,它们可以用计算装置可执行的程序代码来实现,从而,可以将它们存储在存储装置中由计算装置来执行,并且在某些情况下,可以以不同于此处的顺序执行所示出或描述的步骤,或者将它们分别制作成各个集成电路模块,或者将它们中的多个模块或步骤制作成单个集成电路模块来实现。这样,本发明不限制于任何特定的硬件和软件结合。
125.以上所述仅为本发明的优选实施例而已,并不用于限制本发明,对于本领域的技术人员来说,本发明可以有各种更改和变化。凡在本发明的原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。
再多了解一些

本文用于企业家、创业者技术爱好者查询,结果仅供参考。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表

相关文献