DE102016221108A1 - Verfahren zum Aktualisieren einer Software eines Steuergeräts eines Fahrzeugs - Google Patents

Verfahren zum Aktualisieren einer Software eines Steuergeräts eines Fahrzeugs Download PDF

Info

Publication number
DE102016221108A1
DE102016221108A1 DE102016221108.0A DE102016221108A DE102016221108A1 DE 102016221108 A1 DE102016221108 A1 DE 102016221108A1 DE 102016221108 A DE102016221108 A DE 102016221108A DE 102016221108 A1 DE102016221108 A1 DE 102016221108A1
Authority
DE
Germany
Prior art keywords
data block
cryptographic
software
cryptographic material
vehicle
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.)
Pending
Application number
DE102016221108.0A
Other languages
English (en)
Inventor
Alexander TSCHACHE
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
Priority to DE102016221108.0A priority Critical patent/DE102016221108A1/de
Priority to CN201711007309.3A priority patent/CN107992753B/zh
Priority to US15/794,124 priority patent/US10423401B2/en
Publication of DE102016221108A1 publication Critical patent/DE102016221108A1/de
Pending legal-status Critical Current

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)
  • General Health & Medical Sciences (AREA)
  • Bioethics (AREA)
  • Health & Medical Sciences (AREA)
  • Automation & Control Theory (AREA)
  • Stored Programmes (AREA)

Abstract

Die Erfindung betrifft ein Verfahren zum Aktualisieren einer Software eines Steuergeräts (18) eines Fahrzeugs (12), mit den Schritten: Austauschen einzelner Datenblöcke (30a-30f) der Software auf einem Speicher (20) des Steuergeräts (18), und Erzeugen von kryptographischem Material für jeden ausgetauschten Datenblock (30a-30f) durch Verarbeiten jedes ausgetauschten Datenblocks (30a-30f) mit einer kryptographischen Funktion.Es ist vorgesehen, dass das Verfahren das Speichern des erzeugten kryptographischen Materials in einem Prüfdatenblock (32), welcher kryptographisches Material zu jedem Datenblock (30a-30f) beinhaltet, und das Verifizieren der Konsistenz des in dem Prüfdatenblock (32) gespeicherten kryptographischen Materials sämtlicher Datenblöcke (30a-30f) der Software durch Abgleichen des in dem Prüfdatenblock (32) gespeicherten kryptographischen Materials mit Konsistenzprüfdaten, umfasst.Der Erfindung liegt die Aufgabe zugrunde, die notwendigen kryptographischen Operationen bei einer teilweisen Aktualisierung der Software eines Steuergeräts eines Fahrzeugs zu reduzieren.

