Die Aktualisierung von Software und Firmware mittels Over-the-Air (OTA) hat in den Bereichen Handheld-Geräte, Industrie und Automotive für die Embedded-Plattform mit der Zeit zugenommen. Sobald sich das Produkt in der realen Welt befindet, ist ein Firmware- oder Software-Update im Zusammenhang mit Fehlerbehebungen, Sicherheitskorrekturen oder Funktionsaktualisierungen erforderlich, um das Gerät zu verbessern und es mit der neuesten Software auf dem neuesten Stand zu halten.

OTA ist eine Technologie zur Fernaktualisierung der Software oder Firmware.

Im Falle eines Fahrzeugs wird die Firmware oder Software drahtlos mit Hilfe eines Telekommunikationsgeräts über ein Gateway im Auto auf die ECU aktualisiert, die in modernen Fahrzeugen immer häufiger anzutreffen ist.

Was ist der Bedarf an OTA (Over-the-Air Update) für das Fahrzeug?

In der Automobilindustrie ist das Fahrzeug immer intelligenter und intelligenter geworden. Gegenwärtig werden die Fahrzeuge größtenteils durch Software und nicht durch traditionelle mechanische Komponenten gesteuert. Wenn vor einem Jahrzehnt die Software aktualisiert werden musste, wurde das Fahrzeug in die Werkstatt gebracht und an das System/den Computer angeschlossen, um es zu aktualisieren. OTA löst erstens das Problem der Zuverlässigkeit jeder Aktualisierung, das früher bestand, und zweitens die Abhängigkeit von der Servicestation, die das Fahrzeug zur Station transportieren muss, die Kosten für die Softwareaktualisierung sind sehr gering und stellen für den Kunden und die Servicestation keine große Belastung dar. Nicht zuletzt ist die rechtzeitige Sicherheitsaktualisierung für jedes Fahrzeug wichtig und wird in aller Ruhe durchgeführt. Der Ansatz der OTA-Aktualisierung für Mobiltelefone und Fahrzeuge ist unterschiedlich, die OTA-Aktualisierung für Fahrzeuge ist komplexer und strenger als die für Handheld-Geräte, und eine unsachgemäße Softwareaktualisierung kann auch dem Leben des Benutzers Schaden zufügen. Elektronische Steuergeräte (ECUs) sind heute die Hauptkomponente im Fahrzeug, ECU hat alle mechanischen Steuerungskomponenten ersetzt. Im Allgemeinen sind ECUs durch ein oder mehrere Netzwerke miteinander verbunden und tauschen Informationen aus, die komplexe Interaktionen und Regelungen ermöglichen. Bei fortschrittlichen Fahrerassistenzsystemen (Advanced Driver Assistance Systems, ADAS) beispielsweise geht der zunehmende Funktionsumfang mit einer höheren Systemkomplexität einher, was das Auftreten von Softwarefehlern wahrscheinlicher macht, die Auswirkungen auf die Sicherheit des gesamten Fahrzeugs haben können. Mit regelmäßigen Software-Updates und -Erweiterungen kann man die Korrektheit, Effizienz und Zuverlässigkeit der Systeme über die gesamte Lebensdauer des Fahrzeugs sicherstellen. In diesem Blog wird hauptsächlich die End-to-End-Lösung beschrieben, die zur Unterstützung von OTA-Software-Updates im Automobilsektor eingesetzt werden kann. Im vorangegangenen Abschnitt haben wir über OTA gesprochen und festgestellt, dass OTA-Updates im Automobilsektor große Herausforderungen in Bezug auf die Sicherheit bei der Aktualisierung der Software über die Luft darstellen. Wenn die Angreifer die Kontrolle über das Fahrzeug erlangen, könnte man in eine Gefahrensituation geraten.

  • Das Motorgetriebe kann ein-/ausgeschaltet werden
  • Passagiere oder Fahrer können im Auto eingesperrt werden
  • Dauerhupen
  • Steuern des Lenksystems
  • Bremssystems
  • Beschleunigen des Autos außerhalb der Straßenverkehrsordnung.
  • Steuerung des Navigations-, Audio- oder Infotainmentsystems
  • Falscher Alarm im Cockpit

Schauen wir uns an, wie das OTA-Update im Fahrzeug abläuft. Überblick: Die OTA-Remote-Update-Methode der Fahrzeuge ist schnell und kostengünstig und ermöglicht die Aktualisierung der Software, die auf den Steuergeräten läuft, über die Luft, und die Fahrzeugnutzer können die Software überall aktualisieren, ohne zum Service-Center oder zur Werkstatt gehen zu müssen. Darüber hinaus kann der OEM das Fahrzeug auf der Grundlage der Daten diagnostizieren, die er per Over-the-Air vom Fahrzeug erhält

