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.

[参考译文] CC3220S:外部闪存的安全问题和安全启动流程

Guru**** 2535750 points
Other Parts Discussed in Thread: CC3220S

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

https://e2e.ti.com/support/wireless-connectivity/wi-fi-group/wifi/f/wi-fi-forum/983522/cc3220s-security-question-for-external-flash-and-the-secure-boot-flow

器件型号:CC3220S

你好!

我想知道是否有一个图表概述了 CC3220S 的安全启动流程是如何工作的? 《技术参考手册》中有 SF 变体的引导流程、但我无法找到有关 S 变体的任何信息。 我的主要问题是如何 验证完整性? 根据我的理解、应该有一个散列算法、用于计算散列并进行存储。 但是、我不知道它存储在哪里? 我不认为它会存储在外部闪存上、因为如果是这种情况、换出闪存芯片是否会成为安全漏洞?  

感谢你的帮助!

Vasav  

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

    Vasav、您好!

    这在 CC3220S 中非常简单、是从 RAM 执行的代码。 CC3220S 芯片没有内部 XIP 闪存、因此散列不能存储在 QFN 芯片内。 每次从 SPI 闪存启动后、ROM 引导程序都会将代码加载到 RAM 中。 在此加载期间、根据签名证书链验证代码签名。

    1月

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

    一些澄清。

    哈希作为安全文件存储在文件系统中。 S 和 SF 引导加载程序的引导加载程序将使用此功能来验证 MCU 映像。

    只有在将映像写入文件系统时(即创建哈希时)、才会验证签名(针对证书链)。

    根据哈希对文件进行身份验证后、它将复制到 S 器件的 RAM 中。

    BR、

    Kobi

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

    你好!

    感谢您的帮助!

    、如果散列值存储在外部闪存中、我认为、拆焊闪存并焊接到具有不同映像的新闪存上可能是一个安全问题吗?

    Vasav

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

    否 因为安全文件使用特定于器件的密钥进行加密。 如果您在不同的器件上尝试文件、则解密将失败。

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

    Vasav、您好!

    从产品整体来看、是的、在 SPI 闪存内的"机密"点不是。 SPI 闪存的重要部分由唯一密钥加密、不能与其他 CC3220 QFN 配合使用。

    您描述的攻击向量对世界上几乎所有电子设备都是可能的。 如果您能够购买在自由市场上交换的组件。

    1月

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

    为了进一步说明、我绘制了一张图、说明我认为安全引导流程中发生了什么情况、您能否确认这一点或就其不同之处提出任何建议?  

    (我是一个视觉上的学员,所以这让我更容易理解:D)  

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

    Vasav、您好!

    我认为、您可以进入并展示许多细节、但这些细节并不是必需的。 我相信您对它的工作原理有着深刻的了解。 您的陈述注意事项之一可能是不将"用户文件"和"图像"术语混用。  在这里、我想我们一直特别关注 MCU 二进制文件。 这可能会令人困惑。

    此外、我认为"散列"应该表示为在纯文本上执行、而不是在文件的加密版本上执行、因此您可能会有一些段次有问题、除非 您只是显示高级表示。

    此致、

    本·M