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.

[参考译文] CC3200:CC3200安全编程

Guru**** 2524460 points
Other Parts Discussed in Thread: CC3200, UNIFLASH, CC3220SF, CC3220R, CC3220S

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

https://e2e.ti.com/support/wireless-connectivity/wi-fi-group/wifi/f/wi-fi-forum/865666/cc3200-cc3200-secure-programming

器件型号:CC3200
主题中讨论的其他器件: UNIFLASHCC3220SFCC3220RCC3220S

你(们)好  
我正在寻找一种为 CC3200创建安全应用程序映像的方法。 在阅读 Uniflash 时、我了解到 Uniflash (v3.2.0.00123以外)不支持安全的应用程序映像创建。 但是、这已经有一段时间了、所以想知道现在是否支持安全映像。  
如果不是、本文还提到"CC3200支持"下有 CC3200的安全版本、那么 CC3200的安全版本现在是否可用? 用于生成安全映像的工具是什么?
另一个问题是、尽管它提到较新的 Uniflash 版本中已弃用了安全映像支持、但我是否可以使用较旧版本的 Uniflash ( 在 v3.2.0.00123之前) 来生成安全映像? 它应该仍然能够生成安全的图像、并且图像仍然可以工作、对吧?
 
谢谢、
Dennis

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

    尊敬的 Dennis:

    器件 CC3200不支持器件级安全性。 如果您需要安全器件、则应使用 CC3220或 CC3235。 CC3220或 CC3235器件的安全映像通过 Uniflash 4.x 或5.x 版生成

    我不知道 CC3200器件支持器件级安全性。 可能是某些非常旧的版本(预生产版本?)。 但这需要很久以前、因为我不记得这一点。

    1月

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

    您好、Jan、
    感谢您的快速回复。 是否可以获取 Uniflash 的预量产版本? 我们非常接近设计冻结、因此可能会导致一些延迟、因为我们需要评估如何以最小的影响移植到 CC3220 ... 因此、如果 Uniflash 的预制版本可用、我们还可以进行评估、看看它是否仍然可以工作。  

    说到哪一项、您是否有工具来验证生成的映像是否确实受到保护?

    谢谢、
    Dennis
     

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

    尊敬的 Dennis:

    否 我将介绍 CC3200芯片的预制硅树脂。 您将无法获得的值。

    我认为、CC3200硅酮的器件级安全性(安全文件)无法正常工作、因此从较新版本的 Uniflash 中删除了该功能、并且从未将其称为支持功能。

    如果您需要器件级安全性(安全文件、能够锁定 JTAG 等)、则需要切换到 CC3220或 CC3235。 CC3200不提供使用器件级安全性的选项。 我认为、从您的角度来看、开始基于 CC3200而不是 CC3220的新设计是一个错误的决定。

    如果您使用的是 QFN CC3200、请注意、CC3220不是引脚对引脚的直接替代产品。 需要进行一些小的 PCB 更改。 此外、用于 CC3220的软件与 CC3200不兼容。 移植所需的工作量取决于代码的设计。

    1月

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

    你(们)好、Jan
    非常感谢您分享更改日志。 这肯定 有助于加快移植过程。  

    我还有几个问题。
    对 CC3220x 系列中的变体有几个问题。 我想确认 CC3220SF 是否附带集成在芯片内部的1MB 串行闪存? 还是像 CC3200连接到外部串行闪存? CC3220R 和 CC3220S 不会连接到1MB 串行闪存、对吧?
      
    2.我遵循了应用的 CC3200最低参考设计原理图。 我假设我应该对 CC3220执行相同的操作。 在比较数据表时、除了您提供的更改日志之外、我还注意到原理图中还有一些差异。 CC3200数据表的第58页和 CC3220数据表的第70页。 我总结了随附文件中的更改。 除了天线的阻抗匹配、是否需要更改所有阻抗?  

    2.a 此外、如果我需要使用引脚45、能否按照 CC3200中的说明将引脚47连接到 VBAT?  

    一旦我切换到 CC3220并生成安全映像。 如何判断它是否安全?
    e2e.ti.com/.../CC3200-vs-CC3220-schematics.docx
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    您好!

    您的问题答案:

    所有 CC3220芯片都需要外部 SPI 闪存(sFlash)。 这与 CC3200类似。 sFlash 的大小需要大于 CC3200。 SF 型号的芯片具有片上 XIP 闪存。 该闪存用于代码执行。 这意味着您可以使用 SF 变体拥有更大的代码、而无需从 CC3200、CC3220S 或 CC3220R 等 RAM 执行代码。 但 CC3220SF 也需要 sFlash。 如果您需要器件级安全性、则不应选择 CC3220R。 因为该芯片不支持它。

    2.天线匹配电路的正确值取决于使用的天线、PCB 布局和 PCB 制造、器件的用例(封盖)、器件的预期位置。 影响天线设计的因素有很多。 CC3220或 CC3200的射频设计没有差异。 第一步、您应该计算天线路径的阻抗。 之后在实际原型上进行测量(通过使用 VNA 调优匹配电路和使用频谱分析仪的天线辐射特性)。 您还应该使用 本文调整主点击的中心频率布局指南中提供了一些射频设计示例。 本文档非常重要。 尤其是有关直流/直流设计的内容。 这 是一段很好的视频 、介绍了正确优化天线为何重要。

    3.有关设计差异的问题、请等待 TI 的回答。 我个人知道设计的所有重要变化、但我不想忘记任何重要的变化。

    默认情况下、S 和 SF 器件受保护。 在生产模式下、固件映像由证书验证。 这意味着您需要从支持的 CA (例如 DigiCert)购买代码签名证书。 备用选项可以使用自签名 供应商证书。 此证书需要上载到 sFlash 的 OTP 部分。 描述 CC3220S (F)器件安全性的文档:

    1月

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

    您好、Jan、
    真的很感谢周末的及时回复!

    希望 TI 工程师也能帮助确认原理图的变化!

    我刚刚开始阅读 swru547a.pdf、我注意到一个约束条件:"使用此功能时不支持出厂默认设置和 Gang 编程"。 我的目标是获得安全映像、以便我可以将安全 Gang 映像传递给生产中的串行闪存供应商。 您对安全 Gang 映像有何建议? 或者、我可能会乍一看就误解了这份文档。。。

    谢谢、
    Dennis

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

    尊敬的 Dennis:

    请阅读 本文档第6.7.1章

    如果需要、可以通过 Uniflash 创建加密镜像。 您可以将此映像发送给制造商、制造商会将此映像上载到 sFlash (SPI 闪存)中。 将电路板返回给您后、您可以通过插入钥匙来激活图像。

    文档 swru547a 介绍了供应商设备验证。 这允许使用自己的自签名证书。 但我希望您将使用来自 CA 的证书。 使用供应商设备身份验证具有一些 优势、但在生产环境中的灵活性略低。

    BTW... 也许您可以打开新主题、其中涵盖了您对 CC3200和 CC3220之间原理图迁移的问题。 对于有关 CC3220的一般问题、我们可以在此处继续。

    1月

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

    您好、Jan、
    非常感谢您的帮助。 我将在拿到 CC3220SF Launchpad 后尝试加密。

    关于供应商身份验证、我认为它可以更灵活、因为供应商可以使用其证书进行签名。 也许我看不到整个图片。 我是否可以知道为什么它在生产环境中的灵活性会降低?

    我将创建有关 CC3200和 CC3220之间原理图迁移的新主题。

    谢谢、
    Dennis

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

    尊敬的 Dennis:

    供应商身份验证的问题是、供应商证书只需使用 Uniflash 上传到串行闪存的 OTP 部分。 如果使用由 CA 支持的映像签名、则可以通过 Uniflash 创建此映像、并可使用 嵌入式编程进行上传从我的角度来看、它比 Uniflash (GUI 或 CLI)更适合大规模生产嵌入式编程。

    BTW... 使用供应商身份验证时要小心谨慎。 因为 SPI 闪存 OTP 部分内的证书。 一旦您上传了错误的证书、就无法修复。 唯一的方法是交换 SPI 闪存芯片。

    1月

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

    您好、Jan、
    得到了它、如果使用受支持的 CA 签名的映像、如果使用了错误的证书、是否可以修复它?

    谢谢、
    Dennis
     

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

    尊敬的 Dennis:

    是的、这不是问题。 如果使用受支持 CA 签名的映像并且准备了错误的映像、则代码不会引导。 但您将能够修复此问题并再次上传新映像。

    总结两种解决方案的优点和缺点:

    通过 CA 的证书签名:

    -客户可以在您的设备上运行自己的代码。 如果客户将自己的映像上传到您的器件中、则可以在您的器件上运行自己的代码。 但这样做不能"窃取"您的映像-固件、因为通过这种操作、他会破坏您的映像。

    -您需要从 CA 购买证书。 它的成本高达500美元。 在您的开发阶段、您无需购买证书。 仅用于生产。 我个人建议购买 此证书 (DigiCert 的标准代码签名证书)。

    +您可以使用进行生产编程嵌入式编程、Uniflash 的 Gang 编程。

    +上传错误的图像时没有问题、您可以毫无问题地恢复此状态。

    +您可以使用任何满足要求的 SPI 闪存芯片。 但仍建议使用经 TI 测试的芯片。 此处列出了支持的闪存芯片列表

    通过供应商证书签名(存储在 SPI 闪存的 OTP 方):

    +除非客户更换 SPI 闪存芯片、否则无法在您的器件上运行自己的代码。

    +无需从支持的 CA 购买证书。

    -您只需使用 Uniflash 软件进行生产编程。

    -如果上传到 SPI 闪存的 OTP 部分出现问题、您需要交换 SPI 闪存芯片。

    -限制 SPI 闪存芯片(MX25R3235FM1IH0)的一个特定器件型号。

    以上列表仅是我的意见。 在您的开发和生产环境中、您可以有不同的需求。

    1月

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

    您好、Jan、
    非常感谢您的总结。  
    通过 CA 的证书签名可以更好地实现。 我认为、在做出最终决策之前、我需要学习并熟悉整个安全编程过程。  
    还有一个问题:
    1.如果是通过供应商证书签名,如果客户获得供应商证书的访问权限,他们是否可以获得应用程序映像或刷写自己的映像?
    由于我的初始设计基于 CC3200、我计划通过 SPI 线路将 Gang 映像编程到串行闪存上(可能甚至在将串行闪存组装到 PCB 之前)、我计划对 CC3220SF 采用相同的方法。 但是、如果我了解上述差异、并且使用"通过 CA 证书签名"解决方案、我的计划将不会受到影响。 但是、如果我使用"通过供应商证书签名"解决方案、供应商将仅限于使用 Uniflash 软件、以便他们可以将证书存储在串行闪存的 OTP 部分、对吧?

    谢谢、
    Dennis

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

    尊敬的 Dennis:

    您的问题答案:

    1.只有当您的客户能够获得(窃取)您的私钥时,才能实现这一点。 这就是为什么您需要将您的私钥保密的原因。 在 sFlash 的 OTP 部分存储的证书(=公钥)不是私钥。

    2.是的。 您的假设是正确的。

    1月

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

    明白了、真的很感谢所有的帮助!