HSM für effiziente Security.

HSM für effiziente Security. (Bild: Vector Informatik)

Security ist kein neues Thema in der Automobilelektronik, aber dennoch kennt noch nicht jeder HSM. Bereits heute prüfen Steuergeräte beim Startvorgang und beim Software-Update die Echtheit der Applikation. Ebenso werden sicherheitsrelevante Diagnosedienste nur nach erfolgreicher Autorisierung freigeschaltet. Mit dem Grad der Vernetzung in der Fahrzeugelektronik wächst jedoch die Anzahl externer Schnittstellen und somit auch die potenzielle Angriffsfläche. Zusätzlich ermöglicht die Vernetzung neue Anwendungsfälle, die bereits in sich sicherheitsrelevant sind. Ein solcher Anwendungsfall ist beispielsweise die automatische Abrechnung im Bereich der Elektromobilität.

Vector HSM lr 04

Bild1: Der Einsatz eines HSMs verfolgt typischerweise drei Ziele. Vector Informatik

Die gestiegene Sensibilität für Sicherheitsbelange hat dazu geführt, dass Halbleiterhersteller ihre Hardware-Unterstützung für Security weiter verbesserten und nun für viele moderne Mikrocontroller ein Hardware Security Module (HSM) verfügbar ist. Der Einsatz eines HSMs verfolgt typischerweise drei Ziele (Bild 1):

  • Leistungssteigerung: Durch den Einsatz spezifischer Beschleuniger verkürzt sich die Dauer einer kryptografischen Berechnung, zum Beispiel einer Verschlüsselung. Dies führt zu kürzeren Wartezeiten und geringerer Auslastung des Hauptprozessors.
  • Partitionierung: Durch das Aufteilen des Speichers entsteht ein Bereich zur Ablage von geheimen Daten, zum Beispiel von Schlüsseln.
  • Flexibilität: Durch die Programmierbarkeit des HSM werden unterschiedliche Anwendungsfälle und Fahrzeughersteller-spezifische Anforderungen abgedeckt.

Aufbau und Funktionsweise eines HSM

Eckdaten

HSMs (Hardware Security Module) müssen bereits heute eine große Bandbreite von Anwendungsfällen abdecken. Es ist jedoch zu erwarten, dass Vielfalt, Umfang und anwendungsspezifische Anteile auch in Zukunft weiter zunehmen werden. Daher sollte die Softwarearchitektur einer zukunftsfähigen HSM-Firm- ware modular und konfigurierbar sein. Hierfür besteht die Möglichkeit, die HSM-Firmware ähnlich der Autosar-Architektur zu konstruieren. So ist es bei entsprechender Auslegung der Firmware auch möglich, das HSM von mehreren Kernen des Hauptprozessors anzusprechen. Diese Art der Kommunikation ermöglicht eine sichere Partitionierung zwischen dem Autosar-System und der HSM-Firmware. Gesucht wird somit eine Lösung, welche die gestellten Anforderungen möglichst effizient und flexibel abbildet.

Ein Hardware Security Module ist ein Subsystem innerhalb eines Mikrocontrollers, vergleichbar mit einem weiteren Rechenkern eines Multicore-Prozessors. Es besitzt in der Regel einen eigenen RAM- und Flash-Speicher, der vor Zugriffen des restlichen Systems geschützt ist. Um die Berechnungszeit kryptografischer Algorithmen zu verkürzen, ist ein HSM zusätzlich mit Hardware-Beschleunigern ausgestattet. Genau wie alle anderen Rechenkerne kann das HSM jedoch beliebige Software ausführen, ist also programmierbar. Diese Software bestimmt letztendlich die Funktionalität des HSM und bildet die Schnittstelle mit dem restlichen System. Sie trägt die Bezeichnung HSM-Firmware.

Um die Vorteile eines HSMs hervorzuheben, müssen drei Ansätze zur Umsetzung von Security-Funktionen verglichen werden (Bild 2):

  • Eine reine Softwarelösung auf dem Hauptprozessor
  • Eine hardwarebeschleunigte Lösung auf dem Hauptprozessor
  • Eine Lösung mit HSM
Bild 2: Verschiedene Ansätze zur Umsetzung von Security-Funktionen mit HSM

Bild 2: Verschiedene Ansätze zur Umsetzung von Security-Funktionen. Vector Informatik

