BMW Secure Coding 2.0 – Warum klassische Codierungen scheitern und was trotzdem möglich ist

Wer schon länger BMW-Steuergeräte mit E-Sys codiert, kennt die klassische Vorgehensweise: Fahrzeug verbinden, Codierdaten auslesen, gewünschte FDL-Parameter verändern und anschließend ins Steuergerät schreiben.

Bei zahlreichen neueren BMW-Modellen funktioniert diese Methode allerdings nicht mehr uneingeschränkt.

Der Grund dafür ist unter anderem BMW Secure Coding, häufig auch als NCD 2.0 beziehungsweise Secure Coding 2.0 bezeichnet.

Doch was steckt technisch dahinter? Warum funktionieren manche Codierungen weiterhin, während andere abgelehnt werden? Und welche Möglichkeiten gibt es, geschützte Steuergeräte trotzdem zu codieren?

In diesem Beitrag erklären wir die technischen Grundlagen, die Rolle signierter NCD-Dateien und die Voraussetzungen für einen geeigneten Codierablauf.


1. Was ist BMW Secure Coding?

Secure Coding ist ein Sicherheitsmechanismus, der die Annahme von Codierdaten in entsprechend geschützten BMW-Steuergeräten kontrolliert.

Bei vielen älteren Steuergeräten konnten die Codierdaten lokal verändert und anschließend ohne zusätzliche kryptografische Autorisierung übertragen werden.

Bei einem durch Secure Coding geschützten Steuergerät kann dagegen eine gültige kryptografische Signatur erforderlich sein.

Das bedeutet: Selbst korrekt bearbeitete Codierdaten können zurückgewiesen werden, wenn die erforderliche Signatur fehlt oder die Daten nicht zum Steuergerät und dessen Softwarestand passen.

Warum setzt BMW diese Technik ein?

Moderne Fahrzeuge besitzen komplexe Steuergeräteverbünde, deren Funktionen teilweise eng miteinander verknüpft sind.

Eine Änderung in einem einzelnen Steuergerät kann sich daher auch auf andere Fahrzeugsysteme auswirken.

Secure Coding dient unter anderem dazu,

  • die Integrität der Codierdaten zu schützen,
  • nicht autorisierte Änderungen zu erschweren,
  • die Herkunft beziehungsweise Autorisierung von Codierdaten zu überprüfen,
  • und die Verwendung bestimmter Codierkonfigurationen zu kontrollieren.

Secure Coding ist dabei nicht gleichbedeutend mit einer Verschlüsselung sämtlicher Fahrzeugdaten. Zentral ist insbesondere die Prüfung der erforderlichen kryptografischen Absicherung der Codierdaten.

2. Welche BMW-Modelle sind betroffen?

Secure Coding kommt bei verschiedenen neueren BMW-Steuergerätegenerationen zum Einsatz.

Relevant ist das unter anderem bei Modellen der G-Baureihen und neueren Fahrzeugarchitekturen.

Wichtig: Nicht jedes G-Modell ist automatisch vollständig geschützt. Ebenso bedeutet die Bezeichnung LCI (Facelift) nicht zwangsläufig, dass sämtliche Steuergeräte Secure Coding verwenden.

Die tatsächlichen Einschränkungen hängen insbesondere von folgenden Faktoren ab:

  • Fahrzeugplattform und Baureihe
  • verbauten Steuergerätevarianten
  • Integration Level (I-Level)
  • Steuergeräte-Softwarestand
  • CAFD-Version
  • jeweiligem Codier- und Sicherheitsverfahren

Deshalb können sich selbst zwei Fahrzeuge derselben Baureihe hinsichtlich ihrer Codiermöglichkeiten unterscheiden.

Eine allgemeingültige Aussage wie „Alle BMW ab einem bestimmten Baujahr lassen sich nicht mehr codieren“ ist technisch nicht ausreichend.

3. Was bedeuten FA, SVT, CAFD und NCD?

Wer Secure Coding verstehen möchte, sollte zunächst die wichtigsten Begriffe aus E-Sys kennen.

BegriffBedeutung
FAFahrzeugauftrag: beschreibt die vorgesehene Fahrzeugkonfiguration und Sonderausstattungen
SVTSteuergeräte- und Softwareverbaustand des Fahrzeugs
CAFDCodierapplikationsdaten, welche die Codierstruktur eines Steuergeräts beschreiben
FDLEinzelne codierbare Parameter und deren Einstellungen
NCDNetto-Codierdaten mit den für ein Steuergerät vorgesehenen Codierwerten
I-LevelIntegrationsstand der Fahrzeugsoftware

Beispiel

Ein BMW besitzt eine bestimmte Headunit mit einem definierten Softwarestand.

Die zugehörige CAFD beschreibt die Codierstruktur. Die NCD enthält die konkreten Konfigurationswerte.

Bei einer herkömmlichen FDL-Codierung können einzelne Werte verändert werden.

Ist das Steuergerät jedoch durch Secure Coding geschützt, reichen die lokal angepassten Werte unter Umständen nicht aus. Die resultierenden Codierdaten müssen zusätzlich die vorgesehenen Sicherheitsprüfungen bestehen.

CAFD und NCD sind also nicht dasselbe. Ebenso ist eine NCD-Datei keine Steuergeräte-Firmware.

4. Warum funktioniert normales FDL-Coding nicht mehr?

Bei einer klassischen FDL-Codierung werden einzelne Parameter angepasst und anschließend ins Steuergerät zurückgeschrieben.

Bei geschützten Steuergeräten kann dieser Vorgang fehlschlagen, weil die neu erzeugten oder veränderten Codierdaten nicht über die erforderliche gültige Signatur verfügen.

E-Sys kann dabei je nach Fahrzeug und Steuergerät weiterhin bestimmte Informationen auslesen, obwohl das anschließende Schreiben der Änderungen nicht möglich ist.

Ein Fehler beim Codieren bedeutet allerdings nicht automatisch Secure Coding.

Auch falsche CAFD-Zuordnungen, nicht passende Softwaredaten, Verbindungsprobleme oder ungeeignete Werkzeugversionen können Schreibfehler verursachen.

Deshalb sollte vor weiteren Versuchen immer die tatsächliche Fehlermeldung ausgewertet werden.

5. Wie kann man geschützte Steuergeräte trotzdem codieren?

Der entscheidende Ansatz besteht darin, passende und gültig signierte NCD-Dateien für die betroffenen Steuergeräte zu verwenden.

Bei einem solchen Verfahren werden die benötigten Codierdaten für die jeweilige Fahrzeugkonfiguration vorbereitet und mit der erforderlichen kryptografischen Absicherung versehen.

Das kann über einen dazu berechtigten Backend-Zugang oder einen geeigneten externen Dienst erfolgen, sofern dieser den konkreten Codierfall unterstützt.

Nicht jeder Dienst unterstützt jede Fahrzeugfunktion oder beliebige individuelle FDL-Änderungen.

Schritt 1 – Originaldaten mit E-Sys sichern

Zunächst wird E-Sys mit dem Fahrzeug verbunden.

Wichtige Ausgangsdaten sind:

  • der originale Fahrzeugauftrag (FA),
  • die aktuelle SVT Actual,
  • der I-Level,
  • die Steuergeräte- und CAFD-Versionen.

Die Originaldateien sollten unverändert gesichert werden.

Schritt 2 – Gewünschte Codierung festlegen

Vor der Erstellung neuer Codierdaten muss feststehen, was geändert werden soll.

Beispielsweise kann es sich um eine unterstützte Sonderausstattungsnachrüstung oder die Anpassung einer Fahrzeugkonfiguration handeln.

Wenn eine VO-/FA-basierte Änderung erforderlich ist, erfolgt diese in einer separaten Arbeitskopie des Fahrzeugauftrags.

Nicht jede Codierung benötigt eine FA-Änderung.

Eine unnötige Veränderung des FA sollte deshalb vermieden werden.

Schritt 3 – Signierte NCD-Dateien bereitstellen

Für die geschützten Steuergeräte werden anschließend die zur Konfiguration passenden signierten NCD-Dateien benötigt.

Ein unterstützter Dienst kann hierfür beispielsweise FA- und SVT-Daten verwenden.

Vor einer solchen Anfrage sollte geklärt werden:

  • Wird das betroffene Steuergerät unterstützt?
  • Ist die gewünschte Codierkonfiguration überhaupt möglich?
  • Welche Dateien benötigt der Dienst?
  • Passen die bereitgestellten Daten zum aktuellen Softwarestand?
  • Welche Datenschutzbedingungen gelten für übermittelte Fahrzeugdaten?

Wichtig: Eine Signatur kann nicht einfach durch das Umbenennen, Bearbeiten oder Kopieren einer NCD-Datei erzeugt werden.

Schritt 4 – Codierdaten mit E-Sys schreiben

Liegen gültige und passende NCD-Dateien vor, können diese über einen kompatiblen E-Sys-Codierablauf auf die vorgesehenen Steuergeräte übertragen werden.

