0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

嵌入式系统中远程系统更新的要求及方案分析

电子设计 来源:郭婷 作者:电子设计 2019-04-06 07:45 次阅读

嵌入式系统是许多工业应用程序的核心,这些应用程序需要较长的产品生命周期,同时响应功能更新和错误修复。特别是安全问题可以推动频繁代码更新的要求,以保持领先于黑客和恶意入侵者。包括远程更新设施 - 如果它可以被保护 - 可以显着延长几乎所有嵌入式系统的使用寿命。

本文将通过展示几种不同的要求和方法,探讨当代嵌入式系统中使用的各种远程系统更新。还将讨论对响应速度更快的嵌入式系统的未来要求,以及可以确定未来增强方向的MCU功能的最新创新。

保护嵌入式系统更新

嵌入式系统通常连接到网络,以便将信息从“边缘”设备传输到中央控制器。中央控制器又连接到存储单元,网关和流量聚合单元,所有这些都使用网络连接。为了简化代码更新和错误修复的安装,互连网络还用于将更新下载到可编程设备。这些更新可以简单地成为适应环境变化的新参数,也可以是提供新功能的完整代码“替换”。

更新需要以安全的方式完成,否则攻击者可能会劫持更新过程,用自己的程序替换可靠的代码。这些攻击通常会留下在未来更新之前执行的启动代码,以便即使在尝试更新“受感染”系统之后插入的代码也可以保留。有几种方法用于保护远程更新,它们的复杂程度各不相同,具体取决于系统作为黑客攻击目标的价值。显然,处理财务数据的系统显然需要保护,但即使是您可能不认为易受攻击的系统,也可能需要提高安全性。通常它是一个更复杂系统外围的元素,为攻击者提供了一个简单的路上。例如,智能恒温器或建筑物控制系统可以允许攻击者轻松地进入数据聚合子系统,然后进入金融机构的中央控制器。

远程更新的安全方法

在嵌入式系统中保护数据的最常用方法之一是使用加密和解密来保护敏感数据。标准加密函数和安全关键字通常用于安全算法,嵌入式系统需要提供这些功能才能发送和接收安全数据。诸如AES(高级加密标准)和DES(数据加密标准)之类的安全算法是您应该寻求支持安全通信的最常见功能。

边缘节点越来越频繁地使用无线通信最大限度地降低安装成本并提高部署灵活性。这些设备还可以使用安全的远程更新功能,甚至可以安全地传输常规数据。具有支持通用加密标准和无线连接的嵌入式硬件的设备将非常适合这些应用。

具有这些特性的基于MCU的设备的一个示例是Atmel SMART SAM R21无线MCU。器件的框图如图1所示。图的左侧是完整器件,无线部分显示在顶部,MCU部分显示在底部。在图的右侧是MCU部分的更详细视图,显示了处理器和所有外设模块。这两个部分(实际上是独立的设备)使用SPI端口连接,使通信非常简单。

嵌入式系统中远程系统更新的要求及方案分析

图1:Atmel SAMR21无线MCU框图。 (由Atmel提供)

MCU可用于管理无线通信,并使用内置于无线设备中的安全算法(所有数据通信均支持AES)安全远程更新和安全数据通信可无缝实施。在一些系统中,可以使用片外存储器来维护多个“引导”图像。在这些情况下,外部图像也会被加密,因此黑客无法轻易地复制(甚至替换)具有硬件访问权限的系统。

以太网连接:主干线

无线连接非常适合边缘节点设备,但一旦数据聚合,以太网通常用于实现骨干网络以承载更高带宽的流量。实现多个以太网连接的MCU(主要支持IEEE1588的工业以太网)对这些类型的系统最有用。当需要在本地控制或监控这些系统时,通常需要大量的片外存储器,各种串行接口和高级人机界面(HMI)。

几个现代MCU系列支持这些关键功能,飞思卡尔VF6xx MCU系列提供了一个很好的说明性示例(图2)。这些器件具有基于ARM Cortex-M4和Cortex-A5架构的双CPU。这些处理器提供了适用于管理高带宽通信,数据聚合,数据存储和HMI控制的重要处理能力,可满足最高级的应用要求。 ARM处理器支持标准的ARM TrustZone安全功能,可以轻松保护和授权机密数据和进程。

