太阳城集团

  • / 16
  • 下载费用:30 金币  

用于选择性软件回退的方法.pdf

摘要
申请专利号:

太阳城集团CN201310414325.X

申请日:

2013.09.12

公开号:

CN103677891A

公开日:

2014.03.26

当前法律状态:

授权

有效性:

有权

法律详情: 授权|||实质审查的生效IPC(主分类):G06F 9/445申请日:20130912|||公开
IPC分类号: G06F9/445; G06F21/56(2013.01)I; G06F21/57(2013.01)I 主分类号: G06F9/445
申请人: 通用汽车环球科技运作有限责任公司
发明人: A.I.阿尔拉巴迪; K.M.贝尔茨; T.M.富里斯特
地址: 美国密执安州
优先权: 2012.09.12 US 13/612,225
专利代理机构: 中国专利代理(香港)有限公司 72001 代理人: 刘桢;胡斌
PDF完整版下载: PDF下载
法律状态
申请(专利)号:

太阳城集团CN201310414325.X

授权太阳城集团号:

||||||

法律状态太阳城集团日:

太阳城集团2017.01.11|||2014.04.23|||2014.03.26

法律状态类型:

授权|||实质审查的生效|||公开

摘要

太阳城集团本发明涉及用于选择性软件回退的方法。用于验证将安装到控制器中的软件文件的系统和方法。该方法包括准备所述软件文件,包括将软件版本代码分配给软件文件,将安全版本代码分配给软件文件,以及用软件文件版本代码和安全版本代码对软件文件进行签名。签名的软件文件被提供至控制器以安装在控制器上,并且控制器验证软件文件签名以确定软件文件是否为有效的以及安全版本代码是否为有效的。如果签名的软件文件为有效的并且安全版本代码为有效的,则控制器允许将软件文件安装在控制器中。

权利要求书

权利要求书
1.  一种用于验证将安装到控制器中的软件文件的方法,所述方法包括:
准备所述软件文件;
将软件版本代码分配给所述软件文件;
将安全版本代码分配给所述软件文件;
用所述软件文件版本代码和所述安全版本代码对所述软件文件进行数字签名;
将所述签名的软件文件提供至所述控制器以安装在所述控制器上;
验证所述控制器中的所述软件文件签名以确定所述软件文件是否为有效的;
如果所述控制器确定所述签名的软件文件为有效的,则确定所述软件文件中的所述安全版本代码是否为有效的;以及
如果所述签名的软件文件为有效的且所述安全版本代码为有效的,则允许将所述软件文件安装在所述控制器中。

2.  根据权利要求1所述的方法,其中将安全版本代码分配给所述软件文件包括:如果所述软件文件未准备用于修正安全漏洞,则将所述安全版本代码保持相同;如果所述软件文件已准备好用于修正安全漏洞,则增加所述安全版本代码。

3.  根据权利要求2所述的方法,其中确定所述软件文件中的所述安全版本代码是否为有效的包括确定所述安全版本代码是否为存储在所述控制器中的较旧版本的安全版本代码,如果是这样,则不允许将所述软件文件加载到所述控制器中。

4.  根据权利要求2所述的方法,其中确定所述软件文件中的所述安全版本代码是否为有效的包括确定所述安全版本代码是否为存储在所述控制器中的相同或较新版本的所述安全版本代码,如果是这样,则允许将所述软件文件加载到所述控制器中。

5.  根据权利要求4所述的方法,还包括:如果分配给所述软件文件的所述安全版本代码大于所述存储的版本的所述安全版本代码,则将所述控制器中的所述存储的版本的所述安全版本代码变为分配给所述软件文件的所述安全版本代码。

6.  根据权利要求1所述的方法,其中对所述软件文件签名包括使用采用数字签名与公钥和私钥的非对称密钥加密,并且验证所述软件文件包括数字签名验证。

7.  根据权利要求1所述的方法,其中所述控制器为车辆上的电子控制单元(ECU)。

8.  一种用于验证将安装到车辆上的电子控制单元(ECU)中的软件文件的方法,所述方法包括:
准备所述软件文件;
将软件版本代码分配给所述软件文件;
将安全版本代码分配给所述软件文件,其中将安全版本代码分配给所述软件文件包括:如果所述软件文件未准备用于修正安全漏洞,则将所述安全版本代码保持相同;以及如果所述软件文件已准备好用于修正安全漏洞,则增加所述安全版本代码;
用所述软件文件版本代码和所述安全版本代码对所述软件文件进行数字签名;
将所述签名的软件文件提供至所述ECU以安装在所述控制器上;
验证所述ECU中的所述软件文件签名以确定所述软件文件是否为有效的;以及
如果所述ECU确定所述签名的软件文件为有效的,则确定所述软件文件中的所述安全版本代码是否为有效的,其中确定所述软件文件中的所述安全版本代码是否为有效的包括确定所述安全版本代码是否为存储在所述控制器上的较旧版本的所述安全版本代码,并且如果是这样,则不允许将所述软件文件安装在所述控制器中,如果不是这样,则允许将所述软件文件安装在所述控制器中。

9.  根据权利要求8所述的方法,还包括:如果分配给所述软件文件的所述安全版本代码大于所述存储的版本的所述安全版本代码,则将所述控制器中的所述存储的版本的所述安全版本代码变为分配给所述软件文件的所述安全版本代码。

10.  一种用于验证将安装到控制器中的软件文件的系统,所述系统包括:
用于准备所述软件文件的装置;
用于将软件版本代码分配给所述软件文件的装置;
用于将安全版本代码分配给所述软件文件的装置;
用于用所述软件文件版本代码和所述安全版本代码对所述软件文件进行签名的装置;
用于将所述签名的软件文件提供至所述控制器以安装在所述控制器上的装置;
用于验证所述控制器中的所述软件文件签名以确定所述软件文件是否为有效的装置;
用于在所述控制器确定所述签名的软件文件为有效的时确定所述软件文件中的所述安全版本代码是否为有效的装置;以及
用于在所述软件文件为有效的且所述安全版本代码为有效的时允许将所述软件文件安装在所述控制器中的装置。

说明书

