CN111935693B - 蓝牙设备连接方法和蓝牙设备 - Google Patents

蓝牙设备连接方法和蓝牙设备 Download PDF

Info

Publication number
CN111935693B
CN111935693B CN202010872748.6A CN202010872748A CN111935693B CN 111935693 B CN111935693 B CN 111935693B CN 202010872748 A CN202010872748 A CN 202010872748A CN 111935693 B CN111935693 B CN 111935693B
Authority
CN
China
Prior art keywords
bluetooth
additional code
connection
algorithm
agreed
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
CN202010872748.6A
Other languages
English (en)
Other versions
CN111935693A (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.)
Alipay Hangzhou Information Technology Co Ltd
Original Assignee
Alipay Hangzhou Information Technology 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 Alipay Hangzhou Information Technology Co Ltd filed Critical Alipay Hangzhou Information Technology Co Ltd
Priority to CN202010872748.6A priority Critical patent/CN111935693B/zh
Publication of CN111935693A publication Critical patent/CN111935693A/zh
Priority to TW110115339A priority patent/TWI772006B/zh
Priority to US17/356,457 priority patent/US11240671B1/en
Priority to EP21181424.9A priority patent/EP3972293B1/en
Application granted granted Critical
Publication of CN111935693B publication Critical patent/CN111935693B/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
    • 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/0428Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks wherein the data content is protected, e.g. by encrypting or encapsulating the payload
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W12/00Security arrangements; Authentication; Protecting privacy or anonymity
    • H04W12/03Protecting confidentiality, e.g. by encryption
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W72/00Local resource management
    • H04W72/30Resource management for broadcast services
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W76/00Connection management
    • H04W76/10Connection setup
    • H04W76/14Direct-mode setup
    • 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)
  • Small-Scale Networks (AREA)
  • Mobile Radio Communication Systems (AREA)

Abstract

本说明书实施例提供了蓝牙设备连接方法和蓝牙设备。根据实施例的方法,首先在确定蓝牙连接断开后,利用生成的附加码,对基于蓝牙协议的广播报文进行广播。若接收到来自外部蓝牙设备扫描请求,可基于扫描请求中的随机私有地址生成扫描响应,然后利用随机私有地址将扫描响应发送给发来扫描请求的外部蓝牙设备,以使在该外部蓝牙设备返回连接请求后,与其建立蓝牙连接。

Description

