Top
首页 > 正文

构建基于MCU安全物联网系统

嵌入式MCU软件工具公司IAR 推出安全IoT设备生命周期管理工具Embedded Trust,Segger公司提供安全编程设备,这些为基于MCU物联网系统安全开发和维护提供了坚实的基础。
发布时间:2019-11-11 09:38 来源:中国电子报 作者:中国电子报

面对增长迅速、应用碎片化的物联网系统,安全问题层出不穷。安全是物联网发展的一个热点,已成为物联网产品必备特性。基于MCU的物联网设备多数在节点和边缘,支撑了系统的数据采集和控制,重要性不言而喻。因为系统资源防护能力薄弱,成为黑客的主要攻击对象。可喜的是,基于MCU的IoT芯片的安全机制越来越完善,功能也大幅度增强,技术上正在从外置芯片向MCU内置安全功能的方向发展。

物联网安全旨在保护代码/数据和系统功能

物联网设备与应用虽然多种多样,但其架构本质上与嵌入式系统架构是相似的。今天,使用微控制器(MCU)构建的物联网系统无处不在。安全性首先要保护嵌入式固件不被非法复制或者篡改,设备数据不被盗取以及系统功能安全,即系统功能应稳健可靠。

在物联网世界中,攻击是现实存在的,攻击的本质是黑客利用系统漏洞来访问资产。防止黑客攻击是物联网安全的重要任务。对于环境检测警报设备或监控摄像机等物联网设备而言,拒绝服务攻击(DoS攻击)是一个主要威胁。攻击者希望通过成功的尝试获得经济收益,特别是如果攻击可以像物联网环境那样大规模地传播。联网设备对黑客非常有吸引力,因为它们可以远程访问。联网设备因为协议漏洞提供攻击机会,如果攻击成功,单个被黑客攻击的设备可能会危及整个网络的完整性。

物联网安全旨在保护代码、数据和系统功能。代码保护是保证固件知识产权及其完整性,数据保护(包括加密密钥)是保证用户数据的机密性并避免身份盗用。随着物联网设备访问云资源的数量倍增,设备的访问控制管理变得越发重要,物联网设备资产变得更加敏感。这里资产可以包括传感器数据(健康数据和位置信息)、用户数据(账号和密码)、交易记录和密钥,以及设备和用户身份等。最后,系统功能安全应受到保护,以避免设备故障或服务故障。

四项技术构建安全的物联网架构

构建安全物联网架构是为了应对多种形式的攻击,这样的系统架构必须在单个系统中实现多种类型的安全机制,应在设备硬件和软件应用两个方面考虑整体安全性。

一方面,如果设备没有外部入侵保护(例如开放了调试端口),则无法为机密应用程序运行提供可信计算环境。另一方面,如果设备没有抵御黑客通过应用攻击设备的能力,或者它允许进行完全设备访问,强大的设备自身保护也是无用的。完整的系统安全实现涉及设备保护机制以及一系列稳健性的安全应用,保护机制必须有必要的硬件支撑,还需要在固件开发方面付出巨大努力。它需要良好的软件技能和密码学知识,同时必须权衡开发成本和设备安全,以下是构建物联网安全架构几个关键技术。

一是TrustZone技术。Arm的Trust Zone技术在智能手机芯片中被大量采用,为手机安全提供基础保障。今天许多MCU芯片已经在使用基于Trust Zone的IP核,比如Arm Cortex M23/M33,它们内置了TrustZone技术,量产的MCU有Microchip SAM L11、NuMicro M2351、NXP LPC5500和STM32L5系列。

Arm的TrustZone技术将系统分为安全和非安全两种状态,有特定的命令使CPU在两种状态之间切换。为了区分和隔离安全代码,基于TrustZone技术的MCU存储器被分在了不同的区域,每一个区域都由硬件来保护不受软件攻击,任何从非安全区域向安全区域的访问,或者运行的代码和当前的系统安全状态不符,都会导致硬件错误发生。

围绕TrustZone核心技术,Arm联合5家独立安全测试实验室及咨询机构,推出面向IoT安全的“平台安全架构 (PSA) ”以及相关认证。PSA安全认证有三个级别,不同的认证过程和要求对应被认证产品不同的应用场景。国产芯片公司也在快速跟进TrustZone技术,紫光展锐最近推出基于PSA架构的双核Arm Cortex M33安全MCU。

使用TrustZone的优势是方便建立一个物联网安全生态环境。考虑到自主可控,以及物联网系统中信任硬件(SE)重要性,国内芯片企业在RISC-V开放指令集架构上开发类似安全技术,比如平头哥半导体最近推出的无剑安全平台。

