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.

[参考译文] TMS320F28386D:如何保护 DCSM OTP 中的.out/.hex 文件中的密钥和密码

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

https://e2e.ti.com/support/microcontrollers/c2000-microcontrollers-group/c2000/f/c2000-microcontrollers-forum/1342834/tms320f28386d-how-to-protect-the-keys-and-passwords-in-dcsm-otp-in-out-hex-file

器件型号:TMS320F28386D

您好  

我们正在准备在 F28386D 芯片中启用 JTAG 锁定和安全启动功能。 DCSM zone1配置的 OTP 数据将添加到引导加载程序的.out 或.hex 中、然后可以在工厂中刷写后启用这些功能。  

这些密钥和密码是纯文本格式的.out 文件还是.hex 文件? 如果有、如何保护它们免受泄漏? 它的工具是否已经考虑了这一点并有解决方案?

提前感谢!

此致、

杰森

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

    大家好、Jason、

    泄漏是指什么? 您是否在问是否可以从.out 或.hex 文件中提取 JTAG 密码和 CMAC 密钥?  我不知道具体的实现方法、但如果有人可以访问.out 文件、他们可以使用该.out 文件对器件进行编程、并读取 OTP 以确定 CMAC 密钥和 JTAG 密码。 请告诉我这是否解答了您的问题。

    谢谢!

    卢克

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

    Jason、

      .out 文件为二进制文件、无法直接读取。 但是、正如 Luke 指出的那样、某人可以通过将.out 文件编程到一个器件中来提取所需的信息。 hex 文件是一种文本文件、可以在 Notepad 或写字板等任何 ASCII 编辑器中打开。

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

    Jones、您好!

    是的、泄露意味着密码和密钥可以从.out 或.hex 文件中读取。   

    使用.out 文件对器件进行编程后、OTP 应该无法读取、对吗?  您是说它 可以在复位前被读取吗?  

    实际上、我 希望在分发输出文件或十六进制文件时防止泄漏。 一种解决方案可能是使用一个附加密钥对输出文件或 hex 文件进行加密;然后在编程之前将其解密。  

    您是否有 TI 工具已经支持的更好的解决方案(用于保护密钥和密码)?

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

    尊敬的 Janakiraman:

    是的,我知道.out 文件是二进制的,但如果有人知道.out 文件中的数据格式,因为它没有加密,密码和密钥可以执行。

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

    大家好、Jason、

    我的意思是有人可以在其他设备上对相同的.out 文件进行编程。 更具体地说、用户可以对除 CSM 密码之外的所有内容进行编程、但使用 CCS 中可防止对指定的存储器地址进行编程的功能。 这会让您的所有 OTP 暴露在黑客设备上、因为他们正在编程.out 文件。

    我不相信 TI 有任何对.out 文件进行加密以供分发的工具、但我会与其他专家就此问题进行核实。

    谢谢!

    卢克

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

    Jones、您好!

    提前感谢! 期待您的信息。

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

    大家好、Jason、

    我收到了我们的安全专家的反馈、并在此处提供他们的反馈:

    "我们的 C28产品无法安全地向器件中提供机密信息(例如、加密密钥、密码)。  用户必须拥有一个安全或可信的工厂、在其中对器件进行编程以用于生产。 如果他们希望能够在非可信环境中安全地提供机密、则必须转移到高安全性设备。  未来的 C2000器件 将具有该功能 、AM263器件也具有该功能。

    可以 将.out 文件转换为 hex 文件并轻松进行读取。 用户需要做的是:

    1. 在他的工厂中保护密码(限制能够看到密码的人数–如果他们希望使用安全服务器、甚至可能将密码设置为零)。
    2. 使用他们选择的方法对.out 文件进行加密。
      1. 他们可以使用加密的 AES 密钥对其加密、然后使用只有编程线路知道私人对应方的公共密钥对其加密。 您不需要使用专用工具来加密文件。
    3. 编程线路将使用其私钥来解密 AES 密钥、然后使用解密的 AES 密钥来解密整个图像。
    4. 然后对解密图像进行编程。 最好限制能看到第3步和第4步的人。 由于我们没有用于安全配置的硬件支持、因此线路操作员将能够监控正在编程的最终映像。 这就是为什么他们必须被信任的原因。 但是、通过执行上述步骤、他们至少可以将能够看到这种情况的人限制为工厂中拥有代码并执行原始加密的少数人以及执行最终编程的操作员。 他们可以确保加密密钥的安全、并且只能存储/传输加密的映像。"

    如果您有任何进一步的问题、请告诉我。

    谢谢!

    卢克

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

    获得您的信息、谢谢!