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

基于数据链的蓝牙设备间实现虚拟连接和安全传输的方法与流程

2022-04-30 08:50:41 来源:中国专利 TAG:


1.本发明涉及蓝牙设备通信技术领域。


背景技术:

2.蓝牙通信拥有设备覆盖范围广、跨系统跨平台通信和传输速率快等优点,但目前不同型号设备的蓝牙模组性能和适配性存在差异。根据蓝牙协会制定的统一标准,不同厂商对蓝牙模块都进行一定订制与封装,导致部分设备间出现蓝牙握手速度慢、无法发现部分服务、连接后传输速度慢或不时通信中断等问题。
3.为更好解决上述问题,简化握手步骤和提升跨设备间蓝牙通信的兼容性与传输稳定性,实现以下技术:省去握手与建立连接的过程,通过双向设备验证后建立虚拟连接,确保设备间能进行点对点的安全传输数据。就显得很有必要。


技术实现要素:

4.本发明的目的在于提供基于数据链的蓝牙设备间实现虚拟连接和安全传输的方法,提高传输性能、跨设备间通信的兼容性与稳定性。
5.实现上述目的的技术方案是:
6.基于数据链的蓝牙设备间实现虚拟连接和安全传输的方法,包括:
7.步骤s1,设备a生成动态身份验证口令与一次性安全连接秘钥,完成广播基本设置后对外广播;
8.步骤s2,设备b扫描广播信号并读取广播内容,取出动态身份验证口令,通过指定的加解密算法,还原设备型号、随机掩码与验证码,并进行安全校验;
9.步骤s3,设备b生成通信种子和自定义内容,将消息索引、待传输数据与随机掩码按自定义的规范数据格式组合,加密编码后作为后续数据链中的创世数据块对外广播;设备a通过扫描获取并验证通过,双方实现虚拟连接;双方使用通信种子结合指定的加解密算法,生成通信秘钥;
10.步骤s4,设备a将全量待传输数据分为若干批次,对每批次数据进行混淆编码后,按自定义的规范数据格式组成数据块,通过广播定向传输给设备b;
11.步骤s5,设备b通过扫描获取数据块,解码后验证消息索引并还原数据内容,以该还原的数据内容生成下一次回复的消息索引,将回复内容按自定义的规范数据格式组成数据块,通过广播定向传输给设备a;
12.步骤s6,设备a接收到回复的数据块,验证消息索引与回复内容,检查数据是否传输完成,若传输未完成,则进行下一数据块的传输;若传输完成,则结束当前通信。
13.优选的,所述步骤s1包括:
14.步骤s11,设备a根据本机型号、有效时间戳、随机掩码和待传输数据,使用指定的加解密算法,生成一次性安全连接秘钥和动态身份验证口令;
15.步骤s12,设备a完成广播基本设置,并开始广播,同时根据广播时长开启倒计时;
224,sha-256,sha-384或sha-512单次杂凑算法、单次杂凑算法的嵌套、杂凑算法的hmac实现、杂凑算法的ripemd实现;所述编码方式包含但不限于换位、转码、截取、加掩码、进制转换。
34.优选的,步骤s42中,第一批次数据的消息索引,为创世数据块中6位随机种子,使用通信秘钥与算法生成的哈希值中指定2位与数据掩码中指定1位组合而成;后续批次数据的消息索引,均由本轮接收到的回复内容,使用通信秘钥与算法生成的哈希值中指定2位与数据掩码中指定1位组合而成;其中每批次数据长度不定,最大不超过19字符;随机掩码长度将根据每批次数据长度进行调整,自动补齐总长度22位。
35.优选的,步骤s5包括:
36.步骤s51,设备b通过扫描获取混淆的数据块,使用本次通信的混淆规则解码后获得原数据形式;
37.步骤s52,使用通信秘钥、设备b前次发送的数据内容验证数据形式的消息索引;若验证成功,则还原数据内容,并继续执行后续流程;如验证失败,或在单次传输有效时长内,未完成消息索引的验证,则认为本轮数据传输异常,终止当前通信;
38.步骤s53,以该轮数据内容生成下一次回复的消息索引与回复内容,将回复内容按自定义的规范数据格式组成数据形式;
39.步骤s54,将数据形式按本次通信的混淆规则编码后生成数据块,通过广播定向传输给设备a;
40.步骤s55,校验步骤s52还原后的数据中是否包含前述步骤s41中提到的结束标识符,如检测到结束标识符,则全量数据接收完成,将前述接收到的所有数据块还原的数据内容依次拼接,得到完整数据内容;如未检测到结束标识符,则继续等待接收设备a发出的下一批次数据;
41.所述步骤s6包括:
42.步骤s61,设备a通过扫描获取混淆后的数据块,使用本次通信的混淆规则解码后获得数据形式;
43.步骤s62,设备a根据本设备前次发送的数据内容,验证本次接收的消息索引与回复内容中的哈希值;并验证约定的固定回复字符;验证全部成功,则进行后续业务流程;验证失败,则认为本轮数据传输异常,终止当前通信;
44.步骤s63,设备a检查数据是否传输完成,若传输未完成,则重复步骤s42;若传输完成,则结束当前通信。
45.优选的,步骤s52中,单次传输有效时长为:同一设备通过广播发送数据块起始,至下一次通过扫描接收到回复且验证消息索引成功,所允许花费的最长时间;
46.步骤s53中,回复内容以预先约定的固定回复字符与该轮数据内容的部分哈希值组成;预先约定的固定回复字符用以告知设备a已收到其前次发送的数据块,并可以开始下一批次数据的传输;该轮数据内容的部分哈希值提供给设备a进一步检验回复对手方身份及回复数据真实性的机会。
47.优选的,所述的自定义的规范数据格式指:数据形式,该数据形式由3位消息索引、不固定长度的待传输数据、不固定长度的随机掩码,共计22位组成;
48.数据块由数据形式根据算法中指定的编码方式进行整体编码混淆后生成。
49.优选的,所述的创始数据块和数据块,均包括:许可、时间戳、算法、数据或回复、信息摘要以及数据掩码;
50.每一个数据块都在前一个数据块或创始数据块的数据或回复的基础上,计算新数据块的信息摘要,从而形成模拟区块链的数据链结构。
51.本发明的有益效果是:本发明不再需要蓝牙设备间进行协议连接、发现服务等步骤,从而省去握手与建立连接的过程,通过双向设备验证后建立虚拟连接,确保设备间能进行点对点的安全传输数据。同时,将待传输数据通过算法和自定义的规范格式生成数据块,通过蓝牙广播功能发出自有数据块并通过蓝牙扫描功能接收其它设备的数据块。同时每个数据块通过算法实现前后相连串接成数据链,从而实现类似区块链的数据可追溯与防篡改性的功能,确保通过两台设备实现点对点定向数据传输,安全高效。同时具有覆盖设备广、兼容性极高、安全可靠、传输速度快等优点;适用于线下对安全性要求高且少量数据传输的场景,例如支付应用(包含但不限于转账、公共交通、自动收货机、小商户收款等场景)、身份识别、atm取现或其他业务。
附图说明
52.图1是本发明的基于数据链的蓝牙设备间实现虚拟连接和安全传输的方法的流程图;
53.图2是本发明中步骤s1到步骤s3的流程图;
54.图3是本发明中步骤s4到步骤s6的流程图;
55.图4是本发明中单个数据块的结构示意图;
56.图5是本发明中数据链结构的示意图;
57.图6是本发明中自定义的规范数据格式的组成示意图。
具体实施方式
58.下面将结合附图对本发明作进一步说明。
59.请参阅图1,本发明的基于数据链的蓝牙设备间实现虚拟连接和安全传输的方法,包括下列步骤:
60.步骤s1,设备a生成动态身份验证口令与一次性安全连接秘钥,完成广播基本设置后对外广播。具体地,如图2所示,步骤s1包括:
61.步骤s11,设备a根据本机型号、有效时间戳、随机掩码、待传输数据等,使用指定的加解密算法(内置的加解密和哈希算法),生成一次性安全连接秘钥(connection secret key)和动态身份验证口令(authentication code)。
62.其中,有效时间戳根据系统时间与秘钥有效时间制约生成,是一次性安全连接秘钥的有效时间,超出该有效时间后,广播、扫描与相关安全机制需重置。随机掩码为本机根据内置算法随机生成的4位字母、数字与符号的随机组合。待传输数据包含但不限于加密前后的完整传输内容或指定字符串片段等签名或其哈希值。一次性安全连接秘钥(connection secret key)为:本机型号、有效时间戳、随机掩码、待传输数据根据指定加解密算法,生成的秘钥。动态身份验证口令为:本机型号、验证码、随机掩码的组合。验证码为:对一次性安全连接密钥进行哈希运算后取4-6位字符作为验证使用。
63.步骤s12,设备a完成广播基本设置,并开始广播,同时根据广播时长开启倒计时。其中,广播基本设置包含但不限于广播频率,功耗级别等。广播内容包含但不限于广播基本设置、动态身份验证口令、服务号、服务内容等。广播时长为系统内置的单次广播刷新频率。
64.步骤s13,当广播时间超过广播时长,即广播刷新频率,且没有设备回复,则结束当前广播,刷新广播内容,重新开始广播。
65.步骤s2,设备b扫描广播信号并读取广播内容,取出动态身份验证口令,通过指定的加解密算法,还原设备型号、随机掩码与验证码,并进行安全校验。具体地,如图2所示,步骤s2包括:
66.步骤s21,设备b扫描信号并读取广播内容,取出动态身份验证口令,还原设备型号、随机掩码、验证码;
67.步骤s22,设备b根据双方设备型号及实时信号强度rssi(received signal strength indication)做安全连接距离验证。
68.步骤s23,设备b使用指定的加解密算法,根据接收到的广播内容,生成一次性安全连接秘钥,验证动态身份验证口令,若验证通过,则进行后续业务处理;若验证未通过,则忽略该广播信号,重新开始扫描。
69.以上,步骤s1和步骤s2基于在先申请专利《低功耗蓝牙设备间安全连接方法及数据传输方法》(cn111343634a),可以参考该在先申请专利中具体实施例的说明,此处不再赘述。
70.步骤s3,设备b生成通信种子和自定义内容,按自定义的规范数据格式组合,加密编码后作为后续数据链中的创世数据块对外广播;设备a通过扫描获取并验证通过,双方实现虚拟连接。双方使用通信种子结合指定的加解密算法,生成通信秘钥作为后续数据与回复的加密编码秘钥。(参考专利202010147139.4)。具体地,如图2所示,步骤s3包括:
71.步骤s31,设备b生成通信种子和自定义内容;其中,通信种子是根据内置算法生成的6位随机字符串;自定义内容包含但不限于设备信息、用户身份、业务场景等。
72.步骤s32,设备b使用一次性安全连接秘钥与动态身份验证口令生成消息索引,将消息索引、待传输数据与随机掩码按自定义的规范数据格式组合成数据形式,加密编码后作为数据链中的创世数据块对外广播。
73.所述消息索引由一次性安全连接秘钥、动态身份验证口令、数据掩码(datamask)根据算法(algorithm),生成哈希值中的指定2位作为串接符,与数据掩码中的指定一位组合而成。所述待传输数据为:通信种子和自定义内容。所述数据掩码(data mask)是本机根据内置算法随机生成的不固定位数的字母、数字与符号的随机组合,其位数不固定,作为数据混淆与数据块长度的补足,根据数据或回复(data/reply)的位数变化。所述算法(algorithm)是哈希算法与编码方式的组合,所述哈希算法包含但不限于md5,sha-224,sha-256,sha-384,sha-512等单次杂凑算法、单次杂凑算法的嵌套、杂凑算法的hmac(密钥相关的哈希运算消息认证码)实现、杂凑算法的ripemd(race原始完整性校验讯息摘要)实现等;所述编码方式包含但不限于换位、转码、截取、加掩码、进制转换等;需要说明的是,此处对于算法或编码的变换与补充,都应作为本专利的其他应用实例,而不作为新的发明专利;从创世数据块起至数据与回复传输完毕,通信双方的algorithm是一致且不变的。
74.步骤s33,设备a通过扫描获取创世数据块,使用一次性安全连接秘钥、动态身份口
令校验消息索引信息,若验证通过,则双方实现虚拟连接;若验证未通过,则终止当前验证过程,刷新动态身份验证口令与一次性安全连接秘钥对外广播。
75.步骤s34,双方使用通信种子结合指定加解密算法生成通信秘钥,作为后续数据与回复的加密与编码秘钥。
76.步骤s4,设备a将全量待传输数据分为若干批次,对每批次数据进行混淆编码后,按自定义的规范数据格式组成数据块,通过广播定向传输给设备b。具体地,如图3所示,步骤s4包括:
77.步骤s41,设备a将全量待传输数据分为若干批次,对每批次数据进行混淆编码;其中,每批次数据最大不超过19字符,最小1字符,且最后一批次数据需加上结束标识符,用以告知设备b数据传输完成。混淆编码规则包含但不限于换位、转码、截取、加掩码、进制转换等。
78.步骤s42,每批次数据均按自定义的规范数据格式组成数据形式。其中,自定义的规范数据格式按3位消息索引、不固定长度的待传输数据、不固定长度的随机掩码,共计22位组成。
79.第一批次数据的消息索引,为创世数据块中6位随机种子,使用通信秘钥(permission)与算法(algorithm)生成的哈希值中指定2位与数据掩码(datamask)中指定1位组合而成。后续批次数据的消息索引,均由本轮接收到的回复内容,使用通信秘钥(permission)与算法(algorithm)生成的哈希值中指定2位与数据掩码(datamask)中指定1位组合而成。其中每批次数据长度不定,最大不超过19字符;随机掩码长度将根据每批次数据长度进行调整,自动补齐总长度22位。
80.步骤s43,将数据形式按本次通信的混淆规则编码过后生成数据块,通过广播定向传输给设备b;其中,本次通信的混淆规则包含但不限于换位、转码、截取、加掩码、进制转换等。
81.步骤s5,设备b通过扫描获取数据块,解码后验证消息索引并还原数据内容,以该还原的数据内容生成下一次回复的消息索引,将回复内容按自定义的规范数据格式组成数据块,通过广播定向传输给设备a。具体地,如图3所示,步骤s5包括:
82.步骤s51,设备b通过扫描获取混淆的数据块,使用本次通信的混淆规则解码后获得原数据形式;
83.步骤s52,使用通信秘钥、设备b前次发送的数据内容验证数据形式的消息索引;若验证成功,则还原数据内容,并继续执行后续流程;如验证失败,或在单次传输有效时长内,未完成消息索引的验证,则认为本轮数据传输异常,终止当前通信。
84.单次传输有效时长为:同一设备通过广播发送数据块起始,至下一次通过扫描接收到回复且验证消息索引成功,所允许花费的最长时间。原则上为了确保传输的及时性及效率,单次传输有效时长应控制在1s内,需要说明的是,对该时长的修改不应构成基于本发明的优化或创新。
85.步骤s53,以该轮数据内容生成下一次回复的消息索引与回复内容,将回复内容按自定义的规范数据格式组成数据形式。
86.其中,回复内容以预先约定的固定回复字符与该轮数据内容的部分哈希值组成。预先约定的固定回复字符用以告知设备a已收到其前次发送的数据块,并可以开始下一批
次数据的传输;该轮数据内容的部分哈希值提供给设备a进一步检验回复对手方身份及回复数据真实性的机会;为便于理解,回复内容的一种实例可以为,固定回复字符msgaccept*,与该轮数据内容生成哈希值的某三位abc组合而成,则回复内容为msgaccept*abc共13位组成,此时按自定义的规范数据格式,将在回复内容后自动补足6位掩码,加上3位的消息索引,组成数据形式(dataform)。
87.步骤s54,将数据形式按本次通信的混淆规则编码后生成数据块,通过广播定向传输给设备a;
88.步骤s55,校验步骤s52还原后的数据中是否包含前述步骤s41中提到的结束标识符,如检测到结束标识符,则全量数据接收完成,将前述接收到的所有数据块还原的数据内容依次拼接,得到完整数据内容;如未检测到结束标识符,则继续等待接收设备a发出的下一批次数据。
89.步骤s6,设备a接收到回复的数据块,验证消息索引与回复内容,检查数据是否传输完成,若传输未完成,则进行下一数据块的传输;若传输完成,则结束当前通信。具体地,如图3所示,步骤s6包括:
90.步骤s61,设备a通过扫描获取混淆后的数据块,使用本次通信的混淆规则解码后获得数据形式;
91.步骤s62,设备a根据本设备前次发送的数据内容,验证本次接收的消息索引与回复内容中的哈希值;并验证约定的固定回复字符;验证全部成功,则进行后续业务流程;验证失败,则认为本轮数据传输异常,终止当前通信。
92.步骤s63,设备a检查数据是否传输完成,若传输未完成,则重复步骤s42;若传输完成,则结束当前通信。
93.图4是本发明定义了数据链中单个数据块的结构。图5是本发明提供的一种数据链结构,通过算法实现每个数据块前后相连从而串接成的数据链结构。
94.如图4所示,数据块结构(datablockstructure)包括以下关键要素:许可(permission),时间戳(time-stamp),算法(algorithm),数据或回复(data/reply),信息摘要(data hash)以及数据掩码(data mask)。
95.所述许可(permission)是当前通信双方各自生成的对称秘钥,即前述流程中提到的通信秘钥,其作为数据与回复加密编码的秘钥,将其作为当前通信方合法且数据可信的许可证,其按流程步骤s3中所述方式由6位随机字符组成的通信种子结合指定的加解密算法生成。特殊地,创世数据块的许可(permission)是指前述流程中提到的一次性安全连接秘钥,其按流程步骤s23中所述方式由设备b调用指定的加解密算法,根据接收到的广播内容生成。
96.所述数据或回复(data/reply)是指设备a的待传输数据与设备b的回复内容,data有一个或多个批次,reply有与data相对应的批次数,故而形成一问必有一答的通信机制。所述信息摘要(data hash)是数据链中前一个数据块(datablock)中data/reply的完整或部分哈希值。特殊地,创世数据块的信息摘要(data hash)是步骤s21中所述动态身份验证口令的完整或部分哈希值。所述数据掩码(data mask)是随机生成的字母、数字与符号的组合,其位数不固定,作为数据混淆与数据块长度的补足,根据data/reply的位数变化。
97.如图5所示,数据链结构(data chain structure)是由数据块(datablock)相连串
接形成,每一个数据块都在前一个数据块的data/reply基础上,计算新数据块的data hash,从而形成模拟区块链的数据链结构。
98.图6是本发明提供的一种自定义的规范数据格式,即:数据形式(data form)由消息索引(message index),数据或回复(data/reply),数据掩码(datamask),共计22位组成。
99.数据块(datablock)由数据形式(dataform)根据算法(algorithm)中指定的编码方式进行整体编码混淆后生成。消息索引由2位串接符与1位数据掩码组成。
100.串接符为信息摘要(data hash)中指定的2位;其与数据掩码(datamask)中指定的1位组合,作为数据块的消息索引,用于验证数据块的真实性。所述数据或回复(data/reply)分为数据与回复。
101.其中一个数据块中,可以传输的最大数据量为19字符,最小数据量为1字符;当其总长度不满19字符时,即使用数据掩码进行补足。回复内容稍许区别于数据,其由固定的回复内容,以及前一数据块信息摘要(data hash)的指定2位组成。
102.所述固定的回复内容,为通信双方协商确定的固定字符串,例如re-cei-ved、msgaccept等可表明数据成功接收的回复内容。
103.以上实施例仅供说明本发明之用,而非对本发明的限制,有关技术领域的技术人员,在不脱离本发明的精神和范围的情况下,还可以作出各种变换或变型,因此所有等同的技术方案也应该属于本发明的范畴,应由各权利要求所限定。
再多了解一些

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

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

相关文献