智能网联汽车OTA升级安全设计思考

前言:寻找写作灵感?中文期刊网用心挑选的智能网联汽车OTA升级安全设计思考,希望能为您的阅读和创作带来灵感,欢迎大家阅读并分享。

智能网联汽车OTA升级安全设计思考

摘要:随着汽车行业快速向智能化、网联化、电动化的方向发展,车载电子器件(ECU)在整车系统中逐渐增多,整车和ECU已经实现从物理方式到软件升级(OTA)的更新迭代。当前针对汽车的黑客攻击事件频发,ota功能作为智能网联汽车的重要功能,也成为黑客的重点攻击对象。攻击者通过劫持、篡改、替换等攻击方法对智能网联汽车OTA升级链接发起攻击。文章基于当前智能网联汽车OTA升级架构进行安全分析,通过设计安全的OTA升级方案,提升整车OTA升级的安全性。

关键词:智能汽车;软件升级;信息安全;安全升级

前言

近年来,随着智能网联汽车的发展,越来越多的主机厂在汽车产品上集成了OTA升级功能,通过OTA实现系统升级、应用更新、漏洞修复及功能开通等等。目前主机厂OTA系统主要通过自主研发或由OTA供应商集成的方式在整车系统上实现OTA升级功能[1]。

1OTA系统架构

整车OTA系统主要分为云端、车端、通讯端三部分。云端主要功能包括:OEM云对接、车型/车辆/ECU版本信息管理、升级软件管理,差分包管理、大版本管理及策略创建、ECU关联升级配置、升级模式配置、策略测试、审批、发布等。车端主要功能包括:升级条件判断、软件包下载、升级包验签、升级包解密、安全刷写、升级状态上报等。通讯端主要负责在OTA升级过程中进行报文传输及升级包下载等。

2现阶段OTA升级中信息安全威胁

现阶段国内OEM已在量产车型上集成OTA升级功能,并通过实施安全策略保障OTA升级的安全性。目前常见的OTA升级校验模式分为两种:(1)基于HASH算法的完整性校验:云端使用HASH算法如MD5、SHA-1等计算升级文件HASH值,车端UC-Mstaer使用相同算法计算升级文件HASH值,通过对比HASH值,实现升级文件完整性校验[2],完成OTA升级校验。但攻击者通常可通过篡改HASH值、篡改校验逻辑从而绕过该校验方式。该种校验方式安全性较低且针对该方式的攻击方法较为成熟,不建议OEM厂商使用该校验方式实现OTA升级校验。(2)基于签名算法的签名校验:通过使用PKI系统生成公私钥,云端使用私钥对升级包数据校验和或其他与数据内容有关的变量进行加密处理,完成对数据的合法“签名”,UC-Master则利用云端的公钥来解读收到的“数字签名”,并将解读结果用于对数据完整性的检验,确认签名的合法性。保障OTA升级安全性。该种校验方式通过UC-Master对升级包进行验签,可以保证升级包整包的合法性和完整性,但在实际升级过程中,一个升级包整包通常打包有多个ECU升级包,UC-Master在完成升级包整包校验后,通过对升级包进行解包。通过网关或域控制器透传至目标ECU,对目标ECU进行升级刷写。通常目标ECU不会对升级包进行二次校验。随着现在攻击者攻击手段不断升级,攻击者可在UC-Master对升级包整包完成校验解包后,替换/篡改目标ECU升级包,达到恶意升级的目的。以上两种方法升级均存在一定安全威胁,虽然基于签名算法的校验保证了升级包整包的合法性和完整性,但在升级过程中无法对目标ECU升级包进行二次验证,导致仍存在一定安全隐患,影响整车OTA升级的安全性。

3安全的OTA升级设计

针对上文讨论,整车OTA升级安全性仍存在一定安全威胁。本文将基于数字签名和消息认证码设计一种安全的OTA升级方法,提高整车OTA升级安全性。

3.1数字签名

