当前位置:首页 > 软件 > 正文内容

汽车软件的安全启动

山东印刷厂2年前 (2023-03-12)软件29
印刷厂直印●彩页1000张只需要69元●名片5元每盒-更多报价➦联系电话:138-1621-1622(微信同号)

来源 | 汽车电子与软件

知圈 | 进“滑板底盘群”请加微yanzhi-*,备注底盘

首语

跟着软件定义汽车(Software Defined Vehicles, SDV)的概念的提出,汽车软件开展敏捷,其功用越来越多,也变得越来越智能,汽车在为人们更好办事的同时,许多平安问题也随之呈现。汽车平安次要分为功用平安和信息平安,功用平安次要是要求降低汽车硬件的随机失效概率,信息平安则次要包管汽车软件平安运行、一般晋级。如何包管软件可以平安运行,让汽车ECU只运行完好的、可信的软件?那种要求能够让汽车的平安启动(Secure Boot)来做到。

一、平安启动了什么

当驾驶者筹办启动汽车时,汽车中各类各样的软件便会被加载,完成各类各样的办事。那些软件是汽车厂商设想并颠末验证的,汽车厂商包管了他们的软件可行性和平安性,并把那些软件在汽车卖给消费者之前就安拆在汽车中,并在后期对软件维护和优化晋级,通过在线晋级(On The Air, OTA)手艺对汽车软件停止长途晋级。消费者能持续获得可靠的优良软件办事。

那些看起来都没什么问题,但若是在消费者利用过程,那些配套软件被歹意替代,那么不单软件可能无法供给响应的办事和平安性,还极有可能对人和汽车自己形成严峻危险。所以汽车厂商在设想之初,就考虑到那一问题,实现了平安启动来应对,平安启动是一段在启动引导法式(Bootloader)中的法式,在实现汽车各项功用的软件(App)启动之前,Bootloader会起首启动,对App停止校验,次要查抄App的两项目标:完好性(Integrity)、可信度(Authentication),若是查抄欠亨过,则不会启动App。完好性指软件二进造可施行文件能否连结原样,有没有被窜改;可信度指软件的来源能否可靠,在汽车软件中,指能否是汽车厂商供给的。那两项目标确保了汽车运行的软件是来自汽车厂商有平安包管的软件,而且没有被窜改,从而庇护了人和汽车的平安。

二、如何包管平安

怎么在汽车上实现对App的完好性和可信度的查抄呢?那里就需要一些密码学(Cryptography)手艺。

先来领会一些名词:

哈希函数(Hash Function):可将肆意长度数据转化为指定长度摘要(e.g. SHA2平安哈希函数,MD5)

对称加密(Symmetric Encryption):用统一把密钥对数据停止加解密(e.g. DES,AES高级加密尺度)

非对称加密(Asymmetric Encryption):利用公钥和私钥对数据加解密(e.g. RSA,ECC)

完好性验证

App可施行文件是一个二进造文件,能够把App的可施行文件做为哈希函数的输入,会得到一个固定长度的哈希值(Hash Value),那里就不能不提到哈希函数的一个特点,哈希函数的输入值改动会影响输出值,并且是极大的改动,哪怕是输入值的一位(Bit)数据被改动。设想,利用哈希函数把汽车厂商的正版软件做为输入得到一个哈希值,并把其保留起来,黑客得到了汽车厂商的App并对其修改,然后想让汽车运行他修改正的软件,Bootloader在启动平安启动时,对修改后的App的再做一次哈希,发现与先前的值判然不同,也就不会启动带有风险的App。那就包管了软件的整体性。

但那还不敷,哈希函数的实现体例是公开的,汽车厂商能够一般的App生成一个哈希值H*存放起来,那么黑客也能够消费一份颠末修改的App的哈希值H2替代之前的H*, 并把修改后的App刷入汽车中,如许Bootloader启动时发现保留的哈希值H2和即将要运行的App(颠末修改的)一致,则会一般运行。就能够骗过平安启动的验证,到达运行修改后App的目标。处理那一问题,那就要提到另一个手艺——一次性可编程(One Time Programmable, OTP),那是单片机的一种存储器类型,其感化是法式烧入单片机后,将不成再次更改和肃清,汽车厂商能够将本身App所生成的哈希值存储到如许的存储器中,就能够包管颠末平安启动验证的App必然是汽车厂商所供给的,那块区域也不成能被窜改。

可信度验证

但接下来还有一个问题需要处理,前面我们提到过OTA手艺,汽车厂商会在消费者利用汽车过程中,持续对汽车软件停止维护和晋级,若是汽车厂商把最后那一版App的哈希值放到了OTP存储器中,那么成果就是,汽车厂商对App晋级后,因为那块区域的内容无法被更改(汽车厂商也无法修改),成果就是晋级App后,因为平安启动校验欠亨过,招致软件无法启动。所以我们得采纳其他的处理计划。

那里能够利用数字签名(Digital Signature)手艺,能够接纳非对称加密算法,操纵私钥(Private Key)对汽车厂商App的哈希值停止加密生成一个签名保留起来,签名只能用公钥(Public Key)才气解密,签名解密后是一串哈希值,我们就能够用那个哈希值和即将要启动的App的哈希值停止比力。如许看起来就好了良多,在OTA晋级时,利于数字签名手艺对将要晋级的App停止完好性和可信度验证,确保将要晋级的App没有被窜改而且确实来自于汽车厂商(汽车厂商操纵私钥加密,汽车软件晋级验证时用公钥解密),然后将签名写入FLASH某个区域(不需要OTP特征)。那么公钥放在那里呢?前面提到的OTP又派上用场了,那块区域就可用来存储和汽车厂商成对的公钥。

