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

Verfahren zum Manipulationsnachweis einer programmierbaren Speichereinrichtung eines digitalen Steuergeräts Download PDF

Info

Publication number
DE19963208B4
DE19963208B4 DE19963208.1A DE19963208A DE19963208B4 DE 19963208 B4 DE19963208 B4 DE 19963208B4 DE 19963208 A DE19963208 A DE 19963208A DE 19963208 B4 DE19963208 B4 DE 19963208B4
Authority
DE
Germany
Prior art keywords
programming
memory device
information
reprogramming
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.)
Expired - Lifetime
Application number
DE19963208.1A
Other languages
English (en)
Other versions
DE19963208A1 (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

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR 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)
  • Combined Controls Of Internal Combustion Engines (AREA)
  • Stored Programmes (AREA)

Abstract

Verfahren zum Manipulationsnachweis einer als Flash-Speicher ausgebildeten 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, wobei 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 nicht gelöscht werden kann, und wobei zum Nachweis einer Manipulation der Inhalt des separaten Speicherbereichs (8) ausgelesen und mit vorgegebenen Informationen verglichen wird, wobei die Informationen über den Programmierungs-/ Umprogrammierungsvorgang durch Mittel (9), die Bestandteil des Steuergeräts (1) sind, in dem separaten Speicherbereich (8) abgespeichert werden, dadurch gekennzeichnet, dass die Mittel (9) einen in dem Steuergerät (1) hardwaremäßig codierten Verfahrensablauf aufweisen, der bei jedem Programmierungs-/ Umprogrammierungsvorgang der Speichereinrichtung (2) zwangsläufig ein Abspeichern der Informationen in dem separaten Speicherbereich (8) bewirkt und dass als Informationen über den Programmierungs-/ Umprogrammierungsvorgang durch die Mittel (9) die kumulierte Anzahl der Programmierungs-/ Umprogrammierungsvorgänge der programmierbaren Speichereinrichtung (2) in einem als One-Time-Programmable (OTP)-Region der programmierbaren Speichereinrichtung (2) ausgebildeten separaten Speicherbereich (8) abgespeichert werden, indem einhergehend mit jedem Programmierungs-/ Umprogrammierungsvorgang ein zusätzliches Bit gesetzt 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 Funktion 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.
  • Die US 5 991 673 A offenbart ein Fahrzeugdiebstahlschutzsystem umfassend das Programmieren von Fahrzeugidentifikationsnummern in einem Nur-Lese-Speicherabschnitt eines jeden Computers an Bord des Fahrzeugs. Eine externe Überwachungsvorrichtung wird verwendet, um den Inhalt des Nur-Lese-Speicherabschnitts an jeder Komponente zu bestimmen, ob irgendeine der Komponenten aus einem anderen Fahrzeug gestohlen wurde.
  • 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.
  • Auf Grund der in der zweiten Speichereinrichtung abgespeicherten Informationen lassen sich verschiedene Aussagen treffen. Einerseits können Störungen bei der Programmierung/ Umprogrammierung des Steuergeräts auf Grund 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, ein Verfahren gemäß Anspruch 1 auszuführen.
  • Vorteile der Erfindung
  • Das 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.
  • Weiterhin wird vorgeschlagen, dass in dem Speicherbereich der programmierbaren Speichereinrichtung Informationen über die kummulierte 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.
  • Weiterhin 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 Verfahren noch mit einem aus dem Stand der Technik bekannten sog. 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.
  • Weiterhin wird vorgeschlagen, dass die Informationen durch Setzen von Bits in dem separaten Speicherbereich abgespeichert werden. So ist es bspw. denkbar, dass einhergehend mit jedem Programmierungs-/ Umprogrammierungsvorgang ein zusätzliches Bit in dem Speicherbereich gesetzt wird, um auf diese Weise die kummulierte 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.
  • Weiterhin 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 der 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.
  • Es 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 bspw. nach wie vor durch ein externes Programmiergerät erfolgen. Die Mittel des Steuergeräts weisen bspw. 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 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 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, sog. 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 Verfahrens ausgehend von dem digitalen Steuergerät der eingangs genannten Art vor, dass das Steuergerät Mittel zur Durchführung des Verfahrens 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.
  • Figurenliste
  • Ein bevorzugtes Ausführungsbeispiel der vorliegenden Erfindung wird im Folgenden an Hand der Zeichnungen näher erläutert. Es zeigen:
    • 1 ein digitales Steuergerät für ein Kraftfahrzeug zur Durchführung des Verfahrens gemäß einer bevorzugten Ausführungsform; und
    • 2 ein digitales Steuergerät für ein Kraftfahrzeug mit einem externen Programmiergerät zur Durchführung des 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 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 sog. 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 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 sog. 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 sog. 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 2 ist eine alternative Ausführungsform zur Realisierung des Verfahrens dargestellt. Im Unterschied zu der Ausführungsform gemäß 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 bspw. 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 (3)

  1. Verfahren zum Manipulationsnachweis einer als Flash-Speicher ausgebildeten 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, wobei 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 nicht gelöscht werden kann, und wobei zum Nachweis einer Manipulation der Inhalt des separaten Speicherbereichs (8) ausgelesen und mit vorgegebenen Informationen verglichen wird, wobei die Informationen über den Programmierungs-/ Umprogrammierungsvorgang durch Mittel (9), die Bestandteil des Steuergeräts (1) sind, in dem separaten Speicherbereich (8) abgespeichert werden, dadurch gekennzeichnet, dass die Mittel (9) einen in dem Steuergerät (1) hardwaremäßig codierten Verfahrensablauf aufweisen, der bei jedem Programmierungs-/ Umprogrammierungsvorgang der Speichereinrichtung (2) zwangsläufig ein Abspeichern der Informationen in dem separaten Speicherbereich (8) bewirkt und dass als Informationen über den Programmierungs-/ Umprogrammierungsvorgang durch die Mittel (9) die kumulierte Anzahl der Programmierungs-/ Umprogrammierungsvorgänge der programmierbaren Speichereinrichtung (2) in einem als One-Time-Programmable (OTP)-Region der programmierbaren Speichereinrichtung (2) ausgebildeten separaten Speicherbereich (8) abgespeichert werden, indem einhergehend mit jedem Programmierungs-/ Umprogrammierungsvorgang ein zusätzliches Bit gesetzt wird.
  2. Verfahren nach Anspruch 1, dadurch gekennzeichnet, dass die Informationen über den Programmierungs-/ Umprogrammierungsvorgang bei jedem Löschvorgang der programmierbaren Speichereinrichtung (2) in dem separaten Speicherbereich (8) abgespeichert werden.
  3. 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 einem der Ansprüche 1 oder 2 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 DE19963208A1 (de) 2001-07-12
