CN108696347A - 蓝牙aes加密启动方法、系统和蓝牙主、从设备 - Google Patents
蓝牙aes加密启动方法、系统和蓝牙主、从设备 Download PDFInfo
- Publication number
- CN108696347A CN108696347A CN201710236712.7A CN201710236712A CN108696347A CN 108696347 A CN108696347 A CN 108696347A CN 201710236712 A CN201710236712 A CN 201710236712A CN 108696347 A CN108696347 A CN 108696347A
- Authority
- CN
- China
- Prior art keywords
- bluetooth
- message
- encryption
- unlatching
- slave devices
- 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.)
- Granted
Links
- 238000000034 method Methods 0.000 title claims abstract description 24
- 238000012790 confirmation Methods 0.000 claims abstract description 109
- 230000001186 cumulative effect Effects 0.000 claims abstract description 47
- 230000005540 biological transmission Effects 0.000 claims abstract description 42
- 230000004913 activation Effects 0.000 claims description 8
- 241001062009 Indigofera Species 0.000 claims description 5
- 238000007689 inspection Methods 0.000 claims 1
- 238000010586 diagram Methods 0.000 description 9
- 125000004122 cyclic group Chemical group 0.000 description 2
- 230000001360 synchronised effect Effects 0.000 description 2
- 230000002159 abnormal effect Effects 0.000 description 1
- 238000001514 detection method Methods 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 230000007613 environmental effect Effects 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 238000012163 sequencing technique Methods 0.000 description 1
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/06—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols the encryption apparatus using shift registers or memories for block-wise or stream coding, e.g. DES systems or RC4; Hash functions; Pseudorandom sequence generators
- H04L9/0618—Block ciphers, i.e. encrypting groups of characters of a plain text message using fixed encryption transformation
- H04L9/0631—Substitution permutation network [SPN], i.e. cipher composed of a number of stages or rounds each involving linear and nonlinear transformations, e.g. AES algorithms
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04B—TRANSMISSION
- H04B5/00—Near-field transmission systems, e.g. inductive or capacitive transmission systems
- H04B5/70—Near-field transmission systems, e.g. inductive or capacitive transmission systems specially adapted for specific purposes
- H04B5/72—Near-field transmission systems, e.g. inductive or capacitive transmission systems specially adapted for specific purposes for local intradevice communication
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Computer Security & Cryptography (AREA)
- Mobile Radio Communication Systems (AREA)
Abstract
一种蓝牙AES加密启动方法、系统和蓝牙主、从设备。所述方法包括:蓝牙主设备发送未加密的开启加密请求消息时,启动在数据接收方向的加密,并将第一AES计数器的计数重置为0;所述蓝牙从设备接收到所述开启加密请求消息后,回复第二确认消息,将第二AES计数器的计数重置为0,启动在数据发送及接收方向的加密,生成加密的开启加密请求确认消息并发送;所述蓝牙主设备接收到所述开启加密请求确认消息后,回复第一确认消息,启动在数据发送方向的加密,将对消息接收数目的计数累加1;所述蓝牙从设备接收到所述第一确认消息后,将对消息发送数目的计数累加1。采用上述方案,可以缩短蓝牙AES加密启动过程,并提高蓝牙AES加密启动过程中的数据传输效率。
Description
技术领域
本发明涉及蓝牙技术领域,尤其涉及一种蓝牙AES加密启动方法、系统和蓝牙主、从设备。
背景技术
目前,蓝牙数据传输过程中,通常在蓝牙主设备与蓝牙从设备之间完成鉴权后,启动在数据接收方向及发送方向的加密,以确保数据传输过程中的数据安全。
然而,目前,蓝牙主设备及蓝牙从设备存在加密启动过程过长及数据传输效率低下的问题。
发明内容
本发明实施例解决的技术问题是如何缩短蓝牙AES加密启动过程,并提高蓝牙AES加密启动过程中的数据传输效率。
为解决上述技术问题,本发明实施例提供一种蓝牙AES加密启动方法,包括:蓝牙主设备向蓝牙从设备发送未加密的开启加密请求消息时,启动在数据接收方向的加密,并将第一AES计数器的计数重置为0;所述第一AES计数器的计数包括:消息发送数目及消息接收数目;所述蓝牙从设备接收到所述开启加密请求消息后,向所述蓝牙主设备回复第二确认消息,将第二AES计数器的计数重置为0,启动在数据发送方向及接收方向的加密,生成加密的开启加密请求确认消息,并发送至所述蓝牙主设备;所述蓝牙主设备接收到所述蓝牙从设备发送的开启加密请求确认消息后,向所述蓝牙从设备回复第一确认消息,启动在数据发送方向的加密,将所述第一AES计数器对消息接收数目的计数累加1;所述蓝牙从设备接收到所述第一确认消息后,将所述第二AES计数器对消息发送数目的计数累加1。
可选地,所述方法还包括:所述蓝牙主设备向所述蓝牙从设备发送所述开启加密请求消息后,当在预设时长内未接收到所述蓝牙从设备回复的第二确认消息时,重新向所述蓝牙从设备发送所述开启加密请求消息;所述蓝牙从设备在接收到所述蓝牙主设备重新发送的所述开启加密请求消息后,将所述第二AES计数器对消息接收数目的计数累加1。
可选地,所述方法还包括:所述蓝牙从设备接收到所述蓝牙主设备重新发送的所述开启加密请求消息后,当确定所接收到的所述开启加密请求消息为重传包时,将所述开启加密请求消息丢弃。
可选地,所述确定所接收到的所述开启加密请求消息为重传包,包括:当所述蓝牙从设备检测到所述开启加密请求消息的窗口序号与已接收到的其他消息的窗口序号相同时,确定所述开启加密请求消息为重传包。
本发明实施例还提供一种蓝牙AES加密启动系统,包括:蓝牙主设备和蓝牙从设备,其中:所述蓝牙主设备,适于向所述蓝牙从设备发送未加密的开启加密请求消息时,启动在数据接收方向的加密,并将第一AES计数器的计数重置为0;所述第一AES计数器的计数包括:消息发送数目及消息接收数目;在接收到所述蓝牙从设备发送的开启加密请求确认消息后,向所述蓝牙从设备回复第一确认消息,启动在数据发送方向的加密,将所述第一AES计数器对消息接收数目的计数累加1;所述蓝牙从设备,适于在接收到所述开启加密请求消息后,向所述蓝牙主设备回复第二确认消息,将第二AES计数器的计数重置为0,启动在数据发送方向及接收方向的加密,生成加密的开启加密请求确认消息,并发送至所述蓝牙主设备;在接收到所述第一确认消息后,将所述第二AES计数器对消息发送数目的计数累加1。
可选地,所述蓝牙主设备,还适于在向所述蓝牙从设备发送所述开启加密请求消息后,且在预设时长内未接收到所述蓝牙从设备回复的第二确认消息时,重新向所述蓝牙从设备发送所述开启加密请求消息;所述蓝牙从设备,还适于在接收到所述蓝牙主设备重新发送的所述开启加密请求消息后,将所述第二AES计数器对消息接收数目的计数累加1。
可选地,所述蓝牙从设备,还适于在接收到所述蓝牙主设备重新发送的所述开启加密请求消息后,当确定所接收到的所述开启加密请求消息为重传包时,将所述开启加密请求消息丢弃。
可选地,所述蓝牙从设备,适于在检测到所述开启加密请求消息的窗口序号与已接收到的其他消息的窗口序号相同时,确定所述开启加密请求消息为重传包。
本发明实施例还提供一种蓝牙主设备,包括:第一发送单元、第一启动单元、第一重置单元及第一接收单元,其中:所述第一发送单元,适于向蓝牙从设备发送未加密的开启加密请求消息,使得所述蓝牙从设备接收到所述开启加密请求消息后,向所述蓝牙主设备回复第二确认消息,将第二AES计数器的计数重置为0,启动在数据发送方向及接收方向的加密,生成加密的开启加密请求确认消息,并发送至所述蓝牙主设备;以及在所述第一接收单元接收到所述开启加密请求确认消息后,向所述蓝牙从设备回复第一确认消息,使得所述蓝牙从设备接收到所述第一确认消息后,将所述蓝牙从设备的第二AES计数器对消息发送数目的计数累加1;所述第一启动单元,适于在向所述蓝牙从设备发送未加密的开启加密请求消息时,启动在数据接收方向的加密,以及在所述第一接收单元接收到所述蓝牙从设备发送的开启加密请求确认消息后,启动在数据发送方向的加密;所述第一重置单元,适于在向所述蓝牙从设备发送未加密的开启加密请求消息时,将第一AES计数器的计数重置为0,所述第一AES计数器的计数包括:消息发送数目及消息接收数目;在所述第一接收单元接收到所述蓝牙从设备发送的开启加密请求确认消息后,将所述第一AES计数器对消息接收数目的计数累加1;所述第一接收单元,适于接收所述蓝牙从设备发送的开启加密请求确认消息。
可选地,所述第一发送单元,还适于在向所述蓝牙从设备发送所述开启加密请求消息后,当所述第一接收单元在预设时长内未接收到所述蓝牙从设备回复的第二确认消息时,重新向所述蓝牙从设备发送所述开启加密请求消息,使得所述蓝牙从设备在接收到所述蓝牙主设备重新发送的所述开启加密请求消息后,将所述第二AES计数器对消息接收数目的计数累加1。
本发明实施例还提供一种蓝牙从设备,包括:第二接收单元、第二发送单元、第二重置单元、第二启动单元及生成单元,其中:所述第二接收单元,适于接收蓝牙主设备发送的未加密的开启加密请求消息,以及接收所述蓝牙主设备发送的第一确认消息;所述第二发送单元,适于在所述第二接收单元接收到所述蓝牙主设备发送的未加密的开启加密请求消息后,向所述蓝牙主设备回复第二确认消息;将所述生成单元生成的加密的开启加密请求确认消息发送至所述蓝牙主设备,使得所述蓝牙主设备接收到所述开启加密请求确认消息后,向所述蓝牙从设备回复所述第一确认消息,启动在数据发送方向的加密,将第一AES计数器对消息接收数目的计数累加1,其中,所述蓝牙主设备在发送所述开启加密请求消息时,启动在数据接收方向的加密,并将所述第一AES计数器的计数重置为0;所述第二重置单元,适于在所述第二接收单元接收到所述开启加密请求消息后,将第二AES计数器的计数重置为0,以及接收到所述第一确认消息后,将第二AES计数器对消息发送数目的计数累加1;所述第二启动单元,适于在所述第二重置单元将第二AES计数器的计数重置为0后,启动在数据发送方向及接收方向的加密;所述生成单元,适于生成加密的开启加密请求确认消息。
可选地,所述第二重置单元,还适于当所述第二接收单元接收到所述蓝牙主设备重新发送的所述开启加密请求消息时,将所述第二AES计数器对消息接收数目的计数累加1;所述重新发送的所述开启加密请求消息由所述蓝牙主设备向所述蓝牙从设备发送所述开启加密请求消息后,当在预设时长内未接收到所述蓝牙从设备回复的第二确认消息时,重新向所述蓝牙从设备发送的所述开启加密请求消息。
可选地,所述蓝牙从设备还包括:重传包确认单元及丢弃单元,其中:所述重传包确定单元,适于确定所接收到的开启加密请求消息是否为重传包;所述丢弃单元,适于当所述重传包确定单元确定所接收到的所述开启加密请求消息为重传包时,将所述开启加密请求消息丢弃。
可选地,所述重传包确定单元,适于当检测到所述开启加密请求消息的窗口序号与已接收到的其他消息的窗口序号相同时,确定所述开启加密请求消息为重传包。
与现有技术相比,本发明实施例的技术方案具有以下有益效果:
蓝牙主设备在向蓝牙从设备发送开启加密请求消息时,启动在数据接收方向上的加密。蓝牙从设备在接收到所述开启加密请求消息后,启动在数据发送方向及接收方向上的加密,从而蓝牙主设备在接收方向上的加密与蓝牙从设备在发送方向的加密保持一致,蓝牙主设备能够对接收到的所述蓝牙从设备发送的消息进行解密。并且,蓝牙主设备在向蓝牙从设备发送所述开启加密请求消息时,将第一AES计数器的计数重置为0,蓝牙从设备在接收到所述开启加密请求消息后,将第二AES计数器的计数重置为0,从而可以使得第一AES计数器对蓝牙主设备的消息发送数目的计数与第二AES计数器对蓝牙从设备的消息接收数目的计数相同,以及第一AES计数器对蓝牙主设备的消息接收数目的计数与第二AES计数器对蓝牙从设备的消息发送数目的计数相同,可以实现蓝牙AES加密过程中对数据进行正确的加密及解密,从而可以缩短蓝牙AES加密启动过程,并提高蓝牙AES加密启动过程中的数据传输效率。
进一步地,蓝牙从设备在接收到重新发送的所述开启加密请求消息后,将第二AES计数器对消息接收数目的计数累加1,从而可以使得第一AES计数器对消息发送数目的计数与第二AES计数器对消息接收数目的计数保持一致,以使得对接收到的蓝牙从设备发送的数据进行正常的解密,从而确保蓝牙AES加密启动过程的顺利进行。
附图说明
图1是本发明实施例中一种蓝牙AES加密启动方法的流程图;
图2是本发明实施例中一种蓝牙AES加密启动流程示意图;
图3是本发明实施例中另一种蓝牙AES加密启动流程示意图;
图4是本发明实施例中一种蓝牙主设备的结构示意图;
图5是本发明实施例中一种蓝牙从设备的结构示意图;
图6是本发明实施例中另一种蓝牙从设备的结构示意图。
具体实施方式
在蓝牙主设备与蓝牙从设备之间完成鉴权之后,开始采用高级加密标准(Advanced Encryption Standard,AES)开始进行AES加密时,蓝牙主设备向蓝牙从设备发送未加密的开始加密请求消息(LMP_Start_Encryption_Req),并从此时开始接收加密消息,也即是启动接收(RX)方向的加密。蓝牙从设备接收到的链路管理协议(LinkManagement Protocol,LMP)消息为LMP_Start_Encryption_Req消息时,则会启动发送(TX)方向及接收(RX)方向的加密,同时向蓝牙主设备回复开启加密请求确认(LMP_Accepted)消息。蓝牙主设备接收到LMP_Accepted后,启动TX方向上的加密,自此AES加密启动过程结束。
然而,蓝牙主设备在生成LMP_Start_Encryption_Req时启动RX方向上的加密,若在生成LMP_Start_Encryption_Req时还有其他未发送的LMP消息,而此时蓝牙从设备也有未发送的LMP消息,在此之后蓝牙从设备发送的LMP消息,蓝牙主设备无法解密,从而不能向蓝牙从设备回复确认消息(ACK)。蓝牙从设备接收到不到蓝牙主设备回复的与LMP消息对应的ACK,则会向蓝牙主设备进行消息重传。蓝牙从设备对消息的重传次数由蓝牙主设备未发送的LMP消息的个数决定的,这会导致蓝牙主设备及蓝牙从设备之间加密启动过程过长,并影响蓝牙设备之间的数据传输效率。
为解决上述问题,在本发明实施例中,蓝牙主设备在向蓝牙从设备发送开启加密请求消息时,启动在数据接收方向上的加密。蓝牙从设备在接收到所述开启加密请求消息后,启动在数据发送方向及接收方向上的加密,从而蓝牙主设备在接收方向上的加密与蓝牙从设备在发送方向的加密保持一致,蓝牙主设备能够对接收到的所述蓝牙从设备发送的消息进行解密。并且,蓝牙主设备在向蓝牙从设备发送所述开启加密请求消息时,将第一AES计数器的计数重置为0,蓝牙从设备在接收到所述开启加密请求消息后,将第二AES计数器的计数重置为0,从而可以使得第一AES计数器对蓝牙主设备的消息发送数目的计数与第二AES计数器对蓝牙从设备的消息接收数目的计数相同,以及第一AES计数器对蓝牙主设备的消息接收数目的计数与第二AES计数器对蓝牙从设备的消息发送数目的计数相同,可以实现蓝牙AES加密过程中对数据进行正确的加密及解密,从而可以缩短蓝牙AES加密启动过程,并提高蓝牙AES加密启动过程中的数据传输效率。
为使本发明实施例的上述目的、特征和有益效果能够更为明显易懂,下面结合附图对本发明的具体实施例做详细的说明。
参照图1,给出了本发明实施例中一种蓝牙AES加密启动方法的流程图。下面通过具体步骤进行详细说明。
步骤11,蓝牙主设备向蓝牙从设备发送未加密的开启加密请求消息时,启动在数据接收方向的加密,并将第一AES计数器的计数重置为0。
在具体实施中,当需要开始加密时,蓝牙主设备生成未加密的开启加密请求消息。例如,所述开启加密请求消息为:LMP_Start_Encryption_Req消息。
在具体实施中,所述蓝牙主设备向蓝牙从设备发送未加密的LMP_Start_Encryption_Req消息时,同时启动在数据接收方向上的加密,并将所述蓝牙主设备的第一高级加密标准(Advanced Encryption Standard,AES)计数器的计数重置为0。其中,所述第一AES计数器用于为蓝牙主设备的消息发送数目及消息接收数目进行计数,将第一AES的计数重置为0,也即是第一AES计数器将蓝牙主设备的消息发送数目重置为0,将蓝牙主设备的消息接收数目重置为0。
步骤12,所述蓝牙从设备接收到所述开启加密请求消息后,向所述蓝牙主设备回复第二确认消息,将第二AES计数器的计数重置为0,启动在数据发送方向及接收方向的加密,生成加密的开启加密请求确认消息,并发送至所述蓝牙主设备。
在具体实施中,所述蓝牙从设备正确接收到所述蓝牙主设备发送的消息后,向所述蓝牙主设备回复第二确认消息,以告知蓝牙主设备已接收到所发送的消息。在本发明一实施例中,为了节约传输资源,所述第二确认消息可以为空的数据包。
例如,蓝牙从设备对接收到的消息进行循环冗余码校验(Cyclic RedundancyCheck,CRC),当校验结果正确时,可以生成ACK消息并回复至蓝牙主设备。
在具体实施中,所述蓝牙从设备可以对接收到的消息进行解析,当解析到所接收到的消息为:LMP_Start_Encryption_Req消息时,将所述第二AES计数器的计算重置为0,也即将蓝牙从设备的消息发送数目及消息接收数目均重置为0。启动所述蓝牙从设备在数据发送方向(TX)及接收方向(RX)的加密,并生成加密的开启加密请求确认消息。所述开启加密请求确认消息可以为LMP_Accepted。将生成的LMP_Accepted发送至所述蓝牙主设备。
步骤13,所述蓝牙主设备接收到所述蓝牙从设备发送的开启加密请求确认消息后,向所述蓝牙从设备回复第一确认消息,启动在数据发送方向的加密,将所述第一AES计数器对消息发送数目的计数累加1。
在具体实施中,当所述蓝牙主设备正确接收到所述蓝牙从设备发送的消息后,会向所述蓝牙从设备回复第一确认消息,以告知所述蓝牙从设备已接收到消息。例如,蓝牙主设备可以向蓝牙从设备回复ACK消息。由于此时蓝牙主设备已开启数据接收方向上的加密,故可以对所接收到的蓝牙从设备发送的消息进行解析。
在具体实施中,当所述蓝牙主设备解析到所接收的消息为所述开启加密请求确认消息后,启动在数据发送方向上的加密。将所述第一AES计数器对消息接收数目的计数累加1。此时,蓝牙主设备消息接收数目为1。
在具体实施中,所述蓝牙主设备可以先启动在数据发送方向上的加密,然后将所述第一AES计数器对消息接收数目的计数累加1;也可以先将所述第一AES计数器对消息接收数目的计数累加1,然后启动在数据发送方向上的加密;还可以同时进行启动在数据发送方向上的加密及将所述第一AES计数器对消息接收数目的计数累加1,具体执行的先后顺序不做限定。
步骤14,所述蓝牙从设备接收到所述第一确认消息后,将所述第二AES计数器对消息发送数目的计数累加1。
在具体实施中,当所述蓝牙从设备接收到所述蓝牙主设备回复的第一确认消息后,也即是表征所述蓝牙主设备已接收到所述蓝牙从设备发送的LMP_Accepted,将所述第二AES计数器对消息发送数目的计数累加1。
通过步骤11至步骤14,蓝牙主设备在数据发送方向及数据接收方向的加密均已开启,蓝牙从设备在数据发送方向及数据接收方向的加密也均已开启,也即完成了所述蓝牙主设备与所述蓝牙从设备之间的AES加密启动。
由上述内容可知,蓝牙主设备在向蓝牙从设备发送开启加密请求消息时,启动在数据接收方向上的加密。蓝牙从设备在接收到所述开启加密请求消息后,启动在数据发送方向及接收方向上的加密,从而蓝牙主设备在接收方向上的加密与蓝牙从设备在发送方向的加密保持一致,蓝牙主设备能够对接收到的所述蓝牙从设备发送的消息进行解密。并且,蓝牙主设备在向蓝牙从设备发送所述开启加密请求消息时,将第一AES计数器的计数重置为0,蓝牙从设备在接收到所述开启加密请求消息后,将第二AES计数器的计数重置为0,从而可以使得第一AES计数器对蓝牙主设备的消息发送数目的计数与第二AES计数器对蓝牙从设备的消息接收数目的计数相同,以及第一AES计数器对蓝牙主设备的消息接收数目的计数与第二AES计数器对蓝牙从设备的消息发送数目的计数相同,可以实现蓝牙AES加密过程中对数据进行正确的加密及解密,从而可以缩短蓝牙AES加密启动过程,并提高蓝牙AES加密启动过程中的数据传输效率。
在具体实施中,由于所述蓝牙主设备在接收方向上的加密是在发送所述开启加密请求消息时才启动,所述蓝牙从设备在数据发送方向及数据接收方向的加密,是在接收到所述开启加密请求信息后才启动。因此,蓝牙主设备在发送所述未加密的开启加密请求消息之前,蓝牙主设备在数据接收方向的加密处于未启动状态,所述蓝牙从设备在数据发送方向上的加密也处于未启动状态。当所述蓝牙主设备在生成开启加密请求消息时,还有其他未发送的LMP消息时,所述蓝牙主设备在向蓝牙从设备发送未加密的其他LMP消息时,可以对所述蓝牙从设备回复的未加密的LMP消息进行解析,从而可以有效的避免因加密开启进度不一致,所导致的蓝牙主设备对接收到的消息的无法解密,而无法向所述蓝牙从设备回复确认消息,导致蓝牙从设备因接收不到蓝牙主设备发送的确认消息,而产生的消息重发问题,可以缩短AES加密启动过程,并可以提高加密启动过程中数据传输效率。
在具体实施中,由于环境干扰等因素的影响,可能会出现数据包丢失、发生错误等情况,导致数据包无法正确完整的送达到接收方。例如,蓝牙主设备在向蓝牙从设备发送开启加密请求消息后,因某些因素的影响,未接收到所述蓝牙从设备回复的ACK消息。蓝牙主设备将重新向所述蓝牙从设备发送未加密的开启加密请求消息。然而,此时蓝牙从设备已经启动数据接收方向上的加密,如果蓝牙从设备接收到的数据采用信元差错控制检测(Header Error Control,HEC),确认为HEC错误时,也即接收到的消息发生数据头错误,则无法向蓝牙主设备回复ACK消息,而向蓝牙主设备发送重传请求,并在重传请求中携带加密请求确认消息。
在蓝牙主设备接收到所述蓝牙从设备回复的开启加密请求确认消息后,启动发送方向上的加密,同时第一AES计数器对消息接收数目计数累加1,即蓝牙主设备的消息接收数目从0累加至1。蓝牙主设备根据重传请求,向所述蓝牙从设备重新发送加密的开启加密请求消息的同时回复确认消息。此时,蓝牙主设备的消息发送数目为0,蓝牙从设备的消息接收数目为0,故蓝牙从设备能够正确的对接收到的加密的开启加密请求消息进行解密,收到蓝牙主设备发送的第一确认消息后,将第二AES计数器对消息接收数目累加1,即蓝牙从设备的消息发送数目从0累加至1。当所述蓝牙从设备检测到所接收到的开启加密请求消息为重传包时,则不会对消息接收数目进行更新,消息接收数目依然为0。蓝牙从设备向蓝牙主设备回复第二确认消息。蓝牙主设备接收到蓝牙从设备回复的第二确认消息后,第一AES计数器对消息发送数目累加1,即所述蓝牙主设备的消息发送数目从0累加至1。此时,蓝牙主设备的消息发送数目为1,蓝牙从设备的消息接收数目为0,将会导致后续数据包的加密出错,从而蓝牙从设备对接收到的数据包无法正常的解密。
为解决上述问题,在本发明一实施例中,所述蓝牙主设备向所述蓝牙从设备发送所述开启加密请求消息后,当在预设时长内未接收到所述蓝牙从设备回复的第二确认消息时,重新向所述蓝牙从设备发送所述开启加密请求消息。所述蓝牙从设备在接收到所述蓝牙主设备重新发送的所述开启加密请求消息后,将所述第二AES计数器对消息接收数目的计数累加1。
在具体实施中,所述蓝牙主设备在向所述蓝牙从设备发送未加密的开启加密请求消息后,在预设时长内未接收到所述开启加密请求消息对应的确认消息时,则判定所述蓝牙从设备没有接收到所述开启加密请求消息,向所述蓝牙从设备重新发送未加密的开启加密请求消息。
在具体实施中,当所述蓝牙从设备接收到所述蓝牙主设备发送的消息后,会对所接收到的消息进行解析。在本发明一实施例中,所述蓝牙从设备接收到所述蓝牙主设备重新发送的所述开启加密请求消息后,当确定接收到的所述开启加密请求消息为重传包时,将所述重传包丢弃,即将所述开启加密请求消息丢弃。
在本发明一实施例中,所述蓝牙从设备可以通过检测所接收到的消息的窗口序号来确定所接收到的消息是否为重传包,当检测到所述开启加密请求消息的窗口序号与已接收到的其他消息的窗口序号相同时,确定所述开启加密请求消息为重传包。
为了便于本领域技术人员更好的理解和实现本发明实施例,下面通过举例对本发明实施例提供的一种蓝牙AES加密启动方法进行详细说明。
参照图2,给出了本发明实施例中一种蓝牙AES加密启动过程示意图。蓝牙主设备A和蓝牙从设备B通过信息交互开启AES加密启动过程。其中,蓝牙主设备A的消息发送周期TX与蓝牙从设备B的消息接收周期RX同步,蓝牙主设备A的消息接收周期RX与蓝牙从设备B的消息发送周期TX同步,以下参照图2中的具体时序说明整个启动过程。
例如,蓝牙主设备A,在需要开启加密时,在第n个发送周期TXn内,蓝牙主设备A向蓝牙从设备B发送未加密的开启加密请求信息LMP_Start_Encryption_Req,第一AES计数器将消息接收数目重置为0,即RXA_Counter=0,将消息发送数目重置为0,即TXA_Counter=0。在第n个发送周期TXn内,启动在数据接收方向的加密,其中,RXA_Enc_En表示在数据接收方向上的加密处于开启状态。
相应地,蓝牙从设备B在第n个接收周期RXn内正确接收到蓝牙主设备A发送的消息后,向蓝牙主设备A回复所述LMP_Start_Encryption_Req对应的ACK消息。在具体实施中,为节约传输资源,可以回复空的数据包(Null)作为ACK消息。蓝牙从设备B对在RXn周期内所接收到的消息进行解析。当确定所接收到的消息为LMP_Start_Encryption_Req时,将第二AES计数器的计数重置为0,即蓝牙从设备B的消息发送数目TXB_Counter=0,蓝牙从设备B的消息接收数目RXB_Counter=0。蓝牙从设备B启动在数据发送方向及数据接收方向上的加密,即此时数据接收方向上的加密状态为:RXB_Enc_En,数据发送方向上的加密状态为:TXB_Enc_En。蓝牙从设备B在完成在数据发送方向上及数据接收方向上的加密后,生成加密的开启加密请求确认消息LMP_Accepted,可以在第n+1个发送周期TXn+1将生成的LMP_Accepted发送至蓝牙主设备A。
可以理解的是,在具体实施中,蓝牙从设备B可以根据自身待发送的信息情况,确定LMP_Accepted的发送时机。当所述蓝牙从设备B还有其他信息待发送时,可能会在第n+2个发送周期TXn+2才将生成的LMP_Accepted发送至蓝牙主设备A,也可能在后续的其他发送周期将生成的LMP_Accepted发送至蓝牙主设备A。
蓝牙主设备A在第n+1个接收周期RXn+1接收到蓝牙从设备B发送的消息,对接收到的蓝牙从设备B发送的消息进行解析,当确认为LMP_Accepted时,在第n+2个发送周期TXn+2向蓝牙从设备B回复ACK消息。在具体实施中,为了节约传输资源,可以回复空的数据包(Null)作为ACK消息。蓝牙主设备A可以启动在数据发送方向上的加密,即在数据接收方向上的加密为开启状态,RXA_Enc_En;在数据发送方向上的加密为开启状态,TXA_Enc_En。其中,蓝牙主设备A启动数据发送方向上的加密时机可以在第n+1个接收周期RX n+1,也可以在第n+1个发送周期TX n+1,还可以在第n+2个接收周期RX n+2。将第一AES计数器对消息接收数目累加1,即RXA_Counter=1。
此时,蓝牙主设备A及蓝牙从设备B均已成功开启在数据发送方向上及数据接收方向上的加密,也即完成了AES加密启动,且RXA_Counter=TXB_Counter=1,TXA_Counter=RXB_Counter=0,蓝牙主设备A及蓝牙从设备B在消息发送及消息接收数目的计数相对应,故可以使得后续数据在传输过程中正常的加密及解密。
参照图3,给出了本发明实施例中另一种蓝牙AES加密启动过程示意图。在数据传输过程中,由于干扰因素影响,蓝牙主设备A没有接收到(miss)蓝牙从设备B回复的LMP_Start_Encryption_Req对应的ACK消息。
例如,蓝牙主设备A在第n个接收周期RXn内,未接收到蓝牙从设备B回复的LMP_Start_Encryption_Req对应的ACK消息时,在第n+1个发送周期TX n+1向蓝牙从设备B重新发送LMP_Start_Encryption_Req,数据格式为DM1。
在具体实施中,为了便于对所发送的消息进行区分,可以在发送的消息中采用窗口序号SEQN进行区分,不相同的消息对应的窗口序号不同,相应地,窗口序号相同的消息为同一消息。如重传的消息对应的窗口序号与重传之前的消息的窗口序号相同。例如,重新发送的LMP_Start_Encryption_Req的窗口序号SEQN与之前所发送的窗口序号SEQN相同,均为0。在具体实施中,当首次发送LMP_Start_Encryption_Req时,窗口序号SEQN为0,SEQN的取值可以与蓝牙主设备A的消息发送数目相对应。
蓝牙从设备B在第n+1个接收周期RX n+1接收到LMP_Start_Encryption_Req后,解析发现新接收到的消息的窗口序号SEQN与之前接收到的消息的窗口序号SEQN相同,确认所接收到的消息为重传包,将其丢弃。将第二AES计数器对消息接收数目的计数累加1,即此时RXA_Counter=1。蓝牙从设备B在第n+1个发送周期TX n+1向蓝牙主设备A回复ACK时,可以同时将还未发送的LMP_Accepted一同发送至蓝牙主设备A。
蓝牙主设备A在第n+1个接收周期RX n+1正确接收到蓝牙从设备B发送的消息时,在第n+2个发送周期TX n+2内向蓝牙从设备B回复ACK消息。蓝牙主设备A对接收到的消息进行解析,当为与LMP_Start_Encryption_Req对应的LMP_Accepted时,启动在数据发送方向上的加密,并将第一AES计数器对消息接收数目的计数累加1,此时蓝牙主设备A的消息接收数目RXA_Counter=1,消息发送数目TXA_Counter=1。蓝牙主设备A在数据接收方向的加密处于开启状态,RXA_Enc_En;在数据发送方向的加密处于开启状态,TXA_Enc_En。
蓝牙从设备B在第n+2个接收周期RX n+2内接收到蓝牙主设备A回复的与LMP_Accepted对应的ACK消息时,将第二AES对消息发送数目累加1,此时,蓝牙从设备B的消息发送数目TXB_Counter=1,消息接收数目RXB_Counter=1,蓝牙从设备B在数据接收方向的加密处于开启状态,RXB_Enc_En;在数据发送方向的加密处于开启状态,TXB_Enc_En。
采用上述方案,在蓝牙主设备与蓝牙从设备之间进行加密启动时,即使在数据传输过程中,出现数据包丢失、错误等异常情况,而进行消息重传时,也能够使得第一AES计数器对蓝牙主设备的消息发送数目的计数与第二AES计数器对蓝牙从设备消息接收数目的计数保持一致,及第一AES计数器对蓝牙主设备的消息接收数目的计数与第二AES计数器对蓝牙从设备消息发送数目的计数保持一致,有利于AES加密启动正常进行。
为使得本领域技术人员更好的理解和实现本发明实施例,本发明实施例还提供一种蓝牙AES加密启动系统。所述蓝牙AES加密启动系统可以包括:蓝牙主设备及蓝牙从设备,其中:
所述蓝牙主设备,适于向所述蓝牙从设备发送未加密的开启加密请求消息时,启动在数据接收方向的加密,并将第一AES计数器的计数重置为0;所述第一AES计数器的计数包括:消息发送数目及消息接收数目;在接收到所述蓝牙从设备发送的开启加密请求确认消息后,向所述蓝牙从设备回复第一确认消息,启动在数据发送方向的加密,将所述第一AES计数器对消息接收数目的计数累加1。
所述蓝牙从设备,适于在接收到所述开启加密请求消息后,向所述蓝牙主设备回复第二确认消息,将第二AES计数器的计数重置为0,启动在数据发送方向及接收方向的加密,生成加密的开启加密请求确认消息,并发送至所述蓝牙主设备;接收到所述第一确认消息后,将所述第二AES计数器对消息发送数目的计数累加1。
采用上述方案,蓝牙主设备在向蓝牙从设备发送开启加密请求消息时,启动在数据接收方向上的加密。蓝牙从设备在接收到所述开启加密请求消息后,启动在数据发送方向及接收方向上的加密,从而蓝牙主设备在接收方向上的加密与蓝牙从设备在发送方向的加密保持一致,蓝牙主设备能够对接收到的所述蓝牙从设备发送的消息进行解密。并且,蓝牙主设备在向蓝牙从设备发送所述开启加密请求消息时,将第一AES计数器的计数重置为0,蓝牙从设备在接收到所述开启加密请求消息后,将第二AES计数器的计数重置为0,从而可以使得第一AES计数器对蓝牙主设备的消息发送数目的计数与第二AES计数器对蓝牙从设备的消息接收数目的计数相同,以及第一AES计数器对蓝牙主设备的消息接收数目的计数与第二AES计数器对蓝牙从设备的消息发送数目的计数相同,可以实现蓝牙AES加密过程中对数据进行正确的加密及解密,从而可以缩短蓝牙AES加密启动过程,并提高蓝牙AES加密启动过程中的数据传输效率。
在具体实施中,所述蓝牙主设备,还适于在向所述蓝牙从设备发送所述开启加密请求消息后,且在预设时长内未接收到所述蓝牙从设备回复的第二确认消息时,重新向所述蓝牙从设备发送所述开启加密请求消息。所述蓝牙从设备,还适于在接收到所述蓝牙主设备重新发送的所述开启加密请求消息后,将所述第二AES计数器对消息接收数目的计数累加1。
在具体实施中,所述蓝牙从设备,适于在接收到所述蓝牙主设备重新发送的所述开启加密请求消息后,当确定所接收到的所述开启加密请求消息为重传包时,将所述开启加密请求消息丢弃。
在本发明一实施例中,所述蓝牙从设备,适于在检测到所述开启加密请求消息的窗口序号与已接收到的其他消息的窗口序号相同时,确定所述开启加密请求消息为重传包。
在具体实施中,蓝牙AES加密启动系统的工作原理及工作流程可以参考本发明上述实施例提供的一种蓝牙AES加密启动方法中的描述,此处不做赘述。
参照图4,给出了本发明实施例中一种蓝牙主设备的结构示意图。所述蓝牙主设备40可以包括:第一发送单元41、第一启动单元42、第一重置单元43及第一接收单元44,其中:
所述第一发送单元41,适于向蓝牙从设备发送未加密的开启加密请求消息,使得所述蓝牙从设备接收到所述开启加密请求消息后,向所述蓝牙主设备回复第二确认消息,将第二AES计数器的计数重置为0,启动在数据发送方向及接收方向的加密,生成加密的开启加密请求确认消息,并发送至所述蓝牙主设备;以及在所述第一接收单元接44接收到所述开启加密请求确认消息后,向所述蓝牙从设备回复第一确认消息,使得所述蓝牙从设备接收到所述第一确认消息后,将所述蓝牙从设备的第二AES计数器对消息发送数目的计数累加1。
所述第一启动单元42,适于在向蓝牙从设备发送未加密的开启加密请求消息时,启动在数据接收方向的加密,以及在所述第一接收到单元44接收到所述蓝牙从设备发送的开启加密请求确认消息后,启动在数据发送方向的加密。
所述第一重置单元43,适于在向所述蓝牙从设备发送未加密的开启加密请求消息时,将第一AES计数器的计数重置为0,所述第一AES计数器的计数包括:消息发送数目及消息接收数目;以及在所述第一接收单元44接收到所述蓝牙从设备发送的开启加密请求确认消息后,将所述第一AES计数器对消息接收数目的计数累加1。
所述第一接收单元44,适于接收所述蓝牙从设备发送的开启加密请求确认消息。
在具体实施中,所述第一发送单元41,还适于在向所述蓝牙从设备发送所述开启加密请求消息后,当所述第一接收单元在预设时长内未接收到所述蓝牙从设备回复的第二确认消息时,重新向所述蓝牙从设备发送所述开启加密请求消息,使得所述蓝牙从设备在接收到所述蓝牙主设备重新发送的所述开启加密请求消息后,将所述第二AES计数器对消息接收数目的计数累加1。
在具体实施中,所述蓝牙主设备的工作原理及工作流程可以参考本发明上述实施例中提供的一种蓝牙AES加密启动方法中的描述,此处不做赘述。
参照图5,给出了本发明实施例中一种蓝牙从设备。所述蓝牙从设备50可以包括:第二接收单元51、第二发送单元52、第二重置单元53、第二启动单元54及生成单元55,其中:
所述第二接收单元51,适于接收蓝牙主设备发送的未加密的开启加密请求消息,以及接收所述蓝牙主设备发送的第一确认消息;
所述第二发送单元52,适于在所述第二接收单元51接收到所述蓝牙主设备发送的未加密的开启加密请求消息后,向所述蓝牙主设备回复第二确认消息;将所述生成单元55生成的加密的开启加密请求确认消息发送至所述蓝牙主设备,使得所述蓝牙主设备接收到所述开启加密请求确认消息后,向所述蓝牙从设备回复所述第一确认消息,启动在数据发送方向的加密,将第一AES计数器对消息接收数目的计数累加1,其中,所述蓝牙主设备在发送所述开启加密请求消息时,启动在数据接收方向的加密,并将所述第一AES计数器的计数重置为0;
所述第二重置单元53,适于在所述第二接收单元51接收到所述开启加密请求消息后,将第二AES计数器的计数重置为0,以及接收到所述第一确认消息后,将第二AES计数器对消息发送数目的计数累加1;
所述第二启动单元54,适于在所述第二重置单元53将第二AES计数器的计数重置为0后,启动在数据发送方向及接收方向的加密;
所述生成单元55,适于生成加密的开启加密请求确认消息。
在具体实施中,所述第二重置单元53,还适于当所述第二接收单元51接收到所述蓝牙主设备重新发送的所述开启加密请求消息时,将所述第二AES计数器对消息接收数目的计数累加1;所述重新发送的所述开启加密请求消息由所述蓝牙主设备向所述蓝牙从设备发送所述开启加密请求消息后,当在预设时长内未接收到所述蓝牙从设备回复的第二确认消息时,重新向所述蓝牙从设备发送的所述开启加密请求消息。
参照图6给出的本发明实施例中另一种蓝牙从设备的结构示意图。在具体实施中,所述蓝牙从设备50在图5的基础上还可以包括:重传包确认单元56及丢弃单元57,其中:
所述重传包确定单元56,适于确定所接收到的开启加密请求消息是否为重传包;
所述丢弃单元57,适于当所述重传包确定单元56确定所接收到的所述开启加密请求消息为重传包时,将所述开启加密请求消息丢弃。
在具体实施中,所述重传包确定单元56,适于当检测到所述开启加密请求消息的窗口序号与已接收到的其他消息的窗口序号相同时,确定所述开启加密请求消息为重传包。
在具体实施中,所述蓝牙从设备的工作原理及工作流程可以参考本发明上述实施例中提供的一种蓝牙AES加密启动方法中的描述,此处不做赘述。
需要说明的是,本发明实施例中所出现的,如第一确认消息、第二确认消息、第一发送单元、第二发送单元、第一启动单元、第二启动单元等中的“第一”、“第二”并不用于表示相应消息或单元的顺序,仅为描述方便,用于区分确认消息是哪个设备所发送的,单元设置在哪个设备上。
本领域普通技术人员可以理解上述实施例的各种方法中的全部或部分步骤是可以通过程序来指令相关的硬件来完成,该程序可以存储于一计算机可读存储介质中,存储介质可以包括:ROM、RAM、磁盘或光盘等。
虽然本发明披露如上,但本发明并非限定于此。任何本领域技术人员,在不脱离本发明的精神和范围内,均可作各种更动与修改,因此本发明的保护范围应当以权利要求所限定的范围为准。
Claims (14)
1.一种蓝牙AES加密启动方法,其特征在于,包括:
蓝牙主设备向蓝牙从设备发送未加密的开启加密请求消息时,启动在数据接收方向的加密,并将第一AES计数器的计数重置为0;所述第一AES计数器的计数包括:消息发送数目及消息接收数目;
所述蓝牙从设备接收到所述开启加密请求消息后,向所述蓝牙主设备回复第二确认消息,将第二AES计数器的计数重置为0,启动在数据发送方向及接收方向的加密,生成加密的开启加密请求确认消息,并发送至所述蓝牙主设备;
所述蓝牙主设备接收到所述蓝牙从设备发送的开启加密请求确认消息后,向所述蓝牙从设备回复第一确认消息,启动在数据发送方向的加密,将所述第一AES计数器对消息接收数目的计数累加1;
所述蓝牙从设备接收到所述第一确认消息后,将所述第二AES计数器对消息发送数目的计数累加1。
2.根据权利要求1所述的蓝牙AES加密启动方法,其特征在于,还包括:
所述蓝牙主设备向所述蓝牙从设备发送所述开启加密请求消息后,当在预设时长内未接收到所述蓝牙从设备回复的第二确认消息时,重新向所述蓝牙从设备发送所述开启加密请求消息;
所述蓝牙从设备在接收到所述蓝牙主设备重新发送的所述开启加密请求消息后,将所述第二AES计数器对消息接收数目的计数累加1。
3.根据权利要求2所述的蓝牙AES加密启动方法,其特征在于,还包括:
所述蓝牙从设备接收到所述蓝牙主设备重新发送的所述开启加密请求消息后,当确定所接收到的所述开启加密请求消息为重传包时,将所述开启加密请求消息丢弃。
4.根据权利要求3所述的蓝牙AES加密启动方法,其特征在于,所述确定所接收到的所述开启加密请求消息为重传包,包括:
当所述蓝牙从设备检测到所述开启加密请求消息的窗口序号与已接收到的其他消息的窗口序号相同时,确定所述开启加密请求消息为重传包。
5.一种蓝牙AES加密启动系统,其特征在于,包括:蓝牙主设备和蓝牙从设备,其中:
所述蓝牙主设备,适于向所述蓝牙从设备发送未加密的开启加密请求消息时,启动在数据接收方向的加密,并将第一AES计数器的计数重置为0;所述第一AES计数器的计数包括:消息发送数目及消息接收数目;在接收到所述蓝牙从设备发送的开启加密请求确认消息后,向所述蓝牙从设备回复第一确认消息,启动在数据发送方向的加密,将所述第一AES计数器对消息接收数目的计数累加1;
所述蓝牙从设备,适于在接收到所述开启加密请求消息后,向所述蓝牙主设备回复第二确认消息,将第二AES计数器的计数重置为0,启动在数据发送方向及接收方向的加密,生成加密的开启加密请求确认消息,并发送至所述蓝牙主设备;在接收到所述第一确认消息后,将所述第二AES计数器对消息发送数目的计数累加1。
6.根据权利要求5所述的蓝牙AES加密启动系统,其特征在于,所述蓝牙主设备,还适于在向所述蓝牙从设备发送所述开启加密请求消息后,且在预设时长内未接收到所述蓝牙从设备回复的第二确认消息时,重新向所述蓝牙从设备发送所述开启加密请求消息;
所述蓝牙从设备,还适于在接收到所述蓝牙主设备重新发送的所述开启加密请求消息后,将所述第二AES计数器对消息接收数目的计数累加1。
7.根据权利要求6所述的蓝牙AES加密启动系统,其特征在于,所述蓝牙从设备,还适于在接收到所述蓝牙主设备重新发送的所述开启加密请求消息后,当确定所接收到的所述开启加密请求消息为重传包时,将所述开启加密请求消息丢弃。
8.根据权利要求7所述的蓝牙AES加密启动系统,其特征在于,所述蓝牙从设备,适于在检测到所述开启加密请求消息的窗口序号与已接收到的其他消息的窗口序号相同时,确定所述开启加密请求消息为重传包。
9.一种蓝牙主设备,其特征在于,包括:第一发送单元、第一启动单元、第一重置单元及第一接收单元,其中:
所述第一发送单元,适于向蓝牙从设备发送未加密的开启加密请求消息,使得所述蓝牙从设备接收到所述开启加密请求消息后,向所述蓝牙主设备回复第二确认消息,将第二AES计数器的计数重置为0,启动在数据发送方向及接收方向的加密,生成加密的开启加密请求确认消息,并发送至所述蓝牙主设备;以及在所述第一接收单元接收到所述开启加密请求确认消息后,向所述蓝牙从设备回复第一确认消息,使得所述蓝牙从设备接收到所述第一确认消息后,将所述蓝牙从设备的第二AES计数器对消息发送数目的计数累加1;
所述第一启动单元,适于在向所述蓝牙从设备发送未加密的开启加密请求消息时,启动在数据接收方向的加密,以及在所述第一接收单元接收到所述蓝牙从设备发送的开启加密请求确认消息后,启动在数据发送方向的加密;
所述第一重置单元,适于在向所述蓝牙从设备发送未加密的开启加密请求消息时,将第一AES计数器的计数重置为0,所述第一AES计数器的计数包括:消息发送数目及消息接收数目;在所述第一接收单元接收到所述蓝牙从设备发送的开启加密请求确认消息后,将所述第一AES计数器对消息接收数目的计数累加1;
所述第一接收单元,适于接收所述蓝牙从设备发送的开启加密请求确认消息。
10.根据权利要求9所述的蓝牙主设备,其特征在于,所述第一发送单元,还适于在向所述蓝牙从设备发送所述开启加密请求消息后,当所述第一接收单元在预设时长内未接收到所述蓝牙从设备回复的第二确认消息时,重新向所述蓝牙从设备发送所述开启加密请求消息,使得所述蓝牙从设备在接收到所述蓝牙主设备重新发送的所述开启加密请求消息后,将所述第二AES计数器对消息接收数目的计数累加1。
11.一种蓝牙从设备,其特征在于,包括:第二接收单元、第二发送单元、第二重置单元、第二启动单元及生成单元,其中:
所述第二接收单元,适于接收蓝牙主设备发送的未加密的开启加密请求消息,以及接收所述蓝牙主设备发送的第一确认消息;
所述第二发送单元,适于在所述第二接收单元接收到所述蓝牙主设备发送的未加密的开启加密请求消息后,向所述蓝牙主设备回复第二确认消息;将所述生成单元生成的加密的开启加密请求确认消息发送至所述蓝牙主设备,使得所述蓝牙主设备接收到所述开启加密请求确认消息后,向所述蓝牙从设备回复所述第一确认消息,启动在数据发送方向的加密,将第一AES计数器对消息接收数目的计数累加1,其中,所述蓝牙主设备在发送所述开启加密请求消息时,启动在数据接收方向的加密,并将所述第一AES计数器的计数重置为0;
所述第二重置单元,适于在所述第二接收单元接收到所述开启加密请求消息后,将第二AES计数器的计数重置为0,以及接收到所述第一确认消息后,将第二AES计数器对消息发送数目的计数累加1;
所述第二启动单元,适于在所述第二重置单元将第二AES计数器的计数重置为0后,启动在数据发送方向及接收方向的加密;
所述生成单元,适于生成加密的开启加密请求确认消息。
12.根据权利要求11所述的蓝牙从设备,其特征在于,所述第二重置单元,还适于当所述第二接收单元接收到所述蓝牙主设备重新发送的所述开启加密请求消息时,将所述第二AES计数器对消息接收数目的计数累加1;所述重新发送的所述开启加密请求消息由所述蓝牙主设备向所述蓝牙从设备发送所述开启加密请求消息后,当在预设时长内未接收到所述蓝牙从设备回复的第二确认消息时,重新向所述蓝牙从设备发送的所述开启加密请求消息。
13.根据权利要求12所述的蓝牙从设备,其特征在于,还包括:重传包确认单元及丢弃单元,其中:
所述重传包确定单元,适于确定所接收到的开启加密请求消息是否为重传包;
所述丢弃单元,适于当所述重传包确定单元确定所接收到的所述开启加密请求消息为重传包时,将所述开启加密请求消息丢弃。
14.根据权利要求13所述的蓝牙从设备,其特征在于,所述重传包确定单元,适于当检测到所述开启加密请求消息的窗口序号与已接收到的其他消息的窗口序号相同时,确定所述开启加密请求消息为重传包。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201710236712.7A CN108696347B (zh) | 2017-04-12 | 2017-04-12 | 蓝牙aes加密启动方法、系统和蓝牙主、从设备 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201710236712.7A CN108696347B (zh) | 2017-04-12 | 2017-04-12 | 蓝牙aes加密启动方法、系统和蓝牙主、从设备 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN108696347A true CN108696347A (zh) | 2018-10-23 |
CN108696347B CN108696347B (zh) | 2021-02-19 |
Family
ID=63843597
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201710236712.7A Active CN108696347B (zh) | 2017-04-12 | 2017-04-12 | 蓝牙aes加密启动方法、系统和蓝牙主、从设备 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN108696347B (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111556476A (zh) * | 2020-04-17 | 2020-08-18 | 炬力(珠海)微电子有限公司 | 蓝牙tws设备间的数据传输方法及蓝牙tws设备 |
Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20080130881A1 (en) * | 2006-12-04 | 2008-06-05 | Samsung Electronics Co., Ltd. | Method and apparatus for encrypting data |
US20110022916A1 (en) * | 2009-07-24 | 2011-01-27 | Prasanna Desai | Method and system for saving power for packet re-transmission in an encrypted bluetooth low power link layer connection |
CN102006644A (zh) * | 2009-09-02 | 2011-04-06 | 中兴通讯股份有限公司 | 一种第三代移动通信系统重定位加密处理的方法及系统 |
CN103945373A (zh) * | 2014-04-25 | 2014-07-23 | 上海大众汽车有限公司 | 蓝牙传输数据的安全加密方案 |
CN105430605A (zh) * | 2015-12-10 | 2016-03-23 | 飞天诚信科技股份有限公司 | 一种蓝牙主从设备及两者建立安全通道的方法 |
CN106303913A (zh) * | 2015-06-01 | 2017-01-04 | 深圳市南方硅谷微电子有限公司 | 蓝牙收发装置及其信息收发方法 |
CN106559736A (zh) * | 2015-09-28 | 2017-04-05 | 展讯通信(上海)有限公司 | 蓝牙设备连接控制方法及装置 |
-
2017
- 2017-04-12 CN CN201710236712.7A patent/CN108696347B/zh active Active
Patent Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20080130881A1 (en) * | 2006-12-04 | 2008-06-05 | Samsung Electronics Co., Ltd. | Method and apparatus for encrypting data |
US20110022916A1 (en) * | 2009-07-24 | 2011-01-27 | Prasanna Desai | Method and system for saving power for packet re-transmission in an encrypted bluetooth low power link layer connection |
CN102006644A (zh) * | 2009-09-02 | 2011-04-06 | 中兴通讯股份有限公司 | 一种第三代移动通信系统重定位加密处理的方法及系统 |
CN103945373A (zh) * | 2014-04-25 | 2014-07-23 | 上海大众汽车有限公司 | 蓝牙传输数据的安全加密方案 |
CN106303913A (zh) * | 2015-06-01 | 2017-01-04 | 深圳市南方硅谷微电子有限公司 | 蓝牙收发装置及其信息收发方法 |
CN106559736A (zh) * | 2015-09-28 | 2017-04-05 | 展讯通信(上海)有限公司 | 蓝牙设备连接控制方法及装置 |
CN105430605A (zh) * | 2015-12-10 | 2016-03-23 | 飞天诚信科技股份有限公司 | 一种蓝牙主从设备及两者建立安全通道的方法 |
Non-Patent Citations (2)
Title |
---|
ORANGE: "A man-in-the-middle attack using Bluetooth in a WLAN interworking environnment", 《3GPP TSG SA WG3 SECURITY#32 S3-040122》 * |
王立中: "手机蓝牙文件传输机制的安全性分析及改进", 《中国优秀硕士学位论文全文数据库》 * |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111556476A (zh) * | 2020-04-17 | 2020-08-18 | 炬力(珠海)微电子有限公司 | 蓝牙tws设备间的数据传输方法及蓝牙tws设备 |
CN111556476B (zh) * | 2020-04-17 | 2021-01-19 | 炬力(珠海)微电子有限公司 | 蓝牙tws设备间的数据传输方法及蓝牙tws设备 |
Also Published As
Publication number | Publication date |
---|---|
CN108696347B (zh) | 2021-02-19 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN104168081B (zh) | 一种文件传输方法及装置 | |
RU2535172C2 (ru) | Способ предотвращения повторного использования пакетов цифровых данных в сетевой системе передачи данных | |
CN103765847A (zh) | 用于媒体访问控制头部压缩的装置和方法 | |
EP2725759A1 (en) | Authentication method for bidirectional forwarding detection session and node | |
JPH08149122A (ja) | 通信制御装置及び方法 | |
TWI526019B (zh) | 用於在無線區域網路系統中處理封包之方法及裝置 | |
WO2016138636A1 (zh) | 一种节点入网方法、装置及系统 | |
CN108476131A (zh) | 数据传输方法、装置和设备 | |
WO2011137640A1 (zh) | 文件传输方法、文件发送装置和文件接收装置 | |
CN104022857A (zh) | 一种基于多种工作模式的服务器引擎框架的设计方法 | |
CN108886713B (zh) | 一种数据传输方法、数据接收设备及数据发送设备 | |
TWI702869B (zh) | 訊息處理方法、通訊設備和電腦儲存媒介 | |
CN106027249A (zh) | 身份证读卡方法和系统 | |
WO2012068972A1 (zh) | 一种激活配置的方法及用户设备 | |
CN111756698B (zh) | 一种消息传递方法、装置、设备和计算机可读存储介质 | |
CN108696347A (zh) | 蓝牙aes加密启动方法、系统和蓝牙主、从设备 | |
JP2004048474A (ja) | エレベータのデータ伝送装置 | |
CN113141263B (zh) | 一种升级方法、装置、系统和存储介质 | |
US20220210809A1 (en) | System and method for providing an enhanced acknowledgement frame | |
CN113794620B (zh) | 消息发送方法、装置、设备、系统与存储介质 | |
CN112787972B (zh) | 一种在物联网中近端维护认证的系统、方法及装置 | |
CN103401682A (zh) | 加密套件的处理方法及设备 | |
CN107682146B (zh) | 一种单片机通信方法 | |
CN105407081A (zh) | 一种安全高效卫星数据传输系统及其数据同步和传输方法 | |
WO2012145898A1 (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 |