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:安全启动:绑定到外部 SPI 闪存和防回滚机制

Guru**** 2875350 points

Other Parts Discussed in Thread: AM2434

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

https://e2e.ti.com/support/microcontrollers/arm-based-microcontrollers-group/arm-based-microcontrollers/f/arm-based-microcontrollers-forum/1627069/am2434-secure-boot-binding-to-external-spi-flash-and-anti-rollback-mechanisms

器件型号: AM2434

您好:
我正在使用  AM2434 Sitara 调试会话结束。 为了符合网络安全标准、我们需要验证防止未经授权的硬件或软件更改的机制。 具体来说:
  1. 存储器芯片绑定(唯一 ID):  AM243x 安全启动过程是否支持将引导加载程序或应用程序映像绑定到  唯一硬件 ID 有什么好处? 如果是、在继续进行身份验证之前、使用哪些服务来验证此 ID?
  2. 身份验证机制:  在中  HS-SE(强制安全型) 器件、如果物理芯片替换为包含克隆但有效签名的旧映像的芯片、ROM 引导加载程序如何确保存储在外部闪存中的映像的完整性?

感谢您提供有关满足这些网络安全要求的指导。  

Matej.

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

    您好:

    ROM 或 SYSFW 会独立于引导介质来验证映像。 引导介质仅用作映像的存储。 只要映像签名正确且未损坏、就会通过身份验证。

    为了防止引导一个较旧的有效已签名映像、应使用软件版本 (SWREV)。 ROM 解析 SBL 证书中的 SWREV、并将其与电子保险丝中编程的证书进行比较。 如果从 SBL 的证书中提取的 SWREV 小于在电子保险丝中编程的 SWREV 值、则即使使用正确的密钥对映像进行签名、该映像也会被拒绝。

    此致、

    Prashant

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

    感谢您的澄清。
    根据您的响应、标准的安全启动过程似乎确保了  完整性和版本控制  但本身不提供  硬件到硬件的绑定  SPI 闪存实例之间进行编程。
    在闪存芯片拆焊并替换为包含具有相同 SWREV 的相同且有效签名映像的另一个芯片的情况下、ROM 引导加载程序将无法检测到此硬件交换 — 存在安全风险。

    是否可以实施二级验证步骤? 例如、是否可以将 SBL 配置为读取  唯一 ID (UID)  SPI 闪存的一部分、并根据 SoC 的 UID 中存储的值来验证它?

    关于软件版本、您能否提供有关的更多信息  增加电子保险丝中的 SWREV 值  成功更新固件后? 我们需要知道应用或 SBL 应该使用哪些 TIFS/SYSFW 服务或 API 调用来将新版本永久刻录到硬件 SoC 中。


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

    您好:

    在闪存芯片拆焊并替换为包含具有相同 SWREV 的相同、有效签名映像的另一芯片的情况下、ROM 引导加载程序将无法检测到此硬件交换 — 存在安全风险。

    是的、它不会检测到。 我知道您对此所设想的安全风险吗? 即使更换了闪存芯片、也是将在器件上运行的有效固件。

    是否可以实施二级验证步骤? 例如、是否可以将 SBL 配置为读取  唯一 ID (UID)  SPI 闪存的一部分、并根据 SoC 的 UID 中存储的值来验证它?

    我不确定您的意思是“SOC 的 UID 中存储的值“。

    除了扩展 OTP(384 位)之外、没有可用的片上非易失性存储器、该 OTP 可以使用任何数据进行编程、并在运行时针对任何用途进行读取。

    有关 SWREV 更新、请参阅以下指南

    https://software-dl.ti.com/mcu-plus-sdk/esd/AM64X/11_02_00_24/exports/docs/api_guide_am64x/EXAMPLES_RUNTIME_SWREV.html

    https://software-dl.ti.com/tisci/esd/latest/6_topic_user_guides/otp_revision.html

    此致、

    Prashant

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

    您好 Prashant、感谢您提供的信息、
    根据此信息、 OTP_REV_ID_SEC_BRDCFG 的最大值为 64、因此我是否正确?

    谢谢您、
    Matej Liska。



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

    您好:

    根据此信息 、最大 OTP_REV_ID_SEC_BRDCFG 为 64、因此我是否正确、我们最多可以进行 64 次固件升级?

    正确。 请注意、这是电路板配置 Blob 的 SWREV 字段。 SBL 和 SYSFW 具有单独的 SWREV 字段。

    此致、

    Prashant