-
Die Erfindung betrifft ein Verfahren zur Reprogrammierung eines oder mehrerer Steuergeräte eines Fahrzeugs. Die Erfindung betrifft weiterhin ein Steuergerät für ein Fahrzeug.
-
In modernen Kraftfahrzeugen sind sog. elektronische Wegfahrsperren realisiert, die verhindern sollen, dass die Kraftfahrzeuge unbefugt in Betrieb genommen werden können. Die Wegfahrsperre wird üblicherweise nach Abschaltung der Zündung automatisch aktiviert. Um sie beim Einschalten der Zündung wieder außer Betrieb zu setzen, wird meist ein in einem Berechtigungstoken (Token) integrierter RFID-Chip verwendet, der sich gegenüber dem Fahrzeug authentifiziert. Der Token ist beispielsweise ein Fahrzeugschlüssel, eine Chipkarte oder dergleichen. Bekannt sind auch Schlüsselanhänger mit galvanischen Kontakten, die in einen entsprechenden Steckplatz des Fahrzeugs eingesteckt werden müssen, oder eine Zahlentastatur im Fahrzeug, in die ein PIN-Code zur Deaktivierung der Wegfahrsperre eingegeben werden muss.
-
Moderne Wegfahrsperren erteilen einem oder mehreren Steuergeräten, z. B. einem Motorsteuergerät (ECU – Electronic Control Unit) und/oder einem Getriebesteuergerät, über eine elektronische Kommunikation eine Freigabe, ohne die der Motor nicht anspringt oder ein Gang nicht eingelegt werden kann. Diese Kommunikation erfolgt meist über ein Fahrzeug-Bussystem und ist mehr oder weniger stark verschlüsselt. Eine Freigabe wird durch das jeweilige Steuergerät dann erteilt, wenn eine erfolgreiche Authentifizierung des Berechtigungstokens gegenüber der Wegfahrsperre vorliegt. Bei Wegfahrsperren aktueller Generation ist sowohl die Kommunikation zwischen dem Token und der Wegfahrsperre zur Authentifizierung eines berechtigten Fahrers anhand seines Tokens als auch die Kommunikation zwischen Wegfahrsperre und Motorsteuergerät zur Freigabe des Fahrzeugs kryptographisch abgesichert.
-
Neben einer ersten Softwarekomponente mit Funktionalität bezüglich der Steuerung wenigstens einer Fahrzeugfunktion umfasst zumindest eines der Steuergeräte üblicherweise eine zweite Softwarekomponente mit Wegfahrsperrenfunktionalität. Die erste und die zweite Softwarekomponente sind in dem Steuergerät in einem Speicher hinterlegt, welcher mehrfach beschrieben werden kann. Eine Reprogrammierung eines Steuergeräts findet beispielsweise dann statt, wenn die erste Software-Komponente einen Fehler aufweist, um eine Funktionalität erweitert wird oder allgemein aktualisiert wird. Prinzipbedingt wird dabei auch immer die zweite Softwarekomponente, welche die Wegfahrsperrenfunktionalität umfasst, neu in den Speicher eines jeweiligen Steuergeräts eingeschrieben. Das Austauschen des Software-Codes der ersten und zweiten Softwarekomponente wird als Reprogrammierung bezeichnet.
-
Aus Gründen des Manipulationsschutzes muss die Reprogrammierung eines Steuergeräts gegen nicht autorisierte Reprogrammierungsversuche abgesichert werden. Beispielsweise könnte die prinzipielle Möglichkeit der Reprogrammierung durch unbefugte Dritte dazu genutzt werden, die Wegfahrsperrenfunktionalität der zweiten Softwarekomponente dahingehend zu ändern, dass eine Authentifizierung gegenüber anderen, an sich nicht berechtigten, Berechtigungstokens ermöglicht wird. Es muss deshalb unter allen Umständen verhindert werden, dass eine „fremde” Software auf ein Steuergerät aufgespielt werden kann, um Manipulationen beim Authentifizierungsvorgang, bei dem sich der Berechtigungstoken gegenüber einem jeweiligen Steuergerät authentifiziert, zu verhindern.
-
Es ist in diesem Zusammenhang bekannt, die neu auf das Steuergerät aufzubringende Software mit einer Signatur zu versehen, um gegenüber dem Steuergerät anzuzeigen, dass eine gültige Software vorliegt. Hierdurch wird zwar ein verbesserter Manipulationsschutz bereitgestellt, allerdings ist es auch möglich, die Signatur zu fälschen.
-
Es ist daher Aufgabe der vorliegenden Erfindung, ein Verfahren anzugeben, mit dem eine Manipulation der Wegfahrsperre beim Reprogrammieren eines Steuergeräts eines Fahrzeugs verhindert werden kann. Es ist weiterhin Aufgabe der vorliegenden Erfindung, ein Steuergerät anzugeben, bei dem bei einer Reprogrammierung ein erhöhter Schutz gegenüber Manipulation gegeben ist.
-
Diese Aufgaben werden gelöst durch ein Verfahren gemäß den Merkmalen des Patentanspruchs 1 und ein Steuergerät gemäß den Merkmalen des Patentanspruchs 11. Vorteilhafte Ausgestaltungen ergeben sich aus den jeweiligen abhängigen Patentansprüchen.
-
Die Erfindung schafft ein Verfahren zur Reprogrammierung eines oder mehrerer Steuergeräte eines Fahrzeugs. Bei diesem wird eine Überprüfung durchgeführt, ob eine gültige Authentifizierung eines Berechtigungstokens gegenüber dem Fahrzeug vorliegt. Ein Berechtigungstoken im Sinne der Erfindung ist beispielsweise ein Fahrzeugschlüssel oder eine Chipkarte, welche entweder drahtlos mit dem Fahrzeug kommuniziert oder in ein korrespondierendes Zündschloss bzw. eine Lesevorrichtung zur Kommunikation eingesteckt werden kann. Im Rahmen der Authentifizierung werden zwischen dem Berechtigungstoken und dem Fahrzeug Daten ausgetauscht, wobei überprüft wird, ob ein in dem Berechtigungstoken gespeichertes Geheimnis durch das Fahrzeug verifiziert werden kann. In einem weiteren Schritt wird ausschließlich in dem Fall, dass eine gültige Authentifizierung des Berechtigungstokens gegenüber dem Fahrzeug vorliegt, eine Reprogrammierung eines jeweiligen Steuergeräts durchgeführt.
-
Bei dem erfindungsgemäßen Verfahren wird der Reprogrammierungsablauf erst dann ermöglicht, wenn eine erfolgreiche Authentifizierung zwischen dem Berechtigungstoken und dem Fahrzeug stattgefunden hat, d. h. eine Entriegelung der Wegfahrsperre vorliegt.
-
Hierdurch erhöht sich die Sicherheit des Austauschs von Softwarekomponenten im Rahmen der Reprogrammierung. Es wird verhindert, dass unberechtigte Dritte, welche nicht über den Berechtigungstoken verfügen, eine Reprogrammierung eines oder mehrerer Steuergeräte vornehmen können, um die darin gespeicherte Software zu manipulieren. Gegenüber der Signatur-Überprüfung des im Rahmen der Reprogrammierung an das Steuergerät übertragenen Software-Codes ergibt sich eine deutlich einfachere Handhabung. Insbesondere ist keine Erstellung und Weiterleitung von Steuergeräte-individuellen Signaturen erforderlich. Hierdurch kann Arbeitszeit eingespart werden. Ferner ist die logistische Infrastruktur für den Reprogrammierungsprozess einfacher bereitstellbar. Dies ergibt sich dadurch, dass keinerlei Anpassungen des Reprogrammierungsablaufs gegenüber dem derzeit gebräuchlichen Vorgehen vorgenommen werden müssen.
-
Gemäß einer zweckmäßigen Ausgestaltung wird durch ein jeweiliges Steuergerät überprüft, ob eine gültige Authentifizierung des Berechtigungstokens gegenüber dem zu reprogrammierenden Steuergerät vorliegt. Die Durchführung der Reprogrammierung kann bereits dann unterbunden werden, wenn sich der Berechtigungstoken gegenüber lediglich einem einzigen zu reprogrammierenden Steuergerät nicht authentifizieren konnte. Alternativ kann eine Reprogrammierung auch lediglich bezüglich derjenigen Steuergeräte verhindert werden, gegenüber denen eine gültige Authentifizierung nicht vorliegt.
-
Zweckmäßigerweise erfolgt die Überprüfung der Authentifizierung und/oder die Reprogrammierung unter Steuerung eines jeweiligen, zu reprogrammierenden Steuergeräts. Da die Entscheidung, ob eine Reprogrammierung zugelassen wird oder nicht, durch das Steuergerät selbst getroffen wird, ist eine maximale Sicherheit gegenüber Manipulationen gegeben. Insbesondere brauchen dadurch keine weiteren, besonders gesicherten Rechner zur Durchführung des erfindungsgemäßen Verfahrens bereitgestellt werden, wodurch sich dieses auf einfache und kostengünstige Weise in den Arbeitsprozess der Hersteller der Fahrzeuge einbinden lässt.
-
Es ist insbesondere vorgesehen, dass bei einer gültigen Authentifizierung des Berechtigungstokens gegenüber dem Fahrzeug oder einem jeweiligen Steuergerät eine die Authentifizierung repräsentierende Information in zumindest einem der Steuergeräte gespeichert wird, deren Vorhandensein oder Inhalt durch ein jeweiliges zu reprogrammierendes Steuergerät überprüft wird. Hierdurch ist zur Überprüfung der Authentifizierung eine Datenkommunikation mit Rechnern oder Vorrichtungen außerhalb des Fahrzeugs notwendig, wodurch ein weiter verbesserter Manipulationsschutz geschaffen ist.
-
Weiterhin wird bei der Reprogrammierung eines jeweiligen Steuergeräts ein individuelles Datum an das zu reprogrammierende Steuergerät übertragen, dessen Existenz und/oder individueller Wert für eine erfolgreiche Reprogrammierung eines jeweiligen Steuergeräts erforderlich ist. Hierdurch wird verhindert, dass Daten, die beispielsweise durch das Aufzeichnen eines erfolgreichen Code-Austausches im Rahmen einer Reprogrammierung gewonnen wurden, bei einem anderen Steuergerät, insbesondere einem identischen Steuergerät eines anderen Fahrzeugs, ebenfalls zum Austauschen des Software-Codes verwendet werden können. Hierdurch ergibt sich eine weiter erhöhte Sicherheit, da für jede Reprogrammierung eines Steuergeräts um das individuelle Datum unterschiedliche Daten ausgetauscht werden können. Das individuelle Datum wird wiederum für die Durchführung der bestimmungsgemäßen Funktionalität des Steuergeräts benötigt.
-
Insbesondere ist das individuelle Datum eine in dem Berechtigungstoken gespeicherte Information. Es kann sich beispielsweise um eine Schlüssel-ID des Berechtigungstokens handeln, welcher beispielsweise für jedes Fahrzeug eineindeutig ist.
-
Es kann weiterhin vorgesehen sein, dass das individuelle Datum bei der Authentifizierung des Berechtigungstokens gegenüber dem Fahrzeug (oder einem jeweiligen Steuergerät) an das Fahrzeug bzw. ein jeweiliges Steuergerät übertragen wird.
-
Es ist weiterhin vorteilhaft, wenn die Authentifizierung des Berechtigungstokens gegenüber dem Fahrzeug bzw. einem jeweiligen Steuergerät Bestandteil des Reprogrammierungsprozesses ist. Bevorzugt erfolgt die Übertragung des individuellen Datums an das zu reprogrammierende Steuergerät deshalb zu Beginn der Reprogrammierung.
-
In einer weiteren Ausgestaltung ist vorgesehen, dass auf einem jeweiligen zu reprogrammierenden Steuergerät eine erste Software-Komponente zur Bereitstellung einer Wegfahrsperre und eine zweite Software-Komponente, welche zur Steuerung wenigstens einer Fahrzeugfunktion ausgebildet ist, gespeichert sind, wobei die Reprogrammierung einen Austausch der ersten und der zweiten Software-Komponente umfasst.
-
Es ist weiterhin zweckmäßig, wenn in einem jeweiligen Steuergerät eine nicht-beschreibbare und nicht-änderbare dritte Software-Komponente vorgesehen ist, durch welche die Steuerung der Reprogrammierung erfolgt. Die dritte Software-Komponente kann Bestandteil eines sog. Boot-Loaders (Urlader) sein, der beispielsweise durch die Firmware des Steuergeräts von einem bootfähigen Speicher geladen und anschließend ausgeführt wird. Der Boot-Loader lädt dann weitere Teile des Betriebssystems des Steuergeräts. Üblicherweise ist die Architektur eines Steuergeräts derart ausgestaltet, dass die dritte Software-Komponente durch Dritte nicht auslesbar und/oder manipulierbar ist.
-
Die Erfindung schafft weiterhin ein Steuergerät für ein Fahrzeug. Dieses umfasst ein erstes Mittel zur Überprüfung, ob eine gültige Authentifizierung eines Berechtigungstokens gegenüber dem Fahrzeug vorliegt. Es umfasst weiter ein zweites Mittel, dass dazu ausgebildet ist, ausschließlich in dem Fall, dass eine gültige Authentifizierung des Berechtigungstokens gegenüber dem Fahrzeug vorliegt, eine Reprogrammierung eines jeweiligen Steuergeräts durchzuführen.
-
Das erfindungsgemäße Steuergerät weist die gleichen Vorteile auf, wie diese vorstehend in Verbindung mit dem erfindungsgemäßen Verfahren erläutert wurden.
-
Insbesondere weist das erfindungsgemäße Steuergerät weitere Mittel zur Durchführung des oben beschriebenen Verfahrens auf.
-
Die Erfindung wird nachfolgend näher anhand eines Ausführungsbeispiels in der Zeichnung beschrieben. Es zeigen:
-
1 eine schematische Darstellung eines Fahrzeugs, in dem das erfindungsgemäße Verfahren verwirklicht ist, und
-
2 eine schematische Darstellung der in einem erfindungsgemäßen Steuergerät vorgesehenen Software-Komponenten.
-
1 zeigt die aus dem Stand der Technik bekannten Komponenten eines Steuergerät-Netzwerks. An ein Kommunikationsnetzwerk 20, z. B. einen Bus, sind beispielhaft vier Steuergeräte 12, 14, 16, 18 angeschlossen. Das Steuergerät 12 stellt die Funktionalität eines Zündschlosses bereit. Das Steuergerät 12 ist zur Datenkommunikation 22 mit einem Token 10 ausgebildet. Der Token 10 kann beispielsweise ein Schlüssel oder eine Chipkarte sein. Die Datenkommunikation zwischen dem Token 10 und dem Steuergerät 12 kann wahlweise kontaktlos oder kontaktbehaftet erfolgen. Das Steuergerät 14 ist beispielsweiseein Motorsteuergerät (Electronic Control Unit – ECU). Das Steuergerät 16 stellt beispielsweise ein Getriebesteuergerät für ein Automatikgetriebe dar, welches vermittels elektronischer Steuersignale einen Gangwechsel des Getriebes vornimmt. Das Steuergerät 18 dient beispielsweise zur mechanischen Lenkungsverriegelung.
-
Jedes der Steuergeräte 14, 16, 18 weist eine erste Softwarekomponente 52 mit Funktionalität bezüglich der Steuerung seiner jeweiligen Fahrzeugfunktion (Motorsteuerung, Getriebesteuerung, Lenkungsverriegelung) auf. Ferner ist jeweils eine zweite Softwarekomponente 54 mit Wegfahrsperrenfunktionalität vorgesehen. Die erste und zweite Softwarekomponente 52, 54 sind üblicherweise in einem Speicher oder einem Teilbereich eines gemeinsamen Speichers eines jeweiligen Steuergeräts angeordnet, welcher bei Softwarefehlern oder neuen Features mit einer aktualisierten Software beschrieben werden kann. Dieser Vorgang wird als Reprogrammierung bezeichnet.
-
In jedem der Steuergeräte 14, 16, 18 ist ferner eine dritte Software-Komponente 56 vorgesehen, welche einen sog. Boot-Loader umfasst. Ein Boot-Loader ist ein Urlader, eine spezielle Software, die gewöhnlich durch die Firmware des Steuergeräts von einem bootfähigen Medium geladen und anschließend ausgeführt wird. Der Boot-Loader lädt dann weitere Teile des Betriebssystems. Die dritte Software-Komponente ist in einem besonders geschützten, nicht-manipulierbaren Bereich eines Speichers des jeweiligen Steuergeräts 14, 16, 18 vorgesehen.
-
Die in einem jeweiligen Steuergerät vorgesehenen Softwarekomponenten sind in 2 schematisch dargestellt und in ihrer Gesamtheit mit 50 gekennzeichnet.
-
Die in 1 dargestellten Komponente zeigen beispielhaft die für die Realisierung der Funktionalität einer Wegfahrsperre notwendigen Elemente. In einer einfacheren Ausgestaltung könnte die Wegfahrsperre auch lediglich durch ein einziges der Steuergeräte 14, 16, 18 ausgebildet sein.
-
Die Wegfahrsperre wird üblicherweise nach Abschalten der Zündung, d. h. nach einer Unterbrechung der Datenkommunikation zwischen dem Token 10 und dem Steuergerät 12, automatisch aktiviert. Um beim Einschalten der Zündung, d. h. bei einer Kommunikation zwischen dem Token 10 und dem Steuergerät 12 die Wegfahrsperre außer Betrieb zu setzen, findet eine Authentifizierung des Tokens 10 gegenüber einem jeweiligen, Wegfahrsperrenfunktionalität aufweisenden Steuergerät, statt. Im vorliegenden Ausführungsbeispiel sind dies sämtliche der Steuergeräte 14, 16, 18. Da der Vorgang der Authentifizierung aus dem Stand der Technik prinzipiell bekannt ist, wird auf eine eingehendere Beschreibung an dieser Stelle verzichtet.
-
Bei einer gültigen Authentifizierung des Tokens 10 gegenüber einem jeweiligen der Steuergeräte 14, 16, 18 wird eine die Authentifizierung repräsentierende Information in einem jeweiligen der Steuergeräte gespeichert, deren Vorhandensein oder Inhalt durch ein jeweiliges zu reprogramierendes Steuergerät überprüft wird, um seine bestimmungsgemäße Funktionalität auszuführen. Ist diese Information in einem jeweiligen Steuergerät (oder einem zentralen Speicher) nicht vorhanden, so wird die Funktionalität der Motorsteuerung und/oder der Getriebesteuerung und/oder der Lenkradentriegelung unterbunden. Die zweite Software-Komponente eines jeweiligen Steuergeräts 14, 16, 18 erteilt der ersten Software-Komponente 52 des betreffenden Steuergeräts nur dann eine Freigabe bezüglich der Steuerung einer Fahrzeugfunktion, wenn eine gültige Authentifizierung des Berechtigungstokens 10 vorliegt.
-
Um eine unbefugte Reprogrammierung eines jeweiligen Steuergeräts 14, 16, 18 zu verhindern, wird durch ein jeweiliges Steuergerät überprüft, ob eine gültige Authentifizierung des Tokens 10 gegenüber dem betreffenden Steuergerät 14, 16, 18 vorliegt. Ausschließlich in dem Fall, dass eine gültige Authentifizierung des Tokens 10 gegenüber dem zu reprogrammierenden Steuergerät vorliegt, wird eine Reprogrammierung dieses Steuergeräts durch das Steuergerät selbst zugelassen.
-
Der Vorgang der Authentifizierung, der Überprüfung, ob eine Authentifizierung erfolgt ist und die Steuerung des gesamten Reprogrammierungsprozesses erfolgt somit durch ein jeweiliges Steuergerät selbst. Durch die Kopplung der Wegfahrsperrenfunktionalität und der Reprogrammierung ergibt sich ein verbesserter Manipulationsschutz gegenüber einer unbefugten Reprogrammierung. Da der Reprogrammierungsablauf hierdurch nicht beeinflusst wird, ist der Handling- und Implementierungsaufwand minimal. Darüber hinaus ist die Logistik zur Verteilung passenden Software-Codes einfacher, da auf die Verwendung von Signaturen verzichtet werden kann.
-
Der Reprogrammierungsablauf wird durch das Steuergerät selbst erst dann freigegeben, wenn bereits eine erfolgreiche Entriegelung der Wegfahrsperre durch die Authentifizierung des Tokens gegenüber dem betreffenden Steuergerät stattgefunden hat.
-
Wird die Authentifizierung in den Reprogrammierungsprozess einbezogen, so ist der Reprogrammierungsprozess individualisiert, wodurch eine weitere Erhöhung der Sicherheit erreicht ist. Es wird sichergestellt, dass bei der Reprogrammierung identischer Steuergeräte (z. B. einer Anzahl an identischen Motorsteuergeräten verschiedener Fahrzeuge) um die Authentifizierung unterschiedliche Informationen zwischen einem Reprogrammierungs-Rechner und dem zu reprogrammierenden Steuergerät übertragen werden. Hierdurch wird verhindert, dass Daten, die durch das Aufzeichnen eines erfolgreichen Code-Austausches durch einen Angreifer gewonnen wurden, bei einem anderen Steuergerät zum Austauschen des Software-Codes verwendet werden können.
-
Nachdem die Fahrzeugsperralgorithmen und -kennungen ihrer Natur nach individuell pro Fahrzeug und Steuergerät sind, ist durch die Kopplung der Mechanismen der Wegfahrsperre und der Reprogrammierung auch der Reprogrammierungsablauf individualisiert.