Focus: IoT

Die Entwicklung von IoT-Anwendungen mit hohen Sicherheitsanforderungen

Uhr
von Jiri Petr, Bereichsleiter Applications, CSA Engineering

In sicherheitskritischen Bereichen wie dem Personentransport müssen erhöhte Anforderungen hinsichtlich Fehlerresistenz und Zuverlässigkeit von Kommunikationssoftware für IoT-Anwendungen erfüllt werden. Dies hat auch grossen Einfluss auf den Entwicklungsprozess.

Jiri Petr, Bereichsleiter Applications, CSA Engineering. (Source: zVg)
Jiri Petr, Bereichsleiter Applications, CSA Engineering. (Source: zVg)

Die IP-Technologie hält immer mehr auch Einzug ins Bahnwesen und andere Gebiete, bei denen die Betriebssicherheit, also der Schutz von Mensch und Umwelt, im Vordergrund steht. In diesem Fall spricht man von Safety, welche die Sicherheitsmechanismen der IT-Security ergänzt und deren Einhaltung bei der Entwicklung des RaSTA-Protokolls (Rail Safe Transport Application) beispielhaft ist. Aus technischer Sicht ermöglicht RaSTA eine verlässliche Datenübertragung ohne unbemerkten Datenverlust mithilfe von Mechanismen wie Heartbeat zur regelmässigen Überwachung der Verbindungsqualität, dem Einsatz von redundanten Transportkanälen sowie einer strikten Zeitüberwachung der Datenübertragung. RaSTA ist zwischen der Applikations- und Transportschicht anzusiedeln und besteht aus zwei Teilschichten: aus der Sicherheits- und Sendewiederholungsschicht, die unter anderem für die Integrität und die Adressierung der übertragenen Daten sorgt und der Applikationsschicht Funktionen zur Verfügung stellt, die für die Implementierung eines RaSTA-Client notwendig sind. Die Redundanzschicht wiederum sorgt für die Bewirtschaftung von Transportkanälen, die über physisch getrennte Netzwerke realisiert werden. Als Transportschicht ist UDP (User Datagram Protocol) oder TCP (Transmission Control Protocol) vorgesehen, wobei TCP die Robustheit der Datenübertragung und somit der auf RaSTA basierenden Lösungen erhöht. Mit diesen Schnittstellen kann RaSTA im Internet und damit auch in allen öffentlichen Netzen eingesetzt werden – von Ethernet bis zu 5G. Die oft unabdingbare Datenübertragungs­sicherheit (Security) kann wiederum mit etablierten Verschlüsselungstechnologien wie TLS (Transport Layer Security) gewährleistet werden.

Aufwendige Entwicklungsprozesse

Die Entwicklung von Safety-Applikationen endet aber nicht mit dem Einsatz eines Sicherheitsprotokolls. Nebst der Auswahl einer geeigneten Hardware spielen auch die Entwicklungsprozesse eine wesentliche Rolle. Diese sind in branchenspezifischen Normen definiert, deren Einhaltung durch ein unabhängiges Gremium überprüft werden muss. Für die Bahntechnik sind EN 50128 und die dazugehörigen CENELEC-­Normen massgebend. Aus Sicht der herkömmlichen Applikationsentwicklung bedeutet dies für ein zeitgemäss arbeitendes Entwicklungsteam einige Änderungen wie etwa den Einsatz eines V-Modells, das die Entwicklung in sequenzielle Phasen unterteilt und das einen umfangreichen Satz an sich abgestimmten Dokumenten vorsieht, bevor überhaupt die erste Zeile Code geschrieben wird. Da die Dokumente durch formelle Reviews zu prüfen sind, ist der Zeitaufwand erheblich. Ebenfalls sind die Entwickler bei der Implementierung mit Restriktionen konfrontiert, die eine defensive Programmierung erzwingen und in der «normalen» Softwareentwicklung gängige Mitte wie die Verwendung von Pointern oder die dynamische Speicherallokation verbieten. Glücklicherweise beschränkt sich dieses Verfahren auf die Sicherheits- und Sendewiederholungsschicht des RaSTA, was für die Implementierung von Safety-Applikationen genügt.

Safety-Protokolle in anderen Bereichen nutzen

Die Verbreitung von 5G-Netzen und anderen Technologien erlaubt eine breite Nutzung unabhängiger Kommunikationskanäle. Für IoT-Lösungen, die zwar nicht den strikten Restriktionen des Personentransports vunterworfen sind, dennoch aber eine hohe Ausfallsicherheit erreichen und unsichere Fehlerzustände vermeiden sollen, dürfte der Einsatz von bereits vorhandenen Safety-Protokollen eine lohnenswerte Option sein. Denn RaSTA ist unabhängig vom Applikationsprotokoll und kann deshalb in anderen Einsatzbereichen genutzt werden und die Zuverlässigkeit von IoT-Anwendungen aller Art verbessern helfen.

Tags
Webcode
DPF8_253422