一种蓝牙网络及配网方法与流程

文档序号:11181176阅读:6503来源:国知局
一种蓝牙网络及配网方法与流程

本发明涉及一种组网技术,具体涉及一种蓝牙网络及配网方法。



背景技术:

蓝牙是一种无线技术标准,可实现固定设备、移动设备和楼宇个人域网之间的短距离数据交换(使用2.4—2.485ghz的ism波段的uhf无线电波)。蓝牙技术最初由电信巨头爱立信公司于1994年创制,当时是作为rs232数据线的替代方案。蓝牙可连接多个设备,克服了数据同步的难题。

蓝牙配网,简称为blufi。该功能主要定义了使用gattserver(通用属性协议服务)来实现被gattclient(通用属性协议客户端,例如手机)传入wifi的必连接信息,从而实现wifi能够连上ap或配置使用softap的profile。



技术实现要素:

本发明提供一种蓝牙网络及配网方法,实现通过蓝牙配置无线网络,并保证保障蓝牙配网及网络通讯过程中的数据安全。

为实现上述面对目的,本发明提供一种蓝牙配网方法,其特点是,该方法包含:

蓝牙通信设备与移动终端通过蓝牙建立连接;

蓝牙通信设备与移动终端协商得出数据加密方式以及用于数据解密的共享密钥;

蓝牙通信设备连接外接的无线网络。

上述蓝牙通信设备与移动终端建立连接的方法包含:

蓝牙通信设备开启通用属性协议服务功能,发送带有预设广播数据的广播;

移动终端搜索到蓝牙通信设备的广播,作为预设的通用属性协议客户端与蓝牙通信设备建立连接。

上述蓝牙通信设备与移动终端协商加解密的方法包含:

移动终端向蓝牙通信设备发送“协商过程”的数据包;

蓝牙通信设备收到“协商过程”的数据包后,按照预设的“协商过程”进行解析,得出移动终端向蓝牙通信设备发送数据的加密方式,并通过非对称加密方法生成对应的共享密钥。

上述蓝牙通信设备与外接的无线网络建立网络连接包含:

移动终端将用于与外接的无线网络连接的连接信息进行加密后发送至蓝牙通信设备,并在连接信息发送完成后向蓝牙通信设备发送网络连接请求;

蓝牙通信设备接收移动终端的数据通过共享密钥进行解密;

当蓝牙通信设备接收到网络连接请求,则判定用于网络连接的信息传输完毕,启动与外接的无线网络连接;

蓝牙通信设备与外接的无线网络建立连接后,送无线网络连接状态信息至移动终端。

上述数据的加密方式采用对称加密方法生成。

上述蓝牙通信设备接收移动终端的数据后对报文进行完整性校验、安全签名校验和防重放攻击校验。

上述蓝牙通信设备协商生成共享密钥的信息由应用层处理;若应用层不处理,可使用蓝牙配网提供的dh加密算法来磋商密钥。

上述蓝牙通信设备连接外接的无线网络后,移动终端通过蓝牙通信设备对无线网络进行配置。

一种蓝牙网络,其特点是,该网络包含:

蓝牙通信设备,其连接外接的无线网络;

移动终端,其通过蓝牙通信连接蓝牙通信设备,通过蓝牙通信设备连接外接的无线网络;蓝牙通信设备与移动终端协商采用对称加密方法生成数据加密方式,以及采用非对称加密方法生成用于数据解密的共享密钥。

上述蓝牙通信设备设有wifi和蓝牙的双模芯片。

本发明一种蓝牙网络及配网方法和现有技术相比,其优点在于,本发明蓝牙配网过程中采用对称加密方法对报文数据的加密方式,并采用非对称加密方法生成对应的共享密匙,保障蓝牙配网及网络通讯过程中的数据安全;

本发明中蓝牙通信设备接收移动终端的数据后,对报文进行完整性校验、安全签名校验和防重放攻击校验,保证数据安全、完整性、身份安全。

附图说明

图1为本发明一种蓝牙配网方法的方法流程图。

具体实施方式

以下结合附图,进一步说明本发明的具体实施例。

以下具体公开一种蓝牙配网方法的实施例,blufi配网包含了配置softap和station两部分。blufi配网中的station配置项目包含了广播、连接、服务发现、协商共享密钥、传输数据、回传连接状态等步骤。本实施例中以配置station为例说明配置步骤。

本实施例中gattclient以最常用的手机为例展开阐述;blufi配网主要有两个功能:一是用于接收手机端的数据,二是用于发送数据给手机端。当然,blufi还包含了一些重要功能,如blufi层分片、blufi层数据加密和校验、blufi层数据确认等。基于本实施例用户可以实现blufi配网的过程中的对称加密、非对称加密以及校验算法;本实施例中默认使用dh算法协商密钥,128-aes加密数据,crc16对数据进行校验。

如图1所示,为一种蓝牙配网方法实施例的具体流程,具体包含以下步骤:

s1、蓝牙通信设备开启通用属性协议服务(gattserver)功能,发送带有特定预设广播数据(advdata)的广播。其中,此广播由用户自定义,不在blufiprofile内。

本实施例中,蓝牙通信设备采用设有esp32芯片的设备,esp32是一款wifi+bt的双模芯片。

