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.

[参考译文] AM2434:外部服务器、用于创建 HSSE 器件、并使用 UART uniflash hs_fs 文件进行固件升级

Guru**** 2778285 points

Other Parts Discussed in Thread: AM2434, UNIFLASH, SHA-256

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

https://e2e.ti.com/support/microcontrollers/arm-based-microcontrollers-group/arm-based-microcontrollers/f/arm-based-microcontrollers-forum/1608346/am2434-external-server-for-creating-hsse-device-and-using-uart-uniflash-hs_fs-file-on-for-firmware-upgrade

器件型号: AM2434
Thread 中讨论的其他器件: UNIFLASHSHA-256

您好:
我们目前正在使用 AM2434 器件、并计划使用自己的外部安全服务器来实施强制安全、从而为我们的所有二进制文件创建 HSSE 文件。

我有关于此过程的几个问题:修改 makefile 文件以仅生成.bin 文件后、是否可以使用加密和自签名 x509 证书为我们的固件和 SBL 创建 HSSE API 映像?

在器件上启用安全功能后、是否仍可以使用 sbl_uart_uniflash HSFS tiimage 在安全器件上进行固件升级?
或者、在安全器件上通过 UART 执行固件升级的建议步骤是什么?

我们非常感谢您分享的任何见解或经验! 提前感谢您。

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

    您好:

    是否可以使用加密和自签名 x509 证书为我们的固件和 SBL 创建 HSSE API 映像?

    是的、这是可能的。

    一旦我们启用了器件安全功能、是否仍可以使用 sbl_uart_uniflash HSFS tiimage 在安全器件上进行固件升级?

    这是不可能的。 您必须使用 SBL_UART_UNIFLASH 的 HSSE 版本通过 UART 进行刷写。

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

    您好 Prashant、

    我正在寻求有关 apiimage.hsfs 使用我们的自定义 PKI 服务器对当前生成的文件进行签名的过程的帮助。 有几个方面需要澄清、我希望你就此提供指导。

    以下是我想谈的具体问题:

    1. Makefile 修改 :需要在 Makefile 中进行哪些更改来集成它,然后与我们的自定义加密和脚本签名有.bin 输入文件?

    2. 密钥集成 :如何 从  PKI 服务器集成生成的 PKCS12 格式证书/密钥对?

    3. 签名加密的二进制文件 :需要在 windows 脚本中配置哪些步骤才能从 PKI 服务器将 x509 证书添加到 binary/ELF?

    我们还提供 AM2434 OTP Keywriter 文档、其中介绍了如何生成 x509 证书以及将我们的 PKCS12 格式证书/密钥对导入器件。

    但是、用于签名和加密的 TI 通用脚本仅参考在本地导入密钥文件和使用 x509 证书进行签名。

    因此,我想知道:

    • 应将什么发送到我们的 PKI 服务器进行签名?
    • 签名应采用何种格式?  

      签名类型:  纯签名、Authenticode、JAR、APK、CMS、 OpenPGP。

      签名方法:  仅摘要或整个二进制。 我们提供以下选项:  

      如果您计划提交预先计算的摘要、则为“仅摘要“。 这是建议的模式。

      如果您计划提交整个二进制映像、则为“整个二进制“。 支持的最大大小为 200MB。

      摘要算法:  SHA256、SHA384、SHA512

      签名算法:  ECDSA P-256、RSA 2048 位、RSA 4096 位等(普通签名所需。 如果未指定、则假定 ECDSA)

      默认情况下、RSA 签名使用 PKCS#1 v1.5。 此外、还提供 RSA-PSS 的实验支持。

    • 我们如何修改 TI 脚本以利用我们使用的服务器(该服务器使用的是可以处理二进制或哈希输入并支持签名算法 (ECDSA、RSA) 的 Python 脚本)?

    最后、您能否阐明如何获取 sbu_uart_uniflash 尚未使用 TI 密钥签名的二进制文件? 或者、我们如何重新构建 hsfs 文件、以便它使用我们的自定义签名密钥运行?

    非常感谢您的帮助。 我期待着您的专家指导。

    BR、Matej。

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

    您好:

    假设您有使用 PKI 服务器进行签名的设置、则应按照以下步骤对应用程序进行签名:

    在最后一步之后、您将获得已签名的可引导应用程序映像。

    我不建议修改 SDK 中的任何 makefile。 这些步骤可以直接在 SDK 外部的脚本中实现。

    如需任何说明、请告知我。

    此致、

    Prashant

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

    您好 Prashant、
    感谢您的回复和信息、

    第一步:构建我们的应用程序后、将创建一个已由 TI 证书签名的 apiimage.hsfs 文件。
    我们需要知道如何修改才能在没有 TI 证书的情况下获取 API 映像、或者我们是否可以将 hsfs 文件用作我们将发送进行签名的 BIN 文件。

    我知道我们将创建一个 API 映像的 SHA-512 摘要、对其进行标记、创建一个证书文件、然后将其发送给我们的 PKI 以供签名。

    我想询问 PKI 服务器的配置是否设置为使用签署证书 RSA4096/SHA-256 由中间 CA 影响 https://software-dl.ti.com/tisci/esd/latest/6_topic_user_guides/authentication.html 中描述的身份验证的第二部分(映像身份验证序列的第 2a、2b、2c 部分)

    有评论说  

    • 所有完整性检查都是通过检查数据有效载荷的 SHA2-512 哈希来执行的、当前不支持其他格式。


    谢谢你。
    BR、
    Matej.

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

    您好 Matej、

    我们需要知道要修改什么来获取没有 TI 证书的 API 映像、或者我们是否可以将 hsfs 文件用作我们将发送用于签名的 BIN 文件。

    生成的“*。appimage.hs_fs“不能用作 bin 文件。 该示例的 makefile 实际上会在构建过程结束时删除未签名的应用映像。 因此、您只需删除用于删除生成的未签名应用映像的命令。

    https://github.com/TexasInstruments/mcupsdk-core/blob/6a622a5c2729c5ad10ba066646944609dc0c64bb/examples/hello_world/am243x-evm/r5fss0-0_nortos/ti-arm-clang/makefile#L320

    通过检查数据有效载荷的 SHA2-512 哈希来执行所有完整性检查、当前不支持其他格式。

    是的。 SYSFW 仅支持使用 SHA512 哈希值进行身份验证。

    此致、

    Prashant

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

    感谢你的评分
    在这种情况下、我们需要配置  PKI 服务器、该服务器当前设置为使用签署证书  RSA4096/SHA-256  是否由中间 CA 正确使用 SHA512?

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    在这种情况下 、我们需要配置 PKI 服务器、该服务器当前设置为使用签署证书  RSA4096/SHA-256  由中间 CA 正确使用 SHA512?

    是的。

    如果您需要进一步说明、请告诉我。