凯利讯半导体的个人空间 https://www.eechina.com/space-uid-142497.html [收藏] [复制] [RSS]

博客

MCU供应商为关键任务IP提供齿轮保护

已有 786 次阅读2018-3-21 10:59 |个人分类:电子技术| 供应商, MCU, 齿轮

  许多设计者仍然相信,通过禁止对MCU的调试访问,他们可以启用“相当好”的IP安全性。在开发周期之后,调试路径(JTAG或社会福利署)被阻止使用用户可配置设置。然而,这一方法对于那些想要反向设计产品的技术熟练的知识产权盗版者来说并不是什么威慑作用。

  简单地阻止调试访问不会阻止读取包含关键软件ip的位置的设备内存。虽然有几种方法来解决这个问题,但最有效的方法之一是通过创建内部硬件和软件进入壁垒来隔离关键IP。

  然而,在描述两种解决方案之前,有必要列举一下导致嵌入式空间日益危险的发展情况。

  比如洗碗机、冰箱家电和家庭自动化系统使用越来越强大的MCU实现先进诊断和方便的特点。实现这些特性的软件IP需要时间和金钱来开发,这意味着需要采取有效措施防止竞争者窃取。

  当设备或设备自主操作时,保护产品IP要容易得多。“大数据”的趋势–收集百万兆字节信息可以挖掘出营销的目的–给出了嵌入式系统的源数据和输送物联网(IOT)连接的关键任务。这一重大转变的必要性增加了保护。

  第三个趋势——一个不经常提到的——是开源软件的广泛采用。工程师喜欢开源,因为它通常较便宜,易于使用,缩短了设计周期。例如,Linux在许多行业领域被广泛使用,但开源软件也包括诸如通信堆栈之类的代码。尽管开源软件有它的优点,但它比专有系统更容易受到攻击,因为任何人(包括IP盗版者)都可以获取源代码,分析并修改源代码。


  硬件安全

  一个经过时间考验的实现安全的方法是将单独的安全处理器(通常是MCU)包含在自己精心控制的访问和执行环境中。例如,安全子系统可以是加密引擎。除了增加安全性,发动机卸载主MCU的软件执行加密算法的任务。在这种方法中,通常使用基于内部描述符的DMA来有效地编程安全关联数据和数据包指针。智能状态机根据协议选择和包边界调度加密引擎。

  虽然高度安全,但使用额外的处理器有缺点。三个最突出的是:1)额外的物料清单(BOM)成本;2)降低了整个系统的性能;3)缺乏可编程性。其他选项在概念上类似于这种方法。


  ARM TrustZone

  32位设计,ARM控股公司已经开发出一种技术称为TrustZone走向缓解这些缺点,一个很长的路。TrustZone是指安全扩展,可以在多个ARM内核–实现紧密集成的Cortex-A处理器。

  安全臂的系统范围的方法开始执行环境和扩展与特定的TrustZone IP块特定公司的AMBA总线和AXI总线。系统方法使得有可能保护外设(如内存和密码块)。

  的TrustZone架构本质上是将一个定义处理器,基于单片机的ARM核心硬件部分外设,内存地址,甚至地区的高速缓存运行“安全”或“不安全”的硬件。TrustZone技术可以动态地揭露出完整的单片机的安全软件,或一个子集的MCU正常软件。

  TrustZone通过分裂成两个虚拟处理器核芯,一个正常的世界工作和其他工作在一个安全的世界(图1)。除了传统的用户和内核模式划分之外,这种机制本质上创建了一个新的执行权限级别。两个世界之间的转换是由监控模式软件精心控制的。

  德克萨斯仪器ARM TrustZone的建筑形象

  图1:ARM的TrustZone架构的概念的基础上创建虚拟内核。(由凯利讯半导体提供)

  任何MCU厂商基于ARM产品的选项来实现TrustZone。德克萨斯仪器提供了对TrustZone的支持使片上系统(SoC)重点II应用体系结构,它具有一个集成的ARM Cortex-A15集群。由于TrustZone是集成到ARM的Cortex-A处理器,TI的更经济的Sitara家族的成员,这是基于A8核心,所有支持TrustZone技术,包括am3352zce27。

  其他的TrustZone在启用产品Atmel的sama5d4系列32位MCU,包括atsama5d41a-cu和飞思卡尔半导体的i.MX6系列,包括mcimx6x1cvk08ab。

  因为它是基于硬件的,TrustZone技术提供了一个强大的基础上层安全软件可以建立。有三个基础要素参与创造一个TrustZone保护中的应用。

  可信执行环境(TEE)——在安全世界中运行的软件栈,以及使安全世界软件与正常世界软件交互所需的通信功能。三通软件通常包括一个小的微内核和API,允许安全软件具有较大的沟通,以用户为中心的软件。

  安全感知应用程序和安全服务,或可信应用程序(TA)

  作为控制域间迁移的虚拟看门人的安全监视器。

  物理核心通过调用称为监视模式的新处理器模式在两个虚拟内核之间切换。监视模式可以通过激活ARM的安全监视器调用(SMC)指令或从硬件异常机制的子集进入正常世界模式。的IRQ,FIQ配置、外部数据中止,和外部指令预取中止异常都会导致处理器切换到监控模式。这些中断也可以被分配更高的优先级来保护安全软件免受拒绝服务攻击。


  TrustZone软件

  TrustZone硬件的补充,实现类似的分区软件体系结构。在这种体系结构中,所有与安全相关的功能,包括与安全外设的接口都是安全世界的所在,而正常世界则负责处理其他任务。

  在监视模式下执行的软件通常保存当前世界的软件映像,并在其切换的位置恢复该状态。然后执行异常命令的返回,以便在还原的世界中重新启动处理。

  安全世界托管所有安全应用程序,并提供通过监视代码仔细地引导到正常世界中的客户的服务。安全的世界只能运行经过广泛审查的代码。图2显示了TrustZone的软件体系结构。

  ARM TrustZone软件架构的图像

  图2:TrustZone软件体系结构。(由凯利讯半导体有限公司提供)

  这是没有必要开发复杂的软件提供了有意义的安全与TrustZone。事实上,有时编写复杂的软件可能会引入和隐藏更多的漏洞,从而破坏安全目标。方法的选择取决于使用的情况下,可以从一个复杂的完全可抢占的操作系统一套被动图书馆正常的世界提供按需服务。的TrustZone架构提供了一个安全的定时器和中断控制器的安全意识到建立一个可抢占的安全操作系统。

  安全启动对于保护IP至关重要,因为当所有组件加载时,MCU处于相对不利的环境中。片上ROM代码中起着关键作用的TrustZone的启动过程。它的作用是存储一个受信任的软件映像,该映像与OEM的私有密钥一起签名。在生产过程中,OEM专用密钥的公共对应程序只在MCU中编程一次。

  受信任的OEM软件映像引导二次引导加载程序,从而引导高级操作系统。这个过程建立了一个完整的信任链,因为第一级组件可以有另一个嵌入式公钥来验证它要加载的下一个组件,等等。这样一个安全的信任链可以一直扩展到加载安全应用程序。


  16位处理器的解决方案

  而TrustZone是特定的基于ARM的产品,同样的安全问题面临由MCU厂商与16位和自己的32位微控制器。

  他们面临的一个IP保护问题来自于设计和支持生态系统的流行,其中多个公司参与了系统级产品的开发过程。每个合作公司都有自己的IP保护。在前面描述的传统方法中,这个IP通常存储在自己专用的代码保护MCU的闪存中(图3)。

  意想不到的结果是一个相当昂贵的系统级产品因为BOM成本和设计时间增加了具有多个MCU。除了增加系统的成本外,这种做法也使采购部门更难以管理库存和交货时间。

  微芯片技术的IP保护挑战

  图3:设计生态系统创造了一个特殊的IP保护挑战。(微芯片技术提供)

  微芯片技术的解决方案是其codeguard安全技术,使多个企业能够安全地共享一个单一的MCU的资源。多个安全处理器可以集成到一个16位微芯片MCU或数字信号控制器(DSC)中。

  codeguard可在所有Microchip的16位产品。基本、中级或高级安全特性的启用程度主要取决于嵌入在微控制器中的闪存量。所有PIC24F器件,如pic24fj16ga002-i / SS,例如,可以实现基本的安全功能。PIC24H设备与64 KB片上闪存和更大的,如pic24hj12gp202-i / SS,可以实现先进的安全功能。中级安全可以dspic30f1010等装置实现dspic30f1010-30i / sp.

  codeguard是灵活的和强大的技术,可实现以下功能和流程:

  内存分割和访问权限

  用于支持安全引导加载程序/内核的段擦除/编程选项

  安全的中断处理

  安全开发和调试

  每个应用程序都有自己的定义和实现。然而,一个关键特性是内存分割和访问特权,如图4所示。

  微芯片技术codeguard内存分割图像

  图4:codeguard内存分割和访问权限。(微芯片技术提供)

  程序闪存,RAM和EEPROM可以分割成三个受保护的闪存段:

  引导段具有最高的访问权限,可以配置多种大小。一个小内存空间是一个简单但高度安全的引导加载程序所需的全部空间,而一个复杂的操作系统则需要更大的空间。引导段可以被赋予读写权限(如在Flash更新中)。它可以调用例程或跳转到任何其他段,而不管另一段是否受代码保护。它也可以重写自己的位置,这是一个可以存储和更新加密密钥的功能。如果伪写是开发团队的问题,那么可以完全禁用对引导段的所有flash写入操作。从其他段访问引导段可以被严重限制或相对开放。引导段还可以保护部分片上数据闪存以阻止其他段的访问。

  安全部分主要用于存储应用程序的IPS,如电机控制软件、声学算法和噪声抑制算法。它有许多大小选项,从其他两个部分(引导和一般)访问可以被限制。安全段可以保证部分片上RAM和片上数据EEPROM。当安全段配置为“标准安全”时,引导段可以不受限制地访问安全段。然而,当安全段配置为“高安全性”时,安全段和引导段具有相同的特权。

  总段如外设驱动程序的用户应用程序指定区域,中断服务程序(ISR),和大的查找表。它的大小基本上是片上闪存,减去引导和安全段的大小和256 KB。

  总结

  开源软件的广泛使用、物联网应用的扩散以及保护产品IP的战略重要性促使MCU供应商提供更强大、更具成本效益的安全解决方案。在某些情况下,专门用于实现安全的额外MCU是一个不错的选择。在多方的贡献IP,但内存分割为Microchip的codeguard技术提供了明确的使用优点。32位设计,ARM的TrustZone的几乎是现成的安全解决方案。



路过

鸡蛋

鲜花

握手

雷人

评论 (0 个评论)

facelist

您需要登录后才可以评论 登录 | 立即注册

关于我们  -  服务条款  -  使用指南  -  站点地图  -  友情链接  -  联系我们
电子工程网 © 版权所有   京ICP备16069177号 | 京公网安备11010502021702
返回顶部