使用外部闪存的安全嵌入式系统设计

描述

在本系列的第 1 部分中,我们介绍了连接的嵌入式系统中安全性的重要性以及强制使用外部 Flash 的 Flash 的解体。在本系列的第 2 部分中,我们介绍了下一代智能内存安全闪存。在本系列的最后一部分中,我们将介绍与使用外部闪存的安全嵌入式系统相关的设计问题。

mcu

图 4 显示了内置于安全闪存中的智能如何能够提供嵌入式系统所需的性能、可靠性、安全性和功能安全性。使用标准总线协议,包括四路串行外设接口 (QSPI) 和扩展串行外设接口 (xSPI),智能安全闪存可以与主机一起工作,以达到要求苛刻的连接应用所需的安全级别,同时保持与现有主机存储器控制器的完全兼容性。

对于不能选择故障的关键任务应用程序,安全闪存可以确保系统安全启动、记录关键信息并为基本功能扩展工作内存。此类“故障安全”应用的示例包括高级驾驶辅助系统 (ADAS)、便携式医疗设备、工厂自动化、国防级传感器和高级无线通信系统。

故障安全的一个重要方面涉及对存储的代码和数据进行加密,以防止其被更改或以其他方式受到损害。通过在嵌入式处理器旁边集成加密引擎,可以以安全的方式存储数据。鉴于内存占用量通常使 CPU 和特定任务计算引擎所需的门数量相形见绌,加密和其他高级功能可以以相对较低的增量成本在智能安全闪存中实现。

安全闪存创建基于硬件的信任根,提供安全环境或与安全 MCU 提供的 TEE 集成。信任根的一个至关重要的作用是确保系统能够正确启动,理想情况下基于可信计算组的设备标识符组合引擎 (DICE) 标准。安全启动过程通过相互验证闪存和主机 MCU 来提供端到端保护,以确保通过总线的所有事务的机密性。而且由于 Flash 很智能,因此经过身份验证的启动可以在某些应用程序所需的 100 毫秒内开始。

将代码安全更新到最新版本的能力对于安全启动过程同样重要。这需要确保固件无线传输 (FOTA) 或其他形式的更新在没有任何故意或意外篡改或损坏的情况下完成。如果通过版本证明或其他方式检测到任何篡改,则可以使用回滚保护功能来恢复先前已知有效(尽管是向下修订)的代码版本。同样的功能也可用于保护可能发生在不安全的制造设施或服务中心的任何设备配置。

除了保护存储的代码和数据外,嵌入式智能还使安全闪存能够处理其他任务。例如,对 eXecute-In-Place (XIP) 功能的支持使安全闪存能够作为可信环境直接执行代码,从而减轻主机 MCU 的负担。这还可以通过减少 MCU 所需的片上 RAM 数量来帮助降低成本和功耗。

由于需要满足最苛刻的安全和功能安全要求,汽车和工业自动化市场正在引领采用安全闪存。由于嵌入式系统中的潜在漏洞可能导致可远程利用的攻击,从而威胁乘客或工人的安全,因此如果不确保强大的安全性,系统中的功能安全就无法实现。因此,安全关键应用中的所有半导体组件(包括外部闪存设备)都必须符合高级驾驶辅助系统 (ADAS) 的 ISO26262 标准和工业系统的 IEC 61508 标准。

持续监控现场设备的健康状况以及执行远程诊断和预防性维护也很重要。闪存设备容易出现多种故障模式,包括由于电荷损失或宇宙辐射、延迟、断电故障等导致的闪存单元故障,需要解决这些故障以确保在 20 年或更长时间的使用寿命内具有高可靠性。

闪存的未来

智能安全闪存作为 eFlash 的替代品正在获得认可,随着工艺尺寸缩小到 28nm 以下,eFlash 注定会变得稀缺或完全消失。可以集成 eFlash 但需要专用于 HSM 功能的额外非易失性存储器的芯片组也将受益于安全闪存的出现。在这两种设计中,安全闪存使代码和数据能够通过行业标准总线以加密安全的方式在受保护区域和主机 MCU 的 HSM 之间传输。

预计包含安全闪存的设计将变得更加普遍,甚至对于满足不断发展的安全要求至关重要。攻击正变得越来越普遍和复杂。预计法规将变得更加严格,自主权的增加将进一步提升安全和功能安全的重要性。为了满足这些不断变化的需求,同时最大限度地缩短新功能的上市时间,设计工程师将越来越依赖只有智能安全闪存才能提供的敏捷性。

审核编辑:郭婷

打开APP阅读更多精彩内容
声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉

全部0条评论

快来发表一下你的评论吧 !

×
20
完善资料,
赚取积分