广告

使用有安全保障的闪存存储构建安全的汽车系统

2019-11-18 10:43:28 Cypress 阅读:
在现代汽车嵌入式系统中,高度安全的数据存储是必不可少的,尤其是在面对日益高明的网络攻击时。本文将介绍设计师正确使用闪存的步骤。

在现代汽车嵌入式系统中,高度安全的数据存储是必不可少的,尤其是在面对日益高明的网络攻击时。本文将介绍设计师正确使用闪存的步骤。27jednc

对电子嵌入式系统的安全和安全保障需求从未有今天这样强烈。随着汽车的自动化程度不断提高,我们需要提高其安全保障水平,防止它们被黑客攻破。对于采用大量机器人与物联网(IoT)设备,需要处理敏感数据的工厂来说,同样如此。27jednc

对所有此类嵌入式系统来说,非易失性闪存存储器必不可少。闪存可用作代码存储、文件系统存储或直接运行代码的微控制器单元(MCU)存储器。如果要实现系统安全性,必须首先确保系统使用的闪存存储器是安全的。本文探讨闪存存储器的安全需求,帮助开发人员为汽车、工业和通信应用构建安全有保障的嵌入式系统。27jednc

闪存存储器的使用方式

如果我们仔细观察现代汽车的电子系统,我们会发现闪存在整车上都得到广泛使用。随着系统的复杂性增加,我们需要更大容量的代码存储和数据存储。车内的所有子系统,包括高级驾驶辅助系统(ADAS)、仪表系统(即将与信息娱乐合并)、传动和车身系统,都需要嵌入式系统才能实时运行。27jednc

所有这些嵌入式系统都需要某种类型的闪存存储器,用作代码存储和数据存储。例如,图1所示的是一个使用多个NOR闪存器件的ADAS子系统。27jednc

 27jednc

cypress-1.jpg27jednc

图1.该ADAS子系统使用多个NOR闪存27jednc

在当今的ADAS应用中,复杂的算法和人工智能流程依赖在闪存存储器中存储的代码和数据来运行。存储必须提供故障安全和安全保障,因为系统故障或恶意攻击可能导致严重的人身伤害乃至身故。27jednc

在工业和网络应用中,也存在对存储解决方案的类似安全与安全保障需求。在互联互通程度不断提高的大背景下,黑客能突破任何与互联网相连的薄弱实体,窃取敏感信息,或者将被攻破的设备当作跳板,在整个网络中的其他地方发起攻击。因此,构建有安全保障的系统,避免发生这种类型的攻击,变得至关重要。27jednc

有安全保障的闪存存储

多年来,闪存存储器厂商一直提供纯粹的数据存储。对于这些应用,耐久度和保持能力是衡量闪存存储器质量的两大指标。安全保障并非是对这类型闪存器件的要求,这就意味着存储在闪存上的数据要么完全不受保护,要么使用未经认证的命令进行保护。27jednc

例如,一些闪存器件通过正常命令集提供基本的保护功能,例如针对编程或擦除操作对扇区提供非易失性或易失性保护、针对编程或读取操作的密码保护等。这些功能虽是好功能,但不足以抵御手段高明的攻击。如果黑客能够访问闪存器件的总线接口,他们就能轻易地提取或修改设备上的数据。27jednc

为了保障安全,闪存器件必须保护存储的代码和数据免受多种手段的攻击。下面总结了闪存存储设备需要加以防范的几种攻击。27jednc

●  中间人(MIM)攻击

MIM攻击中的黑客常模仿通信信道的发送方,发送命令或消息给另一侧,以窃取或修改数据(图2)。因此,有必要认证主机和闪存设备间的每一条消息。认证可通过在主机和闪存上使用公共密钥,生成伴随实际消息的消息认证码(MAC)来实现。接收方可以在对消息采取行动之前先验证MAC。27jednc

 27jednc

cypress-2.jpg27jednc

图2.中间人攻击常模仿通信的信道发送方发送命令或消息,最终目的是窃取或修改数据27jednc

为了防止在密钥受损时系统被永久破坏,通常需要使用临时密钥。临时密钥会在一定时间或在一定次数后失效。这样做的目的是尽可能避免密钥被破坏性物理分析(DPA)或其它迭代攻击等方法进行解密。27jednc

另一种中间人攻击则是在一定时间以后重放截获的合法消息。为了防范重放攻击,主机和闪存设备必须使用累加计数器(值随每个消息递增)生成MAC。由于当前的累加计数器值与上一消息的值不同。重放相同的消息就不能通过MAC验证,27jednc

● 克隆

