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.

[参考译文] AM263P4:安全启动:SBL 中的应用程序映像身份验证

Guru**** 2394295 points


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

https://e2e.ti.com/support/microcontrollers/arm-based-microcontrollers-group/arm-based-microcontrollers/f/arm-based-microcontrollers-forum/1508922/am263p4-secure-boot-application-image-authentication-in-sbl

器件型号:AM263P4

工具/软件:

您好、

我目前正在尝试在 AM263p 控制卡上实现安全启动、并对 SBL 中的应用程序映像身份验证有疑问。

在此文档中: AM263Px MCU+ SDK:启用安全启动的 过程编写如下: "SBL 本身没有进行映像完整性检查或验证应用程序映像哈希值的能力。 它依靠 HSMRt 来实现这一点。 映像存储在可读存储器中、并使用其他详细信息(如加载地址、身份验证类型等)将指向映像开头的指针传递给 HSMRt。"

我假设这意味着我们必须从 SBL 中进行 API 调用、告诉 HSMRt 对我们的应用程序映像验证并执行映像完整性检查。 我正在 SDK 中的 examples/drivers/boot 中使用 sbl_ospi_multiple_elf 作为模板、并进行修改以实现安全启动。 如果我将 API 调用添加到我的 SBL 中:HsmClient_procAuthBoot (timeout、HsmClient、cert、cert_size)、这是否会告诉 HSMRt 对我的应用程序映像进行身份验证?

另外、如果我已签名的应用程序映像的公钥存储在密钥环中、如何告诉 HSMRt 在哪里查找该公钥?

感谢您的帮助

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

    您好 Olivier、

    感谢您的查询。

    Unknown 说:
    我假设这意味着我们必须从 SBL 内进行 API 调用、从而指示 HSMRt 对我们的应用程序映像进行验证和映像完整性检查。 我正在 SDK 中的 examples/drivers/boot 中使用 sbl_ospi_multiple_elf 作为模板、并进行修改以实现安全启动。 如果我将以下 API 调用添加到我的 SBL 中:HsmClient_procAuthBoot (timeout、HsmClient、cert、cert_size)、这是否会告诉 HSMRt 对我的应用程序映像进行身份验证?

    是的、这是正确的、procAuthBoot API 是 SBL 将发送到 HSMRT 进行映像身份验证的请求。

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    Unknown 说:
    此外、如果我已签名的应用程序映像的公钥存储在密钥环中、如何告诉 HSMRt 在哪里查找该公钥?

    在 mcu_plus_sdk_am263px_10_01_00_34/devconfig/devconfig.mak 文件中、可以启用此标志

    证书告诉 HSMRT 检查验证的密钥环。

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

    请参阅有关确切步骤的文档:

    https://software-dl.ti.com/mcu-plus-sdk/esd/AM263PX/10_01_00_31/exports/docs/api_guide_am263px/SECURE_BOOT.html#autotoc_md296

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

    您好、

    如果进行 procAuthBoot 调用、我们是否需要在 devconfig.make 中指定密钥环 ID 值? 我认为我们制作的证书中已经定义了密钥环 ID?  

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

    是 devconfig.make 用于获取该输入、因此您可以根据自己的偏好对其进行修改。

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

    您好、感谢您的答复。 我还有一个问题、如果 devconfig 中的输入密钥环 ID 不正确、即使证书中有正确的密钥环 ID 值、映像验证是否会失败?

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

    因此、在编译过程中、生成/附加证书的脚本会从 devconfig.make 获得输入、因此如果提到的密钥环 ID 错误、则生成的映像将具有错误的证书、安全启动将失败。