[go: up one dir, main page]

DE19963208A1 - Verfahren zum Manipulationsnachweis einer programmierbaren Speichereinrichtung eines digitalen Steuergeräts - Google Patents

Verfahren zum Manipulationsnachweis einer programmierbaren Speichereinrichtung eines digitalen Steuergeräts

Info

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
Application number
DE19963208A
Other languages
English (en)
Other versions
DE19963208B4 (de
Inventor
Immanuel Krauter
Claus Moessner
Axel Aue
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Robert Bosch GmbH
Original Assignee
Robert Bosch GmbH
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Robert Bosch GmbH filed Critical Robert Bosch GmbH
Priority to DE19963208.1A priority Critical patent/DE19963208B4/de
Priority to JP2000392799A priority patent/JP4865126B2/ja
Priority to US09/749,050 priority patent/US20010027524A1/en
Publication of DE19963208A1 publication Critical patent/DE19963208A1/de
Priority to US12/414,404 priority patent/US8140216B2/en
Application granted granted Critical
Publication of DE19963208B4 publication Critical patent/DE19963208B4/de
Anticipated expiration legal-status Critical
Expired - Lifetime legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/70Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer
    • G06F21/78Protecting 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/79Protecting 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
    • FMECHANICAL ENGINEERING; LIGHTING; HEATING; WEAPONS; BLASTING
    • F02COMBUSTION ENGINES; HOT-GAS OR COMBUSTION-PRODUCT ENGINE PLANTS
    • F02DCONTROLLING COMBUSTION ENGINES
    • F02D41/00Electrical control of supply of combustible mixture or its constituents
    • F02D41/24Electrical control of supply of combustible mixture or its constituents characterised by the use of digital means
    • F02D41/2406Electrical control of supply of combustible mixture or its constituents characterised by the use of digital means using essentially read only memories
    • F02D41/2425Particular ways of programming the data
    • FMECHANICAL ENGINEERING; LIGHTING; HEATING; WEAPONS; BLASTING
    • F02COMBUSTION ENGINES; HOT-GAS OR COMBUSTION-PRODUCT ENGINE PLANTS
    • F02DCONTROLLING COMBUSTION ENGINES
    • F02D41/00Electrical control of supply of combustible mixture or its constituents
    • F02D41/24Electrical control of supply of combustible mixture or its constituents characterised by the use of digital means
    • F02D41/26Electrical control of supply of combustible mixture or its constituents characterised by the use of digital means using computer, e.g. microprocessor
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B19/00Programme-control systems
    • G05B19/02Programme-control systems electric
    • G05B19/04Programme control other than numerical control, i.e. in sequence controllers or logic controllers
    • G05B19/042Programme control other than numerical control, i.e. in sequence controllers or logic controllers using digital processors
    • G05B19/0426Programming the control sequence
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B2219/00Program-control systems
    • G05B2219/20Pc systems
    • G05B2219/24Pc safety
    • G05B2219/24142Program 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

Stand der Technik
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.
Vorteile der Erfindung
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.
Zeichnungen
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.
Ausführungsbeispiele
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.
DE19963208.1A 1999-12-28 1999-12-28 Verfahren zum Manipulationsnachweis einer programmierbaren Speichereinrichtung eines digitalen Steuergeräts Expired - Lifetime DE19963208B4 (de)

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)

* Cited by examiner, † Cited by third party
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)

* Cited by examiner, † Cited by third party
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)

* Cited by examiner, † Cited by third party
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 半導体不揮発性記憶装置

Cited By (8)

* Cited by examiner, † Cited by third party
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