CN105938433A - 用于对机动车的控制设备进行编程的方法 - Google Patents

用于对机动车的控制设备进行编程的方法 Download PDF

Info

Publication number
CN105938433A
CN105938433A CN201610117652.2A CN201610117652A CN105938433A CN 105938433 A CN105938433 A CN 105938433A CN 201610117652 A CN201610117652 A CN 201610117652A CN 105938433 A CN105938433 A CN 105938433A
Authority
CN
China
Prior art keywords
program code
control equipment
memory area
deposited
conventional program
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
CN201610117652.2A
Other languages
English (en)
Other versions
CN105938433B (zh
Inventor
U.舒尔茨
E.施洛特曼
L.邓
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.)
Robert Bosch GmbH
Original Assignee
Robert Bosch GmbH
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 Robert Bosch GmbH filed Critical Robert Bosch GmbH
Publication of CN105938433A publication Critical patent/CN105938433A/zh
Application granted granted Critical
Publication of CN105938433B publication Critical patent/CN105938433B/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/61Installation
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/14Protection against unauthorised use of memory or access to memory
    • G06F12/1408Protection against unauthorised use of memory or access to memory by using cryptography
    • 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
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/30Authentication, i.e. establishing the identity or authorisation of security principals
    • G06F21/44Program or device authentication
    • 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/08Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
    • H04L9/0891Revocation or update of secret information, e.g. encryption key update or rekeying
    • 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/3234Cryptographic 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 additional secure or trusted devices, e.g. TPM, smartcard, USB or software token
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/32Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials
    • H04L9/3247Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials involving digital signatures
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2212/00Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
    • G06F2212/40Specific encoding of data in memory or cache
    • G06F2212/402Encrypted data
    • 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)
  • General Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Hardware Design (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Stored Programmes (AREA)
  • Human Computer Interaction (AREA)

Abstract

本发明涉及用于对机动车的控制设备进行编程的方法。本发明涉及一种用于对机动车(100)的控制设备(110)进行编程的方法,其中在控制设备(110)中所实施的以往的程序代码被寄存在存储区域(122)中,新的程序代码被写入控制设备(110)并且所述新的程序代码的检查被执行,其中,如果新的程序代码在检查的进程中成功地被验证,那么所述新的程序代码由控制设备(110)实施,并且其中,如果新的程序代码在检查的进程中没有成功地被验证,那么被寄存在存储区域(122)中的以往的程序代码从存储区域(122)被写入控制设备(110),而且其中所述以往的程序代码由控制设备(110)实施。

Description

用于对机动车的控制设备进行编程的方法
技术领域
本发明涉及一种用于对控制设备进行编程的方法。
背景技术
对机动车的控制设备的编程可以大多在机动车的生产或制造过程期间(例如在带端(Bandende)上)或者也在维护或者修理工作的进程中在车间里被执行。在这样的编程的进程中,例如可以执行固件更新(Firmware-Update),其中例如新的、修订过的程序代码被写入控制设备。为了该目的,计算单元可以与控制设备相连,并且新的程序代码可以被传送给控制设备。在此,以往的(bisherig)在控制设备中被寄存并且被实施的程序代码通过新的程序代码被清除或被重写。
在所谓的固件空中下载编程(Firmware-Over-the-Air-Programmierung,FOTA)或者空中下载编程(Over-the-Air-Programmierung,OTA)的进程中,控制设备的编程也可以在现场自身被执行。为了该目的,可以通过诸如WLAN或者移动无线电网络那样的无线电连接将新的程序代码例如从车辆制造商的服务器无线地传输给车辆。
为了防止芯片调谐(Chiptuning)和防止例如来自未被授权的站点的有害的软件,十分重要的是使被引入到控制设备中的新的程序代码经受签名校验(Signatur-Pruefung)并且验证新的程序代码。如果该签名校验失败并且新的程序代码不能成功地被验证,那么所述新的程序代码被标记为无效的并且被阻止实施。在此,危险在于,控制设备停留在引导装载程序(Bootloader)中并且不再能实现正常运行。在这种情况下,为了再次将控制设备置于正常运行,必须再次将有效的程序代码传输到控制设备中。
在生产或制造过程期间或者在车间里,在这样的情况下再次将有效的程序代码传输到控制设备中大多没有问题,因为这里确保了访问经验证的、有效的程序代码并且这些经验证的、有效的程序代码例如被寄存在中央数据库中和/或在存储介质中。
在给控制设备在现场进行编程(FOTA、OTA)的情况下,这样地访问经验证的、有效的程序代码不再被确保。如果例如在车辆与车辆制造商的服务器之间的无线电连接中止,比方说如果车辆位于封闭的地下停车场中、在隧道中或者在静区(Funkloch)中,那么必要时不再毫无顾忌地可能将有效的程序代码传输到控制设备中并且使控制设备再次能运转。
因此,在通过无线电连接对控制设备在现场进行编程的情况下,危险在于:相对应的控制设备不再能确保正常运行,并且也不再能将有效的程序代码传输到控制设备中,而无需车辆被运输到车间中。
因而值得期望的是,提供一种用于对机动车的控制设备进行编程的被改进的可能性,借助于其使得尤其是在现场中对控制设备进行可靠编程成为可能。
发明内容
按照本发明,建议了一种具有专利权利要求1的特征的用于对机动车的控制设备进行编程的方法。有利的构建方案是从属权利要求以及随后的描述的主题。
在本方法的进程中,尤其是应该执行控制设备的固件更新,在控制设备中所实施的以往的程序代码应该在本方法的进程中尤其是通过新的程序代码替换。
在控制设备中所实施的以往的程序代码被寄存在存储区域中,尤其是在控制设备内部或者在其他方面位于车辆中的分开的存储器中。在此,以往的程序代码尤其是以被加密的方式被寄存。在此,以往的程序代码在数据传输到分开的存储器之前被加密。此后,新的程序代码被写入控制设备。在此,在控制设备中的以往的程序代码尤其是通过新的程序代码被重写或者被清除。
新的程序代码的检查被执行。尤其是执行新的程序代码的签名校验或认证校验。尤其是检查:新的程序代码是否已经由被确认为合法的站点(诸如机动车或者控制设备的制造商)制成。尤其是保证:新的程序代码不是有害的软件。
如果新的程序代码在检查的进程中成功地被验证或被认证,那么新的程序代码由控制设备实施。在这种情况下,新的程序代码不是有害的软件并且可以无危险地被实施。在这种情况下,可以将被寄存在存储区域中的以往的程序代码清除或者可以利用新的数据将存储区域重写。
如果新的程序代码在检查的进程中没有成功地被验证或被认证,那么来自存储区域的被寄存在存储区域中的以往的程序代码被传输回并且被解密。被解密的以往的程序被写入控制设备并且替换未经验证地被识别的存储内容。接着,以往的程序代码由控制设备实施。因为在这种情况下新的程序代码对于控制设备可能是有害的软件和潜在的危险,所以所述新的程序代码被阻止实施。尤其是,所述新的程序代码在控制设备中通过以往的程序代码被重写或者被清除。
本发明的优点
通过本发明提供了一种可能性,以便在对控制设备进行编程的进程中随时可以在控制设备中实施经验证的、有效的程序代码。本发明尤其是提供了一种可能性,以便将返回程序(Rueckfallprogramm)或返回程序代码寄存在车辆中。即使新的程序代码没有成功地被验证并且可能是有害的软件和潜在的危险,也阻止控制设备受限地或者完全不再运转。
在没有成功地被验证的新的程序代码的情况下,可以毫无问题地实施那个曾在引入新的程序代码之前是能运行的程序代码。为此,附加的数理逻辑(Logistik)不是必需的。尤其是在不从车辆之外传送数据的情况下,可以再次使以往的程序代码在控制设备中可支配。
以往的程序代码尤其是被寄存在非易失性存储器中。以往的程序代码尤其是被寄存在机动车的控制设备或者另一控制设备的非易失性存储器中。当然,也可以将以往的程序代码分别寄存在多个存储区域中。可以将已经在机动车中存在的存储区域或者也可以将附加地被实施的存储区域用作存储区域。所述存储区域尤其是可以被用于对机动车的所有控制设备进行编程。
有利地,新的程序代码通过无线连接、尤其是通过无线电连接(例如通过WLAN或者通过移动无线电网络)被传送给机动车。优选地,新的程序代码在空中下载编程(OTA)或者固件空中下载编程(FOTA)的进程中被写入控制设备。因此,优选地在现场执行控制设备的编程。在此,新的程序代码可以通过无线连接直接被传送给控制设备或者也被传送给机动车的另一控制设备,并且可以被所述另一控制设备写入控制设备。新的程序代码尤其是由车辆制造商或者控制设备制造商的服务器通过无线连接被传送给机动车。
如开头所提及的那样,例如如果车辆位于封闭的地下停车场中、在隧道中或者在静区中,那么无线的无线电连接可能被中断。通过本发明确保了:即使无线的无线电连接被中断,也随时可以在控制设备中实施经验证的、有效的程序代码。在没有成功地被验证的新的程序代码的情况下重建以往的程序代码与无线连接无关并且也可以在没有该无线连接的情况下在现场被执行。为了此目的,车辆不必额外地被运输到车间中。
优选地,新的程序代码被编程单元写入控制设备。该编程单元优选地被构造为机动车的另一控制设备。如上面所解释的那样,新的程序代码优选地通过无线连接被传送给机动车的另一控制设备(优选地在OTD或FOTA的进程中),并且由所述另一控制设备写入控制设备。尤其是可以将所述另一控制设备构造为:通过无线连接与机动车制造商或者控制设备制造商的服务器进行通信。
可替换地,可以优选地将编程单元构造为外部计算单元。该外部计算单元尤其是通过有线连接与控制设备相连。尤其是在机动车的生产或制造过程的进程中或者尤其是也在车间里例如在维护或者修理工作的进程中,新的程序代码可以由外部计算单元写入控制设备。为了此目的,尤其是可以由外部计算单元来实施合适的程序。
优选地,以往的程序代码被寄存在编程单元的存储区域中。如进一步在上面所解释的那样,因此以往的程序代码尤其是被寄存在另一控制设备的存储区域中。这尤其是适合于通过无线连接或在OTA或FOTA编程的进程中传送新的程序代码。然而,以往的程序代码尤其是也可以被寄存在外部计算单元中。
有利地,在控制设备中所实施的以往的程序代码被加密,并且该被加密的以往的程序代码被寄存在存储区域中。如果新的程序代码没有成功地被验证,那么被加密的、被寄存在存储区域中的以往的程序代码从存储区域被传输到控制设备中、被解密、被写入并且再次被实施。尤其是如果控制设备单独的(steuergeraeteindividuelle)密钥被用于加密和解密,那么以往的程序代码只可以由控制设备自身再次被解密。因此,以往的程序代码可靠地被寄存在存储区域中,使得攻击者既不能读出也不能改变所述以往的程序代码。尤其是如果新的程序代码是有害的软件,那么可以阻止该有害的软件读出或者改变所寄存的程序代码。芯片调谐因此被禁止并且“专有技术保护(Know-How-Schutz)”被确保。
以往的程序代码尤其是包括对于机动车的操控和运行来说必需的数据、例如特定的操控指令、技术数据、控制或者特性值。这些指令或值曾由制造商常常在多年的具有高研究花费的研发过程中通过长期连续的并且昂贵的测试系列确定并且优化。因此,在制造商方面,为了保障“专有技术保护”,这些数据不能被第三方、即攻击者读出。
优选地,用于加密和/或用于解密控制设备的以往的程序代码的密钥被制成。可替换地,也可以优选地将已经在控制设备中存在的密钥用于加密和/或用于解密以往的程序代码。用于加密和/或用于解密以往的程序代码的密钥尤其是被寄存在控制设备的存储区域中、尤其是在控制设备的非易失性存储区域中、进一步尤其是在安全的存储区域中。有利地,控制设备的其中寄存密钥的存储区域不同于其中寄存以往的程序代码的存储区域。
密钥因此从不离开控制设备并且不能到达攻击者。因此,尤其是保证了以往的程序代码只可以由控制设备自身再次解密,并且所述以往的程序代码只可以在控制设备中被实施。因此,以往的程序代码即使在机动车的车载电网中在不同的控制设备之间传输时也可以被保密。
优选地,密钥被寄存在控制设备的硬件安全模块(Hardware Security Module,HSM)中。除了传统的处理器单元(处理器系统部分,PS)以外,大多在控制设备中设置这样的硬件安全模块。与传统的处理器单元相似,该HSM尤其是包括一个或者多个处理器核以及本地存储器(ROM、RAM,闪存(Flash)、EEPROM)。该HSM尤其是拥有特有的物理资源((多个)处理器核、本地存储器、等等),所述特有的物理资源与处理器单元的物理资源无关。HSM的资源尤其是可以相对于处理器单元的在硬件层面上的资源而被屏蔽。该HSM是被隔离的、可靠的环境,所述被隔离的、可靠的环境此外还被处理器单元保护以防操纵和攻击。
优选地,真实可靠性特征(Authentizitaetsmerkmal)被添加给在控制设备中所实施的以往的程序代码中。配备有真实可靠性特征的以往的程序代码被寄存在存储区域中。例如可以将签名或用密码写的(kryptographisch)签名和/或校验和添加为真实可靠性特征。以往的程序代码尤其是可以利用密钥被签名,所述以往的程序代码也利用所述密钥被加密。真实可靠性特征可以在加密以往的程序代码之前或者也可以在加密以往的程序代码之后被添加。通过添加这样的真实可靠性特征,以往的程序代码可以被保护以防由攻击者操纵。
如果被寄存在存储区域中的以往的程序代码再次被写入控制设备,则有利地,以往的程序代码的真实可靠性依据真实可靠性特征被检查。因此保证了:以往的程序代码不曾由攻击者操纵。
如果该真实可靠性校验失败并且以往的程序代码的真实可靠性没有被确定,那么危险在于:所述以往的程序代码曾由攻击者蓄意地操纵。在这种情况下,以往的程序代码尤其是没有被实施。控制设备例如停留在引导装载程序中。
优选地,在控制设备中所实施的以往的程序代码被寄存在存储区域中,其方式是控制设备的存储器转录(Speicherabbild)被制成并且被寄存在存储区域中。优选地,该存储器转录首先借助于密钥被加密并且以被加密的方式被寄存在存储区域中。在这样的存储器转录的情况下,尤其是存储器转录文件被制成,所述存储器转录文件不仅复述(wiedergeben)了控制设备的(文件系统)结构而且复述了控制设备的所有文件或内容。
优选地,错误识别方法、尤其是纠错方法被执行,用于将以往的程序代码传输到存储区域中。为了此目的,尤其是循环冗余校验(cyclic redundancy check,CRC)被执行。在此,例如以校验和为形式的冗余信息被添加到要传输的数据。如果以往的程序代码已经被传输到存储区域中,那么该校验和与所计算的校验和相比较。如果这两个校验和是相同的,那么传输到存储区域中已成功,否则该传输重新被执行。在循环冗余校验的进程中尤其是使用了基于多项式除法(Polynomdivision)的CRC校验和。
按照本发明的计算单元(例如机动车的控制设备)尤其是以程序技术方式被设立为执行按照本发明的方法。
尤其是如果进行实施的控制设备还被用于其它的任务并且因而本来就存在,那么以软件形式实施本方法也是有利的,因为这造成了特别小的成本。用于提供计算机程序的适合的数据载体尤其是软盘、硬盘、闪存存储器、EEPROM、CD-ROM、DVD以及其它更多。通过计算机网络(因特网、内联网等等)下载程序也是可能的。
本发明的其它的优点和构建方案从说明书和附图中得到。
附图说明
本发明依据实施例在附图中示意性地被示出并且随后参考附图被描述。
图1示意性地示出了具有控制设备的机动车,所述控制设备被设立为执行按照本发明的方法的优选的实施形式。
图2作为框图示意性地示出了按照本发明的方法的优选的实施形式。
具体实施方式
在图1中示意性地示出了具有第一控制设备110和具有第二控制设备120的机动车100。当然,机动车100还可以包括其它的控制设备,所述其它的控制设备为了简便起见这里未被示出。
第一控制设备110具有带有处理器核和本地存储器的处理器单元111。此外,所述第一控制设备110还具有同样带有与处理器单元111无关的处理器核和本地存储器的硬件安全模块(HSM)112。
第二控制设备120同样具有带有处理器核和本地存储器的处理器单元121并且此外还具有以非易失性存储器为形式的存储区域122。所述非易失性存储器122可以被构造为处理器单元121的部分或者与该处理器单元121无关地被构造。
所述第二控制设备120可以通过无线连接130(例如通过移动无线电网络)与机动车制造商的服务器140相连。
在处理器单元111中,过时的固件被实施,所述过时的固件接下来被称作以往的程序代码。所述过时的固件应该在固件更新的进程中通过接下来被称作新的程序代码的新版本固件替换。
为了此目的,机动车100被设立为执行按照本发明的方法的优选的实施形式,所述优选的实施形式在图2中作为框图被示出并且接下来参考图2被解释。
第一控制设备110的固件更新借助于固件空中下载编程被执行。第二控制设备120是编程单元,所述编程单元从服务器140接收新的程序代码并且将新的程序代码写入第一控制设备110。
为了此目的,在步骤201中,第二控制设备120通过移动无线电网络130与服务器140相连。在所制造的无线连接130之后,新的程序代码由服务器140通过移动无线电网络130被传送给第二控制设备120并且被寄存在该第二控制设备120的处理器单元121中。
在步骤202中,第二控制设备120要求第一控制设备110将所述以往的程序代码传送给第二控制设备120。为了此目的,在步骤203中,用于对以往的程序代码加密和解密并且用于给以往的程序代码签名的密钥由第一控制设备110制成并且被寄存在HSM 112中。
在步骤204中,第一控制设备110的存储器转录、尤其是处理器单元111的存储器转录被制成。相对应的存储器转录文件利用在步骤203中所制成的密钥被加密。
此外,所述被加密的存储器转录文件在步骤204中还借助于在步骤203中所制成的密钥被签名。因此,用密码写的签名作为认证特征(Authentifizierungsmerkmal)被添加给被加密的存储器转录文件。
要指明的是,在步骤204中的加密和签名的顺序是任意的,即尤其是也可以首先被签名并且紧接着才被加密。
此外,以第一校验和为形式的校验和信息还被添加给存储器转录文件。因此,使得校验和校验(例如循环冗余校验,CRC)成为可能。
被加密的并且被签名的存储器转录文件在步骤205中由第一控制设备110被传送给第二控制设备120。此外,在步骤206中,第二校验和由第二控制设备120确定。
在步骤207中,第二控制设备120将接收确认连同第二校验和一起传送给第一控制设备110。所述第二校验和在校验和校验的进程中与第一校验和相比较。
如果这两个校验和相同,那么将以往的程序代码传送给第二控制设备120已经成功。如果这两个校验和不相同,那么以往的程序代码的传送不曾成功并且重新在步骤202中开始。
在成功地传送以往的程序代码之后,所述以往的程序代码被寄存在编程单元120的非易失性存储器122中。为了此目的,被加密的存储器转录文件在步骤208中被寄存在第二控制设备120的非易失性存储器122中。
在步骤209中,新的程序代码由第二控制设备120写入第一控制设备110,尤其是写入处理器单元111。在此,以往的程序代码在处理器单元111中被重写。紧接着,在步骤210中,新的程序代码的检查、尤其是新的程序代码的签名校验在控制设备110中被执行。
如果新的程序代码在签名校验的进程中成功地被验证或认证,那么新的程序代码在步骤211中由第一控制设备110实施。第二控制设备120的非易失性存储器122可以被清除或者利用其它的数据被重写。
如果然而新的程序代码没有成功被验证或被认证,那么该程序代码对于第一控制设备110来说可能是有害的软件和潜在的危险。在这种情况下,在步骤212中,来自非易失性存储器122的被加密的存储器转录文件再次被传送到第一控制设备110的处理器单元111中。在此,新的程序代码完全从处理器单元111中被清除。
在步骤213中,校验和校验重新被执行并且检查:被加密的存储器转录文件是否已经正确地由第二控制设备120被传送给第一控制设备110。如果该传送不曾成功,那么该传送重新被执行。
如果该传送已经成功,那么被加密的存储器转录文件在步骤214中借助于被寄存在HSM 112中的密钥由第一控制设备110解密并且写入。
在步骤215中,依据在步骤204中被添加的认证特征,被解密的以往的程序代码的真实可靠性被检查。如果该检查成功,那么被解密的以往的程序代码在步骤216中由第一控制设备110激活和实施。第二控制设备120的闪存存储器122可以被清除或者利用其它的数据被重写。
如果真实可靠性校验失败,那么被加密的以往的存储器转录已经例如由攻击者蓄意地操纵。在这种情况下,修复是不可能的,并且在步骤217中,控制设备110停留在引导装载程序中并且可以由车间测试者重新利用有效的程序编程而且被置于正常运行中。
要指明的是,在步骤214和215中的解密和认证适宜地以与在步骤204中相反的加密和签名顺序进行。在本例中,在步骤204中已经首先被加密并且紧接着被签名,因此在步骤214和215中首先被认证并且紧接着被解密。如果认证失败,那么存储器转录决不被接受(uebernehmen)。

Claims (16)

1.用于对机动车(100)的控制设备(110)进行编程的方法,其中
- 在控制设备(110)中所实施的以往的程序代码被寄存(208)在存储区域(122)中,
- 新的程序代码被写入(209)控制设备(110),并且所述新的程序代码的检查被执行(210),
- 其中,如果新的程序代码在检查的进程中成功地被验证,那么新的程序代码由控制设备(110)实施(211),并且
- 其中,如果新的程序代码在检查的进程中没有成功地被验证,那么被寄存在存储区域(122)中的以往的程序代码从存储区域(122)被写入(212)控制设备(110),并且其中以往的程序代码由控制设备(110)实施(215)。
2.根据权利要求1所述的方法,新的程序代码通过无线连接(103)被传送(201)给机动车。
3.根据权利要求1或2所述的方法,其中所述新的程序代码在空中下载编程或者固件空中下载编程的进程中被写入(201)控制设备(110)。
4.根据上述权利要求之一所述的方法,其中所述新的程序代码由编程单元被写入(209)控制设备,其中所述编程单元被构造为外部计算单元或者被构造为机动车(100)的另一控制设备(120)。
5.根据权利要求2和4所述的方法,其中所述新的程序代码通过无线连接(130)被传送(201)给机动车(100)的另一控制设备(120)。
6.根据权利要求4或5所述的方法,其中以往的程序代码被寄存(208)在编程单元(120)的存储区域(122)中。
7.根据上述权利要求之一所述的方法,其中在控制设备(110)中所实施的以往的程序代码被加密(204),并且所述被加密的以往的程序代码被寄存(208)在存储区域(122)中。
8.根据权利要求7所述的方法,其中用于对以往的程序代码加密和/或用于对以往的程序代码解密的密钥被寄存(203)在控制设备(110)的存储区域(112)中。
9.根据权利要求8所述的方法,其中所述用于对以往的程序代码加密和/或用于对以往的程序代码解密的密钥被寄存(203)在控制设备(110)的硬件安全模块(112)中。
10.根据上述权利要求之一所述的方法,其中真实可靠性特征被添加(204)给在控制设备(110)中所实施的以往的程序代码,并且配备有所述真实可靠性特征的以往的程序代码被寄存(208)在存储区域(122)中。
11.根据权利要求10所述的方法,其中,如果所述配备有真实可靠性特征的、被寄存在存储区域(122)中的以往的程序代码从存储区域(122)被写入(212)控制设备(110),那么以往的程序代码的真实可靠性依据所述真实可靠性特征被检查(215)。
12.根据上述权利要求之一所述的方法,其中所述在控制设备(110)中所实施的以往的程序代码被寄存在存储区域(122)中,其方式是控制设备的存储器转录被制成(204)并且被寄存(208)在存储区域中。
13.根据上述权利要求之一所述的方法,其中错误识别方法、尤其是纠错方法被执行(207),用于将以往的程序代码传输给所述存储区域(122)。
14.计算单元(110、120),所述计算单元(110、120)被设立为执行根据上述权利要求之一所述的方法。
15.计算机程序,所述计算机程序促使计算单元(110、120)在所述计算机程序在计算单元(110、120)上被实施时执行根据权利要求1至13之一所述的方法。
16.机器可读的存储介质,其具有被存储在其上的根据权利要求15所述的计算机程序。
CN201610117652.2A 2015-03-03 2016-03-02 用于对机动车的控制设备进行编程的方法 Active CN105938433B (zh)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
DE102015203776.2 2015-03-03
DE102015203776.2A DE102015203776A1 (de) 2015-03-03 2015-03-03 Verfahren zur Programmierung eines Steuergeräts eines Kraftfahrzeugs

Publications (2)

Publication Number Publication Date
CN105938433A true CN105938433A (zh) 2016-09-14
CN105938433B CN105938433B (zh) 2021-07-23

Family

ID=56738459

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201610117652.2A Active CN105938433B (zh) 2015-03-03 2016-03-02 用于对机动车的控制设备进行编程的方法

Country Status (3)

Country Link
US (1) US10013365B2 (zh)
CN (1) CN105938433B (zh)
DE (1) DE102015203776A1 (zh)

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN107992753A (zh) * 2016-10-26 2018-05-04 大众汽车有限公司 用于更新车辆的控制设备的软件的方法
CN110929262A (zh) * 2019-11-20 2020-03-27 上海钧正网络科技有限公司 一种在线升级方法和系统
CN111556827A (zh) * 2018-01-11 2020-08-18 罗伯特·博世有限公司 用于制造用于机动车的控制系统的方法、控制系统
CN112219186A (zh) * 2018-09-04 2021-01-12 奥迪股份公司 用于将程序代码包安装到设备中的方法以及设备和机动车
CN112313651A (zh) * 2018-06-20 2021-02-02 罗伯特·博世有限公司 密码模块和针对其的运行方法

Families Citing this family (15)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP3056706A1 (en) 2015-02-16 2016-08-17 Honeywell International Inc. An approach for aftertreatment system modeling and model identification
EP3125052B1 (en) 2015-07-31 2020-09-02 Garrett Transportation I Inc. Quadratic program solver for mpc using variable ordering
US10272779B2 (en) 2015-08-05 2019-04-30 Garrett Transportation I Inc. System and approach for dynamic vehicle speed optimization
US10124750B2 (en) 2016-04-26 2018-11-13 Honeywell International Inc. Vehicle security module system
US10036338B2 (en) 2016-04-26 2018-07-31 Honeywell International Inc. Condition-based powertrain control system
US10728249B2 (en) 2016-04-26 2020-07-28 Garrett Transporation I Inc. Approach for securing a vehicle access port
EP3548729B1 (en) 2016-11-29 2023-02-22 Garrett Transportation I Inc. An inferential flow sensor
DE102017107202A1 (de) * 2017-04-04 2018-10-04 Avl Software And Functions Gmbh Verfahren und Vorrichtung zum Schutz von Steuereinheiten vor schädlicher Software
DE102017209468A1 (de) 2017-06-06 2018-12-06 Robert Bosch Gmbh Verfahren zum Zurücksetzen einer Software eines Fahrzeugsteuergeräts eines Fahrzeugs in einen ursprünglichen Zustand
DE102017112817A1 (de) 2017-06-12 2018-12-13 Dr. Ing. H.C. F. Porsche Aktiengesellschaft Inbetriebnahme-Steuergerät eines Verbunds aus Steuergeräten eines Kraftfahrzeugs und Verfahren zur Inbetriebnahme von Steuergeräten
DE102017118164A1 (de) 2017-08-09 2019-02-14 Infineon Technologies Ag Kryptographische schaltung und datenverarbeitung
US11057213B2 (en) 2017-10-13 2021-07-06 Garrett Transportation I, Inc. Authentication system for electronic control unit on a bus
JP2019095969A (ja) * 2017-11-21 2019-06-20 ルネサスエレクトロニクス株式会社 半導体装置、認証システム及び認証方法
DE102018127330A1 (de) * 2018-11-01 2020-05-07 Infineon Technologies Ag System-on-Chip und Verfahren zum Betreiben eines System-on-Chip
DE102022123487A1 (de) 2022-09-14 2024-03-14 Dr. Ing. H.C. F. Porsche Aktiengesellschaft System, Verfahren und Computerprogrammprodukt zum kontrollierten Updaten einer Software für eine Steuerungseinrichtung

Citations (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6584559B1 (en) * 2000-01-28 2003-06-24 Avaya Technology Corp. Firmware download scheme for high-availability systems
US6978152B1 (en) * 1999-08-11 2005-12-20 Hitachi, Ltd. Digital broadcasting system for providing program and data to a vehicle
CN1924821A (zh) * 2005-08-31 2007-03-07 明基电通股份有限公司 固件更新系统与方法
CN101043680A (zh) * 2007-03-13 2007-09-26 中兴通讯股份有限公司 防止非法升级移动终端的应用程序的方法
CN101163044A (zh) * 2007-11-12 2008-04-16 北京深思洛克数据保护中心 信息安全设备的远程升级方法及系统
CN101419557A (zh) * 2008-07-29 2009-04-29 航天信息股份有限公司 一种程序下载控制方法
CN101526903A (zh) * 2008-03-07 2009-09-09 鸿富锦精密工业(深圳)有限公司 通讯装置及其固件更新方法
CN1902583B (zh) * 2003-12-31 2010-05-12 桑迪士克股份有限公司 快闪存储器系统起动操作
CN103166759A (zh) * 2011-12-15 2013-06-19 通用汽车环球科技运作有限责任公司 使用诊断链路连接器(dlc)和onstar系统的用于安全固件下载的方法和装置
CN103257872A (zh) * 2013-04-15 2013-08-21 中国信息安全测评中心 一种计算机的嵌入式控制系统及其更新方法

Family Cites Families (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20140282470A1 (en) * 2013-03-13 2014-09-18 Arynga Inc. Remote transfer of electronic images to a vehicle
US9576455B2 (en) * 2014-06-10 2017-02-21 Wg Security Products Cloud EAS synchronization and firmware update

Patent Citations (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6978152B1 (en) * 1999-08-11 2005-12-20 Hitachi, Ltd. Digital broadcasting system for providing program and data to a vehicle
US6584559B1 (en) * 2000-01-28 2003-06-24 Avaya Technology Corp. Firmware download scheme for high-availability systems
CN1902583B (zh) * 2003-12-31 2010-05-12 桑迪士克股份有限公司 快闪存储器系统起动操作
CN1924821A (zh) * 2005-08-31 2007-03-07 明基电通股份有限公司 固件更新系统与方法
CN101043680A (zh) * 2007-03-13 2007-09-26 中兴通讯股份有限公司 防止非法升级移动终端的应用程序的方法
CN101163044A (zh) * 2007-11-12 2008-04-16 北京深思洛克数据保护中心 信息安全设备的远程升级方法及系统
CN101526903A (zh) * 2008-03-07 2009-09-09 鸿富锦精密工业(深圳)有限公司 通讯装置及其固件更新方法
CN101419557A (zh) * 2008-07-29 2009-04-29 航天信息股份有限公司 一种程序下载控制方法
CN103166759A (zh) * 2011-12-15 2013-06-19 通用汽车环球科技运作有限责任公司 使用诊断链路连接器(dlc)和onstar系统的用于安全固件下载的方法和装置
CN103257872A (zh) * 2013-04-15 2013-08-21 中国信息安全测评中心 一种计算机的嵌入式控制系统及其更新方法

Cited By (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN107992753A (zh) * 2016-10-26 2018-05-04 大众汽车有限公司 用于更新车辆的控制设备的软件的方法
CN107992753B (zh) * 2016-10-26 2021-10-15 大众汽车有限公司 用于更新车辆的控制设备的软件的方法
CN111556827A (zh) * 2018-01-11 2020-08-18 罗伯特·博世有限公司 用于制造用于机动车的控制系统的方法、控制系统
CN111556827B (zh) * 2018-01-11 2024-04-30 罗伯特·博世有限公司 用于制造用于机动车的控制系统的方法、控制系统
CN112313651A (zh) * 2018-06-20 2021-02-02 罗伯特·博世有限公司 密码模块和针对其的运行方法
CN112219186A (zh) * 2018-09-04 2021-01-12 奥迪股份公司 用于将程序代码包安装到设备中的方法以及设备和机动车
CN112219186B (zh) * 2018-09-04 2021-11-19 奥迪股份公司 用于将程序代码包安装到设备中的方法以及设备和机动车
US11880273B2 (en) 2018-09-04 2024-01-23 Audi Ag Method for installing a program code packet onto a device, device, and motor vehicle
CN110929262A (zh) * 2019-11-20 2020-03-27 上海钧正网络科技有限公司 一种在线升级方法和系统

Also Published As

Publication number Publication date
US10013365B2 (en) 2018-07-03
US20160259584A1 (en) 2016-09-08
DE102015203776A1 (de) 2016-09-08
CN105938433B (zh) 2021-07-23

Similar Documents

Publication Publication Date Title
CN105938433A (zh) 用于对机动车的控制设备进行编程的方法
CN107113167B (zh) 管理装置、密钥生成装置、车辆、维护工具、管理系统、管理方法以及计算机程序
US10360018B2 (en) Update control apparatus, software update system, and update control method
US8978160B2 (en) Method for selective software rollback
CN108762783B (zh) 车辆系统的软件更新方法、装置及车辆系统
US10171478B2 (en) Efficient and secure method and apparatus for firmware update
KR101600460B1 (ko) 보안기능을 갖는 ecu 업그레이드시스템 및 그 방법
US8881308B2 (en) Method to enable development mode of a secure electronic control unit
US20160344705A1 (en) Method and update gateway for updating an embedded control unit
US20200057630A1 (en) Method and Apparatus for Wirelessly Updating Software for Vehicle
US9021246B2 (en) Method to replace bootloader public key
US8930710B2 (en) Using a manifest to record presence of valid software and calibration
US20140075517A1 (en) Authorization scheme to enable special privilege mode in a secure electronic control unit
US20140032916A1 (en) Secured flash programming of secondary processor
US20130111212A1 (en) Methods to provide digital signature to secure flash programming function
US20140058532A1 (en) Method for partial flashing of ecus
US8931091B2 (en) Method for operating a tachograph and tachograph
CN107992753B (zh) 用于更新车辆的控制设备的软件的方法
US11356256B2 (en) Secure vehicular part communication
CN111480141A (zh) 用于更新机动车控制设备的软件的方法和设备
WO2019116922A1 (ja) 車載更新装置、プログラム及びプログラム又はデータの更新方法
KR101806719B1 (ko) 보안 부팅에 따른 메모리 영역 자동 설정이 가능한 전자 제어유닛 및 이를 이용한 보안 부팅 방법
US20210374230A1 (en) Cryptography module and method for operating same
US11960608B2 (en) Fast secure booting method and system
US20190156018A1 (en) Semiconductor device, authentication system, and authentication method

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant