本文由武智,刘天宇,贾先锋联合创作

摘要

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

前言

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

1 OTA系统架构

整车 OTA 系统主要分为云端、车端、通讯端三部分。

云端主要功能包括:OEM 云对接、车型/车辆/ECU 版本信息管理、升级软件管理,差分包管理、大版本管理及策略创建、ECU 关联升级配置、升级模式配置、策略测试、审批、发布等。车端主要功能包括:升级条件判断、软件包下载、升级包验签、升级包解密、安全刷写、升级状态上报等。

通讯端主要负责在 OTA 升级过程中进行报文传输及升级包下载等。

图 1 OTA 升级系统架构图

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

现阶段国内 OEM 已在量产车型上集成 OTA 升级功能,并通过实施安全策略保障 OTA 升级的安全性。目前常见的 OTA 升级校验模式分为两种:

(1)基于 HASH 算法的完整性校验:云端使用 HASH 算法如 MD5、SHA-1 等计算升级文件 HASH 值,车端 UC-Mstaer 使用相同算法计算升级文件HASH 值,通过对比 HASH 值,实现升级文件完整性校验,完成 OTA 升级校验。但攻击者通常可通过篡改 HASH 值、篡改校验逻辑从而绕过该校验方式。

图 2 完整性校验

该种校验方式安全性较低且针对该方式的攻击方法较为成熟,不建议 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/SHA1 withRSA/ SHA256withRSA/ SHA1withDSA/ SHA 256withDSA/SHA512withDSA/ECDSA 等。

基于数字签名的校验流程:云端平台在升级任务下发前,通过签名算法(私钥)对软件升级包进行签名。车端 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- Hashing for Message Authentication 的缩写。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)进行二次校验,校验成功后进行升级刷写安装。

图 3 车端 OTA 升级流程

在整车 OTA 升级中,根据不同 ECU 软硬件架构。使用数字签名或消息认证码在车端的 UC-Master 和 UA 对升级包进行二次校验,可以充分保障整车OTA 升级的安全性、可靠性。

4 结论

在整车 OTA 升级中,信息安全在 OTA 升级中至关重要。随着攻击者攻击技术的不断提升,OEM 除了保证 OTA 升级高效、可靠外,需对 OTA 升级安全进行不断的优化提升。

本文通过分析不同 ECU 软硬件架构结合不同算法特性提出安全的 OTA 升级方案,有效提高了 OTA 升级的安全性。

