Mikrocontroller im Fokus : Security first!

Mikrocontroller bilden im Verbund mit Software Herz und Hirn der Sensorik innerhalb der Industrie 4.0- und IoT-Technologien. Die voll vernetzte Fabrik und das smarte Zuhause bieten damit immenses Wachstums- und Innovationspotential – sie sind aber auch angreifbar. Im Rahmen von IoT, Industrie 4.0 und Robotik werden Mikrocontroller zunehmend zum Schutzschild vor Manipulationen und Cyber-Attacken. Verschiedene Mikrocontroller-Familien kommen bereits mit einem Arsenal an Sicherheitsmerkmalen. Als zentrale Steuerungs- und Regelungskomponente nehmen Mikrocontroller in vernetzten Systemen eine Schlüsselposition ein. Die Hersteller arbeiten bereits mit Entwicklungsprozessen, die nach entsprechenden Sicherheitsnormen zertifiziert sind. Mit einer abgesicherten Fertigungskette tragen Halbleiterhersteller zudem Sorge, ihren Kunden eine sichere End-to-End-Lösung anzubieten. Hinsichtlich Security lassen sich je nach Zielanwendungen verschiedene Mikrocontroller-Kategorien unterscheiden:

Authentifizierungslösungen sowie TPMs (Trusted Platform Module), zum Beispiel für Markenschutz und IoT-Netzwerke

Bank- und ID-Lösungen für klassiche Smartcard-Unternehmen in den Bereichen Zahlung, Personenidentifikation, Transport und Pay-TV

Mobile-Security-Lösungen für SIM-basierte Lösungen in mobilen Produkten und Machine-to-Machine (M2M)-Anwendungen

Automotive-Lösungen für Nahfeldkommunikation (NFC, eSE) und sicheres Fahren

Integrierte Merkmale für Datensicherheit

Innerhalb des IoT sowie der Industrie 4.0 und der Robotik kommen meist Standard-Mikrocontroller für Industrie- und Consumer-Anwendungen (General Purpose Microcontroller) zum Einsatz. Auch hier sind bereits Modelle mit integrierten Sicherheitsmerkmalen verfügbar. So verfügt beispielsweise die STM32-Familie über eine Vielzahl an Features, die Schutz bieten hinsichtlich:

Identitätsdiebstahl (Manipulationsschutz, Integrität, Rückverfolgbarkeit)

Verweigerung von Datenservice (Throttling)

Daten- und Code-Spionage und -Manipulation (Speicherschutz, Rechtemanagement, Debug Level, Manipulationsschutz, Integrität, sichere Firmware-Updates)

Physische, bzw. mechanische Attacken (Manipulationsschutz am Baustein)

Diese Merkmale sind vorrangig durch On-Chip-Integration umgesetzt und gewährleisten die robuste Authentifizierung, Plattformintegrität sowie durchgehende Datensicherheit und damit die Absicherung der Privatsphäre des Endbenutzers sowie den vollumfänglichen Schutz von Daten-, IP- und Markenschutz – und erfüllen damit auch höchste Ansprüche an die Datensicherheit in Standardprodukten. Typische Zielanwendungen sind z.B. Drucker, Computer, Gateways, IoT Endpunkte und Sensoren.

Hardware-basierte Funktionen

Integrität und Betriebssicherheit: Die zyklische Redundanzprüfung ermittelt einen Prüfwert, der Fehler bei der Datenübertragung oder -speicherung erkennbar macht. So lässt sich nicht nur deren Integrität prüfen, sondern es kann auch eine Signatur der Software während der Laufzeit berechnet werden. Die Netzüberwachung ist eine besonders gesicherte Versorgungsüberwachung: POR flagstatus (Power on RESET), PDR flagstatus (Power down RESET), BOR flagstatus (Brown out RESET) und PVD flagstatus (Programmable Voltage Detector), um den Grund eines Resets zu ermitteln und damit abzusichern, dass dieser durch einen rechtmäßigen Zugriff erfolgt. Sie wird ergänzt durch die „Read while Write“-Funktion zur effizienten Manipulationserkennung und Protokollierung. Das Clock Security System (CSS) basiert darauf, dass sowohl die Clock und das System zu ihrer Wiederherstellung, wie auch die interne und externe Clock jeweils unabhängig voneinander funktionieren. Ebenso unabhängig voneinander überwachen der Watchdog und der Window Watchdog die Zeitfenster. Die Unversehrtheit und Vertrauenswürdigkeit der Speicherinhalte wird durch den Error Correction Code (ECC) und den Paritätscheck sichergestellt. Sie bieten zudem einen erweiterten Schutz vor Angriffen mit dem Ziel, Fehler einzuschleusen. Ein Temperatursensor misst fortlaufend die Umgebungstemperatur des IC, um zu verhindern, dass dieser durch gezielte Erwärmung seinen spezifizierten Bereich verlässt und nachhaltig geschädigt wird.

Verschlüsseln – aber richtig

