Multicore-Mikrocontroller Teil 2: Welche Safety- und Security-Anforderungen zählen bei der MCU-Wahl?

Im ersten Teil der Artikelreihe zur richtigen Multicore-Auswahl ging es um die Bestimmung der Requirements hinsichtlich Rechenleistung und deren Bewertung für das Projekt. Als zweiten Schritt betrachten wir nun die Anforderungen bezüglich funktionaler Sicherheit und Datensicherheit.

Kommen bei einer Applikation Anforderungen zu Safety und Security ins Spiel, ist eine umfassende Anforderungsanalyse für diese Aspekte sehr wichtig. So wird z.B. zum Erreichen des ASIL-Levels C gefordert, dass die Ergebnisse des Main-Core-Programms mit den Ergebnissen des im Lockstep-/Checker-Core zeitversetzt bearbeiteten Programms verglichen werden.

Dies ist notwendig, um temporäre Fehler in der Ergebnisberechnung des Safety Cores zu erkennen. Als Antwort auf erkannte Fehler muss das System imstande sein, geeignete Fehlerantworten zu generieren.

So muss in speziellen Fällen eine Fehlerantwort ohne Beteiligung von Software das System in einen sicheren Zustand versetzen können. Hier wird ein Safety-Hardwaremodul (Safety Management Unit) benötigt, das für jeden erkannten Fehler automatisch eine vom Anwender gewählte bzw. voreingestellte Fehlerantwort generiert, z.B. Exception/ Trap Routine, Reset, CPU Idle State oder ein externes Fehlersignal.

Bild 7: Arbeitsschritte in der Projektentwicklung für Safety-relevante Systeme

Für die Ermittlung der Anforderungen, die bei Safety-relevanten Applikationen berücksichtigt werden müssen, ist zunächst eine Analyse der möglichen Gefahren sowie eine Bewertung der Risiken durchzuführen.

Der geforderte Safety-Level bestimmt dann z.B., welche Safety-Hardware in einem Mikrocontroller enthalten sein muss, damit das System den zu erreichenden Grad der Sicherheit sicherstellt.

Bild 8: Beispiel für Safety-Anforderungen für ASIL-B und ASIL-C

Eine ähnliche Vorgehensweise gilt für die Security-Thematik:

Bild 9: Security – Sicherheitssysteme für Steuerungen

Die Security-Ziele (Security Goals) und Angriffspotentiale, durch die ein System Ziel eines Angriffs werden kann, sind zu bestimmen und zu untersuchen. Ferner sollte man bewerten, ob diese möglichen Angriffe Auswirkungen auf die Systemsicherheit und Systemintegrität haben oder ob die Privatsphäre des Anwenders durch zusätzliche Maßnahmen geschützt werden muss.

Beispiele hierfür sind die folgenden Aspekte:

  • Muss das System Schutzmechanismen für die Software der Applikation gegen Daten- und Parameter-Manipulation enthalten?
  • Gibt es die Möglichkeit, im Software-Bootprozess nicht-autorisierte Zugriffe über externe Interfaces zu erkennen und zu verhindern?
  • Gibt es einen Hardware-Support für passwortgeschützte/verschlüsselte Kommunikation und die Möglichkeit, Viren in der Kommunikation zu erkennen und unschädlich zu machen?

Das Ergebnis dieser Analyse bestimmt, welcher Security-Support im System benötigt wird. Für die Auswahl des Mikrocontrollers, der für die Erfüllung der Security-Ziele verantwortlich ist, gilt es zu untersuchen, ob die dazu notwendigen Hardware-Voraussetzungen erfüllt sind:

  • Secure Software Boot und Crypto Bootloader für sicheren Software-Start und Flash-Updates
  • Flash-Protection-Mechanismen
  • Zugriffsgeschützter Security Controller (von der Applikation getrennte (private) Flash- und SRAM-Bereiche)
  • Support passwortgeschützter/ verschlüsselter Kommunikation

Fazit

Erweiterte Anforderungen an die Sicherheit im System bzw. Safety und Security erfordern spezifische Hardware-Module in den Mikrocontrollern.

Mehr lesen

Teil 1: So bestimmen Projekt-Ressourcen die richtige Auswahl des Multicore-Mikrocontrollers

Teil 3: Sind die vorhandenen Ressourcen in der Peripherie ausreichend?

Weiterführende Informationen

MicroConsult Fachwissen zum Thema Multicore & Mikrocontroller

MicroConsult Training & Coaching zum Thema Multicore

Veröffentlicht von

Ingo Pohle

Ingo Pohle

Ingo Pohle ist Mitgründer und Geschäftsführer der MicroConsult GmbH und international anerkannter Spezialist für Embedded-Lösungen, mit einem reichen Erfahrungsschatz rund um den Einsatz von Embedded-Mikrocontrollern, Bussystemen und RTOS.