EP3186709A1 - Verfahren zur absicherung von nutzdaten eines speichers und elektronisches rechensystem - Google Patents

Verfahren zur absicherung von nutzdaten eines speichers und elektronisches rechensystem

Info

Publication number
EP3186709A1
EP3186709A1 EP15763226.6A EP15763226A EP3186709A1 EP 3186709 A1 EP3186709 A1 EP 3186709A1 EP 15763226 A EP15763226 A EP 15763226A EP 3186709 A1 EP3186709 A1 EP 3186709A1
Authority
EP
European Patent Office
Prior art keywords
memory
area
memory area
read
computing system
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.)
Withdrawn
Application number
EP15763226.6A
Other languages
English (en)
French (fr)
Inventor
Andreas Heise
Kai Schade
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.)
Continental Teves AG and Co OHG
Original Assignee
Continental Teves AG and Co OHG
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 Continental Teves AG and Co OHG filed Critical Continental Teves AG and Co OHG
Publication of EP3186709A1 publication Critical patent/EP3186709A1/de
Withdrawn legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/08Error detection or correction by redundancy in data representation, e.g. by using checking codes
    • G06F11/10Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's
    • G06F11/1008Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's in individual solid state devices
    • G06F11/1048Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's in individual solid state devices using arrangements adapted for a specific error detection or correction feature
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0602Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
    • G06F3/0604Improving or facilitating administration, e.g. storage management
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/08Error detection or correction by redundancy in data representation, e.g. by using checking codes
    • G06F11/10Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's
    • G06F11/1004Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's to protect a block of data words, e.g. CRC or checksum
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0602Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
    • G06F3/0614Improving the reliability of storage systems
    • G06F3/0619Improving the reliability of storage systems in relation to data integrity, e.g. data losses, bit errors
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0628Interfaces specially adapted for storage systems making use of a particular technique
    • G06F3/0629Configuration or reconfiguration of storage systems
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0668Interfaces specially adapted for storage systems adopting a particular infrastructure
    • G06F3/0671In-line storage system
    • G06F3/0673Single storage device

