雷竞技注册
消息

安全微控制器解决物联网安全问题

2019年7月23日通过加里·埃利诺夫

安全性越来越成为EEs在其组件选择中需要认识的东西。下面是三个安全微控制器的概述。

安全性越来越成为EEs在其组件选择中需要认识的东西。下面是三个安全微控制器的概述。

目前,2019年全球物联网上的互联网连接设备数量为数十亿,其中“B”级设备数量为数十亿,而且这个数字还在增加。这些点中的大多数都包含微控制器,它们中的每一个都代表了插入恶意软件的机会。

一旦基于物联网的系统在单个节点级别被破坏,麻烦才刚刚开始。把这个节点想象成一个门户,提供进入城堡的入口,不管它对整个系统来说多么小和不重要。一旦入口被入侵者占领,它就为入侵者提供了一个开口,可以对城堡造成不可估量的破坏。

更进一步地说,城堡不仅有一个城堡范围的防御系统,而且在每个潜在的入口点都有强大的力量。这就是基于物联网的“城堡”中一直缺少的东西,直到最近,系统范围内的安全性都很强,但根本没有防御措施。

新一代的安全微控制器实际上使门户军事化了。它们不再是没有防御的,而是在节点级别提供健壮的防御,以补充已经就位的系统级恶意软件防御。

安全微控制器制造商各自负责如何保护他们控制的物联网节点和他们所属的宏系统。

以下是他们提供的一些例子。

微芯片:SAML10/11

微芯片SAM L10和SAM L11系列大多数32位MCU基于Arm Cortex M23内核,具有64 KB的闪存和16 KB的RAM。该公司声称,在市场上任何可比MCU中,它们消耗的电量最低。

微芯片SAM L11微控制器的一个中央安全元件是TrustZone,它允许在单个微控制器上运行安全和非安全代码。闪存、SRAM和数据闪存分别划分为安全区域和非安全区域。

这种安排提供了认证库、IP和应用程序代码之间的硬件隔离。多个软件安全域只允许受信任的软件访问关键内存、外围设备和I/O通道。

内存中的非安全和安全(受信任)区域。图像修改自微芯片

每个区域(受信任/安全或非安全)的安全属性将定义存储在此区域中的代码的安全状态。安全地址和非安全地址用于不同的情况,即所涉及的内存和外围设备是暴露于安全软件中还是暴露于所有软件中。

还有一个车载密码模块支持:

  • 高级加密标准(AES)
  • 伽罗瓦计数器模式(GCM)
  • 安全散列算法

安全引导和安全密钥存储支持篡改检测。伪固件更新通过安全引导加载程序进行反击,以获得安全和安全的固件更新。

发展支助

这个SAML11解释专业评估工具包旨在帮助用户评估和原型系统,这些系统将基于SAML11。

SAML11解释专业评估工具包。来自微芯片

意法半导体雷竞技最新app

因为我们有更多在另一篇文章中详细描述STM32G4系列,这里我们将进一步介绍增强这些设备安全性的功能。

这个AES核心STM32G4使用128或256字节的密钥加密或解密从STM32G4设备流出或流入的数据。它减轻了MPU的巨大负担,因为完全用软件加密和解密数据会消耗大量的计算量。

AES核心正在运行。截图来自意法半导体雷竞技最新app

需要加密的某些交易类型:

  • 安全网络路由器
  • 无线通信
  • 智能卡数据的存储
  • 安全金融交易

STM32G4的安全存储区用于保护敏感代码和数据(如密钥),这些代码和数据在启动时只能执行一次,除非发生新的重置,否则不会再次执行。一旦安全,任何试图访问此内存区域的操作都会产生读/写错误,从而阻止访问。

内存中的这一区域对于保护固件和安全固件更新至关重要,在固件更新可能决定组件寿命的时代,这是一项关键功能。该区域分为两个气缸组,气缸组1分配用于安全固件执行,气缸组2保留用于安全固件升级。

内存保护功能可分为以下几类:

  • 读出保护(RDP)防止未经授权读取内存寄存器
  • 专有代码读取保护(PCROP)防止未经授权读取IP代码
  • 写保护(WRP)防止恶意覆盖内存内容
  • 安全用户内存确保固件的安全执行

NXP半导体

恩智浦LPC54S0xx该系列由Arm Cortex-M4内核供电,运行频率高达180 MHz,而绘图频率仅为100 uA/MHz。该公司的目标是人机界面和物联网应用。

设备的安全架构如下图所示。

NXP LPC54S0xx系列的安全架构框图。来自恩智浦

RNG(随机数生成)用于生成用于加密应用程序的不可预测的32位数字

AES,加密和解密生成器是大多数安全MCU的通用功能,LPC54S0xx也不例外。在这个设备系列中,AES支持128、192和256位密钥。

OTP(一次性可编程)内存由四个内存组组成,每个内存组的大小为128位。保留第一个内存库(OTP库0)。OTP组1和2可用于存储AES密钥。OTP bank 3用于客户可编程设备配置数据,如安全引导。

物理不可克隆函数(物理不可压缩功能)是一种基于SRAM单元的启动值提取数字“指纹”的方法。基于制造变化,存在一些随机性。经过处理,得到了真实的、基于硬件的MCU唯一识别密钥。

(安全哈希算法)LPC54S0xx系列采用较新的SHA-2实施例。其目的是验证消息。


读者会注意到这三个例子之间有许多相似之处,但问题在于细节。在检查中,需要注意的是,我们在本文中提到的数据表非常长和复杂,在开发开始之前需要进行大量的研究。

考虑到在MCU级别提供安全性所带来的广泛困难,这并不奇怪。这些设备是通往宏系统的网关,这些网关必须是开放的和可访问的,但同时,它们必须足够智能,以防“麻烦制造者”。MCU的安全性不断提高,但恶意因素也在不断增加。这是一场持续的竞争,看不到尽头。