CN103577745A - 辅助处理器的安全烧录编程 - Google Patents

辅助处理器的安全烧录编程 Download PDF

Info

Publication number
CN103577745A
CN103577745A CN201310318433.7A CN201310318433A CN103577745A CN 103577745 A CN103577745 A CN 103577745A CN 201310318433 A CN201310318433 A CN 201310318433A CN 103577745 A CN103577745 A CN 103577745A
Authority
CN
China
Prior art keywords
cryptographic hash
content file
deciphering
processor
primary processor
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.)
Pending
Application number
CN201310318433.7A
Other languages
English (en)
Inventor
M.H.科斯丁
A.I.阿尔拉巴迪
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 CN103577745A publication Critical patent/CN103577745A/zh
Pending legal-status Critical Current

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/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
    • 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]
    • 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/3236Cryptographic 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 using cryptographic hash functions

Abstract

本发明提供一种安全地烧录控制器的系统和方法,其中,控制器包括至少一个主处理器和至少一个辅助处理器,并且其中,在处理器之间分配处理量。编程工具将要烧录的内容文件和数字签名提供给控制器。控制器计算内容文件的哈希值、使用公共密钥对数字签名解密以生成解密的哈希值、将解密的哈希值与计算的哈希值比较、以及如果解密的哈希代码与计算的哈希值匹配则确定内容文件是有效的,其中,计算哈希值、对数字签名解密、将解密的哈希值与计算的哈希值比较、以及确定内容文件是有效的中的一个或多个步骤是由主处理器代替辅助处理器执行的。

Description