Da die Berechnung von kryptografischen Algorithmen in der Regel aufwendig ist, benötigt eine reine Softwarelösung viel Rechenzeit und ist daher oft nicht die optimale Lösung. Der Einsatz einer hardwarebeschleunigten Berechnung auf dem Hauptprozessor und die beschleunigte Berechnung im HSM erreichen vergleichbare Werte. Das HSM bietet aber den Vorteil einer verbesserten Nebenläufigkeit falls die Berechnung in Software erfolgen muss. Dies kann den Hauptprozessor entlasten.

Bezüglich der Trennung und dem Schutz von geheimen Inhalten bietet das HSM die beste Lösung. Durch die Separierung der Speicher bleiben schützenswerte Inhalte im HSM gekapselt und somit getrennt von der restlichen Applikation. Bei der hardwarebeschleunigten Lösung auf dem Hauptprozessor gilt dies nur für eine begrenzte Anzahl symmetrischer Schlüssel. Bei ausreichend großem Speicher kann das HSM hingegen eine flexible Anzahl von Schlüsseln, Zertifikaten oder anderen Inhalten speichern.

Im Hinblick auf die Flexibilität profitiert das HSM von seiner Programmierbarkeit. Die Hardwareunterstützung auf dem Hauptprozessor hat einen festgelegten Funktionsumfang und kann somit nicht auf wechselnde Anforderungen reagieren. Das gilt natürlich auch für die Hardwareunterstützung auf dem HSM. Durch die zusätzliche Möglichkeit, Anforderungen in der HSM-Firmware abzubilden, ergibt sich jedoch ein entscheidender Flexibilitätsgewinn.

Anwendungsfälle eines HSMs

Wie erwähnt, prüfen einige Steuergeräte die Echtheit der Steuergeräteapplikation zum Startzeitpunkt. Dieses „Secure Boot“ genannte Verfahren verlängert jedoch die Startzeit des Systems. Das Hardware Security Module kann die benötigte Zeit durch Hardwareunterstützung deutlich reduzieren. Es ist sogar möglich, dass das HSM diese Überprüfung nebenläufig zum Systemstart durchführt. Dieser Ablauf erfordert allerdings eine komplexe Interaktion zwischen HSM und Hauptprozessor und muss mit den Anforderungen der Fahrzeughersteller kompatibel sein.

Bild 3: Anbindung eines HSM an ein Autosar-System.

Bild 3: Anbindung eines HSM an ein Autosar-System. Vector Informatik

Ein weiterer Anwendungsfall ist die Nachrichtenauthentifizierung. Hier wird die übertragene Nachricht durch einen Authentifizierungscode (Message Authentifikation Code, MAC) erweitert. Dieser erlaubt es dem Empfänger, die Echtheit der Nachricht zu prüfen. Das Berechnen und Überprüfen dieses Codes erzeugt zusätzlichen Aufwand und erhöht damit die Auslastung der Steuergeräte. Durch den Einsatz von CAN FD ergibt sich ein Lastprofil, bei dem relativ kleine Datenpakete in einer kurzen Abfolge eintreffen. Die beschleunigte Berechnung der MACs erfolgt aufgrund der geringen Datengröße sehr schnell. Allerdings ist durch die hohe Frequenz der zusätzliche Mehraufwand durch die Kommunikation zwischen Hauptprozessor und HSM von besonderer Bedeutung. Bei der Implementierung der HSM-Firmware sollte dies berücksichtigt und soweit wie möglich reduziert werden.

Für Elektrofahrzeuge regelt der Standard ISO 15118 die Kommunikation zwischen Fahrzeug und Ladesäule (Vehicle to Grid). Hierbei kommen anspruchsvolle kryptografische Algorithmen zum Einsatz, insbesondere um automatisierte Abrechnungsvorgänge zwischen Fahrzeugbesitzer und Netzbetreiber zu ermöglichen. Zum Absichern der Kommunikation wird das im Internet weitläufig eingesetzte Transport Layer Security (TLS) Protokoll verwendet. Zusätzlich zu dieser Kommunikationsabsicherung ist ein Ablauf zur sicheren Ablage und Installation von Zertifikaten definiert. Ein HSM kann den Hauptprozessor sowohl beim zeitaufwendigen TLS-Verbindungsaufbau entlasten als auch schützenswerte Inhalte wie private Schlüssel vom restlichen System trennen.

