针对物联网应用的安全微控制器剖析
投稿人:DigiKey 北美编辑
2020-01-13
在嵌入式设计中实现安全功能似乎是一项艰巨的任务,专门提供安全功能的微控制器 (MCU) 因此应运而生,它们能够在嵌入式设计之初实现安全功能。这是一件好事,因为毫无疑问,需要一种新型的嵌入式解决方案来保护物联网 (IoT) 应用。
ABI Research 的一项研究估计,去年售出的物联网设备中不到 4% 具有嵌入式安全功能。同时,这家市场研究公司预测,到 2020 年,近 25% 的网络攻击将针对物联网设备,从而使安全 MCU 成为热门话题。
但什么是安全 MCU?许多 MCU 声称提供安全功能,但仔细研究却发现只是吹嘘。本文将深入探讨定义安全 MCU 的特征,并详细介绍具体的特性和功能,以便于将安全 MCU 与仅宣称具有保护功能的 MCU 区分开来。
首先,MCU 供应商寻求以额外的安全保护层来补充其基于硬件的安全解决方案,从而增强对软件漏洞和网络攻击的防御能力。
浅谈两个 MCU 协作
随着在网络边缘运行的端点设备的出现,人们需要安全的空中下载 (OTA) 固件更新。Renesas 的 RX651 微控制器通过集成可信安全 IP (TSIP) 和可信闪存区域保护来满足此更新要求,支持通过安全网络通信在现场进行闪存固件更新。
TSIP 提供了可靠的密钥管理、加密通信和篡改检测,以确保针对窃听、篡改和病毒等外部威胁提供强有力的保护(图 1)。同样,集成的双存储区闪存使设备制造商更容易安全可靠地执行现场固件更新。
图 1:RX651 微控制器中的安全性构件(右侧中间)示意图。(图片来源:Renesas Electronics)
双组闪存使嵌入式系统设计人员能够通过 TSIP(用于保护加密密钥)与加密硬件加速器(例如 AES、3DES、RSA、SHA 和 TRNG)的组合来实现高信任根级别。并且有代码闪存区域保护来确保引导代码免遭未经授权的重新编程。
接下来,Renesas 与嵌入式系统安全专家 Secure Thingz 合作,对其 RX 系列 32 位微控制器进行安全配置。为此,Renesas 将支持创建了 Secure Thingz 的 Secure Deploy 架构,以简化跨设计和制造价值链的安全实现。
在与嵌入式安全解决方案提供商合作的 MCU 供应商中,另一家是 STMicroelectronics。这家芯片制造商正在与 Arilou Information Security Technologies 合作创建一种多层安全配置,其中的硬件和软件可以相互补充以监视数据流并检测通信异常。
STMicro 的 SPC58 Chorus 系列 32 位汽车微控制器嵌入了硬件安全模块 (HSM),可保护敏感的安全信息(如加密密钥),从而确保防止车身和网关应用中的通信总线受到入侵。HSM 提供基于硬件的信任根,以支持安全通信、OTA 更新和安全引导。
现在,ST 在 SPC58 Chorus 系列汽车 MCU 中增加了 Arilou 的入侵检测和防御系统 (IDPS) 软件,以检测交通异常并形成针对网络攻击的额外保护层(图 2)。IDPS 是一种软件解决方案,旨在监视控制器区域网络 (CAN) 总线并检测汽车设计中电子控制单元 (ECU) 的通信模式异常。
图 2:IDPS 软件检测交通和其他路边异常的方式。(图片来源:Arilou)
专用安全 MCU
以上部分简要介绍了集成安全功能以应对物理和远程攻击的 MCU。本部分将说明专用安全 MCU,通常称为安全元件,这些元件通过 I2C 或单线接口链接,充当主 MCU 的伴芯。
安全元件支持不具备安全功能的 MCU,它们基于专门构建的硬件,以提供针对各种威胁的安全框架。这些元件简单、便宜,并且可以减轻主 MCU 或 CPU 的安全相关任务(如密钥存储、加密加速等)负载。这就是它们也称为安全协处理器的原因。
在安全元件中,所有安全构件都在一个共同边界内工作,该边界将身份验证密钥与软件隔离,从而防止黑客进行攻击,如电源循环、时钟毛刺和边信道攻击。在工厂中将安全密钥和证书上传到安全元件中还可以防止 IP 盗用、设计克隆和产品仿冒。
以 Microchip 的 ATECC608A 安全元件(图 3)为例,其具有一个用于生成唯一密钥的随机数发生器 (RNG),同时符合美国国家标准与技术研究院 (NIST) 的最新要求。该元件还具有用于相互身份验证的加密加速器,例如 AES-128、SHA-256 和 ECC P-256。
图 3:ATECC608A 安全元件框图。(图片来源:Microchip Technology)
最后,用于密钥存储的安全 ROM 营造了一个黑客和欺骗攻击很难更改的不可改变环境,从而防止篡改和边信道攻击。总而言之,ATECC608A 提供的服务范围从安全引导到 OTA 验证,再到用于物联网和云服务身份验证的安全密钥存储和传输。
另一个专门用于安全功能实现的低成本 MCU 是 Microchip 的 SAM L11(图 4),可以保护功耗受限的物联网节点免受故障注入和边信道攻击等威胁的影响。该器件通过模块化 GUI 抽象出低级安全细节,使开发人员可以选择相关的安全功能,从而简化嵌入式安全功能实现。
图 4:四个使用 SAM L11 安全微控制器的安全用例。(图片来源:Microchip Technology)
SAM L11 抽象出的安全功能包括第三方配置服务。该器件还集成了 Arm 的 TrustZone 技术,这种技术隔离了微控制器内的安全代码和非安全代码。此外,SAM L11 还简化了与 Amazon Web Services (AWS) 等云服务连接时物联网节点的安全需求。
NXP 的 LPC5500 微控制器面向的是物联网边缘应用,是安全 MCU 的另一个实例。该器件利用设备唯一的密钥来创建不可改变的硬件信任根。密钥可以由基于 SRAM 的物理不可克隆功能 (PUF) 在本地生成,允许最终用户与 OEM 之间进行闭环事务处理。这种操作消除了第三方密钥处理的需求。
专用安全工具
尽管像 ATECC608A 这样以安全为中心的 MCU 包含了安全构件以促进受信任的生态系统,但它们并不能解决软件隔离问题。现在,在 MCU 上运行的软件数量正在持续增长,开发人员需要保护大型代码库免受恶意攻击。
例如,物联网设备都具有用于 Wi-Fi、蓝牙、TLS 等功能的协议栈,因此即使没有黑客窃取安全密钥,协议栈的损坏也会影响设备的运行。这就要求将任务关键代码与非任务关键代码分开,并将关键软件置于安全的环境中。
Arm 的 TrustZone 环境(图 5)将任务关键代码和协议栈与复杂的操作系统 (OS) 软件和大型代码库分开,从而防止固件后门进入安全密钥存储区。该环境创建了多个软件安全域,以限制对微控制器内部特定内存、外设和 I/O 组件的访问。
图 5:用于将软件隔离成安全和非安全区域的 TrustZone 技术基本框架。(图片来源:Arm)
上述所有三种安全微控制器 ATECC608A、SAM L11 和 LPC5500(图 6)都采用了 TrustZone 技术,可以将安全代码和非安全代码进行隔离。此外,ATECC608A 安全元件还可与任何支持 TrustZone 的微控制器一起使用。
图 6:LPC5500 微控制器中的 TrustZone 技术与 Arm Cortex M-33 处理器捆绑在一起,如图左上方所示。(图片来源:NXP)
在这里,还值得一提的是,安全 MCU 与 TrustZone 技术是相辅相成的,在某种意义上说 TrustZone 需要硬件保护,而像 ATECC608A 和 SAM L11 这样的安全 MCU 则在物联网设计环境中促成了这一点。另一方面,TrustZone 则有助于在以 MCU 为中心的嵌入式设计中构建紧凑的软件环境。
总结
通过对安全 MCU 进行剖析,我们可了解到它们如何在设计阶段简化嵌入式安全功能实现,以及如何绕过安全技术专业知识的陡峭学习曲线。这些专用 MCU 还可降低成本开销和功耗,对于高度受限的物联网设计,这是两个主要考虑因素。
当物联网设备的推出速度超过了安全部署这些互连设计的速度时,安全 MCU 可提供一条应对多方面网络威胁的可行途径。它们提供了一个简化的解决方案,配备安全设计生态系统,促进了点击式开发环境的形成。
免责声明:各个作者和/或论坛参与者在本网站发表的观点、看法和意见不代表 DigiKey 的观点、看法和意见,也不代表 DigiKey 官方政策。