-
Stand der Technik
-
Die vorliegende Erfindung betrifft ein Verfahren zur Datenübertragung zwischen einem Sensor und einer elektronischen Steuer- und/oder Regeleinrichtung, wobei eine Manipulation der übertragenen Sensordaten und/ oder des Sensors erkannt wird.
-
Die Erfindung betrifft außerdem einen Sensor, der zum Anschluss an eine elektronische Steuer- und/oder Regeleinrichtung vorgesehen und zur Übertragung von Sensordaten an die Steuer- und/oder Regeleinrichtung ausgebildet ist, wobei Mittel zum Erkennen einer Manipulation der übertragenen Sensordaten und/ oder des Sensors vorgesehen sind. Ferner betrifft die vorliegende Erfindung eine Steuer- und/oder Regeleinrichtung, die zum Anschluss an einen Sensor vorgesehen und zum Empfang von Sensordaten von dem Sensor ausgebildet ist, wobei Mittel zum Erkennen einer Manipulation der übertragenen Sensordaten und des Sensors vorgesehen sind. Schließlich betrifft die Erfindung auch ein Netzwerk, umfassend eine Steuer- und/oder Regeleinrichtung und mindestens einen daran über eine Datenübertragungsverbindung angeschlossenen Sensor, wobei Mittel zum Erkennen einer Manipulation der von dem Sensor an die Steuer- und/oder Regeleinrichtung übertragenen Sensordaten und des Sensors vorgesehen sind.
-
Aus dem Stand der Technik sind beispielsweise Drucksensoren zum Erfassen des in einem gemeinsamen Kraftstoffspeicher (sog. Common-Rail) eines Kraftstoffeinspritzsystems eines Kraftfahrzeugs herrschenden Drucks bekannt.
-
Der unter dem gemessenen Druck in dem Speicher vorgehaltene Kraftstoff ist zur Einspritzung in Brennräume einer Brennkraftmaschine des Kraftfahrzeugs vorgesehen. Derartige Drucksensoren sind an eine elektronische Steuer- und/oder Regeleinrichtung (sog. Engine Control Unit, ECU) angeschlossen. Dabei kommunizieren die Drucksensoren über analoge Kommunikationskanäle mit der ECU. Diese analogen Kanäle können relativ einfach manipuliert werden, wodurch es unberechtigten Personen möglich ist, eine Leistungssteigerung der Brennkraftmaschine zu erzielen (sog. Tuning). Diese Leistungssteigerung ist zwar für den Fahrer eines mit der leistungsgesteigerten Brennkraftmaschine versehenen Kraftfahrzeugs vorteilhaft und in der Regel von diesem gewünscht. Für den Fahrzeughersteller ist ein solches Tuning jedoch nicht erkennbar und nicht nachvollziehbar. Das hat den Nachteil, dass der Fahrzeughersteller in der Vergangenheit für jegliche Probleme, die sich aus der unzulässigen Leistungssteigerung der Brennkraftmaschine ergaben, haftbar gemacht wurde und Defekte der Brennkraftmaschine reparieren musste, obwohl diese unter Umständen auf die unzulässige Leistungssteigerung zurückzuführen waren. Seit einiger Zeit werden viele der analogen Kommunikationskanäle zwischen Sensoren und ECU durch digitale Datenbusse ersetzt. Aus dem Stand der Technik ist eine Vielzahl von Möglichkeiten bekannt, eine Manipulation der von dem Sensor an die ECU digital übertragenen Sensordaten und/ oder des Sensors selbst zu erkennen bzw. die Sensordaten und/oder den Sensor gegen eine Manipulation zu sichern.
-
Ein entsprechendes Verfahren zum Erkennen einer Manipulation von übertragenen Sensordaten und/ oder eines Sensors selbst ist beispielsweise aus der
DE 10 2009 002 396 A1 bekannt. Viele der bekannten Verfahren haben den Nachteil, dass sie relativ aufwändig und komplex sind. Sie stellen relativ hohe Anforderungen an die Software und die Hardware, die zur Realisierung der Manipulationserkennung nach den bekannten Verfahren erforderlich sind. So ist es bei dem aus der genannten Druckschrift bekannten Verfahren beispielsweise erforderlich, dass sowohl in dem Sensor als auch in der ECU zwei Schlüssel zum Erzeugen und Verifizieren von Authentifizierungscodes (sog. Message Authentication Codes, MACs) für die zwischen dem Sensor und der ECU übertragenen Daten abgespeichert sein müssen. Dies erfordert zusätzlichen Speicherplatz sowohl in dem Sensor als auch in der ECU, wobei Speicherplatz insbesondere in dem Sensor knapp und teuer ist. Außerdem ist das Computerprogramm zur Realisierung des Manipulationsschutzes aufgrund der Komplexität des Verfahrens relativ aufwändig, rechen- und speicherintensiv. Zudem ist eine erhebliche Rechenleistung erforderlich, um das komplexe Computerprogramm innerhalb akzeptabler Verarbeitungszeiten in dem Sensor bzw. in der ECU abarbeiten zu können.
-
Offenbarung der Erfindung
-
Mit der vorliegenden Erfindung soll ein Verfahren zum Erkennen einer Manipulation von übertragenen Sensordaten und/ oder eines Sensors selbst vorgeschlagen werden, das einerseits ähnlich hohe Sicherheitsanforderungen erfüllt, wie die aus dem Stand der Technik bekannten komplexen Verfahren, und andererseits wesentlich einfacher und schneller ist und insbesondere deutlich geringere Software- bzw. Hardwareanforderungen stellt als die bekannten Verfahren.
-
Das Problem, das mit der vorliegenden Erfindung gelöst werden soll, ist es also, einen Mechanismus zur Verfügung zu stellen, der es der ECU und später dem Fahrzeughersteller erlaubt, ein Motortuning zu detektieren und nachzuvollziehen. Genauer gesagt, soll jegliche Art von Manipulation der von dem Sensor an die ECU übertragenen Sensordaten detektiert werden. Außerdem soll die vorgeschlagene Manipulationserkennung zu möglichst geringen Kosten hinsichtlich der zur Realisierung erforderlichen Chipfläche, der Verarbeitungsleistung des Prozessors und des Speicherbedarfs, insbesondere hinsichtlich eines sicheren, nicht flüchtigen Speichers, zur Verfügung gestellt werden.
-
Zur Lösung dieser Aufgabe wird ausgehend von dem Verfahren der eingangs genannten Art vorgeschlagen, dass die Sensordaten über einen ersten logischen Datenübertragungskanal mit einer ersten Datenübertragungsrate von dem Sensor an die Steuer- und/oder Regeleinrichtung (ECU) übertragen werden und dass Sicherheitsdaten zur Sicherung der übertragenen Sensordaten und/oder des Sensors über einen zweiten logischen Datenübertragungskanal mit einer zweiten Datenübertragungsrate von dem Sensor an die Steuer- und/oder Regeleinrichtung übertragen werden und dass zumindest einmal zu Beginn einer Sitzung (sog. Session) über einen dritten logischen Datenübertragungskanal ein Sitzungsschlüssel (vorzugsweise in verschlüsselter Form) von der Steuer- und/ oder Regeleinrichtung (ECU) an den Sensor übertragen und von diesem empfangen und ggf. entschlüsselt wird. Der Sitzungsschlüssel wird von dem Sensor zumindest für die laufende Sitzung zur Generierung der Sicherheitsdaten herangezogen.
-
Die vorliegende Erfindung zeichnet sich dadurch aus, dass für die Erkennung einer Manipulation des Sensors und der von diesem übertragenen Daten lediglich ein Schlüssel benötigt wird und in dem Sensor und der Steuer- und/ oder Regeleinrichtung abgespeichert werden muss. Mit Hilfe dieses einen Schlüssels kann sowohl eine Integritätsprüfung der von dem Sensor übertragenen und von der Steuer- und/oder Regeleinrichtung empfangenen Daten als auch eine implizite Authentifizierung des Sensors durchgeführt werden. Wenn der Sensor einen manipulierten Sitzungsschlüssel erhält bzw. nicht in der Lage ist, den empfangenen Sitzungsschlüssel korrekt zu entschlüsseln, liegen bei dem Sensor und der ECU unterschiedliche Schlüssel vor, was von der ECU erkannt und als Manipulation gewertet werden kann. Auch wenn der Sensor einen korrekten Schlüssel erhält, die übertragenen Sensordaten während der Übertragung von dem Sensor zu der ECU aber auf andere Weise manipuliert wurden, kann die ECU dies ebenfalls detektieren und als Manipulation werten.
-
Gemäß einer vorteilhaften Weiterbildung der Erfindung wird vorgeschlagen, dass von dem Sensor zumindest über einen Teil der zu übertragenden Sensordaten nach einem kryptografischen Algorithmus (bspw. einer Blockchiffre im entsprechenden Modus) unter Verwendung des Sitzungsschlüssels ein Nachrichten Authentifikations Code (Message Authentication Code, MAC) generiert und zumindest teilweise über den zweiten Datenübertragungskanal als Sicherheitsdaten an die Steuer- und/ oder Regeleinrichtung übertragen und von dieser empfangen wird. Auch bei diesem kryptografischen Algorithmus zum Generieren des MAC handelt es sich vorzugsweise um ein symmetrisches Kryptosystem. Besonders bevorzugt ist es, wenn der verwendete Algorithmus ein Rijndael-Algorithmus gemäß dem Advanced Encryption Standard (AES) ist. Aber auch beliebig andere alternative symmetrische Kryptosysteme, von denen weiter unten beispielhaft einige angeführt sind, können im Sinne der vorliegenden Erfindung zum Generieren des MAC verwendet werden. Der MAC muss nicht über alle zu übertragenden Sensordaten generiert werden. Es ist durchaus möglich, dass der MAC nur über einen Teil der zu übertragenden Sensordaten generiert wird. Dabei kann es sich um einen definierten, vorbestimmten Teil der Sensordaten oder um einen dynamisch gewählten Teil der Sensordaten handeln. Vorzugsweise ist der kryptografischen Algorithmus, der zum Generieren des MAC über zumindest einen Teil der zu übertragenden Sensordaten unter Verwendung des Sitzungsschlüssels verwendet wird, der gleiche Algorithmus, der von dem Sensor auch zum Entschlüsseln der empfangenen verschlüsselten Sicherheitsdaten und zum Ermitteln des Sitzungsschlüssels verwendet wird.
-
Der MAC hat beispielsweise eine Länge von 128 Bit. Um Bandbreite bei der Übertragung des MAC über den logischen Datenübertragungskanal einzusparen, ist es denkbar, dass nicht der gesamte MAC, sondern lediglich ein Teil davon, beispielsweise nur n Bits der höchsten Wertigkeit (sog. Most Significant Bits, MSBs) des MAC, über den Datenübertragungskanal an die Steuer- und/oder Regeleinrichtung (ECU) übertragen werden. So ist es beispielsweise denkbar, wenn der gesamte MAC 128 Bit umfasst, lediglich die 64 MSBs zu übertragen. Selbstverständlich kann der MAC auch jede andere größere oder kleinere Länge aufweisen. Auch die Anzahl der übertragenen Bits kann größer oder kleiner als die angegebenen 64 Bits sein. Selbstverständlich müssen auch nicht notwendigerweise die ersten n MSBs des MAC übertragen werden. Es ist auch denkbar, gezielt beliebige Bits aus dem MAC für die Datenübertragung über den zweiten Datenübertragungskanal auszuwählen. Die Übertragung nur eines Teils des MAC ist insbesondere dann besonders interessant, wenn ein langsamer Kanal zur Übertragung der Sicherheitsdaten genutzt wird.
-
Gemäß einer bevorzugten Ausführungsform wird weiter vorgeschlagen, dass von der Steuer- und/ oder Regeleinrichtung zumindest über einen Teil der empfangenen Sensordaten nach einem kryptografischem Algorithmus unter Verwendung des Sitzungsschlüssels ein Nachrichten Authentifikations Code (MAC) generiert wird. Mit Hilfe des Sitzungsschlüssels, der zu Beginn einer Sitzung von der ECU an den Sensor übertragen worden ist, wird während der eigentlichen Datenübertragung also sowohl ein erster MAC im Sensor als auch ein weiterer MAC in der ECU generiert. Da der im Sensor generierte MAC an die Steuer- und/oder Regeleinrichtung übertragen wird, stehen dort beide MACs zur Verfügung und können für eine Manipulationserkennung genutzt werden. Vorzugsweise werden in dem Sensor und in der Steuer- und/oder Regeleinrichtung die gleichen Algorithmen zur Generierung der MACs verwendet. Auch der in der ECU verwendete kryptografische Algorithmus zum Generieren des MAC ist vorzugsweise ein symmetrisches Kryptosystem. Besonders bevorzugt ist es, wenn es sich dabei um ein Kryptosystem nach dem AES handelt. Auch die anderen unten angeführten Alternativen für ein symmetrisches Kryptosystem können von der ECU als kryptografischer Algorithmus zum Generieren des MAC im Sinne der vorliegenden Erfindung verwendet werden. Der kryptografische Algorithmus, der von der ECU zum Generieren des MAC genutzt wird, ist vorzugsweise der gleiche Algorithmus, der auch von dem Sensor zum Generieren des MAC genutzt wird.
-
Es wird vorgeschlagen, dass der Sensor dazu ausgebildet ist, den MAC über zumindest einen Teil der zu übertragenden bzw. der empfangenen Sensordaten und über einen Zählerwert zu generieren. Der Zählerwert kann zu vorgebbaren Zeitpunkten, vorzugsweise zu Beginn einer jeden Sitzung, initialisiert werden. Ferner kann der Zählerwert zu vorgebbaren Zeitpunkten, vorzugsweise nach jeder Generierung eines MAC, inkrementiert bzw. dekrementiert werden.
-
Besonders bevorzugt ist ferner, dass der MAC in der ECU nicht nur über zumindest einen Teil der empfangenen Sensordaten, sondern auch über einen Zählerwert generiert wird. Dabei sollte es sich um den gleichen Zählerwert handeln, der auch in dem Sensor zum Generieren des MAC herangezogen wurde. Es ist denkbar, dass sowohl der Sensor als auch die ECU den Zählerwert selbstständig initialisieren, bspw. zu Beginn einer Sitzung (sog. Session), und diesen dann zu vorgegebenen Zeitpunkten oder bei vorgegebenen Ereignissen inkrementieren bzw. dekrementieren, bspw. nach jeder Berechnung eines MAC. Alternativ ist es aber auch möglich, dass der Zählerwert lediglich in der ECU initialisiert und inkrementiert bzw. dekrementiert wird. Der Zählerwert kann dann von der ECU an den Sensor übertragen werden, bspw. über den dritten logischen Datenübertragungskanal.
-
Gemäß einer besonders bevorzugten Weiterbildung der Erfindung wird vorgeschlagen, dass von der Steuer- und/ oder Regeleinrichtung der von dem Sensor empfangene Nachrichten Authentifikations Code (MAC) bzw. der empfangene Teil davon mit dem von der Steuer- und/ oder Regeleinrichtung zumindest über einen Teil der empfangenen Sensordaten generierten Nachrichten Authentifikations Code (MAC) bzw. einem Teil davon verglichen wird. Falls in dem Sensor und in der Steuer- und/oder Regeleinrichtung die gleichen Algorithmen zur Generierung der MACs verwendet werden, sind im Normalfall (d.h. keine Manipulation des Sitzungsschlüssels, keine Manipulation der übertragenen Daten) die beiden MACs gleich. Dies kann durch den in der Steuer- und/oder Regeleinrichtung vorgenommen Vergleich der beiden MACs verifiziert werden. Falls die beiden MACs oder die entsprechenden Teile davon gleich sind, kann davon ausgegangen werden, dass der Sensor den korrekten Gesamtschlüssel aufweist, denn sonst hätte der Sensor nicht den Sitzungsschlüssel richtig entschlüsseln und den MAC richtig erzeugen können. Damit ist gleichzeitig sichergestellt, dass es sich bei dem verwendeten Sensor, von dem Sensordaten empfangen wurden, um einen authentischen Sensor handelt (implizite Authentifizierung des Sensors über den ausschließlich dem Sensor und dem Steuergerät bekannten geheimen Schlüssel). Die Übereinstimmung der beiden MACs ist ferner ein Indiz dafür, dass die übertragenen und von der ECU empfangenen Sensordaten nicht manipuliert worden sind (Datenintegrität). Wenn aber die beiden MACs verschieden sind, ist dies ein Indiz für eine Manipulation des Sitzungsschlüssels und/ oder der übertragenen Daten. Um unterschiedliche MACs aufgrund eines Übertragungsfehlers zwischen Sensor und Steuergerät ausschließen zu können, können auf der Steuergeräteseite geeignete Algorithmen bspw. basierend auf Fehlerwahrscheinlichkeiten und entsprechender Statistik implementiert sein. Im Fall einer Manipulation können geeignete Gegenmaßnahmen getroffen werden (z.B. Eintrag in einen Fehlerspeicher des Kraftfahrzeugs, Übergang in einen Fail-Safe-Betrieb der Brennkraftmaschine, Übermittlung einer Meldung an den Fahrzeughersteller, etc.).
-
Ferner wird vorgeschlagen, dass die Sensordaten über den ersten logischen Datenübertragungskanal mit einer größeren Datenübertragungsrate übertragen werden als die Sicherheitsdaten über den zweiten logischen Datenübertragungskanal. Somit bildet der erste Datenübertragungskanal einen schnellen logischen Kanal und der zweite Datenübertragungskanal einen langsamen logischen Kanal. Solche Datenübertragungsmechanismen mit einem schnellen und einem langsamen Datenübertragungskanal können beispielsweise in einem digitalen Kommunikationsbus zwischen dem Sensor und der ECU dadurch realisiert werden, dass in der zur Datenübertragung zur Verfügung stehenden Bandbreite ein größerer Teil zur Übertragung der Daten des schnellen Datenübertragungskanals und ein kleinerer Teil zur Übertragung der Daten des langsameren Datenübertragungskanals genutzt wird. Falls die Datenübertragung zwischen dem Sensor und der ECU in Nachrichtenpaketen einer definierten, vorgegebenen Länge erfolgt, ist es beispielsweise denkbar, dass die meisten Bits des Nachrichtenpakets für die Übertragung der Daten des schnellen Datenübertragungskanals und weniger Bits, möglicherweise nur einzelne oder einige wenige Bits, des Nachrichtenpakets zur Übertragung der Daten des langsamen Datenübertragungskanals genutzt werden. Falls die Anzahl der Bits, die zur Übertragung der Daten des langsamen Datenübertragungskanals in einem Nachrichtenpaket genutzt werden, nicht ausreichen sollte, um die erforderlichen Sicherheitsdaten zur Erkennung einer Manipulation der übertragenen Sensordaten und/oder des Sensors innerhalb einer akzeptablen Übertragungszeit zu übertragen, ist es denkbar, mehrere Nachrichtenpakete zur Übertragung der Sicherheitsdaten zu nutzen. Dazu können die Sicherheitsdaten bzw. kann ein entsprechender Datenstrom beim Sender unterteilt werden (sog. Segmentieren), kann jeweils nur einen Teil (sog. Segment) der zu übertragenden Sicherheitsdaten bzw. des Datenstroms über den langsamen Datenübertragungskanal eines Nachrichtenpakets übertragen werden und beim Empfänger über den langsamen Datenübertragungskanal empfangenen Teile verschiedener Nachrichtenpakete wieder zu den Sicherheitsdaten zusammengesetzt werden (sog. Concatenating, Desegmentation oder Assembling). Dabei kann nicht nur ein Nachrichtenpaket pro Kommunikationszyklus zur Übertragung der Sicherheitsdaten, sondern es können auch mehrerer Pakete pro Zyklus genutzt werden.
-
Es ist denkbar, dass die Sensordaten über den gleichen physikalischen Datenübertragungskanal übertragen werden wie die Sicherheitsdaten. Der physikalische Datenübertragungskanal kann bspw. ein Kabel oder eine Leitung, mehrere gemeinsam genutzte Kabel oder Leitungen (z.B. bei einer Übertragung der Daten mittels eines Differenzsignals) oder eine kabellose Datenübertragungsverbindung, bspw. mittels einer Funk- oder Infrarot-Verbindung, sein. Ferner ist es vorteilhaft (aber nicht notwendig), wenn der Sitzungsschlüssel über den gleichen physikalischen Datenübertragungskanal übertragen wird wie die Sensordaten und/oder die Sicherheitsdaten. Ebenso ist es denkbar, dass der dritte logische Kanal Bestandteil des ersten oder des zweiten logischen Kanals ist, d.h. der Sitzungsschlüssel über den ersten oder den zweiten logischen Kanal übertragen wird. Dazu ist es erforderlich, dass der jeweilige erste oder zweite Datenübertragungskanal eine bidirektionale Datenübertragung unterstützt.
-
Zur Realisierung des langsamen Datenübertragungskanals wäre es auch denkbar, die Sicherheitsdaten oder einen Teil davon nicht in jedem der übertragenen Nachrichtenpakete mit zu übertragen, sondern Sicherheitsdaten oder Teile davon nur in jedem x-ten Nachrichtenpaket zu übermitteln (x ∊
und x > 1). Ebenso wäre es in einem zyklusbasierten Kommunikationssystem denkbar, nicht in jedem Kommunikationszyklus Nachrichtenpakete zur Übermittlung der Sicherheitsdaten zu nutzen, sondern nur in jedem x-ten Zyklus.
-
Ein Beispiel zur Realisierung eines schnellen und eines langsamen Datenübertragungskanals zwischen dem Sensor und der ECU ist beispielsweise ein Kommunikationssystem nach dem PSI5-Standard ab Version 2.0. Gemäß diesem Standard sind zur Datenübertragung zwischen einem Sensor und einer ECU ein Kommunikationskanal (sog. Communication Channel) sowie ein Steuerkanal (sog. Messaging Channel) vorgesehen. Der Kommunikationskanal könnte im Sinne der vorliegenden Erfindung als schneller Datenübertragungskanal und der Steuerkanal als langsamer Datenübertragungskanal verwendet werden. Üblicherweise werden nach dem PSI5-Standard über den langsamen Steuerkanal beispielsweise aktuelle, von dem Sensor erfasste Temperaturwerte, eine Identifikation (sog. ID) des Sensors, eine Versionsnummer des Sensors oder der darauf vorhandenen Software, Diagnosedaten des Sensors, etc. übertragen. Erfindungsgemäß wird vorgeschlagen, alternativ oder zusätzlich zu diesen Daten über den Steuerkanal die Sicherheitsdaten zur Sicherung der übertragenen Sensordaten und/oder des Sensors vor Manipulation zu übertragen.
-
Gemäß einer anderen vorteilhaften Weiterbildung der vorliegenden Erfindung wird vorgeschlagen, dass der Sitzungsschlüssel von der Steuer- und/oder Regeleinrichtung (ECU) generiert wird. Gemäß einer anderen bevorzugten Ausführungsform ist es ferner denkbar, dass der Sitzungsschlüssel vor der Übertragung an den Sensor von der Steuer- und/ oder Regelungseinrichtung in Abhängigkeit von einem Geheimschlüssel verschlüsselt wird. Vorteilhafterweise wird der von dem Sensor empfangene verschlüsselte Sitzungsschlüssel in Abhängigkeit von dem Geheimschlüssel entschlüsselt, um den Sitzungsschlüssel zu ermitteln. Der Geheimschlüssel ist also von Beginn an sowohl dem Sensor als auch der ECU bekannt. Der Geheimschlüssel wird sowohl in dem Sensor als auch in der ECU in einem Speicher, vorzugsweise einem nicht flüchtigen Speicher, abgelegt. Vorzugsweise ist der kryptografische Algorithmus, der von dem Sensor zum Entschlüsseln des empfangenen verschlüsselten Sitzungsschlüssels und zum Ermitteln des Sitzungsschlüssels verwendet wird, der gleiche Algorithmus, der von dem Sensor auch zum Generieren des MAC über zumindest einen Teil der zu übertragenden Sensordaten unter Verwendung des Sitzungsschlüssels verwendet wird. Ferner ist der kryptografische Algorithmus, der von der ECU zum Verschlüsseln des Sitzungsschlüssels vor dessen Übertragung an den Sensor verwendet wird, vorzugsweise der gleiche Algorithmus, der von der ECU auch zum Generieren des MAC zumindest über einen Teil der empfangenen Sensordaten unter Verwendung des Sitzungsschlüssels genutzt wird.
-
Im Idealfall ist der Geheimschlüssel nur dem Sensor und der ECU bekannt. Es ist aber auch denkbar, dass der Geheimschlüssel beispielsweise bei dem Hersteller des Sensors, dem Kraftfahrzeughersteller oder einem anderen berechtigten Organ (einer Person, einem Unternehmen oder einer Behörde) abgespeichert ist oder von diesen bei Bedarf auf andere Weise wieder erzeugt werden kann. Dies hat den Vorteil, dass bei einem Austausch des Sensors der passende Geheimschlüssel in einen Speicher der ECU kopiert werden kann, damit diese ordnungsgemäß mit dem neuen Sensor kommunizieren kann, insbesondere damit eine Manipulation der übertragenen Sensordaten und/oder des Sensors durch die ECU erkannt werden kann. Nur wenn sowohl der Sensor als auch die ECU den gleichen Geheimschlüssel aufweisen, kann der Sensor den korrekten Sitzungsschlüssel ermitteln, der wiederum Voraussetzung für eine Absicherung der nachfolgenden Übertragung der Sensordaten und die Detektion einer Manipulation ist. Da im Sensor der Sitzungsschlüssel in Abhängigkeit von dem Geheimschlüssel generiert wird und zum Generieren des Nachrichten-Authentifizierungs-Codes (MAC) für die von dem Sensor an die ECU zu übertragenden bzw. übertragenen Sensordaten benötigt wird, kann eine Authentizität des Sensors und eine Integrität der übertragenen Daten in der Steuer- und/oder Regeleinrichtung nur dann als korrekt und ordnungsgemäß verifiziert werden, wenn sowohl der Sensor als auch die ECU über den gleichen gemeinsamen Geheimschlüssel verfügen.
-
Gemäß einer anderen vorteilhaften Weiterbildung der vorliegenden Erfindung wird vorgeschlagen, dass ein zum Verschlüsseln und/oder zum Entschlüsseln des Sitzungsschlüssels verwendeter Algorithmus derart gewählt wird, dass von der Steuer- und/oder Regeleinrichtung (ECU) zum Verschlüsseln des Sitzungsschlüssels ein Entschlüsselungsalgorithmus und von dem Sensor zum Entschlüsseln der empfangenen verschlüsselten Sicherheitsdaten ein entsprechender Verschlüsselungsalgorithmus verwendet werden kann. Dies ist möglich, wenn zum Verschlüsseln bzw. Entschlüsseln des Sitzungsschlüssels ein symmetrischer Verschlüsselungsalgorithmus mit einem symmetrischen Geheimschlüssel verwendet wird, wobei der Algorithmus die Funktionalität, dass zum Entschlüsseln ein Verschlüsselungsalgorithmus und/ oder zum Verschlüsseln ein Entschlüsselungsalgorithmus verwendet werden kann, unterstützen muss. Vorzugsweise werden Blockchiffren (im Gegensatz zu Stromchiffren) zum Verschlüsseln und/ oder Entschlüsseln des Sitzungsschlüssels verwendet. Diese Weiterbildung hat den Vorteil, dass auf der Seite des Sensors lediglich ein geeigneter symmetrischer Verschlüsselungsalgorithmus (eigentlich im entsprechenden Modus zum Generieren der MAC-Daten) und nicht auch zusätzlich noch ein Entschlüsselungsalgorithmus (eigentlich zum Entschlüsseln des verschlüsselten Sitzungsschlüssels) implementiert sein muss.
-
Als kryptografischer Algorithmus kann – wie gesagt – ein beliebiger Verschlüsselungsalgorithmus zum Einsatz kommen, wobei er die Funktionalität, dass zum Entschlüsseln ein Verschlüsselungsalgorithmus und/ oder zum Verschlüsseln ein Entschlüsselungsalgorithmus verwendet werden kann, unterstützen sollte. Vorzugsweise kommen als kryptografische Algorithmen Blockchiffren zum Einsatz. Besonders bevorzugt ist, wenn zum Verschlüsseln und zum Entschlüsseln des Sitzungsschlüssels ein symmetrisches Kryptosystem in Form eines Rijndael-Algorithmus gemäß dem Advanced Encryption Standard (AES) verwendet wird. Außer dem AES-Verschlüsselungsstandard gibt es noch eine Vielzahl weiterer symmetrischer Kryptosysteme, die zum Einsatz in Verbindung mit der vorliegenden Erfindung geeignet wären, beispielsweise DES (Data Encryption Standard) oder Lucifer, Triple-DES, IDEA (International Data Encryption Algorithm), Blowfish, Twofish, CAST-128 oder CAST-256, RC2, RC5, oder RC6 (Rivest Cipher), PRESENT, um nur einige zu nennen. Es ist durchaus denkbar, dass in Zukunft weitere symmetrische Kryptosysteme entwickelt werden, die ebenfalls bei der vorliegenden Erfindung zum Einsatz kommen könnten. Auch mit diesen bekannten oder zukünftigen Kryptosystemen könnte die vorliegende Erfindung realisiert werden.
-
Um einen Angriff auf die Datenübertragung durch Wiedereinspielung der gleichen Daten (sog. Replay-Attack) zu verhindern, wird gemäß einer besonders bevorzugten Ausführungsform vorgeschlagen, dass der MAC sowohl über zumindest einen Teil der zu übertragenden Sensordaten als auch über einen Zählerwert generiert wird. Der Zählerwert wird zu beliebigen Zeitpunkten, vorzugsweise zu Beginn einer jeden Sitzung (sog. Session) initialisiert. Außerdem wird der Zählerwert zu bestimmten zeitlich gesteuerten oder ereignisgesteuerten Zeitpunkten, vorzugsweise nach jeder x-ten Generierung eines Nachrichten Authentifikations Codes (MAC) inkrementiert bzw. dekrementiert, wobei x ∊
Auf diese Weise kann sichergestellt werden, dass sich die Daten, auf deren Grundlage der MAC generiert wird, von Mal zu Mal unterscheiden, obwohl die zu übertragenden Sensordaten an sich identisch sein können. Dadurch ergibt sich selbst für identische Sensordaten von Mal zu Mal ein anderer Authentifizierungscode (MAC). Ein Replay-Angriff kann auf diese Weise effektiv und effizient verhindert werden.
-
Ferner ist es besonders bevorzugt, dass die Daten zwischen dem Sensor und der Steuer- und/oder Regeleinrichtung (ECU) über eine Schnittstelle nach dem PSI5-Standard ab Version 2.0, vorzugsweise nach einem Unterstandard für die Anwendung einer PSI5-Schnittstelle im Bereich eines Kraftfahrzeugantriebsstrangs, übertragen werden. Dabei handelt es sich um einen digitalen Datenübertragungsbus, der für die Anbindung von einem oder mehreren Sensoren an eine ECU ausgebildet ist.
-
Die der vorliegenden Erfindung zugrunde liegende Aufgabe wird ferner durch einen Sensor der eingangs genannten Art gelöst, der Mittel zur Ausführung des erfindungsgemäßen Verfahrens nach einem der Ansprüche 1, 2, 5, 6, 10, bis 16 aufweist. Ferner wird die Aufgabe durch eine Steuer- und/oder Regeleinrichtung (ECU) gelöst, die Mittel zur Ausführung des erfindungsgemäßen Verfahrens nach einem der Ansprüche 1, 3 bis 9 und 11 bis 16 aufweist. Schließlich wird die der vorliegenden Erfindung zugrunde liegende Aufgabe auch durch ein Netzwerk der eingangs genannten Art gelöst, das Mittel zur Ausführung des erfindungsgemäßen Verfahrens aufweist.
-
Die Erfindung wird nachfolgend anhand der Figuren anhand eines bevorzugten Ausführungsbeispiels näher erläutert. Die vorliegende Erfindung kann die im Bezug auf das beschriebene Ausführungsbeispiel angegebenen Merkmale und Vorteile auch unabhängig voneinander und in einer beliebigen Kombination miteinander aufweisen, selbst wenn dies in den Figuren nicht ausdrücklich gezeigt bzw. in der Beschreibung ausdrücklich erwähnt ist. Es zeigen:
-
1 einen ersten Abschnitt des erfindungsgemäßen Verfahrens;
-
2 einen zweiten Abschnitt des erfindungsgemäßen Verfahrens; und
-
3 ein Beispiel für mehrere über eine Datenübertragungsverbindung übertragene Datenrahmen zur Realisierung mehrerer logischer Datenübertragungskanäle.
-
Die vorliegende Erfindung betrifft ein Verfahren zur Datenübertragung zwischen einem Sensor und einer elektronischen Steuer- und/oder Regeleinrichtung (ECU). Dabei kann eine Manipulation der übertragenen Sensordaten und/ oder des Sensors erkannt werden. In den Figuren ist beispielhaft ein Sensor A dargestellt, der mit dem Bezugszeichen 1 bezeichnet ist. Eine Steuer- und/ oder Regeleinrichtung (ECU) B ist mit dem Bezugszeichen 2 bezeichnet. Der Sensor 1 ist vorzugsweise über einen physikalischen Datenübertragungskanal in Form einer Datenübertragungsverbindung 3 mit der ECU 2 verbunden. Die Datenübertragungsverbindung 3 umfasst beispielsweise eine Zweidrahtleitung. Auf der Datenübertragungsverbindung 3 sind mehrere logische Datenübertragungskanäle realisiert, über die Daten zwischen dem Sensor 1 und der ECU 2 übertragen werden. Der Sensor 1 ist bspw. als ein Drucksensor zum Erfassen des Kraftstoffdrucks in einem gemeinsamen Kraftstoffspeicher (z.B. Common-Rail) eines Kraftstoffeinspritzsystems einer Brennkraftmaschine eines Kraftfahrzeugs ausgebildet. Ein solcher Sensor 1 erfasst den in dem Kraftstoffspeicher herrschenden Kraftstoffdruck und übermittelt die erfassten Druckwerte als Sensordaten über die Datenübertragungsverbindung 3 an die ECU 2. Die ECU 2 wäre dann dementsprechend als ein Steuergerät zur Steuerung und/ oder Regelung des Einspritzsystems ausgebildet, insbesondere zur Steuerung und/ oder Regelung des Kraftstoffdrucks in dem Kraftstoffspeicher.
-
Es wird davon ausgegangen, dass in einem Speicher des Sensors 1 und in einem Speicher der ECU 2 ein identischer Geheimschlüssel KAB,Auth abgelegt ist. Bei dem Geheimschlüssel KAB,Auth handelt es sich vorzugsweise um einen symmetrischen kryptografischen Schlüssel, der vor Ausführung des erfindungsgemäßen Verfahrens in einem dem Sensors 1 zugeordneten ersten Speicher und in einem der ECU 2 zugeordneten zweiten Speicher abgespeichert wurde. Vorzugsweise handelt es sich bei den Speichern um nicht-flüchtige interne Speicher, die in einem Gehäuse des Sensors 1 bzw. der ECU 2 angeordnet sind. Der Geheimschlüssel KAB,Auth ist im Idealfall nur dem Sensor 1 und der ECU 2 bekannt. In der Praxis stammt der Geheimschlüssel KAB,Auth bspw. von einem Sensorhersteller, einem Kraftfahrzeughersteller oder von beliebigen Dritten, bspw. von einer Zertifizierungsstelle.
-
Das erfindungsgemäße Verfahren ist in zwei Abschnitte unterteilt. Der erste Abschnitt ist in 1 dargestellt, der zweite Abschnitt in 2. Der erste Abschnitt umfasst das Generieren eines Sitzungsschlüssels KS durch die ECU 2 (Schritt 4). Das Generieren der Sitzungsschlüssel KS beruht auf Zufallszahlen. Das Generieren eines neuen Sitzungsschlüssels KS kann zu einem beliebigen Zeitpunkt während einer Sitzung (sog. Session) je nach Bedarf (on demand) erfolgen. Es ist denkbar, dass ein Sitzungsschlüssel KS zu Beginn einer Sitzung, bspw. nach dem Betätigen der Zündung (Klemme 15), generiert wird. Ferner wäre es denkbar, alternativ oder zusätzlich zu anderen Zeitpunkten und/oder nach dem Eintreten bestimmter Ereignisse während der Sitzung einen neuen Sitzungsschlüssel KS zu generieren. Auf diese Weise stehen immer neue Sitzungsschlüssel KS in kurzen zeitlichen Abständen (alle x Sekunden oder gar Millisekunden) zur Verfügung.
-
Der zufallsgenerierte Sitzungsschlüssel KS wird dann von der ECU 2 mittels eines geeigneten Verschlüsselungsverfahrens mit dem gemeinsamen Geheimschlüssel KAB,Auth verschlüsselt und an den Sensor 1 übertragen (Schritt 5). Zur Übertragung des verschlüsselten Sitzungsschlüssel KS wird ein logischer Datenübertragungskanal genutzt, der über die Datenübertragungsverbindung 3 realisiert ist und der als „dritter Datenübertragungskanal“ bezeichnet ist. Der Sensor 1 ist seinerseits in der Lage, den Sitzungsschlüssel KS zu ermitteln, indem er die empfangenen verschlüsselten Daten mit dem gleichen Verfahren, den die ECU 2 zum Verschlüsseln verwendet hat, bzw. mit dem dazu passenden Entschlüsselungsverfahren unter Verwendung des gemeinsamen Geheimschlüssels KAB,Auth entschlüsselt (Schritt 6). Damit ist dann der Sitzungsschlüssel KS, der von der ECU 2 für die anstehende Sitzung generiert worden ist, beiden Teilnehmern, d.h. der ECU 2 und dem Sensor 1, bekannt, sofern die Übertragung korrekt war und der gleiche Geheimschlüssel KAB,Auth in beiden Teilnehmern 1, 2 bekannt war. Dieser erste Abschnitt ist in 1 dargestellt.
-
Das Verschlüsselungsverfahren zum Verschlüsseln des Sitzungsschlüssels KS in der ECU 2 und zum Entschlüsseln des Sitzungsschlüssels KS in dem Sensor 1 wird derart gewählt, dass zum Verschlüsseln in der ECU 2 Verschlüsselungs- und Entschlüsselungsalgorithmus des Verfahrens gleichermaßen verwendet werden können und dass zum Entschlüsseln in dem Sensor 1 Verschlüsselungs- und Entschlüsselungsalgorithmus des Verfahrens gleichermaßen gegengleich verwendet werden können. Das erlaubt es, dass zum Verschlüsseln des Sitzungsschlüssels KS in der ECU 2 ein Entschlüsselungsalgorithmus (Dec) verwendet wird. Dementsprechend wird in dem Sensor 1 zum Entschlüsseln des Sitzungsschlüssels KS ein Verschlüsselungsalgorithmus (Enc) verwendet. Das ist insbesondere dann möglich, wenn zum Verschlüsseln (Dec) des Sitzungsschlüssels KS in der ECU 2 und zum Entschlüsseln (Enc) des Sitzungsschlüssels KS in dem Sensor 1 ein Verfahren in Form eines symmetrischen Kryptosystems mit einem symmetrischen gemeinsamen Schlüssel, den Geheimschlüssel KAB,Auth, zur Anwendung kommt, das es erlaubt, den Verschlüsselungsalgorithmus und den Entschlüsselungsalgorithmus zu vertauschen. Vorzugsweise handelt es sich bei dem verwendeten symmetrischen Kryptosystem um einen Rijndael-Algorithmus gemäß dem Advanced Encryption Standard (AES). Außer dem AES-Verschlüsselungsstandard gibt es noch eine Vielzahl weiterer symmetrischer Kryptosysteme, die zum Einsatz in Verbindung mit der vorliegenden Erfindung geeignet sind, insbesondere beliebige Blockchiffren. Beispiele dafür sind DES (Data Encryption Standard) oder Lucifer, Triple-DES, IDEA (International Data Encryption Algorithm), Blowfish, Twofish, CAST-128 oder CAST-256, RC2, RC5, oder RC6 (Rivest Cipher) und PRESENT, um nur einige zu nennen.
-
Grundsätzlich kann eine beliebige standardisierte, sichere symmetrische Verschlüsselung, wie beispielsweise Advanced Encryption Standard (AES), mit einer ausreichend großen Schlüssellänge verwendet werden. Vorzugsweise wird eine Schlüssellänge von 128 Bit vorgeschlagen. Durch die Verwendung des symmetrischen Verschlüsselungsverfahrens kann der Sitzungsschlüssel KS unter Verwendung des Geheimschlüssels KAB,Auth nicht nur durch die Verschlüsselungsfunktion von AES (EncAES), sondern auch durch die Entschlüsselungsfunktion (DecAES) verschlüsselt werden, indem die besonderen Eigenschaften des Verschlüsselungsverfahrens ausgenutzt werden. Das bedeutet, dass die Verschlüsselungsfunktion (EncAES) zum Entschlüsseln der im Sensor 1 empfangenen verschlüsselten Sicherheitsdaten (Sicherungsschlüssel KS) genutzt werden kann. Dies hat den Vorteil, dass auf der Seite des Sensors 1 lediglich eine Verschlüsselungsfunktion (Enc) implementiert werden muss, die sowohl zum Entschlüsseln der Sitzungsschlüssel KS als auch zum Generieren eines Nachrichten Authentifikations Codes (sog. Message Authentification Code, MAC) genutzt werden kann, was weiter unten noch ausführlich erläutert wird. Deshalb können die zur Verfügung stehenden Ressourcen im Sensor 1 effizienter genutzt werden. Insbesondere kann die benötigte Fläche eines ASIC (Application Specific Integrated Circuit) gegenüber der bekannten Realisierung, wo sowohl eine Verschlüsselungsfunktion als auch eine Entschlüsselungsfunktion in dem Sensor vorgesehen werden muss, verringert werden. Wenn der Sensor sowohl das Entschlüsseln (Dec) als auch das Verschlüsseln (Enc) in der gleichen AES-Einheit unterstützen soll, würde dies zu einer Erhöhung der erforderlichen Chipfläche um etwa 50% führen.
-
Nach der Ausführung des ersten Verfahrensabschnitts (vgl. 1) ist der Sitzungsschlüssel KS sowohl in der ECU 2 als auch in dem Sensor 1 bekannt und kann für die laufende Sitzung für eine Integritätsprüfung der übertragenen Sensordaten und einen Authentifizierung des Sensors 1 genutzt werden. Dieser während einer Sitzung (kontinuierlich ausgeführte) zweite Verfahrensabschnitt ist in 2 dargestellt.
-
2 zeigt zwei individuelle logische Kommunikations- oder Datenübertragungskanäle 10, 11 zwischen dem Sensor 1 und der ECU 2, die für eine Datenübertragung zwischen dem Sensor 1 und der ECU 2 über die Datenübertragungsverbindung 3 genutzt werden können und die als „erster Datenübertragungskanal“ und „zweiter Datenübertragungskanal“ bezeichnet sind. Für die Datenübertragung wird beispielsweise eine PSI5-Schnittstelle v2.0 und insbesondere ein Unterstandard für die Anwendung einer PSI5-Schnittstelle im Bereich eines Kraftfahrzeug-Antriebsstrangs verwendet. Der erste logische Datenübertragungskanal 10 wird zum Übertragen der Sensordaten, beispielsweise von Druckdaten eines gemeinsamen Kraftstoffspeichers eines Common Rail-Systems, genutzt, während Sicherheitsdaten, die zur Sicherung der übertragenen Sensordaten und/oder des Sensors 1, insbesondere zum Erkennen einer Manipulation der Sensordaten und/ oder des Sensors 1, dienen, über den zweiten logischen Datenübertragungskanal 11 übermittelt werden. Vorzugsweise ist eine Datenübertragungsrate des ersten Datenübertragungskanals 10 größer als die des zweiten Datenübertragungskanals 11, so dass der erste Kanal 10 auch als schneller Kanal und der zweite Kanal 11 auch als langsamer Kanal bezeichnet werden. Durch die Aufteilung der Übertragung der Sensordaten und der Sicherheitsdaten auf den ersten und den zweiten logischen Datenübertragungskanal 10, 11 ist sichergestellt, dass durch die vorgeschlagenen Sicherheitsmaßnahmen keine zusätzliche Verzögerung bei der Übertragung der Sensordaten erzeugt und den Sensordaten keine Interferenz überlagert wird. Die Latenzzeiten werden möglichst gering gehalten.
-
Die Realisierung der verschiedenen logischen Datenübertragungskanäle kann auf verschiedene Weise erfolgen. 3 zeigt eine mögliche Realisierungsform für eine Datenübertragung in verschiedenen logischen Datenübertragungskanälen über einen einzigen physikalischen Datenübertragungskanal 3. Die Datenübertragung von dem Sensor 1 zu der ECU 2 erfolgt dabei in Datenübertragungsrahmen #1, #2, #3. Selbstverständlich können auch mehr oder weniger als die eingezeichneten drei Datenrahmen #1, #2, #3 zur Datenübertragung genutzt werden. Es kann ein kontinuierlicher Strom von Datenrahmen #1, #2, #3 über die Verbindung 3 vorgesehen sein, oder aber Datenrahmen #1, #2, #3 werden nur dann übertragen, wenn tatsächlich Sensordaten x1, ..., xt und/oder MACs übertragen werden sollen. Jeder Datenrahmen #1, #2, #3 ist in Felder unterteilt, die jeweils einer bestimmten Datengröße, bspw. einem oder mehreren Bits, entsprechen. Jedem der logischen Kanäle ist eine bestimmte Anzahl an Feldern zugeordnet. So ist in dem Beispiel aus 3 einem ersten logischen Kanal k1 ein Feld, einem zweiten logischen Kanal k2 drei Felder, einem dritten logischen Kanal k3 ebenfalls drei Felder und einem vierten logischen Kanal k4 wiederum nur ein Feld zugeordnet.
-
Selbstverständlich kann je Datenrahmen #1, #2, #3 auch eine unterschiedliche Anzahl von logischen Kanälen vorgesehen sein. Ferner können je Datenrahmen #1, #2, #3 auch mehr oder weniger als die dargestellten vier logischen Kanäle k1, k2, k3, k4 vorgesehen sein. Außerdem ist es denkbar, dass die Kanäle k2, k3 auch mehr oder weniger als die dargestellten drei Felder bzw. die Kanäle k1, k4 auch mehr oder weniger als das dargestellte eine Feld umfassen.
-
Pro Datenrahmen #1, #2, #3, d.h. pro Zeiteinheit, werden also für den ersten Kanal k1 Daten eines Feldes, für den zweiten Kanal k2 Daten von drei Feldern, für den dritten Kanal k3 ebenfalls Daten von drei Feldern und für den vierten Kanal k4 wiederum Daten von einem Feld übertragen und von der ECU 2 empfangen. Mit den ersten und vierten Kanälen k1, k4 wird also ein logischer Datenübertragungskanal realisiert, der eine langsamere Übertragungsrate aufweist als die zweiten und dritten Kanäle k2, k3. Es wäre denkbar, einen der langsamen Kanäle k1 oder k4 als Datenübertragungskanal 11 der vorliegenden Erfindung zur Übertragung des MAC bzw. des CMAC zu nutzen. Ebenso wäre es denkbar, einen der schnelleren Kanäle k2 oder k3 als Datenübertragungskanal 10 der vorliegenden Erfindung zur Übertragung der Sensordaten x1, ..., xt zu nutzen.
-
Die mit den einzelnen Datenrahmen übertragenen Daten der einzelnen Kanäle k1, k2, k3, k4 werden beim Empfänger, hier also in der ECU 2, zwischengespeichert und nach dem Empfang der erforderlichen Anzahl an Datenrahmen #1, #2, #3 zu den übertragenen Daten zusammengesetzt. Wenn bspw. die über einen der langsamen Kanäle k1 oder k4 zu übertragenen Daten (z.B. Sicherheitsdaten, wie MAC oder CMAC) 64 Bit umfassen und die einzelnen Felder der Datenrahmen #1, #2, #3 jeweils 8 Bit groß sind, müssen acht Datenrahmen empfangen werden, bis die ECU 2 alle 64 Bit der übertragenen Daten zur Verfügung hat. Entsprechendes gilt für die Übertragung der Sensordaten x1, ..., xt über einen der schnellen Kanäle k2 oder k3. Dies trifft auf der hier beschriebenen logischen Ebene zu. Auf der Protokollebene bestehen die übertragenen Daten streng genommen nicht ausschließlich aus Nutzdaten, sondern enthalten Zusatzdaten, die für das Protokoll (z.B. Frame-Start- und Frame-End-Sequenzen, Frame-IDs, ...) oder die Fehlererkennung oder -korrektur (z.B. Frame-Check-Sequence FSC, Cyclic-Redundancy-Check CRC, ...) erforderlich sind.
-
Zusammenfassend wird also ein erster Teil der Nutzdaten-Kapazität der Datenrahmen #1, #2, #3 zur Übertragung der Sensordaten x1, ..., xt genutzt. Ein anderer Teil der Nutzdaten-Kapazität der Datenrahmen #1, #2, #3 wird zur Übertragung der Sicherheitsdaten (z.B. MAC oder CMAC) genutzt. Vorzugsweise ist die zur Übertragung der Sicherheitsdaten genutzte Nutzdaten-Kapazität eines Datenrahmens #1, #2, #3 kleiner (sie beträgt z.B. nur wenige Bit) als die zur Übertragung der Sensordaten genutzte Nutzdaten-Kapazität (sie beträgt z.B. mehrere 10, 100, 1000 oder noch mehr Bit). Auf diese Weise kann der langsame logische Datenübertragungskanal 11 und der schnellere logische Datenübertragungskanal 10 auf einfache und effiziente Weise realisiert werden. Ferner wäre es denkbar, den langsamen Datenübertragungskanal 11 dadurch zu realisieren, dass Teile des MAC bzw. CMAC nicht in jedem Datenrahmen #1, #2, #3, sondern lediglich in jedem x-ten Datenrahmen übertragen werden (wobei x eine natürliche Zahl größer als 1 ist).
-
Die Sicherheitsmaßnahmen gemäß dem zweiten Verfahrensabschnitt (vgl. 2) dienen zur Integritätsprüfung der Sensordaten und zusätzlich als implizite Authentifikationsantwort des Sensors 1 auf die impliziten Fragen der ECU 2 in dem ersten Verfahrensabschnitt (vgl. 1). Die Sicherheitsmaßnahmen umfassen also eine implizite Authentifizierung des Sensors 1. Im Einzelnen werden sämtliche Sensordaten, die über den schnellen Datenübertragungskanal 10 übertragen werden, durch einen Nachrichten Authentifikations Code (Message Authentification Code, MAC) geschützt, der mittels des Sitzungsschlüssels KS erzeugt wird und der vorzugsweise über den langsamen Datenübertragungskanal 11 übermittelt wird. Da der MAC mit Hilfe eines Schlüssels (bzw. einer Chiffre) bspw. nach dem AES erzeugt wird, wird er auch als „cipher-based MAC“ (CMAC) bezeichnet. Es ist denkbar, den MAC bzw. den CMAC vor der Übertragung von dem Sensor 1 an die ECU 2 zu verschlüsseln. Der CMAC basiert beispielsweise auf AES 128 und dem Sitzungsschlüssel KS, der in dem ersten Verfahrensabschnitt (vgl. 1) an den Sensor 1 übermittelt bzw. dort aus den von der ECU 2 empfangenen verschlüsselten Daten erzeugt wurde. Die implizite Authentifikation bedeutet, dass der Sitzungsschlüssel KS im ersten Verfahrensabschnitt nur von einem authentischen Sensor 1 entschlüsselt werden kann. Nur ein solcher authentischer Sensor 1 verfügt über Wissen über den Geheimschlüssel KAB,Auth.
-
In dem Sensor 1 werden die Sensordaten, die über den schnellen Datenübertragungskanal 10 übertragen werden, oder ausgewählte Teile davon in einen CMAC Algorithmus eingespeist, der den Sitzungsschlüssel KS als Schlüssel verwendet. Nachdem eine bestimmte Datenmenge der Sensordaten übertragen worden ist, wird ein CMAC-Wert generiert. Der CMAC-Wert wird über sämtliche Sensordaten oder einem ausgewählten Teil der Sensordaten generiert. Dieser CMAC wird über den langsamen Datenübertragungskanal 11 an die ECU 2 übermittelt. Die nachfolgend von dem Sensor 1 erfassten Sensordaten werden dann wiederum in den CMAC-Algorithmus eingespeist und zum Generieren des nächsten CMAC-Werts genutzt. Die Menge der Sensordaten, auf deren Grundlage ein CMAC generiert wird, ist unter anderem abhängig von der verfügbaren Bandbreite auf dem langsamen Datenübertragungskanal 11, der Robustheit gegenüber Bitfehlern und den Sicherheitsanforderungen.
-
Zusätzlich kann der CMAC-Wert auch über einen Zählerwert RA generiert werden. Der Zählerwert RA schützt das Protokoll gegen Angriffe durch Wiedereinspielung (sog. Replay-Angriff oder Replay-Attack), da er verhindert, dass identische Sensorwerte zu identischen CMACs führen. Aufgrund des berücksichtigten Zählerwerts RA haben also selbst identische Sensorwerte unterschiedliche CMACs. Der Zählerwert RA wird vorzugsweise jeweils beim Beginn einer neuen Sitzung (sog. Session) auf Null oder einen anderen Anfangswert initialisiert. Es ist aber auch möglich, dass der Zähler-Initialwert jeweils von der ECU 2 erzeugt und dem Sensor 1 (verschlüsselt oder unverschlüsselt) zusammen oder getrennt von dem Sitzungsschlüssel KS übermittelt wird. Dadurch kann die Robustheit gegenüber Replay-Angriffen zusätzlich erhöht werden.
-
Der Zählerwert RA kann aber auch während einer laufenden Sitzung initialisiert werden. Eine neue Sitzung kann jeweils durch die Übertragung eines neuen Sitzungsschlüssels KS definiert sein. Der Zählerwert RA wird sowohl in dem Sensor 1 als auch in der ECU 2 um 1 oder um einen beliebig anderen Wert zu zeit- oder ereignisgesteuerten Zeitpunkten inkrementiert bzw. dekrementiert, vorzugsweise nach jedem Generieren eines CMAC. Alternativ wäre es auch denkbar, dass der Zählerwert RA lediglich in der ECU 2 initialisiert und inkrementiert bzw. dekrementiert und dann, bspw. über den langsamen Datenübertragungskanal 11, regelmäßig an den Sensor 1 übertragen wird.
-
Auf der Seite der ECU 2 werden die gleichen Berechnungen ausgeführt, ebenfalls unter Verwendung des Sitzungsschlüssels KS, des Zählerwerts RA und der über den schnellen Datenübertragungskanal 10 von dem Sensor 1 empfangenen Sensordaten. Diese Berechnungen werden ausgeführt sowie die Sensordaten bei der ECU 2 ankommen und parallel zu der sonstigen Verarbeitung der Sensordaten durch die ECU 2. Eine echte parallele Verarbeitung kann dadurch erzielt werden, dass ein Hardwaresicherheitsmodul (Hardware Security Module, HSM) in der ECU 2 verfügbar ist, das eine Hardwareunterstützung für AES-basierte CMAC bietet. Durch die vorgeschlagenen Sicherheitsmechanismen ergeben sich in der ECU 2 also keinerlei Verzögerungen der herkömmlichen Sensordaten-Auswertung durch die ECU 2. Die Berechnungen in der ECU 2 umfassen ebenfalls das Generieren eines MAC über die eingehenden Sensordaten oder einen Teil davon sowie ggf. über den Zählerwert RA unter Nutzung des Sitzungsschlüssels KS. Falls der von dem Sensor 1 generierte MAC vor der Übertragung an die ECU 2 verschlüsselt wurde, wird der eingehende CMAC in der ECU 2 entschlüsselt. Der in der ECU 2 generierte MAC wird dann mit dem MAC verglichen, der in der ECU 2 von dem Sensor 1 über den langsamen Datenübertragungskanal 11 empfangen wurde. Wenn die beiden MAC-Werte identisch sind, kann daraus geschlossen werden, dass sowohl die Sensordaten als auch der Sitzungsschlüssel KS, die auf der Seite des Sensors 1 zum Generieren des MAC benutzt wurden, identisch sind zu den entsprechenden Werten, die auf der Seite der ECU 2 zum Generieren des MAC verwendet wurden. Im Einzelnen wird dadurch gezeigt:
- – Der Sensor 1 hat Wissen über den aktuellen Sitzungsschlüssel KS, der von der ECU 2 generiert wurde.
- – Dies impliziert, dass der Sensor 1 in der Lage war, den Sitzungsschlüssel KS unter Verwendung des Geheimschlüssels KAB,Auth zu entschlüsseln und somit auch Wissen über den korrekten Geheimschlüssel KAB,Auth hat. Dadurch kann eine Authentifizierung des Sensors 1 erfolgen.
- – Die Sensordaten, die von der ECU 2 empfangen wurden, sind die gleichen, die von dem Sensor 1 ausgesandt wurden. Dies impliziert, dass keine Manipulation der Daten und keine Übertragungsfehler aufgetreten sind.
- – Der Zählerwert RA ist identisch sowohl in dem Sensor 1 als auch in der ECU 2. Dies deutet darauf hin, dass kein Angriff durch Wiedereinspielung (Replay-Attack) aufgetreten ist und damit dass die Integrität der in der ECU 2 empfangenen Sensordaten gegeben ist.
-
Falls ein Vergleich der beiden MAC-Werte in der ECU 2 zeigt, dass die MACs unterschiedlich sind, wird davon ausgegangen, dass eine oder mehrere der Eingangsgrößen (KAB,Auth, KS, RA) nicht identisch waren oder dass im Sensor 1 andere Sensordaten übermittelt wurden als in der ECU 2 empfangen wurden und/ oder dass die Datenübertragung fehlerhaft war, bspw. weil sie manipuliert wurde. Vorteilhafterweise wird eine gewisse Anzahl von falschen (nicht übereinstimmenden) MACs erlaubt, bevor auf einen nicht authentifizierten Sensor 1 bzw. manipulierte Sensordaten geschlossen wird. Die Anzahl der erlaubten falschen MACs hängt von der Bit-Fehlerrate (BER) aller beteiligten Kommunikationskanäle, also des (schnellen) ersten Kanals 10 für die Sensorwerte, des (langsamen) zweiten Kanals 11 für die MACs und ggf. des dritten Kanals für die ECU-zu-Sensor-Kommunikation. Um hier Fehler auszuschließen bzw. um die Fehlerwahrscheinlichkeit aufgrund von Kommunikationsfehlern unter einen akzeptablen Grenzwert eines gewünschten Sicherheitslevels zu drücken, kann es erforderlich sein, das Authentifizierungsverfahren für den Sensor 1 (im einfachsten Fall die Übertragung eines neuen Sitzungsschlüssels KS) mehrmals auszuführen. Indem eine bestimmte Anzahl fehlerhafter MACs erlaubt wird, kann die Wahrscheinlichkeit, dass aufgrund einer einzigen fehlerhaften Übertragung fälschlicherweise auf einen manipulierten Sensor 1 oder manipulierte Sensordaten geschlossen wird, auf den gewünschten Sicherheitslevel verringert werden.
-
Durch die Verwendung des MAC-Ansatzes auf Grundlage einer geeigneten symmetrischen Verschlüsselung, insbesondere von geeigneten Blockchiffren, kann die Berechnung des MAC auf beiden Seiten, d.h. in dem Sensor 1 und in der ECU 2, unabhängig voneinander erfolgen. Anders als bei einem Signatur-basierten Ansatz ist es bei der vorliegenden Erfindung ausreichend, wenn nur Teile des MAC miteinander verglichen werden. Dies kann dazu genutzt werden, die Menge der zur Realisierung des Manipulationsschutzes zu übertragenden Sicherheitsdaten zu verringern. So ist es beispielsweise denkbar, lediglich einen Teil des sensorgenerierten MAC zu übermitteln, beispielsweise bei einem 128 Bit langen MAC lediglich die 64 Bits mit der höchsten Wertigkeit (sog. Most Significant Bits, MSBs), und auf der Seite der ECU 2 mit dem entsprechenden Teil des ECU-generierten MAC zu vergleichen.
-
Der erfindungsgemäß vorgeschlagene Ansatz mit der Verwendung des Sitzungsschlüssels KS und die entsprechende Implementierung hat eine Reihe von Vorteilen:
- – Jeder Sitzungsschlüssel KS wird nur für eine bestimmte Zeitdauer und eine beschränkte Anzahl von Bits verwendet. Danach wird ein neuer Sitzungsschlüssel KS generiert, an den Sensor 1 übertragen und für die nachfolgende Sitzung zum Generieren des MAC bzw. des CMAC verwendet. Aus diesem Grund ist das erfindungsgemäße Verfahren weniger anfällig für Seitenkanalattacken (sog. Side Channel Attacks) als ein statischer Schlüssel für die MAC-Verarbeitung. Bei dem Sitzungsschlüssel KS handelt es sich also um einen dynamischen Schlüssel.
- – Unterschiedliche Schlüssel, nämlich der Geheimschlüssel KAB,Auth und der Sitzungsschlüssel KS, werden für die Authentifikation und die Integritätsprüfung verwendet.
- – Lediglich ein Schlüssel, nämlich der Geheimschlüssel KAB,Auth, muss permanent und sicher in dem Sensor 1 und der ECU 2 gespeichert werden. Dadurch werden die Kosten für den Speicher und andere Kosten in Verbindung mit dem Neubeschreiben des Speichers mit einem (neuen oder zusätzlichen) Geheimschlüssel, verringert.
- – Die Verwendung der Entschlüsselungsfunktion (Dec) für die Verschlüsselung des Sitzungsschlüssels KS und der Verschlüsselungsfunktion (Enc) für die Entschlüsselung des Sitzungsschlüssels KS reduziert die Kosten und die Komplexität des Sensors 1, da dort lediglich die Verschlüsselungsfunktion (Enc) implementiert werden muss. Dies hängt mit der Verwendung eines geeigneten symmetrischen Kryptosystems, insbesondere von geeigneten Blockchiffren, zusammen.
- – In dem erfindungsgemäßen Verfahren sind Fragen und Antworten zur Authentifikation des Sensors 1 implizit enthalten, wodurch die Komplexität, die Rechenleistung und die Kosten des Protokolls für die Sensor-zu-ECU-Kommunikation reduziert werden können, da keine speziellen Nachrichten für die Authentifikation erforderlich sind. Dies reduziert den Implementierungsaufwand und die damit verbundenen Kosten, insbesondere auf der Seite des Sensors 1.
- – Die übertragenen Sensordaten werden vorzugsweise nicht verschlüsselt. Dadurch müssen die empfangenen Sensordaten auf Seiten der ECU 2 nicht entschlüsselt werden, wodurch die Latenzzeiten möglichst gering gehalten werden können. Die Verarbeitung der Sensordaten in der ECU 2 kann unmittelbar nach deren Empfang beginnen, ohne dass diese zunächst entschlüsselt werden müssten.
-
Das erfindungsgemäß vorgeschlagene Verfahren hat die nachfolgenden Eigenschaften:
- – Ein „echter“ Sensor 1 kann implizit authentifiziert werden.
- – Die Integrität der übertragenen Sensordaten kann überprüft werden.
- – Keine zusätzlichen Verzögerungen für die Sensordaten aus Sicht der ECU 2, aufgrund der vorgeschlagenen Sicherheitsimplementierung.
- – Unterschiedliche Schlüssel (KAB,Auth, KS) zur Authentifizierung und zum Integritätsschutz sind implementiert.
- – Es gibt lediglich ein zeitlich sehr beschränktes Manipulationsfenster (z.B. kleiner drei Sekunden) selbst bei hohen Bit-Fehlerraten (BER), da die Manipulation der Daten relativ schnell erkannt werden kann. Dies hat u.a. mit der Menge der in einem MAC verwendeten Daten und der Anzahl der akzeptierten „falschen“ MACs zu tun.
- – Einfaches Protokoll, das einen impliziten Authentifizierungsschritt nutzt, wodurch weniger Hardware- und Software-Ressourcen erforderlich sind.
- – Die minimalen Ressourcen umfassen lediglich einen symmetrischen kryptografischen Schlüssel (KAB,Auth), der in dem Sensor 1 und der ECU 2 sicher gespeichert werden muss, und auf der Seite des Sensors 1 lediglich eine symmetrische Verschlüsselung (Enc), beispielsweise eine AES-Verschlüsselung. Damit muss auf der Seite des Sensors 1 keine Entschlüsselung (Dec) implementiert werden.
- – Verwendung eines Sitzungsschlüssels KS und regelmäßiger Austausch dieses Schlüssels, wodurch die Verwundbarkeit des Sensors 1 bzw. der Sensor-zu-ECU durch eine sog. Differential Power Analysis (DPA) verringert wird.
-
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 102009002396 A1 [0005]
-
Zitierte Nicht-Patentliteratur
-
- PSI5-Standard ab Version 2.0 [0019]
- PSI5-Standard ab Version 2.0 [0025]