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.

[参考译文] CC2642R-Q1:从器件能否获得主器件尝试使用的密钥以与其配对/绑定?

Guru**** 2589300 points
Other Parts Discussed in Thread: CC2642R

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

https://e2e.ti.com/support/wireless-connectivity/bluetooth-group/bluetooth/f/bluetooth-forum/1369580/cc2642r-q1-can-a-slave-get-the-passkey-a-master-is-trying-to-use-in-order-to-pairing-bonding-with-it

器件型号:CC2642R-Q1
主题中讨论的其他器件:CC2642R

工具与软件:

大家好!

我使用的是 CC2642R、SDK_CC26X2_R2_4_40_00_44和 multi_role 示例。  我还使用 带有密钥的 MITM & Pairing 与通用主设备配对和绑定。

在我的方案中 ,我可以使用 SPhone1和所有其他通用的 Snowel_n。  对于 Spone_1、我设置了 Passkey_1、对于所有其他的 Spone_n、我是否设置了 Passkey_2  

我的目标是、如果主站的配对来自 SPhone_1或来自所有其他 SPhone、事先不知道 SPhone_1的 MAC 地址、我的目标是成功配对。

 

目前、我以这种(不理想)方式工作:  

在从通用主器件连接期间、multi_role 接收 MR_EVT_PASS_NEEDED 事件。 因此 调用 multi_role_processPasscode ((mrPasscodeData_t*)(pMsg->pData);。

在该函数内部,我首先尝试调用 GAPPOR-BORRISP(pData-connHandle, Mgr_Passcode Success,Passkey_1);  

如果配对成功完成    、则表示连接的主设备是 SPhoner_1、否则在连接断开后、对于下一个 MR_EVT_PASS_NEED 事件、multi_role 将要求 GAPBarr (Mgr_Passcode pData-connHandle、Success、Passkey_2);以查看尝试配对的主设备是否是通用 SPhone_role

我已阅读 GAPBondMgr 和 LE Secure Connection 文档,但在整个配对和绑定过程完成/失败之前,我无法确定是否可以从 Master 获得密钥。

我可能不会因为加密?

提前感谢您的支持

费德里科

  

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

    您好 Federico、

    您能否提供更多信息、说明您为什么需要在事先不知道 MAC 地址的情况下识别 iPhone、以及为什么需要识别特定的主设备?  

    对于标准密钥输入、必须在交换密钥之前建立链路。 此外、在建立链路后、外设将知道 MAC 地址。   

    带外配对功能允许在设备频带外的信道上完成两个设备之间的身份验证。 我建议查看 用户指南中 GAP Bond Manager 部分的功能。   

    谢谢。  

    艾萨克

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

    尊敬的 Isaac:感谢您的参与。

    我知道必须在交换密钥之前建立链路、此时我可以获得 SNoP 的 MAC 地址。

    但是、即使我可以连接狮身人面像的 MAC、我仍然无法识别所连接的狮身人面像是狮身人面像_1还是狮身人面像 n。 这是因为我不知道(也永远不会)哪个 MAC 具有 Snowon_1。 我只需通过发送给我的密钥就可以识别 SPhone_1。 因此、只有当 Snoop 将向 multi_role 发送密钥时、我才能根据密钥值了解 Snoop 是 Snowel_1或其他 Snoes。 Phone 与客户应用程序一起运行。 当我意识到所连接的狮身  人面像是狮身人面像_1还是狮身人面像 n 时、multi_role 就会采取不同的行为。

    这是一个客户的应用程序、实际上 Snowel_1不是一个 Snoop、而是一个客户设备、正如我已经解释过的、multi_role 完全不知道它的 MAC。

    因此、第一个 multi_role 可以了解连接的主设备是否为 Spoone_1、首先它可以以正确的行为做出反应。 我想知道在等待配对和绑定过程的结果之前、是否有办法获取主设备发送的密钥(以加快该密钥)。

    实际上,正如我所写的,如果配对成功地使用了 PAMES_1 ,我知道连接的 SHphone 是 SHAN电话_1 ,否则,如果配对失败,这意味着使用不同的密钥连接的 SHAN电话,很可能是 SHAN电话 与 SHAN电话1不同。 因此、在下一个主器件连接请求中、multi_role 将尝试使用 passkey_n 代替 passke_1。

    希望现在可以更清楚地说明我要加速

    谢谢、Federico

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

    您好 Federico、  

    为此、我再次建议使用带外配对。 此功能允许对器件频带外的两个器件进行身份验证。 外设和中央设备可以在标准连接之外进行身份验证。  

    带外配对还允许交换附加信息。 这些附加信息可以是密钥、然后在配对过程中使用。  

    请参阅 用户指南中 GAP Bond Manager 一章的 Out of Band Pairing (带外配对)部分。 此外、请参阅 低功耗蓝牙核心规范。 您可以在第1卷- 5.2.4.3节、第3卷- 2.3.5.4节、第2.3.5.6节、第5.2.2.7节和其他各节中找到有关带外配对的更多信息。  

    请告诉我是否有此帮助!  

    谢谢。

    艾萨克

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

    尊敬的 Isaac:

    由于客户应用程序、我无法使用带外配对。 我无法更改配对方法。 如果在配对过程完成之前、您是否愿意回答我?

    非常感谢,Federico    

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

    您好 Federico、  

    您能否提供有关此身份验证方法用例的更多信息?  

    您描述的方法将是一个安全漏洞、因为加密前通过无线方式交换了密钥。  

    我可以帮助找到一种替代方法来验证第一部 iPhone、但我需要了解更多有关用例的信息。  

    请告诉我!

    谢谢。  
    艾萨克

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

    Isaac、您好、可能我没有很好地解释我要寻找的东西、很抱歉。

    使用 multi_role 时、我将(向所有主设备)请求配对(和绑定)与密钥方法。 这种配对方法如果我没有错、请使用 MTM 以获得最高的安全级别。

    multi_role 需要特定的密钥(固定值)。 我希望理解、如果存在获取主设备发送给我的密钥(multi_role)的方法、然后 multi_role (我自己)是否会验证密钥。

    我看不到任何类型的安全漏洞、因为它的 multi_role 本身需要获取主设备发送的密钥值。

    此致、Federico  

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

    您好 Federico、  

    根据用例、我指的更多是实现的最终用例、汽车门禁、优先级器件等?  

    首先、是否会在最终用例中修复第一个器件的密钥? 这将是一个安全漏洞。 如需更多信息、请阅读 蓝牙核心规范的第2.3.5.3节。   

    我知道您想要加快确认速度、但在通过多角色确认密钥时、您能否验证输入密钥的设备是否为设备1? 在多角色设备验证密钥之前发送的任何内容都不会被加密。 因此、在正常密钥交换之前在设备之间传递的密钥将在中间攻击时容易受到人的攻击。  有关如何交换密钥的更多信息、请阅读蓝牙核心规范中的第2.3.5.6.3节。  

    您是否能够使用一种实现方式为第一个连接分配特定行为,然后为连续连接分配不同行为? 请告诉我最终用例、我可以帮助提供一些替代方法。  

    此外、您使用 SDK v4.40.00.44的具体原因是什么?

    请告诉我!

    谢谢。  

    艾萨克

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

    您好 Federico、  

    此外、您能否告诉我 两个器件的输入/输出能力是多少? 请参阅  配对选择  方法 GAP Bond Manager 部分的一部分。  

    关于静态密钥以及在加密之前分发密钥、TI 不建议这样做、但可以这样做。 请注意、如果配对前交换密钥、则不会对密钥进行加密、这可能会导致严重的安全漏洞。  

    谢谢。  
    艾萨克