当前位置:首页 > 嵌入式 > 嵌入式硬件
[导读]在这些功能中,用于对称和非对称加密的基于硬件的加速器提供了安全通信所需的基础机制。过去认为加密加速器足以实现数据保护等基本安全特性。

在这些功能中,用于对称和非对称加密的基于硬件的加速器提供了安全通信所需的基础机制。过去认为加密加速器足以实现数据保护等基本安全特性。但如今,用户期望获得更全面的安全特性,这使得生命周期安全性需求更为复杂,从制造中的配置延伸到现场调试,以及安全引导和安全固件更新。

为了实现这种扩展保护,需要一套远高于硬件级别的全面安全协议和策略。即便如此,任何安全协议的有效性都与是否存在合适的硬件机制息息相关,因为只有硬件才能既能加速执行,又能消除或减少任何互连设备中不可避免会出现的威胁面。

LPC55S6x 架构具有一系列能力,可提供这种基于硬件的生命周期安全性支持,首先是支持 Arm TrustZone® 技术,另外还提供实现切实有效的安全水平所需的多层保护。

TrustZone 支持

TrustZone 能够将代码执行和数据隔离到特定的安全域和非安全域,从而为安全性打下基础。在程序执行期间,主 Cortex-M33 内核在若干不同执行状态(与不同的代码执行模式关联)之间切换。所述 CPU 状态和代码执行模式包括:

安全特权,用于执行内核级代码或设备处理程序

安全非特权,用于执行安全的用户代码

非安全特权,用于执行典型的系统调用

非安全非特权,用于执行典型的用户应用程序

特权执行与非特权执行的区别对整体操作系统的稳健性至关重要。但就本文的目的而言,我们可以将这些执行模式统合起来,只关注安全和非安全操作之间的区别。在 TrustZone 架构中,从安全 CPU 状态切换到非安全 CPU 状态会触发硬件支持的限制,让内核访问程序存储器或数据。

在安全状态下,内核可以访问安全和非安全存储区中的数据,但不能访问非安全存储区中存储的代码(图 1 左)。在非安全状态下,内核只能访问非安全存储区中的代码和数据(图 1 右)。

 

 

图 1:通过支持 Arm TrustZone,NXP 的 LPC55S6x 微控制器确保工作在安全 (S) 状态(左)的内核只能获取 S 状态程序存储器的指令,而工作在非安全 (NS) 状态(右)下的内核则无法访问 S 状态存储器中存储的代码或数据。(图片来源:NXP Semiconductors)

LPC55S6x MCU 架构在最低级别的总线访问上执行这种控制,从而减小常见的威胁面,例如攻击者使用缓冲区溢出让非安全的非特权代码获得对“受保护”区域的后门访问权。这里,NXP 将 Arm TrustZone 安全属性单元 (SAU) 与其自己的实现定义属性单元 (IDAU) 结合使用,旨在完全隔离安全内核代码与应用程序代码。SAU 提供安全状态(安全或非安全)并判断指令是否来自允许的存储器区域。IDAU 与设备属性单元 (DAU) 接口以提供更高的粒度,同 SAU 一道确定特定地址的安全属性。这样,总线请求便能以适当的安全性和特权级别进行传送(图 2)。

 

 

图 2:NXP 的 LPC55S6x 微控制器总线事务级别的访问保护,使用 Arm TrustZone SAU 及其自己的 IDAU 来确保系统总线请求在适当的安全性和特权级别运行。(图片来源:NXP Semiconductors)

安全存储和外设

TrustZone 保护机制在运行时隔离应用程序代码和数据,对使用的数据进行寻址(经典数据安全原则之一),其中也包括静态数据和传输中的数据。这些原则通常与企业级数据问题相关,但也适用于嵌入式系统中的代码和数据。这里,若一个典型嵌入式系统使用微控制器的集成闪存存储固件映像、代码和数据,这可能成为明显的攻击途径。LPC55S6x 器件通过名为 PRINCE 的加密/解密算法来消解这种威胁。[阅读说明:PRINCE 不是首字母缩略词。]