二是安全通信技术。通信安全是物联网系统的重要部分,许多高端的嵌入式系统中已经有了SSL/TLS/SSH和IPSec协议软件,某些云计算服务需要安全的协议支持,比如AWS IoT需要物联网设备端支持TLS,否则无法正常接入。有些资源受限的基于MCU物联网设备无法支持基于TCP的TLS 安全协议,采用UDP的DLS可以提供安全通信链路,云端需要提供响应的接口,比如为Huawei LiteOS和华为OceanConnect IoT提供支持。

安全协议为构建物联网安全提供一个非常好的基础,安全协议的设计目标是为了防止数据报文被窃听(嗅探)、中间人攻击、回放攻击和未经授权与物联网节点通信的请求。

三是安全引导和升级技术。安全引导可以防止在引导过程中将没有授权的软件加载到设备上。安全引导一般分为两个阶段。第一个阶段是放在只读的存储器中,该阶段引导的主要任务是验证第二阶段引导的程序的真实性。第二个阶段引导程序是放在FLASH存储器中,它要验证加载的操作系统和应用程序确实来自可信的来源。

安全引导过程一般要靠数字签名来保护代码的真实性。代码的映像由OEM在设备制造时使用自己的私钥进行签名,然后设备节点使用OEM的公钥来验证代码映像签名。

安全固件升级过程与引导类似,在升级过程中要验证新代码的映像已经是由OEM签名了的。如果验证无效,系统就会丢弃文件并停止升级。只有有效的映像文件才能被接受,而且随后被保存到设备存储器中。

以智能门锁为例,我们看一下升级中的两种安全隐患。第一是智能门锁自身的可靠性,第二是来自对智能门锁的外部攻击。门锁自身的可靠性,比如在升级过程中设备电源掉电了,使得更新后的程序代码无法运行。外部攻击,比如黑客发送早期有缺陷的OTA 升级包,此外还有黑客对于门锁电子部件的物理攻击,比如盗取存储器中的密钥。

物联网操作系统,比如Amazon FreeRTOS与基于云的AWS IoT平台,提供设备管理和远程监测,设备管理服务包括对OTA更新的支持。它利用AWS内置的服务,比如亚马逊用于代码签名的Certificate Management 和身份访问管理(IAM)。Amazon FreeRTOS嵌入式软件提供在MCU上执行的OTA代理,协调OTA操作,从云端下载新升级包,验证升级包并处理在下载期间的任何中断。这个升级包的传输借助加密的MQTT通信链路,OTA代理机构为满足MQTT报文格式要求,要对升级包再次封装,好处是不需要另外借助HTTP连接上的TLS 链路。

四是安全工具、软件和服务。基于MCU的物联网安全开发需要软件和工具的支持和服务,MCU公司提供基础安全软件,比如NXP Secure Boot Tool和TEE 配置工具。许多物联网操作系统集成了安全协议,多数支持安全的OTA机制。新出的TencentOS tiny安全框架提供了DTLS和TLS安全协议,加固了COAP及MQTT传输层,可确保物联网终端在对接腾讯云时实现安全认证和数据加密;安全框架还提供与腾讯云IoT Hub配套的密钥认证方案,确保资源受限设备也能在一定程度上实现设备安全认证。

安全操作系统方面,NXP推荐源自FreeRTOS的SafeRTOS,ST与Arm和安全操作系统供应商Prove&Run合作,于2019年10月在Arm TechCon上进行了STM32L5的演示。NXP的LPC55S69-EVK评估板支持MCUXpresso集成开发环境和开发软件,包括外设驱动程序、安全和连接中间件,还包括基于Amazon FreeRTOS的演示和基于Arm TrustZone的安全示例。嵌入式MCU软件工具公司IAR 推出安全IoT设备生命周期管理工具Embedded Trust,Segger公司提供安全编程设备,这些为基于MCU物联网系统安全开发和维护提供了坚实的基础。

中国企业在物联网安全服务上颇具特色,近期360北极星团队、梆梆安全和纽创信安介绍了他们的安全服务和解决方案。从事移动安全的企业也在转向物联网领域,比如国民技术32位高性能安全MCU芯片已经在和阿里IoT云以及中移物联网合作。

物联网安全与行业应用密切相关,某些应用是物联网安全高危区,比如智能家居、网联汽车、智慧城市、智能制造和智慧医疗,物联网上的潜在威胁既可谋财害命,也可对国民经济和生活造成重大危机,这些均需引起企业和主管单位的高度重视。(中国软件行业协会嵌入式系统分会 何小庆

合作站点
stat
Baidu
map