辅助处理器的安全烧录编程
技术领域
本发明总体涉及对编程到嵌入的控制器中的文件进行认证的系统和方法,更具体地涉及使用非对称密钥数字签名对编程到车辆电子控制单元(ECU)中的辅助处理器中的二进制文件的来源和内容进行认证的系统和方法,其中,该方法在ECU的主处理器和辅助处理器之间分配处理量,以满足计算资源和安全的需要。
背景技术
大部分现代车辆包括电子控制单元(ECU),或控制器,其控制车辆系统的操作,诸如动力系、气候控制系统、信息娱乐系统、车身系统、底盘系统、以及其它系统。这种控制器需要为特殊目的设计的软件,以便执行控制功能。随着这些控制器的数量以及复杂性增加,以及恶意软件开发者所带来的增长的威胁,现在比以往更重要的是认证装载在汽车控制器上的二进制文件的来源和内容。在车辆控制器中使用未经适当认证的软件或者更糟的是恶意设计的软件的后果包括车辆或其系统的未曾预料的行为,失去车辆上的防盗特征,对诸如里程表等构件的潜在篡改,以及失去其它车辆特征和功能。
一种已知的数字编码技术被称为非对称密钥密码,其使用数字签名来认证被编程到控制器中的文件。如同本领域技术人员所熟知的,非对称密钥密码使用一对数学相关的密钥,称为私有密钥和公共密钥,来对消息和文件进行加密和解密。为了生成数字签名,签名者使用其私有密钥(仅其本人知道)来对消息加密。稍后数字签名可以被另一方使用公共密钥来解密,该公共密钥与签名者的私有密钥是配对的。
烧录(flash)是将软件、校准文件和其它应用上载到车辆ECU的存储器或其它可编程设备中的众所周知的过程。启动加载程序是加载在ECU上的嵌入式软件程序,其提供ECU与编程工具或上载软件的设备之间的接口。启动加载程序通常采用非对称密钥密码并且存储公共密钥,在允许ECU执行软件之前,该公共密钥必须被用于对编程工具所传递的数字签名进行解码。
很多ECU包括多于一个处理器,处理器中的一个可以是具有较高计算能力(消息比特尺寸、RAM尺寸等)的主处理器,其它处理器可以是具有有限的计算能力的辅助处理器。典型的现代车辆可以包括很多ECU,它们具有不同的复杂性,并且可能包括主处理器(包括冗余的主处理器)和辅助处理器的各种组合。当使用编程工具对ECU内的处理器进行重新编程或重新烧录时,编程工具将与主处理器交互,由编程工具提供的信号内的指令将告诉主处理器重新烧录是否针对ECU内的特定辅助处理器。
对于以上所述的非对称数字密钥编码来说,安全编程要求包括加密部分和消息摘要或哈希部分的签名方案。加密部分验证来源的可靠性,哈希部分验证内容的完整性。这些操作要求较高的计算能力。对于现有的车辆ECU中采用的很多辅助处理器来说,通常难以执行以上所述的安全烧录,因为这些处理器通常是较小的8位控制器,并且不具有用于缓冲较大算法的数据的存储器空间。换句话说,由于加密和哈希算法可能占据辅助控制器内的宝贵的存储器空间,这些类型的控制器可能不能够执行必要的安全烧录。因此,当对ECU中的不那么强大的辅助处理器进行编程时,对于能够多安全地执行编程具有限制。
发明内容
根据本发明的教导,公开了一种安全地烧录控制器的系统和方法,其中,控制器包括至少一个主处理器和至少一个辅助处理器,并且其中,安全地执行烧录的处理量在处理器之间分配。编程工具将要烧录的内容文件和数字签名提供给控制器。控制器计算内容文件的哈希值、使用公共密钥对数字签名解密以生成解密的哈希值、将解密的哈希值与计算的哈希值比较、以及如果解密的哈希值与计算的哈希值匹配则确定内容文件是有效的,其中,计算哈希值、对数字签名解密、将解密的哈希值与计算的哈希值比较、以及确定内容文件是有效的中的一个或多个步骤是由主处理器代替辅助处理器执行的。
此外,本发明还涉及以下技术方案。
1. 一种安全地烧录控制器的方法,所述控制器包括至少一个主处理器和至少一个辅助处理器,其中,所述主处理器包括比所述辅助处理器更大的计算能力,所述方法包括:
将要烧录的内容文件和数字签名提供给所述控制器;
在所述控制器中计算内容文件的哈希值;
在所述控制器中对数字签名解密以生成解密的哈希值;
将解密的哈希值与计算的哈希值进行比较;
如果解密的哈希值与计算的哈希值匹配,则确定内容文件是有效的;以及
在所述至少一个辅助处理器中存储内容文件,其中,计算内容文件的哈希值、使用公共密钥对数字签名解密以生成解密的哈希值、将解密的哈希值与计算的哈希值比较、以及如果解密的哈希值与计算的哈希值匹配则确定内容文件是有效的中的一个或多个是由所述主处理器执行的。
2. 如技术方案1所述的方法,其中,计算内容文件的哈希值、使用公共密钥对数字签名解密以生成解密的哈希值、将解密的哈希值与计算的哈希值比较、以及如果解密的哈希值与计算的哈希值匹配则确定内容文件是有效的中的所有都是由所述主处理器执行的。
3. 如技术方案2所述的方法,其中,在计算内容文件的哈希值、使用公共密钥对数字签名解密以生成解密的哈希值、将解密的哈希值与计算的哈希值比较、以及如果解密的哈希值与计算的哈希值匹配则确定内容文件是有效的被所述主处理器执行之前,执行将内容文件存储在所述辅助处理器中,并且其中,如果所述主处理器确定内容文件是有效的,则所述辅助处理器使用内容文件,如果所述主处理器确定内容文件是无效的,则所述辅助处理器擦除内容文件。
4. 如技术方案2所述的方法,其中,在所述主处理器确定内容文件是有效的之后执行将内容文件存储在所述辅助处理器中。
5. 如技术方案4所述的方法,其中,在所述主处理器计算内容文件的哈希值、使用公共密钥对数字签名解密以生成解密的哈希值、将解密的哈希值与计算的哈希值比较、以及确定内容文件是有效的过程中,内容文件被存储在所述主处理器的缓冲中。
6. 如技术方案1所述的方法,其中,使用公共密钥对数字签名解密以生成解密的哈希值由所述主处理器执行,计算内容文件的哈希值、将解密的哈希值与计算的哈希值比较、以及确定内容文件是有效的由所述辅助处理器执行。
7. 如技术方案1所述的方法,其中,所述辅助处理器具有8位中央处理单元(CPU)。
8. 如技术方案1所述的方法,其中,所述控制器是车辆上的电子控制单元(ECU)。
9. 如技术方案1所述的方法,其中,提供内容文件和数字签名包括使用编程工具提供内容文件和数字签名。
10. 如技术方案1所述的方法,其中,数字签名利用签名者私有密钥加密,并且其中,对数字签名解密包括使用公共密钥。
11. 如技术方案1所述的方法,其中,所述至少一个辅助处理器是多个辅助处理器。
12. 一种安全地烧录控制器中的辅助处理器的方法,所述控制器包括主处理器,该主处理器具有比所述辅助处理器更大的计算能力,所述方法包括:
提供内容文件和数字签名给所述主处理器;
在所述主处理器中对数字签名解密以生成解密的哈希值;
将来自所述主处理器的内容文件提供给所述辅助处理器;
在所述辅助处理器中计算内容文件的哈希值;
将来自所述主处理器的解密的哈希值提供给所述辅助处理器;
在所述辅助处理器中将解密的哈希值与计算的哈希值进行比较;以及
如果解密的哈希值与计算的哈希值匹配,则确定内容文件是有效的并且可以用于所述辅助处理器中。
13. 如技术方案12所述的方法,其中,所述辅助处理器具有8位中央处理单元(CPU)。
14. 如技术方案12所述的方法,其中,所述控制器是车辆上的电子控制单元(ECU)。
15. 如技术方案12所述的方法,其中,提供内容文件和数字签名包括使用编程工具提供内容文件和数字签名。
16. 如技术方案12所述的方法,其中,数字签名利用签名者私有密钥加密,并且其中,对数字签名解密包括使用公共密钥。
17. 一种安全地烧录车辆上的电子控制单元(ECU)中的辅助处理器的方法,所述ECU还包括主处理器,该主处理器具有比所述辅助处理器更大的计算能力,所述方法包括:
提供内容文件和数字签名给所述主处理器;
在所述主处理器中对数字签名解密以生成解密的哈希值;
将来自所述主处理器的内容文件提供给所述辅助处理器;
在所述辅助处理器中计算内容文件的哈希值;
将来自所述主处理器的解密的哈希值提供给所述辅助处理器;
在所述辅助处理器中将解密的哈希值与计算的哈希值进行比较;以及
如果解密的哈希值与计算的哈希值匹配,则确定内容文件是有效的并且可以用于所述辅助处理器中。
18. 如技术方案17所述的方法,其中,提供内容文件和数字签名包括使用编程工具提供内容文件和数字签名。
19. 如技术方案17所述的方法,其中,数字签名利用签名者私有密钥加密,并且其中,对数字签名解密包括使用公共密钥。
20. 如技术方案17所述的方法,其中,所述辅助处理器具有8位中央处理单元(CPU)。
本发明的其它特征将从结合附图的以下描述和权利要求变得清楚。
附图说明
图1是框图,显示了使用数字签名对电子文件进行签名和验证的标准方法;
图2是使用数字签名对电子内容文件进行签名和验证的方法的框图,包括从编程源向执行控制器传递内容和签名文件;
图3是示意图,显示了电子内容和数字签名如何物理地传递到车辆中的控制器;
图4是在主处理器的帮助下对ECU上的辅助处理器进行烧录的第一方案的框图;
图5是在主处理器的帮助下对ECU上的辅助处理器进行烧录的第二技术的框图;以及
图6是在主处理器的帮助下对ECU上的辅助处理器进行烧录的第三技术的框图。
具体实施方式
本发明的实施例的以下描述涉及在对辅助处理器安全地编程时分配主处理器和辅助处理器之间的处理量的系统和方法,其在本质上仅为示例性的,绝非意图限制本发明或其应用或用途。例如,本文中的讨论具体为车辆ECU。然而,本领域技术人员应当理解的是,本发明的技术可具有对不同于车辆处理器的其它处理器进行烧录的应用。
图1是已知方法的框图10,该已知方法用于使用非对称密钥密码(具体而言是数字签名)对编程到控制器中的文件、代码和其它软件进行认证。如同本领域技术人员所熟知的,非对称密钥密码使用一对数学相关的密钥,称为私有密钥和公共密钥,来对消息进行加密和解密。为了生成数字签名,签名者使用他的私有密钥(仅其本人知道)来对数字串加密。稍后数字签名可以被另一方使用公共密钥来解密,该公共密钥与签名者的私有密钥是配对的。
在签名步骤12,内容文件14被提供,其中内容文件14可以是软件、校准文件、或控制器中使用的其它“软件部分”内容。对内容文件14执行哈希计算以产生哈希值16。然后,利用签名者的私有密钥对哈希值16进行加密以产生数字签名18。
数字签名18和内容文件14然后用于验证步骤20。然后,利用签名者的公共密钥对数字签名18进行解密以产生解密的哈希值22。同时,由验证者对内容文件14执行哈希计算以产生计算的哈希值24。在框26处,解密的哈希值22与计算的哈希值24进行比较。如果解密的哈希值22与计算的哈希值24匹配,则在椭圆30处作出有效的确定,并且使用内容文件14。如果解密的哈希值22不与计算的哈希值24匹配,则在椭圆28处作出无效的确定,并且不使用内容文件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,用于管理在制造的车辆中安装为“部件”的电子文件。图2类似地示出了汽车制造商的维护部门所使用的维护数据库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解密以产生解密的哈希值78。同时,由启动加载程序对内容文件44执行哈希计算以产生计算的哈希值84。在框80处,解密的哈希值78与计算的哈希值84进行比较。如果解密的哈希值78与计算的哈希值84匹配,则在椭圆86处作出有效的确定,其中启动加载程序将内容标记为有效,指示该匹配,并且使用内容文件44。如果内容文件44是可执行的软件,则ECU74将其用作新的可执行软件。如果内容文件44是校准文件,则ECU74将其用作一个或多个校准文件之一。如果解密的哈希值78不与计算的哈希值84匹配,则在椭圆88处作出无效的确定,并且在ECU74上不使用内容文件44。
图3是示意图,显示了电子内容和数字签名文件如何物理地传递到车辆控制器。车辆36包括图2中所示以及以上论述的ECU74。ECU74可以控制发动机、变速器、底盘、车身、娱乐信息系统、或车辆36上的其它系统。内容文件44和数字签名46被提供给中央数据库,此处显示为制造数据库56。内容文件44和数字签名46向制造数据库56的传递可以发生在公司网络上。制造数据库56将内容文件44和数字签名46提供给编程工具68,其中,可以通过将编程工具68连接到具有到数据库56的访问权限的计算机上而实现该传递。编程工具68通过连接38与ECU74通信,该连接38可以是有线或无线的。建立连接38之后,内容文件44和数字签名46可以从编程工具68下载到ECU74,其中,启动加载程序可以执行之前论述的安全验证功能。
如同以下详细论述的,本发明提出一种对ECU(尤其是车辆ECU)中的CPU或处理器进行安全编程或烧录的过程。编程过程使用非对称密钥密码,该非对称密钥密码采用以上所述的数字签名、私有密钥和公共密钥。如所提到的,车辆ECU中的一些辅助处理器可能不具有对非对称密钥密码执行以上所述的所有加密、哈希、确认等的计算能力和存储器容量。因此,本发明提出在ECU中的主处理器和辅助处理器之间分配处理量,以便为辅助处理器提供安全烧录,包括使主处理器执行使被烧录的软件或内容文件生效所需的所有处理步骤,然后将该软件存储在辅助处理器上。
通过允许主处理器进行一些或所有的为了安全目的的加密,能够仍然在车辆ECU中使用较小的便宜的辅助处理器,并且能够安全地对这些处理器进行编程。确定主处理器将为辅助处理器执行多少确认、加密和哈希取决于主处理器和辅助处理器中缓冲的尺寸以及这些处理器中的CPU的计算能力和存储器容量。
图4是框图90,显示了编程或烧录的过程,其使用主处理器92来操作安全处理算法,使得ECU74中具有较低计算机能力和存储器容量的辅助处理器94能够被使用非对称密钥密码来安全地烧录。如上所述,主处理器92从编程工具68接收内容文件14和签名46。以上论述中的对要烧录的内容文件14的确认过程主要在ECU上执行。在该更详细的版本中,以上所述的实际解密和哈希步骤由ECU中的处理器执行,此处是主处理器92。因此,以上所述的验证内容文件44和数字签名46的过程与图90中在主处理器92中执行的相同。一旦主处理器92已经在椭圆86处确认了内容文件44是安全的,然后其被下载以存储在辅助处理器94的存储器中,由线96所示。因此,辅助处理器94不执行用于对内容文件44解密的任何确认和哈希功能,而仅是一旦内容文件44被确认则从主处理器92接收内容文件44。当主处理器92执行本文所述的哈希计算和签名验证过程时,正被验证的内容文件14被存储在主处理器92的RAM或缓冲中。
图5是框图100,显示了安全地烧录ECU上的辅助处理器102的另一个编程过程,其与框图90所示的过程稍有不同。在框图90中,要烧录到辅助处理器94中的内容文件44在被确认的过程中被存储在主处理器92的RAM中,并且一旦被确认,其被传递到辅助处理器94。在框图100所示的替代性方案中,内容文件44在主处理器92确认内容文件44时被存储在线104所示的辅助处理器102的主存储器而不是RAM缓冲中。因此,主处理器不需要在确认内容文件时为内容文件使用缓冲空间,并且可以使用该空间用于解密计算。一旦主处理器92计算存储在辅助处理器102中的内容文件44的哈希,并且将其与解密的哈希值比较,则主处理器92将指示已经存储在辅助处理器102中的内容文件44有效可以用在线106上。如果主处理器92指示哈希验证过程在线106上失败,则辅助处理器102可以擦除新烧录的内容文件44。如所讨论的,因为辅助处理器102不具有处理能力(即,RAM尺寸)以缓冲代码,在确认之前其被烧录到其存储器中。
图6是框图110,其显示了在ECU中的主处理器112的帮助下对辅助处理器114进行安全烧录的过程。在该实施例中,主处理器112从编程工具68接收签名46和内容文件44,然后使用签名者的公共密钥对签名46进行解密,以生成解密的哈希值78,并且在线116上将解密的哈希值78发送给辅助处理器114。剩余的解密和确认过程由辅助处理器114执行。具体而言,主处理器112在线118上将内容文件14发送给辅助处理器114,辅助处理器114计算哈希值84。然后,在框80中,在辅助处理器114中比较解密的哈希值78和计算的哈希值84,并且辅助处理器114确定内容文件14是有效还是无效。如上所述,如果解密的哈希值78和计算的哈希值84匹配,则辅助处理器114写存在模式,指示该匹配并且退出启动,如果无效,则擦除新烧录的代码并且保持在启动模式中。
本领域技术人员很容易理解,为描述本发明而在此处讨论的若干和各种步骤和过程可能涉及通过计算机、处理器或使用电现象操纵和/或转换数据的其他电子计算设备执行的操作。那些计算机和电子设备可采用各种易失的和/或非易失的内存,该内存包括其上存有可执行程序的非临时性计算机可读介质,该程序包括能够由计算机或处理器执行的各种代码和可执行指令,在这里内存和/或计算机可读介质可以包括所有形式和类型的内存和其它计算机可读介质。
前述论述仅公开和描述了本发明的示例性实施例。本发明技术人员将从该论述以及附图和权利要求容易地懂得,在不偏离以下权利要求限定的本发明的精神和范围的情况下,可以做出各种改变,变换和变形。

