Skip to content
Secure-Konzepte-ARM

Krypto- und Security-Features moderner Embedded Systems

Der Schutz vor Manipulation und der Nachweis der Authentizität sind für Sicherheitssoftware und On-Chip-Geheimnisse, die für die Sicherheit verwendet werden, unerlässlich. Beispiele für vertrauenswürdige Systeme sind passwortgeschützte mobile Zahlungen, die Verwaltung digitaler Rechte und E-Ticketing. Aber auch die Dinge des täglichen Gebrauchs erwarten Integrität. So sollen insbesondere Systemen, die eine technische Zuverlässigkeit aufgrund der potenziellen Gefährdung von Menschenleben erwarten, geschützt sein. Beispiele dafür sind Bahnen, Flugzeuge, Autos, Kaffeemaschinen oder Garagentore. In der Welt der offenen Systeme und frei verfügbarer softawre ist es schwieriger, Sicherheit zu erreichen. Man kann eine breite Palette von Software auf eine Plattform herunterladen und dabei versehentlich bösartige oder nicht vertrauenswürdigen Binaries als Beifang herunterladen, die das Potenzial haben, Systeme manipulieren zu können.

Zwei wesentliche Trends dienen in der modernen Embedded-Welt der Steigerung der kryptografischen Sicherheit von Steuergeräten, wie sie in Kfz oder Bahnsystemen zum Tragen kommen.

 

ARM v8 Trustzone Features

Die TrustZone-Technologie für ARMv8-M ist eine optionale Sicherheitserweiterung, die als Grundlage für eine verbesserte Systemsicherheit in einer Vielzahl von eingebetteten Anwendungen dienen soll.

Das Konzept der TrustZone-Technologie ist nicht neu. Die Technologie ist bereits seit 2011 für ARM Cortex-A-Prozessoren verfügbar und wurde nun auf ARMv8-M-Prozessoren erweitert. Die aktuellen Controller-Typen sind Cortex-M23, Cortex-M33. Mit dem Cortex-M55 kündigt sich zudem eine weitere Architektur an.

Die Konzepte der TrustZone-Technologie für ARMv8-M der TrustZone-Technologie in ARM Cortex-A-Prozessoren. In beiden Designs hat der Prozessor einen sicheren und einen unsicheren Zustand, wobei nicht-sichere Software nur auf nicht-sichere Speicher zugreifen kann. Die TrustZone-Technologie für ARMv8-M wurde mit Blick auf kleinere, energieeffiziente Systeme entwickelt. Im Gegensatz zur TrustZone-Technologie in Cortex-A-Prozessoren basiert die Unterteilung in sichere und normale Domänen auf der Memory Map.

Folgende Unterschiede gibt es bei der Implementierung:

  • Die TrustZone-Technologie für ARMv8-M unterstützt mehrere Einstiegspunkte für sichere Funktionen, während bei der TrustZone-Technologie für Cortex-A-Prozessoren der Secure Monitor Handler der einzige Einstiegspunkt ist.
  • Nicht sichere Interrupts können immer noch bedient werden, wenn eine sichere Funktion ausgeführt wird.

Daher ist die TrustZone-Technologie für ARMv8-M für stromsparende Mikrocontroller-Anwendungen optimiert. In vielen Mikrocontroller-Anwendungen mit Echtzeitverarbeitung sind deterministisches Verhalten und niedrige Interrupt-Latenzzeiten wichtige Anforderungen.

Die folgende Abbildung zeigt die Memory Map für den sicheren Zustand. Im sicheren Zustand kann auf alle Speicher und Peripheriegeräte zugreifen. Der Systemkontroll- und Debug-Bereich ermöglicht den Zugriff auf Secure Peripherals und Non-Secure Peripherals, die an einem Speicher-Alias germirrort werden. Code, der von einem sicheren Bereich aus ausgeführt wird (sicherer Code), wird in einem sicheren Zustand ausgeführt und kann auf Speicher in sicheren und nicht-sicheren Regionen zugreifen.