Definitions

  • the present invention relates to a method for securing user data of a memory according to the preamble of claim 1 and an electronic computing system according to the preamble of claim 5.
  • the problem here is in particular the protection of memory modules, such as DRAMs. Spatial redundancy is a major cost driver as the chip area doubles with complete redundancy, which is uneconomical, especially for large data sets. Temporal testing may require extended time resources for modern automotive systems, with the tolerable time between occurrence and detection of an error (FTTI) being too high for safety-related computing systems. DRAMs often compromise.
  • ECC / EDC units Error Correcting Code and "Error Detecting Code" are used to store test data (ECC / CRC) in regular memory elements in addition to the user data be compared.
  • ECC / CRC test data
  • These test data are generated for a defined memory area, so that not the entire memory area needs to be kept multiple times and only safety-critical areas are enriched with test data.
  • These test data comprise about 25 to 100% of the hedged Memory, depending on the size of the user data to be written; or about 12.5 to 20% if, in addition to the user data, the corresponding address information is also taken into account.
  • Such a system is described for example in DE 19529434 B4.
  • the weighting of the address information within this secure memory area is lower in favor of a higher error correction power of the user data. This is achieved in that the respective address bits with different weightings are included in the test data calculation, wherein the upper address bits are usually considered less strongly.
  • the error detection and correction capability of the check codes against the payload data is thus inversely proportional to the size of the protected memory area. The error detection or error correction capacity thus decreases with increasing memory areas to be protected.
  • This weighting is hardware implemented (hard-wired) and specifies the basics of the ma ⁇ thematic calculation of the check codes. For modern applications in motor vehicles, the defined memory area can be designed too small, for example, if with known systems only 8 MByte would be secured, but 256 MB are needed. Thus, the storage of program data or user data either does not meet the required security or the secure memory area for this is very limited.
  • the object of the invention is to provide a means for securing data of a memory, which enables an improved Ver ⁇ ratio of the error detection and / or error correction capability to be provided for a memory requirement for test data and can be realized as inexpensively.
  • the invention relates to a method for securing user data of a read-write memory of an electronic computer system in a motor vehicle, wherein at least one hedging area for securing the user data of a memory area of the
  • Read-write memory using test data at the time of elekt ⁇ ronic computer system set or canceled or specified in such a way that its extension and / or position is changed with respect to an entire memory area covered by the read-write memory.
  • a protection of the memory areas or using test data is preferably carried out by means of hardware and / or software ⁇ implemented error detection and / or error correction method, such as ECC or EDC, through which a test and / or correction in the read-write memory existing user data can be done.
  • the generation of the test data is carried out in particular when writing to the read-write memory, while a check and possibly correction when reading the user data is done.
  • Read-write memories can be used for various embodiments of data memories for electronic systems, such as semiconductor memories or magnetic memories.
  • an association is provided between a program module executed by the electronic computer system and / or memory area of a program code and the memory area to be protected by means of the security area.
  • the memory area of the program code is specified by means of the underlying virtual or physical memory. Which program module is executed at the respective time is thereby preferably detected by means of the memory addresses of the underlying memory area of a program code.
  • This is particularly advantageous in order to partition the safety and / or security-relevant data and to prevent each affected software modules can access to a storage area to ⁇ which this is not assigned to this or from other reasons, such as a lower security level, may not access the memory area.
  • the invention further describes an electronic computing system for a motor vehicle, comprising at least one central computing ⁇ unit, a read-write memory and a Speichabsiche ⁇ tion unit for securing user data at least one
  • the memory protection unit is configured to set at least one hedge area for securing a memory area of the read-write memory during the term of the electronic Re ⁇ chensystems, cancel or pretend in such a way that its extension and / or or position is changed with respect to an entire memory area covered by the random access memory.
  • mapping means for mapping between a program executed by the electronic computing system program module and / or memory area of a program code and the specified means of Absiche ⁇ approximately range to be protected storage area is preferred see superiors.
  • the electronic computing system is preferably configured to carry out the method according to the invention.
  • the invention particularly preferably finds use in or in conjunction with one or more-in particular fast-clocked-digital signal processors, Field Programmable Gate Array (FPGA) or RISC / CISC CPUs. Further preferred embodiments will become apparent from the following description of an embodiment with reference to FIG. 1.
  • Fig. 1 is an electronic computing system for explaining the
  • Fig. 1 shows a schematic representation of an electronic computing system 4, e.g. a microprocessor system, to illustrate the invention.
  • memory 3 is assigned to central processing unit (CPU) 1, user data ND in memory 3 being protected by memory protection unit 2 by means of test data PD.
  • Memory 3 is, for example, a random access semiconductor memory, e.g. a RAM.
  • ECC error detection and / or error correction methods
  • test data PD are generated by Speicherabommes- unit 2 and compared when reading in a conventional manner with re-calculated from the read payload ND test data.
  • test data PD and useful data ND into RAM 3 is depicted in the lower part of FIG. 1, wherein a cell 3.1, in particular a single memory cell or, depending on the granularity of memory 3, a smallest to read or write Unit, eg a word, is.
  • Memory protection unit 2 sets according to the embodiment, the hedging areas Fl and F2 within the entire Spei ⁇ cher Maschinens of memory 3, which are to be safeguarded by means of test data PD or hedged.
  • two fused memory areas Fl, F2 are given, but it can also be more than two or only a single to same time or no secured storage area be present.
  • Memory areas which are to be protected by means of useful data ND can be set several times independently by memory backup unit 2 at runtime by computer system 4 or can again be classified as not to be protected.
  • the size of each already existing secure storage area or security area F1, F2 can be specified and changed during operation of the computer system 4.
  • the hard ⁇ interpretation of the hedged memory areas and the size of which is preferably carried out by means of a mapping of a program executed at the current time by the computer system 4 program module in such a way that the program module executed at the time dictates the hedged storage area or this module is associated with a secured memory area.
  • Which program module is executed at the respective time can be detected, for example, by means of the memory addresses of the underlying memory area of a program code.
  • the assignment or assignment of a program module or its program memory area to a memory area to be protected can be done, for example, by means of an allocation table by the memory protection unit 2.
  • This mapping table can be created from the relevant part of the operation ⁇ system software, managed and stored statically to the memory protection unit 2 (hardware), regardless of ak ⁇ tual state of the actual program execution to be available at all times.
  • the memory protection unit 2 would allow according to this realization, an automatic configuration of the hedging areas.
  • memory protection unit 2 is always configured for only one area to be protected in such a way that the corresponding configuration is implemented by means of software when entering or activating a program area that is worthy of data protection and / or instruction protection.
  • the Corresponding allocation table is managed in accordance with this realization by means of software and memory protection unit 2 is not necessarily made available, but tested as required by the software for the configuration of memory protection unit 2 before program execution.
  • This alternative embodiment advantageously does not require any additional resources, such as an integrated logic circuit for accessing and reading the access ports, or an integrated logic circuit for dynamically configuring memory protection unit 2.
  • test data PD required to implement the invention is calculated in the exemplary embodiment according to FIG. 1 as follows:
  • Size ND - storage volume of a storage cell 3.1 of the payload data Size - storage volume of the check data for securing a storage cell with payload data
  • the software architecture is preferably interpreted in such a way that after a change of a second coverage area of a first SpeI ⁇ cher Scheme on a second storage area or removing a first coverage area of a first memory area and generating a new coverage area for a
  • Memory area no memory access to the first memory area can be done.
  • the content or extent of the stored data which includes user data and test data, is canceled a protection of a memory area not changed, but released for writing.
  • One advantage for example, is that an application on microcontroller units (MCU) whose ECC logic (error correction of the memory) can specify or manage only one memory area, since this only about the required number of configuration registers for a security area, eg Offset, Length, Status, Config.
  • MCU microcontroller units
  • ECC logic error correction of the memory
  • Modified decoder and test blocks such that the test data PD is not read and instead essentially ignored.
  • the test data PD are thus not included in the checksum.
  • the skipping is done for this and similar cases be ⁇ preferably also for instructions.
  • a repeated reconfiguration or reconfiguration of the hedging area when entering / leaving the hedging area is possible.

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Human Computer Interaction (AREA)
  • Quality & Reliability (AREA)
  • Computer Security & Cryptography (AREA)
  • Storage Device Security (AREA)
  • Techniques For Improving Reliability Of Storages (AREA)

Abstract