s2、移动终端(本实施例中为手机)上预装的app搜索到蓝牙通信设备的广播,作为预设的通用属性协议客户端(gattclient)与蓝牙通信设备建立连接。其中,手机app可以由用户自定义。

s3、蓝牙通信设备与手机连接建立成功后,手机向蓝牙通信设备发送“协商过程”的数据包。

s4、蓝牙通信设备收到“协商过程”的数据包后,会按照用户自定义的“协商过程”来解析。

s5、手机与蓝牙通信设备进行协商,协商确定移动终端向蓝牙通信设备发送数据的加密方式,并且协商确定用于数据解密的共享密钥。

其中加密方式采用例如aes、或des等的对称加密算法。

共享密钥采用dh、或rsa、或ecc等非对称加密算法协商生成。

具体的,对称加解密时,加解密前的数据长度和加解密后的数据长度必须一致,且支持原地加解密。

在esp32端的代码中,密钥协商等安全处理的流程,由用户来决定和开发。手机app向esp32发送协商数据(negotiatedata),negotiatedata类型的包将传送给应用层处理。如果应用层不愿意处理,可使用blufi提供的dh加密算法来磋商密钥。应用层需向blufi注册如下几个与安全相关的函数:

1)函数1:typedefvoid(*esp_blufi_negotiate_data_handler_t)(uint8_t*data,intlen,uint8_t**output_data,int*output_len,bool*need_free);

该函数1用来接收协商期间的normaldata,处理完成后,需要将待发送的数据使用output_data和output_len传出。blufi会在调用完negotiate_data_handler后,发送negotiate_data_handler传出的output_data。这里是两个“*”,因为不知道最后需要发出去的长度,所以需要函数自己malloc或者指向全局变量,通过need_free通知是否需要free内存。

2)函数2:typedefint(*esp_blufi_encrypt_func_t)(uint8_tiv8,uint8_t*crypt_data,intcyprt_len);

函数2表明加密和解密的数据长度必须一致。

3)函数3:typedefint(*esp_blufi_decrypt_func_t)(uint8_tiv8,uint8_t*crypt_data,intcrypt_len);

函数3表示加密和解密的数据长度必须一致。

4)函数4:typedefuint16_t(*esp_blufi_checksum_func_t)(uint8_tiv8,uint8_t*data,intlen);

该函数4用来计算checksum,返回值为checksum的值。blufi会使用该函数返回值与包末尾的checksum做比较。

s6、协商结束后,手机端向蓝牙通信设备发送“设置安全模式”的控制包。“设置安全模式”的控制包中包含蓝牙通信设备接收移动终端的数据后对报文进行的完整性校验方法、身份安全签名校验方法和防重放攻击校验方法。蓝牙通信设备收到“设置安全模式”的控制包,将使用协商出来的共享密钥以及配置的安全策略对通信数据进行加解密。

报文完整性校验方法采用例如sha1、md5、crc等的校验算法。

身份安全签名校验方法采用例如rsa、或dh等算法进行签名校验。其中rsa算法可以保证身份安全;而dh算法本身不能保证身份安全,需要添加其他算法来签名。

防重放攻击校验方法采用:加入发包sequence,并且sequence参与数据校验。

进一步的,安全模式可以在配网过程中的任何时候进行设置,esp32收到安全模式的配置后,就会根据安全模式指定的模式进行安全相关的操作。

s7、手机将用于wifi连接的“blufi传输格式”定义的用户名、密码等必要的连接信息,通过对称加密算法进行加密后,发送至蓝牙通信设备。

s8、当手机将所有用于连接的必要的连接信息发送完成后,手机向蓝牙通信设备发送“wifi连接请求”。

s9、蓝牙通信设备接收移动终端发出的包含连接信息和“wifi连接请求”等数据,通过共享密钥进行解密,并进行完整性校验、身份安全签名校验和防重放攻击校验。

s10、当蓝牙通信设备确认接收到“wifi连接请求”,则判定手机已经将用于wifi连接的必要的连接信息传输完毕,启动连接wifi网络。

s11、蓝牙通信设备连接wifi后,将发送『wifi连接状态报告』的控制包给手机,以报告连接状态。配网结束。

进一步的,手机可以通过蓝牙对wifi网络实现配置。

本发明还公开了一种适用于上述蓝牙配网方法的蓝牙网络,该蓝牙通信网络包含:蓝牙通信设备和移动终端。

蓝牙通信设备采用设有例如esp32芯片等wifi和蓝牙的双模芯片的通信设备,用于通过蓝牙连接移动终端,并通过wifi连接wifi网络。

移动终端可以为手机、平板等,通过蓝牙通信连接蓝牙通信设备,通过蓝牙通信设备连接wifi网络,对wifi网络进行配置。

除上述所示用于配置wifistation的优选实施例之外,本发明在配置wifi模式上,还包括但不限于配置wifistation、ap、hotspot、sniffer等;此发明在软硬件形态上,包括但不限于各种嵌入式软件,手机/平板app,webserver等。

尽管本发明的内容已经通过上述优选实施例作了详细介绍,但应当认识到上述的描述不应被认为是对本发明的限制。在本领域技术人员阅读了上述内容后,对于本发明的多种修改和替代都将是显而易见的。因此,本发明的保护范围应由所附的权利要求来限定。

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