Claims (10)

1.一种安全地烧录控制器的方法,所述控制器包括至少一个主处理器和至少一个辅助处理器,其中,所述主处理器包括比所述辅助处理器更大的计算能力,所述方法包括:
将要烧录的内容文件和数字签名提供给所述控制器;
在所述控制器中计算内容文件的哈希值;
在所述控制器中对数字签名解密以生成解密的哈希值;
将解密的哈希值与计算的哈希值进行比较;
如果解密的哈希值与计算的哈希值匹配,则确定内容文件是有效的;以及
在所述至少一个辅助处理器中存储内容文件,其中,计算内容文件的哈希值、使用公共密钥对数字签名解密以生成解密的哈希值、将解密的哈希值与计算的哈希值比较、以及如果解密的哈希值与计算的哈希值匹配则确定内容文件是有效的中的一个或多个是由所述主处理器执行的。
2.如权利要求1所述的方法,其中,计算内容文件的哈希值、使用公共密钥对数字签名解密以生成解密的哈希值、将解密的哈希值与计算的哈希值比较、以及如果解密的哈希值与计算的哈希值匹配则确定内容文件是有效的中的所有都是由所述主处理器执行的。
3.如权利要求2所述的方法,其中,在计算内容文件的哈希值、使用公共密钥对数字签名解密以生成解密的哈希值、将解密的哈希值与计算的哈希值比较、以及如果解密的哈希值与计算的哈希值匹配则确定内容文件是有效的被所述主处理器执行之前,执行将内容文件存储在所述辅助处理器中,并且其中,如果所述主处理器确定内容文件是有效的,则所述辅助处理器使用内容文件,如果所述主处理器确定内容文件是无效的,则所述辅助处理器擦除内容文件。
4.如权利要求2所述的方法,其中,在所述主处理器确定内容文件是有效的之后执行将内容文件存储在所述辅助处理器中。
5.如权利要求4所述的方法,其中,在所述主处理器计算内容文件的哈希值、使用公共密钥对数字签名解密以生成解密的哈希值、将解密的哈希值与计算的哈希值比较、以及确定内容文件是有效的过程中,内容文件被存储在所述主处理器的缓冲中。
6.如权利要求1所述的方法,其中,使用公共密钥对数字签名解密以生成解密的哈希值由所述主处理器执行,计算内容文件的哈希值、将解密的哈希值与计算的哈希值比较、以及确定内容文件是有效的由所述辅助处理器执行。
7.如权利要求1所述的方法,其中,所述辅助处理器具有8位中央处理单元(CPU)。
8.如权利要求1所述的方法,其中,所述控制器是车辆上的电子控制单元(ECU)。
9.一种安全地烧录控制器中的辅助处理器的方法,所述控制器包括主处理器,该主处理器具有比所述辅助处理器更大的计算能力,所述方法包括:
提供内容文件和数字签名给所述主处理器;
在所述主处理器中对数字签名解密以生成解密的哈希值;
将来自所述主处理器的内容文件提供给所述辅助处理器;
在所述辅助处理器中计算内容文件的哈希值;
将来自所述主处理器的解密的哈希值提供给所述辅助处理器;
在所述辅助处理器中将解密的哈希值与计算的哈希值进行比较;以及
如果解密的哈希值与计算的哈希值匹配,则确定内容文件是有效的并且可以用于所述辅助处理器中。
10.一种安全地烧录车辆上的电子控制单元(ECU)中的辅助处理器的方法,所述ECU还包括主处理器,该主处理器具有比所述辅助处理器更大的计算能力,所述方法包括:
提供内容文件和数字签名给所述主处理器;
在所述主处理器中对数字签名解密以生成解密的哈希值;
将来自所述主处理器的内容文件提供给所述辅助处理器;
在所述辅助处理器中计算内容文件的哈希值;
将来自所述主处理器的解密的哈希值提供给所述辅助处理器;
在所述辅助处理器中将解密的哈希值与计算的哈希值进行比较;以及
如果解密的哈希值与计算的哈希值匹配,则确定内容文件是有效的并且可以用于所述辅助处理器中。
CN201310318433.7A 2012-07-27 2013-07-26 辅助处理器的安全烧录编程 Pending CN103577745A (zh)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US13/560,207 US8856538B2 (en) 2012-07-27 2012-07-27 Secured flash programming of secondary processor
US13/560207 2012-07-27