Die secure peripherals sind nur während der Programmausführung im sicheren Zustand zugänglich. Die Security Attribution Unit (SAU) konfiguriert den nicht-sicheren Speicher-, Peripherie- und Interrupt-Zugriff. Das System unterstützt zwei getrennte Interrupt-Vektortabellen für sichere und nicht sichere Codeausführung. Diese Interrupt-Zuweisung wird während der Codeausführung im sicheren Zustand über den NVIC (Nested Vector Interrupt Controller) gesteuert.

Memory Map ARM TrustZone

Memory Map ARM TrustZone

TrustZone bietet damit eine hardware-gestützte Isolierung für vertrauenswürdige Software. TrustZone steht damit als leistungsstarken Baustein für die Sicherung von Daten und Anwendungen der Endnutzer.

Intrinsische Hardware Security Modules

Als zweiter Aspekt dienen Hardware Security Module der hardware-beschleunigten Bereitstellung von Schlüsseln und Secrets in modernen Prozessoren. Hardware Security Modules finden zunehmend Einsatz in Mikroanwendungen und sind ein wichtiger Bestandteil von modernen Infrastrukturen. Prinzipiell ist ein HSM nichts anderes als ein programmierbares Subsystem innerhalb eines Mikrocontrollers, vergleichbar mit einem zusätzlichen Prozessorkern. In diesem werden die Schlüssel erzeugt und abgelegt. Das erlaubt Secure Boot, Secure Flash und Secure Debug-Operationen. Des Weiteren verhindert das HSM die Installation von manipuliertere Software, nicht autorisierte Software-Updates sowie vor Manipulation von Software- und Kommunikationsschnittstellen. Sie unterscheiden sich von Crypto-Hardware- oder Software-Bausteinen (Peripherals oder Libraries) durch die Programmierbarkeit.

Die folgende Abbildung zeigt drei Aspekte:

  • reine Softwarelösung auf dem Hauptprozessor
  • hardwarebeschleunigte Lösung auf dem Hauptprozessor
  • eine Lösung mit HSM
Lösungssichten für Embedded Device Security

Lösungssichten für Embedded Device Security

Da kryptografische Algorithmen in der Regel rechenintensiv sind, erfordert eine reine Softwarelösung viel Rechenzeit. Der Einsatz einer hardwarebeschleunigten Berechnung und die beschleunigte Berechnung im HSM erreichen vergleichbare Werte. Allerdings bietet das HSM den Vorteil der Parallelität, wenn die Berechnung in Software durchgeführt wird. Dadurch kann der Hauptprozessor entlastet werden. Das HSM bietet daher die beste Lösung für die Trennung und den Schutz vertraulicher Inhalte bei hohem Sicherheitsniveau.

In der finalen Konsequenz bedeutet der Einsatz eines HSMs auch, dass bei Verstößen gegen die Krypto-Sicherheit der HSM die Möglichkeit besteht, den Applikationsprozessor durch das HSM zu locken. Dies ist dann der Fall, wenn im Bootloading durch den HSM erkannt wird, dass eine manipulierte und nicht mit erlaubten Secrets geschützte Firmware verwendet wurde. Der HSM begibt sich an dieser Stelle in einen finiten Zustand und es kann nicht mehr auf ihn (oder die Software im Applikationsprozessor) zugegriffen werden.

Es ist wichtig, sich im Kontext globaler Risiken auf das Thema Security in Embedded Systems vorzubereiten. Eine Vielzahl von Gründen spricht dafür: erfolgreiche Produkte werden angegriffen werden, offenere Standards und globale Communities beschleunigen diesen Trends. Aber auch insbesondere mit der Notwendigkeit zur Firmware Over The Air oder final Big-Data-Anbindung werden kryptografische Schutzmechanismen unabdingbar und unerlässlich.

Sie möchten mehr darüber wissen?

Fragen kostet nichts. Wie und warum wir die Dinge tun, beantworten wir Ihnen gerne in einem persönlichen Gespräch. Lassen Sie uns dazu gerne kurz persönlich sprechen.