在安全电子控制单元中启用特殊优先模式的授权方案(发明专利)

专利号:CN201310414663.3

申请人:通用汽车环球科技运作有限责任公司

  • 公开号:CN103677892A
  • 申请日期:20130912
  • 公开日期:20140326
专利名称: 在安全电子控制单元中启用特殊优先模式的授权方案
专利名称(英文): Authorization scheme to enable special privilege mode in secure electronic control unit
专利号: CN201310414663.3 申请时间: 20130912
公开号: CN103677892A 公开时间: 20140326
申请人: 通用汽车环球科技运作有限责任公司
申请地址: 美国密执安州
发明人: A.I.阿尔拉巴迪; K.M.贝尔茨; T.M.富里斯特
分类号: G06F9/445; G06F21/31; H04L9/32; H04L29/06 主分类号: G06F9/445
代理机构: 中国专利代理(香港)有限公司 72001 代理人: 宋宝库; 胡斌
摘要: 本发明涉及在安全电子控制单元中启用特殊优先模式的授权方案,具体提供一种用于在不必认证软件的情况下绕过安全码来允许开发软件安装在生产控制器上的系统和方法。所述方法包括从控制器请求信息以及响应于该请求而在控制器中生成识别控制器的信息标签。所述信息标签被发送到生成授权标签的安全服务器,所述授权标签通过信息标签识别控制器并且生成用于所述标签的安全码。所述授权标签被呈送给控制器,并且如果控制器核实了该安全码,则所述控制器允许安装所述开发软件。
摘要(英文): The invention relates to an authorization scheme to enable a special privilege mode in a secure electronic control unit, and concretely provides a system and method for by-passing a security code to allow developmental software to be installed on a production controller without having to authenticate the software. The method includes requesting information from the controller and creating an information ticket in the controller in response to the request that identifies the controller. The information ticket is sent to a secure server that creates an authorization ticket that identifies the controller from the information ticket and creates a security code for the ticket. The authorization ticket is presented to the controller and if the security code is verified by the controller, the controller allows the developmental software to be installed.
  • 商标交易流程
  • 商标交易流程
  • 商标交易流程
  • 商标交易流程
  • 商标交易流程
  • 商标交易流程
  • 商标交易流程
一种启用安全控制器中的优先模式的方法,所述方法包括:从所述控制器请求信息;响应于所述请求在所述控制器中生成识别所述控制器的信息标签;将所述控制器信息标签发送到安全服务器;在所述安全服务器中生成授权标签,所述授权标签识别所述控制器并且生成用于所述授权标签的安全码;将所述授权标签呈送给所述控制器;以及在所述控制器中处理所述授权标签来核实所述安全码并允许访问所述控制器。

1.一种启用安全控制器中的优先模式的方法,所述方法包括: 从所述控制器请求信息; 响应于所述请求在所述控制器中生成识别所述控制器的信息标签; 将所述控制器信息标签发送到安全服务器; 在所述安全服务器中生成授权标签,所述授权标签识别所述控制器并且生成用于所述授权标签的安全码; 将所述授权标签呈送给所述控制器;以及 在所述控制器中处理所述授权标签来核实所述安全码并允许访问所述控制器。

2.如权利要求1所述的方法,其中从所述控制器请求信息、发送所述控制器信息标签到所述服务器以及发送所述授权标签到所述控制器是由人来执行的。

3.如权利要求1所述的方法,其中所述授权标签包括关于所述控制器的独特识别信息、访问所述控制器的目的、所述授权标签和所述安全码的有效时段。

4.如权利要求1所述的方法,其中在所述控制器中生成信息标签包括生成包含所述控制器的标识号的信息标签。

5.如权利要求4所述的方法,其中在所述控制器中生成信息标签包括在所述信息标签中提供挑战,在所述控制器将允许访问所述控制器之前所述挑战必须被回答。

6.如权利要求5所述的方法,其中生成授权标签包括生成包含所述挑战的回答的授权标签。

7.如权利要求1所述的方法,其中所述安全码包括与使用私有密钥和公共密钥的非对称密钥加密术相关的签名。

8.如权利要求1所述的方法,其中使用所述优先模式来允许访问所述控制器以便将开发软件文件安装到所述控制器上。

