CN107465994B - 一种业务数据传输方法、装置及系统 - Google Patents

一种业务数据传输方法、装置及系统 Download PDF

Info

Publication number
CN107465994B
CN107465994B CN201710441753.XA CN201710441753A CN107465994B CN 107465994 B CN107465994 B CN 107465994B CN 201710441753 A CN201710441753 A CN 201710441753A CN 107465994 B CN107465994 B CN 107465994B
Authority
CN
China
Prior art keywords
bluetooth
pairing
key device
key
terminal
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
CN201710441753.XA
Other languages
English (en)
Other versions
CN107465994A (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.)
Tendyron Corp
Original Assignee
Tendyron Corp
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 Tendyron Corp filed Critical Tendyron Corp
Priority to CN201710441753.XA priority Critical patent/CN107465994B/zh
Publication of CN107465994A publication Critical patent/CN107465994A/zh
Application granted granted Critical
Publication of CN107465994B publication Critical patent/CN107465994B/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/04Key management, e.g. using generic bootstrapping architecture [GBA]
    • 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/0816Key establishment, i.e. cryptographic processes or cryptographic protocols whereby a shared secret becomes available to two or more parties, for subsequent use
    • H04L9/0838Key agreement, i.e. key establishment technique in which a shared key is derived by parties as a function of information contributed by, or associated with, each of these
    • 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
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W76/00Connection management
    • H04W76/10Connection setup
    • H04W76/14Direct-mode setup
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W76/00Connection management
    • H04W76/30Connection release
    • H04W76/38Connection release triggered by timers

Abstract

本发明公开了一种业务数据传输方法、装置系统。其中,该方法包括:蓝牙智能密钥设备执行系统初始化流程,将GATT服务的所有GATT特征均设置为不要求“加密、认证与授权”;蓝牙智能密钥设备发送广播消息,广播蓝牙智能密钥设备的设备信息;蓝牙终端与蓝牙智能密钥设备建立蓝牙连接;蓝牙智能密钥设备主动向蓝牙终端发送配对请求;蓝牙终端收到配对请求后,执行配对及密钥协商过程;蓝牙终端向蓝牙智能密钥设备发送轮询消息,请求获取当前链路状态;蓝牙终端接收蓝牙智能密钥设备返回的轮询响应,获取当前链路状态,在当前链路状态为密钥协商成功的情况下,开始基于协商得到的密钥与蓝牙智能密钥设备进行业务数据传输。

Description

