CN102662692A - 一种电子控制单元中应用程序的更新方法及*** - Google Patents

一种电子控制单元中应用程序的更新方法及*** Download PDF

Info

Publication number
CN102662692A
CN102662692A CN2012100716493A CN201210071649A CN102662692A CN 102662692 A CN102662692 A CN 102662692A CN 2012100716493 A CN2012100716493 A CN 2012100716493A CN 201210071649 A CN201210071649 A CN 201210071649A CN 102662692 A CN102662692 A CN 102662692A
Authority
CN
China
Prior art keywords
control unit
electronic control
updating file
reprogrammed
equipment
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
CN2012100716493A
Other languages
English (en)
Other versions
CN102662692B (zh
Inventor
汤铭清
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.)
Beijing Jingwei Hirain Tech Co Ltd
Original Assignee
Beijing Jingwei Hirain Tech Co Ltd
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 Beijing Jingwei Hirain Tech Co Ltd filed Critical Beijing Jingwei Hirain Tech Co Ltd
Priority to CN201210071649.3A priority Critical patent/CN102662692B/zh
Publication of CN102662692A publication Critical patent/CN102662692A/zh
Application granted granted Critical
Publication of CN102662692B publication Critical patent/CN102662692B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Storage Device Security (AREA)

Abstract

本发明提供了一种电子控制单元中应用程序的更新方法及***,该***包括远程服务器、重编程设备和电子控制单元网络,该方法包括:重编程设备向电子控制单元发送身份信息请求;电子控制单元对自己的身份信息进行加密并将加密的身份信息发送给重编程设备;重编程设备向远程服务器发送更新文件请求;远程服务器根据应用程序生成加密的更新文件,并将加密的更新文件传送给重编程设备,重编程设备将加密的更新文件数据发送给电子控制单元;电子控制单元解密加密的更新文件数据并将应用程序数据写入存储器。本发明提供的应用程序的更新方法和***,由于对包括有应用程序的更新文件进行了加密处理,因此保证了更新文件的安全,即保证了应用程序的安全。

Description