9.一种方法,所述方法用于将车辆的生产电子控制单元(ECU)设置到特殊的优先模式以便允许所述ECU在无需为开发软件附上安全签名的情况下用于将所述开发软件文件安装在所述ECU上,所述方法包括: 从所述ECU请求独特识别信息; 响应于所述请求在所述ECU中生成ECU信息标签,所述ECU信息标签包括ECU标识号; 将所述ECU信息标签发送到远程安全服务器; 在所述安全服务器中生成授权标签,所述授权标签包括所述ECU标识码和签名码,所述签名码将使用者和授权标签建立为已授权; 将所述授权标签呈送给所述ECU;以及 处理所述ECU中的授权标签来禁用所述签名核实要求并且允许所述开发软件文件安装在所述ECU上。

10.一种启用安全控制器中的优先模式的系统,所述系统包括: 用于从控制器请求信息的装置; 响应于所述请求在控制器中生成信息标签的装置,所述信息标签识别所述控制器; 用于将所述控制器信息标签发送到安全服务器的装置; 用于在所述安全服务器中生成授权标签的装置,所述授权标签识别所述控制器并且生成用于所述授权标签的安全码; 用于将所述授权标签呈送给所述控制器的装置;以及 用于在控制器中处理授权标签来核实所述安全码并且允许优先访问所述控制器的装置。

PDF文件加载中,请耐心等待!
一种启用安全控制器中的优先模式的方法,所述方法包括:从所述控制器请求信息;响应于所述请求在所述控制器中生成识别所述控制器的信息标签;将所述控制器信息标签发送到安全服务器;在所述安全服务器中生成授权标签,所述授权标签识别所述控制器并且生成用于所述授权标签的安全码;将所述授权标签呈送给所述控制器;以及在所述控制器中处理所述授权标签来核实所述安全码并允许访问所述控制器。
原文:

1.一种启用安全控制器中的优先模式的方法,所述方法包括: 从所述控制器请求信息; 响应于所述请求在所述控制器中生成识别所述控制器的信息标签; 将所述控制器信息标签发送到安全服务器; 在所述安全服务器中生成授权标签,所述授权标签识别所述控制器并且生成用于所述授权标签的安全码; 将所述授权标签呈送给所述控制器;以及 在所述控制器中处理所述授权标签来核实所述安全码并允许访问所述控制器。

2.如权利要求1所述的方法,其中从所述控制器请求信息、发送所述控制器信息标签到所述服务器以及发送所述授权标签到所述控制器是由人来执行的。

3.如权利要求1所述的方法,其中所述授权标签包括关于所述控制器的独特识别信息、访问所述控制器的目的、所述授权标签和所述安全码的有效时段。

4.如权利要求1所述的方法,其中在所述控制器中生成信息标签包括生成包含所述控制器的标识号的信息标签。

5.如权利要求4所述的方法,其中在所述控制器中生成信息标签包括在所述信息标签中提供挑战,在所述控制器将允许访问所述控制器之前所述挑战必须被回答。

6.如权利要求5所述的方法,其中生成授权标签包括生成包含所述挑战的回答的授权标签。

7.如权利要求1所述的方法,其中所述安全码包括与使用私有密钥和公共密钥的非对称密钥加密术相关的签名。

8.如权利要求1所述的方法,其中使用所述优先模式来允许访问所述控制器以便将开发软件文件安装到所述控制器上。

9.一种方法,所述方法用于将车辆的生产电子控制单元(ECU)设置到特殊的优先模式以便允许所述ECU在无需为开发软件附上安全签名的情况下用于将所述开发软件文件安装在所述ECU上,所述方法包括: 从所述ECU请求独特识别信息; 响应于所述请求在所述ECU中生成ECU信息标签,所述ECU信息标签包括ECU标识号; 将所述ECU信息标签发送到远程安全服务器; 在所述安全服务器中生成授权标签,所述授权标签包括所述ECU标识码和签名码,所述签名码将使用者和授权标签建立为已授权; 将所述授权标签呈送给所述ECU;以及 处理所述ECU中的授权标签来禁用所述签名核实要求并且允许所述开发软件文件安装在所述ECU上。

10.一种启用安全控制器中的优先模式的系统,所述系统包括: 用于从控制器请求信息的装置; 响应于所述请求在控制器中生成信息标签的装置,所述信息标签识别所述控制器; 用于将所述控制器信息标签发送到安全服务器的装置; 用于在所述安全服务器中生成授权标签的装置,所述授权标签识别所述控制器并且生成用于所述授权标签的安全码; 用于将所述授权标签呈送给所述控制器的装置;以及 用于在控制器中处理授权标签来核实所述安全码并且允许优先访问所述控制器的装置。

翻译:
在安全电子控制单元中启用特殊优先模式的授权方案

技术领域

本发明总体上涉及一种用于绕过在控制器上安装软件文件所需的授权要求的系统和方法,更具体地涉及一种为了软件开发目的而绕过在车辆电子控制单元(ECU)上安装新软件所需的签名的系统和方法。

背景技术

多数现代车辆包括控制车辆系统-例如动力系、气候控制系统、资讯娱乐系统、车体系统、底盘系统以及其他系统的操作的电子控制单元(ECU)或控制器。这种控制器需要为特定目的设计的软件以便执行控制功能。随着这些控制器的数量和复杂性的增加以及由恶意软件的开发者造成的威胁的增长,认证加载到汽车控制器上的二进制文件的来源和内容变得愈发重要。在车辆控制器中使用没有适当认证或者(更糟糕的)恶意设计的软件的后果包括:车辆或者其系统的非期望表现、车辆上防盗窃特征的丧失、诸如里程表的部件的潜在擅改以及其他车辆特征和功能的丧失。

一种公知的数字编码技术被称为非对称密钥加密术,所述技术使用数字签名来认证编程到控制器中的文件。如将为所属领域技术人员充分理解的,非对称密钥加密术使用称为私有密钥和公共密钥的一对数学上相关的密钥来为消息加密和解密。为了形成数字签名,签名者使用他的私有密钥(只有他自己知道)来为消息加密。数字签名可随后被使用与签名者的私有密钥配对的公共密钥的另一方解密。

快速安装(flashing)是用于将软件文件、校准文件和/或其他应用安装到车辆ECU的闪存存储器或其他可编程装置中的众所周知的过程。引导加载程序(bootloader)是加载到ECU上的嵌入软件程序,所述引导加载程序在ECU与快速安装文件的程序装置之间提供接口。在允许ECU执行软件文件或校准文件之前,所述引导加载程序可采用非对称密钥加密术并且存储将程序装置传送的数字签名解码所必须使用的公共密钥。

当开发和测试新版本的软件和校准文件时,通常期望采用已快速安装了现有文件的产品控制器来作为仅为了开发目的而提供的专门控制器的成本较低的备选方案。当在生产控制器中安装开发软件文件时,在ECU将允许文件安装之前,文件必须被适当地签名或者以其他方式认证。要求授权使用者对开发软件文件和校准文件签名需要付出很多的精力、时间和资源。然而,如果能将开发软件文件相对容易地安装到ECU中-包括绕过认证用于授权使用者的文件的签名要求,那么黑客将ECU设置成不需要签名的配置也会比较容易。因此,期望提供一种安全程序,其中被用于测试开发软件的生产控制器被指令不需要通过签名来快速安装软件,但仍足够安全以便防止潜在的黑客执行相同操作。

如果车辆上的特定模块存在大量生产控制器并且开发了一种为了测试和开发目的而将开发软件快速安装到那些控制器中的一个上的技术,如果该技术曾在安全开发环境之外释放,那么所有那些产品控制器随后可能都有容易受到攻击的风险。因此,用于指令控制器接收对于一种类型的特定控制器未签名的开发软件的技术需要足够安全以便防止潜在的黑客访问该控制器,并且还需要足够安全而当潜在的黑客取得了用于控制器的该技术时所述技术将不能在相同类型的所有其他控制器上使用。

发明内容

根据本发明的教导,公开了一种用于在不必认证软件的情况下绕过安全码来允许开发软件安装在安全生产控制器上的系统和方法。所述方法包括从控制器请求信息以及响应于该请求而在控制器中生成识别控制器的信息标签。所述信息标签被发送到生成授权标签的安全服务器,所述授权标签通过信息标签识别控制器并且生成用于所述标签的安全码。所述授权标签被呈送给控制器,并且如果控制器核实了该安全码,则控制器使开发软件能够安装而无论所述开发软件是否被适当地签名。

方案1. 一种启用安全控制器中的优先模式的方法,所述方法包括:

从所述控制器请求信息;

响应于所述请求在所述控制器中生成识别所述控制器的信息标签;

将所述控制器信息标签发送到安全服务器;

在所述安全服务器中生成授权标签,所述授权标签识别所述控制器并且生成用于所述授权标签的安全码;

将所述授权标签呈送给所述控制器;以及

在所述控制器中处理所述授权标签来核实所述安全码并允许访问所述控制器。

方案2. 如方案1所述的方法,其中从所述控制器请求信息、发送所述控制器信息标签到所述服务器以及发送所述授权标签到所述控制器是由人来执行的。

方案3. 如方案1所述的方法,其中所述授权标签包括关于所述控制器的独特识别信息、访问所述控制器的目的、所述授权标签和所述安全码的有效时段。

