[go: up one dir, main page]

DE10131300B4 - Verfahren zum Schutz eines Mikrorechner-Systems gegen Manipulation von in einer Speicheranordnung abgelegten Daten und Mikrorechner-System - Google Patents

Verfahren zum Schutz eines Mikrorechner-Systems gegen Manipulation von in einer Speicheranordnung abgelegten Daten und Mikrorechner-System Download PDF

Info

Publication number
DE10131300B4
DE10131300B4 DE10131300A DE10131300A DE10131300B4 DE 10131300 B4 DE10131300 B4 DE 10131300B4 DE 10131300 A DE10131300 A DE 10131300A DE 10131300 A DE10131300 A DE 10131300A DE 10131300 B4 DE10131300 B4 DE 10131300B4
Authority
DE
Germany
Prior art keywords
data
microcomputer system
memory
manipulation
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 - Fee Related
Application number
DE10131300A
Other languages
English (en)
Other versions
DE10131300A1 (de
Inventor
Klaus Schneider
Matthias Knauss
Peter Poinstingl
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 DE10131300A priority Critical patent/DE10131300B4/de
Priority to US10/188,167 priority patent/US7552354B2/en
Priority to JP2002193738A priority patent/JP4563644B2/ja
Publication of DE10131300A1 publication Critical patent/DE10131300A1/de
Application granted granted Critical
Publication of DE10131300B4 publication Critical patent/DE10131300B4/de
Anticipated expiration legal-status Critical
Expired - Fee Related 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/50Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems
    • G06F21/57Certifying or maintaining trusted computer platforms, e.g. secure boots or power-downs, version controls, system software checks, secure updates or assessing vulnerabilities
    • G06F21/572Secure firmware programming, e.g. of basic input output system [BIOS]
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/50Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems
    • G06F21/57Certifying or maintaining trusted computer platforms, e.g. secure boots or power-downs, version controls, system software checks, secure updates or assessing vulnerabilities
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/50Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems
    • G06F21/57Certifying or maintaining trusted computer platforms, e.g. secure boots or power-downs, version controls, system software checks, secure updates or assessing vulnerabilities
    • G06F21/575Secure boot

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Hardware Design (AREA)
  • General Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Techniques For Improving Reliability Of Storages (AREA)
  • Stored Programmes (AREA)
  • Storage Device Security (AREA)
  • For Increasing The Reliability Of Semiconductor Memories (AREA)

Abstract

Verfahren zum Schutz eines Mikrorechner-Systems (30) gegen Manipulation von in einer Speicheranordnung (32) des Mikrorechner-Systems (30) abgelegten Daten (33), insbesondere eines dort abgelegten Steuerprogramms, wobei zu vorgebbaren Zeitpunkten Prüfmechanismen zum Überprüfen einer Manipulation der Daten (33) ausgeführt werden, dadurch gekennzeichnet, dass bei einer Neu- oder Umprogrammierung der Speicheranordnung (32) neue Daten (33) zumindest teilweise in einem flüchtigem Speicher (37), insbesondere in einem Random-Access-Memory (RAM), abgelegt werden, die Prüfmechanismen ausgeführt werden, und der in dem flüchtigen Speicher (37) enthaltene Teil der neuen Daten (33) in die Speicheranordnung (32) kopiert wird, falls keine Manipulation der neuen Daten (33) erkannt worden ist.

Description

  • Die vorliegende Erfindung betrifft ein Verfahren zum Schutz eines Mikrorechner-Systems gegen Manipulation von Daten, die in einer Speicheranordnung des Mikrorechner-Systems abgelegt sind. Als Daten ist insbesondere ein Steuerprogramm dort abgelegt. Zu vorgebbaren Zeitpunkten werden Prüfmechanismen zum Überprüfen einer Manipulation der Daten ausgeführt.
  • Die Erfindung betrifft außerdem ein Mikrorechner-System mit einem Rechengerät, insbesondere einem Mikroprozessor, mit einer Speicheranordnung, in der Daten, insbesondere ein Steuerprogramm, ablegbar sind, und mit zu vorgebbaren Zeitpunkten ausführbaren Prüfmechanismen zum Überprüfen einer Manipulation der Daten.
  • Stand der Technik
  • Aus dem Stand der Technik sind Verfahren zum Schutz von in einer Speicheranordnung eines Mikrorechner-Systems abgelegten Daten, insbesondere zum Schutz eines dort abgelegten Steuerprogramms, vor einer Manipulation bekannt. Ein solches Verfahren ist z. B. aus der DE 197 23 332 A1 bekannt. Derartige Verfahren werden bspw. zur Verhinderung einer unbefugten Manipulation eines in einem Steuergerät eines Kraftfahrzeugs abgelegten Steuerprogramms oder von dort abgelegten Parametern oder Grenzwerten eingesetzt. Das Steuerprogramm steuert oder regelt bestimmte Funktionen in dem Kraftfahrzeug, bspw. eine Brennkraftmaschine, eine Fahrdynamikregelung, ein Antiblockiersystem (ABS) oder ein elektronisches Lenksystem (Steer-by-Wire). Aufgrund einer Manipulation des Steuerprogramms kann es zu einem Defekt der gesteuerten oder geregelten Einheit des Kraftfahrzeugs kommen. Deshalb sollte eine Manipulation des Steuerprogramms oder der Daten nach Möglichkeit verhindert werden.
  • Trotz der Gefahr einer Manipulation des Steuerprogramms oder der Daten durch unbefugte Personen, ist es nicht sinnvoll, den Zugriff auf die Speicheranordnung des Steuergeräts völlig zu verbieten. Um bspw. eine Neuprogrammierung des Steuergeräts vornehmen zu können, muss es einem befugten Benutzerkreis möglich sein, auf die Speicheranordnung zuzugreifen. Es kann nämlich erforderlich sein, von Zeit zu Zeit eine neue Version eines Steuerprogramms oder neue Parameter oder Grenzwerte in dem Steuergerät abzulegen, um bspw. Fehler in der Software zu beseitigen oder neuen gesetzlichen Vorgaben Rechnung zu tragen.
  • Bei Kraftfahrzeugsteuergeräten wird zwischen Seriengeräten und Applikationsgeräten unterschieden. Üblicherweise werden Steuergeräte nach der Fertigung als Seriengeräte ausgeliefert. Bei Seriengeräten sind Prüfmechanismen (bspw. Checksummenbildung) zum Überprüfen einer Manipulation der in der Speicheranordnung des Steuergeräts abgelegten Daten aktiviert. Manipulierte Daten werden von diesen Mechanismen üblicherweise erkannt und die Daten können blockiert werden. Die Prüfmechanismen sind an sich in verschiedenen Ausgestaltungen aus dem Stand der Technik bekannt.
  • In bestimmten Situationen, insbesondere während der Entwicklungs- und Erprobungsphase der Steuergeräte, ist es erforderlich, die Prüfmechanismen zu deaktivieren, damit verschiedene Daten schnell und einfach in der Speicheranordnung abgelegt werden können. Ein Steuergerät mit deaktivierten Prüfmechanismen wird als ein Applikationsgerät bezeichnet.
  • Um eine lücklose Testabdeckung der in der Speicheranordnung abgelegten Daten sicherstellen zu können, müssen im Serienfall und im Applikationsfall die gleichen Daten, insbesondere muss das gleiche Steuerprogramm, in der Speicheranordnung des Steuergeräts abgelegt sein. Deshalb muss es möglich sein, ein Steuergerät von einem Serienfall in einen Applikationsfall umschalten zu können, ohne andere Daten in die Speicheranordnung laden zu müssen. Ein Umschalten vom Applikationsfall zurück in den Serienfall ist nicht erwünscht und sollte nach Möglichkeit sogar unmöglich sein, um zu verhindern, dass Steuergeräte in Umlauf sind, deren Steuerprogramm von dem Hersteller der Steuergeräte nicht getestet und genehmigt wurde.
  • Nach dem Stand der Technik wird zum Blockieren von manipulierten Daten eine Kennung (sog. Marker) definiert. Die Kennung ist ein Speicherbereich in einem nichtflüchtigen Speicher des Mikrorechner-Systems, der zur Kennzeichnung eines Blocks (Code- oder Datenbereich) als logisch gültig oder ungültig dient. Gewöhnlich wird auf diesem Speicherbereich ein Prüfmuster (sog. Pattern) programmiert, um die Kennung gültig oder ungültig zu setzen. Die Kennung wird verwendet, um das Ergebnis der Manipulationsprüfung zu speichern. Dadurch kann bei einer späteren Prüfung auf Manipulation Zeit gespart werden, da keine komplette Überprüfung der Speicheranordnung mehr ausgeführt werden muss, sondern nur die Kennung ausgewertet werden muss.
  • Die Kennung wird am Anfang der Neu- oder Umprogrammierung als ungültig definiert. Danach wird die Speicheranordnung neu- oder umprogrammiert und werden anschließend die neuen Daten durch die Prüfmechanismen auf Manipulation überprüft. Falls die Überprüfung der Speicheranordnung in Ordnung ist, wird die Kennung auf logisch gültig gesetzt. Anderenfalls wird die Kennung nicht programmiert und bleibt logisch ungültig.
  • Beim Hochfahren des Mikrorechner-Systems wird überprüft, ob die Kennung gesetzt (logisch gültig) ist. Falls ja, ist die Überprüfung erfolgreich durchgeführt worden, die Daten können ganz normal genutzt werden. Ist die Kennung jedoch nicht gesetzt (logisch ungültig), ist entweder die Überprüfung gescheitert oder wurde bspw. durch eine Unterbrechung der Spannungsversorgung (power down) unterbrochen.
  • Die Kennung muss in einem Speicherbereich liegen, der einerseits von außen unzugänglich, andererseits jedoch änderbar (auf gültig bzw. ungültig setzbar) ist. Diese Bedingungen werden erfüllt, wenn die Kennung in demjenigen Speicherbereich der Speicheranordnung abgelegt wird, in dem auch die Daten abgelegt sind bzw. in den bei einer Neu- oder Umprogrammierung neue Daten abgelegt werden. Es besteht die Gefahr, dass die Kennung während der Neu- oder Umprogrammierung mit manipulierten Daten ebenfalls programmiert und auf gültig gesetzt wird und nach der Neu- oder Umprogrammierung das Steuergerät abgeschaltet wird, um eine Ausführung der Prüfmechanismen im Anschluß an die Neu- oder Umprogrammierung zu verhindern. Beim nächsten Hochfahren des Rechners hat die Kennung den Wert gültig und die neu programmierten Daten können ganz normal genutzt werden, obwohl es sich um manipulierte Daten handelt.
  • Deshalb ist es eine Aufgabe der vorliegenden Erfindung, ein wirksames Blockieren von Daten in einer Speicheranordnung eines Mikrorechner-Systems zu ermöglichen, falls die Daten manipuliert wurden.
  • Zur Lösung dieser Aufgabe schlägt die Erfindung ausgehend von dem Verfahren der eingangs genannten Art vor, dass bei einer Neu- oder Umprogrammierung der Speicheranordnung neue Daten zumindest teilweise in einem flüchtigem Speicher, insbesondere in einem Random-Access-Memory (RAM), abgelegt werden, die Prüfmechanismen ausgeführt werden, und der in dem flüchtigen Speicher enthaltene Teil der neuen Daten in die Speicheranordnung kopiert wird, falls keine Manipulation der neuen Daten erkannt worden ist.
  • Vorteile der Erfindung
  • Erfindungsgemäß werden also bei einer Neu- oder Umprogrammierung zunächst nicht die gesamten neuen Daten in die dafür eigentlich vorgesehene Speicheranordnung übertragen. Vielmehr wird ein Teil der Daten in einen flüchtigen Speicher kopiert, der bei einer Unterbrechung der Versorgungsspannung seine Daten verliert. Erst nach erfolgreicher Ausführung der Prüfmechanismen ohne Detektion einer Manipulation der Daten werden die restlichen neuen Daten aus dem flüchtigen Speicher in die Speicheranordnung kopiert.
  • Falls eine Manipulation der Daten detektiert wird, werden die restlichen Daten nicht von dem flüchtigen Speicher in die Speicheranordnung kopiert. Falls die Spannungsversorgung während oder nach der Ausführung der Prüfmechanismen unterbrochen wird (power down), gehen die in dem flüchtigen Speicher abgelegten Daten verloren und werden nicht in die Speicheranordnung kopiert. In beiden Fällen sind die in der Speicheranordnung abgelegten Daten unvollständig und können nicht genutzt bzw. ausgeführt werden. Das erfindungsgemäße Verfahren ermöglicht eine zuverlässige und kaum zu umgehende Blockade von manipulierten Daten in der Speicheranordnung eines Mikrorechner-Systems. Es kann die Ausführung eines manipulierten Steuerprogramms oder die Nutzung von manipulierten Daten wirksam verhindern. Das Verfahren ist völlig unabhängig von äußeren Einflüssen wie bspw. einer Unterbrechung der Spannungsversorgung (power down).
  • Die Prüfmechanismen können den gesamten Inhalt der Speicheranordnung oder nur einen Teil der dort abgelegten Daten auf Manipulation überprüfen. Gemäß einer vorteilhaften Weiterbildung der vorliegenden Erfindung wird jedoch vorgeschlagen, dass von den Prüfmechanismen der Inhalt des flüchtigen Speichers auf Manipulation überprüft wird.
  • Die Auswahl des Teils der Daten, der im Rahmen der Neu- oder Umprogrammierung in dem flüchtigen Speicher abgelegt wird, kann bspw. anhand eines definierten Algorithmus erfolgen. Durch die Auswahl des Teils der Daten, der in dem flüchtigen Speicher abgelegt wird, kann auch der Teil der Daten bestimmt werden, der auf Manipulation überprüft werden soll. Gemäß einer bevorzugten Ausführungsform der vorliegenden Erfindung wird jedoch vorgeschlagen, dass der Teil der Daten, der bei einer Neu- oder Umprogrammierung der Speicheranordnung in dem flüchtigen Speicher abgelegt wird zufällig ausgewählt wird.
  • Da das Generieren einer Zufallszahl in manchen Mikrorechner-Systemen nicht trivial ist, werden verschiedene Möglichkeiten zum Generieren einer Zufallszahl vorgeschlagen. Zum einen kann ein Rauschsignal an einem Analog/Digital(A/D)-Eingang des Mikrorechner-Systems gelesen und eine Zufallszahl in Abhängigkeit von dem Rauschsignal erzeugt werden. Der A/D-Eingang liefert ein zufälliges Rauschsignal, wenn er unbeschaltet ist. Zum anderen kann eine Summe über den Inhalt der Speicheranordnung gebildet und eine Zufallszahl in Abhängigkeit von der Summe erzeugt werden. Der Inhalt der Speicheranordnung ist vor dem Hochfahren des Mikrorechner-Sytems ungeordnet oder anders ausgedrückt zufällig geordnet. Des weiteren kann ein rechnerinterner Zeitgeber (Timer) ausgelesen werden, der beim Hochfahren des Mikrorechner-Systems nicht zurückgesetzt wird, und eine Zufallszahl in Abhängigkeit von dem Stand des Zeitgebers erzeugt werden. Schließlich kann eine von einem Fahrer eines Kraftfahrzeugs, in das das Mikrorechner-System integriert ist, beeinflussbare Größe herangezogen und eine Zufallszahl in Abhängigkeit von der Größe erzeugt werden. Als von dem Fahrer beeinflussbare Größe kann bspw. die Stellung eines Fahrpedals oder eine Größe eines adaptiven Fahrerkennfelds herangezogen werden.
  • Als eine weitere Lösung der Aufgabe der vorliegenden Erfindung wird ausgehend von dem Mikrorechner-System der eingangs genannten Art vorgeschlagen, dass das Mikrorechner-System einen flüchtigen Speicher, in den bei einer Neu- oder Umprogrammierung der Speicheranordnung zumindest ein Teil der neuen Daten ablegbar ist, und Mittel zum Kopieren des in dem flüchtigen Speicher abgelegten Teils der neuen Daten in die Speicheranordnung aufweist, falls zuvor ausgeführte Prüfmechanismen ergeben, dass die neuen Daten nicht manipuliert sind. Der flüchtige Speicher ist vorzugsweise als ein Random-Access-Memory (RAM) ausgebildet.
  • Gemäß einer vorteilhaften Weiterbildung der vorliegenden Erfindung wird vorgeschlagen, dass das Mikrorechner-System als ein Steuergerät für ein Kraftfahrzeug zur Steuerung und/oder Regelung von Kraftfahrzeugfunktionen ausgebildet ist.
  • Gemäß einer bevorzugten Ausführungsform der vorliegenden Erfindung wird vorgeschlagen, dass das Mikrorechner-System Mittel zur Ausführung des erfindungsgemäßen Verfahrens aufweist. Vorteilhafterweise ist in der Speicheranordnung ein Computerprogramm abgelegt, das auf dem Rechengerät ablauffähig und zur Ausführung des erfindungsgemäßen. Verfahrens geeignet ist.
  • Vorzugsweise ist die Speicheranordnung auf dem gleichen Halbleiterbauelement ausgebildet wie das Rechengerät. Bei einem solchen sog. On-Chip-Speicher kann der Programmspeicher bzw. können die darauf abgelegten Daten nicht von außen manipuliert werden, wodurch das Mikrorechner-System zusätzlich gegen Manipulation der auf der Speicheranordnung abgelegten Daten geschützt ist.
  • Zeichnungen
  • Weitere Merkmale, Anwendungsmöglichkeiten und Vorteile der Erfindung ergeben sich aus der nachfolgenden Beschreibung von Ausführungsbeispielen der Erfindung, die in der Zeichnung dargestellt sind. Es zeigen:
  • 1 ein Ablaufdiagramm eines erfindungsgemäßen Verfahrens gemäß einer bevorzugten Ausführungsform; und
  • 2 ein erfindungsgemäßes Mikrorechner-System gemäß einer bevorzugten Ausführungsform.
  • Beschreibung der Ausführungsbeispiele
  • Ein Ablaufdiagramm eines erfindungsgemäßen Verfahrens zum Schutz eines Mikrorechner-Systems 30 aus 2 gegen Manipulation von Daten 33, die in einer Speicheranordnung 32 des Mikrorechner-Systems 30 abgelegt sind, ist in 1 dargestellt. Das Mikrorechner-System 30 ist bspw. als ein Steuergerät eines Kraftfahrzeugs zur Steuerung und/oder Regelung bestimmter Kraftfahrzeugfunktionen ausgebildet. Die Daten 33 sind bspw. als ein Steuerprogramm, als Grenzwerte oder als Parameter ausgebildet.
  • Das Steuergerät 30 umfasst einen Mikroprozessor 31 zur Abarbeitung eines in der Speicheranordnung 32 abgelegten Steuerprogramms 33 und/oder zur Verarbeitung der dort abgelegten Daten 33. Um die Daten 33 von der Speicheranordnung 32 zu dem Mikroprozessor 31 zu übertragen, ist zwischen dem Prozessor und dem Speicher eine Datenübertragungsverbindung 34 vorgesehen. Die Daten 33 werden schrittweise oder als ganzes zur Verarbeitung an den Mikroprozessor 31 übertragen. Ergebnisse von Berechnungen o. ä. werden von dem Mikroprozessor 31 an die Speicheranordnung 32 übertragen. Die Speicheranordnung 32 ist auf dem gleichen Halbleiterbauelement ausgebildet wie der Mikroprozessor 31 (On-Chip-Speicher). Dem Steuergerät 30 werden Sensorsignale 35 von verschiedenen Sensoren zum Erfassen des Zustands des Kraftfahrzeugs zugeführt. Das Steuergerät 30 ermittelt aus den Sensorsignalen 35 und in Abhängigkeit von den Daten 33 (Steuerprogramm, Parameter und/oder Grenzwerte) Ausgangssignale 36 für Aktoren zur Beeinflussung des Zustands des Kraftfahrzeugs.
  • Von Zeit zu Zeit kann es erforderlich sein, eine Neu- oder Umprogrammierung des Steuergeräts 30 bzw. der in der Speicheranordnung 32 abgelegten Daten 33 vorzunehmen. Eine Neu- oder Umprogrammierung kann erforderlich sein, um eine neue Version eines Steuerprogramms oder neue Parameter oder Grenzwerte in dem Steuergerät 30 abzulegen, um bspw. Fehler in der Software zu beseitigen oder um neuen gesetzlichen Vorgaben Rechnung zu tragen. Zur Neu- bzw. Umprogrammierung wird die Speicheranordnung 32 zunächst gelöscht und dann mit neuen Daten 33 beschrieben. Ein Pfeil 38 verdeutlicht die Übertragung der neuen Daten 33 von einem Programmiergerät an das Steuergerät 30. Bevor die neuen Daten 33 genutzt werden dürfen, muss überprüft werden, ob es sich um manipulierte Daten handelt. Dies geschieht durch Ausführen geeigneter Prüfmechanismen bspw. einer Checksummenbildung zu vorgebbaren Zeitpunkten. Derartige Prüfmechanismen sind an sich aus dem Stand der Technik bekannt und sollen hier nicht im Detail beschrieben werden.
  • Das in 1 dargestellte erfindungsgemäße Verfahren beginnt in einem Funktionsblock 40. In einem Funktionsblock 41 wird mit dem Hochfahren des Mikrorechner-Systems 30, bspw. durch Drehen eines Zündschlüssels des Kraftfahrzeugs, in den das Mikrorechner-System 30 als Steuergerät integriert ist, oder durch Drücken eines Starterknopfes begonnen. In einem Abfrageblock 42 wird überprüft, ob neue Daten 33 zur Neu- oder Umprogrammierung der Speicheranordnung 32 anliegen. Falls nein, wird zu einem Funktionsblock 48 verzweigt, das erfindungsgemäße Verfahren beendet und das Hochfahren des Mikrorechner-Systems 30 ganz normal fortgesetzt und das Mikrorechner-Systems 30 ganz normal betrieben.
  • Falls jedoch Daten 33 zur Neu- oder Umprogrammierung der Speicheranordnung 32 anliegen, werden die neuen Daten 33 in einem Funktionsblock 43 an das Steuergerät 30 übertragen und dort zum Teil in der Speicheranordnung 32 und zum Teil in einem flüchtigen Speicher (z. B. Random Access Memory, RAM) 37 des Mikrorechner-Systems 30 abgelegt. Die in dem flüchtigen Speicher 37 abgelegten Daten 33 gehen bei einer Unterbrechung der Spannungsversorgung verloren. In einem Funktionsblock 44 werden die in dem flüchtigen Speicher 37 abgelegten Daten 33 anhand von an sich aus dem Stand der Technik bekannten Prüfmechanismen (z. B. Checksummenbildung) auf Manipulation überprüft. In einem Abfrageblock 45 wird abgefragt, ob die geprüften Daten 33 manipuliert wurden oder nicht. Falls ja, wird zu dem Funktionsblock 48 verzweigt und das erfindungsgemäße Verfahren beendet. Das bedeutet, dass nach wie vor ein Teil der Daten 33 in dem flüchtigen Speicher 37 und nicht in der eigentlich dafür vorgesehenen Speicheranordnung 32 abgelegt sind. Sobald die Spannungsversorgung unterbrochen wird, werden diese Daten 33 verloren gehen. Somit sind die in der Speicheranordnung 32 abgelegten Daten 33 nicht vollständig; ein neues Steuerprogramm wäre nicht oder nicht fehlerfrei ausführbar und neue Parameter oder Grenzwerte wären fehlerhaft oder unvollständig. Das erfindungsgemäße Verfahren ermöglicht also eine wirksame Blockierung der Daten 33, für den Fall dass eine Manipulation der Daten 33 erkannt wurde.
  • Falls keine Manipulation der Daten 33 detektiert wurde, werden in einem Funktionsblock 46 die restlichen Daten 33 aus dem flüchtigen Speicher 37 in die Speicheranordnung 32 kopiert. Die in der Speicheranordnung 32 enthaltenen Daten sind nun vollständig; ein Steuerprogramm kann normal ausgeführt werden, Parameter oder Grenzwerte sind voll nutzbar. In dem Funktionsblock 48 ist das erfindungsgemäße Verfahren beendet. Das Hochfahren des Mikrorechner-Systems 30 wird ganz normal fortgesetzt, und das Mikrorechner-System 30 wird ganz normal betrieben.

Claims (9)

  1. Verfahren zum Schutz eines Mikrorechner-Systems (30) gegen Manipulation von in einer Speicheranordnung (32) des Mikrorechner-Systems (30) abgelegten Daten (33), insbesondere eines dort abgelegten Steuerprogramms, wobei zu vorgebbaren Zeitpunkten Prüfmechanismen zum Überprüfen einer Manipulation der Daten (33) ausgeführt werden, dadurch gekennzeichnet, dass bei einer Neu- oder Umprogrammierung der Speicheranordnung (32) neue Daten (33) zumindest teilweise in einem flüchtigem Speicher (37), insbesondere in einem Random-Access-Memory (RAM), abgelegt werden, die Prüfmechanismen ausgeführt werden, und der in dem flüchtigen Speicher (37) enthaltene Teil der neuen Daten (33) in die Speicheranordnung (32) kopiert wird, falls keine Manipulation der neuen Daten (33) erkannt worden ist.
  2. Verfahren nach Anspruch 1, dadurch gekennzeichnet, dass von den Prüfmechanismen der Inhalt des flüchtigen Speichers (37) auf Manipulation überprüft wird.
  3. Verfahren nach Anspruch 1 oder 2, dadurch gekennzeichnet, dass der Teil der Daten (33), der bei einer Neu- oder Umprogrammierung der Speicheranordnung (32) in dem flüchtigen Speicher (37) abgelegt wird, zufällig ausgewählt wird.
  4. Mikrorechner-System (30) mit einem Rechengerät (31), insbesondere einem Mikroprozessor, mit einer Speicheranordnung (32), in der Daten (33), insbesondere ein Steuerprogramm, ablegbar sind, und mit zu vorgebbaren Zeitpunkten ausführbaren Prüfmechanismen zum Überprüfen einer Manipulation der Daten (33), dadurch gekennzeichnet, dass das Mikrorechner-System (30) einen flüchtigen Speicher (37), in den bei einer Neu- oder Umprogrammierung der Speicheranordnung (32) zumindest ein Teil der neuen Daten (33) ablegbar ist, und Mittel zum Kopieren des in dem flüchtigen Speicher (37) abgelegten Teils der neuen Daten (33) in die Speicheranordnung (32) aufweist, falls zuvor ausgeführte Prüfmechanismen ergeben, dass die neuen Daten (33) nicht manipuliert sind.
  5. Mikrorechner-System (30) nach Anspruch 4, dadurch gekennzeichnet, dass der flüchtige Speicher (37) als ein Random-Access-Memory (RAM) ausgebildet ist.
  6. Mikrorechner-System (30) nach Anspruch 4 oder 5, dadurch gekennzeichnet, dass das Mikrorechner-System (30) als ein Steuergerät für ein Kraftfahrzeug zur Steuerung und/oder Regelung von Kraftfahrzeugfunktionen ausgebildet ist.
  7. Mikrorechner-System (30) nach einem der Ansprüche 4 bis 6, dadurch gekennzeichnet, dass das Mikrorechner-System (30) Mittel zur Ausführung eines Verfahrens nach Anspruch 2 oder 3 aufweist.
  8. Mikrorechner-System (30) nach einem der Ansprüche 4 bis 7, dadurch gekennzeichnet, dass in der Speicheranordnung (32) ein Computerprogramm abgelegt ist, das auf dem Rechengerät (31) ablauffähig und zur Ausführung eines Verfahrens nach einem der Ansprüche 1 bis 3 geeignet ist.
  9. Mikrorechner-System (30) nach einem der Ansprüche 4 bis 8, dadurch gekennzeichnet, dass die Speicheranordnung (32) auf dem gleichen Halbleiterbauelement wie das Rechengerät (31) ausgebildet ist.
DE10131300A 2001-07-02 2001-07-02 Verfahren zum Schutz eines Mikrorechner-Systems gegen Manipulation von in einer Speicheranordnung abgelegten Daten und Mikrorechner-System Expired - Fee Related DE10131300B4 (de)

Priority Applications (3)

Application Number Priority Date Filing Date Title
DE10131300A DE10131300B4 (de) 2001-07-02 2001-07-02 Verfahren zum Schutz eines Mikrorechner-Systems gegen Manipulation von in einer Speicheranordnung abgelegten Daten und Mikrorechner-System
US10/188,167 US7552354B2 (en) 2001-07-02 2002-07-01 Method of protecting a microcomputer system against manipulation of data stored in a memory arrangement
JP2002193738A JP4563644B2 (ja) 2001-07-02 2002-07-02 メモリ装置に格納されているデータの操作に対してマイクロコンピュータシステムを保護する方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
DE10131300A DE10131300B4 (de) 2001-07-02 2001-07-02 Verfahren zum Schutz eines Mikrorechner-Systems gegen Manipulation von in einer Speicheranordnung abgelegten Daten und Mikrorechner-System

Publications (2)

Publication Number Publication Date
DE10131300A1 DE10131300A1 (de) 2003-01-16
DE10131300B4 true DE10131300B4 (de) 2012-12-06

Family

ID=7689846

Family Applications (1)

Application Number Title Priority Date Filing Date
DE10131300A Expired - Fee Related DE10131300B4 (de) 2001-07-02 2001-07-02 Verfahren zum Schutz eines Mikrorechner-Systems gegen Manipulation von in einer Speicheranordnung abgelegten Daten und Mikrorechner-System

Country Status (3)

Country Link
US (1) US7552354B2 (de)
JP (1) JP4563644B2 (de)
DE (1) DE10131300B4 (de)

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7937625B2 (en) * 2008-09-26 2011-05-03 Microsoft Corporation Evaluating effectiveness of memory management techniques selectively using mitigations to reduce errors
DE102020212988A1 (de) 2020-10-14 2022-04-14 Robert Bosch Gesellschaft mit beschränkter Haftung Sicheres Hochfahren eines Computersystems
DE102022201898A1 (de) * 2022-02-23 2023-08-24 Robert Bosch Gesellschaft mit beschränkter Haftung Mitigation einer manipulation von software eines fahrzeugs

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE19723332A1 (de) * 1997-06-04 1998-09-03 Bosch Gmbh Robert Verfahren zum Schutz eines Mikrorechners und geschützter Mikrorechner

Family Cites Families (17)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4819237A (en) * 1987-08-05 1989-04-04 Digital Appliance Controls, Inc. Method and apparatus for monitoring the validity of microprocess or volatile memory
FR2647924B1 (fr) * 1989-06-06 1994-06-17 Bull Cp8 Procede pour verifier l'integrite d'un logiciel ou de donnees, et systeme pour la mise en oeuvre de ce procede
US5442645A (en) 1989-06-06 1995-08-15 Bull Cp8 Method for checking the integrity of a program or data, and apparatus for implementing this method
JP3120157B2 (ja) * 1991-07-08 2000-12-25 株式会社日立製作所 環状論理通信路制御方法
TW231343B (de) * 1992-03-17 1994-10-01 Hitachi Seisakusyo Kk
DE4332499A1 (de) * 1993-09-24 1995-03-30 Bosch Gmbh Robert Verfahren zur vollständigen Neuprogrammierung eines löschbaren, nichtflüchtigen Speichers
US5533123A (en) * 1994-06-28 1996-07-02 National Semiconductor Corporation Programmable distributed personal security
JPH0830450A (ja) 1994-07-13 1996-02-02 Sharp Corp 情報処理装置
US5801621A (en) * 1995-07-17 1998-09-01 Chrysler Corporation Method for re-initializing vehicle parameters after a power loss in a motor vehicle
US5740178A (en) * 1996-08-29 1998-04-14 Lucent Technologies Inc. Software for controlling a reliable backup memory
US6275911B1 (en) * 1996-09-20 2001-08-14 Denso Corporation Memory writing device for an electronic device
US5940850A (en) * 1996-10-31 1999-08-17 International Business Machines Corporation System and method for selectively enabling load-on-write of dynamic ROM data to RAM
JP3166634B2 (ja) * 1996-11-07 2001-05-14 日産自動車株式会社 車両用制御装置の故障記憶装置
DE19740525C1 (de) * 1997-09-15 1999-02-04 Siemens Ag Verfahren zur Abspeicherung und Wiedergewinnung von Daten in einem Steuersystem, insbesondere in einem Kraftfahrzeug
JP2001142713A (ja) * 1999-11-16 2001-05-25 Fujitsu I-Network Systems Ltd ファームウェアのアップグレード方式
US6804752B2 (en) * 2001-04-02 2004-10-12 Delphi Technologies, Inc. Event data protection method for a flash programmable microprocessor-based control module
US6941219B2 (en) * 2003-09-30 2005-09-06 Detroit Diesel Corporation Method for recreating valid calibration data for an engine control module

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
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
JP2003140916A (ja) 2003-05-16
US20030065968A1 (en) 2003-04-03
JP4563644B2 (ja) 2010-10-13
US7552354B2 (en) 2009-06-23
DE10131300A1 (de) 2003-01-16

Similar Documents

Publication Publication Date Title
DE69203233T2 (de) Verriegelungsverfahren fuer eine speicherkarte.
DE69602693T2 (de) Steuerung für eine Maschine mit steuerbarem Überschreiben der Steuerungsprogramme oder -daten nach dem Halt der Maschine
DE60119412T2 (de) Speicherüberschreibungssystem für eine Fahrzeugsteuereinrichtung
DE19839680B4 (de) Verfahren und Vorrichtung zur Veränderung des Speicherinhalts von Steuergeräten
EP1262856B1 (de) Programmgesteuerte Einheit
DE19963208A1 (de) Verfahren zum Manipulationsnachweis einer programmierbaren Speichereinrichtung eines digitalen Steuergeräts
DE10131300B4 (de) Verfahren zum Schutz eines Mikrorechner-Systems gegen Manipulation von in einer Speicheranordnung abgelegten Daten und Mikrorechner-System
EP1611517B1 (de) Programmgesteuerte einheit
DE10002204B4 (de) Verfahren zum Schutz eines Mikrorechners eines Steuergeräts gegen Manipulation eines Programmes und Vorrichtung zur Durchführung des Verfahrens
DE10002203B4 (de) Verfahren zum Schutz eines Mikrorechner-Systems gegen Manipulation von in einer Speicheranordnung des Mikrorechner-Systems gespeicherten Daten
EP1611516A2 (de) Programmgesteuerte einheit
EP1563358B1 (de) Verfahren zur sicheren überprüfung eines speicherbereiches eines mikrocontrollers in einem steuergerät und steuergerät mit einem geschützten mikrocontroller
DE10131577A1 (de) Verfahren zum Schutz eines Mikrorechner-Systems gegen Manipulation seines Programms
DE10131578A1 (de) Verfahren zum Schutz eines Mikrorechner-Systems gegen Manipulation von in einer Speicheranordnung abgelegten Daten
DE102016200130A1 (de) Elektronische Steuervorrichtung
DE102016224206B4 (de) Fahrzeugsteuervorrichtung
EP1293858B1 (de) Verfahren zum Schutz eines Mikrorechner-Systems gegen Manipulation seines Programms
EP1274097B1 (de) Überprüfung von in einer Speicheranordnung abgelegten Daten
DE69916682T2 (de) Verfahren zum Entriegeln des Zugriffs auf einen Rechner von einem Fernladungssystem einer Datei
DE102004060333A1 (de) Erkennung und Anzeige von Modifikationen an Softwareständen für Motorsteuergerätesoftware
WO2004090654A2 (de) Programmgesteuerte einheit
DE102022125619A1 (de) Verfahren zum Starten einer Datenverarbeitungseinrichtung, Datenverarbeitungseinrichtung und Kraftfahrzeug
DE10123170A1 (de) Verfahren zum Betreiben eines Steuergeräts
DE102018219700B4 (de) Steuervorrichtung
DE102017208872A1 (de) Elektronische Steuereinheit

Legal Events

Date Code Title Description
8110 Request for examination paragraph 44
R018 Grant decision by examination section/examining division
R020 Patent grant now final

Effective date: 20130307

R119 Application deemed withdrawn, or ip right lapsed, due to non-payment of renewal fee