-
Die Erfindung betrifft eine Vorrichtung und ein Verfahren zur gerätetechnischen Erkennung der Nutzung von Daten außerhalb ihres Gültigkeitszeitraums bei der Datenverarbeitung in Datenverarbeitungseinheiten.
-
Es ist bekannt, dass bereits in den 1960er Jahren in Datenverarbeitungsanlagen wie z. B. dem Großrechner TR4 [1] den Datenwerten weitere Kennungen hinzugefügt wurden, die
- • den Datentyp und damit das Darstellungsformat des Datenwerts spezifizierten und teilweise
- • weitere Bits, die eine Integritätsprüfung des gesamten Datenelements erlaubten.
-
Basierend auf der expliziten, hardwareverständlichen und -prüfbaren Spezifikation des Datentyps innerhalb des Datenworts selbst werden entsprechende Architekturen als Datentyparchitekturen bezeichnet.
-
Weiterhin ist bekannt, dass in Befähigungsarchitekturen dem Datenelement eine weitere Kennung hinzugefügt wird, die die Zugriffsrechte auf das betreffende Datenelement spezifiziert. Gute Beispiele moderner Befähigungsarchitekturen sind z.B. lowRISC [2] und SAFE [3].
-
Weiterhin ist bekannt, dass in sicherheitsgerichteten Feldbussystemen wie z.B. PROFIsafe (IEC 61784-3-3 [6]) und CIP Safety (IEC 61784-3-2 [5]) Zeitüberwachungen zum Einsatz kommen, die die erfolgreiche Übermittlung von Daten zwischen den Systemkomponenten überwacht. Dazu können z. B. Überwachungszeitgeber zum Einsatz kommen, die nach einer vordefinierten Zeitdauer eine Unterbrechung oder einen Rücksetzvorgang einleiten können.
-
Datenverarbeitungssysteme tragen in immer mehr Anwendungen die Verantwortung für Mensch, Umwelt und Investitionsgüter und ersetzen in manchen Applikationen betriebsbewährte mechanische Systeme, so z. B. bei den „x-by-wire“ Systemen in der Avionik und der Kraftfahrzeugtechnik oder autonomen Steuerungsfunktionen in Fahrzeugen. Entsprechend gravierende Auswirkungen können nicht oder nicht rechtzeitig erkannte Fehler haben.
-
Die hohe Komplexität der Systeme und der darin eingesetzten Soft- und Hardware führt zu erhöhten Fehlerwahrscheinlichkeiten. Zudem werden die eingesetzten integrierten Schaltkreise auf Grund der immer weiter reduzierten Strukturbreiten zunehmend empfindlicher gegenüber Umwelteinflüssen, speziell den Einwirkungen von Strahlung.
-
Verschiedenste Fehlerarten können dafür sorgen, dass zu verarbeitende Daten in Datenverarbeitungssystemen außerhalb ihres Gültigkeitszeitraums verarbeitet werden sollen. Die Verarbeitung dieser Daten führt damit zu fehlerhaften Ergebnissen, die zu gefährlichen Ausfällen eines gesamten Datenverarbeitungssystems führen können. Dies ist besonders für die oben erwähnten sicherheitsgerichteten Anwendungen relevant, bei denen derartige Ausfälle zu Personen-, Umwelt- oder Sachschäden führen können.
-
Daten werden in konventionellen Datenverarbeitungssystemen nur durch ihren Datenwert repräsentiert. Über die weiteren Dateneigenschaften wie z. B. Datentyp und - für diese Erfindung besonders relevant - den Gültigkeitszeitraum des Datenwerts werden nur implizite Annahmen durch die Art der Verwendung der Daten getroffen. Die Hardware kann also keine Überprüfungen dieser Dateneigenschaften vornehmen, da sie ihr nicht bekannt sind. Im Speziellen werden Daten so behandelt, als wären sie zeitlich unbegrenzt gültig. Dadurch kann die Nutzung der Daten nach Ablauf eines maximal zulässigen Zeitraums nicht erkannt werden und führt ggf. zu ungültigen Ergebnissen.
-
Keine der bisher genannten Architekturarten wie Datentyp- oder Befähigungsarchitekturen unterstützt die Spezifikation eines Gültigkeitszeitraums des Datenwerts in einer Kennung, die dann automatisch von der die Daten verarbeitenden Hardware in den Datenverarbeitungseinheiten geprüft oder gesetzt werden könnte.
-
Ein grundsätzliches Problem der Sicherheitsmechanismen von Kommunikationsprotokollen ist, dass sie nur während der Übertragung auf die Daten angewandt werden. Nach dem Empfang liegen die Daten im Speicher des Empfängers ohne diese Fehlererkennungsmerkmale vor.
-
Zwar kann durch Überwachungszeitgeber geprüft werden, ob eine Datenübermittlung in einem vorgegebenen Zeitraum erfolgt ist oder ob eine Datenverarbeitungseinheit innerhalb einer bestimmten Frist ein Ergebnis berechnet hat, es lässt sich damit jedoch nicht prüfen, ob zur Berechnung auch wirklich nur Daten herangezogen wurden, die noch gültig waren. Das Senden eines veralteten Duplikats würde durch die existierenden Mechanismen nicht erkannt werden.
-
In [4] werden die entsprechenden Echtzeiteigenschaften von Daten beschrieben. Für diese Patentanmeldung ist dabei die Echtzeiteigenschaft der maximalen Bearbeitungszeit relevant, also die Zeit, innerhalb derer Eingabedaten zu Ausgabedaten verarbeitet sein müssen.
-
Ein gutes Beispiel, bei dem es zu Personenschäden kam, war das medizinische Bestrahlungsgerät Therac-25 [7], bei dem es durch unzureichende Synchronisierungsmechanismen zu Vermischungen von alten und neuen Betriebsparametern kam, wodurch Patienten teilweise massiv verstrahlt wurden und teilweise an den Folgen verstarben.
-
Die Aufgabe der Erfindung ist es, die Nutzung von Daten außerhalb ihres Gültigkeitszeitraums bei der Datenverarbeitung auf einfache Weise durch die Hardware einer Datenverarbeitungseinheit zu erkennen.
-
Die Aufgabe wird bezogen auf die Datenverarbeitungseinheit durch die Merkmale der Ansprüche 1 und 6 und bezogen auf das Verfahren durch die Merkmale der Ansprüche 7 und 9 gelöst. Die Unteransprüche stellen jeweils vorteilhafte Ausgestaltungen dar.
-
Bezogen auf die Datenverarbeitungseinheiten sieht die Lösung vor, den einzelnen Datenelementen zusätzlich zum Datenwert eine Fristkennung hinzuzufügen, die den Gültigkeitszeitraum der Daten in Form eines absoluten, letztmöglichen Nutzungszeitpunkts spezifiziert. Das ermöglicht es einer Datenverarbeitungseinheit, bei der Verarbeitung von Daten deren zeitliche Gültigkeit sicherzustellen. Als Datenverarbeitungseinheit sind im Sinne dieser Erfindung alle technischen Einrichtungen zu verstehen, die Daten erzeugen, verarbeiten oder nutzen, so z. B. Sensoren, Prozessrechner und Aktoren. In derartigen Geräten ist mindestens ein Prozessor vorhanden, der erzeugte Daten in mindestens einem Speicher ablegt, aus einem solchen ausliest, verarbeitet und die Ergebnisse ggf. wieder in einem derartigen Speicher ablegt.
-
Ein entsprechender Prozessor kann z. B. auch in programmierbarer Hardware wie FPGAs realisiert werden. Datenelemente im Sinne dieser Erfindung sind Datenworte in einem Speicher oder Register, die neben dem Datenwert weitere Informationen über den Datenwert selbst enthalten. Befehlselemente im Sinne dieser Erfindung sind Befehlsworte in einem Speicher oder Register, die neben dem Befehlscode und der Spezifikation der Operanden des Befehls weitere für die Ausführung des Befehls relevanten Informationen enthalten.
-
Vorteilshafterweise ist die Fristkennung untrennbar mit dem Datenwert verbunden und wird mit ihm gespeichert, verarbeitet und übertragen.
-
Bezogen auf die Datenverarbeitungseinheiten sieht die Lösung weiterhin vor, zusätzliche Befehle im Prozessor der Datenverarbeitungseinheit vorzusehen, mit deren Hilfe sich die Inhalte der Fristkennungen von Operanden auswerten und setzen lassen:
- • ein Befehl errechnet aus dem aktuellen Zeitpunkt, bestehend aus Datum und Uhrzeit, und dem Inhalt der Fristkennung eines Operanden dessen verbleibenden Gültigkeitszeitraum und
- • ein weiterer Befehl erlaubt das Setzen der Frist, um neu erzeugten Daten initial eine Frist in deren Fristkennung zuzuweisen.
-
Bezogen auf die Datenverarbeitungseinheiten sieht die Lösung weiterhin vor, dass die in einem Speicher in Form von Befehlselementen abgelegten Befehle ebenfalls mit einer Fristkennung versehen werden. Diese beschreibt eine relative Frist, die das Ergebnis des Befehls erhalten soll.
-
Bezogen auf das Verfahren sieht die Lösung vor, dass der Prozessor der Datenverarbeitungseinheit bei der Durchführung einer Operation die Gültigkeit aller Operanden anhand der Inhalte der Fristkennungen durch Vergleich mit dem aktuellen Zeitpunkt sicherstellt. Der aktuelle Zeitpunkt im Sinne dieser Erfindung kann ein absoluter Zeitpunkt in Form einer Kombination aus Datum und Uhrzeit sein, oder auch eine relative Zeitangabe, wie sie im Umfeld von Computern gebräuchlich ist, wie z. B. die Anzahl der verstrichenen Sekunden seit dem 01.01.1970, 0:00 Uhr bei der Unixzeit. Mit Vorteil wird vorgeschlagen, eine hohe zeitliche Auflösung des Zeitpunkts zu realisieren, um sehr feingranulare Fristen und deren Überprüfung zu ermöglichen. Liegt der späteste zulässige in der Fristkennung spezifizierte Nutzungszeitpunkt vor dem aktuellen Zeitpunkt, ist die Frist also verstrichen, so kann eine entsprechende Fehlerbehandlung eingeleitet werden. Denkbare Reaktionen sind z. B. die Auslösung eines Ausnahmefehlers und bzw. oder die Überführung des Systems in einen sicheren Zustand und bzw. oder ein Neustart des Systems. Mit Vorteil wird vorgeschlagen, dass die beschriebene Prüfung zeitgleich zur Ausführung der Verarbeitung der Datenwerte erfolgt.
-
Bezogen auf das Verfahren sieht die Lösung weiterhin vor, dass der Prozessor der Datenverarbeitungseinheit die Inhalte der im Befehl enthaltenen Fristkennung liest und auswertet. Enthält diese den Wert Null, so wählt der Prozessor aus den Inhalten der Fristkennungen der Operanden diejenige Frist aus, deren Ablauf zeitlich als nächstes bevorsteht, daher den kürzesten verbleibenden Gültigkeitszeitraum, und speichert diese in der Fristkennung des Ergebnisses. Weicht der Wert der Fristkennung im Befehl von Null ab, so addiert der Prozessor den dadurch spezifizierten Gültigkeitszeitraum auf den aktuellen Zeitpunkt und speichert das Ergebnis als Frist des Ergebnisses in dessen Fristkennung. Mit Vorteil wird vorgeschlagen, dass die Bestimmung der Fristkennung des Ergebnisses zeitgleich zur Ausführung der Verarbeitung der Datenwerte erfolgt.
-
Die Erfindung wird nachfolgend anhand einer Zeichnung näher beschrieben. 1 der Zeichnung zeigt den Aufbau eines Datenelements (1) mit Datenwert (2) und der Fristkennung (3), die den spätestmöglichen Nutzungszeitpunkt des Datenwerts (2) spezifiziert. 2 der Zeichnung zeigt den Aufbau eines Befehlselements (4) mit Befehl und Operanden (5) und der Fristkennung (6), die entweder eine zur Berechnung der Frist des Ergebnisses des Befehls zu verwendende Zeitspanne oder den Wert Null enthält.
-
3 der Zeichnung zeigt die Durchführung der Prüfung der Inhalte der Fristkennungen zweier Operanden (8, 9) am Beispiel einer Addition (7). Der linke Operand (8) mit einem Datenwert (10) enthält in der Fristkennung (11) den spätesten Nutzungszeitpunkt. Zur Verdeutlichung des Verfahrens ist hier beispielhaft der 01.01.2017, 13:45:01 Uhr angegeben. Der rechte Operand (9) mit einem Datenwert (12) enthält in der Fristkennung (13) ebenfalls den spätesten Nutzungszeitpunkt. Hier sei zur Verdeutlichung des Verfahrens beispielhaft der 01.01.2017, 11:31:53 Uhr angegeben. Der Prozessor vergleicht bei der Durchführung der beispielhaften Addition die Inhalte der Fristkennungen (11, 13) beider Operanden (8, 9) mit dem aktuellen Zeitpunkt (14), bestehend aus Datum und Uhrzeit. Dieser ist zur Verdeutlichung des Verfahrens mit dem 01.01.2017, 13:20:17 Uhr angegeben. Mit den gegebenen Beispielwerten fällt die Prüfung wie folgt aus: der in der Fristkennung (11) des linken Operanden (8) spezifizierte Zeitpunkt liegt in der Zukunft, der Datenwert ist also noch gültig und darf zur Verarbeitung herangezogen werden, während der in der Fristkennung (13) des rechten Operanden (9) spezifizierte Zeitpunkt bereits verstrichen ist, der Datenwert damit ungültig geworden ist und nicht zur Verarbeitung herangezogen werden darf. Die versuchte Verarbeitung des veralteten Datenwerts im rechten Operanden wird in diesem Moment aufgedeckt.
-
4 der Zeichnung zeigt das Setzen der Inhalte der Fristkennung (24) des Ergebnisses (20) einer Operation am Beispiel einer Addition. Der zugehörige Befehl ist in Form des Befehlselements (15) dargestellt, der neben dem Befehlscode für die beispielhafte Addition und den Operanden bzw. Operandenadressen (16) in der Fristkennung (17) einen für das Ergebnis der Operation zu setzenden Gültigkeitszeitraum spezifiziert. Zur Verdeutlichung des Verfahrens sei hier beispielhaft der Wert 20s angegeben. Der Prozessor prüft den Inhalt der Fristkennung (17) des Befehls (15), stellt anhand des gegebenen beispielhaften Wert 20s fest, dass dem Ergebnis der Operation eine neue Frist zugewiesen werden soll, berechnet diese durch Addition des Inhalts der Fristkennung (17) des Befehls (15) und dem aktuellen Zeitpunkt (23), bestehend aus Datum und Uhrzeit, und speichert das Ergebnis als Frist desselben in dessen Fristkennung (24). Zur Verdeutlichung des Verfahren sei der aktuelle Zeitpunkt (23) mit dem 01.01.2017, 13:20:17 Uhr angegeben. Der spätestmögliche Nutzungszeitpunkt ergibt sich durch Verwendung der beispielhaften Werte daher zu 01.01.2017, 13:20:37 Uhr.
-
Die beschriebene Lösung bietet gegenüber dem Stand von Wissenschaft und Technik die folgenden Vorteile:
- • Da die Frist für die Verwendung der Daten in der Fristkennung vorteilshafterweise untrennbar mit den eigentlichen Datenwerten zusammen gespeichert und übertragen wird, kann bei jedem einzelnen Zugriff durch die Hardware sichergestellt werden, dass die Daten noch nicht veraltet sind.
- • Da keine getrennt von den Daten verwalteten Überwachungszeitgeber verwaltet werden müssen, die getrennt von der Datenquelle in den Datenverarbeitungseinheiten und -senken zum Einsatz kommen müssten, besteht bei Einsatz der Fristkennung keine Gefahr von Inkonsistenzen, da die Empfänger der Daten die für die Daten gültige Frist nicht implizit annehmen müssen. Würden z.B. bei CIP Safety durch einen Fehler keine neuen Daten erzeugt werden, aber die Übermittlung der veralteten Daten weiterhin funktionieren, so würde das sicherheitsgerichtete Feldbusprotokoll weiterhin neue Zeitstempel für die veralteten Daten generieren, ohne, dass dies aufgedeckt werden könnte.
- • Die Frist kann von einer Quelle individuell für jedes Datenelement definiert werden, während bei den bekannten Lösungen nur eine maximale Frist für alle Daten innerhalb einer gesamten Systemkomponente, eines gesamten Systems oder einer bestimmten Datenverbindung zwischen Systemkomponenten zum Einsatz kommt.
- • Die Prüfung der Frist kann durch den Prozessor zeitgleich mit der Ausführung der eigentlichen Operation erfolgen, die auf die Daten angewendet werden soll, wodurch kein zusätzlicher Laufzeitbedarf entsteht.
- • Da es sich um eine gerätetechnische Lösung handelt, wird die Lösung nur einmal spezifiziert, entworfen, implementiert und getestet. Bei softwarebasierten Lösungen muss dieses Prozedere i.d.R. bei jedem Projekt erneut durchlaufen werden.
-
Die Beschränkung der zeitlichen Gültigkeit der Behandlungsparameter des Therac-25 auf eine Behandlungssitzung nach den Merkmalen dieser Erfindung hätte die Vermischung alter und neuer Parameter aufgedeckt und mit entsprechender Fehlerbehandlung die Verstrahlung der Patienten verhindern können.