新闻中心

EEPW首页 > 电源与新能源 > 设计应用 > 从复制保护您的MCU设计和逆向工程

从复制保护您的MCU设计和逆向工程

作者:时间:2018-08-17来源:网络收藏

被用作几乎每个应用可以想象在主控制元件。他们的权力和灵活性,让他们去到组件的大多数设计的心脏。因为它确保您的设计不能轻易被复制是非常重要的,逆向工程或篡改,现代的现在提供了几个不同的选项来保护您的设计;的能力和权衡一个很好的理解是,以确定哪种方法是最好的一个给定的设计很重要。本文将回顾一些常见的方法来设计保护,如使从外面的世界,你的MCU读取,使用片上的功能来验证要执行的代码修改,并使用外部元件来提供更先进的安全功能。板上技术篡改检测和可能的“惩罚”是也可以应用进行说明。

本文引用地址:http://www.eepw.com.cn/article/201808/387094.htm

保护你的设计

你可能没有考虑了很久是多么容易复制你的设计,但谁拥有经验丰富的设计偷窃会告诉你,一旦它发生的工程师,你永远不希望它再次发生!例如,如果片上的代码为您的MCU设计,可以读出一个竞争对手,甚至是通过不法合同制造商,你的整个设计可以很容易地复制和转售 - 无论是在不同的品牌或者甚至可以使用你的品牌在黑市上。这超过产品容量流行的设计已经成熟,这种类型的治疗,如果卖家无法从你的产品,他们可能会动用黑市场,以满足他们客户的需求。正如脆弱的是隐藏在你的MCU代码心脏的实际设计或算法。也许你有一个创新的方法来分析传感器数据,大大减少了所需的电力或处理时间。你想一个竞争对手能够把刚才复制的代码和反向工程算法?甚至有软件工具,可以采取二进制和再生合理的“C”代码,使算法的细节更容易破译。即使是很平常,比如板上测试程序,可能已经采取了许多个月的时间刚刚好 - 你想要的竞争对手获得快捷访问您的基础架构相关的代码,大大降低其开发成本,使他们能够不公平地削减他们的市场价格来赢得您的公司吗?保护的另一个方面是涉及硬件验证。通常,一个设计将允许外设或附加卡这样的基本设计理念可以升级或增强。如果设计不包括一些功能,能够检测的附加模块硬件授权,有可能为其他厂商打造低成本的模块,以争夺附加业务。打印机墨盒也许是最熟悉的应用程序的硬件认证,以确保你买的是制造商的品牌墨盒。常打印机以折扣出售和盒价格膨胀以覆盖折让打印机的寿命。参赛者可以以较低的价格出售墨盒,因为它不需要收回打印机的折扣,同时仍然保持健康的利润。因此,现在应该清楚的是,在许多情况下,重要的是要能够保护硬件复制,逆向工程,并且从假冒。此外,如果没有安全硬件为起点,这将是不可能创造的各种需要的像家庭互联(图1)的应用程序的安全设备。

图1:在联网家庭安全设备常见的例子。 (德州仪器提供)一些技术已经发展随着时间的推移,其中许多是使用标准化的安全算法,以保护和验证存储内的MCU或存储器外设到MCU的代码。让我们来看看一些他们用于最常见的保护技术和安全标准和内容。然后,我们就可以看到各种和外设支持这些标准,可以用来保护你的设计。

保护技术和通用安全标准

也许是最常用的技术,用于保护硬件从复印编程在其中的编程的数据不能从装置外部进行访问的一次性可编程(OTP)模式的MCU。 JTAG和调试设备必须关闭,因此数据不能使用调试访问“后门”。现代的设计找到OTP的做法却非常有限,因为调试测试过程中故障分析和现场一个非常有用的功能。在OTP方法消除的另一个重要功能是远程更新片上MCU代码进行升级,bug修复,提高诚信经营和优质的服务所需要的其他类似的变化。理想情况下,我们希望保护我们的代码逆向工程和复制,但仍然能够方便地进行更新和更改。一些MCU提供了访问片上存储器的安全方法。德州仪器(TI)凭借其MSP430FR MCU系列,提供了一种方法要么确保JTAG端口通过密码,或者通过编程片上禁用保险丝签名完全禁用它。当JTAG被禁用,对设备的访问经由使用密码引导装载程序只允许。提供了一个不正确的密码可以导致整个代码存储区被质量擦除。 TI还提供了一个方法来创建两个MSP430FR存储器空间内的安全的和非安全区域。安全码可以被封装(通过IP封装,或IPE),通过存储安全码在被映射到引导代码区中的第一电周期后一个特殊存储区域。 IPE的区域不能由JTAG,BSL甚至在系统读取访问,所以它保持安全的装置的寿命。在安全区域内的代码可以,不过安全区域内的访问数据,因此既安全算法和密钥可以安全区域内共存。为了保护您的IP所需的最常见的安全算法使用,也可以加密和/或解密的安全数据或数据进行验证,以证明它是从一个已知的和可信赖的来源。 MCU可提供专用硬件来实现共同的行业标准和Microchip PIC32MZ MCU系列就是这样一个例子。 PIC32MZ设备包括一个实现共同批量加密解密“密码”,如AES,DES和三重DES硬件加密引擎。这些功能所使用的加密保护的安全数据,使用密钥,以便只“知道”一个进程密钥才能解密数据。认证是由SHA-1,SHA-256,MD-5,AES-GCM和HMAC提供了 - 在所有的硬件实现。加密引擎的硬件结构和产生的性能(在输入时钟的Mbps的/ MHz和以Mbps为100MHz的时钟)示于图2中。性能值远远优于软件实现并表明,如果大量的数据需要经常处理的(可能在高速数据传输)或在时间关键事件(诸如在启动过程中)使用的硬件加密引擎可满足系统的要求是至关重要的。

图2:Microchip的PIC32MZ单片机加密引擎和性能指标。 (Microchip的提供)


上一页 1 2 下一页

关键词: 微控制器

评论


相关推荐

技术专区

关闭