-
Die vorliegende Erfindung betrifft ein Verfahren zum Überprüfen einer Nachricht in einem Kommunikationssystem sowie eine Recheneinheit und ein Computerprogramm zu dessen Durchführung.
-
Hintergrund der Erfindung
-
Durch die zunehmende Digitalisierung kommt es zu einem immer größeren Einsatz von drahtlosen Schnittstellen in alltäglichen Produkten oder Systemen wie Fahrzeugen. Trotz vieler Vorteile bieten solche Schnittstellen auch zunehmende Möglichkeiten für Angriffe. Ein besonderes Problem sind z.B. Angriffe auf elektronische Steuergeräte (ECUs), die in Fahrzeugen für verschiedene Funktionen und den Datenaustausch über fahrzeuginterne Kommunikationssysteme verantwortlich sind. Ein Angreifer kann sich z.B. in die Lage versetzen, sicherheitskritische Funktionen wie die Lenkung, das Bremsen oder eine Motorsteuerung zu beeinflussen. Typische, z.B. in Fahrzeugen verwendete Kommunikationssysteme bzw. Kommunikationsmedien wie der CAN-Bus wurden an sich ohne Sicherheitsmaßnahmen konzipiert, womit solche Angriffe verhindert werden könnten.
-
Damit kann sich ein Angreifer z.B. durch Anschließen eines zusätzlichen Geräts oder durch Beeinflussung vorhandener Steuergeräte auf dem Kommunikationsmedium als ein anderer Teilnehmer ausgeben und nicht autorisierte Nachrichten übertragen. Aufgrund des erwähnten Mangels an Sicherheitsmaßnahmen für z.B. das CAN-Protokoll können solche Identitätsübernahmen erfolgreich durchgeführt werden, da die (anderen) Teilnehmer die Authentizität der übertragenen Nachrichten nicht überprüfen können.
-
Offenbarung der Erfindung
-
Erfindungsgemäß werden ein Verfahren zum Überprüfen einer Nachricht in einem Kommunikationssystem sowie eine Recheneinheit und ein Computerprogramm zu dessen Durchführung mit den Merkmalen der unabhängigen Patentansprüche vorgeschlagen. Vorteilhafte Ausgestaltungen sind Gegenstand der Unteransprüche sowie der nachfolgenden Beschreibung.
-
Die Erfindung beschäftigt sich mit dem Überprüfen einer Nachricht in einem Kommunikationssystem, in dem mehrere Teilnehmer an ein Kommunikationsmedium angebunden sind und darüber Nachrichten austauschen. Dabei liegen der Erfindung insbesondere solche Kommunikationsmedien zugrunde, die zwei Signalleitungen aufweisen, wie dies z.B. bei CAN-Bus der Fall ist. Hierauf soll später noch näher eingegangen werden.
-
Im Allgemeinen ist das Problem fehlender Sicherheitsmaßnahmen für Kommunikationsmedien wie einem CAN-Bus bekannt. Zur Lösung können z.B. physikalische Eigenschaften der einzelnen Teilnehmer (es handelt sich hier typischerweise um Steuergeräte) genutzt werden, um die Quelle einer übertragenen Nachricht zu identifizieren. Beispielsweise können bei einem taktbasierten (clockbased) Angriffserkennungssystem (Intrusion-Detection-System, sog. CIDS) die einzelne Taktversätze jedes Teilnehmers während der periodischen Nachrichtenübertragung verwendet werden, um Schlussfolgerungen über die Authentizität des Senders zu ziehen. Diese Taktversätze können verwendet werden, um Abweichungen von und Anomalien des zuvor beobachteten periodischen Übertragungsverhaltens zu erkennen, die wiederum auf einen nicht autorisierten Ursprung einer Nachricht hinweisen. Damit können aber aperiodische Nachrichten nicht ausgewertet werden, und ein Angreifer ist auch in der Lage, das System zu umgehen, indem er den Taktversatz auf dem Kommunikationsmedium beobachtet und anschließend seine Übertragungen an den Versatz des zu imitierenden Teilnehmers anpasst.
-
Außerdem können Intrusion-Detection-Systeme verwendet werden, die auf spezifischen Spannungseigenschaften einzelner Teilnehmer während ihrer Übertragungsvorgänge aufbauen. Hierbei kann ein Modell der Spannungssignatur aus autorisierten Nachrichten erstellt und mit den Spannungssignaturen, die während des normalen Nachrichtenaustauschs beobachtet werden, verglichen werden. Obwohl damit im Allgemeinen gute Ergebnisse bei der Erfassungsgenauigkeit erzielt werden können, sind Spannungsschwankungen aufgrund von Temperaturänderungen problematisch. Außerdem ist hierfür in der Regel ein hoher Ressourcenbedarf aufgrund einer umfassenden Analyse des Spannungssignals nötig.
-
Bestehende Ansätze zur Bereitstellung von Authentifizierung, die auf physikalischen Eigenschaften wie internen Uhren oder Spannungen basieren, stellen entweder hohe Anforderungen an die Rechenressourcen, sind nicht robust gegen Signalschwankungen oder können durch einen ausgeklügelten Angriff umgangen werden.
-
Bei dem im Rahmen der Erfindung vorgeschlagenen Vorgehen wird nun eine Zeitdifferenz zwischen Empfangszeitpunkten einer auf dem Kommunikationsmedium versendeten Nachricht an zwei verschiedenen, vorgegebenen Positionen auf dem Kommunikationsmedium ermittelt. Dabei sind die beiden Laufzeiten der Nachricht vom sendenden Teilnehmer bis zu den zwei Positionen als absolute Werte nicht relevant, nur deren Differenz, also eine Laufzeitdifferenz. Diese kann durch ein Erfassungsmittel, das - mit entsprechend gestalteter Anbindung - die Nachricht an den beiden Positionen erfasst, bestimmt werden. Anhand eines Vergleichs der Zeitdifferenz mit wenigstens einer Referenz-Zeitdifferenz wird dann bestimmt, ob die Nachricht von einem verifizierten Teilnehmer stammt. Solche Referenz-Zeitdifferenzen können z.B. durch Testmessungen ermittelt werden, bei denen sichergestellt ist, dass kein Angreifer eine Nachricht auf dem Kommunikationsmedium verändert oder überhaupt versendet.
-
Wenn die Zeitdifferenz z.B. um weniger als einen vorgegebenen Schwellwert von einer Referenz-Zeitdifferenz abweicht, kann bestimmt bzw. davon ausgegangen werden, dass die Nachricht von einem verifizierten Teilnehmer stammt. Andernfalls hingegen kann bestimmt bzw. davon ausgegangen werden, dass die Nachricht nicht von einem verifizierten Teilnehmer stammt und insbesondere ein Angriffsversuch auf das Kommunikationssystem vorliegt. Generell kann auch ein geeignetes Modell verwendet werden, um den Vergleich durchzuführen. Ein solches Modell beschreibt insbesondere für eine Vielzahl von Teilnehmern bzw. das ganze Kommunikationssystem die zugehörigen Laufzeitdifferenzen und kann dann dazu dienen, eine später für einen bestimmten Teilnehmer (oder mehrere oder alle Teilnehmer) gemessene Laufzeitdifferenz zu „verifizieren“.
-
Um die erforderliche Ausbreitungsdifferenz für die Modellbildung und die Intrusion-Detection zu bestimmen, muss die erwähnte Zeitdifferenz erfasst werden. Dabei ist insbesondere die Verwendung eines sog. TDCs, eines Time-to-Digital-Converter bzw. -Wandlers, der typischerweise besonders kostengünstig ist, zweckmäßig, zumal damit die Zeitdifferenz besonders einfach und schnell bestimmt werden kann, während die Anforderung einer leistungsstarken Abtasthardware wie z.B. eines schnellen ADCs (Analog-Digital-Wandler) entfällt. Darüber hinaus ist der Rechenaufwand für die Berechnung und Bewertung der Zeitdifferenz relativ gering, da zum Vergleich einfachere Techniken verwendet werden können. Ebenso können die Erfassungsmittel z.B. als unabhängige Schaltung realisiert werden.
-
Wie erwähnt, beschäftigt sich die Erfindung mit Kommunikationsmedien, die zwei Signalleitungen aufweisen. Beim CAN-Bus sind dies z.B. zwei dedizierte Adern, eine sog. CAN-High-Leitung (CANH) und eine sog. CAN-Low-Leitung (CANL), über die die Nachrichten codiert und übertragen werden. Diese beiden Adern liegen im Leerlauf und bei der Übertragung eines 1-Bits bei einer Spannung von 2,5 V, während die CAN-High-Leitung bei 0-Bit-Übertragungen auf (wenigstens) 3,5 V und die CAN-Low-Leitung auf (höchstens) 1,5 V angesteuert wird.
-
Es könnte dabei in Betracht gezogen werden, die Enden von CANH oder CANL direkt mit einem Erfassungsmittel wie dem TDC oder allgemein einem PDDC („Propagation Difference Determination Component“) zu verbinden, was jedoch Probleme mit sich bringen könnte. Erstens sind die einzelnen Adern in der Automobilumgebung von elektromagnetischen Störungen (EMI) betroffen, was zu starken Spannungsschwankungen und fehlerhaft erkannten Bitübergängen durch das Erfassungsmittel führen kann. Wenn Standardhardware in Betracht gezogen wird, anstatt eine bestimmte Schaltung zu entwerfen, werden vom Hersteller typischerweise Betriebsspannungen vordefiniert, die mitunter nicht mit den auf einzelnen CAN-Kanälen vorhandenen Spannungen übereinstimmen.
-
Vor diesem Hintergrund wird vorgeschlagen, dass bei der Ermittlung der Zeitdifferenz an den zwei Positionen jeweils ein Differenzsignal aus Signalen gebildet wird, die durch die Nachricht auf den zwei Signalleitungen hervorgerufenen werden. Es wird also im Falle des CAN-Busses als die Differenz der Signale ein differentielles CAN-Signal gebildet, das im Grunde eine Subtraktion des CANL-Signals vom CANH-Signal ist. Da die Spannungen an den CANH- und CANL-Leitungen bei elektromagnetischen Störungen in entgegengesetzte Richtungen beeinflusst werden, werden die resultierenden Spannungsschwankungen durch die Subtraktionen aufgehoben, was zu einem ungestörten und robusten Differenzsignal führt. Dies kann z.B. durch einen sog. Signal-Transceiver (z.B. CAN-Transceiver), der in der verwendeten Schaltung oder Recheneinheit dann verwendet wird, realisiert werden. Ein Signal-Transceiver befindet sich typischerweise in jeder Steuereinheit bzw. in jedem Steuergerät, das an einen Bus angebunden ist. Ebenso kann aber eine dedizierte Subtraktionslogik (z.B. in einer entsprechend ausgebildeten Schaltung) verwendet werden.
-
Wenn die Spannungen dieses Signals mit den Betriebsspannungen des PDDC bzw. des verwendeten Erfassungsmittels (z.B. TDC) übereinstimmen, können die beiden Signalleitungen direkt daran angeschlossen werden. Andernfalls ist eine Spannungseinstellung erforderlich, die beispielsweise über einen Spannungsteiler vor dem PDDC erfolgen kann.
-
Eine mögliche Schwierigkeit ist die Gefahr, dass das Differenzsignal aufgrund der Kommunikationsarchitektur und -topologie oder sonstiger Artefakte an den zwei Positionen des Kommunikationsmediums, an denen die Signale erfasst werden, unterschiedliche Anstiegszeiten aufweist. Dies hat direkte Auswirkungen auf z.B. die beiden CAN-Transceiver, die typischerweise eine statische Schwelle für den Pegel des Differenzsignals aufweisen, oberhalb welcher Bitübergang ausgeben wird. Liegt diese Aktivierungsschwelle in einem Bereich, in dem die Signalanstiegszeiten von diesen Artefakten beeinflusst werden, würde ein falscher Wert für die Zeitdifferenz ermittelt.
-
Daher ist es bevorzugt, wenn an zumindest einer der zwei Positionen bei der Erfassung des Differenzsignals ein Schwellwert für einen Signalpegel vorgegeben wird, bei dessen Überschreiten das Differenzsignal als erkannt angenommen wird. Hierzu kann z.B. ein Komparator verwendet werden, mit dem das Differenzsignal mit dem Schwelwert verglichen wird. Besonders bevorzugt wird der Schwellwert individuell und ggf. auch dynamisch für die betreffende Position vorgegeben, z.B. unter Verwendung eines Digital-Analog-Wandlers (engl. digital-toanalog converter, DAC). Dies ist auch besonders geeignet, wenn für beide Positionen ein Schwellwert vorgegeben wird, die dann auch voneinander abweichen können.
-
Damit wird das Problem vermieden oder zumindest verringert, dass eine falsche Zeitdifferenz gemessen wird. Um die Robustheit des Differenzsignals zu erhalten, das z.B. vom CAN-Transceiver berechnet wird, kann dann eine spezielle Schaltung vorgesehen werden, die die Subtraktion auf Spannungspegelbasis berechnet. Dies könnte beispielsweise mit zwei (oder auch mehr oder weniger) Operationsverstärkern bzw. Komparatoren pro CANH-CANL-Paar erreicht werden. Um einen dynamischen Schwellwert bereitstellen zu können, kann für jedes einzelne Differenzsignal ein Komparator verwendet werden, der es mit einer Referenzspannung (den Schwellwert) vergleicht. Auf diese Weise kann der Schwellwert, über dem ein Bitübergang ausgegeben wird, mit Hilfe der Referenzspannung eingestellt werden.
-
Dabei ist zu beachten, dass diese Referenzspannung statisch auf den gewünschten Wert eingestellt werden kann, während z.B. mittels Digital-Analog-Wandlern eine dynamischere Möglichkeit besteht, sie einzustellen, die selbst bei einfachen Mikrocontrollern bereits vorhanden sind. Mit der Verwendung von Digital-Analog-Wandlern besteht ferner die Möglichkeit, automatisch den besten Schwellenwert zu bestimmen, mit dem die Differenzierung einzelner Ausbreitungsunterschiede maximiert wird. Durch Messen der Zeitdifferenzen von Nachrichten jedes Teilnehmers mit einer Vielzahl unterschiedlicher Schwellwerte kann ein geeigneter Schwellenwert für den Digital-Analog-Wandler ausgewählt und schließlich festgelegt werden, wodurch die beste Trennung zwischen allen sendenden Teilnehmern auf dem Kommunikationsmedium erzielt wird. Diese Realisierungsoption bietet die größte Flexibilität in Bezug auf Genauigkeit und Robustheit, wenngleich auf Kosten einer speziellen Schaltung. In diesem Fall sollte auch berücksichtigt werden, dass die zusätzlichen Komponenten für den Automobilbereich - wenn dies der Anwendungsbereich ist - geeignet sein sollten, was beispielsweise bedeutet, dass der Komparator eine geringe Schaltlatenz und einen kleinen Variationsbereich aufweisen muss.
-
Eine erfindungsgemäße Recheneinheit, z.B. ein Steuergerät eines Kraftfahrzeugs oder eine speziell hierfür ausgebildete Schaltungsanordnung, ist, insbesondere programmtechnisch, dazu eingerichtet, ein erfindungsgemäßes Verfahren durchzuführen.
-
Auch die Implementierung eines erfindungsgemäßen Verfahrens in Form eines Computerprogramms oder Computerprogrammprodukts mit Programmcode zur Durchführung aller Verfahrensschritte ist vorteilhaft, da dies besonders geringe Kosten verursacht, insbesondere wenn ein ausführendes Steuergerät noch für weitere Aufgaben genutzt wird und daher ohnehin vorhanden ist. Geeignete Datenträger zur Bereitstellung des Computerprogramms sind insbesondere magnetische, optische und elektrische Speicher, wie z.B. Festplatten, Flash-Speicher, EEPROMs, DVDs u.a.m. Auch ein Download eines Programms über Computernetze (Internet, Intranet usw.) ist möglich.
-
Weitere Vorteile und Ausgestaltungen der Erfindung ergeben sich aus der Beschreibung und der beiliegenden Zeichnung.
-
Die Erfindung ist anhand von Ausführungsbeispielen in der Zeichnung schematisch dargestellt und wird im Folgenden unter Bezugnahme auf die Zeichnung beschrieben.
-
Figurenliste
-
- 1 zeigt schematisch ein Kommunikationssystem, bei dem ein erfindungsgemäßes Verfahren durchführbar ist.
- 2 zeigt ein Diagramm mit Referenz-Zeitdifferenzen, wie sie bei einem erfindungsgemäßen Verfahren verwendet werden können.
- 3 zeigt eine Schaltungsanordnung zur Durchführung eines erfindungsgemäßen Verfahrens in einer bevorzugten Ausführungsform.
- 4 zeigt Signalverläufe zur Erläuterung eines erfindungsgemäßen Verfahrens in einer weiteren bevorzugten Ausführungsform.
- 5 zeigt eine Schaltungsanordnung zur Durchführung eines erfindungsgemäßen Verfahrens in einer weiteren bevorzugten Ausführungsform.
-
Ausführungsform(en) der Erfindung
-
In 1 ist schematisch ein Kommunikationssystem, bei dem ein erfindungsgemäßes Verfahren durchführbar ist, dargestellt. Hierzu ist das Kommunikationssystem 100 mit beispielhaft zwei Teilnehmern 110, 112 gezeigt, die an ein Kommunikationsmedium 120 angebunden bzw. angeschlossen sind. Bei den Teilnehmern 110, 112 kann es sich z.B. um Steuergeräte in einem Fahrzeug handeln. Das Kommunikationsmedium 120, bei dem es sich z.B. um einen CAN-Bus handelt, weist zwei Signalleitungen 120H und 120L auf, die im Falle des CAN-Busses auch als CAN-High und CAN-Low bezeichnet werden.
-
Weiterhin ist eine Recheneinheit oder Schaltungsanordnung130 gezeigt, die dazu eingerichtet ist und dazu verwendet wird, eine Zeitdifferenz von Empfangszeitpunkten einer auf dem Kommunikationsmedium versendeten Nachricht an zwei verschiedenen, vorgegebenen Positionen P1 und P2 auf dem Kommunikationsmedium 120 (diese Positionen gelten jeweils für beide Signalleitungen, die in der Praxis meist verdrillt sind) zu ermitteln. Die Nachricht ist hier mit 200 angedeutet. Die beiden Empfangszeitpunkte sind mit t1 und t2 angedeutet, und zwar mit dem Teilnehmer 110 als Sender. Hierzu kann die Recheneinheit 130 an den Positionen P1 und P2 an das Kommunikationsmedium 120 bzw. die beiden Signalleitungen angebunden sein, um die entsprechenden Signale zu empfangen.
-
Dabei sind das Signal der Leitung 120H an der Position P1 mit SH1, das Signal der Leitung 120L an der Position P1 mit SL1, das Signal der Leitung 120H an der Position P2 mit SH2 und das Signal der Leitung 120L an der Position P2 mit SL2 bezeichnet.
-
Zur Realisierung der vorgenannten Funktionen kann in der Recheneinheit 130 eine Komponente 132 vorgesehen sein, unter Verwendung welcher die Zeitdifferenz auf dem Kommunikationsmedium bestimmt werden kann. Sie soll im Folgenden auch als PDDC („Propagation Difference Determination Component“) bezeichnet werden. Das PDDC könnte beispielsweise einen TDC oder eine unabhängige Schaltung umfassen, die die Zeitdifferenz von zwei Signalen an den zwei Positionen, z.B. auch den Enden, des Kommunikationsmediums auf der Basis z.B. eines internen Zeitgebers misst. Die Recheneinheit bzw. Schaltungsanordnung 130 soll nachfolgend noch näher erläutert werden, und zwar in zwei verschiedenen bevorzugten Varianten.
-
In 2 ist beispielhaft ein Diagramm mit Referenz-Zeitdifferenzen, wie sie bei einem erfindungsgemäßen Verfahren verwendet werden können, dargestellt, und zwar als ein Wahrscheinlichkeitsverteilungsmodell von acht Sendern bzw. Teilnehmern auf dem Kommunikationsmedium unter Verwendung einer Gauss-Verteilung. Hierzu ist eine Wahrscheinlichkeitsdichte über einer Zeitdifferenz Δt (beispielhaft in ns) aufgetragen. Beispielhaft ist eine Referenz-Zeitdifferenz mit ΔtR bezeichnet. Wenn die im Rahmen der Erfindung für eine Nachricht ermittelte Zeitdifferenz einer der Referenz-Zeitdifferenzen entspricht oder z.B. zumindest weniger als einen Schwellwert davon abweicht, kann davon ausgegangen werden, dass die Nachricht von einem verifizierten Teilnehmer versendet wurde.
-
In 3 ist eine Schaltungsanordnung 130 zur Durchführung eines erfindungsgemäßen Verfahrens in einer bevorzugten Ausführungsform. Es kann sich dabei um die in 1 gezeigte Schaltungsanordnung bzw. Recheneinheit 130 handein. Insbesondere sind auch die vier eingehenden Signale SH1, SL1, SH2 und SL2 gezeigt. Mittels Erfassungsmitteln wie z.B. CAN-Transceivern 136, 138 kann aus jeweils zu einer Position gehörigen Signalen eine Differenz bzw. ein Differenzsignal SD1 bzw. SD2 gebildet werden. Wenn deren Spannungsniveau für die PDDC 132 passend ist, können sie direkt an diesen weitergegeben werden, wie mittels gestrichelter Linien angedeutet. Andernfalls kann jeweils ein Spannungsteiler 140, 142 vorgesehen werden, um das Spannungsniveau entsprechend anzupassen.
-
Auf diese Weise kann anhand der beiden Differenzsignale die Zeitdifferenz für die auf dem CAN-Bus versendete Nachricht 200 ermittelt werden, um zu bestimmen, ob die Nachricht von einem verifizierten Teilnehmer stammt. Wie schon erwähnt, funktioniert dieses Vorgehen insbesondere dann, wenn davon ausgegangen werden kann, dass die Differenzsignale vergleichbar in ihrer ansteigenden Flanke sind. Ist dies nicht der Fall, kann eine andere Variante zum Einsatzkommen, wie nachfolgend erläutert werden soll.
-
In 4 sind Signalverläufe zur Erläuterung eines erfindungsgemäßen Verfahrens in einer weiteren bevorzugten Ausführungsform dargestellt, und zwar von zwei Differenzsignalen SD1 und SD2 als Spannung U über der Zeit t. Die beiden Signalverläufe steigen zeitversetzt, aber zunächst jeweils mit in etwa der gleichen Steigung an. Der Zeitversatz resultiert z.B. aus den unterschiedlichen Laufzeiten der Nachricht bis zu den beiden Positionen, wie schon erwähnt.
-
Wie weiterhin zu sehen ist, verändert aber das Differenzsignal SD1 seine Steigung, sodass dieses Differenzsignal sogar vom Differenzsignal SD2 überholt wird. Wenn nun die CAN-Transceiver wie in 2 gezeigt oder andere Erfassungsmittel bei einem bestimmten, fest vorgegebenen Schwellwert Us das Differenzsignal als erkannt ansehen, so kann es vorkommen, dass die Empfangszeitpunkte und damit die Zeitdifferenz falsch erkannt werden.
-
In 5 ist nun eine Schaltungsanordnung 130' zur Durchführung eines erfindungsgemäßen Verfahrens in einer weiteren bevorzugten Ausführungsform dargestellt. Diese Schaltungsanordnung 130' kann ebenfalls als die in 1 gezeigte Recheneinheit bzw. Schaltungsanordnung 130 verwendet werden.
-
Auch hier werden zunächst mittels Erfassungsmitteln 150, 152 - es handelt sich beispielsweise um dedizierte Subtraktionslogiken bzw. entsprechende Schaltungen - die Differenzsignale SD1 und SD2 gebildet. Diese werden dann jeweils einem Komparator 154 bzw. 156 zugeführt, der zudem ein Signal für einen Schwellwert Us erhält, ab dem das jeweilige Differenzsignal als erkannt gelten soll. Wie mittels gestrichelter Linie angedeutet, kann dieser Schwellwert Usz.B. mittels eines Digital-Analog-Wandlers 158 auch dynamisch bestimmt und vorgegeben werden.
-
Auf diese Weise kann der Schwellwert Us angepasst werden und z.B. auf den Wert U's wie in 4 gezeigt gesetzt werden. Denkbar ist auch, dass für die beiden Komparatoren 154, 156 verschiedene Schwellwerte verwendet werden. Auf diese Weise kann den individuellen Gegebenheiten des Kommunikationsmediums, die die Signalausbreitung wie in 4 gezeigt beeinflusst, Rechnung getragen werden.