一些黑客可以使用先进的技术读取闪存芯片中的全部内容,通过非法克隆牟利。为了防范此类攻击,每个闪存芯片都必须拥有任何人都不能读取的唯一设备秘密(UDS)。UDS值具有唯一性,是每个芯片内的真实随机值。一个芯片和另一个芯片中的UDS之间毫无关联。27jednc

UDS可用于推导复合设备标识符(CDI),而这个标识符是生成可信计算工作组织(TCG)设备标识符组合引擎(DICE)规格定义的设备ID证书的基础。一般来说,设备也在CDI的基础上,为所有用主机导出的密钥生成别名私钥公钥对。这样就无需暴露设备ID的私钥。27jednc

有了UDS和DICE流程后,由于UDS在物理上不可克隆,因此黑客就无法克隆设备。27jednc

●  窃听

被动侦听是另外一种已知的攻击方式。攻击者通过在总线上窃听,可从通过总线传输的数据中搜集敏感信息或机密情报。为保护重要数据,用户可选择在通过总线将数据发送到闪存设备,并存储数据前为数据加密。当主机从设备检索数据时,也应对数据进行加密处理,让潜在的黑客永远无机可乘。27jednc

也许有人会说,加密方法不需要有安全保障的闪存存储解决方案,因为主机可以直接加密数据并将其存储到闪存中。只有主机才能解密数据。27jednc

然而,这样做也有一定的缺点。其中之一是主机不能轻易地弃用加密密钥。例如,假设使用KeyA加密数据并将其存储在闪存中,后来用户发现KeyA已被攻破,就需要在系统上使用不同的密钥,即KeyB。27jednc

这时,主机陷入两难境地:它不能直接弃用KeyA,因为它需要保留该密钥,才能解密从设备读取的数据。然而,如果KeyA被攻破,用户可能不想永久保留它。如果要使用新的数据加密密钥,用户不得不采取更复杂的措施。先擦除闪存上的原始加密数据,再用新加密的数据为闪存编程。这种操作在现场并非易事,且存在一定风险。27jednc

另一方面,如果有安全保障的闪存能够提供加密和解密功能,它就能在其有安全保障的存储中安全地存放明文数据,并在将数据发回给主机之前进行加密处理。如果当前的加密密钥被攻破,主机可以简单地与设备交换新的密钥。存储中的数据保持完整且有安全保障,与存储加密数据相比,是一种简单得多的方法。27jednc

保护措施

下面介绍开发安全闪存存储的各个步骤:27jednc

● 提供灵活的存储器架构

在现代的多核嵌入式系统中,多个MCU或硬件安全模块(HSM)可能可以访问同一个闪存存储。闪存设备有必要提供一种灵活的存储器架构,可以对其进行分区和配置,以便通过不同的内核管理不同的区域。这些不同区域可提供不同水平的安全保障,或者在完全不需要时,取消安全保障。27jednc

通过了解eMMC标准和UFS标准,我们显然可以看到支持多个安全区域的趋势。当前的eMMC标准规定了重放保护内存块(RPMB)。最新的UFS(v3.0)标准可为四个RPMB分区提供智能支持,它们由四个不同的密钥进行管理。这样的存储器架构灵活性在多核SoC环境中更加合适。27jednc

● 提供快速的安全启动功能

众多嵌入式系统都在闪存中存储启动代码。部分是因为需要快速启动,例如汽车子系统需要在加电重置(POR)的100ms内处理CAN消息。系统不仅需要安全启动(即验证启动代码),还需要快速启动。这就给嵌入式设计师提出更高的挑战。27jednc

一般情况下,在运行存储并下载(SnD)模式时,主机从闪存读取引导加载程序并映射给RAM执行。然而,要想安全启动,就需要检查认证整个引导加载程序代码,以确保其可信性。这个过程需要在MCU上花费时间。有安全保障的闪存存储能够提供引导加载认证,大幅度缩短启动时间。27jednc

安全的闪存设备能够使用内部安全散列函数检查引导加载程序,并为主机提供验证用散列值。如果散列值未发生改变,就说明引导加载程序未被篡改,可以安全地用于启动。27jednc

● 提供安全的固件无线更新(FOTA)

对于现代的嵌入式应用而言,现场升级是必备功能。通过远程升级系统的固件或软件,制造商能够快速解决问题、提供新增特性、提升用户体验。然而,远程升级也会对系统构成安全威胁。没人希望黑客利用现成的更新通道,让系统运行恶意固件或软件。27jednc

除了依靠CPU提供的安全保障,闪存设备内部的安全引擎也能大幅提高FOTA流程的安全水平(图3)。采用这样的安全引擎后,提供启动代码存储的闪存设备不仅可以用闪存设备旁边的主机认证固件提供商,也可以在远程云上进行认证。通过这种方式,可以为闪存中的固件更新或软件更新建立端到端的通道安全。27jednc

 27jednc