由于其速度快且资源要求极低,PRINCE 算法非常适合嵌入式系统中的安全实现。在 LPC55S6x 器件中,PRINCE 算法通过硬件实现,实时运行,可以在读取或写入数据时即时解密或加密数据。与其他很多加密算法不同,PRINCE 算法不需要使用 RAM 来保存原始数据或中间结果,这就又消除了一个安全漏洞。因此,开发人员可以更安全地将应用程序代码、固件映像甚至安全密钥存储在微控制器的内部闪存中。

虽然加密引擎和安全闪存会锁定数据交换和存储,但安全嵌入式系统与传感器和变送器的交互需要同样程度的安全性。除了安全 DMA 功能外,LPC55S6x MCU 架构还提供了多种机制来进一步保护内核或其他总线主控器与其集成外设、存储器或 GPIO 之间的交换(图 3)。

 

 

图 3:NXP 的 LPC55S6x 微控制器将多层总线矩阵与 MSW、MPC、PPC 结合在一起,以隔离和保护该器件的不同总线主控器与其外设和存储器之间的事务处理。(图片来源:NXP Semiconductors)

在此保护方案中,存储器保护校验器 (MPC) 会限制安全性较低的应用程序对存储器的访问。外设保护校验器 (PPC) 为外设提供同类访问控制,允许开发人员为不同外设设置不同的访问规则。由于 SAU/IDU 机制仅适用于主 Cortex-M33 内核,主安全包装器 (MSW) 则用来为其他总线主控器提供类似的访问保护。由于多层 AHB 矩阵在总线主控器与外设或存储器之间创造了一条专用路径,因此内部总线连接与该器件中可能发生的其他总线事务处理是隔离的,安全得以保证。

LPC55S6x MCU 架构通过其安全 GPIO 系统进一步隔离了对外部器件的安全和非安全访问。该系统将类似的隔离,即 TrustZone 机制在安全和非安全 CPU 状态与代码执行模式之间创建的隔离,扩展到 GPIO 引脚。因此,只有在安全状态下运行的主 Cortex-M33 内核才能访问安全 GPIO 引脚,这使开发人员能够保护来自关键外部器件的信号。

安全密钥管理

本文到目前为止描述的各种保护机制为安全嵌入式系统奠定了基础。但是,要将该系统安全地连接到网络、智能手机或其他主机,开发人员必须能够在初始调试和持续的事务处理期间对连接目标进行身份验证,并且能够维护安全加密的通信通道。反过来,作为认证协议和加密机制核心的非对称和对称加密算法的安全性,最终取决于这些协议和机制中使用的私钥安全性。

LPC55S6x 微控制器利用集成的物理不可克隆功能 (PUF),为安全存储现有密钥并生成新密钥提供了一种高度安全的机制。这种方法依靠 PUF 硬件的能力来创建唯一的 PUF 根密钥,使用它来对其他用户密钥进行加密。PUF 根密钥的唯一性源于其使用内部器件功能以及 SRAM 启动数据,而 SRAM 启动数据源自上电时 SRAM 单元的随机 0 和 1 内容。在 PUF 登记阶段,器件使用这两个随机数据源来创建数字指纹和相关的 1192 字节激活码(图 4)。

 

 

图 4:NXP LPC55S6x 微控制器的集成 PUF 使用启动时 SRAM 的随机状态和其他内部功能生成数字指纹和激活码,以用于随后的密钥生成和存储操作。(图片来源:NXP Semiconductors)

在工厂配置器件期间或以后的实际使用中,此激活码存储在器件受保护闪存区域中的客户现场可编程区域 (CFPA) 中。每次微控制器上电和使用 PUF Start 命令激活 PUF 时,PUF 就会将现有激活码与 SRAM 启动数据组合,以重建数字指纹。

在此 PUF Start 过程之后,PUF SetKey 命令让 PUF 对用户密钥进行编码,例如工厂配置的共享主密钥或由开发人员为其应用程序提供的私钥。在这里,PUF 根据密钥大小、密钥索引和用户密钥本身生成相应用户密钥的密钥代码(图 5)。

 

 

