首页 / 专利库 / 专利权 / 专利合作条约 / 第I章 / 国际申请 / 请求书 / 用于车辆控制模块的安全软件文件传输系统和方法

用于车辆控制模的安全软件文件传输系统和方法

阅读:481发布:2023-02-22

专利汇可以提供用于车辆控制模的安全软件文件传输系统和方法专利检索,专利查询,专利分析的服务。并且本 发明 涉及用于车辆控 制模 块 的安全 软件 文件传输系统和方法。一种 服务器 包括输入模块,所述输入模块接收来自设计网络的第一内容文件和第一指令文件。第一指令文件包含第一组参数。作业 请求 模块基于第一指令参数集而确定第二参数集,并且生成包括第二参数集的第二指令文件。作业请求模块把第一内容文件和第二参数集传输至签名服务器。输出模块接收来自签名服务器的签名文件。签名服务器基于第二指令文件而生成签名文件。输出模块把签名整合入第一内容文件以生成第二内容文件并且把第二内容文件下载到维护服务器、制造服务器、和供应商网络中的至少一个。,下面是用于车辆控制模的安全软件文件传输系统和方法专利的具体信息内容。

1. 一种服务器,包括:
输入模,所述输入模块接收来自设计网络的第一内容文件和第一指令文件,其中,所述第一指令文件包含第一组参数;
作业请求模块,所述作业请求模块基于所述第一指令参数集确定第二参数集并且生成包括所述第二参数集的第二指令文件,其中,所述作业请求模块把所述第一内容文件和所述第二参数集传输至签名服务器;以及
输出模块,所述输出模块接收来自所述签名服务器的签名文件,其中,所述签名服务器基于所述第二指令文件而生成所述签名文件,并且
其中,所述输出模块把所述签名整合入所述第一内容文件以生成第二内容文件,并且把所述第二内容文件下载到维护服务器、制造服务器、和供应商网络中的至少一个。
2. 一种文件下载系统,包括:
权利要求1所述的服务器;
所述维护服务器;以及
所述制造服务器。
3. 一种方法,包括:
接收来自设计网络的第一内容文件和第一指令文件,其中,所述第一指令文件包含第一组参数;
基于所述第一指令参数集而确定第二参数集,并且生成包括所述第二参数集的第二指令文件;
把所述第一内容文件和所述第二参数集传输至签名服务器;
接收来自所述签名服务器的签名文件,其中,所述签名服务器基于所述第二指令文件而生成所述签名文件;
把所述签名整合入所述第一内容文件以生成第二内容文件;以及
把所述第二内容文件下载到维护服务器、制造服务器、和供应商网络中的至少一个。
4. 如权利要求3所述的方法,还包括:基于所述密钥标识而生成所述签名,其中,所述第一组参数包含所述密钥标识;并且
所述第二组参数包含所述密钥标识。
5. 如权利要求3所述的方法,其中,所述第一指令文件、所述第二指令文件、和所述第二内容文件每个是可扩展置标语言文件。
6. 如权利要求3所述的方法,还包括:当基于第一地址和第二地址生成所述第二内容文件时存储所述签名,其中,所述第一参数集包括:
所述签名的第一地址;以及
所述签名算法的第二地址。
7. 如权利要求3所述的方法,还包括:
基于地址把密钥嵌入引导文件中;以及
输出由车辆控制模块所使用的所述引导文件,
其中,所述第一参数集包括所述密钥的地址,并且
其中,所述引导文件包含指令,所述指令当被所述车辆控制模块执行时基于所述密钥验证所述签名。
8. 如权利要求3所述的方法,还包括:
基于软件部分使用值来判断目标车辆控制模块是否允许所述服务器选择签名密钥;
基于软件部分类型来判断所述第一内容文件是否为校准文件、软件文件、固件文件、引导文件、密钥更换文件、和许可证文件中的一种文件;以及
基于所述软件部分数量、所述软件部分使用值、和所述软件部分类型而生成所述第二指令文件,
其中,所述第一参数集包括:
所述第一内容文件的软件部分数量,
所述软件部分使用值,以及
所述第一内容文件的软件部分类型。
9. 如权利要求3所述的方法,还包括:
基于创建者标识符和证书生成所述第二指令文件;以及
基于所述证书生成所述第二内容文件,
其中,所述第一参数集包括:
指示创建所述第一内容文件的个人的所述创建者标识符,以及
指示用于验证所述签名的密钥以及使用所述第二内容文件的车辆控制模块的所述证书。
10. 如权利要求3所述的方法,其中,所述第二参数集包括:
作业标识符,所述作业标识符指示包含所述第一内容文件和所述第二指令集的许多作业请求,
密钥标识,所述密钥标识指示所述签名服务器使用的用来生成所述签名的密钥,以及签名算法标识,所述签名算法标识指示所述签名服务器所使用的用来生成所述签名的签名算法;并且
所述第三参数集包括:
作业标识符,所述作业标识符指示包含所述第一内容文件和所述第二指令集的许多作业请求;以及
所述签名。

