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.

[参考译文] CC2745R10-Q1:使用 AES 加密功能时、basic_ble 模块蓝牙将断开连接。

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

https://e2e.ti.com/support/wireless-connectivity/bluetooth-group/bluetooth/f/bluetooth-forum/1628396/cc2745r10-q1-when-using-the-aes-encryption-function-the-basic_ble-module-bluetooth-will-disconnect

器件型号: CC2745R10-Q1

CC2745 SDK (simplelink_lowpower_f3_SDK_9_14_02_16) 演示合并 basic_ble 和 aesecb 演示例程的功能、预期当蓝牙功能正常工作时、可以执行 AESECB 加密和解密。 将 aesecb 演示功能集成到 basic_ble 演示后、蓝牙功能可以正常连接和运行、但在执行 AES 加密操作时蓝牙连接会断开。 请帮助分析原因和解决方案。 谢谢。加密功能的代码如下

PSA_AES_ECB_encrypt.c 

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

    您好、Zhang、

    感谢您联系我们。 我 正在调查此问题、请在星期三回复您之前给我一个回复。 谢谢。

    Eshaan

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

    您好、更正信息。 首先、我们将 aesecb 演示代码集成到 basic_ble 中、并且在运行 AESECB_open 函数时、直接导致了错误。 在线搜索后、据说 AES 硬件资源被 BLE 占用、因此我们从 SDK 中的第三方库 (source->third_party->PSA_crypto) 切换到 AES 代码。 集成后、加密功能正常运行、但在加密操作期间 BLE 连接断开、这是我上面提到的问题。 我希望这些信息有助于分析、谢谢。

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

    您好、Zhang、

    您能告诉我或者给我提供一段代码、该代码显示在您调用 AESECB_OPEN 函数的 BLE 应用中?

    谢谢

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

    您好 、Eshaan Tibrewala、

    我在 basic_ble 演示中创建了一个任务来运行 aesecb 演示加密函数。 AESECB_OPEN 函数是由演示调用的函数(如下图所示)。 调用 AESECB_open 函数时会发生错误、因此我放弃了 aesecb 演示中的代码、并使用了来自第三方库 (source->third_party->PSA_crypto) 的 AES 代码。 集成、编译和运行后、当通过移动应用连接到 BLE、然后调用 PSA_ciphe_encrypt 加密函数时、会使移动 BLE 连接断开连接、然后立即成功重新连接。 当前问题是如何解决调用 PSA_cipher_encrypt 进行加密时的断开连接问题、而不是 AESECB_OPEN 调用故障问题。 谢谢你。

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

    您好、Zhang、

    我知道您为了解决该错误而从 AESECB_OPEN 转投到 PSA_CRYPTO 库、但我的困惑在于您的问题的这一部分:

    “通过移动应用连接到 BLE、然后调用 PSA_ciphe_encrypt 加密函数时、集成、编译和运行会导致移动 BLE 连接断开连接、然后立即成功重新连接。“

    我想了解您在 BLE 栈应用中的哪个位置和何时调用此加密函数。 例如、您是在获得 BLE_connection_established 还是在其他地方调用它? 这将有助于我了解连接后的应用中加密操作实际发生的位置。 谢谢你。

    Eshaan

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

    您好

    我的测试还基于 SDK 中的 basic_ble 演示。 我不清楚何时以及在何处调用 BLE 栈应用中的加密函数。 我只从一些信息或咨询 AI 中知道、这是因为 BLE 通信调用 AES 资源、如果应用层也调用 AES 加密、则会抢占资源。 正是因为我不明白这部分、所以才寻求帮助。

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

    您好、Zhang、

    您能解释一下具体是要在应用中实现什么吗? 那么、用例是什么  ?您使用 AESECB 时的数据/变量是什么? 我们的 AES 资源是 HSM 的一部分、因此不应存在任何资源冲突、因为它的行为与发生在无线电层上的双通信无关。 谢谢。

    Eshaan