-
Die Erfindung betrifft ein Verfahren zum Betreiben eines Bussystems, ein Computerprogramm und eine Steuer und-/oder Regeleinrichtung zur Durchführung des Verfahrens sowie ein maschinenlesbares Speichermedium, auf dem das Computerprogramm gespeichert ist.
-
Stand der Technik
-
In der
DE 10 2009 026 995 A1 ist ein Verfahren zum Betreiben eines Bussystems, insbesondere eines CAN-Busses, beschrieben. An das Bussystem sind mehrere Stationen anschließbar. Eine übertragene Nachricht weist einen Identifier auf, wobei ein bestimmter Identifier (z.B. IDENT2) immer nur von einer einzigen Station verwendet werden darf. Jede der Stationen vergleicht den Identifier einer übertragenen Nachricht mit den von ihr selbst verwendeten Identifiern (z.B. IDENT2). Bei einer Übereinstimmung wird eine Fehlermeldung erzeugt wird.
-
Vorteile der Erfindung
-
Durch die Vernetzung des IoT (Internet-of-Things) halten immer mehr internetbasierte Dienstleistungen Einzug in Kraftfahrzeuge. Häufig sind die genutzten Dienstleistungen auf die Sammlung von kraftfahrzeuginternen Daten des Fahrers angewiesen.
-
Dazu gibt es sogenannte OBD-Dongles, die an eine OBD-Schnittstelle des Fahrzeugs angeschlossen und mittels drahtloser Kommunikation (z.B. Bluetooth, WiFi) z.B. durch ein Smartphone indirekt oder direkt an die Cloud angebunden werden können und permanent fahrerspezifische Daten wie z.B. Geschwindigkeit, Drehzahl, GPS-Koordinaten etc. zur weiteren Verarbeitung in eine Cloud verschicken.
-
Zur zyklischen Abfrage der Daten können standardisierte Diagnose-Services, wie z.B. OBD-Services oder Kraftfahrzeughersteller-spezifische Diagnose-Services (UDS) genutzt werden.
-
Die Nutzung solcher Dienstleistungen birgt die Gefahr, dass entsprechende Daten ungewollt oder unwissentlich abgefragt werden, da vom Fahrer selbst kaum verifiziert werden kann welche Daten und in welchem Zyklus diese Daten abgegriffen werden.
-
Das Verfahren mit den Merkmalen des unabhängigen Anspruch 1 hat den Vorteil, dass irreguläre Datenabfragen im Netzwerk – und somit eine aktive Datenerfassungseinheit – erkannt und dessen Ausführung bzw. Abfragen gezielt automatisiert blockiert bzw. gestört werden können.
-
Ein Vorteil der Erfindung ist daher die Erhöhung des Datenschutzes gegenüber Abfragen in das Netzwerk durch direkte oder indirekte angeschlossene Datenerfassungseinheiten. Das Verfahren kann an einer beliebigen Stelle in einem Netzwerk z.B. als integrierter Bestandteil eines oder mehreren Steuergeräte, eines Gateways oder auch in Connectivity-Einheiten, welche z.B. via OBD-Stecker nachträglich an das Kraftfahrzeugnetzwerk angebunden werden können (Connectivity Control Unit – CCU), angewandt werden.
-
Aus datenschutzrechtlicher Sicht kann mit der Erfindung ein Verfahren eingeführt werden, welches es ermöglicht, ungewollte Datenabfragen zu erkennen und die Datenerfassung zu blockieren bzw. zu stören. Damit wird bei der Nutzung internetbasierter Dienstleistungen dem Recht auf informationelle Selbstbestimmung Rechnung getragen.
-
Offenbarung der Erfindung
-
In einem ersten Aspekt ist daher ein Verfahren zum Betreiben eines Bussystems insbesondere eines Kraftfahrzeugs vorgesehen, bei dem Nachrichten (der Term „Nachrichten“ wird im Folgenden synonym mit „Botschaften“ verwendet), insbesondere eine Mehrzahl von Nachrichten, des Bussystems, also Nachrichten, die über das Bussystem verschickt werden, d.h. von einem Teilnehmer des Bussystems über Verbindungen des Bussystems an mindestens einen anderen Teilnehmer des Bussystems übermittelt und von dem anderen Teilnehmer empfangen werden und abhängig von diesen Nachrichten, also insbesondere abhängig von den Inhalten dieser Nachrichten, darauf erkannt wird, ob ein diese Nachrichten absendender Teilnehmer des Bussystems ein sich anmeldender Teilnehmer des Bussystems ist.
-
Dabei kann insbesondere abhängig von diesen Nachrichten auch darauf erkannt werden, ob der absendende Teilnehmer ein neuer Teilnehmer des Bussystems ist. Ein neuer Teilnehmer kann insbesondere ein Teilnehmer sein, der vor dem Start des Verfahrens nicht als Teilnehmer identifiziert war. Es kann auch ein Teilnehmer sein, der vor einem letztmaligen Start eines Motors des Kraftfahrzeugs nicht als Teilnehmer identifiziert war.
-
Die Erkennung kann insbesondere mittels einer Überwachung aller oder nur eines Teils der Botschaften im Bussystem erfolgen. Insbesondere können solche Botschaften überwacht werden (d.h. die Erkennung erfolgt (insbesondere nur) abhängig von solchen Botschaften), die einem solchen Diagnose-Service entsprechen, der zur Abfrage von Datenwerten (z.B. historische Fahrtdaten, Fehlerspeichereinträge auslesen, aktuelle Werte wie z.B. Geschwindigkeit, Drehzahl etc.) dient. Ein solches Verfahren ist besonders effizient und einfach.
-
Ferner ist es u.U. möglich, dass mit einer einzelnen Botschaft oder einer einzelnen Sequenz (zyklisch auftauchende) irreguläre Datenabfrage nicht zuverlässig genug erkannt werden können. Daher ist es möglich, die Botschaften in einem Zwischenspeicher, ggf. inkl. Metainformationen, zu puffern. Somit ist es verbessert möglich, zyklisch auftauchenden Sequenzen bei der Prüfung von irregulären Datenabfragesequenzen oder einer Datenerfassungseinheit zu erkennen. Andere im Netzwerk als relevante Parameter definierte Botschaften können ebenfalls in diesem Pufferspeicher für die Erkennung gespeichert werden. Der Puffer kann wieder geleert werden, z.B. durch eine Implementierung als FIFO-Speicher oder über eine Überwachung von Zeitstempeln der Botschaften.
-
Somit kann geprüft werden, ob ein bestimmtes, sich regelmäßig wiederholendes Muster entsprechender Datenabfrage-Botschaften festgestellt werden kann.
-
Die Erkennung einer Datenerfassungseinheit als sich neu anmeldender und/oder neuer Teilnehmer des Bussystems basiert auf der Idee, die Initialisierungsphase dieses Teilnehmers, z.B. eines OBD-Dongles oder einer mittels eines OBD-Dongles angebunden Software (z.B. auf dem Smartphone) zu erkennen. Werden während der Initialisierungsphase, z.B. bei Start der Software oder beim Aktivieren des Klemme-15-Signals im Kraftfahrzeug (d.h. bei Anschalten der Zündung), bestimmte Parameter wie z.B. „VIN“, „PID-Supported“ zur Verifizierung und Kraftfahrzeugerkennung in einer für den Teilnehmer charakteristischen Abfolge im Netzwerk des Bussystems abgefragt. Diese spezifische Initialisierungssequenz des Teilnehmers kann mittels Überwachung des Bussystems als „Signatur“-Sequenz erkannt werden.
-
In einem weiteren Aspekt kann vorgesehen sein, dass abhängig vom Ergebnis des Erkennens Maßnahmen eingeleitet werden, um den absendenden Teilnehmer zu deaktivieren. Ein solches Vorgehen ist (gegenüber anderen Möglichkeiten wie beispielsweise einem Unterdrücken einer spezifischen Anfrage des absendenden Teilnehmers) besonders sicher, da auch zukünftige potenzielle Anfragen besonders zuverlässig unterbunden werden können.
-
Die Maßnahmen können insbesondere umfassen, eine Stromversorgung des absenden Teilnehmers zu deaktivieren. Insbesondere kann vorgesehen sein, eine Stromversorgung der OBD-Schnittstelle des Bussystems zu deaktivieren. Ein solches Verfahren ist eine besonders einfache sichere Variante, den absendenden Teilnehmer zu deaktivieren.
-
Alternativ oder zusätzlich können die Maßnahmen umfassen, Selbstaschaltnachrichten, insbesondere über das Bussystem an den absenden Teilnehmer zu schicken, die den absendenden Teilnehmer dazu veranlassen, sich zumindest teilweise zu deaktivieren, sich also beispielsweise abzuschalten oder in einen inaktiven oder reduziert aktiven Zustand überzugehen. Dieses Vorgehen ist besonders einfach, da es auf bereits vorhandene Funktionalitäten zurückgreift.
-
Beispielsweise kann vorgesehen sein, den absendenden Teilnehmer dazu zu veranlassen, in einen Stand-by-Modus zu gehen. Ist der absendende Teilnehmer ein Dongle, kann beispielsweise vorgesehen sein, ihn über seine WiFi- oder Bluetooth-Schnittstelle zu veranlassen, sich abzuschalten.
-
Insbesondere kann hier vorgesehen sein, dass die Selbstabschaltnachrichten Nachrichten umfassen, welche dem absendenden Teilnehmer die Information übermitteln, dass das Kraftfahrzeug einen vorgebbaren Zustand einnimmt. Der vorgebbare Zustand kann insbesondere umfassen, dass das Kraftfahrzeug steht und/oder dass eine Brennkraftmaschine des Kraftfahrzeugs ausgeschaltet ist und/oder dass ein Start-Stopp-Betriebsmodus aktiv ist und/oder dass die Brennkraftmaschine im Leerlauf betrieben wird. Dies nutzt aus, dass bei Datenerfassungseinheiten teilweise das Energiemanagement bzw. die Zustandserkennung des implementierten Automaten darauf ausgelegt ist, dass sich diese selbst ausschalten oder in einen entsprechenden inaktiven Zustand versetzen, falls innerhalb einer entsprechenden Zeitspanne bestimmte Abfragedaten, wie z.B. Drehzahl und Geschwindigkeit, suggerieren, dass das Kraftfahrzeug steht und/oder aus ist. Dies kann daher als Abwehrmaßnahme genutzt werden, indem Antworten mit gezielten Daten für die abgefragten Werte verschickt werden, die eine stehende und/oder ausgeschaltete Brennkraftmaschine suggerieren.
-
Es ist ferner möglich, festzustellen, ob die Abwehrmaßnahme erfolgreich war. Dazu kann geprüft werden, ob die zuvor erkannte Datenabfragesequenz weiterhin verschickt bzw. im Bussystem erkannt wird. Ist dies der Fall, kann die Erkennungseinheit nach einer gewissen Zeitspanne bzw. nach einigen erfolglos durchgeführten Abwehrzyklen weitere Abwehrmaßnahmen durchführen.
-
Alternativ oder zusätzlich ist es auch möglich, dass die Selbstabschaltnachrichten Nachrichten umfassen, welche dem absendenden Teilnehmer die Information übermitteln, dass eine Abfrage bestimmter Datenangaben von Teilnehmern des Bussystems nicht unterstützt wird. Dies kann insbesondere geschehen, wenn die empfangene Nachricht eine Abfrage enthält, ob die Abfrage dieser Datenangaben unterstützt wird. Falls diese Abfrage über die OBD-Schnittstelle erfolgt, kann dies beispielsweise dadurch geschehen, indem falsche „PID-Supported“-Werte, insbesondere während der Initialisierungsphase des Teilnehmers versendet werden. Es ist auch möglich, dass dem Teilnehmer mitgeteilt wird, dass bestimmte Werte wie z.B. Drehzahl, Geschwindigkeit, etc. nicht unterstützt werden. Hier liegt die Erkenntnis zugrunde, dass je nach Implementierung des absendenden Teilnehmers diese Daten dann nicht weiter abgefragt werden. Dieses Verfahren neutralisiert die Gefährdung durch den absendenden Teilnehmer besonders wirkungsvoll, ohne anderweitig die Funktionsweise des absendenden Teilnehmers zu beeinträchtigen.
-
Alternativ oder zusätzlich ist es im Falle, dass der absendende Teilnehmer einen Wert mittels UDS übermittelt hat, möglich, eine negative-Response Nachricht mit einem entsprechenden Response-Code an den absendenden Teilnehmer zu schicken. So lässt sich dem Teilnehmer der Eindruck vortäuschen, dass die Abfrage nicht unterstützt wird oder seine Abfrage fehlerhaft war, was dazu führen kann, dass der absendende Teilnehmer seine Abfrageaktivitäten einstellt.
-
Alternativ oder zusätzlich kann neben der Erkennung des absendenden Teilnehmers als sich anmeldendem Teilnehmer überprüft werden, ob der absendende Teilnehmer eine Datenabfrage durchgeführt hat, wobei dann, wenn diese Datenabfrage erkannt wurde, eine korrekte Antwort auf die Datenabfrage unterbunden wird. Dieses Verfahren ist besonders zielgerichtet und verhindert eine weitere Beeinträchtigung des Systems.
-
Dies kann beispielsweise dadurch besonders effektiv geschehen, dass das Unterbinden umfasst, eine tatsächliche Antwort des erkannten Adressaten zu unterbinden, d.h. zu verhindern, dass der erkannte Adressat eine Antwort an den absendenden Teilnehmer übermittelt.
-
Dies ist insbesondere dann möglich wenn das beschriebene Verfahren von dem Teilnehmer (nachfolgend „Zielteilnehmer“), insbesondere dem Steuergerät (nachfolgend „Zielsteuergerät“), durchgeführt wird welches ohne das Unterbinden eine Antwort auf die Datenabfrage liefern würde. Wird das beschriebene Verfahren auf einem zentralen Steuergerät (einem sogenannten Gateway) durchgeführt, ist es auch möglich die Antworten des Zielteilnehmers zu blockieren. Dieses Vorgehen ist besonders einfach.
-
Es ist ferner möglich, dass das Unterbinden die Maßnahme umfasst, mindestens eine Nachricht an den absendenden Teilnehmer zu übermitteln. Dieses Unterbinden kann insbesondere auch abhängig davon durchgeführt werden, wie hoch eine Frequenz ist, mit der diese Datenabfrage durchgeführt wird. Ein solches Verfahren kann besonders zuverlässig wiederkehrende Abfragen unterbinden.
-
Die übermittelte Nachricht kann insbesondere abhängig von einem erkannten Adressaten der Datenabfrage gewählt werden.
-
Wird eine entsprechende irreguläre Abfragesequenz und/oder eine neue Abfrageeinheit erkannt, lassen sich -Services geschehen, dessen sich der anfragende Teilnehmer zu seiner auf Basis der empfangenen Botschaften mittels der Netzwerk-ID(s) die betroffen Zielsteuergeräte erkennen. Damit lässt sich der Abwehrmechanismus gezielt auslösen.
-
Dies kann dadurch geschehen, dass ein Inhalt der übermittelten Nachricht so ausgestaltet ist, als sei sie eine Antwort des erkannten Adressaten auf die Datenabfrage, insbesondere die übermittelte Nachricht eine unkorrekte Antwort auf die Datenabfrage umfasst.
-
Im Falle einer erkannten irregulären Datenabfrage kann vorgesehen sein, mittels der Response-Adressierung des betroffenen Zielsteuergeräts eine gültige Antwortnachricht mit nicht plausiblen, falschen Werten für die abgefragten Daten zu übermitteln. Dies kann z.B. eine falsche Fahrzeuggeschwindigkeit etc. sein. Dies kann unter Verwendung der Diagnoseanfrage bedient, z.B. OBD oder ein Kraftfahrzeugersteller-spezifischer Diagnose-Service, z.B. mittels UDS. Zudem kann auf Basis der erkannten Abfragefrequenz bzw. des erkannten Abfragezyklus ermittelt werden, wann der Abwehrmechanismus jeweils ausgelöst werden muss. Alternativ oder zusätzlich besteht unter anderem darin die nicht plausiblen Daten in einer höheren Frequenz als die bekannte Abfragesequenz zu verschicken, um die plausiblen Antworten des betroffenen Zielsteuergeräts zu unterdrücken. Dies ist eine besonders wirksame Unterdrückungsmaßnahme.
-
Nachfolgend werden Ausführungsformen der Erfindung unter Bezugnahme auf die beiliegende Zeichnung näher erläutert. In der Zeichnung zeigen:
-
1 schematisch ein Netzwerk, in dem das erfindungsgemäße Verfahren zum Einsatz kommen kann;
-
2 einen Ablaufplan des Verfahrens gemäß eines Aspekts der Erfindung.
-
1 zeigt beispielhaft ein Netzwerk mit einem Bussystem 10, beispielsweise in einem Kraftfahrzeug, über das Teilnehmer 1, 2, 4 kommunizieren. Teilnehmer 1 kann ein Steuergerät sein, oder beispielsweise auch ein Sensor. Teilnehmer 2 ist ein Steuergerät, auf dem im Ausführungsbeispiel die Erfindung implementiert ist. Teilnehmer 4 ist ein OBD-Dongle, der über die OBD-Schnittstelle 3 an das Bussystem 10 angebunden ist.
-
Nach dem Anschließen an die OBD-Schnittstelle 3 sendet der OBD-Dongle Anfragen an einige oder alle der Teilnehmer 1, 2 des Datenbusses, um sich zu initialisieren und zu erfragen, welche Datenabfragen möglich sind. Teilnehmer 2 empfängt diese Abfragen, und kann somit identifizieren, dass Teilnehmer 4 ein neuer Teilnehmer im Bussystem 10 ist. In einem typischen Szenario versucht Teilnehmer 4, durch Datenabfragen an Teilnehmer 1 Daten abzufragen, z.B. über den Zustand des Kraftfahrzeugs. Im Normalfall würde Teilnehmer 1 Teilnehmer 4 Antworten auf diese Abfragen zuschicken. Teilnehmer 2 empfängt ebenfalls die Nachrichten, die an Teilnehmer 1 adressiert sind, und kann auf Basis dieser Nachrichten wie beschrieben Gegenmaßnahmen treffen.
-
2 zeigt den Ablauf eines Verfahrens, das in dem in 1 illustrierten Ausführungsbeispiel auf Teilnehmer 2 ablaufen kann. Das Verfahren beginnt mit Schritt 1000.
-
Im nachfolgenden Schritt 1010 empfängt Teilnehmer 2 Nachrichten, die über das Bussystem 10 verschickt werden, und speichert diese beispielsweise je absendendem Teilnehmer in einem FIFO-Buffer, um Sequenzen von Nachrichten zu analysieren.
-
Im nachfolgenden Schritt 1020, indem überprüft wird, ob sich aus den empfangenen Nachrichten ergibt, dass ein neuer Teilnehmer im Bussystem 10 angemeldet ist. Im Beispiel von 1 sendet Teilnehmer 4 beispielsweise unmittelbar nach dem Anschließen an die OBD-Schnittstelle 3 eine für seine Initialisierung charakteristische Sequenz von Nachrichten, die von Teilnehmer 2 empfangen werden, sodass Teilnehmer 2 identifiziert werden kann. Ist dies der Fall („j“), folgt Schritt 1050, andernfalls („n“) folgt Schritt 1030, in dem optional die gespeicherten Nachrichten inklusive Metainformationen in einem weiteren Zwischenspeicher abgelegt werden. Nach Schritt 1030 verzweigt das Programm zurück zu Schritt 1010.
-
In Schritt 1050 wird überprüft, ob unter den empfangenen Nachrichten unerwünschte Datenabfragen sind. Dies kann beispielsweise durch eine Analyse des Inhalts der Nachrichten geschehen, indem z.B. extrahiert wird, welche Daten abgefragt werden. Ob diese Abfrage unerwünscht ist, oder nicht, kann beispielsweise durch Vergleich dieser abgefragten Daten (oder Sequenz dieser abgefragten Daten) mit Einträgen einer vorgebbaren Liste erfolgen. Im Ausführungsbeispiel sind in der Liste solche Einträge hinterlegt, deren Abfrage unerwünscht ist. Wird erkannt, dass die abgefragten Daten als Einträge in dieser Liste hinterlegt sind („j“), folgt Schritt 1090, andernfalls („n“) folgt Schritt 1060.
-
In Schritt 1060 erfolgt optional eine weitere Abfrage, ob diese abgefragten Daten in einer weiteren Liste vorhanden sind. Im Ausführungsbeispiel sind in der weiteren Liste als solche Einträge hinterlegt, deren Abfrage nicht unerwünscht ist. Wird erkannt, dass die abgefragten Daten als Einträge in dieser weiteren Liste hinterlegt sind („j“) folgt Schritt 1070, in dem optional diese Abfragen, ggf. inklusive Metainformationen, gespeichert werden, bevor das Programm zu Schritt 1010 zurückverzweigt. Andernfalls („n“) folgt Schritt 1090, oder zunächst optional Schritt 1080, in dem eine Abfrage an einen Nutzer, z.B. den Fahrer des Kraftfahrzeugs, ausgegeben wird, ob die vorliegende Datenabfrage genehmigt wird. Die Antwort des Nutzers wird empfangen und ausgewertet. Der Nutzer hat somit die Möglichkeit die Abfrage für die spezifische Sequenz oder für das abgefragte Datum allgemein dauerhaft oder temporär freizugeben bzw. zu sperren. Der Nutzer hat damit die Möglichkeit eine individuelle White- und Blacklist zu erstellen, welche er zur jeder Zeit wieder editieren kann. Wird die Abfrage genehmigt („j), wird zu Schritt 1010 zurückverzweigt, andernfalls („n“) folgt Schritt 1090.
-
In Schritt 1090 wird eine der aufgezählten Gegenmaßnahmen ausgeführt. Beispielsweise wird eine Stromversorgung des Teilnehmers 4, der über die OBD-Schnittstelle versorgt wird, abgeschaltet, oder Teilnehmer 2 verschickt wie beschrieben Abwehrnachrichten. Anschließend folgt Schritt 1100, in dem optional der Inhalt der Abfrage gespeichert wird.
-
Dieses Speichern in Schritt 1100 kann (ebenso wie das Speichern in Schritt 1030 oder 1070) in einem Speicher des Kraftfahrzeugs selbst erfolgen, also z.B. in einem Steuergerät oder einen integrierten Infotainment-System), oder außerhalb des Kraftfahrzeugs abgespeichert werden (z.B. im einem verbundenen Mobiltelefon, auf einem Server in der „Cloud“, o.ä.). Das Speichern kann jeweils mit Metainformationen, wie z.B. einem Zeitstempel erfolgen.
-
Es folgt Schritt 1100, in dem optional dem Nutzer über das Dashboard oder einem entsprechend angebunden Drittgerät (z.B. Smartphone) visualisiert werden kann, welche Daten im Bussystem 10 durch eine aktive Anfrage abgefragt wurden.
-
Es folgt Schritt 1110, in dem dem Nutzer optional angezeigt wird, dass eine Datenabfrage erkannt und unterbunden wurde. Damit verzweigt das Verfahren zurück zu Schritt 1010.
-
Es versteht sich für den Fachmann, dass das Verfahren in Hardware implementiert sein kann, oder in Software, oder in einer Mischform aus Hardware und Software.
-
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
-
- DE 102009026995 A1 [0002]