DE19963208A1 - Verfahren zum Manipulationsnachweis einer programmierbaren Speichereinrichtung eines digitalen Steuergeräts - Google Patents
Verfahren zum Manipulationsnachweis einer programmierbaren Speichereinrichtung eines digitalen SteuergerätsInfo
- Publication number
- DE19963208A1 DE19963208A1 DE19963208A DE19963208A DE19963208A1 DE 19963208 A1 DE19963208 A1 DE 19963208A1 DE 19963208 A DE19963208 A DE 19963208A DE 19963208 A DE19963208 A DE 19963208A DE 19963208 A1 DE19963208 A1 DE 19963208A1
- Authority
- DE
- Germany
- Prior art keywords
- programming
- information
- reprogramming
- memory area
- stored
- 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.)
- Granted
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/70—Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer
- G06F21/78—Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer to assure secure storage of data
- G06F21/79—Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer to assure secure storage of data in semiconductor storage media, e.g. directly-addressable memories
-
- F—MECHANICAL ENGINEERING; LIGHTING; HEATING; WEAPONS; BLASTING
- F02—COMBUSTION ENGINES; HOT-GAS OR COMBUSTION-PRODUCT ENGINE PLANTS
- F02D—CONTROLLING COMBUSTION ENGINES
- F02D41/00—Electrical control of supply of combustible mixture or its constituents
- F02D41/24—Electrical control of supply of combustible mixture or its constituents characterised by the use of digital means
- F02D41/2406—Electrical control of supply of combustible mixture or its constituents characterised by the use of digital means using essentially read only memories
- F02D41/2425—Particular ways of programming the data
-
- F—MECHANICAL ENGINEERING; LIGHTING; HEATING; WEAPONS; BLASTING
- F02—COMBUSTION ENGINES; HOT-GAS OR COMBUSTION-PRODUCT ENGINE PLANTS
- F02D—CONTROLLING COMBUSTION ENGINES
- F02D41/00—Electrical control of supply of combustible mixture or its constituents
- F02D41/24—Electrical control of supply of combustible mixture or its constituents characterised by the use of digital means
- F02D41/26—Electrical control of supply of combustible mixture or its constituents characterised by the use of digital means using computer, e.g. microprocessor
-
- 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
- G05—CONTROLLING; REGULATING
- G05B—CONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
- G05B2219/00—Program-control systems
- G05B2219/20—Pc systems
- G05B2219/24—Pc safety
- G05B2219/24142—Program has a protected, independent part and a free programmable part
Landscapes
- Engineering & Computer Science (AREA)
- General Engineering & Computer Science (AREA)
- Computer Hardware Design (AREA)
- General Physics & Mathematics (AREA)
- Mechanical Engineering (AREA)
- Combustion & Propulsion (AREA)
- Physics & Mathematics (AREA)
- Chemical & Material Sciences (AREA)
- Computer Security & Cryptography (AREA)
- Theoretical Computer Science (AREA)
- Microelectronics & Electronic Packaging (AREA)
- Automation & Control Theory (AREA)
- Software Systems (AREA)
- Storage Device Security (AREA)
- Stored Programmes (AREA)
- Combined Controls Of Internal Combustion Engines (AREA)
Abstract
Die Erfindung betrifft ein Verfahren zum Manipulationsnachweis einer programmierbaren Speichereinrichtung (2) eines digitalen Steuergeräts (1) für ein Kraftfahrzeug, wobei in der Speichereinrichtung (2) Daten und Steuerprogramme zum Betrieb des Steuergeräts (1) und zur Steuerung/Regelung von bestimmten Funktionen des Kraftfahrzeugs ablegbar sind. Um auf möglichst einfache Weise einen besonders zuverlässigen Manipulationsnachweis zu ermöglichen, wird vorgeschlagen, dass einhergehend mit jedem Programmierungs-/Umprogrammierungsvorgang der programmierbaren Speichereinrichtung (2) Informationen über den Programmierungs-/Umprogrammierungsvorgang in einem separaten Speicherbereich (8) der Speichereinrichtung (2) abgespeichert werden, in dem nur gelesen und programmiert werden kann, und dass zum Nachweis einer Manipulation der Inhalt des separaten Speicherbereichs (8) ausgelesen und mit vorgegebenen Informationen verglichen wird.
Description
Die vorliegende Erfindung betrifft ein Verfahren zum
Manipulationsnachweis einer programmierbaren
Speichereinrichtung eines digitalen Steuergeräts für ein
Kraftfahrzeug, wobei in der Speichereinrichtung Daten und
Steuerprogramme zum Betrieb des Steuergeräts und zur
Steuerung/Regelung von bestimmten Funktionen des
Kraftfahrzeugs ablegbar sind. Die vorliegende Erfindung
betrifft außerdem ein externes Programmiergerät zum
Programmieren und/oder Umprogrammieren eines Flash-
Speichers eines digitalen Steuergeräts für ein
Kraftfahrzeug, wobei in dem Flash-Speicher Daten und
Steuerprogramme zum Betrieb des Steuergeräts und zur
Steuerung/Regelung von bestimmten Funktionen des
Kraftfahrzeugs ablegbar sind. Die Erfindung betrifft
schließlich ein digitales Steuergerät für ein
Kraftfahrzeug mit einer programmierbaren
Speichereinrichtung zum Speichern von Daten und
Steuerprogrammen zum Betrieb des Steuergeräts und zur
Steuerung/Regelung von bestimmten Funktionen des
Kraftfahrzeugs.
Ein Verfahren zum Manipulationsnachweis einer
programmierbaren Speichereinrichtung der eingangs genannten
Art ist bspw. aus der DE 196 15 105 A1 bekannt. Ein dort
offenbartes Steuergerät enthält einen Mikrocomputer, eine
erste programmierbare Speichereinrichtung und eine zweite
programmierbare Speichereinrichtung. Die erste
Speichereinrichtung ist als ein löschbarer, nicht
flüchtiger Flash-EPROM ausgebildet. Die zweite
Speichereinrichtung ist als ein EEPROM ausgebildet. In der
ersten programmierbaren Speichereinrichtung werden Daten
und Steuerprogramme zum Betrieb des Steuergeräts und zur
Steuerung/Regelung von bestimmten Funktionen des
Kraftfahrzeugs abgelegt. Der Mikrocomputer arbeitet zur
Ausübung der ihm zugeteilten Steuerungs-/Regelungsfunktion
und zur Selbststeuerung die Steuerprogramme ab, die
zusammen mit ggf. zu deren Ausführung benötigten Daten in
der ersten Speichereinrichtung abgelegt sind.
Zum Programmieren/Umprogrammieren des Steuergeräts ist ein
externes Programmiergerät vorgesehen, das über eine
serielle Schnittstelle mit dem Steuergerät verbunden ist.
Das Programmiergerät veranlasst das Steuergerät, die in der
ersten Speichereinrichtung gespeicherten Daten und/oder
Steuerprogramme zu löschen und dann ein neues
Steuerprogramm und/oder neue Daten in der ersten
programmierbaren Speichereinrichtung abzuspeichern.
Einhergehend mit der Programmierung/Umprogrammierung der
ersten Speichereinrichtung, d. h. vor, während und/oder
nach dem Löschen und/oder Überschreiben der ersten
Speichereinrichtung, wird der Programmierungs-/
Umprogrammierungsvorgang durch Abspeichern entsprechender
Informationen in der zweiten programmierbaren
Speichereinrichtung dokumentiert. Dabei ist dem Abspeichern
der Informationen während des Programmier-/
Umprogrammiervorgangs der Vorzug gegeben, weil durch eine
zeitliche Verschachtelung der Programmierung/
Umprogrammierung der ersten Speichereinrichtung und dem
Abspeichern der Informationen in der zweiten
Speichereinrichtung die Möglichkeiten einer
Umprogrammierung der ersten Speichereinrichtung ohne
Informationen über den Programmierungs-/
Umprogrammierungsvorgang in dem zweiten Speicherbereich
abzuspeichern am geringsten sind.
Aufgrund der in der zweiten Speichereinrichtung
abgespeicherten Informationen lassen sich verschiedene
Aussagen treffen. Einerseits können Störungen bei der
Programmierung/Umprogrammierung des Steuergeräts aufgrund
eines fehlerhaften externen Programmiergeräts schnell und
fehlerfrei detektiert werden. Andererseits kann eine
unbefugte Manipulation des Steuerprogramms in der ersten
Speichereinrichtung erkannt und anhand der abgespeicherten
Informationen u. U. sogar auf den unbefugten Manipulator
zurückgeführt werden. Das Erkennen einer unbefugten
Manipulation des Steuergeräts ist von Bedeutung, da durch
ein fehlerhaftes bzw. ein nicht auf einen fehlerfreien
Betrieb der Brennkraftmaschine des Kraftfahrzeugs
ausgerichtetes Steuerprogramm Defekte an dem Steuergerät
oder an den von dem Steuergerät gesteuerten bzw. geregelten
Aggregaten des Kraftfahrzeugs auftreten können. Eine
unbefugte Manipulation des Steuerprogramms führt in der
Regel zu einem Ausschluss von Garantie- und
Haftungsansprüchen.
Bei dem aus dem Stand der Technik bekannten Verfahren ist
es nachteilig, dass es bei einem herkömmlichen Steuergerät,
das nur die erste programmierbare Speichereinrichtung
aufweist, nicht ohne weiteres einsetzbar ist. Das
Steuergerät muss zunächst um die zweite programmierbare
Speichereinrichtung erweitert werden. Zusätzlich muss der
Mikrocomputer des Steuergeräts nicht nur Zugriff auf die
erste Speichereinrichtung, sondern auch auf die zweite
programmierbare Speichereinrichtung haben. Die in der
zweiten Speichereinrichtung abzuspeichernden Informationen
über den Programmierungs-/Umprogrammierungsvorgang sind
zudem sehr komplex, wodurch sich die Dauer zum
Programmieren/Umprogrammieren der Speichereinrichtung des
Steuergeräts erheblich verlängert.
Weiterhin kommt hinzu, dass die zweite Speichereinrichtung
vor dem Abspeichern der Informationen gelöscht werden muss.
Das bedeutet, dass die zweite Speichereinrichtung von
beliebigen Personen, die über entsprechende Kenntnisse und
Hardware verfügen, auch unbefugterweise gelöscht und mit
neuen Informationen überschrieben werden kann. Mit dem aus
dem Stand der Technik bekannten Verfahren kann eine
unbefugte Manipulation des Steuerprogramms des Steuergeräts
somit nicht zuverlässig nachgewiesen werden.
Es ist somit die Aufgabe der vorliegenden Erfindung, ein
Verfahren der eingangs genannten Art dahingehend
auszugestalten und weiterzubilden, dass auf einfache Weise
eine unbefugte Manipulation des Steuerprogramms in dem
Steuergerät zuverlässig nachgewiesen werden kann.
Deshalb schlägt die Erfindung ausgehend von dem Verfahren
der eingangs genannten Art vor, dass einhergehend mit jedem
Programmierungs-/Umprogrammierungsvorgang der
programmierbaren Speichereinrichtung Informationen über den
Programmierungs-/Umprogrammierungsvorgang in einem
separaten Speicherbereich der Speichereinrichtung
abgespeichert werden, in dem nur gelesen und programmiert
werden kann, und dass zum Nachweis einer Manipulation der
Inhalt des separaten Speicherbereichs ausgelesen und mit
vorgegebenen Informationen verglichen wird.
Das erfindungsgemäße Verfahren hat den Vorteil, dass die
Informationen über den Programmierungs-/
Umprogrammierungsvorgang nicht wie beim Stand der Technik
in einer zweiten programmierbaren Speichereinrichtung,
sondern innerhalb der programmierbaren Speichereinrichtung,
in der auch das Steuerprogramm abgespeichert wird,
abgespeichert werden. Die Informationen werden innerhalb
der Speichereinrichtung in einem Speicherbereich
abgespeichert, in dem nur gelesen und programmiert werden
kann, der also nicht gelöscht werden kann. Dem
Speicherbereich fehlen die hardwaremäßigen Voraussetzungen
(z. B. eine Leitung zum Löschen), um ihn zu löschen.
Deshalb ist es auch unter keinen Umständen möglich, diesen
Speicherbereich der programmierbaren Speichereinrichtung zu
löschen.
Die in dem Speicherbereich abgespeicherten Informationen
über den Programmierungs-/Umprogrammierungsvorgang können
dokumentiert werden. Wenn das Kraftfahrzeug dann in eine
Werkstatt kommt und Garantieansprüche geltend gemacht
werden oder die Speichereinrichtung des Steuergeräts
umprogrammiert werden soll, kann der Inhalt des separaten
Speicherbereichs ausgelesen und mit dem dokumentierten
Inhalt des Speicherbereichs verglichen werden. Falls die in
dem separaten Speicherbereich gespeicherten Informationen
mit den dokumentierten Informationen übereinstimmen, hat
keine unbefugte Manipulation des Steuergeräts
stattgefunden. Falls die aus dem Speicherbereich
ausgelesenen Information nicht mit den dokumentierten
Informationen übereinstimmen, hat eine unbefugte
Manipulation des Steuergeräts stattgefunden. In einem
solchen Fall können bspw. Gewährleistungs- oder
Haftungsansprüche verweigert werden.
Gemäß einer bevorzugten Weiterbildung der vorliegenden
Erfindung wird vorgeschlagen, dass in dem Speicherbereich
der programmierbaren Speichereinrichtung Informationen über
die kumulierte Anzahl der Programmierungs-/
Umprogrammierungsvorgänge abgespeichert werden. Bei jedem
Programmierungs-/Umprogrammierungsvorgang wird also die in
dem separaten Speicherbereich abgespeicherte Anzahl
inkrementiert. Die Anzahl der Programmierungs-/
Umprogrammierungsvorgänge wird dokumentiert. Die in dem
separaten Speicherbereich abgespeicherte Anzahl kann bei
Bedarf ausgelesen und mit der dokumentierten Anzahl
verglichen werden. Falls die beiden Zahlen nicht
übereinstimmen, hat ein nicht dokumentierter und deshalb
als unbefugt eingestufter Programmierungs-/
Umprogrammierungsvorgang stattgefunden. Gemäß dieser
Weiterbildung sind die in dem separaten Speicherbereich
abgespeicherten Informationen auf die minimale Datenmenge
reduziert, die zur Erkennung einer unbefugten Manipulation
des Steuergeräts notwendig ist.
Gemäß einer bevorzugten Ausführungsform der vorliegenden
Erfindung wird vorgeschlagen, dass die Informationen über
den Programmierungs-/Umprogrammierungsvorgang bei jedem
Löschvorgang der programmierbaren Speichereinrichtung in
dem separaten Speicherbereich abgespeichert werden. Gemäß
dieser Ausführungsform wird von der Annahme ausgegangen,
dass die programmierbare Speichereinrichtung vor dem
Programmieren/Umprogrammieren des Steuerprogramms gelöscht
werden muss. Das Löschen der programmierbaren
Speichereinrichtung vor dem Programmieren/Umprogrammieren
des Steuerprogramms ist auch dann notwendig, wenn das
Steuerprogramm zusätzlich zu dem erfindungsgemäßen
Verfahren noch mit einem aus dem Stand der Technik
bekannten sogenannten Seed-and-Key-Verfahren gegen unbefugte
Manipulation gesichert ist. Das Seed-and-Key-Verfahren ist
ausführlich in der DE 197 23 332 A1 beschrieben, auf die an
dieser Stelle ausdrücklich Bezug genommen wird.
Bei dem Seed-and-Key-Verfahren wird von einem Programmierer
einhergehend mit einer Programmierung/Umprogrammierung des
Steuergeräts in Abhängigkeit von dem Inhalt des
programmierbaren Speicherbereichs und einem Schlüssel ein
Vergleichswort gebildet und abgespeichert. Vor der
Ausführung des Steuerprogramms wird steuergeräteintern aus
dem Inhalt des programmierbaren Speicherbereichs und dem
Schlüssel ein Codewort gebildet und mit dem Vergleichswort
verglichen. Bei einer Übereinstimmung von Vergleichswort
und Codewort wird das Steuerprogramm ausgeführt,
anderenfalls wird es gesperrt, da davon ausgegangen wird,
dass das Vergleichswort falsch ist, da der Programmierer
den Schlüssel nicht kannte, und eine unbefugte
Programmierung/Umprogrammierung vorliegt. Falls der Inhalt
der programmierbaren Speichereinrichtung nicht vor jedem
Programmieren/Umprogrammieren gelöscht wird, kann es bei
der Bildung des Vergleichsworts oder des Codeworts zu
Checksummenfehlern kommen.
Gemäß einer anderen bevorzugten Ausführungsform der
vorliegenden Erfindung wird vorgeschlagen, dass die
Informationen durch Setzen von Bits in dem separaten
Speicherbereich abgespeichert werden. So ist es beispielsweise
denkbar, dass einhergehend mit jedem Programmierungs-/
Umprogrammierungsvorgang ein zusätzliches Bit in dem
Speicherbereich gesetzt wird, um auf diese Weise die
kumulierte Anzahl der Programmierungs-/
Umprogrammierungsvorgänge abzuspeichern. Diese
Ausführungsform stellt eine besonders speicherplatzsparende
und speicherzeitreduzierende Art dar, Informationen über
den Programmierungs-/Umprogrammierungsvorgang in dem
separaten Speicherbereich abzuspeichern.
Gemäß einer anderen vorteilhaften Weiterbildung der
vorliegenden Erfindung wird vorgeschlagen, dass die
Informationen in einer One-Time-Programmable(OTP)-Region
einer als Flash-Speicher ausgebildeten programmierbaren
Speichereinrichtung abgespeichert werden. Bei der OTP-
Region handelt es sich um eine oder mehrere Zellen des
Flash-Speichers, die keine Leitung zum Löschen des Inhalts
der Flash-Zellen aufweisen. Die Flash-Zellen der OTP-Region
verfügen lediglich über Leitungen zum Programmieren bzw.
zum Lesen des Inhalts der Flash-Zellen. Der Flash-Speicher
ist bspw. als ein Flash-EPROM ausgebildet.
Ein Flash-Speicher wird vorzugsweise mit Hilfe eines
externen Programmiergeräts, insbesondere mit Hilfe einer
sog. State-Machine, programmiert bzw. umprogrammiert. In
einer State-Machine sind die Verfahrensabläufe zum
Programmieren/Umprogrammieren der programmierbaren
Speichereinrichtung eines Steuergeräts hardwaremäßig
codiert. Auch die Verfahrensabläufe zum Abspeichern der
Informationen in dem Speicherbereich sind hardwaremäßig in
det State-Machine codiert. Auf diese Weise kann eine
Manipulation des Abspeichervorgangs der Informationen in
dem separaten Speicherbereich wirksam verhindert und eine
Manipulation der Speichereinrichtung zuverlässig
nachgewiesen werden.
Alternativ wird vorgeschlagen, dass die Informationen von
Mitteln des Steuergeräts zum Abspeichern von Informationen
über den Programmierungs-/Umprogrammierungsvorgang in dem
separaten Speicherbereich abgespeichert werden. Gemäß
dieser alternativen Ausführungsform werden die
Informationen, also einhergehend mit dem Programmierungs-/
Umprogrammierungsvorgang durch geeignete Mittel des
Steuergeräts in dem Speicherbereich abgespeichert. Das
Programmieren/Umprogrammieren des Speicherbereichs kann
beispielsweise nach wie vor durch ein externes Programmiergerät
erfolgen. Die Mittel des Steuergeräts weisen beispielsweise einen in
dem Steuergerät hardwaremäßig codierten Verfahrensablauf
auf, der bei jedem Programmierungs-/
Umprogrammierungsvorgang der Speichereinrichtung
zwangsläufig ein Abspeichern der Informationen in dem
separaten Speicherbereich bewirkt.
Zur Durchführung des erfindungsgemäßen Verfahrens schlägt
die Erfindung außerdem ausgehend von dem externen
Programmiergerät der eingangs genannten Art vor, dass das
Programmiergerät Mittel zur Durchführung des Verfahrens
nach Anspruch 6 aufweist. Ein solches externes
Programmiergerät wird auch als State-Machine bezeichnet.
Eine State-Machine zeichnet sich dadurch aus, dass die
Verfahrensabläufe zum Programmieren/Umprogrammieren des
Steuerprogramms in der Speichereinrichtung und zum
Abspeichern der Informationen in dem separaten
Speicherbereich hardwaremäßig codiert bzw. die
Funktionalität in Very-High-Description-Language (VHDL)
beschrieben ist. VHDL ist eine Hardware-
Beschreibungssprache, die auf verschiedenen Ebenen, sogenannte
levels (behaviour, Register Transfer Logic (RTL)), digitale
Schaltungen beschreibt. Das externe Programmiergerät kann
bspw. über eine serielle Schnittstelle oder über eine K-
Leitung und einen Diagnosestecker mit dem Steuergerät
verbunden werden.
Schließlich schlägt die Erfindung zur Durchführung des
erfindungsgemäßen Verfahrens ausgehend von dem digitalen
Steuergerät der eingangs genannten Art vor, dass das
Steuergerät Mittel zur Durchführung des Verfahrens nach
Anspruch 7 aufweist. Die Informationen über den
Programmierungs-/Umprogrammierungsvorgang werden also
nicht durch externe Geräte, sondern durch interne Mittel,
die Teil des Steuergeräts sind, in dem separaten
Speicherbereich abgespeichert.
Ein bevorzugtes Ausführungsbeispiel der vorliegenden
Erfindung wird im Folgenden an Hand der Zeichnungen näher
erläutert.
Es zeigen:
Fig. 1 ein digitales Steuergerät für ein
Kraftfahrzeug zur Durchführung des
erfindungsgemäßen Verfahrens gemäß einer
bevorzugten Ausführungsform; und
Fig. 2 ein digitales Steuergerät für ein
Kraftfahrzeug mit einem externen
Programmiergerät zur Durchführung des
erfindungsgemäßen Verfahrens gemäß einer
zweiten bevorzugten Ausführungsform.
Die nachstehenden Erläuterungen betreffen ein Verfahren zum
Manipulationsnachweis einer programmierbaren
Speichereinrichtung eines digitalen Steuergeräts für ein
Kraftfahrzeug, insbesondere zur Steuerung der
Brennkraftmaschine, des Getriebes oder der Bremsen des
Kraftfahrzeugs. In den Fig. 1 und 2 ist ein digitales
Steuergerät in seiner Gesamtheit mit dem Bezugszeichen 1
bezeichnet. Es weist eine programmierbare
Speichereinrichtung 2 auf, in der Daten und Steuerprogramme
zum Betrieb des Steuergeräts 1 und zur Steuerung/Regelung
von bestimmten Funktionen des Kraftfahrzeugs abgelegt
werden können. Das Steuergerät 1 weist außerdem einen
Mikrocomputer 3 auf, der zur Ausübung der ihm zugeteilten
Steuerungs-/Regelungsfunktion und zur Selbststeuerung die
Steuerprogramme abarbeitet, die in der Speichereinrichtung
2 abgelegt sind. Das Steuerprogramm und die für die
Ausführung des Steuerprogramms benötigten Daten werden über
eine Datenleitung 4 von der Speichereinrichtung 2 in den
Mikrocomputer 3 übertragen.
Die Programmierung/Umprogrammierung der
Speichereinrichtung 2 des Steuergeräts 1 erfolgt über ein
externes Programmiergerät 5, das bspw. über eine serielle
Schnittstelle mit dem Steuergerät 1 verbunden ist. Das
externe Programmiergerät 5 ist als eine sogenannte State-Machine
ausgebildet, die sich dadurch auszeichnet, dass die
Verfahrensabläufe zum Programmieren/Umprogrammieren des
Steuergeräts 1 hardwaremäßig codiert sind. In dem
Ausführungsbeispiel aus Fig. 1 ist das externe
Programmiergerät 5 über eine K-Leitung 6 und einen
Diagnosestecker 7 an das Steuergerät 1 angeschlossen. Zum
Programmieren/Umprogrammieren des Steuergeräts 1 werden
die neuen Daten und/oder das neue Steuerprogramm über die
K-Leitung 6, den Mikrocomputer 3 und die Datenleitung 4 in
die programmierbare Speichereinrichtung 2 übertragen.
Die programmierbare Speichereinrichtung 2 ist als ein
Flash-EPROM ausgebildet. Ein Flash-EPROM weist einen
separaten Speicherbereich 8, die sogenannte One-Time-Programmable
(OTP)-Region, auf. Dieser separate Speicherbereich 8 der
programmierbaren Speichereinrichtung 2 weist mehrere Flash-
Zellen auf, die keine Leitung zum Löschen des
Speicherinhalts der Flash-Zellen aufweisen. Die Flash-
Zellen des separaten Speicherbereichs 8 verfügen lediglich
über Leitungen zum Programmieren und zum Lesen des Inhalts
der Flash-Zellen.
Gemäß der vorliegenden Erfindung werden einhergehend mit
jedem Programmierungs-/Umprogrammierungsvorgang der
programmierbaren Speichereinrichtung 2 Informationen über
den Programmierungs-/Umprogrammierungsvorgang in dem
separaten Speicherbereich 8 der Speichereinrichtung 2
abgespeichert. Dazu weist das Steuergerät 1 Mittel 9 auf,
die über eine Leitung 10 von dem Mikrocomputer 3
Informationen erhalten, wann die Speichereinrichtung 2
gelöscht bzw. programmiert wird. Die Mittel 9 speichern
dann im Anschluss an jeden Löschvorgang bzw.
Programmiervorgang der programmierbaren Speichereinrichtung
2 über eine Leitung 11 Informationen über den
Programmierungs-/Umprogrammierungsvorgang in dem separaten
Speicherbereich 8 ab.
Die in dem Speicherbereich 8 abgespeicherten Informationen
umfassen vorzugsweise die kumulierte Anzahl der
Programmierungs-/Umprogrammierungsvorgänge der
Speichereinrichtung 2. Zum Abspeichern der kumulierten
Anzahl der Programmierungs-/Umprogrammierungsvorgänge wird
für jeden durchgeführten Programmierungs-/
Umprogrammierungsvorgang ein Bit in dem separaten
Speicherbereich 8 gesetzt.
Die in dem Speicherbereich 8 abgespeicherten Informationen
über den Programmierungs-/Umprogrammierungsvorgang werden
dokumentiert. Wenn das Kraftfahrzeug in eine Werkstatt
kommt und Garantieansprüche geltend gemacht werden oder die
Speichereinrichtung 2 des Steuergeräts 1 umprogrammiert
werden soll, kann der Inhalt des separaten Speicherbereichs
8 ausgelesen und mit den dokumentierten Informationen des
Speicherbereichs 8 verglichen werden. Falls die in dem
separaten Speicherbereich 8 gespeicherten Informationen mit
den dokumentierten Informationen übereinstimmen, hat keine
unbefugte Manipulation des Steuergeräts 1 stattgefunden.
Falls die aus dem Speicherbereich 2 ausgelesenen
Information nicht mit den dokumentierten Informationen
übereinstimmen, hat eine unbefugte Manipulation des
Steuergeräts 1 stattgefunden. In einem solchen Fall können
bspw. Gewährleistungs- oder Haftungsansprüche verweigert
werden.
Die in der Speichereinrichtung 2 gespeicherten Daten sind
durch ein sogenanntes Seed-and-Key-Verfahren gegen eine unbefugte
Manipulation des Steuerprogramms geschützt, das in der
DE 197 23 332 A1 ausführlich beschrieben ist.
In Fig. 2 ist eine alternative Ausführungsform zur
Realisierung des erfindungsgemäßen Verfahrens dargestellt.
Im Unterschied zu der Ausführungsform gemäß Fig. 1 ist das
externe Programmiergerät 5 bei dieser Ausführungsform über
eine serielle Schnittstelle 12 und eine Datenleitung 13 mit
dem Steuergerät 1 verbunden. Das Programmiergerät 5 weist
Mittel 14 auf, durch die einhergehend mit jedem
Programmierungs-/Umprogrammierungsvorgang der
programmierbaren Speichereinrichtung 2 Informationen über
den Programmierungs-/Umprogrammierungsvorgang in den
separaten Speicherbereich 8 abgespeichert werden. Die
Mittel 14 sind beispielsweise als eine elektrische Schaltung
ausgebildet, die den Mikrocomputer 3 des Steuergeräts 1
vor, während oder nach dem Programmierungs-/
Umprogrammierungsvorgang veranlasst, über die Leitung 11
bestimmte Bits in dem Speicherbereich 8 zu setzen.
Claims (9)
1. Verfahren zum Manipulationsnachweis einer
programmierbaren Speichereinrichtung (2) eines digitalen
Steuergeräts (1) für ein Kraftfahrzeug, wobei in der
Speichereinrichtung (2) Daten und Steuerprogramme zum
Betrieb des Steuergeräts (1) und zur Steuerung/Regelung
von bestimmten Funktionen des Kraftfahrzeugs ablegbar sind,
dadurch gekennzeichnet, dass einhergehend mit jedem
Programmierungs-/Umprogrammierungsvorgang der
programmierbaren Speichereinrichtung (2) Informationen über
den Programmierungs-/Umprogrammierungsvorgang in einem
separaten Speicherbereich (8) der Speichereinrichtung (2)
abgespeichert werden, in dem nur gelesen und programmiert
werden kann, und dass zum Nachweis einer Manipulation der
Inhalt des separaten Speicherbereichs (8) ausgelesen und
mit vorgegebenen Informationen verglichen wird.
2. Verfahren nach Anspruch 1, dadurch gekennzeichnet,
dass in dem separaten Speicherbereich (8) der
programmierbaren Speichereinrichtung (2) Informationen über
die kumulierte Anzahl der Programmierungs-/
Umprogrammierungsvorgänge der programmierbaren
Speichereinrichtung (2) abgespeichert werden.
3. Verfahren nach Anspruch 1 oder 2, dadurch
gekennzeichnet, dass die Informationen über den
Programmierungs-/Umprogrammierungsvorgang bei jedem
Löschvorgang der programmierbaren Speichereinrichtung (2)
in dem separaten Speicherbereich (8) abgespeichert werden.
4. Verfahren nach einem der Ansprüche 1 bis 3, dadurch
gekennzeichnet, dass die Informationen durch Setzen von
Bits in dem separaten Speicherbereich (8) abgespeichert
werden.
5. Verfahren nach einem der Ansprüche 1 bis 4, dadurch
gekennzeichnet, dass die Informationen in einer One-Time-
Programmable(OTP)-Region einer als Flash-Speicher
ausgebildeten programmierbaren Speichereinrichtung (2)
abgespeichert werden.
6. Verfahren nach einem der Ansprüche 1 bis 5, dadurch
gekennzeichnet, dass die Informationen von einem externen
Programmiergerät (5) zum Programmieren/Umprogrammieren des
Flash-Speichers in dem separaten Speicherbereich (8)
abgespeichert werden.
7. Verfahren nach einem der Ansprüche 1 bis 5, dadurch
gekennzeichnet, dass die Informationen von Mitteln des
Steuergeräts (1) zum Abspeichern von Informationen über den
Programmierungs-/Umprogrammierungsvorgang in dem separaten
Speicherbereich (8) abgespeichert werden.
8. Externes Programmiergerät (5) zum Programmieren und/
oder Umprogrammieren eines Flash-Speichers eines digitalen
Steuergeräts (1) für ein Kraftfahrzeug, wobei in dem Flash-
Speicher Daten und Steuerprogramme zum Betrieb des
Steuergeräts (1) und zur Steuerung/Regelung von bestimmten
Funktionen des Kraftfahrzeugs ablegbar sind, dadurch
gekennzeichnet, dass das Programmiergerät (5) Mittel (14)
zur Durchführung des Verfahrens nach Anspruch 6 aufweist.
9. Digitales Steuergerät (1) für ein Kraftfahrzeug mit
einer programmierbaren Speichereinrichtung (2) zum
Speichern von Daten und Steuerprogrammen zum Betrieb des
Steuergeräts (1) und zur Steuerung/Regelung von bestimmten
Funktionen des Kraftfahrzeugs, dadurch gekennzeichnet, dass
das Steuergerät (1) Mittel (9) zur Durchführung des
Verfahrens nach Anspruch 7 aufweist.
Priority Applications (4)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| DE19963208.1A DE19963208B4 (de) | 1999-12-28 | 1999-12-28 | Verfahren zum Manipulationsnachweis einer programmierbaren Speichereinrichtung eines digitalen Steuergeräts |
| JP2000392799A JP4865126B2 (ja) | 1999-12-28 | 2000-12-25 | メモリ装置の操作確認方法,外部プログラミング装置及び車両用デジタル制御装置。 |
| US09/749,050 US20010027524A1 (en) | 1999-12-28 | 2000-12-27 | Method of detecting manipulation of a programable memory device of a digital controller |
| US12/414,404 US8140216B2 (en) | 1999-12-28 | 2009-03-30 | Method of detecting manipulation of a programmable memory device of a digital controller |
Applications Claiming Priority (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| DE19963208.1A DE19963208B4 (de) | 1999-12-28 | 1999-12-28 | Verfahren zum Manipulationsnachweis einer programmierbaren Speichereinrichtung eines digitalen Steuergeräts |
Publications (2)
| Publication Number | Publication Date |
|---|---|
| DE19963208A1 true DE19963208A1 (de) | 2001-07-12 |
| DE19963208B4 DE19963208B4 (de) | 2018-07-05 |
Family
ID=7934643
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| DE19963208.1A Expired - Lifetime DE19963208B4 (de) | 1999-12-28 | 1999-12-28 | Verfahren zum Manipulationsnachweis einer programmierbaren Speichereinrichtung eines digitalen Steuergeräts |
Country Status (3)
| Country | Link |
|---|---|
| US (2) | US20010027524A1 (de) |
| JP (1) | JP4865126B2 (de) |
| DE (1) | DE19963208B4 (de) |
Cited By (5)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US7103429B2 (en) | 2001-08-11 | 2006-09-05 | Daimlerchrysler Ag | Universal computer architecture |
| DE102005050005A1 (de) * | 2005-10-19 | 2007-04-26 | Zf Friedrichshafen Ag | Verfahren zum Betreiben antriebsstrangseitiger Komponenten eines Kraftfahrzeugs |
| EP1947535A1 (de) * | 2007-01-17 | 2008-07-23 | Siemens Aktiengesellschaft | Überwachung der Programmierung eines Automatisierungsgerätes |
| WO2015024699A1 (de) * | 2013-08-22 | 2015-02-26 | Endress+Hauser Flowtec Ag | Gegen manipulation geschütztes elektronisches gerät |
| EP3418826A1 (de) * | 2017-06-22 | 2018-12-26 | Audi Ag | Verfahren zum betrieb einer vorrichtung |
Families Citing this family (11)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| DE10145906A1 (de) * | 2001-09-18 | 2003-04-10 | Bosch Gmbh Robert | Verfahren zur Durchfühung einer Ferndiagnose bei einem Kraftfahrzeug, Fahrzeugdiagnosemodul und Servicecenter |
| FI114830B (fi) * | 2002-06-20 | 2004-12-31 | Nokia Corp | Menetelmä ja järjestelmä ohjelman luotettavuuden arvioimiseksi elektroniikkalaitteessa, ja elektroniikkalaite |
| DE10238093B4 (de) * | 2002-08-21 | 2007-10-18 | Audi Ag | Fahrzeug-Steuergerät |
| DE10238094B4 (de) * | 2002-08-21 | 2007-07-19 | Audi Ag | Verfahren zum Schutz gegen Manipulationen in einem Steuergerät für mindestens eine Kfz-Komponente und Steuergerät |
| JP4698285B2 (ja) * | 2005-05-19 | 2011-06-08 | 富士通株式会社 | 情報処理装置、情報処理方法及びコンピュータプログラム |
| DE102005049707A1 (de) * | 2005-10-18 | 2007-04-26 | Zf Friedrichshafen Ag | Fahrzeug mit einer in Fahrzeugquerrichtung angeordneten Antriebsmaschine |
| MX2012003116A (es) | 2009-09-15 | 2012-06-19 | Kpit Cummins Infosystems Ltd | Asistencia a motor para un vehiculo hibrido a base de entrada de usuario. |
| CN102596672B (zh) | 2009-09-15 | 2015-03-04 | Kpit技术有限责任公司 | 根据预测的驱动变化向一种混合动力交通工具提供的引擎辅助 |
| KR101897836B1 (ko) | 2009-09-15 | 2018-09-12 | 케이피아이티 테크놀로지스 엘티디. | 차량을 하이브리드 차량으로 변환하는 방법 |
| WO2011033528A2 (en) | 2009-09-15 | 2011-03-24 | Kpit Cummins Infosystems Limited | Motor assistance for a hybrid vehicle |
| DE102014208838A1 (de) * | 2014-05-12 | 2015-11-12 | Robert Bosch Gmbh | Verfahren zum Betreiben eines Steuergeräts |
Family Cites Families (16)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JPH04359320A (ja) * | 1991-06-05 | 1992-12-11 | Omron Corp | 電子機器 |
| US6230233B1 (en) * | 1991-09-13 | 2001-05-08 | Sandisk Corporation | Wear leveling techniques for flash EEPROM systems |
| US5303163A (en) | 1992-08-20 | 1994-04-12 | Cummins Electronics Company | Configurable vehicle monitoring system |
| WO1995002426A1 (en) * | 1993-07-13 | 1995-01-26 | Sims Deltec, Inc. | Medical pump and method of programming |
| DE4440127B4 (de) * | 1994-11-10 | 2007-11-08 | Robert Bosch Gmbh | Steuergerät |
| EP0727785B1 (de) * | 1995-01-23 | 1997-06-11 | International Business Machines Corporation | Verbesserte Speicherselbstprüfung |
| JPH08249285A (ja) * | 1995-03-14 | 1996-09-27 | Nintendo Co Ltd | 情報受信装置 |
| DE19615105A1 (de) | 1996-04-17 | 1997-10-23 | Bosch Gmbh Robert | Verfahren zum Betreiben eines Steuergerätes mit einer programmierbaren Speichereinrichtung |
| US5787367A (en) * | 1996-07-03 | 1998-07-28 | Chrysler Corporation | Flash reprogramming security for vehicle computer |
| US5991673A (en) | 1996-12-27 | 1999-11-23 | Lear Automotive Dearborn, Inc. | Vehicle anti-theft system including vehicle identification numbers programmed into on-board computers |
| US5941915A (en) | 1997-02-18 | 1999-08-24 | Cummins Engine Company, Inc. | System for providing accurately time stamped vehicle operational messages following a real-time clock reset |
| DE19723332A1 (de) | 1997-06-04 | 1998-09-03 | Bosch Gmbh Robert | Verfahren zum Schutz eines Mikrorechners und geschützter Mikrorechner |
| JP3870563B2 (ja) * | 1998-07-22 | 2007-01-17 | 株式会社デンソー | 電子制御装置及び不揮発性メモリの書き換え回数計数方法 |
| EP0991081B1 (de) * | 1998-09-30 | 2005-11-30 | STMicroelectronics S.r.l. | Emulierte EEPROM Speicheranordnung und entsprechendes Verfahren |
| US6687325B1 (en) * | 1999-06-23 | 2004-02-03 | Intel Corporation | Counter with non-uniform digit base |
| JP2001022650A (ja) * | 1999-07-08 | 2001-01-26 | Mitsubishi Electric Corp | 半導体不揮発性記憶装置 |
-
1999
- 1999-12-28 DE DE19963208.1A patent/DE19963208B4/de not_active Expired - Lifetime
-
2000
- 2000-12-25 JP JP2000392799A patent/JP4865126B2/ja not_active Expired - Lifetime
- 2000-12-27 US US09/749,050 patent/US20010027524A1/en not_active Abandoned
-
2009
- 2009-03-30 US US12/414,404 patent/US8140216B2/en not_active Expired - Fee Related
Cited By (8)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US7103429B2 (en) | 2001-08-11 | 2006-09-05 | Daimlerchrysler Ag | Universal computer architecture |
| USRE43619E1 (en) | 2001-08-11 | 2012-08-28 | Ramsle Technology Group Gmbh, Llc | Universal computer architecture |
| DE102005050005A1 (de) * | 2005-10-19 | 2007-04-26 | Zf Friedrichshafen Ag | Verfahren zum Betreiben antriebsstrangseitiger Komponenten eines Kraftfahrzeugs |
| US7664580B2 (en) | 2005-10-19 | 2010-02-16 | Zf Friedrichshafen Ag | Method for operating drive train side components of a motor vehicle |
| EP1947535A1 (de) * | 2007-01-17 | 2008-07-23 | Siemens Aktiengesellschaft | Überwachung der Programmierung eines Automatisierungsgerätes |
| WO2015024699A1 (de) * | 2013-08-22 | 2015-02-26 | Endress+Hauser Flowtec Ag | Gegen manipulation geschütztes elektronisches gerät |
| EP3036589B1 (de) | 2013-08-22 | 2018-04-25 | Endress+Hauser Flowtec AG | Gegen manipulation geschütztes elektronisches gerät |
| EP3418826A1 (de) * | 2017-06-22 | 2018-12-26 | Audi Ag | Verfahren zum betrieb einer vorrichtung |
Also Published As
| Publication number | Publication date |
|---|---|
| JP4865126B2 (ja) | 2012-02-01 |
| JP2001236239A (ja) | 2001-08-31 |
| US8140216B2 (en) | 2012-03-20 |
| US20090187305A1 (en) | 2009-07-23 |
| US20010027524A1 (en) | 2001-10-04 |
| DE19963208B4 (de) | 2018-07-05 |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| DE19963208A1 (de) | Verfahren zum Manipulationsnachweis einer programmierbaren Speichereinrichtung eines digitalen Steuergeräts | |
| DE69719479T2 (de) | Datenverarbeitungssystemsicherheit | |
| DE19964013B4 (de) | Verfahren und Vorrichtung zur Steuerung von Betriebsabläufen in einem Fahrzeug | |
| DE10330057A1 (de) | Neueinschreibsperrverfahren zum Bestimmen von Neueinschreibfreigabe/Sperre basierend auf dem Ergebnis einer Majoritätsentscheidung | |
| DE102008047433A1 (de) | Verfahren zum Freischalten von Funktionen eines Tachographen | |
| EP3139354B1 (de) | Verfahren zur einstellung einer betriebsart eines sicherheitssystems | |
| DE10002203B4 (de) | Verfahren zum Schutz eines Mikrorechner-Systems gegen Manipulation von in einer Speicheranordnung des Mikrorechner-Systems gespeicherten Daten | |
| DE19623145B4 (de) | Verfahren zum Betreiben eines Steuergerätes mit einer über eine Programmiervorrichtung programmierbaren Speichereinrichtung | |
| DE10002204B4 (de) | Verfahren zum Schutz eines Mikrorechners eines Steuergeräts gegen Manipulation eines Programmes und Vorrichtung zur Durchführung des Verfahrens | |
| EP3378006B1 (de) | Verfahren zum laden eines sicheren speicherabbilds eines mikrocontrollers und anordnung mit einem mikrocontroller | |
| DE3025044A1 (de) | Vorrichtung fuer den schutz des zugangs zu einem dauerspeicher bei einer datenverarbeitungsanlage | |
| EP1563358B1 (de) | Verfahren zur sicheren überprüfung eines speicherbereiches eines mikrocontrollers in einem steuergerät und steuergerät mit einem geschützten mikrocontroller | |
| EP0830273B1 (de) | Wegfahrsperre | |
| DE10238094B4 (de) | Verfahren zum Schutz gegen Manipulationen in einem Steuergerät für mindestens eine Kfz-Komponente und Steuergerät | |
| DE102005040916A1 (de) | Speicheranordnung und Betriebsverfahren dafür | |
| DE2735048C2 (de) | Verfahren zur elektronisch gesteuerten Freigabe von Tür-, Safe- und Funktionsschlössern unter Verwendung elektronisch codierter Schlüssel sowie Schaltungsanordnung zur Durchführung des Verfahrens | |
| EP1397736B1 (de) | Verfahren zum betreiben eines steuergeräts | |
| EP0214390A1 (de) | Freigabeverfahren für einen zugriffskontrollierten Anwenderspeicher und Anordnung zur Durchführung des Verfahrens | |
| DE102007062915A1 (de) | Verfahren zum Betreiben einer speicherprogrammierbaren Steuerung | |
| DE4340027A1 (de) | Schreibschutz-Verfahren für einen nichtflüchtigen Schreib-/Lesespeicher in einem elektronischen Steuergerät | |
| EP4361800B1 (de) | Verfahren zur verbesserung der betriebssicherheit eines steuergeräts sowie steuergerät | |
| DE10131574A1 (de) | Verfahren zum Betreiben eines Mikrorechner-Systems | |
| EP3669291B1 (de) | Verfahren zum betreiben eines elektrischen steuergeräts und elektrisches steuergerät | |
| EP1329903B1 (de) | Speichereinrichtung, die durch eine einen oder mehrere Schreibzugriffe umfassende Kommandosequenz in eine Testbetriebsart versetzbar ist | |
| DE19753730A1 (de) | Verfahren und Vorrichtung zum Steuern einer Brennkraftmaschine |
Legal Events
| Date | Code | Title | Description |
|---|---|---|---|
| 8110 | Request for examination paragraph 44 | ||
| R016 | Response to examination communication | ||
| R016 | Response to examination communication | ||
| R018 | Grant decision by examination section/examining division | ||
| R020 | Patent grant now final | ||
| R071 | Expiry of right |