Die genannten Einsatzgebiete verdeutlichen, wie vielfältig die Anforderungen an eine HSM-Firmware bereits heute sind. In naher Zukunft warten jedoch schon weitere Anwendungen wie die mit TLS abgesicherte Diagnosekommunikation über IP (DoIP), ein neuer und durch die ISO standardisierter Zertifikats-basierter Diagnoseservice zur Freischaltung von sicherheitsrelevanten Diagnosediensten oder die Absicherung von Datenverkehr mittels Internet Protocol Security (IPsec).

Anbindung eines HSM in ein Autosar-System

Die Softwarearchitektur eines Autosar-Systems unterscheidet zwischen der Anwendungssoftware und der Basissoftware des Steuergeräts. Die Basissoftware stellt der Anwendungssoftware verschiedene Hintergrunddienste zur Verfügung – beispielweise zur Buskommunikation, Diagnose und Speicherverwaltung sowie kryptografische Dienste für sicherheitsrelevante Funktionen. Die kryptografischen Dienste stellt das Modul Crypto Service Manager (CSM) bereit. Die angebotenen Dienste umfassen beispielsweise symmetrisches und asymmetrisches Verschlüsseln, Berechnen von kryptografischen Checksummen, Generieren und Verifizieren von MACs oder Signaturen sowie das Erzeugen von Zufallszahlen.

Bild 4: Vereinfachte Architektur einer HSM-Firmware.

Bild 4: Vereinfachte Architektur einer HSM-Firmware. Vector Informatik

Zusätzlich bietet der CSM Zugang zu einer Datenbank zum Speichern sicherheitsrelevanter Informationen wie kryptografische Schlüssel, Zertifikate oder Anwendungsdaten. Abhängig von der Konfiguration dürfen einzelne Inhalte gelesen, geschrieben oder unter Verwendung eines kryptografischen Protokolls ausgetauscht werden. Außerdem stehen Operationen zur Ableitung neuer kryptografischer Schlüssel aus bereits gespeicherten geheimen Daten bereit. Damit schützenswerte Inhalte in der Datenbank verbleiben, greifen die angebotenen kryptografischen Dienste direkt auf den Inhalt der Datenbank zu.

Crypto-Treiber (CRYPTO) stellen dabei die kryptografischen Operationen zur Realisierung der Dienste zur Verfügung. Generell wird zwischen Software- und Hardwaretreibern unterschieden. Softwaretreiber (CRYPTO SW) greifen auf eine Softwarebibliothek mit kryptografischen Algorithmen zurück, während Hardware-Treiber dagegen das Einbinden von kryptografischen Hardwarebeschleunigern und letztendlich auch die Anbindung eines HSM in ein Autosar-System ermöglichen. Da der CSM die Treiber über eine Crypto Interface (CRYIF) genannte Zwischenschicht anspricht, können sowohl Software- als auch Hardwarelösungen gleichzeitig betrieben werden.

Die zentrale Aufgabe eines HSM-Crypto-Treibers (CRYPTO HSM) ist das zügige Weiterleiten von Operationsanweisungen an die HSM-Firmware. Der Treiber und die HSM-Firmware kommunizieren über den gemeinsamen Arbeitsspeicher des Mikrocontrollers. Im Speicher lassen sich dafür mehrere Kanäle (HSM Channel) anlegen, über die der Treiber Operationsanweisungen an das Hardware Security Module übergibt (Bild 3). Bei entsprechender Auslegung der Firmware ist es somit auch möglich, das HSM von mehreren Kernen des Hauptprozessors anzusprechen. Diese Art der Kommunikation ermöglicht eine sichere Partitionierung zwischen dem Autosar-System und der HSM-Firmware.

Um die unterschiedlichen Operationen des HSM flexibel zu adressieren, bietet der Treiber verschiedene logische Verarbeitungseinheiten. Diese werden je nach Funktionalität und Konfiguration der HSM-Firmware angelegt, um die Funktionen des HSM bedarfsgerecht zu adressieren.

Softwarearchitektur einer flexiblen HSM-Firmware

Um die vielfältigen Anwendungsfälle realisieren zu können, muss die Softwarearchitektur einer HSM-Firmware modular und konfigurierbar sein. Hierfür kann man die HSM-Firmware ähnlich der Autosar-Architektur konstruieren. Dies hat folgende Vorteile:

  • Das HSM nutzt die Autosar-Idee der Crypto-Treiber als kryptografische Erweiterungsmodule.
  • Wiederverwendung von Autosar-Modulen zur Speicherverwaltung
  • Das Konfigurieren der HSM-Firmware erfolgte mit bekannten Autosar-Werkzeugen.
