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.

[参考译文] BOOSTXL-CC2650MA:配对/绑定问题

Guru**** 2595770 points


请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

https://e2e.ti.com/support/wireless-connectivity/bluetooth-group/bluetooth/f/bluetooth-forum/608231/boostxl-cc2650ma-pairing-bonding-questions

器件型号:BOOSTXL-CC2650MA

您好!

我正在开发一个定制的低功耗蓝牙项目、为此、我使用了 TI 多角色项目。 到目前为止、我使用了不带绑定的"仅工作"配对。 现在,我不会交换可以建立加密连接的安全密钥。 我的设备(主设备)和从设备没有允许输入钥匙的键盘或显示屏。 因此、我认为使用 Bondmanager 的唯一方法是在没有 MITM 保护的情况下启用配对和绑定。
我已经阅读了《开发人员指南》SWRU393D 的第5.4.3章。 我使用以下命令配置了 Gapbond 管理器:

uint8_t pairMode = GAPBOND_Pairing_mode_initiate;
uint8_t MIPTM = false;
uint8_t 绑定= true;
//设置配对模式
GAPBondMgr_SetParameter (GAPBOND_Pairing_mode、sizeof (uint8_t)、&pairMode);
//设置身份验证要求
GAPBondMgr_SetParameter (GAPBOND_MITM_protection、sizeof (uint8_t)、&MIPTM);
//设置绑定要求
GAPBondMgr_SetParameter (GAPBOND_BUSIONIND_ENABLED、sizeof (uint8_t)、&bonding);

//注册并启动 Bond Manager
void GAPBondMgr_Register (&multi_role_BondMgrCBs); 

下图和开发人员指南中描述了在初始配对过程中、从堆栈处理 GAPBOND_PAIIRNG_State_Complete 事件。 在将来的连接中、不会处理该事件、堆栈会处理 GAPBOND_Pairing_State_Bonded (这意味着堆栈已从闪存加载密钥)。 现在、当我连接到接收到 GAPBOND_PAIRNG_State_Complete 事件的器件时、我的问题。 当我断开器件并重新连接时、我还会收到一个 GAPBOND_PAIRNG_State_Complete 事件。 我想我现在应该会收到一个 GAPBOND_Pairing_State_Bonded 事件。 因此、我认为我的器件没有将加密密钥保存在闪存中。

您能告诉我如何确定我的设备是否已将密钥存储在闪存中? 以及如何确定它们是否用于与该器件的进一步连接。

第二个问题是:我是否可以选择其他选项来防止连接受到 MIPTM 攻击? (两个设备都没有键盘和显示屏)

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    您好 Tobias、

    只要绑定完成、这意味着密钥已存储在闪存中。 您应该能够检查绑定计数并查看是否确实存储了预期的密钥数。 这是通过 GAPBondMgr API 实现的: software-dl.ti.com/.../group___g_a_p_bond_mgr.html

    您可以在复位后再次检查此项、以验证您是否仍然具有预期的绑定(也许确定您的应用行为)

    关于第二个问题-您可以执行一些带外信息操作。 (但是、如果您没有某种方法来传输信息、您将位于同一条船上)

    此致、
    反叛分子
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    您好!

    谢谢你。 我已经检查了键合计数、一切正常。

    此致、

    Tobi