您的位置 首页 分销

完成保证微控制器的IP安全的两种解决方案介绍

实现确保微控制器的IP安全的两种解决方案介绍-许多设计师仍然认为,他们可以通过禁止调试访问到MCU使“相当好”的IP安全。开发周期后,调试路径(JTAG或SWD)被阻止通过使用用户可配置设置。然而这种方法,实在是没有太大的威慑力给谁想要逆向工程的产物,甚至中等熟练的IP海盗。

许多规划师依然以为,他们能够经过制止调试拜访到MCU使“适当好”的IP安全。开发周期后,调试途径(JTAG或SWD)被阻挠经过运用用户可装备设置。可是这种办法,实在是没有太大的威慑力给谁想要逆向工程的产品,乃至中等娴熟的IP海盗。

简略地阻挠调试拜访不会阻挠读取设备内存出包含要害软件IP的方位。虽然有几种办法来处理这个问题,其间最有用的一种是经过创立内部硬件和软件进入壁垒以别离要害IP在。

在描绘两种处理计划,可是,它是值得枚举正在嵌入式范畴越来越风险的事态开展。

家电,如洗碗机,冰箱和家庭自动化体系的运用越来越强壮的MCU来完成先进的确诊和便当的功用。完成这些功用的软件IP花费时刻和金钱来开发,这意味着需求有用的办法,以避免偷盗竞争对手。

维护产品的知识产权是很简略当设备或器材的作业或多或少自主。 “大数据”的趋势 – 搜集TB级的可挖掘用于营销意图的信息 – 给嵌入式体系始发的数据,并在物联网(IOT)衔接传输它的重要使命。在彼此相关的这一严峻改变添加了必要的保证。

第三个趋势 – 人们不常常说到的 – 是遍及选用的敞开源代码软件。像开源工程师,由于它一般是取得更廉价,运用方便,并缩短了规划周期。 Linux的正在被广泛应用于许多工业范畴,例如,但开源软件还包含代码,如通讯协议栈。虽然它的优势,开源软件比专有体系更软弱,由于任何人 – 包含IP海盗 – 能够获取源代码,剖析它,并对其进行修正。

硬件安全

一个经过时刻检测的办法来完成安满是包含一个独自的安全处理器 – 一般是一个微操控器 – 与自己当心操控拜访和履行环境。该安全子体系能够,例如,是一个加密引擎。除了添加的安全性,在发动机卸载从履行加密算法在软件的使命的主MCU。在这种办法中,一个内部描绘符为根底的DMA一般用于安全相关的数据分组和指针的高效编程。智能状态机调度根据协议的挑选和数据包鸿沟的加密引擎。

虽然高度安全的,运用一个附加的处理器有缺陷。三个最杰出的有:物料清单(BOM)本钱1)的附加计划; 2)降低了整个体系的功用; 3)缺少可编程性。其他选项是概念上相似于这种办法。

ARM的TrustZone

关于32位规划,ARM控股有限公司现已开宣布云对缓解这些缺陷很长的路叫的TrustZone技能。 TrustZone的指的是能够在若干ARM内核来完成安全性扩展 – 和严密地集成到其的Cortex-甲处理器。

ARM的体系级的安全办法开始于履行环境,并延伸与特定公司的AMBA总线和AXI总线特定的TrustZone IP模块。该体系的办法使得有可能以固定的外围设备,如存储器和暗码块。

在TrustZone架构根本上偏析ARM的芯的MCU的一个子集,硬件经过界说处理器,外围设备,存储器地址,和高速缓存乃至区域为“安全”或“非安全”硬件上运转。 TrustZone技能能够动态露出的完好的MCU来维护软件,或该MCU的正常软件的一个子集。

TrustZone的经过切割处理器内核成两个虚拟内核,一个在一个正常的国际操作和其他作业在安全的国际(图1)完成这一意图。这种机制首要是创立履行特权除了对用户和内核形式下的传统区分一个新的水平。这两个国际之间的转化由监控形式的软件都经过精心的操控。

