-
Die
Erfindung betrifft ein Verfahren zur Durchführung einer automotiven Anwendung,
ein Steuergerät
zur Durchführung
mindestens einer automotiven Anwendung, einen Steuergeräteverbund, ein
Computerprogramm und ein Computerprogrammprodukt.
-
Stand der Technik
-
Eine
manipulationssichere Ablage von Applikationsdaten von Anwendungen
für Steuergeräte in Kraftfahrzeugen,
bspw. für
einen Parametersatz für eine
Leistungsbestimmung des Motors, wird zur Zeit in den Steuergeräten gar
nicht oder nur rudimentär berücksichtigt.
-
Im
Tuning-Markt wird dies jedoch dazu genutzt, diese Applikationsdaten
zu manipulieren, um bspw. eine Leistungssteigerung des Motors herbeizuführen oder
zusätzliche
Funktionen eines Steuergeräts
freizuschalten.
-
Um
derartige Manipulationen zu unterbinden werden bspw. vereinzelt
Passwortschutzmechanismen zum Schutz einer Speichereinheit (Flash-Memory)
vor Veränderungen
eingesetzt. Bei einer derartigen Vorgehensweise ist jedoch zu berücksichtigen, dass
im Rahmen einer Massenproduktion von Steuergeräten üblicherweise ein Passwort für alle Steuergeräte gilt,
da aus produktionstechnischen Gründen Steuergeräten keine
individuellen Passwörter
vergeben werden können.
Falls es einem potentiellen Manipulator gelingt, dieses eine Passwort
zu ermitteln, eröffnet
sich ihm die Möglichkeit,
alle Applikationsdatensätze
einer Steuergeräteversion
zu manipulieren und einen entsprechenden wirtschaftlichen Schaden für einen
Originalgerätehersteller
(OEM, original equipment manufacturer) zu verursachen.
-
Als
Sicherheitsmaßnahme
der Informationstechnik ist bekannt, über einen Parametersatz einen
sog. Streuwert bzw. Hash-Wert zu bilden. Der üblicherweise aus Binärwerten
von Applikationsdaten einer Anwendung berechnete Hash-Wert ist ein-ein-deutig.
Falls nun die Applikationsdaten der Anwendung geändert werden sollten, ruft
dies zugleich eine Änderung
des Hash-Werts hervor. Demnach stellt der Hash-Wert einen Fingerabdruck
der Applikationsdaten dar.
-
Offenbarung der Erfindung
-
Bei
dem erfindungsgemäßen Verfahren
zur Durchführung
einer automotiven Anwendung wird ein aktueller Fingerabdruck der
Anwendung über
die aktuellen Applikationsdaten der Anwendung gebildet. Weiterhin
wird dieser aktuelle Fingerabdruck mit einem ursprünglichen
Fingerabdruck verglichen. Falls sich der aktuelle Fingerabdruck
von dem ursprünglichen
Fingerabdruck unterscheiden sollte, so dass zwischen diesen beiden
Fingerabdrücken
ein Unterschied vorliegt, wird statt der Anwendung eine Ersatzbehandlung
ausgeführt.
Falls die beiden Fingerabdrücke
identisch sind, wird die Anwendung ausgeführt.
-
Der
aktuelle Fingerabdruck unterscheidet sich von dem ursprünglichen
Fingerabdruck typischerweise dann, wenn sich die aktuellen Applikationsdaten
von den ursprünglichen
Applikationsdaten unterscheiden, was bedeutet, dass die Applikationsdaten
der Anwendung ausgehend von den ursprünglichen Applikationsdaten,
die in der Regel bei einer Werkseinstellung bereitgestellt werden,
manipuliert worden sind.
-
Somit
ist es mit dem Verfahren u. a. möglich, die
jeweils aktuellen Applikationsdaten durch Prüfung des aktuellen Fingerabdrucks
auf Echtheit und somit Integrität
zu überprüfen, da
sich der Fingerabdruck mit einer Änderung der Applikationsdaten ebenfalls ändert. Die
automotive Anwendung kann demnach nur dann durchgeführt werden,
wenn die aktuellen Applikationsdaten mit den ursprünglichen Applikationsdaten übereinstimmen.
-
In
Ausgestaltung ist vorgesehen, dass der ursprüngliche Fingerabdruck mit der
Streuwertfunktion bzw. einer Hash-Wert-Funktion über die üblichen Applikationsdaten der
Anwendung gebildet und zur Durchführung eines späteren Vergleichs
manipulationssicher abgelegt und somit gespeichert wird.
-
Bei
der betriebsbegleitenden Bestimmung des aktuellen Fingerabdrucks
wird dieser auch mit der Streuwertfunktion über die aktuellen Applikationsdaten
gebildet.
-
Zur
Bildung der beschriebenen Fingerabdrücke wird eine Topologie und/oder
Struktur der automotiven Anwendung und somit der jeweiligen Applikationsdaten
berücksichtigt.
Weiterhin wird zur Bildung und insbesondere zur Berechnung des ursprünglichen
und eines jeweils aktuellen Fingerabdrucks jeweils dieselbe Streuwertfunktion
bzw. Hash-Wert-Funktion benutzt.
-
In
Ausgestaltung der Erfindung ist vorgesehen, dass eine Variante des
Verfahrens für
mindestens ein Steuergerät,
das zur Durchführung
der Anwendung ausgebildet ist, durchgeführt wird. Dabei wird mindestens
ein Teil des ursprünglichen
Fingerabdrucks auf dem mindestens einen Steuergerät wenigstens
einmal abgelegt. Eine Variante des Verfahrens kann weiterhin für einen
Steuergeräteverbund, der
mindestens ein Steuergerät, üblicherweise
mindestens zwei Steuergeräte,
zur Durchführung
der Anwendung umfasst, durchgeführt
werden.
-
Um
die Integrität
der Applikationsdaten zu sichern, wird zunächst mit einem geeigneten Streuwert-/bzw.
Hash-Verfahren, bspw. MD5 (Message-Digest Algorithm 5) oder SHA
(Secure Hash Algorithm), der Fingerabdruck, der typischerweise dem Streu-
bzw. Hash-Wert entspricht, von den relevanten Applikationsdaten
ermittelt. Dieser ermittelte, ursprüngliche Fingerabdruck kann
innerhalb des mindestens einen Steuergeräts mehrfach abgelegt werden.
Weiterhin ist es möglich,
diesen ursprünglichen Fingerdruck
auf verschiedene Steuergeräte
zu verteilen. Falls der Fingerabdruck auf verschiedene Steuergeräte verteilt
wird, kann vorgesehen sein, dass je Steuergerät nur ein definierter Teil
des Fingerabdruck gültig
ist. Der Fingerabdruck kann, falls eine Durchführung der Anwendung vorgesehen
ist, über
verschiedene Kommunikationskanäle
zwischen den mindestens zwei Steuergeräten von den mindestens zwei
Steuergeräte,
auf denen mindestens ein Teil des Fingerabdrucks abgelegt bzw. gespeichert ist, übertragen
werden.
-
Der
aktuelle und/oder ursprüngliche
Fingerabdruck kann in einem empfangenden Steuergerät zusammengeführt bzw.
zusammengesetzt werden, so dass von dem mindestens einen Steuergerät die Applikationsdaten
auf Veränderung
geprüft
werden können.
-
Bei
einem möglichen
Schritt des Verfahrens erfolgt der Vergleich der Fingerabdrücke im Rahmen einer
verschlüsselten
Kommunikation des mindestens einen Steuergeräts bei Betrieb dieses mindestens
einen Steuergeräts.
Innerhalb des Steuergeräteverbunds
tauschen mindestens zwei Steuergeräte Fingerabdrücke bei
verschlüsselter
Kommunikation aus. Weiterhin kann ein zum Verschlüsseln der
Kommunikation vorgesehener Schlüssel
dynamisch verändert
werden. Durch Vorsehen der Verschlüsselung kann die Kommunikation
zwischen den einzelnen Steuergeräten
geschützt
werden. Der dynamisch veränderbare
Schlüssel
wird allen Steuergeräten bzw.
Komponenten auf einem typischerweise bereits geschützten Kommunikationsweg
mitgeteilt.
-
Die
Erfindung betrifft weiterhin ein Steuergerät zur Durchführung mindestens
einer automotiven Anwendung, das dazu ausgebildet ist, einen aktuellen
Fingerabdruck über
aktuelle Applikationsdaten der mindestens einen automotiven Anwendung
zu bilden und mit einem ursprünglichen
Fingerabdruck dieser mindestens einen automotiven Anwendung zu vergleichen,
so dass das Steuergerät
bei Vorliegen eines Unterschieds zwischen den beiden Fingerabdrücken dazu
ausgebildet ist, statt der Anwendung eine Ersatzbehandlung auszuführen.
-
Der
erfindungsgemäße Steuergeräteverbund
zur Durchführung
mindestens einer automotiven Anwendung weist mindestens ein beschriebenes,
erfindungsgemäßes Steuergerät auf.
-
Dieses
beschriebene Steuergerät
und der Steuergeräteverbund,
der mindestens zwei erfindungsgemäße Steuergeräte zur Durchführung der mindestens
einen automotiven Anwendung aufweist, ist zur Durchführung mindestens
eines Schritts des erfindungsgemäßen Verfahrens,
bspw. zur Bildung des Fingerabdrucks über die Applikationsdaten mit einer
Streuwertfunktion, ausgebildet. Außerdem können einzelne Funktionen des
Steuergeräts
sowie des Steuergeräteverbunds,
wobei einzelne Funktionen auch durch Wechselwirkung zwischen Steuergeräten im Rahmen
einer Kommunikation realisiert werden können, als Schritte des erfindungsgemäßen Verfahrens
realisiert werden.
-
Innerhalb
des Steuergeräteverbunds
ist in einer Ausführungsform
bei einer Kommunikation zwischen mindestens zwei Steuergeräten zur
Realisierung einer Anwendung vorgesehen, dass ein sendendes Steuergerät die aktuellen
Applikationsdaten zu der Anwendung mindestens einem empfangenden
Steuergerät übermittelt,
das über
die empfangenen aktuellen Applikationsdaten mittels der Streuwertfunktion
einen aktuellen Fingerabdruck bildet und somit berechnet. Weiterhin
vergleicht das mindestens eine empfangende Steuergerät diesen
gebildeten aktuellen Fingerabdruck mit einem ursprünglichen
Fingerabdruck der Anwendung, der an dem mindestens einen empfangenden
Steuergerät
abgelegt bzw. gespeichert ist. Somit ist es möglich, dass das mindestens
eine empfangende Steuergerät
bei Vorliegen eines Unterschieds zwischen den beiden Fingerabdrücken statt
der Durchführung
der Anwendung die Ersatzbehandlung ausführt.
-
Die
Erfindung betrifft außerdem
ein Computerprogramm mit Programmcodemitteln, um alle Schritte eines
beschriebenen Verfahrens durchzuführen, wenn das Computerprogramm
auf einem Computer oder eine entsprechenden Recheneinheit, insbesondere
in einem beschriebenen Steuergerät und
demnach auch in einem Steuergeräteverbund, ausgeführt wird.
-
Das
erfindungsgemäße Computerprogrammprodukt
mit Programmcodemitteln, die auf einem computerlesbaren Datenträger gespeichert sind,
ist zur Durchführung
aller Schritte eines beschriebenen Verfahrens ausgebildet, wenn
das Computerprogramm auf einem Computer oder einer entsprechenden
Recheneinheit, insbesondere in einem vorgestellten Steuergerät und somit
auch in dem vorgestellten Steuergeräteverbund, ausgeführt wird.
-
Je
nach Art der Anwendung kann vorgesehen sein, dass ein ursprünglicher
Fingerabdruck nur über
einen definierten Teil oder Bereich der Applikationsdaten gebildet
wird. Bei der Prüfung
der Integrität
eines derartigen Teils oder Bereichs wird der aktuelle Fingerabdruck
entsprechend nur über
diesen Teil oder Bereich der Applikationsdaten gebildet. Allerdings
sind auch der Teil oder Bereich von Applikationsdaten als Applikationsdaten
ausgebildet Mit der Erfindung ist es somit u. a. möglich, Applikationsdaten
oder definierte Bereiche von Applikationsdaten manipulationssicher,
verteilt und redundant auf dem mindestens einen Steuergerät bzw. dem
Steuergeräteverbund
abzulegen.
-
Der
aktuelle Fingerabdruck wird jeweils betriebsbegleitend aus den aktuellen
Applikationsdaten gebildet bzw. abgeleitet und hierzu insbesondere
mit der Streuwertfunktion berechnet. Die aktuellen Applikationsdaten
unterscheiden sich nach einer Manipulation und somit Veränderung
von den ursprünglichen
Applikationsdaten. Somit kann die automotive Anwendung bei Durchführung des
Verfahrens nur dann ausgeführt
werden, wenn die aktuellen Applikationsdaten den ursprünglichen
Applikationsdaten als Referenz entsprechen. Zum Vergleichen der
aktuellen Applikationsdaten mit den ursprünglichen Applikationsdaten
als Referenz ist lediglich der ursprüngliche Fingerabdruck erforderlich,
der nur einen geringen Speicherplatz benötigt.
-
Neben
dieser Grundfunktion können
im Rahmen der Erfindung auch weitere Optionen realisiert werden.
Diese können
bspw. eine Absicherung von Codes und/oder Daten in sicherheitsrelevanten
Steuergeräten,
bspw. für
ABS, ESP oder X-By-Wire und somit zum Einsatz mechanischer Verbindungen,
eingesetzt werden.
-
Zusammenfassend
kann durch die Erfindung eine Integrität von Applikationsdaten definiert
werden, was bspw. durch Bestimmung und somit auch Festlegung des
ursprünglichen
Fingerabdrucks auf Grundlage der ursprünglichen Applikationsdaten
der Anwendung ab Werk erfolgen kann. Weiterhin ist die Verteilung
des Fingerabdrucks der Applikationsdaten auf das Steuergerät bzw. den
Steuergeräteverbund vorgesehen.
Die Überprüfung der
Integrität
der jeweils aktuellen Applikationsdaten erfolgt dadurch, indem der
aktuelle Fingerabdruck der aktuellen Applikationsdaten mit dem ursprünglichen
Fingerabdruck verglichen wird.
-
Somit
wird mit der Erfindung u. a. ein Zugriffsschutz auf Daten und insbesondere
Applikationsdaten für
eingebettete Systeme bzw. embedded systems realisiert. Hierbei wird
in Ausgestaltung die Topologie und/oder Struktur von automativen
Anwendungen im Kraftfahrzeugbereich und der Applikationsdaten derartiger
Anwendungen genutzt.
-
Für den Fall,
dass im Rahmen eines Vergleichs des aktuellen Fingerabdrucks mit
dem ursprünglichen
Fingerabdruck ein Unterschied festgestellt wird, bedeutet dies üblicherweise,
dass der aktuelle Fehlerabdruck und somit auch die aktuellen Applikationsdaten
fehlerhaft sind. In Folge dessen kann eine stufenweise Ersatzbehandlung
unter Berücksichtigung
verschiedener Eskalationsstufen durchgeführt werden.
-
Dabei
ist es möglich,
einen Eintrag über
die Fehlerhaftigkeit des aktuellen Fingerabdrucks und somit der
aktuellen Applikationsdaten in einem typischerweise elektronischen
Logbuch des Fahrzeugs oder des mindestens einen Steuergeräts vorzunehmen
und dabei zu speichern. Die Fehlerhaftigkeit des aktuellen Fingerabdrucks
kann weiterhin durch Aufleuchten einer Fehlerlampe und/oder ein
akustisches Signal signalisiert werden. Bezüglich einer Funktion des mindestens
einen Steuergeräts
und somit ggf. auch des Steuergeräteverbunds kann zur Realisierung
der Ersatzbehandlung ein Notfallbetrieb vorgesehen sein. Demnach
wird statt der eigentlich durchzuführenden Anwendung mit den fehlerhaften,
aktuellen Applikationsdaten eine alternative standardisierte Anwendung
durchgeführt.
Weiterhin ist es auch möglich,
den Betrieb des mindestens einen Steuergeräts und somit auch des Steuergeräteverbunds
einzustellen. Dies kann auch bedeuten, dass ein Fahrbetrieb des
Fahrzeugs, das das mindestens eine Steuergerät aufweist, eingestellt wird.
Die vorgesehene Ersatzbehandlung kann dezentral und/oder verteilt
auf verschiedenen Komponenten und somit Steuergeräten abgehandelt
werden.
-
Mit
der Erfindung wird u. a. eine Integrität und ein Schutz von Daten
und insbesondere Applikationsdaten realisiert, so dass im automotiven
Bereich eine Sicherheit von Fahrzeugen gesteigert werden kann. Die
Erfindung kann in der Fertigung von Steuergeräten, die für Fahrzeuge vorgesehen sind,
eingesetzt werden, wobei der ursprüngliche Fingerabdruck auf Grundlage
der ursprünglichen
Applikationsdaten bereitgestellt wird.
-
Weitere
Vorteile und Ausgestaltungen der Erfindung ergeben sich aus der
Beschreibung und der beiliegenden Zeichnung.
-
Es
versteht sich, dass die voranstehend genannten und die nachstehend
noch zu erläuternden Merkmale
nicht nur in der jeweils angegebenen Kombination, sondern auch in
anderen Kombinationen oder in Alleinstellung verwendbar sind, ohne
den Rahmen der vorliegenden Erfindung zu verlassen.
-
Kurze Beschreibung der Zeichnungen
-
1 zeigt
eine Ausführungsform
eines Steuergeräteverbunds
mit zwei Steuergeräten
sowie eine Anwendung in schematischer Darstellung bei Durchführung eines
Schritts einer Varianten des erfindungsgemäßen Verfahrens.
-
2 zeigt
in schematischer Darstellung die beiden Steuergeräte aus 1 bei
Durchführung
eines weiteren Schritts einer Ausführungsform des erfindungsgemäßen Verfahrens.
-
Ausführungsform
der Erfindung
-
Die
Erfindung ist anhand eines Ausführungsbeispiels
in der Zeichnungen schematisch dargestellt und wird im folgenden
unter Bezugnahme auf die Zeichnungen ausführlich beschrieben.
-
Die
Figuren werden zusammenhängend
und übergreifend
beschrieben, gleiche Bezugszeichen bezeichnen gleiche Komponenten.
-
Der
in 1 schematisch dargestellte Steuergeräteverbund 2 umfasst
ein erstes Steuergerät 4 sowie
ein zweites Steuergerät 6,
die in der vorliegenden Ausführungsform
denselben strukturellen Aufbau aufweisen. Bei einem Betrieb der
Steuergeräte 4, 6 ist
vorgesehen, dass die beiden Steuergeräte 4, 6 mindestens
eine Anwendung 8 ausführen.
In der anhand von 1 gezeigten Situation ist vorgesehen,
dass die beiden Steuergeräte 4, 6 im
Rahmen eines Schritts einer Ausführungsform
eines erfindungsgemäßen Verfahrens
bei einer Fertigung auf die Durchführung dieser Anwendung eingestellt
werden.
-
Im
Werk ist vorgesehen, dass die gezeigte Anwendung 8 ursprüngliche
Applikationsdaten 10, die vom Hersteller vorgesehen sind,
aufweist. Bei Ausführung
des Verfahrens wird durch eine Streuwertfunktion 12 aus
den ursprünglichen
Applikationsdaten 10 ein ursprünglicher Fingerabdruck 14 berechnet
und somit gebildet. Dieser ursprüngliche
Fingerabdruck 14 für
die Anwendung 8 wird auf jedes Steuergerät 4, 6 übertragen
und weiterhin auf dem jeweiligen Steuergerät 4, 6 abgelegt.
-
2 zeigt
die beiden Steuergeräte 4, 6 mit dem
jeweils abgelegten ursprünglichen
Fingerabdruck 14 bei einer Ausführungsform des erfindungsgemäßen Verfahrens
innerhalb des Steuergerätverbunds 2 in
schematischer Darstellung. Bei Betrieb der Steuergeräte 4, 6 ist
vorgesehen, dass das erste, hier sendende Steuergerät 4 im
Rahmen einer Kommunikation mit dem hier zweiten, empfangenden Steuergerät 6 die
Anwendung 8 übermittelt
und somit das zweite, empfangenden Steuergerät 6 dazu auffordert,
die Anwendung 8 auszuführen.
Es ist vorgesehen, dass die Anwendung 8 nunmehr aktuelle
Applikationsdaten 16 aufweist. Vor einer Durchführung der
Anwendung 8 bildet das empfangende Steuergerät 6 über die
Streuwertfunktion 12 aus den aktuellen Applikationsdaten 16 der
Anwendung 8 einen aktuellen Fingerabdruck 18.
-
Im
Fortgang des Verfahrens ist vorgesehen, dass eine Überprüfung 20 des
aktuellen Fingerabdrucks 18 erfolgt. Hierbei wird im Rahmen
der Überprüfung der
aktuelle Fingerabdruck 18 mit dem ursprünglichen Fingerabdruck 14 der
Anwendung 8 verglichen.
-
Ein
Zweck des beschriebenen Verfahrens ist u. a., eine Integrität der aktuellen
Applikationsdaten 16 zu überprüfen, so dass die Anwendung 8 nur
dann durchgeführt
werden kann, wenn diese aktuellen Applikationsdaten 16 nicht
manipuliert worden sind und somit den ursprünglichen Applikationsdaten 14 entsprechen.
Falls die aktuellen Applikationsdaten 16 geändert worden
sein sollten, ist in Ausgestaltung des Verfahrens vorgesehen, dass
statt der Anwendung 8 eine Ersatzbehandlung 22 erfolgt.
-
Die Überprüfung 20 der
Integrität
der aktuellen Applikationsdaten 16 erfolgt durch Vergleich
der aktuellen Applikationsdaten 18 mit den ursprünglichen
Applikationsdaten 14.
-
Falls
der aktuelle Fingerabdruck 18 mit dem ursprünglichen
Fingerabdruck 14 übereinstimmt,
so stimmen auch die aktuellen Applikationsdaten 16 mit den
ursprünglichen
Applikationsdaten 10 überein,
so dass das Verfahren nach erfolgter Überprüfung 20 derart fortgeführt wird,
dass die Anwendung 8 ausgeführt wird, was in 2 durch
die gestrichelte Umrandung der Anwendung 8 im unteren Abschnitt
von 2 schematisch dargestellt ist.
-
Falls
der aktuelle Fingerabdruck 18 mit dem ursprünglichen
Fingerabdruck nicht übereinstimmt, entsprechen
die aktuellen Applikationsdaten 16 nicht den ursprünglichen
Applikationsdaten 10 der Anwendung 8, so dass
davon ausgegangen wird, dass die aktuellen Applikationsdaten 16 verändert worden sind.
In diesem Fall wird nach erfolgter Überprüfung 20 die Ersatzbehandlung 22 fortgeführt, was
bspw. bedeuten kann, dass die Anwendung 8 nur eingeschränkt oder
modifiziert durchgeführt
wird, wobei üblicherweise
vorgesehen ist, dass eine zusätzliche Maßnahme und/oder
eine zu der Anwendung 8 alternative Vorgehensweise ergriffen
wird.