-
Die Erfindung betrifft ein Verfahren zum Überwachen einer Komponente einer Wirkkette für eine zumindest teilautomatisierte Fahrfunktion eines Kraftfahrzeugs, eine Vorrichtung, ein Computerprogramm und ein maschinenlesbares Speichermedium.
-
Stand der Technik
-
Die Offenlegungsschrift
DE 10 2015 119 031 A1 offenbart ein Verfahren zur Übergabe zumindest eines Übergabewerts von einem ersten Programm an ein zweites Programm.
-
Die Veröffentlichung
DE 11 2016 006 867 T5 der internationalen Anmeldung mit der Veröffentlichungsnummer
WO 2017 / 198 291 A1 offenbart ein Peer-to-Peer-Netzwerk.
-
Die Veröffentlichung
DE 11 2017 001 853 T5 der internationalen Anmeldung mit der Veröffentlichungsnummer
WO 2017 / 210 145 A1 offenbart ein Verfahren zum Bereitstellen von Bestätigungsschlüsseln in sicheren Enklaven.
-
Die Offenlegungsschrift
US 2020 / 0 366 702 A1 beschreibt eine verteilte Überwachung, Bewertung und Reaktion für mehrere Geräte. Hierbei werden Daten werden von einer Reihe von Geräten gesammelt. Die Daten sind mit den Geräten, mobilen Anwendungsprogrammen (Apps), Webanwendungen, Benutzern oder Kombinationen davon verbunden. Anhand der gesammelten Daten wird eine Norm erstellt. Die Norm wird mit den von einem bestimmten Gerät erfassten Daten verglichen. Liegt die Abweichung zwischen der Norm und den von einem bestimmten Gerät erfassten Daten außerhalb eines Schwellenwerts, wird eine Reaktion eingeleitet.
-
Die Offenlegungsschrift
US 2002 / 0 099 955 A1 offenbart ein Verfahren zur sicheren Verteilung von digitalem Inhalt an eine nicht vertrauenswürdige Umgebung, das die folgenden Schritte umfasst: Verwenden einer relativ vertrauenswürdigen Umgebung innerhalb der nicht vertrauenswürdigen Umgebung, die zum Empfangen des digitalen Inhalts betreibbar ist, wobei die relativ vertrauenswürdige Umgebung Mechanismen zur Einschränkung von Manipulationen an der relativ vertrauenswürdigen Umgebung umfasst. Die relativ vertrauenswürdige Umgebung kann hierbei eine sogenannte Watchdog-Komponente aufweisen, die in der Lage ist, andere Komponenten der relativ vertrauenswürdigen Umgebung zu überwachen, wobei die Überwachung beispielsweise eine Authentifizierung eines, insbesondere kryptografischen, Zertifikats umfasst.
-
Die Offenlegungsschrift
DE 10 2019 214 413 A1 offenbart ein Verfahren zum zumindest teilautomatisierten Führen eines Kraftfahrzeugs, umfassend die folgenden Schritte: Empfangen von Betriebsbedingungssignalen, welche eine Betriebsbedingung fuer das Kraftfahrzeug repräsentieren, welche erfüllt sein muss, damit das Kraftfahrzeug zumindest teilautomatisiert geführt werden darf, Empfangen von Zustandssignalen, welche einen Zustand des Kraftfahrzeugs und/oder seiner Umgebung repräsentieren, Prüfen basierend auf dem Zustand, ob die Betriebsbedingung erfüllt ist, um ein Ergebnis des Prüfens zu ermitteln, Erzeugen von Steuersignalen zum zumindest teilautomatisierten Steuern einer Quer- und/oder Längsführung des Kraftfahrzeugs basierend auf dem Ergebnis des Prüfens, um das Kraftfahrzeug basierend auf den erzeugten Steuersignalen zumindest teilautomatisiert zu führen und Ausgeben der erzeugten Steuersignale.
-
Die Offenlegungsschrift
DE 10 2019 214 413 A1 offenbart die Verwendung eines Integritätsmanifest-Zertifikats zur Überprüfung des Zustands einer Plattform. Eine Geräteidentität eines Geräts, wird in einem Sicherheits-Coprozessor bereitgestellt und gespeichert, um einen Integritätsnachweis vom Sicherheits-Coprozessor abzurufen, wobei die Geräteidentität mit einem Zertifikat verknüpft ist, das von einer ersten Autorität signiert ist. Der Integritätsnachweis enthält eine Darstellung jeder einer Vielzahl von Hardware-Komponenten sowie eine Darstellung einer Vielzahl von in der Vorrichtung enthaltenen Firmware-Komponenten. Der Integritätsnachweis wird einer Zertifizierungsstation zur Verfügung gestellt. Die Zertifizierungsstation bestimmt, dass der Integritätsnachweis ein erwarteter Wert ist, der auf einem erwarteten Bereitstellungszustand des Gerätes und der Geräteidentität basiert. Die Zertifizierungsstation signiert unter Verwendung einer zweiten Autorität ein Integritätsmanifest-Zertifikat, das auf dem Integritätsnachweis und der Geräteidentität basiert. Das Integritätsmanifest-Zertifikat wird gespeichert.
-
Offenbarung der Erfindung
-
Die der Erfindung zugrundeliegende Aufgabe ist darin zu sehen, ein Konzept zum effizienten Überwachen einer Komponente einer Wirkkette für eine zumindest teilautomatisierte Fahrfunktion eines Kraftfahrzeugs bereitzustellen.
-
Diese Aufgabe wird mittels des jeweiligen Gegenstands der unabhängigen Ansprüche gelöst. Vorteilhafte Ausgestaltungen der Erfindung sind Gegenstand von jeweils abhängigen Unteransprüchen.
-
Nach einem ersten Aspekt wird ein Verfahren zum Überwachen einer Komponente einer Wirkkette für eine zumindest teilautomatisierte Fahrfunktion eines Kraftfahrzeugs unter Verwendung eines Watchdogs, in welchem eine Enklave implementiert ist, bereitgestellt, umfassend die folgenden Schritte: Erzeugen eines ersten Zertifikats für die Komponente der Wirkkette mittels der ersten Enklave,
Ausgeben des ersten Zertifikats an die Komponente mittels des Watchdogs, Empfangen von durch die Komponente ausgegebene Ausgangsdaten mittels des Watchdogs,
Prüfen der Ausgangsdaten basierend auf dem ersten Zertifikat mittels der ersten Enklave, um ein erstes Prüfergebnis auszugeben,
Triggern einer Sicherheitsaktion mittels des Watchdogs basierend auf dem ersten Prüfergebnis.
-
Nach einem zweiten Aspekt wird eine Vorrichtung bereitgestellt, die eingerichtet ist, die Schritte des Verfahrens nach dem ersten Aspekt auszuführen.
-
Nach einem dritten Aspekt wird ein Computerprogramm bereitgestellt, welches Befehle umfasst, die bei Ausführung des Computerprogramms durch einen Computer, beispielsweise durch die Vorrichtung nach dem zweiten Aspekt, diesen veranlassen, ein Verfahren gemäß dem ersten Aspekt auszuführen.
-
Nach einem vierten Aspekt wird ein maschinenlesbares Speichermedium bereitgestellt, auf dem das Computerprogramm nach dem dritten Aspekt gespeichert ist.
-
Die Erfindung basiert auf der Erkenntnis und schließt diese mit ein, dass die obige Aufgabe dadurch gelöst werden kann, dass die Komponente der Wirkkette mittels eines Watchdogs überwacht wird, in welchem eine Enklave implementiert ist. Schritte, welche innerhalb der Enklave, also mittels der Enklave, durchgeführt werden, sind besonders vertrauenswürdig. Dies bedeutet, dass den entsprechenden Ergebnissen getraut werden kann. Die entsprechenden Ergebnisse weisen also einen hohen Grad an Vertrauenswürdigkeit auf. Dies ist insbesondere darin begründet, dass eine Enklave ein Bereich innerhalb eines Adressraums eines Prozesses ist, wobei der Bereich speziell durch eine CPU, also durch einen Prozessor geschützt wird, wobei für den Bereich alle direkten Zugriffe, auch von privilegierten Prozessen, durch die CPU kontrolliert und/oder verhindert werden. Dieser spezielle Schutz des Bereichs umfasst z. B. eine transparente Speicherverschlüsselung, insbesondere mit Integritätsschutz. Neben den klassischen Aufgaben der Enklave kann diese gemäß dem hier beschriebenen Konzept insbesondere auch die Korrektheit einer Funktion, eines Prozesses und/oder einer sequenziellen Abfolge und/oder zeitlichen Abfolge in nachprüfbar sicherstellen. Kann dies zum Beispiel durch die Enklave nicht mehr festgestellt werden, dann triggert die Enklave zum Beispiel nicht mehr den Watchdog, was ein Triggern der Sicherheitsaktion durch den Watchdog zur Folge hat.
-
Dies bedeutet, dass Zertifikate, welche durch die Enklave erzeugt werden, in der Regel nicht durch schädliche Software manipuliert werden können. Dadurch kann z. B. basierend auf dem ersten Zertifikat eine Funktion, welche die Komponente ausführen und/oder bereitstellen soll, effizient kryptographisch abgesichert werden kann. So kann z. B. mittels des Watchdogs in den Ausgangsdaten festgestellt werden, ob diese manipuliert wurden, so dass, wenn dies der Fall ist, z. B. eine Sicherheitsaktion mittels des Watchdogs getriggert werden kann.
-
Somit sind also z. B. Manipulationen an der Komponente und/oder an den Ausgansdaten effizient detektierbar, so dass letztlich die Komponente der Wirkkette für die zumindest teilautomatisierte Fahrfunktion effizient überwacht werden kann.
-
In einer Ausführungsform ist die Wirkkette in einer Infrastruktur implementiert. Dadurch wird z. B. der technische Vorteil bewirkt, dass die Wirkkette effizient implementiert werden kann.
-
In einer Ausführungsform ist vorgesehen, dass die Wirkkette im Kraftfahrzeug implementiert ist. Dadurch wird z. B. der technische Vorteil bewirkt, dass die Wirkkette effizient implementiert werden kann.
-
In einer Ausführungsform ist die Wirkkette teilweise in einer Infrastruktur implementiert und ist teilweise im Kraftfahrzeug implementiert. Dadurch wird z. B. der technische Vorteil bewirkt, dass die Wirkkette effizient implementiert werden kann.
-
In einer Ausführungsform ist eine Komponente im Sinne der Beschreibung eine kraftfahrzeugeigene Komponente oder ist eine infrastruktureigene Komponente. Das heißt also, dass eine Komponente Teil des Kraftfahrzeugs sein kann oder Teil der Infrastruktur. D. h. also insbesondere, dass die Komponente von dem Kraftfahrzeug umfasst sein kann oder von der Infrastruktur.
-
Da eine Enklave im Sinne der Beschreibung insbesondere sichere Aktionen durchführen kann, kann die Enklave auch als eine sichere Enklave bezeichnet werden.
-
In einer Ausführungsform ist der Watchdog in Hardware und/oder in Software implementiert. In einer Ausführungsform ist die Enklave in Software und/oder in Hardware implementiert.
-
Dadurch wird z. B. der technische Vorteil bewirkt, dass der Watchdog und/oder die Enklave effizient implementiert werden können.
-
Z. B. wird eine Enklave basierend auf der Programmierungsreferenz Intel ® Software-Guard Extension (SGX) oder ARM® Trust Zone implementiert sein.
-
In einer Ausführungsform umfasst das Verfahren nach dem ersten Aspekt ein Implementieren der ersten Enklave in dem Watchdog.
-
Ein Watchdog im Sinne der Beschreibung bezeichnet eine Funktion zur Ausfallerkennung und/oder zur Erkennung und/oder zur Detektion einer Fehlfunktion.
-
In einer Ausführungsform ist vorgesehen, dass das Prüfen umfasst, ob die Ausgangsdaten das erste Zertifikat und/oder ein Komponenten-Zertifikat umfassen, welches unter Verwendung des ersten Zertifikats erzeugt wurde, sodass das erste Prüfergebnis angibt, was für ein Zertifikat die Ausgangsdaten enthalten.
-
Dadurch wird z. B. der technische Vorteil bewirkt, dass die Ausgangsdaten effizient geprüft werden können.
-
Gemäß einer Ausführungsform ist vorgesehen, dass das Prüfen umfasst, ob die Ausgangsdaten innerhalb eines vorbestimmten Zeitintervalls nach Ausgeben des ersten Zertifikats empfangen wurden, sodass das erste Prüfergebnis angibt, ob die Ausgangsdaten innerhalb eines vorbestimmten Zeitintervalls nach Ausgeben des ersten Zertifikats empfangen wurden.
-
Dadurch wird z. B. der technische Vorteil bewirkt, dass das Prüfen effizient durchgeführt werden kann.
-
Z. B. ist vorgesehen, dass, wenn das erste Prüfergebnis angibt, dass die Ausgangsdaten das erste Zertifikat und/oder ein Komponenten-Zertifikat umfassen, welches unter Verwendung des ersten Zertifikats erzeugt wurde, die Sicherheitsaktion nicht getriggert wird, also keine Sicherheitsaktion getriggert wird. Anderenfalls ist z. B. vorgesehen, dass die Sicherheitsaktion getriggert wird.
-
Z. B. ist vorgesehen, dass keine Sicherheitsaktion getriggert wird, wenn das erste Prüfergebnis angibt, dass die Ausgangsdaten innerhalb des vorbestimmten Zeitintervalls nach Ausgeben des ersten Zertifikats empfangen wurden. Anderenfalls ist z. B. vorgesehen, dass eine Sicherheitsaktion getriggert wird.
-
In einer Ausführungsform ist vorgesehen, dass das erste Zertifikat mit einer Zeitangabe mittels des Watchdogs verknüpft wird, um die Zeitangabe kryptographisch abzusichern, sodass die entsprechend kryptographisch abgesicherte Zeitangabe an die Komponente ausgegeben wird.
-
Dadurch wird z. B. der technische Vorteil bewirkt, dass die Komponente eine kryptografisch abgesicherte Zeitangabe verwenden kann.
-
Gemäß einer Ausführungsform ist vorgesehen, dass in dem Watchdog eine zweite Enklave implementiert ist, wobei das erste Zertifikat und die Ausgangsdaten an die zweite Enklave ausgegeben werden, sodass die Ausgangsdaten basierend auf dem ersten Zertifikat mittels der zweiten Enklave geprüft werden, um ein zweites Prüfergebnis auszugeben, wobei die Sicherheitsaktion basierend auf dem zweiten Prüfergebnis getriggert wird.
-
Dadurch wird z. B. der technische Vorteil bewirkt, dass durch die zweite Enklave effizient eine Redundanz bewirkt werden kann. Die zweite Enklave kann somit effizient die erste Enklave überwachen.
-
Ausführungen, die im Zusammenhang mit der ersten Enklave gemacht sind, gelten analog für die zweite Enklave und umgekehrt.
-
Z. B. ist vorgesehen, dass die zweite Enklave ein zweites Zertifikat für die Komponente der Wirkkette mittels der zweiten Enklave erzeugt wird. Mittels des Watchdogs wird z. B. das zweite Zertifikat an die Komponente ausgegeben. Z. B. wird das zweite Zertifikat an die erste Enklave ausgegeben, so dass die Ausgangsdaten basiert auf dem zweiten Zertifikat mittels der ersten Enklave geprüft werden, um das erste Prüfergebnis auszugeben. Somit können sich z. B. die beiden Enklaven effizient gegenseitig überwachen, so dass z. B. systematische und/oder zufällige Fehler beherrscht werden können.
-
Gemäß einer Ausführungsform ist vorgesehen, dass die Sicherheitsaktion ein Element ausgewählt aus der folgenden Gruppe von Sicherheitsaktionen ist: Verwerfen der Ausgangsdaten, Verwerfen eines Ausgangsdatenflusses der Komponente, Verwerfen eines die Ausgangsdaten umfassenden Datenpakets, Verwerfen der Komponente als Quelle von Informationen.
-
Dadurch wird z. B. der technische Vorteil bewirkt, dass besonders geeignete Sicherheitsaktionen vorgesehen sein können.
-
Wenn für die Sicherheitsaktion der Singular verwendet ist, soll stets der Plural und umgekehrt mitgelesen werden. Das bedeutet insbesondere, dass z. B. mehrere Sicherheitsaktionen getriggert werden können.
-
Gemäß einer Ausführungsform ist vorgesehen, dass die Komponente ein Element ausgewählt aus der folgenden Gruppe von Komponenten ist: Sensor, RSU, ICU, VCU, Aktor, Umfeldsensor, Hauptsteuergerät, Aktorsteuergerät, Prozessor, Kommunikationsschnittstelle, Aktorsensor, Speichermedium, Übertragungsmedium, Datenverarbeiter.
-
Dadurch wird z. B. der technische Vorteil bewirkt, dass besonders wichtige Komponenten der Wirkkette überwacht werden können.
-
Die Abkürzung „ICU“ steht für die englischen Begriffe „Instruction Cache Unit“. „Instruction Cache Unit“ kann ins Deutsche mit „Befehlscache-Einheit“ übersetzt werden. Ein Befehlscache ist z. B. ein spezieller Cache-Speicher zum Zwischenspeichern von Befehlen.
-
Die Abkürzung „VCU“ steht für die englischen Begriffe „Vehicle Control Unit“. „Vehicle Control Unit“ kann ins Deutsche mit „Kraftfahrzeug-Steuergerät“ übersetzt werden.
-
Die Abkürzung „RSU“ steht für „Road Side Unit“. Der Begriff „Road Side Unit“ kann ins Deutsche mit „straßenseitige Einheit“ oder mit „straßenseitige Infrastruktureinheit“ übersetzt werden. Anstelle des „RSU“ können auch folgende Begriffe synonym verwendet werden: straßenseitige Einheit, straßenseitige Infrastruktureinheit, Kommunikationsmodul, straßenseitiges Kommunikationsmodul, straßenseitige Funkeinheit, straßenseitige Sendestation.
-
Nach einer Ausführungsform ist vorgesehen, dass das Verfahren nach dem ersten Aspekt ein computerimplementiertes Verfahren ist.
-
Eine zumindest teilautomatisierte Fahrfunktion kann das Kraftfahrzeug zumindest teilautomatisiert führen.
-
Die Formulierung „zumindest teilautomatisiertes Führen“ umfasst einen oder mehrere der folgenden Fälle: assistiertes Führen, teilautomatisiertes Führen, hochautomatisiertes Führen, vollautomatisiertes Führen. Die Formulierung „zumindest teilautomatisiert“ umfasst also einen oder mehrere der folgenden Formulierungen: assistiert, teilautomatisiert, hochautomatisiert, vollautomatisiert.
-
Assistiertes Führen bedeutet, dass ein Fahrer des Kraftfahrzeugs dauerhaft entweder die Quer- oder die Längsführung des Kraftfahrzeugs ausführt. Die jeweils andere Fahraufgabe (also ein Steuern der Längs- oder der Querführung des Kraftfahrzeugs) wird automatisch durchgeführt. Das heißt also, dass bei einem assistierten Führen des Kraftfahrzeugs entweder die Quer- oder die Längsführung automatisch gesteuert wird.
-
Teilautomatisiertes Führen bedeutet, dass in einer spezifischen Situation (zum Beispiel: Fahren auf einer Autobahn, Fahren innerhalb eines Parkplatzes, Überholen eines Objekts, Fahren innerhalb einer Fahrspur, die durch Fahrspurmarkierungen festgelegt ist) und/oder für einen gewissen Zeitraum eine Längs- und eine Querführung des Kraftfahrzeugs automatisch gesteuert werden.
-
Ein Fahrer des Kraftfahrzeugs muss selbst nicht manuell die Längs -und Querführung des Kraftfahrzeugs steuern. Der Fahrer muss aber das automatische Steuern der Längs- und Querführung dauerhaft überwachen, um bei Bedarf manuell eingreifen zu können. Der Fahrer muss jederzeit zur vollständigen Übernahme der Kraftfahrzeugführung bereit sein.
-
Hochautomatisiertes Führen bedeutet, dass für einen gewissen Zeitraum in einer spezifischen Situation (zum Beispiel: Fahren auf einer Autobahn, Fahren innerhalb eines Parkplatzes, Überholen eines Objekts, Fahren innerhalb einer Fahrspur, die durch Fahrspurmarkierungen festgelegt ist) eine Längs- und eine Querführung des Kraftfahrzeugs automatisch gesteuert werden. Ein Fahrer des Kraftfahrzeugs muss selbst nicht manuell die Längs -und Querführung des Kraftfahrzeugs steuern. Der Fahrer muss das automatische Steuern der Längs- und Querführung nicht dauerhaft überwachen, um bei Bedarf manuell eingreifen zu können. Bei Bedarf wird automatisch eine Übernahmeaufforderung an den Fahrer zur Übernahme des Steuerns der Längs- und Querführung ausgegeben, insbesondere mit einer ausreichenden Zeitreserve ausgegeben. Der Fahrer muss also potenziell in der Lage sein, das Steuern der Längs- und Querführung zu übernehmen. Grenzen des automatischen Steuerns der Quer- und Längsführung werden automatisch erkannt. Bei einem hochautomatisierten Führen ist es nicht möglich, in jeder Ausgangssituation automatisch einen risikominimalen Zustand herbeizuführen.
-
Vollautomatisiertes Führen bedeutet, dass in einer spezifischen Situation (zum Beispiel: Fahren auf einer Autobahn, Fahren innerhalb eines Parkplatzes, Überholen eines Objekts, Fahren innerhalb einer Fahrspur, die durch Fahrspurmarkierungen festgelegt ist) eine Längs- und eine Querführung des Kraftfahrzeugs automatisch gesteuert werden. Ein Fahrer des Kraftfahrzeugs muss selbst nicht manuell die Längs -und Querführung des Kraftfahrzeugs steuern. Der Fahrer muss das automatische Steuern der Längs- und Querführung nicht überwachen, um bei Bedarf manuell eingreifen zu können. Vor einem Beenden des automatischen Steuerns der Quer- und Längsführung erfolgt automatisch eine Aufforderung an den Fahrer zur Übernahme der Fahraufgabe (Steuern der Quer- und Längsführung des Kraftfahrzeugs), insbesondere mit einer ausreichenden Zeitreserve. Sofern der Fahrer nicht die Fahraufgabe übernimmt, wird automatisch in einen risikominimalen Zustand zurückgeführt. Grenzen des automatischen Steuerns der Quer- und Längsführung werden automatisch erkannt. In allen Situationen ist es möglich, automatisch in einen risikominimalen Systemzustand zurückzuführen.
-
Nach einer Ausführungsform ist vorgesehen, dass das Verfahren gemäß dem ersten Aspekt mittels der Vorrichtung nach dem zweiten Aspekt ausgeführt oder durchgeführt wird.
-
Vorrichtungsmerkmale ergeben sich insbesondere aus entsprechenden Verfahrensmerkmalen und umgekehrt. D. h. also insbesondere, dass sich technische Funktionalitäten der Vorrichtung nach dem zweiten Aspekt analog aus entsprechenden technischen Funktionalitäten des Verfahrens nach dem ersten Aspekt und umgekehrt ergeben.
-
Eine zumindest teilautomatisierte Fahrfunktion ist gemäß einer Ausführungsform ein Element ausgewählt aus der folgenden Gruppe von zumindest teilautomatisierte Fahrfunktionen: Stauassistenzfunktion, Parkassistenzfunktion, Spurhalteassistenzfunktion, Überholassistenzfunktion, Längsführungsfunktion, Querführungsfunktion, Längs- und Querführungsfunktion.
-
Dadurch wird z. B. der technische Vorteil bewirkt, dass besonders geeignete zumindest teilautomatisierte Fahrfunktionen gewählt werden können.
-
Ein Umfeldsensor im Sinne der Beschreibung ist gemäß einer Ausführungsform einer der folgenden Umfeldsensoren: Radarsensor, LiDAR-Sensor, Ultraschallsensor, Videosensor, Magnetfeldsensor, kapazitativer Sensor, Temperatursensor, Feuchtigkeitssensor, Luftfeuchtigkeitssensor, Audiosensor und Infrarotsensor.
-
Nach einer Ausführungsform ist vorgesehen, dass eine Applikation, welche durch die Komponente ausgeführt wird, das erste und/oder das zweite Zertifikat der entsprechenden Enklave erhält, wobei zum Beispiel das oder die Zertifikate an redundanten Stellen in der Applikation mit zum Beispiel applikationsspezifischen Informationen und/oder einem Zeitstempel ergänzt werden. Diese Daten werden als Ausgangsdaten zum Beispiel in einem definierten Zeitfenster der oder den Enklaven zur Prüfung zur Verfügung gestellt.
-
Ausgangsdaten umfassen gemäß einer Ausführungsform Umfelddaten, welche ein Umfeld des Kraftfahrzeugs repräsentieren. Ausgangsdaten umfassen gemäß einer Ausführungsform eine Objektliste, welche Objekte im Umfeld des Kraftfahrzeugs angibt.
-
Die in der Beschreibung beschriebenen Ausführungsformen und Ausführungsbeispiele können jeweils in beliebiger Form untereinander kombiniert werden, auch wenn dies nicht explizit beschrieben ist.
-
Ausführungsbeispiele der Erfindung sind in den Zeichnungen dargestellt und in der nachfolgenden Beschreibung näher erläutert. Es zeigen:
- 1 ein Ablaufdiagramm eines Verfahrens zum Überwachen einer Komponente einer Wirkkette für eine zumindest teilautomatisierte Fahrfunktion eines Kraftfahrzeugs,
- 2 eine Vorrichtung,
- 3 ein maschinenlesbares Speichermedium und
- 4 ein Blockdiagramm.
-
Im Folgenden können für gleiche Merkmale gleiche Bezugszeichen verwendet werden.
-
1 zeigt ein Ablaufdiagramm eines Verfahrens zum Überwachen einer Komponente einer Wirkkette für eine zumindest teilautomatisierte Fahrfunktion eines Kraftfahrzeugs unter Verwendung eines Watchdogs, in welchem eine Enklave implementiert ist, umfassend die folgenden Schritte:
- Erzeugen 101 eines ersten Zertifikats für die Komponente der Wirkkette mittels der ersten Enklave,
- Ausgeben 103 des ersten Zertifikats an die Komponente mittels des Watchdogs, Empfangen 105 von durch die Komponente ausgegebene Ausgangsdaten mittels des Watchdogs,
- Prüfen 107 der Ausgangsdaten basierend auf dem ersten Zertifikat mittels der ersten Enklave, um ein erstes Prüfergebnis auszugeben,
- Triggern 109 einer Sicherheitsaktion mittels des Watchdogs basierend auf dem ersten Prüfergebnis.
-
2 zeigt eine Vorrichtung 201, die eingerichtet ist, alle Schritte des Verfahrens nach dem ersten Aspekt auszuführen.
-
3 zeigt ein maschinenlesbares Speichermedium 301, auf dem ein Computerprogramm 303 gespeichert ist. Das Computerprogramm 303 umfasst Befehle, die bei Ausführung des Computerprogramms 303 durch einen Computer diesen veranlassen, ein Verfahren gemäß dem ersten Aspekt auszuführen.
-
4 zeigt ein Blockdiagramm 401, welches das hier beschriebene Konzept beispielhaft erläutern soll.
-
Gemäß dem Blockdiagramm 401 ist ein erster Umfeldsensor 403 und ist ein zweiter Umfeldsensor 405 vorgesehen, welche jeweils ein Umfeld eines Kraftfahrzeugs erfassen. Der Erfassung entsprechenden Umfeldsensordaten, werden einer Sensorfusionseinheit 407 bereitgestellt. D.h., das heißt, dass die Sensorfusionseinheit 407 eine Sensorfusion der Umfeldsensordaten der Umfeldsensoren 403, 405 durchführt. Ein Ergebnis dieser Sensorfusion wird einer RSU 409 bereitgestellt, also an diese übermittelt.
-
Somit ist eine Wirkkette 410 für eine zumindest teilautomatisierte Fahrfunktion eines Kraftfahrzeugs gebildet.
-
Die Wirkkette 410 umfasst als Komponenten den ersten Umfeldsensor 403, den zweiten Umfeldsensor 405, die Sensorfusionseinheit 407 und die RSU 409.
-
Zum Überwachen der Umfeldsensoren 403, 405 und der Sensorfusionseinheit 407 ist ein Watchdog 411 vorgesehen. Dieser erhält sowohl die Umfeldsensordaten als Ausgangsdaten der Umfeldsensoren 403, 405 als auch ein Ergebnis der Sensorfusionseinheit 407 als weitere Ausgangsdaten.
-
Der Watchdog 411 umfasst eine erste Recheneinheit 413 und umfasst eine zweite Recheneinheit 415, welche die empfangenen Ausgansdaten der Komponenten der Wirkkette 410 verarbeiten. Weiter umfasst der Watchdog 411 eine digitale Karte 417 eines Umfelds des Kraftfahrzeugs. Die Komponenten der Wirkkette generieren zum Beispiel auf Basis der Vorgabe der Enklaven, applikationsspezifische Informationen, die im richtigen Zeitfenster an die Enklave zurückgemeldet werden müssen.
-
Die digitale Karte 417 ist ein Beispiel, wie das Umfeld des Kraftfahrzeugs zum Beispiel durch ein Plausibilisieren der Umfeldsensoren des Kraftfahrzeugs und/oder Infrastruktur präzise abgeglichen werden kann. Die Enklave(n) prüft/prüfen die Gleichheit der beiden Ergebnisse einer jeweiligen Analyse der Umfeldsensordaten durch die beiden Recheneinheiten 413, 415 im richtigen Zeitfenster. Die Ergebnisse der jeweiligen Analysen gibt zum Beispiel an, dass jeweils ein Objekt im Umfeld des Kraftfahrzeugs detektiert wurde. Allerdings hat die erste Recheneinheit 413 ein erstes Objekt 423, symbolisch dargestellt durch ein „x“, detektiert und hat die zweite Recheneinheit ein zweites Objekt 425, symbolisch dargestellt durch ein „O“, detektiert. Die beiden Recheneinheiten 413, 415 haben also unterschiedliche Objekte im gleichen Zeitfenster detektiert. Die Enklave(n) kommen also zum dem Ergebnis, dass die jeweiligen Ergebnisse der beiden Recheneinheiten 413, 415 ungleich sind, was dann das erste Prüfergebnis angibt, sodass der Watchdog 411 eine Sicherheitsaktion triggert.
-
Weiter umfasst der Watchdog 411 eine erste Enklave 419 und eine zweite Enklave 421. Somit besteht in vorteilhafter Weise eine Redundanz hinsichtlich der Enklaven 419, 421. Diese können sich z. B. gegenseitig überwachen.
-
Es ist z. B. vorgesehen, dass die beiden Enklaven 419, 421, wie vorstehend und/oder nachstehend beschrieben, erste und zweite Zertifikate für die Komponenten der Wirkkette 410 erzeugen. Z. B. werden entsprechende Zertifikate für den ersten Umfeldsensor 403, den zweiten Umfeldsensor 405 und die Sensorfusionseinheit 407 und z. B. auch für die RSU 409 erzeugt. Der Watchdog 411 gibt diese erzeugen Zertifikate an die entsprechenden Komponenten der Wirkkette 410 aus.
-
Die Komponenten der Wirkkette 410 empfangen die entsprechenden Zertifikate und binden diese in ihre nominale Funktion, also insbesondere die Grundfunktion, ein, so dass die entsprechenden Ausgangsdaten der Komponenten z. B. das entsprechende empfangene Zertifikat und/oder ein Komponenten-Zertifikat umfassen, welches unter Verwendung des entsprechend empfangenen Zertifikats oder der entsprechenden empfangenen Zertifikate erzeugt wurde. Korrekte Zertifikate können zum Beispiel durch die Komponenten nur generiert werden, wenn das Zertifikat der Enklave aufgenommen wurde und durch eine bekannte Referenz mit Zeitstempel etc. von der (externen) Komponente erzeugt wird. Die Enklave prüft zum Beispiel die Korrektheit des eigenen Zertifikats und die Rechtzeitigkeit.
-
Somit können die Ausgangsdaten, welche mittels des Watchdogs 411 von den einzelnen Komponenten der Wirkkette 410 empfangen werden, effizient durch die erste Enklave 419 und durch die zweite Enklave 421 geprüft werden. Entsprechend hierbei z. B. die in den Ausgangsdaten enthaltenen Zertifikate nicht dem Format, welches die erste und zweite Enklave 419, 421 erwarten, und/oder werden die Ausgangsdaten nicht innerhalb eines vorbestimmten Zeitintervalls, welches z. B. spezifisch für die jeweilige Komponenten der Wirkkette 410 sein kann, empfangen, werden z. B. ein oder mehrere Sicherheitsaktionen mittels des Watchdogs 411, z. B. mittels einer oder beider der Enklaven 419, 421, getriggert. Eine Sicherheitsaktion ist z. B. ein Element ausgewählt aus der folgenden Gruppe von Sicherheitsaktionen: Verwerfen der Ausgangsdaten, Verwerfen eines Ausgangsdatenflusses der entsprechenden Komponente, Verwerfen eines die Ausgangsdaten umfassenden Datenpakets und Verwerfen der entsprechenden Komponente als Quelle von Informationen.
-
In einer nicht gezeigten Ausführungsform ist vorgesehen, dass der Watchdog 411 lediglich die erste Enklave 419 umfasst.
-
Bei den beiden redundanten Enklave 419, 421 können sich die beiden Enklaven 419, 421 in einer Ausführungsform gegenseitig überwachen und damit insbesondere in vorteilhafter Weise auch die systematischen und auch zufälligen Fehler in den Recheneinheiten 413, 415 beherrschen. Weiter können in vorteilhafter Weise sämtliche Speicher durch den Redundanz-Vergleich abgesichert werden.
-
Die redundante Enklave, zweite Enklave 421, erhöht die Verfügbarkeit und erlaubt auch die Überwachung der Überwachung durch die erste Enklave 411, somit kann gut argumentiert werden für eine Doppelfehler-Absicherung, welche gemäß ASIL D ISO 26262 gefordert ist. ASIL steht für „Automotive Safety Integrity Level“, was mit „Automotiv Sicherheitsintegritätsniveau“ übersetzt werden kann.
-
In Enklave im Sinne der Beschreibung kann gemäß einer Ausführungsform eine MMU („Memory Management Unit“; auf Deutsch: Speicherverwaltungseinheit), wie zum Beispiel in der ARINC 653 beschrieben, für die funktionale Sicherheit implementiert werden. Mit ARINC 653 wird im Avionikbereich der von ARINC erstellte Standard Avionics Application Software Standard Interface bezeichnet. ARINC ist eine Abkürzung für die Firma Aeronautical Radio Incorporated.
-
Aus der Enklave kann ein Prüf-Schlüssel oder Test-Vektor an alle externen relevanten EE (Elektrische-Elektronische)-Systeme gesendet werden, die anzeigen, ob die inhaltlichen Daten durch Fehler oder aktive Bedrohungen für Eingangssignale zu erkennen oder zu monitoren. Die Enklaven können auch zyklisch aktiviert und deaktiviert zu werden, zum Beispiel um einen Prüfschlüssel für externe EE-Systeme zu generieren und in einem weiteren Zyklus, um den vergebenen Schlüssel zu prüfen. Zum Beispiel ist das erste Zertifikat ein Fragment eines Schlüssels, welcher durch eine applikationsspezifische Information durch die Komponente aus zum Beispiel mindestens zwei Quellen ergänzt wird, um den Schlüssel, auch Summenschlüssel genannt, zu ergänzen. Diesen Summenschlüssel prüft die Enklave.
-
Die Securityaspekte werden durch den kryptographischen Schutz des ausführbaren Programmcodes in der Enklave sowie dem kryptographischen Schutz ausgewählter Datenpunkte, die statisch definiert oder dynamisch zur Laufzeit bestimmt sein können gewährleistet. Diese Datenpunkte sind zum Beispiel die Stellen in der Wirkkette wo die Antworten auf die Enklave-Zertifikate (Schlüssel) erzeugt werden.
-
Dabei muss sichergestellt werden, dass die Trust-chain für diese ausgewählten Daten zu keinem Zeitpunkt unterbrochen wird und dass diese Daten ohne Veränderung in die Enklave geladen werden. Hierfür kommen kryptographische Verfahren zum Schutz der jeweiligen Daten zur Anwendung (z.B. HMAC). Die Daten werden dabei in einer sicheren Umgebung generiert und dort mit dem kryptographischen Sicherungsmechanismus versehen.
-
Müssen solche Daten im Verlauf der Verarbeitung durch einen gewollten Prozess manipuliert werden, so erfolgen diese Datenmanipulationen in einer sicheren Enklave und vor Übergabe an die nachgelagerten Prozessschritte wird in der sicheren Enklave wieder ein kryptographischer Schutz aufgebracht.
-
Ist der kryptographische Schutz beschädigt, muss davon ausgegangen werden, dass die Daten unbefugt manipuliert werden. Auf diese Art kann mit Safety-Maßnahmen direkt auf Security-verletzungen reagiert werden.
-
Auf diese Art können safety-relevante Funktionalitäten in unsicheren Umgebungen, wie etwa Roadside oder in einer Cloud, sicher ausgeführt werden.
-
Die Enklave gemäß dem hier beschriebenen Konzept prüft insbesondere die Ausgangsdaten insbesondere bezüglich Korrektheit von Funktion und/oder Zeitpunkt etc., was nicht in einer klassischen Enklave stattfindet.