一种电子控制单元中应用程序的更新方法及***
技术领域
本发明涉及车辆控制器的应用程序的更新技术领域,尤其涉及一种电子控制单元中应用程序的更新方法及***。
背景技术
在机动车辆上通常安装有多个电子控制单元,用以执行不同的功能,这些电子控制之间通常通过车载网络总线***例如CAN总线或LIN***连接在一起,用以实现它们之间的协调工作以及信息共享。
电子控制单元通常包括内部处理器和外部设备,电子控制单元的应用程序存放于处理器的内部存储器,或者外部设备的片外存储器内。由于诸多原因,例如,电子控制单元的应用程序存在缺陷,或者需要增加新的功能,需要对存储在电子控制单元中的应用程序进行升级和修改,这种情况下就需要对应用程序进行重编程,即对电子控制单元的应用程序进行更新。
现有技术中,远程服务器存储有厂家的应用程序,重编程设备用远程服务器下载厂家提供的应用程序,并将应用程序存储在重编程设备或者外置的存储设备中,在对电子控制单元中的应用程序进行更新时,重编程设备对应用程序进行解析,由于应用程序中带有地址信息,因此重编程设备将应用程序解析成应用程序地址和应用程序数据,然后将这些信息发送给电子控制单元,电子控制单元根据应用程序地址将对应的应用程序数据写入存储器中。然而,应用程序地址和应用程序数据在由重编程设备传送至电子控制单元的过程中有可能被非法用户截获,并且进行反编译,其内容可能被破解,即,应用程序在传输的过程存在安全风险,因此现有技术中应用程序的更新方法无法保证应用程序的安全。
发明内容
有鉴于此,本发明提供了一种电子控制单元中应用程序的更新方法及***,用以解决现有的更新方法无法保证电子控制单元中应用程序的安全的问题。其技术方案如下:
一种电子控制单元中应用程序的更新方法,应用于包括有:远程服务器、重编程设备和电子控制单元网络的更新***,所述电子控制单元具有第一密钥和第二密钥,所述远程服务器具有第一公钥和第一私钥,所述重编程设备具有第二公钥和第二私钥;
该方法包括:
A:所述重编程设备向所述电子控制单元发送身份信息请求信息;
B:所述电子控制单元利用所述第一密钥对自己的身份信息进行加密,然后将加密后的身份信息发送给所述重编程设备;
C:所述重编程设备向所述远程服务器发送更新文件请求;
D:所述远程服务器根据应用程序生成更新文件,然后利用所述第二密钥、第二公钥和第一私钥,按照预先设定的加密规则对所述更新文件进行加密,并将加密的更新文件发送给所述重编程设备;
E:所述重编程设备接收所述加密的更新文件,按照预先设定的第一解密规则,利用所述第一公钥和第二私钥对所述加密的更新文件进行第一次解密并将第一次解密的更新文件发送给所述电子控制单元;
F:所述电子控制单元接收所述第一次解密的更新文件并按照预先设定的第二解密规则,利用所述第二密钥对所述第一次解密后的更新文件进行第二次解密,并将解密后的更新文件写入存储器中;
G:结束更新。
所述更新文件包括:更新文件头和更新文件数据,所述更新文件数据包括:应用程序头和应用程序数据。
所述第二密钥为所述电子控制单元产生的随机密钥;
所述远程服务器根据应用程序生成更新文件,然后利用所述第二密钥、第二公钥和第一私钥,按照预先设定的加密规则对所述更新文件进行加密具体为:
所述远程服务器利用所述重编程设备的第二公钥对所述更新文件头进行加密;
所述远程服务器利用所述电子控制单元的所述随机密钥对所述更新文件数据进行加密;
所述远程服务器利用自己的所述第一私钥对所述加密的更新文件头和所述加密的更新文件数据的指纹信息加密生成签名。
所述步骤E具体为:
所述重编程设备接收所述加密的更新文件,按照预先设定的第一解密规则、利用所述远程服务器的第一公钥解密所述加密的更新文件的签名;
验证解密后的更新文件的签名是否有效,如果是,则所述重编程设备利用自己的第二私钥解密所述加密的更新文件的文件头,并将所述加密的更新文件数据发送给所述电子控制单元;如果否,则执行步骤G;
所述步骤F具体为:
所述电子控制单元接收所述加密的更新文件数据,按照预先设定的第二解密规则、利用所述随机密钥解密所述加密的更新文件数据并根据所述解密后的更新文件数据中的应用程序头将对应的应用程序数据写入存储器中。
所述步骤A之前还包括:
H:所述重编程设备向所述电子控制单元发送身份验证请求信息;
I:所述电子控制单元通过安全访问服务对所述重编程设备进行身份验证,并将身份验证结果发送给所述重编程设备;
J:所述重编程设备判断所述身份验证结果是否有效,如果是,则执行步骤A,如果否则执行步骤G。
所述步骤B之后、所述步骤C之前还包括:
K:所述重编程设备将接收到的所述电子控制单元加密的身份信息和自己的身份信息打包、加密形成身份认证信息,然后将所述身份认证信息发送给所述远程服务器;
L:所述远程服务器接收所述身份认证信息并验证其是否有效,如果是,则生成有效的身份认证结果,并将有效的身份认证结果发送给所述重编程设备,然后执行步骤C,如果否,则执行步骤G。
所述步骤K包括:
K1:所述重编程设备将接收到的所述电子控制单元加密的身份信息和自己的身份信息打包,生成第一信息;
K2:所述重编程设备利用所述远程服务器的第一公钥对所述第一信息进行加密,生成第二信息;
K3:所述重编程设备利用散列算法计算所述第二信息的指纹信息,然后利用所述第二私钥对所述指纹信息加密,生成数字签名;
K4:所述重编程设备将所述数字签名附加在所述第二信息后面,生成身份认证信息;
K5:所述重编程设备将所述身份认证信息发送给所述远程服务器。
所述步骤L包括:
L1:所述远程服务器接收所述身份认证信息;
L2:所述远程服务器利用所述重编程设备的第二公钥解密所述身份认证信息的所述数字签名;
L3:所述远程服务器验证所述数字签名是否有效,如果是,则所述远程服务器利用自己的所述第一私钥解密所述身份认证信息,得到所述电子控制单元加密的身份信息,然后执行步骤L4;如果否,则执行步骤G;
L4:所述远程服务器利用所述电子控制单元的所述第一密钥解密所述电子控制单元加密的身份信息;
L5:所述远程服务器验证解密后的所述电子控制单元的身份信息是否有效,如果是,则所述远程服务器生成有效的身份认证结果,并将所述有效的身份认证结果发送给所述重编程设备;如果否,则执行步骤G。
所述电子控制单元为同类电子控制单元组中的电子控制单元,所述第二密钥为所述同类电子控制单元组的密钥;
所述远程服务器根据应用程序生成更新文件,然后利用所述第二密钥、第二公钥和第一私钥,按照预先设定的加密规则对所述更新文件进行加密具体为:
所述远程服务器利用所述重编程设备的第二公钥对所述更新文件头进行加密;
所述远程服务器利用所述同类电子控制单元组的密钥对所述更新文件数据进行加密;
所述远程服务器利用自己的所述第一私钥对所述加密的更新文件头和所述加密的更新文件数据的指纹信息加密生成签名。
一种电子控制单元中应用程序的更新***,包括:远程服务器、重编程设备和电子控制单元网络;
所述电子控制单元具有第一密钥和第二密钥,所述远程服务器具有第一公钥和第一私钥,所述重编程设备具有第二公钥和第二私钥;
所述重编程设备,用于向所述电子控制单元发送身份信息请求信息;
所述电子控制单元,用于利用所述第一密钥将自己的身份信息进行加密,然后将加密后的身份信息发送给所述重编程设备;
所述重编程设备还用于向所述远程服务器发送更新文件请求;
所述远程服务器,用于根据应用程序生成更新文件,然后依据所述第二公钥、第一私钥和第二密钥,按照预先设定的加密规则对所述更新文件进行加密,并将加密的更新文件发送给重编程设备;
所述重编程设备,还用于接收所述加密的更新文件,按照预先设定的第一解密规则,利用所述第一公钥和第二私钥对所述加密的更新文件进行第一次解密并将第一次解密的更新文件发送给所述电子控制单元;
所述电子控制单元,还用于接收所述第一次解密的更新文件并按照预先设定的第二解密规则,利用所述第二密钥对所述第一次解密后的更新文件进行第二次解密,并将解密后的更新文件写入存储器中。
本发明提供的电子控制单元中应用程序的更新方法和***中,由于对包括有应用程序数据的更新文件进行了加密处理,因此保证了更新文件在传输过程中的安全,即保证了待更新的电子控制单元中应用程序的安全。此外,远程服务器对重编程设备和电子控制单元进行身份验证使得待更新的电子控制单元中应用程序的安全性更高。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据提供的附图获得其他的附图。
图1为本发明实施例一提供的应用程序更新方法的流程图;
图2为本发明实施例一提供的更新文件的结构示意图;
图3为本发明实施例一提供的加密的更新文件的结构示意图;
图4为本发明实施例二提供的应用程序的更新方法的流程图;
图5为本发明实施例三提供的应用程序的更新方法的流程图;
图6为本发明实施例四提供的应用程序的更新***的结构示意图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
实施例一
本发明实施例一提供了一种应用程序的更新方法,应用于包括有:远程服务器、重编程设备和电子控制单元网络的更新***。电子控制单元具有第一密钥Key1和第二密钥Key2,其中,第一密钥Key1固化在电子控制单元的内部存储器中,重编程设备和远程服务器各自具有一对密钥,假设远程服务器具有第一公钥PublicKey1和第一私钥PrivateKey1,重编程设备具有第二公钥PublicKey2和第二私钥PrivateKey2。在本实施例中,电子控制单元为应用程序更新***的电子控制单元网络中的一个电子控制单元。图1为本发明实施例一提供的方法的流程图,该方法包括:
S101:重编程设备向电子控制单元发送身份验证请求信息T101。
S102:电子控制单元通过安全访问服务对重编程设备进行身份验证,并将身份验证结果T102发送给重编程设备。
S103:重编程设备判断身份验证结果T102是否有效,如果是,则重编程设备向电子控制单元发送身份信息请求信息T103,然后执行步骤S104;如果否,则结束更新流程。
S104:电子控制单元利用第一密钥Key1对自己的身份信息进行加密,然后将加密后的身份信息T104发送给重编程设备。
其中,电子控制单元的身份信息包括但不限于:身份ID、随机验证码和随机密钥。随机密钥是电子控制单元接收到重编程设备发送的身份信息请求信息T103时随机产生的。在本实施例中,第二密钥Key2为电子控制单元的身份信息中的随机密钥。
S105:重编程设备向远程服务器发送更新文件请求信息T105。
S106:远程服务器生成加密的更新文件T106,并将加密的更新文件T106发送给重编程设备。在本实施例中,远程服务器为每一个电子控制单元生成一个更新文件。
图2为本实施例提供的更新文件的结构示意图,图2中的更新文件包括:更新文件头F1和更新文件数据F2。其中,更新文件头F1的信息包括:应用程序版本、第一块应用程序长度、更新文件数据长度、电子控制单元ID掩码和校验和等信息。更新文件数据F2是由远程服务器对应用程序进行随机分割形成N份,每次重编程对应用程序的分割方法是不一样的,每份都由应用程序头F21和应用程序F22数据组成,应用程序头F21描述了应用程序数据F22的地址、长度和校验和信息。在本实施例中,步骤S106中,远程服务器生成加密的更新文件T106具体为:
S1061:远程服务器利用重编程设备的第二公钥PublicKey2对更新文件头F1进行加密。
S1062:远程服务器利用电子控制单元的第二密钥Key2对更新文件数据F2进行加密。
S1063:远程服务器利用自己的第一私钥PrivateKey1对加密的更新文件头和加密的更新文件数据的指纹信息进行加密生成更新文件的签名。
加密的更新文件头、加密的更新文件数据和签名组成加密的更新文件,图3为加密的更新文件的结构示意图。
S107:重编程设备验证加密的更新文件T106的签名,然后利用自己的第二私钥PrivateKey2解密加密的更新文件头,最后将加密的更新文件数据T107发送给电子控制单元。
在本实施例中,重编程设备利用远程服务器的第一公钥PublicKey1解密加密的更新文件T106的签名的内容,并验证远程服务器的签名是否有效,如果签名有效,则重编程设备利用自己的第二私钥PrivateKey2解密加密的更新文件头,将加密的更新文件数据T107发送给电子控制单元,然后执行步骤S108;如果远程服务器的签名无效,则结束更新流程。
S108:电子控制单元解密加密的更新文件数据T107,根据解密后的更新文件数据的应用程序头F21将对应的应用程序数据F22写入到存储器中,并将应用程序的更新结果T108反馈给重编程设备。在本实施例中,电子控制单元利用第二密钥Key2解密加密的更新文件数据T107。
本发明实施例一提供的应用程序的更新方法中,远程服务器对更新文件进行了加密处理,本发明实施例提供的方法中,加密的过程保证了更新文件传输过程中的安全,即保证了待更新的电子控制单元中应用程序的安全。此外,电子控制单元对重编程设备的验证过程提高了应用程序更新过程的安全性。
实施例二
本发明实施例二提供了一种应用程序的更新方法,应用于包括有远程服务器、重编程设备和电子控制单元网络的更新***。电子控制单元具有第一密钥Key1和第二密钥Key2,其中,第一密钥Key1固化在电子控制单元的内部存储器中,重编程设备和远程服务器各自具有一对密钥,假设远程服务器具有第一公钥PublicKey1和第一私钥PrivateKey1,重编程设备具有第二公钥PublicKey2和第二私钥PrivateKey2。在本实施例中,电子控制单元为应用程序更新***的电子控制单元网络中的一个电子控制单元。图4为该方法的流程图,该方法包括:
S201:重编程设备向电子控制单元发送身份验证请求信息T201。
S202:电子控制单元通过安全访问服务对重编程设备进行身份验证,并将身份验证结果T202发送给重编程设备。
S203:重编程设备判断身份验证结果T202是否有效,如果是,则重编程设备向电子控制单元发送身份信息请求信息T203,然后执行步骤S204;如果否,则结束更新流程。
S204:电子控制单元利用第一密钥Key1对自己的身份信息进行加密,并将加密后的身份信息T204发送给重编程设备。
其中,电子控制单元的身份信息包括但不限于:身份ID、随机验证码和随机密钥。随机密钥是电子控制单元接收到重编程设备发送的身份信息请求信息T203时随机产生的。在本实施例中,第二密钥Key2为电子控制单元的身份信息中的随机密钥。
S205:重编程设备将接收到的电子控制单元加密的身份信息T204和自己的身份信息打包、加密形成身份认证信息T205,然后将身份认证信息T205发送给远程服务器。
在本实施例中,步骤S205具体包括:
S2051:重编程设备将接收到的电子控制单元加密的身份信息T204和自己的身份信息打包成第一信息Information1。
S2052:重编程设备利用远程服务器的第一公钥PublicKey1对打包后的第一信息Information1进行加密,生成第二信息Information2。
S2053:重编程设备利用散列算法计算第二信息Information2的指纹信息,然后利用自己的第二私钥PrivateKey2对指纹信息加密,生成数字签名。
S2054:重编程设备将数字签名附加在第二信息Information2的后面,生成身份认证信息T205。
S2055:重编程设备将身份认证信息T205发送给远程服务器。
在本实施例中,重编程设备的身份信息包括但不限于:重编程设备的身份ID、版本和随机验证码。
S206:远程服务器验证身份认证信息T205是否有效,如果是,则生成有效的身份认证结果T206,并将有效的身份认证结果T206发送给重编程设备,然后执行步骤S207;如果否,则结束更新流程。
本实施例中的步骤S206具体包括:
S2061:远程服务器利用重编程设备的第二公钥PublicKey2解密身份认证信息T205的数字签名。
S2062:远程服务器验证数字签名是否有效,如果验证数字签名有效,则远程服务器利用自己的第一私钥PrivateKey1解密身份认证信息T205,得到电子控制单元加密的身份信息T204,然后执行步骤S2063;如果验证数字签名无效,则结束更新流程。
S2063:远程服务器利用第一密钥Key1解密电子控制单元加密的身份信息T204。该步骤中的对电子控制单元加密的身份信息T204进行解密与步骤S204中的电子控制单元将自己的身份信息加密相对应。
S2064:远程服务器验证解密后的电子控制单元的身份信息是否有效,如果电子控制单元的身份信息验证有效,则远程服务器生成有效的身份认证结果T206,并将有效的身份认证结果T206发送给重编程设备,然后执行步骤S207;如果验证无效,则结束更新流程。
S207:重编程设备向远程服务器发送更新文件请求信息T207。
S208:远程服务器生成加密的更新文件T208,并将加密的更新文件T208发送给重编程设备。
本实施例中的更新文件与实施例一中的更新文件结构相同,本实施例中的加密的更新文件与实施例一中的加密的更新文件结构相同,在此不做赘述。
在本实施例中,步骤S208具体为:
S2081:远程服务器利用重编程设备的第二公钥PublicKey2对更新文件头F1进行加密。
S2082:远程服务器利用电子控制单元的第二密钥Key2对更新文件数据F2进行加密。
S2082:远程服务器利用自己的第一私钥PrivateKey1对加密的更新文件头和加密的更新文件数据的指纹信息进行加密生成更新文件的签名。
S209:重编程设备验证加密的更新文件T208的签名,然后解密加密的更新文件T208的更新文件头,最后将将加密的更新文件数据T209发送给电子控制单元。
重编程设备利用远程服务器的公钥PublicKey1解密加密的更新文件T208的签名的内容,并验证更新文件T208的签名是否有效,如果签名有效,则重编程设备利用自己的私钥PrivateKey2解密加密的更新文件头,将加密的更新文件数据T209发送给电子控制单元,然后执行步骤S210;如果签名无效,则结束更新流程。
S210:电子控制单元解密加密的更新文件数据T209,根据解密后的更新文件数据T209的应用程序头F21将对应的应用程序数据F22写入到存储器中,并将将应用程序的更新结果T210反馈给重编程设备。
在本实施例中,电子控制单元利用第二密钥Key2解密加密的更新文件数据T209。
本发明实施例提供的应用程序的更新方法中,远程服务器对更新文件进行了加密处理,加密的过程保证了更新文件传输过程的安全,即保证了待更新的电子控制单元中应用程序的安全。此外,对电子控制单元对重编程设备的身份验证、远程服务器对重编程设备和电子控制单元的身份验证使得待更新的电子控制单元中应用程序的安全性更高。
实施例三
在实际应用中,可能存在需要对几万甚至几十万同类的电子控制单元进行应用程序更新的情况,如果对每个电子控制单元生成一个单独的更新文件,那么,远程服务器的负载会大幅度增加,且更新耗时较长。
有鉴于此,本发明实施例三提供了一种应用程序的更新方法,应用于包括有远程服务器、重编程设备和电子控制单元网络的更新***,该方法适用于同时对大量同种类型的电子控制单元的应用程序进行的更新。电子控制单元具有第一密钥Key1和第二密钥Key2,重编程设备和远程服务器各自具有一对密钥,假设远程服务器具有第一公钥PublicKey1和第一私钥PrivateKey1,重编程设备具有第二公钥PublicKey2和第二私钥PrivateKey2。
在本实施例中,电子控制单元为电子控制单元网络中同类电子控制单元组中的一个电子控制单元,电子控制单元的第二密钥Key2为同种类型的电子控制单元组的密钥。图5为本发明实施例三提供的方法的流程图,该方法包括:
S301:重编程设备向电子控制单元发送身份验证请求信息T301。
S302:电子控制单元通过安全访问服务对重编程设备进行身份验证,并将身份验证结果T302发送给重编程设备。
S303:重编程设备判断身份验证结果是否有效,如果是,则重编程设备向电子控制单元发送身份信息请求信息T303,然后执行步骤S304;如果否,则结束更新流程。
S304:电子控制单元利用第一密钥Key1将自己的身份信息加密,并将加密后的身份信息T304发送给重编程设备。
在本实施例中,第一密钥Key1和第二密钥Key2固化在电子控制单元的内部存储器比如Flash或eeprom中。电子控制单元的身份信息包括但不限于:身份ID、随机验证码。
S305:重编程设备向远程服务器发送更新文件请求T305。
S306:远程服务器根据重编程设备的身份ID和电子控制单元的种类生成加密的更新文件T306,并将加密的更新文件T306通过网络或外置存储器设备传送给重编程设备。
本实施例中的更新文件与实施例一中的更新文件结构相同,本实施例中的加密的更新文件与实施例一中的加密的更新文件结构相同,在此不做赘述。
在本实施例中,远程服务器利用重编程设备的公钥PublicKey2对更新文件头F1进行加密,利用电子控制单元组的密钥对更新文件数据F2进行加密,利用自己的第一私钥PrivateKey1对加密的更新文件头和加密的更新文件数据的指纹信息进行加密,生成更新文件的签名。
S307:重编程设备验证加密的更新文件T306的签名是否有效,如果是,则解密加密的更新文件T306的更新文件头,将加密的更新文件数据T307发送给电子控制单元,然后执行步骤S307;如果否,则结束流程。
同时,为了更快的实现应用程序的更新,重编程设备暂时保存解密后的更新文件头,当重编程设备对另一个同类型的电子控制单元的应用程序进行更新时,可以不用进行解密,而直接将加密的更新文件T306中的加密的更新文件数据T306发送给电子控制单元。
在本实施例中,重编程设备利用远程服务器的第一公钥PublicKey1解密加密的更新文件T306的签名的内容,并验证远程服务器的签名是否有效,如果签名有效,则重编程设备利用自己的第二私钥PrivateKey2解密加密的更新文件头,将加密的更新文件数据T307发送给电子控制单元,然后执行步骤S308;如果否,则结束流程。
S308:电子控制单元利用电子控制单元组的密钥解密加密的更新文件数据T307,根据解密后的更新文件数据的应用程序头F21将对应的应用程序数据F22写入到存储器中,并将应用程序的更新结果T308反馈给重编程设备。
本发明实施例三提供的应用程序的更新方法中,远程服务器为每种电子控制单元生成一个更新文件,即在对同类电子控制单元组中的所有电子控制单元进行应用程序更新的过程中,远程服务器只向重编程设备发送一次更新文件,重编程设备将该更新文件下载到所有同类的电子控制单元中。同时,远程服务器对更新文件进行了加密处理,因此,本发明实施例提供的方法既保证了应用程序的安全,又缓解了远程服务器的压力,同时缩短了更新耗时。
实施例四
本发明实施例四还提供了一种电子控制单元中应用程序的更新***,图6为该***的结构示意图,包括:远程服务器41、重编程设备42和电子控制单元网络43。其中,远程服务器41存储有应用程序数据,还存储有重编程设备42和电子控制单元网络43中电子控制单元的身份信息。
电子控制单元网络43中的电子控制单元具有第一密钥Key1和第二密钥,远程服务器41具有第一公钥PublicKey1和第一私钥PrivateKey1,重编程设备42具有第二公钥PublicKey2和第二私钥PrivateKey2。
重编程设备41,用于向电子控制单元发送身份信息请求信息。
电子控制单元网络43中的电子控制单元,用于利用第一密钥Key1将自己的身份信息进行加密,然后将加密后的身份信息发送给重编程设备。
重编程设备42,还用于向远程服务器41发送更新文件请求。
远程服务器41,还用于根据应用程序生成更新文件,然后依据第二公钥PublicKey2、第一私钥PrivateKey1和第二密钥Key2,按照预先设定的加密规则对更新文件进行加密,并将加密的更新文件发送给重编程设备42。重编程设备42,用于接收加密的更新文件,按照预先设定的第一解密规则,利用第一公钥PublicKey1和第二私钥PrivateKey2对加密的更新文件进行第一次解密并将第一次解密的更新文件发送给电子控制单元。
电子控制单元,还用于接收第一次解密的更新文件并按照预先设定的第二解密规则,利用第二密钥Key2对第一次解密后的更新文件进行第二次解密,并将解密后的更新文件写入存储器中。
远程服务器41,还用于对重编程设备42和电子控制单元网络43中的电子控制单元进行身份验证。
本实施例中的第二密钥Key2可以为当电子控制单元接收到重编程设备的身份信息请求信息时产生的随机密钥,也可为同类电子控制单元组的密钥。
本发明实施例提供的***中,远程服务器对更新文件进行的加密处理过程以及对重编程设备和电子控制单元进行的身份验证过程保证了应用程序的安全。
对所公开的实施例的上述说明,使本领域专业技术人员能够实现或使用本发明。对这些实施例的多种修改对本领域的专业技术人员来说将是显而易见的,本文中所定义的一般原理可以在不脱离本发明的精神或范围的情况下,在其它实施例中实现。因此,本发明将不会被限制于本文所示的这些实施例,而是要符合与本文所公开的原理和新颖特点相一致的最宽的范围。

Claims (10)

1.一种电子控制单元中应用程序的更新方法,其特征在于,应用于包括有:远程服务器、重编程设备和电子控制单元网络的更新***,所述电子控制单元具有第一密钥和第二密钥,所述远程服务器具有第一公钥和第一私钥,所述重编程设备具有第二公钥和第二私钥;
该方法包括:
A:所述重编程设备向所述电子控制单元发送身份信息请求信息;
B:所述电子控制单元利用所述第一密钥对自己的身份信息进行加密,然后将加密后的身份信息发送给所述重编程设备;
C:所述重编程设备向所述远程服务器发送更新文件请求;
D:所述远程服务器根据应用程序生成更新文件,然后利用所述第二密钥、第二公钥和第一私钥,按照预先设定的加密规则对所述更新文件进行加密,并将加密的更新文件发送给所述重编程设备;
E:所述重编程设备接收所述加密的更新文件,按照预先设定的第一解密规则,利用所述第一公钥和第二私钥对所述加密的更新文件进行第一次解密并将第一次解密的更新文件发送给所述电子控制单元;
F:所述电子控制单元接收所述第一次解密的更新文件并按照预先设定的第二解密规则,利用所述第二密钥对所述第一次解密后的更新文件进行第二次解密,并将解密后的更新文件写入存储器中;
G:结束更新。
2.根据权利要求1所述的方法,其特征在于,所述更新文件包括:更新文件头和更新文件数据,所述更新文件数据包括:应用程序头和应用程序数据。
3.根据权利要求2所述的方法,其特征在于,
所述第二密钥为所述电子控制单元产生的随机密钥;
所述远程服务器根据应用程序生成更新文件,然后利用所述第二密钥、第二公钥和第一私钥,按照预先设定的加密规则对所述更新文件进行加密具体为:
所述远程服务器利用所述重编程设备的第二公钥对所述更新文件头进行加密;
所述远程服务器利用所述电子控制单元的所述随机密钥对所述更新文件数据进行加密;
所述远程服务器利用自己的所述第一私钥对所述加密的更新文件头和所述加密的更新文件数据的指纹信息加密生成签名。
4.根据权利要求3所述的方法,其特征在于,所述步骤E具体为:
所述重编程设备接收所述加密的更新文件,按照预先设定的第一解密规则、利用所述远程服务器的第一公钥解密所述加密的更新文件的签名;
验证解密后的更新文件的签名是否有效,如果是,则所述重编程设备利用自己的第二私钥解密所述加密的更新文件的文件头,并将所述加密的更新文件数据发送给所述电子控制单元;如果否,则执行步骤G;
所述步骤F具体为:
所述电子控制单元接收所述加密的更新文件数据,按照预先设定的第二解密规则、利用所述随机密钥解密所述加密的更新文件数据并根据所述解密后的更新文件数据中的应用程序头将对应的应用程序数据写入存储器中。
5.根据权利要求1或4所述的方法,其特征在于,所述步骤A之前还包括:
H:所述重编程设备向所述电子控制单元发送身份验证请求信息;
I:所述电子控制单元通过安全访问服务对所述重编程设备进行身份验证,并将身份验证结果发送给所述重编程设备;
J:所述重编程设备判断所述身份验证结果是否有效,如果是,则执行步骤A,如果否则执行步骤G。
6.根据权利要求5所述的方法,其特征在于,所述步骤B之后、所述步骤C之前还包括:
K:所述重编程设备将接收到的所述电子控制单元加密的身份信息和自己的身份信息打包、加密形成身份认证信息,然后将所述身份认证信息发送给所述远程服务器;
L:所述远程服务器接收所述身份认证信息并验证其是否有效,如果是,则生成有效的身份认证结果,并将有效的身份认证结果发送给所述重编程设备,然后执行步骤C,如果否,则执行步骤G。
7.根据权利要求6所述的方法,其特征在于,所述步骤K包括:
K1:所述重编程设备将接收到的所述电子控制单元加密的身份信息和自己的身份信息打包,生成第一信息;
K2:所述重编程设备利用所述远程服务器的第一公钥对所述第一信息进行加密,生成第二信息;
K3:所述重编程设备利用散列算法计算所述第二信息的指纹信息,然后利用所述第二私钥对所述指纹信息加密,生成数字签名;
K4:所述重编程设备将所述数字签名附加在所述第二信息后面,生成身份认证信息;
K5:所述重编程设备将所述身份认证信息发送给所述远程服务器。
8.根据权利要求7所述的方法,其特征在于,所述步骤L包括:
L1:所述远程服务器接收所述身份认证信息;
L2:所述远程服务器利用所述重编程设备的第二公钥解密所述身份认证信息的所述数字签名;
L3:所述远程服务器验证所述数字签名是否有效,如果是,则所述远程服务器利用自己的所述第一私钥解密所述身份认证信息,得到所述电子控制单元加密的身份信息,然后执行步骤L4;如果否,则执行步骤G;
L4:所述远程服务器利用所述电子控制单元的所述第一密钥解密所述电子控制单元加密的身份信息;
L5:所述远程服务器验证解密后的所述电子控制单元的身份信息是否有效,如果是,则所述远程服务器生成有效的身份认证结果,并将所述有效的身份认证结果发送给所述重编程设备;如果否,则执行步骤G。
9.根据权利要求2所述的方法,其特征在于,所述电子控制单元为同类电子控制单元组中的电子控制单元,所述第二密钥为所述同类电子控制单元组的密钥;
所述远程服务器根据应用程序生成更新文件,然后利用所述第二密钥、第二公钥和第一私钥,按照预先设定的加密规则对所述更新文件进行加密具体为:
所述远程服务器利用所述重编程设备的第二公钥对所述更新文件头进行加密;
所述远程服务器利用所述同类电子控制单元组的密钥对所述更新文件数据进行加密;
所述远程服务器利用自己的所述第一私钥对所述加密的更新文件头和所述加密的更新文件数据的指纹信息加密生成签名。
10.一种电子控制单元中应用程序的更新***,其特征在于,包括:远程服务器、重编程设备和电子控制单元网络;
所述电子控制单元具有第一密钥和第二密钥,所述远程服务器具有第一公钥和第一私钥,所述重编程设备具有第二公钥和第二私钥;
所述重编程设备,用于向所述电子控制单元发送身份信息请求信息;
所述电子控制单元,用于利用所述第一密钥将自己的身份信息进行加密,然后将加密后的身份信息发送给所述重编程设备;
所述重编程设备还用于向所述远程服务器发送更新文件请求;
所述远程服务器,用于根据应用程序生成更新文件,然后依据所述第二公钥、第一私钥和第二密钥,按照预先设定的加密规则对所述更新文件进行加密,并将加密的更新文件发送给重编程设备;
所述重编程设备,还用于接收所述加密的更新文件,按照预先设定的第一解密规则,利用所述第一公钥和第二私钥对所述加密的更新文件进行第一次解密并将第一次解密的更新文件发送给所述电子控制单元;
所述电子控制单元,还用于接收所述第一次解密的更新文件并按照预先设定的第二解密规则,利用所述第二密钥对所述第一次解密后的更新文件进行第二次解密,并将解密后的更新文件写入存储器中。
CN201210071649.3A 2012-03-16 2012-03-16 一种电子控制单元中应用程序的更新方法及*** Active CN102662692B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201210071649.3A CN102662692B (zh) 2012-03-16 2012-03-16 一种电子控制单元中应用程序的更新方法及***

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201210071649.3A CN102662692B (zh) 2012-03-16 2012-03-16 一种电子控制单元中应用程序的更新方法及***

