闪存存储构建安全汽车系统
扫描二维码
随时随地手机看文章
对电子嵌入式系统的安全和安全保障需求从未有今天这样强烈。随着汽车的自动化程度不断提高,我们需要提高其安全保障水平,防止它们被黑客攻破。对于采用大量机器人与物联网(IoT)设备,需要处理敏感数据的工厂来说,同样如此。
对所有此类嵌入式系统来说,非易失性闪存存储器必不可少。闪存可用作代码存储、文件系统存储或直接运行代码的微控制器单元(MCU)存储器。如果要实现系统安全性,必须首先确保系统使用的闪存存储器是安全的。本文探讨闪存存储器的安全需求,帮助开发人员为汽车、工业和通信应用构建安全有保障的嵌入式系统。
闪存存储器的使用方式
如果我们仔细观察现代汽车的电子系统,我们会发现闪存在整车上都得到广泛使用。随着系统的复杂性增加,我们需要更大容量的代码存储和数据存储。车内的所有子系统,包括高级驾驶辅助系统(ADAS)、仪表系统(即将与信息娱乐合并)、传动和车身系统,都需要嵌入式系统才能实时运行。
所有这些嵌入式系统都需要某种类型的闪存存储器,用作代码存储和数据存储。例如,图1所示的是一个使用多个NOR闪存器件的ADAS子系统。
图1.该ADAS子系统使用多个NOR闪存
在当今的ADAS应用中,复杂的算法和人工智能流程依赖在闪存存储器中存储的代码和数据来运行。存储必须提供故障安全和安全保障,因为系统故障或恶意攻击可能导致严重的人身伤害乃至身故。
在工业和网络应用中,也存在对存储解决方案的类似安全与安全保障需求。在互联互通程度不断提高的大背景下,黑客能突破任何与互联网相连的薄弱实体,窃取敏感信息,或者将被攻破的设备当作跳板,在整个网络中的其他地方发起攻击。因此,构建有安全保障的系统,避免发生这种类型的攻击,变得至关重要。
有安全保障的闪存存储
多年来,闪存存储器厂商一直提供纯粹的数据存储。对于这些应用,耐久度和保持能力是衡量闪存存储器质量的两大指标。安全保障并非是对这类型闪存器件的要求,这就意味着存储在闪存上的数据要么完全不受保护,要么使用未经认证的命令进行保护。
例如,一些闪存器件通过正常命令集提供基本的保护功能,例如针对编程或擦除操作对扇区提供非易失性或易失性保护、针对编程或读取操作的密码保护等。这些功能虽是好功能,但不足以抵御手段高明的攻击。如果黑客能够访问闪存器件的总线接口,他们就能轻易地提取或修改设备上的数据。
为了保障安全,闪存器件必须保护存储的代码和数据免受多种手段的攻击。下面总结了闪存存储设备需要加以防范的几种攻击。
中间人(MIM)攻击
MIM攻击中的黑客常模仿通信信道的发送方,发送命令或消息给另一侧,以窃取或修改数据(图2)。因此,有必要认证主机和闪存设备间的每一条消息。认证可通过在主机和闪存上使用公共密钥,生成伴随实际消息的消息认证码(MAC)来实现。接收方可以在对消息采取行动之前先验证MAC。
图2.中间人攻击常模仿通信的信道发送方发送命令或消息,最终目的是窃取或修改数据
为了防止在密钥受损时系统被永久破坏,通常需要使用临时密钥。临时密钥会在一定时间或在一定次数后失效。这样做的目的是尽可能避免密钥被破坏性物理分析(DPA)或其它迭代攻击等方法进行解密。