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.

[参考译文] TMS320F280037:具有 AES-GCM 的安全引导加载程序

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

https://e2e.ti.com/support/microcontrollers/c2000-microcontrollers-group/c2000/f/c2000-microcontrollers-forum/1430876/tms320f280037-secure-bootloader-with-aes-gcm

器件型号:TMS320F280037
Thread 中讨论的其他器件:C2000WARE

工具与软件:

团队成员、您好!

我是来自 Infinitum Inc.的 Lin Li 我不熟悉 C2000 MCU、 但是、我经常使用 TI 的 CCS 和 c54xx 定点 DSP 芯片组。

现在、我被分配了一项任务、通过 SPI 构建具有 AES-GCM 加密/解密功能的安全引导加载程序。 通过搜索 C2000ware、我找到了 C:\ti\c2000\C2000Ware_5_03_00_00\driverlib\f28003x\examples\AES\AES_ex3_gcm_encrypt.c 和 AES_ex4_gcm_decrypt.c  

我的问题是:

-如何使用(构建和运行)这两个函数?

-有没有人能向我解释这些职能的细节? 或者给我指一些必要的文档。 此外、它们为何需要其中的 UDMA?

-这些功能是否符合 NIST 的 SP 800-38D 建议?

-在哪里可以找到通用引导加载程序的示例源代码(更好地支持 SPI)? 因此、在一般的引导加载程序中、可以调用加密/解密功能。

非常感谢您的帮助和支持。

期待您的答复。

祝你一切顺利!

LIN

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

    尊敬的 Lin:

    如何使用(构建和运行)这两个函数?

    您可以在 CCS 中打开并构建这些示例。

    请查看以下主题帖和 TRM、了解有关这方面的更多详细信息、

    (7) TMS320F280039C:澄清 AES 模块及其示例代码- C2000微控制器论坛- C2000 ︎ 微控制器- TI E2E 支持论坛

    第32.2节- TMS320F28003x 实时微控制器技术参考手册(修订版 C)

    谢谢

    Aswin

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

    尊敬的 Aswin:

    非常感谢您的答复。

    我将按照您的链接仔细阅读所有信息。

    但是、通过快速浏览内容、我还没有找到调用 AES-GCM 加密/解密函数的示例引导加载程序。

    您可以告诉我链接的具体部分或者向我提供引导加载程序示例吗?

    或者、您是否有任何关于 AES-GCM  加密/解密功能的应用手册或白皮书?

    感谢您的帮助。

    LIN

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

    LIN、

    Aswin 当前不在 TI 印度当地假日的办公室中。  我正在向其他一些人进行循环、看看我们是否能给出一些中间答案、但我们可能需要等待 Aswin 下周回到办公室。  感谢您的耐心。

    此致!

    Matthew

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

    尊敬的 Matt:

    感谢您的更新。

    我将在下周等待答案。

    此致!

    LIN

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

    大家好、Matthew 和 Aswin、

    您能否就 Lin 上周的未决问题提供反馈? 您可以根据需要随时与团队中的任何其他人交流、在此处提供支持。 如果更容易、我们也很乐意通过电子邮件继续进行此讨论。 期待您的回复!

    -Matt

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

    尊敬的 C2000团队:

    我知道您很难找到合适的专家来回答 Lin 的最新问题、但您能帮助提供状态更新吗? 如果您需要更多时间、请告知我们、以便我们更好地了解何时可以收到此查询的答案。

    -Matt

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

    尊敬的 Lin:

    感谢您的耐心等待。

    目前、我们在 C2000Ware SDK 中有非安全启动加载程序和 AES-GCM 示例。  

    作为顶层方法、我们有以下流程-

    引导加载程序需要有以下两部分:  

    我们目前的 SDK 没有此格式的示例、让我循环让我们的 BootROM 专家就此发表评论。

    此致

    Aswin

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

    尊敬的 Aswin:

    感谢您的答复和所有信息。  

    是的、请联系您的 BootROM 专家获取评论。

    我们要使用 F280037的闪存组0和闪存组1来保存当前的可执行固件和通过 SPI 从主机处理器接收到的新的解密固件。 在 AES-GCM 解密功能进行验证后、新固件将切换到当前可执行固件、并且之前的可执行固件将被下一个新版本的固件替换。 您能否或 BootROM 专家就这一想法发表评论?

    同时、您可以向我指出非安全引导加载程序示例代码吗?

    期待进一步的评论。

    此致、

    LIN

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

    尊敬的 Lin:

    从我所读的内容来看、这似乎是尝试使用具有外部接收的映像所需 AES-GCM 解密的 SPI 引导加载程序来执行固件更新。 是这样吗?

    在需要的情况下、我们还能否了解目的是安全更新固件(遵循安全原则)、还是 可以使用 Aswin 和团队传达的非安全固件更新建议(即该器件仅对接收到的映像进行解密并将其编程到所需的闪存组中)?

    请注意、如果打算实现"安全"固件更新、则需要在器件和应用级别考虑额外的注意事项。

    注意事项包括但不限于通过 ROM 为自定义 SPI 引导加载程序建立信任根、以及确保从外部 EEPROM 接收的新固件的真实性和完整性来自受信任的已知来源。 出于这些考虑、需要对器件和应用程序提出更高的要求、才能正确实现安全固件更新。

    此致、

    Ozino