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.

[参考译文] CC3220SF:保护串行闪存中的用户文件

Guru**** 2589265 points
Other Parts Discussed in Thread: UNIFLASH

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

https://e2e.ti.com/support/wireless-connectivity/wi-fi-group/wifi/f/wi-fi-forum/850384/cc3220sf-secure-a-user-file-in-serial-flash

器件型号:CC3220SF
主题中讨论的其他器件:UNIFLASH

您好!

我希望以安全的方式将文件存储在串行闪存中。

应用程序代码应能够通过复位和 OTA 更新读取和写入文件。

我尝试使用(sl_FS_CREASE_SECURE | sl_FS_CREASE_VENDOORY_TOKEN)创建安全文件。

它可以正常工作、但我必须为主令牌保留一个固定值。 我可以保密、但开发人员会知道这一点。

是否可以使用在器件中随机生成并在复位和 OTA 更新期间保持不变的某个机密来生成此令牌?

最终用户不应通过任何方式检索文件。 我已签入生产模式、用户文件无法通过 Uniflash 读取。  

但是、如果已知令牌(开发人员会知道令牌是硬编码的)、是否可以使用闪存编程器提取闪存内容并解密安全文件?

此致

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

    您好!

    我假设您可以使用器件的 UDID 作为令牌生成的器件唯一信息的来源。 udid 是随机的、每个器件都是唯一的。因此、我建议您使用器件的 udid 以及一些签名算法来生成文件访问令牌、 如果您希望能够以可预测且可跨器件重置/OTA 更新进行多路复用的方式为每个器件生成唯一令牌、

    对于从原始串行闪存内容解密安全文件、即使您有无法使用的令牌也是如此。 令牌只是一种访问控制机制、NWP 将在尝试访问文件时检查该机制。 您需要将串行闪存和确切的 CC3220作为一对来解码文件系统。 这是因为每个文件都使用 NWP 在文件创建时生成的 AES 密钥进行加密。 这种生成是随机的、密钥存储在文件表中-也是唯一加密的。 如果您要将串行闪存内容与不匹配的 CC3220配对、则器件将无法解码文件系统、更不用说您的安全文件了。

    如果您需要进一步澄清或对 CC3220的安全文件系统有进一步的疑问、请告诉我。


    此致、

    Michael

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

     您好、Michael、

    感谢您的参与。

    "如果您将串行闪存内容与不匹配的 CC3220配对、则器件将无法解码文件系统、更不用说您的安全文件了。"

    如果出现上述情况、安全文件与存储在闪存中的常规文件有何不同? 安全文件比普通文件多使用一个内存。

    此致  

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

    您好!

    文件系统始终是安全的、也就是说、使用 AES 加密。 每个单独的文件只有在标记为安全时才会加密。 如果文件未标记为安全、则内容将不加密存储。 但是、每个单独文件的引用和文件系统数据都是加密存储的。 因此、如果您转储闪存的所有内容、您将能够看到不安全文件的原始数据、但不能弄清楚数据是如何组织的。

    话虽如此、您应使用"删除"标志标记敏感文件以对其进行加密、从而无法轻松访问原始数据。

    此致、

    Michael