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.

[参考译文] LAUNCHCC3220MODASF:OTA 和安全文件

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

https://e2e.ti.com/support/wireless-connectivity/wi-fi-group/wifi/f/wi-fi-forum/1330527/launchcc3220modasf-ota-and-secured-files

器件型号:LAUNCHCC3220MODASF

大家好!

我想使用 TI 示例 out_of_the_box\ota_archive.c 验证在 OTA 更新时写入的数据。
e2e.ti.com/.../cc3235modasf-sl_fswrite---data-consistency 主题中的答案启发了我在将数据写入 State_Save 状态后、只需将一个调用添加到函数 sl_FsRead 中。
这会导致错误 SL_ERROR_FS_FILE_ACCESS_IS_Different (-10329L)
向 sl_FsOpen 添加额外的 FsOpenFlags |= sl_FS_READ 会导致安全错误。
打开 OTA_archive.c 中设置的标志
       FsOpenFlags = SL_FS_CREATE;
       FsOpenFlags |= SL_FS_OVERWRITE;
       FsOpenFlags |= SL_FS_CREATE_NOSIGNATURE;
       FsOpenFlags |= SL_FS_WRITE_BUNDLE_FILE;
       FsOpenFlags |= SL_FS_CREATE_FAILSAFE;

TI 文档规定了由函数 sl_FsOpen 返回的令牌可用于访问该文件。
在本例中、令牌始终为0。

我的问题是:
对于在更新过程中被覆盖的有安全保护的文件、如何获得正确的文件令牌、例如/sys/mcuflashimg.bin?
对于所有安全文件、例如使用证书签名的文件和未签名的文件、与 sl_FsOpen 相关的行为是否相同?

此致、
罗曼

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

    基本上、使用数字签名 可以验证 文件的内容是否符合预期。

    令牌在创建文件时生成(而不是在每个 sl_Open 时生成)。

    您 还可以使用自己的供应商令牌(作为 sl_Open 的输入给出)。

    对于可以在 OTA 中更新的文件、我们使用公共 写入功能、这会在不使用令牌的情况下启用写入功能。

    如果您只是在开发期间测试此文件-您可以使用公共读取功能创建文件(不要在生产中使用此文件、因为使用此标志不能认为该文件是安全的)。

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

    您好 Kobi、

    这就是我的想法。 非常感谢您的澄清。
    这就是我选择/sys/mcuflashimg.bin.文件的原因 这会在 OTA 更新过程中被覆盖、而不是新创建的。
    由于该文件不是由应用程序/固件创建的、因此没有相关的令牌。 这对于保护此文件的内容也是有意义的。

    >基本上使用数字签名可以 验证 文件的内容是否符合预期。

    因此、在通过令牌进行访问方面、安全文件和已签名的安全文件之间没有区别、对吗?

    祝你一切

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

    安全文件意味着该文件以加密方式存储、并使用授权访问(通过令牌)。

    唯一的区别是 在写入文件时是否通过身份验证(使用签名)。

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

    再次感谢