cypress-3.jpg27jednc

图3.闪存设备中的安全引擎有助于实现更安全的固件无线更新流程27jednc

现代汽车、工业、通信使用的嵌入式系统需要有高度安全保障的数据存储。嵌入式系统设计师面临的挑战是,如何构建能够抵御网络攻击的安全系统。集成安全保障特性的闪存,如赛普拉斯的Semper Flash,通过防范各种针对嵌入式系统的攻击,提高整体系统的安全性。27jednc

27jednc

  • 微信扫一扫
    一键转发
  • 最前沿的电子设计资讯
    请关注“电子技术设计微信公众号”
  • 从一个二十年前的电路开始,改造面包恒温发酵器 最近,读者John说他需要一种方法来控制发酵面团的温度,我很高兴他可能会考虑将我的TBH电路应用于解决他的问题,但在这种情况下,这确实有点小题大做。因此,我开始思考,是否有一种更简单的拓扑结构可以像TBH电路一样解决他的面团发酵问题,同时节省一些成本和精力···
  • 将锂金属电池寿命提高750%,竟然只需要“水”? 随着新能源汽车、移动设备等领域的快速发展,高性能电池的需求日益旺盛,锂金属作为新一代阳极材料,因具有高能量密度、轻量化等优点,备受关注。然而,锂金属电池所存在的寿命短、易起火或爆炸等问题,限制了其广泛的商业应用···
  • 按下ON还是按住OFF,将这种开关电路升级到交流电 2024年10月14日,Nick Cornford发布了一个名为“按下去再按上来,这种开关有哪些门道?”的设计实例(DI)。对于直流电压来说,这是一个非常有趣的DI,但对于交流电压呢?
  • 协同创新,助汽车行业迈向电气化、自动化和互联化的未来 汽车行业正处在电动化和智能化的转型过程中,而半导体企业站在这一变革的最前沿。这一转型带来了重大发展机遇,也带来了诸多挑战,需要颠覆性的技术以及更短的开发周期。加强半导体制造商、一级供应商和汽车制造商之间的合作,对于应对这些复杂情况及推动行业迈向电气化、自动化和互联化的未来至关重要···
  • 将单电源单端输入改成伪A/B类差分输出放大器 该放大器采用Barrie Gilbert的微混频器拓扑结构可将单端输入转换为单电源A/B类电流输出···
  • 加强低功耗FPGA的领先地位 在快速发展的技术领域,从以云端为中心到以网络边缘为中心的创新转变正在重塑数据的处理和利用方式···
  • 打造下一代家用机器人:精心构建智能化、集成化和电源优 ​​​​​​​今天的家用机器人不仅仅是工具,它们已经成为人们的生活伙伴,为日常生活增添了便利性和互动性。设计这些结构紧凑、功能强大的机器需要克服连接性、电源和外形尺寸等方面的严峻挑战,每一次突破都使我们更接近全面集成的智能家居体验···
  • 用LM337改造,让PWM DAC获得1.5 A输出能力 DAC是一种低功耗设备,其功率和电流输出能力仅限于毫瓦和毫安范围。当然,从根本上讲,它们没有理由不与合适的功率输出级配合使用,这确实也是常见的实际做法。不过,为了好玩,这个设计实例采用了不同的供电方式···
  • 意法半导体:让可持续世界从概念变为现实 最近,意法半导体人力资源和企业社会责任总裁Rajita D’Souza分享了意法半导体的可持续发展战略和近期工作重点···
  • 如何制作双变频的航空波段接收机? 随着互联网的发展,中波和短波频段的接收机已成为过去式,更不用说长波了。不过也许在无线电领域中最有趣的活动之一就是收听服务发射机,对于我这个与航空相关的人来说,主要指的是飞机的发射机和空中交通管制塔···
  • 用4200A和矩阵开关搭建自动智能的可靠性评估平台 在现代ULSI电路中沟道热载流子(CHC)诱导的退化是一个重要的与可靠性相关的问题···
  • 新一代MCU向着边缘AI和实时控制发展 在工业和汽车领域,电机驱动和数字电源转换是典型的实时控制系统,要求处理器具有高实时性和强大的数学计算与处理能力。这些应用需要优质的ADC和PWM功能,并通过联动机制,形成高效、有机的实时控制系统。
广告
热门推荐
广告
广告
广告
EE直播间
在线研讨会
广告
面包芯语
广告
向右滑动:上一篇 向左滑动:下一篇 我知道了