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

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

Info

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
Application number
CN201711007309.3A
Other languages
English (en)
Other versions
CN107992753A (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

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/50Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems
    • G06F21/57Certifying or maintaining trusted computer platforms, e.g. secure boots or power-downs, version controls, system software checks, secure updates or assessing vulnerabilities
    • G06F21/572Secure firmware programming, e.g. of basic input output system [BIOS]
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/60Software deployment
    • G06F8/65Updates
    • 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)
  • 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)的软件的方法。
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 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)

* 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 현대모비스 주식회사 차량의 바이너리 데이터 처리 장치 및 방법
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)

* Cited by examiner, † Cited by third party
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)

* 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
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

Patent Citations (4)

* Cited by examiner, † Cited by third party
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