CN107992753B - 用于更新车辆的控制设备的软件的方法 - Google Patents
用于更新车辆的控制设备的软件的方法 Download PDFInfo
- Publication number
- CN107992753B CN107992753B CN201711007309.3A CN201711007309A CN107992753B CN 107992753 B CN107992753 B CN 107992753B CN 201711007309 A CN201711007309 A CN 201711007309A CN 107992753 B CN107992753 B CN 107992753B
- Authority
- CN
- China
- Prior art keywords
- data block
- control device
- cryptographic
- test data
- cryptographic material
- 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.)
- Active
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/50—Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems
- G06F21/57—Certifying or maintaining trusted computer platforms, e.g. secure boots or power-downs, version controls, system software checks, secure updates or assessing vulnerabilities
- G06F21/572—Secure firmware programming, e.g. of basic input output system [BIOS]
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/60—Software deployment
- G06F8/65—Updates
-
- G—PHYSICS
- G05—CONTROLLING; REGULATING
- G05B—CONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
- G05B19/00—Programme-control systems
- G05B19/02—Programme-control systems electric
- G05B19/04—Programme control other than numerical control, i.e. in sequence controllers or logic controllers
- G05B19/042—Programme control other than numerical control, i.e. in sequence controllers or logic controllers using digital processors
- G05B19/0426—Programming the control sequence
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/50—Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems
- G06F21/57—Certifying or maintaining trusted computer platforms, e.g. secure boots or power-downs, version controls, system software checks, secure updates or assessing vulnerabilities
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/50—Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems
- G06F21/57—Certifying or maintaining trusted computer platforms, e.g. secure boots or power-downs, version controls, system software checks, secure updates or assessing vulnerabilities
- G06F21/575—Secure boot
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/60—Protecting data
- G06F21/64—Protecting data integrity, e.g. using checksums, certificates or signatures
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements 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/44—Arrangements for executing specific programs
- G06F9/445—Program loading or initiating
- G06F9/44536—Selecting among different versions
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/06—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols the encryption apparatus using shift registers or memories for block-wise or stream coding, e.g. DES systems or RC4; Hash functions; Pseudorandom sequence generators
- H04L9/0643—Hash functions, e.g. MD5, SHA, HMAC or f9 MAC
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/32—Cryptographic 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/3236—Cryptographic 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
- H04L9/3242—Cryptographic 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 involving keyed hash functions, e.g. message authentication codes [MACs], CBC-MAC or HMAC
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/32—Cryptographic 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/3247—Cryptographic 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
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L2209/00—Additional information or applications relating to cryptographic mechanisms or cryptographic arrangements for secret or secure communication H04L9/00
- H04L2209/84—Vehicles
Landscapes
- Engineering & Computer Science (AREA)
- Computer Security & Cryptography (AREA)
- Theoretical Computer Science (AREA)
- Software Systems (AREA)
- General Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Computer Hardware Design (AREA)
- Signal Processing (AREA)
- Computer Networks & Wireless Communication (AREA)
- Power Engineering (AREA)
- Automation & Control Theory (AREA)
- Health & Medical Sciences (AREA)
- Bioethics (AREA)
- General Health & Medical Sciences (AREA)
- Stored Programmes (AREA)
Abstract
本发明涉及一种用于更新车辆(12)的控制设备(18)的软件的方法,所述方法具有如下步骤:在控制设备(18)的存储器(20)内更换软件的各个数据块(30a‑30f),和通过以密码函数对每个被更换的数据块(30a‑30f)的处理,而产生用于每个被更换的数据块(30a‑30f)的相应的密码材料。在此规定,所述方法包括将所产生的密码材料存储在测试数据块(32)内,所述测试数据块(32)针对每个数据块(30a‑30f)分别包含密码材料,和通过存储在测试数据块(32)内的密码材料与相容测试数据的比较,验证软件的所有数据块(30a‑30f)的存储在测试数据块(32)内的密码材料的相容性。本发明所要解决的技术问题在于,在对车辆的控制设备的软件部分更新时减少所需的密码运算。
Description
技术领域
本发明涉及一种用于更新车辆的控制设备的软件的方法、一种控制设备、一种车辆和一种通信系统。
背景技术
现代车辆的控制设备的软件可以被更新,例如用于扩展或改进控制设备的功能性。此外,通过软件更新可以扩展控制设备相对于更新的硬件和/或其它软件的相容性。
目前,控制设备的软件更新例如通过车辆制造商或车辆使用者实现。未来,通过车辆使用者发起的软件更新将显著地增多,因为车辆使用者可以事后获得车辆或车辆的控制设备的功能,其中,新获得的功能的使用部分要求相应的软件更新。
在控制设备的软件更新时必须避免非授权的软件在控制设备上运行并且由此尽可能避免有损害的软件在控制设备上运行。
在受保护的数据更换方面,文献DE 10 2004 036 810 A1建议一种通过CAN总线系统的用于两个系统部件的通信方法,其中,系统部件分别提供预设的固定数量的仅其已知的测试码。基于可被两个系统部件收发的时间变化的信号,在车辆起动时由两个系统部件通过设计为散列函数的分配函数选择测试码中的一个,并且通过该散列函数给待转移的有效数据进行编码。
此外,由文献DE 10 2010 033 229 A1已知一种在从第一控制单元至第二控制单元转移控制数据时用于识别操纵的方法,其中,在发送方用于由第一控制单元发送的控制数据的完整测试信息数据通过完整测试产生单元产生,用于在发送方产生的完整测试信息数据的密码校验和通过完整测试产生单元借助密钥进行运算并且在发送方产生的完整测试信息数据和所属的密码校验和向完整测试验证单元转移。完整测试验证单元借助密钥验证密码校验和。
此外,由文献DE 10 2012 109 619 A1已知一种提供用于认证二进制文件的来源和内容的数字签名的方法,二进制文件在车辆内嵌入的控制设备中被flash编程。
此外,文献US 2009/0113166 A1建议一种用于更新NAND-Flach存储器组的方法。
在文献DE 10 2012 215 729 A1中建议一种用于认证多个文件的方法。
在文献US 2014/0058532 A2中建议中发动机控制设备的部分覆盖的方法。
此外,文献DE 60 2005 001 497 T2建议一种用于在数据处理系统中更新存储器内容的方法。
各种已知的装置的缺点在于,其仅用于更新整个软件,并且不适用于软件的部分或局部的更新,和/或要求过高的用于实施所需的密码运算的计算能力。
发明内容
本发明所要解决的技术问题是,在车辆的控制设备的软件部分更新时减少所需的密码运算。
所述技术问题按照本发明通过一种用于更新车辆的控制设备的软件的方法解决。所述技术问题按照本发明还通过一种车辆的控制设备、一种车辆和一种通信系统解决。
在用于更新车辆的控制设备的软件的方法中,在控制设备的存储器内的软件的各个数据块被更换,并且通过以密码函数对被更换的数据块的分别处理,而产生用于每个被更换的数据块的相应的密码材料。按照本发明,将所产生的密码材料存储在测试数据块内,所述测试数据块针对每个数据块分别包含密码材料,其中,通过存储在测试数据块内的密码材料与相容测试数据的比较,验证软件的所有数据块的存储在测试数据块内的密码材料的相容性。
按照本发明的方法具有的优点在于,软件的每个数据块仅须一次通过密码函数的处理。相容性的验证和由此在控制设备上运行的软件的可靠性的检测通过对借助密码函数产生的和在测试数据块内存储的密码材料进行的测试实现。此外,只有当每个数据块也被改变时,每个数据块才被处理。在更新时没有被更换的数据块的密码材料已在测试数据块中存在,使得该密码材料在验证相容性之前不必重新产生。此外,在测试数据块中存储的密码材料与相容性测试数据的协调在相容性验证时仅需一次实现。由此在车辆的控制设备的软件部分更新时所需的密码运算被显著地减少,使得在安全的更新时显著地降低运算耗费。应理解的是,测试数据块自身不会为了产生密码材料而通过密码函数处理,使得测试数据块自身也不包含密码材料。这将产生递归循环。
所述方法可以包括从测试数据块删除各个待更换或被更换的数据块的密码材料。删除测试数据块的各个待更换或被更换的数据块的密码材料并且在测试数据块中存储重新产生的各个被更换的数据块的密码材料,由此在测试数据块中始终仅存在针对所有数据块的最新的密码材料。以这种方式,限制了被存储的密码材料的数量以及协调相容性验证与相容性测试数据的密码材料的数量,从而一方面节省了存储器空间,并且还简化和加快了密码材料的相容性的验证。
所述方法还包括由外部的软件更新管理机构向控制设备提供待更换的数据块和/或相容测试数据。外部的软件更新管理机构优选是车辆制造商或第三方的后端平台。可以通过控制设备的通信模块和/或通过车辆的与控制设备信号相连的通信模块提供待更换的数据块和/或相容测试数据。尤其借助外部的软件更新管理机构通过无线通信连接、例如在使用WLAN无线网或移动无线电通信网络的情况下为控制设备提供待更换的数据块和/或相容测试数据。此外还优选的是,借助外部的软件更新管理机构通过互联网连接为控制设备提供待更换的数据块和/或相容测试数据。
待更换的数据块和相容测试数据可以同时地或者以时间间隔地向控制设备提供。当待更换的数据块和相容测试数据以一个时间间隔地向控制设备提供时,或者待更换的数据块或者相容测试数据可以首先向控制设备提供。当待更换的数据块和相容测试数据同时地向控制设备提供时,控制设备在更换各个数据块之后无再需要与外部的软件更新管理机构的通信连接,从而当与外部的软件更新管理机构无法进行数据更换时,在更换各个数据块之后也可以在使用相容测试数据的情况下实施相容性验证。由此进一步简化了更新过程。
测试数据块可以存储在控制设备的可靠的存储器内。备选或附加的是,测试数据块可以存储在控制设备以外的可靠的存储器内,其中,控制设备具有对控制设备以外的可靠的存储器的访问权限。优选地,存储在可靠的存储器内的数据以及由此测试数据块也针对未经授权的修改和读取被保护。以这种方式进一步提高了在执行软件更新时的安全水平。
用于为每个被更换的数据块产生密码材料所使用的密码函数可以是散列函数。备选或附加的是,通过密码函数产生的针对每个数据块的密码材料可以包含关于相应数据块的内容的散列值。散列函数产生散列值,所述散列值明确标记数据块,其中,散列值由于标记特征可以理解为指纹。这种指纹具有的特性是,基于该指纹使得未经授权的操作不能产生与相同指纹关联的相应的数据块。此外,散列函数要求相对较低的运算量并且由此特别适合用作密码函数。
通过密码函数产生的针对每个数据块的密码材料可以除了散列值还包括密钥。通过密码函数产生的针对每个数据块的密码材料除了散列值还包括密钥,由此进一步提高针对在控制设备上运行未授权的软件的安全性。
用于为每个被更换的数据块产生密码材料所使用的密码函数可以是签名函数。备选或附加的是,通过密码函数产生的针对每个数据块的密码材料可以包含相应数据块的数字签名。签名函数产生签名,所述签名明确标记数据块,其中,签名或部分签名由于该标记特征可以理解为指纹。这种指纹具有的特性是,基于该指纹使得未经授权的操作不能产生与相同指纹关联的相应的数据块。由此,签名函数同样特别适合用作密码函数。
通过密码函数产生的针对每个数据块的密码材料可以包含相应数据块的对称签名。当通过密码函数产生的针对每个数据块的密码材料包含相应数据块的对称签名时,针对保存在测试数据块内的软件的所有数据块的密码材料的相容性的验证要求特别低的运算量,使得软件更新的过程进一步加速。
通过密码函数产生的针对每个数据块的密码材料包含相应数据块的消息认证码。消息认证码(MAC)通过算法产生,所述算法从相应的数据块和隐藏的密钥中产生校验和,该校验和称为消息认证码。该消息认证码中明确标记数据块,其中,消息认证码由于该标记特征同样可以理解为具有前述特性的指纹。
相容测试数据可以包含关于在软件更新后在测试数据块内等待的软件的所有数据块的密码材料。由此,为了验证保存在测试数据块内的软件的所有数据块的密码材料的相容性,保存在测试数据块内的密码材料与关于在软件更新后在测试数据块内等待的软件的所有数据块的密码材料的密码签名相协调。当用于为每个被更换的数据块产生密码材料所使用的密码函数是散列函数时,所产生的且保存在测试数据块内的散列值与关于在软件更新后在测试数据块内等待的软件的所有数据块的散列值的密码签名相匹配。
通过控制设备和/或通过外部的软件更新管理机构可以产生针对每个被更换的数据块的密码材料。优选地,控制设备产生密码材料,用于将密码材料存储在测试数据块内。外部的软件更新管理机构尤其产生密码材料,以便可以产生关于在软件更新后在测试数据块内等待的软件的所有数据块的密码材料的密码签名。
按照本发明的车辆的控制设备设置为,实施按照前述实施方式的用于更新车辆的控制设备的软件的方法。同样适用于前述的优点和变形方案。
按照本发明的车辆包括控制设备,其中,所述控制设备按照前述实施方式设计。同样适用于前述的优点和变形方案。
按照本发明的通信系统包括具备控制设备的车辆和外部的软件更新管理机构。所述通信系统设置为,实施按照前述实施方式的用于更新车辆的控制设备的软件的方法。同样适用于前述的优点和变形方案。
在本申请中所述的本发明的不同的实施方式既可以独立地实施,也可以有利地相互结合。
附图说明
以下结合附图在实施例中阐述本发明。在附图中:
图1示出按照本发明的通信系统的实施例的剖视图,和
图2示出用于更新车辆的控制设备的软件的方法的实施例的框图。
具体实施方式
图1示出附带车辆12的通信系统10和外部的软件更新管理机构14,其中,外部的软件更新管理机构14是车辆制造商的后端平台。
车辆12具有控制设备18。所述控制设备18包括存储器20、计算单元22和通信模块24。所述通信模块24借助通信连接26、28通过互联网16与外部的软件更新管理机构14信号地连接。通信连接26、28实现控制设备18的通信模块24与外部的软件更新管理机构14之间的双向的数据更换。计算单元22设置为,在控制设备18内实施积累的运算处理,该运算处理尤其也包括密码运算。
在控制设备18的存储器20中存储了控制设备18的软件的多个数据块30a-30f。此外,在控制设备18的存储器20中存储有测试数据块32,其包括针对每个数据块30a-30f的密码材料。
控制设备18设置为,使得软件的各个数据块30a-30f在控制设备18的存储器20上进行更换,并且通过以密码函数对每个被更换的数据块30a-30f进行处理,而产生用于每个被更换的数据块30a-30f的密码材料。
此外,控制设备18设置为,使得所产生的密码材料被存储在测试数据块32内,并且通过存储在测试数据块32内的密码材料与相容测试数据的比较,验证软件的所有数据块30a-30f的存储在测试数据块32内的密码材料的相容性。
外部的软件更新管理机构14设置为,向控制设备18提供更换的数据块30a-30f和相容测试数据,其中,更换的数据块30a-30f和相容测试数据或者可以向控制设备18同时提供,或者可以以一个时间间隔由外部的软件更新管理机构14提供。
控制设备18和外部的软件更新管理机构14为了产生针对每个被更换的数据块30a-30f的密码材料而使用散列函数,使得所产生的针对每个数据块30a-30f的密码材料均包括关于相应数据块30a-30f的内容的散列值。相容测试数据包括关于软件的所有数据块30a-30f的散列值的密码签名,在软件更新后在测试数据块32中等待散列值。
图2示出用于更新车辆12的控制设备18的软件的方法,其例如可以由图1的控制设备实施。
所述方法通过以下步骤进行:
34)更换在控制设备18的存储器20内的软件的各个数据块30a-30f。
通过更换各个数据块30a-30f而非所有的数据块30a-30f,实现控制设备18的软件的局部或部分的更新。数据块30a-30f例如可以是Flash块,其为了在控制设备18上运行软件更新而被新撰写出来。待更换的数据块30a-30f由外部的软件更新管理机构14向控制设备提供,其中,外部的软件更新管理机构14是车辆制造商的后端平台。
在软件的各个数据块30a-30f在控制设备18的存储器20中被更换后,可以实施如下步骤:
36)通过以散列函数对每个被更换的数据块30a-30f的处理,产生用于每个被更换的数据块30a-30f的散列值。
在为每个被更换的数据块30a-30f产生散列值之后,可以实施如下两个步骤:
38)从测试数据块32删除各个被更换的数据块30a-30f的散列值,每个数据块30a-30f均包含所述散列值,和
40)新产生的散列值存储在测试数据块32。
测试数据块32保存在控制设备18的可靠的存储器内。通过删除测试数据块32的各个被更换的数据块30a-30f的散列值并且在测试数据块32中存储新产生的散列值,在更换软件的各个数据块30a-30f之后,不再通过各个改变的数据块30a-30f的最新的散列值替代当前的散列值。
在控制设备18的软件的所有数据块30a-30f均在测试数据块32内被赋予了当前的散列值之后,可以实施如下步骤:
42)通过存储在测试数据块32内的散列值与关于在软件更新后在测试数据块32内等待的软件的所有数据块30a-30f的散列值所进行的比较,验证软件的所有数据块30a-30f的存储在测试数据块32内的散列值的相容性。
关于在软件更新后在测试数据块32内等待的软件的所有数据块30a-30f的密码签名同样通过外部的软件更新管理机构14向控制设备18提供。
所产生的密码材料被保存在测试数据块内,每个数据块均包含密码材料,并且保存在测试数据块内的软件的所有数据块的密码材料的相容性通过保存在测试数据块内的密码材料与相容测试数据的比较来进行验证,由此在车辆的控制设备的软件进行部分更新时极大地减少了所需的密码运算。
附图标记列表
10 通信系统
12 车辆
14 软件更新管理机构
16 互联网
18 控制设备
20 存储器
22 计算单元
24 通信模块
26 通信连接
28 通信连接
30a-30f 数据块
32 测试数据块
34-42 方法步骤
Claims (15)
1.一种用于更新车辆(12)的控制设备(18)的软件的方法,其特征在于,所述方法具有如下步骤:
-更换在控制设备(18)的存储器(20)内的软件的各个数据块(30a-30f);和
-通过以密码函数对被更换的数据块(30a-30f)的分别处理,而产生用于每个被更换的数据块(30a-30f)的相应的密码材料;
-从测试数据块(32)删除各个待更换或被更换的数据块(30a-30f)的密码材料;
-将所产生的密码材料存储在测试数据块(32)内,所述测试数据块(32)针对每个数据块(30a-30f)分别包含密码材料;和
-通过存储在测试数据块(32)内的密码材料与相容测试数据的比较,验证软件的所有数据块(30a-30f)的存储在测试数据块(32)内的密码材料的相容性。
2.按照权利要求1所述的方法,其特征在于,
-由外部的软件更新管理机构(14)向控制设备(18)提供待更换的数据块(30a-30f)和/或相容测试数据。
3.按照权利要求2所述的方法,其特征在于,所述外部的软件更新管理机构(14)是车辆制造商或第三方的后端平台。
4.按照前述权利要求1至3之一所述的方法,其特征在于,待更换的数据块(30a-30f)和相容测试数据同时地或者以时间间隔地向控制设备(18)提供。
5.按照前述权利要求1至3之一所述的方法,其特征在于,测试数据块(32)存储在控制设备(18)的可靠的存储器内。
6.按照前述权利要求1至3之一所述的方法,其特征在于,为针对每个被更换的数据块(30a-30f)产生密码材料所使用的密码函数是散列函数,和/或通过密码函数产生的针对每个数据块(30a-30f)的密码材料包含关于相应数据块(30a-30f)的内容的散列值。
7.按照权利要求6所述的方法,其特征在于,通过密码函数产生的针对每个数据块(30a-30f)的密码材料除了散列值还包括密钥。
8.按照权利要求1至3之一所述的方法,其特征在于,为针对每个被更换的数据块(30a-30f)产生密码材料所使用的密码函数是签名函数,和/或通过密码函数产生的针对每个数据块(30a-30f)的密码材料包含相应数据块(30a-30f)的数字签名。
9.按照前述权利要求1至3之一所述的方法,其特征在于,通过密码函数产生的针对每个数据块(30a-30f)的密码材料包含相应数据块(30a-30f)的对称签名。
10.按照前述权利要求1至3之一所述的方法,其特征在于,通过密码函数产生的针对每个数据块(30a-30f)的密码材料包含相应数据块(30a-30f)的消息认证码。
11.按照前述权利要求1至3之一所述的方法,其特征在于,相容测试数据包含关于在软件更新后在测试数据块(32)内等待的、软件的所有数据块(30a-30f)的密码材料。
12.按照前述权利要求1至3之一所述的方法,其特征在于,通过控制设备(18)和/或通过外部的软件更新管理机构(14)产生针对每个被更换的数据块(30a-30f)的密码材料。
13.一种车辆的控制设备(18),其特征在于,所述控制设备(18)设置为,实施按照权利要求1至12之一所述的用于更新车辆(12)的控制设备(18)的软件的方法。
14.一种车辆(12),具有控制设备(18),其中,所述控制设备(18)按照权利要求13设计。
15.一种通信系统(10),具有
-具备控制设备(18)的车辆(12);和
-外部的软件更新管理机构(14),
其特征在于,所述通信系统(10)设置为,实施按照权利要求1至12之一所述的用于更新车辆(12)的控制设备(18)的软件的方法。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
DE102016221108.0A DE102016221108A1 (de) | 2016-10-26 | 2016-10-26 | Verfahren zum Aktualisieren einer Software eines Steuergeräts eines Fahrzeugs |
DE102016221108.0 | 2016-10-26 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN107992753A CN107992753A (zh) | 2018-05-04 |
CN107992753B true CN107992753B (zh) | 2021-10-15 |
Family
ID=61866445
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201711007309.3A Active CN107992753B (zh) | 2016-10-26 | 2017-10-25 | 用于更新车辆的控制设备的软件的方法 |
Country Status (3)
Country | Link |
---|---|
US (1) | US10423401B2 (zh) |
CN (1) | CN107992753B (zh) |
DE (1) | DE102016221108A1 (zh) |
Families Citing this family (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US11349669B1 (en) | 2018-01-30 | 2022-05-31 | State Farm Mutual Automobile Insurance Company | Cryptographic hash chain for vehicle configuration verification |
DE102018206720A1 (de) | 2018-05-02 | 2019-11-07 | Audi Ag | Verfahren zum Durchführen eines Softwareupdates in einem Steuergerät eines Kraftfahrzeugs sowie entsprechend eingerichtetes Kraftfahrzeug |
US10732959B2 (en) | 2018-10-17 | 2020-08-04 | Ford Global Technologies, Llc | Pre and post update vehicle bus traffic fingerprinting |
KR20200119601A (ko) * | 2019-04-10 | 2020-10-20 | 현대모비스 주식회사 | 차량의 바이너리 데이터 처리 장치 및 방법 |
KR20210057619A (ko) * | 2019-11-12 | 2021-05-21 | 현대자동차주식회사 | 차량의 무선 업데이트 장치 및 그 방법 |
DE102021003840A1 (de) * | 2021-07-27 | 2023-02-02 | Mercedes-Benz Group AG | Verfahren zur Überprüfung digitaler Signaturen, Fahrzeug-Recheneinheit und Fahrzeug |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103597491A (zh) * | 2011-03-29 | 2014-02-19 | 沃尔沃拉斯特瓦格纳公司 | 安全的修理数据包 |
CN103959302A (zh) * | 2011-06-01 | 2014-07-30 | 安全第一公司 | 用于安全分布式存储的系统与方法 |
CN105791387A (zh) * | 2015-01-13 | 2016-07-20 | 福特全球技术公司 | 车辆控制更新方法和系统 |
CN105938433A (zh) * | 2015-03-03 | 2016-09-14 | 罗伯特·博世有限公司 | 用于对机动车的控制设备进行编程的方法 |
Family Cites Families (61)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5475826A (en) * | 1993-11-19 | 1995-12-12 | Fischer; Addison M. | Method for protecting a volatile file using a single hash |
US6263431B1 (en) * | 1998-12-31 | 2001-07-17 | Intle Corporation | Operating system bootstrap security mechanism |
US7152165B1 (en) * | 1999-07-16 | 2006-12-19 | Intertrust Technologies Corp. | Trusted storage systems and methods |
US6748538B1 (en) * | 1999-11-03 | 2004-06-08 | Intel Corporation | Integrity scanner |
DE10008973B4 (de) * | 2000-02-25 | 2004-10-07 | Bayerische Motoren Werke Ag | Autorisierungsverfahren mit Zertifikat |
DE10008974B4 (de) * | 2000-02-25 | 2005-12-29 | Bayerische Motoren Werke Ag | Signaturverfahren |
US6880086B2 (en) * | 2000-05-20 | 2005-04-12 | Ciena Corporation | Signatures for facilitating hot upgrades of modular software components |
US6976163B1 (en) * | 2000-07-12 | 2005-12-13 | International Business Machines Corporation | Methods, systems and computer program products for rule based firmware updates utilizing certificate extensions and certificates for use therein |
US7069452B1 (en) * | 2000-07-12 | 2006-06-27 | International Business Machines Corporation | Methods, systems and computer program products for secure firmware updates |
AU2001285125B2 (en) * | 2000-08-21 | 2004-08-26 | Igt | Method and apparatus for software authentication |
DE10131394A1 (de) | 2001-06-28 | 2003-02-06 | Daimler Chrysler Ag | Verfahren zum Übertragen von Software-Modulen |
US6678606B2 (en) * | 2001-09-14 | 2004-01-13 | Cummins Inc. | Tamper detection for vehicle controller |
US7089552B2 (en) * | 2002-08-29 | 2006-08-08 | Sun Microsystems, Inc. | System and method for verifying installed software |
EP1639603A2 (de) * | 2003-06-24 | 2006-03-29 | Robert Bosch Gmbh | Verfahren zur durchführung eines software-updates eines elektronischen steuergerätes durch eine flash-programmierung über eine serielle schnittstelle und ein entsprechender zustandsautomat |
US7673297B1 (en) * | 2003-09-03 | 2010-03-02 | The Directv Group, Inc. | Automatic software update detection and flexible installer for set-top boxes |
US20050132357A1 (en) * | 2003-12-16 | 2005-06-16 | Microsoft Corporation | Ensuring that a software update may be installed or run only on a specific device or class of devices |
US7506309B2 (en) * | 2004-03-23 | 2009-03-17 | General Motors Corporation | Method for managing vehicle software configuration updates |
DE102004036810A1 (de) | 2004-07-29 | 2006-03-23 | Zf Lenksysteme Gmbh | Kommunikationsverfahren für wenigstens zwei Systemkomponenten eines Kraftfahrzeugs |
EP1679573B1 (en) * | 2005-01-07 | 2007-06-27 | Telefonaktiebolaget LM Ericsson (publ) | Updating memory contents of a processing device |
US8484427B1 (en) * | 2006-06-28 | 2013-07-09 | Acronis International Gmbh | System and method for efficient backup using hashes |
JP4712017B2 (ja) * | 2006-11-13 | 2011-06-29 | 韓國電子通信研究院 | ストリーム暗号を利用したメッセージ認証コード生成方法とストリーム暗号を利用した認証暗号化方法及びストリーム暗号を利用した認証復号化方法 |
US20080244553A1 (en) * | 2007-03-28 | 2008-10-02 | Daryl Carvis Cromer | System and Method for Securely Updating Firmware Devices by Using a Hypervisor |
US8560823B1 (en) * | 2007-04-24 | 2013-10-15 | Marvell International Ltd. | Trusted modular firmware update using digital certificate |
US8429643B2 (en) * | 2007-09-05 | 2013-04-23 | Microsoft Corporation | Secure upgrade of firmware update in constrained memory |
US20090113166A1 (en) * | 2007-10-31 | 2009-04-30 | Agere Systems Inc. | Hashing method for nand flash memory |
US8296584B2 (en) * | 2007-12-28 | 2012-10-23 | Alcatel Lucent | Storage and retrieval of encrypted data blocks with in-line message authentication codes |
US9781148B2 (en) * | 2008-10-21 | 2017-10-03 | Lookout, Inc. | Methods and systems for sharing risk responses between collections of mobile communications devices |
US9720782B2 (en) * | 2008-12-08 | 2017-08-01 | Microsoft Technology Licensing, Llc | Authenticating a backup image with bifurcated storage |
US8402268B2 (en) * | 2009-06-11 | 2013-03-19 | Panasonic Avionics Corporation | System and method for providing security aboard a moving platform |
US8341393B2 (en) * | 2009-12-17 | 2012-12-25 | Lenovo (Singapore) Pte. Ltd. | Security to extend trust |
DE102010033229A1 (de) | 2010-08-03 | 2012-02-09 | Siemens Aktiengesellschaft | Verfahren und System zur manipulationssicheren Übertragung von Steuerdaten |
WO2012109640A2 (en) * | 2011-02-11 | 2012-08-16 | Siemens Healthcare Diagnostics Inc. | System and method for secure software update |
US8856771B2 (en) * | 2011-08-19 | 2014-10-07 | International Business Machines Corporation | Protection for unauthorized firmware and software upgrades to consumer electronic devices |
US8683206B2 (en) * | 2011-09-19 | 2014-03-25 | GM Global Technology Operations LLC | System and method of authenticating multiple files using a detached digital signature |
US8930710B2 (en) * | 2011-10-28 | 2015-01-06 | GM Global Technology Operations LLC | Using a manifest to record presence of valid software and calibration |
US20130111212A1 (en) | 2011-10-28 | 2013-05-02 | GM Global Technology Operations LLC | Methods to provide digital signature to secure flash programming function |
US8966248B2 (en) * | 2012-04-06 | 2015-02-24 | GM Global Technology Operations LLC | Secure software file transfer systems and methods for vehicle control modules |
DE102012009482B4 (de) * | 2012-05-12 | 2020-06-25 | Volkswagen Aktiengesellschaft | Funktional erweiterbares Fahrzeugsteuergerät und Verfahren zum Ergänzen der Funktionalität eines Fahrzeugsteuergeräts |
US9652487B1 (en) * | 2012-08-08 | 2017-05-16 | Amazon Technologies, Inc. | Programmable checksum calculations on data storage devices |
US20140058532A1 (en) * | 2012-08-23 | 2014-02-27 | GM Global Technology Operations LLC | Method for partial flashing of ecus |
US8881308B2 (en) | 2012-09-12 | 2014-11-04 | GM Global Technology Operations LLC | Method to enable development mode of a secure electronic control unit |
US8978160B2 (en) * | 2012-09-12 | 2015-03-10 | GM Global Technology Operations LLC | Method for selective software rollback |
DE102013202322A1 (de) | 2013-02-13 | 2014-08-14 | Robert Bosch Gmbh | Verfahren zur verschlüsselten Datenübertragung zwischen zwei Komponenten eines Steuergeräts |
WO2014177904A1 (en) * | 2013-04-29 | 2014-11-06 | Freescale Semiconductor, Inc. | Memory controller |
US9270468B2 (en) * | 2013-05-29 | 2016-02-23 | GM Global Technology Operations LLC | Methods to improve secure flash programming |
EP2840492A1 (en) * | 2013-08-23 | 2015-02-25 | British Telecommunications public limited company | Method and apparatus for modifying a computer program in a trusted manner |
KR20150074414A (ko) * | 2013-12-24 | 2015-07-02 | 현대자동차주식회사 | 펌웨어 업그레이드 방법 및 그 시스템 |
US9436455B2 (en) * | 2014-01-06 | 2016-09-06 | Apple Inc. | Logging operating system updates of a secure element of an electronic device |
US10200201B2 (en) * | 2014-04-07 | 2019-02-05 | Samsung Electronics Co., Ltd | Method for application installation, electronic device, and certificate system |
US9436456B2 (en) * | 2014-04-17 | 2016-09-06 | Myine Electronics, Inc. | System and method for management of software updates at a vehicle computing system |
US9811657B2 (en) * | 2014-06-06 | 2017-11-07 | The Boeing Company | Security information for software parts |
US9582262B2 (en) * | 2014-06-16 | 2017-02-28 | Wipro Limited | Systems and methods for installing upgraded software on electronic devices |
DE102014116172A1 (de) * | 2014-11-06 | 2016-05-12 | Dr. Ing. H.C. F. Porsche Aktiengesellschaft | Datenübertragungseinheit für ein Fahrzeug |
DE102015209116A1 (de) * | 2015-05-19 | 2016-11-24 | Robert Bosch Gmbh | Verfahren und Aktualisierungsgateway zum Aktualisieren eines eingebetteten Steuergerätes |
DE102015209709A1 (de) * | 2015-05-27 | 2016-12-01 | Continental Teves Ag & Co. Ohg | Verfahren zur Sicherstellung der Informationssicherheit von über einen Datenbus übertragenen Daten sowie Datenbussystem |
DE102015211451A1 (de) * | 2015-06-22 | 2017-01-05 | Volkswagen Aktiengesellschaft | Verfahren zu einem Manipulationsschutz von über ein Bussystem zwischen Systemkomponenten zu übertragenden Nutzdatenpaketen |
JP6197000B2 (ja) * | 2015-07-03 | 2017-09-13 | Kddi株式会社 | システム、車両及びソフトウェア配布処理方法 |
KR102400477B1 (ko) * | 2015-10-21 | 2022-05-23 | 삼성전자주식회사 | 어플리케이션을 관리하는 방법 및 그 장치 |
US9817654B2 (en) * | 2016-02-23 | 2017-11-14 | The Boeing Company | System and method for communication of software |
US9900310B2 (en) * | 2016-02-24 | 2018-02-20 | Intel Corporation | Local verification of code authentication |
DE102016106871A1 (de) * | 2016-04-13 | 2017-10-19 | Infineon Technologies Ag | Steuervorrichtung und Verfahren zum Sichern von Daten |
-
2016
- 2016-10-26 DE DE102016221108.0A patent/DE102016221108A1/de active Pending
-
2017
- 2017-10-25 CN CN201711007309.3A patent/CN107992753B/zh active Active
- 2017-10-26 US US15/794,124 patent/US10423401B2/en active Active
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103597491A (zh) * | 2011-03-29 | 2014-02-19 | 沃尔沃拉斯特瓦格纳公司 | 安全的修理数据包 |
CN103959302A (zh) * | 2011-06-01 | 2014-07-30 | 安全第一公司 | 用于安全分布式存储的系统与方法 |
CN105791387A (zh) * | 2015-01-13 | 2016-07-20 | 福特全球技术公司 | 车辆控制更新方法和系统 |
CN105938433A (zh) * | 2015-03-03 | 2016-09-14 | 罗伯特·博世有限公司 | 用于对机动车的控制设备进行编程的方法 |
Also Published As
Publication number | Publication date |
---|---|
US20180113703A1 (en) | 2018-04-26 |
US10423401B2 (en) | 2019-09-24 |
CN107992753A (zh) | 2018-05-04 |
DE102016221108A1 (de) | 2018-04-26 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN107992753B (zh) | 用于更新车辆的控制设备的软件的方法 | |
CN107683583B (zh) | 车载信息通信系统以及认证方法 | |
CN106168899B (zh) | 用于更新嵌入式控制设备的方法和更新网关 | |
US9705678B1 (en) | Fast CAN message authentication for vehicular systems | |
CN103677891B (zh) | 用于选择性软件回退的方法 | |
CN101194461B (zh) | 用于证书翻转的方法及装置 | |
CN103679005B (zh) | 启用安全电子控制单元的开发模式的方法 | |
CN108200044B (zh) | 车载程序文件加密方法和系统 | |
CN111279310A (zh) | 一种车载设备升级方法及相关设备 | |
US8856538B2 (en) | Secured flash programming of secondary processor | |
CN109829294B (zh) | 一种固件验证方法、系统、服务器及电子设备 | |
CN109039654B (zh) | Tbox身份认证方法及终端设备 | |
US9602487B2 (en) | Method for the protected transmission of data | |
US20140075517A1 (en) | Authorization scheme to enable special privilege mode in a secure electronic control unit | |
CN111984962A (zh) | 固件安全验证方法及装置 | |
CN107092816B (zh) | 一种Android应用程序加固方法 | |
CN115396121B (zh) | 安全芯片ota数据包的安全认证方法及安全芯片装置 | |
EP3531322A1 (en) | Method and apparatus for verifying update of diagnostic connector of diagnostic device and diagnostic connector | |
CN113645590A (zh) | 基于加密算法的远程控制车辆的方法、装置、设备及介质 | |
CN115665138A (zh) | 一种汽车ota升级系统及方法 | |
KR101751098B1 (ko) | 이동 단말 장치 칩 프로그래밍을 위한 방법 | |
CN107911335B (zh) | 校验统一资源标识符uri的方法、装置和系统 | |
WO2019142307A1 (ja) | 半導体装置、更新データ提供方法、更新データ受取方法およびプログラム | |
JP2016152438A (ja) | ソフトウェア更新装置、携帯端末及びソフトウェア更新システム | |
CN108600180A (zh) | 一种基于区块链的影像验证方法及装置 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |