CN103166759A - 使用诊断链路连接器(dlc)和onstar系统的用于安全固件下载的方法和装置 - Google Patents

使用诊断链路连接器(dlc)和onstar系统的用于安全固件下载的方法和装置 Download PDF

Info

Publication number
CN103166759A
CN103166759A CN2012105415685A CN201210541568A CN103166759A CN 103166759 A CN103166759 A CN 103166759A CN 2012105415685 A CN2012105415685 A CN 2012105415685A CN 201210541568 A CN201210541568 A CN 201210541568A CN 103166759 A CN103166759 A CN 103166759A
Authority
CN
China
Prior art keywords
firmware
signature
source
trusting
hash
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
CN2012105415685A
Other languages
English (en)
Other versions
CN103166759B (zh
Inventor
N.M.拉巴迪
K.M.贝尔特斯
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
GM Global Technology Operations LLC
Original Assignee
GM Global Technology Operations LLC
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by GM Global Technology Operations LLC filed Critical GM Global Technology Operations LLC
Publication of CN103166759A publication Critical patent/CN103166759A/zh
Application granted granted Critical
Publication of CN103166759B publication Critical patent/CN103166759B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/30Public key, i.e. encryption algorithm being computationally infeasible to invert or user's encryption keys not requiring secrecy
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/50Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems
    • G06F21/57Certifying or maintaining trusted computer platforms, e.g. secure boots or power-downs, version controls, system software checks, secure updates or assessing vulnerabilities
    • G06F21/572Secure firmware programming, e.g. of basic input output system [BIOS]
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/32Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials
    • H04L9/3247Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials involving digital signatures
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F17/00Digital computing or data processing equipment or methods, specially adapted for specific functions
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L2209/00Additional information or applications relating to cryptographic mechanisms or cryptographic arrangements for secret or secure communication H04L9/00
    • H04L2209/84Vehicles
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/12Protocols specially adapted for proprietary or special-purpose networking environments, e.g. medical networks, sensor networks, networks in vehicles or remote metering networks

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Computer Hardware Design (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Computing Systems (AREA)
  • Stored Programmes (AREA)

Abstract

本发明涉及使用诊断链路连接器(DLC)和ONSTAR系统的用于安全固件下载的方法和装置。一种方法,其用于验证被下载到控制器的固件。方法包括用第一信任的源的第一私人密钥签名固件或固件的第一部分,用第二信任的源的第二私人密钥签名固件或固件的第二部分。方法还包括在控制器处使用第一公共密钥验证签名的固件或固件的第一部分,在控制器处使用第二公共密钥验证固件或固件的第二部分。方法还包括通过控制器处的第一公共密钥验证固件是否固件或固件的第一部分是有效的,并且通过控制器处的第二公共密钥验证固件是否固件或固件的第二部分是有效的。

Description

使用诊断链路连接器(DLC)和ONSTAR系统的用于安全固件下载的方法和装置
技术领域
本发明总体涉及一种系统和方法,其用于安全地下载固件到车辆电子控制单元(ECU),更具体地,涉及一种系统和方法,其用于安全地下载固件到车辆ECU,其包括通过两个分离的可信的源来验证固件从而证实固件是可信的。
背景技术
很多现代车辆包括:电子控制单元(ECU)或控制器,其控制诸如动力系、气候控制系统、信息娱乐系统、车身系统、底盘系统及其他的车辆系统的操作。这样的控制器需要为特定目的设计的软件(例如应用代码和校准)以便执行控制功能。随着这些控制器的数量和复杂性的增加,以及由恶意软件的开发者所构成的威胁的增加,认证被加载在机动车控制器上的二进制文件的来源和内容比以往更重要。在车辆控制器中使用未经适当验证的或者更糟地恶意设计的软件的后果包括:车辆或其系统的非预期行为;车辆上的防盗特征的丧失;对诸如里程计的部件的可能的窜改;以及其它车辆特征和功能的丧失。
一种已知的数字编码技术被称为非对称密钥密码术,其使用数字签名以便认证被编程进控制器中的文件。如本领域的技术人员将理解的,非对称密钥密码术使用被称为私人密钥和公共密钥的一对算术相关的密钥来对消息加密和解密。为了创建数字签名,签名人使用仅为其自己所知的其私人密钥来对消息加密。数字签名可稍后由另一方使用与签名人的私人密钥成对的公共密钥来解密。
闪存(flashing)是用于将软件、校准文件和其它应用下载到车辆ECU的内存或其它可编程装置中的熟知的过程。引导加载器是在ECU的内存中加载的嵌入式软件程序,其在ECU和正在下载软件的计算机装置之间提供接口。引导加载器闪存进入ECU内存的操作软件和校准文件,其中操作软件提供软件,该软件使各种车辆功能彼此结合操作,校准文件是用于特定车辆系统的各种车辆参数,例如压力,温度等。引导加载器通常利用非对称密钥密码术并且存储公共密钥,该公共密钥必须用来在允许下载到ECU或ECU的重新闪存之前对由上载计算机传递的数字签名进行解码以防止恶意软件或校准文件被下载到ECU中。
已知的数字编码技术,例如上面涉及的使用数字签名的非对称密钥密码术,非常擅长防止潜在黑客闪存不可信的软件到ECU中。不过,被下载到车辆ECU的对固件的替代形式的恶意攻击可能来自知道公共和私人密钥的组织,其中潜在黑客以某种方式获得了公共和私人密钥而不用解密它们。
发明内容
根据本发明的教导,公开了一种系统和方法,其用于通过使用两个分离的可信的源来验证固件从而验证被下载到车辆ECU的固件是可信的。在一个实施例中,方法包括将固件分成第一固件部分和第二固件部分,并且用第一信任的源的第一私人密钥签名第一固件部分。第一信任的源散列(hash)第二固件部分并把散列的第二固件部分发送给第二信任的源。第二信任的源使用第二私人密钥为散列的第二固件部分签名,并且第一信任的源把固件和第一固件部分的签名发送给下载工具。车辆从下载工具请求固件和第一固件部分的签名并且从第二信任的源请求第二固件部分的签名。第二信任的源把第二固件部分的签名发送给车辆,并且车辆使用第一公共密钥验证第一固件部分的签名,并且使用第二公共密钥验证第二固件部分的签名。如果两个部分经过验证,车辆执行固件。
本发明的另外的特征将从结合附图所做出的下列描述和所附权利要求变得明显。
本发明还提供了以下方案:
1. 一种方法,其用于验证被下载到车辆ECU的固件,所述方法包括:
将固件分成第一固件部分和第二固件部分;
在第一信任的源使用散列函数散列第一固件部分;
用第一源私人密钥加密第一固件部分的散列,以在第一信任的源产生签名;
在第一信任的源使用散列函数散列第二固件部分;
将散列的第二固件部分发送到第二信任的源;
用第二源私人密钥加密第二固件部分的散列,以在第二信任的源产生签名;
从第一信任的源将固件和第一固件部分的签名发送给下载工具;
从下载工具请求固件和第一固件部分的签名;
从第二信任的源请求第二固件部分的签名;
将第二固件部分的签名从第二信任的源发送给车辆;
使用第一源公共密钥验证车辆中的第一固件部分的签名;
使用第二源公共密钥验证车辆中的第二固件部分的签名;以及
验证ECU中的固件是否第一和第二固件部分是有效的。
2. 根据方案1所述的方法,其特征在于,第一信任的源是车辆制造商。
3. 根据方案2所述的方法,其特征在于,第二信任的源是OnStar™。
4. 根据方案1所述的方法,其特征在于,其进一步包括在请求第二固件部分的所签的签名之前在车辆中输入密码以授权车辆。
5. 一种方法,其用于验证被下载到控制器的固件,所述方法包括:
用第一信任的源的第一私人密钥签名固件或固件的第一部分;
用第二信任的源的第二私人密钥签名固件或固件的第二部分;
在控制器处使用第一公共密钥验证签名的固件或固件的第一部分;
在控制器处使用第二公共密钥验证固件或固件的第二部分;以及
通过控制器处的第一公共密钥验证用于使用的固件是否固件或固件的第一部分是有效的,并且通过控制器处的第二公共密钥验证用于使用的固件是否固件或固件的第二部分是有效的。
6. 根据方案5所述的方法,其特征在于,其进一步包括在固件或固件的第一部分被签名之前散列固件或固件的第一部分,在固件或固件的第二部分被签名之前散列固件或固件的第二部分,并且其中用第一私人密钥签名固件或固件的第一部分包括签名固件或固件的第一部分的散列,用第二私人密钥签名固件或固件的第二部分包括签名固件或固件的第二部分的散列。
7. 根据方案5所述的方法,其特征在于,在第二信任的源用第二私人密钥签名固件或固件的第二部分包括从数据文件知识库提供固件到第二信任的源以被签名。
8. 根据方案7所述的方法,其特征在于,其进一步包括从第二信任的源将签名的固件或固件的第二部分返回到数据文件知识库。
9. 根据方案8所述的方法,其特征在于,其进一步包括从数据文件知识库提供固件,签名的固件或固件的第一部分,和签名的固件或固件的第二部分到下载工具。
10. 根据方案5所述的方法,其特征在于,其进一步包括从第一信任的源提供签名的固件或固件的第一部分到下载工具,从第二信任的源提供签名的固件或固件的第二部分到控制器。
11. 根据方案5所述的方法,其特征在于,其进一步包括从第一信任的源提供固件或固件的第二部分和签名的固件或固件的第一部分到第二信任的源,从第二信任的实体提供固件,签名的固件或固件的第二部分和签名的固件或固件的第一部分到控制器。
12. 根据方案5所述的方法,其特征在于,其进一步包括在下载固件之前提供密码给控制器。
13. 根据方案5所述的方法,其特征在于,第一信任的源是车辆制造商。
14. 根据方案13所述的方法,其特征在于,第二信任的源是OnStar™。
15. 根据方案14所述的方法,其特征在于,控制器是车辆上的ECU。
16. 一种系统,其用于验证被下载到控制器的固件,所述系统包括:
用第一信任的源的第一私人密钥签名固件或固件的第一部分的装置;
用第二信任的源的第二私人密钥签名固件或固件的第二部分的装置;
在控制器处使用第一公共密钥验证签名的固件或固件的第一部分的装置;
在控制器处使用第二公共密钥验证固件或固件的第二部分的装置;以及
通过控制器处的第一公共密钥验证用于使用的固件是否固件或固件的第一部分是有效的,并且通过控制器处的第二公共密钥验证用于使用的固件是否固件或固件的第二部分有效的装置。
17. 根据方案16所述的系统,其特征在于,其进一步包括在固件或固件的第一部分被签名之前散列固件或固件的第一部分,在固件或固件的第二部分被签名之前散列固件或固件的第二部分的装置,并且其中用第一私人密钥签名固件或固件的第一部分的装置包括签名固件或固件的第一部分的散列,用第二私人密钥签名固件或固件的第二部分的装置签名固件或固件的第二部分的散列。
18. 根据方案16所述的系统,其特征在于,其进一步包括从第一信任的源提供签名的固件或固件的第一部分到下载工具,从第二信任的源提供签名的固件或固件的第二部分到控制器的装置。
19. 根据方案16所述的系统,其特征在于,其进一步包括在下载固件之前提供密码给控制器的装置。
20. 根据方案16所述的系统,其特征在于,第一信任的源是车辆制造商,第二信任的源是OnStar™,控制器是车辆ECU。
附图说明
图1是系统的框图,其显示了签名验证过程的操作;
图2是流程图,其显示了用于验证被下载到车辆的固件文件的过程,其中车辆包括远程信息处理系统,例如OnStar™;
图3是流程图,其显示了用于验证被下载到车辆的固件文件的过程,其中车辆不具有OnStar™;以及
图4是流程图,其显示了用于验证被下载到车辆ECU的固件文件过程,其中仅使用OnStar™。
具体实施方式
本发明的实施例的下列讨论涉及用于通过两个分离的可信的源来验证固件从而验证下载到车辆ECU的固件文件的系统和方法,其本质上仅仅是示例性的,并且决不旨在限制本发明或其应用或使用。例如,本发明具有用于下载固件到车辆ECU的特定应用。然而,如本领域的技术人员将了解的,验证技术可具有用于下载固件和/或软件到其他控制器的应用。
图1是用于使用非对称密钥数字签名用于认证被编程到控制器中的文件的已知方法的框图10。如本领域的技术人员将理解的,非对称密钥密码使用一对被称为私人密钥和公共密钥的算术相关的密钥来对消息加密和解密。为了创建数字签名,签名人使用仅为其自己所知的其私人密钥来对文件加密。数字签名可稍后由另一方使用与签名人的私人密钥成对的公共密钥来解密以认证文件或消息。
在签名步骤12中,内容文件14被提供,其中内容文件14可能是一份软件、固件、校准文件、或将在控制器中被使用的其它内容。密码散列计算在内容文件14上执行以产生散列值或概要16。然后,用签名人的私人密钥对散列值16加密以产生数字签名18, 其中数字签名18仅对该特定的内容文件有效。
数字签名18和内容文件14然后在验证步骤20中被使用,该验证步骤20将由在此处讨论的应用中的ECU中的引导加载器执行。使用签名人的公共密钥来对数字签名18解密以产生解密的散列值22。同时,通过验证器由文件14的内容编程的闪存存储器上执行散列计算,以产生计算的散列值24。在框26处,将解密的散列值22与计算的散列值24相比较。如果解密的散列值22匹配计算的散列值24,则有效确定28被发出,并且内容文件14编程的闪存内存被使用。如果解密的散列值22不匹配计算的散列值24,则无效确定30被发出,并且用内容文件14编程的闪存内存不被使用。
本发明提出了一种技术,其用于使用前面讨论类型的非对称数字密钥签名以用于验证被下载到车辆ECU的固件是可信的,其中方法包括通过使用两个分离的信任的源(例如车辆制造商和OnStar™)验证固件是可信的,其中每个签名消息使用其本身的私人密钥。到车辆的连接可以是远程信息连接,其中两个可信的源可以是地理上分开的服务器,从而使得其更难以影响用于产生数字签名的私人密钥。
图2是流程图40,其显示了用于使用两个分离的可信的源验证被下载到车辆ECU的固件是可信的过程。对于下面的讨论,第一信任的源是车辆制造商,但是可以是任何信任的源,其提供被下载的固件文件,例如供应商。进一步,由于这是通用汽车受让的申请,第二信任的源是OnStar™(安吉星),但是可以是任何其他合适的信任的源,其与第一信任的源分离。在下面的讨论中,车辆制造商将具有私人密钥MPv和公共密钥MPu,OnStar™将具有私人密钥ONPv和公共密钥ONPu,固件被定义为FW,可以被分为两个部分,定义为FW1和FW2,散列函数被定义为H(),使用私人密钥p的消息m的签名被定义为Sig(p,m)。
在图40中,数据文件知识库(固件FW存储在其中和/或从其中获得)由框42指定。知识库42可以是任何合适的设施、服务器、位置等等,其能够从车辆制造商,供应商等等接收固件,将固件存储在安全位置和以任何合适的方式传输固件,例如无线地,通过互联网,通过电话线等等。假设数据文件知识库42安全地接收固件FW。框44代表OnStar™设施和提供OnStar™操作的任何合适的设施(其为本领域的技术人员熟知的),其可以与车辆无线通信,由框46表示。虽然OnStar™设施44在此例子中用作的信任的源中的一个,本领域技术人员将理解这是非限制性的示例,任何适合的信任的源可以被使用。框48代表工具,其用于下载固件FW到在车辆46上的ECU。工具48可以是任何合适的计算机相关装置,服务器设施,制造商等等会采用其执行此操作。车辆46和工具48将会在相同位置,其中工具48通过本领域技术人员熟知的诊断链路连接器(DLC)连接到车辆46。
固件FW在知识库42被分为第一和第二固件部件FW1和FW2。数据文件知识库42将使用散列函数散列第一固件部分FW1,然后使用制造商的私人密钥MPv加密散列的第一固件部分FW1以产生签名Sig(MPv,H(FW1))。进一步,数据文件知识库42将使用散列函数散列第二固件部分FW2,并且将散列的第二固件部分FW2作为消息H(FW2)在线50上发送给OnStar™设施44。从知识库42至OnStar™设施44的文件传输可以是任何合适的连接,例如无线地或通过电话线。OnStar™设施44将使用OnStar™私人密钥ONPv签名第二固件部分FW2的散列以产生签名Sig(ONPv,H(FW2))。注意到OnStar™设施44不具有固件文件FW、FW1或FW2。还注意到在接近知识库42从制造商或供应商接收固件部分FW的一些时间,并且在固件FW实际上需要被下载到车辆ECU之前,数据文件知识库42将散列并签名第一固件部分FW1,散列第二固件FW2,并且将散列的第二固件部分H(FW2)发送给OnStar™设施44。
数据文件知识库42还在线52上提供固件FW和签名Sig(MPv,H(FW1))到工具48。知识库42和工具48之间的连接可以是用于本文所讨论目的的任何合适的连接,例如远程通信连接,互联网联接等等。当工具48通过DLC连接到车辆46以用于下载固件FW的时候,工具48下载固件FW和签名Sig(MPv,H(FW1)),其已经在线54上从数据文件知识库42接收并存储。知识库42可提供固件FW和散列且签名的第一固件部分FW1以在车辆46请求将其下载之前存储在工具48。会希望的是要求车辆46输入密码(以线56代表)到ECU,其在继续固件下载之前识别的车辆46的适当用户。在工具48下载固件FW和签名Sig(MPv,H(FW1))到车辆46之前,密码输入可被执行。
车辆46然后通过OnStar™远程通信链路在线58上请求第二固件部分FW2的签名,OnStar™设施44在线60上提供签名Sig(ONPv,H(FW2))到车辆46。为了接受由工具48提供的固件FW,车辆46上的ECU将通过使用制造商公共密钥MPu来验证签名Sig(MPv,H(FW1))和通过使用OnStar™公共密钥ONPu来验证来自OnStar™设施44的签名Sig(ONPv,H(FW2))而验证固件FW。如果消息的两个部分经过验证,那么车辆46上的ECU允许固件FW被执行。
虽然上面的讨论把固件FW分成两个部分FW1和FW2,这种要求对于计算目的可能十分复杂。在替代的实施例中,固件FW不被分离,其中整块固件FW在数据文件知识库42中散列以被发送到OnStar™设施44。整块固件FW在数据文件知识库42使用制造商私人密钥MPv签名以产生签名Sig(MPv,H(FW))。OnStar™设施44将使用OnStar™私人密钥ONPv签名固件部分FW的散列以产生签名Sig(ONPv,H(FW))。
图3是流程图70,其显示了用于验证被下载到车辆ECU的固件FW的另一操作,其中车辆ECU具有与图40相同的设施和元件,但是其中车辆46不具有OnStar™认购,因此不能从OnStar™设施44直接接收任何签名。如上所述,数据文件知识库42散列第二固件部分FW2并且在线50上将它发送给OnStar™设施44,其中OnStar™设施44使用OnStar™私人密钥ONPv签名并散列值。因为OnStar™设施44不能将第二固件部分FW2的签名发送给车辆46,OnStar™设施44在线72上将第二固件部分FW2的签名发送给数据文件知识库42。现在数据文件知识库42具有来自OnStar™设施44的签名的第一固件部分Sig(MPv,H(FW1))和签名的第二固件部分Sig(ONPv,H(FW2)),并且当被请求时提供这些消息和固件FW到工具48。工具48在DLC线54上然后下载所有的固件FW和签名,其中车辆46中的ECU使用制造公共密钥MPu和OnStar™公共密钥ONPu分别地验证两个签名以验证固件FW。
图4是类似于流程图40和50的流程图80,其中相同元件和设施由相同附图标记指代。在此实施例中,工具48不用于下载固件FW到车辆46,但是固件FW直接从OnStar™设施44下载。数据文件知识库42在线50上提供固件FW、第二固件部分FW2和签名的第一固件部分Sig(MPv,H(FW1))到OnStar™设施44。在此实施例中,知识库42不散列第二固件部分FW2,但是为其提供整个固件文件FW。OnStar™设施44使用OnStar™私人密钥ONPv首先散列并且然后签名第二固件部分FW2的散列以计算签名Sig(ONPv,H(FW2))。如果固件FW从OnStar™设施44被下载到车辆46,固件FW、第一固件部分的签名Sig(MPv,H(FW1))和第二固件部分Sig的签名(ONPv,H(FW2))的全部在线82上远程地传送给车辆46,其分别验证每个签名以验证固件FW的可信性。
如本领域的技术人员将很好地理解的,此处所讨论的用以描述本发明的若干和各个步骤和过程可以指由计算机、处理器或使用电现象操作和/或变换数据的其它电子计算装置执行的操作。那些计算机和电子装置可以利用各种易失性和/或非易失性内存,包括带有在其上存储的可执行程序的非瞬时性计算机可读介质,所述可执行程序包括能够由计算机或处理器执行的各种代码或可执行指令,其中内存和/或计算机可读介质可包括所有形式和类型的内存以及其它计算机可读介质。
上面的讨论仅公开并描述了本发明的示例性实施例。根据这样的讨论以及根据附图和权利要求,本领域的技术人员将容易地意识到,在不脱离如所附权利要求中所限定的本发明的精神和范围的情况下,能够在其中做出各种改变、修改和变型。

Claims (10)

1.一种方法,其用于验证被下载到车辆ECU的固件,所述方法包括:
将固件分成第一固件部分和第二固件部分;
在第一信任的源使用散列函数散列第一固件部分;
用第一源私人密钥加密第一固件部分的散列,以在第一信任的源产生签名;
在第一信任的源使用散列函数散列第二固件部分;
将散列的第二固件部分发送到第二信任的源;
用第二源私人密钥加密第二固件部分的散列,以在第二信任的源产生签名;
从第一信任的源将固件和第一固件部分的签名发送给下载工具;
从下载工具请求固件和第一固件部分的签名;
从第二信任的源请求第二固件部分的签名;
将第二固件部分的签名从第二信任的源发送给车辆;
使用第一源公共密钥验证车辆中的第一固件部分的签名;
使用第二源公共密钥验证车辆中的第二固件部分的签名;以及
验证ECU中的固件是否第一和第二固件部分是有效的。
2.根据权利要求1所述的方法,其特征在于,第一信任的源是车辆制造商。
3.根据权利要求2所述的方法,其特征在于,第二信任的源是OnStar™。
4.根据权利要求1所述的方法,其特征在于,其进一步包括在请求第二固件部分的所签的签名之前在车辆中输入密码以授权车辆。
5.一种方法,其用于验证被下载到控制器的固件,所述方法包括:
用第一信任的源的第一私人密钥签名固件或固件的第一部分;
用第二信任的源的第二私人密钥签名固件或固件的第二部分;
在控制器处使用第一公共密钥验证签名的固件或固件的第一部分;
在控制器处使用第二公共密钥验证固件或固件的第二部分;以及
通过控制器处的第一公共密钥验证用于使用的固件是否固件或固件的第一部分是有效的,并且通过控制器处的第二公共密钥验证用于使用的固件是否固件或固件的第二部分是有效的。
6.根据权利要求5所述的方法,其特征在于,其进一步包括在固件或固件的第一部分被签名之前散列固件或固件的第一部分,在固件或固件的第二部分被签名之前散列固件或固件的第二部分,并且其中用第一私人密钥签名固件或固件的第一部分包括签名固件或固件的第一部分的散列,用第二私人密钥签名固件或固件的第二部分包括签名固件或固件的第二部分的散列。
7.根据权利要求5所述的方法,其特征在于,在第二信任的源用第二私人密钥签名固件或固件的第二部分包括从数据文件知识库提供固件到第二信任的源以被签名。
8.根据权利要求7所述的方法,其特征在于,其进一步包括从第二信任的源将签名的固件或固件的第二部分返回到数据文件知识库。
9.根据权利要求8所述的方法,其特征在于,其进一步包括从数据文件知识库提供固件,签名的固件或固件的第一部分,和签名的固件或固件的第二部分到下载工具。
10.一种系统,其用于验证被下载到控制器的固件,所述系统包括:
用第一信任的源的第一私人密钥签名固件或固件的第一部分的装置;
用第二信任的源的第二私人密钥签名固件或固件的第二部分的装置;
在控制器处使用第一公共密钥验证签名的固件或固件的第一部分的装置;
在控制器处使用第二公共密钥验证固件或固件的第二部分的装置;以及
通过控制器处的第一公共密钥验证用于使用的固件是否固件或固件的第一部分是有效的,并且通过控制器处的第二公共密钥验证用于使用的固件是否固件或固件的第二部分有效的装置。
CN201210541568.5A 2011-12-15 2012-12-14 使用诊断链路连接器(dlc)和onstar系统的用于安全固件下载的方法和装置 Active CN103166759B (zh)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US13/327,216 2011-12-15
US13/327216 2011-12-15
US13/327,216 US8856536B2 (en) 2011-12-15 2011-12-15 Method and apparatus for secure firmware download using diagnostic link connector (DLC) and OnStar system

Publications (2)

Publication Number Publication Date
CN103166759A true CN103166759A (zh) 2013-06-19
CN103166759B CN103166759B (zh) 2016-12-07

Family

ID=48522203

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201210541568.5A Active CN103166759B (zh) 2011-12-15 2012-12-14 使用诊断链路连接器(dlc)和onstar系统的用于安全固件下载的方法和装置

Country Status (3)

Country Link
US (1) US8856536B2 (zh)
CN (1) CN103166759B (zh)
DE (1) DE102012110559A1 (zh)

Cited By (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104679553A (zh) * 2013-11-26 2015-06-03 洛克威尔自动控制技术股份有限公司 用于嵌入式固件的安全分发的方法和装置
CN105938433A (zh) * 2015-03-03 2016-09-14 罗伯特·博世有限公司 用于对机动车的控制设备进行编程的方法
CN107273150A (zh) * 2017-05-10 2017-10-20 深圳市金百锐通信科技有限公司 预加载固件下载写入方法及装置
CN107306269A (zh) * 2016-04-18 2017-10-31 通用汽车环球科技运作有限责任公司 消息认证库
CN107797822A (zh) * 2016-09-01 2018-03-13 恩智浦有限公司 用于认证固件的设备和相关联的方法
CN109446815A (zh) * 2018-09-30 2019-03-08 华为技术有限公司 基本输入输出系统固件的管理方法、装置和服务器
WO2020001111A1 (zh) * 2018-06-26 2020-01-02 百富计算机技术(深圳)有限公司 固件下载验签方法、固件发布方法、移动终端及服务器
CN111142906A (zh) * 2019-12-25 2020-05-12 浙江大华技术股份有限公司 一种设备固件升级方案迭代的方法、装置与设备
CN112632562A (zh) * 2020-12-28 2021-04-09 四川虹微技术有限公司 设备启动方法、设备管理方法和嵌入式设备

Families Citing this family (23)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP5435022B2 (ja) * 2011-12-28 2014-03-05 株式会社デンソー 車載システム及び通信方法
US8966248B2 (en) 2012-04-06 2015-02-24 GM Global Technology Operations LLC Secure software file transfer systems and methods for vehicle control modules
US10017067B2 (en) * 2012-08-09 2018-07-10 Technische Universitat Dortmund Method for ensuring functional reliability in electromobility by means of digital certificates
CN103346886B (zh) * 2013-07-01 2016-12-28 天地融科技股份有限公司 一种发送签名数据的方法和电子签名令牌
WO2015129352A1 (ja) * 2014-02-28 2015-09-03 日立オートモティブシステムズ株式会社 認証システム、車載制御装置
US9542558B2 (en) * 2014-03-12 2017-01-10 Apple Inc. Secure factory data generation and restoration
US9436456B2 (en) 2014-04-17 2016-09-06 Myine Electronics, Inc. System and method for management of software updates at a vehicle computing system
US9722781B2 (en) 2014-07-09 2017-08-01 Livio, Inc. Vehicle software update verification
DE102015209116A1 (de) 2015-05-19 2016-11-24 Robert Bosch Gmbh Verfahren und Aktualisierungsgateway zum Aktualisieren eines eingebetteten Steuergerätes
DE102015209108A1 (de) 2015-05-19 2016-11-24 Robert Bosch Gmbh Verfahren und Entscheidungsgateway zum Autorisieren einer Funktion eines eingebetteten Steuergerätes
CN109074247B (zh) 2016-03-30 2022-10-25 福特全球技术公司 车辆计算机更新认证
US11321072B2 (en) 2016-03-30 2022-05-03 Ford Global Technologies, Llc Vehicle computer update authentication
US10171478B2 (en) * 2016-06-30 2019-01-01 Faraday & Future Inc. Efficient and secure method and apparatus for firmware update
US11146401B2 (en) * 2016-08-10 2021-10-12 Ford Global Technologies, Llc Software authentication before software update
US10594666B2 (en) 2017-12-19 2020-03-17 Micron Technology, Inc. Secure message including a vehicle private key
US10871952B2 (en) * 2017-12-20 2020-12-22 Nio Usa, Inc. Method and system for providing secure over-the-air vehicle updates
US10430178B2 (en) 2018-02-19 2019-10-01 GM Global Technology Operations LLC Automated delivery and installation of over the air updates in vehicles
DE102018211139A1 (de) 2018-07-05 2020-01-09 Robert Bosch Gmbh Steuergerät sowie Verfahren zu dessen Betrieb
KR20200119601A (ko) * 2019-04-10 2020-10-20 현대모비스 주식회사 차량의 바이너리 데이터 처리 장치 및 방법
US11366879B2 (en) * 2019-07-08 2022-06-21 Microsoft Technology Licensing, Llc Server-side audio rendering licensing
CN112422595B (zh) * 2019-08-20 2022-10-11 华为技术有限公司 车载系统安全保护方法及设备
DE102020216380A1 (de) 2020-12-21 2022-06-23 Robert Bosch Gesellschaft mit beschränkter Haftung Verfahren zum Betreiben eines Steuergeräts, auf dem mehrere Applikationen ausgeführt werden
DE102023000563B3 (de) 2023-02-20 2024-02-01 Mercedes-Benz Group AG Informationstechnisches-System, Fahrzeug und Verfahren zum Einbringen einer Aktualisierung auf ein Zielsystem

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7069452B1 (en) * 2000-07-12 2006-06-27 International Business Machines Corporation Methods, systems and computer program products for secure firmware updates
CN101273363A (zh) * 2005-09-14 2008-09-24 桑迪士克股份有限公司 用于具有快闪大容量存储存储器的安全装置的安全而灵活的系统结构
CN101299849A (zh) * 2008-04-25 2008-11-05 中兴通讯股份有限公司 一种WiMAX终端及其启动方法
CN101447012A (zh) * 2008-12-22 2009-06-03 深圳华为通信技术有限公司 一种电子设备和电子设备中固件的验证方法
CN101795454A (zh) * 2010-02-10 2010-08-04 熊文俊 基于移动通信独立通道的双身份认证方法及系统

Family Cites Families (16)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6601212B1 (en) 2000-03-29 2003-07-29 Hewlett-Packard Development Company, Lp. Method and apparatus for downloading firmware to a non-volatile memory
JP2006521724A (ja) * 2003-01-28 2006-09-21 セルポート システムズ インコーポレイテッド セキュア・テレマティクス
WO2004114055A2 (en) 2003-05-23 2004-12-29 Nnt, Inc. An enterprise resource planning system with integrated vehicle diagnostic and information system
US7225065B1 (en) 2004-04-26 2007-05-29 Hti Ip, Llc In-vehicle wiring harness with multiple adaptors for an on-board diagnostic connector
US20060143600A1 (en) 2004-12-29 2006-06-29 Andrew Cottrell Secure firmware update
US20080027602A1 (en) 2006-05-30 2008-01-31 Yeap Tet H System and method for deterring theft of vehicles and other products having integral computer means
KR20080039046A (ko) 2006-10-31 2008-05-07 삼성전자주식회사 펌웨어 업데이트 장치 및 방법
US20090119657A1 (en) 2007-10-24 2009-05-07 Link Ii Charles M Methods and systems for software upgrades
CN101247416A (zh) 2008-03-25 2008-08-20 中兴通讯股份有限公司 基于ota的固件下载方法、预处理方法、完整性验证方法
US8330593B2 (en) 2008-04-11 2012-12-11 Ease Diagnostics Monitoring vehicle activity
US20090327741A1 (en) 2008-06-30 2009-12-31 Zimmer Vincent J System and method to secure boot uefi firmware and uefi-aware operating systems on a mobile internet device (mid)
US20100130160A1 (en) 2008-11-24 2010-05-27 Delphi Technologies Inc. Vehicle emergency communication device and method for utilizing the vehicle emergency communication device
CN101610499A (zh) 2009-07-13 2009-12-23 中兴通讯股份有限公司 无线数据卡的升级方法和系统
US8838332B2 (en) 2009-10-15 2014-09-16 Airbiquity Inc. Centralized management of motor vehicle software applications and services
US8903354B2 (en) 2010-02-15 2014-12-02 Ford Global Technologies, Llc Method and system for emergency call arbitration
KR20110108071A (ko) 2010-03-26 2011-10-05 삼성전자주식회사 펌웨어 다운로드 시스템

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7069452B1 (en) * 2000-07-12 2006-06-27 International Business Machines Corporation Methods, systems and computer program products for secure firmware updates
CN101273363A (zh) * 2005-09-14 2008-09-24 桑迪士克股份有限公司 用于具有快闪大容量存储存储器的安全装置的安全而灵活的系统结构
CN101299849A (zh) * 2008-04-25 2008-11-05 中兴通讯股份有限公司 一种WiMAX终端及其启动方法
CN101447012A (zh) * 2008-12-22 2009-06-03 深圳华为通信技术有限公司 一种电子设备和电子设备中固件的验证方法
CN101795454A (zh) * 2010-02-10 2010-08-04 熊文俊 基于移动通信独立通道的双身份认证方法及系统

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
DENNIS K. NILSSON等: "A Framework for Self-Verification of Firmware Updates over the Air in Vehicle ECUs", 《GLOBECOM WORKSHOPS,2008 IEEE》 *

Cited By (14)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104679553A (zh) * 2013-11-26 2015-06-03 洛克威尔自动控制技术股份有限公司 用于嵌入式固件的安全分发的方法和装置
CN104679553B (zh) * 2013-11-26 2018-06-12 罗克韦尔自动化技术公司 用于嵌入式固件的安全分发的方法和装置
CN105938433A (zh) * 2015-03-03 2016-09-14 罗伯特·博世有限公司 用于对机动车的控制设备进行编程的方法
CN105938433B (zh) * 2015-03-03 2021-07-23 罗伯特·博世有限公司 用于对机动车的控制设备进行编程的方法
CN107306269A (zh) * 2016-04-18 2017-10-31 通用汽车环球科技运作有限责任公司 消息认证库
CN107797822A (zh) * 2016-09-01 2018-03-13 恩智浦有限公司 用于认证固件的设备和相关联的方法
CN107273150B (zh) * 2017-05-10 2020-10-02 深圳市金百锐通信科技有限公司 预加载固件下载写入方法及装置
CN107273150A (zh) * 2017-05-10 2017-10-20 深圳市金百锐通信科技有限公司 预加载固件下载写入方法及装置
WO2020001111A1 (zh) * 2018-06-26 2020-01-02 百富计算机技术(深圳)有限公司 固件下载验签方法、固件发布方法、移动终端及服务器
CN109446815A (zh) * 2018-09-30 2019-03-08 华为技术有限公司 基本输入输出系统固件的管理方法、装置和服务器
CN111142906A (zh) * 2019-12-25 2020-05-12 浙江大华技术股份有限公司 一种设备固件升级方案迭代的方法、装置与设备
CN111142906B (zh) * 2019-12-25 2023-11-10 浙江大华技术股份有限公司 一种设备固件升级方案迭代的方法、装置与设备
CN112632562A (zh) * 2020-12-28 2021-04-09 四川虹微技术有限公司 设备启动方法、设备管理方法和嵌入式设备
CN112632562B (zh) * 2020-12-28 2024-01-26 四川虹微技术有限公司 设备启动方法、设备管理方法和嵌入式设备

Also Published As

Publication number Publication date
CN103166759B (zh) 2016-12-07
US20130159717A1 (en) 2013-06-20
US8856536B2 (en) 2014-10-07
DE102012110559A1 (de) 2013-06-20

Similar Documents

Publication Publication Date Title
CN103166759B (zh) 使用诊断链路连接器(dlc)和onstar系统的用于安全固件下载的方法和装置
CN107085675B (zh) 受控安全代码验证
CN103677891B (zh) 用于选择性软件回退的方法
US8881308B2 (en) Method to enable development mode of a secure electronic control unit
CN107086981B (zh) 受控安全代码认证
CN111131313B (zh) 智能网联汽车更换ecu的安全保障方法及系统
US8856538B2 (en) Secured flash programming of secondary processor
US20140075517A1 (en) Authorization scheme to enable special privilege mode in a secure electronic control unit
CN107743067B (zh) 数字证书的颁发方法、系统、终端以及存储介质
EP1712992A1 (en) Updating of data instructions
WO2014108993A1 (ja) 認証処理装置、認証処理システム、認証処理方法および認証処理プログラム
JP5861597B2 (ja) 認証システムおよび認証方法
CN111565182B (zh) 一种车辆诊断方法、装置及存储介质
JP6387908B2 (ja) 認証システム
CN110838919B (zh) 通信方法、存储方法、运算方法及装置
CN115643564A (zh) 汽车安全的fota升级方法、装置、设备及存储介质
CN111510448A (zh) 汽车ota升级中的通讯加密方法、装置及系统
CN104732138A (zh) 一种诊断设备的升级方法及设备
KR102389727B1 (ko) 차량 내 전자식 제어기 보안성 평가 방법 및 그 장치
CN116707758A (zh) 可信计算设备的认证方法、设备和服务器
CN109802929B (zh) 基于双系统的客户端程序升级方法及计算机可读存储介质
CN114867011A (zh) 车载数据传输装置、方法、车辆和车载数据传输系统
WO2013161371A1 (ja) プログラム提供装置、システム、プログラム提供方法およびプログラム
CN111226214B (zh) 用于确认密码密钥的系统和方法
TWI782678B (zh) 應用於數位簽署元件的認證系統及方法

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
C14 Grant of patent or utility model
GR01 Patent grant