CN107317606B - 一种蓝牙防追踪的方法及设备 - Google Patents

一种蓝牙防追踪的方法及设备 Download PDF

Info

Publication number
CN107317606B
CN107317606B CN201710532595.9A CN201710532595A CN107317606B CN 107317606 B CN107317606 B CN 107317606B CN 201710532595 A CN201710532595 A CN 201710532595A CN 107317606 B CN107317606 B CN 107317606B
Authority
CN
China
Prior art keywords
module
target bluetooth
pairing
mobile device
identity
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
Application number
CN201710532595.9A
Other languages
English (en)
Other versions
CN107317606A (zh
Inventor
陆舟
于华章
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Feitian Technologies Co Ltd
Original Assignee
Feitian Technologies Co Ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Feitian Technologies Co Ltd filed Critical Feitian Technologies Co Ltd
Priority to CN201710532595.9A priority Critical patent/CN107317606B/zh
Publication of CN107317606A publication Critical patent/CN107317606A/zh
Priority to US16/609,486 priority patent/US11381975B2/en
Priority to PCT/CN2018/089517 priority patent/WO2019007172A1/zh
Application granted granted Critical
Publication of CN107317606B publication Critical patent/CN107317606B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W12/00Security arrangements; Authentication; Protecting privacy or anonymity
    • H04W12/50Secure pairing of devices
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04BTRANSMISSION
    • H04B5/00Near-field transmission systems, e.g. inductive or capacitive transmission systems
    • H04B5/70Near-field transmission systems, e.g. inductive or capacitive transmission systems specially adapted for specific purposes
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/04Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks
    • H04L63/0407Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks wherein the identity of one or more communicating identities is hidden
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/08Network architectures or network communication protocols for network security for authentication of entities
    • H04L63/0869Network architectures or network communication protocols for network security for authentication of entities for achieving mutual authentication
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/08Network architectures or network communication protocols for network security for authentication of entities
    • H04L63/0876Network architectures or network communication protocols for network security for authentication of entities based on the identity of the terminal or configuration, e.g. MAC address, hardware or software configuration or device fingerprint
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/08Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
    • H04L9/0861Generation of secret information including derivation or calculation of cryptographic keys or passwords
    • H04L9/0869Generation of secret information including derivation or calculation of cryptographic keys or passwords involving random numbers or seeds
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W12/00Security arrangements; Authentication; Protecting privacy or anonymity
    • H04W12/02Protecting privacy or anonymity, e.g. protecting personally identifiable information [PII]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W12/00Security arrangements; Authentication; Protecting privacy or anonymity
    • H04W12/04Key management, e.g. using generic bootstrapping architecture [GBA]
    • H04W12/041Key generation or derivation
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W12/00Security arrangements; Authentication; Protecting privacy or anonymity
    • H04W12/06Authentication
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W12/00Security arrangements; Authentication; Protecting privacy or anonymity
    • H04W12/06Authentication
    • H04W12/069Authentication using certificates or pre-shared keys
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q50/00Information and communication technology [ICT] specially adapted for implementation of business processes of specific business sectors, e.g. utilities or tourism
    • G06Q50/10Services
    • G06Q50/26Government or public services
    • G06Q50/265Personal security, identity or safety
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L2209/00Additional information or applications relating to cryptographic mechanisms or cryptographic arrangements for secret or secure communication H04L9/00
    • H04L2209/80Wireless
    • H04L2209/805Lightweight hardware, e.g. radio-frequency identification [RFID] or sensor
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L61/00Network arrangements, protocols or services for addressing or naming
    • H04L61/50Address allocation
    • H04L61/5092Address allocation by self-assignment, e.g. picking addresses at random and testing if they are already in use
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W4/00Services specially adapted for wireless communication networks; Facilities therefor
    • H04W4/80Services using short range communication, e.g. near-field communication [NFC], radio-frequency identification [RFID] or low energy communication

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Computer Security & Cryptography (AREA)
  • Computer Hardware Design (AREA)
  • Computing Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Power Engineering (AREA)
  • Mobile Radio Communication Systems (AREA)

Abstract

本发明公开了一种蓝牙防追踪的方法及设备,属于信息安全领域。所述方法包括:目标蓝牙设备每隔第一预设时间生成第一动态地址并广播;连接并得到移动设备的第二动态地址之后,等待接收移动设备发送的数据,如为配对请求,则与移动设备配对,保存配对请求中含有的第二身份解析密钥,返回含有自身第一身份解析密钥的配对响应给移动设备,继续等待接收数据;如为链路加密请求,则依次使用自身存有的移动设备的身份解析密钥验证第二动态地址,判断是否存在验证成功的第二身份解析密钥,是则返回成功响应给相连的移动设备并与其通信,结束;否则返回错误码,断开连接,结束。本发明中,蓝牙设备周期性的改变自身的动态地址,有效的防止了黑客窃取数据。

Description

一种蓝牙防追踪的方法及设备
技术领域
本发明涉及信息安全领域,尤其涉及一种蓝牙防追踪的方法及设备。
背景技术
现有技术中,蓝牙设备属于无线射频产品,需要广播一些身份信息,例如MAC地址、设备名称等,来使与其通信的设备(例如:手机)识别蓝牙设备;然而,该过程中,黑客可以通过这些广播信息并结合射频信息的距离来追踪蓝牙设备,从而窃取蓝牙设备及蓝牙设备使用者的隐私数据,存在安全隐患。
发明内容
本发明为解决现有技术的不足,提供了一种蓝牙防追踪的方法及设备。
一方面,本发明提供了一种蓝牙防追踪的方法,包括:
步骤S1:目标蓝牙设备上电,每隔第一预设时间生成第一随机数,并根据所述第一随机数和自身的第一身份解析密钥生成第一数据,根据所述第一随机数和所述第一数据生成第一动态地址,广播含有所述第一动态地址的广播数据,当接收到移动设备发送来的连接请求时,执行步骤S2;
步骤S2:所述目标蓝牙设备连接所述移动设备,解析所述连接请求得到所述移动设备的第二动态地址,返回连接响应给所述移动设备;
步骤S3:所述目标蓝牙设备等待并接收所述移动设备发送来的数据,如为配对请求,则执行步骤S4;如为链路加密请求,则执行步骤S5;
步骤S4:所述目标蓝牙设备与所述移动设备配对,保存所述配对请求中含有的第二身份解析密钥至身份解析密钥列表中,并生成含有自身第一身份解析密钥的配对响应,返回所述配对响应给所述移动设备,返回步骤S3;
步骤S5:所述目标蓝牙设备依次使用自身存有的身份解析密钥列表中的身份解析密钥验证所述第二动态地址,判断是否存在验证成功的第二身份解析密钥,是则执行步骤S6,否则返回错误码给相连的移动设备,断开连接,结束;
步骤S6:所述目标蓝牙设备根据所述链路加密请求保存会话密钥信息,返回成功响应给相连的移动设备并与所述相连的移动设备通信,结束。
可选地,所述步骤S1中,所述生成第一随机数,并根据所述第一随机数和自身的第一身份解析密钥生成第一数据,根据所述第一随机数和所述第一数据生成第一动态地址,具体为:
步骤a1:所述目标蓝牙设备生成第一随机数,对所述第一随机数进行补位;
步骤a2:所述目标蓝牙设备使用自身的第一身份解析密钥对补位后的第一随机数加密得到第一随机数密文;
步骤a3:所述目标蓝牙设备对所述第一随机数密文做预设运算得到第一数据;
步骤a4:所述目标蓝牙设备将所述第一随机数与所述第一数据顺序拼接得到第一动态地址。
可选地,所述步骤S2中,所述解析所述连接请求得到所述移动设备的第二动态地址之前,还包括:
步骤B1:所述目标蓝牙设备判断所述连接请求中含有的地址是否为动态地址,是则将其作为所述移动设备的第二动态地址,继续执行所述解析所述连接请求得到所述移动设备的第二动态地址;否则返回连接响应给所述移动设备,执行步骤B2;
步骤B2:所述目标蓝牙设备等待并接收所述移动设备发送来的数据,如为链路加密请求,则执行步骤B3;如为配对请求,则与所述移动设备配对,保存配对信息,并生成含有自身第一身份解析密钥的配对响应,返回所述配对响应给所述移动设备,继续执行步骤B2;
步骤B3:所述目标蓝牙设备判断自身保存的配对信息中是否含有与所述移动设备的配对信息,是则根据所述链路加密请求保存会话密钥信息,返回成功响应给所述移动设备并与所述移动设备通信,结束;否则返回错误码给所述移动设备,断开连接,结束。
可选地,所述步骤B1中,所述目标蓝牙设备判断所述连接请求中含有的地址是否为动态地址,具体为:
所述目标蓝牙设备判断所述连接请求中含有的地址的第二预设位上的数据是否为预设数据,是则判定所述连接请求中含有的地址是动态地址;否则判定所述连接请求中含有的地址不是动态地址。
可选地,所述步骤B3中,所述目标蓝牙设备判断自身保存的配对信息中是否含有与所述移动设备的配对信息,具体为:
所述目标蓝牙设备判断自身保存的配对信息中是否含有接收到的连接请求中含有的地址,是则判定自身保存的配对信息中含有与所述移动设备的配对信息;否则判定自身保存的配对信息中不含有与所述移动设备的配对信息。
可选地,所述步骤S3中,还包括:所述目标蓝牙设备判断第二预设时间内是否接收到所述移动设备发送来的数据,是则,如为配对请求,则执行步骤S4;如为链路加密请求,则执行步骤S5;否则关机,结束。
可选地,所述步骤S4中,所述保存所述配对请求中含有的第二身份解析密钥至身份解析密钥列表中之前,还包括:
步骤H:所述目标蓝牙设备判断自身保存的身份解析密钥列表中是否含有所述配对请求中含有的第二身份解析密钥,是则生成含有自身第一身份解析密钥的配对响应,返回配对响应给所述移动设备,返回步骤S3;否则,继续执行所述保存所述配对请求中含有的第二身份解析密钥至身份解析密钥列表中;
或者,
步骤F:所述目标蓝牙设备判断自身保存的身份解析密钥列表中是否含有所述配对请求中含有的第二身份解析密钥,是则将所述身份解析密钥列表中含有的第二身份解析密钥移除,继续执行所述保存所述配对请求中含有的第二身份解析密钥至身份解析密钥列表中;否则,继续执行所述保存所述配对请求中含有的第二身份解析密钥至身份解析密钥列表中。
可选地,所述步骤S5之前,还包括:
所述目标蓝牙设备判断自身存有的身份解析密钥列表是否为空,是则返回错误码给相连的移动设备,断开连接,结束;否则,执行步骤S5。
可选地,所述步骤S5中,所述目标蓝牙设备依次使用自身存有的身份解析密钥列表中的身份解析密钥验证第二动态地址,判断是否存在验证成功的第二身份解析密钥,具体包括:
步骤b1:所述目标蓝牙设备解析所述第二动态地址得到第二随机数和第二数据;
步骤b2:所述目标蓝牙设备依次根据自身存有的身份解析密钥列表中的身份解析密钥和所述第二随机数生成多个第三数据,并判断是否存在与所述第二数据相同的第三数据,是则判定存在验证成功的第二身份解析密钥;否则,判定不存在验证成功的第二身份解析密钥。
可选地,所述步骤b1,具体为:所述目标蓝牙设备读取所述第二动态地址的高预设位得到第二随机数,读取所述第二动态地址的低预设位得到第二数据。
可选地,所述步骤b2中,所述目标蓝牙设备依次根据自身存有的身份解析密钥列表中的身份解析密钥和所述第二随机数生成多个第三数据,具体包括:
步骤d1:所述目标蓝牙设备对所述第二随机数进行补位;
步骤d2:所述目标蓝牙设备依次使用自身存有的身份解析密钥列表中的身份解析密钥对补位后的第二随机数加密得到多个第二随机数密文,并对所述多个第二随机数密文做预设运算得多个第三数据。
可选地,所述步骤S6,具体包括:
步骤t1:所述目标蓝牙设备解析所述链路加密请求得到会话密钥标识,判断自身存有的会话密钥列表中是否含有所述会话密钥标识,是则返回成功响应给相连的移动设备并与所述相连的移动设备通信,结束;否则执行步骤t2;
步骤t2:所述目标蓝牙设备与所述移动设备协商会话密钥,将协商得到的会话密钥与所述会话密钥标识对应保存至所述会话密钥列表中,返回成功响应给相连的移动设备并与所述相连的移动设备通信,结束。
可选地,所述方法还包括:
步骤W1:当所述移动设备扫描到所述目标蓝牙设备时,发送含有自身第二动态地址的连接请求给所述目标蓝牙设备;
步骤W2:当所述移动设备接收到所述目标蓝牙设备返回的连接响应时,解析获取到的所述目标蓝牙设备的广播数据得到所述第一动态地址;
步骤W3:所述移动设备判断自身是否存有蓝牙设备的身份解析密钥,是则执行步骤W5,否则执行步骤W4;
步骤W4:所述移动设备生成含有自身第二身份解析密钥的配对请求,发送所述配对请求给所述目标蓝牙设备,接收所述目标蓝牙设备返回的配对响应,将所述配对响应中含有第一身份解析密钥保存,执行步骤W6;
步骤W5:所述移动设备依次使用自身存有的蓝牙设备的身份解析密钥验证所述第一动态地址,判断是否存在验证成功的第一身份解析密钥,是则执行步骤W6,否则返回步骤W4;
步骤W6:所述移动设备发送链路加密请求给所述目标蓝牙设备,接收所述目标蓝牙设备返回的响应,如为成功响应,则与所述目标蓝牙设备通信,结束;如为错误码,则断开连接,结束。
可选地,所述步骤W6中,当所述移动设备接收到所述目标蓝牙设备返回的响应为错误码时,还包括:所述移动设备通过应用程序提示用户错误信息,并接收来自所述用户的控件触发信息,如为重新配对信息,则返回步骤W4;如为结束信息,则断开连接,结束;
所述步骤S5中,所述返回错误码给相连的移动设备之后,还包括:当第二预设时间内接收到所述相连的移动设备发送来的配对请求时,返回步骤S4。
另一方面,本发明提供了一种蓝牙防追踪设备,包括:
上电模块,用于上电;
第一生成模块,用于每隔第一预设时间生成第一随机数;
第二生成模块,用于根据所述第一生成模块生成的第一随机数和所述设备的第一身份解析密钥生成第一数据;
第三生成模块,用于根据所述第一生成模块生成的第一随机数和所述第二生成模块生成的第一数据生成第一动态地址;
广播模块,用于广播含有所述第一动态地址的广播数据;
第一接收模块,用于接收移动设备发送来的数据;
连接模块,用于当所述第一接收模块接收到移动设备发送来的连接请求时,连接所述移动设备;
解析模块,用于解析所述第一接收模块接收到的连接请求得到所述移动设备的第二动态地址;
第一发送模块,用于返回连接响应给所述移动设备;
所述第一接收模块,还用于在所述第一发送模块返回连接响应给所述移动设备之后,等待并接收所述移动设备发送来的数据;
配对模块,用于当所述第一接收模块接收到移动设备发送来的配对请求时,与所述移动设备配对;
第一保存模块,用于保存所述第一接收模块接收到的配对请求中含有的第二身份解析密钥至身份解析密钥列表中;
第四生成模块,用于生成含有所述设备的第一身份解析密钥的配对响应;
所述第一发送模块,还用于返回所述第四生成模块生成的配对响应给所述移动设备;
所述第一接收模块,还用于在所述第一发送模块返回配对响应给所述移动设备之后,等待并接收所述移动设备发送来的数据;
验证模块,用于当所述第一接收模块接收到移动设备发送来的链路加密请求时,依次使用自身存有的身份解析密钥列表中的身份解析密钥验证所述解析模块得到的第二动态地址;
第一判断模块,用于判断是否存在验证成功的第二身份解析密钥;
所述第一发送模块,还用于在所述第一判断模块判断出不存在验证成功的第二身份解析密钥时,返回错误码给相连的移动设备;
断开模块,用于在所述第一发送模块返回错误码给相连的移动设备之后,断开连接;
第二保存模块,用于当所述第一判断模块判断出存在验证成功的第二身份解析密钥时,根据所述第一接收模块接收到的链路加密请求保存会话密钥信息;
所述第一发送模块,还用于在所述第二保存模块保存会话密钥信息之后,返回成功响应给相连的移动设备;
通讯模块,用于在所述第一发送模块返回成功响应给相连的移动设备之后,与所述相连的移动设备通信。
可选地,所述第一生成模块,具体用于:生成第一随机数,对所述第一随机数进行补位;
所述第二生成模块,具体用于:使用所述设备的第一身份解析密钥对补位后的第一随机数加密得到第一随机数密文,对所述第一随机数密文做预设运算得到第一数据;
所述第三生成模块,具体用于:将所述第一生成模块生成的第一随机数与所述第二生成模块生成的第一数据顺序拼接得到第一动态地址。
可选地,所述设备还包括:第二判断模块、作为模块、第二发送模块、第二接收模块、配对保存模块、第三判断模块和第三保存模块;
所述第二判断模块,用于判断所述连接请求中含有的地址是否为动态地址;
所述作为模块,用于当所述第二判断模块判断出所述连接请求中含有的地址是动态地址时,其作为所述移动设备的第二动态地址,触发所述解析模块;
所述第二发送模块,用于当所述第二判断模块判断出所述连接请求中含有的地址不是动态地址时,返回连接响应给所述移动设备;
第二接收模块,用于在所述第二发送模块返回连接响应给所述移动设备之后,等待并接收所述移动设备发送来的数据;
所述配对保存模块,还用于在所述第二接收模块接收到配对请求时,与所述移动设备配对,保存配对信息;
所述第二发送模块,用于在所述配对保存模块保存配对信息之后,生成含有所述设备的第一身份解析密钥的配对响应,返回所述配对响应给所述移动设备;
所述第二接收模块,还用于在所述第二发送模块返回所述配对响应给所述移动设备之后,等待并接收所述移动设备发送来的数据;
所述第三判断模块,用于在所述第二接收模块接收到链路加密请求时,判断保存的配对信息中是否含有与所述移动设备的配对信息;
所述第三保存模块,还用于在所述第三判断模块判断出保存的配对信息中含有与所述移动设备的配对信息时,根据所述链路加密请求保存会话密钥信息;
所述第二发送模块,还用于在所述第三保存模块保存会话密钥信息之后,返回成功响应给所述移动设备;
所述通讯模块,还用于在所述第二发送模块返回成功响应给所述移动设备之后,与所述移动设备通信;
所述第二发送模块,还用于在所述第三判断模块判断出保存的配对信息中不含有与所述移动设备的配对信息时,返回错误码给所述移动设备;
所述断开模块,还用于在所述第二发送模块返回错误码给所述移动设备之后,断开连接。
可选地,所述第二判断模块,具体用于:判断所述连接请求中含有的地址的第二预设位上的数据是否为预设数据,是则判定所述连接请求中含有的地址是动态地址;否则判定所述连接请求中含有的地址不是动态地址。
可选地,所述第三判断模块,具体用于:判断所述设备保存的配对信息中是否含有接收到的连接请求中含有的地址,是则判定所述设备保存的配对信息中含有与所述移动设备的配对信息;否则判定所述设备保存的配对信息中不含有与所述移动设备的配对信息。
可选地,所述设备还包括:第四判断模块和关机模块;
所述第四判断模块,用于判断所述第一接收模块在第二预设时间内是否接收到所述移动设备发送来的数据;
所述关机模块,用于在所述第四判断模块判断出所述第一接收模块在第二预设时间内未接收到所述移动设备发送来的数据时,关机。
可选地,所述设备还包括:第五判断模块,或者第六判断模块和移除模块;
所述第五判断模块,用于判断所述设备保存的身份解析密钥列表中是否含有所述配对请求中含有的第二身份解析密钥;
所述第四生成模块,还用于当所述第五判断模块判断出所述设备保存的身份解析密钥列表中含有所述配对请求中含有的第二身份解析密钥时,生成含有所述设备的第一身份解析密钥的配对响应;
所述第一保存模块,具体用于:当所述第五判断模块判断出所述设备保存的身份解析密钥列表中不含有所述配对请求中含有的第二身份解析密钥时,保存所述配对请求中含有的第二身份解析密钥至身份解析密钥列表中;
所述第六判断模块,用于判断所述设备保存的身份解析密钥列表中是否含有所述配对请求中含有的第二身份解析密钥;
所述移除模块,用于当所述第六判断模块判断出所述设备保存的身份解析密钥列表中含有所述配对请求中含有的第二身份解析密钥时,将所述身份解析密钥列表中含有的第二身份解析密钥移除;
所述第一保存模块,还用于在所述移除模块将所述身份解析密钥列表中含有的第二身份解析密钥移除之后,保存所述配对请求中含有的第二身份解析密钥至身份解析密钥列表中;还用于当所述第六判断模块判断出所述设备保存的身份解析密钥列表中不含有所述配对请求中含有的第二身份解析密钥时,保存所述配对请求中含有的第二身份解析密钥至身份解析密钥列表中。
可选地,所述设备还包括:第七判断模块;
所述第七判断模块,用于判断所述设备存有的身份解析密钥列表是否为空;
所述第一发送模块,还用于当所述第七判断模块判断出所述设备存有的身份解析密钥列表为空时,返回错误码给相连的移动设备;
所述验证模块,具体用于:当所述第七判断模块判断出所述设备存有的身份解析密钥列表不为空时,依次使用所述设备保存的身份解析密钥列表中的身份解析密钥验证所述解析模块得到的第二动态地址。
可选地,所述验证模块,包括:第一解析子模块和生成子模块;
所述第一解析子模块,用于解析所述第二动态地址得到第二随机数和第二数据;
所述生成子模块,用于依次根据所述设备存有的身份解析密钥列表中的身份解析密钥和所述第二随机数生成多个第三数据;
所述第一判断模块,具体用于:判断是否存在与所述第一解析子模块得到的第二数据相同的第三数据,是则判定存在验证成功的第二身份解析密钥;否则,判定不存在验证成功的第二身份解析密钥。
可选地,所述第一解析子模块,具体用于:读取所述第二动态地址的高预设位得到第二随机数,读取所述第二动态地址的低预设位得到第二数据。
可选地,所述生成子模块,包括:补位单元、加密单元和运算单元;
所述补位单元,用于对所述解析子模块得到的第二随机数进行补位;
所述加密单元,用于依次使用所述设备存有的身份解析密钥列表中的身份解析密钥对所述补位单元补位后的第二随机数加密得到多个第二随机数密文;
所述运算单元,用于对所述加密单元得到的多个第二随机数密文做预设运算得多个第三数据。
可选地,所述第二保存模块,包括:第二解析子模块、判断子模块、协商子模块和保存子模块;
所述第二解析子模块,用于解析所述第一接收模块接收到的链路加密请求得到会话密钥标识;
所述判断子模块,用于判断所述设备存有的会话密钥列表中是否含有所述会话密钥标识;
所述第一发送模块,还用于当所述判断子模块判断出所述设备存有的会话密钥列表中含有所述会话密钥标识时,返回成功响应给相连的移动设备;
所述协商子模块,用于当所述判断子模块判断出所述设备存有的会话密钥列表中不含有所述会话密钥标识时,与所述移动设备协商会话密钥;
所述保存子模块,用于将所述协商子模块得到的会话密钥与所述第二解析子模块得到的会话密钥标识对应保存至所述会话密钥列表中;
所述第一发送模块,还用于在所述保存子模块将所述协商子模块得到的会话密钥与所述第二解析子模块得到的会话密钥标识对应保存至所述会话密钥列表中之后,返回成功响应给相连的移动设备。
可选地,所述配对模块,还用于在所述第一发送模块返回错误码给相连的移动设备之后,当所述第一接收模块在第二预设时间内接收到所述相连的移动设备发送来的配对请求时,与所述相连的移动设备配对。
本发明与现有技术相比,具有以下优点:
本发明中,蓝牙设备周期性的改变自身的动态地址,且只能对与之完成了配对过程进行了身份解析密钥交换的可信设备的动态地址进行解析,进而进行通讯,该方式有效的防止了黑客窃取数据,保障了蓝牙设备及蓝牙设备使用者的数据的安全;同时,该方式中,对于已完成了配对过程的可信设备,蓝牙设备再次与之建立通讯时,无需再次与之配对,缩短了与之建立通讯的时间,提升了用户体验。
附图说明
图1为本发明实施例一提供的一种蓝牙防追踪的方法流程图;
图2为本发明实施例二提供的一种蓝牙防追踪的方法流程图;
图3为本发明实施例三提供的一种蓝牙防追踪的方法中蓝牙设备的工作方法流程图;
图4为本发明实施例四提供的一种蓝牙防追踪的方法中移动设备的工作方法流程图;
图5为本发明实施例五提供的一种蓝牙防追踪设备的模块组成框图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整的描述;显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域技术人员在没有付出创造性劳动的前提下所获得的所有其他实施例,都属于本发明保护的范围。
本发明中,蓝牙设备周期性的改变自身的动态地址,并广播自身的动态地址;在蓝牙设备与移动设备成功验证彼此之后,蓝牙设备与移动设备通讯的过程中不再改变自身的动态地址。
本发明中所述的身份解析密钥,即IRK(英文全称:Identity Resolving Key)。
实施例一
本发明实施例一提供一种蓝牙防追踪的方法,如图1所示,包括:
步骤101:目标蓝牙设备上电,每隔第一预设时间生成第一随机数,并根据第一随机数和自身的第一身份解析密钥生成第一数据,根据第一随机数和第一数据生成第一动态地址,广播含有第一动态地址的广播数据,当接收到移动设备发送来的连接请求时,执行步骤102;
步骤102:目标蓝牙设备连接移动设备,解析连接请求得到相连的移动设备的第二动态地址,返回连接响应给相连的移动设备;
步骤103:目标蓝牙设备等待并接收移动设备发送来的数据,如为配对请求,则执行步骤104;如为链路加密请求,则执行步骤105;
步骤104:目标蓝牙设备与相连的移动设备配对,保存配对请求中含有的第二身份解析密钥至身份解析密钥列表中,并生成含有自身第一身份解析密钥的配对响应,返回配对响应给相连的移动设备,返回步骤103;
步骤105:目标蓝牙设备依次使用自身存有的身份解析密钥列表中的身份解析密钥验证第二动态地址,判断是否存在验证成功的第二身份解析密钥,是则执行步骤106,否则返回错误码给相连的移动设备,断开连接,结束;
步骤106:目标蓝牙设备根据接收到的链路加密请求保存会话密钥信息,返回成功响应给相连的移动设备并与相连的移动设备通信,结束。
在本实施例中,步骤105之前,还包括:
目标蓝牙设备判断自身存有的身份解析密钥列表是否为空,是则返回错误码给相连的移动设备,断开连接,结束;否则,执行步骤105。
进一步地,本实施例中的方法还包括:
步骤W1:当移动设备扫描到目标蓝牙设备时,发送含有自身第二动态地址的连接请求给目标蓝牙设备;
步骤W2:当移动设备接收到目标蓝牙设备返回的连接响应时,解析获取到的目标蓝牙设备的广播数据得到第一动态地址;
步骤W3:移动设备判断自身是否存有蓝牙设备的身份解析密钥,是则执行步骤W5,否则执行步骤W4;
步骤W4:移动设备生成含有自身第二身份解析密钥的配对请求,发送配对请求给目标蓝牙设备,接收目标蓝牙设备返回的配对响应,将配对响应中含有第一身份解析密钥保存,执行步骤W6;
步骤W5:移动设备依次使用自身存有的蓝牙设备的身份解析密钥验证第一动态地址,判断是否存在验证成功的第一身份解析密钥,是则执行步骤W6,否则返回步骤W4;
步骤W6:移动设备发送链路加密请求给目标蓝牙设备,接收目标蓝牙设备返回的响应,如为成功响应,则与目标蓝牙设备通信,结束;如为错误码,则断开连接,结束。
在本实施例中,步骤W6中,当移动设备接收到目标蓝牙设备返回的响应为错误码时,还包括:移动设备通过应用程序提示用户错误信息,并接收来自用户的控件触发信息,如为重新配对信息,则返回步骤W4;如为结束信息,则断开连接,结束;
对应地,步骤105中,返回错误码给相连的移动设备之后,还包括:当第二预设时间内接收到相连的移动设备发送来的配对请求时,返回步骤104。
实施例二
本发明实施例二提供一种蓝牙防追踪的方法,如图2所示,包括:
步骤201:目标蓝牙设备上电;
步骤202:目标蓝牙设备每隔第一预设时间生成第一随机数,并根据生成的第一随机数和自身的第一身份解析密钥生成第一数据,根据第一随机数和第一数据生成第一动态地址,广播含有第一动态地址的广播数据;
优选地,在本实施例中,第一预设时间为60s;
在本实施例中,目标蓝牙设备生成第一随机数,并根据生成的第一随机数和自身的第一身份解析密钥生成第一数据,并根据第一随机数和第一数据生成第一动态地址,具体包括:
步骤a1:目标蓝牙设备生成第一随机数,并对第一随机数进行补位;
具体地,目标蓝牙设备生成24位的第一随机数,且生成的第一随机数的最高2位为01,并在第一随机数的左侧补第一预设位的零;
优选地,在本实施例中,第一预设位为104位;
例如,在本实施例中,目标蓝牙设备生成的第一随机数为423456,目标蓝牙设备对第一随机数补位后为00000000000000000000000000423456。
步骤a2:目标蓝牙设备使用自身的第一身份解析密钥对补位后的第一随机数加密得到第一随机数密文;
具体地,目标蓝牙设备使用自身的第一身份解析密钥对补位后的第一随机数做AES加密得到第一随机数密文;
例如,在本实施例中,目标蓝牙设备的第一身份解析密钥为0102030405060708090A0B0C0D0E0F10,得到的第一随机数密文为9912D4DD9EE19546190599551D766B05。
步骤a3:目标蓝牙设备对第一随机数密文做预设运算得第一数据;
具体地,目标蓝牙设备使用第一随机数密文对2^24做取模运算得到运算结果,将得到的运算结果作为第一数据;
例如,在本实施例中,目标蓝牙设备使用上述第一随机数密文对2^24做取模运算得到的运算结果为766B05,即第一数据为766B05。
步骤a4:目标蓝牙设备将第一随机数与第一数据顺序拼接得到第一动态地址;
例如,在本实施例中,目标蓝牙设备将上述第一随机数和第一数据顺序拼接得到的第一动态地址为423456766B05。
步骤203:移动设备扫描周围的蓝牙设备,判断是否扫描到目标蓝牙设备,是则执行步骤204,否则继续执行步骤203;
具体地,第一设备扫描周围的蓝牙设备,并获取扫描到的蓝牙设备的广播数据,解析得到的广播数据得到蓝牙设备的设备名称,判断得到的蓝牙设备的设备名称与目标蓝牙设备的设备名称是否相同,是则判定扫描到目标蓝牙设备,否则判定未扫描到蓝牙设备。
进一步地,在本实施例中,步骤203之前,还包括:移动设备生成自身的第二动态地址;
在本实施例中,移动设备生成自身的第二动态地址的过程同目标蓝牙设备生成第一动态地址的过程相同,在此不再赘述。
例如,移动设备生成自身的第二动态地址为683D9752CB5E。
需要说明地,在本实施例中,步骤202和步骤203可以同时进行,不分先后顺序。
步骤204:移动设备生成含有自身第二动态地址的连接请求,发送连接请求给目标蓝牙设备;
步骤205:目标蓝牙设备接收连接请求,并与发送连接请求的移动设备建立连接,解析接收到的连接请求得到移动设备的第二动态地址,返回连接响应给移动设备;
在本实施例中,目标蓝牙设备解析接收到的连接请求得到移动设备的第二动态地址之前,还包括:
步骤B1:目标蓝牙设备判断接收到的连接请求中含有的地址是否为动态地址,是则将其作为移动设备的第二动态地址,继续执行解析接收到的连接请求得到移动设备的第二动态地址;否则返回连接响应给移动设备,执行步骤B2;
具体地,目标蓝牙设备判断接收到的连接请求中含有的地址的第二预设位上的数据是否为预设数据,是则判定接收到的连接请求中含有的地址是动态地址;否则判定接收到的连接请求中含有的地址不是动态地址;
在本实施例中,第二预设位为最高两位,预设数据为01。
例如,在本实施例中,连接请求中含有的设备地址为683D9752CB5E,判定是动态地址。
步骤B2:目标蓝牙设备等待并接收移动设备发送来的数据,如为链路加密请求,则执行步骤B3;如为配对请求,则与移动设备配对,保存配对信息,并生成含有自身第一身份解析密钥的配对响应,返回配对响应给移动设备,继续执行步骤B2;
步骤B3:目标蓝牙设备判断自身保存的配对信息中是否含有与移动设备的配对信息,是则根据链路加密请求保存会话密钥信息,返回成功响应给移动设备并与移动设备通信,结束;否则返回错误码给移动设备,结束。
在本实施例中,目标蓝牙设备判断自身保存的配对信息中是否含有与移动设备的配对信息,具体为:目标蓝牙设备判断自身保存的配对信息中是否含有接收到的连接请求中含有的地址,是则判定自身保存的配对信息中含有与移动设备的配对信息;否则判定自身保存的配对信息中不含有与移动设备的配对信息。
进一步地,在本实施例中,根据链路加密请求保存会话密钥信息,返回成功响应给移动设备并与移动设备通信,具体包括:
步骤t1:目标蓝牙设备解析链路加密请求得到会话密钥标识,判断自身存有的会话密钥列表中是否含有得到的会话密钥标识,是则返回成功响应给相连的移动设备并与所述相连的移动设备通信,结束;否则执行步骤t2;
步骤t2:目标蓝牙设备与移动设备协商会话密钥,将协商得到的会话密钥与会话密钥标识对应保存至会话密钥列表中,返回成功响应给相连的移动设备并与相连的移动设备通信,结束。
步骤206:移动设备接收目标蓝牙设备返回的连接响应,解析目标蓝牙设备的广播数据得到目标蓝牙设备的第一动态地址;
在本实施例中,解析目标蓝牙设备的广播数据得到目标蓝牙设备的第一动态地址之前,还包括:
步骤D1:移动设备判断目标蓝牙设备的广播数据中含有的地址是否为动态地址,是则将其作为目标蓝牙设备的第一动态地址,继续执行解析目标蓝牙设备的广播数据得到目标蓝牙设备的第一动态地址;否则执行步骤D2;
具体地,移动设备判断目标蓝牙设备的广播数据中含有的地址的第二预设位上的数据是否为预设数据,是则判定目标蓝牙设备的广播数据中含有的地址是动态地址;否则判定目标蓝牙设备的广播数据中含有的地址不是动态地址;
在本实施例中,第二预设位为最高两位,预设数据为01。
例如,在本实施例中,目标蓝牙设备的广播数据中含有的地址为423456766B05,判定是动态地址。
步骤D2:移动设备判断自身保存的配对信息中是否含有与目标蓝牙设备的配对信息,是则执行步骤D3,否则执行步骤D4;
具体地,移动设备判断自身保存的配对信息中是否含有广播数据中含有的地址,是则判定自身保存的配对信息中含有与目标蓝牙设备的配对信息,否则判定自身保存的配对信息中不含有与目标蓝牙设备的配对信息。
步骤D3:移动设备发送链路加密请求给目标蓝牙设备,当接收到目标蓝牙设备返回的成功响应时,与目标蓝牙设备通信,结束;当接收到错误码时,断开连接,结束;
步骤D4:移动设备生成含有自身第二身份解析密钥的配对请求,发送配对请求给目标蓝牙设备,当接收到目标蓝牙设备返回的配对响应时,保存配对信息,返回步骤D3。
步骤207:移动设备判断自身是否存有蓝牙设备的身份解析密钥,是则执行步骤208,否则执行步骤210;
具体地,移动设备判断自身存有的身份解析密钥列表是否为空,是则判定自身未存有蓝牙设备的身份解析密钥,执行步骤210;否则判定自身存有蓝牙设备的身份解析密钥,执行步骤208。
步骤208:移动设备依次使用自身存有的蓝牙设备的身份解析密钥验证第一动态地址,判断是否存在验证成功的第一身份解析密钥,是则执行步骤209,否则执行步骤210;
在本实施例中,移动设备依次使用自身存有的蓝牙设备的身份解析密钥验证第一动态地址,判断是否存在验证成功的第一身份解析密钥,具体包括:
步骤m1:移动设备读取自身存有的身份解析密钥列表中的第一个身份解析密钥并作为当前身份解析密钥;
步骤m2:移动设备使用当前身份解析密钥验证第一动态地址,判断是否验证成功,是则判定存在验证成功的第一身份解析密钥,执行步骤209;否则执行步骤m3;
步骤m3:移动设备判断当前身份解析密钥是否为自身存有的身份解析密钥列表中的最后一个,是则判定不存在验证成功的第一身份解析密钥,执行步骤210;否则将当前身份解析密钥的下一个身份解析密钥作为当前身份解析密钥,返回步骤m2;
其中,步骤m2具体包括:
步骤m2-1:移动设备解析第一动态地址得到第一随机数和第一数据;
具体地,移动设备读取第一动态地址的高24位得到第一随机数,读取第一动态地址的低24位得到第一数据;
例如,在本实施例中,解析上述第一动态地址得到的第一随机数为423456,第一数据为766B05。
步骤m2-2:移动设备根据当前身份解析密钥和第一随机数生成第四数据,判断第四数据与第一数据是否相同,是则判定存在验证成功的第一身份解析密钥,执行步骤209;否则,执行步骤m3;
在本实施例中,移动设备根据当前身份解析密钥和第一随机数生成第四数据的方法,同步骤202中所述的目标蓝牙设备根据第一随机数和自身的第一身份解析密钥生成第一数据的方法相同,在此不再赘述。
步骤209:移动设备发送链路加密请求给目标蓝牙设备;
步骤210:移动设备生成含有自身第二身份解析密钥的配对请求,发送配对请求给目标蓝牙设备;
例如,在本实施例中,移动设备的第二身份解析密钥为112233445566778899AABBCCDDEEFF00。
步骤211:目标蓝牙设备接收移动设备发送来的请求,判断请求类型,如为配对请求,则执行步骤212;如为链路加密请求,则执行步骤214;
本步骤中,还包括:目标蓝牙设备判断第二预设时间内是否接收到移动设备发送来的数据,是则,如为配对请求,则执行步骤212;如为链路加密请求,则执行步骤214;否则关机,结束。
优选地,在本实施例中,第二预设时间为35秒。
步骤212:目标蓝牙设备与相连的移动设备配对,解析接收到的配对请求得到相连的移动设备的第二身份解析密钥,保存第二身份解析密钥,生成含有自身第一身份解析密钥的配对响应,返回配对响应给相连的移动设备;
例如,在本实施例中,目标蓝牙设备解析接收到的配对请求得到移动设备的第二身份解析密钥为112233445566778899AABBCCDDEEFF00。
进一步地,在本实施例中,目标蓝牙设备保存第二身份解析密钥之前,还包括:
步骤H:目标蓝牙设备判断自身保存的移动设备的身份解析密钥中是否含有第二身份解析密钥,是则生成含有自身第一身份解析密钥的配对响应,返回配对响应给移动设备;否则,继续执行保存第二身份解析密钥;
或者,
步骤F:目标蓝牙设备判断自身保存的移动设备的身份解析密钥中是否含有第二身份解析密钥,是则将已保存的第二身份解析密钥移除,继续执行保存第二身份解析密钥;否则,继续执行保存第二身份解析密钥。
步骤213:移动设备解析接收到的配对响应得到第一身份解析密钥,保存第一身份解析密钥,返回步骤209;
步骤214:目标蓝牙设备判断自身是否存有移动设备的身份解析密钥,是则执行步骤215,否则返回错误码给移动设备,与移动设备断开连接,结束;
具体地,目标蓝牙设备判断自身存有的身份解析密钥列表是否为空,是则判定自身未存有移动设备的身份解析密钥,返回错误码给相连的移动设备,与移动设备断开连接,结束;否则判定自身存有移动设备的身份解析密钥,执行步骤215;
步骤215:目标蓝牙设备依次使用自身存有的移动设备的身份解析密钥验证第二动态地址,判断是否存在验证成功的第二身份解析密钥,是则根据接收到的链路加密请求保存会话密钥信息,返回成功响应给相连的移动设备,执行步骤217;否则返回错误码给相连的移动设备;
在本实施例中,目标蓝牙设备依次使用自身存有的移动设备的身份解析密钥验证第二动态地址,判断是否存在验证成功的第二身份解析密钥,具体包括:
步骤n1:目标蓝牙设备读取自身存有的身份解析密钥列表中的第一个身份解析密钥并作为当前身份解析密钥;
步骤n2:目标蓝牙设备使用当前身份解析密钥验证第二动态地址,如验证成功,则判定存在验证成功的第二身份解析密钥,执行步骤217;如验证失败,则执行步骤n3;
步骤n3:目标蓝牙设备判断当前身份解析密钥是否为自身存有的身份解析密钥列表中的最后一个,是则判定不存在验证成功的第二身份解析密钥,返回错误码给移动设备,与移动设备断开连接,结束;否则将当前身份解析密钥的下一个身份解析密钥作为当前身份解析密钥,返回步骤n2;
其中,步骤n2具体包括:
步骤n2-1:目标蓝牙设备解析第二动态地址得到第二随机数和第二数据;
具体地,目标蓝牙设备读取第二动态地址的高24位得到第二随机数,读取第二动态地址的低24位得到第二数据;
例如,在本实施例中,解析上述第二动态地址得到的第二随机数为683D97,第二数据为52CB5E。
步骤n2-2:目标蓝牙设备根据当前身份解析密钥和第二随机数生成第三数据,判断第三数据与第一数据是否相同,是则判定验证成功,存在验证成功的第二身份解析密钥;否则判定验证失败,执行步骤n3;
在本实施例中,目标蓝牙设备根据当前身份密钥和第二随机数生成第三数据的方法,同步骤202中所述的目标蓝牙设备根据第一随机数和自身的第一身份解析密钥生成第一数据的方法相同,在此不再赘述。
在本实施例中,当移动设备接收到的目标蓝牙设备返回的响应为错误码时,还可以包括:移动设备通过应用程序提示用户错误信息,并接收来自用户的控件触发信息,如为重新配对信息,则返回步骤210;如为结束信息,则断开连接,结束。
对应地,步骤214中,目标蓝牙设备返回错误码给相连的移动设备之后,还包括:当第二预设时间内接收到相连的移动设备发送来的配对请求时,返回步骤212。
步骤216:移动设备与目标蓝牙设备断开连接,结束;
步骤217:目标蓝牙设备与移动设备通信;
步骤218:移动设备与目标蓝牙设备通讯,结束;
需要说明地,步骤217和步骤218中所述的通信,具体为目标蓝牙设备与移动设备进行API的功能通讯。
实施例三
本发明实施例三提供一种蓝牙防追踪的方法中目标蓝牙设备的工作方法,如图3所示,包括:
步骤301:目标蓝牙设备上电;
步骤302:目标蓝牙设备每隔第一预设时间生成第一随机数,并根据生成的第一随机数和自身的第一身份解析密钥生成第一数据,根据第一随机数和第一数据生成第一动态地址,广播含有第一动态地址的广播数据,当接收到移动设备发送来的连接请求时,执行步骤303;
优选地,在本实施例中,第一预设时间为60s;
在本实施例中,目标蓝牙设备生成第一随机数,根据生成的第一随机数和自身的第一身份解析密钥生成第一数据,并根据第一随机数和第一数据生成第一动态地址,具体包括:
步骤a1:目标蓝牙设备生成第一随机数,并对第一随机数进行补位;
具体地,目标蓝牙设备生成24位的第一随机数,且生成的第一随机数的最高2位为01,并在第一随机数的左侧补第一预设位的零;
优选地,在本实施例中,第一预设位为104位
例如,在本实施例中,目标蓝牙设备生成的第一随机数为423456,
目标蓝牙设备对第一随机数补位后为00000000000000000000000000423456。
步骤a2:目标蓝牙设备使用自身的第一身份解析密钥对补位后的第一随机数加密得到第一随机数密文;
具体地,目标蓝牙设备使用自身的第一身份解析密钥对补位后的第一随机数做AES加密得到第一随机数密文;
例如,在本实施例中,目标蓝牙设备的第一身份解析密钥为0102030405060708090A0B0C0D0E0F10,得到的第一随机数密文为9912D4DD9EE19546190599551D766B05。
步骤a3:目标蓝牙设备对第一随机数密文做预设运算得到第一数据;
具体地,目标蓝牙设备使用第一随机数密文对2^24做取模运算得到运算结果,将得到的运算结果作为第一数据;
例如,在本实施例中,目标蓝牙设备使用上述第一随机数密文对2^24做取模运算得到的运算结果为766B05,即第一数据为766B05。
步骤a4:目标蓝牙设备将第一随机数与第一数据顺序拼接得到第一动态地址;
例如,在本实施例中,目标蓝牙设备将上述第一随机数和第一数据顺序拼接得到的第一动态地址为423456766B05。
步骤303:目标蓝牙设备连接移动设备,解析接收到的连接请求得到移动设备的第二动态地址,返回连接响应给移动设备;
在本实施例中,目标蓝牙设备解析接收到的连接请求得到移动设备的第二动态地址之前,还包括:
步骤B1:目标蓝牙设备判断接收到的连接请求中含有的地址是否为动态地址,是则将其作为移动设备的第二动态地址,继续执行解析接收到的连接请求得到移动设备的第二动态地址;否则返回连接响应给移动设备,执行步骤B2;
具体地,目标蓝牙设备判断接收到的连接请求中含有的地址的第二预设位上的数据是否为预设数据,是则判定接收到的连接请求中含有的地址是动态地址;否则判定接收到的连接请求中含有的地址不是动态地址;
在本实施例中,第二预设位为最高两位,预设数据为01。
例如,在本实施例中,连接请求中含有的设备地址为683D9752CB5E,判定是动态地址。
步骤B2:目标蓝牙设备等待并接收移动设备发送来的数据,如为链路加密请求,则执行步骤B3;如为配对请求,则与移动设备配对,保存配对信息,并生成含有自身第一身份解析密钥的配对响应,返回配对响应给移动设备,继续执行步骤B2;
步骤B3:目标蓝牙设备判断自身保存的配对信息中是否含有与移动设备的配对信息,是则根据链路加密请求保存会话密钥信息,返回成功响应给移动设备并与移动设备通信,结束;否则返回错误码给移动设备,结束。
具体地,目标蓝牙设备判断自身保存的配对信息中是否含有接收到的连接请求中含有的地址,是则判定自身保存的配对信息中含有与移动设备的配对信息;否则判定自身保存的配对信息中不含有与移动设备的配对信息。
步骤304:目标蓝牙设备等待并接收相连的移动设备发送来的数据,如为配对请求,则执行步骤305,如为链路加密请求,则执行步骤306;
本步骤中,还包括:目标蓝牙设备判断第二预设时间内是否接收到移动设备发送来的数据,是则,如为配对请求,则执行步骤305,如为链路加密请求,则执行步骤306;否则关机,结束。
优选地,在本实施例中,第二预设时间为35秒。
步骤305:目标蓝牙设备与相连的移动设备配对,并解析接收到的配对请求得到相连的移动设备的第二身份解析密钥,保存第二身份解析密钥,生成含有自身第一身份解析密钥的配对响应,返回配对响应给相连的移动设备,返回步骤304;
例如,在本实施例中,目标蓝牙设备解析接收到的配对请求得到相连的移动设备的第二身份解析密钥为112233445566778899AABBCCDDEEFF00。
进一步地,在本实施例中,目标蓝牙设备保存第二身份解析密钥之前,还包括:
步骤H:目标蓝牙设备判断自身保存的身份解析密钥中是否含有第二身份解析密钥,是则生成含有自身第一身份解析密钥的配对响应,返回配对响应给相连的移动设备,返回步骤304;否则,继续执行保存第二身份解析密钥;
或者,
步骤F:目标蓝牙设备判断自身保存的身份解析密钥中是否含有第二身份解析密钥,是则将已保存的第二身份解析密钥移除,继续执行保存第二身份解析密钥;否则,继续执行保存第二身份解析密钥。
步骤306:目标蓝牙设备判断自身是否存有移动设备的身份解析密钥,是则执行步骤307,否则返回错误码给相连的移动设备,断开连接,结束;
具体地,目标蓝牙设备判断自身存有的身份解析密钥列表是否为空,是则判定自身未存有移动设备的身份解析密钥,返回错误码给相连的移动设备,断开连接,结束;否则判定自身存有移动设备的身份解析密钥,执行步骤307。
步骤307:目标蓝牙设备读取自身存有的移动设备的身份解析密钥中的第一个身份解析密钥并作为当前身份解析密钥;
具体地,目标蓝牙设备从自身存储的身份解析密钥列表中读取第一个身份解析密钥作为当前身份解析密钥。
步骤308:目标蓝牙设备使用当前身份解析密钥验证第二动态地址,如验证成功,则执行步骤310;如验证失败,则执行步骤309;
在本实施例中,目标蓝牙设备使用当前身份解析密钥验证第一动态地址的方法,同实施例二的步骤n2中所述的目标蓝牙设备使用当前身份解析密钥验证第二动态地址的方法相同,在此不再赘述。
步骤309:目标蓝牙设备判断当前身份解析密钥是否为自身存有的移动设备的身份解析密钥中的最后一个,是则返回错误码给相连的移动设备,断开连接,结束;否则将当前身份解析密钥的下一个身份解析密钥作为当前身份解析密钥,返回步骤308。
进一步地,在本实施例中,在目标蓝牙设备返回错误码给相连的移动设备之后,还包括:当第二预设时间内接收到相连的移动设备发送来的配对请求时,返回步骤305。
步骤310:目标蓝牙设备根据接收到的链路加密请求保存会话密钥信息,返回成功响应给移动设备并与移动设备进行通讯,结束。
在本实施例中,步骤310具体包括:
步骤t1:目标蓝牙设备解析接收到的链路加密请求得到会话密钥标识,判断自身存有的会话密钥列表中是否含有得到的会话密钥标识,是则返回成功响应给相连的移动设备并与相连的移动设备通信,结束;否则执行步骤t2;
步骤t2:目标蓝牙设备与移动设备协商会话密钥,将协商得到的会话密钥与得到的会话密钥标识对应保存至会话密钥列表中,返回成功响应给相连的移动设备并与相连的移动设备通信,结束。
需要说明地,本步骤中所述的与移动设备进行通讯,具体为与移动设备进行API的功能通讯。
实施例四
本发明实施例四提供一种蓝牙防追踪的方法中移动设备的工作方法,如图4所示,包括:
步骤401:移动设备扫描周围的蓝牙设备,判断是否扫描到目标蓝牙设备,是则执行步骤402,否则继续执行步骤401;
具体地,第一设备扫描周围的蓝牙设备,并获取扫描到的蓝牙设备的广播数据,解析得到的广播数据得到蓝牙设备的设备名称,判断得到的蓝牙设备的设备名称与目标蓝牙设备的设备名称是否相同,是则判定扫描到目标蓝牙设备,否则判定未扫描到蓝牙设备。
进一步地,在本实施例中,步骤401之前,还包括:移动设备生成自身的第二动态地址;
在本实施例中,移动设备生成自身的第二动态地址的过程同蓝牙设备生成第一动态地址的过程相同,在此不再赘述。
例如,移动设备生成自身的第二动态地址为683D9752CB5E。
步骤402:移动设备生成含有自身第二动态地址的连接请求,发送连接请求给目标蓝牙设备;
在本实施例中,步骤402之前,还包括:移动设备每隔第三预设时间生成自身的第二动态地址,其中移动设备生成自身的第二动态地址的过程,同实施例三中所述的目标蓝牙设备生成自身的第一动态地址的过程相同,在此不再赘述。
步骤403:当移动设备接收到目标蓝牙设备返回的连接响应时,解析目标蓝牙设备的广播数据得到目标蓝牙设备的第一动态地址;
在本实施例中,解析目标蓝牙设备的广播数据得到目标蓝牙设备的第一动态地址之前,还包括:
步骤D1:移动设备判断目标蓝牙设备的广播数据中含有的地址是否为动态地址,是则将其作为目标蓝牙设备的第一动态地址,继续执行解析目标蓝牙设备的广播数据得到目标蓝牙设备的第一动态地址;否则执行步骤D2;
具体地,移动设备判断目标蓝牙设备的广播数据中含有的地址的第二预设位上的数据是否为预设数据,是则判定目标蓝牙设备的广播数据中含有的地址是动态地址;否则判定目标蓝牙设备的广播数据中含有的地址不是动态地址;
在本实施例中,第二预设位为最高两位,预设数据为01。
例如,在本实施例中,目标蓝牙设备的广播数据中含有的地址为423456766B05,判定是动态地址。
步骤D2:移动设备判断自身保存的配对信息中是否含有与目标蓝牙设备的配对信息,是则执行步骤D3,否则执行步骤D4;
具体地,移动设备判断自身保存的配对信息中是否含有广播数据中含有的地址,是则判定自身保存的配对信息中含有与目标蓝牙设备的配对信息,否则判定自身保存的配对信息中不含有与目标蓝牙设备的配对信息。
步骤D3:移动设备发送链路加密请求给目标蓝牙设备,当接收到目标蓝牙设备返回的成功响应时,与目标蓝牙设备通信,结束;当接收到错误码时,断开连接,结束;
步骤D4:移动设备生成含有自身第二身份解析密钥的配对请求,发送配对请求给目标蓝牙设备,当接收到目标蓝牙设备返回的配对响应时,保存配对信息,返回步骤D3。
步骤404:移动设备判断自身是否存有蓝牙设备的身份解析密钥,是则执行步骤407,否则执行步骤405;
具体地,移动设备判断自身存有的身份解析密钥列表是否为空,是则判定自身未存有蓝牙设备的身份解析密钥,执行步骤405;否则判定自身存有蓝牙设备的身份解析密钥,执行步骤407。
步骤405:移动设备生成含有自身第二身份解析密钥的配对请求,发送配对请求给目标蓝牙设备;
例如,在本实施例中,移动设备的第二身份解析密钥为112233445566778899AABBCCDDEEFF00。
步骤406:当移动设备接收到的目标蓝牙设备返回的配对响应时,解析配对响应得到目标蓝牙设备的第一身份解析密钥,保存第一身份解析密钥,执行步骤410;
例如,在本实施例中,移动设备解析目标蓝牙设备返回的配对响应得到的目标蓝牙设备的第一身份解析密钥为0102030405060708090A0B0C0D0E0F10。
步骤407:移动设备读取自身存有的蓝牙设备的身份解析密钥中的第一个身份解析密钥并作为当前身份解析密钥;
具体地,移动设备从自身存储的身份解析密钥列表中读取第一个身份解析密钥作为当前身份解析密钥。
步骤408:移动设备使用当前身份解析密钥验证第一动态地址,如验证成功,则执行步骤410;如验证失败,则执行步骤409;
在本实施例中,移动设备使用当前身份解析密钥验证第一动态地址的方法,同实施例二的步骤m2中所述的移动设备使用当前身份解析密钥验证第一动态地址的方法相同,在此不再赘述。
步骤409:移动设备判断当前身份解析密钥是否为自身存有的蓝牙设备的身份解析密钥中的最后一个,是则返回步骤405;否则将当前身份解析密钥的下一个身份解析密钥作为当前身份解析密钥,返回步骤408。
步骤410:移动设备发送链路加密请求给目标蓝牙设备,等待并接收目标蓝牙设备返回的响应,如为成功响应,则与目标蓝牙设备通讯,结束;如为错误码,则断开连接,结束。
需要说明地,本步骤中所述的与目标蓝牙设备通讯,具体为与目标蓝牙设备进行API的功能通讯。
进一步地,在本实施例中,当移动设备接收到的目标蓝牙设备返回的响应为错误码时,还可以包括:移动设备通过应用程序提示用户错误信息,并接收来自用户的控件触发信息,如为重新配对信息,则返回步骤405;如为结束信息,则断开连接,结束。
实施例五
本发明实施例五提供一种蓝牙防追踪设备,如图5所示,包括:
上电模块501,用于上电;
第一生成模块502,用于在上电模块501上电之后,每隔第一预设时间生成第一随机数;
第二生成模块503,用于根据第一生成模块502生成的第一随机数和设备的第一身份解析密钥生成第一数据;
第三生成模块504,用于根据第一生成模块502生成的第一随机数和第二生成模块503生成的第一数据生成第一动态地址;
广播模块505,用于广播含有第一动态地址的广播数据;
第一接收模块506,用于接收移动设备发送来的数据;
连接模块507,用于当第一接收模块506接收到移动设备发送来的连接请求时,连接移动设备;
解析模块508,用于解析第一接收模块506接收到的连接请求得到移动设备的第二动态地址;
第一发送模块509,用于返回连接响应给移动设备;
第一接收模块506,还用于在第一发送模块509返回连接响应给所述移动设备之后,等待并接收移动设备发送来的数据;
配对模块510,用于当第一接收模块506接收到移动设备发送来的配对请求时,与移动设备配对;
第一保存模块511,用于保存第一接收模块506接收到的配对请求中含有的第二身份解析密钥至身份解析密钥列表中;
第四生成模块512,用于生成含有设备的第一身份解析密钥的配对响应;
第一发送模块509,还用于返回第四生成模块512生成的配对响应给移动设备;
第一接收模块506,还用于在第一发送模块509返回配对响应给移动设备之后,等待并接收移动设备发送来的数据;
验证模块513,用于当第一接收模块506接收到移动设备发送来的链路加密请求时,依次使用自身存有的身份解析密钥列表中的身份解析密钥验证解析模块508得到的第二动态地址;
第一判断模块514,用于判断是否存在验证成功的第二身份解析密钥;
第一发送模块509,还用于在第一判断模块514判断出不存在验证成功的第二身份解析密钥时,返回错误码给相连的移动设备;
断开模块515,用于在第一发送模块509返回错误码给相连的移动设备之后,断开连接;
第二保存模块516,用于当第一判断模块514判断出存在验证成功的第二身份解析密钥时,根据第一接收模块506接收到的链路加密请求保存会话密钥信息;
第一发送模块509,还用于在第二保存模块516保存会话密钥信息之后,返回成功响应给相连的移动设备;
通讯模块517,用于在第一发送模块509返回成功响应给相连的移动设备之后,与相连的移动设备通信。
在本实施例中,第一生成模块502,具体用于:生成第一随机数,对所述第一随机数进行补位;
第二生成模块503,具体用于:使用设备的第一身份解析密钥对补位后的第一随机数加密得到第一随机数密文,对得到的第一随机数密文做预设运算得到第一数据;
第三生成模块504,具体用于:将第一生成模块502生成的第一随机数与第二生成模块503生成的第一数据顺序拼接得到第一动态地址。
本实施例中的设备,还包括:第二判断模块、作为模块、第二发送模块、第二接收模块、配对保存模块、第三判断模块和第三保存模块;
其中,第二判断模块,用于判断连接请求中含有的地址是否为动态地址;
作为模块,用于当第二判断模块判断出连接请求中含有的地址是动态地址时,其作为移动设备的第二动态地址,触发解析模块508;
第二发送模块,用于当第二判断模块判断出连接请求中含有的地址不是动态地址时,返回连接响应给移动设备;
第二接收模块,用于在第二发送模块返回连接响应给移动设备之后,等待并接收移动设备发送来的数据;
配对保存模块,还用于在第二接收模块接收到配对请求时,与移动设备配对,保存配对信息;
第二发送模块,用于在配对保存模块保存配对信息之后,生成含有设备的第一身份解析密钥的配对响应,返回配对响应给移动设备;
第二接收模块,还用于在第二发送模块返回配对响应给移动设备之后,等待并接收移动设备发送来的数据;
第三判断模块,用于在第二接收模块接收到链路加密请求时,判断保存的配对信息中是否含有与移动设备的配对信息;
第三保存模块,还用于当第三判断模块判断出保存的配对信息中含有与移动设备的配对信息时,根据链路加密请求保存会话密钥信息;
第二发送模块,还用于在第三保存模块保存会话密钥信息之后,返回成功响应给移动设备;
通讯模块517,还用于在第二发送模块返回成功响应给移动设备之后,与移动设备通信;
第二发送模块,还用于在第三判断模块判断出保存的配对信息中不含有与移动设备的配对信息时,返回错误码给移动设备;
断开模块515,还用于在第二发送模块返回错误码给移动设备之后,断开连接。
其中,第二判断模块,具体用于:判断连接请求中含有的地址的第二预设位上的数据是否为预设数据,是则判定连接请求中含有的地址是动态地址;否则判定连接请求中含有的地址不是动态地址。
第三判断模块,具体用于:判断设备保存的配对信息中是否含有接收到的连接请求中含有的地址,是则判定设备保存的配对信息中含有与移动设备的配对信息;否则判定设备保存的配对信息中不含有与移动设备的配对信息。
本实施例中的设备,还包括:第四判断模块和关机模块;
其中,第四判断模块,用于判断第一接收模块506在第二预设时间内是否接收到移动设备发送来的数据;
关机模块,用于在第四判断模块判断出第一接收模块506在第二预设时间内未接收到移动设备发送来的数据时,关机。
本实施例中的设备,还包括:第五判断模块,或者第六判断模块和移除模块;
其中,第五判断模块,用于判断设备保存的身份解析密钥列表中是否含有配对请求中含有的第二身份解析密钥;
第四生成模块512,还用于当第五判断模块判断出设备保存的身份解析密钥列表中含有配对请求中含有的第二身份解析密钥时,生成含有设备的第一身份解析密钥的配对响应;
第一保存模块511,具体用于:当第五判断模块判断出设备保存的身份解析密钥列表中不含有配对请求中含有的第二身份解析密钥时,保存配对请求中含有的第二身份解析密钥至身份解析密钥列表中;
第六判断模块,用于判断设备保存的身份解析密钥列表中是否含有配对请求中含有的第二身份解析密钥;
移除模块,用于当第六判断模块判断出设备保存的身份解析密钥列表中含有配对请求中含有的第二身份解析密钥时,将身份解析密钥列表中含有的第二身份解析密钥移除;
对应地,第一保存模块511,还用于在移除模块将身份解析密钥列表中含有的第二身份解析密钥移除之后,保存所述配对请求中含有的第二身份解析密钥至身份解析密钥列表中;还用于当所述第六判断模块判断出所述设备保存的身份解析密钥列表中不含有所述配对请求中含有的第二身份解析密钥时,保存所述配对请求中含有的第二身份解析密钥至身份解析密钥列表中。
本实施例中的设备,还包括:第七判断模块;
第七判断模块,用于判断设备存有的身份解析密钥列表是否为空;
对应地,第一发送模块509,还用于当第七判断模块判断出设备存有的身份解析密钥列表为空时,返回错误码给相连的移动设备;
验证模块513,具体用于:当第七判断模块判断出设备存有的身份解析密钥列表不为空时,依次使用设备保存的身份解析密钥列表中的身份解析密钥验证解析模块508得到的第二动态地址。
进一步地,在本实施例中,验证模块513,包括:第一解析子模块和生成子模块;
其中,第一解析子模块,用于解析第二动态地址得到第二随机数和第二数据;
生成子模块,用于依次根据设备存有的身份解析密钥列表中的身份解析密钥和第二随机数生成多个第三数据;
对应地,第一判断模块514,具体用于:判断是否存在与第一解析子模块得到的第二数据相同的第三数据,是则判定存在验证成功的第二身份解析密钥;否则,判定不存在验证成功的第二身份解析密钥。
在本实施例中,第一解析子模块,具体用于:读取第二动态地址的高预设位得到第二随机数,读取第二动态地址的低预设位得到第二数据。
在本实施例中,生成子模块,包括:补位单元、加密单元和运算单元;
其中,补位单元,用于对解析子模块得到的第二随机数进行补位;
加密单元,用于依次使用设备存有的身份解析密钥列表中的身份解析密钥对补位单元补位后的第二随机数加密得到多个第二随机数密文;
运算单元,用于对加密单元得到的多个第二随机数密文做预设运算得多个第三数据。
在本实施例中,第二保存模块516,包括:第二解析子模块、判断子模块、协商子模块和保存子模块;
其中,第二解析子模块,用于解析第一接收模块506接收到的链路加密请求得到会话密钥标识;
判断子模块,用于判断设备存有的会话密钥列表中是否含有第二解析子模块得到的会话密钥标识;
第一发送模块509,还用于当判断子模块判断出设备存有的会话密钥列表中含有会话密钥标识时,返回成功响应给相连的移动设备;
所述协商子模块,用于当所述判断子模块判断出所述设备存有的会话密钥列表中不含有所述第二解析子模块得到会话密钥标识时,与移动设备协商会话密钥;
保存子模块,用于将协商子模块得到的会话密钥与第二解析子模块得到的会话密钥标识对应保存至会话密钥列表中;
第一发送模块509,还用于在保存子模块将协商子模块得到的会话密钥与第二解析子模块得到的会话密钥标识对应保存至会话密钥列表中之后,返回成功响应给相连的移动设备。
在本实施例中,配对模块510,还用于在第一发送模块509返回错误码给相连的移动设备之后,当第一接收模块506在第二预设时间内接收到相连的移动设备发送来的配对请求时,与相连的移动设备配对。
本发明中的方法,蓝牙设备周期性的改变自身的动态地址,且只能对与之完成配对进行了身份解析密钥交换的可信设备的动态地址进行解析,进而进行通讯,该方式有效的防止了黑客窃取数据,保障了蓝牙设备及蓝牙设备使用者的数据的安全;同时对于已完成了配对过程的可信设备,再次与之建立通讯时,无需再次进行配对,缩短了与之建立通讯的时间,提升了用户体验。
以上所述,仅为本发明较佳的具体实施方式,但本发明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,可轻易想到变化或替换,都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应以权利要求的保护范围为准。

Claims (25)

1.一种蓝牙防追踪的方法,其特征在于,包括:
步骤S1:目标蓝牙设备上电,每隔第一预设时间生成第一随机数,并根据所述第一随机数和自身的第一身份解析密钥生成第一数据,根据所述第一随机数和所述第一数据生成第一动态地址,广播含有所述第一动态地址的广播数据,当接收到移动设备发送来的连接请求时,执行步骤S2;
步骤S2:所述目标蓝牙设备连接所述移动设备,解析所述连接请求得到所述移动设备的第二动态地址,返回连接响应给所述移动设备;
步骤S3:所述目标蓝牙设备等待并接收所述移动设备发送来的数据,如为配对请求,则执行步骤S4;如为链路加密请求,则执行步骤S5;
步骤S4:所述目标蓝牙设备与所述移动设备配对,保存所述配对请求中含有的第二身份解析密钥至身份解析密钥列表中,并生成含有自身第一身份解析密钥的配对响应,返回所述配对响应给所述移动设备,返回步骤S3;
步骤S5:所述目标蓝牙设备依次使用自身存有的身份解析密钥列表中的身份解析密钥验证所述第二动态地址,判断是否存在验证成功的第二身份解析密钥,是则执行步骤S6,否则返回错误码给相连的移动设备,断开连接,结束;
步骤S6:所述目标蓝牙设备根据所述链路加密请求保存会话密钥信息,返回成功响应给相连的移动设备并与所述相连的移动设备通信,结束;
所述步骤S6,具体包括:
步骤t1:所述目标蓝牙设备解析所述链路加密请求得到会话密钥标识,判断自身存有的会话密钥列表中是否含有所述会话密钥标识,是则返回成功响应给相连的移动设备并与所述相连的移动设备通信,结束;否则执行步骤t2;
步骤t2:所述目标蓝牙设备与所述移动设备协商会话密钥,将协商得到的会话密钥与所述会话密钥标识对应保存至所述会话密钥列表中,返回成功响应给相连的移动设备并与所述相连的移动设备通信,结束。
2.根据权利要求1所述的方法,其特征在于,所述步骤S1中,所述生成第一随机数,并根据所述第一随机数和自身的第一身份解析密钥生成第一数据,根据所述第一随机数和所述第一数据生成第一动态地址,具体为:
步骤a1:所述目标蓝牙设备生成第一随机数,对所述第一随机数进行补位;
步骤a2:所述目标蓝牙设备使用自身的第一身份解析密钥对补位后的第一随机数加密得到第一随机数密文;
步骤a3:所述目标蓝牙设备对所述第一随机数密文做预设运算得到第一数据;
步骤a4:所述目标蓝牙设备将所述第一随机数与所述第一数据顺序拼接得到第一动态地址。
3.根据权利要求1所述的方法,其特征在于,所述步骤S2中,所述解析所述连接请求得到所述移动设备的第二动态地址之前,还包括:
步骤B1:所述目标蓝牙设备判断所述连接请求中含有的地址是否为动态地址,是则将其作为所述移动设备的第二动态地址,继续执行所述解析所述连接请求得到所述移动设备的第二动态地址;否则返回连接响应给所述移动设备,执行步骤B2;
步骤B2:所述目标蓝牙设备等待并接收所述移动设备发送来的数据,如为链路加密请求,则执行步骤B3;如为配对请求,则与所述移动设备配对,保存配对信息,并生成含有自身第一身份解析密钥的配对响应,返回所述配对响应给所述移动设备,继续执行步骤B2;
步骤B3:所述目标蓝牙设备判断自身保存的配对信息中是否含有与所述移动设备的配对信息,是则根据所述链路加密请求保存会话密钥信息,返回成功响应给所述移动设备并与所述移动设备通信,结束;否则返回错误码给所述移动设备,断开连接,结束。
4.根据权利要求3所述的方法,其特征在于,所述步骤B1中,所述目标蓝牙设备判断所述连接请求中含有的地址是否为动态地址,具体为:
所述目标蓝牙设备判断所述连接请求中含有的地址的第二预设位上的数据是否为预设数据,是则判定所述连接请求中含有的地址是动态地址;否则判定所述连接请求中含有的地址不是动态地址。
5.根据权利要求3所述的方法,其特征在于,所述步骤B3中,所述目标蓝牙设备判断自身保存的配对信息中是否含有与所述移动设备的配对信息,具体为:
所述目标蓝牙设备判断自身保存的配对信息中是否含有接收到的连接请求中含有的地址,是则判定自身保存的配对信息中含有与所述移动设备的配对信息;否则判定自身保存的配对信息中不含有与所述移动设备的配对信息。
6.根据权利要求1所述的方法,其特征在于,所述步骤S3中,还包括:所述目标蓝牙设备判断第二预设时间内是否接收到所述移动设备发送来的数据,是则继续执行所述步骤S3;否则关机,结束。
7.根据权利要求1所述的方法,其特征在于,所述步骤S4中,所述保存所述配对请求中含有的第二身份解析密钥至身份解析密钥列表中之前,还包括:
步骤H:所述目标蓝牙设备判断自身保存的身份解析密钥列表中是否含有所述配对请求中含有的第二身份解析密钥,是则生成含有自身第一身份解析密钥的配对响应,返回配对响应给所述移动设备,返回步骤S3;否则,继续执行所述保存所述配对请求中含有的第二身份解析密钥至身份解析密钥列表中;
或者,
步骤F:所述目标蓝牙设备判断自身保存的身份解析密钥列表中是否含有所述配对请求中含有的第二身份解析密钥,是则将所述身份解析密钥列表中含有的第二身份解析密钥移除,继续执行所述保存所述配对请求中含有的第二身份解析密钥至身份解析密钥列表中;否则,继续执行所述保存所述配对请求中含有的第二身份解析密钥至身份解析密钥列表中。
8.根据权利要求1所述的方法,其特征在于,所述步骤S3中,所述执行步骤S5之前,还包括:
所述目标蓝牙设备判断自身存有的身份解析密钥列表是否为空,是则返回错误码给相连的移动设备,断开连接,结束;否则,执行步骤S5。
9.根据权利要求1所述的方法,其特征在于,所述步骤S5中,所述目标蓝牙设备依次使用自身存有的身份解析密钥列表中的身份解析密钥验证第二动态地址,判断是否存在验证成功的第二身份解析密钥,具体包括:
步骤b1:所述目标蓝牙设备解析所述第二动态地址得到第二随机数和第二数据;
步骤b2:所述目标蓝牙设备依次根据自身存有的身份解析密钥列表中的身份解析密钥和所述第二随机数生成多个第三数据,并判断是否存在与所述第二数据相同的第三数据,是则判定存在验证成功的第二身份解析密钥;否则,判定不存在验证成功的第二身份解析密钥。
10.根据权利要求9所述的方法,其特征在于,所述步骤b1,具体为:所述目标蓝牙设备读取所述第二动态地址的高预设位得到第二随机数,读取所述第二动态地址的低预设位得到第二数据。
11.根据权利要求9所述的方法,其特征在于,所述步骤b2中,所述目标蓝牙设备依次根据自身存有的身份解析密钥列表中的身份解析密钥和所述第二随机数生成多个第三数据,具体包括:
步骤d1:所述目标蓝牙设备对所述第二随机数进行补位;
步骤d2:所述目标蓝牙设备依次使用自身存有的身份解析密钥列表中的身份解析密钥对补位后的第二随机数加密得到多个第二随机数密文,并对所述多个第二随机数密文做预设运算得多个第三数据。
12.根据权利要求1所述的方法,其特征在于,所述方法还包括:
步骤W1:当所述移动设备扫描到所述目标蓝牙设备时,发送含有自身第二动态地址的连接请求给所述目标蓝牙设备;
步骤W2:当所述移动设备接收到所述目标蓝牙设备返回的连接响应时,解析获取到的所述目标蓝牙设备的广播数据得到所述第一动态地址;
步骤W3:所述移动设备判断自身是否存有蓝牙设备的身份解析密钥,是则执行步骤W5,否则执行步骤W4;
步骤W4:所述移动设备生成含有自身第二身份解析密钥的配对请求,发送所述配对请求给所述目标蓝牙设备,接收所述目标蓝牙设备返回的配对响应,将所述配对响应中含有第一身份解析密钥保存,执行步骤W6;
步骤W5:所述移动设备依次使用自身存有的蓝牙设备的身份解析密钥验证所述第一动态地址,判断是否存在验证成功的第一身份解析密钥,是则执行步骤W6,否则返回步骤W4;
步骤W6:所述移动设备发送链路加密请求给所述目标蓝牙设备,接收所述目标蓝牙设备返回的响应,如为成功响应,则与所述目标蓝牙设备通信,结束;如为错误码,则断开连接,结束。
13.根据权利要求12所述的方法,其特征在于,
所述步骤W6中,当所述移动设备接收到所述目标蓝牙设备返回的响应为错误码时,还包括:所述移动设备通过应用程序提示用户错误信息,并接收来自所述用户的控件触发信息,如为重新配对信息,则返回步骤W4;如为结束信息,则断开连接,结束;
所述步骤S5中,所述返回错误码给相连的移动设备之后,还包括:当第二预设时间内接收到所述相连的移动设备发送来的配对请求时,返回步骤S4。
14.一种蓝牙防追踪设备,其特征在于,包括:
上电模块,用于上电;
第一生成模块,用于每隔第一预设时间生成第一随机数;
第二生成模块,用于根据所述第一生成模块生成的第一随机数和所述设备的第一身份解析密钥生成第一数据;
第三生成模块,用于根据所述第一生成模块生成的第一随机数和所述第二生成模块生成的第一数据生成第一动态地址;
广播模块,用于广播含有所述第一动态地址的广播数据;
第一接收模块,用于接收移动设备发送来的数据;
连接模块,用于当所述第一接收模块接收到移动设备发送来的连接请求时,连接所述移动设备;
解析模块,用于解析所述第一接收模块接收到的连接请求得到所述移动设备的第二动态地址;
第一发送模块,用于返回连接响应给所述移动设备;
所述第一接收模块,还用于在所述第一发送模块返回连接响应给所述移动设备之后,等待并接收所述移动设备发送来的数据;
配对模块,用于当所述第一接收模块接收到移动设备发送来的配对请求时,与所述移动设备配对;
第一保存模块,用于保存所述第一接收模块接收到的配对请求中含有的第二身份解析密钥至身份解析密钥列表中;
第四生成模块,用于生成含有所述设备的第一身份解析密钥的配对响应;
所述第一发送模块,还用于返回所述第四生成模块生成的配对响应给所述移动设备;
所述第一接收模块,还用于在所述第一发送模块返回配对响应给所述移动设备之后,等待并接收所述移动设备发送来的数据;
验证模块,用于当所述第一接收模块接收到移动设备发送来的链路加密请求时,依次使用自身存有的身份解析密钥列表中的身份解析密钥验证所述解析模块得到的第二动态地址;
第一判断模块,用于判断是否存在验证成功的第二身份解析密钥;
所述第一发送模块,还用于在所述第一判断模块判断出不存在验证成功的第二身份解析密钥时,返回错误码给相连的移动设备;
断开模块,用于在所述第一发送模块返回错误码给相连的移动设备之后,断开连接;
第二保存模块,用于当所述第一判断模块判断出存在验证成功的第二身份解析密钥时,根据所述第一接收模块接收到的链路加密请求保存会话密钥信息;
所述第一发送模块,还用于在所述第二保存模块保存会话密钥信息之后,返回成功响应给相连的移动设备;
通讯模块,用于在所述第一发送模块返回成功响应给相连的移动设备之后,与所述相连的移动设备通信;
所述第二保存模块,包括:第二解析子模块、判断子模块、协商子模块和保存子模块;
所述第二解析子模块,用于解析所述第一接收模块接收到的链路加密请求得到会话密钥标识;
所述判断子模块,用于判断所述设备存有的会话密钥列表中是否含有所述会话密钥标识;
所述第一发送模块,还用于当所述判断子模块判断出所述设备存有的会话密钥列表中含有所述会话密钥标识时,返回成功响应给相连的移动设备;
所述协商子模块,用于当所述判断子模块判断出所述设备存有的会话密钥列表中不含有所述会话密钥标识时,与所述移动设备协商会话密钥;
所述保存子模块,用于将所述协商子模块得到的会话密钥与所述第二解析子模块得到的会话密钥标识对应保存至所述会话密钥列表中;
所述第一发送模块,还用于在所述保存子模块将所述协商子模块得到的会话密钥与所述第二解析子模块得到的会话密钥标识对应保存至所述会话密钥列表中之后,返回成功响应给相连的移动设备。
15.根据权利要求14所述的设备,其特征在于,
所述第一生成模块,具体用于:生成第一随机数,对所述第一随机数进行补位;
所述第二生成模块,具体用于:使用所述设备的第一身份解析密钥对补位后的第一随机数加密得到第一随机数密文,对所述第一随机数密文做预设运算得到第一数据;
所述第三生成模块,具体用于:将所述第一生成模块生成的第一随机数与所述第二生成模块生成的第一数据顺序拼接得到第一动态地址。
16.根据权利要求14所述的设备,其特征在于,还包括:第二判断模块、作为模块、第二发送模块、第二接收模块、配对保存模块、第三判断模块和第三保存模块;
所述第二判断模块,用于判断所述连接请求中含有的地址是否为动态地址;
所述作为模块,用于当所述第二判断模块判断出所述连接请求中含有的地址是动态地址时,其作为所述移动设备的第二动态地址,触发所述解析模块;
所述第二发送模块,用于当所述第二判断模块判断出所述连接请求中含有的地址不是动态地址时,返回连接响应给所述移动设备;
第二接收模块,用于在所述第二发送模块返回连接响应给所述移动设备之后,等待并接收所述移动设备发送来的数据;
所述配对保存模块,还用于在所述第二接收模块接收到配对请求时,与所述移动设备配对,保存配对信息;
所述第二发送模块,用于在所述配对保存模块保存配对信息之后,生成含有所述设备的第一身份解析密钥的配对响应,返回所述配对响应给所述移动设备;
所述第二接收模块,还用于在所述第二发送模块返回所述配对响应给所述移动设备之后,等待并接收所述移动设备发送来的数据;
所述第三判断模块,用于在所述第二接收模块接收到链路加密请求时,判断保存的配对信息中是否含有与所述移动设备的配对信息;
所述第三保存模块,还用于在所述第三判断模块判断出保存的配对信息中含有与所述移动设备的配对信息时,根据所述链路加密请求保存会话密钥信息;
所述第二发送模块,还用于在所述第三保存模块保存会话密钥信息之后,返回成功响应给所述移动设备;
所述通讯模块,还用于在所述第二发送模块返回成功响应给所述移动设备之后,与所述移动设备通信;
所述第二发送模块,还用于在所述第三判断模块判断出保存的配对信息中不含有与所述移动设备的配对信息时,返回错误码给所述移动设备;
所述断开模块,还用于在所述第二发送模块返回错误码给所述移动设备之后,断开连接。
17.根据权利要求16所述的设备,其特征在于,所述第二判断模块,具体用于:判断所述连接请求中含有的地址的第二预设位上的数据是否为预设数据,是则判定所述连接请求中含有的地址是动态地址;否则判定所述连接请求中含有的地址不是动态地址。
18.根据权利要求16所述的设备,其特征在于,所述第三判断模块,具体用于:判断所述设备保存的配对信息中是否含有接收到的连接请求中含有的地址,是则判定所述设备保存的配对信息中含有与所述移动设备的配对信息;否则判定所述设备保存的配对信息中不含有与所述移动设备的配对信息。
19.根据权利要求14所述的设备,其特征在于,还包括:第四判断模块和关机模块;
所述第四判断模块,用于判断所述第一接收模块在第二预设时间内是否接收到所述移动设备发送来的数据;
所述关机模块,用于在所述第四判断模块判断出所述第一接收模块在第二预设时间内未接收到所述移动设备发送来的数据时,关机。
20.根据权利要求14所述的设备,其特征在于,还包括:第五判断模块,或者第六判断模块和移除模块;
所述第五判断模块,用于判断所述设备保存的身份解析密钥列表中是否含有所述配对请求中含有的第二身份解析密钥;
所述第四生成模块,还用于当所述第五判断模块判断出所述设备保存的身份解析密钥列表中含有所述配对请求中含有的第二身份解析密钥时,生成含有所述设备的第一身份解析密钥的配对响应;
所述第一保存模块,具体用于:当所述第五判断模块判断出所述设备保存的身份解析密钥列表中不含有所述配对请求中含有的第二身份解析密钥时,保存所述配对请求中含有的第二身份解析密钥至身份解析密钥列表中;
所述第六判断模块,用于判断所述设备保存的身份解析密钥列表中是否含有所述配对请求中含有的第二身份解析密钥;
所述移除模块,用于当所述第六判断模块判断出所述设备保存的身份解析密钥列表中含有所述配对请求中含有的第二身份解析密钥时,将所述身份解析密钥列表中含有的第二身份解析密钥移除;
所述第一保存模块,还用于在所述移除模块将所述身份解析密钥列表中含有的第二身份解析密钥移除之后,保存所述配对请求中含有的第二身份解析密钥至身份解析密钥列表中;还用于当所述第六判断模块判断出所述设备保存的身份解析密钥列表中不含有所述配对请求中含有的第二身份解析密钥时,保存所述配对请求中含有的第二身份解析密钥至身份解析密钥列表中。
21.根据权利要求14所述的设备,其特征在于,还包括:第七判断模块;
所述第七判断模块,用于判断所述设备存有的身份解析密钥列表是否为空;
所述第一发送模块,还用于当所述第七判断模块判断出所述设备存有的身份解析密钥列表为空时,返回错误码给相连的移动设备;
所述验证模块,具体用于:当所述第七判断模块判断出所述设备存有的身份解析密钥列表不为空时,依次使用所述设备保存的身份解析密钥列表中的身份解析密钥验证所述解析模块得到的第二动态地址。
22.根据权利要求14所述的设备,其特征在于,所述验证模块,包括:第一解析子模块和生成子模块;
所述第一解析子模块,用于解析所述第二动态地址得到第二随机数和第二数据;
所述生成子模块,用于依次根据所述设备存有的身份解析密钥列表中的身份解析密钥和所述第二随机数生成多个第三数据;
所述第一判断模块,具体用于:判断是否存在与所述第一解析子模块得到的第二数据相同的第三数据,是则判定存在验证成功的第二身份解析密钥;否则,判定不存在验证成功的第二身份解析密钥。
23.根据权利要求22所述的设备,其特征在于,所述第一解析子模块,具体用于:读取所述第二动态地址的高预设位得到第二随机数,读取所述第二动态地址的低预设位得到第二数据。
24.根据权利要求22所述的设备,其特征在于,所述生成子模块,包括:补位单元、加密单元和运算单元;
所述补位单元,用于对所述解析子模块得到的第二随机数进行补位;
所述加密单元,用于依次使用所述设备存有的身份解析密钥列表中的身份解析密钥对所述补位单元补位后的第二随机数加密得到多个第二随机数密文;
所述运算单元,用于对所述加密单元得到的多个第二随机数密文做预设运算得多个第三数据。
25.根据权利要求14所述的设备,其特征在于,
所述配对模块,还用于在所述第一发送模块返回错误码给相连的移动设备之后,当所述第一接收模块在第二预设时间内接收到所述相连的移动设备发送来的配对请求时,与所述相连的移动设备配对。
CN201710532595.9A 2017-07-03 2017-07-03 一种蓝牙防追踪的方法及设备 Active CN107317606B (zh)

Priority Applications (3)

Application Number Priority Date Filing Date Title
CN201710532595.9A CN107317606B (zh) 2017-07-03 2017-07-03 一种蓝牙防追踪的方法及设备
US16/609,486 US11381975B2 (en) 2017-07-03 2018-06-01 Method and device for anti-tracking of Bluetooth
PCT/CN2018/089517 WO2019007172A1 (zh) 2017-07-03 2018-06-01 一种蓝牙防追踪的方法及设备

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201710532595.9A CN107317606B (zh) 2017-07-03 2017-07-03 一种蓝牙防追踪的方法及设备

Publications (2)

Publication Number Publication Date
CN107317606A CN107317606A (zh) 2017-11-03
CN107317606B true CN107317606B (zh) 2020-05-19

Family

ID=60180115

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201710532595.9A Active CN107317606B (zh) 2017-07-03 2017-07-03 一种蓝牙防追踪的方法及设备

Country Status (3)

Country Link
US (1) US11381975B2 (zh)
CN (1) CN107317606B (zh)
WO (1) WO2019007172A1 (zh)

Families Citing this family (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN107317606B (zh) * 2017-07-03 2020-05-19 飞天诚信科技股份有限公司 一种蓝牙防追踪的方法及设备
CN108668236B (zh) * 2018-04-24 2021-03-12 Oppo广东移动通信有限公司 终端设备的追踪方法、装置及终端设备
CN108901010B (zh) * 2018-08-01 2020-11-24 飞天诚信科技股份有限公司 一种蓝牙设备及蓝牙连接方法
CN112351390A (zh) * 2019-08-09 2021-02-09 华为技术有限公司 蓝牙设备互识或互信的方法
CN111405082B (zh) * 2020-03-23 2022-08-16 Oppo(重庆)智能科技有限公司 一种设备连接方法、电子设备及终端、存储介质
CN111867003A (zh) * 2020-07-24 2020-10-30 深圳创维数字技术有限公司 设备配网方法、装置、设备及计算机可读存储介质
US20220167159A1 (en) * 2020-11-25 2022-05-26 Qualcomm Incorporated Systems and methods for authenticating a wireless device
CN114697000A (zh) * 2020-12-28 2022-07-01 深圳Tcl新技术有限公司 配网方法、装置、终端及计算机可读存储介质
CN112291773B (zh) * 2020-12-31 2021-04-06 飞天诚信科技股份有限公司 一种认证器及其通信方法
CN113242538A (zh) * 2021-05-11 2021-08-10 深圳市创意者科技有限公司 一种蓝牙会议音箱的通讯语音信息加密***
CN113301572B (zh) * 2021-06-25 2022-09-30 展讯通信(上海)有限公司 蓝牙设备的连接方法及装置、存储介质、蓝牙设备
CN115913600A (zh) * 2021-09-30 2023-04-04 华为技术有限公司 用于标识设备的方法、装置、电子设备和介质

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102420821A (zh) * 2011-11-28 2012-04-18 飞天诚信科技股份有限公司 一种提高文件传输安全性的方法和***
WO2017003337A1 (en) * 2015-07-02 2017-01-05 Telefonaktiebolaget Lm Ericsson (Publ) Bluetooth low energy address resolving

Family Cites Families (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20130259230A1 (en) * 2012-03-29 2013-10-03 Broadcom Corporation Bluetooth Low Energy Privacy
KR102186012B1 (ko) * 2014-02-05 2020-12-04 애플 인크. 제어기와 액세서리 사이의 통신을 위한 균일한 통신 프로토콜
EP3185640B1 (en) * 2014-09-15 2021-02-17 Huawei Technologies Co., Ltd. Communications method, network connection device, user equipment and communications system
US9853969B2 (en) * 2014-10-01 2017-12-26 Gopro, Inc. Bluetooth low energy hostless private address resolution
EP3073704A1 (en) * 2015-03-23 2016-09-28 Comarch Technologies Spólka z Ograniczona Odpowiedzialnoscia Method of data securing transmitted over bluetooth and transmitter device transmitting secured data over bluetooth
US9801059B2 (en) * 2015-07-09 2017-10-24 Google Inc. Security for wireless broadcasts
CN105430605B (zh) * 2015-12-10 2018-09-25 飞天诚信科技股份有限公司 一种蓝牙主从设备及两者建立安全通道的方法
US10735467B2 (en) * 2016-01-11 2020-08-04 Lg Electronics Inc. Method and apparatus for controlling a device using bluetooth technology
CN105933039B (zh) * 2016-06-24 2018-06-29 飞天诚信科技股份有限公司 一种蓝牙设备及其工作方法
CN106850211B (zh) * 2017-03-06 2020-03-27 深圳市同为数码科技股份有限公司 一种基于mac地址的加密方法及***
CN107317606B (zh) * 2017-07-03 2020-05-19 飞天诚信科技股份有限公司 一种蓝牙防追踪的方法及设备

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102420821A (zh) * 2011-11-28 2012-04-18 飞天诚信科技股份有限公司 一种提高文件传输安全性的方法和***
WO2017003337A1 (en) * 2015-07-02 2017-01-05 Telefonaktiebolaget Lm Ericsson (Publ) Bluetooth low energy address resolving

Also Published As

Publication number Publication date
US20200145814A1 (en) 2020-05-07
WO2019007172A1 (zh) 2019-01-10
CN107317606A (zh) 2017-11-03
US11381975B2 (en) 2022-07-05

Similar Documents

Publication Publication Date Title
CN107317606B (zh) 一种蓝牙防追踪的方法及设备
TWI634771B (zh) Wisdom device and method and device for establishing Bluetooth connection between devices
CN105119939B (zh) 无线网络的接入方法与装置、提供方法与装置以及***
US9973925B2 (en) Method and apparatus for direct communication key establishment
CN110192381B (zh) 密钥的传输方法及设备
CN108391238A (zh) 无线mesh网络的配网方法
CN111465014B (zh) 一种安全认证方法、配置方法以及相关设备
CN105187450A (zh) 一种基于认证设备进行认证的方法和设备
US11778458B2 (en) Network access authentication method and device
CN105162785A (zh) 一种基于认证设备进行注册的方法和设备
CN107969001B (zh) 一种蓝牙配对双向认证的方法及装置
US20170055149A1 (en) Method and Apparatus for Direct Communication Key Establishment
CN103688563A (zh) 执行组认证和密钥协商过程
CN104145465A (zh) 机器类型通信中基于群组的自举
CN102318386A (zh) 向网络的基于服务的认证
CN111131300B (zh) 通信方法、终端及服务器
CN107979864B (zh) 接入点的接入方法、装置及***
CN109890029B (zh) 一种智能无线设备的自动配网方法
CN108306793B (zh) 智能设备、智能家居网关、建立连接的方法及***
CN104144421A (zh) 一种自动配置网络***
CN109151823B (zh) eSIM卡鉴权认证的方法及***
CN110784865A (zh) 物联网设备的配网方法、终端、物联网设备及配网***
CN104284331A (zh) 一种连接便携式wlan热点的方法及***
EP3637815B1 (en) Data transmission method, and device and system related thereto
CN102970680A (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