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.

[参考译文] TM4C1294KCPDT:通过锁定防止嵌入式软件升级被复制

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

https://e2e.ti.com/support/microcontrollers/arm-based-microcontrollers-group/arm-based-microcontrollers/f/arm-based-microcontrollers-forum/593799/tm4c1294kcpdt-preventing-embedded-software-upgrades-from-getting-copied-by-putting-lock

器件型号:TM4C1294KCPDT

我希望防止未经授权的人员在他们的硬件上复制我的嵌入式软件升级文件。 如何在设备和升级的软件中放置锁、以便只在设备中升级、而不是通过 USB 或 RS232在其他任何地方升级。

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

    [引用 user="Naman Kumar"]如何在设备中锁定[/quot]

    有许多不同等级的"锁"-是否没有?   您可以避免(任何)提及您的锁的"等级"。   (即抵御攻击)

    MCU 的批量价格为~10 (美元)-期望在如此低的成本器件中实现"高水平安全性"是合理/现实的吗?

    您肯定已经注意到、大多数政府都被"黑客"攻击-假设他们的"保护"超过~10 (USD)器件提供的保护!

    有非常特殊且价格高得多的 MCU、它们在"保护其代码"方面付出了额外的努力。

    电子贸易媒体长期以来一直在写下这一困境——特别是值得注意的(我相信)他们的发现——最常说的是,“攻击者比寻求保护的人更熟练,拥有更多的技术资源,证明更有动力,而且资金也更好!”   因此、这证明了"可以说"-如果"熟练的其他"需要您的代码-他们应该有您的代码!    但真的-谁呢?

    大多数供应商提供多种"温和"的代码保护方案/方法。   (几乎所有-快速/轻松克服)   在许多情况下-使用供应商"保护"-成功(仅限于)"锁定(合法)代码开发人员!"

    如果您对这种"安全评估"-只需要求供应商(顺便说一句、任何供应商)提供(书面)"保证、通过遵循他们的定向安全方法、您的代码 将不会被不当/非法访问!"    任何此类供应商都不会"迎接这一挑战"-认识到"带隙"安全方法-这(遗憾的是)是此类 MCU 的"规范"。   (同样、大多数供应商都遇到了这一缺陷-这不会给该供应商带来任何冲击-只是简单的"事实陈述和不幸的现实!")

    (在过去的生活中-在另一家半公司-我们(有时)错误地放置了我们的代码、但通过简单地"取消 MCU 的上限、然后使用 X 射线"恢复了"每个字节"。)

    一种更好的方法(通常)是(非常)提前到达市场-产品性能良好-价格合理-并有足够的库存来满足所有交货需求。   (然后祈祷没有"巨人"想要进入您(希望是)的利基市场-并压倒一切(您和所有其他人...)   

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

    完全同意 CB1并将添加几条注释。

    就保护能力而言、关键问题是成本。 不是您的成本、而是攻击者。 您要保护的攻击者有多少愿意为您的保护提供回报? 您必须提高您的保护能力、以使违反该协议的成本超过攻击者在产品生命周期内愿意支付的价格。  请注意、大多数微控制器保护的失败成本较低。

    但是、您的请求似乎稍有不同。

    [引用 user="Naman Kumar"]我想防止未经授权的人员在其硬件上复制我的嵌入式软件升级文件

    因此、如果这在您自己的硬件上运行、则有人必须首先复制您的硬件、然后再运行。 这是您的第一个保护点。

    [引用 user="Naman Kumar"]以便仅在我的设备中升级

    我认为这是一个与 CB1有点不同的问题,我回答了。 文件是三倍复制的、因此您需要寻找 一种方法来确保您的文件仅在您的硬件上可用。 实际上、我认为这意味着加密。 有公开可用的库可用于此操作。 很难高估这种努力的硬部分是将解密密钥保密。 在外部 IC 中为其提供硬件支持。

    同样、这也开始了成本折衷。 实施和管理的成本与您的增益以及攻击者破坏它所需的成本。 如果您的密钥是"密码"或粘贴在产品背面、则复杂的加密不值得一分钱。

    更便宜的方法就是使您的硬件足够独特、足够轻松地可用、从而使 您能够更简单/更低的风险购买、从而产生爆震效应。

    Robert

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

    [引用 user="Robert Adsett"]如果您的密钥是"密码"粘贴在产品背面,则加密不值得一分钱。

    您好朋友 Robert -尽管-"您是否必须"告诉世界" CB1的(正常)"密码"及其位置?"   (尽管公平地说-(有时)由于我们使用的(大量)贴现/老化的粘合剂、我们的安全性程度有所提高-因此(可能)为我们的"伪造密码"提供(部分)伪装。

    坦白说、我从未考虑过您确定/承认的两个罚分。    海报使用"锁定"(强烈建议使用"MCU 锁定")的做法告知了我的注意事项-我认为这将证明是正确的...

    应该注意的是、我们(两者)发现"及早交付表现良好、需要满足、价格合理且可用的产品"证明了对熟练黑客的有效防御(也许是唯一的防御)...

    很好地记录您的返程-您的草坪(仍然)是否结冰?

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    对泄露您的顶级安全性深表歉意。

    草坪目前是泥土。 我们在周四到周六的时候下了56毫米的雨(一个月的雨值)。 虽然我们的东部邻居(qu)要求军队帮助我解决洪水问题,但我很高兴我没有在洪水区。

    Robert
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    安全问题需要从威胁评估开始。
    您试图阻止谁进行复制? 您期望该人员/组织拥有哪些资源、而 CB1_MOBIESTERY 指出、您愿意花多少钱让他们远离? 这也需要与实际违反行为的影响有关。

    如果您的设备正在与其他设备通信-您能否以某种方式单独键入固件以验证与其他设备的有效性? 例如,如果您已连接到 Internet,您是否可以对服务器运行检查? 加密当然很容易实施、但正如 Robert 指出的、没有良好的密钥管理是无用的。 也许可以考虑在您的硬件中添加一个专用芯片、例如 AT88SC118、并且需要在您的代码中对其进行验证?

    这个问题有点像水球;当你把它挤在一个地方时、另一个部分会弹出... 我假设专门的安全芯片也可以被去分层并与适当的资源进行攻击、但它是否具有成本效益?

    您可以混淆代码,使用非标准界面使连接变得非常麻烦,但要完全阻止任何人制作副本,您必须将其锁定在库中,而不是与任何人共享- 这可能不适用于您的业务模式;)

    您需要了解您的敌人才能做出合理的决策、并使之变得足够困难、不能使之物有所值。

    祝您好运!

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

    有人怀疑我们的"有安全意识"海报(希望)听到他被淹没的"警告轰炸"。 (显然是在"魁北克和包括魁北克的西部"。)

    这些是(非常)"新海报"问题/问题、以及"威胁评估"、是否(不太可能)成为"黑色海报雷达"?   (10 (美元)我的赌注...)