汽车软件的安全启动

发布者:Wanderlust123最新更新时间:2024-12-18 来源: elecfans关键字:安全启动  服务 手机看文章 扫描二维码
随时随地手机看文章

首语

随着软件定义汽车(Software Defined Vehicles, SDV)的概念的提出,汽车软件发展迅速,其功能越来越多,也变得越来越智能,汽车在为人们更好服务的同时,许多安全问题也随之出现。汽车安全主要分为功能安全和信息安全,功能安全主要是要求降低汽车硬件的随机失效概率,信息安全则主要保证汽车软件安全运行、正常升级。怎样保证软件能够安全运行,让汽车ECU只运行完整的、可信的软件?这种要求可以让汽车的安全启动(Secure Boot)来做到。


一、安全启动了什么

当驾驶者准备启动汽车时,汽车中各种各样的软件便会被加载,完成各种各样的服务。这些软件是汽车厂商设计并经过验证的,汽车厂商保证了他们的软件可行性和安全性,并把这些软件在汽车卖给消费者之前就安装在汽车中,并在后期对软件维护和优化升级,通过在线升级(On The Air, OTA)技术对汽车软件进行远程升级。消费者能持续获得可靠的优质软件服务。

0ec22736-b249-11ed-bfe3-dac502259ad0.png?imageView2/2/w/1000

这些看起来都没什么问题,但如果在消费者使用过程,这些配套软件被恶意替换,那么不但软件可能无法提供相应的服务和安全性,还极有可能对人和汽车本身造成严重伤害。所以汽车厂商在设计之初,就考虑到这一问题,实现了安全启动来应对,安全启动是一段在启动引导程序(Bootloader)中的程序,在实现汽车各项功能的软件(App)启动之前,Bootloader会首先启动,对App进行校验,主要检查App的两项指标:完整性(Integrity)、可信度(Authentication),如果检查不通过,则不会启动App。完整性指软件二进制可执行文件是否保持原样,有没有被篡改;可信度指软件的来源是否可靠,在汽车软件中,指是否是汽车厂商提供的。这两项指标确保了汽车运行的软件是来自汽车厂商有安全保证的软件,并且没有被篡改,从而保护了人和汽车的安全。

0ed8bec4-b249-11ed-bfe3-dac502259ad0.png?imageView2/2/w/1000


二、怎样保证安全

怎么在汽车上实现对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。这就保证了软件的整体性。

0eeb087c-b249-11ed-bfe3-dac502259ad0.png?imageView2/2/w/1000


但这还不够,哈希函数的实现方式是公开的,汽车厂商可以正常的App生成一个哈希值H1存放起来,那么黑客也可以生产一份经过修改的App的哈希值H2替换之前的H1, 并把修改后的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又派上用场了,这块区域就可用来存储和汽车厂商成对的公钥。

0f04f43a-b249-11ed-bfe3-dac502259ad0.png?imageView2/2/w/1000