Je nach verwendeter E-Sys-Version und Verfahren kann hierfür eine Funktion wie Code NCD vorgesehen sein.

Dabei müssen insbesondere die richtige Steuergerätezuordnung, die CAFD-Versionen und die Kompatibilität des Datensatzes überprüft werden.

Der Schreibvorgang darf nicht mit einem Steuergeräte-Flash oder einer vollständigen Neuprogrammierung verwechselt werden.

Schritt 5 – Ergebnis kontrollieren

Eine erfolgreiche Codiermeldung bedeutet noch nicht zwangsläufig, dass die gewünschte Fahrzeugfunktion vollständig funktioniert.

Nach der Codierung sollten die betroffenen Systeme überprüft und der Fehlerspeicher kontrolliert werden.

Erst wenn die gewünschte Funktion im vorgesehenen Umfang tatsächlich arbeitet und keine relevanten Fehler auftreten, kann die Codierung als erfolgreich betrachtet werden.


6. Secure Coding, FSC und SFA – die Unterschiede

In Zusammenhang mit neueren BMW-Modellen tauchen häufig verschiedene Sicherheitsbegriffe auf, die nicht miteinander verwechselt werden dürfen.

VerfahrenAufgabe
Secure Coding / NCD 2.0Absicherung und Prüfung bestimmter Steuergeräte-Codierdaten
FSC (Freischaltcode)Berechtigung für bestimmte Fahrzeug- beziehungsweise Softwarefunktionen
SFA (Secure Feature Activation)Gesicherte Aktivierung unterstützter Fahrzeugfunktionen
Flashing / ProgrammierungVeränderung beziehungsweise Aktualisierung der Steuergerätesoftware

Ein gültiger FSC ersetzt daher keine möglicherweise erforderliche signierte NCD-Datei.

Umgekehrt aktiviert eine signierte NCD-Datei keine Fahrzeugfunktion, für die zusätzlich eine eigenständige Freigabe erforderlich ist.

Praxisbeispiel: BMW Remote Engine Start

Bei der Nachrüstung beziehungsweise Freischaltung von Remote Engine Start können mehrere Voraussetzungen zusammenkommen.

Je nach Fahrzeug werden eine passende FSC-Freigabe und zusätzliche Codierungen in mehreren Steuergeräten benötigt.

Ist beispielsweise die Motorsteuergeräte-Freigabe vorhanden, aber eine beteiligte Headunit oder Klimasteuerung noch nicht korrekt codiert, kann die Funktion trotzdem ausbleiben.

Auch ein FSC-Status accepted ist deshalb noch kein vollständiger Funktionsnachweis.

Für dieses Thema haben wir auf BimmerGuide eine separate technische Anleitung zusammengestellt:

BMW G-Modelle – Remote Engine Start per FSC und Codierung freischalten

Dort behandeln wir auch die zusätzlichen Besonderheiten neuerer Fahrzeuge mit Secure Coding.

7. Kann man signierte NCD-Dateien selbst verändern?

Hier liegt eine wesentliche Einschränkung.

Eine bereits signierte NCD-Datei kann nicht beliebig nachbearbeitet werden, ohne möglicherweise ihre Signatur ungültig zu machen.

Daraus folgt:

Eine signierte NCD bedeutet nicht, dass anschließend jeder gewünschte FDL-Parameter frei verändert werden kann.

Für eine andere Konfiguration kann gegebenenfalls ein entsprechend neu vorbereiteter und gültig signierter Datensatz erforderlich sein.

Welche Änderungen zulässig und technisch unterstützt werden, hängt vom jeweiligen Codierverfahren ab.

8. Was passiert nach einem BMW-Softwareupdate?

Softwareupdates können Einfluss auf die Codierung nehmen.

Dabei können sich unter anderem folgende Fahrzeugdaten ändern:

  • I-Level
  • CAFD-Versionen
  • Steuergeräte-Softwarestände
  • Codierstrukturen
  • verfügbare beziehungsweise unterstützte Funktionen

Eine zuvor verwendete NCD-Datei muss deshalb nach einem Update nicht mehr zum neuen Softwarestand passen.

Außerdem können individuelle Codierungen bei der Aktualisierung überschrieben werden.

Vor einer erneuten Codierung müssen die aktuellen Fahrzeugdaten überprüft werden.

Das bloße Wiedereinspielen einer alten NCD-Sicherung ist nicht grundsätzlich empfehlenswert.

9. Häufige Fehler bei Secure Coding