说明书全文

用于车辆控制模的安全软件文件传输系统和方法

[0001] 相关申请的交叉引用本申请要求于2012年4月6日提交的美国临时专利申请第61/621,238号的权益。上
述申请的全部公开内容以参考的方式并入本文中。

技术领域

[0002] 本公开涉及用于传输车辆文件的安全文件传输系统。

背景技术

[0003] 此文所提供的背景技术说明是以总的介绍本公开的背景为目的。目前署名的发明人的工作,就在此背景技术部分中所描述的程度,以及说明书中可能尚未构成提交时的现
有技术的方面,无论是以明确或隐含的方式均不被视为针对于本公开的现有技术
[0004] 车辆包括各种车辆控制模块,诸如发动机控制模块、变速器控制模块、空调控制模块、信息娱乐控制模块、车体控制模块等。这些车辆控制模块执行软件和/或固件文件以便
完成各自的功能。
[0005] 汽车工业不断地把方便性提升的特征加到车辆中并因此加到车辆控制模块中。把可移动装置连接到车辆系统,用以传输各种类型的音频和视频数据、以及车辆诊断和状态
数据。可通过可移动装置来遥控车辆中的各特征。因此,把恶意软件下载入车辆控制模块
中的威胁性增加。因为车辆越来越多地数字地连接到外部计算装置,所以暴露于攻击的机
会增加。各种类型攻击的例子可包括:潜入车辆电子和/或软件系统、对车辆控制模块进行
重新编程,包括车辆数据的未授权外漏,以及/或者涉及未授权的车辆跟踪的攻击。
[0006] 在执行文件之前,可进行文件的鉴别来验证文件的来源和/或内容。进行鉴别来防止恶意文件的下载和/或执行并且/或者防止对文件的恶意和/或未授权的更改。执行
无效文件的后果可以包括意外的车辆系统行为、车辆部件使用寿命减小、车辆防盗特征的
丧失、对车辆部件的潜在窜改、车辆文件的更改、和/或车辆特征和/或功能的丧失。无效
文件的执行也会导致车辆保修无效。
[0007] 用于防止无效文件执行的一种安全技术被称为非对称密钥密码术。非对称密钥密码术包括利用编程入控制模块中的数字签名来验证文件。利用包括私钥和公钥的一对密钥
对数字签名进行加密和解密。私钥仅对于被传输文件的来源是可获得的。文件源可利用私
钥对数字签名进行加密。经加密的数字签名可从文件源被传输至控制模块。然后,控制模
块可利用公钥对经加密的数字签名进行解密。控制模块可对签名加以验证并基于此验证来
例如下载、存储和/或执行文件。

发明内容

[0008] 提供一种服务器,其包括输入模块,所述输入模块接收来自设计网络的第一内容文件和第一指令文件。第一指令文件包含第一组参数。作业请求模块基于第一指令参数集
来确定第二参数集并且生成包含第二参数集的第二指令文件。作业请求模块把第一内容文
件和第二参数集传输至签名服务器。输出模块接收来自签名服务器的签名文件。签名服务
器基于第二指令文件生成签名文件。输出模块把签名整合入第一内容文件以生成第二内容
文件,并且把第二内容文件下载到维护服务器、制造服务器、和供应商网络中的至少一个。
[0009] 在其它特征中,提供一种方法,该方法包括:接收来自设计网络的第一内容文件和第一指令文件。第一指令文件包含第一组参数。基于第一指令参数集确定第二参数集并且
生成包含第二参数集的第二指令文件。将第一内容文件和第二参数集传输至签名服务器。
从签名服务器接收签名文件。签名服务器基于第二指令文件生成签名文件。把签名整合入
第一内容文件以生成第二内容文件。把第二内容文件下载到维护服务器、制造服务器、和供
应商网络中的至少一个。
[0010] 本发明提供以下技术方案:1. 一种服务器,包括:
输入模块,所述输入模块接收来自设计网络的第一内容文件和第一指令文件,其中,所
述第一指令文件包含第一组参数;
作业请求模块,所述作业请求模块基于所述第一指令参数集确定第二参数集并且生成
包括所述第二参数集的第二指令文件,其中,所述作业请求模块把所述第一内容文件和所
述第二参数集传输至签名服务器;以及
输出模块,所述输出模块接收来自所述签名服务器的签名文件,其中,所述签名服务器
基于所述第二指令文件而生成所述签名文件,并且
其中,所述输出模块把所述签名整合入所述第一内容文件以生成第二内容文件,并且
把所述第二内容文件下载到维护服务器、制造服务器、和供应商网络中的至少一个。
[0011] 2. 如方案1所述的服务器,其中:所述第一组参数包含密钥标识;
所述第二组参数包含所述密钥标识;并且
所述输出模块基于所述密钥标识而生成所述签名。
[0012] 3. 如方案1所述的服务器,其中,所述第一指令文件、所述第二指令文件、和所述第二内容文件每个是可扩展置标语言文件。
[0013] 4. 如方案1所述的服务器,其中,所述第一参数集包括所述签名的第一地址和签名算法的第二地址;并且
当基于所述第一地址和所述第二地址生成所述第二内容文件时,所述输出模块存储所
述签名。
[0014] 5. 如方案1所述的服务器,其中:所述第一参数集包括密钥的地址;并且
所述输出模块基于所述地址把所述密钥嵌入引导文件并且输出所述引导文件用于由
车辆控制模块所使用,
其中,所述引导文件包含指令,所述指令当被所述车辆控制模块执行时基于所述密钥
验证所述签名。
[0015] 6. 如方案1所述的服务器,其中,所述第一参数集包括:
所述第一内容文件的软件部分数量,
软件部分使用值,以及
所述第一内容文件的软件部分类型;
所述作业请求模块基于所述软件部分使用值来判断目标车辆控制模块是否允许所述
服务器选择签名密钥;
所述作业请求模块基于所述软件部分类型来判断所述第一内容文件是否为校准文件、
软件文件、固件文件、引导文件、密钥更换文件、和许可证文件中的一种;并且
所述作业请求模块基于所述软件部分数量、所述软件部分使用值、和所述软件部分类
型而生成所述第二指令文件。
[0016] 7. 如方案1所述的服务器,其中,所述第一参数集包括:
创建者标识符,所述创建者标识符指示创建所述第一内容文件的个人,以及
证书,所述证书指示用以验证所述签名的密钥以及使用所述第二内容文件的车辆控制
模块;
所述作业请求模块基于所述创建者标识符和所述证书而生成所述第二指令文件;并且
所述输出模块基于所述证书而生成所述第二内容文件。
[0017] 8. 如方案1所述的服务器,其中,所述第二参数集包括:作业标识符,所述作业标识符指示包含所述第一内容文件和所述第二指令集的许多作
业请求;
密钥标识,所述密钥标识指示所述签名服务器所使用的用来生成所述签名的密钥;以

签名算法标识,所述签名算法标识指示由所述签名服务器所使用的用来生成所述签名
的签名算法。
[0018] 9. 如方案1所述的服务器,其中,所述第三参数集包括:作业标识符,所述作业标识符指示包含所述第一内容文件和所述第二指令集的许多作
业请求;以及
所述签名。
[0019] 10. 一种文件下载系统,包括:如方案1所述的服务器;
所述维护服务器;以及
所述制造服务器。
[0020] 11. 如方案10所述的文件下载系统,还包括所述设计网络。
[0021] 12. 如方案10所述的文件下载系统,其中以下的至少一个:所述维护服务器把所述第二内容文件下载到服务控制模块,其中,所述服务控制模块
把所述第二内容文件下载到车辆中的车辆控制模块;以及
所述制造服务器把所述第二内容文件下载到制造控制模块,其中,所述制造控制模块
把所述第二内容文件下载到车辆中的车辆控制模块。
[0022] 13. 一种方法,包括:接收来自设计网络的第一内容文件和第一指令文件,其中,所述第一指令文件包含第
一组参数;
基于所述第一指令参数集而确定第二参数集,并且生成包括所述第二参数集的第二指
令文件;
把所述第一内容文件和所述第二参数集传输至签名服务器;
接收来自所述签名服务器的签名文件,其中,所述签名服务器基于所述第二指令文件
而生成所述签名文件;
把所述签名整合入所述第一内容文件以生成第二内容文件;以及
把所述第二内容文件下载到维护服务器、制造服务器、和供应商网络中的至少一个。
[0023] 14. 如方案13所述的方法,还包括:基于所述密钥标识而生成所述签名,其中,所述第一组参数包含所述密钥标识;并且
所述第二组参数包含所述密钥标识。
[0024] 15. 如方案13所述的方法,其中,所述第一指令文件、所述第二指令文件、和所述第二内容文件每个是可扩展置标语言文件。
[0025] 16. 如方案13所述的方法,还包括:当基于第一地址和第二地址生成所述第二内容文件时存储所述签名,其中,所述第一参数集包括:
所述签名的第一地址;以及
所述签名算法的第二地址。
[0026] 17. 如方案13所述的方法,还包括:基于地址把密钥嵌入引导文件中;以及
输出由车辆控制模块所使用的所述引导文件,
其中,所述第一参数集包括所述密钥的地址,并且
其中,所述引导文件包含指令,所述指令当被所述车辆控制模块执行时基于所述密钥
验证所述签名。
[0027] 18. 如方案13所述的方法,还包括:基于软件部分使用值来判断目标车辆控制模块是否允许所述服务器选择签名密钥;
基于软件部分类型来判断所述第一内容文件是否为校准文件、软件文件、固件文件、引
导文件、密钥更换文件、和许可证文件中的一种文件;以及
基于所述软件部分数量、所述软件部分使用值、和所述软件部分类型而生成所述第二
指令文件,
其中,所述第一参数集包括:
所述第一内容文件的软件部分数量,
所述软件部分使用值,以及
所述第一内容文件的软件部分类型。
[0028] 19. 如方案13所述的方法,还包括:基于创建者标识符和证书生成所述第二指令文件;以及
基于所述证书生成所述第二内容文件,
其中,所述第一参数集包括:
指示创建所述第一内容文件的个人的所述创建者标识符,以及
指示用于验证所述签名的密钥以及使用所述第二内容文件的车辆控制模块的所述证
书。
[0029] 20. 如方案13所述的方法,其中,所述第二参数集包括:作业标识符,所述作业标识符指示包含所述第一内容文件和所述第二指令集的许多作
业请求,
密钥标识,所述密钥标识指示所述签名服务器使用的用来生成所述签名的密钥,以及
签名算法标识,所述签名算法标识指示所述签名服务器所使用的用来生成所述签名的
签名算法;并且
所述第三参数集包括:
作业标识符,所述作业标识符指示包含所述第一内容文件和所述第二指令集的许多作
业请求;以及
所述签名。
[0030] 从下文中所提供的详细说明,本公开的进一步的应用范围将变得显而易见。应当理解的是,详细说明和具体实例的意图仅以说明为目的而并非意图限制本公开的范围。
附图说明
[0031] 从详细说明和附图将更充分地理解本公开,其中:图1是根据本公开的包括原始设备制造商(OEM)下载网络的文件下载系统的功能方框
图。
[0032] 图2是图1的OEM下载网络的功能方框图
[0033] 图3是文件下载系统的一部分的功能方框图,该图说明了根据本公开的示例内容文件下载步骤。
[0034] 图4示出了根据本公开的操作文件下载系统的方法。

具体实施方式

