Beschreibung
Erkennung und Anzeige von Modifikationen an Softwareständen für Motorsteuergerätesoftware
Gebiet der Erfindung
Die Erfindung betrifft ein Verfahren zur Erkennung einer Modifikation an Softwareständen für Steuergerätesoftware, ins- besondere in einem Motorsteuergerät für Kraftfahrzeuge mit Verbrennungsmotoren (Benzin- oder Dieselmotoren) . Dabei bezeichnet der Begriff Motorsteuerung sowohl ein Motorsteuergerät als auch einen Komplex von Funktionalitäten, die zur Steuerung eines Motors benötigt werden.
Stand der Technik
Die Steuerung der vielfältigen komplizierten Prozesse in modernen Verbrennungskraftmaschinen zählt zu den sehr wichtigen Anwendungsbereichen der Mikroelektronik. Dabei spielen beispielsweise die Regelung der elektronischen Zündsysteme und der Leerlauf-Drehzahl sowie die Lambdaregelung eine herausragende Rolle. Eine aktive Motorregelung und eine adaptive Ge¬ trieberegelung sind wesentliche Mittel zur Anpassung der Sys- teme an die jeweilige Fahrsituation. Diese Regelungsmechanis¬ men werden durch moderne Motorsteuergeräte realisiert.
Die Motorsteuergeräte werden durch die Hersteller mit einer Steuergerätesoftware ausgestattet, die einen genau definier- ten Softwarestand hat. Diese Original-Softwarestände werden zu einem bestimmtem Zeitpunkt erzeugt und stellen jeweils ei¬ nen bestimmten Produktstand dar. Die Original-Softwarestände werden als Produkt an die Kunden ausgeliefert.
Um die Original-Softwarestände jederzeit genau identifizieren zu können und die Konsistenz der Softwarestände zu gewährleisten, werden bei der Standerzeugung aus den Quelldateien
heraus Kennzeichnungen erzeugt und in die Original- Softwarestände eingetragen. Diese Kennzeichnung erfolgt i. d. R. durch den Eintrag einer Checksumme (berechnet aus dem Quellcode) , mit deren Hilfe ein bestimmter Softwarestand spä- ter genau verifiziert werden kann.
Modifikationen der ausgelieferten Original-Softwarestände werden dadurch erkannt, dass im Motorsteuergerät ein Ver¬ gleich der Checksumme einer im Motorsteuergerät aktuell gela- denen Steuergerätesoftware mit der für einen definierten Original-Softwarestand gültigen Checksumme durchführt wird. Sind die beiden verglichenen Checksummen identisch, dann befindet sich im Motorsteuergerät ein unmodifizierter Originalsoft¬ warestand. Der Motorbetrieb wird ohne Einschränkungen zuge- lassen. Weichen die Checksummenwerte voneinander ab, dann ist die aktuell geladene Steuergerätesoftware ein modifizierter Softwarestand und der Motorbetrieb wird gesperrt.
Auf Grund spezifischer Anforderungen der Kunden zur Realisie- rung bestimmter Funktionalitäten der Motorsteuergerätesoftware kann eine Modifikation des Softwarestandes der Steuerge¬ rätesoftware z. B. durch den Kunden erforderlich und zugelassen sein. Um eine solche Modifikation zu ermöglichen und eine Sperrung des Motorbetriebes auszuschließen, wird daher in der Regel die Checksummenprüfung deaktiviert. Das führt jedoch dazu, dass Modifikationen, d. h. zugelassene und nicht zuge¬ lassene, nicht mehr ohne zusätzliche Aktivitäten erkannt wer¬ den.
Welche Funktionalitäten durch eine Modifikation beeinflusst wurden, kann auch bei einer aktivierten Checksummenprüfung nicht direkt rekonstruiert werden. Dazu muss der gesamte Softwarestand aus dem Motorsteuergerät ausgelesen werden und ein anschließend ein Binärvergleich zwischen dem aktuellen Softwarestand und dem Originalstand durchgeführt werden.
In neuerer Zeit existieren am Markt auch Werkzeuge beziehungsweise Software-Tools, mit denen fertige Original- Softwarestände bequem funktionell modifiziert werden können und damit zugelassene Modifikationen realisierbar sind. Häu- fig werden dazu für erforderliche Modifikationen von den Herstellern weiterhin die Checksummenprüfungen deaktiviert oder Tools mit einer Funktion zum Neuberechnen und Update der Checksummeneinträge zur Verfügung gestellt.
Diese Tools können durch eine Modifikation des Softwarestandes eine Änderung der Funktionalitäten der Software herbeiführen, ohne dass auf die Quelldateien des Original- Softwarestandes zurück gegriffen werden muss, d. h. es wird dabei nur der aus den Quelldateien erzeugte Maschinencode der Steuergerätesoftware modifiziert. Das bedeutet, dass eine
Checksummenprüfung (basierend auf den aus den Originalsoft¬ wareständen berechneten Checksummen) bei Deaktivierung der Checksummenprüfung oder Neuberechnung der Checksumme im Zuge der Modifikation keine Erkennung einer Modifikation mehr er- möglicht. Daraus resultiert, dass beim Auslesen der bisheri¬ gen Kennzeichnungen der Softwarestände nicht mehr festge¬ stellt werden kann, ob eine Modifikation vorliegt und der Softwarestand verändert wurde. Das Ergebnis ist, dass die Softwarestände nicht mehr ohne weiteres vor nicht zugelasse- nen Modifikationen geschützt werden können.
Daher kann bei eventuell auftretenden Fehlfunktionen eines Motorsteuergerätes keine sofortige Diagnose getroffen werden, ob der im Motorsteuergerät befindliche Softwarestand über- haupt ein getesteter und freigegebener Originalstand ist. Die verbleibende Möglichkeit für die Erkennung einer Modifikation sowie ihrer Art und des Umfanges ist damit das aufwändige Verfahren zum Auslesen des gesamten Softwarestandes.
Aufgabe
Aufgabe der Erfindung ist es, Möglichkeiten zur Verfügung zu stellen, welche die Erkennung einer Modifikation eines Original-Softwarestandes gewährleisten und gleichzeitig Informati¬ onen über die Art einer festgestellten Modifikation zur Ver- fügung stellen.
Lösung
Diese Aufgabe wird durch die Erfindungen mit den Merkmalen der unabhängigen Ansprüche gelöst. Vorteilhafte Weiterbildun¬ gen der Erfindungen sind in den Unteransprüchen gekennzeichnet. Der Wortlaut sämtlicher Ansprüche wird hiermit durch Be¬ zugnahme zum Inhalt dieser Beschreibung gemacht.
Es werden ein Verfahren und ein Steuergerät, insbesondere ein Motorsteuergerät, vorgeschlagen, welche die Erkennung und An¬ zeige einer Modifikation an einem Softwarestand für eine Steuergerätesoftware in einem Motorsteuergerät gewährleisten.
Im Folgenden werden einzelne Verfahrensschritte näher be¬ schrieben. Die Schritte müssen nicht notwendigerweise in der angegebenen Reihenfolge durchgeführt werden, und das zu schildernde Verfahren kann auch weitere, nicht genannte Schritte aufweisen.
Zunächst wird für einen unmodifizierten Softwarestand (Original-Softwarestand) der Steuergerätesoftware eine Checksumme berechnet. Die Berechnung der Checksumme erfolgt mittels vor¬ gegebener Formeln auf der Grundlage eines in der Informati- onsverarbeitung angewendeten Standardverfahrens.
Diese Checksumme dient der Verifikation eines bestimmten Softwarestandes und ermöglicht das Erkennen von Veränderungen oder Fehlern im Original-Softwarestand. Die nach dem Stan¬ dardverfahren berechnete Checksumme des Originals- Softwarestandes wird in diesen an einer vordefinierten Speicherstelle als Kennzeichnung eingetragen.
Für die Eintragung eines Labels wird im Original- Softwarestand ebenfalls eine vordefinierte Speicherstelle vorgesehen, wobei das Label bei der Modifikation der Steuergerätesoftware durch eine Toolsoftware geschrieben wird und die Art der Modifikation angibt.
An die für das Label vorgesehene Speicherstelle wird in den Original-Softwarestand ein Initialwert eingetragen, der bei der Generierung des Softwarestandes definiert worden ist. Der Initialwert stellt eine bestimmte Zeichenfolge dar.
Für den Betrieb eines Motorsteuergerätes wird eine gegenüber dem Original-Softwarestand eventuell modifizierte Steuergerä¬ tesoftware zur Verfügung gestellt und in das Motorsteuergerät geladen.
Beim Startvorgang des Motorsteuergerätes wird eine Checksum¬ menprüfung der im Motorsteuergerät aktuell geladenen Steuergerätesoftware ausgeführt.
Zunächst wird dabei die Checksumme der aktuell im Motorsteu¬ ergerät geladenen Steuergerätesoftware berechnet. Diese wäh¬ rend des Startvorganges des Motorsteuergerätes berechnete Checksumme wird mit der Checksumme verglichen, die für den Original-Softwarestand berechnet wurde. Durch den Checksum¬ menvergleich wird der Status der aktuell im Motorsteuergerät geladenen Steuergerätesoftware bestimmt.
Entspricht die berechnete Checksumme der für den Original- Softwarestand eingetragenen Checksumme, dann ist die aktuell geladene Steuergerätesoftware nicht modifiziert, d. h. im Mo¬ torsteuergerät befindet sich ein Originalstand der Steuerge¬ rätesoftware.
Entspricht die berechnete Checksumme nicht der für den Origi¬ nal-Softwarestand eingetragenen Checksumme, dann wird eine Modifikation der aktuell geladenen Steuergerätesoftware ge-
genüber dem Original-Softwarestand festgestellt. Die Check¬ summenprüfung der Steuergerätesoftware stellt jedoch nur eine Information darüber zur Verfügung, dass eine Modifikation der Steuergerätesoftware vorliegt.
Eine Aussage darüber, ob die vorliegende Modifikation zuge¬ lassen oder nicht zugelassen ist, kann nach der Checksummenprüfung noch nicht getroffen werden.
Da bei der Checksummenprüfung noch keine Bestimmung der Art der Modifikation erfolgt ist, d. h. ob die festgestellte Mo¬ difikation eine zugelassene oder eine nicht zugelassene Modi¬ fikation darstellt, ist das Verfahren so konzipiert, dass nach dem Erkennen einer Modifikation durch die Checksummen- prüfung als nächster Schritt eine Prüfung der Zulässigkeit der festgestellten Modifikation erfolgt.
Dabei wird zunächst im Motorsteuergerät nach dem Feststellen einer vorhandenen Modifikation die Speicherstelle für das La- bei aus der aktuell geladenen Steuergerätesoftware ausgele¬ sen. Der Wert der ausgelesenen Speicherstelle wird im Mo¬ torsteuergerät mit vorgegebenen Labels verglichen. Diese vor¬ gegebenen Label sind im Motorsteuergerät als Kontrollwerte für eine zugelassene Modifikation gespeichert. Bei einer zu- gelassenen Modifikation durch eine entsprechend konfigurierte Toolsoftware ist der aus der Speicherstelle ausgelesene Wert identisch mit einem vorgegebenen Label. Bei einer nicht zugelassenen Modifikation entspricht der ausgelesene Wert dem im Original-Softwarestand an der Speicherstelle für das Label eingetragenen Initialwert oder einem nicht definierten Wert. Auf diese Weise kann festgestellt werden, ob die in ein Mo¬ torsteuergerät eingebrachte Steuergerätesoftware mit einer zugelassenen Toolsoftware-Konfiguration modifiziert wurde.
Die Steuergerätesoftware ist so konfiguriert, dass nach Fest¬ stellung einer zugelassenen Modifikation der Steuergerätesoftware keine Sperrung des Motorbetriebes erfolgt, jedoch
bei einer nicht zugelassenen Modifikation der Motortrieb gesperrt wird. Die Unterbindung des Motorbetriebes im Falle von erkannten nicht zugelassenen Modifikationen der Steuergerätesoftware kann konfigurierbar (Aktivierung/Deaktivierung) ges- taltet werden. Diese Funktion gewährleistet auf vorteilhafte Weise somit einen Schutz vor ungewollten Veränderungen der Steuergerätesoftware.
Das der Erfindung zugrunde liegende Verfahren hat den Vor- teil, dass es möglich ist, mit Werkzeugen zur Modifikation von Softwareständen zu arbeiten und dabei trotzdem den Überblick über eventuelle Modifikationen zu bekommen. Dabei müssen keine Checksummenprüfungen deaktiviert werden, sodass eine Konsistenzprüfung erhalten bleibt, und auch keine Tools zum Neuberechnen und zum Update von Checksummeneinträgen weiter gegeben werden. Zudem ist es möglich, die Steuergerätesoftware so zu konfigurieren, dass Modifikationen überhaupt nicht mehr zugelassen werden.
Hinzu kommt, dass die Checksummenprüfung nicht deaktiviert werden muss und daher eine Modifikation der Steuergerätesoft¬ ware immer erkannt wird.
Die dargestellten Möglichkeiten zur Konfiguration einer Steu- ergerätesoftware stellen auch einen großen Vorteil im Hinblick auf den Know-How-Schutz und die Beurteilung von Gewährleistungsansprüchen dar, da ein Steuergerätesoftwarestand trotz ermöglichter Modifikationen geschützt werden kann.
Zur unmittelbaren Anzeige einer vorhandenen Modifikation kann das Motorsteuergerät so ausgestattet sein, dass die optische Anzeige einer festgestellten Modifikation über einen Blinkcode einer Diagnoselampe erfolgt. Eine solche optische Anzeige kann sowohl unmittelbar auf einem Display in einem Fahrzeug integriert sein oder Bestandteil eines Mess- und Diagnosesys¬ tems oder eines Testers sein. Für den Benutzer eines Steuergerätes ist dadurch direkt erkennbar, ob sich in dem Mo-
torsteuergerät ein Original-Softwarestand oder ein modifi¬ zierter Stand befindet.
In einer weiteren vorteilhaften Ausgestaltung gewährleistet das Verfahren, dass die in dem Label enthaltenen Informatio¬ nen einem Mess- und Kalibrationssystem oder einem verfügbaren Tester für eine weitere Anzeige und Analyse zur Verfügung ge¬ stellt werden. Das bedeutet, dass nach der Erkennung einer Modifikation der aktuell geladenen Steuergerätesoftware der ausgelesene Wert des Labels über eine Schnittstelle an ein
Mess- und Kalibrationssystem oder Tester übertragen wird. Im Mess- und Kalibrationssystem oder Tester werden die ausgelesenen Daten angezeigt.
Bei dem Verfahren ist bei einer zugelassenen Modifikation durch eine definierte Toolsoftware das implementierte Label derart ausgebildet, dass es mindestens eine der folgenden In¬ formationen enthält:
- liegt eine zugelassene oder eine nicht zugelassene Modifi- kation vor; und/oder
- welcher Benutzer der Toolsoftware hat die Modifikation der Steuergerätesoftware ausgeführt; und/oder
- welche Funktionalitäten der Steuergerätesoftware wurden mo¬ difiziert .
Wie oben beschrieben, ist die Erkennung einer nicht zugelassenen Modifikation dadurch gegeben, dass sich in diesem Fall an der vorgesehenen Speicherstelle für das Label noch der bei der Generierung des Original-Softwarestandes eingetragene I- nitialwert befindet, oder dass an dieser Speicherstelle ein nicht definierter Wert eingetragen ist.
Jede für eine zugelassene Modifikation an einen Benutzer ausgelieferte Toolsoftware-Konfiguration ist genau definiert und realisiert bei der Modifikation einer Steuergerätesoftware die Implementierung eines Labels, welches auch die Informati¬ on darüber enthält, welcher Benutzer die Toolsoftware verwen-
det hat. Ebenfalls sind in dem implementierten Label auch die Informationen darüber enthalten, welche Funktionalitäten der Steuergerätesoftware durch die verwendete Toolsoftware in Ü- bereinstimmung mit den spezifischen Anforderungen des Benut- zers modifiziert wurden.
Zum Zwecke der genaueren Eingrenzung einer Modifikation kann eine Aufteilung der Steuergerätesoftware in eine Mehrzahl von Bereichen realisiert werden, wobei dabei jeweils eine Check- summe pro Bereich berechnet wird. Dazu wird der Original- Softwarestand so konfiguriert, dass mehrere Software-Bereiche entstehen. Für jeden dieser Bereiche wird eine separate Checksumme gebildet. Diese separaten Checksummen werden je¬ weils in dem betreffenden Softwarebereich an einer vorgesehe- nen Speicherstelle eingetragen. Ebenso wird für jeden Bereich ein Initialwert generiert, der an der für die Implementierung eines Labels vorgesehenen Speichestelle eingetragen wird. Der oben bereits beschriebene Überprüfungsmechanismus für die Er¬ kennung und Anzeige einer Modifikation der Steuergerätesoft- wäre wird bei der Existenz von mehreren Softwarebereichen separat für jeden dieser Softwarebereiche durchgeführt.
Ebenfalls gehört zum Umfang der Erfindung ein Computerpro¬ gramm (Toolsoftware) zur Modifikation einer Steuergerätesoft- wäre in einem Motorsteuergerät. Die Toolsoftware schreibt ein Label an eine vordefinierte Speicherstelle der Steuergeräte¬ software, nachdem die Steuergerätesoftware durch die Tool¬ software modifiziert wurde, wobei das Label die Art der Modi¬ fikation angibt, d. h. das Label enthält Informationen dar- über, ob eine zugelassen oder eine nicht zugelassene Modifi¬ kation vorliegt. Die Toolsoftware kann auch verschlüsselte Informationen darüber enthalten, wo sich die Speicherstelle für das Label befindet und welchen Inhalt das Label hat. Die¬ se Verschlüsselung hat den Vorteil, dass für den Benutzer der Toolsoftware nicht offensichtlich ist, wo und mit welchem In¬ halt das Label geschrieben wird.
Zur Erfindung gehört ein Motorsteuergerät. In dieses ist eine gegenüber einem Original-Softwarestand eventuell modifizierte Steuergerätesoftware geladen. Das Motorsteuergerät ist mit Mitteln zum Berechnen der Checksumme einer im Motorsteuerge- rät geladenen Steuergerätesoftware ausgestattet. Diese Check¬ summenberechnung wird beim Startvorgang ausgeführt. Ebenfalls ist das Motorsteuergerät mit Mitteln versehen, welche die Durchführung eines Vergleichs zwischen der berechneten Checksumme und einer in einer vorgegebenen Speicherstelle der Steuergerätesoftware eingetragen Checksumme für den Original- Softwarestand gewährleisten. Weiterhin sind im Motorsteuerge¬ rät Mittel zum Entscheiden vorhanden, dass bei Übereinstimmung der Checksummen die geladene Steuergerätesoftware nicht modifiziert ist, und dass bei Nicht-Übereinstimmung der Checksummen die geladene Steuergerätesoftware modifiziert ist .
Das Motorsteuergerät besitzt auch Mittel zum Auslesen eines durch eine Toolsoftware für eine zugelassenen Modifikation der Steuergerätesoftware geschriebenen Labels. Das Label gibt die Art der Modifikation an. Dabei sind die Mittel zum Ausle¬ sen derart ausgebildet, dass sie das Label nur bei einer festgestellten Modifikation auslesen.
Weitere Einzelheiten und Merkmale der Erfindung ergeben sich aus der nachfolgenden Beschreibung von bevorzugten Ausführungsbeispielen in Verbindung mit den Unteransprüchen. Hierbei können die jeweiligen Merkmale für sich alleine oder zu mehreren in Kombination miteinander verwirklicht sein. Die
Erfindung ist nicht auf die Ausführungsbeispiele beschränkt.
Die Ausführungsbeispiele sind in den Figuren schematisch dar¬ gestellt. Gleiche Bezugsziffern in den einzelnen Figuren be- zeichnen dabei gleiche oder funktionsgleiche bzw. hinsicht¬ lich ihrer Funktionen einander entsprechende Elemente. Im Einzelnen zeigt:
Fig. 1 ein Prinzipschema eines Motorsteuergerätes;
Fig. 2 ein Prinzipschema des Verfahrens zur Erkennung und Anzeige einer Modifikation an einem Softwarestand einer MotorSteuergerätesoftware; Fig. 3 ein Prinzipschema der Kennzeichnung des Software¬ standes einer Motorsteuergerätesoftware;
Fig. 3A ein Prinzipschema der Kennzeichnung des Original- Softwarestandes einer Motorsteuergerätesoftware;
Fig. 3B ein Prinzipschema der Kennzeichnung eines modifi- zierten Softwarestandes einer Motorsteuergeräte¬ software;
Fig. 4 ein Prinzipschema des Auslesens der Informationen aus einem Label; und
Fig. 5 ein Prinzipschema der Kennzeichnung des Software- Standes einer Motorsteuergerätesoftware bei Auftei¬ lung der Steuergerätesoftware in mehrere Bereiche.
In Fig. 1 ist das Prinzipschema einer Motorsteuerung 100 dar- gestellt. Bei der Motorsteuerung 100 erfolgen der Signalfluss 102 von den verschiedenen Sensoren und Sollwertgebern (z. B. Fahrpedaleinstellung, Drosselklappenstellung, Luftmasse, Batteriespannung, Ansauglufttemperatur, Motortemperatur, Klopfintensität, Lambda-Sonden) und der Signalfluss 104 (z. B. Kurbelwellendrehzahl, Nockenwellenstellung, Getriebestufe,
Geschwindigkeit) über die Input/Output-Ports 106 und 108 und weiter von den Ports über die Verbindungen 110 und 112 zum MikroController 114 und seinen Komponenten. Im OTP-Block (O- ne-Time Programmable-Block) 116 ist das Programm gespeichert, welches der MikroController 114 ausführen soll. Der Daten- fluss zwischen MikroController 114 und OTP-Block 116 erfolgt über die Verbindung 118. Über die Verbindung 120 erfolgt der Datentransfer zwischen dem MikroController 114 und dem CAN- Bus 122. Der CAN-Bus 122 ermöglicht es, alle Geräte über ein einziges Kabel miteinander zu vernetzen. Der Datentransfer zwischen dem MikroController 114 und einem Diagnosesystem 124 erfolgt über die Verbindung 126.
Der MikroController 114 mit seinen Komponenten realisiert seine Funktionen auf der Grundlage des im OTP-Block 116 ge¬ speicherten Programms. Nach der Verarbeitung der Signale von den Sensoren und Sollwertgebern 102, 104 im MikroController 114 erfolgt der weitere Signalfluss vom MikroController 114 über die Verbindungen 128, 130, 132, 134 und über die In- put/Output-Ports 136, 138, 140, 142 zu den verschieden Akto¬ ren 144 (z. B. Zündspulen und Zündkerzen), 146 (z. B. Dros- selklappensteller) , 148 (z. B. Einspritzventile) und 150 (z. B. Hauptrelais, Motordrehzahlmesser, Kraftstoffpumpenrelais, Heizung Lambda-Sonde, Nockenwellensteuerung, Tankentlüftung, Saugrohrumschaltung, Sekundärluft, Abgasrückführung) .
Auf Grund einer steigenden Anzahl ihrer zahlreichen Ein- und Ausgangsgrößen sind diese Regelungen in Kraftfahrzeugen sehr komplex, sodass zur Realisierung dieser Aufgaben moderne Regelungssysteme auf der Basis von MikroControllern 114 einge¬ setzt werden.
Da in modernen Fahrzeugen immer zahlreichere unterschiedliche Sensoren zum Einsatz kommen, deren Messdaten zeitnah berücksichtigt werden müssen, ist die Anzahl der Input-/Output- Ports 106, 108, 136, 138, 140, 142 einer Motorsteuerung 100 ständig vergrößert worden. Daher werden zunehmend Mikrocont- roller 114 mit sehr hoher Rechenleistung eingesetzt, wobei die Funktionalitäten der Steuergerätesoftware modifizierbar sind, damit sie in effektiver Weise an die spezifischen Bedürfnisse der verschiedenen Benutzer angepasst werden können.
In Fig. 2 ist das Prinzipschema des Verfahrens zur Erkennung und Anzeige einer Modifikation an einem Softwarestand einer Motorsteuergerätesoftware dargestellt. Das Motorsteuergerät 100 wird in Schritt 202 gestartet. Beim Startvorgang 202 wird in Schritt 204 die Checksumme der aktuell im Motorsteuergerät geladenen Steuergerätesoftware berechnet. Die berechnete Checksumme der aktuell im Motorsteuergerät geladenen Steuer-
gerätesoftware wird in Schritt 206 mit der in den Original- Softwarestand eingetragenen Checksumme verglichen. In Schritt 208 wird entschieden, ob die verglichenen Checksummen übereinstimmen oder nicht, d. h. es erfolgt eine Ja-Nein Verzwei- gung des Verfahrensablaufes.
Sind die in Schritt 204 berechnete Checksumme und die in den Original-Softwarestand eingetragene Checksumme identisch, dann wird in Schritt 210 die aktuell geladene Steuergeräte- Software als nicht modifiziert eingestuft. Infolgedessen wird in Schritt 212 der Motorbetrieb zugelassen.
Ist die berechnete Checksumme nicht mit der in den Original- Softwarestand eingetragenen Checksumme identisch, dann wird in Schritt 214 eine Modifikation der aktuell geladenen Steuergerätesoftware erkannt. Diese erkannte Modifikation kann über eine Diagnoselampe 216 optisch signalisiert werden.
Nach der Erkennung der Modifikation erfolgt in Schritt 218 das Auslesens der Speicherstelle für das Label. In Schritt 220 wird der ausgelesene Wert der für das Label definierten Speicherstelle mit vorgegebenen Werten für charakteristische Label verglichen, welche bei der Modifikation durch eine Toolsoftware geschrieben werden.
In Schritt 222 wird entschieden, ob der Werte der ausgelese¬ nen Speicherstelle für das Label mit den vordefinierten Werten für ein charakteristisches Label übereinstimmen oder nicht, d. h. es erfolgt eine weitere Ja-Nein Verzweigung des Verfahrensablaufes.
Stimmt der ausgelesene Wert der Speicherstelle mit den Anfor¬ derungen an die charakteristischen Merkmale eines Labels ü- berein, dann wird in Schritt 224 die Modifikation als zuge- lassen eingestuft und in Schritt 226 wird der Motorbetrieb zugelassen.
Ist der aus der Speicherstelle für das Label ausgelesene Wert identisch mit dem in den Original-Softwarestand eingetragenen Initialwert oder enthält die Speicherstelle einen nicht defi¬ nierten Wert, dann wird in Schritt 228 die Modifikation als nicht zugelassen eingestuft und in Schritt 230 wird in Abhän¬ gigkeit von der Konfiguration der Original- Steuergerätesoftware beispielsweise der Motorbetrieb nicht zugelassen.
Die im Label enthaltenen Informationen können einem Mess- und Kalibrationssystem/Tester für eine weitere Auswertung und A- nalyse zur Verfügung gestellt werden.
Fig. 3 zeigt ein Prinzipschema der Kennzeichnung eines Soft- warestandes vor und nach einer Modifikation.
In Fig. 3A ist eine Original-Steuergerätesoftware 302 mit ei¬ ner Kennzeichnung 304 versehen. Auf dem Detailausschnitt 306 dieser Kennzeichnung 304 sind als erstes Kennzeichnungsmerk- mal die eingetragene Original-Checksumme 308 und als zweites Kennzeichnungsmerkmal der an der Speicherstelle für das Label eingetragene Initialwert 310 dargestellt.
In Fig. 3B wurde eine modifizierte Steuergerätesoftware 312 mit einer modifizierten Kennzeichnung 314 versehen. Der Detailausschnitt 316 dieser modifizierten Kennzeichnung 314 zeigt, dass die modifizierte Steuergerätesoftware als erstes Kennzeichnungsmerkmal die eingetragene Original-Checksumme 308 der Original-Software und als zweites Kennzeichnungsmerk- mal das durch die Toolsoftware eingetragene Label 318 auf¬ weist .
Fig. 4 zeigt ein vereinfachtes Prinzipschema für die Anzeige des Softwarestandes einer Steuergerätesoftware. Wird bei¬ spielsweise bei der Checksummenprüfung im Motorsteuergerät eine Modifikation der Steuergerätesoftware erkannt, d. h. die Checksumme der nicht modifizierten Original- Steuergerätesoftware und die Checksumme der aktuell im Steu-
ergerät geladenen Software sind nicht identisch. Diese er¬ kannte Modifikation wird über eine Diagnoselampe 216 optisch angezeigt. Einem angeschlossenen Mess- und Kalibrations- system/Tester 404 werden die aus dem Speicherplatz für das Label ausgelesenen Informationen zur Verfügung gestellt.
Im vorliegenden Beispiel hat das ausgelesene Label 406 einen durch eine Toolsoftware eingetragenen charakteristischen Wert und enthält die Information, dass die erkannte Modifikation zugelassen ist. Die Anzeige 408 über die Art der festgestell¬ ten Information signalisiert, dass eine zugelassene Modifika¬ tion vorliegt. Diese angezeigte Information 408 über eine zu¬ gelassene Modifikation begründet die Anzeige 410 über eine Zulassung des Motorbetriebes. In Fig. 5 wird das Prinzip der Kennzeichnung des Softwarestandes einer Motorsteuergerätesoftware bei einer Aufteilung der Software in mehrere Bereiche dargestellt. Die Motorsteu¬ ergerätesoftware 502 ist mit dem Ziel einer besseren Eingrenzung einer Modifikation beispielsweise in drei Softwareberei- che 504, 506 und 508 geteilt. Jeder dieser Softwarebereiche
504, 506 und 508 ist mit einer Kennzeichnung 510, 512 und 514 versehen. Die Kennzeichnung jedes Bereiches besteht im Detail 511, 513 und 515 aus einer eigenen Original-Checksumme 516, 518 und 520 und dem durch die Toolsoftware bei einer Modifi- kation eingetragenen Label 522, 524, 526. Das bedeutet, dass pro Softwarebereich 504, 506 und 508 eine Checksumme exis¬ tiert.
Das der Erfindung zugrunde liegende Verfahren zur Erkennung und Anzeige von Modifikationen der Steuergerätesoftware er¬ folgt in dem dargestellten Beispielfall für jeden der Softwarebereiche 504, 506 und 508.