ProblemMögliche Ursache
FDL-Codierung wird abgelehntFehlende Signatur, Schutzmechanismus oder inkompatible Codierdaten
NCD-Datei lässt sich nicht schreibenUnpassende ECU-/CAFD-Version oder fehlende Autorisierung
Codierung erfolgreich, Funktion fehltWeitere Steuergeräte oder Funktionsfreigaben erforderlich
Nach Softwareupdate keine Funktion mehrCodierdaten überschrieben oder Softwarestand verändert
Gewünschter Parameter nicht vorhandenAndere Codierstruktur, Steuergerätevariante oder Softwareversion

Bei solchen Problemen sollten nicht wahllos ähnliche Parameter verändert oder fremde NCD-Dateien ausprobiert werden.

Eine nachvollziehbare Diagnose anhand der tatsächlichen Steuergeräte- und Softwarekonfiguration ist deutlich sinnvoller.

10. Wichtige Sicherheitshinweise

Codierungen an modernen Fahrzeugen können unerwünschte Auswirkungen haben, insbesondere wenn falsche Datensätze verwendet werden.

Für alle Arbeiten gelten daher folgende Grundregeln:

  • Originaldaten vor Veränderungen sichern.
  • Geeignete Spannungsversorgung verwenden.
  • Nur zum konkreten Fahrzeug passende Codierdaten einsetzen.
  • Keine fremden oder veralteten NCD-Dateien ungeprüft übertragen.
  • Niemals blind das gesamte Fahrzeug neu codieren.
  • Fehlerprotokolle sichern und nach der Codierung kontrollieren.
  • Gesetzliche Vorgaben sowie mögliche Gewährleistungs- und Garantieauswirkungen berücksichtigen.

BimmerGuide stellt keine signierten NCD-Dateien, Zugangsdaten zu Hersteller-Backends oder Umgehungssoftware zur Verfügung.

Der Beitrag dient der technischen Information und beschreibt keine offiziell von BMW freigegebene Nachrüstung.

Fazit: Secure Coding erschwert BMW-Codierungen, macht sie aber nicht grundsätzlich unmöglich

Mit Secure Coding hat BMW die Anforderungen an die Steuergerätecodierung erweitert.

Während bei vielen älteren Fahrzeugen das Auslesen, Verändern und Zurückschreiben von FDL-Parametern ausreichte, können neuere Steuergeräte gültig signierte Codierdaten verlangen.

Die entscheidende Frage lautet daher nicht nur, ob sich ein bestimmter Parameter verändern lässt, sondern auch, ob die resultierende Codierkonfiguration vom Steuergerät akzeptiert wird.

Mit passenden Fahrzeugdaten, geeigneten Werkzeugen und einem unterstützten Verfahren für signierte NCD-Dateien können bestimmte Codierungen weiterhin möglich sein.

Eine universelle Freischaltung sämtlicher Steuergeräte oder Fahrzeugfunktionen gibt es dadurch jedoch nicht.


Externer Dienstleister für signierte NCD-Dateien – OEMNavigations

Wer selbst keine Möglichkeit besitzt, gültig signierte NCD-Dateien für geschützte BMW-Steuergeräte zu erhalten, kann auf spezialisierte Drittanbieter zurückgreifen.

Ein entsprechendes Angebot stellt OEMNavigations bereit.

Der Dienstleister bietet einen NCD-Secure-Coding-2.0-Service an, bei dem die Fahrzeugdaten (FA und SVT) als Grundlage für die Bereitstellung signierter Codierdaten verwendet werden.

➡️ Hier geht es zum NCD Secure Coding 2.0 Angebot von OEMNavigations

Vor einer Bestellung sollte unbedingt geklärt werden, ob das betroffene Steuergerät, der jeweilige Softwarestand und die gewünschte Codierung unterstützt werden.

Hinweis von BimmerGuide: Es handelt sich um einen externen, kostenpflichtigen Drittanbieter-Service. BimmerGuide steht in keiner geschäftlichen Verbindung zum Anbieter und hat dessen Dienstleistung nicht selbst auf Funktion und Zuverlässigkeit geprüft. Eine erfolgreiche Codierung kann daher nicht garantiert werden.






ℹ️ Hinweis zu den Abbildungen
Auf BimmerGuide werden teilweise mithilfe künstlicher Intelligenz erstellte oder bearbeitete Illustrationen und Titelbilder verwendet.
Sie dienen ausschließlich der Veranschaulichung technischer Inhalte und stellen nicht zwangsläufig reale Fahrzeuge, Bauteile oder Situationen dar.




Neuste Beiträge

% DEALS