Abbildung 1: Allgemeiner Überblick über das OTA-Update

Sicheres OTA im Automobilsystem: Das sichere OTA-Update ist der wichtigste Faktor beim Aktualisieren der Firmware oder Software für das Steuergerät. Es gibt eine Menge Herausforderungen, um ein sicheres OTA-Update zu erreichen. Es gibt viele Techniken, die in der Industrie vorgeschlagen und implementiert wurden, um sichere OTA-Updates zu erreichen. Wir werden einige von ihnen besprechen und die in der Automobilindustrie am häufigsten verwendete Technik erklären. Unterteilen wir die gesamte Ende-zu-Ende-Architektur in drei Komponenten und was ihr Zweck ist. Backend-Server

  • Erstellen der aktualisierten Images/Sammeln der Images von den verschiedenen Tier-1
  • Bereitstellen der Firmware- und Software-Update-Images zum Flashen auf das Gerät
  • Es muss möglicherweise eine Client-Server-Architektur unterstützt werden, wenn das Hauptgerät das Update anfordert.

Kommunikationskanal

  • Stellen Sie einen sicheren Mechanismus bereit
  • Stellen Sie ein sicheres Netzwerk zur Verfügung, damit das Bild oder die Daten nicht manipuliert werden.

Head Unit

  • Möglicherweise muss die Softwareaktualisierung (Client) ausgelöst werden
  • Stellen Sie sicher, dass die richtigen Bilder installiert sind
  • Weniger Ausfallzeit bei der Aktualisierung der Bilder
  • Rollback im Falle eines Fehlers