蓝牙设备连接方法和蓝牙设备
技术领域
本说明书一个或多个实施例涉及蓝牙技术领域,尤其涉及蓝牙设备连接方法和蓝牙设备。
背景技术
蓝牙技术是基于低成本的近距离无线连接,为蓝牙设备和主控设备建立通信环境的一种特殊的近距离无线技术连接。
蓝牙设备在进行通信时会发出相关数据,若该相关数据被攻击者拦截,会导致蓝牙设备的信息泄露,从而降低蓝牙设备连接过程的安全性。因此,针对以上不足,需要提供更可靠的蓝牙设备连接方案。
发明内容
本说明书一个或多个实施例描述了蓝牙设备连接方法和蓝牙设备,能够提高蓝牙设备连接过程的安全性。
根据第一方面,提供了蓝牙设备连接方法,包括:
生成附加码;
当检测到蓝牙连接断开后,对所述附加码加密,生成第一密文;
根据所述第一密文生成基于蓝牙协议的广播报文,并发送所述广播报文;
接收外部蓝牙设备发来的扫描请求;
根据所述扫描请求中携带的随机私有地址,将基于蓝牙协议的扫描响应发送给所述外部蓝牙设备,其中,所述随机私有地址为所述外部蓝牙设备针对所述扫描请求生成的地址;
当接收到所述外部蓝牙设备发来的连接请求时,与所述外部蓝牙设备建立蓝牙连接。
在一个实施例中,其中,所述生成附加码,包括:
生成随机数,以得到所述附加码;
所述根据所述第一密文生成基于蓝牙协议的广播报文,进一步包括:
在所述广播报文中携带明文形式的附加码。
在第二种可能实现的方式中,结合上述第一方面,其中,所述生成附加码,包括:
利用预先设置的附加码算法周期性地生成附加码,其中,所述附加码算法是与所述蓝牙连接所连接的蓝牙设备共同约定的算法;
所述对所述附加码加密包括:对当前周期内生成的附加码加密。
在一个实施例中,所述对所述附加码加密,生成第一密文,包括:
利用第一加密算法对所述附加码和存储的本地密钥进行加密,得到第一密文,其中,所述第一加密算法为单向函数,所述本地密钥是与所述蓝牙连接所连接的蓝牙设备共同约定的密钥,所述第一加密算法与所述蓝牙连接所连接的蓝牙设备共同约定的算法。
在一个实施例中,其中,在所述接收外部蓝牙设备发来的扫描请求之后,在所述将基于蓝牙协议的扫描响应发送给所述外部蓝牙设备之前,进一步包括:
利用第二解密算法,根据所述附加码和存储的本地密钥对所述扫描请求中携带的随机私有地址进行解密,得到固定地址;
确定存储的固定地址与解密得到的所述固定地址是否相同,其中,所述存储的固定地址是与所述蓝牙连接所连接的蓝牙设备共同约定存储的地址,所述本地密钥是与所述蓝牙连接所连接的蓝牙设备共同约定的密钥,所述第二解密算法是与所述蓝牙连接所连接的蓝牙设备共同约定的算法;
如果相同,则执行所述将基于蓝牙协议的扫描响应发送给所述外部蓝牙设备。
在一个实施例中,其中,所述根据所述扫描请求中携带的随机私有地址,将基于蓝牙协议的扫描响应发送给所述外部蓝牙设备,包括:
利用第三加密算法对所述扫描请求中携带的随机私有地址和存储的本地密钥进行加密,得到第二密文,其中,所述第二加密算法为单向函数,所述本地密钥是与所述蓝牙连接所连接的蓝牙设备共同约定的密钥;
利用所述第二密文生成基于蓝牙协议的扫描响应;
将所述扫描响应通过所述随机私有地址发送给所述外部蓝牙设备。
根据第二方面,提供了蓝牙设备连接方法,包括:
检测到蓝牙连接断开;
当监听到广播报文时,获取附加码;
利用获取的所述附加码验证所述广播报文的有效性;
当确定所述广播报文有效时,对所述附加码进行加密,生成随机私有地址;
将所述随机私有地址携带在基于蓝牙协议的扫描请求中,发送给发来所述广播报文的外部蓝牙设备;
当接收到所述外部蓝牙设备根据所述随机私有地址发来的扫描响应时,根据所述随机私有地址向所述外部蓝牙设备发送连接请求,以通过所述连接请求与所述外部蓝牙设备建立连接。
在一个实施例中,其中,所述广播报文中携带有明文形式的附加码;则所述获取附加码,包括:从所述广播报文中获取附加码。
针对第二种可能实现的方式中,结合上述第二方面,利用预先设置的附加码算法周期性地生成附加码,其中,所述附加码算法是与所述蓝牙连接所连接的蓝牙设备共同约定的算法;
获取在当前周期内生成的附加码。
在一个实施例中,其中,所述利用获取的所述附加码验证所述广播报文的有效性,包括:
利用第一加密算法对获取的所述附加码和存储的本地密钥进行加密,得到第三密文,其中,所述第一加密算法为单向函数,所述本地密钥是与所述蓝牙连接所连接的蓝牙设备共同约定的密钥;
确定所述第三密文是否与所述广播报文中的第一密文相同;
若相同,则确定所述广播报文有效。
在一个实施例中,其中,所述对所述附加码进行加密,生成随机私有地址,包括:
利用第二加密算法对所述附加码、存储的固定地址和存储的本地密钥进行加密,得到随机私有地址,其中,所述固定地址是与所述蓝牙连接所连接的蓝牙设备共同约定存储的地址,所述本地密钥是与所述蓝牙连接所连接的蓝牙设备共同约定的密钥,所述第二加密算法是与所述蓝牙连接所连接的蓝牙设备共同约定的算法。
在一个实施例中,其中,当接收到所述外部蓝牙设备根据所述随机私有地址发来的扫描响应时,在所述根据所述随机私有地址向所述外部蓝牙设备发送连接请求之前,进一步包括:
利用第三加密算法对所述随机私有地址和本地密钥进行加密,得到第四密文;
确定所述第四密文是否与所述扫描响应中的第二密文相同;
若相同,则执行所述根据所述随机私有地址向所述外部蓝牙设备发送连接请求,其中,所述本地密钥是与所述蓝牙连接所连接的蓝牙设备共同约定的密钥,所述第三加密算法与所述蓝牙连接所连接的蓝牙设备共同约定的算法。
根据第三方面,提供了蓝牙设备,包括:
附加码生成模块,配置为生成附加码;
报文生成模块,配置为当检测到蓝牙连接断开后,对所述附加码生成模块生成的所述附加码加密,生成第一密文;根据所述第一密文生成基于蓝牙协议的广播报文,并发送所述广播报文;
请求处理模块,配置为接收外部蓝牙设备发来的扫描请求;根据所述扫描请求中携带的随机私有地址,将基于蓝牙协议的扫描响应发送给所述外部蓝牙设备,其中,所述随机私有地址为所述外部蓝牙设备针对所述扫描请求生成的地址;当接收到所述外部蓝牙设备发来的连接请求时,与所述外部蓝牙设备建立蓝牙连接。
在一个实施例中,其中,所述附加码生成模块,配置为生成随机数,以得到所述附加码;
所述报文生成模块,进一步配置为在所述广播报文中携带明文形式的附加码。
在一个实施例中,其中,所述附加码生成模块,配置为利用预先设置的附加码算法周期性地生成附加码,其中,所述附加码算法是与所述蓝牙连接所连接的蓝牙设备共同约定的算法;
所述报文生成模块,配置为对当前周期内生成的附加码加密。
在一个实施例中,其中,所述报文生成模块,配置为利用第一加密算法对所述附加码和存储的本地密钥进行加密,得到第一密文,其中,所述第一加密算法为单向函数,所述本地密钥是与所述蓝牙连接所连接的蓝牙设备共同约定的密钥,所述第一加密算法与所述蓝牙连接所连接的蓝牙设备共同约定的算法。
在一个实施例中,其中,所述请求处理模块,配置为利用第二解密算法,根据所述附加码和存储的本地密钥对所述扫描请求中携带的随机私有地址进行解密,得到固定地址;确定存储的固定地址与解密得到的所述固定地址是否相同,其中,所述存储的固定地址是与所述蓝牙连接所连接的蓝牙设备共同约定存储的地址,所述本地密钥是与所述蓝牙连接所连接的蓝牙设备共同约定的密钥,所述第二解密算法是与所述蓝牙连接所连接的蓝牙设备共同约定的算法;如果相同,则执行所述将基于蓝牙协议的扫描响应发送给所述外部蓝牙设备。
在一个实施例中,其中,所述请求处理模块,配置为利用第三加密算法对所述扫描请求中携带的随机私有地址和存储的本地密钥进行加密,得到第二密文,其中,所述第二加密算法为单向函数,所述本地密钥是与所述蓝牙连接所连接的蓝牙设备共同约定的密钥;利用所述第二密文生成基于蓝牙协议的扫描响应;将所述扫描响应通过所述随机私有地址发送给所述外部蓝牙设备。
根据第四方面,提供了蓝牙设备,包括:
连接检测模块,配置为检测到蓝牙连接断开;
附加码获取模块,配置为当监听到广播报文时,获取附加码;
报文验证模块,配置为利用获取的所述附加码验证所述广播报文的有效性;
连接处理模块,配置为当确定所述广播报文有效时,对所述附加码进行加密,生成随机私有地址;将所述随机私有地址携带在基于蓝牙协议的扫描请求中,发送给发来所述广播报文的外部蓝牙设备;当接收到所述外部蓝牙设备根据所述随机私有地址发来的扫描响应时,根据所述随机私有地址向所述外部蓝牙设备发送连接请求,以通过所述连接请求与所述外部蓝牙设备建立连接。
在一个实施例中,其中,所述广播报文中携带有明文形式的附加码;
所述附加码获取模块,配置为从所述广播报文中获取附加码。
在一个实施例中,其中,所述附加码获取模块,配置为利用预先设置的附加码算法周期性地生成附加码,其中,所述附加码算法是与所述蓝牙连接所连接的蓝牙设备共同约定的算法;获取在当前周期内生成的附加码。
在一个实施例中,其中,所述报文验证模块,配置为利用第一加密算法对获取的所述附加码和存储的本地密钥进行加密,得到第三密文,其中,所述第一加密算法为单向函数,所述本地密钥是与所述蓝牙连接所连接的蓝牙设备共同约定的密钥;确定所述第三密文是否与所述广播报文中的第一密文相同;若相同,则确定所述广播报文有效。
在一个实施例中,其中,所述连接处理模块,配置为利用第二加密算法对所述附加码、存储的固定地址和存储的本地密钥进行加密,得到随机私有地址,其中,所述固定地址是与所述蓝牙连接所连接的蓝牙设备共同约定存储的地址,所述本地密钥是与所述蓝牙连接所连接的蓝牙设备共同约定的密钥,所述第二加密算法是与所述蓝牙连接所连接的蓝牙设备共同约定的算法。
在一个实施例中,其中,所述连接处理模块,配置为利用第三加密算法对所述随机私有地址和本地密钥进行加密,得到第四密文;确定所述第四密文是否与所述扫描响应中的第二密文相同;若相同,则执行所述根据所述随机私有地址向所述外部蓝牙设备发送连接请求,其中,所述本地密钥是与所述蓝牙连接所连接的蓝牙设备共同约定的密钥,所述第三加密算法与所述蓝牙连接所连接的蓝牙设备共同约定的算法。
根据第五方面,提供了一种计算机可读存储介质,其上存储有计算机程序,当所述计算机程序在计算机中执行时,令计算机执行上述任一项所述的方法。
根据第六方面,提供了一种计算设备,包括存储器和处理器,所述存储器中存储有可执行代码,所述处理器执行所述可执行代码时,实现上述任一项所述的方法。
根据说明书实施例提供的方法和设备,若检测到蓝牙连接断开后,可先基于现场生成的附加码生成基于蓝牙协议的广播报文,并对广播报文进行广播。以便监听到该广播报文的外部蓝牙设备可以返回携带针对此次扫描请求的随机私有地址,利用该私有地址即可与发来扫描请求的外部蓝牙设备建立蓝牙连接。由于附加码不是一个固定不变的值,而是现场生成的,所以使得广播报文也不是固定不变的报文。并且外部蓝牙设备发来的随机私有地址也是针对该扫描请求的地址,因此,与发来扫描请求的外部蓝牙设备通信的随机私有地址也不是固定不变的,因此,可以有效地防止蓝牙设备信息被窃取后与其他的蓝牙设备建立连接导致蓝牙设备之间传输的信息泄露,从而实现提高蓝牙设备连接过程的安全性。
附图说明
为了更清楚地说明本说明书实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图是本说明书的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1是本说明书一个实施例提供的蓝牙设备连接方法的流程图;
图2是本说明书另一个实施例提供的蓝牙设备连接方法的流程图;
图3是本说明书又一个实施例提供的两个蓝牙设备连接的示意图;
图4是本说明书一个实施例提供的蓝牙设备的示意图;
图5是本说明书另一个实施例提供的蓝牙设备的示意图。
具体实施方式
如前所述,蓝牙设备是基于蓝牙技术通信的设备。目前各种蓝牙设备在进行数据交互时,通常会发送出自身固定的蓝牙地址,或者在扫描时返回用于表征自身属性的固定的属性信息。
当该蓝牙设备发送出的信息被攻击者拦截获取到后,攻击者可能基于拦截到的信息与该蓝牙设备所要连接的设备建立连接,以冒充该蓝牙设备获取两个设备之间的通信数据。或者攻击者将拦截到的信息用作他处,导致蓝牙设备信息的泄露,降低蓝牙设备连接过程的安全性。
另外,攻击者长时间占用该蓝牙设备与所要连接的设备之间的连接,还会导致该蓝牙设备无法与所要连接的设备建立连接,从而影响蓝牙设备的通信。
为此,根据本说明书的实施例,总体上采用动态的附加码使得基于蓝牙技术通信的蓝牙设备之间进行验证。由于附加码不是固定不变的,因此,当蓝牙设备断开蓝牙连接后,通过动态的附加码与所要连接的设备进行连接,可以防止攻击者利用固定不变的验证信息冒充蓝牙设备与其他的蓝牙设备建立连接,因此,可以提高蓝牙设备连接过程的安全性,使得蓝牙设备之间的连接更可靠。
通过上述描述,现有的蓝牙设备之间的连接方式,安全性较低。针对于此,本说明书一个实施例提供了蓝牙设备连接方法,应用于发起方蓝牙设备,该发起方蓝牙设备是这样一种设备,在断开蓝牙连接后,通过主动发送广播报文来主动发起重建蓝牙连接的蓝牙设备,如图1所示,具体可以包括以下步骤:
步骤101:生成附加码;
步骤102:当检测到蓝牙连接断开后,对该附加码进行加密生成第一密文;
步骤103:根据该第一密文生成基于蓝牙协议的广播报文,并发送广播报文;
步骤104:接收外部蓝牙设备发来的扫描请求;
步骤105:根据该扫描请求中携带的随机私有地址,将基于蓝牙协议的扫描响应发送给该外部蓝牙设备,其中,随机私有地址为外部蓝牙设备针对扫描请求生成的地址;
步骤106:当接收到该外部蓝牙设备发来的连接请求时,与该外部蓝牙设备建立蓝牙连接。
在该实施例中,若检测到蓝牙连接断开后,可先基于现场生成的附加码生成基于蓝牙协议的广播报文,并对广播报文进行广播。以便监听到该广播报文的外部蓝牙设备可以返回携带针对此次扫描请求的随机私有地址,利用该私有地址即可与发来扫描请求的外部蓝牙设备建立蓝牙连接。由于附加码不是一个固定不变的值,而是现场生成的,所以使得广播报文也不是固定不变的报文。并且外部蓝牙设备发来的随机私有地址也是针对该扫描请求的地址,因此,与发来扫描请求的外部蓝牙设备通信的随机私有地址也不是固定不变的,因此,可以有效地防止蓝牙设备信息被窃取后与其他的蓝牙设备建立连接导致蓝牙设备之间传输的信息泄露,从而实现提高蓝牙设备连接过程的安全性。
可以理解的是,在未断开蓝牙连接之前,通过蓝牙连接所连接的蓝牙设备之间可以预先约定在蓝牙连接断开后由哪一方主动发送广播报文。
为了提高蓝牙设备连接的安全性,针对发送广播报文的蓝牙设备,本说明书实施例提供了两种获取附加码方式,方式一为主动发送广播报文的蓝牙设备生成附加码,方式二为广播报文的发送方和接收方均按照约定的方式同时生成附加码;
针对方式一:将随机生成的随机数作为附加码,并将明文形式的附加码携带在广播报文中。由于附加码是随机生成的,无法提前预测,可以增加广播报文伪造的难度。再将明文形式的附加码携带在广播报文中,可以使得监听到该广播报文的外部蓝牙设备可基于明文形式的附加码对广播报文中的第一密文进行验证,确定该第一密文是否为被伪造的密文,从而判断监听到的广播报文的有效性,以提高蓝牙设备之间连接过程的安全性。
针对方式二:在蓝牙连接断开之前,与蓝牙连接所连接的蓝牙设备之间预先共同约定附加码算法,利用该附加码算法按照指定周期生成附加码,比如,按照周期30min、120min或者500min。由于附加码算法是与所连接的蓝牙设备约定好的,因此,两个设备之间可以在同样的时间点生成同样的附加码,这样,当该蓝牙设备监听到广播报文后,可利用自身生成的附加码对广播报文进行验证,确定广播报文中的第一密文是否与利用自身生成的附加码得到的密文相同,从而判断广播报文是否为攻击者发来的报文,以提高蓝牙设备之间连接过程的安全性。
为了进一步增加攻击者伪造广播报文的难度,在另一个实施例中,在蓝牙连接未断开之前,可先与蓝牙连接所连接的蓝牙设备之间约定共同的本地密钥以及用于生成第一密文的第一加密算法F1(x1,y1),并分别进行存储,其中,x1表征第一加密算法的第一变量,y1表征第一加密算法的第二变量。为了进一步提高广播报文的伪造难度,通过验证广播报文而过滤掉攻击者,第一加密算法可以是单向函数。基于此,第一密文可以基于附加码和本地密钥利用第一加密算法进行加密,得到第一密文。但是,基于第一密文和附加码,无法利用第一加密算法反推得到本地密钥;同样地,基于第一密文和本地密钥,仍无法利用第一加密算法反推得到附加码。这样可以保证需要同时获取到附加码、第一加密算法以及本地密钥后,才能得到第一密文进而生成广播报文。并且由于附加码是动态的码,因此,可以避免攻击者长期与蓝牙设备与蓝牙设备建立连接。
具体地,第一密文可以通过下述方式得到:若将附加码的值赋值给第一加密算法F1(x1,y1)的第一变量x1,则本地密钥的值赋值给第一加密算法F1(x1,y1)的第二变量y1;若附加码的值赋值给第二变量y1,则本地密钥的值赋值给第一变量x1。然后利用赋值后的第一加密算法生成第一密文。
为了防止攻击者仿冒蓝牙连接断开之前所连接的蓝牙设备,在另一个实施例中,在蓝牙连接未断开之前,先与蓝牙连接所连接的蓝牙设备共同约定用于生成随机私有地址的第二加密算法F2e(x2e,y2e,z2e)、用于验证随机私有地址的第二解密算法F2d(x2d,y2d,z2d)、本地密钥以及该蓝牙设备的固定地址,其中,x2d表征第二解密算法的第一变量,y2d表征第二解密算法的第二变量,z2d表征第二解密算法的的第三变量,x2e表征第二加密算法的的第一变量,y2e表征第二加密算法的第二变量,z2e表征第二加密算法的第三变量。这样,在接收到外部蓝牙设备发来的扫描请求之后,利用存储的第二解密算法根据附加码和本地密钥对扫描请求中携带的随机私有地址进行解密,得到解密后的固定地址。通过将存储的固定地址与解密得到的固定地址进行比对,确定两者是否相同,若相同,可以确定扫描请求中携带的随机私有地址未被伪造,即,该随机私有地址是可信的,因此,可以利用该随机私有地址与发来随机私有地址的蓝牙设备通信。
由于攻击者在未获取到本地密钥、固定地址、附加码以及用于生成私有随机地址的第二加密算法时,无法生成正确的随机私有地址。这样,当对攻击者发送的扫描请求中携带的错误的随机私有地址进行解密后会得到错误的地址,通过与存储的固定地址进行比对,即可过滤掉仿冒该蓝牙设备的攻击者,使得攻击者攻击失败。
为了进一步增加攻击者获取蓝牙设备信息的难度,在另一个实施例中,在蓝牙连接断开之前,可先与蓝牙连接所连接的蓝牙设备之间共同约定用于对随机私有地址进行加密的第三加密算法F3(x3,y3)和本地密钥。这样在接收到扫描请求后,若将随机私有地址的值赋值给第三加密算法F3(x3,y3)的第一变量,则将本地密码则赋值给第三加密算法F3(x3,y3)的第二变量,反之,将本地密码赋值给F3(x3,y3)的第一变量。然后利用赋值后的第三加密算法生成第二密文。为了保证第二密文的安全性,第三加密算法为单向函数。基于此,攻击者需要获取到第三加密算法和本地密钥才可以计算出真正的第二密文,通过此种方式,可以过滤掉仿冒蓝牙设备的攻击者,使得攻击者攻击失败,从而提高蓝牙设备连接过程的安全性。
本说明书一个实施例提供了蓝牙设备连接方法,应用于接收方蓝牙设备,该接收方蓝牙设备是这样一种设备,在断开蓝牙连接后,未主动发起重建蓝牙连接,并通过监听广播报文来重建蓝牙连接的蓝牙设备,如图2所示,具体可以包括以下步骤:
步骤201:检测到蓝牙连接断开;
步骤202:当监听到广播报文时,获取附加码;
步骤203:利用获取的附加码验证广播报文的有效性;
步骤204:当确定广播报文有效时,对附加码进行加密,生成随机私有地址;
步骤205:将随机私有地址携带在基于蓝牙协议的扫描请求中,发送给发来广播报文的外部蓝牙设备;
步骤206:当接收到外部蓝牙设备根据随机私有地址发来的扫描响应时,根据随机私有地址向外部蓝牙设备发送连接请求,以通过连接请求与外部蓝牙设备建立连接。
在该实施例中,若检测到蓝牙连接断开后,可先基于监听到的广播报文获取附加码,然后对监听到的广播报文进行验证,以确定广播报文是否为攻击者伪造的报文;当确定广播报文非攻击者伪造的报文后,可以利用附加码进行加密,然后将生成的随机私有地址携带在扫描请求中,并发送给发来广播报文的外部蓝牙设备。由于该随机私有地址是基于动态的附加码生成的地址,所以基于附加码生成的随机私有地址也不是固定不变的地址。这样发来广播报文的外部蓝牙设备利用随机私有地址进行建立连接,可以有效地防止蓝牙设备信息被窃取后与其他的蓝牙设备建立连接导致蓝牙设备之间传输的信息泄露,从而实现提高蓝牙设备连接过程的安全性。
可以理解的是,在未断开蓝牙连接之前,通过蓝牙连接所连接的蓝牙设备之间可以预先约定在蓝牙连接断开后由哪一方主动发送广播报文。
为了提高蓝牙设备连接过程的安全性,针对监听到广播报文的蓝牙设备,本说明书实施例提供了两种获取附加码方式;
方式一:监听到的广播报文中携带有明文形式的附加码,这样可以从广播报文中获取该附加码,利用该附加码对广播报文的有效性进行验证,而无需自己生成附加码,从而可以减少接收广播报文的蓝牙设备的处理操作。
方式二:在蓝牙连接断开之前,与蓝牙连接所连接的蓝牙设备之间共同约定用于生成附加码的附加码算法以及生成附加码的周期。这样,共同约定的蓝牙设备之间按照约定的周期,利用附加码算法可以生成相同的附加码。比如,每180min生成一个附加码。这样,共同约定的主动发送广播报文的蓝牙设备在利用附加码生成广播报文并进行广播。共同约定的接收方蓝牙设备可利用自身在监听到广播报文所在的周期生成的附加码,对监听到的广播报文进行验证。若该广播报文是利用共同约定的算法得到的附加码所生成的报文,那么可以验证得到该广播报文是有效地,反之,可以确定该广播报文为攻击者伪造的报文。
为了进一步增加攻击者伪造广播报文的难度,在本说明书的另一个实施例中,在蓝牙连接未断开之前,可先与蓝牙连接所连接的蓝牙设备之间共同约定本地密钥、用于生成第一密文的第一加密算法F1(x1,y1),并分别进行存储,其中,x1表征第一加密算法的第一变量,y1表征第一加密算法的第二变量。为了进一步提高广播报文的伪造难度,通过验证广播报文而过滤掉攻击者,第一加密算法可以是单向函数。基于此,攻击者需要在获取到本地密钥和第一加密算法后计算出正确的第一密文,进而生成广播报文,否则,攻击者无法生成正确的广播报文。另外,由于附加码是动态的码,是现场生成的码,攻击者在获取到一次附加码后不会长时间与蓝牙连接所连接的蓝牙设备建立长时间的连接,因此,可以进一步增加攻击者仿冒设备的难度,实现提高蓝牙设备的安全性的目的。
由此,在监听到广播报文后,若获取到的附加码的值赋值给第一加密算法的第一变量x1,则存储的本地密钥的值赋值给第一加密算法F1(x1,y1)的第二变量y1;若获取到的附加码的值赋值给第二变量y1,则本地密钥赋值给第一变量x1。然后利用赋值后的第一加密算法可以生成第三密文,通过将第三密文和广播报文中的第一密文进行比较,若两者相同,则可以确定广播报文未被伪造,广播报文是有效地,因此,可以与发来广播报文的蓝牙设备进一步交互。若两者不同,则可以确定广播报文是伪造的,因此无需在与发来广播报文的蓝牙设备进一步交互。
具体地,存储的本地密钥可以是蓝牙设备之间在第一次建立蓝牙连接时约定的密钥,也可以是蓝牙设备之间在第n次建立蓝牙连接后再次约定的密钥,其中n大于1。
为了防止攻击者伪造随机私有地址,在本说明书的另一个实施例中,在蓝牙连接未断开之前,可先与蓝牙连接所连接的蓝牙设备之前约定共同的本地密钥、固定地址、用于生成随机私有地址的第二加密算法F2e(x2e,y2e)以及用于验证随机私有地址的第二解密算法F2d(x2d,y2d,z2d),其中,x2d表征第二解密算法的第一变量,y2d表征第二解密算法的第二变量,z2d表征第二解密算法的的第三变量,x2e表征第二加密算法的的第一变量,y2e表征第二加密算法的第二变量,z2e表征第二加密算法的第三变量。当确定监听到的广播报文有效时,可以先生成随机私有地址。生成随机私有地址的方式包括:将附加码的值、本地密钥的值以及固定地址的值赋值给第二加密算法的变量,然后利用赋值后的第二加密算法生成随机私有地址。若攻击者冒充监听广播报文的蓝牙设备,攻击者在未获取到本地密钥、固定地址以及第二加密算法时,攻击者无法生成正确的随机私有地址,因此,当外部蓝牙设备接收到扫描请求对随机私有地址验证后,可以发现扫描请求是否为攻击者发送的请求。
为了防止攻击者伪造扫描响应,在本说明书的另一个实施例中,在蓝牙连接未断开之前,可先与蓝牙连接所连接的蓝牙设备之间约定共同的本地密钥以及用于验证扫描响应的第三加密算法F3(x3,y3),其中,x3表征第三加密算法的第一变量,y3表征第三加密算法的第二变量。在接收到扫描响应之后,可以将自身生成的随机私有地址和存储的本地密钥的值赋值给第三加密算法,然后利用赋值后的第三加密算法生成第四密文。通过将第四密文与扫描响应中的第二密文进行比对,可知扫描响应是否为攻击者伪造的响应,若该扫描响应不是攻击者伪造的,则可与发来扫描响应的外部蓝牙设备建立连接,反之,则无需与发来该扫描响应的外部蓝牙设备进行交互。
下面以基于蓝牙技术进行数据交互的蓝牙设备“蜻蜓”和“键盘”为例,对本说明书实施例提供的蓝牙设备连接方法进行说明,如图3所示,具体可以包括以下步骤:
步骤301:键盘生成附加码,并在发现与蜻蜓之间的蓝牙连接断开后,利用预先与蜻蜓约定的第一加密算法对本地密钥和附加码进行加密,得到第一密文,并发送基于第一密文生成的广播报文。
具体地,键盘可与蜻蜓在蓝牙连接未断开之间约定,若蓝牙连接断开后由键盘主动发送广播报文,并约定生生成广播报文的附加码是由键盘方独自生成还是由双方按照相同的算法周期性生成。由于附加码是现场生成的,不是固定不变的码,因此,可以使得断开蓝牙连接后的广播报文也不是固定不变的报文,从而可以增加攻击者窃取蓝牙设备数据的难度。
步骤302:蜻蜓监听到广播报文后,获取附加码,利用预先与键盘约定的第一加密算法、本地密钥和附加码对广播报文中的第一密文进行验证。若广播报文有效,则利用与键盘约定的第二加密算法、本地密钥和固定地址生成随机私有地址,然后将携带随机私有地址的扫描请求发送给键盘。
具体地,蜻蜓监听到广播报文后可以基于预先约定的附加码的获取方法获取对应的附加码,比如,约定的附加码获取方式为广播报文中携带明文形式的附加码,那么蜻蜓从广播报文中读取附加码即可。或者,约定的附加码获取方式为双方共同按照附加码算法周期性生成附加码,那么此时,蜻蜓可利用当前周期生成的附加码对广播报文进行验证。
当蜻蜓验证广播报文有效时,即利用附加码和与键盘约定的本地密钥利用第一加密算法进行加密后,得到的第三密文与广播报文中的相同,即确定广播报文有效。然后再利用与键盘约定的第二加密算法对本地密钥、固定地址和附加码生成随机私有地址,并携带在扫描请求中发送给键盘。
步骤303:键盘利用与蜻蜓约定的第二解密算法和本地密钥对扫描请求中的随机私有地址进行解密,若得到的固定地址与存储的固定地址相同,则利用与蜻蜓约定的第三加密算法、本地密钥和随机私有地址生成第三密文,进而生成扫描响应,并通过随机私有地址发送给蜻蜓。
具体地,键盘在接收到扫描请求后,需要对扫描请求中的随机私有地址进行验证,即,利用与蜻蜓约定的第二解密算法和自身生成的附加码对随机私有地址进行解密,若得到的固定地址与预先约定的固定地址相同,则表征随机私有地址是蜻蜓生成的地址,因此,可利用第三加密算法对随机私有地址和本地密钥进行加密,得到扫描响应,并发送给蜻蜓。
步骤304:蜻蜓对随机私有地址进行监听,在接收到扫描响应之后,利用与键盘约定的第三加密算法、本地密钥和自身生成的随机私有地址生成第四密文,将第四密文与扫描响应中的第二密文进行比对,在确定两者相同时,向键盘发送连接请求。
具体地,蜻蜓在接收到扫描响应后,还需要对扫描响应进行验证,即,利用第三加密算法对自身存储的本地密钥和自身生成的随机私有地址进行加密,若得到的第四密文与扫描响应中的第二密文相同,则表征扫描响应是键盘发来的响应,因此,可与其建立蓝牙连接。
步骤305:键盘接收到连接请求后,与蜻蜓建立蓝牙连接。
综上可见,由于附加码是动态生成的,建立蓝牙连接的蓝牙设备之间约定第一加密算法、第二加密算法、第二解密算法、第三加密算法、本地密钥以及固定地址,因此,在攻击者未获取到上述约定的内容后,攻击者无法伪造正确的广播报文、随机私有地址、扫描请求和扫描响应,因此,可以有效地防止攻击者利用截获的信息仿冒蓝牙设备与其他设备建立连接,从而可以提高蓝牙设备之间连接过程的安全性。
需要说明的是,广播报文包括基于蓝牙协议的ADV_IND,扫描请求包括基于蓝牙协议的SCAN_REQ,扫描响应包括基于蓝牙协议的SCAN_RSP。
上述任一实施例中的第一加密算法和第三加密算法包括:哈希算法、高级加密标准AES算法、MD5算法、消息认证代码MAC算法、循环冗余校验码CRC算法中的任一种,但不限于此。
本说明书一个实施例提供了蓝牙设备,如图4所示,该蓝牙设备可以发起重建蓝牙连接,该蓝牙设备400包括:
附加码生成模块41,配置为生成附加码;
报文生成模块42,配置为当检测到蓝牙连接断开后,对附加码生成模块41生成的附加码加密,生成第一密文;根据第一密文生成基于蓝牙协议的广播报文,并发送广播报文;
请求处理模块43,配置为接收外部蓝牙设备发来的扫描请求;根据扫描请求中携带的随机私有地址,将基于蓝牙协议的扫描响应发送给外部蓝牙设备,其中,随机私有地址为外部蓝牙设备针对扫描请求生成的地址;当接收到外部蓝牙设备发来的连接请求时,与外部蓝牙设备建立蓝牙连接。
在本说明书另一个实施例中,附加码生成模块41,配置为生成随机数,以得到附加码;
报文生成模块42,进一步配置为在广播报文中携带明文形式的附加码。
在本说明书另一个实施例中,附加码生成模块41,配置为利用预先设置的附加码算法周期性地生成附加码,其中,附加码算法是与蓝牙连接所连接的蓝牙设备共同约定的算法;
报文生成模块42,配置为对当前周期内生成的附加码加密。
在本说明书另一个实施例中,报文生成模块42,配置为利用第一加密算法对附加码和存储的本地密钥进行加密,得到第一密文,其中,第一加密算法为单向函数,本地密钥是与蓝牙连接所连接的蓝牙设备共同约定的密钥,第一加密算法与蓝牙连接所连接的蓝牙设备共同约定的算法。
在本说明书另一个实施例中,请求处理模块43,配置为利用第二解密算法,根据附加码和存储的本地密钥对扫描请求中携带的随机私有地址进行解密,得到固定地址;确定存储的固定地址与解密得到的固定地址是否相同,其中,存储的固定地址是与蓝牙连接所连接的蓝牙设备共同约定存储的地址,本地密钥是与蓝牙连接所连接的蓝牙设备共同约定的密钥,第二解密算法是与蓝牙连接所连接的蓝牙设备共同约定的算法;如果相同,则执行将基于蓝牙协议的扫描响应发送给外部蓝牙设备。
在本说明书另一个实施例中,请求处理模块43,配置为利用第三加密算法对扫描请求中携带的随机私有地址和存储的本地密钥进行加密,得到第二密文,其中,第二加密算法为单向函数,本地密钥是与蓝牙连接所连接的蓝牙设备共同约定的密钥;利用第二密文生成基于蓝牙协议的扫描响应;将扫描响应通过随机私有地址发送给外部蓝牙设备。
本说明书又一个实施例中提供了蓝牙设备,该蓝牙设备未主动发起重建蓝牙连接,如图5所示,该蓝牙设备500包括:
连接检测模块51,配置为检测到蓝牙连接断开;
附加码获取模块52,配置为当监听到广播报文时,获取附加码;
报文验证模块53,配置为利用附加码获取模块52获取的附加码验证广播报文的有效性;
连接处理模块54,配置为当报文验证模块53确定广播报文有效时,对附加码进行加密,生成随机私有地址;将随机私有地址携带在基于蓝牙协议的扫描请求中,发送给发来广播报文的外部蓝牙设备;当接收到外部蓝牙设备根据随机私有地址发来的扫描响应时,根据随机私有地址向外部蓝牙设备发送连接请求,以通过连接请求与外部蓝牙设备建立连接。
在本说明书另一个实施例中,广播报文中携带有明文形式的附加码;
附加码获取模块52,配置为从广播报文中获取附加码。
在本说明书另一个实施例中,附加码获取模块52,配置为利用预先设置的附加码算法周期性地生成附加码,其中,附加码算法是与蓝牙连接所连接的蓝牙设备共同约定的算法;获取在当前周期内生成的附加码。
在本说明书另一个实施例中,报文验证模块53,配置为利用第一加密算法对获取的附加码和存储的本地密钥进行加密,得到第三密文,其中,第一加密算法为单向函数,本地密钥是与蓝牙连接所连接的蓝牙设备共同约定的密钥;确定第三密文是否与广播报文中的第一密文相同;若相同,则确定广播报文有效。
在本说明书另一个实施例中,连接处理模块54,配置为利用第二加密算法对附加码、存储的固定地址和存储的本地密钥进行加密,得到随机私有地址,其中,固定地址是与蓝牙连接所连接的蓝牙设备共同约定存储的地址,本地密钥是与蓝牙连接所连接的蓝牙设备共同约定的密钥,第二加密算法是与蓝牙连接所连接的蓝牙设备共同约定的算法。
在本说明书另一个实施例中,连接处理模块54,配置为利用第三加密算法对随机私有地址和本地密钥进行加密,得到第四密文;确定第四密文是否与扫描响应中的第二密文相同;若相同,则执行根据随机私有地址向外部蓝牙设备发送连接请求,其中,本地密钥是与蓝牙连接所连接的蓝牙设备共同约定的密钥,第三加密算法与蓝牙连接所连接的蓝牙设备共同约定的算法。
可以理解的是,本说明书实施例示意的结构并不构成对蓝牙设备的具体限定。在说明书的另一些实施例中,蓝牙设备可以包括比图示更多或者更少的部件,或者组合某些部件,或者拆分某些部件,或者不同的部件布置。图示的部件可以以硬件、软件或者软件和硬件的组合来实现。
上述装置内的各单元之间的信息交互、执行过程等内容,由于与本说明书方法实施例基于同一构思,具体内容可参见本说明书方法实施例中的叙述,此处不再赘述。
本说明书还提供了一种计算机可读存储介质,其上存储有计算机程序,当该计算机程序在计算机中执行时,执行如本说明书中任一个实施例中的方法。
本说明书一个实施例还提供了一种计算设备,包括存储器和处理器,该存储器中存储有可执行代码,处理器执行可执行代码时,实现上述任一实施例中的方法。
本领域技术人员应该可以意识到,在上述一个或多个示例中,本发明所描述的功能可以用硬件、软件、挂件或它们的任意组合来实现。当使用软件实现时,可以将这些功能存储在计算机可读介质中或者作为计算机可读介质上的一个或多个指令或代码进行传输。
以上所述的具体实施方式,对本发明的目的、技术方案和有益效果进行了进一步详细说明,所应理解的是,以上所述仅为本发明的具体实施方式而已,并不用于限定本发明的保护范围,凡在本发明的技术方案的基础之上,所做的任何修改、等同替换、改进等,均应包括在本发明的保护范围之内。

