Anwendungsbeispiel ARM-Cortex

MobiCore-Betriebssystem für sichere In-Car-Systeme

4. Oktober 2010, 14:00 Uhr | Frank Riemenschneider
Diesen Artikel anhören

Fortsetzung des Artikels von Teil 1

Das MobiCore-Betriebssystem

Trustlets
Bild 1. Sicherheitsrelevante Anwendungen, die so genannten Trustlets, können an einen oder mehrere separate "Container" verteilt werden, die über ARMs TrustZone-Technologie in der ECU isoliert werden.
© Giesecke&Devrient

Mit dem Betriebssystem MobiCore werden sicherheitsrelevante Prozesse durch hardware-basierte Mechanismen von TrustZone-Technologie-Erweiterungen in einer "sicheren Welt" eingekapselt. Technisch betrachtet umfasst das Konzept von TrustZone (TZ) zwei separate Ausführungsmodi, die durch Hardware-Sicherheitsmechanismen wie z.B. ein zusätzliches Sicherheits-Bit für den AMBA-Bus isoliert sind. Daher macht ein TZ-Prozessor die zwei "Prozessorenwelten" möglich: Eine "normale Welt" mit einem beliebigen Embedded-Betriebssystem, etwa einem OSEK-kompatiblen Linux-System, und die "sichere Welt" mit dem MobiCore-Betriebssystem (Bild 1).

Mit Hilfe des MobiCore-Treibers können Applikationen aus dem "normalen" Betriebssystem Daten mit Prozessen und Trustlets in der sicheren Welt austauschen. Der sichere Modus eines TrustZone-aktivierten ARM1176- oder ARM-Cortex-A-Prozessors wird immer dann aktiviert, wenn ein sicherheitskritischer Dienst von MobiCore benötigt wird. Dieser Wechsel lässt sich aus jeder Anwendung der "normalen Welt" durchführen. Danach ist die Kontrolle über die gesamte Hardware an das MobiCore-Betriebssystem übergeben.

Tasks innerhalb der "sicheren Welt" werden durch das MobiCore-Betriebssystem voneinander getrennt. Das MobiCore-Betriebssystem wird innerhalb der "sicheren Welt" ausgeführt. Unterschiedliche Dienstanbieter können als "Container" bezeichneten Prozessorplatz innerhalb der "sicheren Welt" beanspruchen. Innerhalb ihrer Container können sie zahlreiche Dienst-Trustlets für ihre sicherheitssensiblen Anwendungen bereitstellen. Die Trennung und Isolierung von Trustlets in der "sicheren Welt" stellt eine Kernfunktion von MobiCore dar. Mit dem MobiCore-Betriebssystem wird garantiert, dass ein Speicher, der einem Container zugeordnet wurde und beispielsweise kryptografische Schlüssel enthält, niemals durch in anderen Containern ausgeführte Trustlets auf nicht autorisierte Weise verwendet oder bearbeitet werden kann. Somit werden Anwendungen geschützt und voneinander getrennt. Sogar fehlerhafter und böswilliger Code kann anderen Anwendungen keinen Schaden zufügen.

Die Kommunikation zwischen den Trustlets in den Betriebssystemen der "sicheren" und der "normalen Welt" wird über eine standardisierte Schnittstelle gewährleistet - die so genannte TrustZone-API. Bei der TrustZone-API handelt es sich um eine Kommunikationsschnittstelle, die Anwendungen der "normalen Welt" zum Austausch von Daten mit in der "sicheren Welt" ausgeführten Trustlets befähigt.

MobiCore in Verbindung mit SCU und PU

Integration von SCU und PU mit MobiCore.
Bild 2. Integration von SCU und PU mit MobiCore.
© Giesecke&Devrient

MobiCore kann durch Module von Drittherstellern erweitert werden. Im Kontext mit In-Car-Systemen bieten z.B. ein Secure-Steuergerät (SCU) und eine Playload-Einheit (PU) einen erheblichen Mehrwert (Bild 2). So können Angriffe über externe Schnittstellen erkannt und bösartige Kommunikation zwischen den Core-Systemen des Autos herausgefiltert werden. Die SCU kann im Fall eines Angriffs neue Netzwerk-Adressen zuweisen. Die PU erkennt abnormes Verhalten von Anwendungen in der "normalen Welt". Dafür werden Protokolle auf Anwendungs-Ebene überwacht.

Über ein Watchdog-Trustlet kann die ständige Ausführung von kritischen Prozess-Blöcken überwacht werden. Im Fall eines Angriffs wird die Kommunikation zum Core unterbunden, wenn nötig, werden die externen Schnittstellen heruntergefahren oder neu gestartet, so dass die Laufzeit-Integrität von SCU und PU sichergestellt ist. Durch ein Diagnose-Trustlet, das auf Anforderung die Konfiguration und den Status der Anwendungen überprüft, kann die Interaktion zwischen "normaler Welt" und "sicherer Welt" weiter verbessert werden. Hierdurch kann ein OEM in die Lage versetzt werden, über eine Wireless-Schnittstelle und einen proprietären und sicheren Kommunikationskanal zu jedem einzelnen Fahrzeug seinen Kunden Diagnose-Services anzubieten.

In Verbindung mit einer SCU und einer PU ist MobiCore ein Betriebssystem, das ein sicheres Booten erlaubt und sichere Bibliotheken einschließlich der kryptografischen Anwendungen zur Verfügung stellt. Es bietet eine sichere Betriebsumgebung für den SCU-Watchdog und es ermöglicht SCU-Updates während des Lebenszyklus des Systems. Die Kombination von G&Ds Expertise im Bereich TrustZone und Services von Anbietern im Bereich Sicherheitssysteme liefert der Automobilindustrie eine hochzuverlässige Lösung, die umso wichtiger wird, je mehr sich die Industrie in Richtung Open-Source-Anwendungen und Zusammenarbeit mit immer mehr Zulieferern und Diensteanbietern bewegt.


  1. MobiCore-Betriebssystem für sichere In-Car-Systeme
  2. Das MobiCore-Betriebssystem
  3. Sicherheit für Automobilsysteme

Jetzt kostenfreie Newsletter bestellen!