Publications (2)

Publication Number Publication Date
CN102662692A true CN102662692A (zh) 2012-09-12
CN102662692B CN102662692B (zh) 2015-05-27

Family

ID=46772193

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201210071649.3A Active CN102662692B (zh) 2012-03-16 2012-03-16 一种电子控制单元中应用程序的更新方法及***

Country Status (1)

Country Link
CN (1) CN102662692B (zh)

Cited By (22)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103067174A (zh) * 2012-12-27 2013-04-24 飞天诚信科技股份有限公司 一种在移动操作***中完成数字签名的方法和***
CN103713932A (zh) * 2014-01-21 2014-04-09 北京经纬恒润科技有限公司 一种电子控制单元中应用程序的更新方法及装置
CN104423378A (zh) * 2013-08-29 2015-03-18 通用汽车环球科技运作有限责任公司 车辆电子控制单元校准
CN105793824A (zh) * 2013-11-27 2016-07-20 株式会社自动网络技术研究所 程序更新***及程序更新方法
CN105892348A (zh) * 2014-05-12 2016-08-24 罗伯特·博世有限公司 用于运行控制设备的方法
CN106127079A (zh) * 2016-07-15 2016-11-16 中电长城网际***应用有限公司 一种数据共享方法及装置
CN106648626A (zh) * 2016-11-29 2017-05-10 郑州信大捷安信息技术股份有限公司 一种车辆安全远程升级***及升级方法
CN106843979A (zh) * 2017-01-24 2017-06-13 北京经纬恒润科技有限公司 一种应用程序的更新方法及装置
CN106886424A (zh) * 2015-12-15 2017-06-23 德尔福电子(苏州)有限公司 一种根据智能设备升级汽车软件的装置及方法
CN107710672A (zh) * 2015-07-03 2018-02-16 Kddi株式会社 软件分配处理装置、车辆、软件分配处理方法以及计算机程序
CN108462567A (zh) * 2017-12-28 2018-08-28 宁德时代新能源科技股份有限公司 车载程序文件下载方法和装置
CN108763964A (zh) * 2018-04-04 2018-11-06 青岛海尔科技有限公司 一种数据处理方法、装置、可读存储介质及设备
CN108989042A (zh) * 2017-05-31 2018-12-11 恩德莱斯和豪瑟尔分析仪表两合公司 用于授权更新自动化技术现场设备的方法
CN109074247A (zh) * 2016-03-30 2018-12-21 福特全球技术公司 车辆计算机更新认证
CN109426512A (zh) * 2017-08-21 2019-03-05 郑州宇通客车股份有限公司 整车零部件程序升级的监控终端、监控平台、***及方法
CN109560931A (zh) * 2018-11-30 2019-04-02 江苏恒宝智能***技术有限公司 一种基于无证书体系的设备远程升级方法
JP2019057904A (ja) * 2017-09-20 2019-04-11 キーランド テクノロジー カンパニー リミテッド 産業用インターネットフィールドにおけるブロードバンドバスアーキテクチャのセキュリティ実現方法および装置
CN110377310A (zh) * 2014-11-12 2019-10-25 松下电器(美国)知识产权公司 更新管理方法、更新管理装置以及计算机可读取的记录介质
CN111061251A (zh) * 2019-12-19 2020-04-24 中国汽车技术研究中心有限公司 一种基于诊断协议检测汽车信息安全的方法
CN111246480A (zh) * 2020-01-10 2020-06-05 中移(杭州)信息技术有限公司 基于sim卡的应用通信方法、***、设备及存储介质
CN113010893A (zh) * 2019-12-19 2021-06-22 华为技术有限公司 一种软件管理方法、装置及***
CN114598464A (zh) * 2022-03-08 2022-06-07 潍柴动力股份有限公司 一种数据更新方法和控制器

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20030188303A1 (en) * 2001-03-30 2003-10-02 Barman Roderick A. Method and apparatus for reprogramming engine controllers
US20040137892A1 (en) * 2003-01-06 2004-07-15 Jbs Technologies, Llc Hand-held programmer and remote diagnostic interface device
US20040187011A1 (en) * 2003-03-18 2004-09-23 Lee Long K. Prevention of unauthorized software distribution
US20050187668A1 (en) * 2004-02-23 2005-08-25 Baumgarte Joseph W. System or method for loading software onto a vehicle
CN101080693A (zh) * 2004-12-14 2007-11-28 宝马股份公司 用于在具有更新装置的汽车中使用至少一个移动终端设备的***
US20090300365A1 (en) * 2008-05-30 2009-12-03 Robert Karmes Vehicle Diagnostic System Security with Memory Card

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20030188303A1 (en) * 2001-03-30 2003-10-02 Barman Roderick A. Method and apparatus for reprogramming engine controllers
US20040137892A1 (en) * 2003-01-06 2004-07-15 Jbs Technologies, Llc Hand-held programmer and remote diagnostic interface device
US20040187011A1 (en) * 2003-03-18 2004-09-23 Lee Long K. Prevention of unauthorized software distribution
US20050187668A1 (en) * 2004-02-23 2005-08-25 Baumgarte Joseph W. System or method for loading software onto a vehicle
CN101080693A (zh) * 2004-12-14 2007-11-28 宝马股份公司 用于在具有更新装置的汽车中使用至少一个移动终端设备的***
US20090300365A1 (en) * 2008-05-30 2009-12-03 Robert Karmes Vehicle Diagnostic System Security with Memory Card

