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

博客

随着安全漏洞的增加,基于硬件的MCU解决方案占据中心地位

已有 1208 次阅读2018-4-17 10:43 |个人分类:电子技术| 硬件, MCU, 解决方案

       事实上,所有基于MCU的嵌入式系统——汽车、无人机、USB棒、车库门开启器、数码相机,甚至打印机墨盒等消耗品都容易受到安全攻击。

  越来越多的文件安全漏洞使用物联网作为切入点,提高了联网设备设计社区的安全意识。通常情况下,这些故事涉及影响消费者和最终用户的违规行为。然而,其他类型的安全威胁至少对设计工程师同样重要,而且最重要的是涉及盗窃、篡改或破坏知识产权。

  互联网可能已经成为微控制器系统中最流行的切入点,但它并不是唯一的一个。安全或不安全的诊断端口总是潜在脆弱的,因为汽车行业主要是通过“调谐器”社区的活动发现的。任何无线(或有线)通信链路也可以用作入口点。

  即使是独立的MCU设备(或其相关ROM)也会受到篡改和IP窃取。在其他技术中,逆向工程专家已经开发出芯片掩模层被仔细研磨直至ROM层暴露的技术。通过仔细分析哪些交换机被炸毁,其中包含的固件代码可以推断出来。

  MCU供应商已经采取了多种方法来增强运行它们设备的固件的安全性。虽然这些措施使固件更安全,但实现这些要求需要系统设计团队理解它们是如何工作的,并正确地实现它们。这涉及到系统物料清单(BOM)的额外努力、时间和成本。计算机密集的安全措施,如数据加密,可能需要更强大的微控制器。


  安全策略

  软件解决方案通常被视为一个有吸引力的选择,因为它们相对容易实现,而且实际上是免费的。有时他们是足够的,但通常情况下,“快速,廉价,容易”的解决方案,他们承担更多的风险。

  安全算法的关键组件,如加密密钥,存储在MCU的现有内存资源中,如EEPROM或闪存。但是,如果内存设备本身是无担保的,密钥信息仍然处于危险之中。还有一种可能性,即算法本身可能有实现错误,使其容易受到攻击。

  基于软件的解决方案的一个流行变体是向系统的客户端添加基于硬件的安全,并在主机端使用软件安全性。这种硬件——可以存在于客户端MCU或附加芯片上——用于存储加密密钥并执行部分或全部安全算法。关键数据由逻辑和物理机制相结合,通常由制造商保密。这种方法是对中间人攻击的有效防御。由于主机侧密钥存储在无担保资源中,因此它们仍然可能受到更改或被盗。完全在硬件中实现的MCU安全,在系统的每个关键点都有防篡改密钥存储,包括加密,并在硬件中执行安全算法。

  实现基于硬件的MCU安全的一种流行方法是为MCU供应商提供专门设计的处理器和外设。实现不同,但通常安全处理芯片集,提供更低的性能和增加BOM成本。


  硬件加密

  微芯片技术通过集成微控制器上的加密引擎,向一些流行的PIC设备提供硬件安全性。该引擎还执行身份验证以防止中间人攻击。举例16位PIC24F“GB2”和32 PIC32MZ。

  除了增加安全性,结合发动机卸载单片机软件加密算法的执行任务。Microchip的硬件引擎可以按顺序或并行执行加密和认证。采用基于内部描述符的DMA对安全关联数据和数据包指针进行有效编程。智能状态机根据协议选择和包边界调度加密引擎。

  主要功能包括:批量密码和散列引擎,集成的DMA到非负载处理,每个缓冲描述符的安全关联,以及并行执行某些函数的能力。

  图1显示的PIC32MZ算法和性能指标。性能指标给出了加密的速度,多少CPU卸载获得相比于软件算法执行的指示。

引擎/算法

性能的因素

