众所周知,物联网(IoT)设备预计将无处不在。这些由半导体驱动的设备将推动每一个可想象的过程实现智能化。从简单的开灯到门诊护理或工厂控制等更复杂的过程,通过传感、处理和云连接,物联网设备将大幅提高工作效率。应用场景多种多样,它们的发展前景和影响力也将不可估量。
然而,互联设备的日益“智能化”也带来了安全挑战。例如,传统的照明控制相对原始,它是一个带有物理开关的电源电路。要对开关进行操作则需要物理上接触并操作开关。要避免未经授权的使用,只需要对开关进行简单的物理保护。现在考虑将照明控制看作是物联网设备的智能化身。光传感器、距离传感器、逻辑控制(通常在微控制器中实现)以及云应用无线连接取代了传统的物理开关。在智能化过程中,照明开关被转换成一个通过网络与应用服务器一起工作的嵌入式客户端。保护智能照明开关因此变得更加复杂。这种复杂性的提高将给所有物联网设备设计人员带来挑战。好消息是,带有安全保护的微控制器能够显著提高物联网设备的安全性,加快设计周期。
本文中的案例研究介绍了如何确定网络摄像头物联网设备的安全要求。顾名思义,这种设备已经实现互联,并广泛应用于众多应用,从简单的家庭网络摄像头到复杂的工业系统,不一而足。通过定义对网络摄像头的相关威胁并确定防御这些威胁的安全目标,从而制定了该设备的安全要求。本文介绍了基于Arm®技术的赛普拉斯PSoC® 6 MCU,是能够满足上述要求的可用解决方案。该方法同样适用于其他物联网设备。
保护物联网设备的想法可能令人望而生畏。初步研究很快揭示了有关密码学、威胁、安全目标和其他几个主题的大量知识。面对铺天盖地的信息,物联网设备设计人员通常会问的第一个问题是:“我如何判断所需安全性要达到哪种水平?”,紧接着是“我该从哪里入手?”
Arm提供了平台安全架构(PSA),帮助设计人员快速入门。通过利用PSA的一整套威胁模型和安全性分析、硬件和固件架构规范以及可信固件M参考实现,物联网设计师能够快速且轻松地实现安全设计。
通过使用双Arm Cortex®-M内核,结合可配置的内存和外设保护单元,赛普拉斯PSoC 6 MCU实现了PSA定义的最高保护级别。本文将PSA网络摄像头威胁模型和安全性分析(TMSA)应用于PSoC 6 MCU,演示如何针对网络摄像头应用进行安全性评估。
任何攻击的目标都是获取物联网设备的数据并以某种方式加以利用。如图1所示,分析过程的第一步是识别物联网设备处理的数据资产及其安全属性。
图1:设计安全的物联网设备时的分析过程
接下来的步骤是识别针对这些资产的威胁,定义抵御这些威胁的安全目标,并确定需求以满足安全目标。通过满足这些要求,基于微控制器的设计可为安全目标提供支持,并最终保留资产的安全属性。最后,应该对设计进行评估,以判定设计是否达到安全目标。通常情况下,这类评估会利用应用于设计的威胁模型来评估设备的攻击防御能力。
每个物联网设备的价值都建立在数据之上,以及如何对这些数据进行管理。数据资产在嵌入式系统中有多种表现形式。例如,固件定义设备的行为。其他示例包括用于控制设备的唯一ID、密码和加密密钥。此外,还有物联网设备生成的数据,例如来自网络摄像头的图像数据或来自传感器的环境数据。无论其形式如何,每种数据资产都具有各自的安全属性。安全属性是系统所依赖的数据资产的固有特性,是系统信任该数据资产的基础。机密性、完整性和真实性是三种常见的安全属性。
机密性
机密性指的是主动或被动保密或私有的状态。
机密性要求只有授权人员才能够读取数据资产。换言之,它是机密或私有的。密码是具有机密性安全属性的数据资产的常见示例。其他示例可能包括物联网设备生成的个人数据,如心率数据或位置信息。
完整性
完整性指的是完整且不可分割的状态
完整性要求数据资产在使用或传输时保持不变。完整性通常与建立引用的数据(如启动固件)相关联。启动固件确保MCU配置为应用可执行的已知初始状态。对启动固件进行更改可能会影响该初始状态,并存在操作或安全风险。
真实性
真实的性质(毫无争议的来源;不是副本;真实的)
真实性要求只有受信任的参与者才能建立数据资产的当前状态。当与完整性相结合时,真实性便能够建立信任,因此它是安全物联网设备的关键基石。在先前的启动固件示例中,数字签名可用于在升级固件时对真实性和完整性进行评估,以确保仅使用可信固件。
全面识别物联网设备中的数据资产至关重要,因为每个后续步骤都依赖于此步骤。举例来说,网络摄像头将具备以下数据资产:
每种数据资产都将具备与其相关联的安全属性。
威胁旨在破坏数据资产的安全属性并将其用于未经授权的目的。为了识别威胁,必须对物联网设备中数据的使用进行评估。例如,证书可用于访问物联网设备的网络。如果证书的机密性受到损害,则未经授权的参与者就可以使用它们来访问网络。这种攻击称为冒充攻击。通过系统地评估每种数据,可以创建潜在威胁列表。
此外,网络摄像头可能面临以下对其数据资产的威胁:
通过识别威胁,可以定义安全目标。安全目标是在应用级别定义的,本质上提供了实现需求。一些安全目标可以作为可信应用(TA)实现,它们在安全的MCU提供的隔离执行环境中执行。隔离执行环境全面保护TA及其使用/处理的数据。物联网设备应用本身在不安全的执行环境中运行,并通过使用处理器间通信(IPC)通道的API与隔离执行环境中的TA进行通信。TA则利用硬件中的可用资源(如加密加速器和安全内存)来为目标提供支持。
继续此示例,前面确定的威胁可以通过以下安全目标进行防御:
在这一方面,分析提供了数据资产、威胁和安全目标的逻辑连接模型。根据这张图,可以编译出安全MCU所需的功能或特性列表。当然,这个列表也可以用作特定物联网设备应用解决方案的实现标准。
生命周期至关重要
请注意,安全目标的要求可能会根据物联网设备的生命周期阶段(设计、制造、库存、最终使用和终止)而变化,也应予以考虑。
现在可以对这个示例进行分析:
每种数据资产都将具备与其相关联的安全属性:
注释:
选择正确的MCU
通过分析,以下是MCU所需安全功能的总结:
可信应用的隔离执行环境:虽然前面的分析侧重于安全数据资产,但每个物联网设备也有包含非安全数据资产的非安全任务/应用。MCU应提供一种强大的方法,对非安全处理和安全处理进行隔离。这一概念机场类似:登机区是安全且隔离的。只允许通过身份验证的个人在安全区域内进行操作(如登机)。MCU必须在非安全和安全的执行环境之间提供强大的、基于硬件的隔离。
安全元件功能:在隔离执行环境中,要存储数据资产,需要完成进一步的隔离,如对安全性至关重要的加密密钥。继续与机场进行类比,每名乘客都持有有效证件。MCU必须为信任根存储和相关安全服务提供进一步隔离。
加密:首选带有专用硬件加速器块和受控访问的MCU。加速器块有助于提高性能。加速器块的访问控制(隔离)有助于防止未经授权的程序访问,确保加密密钥保持在安全的环境中。
数字签名:数据资产的真实性和完整性可以通过使用数字签名算法(如ECDSA和RSA)进行评估。MCU固件是数字签名最常见的用例。MCU应提供基于硬件的散列和签名支持,以便在加载之前对固件镜像进行评估。
eFuses:对于保障设计的安全来说,不可变数据资产至关重要。它们通常用作系统行为的参考。典型示例包括生命周期名称、唯一标识符(UID)、制造商编号以及在物联网设备的生命周期中持续存在的其他参考。
本文提出了一种分析方法,用于确定安全物联网设备的需求。通过创建模型,将数据资产、其面临的威胁以及防御这些威胁的安全目标逻辑连接,可以导出一个需求列表,该列表可以用作解决方案的实现标准。
绝大多数物联网设备将建立在基于MCU的嵌入式系统上。这种发展机遇将催生出一类新型MCU,它们可提供安全特性和功能,用来维护数据资产的安全属性。赛普拉斯的PSoC 6安全MCU是此类新型MCU的先驱之一。PSoC 6 MCU架构专为物联网设备应用而设计,提供了能够延长电池使用寿命的超低功耗、高效的处理能力,以及可支持安全目标的硬件安全功能:
隔离执行环境:通过采用硬件隔离技术,PSoC 6安全MCU将安全操作与非安全操作隔离开来:
集成安全元件功能:PSoC 6中的硬件隔离技术支持独立的密钥存储和加密操作,除了隔离执行环境以外,还提供安全元件功能。
隔离硬件加速加密操作:包括AES、3DES、RSA、ECC、SHA-256和SHA-512以及真随机数发生器(TNRG)。
生命周期管理:在发生安全错误(如固件散列检查失败)时,基于eFuse的生命周期管理功能有助于确保安全行为。
图2:PSoC 6安全MCU提供三级隔离
随着低成本、易于设计且方便使用的无线云连接日益普及,物联网设备也将实现爆炸性增长。嵌入式系统发送和接收数据的能力是实现智能化的基本推动因素。不幸的是,这种能力也给物联网设备产生的高价值数据带来了巨大威胁。数据越有价值,物联网设备就越需要具备安全功能以为这些数据提供保护。诸如赛普拉斯的PSoC 6 MCU这样的安全MCU解决了安全物联网设备的相关需求。
作者简介:
Jack Ogawa,赛普拉斯半导体公司微控制器业务部高级营销总监;
Berenice Mann,Arm架构与技术集团高级营销员