Claims (22)

1.蓝牙设备连接方法,包括:
生成附加码;
当检测到蓝牙连接断开后,对所述附加码加密,生成第一密文;
根据所述第一密文生成基于蓝牙协议的广播报文,并发送所述广播报文;
接收外部蓝牙设备发来的扫描请求;
根据所述扫描请求中携带的随机私有地址,将基于蓝牙协议的扫描响应发送给所述外部蓝牙设备,其中,所述随机私有地址为所述外部蓝牙设备针对所述扫描请求生成的地址;
当接收到所述外部蓝牙设备发来的连接请求时,与所述外部蓝牙设备建立蓝牙连接;
其中,所述根据所述扫描请求中携带的随机私有地址,将基于蓝牙协议的扫描响应发送给所述外部蓝牙设备,包括:
利用第三加密算法对所述扫描请求中携带的随机私有地址和存储的本地密钥进行加密,得到第二密文,其中,所述第三加密算法为单向函数,所述本地密钥是与所述蓝牙连接所连接的蓝牙设备共同约定的密钥;
利用所述第二密文生成基于蓝牙协议的扫描响应;
将所述扫描响应通过所述随机私有地址发送给所述外部蓝牙设备。
2.根据权利要求1所述的方法,其中,所述生成附加码,包括:
生成随机数,以得到所述附加码;
所述根据所述第一密文生成基于蓝牙协议的广播报文,进一步包括:
在所述广播报文中携带明文形式的附加码。
3.根据权利要求1所述的方法,其中,所述生成附加码,包括:
利用预先设置的附加码算法周期性地生成附加码,其中,所述附加码算法是与所述蓝牙连接所连接的蓝牙设备共同约定的算法;
所述对所述附加码加密包括:对当前周期内生成的附加码加密。
4.根据权利要求1所述的方法,其中,
所述对所述附加码加密,生成第一密文,包括:
利用第一加密算法对所述附加码和存储的本地密钥进行加密,得到第一密文,其中,所述第一加密算法为单向函数,所述本地密钥是与所述蓝牙连接所连接的蓝牙设备共同约定的密钥,所述第一加密算法与所述蓝牙连接所连接的蓝牙设备共同约定的算法。
5.根据权利要求1所述的方法,其中,在所述接收外部蓝牙设备发来的扫描请求之后,在所述将基于蓝牙协议的扫描响应发送给所述外部蓝牙设备之前,进一步包括:
利用第二解密算法,根据所述附加码和存储的本地密钥对所述扫描请求中携带的随机私有地址进行解密,得到固定地址;
确定存储的固定地址与解密得到的所述固定地址是否相同,其中,所述存储的固定地址是与所述蓝牙连接所连接的蓝牙设备共同约定存储的地址,所述本地密钥是与所述蓝牙连接所连接的蓝牙设备共同约定的密钥,所述第二解密算法是与所述蓝牙连接所连接的蓝牙设备共同约定的算法;
如果相同,则执行所述将基于蓝牙协议的扫描响应发送给所述外部蓝牙设备。
6.蓝牙设备连接方法,包括:
检测到蓝牙连接断开;
当监听到广播报文时,获取附加码;
利用获取的所述附加码验证所述广播报文的有效性;
当确定所述广播报文有效时,对所述附加码进行加密,生成随机私有地址;
将所述随机私有地址携带在基于蓝牙协议的扫描请求中,发送给发来所述广播报文的外部蓝牙设备;
当接收到所述外部蓝牙设备根据所述随机私有地址发来的扫描响应时,根据所述随机私有地址向所述外部蓝牙设备发送连接请求,以通过所述连接请求与所述外部蓝牙设备建立连接;
其中,当接收到所述外部蓝牙设备根据所述随机私有地址发来的扫描响应时,在所述根据所述随机私有地址向所述外部蓝牙设备发送连接请求之前,进一步包括:
利用第三加密算法对所述随机私有地址和本地密钥进行加密,得到第四密文;
确定所述第四密文是否与所述扫描响应中的第二密文相同;
若相同,则执行所述根据所述随机私有地址向所述外部蓝牙设备发送连接请求,其中,所述本地密钥是与所述蓝牙连接所连接的蓝牙设备共同约定的密钥,所述第三加密算法与所述蓝牙连接所连接的蓝牙设备共同约定的算法。
7.根据权利要求6所述的方法,其中,所述广播报文中携带有明文形式的附加码;则所述获取附加码,包括:从所述广播报文中获取附加码。
8.根据权利要求6所述的方法,其中,所述获取附加码,包括:
利用预先设置的附加码算法周期性地生成附加码,其中,所述附加码算法是与所述蓝牙连接所连接的蓝牙设备共同约定的算法;
获取在当前周期内生成的附加码。
9.根据权利要求6所述的方法,其中,所述利用获取的所述附加码验证所述广播报文的有效性,包括:
利用第一加密算法对获取的所述附加码和存储的本地密钥进行加密,得到第三密文,其中,所述第一加密算法为单向函数,所述本地密钥是与所述蓝牙连接所连接的蓝牙设备共同约定的密钥;
确定所述第三密文是否与所述广播报文中的第一密文相同;
若相同,则确定所述广播报文有效。
10.根据权利要求6所述的方法,其中,所述对所述附加码进行加密,生成随机私有地址,包括:
利用第二加密算法对所述附加码、存储的固定地址和存储的本地密钥进行加密,得到随机私有地址,其中,所述固定地址是与所述蓝牙连接所连接的蓝牙设备共同约定存储的地址,所述本地密钥是与所述蓝牙连接所连接的蓝牙设备共同约定的密钥,所述第二加密算法是与所述蓝牙连接所连接的蓝牙设备共同约定的算法。
11.蓝牙设备,包括:
附加码生成模块,配置为生成附加码;
报文生成模块,配置为当检测到蓝牙连接断开后,对所述附加码生成模块生成的所述附加码加密,生成第一密文;根据所述第一密文生成基于蓝牙协议的广播报文,并发送所述广播报文;
请求处理模块,配置为接收外部蓝牙设备发来的扫描请求;根据所述扫描请求中携带的随机私有地址,将基于蓝牙协议的扫描响应发送给所述外部蓝牙设备,其中,所述随机私有地址为所述外部蓝牙设备针对所述扫描请求生成的地址;当接收到所述外部蓝牙设备发来的连接请求时,与所述外部蓝牙设备建立蓝牙连接;
其中,
所述请求处理模块,配置为利用第三加密算法对所述扫描请求中携带的随机私有地址和存储的本地密钥进行加密,得到第二密文,其中,所述第三加密算法为单向函数,所述本地密钥是与所述蓝牙连接所连接的蓝牙设备共同约定的密钥;利用所述第二密文生成基于蓝牙协议的扫描响应;将所述扫描响应通过所述随机私有地址发送给所述外部蓝牙设备。
12.根据权利要求11所述的设备,其中,所述附加码生成模块,配置为生成随机数,以得到所述附加码;
所述报文生成模块,进一步配置为在所述广播报文中携带明文形式的附加码。
13.根据权利要求11所述的设备,其中,所述附加码生成模块,配置为利用预先设置的附加码算法周期性地生成附加码,其中,所述附加码算法是与所述蓝牙连接所连接的蓝牙设备共同约定的算法;
所述报文生成模块,配置为对当前周期内生成的附加码加密。
14.根据权利要求11所述的设备,其中,所述报文生成模块,配置为利用第一加密算法对所述附加码和存储的本地密钥进行加密,得到第一密文,其中,所述第一加密算法为单向函数,所述本地密钥是与所述蓝牙连接所连接的蓝牙设备共同约定的密钥,所述第一加密算法与所述蓝牙连接所连接的蓝牙设备共同约定的算法。
15.根据权利要求11所述的设备,其中,所述请求处理模块,配置为利用第二解密算法,根据所述附加码和存储的本地密钥对所述扫描请求中携带的随机私有地址进行解密,得到固定地址;确定存储的固定地址与解密得到的所述固定地址是否相同,其中,所述存储的固定地址是与所述蓝牙连接所连接的蓝牙设备共同约定存储的地址,所述本地密钥是与所述蓝牙连接所连接的蓝牙设备共同约定的密钥,所述第二解密算法是与所述蓝牙连接所连接的蓝牙设备共同约定的算法;如果相同,则执行所述将基于蓝牙协议的扫描响应发送给所述外部蓝牙设备。
16.蓝牙设备,包括:
连接检测模块,配置为检测到蓝牙连接断开;
附加码获取模块,配置为当监听到广播报文时,获取附加码;
报文验证模块,配置为利用获取的所述附加码验证所述广播报文的有效性;
连接处理模块,配置为当确定所述广播报文有效时,对所述附加码进行加密,生成随机私有地址;将所述随机私有地址携带在基于蓝牙协议的扫描请求中,发送给发来所述广播报文的外部蓝牙设备;当接收到所述外部蓝牙设备根据所述随机私有地址发来的扫描响应时,根据所述随机私有地址向所述外部蓝牙设备发送连接请求,以通过所述连接请求与所述外部蓝牙设备建立连接;
所述连接处理模块,配置为利用第三加密算法对所述随机私有地址和本地密钥进行加密,得到第四密文;确定所述第四密文是否与所述扫描响应中的第二密文相同;若相同,则执行所述根据所述随机私有地址向所述外部蓝牙设备发送连接请求,其中,所述本地密钥是与所述蓝牙连接所连接的蓝牙设备共同约定的密钥,所述第三加密算法与所述蓝牙连接所连接的蓝牙设备共同约定的算法。
17.根据权利要求16所述的设备,其中,所述广播报文中携带有明文形式的附加码;
所述附加码获取模块,配置为从所述广播报文中获取附加码。
18.根据权利要求16所述的设备,其中,所述附加码获取模块,配置为利用预先设置的附加码算法周期性地生成附加码,其中,所述附加码算法是与所述蓝牙连接所连接的蓝牙设备共同约定的算法;获取在当前周期内生成的附加码。
19.根据权利要求16所述的设备,其中,所述报文验证模块包,配置为利用第一加密算法对获取的所述附加码和存储的本地密钥进行加密,得到第三密文,其中,所述第一加密算法为单向函数,所述本地密钥是与所述蓝牙连接所连接的蓝牙设备共同约定的密钥;确定所述第三密文是否与所述广播报文中的第一密文相同;若相同,则确定所述广播报文有效。
20.根据权利要求16所述的设备,其中,所述连接处理模块,配置为利用第二加密算法对所述附加码、存储的固定地址和存储的本地密钥进行加密,得到随机私有地址,其中,所述固定地址是与所述蓝牙连接所连接的蓝牙设备共同约定存储的地址,所述本地密钥是与所述蓝牙连接所连接的蓝牙设备共同约定的密钥,所述第二加密算法是与所述蓝牙连接所连接的蓝牙设备共同约定的算法。
21.一种计算机可读存储介质,其上存储有计算机程序,当所述计算机程序在计算机中执行时,令计算机执行权利要求1-10中任一项所述的方法。
22.一种计算设备,包括存储器和处理器,所述存储器中存储有可执行代码,所述处理器执行所述可执行代码时,实现权利要求1-10中任一项所述的方法。
CN202010872748.6A 2020-08-26 2020-08-26 蓝牙设备连接方法和蓝牙设备 Active CN111935693B (zh)