Cited By (38)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2014101633A1 (zh) * 2012-12-27 2014-07-03 飞天诚信科技股份有限公司 一种在移动操作***中完成数字签名的方法和***
CN103067174B (zh) * 2012-12-27 2015-06-17 飞天诚信科技股份有限公司 一种在移动操作***中完成数字签名的方法和***
US9473308B2 (en) 2012-12-27 2016-10-18 Feitan Technologies Co., Ltd. Method and system for implementing digital signature in mobile operating system
CN103067174A (zh) * 2012-12-27 2013-04-24 飞天诚信科技股份有限公司 一种在移动操作***中完成数字签名的方法和***
CN104423378B (zh) * 2013-08-29 2017-10-31 通用汽车环球科技运作有限责任公司 车辆电子控制单元校准的方法和***
CN104423378A (zh) * 2013-08-29 2015-03-18 通用汽车环球科技运作有限责任公司 车辆电子控制单元校准
CN105793824A (zh) * 2013-11-27 2016-07-20 株式会社自动网络技术研究所 程序更新***及程序更新方法
CN103713932A (zh) * 2014-01-21 2014-04-09 北京经纬恒润科技有限公司 一种电子控制单元中应用程序的更新方法及装置
CN103713932B (zh) * 2014-01-21 2017-03-08 北京经纬恒润科技有限公司 一种电子控制单元中应用程序的更新方法及装置
CN105892348A (zh) * 2014-05-12 2016-08-24 罗伯特·博世有限公司 用于运行控制设备的方法
CN105892348B (zh) * 2014-05-12 2020-03-31 罗伯特·博世有限公司 用于运行控制设备的方法
CN110377310B (zh) * 2014-11-12 2023-04-07 松下电器(美国)知识产权公司 更新管理方法、更新管理装置以及计算机可读取的记录介质
CN110377310A (zh) * 2014-11-12 2019-10-25 松下电器(美国)知识产权公司 更新管理方法、更新管理装置以及计算机可读取的记录介质
CN107710672A (zh) * 2015-07-03 2018-02-16 Kddi株式会社 软件分配处理装置、车辆、软件分配处理方法以及计算机程序
CN107710672B (zh) * 2015-07-03 2021-10-29 Kddi株式会社 软件分配处理装置、软件分配处理方法以及车辆
CN106886424A (zh) * 2015-12-15 2017-06-23 德尔福电子(苏州)有限公司 一种根据智能设备升级汽车软件的装置及方法
CN106886424B (zh) * 2015-12-15 2021-08-27 安波福电子(苏州)有限公司 一种根据智能设备升级汽车软件的装置及方法
CN109074247A (zh) * 2016-03-30 2018-12-21 福特全球技术公司 车辆计算机更新认证
CN106127079A (zh) * 2016-07-15 2016-11-16 中电长城网际***应用有限公司 一种数据共享方法及装置
CN106127079B (zh) * 2016-07-15 2019-04-12 中电长城网际***应用有限公司 一种数据共享方法及装置
CN106648626A (zh) * 2016-11-29 2017-05-10 郑州信大捷安信息技术股份有限公司 一种车辆安全远程升级***及升级方法
CN106843979A (zh) * 2017-01-24 2017-06-13 北京经纬恒润科技有限公司 一种应用程序的更新方法及装置
CN108989042B (zh) * 2017-05-31 2021-07-09 恩德莱斯和豪瑟尔分析仪表两合公司 用于授权更新自动化技术现场设备的方法
CN108989042A (zh) * 2017-05-31 2018-12-11 恩德莱斯和豪瑟尔分析仪表两合公司 用于授权更新自动化技术现场设备的方法
CN109426512A (zh) * 2017-08-21 2019-03-05 郑州宇通客车股份有限公司 整车零部件程序升级的监控终端、监控平台、***及方法
JP2019057904A (ja) * 2017-09-20 2019-04-11 キーランド テクノロジー カンパニー リミテッド 産業用インターネットフィールドにおけるブロードバンドバスアーキテクチャのセキュリティ実現方法および装置
CN108462567A (zh) * 2017-12-28 2018-08-28 宁德时代新能源科技股份有限公司 车载程序文件下载方法和装置
CN108763964A (zh) * 2018-04-04 2018-11-06 青岛海尔科技有限公司 一种数据处理方法、装置、可读存储介质及设备
CN108763964B (zh) * 2018-04-04 2021-08-24 青岛海尔科技有限公司 一种数据处理方法、装置、可读存储介质及设备
CN109560931B (zh) * 2018-11-30 2020-11-24 江苏恒宝智能***技术有限公司 一种基于无证书体系的设备远程升级方法
CN109560931A (zh) * 2018-11-30 2019-04-02 江苏恒宝智能***技术有限公司 一种基于无证书体系的设备远程升级方法
CN113010893A (zh) * 2019-12-19 2021-06-22 华为技术有限公司 一种软件管理方法、装置及***
WO2021120678A1 (zh) * 2019-12-19 2021-06-24 华为技术有限公司 一种软件管理方法、装置及***
CN111061251A (zh) * 2019-12-19 2020-04-24 中国汽车技术研究中心有限公司 一种基于诊断协议检测汽车信息安全的方法
CN113010893B (zh) * 2019-12-19 2024-05-17 华为云计算技术有限公司 一种软件管理方法、装置及***
CN111246480A (zh) * 2020-01-10 2020-06-05 中移(杭州)信息技术有限公司 基于sim卡的应用通信方法、***、设备及存储介质
CN114598464A (zh) * 2022-03-08 2022-06-07 潍柴动力股份有限公司 一种数据更新方法和控制器
CN114598464B (zh) * 2022-03-08 2024-04-16 潍柴动力股份有限公司 一种数据更新方法和控制器