方案4. 如方案1所述的方法,其中在所述控制器中生成信息标签包括生成包含所述控制器的标识号的信息标签。

方案5. 如方案4所述的方法,其中在所述控制器中生成信息标签包括在所述信息标签中提供挑战,在所述控制器将允许访问所述控制器之前所述挑战必须被回答。

方案6. 如方案5所述的方法,其中生成授权标签包括生成包含所述挑战的回答的授权标签。

方案7. 如方案1所述的方法,其中所述安全码包括与使用私有密钥和公共密钥的非对称密钥加密术相关的签名。

方案8. 如方案1所述的方法,其中使用所述优先模式来允许访问所述控制器以便将开发软件文件安装到所述控制器上。

方案9. 如方案1所述的方法,其中所述控制器是车辆的电子控制单元(ECU)。

方案10. 一种方法,所述方法用于将车辆的生产电子控制单元(ECU)设置到特殊的优先模式以便允许所述ECU在无需为开发软件附上安全签名的情况下用于将所述开发软件文件安装在所述ECU上,所述方法包括:

从所述ECU请求独特识别信息;

响应于所述请求在所述ECU中生成ECU信息标签,所述ECU信息标签包括ECU标识号;

将所述ECU信息标签发送到远程安全服务器;

在所述安全服务器中生成授权标签,所述授权标签包括所述ECU标识码和签名码,所述签名码将使用者和授权标签建立为已授权;

将所述授权标签呈送给所述ECU;以及

处理所述ECU中的授权标签来禁用所述签名核实要求并且允许所述开发软件文件安装在所述ECU上。

方案11. 如方案10所述的方法,其中所述授权标签包括关于所述控制器的识别信息、访问所述控制器的目的、所述授权标签和所述安全码的有效时段。

方案12. 如方案11所述的方法,其中在所述控制器中生成信息标签包括在所述信息标签中提供挑战,在所述控制器将允许访问所述控制器之前所述挑战必须被回答。

方案13. 如方案12所述的方法,其中生成授权标签包括生成包含所述挑战的回答的授权标签。

方案14. 一种启用安全控制器中的优先模式的系统,所述系统包括:

用于从控制器请求信息的装置;

响应于所述请求在控制器中生成信息标签的装置,所述信息标签识别所述控制器;

用于将所述控制器信息标签发送到安全服务器的装置;

用于在所述安全服务器中生成授权标签的装置,所述授权标签识别所述控制器并且生成用于所述授权标签的安全码;

用于将所述授权标签呈送给所述控制器的装置;以及

用于在控制器中处理授权标签来核实所述安全码并且允许优先访问所述控制器的装置。

方案15. 如方案14所述的系统,其中所述授权标签包括关于所述控制器的识别信息、访问所述控制器的目的、所述授权标签和所述安全码的有效时段。

方案16. 如方案15所述的系统,其中所述用于在控制器中生成信息标签的装置在信息标签中提供在控制器将允许访问所述控制器之前必须被回答的挑战。

方案17. 如方案16所述的系统,其中所述用于生成所述授权标签的装置生成包括所述挑战的回答的授权标签。

方案18. 如方案14所述的系统,其中所述安全码包括与使用私有密钥和公共密钥的非对称密钥加密术相关的签名。

方案19. 如方案14所述的系统,其中使用所述优先模式来允许访问所述控制器以便将开发软件文件安装到所述控制器上。

方案20. 如方案14所述的系统,其中所述控制器是车辆的电子控制单元(ECU)。

通过结合附图来参阅下面的描述和所附权利要求,本发明的附加特征将变得清楚。

附图说明

图1是示出了用于核实数字签名的过程的示意方框图;

图2是一种使用数字签名来签名和核实电子内容的方法的方框图,该方法包括从程序源输送内容和签名文件到执行控制器;

图3是示出了电子内容和数字签名如何物理地输送到车辆中的控制器的示意图;

图4是示出了一种用于绕过生产控制器的安全码的方法的方框流程图;

图5是控制器的存储区段的方框图;以及

图6是示出了一种用于签名的软件部分的安全快速安装程序的过程的流程图。

具体实施方式

下面对涉及用于绕过生产控制器采用的安全认证过程以便允许开发软件文件安装在控制器中的系统和方法的本发明的实施方式的论述本质上仅是示例性的,而决非用于限制本发明、其应用或用途。例如,如本文论述的,用于绕过安全码的技术对于车辆ECU具有特定应用。然而,如将为所属领域技术人员充分理解的,所述技术可应用于其他控制器。

