This thread has been locked.

If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.

LAUNCHXL-CC26X2R1: BLE如何主动发起安全请求?

Part Number: LAUNCHXL-CC26X2R1


BLE(26x2)作为Responder,手机作为initiator, 图中安全请求是怎样发起的?是协议栈自动发送还是用户应用层发送?如果是应用层发送,怎么做?

  • 您好,

    Phase 1:在这个阶段,Responder可以请求开始配对过程,initiator通过向 Responder发送 pairing request 来启动配对过程,然后 Responder以 pairing response 进行响应。配对请求和配对响应消息代表每个设备支持的特性以及每个设备的安全要求,两者通过交换对方信息协商出双方都支持的特性进行加密。

    因为是 optional是可选择的,所以是要看从哪个方向选择的。

    配对请求(Pairing Request)

    如果配对是由主机发起,则主机向从机发起配对请求。如果是由从机发起,则从机先向主机发出一个Security Request,请求发起安全管理流程,主机收到后再发起配对请求,如上图的Figure 2.1 LE Pairing Phases所示。
    配对请求中包含以下内容:

    • IO Capability:输入输出能力
    • OOB Data Flag:是否采用OOB(如果置位,则覆盖AuthReq Flag)
    • AuthReq Flag:是否需要绑定、MITM保护
    • Encryption Key Size:密钥长度
    • Initiator Key Distribution:发起者要求哪些密钥需要分发
    • Responder Key Distribution:响应者要求哪些密钥需要分发

    主从两端经过配对请求和响应以后,就能够获知对方的IO能力和是否需要认证,从而选择一个合适的配对方法。

    Q:图中安全请求是怎样发起的?

    A:当从机检测到需要进行安全连接时,协议栈会自动发送一个安全请求给主机。

    而用户应用层通常用于操作和处理安全请求后的结果,例如验证配对信息,处理加密等。

  • 从设备配置如图,是否会发起安全请求?

  • 您好,

    选择从属安全请求

  • 当选择Initiate a pairing request

    手机侧连接BLE设备时截图如图1,根据图片描述感觉是BLE(从设备)发起配对,而时序中是主设备发起的配对,图2,与预期不符,是手机配对显示的问题吗?

    图1                                                                          图2

  • 不太理解您的意思,您不是需要Security Request吗?

  • 我是需要Security Request,然后期望主设备向从设备发起配对请求,但是根据上图1显示,感觉是从设备发起的配对,与上图2中流程不符合,

  • BLE(26x2)作为Responder,

    我现在有一点迷惑,

    条件一:BLE作为responder

    条件二:根据阶段一,您需要Security Request,Security Request是从responder发出的

    现是 BLE发起配对请求 

    逻辑上没问题呀

    您能再给我解释一下吗?我有点困惑,谢谢

  • 不好意思,我问题没有表述清楚。

    条件一:BLE作为responder

    条件二:根据阶段一,您需要Security Request,Security Request是从responder发出的

    这两点已经实现,且没有问题。

    我的疑问是从设备发完Security Request后,主设备应该发送pairing request,配对请求是主设备发起的,但是我看手机上提示,感觉是从设备发出的配对请求,感觉这块冲突。

  • 那你的手机作为主设备,它之前进行绑定或者配对过吗

  • 有过,我都是忽略该设备后从新开始

  • 取消配对然后重新试一下

    将配对模式设置为 GAPBOND_PAIRING_MODE_NO_PAIRING 时,BLE 堆栈会自动拒绝任何配对尝试。

    当配对模式设置为 GAPBOND_PAIRING_MODE_WAIT_FOR_REQ 时,外设可以配置为等待来自中央设备的配对请求。 选择此配对模式后,GAPBondMgr 将根据其他 GAPBondMgr 配置的参数自动响应配对响应。

    Initiate a pairing request:

    为了在外设角色设备上启动配对过程,GAPBOND_PAIRING_MODE_INITIATE 将在 GAPBondMgr 被告知连接已形成后不久发送一个从属安全请求。 对于中央角色设备,如果设备之前已配对/绑定,GAPBOND_PAIRING_MODE_INITIATE 将发送配对请求或请求链路层加密链路。

  • 那个应该只是手机显示问题。我用蓝牙分析仪抓LOG看了,就是按照流程的,非问题。

    感谢您的耐心、专业的支持Thumbsup

  • 顺利就好~欢迎随时来论坛交流