嵌入式系统中远程系统更新的要求及方案分析

图2:飞思卡尔VF6xx MCU框图。 (由飞思卡尔提供)

在最安全的应用中,VF6xx上可用的双处理器可用于将安全相关功能与非安全相关功能分开。通过仅使用指定处理器使用可信内存位置和加密强大的安全进程,远程攻击成功就变得更加困难。 VF6xx还具有先进的篡改检测功能,可用于关闭以未经授权的方式访问硬件的尝试。实现多层安全性是保护嵌入式系统免受最具攻击性攻击的最佳方法之一。当您需要强大的实施时,请查找具有多层安全性的设备。

其他重要功能

为嵌入式应用选择MCU时,考虑支持目标应用所需的其他功能仍然很重要 - 而不仅仅是与远程更新相关的功能。事实上,许多现代MCU现在支持相当强大的远程功能,您通常可以开始搜索,假设中高端MCU将包含基线远程更新功能。

例如,让我们考虑一个需要大量模拟接口功能的健康和保健应用程序。 STMicroelectronics STM32F3x系列MCU支持多种模拟功能,包括16通道12位ADC,9通道基于差分通道sigma-delta转换器ADC,3通道12位DAC和2个通用比较器。这些资源适用于各种医疗和健康应用,其中需要模拟传感器来测量心率,血液氧合和呼吸(仅举几例)。

STM32F3x具有一个有用的启动配置模式选择功能,如下面的图3所示,它可以使用闪存,系统内存或嵌入式SRAM作为启动位置。此工具与片上存储的嵌入式配置引导加载程序(在生产期间由ST编程)配合使用,以简化远程更新。

嵌入式系统中远程系统更新的要求及方案分析

图3:STMicroelectronics STM32F373启动选项。 (由STMicroelectronics提供)

随着远程更新变得越来越流行,许多MCU支持引导加载器功能,该功能采用片外映像(通常通过串行接口提供),然后将映像编程到闪存中。 STM32F3x可以使用USART端口或USB端口作为数据源。这大大简化了远程更新过程,并且无需自己编写此类代码。可以实现额外的安全层(在STM32F内部或使用外部安全存储器设备),具体取决于目标应用的要求。

并非每个MCU都具有基于硬件的安全性

在查看低端MCU时,支持高级硬件加密功能并不常见。这并不意味着当远程更新功能很重要时我们无法使用这些设备。通常,低端MCU与其他设备结合使用,可能作为控制或监控较大系统的环境方面的智能外围设备。在这些情况下,可能存在一种通信和控制低端MCU的高端设备。高端设备可以提供与安全相关的功能,并且可以在其他几个设备上使用。这可以更具成本效益,并且可以简化远程更新的实施和管理。

举个例子,我们来看一个需要一个功耗极低的智能外设的应用,它可以测量通信机架中的气流,温度和电压。像Renesas RL78/G14这样的MCU(如下图4所示)具有定期测量,收集和存储记录数据以及在测量超出范围时与中央控制器通信所需的资源。控制器可以使用串行接口来更新配置信息,可能是为了简单的错误修复“补丁”,甚至是片上程序的完整更新。

嵌入式系统中远程系统更新的要求及方案分析

图4:瑞萨RL78 MCU的框图。 (由Renesas提供)

在RL78/G14上,片上数据闪存可用于存储记录的数据以及代码更新,补丁或配置信息的更改。数据闪存通常更容易编写,使其成为永久存储更新信息或更新代码存储器之前的阶段的有效位置,这需要更长时间并且更复杂。寻找机会使用数据闪存来简化远程更新,作为暂存区域或修补程序位置,以便进行简单的错误修复。

结论