图1是使用用于认证编程到控制器中的文件的非对称密钥数字签名的公知方法的方框图。如将为所属领域技术人员充分理解的,非对称密钥加密术使用称为私有密钥和公共密钥的一对数学上相关的密钥来为消息加密和解密。为了形成数字签名,签名者使用他的私有密钥(只有他自己知道)来为数字消息加密。数字签名可随后被使用与签名者的私有密钥配对的公共密钥的另一方解密从而认证文件或消息。

在签名步骤12,提供了内容文件14,其中所述内容文件14可以是一款软件、校准文件或者控制器中使用的其他“软件部分”内容。在内容文件14上执行散列计算来产生内容文件14的散列值16。散列值16随后通过签名者的私有密钥来加密从而产生数字签名18,其中所述数字签名18仅有益于该特定的内容文件。

数字签名18和内容文件14随后用于核实步骤20,将在本文论述的应用中通过ECU中的引导加载程序执行所述核实步骤20。使用签名者的公共密钥为数字签名18解密从而产生解密散列值22。与此同时,通过核实器在内容文件14上执行散列计算,来产生计算的散列值24。在方框26处,将解密的散列值22与计算的散列值24相比较。如果解密散列值22匹配计算的散列值24,那么在椭圆框28处发出有效确定,并且使用内容文件14。如果解密散列值22不匹配计算的散列值24,那么在椭圆框30处发出无效确定,并且不使用内容文件14。

图2是示出了一种使用数字签名来签名和核实电子内容的方法的方框图40,包括从程序源输送内容和签名文件到执行控制器。文件库42存储统称为内容文件44的可执行软件、校准文件或者其他“软件部分”文件。内容文件44通常是二进制文件。期望获得用于内容文件44的数字签名46。为了数字地对内容文件44签名,将所述内容文件44提供给签名服务器48。在签名服务器48上,在内容文件44上执行散列计算以便产生散列值52。使用存储在签名服务器48上的私有密钥为散列值52加密,其中所述加密产生数字签名46。数字签名46随后被提供回到库42。

此时,内容文件44和数字签名46都存在于库42中。随后挑战在于通过汽车制造商使用的各种业务系统输送内容文件44和数字签名46,以及在车辆中的控制器上安装并且验证内容文件44。总体而言,汽车制造商将具有负责在车辆中的控制器上安装软件和校准文件的至少两个机构或部门(即制造和服务)。图2示出了制造数据库56,所述制造数据库56由汽车制造商的制造部门用来管理在生产车辆时作为“零件”安装的电子文件。图2同时示出了服务数据库62,所述服务数据库62由汽车制造商的服务部门用来管理在服务设备中加工的在车辆中安装为“服务零件”的电子文件。如图2所示,制造数据库56和服务数据库62都接收用于制造和服务部门的相应功能的内容文件44和数字签名46的副本。

为了将内容文件44实际安装在车辆中的控制器上,使用了程序工具68。如图所示,程序工具68还接收内容文件44和数字签名46的副本。也就是说,制造部门可以从制造数据库56提供内容文件44和数字签名46到程序工具68以便安装在新生产的车辆上,或者服务部门可以从服务数据库62提供内容文件44和数字签名46到程序工具68以便安装在被保养的车辆上。

接下来的步骤是程序工具68将内容文件44安装在车辆中的控制器上。ECU74是将实际使用内容文件44的控制器。下面是ECU74的配置的简述。ECU74上的软件包括引导加载程序、可执行软件以及一个或多个校准文件。为了该论述的目的,ECU74被假定为具有单个中央处理器(CPU)。在实际车辆中,ECU74可具有多个CPU,并且每个CPU都将具有引导加载程序、可执行软件以及一个或多个校准文件。

ECU74中的引导加载程序负责验证和安装新的软件文件和校准文件。因此,本段中描述的功能是通过ECU74中的引导加载程序来执行的。程序工具68提供内容文件44和数字签名46到ECU74。数字签名46是通过引导加载程序使用库42的公共密钥来解密的,以便生成解密散列值78。公共签名密钥可存留在ECU74中或者结合内容文件44和数字签名46提供给ECU74。与此同时,通过引导加载程序在内容文件44上执行散列计算,来产生计算的散列值84。在方框80处,将解密散列值78与计算的散列值84相比较。如果解密散列值78匹配计算的散列值84,那么发出有效确定88,并且使用内容文件44。如果使用的内容文件44是可执行软件,那么引导加载程序将它作为新的可执行软件安装在ECU74上。如果使用的内容文件44是校准文件,那么引导加载程序将它作为一个或多个校准文件中的一个安装在ECU74上。如果解密散列值78不匹配计算的散列值84,那么发出无效确定86,并且不在ECU74上使用内容文件44。