一种业务数据传输方法、装置及系统
技术领域
本发明涉及一种电子技术领域,尤其涉及一种业务数据传输方法、装置及系统。
背景技术
为提升安全性,低功耗蓝牙智能密钥设备(KEY)在与用户终端(例如,手机)建立连接后,将执行配对过程与密钥协商过程(由于在经过密钥协商过程之后,蓝牙KEY与用户终端之间的数据传输使用协商得到的密钥进行加密,因此,蓝牙KEY与用户终端之间的链路处于加密状态,因此,密钥协商过程也称作为链路加密过程),执行配对过程和密钥协商过程的目的一是低功耗蓝牙KEY与用户终端进行认证,二是低功耗蓝牙KEY与用户终端进行密钥协商,得到传输密钥,以在后续业务传输过程中,对链路传输的数据进行加密。
目前,蓝牙KEY与用户终端之间配对过程与密钥协商过程的触发机制是:在初始化时定义一个GATT(generic Attributes,通用属性)服务,设置该GATT服务的某个自定义的GATT Characteristic(特征)的属性,将该GATT特征设置为需要加密、认证与授权。当用户终端访问该Characteristic时,蓝牙KEY将向用户终端返回一个错误码,用户终端收到该错误码后,发起配对与密钥协商过程。
由此可见,目前的配对及密钥协商过程是一种被动的触发机制,因此,该机制存在以下缺点:
1)是否开始配对依赖于用户终端的访问,若用户终端不访问该特定对象,则蓝牙KEY与用户终端之间的链路一直是非加密状态;
2)该机制依赖于用户终端的蓝牙协议栈的实现,但在具体应用中,有很多用户终端接收到错误码后不处理,即不会发起配对和密钥协商过程;
3)从蓝牙KEY与用户终端连接上到用户终端发起配对和密钥协商有一个非加密状态的空窗期,在这期间,蓝牙KEY与用户终端之间的数据传输是不安全的;
4)该机制依赖于蓝牙SMP(Security Manager Protocol,安全管理协议)与GATT两种协议,两种协议交织在一起容易引起兼容性问题,且模块之间不独立。
发明内容
本发明旨在解决上述技术问题之一。
本发明的主要目的在于提供一种业务数据传输方法。
本发明的另一目的在于提供一种蓝牙智能密钥设备。
本发明的又一目的是在于提供一种业务传输系统。
为达到上述目的,本发明的技术方案具体是这样实现的:
本发明一方面提供了一种业务数据传输方法,包括:蓝牙智能密钥设备执行系统初始化流程,在所述系统初始化流程中,所述蓝牙智能密钥设备定义一个私有的GATT服务,将所述GATT服务的所有GATT特征均设置为不要求“加密、认证与授权”;所述蓝牙智能密钥设备发送广播消息,广播所述蓝牙智能密钥设备的设备信息,其中,所述设备信息包括所述蓝牙智能密钥设备的地址信息;蓝牙终端接收所述广播消息,与所述蓝牙智能密钥设备建立蓝牙连接;所述蓝牙智能密钥设备在与所述蓝牙终端建立蓝牙连接之后,主动向所述蓝牙终端发送配对请求,其中,所述配对请求中携带有所述蓝牙智能密钥设备的配对能力信息;所述蓝牙终端收到所述配对请求后,根据所述蓝牙智能密钥设备的设备信息判断是否与所述蓝牙智能密钥设备进行过配对;在判断已与所述蓝牙智能密钥设备进行过配对的情况下,所述蓝牙终端与所述蓝牙智能密钥设备直接进行交互执行密钥协商过程;在密钥协商成功之后,所述蓝牙智能密钥设备将所述所有GATT特征中的用于记录当前链路状态的GATT特征的特征值更新为密钥协商成功;在判断未与所述蓝牙智能密钥设备进行过配对的情况下,所述蓝牙终端与所述蓝牙智能密钥设备进行交互执行配对过程;在配对成功之后,所述蓝牙智能密钥设备将所述用于记录当前链路状态的GATT特征的特征值更新为配对成功,然后与所述蓝牙终端进行交互执行密钥协商过程,并在密钥协商成功之后,将所述用于记录当前链路状态的GATT特征的特征值更新为密钥协商成功;所述蓝牙终端在与所述蓝牙智能密钥设备建立蓝牙连接之后,向所述蓝牙智能密钥设备发送轮询消息,请求获取当前链路状态;所述蓝牙终端接收所述蓝牙智能密钥设备返回的轮询响应,获取当前链路状态,在当前链路状态为密钥协商成功的情况下,开始基于协商得到的密钥与所述蓝牙智能密钥设备进行业务数据传输。
可选地,还包括:所述蓝牙智能密钥设备在向所述蓝牙终端发送配对请求之后开始计时;在所述蓝牙智能密钥设备将所述用于记录当前链路状态的GATT特征的特征值更新为密钥协商成功之前,所述方法还包括:所述蓝牙智能密钥设备确定当前计时没有超过预设值。
可选地,还包括:所述蓝牙智能密钥设备确定当前计时已超过所述预设值,且当前配对未成功,则所述蓝牙智能密钥设备将所述用于记录当前链路状态的GATT特征的特征值更新为配对超时,并向所述蓝牙终端发送断链请求,请求断开所述蓝牙智能密钥设备与所述蓝牙终端之间的蓝牙连接;或者,所述蓝牙智能密钥设备确定当前计时已超过所述预设值,且当前密钥协商未成功,则所述蓝牙智能密钥设备将所述用于记录当前链路状态的GATT特征的特征值更新为密钥协商超时,向所述蓝牙终端发送断链请求,请求断开所述蓝牙智能密钥设备与所述蓝牙终端之间的蓝牙连接;所述蓝牙终端接收到所述断链请求,与所述蓝牙智能密钥设备进行交互,执行断链流程。
可选地,还包括:在所述蓝牙智能密钥设备与所述蓝牙终端进行交互执行密钥协商过程的结果为密钥协商失败,则所述蓝牙智能密钥设备将所述用于记录当前链路状态的GATT特征的特征值更新为密钥协商失败,向所述蓝牙终端发送断链请求,请求断开所述蓝牙智能密钥设备与所述蓝牙终端之间的蓝牙连接;或者,在所述蓝牙智能密钥设备发送配对请求之后,接收到指示用户拒绝配对的指示信息,所述蓝牙智能密钥设备将所述用于记录当前链路状态的GATT特征的特征值更新为配对失败,向所述蓝牙终端发送断链请求,请求断开所述蓝牙智能密钥设备与所述蓝牙终端之间的蓝牙连接;所述蓝牙终端接收到所述断链请求,与所述蓝牙智能密钥设备进行交互,执行断链流程。
本发明另一个方面提供了一种蓝牙智能密钥设备,包括:初始化模块,用于执行系统初始化流程,在所述系统初始化流程中,定义一个私有的GATT服务,将所述GATT服务的所有GATT特征均设置为不要求“加密、认证与授权”;广播模块,用于发送广播消息,广播所述蓝牙智能密钥设备的设备信息,其中,所述设备信息包括所述蓝牙智能密钥设备的地址信息;建立模块,用于与蓝牙终端进行交互,建立蓝牙连接;配对模块,用于在与所述蓝牙终端建立蓝牙连接之后,主动向所述蓝牙终端发送配对请求,其中,所述配对请求中携带有所述蓝牙智能密钥设备的配对能力信息;执行模块,用于与所述蓝牙终端进行交互,在所述蓝牙终端与所述蓝牙智能密钥设备已进行过配对过程的情况下,在所述蓝牙终端的触发下执行密钥协商过程,并在密钥协商成功后,将所述所有GATT特征中的用于记录当前链路状态的GATT特征的特征值更新为密钥协商成功;或者,在所述蓝牙终端与所述蓝牙智能密钥设备未进行过配对过程的情况下,在所述蓝牙终端的触发下,执行配对过程;在配对成功之后,将所述用于记录当前链路状态的GATT特征的特征值更新为配对成功,然后与所述蓝牙终端进行交互执行密钥协商过程,并在密钥协商成功之后,将所述用于记录当前链路状态的GATT特征的特征值更新为密钥协商成功;响应模块,用于接收所述蓝牙终端在与所述蓝牙智能密钥设备建立蓝牙连接之后,发送的用于请求获取当前链路状态的轮询消息,向所述蓝牙终端返回的轮询响应,其中,所述轮询响应中携带有当前链路状态的指示信息;传输模块,用于在当前链路状态为密钥协商成功的情况下,开始基于协商得到的密钥与所述蓝牙终端进行业务数据传输。
可选地,还包括:计时模块,用于在所述配对模块向所述蓝牙终端发送配对请求之后开始计时;判断模块,用于在所述执行模块将所述用于记录当前链路状态的GATT特征的特征值更新为密钥协商成功之前,判断所述计时模块的当前计时是否超过预设值,如果否,则触发所述执行模块将所述用于记录当前链路状态的GATT特征的特征值更新为密钥协商成功。
可选地,所述判断模块还用于,在所述执行模块确定当前配对成功之前,判断所述计时模块的当前计时已超过所述预设值,触发所述执行模块将所述用于记录当前链路状态的GATT特征的特征值更新为配对超时,并向所述蓝牙终端发送断链请求,请求断开所述蓝牙智能密钥设备与所述蓝牙终端之间的蓝牙连接;或者,在所述执行模块确定当前密钥协商成功之前,判断所述计时模块的当前计时已超过所述预设值,触发所述执行模块将所述用于记录当前链路状态的GATT特征的特征值更新为密钥协商超时,向所述蓝牙终端发送断链请求,请求断开所述蓝牙智能密钥设备与所述蓝牙终端之间的蓝牙连接。
可选地,所述执行模块还用于,在所述蓝牙智能密钥设备与所述蓝牙终端进行交互执行密钥协商过程的结果为密钥协商失败,则将所述用于记录当前链路状态的GATT特征的特征值更新为密钥协商失败,向所述蓝牙终端发送断链请求,请求断开所述蓝牙智能密钥设备与所述蓝牙终端之间的蓝牙连接;或者,在所述配对模块发送配对请求之后,接收到指示用户拒绝配对的指示信息,将所述预用于记录当前链路状态的GATT特征的特征值更新为配对失败,向所述蓝牙终端发送断链请求,请求断开所述蓝牙智能密钥设备与所述蓝牙终端之间的蓝牙连接。
本发明又一个方面提供一种业务数据传输系统,包括:蓝牙智能密钥设备和蓝牙终端,其中,所述蓝牙智能密钥设备,用于执行系统初始化流程,在所述系统初始化流程中,所述蓝牙智能密钥设备定义一个私有的GATT服务,将所述GATT服务的所有GATT特征均设置为不要求“加密、认证与授权”;发送广播消息,广播所述蓝牙智能密钥设备的设备信息,其中,所述设备信息包括所述蓝牙智能密钥设备的地址信息;所述蓝牙终端,用于接收所述广播消息,与所述蓝牙智能密钥设备建立蓝牙连接;所述蓝牙智能密钥设备,还用于在与所述蓝牙终端建立蓝牙连接之后,主动向所述蓝牙终端发送配对请求,其中,所述配对请求中携带有所述蓝牙智能密钥设备的配对能力信息;所述蓝牙终端,还用于收到所述配对请求后,根据所述蓝牙智能密钥设备的设备信息判断是否与所述蓝牙智能密钥设备进行过配对;在判断已与所述蓝牙智能密钥设备进行过配对的情况下,与所述蓝牙智能密钥设备直接进行交互执行密钥协商过程;在判断未与所述蓝牙智能密钥设备进行过配对的情况下,与所述蓝牙智能密钥设备进行交互执行配对过程;所述蓝牙智能密钥设备,还用于在密钥协商成功之后,将所述所有GATT特征中的用于记录当前链路状态的GATT特征的特征值更新为密钥协商成功;在配对成功之后,将所述用于记录当前链路状态的GATT特征的特征值更新为配对成功,然后与所述蓝牙终端进行交互执行密钥协商过程,并在密钥协商成功之后,将所述用于记录当前链路状态的GATT特征的特征值更新为密钥协商成功;所述蓝牙终端,还用于在与所述蓝牙智能密钥设备建立蓝牙连接之后,向所述蓝牙智能密钥设备发送轮询消息,请求获取当前链路状态;接收所述蓝牙智能密钥设备返回的轮询响应,获取当前链路状态,在当前链路状态为密钥协商成功的情况下,开始基于协商得到的密钥与所述蓝牙智能密钥设备进行业务数据传输。
可选地,所述蓝牙智能密钥设备,还用于在向所述蓝牙终端发送配对请求之后开始计时;在将所述用于记录当前链路状态的GATT特征的特征值更新为密钥协商成功之前,确定当前计时没有超过预设值。
可选地,所述蓝牙智能密钥设备,还用于确定当前计时已超过所述预设值,且当前配对未成功,则将所述用于记录当前链路状态的GATT特征的特征值更新为配对超时,并向所述蓝牙终端发送断链请求,请求断开所述蓝牙智能密钥设备与所述蓝牙终端之间的蓝牙连接;或者,确定当前计时已超过所述预设值,且当前密钥协商未成功,则将所述用于记录当前链路状态的GATT特征的特征值更新为密钥协商超时,向所述蓝牙终端发送断链请求,请求断开所述蓝牙智能密钥设备与所述蓝牙终端之间的蓝牙连接;所述蓝牙终端,还用于接收到所述断链请求,与所述蓝牙智能密钥设备进行交互,执行断链流程。
可选地,所述蓝牙智能密钥设备,还用于在所述蓝牙智能密钥设备与所述蓝牙终端进行交互执行密钥协商过程的结果为密钥协商失败的情况下,将所述用于记录当前链路状态的GATT特征的特征值更新为密钥协商失败,向所述蓝牙终端发送断链请求,请求断开所述蓝牙智能密钥设备与所述蓝牙终端之间的蓝牙连接;或者,在所述蓝牙智能密钥设备发送配对请求之后,接收到指示用户拒绝配对的指示信息,将所述用于记录当前链路状态的GATT特征的特征值更新为配对失败,向所述蓝牙终端发送断链请求,请求断开所述蓝牙智能密钥设备与所述蓝牙终端之间的蓝牙连接;所述蓝牙终端,还用于接收到所述断链请求,与所述蓝牙智能密钥设备进行交互,执行断链流程。
由上述本发明提供的技术方案可以看出,在本发明提供的方案中,蓝牙KEY在初始化流程中,将GATT服务的所有GATT特征均设置不要求加密、认证与授权,蓝牙KEY初始完成之后,广播其设备信息,蓝牙终端在接收到广播消息之后,与蓝牙KEY建立蓝牙连接,蓝牙KEY在与蓝牙终端之后,主动向蓝牙终端发起配对请求,蓝牙终端收到配对请求之后,执行配对与密钥协商过程,在配对及密钥协商过程都成功之后,才开始业务数据传输。通过本发明提供的技术方案,蓝牙KEY主动发起配对与密钥协商过程,不依赖于用户终端的访问以及用户终端的蓝牙协议栈的实现,并且,采用本发明提供的技术方案,SMP协议与GATT协议分开,SMP协议不需要通过设置GATT服务的特征来触发,避免了两种协议交织在一起引起的兼容性问题。
附图说明
为了更清楚地说明本发明实施例的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域的普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他附图。
图1为本发明实施例1提供的一种业务数据传输系统的架构示意图;
图2为GATT协议的数据结构示意图;
图3为本发明实施例2提供的一种蓝牙智能密钥设备的结构示意图;
图4为本发明实施例3提供的一种业务数据传输方法的流程图;
图5为发明实施例3提供的一种业务数据传输方法的信令流程图。
具体实施方式
下面结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明的保护范围。
在本发明的描述中,需要理解的是,术语“第一”、“第二”仅用于描述目的,而不能理解为指示或暗示相对重要性或数量或位置。
下面将结合附图对本发明实施例作进一步地详细描述。
实施例1
本实施例提供了一种业务数据传输系统。
图1为本实施例提供的一种业务数据传输系统的架构示意图,如图1所示,该业务数据传输系统主要包括:蓝牙智能密钥设备10和蓝牙终端20。
蓝牙智能密钥设备10,用于执行系统初始化流程,在系统初始化流程中,蓝牙智能密钥设备10定义一个私有的GATT服务,将该GATT服务的所有GATT特征均设置为不要求“加密、认证与授权”;然后,发送广播消息,广播蓝牙智能密钥设备10的设备信息,其中,设备信息包括蓝牙智能密钥设备10的地址信息;蓝牙终端20,用于接收广播消息,与蓝牙智能密钥设备10建立蓝牙连接;蓝牙智能密钥设备10,还用于在与蓝牙终端20建立蓝牙连接之后,主动向蓝牙终端20发送配对请求,其中,该配对请求中可以携带有蓝牙智能密钥设备10的配对能力信息;蓝牙终端20,还用于收到配对请求后,根据蓝牙智能密钥设备10的设备信息判断是否与蓝牙智能密钥设备10进行过配对;在判断已与蓝牙智能密钥设备10进行过配对的情况下,与蓝牙智能密钥设备10直接进行交互执行密钥协商过程;在判断未与蓝牙智能密钥设备10进行过配对的情况下,与蓝牙智能密钥设备10进行交互执行配对过程;蓝牙智能密钥设备10,还用于在密钥协商成功之后,将GATT服务的所有GATT特征中的用于记录当前链路状态的GATT特征的特征值更新为密钥协商成功;在配对成功之后,将用于记录当前链路状态的GATT特征的特征值更新为配对成功,然后与蓝牙终端20进行交互执行密钥协商过程,并在密钥协商成功之后,将用于记录当前链路状态的GATT特征的特征值更新为密钥协商成功;蓝牙终端20,还用于在与蓝牙智能密钥设备10建立蓝牙连接之后,向蓝牙智能密钥设备10发送轮询消息,请求获取当前链路状态;接收蓝牙智能密钥设备10返回的轮询响应,获取当前链路状态,在当前链路状态为密钥协商成功的情况下,开始基于协商得到的密钥与蓝牙智能密钥设备10进行业务数据传输。
通过本实施例提供的业务数据传输系统,蓝牙智能密钥设备10在初始化流程中,将GATT服务的所有GATT特征均设置不要求加密、认证与授权,蓝牙智能密钥设备10初始完成之后,广播其设备信息,蓝牙终端20在接收到广播消息之后,与蓝牙智能密钥设备10建立蓝牙连接,蓝牙智能密钥设备10在与蓝牙终端20之后,主动向蓝牙终端20发起配对请求,蓝牙终端20收到配对请求之后,执行配对与密钥协商过程,在配对及密钥协商过程都成功之后,才开始业务数据传输。通过本发明提供的业务数据传输系统,蓝牙智能密钥设备10主动发起配对与密钥协商过程,不依赖于用户终端20的访问以及用户终端20的蓝牙协议栈的实现,并且,采用本实施例提供的技术方案中,SMP协议与GATT协议分开,SMP协议不需要通过设置GATT服务的特征来触发,避免了两种协议交织在一起引起的兼容性问题。
GATT(Generic Attributes,通用属性)协议,是低功耗蓝牙设备之间进行通信的协议。GATT协议定义了一种多层的数据结构,已连接的低功耗蓝牙设备采用这种数据结构进行通信。
图2是GATT协议定义的数据结构的示意图,如图2所示,GATT定义的多层数据结构简要概括起来就是服务(service)可以包含多个特征(characteristic),每个特征包含属性(properties)和值(value),还可以包含多个描述(descriptor)。
其中,服务,是由有关该服务的多个特质,以及该服务和其他服务的关系组成。特征,由特征的名字(实际上可以使用UUID来唯一标识每个特征的)、特征值、特征的属性(用来表明该特征可接受的操作,和用来声明与安全相关的权限)以及可选的一个或多个的描述器(与特征相关的metadata或configuration flags)组成。profile不属于实际用于通信的数据结构的组成部分,在这里它是一组服务的集合,这些服务被人为地组合起来并定义成一个特定的使用场景,用来声明一个低功耗蓝牙设备可以做的事情。两个设备要达到兼容要求两者支持同一种使用场景(profile)。
另外,GATT协议除了定义了上述的服务-特征型的数据结构,还定义了蓝牙设备使用这种数据结构进行通信的流程,包括服务流程和形式、特征的发现、特征值的读写、订阅以及特征的广播,具体可以参见GATT协议。
在本实施例中,蓝牙智能密钥设备10作为GATT服务器端首先进行初始化流程,在初始化流程中,蓝牙智能密钥设备10定义一个GATT服务,并定义该GATT服务的特征,一个GATT服务可以包含多个GATT特征,例如,在本实施例中,蓝牙智能密钥设备10可以为该GATT服务定义三个特征,其中两个特征用于传输业务数据,另一个特征用于记录链路状态。在本实施例中,为了实现GATT协议与SMP协议分开,在定义GATT服务的特征时,将其所有GATT特征均设置为不要求“加密、认证与授权”。在具体实施过程中,可以将该GATT服务的各个特征的encryption,authentication and authorization(加密、认证与授权)属性设置为为"norequired"。
在本实施例中,蓝牙智能密钥设备10在系统初始化流程结束之后,广播其设备信息,其中,广播的设备信息包括但不限于蓝牙智能密钥设备10的地址信息,除此之外,还可以包括:蓝牙智能密钥设备10的标志、设备名称、银行规定的序列号等,具体可以根据蓝牙智能密钥设备10的应用场景而定,本实施例不作具体限定。
在本实施例中,蓝牙终端20在接收到蓝牙智能密钥设备10的广播消息之后,从广播消息中获取蓝牙智能密钥设备10的设备信息,根据蓝牙智能密钥设备10的设备信息,与蓝牙智能密钥设备10建立蓝牙连接。蓝牙智能密钥设备10在确定与蓝牙终端20建立蓝牙连接之后,按照SMP协议,主动向蓝牙终端20发送配对请求,该配对请求中携带有蓝牙智能密钥设备10的配对能力信息,其中,配对能力信息用于指示蓝牙智能密钥设备10的配对功能,例如,认证(authentication)要求,IO能力(capabilities),是否支持安全连接(SecureConnection)等,以便双方后续进行相应的配对操作。蓝牙终端20在接收到蓝牙智能密钥设备10的配对请求之后,首先根据蓝牙智能密钥设备10的设备信息判断之前是否与蓝牙智能密钥设备10进行过配对,如果执行过配对,则直接执行密钥协商过程,如果没有执行过配对,则执行配对过程,在配对成功之后,执行密钥协商过程。
在本实施例中,蓝牙智能密钥设备10定义的GATT服务中的多个GATT特征中的一个为用于记录当前链路状态的GATT特征,蓝牙智能密钥设备10通过更新该GATT特征的特征值,记录当前链路状态。例如,在密钥协商成功之后,蓝牙智能密钥设备10更新该GATT特征的特征值,记录当前链路状态为密钥协商成功,配对成功之后,蓝牙智能密钥设备10更新该GATT特征的特征值,记录当前链路状态为配对成功。具体地,蓝牙智能密钥设备10可以将该GATT特征的特征值更新为密钥协商成功或配对成功。
另外,在本实施例中,蓝牙终端20在与蓝牙智能密钥设备10建立蓝牙连接之后,即开始轮询当前链路状态,蓝牙智能密钥设备10在接收到蓝牙终端20的轮询请求之后,获取用于记录当前链路状态的GATT特征的特征值,将特征值携带在轮询响应中返回给智能终端20。智能终端20从轮询响应中获取该特征值,从而得到当前链路状态,并在当前链路状态为密钥协商成功的情况下,才开始基于协商得到的密钥与蓝牙智能密钥设备10进行业务数据传输,以保证业务数据的安全。
在本发明实施例的一个可选实施方案中,蓝牙智能密钥设备10,还可以用于在向蓝牙终端20发送配对请求之后开始计时;以及在将用于记录当前链路状态的GATT特征的特征值更新为密钥协商成功之前,确定当前计时没有超过预设值。即在该可选实施方案中,蓝牙智能密钥设备10启动超时控制机制,在发送配对请求之后即开始计时,只有在预定时间内完成的配对才有效。
在上述可选实施方式中,进一步地,蓝牙智能密钥设备10,还可以用于确定当前计时已超过预设值,且当前配对未成功,则将用于记录当前链路状态的GATT特征的特征值更新为配对超时,并向蓝牙终端20发送断链请求,请求断开蓝牙智能密钥设备10与蓝牙终端20之间的蓝牙连接;或者,确定当前计时已超过预设值,且当前密钥协商未成功,则将预用于记录当前链路状态的GATT特征的特征值更新为密钥协商超时,向蓝牙终端20发送断链请求,请求断开蓝牙智能密钥设备10与蓝牙终端20之间的蓝牙连接;蓝牙终端20,还用于接收到断链请求,与蓝牙智能密钥设备10进行交互,执行断链流程。通过该可选实施方式,在配对或密钥协商超时后,蓝牙智能密钥设备10与蓝牙终端20之间执行断链流程,断掉蓝牙智能密钥设备10与蓝牙终端20之间的蓝牙连接,从而可以避免由于配对或密钥协商超时而导致蓝牙智能密钥设备10与蓝牙终端20之间的蓝牙连接不安全的问题。
在本发明实施例的一个可选实施方案中,蓝牙智能密钥设备10,还可以用于在蓝牙智能密钥设备10与蓝牙终端20进行交互执行密钥协商过程的结果为密钥协商失败,则将用于记录当前链路状态的GATT特征的特征值更新为密钥协商失败,向蓝牙终端20发送断链请求,请求断开蓝牙智能密钥设备10与蓝牙终端20之间的蓝牙连接;或者,在蓝牙智能密钥设备10发送配对请求之后,接收到指示用户拒绝配对的指示信息,将用于记录当前链路状态的GATT特征的特征值更新为配对失败,向蓝牙终端20发送断链请求,请求断开蓝牙智能密钥设备10与蓝牙终端20之间的蓝牙连接;蓝牙终端20,还用于接收到断链请求,与蓝牙智能密钥设备10进行交互,执行断链流程。通过该可选实施方式,在配对或密钥协商失败后,蓝牙智能密钥设备10与蓝牙终端20之间执行断链流程,断掉蓝牙智能密钥设备10与蓝牙终端20之间的蓝牙连接,从而可以避免由于配对或密钥协商失败而导致蓝牙智能密钥设备10与蓝牙终端20之间的蓝牙连接不安全的问题。
实施例2
本实施例提供了一种蓝牙智能密钥设备,该蓝牙智能密钥设备可以作为实施例1中所述的蓝牙智能密钥设备10应用于实施例1所述的业务数据传输系统中。
图3为本实施例提供的一种蓝牙智能密钥设备的结构示意图,如图3所示,该蓝牙智能密钥设备主要包括:初始化模块101、广播模块102、建立模块103、配对模块104、执行模块105、响应模块106和传输模块107。
下面对上述的蓝牙智能密钥设备的各个模块的功能进行说明。
初始化模块101,用于执行系统初始化流程,在系统初始化流程中,定义一个私有的GATT服务,将GATT服务的所有GATT特征均设置为不要求“加密、认证与授权”;广播模块102,用于发送广播消息,广播蓝牙智能密钥设备的设备信息,其中,设备信息包括蓝牙智能密钥设备的地址信息;建立模块103,用于与蓝牙终端进行交互,建立蓝牙连接;配对模块104,用于在与蓝牙终端建立蓝牙连接之后,主动向蓝牙终端发送配对请求,其中,配对请求中携带有蓝牙智能密钥设备的配对能力信息;执行模块105,用于与蓝牙终端进行交互,在蓝牙终端与蓝牙智能密钥设备已进行过配对过程的情况下,在蓝牙终端的触发下执行密钥协商过程,并在密钥协商成功后,将GATT服务的所有GATT特征中用于记录当前链路状态的GATT特征的特征值更新为密钥协商成功;或者,在蓝牙终端与蓝牙智能密钥设备未进行过配对过程的情况下,在蓝牙终端的触发下,执行配对过程;在配对成功之后,将用于记录当前链路状态的GATT特征的特征值更新为配对成功,然后与蓝牙终端进行交互执行密钥协商过程,并在密钥协商成功之后,将用于记录当前链路状态的GATT特征的特征值更新为密钥协商成功;响应模块106,用于接收蓝牙终端在与蓝牙智能密钥设备建立蓝牙连接之后,发送的用于请求获取当前链路状态的轮询消息,向蓝牙终端返回的轮询响应,其中,轮询响应中携带有当前链路状态的指示信息;传输模块107,用于在当前链路状态为密钥协商成功的情况下,开始基于协商得到的密钥与蓝牙终端进行业务数据传输。
通过本实施例提供的蓝牙智能密钥设备,初始化模块101在执行在初始化流程的过程中,将GATT服务的所有GATT特征均设置不要求加密、认证与授权,在初始完成之后,广播模块102广播蓝牙智能密钥设备的设备信息,建立模块103在广播模块102广播设备信息之后,与蓝牙终端进行交互,建立蓝牙连接,配对模块104在建立模块与蓝牙终端建立蓝牙连接之后,主动向蓝牙终端发起配对请求,执行模块105与蓝牙终端进行交互,执行配对与密钥协商过程,传输模块107在配对及密钥协商过程都成功之后,才开始业务数据传输。通过本实施例提供的蓝牙智能密钥设备,蓝牙智能密钥设备主动发起配对与密钥协商过程,不依赖于用户终端的访问以及用户终端的蓝牙协议栈的实现。并且,本实施例提供的蓝牙智能密钥设备将SMP协议与GATT协议分开,SMP协议不需要通过设置GATT服务的特征来触发,避免了两种协议交织在一起引起的兼容性问题。
在本发明实施例的一个可选实施方案中,如图3所示,蓝牙智能密钥设备还可以包括:计时模块108,用于在配对模块104向蓝牙终端发送配对请求之后开始计时;判断模块109,用于在执行模块105将用于记录当前链路状态的GATT特征的特征值更新为密钥协商成功之前,判断计时模块的当前计时是否超过预设值,如果否,则触发执行模块105将用于记录当前链路状态的GATT特征的特征值更新为密钥协商成功。在该可选实施方式中,计时模块108可以采用一个计时器实现,将预设值设置为计时器的计时时长,在密钥协商成功之后,如果计时器没有超时,则执行模块105将用于记录当前链路状态的GATT特征的特征值更新为密钥协商成功。
在上述可选实施方式中,可选地,判断模块109还可以用于在执行模块105确定当前配对成功之前,判断计时模块108的当前计时已超过所述预设值,触发执行模块105将用于记录当前链路状态的GATT特征的特征值更新为配对超时,并向蓝牙终端发送断链请求,请求断开蓝牙智能密钥设备与蓝牙终端之间的蓝牙连接;或者,在执行模块105确定当前密钥协商成功之前,判断计时模块108的当前计时已超过预设值,触发执行模块105将用于记录当前链路状态的GATT特征的特征值更新为密钥协商超时,向蓝牙终端发送断链请求,请求断开蓝牙智能密钥设备与蓝牙终端之间的蓝牙连接。通过该可选实施方式,蓝牙智能密钥设备可以在与蓝牙终端配对或密钥协商超时的情况下,断开蓝牙智能密钥设备与蓝牙终端之间的蓝牙连接,从而可以避免由于蓝牙智能密钥设备与蓝牙终端配对或密钥协商时间过长,导致蓝牙智能密钥设备与蓝牙终端之间的链路有一个非加密状态的空窗期,进而导致这期间的数据传输不安全的问题。
在本发明实施例的一个可选实施方案中,执行模块105还可以用于在蓝牙智能密钥设备与蓝牙终端进行交互执行密钥协商过程的结果为密钥协商失败,则将用于记录当前链路状态的GATT特征的特征值更新为密钥协商失败,向蓝牙终端发送断链请求,请求断开蓝牙智能密钥设备与蓝牙终端之间的蓝牙连接;或者,在配对模块104发送配对请求之后,接收到指示用户拒绝配对的指示信息,将用于记录当前链路状态的GATT特征的特征值更新为配对失败,向蓝牙终端发送断链请求,请求断开蓝牙智能密钥设备与蓝牙终端之间的蓝牙连接。通过该可选实施方式,只有在配对和密钥协商都成功的情况下,才保持蓝牙智能密钥设备与蓝牙终端之间的蓝牙连接,从而可以进一步保证蓝牙智能密钥设备与蓝牙终端之间的数据传输安全。
实施例3
本实施例提供了一种业务数据传输方法,该方法可以通过实施例1中所述的业务数据传输系统和/或实施例2中所述的蓝牙智能密钥设备实现。
图4是本实施例提供的一种业务数据传输方法的流程图,如图4所示,该方法主要包括以下步骤S401-S409。
步骤S401,蓝牙智能密钥设备执行系统初始化流程,在系统初始化流程中,蓝牙智能密钥设备定义一个私有的GATT服务,将GATT服务的所有GATT特征均设置为不要求“加密、认证与授权”。
在具体应用中,在步骤S401中,蓝牙智能密钥设备作为GATT服务器端首先进行初始化流程,在初始化流程中,蓝牙智能密钥设备定义一个GATT服务,并定义该GATT服务的特征,一个GATT服务可以包含多个GATT特征,例如,在本实施例中,蓝牙智能密钥设备可以为该GATT服务定义三个特征,其中两个特征用于传输业务数据,另一个特征用于记录链路状态。在本实施例中,为了实现GATT协议与SMP协议分开,在定义GATT服务的特征时,将其所有GATT特征均设置为不要求“加密、认证与授权”。在具体实施过程中,可以将该GATT服务的各个特征的encryption,authentication and authorization(加密、认证与授权)属性设置为为"no required"。
步骤S402,蓝牙智能密钥设备发送广播消息,广播蓝牙智能密钥设备的设备信息,其中,设备信息包括蓝牙智能密钥设备的地址信息。
可选地,广播的设备信息包括但不限于蓝牙智能密钥设备的地址信息,除此之外,还可以包括:蓝牙智能密钥设备的标志、设备名称、银行规定的序列号等,具体可以根据蓝牙智能密钥设备的应用场景而定,本实施例不作具体限定。
步骤S403,蓝牙终端接收广播消息,与蓝牙智能密钥设备建立蓝牙连接。
蓝牙终端在接收到蓝牙智能密钥设备发送的广播消息之后,根据广播消息中携带的蓝牙智能密钥设备的设备信息,与蓝牙智能密钥设备建立蓝牙连接。
步骤S404,蓝牙智能密钥设备在与蓝牙终端建立蓝牙连接之后,主动向蓝牙终端发送配对请求,其中,该配对请求中携带有蓝牙智能密钥设备的配对能力信息。
在本实施例中,配对能力信息用于指示蓝牙智能密钥设备10的配对功能,例如,认证(authentication)要求,IO能力(capabilities),是否支持安全连接(SecureConnection)等,以便双方后续进行相应的配对操作。
在本实施例中,由蓝牙智能密钥设备而不是蓝牙终端主动发起配对请求,因此,配对与密钥协商的触发不依赖于蓝牙终端。
步骤S405,蓝牙终端收到配对请求后,根据蓝牙智能密钥设备的设备信息判断是否与蓝牙智能密钥设备进行过配对,如果是,则执行步骤S407,否则,执行步骤S406。
在本实施例中,蓝牙终端在接收到配对请求后,先判断之间是否与该蓝牙智能密钥设备进行过配对,如果进行过配对,则蓝牙终端本地保存有与该蓝牙智能密钥设备进行配对的配对信息,无需再次执行配对,直接进行密钥协商,如果没有进行过配对,则蓝牙终端才与蓝牙智能密钥设备进行交互,执行配对过程,这样可以节约流程,加快配对与密钥协商的过程。
步骤S406,蓝牙终端与蓝牙智能密钥设备进行交互执行配对过程;在配对成功之后,蓝牙智能密钥设备将GATT服务的所有GATT特征中的用于记录当前链路状态的GATT特征的特征值更新为配对成功。
在本实施例中,蓝牙智能密钥设备10定义的GATT服务中的多个GATT特征中包含一个用于记录当前链路状态的GATT特征,蓝牙智能密钥设备10通过更新该GATT特征的特征值,记录当前链路状态。
在本发明实施例的一个可选实施方案中,在步骤S404中,当蓝牙智能密钥设备向蓝牙终端发送配对请求之后,蓝牙智能密钥设备可以开始计时,如果蓝牙终端与蓝牙智能密钥设备在预定时间内配对成功,则蓝牙智能密钥设备将用于记录当前链路状态的GATT特征的特征值更新为配对成功。如果蓝牙终端与蓝牙智能密钥设备在预定时间内没有配对成功,可选地,蓝牙智能密钥设备可以在计时达到预设值时,将用于记录当前链路状态的GATT特征的特征值更新为配对超时,向蓝牙终端发送断链请求,请求断开蓝牙智能密钥设备与蓝牙终端之间的蓝牙连接,蓝牙终端在接收到断链请求之后,发起断链流程,断开蓝牙终端与蓝牙智能密钥设备之间的蓝牙连接,以避免蓝牙终端与蓝牙智能密钥设备在链路没有加密的情况下传输业务数据,导致业务数据的不安全。
步骤S407,蓝牙终端与蓝牙智能密钥设备直接进行交互执行密钥协商过程;在密钥协商成功之后,蓝牙智能密钥设备将用于记录当前链路状态的GATT特征的特征值更新为密钥协商成功。
在本发明实施例的一个可选实施方案中,在步骤S404中,当蓝牙智能密钥设备向蓝牙终端发送配对请求之后,蓝牙智能密钥设备可以开始计时,如果蓝牙终端在执行步骤S405之后直接跳转到步骤S407,则如果蓝牙终端与蓝牙智能密钥设备在预定时间内密钥协商成功,则蓝牙智能密钥设备将用于记录当前链路状态的GATT特征的特征值更新为配对成功。如果蓝牙终端与蓝牙智能密钥设备在预定时间内密钥协商未成功,可选地,蓝牙智能密钥设备可以在计时达到预设值时,向蓝牙终端发送断链请求,请求断开蓝牙智能密钥设备与蓝牙终端之间的蓝牙连接,蓝牙终端在接收到断链请求之后,发起断链流程,断开蓝牙终端与蓝牙智能密钥设备之间的蓝牙连接,以避免蓝牙终端与蓝牙智能密钥设备在链路没有加密的情况下传输业务数据,导致业务数据的不安全。
另外,在本实施例的一个可选实施方式中,在蓝牙智能密钥设备与蓝牙终端进行交互执行密钥协商过程的结果为密钥协商失败的情况下,蓝牙智能密钥设备将用于记录当前链路状态的GATT特征的特征值更新为密钥协商失败,向蓝牙终端发送断链请求,请求断开蓝牙智能密钥设备与蓝牙终端之间的蓝牙连接;或者,在蓝牙智能密钥设备发送配对请求之后,接收到指示用户拒绝配对的指示信息,蓝牙智能密钥设备将用于记录当前链路状态的GATT特征的特征值更新为配对失败,向蓝牙终端发送断链请求,请求断开蓝牙智能密钥设备与蓝牙终端之间的蓝牙连接;蓝牙终端接收到断链请求,与蓝牙智能密钥设备进行交互,执行断链流程。通过该可选实施方式,在配对或密钥协商失败后,蓝牙智能密钥设备与蓝牙终端之间执行断链流程,断掉蓝牙智能密钥设备与蓝牙终端之间的蓝牙连接,从而可以避免由于配对或密钥协商失败而导致蓝牙智能密钥设备与蓝牙终端之间的蓝牙连接不安全的问题。
步骤S408,蓝牙终端在与蓝牙智能密钥设备建立蓝牙连接之后,向蓝牙智能密钥设备发送轮询消息,请求获取当前链路状态。
步骤S409,蓝牙终端接收蓝牙智能密钥设备返回的轮询响应,获取当前链路状态,在当前链路状态为密钥协商成功的情况下,开始基于协商得到的密钥与蓝牙智能密钥设备进行业务数据传输。
需要说明的是,在本实施例中,蓝牙终端在与蓝牙智能密钥设备建立蓝牙连接之后就开始向蓝牙智能密钥设备发送轮询消息,请求获取当前链路状态,即在步骤S403之后,蓝牙终端每隔预定时间间隔向蓝牙智能密钥设备发送一次请求获取链路状态的轮询消息,蓝牙智能密钥设备每次接收到该轮询消息之后,便进行响应,获取用于记录当前链路状态的GATT特征的特征值,将该描述值返回给蓝牙终端,而蓝牙终端只有在获取到指示密钥协商成功的链路状态的情况下,才开始与蓝牙智能密钥设备进行业务数据传输。
在本实施例中,蓝牙终端与蓝牙智能密钥设备之间基于协商得到的密钥与蓝牙智能密钥设备进行业务数据传输是指蓝牙终端与蓝牙智能密钥设备之间使用协商得到的密钥,对蓝牙终端与蓝牙智能密钥设备之间传输的业务数据进行加密。
图5为本实施例提供的另一种业务数据传输方法的信令流程图,该信令流程图示出了蓝牙KEY与手机之间的配对或密钥协商出现异常的处理流程。如图5所示,该处理流程主要包括以下步骤:
步骤S501,蓝牙KEY进行系统初始化,在系统初始化过程中,自定义GATT服务,将GATT服务的三个GATT特征的encryption,authentication and authorization(加密、认证与授权)属性设置为为"no required"。
步骤S502,蓝牙KEY广播其设备信息。
步骤S503,手机接收到蓝牙KEY的设备信息,与蓝牙KEY建立蓝牙连接。
步骤S504,蓝牙KEY发起配对请求并开启配对计时器。
步骤S505,配对或密钥协商过程发生异常。
在该步骤中,配对或密钥协商过程发生异常的情况包括以下4种情况:
情况1:用户拒绝配对;
情况2:配对过程超过30秒(30秒为配对计时器的预设时长);
情况3:密钥协商过程失败,可能是由于蓝牙KEY与手机之间的认证不通过,也可能是因为蓝牙KEY与手机之间的能力不匹配,具体本实施例不作限定;
情况4:其他失败情况。
步骤S506,蓝牙KEY更新GATT服务中用于记录链路状态的特征,将该特征的特征值更新为配对失败或密钥协商失败;
步骤S507,手机轮询GATT服务方(即蓝牙KEY),以获取当前链路状态。
需要说明的是,在本实施例中,手机在与蓝牙KEY建立蓝牙连接之后就开始向蓝牙KEY请求获取当前链路状态,即在步骤S503之后,手机每隔预定时间间隔向蓝牙KEY发送一次请求获取链路状态的请求,蓝牙KEY每次接收到该请求之后,便进行响应,获取预用于记录当前链路状态的GATT特征的特征值,将该描述值返回给手机。因此,步骤S507包括多次手机与蓝牙KEY的交互。并且,步骤S507与步骤S506及步骤S508的执行顺序无关,而是在步骤S503之后即开始执行。
步骤S508,蓝牙KEY向手机发送断链请求。
步骤S509,手机接收到断链请求,与蓝牙KEY进行交互,执行断链流程,断掉手机与蓝牙KEY之间的蓝牙连接。
在本发明实施例提供的方案中,蓝牙KEY在初始化流程中,将GATT服务的所有GATT特征均设置不要求加密、认证与授权,蓝牙KEY初始完成之后,广播其设备信息,蓝牙终端在接收到广播消息之后,与蓝牙KEY建立蓝牙连接,蓝牙KEY在与蓝牙终端之后,主动向蓝牙终端发起配对请求,蓝牙终端收到配对请求之后,执行配对与密钥协商过程,在配对及密钥协商过程都成功之后,才开始业务数据传输。通过本发明提供的技术方案,蓝牙KEY主动发起配对与密钥协商过程,不依赖于用户终端的访问以及用户终端的蓝牙协议栈的实现,并且,采用本发明提供的技术方案,SMP协议与GATT协议分开,SMP协议不需要通过设置GATT服务的特征来触发,避免了两种协议交织在一起引起的兼容性问题。
流程图中或在此以其他方式描述的任何过程或方法描述可以被理解为,表示包括一个或更多个用于实现特定逻辑功能或过程的步骤的可执行指令的代码的模块、片段或部分,并且本发明的优选实施方式的范围包括另外的实现,其中可以不按所示出或讨论的顺序,包括根据所涉及的功能按基本同时的方式或按相反的顺序,来执行功能,这应被本发明的实施例所属技术领域的技术人员所理解。
应当理解,本发明的各部分可以用硬件、软件、固件或它们的组合来实现。在上述实施方式中,多个步骤或方法可以用存储在存储器中且由合适的指令执行系统执行的软件或固件来实现。例如,如果用硬件来实现,和在另一实施方式中一样,可用本领域公知的下列技术中的任一项或他们的组合来实现:具有用于对数据信号实现逻辑功能的逻辑门电路的离散逻辑电路,具有合适的组合逻辑门电路的专用集成电路,可编程门阵列(PGA),现场可编程门阵列(FPGA)等。
本技术领域的普通技术人员可以理解实现上述实施例方法携带的全部或部分步骤是可以通过程序来指令相关的硬件完成,所述的程序可以存储于一种计算机可读存储介质中,该程序在执行时,包括方法实施例的步骤之一或其组合。
此外,在本发明各个实施例中的各功能单元可以集成在一个处理模块中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个模块中。上述集成的模块既可以采用硬件的形式实现,也可以采用软件功能模块的形式实现。所述集成的模块如果以软件功能模块的形式实现并作为独立的产品销售或使用时,也可以存储在一个计算机可读取存储介质中。
上述提到的存储介质可以是只读存储器,磁盘或光盘等。
在本说明书的描述中,参考术语“一个实施例”、“一些实施例”、“示例”、“具体示例”、或“一些示例”等的描述意指结合该实施例或示例描述的具体特征、结构、材料或者特点包含于本发明的至少一个实施例或示例中。在本说明书中,对上述术语的示意性表述不一定指的是相同的实施例或示例。而且,描述的具体特征、结构、材料或者特点可以在任何的一个或多个实施例或示例中以合适的方式结合。
尽管上面已经示出和描述了本发明的实施例,可以理解的是,上述实施例是示例性的,不能理解为对本发明的限制,本领域的普通技术人员在不脱离本发明的原理和宗旨的情况下在本发明的范围内可以对上述实施例进行变化、修改、替换和变型。本发明的范围由所附权利要求及其等同限定。

