ECU在OTA中的信息安全简介

一、概述

  随着汽车智能化程度越来越高,OTA已经是职能汽车的基础功能和标志性功能。OTA通常分为SOTA和FOTA,并且OTA过程中,通常涉及“云-管-端”三个环节。本文主要介绍一种在“端”上FOTA场景的信息安全部分,并涉及部分“云”和“管”上的信息安全内容。

二、总体流程

  以“端”为核心的OTA信息安全简化流程如下:

在这里插入图片描述

  1. 主机厂在制作升级包的时候,需按照流程进行加密或验签等操作,确保升级包中包含了信息安全内容
  2. ECU查询到存在可用的升级包
  3. ECU需与车机交互,由用户授权进行下载和升级
  4. ECU访问OTA服务器,获取升级信息,此步骤基于mTLS实现
  5. ECU通过步骤3中的升级信息,通过单向TLS访问CDN,并进行升级包的下载
  6. 升级包下载成功后,ECU对升级包进行解密并验签,通过后即可认为升级包合法,进入升级流程

三、信息安全细节

  在上述流程中,涉及信息安全的主要是TLS、加解密、验签等环节。用途如下:

  1. TLS:通过TLS协议解决双方的可信认证和传输安全。建立mTLS时,ECU和OTA Server分别会验证对方证书的合法性,通过此机制双方都是合法的,避免有攻击者冒充ECU或冒充OTA Server。后续传输信息基于TLS,也保证了信息的传输安全性
  2. 加解密:通过对升级包进行加解密,保证升级包的机密性。因为CDN是单向认证(实际也可以配置mTLS,即便是mTLS,也可以考虑对升级包加密),可能导致攻击者获取到升级包的CDN地址,即可进行下载。通过对升级包进行加密,使得攻击者即便知道CDN地址,下载的软件包也是密文,从而保护升级包的机密性。对升级包加密可有效保证升级包的机密性,但同时也带来一个问题:升级用时变长,因为升级包通常比较大,会导致解密过程耗时较多,进而导致整个升级用时变长
  3. 验签:验签主要保证升级包的完整性和真实性

3.1 TLS

  TLS主要使用两种模式:双向认证mTLS、单向TLS。TLS原理都遵循RFC标准,以下做简单介绍

  1. mTLS:在三次握手时,ECU会验证OTA Server的证书,OTA Server也会验证ECU的证书。验证过程包含:a.用证书链验证证书 b.使用OCSP验证证书。以上两步都通过,才可判定证书验证通过。
    a. 因OTA Server会验证ECU证书,因此需确保ECU具有证书和私钥。通常此证书和私钥在OEM产线注入,格式可选择P12等,其中私钥在ECU中需进行安全存储。
    b. 因使用到证书链,因此ECU需具有证书链。此证书链可通常可在开发阶段提前预置,并且ECU需要确保证书链的不可更改性。
  2. 单向TLS:当服务端无法配置mTLS时,可配置单向TLS。单向TLS仅实现ECU对OTA Server的认证,OTA ServER缺少对ECU的认证,其他和mTLS一致

3.2 加解密

  对升级包进行加密主要目的是保护升级包的机密性,但缺点是需解密操作,比较耗时(尤其在软件包较大时),因此是否对软件进行加解密应综合考虑。加解密通常使用对称算法AES(非对称速度更慢),可使用AES-CBC或AES-GCM等算法实现(具体实现可参考mbedtls移植之AES算法)。使用对称算法需要解决一个重要问题:对称密钥的机密性保护。通常此对称密钥不建议预置,因为采用预置的方式,密钥泄漏后难以更新已量产车的密钥。推荐在OTA时实时下发,简单点就通过mTLS在“请求OTA基础信息”时OTA Server下发到ECU。若想安全性更高,可以考虑采用数字信封方案。

3.3 验签

  验签主要目的是验证升级包的完整性和真实性,验签在OTA过程中必须具有,否则攻击者可伪造升级包或篡改升级包后进行OTA,导致非法或非预期软件运行在ECU中。验签通常使用SHA256+RSA2048或SHA256+ECDSA算法(具体算法实现可参考mbedtls移植之RSA签名验签算法mbedtls移植之ECDSA签名验签算法),验签过程简化图如下:
在这里插入图片描述

通常非对称的公私钥对由OEM生成和管理,私钥需严格保护,避免泄漏。公钥或证书可在OEM产线注入到ECU中,也可提前给供应商预置,ECU中的公钥或证书需具有不可更改性。若攻击者可篡改此公钥/证书,则会导致验签流程不可信。

四、思考

  1. OTA过程中需要信息安全的目的核心是保障升级包的完整性和真实性,因此最基础的需求是升级包需具有签名且ECU需对升级包进行签名验签。在此基础上,可扩展出更多信息安全需求,例如传输的安全性、升级包是否有必要保护机密性、相关证书/密钥等如何安全的传输和存储等。
  2. 应结合实际场景进行方案设计,例如有些ECU仅支持OBD刷写,那理论上ECU只要做签名眼前即可,其他环节的安全性不需要ECU参与。有些ECU支持OTA,但属于被刷件,那相关措施就需要在OTA Master上实施。
  3. 应建立PKI系统以便规范化的管理相关密钥、证书等。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值