CN107992753A - 用于更新车辆的控制设备的软件的方法 - Google Patents

用于更新车辆的控制设备的软件的方法 Download PDF

Info

Publication number
CN107992753A
CN107992753A CN201711007309.3A CN201711007309A CN107992753A CN 107992753 A CN107992753 A CN 107992753A CN 201711007309 A CN201711007309 A CN 201711007309A CN 107992753 A CN107992753 A CN 107992753A
Authority
CN
China
Prior art keywords
data block
cryptomaterial
control device
software
test data
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
CN201711007309.3A
Other languages
English (en)
Other versions
CN107992753B (zh
Inventor
A.查奇
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.)
Volkswagen AG
Original Assignee
Volkswagen AG
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 Volkswagen AG filed Critical Volkswagen AG
Publication of CN107992753A publication Critical patent/CN107992753A/zh
Application granted granted Critical
Publication of CN107992753B publication Critical patent/CN107992753B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/60Software deployment
    • G06F8/65Updates
    • 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
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B19/00Programme-control systems
    • G05B19/02Programme-control systems electric
    • G05B19/04Programme control other than numerical control, i.e. in sequence controllers or logic controllers
    • G05B19/042Programme control other than numerical control, i.e. in sequence controllers or logic controllers using digital processors
    • G05B19/0426Programming the control sequence
    • 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
    • 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/575Secure boot
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/60Protecting data
    • G06F21/64Protecting data integrity, e.g. using checksums, certificates or signatures
    • 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
    • G06F9/445Program loading or initiating
    • G06F9/44536Selecting among different versions
    • 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/06Cryptographic 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/0643Hash functions, e.g. MD5, SHA, HMAC or f9 MAC
    • 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
    • H04L9/3242Cryptographic 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
    • 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
    • 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

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)
  • General Health & Medical Sciences (AREA)
  • Bioethics (AREA)
  • Health & Medical Sciences (AREA)
  • Automation & Control Theory (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)内,所述测试数据块(32)针对每个数据块(30a-30f)分别包含密码材料;和
-通过存储在测试数据块(32)内的密码材料与相容测试数据的比较,验证软件的所有数据块(30a-30f)的存储在测试数据块(32)内的密码材料的相容性。
2.按照权利要求1所述的方法,其特征在于如下步骤:
-从测试数据块(32)删除各个待更换或被更换的数据块(30a-30f)的密码材料。
3.按照权利要求1所述的方法,其特征在于如下步骤:
-由外部的软件更新管理机构(14)向控制设备(18)提供待更换的数据块(30a-30f)和/或相容测试数据,其中,外部的软件更新管理机构(14)优选是车辆制造商或第三方的后端平台。
4.按照前述权利要求之一所述的方法,其特征在于,待更换的数据块(30a-30f)和相容测试数据同时地或者以时间间隔地向控制设备(18)提供。
5.按照前述权利要求之一所述的方法,其特征在于,测试数据块(32)存储在控制设备(18)的可靠的存储器内。
6.按照前述权利要求之一所述的方法,其特征在于,为针对每个被更换的数据块(30a-30f)产生密码材料所使用的密码函数是散列函数,和/或通过密码函数产生的针对每个数据块(30a-30f)的密码材料包含关于相应数据块(30a-30f)的内容的散列值。
7.按照权利要求6所述的方法,其特征在于,通过密码函数产生的针对每个数据块(30a-30f)的密码材料除了散列值还包括密钥。
8.按照权利要求1至5之一所述的方法,其特征在于,为针对每个被更换的数据块(30a-30f)产生密码材料所使用的密码函数是签名函数,和/或通过密码函数产生的针对每个数据块(30a-30f)的密码材料包含相应数据块(30a-30f)的数字签名。
9.按照前述权利要求之一所述的方法,其特征在于,通过密码函数产生的针对每个数据块(30a-30f)的密码材料包含相应数据块(30a-30f)的对称签名。
10.按照前述权利要求之一所述的方法,其特征在于,通过密码函数产生的针对每个数据块(30a-30f)的密码材料包含相应数据块(30a-30f)的消息认证码。
11.按照前述权利要求之一所述的方法,其特征在于,相容测试数据包含关于在软件更新后在测试数据块(32)内等待的、软件的所有数据块(30a-30f)的密码材料。
12.按照前述权利要求之一所述的方法,其特征在于,通过控制设备(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)的软件的方法。
CN201711007309.3A 2016-10-26 2017-10-25 用于更新车辆的控制设备的软件的方法 Active CN107992753B (zh)

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 true CN107992753A (zh) 2018-05-04
CN107992753B 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 (9)