[0035] 服务器可生成用于使在OEM网络的各网络设备之间、在OEM网络的网络设备与OEM网络外部的网络设备之间、以及/或者在OEM网络外部的各网络设备之间所传输的内容文
件变安全的签名。该签名可以是用于确保消息或文件完整性以及/或者文件源一致性的数
字签名。网络设备可以指例如服务器、计算机、在车辆外部或内部的控制模块、工作站、终端
等。OEM网络可以是例如车辆制造商的网络。本文中公开的技术是用来解决:如何生成、嵌
入和使用签名;用户如何与OEM网络内部和外部的设备交换和/或下载信息、内容、文件和
/或程序;以及OEM网络内的各设备如何交换和/或下载信息、内容、文件和/或程序。
[0036] 在图1中示出了文件下载系统10,该系统提供用于信息、内容文件和/或签名的传输、生成和/或整合的文件交换拓扑学。文件下载系统10包括OEM下载网络12。OEM下
载网络12包括:OEM设计(或工程)网络14、软件部分(或内容文件)服务器16、签名服
务器18、维护服务器20、和制造服务器22。OEM设计网络14包括网络设备24,每个服务器
16-22包含各自的内容存储器、签名存储器、维护存储器、和制造存储器26-32。
[0037] OEM设计网络14可包括由用户输入数据的网络设备。用户可在网络设备中建立软件部分(或内容文件)并且把该软件部分下载到软件部分服务器16。软件部分(soft part)
可包括例如:软件程序和/或固件程序、校准信息、引导程序、密钥更换信息、清单(即记录、
表格、或列表)、许可证文件等。软件部分服务器16把软件部分存储于内容存储器26中并
且命令签名服务器18 如何生成签名。签名服务器18基于来自软件部分服务器16的指令
而生成签名。然后,软件部分服务器16可把签名的内容文件下载到维护服务器20和制造
服务器22中的至少一个。
[0038] 文件下载系统10还可包括供应商设计网络34和供应商制造网络36。供应商设计网络34可生成类似于OEM设计网络14的软件部分并且把该软件部分下载到软件部分服务
器16。供应商制造网络36可接收来自软件部分服务器16的签名内容文件。软件部分可由
OEM设计网络14和/或供应商设计网络34最初生成。
[0039] 文件下载系统10还可以包括:OEM维护网络40、第三方服务网络42、和OEM 制造网络44。OEM 维护网络40可包括例如服务中心和/或车辆经销商,服务中心和/或车辆经
销商分别具有各自的服务控制模块(被称为工具)。图示了单个服务控制模块(工具1)46。
服务控制模块可以是例如:用于把信息编程并且/或者下载到车辆控制模块48中的计算
机。OEM服务网络40可借助于这些工具把签名内容文件下载到车辆中的车辆控制模块。这
些工具可从维护服务器20中获取签名内容文件。举例来说,一个工具可向车辆查询车辆的
一个或多个车辆控制模块上的软件部分数。然后,该工具可确定哪个软件部分应当在各自
的车辆控制模块上,然后对适当的签名内容文件进行重新编程、更新并且/或者下载到所
选的车辆控制模块。
[0040] 第三方服务网络42可包括例如一个或多个服务中心,各服务中心具有各自的服务控制模块。图示了单个服务控制模块(工具2)50。服务控制模块50包括车辆控制模块
54。第三方服务网络42可通过所述工具把签名内容文件下载到车辆中的车辆控制模块。所
述工具可从维护服务器20中获取签名内容文件并且把这些文件下载到车辆控制模块。
[0041] OEM服务制造网络44可包括一个或多个制造设施,在这些制造设施处例如制造车辆系统和/或车辆。每个设施也可包括用于下载签名内容文件的工具。图示了一个示例制
造控制模块(工具3)52。制造控制模块52包括车辆控制模块56。这些设施可从制造服务
器22中下载签名内容文件。可基于例如制造订单下载签名内容文件。然后,这些工具可把
签名的内容文件下载到系统和/或车辆中的车辆控制模块。车辆控制模块48、50、52可包
括各自的安全控制模块60、62、64,这些模块授权并验证从维护服务器20和制造服务器22
接收的内容文件的签名、内容和/或来源。
[0042] 在接收签名内容文件之后,车辆控制模块60-64可执行授权和验证步骤以验证签名内容文件的签名、内容和/或来源。可采用各种授权和验证步骤。举例来说,车辆控制模
块可从内容文件中分离出签名,利用公钥对这些签名进行解密以生成第一散列值,基于签
名内容文件的软件部分生成第二散列值,并且将第一散列值与第二散列值进行比较。如果
第一散列值与第二散列值匹配,那么可认为相应的签名内容文件是有效的,否则可认为签
名内容文件是无效的。当最初形成时,公钥可对应于由设计网络所使用的用来加密软件部
分中数据的私钥。
[0043] 现在也参照图2,图中示出了OEM下载网络12。OEM下载网络12包括:设计网络14、软件部分服务器16、和签名服务器18。设计网络14包括:设计控制模块100和设计存
储器102。设计存储器102可存储软件部分104和相应的第一组参数106。设计控制模块
100可生成软件部分104和第一组参数106。表1中列出了第一组参数106的各参数中所
提供的示例参数。
[0044] 表1:第一指令文件中的示例参数参数 描述
内容存储器26中存储是由软件部分服务器16把签名嵌入软件部分中的地址。
软件部分内的签名的地
址。
内容存储器26中存储是由软件部分服务器16所使用的以将签名嵌入软件部分中的签名算法的地址。该地址是指作为软件部分的一软件部分的签名算法的部分存储签名算法的位置
描述的地址。
内容存储器26中也存是由软件部分服务器16所使用的以将签名嵌入软件部分中的签名算法的地址。该地址是指作为引导加载程序储签名算法的描述的地文件的一部分(或引导部分)存储签名算法的位置。车辆控制模块通过执行引导加载程序文件来验证内容文址。 件的签名。
内容存储器26中存储是由软件部分服务器16使用的把密钥ID嵌入软件部分中的地址。
用于签名软件部分的密
钥标识(ID)的地址。
内容存储器26中的用是由软件部分服务器16使用的把密钥ID嵌入引导加载程序文件的地址。当执行引导加载程序文件时利用密引导加载程序文件也存钥ID来检查车辆控制模块与软件部分的兼容性。
储密钥ID的地址。
内容存储器26中的用是软件部分服务器16所使用的把密钥嵌入引导加载程序文件中的地址。
引导加载程序文件存储
密钥的地址。
内容存储器26中存储是软件部分服务器16所使用的把签名旁路标志嵌入引导加载程序文件中的地址。
签名旁路标志的地址。
字节数 从设计网络下载到软件部分服务器16中的软件部分长度。
安全等级 软件部分的安全等级。当执行引导加载程序文件时可利用该安全等级来防止具有无效安全等级的软件部分被编程入车辆控制模块。该安全等级可以是例如软件内容文件。
控制模块ID 唯一地识别车辆控制模块的信息。这允许把作为一个或多个软件部分所提供的编程包目标对准单独的车辆控制模块。
完整性检查描述和值 确认用于检查从设计网络中下载至软件部分服务器16中的软件部分的有效性的完整性方案。可以用于如果完整性检查失败则防止该软件部分的处理。
软件部分数 软件部分的数量。
软件部分类型 表明例如:软件部分是否为软件文件、固件文件、校准文件、引导加载程序文件、密钥更换文件、清单、许可证文件等。
软件部分使用值 表明例如:软件部分的目标车辆控制模块是否允许软件部分服务器16选择用于签名软件部分的合适密钥。
创建者ID 确认软件部分的创建者(个人和/或网络设备)。
证书 可表明签名证书是否作为重编程包的一部分被传输至目标车辆控制模块。该证书可用于验证网址并且可提供有关于软件部分的容许使用的信息。该证书可显示用于验证签名的密钥,该软件部分是使用于哪些产品(例如,车辆),以及/或者该软件部分是使用于哪些车辆控制模块。
[0045] 第一组参数106可包含表1中未包含的参数,例如签名版本。签名版本可确认加密版本。可基于安全等级而使用不同的加密版本。具有较大的所生成的加密文件的加密版
本可用于较高安全等级,其中具有较短加密文件的加密版本可用于较低安全等级。第一组
参数106也可以包括签名整合参数,这些参数表明在何处把签名嵌入软件部分。
[0046] 第一组参数106中的一个参数可以在第一指令文件XML1中被提供并且伴随软件部分(或第一内容文件)PART,共同地为信号108。软件部分PART和第一指令文件XML1可
从设计网络14下载到软件部分服务器16。或者,可从例如图1的供应商设计网络34中接
收软件部分PART和第一指令文件XML1。
[0047] 软件部分服务器16包括:内容存储器26、输入模块110、作业请求模块112、和输出模块114。输入模块110接收来自一个或多个设计网络以及相应网络设备的软件部分和
指令文件对(例如,信号108)。输入模块110可把软件部分109和指令文件111存储于内
容存储器26中。指令文件111可以是例如可扩展置标语言(XML)文件和/或其它置标、编
程、和/或内容语言文件。
[0048] 作业请求模块112基于从设计网络接收的软件部分109和指令文件111而生成作业请求。作业请求可包括接收的软件部分PART和第二指令文件XML2(共同地为信号116)
中的一个。当生成用于软件部分的签名时,每个第二指令文件113提供采用由签名服务器
18所使用的第二组参数的形式的信息。将第二组参数118存储于内容存储器26中。表2
中列出了可包含在每个第二组参数118中的示例参数。
[0049] 表2:第二指令文件中的示例参数参 描述

