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.

[参考译文] LP-CC2652PSIP:加密的密钥是否能够从主安全材料更改为好友安全材料以对好友投票进行加密?

Guru**** 2527990 points
Other Parts Discussed in Thread: LP-CC2652PSIP

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

https://e2e.ti.com/support/wireless-connectivity/bluetooth-group/bluetooth/f/bluetooth-forum/1319919/lp-cc2652psip-is-the-encrypted-key-able-to-change-from-master-security-material-to-friend-security-material-to-encrypt-friend-poll

器件型号:LP-CC2652PSIP

大家好、

  最近我正在测试 LPN 和朋友节点之间的友谊建立。

  如果 LPN 和朋友节点都是 LP-CC2652PSIP、则一切正常。

  但是、如果 LPN 是 LP-CC2652PSIP、而朋友节点来自其他供应商、则友谊的建立将失败。

  在捕获网状数据包后、我发现 LPN 使用主安全材料(网络密钥)对好友轮询加密、因为我可以使用网络密钥在 Wireshark 中解密好友轮询数据包。

  来自其他供应商的好友节点仅支持好友安全材料解密好友投票。

  因此,我想知道加密密钥是否能够从主安全材料更改为朋友安全材料,以便对 LPN 上的朋友投票进行加密。

  

  此致、

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

    您好!

    感谢您与我们联系。

    您建议的方法尚未在我们方面得到验证、因此我只能提供广泛的建议。

    这种方法似乎需要对 LPN 发送朋友投票的方式进行一些更改。 我想您可以在文件 LPn.c 中开始进行调查、尤其是对函数 send_friend_poll 进行调查。 然后、应该可以从同一个文件访问好友节点凭据。
    最后,您可能需要重新编写低级函数,以使用您需要的每种类型的消息的键控材料。

    我希望这将有所帮助、

    此致、

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

    尊敬的 Clement:

      感谢您的答复。

      按照您的建议、我发现通过调用 net_tx_cred_get 来为 net.c 中的 TX 消息加密、从而获取了加密凭据。

      似乎检索加密凭据是根据 net_tx_cred_get 函数中的 tx->sub.

      因此,我在 send_friend_poll 函数中将 tx->subvalue 从 bt_mesh.lpn.sub 修改为 bt_mesh.lpn.sub[1]和 bt_mesh.lpn.sub[2]。

      但是,尽管我无法通过 Wireshark 中的网络密钥解密朋友轮询消息,但两个修改都不起作用。

      您能告诉我朋友安全资料存放在哪里吗?

    此致、

     

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

    您好!

    据我了解,友谊建立期间使用的 netKeyIndex 在完成后立即收到的 bt_mesh_LPN_CB 内返回。

    您能否检查一下您要找的内容是否正确?

    此致、

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

    尊敬的 Clement:

      最后、我找到了如何更改好友投票消息的加密凭据。

      net_tx_cred_get 函数将通过检查 bt_mesh.lpn.established 变量来返回 friend 安全材料。

      当 LPN 从 Friend Node 收到 Friend Update 消息时,该变量将设置为1。

      然而,在建立友谊期间 LPN 发送朋友投票消息之前,它收到朋友节点的朋友更新消息。

      因此、我创建了另一个变量来表示 LPN 正在发送朋友投票消息、并强制 net_tx_cred_get 函数返回朋友安全材料而不是主安全材料。

      顺便说一句,我还有一个关于建立友谊的问题。

      根据蓝牙的博客,朋友投票消息应该使用朋友的安全材料来加密它。

      是否可以使用主安全材料对 Friend Poll 消息进行加密?

      这是下面的博客链接。

      www.bluetooth.com/.../

      非常感谢您的全力支持。

    此致、