Claims (12)

1.一种业务数据传输方法,其特征在于,包括:
蓝牙智能密钥设备执行系统初始化流程,在所述系统初始化流程中,所述蓝牙智能密钥设备定义一个私有的GATT服务,将所述GATT服务的所有GATT特征均设置为不要求“加密、认证与授权”;
所述蓝牙智能密钥设备发送广播消息,广播所述蓝牙智能密钥设备的设备信息,其中,所述设备信息包括所述蓝牙智能密钥设备的地址信息;
蓝牙终端接收所述广播消息,与所述蓝牙智能密钥设备建立蓝牙连接;
所述蓝牙智能密钥设备在与所述蓝牙终端建立蓝牙连接之后,主动向所述蓝牙终端发送配对请求,其中,所述配对请求中携带有所述蓝牙智能密钥设备的配对能力信息;
所述蓝牙终端收到所述配对请求后,根据所述蓝牙智能密钥设备的设备信息判断是否与所述蓝牙智能密钥设备进行过配对;
在判断已与所述蓝牙智能密钥设备进行过配对的情况下,所述蓝牙终端与所述蓝牙智能密钥设备直接进行交互执行密钥协商过程;在密钥协商成功之后,所述蓝牙智能密钥设备将所述所有GATT特征中的用于记录当前链路状态的GATT特征的特征值更新为密钥协商成功;
在判断未与所述蓝牙智能密钥设备进行过配对的情况下,所述蓝牙终端与所述蓝牙智能密钥设备进行交互执行配对过程;在配对成功之后,所述蓝牙智能密钥设备将所述用于记录当前链路状态的GATT特征的特征值更新为配对成功,然后与所述蓝牙终端进行交互执行密钥协商过程,并在密钥协商成功之后,将所述用于记录当前链路状态的GATT特征的特征值更新为密钥协商成功;
所述蓝牙终端在与所述蓝牙智能密钥设备建立蓝牙连接之后,向所述蓝牙智能密钥设备发送轮询消息,请求获取当前链路状态;
所述蓝牙终端接收所述蓝牙智能密钥设备返回的轮询响应,获取当前链路状态,在当前链路状态为密钥协商成功的情况下,开始基于协商得到的密钥与所述蓝牙智能密钥设备进行业务数据传输,其中,所述轮询响应中携带有所述用于记录当前链路状态的GATT特征的特征值。
2.根据权利要求1所述的方法,其特征在于,
所述方法还包括:所述蓝牙智能密钥设备在向所述蓝牙终端发送配对请求之后开始计时;
在所述蓝牙智能密钥设备将所述用于记录当前链路状态的GATT特征的特征值更新为密钥协商成功之前,所述方法还包括:所述蓝牙智能密钥设备确定当前计时没有超过预设值。
3.根据权利要求2所述的方法,其特征在于,所述方法还包括:
所述蓝牙智能密钥设备确定当前计时已超过所述预设值,且当前配对未成功,则所述蓝牙智能密钥设备将所述用于记录当前链路状态的GATT特征的特征值更新为配对超时,并向所述蓝牙终端发送断链请求,请求断开所述蓝牙智能密钥设备与所述蓝牙终端之间的蓝牙连接;或者,所述蓝牙智能密钥设备确定当前计时已超过所述预设值,且当前密钥协商未成功,则所述蓝牙智能密钥设备将所述用于记录当前链路状态的GATT特征的特征值更新为密钥协商超时,向所述蓝牙终端发送断链请求,请求断开所述蓝牙智能密钥设备与所述蓝牙终端之间的蓝牙连接;
所述蓝牙终端接收到所述断链请求,与所述蓝牙智能密钥设备进行交互,执行断链流程。
4.根据权利要求1至3任一项所述的方法,其特征在于,所述方法还包括:
在所述蓝牙智能密钥设备与所述蓝牙终端进行交互执行密钥协商过程的结果为密钥协商失败,则所述蓝牙智能密钥设备将所述用于记录当前链路状态的GATT特征的特征值更新为密钥协商失败,向所述蓝牙终端发送断链请求,请求断开所述蓝牙智能密钥设备与所述蓝牙终端之间的蓝牙连接;或者,在所述蓝牙智能密钥设备发送配对请求之后,接收到指示用户拒绝配对的指示信息,所述蓝牙智能密钥设备将所述用于记录当前链路状态的GATT特征的特征值更新为配对失败,向所述蓝牙终端发送断链请求,请求断开所述蓝牙智能密钥设备与所述蓝牙终端之间的蓝牙连接;
所述蓝牙终端接收到所述断链请求,与所述蓝牙智能密钥设备进行交互,执行断链流程。
5.一种蓝牙智能密钥设备,其特征在于,包括:
初始化模块,用于执行系统初始化流程,在所述系统初始化流程中,定义一个私有的GATT服务,将所述GATT服务的所有GATT特征均设置为不要求“加密、认证与授权”;
广播模块,用于发送广播消息,广播所述蓝牙智能密钥设备的设备信息,其中,所述设备信息包括所述蓝牙智能密钥设备的地址信息;
建立模块,用于与蓝牙终端进行交互,建立蓝牙连接;
配对模块,用于在与所述蓝牙终端建立蓝牙连接之后,主动向所述蓝牙终端发送配对请求,其中,所述配对请求中携带有所述蓝牙智能密钥设备的配对能力信息;
执行模块,用于与所述蓝牙终端进行交互,在所述蓝牙终端与所述蓝牙智能密钥设备已进行过配对过程的情况下,在所述蓝牙终端的触发下执行密钥协商过程,并在密钥协商成功后,将所述所有GATT特征中的用于记录当前链路状态的GATT特征的特征值更新为密钥协商成功;或者,在所述蓝牙终端与所述蓝牙智能密钥设备未进行过配对过程的情况下,在所述蓝牙终端的触发下,执行配对过程;在配对成功之后,将所述用于记录当前链路状态的GATT特征的特征值更新为配对成功,然后与所述蓝牙终端进行交互执行密钥协商过程,并在密钥协商成功之后,将所述用于记录当前链路状态的GATT特征的特征值更新为密钥协商成功;
响应模块,用于接收所述蓝牙终端在与所述蓝牙智能密钥设备建立蓝牙连接之后,发送的用于请求获取当前链路状态的轮询消息,向所述蓝牙终端返回的轮询响应,其中,所述轮询响应中携带有所述用于记录当前链路状态的GATT特征的特征值;
传输模块,用于在当前链路状态为密钥协商成功的情况下,开始基于协商得到的密钥与所述蓝牙终端进行业务数据传输。
6.根据权利要求5所述的蓝牙智能密钥设备,其特征在于,还包括:
计时模块,用于在所述配对模块向所述蓝牙终端发送配对请求之后开始计时;
判断模块,用于在所述执行模块将所述用于记录当前链路状态的GATT特征的特征值更新为密钥协商成功之前,判断所述计时模块的当前计时是否超过预设值,如果否,则触发所述执行模块将所述用于记录当前链路状态的GATT特征的特征值更新为密钥协商成功。
7.根据权利要求6所述的蓝牙智能密钥设备,其特征在于,
所述判断模块还用于,在所述执行模块确定当前配对成功之前,判断所述计时模块的当前计时已超过所述预设值,触发所述执行模块将所述用于记录当前链路状态的GATT特征的特征值更新为配对超时,并向所述蓝牙终端发送断链请求,请求断开所述蓝牙智能密钥设备与所述蓝牙终端之间的蓝牙连接;或者,在所述执行模块确定当前密钥协商成功之前,判断所述计时模块的当前计时已超过所述预设值,触发所述执行模块将所述用于记录当前链路状态的GATT特征的特征值更新为密钥协商超时,向所述蓝牙终端发送断链请求,请求断开所述蓝牙智能密钥设备与所述蓝牙终端之间的蓝牙连接。
8.根据权利要求5至7任一项所述的蓝牙智能密钥设备,其特征在于,
所述执行模块还用于,在所述蓝牙智能密钥设备与所述蓝牙终端进行交互执行密钥协商过程的结果为密钥协商失败,则将所述用于记录当前链路状态的GATT特征的特征值更新为密钥协商失败,向所述蓝牙终端发送断链请求,请求断开所述蓝牙智能密钥设备与所述蓝牙终端之间的蓝牙连接;或者,在所述配对模块发送配对请求之后,接收到指示用户拒绝配对的指示信息,将所述用于记录当前链路状态的GATT特征的特征值更新为配对失败,向所述蓝牙终端发送断链请求,请求断开所述蓝牙智能密钥设备与所述蓝牙终端之间的蓝牙连接。
9.一种业务数据传输系统,其特征在于,包括:蓝牙智能密钥设备和蓝牙终端,其中,
所述蓝牙智能密钥设备,用于执行系统初始化流程,在所述系统初始化流程中,所述蓝牙智能密钥设备定义一个私有的GATT服务,将所述GATT服务的所有GATT特征均设置为不要求“加密、认证与授权”;发送广播消息,广播所述蓝牙智能密钥设备的设备信息,其中,所述设备信息包括所述蓝牙智能密钥设备的地址信息;
所述蓝牙终端,用于接收所述广播消息,与所述蓝牙智能密钥设备建立蓝牙连接;
所述蓝牙智能密钥设备,还用于在与所述蓝牙终端建立蓝牙连接之后,主动向所述蓝牙终端发送配对请求,其中,所述配对请求中携带有所述蓝牙智能密钥设备的配对能力信息;
所述蓝牙终端,还用于收到所述配对请求后,根据所述蓝牙智能密钥设备的设备信息判断是否与所述蓝牙智能密钥设备进行过配对;在判断已与所述蓝牙智能密钥设备进行过配对的情况下,与所述蓝牙智能密钥设备直接进行交互执行密钥协商过程;在判断未与所述蓝牙智能密钥设备进行过配对的情况下,与所述蓝牙智能密钥设备进行交互执行配对过程;
所述蓝牙智能密钥设备,还用于在密钥协商成功之后,将所述所有GATT特征中的用于记录当前链路状态的GATT特征的特征值更新为密钥协商成功;在配对成功之后,将所述用于记录当前链路状态的GATT特征的特征值更新为配对成功,然后与所述蓝牙终端进行交互执行密钥协商过程,并在密钥协商成功之后,将所述用于记录当前链路状态的GATT特征的特征值更新为密钥协商成功;
所述蓝牙终端,还用于在与所述蓝牙智能密钥设备建立蓝牙连接之后,向所述蓝牙智能密钥设备发送轮询消息,请求获取当前链路状态;接收所述蓝牙智能密钥设备返回的轮询响应,获取当前链路状态,在当前链路状态为密钥协商成功的情况下,开始基于协商得到的密钥与所述蓝牙智能密钥设备进行业务数据传输,其中,所述轮询响应中携带有所述用于记录当前链路状态的GATT特征的特征值。
10.根据权利要求9所述的系统,其特征在于,
所述蓝牙智能密钥设备,还用于在向所述蓝牙终端发送配对请求之后开始计时;在将所述用于记录当前链路状态的GATT特征的特征值更新为密钥协商成功之前,确定当前计时没有超过预设值。
11.根据权利要求10所述的系统,其特征在于,
所述蓝牙智能密钥设备,还用于确定当前计时已超过所述预设值,且当前配对未成功,则将所述用于记录当前链路状态的GATT特征的特征值更新为配对超时,并向所述蓝牙终端发送断链请求,请求断开所述蓝牙智能密钥设备与所述蓝牙终端之间的蓝牙连接;或者,确定当前计时已超过所述预设值,且当前密钥协商未成功,则将所述用于记录当前链路状态的GATT特征的特征值更新为密钥协商超时,向所述蓝牙终端发送断链请求,请求断开所述蓝牙智能密钥设备与所述蓝牙终端之间的蓝牙连接;
所述蓝牙终端,还用于接收到所述断链请求,与所述蓝牙智能密钥设备进行交互,执行断链流程。
12.根据权利要求9至11任一项所述的系统,其特征在于,
所述蓝牙智能密钥设备,还用于在所述蓝牙智能密钥设备与所述蓝牙终端进行交互执行密钥协商过程的结果为密钥协商失败的情况下,将所述用于记录当前链路状态的GATT特征的特征值更新为密钥协商失败,向所述蓝牙终端发送断链请求,请求断开所述蓝牙智能密钥设备与所述蓝牙终端之间的蓝牙连接;或者,在所述蓝牙智能密钥设备发送配对请求之后,接收到指示用户拒绝配对的指示信息,将所述用于记录当前链路状态的GATT特征的特征值更新为配对失败,向所述蓝牙终端发送断链请求,请求断开所述蓝牙智能密钥设备与所述蓝牙终端之间的蓝牙连接;
所述蓝牙终端,还用于接收到所述断链请求,与所述蓝牙智能密钥设备进行交互,执行断链流程。
CN201710441753.XA 2017-06-13 2017-06-13 一种业务数据传输方法、装置及系统 Active CN107465994B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201710441753.XA CN107465994B (zh) 2017-06-13 2017-06-13 一种业务数据传输方法、装置及系统

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201710441753.XA CN107465994B (zh) 2017-06-13 2017-06-13 一种业务数据传输方法、装置及系统