Backend Server: Der Backend-Server ist hauptsächlich für die Erstellung der Firmware- und Software-Images verantwortlich, die in den Fahrzeugen eingesetzt werden müssen. Der Backend-Server versucht, die Images, die von den verschiedenen Tier-1-Lieferanten bereitgestellt werden müssen, zu sammeln und sie in ein einziges Image für alle Steuergeräte zu packen. Dieser Backend-Server kann auf dem Yocto-basierten System (Open Source) oder der Support-Architektur eines Drittanbieters basieren. Kommunikationskanal: Der schwierigste Teil der Komponente besteht darin, dass die Daten/Bilder dem n/w ausgesetzt sind und für Angreifer leicht zu manipulieren sind. Es gibt viele Techniken, Open-Source- und Drittanbieter-Lösungen für die sichere Aktualisierung der Haupteinheit Die am häufigsten verwendete ist Uptane. Uptane ist der erste umfassende Sicherheitsrahmen, der die Implementierung von OTA-Aktualisierungssystemen auf Design-Ebene leitet. Haupteinheit (Fahrzeuge selbst): Haupteinheiten bestehen aus vielen Steuergeräten, vielleicht einige mit hoher oder niedriger Geschwindigkeit, und auch verschiedene Arten von Steuergeräten, TCU (Telematik-Steuergerät), Gateways, jede Komponente spielt eine Rolle bei der OTA-Aktualisierung. Die Haupteinheit muss auch sicherstellen, dass sie bereit ist, sich mit dem Backend zu verbinden, um aktualisierte Firmware und Software zu erhalten. Oder es hat selbst die Fähigkeit, eine Aktualisierung anzufordern. OTA-Update mit Uptane Das Update Framework (TUF) wurde entwickelt, um ein Sicherheitssystem zu schaffen, das Benutzer von Software-Repositories vor Sicherheitsangriffen schützt. Es wurde unter Berücksichtigung der Tatsache entwickelt, dass der Backend-Server möglicherweise nicht sicher ist oder der für die Kryptografie verwendete Schlüssel gestohlen werden kann. Es schafft also ein verteiltes System, bei dem keine Abhängigkeit von einem bestimmten System besteht, und im Falle eines Angreifers können alle Systeme nicht so einfach gleichzeitig gehackt werden. Das Update Framework (TUF) hat die Rollen in vier Teile aufgeteilt (Root of trust, Timestamps, Snapshot, Targets) Uptane baut auf dem Update Framework (TUF) auf, das verteilt ist (Timeserver, Verzeichnis und Image-Repository, Manifeste, primäre/sekundäre ECUs, vollständige und teilweise Verifikation.

Abbildung 2: Überblick über den Uptane

Backend Server: Er enthält die Images (die Daten, die auf dem Steuergerät aktualisiert werden müssen) mit Metadaten (kryptographische Hashes, Dateigröße) Image Repository: Das Image Repository verwendet einen Offline-Schlüssel, um die Metadaten für alle verfügbaren Updates für das Steuergerät zu signieren. Regelmäßige (z.B. wöchentliche, monatliche) Aktualisierung der Metadaten über verfügbare ImagesVerwendung von Uptane-Befehlszeilen-Tools zur Generierung der MetadatenVerwendung von Offline-Schlüsseln (z.B. Yubikey, HSM usw., die häufig verwendet werden) zum Signieren von Metadaten

Abbildung 3: Image Repository

Directory Repository: Das Verzeichnis-Repository verwendet den Online-Schlüssel, um Metadaten zu signieren, die für die Installation im Steuergerät des Fahrzeugs verwendet werden. Es bestimmt, welche Bilder in welche Steuergeräte installiert werden müssen, erstellt unterschiedliche Metadaten für die verschiedenen Fahrzeuge und greift auf die Bestandsdaten zu, um Details über das Fahrzeug zu erhalten. Typischerweise verwendet, um ein Fahrzeug anzuweisen, welche Updates zu installieren sind, je nachdem, was es hat

  • Kann verwendet werden, um Updates sofort auf eine schwarze Liste zu setzen
  • Verwendet Uptane API, um signierte Metadaten zu erzeugen
  • Verwendet eine Inventardatenbank, um Informationen über Steuergeräte zu lesen und zu schreiben (z.B.,

Abbildung 4: Verzeichnis-Repository

Der Schlüssel hier ist also, dass vor der Installation bestätigt werden muss, dass die Anweisungen aus dem Verzeichnis und dem Image-Repository übereinstimmen.

Abbildung 5: Informationsaustausch zwischen Fahrzeug und OEM-Ende

Zeitserver: Wenn das primäre Steuergerät die Liste der Token für jedes ECUS an den Zeitserver sendet, sendet der Zeitserver eine signierte Nachricht zurück, die die Liste der Token und die aktuelle Zeit enthält Head Unit (Fahrzeug selbst): In der Haupteinheit des Fahrzeugs gibt es verschiedene Arten von Steuergeräten, je nachdem, wie sie intern oder mit der Außenwelt verbunden sind, wie leistungsfähig sie in Bezug auf Geschwindigkeit, Speicherplatz usw. sind.

  • Das primäre Steuergerät (TCU) lädt die Bilder herunter, verifiziert sie und verteilt dann die Metadaten an die anderen sekundären Steuergeräte
  • Die sekundären Steuergeräte verifizieren das Bild ebenfalls, bevor sie es aktualisieren.
  • Es führt die vollständige und teilweise Verifizierung durch

Figur 6: Kommunikation zwischen Steuergeräten

Kommunikationskanal

Vollständiger Kommunikationsfluss vom Hauptgerät zum Backend-Server.

Abbildung 7: Kommunikationskanal

Was ist für den Einsatz von Uptane erforderlich?

  • Der OEM richtet ein und pflegt
    • Director Repository
    • Image Repository
    • Time Server (optional)
  • Images werden signiert von
    • Lieferant, oder OEM, oder beiden!
  • ECUs müssen entweder
    • Vollständige Verifizierung, oder
    • Teilweise Verifizierung
  • Können Ihr bestehendes TLS weiter verwenden, etc. Transport
    • Wenn Transport/Zwischenspeicherung kompromittiert ist, geringes Sicherheitsrisiko

Herausforderungen bei OTA-Update

  • Automobil ist komplexere Architektur mit einer zunehmenden Anzahl von Steuergeräten, die Aktualisierung der verschiedenen Arten von Steuergeräten selbst wird schwierig
  • Die Sicherheit der Daten über die Luft ist ein hohes Risiko.
  • Die Aktualisierung von Firmware und Software erfolgt mit minimalen Ressourcen wie Netzwerkbandbreite, Speicher und Rechenleistung.
  • Ist es möglich, nicht nur die Anwendung, sondern auch den Kerntreiber/die Software des Geräts zu aktualisieren?
  • Der Rollback-Mechanismus der Softwareaktualisierung
  • Bei der Aktualisierung der Software oder Firmware werden keine höheren Ausfallzeiten in Kauf genommen.
  • Die Größe der Software-Blöcke
  • Wie nahtlos erfolgt OTA mit Auswirkungen auf das aktuelle System.

Fazit

In der Automobilwelt wird die Software-Aktualisierung mit der Zeit zunehmen, um sicherzustellen, dass sie mit der Zeit auf dem neuesten Stand ist. Fahrzeuge müssen auf sichere Weise aktualisiert werden. Uptane kann eine vielversprechende Lösung sein, um die Software über die Luft zu aktualisieren.

Weiterlesen

  • Enabling SAE L3-L5 Autonomy with Sensor Fusion: Ansätze und Herausforderungen
  • Sicherheitskonzept für automatisiertes Fahren
  • Leitfaden zur Portierung des Echtzeit-Verkehrszeichenerkennungsalgorithmus auf Texas Instruments TDA2x SoC