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.

[参考译文] AM62P:安全启动密钥使用更换

Guru**** 2895530 points

Other Parts Discussed in Thread: AM62P

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

https://e2e.ti.com/support/processors-group/processors/f/processors-forum/1631190/am62p-secure-boot-key-usage-replacement

部件号: AM62P

尊敬的 TI 专家:

我们知道、通常用于安全启动的密钥是 SMPK(身份验证)和 SMEK(解密)、  

  1. 是否可以更改算法? 例如、使用对称算法 (AES-CMAC) 来进行身份验证? 如果它们被 ROM 代码(安全 ROM/公共 ROM)或 TIFS 实现、我认为 不是 
  2. 对于密钥环的使用,我们可以用密钥环替换 SMPK 和 SMEK。 那么,这是否意味着我们只替换使用相同类型的键盘? 例如、安全启动功能、我们只能使用非对称密钥环来替换 SMPK、并且必须使用相同的密钥长度?

提前感谢!

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

    您好:

    是否可以更改算法? 例如、使用对称算法 (AES-CMAC) 来进行身份验证? 如果它们被 ROM 代码(安全 ROM /公共 ROM)或 TIFS 实现、我认为 编号是
     

    无法更改算法。 RSA/ECC 密钥仅支持身份验证、而解密仅适用于 AES-256-CBC。

    例如、安全启动功能、我们只能使用非对称密钥环替换 SMPK、并且必须使用相同的密钥长度?

    非对称密钥仅支持身份验证。 但是、密钥环中的非对称密钥不必与 SMPK 匹配。 它可以是来自 TIFS 的任何受支持的非对称密钥。

    此致、

    Prashant

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

    您好 、Prashant、

    感谢您的澄清。

    关于安全启动密钥的使用、我们还有另一个问题:

    我们知道、对于 HS-DM FS 器件、不会注入客户密钥、因此安全启动将使用 TI 根密钥集 (MPK/MEK) 对 TIFS 和 R5F_DM 映像签名。 我认为这很清楚。

    但对于 HS-SE 器件、注入客户密钥后、对于 TIFS 和 R5F_DM 映像、将使用哪些密钥? 此外、还可以使用 TI 根  密钥 (MPK 和 MEK) 或客户密钥 (SMPK / SMEK)。

    根据该图、即 HE-SE 的 TIFS 映像、它是否意味着首先由 TI 根密钥签名、然后再次使用客户密钥签名?

     根据下图、混淆信息、对于 HS-SE 器件、TI 密钥将无效、这是否意味着在注入客户密钥后、永远不会再使用 TI 根密钥?

    BR

    Tim。

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

    您好、Tim:

    因此、安全启动将使用 TI 根密钥集 (MPK/MEK) 对 TIFS 和 R5F_DM 映像签名。 我认为这很清楚。

    HSFS 器件上没有安全启动的概念。 TIFS 固件仅使用 TI 密钥进行签名 、但用户应用程序使用 HSFS 器件上的任何随机密钥进行签名。

    在 HSSE 器件上、使用有效的客户编程密钥 (SMPK 或 BMPK) 对 SBL 和应用程序进行签名、而 TIFS 固件仅使用 TI 密钥进行签名。

    此致、

    Prashant

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

    您好 Prashant、

    非常清楚。

    SBL 和其他用户应用程序映像将使用客户密钥进行签名和加密、但对于 TIFS、在 “K3 安全硬件架构“(SPRUIM0C.pdf)-第 9 章“安全引导流程:

    您能帮忙确认一下吗?  

    BR。

    Tim

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

    您好、Tim:

    但对于 TIFS、 “K3 安全硬件架构“(SPRUIM0C.pdf)-第 9 章安全引导流程:
    中似乎也有冲突信息

    这适用于 AM62P 等 Sitara 器件不支持的器件的 PRIME 模型。 仅在 AM62 器件上使用 TI 密钥对 TIFS 进行签名。 基本上、客户不需要担心 TIFS 固件的签名、因为它在 SDK 中以已签名的 Blob 的形式提供。

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

    您好 、Prashant、

    感谢澄清、因此对于 AM62Px SoC、TIFS 只需要使用 TI 根密钥集进行签名和加密。 无需再次使用客户密钥签名。 在安全启动期间、安全 ROM 将仅使用 MPK 直接对其进行验证。  

    对于 SBL 映像、Secure Rom 将使用 SMPK/BMPK 对其进行验证;

    对于其他图像、TIFS 也会使用 SMPK/BMPK 验证它们。

    BR。

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

    正确。

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

    您好 Prashant、  

    由于 TIFS 仅由 TI MPK 签名、因此我认为 TI 将使用 RSA4096 私钥、 如果是:

    1.来自 TI SDK 的映像、TIFS 映像的证书或签名可用、对吗? 由于客户没有 TI MPK 私钥、因此无法签名。 我想客户还可以使用它。

    2.什么是 RSA4096:也使用 PCKS v1.5 或 PSS?

    3.从 AM62Px MCU+ SDK 中、我们可以在哪里找到 TIFS 映像及其证书?

    谢谢

    BR。

    Tim。

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

    您好:

    基本上、客户无需担心 TIFS 固件的签名、因为它在 SDK 中作为已签名的 Blobs 提供。

    如前所述、TIFS 固件及其证书在 SDK 中提供。 对于 AM62P MCU+ soc、可在路径“source/drivers/sciclient/sciclient/sdk/am62px“处获取这些组件。

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

    您好 Prashant、

    对于 am62px SDK、我们只有 TIFS 的二进制文件、是否有任何图表或架构可供介绍?

    我们得到的 TIFS 封装为 am263px、其 SW 元件如下:

    对于 am62px TIFS、与之相比主要有区别吗?  

    谢谢

    BR

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

    您好:

    AM62P 和 AM263 是两款具有不同架构的不同器件。 TIFS 是一个闭源软件、因此仅在 SDK 中以二进制 Blob 的形式提供。

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

    你好  

    对于其他映像(TIFS 除外)、将由客户私钥 (SMPK) 签名、并在安全启动期间由客户公共密钥 SMPK 验证、此 SMPK 公钥将包含在 X.509 证书中、因此 OTP 区域只有 SMPK 哈希足够、哈希仅用于验证 SMPK(从 X.509 证书)验证。 最后将使用 SMPK public(从 X.509 证书)验证映像签名。 我认为这个过程是清楚和合理的。

    但对于 TIFS、 TIFS 映像由 TI MPK(私有)签名、签名也包含在 SDK 中。 然后、在安全启动序列期间、我认为它将由使用 TI MPK 的安全 ROM 进行验证(公开)。 但 OTP 区域、它仅存储 TI MPK 哈希、不存储 MPK 密钥本身、如何验证?

    或者 TI 是否提供合并在 TIFS X.509 证书中的 TI MPK? 如果是、这意味着所有设备都将使用相同的 MPK? 这是不合理的。

    BR。

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

    X.509 证书本身包含适用于正常映像和 TIFS 证书的公钥。 安全 ROM 从证书中提取 TI MPK 公钥、计算 SHA512 哈希值、并将其与在电子保险丝中编程的 TI MPK 的 SHA512 哈希值匹配。

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

    感谢您的澄清。

     TI MPK 是适用于所有器件的车队密钥? 不是器件唯一密钥。

    BR

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

    正确。

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

    您好 Prashant、

    我们在 SDK 中找到了`tiboot3.bin`、这是一个由 SYSFW 签名的组合二进制文件。 我相信它是由脚本“rom_image_gen.py“生成的、但在检查该脚本时、我发现它使用密钥`custMpk.pem`而非 TI MPK。 这让我感到困惑;TIFS 格式实际使用哪个密钥?

    或者、这是否意味着文件“sysfw-hs-enc-cert.bin“和“sysfw-hs-enc.bin“均由 TI-MPK 签名并由原始 SYSFW 中的 TI-MEK 加密、然后用作“rom_image_gen.py“脚本的输入、然后由` custMPK `再次对其签名? 最终结果是`tiboot3`文件。

    谢谢。

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    或者、这是否意味着文件“sysfw-hs-enc-cert.bin“和“sysfw-hs-enc.bin“均由 TI-MPK 签名并由原始 SYSFW 中的 TI-MEK 加密、然后再次使用`符号“rom_image_gen.mpk“`脚本作为输入进行引用?

    映像本身不是签名的、而是仅签名证书。 “sysfw-hs-enc.bin“只是由 TI-MEK 加密的 SYSFW 二进制文件、而“sysfw-hs-enc-cert.bin“是由 TI-MPK 签名的相应证书。

    这些 blob 刚刚连接到 SBL 二进制文件、并将其哈希值放入由“custMpk“签名的外部证书中。 由“CustMpk“签名的证书与 SBL 二进制文件、SYSFW blobs、电路板配置 blob 连接、从而生成“tiboot3.bin“

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

    是的,只有证书必须签署。 我的描述有误。

    因此,根据您的意见,所有二进制文件合并计算一个新的哈希,它将合并到外部证书,然后这个外部证书将由 custMPK 签名,这个新的标志将成为外部证书的一部分。 此外部证书还包括 custMPK。

    最后是 outerCert、sbl_enc、SYSFW_enc、SYSFW_ENc_Cert、 板配置... 组合为 tiboot3。

    在安全启动期间、公共 ROM 将解析此 tiboot3 文件、外部证书将首先由安全 ROM 验证?

    SYSFW_ENc_cert 将 由 TI-MPK 进行验证。 SYSFW_ENC 将由存储在 OTP 中的 TI-MEK 进行解密。

    我的理解是否正确?

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    所有二进制文件合并计算一个新的哈希值、它将合并到外部证书中、

    blobs 的各个哈希值包含在外部证书中。 在运行时、安全 ROM 在验证证书后对每个 blob 执行完整性检查。 其他都正确。

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

    非常感谢!