历史上的今天
返回首页

历史上的今天

今天是:2024年11月18日(星期一)

正在发生

2019年11月18日 | 技术文章—闪存存储构建安全汽车系统

2019-11-18

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


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

 

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

 

闪存存储器的使用方式

 

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

 

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

 

CypressFigure_1.png?imageView2/2/w/550

 

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

 

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

 

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

 

有安全保障的闪存存储

 

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

 

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

 

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

 

 中间人(MIM)攻击

 

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

Cypressfigure_2.png?imageView2/2/w/550

 

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

  

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

 

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

 

 克隆

 

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

 

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

 

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

 

窃听

 

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

 

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

 

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

 

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

 

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

 

保护措施

 

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

 

 提供灵活的存储器架构

 

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

 

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

 

提供快速的安全启动功能

 

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

 

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

 

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

 

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

 

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

 

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

CypressFigure_3.png?imageView2/2/w/550

 

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

 

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

推荐阅读

史海拾趣

HCC Industries公司的发展小趣事

面对日益激烈的市场竞争和快速变化的市场需求,HCC Industries在2020年启动了数字化转型计划。公司投入大量资金引入先进的自动化生产线和智能化管理系统,实现了从原材料采购到成品出厂的全链条数字化管理。这一举措不仅大幅提高了生产效率和产品质量,还降低了运营成本和库存风险。同时,HCC还利用大数据和人工智能技术优化产品设计和市场策略,进一步提升了其市场竞争力。

ACCRETECH公司的发展小趣事

面对日益激烈的市场竞争和快速变化的市场需求,HCC Industries在2020年启动了数字化转型计划。公司投入大量资金引入先进的自动化生产线和智能化管理系统,实现了从原材料采购到成品出厂的全链条数字化管理。这一举措不仅大幅提高了生产效率和产品质量,还降低了运营成本和库存风险。同时,HCC还利用大数据和人工智能技术优化产品设计和市场策略,进一步提升了其市场竞争力。

Gigavac LLC公司的发展小趣事

面对日益激烈的市场竞争和快速变化的市场需求,HCC Industries在2020年启动了数字化转型计划。公司投入大量资金引入先进的自动化生产线和智能化管理系统,实现了从原材料采购到成品出厂的全链条数字化管理。这一举措不仅大幅提高了生产效率和产品质量,还降低了运营成本和库存风险。同时,HCC还利用大数据和人工智能技术优化产品设计和市场策略,进一步提升了其市场竞争力。

AEM [ American Electronic Materials]公司的发展小趣事

随着全球经济的不断发展,AEM意识到要想在激烈的竞争中保持领先地位,必须进一步拓展全球市场。于是,公司开始实施全球扩张战略,积极开拓新的市场和业务领域。

在这个过程中,AEM与多家国际知名企业建立了战略合作关系。通过合作,AEM成功进入了欧洲、亚洲等多个重要市场,进一步提升了公司的品牌影响力和市场份额。同时,这些合作也为AEM带来了更多的技术资源和市场机会,促进了公司的持续发展。

EPCOS (TDK)公司的发展小趣事

自成立以来,EPCOS一直致力于技术创新和产品拓展。公司不断投入研发资源,开发出了一系列高性能、高品质的电子元器件产品。这些产品广泛应用于通信、消费、汽车和工业电子等领域,赢得了众多客户的信赖和好评。同时,EPCOS还积极拓展国际市场,与全球众多知名企业建立了长期稳定的合作关系。

CINTERION公司的发展小趣事

近年来,CINTERION与泰雷兹达成战略合作,共同推出了创新型物联网无线通信模组Cinterion MV32。这款模组结合了泰雷兹在连接管理方面的灵活性和CINTERION在无线通信模组技术上的优势,为制造商提供了快速构建和维护高性能5G设备的解决方案。这一合作不仅加强了CINTERION在物联网领域的市场地位,也为其在未来的发展中注入了新的活力。

以上五个故事均基于CINTERION在电子行业中的发展历程和成就进行描述,旨在客观呈现其在不同领域的发展轨迹和技术实力。

问答坊 | AI 解惑

听说会做这个设计就能拿六千块月薪哦,大家来看看,看看你们会不会!

用一个自复位型常开点按钮, 可以用任意个继电器, 控制一个灯泡, 要求按一下按钮,\\ 灯亮, 再按一下, 灯灭, 如此反复. 这是某大型企业招聘电气工程师时的一道题目,要求三十分钟, 大家是不是觉得很简单,但真的,三十分钟做不出来的人,好多好多…

查看全部问答>

单片机的C语言设计

关于嵌入式方面的我进场用…

查看全部问答>

关于sram的讨论

假设有块片内sram: 2kbyte, single port. 现在有两种形式: 1。做成一块:sram_2048x8 2。做成两块,每块各1kbyte: sram_1024x8  (x2) 现在从三个反面分析这两种形式的优缺点: 面积:哪个大一些? 功耗:哪种功耗大一些?(当然前 ...…

查看全部问答>

S3C6410+wince6.0 怎么实现在视频窗体显示半透明按钮?

S3C6410+wince6.0 怎么实现在视频窗体显示半透明按钮?…

查看全部问答>

谁有《一个操作系统的实现》的源代码

如题,于渊写的 也就是《自己动手写操作系统》的第二版 哪位有请发到我的邮箱: 346921212@qq.com 谢谢…

查看全部问答>

power pcb5.0.1中

power pcb5.0.1中 使用copper pouer命令画了两个长方行框,其中的一个在另一个里面,如何让里面的长方形里面敷铜而不是在他俩之间敷铜.高手指点一下!!!!!!!!!也就是说让里面的type为hatch outline,外面的type为copper pouer,不管采取哪样的敷铜方式.…

查看全部问答>

window7触摸屏驱动及触摸IC接口

请问各位大大,windows7支持哪些接口的触摸屏芯片,usb、I2C、spi还是PS2? 另外,对于多点触摸,windows需要从触摸屏控制芯片得到哪些数据以及数据格式? 以前的单点触摸,触摸屏芯片只要送坐标给系统就可以了,跟鼠标一样,不知道多点触摸跟普 ...…

查看全部问答>

WIN CE开发问题启蒙,希望得到帮助

谁有好的WIN CE的书籍或课程视频资料,介绍一下,我用VS2005的!最好都有链接地址,可以看看,简介也好!…

查看全部问答>

STM32RTC时钟好差劲

                                 不知道为什么,STM32 的RTC时钟那么差劲,我制作了10个装置,时间11个样,运行一个月,时间居然相差不靠谱, ...…

查看全部问答>

PIC单片机的特点及应用

Microchip公司生产的PIC16C72是一款基于EPROM的8位高性能微控制器。与其它价格相当的微控制器相比,它在执行速度和代码压缩方面都有很大的改进。由于随时可以买到需要的OPT(一次性编程)产品,因而缩短了利用PIC16C73进行产品设计开发的周期。 PI ...…

查看全部问答>