图3是示出了电子内容和数字签名文件如何物理地输送到车辆控制器的示意图。车辆36包括图2所示并且在上面论述的ECU74。ECU74可以控制发动机、变速器、底盘、车体、资讯娱乐系统或车辆36上的其他系统36。内容文件44和数字签名46提供到在此示出为制造数据库56的中心数据库。内容文件44和数字签名46到制造数据库56的传送可以在公司网络上进行。制造数据库56提供内容文件44和数字签名46到程序工具68,其中该传送可以通过将所述程序工具68附接到已接入到数据库56的计算机来实现。程序工具68通过可以是有线的或无线的连接38与ECU74通讯。通过建立连接38,内容文件44和数字签名46可以从程序工具68下载到ECU74,其中引导加载程序可以执行前面论述的安全核实功能。

本发明提出一种技术,所述技术允许已快速安装了现有文件的生产控制器为了测试、核实、分析等目的而快速安装上开发软件和/或校准文件而无需通过签名或其他有效码来签名或以其他方式认证开发软件文件和/或校准文件,从而允许工程师和技术人员以更容易、节省成本和友好的方式使用生产控制器进行产品开发。如下面将要详细论述的,所述技术被执行以便仅允许单个特定实例控制器-而不是特定控制器类型的所有控制器在无需签名的情况下快速安装上开发软件。

图4是其中从顶部到底部代表时间进程的方框流程图90,图中示出了总体上在上面提及的技术的过程,并且该流程图包括代表安全(即,仅接受签名的软件)车辆生产ECU或控制器的方框92、代表想要为产品开发目的使用所述生产控制器92的工程师或技术人员的方框94-其中所述工程师94将使用上面提及的类型的程序工具来访问所述控制器92,还包括服务器96,所述服务器96代表用于特定机构的已知、可信并且远程的数据库或者“后台”,所述特定机构能够为特定应用提供认证、授权和稽核服务(AAA)。

当工程师94希望使用控制器92(例如,将未签名的软件和/或校准文件编程到控制器中)时,为了禁用或绕过签名验证要求或者替换用于核实数字签名的签名密钥的目的,工程师94将通过程序工具在线98上发送控制器信息的请求。当控制器92在线98上接收请求时,流程往下进行来形成由线100代表的控制器信息标签,并且所述标签通过程序工具在线102上传送给工程师94。信息标签是消息,所述消息可包括识别该特定ECU的任何独特信息-例如模块ID号、部件序号或者制造可追溯性,并且如下面将更详细论述的,可能包括必须确认或回答来满足控制器92以便超越或绕过签名要求的挑战或其他要求。

工程师94随后登录服务器96(由线104代表)以便获得服务器96验证和核准控制器信息标签,其中工程师94和服务器96交换必要信息使得服务器96了解工程师94是服务器96的授权使用者。服务器96将定位在远离工程师94和控制器92的安全设备处,其中工程师94以任何适当方式-例如通过PC键盘、触摸屏等访问服务器96,并且其中可以通过任何适当的安全连接-例如无线、安全可靠的电话线等连接到服务器96。一旦工程师94已登录到服务器96,工程师94随后通过与登录相同的过程在线106上发送控制器信息标签到服务器96。基于控制器信息标签中提供的信息,服务器96形成授权标签(由线108代表),其中所述授权标签是通过服务器96签名的并且可以是具有特定模块ID的文件标题。应当指出的是,服务器96必须了解该文件标题的形式。

图5是本文论述的那种类型的授权标签120的示意图,所述授权标签允许控制器92验证工程师94为授权使用者。服务器96生成包括在区段122处的控制器信息的标签120,所述控制器信息识别控制器92并且包括对挑战问题的回答,使得授权标签120仅对单个特定控制器92有效。在区段124处,授权标签120可包括一种参数,所述参数描述为什么工程师94想要更新控制器92的目的-例如绕过软件文件和/或校准部分的签名验证、解锁控制器92、替换签名验证密钥、更新特殊参数等。在区段126处,授权标签120可包括限定标签120的有效期-例如一次使用、点火循环等的验证码。在区段128处,标签120可包括签名信息-例如签名值、签名者ID等。