DE19963208B4 true 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)

Families Citing this family (16)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE10139610A1 (de) 2001-08-11 2003-03-06 Daimler Chrysler Ag Universelle Rechnerarchitektur
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
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
WO2011033528A2 (en) 2009-09-15 2011-03-24 Kpit Cummins Infosystems Limited Motor assistance for a hybrid vehicle
JP5914337B2 (ja) 2009-09-15 2016-05-11 ケーピーアイティ テクノロジーズ リミテッド 車両をハイブリッド車両に変換する方法
US9227626B2 (en) 2009-09-15 2016-01-05 Kpit Technologies Limited Motor assistance for a hybrid vehicle based on predicted driving range
JP5926182B2 (ja) 2009-09-15 2016-05-25 ケーピーアイティ テクノロジーズ リミテッド ユーザ入力に基づくハイブリッド車のモータ補助
DE102013109096A1 (de) * 2013-08-22 2015-02-26 Endress + Hauser Flowtec Ag Gegen Manipulation geschütztes elektronisches Gerät
DE102014208838A1 (de) * 2014-05-12 2015-11-12 Robert Bosch Gmbh Verfahren zum Betreiben eines Steuergeräts
DE102017210484A1 (de) * 2017-06-22 2018-12-27 Audi Ag Verfahren zum Betrieb einer Vorrichtung

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE19615105A1 (de) 1996-04-17 1997-10-23 Bosch Gmbh Robert Verfahren zum Betreiben eines Steuergerätes mit einer programmierbaren Speichereinrichtung
DE19723332A1 (de) 1997-06-04 1998-09-03 Bosch Gmbh Robert Verfahren zum Schutz eines Mikrorechners und geschützter Mikrorechner
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

Family Cites Families (13)