Publications (1)

Publication Number Publication Date
CN103577745A true CN103577745A (zh) 2014-02-12

Family

ID=49912327

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201310318433.7A Pending CN103577745A (zh) 2012-07-27 2013-07-26 辅助处理器的安全烧录编程

Country Status (3)

Country Link
US (1) US8856538B2 (zh)
CN (1) CN103577745A (zh)
DE (1) DE102013105042A1 (zh)

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN106529309A (zh) * 2016-09-19 2017-03-22 芯海科技(深圳)股份有限公司 一种通过加密烧录文件限制烧录器烧录次数的方法
CN107943003A (zh) * 2017-11-29 2018-04-20 东风电动车辆股份有限公司 汽车发动机ecu软件自动灌装方法
CN110443032A (zh) * 2019-08-14 2019-11-12 重庆蓝岸通讯技术有限公司 一种针对UBI文件系统在fastboot模式下烧录的加密保护方法
CN111385083A (zh) * 2018-12-28 2020-07-07 新唐科技股份有限公司 密钥保护方法及密钥保护系统

Families Citing this family (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9705678B1 (en) * 2014-04-17 2017-07-11 Symantec Corporation Fast CAN message authentication for vehicular systems
US9430220B2 (en) 2014-07-22 2016-08-30 GM Global Technology Operations LLC Method, medium, and apparatus for re-programming flash memory of a computing device
US9749141B2 (en) 2015-09-25 2017-08-29 Qualcomm Incorporated Secure boot devices, systems, and methods
DE102016106572A1 (de) * 2016-04-11 2017-10-12 Robert Bosch Automotive Steering Gmbh Verfahren zum betreiben eines steuergeräts für ein fahrzeug, steuergerät, betriebssystem, kraftfahrzeug
US10171478B2 (en) * 2016-06-30 2019-01-01 Faraday & Future Inc. Efficient and secure method and apparatus for firmware update
US10664413B2 (en) 2017-01-27 2020-05-26 Lear Corporation Hardware security for an electronic control unit
US11295017B2 (en) * 2017-01-31 2022-04-05 Ford Global Technologies, Llc Over-the-air updates security
JP6884600B2 (ja) * 2017-03-02 2021-06-09 任天堂株式会社 無線通信システム、通信方法、情報処理装置、および、情報処理プログラム
US11108542B2 (en) * 2017-07-07 2021-08-31 Board Of Regents Of The Nevada System Of Higher Education, On Behalf Of The University Of Nevada, Reno Multi-processor automotive electronic control unit
FR3071079B1 (fr) 2017-09-08 2019-09-13 Alstom Transport Technologies Procede de transmission et de verification de validite de donnees de configuration dans un systeme electronique, systeme electronique et produit programme d'ordinateur associes
US10430178B2 (en) 2018-02-19 2019-10-01 GM Global Technology Operations LLC Automated delivery and installation of over the air updates in vehicles
JP2022024527A (ja) * 2020-07-28 2022-02-09 株式会社Subaru 車両通信制御装置、車両通信制御方法
EP4198788A1 (en) * 2021-12-14 2023-06-21 Bayerische Motoren Werke Aktiengesellschaft Method and device for checking an integrity of data stored in a non-volatile memory of an electronic control unit of an vehicle

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5859911A (en) * 1997-04-16 1999-01-12 Compaq Computer Corp. Method for the secure remote flashing of the BIOS of a computer
CN102594568A (zh) * 2012-03-23 2012-07-18 南京小网科技有限责任公司 基于多级数字证书的保障移动设备软件镜像安全的方法

Family Cites Families (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8108317B2 (en) * 2005-08-31 2012-01-31 Hand Held Products, Inc. System and method for restricting access to a terminal
AU2007276673B2 (en) * 2006-07-18 2013-01-17 Blackberry Limited System and method for authenticating a gaming device
US20100023650A1 (en) * 2007-11-12 2010-01-28 Gemalto Inc System and method for using a smart card in conjunction with a flash memory controller to detect logon authentication
US8898477B2 (en) * 2007-11-12 2014-11-25 Gemalto Inc. System and method for secure firmware update of a secure token having a flash memory controller and a smart card
US20090193261A1 (en) * 2008-01-25 2009-07-30 Mediatek Inc. Apparatus and method for authenticating a flash program

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5859911A (en) * 1997-04-16 1999-01-12 Compaq Computer Corp. Method for the secure remote flashing of the BIOS of a computer
CN102594568A (zh) * 2012-03-23 2012-07-18 南京小网科技有限责任公司 基于多级数字证书的保障移动设备软件镜像安全的方法

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
洪永强 等: "《微机原理与接口技术(第二版)》", 31 August 2009 *

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN106529309A (zh) * 2016-09-19 2017-03-22 芯海科技(深圳)股份有限公司 一种通过加密烧录文件限制烧录器烧录次数的方法
CN107943003A (zh) * 2017-11-29 2018-04-20 东风电动车辆股份有限公司 汽车发动机ecu软件自动灌装方法
CN111385083A (zh) * 2018-12-28 2020-07-07 新唐科技股份有限公司 密钥保护方法及密钥保护系统
CN111385083B (zh) * 2018-12-28 2023-03-10 新唐科技股份有限公司 密钥保护方法及密钥保护系统
CN110443032A (zh) * 2019-08-14 2019-11-12 重庆蓝岸通讯技术有限公司 一种针对UBI文件系统在fastboot模式下烧录的加密保护方法

Also Published As

Publication number Publication date
US8856538B2 (en) 2014-10-07
DE102013105042A1 (de) 2014-01-30
US20140032916A1 (en) 2014-01-30

Similar Documents

Publication Publication Date Title
CN103577745A (zh) 辅助处理器的安全烧录编程
CN103677891B (zh) 用于选择性软件回退的方法
US10171478B2 (en) Efficient and secure method and apparatus for firmware update
US11212087B2 (en) Management system, key generation device, in-vehicle computer, management method, and computer program
CN103460195B (zh) 用于安全软件更新的系统和方法
US9800416B2 (en) Distributed validation of digitally signed electronic documents
CN101145906B (zh) 对单向网络中的接收终端进行合法性认证的方法及系统
CN101019369B (zh) 利用在线服务向装置传递直接证明私有密钥的方法
US8966248B2 (en) Secure software file transfer systems and methods for vehicle control modules
CN101213814B (zh) 安全修补系统
US20190245691A1 (en) Reuse system, key generation device, data security device, in-vehicle computer, reuse method, and computer program
US8881308B2 (en) Method to enable development mode of a secure electronic control unit
CN103220264A (zh) 提供数字签名以确保闪存编程功能的方法
US20130159717A1 (en) Method and apparatus for secure firmware download using diagnostic link connector (dlc) and onstar system
CN109478214B (zh) 用于证书注册的装置和方法
US20140075517A1 (en) Authorization scheme to enable special privilege mode in a secure electronic control unit
US8949611B1 (en) Methods, apparatus and computer program products for authenticating and determining integrity of a software part of an air vehicle
DE102015205428A1 (de) Verfahren und System zur Verbesserung der Datensicherheit bei einem Kommunikationsvorgang
CN107534551B (zh) 提供加密数据的方法、计算设备和计算机可读介质
CN105872848A (zh) 一种适用于非对称资源环境的可信双向认证方法
JP2017011491A (ja) 認証システム
CN113438205A (zh) 区块链数据访问控制方法、节点以及系统
CN116909603A (zh) 车辆安全升级方法及系统
CN107292172B (zh) 用于相对于参考计算机文件自动验证目标计算机文件的方法
CN112929871A (zh) Ota升级包的获取方法、电子设备以及存储介质

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
RJ01 Rejection of invention patent application after publication
RJ01 Rejection of invention patent application after publication

Application publication date: 20140212