当然也有采用基于分组密码的消息认证码算法(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的存储空间,并不能为主核提供硬件加速,结构图如下:

0f1ea6f0-b249-11ed-bfe3-dac502259ad0.png?imageView2/2/w/1000


HSM就强大得多,拥有自己的CPU,并且有类似OTP的安全存储区域,其结构如下:

0f311ef2-b249-11ed-bfe3-dac502259ad0.png?imageView2/2/w/1000


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

三、安全启动流程

上述的这些解决方法和工具已经可以实现完整的安全启动过程,这里要介绍一个安全启动的概念——信任锚(Trust Anchor),大家可以把它理解为运动会中接力赛的接力棒,其实仔细想想就会发现,上面讲的很多安全启动的内容都是Bootloader来完成的,那么Bootloader的完整性和可信度又该怎么保证呢?其实就是靠这个信任锚,BootRom(是一段固化在芯片Rom中的程序)它先检查Bootloader的完整性和可信度,确保没有问题后,将信任锚传递给Bootloader,然后Bootloader进行密钥的检查、签名验证等操作,确保App是正确的,然后才启动App完成各种服务。

0f6dc316-b249-11ed-bfe3-dac502259ad0.png?imageView2/2/w/1000


四、发展与挑战

汽车软件发展迅速,它给人民生活带来极大的便利,但机会和风险是并存的,汽车软件的信息安全问题也不容小觑,以UNECE/WP. 29 (R155、R156) 和 ISO/SAE 21434 为代表的汽车信息安全的国际法规与标准已经发布与实施,我国也早已将发展智能网联汽车上升到国家战略高度,国家各部委根据在车联网关键部件和生命周期各环节的职责划分,制定相关政策及执行监管,包括网信办、工信部、交通运输部、公安部、国标委等,共同推动建立健全智能网联汽车信息安全管理机制。例如,市场监管总局分别在2020年11月和2021年6月发布文件,规范了 OTA 技术在召回工作中的应用,明确要求生产者采用 OTA 方式消除汽车产品缺陷、实施召回的,须向市场监管总局备案。要求车企在使用 OTA 开展技术服务活动时,需向市场监管总局质量发展局备案;车企如果使用 OTA 消除车辆缺陷、实施召回的,也需要向市场监管总局质量发展局备案。


汽车信息安全技术也在不断进步,国内外汽车厂商都在努力做出安全可靠的汽车软件。相关外企研发出HSM模块,并嵌入加密算法、访问控制、完整性检查等技术到汽车控制系统,但是目前HSM仍然不支持国密算法,存在技术壁垒,未能实现国产自主可控。国内对于芯片集成安全硬件还不完备,此种情况下能有一款支持国密标准的国产汽车硬件安全模块对国内汽车行业十分重要。国密算法是我国自主研发创新的一套数据加密处理系列算法,随着我国智能汽车信息安全的要求,需要将国密算法嵌入到硬件加密芯片中结合使用。


最好的情况就是,能在芯片层面保证安全启动的方案和App软件都是自主可控,这样就可以最大程度的保证人和汽车的安全。


关键字:安全启动  服务 引用地址:汽车软件的安全启动

上一篇:汽车线束耐久特性与触点压降测试方法的研究
下一篇:介绍SiC肖特基二级管在充电机AC-DC和DC-DC电路中的应用

推荐阅读最新更新时间:2026-03-25 11:15

我国智能网联汽车实力” 和 “硬指标” 同步提升
智能网联汽车,作为汽车产业与电子信息、通信、交通等多产业深度融合的结晶,正引领着汽车产业迈向转型升级的新征程。它在提升道路交通安全、优化交通效率、降低出行碳排放等方面具有不可估量的价值,已然成为汽车产业变革的关键战略方向。在汽车 “新四化”(电动化、网联化、智能化、共享化)的浪潮中,我国智能网联汽车产业不仅在诸如信息安全防护能力、人才供给质量、操作系统成熟度等 “软实力” 方面取得显著进步,其 “硬指标” 如产业规模、技术性能等也在不断攀升,实现了两者的同步提升。 政策引领,筑牢产业根基 为全力助推智能网联汽车产业的创新发展,近年来国家各部委纷纷出台一系列重磅政策。从《国家车联网产业标准体系建设指南(智能交通相关)》对产业标准
[嵌入式]
智能汽车、硬件架构产业链概述
软件架构产业链 汽车智能化的趋势下,“软件定义汽车”成为产业共识。软件定义汽车(Software Defined Vehicles,SDV)指的是软件将深度参与到汽车定义、开发、验证、销售、服务等过程中,并不断改变和优化各个过程,实现体验持续优化、过程持续优化、以及价值的持续创造。 传统汽车软件产业中,产业链较短,产业结构较为简单(如图)。软件产品主要为一些基础软件程序或简单的嵌入式实时OS,与ECU 硬件深度耦合。产业链上游为软件产品供应商,中游为零部件集成商,下游为整车集成商。部分主流Tier1 厂商同时涉及上游和中游环节,构建核心技术壁垒,整车企业基于单个车型设计需求选择各个ECU 进行搭配,零部件间关联较小,车型间
[汽车电子]
智能化浪潮下,消费者如何了解汽车智能化的“实力”?
如果说2022年是智能驾驶元年,一点也不过分。激光雷达、高算力芯片在不同车型上亮相,而智能辅助驾驶的功能,也从最基础的AEB(自动紧急刹车系统)、LCC(车道居中辅助系统)发展到了在城区道路都能用的导航辅助驾驶(NOA)。 不过,这些功能用着到底令人放不放心?事实上,目前的量产车几乎都还是L2级及以下的辅助驾驶,而不是所谓的“自动驾驶”。因此,驾驶的安全责任人依然是驾驶员,这就给了辅助驾驶功能一些“空间”。市面上的车型有些功能在交车时还不那么好用,甚至还用不了,要等后期的OTA升级。 而用户事实上也很难了解到一辆车智能驾驶的真实水平。如果看硬件,以目前的新势力“蔚小理”来说,三家品牌的新车都用了英伟达Orin芯片,而在激光
[汽车电子]
智能化浪潮下,消费者如何了解<font color='red'>汽车</font>智能化的“<font color='red'>软</font>实力”?
圆柱形电芯和包电芯 谁更适合电动汽车
2017年1月,全球知名电动汽车品牌特斯拉对外宣称,该公司位于内华达州的超级工厂(Gigafactory)已经开始量产锂离子电池。这款圆柱形“2170锂电池”是特斯拉和松下共同设计的,将用于特斯拉储能产品和新款Model 3轿车。 从18650到2170,圆柱型锂离子电池的风头似乎越来越盛。然而,虽然特斯拉执着于以18650为代表的圆柱形电池,另外两大世界电动汽车品牌,日产聆风和雪佛兰沃蓝达的选择却有所不同。资料显示,日产聆风、雪佛兰沃蓝达在动力电池上的选择上是层叠式软包电池。 同为世界知名的电动汽车品牌,什么原因让它们对动力电池的选择截然不同? 在车用动力电池应用领域,18650锂电池和软包电池各自的优缺点又在哪里呢? 电
[汽车电子]
基于CMAC技术的安全启动方案
01 信息安全需求 本章节主要从硬件安全、系统安全、通信安全、数据安全四个方面介绍下信息安全的需求,重点介绍硬件安全和系统安全。 1.1 硬件安全 硬件安全主要关注的是PCB板的保密措施和关键芯片的加密功能。 1.1.1 接口安全 量产阶段,调试接口(如JTAG,SWD等)不宜直接暴露在PCB板上,如果无法避免,建议改为测试PIN方式分散布置。 量产阶段,调试接口需要设置安全的身份验证,身份验证的口令至少为8位,且必须包含数字、大小写字母。 对于车灯模组来说,需要注意的是主控MCU的调试接口,其他的外围芯片基本不涉及到代码读取。 1.1.2 主板安全 量产阶段,主板上的关键芯片(如主控芯片、硬件加密芯片、收发器等)、端口和管脚功能
[嵌入式]
基于CMAC技术的<font color='red'>安全</font><font color='red'>启动</font>方案
汽车MCU基于非对称算法的伪安全启动方案
01 概述 随着软件定义汽车理念的普及,汽车上代码量不断膨胀,功能不断智能化,用户体验不断升级。从传统汽车不需要联网,到职能汽车具有联网功能已是标配,汽车触网必将带来更多信息安全问题。汽车的信息安全问题比IT领域更加重要,因为可能危及生命安全。故国家也出台强标《汽车整车信息安全技术要求》(目前还处于征求意见稿),在强标的的9.1.1条提出“车载软件升级系统应具备安全启动的功能,应保护车载软件升级系统的可信根、引导加载程序、系统固件不被篡改,或被篡改后无法正常启动”。 故安全启动功能后续将成为强标的一部分,具有OTA功能的ECU都必须配备。但目前,MCU普遍未实用HSM功能,国内MPU
[汽车电子]
STM32L5系列—SRAM、Flash和启动机制的最新安全特性(一)
SRAM SRAM 原生地址 vs. 别名地址 BOOT启动地址 启动地址选择 / TZEN = 0 演示:启动地址选择 / TZEN = 0 启动地址选择 / TZEN = 1 片上Flash 在系统架构中位置 片上Flash. 组织结构 片上Flash. 安全相关特性 Trust Zone(TZ) 环境的使能和撤销
[单片机]
意法半导体推出面向安全系统的快速启动负载开关
中国,2022 年9月6日—— 意法半导体推出了IPS1025HF快速启动高边功率开关,目标应用是要求上电延迟时间极短的安全系统。 即使考虑到Vcc电源通断情况,IPS1025HF的通断响应时间仍然小于60µs,确保安全保护系统达到指定的安全完整性等级 (SIL)。支持8.65V至 60V宽压输入,输入引脚最高耐受电压 65V,这款紧凑的器件能够承受工业应用的恶劣工况。目标应用包括可编程逻辑控制器 (PLC)、自动售货机、工厂自动化 I/O 外围设备和计算机数控 (CNC) 机床的电源控制。 像意法半导体智能功率开关系列中类似的单通道和双通道产品一样,IPS1025HF也有两个可编程限流设置, 允许用户在功率开关激活时设置
[电源管理]
小广播
最新嵌入式文章
何立民专栏 单片机及嵌入式宝典

北京航空航天大学教授,20余年来致力于单片机与嵌入式系统推广工作。

厂商技术中心

 
EEWorld订阅号

 
EEWorld服务号

 
汽车开发圈

 
机器人开发圈

电子工程世界版权所有 京ICP证060456号 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号 Copyright © 2005-2026 EEWORLD.com.cn, Inc. All rights reserved