* Cited by examiner, † Cited by third party
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 현대모비스 주식회사 차량의 바이너리 데이터 처리 장치 및 방법
US11366879B2 (en) * 2019-07-08 2022-06-21 Microsoft Technology Licensing, Llc Server-side audio rendering licensing
KR20210057619A (ko) * 2019-11-12 2021-05-21 현대자동차주식회사 차량의 무선 업데이트 장치 및 그 방법
BR112022018676A2 (pt) * 2020-03-18 2022-11-01 Nissan Motor Dispositivo para atualização de software, método para atualizar software, e programa de processo para atualização de software
DE102021003840A1 (de) * 2021-07-27 2023-02-02 Mercedes-Benz Group AG Verfahren zur Überprüfung digitaler Signaturen, Fahrzeug-Recheneinheit und Fahrzeug
US20230259351A1 (en) * 2022-02-15 2023-08-17 Honda Motor Co., Ltd. Program management device, program management method, and recording medium

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20090064125A1 (en) * 2007-09-05 2009-03-05 Microsoft Corporation Secure Upgrade of Firmware Update in Constrained Memory
CN103597491A (zh) * 2011-03-29 2014-02-19 沃尔沃拉斯特瓦格纳公司 安全的修理数据包
US20140058532A1 (en) * 2012-08-23 2014-02-27 GM Global Technology Operations LLC Method for partial flashing of ecus
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 (59)

* Cited by examiner, † Cited by third party
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
DE10008974B4 (de) * 2000-02-25 2005-12-29 Bayerische Motoren Werke Ag Signaturverfahren
DE10008973B4 (de) * 2000-02-25 2004-10-07 Bayerische Motoren Werke Ag Autorisierungsverfahren mit Zertifikat
US6880086B2 (en) * 2000-05-20 2005-04-12 Ciena Corporation Signatures for facilitating hot upgrades of modular software components
US7069452B1 (en) * 2000-07-12 2006-06-27 International Business Machines Corporation Methods, systems and computer program products for secure firmware updates
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
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
US20060248172A1 (en) * 2003-06-24 2006-11-02 Thomas Zurawka Method for updating software of an electronic control device by flash programming via a serial interface and corresponding automatic state machine
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
ATE365938T1 (de) * 2005-01-07 2007-07-15 Ericsson Telefon Ab L M Aktualisierung von speicherinhalt in einem datenverarbeitungssystem
US8484427B1 (en) * 2006-06-28 2013-07-09 Acronis International Gmbh System and method for efficient backup using hashes
US8090098B2 (en) * 2006-11-13 2012-01-03 Electronics And Telecommunications Research Institute Method of generating message authentication code using stream cipher and authentication/encryption and authentication/decryption methods using stream cipher
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
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
EP2441229B1 (en) * 2009-06-11 2020-05-06 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
JP6332970B2 (ja) * 2011-02-11 2018-05-30 シーメンス・ヘルスケア・ダイアグノスティックス・インコーポレーテッドSiemens Healthcare Diagnostics Inc. 安全なソフトウェアの更新のためのシステム及び方法
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
US20130111212A1 (en) 2011-10-28 2013-05-02 GM Global Technology Operations LLC Methods to provide digital signature to secure flash programming function
US8930710B2 (en) * 2011-10-28 2015-01-06 GM Global Technology Operations LLC Using a manifest to record presence of valid software and calibration
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
US8978160B2 (en) * 2012-09-12 2015-03-10 GM Global Technology Operations LLC Method for selective software rollback
US8881308B2 (en) 2012-09-12 2014-11-04 GM Global Technology Operations LLC Method to enable development mode of a secure electronic control unit
DE102013202322A1 (de) 2013-02-13 2014-08-14 Robert Bosch Gmbh Verfahren zur verschlüsselten Datenübertragung zwischen zwei Komponenten eines Steuergeräts
US10489612B2 (en) * 2013-04-29 2019-11-26 Nxp Usa, Inc. Memory controller to verify authenticity of data
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

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20090064125A1 (en) * 2007-09-05 2009-03-05 Microsoft Corporation Secure Upgrade of Firmware Update in Constrained Memory
CN103597491A (zh) * 2011-03-29 2014-02-19 沃尔沃拉斯特瓦格纳公司 安全的修理数据包
CN103959302A (zh) * 2011-06-01 2014-07-30 安全第一公司 用于安全分布式存储的系统与方法
US20140058532A1 (en) * 2012-08-23 2014-02-27 GM Global Technology Operations LLC Method for partial flashing of ecus
CN105791387A (zh) * 2015-01-13 2016-07-20 福特全球技术公司 车辆控制更新方法和系统
CN105938433A (zh) * 2015-03-03 2016-09-14 罗伯特·博世有限公司 用于对机动车的控制设备进行编程的方法