服务器96随后在线110上通过已建立的连接发送授权标签120到工程师94,并且工程师94随后通过程序工具在线112上发送授权标签120到控制器92,其中通过控制器92处理所述授权标签120(以线114代表)。控制器92处理授权标签120中的信息以便建立有效的授权标签,并且设定适当标识或者提供适当启用方案(例如,允许工程师94现在在控制器92上安装未签名的开发软件文件和/或校准文件)。由服务器96生成的授权标签120告诉控制器92它需要知道什么类型的信息来核实标签并且更新控制器92。控制器92考察授权标签120并且确定它是否具有具体用于控制器92的适当签名或者代码和ID信息。

如上所述,由控制器92生成的控制器信息标签可包括包含在由服务器96生成的授权标签120中的某些类型的挑战或者其他代码,使得当工程师94将授权标签120发回到控制器92时它需要包括该特定挑战或代码,以便控制器92知道它不是前面用于不同程序操作的授权标签。因此,每次工程师94想要将控制器92从生产模式转换到开发模式时,他或她必须通过首先从控制器92获得控制器信息标签来取得新的授权标签。服务器92使用控制器信息标签中的信息来形成具有适当代码的授权标签120,所述适当代码允许控制器92知道它已被适当地验证并且工程师94是授权使用者。因此,可能必须需要识别该控制器的信息、随机数或其他挑战识别器以及/或者控制器标识号和随机数两者。仅使控制器ID获得授权标签120的优点是,工程师94仅需要访问服务器96一次来取得用于该特定控制器的授权标签。然而,如果控制器92转换回到生产模式,那么没有该挑战的授权标签可能被误用而将控制器92转换回到生产模式。

上述用于超越快速安装开发软件文件和/或校准部分的签名要求的过程可以在控制器92中设定签名或授权绕过标识,以便允许开发软件文件快速安装到控制器92中。备选地,上述用于超越签名要求的过程可用于除了在生产控制器上快速安装开发软件文件和/或校准部分之外的其他目的。假定签名绕过标识已设定,本发明还提出一种技术,所述技术是用于开发软件文件和/或校准部分随后如何快速安装在控制器92中的过程。还应当指出的是,本文论述的签名绕过标识并非必须是用于绕过签名要求的标识,而可以是被设定为用于绕过其他授权要求的标识。

图6是流程图130,图中示出了在签名绕过标识已设定或没有设定的两种情况下都允许软件文件和/或校准文件快速安装在控制器92中的过程。流程图130中描绘的算法可用于快速安装软件文件或校准文件,其中软件文件或校准文件的快速安装将彼此独立。关于这点,所述算法在方框132处首先确定将要快速安装的文件是软件文件还是校准文件,并且随后基于该确定往下进行至菱形决策框134以便确定是否已设定软件文件绕过标识或校准文件绕过标识。如果用于软件文件或者校准文件的绕过标识尚未设定,那么软件文件或者校准文件的快速安装需要使用如上所述的签名核实来验证。同样地,如果绕过标识已设定,那么软件文件或校准文件不需要如上所述被验证。

如果绕过标识尚未设定,那么所述算法往下进行至菱形决策框136来执行一系列预检验,以便确定软件文件或校准文件是否具有适当格式-例如标题格式标识、签名版本、密钥标识、存储地址范围等。在预检验操作中可以采用适用于特定软件文件、校准文件、控制器等的任何预检验。适当的非限制性核实示例包括:模块ID检验,所述模块ID检验识别呈送给控制器的文件的类型-即校准文件或软件;控制器检验,所述控制器检验确定将被编程的兼容地址范围是否在与用于校准文件或软件文件的已知有效范围关联的范围内,将用于计算待安装的软件文件或校准文件的签名的密钥是否与控制器中的密钥兼容,用于计算将被编程的软件文件或校准文件的签名的密钥的安全水平是否与存储在控制器中的密钥安全水平兼容,正被编程的软件文件或校准文件的安全水平是否与存储在控制器中的软件安全水平兼容,兼容性ID是否适于确定将快速安装的软件文件或校准文件是否与控制器中的引导软件兼容,呈送给控制器的文件内的目标名称是否与控制器匹配-例如不适当的文件可能被发送到错误的控制器,将快速安装的文件的过期日等。

在菱形决策框136处的预检验步骤中如果软件文件或校准文件不包括适当的预检验标识等,那么所述算法往下进行至方框138来报错并且保持在引导模式并且文件不被快速安装。如果在菱形决策框136处软件文件或校准文件通过预检验步骤,那么所述算法往下进行至方框140,在所述方框140处软件文件或校准文件存储在存储器中同时所述软件文件或校准文件被认证和验证。执行对于该特定文件的快速安装,并且所述快速安装包括擦除软件或校准文件存在模式、擦除快速安装区段、写入文件来进行快速安装等,所有这些都将为所属领域技术人员充分理解。因为在本文论述的用于处理签名、校验和等的控制器中的RAM存储器限制,将要安装的文件可以在它们被验证之前快速安装到存储器中。因此,引导加载程序将软件或校准文件快速安装到非易失存储器中,并且如果确定它是有效的仅使用快速安装的软件或校准文件,否则当它不是有效的时候就擦除软件或校准文件。存在模式是核实软件文件或校准文件的众所周知的数字消息。具体地,加载引导程序可以通过检验特定数字模式的出现来确定软件和/或校准文件是存在和有效的,所述特定数字模式已知为软件和/或校准文件存储块内的存在模式。可以在与软件或校准文件相关的存储器区段中的任何适当位置处并且通常在存储区段的末端设置所述存在模式。

一旦执行了快速安装过程,所述算法在菱形决策框142处确定是否应当执行或绕过校验和过程。如将为所属领域技术人员充分理解的,校验和是高水平验证过程以便确保快速安装过程没有被滥用并且一切都正确安装。如将为所属领域技术人员充分理解的,为了验证的目的某些快速安装过程可能想要采用校验和过程,而其他快速安装过程可能不采用校验和过程。如果校验和过程将不被绕过,那么所述算法确定校验和验证过程是否指示所述快速安装过程是有效的,并且如果不是有效的,往下进行至方框138来报错并且保持在引导模式。如果校验和过程在菱形决策框142处被绕过或者在菱形决策框146处是有效的,那么所述算法在方框144处验证诸如上述的快速安装存储上的签名,以确定安装的软件文件或者校准文件是否被认证和验证。所述算法在菱形决策框148处确定签名是否有效,并且如果不是有效的,往下进行至方框138来报错并且保持在引导模式。否则,所述算法写入软件文件或校准文件存在模式,如果在方框150处所有存在模式都是有效的,就报告快速安装成功并且退出引导模式。

如果在菱形决策框134处设定了绕过标识,意味着将快速安装的软件文件或校准文件不需要通过其签名或其他安全码来验证,那么所述算法在决策框152处仍执行如上所述的预检验过程,而如果预检验未通过,那么所述算法移动至方框138来报错并且保持在引导模式。应当指出的是,基于绕过标识是否设定,预检验过程可以是不同的,其中如果设定了绕过标识,那么预检验过程将可能不那么可靠。因此,如果在设定了绕过标识时某些不是预检验测试的一部分的预检验操作没有被满足,那么所述算法将仍往下进行至用于快速安装软件的方框154。

如果在菱形决策框152处通过预检验操作,那么所述算法:在方框154处以与在方框140处相同的方式擦除存在模式和快速安装区段,在菱形决策框156处以与在菱形决策框142处相同的方式确定校验和是否应被绕过,以及在菱形决策框160处以与在菱形决策框146相同的方式确定校验和是否有效。在当前绕过标识已设定的情况下,所述算法仍通过该过程来在方框158处确定签名是否有效,并且无论其是否有效,都向签名有效菱形决策框148报告签名有效。换句话说,即使设定了绕过标识,所述算法仍试图认证签名并且报告它是有效的而无论已知它是否有效。主要由于时间原因-即签名验证过程占用一定量的时间并且需要在开发过程中重复,所述算法计算当它处于开发绕过模式时该签名是否有效。

如将为所属领域技术人员充分理解的,本文论述的描述本发明的多个以及各种步骤和过程可意指操作,所述操作由计算机、使用电气现象操纵和/或变换数据的处理器或者其他电子计算装置来执行。那些计算机和电子装置可采用各种易失和/或非易失存储器,所述存储器包括具有存储在其上的可执行程序的非临时计算机可读介质,所述可执行程序包括能够由计算机或处理器执行的各种代码或可执行指令,其中所述存储器和/或计算机可读介质可包括所有形式和类型的存储器和其他计算机可读介质。

前面的论述仅仅是对本发明的示例性实施方式的公开和描述。通过这些论述以及附图和权利要求,本领域技术人员将会容易地认识到,在不偏离由所附权利要求限定的本发明的精神和范围的情况下,可以对本发明做出各种改变、改型和变型。

收缩
  • QQ咨询

  • 在线咨询
  • 在线咨询
  • 在线咨询
  • 在线咨询
  • 电话咨询

  • 02886312233