远程更新,无论是简单还是复杂,都可以显着延长嵌入式系统的寿命。不要忽视实施各种分层安全功能以保护远程更新免受恶意实体干扰的需要。现代MCU正在添加新功能,以帮助简化嵌入式系统的远程更新,因此请确保您了解目标MCU上可用的功能。

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • mcu
    mcu
    +关注

    关注

    146

    文章

    16022

    浏览量

    343687
  • 嵌入式
    +关注

    关注

    4983

    文章

    18295

    浏览量

    288594
  • 无线
    +关注

    关注

    31

    文章

    5304

    浏览量

    171476
收藏 人收藏

    评论

    相关推荐

    嵌入式系统和实时系统开发的关键工艺

    随着嵌入式实时系统复杂度的提高,设计工程师在定义和分析系统初始要求时必须认真考虑软硬件的协同关系。通常设计工程师还必须权衡
    发表于 07-11 07:53

    如何利用FPGA和嵌入式系统设计远程监控系统

    系统立足于利用Intemet实现核环境信息的远程采集。告诉大家,如何利用FPGA和嵌入式系统设计远程监控
    发表于 08-02 08:07

    嵌入式系统怎么实现远程监控和升级?

    网络、以电子邮件为载体的嵌入式系统远程监控和升级方案,达到远程修改系统参数、索取
    发表于 08-02 06:49

    如何设计嵌入式系统掉电保护方案

    嵌入式系统设计过程中,系统的掉电保护越来越受到重视。如何设计嵌入式系统掉电保护方案?这个问题急
    发表于 08-09 07:48

    嵌入式系统和实时系统开发的关键工艺是什么?

    随着嵌入式实时系统复杂度的提高,设计工程师在定义和分析系统初始要求时必须认真考虑软硬件的协同关系。通常设计工程师还必须权衡
    发表于 08-23 06:45

    什么是嵌入式系统 嵌入式系统定义

    嵌入式系统的概念有多种不同的说法,常见的一种说法是:嵌入式系统是以应用为中心,以计算机技术为基础,软硬件可裁剪,对功能、可靠性、成本、体积和功耗有严格
    发表于 09-23 15:57

    求一种视频检测和远程控制的嵌入式系统设计方案

    求一种视频检测和远程控制的嵌入式系统设计方案
    发表于 05-27 06:38

    嵌入式系统有何功能

    嵌入式系统课程大作业设计报告设计题目基于Arm-Linux的嵌入式计数器设计一、需求分析1.根据系统功能,进行
    发表于 10-27 10:11

    嵌入式系统有哪些应用

    经过这些年的发展,嵌入式的功能不断强大,嵌入式的应用领域也更为宽泛,嵌入式在当前主要是指为了各种具体应用功能的实现,按照基本计算机技术,在硬件方面和软件方面均可裁剪,不断适应各种应用系统
    发表于 10-27 06:19

    嵌入式系统的特点

    总述:嵌入式系统在这里主要是做了简单科普,然后根据嵌入式系统的特点重点讲嵌入式系统的需求
    发表于 10-27 06:53

    分析嵌入式系统的技术特点

    基于嵌入式系统的概念,阐述嵌入式系统的关键技术、嵌入式开发以及广泛的应用。分析
    发表于 10-27 09:51

    嵌入式系统嵌入式操作系统对比分析哪个好

    1、嵌入式系统嵌入式操作系统  1.1嵌入式系统  嵌入式
    发表于 12-20 07:58

    测试系统中远程控制和嵌入式控制的区别是什么

    控制,一种是嵌入式控制。今天我们就来聊聊在测试系中远程控制器和嵌入式控制器有什么区别。远程控制器 对于PXI系统来说,如何来实现对仪器的
    发表于 12-21 08:12

    一种基于嵌入式系统远程程序更新机制

    提出了一种基于嵌入式系统远程程序更新机制,通过一个具体的嵌入式远程数字监控
    发表于 08-26 11:47 14次下载

    嵌入式系统中远程更新的重要性

    远程更新对于连接的嵌入式系统来说是一项越来越重要的功能。能够通过互联网远程修复错误或添加功能,节省了服务呼叫的大量费用,并且当部署了数千个
    的头像 发表于 08-08 16:28 2384次阅读
    <b class='flag-5'>嵌入式</b><b class='flag-5'>系统</b><b class='flag-5'>中远程</b><b class='flag-5'>更新</b>的重要性