CN112640506B - 一种蓝牙节点配对方法及相关装置 - Google Patents
一种蓝牙节点配对方法及相关装置 Download PDFInfo
- Publication number
- CN112640506B CN112640506B CN202080004695.4A CN202080004695A CN112640506B CN 112640506 B CN112640506 B CN 112640506B CN 202080004695 A CN202080004695 A CN 202080004695A CN 112640506 B CN112640506 B CN 112640506B
- Authority
- CN
- China
- Prior art keywords
- node
- psk
- pairing
- capability
- field
- 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
Links
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04W—WIRELESS COMMUNICATION NETWORKS
- H04W12/00—Security arrangements; Authentication; Protecting privacy or anonymity
- H04W12/50—Secure pairing of devices
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04W—WIRELESS COMMUNICATION NETWORKS
- H04W12/00—Security arrangements; Authentication; Protecting privacy or anonymity
- H04W12/06—Authentication
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04W—WIRELESS COMMUNICATION NETWORKS
- H04W12/00—Security arrangements; Authentication; Protecting privacy or anonymity
- H04W12/06—Authentication
- H04W12/069—Authentication using certificates or pre-shared keys
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04W—WIRELESS COMMUNICATION NETWORKS
- H04W4/00—Services specially adapted for wireless communication networks; Facilities therefor
- H04W4/80—Services using short range communication, e.g. near-field communication [NFC], radio-frequency identification [RFID] or low energy communication
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04W—WIRELESS COMMUNICATION NETWORKS
- H04W76/00—Connection management
- H04W76/10—Connection setup
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04W—WIRELESS COMMUNICATION NETWORKS
- H04W8/00—Network data management
- H04W8/005—Discovery of network devices, e.g. terminals
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Computer Security & Cryptography (AREA)
- Databases & Information Systems (AREA)
- Mobile Radio Communication Systems (AREA)
Abstract
本申请实施例提供一种关联方法及装置,应用于支持蓝牙通信的节点中。该方法包括:接收来自第一节点的配对请求消息,该配对请求消息包含用于指示第一节点是否具有预共享密钥PSK配对能力的信息;响应于配对请求消息中包含用于指示第一节点具有PSK配对能力的信息,向第一节点发送配对响应消息,该配对响应消息用于指示使用共享的第一PSK进行配对;根据第一PSK对第一节点进行认证。采用本申请实施例,能够提高节点配对过程的安全性,避免节点连接不可信的设备。该方案进一步可用于提升自动驾驶或高级驾驶辅助***ADAS能力,可应用于车联网,例如车辆外联V2X、车间通信长期演进技术LTE‑V、车辆‑车辆V2V等。
Description
技术领域
本发明涉及通信技术、网联车技术领域,尤其涉及一种蓝牙节点配对方法及相关装置,例如座舱域中的蓝牙通信。
背景技术
在信息化飞速发展的今天,通信技术已经深入了人们的生活,我们在享受通信便利的同时也会面临安全漏洞和隐私泄露的威胁。以智能汽车为例,随着车辆通信的广泛应用,汽车与其他设备之间、汽车中间的各个部件之间,都可以通过无线通信技术进行通信。通常来说,两个节点进行无线通信之前,需要在两个节点之间建立关联关系,这个建立关联关系的过程也可以称为节点配对过程。
其中,两个蓝牙节点的配对过程中,存在有如下四种模式:数字比较(Numericcomparison)、直接工作(Just work)、密码输入(Passkey entry)和带外设备(Out ofband)。而配对模式与节点的输入输出能力有关,对于不能输入不能输出(NoInputNoOutput)的节点、或者只能显示(DisplayOnly)、或者可以显示及输入是否(DisplayYesNo)的节点,多数情况下只能使用直接工作、数字比较模式来进行配对,这样的配对模式容易导致节点安全性受到威胁。例如,手机与蓝牙耳机配对时,由于耳机不能键入密码也无法显示屏幕,只能通过直接工作模式连接,即手机中直接点击蓝牙耳机的名称进行连接。这种配对模式容易导致攻击者通过只能使用(just work)模式进行连接的设备对节点进行攻击,或者攻击者去攻击只能使用直接工作模式的节点,对用户隐私以及车辆安全具有极高的威胁性,尤其对于车载通信***来说,这种情况容易造成车辆受到不信任的连接,导致车辆与身份不可信的攻击者进行通信,严重时还会危及驾乘人员的人身安全。
因此,如何提高蓝牙配对过程中的安全性,避免节点连接不可信的设备,是本领域技术人员正在研究的问题。
发明内容
本申请实施例公开了一种蓝牙节点配对方法及相关装置,能够提高节点配对过程的安全性,避免节点连接不可信的设备。
第一方面,本申请实施例公开了一种蓝牙节点配对方法,包括:
第二节点接收来自第一节点的配对请求消息,所述配对请求消息包含用于指示所述第一节点是否具有预共享密钥PSK配对能力的信息;
响应于配对请求消息中包含用于指示所述第一节点具有PSK配对能力的信息,所述第二节点向所述第一节点发送配对响应消息,所述配对响应消息用于指示使用所述第一节点与所述第二节点共享的第一PSK进行配对;
所述第二节点根据所述第一PSK对所述第一节点进行认证。
其中,PSK是第一节点与第二节点之间共享的一个秘密值。本申请实施例中,第一节点中预先定义或者配置有与第二节点共享的PSK,因此可以在配对请求消息中包含指示第一节点具有PSK配对能力的信息。相应的,第二节点中也预先定义或者预先配置有与第一节点共享的PSK(便于描述,称为第一PSK),第二节点可以根据所述第一PSK对所述第一节点进行认证,从而确定第一节点的身份可信,使得后续可以成功配对。这样一来,由于预先配置有或者定义有PSK的节点的身份通常是可信的,避免了第二节点与不可信的节点配对成功,从而提高了节点配对过程中的安全性。
在第一方面的一种可能的实施方式中,所述第一节点为不能输入不能输出NoInputNoOutput的蓝牙节点或者为只能显示DisplayOnly的蓝牙节点或者为可以显示及输入是否DisplayYesNo的蓝牙节点。
其中,现有的不能输入不能输出NoInputNoOutput的蓝牙节点只能通过直接连接just work方式与第二节点配对,只能显示DisplayOnly的蓝牙节点可以或者可以显示及输入是否DisplayYesNo的蓝牙节点由于没有输入输出能力,因此若第二节点没有输入输出能力也会通过直接连接just work方式进行连接。由于直接连接的方式安全性很低,这样配对很容易导致攻击者通过第一节点对第二节点进行攻击,因此对于上述三种类型的节点,可以通过PSK进行配对,提高节点配对的安全性。当然,对于有输入输出能力的节点,可以通过输入密码等方式进行配对,也可以使用PSK进行配对。
在第一方面的又一种可能的实施方式中,所述方法还包括:
所述第二节点确定所述第二节点与所述第一节点共享所述第一PSK。
在第一方面的又一种可能的实施方式中,所述第二节点确定所述第二节点与所述第一节点共享所述第一PSK,包括:
所述第二节点获取所述第一节点的第一设备标识;
所述第二节点确定存在有与所述第一设备标识对应的所述第一PSK。
在第一方面的又一种可能的实施方式中,所述配对请求消息中包括输入输出能力IOC字段,所述IOC字段中包含用于指示所述第一节点是否具有PSK配对能力的信息。
上述说明了一种配对请求消息的数据形式,可以看出,IOC字段中的值可以表征第一节点中是否具有PSK配对能力的信息、或者说第一节点中是否存在与第二节点共享的第一PSK。例如,IOC字段中为0x05时,可以指示第一节点具有PSK配对能力。
在第一方面的又一种可能的实施方式中,所述IOC字段的一部分比特位中包括所述第一节点的PSK能力值,所述第一节点的PSK能力值用于指示所述第一节点是否具有PSK配对能力;
所述IOC字段的另一部分比特位用于指示所述第一节点的输入输出能力。
上述说明了又一种配对请求消息的数据形式,可以看出,IOC字段中的一部分比特位中包括所述第一节点的PSK能力值。例如,IOC字段可以包括8个比特位,其中2个比特位中包括第一节点的PSK能力值,该PSK能力值用于指示第一节点是否具有PSK配对能力,如“01”表示第一节点中具有PSK配对能力或者说存在与第二节点共享的第一PSK,因此可以支持基于PSK进行配对,再如“00”表示第一节点中不具有PSK配对能力或者说不存在与第二节点共享的第一PSK,此时不支持基于PSK进行配对,需要通过其他方式进行配对。
进一步的,IOC字段的另一部分比特位用于指示第一节点的输入输出能力,从而使得第二节点可以根据第一节点的输入输出能力确定配对模式,例如,IOC字段中的6个比特位的值为0x01,表示第一节点的输入输出能力为只能显示(DisplayOnly),若第二节点的输入输出能力为可以显示可以输入KeyboardDisplay,则第一节点和第二节点之间可以通过密码输入(Passkey entry,PE)方式进行匹配。
在第一方面的又一种可能的实施方式中,所述配对请求消息中包括PSK能力字段,该PSK能力字段中包括所述第一节点的PSK能力值,所述第一节点的PSK能力值用于指示所述第一节点是否具有PSK配对能力;
所述配对请求消息中还包括输入输出能力IOC字段,所述IOC字段用于指示所述第一节点的输入输出能力。
上述说明了又一种配对请求消息的数据形式,可以看出,PSK能力字段用于指示所述第一节点的PSK能力值,如0x01表示第一节点中具有PSK配对能力或者说存在与第二节点共享的第一PSK,因此可以支持基于PSK进行配对。再如0x00表示第一节点中不具有PSK配对能力或者说不存在与第二节点共享的第一PSK,此时不支持基于PSK进行配对,需要通过其他方式进行配对。
进一步的,IOC字段用于指示第一节点的输入输出能力,从而使得第二节点可以根据第一节点的输入输出能力确定配对模式,例如,IOC字段的值为0x01,表示第一节点的输入输出能力为只能显示(DisplayOnly),若第二节点的输入输出能力为可以显示可以输入KeyboardDisplay,则第一节点和第二节点之间可以通过密码输入(Passkey entry,PE)方式进行匹配。
在第一方面的又一种可能的实施方式中,在所述第二节点向所述第一节点发送配对响应消息之前,所述方法还包括:
所述第二节点根据所述配对请求消息和预先设置的配对模式优先级信息确定所述配对响应消息,其中,所述配对模式优先级信息指示当所述第一节点与所述第二节点共享有PSK时,使用所述第一节点与所述第二节点之间共享的PSK进行配对在多个配对模式中享有最高优先级。
在第一方面的又一种可能的实施方式中,所述第二节点根据所述第一PSK对所述第一节点进行认证,包括:
所述第二节点接收来自所述第一节点的第一认证参数;
所述第二节点根据所述第一PSK验证所述第一认证参数。
上述实施方式说明了第二节点对第一节点进行认证的方式,第一认证参数为第一节点根据第一PSK生成的。由于第二节点也具有该第一PSK,因此可以通过相应的方式,根据第一PSK验证该第一认证参数,从而确认第一节点中的第一PSK与第二节点中的第一PSK是否一致。若第一节点与第二节点的第一PSK是一致的,说明第一节点的身份是可信的,避免了第二节点与不可信的节点配对成功,从而提高了节点配对过程中的安全性。
在第一方面的又一种可能的实施方式中,所述方法还包括:
所述第二节点根据所述第一PSK生成第二认证参数;
所述第二节点向所述第一节点发送所述第二认证参数。
可以看出,第二节点也可以根据第一PSK生成第二认证参数,该第二认证参数用于第一节点的对第二节点进行认证。
在第一方面的又一种可能的实施方式中,所述第二节点根据所述第一PSK生成第二认证参数,包括:
所述第二节点接收来自所述第一节点发送的第一新鲜性参数;
所述第二节点根据所述第一新鲜性参数、第一公钥、第二公钥以及所述第一PSK生成所述第二认证参数;其中,所述第一公钥与第二公钥为生成第一节点与第二节点之间的共享密钥的参数。
在第一方面的又一种可能的实施方式中,所述第二节点接收来自所述第一节点的第一认证参数之前,所述方法还包括:
所述第二节点向所述第一节点发送第二新鲜性参数;
所述第二节点根据所述第一PSK验证所述第一认证参数,包括:
所述第二节点根据所述第二新鲜性参数、第一公钥、第二公钥以及所述第一PSK生成第二校验参数;
根据第二校验参数与所述第一认证参数,确认所述第一认证参数验证通过。
在第一方面的又一种可能的实施方式中,所述第二节点根据所述第一PSK对所述第一节点进行认证之后,所述方法还包括:
所述第二节点接收来自所述第一节点的第三认证参数;
所述第二节点根据所述第一节点的PSK能力值生成第四校验参数;
所述第二节点根据所述第四校验参数与所述第三认证参数确定所述第一节点的PSK能力值的正确性认证通过;
所述方法还包括:
所述第二节点根据所述第二节点的PSK能力值生成第四认证参数;
所述第二节点向所述第一节点发送所述第四认证参数。
可以看出,在第一配对请求消息中包括第一节点的PSK能力值的情况下,第二节点可以认证第一节点的PSK能力值的正确性,避免第一节点的PSK能力值被纂改。
第二方面,本申请实施例公开了一种蓝牙节点配对方法,包括:
第一节点向第二节点发送配对请求消息,所述配对请求消息包含用于指示所述第一节点具备预共享密钥PSK配对能力的信息;
所述第一节点接收所述第二节点反馈的配对响应消息,所述配对响应消息用于指示使用所述第一节点与所述第二节点共享的第一PSK进行配对;
所述第一节点根据所述第一PSK对所述第二节点进行认证。
可以看出,PSK是第一节点与第二节点之间共享的一个秘密值,第一节点中预先定义或者配置有与第二节点共享的PSK,因此可以在配对请求消息中指示第一具有PSK配对能力。相应的,第二节点中也预先定义或者预先配置有与第一节点共享的PSK(便于描述,称为第一PSK),第一节点可以根据第一PSK对第二节点进行认证,从而确定第二节点的身份可信,使得后续可以成功配对。这样一来,由于预先配置有或者定义有PSK的节点的身份通常是可信的,避免了第一节点与不可信的节点配对成功,从而提高了节点配对过程中的安全性。
在第二方面的一种可能的实施方式中,所述第一节点为不能输入不能输出NoInputNoOutput的蓝牙节点或者为只能显示DisplayOnly的蓝牙节点或者为可以显示及输入是否DisplayYesNo的蓝牙节点。
其中,现有的不能输入不能输出NoInputNoOutput的蓝牙节点只能通过直接连接just work方式与第二节点配对,只能显示DisplayOnly的蓝牙节点可以或者可以显示及输入是否DisplayYesNo的蓝牙节点由于没有输入输出能力,因此若第二节点没有输入输出能力也会通过直接连接just work方式进行连接。由于直接连接的方式安全性很低,这样配对很容易导致攻击者通过第一节点对第二节点进行攻击,因此对于上述三种类型的节点,可以通过PSK进行配对,提高节点配对的安全性。当然,对于有输入输出能力的节点,可以通过输入密码等方式进行配对,也可以使用PSK进行配对。
在第二方面的又一种可能的实施方式中,在所述第一节点向第二节点发送配对请求消息之前,所述方法还包括:
所述第一节点确定所述第二节点与所述第一节点共享所述第一PSK。
在第二方面的又一种可能的实施方式中,所述第一节点确定所述第二节点与所述第一节点共享所述第一PSK,包括:
所述第一节点获取所述第二节点的第二设备标识;
所述第一节点确定存在有与所述第二设备标识对应的所述第一PSK。
在第二方面的又一种可能的实施方式中,所述配对请求消息中包括输入输出能力IOC字段,所述IOC字段中包含用于指示所述第一节点是否具有PSK配对能力的信息。
上述说明了一种配对请求消息的数据形式,可以看出,IOC字段中的值可以表征第一节点中是否具有PSK配对能力的信息、或者说第一节点中是否存在与第二节点共享的第一PSK。例如,IOC字段中为0x05时,可以指示第一节点具有PSK配对能力。
在第二方面的又一种可能的实施方式中,所述IOC字段的一部分比特位中包括所述第一节点的PSK能力值,所述第一节点的PSK能力值用于指示所述第一节点是否具有PSK配对能力;
所述IOC字段的另一部分比特位用于指示所述第一节点的输入输出能力。
上述说明了又一种配对请求消息的数据形式,可以看出,IOC字段中的一部分比特位中包括所述第一节点的PSK能力值。例如,IOC字段可以包括8个比特位,其中2个比特位中包括第一节点的PSK能力值,该PSK能力值用于指示第一节点是否具有PSK配对能力,如“01”表示第一节点中具有PSK配对能力或者说存在与第二节点共享的第一PSK,因此可以支持基于PSK进行配对,再如“00”表示第一节点中不具有PSK配对能力或者说不存在与第二节点共享的第一PSK,此时不支持基于PSK进行配对,需要通过其他方式进行配对。
进一步的,IOC字段的另一部分比特位用于指示第一节点的输入输出能力,从而使得第二节点可以根据第一节点的输入输出能力确定配对模式,例如,IOC字段中的6个比特位的值为0x01,表示第一节点的输入输出能力为只能显示(DisplayOnly),若第二节点的输入输出能力为可以显示可以输入KeyboardDisplay,则第一节点和第二节点之间可以通过密码输入(Passkey entry,PE)方式进行匹配。
在第二方面的又一种可能的实施方式中,所述配对请求消息中包括PSK能力字段,该PSK能力字段中包括所述第一节点的PSK能力值,所述第一节点的PSK能力值用于指示所述第一节点是否具有PSK配对能力;
所述配对请求消息中还包括输入输出能力IOC字段,所述IOC字段用于指示所述第一节点的输入输出能力。
上述说明了又一种配对请求消息的数据形式,可以看出,PSK能力字段用于指示所述第一节点的PSK能力值,如0x01表示第一节点中具有PSK配对能力或者说存在与第二节点共享的第一PSK,因此可以支持基于PSK进行配对。再如0x00表示第一节点中不具有PSK配对能力或者说不存在与第二节点共享的第一PSK,此时不支持基于PSK进行配对,需要通过其他方式进行配对。
进一步的,IOC字段用于指示第一节点的输入输出能力,从而使得第二节点可以根据第一节点的输入输出能力确定配对模式,例如,IOC字段的值为0x01,表示第一节点的输入输出能力为只能显示(DisplayOnly),若第二节点的输入输出能力为可以显示可以输入KeyboardDisplay,则第一节点和第二节点之间可以通过密码输入(Passkey entry,PE)方式进行匹配。
在第二方面的又一种可能的实施方式中,所述第一节点根据所述第一PSK对所述第二节点进行认证,包括:
所述第一节点接收来自所述第二节点的第二认证参数;
所述第一节点根据所述第一PSK验证所述第二认证参数。
上述实施方式说明了第一节点对第二节点进行认证的方式,第二认证参数为第二节点根据第一PSK生成的。由于第一节点也具有该第一PSK,因此可以通过相应的方式,根据第一PSK验证该第二认证参数,从而确认第一节点中的第一PSK与第二节点中的第一PSK是否一致。若第一节点与第二节点的第一PSK是一致的,说明第二节点的身份是可信的,避免了第一节点与不可信的节点配对成功,从而提高了节点配对过程中的安全性。
在第二方面的又一种可能的实施方式中,所述方法还包括:
所述第一节点根据所述第一PSK生成第一认证参数;
所述第一节点向所述第二节点发送所述第一认证参数。
可以看出,第一节点也可以根据第一PSK生成第一认证参数,该第一认证参数用于第二节点的对第一节点进行认证。
在第二方面的又一种可能的实施方式中,所述第一节点根据所述第一PSK生成第一认证参数,包括:
所述第一节点接收来自所述第二节点发送的第二新鲜性参数;
所述第一节点根据所述第二新鲜性参数、第一公钥、第二公钥以及所述第一PSK生成所述第一认证参数;其中,所述第一公钥与第二公钥为生成第一节点与第二节点之间的共享密钥的参数。
在第二方面的又一种可能的实施方式中,所述第一节点接收来自所述第二节点的第二认证参数之前,所述方法还包括:
所述第一节点向所述第二节点发送第一新鲜性参数;
所述第一节点根据所述第一PSK验证所述第二认证参数,包括:
所述第一节点根据所述第一新鲜性参数、第一公钥、第二公钥以及所述第一PSK生成第一校验参数;
所述第一节点根据第一校验参数与所述第二认证参数,确认所述第二认证参数验证通过。
在第二方面的又一种可能的实施方式中,所述第二节点根据所述第一PSK对所述第一节点进行认证之后,所述方法还包括:
所述第二节点接收来自所述第一节点的第三认证参数;
所述第二节点根据所述第一节点的PSK能力值生成第四校验参数;
所述第二节点根据所述第四校验参数与所述第三认证参数确定所述第一节点的PSK能力值的正确性认证通过;
所述方法还包括:
所述第二节点根据所述第二节点的PSK能力值生成第四认证参数;
所述第二节点向所述第一节点发送所述第四认证参数。
可以看出,第一节点可以认证第二节点的PSK能力值的正确性,避免第二节点的PSK能力值被纂改。
第三方面,本申请实施例公开了一种蓝牙配对装置,包括:
接收单元,用于接收来自第一节点的配对请求消息,所述配对请求消息包含用于指示所述第一节点是否具有预共享密钥PSK配对能力的信息;
发送单元,用于响应于配对请求消息中包含用于指示所述第一节点具有PSK配对能力的信息,向所述第一节点发送配对响应消息,所述配对响应消息用于指示使用所述第一节点与第二节点共享的第一PSK进行配对;
处理单元,根据所述第一PSK对所述第一节点进行认证。
可以看出,PSK是第一节点与第二节点之间共享的一个秘密值,第一节点中预先定义或者配置有与第二节点共享的PSK,因此上述装置可以在配对请求消息中包含指示第一节点具有PSK配对能力的信息。相应的,第二节点中也预先定义或者预先配置有与第一节点共享的第一PSK,上述装置可以根据所述第一PSK对所述第一节点进行认证,从而确定第一节点的身份可信,使得后续可以成功配对。这样一来,由于预先配置有或者定义有PSK的节点的身份通常是可信的,避免了上述装置与不可信的节点配对成功,从而提高了节点配对过程中的安全性。
在第三方面的一种可能的实施方式中,所述处理单元还用于:
确定所述第二节点与所述第一节点共享所述第一PSK。
在第三方面的又一种可能的实施方式中,所述处理单元具体用于:
获取所述第一节点的第一设备标识;
确定存在有与所述第一设备标识对应的所述第一PSK。
在第三方面的又一种可能的实施方式中,所述配对请求消息中包括输入输出能力IOC字段,所述IOC字段中包含用于指示所述第一节点是否具有PSK配对能力的信息。
在第三方面的又一种可能的实施方式中,所述配对请求消息中包括输入输出能力IOC字段,所述IOC字段的一部分比特位中包括所述第一节点的PSK能力值,所述第一节点的PSK能力值用于指示所述第一节点是否具有PSK配对能力;
所述IOC字段的另一部分比特位用于指示所述第一节点的输入输出能力。
在第三方面的又一种可能的实施方式中,所述配对请求消息中包括PSK能力字段,PSK能力字段中包括所述第一节点的PSK能力值,所述第一节点的PSK能力值用于指示所述第一节点是否具有PSK配对能力;
所述配对请求消息中还包括输入输出能力IOC字段,所述IOC字段用于指示所述第一节点的输入输出能力。
在第三方面的又一种可能的实施方式中,所述处理单元,还用于根据所述配对请求消息和预先设置的配对模式优先级信息确定所述配对响应消息,其中,所述配对模式优先级信息指示当所述第一节点与所述第二节点共享有PSK时,使用所述第一节点与所述第二节点之间共享的PSK进行配对在多个配对模式中享有最高优先级。
在第三方面的又一种可能的实施方式中,所述接收单元,还用于接收来自所述第一节点的第一认证参数;
所述处理单元,还用于根据所述第一PSK验证所述第一认证参数。
在第三方面的又一种可能的实施方式中,所述处理单元,还用于根据所述第一PSK生成第二认证参数;
所述发送单元,还用于向所述第一节点发送所述第二认证参数。
在第三方面的又一种可能的实施方式中,所述接收单元,还用于接收来自所述第一节点的第三认证参数;
所述处理单元,还用于根据所述第一节点的PSK能力值生成第四校验参数;
所述处理单元,还用于根据所述第四校验参数与所述第三认证参数确定所述第一节点的PSK能力值的正确性认证通过;
所述处理单元,还用于根据所述第二节点的PSK能力值生成第四认证参数;
所述发送单元,还用于向所述第一节点发送所述第四认证参数。
第四方面,本申请实施例公开了一种蓝牙配对装置,包括:
发送单元,用于向第二节点发送配对请求消息,所述配对请求消息包含用于指示所述第一节点具备预共享密钥PSK配对能力的信息;
接收单元,用于接收所述第二节点反馈的配对响应消息,所述配对响应消息用于指示使用第一节点与所述第二节点共享的第一PSK进行配对;
处理单元,用于根据所述第一PSK对所述第二节点进行认证。
可以看出,PSK是第一节点与第二节点之间共享的一个秘密值,第一节点中预先定义或者配置有与第二节点共享的PSK,因此第二节点可以在配对请求消息中指示第一节点具有PSK配对能力。相应的,第二节点中也预先定义或者预先配置有与第一节点共享的PSK(便于描述,称为第一PSK),上述装置可以根据第一PSK对第二节点进行认证,从而确定第二节点的身份可信,使得后续可以成功配对。这样一来,由于预先配置有或者定义有PSK的节点的身份通常是可信的,避免了上述装置与不可信的节点配对成功,从而提高了节点配对过程中的安全性。
在第四方面的一种可能的实施方式中,所述处理单元,还用于确定所述第二节点与所述第一节点共享所述第一PSK。
在第四方面的又一种可能的实施方式中,所述处理单元,具体用于:
获取所述第二节点的第二设备标识;
确定存在有与所述第二设备标识对应的所述第一PSK。
在第四方面的又一种可能的实施方式中,所述配对请求消息中包括输入输出能力IOC字段,所述IOC字段中包含用于指示所述第一节点是否具有PSK配对能力的信息。
在第四方面的又一种可能的实施方式中,所述IOC字段的一部分比特位用于中包括指示所述第一节点的PSK能力值,所述第一节点的PSK能力值用于指示所述第一节点是否具有PSK配对能力;
所述IOC字段的另一部分比特位用于指示所述第一节点的输出能力。
在第四方面的又一种可能的实施方式中,所述配对请求消息中包括PSK能力字段,PSK能力字段中包括所述第一节点的PSK能力值,所述第一节点的PSK能力值用于指示所述第一节点是否具有PSK配对能力;
所述配对请求消息中还包括输入输出能力IOC字段,所述IOC字段用于指示所述第一节点的输入输出能力。
在第四方面的又一种可能的实施方式中,所述接收单元,还用于接收来自所述第二节点的第二认证参数;
所述处理单元,还用于根据所述第一PSK验证所述第二认证参数。
在第四方面的又一种可能的实施方式中,所述处理单元,还用于根据所述第一PSK生成第一认证参数;
所述发送单元,还用于向所述第二节点发送所述第一认证参数。
在第四方面的又一种可能的实施方式中,所述配对响应消息中包括所述第二节点的PSK能力值,所述第二节点的PSK能力值用于指示所述第二节点具有PSK配对能力;
所述接收单元,还用于接收来自所述第二节点的第四认证参数;
所述处理单元,还用于根据所述第二节点的PSK能力值生成第三校验参数;
所述处理单元,还用于根据所述第三校验参数与所述第四认证参数确定所述第一节点的PSK能力值的正确性认证通过;所述方法还包括:
所述处理单元,还用于根据所述第一节点的PSK能力值生成第三认证参数;
所述发送单元,还用于向所述第二节点发送所述第三认证参数。
第五方面,本申请实施例公开了一种蓝牙节点配对方法,包括:
第二节点接收来自第一节点的配对请求消息,所述配对请求消息包含用于指示所述第一节点的配对能力的信息;所述第一节点的配对能力包括所述第一节点是否具有预共享密钥PSK配对能力和所述第一节点的输入输出能力;
所述第二节点根据所述第一节点的配对能力的信息和所述第二节点的配对能力的信息,确定配对模式;所述第二节点的配对能力包括所述第二节点是否具有PSK配对能力和所述第二节点的输入输出能力;所述配对模式包括基于PSK进行配对、数字比较NC、直接工作JW或密码输入PE;
所述第二节点向所述第一节点发送配对响应消息,所述配对响应消息包含用于指示所述第二节点的配对能力的信息;
所述第二节点根据所述配对模式与所述第一节点进行配对。
可以看出,配对请求消息中包括第一节点的配对能力的信息,第二节点可以根据该第一节点是否具有PSK配对能力以及第一节点的输入输出能力,根据需求确定对应的配对模式。例如,第二节点通过优先选择基于PSK配对,或者根据各个模式的优先级选择配对模式等等方法,可以确定出满足第二节点需求的配对模式。
尤其是对于不能输入不能输出NoInputNoOutput、只能显示DisplayOnly或者可以显示及输入是否DisplayYesNo的蓝牙节点,通过优先选择基于PSK配对,可以避免与不可信的节点进行配对,提高了节点的通信安全性。
在第五方面的一种可能的实施方式中,所述配对请求消息中包括输入输出能力IOC字段,所述IOC字段的一部分比特位中包括所述第一节点的PSK能力值,所述第一节点的PSK能力值用于指示所述第一节点是否具有PSK配对能力;
所述IOC字段的另一部分比特位用于指示所述第一节点的输入输出能力。
上述说明了一种配对请求消息的数据形式,可以看出,IOC字段中的一部分比特位中包括所述第一节点的PSK能力值。例如,IOC字段可以包括8个比特位,其中2个比特位中包括第一节点的PSK能力值,该PSK能力值用于指示第一节点是否具有PSK配对能力,如“01”表示第一节点中具有PSK配对能力或者说存在与第二节点共享的第一PSK,因此可以支持基于PSK进行配对,再如“00”表示第一节点中不具有PSK配对能力或者说不存在与第二节点共享的第一PSK,此时不支持基于PSK进行配对,需要通过其他方式进行配对。
进一步的,IOC字段的另一部分比特位用于指示第一节点的输入输出能力,从而使得第二节点可以根据第一节点的输入输出能力确定配对模式,例如,IOC字段中的6个比特位的值为0x01,表示第一节点的输入输出能力为只能显示(DisplayOnly),若第二节点的输入输出能力为可以显示可以输入KeyboardDisplay,则第一节点和第二节点之间可以通过密码输入(Passkey entry,PE)方式进行匹配。
在第五方面的又一种可能的实施方式中,所述配对请求消息中包括PSK能力字段,PSK能力字段中包括所述第一节点的PSK能力值,所述第一节点的PSK能力值用于指示所述第一节点是否具有PSK配对能力;
所述配对请求消息中还包括输入输出能力IOC字段,所述IOC字段用于指示所述第一节点的输入输出能力。
上述说明了又一种配对请求消息的数据形式,可以看出,PSK能力字段用于指示所述第一节点的PSK能力值,如0x01表示第一节点中具有PSK配对能力或者说存在与第二节点共享的第一PSK,因此可以支持基于PSK进行配对。再如0x00表示第一节点中不具有PSK配对能力或者说不存在与第二节点共享的第一PSK,此时不支持基于PSK进行配对,需要通过其他方式进行配对。
进一步的,IOC字段用于指示第一节点的输入输出能力,从而使得第二节点可以根据第一节点的输入输出能力确定配对模式,例如,IOC字段的值为0x01,表示第一节点的输入输出能力为只能显示(DisplayOnly),若第二节点的输入输出能力为可以显示可以输入KeyboardDisplay,则第一节点和第二节点之间可以通过密码输入(Passkey entry,PE)方式进行匹配。
在第五方面的又一种可能的实施方式中,所述第二节点根据所述第一节点的配对能力的信息和所述第二节点的配对能力的信息,确定配对模式,包括:
所述第二节点根据所述第一节点的配对能力的信息确定所述第一节点具有PSK配对能力;
所述第二节点确定所述第二节点与所述第一节点共享第一PSK;
所述第二节点使用所述第一节点与所述第二节点共享的所述第一PSK进行配对。
在第五方面的又一种可能的实施方式中,所述第二节点确定所述第二节点与所述第一节点共享所述第一PSK,包括:
所述第二节点获取所述第一节点的第一设备标识;
所述第二节点确定存在有与所述第一设备标识对应的所述第一PSK。
在第五方面的又一种可能的实施方式中,所述第二节点根据所述第一节点的配对能力的信息和所述第二节点的配对能力的信息,确定配对模式,包括:
所述第二节点根据所述第一节点的配对能力的信息所述第一节点具有PSK配对能力;
所述第二节点确定所述第二节点与所述第一节点共享第一PSK;
所述第二节点根据所述第一节点的输入输出能力和所述第二节点的输入输出能力确定第一配对模式;所述第一配对模式为数字比较NC、直接工作JW或密码输入PE;
根据所述第一配对模式的优先级和基于PSK进行配对的优先级确定配对模式。
在第五方面的又一种可能的实施方式中,所述第二节点根据所述第一节点的配对能力的信息和所述第二节点的配对能力的信息,确定配对模式,包括:
所述第二节点根据所述第一节点的配对能力的信息所述第一节点具有PSK配对能力;
所述第二节点确定所述第二节点与所述第一节点共享第一PSK;
所述第二节点根据所述第一节点的输入输出能力和所述第二节点的输入输出能力确定第一配对模式;所述第一配对模式为数字比较NC、直接工作JW或密码输入PE;
根据所述第一配对模式的优先级和基于PSK进行配对的优先级确定配对模式。
在第五方面的又一种可能的实施方式中,所述第二节点使用所述第一节点与所述第二节点共享的所述第一PSK进行配对,包括:
所述第二节点接收来自所述第一节点的第一认证参数;
所述第二节点根据所述第一PSK验证所述第一认证参数。
在第五方面的又一种可能的实施方式中,所述方法还包括:
所述第二节点根据所述第一PSK生成第二认证参数;
所述第二节点向所述第一节点发送所述第二认证参数。
在第五方面的又一种可能的实施方式中,所述第二节点根据所述第一PSK生成第二认证参数,包括:
所述第二节点接收来自所述第一节点发送的第一新鲜性参数;
所述第二节点根据所述第一新鲜性参数、第一公钥、第二公钥以及所述第一PSK生成所述第二认证参数;其中,所述第一公钥与第二公钥为生成第一节点与第二节点之间的共享密钥的参数。
在第五方面的又一种可能的实施方式中,所述第二节点接收来自所述第一节点的第一认证参数之前,所述方法还包括:
所述第二节点向所述第一节点发送第二新鲜性参数;
所述第二节点根据所述第一PSK验证所述第一认证参数,包括:
所述第二节点根据所述第二新鲜性参数、第一公钥、第二公钥以及所述第一PSK生成第二校验参数;
根据第二校验参数与所述第一认证参数,确认所述第一认证参数验证通过。
在第五方面的又一种可能的实施方式中,所述第二节点根据所述第一PSK对所述第一节点进行认证之后,所述方法还包括:
所述第二节点接收来自所述第一节点的第三认证参数;
所述第二节点根据所述第一节点的PSK能力值生成第四校验参数;
所述第二节点根据所述第四校验参数与所述第三认证参数确定所述第一节点的PSK能力值的正确性认证通过;
所述方法还包括:
所述第二节点根据所述第二节点的PSK能力值生成第四认证参数;
所述第二节点向所述第一节点发送所述第四认证参数。
第六方面,本申请实施例公开了一种蓝牙节点配对方法,包括:
第一节点向第二节点发送配对请求消息,所述配对请求消息包含用于指示所述第一节点的配对能力的信息;所述第一节点的配对能力包括所述第一节点是否具有预共享密钥PSK配对能力和所述第一节点的输入输出能力;
所述第一节点接收来自所述第二节点的配对响应消息,所述配对响应消息包含用于指示所述第二节点的配对能力的信息,所述第二节点的配对能力包括所述第二节点是否具有PSK配对能力和所述第二节点的输入输出能力;
所述第一节点根据所述第一节点的配对能力的信息和所述第二节点的配对能力的信息确定配对模式;所述配对模式包括基于PSK进行配对、数字比较NC、直接工作JW或密码输入PE;
所述第一节点根据所述配对模式与所述第二节点进行配对。
可以看出,配对请求消息中包括第一节点的配对能力的信息,配对响应消息中包括第二节点的配对能力的信息。第一节点可以根据该第一节点与第二节点的配对能力的信息,根据需求确定对应的配对模式。例如,第一节点通过优先选择基于PSK配对,或者根据各个模式的优先级选择配对模式等等方法,可以确定出满足需求的配对模式。
尤其是对于不能输入不能输出NoInputNoOutput、只能显示DisplayOnly或者可以显示及输入是否DisplayYesNo的蓝牙节点,通过优先选择基于PSK配对,可以避免与不可信的节点进行配对,提高了节点的通信安全性。
在第六方面的一种可能的实施方式中,所述配对请求消息中包括输入输出能力IOC字段,所述IOC字段的一部分比特位中包括所述第一节点的PSK能力值,所述第一节点的PSK能力值用于指示所述第一节点是否具有PSK配对能力;
所述IOC字段的另一部分比特位用于指示所述第一节点的输入输出能力。
上述说明了一种配对请求消息的数据形式,可以看出,IOC字段中的一部分比特位中包括所述第一节点的PSK能力值。例如,IOC字段可以包括8个比特位,其中2个比特位中包括第一节点的PSK能力值,该PSK能力值用于指示第一节点是否具有PSK配对能力,如“01”表示第一节点中具有PSK配对能力或者说存在与第二节点共享的第一PSK,因此可以支持基于PSK进行配对,再如“00”表示第一节点中不具有PSK配对能力或者说不存在与第二节点共享的第一PSK,此时不支持基于PSK进行配对,需要通过其他方式进行配对。
进一步的,IOC字段的另一部分比特位用于指示第一节点的输入输出能力,从而使得第二节点可以根据第一节点的输入输出能力确定配对模式,例如,IOC字段中的6个比特位的值为0x01,表示第一节点的输入输出能力为只能显示(DisplayOnly),若第二节点的输入输出能力为可以显示可以输入KeyboardDisplay,则第一节点和第二节点之间可以通过密码输入(Passkey entry,PE)方式进行匹配。
在第六方面的又一种可能的实施方式中,所述配对请求消息中包括PSK能力字段,PSK能力字段中包括所述第一节点的PSK能力值,所述第一节点的PSK能力值用于指示所述第一节点是否具有PSK配对能力;
所述配对请求消息中还包括输入输出能力IOC字段,所述IOC字段用于指示所述第一节点的输入输出能力。
上述说明了又一种配对请求消息的数据形式,可以看出,PSK能力字段用于指示所述第一节点的PSK能力值,如0x01表示第一节点中具有PSK配对能力或者说存在与第二节点共享的第一PSK,因此可以支持基于PSK进行配对。再如0x00表示第一节点中不具有PSK配对能力或者说不存在与第二节点共享的第一PSK,此时不支持基于PSK进行配对,需要通过其他方式进行配对。
进一步的,IOC字段用于指示第一节点的输入输出能力,从而使得第二节点可以根据第一节点的输入输出能力确定配对模式,例如,IOC字段的值为0x01,表示第一节点的输入输出能力为只能显示(DisplayOnly),若第二节点的输入输出能力为可以显示可以输入KeyboardDisplay,则第一节点和第二节点之间可以通过密码输入(Passkey entry,PE)方式进行匹配。
在第六方面的又一种可能的实施方式中,在所述第一节点向所述第二节点发送配对请求消息之前,所述方法包括:
所述第一节点确定所述第二节点与所述第一节点共享第一PSK;
所述第一节点根据所述第一节点的配对能力的信息和所述第二节点的配对能力的信息,确定配对模式,包括:
所述第一节点根据所述第二节点的配对能力的信息确定所述第一节点具有PSK配对能力;
所述第一节点使用所述第一节点与所述第二节点共享的所述第一PSK进行配对。
在第六方面的又一种可能的实施方式中,所述第一节点确定所述第二节点与所述第一节点共享所述第一PSK,包括:
所述第一节点获取所述第二节点的第二设备标识;
所述第一节点确定存在有与所述第二设备标识对应的所述第一PSK。
在第六方面的又一种可能的实施方式中,所述第二节点根据所述第一节点的配对能力的信息和所述第二节点的配对能力的信息,确定配对模式,包括:
所述第一节点根据所述第二节点的配对能力的信息确定所述第二节点不具有PSK配对能力;
所述第一节点根据所述第一节点的输入输出能力和所述第二节点的输入输出能力确定所述配对模式;所述配对模式为数字比较NC、直接工作JW或密码输入PE。
在第六方面的又一种可能的实施方式中,所述第二节点根据所述第一节点的配对能力的信息和所述第二节点的配对能力的信息,确定配对模式,包括:
所述第一节点根据所述第二节点的配对能力的信息所述第一节点具有PSK配对能力;
所述第一节点确定所述第二节点与所述第一节点共享第一PSK;
所述第一节点根据所述第一节点的输入输出能力和所述第二节点的输入输出能力确定第一配对模式;所述第一配对模式为数字比较NC、直接工作JW或密码输入PE;
根据所述第一配对模式的优先级和基于PSK进行配对的优先级确定配对模式。
在第六方面的又一种可能的实施方式中,所述第一节点使用所述第一节点与所述第二节点共享的所述第一PSK进行配对,包括:
所述第一节点接收来自所述第二节点的第二认证参数;
所述第一节点根据所述第一PSK验证所述第二认证参数。
在第六方面的又一种可能的实施方式中,所述方法还包括:
所述第一节点根据所述第一PSK生成第一认证参数;
所述第一节点向所述第二节点发送所述第一认证参数。
在第六方面的又一种可能的实施方式中,所述第一节点根据所述第一PSK生成第一认证参数,包括:
所述第一节点接收来自所述第二节点发送的第二新鲜性参数;
所述第一节点根据所述第二新鲜性参数、第一公钥、第二公钥以及所述第一PSK生成所述第一认证参数;其中,所述第一公钥与第二公钥为生成第一节点与第二节点之间的共享密钥的参数。
在第六方面的又一种可能的实施方式中,所述第一节点接收来自所述第二节点的第二认证参数之前,所述方法还包括:
所述第一节点向所述第二节点发送第一新鲜性参数;
所述第一节点根据所述第一PSK验证所述第二认证参数,包括:
所述第一节点根据所述第一新鲜性参数、第一公钥、第二公钥以及所述第一PSK生成第一校验参数;
所述第一节点根据第一校验参数与所述第二认证参数,确认所述第二认证参数验证通过。
在第六方面的又一种可能的实施方式中,所述第二节点根据所述第一PSK对所述第一节点进行认证之后,所述方法还包括:
所述第二节点接收来自所述第一节点的第三认证参数;
所述第二节点根据所述第一节点的PSK能力值生成第四校验参数;
所述第二节点根据所述第四校验参数与所述第三认证参数确定所述第一节点的PSK能力值的正确性认证通过;
所述方法还包括:
所述第二节点根据所述第二节点的PSK能力值生成第四认证参数;
所述第二节点向所述第一节点发送所述第四认证参数。
第七方面,本申请实施例公开了一种蓝牙配对装置,包括:
接收单元,用于接收来自第一节点的配对请求消息,所述配对请求消息包含用于指示所述第一节点的配对能力的信息;所述第一节点的配对能力包括所述第一节点是否具有预共享密钥PSK配对能力和所述第一节点的输入输出能力;
处理单元,用于根据所述第一节点的配对能力的信息和所述第二节点的配对能力的信息,确定配对模式;所述第二节点的配对能力包括所述第二节点是否具有PSK配对能力和所述第二节点的输入输出能力;所述配对模式包括基于PSK进行配对、数字比较NC、直接工作JW或密码输入PE;
发送单元,用于向所述第一节点发送配对响应消息,所述配对响应消息包含用于指示所述第二节点的配对能力的信息;
所述处理单元,还用于根据所述配对模式与所述第一节点进行配对。
可以看出,配对请求消息中包括第一节点的配对能力的信息,上述装置可以根据该第一节点是否具有PSK配对能力以及第一节点的输入输出能力,根据需求确定对应的配对模式。例如,上述装置通过优先选择基于PSK配对,或者根据各个模式的优先级选择配对模式等等方法,可以确定出满足第二节点需求的配对模式。
尤其是对于不能输入不能输出NoInputNoOutput、只能显示DisplayOnly或者可以显示及输入是否DisplayYesNo的蓝牙节点,通过优先选择基于PSK配对,可以避免与不可信的节点进行配对,提高了节点的通信安全性。
在第七方面的一种可能的实施方式中,所述配对请求消息中包括输入输出能力IOC字段,所述IOC字段的一部分比特位中包括所述第一节点的PSK能力值,所述第一节点的PSK能力值用于指示所述第一节点是否具有PSK配对能力;
所述IOC字段的另一部分比特位用于指示所述第一节点的输入输出能力。
在第七方面的又一种可能的实施方式中,所述配对请求消息中包括PSK能力字段,PSK能力字段中包括所述第一节点的PSK能力值,所述第一节点的PSK能力值用于指示所述第一节点是否具有PSK配对能力;
所述配对请求消息中还包括输入输出能力IOC字段,所述IOC字段用于指示所述第一节点的输入输出能力。
在第七方面的又一种可能的实施方式中,所述处理单元,具体用于:
根据所述第一节点的配对能力的信息确定所述第一节点具有PSK配对能力;
确定所述第二节点与所述第一节点共享第一PSK;
使用所述第一节点与所述第二节点共享的所述第一PSK进行配对。
在第七方面的又一种可能的实施方式中,所述处理单元,具体用于:
获取所述第一节点的第一设备标识;
确定存在有与所述第一设备标识对应的所述第一PSK。
在第七方面的又一种可能的实施方式中,所述处理单元,具体用于:
根据所述第一节点的配对能力的信息所述第一节点具有PSK配对能力;
确定所述第二节点与所述第一节点共享第一PSK;
根据所述第一节点的输入输出能力和所述第二节点的输入输出能力确定第一配对模式;所述第一配对模式为数字比较NC、直接工作JW或密码输入PE;
根据所述第一配对模式的优先级和基于PSK进行配对的优先级确定配对模式。
在第七方面的又一种可能的实施方式中,所述处理单元,具体用于:
根据所述第一节点的配对能力的信息所述第一节点具有PSK配对能力;
确定所述第二节点与所述第一节点共享第一PSK;
根据所述第一节点的输入输出能力和所述第二节点的输入输出能力确定第一配对模式;所述第一配对模式为数字比较NC、直接工作JW或密码输入PE;
根据所述第一配对模式的优先级和基于PSK进行配对的优先级确定配对模式。
在第七方面的又一种可能的实施方式中,所述接收单元,还用于接收来自所述第一节点的第一认证参数;
所述处理单元,还用于根据所述第一PSK验证所述第一认证参数。
在第七方面的又一种可能的实施方式中,所述处理单元,还用于根据所述第一PSK生成第二认证参数;
所述发送单元,还用于向所述第一节点发送所述第二认证参数。
在第七方面的又一种可能的实施方式中,所述接收单元,还用于接收来自所述第一节点发送的第一新鲜性参数;
所述处理单元,还用于根据所述第一新鲜性参数、第一公钥、第二公钥以及所述第一PSK生成所述第二认证参数;其中,所述第一公钥与第二公钥为生成第一节点与第二节点之间的共享密钥的参数。
在第七方面的又一种可能的实施方式中,所述发送单元,还用于向所述第一节点发送第二新鲜性参数;
所述处理单元,还用于根据所述第二新鲜性参数、第一公钥、第二公钥以及所述第一PSK生成第二校验参数;
所述处理单元,还用于根据第二校验参数与所述第一认证参数,确认所述第一认证参数验证通过。
在第七方面的又一种可能的实施方式中,所述接收单元,还用于接收来自所述第一节点的第三认证参数;
所述处理单元,还用于根据所述第一节点的PSK能力值生成第四校验参数;
所述处理单元,还用于根据所述第四校验参数与所述第三认证参数确定所述第一节点的PSK能力值的正确性认证通过;
所述处理单元,还用于根据所述第二节点的PSK能力值生成第四认证参数;
所述发送单元,还用于向所述第一节点发送所述第四认证参数。
第八方面,本申请实施例公开了一种蓝牙节点配对装置,包括:
发送单元,用于向第二节点发送配对请求消息,所述配对请求消息包含用于指示所述第一节点的配对能力的信息;所述第一节点的配对能力包括所述第一节点是否具有预共享密钥PSK配对能力和所述第一节点的输入输出能力;
接收单元,用于接收来自所述第二节点的配对响应消息,所述配对响应消息包含用于指示所述第二节点的配对能力的信息,所述第二节点的配对能力包括所述第二节点是否具有PSK配对能力和所述第二节点的输入输出能力;
处理单元,用于根据所述第一节点的配对能力的信息和所述第二节点的配对能力的信息确定配对模式;所述配对模式包括基于PSK进行配对、数字比较NC、直接工作JW或密码输入PE;
所述处理单元,还用于根据所述配对模式与所述第二节点进行配对。
可以看出,配对请求消息中包括第一节点的配对能力的信息,配对响应消息中包括第二节点的配对能力的信息。上述装置可以根据该第一节点与第二节点的配对能力的信息,根据需求确定对应的配对模式。例如,上述装置通过优先选择基于PSK配对,或者根据各个模式的优先级选择配对模式等等方法,可以确定出满足需求的配对模式。
尤其是对于不能输入不能输出NoInputNoOutput、只能显示DisplayOnly或者可以显示及输入是否DisplayYesNo的蓝牙节点,通过优先选择基于PSK配对,可以避免与不可信的节点进行配对,提高了节点的通信安全性。
在第八方面的一种可能的实施方式中,所述配对请求消息中包括输入输出能力IOC字段,所述IOC字段的一部分比特位中包括所述第一节点的PSK能力值,所述第一节点的PSK能力值用于指示所述第一节点是否具有PSK配对能力;
所述IOC字段的另一部分比特位用于指示所述第一节点的输入输出能力。
在第八方面的又一种可能的实施方式中,所述配对请求消息中包括PSK能力字段,PSK能力字段中包括所述第一节点的PSK能力值,所述第一节点的PSK能力值用于指示所述第一节点是否具有PSK配对能力;
所述配对请求消息中还包括输入输出能力IOC字段,所述IOC字段用于指示所述第一节点的输入输出能力。
在第八方面的又一种可能的实施方式中,所述处理单元,还用于:
确定所述第二节点与所述第一节点共享第一PSK;
根据所述第二节点的配对能力的信息确定所述第一节点具有PSK配对能力;
使用所述第一节点与所述第二节点共享的所述第一PSK进行配对。
在第八方面的又一种可能的实施方式中,所述处理单元,还用于获取所述第二节点的第二设备标识;
确定存在有与所述第二设备标识对应的所述第一PSK。
在第八方面的又一种可能的实施方式中,所述处理单元,具体用于:
根据所述第二节点的配对能力的信息确定所述第二节点不具有PSK配对能力;
根据所述第一节点的输入输出能力和所述第二节点的输入输出能力确定所述配对模式;所述配对模式为数字比较NC、直接工作JW或密码输入PE。
在第八方面的又一种可能的实施方式中,所述处理单元,具体用于:
根据所述第二节点的配对能力的信息所述第一节点具有PSK配对能力;
确定所述第二节点与所述第一节点共享第一PSK;
根据所述第一节点的输入输出能力和所述第二节点的输入输出能力确定第一配对模式;所述第一配对模式为数字比较NC、直接工作JW或密码输入PE;
根据所述第一配对模式的优先级和基于PSK进行配对的优先级确定配对模式。
在第八方面的又一种可能的实施方式中,所述接收单元,还用于接收来自所述第二节点的第二认证参数;
所述处理单元,还用于根据所述第一PSK验证所述第二认证参数。
在第八方面的又一种可能的实施方式中,所述处理单元,还用于根据所述第一PSK生成第一认证参数;
所述发送单元,还用于向所述第二节点发送所述第一认证参数。
在第八方面的又一种可能的实施方式中,所述接收单元,还用于接收来自所述第二节点发送的第二新鲜性参数;
所述处理单元,还用于根据所述第二新鲜性参数、第一公钥、第二公钥以及所述第一PSK生成所述第一认证参数;其中,所述第一公钥与第二公钥为生成第一节点与第二节点之间的共享密钥的参数。
在第八方面的又一种可能的实施方式中,所述发送单元,还用于向所述第二节点发送第一新鲜性参数;
所述处理单元,还用于根据所述第一新鲜性参数、第一公钥、第二公钥以及所述第一PSK生成第一校验参数;
所述处理单元,还用于根据第一校验参数与所述第二认证参数,确认所述第二认证参数验证通过。
在第八方面的又一种可能的实施方式中,所述接收单元,还用于接收来自所述第一节点的第三认证参数;
所述处理单元,还用于根据所述第一节点的PSK能力值生成第四校验参数;
所述处理单元,还用于根据所述第四校验参数与所述第三认证参数确定所述第一节点的PSK能力值的正确性认证通过;
所述处理单元,还用于根据所述第二节点的PSK能力值生成第四认证参数;
所述发送单元,还用于向所述第一节点发送所述第四认证参数。
第九方面,本申请实施例还提供一种蓝牙配对装置,所述蓝牙配对装置包括至少一个处理器和通信接口,所述通信接口用于发送和/或接收数据,所述至少一个处理器用于调用至少一个存储器中存储的计算机程序,以使得所述装置实现第一方面或者第一方面任意一种可能的实施方式,或者第二方面,或者第二方面任意一种可能的实施方式,或者第五方面,或者第五方面任意一种可能的实施方式,或者第六方面,或者第六方面任意一种可能的实施方式所描述的方法。
第十方面,本申请实施例还提供一种通信***,该通信***包括第一节点和第二节点,其中,该第一节点为上述第三方面或第三方面的任意一种可能的实施方式、或者上述第七方面或上述第七方面的任意一种可能的实施方式所描述的装置,该第二节点为上述第四方面或第四方面的任意一种可能的实施方式、或者上述第八方面或上述第八方面的任意一种可能的实施方式所描述的装置。
第十一方面,本申请实施例公开了一种计算机可读存储介质,所述计算机可读存储介质中存储有计算机程序,当所述计算机程序在一个或多个处理器上运行时,执行第一方面或第一方面的任意一种可能的实施方式、或者第二方面或第二方面的任意一种可能的实施方式、或者第五方面或第五方面的任意一种可能的实施方式、或者第六方面或第六方面的任意一种可能的实施方式所描述的方法。
第十二方面,本申请实施例公开了一种计算机程序产品,当所述计算机程序产品在一个或多个处理器上运行时,执行第一方面或第一方面的任意一种可能的实施方式、或者第二方面或第二方面的任意一种可能的实施方式、或者第五方面或第五方面的任意一种可能的实施方式、或者第六方面或第六方面的任意一种可能的实施方式所描述的方法。
第十三方面,本申请实施例公开了一种芯片***,所述芯片***包括至少一个处理器,存储器和接口电路,该接口电路用于为上述至少一个处理器提供信息输入/输出,该存储器中存储有计算机程序,当所述计算机程序在一个或多个处理器上运行时,执行第一方面或第一方面的任意一种可能的实施方式所描述的方法,或者执行第五方面或第五方面的任意一种可能的实施方式所描述的方法。
第十四方面,本申请实施例公开了一种芯片***,所述芯片***包括至少一个处理器,存储器和接口电路,该接口电路用于为上述至少一个处理器提供信息输入/输出,该存储器中存储有计算机程序,当所述计算机程序在一个或多个处理器上运行时,执行第二方面或第二方面的任意一种可能的实施方式所描述的方法,或者执行第六方面或第六方面的任意一种可能的实施方式所描述的方法。
第十五方面,本申请实施例公开了一种车辆,所述车辆包括第一节点(例如,汽车座舱域控制器CDC),其中所述第一节点为上述第三方面或第三方面的任意一种可能的实施方式、或者上述第七方面或上述第七方面的任意一种可能的实施方式所描述的装置。
进一步的,所述车辆还包括第二节点(例如,摄像头、屏幕、麦克风、音响、雷达、电子钥匙、无钥匙进入或启动***控制器等模块中的至少一个),所述第二节点为上述第四方面或第四方面的任意一种可能的实施方式、或者上述第八方面或上述第八方面的任意一种可能的实施方式所描述的装置。
附图说明
以下对本申请实施例用到的附图进行介绍。
图1是本申请实施例的一种使用场景示意图;
图2是本申请实施例提供的一种蓝牙配对方法的流程图;
图3是本申请实施例提供的一种配对请求消息的帧结构示意图;
图4是本申请实施例提供的又一种配对请求消息的帧结构示意图;
图5是本申请实施例提供的再一种配对请求消息的帧结构示意图;
图6是本申请实施例提供的一种确定配对模式的方法的示意图;
图7是本申请实施例提供的又一种蓝牙配对方法的流程图;
图8是本申请实施例提供的又一种蓝牙配对方法的流程图;
图9是本申请实施例提供的又一种蓝牙配对方法的流程图;
图10是本申请实施例提供的又一种蓝牙配对方法的流程图;
图11是本申请实施例提供的一种蓝牙配对装置的结构示意图;
图12是本申请实施例提供的又一种蓝牙配对装置的结构示意图。
具体实施方式
下面结合本申请实施例中的附图对本申请实施例进行描述。需要说明的是,本申请中,“示例性的”或者“例如”等词用于表示作例子、例证或说明。本申请中被描述为“示例性的”或者“例如”的任何实施例或设计方案不应被解释为比其他实施例或设计方案更优选或更具优势,使用“示例性的”或者“例如”等词旨在以具体方式呈现相关概念。
下面先对本申请涉及到的相关技术和专业术语进行简单的介绍以方便理解。
一、节点(node)
节点是具有数据收发能力的电子设备。例如,节点可以为汽车座舱(CockpitDomain)设备,或者汽车座舱设备中的一个模块(例如座舱域控制器(cockpit domaincontroller,CDC)、摄像头、屏幕、麦克风、音响、电子钥匙、无钥匙进入或启动***控制器等模块中的一个或者多个)。在具体实施过程中,节点还可以是数据中转设备,例如路由器、中继器、桥接器或交换机;也可以是一个终端设备,例如各种类型的用户设备(userequipment,UE)、手机(mobile phone)、平板电脑(pad)、台式电脑、耳机、音响等;还可以包括机器智能设备,如无人驾驶(self-driving)设备、运输安全(transportation safety)设备、虚拟现实(virtual reality,VR)终端设备、增强现实(augmented reality,AR)终端设备、机器类型通信(machine type communication,MTC)设备、工业控制(industrialcontrol)设备、远程医疗(remote medical)设备、智能电网(smart grid)设备、智慧城市(smart city)设备;还可以包括可穿戴设备(如智能手表,智能手环,计步器等)等等。在某些技术场景中,具备相类似数据收发能力的设备的名称也可能不称为节点,但是为了方便描述,本申请实施例中将具有数据收发能力的电子设备统称为节点。
二、共享密钥(shared key,SK)
共享密钥是通信双方的节点中保存的相同的秘密值,共享密钥可以是双方通过相同的密钥获取方法生成的。其中,预共享密钥(pre-shared key,PSK)也属于共享密钥的一种。
例如,车辆的座舱域控制器(cockpit domain controller,CDC)与车主的手机是可以通过蓝牙技术通信的两个节点。当车主需要通过手机与车辆的CDC进行配对时,可以先通过交换公钥生成共享密钥,如通过密钥协商算法在手机与车辆的CDC之间交换密钥协商算法参数生成共享密钥等。该共享密钥可以用于后续该手机再次请求与车辆的CDC进行配对时,验证双方节点的身份。
三、密钥协商
密钥协商是通信双方通过交互一部分参数,从而协商得到密钥的过程。用于密钥协商的密码算法称为密钥协商算法,也可以称为密钥交换算法。常用的密钥协商算法有迪菲赫尔曼(Diffie-Hellman,DH)算法、基于椭圆曲线密码(elliptic curvecryptosystems,ECC)的迪菲赫尔曼(ECDH)算法、奥克利(Oakley)算法、国密算法(如SM1、SM2、SM3和SM4)等。
四、蓝牙配对过程
蓝牙是一种短距的无线通讯技术,可以用于节点与节点之间进行无线信息交换。节点与节点之间通过蓝牙进行通信之间,需要先进行配对,配对的过程旨在两个蓝牙节点之间生成链路密钥(link key),该link key用于彼此认证身份并加密交换的数据。在实际应用中,通常两个节点不使用link key直接加密,而是通过link key导出会话密钥(session key)用于加交换的数据,其中,会话密钥可以包括加密密钥(encryption key)、完整性保护密钥(integrity key)等等中的一个或者多个。
蓝牙配对的方法主要有包括个人识别码/传统配对(personal identificationnumber/legacy pairing,PIN/LP)和安全简单配对(secure simple pairing,SSP)。其中,使用PIN/传统配对方法时,当两个蓝牙节点输入相同的密码PIN时,两个蓝牙节点导出linkkey,这种方法要求两个节点都具有输入能力,适用的场景较少且安全性较低。
五、输入输出(Input/Output,IO)能力
节点的输入输出功能,可以通过组合输入功能和输出功能得到。其中,输入功能可以是“No Input”、“Yes/No”(也可以表示为“YesNo”)或“Keyboard”,详述如下:
(1)“No Input”指节点不具有输入的“是”、“否”、以及其它数据的能力。
(2)“Yes/No”指节点至少有两个按钮(buttons),两个按钮可以映射到“是”和“否”,或者节点具有可以指示‘是’或‘否’的其它机制。
(3)“Keyboard”指节点至少有一个数字键盘,可以输入从‘0’到‘9’的数字或者其它字符等,以及一个确认(confirmation)。节点至少有两个按钮(buttons),两个按钮可以映射到“是”和“否”,或者节点具有可以指示‘是’或‘否’的其它机制。
输出功能可以是“No Output”或“Numeric Output”,详述如下:
(1)“No Output”指节点不具有显示或传递6位字符的能力。
(2)“Numeric Output”指节点具有显示或传递6位字符的能力。
输入和输出功能结合可以得到IO能力,参见表1,表1是本申请实施例提供的IO能力组合表。可以看出,节点的IO能力包括不能输入不能输出(NoInputNoOutput)、只能显示(DisplayOnly)、可以显示及输入是否(DisplayYesNo)、只能输入(KeyboardOnly)和可以输入可以显示(KeyboardDisplay)。
表1IO能力组合表
六、密钥派生
密钥派生是从一个秘密值中派生出一个或多个秘密值的过程,而用于派生密钥的算法称为密钥派生算法(key derivation function,KDF),又称为密钥导出算法。例如,通过秘密值Key派生的新的秘密值DK可以表示为:DK=KDF(Key)。
常用的密钥派生算法有基于密码的密钥派生函数(password-based keyderivation function,PBKDF)、斯克里普特(scrypt)算法等,其中PBKDF算法又包括第一代PBKDF1和第二代PBKDF2。可选的,一些KDF算法在派生密钥过程中,使用哈希算法对输入的秘密值进行哈希变化,因此KDF函数还可以接收算法标识作为输入,用于指示使用何种哈希算法。
七、新鲜性参数
新鲜性参数是密码学中常用的参数,通常用于生成密钥和认证参数等,也可以称为新鲜度或者新鲜参数,可以包括随机数值(number once,NONCE)、计数值(counter)、序列号(number)等等中的至少一个。其中,NONCE是一个只被使用一次的(或者说非重复的)随机数值。不同时刻生成的新鲜性参数通常不同,即新鲜性参数的具体取值,在每生成一次新鲜性参数时会发生变化,从而使得这一次生成密钥(或者认证参数等)所使用的新鲜性参数与上一次生成密钥(或者认证参数等)时所使用的新鲜性参数不同的,可以提高生成的密钥的安全性。
例如,新鲜性参数可以是节点通过随机数发生器(random number generator)获取的随机数。
下面对本申请实施例的***架构和业务场景进行描述。需要说明的是,本申请描述的***架构及业务场景是为了更加清楚的说明本申请的技术方案,并不构成对于本申请提供的技术方案的限定,本领域普通技术人员可知,随着***架构的演变和新业务场景的出现,本申请提供的技术方案对于类似的技术问题,同样适用。
请参见图1,图1是本申请实施例提供的一种蓝牙节点配对方法的使用场景示意图。车辆的座舱域控制器(cockpit domain controller,CDC)101是智能座舱设备中的控制中心,可以看作为第一节点,智能手机102可以看作为第二节点。其中,智能手机102可以向CDC101发送配对请求消息,请求与CDC101进行配对。CDC101可以根据配对请求消息中描述的智能手机102的输入输出能力,选择配对模式进行配对。通常来说,智能手机102可以支持输入和显示,而CDC101也可以支持输入和显示,因此可以使用数字比较,密钥输入等方式进行配对。但是,若攻击者此时进入车辆,通过攻击者的手机连接CDC101时,由于数字比较方式不能防止攻击者连接CDC101,从而使得CDC101与攻击者的手机连接成功,威胁车辆安全。
再如,若CDC101连接蓝牙耳机时,由于蓝牙耳机无法输入也不能显示内容,因此只能通过直接工作方式连接。此外,若攻击者请求连接该蓝牙耳机,蓝牙耳机也会与攻击者的设备配对成功,从而导致蓝牙耳机受到安全威胁,因此现有的配对方法不能满足节点对于安全性的需求。
请参见图2,图2是本申请实施例提供的一种蓝牙配对方法的流程示意图,该方法包括但不限于如下步骤:
步骤S201:第一节点向第二节点发送配对请求消息。
具体的,配对请求消息包含用于指示第一节点是否具有预共享密钥(pre-sharedkey,PSK)配对能力的信息。其中,若第一节点中存在有与第二节点共享的第一PSK,则第一节点具有PSK配对能力;相应的,若第一节点中不存在与第二节点共享的第一PSK,则第一节点不具有PSK配对能力。
配对请求中包含用于指示第一节点是否具有PSK配对能力的信息,具体可以通过以下几种方式实现:
实现方式一:配对请求消息中包括输入输出能力IOC字段,该IOC字段中包含用于指示第一节点是否具有PSK配对能力的信息。例如,参见图3,图3是本申请实施例提供的一种可能的配对请求消息的示意图,该配对请求消息301中包括消息码(Code)、IO能力(IOCapability,IOC)、带外设备数据标识(OOB Data Flag)、配置请求(AuthReq)、最大密钥大小(Maximum Encryption Key Size)、发起者密钥分发(Initiator Key Distribution)、响应者密钥分发(Responder Key Distribution)等字段。Code用于指示消息的类型,例如0x01表示请求消息,0x02表示响应消息;AuthReq中可以包括绑定标志(Bonding_Flags,BF)、中间人保护(Man-In-The-Middle,MITM)、安全连接标志(Secure Connections,SC)、密钥输入标志(keypress)等标识;最大密钥大小用于指示支持的最长的密钥长度(通常为7-16字节之间);发起者密钥分发和响应者密钥分发用于指示密钥分发的方法。最高有效位(most significant bit,MSB)为二进制数字的最高加权位,与十进制数字中最左边的一位类似;相应的,最低有效位(least significant bit,LSB)为二进制数字的最低加权位,与十进制数字中最右边的一位类似。
其中,IOC字段用于指示第一节点中具有的输入输出能力,参见表2,表2是本申请实施例提供的一种IOC字段的值与该值对应的描述。可以看出,配对请求消息中的IOC字段的值为0x05时,可以指示第一节点具有PSK配对能力;相应的,该IOC的字段的值为其他值时,可以指示第一节点不具有PSK配对能力。进一步的,IOC的字段的值为其他值时,可以具体指示第一节点具有的输入输出能力,例如IOC字段的值为0x01,可以指示第一节点的输入输出能力为只能显示(DisplayOnly)。
表2IOC的值与该值对应的描述
值(Value) | 描述(Description) |
0x00 | 只能显示(DisplayOnly) |
0x01 | 可以显示及输入是否(DisplayYesNo) |
0x02 | 只能输入(KeyboardOnly) |
0x03 | 不能输入不能输出(NoInputNoOutput) |
0x04 | 可以输入可以显示(KeyboardDisplay) |
0x05 | 具有PSK配对能力(Pre-shared key) |
0x06-0xFF | 保留值(Reserved for future use) |
实现方式二:配对请求消息中包括IOC字段,该IOC字段的一部分比特位中包括第一节点的PSK能力值,该第一节点的PSK能力值用于指示第一节点是否具有PSK配对能力。参见图4,图4是本申请实施例提供的一种可能的配对请求消息的示意图,配对请求消息701中包括Code、IOC、OOB Data Flag、AuthReq、Maximum Encryption Key Size、Initiator KeyDistribution、Responder Key Distribution等字段。
其中,IOC字段包括八个比特位(一个字节),IOC字段中的2个比特(bits)用于指示第一节点是否具有PSK配对能力。具体的,IOC字段中的2个比特中包含第一节点的PSK能力值,该第一节点的PSK能力值用于指示第一节点是否具有PSK配对能力。参见表3,表3是本申请实施例提供的一种可能的PSK能力值与该值对应的描述,例如,PSK能力值为“01”表示第一节点中具有PSK配对能力或者说存在与第二节点共享的第一PSK,因此可以支持基于PSK进行配对,再如PSK能力值为“00”表示第一节点中不具有PSK配对能力或者说不存在与第二节点共享的第一PSK,此时不支持基于PSK进行配对,需要通过其他方式进行配对。
表3PSK能力值与该值对应的描述
值(Value) | 描述(Description) |
00 | 不具有PSK配对能力(No Pre-shared key) |
01 | 具有PSK配对能力(Pre-shared key) |
10 | 保留值(Reserved for future use) |
11 | 保留值(Reserved for future use) |
可以理解的,本申请实施例中以一部分比特位为2个比特位为例,具体实现中也可以是其他位数的比特位,例如可以为3个比特位,其中“000”指示不具有PSK配对能力,“001”指示具有PSK配对能力,而“002”-“111”作为保留值。
可选的,参见图4,IOC字段的另一部分比特位可以用于指示第一节点的输入输出能力,从而使得第二节点可以根据第一节点的输入输出能力确定配对模式,例如,IOC字段中的6个比特位的值为0x01,表示第一节点的输入输出能力为只能显示(DisplayOnly),若第二节点的输入输出能力为可以显示可以输入KeyboardDisplay,则第一节点和第二节点之间可以通过密码输入(Passkey entry,PE)方式进行匹配。
实现方式三:配对请求消息中包括PSK能力字段,PSK能力字段中包括第一节点的PSK能力值,该第一节点的PSK能力值用于指示第一节点是否具有PSK配对能力。参见图5,图5是本申请实施例提供的一种可能的配对请求消息的示意图,配对请求消息501中包括Code、IOC、OOB Data Flag、AuthReq、Maximum Encryption Key Size、Initiator KeyDistribution、Responder Key Distribution、PSK能力等字段。
其中,PSK能力字段用于指示第一节点是否具有PSK配对能力。具体的,PSK能力字段包含第一节点的PSK能力值,该第一节点的PSK能力值用于指示第一节点是否具有PSK配对能力。参见表4,表4是本申请实施例提供的又一种可能的PSK能力值与该值对应的描述,例如,PSK能力值为0x01表示第一节点中具有PSK配对能力或者说存在与第二节点共享的第一PSK,因此可以支持基于PSK进行配对,再如PSK能力值为0x00表示第一节点中不具有PSK配对能力或者说不存在与第二节点共享的第一PSK,此时不支持基于PSK进行配对,需要通过其他方式进行配对。
表4PSK能力值与该值对应的描述
值(Value) | 描述(Description) |
0x00 | 不具有PSK配对能力(No Pre-shared key) |
0x01 | 具有PSK配对能力(Pre-shared key) |
0x02-0xFF | 保留值(Reserved for future use) |
可选的,参见图4,IOC可以用于指示第一节点的输入输出能力,从而使得第二节点可以根据第一节点的输入输出能力确定配对模式,例如,IOC字段中的值为0x01,表示第一节点的输入输出能力为只能显示(DisplayOnly)。
可选的,第一节点发送配对请求消息之前,先确定是否与第二节点共享的PSK,为了方便描述,本申请各个实施例中将第一节点与第二节点共享的PSK称为第一PSK。若第一节点确定与第二节点共享第一PSK,则配对请求消息中包含指示第一节点具有PSK配对能力的信息;相应的,若第一节点中不存在与第二节点共享的第一PSK,则配对请求消息中包含指示第一节节点不具有PSK配对能力的信息。
进一步可选的,第一节点中存储有至少一个节点的设备标识与对应的PSK的对应关系,其中,节点的设备标识可以为节点的身份标识(identification,ID)、媒体存取控制(media access control,MAC)地址、域名、域地址或其他自定义的标识。第一节点可以获取第二节点的设备标识(为了方便描述,将第二节点的设备标识称为第二设备标识),根据第二设备标识确定第一节点中是否存在有与第二设备标识对应的第一PSK。若第一节点中存在有第二设备标识对应的第一PSK,则表征第一节点具有PSK配对能力。例如,参见表5,表5是本申请实施例提供的一种可能的节点的设备标识与PSK的对应关系,若第一节点获取的第二设备标识为“ID1”,可以看出“ID1”对应的PSK为“PSK1”,则第一节点可以在配对请求消息中包含指示第一节点具有PSK配对能力的信息。
表5节点标识与密钥配置类型的对应关系
可以理解的,第一节点向第二节点发送配对请求消息,相应的,第二节点接收来自第一节点的配对请求消息,从而获取配对请求消息中的消息内容。
步骤S202:响应于配对请求消息中包含用于指示第一节点具有PSK配对能力的信息,第二节点向第一节点发送配对响应消息。
具体地,配对请求消息中包含用于指示第一节点具有PSK配对能力的信息,因此第二节点根据该信息可以得到第一节点具有PSK配对能力,表明第一节点与第二节点之间可以基于PSK进行配对,因此第二节点向第一节点发送配对响应消息。
该配对响应消息用于指示使用所述第一节点与所述第二节点共享的第一PSK进行配对,具体存在以下两种情况:
情况一:配对响应消息中包括指示配对模式的信息,例如,配对响应消息中包括“配对模式05”,该“配对模式05”对应于基于PSK进行配对,即,指示第一节点使用所述第一节点与所述第二节点共享的第一PSK进行配对。
情况二:配对响应消息中包含指示第二节点具有PSK配对能力的信息,指示第一节点使用所述第一节点与所述第二节点共享的第一PSK进行配对。具体的,配对响应消息中包含指示第二节点具有PSK配对能力的信息,可以有如下几种实施方案:
实施方案一:配对响应消息中包括输入输出能力IOC字段,该IOC字段中包含用于指示第二节点是否具有PSK配对能力的信息。例如,配对响应消息中的IOC字段的值为0x05时,可以指示第二节点具有PSK配对能力;相应的,该IOC的字段的值为其他值时,可以指示第一节点不具有PSK配对能力,从而可以指示第一节点无法基于PSK进行配对。进一步的,IOC的字段的值为其他值时,可以具体指示第二节点具有的输入输出能力,例如IOC字段的值为0x01,可以指示第二节点的输入输出能力为只能显示(DisplayOnly)。
实施方案二:配对响应消息中包括IOC字段,该IOC字段的一部分比特位中包括第二节点的PSK能力值,该第二节点的PSK能力值用于指示第二节点是否具有PSK配对能力。例如,IOC字段中的2个比特中包含第一节点的PSK能力值,PSK能力值为“01”表示第二节点中具有PSK配对能力或者说存在与第一节点共享的第一PSK,因此可以支持基于PSK进行配对。可选的,若PSK能力值为“00”,则可以表示第二节点中不具有PSK配对能力的信息或者说不存在与第一节点共享的第一PSK,此时不支持基于PSK进行配对,需要通过其他配对模式进行配对。
可以理解的,本申请实施例中以该一部分比特位为2个比特位为例,具体实现中也可以是其他位数的比特位,例如可以为3个比特位,其中“000”指示不具有PSK配对能力,“001”指示具有PSK配对能力,而“002”-“111”作为保留值。
可选的,IOC字段的另一部分比特位可以用于指示第二节点的输入输出能力,从而使得第一节点可以根据第一节点的输入输出能力确定其他的配对模式,例如,IOC字段中的6个比特位的值为0x04,表示第二节点的输入输出能力为可以显示可以输入KeyboardDisplay,若第一节点的输入输出能力为只能显示(DisplayOnly),则第一节点和第二节点之间可以通过密码输入(Passkey entry,PE)方式进行匹配。
实施方案三:配对响应消息中包括PSK能力字段,PSK能力字段中包括第二节点的PSK能力值,该第二节点的PSK能力值用于指示第二节点是否具有PSK配对能力。例如,PSK能力值为0x01表示第二节点中具有PSK配对能力或者说存在与第一节点共享的第一PSK,因此可以支持基于PSK进行配对。可选的,若PSK能力值为0x00,则可以表示第二节点中不具有PSK配对能力的信息或者说不存在与第一节点共享的第一PSK,此时不支持基于PSK进行配对,需要通过其他方式进行配对。
可选的,配对响应消息中还包括IOC字段,该IOC字段可以用于指示第二节点的输入输出能力,从而使得第一节点可以根据第二节点的输入输出能力确定配对模式,例如,IOC字段中的值为0x04,表示第一节点的输入输出能力为可以显示可以输入KeyboardDisplay。
可选的,第二节点发送配对响应消息之前,先确定是否存在与第一节点共享的第一PSK。若第二节点确定与第一节点共享第一PSK,则配对响应消息中包含指示基于PSK进行配对的信息;相应的,若第二节点中不存在与第二节点共享的第一PSK,则可以向第二节点发送配对失败消息、或者在配对响应消息中携带不具有PSK配对能力的信息、或者在配对响应消息中携带第二节点的输入输出能力便于确定其他配对模式。
进一步可选的,第二节点中存储有至少一个节点的设备标识与对应的PSK的对应关系。第二节点可以获取第一节点的设备标识(为了方便描述,将第一节点的设备标识称为第一设备标识),根据第一设备标识确定第二节点中是否存在有与第一设备标识对应的第一PSK。若第二节点中存在有第一设备标识对应的第一PSK,则表征第二节点存在有与第一节点共享的第一PSK。
可选的,在配对请求消息中还包括第一节点的输入输出能力的情况下,第二节点可以根据第一节点的输入输出能力和第二节点的输入输出能力确定第一配对模式,例如,参见图6,图6是本申请实施例提供的一种可能的确定第一配对模式的方式,其中,区域601为第一节点的IO能力,区域602为第二节点的IO能力,可以看出,根据第一节点的输入输出能力和第二节点的输入输出能力确定第一配对模式,该第一配对模式可以为数字比较(Numeric comparison,NC)、直接工作(Just work,JW)或者密码输入(Passkey entry,PE)。例如,第一节点的IO能力为可以显示及输入是否(DisplayYesNo),第二节点的IO能力为可以显示及输入是否(DisplayYesNo),则对应的配对模式为数字比较模式。
这里需要说明的是,带外设备模式通常需要基于其他的设备进行完成,因此需要在配对请求消息中携带对应的带外设备数据标志(OOB Data Flag)进行指示使用带外设备模式进行配对。
进一步可选的,在第一节点与第二节点之间支持多种配对模式时,第二节点可以根据配对请求消息和预先配置的配对模式优先级信息确定配对模式,从而向第一节点发送指示不同配对模式的响应消息。其中,第二节点可以优先选择基于PSK配对,或者也可以根据配对模式的优先级选择优先级较高的配对模式。例如,所述配对模式优先级信息指示当所述第一节点与所述第二节点共享有PSK时,使用所述第一节点与所述第二节点之间共享的PSK进行配对在多个配对模式中享有最高优先级。再如,配对模式优先级信息可以为:基于PSK配对的优先级为2,数字比较模式的优先级为3,密码输入模式的优先级为1。当第一节点与第二节点都具有PSK配对能力时,若第一节点的IO能力与第二节点的IO能力对应的配对模式为密码输入模式,由于密码输入模式的优先级高于基于PSK配对的优先级,则第二节点可以选择密码输入模式进行配对;相应的,若第一节点的IO能力与第二节点的IO能力对应的配对模式为数字比较模式,由于基于PSK配对的优先级高于数字比较模式的优先级,则第二节点可以选基于PSK配对。
可以理解的,第二节点向第一节点发送配对响应消息,相应的,第一节点就接收第二节点反馈的配对响应消息,从而获取配对响应消息中的消息内容。
步骤S203:第二节点根据第一PSK对第一节点进行认证。
具体地,第一节点与第二节点共享第一PSK,因此第二节点可以通过第一PSK对第一节点进行认证。具体可以有以下几种方式:
方式一:第二节点向第一节点发送第一认证数据,该第一认证数据可以是经过第一PSK进行加密的或者经过第一PSK推演出(或者说导出)的会话密钥进行加密的。若第一节点可以解密该认证数据并反馈相应的响应数据,则第二节点认证该第一节点成功。
方式二:第二节点接收来自第一节点的第一认证参数,该第一认证参数为第一节点根据第一PSK生成的。例如,第一认证参数C1为第一节点根据第一PSK,通过密钥派生算法KDF生成的,例如:C1=KDF(第一PSK)。由于第二节点也具有该第一PSK,因此可以通过相应的方式,检验该第一认证参数,例如,第二节点根据KDF1(第一PSK)与第一认证参数C1,可以确认第一节点中的第一PSK与第二节点中的第一PSK是否一致,从而可以认证第一节点的身份。进一步的,第二节点可以根据第二节点中的第一PSK生成第二校验参数check2,例如:check2=KDF(第一PSK),若第二校验参数与第一认证参数相同,则第一节点中的第一PSK与第二节点中的第一PSK一致,从而可以认证第一节点的身份。
可选的,参与生成第一认证参数的参数还可以包括第一节点与第二节点之间交换的其他参数,如新鲜性参数、公钥、配置参数、配对消息等等中的一项或者多项。具体可以参考如下案例:
案例一:第二节点向第一节点发送新鲜性参数(为了方便描述,将第二节点的发送的新鲜性参数称为第二新鲜性参数),其中,该新鲜性参数可以包括第二节点获取(或者生成)的NONCE、counter、序列号(number)等等中的至少一个。第一节点根据该第二新鲜性参数N2和第一PSK生成第一认证参数C1,例如:C1=KDF(N2,第一PSK)。第二节点接收来自第一节点的第一认证参数C1,根据相同的方法生成第二校验参数check2,例如:check2=KDF(N2,第一PSK),若第二校验参数与第一认证参数相同,则第一节点中的第一PSK与第二节点中的第一PSK一致,从而可以认证第一节点的身份。
案例二:第二节点与第一节点之间预先生成(或者获取)有共享密钥,该共享密钥是第一节点与第二节点之间通过交换第一公钥和第二公钥从而协商生成的。第一节点根据该第二新鲜性参数N2、第一PSK、第一公钥PK1和第二公钥PK2生成第一认证参数C1,例如:C1=KDF(N2,第一PSK,PK1,PK2)。第二节点接收来自第一节点的第一认证参数C1,根据相同的方法生成第二校验参数check2,例如:check2=KDF(N2,第一PSK,PK1,PK2),若第二校验参数与第一认证参数相同,则第一节点中的第一PSK与第二节点中的第一PSK一致,从而可以认证第一节点的身份。
步骤S204:第一节点根据第一PSK对第二节点进行认证。
具体地,第一节点与第二节点共享第一PSK,因此第一节点可以通过第一PSK对第二节点进行认证。下面对认证的方式对简要的说明,详细的描述可以参见步骤S203中第二节点一侧相应的描述。第一节点根据第一PSK对第二节点进行认证,具体可以有以下几种方式:
方式一:第一节点向第二节点发送第二认证数据,该第二认证数据可以是经过第一PSK进行加密的或者经过第一PSK推演出(或者说导出)的会话密钥进行加密的。若第二节点可以解密该认证数据并反馈相应的响应数据,则第一节点认证该第二节点成功。
方式二:第一节点接收来自第二节点的第二认证参数,该第二认证参数为第二节点根据第一PSK生成的。例如,第二认证参数C2为第二节点根据第一PSK,通过密钥派生算法KDF生成的,例如:C2=KDF(第一PSK)。由于第一节点也具有该第一PSK,因此可以通过相应的方式,检验该第二认证参数,例如,第一节点根据KDF(第一PSK)与第二认证参数C2,可以确认第二节点中的第一PSK与第一节点中的第一PSK是否一致,从而可以认证第二节点的身份。进一步的,第一节点可以根据第一节点中的第一PSK生成第一校验参数check1,例如:check1=KDF(第一PSK),若第一校验参数与第二认证参数相同,则第二节点中的第一PSK与第一节点中的第一PSK一致,从而可以认证第二节点的身份。
可选的,参与生成第二认证参数的参数还可以包括第一节点与第二节点之间交换的其他参数,如新鲜性参数、公钥、配置参数、配对消息等等中的一项或者多项。具体可以参考如下案例:
案例一:第一节点向第二节点发送新鲜性参数(为了方便描述,将第一节点的发送的新鲜性参数称为第一新鲜性参数),其中,该新鲜性参数可以包括第一节点获取(或者生成)的NONCE、counter、序列号(number)等等中的至少一个。第二节点根据该第一新鲜性参数N1和第一PSK生成第二认证参数C2,例如:C2=KDF(N1,第一PSK)。第一节点接收来自第二节点的第二认证参数C2,根据相同的方法生成第一校验参数check1,例如:check1=KDF(N1,第一PSK),若第一校验参数与第二认证参数相同,则第二节点中的第一PSK与第一节点中的第一PSK一致,从而可以认证第二节点的身份。
需要说明的是,这里是为了更清楚的阐述方案,所以以多个步骤的方式解释如何验证认证参数,在实际的处理中,也可以是通过一个步骤完成,例如,验证第二认证参数C2时,第一校验参数check1只是一个中间的结果,即第一节点可以直接验证C2与KDF(N1,第一PSK)是否相同。
案例二:第一节点与第二节点之间预先生成(或者获取)有共享密钥,该共享密钥是第一节点与第二节点之间通过交换第一公钥和第二公钥从而协商生成的。第二节点根据第一新鲜性参数N1、第一PSK、第一公钥PK1和第二公钥PK2生成第二认证参数C2,例如:C2=KDF1(N1,第一PSK,PK1,PK2)。第一节点接收来自第二节点的第二认证参数C2,根据相同的方法生成第一校验参数check1,例如:check1=KDF1(N1,第一PSK,PK1,PK2),若第一校验参数与第二认证参数相同,则第二节点中的第一PSK与第一节点中的第一PSK一致,从而可以认证第二节点的身份。
可选的,在第一配对请求消息中包括第一节点的PSK能力值的情况下,第二节点可以认证第一节点的PSK能力值的正确性,避免第一节点的PSK能力值被纂改。具体的,第二节点接收来自第一节点的第三认证参数,该第三认证参数为第一节点根据第一节点的PSK能力值生成的,第二节点根据从配对请求消息中获取的第一节点的PSK能力值,生成第四校验参数,根据第四校验参数和第三认证参数确定第一节点的PSK能力值的正确性。例如,第一配对请求消息中,第一节点的PSK能力值为“01”,则第一节点通过KDF生成第三认证参数C3,如:C3=KDF(“01”),相应的,第二节点生成第四校验参数check4=KDF(“01”),若第三认证参数C3与第四校验参数check4相等,则第一节点的PSK能力值正确性认证成功。
可选的,在第一响应请求消息中包括第二节点的PSK能力值的情况下,第二节点可以认证第二节点的PSK能力值的正确性。具体的,第一节点接收来自第二节点的第四认证参数,该第四认证参数为第二节点根据第二节点的PSK能力值生成的,第一节点根据从配对响应消息中获取的第二节点的PSK能力值,生成第三校验参数,根据第三校验参数和第四认证参数确定第二节点的PSK能力值的正确性。例如,第一配对响应消息中,第二节点的PSK能力值为“01”,则第二节点通过KDF生成第四认证参数C4,如:C4=KDF(“01”),相应的,第一节点生成第三校验参数check3=KDF(“01”),若第四认证参数C4与第三校验参数check3相等,则第二节点的PSK能力值正确性认证成功。
进一步可选的,参与生成第三认证参数C3、第四认证参数C4的还可以包括其他参数,如共享密钥Kdh、第一随机数、第二随机数、第一公钥、第二公钥等等中的一个或者多个参数。例如,第三认证参数C3可以是根据共享密钥Kdh、第一随机数N1、第二随机数N2、第一节点的PSK能力值“01”、第一公钥PK1和第二公钥PK2,通过密码算法f3生成,如:C3=f3(Kdh,N1,N2,“01”,PK1,PK2);相应的,第四认证参数可以是根据共享密钥Kdh、第一随机数N1、第二随机数N2、第二节点的PSK能力值“01”、第一公钥PK1和第二公钥PK2,通过密码算法f3生成,如:C4=f3(Kdh,N1,N2,“01”,PK1,PK2)。
可以理解的,上述步骤S203以及步骤S204可以对应于蓝牙配对过程中的认证阶段一。前述对第一节点和第二节点的PSK能力值的正确性验证,可以对应于蓝牙配对过程中的认证阶段二,此时,第三认证参数为认证阶段二中的验证参数verify E1,第四认证参数为认证阶段二中的验证参数verify E2。
在图2所示的方法中,PSK是第一节点与第二节点之间共享的一个秘密值,第一节点中预先定义或者配置有与第二节点共享的PSK,因此可以在配对请求消息中包含指示第一节点具有PSK配对能力的信息。相应的,第二节点中也预先定义或者预先配置有与第一节点共享的PSK(便于描述,称为第一PSK),第二节点可以根据所述第一PSK对所述第一节点进行认证,从而确定第一节点的身份可信,使得后续可以成功配对。这样一来,由于预先配置有或者定义有PSK的节点的身份通常是可信的,避免了第一节点、第二节点与不可信的节点配对成功,从而提高了节点配对过程中的安全性。
请参见图7,图7是本申请实施例提供的一种蓝牙配对方法的流程示意图,该方法包括但不限于如下步骤:
步骤S701:第一节点向第二节点发送配对请求消息。
具体的,配对请求消息包含用于指示所述第一节点的配对能力的信息,该第一节点的配对能力包括第一节点是否具有PSK配对能力。进一步的可选的,第一节点的配对能力还包括第一节点的IO能力。
例如,参见图3所示,配对请求消息301中的IOC字段包括第一节点具有PSK配对能力的信息。
再如,参见图4所示,配对请求消息401中的IOC字段的一部分比特位中包括第一节点的PSK能力值,该PSK能力值用于指示第一节点是否具有PSK配对能力。IOC字段的另一部分比特位中包括第一节点的IO能力。
再如,参见图5所示,配对请求消息501中的PSK能力字段中包括第一节点的PSK能力值,该PSK能力值用于指示第一节点是否具有PSK配对能力。配对请求消息701中的IOC字段中包括第一节点的IO能力。
可以理解的,第一节点向第二节点发送配对请求消息,相应的,第二节点就接收来自第一节点的配对请求消息,从而获取配对请求消息中的消息内容。
步骤S702:第二节点根据第一节点的配对能力的信息和第二节点的配对能力的信息,确定配对模式。
具体地,配对模式可以包括基于PSK进行配对、数字比较NC、直接工作JW或密码输入PE等模式。第二节点根据第一节点的配对能力的信息和第二节点的配对能力的信息确定配对模式,至少可以有以下几种情况:
情况一:配对请求消息中包括第一节点具有PSK配对能力的信息,第二节点确定与第一节点共享第一PSK,则第二节点使用所述第一节点与所述第二节点共享的所述第一PSK进行配对。具体的,第一节点具有PSK配对能力,若第二节点中存在有与第一节点共享的第一PSK,则确定配对模式为基于PSK进行配对。
其中,第二节点可以获取第一节点的设备标识,若第二节点中存在有第一节点的设备标识对应的第一PSK,则表征第二节点中存在有与第一节点共享的第一PSK,第二节点具有PSK配对能力。
可以理解的,在这种情况下,基于PSK配对的方式优先,若第一节点与第二节点都具有PSK配对能力,则使用共享的第一PSK进行配对。
情况二:配对请求消息中包括第一节点不具有PSK配对能力的信息,或者第二节点不具有PSK配对能力(或者说第二节点中不存在与第一节点共享的第一PSK),而配对请求消息中还包括第一节点的IO能力,则第二节点根据第一节点的IO能力和第二节点的IO能力,确定配对模式。例如,参见图6,第一节点的IO能力为可以显示及输入是否(DisplayYesNo),第二节点的IO能力为可以显示及输入是否(DisplayYesNo),则对应的配对模式为数字比较模式。
情况三:配对请求消息中包括第一节点具有PSK配对能力的信息,第二节点中存在与第一节点共享的第一PSK;配对请求消息中还包括第一节点的IO能力,第二节点根据第一节点的IO能力和第二节点的IO能力,确定第一配对模式;根据第一配对模式的优先级和基于PSK进行配对的优先级确定配对模式。例如,基于PSK配对的优先级为2,数字比较模式的优先级为3,密码输入模式的优先级为1,当第一节点与第二节点都具有PSK配对能力时,若第一节点的IO能力与第二节点的IO能力对应的配对模式为密码输入模式,由于密码输入模式的优先级高于基于PSK配对的优先级,则第二节点可以选择密码输入模式进行配对;相应的,若第一节点的IO能力与第二节点的IO能力对应的配对模式为数字比较模式,由于基于PSK配对的优先级高于数字比较模式的优先级,则第二节点可以选基于PSK配对。
可选的,第二节点可以选择支持安全性较高的配对模式,例如,第二节点只支持基于PSK配对、数字比较和密码输入模式,对于根据IO能力确定为直接工作模式的节点,第二节点可以发送配对失败的消息,从而避免第二节点通过直接工作模式与不可信的节点配对。
步骤S703:第二节点向第一节点发送配对响应消息。
具体地,配对响应消息中包含用于指示所述第二节点的配对能力的信息,第二节点的配对能力包括第二节点是否具有PSK配对能力,第二节点的配对能力还包括第二节点的IO能力。
例如,配对响应消息中的IOC字段包括第二节点具有PSK配对能力的信息。
再如,配对响应消息中的IOC字段的一部分比特位中包括第二节点的PSK能力值,该PSK能力值用于指示第二节点是否具有PSK配对能力。IOC字段的另一部分比特位中包括第二节点的IO能力。
再如,配对响应消息中的PSK能力字段中包括第二节点的PSK能力值,该PSK能力值用于指示第二节点是否具有PSK配对能力。配对响应消息中的IOC字段中包括第一节点的IO能力。
可以理解的,该第二节点的配对能力与第二节点的选择的配对模式相关,若第二节点确定的配对模式为基于PSK配对的情况下,则配对响应消息中包括有第二节点具有PSK能力的信息;相应的,若第二节点确定的配对模式为根据第一节点的IO能力和第二节点的IO能力确定的,则配对响应消息中包含第二节点的IO能力。
可以理解的,第二节点向第一节点发送配对响应消息,相应的,第一节点就接收第二节点反馈的配对响应消息,从而获取配对响应消息中的消息内容。
步骤S704:第二节点根据配对模式与第一节点进行配对。
具体地,若第二节点确定配对模式为基于PSK进行配对,则第二节点使用与第一节点共享的第一PSK对第一节点进行认证。详细过程可以参考步骤S203中的具体描述,此处不在赘述。
若第二节点确定配对模式为根据第一节点的IO能力和第二节点的IO能力确定的第一配对模式,则按照相应的配对流程进行配对。
步骤S705:第一节点根据第一节点的配对能力的信息和第二节点的配对能力的信息,确定配对模式。
具体地,配对模式可以包括基于PSK进行配对、数字比较、直接工作或密码输入等模式。第一节点根据第一节点的配对能力的信息和第二节点的配对能力的信息确定配对模式,至少可以有以下几种情况:
情况一:配对响应消息中包括第二节点具有PSK配对能力的信息,若第一节点也具有PSK配对能力(或者说第一节点存在与第二节点的共享PSK),则第一节点使用第一节点与第二节点共享的第一PSK进行配对。
可以理解的,在这种情况下,基于PSK配对的方式优先,若第一节点与第二节点都具有PSK配对能力,则使用共享的第一PSK进行配对。
情况二:配对响应消息中包括第二节点不具有PSK配对能力的信息,或者第一节点不具有PSK配对能力(或者说第一节点中不存在与第二节点共享的第一PSK),而配对响应消息中还包括第二节点的IO能力,则第一节点根据第一节点的IO能力和第二节点的IO能力,确定配对模式。例如,参见图6,第一节点的IO能力为可以显示及输入是否(DisplayYesNo),第二节点的IO能力为可以显示及输入是否(DisplayYesNo),则对应的配对模式为数字比较模式。
情况三:配对响应消息中包括第二节点具有PSK配对能力的信息,第一节点中存在与第二节点共享的第一PSK;配对响应消息中还包括第二节点的IO能力,第一节点根据第一节点的IO能力和第二节点的IO能力,确定第一配对模式;根据第一配对模式的优先级和基于PSK进行配对的优先级确定配对模式。
可选的,第一节点可以选择支持安全性较高的配对模式,例如,第一节点只支持基于PSK配对、数字比较和密码输入模式,对于根据IO能力确定为直接工作模式的节点,第一节点可以发送配对失败的消息,从而避免第一节点通过直接工作模式与不可信的节点配对。
在一种可能的方案中,根据协议规定,第二节点使用什么方式确定配对模式,第一节点也使用相同的方式确定配对模式,从而使得第一节点与第二节点确定的配对方式是相同的。
步骤S706:第一节点根据配对模式与第二节点进行配对。
具体地,若第一节点确定配对模式为基于PSK进行配对,则第一节点使用与第二节点共享的第一PSK对第二节点进行认证。详细过程可以参考步骤S204中的具体描述,此处不在赘述。
若第二节点确定配对模式为根据第一节点的IO能力和第二节点的IO能力确定的第一配对模式,则按照相应的配对流程进行配对。
在图7所示的实施例中,配对请求消息中包括第一节点的配对能力的信息,配对响应消息中包括第二节点的配对能力的信息。第一节点、第二节点可以根据该第一节点与第二节点的配对能力的信息,根据需求确定对应的配对模式。例如,第二节点通过优先选择基于PSK配对,或者根据各个模式的优先级选择配对模式等等方法,可以确定出满足第二节点需求的配对模式。
尤其是对于不能输入不能输出NoInputNoOutput、只能显示DisplayOnly或者可以显示及输入是否DisplayYesNo的蓝牙节点,通过优先选择基于PSK配对,可以避免与不可信的节点进行配对,提高了节点的通信安全性。
以上图2所示的方法实施例中包含了很多可能的实现方案,下面分别结合图8、图9、图10对其中的部分实现方案进行举例说明,需要说明的是,图8、图9、图10未解释到的相关概念或者操作或者逻辑关系可以参照图2所示实施例中的相应描述,因此不再赘述。
请参见图8,图8是本申请实施例提供的一种蓝牙配对方法的流程示意图,该方法包括但不限于如下步骤:
步骤S801:第一节点确定存在有与第二节点共享的第一PSK。
具体的,第一节点获取第二节点的第二设备标识,若根据第二设备标识确定第一节点中存在有与第二设备标识对应的第一PSK,则表明第一节点存在有与第二节点共享的第一PSK。
进一步的,若第一节点中存在有第二设备标识对应的第一PSK,则表征第一节点具有PSK配对能力。
步骤S802:第一节点向第二节点发送配对请求消息。
具体的,配对请求消息包含用于指示第一节点具有PSK配对能力的信息。
可以理解的,第一节点向第二节点发送配对请求消息,相应的,第二节点就接收来自第一节点的配对请求消息,从而获取配对请求消息中的消息内容。
步骤S803:第二节点确定存在有与第一节点共享的第一PSK。
具体的,第二节点获取第一节点的第一设备标识,若根据第一设备标识确定第二节点中存在有与第一设备标识对应的第一PSK,则表明第二节点存在有与第一节点共享的第一PSK。第一节点与第二节点都具有PSK配对能力,因此可以使用第二节点与第二节点共享的第一PSK进行配对。
可选的,若第二节点中不存在与第一节点共享的第一PSK,则第二节点可以向第一节点发送配对失败消息。
步骤S804:第二节点向第一节点发送配对响应消息。
具体地,该配对响应消息用于指示使用所述第一节点与所述第二节点共享的第一PSK进行配对。
可以理解的,第二节点向第一节点发送配对响应消息,相应的,第一节点就接收第二节点反馈的配对响应消息,从而获取配对响应消息中的消息内容。
步骤S805:第一节点向第二节点发送第一新鲜性参数。
具体的,第一新鲜性参数可以是第一节点获取(或者生成)的NONCE、counter、序列号等等中的至少一个。该新鲜性参数用于第二节点生成第二认证参数,便于第一节点根据第二认证参数对第二节点进行认证。
可以理解的,第一节点向第二节点发送第一新鲜性参数,相应的,第二节点就接收来自第一节点的第一新鲜性参数。
步骤S806:第二节点向第一节点发送第二新鲜性参数。
具体的,第二新鲜性参数可以是第二节点获取(或者生成)的NONCE、counter、序列号等等中的至少一个。该新鲜性参数用于第一节点生成第一认证参数,便于第二节点根据第一认证参数对第一节点进行认证。
可以理解的,第二节点向第一节点发送第二新鲜性参数,相应的,第一节点就接收来自第二节点的第二新鲜性参数。
步骤S807:第一节点根据第一PSK、第二新鲜性参数、第一公钥和第二公钥生成第一认证参数。
具体的,第二节点与第一节点之间预先生成(或者获取)有共享密钥,该共享密钥是第一节点与第二节点之间通过交换第一公钥和第二公钥从而协商生成的。
第一节点根据该第二新鲜性参数N2、第一PSK、第一公钥PK1和第二公钥PK2生成第一认证参数C1,例如:C1=KDF(N2,第一PSK,PK1,PK2),其中,KDF为预先协商的或者协议中规定的密钥派生算法。
步骤S808:第二节点根据第一PSK、第一新鲜性参数、第一公钥和第二公钥生成第一认证参数。
具体的,第二节点根据该第一新鲜性参数N1、第一PSK、第一公钥PK1和第二公钥PK2生成第一认证参数C2,例如:C2=KDF(N1,第一PSK,PK1,PK2)。
步骤S809:第二节点向第一节点发送第二认证参数。
可以理解的,第二节点向第一节点发送第二认证参数,相应的,第一节点就接收来自第二节点的第二认证参数。
步骤S810:第一节点向第二节点发送第一认证参数。
可以理解的,第一节点向第二节点发送第一认证参数,相应的,第二节点就接收来自第一节点的第一认证参数。
步骤S811:第一节点根据第一PSK、第一新鲜性参数、第一公钥和第二公钥和第二认证参数确认第二节点认证通过。
具体地,第一节点接收来自第二节点的第二认证参数C2,根据相同的方法生成第一校验参数check1,例如:check1=KDF1(N1,第一PSK,PK1,PK2),若第一校验参数与第二认证参数相同,则第二节点中的第一PSK与第一节点中的第一PSK一致,从而可以认证第二节点的身份。
步骤S812:第二节点根据第一PSK、第二新鲜性参数、第一公钥和第二公钥和第一认证参数确认第一节点认证通过。
具体地,第二节点接收来自第一节点的第一认证参数C1,根据相同的方法生成第二校验参数check2,例如:check2=KDF(N2,第一PSK,PK1,PK2),若第二校验参数与第一认证参数相同,则第一节点中的第一PSK与第二节点中的第一PSK一致,从而可以认证第一节点的身份。
请参见图9,图9是本申请实施例提供的一种蓝牙配对方法的流程示意图,该方法包括但不限于如下步骤:
步骤S901:第一节点向第二节点发送配对请求消息。
具体的,配对请求消息包含用于指示第一节点是否具有PSK配对能力的信息。进一步的可选的,配对请求消息中还包括第一节点的IO能力。
例如,参见图4所示,配对请求消息401中的IOC字段的一部分比特位中包括第一节点的PSK能力值,该PSK能力值用于指示第一节点是否具有PSK配对能力。IOC字段的另一部分比特位中包括第一节点的IO能力。
再如,参见图5所示,配对请求消息501中的PSK能力字段中包括第一节点的PSK能力值,该PSK能力值用于指示第一节点是否具有PSK配对能力。配对请求消息501中的IOC字段中包括第一节点的IO能力。
可以理解的,第一节点向第二节点发送配对请求消息,相应的,第二节点就接收来自第一节点的配对请求消息,从而获取配对请求消息中的消息内容。
步骤S902:若第一节点不具有PSK配对能力或者第二节点中不存在有与第一节点共享的第一PSK,则第二节点根据第一节点的输入输出能力与第二节点的输入输出能力确定配对模式。
具体的,配对请求消息中包含第一节点是否具有PSK配对能力的信息,若第一节点不具有PSK配对能力,则第二节点根据第一节点的输入输出能力与第二节点的输入输出能力确定配对模式。
第二节点可以获取第一节点的第一设备标识,若根据第一设备标识确定第二节点中不存在有与第一设备标识对应的第一PSK,则表明第二节点不存在有与第一节点共享的第一PSK,则第二节点根据第一节点的输入输出能力与第二节点的输入输出能力确定配对模式。
步骤S903:若第一节点具有PSK配对能力且第二件中存在有与第一节点共享的第一PSK,则向第一节点发送配对响应消息。
具体的,该配对响应消息用于指示使用所述第一节点与所述第二节点共享的第一PSK进行配对。
可以看出,在这种情况下,基于PSK配对的方式优先,若第一节点与第二节点都具有PSK配对能力,则使用共享的第一PSK进行配对。
可以理解的,第二节点向第一节点发送配对响应消息,相应的,第一节点就接收第二节点反馈的配对响应消息,从而获取配对响应消息中的消息内容。
步骤S904:第一节点向第二节点发送第一新鲜性参数。
具体的,第一新鲜性参数可以是第一节点获取(或者生成)的NONCE、counter、序列号等等中的至少一个。该新鲜性参数用于第二节点生成第二认证参数,便于第一节点根据第二认证参数对第二节点进行认证。
可以理解的,第一节点向第二节点发送第一新鲜性参数,相应的,第二节点就接收来自第一节点的第一新鲜性参数。
步骤S905:第二节点向第一节点发送第二新鲜性参数。
具体的,第二新鲜性参数可以是第二节点获取(或者生成)的NONCE、counter、序列号等等中的至少一个。该新鲜性参数用于第一节点生成第一认证参数,便于第二节点根据第一认证参数对第一节点进行认证。
可以理解的,第二节点向第一节点发送第二新鲜性参数,相应的,第一节点就接收来自第二节点的第二新鲜性参数。
步骤S906:第一节点根据第一PSK、第二新鲜性参数、第一公钥和第二公钥生成第一认证参数。
具体的,第二节点与第一节点之间预先生成(或者获取)有共享密钥,该共享密钥是第一节点与第二节点之间通过交换第一公钥和第二公钥从而协商生成的。
第一节点根据该第二新鲜性参数N2、第一PSK、第一公钥PK1和第二公钥PK2生成第一认证参数C1,例如:C1=KDF(N2,第一PSK,PK1,PK2),其中,KDF为预先协商的或者协议中规定的密钥派生算法。
步骤S907:第二节点根据第一PSK、第一新鲜性参数、第一公钥和第二公钥生成第一认证参数。
具体的,第二节点与第一节点之间预先生成(或者获取)有共享密钥,该共享密钥是第一节点与第二节点之间通过交换第一公钥和第二公钥从而协商生成的。
第二节点根据该第一新鲜性参数N1、第一PSK、第一公钥PK1和第二公钥PK2生成第一认证参数C2,例如:C2=KDF(N1,第一PSK,PK1,PK2),其中,KDF为预先协商的或者协议中规定的密钥派生算法。
步骤S908:第二节点向第一节点发送第二认证参数。
可以理解的,第二节点向第一节点发送第二认证参数,相应的,第一节点就接收来自第二节点的第二认证参数。
步骤S909:第一节点向第二节点发送第一认证参数。
可以理解的,第一节点向第二节点发送第一认证参数,相应的,第二节点就接收来自第一节点的第一认证参数。
步骤S910:第一节点根据第一PSK、第一新鲜性参数、第一公钥和第二公钥和第二认证参数确认第二节点认证通过。
具体地,第一节点接收来自第二节点的第二认证参数C2,根据相同的方法生成第一校验参数check1,例如:check1=KDF1(N1,第一PSK,PK1,PK2),若第一校验参数与第二认证参数相同,则第二节点中的第一PSK与第一节点中的第一PSK一致,从而可以认证第二节点的身份。
步骤S911:第二节点根据第一PSK、第二新鲜性参数、第一公钥和第二公钥和第一认证参数确认第一节点认证通过。
具体地,第二节点接收来自第一节点的第一认证参数C1,根据相同的方法生成第二校验参数check2,例如:check2=KDF(N2,第一PSK,PK1,PK2),若第二校验参数与第一认证参数相同,则第一节点中的第一PSK与第二节点中的第一PSK一致,从而可以认证第一节点的身份。
步骤S912:第一节点根据第一节点的PSK能力值生成第三认证参数。
例如,第一配对请求消息中,第一节点的PSK能力值为“01”,则第一节点通过KDF生成第三认证参数C3,如:C3=KDF(“01”)。
可选的,参与生成第三认证参数C3的还可以包括其他参数,如共享密钥Kdh、第一随机数、第二随机数、第一公钥、第二公钥等等中的一个或者多个。例如,第三认证参数可以是根据共享密钥Kdh、第一随机数N1、第二随机数N2、第一节点的PSK能力值“01”、第一公钥PK1和第二公钥PK2,通过密码算法f3生成第三认证参数C3,如:C3=f3(Kdh,N1,N2,“01”,PK1,PK2)。进一步可选的,步骤S1212可以对应于蓝牙配对过程中的认证阶段二,此时,第三认证参数为认证阶段二中的验证参数verify E1。
步骤S913:第二节点根据第二节点的PSK能力值生成第四认证参数。
例如,第一配对响应消息中,第二节点的PSK能力值为“01”,则第二节点通过KDF生成第四认证参数C4,如:C4=KDF(“01”)。
可选的,参与生成第四认证参数C4的还可以包括其他参数,如共享密钥Kdh、第一随机数、第二随机数、第一公钥、第二公钥等等中的一个或者多个。例如,第四认证参数可以是根据共享密钥Kdh、第一随机数N1、第二随机数N2、第二节点的PSK能力值“01”、第一公钥PK1和第二公钥PK2,通过密码算法f3生成的,如:C4=f3(Kdh,N1,N2,“01”,PK1,PK2)。进一步可选的,步骤S1213可以对应于蓝牙配对过程中的认证阶段二,此时,第四认证参数为认证阶段二中的验证参数verify E2。
步骤S914:第二节点向第一节点发送第三认证参数。
可以理解的,第二节点向第一节点发送第三认证参数,相应的,第一节点就接收来自第二节点的第三认证参数。
步骤S915:第一节点向第二节点发送第四认证参数。
可以理解的,第一节点向第二节点发送第四认证参数,相应的,第二节点就接收来自第一节点的第四认证参数。
步骤S916:第一节点根据第二节点的PSK能力值验证第四认证参数。
具体的,第一节点可以生成第三校验参数check3=KDF(第二节点的PSK能力值),若第四认证参数C4与第三校验参数check3相等,则第二节点的PSK能力值正确性认证成功。
可选的,如果第四认证参数C4满足如下公式:C4=f3(Kdh,N1,N2,第二节点的PSK能力值,PK1,PK2),则第一节点可以用相同的参数生成相应的第三校验参数check3,如:check3=f3(Kdh,N1,N2,第二节点的PSK能力值,PK1,PK2)。若第四认证参数C4与第三校验参数check3相等,则第二节点的PSK能力值正确性认证成功。
步骤S917:第二节点根据第一节点的PSK能力值验证第三认证参数。
具体的,第二节点可以生成第四校验参数check4=KDF(第一节点的PSK能力值),若第三认证参数C3与第四校验参数check4相等,则第一节点的PSK能力值正确性认证成功。
可选的,如果第三认证参数C3满足如下公式:C3=f3(Kdh,N1,N2,第一节点的PSK能力值,PK1,PK2),则第二节点可以用相同的参数生成相应的校验参数check4,如:check4=f3(Kdh,N1,N2,第一节点的PSK能力值,PK1,PK2)。若第三认证参数C3与第四校验参数check4相等,则第一节点的PSK能力值正确性认证成功。
请参见图10,图10是本申请实施例提供的一种蓝牙配对方法的流程示意图,该方法包括但不限于如下步骤:
步骤S1001:第一节点确定存在有与第二节点共享的第一PSK。
具体描述可以参见步骤S1201中的描述。
步骤S1002:第一节点向第二节点发送配对请求消息。
具体描述可以参见步骤S1202中的描述。
步骤S1003:第二节点根据第一节点的输入输出能力与第二节点的输入输出能力确定第一配对模式。
例如,参见图6,图6是本申请实施例提供的一种可能的确定第一配对模式的方式,其中,区域601为第一节点的IO能力,区域902为第二节点的IO能力,可以看出,根据第一节点的输入输出能力和第二节点的输入输出能力确定第一配对模式,该第一配对模式可以为数字比较(Numeric comparison,NC)、直接工作(Just work,JW)或者密码输入(Passkeyentry,PE)。例如,第一节点的IO能力为可以显示及输入是否(DisplayYesNo),第二节点的IO能力为可以显示及输入是否(DisplayYesNo),则对应的配对模式为数字比较模式。
步骤S1004:第二节点确定第二节点中存在有与第一节点共享的第一PSK。
具体的,第二节点获取第一节点的第一设备标识,若根据第一设备标识确定第二节点中存在有与第一设备标识对应的第一PSK,则表明第二节点存在有与第一节点共享的第一PSK。第一节点与第二节点都具有PSK配对能力,因此可以使用第二节点与第二节点共享的第一PSK进行配对。
步骤S1005:第二节点根据第一配对模式的优先级和基于PSK进行配对的优先级确定基于PSK配对。
例如,基于PSK配对的优先级为2,数字比较模式的优先级为3,当第一节点与第二节点都具有PSK配对能力时,若第一节点的IO能力与第二节点的IO能力对应的配对模式为数字比较模式,由于基于PSK配对的优先级高于数字比较模式的优先级,则第二节点可以选基于PSK配对。
步骤S1006:第二节点向第一节点发送配对响应消息。
具体的,该配对响应消息用于指示使用所述第一节点与所述第二节点共享的第一PSK进行配对。
可以理解的,第二节点向第一节点发送配对响应消息,相应的,第一节点就接收第二节点反馈的配对响应消息,从而获取配对响应消息中的消息内容。
步骤S1007:第一节点向第二节点发送第一新鲜性参数。
具体描述可以参见步骤S904中的描述。
步骤S1008:第二节点向第一节点发送第二新鲜性参数。
具体描述可以参见步骤S905中的描述。
步骤S1009:第一节点根据第一PSK、第二新鲜性参数、第一公钥和第二公钥生成第一认证参数。
具体描述可以参见步骤S906中的描述。
步骤S1010:第二节点根据第一PSK、第一新鲜性参数、第一公钥和第二公钥生成第一认证参数。
具体描述可以参见步骤S907中的描述。
步骤S1011:第二节点向第一节点发送第二认证参数。
可以理解的,第二节点向第一节点发送第二认证参数,相应的,第一节点就接收来自第二节点的第二认证参数。
步骤S1012:第一节点向第二节点发送第一认证参数。
可以理解的,第一节点向第二节点发送第一认证参数,相应的,第二节点就接收来自第一节点的第一认证参数。
步骤S1013:第一节点根据第一PSK、第一新鲜性参数、第一公钥和第二公钥和第二认证参数确认第二节点认证通过。
具体描述可以参见步骤S910中的描述。
步骤S1014:第二节点根据第一PSK、第二新鲜性参数、第一公钥和第二公钥和第一认证参数确认第一节点认证通过。
具体描述可以参见步骤S911中的描述。
步骤S1015:第一节点根据第一节点的PSK能力值生成第三认证参数。
具体描述可以参见步骤S912中的描述。
步骤S1016:第二节点根据第二节点的PSK能力值生成第四认证参数。
具体描述可以参见步骤S913中的描述。
步骤S1017:第二节点向第一节点发送第三认证参数。
可以理解的,第二节点向第一节点发送第三认证参数,相应的,第一节点就接收来自第二节点的第三认证参数。
步骤S1018:第一节点向第二节点发送第四认证参数。
可以理解的,第一节点向第二节点发送第四认证参数,相应的,第二节点就接收来自第一节点的第四认证参数。
步骤S1019:第一节点根据第二节点的PSK能力值验证第四认证参数。
具体描述可以参见步骤S916中的描述。
步骤S1020:第二节点根据第一节点的PSK能力值验证第三认证参数。
具体描述可以参见步骤S917中的描述。
上述详细阐述了本申请实施例的方法,下面提供了本申请实施例的装置。
请参见图11,图11是本申请实施例提供的一种蓝牙配对装置110的结构示意图,该装置110可以为节点,也可以为节点中的一个器件,例如芯片或者集成电路等,该装置110可以包括接收单元1101、发送单元1102和处理单元1103。该蓝牙配对装置110用于实现前述的蓝牙配对方法,例如图2、图7、图8、图9或图10所示任意一个实施例的蓝牙配对方法。
可以理解的,本申请各个装置实施例中,对多个单元或者模块的划分仅是一种根据功能进行的逻辑划分,不作为对装置具体的结构的限定。在具体实现中,其中部分功能模块可能被细分为更多细小的功能模块,部分功能模块也可能组合成一个功能模块,但无论这些功能模块是进行了细分还是组合,装置110在蓝牙配对的过程中所执行的大致流程是相同的。例如,上述装置110中的接收单元1101、发送单元1102也可以合并为通信单元。通常,每个单元都对应有各自的程序代码(或者说程序指令),这些单元各自对应的程序代码在处理器上运行时,使得该单元执行相应的流程从而实现相应功能。
在一些可能的实现方式中,该蓝牙配对装置110可以为图2、图8、图9或图10所示实施例中的第二节点,其中,各个单元的描述如下:
接收单元1101,用于接收来自第一节点的配对请求消息,所述配对请求消息包含用于指示所述第一节点是否具有预共享密钥PSK配对能力的信息;
发送单元1102,用于响应于配对请求消息中包含用于指示所述第一节点具有PSK配对能力的信息,向所述第一节点发送配对响应消息,所述配对响应消息用于指示使用所述第一节点与第二节点共享的第一PSK进行配对;
处理单元1103,根据所述第一PSK对所述第一节点进行认证。
可以看出,PSK是第一节点与第二节点之间共享的一个秘密值,第一节点中预先定义或者配置有与第二节点共享的PSK,因此上述装置110可以在配对请求消息中包含指示第一节点具有PSK配对能力的信息。相应的,第二节点中也预先定义或者预先配置有与第一节点共享的第一PSK,上述装置110可以根据所述第一PSK对所述第一节点进行认证,从而确定第一节点的身份可信,使得后续可以成功配对。这样一来,由于预先配置有或者定义有PSK的节点的身份通常是可信的,避免了上述装置110与不可信的节点配对成功,从而提高了节点配对过程中的安全性。
在一种可能的实施方式中,所述处理单元1103还用于:
确定所述第二节点与所述第一节点共享所述第一PSK。
在又一种可能的实施方式中,所述处理单元具体用于:
获取所述第一节点的第一设备标识;
确定存在有与所述第一设备标识对应的所述第一PSK。
在又一种可能的实施方式中,所述配对请求消息中包括输入输出能力IOC字段,所述IOC字段中包含用于指示所述第一节点是否具有PSK配对能力的信息。
在又一种可能的实施方式中,所述IOC字段的一部分比特位中包括所述第一节点的PSK能力值,所述第一节点的PSK能力值用于指示所述第一节点是否具有PSK配对能力;
所述IOC字段的另一部分比特位用于指示所述第一节点的输入输出能力。
在又一种可能的实施方式中,所述配对请求消息中包括PSK能力字段,PSK能力字段中包括所述第一节点的PSK能力值,所述第一节点的PSK能力值用于指示所述第一节点是否具有PSK配对能力;
所述配对请求消息中还包括输入输出能力IOC字段,所述IOC字段用于指示所述第一节点的输入输出能力。
在又一种可能的实施方式中,所述处理单元1103,还用于根据所述配对请求消息和预先设置的配对模式优先级信息确定所述配对响应消息,其中,所述配对模式优先级信息指示当所述第一节点与所述第二节点共享有PSK时,使用所述第一节点与所述第二节点之间共享的PSK进行配对在多个配对模式中享有最高优先级。
在又一种可能的实施方式中,所述接收单元1101,还用于接收来自所述第一节点的第一认证参数;
所述处理单元1103,还用于根据所述第一PSK验证所述第一认证参数。
在又一种可能的实施方式中,所述处理单元1103,还用于根据所述第一PSK生成第二认证参数;
所述发送单元,还用于向所述第一节点发送所述第二认证参数。
在又一种可能的实施方式中,所述接收单元1101,还用于接收来自所述第一节点的第三认证参数;
所述处理单元1103,还用于根据所述第一节点的PSK能力值生成第四校验参数;
所述处理单元1103,还用于根据所述第四校验参数与所述第三认证参数确定所述第一节点的PSK能力值的正确性认证通过;
所述处理单元1103,还用于根据所述第二节点的PSK能力值生成第四认证参数;
所述发送单元1102,还用于向所述第一节点发送所述第四认证参数。
需要说明的是,各个单元的实现还可以对应参照图2、图8、图9、图10所示的一个实施例的相应描述。
在一些可能的实现方式中,该蓝牙配对装置110可以为图2、图8、图9或图10所示实施例中的第一节点,其中,各个单元的描述如下:
发送单元1102,用于向第二节点发送配对请求消息,所述配对请求消息包含用于指示所述第一节点具备预共享密钥PSK配对能力的信息;
接收单元1101,用于接收所述第二节点反馈的配对响应消息,所述配对响应消息用于指示使用第一节点与所述第二节点共享的第一PSK进行配对;
处理单元1103,用于根据所述第一PSK对所述第二节点进行认证。
可以看出,PSK是第一节点与第二节点之间共享的一个秘密值,第一节点中预先定义或者配置有与第二节点共享的PSK,因此第二节点可以在配对请求消息中指示第一节点具有PSK配对能力。相应的,第二节点中也预先定义或者预先配置有与第一节点共享的PSK(便于描述,称为第一PSK),上述装置110可以根据第一PSK对第二节点进行认证,从而确定第二节点的身份可信,使得后续可以成功配对。这样一来,由于预先配置有或者定义有PSK的节点的身份通常是可信的,避免了上述装置110与不可信的节点配对成功,从而提高了节点配对过程中的安全性。
在一种可能的实施方式中,所述处理单元1103,还用于确定所述第二节点与所述第一节点共享所述第一PSK。
在又一种可能的实施方式中,所述处理单元1103,具体用于:
获取所述第二节点的第二设备标识;
确定存在有与所述第二设备标识对应的所述第一PSK。
在又一种可能的实施方式中,所述配对请求消息中包括输入输出能力IOC字段,所述IOC字段中包含用于指示所述第一节点是否具有PSK配对能力的信息。
在又一种可能的实施方式中,所述配对请求消息中包括输入输出能力IOC字段,所述IOC字段的一部分比特位用于中包括指示所述第一节点的PSK能力值,所述第一节点的PSK能力值用于指示所述第一节点是否具有PSK配对能力;
所述IOC字段的另一部分比特位用于指示所述第一节点的输出能力。
在又一种可能的实施方式中,所述配对请求消息中包括PSK能力字段,PSK能力字段中包括所述第一节点的PSK能力值,所述第一节点的PSK能力值用于指示所述第一节点是否具有PSK配对能力;
所述配对请求消息中还包括输入输出能力IOC字段,所述IOC字段用于指示所述第一节点的输入输出能力。
在又一种可能的实施方式中,所述接收单元1101,还用于接收来自所述第二节点的第二认证参数;
所述处理单元1103,还用于根据所述第一PSK验证所述第二认证参数。
在又一种可能的实施方式中,所述处理单元1103,还用于根据所述第一PSK生成第一认证参数;
所述发送单元1102,还用于向所述第二节点发送所述第一认证参数。
在又一种可能的实施方式中,所述配对响应消息中包括所述第二节点的PSK能力值,所述第二节点的PSK能力值用于指示所述第二节点具有PSK配对能力;
所述接收单元1101,还用于接收来自所述第二节点的第四认证参数;
所述处理单元1103,还用于根据所述第二节点的PSK能力值生成第三校验参数;
所述处理单元1103,还用于根据所述第三校验参数与所述第四认证参数确定所述第一节点的PSK能力值的正确性认证通过;所述方法还包括:
所述处理单元1103,还用于根据所述第一节点的PSK能力值生成第三认证参数;
所述发送单元1102,还用于向所述第二节点发送所述第三认证参数。
需要说明的是,各个单元的实现还可以对应参照图2、图8、图9、图10所示的实施例的相应描述。
在一些可能的实现方式中,该蓝牙配对装置110可以为图7所示实施例中的第二节点,其中,各个单元的描述如下:
接收单元1101,用于接收来自第一节点的配对请求消息,所述配对请求消息包含用于指示所述第一节点的配对能力的信息;所述第一节点的配对能力包括所述第一节点是否具有预共享密钥PSK配对能力和所述第一节点的输入输出能力;
处理单元1103,用于根据所述第一节点的配对能力的信息和所述第二节点的配对能力的信息,确定配对模式;所述第二节点的配对能力包括所述第二节点是否具有PSK配对能力和所述第二节点的输入输出能力;所述配对模式包括基于PSK进行配对、数字比较NC、直接工作JW或密码输入PE;
发送单元1102,用于向所述第一节点发送配对响应消息,所述配对响应消息包含用于指示所述第二节点的配对能力的信息;
所述处理单元1103,还用于根据所述配对模式与所述第一节点进行配对。
可以看出,配对请求消息中包括第一节点的配对能力的信息,上述装置110可以根据该第一节点是否具有PSK配对能力以及第一节点的输入输出能力,根据需求确定对应的配对模式。例如,上述装置110通过优先选择基于PSK配对,或者根据各个模式的优先级选择配对模式等等方法,可以确定出满足第二节点需求的配对模式。
尤其是对于不能输入不能输出NoInputNoOutput、只能显示DisplayOnly或者可以显示及输入是否DisplayYesNo的蓝牙节点,通过优先选择基于PSK配对,可以避免与不可信的节点进行配对,提高了节点的通信安全性。
在一种可能的实施方式中,所述配对请求消息中包括输入输出能力IOC字段,所述IOC字段的一部分比特位中包括所述第一节点的PSK能力值,所述第一节点的PSK能力值用于指示所述第一节点是否具有PSK配对能力;
所述IOC字段的另一部分比特位用于指示所述第一节点的输入输出能力。
在又一种可能的实施方式中,所述配对请求消息中包括PSK能力字段,PSK能力字段中包括所述第一节点的PSK能力值,所述第一节点的PSK能力值用于指示所述第一节点是否具有PSK配对能力;
所述配对请求消息中还包括输入输出能力IOC字段,所述IOC字段用于指示所述第一节点的输入输出能力。
在又一种可能的实施方式中,所述处理单元1103,具体用于:
根据所述第一节点的配对能力的信息确定所述第一节点具有PSK配对能力;
确定所述第二节点与所述第一节点共享第一PSK;
使用所述第一节点与所述第二节点共享的所述第一PSK进行配对。
在又一种可能的实施方式中,所述处理单元1103,具体用于:
获取所述第一节点的第一设备标识;
确定存在有与所述第一设备标识对应的所述第一PSK。
在又一种可能的实施方式中,所述处理单元1103,具体用于:
根据所述第一节点的配对能力的信息所述第一节点具有PSK配对能力;
确定所述第二节点与所述第一节点共享第一PSK;
根据所述第一节点的输入输出能力和所述第二节点的输入输出能力确定第一配对模式;所述第一配对模式为数字比较NC、直接工作JW或密码输入PE;
根据所述第一配对模式的优先级和基于PSK进行配对的优先级确定配对模式。
在又一种可能的实施方式中,所述处理单元1103,具体用于:
根据所述第一节点的配对能力的信息所述第一节点具有PSK配对能力;
确定所述第二节点与所述第一节点共享第一PSK;
根据所述第一节点的输入输出能力和所述第二节点的输入输出能力确定第一配对模式;所述第一配对模式为数字比较NC、直接工作JW或密码输入PE;
根据所述第一配对模式的优先级和基于PSK进行配对的优先级确定配对模式。
在又一种可能的实施方式中,所述接收单元1101,还用于接收来自所述第一节点的第一认证参数;
所述处理单元,还用于根据所述第一PSK验证所述第一认证参数。
在又一种可能的实施方式中,所述处理单元,还用于根据所述第一PSK生成第二认证参数;
所述发送单元,还用于向所述第一节点发送所述第二认证参数。
在又一种可能的实施方式中,所述接收单元1101,还用于接收来自所述第一节点发送的第一新鲜性参数;
所述处理单元1103,还用于根据所述第一新鲜性参数、第一公钥、第二公钥以及所述第一PSK生成所述第二认证参数;其中,所述第一公钥与第二公钥为生成第一节点与第二节点之间的共享密钥的参数。
在又一种可能的实施方式中,所述发送单元1102,还用于向所述第一节点发送第二新鲜性参数;
所述处理单元1103,还用于根据所述第二新鲜性参数、第一公钥、第二公钥以及所述第一PSK生成第二校验参数;
所述处理单元1103,还用于根据第二校验参数与所述第一认证参数,确认所述第一认证参数验证通过。
在又一种可能的实施方式中,所述接收单元1101,还用于接收来自所述第一节点的第三认证参数;
所述处理单元1103,还用于根据所述第一节点的PSK能力值生成第四校验参数;
所述处理单元1103,还用于根据所述第四校验参数与所述第三认证参数确定所述第一节点的PSK能力值的正确性认证通过;
所述处理单元1103,还用于根据所述第二节点的PSK能力值生成第四认证参数;
所述发送单元1102,还用于向所述第一节点发送所述第四认证参数。
需要说明的是,各个单元的实现还可以对应参照图7所示的实施例的相应描述。
在一些可能的实现方式中,该蓝牙配对装置110可以为图7所示实施例中的第一节点,其中,各个单元的描述如下:
发送单元1102,用于向第二节点发送配对请求消息,所述配对请求消息包含用于指示所述第一节点的配对能力的信息;所述第一节点的配对能力包括所述第一节点是否具有预共享密钥PSK配对能力和所述第一节点的输入输出能力;
接收单元1101,用于接收来自所述第二节点的配对响应消息,所述配对响应消息包含用于指示所述第二节点的配对能力的信息,所述第二节点的配对能力包括所述第二节点是否具有PSK配对能力和所述第二节点的输入输出能力;
处理单元1103,用于根据所述第一节点的配对能力的信息和所述第二节点的配对能力的信息确定配对模式;所述配对模式包括基于PSK进行配对、数字比较NC、直接工作JW或密码输入PE;
所述处理单元1103,还用于根据所述配对模式与所述第二节点进行配对。
可以看出,配对请求消息中包括第一节点的配对能力的信息,配对响应消息中包括第二节点的配对能力的信息。上述装置110可以根据该第一节点与第二节点的配对能力的信息,根据需求确定对应的配对模式。例如,上述装置110通过优先选择基于PSK配对,或者根据各个模式的优先级选择配对模式等等方法,可以确定出满足需求的配对模式。
尤其是对于不能输入不能输出NoInputNoOutput、只能显示DisplayOnly或者可以显示及输入是否DisplayYesNo的蓝牙节点,通过优先选择基于PSK配对,可以避免与不可信的节点进行配对,提高了节点的通信安全性。
在一种可能的实施方式中,所述配对请求消息中包括输入输出能力IOC字段,所述IOC字段的一部分比特位中包括所述第一节点的PSK能力值,所述第一节点的PSK能力值用于指示所述第一节点是否具有PSK配对能力;
所述IOC字段的另一部分比特位用于指示所述第一节点的输入输出能力。
在又一种可能的实施方式中,所述配对请求消息中包括PSK能力字段,PSK能力字段中包括所述第一节点的PSK能力值,所述第一节点的PSK能力值用于指示所述第一节点是否具有PSK配对能力;
所述配对请求消息中还包括输入输出能力IOC字段,所述IOC字段用于指示所述第一节点的输入输出能力。
在又一种可能的实施方式中,所述处理单元1103,还用于:
确定所述第二节点与所述第一节点共享第一PSK;
根据所述第二节点的配对能力的信息确定所述第一节点具有PSK配对能力;
使用所述第一节点与所述第二节点共享的所述第一PSK进行配对。
在又一种可能的实施方式中,所述处理单元,还用于获取所述第二节点的第二设备标识;
确定存在有与所述第二设备标识对应的所述第一PSK。
在又一种可能的实施方式中,所述处理单元1103,具体用于:
根据所述第二节点的配对能力的信息确定所述第二节点不具有PSK配对能力;
根据所述第一节点的输入输出能力和所述第二节点的输入输出能力确定所述配对模式;所述配对模式为数字比较NC、直接工作JW或密码输入PE。
在又一种可能的实施方式中,所述处理单元1103,具体用于:
根据所述第二节点的配对能力的信息所述第一节点具有PSK配对能力;
确定所述第二节点与所述第一节点共享第一PSK;
根据所述第一节点的输入输出能力和所述第二节点的输入输出能力确定第一配对模式;所述第一配对模式为数字比较NC、直接工作JW或密码输入PE;
根据所述第一配对模式的优先级和基于PSK进行配对的优先级确定配对模式。
在又一种可能的实施方式中,所述接收单元1101,还用于接收来自所述第二节点的第二认证参数;
所述处理单元1103,还用于根据所述第一PSK验证所述第二认证参数。
在又一种可能的实施方式中,所述处理单元1103,还用于根据所述第一PSK生成第一认证参数;
所述发送单元,还用于向所述第二节点发送所述第一认证参数。
在又一种可能的实施方式中,所述接收单元1101,还用于接收来自所述第二节点发送的第二新鲜性参数;
所述处理单元1103,还用于根据所述第二新鲜性参数、第一公钥、第二公钥以及所述第一PSK生成所述第一认证参数;其中,所述第一公钥与第二公钥为生成第一节点与第二节点之间的共享密钥的参数。
在又一种可能的实施方式中,所述发送单元1102,还用于向所述第二节点发送第一新鲜性参数;
所述处理单元1103,还用于根据所述第一新鲜性参数、第一公钥、第二公钥以及所述第一PSK生成第一校验参数;
所述处理单元1103,还用于根据第一校验参数与所述第二认证参数,确认所述第二认证参数验证通过。
在又一种可能的实施方式中,所述接收单元1101,还用于接收来自所述第一节点的第三认证参数;
所述处理单元1103,还用于根据所述第一节点的PSK能力值生成第四校验参数;
所述处理单元1103,还用于根据所述第四校验参数与所述第三认证参数确定所述第一节点的PSK能力值的正确性认证通过;
所述处理单元1103,还用于根据所述第二节点的PSK能力值生成第四认证参数;
所述发送单元1102,还用于向所述第一节点发送所述第四认证参数。
需要说明的是,各个单元的实现还可以对应参照图7所示的实施例的相应描述。
请参见图12,图12是本申请实施例提供的一种通信装置120的结构示意图,该通信装置120可以为节点,也可以为节点中的一个器件,例如芯片或者集成电路等。该装置120可以包括至少一个存储器1201和至少一个处理器1202。可选的,还可以包含总线1203。进一步可选的,还可以包括通信接口1204,其中,存储器1201、处理器1202和通信接口1204通过总线1203相连。
其中,存储器1201用于提供存储空间,存储空间中可以存储操作***和计算机程序等数据。存储器1201可以是随机存储记忆体(random access memory,RAM)、只读存储器(read-only memory,ROM)、可擦除可编程只读存储器(erasable programmable read onlymemory,EPROM)、或便携式只读存储器(compact disc read-only memory,CD-ROM)等等中的一种或者多种的组合。
处理器1202是进行算术运算和/或逻辑运算的模块,具体可以是中央处理器(central processing unit,CPU)、图片处理器(graphics processing unit,GPU)、微处理器(microprocessor unit,MPU)、专用集成电路(Application Specific IntegratedCircuit,ASIC)、现场可编程逻辑门阵列(Field Programmable Gate Array,FPGA)、复杂可编程逻辑器件(Complex programmable logic device,CPLD)等处理模块中的一种或者多种的组合。
通信接口1204用于接收外部发送的数据和/或向外部发送数据,可以为包括诸如以太网电缆等的有线链路接口,也可以是无线链路(Wi-Fi、蓝牙、通用无线传输等)接口。可选的,通信接口1204还可以包括与接口耦合的发射器(如射频发射器、天线等),或者接收器等。
该装置120中的处理器1202用于读取所述存储器1201中存储的计算机程序,用于执行前述的蓝牙配对方法,例如图2、图7、图8、图9或者图10任意一个实施例所描述的蓝牙配对方法。
在一些可能的实现方式中,该蓝牙配对装置110可以为图2、图8、图9或图10所示实施例中的第一节点,该装置120中的处理器1202用于读取所述存储器1201中存储的计算机程序,用于执行以下操作:
通过通信接口1204接收来自第一节点的配对请求消息,所述配对请求消息包含用于指示所述第一节点是否具有预共享密钥PSK配对能力的信息;
响应于配对请求消息中包含用于指示所述第一节点具有PSK配对能力的信息,通过通信接口1204向所述第一节点发送配对响应消息,所述配对响应消息用于指示使用所述第一节点与第二节点共享的第一PSK进行配对;
根据所述第一PSK对所述第一节点进行认证。
可以看出,PSK是第一节点与第二节点之间共享的一个秘密值,第一节点中预先定义或者配置有与第二节点共享的PSK,因此上述装置120可以在配对请求消息中包含指示第一节点具有PSK配对能力的信息。相应的,第二节点中也预先定义或者预先配置有与第一节点共享的第一PSK,上述装置120可以根据所述第一PSK对所述第一节点进行认证,从而确定第一节点的身份可信,使得后续可以成功配对。这样一来,由于预先配置有或者定义有PSK的节点的身份通常是可信的,避免了上述装置与不可信的节点配对成功,从而提高了节点配对过程中的安全性。
在一种可能的实施方式中,所述处理器1202还用于:
确定所述第二节点与所述第一节点共享所述第一PSK。
在又一种可能的实施方式中,所述处理器1202具体用于:
获取所述第一节点的第一设备标识;
确定存在有与所述第一设备标识对应的所述第一PSK。
在又一种可能的实施方式中,所述配对请求消息中包括输入输出能力IOC字段,所述IOC字段中包含用于指示所述第一节点是否具有PSK配对能力的信息。
在又一种可能的实施方式中,所述配对请求消息中包括输入输出能力IOC字段,所述IOC字段的一部分比特位中包括所述第一节点的PSK能力值,所述第一节点的PSK能力值用于指示所述第一节点是否具有PSK配对能力;
所述IOC字段的另一部分比特位用于指示所述第一节点的输入输出能力。
在又一种可能的实施方式中,所述配对请求消息中包括PSK能力字段,PSK能力字段中包括所述第一节点的PSK能力值,所述第一节点的PSK能力值用于指示所述第一节点是否具有PSK配对能力;
所述配对请求消息中还包括输入输出能力IOC字段,所述IOC字段用于指示所述第一节点的输入输出能力。
在又一种可能的实施方式中,所述处理器1202,还用于根据所述配对请求消息和预先设置的配对模式优先级信息确定所述配对响应消息,其中,所述配对模式优先级信息指示当所述第一节点与所述第二节点共享有PSK时,使用所述第一节点与所述第二节点之间共享的PSK进行配对在多个配对模式中享有最高优先级。
在又一种可能的实施方式中,所述处理器1202还用于:
通过通信接口1204接收来自所述第一节点的第一认证参数;
根据所述第一PSK验证所述第一认证参数。
在又一种可能的实施方式中,所述处理器1202还用于:
根据所述第一PSK生成第二认证参数;
通过通信接口1204向所述第一节点发送所述第二认证参数。
在又一种可能的实施方式中,所述处理器1202还用于:
通过通信接口1204接收来自所述第一节点的第三认证参数;
根据所述第一节点的PSK能力值生成第四校验参数;
根据所述第四校验参数与所述第三认证参数确定所述第一节点的PSK能力值的正确性认证通过;
根据所述第二节点的PSK能力值生成第四认证参数;
通过通信接口1204向所述第一节点发送所述第四认证参数。
需要说明的是,各个单元的实现还可以对应参照图2、图8、图9、图10所示的实施例的相应描述。
在一些可能的实现方式中,该蓝牙配对装置120可以为图2、图8、图9或图10所示实施例中的第一节点,该装置120中的处理器1202用于读取所述存储器1201中存储的计算机程序,用于执行以下操作:
通过通信接口1204向第二节点发送配对请求消息,所述配对请求消息包含用于指示所述第一节点具备预共享密钥PSK配对能力的信息;
通过通信接口1204接收所述第二节点反馈的配对响应消息,所述配对响应消息用于指示使用第一节点与所述第二节点共享的第一PSK进行配对;
根据所述第一PSK对所述第二节点进行认证。
可以看出,PSK是第一节点与第二节点之间共享的一个秘密值,第一节点中预先定义或者配置有与第二节点共享的PSK,因此第二节点可以在配对请求消息中指示第一节点具有PSK配对能力。相应的,第二节点中也预先定义或者预先配置有与第一节点共享的PSK(便于描述,称为第一PSK),上述装置120可以根据第一PSK对第二节点进行认证,从而确定第二节点的身份可信,使得后续可以成功配对。这样一来,由于预先配置有或者定义有PSK的节点的身份通常是可信的,避免了上述装置120与不可信的节点配对成功,从而提高了节点配对过程中的安全性。
在一种可能的实施方式中,所述处理器1202,还用于确定所述第二节点与所述第一节点共享所述第一PSK。
在又一种可能的实施方式中,所述处理器1202,具体用于:
获取所述第二节点的第二设备标识;
确定存在有与所述第二设备标识对应的所述第一PSK。
在又一种可能的实施方式中,所述配对请求消息中包括输入输出能力IOC字段,所述IOC字段中包含用于指示所述第一节点是否具有PSK配对能力的信息。
在又一种可能的实施方式中,所述配对请求消息中包括输入输出能力IOC字段,所述IOC字段的一部分比特位用于中包括指示所述第一节点的PSK能力值,所述第一节点的PSK能力值用于指示所述第一节点是否具有PSK配对能力;
所述IOC字段的另一部分比特位用于指示所述第一节点的输出能力。
在又一种可能的实施方式中,所述配对请求消息中包括PSK能力字段,PSK能力字段中包括所述第一节点的PSK能力值,所述第一节点的PSK能力值用于指示所述第一节点是否具有PSK配对能力;
所述配对请求消息中还包括输入输出能力IOC字段,所述IOC字段用于指示所述第一节点的输入输出能力。
在又一种可能的实施方式中,所述处理器1202,还用于:
通过通信接口1204接收来自所述第二节点的第二认证参数;
根据所述第一PSK验证所述第二认证参数。
在又一种可能的实施方式中,所述处理器1202,还用于:
根据所述第一PSK生成第一认证参数;
通过通信接口1204向所述第二节点发送所述第一认证参数。
在又一种可能的实施方式中,所述配对响应消息中包括所述第二节点的PSK能力值,所述第二节点的PSK能力值用于指示所述第二节点具有PSK配对能力;所述处理器1202,还用于:
通过通信接口1204接收来自所述第二节点的第四认证参数;
根据所述第二节点的PSK能力值生成第三校验参数;
根据所述第三校验参数与所述第四认证参数确定所述第一节点的PSK能力值的正确性认证通过;所述方法还包括:
根据所述第一节点的PSK能力值生成第三认证参数;
通过通信接口1204向所述第二节点发送所述第三认证参数。
需要说明的是,各个模块的实现还可以对应参照图2、图8、图9、图10所示的实施例的相应描述。
在一些可能的实现方式中,该蓝牙配对装置120可以为图7所示实施例中的第二节点,该装置120中的处理器1202用于读取所述存储器1201中存储的计算机程序,用于执行以下操作:
通过通信接口1204接收来自第一节点的配对请求消息,所述配对请求消息包含用于指示所述第一节点的配对能力的信息;所述第一节点的配对能力包括所述第一节点是否具有预共享密钥PSK配对能力和所述第一节点的输入输出能力;
根据所述第一节点的配对能力的信息和所述第二节点的配对能力的信息,确定配对模式;所述第二节点的配对能力包括所述第二节点是否具有PSK配对能力和所述第二节点的输入输出能力;所述配对模式包括基于PSK进行配对、数字比较NC、直接工作JW或密码输入PE;
通过通信接口1204向所述第一节点发送配对响应消息,所述配对响应消息包含用于指示所述第二节点的配对能力的信息;
根据所述配对模式与所述第一节点进行配对。
可以看出,配对请求消息中包括第一节点的配对能力的信息,上述装置120可以根据该第一节点是否具有PSK配对能力以及第一节点的输入输出能力,根据需求确定对应的配对模式。例如,上述装置120通过优先选择基于PSK配对,或者根据各个模式的优先级选择配对模式等等方法,可以确定出满足第二节点需求的配对模式。
尤其是对于不能输入不能输出NoInputNoOutput、只能显示DisplayOnly或者可以显示及输入是否DisplayYesNo的蓝牙节点,通过优先选择基于PSK配对,可以避免与不可信的节点进行配对,提高了节点的通信安全性。
在一种可能的实施方式中,所述配对请求消息中包括输入输出能力IOC字段,所述IOC字段的一部分比特位中包括所述第一节点的PSK能力值,所述第一节点的PSK能力值用于指示所述第一节点是否具有PSK配对能力;
所述IOC字段的另一部分比特位用于指示所述第一节点的输入输出能力。
在又一种可能的实施方式中,所述配对请求消息中包括PSK能力字段,PSK能力字段中包括所述第一节点的PSK能力值,所述第一节点的PSK能力值用于指示所述第一节点是否具有PSK配对能力;
所述配对请求消息中还包括输入输出能力IOC字段,所述IOC字段用于指示所述第一节点的输入输出能力。
在又一种可能的实施方式中,所述处理器1202,具体用于:
根据所述第一节点的配对能力的信息确定所述第一节点具有PSK配对能力;
确定所述第二节点与所述第一节点共享第一PSK;
使用所述第一节点与所述第二节点共享的所述第一PSK进行配对。
在又一种可能的实施方式中,所述处理器1202,具体用于:
获取所述第一节点的第一设备标识;
确定存在有与所述第一设备标识对应的所述第一PSK。
在又一种可能的实施方式中,所述处理器1202,具体用于:
根据所述第一节点的配对能力的信息所述第一节点具有PSK配对能力;
确定所述第二节点与所述第一节点共享第一PSK;
根据所述第一节点的输入输出能力和所述第二节点的输入输出能力确定第一配对模式;所述第一配对模式为数字比较NC、直接工作JW或密码输入PE;
根据所述第一配对模式的优先级和基于PSK进行配对的优先级确定配对模式。
在又一种可能的实施方式中,所述处理器1202,具体用于:
根据所述第一节点的配对能力的信息所述第一节点具有PSK配对能力;
确定所述第二节点与所述第一节点共享第一PSK;
根据所述第一节点的输入输出能力和所述第二节点的输入输出能力确定第一配对模式;所述第一配对模式为数字比较NC、直接工作JW或密码输入PE;
根据所述第一配对模式的优先级和基于PSK进行配对的优先级确定配对模式。
在又一种可能的实施方式中,所述处理器1202,还用于:
通过通信接口1204接收来自所述第一节点的第一认证参数;
根据所述第一PSK验证所述第一认证参数。
在又一种可能的实施方式中,所述处理器1202,还用于:
根据所述第一PSK生成第二认证参数;
通过通信接口1204向所述第一节点发送所述第二认证参数。
在又一种可能的实施方式中,所述处理器1202,还用于:
通过通信接口1204接收来自所述第一节点发送的第一新鲜性参数;
根据所述第一新鲜性参数、第一公钥、第二公钥以及所述第一PSK生成所述第二认证参数;其中,所述第一公钥与第二公钥为生成第一节点与第二节点之间的共享密钥的参数。
在又一种可能的实施方式中,所述处理器1202,还用于:
通过通信接口1204向所述第一节点发送第二新鲜性参数;
根据所述第二新鲜性参数、第一公钥、第二公钥以及所述第一PSK生成第二校验参数;
根据第二校验参数与所述第一认证参数,确认所述第一认证参数验证通过。
在又一种可能的实施方式中,所述处理器1202,还用于:
通过通信接口1204接收来自所述第一节点的第三认证参数;
根据所述第一节点的PSK能力值生成第四校验参数;
根据所述第四校验参数与所述第三认证参数确定所述第一节点的PSK能力值的正确性认证通过;
根据所述第二节点的PSK能力值生成第四认证参数;
通过通信接口1204向所述第一节点发送所述第四认证参数。
需要说明的是,各个模块的实现还可以对应参照图7所示的实施例的相应描述。
在一些可能的实现方式中,该蓝牙配对装置120可以为图7所示实施例中的第一节点,该装置120中的处理器1202用于读取所述存储器1201中存储的计算机程序,用于执行以下操作:
通过通信接口1204向第二节点发送配对请求消息,所述配对请求消息包含用于指示所述第一节点的配对能力的信息;所述第一节点的配对能力包括所述第一节点是否具有预共享密钥PSK配对能力和所述第一节点的输入输出能力;
通过通信接口1204接收来自所述第二节点的配对响应消息,所述配对响应消息包含用于指示所述第二节点的配对能力的信息,所述第二节点的配对能力包括所述第二节点是否具有PSK配对能力和所述第二节点的输入输出能力;
根据所述第一节点的配对能力的信息和所述第二节点的配对能力的信息确定配对模式;所述配对模式包括基于PSK进行配对、数字比较NC、直接工作JW或密码输入PE;
根据所述配对模式与所述第二节点进行配对。
可以看出,配对请求消息中包括第一节点的配对能力的信息,配对响应消息中包括第二节点的配对能力的信息。上述装置120可以根据该第一节点与第二节点的配对能力的信息,根据需求确定对应的配对模式。例如,上述装置120通过优先选择基于PSK配对,或者根据各个模式的优先级选择配对模式等等方法,可以确定出满足需求的配对模式。
尤其是对于不能输入不能输出NoInputNoOutput、只能显示DisplayOnly或者可以显示及输入是否DisplayYesNo的蓝牙节点,通过优先选择基于PSK配对,可以避免与不可信的节点进行配对,提高了节点的通信安全性。
在一种可能的实施方式中,所述配对请求消息中包括输入输出能力IOC字段,所述IOC字段的一部分比特位中包括所述第一节点的PSK能力值,所述第一节点的PSK能力值用于指示所述第一节点是否具有PSK配对能力;
所述IOC字段的另一部分比特位用于指示所述第一节点的输入输出能力。
在又一种可能的实施方式中,所述配对请求消息中包括PSK能力字段,PSK能力字段中包括所述第一节点的PSK能力值,所述第一节点的PSK能力值用于指示所述第一节点是否具有PSK配对能力;
所述配对请求消息中还包括输入输出能力IOC字段,所述IOC字段用于指示所述第一节点的输入输出能力。
在又一种可能的实施方式中,所述处理器1202,还用于:
确定所述第二节点与所述第一节点共享第一PSK;
根据所述第二节点的配对能力的信息确定所述第一节点具有PSK配对能力;
使用所述第一节点与所述第二节点共享的所述第一PSK进行配对。
在又一种可能的实施方式中,所述处理器1202,还用于:
获取所述第二节点的第二设备标识;
确定存在有与所述第二设备标识对应的所述第一PSK。
在又一种可能的实施方式中,所述处理器1202,具体用于:
根据所述第二节点的配对能力的信息确定所述第二节点不具有PSK配对能力;
根据所述第一节点的输入输出能力和所述第二节点的输入输出能力确定所述配对模式;所述配对模式为数字比较NC、直接工作JW或密码输入PE。
在又一种可能的实施方式中,所述处理器1202,具体用于:
根据所述第二节点的配对能力的信息所述第一节点具有PSK配对能力;
确定所述第二节点与所述第一节点共享第一PSK;
根据所述第一节点的输入输出能力和所述第二节点的输入输出能力确定第一配对模式;所述第一配对模式为数字比较NC、直接工作JW或密码输入PE;
根据所述第一配对模式的优先级和基于PSK进行配对的优先级确定配对模式。
在又一种可能的实施方式中,所述处理器1202,具体用于:
通过通信接口1204接收来自所述第二节点的第二认证参数;
根据所述第一PSK验证所述第二认证参数。
在又一种可能的实施方式中,所述处理器1202,具体用于:
根据所述第一PSK生成第一认证参数;
通过通信接口1204向所述第二节点发送所述第一认证参数。
在又一种可能的实施方式中,所述处理器1202,还用于:
通过通信接口1204接收来自所述第二节点发送的第二新鲜性参数;
根据所述第二新鲜性参数、第一公钥、第二公钥以及所述第一PSK生成所述第一认证参数;其中,所述第一公钥与第二公钥为生成第一节点与第二节点之间的共享密钥的参数。
在又一种可能的实施方式中,所述处理器1202,还用于:
通过通信接口1204向所述第二节点发送第一新鲜性参数;
根据所述第一新鲜性参数、第一公钥、第二公钥以及所述第一PSK生成第一校验参数;
根据第一校验参数与所述第二认证参数,确认所述第二认证参数验证通过。
在又一种可能的实施方式中,所述处理器1202,还用于:
通过通信接口1204接收来自所述第一节点的第三认证参数;
根据所述第一节点的PSK能力值生成第四校验参数;
根据所述第四校验参数与所述第三认证参数确定所述第一节点的PSK能力值的正确性认证通过;
根据所述第二节点的PSK能力值生成第四认证参数;
通过通信接口1204向所述第一节点发送所述第四认证参数。
需要说明的是,各个模块的实现还可以对应参照图7所示的实施例的相应描述。
本申请实施例还提供了一种计算机可读存储介质,所述计算机可读存储介质中存储有计算机程序,当所述计算机程序在一个或多个处理器上运行时,执行图2、图7、图8、图9或图10所示的任意一种实施例所述的方法。
本申请实施例还提供了一种芯片***,所述芯片***包括至少一个处理器,存储器和接口电路,所示接口电路用于为所述至少一个处理器提供信息输入/输出,所述至少一个存储器中存储有计算机程序,当所述计算机程序在一个或多个处理器上运行时,执行图2、图7、图8、图9或图10所示的任意一种实施例所述的方法。
本申请实施例还提供一种智能座舱产品,所述智能座舱产品包括第一节点(例如,汽车座舱域控制器CDC),所述第一节点图2、图7、图8、图9或图10所示的任意一种实施例中的第一节点。进一步的,所述智能座舱产品还包括第二节点(例如,摄像头、屏幕、麦克风、音响、雷达、电子钥匙、无钥匙进入及启动***控制器等模块中的至少一个),所述第二节点为图2、图7、图8、图9或图10所示任意一种实施例中的第二节点。
本申请实施例还提供一种车辆,所述车辆包括第一节点(例如,汽车座舱域控制器CDC)。进一步的,所述车辆还包括第二节点(例如,摄像头、屏幕、麦克风、音响、雷达、电子钥匙、无钥匙进入或启动***控制器等模块中的至少一个),其中上述第一节点为图2、图7、图8、图9或图10所示的任意一种实施例中的第一节点,上述第二节点为图2、图7、图8、图9或图10所示的任意一种实施例中的第二节点。
本申请实施例还提供一种计算机程序产品,当所述计算机程序产品在一个或多个处理器上运行时,可以执行如图2、图7、图8、图9或图10所示的任意一种实施例所描述的蓝牙配对方法。可替换的,上述车辆还可以替换为无人机、机器人等智能终端或者运输工具。
在上述实施例中,可以全部或部分地通过软件、硬件、固件或者其任意组合来实现。当使用软件实现时,可以全部或部分地以计算机指令产品的形式实现。在计算机上加载和执行该计算机指令时,可以全部或部分地实现本申请实施例所描述的流程或功能。该计算机可以是通用计算机、专用计算机、计算机网络、或者其它可编程装置。该计算机指令可以存储在计算机可读存储介质中,或者通过计算机可读存储介质进行传输。该计算机可读存储介质可以是计算机能够存取的任何可用介质或者是包含一个或多个可用介质集成的服务器、数据中心等数据存储设备。可用介质可以是磁性介质,(例如,软盘、硬盘、磁带)、光介质(例如,DVD)、或者半导体介质(例如,固态硬盘(solid state disk,SSD))等。
本申请方法实施例中的步骤可以根据实际需要进行顺序调整、合并和删减。
本申请装置实施例中的模块可以根据实际需要进行合并、划分和删减。
Claims (66)
1.一种节点配对方法,其特征在于,应用于第二节点中,所述方法包括:
所述第二节点接收来自第一节点的配对请求消息,所述配对请求消息包含用于指示所述第一节点是否具有与所述第二节点共享的预共享密钥PSK的信息;
响应于所述配对请求消息,所述第二节点向所述第一节点发送配对响应消息,所述配对响应消息包含用于指示所述第二节点是否具有与所述第一节点共享的所述PSK的信息;
在所述配对请求消息指示所述第一节点具有所述PSK以及所述配对响应消息指示所述第二节点具有所述PSK时,所述第二节点确定优先使用所述PSK对所述第一节点进行认证;
所述第二节点使用所述PSK对所述第一节点进行认证。
2.根据权利要求1所述的方法,其特征在于,所述配对请求消息中还包含用于指示所述第一节点的输入输出能力的信息。
3.根据权利要求1所述的方法,其特征在于,所述配对响应消息中还包含用于指示所述第二节点的输入输出能力的信息。
4.根据权利要求2或3所述的方法,其特征在于,使用所述PSK进行所述认证的优先级高于与所述输入输出能力相对应的认证方式的优先级。
5.根据权利要求3所述的方法,其特征在于,所述配对响应消息中包括第一字段,所述第二节点是否具有所述PSK通过所述第一字段为第一组数值中的一个数值被指示,以及所述第二节点的输入输出能力通过所述第一字段为第二组数值中的一个数值被指示。
6.根据权利要求3所述的方法,其特征在于,所述配对响应消息中包括第一字段;
所述第一字段的第一部分比特位用于指示所述第二节点是否具有所述PSK;
所述第一字段的第二部分比特位用于指示所述第二节点的所述输入输出能力。
7.根据权利要求3所述的方法,其特征在于,所述配对响应消息中包括第一字段和第二字段;
所述第一字段用于指示所述第二节点是否具有所述PSK;
所述第二字段用于指示所述第二节点的所述输入输出能力。
8.根据权利要求1-3中任一项所述的方法,其特征在于,在向所述第一节点发送配对响应消息之前,所述方法还包括:
所述第二节点确定所述第二节点与所述第一节点共享所述PSK。
9.根据权利要求1-3中任一项所述的方法,其特征在于,所述配对请求消息中包括输入输出能力IOC字段,所述IOC字段中包含用于指示所述第一节点是否具有所述PSK的信息。
10.根据权利要求9所述的方法,其特征在于,所述IOC字段的一部分比特位中包括所述第一节点的PSK能力值,所述第一节点的PSK能力值用于指示所述第一节点是否具有所述PSK;
所述IOC字段的另一部分比特位用于指示所述第一节点的输入输出能力。
11.根据权利要求1-3中任一项所述的方法,其特征在于,所述配对请求消息中包括PSK能力字段,所述PSK能力字段中包括所述第一节点的PSK能力值,所述第一节点的PSK能力值用于指示所述第一节点是否具有所述PSK;
所述配对请求消息中还包括输入输出能力IOC字段,所述IOC字段用于指示所述第一节点的输入输出能力。
12.根据权利要求11所述的方法,其特征在于,在所述第二节点向所述第一节点发送配对响应消息之前,所述方法还包括:
所述第二节点根据所述配对请求消息和预先设置的配对模式优先级信息确定所述配对响应消息,其中,所述配对模式优先级信息指示当所述第一节点与所述第二节点共享有PSK时,使用所述第一节点与所述第二节点之间共享的PSK进行配对在多个配对模式中享有最高优先级。
13.根据权利要求1-3任一项所述的方法,其特征在于,所述第二节点使用所述PSK对所述第一节点进行认证,包括:
所述第二节点接收来自所述第一节点的第一认证参数;
所述第二节点根据所述PSK验证所述第一认证参数。
14.根据权利要求13中所述的方法,其特征在于,所述方法还包括:
所述第二节点根据所述PSK生成第二认证参数;
所述第二节点向所述第一节点发送所述第二认证参数。
15.根据权利要求1-3任一项所述的方法,其特征在于,所述配对请求消息中包括所述第一节点的第一PSK能力值,所述第一PSK能力值用于指示所述第一节点是否具有所述PSK;所述第二节点使用所述PSK对所述第一节点进行认证之后,所述方法还包括:
所述第二节点接收来自所述第一节点的第三认证参数,所述第三认证参数是根据所述第一PSK能力值生成的;
所述第二节点根据所述第一PSK能力值生成第四校验参数;
所述第二节点根据所述第四校验参数与所述第三认证参数确定所述第一PSK能力值认证通过。
16.根据权利要求15所述的方法,其特征在于,所述方法还包括:
所述第二节点根据所述第二节点的第二PSK能力值生成第四认证参数,所述第二PSK能力值用于指示所述第二节点是否具有所述PSK;
所述第二节点向所述第一节点发送所述第四认证参数。
17.一种节点配对方法,其特征在于,应用于第一节点中,所述方法包括:
所述第一节点向第二节点发送配对请求消息,所述配对请求消息包含用于指示所述第一节点具有与所述第二节点共享的预共享密钥PSK的信息;
所述第一节点接收所述第二节点反馈的配对响应消息,所述配对响应消息包含用于指示所述第二节点是否具有与所述第一节点共享的所述PSK的信息;
在所述配对请求消息指示所述第一节点具有所述PSK以及所述配对响应消息指示所述第二节点具有所述PSK时,所述第一节点确定优先使用所述PSK对所述第二节点进行认证;
所述第一节点使用所述PSK对所述第二节点进行认证。
18.根据权利要求17所述的方法,其特征在于,所述配对请求消息中还包含用于指示所述第一节点的输入输出能力的信息。
19.根据权利要求18所述的方法,其特征在于,所述配对响应消息中还包含用于指示所述第二节点的输入输出能力的信息。
20.根据权利要求18或19所述的方法,其特征在于,使用所述PSK进行所述认证的优先级高于与所述输入输出能力相对应的认证方式的优先级。
21.根据权利要求19所述的方法,其特征在于,所述配对响应消息中包括第一字段,所述第二节点是否具有所述PSK通过所述第一字段为第一组数值中的一个数值被指示,以及所述第二节点的输入输出能力通过所述第一字段为第二组数值中的一个数值被指示。
22.根据权利要求19所述的方法,其特征在于,所述配对响应消息中包括第一字段;
所述第一字段的第一部分比特位用于指示所述第二节点是否具有所述PSK;
所述第一字段的第二部分比特位用于指示所述第二节点的所述输入输出能力。
23.根据权利要求19所述的方法,其特征在于,所述配对响应消息中包括第一字段和第二字段;
所述第一字段用于指示所述第二节点是否具有所述PSK;
所述第二字段用于指示所述第二节点的所述输入输出能力。
24.根据权利要求17-19中任一项所述的方法,其特征在于,在所述第一节点向第二节点发送配对请求消息之前,所述方法还包括:
所述第一节点确定所述第二节点与所述第一节点共享所述PSK。
25.根据权利要求17-19中任一项所述的方法,其特征在于,所述配对请求消息中包括输入输出能力IOC字段,所述IOC字段中包含用于指示所述第一节点是否具有所述PSK的信息。
26.根据权利要求25所述的方法,其特征在于,所述IOC字段的一部分比特位用于指示所述第一节点的PSK能力值,所述第一节点的PSK能力值用于指示所述第一节点是否具有所述PSK;
所述IOC字段的另一部分比特位用于指示所述第一节点的输出能力。
27.根据权利要求17-19中任一项所述的方法,其特征在于,所述配对请求消息中包括PSK能力字段,所述PSK能力字段中包括所述第一节点的PSK能力值,所述第一节点的PSK能力值用于指示所述第一节点是否具有所述PSK;
所述配对请求消息中还包括输入输出能力IOC字段,所述IOC字段用于指示所述第一节点的输入输出能力。
28.根据权利要求17-19任一项所述的方法,其特征在于,所述第一节点使用所述PSK对所述第二节点进行认证,包括:
所述第一节点接收来自所述第二节点的第二认证参数;
所述第一节点根据所述PSK验证所述第二认证参数。
29.根据权利要求28中所述的方法,其特征在于,所述方法还包括:
所述第一节点根据所述PSK生成第一认证参数;
所述第一节点向所述第二节点发送所述第一认证参数。
30.根据权利要求17-19任一项所述的方法,其特征在于,所述配对响应消息中包括所述第二节点的第二PSK能力值,所述第二PSK能力值用于指示所述第二节点具有所述PSK;所述第一节点使用所述PSK对所述第二节点进行认证之后,所述方法还包括:
所述第一节点接收来自所述第二节点的第四认证参数,所述第四认证参数是根据所述第二PSK能力值生成的;
所述第一节点根据所述第二PSK能力值生成第三校验参数;
所述第一节点根据所述第三校验参数与所述第四认证参数确定所述第二PSK能力值认证通过。
31.根据权利要求30所述的方法,其特征在于,所述方法还包括:
所述第一节点根据所述第一节点的PSK能力值生成第三认证参数;
所述第一节点向所述第二节点发送所述第三认证参数。
32.一种配对装置,其特征在于,包括:
接收单元,用于接收来自第一节点的配对请求消息,所述配对请求消息包含用于指示所述第一节点是否具有与第二节点共享的预共享密钥PSK的信息;
发送单元,用于响应于所述配对请求消息,向所述第一节点发送配对响应消息,所述配对响应消息包含用于指示第二节点是否具有与所述第一节点共享的所述PSK的信息;
处理单元,用于在所述配对请求消息指示所述第一节点具有所述PSK以及所述配对响应消息指示所述第二节点具有所述PSK时,确定优先使用所述PSK对所述第一节点进行认证,以及用于使用所述PSK对所述第一节点进行认证。
33.根据权利要求32所述的装置,其特征在于,所述配对请求消息中还包含用于指示所述第一节点的输入输出能力的信息。
34.根据权利要求32所述的装置,其特征在于,所述配对响应消息中还包含用于指示所述第二节点的输入输出能力的信息。
35.根据权利要求33或34所述的装置,其特征在于,使用所述PSK进行所述认证的优先级高于与所述输入输出能力相对应的认证方式的优先级。
36.根据权利要求34所述的装置,其特征在于,所述配对响应消息中包括第一字段,所述第二节点是否具有所述PSK通过所述第一字段为第一组数值中的一个数值被指示,以及所述第二节点的输入输出能力通过所述第一字段为第二组数值中的一个数值被指示。
37.根据权利要求34所述的装置,其特征在于,所述配对响应消息中包括第一字段;
所述第一字段的第一部分比特位用于指示所述第二节点是否具有所述PSK;
所述第一字段的第二部分比特位用于指示所述第二节点的所述输入输出能力。
38.根据权利要求34所述的装置,其特征在于,所述配对响应消息中包括第一字段和第二字段;
所述第一字段用于指示所述第二节点是否具有所述PSK配对能力;
所述第二字段用于指示所述第二节点的所述输入输出能力。
39.根据权利要求32-34中任一项所述的装置,其特征在于,所述处理单元还用于:
确定所述第二节点与所述第一节点共享所述PSK。
40.根据权利要求32-34任一项所述的装置,其特征在于,所述配对请求消息中包括输入输出能力IOC字段,所述IOC字段中包含用于指示所述第一节点是否具有所述PSK的信息。
41.根据权利要求32-34任一项所述的装置,其特征在于,IOC字段的一部分比特位中包括所述第一节点的PSK能力值,所述第一节点的PSK能力值用于指示所述第一节点是否具有所述PSK;
所述IOC字段的另一部分比特位用于指示所述第一节点的输入输出能力。
42.根据权利要求32-34任一项所述的装置,其特征在于,所述配对请求消息中包括PSK能力字段,所述PSK能力字段中包括所述第一节点的PSK能力值,所述第一节点的PSK能力值用于指示所述第一节点是否具有所述PSK;
所述配对请求消息中还包括输入输出能力IOC字段,所述IOC字段用于指示所述第一节点的输入输出能力。
43.根据权利要求42所述的装置,其特征在于,所述处理单元,还用于根据所述配对请求消息和预先设置的配对模式优先级信息确定所述配对响应消息,其中,所述配对模式优先级信息指示当所述第一节点与所述第二节点共享有PSK时,使用所述第一节点与所述第二节点之间共享的PSK进行配对在多个配对模式中享有最高优先级。
44.根据权利要求32-34任一项所述的装置,其特征在于,所述接收单元,还用于接收来自所述第一节点的第一认证参数;
所述处理单元,还用于根据所述PSK验证所述第一认证参数。
45.根据权利要求44中所述的装置,其特征在于,所述处理单元,还用于根据所述PSK生成第二认证参数;
所述发送单元,还用于向所述第一节点发送所述第二认证参数。
46.根据权利要求32-34任一项所述的装置,其特征在于,所述配对请求消息中包括所述第一节点的第一PSK能力值,所述第一PSK能力值用于指示所述第一节点是否具有所述PSK;所述接收单元,还用于接收来自所述第一节点的第三认证参数,所述第三认证参数是根据所述第一PSK能力值生成的;
所述处理单元,还用于根据所述第一PSK能力值生成第四校验参数;
所述处理单元,还用于根据所述第四校验参数与所述第三认证参数确定所述第一PSK能力值认证通过。
47.根据权利要求46所述的装置,其特征在于,所述处理单元,还用于根据所述第二节点的第二PSK能力值生成第四认证参数,所述第二PSK能力值用于指示所述第二节点是否具有所述PSK;
所述发送单元,还用于向所述第一节点发送所述第四认证参数。
48.一种配对装置,其特征在于,包括:
发送单元,用于向第二节点发送配对请求消息,所述配对请求消息包含用于指示第一节点具有与所述第二节点共享的预共享密钥PSK的信息;
接收单元,用于接收所述第二节点反馈的配对响应消息,所述配对响应消息包含用于指示所述第二节点是否具有与所述第一节点共享的所述PSK的信息;
处理单元,用于在所述配对请求消息指示所述第一节点具有所述PSK以及所述配对响应消息指示所述第二节点具有所述PSK时,确定优先使用所述PSK对所述第二节点进行认证,以及用于使用所述PSK对所述第二节点进行认证。
49.根据权利要求48所述的装置,其特征在于,所述配对请求消息中还包含用于指示所述第一节点的输入输出能力的信息。
50.根据权利要求48所述的装置,其特征在于,所述配对响应消息中还包含用于指示所述第二节点的输入输出能力的信息。
51.根据权利要求49或50所述的装置,其特征在于,使用所述PSK进行所述认证的优先级高于与所述输入输出能力相对应的认证方式的优先级。
52.根据权利要求50所述的装置,其特征在于,所述配对响应消息中包括第一字段,所述第二节点是否具有所述PSK通过所述第一字段为第一组数值中的一个数值被指示,以及所述第二节点的输入输出能力通过所述第一字段为第二组数值中的一个数值被指示。
53.根据权利要求50所述的装置,其特征在于,所述配对响应消息中包括第一字段;
所述第一字段的第一部分比特位用于指示所述第二节点是否具有所述PSK;
所述第一字段的第二部分比特位用于指示所述第二节点的所述输入输出能力。
54.根据权利要求50所述的装置,其特征在于,所述配对响应消息中包括第一字段和第二字段;
所述第一字段用于指示所述第二节点是否具有所述PSK;
所述第二字段用于指示所述第二节点的所述输入输出能力。
55.根据权利要求48-50中任一项所述的装置,其特征在于,所述处理单元,还用于确定所述第二节点与所述第一节点共享所述PSK。
56.根据权利要求48-50任一项所述的装置,其特征在于,所述配对请求消息中包括输入输出能力IOC字段,所述IOC字段中包含用于指示所述第一节点是否具有所述PSK的信息。
57.根据权利要求56所述的装置,其特征在于,所述IOC字段的一部分比特位用于指示所述第一节点的PSK能力值,所述第一节点的PSK能力值用于指示所述第一节点是否具有所述PSK;
所述IOC字段的另一部分比特位用于指示所述第一节点的输出能力。
58.根据权利要求48-50任一项所述的装置,其特征在于,所述配对请求消息中包括PSK能力字段,所述PSK能力字段中包括所述第一节点的PSK能力值,所述第一节点的PSK能力值用于指示所述第一节点是否具有所述PSK;
所述配对请求消息中还包括输入输出能力IOC字段,所述IOC字段用于指示所述第一节点的输入输出能力。
59.根据权利要求48-50任一项所述的装置,其特征在于,所述接收单元,还用于接收来自所述第二节点的第二认证参数;
所述处理单元,还用于根据所述PSK验证所述第二认证参数。
60.根据权利要求59中所述的装置,其特征在于,所述处理单元,还用于根据所述PSK生成第一认证参数;
所述发送单元,还用于向所述第二节点发送所述第一认证参数。
61.根据权利要求48-50任一项所述的装置,其特征在于,所述配对响应消息中包括所述第二节点的第二PSK能力值,所述第二PSK能力值用于指示所述第二节点具有所述PSK;
所述接收单元,还用于接收来自所述第二节点的第四认证参数,所述第四认证参数是根据所述第二PSK能力值生成的;
所述处理单元,还用于根据所述第二PSK能力值生成第三校验参数;
所述处理单元,还用于根据所述第三校验参数与所述第四认证参数确定所述第二PSK能力值认证通过。
62.根据权利要求61所述的装置,其特征在于,
所述处理单元,还用于根据所述第一节点的PSK能力值生成第三认证参数;
所述发送单元,还用于向所述第二节点发送所述第三认证参数。
63.一种配对装置,其特征在于,所述配对装置包括至少一个处理器和通信接口,所述至少一个处理器用于调用至少一个存储器中存储的计算机程序,以使得所述装置实现如权利要求1-16中任一项所述的方法。
64.一种配对装置,其特征在于,所述配对装置包括至少一个处理器和通信接口,所述至少一个处理器用于调用至少一个存储器中存储的计算机程序,以使得所述装置实现如权利要求17-31中任一项所述的方法。
65.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质中存储有计算机程序,当所述计算机程序在一个或多个处理器上运行时,执行如权利要求1-16中任一项所述的方法。
66.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质中存储有计算机程序,当所述计算机程序在一个或多个处理器上运行时,执行如权利要求17-32中任一项所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210318486.8A CN114827999A (zh) | 2020-07-28 | 2020-07-28 | 一种节点配对方法及相关装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
PCT/CN2020/105274 WO2022021087A1 (zh) | 2020-07-28 | 2020-07-28 | 一种蓝牙节点配对方法及相关装置 |
Related Child Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202210318486.8A Division CN114827999A (zh) | 2020-07-28 | 2020-07-28 | 一种节点配对方法及相关装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN112640506A CN112640506A (zh) | 2021-04-09 |
CN112640506B true CN112640506B (zh) | 2022-04-22 |
Family
ID=75291199
Family Applications (2)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202210318486.8A Pending CN114827999A (zh) | 2020-07-28 | 2020-07-28 | 一种节点配对方法及相关装置 |
CN202080004695.4A Active CN112640506B (zh) | 2020-07-28 | 2020-07-28 | 一种蓝牙节点配对方法及相关装置 |
Family Applications Before (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202210318486.8A Pending CN114827999A (zh) | 2020-07-28 | 2020-07-28 | 一种节点配对方法及相关装置 |
Country Status (6)
Country | Link |
---|---|
US (1) | US20230164560A1 (zh) |
EP (1) | EP4184857A4 (zh) |
JP (1) | JP2023535613A (zh) |
KR (1) | KR20230041746A (zh) |
CN (2) | CN114827999A (zh) |
WO (1) | WO2022021087A1 (zh) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
EP4369653A4 (en) * | 2021-08-03 | 2024-07-10 | Huawei Tech Co Ltd | INFORMATION PROCESSING METHOD AND DEVICE AND DEVICE |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103795728A (zh) * | 2014-02-24 | 2014-05-14 | 哈尔滨工程大学 | 一种隐藏身份且适合资源受限终端的eap认证方法 |
CN107465994A (zh) * | 2017-06-13 | 2017-12-12 | 天地融科技股份有限公司 | 一种业务数据传输方法、装置及*** |
CN108496333A (zh) * | 2017-03-30 | 2018-09-04 | 深圳市大疆创新科技有限公司 | 配对方法、设备、机器可读存储介质以及*** |
US10326797B1 (en) * | 2018-10-03 | 2019-06-18 | Clover Network, Inc | Provisioning a secure connection using a pre-shared key |
CN111343613A (zh) * | 2018-12-18 | 2020-06-26 | 费希尔控制产品国际有限公司 | 在过程控制***中建立安全的低能量无线通信的方法和装置 |
Family Cites Families (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104540089B (zh) * | 2014-12-23 | 2019-04-12 | 海信集团有限公司 | 一种主设备与从设备进行蓝牙配对的方法、设备及*** |
US10129228B1 (en) * | 2016-03-30 | 2018-11-13 | Amazon Technologies, Inc. | Authenticated communication between devices |
CN108111467B (zh) * | 2016-11-24 | 2021-04-09 | 华为技术有限公司 | 身份认证方法与设备及*** |
-
2020
- 2020-07-28 CN CN202210318486.8A patent/CN114827999A/zh active Pending
- 2020-07-28 EP EP20946779.4A patent/EP4184857A4/en active Pending
- 2020-07-28 WO PCT/CN2020/105274 patent/WO2022021087A1/zh unknown
- 2020-07-28 KR KR1020237005565A patent/KR20230041746A/ko active Search and Examination
- 2020-07-28 CN CN202080004695.4A patent/CN112640506B/zh active Active
- 2020-07-28 JP JP2023505813A patent/JP2023535613A/ja active Pending
-
2023
- 2023-01-20 US US18/157,318 patent/US20230164560A1/en active Pending
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103795728A (zh) * | 2014-02-24 | 2014-05-14 | 哈尔滨工程大学 | 一种隐藏身份且适合资源受限终端的eap认证方法 |
CN108496333A (zh) * | 2017-03-30 | 2018-09-04 | 深圳市大疆创新科技有限公司 | 配对方法、设备、机器可读存储介质以及*** |
CN107465994A (zh) * | 2017-06-13 | 2017-12-12 | 天地融科技股份有限公司 | 一种业务数据传输方法、装置及*** |
US10326797B1 (en) * | 2018-10-03 | 2019-06-18 | Clover Network, Inc | Provisioning a secure connection using a pre-shared key |
CN111343613A (zh) * | 2018-12-18 | 2020-06-26 | 费希尔控制产品国际有限公司 | 在过程控制***中建立安全的低能量无线通信的方法和装置 |
Also Published As
Publication number | Publication date |
---|---|
EP4184857A1 (en) | 2023-05-24 |
KR20230041746A (ko) | 2023-03-24 |
CN112640506A (zh) | 2021-04-09 |
CN114827999A (zh) | 2022-07-29 |
JP2023535613A (ja) | 2023-08-18 |
WO2022021087A1 (zh) | 2022-02-03 |
US20230164560A1 (en) | 2023-05-25 |
EP4184857A4 (en) | 2023-09-13 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN112740733B (zh) | 一种安全接入方法及装置 | |
CN108566381A (zh) | 一种安全升级方法、装置、服务器、设备和介质 | |
WO2016161583A1 (zh) | 一种gprs***密钥增强的方法、sgsn设备、ue、hlr/hss及gprs*** | |
CN112994873B (zh) | 一种证书申请方法及设备 | |
CN112602290B (zh) | 一种身份验证方法、装置和可读存储介质 | |
CN111327605B (zh) | 传输私密信息的方法、终端、服务器和*** | |
CN112913189A (zh) | 一种ota升级方法及装置 | |
CN112449323A (zh) | 一种通信方法、装置和*** | |
EP4270858A1 (en) | Identity authentication method and apparatus, device, chip, storage medium, and program | |
CN112640506B (zh) | 一种蓝牙节点配对方法及相关装置 | |
CN113455032B (zh) | 通信方法、通信装置及计算机可读介质 | |
CN113228722B (zh) | 一种配对方法及装置 | |
CN113455034A (zh) | 一种通信方法及装置 | |
CN113455024B (zh) | 一种密钥获取方法及相关装置 | |
EP4270856A1 (en) | Identity authentication method and apparatus, and device, chip, storage medium and program | |
EP4270859A1 (en) | Identity authentication method and apparatus, device, chip, storage medium, and program | |
WO2023230929A1 (zh) | 通信方法及相关装置 | |
CN101247219A (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 |