HSM für effiziente Security.

HSM für effiziente Security. Vector Informatik

Ein Crypto-Treiber ist eine modulare Verarbeitungseinheit mit nach Autosar standardisierter Schnittstelle. Eine Verteilerkomponente (Job Dispatcher) nimmt die anstehenden Aufgaben entgegen und verteilt diese, analog zu Autosar, über eine Zwischenschicht (CRYIF) an die betreffenden Treiber im HSM (Bild 4). Die Verarbeitungseinheiten im HSM lassen sich in die drei Klassen Hardware, Software und Sonderfunktionen klassifizieren. Die erste Klasse beinhaltet alle hardware-beschleunigten Operationen. Dies sind in der Regel AES- und MAC-Berechnungen, sowie die Generierung von Zufallszahlen. Die zweite Klasse besteht aus den in Software realisierten Algorithmen, wie etwa das asymmetrische kryptografische Verfahren RSA oder Operationen auf Elliptischen Kurven. Die dritte Klasse – die Sonderfunktionen – umfasst anwendungsspezifische Operationen. Diese erlauben die Realisierung von OEM- oder steuergerätespezifischen Anforderungen. Dieser Aufbau garantiert ein hohes Maß an Portierbarkeit der HSM-Firmware, da hardwarespezifische Module gekapselt sind. Durch die Einbindung von Softwarebibliotheken besteht die Möglichkeit, die HSM-Firmware flexibel um weitere kryptografische Operationen zu ergänzen.

Die Speicherverwaltung des HSM muss ebenfalls flexibel sein. So sollen für die Nachrichtenauthentifizierung typischerweise kleine aber viele symmetrische Schlüssel im HSM abgelegt werden. Für die geschützte Kommunikation mittels TLS zur Ladesäule oder dem Diagnosetester bedarf es jedoch nur einiger weniger, allerdings größerer Zertifikate. Die Datenbank – Secure Storage genannt – nutzt existierende Basissoftwaremodule zur Speicherverwaltung, um Inhalte sicher im nichtflüchtigen Speicher des HSM abzulegen. Dies beinhaltet die Möglichkeit zur redundanten Datenablage und zur Partitionierung des Speichers.

Die bereitstehenden Rechen- und Speicherressourcen der jeweiligen HSM-Hardware sind begrenzt. Um sämtliche Anwendungsfälle mit den vorhandenen Ressourcen umsetzen zu können, muss die HSM-Firmware auf die Anwendungsfälle zugeschnitten werden. Im einfachsten Fall bedeutet das, kryptografische Algorithmen während der Konfiguration zu aktivieren oder zu deaktivieren. Zusätzlich muss das Speicherlayout der Datenbank optimiert werden. Um diese Einstellungen nutzerfreundlich vorzunehmen, wird auf existierende Konfigurationswerkzeuge für Autosar-Systeme zurückgegriffen.

Ausblick

Hardware Security Module müssen bereits heute eine große Bandbreite von Anwendungsfällen abdecken. Es ist jedoch zu erwarten, dass Vielfalt, Umfang und anwendungsspezifische Anteile weiter zunehmen. Aus diesem Grund muss eine zukunftsfähige HSM-Firmware flexibel und konfigurierbar sein. Zusätzlich ist zu erwarten, dass Steuergeräte- oder OEM-spezifische Anwendungen vermehrt auf das HSM ausgelagert werden, sobald diese Anwendungen mit geheimen Inhalten arbeiten, oder vom restlichen System geschützt ausgeführt werden müssen. Gesucht wird somit eine Lösung, welche die gestellten Anforderungen möglichst effizient und flexibel abbildet. Das betrifft sowohl die HSM-Firmware, als auch die Anbindung des HSMs an die Anwendung. Die Microsar-Classic-veHsm-Lösung von Vector bietet beides und ist an die Autosar-Struktur angelehnt. Dies vereinfacht die Integration und Konfiguration der Software.

Dr. Bastian Zimmer

Leiter des Solution-Management-Teams in der Embedded-Software-Abteilung der Vector Informatik GmbH.

Max-Ferdinand Suffel, M. Sc.

Max-Ferdinand Suffel, M. Sc.
Softwareentwickler im Solution-Management-Team in der Embedded-Software-Abteilung der bei der Vector Informatik GmbH.

(av)

Sie möchten gerne weiterlesen?

Unternehmen

Vector Informatik GmbH

Ingersheimer Str. 24
70499 Stuttgart
Germany