DE102019201728A1 - Method for securing data using at least two processing units and a decision unit in communication with the at least two processing units - Google Patents

Method for securing data using at least two processing units and a decision unit in communication with the at least two processing units Download PDF

Info

Publication number
DE102019201728A1
DE102019201728A1 DE102019201728.2A DE102019201728A DE102019201728A1 DE 102019201728 A1 DE102019201728 A1 DE 102019201728A1 DE 102019201728 A DE102019201728 A DE 102019201728A DE 102019201728 A1 DE102019201728 A1 DE 102019201728A1
Authority
DE
Germany
Prior art keywords
data
test value
decision unit
received
processing units
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.)
Pending
Application number
DE102019201728.2A
Other languages
German (de)
Inventor
Roland Schleser
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 DE102019201728.2A priority Critical patent/DE102019201728A1/en
Publication of DE102019201728A1 publication Critical patent/DE102019201728A1/en
Pending legal-status Critical Current

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L1/00Arrangements for detecting or preventing errors in the information received
    • H04L1/004Arrangements for detecting or preventing errors in the information received by using forward error control
    • H04L1/0056Systems characterized by the type of code used
    • H04L1/0061Error detection codes
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L1/00Arrangements for detecting or preventing errors in the information received
    • H04L1/004Arrangements for detecting or preventing errors in the information received by using forward error control
    • H04L1/0041Arrangements at the transmitter end
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L1/00Arrangements for detecting or preventing errors in the information received
    • H04L1/004Arrangements for detecting or preventing errors in the information received by using forward error control
    • H04L1/0045Arrangements at the receiver end

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Detection And Prevention Of Errors In Transmission (AREA)

Abstract

Die Erfindung betrifft ein Verfahren zum Absichern von Daten (DE) unter Verwendung von wenigstens zwei Recheneinheiten (110, 120) und einer mit den wenigstens zwei Recheneinheiten in Kommunikationsverbindung (140) stehenden Entscheidungseinheit (130), wobei mittels jeder der Recheneinheiten (110, 120) empfangene Daten (DE) verarbeitet werden, für die verarbeiteten Daten (DA) ein Zwischen-Prüfwert (PAB) erzeugt wird und der erzeugte Zwischen-Prüfwert (PAB, PAC) an die Entscheidungseinheit (130) übermittelt wird, wobei mittels der Entscheidungseinheit (130) aus den von den Recheneinheiten (110, 120) empfangenen Zwischen-Prüfwerten (PAB) ein finaler Prüfwert (PA) gebildet wird, und wobei die verarbeiteten Daten (DA) mit dem finalen Prüfwert (PA) versehen und ausgegeben werden, sowie ein Rechensystem (100).

Figure DE102019201728A1_0000
The invention relates to a method for securing data (D E ) using at least two processing units (110, 120) and a decision unit (130) in communication with the at least two processing units (140), whereby each of the processing units (110, 120) received data (D E ) are processed, an intermediate check value (P AB ) is generated for the processed data (D A ) and the generated intermediate check value (P AB , P AC ) is transmitted to the decision unit (130) , wherein a final test value (P A ) is formed by means of the decision unit (130) from the intermediate test values (P AB ) received from the processing units (110, 120), and the processed data (D A ) with the final test value ( P A ) are provided and output, as well as a computing system (100).
Figure DE102019201728A1_0000

Description

Die vorliegende Erfindung betrifft ein Verfahren zum Absichern von Daten unter Verwendung von wenigstens zwei Recheneinheiten und einer mit den wenigstens zwei Recheneinheiten in Kommunikationsverbindung stehenden Entscheidungseinheit sowie ein Rechensystem und ein Computerprogramm zu dessen Durchführung.The present invention relates to a method for securing data using at least two processing units and a decision unit which is in communication with the at least two processing units, as well as a computing system and a computer program for its implementation.

Stand der TechnikState of the art

Für verschiedenste Anwendungen können Systeme bzw. Rechensysteme benötigt werden, die Berechnungen auf der Basis von Eingabedaten (z.B. von Sensoren) anstellen und die Ergebnisse beispielsweise über ein Kommunikationsmedium (z.B. Ethernet, CAN, etc.) verschicken bzw. bereitstellen, also insbesondere ohne direkte Ansteuerung eines Aktors. Solche Systeme (oftmals sog. Domänen- oder Zentralrechner) kommen vermehrt insbesondere im Automotive-Bereich, aber auch in der Bahntechnik (dort sowohl im Bahnnetz als auch in Zügen) und in industriellen Anwendungen zum Einsatz.Systems or computing systems can be required for a wide variety of applications that make calculations on the basis of input data (e.g. from sensors) and send or provide the results, for example, via a communication medium (e.g. Ethernet, CAN, etc.), i.e. in particular without direct control of an actuator. Such systems (often so-called domain or central computers) are increasingly being used, particularly in the automotive sector, but also in rail technology (both in the rail network and in trains) and in industrial applications.

Eine der Herausforderungen beim Design solcher Systeme ist es, eine erforderliche Integrität (oftmals mit Integritätsstufen bzw. Sicherheitsintegritätsstufen gemäß Safety Integrity Level bzw. SIL eingestuft) zu garantieren, ohne die Kommunikationsprotokolle zu ändern, da z.B. sog. Legacy-Systeme (d.h. insbesondere bestehende Systeme, die eine bestimmte Art von Daten bzw. Anweisungen erhalten müssen) als Empfänger und/oder Aktoren zum Einsatz kommen können.One of the challenges in the design of such systems is to guarantee the required integrity (often classified with integrity levels or safety integrity levels according to the Safety Integrity Level or SIL) without changing the communication protocols, as e.g. So-called legacy systems (i.e. in particular existing systems that have to receive a certain type of data or instructions) can be used as receivers and / or actuators.

Offenbarung der ErfindungDisclosure of the invention

Erfindungsgemäß werden ein Verfahren zum Absichern von Daten sowie ein Rechensystem und ein Computerprogramm zu dessen Durchführung mit den Merkmalen der unabhängigen Patentansprüche vorgeschlagen. Vorteilhafte Ausgestaltungen sind Gegenstand der Unteransprüche sowie der nachfolgenden Beschreibung.According to the invention, a method for securing data and a computing system and a computer program for carrying it out are proposed with the features of the independent claims. Advantageous configurations are the subject of the subclaims and the description below.

Ein erfindungsgemäßes Verfahren dient zum Absichern von Daten unter Verwendung von wenigstens zwei Recheneinheiten und einer mit den wenigstens zwei Recheneinheiten in Kommunikationsverbindung stehenden Entscheidungseinheit. Sowohl bei den Recheneinheiten als auch bei der Entscheidungseinheit kann es sich um separate Prozessoren oder Mikroprozessoren handeln. Unter einer Entscheidungseinheit ist dabei insbesondere eine Einheit zu verstehen, mittels welcher verschiedene Daten oder Werte miteinander verglichen werden können und insbesondere auch basierend auf diesem Vergleich eine Entscheidung getroffen werden kann, ob diese Daten bzw. Werte gleich sind oder ob beispielsweise ein Unterschied und damit ggf. ein Fehler vorliegt. Oftmals wird hierbei auch von einem Vergleicher oder Voter gesprochen.A method according to the invention serves to secure data using at least two processing units and a decision unit that is in communication with the at least two processing units. Both the computing units and the decision unit can be separate processors or microprocessors. A decision unit is to be understood here in particular as a unit by means of which different data or values can be compared with one another and, in particular, based on this comparison, a decision can be made as to whether these data or values are the same or whether, for example, a difference, there is an error. A comparator or voter is often used here.

Es versteht sich, dass - beispielsweise je nach gewünschter Anforderung und/oder Sicherheit - auch mehr als zwei Recheneinheiten, beispielsweise drei, vier, fünf, sechs oder noch mehr, verwendet werden können.It goes without saying that - for example depending on the desired requirement and / or security - it is also possible to use more than two computing units, for example three, four, five, six or even more.

Für Sicherheitsanforderungen ab einer gewissen Integritätsstufe (SIL, im Automotive-Bereich auch ASIL) können bei solchen Systemen bzw. Rechensystemen kritische Berechnungen mehrfach, d.h. mittels jeder von mehreren bzw. jeder der wenigstens zwei Recheneinheiten, ausgeführt werden, um zufällige Hardwarefehler (teilweise auch systematische Fehler) entdecken und Gefährdungen vermeiden zu können.For safety requirements from a certain integrity level (SIL, in the automotive sector also ASIL), critical calculations can be carried out multiple times in such systems or computing systems, i.e. by means of each of several or each of the at least two computing units, in order to be able to detect accidental hardware errors (sometimes also systematic errors) and to be able to avoid hazards.

Um aus der mehrfachen Ausführung einen Sicherheitsgewinn zu ziehen, sollten die Recheneinheiten möglichst unabhängig sein (Vermeidung sog. Common Cause Faults, CCF). Allgemein sollte das gesamte System dabei nicht anfällig für Einzelfehler (Fehler auf einzelnen Komponenten) sein. Bei hohen Sicherheitsintegritätsstufen (SIL 4, siehe z.B. IEC61508-2:2011, Anhang E) ist hierfür zu beachten, dass auf einem einzelnen Prozessor oder Mikroprozessor (bzw. einer einzelnen Recheneinheit) auch komplexe Fehler als Einzelfehler betrachtet werden müssen. Anders ausgedrückt, dürfen dabei Redundanzen auf einem (gemeinsamen) Chip nicht als unabhängig gewertet werden.In order to gain safety from the multiple execution, the processing units should be as independent as possible (avoidance of so-called common cause faults, CCF). In general, the entire system should not be prone to individual errors (errors on individual components). In the case of high safety integrity levels (SIL 4, see e.g. IEC61508-2: 2011, Appendix E), it should be noted that on a single processor or microprocessor (or a single processing unit) even complex errors must be viewed as single errors. In other words, redundancies on a (shared) chip must not be considered independent.

Generell können solche Systeme mit einem Kreuzvergleich arbeiten, d.h. es erfolgt eine gegenseitige Prüfung der Ausgabe der jeweils anderen Recheneinheiten oder mit einem gegenüber den Recheneinheiten externen Vergleicher bzw. Voter, wie oben erwähnt. Die Tatsache, dass anschließend eine einzelne abgesicherte Nachricht, d.h. mittels eines Prüfwerts abgesicherte bzw. damit versehene Daten, ausgegeben bzw. verschickt werden sollen, hat sich jedoch als Herausforderung erwiesen.In general, such systems can work with a cross comparison, i.e. there is a mutual check of the output of the respective other computing units or with a comparator or voter external to the computing units, as mentioned above. The fact that a single secured message, i.e. However, data secured or provided with a test value to be output or sent has proven to be a challenge.

Je nachdem, wie die typischerweise nötigen Funktionen bzw. Schritte der Berechnung eines Prüfwerts (in der Regel nach der sog. CRC bzw. zyklischen Redundanz-Prüfung ermittelt), dem Vergleich von Prüfwerten sowie dem Versand bzw. Bereitstellen der abgesicherten Daten nach außen auf die mehreren Recheneinheiten und ggf. die (externe) Entscheidungseinheit verteilt werden, ergeben sich Anfälligkeiten für Einzelfehler oder es resultieren zumindest hohe interne Datenströme.Depending on how the typically required functions or steps for calculating a check value (usually determined according to the so-called CRC or cyclical redundancy check), the comparison of check values and the sending or provision of the secured data to the outside world multiple computing units and, if necessary, the (external) decision-making unit, there are susceptibilities to individual errors or at least high internal data streams result.

Bei dem vorgeschlagenen Verfahren werden nun mittels jeder der Recheneinheiten empfangene Daten verarbeitet, für die verarbeiteten Daten wird (mittels jeder der Recheneinheiten jeweils) ein Zwischen-Prüfwert erzeugt und der erzeugte Zwischen-Prüfwert wird (von der jeweiligen Recheneinheit) an die Entscheidungseinheit übermittelt. Mittels der Entscheidungseinheit wird dann aus den von den Recheneinheiten empfangenen Zwischen-Prüfwerten ein finaler Prüfwert gebildet, und die verarbeiteten Daten werden dann mit dem finalen Prüfwert versehen und (insbesondere über eine Schnittstelle oder ein Kommunikationsmedium) ausgegeben bzw. bereitgestellt.In the proposed method, data received by means of each of the processing units are now processed for the processed data an intermediate test value is generated (by means of each of the computing units) and the intermediate test value generated is transmitted (by the respective computing unit) to the decision unit. The decision unit then forms a final test value from the intermediate test values received from the processing units, and the processed data is then provided with the final test value and output or provided (in particular via an interface or a communication medium).

Der mittels der Entscheidungseinheit gebildete finale Prüfwert wird dabei insbesondere an eine der Recheneinheiten übermittelt, und mittels dieser Recheneinheit werden die verarbeiteten Daten dann mit dem finalen Prüfwert versehen und ausgegeben.The final test value formed by means of the decision unit is in particular transmitted to one of the computing units, and by means of this computing unit the processed data are then provided with the final test value and output.

Um mittels der Entscheidungseinheit aus den von den Recheneinheiten empfangenen Zwischen-Prüfwerten den finalen Prüfwert zu bilden, werden insbesondere die von den Recheneinheiten empfangenen Zwischen-Prüfwerte verglichen, wobei dann, wenn die empfangenen Zwischen-Prüfwerte gleich sind, aus einem der Zwischen-Prüfwerte der finale Prüfwert gebildet wird. Hierzu wird insbesondere mittels jeder der Recheneinheiten der Zwischen-Prüfwert gemäß derselben Vorschrift erzeugt. Damit können die Recheneinheiten gleichartig ausgebildet sein, ein Vergleich der beiden (zumindest bei ordnungsgemäßer Funktion) gleichen Zwischen-Prüfwerte erfolgt in der Entscheidungseinheit.In order to use the decision unit to form the final test value from the intermediate test values received from the processing units, the intermediate test values received by the processing units are compared, in which case, if the received intermediate test values are the same, one of the intermediate test values of the final test value is formed. For this purpose, the intermediate test value is generated in accordance with the same rule by means of each of the computing units. The arithmetic units can thus be designed in the same way, a comparison of the two intermediate test values which are the same (at least if they are functioning properly) takes place in the decision unit.

Alternativ ist es jedoch auch bevorzugt, wenn mittels der Entscheidungseinheit aus den von den Recheneinheiten empfangenen Zwischen-Prüfwerten der finale Prüfwert gebildet wird, indem aus den von den Recheneinheiten empfangenen Zwischen-Prüfwerten jeweils ein finaler Vergleichs-Prüfwert gebildet und diese miteinander verglichen werden und dann, wenn die gebildeten finalen Vergleichs-Prüfwerte gleich sind, einer davon als finaler Prüfwert verwendet wird. Hierzu werden insbesondere mittels der Recheneinheiten jeweils Zwischen-Prüfwerte gemäß unterschiedlicher Vorschriften erzeugt. Der finale Prüfwert entspricht dabei letztlich den (zumindest bei ordnungsgemäßer Funktion) gleichen finalen Vergleichs-Prüfwerten, die jeweils separat in der Entscheidungseinheit für die Zwischen-Prüfwerte ermittelt werden. Bei dieser Variante müssen zwar mehrere finale Prüfwerte bzw. finale Vergleichs-Prüfwerte (aus jeweils verschiedenen Zwischen-Prüfwerten) ermittelt werden, jedoch wird eine zusätzliche Robustheit gegen Fehler mit gemeinsamer Ursache (d.h. die bei allen Recheneinheiten zugleich auftreten können) erzeugt.Alternatively, however, it is also preferred if the final test value is formed from the intermediate test values received from the processing units by means of the decision unit, in that a final comparison test value is formed from the intermediate test values received from the processing units and these are compared with one another and then if the final comparison test values formed are the same, one of them is used as the final test value. For this purpose, in particular, intermediate test values are generated in accordance with different regulations by means of the computing units. The final test value ultimately corresponds to the same final comparison test values (at least when functioning properly), which are each determined separately in the decision unit for the intermediate test values. With this variant, although several final test values or final comparison test values (from different intermediate test values in each case) have to be determined, additional robustness against errors with a common cause (i.e. which can occur in all processing units at the same time) is generated.

Auf diese Weise ist eine integre Erzeugung von Daten möglich, die an externe Empfänger geschickt werden kann, ohne dass dabei fehlerhafte aber plausible (d.h. vom Empfänger nicht als fehlerhaft erkennbare) Ausgabewerte verschickt werden. Das vorgeschlagene Verfahren erlaubt es dabei, den Vergleich der redundanten Ergebnisse einer sicherheitsrelevanten Berechnung (oder allgemein Verarbeitung) von empfangenen Daten von der Erzeugung des (finalen) Prüfwerts und dem Versand der Daten in einer Weise zu entkoppeln, die den sicherheitsrelevanten Einfluss von Einzelfehlern in jeder der Komponenten vermeidet. Dies erfolgt insbesondere in kompatibler Weise für die Verwendung in Legacy-Systemen (Versand einzelner per Prüfwert abgesicherter Datenpakete, z.B. in Bahnsystemen) und ohne relevante Performance- und Kostennachteile.In this way, it is possible to generate data with integrity, which can be sent to external recipients, without incorrect but plausible output values (i.e. not recognizable as faulty by the recipient) being sent. The proposed method makes it possible to decouple the comparison of the redundant results of a safety-relevant calculation (or general processing) of received data from the generation of the (final) test value and the sending of the data in a way that reduces the safety-relevant influence of individual errors in each of the components avoids. In particular, this is done in a compatible manner for use in legacy systems (sending individual data packets protected by a check value, e.g. in rail systems) and without relevant performance and cost disadvantages.

Ein besonders relevanter Aspekt dieses vorgeschlagenen Verfahrens ist dabei die Aufteilung der Bildung des Prüfwerts in zwei Stufen, so dass keine der mehreren (redundanten) Recheneinheiten (die die Daten verarbeiten bzw. die Ausgangsdaten berechnen), den (finalen) Prüfwert berechnen und damit unkontrolliert fehlerhafte plausible Ausgaben tätigen kann. Außerdem muss die Entscheidungseinheit die Original-Ausgangsdaten, d.h. die in einer Recheneinheit verarbeiteten Daten nicht kennen, woraus sich Performance-Vorteile ergeben und Einzelfehler auch auf der Entscheidungseinheit keine Gefährdung verursachen können. Zudem müssen existierende Ende-zu-Ende abgesicherte Transportprotokolle und vorhandene Legacy-Systeme nicht angepasst werden. Insbesondere gibt es keine Einschränkungen für eine Wahl des nach außen sichtbaren Transport-Polynoms bzw. allgemein der auszugebenen, abgesicherten Daten.A particularly relevant aspect of this proposed method is the division of the formation of the test value into two stages, so that none of the multiple (redundant) computing units (which process the data or calculate the output data) calculate the (final) test value and thus uncontrollably incorrect ones can make plausible expenses. In addition, the decision unit must use the original output data, i.e. do not know the data processed in a processing unit, which results in performance advantages and individual errors cannot cause any danger on the decision unit either. In addition, existing end-to-end secured transport protocols and existing legacy systems do not have to be adapted. In particular, there are no restrictions for a choice of the externally visible transport polynomial or, in general, of the secured data to be output.

Nicht relevant hingegen ist die Art der Verarbeitung. Insbesondere kann diese auch lediglich ein Durchleiten der empfangenen Daten, d.h. eine identische Abbildung, sein bzw. umfassen.However, the type of processing is not relevant. In particular, this can also only involve passing the received data through, i.e. an identical figure.

Insbesondere bei der Identität ist auch eine Verifizierung von mit Prüfwert empfangenen Daten möglich. Wird von den Recheneinheiten aus den empfangenen Daten (d.h. das Verarbeiten ist die Identität) jeweils ein Zwischen-Prüfwert gebildet und an die Entscheidungseinheit zusammen mit dem empfangenen Prüfwert übertragen, kann der mittels der Entscheidungseinheit aus den von den Recheneinheiten empfangenen Zwischen-Prüfwerten gebildete finale Prüfwert mit dem empfangenen Prüfwert verglichen werden. Entspricht der finale Prüfwert dem empfangenen Prüfwert, sind die empfangenen Daten korrekt empfangen worden. In the case of identity in particular, verification of data received with a check value is also possible. If the processing units form an intermediate test value from the received data (ie the processing is the identity) and transmit it to the decision unit together with the received test value, the final test value formed by the decision unit from the intermediate test values received from the processing units can be used can be compared with the received test value. If the final test value corresponds to the received test value, the received data has been received correctly.

Vorteilhafterweise werden mittels jeder der Recheneinheiten zu vorgegebenen Zeitpunkten, insbesondere regelmäßig, jeweils vorgegebene korrekte Daten und vorgegebene (absichtlich) fehlerhafte Daten an die Entscheidungseinheit übermittelt, wobei anhand der darauf basierenden, von der Entscheidungseinheit erhaltenen Prüfwerte eine Funktionsfähigkeit der Entscheidungseinheit überprüft wird. Auf diese Weise können nicht nur Einzelfehler, sondern insbesondere auch schlafende bzw. latente Fehler erfasst bzw. erkannt werden.Advantageously, by means of each of the computing units at predetermined times, in particular regularly, predetermined correct data and predetermined (deliberately) incorrect data are transmitted to the decision unit, with the aid of the Decision unit received test values a functionality of the decision unit is checked. In this way, not only individual errors, but in particular also dormant or latent errors can be detected or recognized.

Realisiert werden kann das vorgeschlagene Verfahren insbesondere mithilfe eines mittels Division, insbesondere mit Rest (Modulo), durch ein Prüfwert-Polynom gebildeten Prüfwerts. Als Zwischen-Prüfwert kommt dann entsprechend ein mittels Division durch ein Zwischen-Polynom gebildeter Prüfwert in Betracht, das durch Multiplikation des Prüfwert-Polynoms mit einem weiteren Polynom gebildet wird. Für eine beispielhafte Berechnung solcher Polynome sei an dieser Stelle auf die Figurenbeschreibung verwiesen.The proposed method can be implemented in particular with the aid of a test value formed by means of division, in particular with a remainder (modulo), by a test value polynomial. A test value formed by division by an intermediate polynomial, which is formed by multiplying the test value polynomial by a further polynomial, then comes into consideration as an intermediate test value. For an exemplary calculation of such polynomials, reference is made at this point to the description of the figures.

Gegenstand der Erfindung ist weiterhin ein Rechensystem zum Absichern von Daten, mit wenigstens zwei Recheneinheiten und einer mit den wenigstens zwei Recheneinheiten in Kommunikationsverbindung stehenden Entscheidungseinheit, wobei das Rechensystem dazu eingerichtet ist, alle Verfahrensschritte eines Verfahrens nach einem der vorstehenden Ansprüche durchzuführen.The invention also relates to a computing system for securing data, with at least two computing units and a decision unit in communication with the at least two computing units, the computing system being set up to carry out all method steps of a method according to one of the preceding claims.

Bei dem Rechensystem kann es sich beispielsweise um ein Steuergerät, beispielsweise für ein Kraftfahrzeug, handeln, das die wenigstens zwei Recheneinheiten und die Entscheidungseinheit, die selbst wiederum jeweils durch Prozessoren oder Mikroprozessoren gebildet sein können, aufweist. Die Entscheidungseinheit kann insbesondere auf einem FPGA, ASIC, 8-Bit-Controller oder dergleichen realisiert sein. Für eine Ankopplung, d.h. für die Kommunikationsverbindung, kommen einfache Schnittstellen mit geringer Bandbreite wie UART ebenso in Betracht wie Netzwerk- oder Bus-Schnittstellen.The computing system can be, for example, a control device, for example for a motor vehicle, which has the at least two computing units and the decision unit, which in turn can each be formed by processors or microprocessors. The decision unit can in particular be implemented on an FPGA, ASIC, 8-bit controller or the like. For a coupling, i.e. For the communication connection, simple interfaces with low bandwidth such as UART can be considered, as well as network or bus interfaces.

Auch die Implementierung eines erfindungsgemäßen Verfahrens in Form eines Computerprogramms oder Computerprogrammprodukts mit Programmcode zur Durchführung aller Verfahrensschritte ist vorteilhaft, da dies besonders geringe Kosten verursacht, insbesondere wenn ein ausführendes Steuergerät noch für weitere Aufgaben genutzt wird und daher ohnehin vorhanden ist. Geeignete Datenträger zur Bereitstellung des Computerprogramms sind insbesondere magnetische, optische und elektrische Speicher, wie z.B. Festplatten, Flash-Speicher, EEPROMs, DVDs u.a.m. Auch ein Download eines Programms über Computernetze (Internet, Intranet usw.) ist möglich.The implementation of a method according to the invention in the form of a computer program or computer program product with program code for performing all method steps is advantageous, since this causes particularly low costs, especially if an executing control device is used for other tasks and is therefore available anyway. Suitable data carriers for providing the computer program are in particular magnetic, optical and electrical memories, such as e.g. Hard disks, flash memories, EEPROMs, DVDs, etc. It is also possible to download a program via computer networks (Internet, intranet, etc.).

Weitere Vorteile und Ausgestaltungen der Erfindung ergeben sich aus der Beschreibung und der beiliegenden Zeichnung.Further advantages and configurations of the invention emerge from the description and the accompanying drawing.

Die Erfindung ist anhand von Ausführungsbeispielen in der Zeichnung schematisch dargestellt und wird im Folgenden unter Bezugnahme auf die Zeichnung beschrieben.The invention is shown schematically in the drawing using exemplary embodiments and is described below with reference to the drawing.

FigurenlisteFigure list

  • 1 zeigt schematisch ein erfindungsgemäßes Rechensystem in einer bevorzugten Ausführungsform. 1 shows schematically a computing system according to the invention in a preferred embodiment.
  • 2 zeigt schematisch ein erfindungsgemäßes Rechensystem in einer weiteren bevorzugten Ausführungsform. 2 shows schematically a computing system according to the invention in a further preferred embodiment.

Ausführungsform(en) der ErfindungEmbodiment (s) of the invention

In 1 ist schematisch ein erfindungsgemäßes Rechensystem 100 in einer bevorzugten Ausführungsform dargestellt, mit dem ein erfindungsgemäßes Verfahren durchführbar ist. Nachfolgend sollen anhand der 1 sowohl das Rechensystem als auch das Verfahren näher erläutert werden.In 1 is a schematic of a computing system according to the invention 100 shown in a preferred embodiment with which a method according to the invention can be carried out. In the following, the 1 both the computing system and the method are explained in more detail.

Das Rechensystem 100, beispielsweise ein Steuergerät, weist zwei Recheneinheiten 110 und 120, die beispielsweise als Mikroprozessoren ausgebildet sind, sowie eine Entscheidungseinheit 130, die beispielsweise ebenfalls als Mikroprozessor ausgebildet ist, auf.The computing system 100 , for example a control unit, has two processing units 110 and 120 , which are designed as microprocessors, for example, and a decision unit 130 , which is also designed as a microprocessor, for example.

Zudem weist das Rechensystem 100 ein Kommunikationsmedium bzw. eine Kommunikationsverbindung 140 auf, worüber zum einen die Recheneinheiten 110, 120 mit der Entscheidungseinheit 130 kommunizieren, d.h. Daten austauschen können, und worüber zum anderen auch Daten von einem externen Sender 180 empfangen und Daten an einen externen Empfänger 190, beispielsweise einen Aktor oder ein anderes Steuergerät, bereitgestellt werden können. Es versteht sich, dass hierzu typischerweise entsprechende Schnittstellen vorgesehen sind.In addition, the computing system 100 a communication medium or a communication link 140 on what, on the one hand, the arithmetic units 110 , 120 with the decision-making unit 130 communicate, ie exchange data, and on the other hand, data from an external transmitter 180 and receive data to an external recipient 190 , for example an actuator or another control device, can be provided. It goes without saying that corresponding interfaces are typically provided for this purpose.

Im Rahmen des vorgeschlagenen Verfahrens werden nun Daten DE von dem externen Sender 180, bei dem es sich beispielsweise um einen Sensor handeln kann, an das Rechensystem 100 übermittelt. Ebenso können die Daten auch durch entsprechende Rechen- oder Verarbeitungsschritte in dem Rechensystem 100 selbst erzeugt worden sein. Diese Daten DE werden dann im Sinne von Eingangs- oder Eingabedaten innerhalb des Rechensystems 100 an die Recheneinheit 110 und parallel an die Recheneinheit 120 übermittelt bzw. übergeben.As part of the proposed procedure, data D E from the external transmitter 180 , which can be a sensor, for example, to the computing system 100 transmitted. Likewise, the data can also be processed by means of corresponding computing or processing steps in the computing system 100 have been self-generated. These dates D E are then in the sense of input or input data within the computing system 100 to the computing unit 110 and in parallel to the processing unit 120 transmitted or handed over.

Sowohl in der Recheneinheit 110 als auch in der Recheneinheit 120 werden die Daten DE dann verarbeitet bzw. es wird damit eine gewünschte Berechnung durchgeführt. Die verarbeiteten Daten sind hierbei mit DA bezeichnet und letztlich zur Ausgabe bestimmt.Both in the arithmetic unit 110 as well as in the arithmetic unit 120 will be the data D E then processed or a desired calculation is carried out with it. The processed data is here with D A and ultimately intended for output.

Weiterhin wird sowohl in der Recheneinheit 110 als auch in der Recheneinheit 120 aus den verarbeiteten Daten DA bzw. für diese verarbeiteten Daten DA jeweils ein Zwischen-Prüfwert PAB ermittelt bzw. berechnet. Diese Berechnung bzw. die dieser zugrunde liegende Vorschrift (hier Division mit Rest durch dasselbe Prüfwert-Polynom) und damit der im Falle ordnungsgemäßer Funktion erhaltene Zwischen-Prüfwert PAB sind für die Recheneinheit 110 und die Recheneinheit 120 gleich.Furthermore, both in the processing unit 110 as well as in the arithmetic unit 120 from the processed data D A or for these processed data D A an intermediate test value each P AB determined or calculated. This calculation or the rule on which it is based (here division by the remainder by the same test value polynomial) and thus the intermediate test value obtained in the case of proper function P AB are for the arithmetic unit 110 and the arithmetic unit 120 equal.

Von der Recheneinheit 110 und von der Recheneinheit 120 werden die Zwischen-Prüfwerte PAB dann jeweils an die Entscheidungseinheit 130 übermittelt. Dort werden die empfangenen Zwischen-Prüfwerte PAB dann in einem Vergleichs- und/oder Entscheidungsmodul 131 verglichen und es wird dann, wenn beide Zwischen-Prüfwerte PAB gleich sind, daraus bzw. aus einem davon ein finaler Prüfwert PA ermittelt bzw. berechnet.From the computing unit 110 and from the computing unit 120 become the intermediate test values P AB then to the decision-making unit 130 transmitted. This is where the received interim test values P AB then in a comparison and / or decision module 131 compared and it is then if both intermediate test values P AB are the same, from this or from one of them a final test value P A determined or calculated.

Von der Entscheidungseinheit 130 wird der finale Prüfwert PA dann an die Recheneinheit 110 übermittelt. Dort werden mittels eines Sende-Moduls 113 die zuvor in der Recheneinheit 110 verarbeiteten Daten DA mit dem finalen Prüfwert PA versehen und dann als abgesicherte Daten DA,S bereitgestellt bzw. an den externen Empfänger 190 übermittelt.From the decision-making unit 130 becomes the final test value P A then to the computing unit 110 transmitted. There are by means of a transmission module 113 those previously in the arithmetic unit 110 processed data D A with the final test value P A provided and then as secured data D A, S provided or to the external recipient 190 transmitted.

Nachfolgend soll der Vorgang der Ermittlung bzw. Berechnung des finalen Prüfwerts PA über den Zwischen-Prüfwert PAB anhand eines Beispiels mit Polynomdivisionen, wie sie auch herkömmlichen CRC-Verfahren zugrunde liegen, erläutert werden.The following is the process of determining or calculating the final test value P A about the intermediate test value P AB will be explained using an example with polynomial divisions, as they are also based on conventional CRC methods.

Die Daten DE , d.h. die abzusichernden Daten bzw. das abzusichernde Datenpaket, können als Polynom mit Koeffizienten aus dem Körper {0,1; Addition modulo 2; Multiplikation} aufgefasst werden. Bei A kann es sich um ein CRC- bzw. Prüfwert-Polynom handeln, das für die Absicherung des Datentransports nach extern verwendet werden soll, bei B um ein weiteres, von A verschiedenes Prüfwert-Polynom. Bei A*B handelt es sich dann um ein durch Multiplikation von A und B entstehendes Prüfwert -Polynom. Der jeweilige Prüfwert entsteht dabei als Rest der Polynomdivision von DE durch das Prüfwert-Polynom. Mit * als Polynommultiplikation und \ der Modulo-Operation (Rest der Polynomdivision), ergibt sich somit: D E \ A = P A  und D E = A*x A + P A .

Figure DE102019201728A1_0001

  • Analog gilt: DE\(A*B)=PAB und DE = (A*B)*xA + PAB.
  • Dann gilt aber auch: PAB\A=(DE-(A*B)*xAB)\A.
The data D E , ie the data to be protected or the data packet to be protected can be used as a polynomial with coefficients from the field {0,1; Addition modulo 2; Multiplication}. A can be a CRC or check value polynomial that is to be used to secure the data transport to the outside, while B can be another check value polynomial that differs from A. A * B is then a test value polynomial resulting from the multiplication of A and B. The respective test value is created as the remainder of the polynomial division of D E by the test value polynomial. With * as the polynomial multiplication and \ the modulo operation (remainder of the polynomial division), the result is: D E \ A = P A and D E = A * x A + P A .
Figure DE102019201728A1_0001
  • Similarly: D E \ (A * B) = P AB and D E = (A * B) * x A + P AB .
  • But then also: P AB \ A = (D E - (A * B) * x AB ) \ A.

Weil (A*B)*xAB ohne Rest durch A teilbar ist, ergibt sich daraus: P AB \ A = D E \ A = P A .

Figure DE102019201728A1_0002
Because (A * B) * x AB is divisible by A without a remainder, we get: P FROM \ A = D E \ A = P A .
Figure DE102019201728A1_0002

Dies bedeutet, dass ein Prüfwert PA , gebildet mit dem Prüfwert-Polynom A auf den ursprünglichen Daten DE , identisch ist mit einem Prüfwert PAB\A, gebildet mit dem Prüfwert-Polynom A auf dem Zwischen-Prüfwert PAB , der mit dem Prüfwert-Polynom A*B auf den ursprünglichen Daten DE berechnet wurde. Eine Recheneinheit und die Entscheidungseinheit (bzw. allgemein zwei Einheiten) können also die Bildung des (finalen) Prüfwerts PA auf zwei Schritte aufteilen, so dass die Recheneinheit den Algorithmus des (finalen) Prüfwerts nicht kennt und die Entscheidungseinheit niemals die Daten DE erhält, sondern nur den Zwischen-Prüfwert PAB , gebildet mit Hilfe des Polynoms A*B.This means that a check value P A , formed with the test value polynomial A on the original data D E , is identical to a test value P AB \ A, formed with the test value polynomial A on the intermediate test value P AB , the one with the test value polynomial A * B on the original data D E was calculated. An arithmetic unit and the decision unit (or two units in general) can thus generate the (final) test value P A split into two steps so that the processing unit does not know the algorithm of the (final) test value and the decision unit never knows the data D E receives, but only the intermediate test value P AB , formed using the polynomial A * B.

Insbesondere erhält man damit also ein System aus zwei Recheneinheiten und einer Entscheidungseinheit, das eine hohe Robustheit gegen Einzelfehler hat. Die Recheneinheiten können daher keine gefährlichen fehlerhaften Pakete verschicken, da sie den (finalen) Prüfwert nicht kennen. Die Entscheidungseinheit kann keine gefährlichen fehlerhaften Pakete verschicken, da sie die Daten nicht erhält und auch nicht über eine Logik zum Verschicken von Daten nach extern verfügen muss. Daher können mit einem solchen Rechensystem bzw. einem solchen Verfahren hohe Sicherheitsintegritätsstufen erreicht werden. Die Entscheidungseinheit erhält nur einen geringen Datenstrom.In particular, a system consisting of two processing units and a decision unit is thus obtained that is highly robust against individual errors. The processing units can therefore not send any dangerous, faulty packets because they do not know the (final) test value. The decision unit cannot send dangerous faulty packets because it does not receive the data and does not have to have any logic for sending data to the outside. Therefore, with such a computing system or such a method, high security integrity levels can be achieved. The decision unit only receives a small data stream.

In 2 ist schematisch ein erfindungsgemäßes Rechensystem 100' in einer weiteren bevorzugten Ausführungsform dargestellt. Das Rechensystem 100' entspricht in weiten Teilen dem Rechensystem 100 gemäß 1, sodass nachfolgend nur auf die Unterschiede eingegangen werden soll. Im Übrigen sei auf die Beschreibung zu 1 verwiesen.In 2 is a schematic of a computing system according to the invention 100 ' shown in a further preferred embodiment. The computing system 100 ' largely corresponds to the computing system 100 according to 1 so that only the differences will be discussed below. Otherwise, refer to the description 1 referenced.

Im Gegensatz zu dem Rechensystem 100 gemäß 1 werden in den Recheneinheiten 110 und 120 des Rechensystems 100' die Zwischen-Prüfwerte nicht gemäß derselben Vorschrift, sondern gemäß unterschiedlicher Vorschriften (hier Division mit Rest durch unterschiedliche Prüfwert-Polynome A*B und A*C) ermittelt. Dabei wird in der Recheneinheit 110 ein Zwischen-Prüfwert PAB ermittelt, in der Recheneinheit 120 hingegen ein Zwischen-Prüfwert PAC . Die Ermittlung des Zwischen-Prüfwerts PAB kann wie vorstehend zu 1 erläutert ablaufen, für die Ermittlung des Zwischen-Prüfwerts PAC kann entsprechend anstatt des Polynoms B ein Polynom C verwendet werden.In contrast to the computing system 100 according to 1 are in the arithmetic units 110 and 120 of the computing system 100 ' the intermediate test values are not determined according to the same regulation, but according to different regulations (here division with remainder by different test value polynomials A * B and A * C). This is done in the arithmetic unit 110 an intermediate test value P AB determined in the arithmetic unit 120 however, an intermediate test value P AC . The determination of the intermediate test value P AB can as above too 1 explained, for the determination of the intermediate test value P AC Correspondingly, a polynomial C can be used instead of the polynomial B.

Die Recheneinheiten 110 und 120 übermitteln den jeweiligen Zwischen-Prüfwert PAB bzw. PAC dann an die Entscheidungseinheit 130. Dort wird dann - im Gegensatz zu dem in Bezug auf 1 erläuterten Vorgehen - zunächst aus jedem der Zwischen-Prüfwerte PAB und PAC jeweils ein finaler Vergleichs-Prüfwert PA bzw. jeweils ein finaler Prüfwert PA gemäß PAB\A bzw. PAC\A ermittelt.The arithmetic units 110 and 120 transmit the respective intermediate test value P AB or. P AC then to the decision-making unit 130 . There will then - in contrast to the one in relation to 1 explained procedure - initially from each of the intermediate test values P AB and P AC each a final comparison test value P A or a final test value in each case P A determined according to P AB \ A or P AC \ A.

Dann werden die beiden ermittelten finalen Vergleichs-Prüfwerte PA in einem Vergleichs- und/oder Entscheidungsmodul 131 verglichen und es wird, wenn beide finalen Vergleichs-Prüfwerte PA gleich sind, dieser bzw. einer dieser finalen Vergleichs-Prüfwerte PA als finaler Prüfwert verwendet und an die Recheneinheit 110 übermittelt.Then the two final comparison test values are determined P A in a comparison and / or decision module 131 compared and it is when both final comparison test values P A are the same, this or one of these final comparison test values P A used as the final test value and sent to the computing unit 110 transmitted.

Hierbei sind zwar im Vergleich zu dem in Bezug auf 1 beschriebenen Rechensystem bzw. Verfahren zwei Prüfwert-Berechnungen in der Entscheidungseinheit nötig, allerding wird eine höhere Sicherheit erreicht, wie zuvor schon erwähnt.Although these are compared to that in relation to 1 The computing system or method described requires two test value calculations in the decision unit, but a higher level of security is achieved, as already mentioned above.

Die beschriebenen Ausführungsformen der Erfindung können beispielsweise für den Fall, dass das Verarbeiten die Identität ist (d.h. DA=DE), auch für das Verifizieren von mit Prüfwert PE erhaltenen Daten DE eingesetzt werden.The described embodiments of the invention can, for example, for the case that the processing is the identity (ie D A = D E ), also for the verification of data obtained with the test value P E D E can be used.

Für diesen Fall würden aus den empfangenen Daten DE in jeder der Recheneinheiten 110, 120 analog zu dem Verfahren mit intern erzeugten, d.h. verarbeiteten, Daten mit dem Polynom A*B (1) bzw. A*B und A*C (2) Prüfwerte gebildet. Jede der Recheneinheiten schickt nun den Zwischenwert PAB bzw. PAC und den empfangenen Prüfwert PE der empfangenen Daten zur Entscheidungseinheit 130.In this case, the data received would be used D E in each of the arithmetic units 110 , 120 analogous to the procedure with internally generated, i.e. processed, data with the polynomial A * B ( 1 ) or A * B and A * C ( 2 ) Test values formed. Each of the computing units now sends the intermediate value P AB or. P AC and the received check value P E of the received data to the decision unit 130 .

Diese vergleicht entweder die empfangenen Prüfwerte PAB und mit den von den Recheneinheiten 110 und 120 weitergeleiteten Prüfwerten PE (1) oder bildet aus PAB und PAC jeweils PA und vergleicht diese mit den von den Recheneinheiten 110 und 120 weitergeleiteten Prüfwerten PE der empfangenen Daten ( 2). Um sicherzugehen, dass beide Recheneinheiten korrekte identische Daten empfangen haben, müssen letztendlich alle Prüfwerte identisch sein.This either compares the received test values P AB and with those of the arithmetic units 110 and 120 forwarded test values P E ( 1 ) or trains P AB and P AC each P A and compares this with that of the computing units 110 and 120 forwarded test values P E of the received data ( 2 ). To ensure that both processing units have received correct, identical data, all test values must ultimately be identical.

Da bei einer Kommunikation zwischen meist für Senden und Empfangen derselbe Prüfwert (z.B. PA ) gilt, kann insbesondere durch die Ausführungsform basierend auf 2 sichergestellt werden, dass das Sicherheitskonzept für das Versenden der Daten nicht durch eine für das Empfangen benötigte CRCA-Implementierung (d.h. eine Implementierung des finalen Prüfwerts PA ) auf den Recheneinheiten 110 und 120 untergraben wird.Since the same test value (e.g. P A ) applies, can in particular by the embodiment based on 2 it must be ensured that the security concept for sending the data is not replaced by a CRC A implementation required for receiving (ie an implementation of the final check value P A ) on the computing units 110 and 120 being undermined.

Zur Verminderung der Latenz kann die Prüfung der empfangenen Daten in der Entscheidungseinheit 130 auch parallel zu deren Verarbeitung in den Recheneinheiten 110 und 120 erfolgen. Sollte sich dann herausstellen, dass eine der Recheneinheiten oder gar beide fehlerhafte Eingangsdaten erhalten und somit auch bereits verarbeitet haben, kann die Entscheidungseinheit 130 reagieren, indem sie die erzeugten Prüfwerte PA von da an nicht mehr zur Verfügung stellt oder diese Prüfwerte dauerhaft bewusst verfälscht (da davon auszugehen ist, dass sich die fehlerhaft verarbeiteten Eingangsdaten dauerhaft auf den internen Zustand der Recheneinheit 110 und/oder 120 auswirken).To reduce the latency, the received data can be checked in the decision unit 130 also parallel to their processing in the computing units 110 and 120 respectively. If it then turns out that one of the processing units or even both have received incorrect input data and have therefore already processed it, the decision unit can 130 respond by using the generated test values P A from then on is no longer available or these test values are deliberately and permanently falsified (since it can be assumed that the incorrectly processed input data will permanently affect the internal state of the processing unit 110 and or 120 affect).

Claims (13)

