Cyber-Security sicherstellen Authentische CAN-Kommunikation

Die PKW-Schnittstellen und Bordkommunikation in die Cyber-Sicherheit eingebunden.
Die PKW-Schnittstellen und Bordkommunikation in die Cyber-Sicherheit eingebunden.

Cyber-Sicherheit wird in der Autoindustrie immer wichtiger. Dabei müssen nicht nur die Pkw-Schnittstellen zur externen Welt gegen potenzielle Angriffe geschützt werden, sondern auch die Bordkommunikation im Fahrzeug gegen Angreifer, die versuchen, nicht autorisierte CAN-Mitteilungen zu versenden.

Als das derzeitige Controller Area Network (CAN) in den 1980er-Jahren konzipiert wurde, spielten Überlegungen in Hinsicht auf Security noch keine Rolle. Doch nun müssen zusätzliche Maßnahmen ergriffen werden, um die wichtigsten Eigenschaften einer sicheren CAN-Kommunikation wie Datenintegrität, Authentizität und Datenaktualität (Freshness) zu gewährleisten. Weil immer mehr Fahrzeuge mit der Cloud verbunden sind, erhöht sich das Risiko für sicherheitskritische Systeme signifikant. Steuergeräte für die CAN-Kommunikation müssen grundsätzlich zwei Bedrohungen abwehren können: Einmal geht es um Hardware-Manipula¬tionen im CAN-Netzwerk oder andere Betrugsversuche, bei denen eine schädliche Hardware-Komponente Teil des Netzwerks werden kann. Die zweite Bedrohung sind Cyberangriffe. Hierbei könnte sich ein Angreifer Netzwerkzugriff zu einem Fahrzeug verschaffen, um beispielsweise Nachrichten über den CAN-Bus zu senden oder zu manipulieren.

 

In Bezug auf Sicherheitsbedrohungen sind folgende CAN-Busmerkmale anfällig:

  • Fehlende Geräteauthentifizierung: Es gibt keine Authentifizierungsfunktion für manipulierte Geräte, die sich in das Netzwerk einklinken oder Nachrichten mit falschem Absender versenden.
  • Fehlende Segmentierung: An bestimmten CAN-Bus-Knoten können alle Steuergeräte (ECUs) intern an einem Punkt mit einer gemeinsamen Gateway-ECU kontaktiert sein. Das heißt, dass weniger kritische Schnittstellen, z.B. die Borddiagnose-Schnittstelle (OBD-II), eine Verbindung zur direkten Kommunikation mit hochkritischen Komponenten wie der Bremseinheit erhalten. Auf diese Weise könnten Hacker die Kontrolle über weniger kritische Teile übernehmen und sich dadurch Zugang zu kritischeren Komponenten verschaffen.
  • Broadcasting: Ein Hacker kann die Kommunikation abhören und zusätzliche Pakete versenden, damit die empfangende ECU die gewünschten Aktionen ausführt, oder das Netzwerk so überlasten, dass keine normalen CAN-Pakete mehr innerhalb der definierten Latenzzeit zugestellt werden können. Mit Replay- oder Playback-Attacken werden gültige Datenübertragungen in böswilliger oder betrügerischer Absicht wiederholt oder verzögert.

Bisher hat man sich zumeist auf drei Aspekte der sicheren CAN- Kommunikation konzentriert: die Authentifizierung der Quelle, die Integrität der Nachrichten und die Geheimhaltung von Informationen durch Verschlüsselung der relevanten Informationsteile. Integrität und Authentizität werden durch relativ einfache Algorithmen, wie Cipher-based Message Authentication Code (CMAC) erreicht, wobei ein geheim gehaltener symmetrischer Schlüssel für Sender und Empfänger einer Nachricht erzeugt wird. Die Geheimhaltung lässt sich durch einen symmetrischen Verschlüsselungsalgorithmus wie den 128 Bit Advanced Encryption Standard (AES128) erreichen. Diese zusätzlichen Security-Maßnahmen können entweder Software- oder Hardware-basiert sein. Bei Software-Lösungen wird ein dedizierter CMAC oder ein AES128-Treibermodul als Teil einer Standardverschlüsselungsbibliothek implementiert, während bei der Hardware-Lösung ein spezielles Hardware-Sicherheitsmodul (Hardware Security Module, HSM) in einen Mikrocontroller eingebettet wird und als konfigurierbares Verschlüsselungsmodul für sicherheitsrelevante Aufgaben verwendet werden kann.

Replay-Attacken können die Authentizität des Empfängers gefährden. Daher muss auch die vierte Komponente zur Absicherung der CAN-Kommunikation, die Datenaktualität, zur Abwehr von Replay-Attacken genutzt werden. Dies lässt sich jedoch nur mit höherem Aufwand sicherstellen.

Sichere CAN-Kommunikation

In AUTOSAR Release 4.2.2 wird ein dediziertes Sicherheitsmodul für die Kommunikation (SecOC, Secure on-board Communication) vorgeschlagen, damit ein AUTOSAR-BSW-Modul Daten an zwei oder mehr Einheiten sicher senden kann, die Informationen über ein eingebettetes Automobilnetzwerk austauschen. Eine Funktionsübersicht des SecOC-Moduls, das sowohl die Authentifizierung der Nachricht als auch die Freshness-Verifizierung übernimmt, zeigt Bild 1.