Die Erfindung beschreibt ein Verfahren zur Absicherung von Nutzdaten (ND) eines Schreib-Lese-Speichers (3) eines elektronischen Rechensystems (4) in einem Kraftfahrzeug, wobei wenigstens ein Absicherungsbereich (F1, F2) zur Absicherung eines Speicherbereichs des Schreib-Lese-Speichers (3) mittels Prüfdaten (PD) zur Laufzeit des elektronischen Rechensystems (4) festgelegt oder aufgehoben oder in der Weise vorgegeben wird, dass dessen Ausdehnung und/oder Position bezogen auf einen durch den Schreib-Lese-Speicher (3) umfassten gesamten Speicherbereich geändert wird. Weiterhin beschreibt die Erfindung ein korrespondierendes elektronisches Rechensystem.

Description

Beschreibung
Verfahren zur Absicherung von Nutzdaten eines Speichers und elektronisches Rechensystem
Die vorliegende Erfindung betrifft ein Verfahren zur Absicherung von Nutzdaten eines Speichers gemäß Oberbegriff von Anspruch 1 sowie ein elektronisches Rechensystem gemäß Oberbegriff von Anspruch 5. Für sicherheitsrelevante Steuergeräte in Kraftfahrzeugen müssen
Mikroprozessoren sowie deren Schnittstellenmodule als auch extern angebundene funktionelle Baugruppen, wie z.B. Bustreiber, Speicher, AD-Wandler usw. entweder strukturell sicher ausgelegt sein, d.h. redundant vorhanden (= spatial) , oder zur Laufzeit wiederholt geprüft (= temporal) werden, um Anforderungen an sicherheitsre¬ levante elektronische Systeme in Kraftfahrzeugen zu erfüllen (z.B. ISO 26262). Problematisch ist hierbei insbesondere die Absicherung von Speicherbausteinen, wie z.B. DRAMs. Spatiale Redundanz ist dabei ein wesentlicher Kostentreiber, da sich die Chipfläche bei voll- ständiger Redundanz verdoppelt, was besonders für große Datensätze unwirtschaftlich ist. Temporale Prüfung kann für moderne Kraftfahrzeugsysteme zu ausgedehnte Zeitressourcen erfordern, wobei die tolerierbare Zeit zwischen Eintreten und Entdecken eines Fehlers (FTTI) für sicherheitsrelevante Rechensysteme zu groß ist. Bei DRAMs wird häufig ein Kompromiss angewendet. Anstatt Speicherelemente redundant vorzuhalten, werden mittels ECC/EDC-Einheiten („Error Correcting Code" und „Error Detecting Code") zusätzlich zu den Nutzdaten noch Prüfdaten (ECC / CRC) in reguläre Speicherelemente gespeichert, welche beim Speichern automatisch erzeugt und beim Lesen automatisch verglichen werden. Diese Prüfdaten werden für einen definierten Speicherbereich erzeugt, sodass nicht der gesamte Speicherbereich mehrfach vorgehalten werden braucht und nur sicherheitskritische Bereiche mit Prüfdaten angereichert werden. Diese Prüfdaten umfassen etwa 25 bis 100% des abzusichernden Speichers, abhängig von der Größe des zu schreibenden Nutzdatums; bzw. etwa 12,5 bis 20% sofern zusätzlich zu den Nutzdaten noch die korrespondierenden Adressinformation berücksichtigt werden. Ein solches System ist beispielsweise in der DE 19529434 B4 beschrieben.
Die Gewichtung der Addressinformation innerhalb dieses abgesicherten Speicherbereichs fällt zugunsten einer höheren Fehlerkorrekturleistung der Nutzdaten geringer aus. Dies wird dadurch erreicht, dass die jeweiligen Addressbits mit unterschiedlicher Gewichtung in die Prüfdatenberechnung einfließen, wobei dabei die oberen Addressbits üblicherweise weniger stark berücksichtigt werden. Das Fehlererkennungs- und Korrekturvermögen der Prüfcodes gegenüber den Nutzdaten ist somit umgekehrt proportional zur Größe des abgesicherten Speicherbereichs. Das Fehlererkennungs- bzw. Fehlerkorrekturvermögen nimmt mit größer werdenden zu sichernden Speicherbereichen somit ab. Diese Gewichtung ist mittels Hardware implementiert (hart-verdrahtet ) und legt die Grundlagen der ma¬ thematischen Berechnung der Prüfcodes fest. Für moderne Anwendungen in Kraftfahrzeugen kann der definierte Speicherbereich zu klein ausgelegt sein, zum Beispiel, wenn mit bekannten Systemen lediglich 8 MByte abgesichert nutzbar wären, jedoch 256 MByte benötigt werden. Somit erfüllt die Speicherung von Programmdaten bzw. von Nutzdaten entweder nicht eine geforderte Sicherheit oder der abgesicherte Speicherbereich für diese ist sehr limitiert.
Aufgabe der Erfindung ist es, ein Mittel zur Absicherung von Daten eines Speichers bereitzustellen, welches ein verbessertes Ver¬ hältnis des Fehlererkennungs- und/oder Fehlerkorrekturvermögens zu einem dafür vorzusehenden Speicherbedarf für Prüfdaten ermöglicht und dabei möglichst preiswert realisiert werden kann.
Diese Aufgabe wird durch ein Verfahren gemäß Anspruch 1 und ein elektronisches Rechensystem gemäß Anspruch 5 gelöst. Die Erfindung beschreibt ein Verfahren zur Absicherung von Nutzdaten eines Schreib-Lese-Speichers eines elektronischen Rechensystems in einem Kraftfahrzeug, wobei wenigstens ein Absicherungsbereich zur Absicherung der Nutzdaten eines Speicherbereichs des
Schreib-Lese-Speichers mittels Prüfdaten zur Laufzeit des elekt¬ ronischen Rechensystems festgelegt oder aufgehoben oder in der Weise vorgegeben wird, dass dessen Ausdehnung und/oder Position bezogen auf einen durch den Schreib-Lese-Speicher umfassten gesamten Speicherbereich geändert wird.
Somit ist es in vorteilhafterweise möglich während des laufenden Betriebs eines zugrundeliegenden elektronischen Rechensystems bzw. während der Ausführung eines Programms abzusichernde Speicherbe¬ reiche auszuwählen, wodurch die Konfigurierbarkeit erheblich verbessert wird. Unter einem laufenden Betrieb des elektronischen Rechensystems ist dabei insbesondere ein Aktiv-Zustand zu verstehen, in welchem dieses Rechenoperationen ausführt. Die Einschränkungen des Standes der Technik werden mit der vorliegenden Erfindung in vorteilhafter Weise überwunden und die oben genannte Aufgabe gelöst. Es wird somit ein verbessertes Verhältnis des Fehlererkennungs¬ und/oder Fehlerkorrekturvermögens zu einem dafür vorzusehenden Speicherbedarf für Prüfdaten ermöglicht und kann dabei beispielsweise im Vergleich zu redundanten Speicherlösungen preiswerter realisiert werden. Auch die Prüfdaten können zusätzlich abgesichert sein.
Eine Absicherung des oder der Speicherbereiche unter Verwendung von Prüfdaten erfolgt bevorzugt mittels hardware- und/oder software¬ implementierter Fehlererkennungs- und/oder Fehlerkorrekturverfahren, wie z.B. ECC oder EDC, durch welche eine Prüfung und/oder Korrektur der in den Schreib-Lese-Speicher vorhandenen Nutzdaten erfolgen kann. Die Erzeugung der Prüfdaten erfolgt dabei insbesondere beim Schreiben in den Schreib-Lese-Speicher, während eine Prüfung und ggf. Korrektur beim Auslesen der Nutzdaten erfolgt. Als Schreib-Lese-Speicher können verschiedenste Ausführungsformen von Datenspeichern für elektronische Systeme verwendet werden, wie zum Beispiel Halbleiterspeicher oder Magnetspeicher.
Gemäß einer bevorzugten Ausführungsform ist eine Zuordnung zwischen einem von dem elektronischen Rechensystem ausgeführten Programmmodul und/oder Speicherbereich eines Programmcodes und dem mittels des Absicherungsbereichs festgelegten abzusichernden Speicherbe- reich vorgesehen. Insbesondere wird der Speicherbereich des Programmcodes mittels des zugrundeliegenden virtuellen oder physischen Speichers vorgegeben. Welches Programmmodul zu jeweiligen Zeitpunkt ausgeführt wird, wird dabei bevorzugt mittels der Speicheradressen des zugrundeliegenden Speicherbereichs eines Programmcodes erfasst.
Entsprechend einer weiteren bevorzugten Ausführungsform der Erfindung sind bei Vorliegen mehrerer Absicherungsbereiche im
Speicherbereich des Schreib-Lese-Speichers , diese Absicherungs¬ bereiche voneinander unabhängig konfigurierbar. Damit wird eine vorteilhafte Erhöhung der Fokussierung insbesondere lediglich auf sicherheitskritische Daten erzielt und die Konfigurierbarkeit der Datenabsicherung verbessert.
In Folge einer Änderung eines Absicherungsbereichs von einem ersten Speicherbereich auf einen zweiten Speicherbereich des
Schreib-Lese-Speichers bzw. Entfernen eines ersten Absicherungs¬ bereichs eines ersten Speicherbereichs und Erzeugen eines neuen Absicherungsbereichs für einen zweiten Speicherbereich, kann bevorzugt kein Speicherzugriff auf den ersten Speicherbereich er- folgen. Dies ist insbesondere vorteilhaft, um die Safety- und/oder Security-relevanten Daten zu partitionieren und zu verhindern, dass jeweils betroffene Software-Module auf einen Speicherbereich zu¬ greifen können, welcher diesen nicht zugeordnet ist bzw. diese aus anderen Gründen, wie z.B. ein niedrigeres Sicherheitslevel, nicht auf den Speicherbereich zugreifen dürfen.
Die Erfindung beschreibt weiterhin ein elektronisches Rechensystem für ein Kraftfahrzeug, umfassend zumindest eine zentrale Rechen¬ einheit, einen Schreib-Lese-Speicher und eine Speicherabsiche¬ rungseinheit zur Absicherung von Nutzdaten wenigstens eines
Speicherbereichs des Schreib-Lese-Speichers mittels Prüfdaten, wobei die Speicherabsicherungseinheit ausgestaltet ist, wenigstens einen Absicherungsbereich zur Absicherung eines Speicherbereichs des Schreib-Lese-Speichers zur Laufzeit des elektronischen Re¬ chensystems festzulegen, aufzuheben oder in der Weise vorzugeben, dass dessen Ausdehnung und/oder Position bezogen auf einen durch den Schreib-Lese-Speicher umfassten gesamten Speicherbereich geändert wird.
Für das erfindungsgemäße elektronische Rechensystem gelten im Wesentlichen die gleichen Vorteile, wie sie bereits für das er¬ findungsgemäße Verfahren beschrieben wurden.
Bevorzugt ist ein Zuordnungsmittel zur Zuordnung zwischen einem von dem elektronischen Rechensystem ausgeführten Programmmodul und/oder Speicherbereich eines Programmcodes und dem mittels des Absiche¬ rungsbereichs festgelegten abzusichernden Speicherbereich vorge- sehen.
Das elektronische Rechensystem ist bevorzugt zur Ausführung des erfindungsgemäßen Verfahrens ausgestaltet.
Besonders bevorzugt findet die Erfindung Verwendung in oder in Verbindung mit einem oder mehreren - insbesondere schnell getakteten - digitalen Signalprozessoren, FPGAs („Field Programmable Gate Array") oder RISC/CISC-CPUs . Weitere bevorzugte Ausführungsformen ergeben sich aus der nachfolgenden Beschreibung eines Ausführungsbeispiels an Hand von Figur 1.
In schematischer Darstellung zeigt:
Fig. 1 ein elektronisches Rechensystem zur Erläuterung der
erfindungsgemäßen Absicherung von Daten eines Speichers.
Die Fig. 1 zeigt eine schematische Darstellung eines elektronischen Rechensystems 4, z.B. eines Mikroprozessorsystems, zur Erläuterung der Erfindung. Gemäß diesem Ausführungsbeispiel ist Speicher 3 der zentralen Recheneinheit (CPU) 1 zugeordnet, wobei Nutzdaten ND in Speicher 3 mittels Prüfdaten PD durch Speicherabsicherungseinheit 2 abgesichert werden. Bei Speicher 3 handelt es sich beispielsgemäß um einen Halbleiterspeicher mit wahlfreiem Direktzugriff, z.B. einen RAM. Zur Erzeugung der Prüfdaten PD können an sich bekannte Feh- lererkennungs- und/oder Fehlerkorrekturverfahren, wie beispielsweise ECC angewandt werden. Beim Speichern von Nutzdaten ND in Speicher 3 werden diese Prüfdaten PD durch Speicherabsicherungs- einheit 2 erzeugt und beim Lesen in an sich bekannter Weise mit aus den gelesenen Nutzdaten ND erneut berechneten Prüfdaten verglichen. Zur besseren Veranschaulichung ist eine beispielsgemäße Aufteilung von Prüfdaten PD und Nutzdaten ND in RAM 3 im unteren Teil von Fig. 1 abgebildet, wobei eine Zelle 3.1, insbesondere eine einzelne Speicherzelle oder, in Abhängigkeit der Granularität von Speicher 3, eine kleinste zu lesende oder schreibende Einheit, z.B. ein Wort, ist .
Speicherabsicherungseinheit 2 legt gemäß dem Ausführungsbeispiel die Absicherungsbereiche Fl und F2 innerhalb des gesamten Spei¬ cherbereichs von Speicher 3 fest, welche mittels Prüfdaten PD abzusichern sind bzw. abgesichert werden. Entsprechend diesem Beispiel sind zwei abgesicherte Speicherbereiche Fl, F2 vorgegeben, es können jedoch auch mehr als zwei oder lediglich ein einziger zur gleichen Zeit oder gar kein abgesicherter Speicherbereich vorhanden sein. Speicherbereiche, welche mittels Nutzdaten ND abgesichert werden sollen, können durch Speicherabsicherungseinheit 2 zur Laufzeit von Rechensystem 4 unabhängig voneinander mehrfach festgelegt oder wieder als nicht abzusichern eingestuft werden. Weiterhin kann die Größe jedes bereits bestehenden abgesicherten Speicherbereichs bzw. Absicherungsbereichs Fl, F2 vorgegeben und im laufenden Betrieb des Rechensystems 4 geändert werden. Die Fest¬ legung der abzusichernden Speicherbereiche bzw. deren Größe erfolgt bevorzugt mittels einer Zuordnung eines zum aktuellen Zeitpunkt durch das Rechensystem 4 ausgeführten Programmmoduls in der Weise, dass das zum jeweiligen Zeitpunkt ausgeführte Programmmodul den abzusichernden Speicherbereich vorgibt oder diesem Modul ein abgesicherter Speicherbereich zugeordnet ist. Welches Programmmodul zum jeweiligen Zeitpunkt ausgeführt wird, kann dabei beispielsweise mittels der Speicheradressen des zugrundeliegenden Speicherbereichs eines Programmcodes erfasst werden. Die Zuordnung bzw. Zuweisung eines Programmmoduls oder dessen Programmspeicherbereichs zu einem abzusichernden Speicherbereich kann beispielsweise mittels einer Zuordnungstabelle durch die Speicherabsicherungseinheit 2 erfolgen. Diese Zuordnungstabelle kann vom relevanten Teil der Betriebs¬ systemsoftware erstellt, verwaltet und statisch abgelegt sein, um der Speicherabsicherungseinheit 2 (Hardware) , unabhängig vom ak¬ tuellen Zustand der eigentlichen Programmausführung, zu jedem Zeitpunkt verfügbar zu sein. Der Speicherabsicherungseinheit 2 würde entsprechend dieser Realisierung eine selbsttätige Konfiguration der Absicherungsbereiche ermöglicht.
Gemäß einer alternativen Ausführungsform wird Speicherabsicherungseinheit 2 stets lediglich für genau einen abzusichernden Bereich konfiguriert, in der Weise, dass bei Einsprung in oder Aktivierung von einem Daten- und/oder Instruktions-technisch schützenswerten Programmbereich zur Laufzeit des Systems die entsprechende Konfiguration mittels Software umgesetzt wird. Die entsprechende Zuordnungstabelle wird gemäß dieser Realisierung mittels Software verwaltet und Speicherabsicherungseinheit 2 nicht notwendigerweise verfügbar gemacht, sondern vor Programmausführung von der Software bedarfsgerecht zur Konfiguration von Speicher- absicherungseinheit 2 geprüft. Diese alternative Ausführungsform erfordert in vorteilhafter Weise keine zusätzlichen Ressourcen, wie beispielsweise eine integrierte Logikschaltung zum Zugriff auf und Lesen der Zugriffstabeile oder eine integrierte Logikschaltung zum dynamischen Konfigurieren von Speicherabsicherungseinheit 2. Durch entsprechende Anpassung der Software kann eine Implementierung in bestehende Systeme erfolgen.
Der zusätzliche Speicherbedarf für die zur Realisierung der Erfindung benötigten Prüfdaten PD berechnet am Ausführungsbeispiel gemäß Fig. 1 sich wie folgt:
S PD = SNDFI * GrößepD/GrößeND + SNDF2 * GrößepD/GrößeND mit
SpD - zusätzliches Speichervolumen für die Prüfdaten gesamt
SNDFI _ Speichervolumen innerhalb Absicherungsfenster Fl
SNDF2 - Speichervolumen innerhalb Absicherungsfenster F2
GrößeND - Speichervolumen einer Speicherzelle 3.1 der Nutzdaten Größepo - Speichervolumen der Prüfdaten zur Absicherung einer Speicherzelle mit Nutzdaten
Die Softwarearchitektur ist bevorzugt in der Weise auslegt, dass nach einer Änderung eines Absicherungsbereichs von einem ersten Spei¬ cherbereich auf einen zweiten Speicherbereich bzw. Entfernen eines ersten Absicherungsbereichs eines ersten Speicherbereichs und Erzeugen eines neuen Absicherungsbereichs für einen zweiten
Speicherbereich, kein Speicherzugriff auf den ersten Speicherbereich erfolgen kann. Der Inhalt oder Umfang der abgelegten Daten, welche Nutzdaten sowie Prüfdaten umfassen, wird durch das Aufheben einer Absicherung eines Speicherbereichs nicht verändert, jedoch zum Beschreiben freigegeben. Ein Vorteil besteht beispielsweise darin, dass eine Anwendung auf Mikrocontrollereinheiten (MCU) deren ECC-Logik (Fehlerkorrektur des Speichers) lediglich genau einen Speicherbereich festlegen bzw. verwalten kann, da diese auch nur über die für ein Absicherungsbereich benötigte Anzahl von Konfigurations-Registern, z.B. Offset, Length, Status, Config, verfügt. Durch die Erfindung können mit genau einem rekonfigurierbaren Absicherungsbereich somit mehrere Absicherungsbereiche qua- si-gleichzeitig betrieben werden. Im Falle eines Datenzugriffs
(nicht Programmcodezugriff) wird eine korrekte Adresszuweisung auf die Nutzdaten insbesondere mittels Anpassung der Software reali¬ siert, da ein automatisches Inkrementieren der physischen Speicheradresse zu einem Zugriff auf eine Speicherzelle 3.1 mit Prüfdaten führen könnte, da nach Aufhebung der Absicherung eines Speicherbereichs die Adressierung nicht mehr Nutz- oder Prüfdaten-selektiv erfolgt. Lesevorgänge, in welchen Nutzdaten von Prüfdatenadressen gelesen würden, wären somit unausweichlich. Um dies zu vermeiden, wird die Art und Weise des Zugriffs sowie die Interpretation der Daten durch die unmittelbar im Signalpfad befindlichen Addressier-,
Dekodier- und Prüfblöcke dahingehend verändert, dass die Prüfdaten PD nicht gelesen und stattdessen im Wesentlichen ignoriert werden. Selbiges gilt für Instruktionen, wenn auch, insbesondere von selbstmodifizierendem Programmcode abgesehen, primär für den Lesefall. In einem Fall, in welchem ein Programmmodul beispielsweise nur lesend und nicht unbedingt abgesichert sowohl Daten wie auch Programmcode von einem Speicher lesen muss, wie es bei einer PrüfSummenberechnung über den gesamten Speicherbereich der Fall ist, werden die Prüfdaten PD damit nicht in die Prüfsumme aufgenommen. Das Überspringen erfolgt für diesen und vergleichbare Fälle be¬ vorzugt entsprechend ebenfalls für Instruktionen. Alternativ ist eine wiederholte Neu- bzw. Umkonfiguration des Absicherungsbereichs beim Ein-/Austritt in oder aus dem Absicherungsbereich hinein/hinaus möglich .

Claims

Patentansprüche
1. Verfahren zur Absicherung von Nutzdaten (ND) eines
Schreib-Lese-Speichers (3) eines elektronischen Rechensystems (4) in einem Kraftfahrzeug, dadurch gekennzeichnet, dass we¬ nigstens ein Absicherungsbereich (F1,F2) zur Absicherung der Nutzdaten (ND) eines Speicherbereichs des Schreib-Lese-Spei¬ chers (3) mittels Prüfdaten (PD) zur Laufzeit des elektronischen Rechensystems (4) festgelegt oder aufgehoben oder in der Weise vorgegeben wird, dass dessen Ausdehnung und/oder Position bezogen auf einen durch den Schreib-Lese-Speicher (3) umfassten gesamten Speicherbereich geändert wird.
2. Verfahren gemäß Anspruch 1, dadurch gekennzeichnet, dass eine Zuordnung zwischen einem von dem elektronischen Rechensystem (4) ausgeführten Programmmodul und/oder Speicherbereich eines Programmcodes und dem mittels des Absicherungsbereichs (F1,F2) festgelegten abzusichernden Speicherbereich vorgesehen ist.
3. Verfahren gemäß einem der vorhergehenden Ansprüche, dadurch gekennzeichnet, dass bei Vorliegen mehrerer Absicherungsbe¬ reiche (F1,F2) im Speicherbereich des Schreib-Lese-Speichers (3), diese Absicherungsbereiche (F1,F2) voneinander unabhängig konfigurierbar sind.
4. Verfahren gemäß einem der vorhergehenden Ansprüche, dadurch gekennzeichnet, dass in Folge einer Änderung eines Absiche¬ rungsbereichs (F1,F2) von einem ersten Speicherbereich auf einen zweiten Speicherbereich des Schreib-Lese-Speichers (3) bzw. Entfernen eines ersten Absicherungsbereichs eines ersten
Speicherbereichs und Erzeugen eines neuen Absicherungsbereichs für einen zweiten Speicherbereich, kein Speicherzugriff auf den ersten Speicherbereich erfolgen kann. Elektronisches Rechensystem (4) für ein Kraftfahrzeug, umfassend zumindest eine zentrale Recheneinheit (1), einen
Schreib-Lese-Speicher (3) und eine Speicherabsicherungseinheit (2) zur Absicherung von Nutzdaten (ND) wenigstens eines
Speicherbereichs des Schreib-Lese-Speichers (3) mittels
Prüfdaten (PD) , dadurch gekennzeichnet, dass die Speicherab¬ sicherungseinheit (2) ausgestaltet ist, wenigstens einen Ab¬ sicherungsbereich (F1,F2) zur Absicherung eines Speicherbereichs des Schreib-Lese-Speichers (3) zur Laufzeit des elektronischen Rechensystems (4) festzulegen, aufzuheben oder in der Weise vorzugeben, dass dessen Ausdehnung und/oder Position bezogen auf einen durch den Schreib-Lese-Speicher (3) umfassten gesamten Speicherbereich geändert wird.
Elektronisches Rechensystem gemäß Anspruch 5, dadurch gekennzeichnet, dass ein Zuordnungsmittel zur Zuordnung zwischen einem von dem elektronischen Rechensystem (4) ausgeführten Programmmodul und/oder Speicherbereich eines Programmcodes und dem mittels des Absicherungsbereichs (F1,F2) festgelegten abzusichernden Speicherbereich vorgesehen ist.
Elektronisches Rechensystem gemäß einem der vorhergehenden Ansprüche, dadurch gekennzeichnet, dass dieses zur Ausführung des Verfahrens gemäß einem der Ansprüche 1 bis 4 ausgestaltet ist .
EP15763226.6A 2014-08-29 2015-08-27 Verfahren zur absicherung von nutzdaten eines speichers und elektronisches rechensystem Withdrawn EP3186709A1 (de)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
DE102014217329 2014-08-29
PCT/EP2015/069662 WO2016030466A1 (de) 2014-08-29 2015-08-27 Verfahren zur absicherung von nutzdaten eines speichers und elektronisches rechensystem

Publications (1)

Publication Number Publication Date
EP3186709A1 true EP3186709A1 (de) 2017-07-05

Family

ID=54106314

Family Applications (1)

Application Number Title Priority Date Filing Date
EP15763226.6A Withdrawn EP3186709A1 (de) 2014-08-29 2015-08-27 Verfahren zur absicherung von nutzdaten eines speichers und elektronisches rechensystem

Country Status (4)

Country Link
US (1) US10635309B2 (de)
EP (1) EP3186709A1 (de)
DE (1) DE112015003968A5 (de)
WO (1) WO2016030466A1 (de)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112182586B (zh) * 2020-09-29 2024-02-13 中电海康无锡科技有限公司 一种mcu读写保护的测试方法、装置及系统

Family Cites Families (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8370715B2 (en) * 2007-04-12 2013-02-05 International Business Machines Corporation Error checking addressable blocks in storage
US8959417B2 (en) * 2011-11-23 2015-02-17 Marvell World Trade Ltd. Providing low-latency error correcting code capability for memory
US9612901B2 (en) * 2012-03-30 2017-04-04 Intel Corporation Memories utilizing hybrid error correcting code techniques
US9543019B2 (en) * 2012-12-11 2017-01-10 Intel Corporation Error corrected pre-read for upper page write in a multi-level cell memory
US20140215174A1 (en) * 2013-01-25 2014-07-31 Infineon Technologies Ag Accessing Memory with Security Functionality
US9189326B2 (en) * 2013-10-08 2015-11-17 Advanced Micro Devices, Inc. Detecting and correcting hard errors in a memory array

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
None *
See also references of WO2016030466A1 *

Also Published As

Publication number Publication date
US20170168718A1 (en) 2017-06-15
US10635309B2 (en) 2020-04-28
DE112015003968A5 (de) 2017-06-29
WO2016030466A1 (de) 2016-03-03

Similar Documents

Publication Publication Date Title
DE102007045398A1 (de) Integriertes Mikroprozessorsystem für sicherheitskritische Regelungen
DE19927657A1 (de) Partitionierung und Überwachung von softwaregesteuerten Systemen
EP1924916A2 (de) Speicheranordnung und betriebsverfahren dafür
DE102011119585A1 (de) Verbesserte skalierbare CPU für die codierte Ausführung von Software in hochabhängigen sicherheitsrelevanten Anwendungen
DE102014002302B4 (de) System und Verfahren zum Bestimmen der operativen Robustheit eines Systems auf einem Chip
EP3186710B1 (de) Mikrocontrollersystem und verfahren für sicherheitskritische kraftfahrzeugsysteme sowie deren verwendung
EP1913478B1 (de) Mikroprozessorsystem zur steuerung bzw. regelung von zumindest zum teil sicherheitskritischen prozessen
DE102013021231A1 (de) Verfahren zum Betrieb eines Assistenzsystems eines Fahrzeugs und Fahrzeugsteuergerät
EP3186709A1 (de) Verfahren zur absicherung von nutzdaten eines speichers und elektronisches rechensystem
DE102006036384A1 (de) Mikroprozessorsystem zur Steuerung bzw. Regelung von zumindest zum Teil sicherheitskritischen Prozessen
DE102013202961A1 (de) Verfahren zum Überwachen eines Stackspeichers in einem Betriebssystem eines Steuergeräts eines Kraftfahrzeuges
WO2012007295A1 (de) Verfahren und vorrichtung zum prüfen eines hauptspeichers eines prozessors
DE102005037226A1 (de) Verfahren und Vorrichtung zur Festlegung eines Startzustandes bei einem Rechnersystem mit wenigstens zwei Ausführungseinheiten durch markieren von Registern
DE102017219241A1 (de) Verfahren und Halbleiterschaltkreis zum Schützen eines Betriebssystems eines Sicherheitssystems eines Fahrzeugs
DE102009002786A1 (de) Verfahren zum Test eines Speichers sowie Steuervorrichtung mit Mitteln für einen Speichertest
DE10340236B4 (de) Anordnung mit einer Datenverarbeitungseinrichtung und einem Speicher
WO2008128710A1 (de) Steuervorrichtung für fahrzeuge
DE102017124799A1 (de) Inlinebasierte fehlererkkennungs- und fehlerkorrekturtechniken
DE102009041882B4 (de) Sichere Speicherschnittstelle, Verfahren zum sicheren Zugreifen auf ein Speicherelement und elektronisches System
EP1246066B1 (de) Verfahren zum Betrieb eines von einem Prozessor gesteuerten Systems
DE102016222691A1 (de) Mikrocontrollersystem und Verfahren zur Kontrolle von Speicherzugriffen in einem Mikrocontrollersystem
DE102010042574A1 (de) Verfahren zum Betreiben eines Mikrocontrollers für ein Automobil und Mikrocontroller
DE102016203852A1 (de) Verfahren zum Betreiben eines Steuergeräts für ein Kraftfahrzeug
DE102014000973A1 (de) Zugreifen auf einen Speicher mit Sicherheitsfunktionalität
DE10128996B4 (de) Verfahren und Vorrichtung zur Überwachung von Speicherzellen eines flüchtigen Datenspeichers

Legal Events

Date Code Title Description
PUAI Public reference made under article 153(3) epc to a published international application that has entered the european phase

Free format text: ORIGINAL CODE: 0009012

17P Request for examination filed

Effective date: 20170329

AK Designated contracting states

Kind code of ref document: A1

Designated state(s): AL AT BE BG CH CY CZ DE DK EE ES FI FR GB GR HR HU IE IS IT LI LT LU LV MC MK MT NL NO PL PT RO RS SE SI SK SM TR

AX Request for extension of the european patent

Extension state: BA ME

DAV Request for validation of the european patent (deleted)
DAX Request for extension of the european patent (deleted)
17Q First examination report despatched

Effective date: 20180524

RAP1 Party data changed (applicant data changed or rights of an application transferred)

Owner name: CONTINENTAL TEVES AG & CO. OHG

STAA Information on the status of an ep patent application or granted ep patent

Free format text: STATUS: THE APPLICATION HAS BEEN WITHDRAWN

18W Application withdrawn

Effective date: 20190822