System.ArgumentOutOfRangeException: 索引和长度必须引用该字符串内的位置。 参数名: length 在 System.String.Substring(Int32 startIndex, Int32 length) 在 zhuanliShow.Bind()
【技术实现步骤摘要】
总的来说,本专利技术涉及车辆空中下载(ota:over-the-air)的。具体而言,本专利技术涉及一种用于车辆软件更新的车载系统,还涉及一种车辆软件更新方法以及一种相应的机器可读存储介质。
技术介绍
1、随着车辆的智能化和网联化程度的不断提升,空中下载(ota)技术将广泛用于车辆软件的在线升级(例如,通常所说的“刷写车辆ecu”)。ota方式的车辆软件升级与现有的车辆软件升级方式之间的最大不同在于通信环境发生了变化。现有的车辆软件升级方式通常是将车辆送至预定地点去离线更新。而ota方式借助于车辆与诸如云端服务器之类的外部节点之间的通信来在线更新。这样,车辆ota技术的难点之一在于验证接收到本车的软件更新版本的可用性和完整性。因为,在通过ota的数据传输过程中很可能出现被恶意攻击的情形,例如,数据丢失、数据篡改或数据替换,从而导致接收到本车的软件更新版本是不可用的。
技术实现思路
1、在此背景下,本专利技术的一个方面提供了一种用于车辆软件更新的车载系统。该车载系统包括通信单元,配置成与存储有车辆软件的更新版本的外部节点通信连接,以接收更新版本的报文帧。该车载系统还包括控制单元,配置成:在将更新版本的报文帧接收到本车的过程中,对接收到的至少部分报文帧进行验证,以验证接收过程中的数据的正确性;在接收过程中的验证通过的情况下,允许通信单元继续接收新的报文帧;在将更新版本的所有报文帧接收到本车之后,对所述更新版本进行混合式验证,其中,所述混合式验证包括验证所述更新版本的数据完整性、来源可靠
2、在一个实施例中,所述控制单元配置成:基于通信单元与外部节点之间的数据传输模式和接收到的报文帧的数据类型来验证接收过程中的数据的正确性。
3、在一个实施例中,所述控制单元配置成:如果接收到的报文帧的数据类型为软件代码,并且通信单元与外部节点之间的数据传输模式为普通模式或顺序模式,则采用消息认证码来验证接收过程中的数据的正确性并进行认证;如果接收到的报文帧的数据类型为软件代码,并且通信单元与外部节点之间的数据传输模式为并行模式,则采用消息认证码或签名校验来验证接收过程中的数据的正确性;以及如果接收到的帧报文的数据类型为车辆配置信息,并且通信单元与外部节点之间的数据传输模式为普通模式或顺序模式,则采用签名校验来验证接收过程中的数据的正确性。
4、在一个实施例中,在所述混合式验证的多项验证中的每一项验证都通过时,所述混合式验证通过,且在所述多项验证中的至少一项验证不通过时,所述混合式验证不通过。
5、在一个实施例中,验证所述更新版本的数据完整性包括:在通过预定算法计算出的数值与预定数值相等时,该项验证通过;以及在通过预定算法计算出的数值与所述预定数值不相等时,该项验证不通过。例如,采用hash方式或其他类似功能算法进行该软件完整性的验证。
6、在一个实施例中,验证所述更新版本的来源可靠性包括:对所述更新版本中表示其来源的签名进行验签,如果签名验签通过,则该项验证通过;如果签名验签不通过,则该项验证不通过。例如,在车辆ecu内存储了公钥,采用该公钥对软件包内用私钥签名的签名进行验签。该签名例如包括以下一项或多项:供应商确定的签名(即,仅由供应商单方提供的签名)、整车厂确定的签名(即,仅由整车厂单方提供的签名)、以及供应商与整车厂共同确定的签名(即,由供应商和整车厂双方协商之后确定的签名)。
7、在一个实施例中,验证所述更新版本中的配置信息的匹配性包括:对配置信息的签名进行验签,如果签名验签通过,表示该配置信息是可用的(例如,车辆品牌和型号均匹配),则该项验证通过;如果签名验签不通过,表示该配置信息是不可用的(例如,车辆品牌和/或型号不匹配),则该项验证不通过。例如,在车辆ecu内存储了公钥,采用该公钥对软件包内用私钥签名的签名进行验签。
8、在一个实施例中,所述控制单元还配置成采用以下方式之一来验证接收过程中的数据正确性:在接收过程中,对接收到的每帧报文进行验证;和在接收过程中,对接收到的部分报文帧进行验证,可选地,对预定时长内接收到的多帧报文中的第一帧报文或最后一帧报文进行验证。
9、在一个实施例中,所述控制单元还配置成:在接收过程中的验证不通过时,控制通信单元向外部节点发送用于请求重新发送验证未通过的报文帧的请求信息;
10、对接收到的、重新发送的报文帧再次进行数据正确性验证;如果验证通过,则允许通信单元接收新的报文帧;以及如果验证不通过,则退出本次车辆软件更新。
11、根据本专利技术的另一个方面,提供了一种车辆软件更新方法,可选地所述方法由如上所述的车载系统执行,所述方法包括:从外部节点将车辆软件的更新版本的报文帧接收到本车;在将更新版本的报文帧接收到本车的过程中,验证接收到的至少部分报文帧的数据正确性;在接收过程中的验证通过的情况下,允许通信单元继续接收新的报文帧;在将更新版本的所有报文帧都接收到本车之后,对所述更新版本进行混合式验证,其中,所述混合式验证包括验证所述更新版本的数据完整性、来源可靠性和配置信息的匹配性;以及在所述混合式验证通过的情况下,允许所述更新版本在本车内安装。
12、根据本专利技术的又一个方面,提供了一种计算机可读介质,存储计算机程序,所述计算机程序当被处理器执行时,使得所述处理器执行如上所述的方法。
本文档来自技高网...【技术保护点】
1.一种用于车辆软件更新的车载系统,包括:
2.如权利要求1所述的车载系统,其中,所述控制单元配置成:
3.如权利要求1或2所述的车载系统,其中,所述控制单元配置成:
4.如权利要求1-3中任一项所述的车载系统,其中,在所述混合式验证的多项验证中的每一项验证都通过时,所述混合式验证通过,且在所述多项验证中的至少一项验证不通过时,所述混合式验证不通过。
5.如权利要求1-4中任一项所述的车载系统,其中,验证所述更新版本的数据完整性包括:
6.如权利要求1-5中任一项所述的车载系统,其中,验证所述更新版本的来源可靠性包括:
7.如权利要求6所述的车载系统,其中,所述更新版本中表示其来源的签名包括以下一项或多项:
8.如权利要求1-7中任一项所述的车载系统,其中,验证所述更新版本中的配置信息的匹配性包括:
9.如权利要求1-8中任一项所述的车载系统,其中,所述控制单元还配置成采用以下方式之一来验证接收过程中的数据正确性:
10.如权利要求1-9中任一项所述的车载系统,其中,所述控
11.一种车辆软件更新方法,可选地所述方法由如权利要求1-10中任一项所述的车载系统执行,所述方法包括:
12.一种计算机可读介质,存储计算机程序,所述计算机程序当被处理器执行时,使得所述处理器执行如权利要求11所述的方法。
...【技术特征摘要】
1.一种用于车辆软件更新的车载系统,包括:
2.如权利要求1所述的车载系统,其中,所述控制单元配置成:
3.如权利要求1或2所述的车载系统,其中,所述控制单元配置成:
4.如权利要求1-3中任一项所述的车载系统,其中,在所述混合式验证的多项验证中的每一项验证都通过时,所述混合式验证通过,且在所述多项验证中的至少一项验证不通过时,所述混合式验证不通过。
5.如权利要求1-4中任一项所述的车载系统,其中,验证所述更新版本的数据完整性包括:
6.如权利要求1-5中任一项所述的车载系统,其中,验证所述更新版本的来源可靠性包括:
7.如权利要求6所述的车载系统,...
【专利技术属性】
技术研发人员:滕欢,
申请(专利权)人:罗伯特·博世有限公司,
类型:发明
国别省市:
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。