作 是由软件部分服务器16所指定的用于确认作业(或签名)请求的以便由软件部分服务器16将适当的软件部分与签名相结合的业 唯一作业或事务标识符。这发生在把包含签名的信息从签名服务器18传输至软件部分服务器16之后。
ID
密 是由签名服务器18所使用的用来生成签名的密钥的标识,该标识是用来对软件部分进行签名。

ID
签 当生成签名时,确认被使用的多种签名算法中所选择的一种算法。



ID
[0050] 第二组参数118可包含表2中不包含的参数,例如第二组参数118可包含签名版本。第二组参数118可包含签名整合参数,该参数表明在何处把签名嵌入软件部分。
[0051] 作业请求模块112可把第二指令文件113存储于内容存储器26中。第二指令文件113可以是例如XML文件和/或其它标记、 编程、和/或内容语言文件。作业请求模块
112把软件部分109 和相应的第二指令文件113传输至签名服务器18,用于签名的生成。
[0052] 输出模块114 接收来自签名服务器18的第三指令文件119中的签名。第三指令文件119可包含第三组参数,该组参数可包含例如签名、作业ID(描述于表2)、或其它参数。
把第三组参数120存储于内容存储器26中。输出模块114 可把签名嵌入软件部分109中
的合适软件部分中以生成第二内容文件。可把第二内容文件传输至图1中的维护服务器
20、制造服务器22、或供应商制造网络36。
[0053] 签名服务器18可包括签名存储器28和签名控制模块130。签名控制模块130可接收软件部分109和伴随的第二指令文件,并且基于它们生成第三指令文件119。可作为信
号XML3 132把第三指令文件119发送至软件部分服务器16。可把软件部分109、第二指令
文件113、第三指令文件119、和第三组参数120存储于签名存储器28中。
[0054] 输出模块114也可把用于解密内容文件和/或内容文件的某些内容的密钥和/或密钥ID嵌入引导加载程序文件中。密钥和/或密钥ID可提供作为第一组参数、第二组参
数、和/或第三组参数的参数。可通过例如服务器20、22和网络40、42、44把引导加载程序
文件从输出模块114下载到车辆控制模块。引导加载程序文件可包含当由车辆控制模块执
行时基于密钥和/或密钥ID来验证签名、软件部分、以及/或者签名和/或软件部分的来
源的指令。引导加载程序文件也可包含启动车辆控制模块的指令。
[0055] 在图3中示出了文件下载系统10的部分150,该部分150说明了示例的内容文件下载步骤。部分150包括软件部分服务器16、签名服务器18、维护服务器20、服务控制模块
152(例如,控制模块46、50中的一个)、以及车辆控制模块154。软件部分服务器16包括:
内容存储器26、输入模块110、作业请求模块112、和输出模块114。作业请求模块112把各
软件部分和第二指令信号(例如,116)传输至签名服务器18。内容存储器26存储软件部
分109、指令文件111、113、119和第二组参数118。
[0056] 签名服务器18包括签名控制模块130和签名存储器28。签名存储器28存储软件部分109、指令文件113、119、和第三组参数118。签名控制模块130可包括:第一密码模块
156、加密模块158、和指令模块160。密码模块156可接收软件部分PART162并且生成第一
散列值HASH1 164。加密模块158可利用私钥对第一散列值HASH1 164加密以生成签名SIG
166。指令模块160可基于签名166生成第三指令信号XML3 132。第一密码模块156、加密
模块158、指令模块160的操作以及/或者第一散列值HASH1 164、签名SIG 166和/或第
三指令信号XML3 132的生成可以基于信号116的第二指令文件中的一个或多个参数。
[0057] 输出模块114接收来自签名服务器18的第三指令信号132并且把第三指令信号132的签名SIG 166嵌入相应的软件部分以生成第二内容文件。输出模块把第二内容文件
下载到维护服务器20。然后,维护服务器20当向服务控制模块152请求时可下载第二内容
文件。然后,服务控制模块152可对车辆控制模块154的存储器170中的第二内容文件进
行flash编程、重编程、更新、和/或存储。
[0058] 车辆控制模块154可包括安全模块172。安全模块172可包括解密模块174、第二密码模块176、和散列值比较模块178。解密模块174利用与私钥相对应的公钥PUB 180对
签名SIG 166解密以生成第二散列值HASH2 182。第二密码模块176基于软件部分 PART162
生成第三散列值HASH3 184。散列值比较模块178将第二散列值HASH2 与第三散列值HASH3
184进行比较。如果第二散列值HASH2 182与第三散列值HASH3 184匹配,那么该签名是有
效的,否则该签名是无效的。这可以通过验证信号VAL186来表明。
[0059] 可利用许多方法来操作文件下载系统10,图4的方法提供一种示例方法。在图4中示出了操作文件下载系统的方法。尽管主要参考图1-图3的实施例描述了以下任务,但
这些任务可被简单的修改而适用于本公开的其它实施例。这些任务可反复地执行。所述方
法可开始于200。
[0060] 在202,经由设计网络的设计控制模块(例如,OEM设计网络14或供应商设计网络54)生成软件部分(或第一内容文件)。在204,设计控制模块可确定第一组参数(示例参
数列于上面的表1)并且生成第一指令文件XML1。软件部分服务器16利用第一指令文件
XML1来正确地签名并存储软件部分,如关于以下任务进一步描述的。仅仅是举例,可利用私
钥对第一内容文件加密,如上所述。
[0061] 在206,输入模块110接收来自设计网络的软件部分和第一指令文件。在208,作业请求模块112确定第二组参数(示例参数列于上面的表2),并且基于第一指令文件生成
第二指令文件XML2。第二组参数可以是第一组参数的子集,并且/或者可包含不同于第一
组参数的参数。
[0062] 在210,作业请求模块112把包含软件部分和第二指令文件XML2的作业(或签名)请求传输至签名服务器18。第二指令文件XML2把软件部分附加到签名服务器18并且可
告知签名服务器18应当如何生成签名。在212,签名控制模块130确定第三组参数并且基
于第二指令文件中的第二组参数而生成签名文件。签名文件可以是XML文件和/或其它标
记、编程、和/或内容语言文件。第三组参数可以是第二组参数的子集并且/或者包含不同
于第二组参数的参数。上面参照图2描述了可包含在第三组参数中的示例参数。签名模块
18把包含第三组参数的签名文件传输至软件部分服务器16。
[0063] 在214,输出模块114接收签名文件。在216,输出模块114把签名文件中的签名整合入软件部分以生成签名的(或第二)内容文件。在218,输出模块114把第二内容文件
下载到供应商、维护、和制造网络36、40、42中的至少一个并且/或者下载到供应商、维护、
和制造网络36、40、42中的控制模块和/或网络设备。
[0064] 在220,供应商、维护、和制造网络36、40、42的一个或多个控制模块可把第二内容文件下载到车辆中的车辆控制模块。
[0065] 作为示例提供以下任务222-234并且可以不执行这些任务。可执行替代的授权和验证任务,来代替任务222-234。
[0066] 在222,车辆控制模块中的一个模块可从第二内容文件中分离出第二内容文件中的签名。在224,可利用公钥对该签名解密以生成第一散列值。在226,可把第二内容文件
的软件部分存储在或者闪存至车辆的存储器中。在227,车辆控制模块可基于该软件部分而
计算第二散列值。
[0067] 在228,车辆控制模块可将第一散列值与第二散列值比较以判断签名、软件部分、以及/或者软件部分和/或签名的来源是否有效。在230,如果第一散列值与第二散列值匹
配,在232判定签名、软件部分和/或来源为有效的。如果第一散列值与第二散列值不匹配,
在234判定签名、软件部分和/或来源为无效的。在232,车辆控制模块可执行软件部分和
/或软件部分中使用的信息以完成车辆中的任务。在234,车辆控制模块可制止执行软件部
分,不使用软件部分中的信息,并且/或者删除软件部分。所述方法可结束于236。
[0068] 上述任务意图是说明性例子;可以根据用途顺序地、同步地、同时地、连续地、在重叠时间段内、或者按不同顺序执行这些任务。另外,可基于事件的实施和/或顺序而不执行
或跳过任何任务。
[0069] 上述实施包括指令文件和签名文件(可以是XML文件)的传输。XML文件便于签名的生成。XML文件的使用允许服务器、工具、和/或其它网络设备以可预测、自动的方式读
出信息,同时消除参数的人工输入。如上所述的文件传输也支持车辆控制模块的安全flash
编程,以防止把恶意内容文件编程入车辆控制模块。
[0070] 前面的描述在本质上只是说明性的而决不是意图限制本公开、其应用或使用。可以用多种形态实施本公开的广泛教导。因此,虽然本公开包括具体实例,但本公开的真实
范围不应受如此限制,因为在研究了附图、说明书和所附权利要求之后其它修改将变得显
而易见。为清楚起见,附图中将用相同的附图标记来标示类似的元件。本文中使用的短语
“A、B和C中的至少一个”应当被理解成利用非排他性逻辑“或”来表示逻辑(A或B或C)。
应当理解的是,在不改变本公开原理的情况下,方法中的一个或多个步骤可按照不同顺序
(或同时地)执行。
[0071] 本文中使用的术语“模块”可以指下列部件中的一部分、或者包括下列部件:专用集成电路(ASIC);分立电路;集成电路;组合逻辑电路;现场可编程阵列(FPGA);执行代
码的处理器(共享处理器、专用处理器、或者组处理器);提供所述功能的其它适当的硬件
部件;或者部分或全部上述部件的组合,例如在芯片上系统中。术语“模块”可包括存储由
处理器所执行的代码的存储器(共享存储器、专用存储器、或组存储器)。
[0072] 上面使用的术语“代码”可包括:软件、固件和/或微代码,并且可指程序、例行程序、函数、类、和/或对象。上面使用的术语“共享的”表示可利用单个(共享)处理器执行
来自多个模块的部分或所有代码。另外,可利用单个(共享)存储器存储来自多个模块的
部分或所有代码。上面使用的术语“组”表示可利用一组处理器执行来自单个模块的部分
或所有代码。另外,可利用一组存储器存储来自单个模块的部分或所有代码。
[0073] 可利用由一个或多个处理器所执行的一个或多个计算机程序部分或完全地实施本文中所述的装置和方法。计算机程序包含存储在至少一个非暂时性有形计算机可读介质
上的处理器可执行指令。计算机程序也可包含并且/或者依赖于存储的数据。非暂时性有
形计算机可读介质的非限制性例子包括:非易失性存储器、易失性存储器、磁存储器、和光
存储器。
高效检索全球专利

专利汇是专利免费检索,专利查询,专利分析-国家发明专利查询检索分析平台,是提供专利分析,专利查询,专利检索等数据服务功能的知识产权数据服务商。

我们的产品包含105个国家的1.26亿组数据,免费查、免费专利分析。

申请试用

分析报告

专利汇分析报告产品可以对行业情报数据进行梳理分析,涉及维度包括行业专利基本状况分析、地域分析、技术分析、发明人分析、申请人分析、专利权人分析、失效分析、核心专利分析、法律分析、研发重点分析、企业专利处境分析、技术处境分析、专利寿命分析、企业定位分析、引证分析等超过60个分析角度,系统通过AI智能系统对图表进行解读,只需1分钟,一键生成行业专利分析报告。

申请试用

QQ群二维码
意见反馈