aufmacherbild_ae_picture_ip_modules_rgb_20160224_klein

Plug-and-Secure bringt Datensicherheit in CAN-Netzwerke. (Bild: Bosch)

Hochautomatisierte vernetzte Automobile sind vermehrt Ziele von Remote-Angriffen. Daher gilt es, auch den CAN-Bus in punkto Security zu schützen. Den Angriffen von außen kommt eine besondere Bedeutung zu, da sie skalieren und nur schwer zurückzuverfolgen sind. Bei Remote-Angriffen bleibt die Hardwareintegrität des Netzwerks unverändert, während die Software manipuliert wird. Besonders die Kommunikation von Steuergeräten muss daher abgesichert werden, da im schlimmsten Fall ein Angreifer von außen gleichzeitig die Kontrolle über viele Fahrzeuge übernehmen und damit eine gesamte Infrastruktur lahmlegen könnte.

Abbildung_1_CAN-Bus

Bild 1: Anordnung zur Erzeugung eines symmetrischen Schlüsselpaars über den CAN-Bus zwischen Alice und Bob in Gegenwart der Angreiferin Eve. Bosch

 

Herausforderungen bei CAN-Netzwerken

Da es sich bei CAN-Netzwerken typischerweise um Embedded-Systeme handelt, die über begrenzte Rechen-, Speicher- und Bandbreitenressourcen verfügen, ist deren Absicherung schwieriger als bei klassischen IT-Systemen. Asymmetrische Ansätze wie zum Beispiel der Diffie-Hellman-Schlüsselaustausch erfordern eine hohe Rechenleistung. Daher ist die Einbringung von Schlüsseln in einer sicheren Umgebung, wie beispielweise während der Produktion des Fahrzeugs, mit hohem Aufwand verbunden. Der neue Ansatz von Bosch gestaltet die Erzeugung und Auffrischung kryptographischer Schlüssel in CAN-Netzwerken effizienter und flexibler.

Schlüssel-Etablierung durch überlagerte Kommunikation

Bild 1 zeigt ein einfaches, einem Angriff ausgesetztes CAN-Netzwerk. Alice und Bob sind zwei legitime, also unveränderte, CAN-Knoten, während die Software von Eve durch einen Angreifer manipuliert wurde. Der Einfachheit halber wird angenommen, dass alle Knoten am gleichen CAN-Bus angeschlossen sind und über ihre Hardware miteinander kommunizieren. Die Herausforderung besteht nun darin, wie Alice und Bob einen symmetrischen kryptographischen Schlüssel erzeugen können, ohne dass Eve davon erfährt.

Die Idee des Verfahrens „Plug-and-Secure Communication for CAN“ (im Folgenden meist „Plug-and-Secure“ genannt) beruht auf der zeitgleichen Übertragung von CAN-Botschaften durch Alice und Bob. Die Botschaften überlagen sich auf dem CAN-Bus derart, dass für Eve nur die überlagerte Botschaft sichtbar ist. Eve ist jedoch nicht in der Lage, daraus die von Alice und Bob gesendeten Einzelbotschaften abzuleiten. Alice und Bob hingegen wissen, was sie selbst gesendet haben und können die Botschaft des jeweils anderen Knotens entschlüsseln. Damit haben Alice und Bob ein gemeinsames Geheimnis, aus dem sie ein symmetrisches Schlüsselpaar ableiten können, welches Eve unbekannt ist.

Aber wie funktioniert das Verfahren eigentlich?

Das Verfahren Bit für Bit

Abbildung_2_Grafik

Bild 2: Verfahren zur Schlüsselerzeugung mittels Plug and Secure Communication for CAN. Bosch

 Eckdaten

Plug-and-Secure Communication for CAN schützt die Kommunikation in CAN-Netzwerken vor Remote-Angriffen. Das Verfahren ermöglicht es, zwei CAN-Knoten durch Überlagerung ihrer Signale einen Sicherheitsschlüssel zu erzeugen, ohne dass eine Schadsoftware diesen entschlüsseln oder beeinflussen kann. Dadurch ist das Sicherungsverfahren auch nicht durch aufkommende leistungsfähigere Rechentechnik angreifbar. Das entsprechende Hardware-Modul lässt sich entweder direkt in einen Mikrocontroller oder in einen CAN-Transciever integrieren.