Priority Applications (4)

Application Number Priority Date Filing Date Title
CN202010872748.6A CN111935693B (zh) 2020-08-26 2020-08-26 蓝牙设备连接方法和蓝牙设备
TW110115339A TWI772006B (zh) 2020-08-26 2021-04-28 藍牙設備連接方法和藍牙設備
US17/356,457 US11240671B1 (en) 2020-08-26 2021-06-23 Bluetooth device connection methods and bluetooth devices
EP21181424.9A EP3972293B1 (en) 2020-08-26 2021-06-24 Bluetooth device connection methods and bluetooth devices

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202010872748.6A CN111935693B (zh) 2020-08-26 2020-08-26 蓝牙设备连接方法和蓝牙设备

Publications (2)

Publication Number Publication Date
CN111935693A CN111935693A (zh) 2020-11-13
CN111935693B true CN111935693B (zh) 2022-05-06

Family

ID=73305760

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202010872748.6A Active CN111935693B (zh) 2020-08-26 2020-08-26 蓝牙设备连接方法和蓝牙设备

Country Status (4)

Country Link
US (1) US11240671B1 (zh)
EP (1) EP3972293B1 (zh)
CN (1) CN111935693B (zh)
TW (1) TWI772006B (zh)

Families Citing this family (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN114980119B (zh) * 2020-12-02 2024-06-11 支付宝(杭州)信息技术有限公司 一种设备之间的连接方法、装置及设备
CN112636901B (zh) * 2020-12-17 2023-09-29 拉扎斯网络科技(上海)有限公司 身份识别方法、装置、存储介质和电子设备
CN113301572B (zh) * 2021-06-25 2022-09-30 展讯通信(上海)有限公司 蓝牙设备的连接方法及装置、存储介质、蓝牙设备
CN113473435B (zh) * 2021-08-19 2024-06-21 Oppo广东移动通信有限公司 基于蓝牙的设备连接方法、装置、电子设备及存储介质
CN113810892A (zh) * 2021-09-26 2021-12-17 深圳市芯中芯科技有限公司 一种基于app的蓝牙自动重连方法
CN114928816B (zh) * 2022-04-24 2023-06-23 深圳数马电子技术有限公司 设备连接方法、系统、终端设备、检测装置和存储介质
US20230362137A1 (en) * 2022-05-09 2023-11-09 Juniper Networks, Inc. Utilizing a removable quantum random number generator for a network device
CN115134764B (zh) * 2022-05-27 2024-06-04 阿里云计算有限公司 一种基于蓝牙的通信方法和装置
CN116056011B (zh) * 2023-01-10 2023-09-15 厦门中卡科技股份有限公司 一种基于蓝牙技术的车辆定位方法及系统

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP2884775A1 (en) * 2013-12-16 2015-06-17 Nokia Corporation Method, apparatus, and computer program product for service discovery in short-range communication environment
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
CN107210919A (zh) * 2015-02-09 2017-09-26 阿姆Ip有限公司 在设备与装置之间建立信任的方法
CN109417758A (zh) * 2016-06-27 2019-03-01 华为技术有限公司 一种蓝牙连接的方法及终端
CN110489958A (zh) * 2019-08-27 2019-11-22 上海银基信息安全技术股份有限公司 一种身份认证方法、定位装置及待解锁端
CN110891298A (zh) * 2019-12-18 2020-03-17 惠州拓邦电气技术有限公司 一种蓝牙连接方法、装置、蓝牙设备及系统

Family Cites Families (42)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11089441B2 (en) * 2006-05-16 2021-08-10 RedSky Technologies, Inc. Method and system for locating a network device in an emergency situation including public location information with device verification
US8341397B2 (en) * 2006-06-26 2012-12-25 Mlr, Llc Security system for handheld wireless devices using-time variable encryption keys
GB0910897D0 (en) * 2009-06-24 2009-08-05 Vierfire Software Ltd Authentication method and system
US8509449B2 (en) * 2009-07-24 2013-08-13 Microsoft Corporation Key protector for a storage volume using multiple keys
US9141823B2 (en) * 2013-03-15 2015-09-22 Veridicom, Sa De Cv Abstraction layer for default encryption with orthogonal encryption logic session object; and automated authentication, with a method for online litigation
WO2014201059A1 (en) * 2013-06-10 2014-12-18 Certimix, Llc Secure storing and offline transfering of digitally transferable assets
US9226119B2 (en) * 2013-11-20 2015-12-29 Qualcomm Incorporated Using sensor data to provide information for proximally-relevant group communications
US10212136B1 (en) 2014-07-07 2019-02-19 Microstrategy Incorporated Workstation log-in
US11257074B2 (en) * 2014-09-29 2022-02-22 Visa International Service Association Transaction risk based token
US9763063B2 (en) * 2014-10-06 2017-09-12 Derek D. Kumar Secure broadcast beacon communications
CN105704837B (zh) * 2014-11-28 2020-02-14 华为终端有限公司 一种用于建立无线连接的方法及设备
US10630647B2 (en) * 2015-02-05 2020-04-21 Apple Inc. Secure wireless communication between controllers and accessories
WO2016168409A1 (en) 2015-04-14 2016-10-20 Capital One Services, LLC. Automated bluetooth pairing
US10263779B2 (en) * 2015-09-24 2019-04-16 Jonetix Corporation Secure communications using loop-based authentication flow
KR20170052273A (ko) * 2015-11-04 2017-05-12 삼성전자주식회사 블루투스 방식을 지원하는 무선 통신 시스템에서 연결 주기 제어 장치 및 방법
EP3190747B1 (en) * 2016-01-08 2018-11-14 Apple Inc. Secure wireless communication between controllers and accessories
CN105933039B (zh) * 2016-06-24 2018-06-29 飞天诚信科技股份有限公司 一种蓝牙设备及其工作方法
CN107689944A (zh) * 2016-08-05 2018-02-13 阿里巴巴集团控股有限公司 身份认证方法、装置和系统
US10205713B2 (en) * 2017-04-05 2019-02-12 Fujitsu Limited Private and mutually authenticated key exchange
KR102269320B1 (ko) * 2017-04-28 2021-06-25 삼성전자주식회사 전자 장치 및 전자 장치의 근접 디스커버리 방법
WO2019055478A1 (en) * 2017-09-12 2019-03-21 Visa International Service Association SYSTEM AND METHOD FOR SECURE AND ACCURATE DELIVERY
US10375019B2 (en) * 2017-10-06 2019-08-06 Stealthpath, Inc. Methods for internet communication security
US10397186B2 (en) * 2017-10-06 2019-08-27 Stealthpath, Inc. Methods for internet communication security
US10630642B2 (en) * 2017-10-06 2020-04-21 Stealthpath, Inc. Methods for internet communication security
CN107872800A (zh) * 2018-01-08 2018-04-03 深圳市芯中芯科技有限公司 一种基于软件双因子认证的蓝牙设备ble接入方法
US10841086B2 (en) * 2018-02-06 2020-11-17 Wickr, Inc. Facilitating communications using hybrid cryptography
US10819510B2 (en) * 2018-02-06 2020-10-27 Wickr Inc. Facilitating communications using hybrid cryptography
EP3766222B1 (en) * 2018-03-16 2022-11-23 IOT and M2M Technologies, LLC Configuration systems and methods for secure operation of networked transducers
US20190313246A1 (en) * 2018-04-06 2019-10-10 Iot And M2M Technologies, Llc Device default wifi credentials for simplified and secure configuration of networked transducers
US10169587B1 (en) * 2018-04-27 2019-01-01 John A. Nix Hosted device provisioning protocol with servers and a networked initiator
US10958425B2 (en) * 2018-05-17 2021-03-23 lOT AND M2M TECHNOLOGIES, LLC Hosted dynamic provisioning protocol with servers and a networked responder
WO2019232420A2 (en) * 2018-06-01 2019-12-05 Culvert-Iot Corporation An intelligent tracking system and methods and systems therefor
WO2020001652A1 (en) * 2018-06-29 2020-01-02 Yunding Network Technology (Beijing) Co., Ltd. Systems and methods for informarion management
US11178148B2 (en) * 2018-08-21 2021-11-16 HYPR Corp. Out-of-band authentication to access web-service with indication of physical access to client device
US10939295B1 (en) * 2018-08-21 2021-03-02 HYPR Corp. Secure mobile initiated authentications to web-services
US10764752B1 (en) * 2018-08-21 2020-09-01 HYPR Corp. Secure mobile initiated authentication
US10601828B2 (en) * 2018-08-21 2020-03-24 HYPR Corp. Out-of-band authentication based on secure channel to trusted execution environment on client device
US11113754B2 (en) * 2018-12-07 2021-09-07 Nike, Inc. Event-based distribution of cryptographically secured digital assets
US10574466B1 (en) * 2019-07-11 2020-02-25 Clover Network, Inc. Authenticated external biometric reader and verification device
US11387978B2 (en) * 2019-09-23 2022-07-12 Live Nation Entertainment, Inc. Systems and methods for securing access rights to resources using cryptography and the blockchain
US11558423B2 (en) * 2019-09-27 2023-01-17 Stealthpath, Inc. Methods for zero trust security with high quality of service
CN111132154B (zh) * 2019-12-26 2022-10-21 飞天诚信科技股份有限公司 一种协商会话密钥的方法及系统

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP2884775A1 (en) * 2013-12-16 2015-06-17 Nokia Corporation Method, apparatus, and computer program product for service discovery in short-range communication environment
CN107210919A (zh) * 2015-02-09 2017-09-26 阿姆Ip有限公司 在设备与装置之间建立信任的方法
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
CN109417758A (zh) * 2016-06-27 2019-03-01 华为技术有限公司 一种蓝牙连接的方法及终端
CN110489958A (zh) * 2019-08-27 2019-11-22 上海银基信息安全技术股份有限公司 一种身份认证方法、定位装置及待解锁端
CN110891298A (zh) * 2019-12-18 2020-03-17 惠州拓邦电气技术有限公司 一种蓝牙连接方法、装置、蓝牙设备及系统

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
低功耗蓝牙SOC的设计与实现;刘坤;《中国优秀博硕士学位论文全文数据库(硕士)信息科技辑》;20200315;第2.5节 *

Also Published As

Publication number Publication date
EP3972293C0 (en) 2023-11-01
CN111935693A (zh) 2020-11-13
TW202209907A (zh) 2022-03-01
TWI772006B (zh) 2022-07-21
EP3972293A1 (en) 2022-03-23
EP3972293B1 (en) 2023-11-01
US11240671B1 (en) 2022-02-01

Similar Documents

Publication Publication Date Title
CN111935693B (zh) 蓝牙设备连接方法和蓝牙设备
US8639929B2 (en) Method, device and system for authenticating gateway, node and server
CN113099443B (zh) 设备认证方法、装置、设备和系统
CN110572804B (zh) 蓝牙通信认证请求、接收及通信方法、移动端、设备端
CN105828332B (zh) 一种无线局域网认证机制的改进方法
CN106788989B (zh) 一种建立安全加密信道的方法及设备
CN104135494A (zh) 一种基于可信终端的同账户非可信终端登录方法及系统
JP2007267120A (ja) 無線端末、認証装置、及び、プログラム
CN113781678B (zh) 无网环境下车辆蓝牙钥匙生成与鉴权方法及系统
KR101675332B1 (ko) 차량용 데이터 통신 방법 및 그를 이용하는 차량용 전자 제어 장치 및 시스템
CN113794734A (zh) 车载can总线加密通信方法、控制装置和可读存储介质
CN111246474B (zh) 一种基站认证方法及装置
CN107517194B (zh) 一种内容分发网络的回源认证方法和装置
CN104836784A (zh) 一种信息处理方法、客户端和服务器
CN104243452A (zh) 一种云计算访问控制方法及系统
CN113115309B (zh) 车联网的数据处理方法、装置、存储介质和电子设备
US20240106633A1 (en) Account opening methods, systems, and apparatuses
CN114928503B (zh) 一种安全通道的实现方法及数据传输方法
US20240064006A1 (en) Identity authentication method and apparatus, storage medium, program, and program product
Xie et al. Access Your Tesla without Your Awareness: Compromising Keyless Entry System of Model 3.
CN111274570A (zh) 一种加密认证方法、装置、服务器、可读存储介质及空调器
CN116055141A (zh) 数据安全传输方法、系统、装置及存储介质
CN111800791B (zh) 认证方法及核心网设备、终端
US20120106734A1 (en) Safe handover method and system
CN113727059A (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
REG Reference to a national code

Ref country code: HK

Ref legal event code: DE

Ref document number: 40041063

Country of ref document: HK

GR01 Patent grant
GR01 Patent grant