(Mbps /兆赫

最大Mbps

(pbclk5 = 100 MHz)

十二月14.41440
TDES6.6660
AES-1289.0900
AES-1927.9790
AES-2567.2720
MD515.61560
SHA-113.21320
SHA-2569.3930

  图1:微芯片技术的集成加密引擎支持八种安全算法。(微芯片技术提供)

  Microchip提供的32位加密引擎装置dm320006-c入门套件和16位器件的dm240314演示套件。


  扩展内存选项

  德克萨斯仪器最近推出的嵌入新的MSP430 FRAM MCU使用铁电随机存取存储器系列单片机存储器的一种新方法(FRAM)代替闪光灯。FRAM结合Flash和SRAM的属性。像闪存一样,它是非易失性的,但像SRAM一样,它提供快速、低功耗的写入。它的重写耐力大于1015个周期。

  存储在帧数据更不容易受到逆向工程攻击比Flash EEPROM由于其耐辐射和电磁场。此外,它的功率和访问速度优于闪存。

  FRM的写入速度为13 KB 10毫秒相比1的Flash和其平均有功功率测量(测量为16位字访问)是100μ/ MHz相比,Flash的230μ/兆赫。

  它的辐射和电磁场的阻力使存储器尤其是防止使用显微镜和电压操作的物理攻击有价值。

  在这些类型的攻击中,黑客试图改变应用程序代码本身,而不是试图在传输数据时修改数据。为了实现这一点,他们首先获得应用程序代码的映像,反向工程,最后在系统中成功地覆盖修改版本。

  FRAM抗拒显微镜攻击因为点读写线物理上位于极化分子的两边,这意味着层芯片可能会破坏记忆的内容。

  防止电压操作很大程度上是由于铁电存储器写周期获得的速度。在这些攻击中,设备的输入电压被操纵到标准范围之外,通过蛮力来编程位单元。这是很难提供棕色和过压保护电路,可操作长于所需的时间来编程EEPROM比特单元。但是,因为框架写的快得多,这种保护电路可以被配置为创建平安回写电路允许的框架来完成书写过程中正确。


  确保编程端口

  MSP430 FRAM MCU还必须确保所使用的程序的设备端口的有效手段,这是黑客具有吸引力的切入点。通常,这些都是JTAG接口和引导加载器(BSL),它主要用于固件升级。

  在FRAM编程熔丝签名,TI的FRAM MCU可以安全JTAG使用密码或完全禁用它。当JTAG端口被禁用,访问设备只使用BSL是可能的,这就需要密码才能读取或接收数据。

  密码是中断向量表的内容。MSP430 FRAM器件提供的密码不正确,将导致整个框架代码区被大规模擦除。增加密码强度的另一种方法是通过有效的地址值填充中断向量表中的任何未使用的地址空间,或者通过创建一个双跳转表,使执行暴力攻击变得更加困难。

  TI提供的MSP430 FRAM器件的msp-exp430fr5739开发工具包。该板兼容许多TI低功耗射频无线评估模块。


  安全的密钥管理

  另一种方案是由Atmel公司提供的一种方案,用廉价的芯片在EEPROM存储密钥、密码和其他数据,从而实现加密安全。安全密钥管理器使用各种物理和逻辑机制,如随机数生成器,使设备防篡改,并且能够实现身份验证和加密。

  由于它们是自治设备,所以它们从MCU中去除了100%的计算负担。整个系统设计时间也大大缩短,因为大部分的加密和保护方案工作是预先由芯片供应商完成的。

  Atmel的cryptoauthentication ATSHA204系列器件提供此选项的设计团队。该芯片使用SHA-256哈希算法增强消息认证码(MAC)和基于散列的消息认证码(HMAC)选项。其他能力包括:

  256位密钥长度

  存储多达16个加密密钥

  保证唯一的72位序列号

  内部的,高质量的随机数发生器(RNG)

  密钥和数据的4.5 KB EEPROM

  512位OTP(一次性可编程)固定信息位

  多个I/O选项

  独特的72位序列号是实现多功能的ATSHA204的关键。使用设备支持的加密协议,主机系统或远程服务器可以证明序列号是真实的,而不是副本。

  的ATSHA204的能力产生高质量的随机数是通过设备的密码协议以及其他安全策略。灵活的命令集简化了实现防伪和防克隆保护、固件IP保护和验证、安全数据存储、用户密码检查和会话密钥交换的任务。


  认证

  打击山寨产品的一个有效策略是实现与真实产品协同使用的附件的认证过程。当电缆、插件、电源和电池等常用附件使复印机产品失效时,就会暴露出假冒伪劣产品的性质。

  同样,复印机配件不能与原产品配合使用。复印机配件总是导致收入的损失,但未经授权的附件,如电池或医疗设备,不完全符合规格,也可能造成严重损害。在客户端向系统添加安全密钥管理器是实现高安全级别的第一步。

  额外的安全性可以通过在主机系统如图2所示得到ATSHA204。主机为客户端(附件)生成一个随机的挑战,并评估其响应。

  一个额外的安全利益是来自这个事实,因为主机的挑战是利用其ATSHA204产生,甚至主机处理器并不知道它的响应。将处理器与安全功能隔离开来,可以使用廉价的非安全性硬处理器,而不提供攻击者可以提取系统机密的弱点。

  Atmel安全密钥存储映像

article-2015february-as-security-breaches-rise-fig2.jpg

  图2:包括附件和主机上的安全密钥存储,提高了系统级安全性。(由Atmel公司提供)


  固件验证

  虽然许多安全威胁会损害公司的收入或损害其品牌,但设计工程师最担心的是试图复制或损坏MCU的固件,该固件通常存储在闪存中。有效的防御是一个安全的引导过程,确保只有真正的固件才能在系统上运行。

  安全的靴子是使用验证代码或签名存储在闪存中以及引导代码来实现的。签名是在制造或代码更新是加密哈希函数的输出–不可逆转的算法“凝结”的启动代码到一个紧凑的时间创建的,但独特的数据,典型长度32到128个字节。图3说明了如何计算和密钥存储卸载到硬件密钥管理装置(ATSHA204)。

  爱特梅尔安全启动映像

article-2015february-as-security-breaches-rise-fig3.jpg

  图3:安全引导是保护MCU固件的极好方法。(由凯利讯半导体提供)

  在系统启动时,引导序列的一部分要求安全设备验证伴随引导代码的签名。只有当验证成功时,操作程序才能执行,并允许系统正常运行。即使修改一个位的操作程序也需要一个新的验证签名。这两个代码图像和下载的媒体文件都可以使用一个加密密钥来存储,该密钥只能在一个经过身份验证的系统上使用。


  结论

  为了应对安全漏洞和山寨产品的激增,MCU供应商在芯片中提供基于硬件的安全解决方案。虽然比基于软件的解决方案更昂贵,但即使是最不可能的,即使是最顽固的入侵者,它们也更加困难。解决方案包括嵌入式加密引擎的内存技术,如FRAM自主安全芯片将单片机从恶意干扰。然而,没有一种适合所有人的解决方案。设计团队必须为应用程序创建最合适的安全策略。


路过

鸡蛋

鲜花

握手

雷人

评论 (0 个评论)

facelist

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

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