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

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

  • 《中国电子报》(2019 MCU 专题)2019年11月8日
  • 中国软件行业协会嵌入式系统分会 何小庆

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

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

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

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

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

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

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

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

TrustZone 技术

ARM 的 TrustZone 技术在智能手机芯片中被大量采用,为手机安全提供基础保障。今天许多 MCU 芯片已经在使用基于 TrustZone 的 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 和华为 Ocean-Connect 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 云以及中移物联网合作。

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

发布了299 篇原创文章 · 获赞 1219 · 访问量 159万+

猜你喜欢

转载自blog.csdn.net/luckydarcy/article/details/103012746
今日推荐