Publications (2)

Publication Number Publication Date
CN107465994A CN107465994A (zh) 2017-12-12
CN107465994B true CN107465994B (zh) 2020-06-30

Family

ID=60546038

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201710441753.XA Active CN107465994B (zh) 2017-06-13 2017-06-13 一种业务数据传输方法、装置及系统

Country Status (1)

Country Link
CN (1) CN107465994B (zh)

Families Citing this family (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110300393B (zh) * 2018-03-23 2022-08-16 阿尔卑斯通信器件技术(上海)有限公司 蓝牙通信装置、蓝牙通信系统以及蓝牙通信方法
CN111132154B (zh) * 2019-12-26 2022-10-21 飞天诚信科技股份有限公司 一种协商会话密钥的方法及系统
CN111580994B (zh) * 2020-05-11 2023-09-15 南京英锐创电子科技有限公司 蓝牙模块、蓝牙模块的事件控制方法及电子设备
JP2023535613A (ja) * 2020-07-28 2023-08-18 華為技術有限公司 Bluetoothノードペアリング方法及び関連する装置
CN115550919A (zh) * 2021-06-29 2022-12-30 花瓣云科技有限公司 设备配对认证方法、装置、发送方设备及接收方设备
CN115767486A (zh) * 2021-09-03 2023-03-07 成都极米科技股份有限公司 一种蓝牙通信方法、第一设备、第二设备和存储介质

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104022805A (zh) * 2014-06-06 2014-09-03 深圳市爱美家电子科技有限公司 一种主从端蓝牙设备连接方法及装置
CN104902476A (zh) * 2015-05-28 2015-09-09 神州融安科技(北京)有限公司 一种蓝牙安全管理的控制方法
CN105956852A (zh) * 2016-06-21 2016-09-21 飞天诚信科技股份有限公司 一种蓝牙智能密钥设备及其工作方法

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2015088377A1 (en) * 2013-12-13 2015-06-18 Symbol Technologies, Llc Method of and system for pairing a bluetooth master device with a bluetooth slave device that is selected from a group of bluetooth slave devices that are in bluetooth-discoverable range with the bluetooth master device
US9462469B2 (en) * 2014-04-21 2016-10-04 Arm Limited Systems and methods for short range wireless data transfer
CN105472776B (zh) * 2015-11-17 2018-08-28 飞天诚信科技股份有限公司 一种建立蓝牙连接的方法及蓝牙智能密钥设备
CN105430603A (zh) * 2015-12-03 2016-03-23 北京握奇智能科技有限公司 一种蓝牙设备的安全连接方法及系统

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104022805A (zh) * 2014-06-06 2014-09-03 深圳市爱美家电子科技有限公司 一种主从端蓝牙设备连接方法及装置
CN104902476A (zh) * 2015-05-28 2015-09-09 神州融安科技(北京)有限公司 一种蓝牙安全管理的控制方法
CN105956852A (zh) * 2016-06-21 2016-09-21 飞天诚信科技股份有限公司 一种蓝牙智能密钥设备及其工作方法

Also Published As

Publication number Publication date
CN107465994A (zh) 2017-12-12

Similar Documents

Publication Publication Date Title
CN107465994B (zh) 一种业务数据传输方法、装置及系统
RU2726279C1 (ru) Защищенный способ запуска устройства связи машинного типа
CN107231627B (zh) 一种蓝牙网络及配网方法
KR102406757B1 (ko) 보안 모듈의 가입자 프로파일 프로비저닝 방법
US10691788B2 (en) Systems and methods for provisioning a camera with a dynamic QR code and a BLE connection
EP2326047B1 (en) Method and system for terminal configuration and management
CN109905312B (zh) 消息推送方法、装置及系统
CN103460674A (zh) 用于供应推送通知会话的方法、装置与系统
CN112203271B (zh) 一种通信连接方法、装置及系统
US20170208428A1 (en) Method and apparatus for controlling a device using bluetooth technology
CN109729000B (zh) 一种即时通信方法及装置
US9749856B2 (en) Device to machine communications
CN111416718A (zh) 通讯密钥的接收方法及装置、发送方法及装置
CN114189863B (zh) 智能门锁的绑定方法和装置、存储介质及电子装置
CN107750470B (zh) 替换用于认证安全元件的至少一个认证参数的方法和相应的安全元件
WO2017219587A1 (zh) 主从设备切换方法、从设备、管理服务器及存储介质
CN106912049B (zh) 改善用户认证体验的方法
CN110545253B (zh) 一种信息处理方法、装置、设备及计算机可读存储介质
CN113038464B (zh) 一种信息传输方法及设备
CN107070917B (zh) 一种网络应用登陆方法和系统
CN103763144A (zh) 一种用户续费上线的方法和设备
US20220191954A1 (en) Multiple pairing
KR102055698B1 (ko) 네트워크장치 및 단말장치와, 그 장치들의 동작 방법
CN106888451A (zh) 可信执行环境tee初始化方法及设备
WO2017028807A1 (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