-
Die Erfindung betrifft ein Verfahren zum Austauschen von Daten mit einem Steuergerät eines Fahrzeugs, bei dem mit dem Steuergerät ausgetauschte Daten mittels einer Blockchain authentifiziert werden.
-
Fahrzeuge sind zunehmend mit hochentwickelten Funktionssystemen ausgestattet, welche beispielsweise als Assistenzsysteme, Komfortsysteme oder Sicherheitssysteme ausgebildet sein können. Entsprechend umfasst ein solches Fahrzeug ein oder mehrere Steuergeräte, d. h. Rechnersysteme, welche Aktuatoren der Funktionssysteme zugeordnet und mit diesen verbunden sind, um die Aktuatoren situationsgerecht und automatisch zu betätigen.
-
Weiterhin umfasst ein modernes Fahrzeug eine Kommunikationsschnittstelle, welche ein drahtloses Austauschen von Daten mit anderen Steuergeräten anderer Fahrzeuge oder stationären Rechnersystemen gestattet. Demnach bildet ein modernes Fahrzeug einen oder mehrere Knoten eines umfangreichen und weit verzweigten Netzwerks, welches mit Blick auf die unterschiedlichen Arten von Daten als logisch mehrdimensional bezeichnet werden kann. In einem solchen Netzwerk besteht Bedarf, den Austausch von Daten gegen zufällige Fehler und missbräuchliche Manipulation zu schützen.
-
Eine logische Dimension dieses Netzwerks kann die zentrale Verwaltung von und den dezentralen Zugang zu Fahrzeugen einer gemeinschaftlich genutzten Fahrzeugflotte betreffen. In diesem Zusammenhang muss gewährleistet sein, dass ein bestimmtes Fahrzeug innerhalb einer vorgegebenen Zeitspanne ausschließlich einem berechtigten Nutzer Zugang gewährt, während unberechtigte Personen währenddessen von einer Nutzung des Fahrzeugs ausgeschlossen sein und sich möglichst auch keinen missbräuchlichen Zugang zu dem Fahrzeug verschaffen können sollen.
-
Die
US 2016/0203661 A1 offenbart ein Verfahren zum Verwalten virtueller Fahrzeugschlüssel für eine Mehrzahl von gemeinschaftlich genutzten Fahrzeugen. Bei dem Verfahren richtet ein Nutzer mit einem mobilen Endgerät eine ein eindeutiges Kennzeichen des Endgeräts umfassende Nutzungsanfrage an ein zentrales Backendsystem, welches daraufhin einen virtuellen Fahrzeugschlüssel erzeugt und an das mobile Endgerät des Nutzers überträgt. Zudem überträgt das Backendsystem den virtuellen Fahrzeugschlüssel an ein Fahrzeug, welches in der Folge ausschließlich mit dem mobilen Endgerät und dem von diesem empfangenen Schlüssel genutzt werden kann.
-
Eine weitere logische Dimension dieses Netzwerks kann die Lokalisierung von Fahrzeugen betreffen. Zwar sind gegenwärtig wohl die meisten Fahrzeuge mit einem satellitengestützten Navigationssystem ausgestattet. Doch ist die damit erreichbare Präzision bei dem Bestimmen der Position eines Fahrzeugs häufig nicht zufriedenstellend. Eine Erhöhung der Präzision ist deshalb grundsätzlich wünschenswert und für die Verwirklichung einer Selbstfahrfunktion (autonomes Fahren) für Fahrzeuge überdies unentbehrlich. In diesem Zusammenhang kann eine Verschlüsselung von Daten auch aus wettbewerblichen Gründen attraktiv sein.
-
Zum präziseren Bestimmen der Position eines fahrenden Fahrzeugs offenbart die
DE 10 2013 001 120 A1 beispielsweise ein Verfahren, bei dem ein parkendes Fahrzeug einen GPS-Korrekturwert an das fahrende Fahrzeug überträgt. Dabei kann der GPS-Korrekturwert auch verschlüsselt übertragen werden, beispielsweise um dieses Verfahren auf eine bestimmte Gruppe von Fahrzeugen, wie diejenigen eines Herstellers, zu beschränken.
-
Nicht nur für Straßen vorgesehene Fahrzeuge, sondern auch schienenabhängige Fahrzeuge, also Triebwagen (Lokomotiven) für Züge, können Knoten eines umfangreichen und weit verzweigten Netzwerks bilden. Insbesondere die Triebwagen von Fernzügen tauschen während einer Fahrt für die Fahrsicherheit hochsensible Verkehrsleitnachrichten mit mehreren unterschiedlichen Streckenzentralen aus, beispielsweise über Streckenbelegungen, -sperrungen oder -umleitungen sowie Gleisbelegungen in Bahnhöfen. Wegen der hohen Sicherheitsrelevanz werden solche Nachrichten zum Verhindern von Fehlern oder Manipulationen verschlüsselt.
-
So offenbart die
DE 10 2011 006 772 A1 ein Verfahren zum Verwalten von Kommunikationsschlüsseln, welche zum Verschlüsseln von Verkehrsleitnachrichten zwischen einem Schienenfahrzeug und einer Streckenzentrale im Rahmen eines Schienenfahrzeugsicherungssystems verwendet werden. Bei dem Verfahren wird ein Kommunikationsschlüssel von einer Schlüsselvergabestelle eines ersten Streckenbetreibers erzeugt und an ein Schienenfahrzeug sowie ggf. an einen zweiten Streckenbetreiber übertragen, in dessen Streckennetz das Schienenfahrzeug fährt. Dieser Kommunikationsschlüssel wird zum Verschlüsseln der Verkehrsleitnachrichten verwendet. Dabei können die Kommunikationsschlüssel von einem Hauptkommunikationsschlüssel mittels einer Schlüsselableitungsfunktion abgeleitet werden.
-
Die vorstehend beschriebenen Verfahren zum Schützen eines Datenaustauschs innerhalb eines umfangreichen und weit verzweigten Netzwerks können allerdings keinen Schutz vor einem sogenannten byzantinischen Fehler bieten, der die Datenintegrität innerhalb des Netzwerks beeinträchtigt. Ein byzantinischer Fehler tritt auf, wenn zwischen zwei Knoten des umfangreichen und weit verzweigten Netzwerks Daten über einen oder mehrere Mittlerknoten ausgetauscht werden und ein Mittlerknoten empfangene Daten manipuliert und verfälscht weiterleitet. Dabei kann dieses Verhalten auf einen zufälligen Fehler des Netzwerkknotens ebenso wie auf einen gezielten den Netzwerkknoten manipulierenden Angriff zurückzuführen sein. Ohne weiteres kann ein empfangender Netzwerkknoten nicht erkennen, ob die empfangenden Daten auf ihrem Weg durch das Netzwerk verändert wurden oder nicht.
-
Der Erfindung liegt daher die Aufgabe zugrunde, ein verbessertes Verfahren zum Austauschen von Daten mit einem Steuergerät eines Fahrzeugs zu schaffen, welches dem Steuergerät ein Erkennen eines byzantinischen Fehlers ermöglicht.
-
Ein Gegenstand der vorliegenden Erfindung ist ein Verfahren zum Austauschen von Daten mit einem Steuergerät eines Fahrzeugs, bei dem mit dem Steuergerät ausgetauschte Daten mittels einer Blockchain authentifiziert werden. Eine Blockchain ist eine verkettete Liste von Blöcken, bei welcher jeder Block von einem Vorgängerblock abhängig ist und diesen in seiner Existenz und seinem Inhalt bestätigt. Ein Block einer Blockchain, welcher mit einem Steuergerät eines Fahrzeugs ausgetauschten Daten zugeordnet ist, kann demnach zum Authentifizieren der ausgetauschten Daten herangezogen werden, wodurch ein byzantinischer Fehler sicher erkannt wird.
-
Bei dem erfindungsgemäßen Verfahren wird zum Authentifizieren ausgetauschter Daten die Blockchain mindestens teilweise von Steuergeräten mehrerer Fahrzeuge bereitgestellt. Ein solches dezentrales Bereitstellen zumindest einiger Blöcke der Blockchain von Steuergeräten mehrerer Fahrzeuge schafft aufgrund einer daraus resultierenden räumlichen Verteilung und einer mehrfachen Redundanz der bereitgestellten Blöcke einerseits eine hohe Verfügbarkeit der bereitgestellten Blöcke zum Authentifizieren der mit einem Steuergerät eines Fahrzeugs ausgetauschten Daten. Andererseits verhindert die dezentrale Verteilung bei gleichzeitig hoher Redundanz eine Manipulation der Blockchain, weil ein gleichzeitiger und vollständiger Austausch der Blockchain praktisch ausgeschlossen ist.
-
In einer Ausführungsform wird ein bestimmter spezifischer Abschnitt der Blockchain von Steuergeräten der Fahrzeuge bereitgestellt. Durch einen spezifischen Abschnitt der Blockchain, welcher auf Steuergeräten mehrerer Fahrzeuge verteilt ist, lässt sich beispielsweise die Zugehörigkeit der beteiligten Fahrzeuge zu einer abgrenzbaren Fahrzeugflotte definieren.
-
In weiteren Ausführungsformen werden die Daten zwischen Steuergeräten desselben Fahrzeugs und/oder zwischen Steuergeräten verschiedener Fahrzeuge und/oder zwischen einem Steuergerät eines Fahrzeugs und einem stationären Rechnersystem ausgetauscht. Bei einem Fahrzeug, in dem mehrere Steuergeräte verbaut sind, können byzantinische Fehler auch durch eines der Steuergeräte hervorgerufen werden, welches infolge eines Fehlers oder eines Angriffs falsche Daten an die übrigen Steuergeräte überträgt. Ebenso sind byzantinische Fehler möglich, wenn Steuergeräte mehrerer Fahrzeuge miteinander Daten austauschen, beispielsweise im Zusammenhang mit autonomer Fahrfunktionalität. Ferner kann auch ein Datenaustausch eines Steuergeräts eines Fahrzeugs mit einem stationären Rechnersystem, wie beispielsweise einem Backendserver eines Fahrzeugherstellers, byzantinische Fehler aufweisen, wovon ein Softwareupdate des Steuergeräts betroffen sein kann. In jeder dieser Austauschkonstellationen kann ein byzantinischer Fehler zuverlässig durch Authentifizierung mittels der Blockchain erkannt werden.
-
In noch anderen Ausführungsformen wird die Blockchain teilweise von einem stationären Rechnersystem, insbesondere einem Backendsystem bereitgestellt. Ein stationäres Rechnersystem kann für ein Fahrzeug als Authentifizierungsinstanz wirken, in dessen Reichweite kein die Blockchain bereitstellendes anderes Fahrzeug angeordnet ist. Entsprechend kann das stationäre Rechnersystem eine Rückfallposition für die Authentifizierung bilden.
-
In vorteilhaften Ausführungsformen wird die Blockchain offen zugänglich bereitgestellt. Die offene Zugänglichkeit erleichtert den Zugriff auf die Blockchain und somit den für eine Authentifizierung erforderlichen Aufwand.
-
In einer bevorzugten Ausführungsform werden fahrzeugbezogene Daten ausgetauscht. Dadurch können den Wert, die Funktion und/oder die Sicherheit des Fahrzeugs beeinflussende Daten gegen byzantinische Fehler geschützt werden.
-
Alternativ oder zusätzlich können fahrzeugfremde Daten ausgetauscht werden, insbesondere von den Steuergeräten der Fahrzeuge Werte einer Kryptowährung erzeugt und/oder von der von den Steuergeräten der Fahrzeuge berechneten Blockchain bestimmte, insbesondere hoheitliche Transaktionen authentifiziert werden. Durch die Berücksichtigung fahrzeugfremder Daten in der Blockchain eröffnen sich zusätzliche Verwendungen eines Fahrzeugs. Beispielsweise können Steuergeräte von Fahrzeugen wertschöpfend tätig sein und Einheiten einer kryptographischen Währung erzeugen oder hoheitliche Funktionen übernehmen, um beispielsweise Finanztransaktionen zu bestätigen und abzusichern.
-
In bevorzugten Ausführungsformen wird ein Block und insbesondere jeder Block der Blockchain von einem Steuergerät eines Fahrzeugs gebildet. Moderne Steuergeräte von Fahrzeugen verfügen über eine zum Berechnen von Hashwerten ausreichende Rechenkapazität.
-
In einer weiteren Ausführungsform wird jeder Block mit einem Kopfbereich und einem die auszutauschenden Daten enthaltenden Datenbereich gebildet, insbesondere aus einem Kopfbereich und einem die auszutauschenden Daten enthaltenden Datenbereich zusammengesetzt, und/oder werden zum Bilden des Kopfbereichs des Blocks von dem Steuergerät des Fahrzeugs ein Hashwert des Kopfbereichs eines unmittelbaren Vorgängerblocks des Blocks und ein Hashwert der auszutauschenden Daten berechnet. Mit anderen Worten kann jeder Block zwei Hashwerte enthalten, von denen ein Hashwert der Verkettung der Blockchain dient und der andere zu den ausgetauschten Daten korrespondiert.
-
In einer vorteilhaften Ausführungsform wird ein Hashwert von mindestens zwei Steuergeräten berechnet und wird insbesondere ein Schlüssel zum Berechnen des Hashwerts von einem ersten Steuergerät berechnet und der Hashwert von einem zweiten Steuergerät mittels des berechneten Schlüssels berechnet. Durch diese Verteilung der Berechnung eines Hashwerts auf zwei Steuergeräte wird die Sicherheit des Verfahrens weiter erhöht. Die Verschlüsselung kann dabei beispielsweise auf asymmetrischen Verfahren beruhen, welche Schlüsselpaare aus einem privaten Schlüssel (private key) und einem öffentlichen Schlüssel (public key) verwenden, und mittels bevorzugt großer Primzahlen erfolgen.
-
Die Erfindung ist anhand von Ausführungsformen in den Zeichnungen schematisch dargestellt und wird unter Bezugnahme auf die Zeichnungen weiter beschrieben. Es zeigt:
- 1 in einem schematischen Ablaufdiagramm eine Ausführungsform des erfindungsgemäßen Verfahrens;
- 2 in einem schematischen Ablaufdiagramm ein Bilden eines Abschnitts einer Blockchain von Steuergeräten mehrerer Fahrzeuge in einer Ausführungsform des erfindungsgemäßen Verfahrens;
- 3 in einer schematischen Detaildarstellung einen Aufbau eines nach 2 gebildeten Blockchainabschnitts;
- 4 in einer schematischen Darstellung einen Lebenszyklus eines an einer Ausführungsform des erfindungsgemäßen Verfahrens beteiligten Fahrzeugs;
- 5 in einer schematischen Darstellung ein Detail aus dem in 4 gezeigten Lebenszyklus.
-
1 zeigt in einem schematischen Ablaufdiagramm eine Ausführungsform des erfindungsgemäßen Verfahrens. Bei dem Verfahren werden fahrzeugbezogene Daten 13 mit einem Steuergerät 11 eines Fahrzeugs 10 ausgetauscht 200. Ein Austauschen 200 von Daten erfolgt dabei sowohl mit anderen Steuergeräten 11 desselben Fahrzeugs 10 als auch über eine Kommunikationsschnittstelle 12 „over the air“ (OTA) mit Steuergeräten 11 weiterer Fahrzeuge 10 sowie mit einer von den Fahrzeugen 10 verschiedenen Infrastruktur stationärer Rechnersysteme 30, welche ein Backendsystem 31 und mehrere Referenzsysteme 32 umfasst.
-
Von Steuergeräten 11 sämtlicher Fahrzeuge 10, dem Backendsystem 31 und den Referenzsystemen 32 wird eine Blockchain 20 (s. 2) verteilt und redundant offen zugänglich bereitgestellt und fortlaufend zwischen den Steuergeräten 11 der Fahrzeuge 10, dem Backendsystem 31 und den Referenzsystemen 32 synchronisiert 400. Dabei wird ein bestimmter spezifischer Abschnitt der Blockchain 20 von Steuergeräten 11 jedes Fahrzeugs 10 bereitgestellt.
-
Die bereitgestellte Blockchain 20 wird verwendet, um ausgetauschte Daten 13 zu authentifizieren 100. Dabei erfolgt ein Authentifizieren 100 ausgetauschter Daten 13 zwischen den Fahrzeugen 10 und dem Backendsystem 31 sowie zwischen den Steuergeräten 11 des Fahrzeugs 10 je nach Richtung des Austauschens 200 wechselseitig.
-
Zusätzlich zu den fahrzeugbezogenen Daten 13 können auch fahrzeugfremde Daten 13 ausgetauscht 200 werden. Beispielsweise können von den Steuergeräten 11 der Fahrzeuge 10 Werte einer Kryptowährung erzeugt werden und/oder können von der von den Steuergeräten 11 der Fahrzeuge 10 berechneten Blockchain 20 bestimmte, insbesondere hoheitliche Transaktionen authentifiziert werden.
-
2 zeigt in einem schematischen Ablaufdiagramm ein Bilden eines Abschnitts einer Blockchain 20 von Steuergeräten 11 mehrerer Fahrzeuge 10 in einem erfindungsgemäßen Verfahren. Bei dem Verfahren wird jeder Block 21 der Blockchain 20 von einem Steuergerät 11 eines Fahrzeugs 10 gebildet 300. Dazu berechnet 320 das Steuergerät 11 Hashwerte 23, 24 (s. 3) für einen Kopfbereich 22 eines Blocks 21 der Blockchain 20, welcher aus den berechneten Hashwerten 23, 24 gebildet 320 wird.
-
3 zeigt in einer schematischen Detaildarstellung einen Aufbau eines nach 2 gebildeten Blockchainabschnitts. Jeder Block 21 der Blockchain 20 wird mit einem Kopfbereich 22 und einem die auszutauschenden Daten enthaltenden Datenbereich 25 gebildet, indem er aus einem Kopfbereich 22 und einem die auszutauschenden Daten enthaltenden Datenbereich 25 zusammengesetzt wird. Dabei werden zum Erzeugen 310 des Kopfbereichs 22 des Blocks 21 ein Hashwert 23 des Kopfbereichs 22 eines unmittelbaren Vorgängerblocks 26 des Blocks 21 und ein Hashwert 24 des Datenbereichs 25 berechnet 320. Auf diese Weise enthält jeder Block 21 eine verschlüsselte Referenz zu einem unmittelbaren Vorgängerblock 26, wodurch dieser in seiner Existenz und seinem Inhalt bestätigt wird. Entsprechend kann die Authentifizierung jedes Blocks 21 rekursiv durch die gesamte Blockchain 20 vollständig erfolgen.
-
Bei dem Verfahren wird ein Hashwert 23, 24 von zwei Steuergeräten 11 berechnet 320, d. h. an dem Berechnen 320 jedes Hashwerts 23, 24 sind zwei Steuergeräte 11 beteiligt. Dabei wird ein Schlüssel zum Berechnen des Hashwerts 23, 24 von einem ersten Steuergerät 11 berechnet und der Hashwert 23, 24 mittels des berechneten Schlüssels von einem zweiten Steuergerät 11 berechnet 320.
-
4 zeigt in einer schematischen Darstellung einen Lebenszyklus 40 eines an einem erfindungsgemäßen Verfahren beteiligten Fahrzeugs 10. Der gezeigte Lebenszyklus 40 des Fahrzeugs 10 beginnt mit dem Herstellen 41 und dem Verkaufen 42 an einen Nutzer. Während des Nutzungszeitraums erfolgt ein Warten 43, ein Reparieren 44, ein Nutzen 45 sowie ein Weiterverkaufen 46, wobei sich diese Schritte in beliebiger Reihenfolge abwechseln und wiederholen können. Der Nutzungszeitraum und mit ihm der Lebenszyklus 40 des Fahrzeugs 10 endet mit einem Stilllegen 47 und einem Verschrotten bzw. teilweisen Recyclen 48. Während jeder dieser Phasen 41, 42, 43, 44, 45, 46, 47, 48 des Lebenszyklus 40 werden fahrzeugbezogene Daten mittels der Blöcke 21 der Blockchain 20 authentifiziert.
-
5 zeigt in einer schematischen Darstellung beispielhaft ein Detail des in 4 gezeigten Lebenszyklus 40. Bei einem Ankaufen bzw. Verkaufen 42 des Fahrzeugs 10 durch einen Händler authentifiziert 100 dieser fahrzeugbezogene Daten, wie beispielsweise einen Kilometerstand oder eine Fahrgestellnummer, mittels der von stationären Rechnersystemen 30 und weiteren Fahrzeugen 10 bereitgestellten Blockchain 20 (s. 2).
-
Ein Vorteil der Erfindung besteht darin, dass mit einem Steuergerät 11 eines Fahrzeugs 10 ausgetauschte Daten 13 zuverlässig authentifiziert werden können. Dadurch können zufällig oder absichtlich fehlerhaft ausgetauschte Daten zuverlässig und sicher erkannt werden und ein Schaden durch byzantinische Fehler vermieden werden. Die hohe Zuverlässigkeit wird dadurch erreicht, dass eine Manipulation der als eine Authentifizierungsinstanz wirkenden Blockchain 20 infolge ihrer verteilten Bereitstellung von Steuergeräten einer Vielzahl von Fahrzeugen praktisch ausgeschlossen ist.
-
Bezugszeichenliste
-
- 10
- Fahrzeug
- 11
- Steuergerät
- 12
- Kommunikationsschnittstelle
- 13
- Daten
- 20
- Blockchain
- 21
- Block
- 22
- Kopfbereich
- 23
- Hashwert
- 24
- Hashwert
- 25
- Datenbereich
- 26
- Vorgängerblock
- 30
- stationäres Rechnersystem
- 31
- Backendsystem
- 32
- Referenzsystem
- 40
- Lebenszyklus
- 41
- Herstellen
- 42
- Verkaufen
- 43
- Warten
- 44
- Reparieren
- 45
- Nutzen
- 46
- Weiterverkaufen
- 47
- Stilllegen
- 48
- Verschrotten/Recyclen
- 100
- Authentifizieren
- 200
- Austauschen
- 300
- Bilden eines Blockes
- 310
- Erzeugen eines Kopfbereichs
- 320
- Berechnen eines Hashwerts
- 400
- Synchronisieren
-
ZITATE ENTHALTEN IN DER BESCHREIBUNG
-
Diese Liste der vom Anmelder aufgeführten Dokumente wurde automatisiert erzeugt und ist ausschließlich zur besseren Information des Lesers aufgenommen. Die Liste ist nicht Bestandteil der deutschen Patent- bzw. Gebrauchsmusteranmeldung. Das DPMA übernimmt keinerlei Haftung für etwaige Fehler oder Auslassungen.
-
Zitierte Patentliteratur
-
- US 2016/0203661 A1 [0005]
- DE 102013001120 A1 [0007]
- DE 102011006772 A1 [0009]