智能网联汽车OTA升级安全设计相关推荐

  1. 东风风行T5配置科络达OTA 智能网联汽车正式面世

    中国上海2018年9月18日电 /美通社/ -- 市场前瞻咨询公司 ABI Research 报告称,到2022年将有2.03亿辆汽车配置 OTA 以进行软件升级,其中至少2200万辆汽车更具备进阶的 ...

  2. 智能网联汽车高精地图白皮书(2020)

    1. 前言 高精地图的发展与智慧交通.智能网联汽车紧密相关,从智能网联汽车上路伊始,高精地图产业就应势而生并飞速发展.相对于以往的导航地图,高精地图是智能网联汽车交通的共性基础技术,其服务的对象并非仅 ...

  3. 阿里登顶毕马威全球企业创新榜 AliOS引领智能网联汽车产业发展

    最近毕马威发布了2018年全球科技创新报告,对科技颠覆式创新者进行分析.八百多个美国科技企业高管都不得不承认阿里巴巴是超越Facebook.亚马逊.谷歌等美国科技企业,全球最具颠覆能力的科技企业. 阿 ...

  4. 智能网联汽车成兵家必争之地,恒驰智能网联汽车亮点何在?

    随着5G商用.物联网时代加速到来,智能网联汽车迎来发展的快车道. 在万物互联时代,车载场景作为消费者使用最为广泛的场景之一,未来无疑会成为流量大入口,这也是为什么多家互联网巨头纷纷入场造车的原因--试 ...

  5. 预见未来!智能网联汽车高峰论坛六大亮点抢先看!

    OFweek智能汽车网消息:由中国高科技行业门户OFweek维科网.高科会主办,OFweek智能汽车网.OFweek新能源汽车网承办的OFweek 2019 中国智能网联汽车发展高峰论坛将于2019年 ...

  6. 智能网联汽车——安全问题

    乘车出行,安全是基本保障.本篇推送主要介绍汽车在安全方面的分类以及具体的策略. 一.汽车被动安全 汽车发生碰撞事故,保护驾驶员的安全.主要包括安全气囊和安全带. 二.汽车主动安全 汽车行驶是靠轮胎和地 ...

  7. 7月行业政策丨《智能网联汽车道路测试与示范应用管理规范(试行)》,北京亦庄正式开放自动驾驶高速测试场景...

    国家政策 01 工业和信息化部发布<2021年汽车标准化工作要点> 工业和信息化部发布<2021年汽车标准化工作要点>,提出2021年汽车标准化工作将深入贯彻落实<新能源 ...

  8. 智能网联汽车硬件设备相关资料(取证用)

    转载初识智能网联汽车安全 - 安全客,安全资讯平台 0x00前言 前段时间报名了车联网赛事,但之前对车联网安全接触甚少,在比赛前准备过程中突击学习了一下车联网安全相关知识,内容比较浅,本文意为科普文章 ...

  9. ​2021智能网联汽车专题报告

    本文来源:民生证券研究院 / 导读 / 2021年L2+级别自动驾驶加速落地,ADAS渗透率持续提升,2023年市场规模有望超越1200亿. 短期,L2+.L3级别渗透率持续提升.ADAS系统作为实现 ...

  10. 智能网联汽车深度报告:车路协同,高阶自动驾驶新起点

    智能网联汽车深度报告:车路协同,高阶自动驾驶新起点 车路协同有望于 2030 年国内规模化落地,粗略估计国内市场将达万亿.智能网联 V2X 是核心,5G 部署进一步加速商用落地.需求端,汽车是继手机 ...

最新文章

  1. java 的toString()函数
  2. 限制MySQL Binlog的传输速率
  3. Lost Array(CF-1043B)
  4. Mac在Anaconda中安装XGBoost
  5. python 波浪号用法_「波浪号」matlab中波浪号~的作用和用法 - 金橙教程网
  6. 【ML小结11】高斯混合模型GMM
  7. UTrust4701F双界面NFC读写器读卡器测试软件读写NFC电子标签的文本|网址|电子名片|智能海报|蓝牙地址内容操作说明
  8. 【预测模型】基于粒子群优化宽度学习实现预测matlab代码
  9. 计算机操作员高级教学大纲,计算机操作员课程教学大纲.doc
  10. oracle cpu 消耗,解决Oracle CPU高度消耗(100%)的数据库问题
  11. 案例分析:互联网营销和传统营销的区别
  12. VIVADO生成并导入网表文件
  13. 大数据入门概念及应用场景
  14. 在AWS上的架构部署与设计
  15. 内网穿透工具Ngrok
  16. C/C++入门级小游戏——开发备忘录
  17. Linux下的C语言——第九节 指针
  18. linux查询服务器品牌命令,查看linux服务器的品牌和型号
  19. 3D相机测距原理总结
  20. 管理学博士申请考核经验分享——信息收集篇

热门文章

  1. 徐思201771010132《面向对象程序设计(java)》第十四周学习总结
  2. 线性代数应用于计算机科学例子,Sagemath在线性代数教学中的应用
  3. 算法日记---不同的二叉搜索树
  4. msdn原版系统和原版office
  5. 攻防世界-杂项-simple_transfer
  6. 黑客教父郭盛华:11个IDA Pro反汇编程序的替代品
  7. C语言常见问题(4):Collapsible if statements should be merged
  8. Android模仿通讯录
  9. c语言 取结构体地址,结构体赋值,对用不用取地址符有些困惑?
  10. css less使用