DE102016221108A1 - Verfahren zum Aktualisieren einer Software eines Steuergeräts eines Fahrzeugs - Google Patents
Verfahren zum Aktualisieren einer Software eines Steuergeräts eines Fahrzeugs Download PDFInfo
- 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
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/50—Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems
- G06F21/57—Certifying or maintaining trusted computer platforms, e.g. secure boots or power-downs, version controls, system software checks, secure updates or assessing vulnerabilities
- G06F21/572—Secure firmware programming, e.g. of basic input output system [BIOS]
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/60—Software deployment
- G06F8/65—Updates
-
- G—PHYSICS
- G05—CONTROLLING; REGULATING
- G05B—CONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
- G05B19/00—Programme-control systems
- G05B19/02—Programme-control systems electric
- G05B19/04—Programme control other than numerical control, i.e. in sequence controllers or logic controllers
- G05B19/042—Programme control other than numerical control, i.e. in sequence controllers or logic controllers using digital processors
- G05B19/0426—Programming the control sequence
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/50—Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems
- G06F21/57—Certifying or maintaining trusted computer platforms, e.g. secure boots or power-downs, version controls, system software checks, secure updates or assessing vulnerabilities
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/50—Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems
- G06F21/57—Certifying or maintaining trusted computer platforms, e.g. secure boots or power-downs, version controls, system software checks, secure updates or assessing vulnerabilities
- G06F21/575—Secure boot
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/60—Protecting data
- G06F21/64—Protecting data integrity, e.g. using checksums, certificates or signatures
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/44—Arrangements for executing specific programs
- G06F9/445—Program loading or initiating
- G06F9/44536—Selecting among different versions
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/06—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols the encryption apparatus using shift registers or memories for block-wise or stream coding, e.g. DES systems or RC4; Hash functions; Pseudorandom sequence generators
- H04L9/0643—Hash functions, e.g. MD5, SHA, HMAC or f9 MAC
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/32—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials
- H04L9/3236—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials using cryptographic hash functions
- H04L9/3242—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials using cryptographic hash functions involving keyed hash functions, e.g. message authentication codes [MACs], CBC-MAC or HMAC
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/32—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials
- H04L9/3247—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials involving digital signatures
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L2209/00—Additional information or applications relating to cryptographic mechanisms or cryptographic arrangements for secret or secure communication H04L9/00
- H04L2209/84—Vehicles
Landscapes
- Engineering & Computer Science (AREA)
- Computer Security & Cryptography (AREA)
- Theoretical Computer Science (AREA)
- Software Systems (AREA)
- General Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Computer Hardware Design (AREA)
- Signal Processing (AREA)
- Computer Networks & Wireless Communication (AREA)
- Power Engineering (AREA)
- 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 Kommunikationssystem10 mit einem Fahrzeug12 und einer externen Software-Aktualisierungsinstanz14 , wobei die externe Software-Aktualisierungsinstanz14 ein Backend eines Fahrzeugherstellers ist. - Das Fahrzeug
12 weist ein Steuergerät18 auf. Das Steuergerät18 umfasst einen Speicher20 , eine Recheneinheit22 und ein Kommunikationsmodul24 . Das Kommunikationsmodul24 ist mittels der Kommunikationsverbindungen26 ,28 über das Internet16 mit der externen Software-Aktualisierungsinstanz14 signalleitend verbunden. Die Kommunikationsverbindungen26 ,28 erlauben einen bidirektionalen Datenaustausch zwischen dem Kommunikationsmodul24 des Steuergeräts18 und der externen Software-Aktualisierungsinstanz14 . Die Recheneinheit22 ist dazu eingerichtet, innerhalb des Steuergeräts18 anfallende Rechenoperationen, welche insbesondere auch kryptographische Operationen umfassen, auszuführen. - Auf dem Speicher
20 des Steuergeräts18 sind mehrere Datenblöcke30a-30f einer Software des Steuergeräts18 gespeichert. Ferner ist auf dem Speicher20 des Steuergeräts18 ein Prüfdatenblock32 gespeichert, welcher kryptographisches Material zu jedem Datenblock 30a-30f beinhaltet. - Das Steuergerät
18 ist dazu eingerichtet, einzelne Datenblöcke30a-30f der Software auf dem Speicher20 des Steuergeräts18 auszutauschen und kryptographisches Material für jeden ausgetauschten Datenblock30a-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üfdatenblock32 zu speichern und die Konsistenz des in dem Prüfdatenblock32 gespeicherten kryptographischen Materials sämtlicher Datenblöcke30a-30f der Software durch Abgleichen des in dem Prüfdatenblock32 gespeicherten kryptographischen Materials mit Konsistenzprüfdaten zu verifizieren. - Die externe Software-Aktualisierungsinstanz
14 ist dazu eingerichtet, dem Steuergerät18 die auszutauschenden Datenblöcke30a-30f und die Konsistenzprüfdaten bereitzustellen, wobei die auszutauschenden Datenblöcke30a-30f und die Konsistenzprüfdaten dem Steuergerät18 entweder gleichzeitig oder mit einem zeitlichen Abstand von der externen Software-Aktualisierungsinstanz14 bereitgestellt werden können. - Das Steuergerät
18 und die externe Software-Aktualisierungsinstanz14 verwenden zum Erzeugen des kryptographischen Materials für jeden ausgetauschten Datenblock30a-30f eine Hashfunktion, sodass das erzeugte kryptographische Material zu jedem Datenblock30a-30f einen Hashwert über den Inhalt des jeweiligen Datenblocks30a-30f umfasst. Die Konsistenzprüfdaten umfassen eine kryptographische Signatur über die nach dem Aktualisieren der Software in dem Prüfdatenblock32 zu erwartenden Hashwerte sämtlicher Datenblöcke 30a-30f der Software. -
2 zeigt ein Verfahren zum Aktualisieren einer Software eines Steuergeräts18 eines Fahrzeugs12 , welches beispielsweise von dem Steuergerät aus1 ausführbar sein kann. - Das Verfahren wird eingeleitet durch den folgenden Schritt:
- 34) Austauschen einzelner Datenblöcke
30a-30f der Software auf einem Speicher20 des Steuergeräts18 . - Durch das Austauschen einzelner und nicht sämtlicher Datenblöcke
30a-30f wird eine teilweise beziehungsweise partielle Aktualisierung der Software des Steuergeräts18 durchgeführt. Die Datenblöcke30a-30f können beispielsweise Flashblöcke sein, welche zum Aufspielen eines Software-Updates auf das Steuergerät18 neu beschrieben werden. Die auszutauschenden Datenblöcke30a-30f werden dem Steuergerät18 durch eine externe Software-Aktualisierungsinstanz 14 bereitgestellt, wobei die externe Software-Aktualisierungsinstanz14 ein Backend eines Fahrzeugherstellers ist. - Nachdem die einzelnen Datenblöcke
30a-30f der Software auf dem Speicher20 des Steuergeräts18 ausgetauscht wurden, kann der folgende Schritt ausgeführt werden: - 36) Erzeugen eines Hashwerts für jeden ausgetauschten Datenblock
30a-30f durch Verarbeiten jedes ausgetauschten Datenblocks30a-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üfdatenblock32 , welcher Hashwerte zu jedem Datenblock30a-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äts18 gespeichert. Durch das Löschen der Hashwerte von den einzelnen ausgetauschten Datenblöcken30a-30f von dem Prüfdatenblock32 und das Speichern der neu erzeugten Hashwerte in dem Prüfdatenblock32 werden die nach dem Austausch der einzelnen Datenblöcke30a-30f der Software nicht mehr aktuellen Hashwerte durch die aktuellen Hashwerte der einzelnen veränderten Datenblöcke30a-30f ersetzt. - Nachdem nun zu sämtlichen Datenblöcken
30a-30f der Software des Steuergeräts18 aktuelle Hashwerte in dem Prüfdatenblock32 vorliegen, kann der folgende Schritt ausgeführt werden: - 42) Verifizieren der Konsistenz der in dem Prüfdatenblock
32 gespeicherten Hashwerte sämtlicher Datenblöcke30a-30f der Software durch Abgleichen der in dem Prüfdatenblock32 gespeicherten Hashwerte mit einer kryptographischen Signatur über die in dem Prüfdatenblock32 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öcke30a-30f der Software nach dem Aktualisieren der Software wird dem Steuergerät18 ebenfalls durch die externe Software-Aktualisierungsinstanz14 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)
- 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.
- 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). - Verfahren nach
Anspruch 1 oder2 , 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. - 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.
- Verfahren nach einem der vorhergehenden Ansprüche, dadurch gekennzeichnet, dass der Prüfdatenblock (32) in einem sicheren Speicher des Steuergeräts (18) gespeichert ist.
- 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.
- 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. - Verfahren nach einem der
Ansprüche 1 bis5 , 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. - 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.
- 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.
- 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.
- 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.
- 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 bis12 auszuführen. - Fahrzeug (12), mit - einem Steuergerät (18), wobei das Steuergerät (18) nach
Anspruch 13 ausgebildet ist. - 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 bis12 auszuführen.
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)
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)
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)
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 |
-
2016
- 2016-10-26 DE DE102016221108.0A patent/DE102016221108A1/de active Pending
-
2017
- 2017-10-25 CN CN201711007309.3A patent/CN107992753B/zh active Active
- 2017-10-26 US US15/794,124 patent/US10423401B2/en active Active
Patent Citations (7)
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 |