德州仪器的ARM TrustZone架构的图画

完成保证微操控器的IP安全的两种处理计划介绍

图1:ARM的TrustZone架构在概念根底上创立虚拟内核。 (德州仪器供给)

任何MCU供货商与根据ARM的产品有必要完成的TrustZone的选项。德州仪器(TI)供给的TrustZone功用的应用程序与它的KeyStone II体系级芯片(SoC)架构,其特色是集成了ARM的Cortex-A15群集支撑。由于TrustZone的集成ARM的Cortex-A处理器,TI的更经济的Sitara系列,这是根据A8中心,一切的TrustZone的支撑,包含AM3352ZCE27的成员。

在其他的TrustZone功用的产品是Atmel的SAMA5D4系列32位MCU,包含ATSAMA5D41A-CU和飞思卡尔半导体i.MX6系列,包含MCIMX6X1CVK08AB。

由于它是根据硬件的,TrustZone的供给一个坚实的根底时,可建立在安全的软件的上层。有参加创立的TrustZone维护请求后3根底要素。

可信履行环境(TEE) – 一个软件仓库的安全的国际中运转,再加上需求启用安全的国际的软件,与正常国际的软件交互的通讯功用。 TEE软件一般由一个小的微内核和API,让安全软件与较大的,以用户为中心的软件进行通讯。

安全的应用程序和安全服务,或信赖的应用程序(TA)

的安全监控充任虚拟看门者操控所述域之间的搬迁。

经过调用一个名为监控形式的新处理器形式的两个虚拟内核之间的物理中心交换机。监控形式可正常国际的形式,无论是经过激活ARM的安全监控调用(SMC)指令,或从硬件反常机制的子集来输入。在IRQ,FIQ,外部数据间断,和外部预取间断反常的结构都能够使所述处理器切换到监督形式。这些间断也能够被赋予较高的优先级,以避免拒绝服务进犯安全的国际的软件。

TrustZone软件

TrustZone硬件的弥补,完成相似的分区软件架构。在这种架构中,一切与安全相关的功用,包含安全外围设备的接口是安全的国际的省和正常的国际处理其他使命。

该内部监控形式履行的软件一般保存当时国际的软件映像,并康复该国的方位,它切换。然后履行回来从反常指令重新发动处理康复的国际。

国际安全运转一切的安全应用程序,并供给了经过精心监控代码,在正常的国际,以促进客户供给服务。安全国际仅有只能运转现现已过广泛检查了代码。图2示出的TrustZone的软件架构。

ARM的TrustZone软件架构的图画

完成保证微操控器的IP安全的两种处理计划介绍

图2:TrustZone软件架构。 (ARM公司供给)

这是没有必要开发杂乱的软件,以供给有意义的安全和TrustZone。事实上,有时写杂乱的软件能够经过引进和躲藏其他缝隙损坏安全的方针。完成的挑选取决于运用的计划和规模能够从一个杂乱的彻底预empTIble操作体系的一组正常的国际供给按需服务被迫库。该TrustZone架构供给了一个安全定时器和安全意识的间断操控器为建造预empTIble安全的操作体系。

安全引导是必不可少的维护知识产权,由于MCU处于当一切组件都加载一个相对退让的环境。片上ROM代码起到了TrustZone的引导进程中的要害作用。它的作用是存储与OEM的私钥签名的可信软件映像。 OEM的私有密钥的公共对方是在制作期间编程到微操控器只要一次。

可信OEM软件映像发动次级引导加载程序然后引导高层次的操作体系。这个进程将设置完好的信赖链,由于在榜首级元件能够具有另一个嵌入公钥来验证下一级的部件,它企图加载等。信赖的这样一个安全链可一路延伸到安全的应用程序的加载。

16位处理器处理计划