Die Grundidee der Generierung des Schlüssels erläutert Bild 2. Alice und Bob erzeugen unabhängig voneinander eine zufällige Bitfolge einer bestimmten Länge. Anschließend erweitern sie diese Bitfolge, indem nach jedem Bit das jeweils dazu inverse Bit eingefügt wird. Danach erfolgt die zeitgleiche Übertragung der erweiterten Zufallsfolgen im Payload-Feld einer CAN-Nachricht, wobei es zur Überlagerung der Bitfolgen kommt. Aufgrund der Beschaltung von CAN-Transceivern entspricht dies auf logischer Ebene einer UND-Funktion.

Alice und Bob müssen nun die Bitfolge richtig interpretieren. Dies geschieht immer paarweise, wobei jedes Tupel einem Bit in der ursprünglichen Zufallsfolge aus Schritt 1 zugeordnet wird. Enthält ein Tupel eine 1, haben Alice und Bob das gleiche Tupel übertragen. Da aufgrund der UND-Verknüpfung auf dem CAN-Bus auch Eve diesen Schluss ziehen kann, wird das zugehörige Bit in SAlice beziehungsweise SBob verworfen (Schritt 4).

Haben Alice und Bob unterschiedliche Tupel übertragen, erscheint eine „00“ auf dem CAN-Bus. Eve kann in diesem Fall nicht wissen, welcher der beiden Knoten welches Bit gesendet hat. Alice und Bob hingegen wissen, was sie gesendet haben und können schlussfolgern, dass der andere Knoten das inverse Bit gesendet haben muss. Die diesen Tupeln zugeordneten Bits werden daher beibehalten, und Alice und Bob erhalten dadurch zwei verkürzte, zueinander inverse Bitsequenzen. Damit haben beide Knoten ein gemeinsames Geheimnis generiert, aus dem sich bei Einbettung in einen geeigneten Protokollablauf symmetrische Schlüssel beliebiger Länge ableiten lassen. Für den Einsatz in Systemen wie dem von Bosch entwickelten Gesamtkonzept, sind neben dem geschilderten Grundverfahren noch weitere Konzepte und Mechanismen notwendig, um den Anforderungen im Automotive-Umfeld gerecht zu werden.

Keine Störung der Standard-CAN-Kommunikation

Durch die zeitgleiche Übertragung von CAN-Botschaften durch Alice und Bob im Payload-Teil ergeben sich praktische Herausforderungen, zum Beispiel hinsichtlich einer gegebenenfalls notwendigen Einführung von Bitstopfen bei der Übertragung von mehr als fünf gleichen Bits in Folge oder der Korrektheit der zyklischen Prüfsumme (CRC) für die überlagerte CAN-Botschaft. Dies liegt daran, dass die Überlagerung von korrekten Einzelbotschaften im Allgemeinen nicht zu einer korrekten überlagerten CAN-Botschaft führt. Eine Lösung stellt die dynamische Ermittlung von CRC und Bitstopfen basierend auf der effektiven Bitsequenz auf dem CAN-Bus anstatt auf Grundlage der jeweiligen Sendesequenzen dar. Damit entsteht eine Rückwärtskompatibilität, sodass Steuergeräte, die das Verfahren nicht unterstützen, keine Probleme verursachen. Das Verfahren lässt sich unkompliziert in den normalen CAN-Verkehr einbinden, sodass Nachrichten mit hoher Priorität nicht gestört werden.

Das Verfahren besitzt eine geringe Komplexität, da Alice und Bob zur Erzeugung kryptographischer Schlüssel lediglich CAN-Botschaften übertragen, empfangen und interpretieren müssen. Für die Erzeugung eines 128-Bit-Schlüssels sind zum Beispiel nur wenige Botschaften zwischen zwei Knoten notwendig. Das Verfahren ist universell einsetzbar und auch geeignet, um Schlüssel nach Bedarf aufzufrischen. Dazu müssen Alice und Bob nur einige neue, geheime Bits erzeugen und diese mit dem alten Schlüssel kombinieren.