Description

  • Die Erfindung betrifft ein Verfahren zum Aktualisieren einer Software eines Steuergeräts eines Fahrzeugs, ein Steuergerät, ein Fahrzeug und ein Kommunikationssystem.
  • Die Software von Steuergeräten moderner Fahrzeuge kann aktualisiert werden, um beispielsweise die Funktionalität des Steuergeräts zu erweitern oder zu verbessern. Darüber hinaus kann die Kompatibilität von Steuergeräten zu aktueller Hardware und/oder anderer Software durch eine Softwareaktualisierung erweitert werden.
  • Die Aktualisierung der Software eines Steuergeräts kann dabei beispielsweise durch den Fahrzeughersteller oder den Fahrzeugnutzer erfolgen. Zukünftig werden die durch den Fahrzeugnutzer initiierten Softwareaktualisierungen erheblich zunehmen, da Fahrzeugnutzer Funktionen des Fahrzeugs oder dessen Steuergeräte nachträglich erwerben können, wobei die Nutzung der neu erworbenen Funktionen teilweise ein entsprechendes Softwareupdate erfordern wird.
  • Bei der Aktualisierung der Software eines Steuergeräts muss verhindert werden, dass nichtauthentische und somit möglicherweise schadhafte Software auf das Steuergerät aufgespielt wird.
  • Hinsichtlich eines gesicherten Datenaustauschs schlägt die Druckschrift DE 10 2004 036 810 A1 ein Kommunikationsverfahren für zwei Systemkomponenten über ein CAN-Bussystem eines Kraftfahrzeugs vor, wobei die Systemkomponenten jeweils eine vorgegebene feste Anzahl von nur ihnen bekannten Prüfcodes bereithalten. Basierend auf einem zeitveränderlichen Signal, welches beiden Systemkomponenten zugänglich ist, wird beim Fahrzeugstart von beiden Systemkomponenten über eine als Hash-Funktion ausgebildete Zuordnungsfunktion einer der Prüfcodes ausgewählt und mit diesem die zu übertragenden Nutzdaten codiert.
  • Ferner ist aus der Druckschrift DE 10 2010 033 229 A1 ein Verfahren zum Erkennen einer Manipulation bei der Übertragung von Steuerdaten von einer ersten Steuereinheit zu einer zweiten Steuereinheit bekannt, wobei senderseitig Integritätsprüfinformationsdaten für die von der ersten Steuereinheit gesendeten Steuerdaten durch eine Integritätsprüferzeugungseinheit erzeugt werden, eine kryptographische Prüfsumme für die senderseitig erzeugten Integritätsprüfinformationsdaten durch die Integritätsprüferzeugungseinheit mittels eines kryptographischen Schlüssels berechnet wird und die senderseitig erzeugten Integritätsprüfinformationsdaten und die zugehörigen kryptographische Prüfsumme zu einer Integritätsprüfverifikationseinheit übertragen wird. Die Integritätsprüfverifikationseinheit verifiziert die kryptographische Prüfsumme mittels eines kryptographischen Schlüssels.
  • Darüber hinaus ist aus der Druckschrift DE 10 2012109 619 A1 ein Verfahren zum Bereitstellen digitaler Signaturen zum Authentifizieren der Quelle und des Inhalts von binären Files, welche in eingebettete Steuergeräte von Automobilen flashprogrammiert werden, bekannt.
  • Diese und andere bekannte Ansätze haben den Nachteil, dass diese entweder lediglich für die Aktualisierung einer kompletten Software und nicht für die teilweise beziehungsweise partielle Aktualisierung einer Software geeignet sind und/oder eine zu hohe Rechenleistung zur Durchführung der notwendigen kryptographischen Operationen erfordern.
  • Der Erfindung liegt nun die Aufgabe zugrunde, die notwendigen kryptographischen Operationen bei einer teilweisen Aktualisierung der Software eines Steuergeräts eines Fahrzeugs zu reduzieren.
  • Diese Aufgabe wird gelöst durch ein Verfahren gemäß Anspruch 1, ein Steuergerät gemäß Anspruch 13, ein Fahrzeug gemäß Anspruch 14 beziehungsweise ein Kommunikationssystem gemäß Anspruch 15.
  • Bei dem erfindungsgemäßen Verfahren zum Aktualisieren einer Software eines Steuergeräts eines Fahrzeugs werden einzelne Datenblöcke der Software auf einem Speicher des Steuergeräts ausgetauscht und kryptographisches Material für jeden ausgetauschten Datenblock durch Verarbeiten jedes ausgetauschten Datenblocks mit einer kryptographischen Funktion erzeugt. Erfindungsgemäß wird das erzeugte kryptographische Material in einem Prüfdatenblock gespeichert, welcher kryptographisches Material zu jedem Datenblock beinhaltet, wobei die Konsistenz des in dem Prüfdatenblock gespeicherten kryptographischen Materials sämtlicher Datenblöcke der Software durch Abgleichen des in dem Prüfdatenblock gespeicherten kryptographischen Materials mit Konsistenzprüfdaten verifiziert wird.
  • Das erfindungsgemäße Verfahren hat den Vorteil, dass jeder Datenblock der Software nur einmal durch die kryptographische Funktion verarbeitet werden muss. Die Verifikation der Konsistenz und somit auch die Prüfung der Authentizität der auf das Steuergerät aufgespielten Software erfolgt durch ein Prüfen des mittels der kryptographischen Funktion erzeugten und in dem Prüfdatenblock gespeicherten kryptographischen Materials. Jeder Datenblock wird darüber hinaus nur dann verarbeitet, wenn dieser auch verändert wird. Das kryptographische Material der bei der Aktualisierung nicht ausgetauschten Datenblöcke liegt bereits in dem Prüfdatenblock vor, sodass dieses kryptographische Material vor der Konsistenzverifikation nicht erneut erzeugt werden muss. Das Abgleichen des in dem Prüfdatenblock gespeicherten kryptographischen Materials mit Konsistenzprüfdaten muss bei der Konsistenzverifikation außerdem nur einmal erfolgen. Die notwendigen kryptographischen Operationen bei einer teilweisen Aktualisierung der Software eines Steuergeräts eines Fahrzeugs werden somit erheblich reduziert, sodass der Rechenaufwand bei einer sicheren Aktualisierung beträchtlich verringert wird. Es soll verstanden werden, dass der Prüfdatenblock selbst nicht zum Erzeugen kryptographischen Materials mit der kryptographischen Funktion verarbeitet wird, sodass der Prüfdatenblock auch kein kryptographisches Material zu sich selbst beinhaltet. Dies würde eine Rekursion erzeugen.
  • Das Verfahren kann das Löschen des kryptographischen Materials von den einzelnen auszutauschenden oder ausgetauschten Datenblöcken von dem Prüfdatenblock umfassen. Dadurch, dass das kryptographische Material von den einzelnen auszutauschenden oder ausgetauschten Datenblöcken von dem Prüfdatenblock gelöscht und das neu erzeugte kryptographische Material von den einzelnen ausgetauschten Datenblöcken in dem Prüfdatenblock gespeichert wird, liegt in dem Prüfdatenblock stets nur aktuelles kryptographisches Material zu sämtlichen Datenblöcken vor. Auf diese Weise werden die Menge des zu speichernden kryptographischen Materials und die Menge des bei der Konsistenzverifikation mit den Konsistenzprüfdaten abzugleichenden kryptographischen Materials eingeschränkt, sodass einerseits Speicherplatz eingespart und die Verifikation der Konsistenz des kryptographischen Materials vereinfacht und beschleunigt wird.
  • Das Verfahren kann ferner das Bereitstellen der auszutauschenden Datenblöcke und/oder der Konsistenzprüfdaten für das Steuergerät durch eine externe Software-Aktualisierungsinstanz umfassen. Vorzugsweise ist die externe Software-Aktualisierungsinstanz ein Backend eines Fahrzeugherstellers oder eines Drittanbieters. Das Bereitstellen der auszutauschenden Datenblöcke und/oder der Konsistenzprüfdaten kann über ein Kommunikationsmodul des Steuergeräts und/oder über ein signalleitend mit dem Steuergerät verbundenes Kommunikationsmodul des Fahrzeugs erfolgen. Insbesondere erfolgt das Bereitstellen der auszutauschenden Datenblöcke und/oder der Konsistenzprüfdaten für das Steuergerät durch die externe Software-Aktualisierungsinstanz über eine kabellose Kommunikationsverbindung, beispielsweise unter Nutzung eines WLAN-Netzwerks oder eines Mobilfunkkommunikationsnetzes. Es ist außerdem bevorzugt, dass das Bereitstellen der auszutauschenden Datenblöcke und/oder der Konsistenzprüfdaten für das Steuergerät durch eine externe Software-Aktualisierungsinstanz über eine Internetverbindung erfolgt.
  • Die auszutauschenden Datenblöcke und die Konsistenzprüfdaten können gleichzeitig oder mit einem zeitlichen Abstand dem Steuergerät bereitgestellt werden. Wenn die auszutauschenden Datenblöcke und die Konsistenzprüfdaten mit einem zeitlichen Abstand dem Steuergerät bereitgestellt werden, können dem Steuergerät entweder die auszutauschenden Datenblöcke oder die Konsistenzprüfdaten zuerst bereitgestellt werden. Wenn die auszutauschenden Datenblöcke und die Konsistenzprüfdaten dem Steuergerät gleichzeitig bereitgestellt werden, benötigt das Steuergerät nach dem Austauschen der einzelnen Datenblöcke keine Kommunikationsverbindung zu der externen Software-Aktualisierungsinstanz, sodass die Konsistenzverifikation unter Verwendung der Konsistenzprüfdaten nach dem Austauschen der einzelnen Datenblöcke auch durchgeführt werden kann, wenn ein Datenaustausch mit der externen Software-Aktualisierungsinstanz nicht möglich ist. Somit wird der Aktualisierungsprozess weiter vereinfacht.
  • Der Prüfdatenblock kann in einem sicheren Speicher des Steuergeräts gespeichert sein. Alternativ oder zusätzlich kann der Prüfdatenblock in einem sicheren Speicher außerhalb des Steuergeräts gespeichert sein, wobei das Steuergerät über Zugriffsrechte auf den sicheren Speicher außerhalb des Steuergeräts verfügt. Vorzugsweise sind die auf dem sicheren Speicher gespeicherten Daten und somit auch der Prüfdatenblock gegen Modifikation und Auslesen durch Unbefugte gesichert. Auf dieser Weise wird das Sicherheitsniveau beim Ausführen der Softwareaktualisierung nochmals erhöht.
  • Die zum Erzeugen des kryptographischen Materials für jeden ausgetauschten Datenblock verwendete kryptographische Funktion kann eine Hashfunktion sein. Alternativ oder zusätzlich kann das durch die kryptographische Funktion erzeugte kryptographische Material zu jedem Datenblock einen Hashwert über den Inhalt des jeweiligen Datenblocks umfassen. Eine Hashfunktion erzeugt einen Hashwert, welcher einen Datenblock eindeutig kennzeichnet, wobei der Hashwert aufgrund dieser Kennzeichnungseigenschaft als Fingerabdruck verstanden werden kann. Dieser Fingerabdruck hat die Eigenschaft, dass Unberechtigte auf Basis dieses Fingerabdrucks keinen entsprechenden Datenblock erzeugen können, welcher denselben Fingerabdruck liefert. Hashfunktionen erfordern darüber hinaus eine vergleichsweise geringe Rechenleistung und eigenen sich somit besonders als kryptographische Funktion.
  • Das durch die kryptographische Funktion erzeugte kryptographische Material zu jedem Datenblock kann zusätzlich zu dem Hashwert einen kryptographischen Schlüssel umfassen. Dadurch, dass das durch die kryptographische Funktion erzeugte kryptographische Material zu jedem Datenblock zusätzlich zu dem Hashwert einen kryptographischen Schlüssel umfasst, wird die Sicherheit gegen das Aufspielen von nicht authentischer Software auf das Steuergerät nochmals erhöht.
  • Die zum Erzeugen des kryptographischen Materials für jeden ausgetauschten Datenblock verwendete kryptographische Funktion kann eine Signierfunktion sein. Alternativ oder zusätzlich kann das durch die kryptographische Funktion erzeugte kryptographische Material zu jedem Datenblock eine digitale Signatur des jeweiligen Datenblocks umfassen. Eine Signierfunktion erzeugt eine Signatur, welche einen Datenblock eindeutig kennzeichnet, wobei die Signatur oder ein Teil der Signatur aufgrund dieser Kennzeichnungseigenschaft als Fingerabdruck verstanden werden kann. Dieser Fingerabdruck hat die Eigenschaft, dass Unberechtigte auf Basis dieses Fingerabdrucks keinen entsprechenden Datenblock erzeugen können, welcher denselben Fingerabdruck liefert. Signierfunktionen eigenen sich somit ebenfalls besonders als kryptographische Funktion.
  • Das durch die kryptographische Funktion erzeugte kryptographische Material zu jedem Datenblock kann eine symmetrische Signatur des jeweiligen Datenblocks umfassen. Wenn das durch die kryptographische Funktion erzeugte kryptographische Material zu jedem Datenblock eine symmetrische Signatur des jeweiligen Datenblocks umfasst, erfordert die Verifikation der Konsistenz des in dem Prüfdatenblock gespeicherten kryptographischen Materials sämtlicher Datenblöcke der Software eine besonders geringe Rechenleistung, sodass der Prozess der Softwareaktualisierung weiter beschleunigt wird.
  • Das durch die kryptographische Funktion erzeugte kryptographische Material zu jedem Datenblock kann einen Message Authentication Code des jeweiligen Datenblocks umfassen. Der Message Authentication Code (MAC) wird durch einen Algorithmus erzeugt, welcher aus dem jeweiligen Datenblock und einem geheimen Schlüssel eine Prüfsumme erzeugt, welche als Message Authentication Code bezeichnet wird. Ein Message Authentication Code kennzeichnet eindeutig einen Datenblock, wobei der Message Authentication Code aufgrund dieser Kennzeichnungseigenschaft ebenfalls als Fingerabdruck verstanden werden kann, welcher die zuvor beschriebenen Eigenschaften aufweist.
  • Die Konsistenzprüfdaten können eine kryptographische Signatur über das in dem Prüfdatenblock zu erwartende kryptographische Material sämtlicher Datenblöcke der Software nach dem Aktualisieren der Software umfassen. Zum Verifizieren der Konsistenz des in dem Prüfdatenblock gespeicherten kryptographischen Materials sämtlicher Datenblöcke der Software wird somit das in dem Prüfdatenblock gespeicherte kryptographische Material mit einer kryptographischen Signatur über das in dem Prüfdatenblock zu erwartende kryptographische Material sämtlicher Datenblöcke der Software nach dem Aktualisieren der Software abgeglichen. Wenn die zum Erzeugen des kryptographischen Materials für jeden ausgetauschten Datenblock verwendete kryptographische Funktion eine Hashfunktion ist, werden die erzeugten und in dem Prüfdatenblock gespeicherten Hashwerte mit einer kryptographischen Signatur über die in dem Prüfdatenblock zu erwartenden Hashwerte sämtlicher Datenblöcke der Software nach dem Aktualisieren der Software abgeglichen.
  • Das Erzeugen des kryptographischen Materials für jeden ausgetauschten Datenblock kann durch das Steuergerät und/oder durch die externe Software-Aktualisierungsinstanz erfolgen. Vorzugsweise erzeugt das Steuergerät das kryptographische Material, um dieses in dem Prüfdatenblock abzuspeichern. Insbesondere erzeugt die externe Software-Aktualisierungsinstanz das kryptographische Material, um eine kryptographische Signatur über das in dem Prüfdatenblock zu erwartende kryptographische Material sämtlicher Datenblöcke der Software nach dem Aktualisieren der Software erzeugen zu können.
  • Das erfindungsgemäße Steuergerät eines Fahrzeugs ist dazu eingerichtet, das Verfahren zum Aktualisieren einer Software eines Steuergeräts eines Fahrzeugs nach einer der vorstehend beschriebenen Ausführungsformen auszuführen. Es gelten die gleichen Vorteile und Modifikationen wie zuvor beschrieben.
  • Das erfindungsgemäße Fahrzeug umfasst ein Steuergerät, wobei das Steuergerät nach einer der vorstehend beschriebenen Ausführungsformen ausgebildet ist. Es gelten die gleichen Vorteile und Modifikationen wie zuvor beschrieben.
  • Das erfindungsgemäße Kommunikationssystem umfasst ein Fahrzeug mit einem Steuergerät, und eine externe Software-Aktualisierungsinstanz. Das Kommunikationssystem ist dazu eingerichtet, das Verfahren zum Aktualisieren einer Software eines Steuergeräts eines Fahrzeugs nach einer der vorstehend beschriebenen Ausführungsformen auszuführen. Es gelten die gleichen Vorteile und Modifikationen wie zuvor beschrieben.
  • Weitere bevorzugte Ausgestaltungen der Erfindung ergeben sich aus den übrigen, in den Unteransprüchen genannten Merkmalen. Die verschiedenen in dieser Anmeldung genannten Ausführungsformen der Erfindung sind, sofern im Einzelfall nicht anders ausgeführt, mit Vorteil miteinander kombinierbar.
  • Die Erfindung wird nachfolgend in Ausführungsbeispielen anhand der zugehörigen Zeichnungen erläutert. Es zeigen:
    • 1 ein Ausführungsbeispiel des erfindungsgemäßen Kommunikationssystems in einer schematischen Darstellung; und
    • 2 ein Ausführungsbeispiel des erfindungsgemäßen Verfahrens zum Aktualisieren einer Software eines Steuergeräts eines Fahrzeugs in einer Blockdarstellung.
  • 1 zeigt ein Kommunikationssystem 10 mit einem Fahrzeug 12 und einer externen Software-Aktualisierungsinstanz 14, wobei die externe Software-Aktualisierungsinstanz 14 ein Backend eines Fahrzeugherstellers ist.
  • Das Fahrzeug 12 weist ein Steuergerät 18 auf. Das Steuergerät 18 umfasst einen Speicher 20, eine Recheneinheit 22 und ein Kommunikationsmodul 24. Das Kommunikationsmodul 24 ist mittels der Kommunikationsverbindungen 26, 28 über das Internet 16 mit der externen Software-Aktualisierungsinstanz 14 signalleitend verbunden. Die Kommunikationsverbindungen 26, 28 erlauben einen bidirektionalen Datenaustausch zwischen dem Kommunikationsmodul 24 des Steuergeräts 18 und der externen Software-Aktualisierungsinstanz 14. Die Recheneinheit 22 ist dazu eingerichtet, innerhalb des Steuergeräts 18 anfallende Rechenoperationen, welche insbesondere auch kryptographische Operationen umfassen, auszuführen.
  • Auf dem Speicher 20 des Steuergeräts 18 sind mehrere Datenblöcke 30a-30f einer Software des Steuergeräts 18 gespeichert. Ferner ist auf dem Speicher 20 des Steuergeräts 18 ein Prüfdatenblock 32 gespeichert, welcher kryptographisches Material zu jedem Datenblock 30a-30f beinhaltet.
  • Das Steuergerät 18 ist dazu eingerichtet, einzelne Datenblöcke 30a-30f der Software auf dem Speicher 20 des Steuergeräts 18 auszutauschen und kryptographisches Material für jeden ausgetauschten Datenblock 30a-30f durch Verarbeiten jedes ausgetauschten Datenblocks 30a-30f mit einer kryptographischen Funktion zu erzeugen.
  • Außerdem ist das Steuergerät 18 dazu eingerichtet, das erzeugte kryptographische Material in dem Prüfdatenblock 32 zu speichern und die Konsistenz des in dem Prüfdatenblock 32 gespeicherten kryptographischen Materials sämtlicher Datenblöcke 30a-30f der Software durch Abgleichen des in dem Prüfdatenblock 32 gespeicherten kryptographischen Materials mit Konsistenzprüfdaten zu verifizieren.
  • Die externe Software-Aktualisierungsinstanz 14 ist dazu eingerichtet, dem Steuergerät 18 die auszutauschenden Datenblöcke 30a-30f und die Konsistenzprüfdaten bereitzustellen, wobei die auszutauschenden Datenblöcke 30a-30f und die Konsistenzprüfdaten dem Steuergerät 18 entweder gleichzeitig oder mit einem zeitlichen Abstand von der externen Software-Aktualisierungsinstanz 14 bereitgestellt werden können.
  • Das Steuergerät 18 und die externe Software-Aktualisierungsinstanz 14 verwenden zum Erzeugen des kryptographischen Materials für jeden ausgetauschten Datenblock 30a-30f eine Hashfunktion, sodass das erzeugte kryptographische Material zu jedem Datenblock 30a-30f einen Hashwert über den Inhalt des jeweiligen Datenblocks 30a-30f umfasst. Die Konsistenzprüfdaten umfassen eine kryptographische Signatur über die nach dem Aktualisieren der Software in dem Prüfdatenblock 32 zu erwartenden Hashwerte sämtlicher Datenblöcke 30a-30f der Software.
  • 2 zeigt ein Verfahren zum Aktualisieren einer Software eines Steuergeräts 18 eines Fahrzeugs 12, welches beispielsweise von dem Steuergerät aus 1 ausführbar sein kann.
  • Das Verfahren wird eingeleitet durch den folgenden Schritt:
    • 34) Austauschen einzelner Datenblöcke 30a-30f der Software auf einem Speicher 20 des Steuergeräts 18.
  • Durch das Austauschen einzelner und nicht sämtlicher Datenblöcke 30a-30f wird eine teilweise beziehungsweise partielle Aktualisierung der Software des Steuergeräts 18 durchgeführt. Die Datenblöcke 30a-30f können beispielsweise Flashblöcke sein, welche zum Aufspielen eines Software-Updates auf das Steuergerät 18 neu beschrieben werden. Die auszutauschenden Datenblöcke 30a-30f werden dem Steuergerät 18 durch eine externe Software-Aktualisierungsinstanz 14 bereitgestellt, wobei die externe Software-Aktualisierungsinstanz 14 ein Backend eines Fahrzeugherstellers ist.
  • Nachdem die einzelnen Datenblöcke 30a-30f der Software auf dem Speicher 20 des Steuergeräts 18 ausgetauscht wurden, kann der folgende Schritt ausgeführt werden:
    • 36) Erzeugen eines Hashwerts für jeden ausgetauschten Datenblock 30a-30f durch Verarbeiten jedes ausgetauschten Datenblocks 30a-30f mit einer Hashfunktion.
  • Nachdem für jeden ausgetauschten Datenblock 30a-30f ein Hashwert erzeugt wurde, können die folgenden beiden Schritte ausgeführt werden:
    • 38) Löschen der Hashwerte von den einzelnen ausgetauschten Datenblöcken 30a-30f von einem Prüfdatenblock 32, welcher Hashwerte zu jedem Datenblock 30a-30f beinhaltet; und
    • 40) Speichern der neu erzeugten Hashwerte in dem Prüfdatenblock 32.
  • Der Prüfdatenblock 32 ist in einem sicheren Speicher des Steuergeräts 18 gespeichert. Durch das Löschen der Hashwerte von den einzelnen ausgetauschten Datenblöcken 30a-30f von dem Prüfdatenblock 32 und das Speichern der neu erzeugten Hashwerte in dem Prüfdatenblock 32 werden die nach dem Austausch der einzelnen Datenblöcke 30a-30f der Software nicht mehr aktuellen Hashwerte durch die aktuellen Hashwerte der einzelnen veränderten Datenblöcke 30a-30f ersetzt.
  • Nachdem nun zu sämtlichen Datenblöcken 30a-30f der Software des Steuergeräts 18 aktuelle Hashwerte in dem Prüfdatenblock 32 vorliegen, kann der folgende Schritt ausgeführt werden:
    • 42) Verifizieren der Konsistenz der in dem Prüfdatenblock 32 gespeicherten Hashwerte sämtlicher Datenblöcke 30a-30f der Software durch Abgleichen der in dem Prüfdatenblock 32 gespeicherten Hashwerte mit einer kryptographischen Signatur über die in dem Prüfdatenblock 32 zu erwartenden Hashwerte sämtlicher Datenblöcke 30a-30f der Software nach dem Aktualisieren der Software.
  • Die kryptographische Signatur über die in dem Prüfdatenblock 32 zu erwartenden Hashwerte sämtlicher Datenblöcke 30a-30f der Software nach dem Aktualisieren der Software wird dem Steuergerät 18 ebenfalls durch die externe Software-Aktualisierungsinstanz 14 bereitgestellt.
  • Dadurch, dass das erzeugte kryptographische Material in einem Prüfdatenblock gespeichert wird, welcher kryptographisches Material zu jedem Datenblock beinhaltet, und die Konsistenz des in dem Prüfdatenblock gespeicherten kryptographischen Materials sämtlicher Datenblöcke der Software durch Abgleichen des in dem Prüfdatenblock gespeicherten kryptographischen Materials mit Konsistenzprüfdaten verifiziert wird, werden die notwendigen kryptographischen Operationen bei einer teilweisen Aktualisierung der Software eines Steuergeräts eines Fahrzeugs erheblich reduziert.
  • Bezugszeichenliste
  • 10
    Kommunikationssystem
    12
    Fahrzeug
    14
    Software-Aktualisierungsinstanz
    16
    Internet
    18
    Steuergerät
    20
    Speicher
    22
    Recheneinheit
    24
    Kommunikationsmodul
    26
    Kommunikationsverbindung
    28
    Kommunikationsverbindung
    30a-30f
    Datenblöcke
    32
    Prüfdatenblock
    34-42
    Verfahrensschritte
  • ZITATE ENTHALTEN IN DER BESCHREIBUNG
  • Diese Liste der vom Anmelder aufgeführten Dokumente wurde automatisiert erzeugt und ist ausschließlich zur besseren Information des Lesers aufgenommen. Die Liste ist nicht Bestandteil der deutschen Patent- bzw. Gebrauchsmusteranmeldung. Das DPMA übernimmt keinerlei Haftung für etwaige Fehler oder Auslassungen.
  • Zitierte Patentliteratur
    • DE 102004036810 A1 [0005]
    • DE 102010033229 A1 [0006]
    • DE 102012109619 A1 [0007]

Claims (15)

  1. Verfahren zum Aktualisieren einer Software eines Steuergeräts (18) eines Fahrzeugs (12), mit den Schritten: - Austauschen einzelner Datenblöcke (30a-30f) der Software auf einem Speicher (20) des Steuergeräts (18); und - Erzeugen von kryptographischem Material für jeden ausgetauschten Datenblock (30a-30f) durch Verarbeiten jedes ausgetauschten Datenblocks (30a-30f) mit einer kryptographischen Funktion; gekennzeichnet durch die Schritte: - Speichern des erzeugten kryptographischen Materials in einem Prüfdatenblock (32), welcher kryptographisches Material zu jedem Datenblock (30a-30f) beinhaltet; und - Verifizieren der Konsistenz des in dem Prüfdatenblock (32) gespeicherten kryptographischen Materials sämtlicher Datenblöcke (30a-30f) der Software durch Abgleichen des in dem Prüfdatenblock (32) gespeicherten kryptographischen Materials mit Konsistenzprüfdaten.
  2. Verfahren nach Anspruch 1, gekennzeichnet durch den Schritt: - Löschen des kryptographischen Materials von den einzelnen auszutauschenden oder ausgetauschten Datenblöcken (30a-30f) von dem Prüfdatenblock (32).
  3. Verfahren nach Anspruch 1 oder 2, gekennzeichnet durch den Schritt: - Bereitstellen der auszutauschenden Datenblöcke (30a-30f) und/oder der Konsistenzprüfdaten für das Steuergerät (18) durch eine externe Software-Aktualisierungsinstanz (14), wobei die externe Software-Aktualisierungsinstanz (14) vorzugsweise ein Backend eines Fahrzeugherstellers oder eines Drittanbieters ist.
  4. Verfahren nach einem der vorhergehenden Ansprüche, dadurch gekennzeichnet, dass die auszutauschenden Datenblöcke (30a-30f) und die Konsistenzprüfdaten gleichzeitig oder mit einem zeitlichen Abstand dem Steuergerät (18) bereitgestellt werden.
  5. Verfahren nach einem der vorhergehenden Ansprüche, dadurch gekennzeichnet, dass der Prüfdatenblock (32) in einem sicheren Speicher des Steuergeräts (18) gespeichert ist.
  6. Verfahren nach einem der vorhergehenden Ansprüche, dadurch gekennzeichnet, dass die zum Erzeugen des kryptographischen Materials für jeden ausgetauschten Datenblock (30a-30f) verwendete kryptographische Funktion eine Hashfunktion ist und/oder das durch die kryptographische Funktion erzeugte kryptographische Material zu jedem Datenblock (30a-30f) einen Hashwert über den Inhalt des jeweiligen Datenblocks (30a-30f) umfasst.
  7. Verfahren nach Anspruch 6, dadurch gekennzeichnet, dass das durch die kryptographische Funktion erzeugte kryptographische Material zu jedem Datenblock (30a-30f) zusätzlich zu dem Hashwert einen kryptographischen Schlüssel umfasst.
  8. Verfahren nach einem der Ansprüche 1 bis 5, dadurch gekennzeichnet, dass die zum Erzeugen des kryptographischen Materials für jeden ausgetauschten Datenblock (30a-30f) verwendete kryptographische Funktion eine Signierfunktion ist und/oder das durch die kryptographische Funktion erzeugte kryptographische Material zu jedem Datenblock (30a-30f) eine digitale Signatur des jeweiligen Datenblocks (30a-30f) umfasst.
  9. Verfahren nach einem der vorhergehenden Ansprüche, dadurch gekennzeichnet, dass das durch die kryptographische Funktion erzeugte kryptographische Material zu jedem Datenblock (30a-30f) eine symmetrische Signatur des jeweiligen Datenblocks (30a-30f) umfasst.
  10. Verfahren nach einem der vorhergehenden Ansprüche, dadurch gekennzeichnet, dass das durch die kryptographische Funktion erzeugte kryptographische Material zu jedem Datenblock (30a-30f) einen Message Authentication Code des jeweiligen Datenblocks (30a-30f) umfasst.
  11. Verfahren nach einem der vorhergehenden Ansprüche, dadurch gekennzeichnet, dass die Konsistenzprüfdaten eine kryptographische Signatur über das in dem Prüfdatenblock (32) zu erwartende kryptographische Material sämtlicher Datenblöcke (30a-30f) der Software nach dem Aktualisieren der Software umfassen.
  12. Verfahren nach einem der vorhergehenden Ansprüche, dadurch gekennzeichnet, dass das Erzeugen des kryptographischen Materials für jeden ausgetauschten Datenblock (30a-30f) durch das Steuergerät (18) und/oder durch die externe Software-Aktualisierungsinstanz (14) erfolgt.
  13. Steuergerät (18) eines Fahrzeugs (12), dadurch gekennzeichnet, dass das Steuergerät (18) dazu eingerichtet ist, das Verfahren zum Aktualisieren einer Software eines Steuergeräts (18) eines Fahrzeugs (12) nach einem der Ansprüche 1 bis 12 auszuführen.
  14. Fahrzeug (12), mit - einem Steuergerät (18), wobei das Steuergerät (18) nach Anspruch 13 ausgebildet ist.
  15. Kommunikationssystem (10), mit - einem Fahrzeug (12), welches ein Steuergerät (18) aufweist; und - einer externen Software-Aktualisierungsinstanz (14), dadurch gekennzeichnet, dass das Kommunikationssystem (10) dazu eingerichtet ist, das Verfahren zum Aktualisieren einer Software eines Steuergeräts (18) eines Fahrzeugs (12) nach einem der Ansprüche 1 bis 12 auszuführen.
