Erfahrungen mit dem Fujitsu-FlexRay-Evaluation-Kit FlexRay in Betrieb nehmen

Vielerorts beginnen bereits Entwicklungen mit FlexRay als Bussystem. Das Angebot an Werkzeugen und Entwicklungs-Boards ist in diesem Bereich aber noch sehr überschaubar. Ein Test soll zeigen, wie ausgereift und funktionell verfügbare Lösungen sind.

Elektronische Wegfahrsperren werden ausgehebelt, das Zurückdrehen von elektronischen Kilometerzählern ist längst zum Volkssport geworden, und der Markt für „Chiptuning“ floriert wie nie: Mit der zunehmenden Bedeutung von Software im Automobilbau wächst auch die Bedrohung durch Hacker und damit die Notwendigkeit, sensible Daten wirksam zu schützen.

Erfahrungen mit dem Fujitsu-FlexRay-Evaluation-Kit

Vielerorts beginnen bereits Entwicklungen mit FlexRay als Bussystem. Das Angebot an Werkzeugen und Entwicklungs-Boards ist in diesem Bereich aber noch sehr überschaubar. Ein Test soll zeigen, wie ausgereift und funktionell verfügbare Lösungen sind.

Den Schlüssel zur Sicherheit bieten kryptographische Verfahren, die sich in der PC-Welt bereits über Jahre bewährt haben. Bei der Umsetzung im Automobil-Umfeld ergeben sich jedoch besondere Herausforderungen. Das bekannteste Anwendungsbeispiel für Kryptographie im Automobilbau sind funkgesteuerte Schließsysteme und damit verbundene Wegfahrsperren. Auch die elektronische Speicherung der Kilometerstände wird bereits heute teilweise durch kryptographische Verfahren geschützt.

Da ein großer Teil der Wertschöpfung in modernen Autos auf Software-Komponenten beruht, ergibt sich darüber hinaus eine Reihe neuer Einsatzszenarien. Um Manipulation von Software oder Daten in Steuergeräten – etwa der Motorsteuerung – zu verhindern, setzen einige Automobilhersteller bereits digitale Signaturen ein. Die Prüfung dieser Signaturen vor dem Flash-Vorgang auf den Steuergeräten selbst garantiert, dass der neue Software-Stand tatsächlich vom Hersteller authorisiert ist und nicht verändert wurde.

Ähnliche Techniken lassen sich aber auch zur Freischaltung kostenpflichtiger Zusatzleistungen einsetzen und ermöglichen ganz neue Geschäftsmodelle. So wird heute z.B. die flexible Nutzung von Kartendaten in Auto-Navigationssystemen durch geeignete Freischaltschlüssel ermöglicht. Die Datenträger selbst werden in diesem Fall den Nutzern kostenfrei zur Verfügung gestellt und die jeweiligen Daten erst bei tatsächlicher Nutzung von diesen gekauft. Dies erlaubt auch eine zeitlich beschränkte Nutzung oder den Verkauf von Zusatzdaten, wie beispielsweise touristischen Informationen oder den Standorten stationärer Radaranlagen.

Zudem weisen immer mehr Autos Funkschnittstellen wie Bluetooth, WLAN oder GSM auf, die entweder vom Fahrer selbst für Zusatzdienste oder von Herstellern und Werkstätten zur Diagnose und Fernwartung genutzt werden. Diese Kommunikationswege müssen natürlich gegen Missbrauch abgesichert werden; selbst wenn das „Hacken“ eines Autos über diese Schnittstellen nicht immer sicherheitskritisch sein muss, wäre es in jedem Fall ein Marketing-Desaster. Ein weiteres Anwendungsfeld ergibt sich aus der Wandlung des Autos zur Multimedia-Zentrale. In Zukunft wird das Angebot an kopiergeschützten Musik- und Videodaten zunehmen, die im Fahrzeug genutzt werden sollen. Hierzu sind entsprechende DRM-Verfahren (Digital Rights Management) umzusetzen, die außerhalb des Automobil-Umfelds vorgegeben werden.

Kryptographische Verfahren: Überblick