Also Published As

Publication number Publication date
DE102016221108A1 (de) 2018-04-26
CN107992753B (zh) 2021-10-15
US20180113703A1 (en) 2018-04-26
US10423401B2 (en) 2019-09-24

Similar Documents

Publication Publication Date Title
CN107992753A (zh) 用于更新车辆的控制设备的软件的方法
US8290660B2 (en) Data access to electronic control units
CN107113167B (zh) 管理装置、密钥生成装置、车辆、维护工具、管理系统、管理方法以及计算机程序
US8732812B2 (en) Method of operating an item of on-board equipment, associated equipment and aircraft comprising such equipment
US10705820B2 (en) Method and apparatus for secure multi-cycle vehicle software updates
CN103677891B (zh) 用于选择性软件回退的方法
CN102859935B (zh) 利用虚拟机远程维护电子网络中的多个客户端的系统和方法
US20160306624A1 (en) Vehicle control storage methods and systems
US20200019397A1 (en) System and method for controlling rollback of firmware
US20030163685A1 (en) Method and system to allow performance of permitted activity with respect to a device
CN106415564A (zh) 可信执行环境的动态配置
US20070028115A1 (en) Method for guaranteeing the integrity and authenticity of flashware for control devices
CN110892376B (zh) 用于处理软件更新的方法和设备
CN103220264A (zh) 提供数字签名以确保闪存编程功能的方法
WO2007030180A2 (en) Application revocation using an application revocation list in a portable electronic device
JP4175386B2 (ja) 情報処理システム、情報処理装置、および集積回路チップ
Petri et al. Evaluation of lightweight TPMs for automotive software updates over the air
CN111831308A (zh) 快充设备的固件更新方法、程序、快充设备及存储介质
CN113645590B (zh) 基于加密算法的远程控制车辆的方法、装置、设备及介质
CN103257869B (zh) 一种ecu程序智能下载方法
CN113810446A (zh) 一种车载网络的ecu的安全升级管理方法
EP1450235B1 (en) Memory device
CN118350065B (zh) 一种重要代码保护方法、系统、存储介质及电子设备
CN104426894A (zh) 一种终端应用的注册方法、业务平台设备及终端
US20240354394A1 (en) Signature verification device, signature verification method, storage medium storing signature verification program, and encryption processing device

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