Sicherheit eingebetteter Systeme auf Basis arithmetischer Codierungen

Bok av Martin Früchtl
Unter dem Begriff Safety bzw. Sicherheit im Sinne von Safety verbirgt sich das allgemeine Streben nach einem Schutz für Personen und Umwelt in allen Bereichen. Dieser Schutz wird oft auch in der Gesetzgebung festgehalten und muss im Rahmen der Entwicklung eines Systems für sicherheitsrelevante Anwendungsbereiche nachgewiesen werden. Das ist insbesondere auch für das in dieser Arbeit betrachtete Umfeld der Automatisierungstechnik von immenser Bedeutung. Zur Gewährleistung eines bestimmten Grades an Sicherheit müssen Maßnahmen getroffen werden, um die Ausführung von Applikationen auf ihre funktionale Korrektheit hin zu prüfen. Da aktuelle Systeme diese Maßnahmen in der Regel durch Vorkehrungen auf Hardware-Ebene realisieren, impliziert dies eine Abhängigkeit des Sicherheitsnachweises von der zugrunde liegenden Hardware, was letztlich zu einer eingeschränkten Flexibilität der Systeme führt. Das Ziel dieser Arbeit ist es daher, die Abhängigkeit des Sicherheitsnachweises von der zugrunde liegenden Hardware zu adressieren. Dies wird erreicht, indem die für sicherheitsrelevante Systeme nötigen Maßnahmen zur Detektion von Fehlern direkt auf Software-Ebene realisiert werden. Dazu wird zusätzlich zur bereits vorhandenen Datenverarbeitung eine arithmetische Codierung genutzt, um durch eine auf Datenebene erzeugte Diversität mit Hilfe von Konsistenzprüfungen zwischen uncodierten und codierten Datenwerten auf Fehler in der Datenverarbeitung schließen zu können. Die Datenoperationen im codierten Anteil können so gestaltet werden, dass auch das Resultat einer Operation der Codierungsvorschrift entspricht und so auf die korrekte Ausführung der Operation geschlossen werden kann. Wird die Codierungsvorschrift durch ein gegebenes Resultat nicht erfüllt, so wurde ein Fehler detektiert. In dieser Arbeit wird eine Entwurfsmethodik vorgestellt, welche die Entwicklung eines sicherheitsrelevanten Systems auf Basis arithmetischer Codierungen ohne eine Abhängigkeit des Sicherheitsnachweises von der zugrunde liegenden Hardware erlaubt. Wichtige Teilaspekte der Methodik sind dabei die interne Architektur der Verarbeitung, die arithmetischeCodierung und die automatische Synthese der sicherheitsrelevanten Anteile. Im Kontext der internen Architektur wird ein generisches Konzept vorgestellt, welches auf der Nutzung mehrerer codierter Kanäle basiert, um so eine vollständige Diversität zwischen uncodiertem und codiertem Anteil zu schaffen. Bezüglich der arithmetischen Codierung wird ein Verfahren zur Ableitung einer geeigneter Codierung für eine vorliegende Architektur erarbeitet, wobei die Codierung alle Aspekte dieser Architektur nutzt, um die Restfehlerwahrscheinlichkeit zu verbessern. Letztlich wird ein Konzept für das Verfahren einer automatischen Synthese vorgestellt, welches ausgehend von einer in Standard C gegebenen Benutzerapplikation die diversitären Softwareanteile erzeugt, damit die interne Verarbeitung entsprechend des vorgestellten Architektur- und Codierungskonzeptes erfolgen kann. Die Anwendbarkeit dieser Entwurfsmethodik wird in Form einer prototypischen Umsetzung nachgewiesen. Dies wird insbesondere auch im Rahmen eines realen Entwicklungsprojektes gezeigt, im Zuge dessen die Zertifizierbarkeit eines anhand der Entwurfsmethodik entwickelten Systems bereits durch einen Notified Body bestätigt wurde. Basierend auf diesem Prototypen werden letztlich alle Teilaspekte der Entwurfsmethodik bzw. das daraus resultierende Gesamtsystem evaluiert.