当前部分主机厂OTA升级系统通过调用PKI系统对升级包进行基于数字签名的合法性校验。数字签名通过使用发送方的私钥对原始数据进行签名,只有用发送方公钥才能通过签名验证。因此,私钥加密得到的密文实际上就是数字签名,要验证这个签名是否正确,只能用私钥持有者的公钥进行解密验证。使用数字签名的目的是为了确认某个信息确实是由某个发送方发送的,任何人都不可能伪造消息,并且,发送方也不能抵赖。OTA通过使用数字签名可实现防止伪造、防止抵赖、检测篡改、验证数据的完整性等,保证OTA升级过程中软件包的合法性。常见的数字签名算法有:MD5withRSA/SHA1withRSA/SHA256withRSA/SHA1withDSA/SHA256withDSA/SHA512withDSA/ECDSA等[3]。基于数字签名的校验流程:云端平台在升级任务下发前,通过签名算法(私钥)对软件升级包进行签名。车端OTA-Master通过调用PKI系统(公钥)SDK对升级包进行校验。但基于数字签名的OTA升级校验对车端UC-Matser环境要求较高,需通过集成PKI-SDK或内置密钥的形式进行。对零部件自身性能及安全性要求较高,通常UC-Master搭载在非实时操作系统的智能ECU中,如T-BOX、IVI、CGW中。主机厂还可在UC-Master的智能ECU中集成HSM(硬件安全模块)或SE芯片,保障OTA升级安全、高效。

3.2消息认证码

基于分组密码的消息认证码(CMAC)是基于AES算法,工作模式分为ECB、CBC、CFB、OFB四种,其中CBC和ECB这两种模式比较常用。当取AES作为MAC加密的分组密码时,一般采用CBC模式,所以通常称为基于AES的CBC-MAC,只需要一个块密码密钥,并且在加密数量方面进行了高度优化。从分组密码密钥K1中派生出两个掩码密钥K2和K3。如果最后一个块完成,掩码密钥K2将在最后一次加密之前添加;否则,添加掩码密钥K3。但由于分组密码算法特性,加解密运算时间相对哈希算法运算耗时较长。基于哈希的消息认证码(HMAC)是Keyed-HashingforMessageAuthentication的缩写。HMAC的MAC算法是HASH算法,首先它是基于信息摘要算法的。目前主要集合了MD和SHA两大系列消息摘要算法。其中MD系列的算法有HmacMD2、HmacMD4、HmacMD5三种算法;SHA系列的算法有HmacSHA1、HmacSHA224、HmacSHA256、HmacSHA384、HmacSHA512五种算法。HMAC算法除了需要信息摘要算法外,还需要一个密钥。HMAC的密钥可以是任何长度,如果密钥的长度超过了摘要算法信息分组的长度,则首先使用摘要算法计算密钥的摘要作为新的密钥。一般不建议使用太短的密钥,因为密钥的长度与安全强度是相关的。通常选取密钥长度不小于所选用摘要算法输出的信息摘要的长度。

3.3整车OTA安全设计

由于车端UC-Master只能对OTA升级整包进行校验,车端UC-Master完成校验后将升级包整包进行解包,通过网关透传到目标ECU进行刷写。但当前传统EEA架构中只有少数ECU搭载非实时操作系统,如:T-BOX、IVI、CGW等。绝大多数ECU不具备多线程多任务处理能力且不支持集成第三方SDK,如:VCU、BCM、BMS等。导致在这类非智能ECU上实现基于签名算法的升级校验较为困难。虽然开发者可以通过软件方式实现数字签名算法,但由于该类ECU通常性能较差,软件实现可能导致软件升级签名验证耗时较长,影响软件升级效率。整车的OTA升级需在保证安全的前提下,降低对整车及ECU性能影响。提高升级效率。针对当前整车EE架构,在OTA升级过程中OEM厂商在车端UC-Master中集成PKI-SDK,实现基于数字签名的升级校验。在云端下发升级任务后,车端DM下载软件升级包。UC-Master对升级包进行签名校验,校验完成后对升级包进行解包分发,通过网关透传到目标ECU。ECU根据自身软硬件架构,被升级ECU-UA对收到的升级包,使用数字签名或哈希消息认证码(HMAC)进行二次校验,校验成功后进行升级刷写安装。在整车OTA升级中,根据不同ECU软硬件架构。使用数字签名或消息认证码在车端的UC-Master和UA对升级包进行二次校验,可以充分保障整车OTA升级的安全性、可靠性。

4结论

在整车OTA升级中,信息安全在OTA升级中至关重要。随着攻击者攻击技术的不断提升,OEM除了保证OTA升级高效、可靠外,需对OTA升级安全进行不断的优化提升。本文通过分析不同ECU软硬件架构结合不同算法特性提出安全的OTA升级方案,有效提高了OTA升级的安全性。

作者:武智 刘天宇 贾先锋  单位:中汽数据(天津)有限公司