-
TECHNISCHES GEBIET
-
Die vorliegende Offenbarung betrifft im Allgemeinen Kraftfahrzeugsysteme. Insbesondere, aber nicht ausschließlich, betrifft die vorliegende Offenbarung ein Verfahren, eine Vorrichtung und ein System zur Sicherung von Kraftfahrzeugsystemen.
-
HINTERGRUND
-
Die Kraftfahrzeugindustrie wächst rasant, und veraltete mechanische Steuerungen werden jetzt durch elektronische Steuerungen ersetzt, die auf Softwarecodes basieren. Ein modernes Fahrzeug ist mit verschiedenen Systemen zur Steuerung, Überwachung und Analyse von Fahrzeugparametern verbunden. Fahrzeugsysteme werden von einer Mehrzahl von Steuereinheiten gesteuert, die allgemein als elektronische Steuereinheiten (ECU - Electronic Control Unit) bekannt sind. Ein modernes Fahrzeug weist unterschiedliche Typen von ECUs wie Karosseriesteuereinheit (BCU - Body Control Unit), Fahrzeugsteuereinheit (VCU - Vehicle Control Unit) und dergleichen auf. Jede ECU hat fest zugeordnete Funktionen. Häufig kommuniziert eine ECU zum Betrieb des Fahrzeugs mit anderen ECUs. Eine ECU hostet eine oder mehrere Softwareanwendungen und eine Firmware.
-
Da moderne Fahrzeuge mit dem Internet verbunden sind und mit externen Infrastrukturen und anderen Fahrzeugen kommunizieren, ist die Fahrzeug-ECU für Cyberattacken anfällig. Eine übliche Methode, die Fahrzeug-ECU zu attackieren, ist durch böswillige Anwendungen oder über Firmwareaktualisierung. Infolgedessen besteht eine Notwendigkeit, die Cyberattacken zu erkennen und wirksame Maßnahmen zu ergreifen, wenn die Cyberattacken erkannt werden.
-
Die in diesem Hintergrundabschnitt der Offenbarung offenbarten Informationen dienen lediglich zum besseren Verständnis des allgemeinen Hintergrunds der Erfindung und sollten weder als eine Bestätigung noch eine Empfehlung dessen aufgefasst werden, dass diese Informationen den Stand der Technik bilden, der dem Fachmann bereits bekannt ist.
-
KURZDARSTELLUNG
-
Zusätzliche Merkmale und Vorteile werden durch die Techniken der vorliegenden Offenbarung realisiert. Andere Ausführungsformen und Aspekte der Offenbarung werden hierin im Detail beschrieben und als Teil der beanspruchten Offenbarung angesehen.
-
In einer Ausführungsform offenbart die vorliegende Offenbarung ein Verfahren, eine elektronische Steuereinheit (ECU) und ein sicheres Kraftfahrzeugsystem. Das Verfahren umfasst die Schritte des Berechnens eines kryptografischen Werts für ein oder mehrere oder alle Module der ECU. Die ECU ist gemäß einer Gewährleistungsstufe für Cybersicherheit (CAL - Cybersecurity Assurance Level) klassifiziert. Ferner wird der kryptografische Wert mit einem gespeicherten kryptografischen Wert verglichen. Danach wird basierend auf der CAL-Klassifizierung der ECU eines von Folgendem durchgeführt: Bereitstellen von Steuerung für das eine oder die mehreren oder alle Module der ECU, wenn der kryptografische Wert mit dem gespeicherten kryptografischen Wert übereinstimmt; und Abschalten der ECU in einem von einem aktuellen Startzyklus oder einem nachfolgenden Startzyklus, wenn der kryptografische Wert nicht mit dem gespeicherten kryptografischen Wert übereinstimmt.
-
In einer Ausführungsform ist der kryptografische Wert ein Nachrichtenauthentifizierungscode (MAC - Message Authentication Code).
-
In einer Ausführungsform wird der kryptografische Wert für das eine oder die mehreren oder alle Module zumindest basierend auf einer Länge eines Codes des einen oder der mehreren oder aller Module und einer Anfangsadresse und einer Endadresse des Codes des einen oder der mehreren oder aller Module berechnet.
-
In einer Ausführungsform weisen das eine oder die mehreren oder alle Module mindestens eines von einem Startmanager, einem Startladeprogramm und einer Anwendung auf.
-
In einer Ausführungsform weist das Abschalten der ECU die Schritte des Bestimmens der CAL der ECU; Abschaltens der ECU in einem aktuellen Startzyklus, wenn die ECU als CAL 4 und/oder CAL 3 klassifiziert ist; und Abschaltens der ECU in einem nachfolgenden Startzyklus auf, wenn die ECU als CAL 2 und/ oder CAL 1 klassifiziert ist.
-
In einer Ausführungsform weist das Abschalten der ECU im nachfolgenden Startzyklus auf: Bereitstellen von Steuerung für das eine oder die mehreren oder alle Module der ECU im aktuellen Startzyklus nach einem Bestimmen, dass der kryptografische Wert nicht mit dem gespeicherten kryptografischen Wert übereinstimmt.
-
In einer Ausführungsform weist das Abschalten der ECU ferner auf: Protokollieren des Ausfalls der ECU in einem Speicher.
-
In einer Ausführungsform weist das Verfahren ein Sichern des Zugriffs auf die ECU unter Verwendung einer Infrastruktur für öffentliche Schlüssel (PKI - Public Key Infrastructure) auf.
-
In einer Ausführungsform weist das Sichern des Zugriffs auf die ECU auf: Speichern eines Stammzertifikats mit einem öffentlichen Stammschlüssel in der ECU; Erzeugen und Senden einer Abfrage an eine Vorrichtung bei Empfang einer Anforderung zum Zugreifen auf die ECU von der Vorrichtung; Empfangen einer Antwort auf die Abfrage, wobei die Antwort eine Vorrichtungssignatur und ein Vorrichtungszertifikat aufweist, wobei die Vorrichtungssignatur durch Signieren eines kryptografischen Werts der Abfrage unter Verwendung eines privaten Vorrichtungsschlüssels erzeugt wird, und wobei das Vorrichtungszertifikat unter Verwendung eines privaten Stammschlüssels erzeugt wird; Authentifizieren der Vorrichtung durch Verifizieren des Vorrichtungszertifikats unter Verwendung des öffentlichen Stammschlüssels; und Verifizieren der Signatur unter Verwendung des öffentlichen Schlüssels, der aus dem Vorrichtungszertifikat erhalten wird, wobei die Vorrichtung nach erfolgreicher Verifizierung auf die eine oder die mehreren ECUs zugreifen darf.
-
Die vorstehende Kurzdarstellung dient lediglich der Veranschaulichung und ist in keiner Hinsicht als Einschränkung gedacht. Neben den zuvor beschriebenen veranschaulichenden Aspekten, Ausführungsformen und Merkmalen sind möglicherweise weitere Aspekte, Ausführungsformen und Merkmale aus der folgenden detaillierten Beschreibung unter Bezugnahme auf die Zeichnungen ersichtlich.
-
Figurenliste
-
Die neuartigen Merkmale und Charakteristiken der Offenbarung sind in den angehängten Ansprüchen dargelegt. Die Offenbarung selbst sowie eine bevorzugte Verwendungsart, weitere Aufgaben und Vorteile davon sind durch Bezugnahme auf die folgende detaillierte Beschreibung einer veranschaulichen Ausführungsform bei Lektüre in Verbindung mit den beiliegenden Zeichnungen am besten zu verstehen. Die beiliegenden Zeichnungen, welche in diese Offenbarung aufgenommen sind und einen Teil derselben bilden, veranschaulichen beispielhafte Ausführungsformen der vorliegenden Offenbarung und dienen zusammen mit der Beschreibung zur Erläuterung der offenbarten Grundsätze. In den Zeichnungen identifizieren die am weitesten links stehende(n) Ziffer(n) eines Bezugszeichens die Figur, in welcher das Bezugszeichen erstmals auftritt. Eine oder mehrere Ausführungsformen werden nun lediglich beispielhaft unter Bezugnahme auf die beiliegenden Figuren beschrieben, wobei gleiche Bezugszeichen gleiche Elemente darstellen und wobei:
- 1 eine vereinfachte grafische Darstellung eines Fahrzeugnetzwerks gemäß einigen Ausführungsformen der vorliegenden Offenbarung zeigt;
- 2 eine vereinfachte grafische Darstellung einer ECU gemäß einigen Ausführungsformen der vorliegenden Offenbarung zeigt;
- 3 eine beispielhafte Architektur interner Elemente eines HSM gemäß einigen Ausführungsformen der vorliegenden Offenbarung zeigt; und
- 4 ein beispielhaftes Flussdiagramm zeigt, das Verfahrensschritte zur Sicherung eines Kraftfahrzeugsystems gemäß einigen Ausführungsformen der vorliegenden Offenbarung veranschaulicht;
- 5 ein beispielhaftes Flussdiagramm zeigt, das Verfahrensschritte zur bedingten Abschaltung der ECU gemäß einigen Ausführungsformen der vorliegenden Offenbarung veranschaulicht;
- 6 einen sicheren Nachrichtenfluss zwischen einer ECU und externen Systemen gemäß einigen Ausführungsformen der vorliegenden Offenbarung veranschaulicht; und
- 7 eine Veranschaulichung eines sicheren Kraftfahrzeugsystems gemäß einigen Ausführungsformen der vorliegenden Offenbarung ist.
-
Für den Fachmann sollte zu erkennen sein, dass alle Blockdiagramme hierin konzeptionelle Ansichten veranschaulichender Systeme darstellen, welche die Grundsätze der Erfindung verkörpern. Ähnlich versteht es sich, dass alle Flusspläne, Flussdiagramme, Zustandsübergangsdiagramme, Pseudocodes und dergleichen verschiedene Prozesse darstellen, die im Wesentlichen in einem computerlesbaren Medium dargestellt und von einem Computer oder Prozessor ausgeführt werden können, einerlei ob solch ein Computer oder Prozessor explizit dargestellt ist oder nicht.
-
DETAILLIERTE BESCHREIBUNG
-
Das Wort „beispielhaft“ wird im vorliegenden Dokument mit der Bedeutung „als Beispiel, Fall oder Veranschaulichung dienend“ verwendet. Jede hier als „beispielhaft“ beschriebene Ausführungsform oder Implementierung ist nicht notwendigerweise als bevorzugt oder vorteilhaft gegenüber anderen Ausführungsformen auszulegen.
-
Obwohl die Offenbarung für verschiedene Modifikationen und alternative Formen empfänglich ist, wurden spezifische Ausführungsformen davon in den Zeichnungen beispielhaft dargestellt und können im Folgenden detailliert beschrieben sein. Es versteht sich jedoch, dass keine Absicht besteht, die Offenbarung auf die jeweiligen offenbarten Formen zu beschränken, sondern im Gegenteil die Offenbarung alle Modifikationen, Äquivalente und Alternativen abdecken soll, die in den Schutzbereich der Offenbarung fallen.
-
Die Begriffe „aufweist“, „umfasst“, „aufweisend“, „umfassend“ oder jegliche andere Variante davon sollen eine nicht ausschließende Einbeziehung abdecken, derart dass ein Aufbau, eine Vorrichtung oder ein Verfahren, der/die/das eine Liste von Komponenten oder Schritten aufweist, nicht nur diese Komponenten oder Schritte umfasst, sondern auch andere Komponenten und Schritte umfassen kann, die nicht ausdrücklich aufgelistet oder solch einem Aufbau oder solch einer Vorrichtung oder solch einem Verfahren eigen sind. Mit anderen Worten schließen ein oder mehrere Elemente in einem System oder einer Vorrichtung, denen „weist... ein... auf“ oder „umfasst... ein“ vorausgeht, ohne weitere Einschränkungen das Vorhandensein anderer Elemente oder zusätzlicher Elemente im System oder in der Vorrichtung nicht aus.
-
In der folgenden detaillierten Beschreibung der Ausführungsformen der Offenbarung wird auf die beiliegenden Zeichnungen Bezug genommen, die einen Teil davon bilden und in denen zu Veranschaulichungszwecken spezifische Ausführungsformen dargestellt sind, in denen die Offenbarung in die Praxis umgesetzt werden kann. Diese Ausführungsformen werden detailliert genug beschrieben, um den Fachmann zu befähigen, die Offenbarung in die Praxis umzusetzen, und es versteht sich, dass andere Ausführungsformen verwendet werden können und dass Änderungen vorgenommen werden können, ohne vom Schutzbereich der vorliegenden Erfindung abzuweichen. Die folgende Beschreibung ist daher nicht in einem einschränkenden Sinne zu verstehen.
-
1 zeigt eine Architektur eines Fahrzeugnetzwerks. Ein Fahrzeug 101 umfasst eine Mehrzahl von elektronischen Steuereinheiten (ECUs) 102a, 103b, ..., 102g. Jede ECU ist zum Ausführen einer oder mehrerer Funktionen ausgebildet. Zum Beispiel kann die ECU 102a zum Steuern eines Antiblockiersystems (ABS - Anti-Braking System) des Fahrzeugs 101 ausgebildet sein, und die ECU 102b kann zum Steuern eines Infotainmentsystems des Fahrzeugs 101 ausgebildet sein. Ferner ist jede ECU gemäß einer Gewährleistungsstufe für Cybersicherheit (CAL) klassifiziert. In einer Ausführungsform ist die CAL gemäß ISO/SAE 31434 definiert. Eine als CAL-4 klassifizierte ECU weist eine höchste Gewährleistung der Cybersicherheit auf. Zum Beispiel kann die ECU 102a zum Steuern der Funktionen fortschrittlicher Fahrerassistenz (ADAS - Advance Driver Assistance) ausgebildet sein. Die ADAS-Funktionen sind sicherheitskritisch, und die ECU 102a, die die ADAS-Funktionen ausführt, ist gemäß der höchsten Sicherheitsstufe klassifiziert. Infolgedessen muss die ECU 102, die die ADAS-Funktionen ausführt, mit der höchsten Gewährleistung gesichert werden und ist gemäß CAL-4 klassifiziert. Gleichermaßen kann die ECU 102, die zum Ausführen von Funktionen wie ABS, Airbags ausgebildet ist, als CAL-4 klassifiziert sein. Ferner kann die ECU 102, die zum Ausführen von Funktionen wie Motorsteuerung, Aufhängung ausgebildet ist, als CAL-3 klassifiziert sein. Gleichermaßen kann die ECU 102, die zum Ausführen von Funktionen wie Lichtregelung, Bedienen des Instrumentenblocks, Bedienen des Infotainmentsystems, Geschwindigkeitsregelung ausgebildet ist, als CAL-2 und/oder CAL-1 klassifiziert sein. In einer Ausführungsform kann die ECU 102 gemäß zwei CAL-Kategorien klassifiziert sein.
-
In einer Ausführungsform kann die Mehrzahl von ECUs 102a, 103b, ..., 102g über Kommunikationsleitungen wie Controller Area Network (CAN), CAN FD, FlexRay, Local Interconnect (LIN) und dergleichen miteinander kommunizieren. In einer Ausführungsform ist das Fahrzeugnetzwerk in eine elektrisch-elektronische (E/E) Architektur eingebaut. Die ECU 102 kann durch Manipulieren der Flash-Dateien und Senden der manipulierten Flash-Datei zur ECU-Aktualisierung attackiert werden. Wenn die ECU 102 die manipulierte Flash-Datei ausführt, wird die ECU 102 vom Angreifer deaktiviert oder kontrolliert. Infolgedessen muss die ECU 102 eine Cyberattacke erkennen.
-
2 zeigt eine vereinfachte grafische Darstellung der ECU 102 des Kraftfahrzeugsystems gemäß einigen Ausführungsform der vorliegenden Offenbarung. Die ECU 102 weist ein Hardwaresicherheitsmodul (HSM - Hardware Security Module) 201, einen Startmanager 202, ein Startladeprogramm 203, eine oder mehrere Anwendungen 204 und eine Schnittstelle 205 auf. Der Startmanager 202 ist eine Startanwendung, die in einem Festwertspeicher (ROM - Read Only Memory) der ECU 102 gespeichert ist. Der Startmanager 202 ist so ausgebildet, dass er bei jeder Startfolge der ECU 102 eine Firmware startet, die ebenfalls im ROM gespeichert ist. Der Startmanager 202 ist ferner so ausgebildet, dass er auf Firmwareaktualisierungen prüft und Firmwaredownload initialisiert, falls die Firmwareaktualisierung verfügbar ist. Ferner ist der Startmanager 202 so ausgebildet, dass der Steuerung für das Startladeprogramm 203 zum Ausführen der Firmware bereitstellt.
-
Das Startladeprogramm 203 ist zum Starten der vom Startmanager 202 ausgewählten Firmware ausgebildet. Das Startladeprogramm führt die im ROM vorhandene Firmware aus. Sobald die Firmware ausgeführt ist, führt das Startladeprogramm 203 dann eine oder mehrere Anwendungen 204 aus, die in der ECU 102 vorhanden sind.
-
Die eine oder die mehreren Anwendungen 204 können eine Airbag-Auslösungsanwendung, eine ADAS-Anwendung, eine Lichtregelungsanwendung, eine Infotainment-Steuerungsanwendung und dergleichen umfassen.
-
Die Schnittstelle 205 kann eine CAN-Schnittstelle, eine CAN-FD-Schnittstelle, eine LIN-Schnittstelle, eine FLexRay-Schnittstelle und dergleichen umfassen. Die Schnittstelle 205 ermöglicht der ECU 102, eine Verbindung mit dem fahrzeuginternen Netzwerk herzustellen. Die Mehrzahl von ECUs 102a, 102b, ..., 102g greift auf das fahrzeuginterne Netzwerk zu. Daten werden zwischen der Mehrzahl von ECUs 102a, 102b, ..., 102g und/oder zwischen der ECU 102 und einem oder mehreren Sensoren oder Aktoren des Fahrzeugs 101 ausgetauscht.
-
Das HSM 201 kann eine Hardware- oder eine Softwarekomponente sein, die in der ECU 102 vorhanden ist und Sicherheit gegen Cyberattacken bereitstellt. Das HSM 201 ist zum Erzeugen und Speichern von kryptografischen Schlüsseln, Zertifikaten und Bereitstellen von sicheren Hash-Funktionen ausgebildet. Das HSM 201 unterstützt sichere Flash-Programmierung und -Reprogrammierung.
-
In einer Ausführungsform umfasst die ECU 102 einen oder mehrere Prozessoren oder eine oder mehrere Steuereinheiten (nicht dargestellt) und einen Speicher (RAM, ROM). Die ECU 102 kann auch Datenspeicher umfassen.
-
3 zeigt ein vereinfachtes Blockdiagramm des HSM 201. Das HSM 201 umfasst einen Zufallszahlengenerator (RNG - Random Number Generator) 301, einen Kryptogenerator 302, einen Start-Nachrichtauthentifizierungscode (MAC) 303, einen öffentlichen Stammschlüssel 304, eine Busschnittstelle 305, einen Komparator 306 und eine Hostschnittstelle 307. Die Hostschnittstelle 307 ist mit speicherabgebildeten Registern ausgebildet, die von dem einen oder den mehreren Prozessoren oder der einen oder den mehreren Steuereinheiten der ECU 102 zum Ausgeben von Befehlen verwendet werden. Die Busschnittstelle 305 ermöglicht dem HSM 201 Zugriff auf Speicher der ECU 102. Das HSM 201 kann sicheren Speicher zum Speichern der kryptografischen Schlüssel und kryptografischen Werte umfassen. Zum Beispiel kann das HSM 201 20 Speichersteckplätze mit einem ROM-Steckplatz und 15 nichtflüchtigen Steckplätzen und einem RAM-Steckplatz aufweisen. Der sichere Speicher speichert den Start-MAC-Wert, den öffentlichen Stammschlüssel und optional einen Hauptschlüssel. Der Start-MAC-Wert kann spezifisch für das Modul sein, für das das HSM konzipiert ist. Zum Beispiel kann jedes Modul 202, 203, 204, 205 sein eigenes HSM 201 aufweisen, oder ein einziges HSM 201 kann mit jedem Modul 202, 203, 204, 205 ausgeführt werden. In einer Ausführungsform können verschiedene Typen von MAC erzeugt werden. Zum Beispiel HMAC, CMAC, KMAC.
-
In einer Ausführungsform kann eine Mehrzahl von Flags bereitgestellt werden. Jedes Flag ist mit dedizierten Angaben und Aktionen assoziiert. Zum Beispiel wird ein Flag Secure Boot (sicherer Start) gesetzt, wenn der MAC-Wert der Firmware nicht mit dem gespeicherten MAC-Wert übereinstimmt (wird später im Detail erläutert). Ferner wird ein Schlüssel-Flag gesetzt, wenn der Schlüssel zum Erzeugen des MAC-Werts verwendet wird, und der Schlüssel wird zurückgesetzt, wenn der Schlüssel zur Verifizierung verwendet wird. Das HSM 201 kann so ausgebildet sein, dass es AES-Verschlüsselungs- und - Entschlüsselungsstandards unterstützt. Das HSM 201 kann einen AES-128-MAC-Algorithmus zur Nachrichtenauthentifizierung verwenden. Der Schlüssel für die MAC-Operation wird aus den Speichersteckplätzen ausgewählt. Der MAC-Algorithmus verwendet einen Geheimschlüssel und eine zu authentifizierende Nachricht beliebiger Länge und gibt einen MAC-Wert als den kryptografischen Wert aus. Der MAC-Wert schützt Integrität und Authentizität. Der Geheimschlüssel kann unter Verwendung des RNG 301 erzeugt werden. Zum Beispiel kann der RNG 301 einen 128-Bit-Schlüssel erzeugen, der zum Erzeugen des MAC verwendet wird. Beim Wert der beliebigen Länge kann es sich um die Anfangsadress- und Endadresswerte des einen oder der mehreren Module 202, 203, 204, 205 handeln. Man betrachte zum Beispiel eine Anwendung 204, die gesichert werden soll. Die Anwendung 204, wenn in der ECU 102 gespeichert, weist eine Anfangsadresswert und einen Endadresswert auf. Der Kryptogenerator 302 kann den MAC-Algorithmus ausführen, indem er den Anfangsadress- und den Endadresswert der Anwendung 204 und den vom RNG 301 erzeugten Geheimschlüssel nimmt und einen eindeutigen MAC-Wert für die Anwendung 204 erzeugt. Der für die Anwendung 204 erzeugte MAC-Wert wird in den dedizierten Speichersteckplätzen gespeichert. Wenn die ECU 102 eingeschaltet und die Anwendung 204 zur Ausführung initialisiert wird, bestimmt das HSM 201 ferner die Authentizität und die Integrität der Anwendung 204. Das HSM 201 erhält den Anfangsadress- und den Endadresswert der Anwendung 204 über die Busschnittstelle 305. Ferner werden der Anfangsadress- und der Endadresswert für den Kryptogenerator 302 bereitgestellt, der den MAC-Wert erzeugt. Der berechnete MAC-Wert wird dann im Komparator 306 mit dem gespeichertem MAC-Wert verglichen. Wenn der berechnete MAC-Wert mit dem gespeicherten MAC-Wert übereinstimmt, wird bestimmt, dass die Anwendung 204 authentisch ist und ausgeführt werden darf. Wenn der berechnete MAC-Wert nicht mit dem gespeicherten MAC-Wert übereinstimmt, wird eine entsprechende Maßnahme ergriffen. Ähnlich wird das HSM 201 auch für den Startmanager 202 und das Startladeprogramm 203 ausgebildet. Der MAC-Wert wird für den Startmanager 202 erzeugt und gespeichert. Bei jedem Start wird ein neuer MAC-Wert für den Startmanager 202 berechnet. Bei Übereinstimmung wird Steuerung für den Startmanager 202 bereitgestellt, wobei der Startmanager 202 seine Funktionen ausführt. Wenn der Startmanager 202 eine Firmware auswählt und das Startladeprogramm 203 initialisiert, wird ferner der MAC-Wert für das Startladeprogramm 203 berechnet und mit dem gespeicherten MAC-Wert verglichen. Bei Übereinstimmung wird die Steuerung für das Startladeprogramm 203 zum Ausführen der Firmware bereitgestellt, und bei Nichtübereinstimmung wird die entsprechende Maßnahme ergriffen. In einer Ausführungsform weist die entsprechende Maßnahme ein Abschalten der ECU 102 in einem von einem aktuellen Startzyklus oder einem nachfolgenden Startzyklus basierend auf der CAL-Klassifizierung der ECU 102 auf.
-
In einer Ausführungsform kann die Hostschnittstelle 307 ein Bit für erfolgreiche Authentifizierung setzen und das Bit für erfolglose Authentifizierung zurücksetzen. In einer anderen Ausführungsform kann der Bitwert der Hostschnittstelle 307 zur Angabe einer erfolgreichen und einer erfolglosen Authentifizierung invertiert werden. Ferner wird der Bitwert für das eine oder die mehreren Module 202, 203, 204 bereitgestellt. Der Bitwert kann auch für eine Energiesteuereinheit der ECU 102 zum Abschalten der ECU 102 basierend auf dem Bitwert der Hostschnittstelle 307 bereitgestellt werden.
-
Wenn in einer Ausführungsform der berechnete CAMV-Wert nicht mit dem gespeicherten MAC-Wert übereinstimmt, wird die ECU 102 basierend auf bestimmten Bedingungen abgeschaltet. Das HSM 201 bestimmt die CAL-Klassifizierung der ECU 102. Wenn die ECU 102 als CAL-4 und/oder CAL-3 klassifiziert ist, kann die ECU 102 im aktuellen Startzyklus abgeschaltet werden. Wie bereits erwähnt, führt eine als CAL-4 und CAL-3 klassifizierte ECU sicherheitskritische Funktionen aus, und eine Nichtübereinstimmung zwischen dem berechneten MAC-Wert und dem gespeicherten MAC-Wert weist darauf hin, dass die sicherheitskritische ECU gefährdet ist. Infolgedessen werden solche ECUs im aktuellen Startzyklus abgeschaltet, um weiteren Schaden an Fahrzeug 101 und Insassen zu verhindern. Wenn die ECU 102 in einer Ausführungsform als CAL-2 und/oder CAL-1 klassifiziert ist, kann die ECU 102 in einem nachfolgenden Startzyklus abgeschaltet werden. Da CAL-2 und CAL-1 nicht mit sicherheitskritischen Funktionen in Beziehung stehen, können die ECUs, die gemäß diesen CAL-Klassen klassifiziert sind, im nachfolgenden Startzyklus abgeschaltet werden. Die vorliegende Offenbarung beschränkt sich jedoch nicht auf das Abschalten der als CAL-2 und/oder CAL-1 klassifizierten ECU 102 im nachfolgenden Startzyklus, sondern solch eine ECU 102 kann auch im aktuellen Startzyklus abgeschaltet werden.
-
Wenn in einer Ausführungsform das HSM 201 zum Abschalten der ECU 102 im nachfolgenden Startzyklus ausgebildet ist, wird Steuerung für das eine oder die mehreren oder alle Module 202, 203, 204 zum Ausführen jeweiliger Funktionen im aktuellen Startzyklus bereitgestellt. Zum Beispiel ist die ECU 102, die eine Lichtregelungsanwendung aufweist, so ausgebildet, dass sie, wenn bestimmt wird, dass die Lichtregelungsanwendung attackiert wurde, im nächsten Startzyklus abgeschaltet wird. Es kann jedoch Steuerung für die Lichtregelungsanwendung zum Bedienen des Lichts des Fahrzeugs 101 im aktuellen Startzyklus bereitgestellt werden. Da die Funktionen der CAL-2- und CAL-1-ECUs nicht sicherheitskritisch sind, können die ECUs ausgeführt werden, auch wenn solche ECUs attackiert werden, da sie möglicherweise keine Bedrohung darstellen. Wenn ferner ein Angriff erkannt wird, wird ein Ausfall im Speicher des HSM 201 protokolliert. Details in Bezug auf den Ausfall wie Datum, Uhrzeit, Modulname, ECU-ID, CAL-Typ und dergleichen können in das Protokoll einbezogen werden. Ferner kann das Ausfallprotokoll auch an eine entfernte Zentrale zur Analyse kommuniziert werden. Die entfernte Zentrale kann das Ausfallprotokoll analysieren und eine Patch-/Firmwareaktualisierung entwickeln. Die Firmwareaktualisierung kann an die Fahrzeugflotte freigegeben werden.
-
In einer Ausführungsform kann die ECU 102 über Kommunikationskanäle wie 5G/LTE und dergleichen mit der entfernten Zentrale kommunizieren. Das Kommunizieren über solche Kanäle stellt jedoch auch eine Bedrohung für die ECU 102 dar. Infolgedessen schlägt die vorliegende Offenbarung einen sicheren Zugriff auf die ECU 102 unter Verwendung der Technik einer Infrastruktur für öffentliche Schlüssel (PKI) vor. Die PKI-Technik verwendet Schlüsselpaare, die zum Authentifizieren der Entität verwendet werden, die mit der ECU 102 kommuniziert. Die Funktionsweise der PKI-Technik wird nachstehend im Detail erläutert.
-
4 zeigt ein beispielhaftes Flussdiagramm, das ein Verfahren zur Sicherung eines Kraftfahrzeugsystems gemäß einigen Ausführungsformen der vorliegenden Offenbarung veranschaulicht. Die Reihenfolge, in der das Verfahren 400 beschrieben sein kann, soll nicht als Einschränkung ausgelegt werden, und eine beliebige Anzahl der beschriebenen Verfahrensblöcke kann in beliebiger Reihenfolge kombiniert werden, um das Verfahren zu implementieren. Außerdem können einzelne Blöcke aus den Verfahren entfernt werden, ohne vom Wesen und Schutzbereich des hierin beschriebenen Gegenstands abzuweichen. Ferner kann das Verfahren in jeder geeigneten Hardware, Software, Firmware oder einer Kombination davon implementiert werden.
-
Bei Schritt 401 wird der kryptografische Wert für das eine oder die mehreren oder alle Module 202, 203, 204 der ECU 102 berechnet. In einer Ausführungsform wird die Berechnung des kryptografischen Werts oder des MAC-Werts jeden Startzyklus durchgeführt. Der MAC-Wert kann auch in einem definierten Zeitraum berechnet werden, wenn die ECU 102 für einen längeren Zeitraum nicht neu gestartet wird. Wenn zum Beispiel eine Infotainment-Anwendung für zehn Stunden ausgeführt wird und wenn die ECU 102, die die Infotainment-Anwendung hostet, für zehn Stunden nicht neu gestartet wird, kann der MAC-Wert zur Verifizierung nach zehn Stunden berechnet werden. Wie bereits erwähnt, ist die ECU 102 gemäß CAL klassifiziert.
-
Bei Schritt 402 wird der MAC-Wert mit dem gespeicherten MAC-Wert verglichen. Der gespeicherte MAC-Wert kann bei Herstellung oder durch den Originalgerätehersteller (OEM) erzeugt werden. Zum Beispiel kann der MAC-Wert bei Herstellung der ECU 102 für den Startmanager 202, das Startladeprogramm 203 und eine oder mehrere Stock-Anwendungen 204 in einem jeweiligen oder gemeinsamen HSM 201 erzeugt und gespeichert werden. In einer Ausführungsform kann der MAC-Wert auch für Drittanbieter-Anwendungen erzeugt werden, wenn solche Anwendungen in der ECU bereitgestellt werden. In einer Ausführungsform wird der MAC-Wert unter Verwendung von Anfangsadresswerten und Endadresswerten des einen oder der mehreren Module 202, 203, 204 erzeugt. Die Erzeugung von MAC-Werten ist jedoch nicht auf das Verwenden von Anfangs- und Endadresswerten beschränkt, sondern es können auch andere Informationen in Bezug auf das eine oder die mehreren Module 202, 203, 204 in Betracht gezogen werden. Ferner wird bei jedem Startzyklus oder nach einem definierten Zeitraum ein neuer MAC-Wert für das eine oder die mehreren Module 202, 203, 204 berechnet, und der neue MAC-Wert wird mit dem gespeicherten MAC-Wert verglichen. Eine erfolgreiche Übereinstimmung beim Vergleich weist darauf hin, dass die ECU 102 nicht mit böswilligen Codes angegriffen wird. Eine erfolglose Übereinstimmung weist darauf hin, dass die ECU 102 angegriffen wurde.
-
Schritt 403 wird ausgeführt, wenn der Vergleich bei Schritt 402 erfolgreich ist. Bei Schritt 403 wird Steuerung für das eine oder die mehreren Module 202, 203, 204 zum Ausführen jeweiliger Funktionen bereitgestellt. Wenn zum Beispiel der MAC-Wert des Startmanager 202 mit dem gespeicherten MAC-Wert des Startmanagers 202 übereinstimmt, wird Steuerung für den Startmanager 202 zum Initialisieren der Startfolge der ECU 102 bereitgestellt. Gleichermaßen wird Steuerung für das Startladeprogramm 203 zum Laden der Firmware der ECU 102 bereitgestellt, wenn der MAC-Wert des Startladeprogramms 203 mit dem gespeicherten MAC-Wert des Startladeprogramms 203 übereinstimmt.
-
Schritt 404 wird ausgeführt, wenn der Vergleich bei Schritt 402 erfolglos ist. Bei Schritt 404 wird die ECU 102 basierend auf der CAL-Klassifizierung der ECU 102 entweder in einem aktuellen Startzyklus oder einem nachfolgenden Startzyklus abgeschaltet. Es wird nun auf 5 Bezug genommen, die den Abschaltvorgang der ECU 102 veranschaulicht. Bei Schritt 501 wird die CAL-Klassifizierung der ECU 102 bestimmt. Die ECU 102 kann gemäß einer oder zwei CAL klassifiziert sein. Zum Beispiel kann die ECU 102 als CAL-4 und CAL-3 klassifiziert sein. Die ECU 102 kann Funktionen haben, die hochsicherheitskritisch und mittelsicherheitskritisch sind. Infolgedessen kann die ECU 102 gemäß zwei CAL-Kategorien klassifiziert sein. Bei Schritt 502 wird die ECU 102 im aktuellen Startzyklus abgeschaltet, wenn die ECU 102 als CAL-4 und/oder CAL-3 klassifiziert ist. Da die ECU 102, die gemäß CAL-4 und/oder CAL-3 klassifiziert ist, sicherheitskritische Funktionen ausführt, wird die ECU 102 unverzüglich (im aktuellen Startzyklus) abgeschaltet. Bei Schritt 503 wird die ECU 102 im nachfolgenden Startzyklus abgeschaltet, wenn die ECU 102 als CAL-2 und/oder CAL-1 klassifiziert ist.
-
Wenn in einer Ausführungsform die ECU 102 im nachfolgenden Startzyklus abgeschaltet wird, wird Steuerung für das eine oder die mehreren oder alle Module 202, 203, 204 zum Ausführen jeweiliger Funktionen im aktuellen Startzyklus bereitgestellt. Ferner wird der Ausfall der ECU 102 im Speicher des HSM 201 protokolliert, und solche Ausfalldaten werden zur Analyse an die entfernte Zentrale gesendet. Die entfernte Zentrale kann eine Patch- oder Firmware-/Softwareaktualisierung für die ECU 102 analysieren und freigeben, und die Aktualisierung wird über die Kommunikationskanäle an die ECU 102 zurückgesendet. Zur Sicherung des Zugriffs auf die ECU 102 durch externe Agenten, beispielsweise die entfernte Zentrale, wird die PKI-Technik eingesetzt.
-
6 veranschaulicht eine beispielhafte PKI-Technik zur Sicherung des Zugriffs auf die ECU 102. In einer Ausführungsform veranschaulicht 6 insbesondere ein Abfrage-Antwort-Verfahren. Das Abfrage-Antwort-Verfahren basiert auf der PKI-Architektur. Die PKI-Architektur umfasst eine vertrauenswürdige Entität oder Zertifikatsentität 601, eine externe Entität oder die entfernte Zentrale 602 und die zu schützende Vorrichtung oder ECU 102. Die entfernte Zentrale 602 kann eine mit dem OEM assoziierte Entwicklungs- oder Prüfeinrichtung sein. Die vertrauenswürdige Entität oder die Zertifikatsentität 601 kann eine Einrichtung sein, die Zertifikate (TSL- oder SSL-Zertifikate) ausstellt. Die vertrauenswürdige Entität 601 kann unter Verwendung ihres privaten Schlüssels ein Stammzertifikat erzeugen und einen öffentlichen Stammschlüssel in das Zertifikat einfügen. Das Zertifikat mit dem öffentlichen Stammschlüssel wird in der ECU 102 (vorzugsweise im HSM 201) gespeichert. Ferner erwähnt das Zertifikat die Quellen, die die vertrauenswürdige Entität 601 als authentisch verifiziert haben. Wenn die entfernte Zentrale 602 Kommunikation mit der ECU 102 herstellen muss, müssen die Integrität und die Authentizität der entfernten Zentrale 602 verifiziert werden. Dies ist unter Verwendung der Abfrage-Antwort-Technik möglich. Die entfernte Zentrale 602 sendet eine Anforderungsnachricht 610 an die ECU 102, die die Abfrage anfordert. Die ECU 102 erzeugt 612 die Abfrage. In einer Ausführungsform kann die Abfrage eine Zufallszahl sein, die unter Verwendung des RNG 301 erzeugt wird. Ferner sendet 614 die ECU 102 die Abfrage an die entfernte Zentrale 602. Die entfernte Zentrale 602 leitet die empfangene Abfrage dann an die vertrauenswürdige Entität 601 weiter 616. Die vertrauenswürdige Entität 601 authentifiziert die entfernte Zentrale 602 und erzeugt 618 eine Antwort auf die Abfrage. Die Antwort auf die Abfrage umfasst einen Hashwert der Abfrage und ein Zertifikat. Der Hashwert der Abfrage ist unter Verwendung eines privaten Schlüssels der entfernten Zentrale 602 signiert, und ein entsprechender öffentlicher Schlüssel ist im Zertifikat enthalten. In einer Ausführungsform wird das Schlüsselpaar (der private Schlüssel und der öffentliche Schlüssel der entfernten Zentrale 602) von der vertrauenswürdigen Entität 601 erzeugt. Ferner wird die Antwort an die entfernte Zentrale 602 gesendet 620, die ihrerseits die Antwort an die ECU 102 weiterleitet 622. Die ECU 102 verifiziert 624 die Authentizität der Antwort unter Verwendung des öffentlichen Stammschlüssels, der im HSM 201 gespeichert ist. Wenn die Authentizität verifiziert ist, wird die Integrität durch Entschlüsseln der Signatur unter Verwendung des öffentlichen Schlüssels der entfernten Zentrale 602 verifiziert. Wenn sowohl die Authentizität als auch die Integrität verifiziert sind, wird der entfernten Zentrale Zugriff zum Kommunizieren mit der ECU 102 gewährt. Daher ist der Zugriff auf die ECU 102 stets sicher.
-
7 veranschaulicht ein beispielhaftes Kraftfahrzeugsystem 700. Das Kraftfahrzeugsystem 700 umfasst die Mehrzahl von ECUs 102a, 102b, eine Gateway-Vorrichtung 702 und eine Kommunikationssteuereinheit (CCU - Communication Control Unit) 701. In einer Ausführungsform kommuniziert die Mehrzahl von ECUs 102a, 102b über ein sicheres fahrzeuginternes Kommunikationsnetzwerk miteinander. Das Fahrzeugkommunikationsnetzwerk kann durch Implementieren des MAC-Werts für Protokolldateneinheiten (PDUs - Protocol Data Units) gesichert werden, die von jeder ECU gesendet werden. Außerdem gewährleistet ein auf den MAC-Wert gekürzter Aktualitätswert eine sichere Kommunikation zwischen ECUs und ein Angriff auf das Fahrzeugkommunikationsnetzwerk kann erkannt werden. Ferner sichert die Gateway-Vorrichtung 702 das ECU-Netzwerk des Fahrzeugs durch Implementieren von Regeln und Trennen von Domänen. Außerdem ist die Kommunikation des Fahrzeugs 102 mit externen Entitäten wie etwa anderen Fahrzeugen und entfernten Zentralen gesichert, da die Kommunikation über die CCU 701 geleitet und das Abfrage-Antwort-Verfahren verwendet wird. Ferner können unter Verwendung der MAC-Werte für Flash-Laufwerke auch Firmwareaktualisierungen hinsichtlich ihrer Integrität verifiziert werden. Infolgedessen ist die Fahrzeugarchitektur in vier Ebenen 710, 712, 714, 716 geteilt, die ein sicheres Kraftfahrzeugsystem 700 gewährleisten.
-
Die Begriffe „(irgend)eine Ausführungsform“, „Ausführungsform“, „Ausführungsformen“, „die Ausführungsform“, „die Ausführungsformen“, „eine oder mehrere Ausführungsformen“, „einige Ausführungsformen“ und „eine (bestimmte) Ausführungsform“ beziehen sich auf „eine oder mehrere (aber nicht alle) Ausführungsformen der Erfindung(en)“, sofern nicht ausdrücklich anders angegeben.
-
Die Begriffe „umfassend“, „aufweisend“ und Varianten davon bedeuten „umfassend, ohne darauf beschränkt zu sein“, sofern nicht ausdrücklich anders angegeben.
-
Die Aufzählung von Elementen bedeutet nicht, dass jedes oder alle der Elemente sich gegenseitig ausschließt bzw. ausschließen, sofern nicht ausdrücklich anders angegeben. Die Begriffe „ein“, „eine“ und „der, die, das“ bedeuten „eines oder mehrere“, sofern nicht ausdrücklich anders angegeben.
-
Eine Beschreibung einer Ausführungsform mit mehreren Komponenten in Kommunikation miteinander bedeutet nicht, dass alle dieser Komponenten erforderlich sind. Im Gegenteil wird eine Vielfalt von optionalen Komponenten beschrieben, um die große Vielfalt an möglichen Ausführungsformen der Erfindung zu veranschaulichen.
-
Es versteht sich, dass, wenn hierin eine einzige Vorrichtung oder ein einziger Gegenstand beschrieben wird, mehr als eine Vorrichtung/ein Gegenstand (einerlei, ob sie zusammenwirken oder nicht) anstelle einer einzigen Vorrichtung/eines einzigen Gegenstands verwendet werden kann. Ähnlich versteht es sich, dass, wenn hierin mehr als eine Vorrichtung oder mehr als ein Gegenstand beschrieben wird (einerlei, ob sie zusammenwirken oder nicht), eine einzige Vorrichtung bzw. ein einziger Gegenstand anstelle der mehreren Vorrichtungen oder Gegenstände oder eine verschiedene Anzahl von Vorrichtungen/Gegenständen anstelle der angegeben Anzahl von Vorrichtungen oder Programmen verwendet werden kann. Die Funktionalität und/oder die Merkmale einer Vorrichtung können alternativ durch eine oder mehrere andere Vorrichtungen realisiert werden, die nicht ausdrücklich als solch eine Funktionalität bzw. solche Merkmale aufweisend beschrieben werden. Demnach brauchen andere Ausführungsformen der Erfindung die Vorrichtung selbst nicht zu umfassen.
-
Die veranschaulichten Vorgänge von 4 und 5 stellen bestimmte Ereignisse dar, die in einer bestimmten Reihenfolge stattfinden. In alternativen Ausführungsformen können bestimmte Vorgänge in einer anderen Reihenfolge durchgeführt, modifiziert oder entfernt werden. Außerdem können Schritte zu der oben beschriebenen Logik hinzugefügt werden und dennoch den beschriebenen Ausführungsformen entsprechen. Ferner können hierin beschriebene Vorgänge der Reihe nach stattfinden, oder bestimmte Vorgänge können parallel verarbeitet werden. Darüber hinaus können Vorgänge durch eine einzige Verarbeitungseinheit oder durch verteilte Verarbeitungseinheiten durchgeführt werden.
-
Schlussendlich wurde die in der Beschreibung verwendete Sprache hauptsächlich zum Zwecke der Lesbarkeit und Unterweisung ausgewählt und möglicherweise nicht, um den Gegenstand der Erfindung abzugrenzen oder einzuschränken. Der Schutzbereich der Erfindung soll daher nicht durch diese detaillierte Beschreibung, sondern vielmehr durch jegliche Ansprüche beschränkt werden, die auf einer hierauf basierenden Anwendung beruhen. Demgemäß soll die Offenbarung der Ausführungsformen der Erfindung den Schutzbereich der Erfindung, der in den folgenden Ansprüche dargelegt ist, veranschaulichen und nicht einschränken.
-
Obwohl verschiedene Aspekte und Ausführungsformen hierin beschrieben wurden, sind für den Fachmann andere Aspekte und Ausführungsformen zu erkennen. Die verschiedenen, hierin offenbarten Ausführungsformen dienen lediglich Veranschaulichungszwecken und sind nicht als Einschränkung gedacht, wobei der wahre Schutzumfang und Geist durch die folgenden Ansprüche angezeigt wird.