图 5:NXP 的 LPC55S6x PUF 提供的 SetKey 功能使用其数字指纹对用户密钥和密钥索引进行编码,提供随后用于访问原始用户密钥的密钥代码。(图片来源:NXP Semiconductors)

开发人员还可以使用 PUF GenerateKey 命令生成新密钥,该命令采用与 SetKey 相同的生成过程,但使用内部生成的唯一数据取代图 5 中显示的 KEYIN 功能。使用密钥索引 = 0 设置或生成的密钥可获得进一步的保护,如下文所述。

要使用密钥,开发人员调用 PUF GetKey 命令以检索原始用户密钥,其输出路径有两条,具体输出路径取决于设置或生成密钥时使用的密钥索引值。如果密钥索引大于零,则可通过 PUF CODEOUTPUT 寄存器获得用户密钥。如果密钥索引等于零,则用户密钥将直接传递给 AES 引擎,或传递给 KEYENABLE 的值所指定的 PRINCE 引擎的三个支持的闪存区域(图 6)。尽管没有直接参与密钥检索,但 PUF 的 4 位 KEYMASK 寄存器支持专为缓解旁路攻击的内部机制。

 

 

图 6:开发人员使用 NXP 的 LPC55S6x PUF GetKey 命令访问密钥。这会使用 SetKey(或 GenerateKey)操作期间生成的密钥索引和密钥代码输出原始用户密钥,或通过专用总线将其发送到微控制器的加密加速器。(图片来源:NXP Semiconductors)

零索引密钥有助于加强生命周期安全性,甚至从工厂配置阶段开始便能保证安全。一旦通过 PUF SetKey 配置,无论是用于对称加密的共享主密钥,还是用于非对称加密的私钥,都永远不会离开器件或进入系统总线。相反,密钥通过软件无法访问的专用硬连线接口在内部传输到 AES 或 PRINCE 引擎。

PUF 密钥管理机制和微控制器的其他安全特性共同支持其他生命周期安全性阶段,包括安全引导和固件更新。针对安全引导,LPC55S6x 支持多种保护方法,包括使用经验证的 X.509 证书对 RSA2048 签名映像进行身份验证,或对 PRINCE 闪存区域中存储的映像进行解密。无论何种情况,引导程序都使用 PUF 生成的密钥哈希值从 PUF 密钥存储区中安全地检索验证证书或解密映像所需的密钥,这些密钥哈希值与映像一起存储在受保护的闪存区域中。

固件更新使用类似的机制来验证无线更新固件映像,对其进行解密,然后准备好进行引导。

除了安全引导和固件更新的直接需求外,该器件的多个密钥存储插槽和密钥生成功能还支持持续的安全生命周期要求,可以撤销密钥和证书。这种密钥管理功能进而支持更高级别的安全策略,例如固件映像撤销。

通过使用 NXP 的 LPCXpresso55S69 开发板并结合 NXP 的 MCUXpresso 集成开发环境 (IDE)、IAR 或 Keil IDE,开发人员可以快速探索 LPC55S6x 微控制器的能力。MCUXpresso Config Tools 集成在 MCUXpresso IDE 中,可帮助开发人员设置 MCU 硬件并生成初始化代码。利用该配置工具集中的可信执行环境 (TEE) 工具,开发人员可以更轻松地配置 LPC55S6x MCU 的多级安全访问。使用 TEE 工具的图形界面,开发人员可以针对上文描述的四种 CPU 状态和执行模式中的每一种,优化对存储器、总线主控器和外设的访问权限(图 7)。

 

 

图 7:利用 NXP 的 MCUXpresso Config Tools 实用工具集中可信执行环境工具的图形界面,开发人员可以针对以四种 CPU 状态和执行模式运行的代码,设置对存储器、总线主控器和外设的访问权限(图片来源:NXP Semiconductors)