Also Published As

Publication number Publication date
CN102662692B (zh) 2015-05-27

Similar Documents

Publication Publication Date Title
CN102662692B (zh) 一种电子控制单元中应用程序的更新方法及***
EP3407534B1 (en) In-car computer system, vehicle, key generation device, management method, key generation method, and computer program
CN102138300B (zh) 消息认证码预计算在安全存储器中的应用
CN103677891B (zh) 用于选择性软件回退的方法
CN102271037B (zh) 基于在线密钥的密钥保护装置
CN101944170B (zh) 一种软件版本发布方法、***及装置
CN111010410A (zh) 一种基于证书身份认证的拟态防御***及证书签发方法
CN103988464A (zh) 利用全球平台规范对发行者安全域进行密钥管理的***和方法
CN108140093A (zh) 使用用于设备的硬件信任根来迁移秘密
CN101256607B (zh) 一种对软件保护装置进行远程更新和使用控制的方法
CN1985466A (zh) 使用分发cd按签署组向设备传递直接证据私钥的方法
CN106936588B (zh) 一种硬件控制锁的托管方法、装置及***
US11228421B1 (en) Secure secrets to mitigate against attacks on cryptographic systems
CN108199847B (zh) 数字安全处理方法、计算机设备及存储介质
EP3292495B1 (en) Cryptographic data
CN110018841A (zh) 一种uefi bios升级方法、***及相关装置
CN104053149A (zh) 一种实现车联网设备的安全机制的方法及***
US7962765B2 (en) Methods and systems for tamper resistant files
CN109478214A (zh) 用于证书注册的装置和方法
CN108491215A (zh) 一种无人机固件保护***
JP6387908B2 (ja) 認証システム
CN112882750A (zh) Ota升级包的处理方法、装置和电子设备
CN113378119B (zh) 一种软件授权方法、装置、设备及存储介质
CN104506504A (zh) 一种无卡终端涉密信息的安全机制及安全装置
CN104135531B (zh) 一种Web软件的升级方法及装置

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
CP03 Change of name, title or address
CP03 Change of name, title or address

Address after: 4 / F, building 1, No.14 Jiuxianqiao Road, Chaoyang District, Beijing 100020

Patentee after: Beijing Jingwei Hirain Technologies Co.,Inc.

Address before: 100101 Beijing city Chaoyang District Anxiang Beili 11 B block 8 layer

Patentee before: Beijing Jingwei HiRain Technologies Co.,Ltd.