Und wie sicher ist das Verfahren, wie flexibel lässt es sich implementieren?

Wie sicher ist das Verfahren?

Abbildung_4_Grafik_Implementierungsoptionen

Bild 3: Implementierungsoptionen für das PnS for CAN-Modul direkt in einen Mikrocontroller oder in den CAN-Transciever. Bosch

Beim betrachteten  Angreifermodell ist Eve nicht in der Lage, die von Alice und Bob erzeugten Schlüssel zu bestimmen oder zu beeinflussen. Eve kann lediglich die Schlüssel-Etablierung durch einen „Denial-of-Service“-Angriff unterbinden, wogegen ein CAN-Netzwerk generell nicht geschützt werden kann. Die Sicherheit von Plug-and-Secure beruht im Vergleich zu alternativen Sicherungsverfahren nicht auf der schweren Lösbarkeit mathematischer Probleme, sondern auf der Schwierigkeit, aus der Überlagerung zweier Signale auf die Einzelsignale zu schließen. Damit ist das Verfahren auch nicht mit dem Aufkommen leistungsfähigerer Rechentechnik angreifbar. Hat der Angreifer jedoch physikalischen Zugang zum CAN-Bus, stehen ihm sowohl die logischen Bitsequenzen als auch die detaillierten physikalischen Signale zur Verfügung. Diese Angriffe lassen sich durch gezielte Beeinflussung des physikalischen Signalverhaltens erschweren. Generell lässt sich Plug-and-Secure beispielsweise mit Ansätzen wie dem Diffie-Hellman-Schlüsselaustausch kombinieren, womit sich die Sicherheit insgesamt erhöht.

Flexible Implementierung

bild_4_photo_demonstrator_klein

Bild 4: Aufbau zur praktischen Demonstration des Verfahrens zur Schlüsselbildung über den CAN-Bus. Bosch

Zur Realisierung des Verfahrens lässt sich ein entsprechendes Hardware-Modul entweder direkt in einen Mikrocontroller oder in einen CAN-Transceiver integrieren. Bild 3 erläutert beide Varianten der Implementierung. In beiden Fällen ist das Hardware-Modul für die zeitgleiche Übertragung der CAN-Botschaften sowie die Low-Level-Signalverarbeitung zur Sicherstellung der Rückwärtskompatibilität mit Standard-CAN verantwortlich. Zusätzlich wird eine geeignete Software-Komponente für die höheren Protokollmechanismen benötigt, die beispielsweise auf einem Hardware Security Modul (HSM) oder der CPU ausgeführt werden kann.

Das PnS-for-CAN-Modul kommt mit weniger als 10.000 Gattern aus. Vorteil der Realisierungsvariante im CAN-Transceiver ist die Nachrüstbarkeit von Steuergeräten, allerdings zu etwas höheren Kosten als bei der direkten Integration in einen Mikrocontroller. In beiden Fällen ist die Kombination mit beliebigen CAN-Controllern möglich. In Bild 4 zeigt den  Demonstratoraufbau des Verfahrens. Für die Generation eines 128-Bit-Schlüssels müssen durchschnittlich acht Classical-CAN-Botschaften mit 8-Byte-Datenfeld oder eine CAN-FD-Botschaft mit 64-Byte-Datenfeld ausgetauscht werden.

Dr.-Ing. Andreas Müller

(Bild: Bosch)
Projektleiter für Connectivity-Themen im Zentralbereich Forschung und Vorausentwicklung bei Bosch.

Timo Lothspeich

(Bild: Bosch)
Koordinator für Product Security Themen im Geschäftsbereich Automotive Electronics bei Bosch.

René Guillaume

(Bild: Bosch)
Forschungsingenieur für Connectivity-Themen im Bereich Forschung und Vorausentwicklung bei Bosch.

Dr.-Ing. Arthur Mutter

(Bild: Bosch)
Mitarbeiter im IP-Modul Design-Teams im Bereich Automotive Electronics bei Bosch.

(na)

Sie möchten gerne weiterlesen?