DE102016221108.0A 2016-10-26 2016-10-26 Verfahren zum Aktualisieren einer Software eines Steuergeräts eines Fahrzeugs Pending DE102016221108A1 (de)

Priority Applications (3)

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
CN201711007309.3A CN107992753B (zh) 2016-10-26 2017-10-25 用于更新车辆的控制设备的软件的方法
US15/794,124 US10423401B2 (en) 2016-10-26 2017-10-26 Method for updating software of a control device of a vehicle

Applications Claiming Priority (1)

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

Publications (1)

Publication Number Publication Date
DE102016221108A1 true DE102016221108A1 (de) 2018-04-26

Family

ID=61866445

Family Applications (1)

Application Number Title Priority Date Filing Date
DE102016221108.0A Pending DE102016221108A1 (de) 2016-10-26 2016-10-26 Verfahren zum Aktualisieren einer Software eines Steuergeräts eines Fahrzeugs

Country Status (3)

Country Link
US (1) US10423401B2 (de)
CN (1) CN107992753B (de)
DE (1) DE102016221108A1 (de)

Families Citing this family (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10666767B1 (en) 2018-01-30 2020-05-26 State Farm Mutual Automobile Insurance Company Systems and methods for vehicle configuration verification using smart contracts
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 현대자동차주식회사 차량의 무선 업데이트 장치 및 그 방법
DE102021003840A1 (de) * 2021-07-27 2023-02-02 Mercedes-Benz Group AG Verfahren zur Überprüfung digitaler Signaturen, Fahrzeug-Recheneinheit und Fahrzeug

Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE102004036810A1 (de) 2004-07-29 2006-03-23 Zf Lenksysteme Gmbh Kommunikationsverfahren für wenigstens zwei Systemkomponenten eines Kraftfahrzeugs
DE602005001497T2 (de) * 2005-01-07 2008-03-13 Telefonaktiebolaget Lm Ericsson (Publ) Aktualisierung von Speicherinhalt in einem Datenverarbeitungssystem
US20090113166A1 (en) * 2007-10-31 2009-04-30 Agere Systems Inc. Hashing method for nand flash memory
DE102010033229A1 (de) 2010-08-03 2012-02-09 Siemens Aktiengesellschaft Verfahren und System zur manipulationssicheren Übertragung von Steuerdaten
DE102012215729A1 (de) * 2011-09-19 2013-03-21 GM Global Technology Operations LLC (n.d. Ges. d. Staates Delaware) System und Verfahren zum Authentisieren mehrerer Dateien unter Verwendung einer getrennten digitalen Signatur
DE102012109619A1 (de) 2011-10-28 2013-05-02 Gm Global Technology Operations, Llc Verfahren zum Bereitstellen einer digitalen Signatur zum Sichern einer Flash-Programmierfunktion
US20140058532A1 (en) * 2012-08-23 2014-02-27 GM Global Technology Operations LLC Method for partial flashing of ecus

Family Cites Families (58)

* 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
WO2002015998A2 (en) * 2000-08-21 2002-02-28 International Game Technology 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
DE112004001633D2 (de) * 2003-06-24 2006-06-22 Bosch Gmbh Robert 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
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
US8429643B2 (en) * 2007-09-05 2013-04-23 Microsoft Corporation Secure upgrade of firmware update in constrained 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
WO2010144815A2 (en) * 2009-06-11 2010-12-16 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
JP6332970B2 (ja) * 2011-02-11 2018-05-30 シーメンス・ヘルスケア・ダイアグノスティックス・インコーポレーテッドSiemens Healthcare Diagnostics Inc. 安全なソフトウェアの更新のためのシステム及び方法
JP5939655B2 (ja) * 2011-03-29 2016-06-22 ボルボ ラストバグナー アーベー 安全な修理データパッケージ
EP2715601A1 (de) * 2011-06-01 2014-04-09 Security First Corp. Systeme und verfahren für sichere verteilte speicherung
US8856771B2 (en) * 2011-08-19 2014-10-07 International Business Machines Corporation Protection for unauthorized firmware and software upgrades to consumer electronic devices
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
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 (de) * 2013-08-23 2015-02-25 British Telecommunications public limited company Verfahren und Vorrichtung zur Modifizierung eines Computerprogramms in einer vertrauenswürdigen Weise
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
US9841970B2 (en) * 2015-01-13 2017-12-12 Ford Global Technologies, Llc Vehicle control update methods and systems
DE102015203776A1 (de) * 2015-03-03 2016-09-08 Robert Bosch Gmbh Verfahren zur Programmierung eines Steuergeräts eines Kraftfahrzeugs
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 (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE102004036810A1 (de) 2004-07-29 2006-03-23 Zf Lenksysteme Gmbh Kommunikationsverfahren für wenigstens zwei Systemkomponenten eines Kraftfahrzeugs
DE602005001497T2 (de) * 2005-01-07 2008-03-13 Telefonaktiebolaget Lm Ericsson (Publ) Aktualisierung von Speicherinhalt in einem Datenverarbeitungssystem
US20090113166A1 (en) * 2007-10-31 2009-04-30 Agere Systems Inc. Hashing method for nand flash memory
DE102010033229A1 (de) 2010-08-03 2012-02-09 Siemens Aktiengesellschaft Verfahren und System zur manipulationssicheren Übertragung von Steuerdaten
DE102012215729A1 (de) * 2011-09-19 2013-03-21 GM Global Technology Operations LLC (n.d. Ges. d. Staates Delaware) System und Verfahren zum Authentisieren mehrerer Dateien unter Verwendung einer getrennten digitalen Signatur
DE102012109619A1 (de) 2011-10-28 2013-05-02 Gm Global Technology Operations, Llc Verfahren zum Bereitstellen einer digitalen Signatur zum Sichern einer Flash-Programmierfunktion
US20140058532A1 (en) * 2012-08-23 2014-02-27 GM Global Technology Operations LLC Method for partial flashing of ecus

Also Published As

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

Similar Documents

Publication Publication Date Title
DE102016221108A1 (de) Verfahren zum Aktualisieren einer Software eines Steuergeräts eines Fahrzeugs
DE102011014688B3 (de) Kraftwagen-Steuergerät mit kryptographischer Einrichtung
DE10008974B4 (de) Signaturverfahren
DE102013108021A1 (de) Verfahren zum selektiven Software-Rollback
DE112014005412T5 (de) Programmaktualisierungssystem und Programmaktualisierungsverfahren
DE10318031A1 (de) Verfahren zur Sicherstellung der Integrität und Authentizität von Flashware für Steuergeräte
DE102015203776A1 (de) Verfahren zur Programmierung eines Steuergeräts eines Kraftfahrzeugs
DE102012110559A1 (de) Verfahren und Vorrichtung zum sicheren Herunterladen einer Firmware unter Verwendung eines Diagnoselinkconnectors (DLC) und dem Onstar-System
DE102013105042A1 (de) Sicheres Flashprogrammieren eines sekundären Prozessors
DE102012110499A1 (de) Sicherheitszugangsverfahren für elektronische Automobil-Steuergeräte
DE102012109615B4 (de) Verwendung eines Manifests zur Präsenzaufzeichnung von gültiger Software und Kalibrierung
DE102013108020A1 (de) Authentifizierungsschema zum Aktivieren eines Spezial-Privileg-Modus in einem gesicherten elektronischen Steuergerät
DE102013108022A1 (de) Verfahren zum Aktivieren des Entwicklungsmodus eines gesicherten elektronischen Steuergeräts
DE102010039963A1 (de) Verfahren und System zum Verifizieren einer Software-Plattform eines Fahrzeugs
WO2019076574A1 (de) Bidirektionale verkettete blockchain-struktur
DE602004009639T2 (de) Verfahren oder Vorrichtung zur Authentifizierung digitaler Daten mittels eines Authentifizierungs-Plugins
DE102013013179A1 (de) Verfahren zum Betreiben eines Sicherheitselements
EP3337085B1 (de) Nachladen kryptographischer programminstruktionen
EP2542995A2 (de) Verfahren zum verifizieren eines speicherblocks eines nicht-flüchtigen speichers
DE102014210282A1 (de) Erzeugen eines kryptographischen Schlüssels
DE102018213616A1 (de) Kryptografiemodul und Betriebsverfahren hierfür
DE10316951A1 (de) Verfahren zur Überprüfung der Datenintegrität von Software in Steuergeräten
DE102018211139A1 (de) Steuergerät sowie Verfahren zu dessen Betrieb
DE102015214791A1 (de) Verfahren zur Betriebsvalidierung einer Sensoreinheit, Sensoreinheit und Tachographsystem
DE102016218988A1 (de) Kommunikationssystem

Legal Events

Date Code Title Description
R012 Request for examination validly filed
R016 Response to examination communication
R079 Amendment of ipc main class

Free format text: PREVIOUS MAIN CLASS: H04L0012240000

Ipc: H04L0041000000