微控制器被用作简直每个运用能够幻想在主控制元件。他们的权利和灵活性,让他们去到组件的大多数规划的心脏。由于它保证您的规划不能简单被仿制是十分重要的,逆向工程或篡改,现代的微控制器现在供给了几个不同的选项来维护您的规划;的才干和权衡一个很好的了解是,以确认哪种办法是最好的一个给定的规划很重要。本文将回忆一些常见的办法来规划维护,如使从外面的国际,你的MCU读取,运用片上的功用来验证要履行的代码修正,并运用外部元件来供给更先进的安全功用。板上技能篡改检测和或许的“赏罚”是也能够运用进行阐明。
维护你的规划
你或许没有考虑了好久是多么简单仿制你的规划,但谁具有经验丰富的规划偷盗会告知你,一旦它发生的工程师,你永久不期望它再次发生!例如,假如片上的代码为您的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的供给)