时刻保持安全
系统会关机。有时是出于维护、省电或其他原因,您希望系统关机。有时,它们会在您不希望时关机,而这就是您要尽量避免的事情。最重要的是,这种现象不能发生在系统正在开机或关机的时候,因为此时的安全性可能会在无意中变得更加松懈。
在一切正常的情况下,如何保证系统的安全性会有完善的记录。但是,当系统开机或关机时,情况不一定如此,尤其是在计划外断电的情况下。那么,在这些不幸的情况下您会怎么做?
简单的答案是确保您采用包含所有最新安全功能的 MCU 进行设计。更难的部分是确定情况是否确实如此,因为随着恶意人士似乎每时每刻都变得越来越狡猾,标准和功能的变化非常快。要了解有关此技术的更多信息,请阅读标题为“针对物联网应用的安全微控制器剖析”的文章。
图 1:工业平台中的保护边界区域。(图片来源:Maxim Integrated Products)
在典型的“安全”设计中,所有嵌入式安全构件在一个公共边界下共同运行。在安全保护层次结构中,上层包含诸如加密和硬件安全等技术(图 1)。该边界将身份验证密钥与软件隔离开来,从而可以防止黑客发起攻击,包括在系统重新启动时可能发生的攻击。但是,如果切断了电源,则按正确的顺序启动系统至关重要;这意味着首先加载安全功能,远离窥探的“眼睛”。
来自 Renesas 的 RX 系列器件(例如 RX651 微控制器)使用信任根实现安全性。这是系统设计人员处理开机和关机问题的一种方式。通过使用该信任根,系统知道必须按特定顺序开机和关机。它读取加密的关键字,而关键字向系统的其余部分提供“警报解除”信号。
RX651 MCU 还通过集成可信安全 IP (TSIP) 和可信闪存区域保护来解决安全问题,支持通过安全网络通信在现场进行闪存固件更新。TSIP 提供了可靠的密钥管理、加密通信和篡改检测,以确保针对窃听、篡改和病毒等外部威胁提供强有力的保护。
第二种安全方法是如今非常流行的一种方法,即 Arm 的 TrustZone,它将重要的安全固件和私人信息(例如安全启动、固件更新和密钥)与应用程序的其余部分隔开。从本质上讲,它将 MCU 分为两部分,其中一部分完全安全,包含加密密钥等,另一部分则部署用于通用活动。这两个域保持隔离,因此避免了篡改。
一款利用 TrustZone 的 MCU 是 STMicroelectronics 的 STM32MP151A。该器件基于 Arm Cortex-A7 32 位 RISC 核心,工作频率高达 650 MHz,并包括 32 KB 的指令和数据缓存,以及 256 KB 的 2 级缓存。板载存储器保护单元 (MPU) 可增强应用的安全性。这是嵌入式 TrustZone 技术的补充。
第二个来源的安全性
另一个独立于 MCU 运作的器件是 Microchip 的 ATECC608A 安全元件(图 2)。该器件具有一个用于生成唯一密钥的随机数发生器 (RNG),同时符合美国国家标准与技术研究院 (NIST) 的最新要求。此外,还具有用于相互身份验证的加密加速器,例如 AES-128、SHA-256 和 ECC P-256。
图 2:Microchip 的 ATECC608A 是与 MCU 协同工作的加密协处理器。该器件提供了基于硬件的安全密钥存储。(图片来源:Microchip)
虽然该零件内置了 Hook 来支持 Microchip 广泛的 MCU 系列,但对于任何微处理器或微控制器是未知的。该器件需要功耗极低,并且在宽电压范围内只需一个 GPIO。其外形小巧(8 焊盘 UDFN 或 8 引脚 SOIC 封装),因而易于设计到电路板。
如您所见,有很多方法可以保护您的系统。请选择最适合您的应用的方法。
Have questions or comments? Continue the conversation on TechForum, Digi-Key's online community and technical resource.
Visit TechForum