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.

[参考译文] CC1312R7:带有加密映像的 MCUBoot

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

https://e2e.ti.com/support/wireless-connectivity/sub-1-ghz-group/sub-1-ghz/f/sub-1-ghz-forum/1288359/cc1312r7-mcuboot-with-encrypted-images

器件型号:CC1312R7

您好!

我正在尝试在 MCUBoot 中为 CC1312R7添加加密的映像支持。 我希望它能像将以下定义添加到 mcuboot_config.h 一样简单

  • MCUBOOT_ENC_IMMES 1
  • MCUBOOT_encrypt_EC256 1
  • MCUBOOT_USE_mbed_TLS  

然后、我注释掉  

  • MCUBOOT_USE_mbed_TLS  

然而,我得到了相当数量的编译 时间 erros。 我添加了 libmbedcrypto 项目、该项目构建得不错。 通过一些努力、我已经使它编译并运行了 mbed_TLS 和 RSA2048签名、但它无法正确验证映像。 我还没有使用 ENC_IMAMES 标志集进行编译。 我无法确定我是严重过于复杂、还是需要增加一些实施方案。 您是否有任何良好的示例或方向可以为我提供指导以实现它?

谢谢你。

卢卡斯

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

    您好、Lucas:

    会出现什么错误? 您能发布一些日志吗?

    另外,如果我明白,你第一次尝试 ECIES-P256 ( MCUBOOT_encrypt_EC256 ),然后尝试使用 RSA-OAEP ( MCUBOOT_encrypt_RSA)

    请告诉我、

    亚瑟

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

    从 MCUBoot 示例项目中自行尝试。 The Moment yoiu add #define MCUBOOT_ENC_IMENES 1 aes_ctr.h 标头要求您定义一个加密后端, MCUBOOT_USE_mbed_TLS MCUBOOT_USE_TINYCRYPT 。 然后尝试添加这些定义之一、您需要删除 MCUBOOT_TI_CRYPTO 定义。 然后您开始添加库并沿着我所走的长路走下去...



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

    您好、Lucas:

    这确实是意料之中的( 您是否在 mcuboot_config.h 中定义了 MCUBOOT_USE_mbed_TLS? )

    尽管如此,我只能谈谈 EC256,这是我使用的,但你应该参考官方 mcuboot repo ,以得到你应该做什么: https://github.com/mcu-tools/mcuboot/blob/main/boot/bootutil/include/bootutil/crypto/ecdsa.h

    它涉及将 mbed_TLS 插入到 引导工具_ 需要的函数(例如、 BootUtil_ECDH_P256_init)。

    此致、

    亚瑟

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

    哦、我做了。 则会出现其他错误。 我的优势是、TI 从未尝试过此 MCUBoot 的加密图像、但我们会将其保留在此处供用户尝试。 好消息是、我让 Tinycrypt 最终开始工作、但 TI 对此版本的 Simplelink 封装中的支持印象不深刻。

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

    我正在尝试复制相同的内容、加密和更新映像、您能给我一些提示、说明哪些代码以及不是很明显的事情必须完成才能使其正常工作吗?、您已经指出了 TinyScript、我想应该参考以下内容: github.com/.../tinycrypt

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

    该 SDK 有自己的 tinycrypt 实现、可以在 cc13xx_cc26xx_sdk\source\ti\mesh\Zephyr\Subsys\Bluetooth\mesh\tinycrypt 中找到  

    它会实施一些硬件加速、因此您仍然需要来自所包含的 TI-Crypt 库的一些文件。 此外、请确保更新 syscfg 文件以添加所需的硬件功能。

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

    我´ve 编译了 MCUBoot 程序、包括 使用 TRNG 的 CSPRNG 函数、并取消注释程序中的某些函数、然后 按照您的建议移动 tinyScript 库。

    还能够使用以下内容为 MCUboot 加密和获取密钥:

    Python imgtool.py getpub -k root-ec-p256.pem -l c  

    在 POST 步骤行中:  

    --encrypt ${COM_TI_SIMPLELINK_CC13XX_CC26XX_SDK_INSTALL_DIR}/source/third_party/mcuboot/root-ec-p256.pem      

    ´m 首先使用示例.pem 文件、这是我的完整 POST 步骤命令   

    ${COM_TI_SIMPLELINK_CC13XX_CC26XX_SDK_INSTALL_DIR}/tools/common/mcuboot/imgtool          Sign --header-size 0x80 --align 4 --slot-size 0x40000 --version1.1.1 --pad-header --pad --key  ${COM_TI_SIMPLELINK_CC13XX_CC26XX_SDK_INSTALL_DIR}/source/third_party/mcuboot/root-ec-p256.pem       --encrypt ${COM_TI_SIMPLELINK_CC13XX_CC26XX_SDK_INSTALL_DIR}/source/third_party/mcuboot/root-ec-p256.pem        ${ProjName}-noheader.bin ${ProjName}.bin

    问题是 MCU 引导拒绝映像、映像不是有效响应、您有什么想法吗?

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

    Javier、您好!

    SHA256散列检查的结果是什么? (image_validation.c:402)

    此致、

    亚瑟

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

    我最终使一切按预期运行(具有加密的 mcuboot)、并且主程序在次级扇区中处理映像的写入、然后复位。

    我想张贴的 mcuboot 加密项目和必要的步骤的私人和公共密钥,所以其他人可以使用它,因为我有这么多的麻烦寻找信息和所需的步骤,有没有任何 repo 或地方,我可以张贴这个"教程"?

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

    Javier、您好!

    感谢您的报价!

    你可以做的是、你可以发布一个包含你的指令的讨论/问题、并且我可以将其标记为常见问题、以便它保持固定状态。

    这对您有用吗?

    此致、

    亚瑟

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

    很抱歉我是在度假。

    是的,这是没问题的,我正在准备文本,我希望在本周和下一个发布之间有一些空闲的时间。

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

    它在这里是: e2e.ti.com/.../cc1312r7-different-size-serial-tracing-and-encrypted-mcuboot-tutorial