针对代码开发,NXP 还提供了许多简单的代码示例,这些示例演示了使用微控制器安全特性(例如安全 GPIO、PUF 密钥管理和其他器件功能)的基本设计模式。然而,即使在开发阶段,LPC55S6x MCU 也可通过单线调试 (SWD)

认证能力来帮助维持生命周期安全性。借助此功能,经授权的开发人员可以调试其安全代码并禁用对安全资源的任何进一步 SWD 访问,然后将开发工作交给非安全软件开发人员。这些开发人员在完成代码调试之后,进而可以禁用所有通过 SWD 端口的调试访问。

总结

开发人员面临着对低功耗、高性能设计日益增长的需求,同时还需要能够维持从工厂配置到现场安全操作的整个生命周期的安全性。如本文所述,NXP 的 LPC55S6x 系列微控制器提供了一种有效的解决方案,它既具备通用处理能力,又有丰富的专用硬件特性来支持生命周期安全性。

本站声明: 本文章由作者或相关机构授权发布,目的在于传递更多信息,并不代表本站赞同其观点,本站亦不保证或承诺内容真实性等。需要转载请联系该专栏作者,如若文章内容侵犯您的权益,请及时联系本站删除。
换一批
延伸阅读

2024年4月11日,中国——意法半导体的ST25R100近距离通信(NFC)读取器芯片独步业界,集先进的技术功能、稳定可靠的通信连接和低廉的成本价格于一身,在大规模制造的消费电子和工控设备内,可以提高非接触式互动功能的...

关键字: 嵌入式 数据读取器 芯片

【2024年4月24日,德国慕尼黑讯】英飞凌科技股份公司(FSE代码:IFX / OTCQX代码:IFNNY)发布全新PSOC™ Edge微控制器(MCU)系列的详细信息,该系列产品的设计针对机器学习(ML)应用进行了优...

关键字: 物联网 机器学习 MCU

单片机是一种嵌入式系统,它是一块集成电路芯片,内部包含了处理器、存储器和输入输出接口等功能。

关键字: 单片机 编写程序 嵌入式

微控制单元(Microcontroller Unit;MCU) ,又称单片微型计算机(Single Chip Microcomputer )或者单片机,是一种针对特定应用的控制处理而设计的微处理器芯片,其工作频率(在1M...

关键字: MCU 芯片 半导体

Arm CPU正在从根本上推动AI变革,并造福地球。Arm架构是未来AI计算的基石。​

关键字: ARM AI

台湾新竹 – 2024年4月23日 – 著名的微控制器供货商新唐科技公司,与全软件开发生命周期提供跨平台解决方案的全球软件公司Qt Group宣布深化合作,扩展新唐科技人机界面(HMI)平台支持「Qt for MCUs」...

关键字: 微控制器 嵌入式系统 MCU

Holtek针对语音应用推出I/O Voice OTP MCU HT68RV032/HT68RV033/HT68RV034,最大特点为内建2/4/8Mbit Voice Flash ROM,语音可重复更新,最长可达85/...

关键字: MCU 智能家电

Holtek持续精进电磁炉产品技术开发,再推出更具性价比的电磁炉Flash MCU HT45F0005A/HT45F0035A。相较于前代产品提供更丰富的资源,如硬件辅助UL认证功能、硬件I²C可与面板通信及过电流保护及...

关键字: 电磁炉 MCU IGBT

Holtek新推出专为锂电池保护可支持多达8节电池的模拟前端IC HT7Q2552,提供I²C接口控制系统组态及MCU通信,支持短路放电保护、高压唤醒及芯片过温保护的中断回报机制。适合广泛应用于手持电动工具、园艺工具及手...

关键字: 锂电池 手持电动工具 MCU

深圳2024年4月23日 /美通社/ -- 全球AI解决方案与工业级存储领导品牌宜鼎国际 (Innodisk)持续深化边缘AI布局,今(23)日发表全球首创"MIPI over Type-C"独家技术,让旗下嵌入式相机模...

关键字: AI 嵌入式 相机
关闭
关闭