从远程装置编程车辆模块以及相关方法和系统的制作方法
【专利说明】从远程装置编程车辆模块以及相关方法和系统
[0001]相关申请的交叉引用
本文描述的主题涉及与其同时提交的美国专利申请序列号xx/xxx,XXX (代理卷号:P024876-GMVE-CD (003.1078))中描述的主题。
技术领域
[0002]本文描述的主题的实施例总体上涉及车辆系统,并且更具体地涉及使用来自远程装置的编程信息安全地编程车辆内的模块的系统和方法。
【背景技术】
[0003]在近些年来,技术的进步导致机动车辆设计的实质性改变。现代车辆包括大量电子部件,例如发动机控制单元(ECU)、牵引控制系统、动力转向系统、制动系统、气候控制系统、导航系统、信息娱乐系统等等。另外,现代车辆通常能够例如经由外部通信网络(例如蜂窝网络、无线网络、私人局域网络等)或物理接口(例如,总线接口等)支持发送至/发送自外部部件的通信。
[0004]在车辆的使用寿命期间,会希望重新编程或以其他方式更新一个或更多个车辆电子部件,从而例如支持或以其他方式提供新的特性和/或功能或者使用现有特征和/或功能解决潜在问题。允许车辆接收来自外部部件的更新或以其他方式从外部部件重新编程会造成大量网络安全风险。因此,希望提供安全地编程车辆电子部件且同时最小化网络攻击的易受性或敏感性的系统和方法。结合附图和前述技术领域和【背景技术】,从下文具体描述和所附权利要求中将显而易见到其他理想特征和特点。
【发明内容】
[0005]在各种示例性实施例中的一种中,提供一种用于车辆的设备。所述车辆包括第一模块、通信地联接到第一模块的认证模块和通信地联接到第一模块和认证模块的更新模块。更新模块被设置成获得用于第一模块的编程更新,其包括认证部分和编程数据部分。更新模块将编程数据部分提供给第一模块并且将认证部分提供给认证模块。在认证部分被认证之后,认证模块将认证部分提供给第一模块。
[0006]在另一实施例中,提供一种编程车辆模块的方法。所述方法包括从远程装置获得用于车辆模块的编程更新,其包括认证部分和编程数据部分。所述方法继续提供认证部分至联接到车辆模块的认证模块并且提供编程数据部分至车辆模块。在认证所述认证部分之后,所述方法继续提供来自认证模块的认证部分至车辆模块并且在提供认证部分至车辆模块之后至少部分地基于编程数据部分来更新车辆模块。
[0007]根据各种示例性实施例中的另一实施例,另一用于车辆的设备包括车辆通信网络、联接到车辆通信网络的车辆模块、联接到车辆通信网络的认证模块和联接到车辆通信网络的更新模块。更新模块被设置成从远程装置获得用于车辆模块的包括认证部分和编程数据部分的编程更新,经由车辆通信网络将编程数据部分提供给车辆模块,以及经由车辆通信网络将认证部分提供给认证模块。认证模块被设置成认证所述认证部分并且在认证部分被认证之后将认证部分提供给车辆模块。车辆模块被设置成在从认证模块接收认证部分之后至少部分地基于编程数据部分更新车辆模块上的目标应用。
[0008]本发明还提供了以下技术方案。
[0009]方案1.一种车辆,包括:
第一模块;
通信地联接到所述第一模块的认证模块;和
获得用于所述第一模块的编程更新的更新模块,所述编程更新包括认证部分和编程数据部分,其中所述更新模块通信地联接到所述第一模块和所述认证模块以便提供所述编程数据部分至所述第一模块并且提供所述认证部分至所述认证模块,在所述认证部分被认证之后所述认证模块提供所述认证部分至所述第一模块。
[0010]方案2.根据方案I所述的车辆,其中所述第一模块被设置成在接收到所述认证部分之后至少部分地基于所述编程数据部分更新所述第一模块上的目标应用。
[0011]方案3.根据方案2所述的车辆,所述编程数据部分包括指令组,其中所述第一模块通过执行所述指令组更新所述目标应用。
[0012]方案4.根据方案3所述的车辆,所述第一模块包括数据存储元件以便保持所述目标应用的配置信息,其中响应于执行所述指令组,所述第一模块使用更新的配置信息重写配置信息。
[0013]方案5.根据方案3所述的车辆,所述第一模块包括数据存储元件以便保持所述目标应用的代码,其中响应于执行所述指令组,所述第一模块使用更新的应用代码重写代码。
[0014]方案6.根据方案I所述的车辆,所述认证模块包括数据存储元件以便保持与所述车辆相关联的存储密钥,其中所述认证模块被设置成当从所述认证部分获得的密钥匹配所述存储密钥时认证所述认证部分。
[0015]方案7.根据方案I所述的车辆,其中所述更新模块被联接到网络以便经由所述网络从远程装置获得所述编程更新。
[0016]方案8.根据方案I所述的车辆,所述更新模块包括输入接口以便接收远程装置,其中所述更新模块经由所述输入接口从所述远程装置获得所述编程更新。
[0017]方案9.根据方案I所述的车辆,所述更新模块和所述认证模块被联接到第一车辆通信网络,并且所述认证模块和所述第一模块被联接到第二车辆通信网络,所述第二车辆通信网络不同于所述第一车辆通信网络,其中在所述认证部分被认证之后,所述认证模块允许所述更新模块经由所述认证模块提供所述编程数据部分至所述第一模块。
[0018]方案10.—种编程车辆模块的方法,所述方法包括:
从远程装置获得所述车辆模块的编程更新,所述编程更新包括认证部分和编程数据部分;
提供所述认证部分至与所述车辆模块联接的认证模块;
提供所述编程数据部分至所述车辆模块;
在认证所述认证部分之后,提供来自所述认证模块的所述认证部分至所述车辆模块;
以及
在提供所述认证部分至所述车辆模块之后至少部分地基于所述编程数据部分更新所述车辆模块。
[0019]方案11.根据方案10所述的方法,其中更新所述车辆模块包括更新所述车辆模块上的目标应用。
[0020]方案12.根据方案11所述的方法,所述编程数据部分包括指令组,其中更新所述目标应用包括所述车辆模块执行所述指令组。
[0021]方案13.根据方案10所述的方法,还包括:当从所述认证部分获得的密钥匹配与具有所述车辆模块的车辆相关联的存储密钥时,通过所述认证模块认证所述认证部分。
[0022]方案14.根据方案10所述的方法,其中获得所述编程更新包括经由外部通信网络从服务器下载所述编程更新。
[0023]方案15.根据方案10所述的方法,所述远程装置被插入到输入接口中,其中获得所述编程更新包括经由所述输入接口从所述远程装置获得所述编程更新。
[0024]方案16.根据方案10所述的方法,其中:
获得所述编程更新包括经由第一通信网络接收所述编程更新;
提供所述认证部分至所述认证模块包括经由与所述第一通信网络不同的第二通信网络提供所述认证部分至所述认证模块;
提供所述编程数据部分至所述车辆模块包括经由所述第二通信网络提供所述编程数据部分至所述车辆模块;以及
在认证所述认证部分之后提供来自所述认证模块的所述认证部分至所述车辆模块包括经由所述第二通信网络提供来自所述认证模块的所述认证部分至所述车辆模块。
[0025]方案17.根据方案10所述的方法,其中:
获得所述编程更新包括经由第一通信网络接收所述编程更新;
提供所述认证部分至所述认证模块包括经由与所述第一通信网络不同的第二通信网络提供所述认证部分至所述认证模块;
在认证所述认证部分之后提供来自所述认证模块的所述认证部分至所述车辆模块包括经由与所述第二通信网络不同的第三通信网络提供来自所述认证模块的所述认证部分至所述车辆模块;以及
提供所述编程数据部分至所述车辆模块包括经由所述第二通信网络提供所述编程数据部分至所述认证模块,在认证所述认证部分之后所述认证模块经由所述第三通信网络提供所述编程数据部分至所述车辆模块。
[0026]方案18.—种车辆,包括:
车辆通信网络;
联接到所述车辆通信网络的车辆模块;
联接到所述车辆通信网络的认证模块;以及联接到所述车辆通信网络的更新模块,其中:
所述更新模块被设置成:
从远程装置获得用于所述车辆模块的编程更新,所述编程更新包括认证部分和编程数据部分;
经由所述车辆通信网络提供所述编程数据部分至所述车辆模块;以及经由所述车辆通信网络提供所述认证部分至所述认证模块; 所述认证模块被设置成认证所述认证部分并且在所述认证部分被认证之后提供所述认证部分至所述车辆模块;以及
所述车辆模块被设置成在从所述认证模块接收所述认证部分之后至少部分地基于所述编程数据部分更新所述车辆模块上的目标应用。
[0027]方案19.根