说明书用于选择性软件回退的方法
技术领域
本发明大体上涉及用于防止软件文件的脆弱的旧版本在控制器中被刷写的系统和方法,并且更具体地涉及用于防止软件文件的脆弱的旧版本在车辆电子控制单元(ECU)中被刷写的系统和方法,这包括每次发布新软件文件时更新安全码以修正安全漏洞。
背景技术
大多数现代化车辆包括电子控制单元(ECU)或控制器,其控制诸如动力系、气候控制系统、太阳城集团娱乐系统、车身系统、底盘系统以其它的车辆系统的操作。此类控制器需要为专门用途设计的软件,以便执行控制功能。随着这些控制器的数量和复杂性的增加,以及由恶意软件开发者造成的威胁的不断增加,比以往更重要的是对加载到汽车控制器上的二进制文件的来源和内容进行认证。在车辆控制器中使用未正确认证的或坏的、恶意设计的软件的后果包括车辆或其系统的非预期行为、车辆上的防盗特征的丢失、对诸如里程计的部件的潜在篡改、以及其它车辆特征和功能的丢失。
一种已知的数字编码技术被称为非对称密钥加密,其使用数字签名来认证编程到控制器中的文件。如本领域的技术人员所充分理解的,非对称密钥加密使用称为私钥和公钥的一对与数学有关的密钥来加密和解密消息。为了创建数字签名,签名者使用他的仅其本人知道的私钥来加密消息。该数字签名可随后由另一方使用与签名者的私钥成对的公钥来解密。
刷写是一种用于将软件、校准文件和其它应用程序上传到车辆ECU或其它可编程装置的闪存中的熟知的方法。引导装载程序是一种加载到ECU上的嵌入式软件程序,该程序在ECU和正刷写软件的编程装置之间提供接口。引导装载程序可采用非对称密钥加密并存储在允许ECU执行软件或校准之前必须用来对由编程装置传输的数字签名进行解码的公钥。
与软件文件相关联的文件标题通常包括太阳城集团该文件的太阳城集团和包括模块ID、兼容ID、签名、地址范围等的与紧随文件标题的代码有关的太阳城集团。一旦软件文件已被发布、正确刷写和在ECU中运行,就可能发现软件文件具有一些安全漏洞,潜在的黑客可能通过该安全漏洞恶意访问ECU。当此类安全漏洞被识别时,车辆制造商可以修订软件文件,以便消除安全漏洞。然后将新软件文件刷写到ECU中以替换编程到ECU存储器中的脆弱软件。然而,ECU可能仍然是脆弱的,因为拥有带正确的可信签名的软件文件的脆弱旧版本的潜在黑客可以将该软件文件加载回ECU,然后利用安全漏洞。换言之,如果已用修正安全漏洞的修订过的软件文件刷写了ECU,潜在黑客可以访问已正确签名但包括安全漏洞的较旧版本的软件文件,将该软件文件加载回ECU,然后利用安全漏洞。
发明内容
根据本发明的教导,公开了用于验证将安装到控制器中的软件文件的系统和方法。该方法包括准备所述软件文件,包括将软件版本代码分配给软件文件,将安全版本代码分配给软件文件,以及用软件文件版本代码和安全版本代码对软件文件进行签名。签名的软件文件被提供至控制器以安装在控制器上,并且控制器验证软件文件签名以确定软件文件是否为有效的以及安全版本代码是否为有效的。如果签名为有效的且安全版本代码为有效的,并且满足其它所需条件,则控制器允许将软件文件安装在控制器中。
本发明提供下列技术方案。
1. 一种用于验证将安装到控制器中的软件文件的方法,所述方法包括:
准备所述软件文件;
将软件版本代码分配给所述软件文件;
将安全版本代码分配给所述软件文件;
用所述软件文件版本代码和所述安全版本代码对所述软件文件进行数字签名;
将所述签名的软件文件提供至所述控制器以安装在所述控制器上;
验证所述控制器中的所述软件文件签名以确定所述软件文件是否为有效的;
如果所述控制器确定所述签名的软件文件为有效的,则确定所述软件文件中的所述安全版本代码是否为有效的;以及
如果所述签名的软件文件为有效的且所述安全版本代码为有效的,则允许将所述软件文件安装在所述控制器中。
2. 根据技术方案1所述的方法,其中将安全版本代码分配给所述软件文件包括:如果所述软件文件未准备用于修正安全漏洞,则将所述安全版本代码保持相同;如果所述软件文件已准备好用于修正安全漏洞,则增加所述安全版本代码。
3. 根据技术方案2所述的方法,其中确定所述软件文件中的所述安全版本代码是否为有效的包括确定所述安全版本代码是否为存储在所述控制器中的较旧版本的安全版本代码,如果是这样,则不允许将所述软件文件加载到所述控制器中。
4. 根据技术方案2所述的方法,其中确定所述软件文件中的所述安全版本代码是否为有效的包括确定所述安全版本代码是否为存储在所述控制器中的相同或较新版本的所述安全版本代码,如果是这样,则允许将所述软件文件加载到所述控制器中。
5. 根据技术方案4所述的方法,还包括:如果分配给所述软件文件的所述安全版本代码大于所述存储的版本的所述安全版本代码,则将所述控制器中的所述存储的版本的所述安全版本代码变为分配给所述软件文件的所述安全版本代码。
6. 根据技术方案1所述的方法,其中对所述软件文件签名包括使用采用数字签名与公钥和私钥的非对称密钥加密,并且验证所述软件文件包括数字签名验证。
7. 根据技术方案1所述的方法,其中所述控制器为车辆上的电子控制单元(ECU)。
8. 一种用于验证将安装到车辆上的电子控制单元(ECU)中的软件文件的方法,所述方法包括:
准备所述软件文件;
将软件版本代码分配给所述软件文件;
将安全版本代码分配给所述软件文件,其中将安全版本代码分配给所述软件文件包括:如果所述软件文件未准备用于修正安全漏洞,则将所述安全版本代码保持相同;以及如果所述软件文件已准备好用于修正安全漏洞,则增加所述安全版本代码;
用所述软件文件版本代码和所述安全版本代码对所述软件文件进行数字签名;
将所述签名的软件文件提供至所述ECU以安装在所述控制器上;
验证所述ECU中的所述软件文件签名以确定所述软件文件是否为有效的;以及
如果所述ECU确定所述签名的软件文件为有效的,则确定所述软件文件中的所述安全版本代码是否为有效的,其中确定所述软件文件中的所述安全版本代码是否为有效的包括确定所述安全版本代码是否为存储在所述控制器上的较旧版本的所述安全版本代码,并且如果是这样,则不允许将所述软件文件安装在所述控制器中,如果不是这样,则允许将所述软件文件安装在所述控制器中。
9. 根据技术方案8所述的方法,还包括:如果分配给所述软件文件的所述安全版本代码大于所述存储的版本的所述安全版本代码,则将所述控制器中的所述存储的版本的所述安全版本代码变为分配给所述软件文件的所述安全版本代码。
10. 根据技术方案8所述的方法,其中对所述软件文件签名包括使用采用数字签名与公钥和私钥的非对称密钥加密,并且验证所述软件文件包括数字签名验证。
11. 一种用于验证将安装到控制器中的软件文件的系统,所述系统包括:
用于准备所述软件文件的装置;
用于将软件版本代码分配给所述软件文件的装置;
用于将安全版本代码分配给所述软件文件的装置;
用于用所述软件文件版本代码和所述安全版本代码对所述软件文件进行签名的装置;
用于将所述签名的软件文件提供至所述控制器以安装在所述控制器上的装置;
用于验证所述控制器中的所述软件文件签名以确定所述软件文件是否为有效的装置;
用于在所述控制器确定所述签名的软件文件为有效的时确定所述软件文件中的所述安全版本代码是否为有效的装置;以及
用于在所述软件文件为有效的且所述安全版本代码为有效的时允许将所述软件文件安装在所述控制器中的装置。
12. 根据技术方案11所述的系统,其中用于将安全版本代码分配给所述软件文件的装置在所述软件文件未准备用于修正安全漏洞时将所述安全版本代码保持相同,并且在所述软件文件已准备好用于修正安全漏洞时增加所述安全版本代码。
13. 根据技术方案12所述的系统,其中用于确定所述软件文件中的所述安全版本代码是否为有效的装置确定所述安全版本代码是否为存储在所述控制器上的较旧版本的所述安全版本代码,如果是这样,则不允许将所述软件文件加载到所述控制器中。
14. 根据技术方案12所述的系统,其中用于确定所述软件文件中的所述安全版本代码是否为有效的装置确定所述安全版本代码是否为存储在所述控制器上的相同或较新版本的所述安全版本代码,如果是这样,则允许将所述软件文件加载到所述控制器中。
15. 根据技术方案14所述的系统,还包括用于在分配给所述软件文件的所述安全版本代码大于所述存储的版本的所述安全版本代码时将所述控制器中的所述存储的版本的所述安全版本代码变为分配给所述软件文件的所述安全版本代码的装置。
16. 根据技术方案11所述的系统,其中,所述用于对所述软件文件签名的装置使用采用数字签名与公钥和私钥的非对称密钥加密,并且所述用于验证所述软件文件的装置采用数字签名验证。
17. 根据技术方案11所述的系统,其中所述控制器为车辆上的电子控制单元(ECU)。
根据结合附图的以下描述和所附权利要求,本发明的另外的特征将变得显而易见。
附图说明
图1是示出用于验证数字签名的过程的示意性框图;
图2是使用数字签名对电子内容进行签名和验证的方法的框图,包括将内容和签名文件从编程源传输至执行控制器;
图3是示出如何将电子内容和数字签名物理地传输至车辆中的控制器的方法的示意图;
图4是示出用于利用每个新软件版本和安全级别代码更新特定的软件文件的过程的流程图;
图5是示出将软件文件安装在ECU上的过程的流程图;以及
图6是示出用于确定是否应将新软件文件刷写到ECU中的过程的流程图。
具体实施方式
涉及用于防止脆弱的较旧版本的软件文件被刷写在ECU上的系统和方法的本发明的实施例的以下讨论在本质上仅仅是示例性的,而决不意图限制本发明或其应用或用途。例如,如本文所讨论的,用于防止刷写脆弱的较旧版本的软件文件的技术具有用于车辆ECU的应用。然而,本领域的技术人员可以理解,该技术可应用于其它控制器。
图1是用于使用非对称密钥数字签名来认证编程到控制器中的文件的已知方法的框图10。如本领域的技术人员所理解的,非对称密钥加密使用称为私钥和公钥的一对与数学有关的密钥来加密和解密消息。为了创建数字签名,签名者使用他的仅其本人知道的私钥来加密数字消息。随后可由另一方使用与签名者的私钥成对的公钥对数字签名进行解密,以认证文件或消息。
在签名步骤12中,提供内容文件14,其中内容文件14可以是一个软件、校准文件或将在控制器中使用的其它“软部分”内容。对内容文件14进行散列计算以产生内容文件14的散列值16。然后用签名者的私钥对散列值16加密,以产生数字签名18,其中数字签名18仅对特定内容文件是有用的。
然后在验证步骤20中使用数字签名18和内容文件14,在本文所讨论的应用中,该步骤将由ECU中的引导装载程序执行。数字签名18利用签名者的公钥被解密以产生解密的散列值22。同时,由验证器对内容文件14进行散列计算,以产生计算的散列值24。在框26处,将解密的散列值22与计算的散列值24相比较。如果解密的散列值22匹配计算的散列值24,则在椭圆28处发布有效的确定,并且使用内容文件14。如果解密的散列值22不匹配计算的散列值24,则在椭圆30处发布无效的确定,并且不使用内容文件14。
图2是示出使用数字签名对电子内容进行签名和验证的方法的框图40,包括将内容和签名文件从编程源传输至执行控制器。文件存储库42存储统称为内容文件44的可执行软件、校准文件或其它“软部分”文件”。内容文件44通常为二进制文件。期望获得数字签名46以用于内容文件44。为了对内容文件44进行数字签名,将内容文件44提供给签名服务器48。在签名服务器48上,对内容文件44执行散列计算以产生散列值52。使用存储在签名服务器48上的私钥对散列值52加密,其中加密产生数字签名46。然后,将数字签名46提供返回给文件存储库42。
此时,内容文件44和数字签名46均存在于存储库42中。挑战是之后通过由汽车制造商使用的各种商业系统来传输内容文件44和数字签名46,以及安装和验证在车辆中的控制器上的内容文件44。通常,汽车制造商将具有至少两个负责在车辆中的控制器上安装软件和校准文件的组织或部门,即制造和服务部门。图2示出制造数据库56,该数据库由汽车制造商的制造部门使用以管理安装为在生产车辆中的“部分”的电子文件。图2同样示出服务数据库62,该数据库由汽车制造商的服务部门使用以管理安装为在服务设施中起作用的在车辆中的“服务部分”的电子文件。如图2所示,制造数据库56和服务数据库62两者接收将被用于制造部门和服务部门的相应功能的内容文件44和数字签名46的副本。
为了实际上安装或刷写在车辆中的控制器上的内容文件44,使用了编程工具68。如图所示,编程工具68也接收内容文件44和数字签名46的副本。也就是说,制造部门可将来自制造数据库56的内容文件44和数字签名46提供至编程工具68以便安装在新的生产车辆上,或者服务部门可将来自服务数据库62的内容文件44和数字签名46提供至编程工具68以便安装在被提供服务的车辆上。
下一个步骤是用编程工具68将内容文件44安装在车辆中的控制器上。ECU 74是将实际上使用内容文件44的控制器。下面是ECU 74的架构的简要讨论。ECU 74上的软件由引导装载程序、可执行软件和一个或多个校准文件组成。出于该讨论的目的,假设ECU 74具有单个中央处理器(CPU)。在实际车辆中,ECU 74可具有多个CPU,并且每个CPU将具有引导装载程序、可执行软件和一个或多个校准文件。
ECU 74中的引导装载程序负责验证和安装新的可执行软件和校准文件。因此,在本段落中描述的功能由ECU 74中的引导装载程序执行。编程工具68将内容文件44和数字签名46提供给ECU 74。由引导装载程序使用存储库42的公钥来对数字签名46解密以产生解密的散列值78。公共签名密钥可驻留在ECU 74中或结合内容文件44和数字签名46提供给ECU 74。同时,由引导装载程序对内容文件44进行散列计算以产生计算的散列值84。在框80处,将解密的散列值78与计算的散列值84相比较。如果解密的散列值78匹配计算的散列值84,则发布有效的确定88,并且使用内容文件44。如果要使用的内容文件44为可执行软件,则引导装载程序将其作为新的可执行软件安装在ECU 74上。如果要使用的内容文件44为校准文件,则引导装载程序将其作为一个或多个校准文件之一安装在ECU 74上。如果解密的散列值78不匹配计算的散列值84,则发布无效的确定86,并且不在ECU 74上使用内容文件44。
图3是示出如何将电子内容和数字签名文件物理地传输至车辆控制器的方法的示意图。车辆36包括图2中示出和以上讨论的ECU 74。ECU 74可控制车辆36上的发动机、变速器、底盘、车身、太阳城集团娱乐系统或其它系统。内容文件44和数字签名46被提供至此处示出为制造数据库56的中央数据库。内容文件44和数字签名46向制造数据库56的传送可通过公司网络进行。制造数据库56将内容文件44和数字签名46提供给编程工具68,其中该传送可通过将编程工具68附接到可以访问数据库56的计算机来实现。编程工具68经由连接38与ECU 74通信,该连接可以是有线的或无线的。利用建立的连接38,内容文件44和数字签名46可从编程工具68下载至ECU 74,其中引导装载程序可执行先前讨论的安全验证功能。
本发明提出一种用于防止将软件文件的脆弱但真实的版本刷写到车辆ECU中的技术。特别地,除了诸如软件文件版本代码、模型模块ID、兼容ID等的软件文件的其它参数之外,识别软件文件的特定安全版本的安全版本(SECVER)代码被用作文件标题的一部分,以识别文件的安全级别。应当指出,安全版本代码包括在软件文件的编程部分中且包括在数字签名验证中。每次对软件文件的新版本进行发布准备时,文件的新版本可包括或不包括用于修正已识别的安全漏洞的代码。例如,软件文件的新版本可能由于许多原因而不涉及修正安全漏洞,例如,添加功能、提供用于不同车辆的文件等。如果软件文件的新版本不解决安全漏洞问题,则安全版本代码保持相同,但更新软件的版本识别号。如果软件文件更新确实包括用于修正安全漏洞的代码,则针对该新版本更新安全版本代码。因此,软件文件的任何此前版本将不包括该新的更新的安全版本代码。因此,将不允许拥有包括较早的安全版本代码的正确签名的较旧版本的软件文件的潜在黑客刷写到ECU中。特别地,引导装载程序在新软件文件被刷写之前将确认该软件文件的文件标题上的签名,并且还将验证安全版本代码等于或晚于已安装在ECU上的现有软件文件的所存储的安全版本代码。
以上讨论可由图4所示流程图90来表示。软件文件版本代码1限定在框92处且包括表示该软件的初始发布版本和在特定太阳城集团点的当前安全代码的安全版本代码1。如果该软件文件被更新至在框94处表示的不包括用于修正安全漏洞的代码的软件文件的第二版本,则识别更新的软件文件的发布代码被更新至例如软件文件版本代码2,但安全版本代码将与前一版本的安全版本代码1保持相同。如果在软件文件的第二版本代码2发布之后在其中识别到安全漏洞,则可以在框96处准备和发布新版本的软件文件以修正漏洞,其包括新的软件文件版本代码(例如,软件文件版本代码3)和用于补丁文件的更新的较晚的安全版本代码(例如,安全版本代码2)。
如果新版本的软件文件被发布以用于安装,则引导装载程序将仅当该版本被正确签名且包括与当前存储在ECU上的安全版本代码相同或更高的安全版本代码时允许该版本被刷写到ECU中。如果新版本的软件文件包括比当前存储的软件文件更高的安全版本代码,则引导装载程序将把其安全版本代码更新至新的安全版本代码,以使得包括较低级别的安全版本代码的任何软件文件将不被允许继续刷写。因此,如果ECU中的引导装载程序接收到刷写新软件文件的请求,则其将确定软件文件是否被正确签名以及当被正确签名时其是否具有正确的安全版本代码。如果正确签名的软件文件具有比当前存储在引导装载程序中的安全版本代码更低的安全版本代码,则引导装载程序将不允许刷写该软件文件。如果新软件文件上的安全版本代码包括与引导装载程序上存储的相同的安全版本代码,则引导装载程序将允许刷写软件文件并且将把该安全版本代码保持在引导装载程序中。如果正确签名的软件文件包括比当前存储在引导装载程序上的更高的安全版本代码,则引导装载程序将允许刷写软件文件并且将把其存储的安全版本代码更新至软件文件上设置的级别,这样,要刷写的任何更晚版本的软件文件将需要具有该级别或更高级别的安全版本代码。
图5是示出用于在每次发布新版本的软件文件时分配软件版本代码和安全版本代码的过程的流程图100。在框102处,新版本的软件文件被准备好了并且准备用于发布。在框104处,新版本的软件文件被分配了新的软件文件版本代码。在决策菱形106处,软件发布工程师确定新版本是否用于安全漏洞修补,如果是这样,则在框108处软件发布工程师将下一个更高的安全版本代码分配给软件文件。接着在框110处软件发布工程师对软件文件签名。如果在决策菱形106处新软件版本不是用于修正安全漏洞,则在框112处软件发布工程师保持相同的安全版本代码,并且继续到框110以对新版本的软件文件签名。然后在框114处发布签名的软件文件,并且该过程在框116处结束。
图6是示出ECU中的引导装载程序用来确定是否应将新软件文件刷写到ECU中的过程的流程图120。引导装载程序在框122处接收新软件文件并在框124处识别标题太阳城集团。引导装载程序在决策菱形126处确定软件文件是否具有有效签名,如果不是,则引导装载程序在框128处退出引导。如果算法在决策菱形126处确定软件文件的确具有有效签名,则算法在决策菱形130处确定安全版本代码是否有效。如果安全版本代码是比引导装载程序中当前存储的安全版本代码更旧的代码,则引导装载程序在框128处退出引导。如果分别在决策菱形126和130处签名是有效的且安全版本代码是有效的,则引导装载程序在框132处安装或刷写软件文件。引导装载程序接着在决策菱形134处确定是否已满足运行软件文件的所有剩余要求,并且在不满足时在框128处退出引导,而不运行软件文件。如果算法确定软件文件上的安全版本代码高于引导装载程序中先前存储的安全版本代码,则引导装载程序在框136处存储新版本的安全代码以用于下一次软件发布,并且在框138处退出引导。
如本领域的技术人员将充分理解的,本文讨论的描述本发明的若干和各种步骤和过程可能是指由计算机、处理器或其它电子计算装置执行的操作,该电子计算装置利用电气现象操纵和/或转化数据。这些计算机和电子装置可以采用各种易失性和/或非易失性存储器,包括其上储存有可执行程序的非暂时性计算机可读介质,这些程序包括能够由计算机或处理器执行的各种代码或可执行指令,其中存储器和/或计算机可读介质可包括所有形式和类型的存储器和其它计算机可读介质。
所公开的以上讨论仅描述了本发明的示例性实施例。本领域技术人员将容易从此类讨论和附图及权利要求认识到,在不脱离所附权利要求中限定的本发明的精神和范围的情况下,可以在其中做出各种更改、修改和变型。

关 键 词:
用于 选择性 软件 方法
  专利查询网所有资源均是用户自行上传分享,仅供网友学习交流,未经上传用户书面授权,请勿作他用。
太阳城集团本文
本文标题:用于选择性软件回退的方法.pdf
链接地址:http://zh228.com/p-6180778.html
太阳城集团我们 - 网站声明 - 网站地图 - 资源地图 - 友情链接 - 网站客服客服 - 联系我们

copyright@ 2017-2018 zhuanlichaxun.net网站版权所有
经营许可证编号:粤ICP备17046363号-1 
 


收起
展开
葡京赌场|welcome document.write ('');