Im Rahmen des SecOC-Modulkonzepts können die Authentizität des CAN-Knotens und die CAN-Datenintegrität als Teil der Anforderungen an eine sichere Bordkommunikation auf folgende Weise gesichert werden: Der Sender (Transmitter) der CAN-Mitteilungen erzeugt einen Message Authentication Code (MAC) und fügt einen Teil dessen vor der Übertragung in die CAN-Übertragung ein. Der Empfänger dieser Mitteilungen muss den MAC-Anteil erfolgreich verifiziert haben, bevor er die empfangenen Daten zur weiteren Verarbeitung akzeptiert. Alle nicht autorisierten Mitteilungen können dann separat verarbeitet oder sofort verworfen werden. MACs werden mit einem geheimen symmetrischen Schlüssel erzeugt, der zwischen Sender und Empfänger einer Nachricht geteilt wird. Durch den geheimen symmetrischen Schlüssel können nur ECUs einen gültigen MAC erzeugen, die diesen symmetrischen Schlüssel kennen.

Zur Verarbeitung des MAC-Algorithmus ist in dem HSM des Mikrocontrollers, beispielsweise in der Infineon-Aurix-Produktfamilie, ein AES 128-HW-Accelerator integriert. Bei der Fahrzeugproduktion werden zum Beispiel fahrzeugspezifische 128-bit-AES-Schlüssel für die sichere CAN-Kommunikation generiert und in die entsprechenden Steuergeräte eingespielt. Dieser Schlüsselsatz wird vom Automobilhersteller im Backend aufbewahrt und kann dann gegebenenfalls später beim Steuer¬gerätetausch durch Reparatur in der Werkstatt auf einen sicherem Weg wieder eingespielt werden.

Ein alternative Software-basierter MAC benötigt dagegen eine erhebliche Rechenleistung, die zu einer Verzögerung bei zeitkritischen Automobilanwendungen führen kann. Die HSM-Nutzung hat darüber hinaus gegenüber einer reinen Software-Implementierung noch den großen Vorteil einer sicheren (lebenslangen) Schlüsselspeicherung in einem dedizierten DFLASH-Speicher des HSM. Replay- und Delay-Attacken können mit dem erwähnten Prozess jedoch nicht vollständig ausgeschlossen werden. Daher müssen einige Zusatzmaßnahmen ergriffen werden, um die Aktualität der CAN-Mitteilung zu gewährleisten und sicherzustellen, dass keine MAC-Werte doppelt vorhanden sind. Wie in Bild 1 dargestellt, schlägt das AUTOSAR SecOC-Modul die Verwendung eines „monotonen Zählers“ zur Erzeugung eines Zählerwerts (CNT) vor, um die Aktualität der gesendeten Nachricht im Empfänger beurteilen zu können und so Replay-Attacken sicher ausschließen zu können.

In der Automobilindustrie werden zwei grundlegend unterschiedliche Konzepte für die Implementierung des „monotonen Zählers“ diskutiert: Zeitstempel oder Frame-Zähler. Im folgenden Abschnitt werden diese Konzepte näher erläutert

Zeitstempel-Konzept

In jeder ECU wird der Zeitstempel durch einen eigenen lokalen Timer erhöht. Dieser Timer zählt nur aufwärts. Sender und Empfänger prüfen jeweils mit individuellen Zeitstempeln die Aktualität.

Ein Sender kann mit einer kryptografischen Prüfsumme eine sichere Nachricht erzeugen. Diese besteht aus der eigentlichen Nachricht, dem Zeitstempel des Senders und einem vorher geladenen symmetrischen geheimen Schlüssel. Das Frame-Format einer sicheren CAN-Frame-Nachricht auf der Senderseite (Bild 2) besteht demnach aus der eigentlichen Mitteilung für einen Standard-CAN-Frame, dem verkürzten Zeitstempel (Truncated Time Stamp, TTS) als Teil des 64-Bit-Zeitstempels und dem verkürzten Authentifizierungscode (Truncated Message Authentication Code, TMAC) als Teil des 128-Bit-CMAC.

Bei dem empfangenen TTS-Zeitstempel prüft der Empfänger (Bild 2) die Aktualität der Nachricht durch Vergleich der Unterschiede zwischen dem TTS der empfangenen Sendermitteilung und dem lokalen Zeitstempel (Delta-Prüfung). Wenn der Delta-Wert kleiner ist als der Wert für das zulässige Replay-Fenster, wird die Aktualität der empfangenen Daten akzeptiert. Ansonsten wird die empfangene Nachricht als Replay-Attacke betrachtet.

Neben der Aktualitätsprüfung muss der Empfänger außerdem die Daten-Authentizität durch Vergleich des berechneten MAC mit dem vom Sender empfangenen TMAC prüfen. Wenn beide Werte übereinstimmen, gilt der Empfänger als vertrauenswürdig.

Die größte Herausforderung beim Zeitstempel-Konzept im CAN-Netzwerk ist die Synchronisation der Delta-Werte bei der ECU-Clock-Generierung. Daher sollten Abweichungen der Taktgeber-Oszillatoren auf Sender- und Empfängerseite möglichst klein sein. Es wird ein dedizierter Synchronisations-Mechanismus benötigt, der innerhalb eines definierten Zeitraums (Wiederhol-Intervall) die geringfügigen Clock-Abweichungen (Jitter) korrigieren kann. In den Netzwerkprotokollen für die Automobilindustrie mit gemeinsamer Zeitbasis, beispielsweise TTCAN, Flexray oder Automotive Ethernet, sind solche Mechanismen zur Synchronisation der Master-System-Clock bereits auf Protokollebene definiert – beim Standard-CAN-Protokoll derzeit leider nicht.