* 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 情報受信装置
US5787367A (en) * 1996-07-03 1998-07-28 Chrysler Corporation Flash reprogramming security for vehicle computer
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
JP3870563B2 (ja) * 1998-07-22 2007-01-17 株式会社デンソー 電子制御装置及び不揮発性メモリの書き換え回数計数方法
DE69832609D1 (de) * 1998-09-30 2006-01-05 St Microelectronics Srl 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 半導体不揮発性記憶装置

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE19615105A1 (de) 1996-04-17 1997-10-23 Bosch Gmbh Robert Verfahren zum Betreiben eines Steuergerätes mit einer programmierbaren Speichereinrichtung
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
DE19723332A1 (de) 1997-06-04 1998-09-03 Bosch Gmbh Robert Verfahren zum Schutz eines Mikrorechners und geschützter Mikrorechner

Also Published As

Publication number Publication date
US8140216B2 (en) 2012-03-20
US20010027524A1 (en) 2001-10-04
JP2001236239A (ja) 2001-08-31
DE19963208A1 (de) 2001-07-12
US20090187305A1 (en) 2009-07-23
JP4865126B2 (ja) 2012-02-01

Similar Documents

Publication Publication Date Title
DE19963208B4 (de) Verfahren zum Manipulationsnachweis einer programmierbaren Speichereinrichtung eines digitalen Steuergeräts
WO1995008824A1 (de) Verfahren zur vollständigen neuprogrammierung eines löschbaren, nichtflüchtigen speichers
DE19708616A1 (de) Elektronische Datenverarbeitungseinrichtung und -system
EP1532510B1 (de) VERFAHREN ZUM SCHUTZ VOR MANIPULATIONEN AN EINEM STEUERGERÄT FÜR MINDESTENS EINE Kfz-KOMPONENTE
EP0067364A2 (de) Verfahren und Anordnung zum nichtflüchtigen Speichern des Zählerstandes einer elektronischen Zählschaltung
DE10330057A1 (de) Neueinschreibsperrverfahren zum Bestimmen von Neueinschreibfreigabe/Sperre basierend auf dem Ergebnis einer Majoritätsentscheidung
DE10238093B4 (de) Fahrzeug-Steuergerät
EP1248200A1 (de) Verriegelungsschaltung zur Verhinderung eines unzulässigen Zugriffs auf die Speichereinrichtung eines Prozessors
DE19623145B4 (de) Verfahren zum Betreiben eines Steuergerätes mit einer über eine Programmiervorrichtung programmierbaren Speichereinrichtung
EP3378006B1 (de) Verfahren zum laden eines sicheren speicherabbilds eines mikrocontrollers und anordnung mit einem mikrocontroller
DE10002203B4 (de) Verfahren zum Schutz eines Mikrorechner-Systems gegen Manipulation von in einer Speicheranordnung des Mikrorechner-Systems gespeicherten Daten
DE3025044A1 (de) Vorrichtung fuer den schutz des zugangs zu einem dauerspeicher bei einer datenverarbeitungsanlage
WO2004114131A1 (de) Verfahren zum nachladen einer software in den bootsektor eines programmierbaren lesespeicher
EP1563358B1 (de) Verfahren zur sicheren überprüfung eines speicherbereiches eines mikrocontrollers in einem steuergerät und steuergerät mit einem geschützten mikrocontroller
DE68926718T2 (de) Datensicherungsverfahren für einen programmierbaren Speicher
DE10238094B4 (de) Verfahren zum Schutz gegen Manipulationen in einem Steuergerät für mindestens eine Kfz-Komponente und Steuergerät
EP0830273B1 (de) Wegfahrsperre
EP1397736B1 (de) Verfahren zum betreiben eines steuergeräts
EP0214390A1 (de) Freigabeverfahren für einen zugriffskontrollierten Anwenderspeicher und Anordnung zur Durchführung des Verfahrens
DE4340027A1 (de) Schreibschutz-Verfahren für einen nichtflüchtigen Schreib-/Lesespeicher in einem elektronischen Steuergerät
DE102006047245A1 (de) Fahrtschreiberanordnung und Verfahren zum Einbringen einer Kennung in einen Adapter für die Fahrtschreiberanordnung
EP0694840B1 (de) Kraftfahrzeug-Steuergerät mit elektrisch lösch- und programmierbarem Speicher
DE10340010B4 (de) Verfahren und Vorrichtung zum sicheren Speichern von Daten
DE102006000797A1 (de) Schreiben unbeschädigter Daten in einen elektronischen Speicher
EP1329903B1 (de) Speichereinrichtung, die durch eine einen oder mehrere Schreibzugriffe umfassende Kommandosequenz in eine Testbetriebsart versetzbar ist

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