在现代汽车嵌入式系统中,高度安全性的数据存储是必不可少的,特别是在是在面临日益高明的网络攻击时。本文将讲解设计师准确用于存储器的步骤。对电子嵌入式系统的安全性和安全性确保市场需求未曾有今天这样反感。随着汽车的自动化程度大大提升,我们必须提升其安全性确保水平,避免它们被黑客攻陷。
对于使用大量机器人与物联网(IoT)设备,必须处置敏感数据的工厂来说,某种程度如此。对所有此类嵌入式系统来说,非易失性存储器存储器必不可少。存储器可用于代码存储、文件系统存储或必要运营代码的微控制器单元(MCU)存储器。如果要构建系统安全性,必需首先保证系统用于的存储器存储器是安全性的。
本文探究存储器存储器的安全性市场需求,协助开发人员为汽车、工业和通信应用于建构安全性有确保的嵌入式系统。存储器存储器的用于方式如果我们仔细观察现代汽车的电子系统,我们不会找到存储器在整车上都获得普遍用于。随着系统的复杂性减少,我们必须更大容量的代码存储和数据存储。
车内的所有子系统,还包括高级驾驶员辅助系统(ADAS)、仪表系统(将要与信息娱乐拆分)、传动和车身系统,都必须嵌入式系统才能动态运营。所有这些嵌入式系统都必须某种类型的存储器存储器,用于代码存储和数据存储。例如,图1右图的是一个用于多个NOR存储器器件的ADAS子系统。
图1.该ADAS子系统用于多个NOR存储器在当今的ADAS应用于中,简单的算法和人工智能流程倚赖在存储器存储器中存储的代码和数据来运营。存储必需获取故障安全和安全性确保,因为系统故障或蓄意反击有可能造成相当严重的人身损害乃至身故。
在工业和网络应用中,也不存在对存储解决方案的类似于安全性与安全性确保市场需求。在互联互通程度大大提升的大背景下,黑客能突破任何与互联网连接的脆弱实体,盗取脆弱信息,或者将被攻陷的设备当成跳板,在整个网络中的其他地方发动反击。因此,建构有安全性确保的系统,防止再次发生这种类型的反击,显得至关重要。
有安全性确保的存储器存储多年来,存储器存储器厂商仍然获取纯粹的数据存储。对于这些应用于,耐久度和维持能力是取决于存储器存储器质量的两大指标。安全性确保并非是对这类型存储器器件的拒绝,这就意味著存储在存储器上的数据要么几乎不受保护,要么用于予以证书的命令展开维护。
例如,一些存储器器件通过长时间命令集获取基本的维护功能,例如针对编程或读取操作者对扇区获取非易失性或不易失性维护、针对编程或加载操作者的密码保护等。这些功能虽是好功能,但足以抵挡手段高明的反击。如果黑客需要采访存储器器件的总线模块,他们就能只能地萃取或改动设备上的数据。为了确保安全性,存储器器件必需维护存储的代码和数据免遭多种手段的反击。
下面总结了存储器存储设备必须加以防止的几种反击。中间人(MIM)反击MIM反击中的黑客经常仿效通信信道的发送到方,发送到命令或消息给另一侧,以盗取或改动数据(图2)。因此,有适当证书主机和存储器设备间的每一条消息。证书可通过在主机和存储器上用于公共密钥,分解预示实际消息的消息认证码(MAC)来构建。
接管方可以在对消息采取行动之前再行检验MAC。图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消息。系统不仅必须安全性启动(即检验启动代码),还必须较慢启动。这就给嵌入式设计师明确提出更高的挑战。
一般情况下,在运营存储并iTunes(SnD)模式时,主机从存储器加载引领读取程序并同构给RAM继续执行。然而,要想要安全性启动,就必须检查证书整个引领读取程序代码,以保证其可信性。这个过程必须在MCU上花费时间。有安全性确保的存储器存储需要获取引领读取证书,大幅延长启动时间。
安全性的存储器设备需要用于内部安全性散列函数检查引领读取程序,并为主机获取检验用散列值。如果散列值并未再次发生转变,就解释引领读取程序并未被伪造,可以安全性地用作启动。
获取安全性的固件无线改版(FOTA)对于现代的嵌入式应用而言,现场升级是不可或缺功能。通过远程升级系统的固件或软件,制造商需要较慢解决问题、获取追加特性、提高用户体验。然而,远程升级也不会对系统包含安全性威胁。
没有人期望黑客利用现成的改版地下通道,让系统运营蓄意固件或软件。除了依赖CPU获取的安全性确保,存储器设备内部的安全性引擎也能大幅提高FOTA流程的安全性水平(图3)。
使用这样的安全性引擎后,获取启动代码存储的存储器设备不仅可以用存储器设备旁边的主机证书固件提供商,也可以在远程云上展开证书。通过这种方式,可以为存储器中的固件改版或软件改版创建末端到端的地下通道安全性。图3.存储器设备中的安全性引擎有助构建更加安全性的固件无线改版流程现代汽车、工业、通信用于的嵌入式系统必须有高度安全性确保的数据存储。嵌入式系统设计师面对的挑战是,如何建构需要抵挡网络攻击的安全性系统。
构建安全性确保特性的存储器,如赛事普拉斯的SemperFlash,通过防止各种针对嵌入式系统的反击,提升整体系统的安全性。
本文来源:九游娱乐-www.whmybj729.com