Verfahren zum Absichern von Daten (DE) unter Verwendung von wenigstens zwei Recheneinheiten (110, 120) und einer mit den wenigstens zwei Recheneinheiten in Kommunikationsverbindung (140) stehenden Entscheidungseinheit (130), wobei mittels jeder der Recheneinheiten (110, 120) empfangene Daten (DE) verarbeitet werden, für die verarbeiteten Daten (DA) ein Zwischen-Prüfwert (PAB, PAC) erzeugt wird und der erzeugte Zwischen-Prüfwert (PAB, PAC) an die Entscheidungseinheit (130) übermittelt wird, wobei mittels der Entscheidungseinheit (130) aus den von den Recheneinheiten (110, 120) empfangenen Zwischen-Prüfwerten (PAB, PAC) ein finaler Prüfwert (PA) gebildet wird, und wobei die verarbeiteten Daten (DA) mit dem finalen Prüfwert (PA) versehen und ausgegeben werden.A method for securing data (D E ) using at least two processing units (110, 120) and a decision unit (130) in communication with the at least two processing units (140), wherein data received by means of each of the processing units (110, 120) (D E ) are processed, an intermediate check value (P AB , P AC ) is generated for the processed data (D A ) and the generated intermediate check value (P AB , P AC ) is transmitted to the decision unit (130), wherein a final test value (P A ) is formed by means of the decision unit (130) from the intermediate test values (P AB , P AC ) received from the computing units (110, 120), and the processed data (D A ) with the final Test value (P A ) can be provided and output. Verfahren nach Anspruch 1, wobei der mittels der Entscheidungseinheit (130) gebildete finale Prüfwert (PA) an eine der Recheneinheiten (110) übermittelt wird, und wobei mittels dieser Recheneinheit (110) die verarbeiteten Daten (DA) mit dem finalen Prüfwert (PA) versehen und ausgegeben werden.Procedure according to Claim 1 , the final test value (P A ) formed by the decision unit (130) being transmitted to one of the computing units (110), and the processed data (D A ) being provided with the final test value (P A ) by means of this computing unit (110) and output. Verfahren nach Anspruch 1 oder 2, wobei mittels der Entscheidungseinheit (130) aus den von den Recheneinheiten (110, 120) empfangenen Zwischen-Prüfwerten (PAB) der finale Prüfwert (PA) gebildet wird, indem die von den Recheneinheiten empfangenen Zwischen-Prüfwerte (PAB) verglichen werden, und dann, wenn die empfangenen Zwischen-Prüfwerte (PAB) gleich sind, aus einem der Zwischen-Prüfwerte (PAB) der finale Prüfwert (PA) gebildet wird.Procedure according to Claim 1 or 2 , the final test value (P A ) being formed by means of the decision unit (130) from the intermediate test values (P AB ) received by the processing units (110, 120) by comparing the intermediate test values (P AB ) received by the processing units and then, if the received intermediate test values (P AB ) are the same, the final test value (P A ) is formed from one of the intermediate test values (P AB ). Verfahren nach Anspruch 3, wobei mittels jeder der Recheneinheiten (110, 120) der Zwischen-Prüfwert (PAB) gemäß derselben Vorschrift erzeugt wird.Procedure according to Claim 3 , the intermediate test value (P AB ) being generated by means of each of the computing units (110, 120) in accordance with the same rule. Verfahren nach Anspruch 1 oder 2, wobei mittels der Entscheidungseinheit (130) aus den von den Recheneinheiten (110, 120) empfangenen Zwischen-Prüfwerten (PAB, PAC) der finale Prüfwert (PA) gebildet wird, indem aus den von den Recheneinheiten empfangenen Zwischen-Prüfwerten (PAB, PAC) jeweils ein finaler Vergleichs-Prüfwert (PA) gebildet und diese miteinander verglichen werden, und dann, wenn die gebildeten finalen Vergleichs-Prüfwerte (PA) gleich sind, einer davon als finaler Prüfwerte (PA) verwendet wird .Procedure according to Claim 1 or 2 , the final test value (P A ) being formed by means of the decision unit (130) from the intermediate test values (P AB , P AC ) received from the processing units (110, 120) by using the intermediate test values ( P AB , P AC ) each form a final comparison test value (P A ) and this are compared with one another, and then, if the final comparison test values (P A ) formed are the same, one of them is used as the final test values (P A ). Verfahren nach Anspruch 5, wobei mittels der Recheneinheiten (110, 120) jeweils ein Zwischen-Prüfwert (PAB, PAC) gemäß unterschiedlicher Vorschriften erzeugt werden.Procedure according to Claim 5 , an intermediate test value (P AB , P AC ) being generated in accordance with different regulations by means of the computing units (110, 120). Verfahren nach einem der vorstehenden Ansprüche, wobei mittels jeder der Recheneinheiten (110, 120) zu vorgegebenen Zeitpunkten jeweils vorgegebene korrekte Daten und vorgegebene fehlerhafte Daten an die Entscheidungseinheit (130) übermittelt werden, und wobei anhand der darauf basierenden, von der Entscheidungseinheit (130) erhaltenen Prüfwerten eine Funktionsfähigkeit der Entscheidungseinheit (130) überprüft wird.Method according to one of the preceding claims, wherein by means of each of the computing units (110, 120) at predetermined points in time, respectively predetermined correct data and predetermined incorrect data are transmitted to the decision unit (130), and with the aid of the data based thereon, from the decision unit (130) a functionality of the decision unit (130) is checked. Verfahren nach einem der vorstehenden Ansprüche, wobei das Verarbeiten der empfangene Daten (DE) mittels jeder der Recheneinheiten (110, 120) eine Identitätsabbildung ist.Method according to one of the preceding claims, wherein the processing of the received data (D E ) by means of each of the computing units (110, 120) is an identity mapping. Verfahren nach einem der vorstehenden Ansprüche, wobei ein mit den empfangenen Daten (DE) empfangener Prüfwert an die Entscheidungseinheit (130) übermittelt wird, und wobei der mittels der Entscheidungseinheit (130) aus den von den Recheneinheiten (110, 120) empfangenen Zwischen-Prüfwerten (PAB, PAC) gebildete finale Prüfwert (PA) mit dem empfangenen Prüfwert verglichen wird.Method according to one of the preceding claims, wherein a check value received with the received data (D E ) is transmitted to the decision unit (130), and wherein the intermediate value received by the decision unit (130) from the intermediate data received by the processing units (110, 120) Test values (P AB , P AC ) formed final test value (P A ) is compared with the received test value. Verfahren nach einem der vorstehenden Ansprüche, wobei der Zwischen-Prüfwert (PAB, PAC) mittels Division, insbesondere mit Rest, der verarbeiteten Daten (DA) durch ein Prüfwert-Polynom erzeugt wird und/oder wobei der finale Prüfwert (PA) mittels Division, insbesondere mit Rest, eines Zwischen-Prüfwerts (PAB, PAC) durch ein Prüfwert-Polynom erzeugt wird.Method according to one of the preceding claims, wherein the intermediate test value (P AB , P AC ) is generated by means of division, in particular with the remainder, of the processed data (D A ) by a test value polynomial and / or wherein the final test value (P A ) is generated by means of division, in particular with the remainder, of an intermediate test value (P AB , P AC ) by a test value polynomial. Rechensystem (100, 100') zum Absichern von Daten, mit wenigstens zwei Recheneinheiten (110, 120) und einer mit den wenigstens zwei Recheneinheiten in Kommunikationsverbindung (140) stehenden Entscheidungseinheit (130), wobei das Rechensystem (100, 100') dazu eingerichtet ist, alle Verfahrensschritte eines Verfahrens nach einem der vorstehenden Ansprüche durchzuführen.Computing system (100, 100 ') for securing data, with at least two computing units (110, 120) and a decision unit (130) in communication with the at least two computing units (140), the computing system (100, 100') being set up for this purpose is to carry out all process steps of a process according to one of the preceding claims. Computerprogramm, das ein Rechensystem (100, 100') dazu veranlasst, alle Verfahrensschritte eines Verfahrens nach einem der Ansprüche 1 bis 10 durchzuführen, wenn es auf dem Rechensystem (100, 100') ausgeführt wird.Computer program that causes a computing system (100, 100 ') to carry out all process steps of a process according to one of the Claims 1 to 10 when it is executed on the computing system (100, 100 '). Maschinenlesbares Speichermedium mit einem darauf gespeicherten Computerprogramm nach Anspruch 12.Machine-readable storage medium with a computer program stored thereon Claim 12 .
DE102019201728.2A 2019-02-11 2019-02-11 Method for securing data using at least two processing units and a decision unit in communication with the at least two processing units Pending DE102019201728A1 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
DE102019201728.2A DE102019201728A1 (en) 2019-02-11 2019-02-11 Method for securing data using at least two processing units and a decision unit in communication with the at least two processing units

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
DE102019201728.2A DE102019201728A1 (en) 2019-02-11 2019-02-11 Method for securing data using at least two processing units and a decision unit in communication with the at least two processing units

Publications (1)

Publication Number Publication Date
DE102019201728A1 true DE102019201728A1 (en) 2020-08-13

Family

ID=71738921

Family Applications (1)

Application Number Title Priority Date Filing Date
DE102019201728.2A Pending DE102019201728A1 (en) 2019-02-11 2019-02-11 Method for securing data using at least two processing units and a decision unit in communication with the at least two processing units

Country Status (1)

Country Link
DE (1) DE102019201728A1 (en)

Similar Documents

Publication Publication Date Title
EP2823430B1 (en) Electronic control system
EP1802019B1 (en) Identification of errors in data transmission
EP2814193B1 (en) Method and system for detecting errors in the transmission of data from a transmitter to at least one receiver
DE102017223751A1 (en) Method and device for detecting anomalies in a data stream of a communication network
DE102009019792A1 (en) Control system for safely operating at least one functional component
WO2016008948A1 (en) Control and data-transfer system, gateway module, i/o module, and method for process control
DE10152235A1 (en) Error detection method for data transmission within controlled area network controller using generation and checking of test bits
WO2018233934A1 (en) Device and method for controlling a vehicle module
WO2020173682A1 (en) Security system and method for operating a security system
WO2016049670A1 (en) Distributed real-time computer system and time-controlled distribution unit
DE102019201728A1 (en) Method for securing data using at least two processing units and a decision unit in communication with the at least two processing units
EP3499324B1 (en) Method of modular verification of a configuration of a device
DE102015218890A1 (en) Method and apparatus for generating an output data stream
EP1596517B1 (en) Method of transmission of redundantly provided data over a single channel
EP1738262B1 (en) Method and control system for recognising an error when processing data in a processing system
DE102015218882A1 (en) Method and device for checking calculation results in a system with several processing units
EP4127934A1 (en) Method and safety-oriented system for performing safety functions
WO2016138956A1 (en) Error-resilient control for an automation system
WO2008098999A1 (en) Control system of a technical installation
DE102004046292A1 (en) Method for carrying out a voting of redundant information
EP2575282A1 (en) Device and method for receiving a secure telegram
DE102016208869A1 (en) Method for operating a data processing device for a vehicle
EP2960632B1 (en) Method and system for the preparation of sensor values generated by sensors assembled in a vehicle
DE102013204371A1 (en) Method and bus system for protocol-independent transmission of standard data packets with security data
DE102016110148A1 (en) End system device with integrated switching device