Verschlüsselungsverfahren schützen einen Ausgangstext vor unbefugten Zugriffen indem sie den ursprünglichen Klartext mittels Code verschlüsseln. Wer den Code knackt, kann damit auch den verschlüsselten Text dechiffrieren. Anspruchsvollere kryptologische Verfahren nutzen eine symmetrische oder asymmetrische Verschlüsselung. Bei der symmetrischen Variante existiert für die Ver- und die Entschlüsselung nur ein Schlüssel, d.h. Sender und Empfänger nutzen denselben Schlüssel. Bei asymmetrischen Verfahren nutzt jeder der kommunizierenden Partner einen eigenen Schlüssel, mit dem ein Schlüsselpaar erzeugt wird. Dies besteht aus einem öffentlichen Schlüssel, mit dem Daten chiffriert werden, und einem privaten Schlüssel, der diese dechiffriert. Bei einigen STM32-Serien ist zur Verschlüsselung ein echter Zufallszahlengenerator vollumfänglich im Chip integriert. Die Verschlüsselung basiert auf dem symmetrischen Verfahren Advanced Encryption Standard (AES). Die Serien STM32 F2, F4, F7, L4 weisen dabei eine Schlüssellänge von wahlweise 128 / 256 bit in verschiedenen Verfahren (ECB, CBC, CTR,GCM, GMAC, CMAC) auf, in den Serien STM32 L0 / L1 ist AES 128 bit implementiert. Vorteil des symmetrischen Verfahrens: Da es nur einen Schlüssel gibt, ist das Schlüsselmanagement einfacher als bei den asymmetrischen Verfahren. Zudem erfolgt die Ver- und Entschlüsselung erheblich schneller. Manche STM32-Modelle kommen zudem mit vollintegrierter Hash-Funktion. Dabei werden Daten zerhackt und zerstreut und die Funktion bildet eine große Eingabemenge auf eine kleinere Zielmenge ab. Hinzu kommt der Keyed-Hash Message Authentication Code (HMAC). Der Aufbau dieses Message Authentication Code (MAC) basiert auf einer kryptografischen Hash-Funktion. Die HMACs sind in RFC (Request for Comments) 2104 und im NIST (National Institute of Standards and Technology) Standard FIPS 198 spezifiziert.

Manipulationen vorbeugen

Der Manipulationsschutz dient der Abwehr von bewusst oder unbewusst gestarteten physischen Angriffen auf das Hardware-System außerhalb des Mikrocontrollers. Die Backup Domain, die sich auf verschiedene Aufweckquellen bezieht, sorgt dafür, dass der Schutz auch im Low Power Modus aufrechterhalten wird. Die Real Time Clock (RTC) gibt jedem Manipulationsereignis einen Zeitstempel. Einige STM32-Serien haben zudem einen RTC-Registerschutz. Er blockiert unerlaubtes Schreiben, er funktioniert unabhängig vom System-Reset. Dies umfasst jedoch nicht den Schutz beim Schreiben einer Tastenfolge. Wurde eine Manipulation erkannt, sorgt das Sicherungsregister dafür, dass die dabei geschriebenen Inhalte automatisch gelöscht werden. Zudem lassen sich Kommunikationskanäle mit einer GPIO-Konfigurationssperre gezielt schließen. Diese blockiert ausgewählte Allzweckeingaben/-ausgaben (GPIO), die Sperre kann beim nächsten Reset aufgehoben werden.

Weitere Waffen gegen Angriffe

Die Debug-Sperre verhindert nicht autorisierte Zugriffe auf den Mikrocontroller über eine Debug-Schnittstelle. Das Sicherheitslevel ist je nach Anwendung beziehungsweise Anforderung wählbar, kann danach jedoch nicht mehr heruntergestuft werden. Das Zugriffsrecht verleiht Nutzern oder Nutzergruppen die Autorität zur Ausführung bestimmter Aktionen. Hierfür teilt die integrierte Speicherschutzeinheit (Memory Protection Unit, MPU) den Speicher in Regionen mit unterschiedlichen Berechtigungen und Zugriffsregeln. Bei einem Datentransfer schützt die Firewall den Code- oder Daten-Teil des Flash-Speichers, bzw. des SRAM, vor dem Codes(rest), der außerhalb des geschützten Bereiches ausgeführt wird. Die Firewall wirkt restriktiver als die Speicherschutzeinheit (MPU), sie ist nur im STM32L0 und L4 integriert. Ein Leseschutz dient der Verwaltung der Speicherzugriffskontrolle. Speicher Dumps, bzw. Sicherungen von User-IPs, sind dabei u.U. nicht zulässig. Mittels Schreibschutz lässt sich jeder Sektor vor unerwünschten Schreiboperationen absichern. Ein proprietärer Codeschutz ermöglicht die Konfiguration jedes Speicherbereichs als "execute only", d.h. hier darf Code nur ausgeführt und nicht geschrieben werden. Mit Hilfe der Funktionen Mass Erase oder Secure Erase lassen sich IPs und vertrauliche Daten sicher löschen, der Vorgang setzt den Speicher vollständig auf Werkseinstellungen zurück. Für die Rückverfolgbarkeit eines Endprodukts verfügen viele STM32-Serien über eine spezifische 96-Bit Unique ID. Diese kann auch für die Diversifizierung von Sicherheitsschlüsseln verwendet werden. Viele Serien verfügen darüber hinaus über Funktionen für ein sicheres Firmware-Update. Die in Hardware realisierten Sicherheitsfunktionen lassen sich durch Software-basierte Maßnahmen noch erweitern.

Whitepaper für weitere Infos

Um Entwickler, Produktmanager und Einkäufer bei der Umsetzung sicherer Schaltungs- und Systemkonzepte zu unterstützen, hat Rutronik ein Whitepaper zu Sicherheitsaspekten zusammengestellt. Das Dokument mit dem Titel „Security Aspects – Whitepaper on How to Make State of the Art Electronic Designs“ liefert auf rund 100 Seiten Grundlagenwissen mit Praxisbezug zu Bauteilen, Technologien und ganzen Anwendungen. Zielgruppe sind Hard- und Software-Entwickler, Produktmanager und Einkäufer.

Das Whitepaper steht zum kostenlosen Download zur Verfügung: www.rutronik.com/security-aspects