虽然TrustZone的是特定的根据ARM的产品,相同的安全问题与16位和自己的32位MCU所面对的MCU供货商。

他们面对的一个知识产权维护问题,从规划和支撑生态体系,其间多个公司参加了一个体系级产品的开发进程中的遍及发生。每个协作公司具有自己的知识产权维护。在前面描绘的传统办法,该IP一般存储在固件中它自己的专用代码维护的MCU(图3)的闪存。

的意外结果是一个适当贵重的体系级的产品,由于资料本钱和规划时刻添加经过具有多个MCU。除了添加了体系的本钱,这种做法也使得收购部分来办理库存和交货时刻变得愈加困难。

Microchip技能知识产权维护的应战图片

完成保证微操控器的IP安全的两种处理计划介绍

图3:规划生态体系创立一个特别的知识产权维护应战。 (Microchip的技能供给)

Microchip Technology的处理计划是其CodeGuard安全技能,它答应多个企业能够安全地同享单个MCU的资源。多个安全处理器能够被集成到一个单一的16位Microchip MCU或数字信号操控器(DSC)。

章CodeGuard适用于一切的Microchip Technology的16位产品。向其间能够启用初级,中级,或高档安全功用的程度首要取决于闪存嵌入在MCU的量。一切PIC24F器材,如PIC24FJ16GA002-I / SS,例如,能够完成根本安全功用。 64 KB的片上闪存和更大的PIC24H器材,如PIC24HJ12GP202-I / SS,可完成先进的安全功用。中间级安全能够在DSPIC30F1010设备比如DSPIC30F1010-30I / SP来完成。

章CodeGuard是一种多用途和强壮的技能,可完成以下功用和流程:

内存切割和拜访权限

支撑安全引导加载程序/内核段擦除/编程选项

安全间断处理

安全开发和调试

每个应用程序都有自己的界说和完成。一个首要特色,可是,是存储器切割和拜访特权,如图4。

将Microchip技能的CodeGuard内存切割图片

完成保证微操控器的IP安全的两种处理计划介绍

图4:章CodeGuard存储器分段和拜访权限。 (Microchip的技能供给)

闪存程序存储器,RAM和EEPROM能够分为闪存三级维护段:

引导段具有最高的拜访权限,能够在许多巨细进行装备。一个小的内存空间是一切需求一个简略而高度安全的引导装载程序,而杂乱的操作体系将需求更大的空间。引导段能够给予读或写权限(如在Flash更新)。它能够调用一个子程序或跳转到其他段不管其他段是否被代码维护。它也能够改写自己的方位,这一特色给它来存储和更新加密密钥的才能。假如误写是一个问题的开发团队,一切的Flash写入引导段能够彻底禁用。从其他段拜访引导段可能会严峻约束或留下相对敞开。引导段还能够在芯片上的数据闪存的安全部分,以制止从其他部分的拜访。

安全段首要是用于存储应用为导向的IP地址,如电机操控软件,声学算法和噪声按捺算法创立的。它有许多巨细选项,并取得与其他两个部分(引导和一般)能够被约束。安全段可维护片上RAM区和片上数据EEPROM。当安全段被装备为“规范安全”的引导段能够给予不受约束地拜访安全段。可是,安全段和引导段具有相同的权限,当安全段被装备为“高安全性”。

一般段为例如外围驱动器,间断服务程序(ISR),和大的查找表的用户的应用程序的指定区域。它的巨细根本上是片上闪存减去引导和安全段和256 KB的巨细。

责任编辑:gt

声明:本文内容来自网络转载或用户投稿,文章版权归原作者和原出处所有。文中观点,不代表本站立场。若有侵权请联系本站删除(kf@86ic.com)https://www.86ic.net/bandaoti/fenxiao/343177.html

为您推荐

联系我们

联系我们

在线咨询: QQ交谈

邮箱: kf@86ic.com

关注微信
微信扫一扫关注我们

微信扫一扫关注我们

返回顶部