当然也有接纳基于分组密码的动静认证码算法(Cipher-based Message Authentication Code,CMAC)的计划停止平安启动的验证,其目标是类似的,只不外利用的办法差别。

若何实现加解密

有领会决计划,若何实现那些复杂的算法呢?那里就要讲一讲车规级MCU的开展汗青了,在一起头, MCU的芯片厂商并没有集成硬件来完成加密算法(Cryptographic Algorithm),加解密过程根本都是软件来实现的,其实软件加解密那一块离各人都很近,好比,熟悉Linux的同窗晓得,两个客户端要停止SSH通信前,需要提早生成SSH钥匙,那里的SSH钥匙就是上面提到的非对称加密算法中的公钥和私钥。如许实现加密算法的办法就是软件实现,所以早期汽车实现那些加密算法也都是通过软件层面实现的。那种体例有必然缺陷,好比加解密过程中,需要MCU中主核(一般是M4或M7)来完成整个算法,期间也不克不及做其他的事,主核在设想之初也没有考虑对加解密算法停止优化,成果就是现实效率会差良多。

目前,支流的办法是通过硬件实现加密算法,例如硬件平安模块(HSM,Hardware Security Modules)和平安硬件拓展(SHE,Secure Hardware Extension)。

SHE望文生义,是对MCU的扩展,它次要供给类似于OTP的存储空间,其实不能为主核供给硬件加速,构造图如下:

HSM就强大得多,拥有本身的CPU,而且有类似OTP的平安存储区域,其构造如下:

目前,大大都高端车规级芯片城市集成SHE和HSM,国外芯片厂商有ST、NXP、infineon等,国内芯片厂商有芯驰、地平线、黑芝麻等,比力常见内嵌HSM模块的芯片有意法半导体的SPC58、英飞凌的Trave系列、芯驰的G9X。

三、平安启动流程

上述的那些处理办法和东西已经能够实现完好的平安启动过程,那里要介绍一个平安启动的概念——信赖锚(Trust Anchor),各人能够把它理解为运动会中接力赛的接力棒,其实认真想想就会发现,上面讲的良多平安启动的内容都是Bootloader来完成的,那么Bootloader的完好性和可信度又该怎么包管呢?其实就是靠那个信赖锚,BootRom(是一段固化在芯片Rom中的法式)它先查抄Bootloader的完好性和可信度,确保没有问题后,将信赖锚传递给Bootloader,然后Bootloader停止密钥的查抄、签名验证等操做,确保App是准确的,然后才启动App完成各类办事。

四、开展与挑战

汽车软件开展敏捷,它给人民生活带来极大的便当,但时机和风险是并存的,汽车软件的信息平安问题也不容小觑,以UNECE/WP. 29 (R*55、R*5*) 和 ISO/SAE 2*434 为代表的汽车信息平安的国际律例与尺度已经发布与施行,我国也早已将开展智能网联汽车上升到国度战略高度,国度各部委按照在车联网关键部件和生命周期各环节的职责划分,造定相关政策及施行监管,包罗网信办、工信部、交通运输部、公安部、国标委等,配合鞭策成立健全智能网联汽车信息平安办理机造。例如,市场监管总局别离在2020年**月和202*年*月发布文件,标准了 OTA 手艺在召回工做中的应用,明白要求消费者接纳 OTA 体例消弭汽车产物缺陷、施行召回的,须向市场监管总局存案。要求车企在利用 OTA 开展手艺办事活动时,需向市场监管总局量量开展局存案;车企若是利用 OTA 消弭车辆缺陷、施行召回的,也需要向市场监管总局量量开展局存案。

汽车信息平安手艺也在不竭前进,国表里汽车厂商都在勤奋做出平安可靠的汽车软件。相关外企研发出HSM模块,并嵌入加密算法、拜候控造、完好性查抄等手艺到汽车控造系统,但是目前HSM仍然不撑持国密算法,存在手艺壁垒,未能实现国产自主可控。国内关于芯片集成平安硬件还不完整,此种情况下能有一款撑持国密尺度的国产汽车硬件平安模块对国内汽车行业非常重要。国密算法是我国自主研发立异的一套数据加密处置系列算法,跟着我国智能汽车信息平安的要求,需要将国密算法嵌入到硬件加密芯片中连系利用。

更好的情况就是,能在芯片层面包管平安启动的计划和App软件都是自主可控,如许就能够更大程度的包管人和汽车的平安。

五、写在最初

起首感激各人看到那里,以上内容是通过搜集并整理网上材料编写的,因为本人才能有限,可能存在诸多错误和理解不到位的处所。但仍是希望可以起到传递常识的效果,所借鉴的材料城市附在文末。

参考材料

*.中国汽车根底软件-信息平安研究陈述 *.0

2.现代密码学(第5版)杨波

3.【【Vector中国】汽车收集平安一站式处理计划-嵌入式软件】

4.汽车功用平安(ISO 2*2*2)系列 - 开篇 - AUTO世代的文章 - 知乎

5.信息平安中的HSM 和 SHE 两个概念有什么区别和不异的处所?- 姜鸿雷的答复 - 知乎

*.车规级平安芯片HSM、SE等

收藏0

发表评论

访客

看不清,换一张

◎欢迎参与讨论,请在这里发表您的看法和观点。