Die Vielzahl der oben beschriebenen Anwendungen – und viele andere – lässt sich mit einer überschaubaren Zahl kryptographischer Algorithmen absichern. Diese Algorithmen können dabei ihrerseits auf verschiedene Weise innerhalb eines kryptographischen Protokolls genutzt werden. In der modernen Kryptographie unterscheidet man grundsätzlich folgende Verfahren:

  • schlüssellose Hash-Funktionen, die eine kryptographisch sichere Checksumme über vorgegebene Daten berechnen,
  • symmetrische Verschlüsselungsverfahren, bei denen ein identischer Schlüssel bei Ver- und Entschlüsselung eingesetzt wird,
  • asymmetrische Verschlüsselungsverfahren, bei denen zur Ver- und Entschlüsselung zwei verschiedene Schlüssel notwendig sind.

Für den Aufbau müssen lediglich CPU-Board und Tochterplatine aneinander gesteckt und die Spannungsversorgung angeschlossen werden. Dabei empfiehlt es sich, die Installationsanleitung zunächst komplett durchzulesen. Bei der Inbetriebnahme Schritt für Schritt folgt der Hinweis auf die wichtige Konfiguration der Jumper erst, nachdem das Board bereits an die Spannung angeschlossen wurde, um die Leuchtdiodenanzeigen zu kontrollieren. Bei beiden vorliegenden Exemplaren sind alle Jumper im Auslieferzustand bereits korrekt eingestellt.

Die Steuerung des FlexRay-Evaluation-Kits erfolgt über die im Paket enthaltene Softune IDE, Version 6 (Bild 1). Zur Installation ist ein Internetzugang erforderlich, da ein Passwort angefordert werden muss. Mit der Softune Workbench lassen sich die beigefügten Beispielapplikationen laden, editieren und übersetzen. Zur Ausführung können die Projekte wahlweise über den bei Auslieferung im Flash des 369-Boards befindlichen Monitor-Debugger ausgeführt werden; alternativ lässt sich die Software auch direkt in das Flash übertragen. In diesem Fall wird der Monitor-Debugger überschrieben, der aber beigelegt ist und jederzeit wieder in den Flashspeicher geschrieben werden kann.

Bei Benutzung des Monitor-Debuggers kann das laufende Programm nicht von Softune aus angehalten werden, stattdessen muss eine Taste auf dem Board betätigt werden. Auch ein Neustart der Applikation über den Resetbutton in Softune funktioniert nicht, stattdessen muss die Debug-Sitzung beendet und neu gestartet werden, was dank kurzer Ladezeit aber erträglich ist. Der Resettaster auf dem 369-Board sollte innerhalb einer Debug-Sitzung nicht verwendet werden, da Softune dann die serielle Verbindung mit dem Monitorprogramm verliert und erst nach längerem Timeout wieder reagiert. Der Debugger bietet auch Breakpoints in beliebiger Anzahl.

Zum Vergleich zeigt Tabelle 2 die Bandbreite erreichbarer Laufzeiten gängiger Standardverfahren, wie sie z.B. auch in der HIS-Spezifikation zum sicheren Flashen von Steuergeräten vorgesehen sind. Die Werte beziehen sich auf eine Implementierung in ANSI-C und sind für drei im Automobil-Umfeld übliche Prozessoren angegeben. Tabelle 3 zeigt dazu die gängigen Code-Größen auf denselben Prozessoren.

Neben den Beispielapplikationen finden sich auf der CD auch Werkzeuge und Bibliotheken zum Erstellen eigener Applikationen, wie beispielsweise die von DeComSys stammende „DCS CommStack“-Bibliothek, die auch in einigen der mitgelieferten Beispiele verwendet wird. Diese bietet u.a. Funktionen zur Initialisierung der Hardware, wobei neben dem ERAY-CC auch der Freescale-CC unterstützt wird, und die Behandlung von Kommunikationsobjekten über Queues.

Mit „FlexConfig“ von TZM (Transferzentrum für Mikroelektronik) kann man die für die Initialisierung der CCs notwendigen Parameter für Timing, Segmentgröße etc. konfigurieren und auf Gültigkeit prüfen, sodass Fehlkonfigurationen vermieden werden (Bild 3). Zudem können einzelne Message-Objekte definiert werden. Diese können sowohl in einem eigenen Format gespeichert als auch als CHI-Datei (Controller Host Interface) exportiert werden. So erstellte Dateien können von C-Programmen eingebunden werden; die „DCS CommStack“-Bibliothek stellt Funktionen zum interpretieren der erzeugten Strukturen bereit. Die gelieferte Beispielversion ist auf die Verwendung von maximal vier Kommunikationsobjekten beschränkt. In der Online-Hilfe findet sich eine kurze Einführung, die durch alle Schritte zur Erstellung einer CHI-Datei führt.