-
Die Erfindung betrifft ein Verfahren zum Herstellen einer authentifizierten und unidirektionalen Kommunikation zwischen zwei Komponenten eines Fahrzeugs, eine Fahrzeugeinrichtung und ein Computerprogrammprodukt.
-
Die
DE 102008039587 offenbart ein System und Verfahren zum Erhöhen einer Genauigkeit von über ein unidirektionales Kommunikationsprotokoll empfangenen Sensorsignalen eines Fahrzeugs.
-
Ein erfindungsgemäßes Verfahren zum Herstellen einer authentifizierten und unidirektionalen Kommunikation von einer zweiten Komponente eines Fahrzeugs zu einer ersten Komponente des Fahrzeugs umfasst die Schritte:
- - Ermitteln eines symmetrischen Schlüssels zum Verschlüsseln und/oder Entschlüsseln von Nachrichten;
- - Übertragen des symmetrischen Schlüssels zu der ersten Komponente;
- - Übertragen des symmetrischen Schlüssels zu der zweiten Komponente;
- - Verschlüsseln einer ersten Nachricht zu einer verschlüsselten ersten Nachricht mittels des symmetrischen Schlüssels durch die zweite Komponente;
- - Übertragen der verschlüsselten ersten Nachricht zu der ersten Komponente;
- - Entschlüsseln der verschlüsselten ersten Nachricht zu einer entschlüsselten ersten Nachricht anhand des symmetrischen Schlüssels durch die erste Komponente;
- - Authentifizieren der ersten Nachricht anhand der entschlüsselten ersten Nachricht und des symmetrischen Schlüssels durch die erste Komponente.
-
Dadurch, dass die erste Nachricht verschlüsselt übertragen wird, wird es ermöglicht, eine Manipulation der ersten Nachricht zu verhindern. Dadurch, dass die erste Nachricht anhand der entschlüsselten ersten Nachricht und des symmetrischen Schlüssels authentifiziert wird, wird es ermöglicht, dass die erste Komponente der ersten Nachricht vertrauen kann.
-
Dadurch, dass die Nachricht von der zweiten Komponente zur ersten Komponente übertragen wird, und keine Übertragung von der ersten Komponente zur zweiten Komponente erfolgt, wird es ermöglicht, das erfindungsgemäße Verfahren für Komponenten einzusetzen, welche lediglich unidirektional kommunizieren. Dies ist insbesondere bei Komponenten von Fahrzeugen häufig der Fall. Somit ermöglicht das erfindungsgemäße Verfahren ein Authentifizieren der ersten Nachricht für den Fall, dass lediglich eine unidirektionale Kommunikation von der zweiten Komponente zur ersten Komponente möglich ist.
-
Dadurch, dass die erste Nachricht mittels des symmetrischen Schlüssels verschlüsselt wird, wird es ermöglicht, die Verschlüsselung mit geringer Rechenleitung zu ermöglichen. Dies ermöglicht geringe Herstellungskosten für die zweite Komponente.
-
Bevorzugt erfolgt das Übertragen der verschlüsselten ersten Nachricht nach einem SENT Protokoll.
-
Dies ermöglicht es, dass das erfindungsgemäße Verfahren für eine große Bandbreite an Komponenten von Fahrzeugen verwendet werden kann.
-
SENT ist dabei die Abkürzung für „Single Edge Nibble Transmission“ und bezeichnet ein Kommunikationsprotokoll und eine physikalische Schnittstelle. Das SENT Protokoll und die physikalische Schnittstelle werden durch SAE J2716 definiert. SAE ist dabei die Abkürzung für den „Verband der Automobilingenieure“. SENT wird für die Kommunikation von Sensoren und Steuergeräten in der Automobilelektronik verwendet.
-
Bei SENT handelt sich um eine unidirektionale, asynchrone Spannungsschnittstelle, die drei Leiter benötigt: Versorgungsspannung (5 V), Signalspannung (Low-Pegel < 0,5 V, High-Pegel > 4,1 V) und Masse. Daten werden in Einheiten von 4 Bit = 1 Nibble übertragen, wofür die Zeit zwischen zwei fallenden Flanken in Einheiten einer Tick-Periode erfasst wird. Ein 8-Nibble-Datenrahmen umfasst je drei Nibbles für zwei Messkanäle (z. B. für Druck und Temperatur), ein Nibble für Fehlererkennung (CRC) und ein Nibble für Status und Kommunikation. Wahlweise können 5-Nibble-Rahmen mit nur einem Messkanal übertragen werden.
-
Weiter bevorzugt erfolgt das Ermitteln des symmetrischen Schlüssels nach einem Diffie-Hellman-Merkle Protokoll.
-
Dadurch wird es ermöglicht, dass der symmetrische Schlüssel sicher ermittelt werden kann, selbst wenn für die Ermittlung unsicherer Kommunikationskanäle verwendet werden. Es wird somit ermöglicht, eine Manipulation der ersten Nachricht zu verhindern.
-
Ein Diffie-Hellman-Merkle Protokoll (auch Diffie-Hellman-Schlüsselaustausch, Diffie-Hellman-Merkle-Schlüsselaustausch bzw. -Schlüsselvereinbarung, DHM-Schlüsselaustausch oder DHM-Protokoll) ist dabei ein Protokoll zur Schlüsselvereinbarung. Es ermöglicht, dass zwei Kommunikationspartner über eine öffentliche, abhörbare Leitung einen gemeinsamen geheimen Schlüssel in Form einer Zahl vereinbaren können, den nur diese kennen und ein potenzieller Lauscher nicht berechnen kann. Der dadurch vereinbarte Schlüssel kann anschließend für ein symmetrisches Kryptosystem verwendet werden (beispielsweise Data Encryption Standard oder Advanced Encryption Standard). Unterschiedliche Varianten des Diffie-Hellman-Merkle-Verfahrens werden heute vielfach für die Schlüsselverteilung in den Kommunikations- und Sicherheitsprotokollen beispielsweise des Internets eingesetzt.
-
Der DHM-Schlüsselaustausch zählt zu den Krypto-Systemen auf Basis des diskreten Logarithmus (kurz: DL-Verfahren). Diese basieren darauf, dass die diskrete Exponentialfunktion in gewissen zyklischen Gruppen eine Einwegfunktion ist. So ist in der primen Restklassengruppe die diskrete Exponentialfunktion bx mod p,p prim auch für große Exponenten effizient berechenbar, deren Umkehrung, der diskrete Logarithmus, jedoch nicht. Es existiert bis heute kein schneller und wenig rechenaufwändiger Algorithmus zur Berechnung des Exponenten x bei gegebener Basisb, Modul p und gewünschtem Ergebnis.
-
Bevorzugt umfasst das erfindungsgemäße Verfahren die die folgenden Schritte:
- - Einfügen einer eindeutigen Kennung und/oder einer Prüfsumme in die erste Nachricht durch die zweite Komponente;
- - Authentifizieren der zweiten Komponente durch die erste Komponente anhand der eindeutigen Kennung und/oder der Prüfsumme.
-
Dies ermöglicht es, dass nicht nur die erste Nachricht an sich vor Manipulation geschützt wird, sondern auch, dass die zweite Komponente authentifiziert wird. Dadurch wird verhindert, dass weitere Komponenten sich fälschlicherweise als die zweite Komponente ausgeben und so falsche und/oder manipulierte Nachrichten an die erste Komponente senden.
-
Bevorzugt ist die erste Komponente als eine Steuerungseinrichtung eines Fahrzeugs ausgebildet. Zudem ist die zweite Komponente als Sensor des Fahrzeugs ausgebildet.
-
Dies ermöglicht es, dass insbesondere häufig auftretende Kommunikation zwischen dem Sensor und der Steuerungseinrichtung gegen Manipulation abgesichert wird. Zudem verfügen Sensoren in Fahrzeugen häufig nur über eine geringe Rechenleistung. Dem wird durch das Verwenden einen symmetrischen Schlüssels Rechnung getragen, da hierfür nur eine geringe Rechenleitung notwendig ist.
-
Eine erfindungsgemäße Fahrzeugeinrichtung für ein Fahrzeug umfasst eine erste Komponente 1 und eine zweite Komponente 2. Die erste Komponente 1 ist als Steuerungseinrichtung und die zweite Komponente 2 als Sensor ausgebildet. Die Steuerungseinrichtung und der Sensor sind ausgebildet und eingerichtet, ein Verfahren zum Herstellen einer authentifizierten und unidirektionalen Kommunikation zwischen zwei Komponenten eines Fahrzeugs durzuführen.
-
Ein erfindungsgemäßes Computerprogrammprodukt umfasst ein Programm das, wenn es von einem Computer ausgeführt wird, den Computer veranlasst, ein erfindungsgemäßes Verfahren zum Herstellen einer authentifizierten und unidirektionalen Kommunikation zwischen zwei Komponenten eines Fahrzeugs durchzuführen.
-
Die Vorteile des erfindungsgemäßen Verfahrens ergeben sich in gleicher Weise für die erfindungsgemäße Einrichtung und das erfindungsgemäße Computerprogrammprodukt.
-
Die abhängigen Ansprüche beschreiben vorteilhafte Ausführungsformen der Erfindung.
-
Bevorzugte Ausführungsbeispiele werden anhand der folgenden Figuren näher erläutert. Dabei zeigt
- 1 ein Ausführungsbeispiel einer erfindungsgemäßen Fahrzeugeinrichtung und
- 2 ein Ausführungsbeispiel eines erfindungsgemäßen Verfahrens.
-
1 zeigt ein Ausführungsbeispiel einer erfindungsgemäßen Fahrzeugeinrichtung 6 für ein Fahrzeug 5. Die Fahrzeugeinrichtung 6 umfasst eine erste Komponente 1 und eine zweite Komponente 2. Die erste Komponente 1 ist als Steuerungseinrichtung und die zweite Komponente 2 als Sensor ausgebildet. Die Steuerungseinrichtung 1 und der Sensor 2 sind ausgebildet und eingerichtet, ein Ausführungsbeispiel eines erfindungsgemäßen Verfahrens zum Herstellen einer authentifizierten und unidirektionalen Kommunikation von der zweiten Komponente 2 zur ersten Komponente 1 durchzuführen.
-
Ein erfindungsgemäßes Computerprogrammprodukt 7 umfasst ein Programm das, wenn es von einem Computer ausgeführt wird, den Computer veranlasst, ein Ausführungsbeispiel eines erfindungsgemäßes Verfahrens zum Herstellen einer authentifizierten und unidirektionalen Kommunikation von der zweiten Komponente 2 zur ersten Komponente 1 durchzuführen.
-
2 zeigt ein Ausführungsbeispiel eines erfindungsgemäßen Verfahrens zum Herstellen einer authentifizierten und unidirektionalen Kommunikation 4 von einer zweiten Komponente 2 eines Fahrzeugs 5 zu einer ersten Komponente 1 des Fahrzeugs 5.
-
In einem ersten Schritt erfolgt ein Ermitteln eines symmetrischen Schlüssels 8 zum Verschlüsseln und/oder Entschlüsseln von Nachrichten.
-
Das Ermitteln des symmetrischen Schlüssels 8 erfolgt nach einem Diffie-Hellman-Merkle Protokoll.
-
Für das Ermitteln eines symmetrischen Schlüssels 8 erfolgt zunächst ein Zertifizieren eines ersten asymmetrischen Schlüsselpaares zum Authentifizieren eines ersten Herstellers 1a der ersten Komponente 1 durch eine vertrauenswürde Zertifizierungsstelle 100.
-
Die vertrauenswürde Zertifizierungsstelle 100 ist in diesem Ausführungsbeispiel ein Hersteller des Fahrzeugs 5. Der erste Hersteller 1a der ersten Komponente 1 übermittelt dabei eine erste digitale Signatur 1b des ersten Herstellers 1a.
-
In einem weiteren Schritt erfolgt ein Zertifizieren eines zweiten asymmetrischen Schlüsselpaares zum Authentifizieren eines zweiten Herstellers 2a der zweiten Komponente 2 durch die vertrauenswürde Zertifizierungsstelle 100. Der zweite Hersteller 2a der zweiten Komponente 2 übermittelt dabei eine zweite digitale Signatur 2b des zweiten Herstellers 2a. Auf diese Weise kann der Hersteller 100 des Fahrzeugs 5 überprüfen, dass der erste Hersteller 1a der Hersteller der ersten Komponente 1 und, dass der zweite Hersteller 2a der Hersteller der zweiten Komponente 2 ist. Dadurch erfolgt ein Authentifizieren des ersten Herstellers 1a als Hersteller der ersten Komponente 1 10 anhand des zertifizierten ersten asymmetrischen Schlüsselpaares. Zudem erfolgt so ein Authentifizieren des zweiten Herstellers 2a als Hersteller der zweiten Komponente 2 20 anhand des zertifizierten zweiten asymmetrischen Schlüsselpaares.
-
Der erste Hersteller 1a und der zweite Hersteller 2a sind nun gegenüber dem Hersteller 100 des Fahrzeugs 5 authentifiziert.
-
Der zweite Hersteller 2a überträgt nun einen zweiten öffentlichen Schlüssel 2c, welcher Teil des zweiten asymmetrischen Schlüsselpaares ist, an den ersten Hersteller 1a.
-
In einem nun folgenden Schritt werden von dem ersten Hersteller 1a nun zwei Primzahlen p und g 10a gewählt. Diese verschlüsselt der erste Hersteller 1a mit dem zweiten öffentlichen Schlüssel 2c. Der zweite Hersteller 2a entschlüsselt die beiden Primzahlen mittels des zweiten privaten Schlüssels 20a, welcher der zweite Teil des zweiten asymmetrischen Schlüsselpaares ist. Der erste Hersteller 1a wählt eine erste geheime Zahl a und berechnet anhand der gewählten Primzahlen p und g der ersten geheimen Zahl a eine erste weitere Zahl A nach der Formel A = ga mod p 10b. Der erste Hersteller 1a sendet nun die weitere Zahl A an den zweiten Hersteller 2a. Der zweite Hersteller 2a wählt eine zweite geheime Zahl b. Er berechnet eine zweite weitere Zahl B nach B = gb mod p 20b. Er sendet die zweite weitere Zahl B an den ersten Hersteller 1b. Die erste geheime Zahl a und die zweite geheime Zahl b werden nie direkt übertragen, sondern verbleiben immer bei dem Hersteller, der sie gewählt hat. Die Übertragung der ersten weiteren Zahl A und der zweiten weiteren Zahl B erfolgt ungesichert. Dies ermöglicht eine einfache Übertragung. Nun errechnet der erste Hersteller 1a einen symmetrischen Schlüssel 8 durch symmetrischer Schlüssel 8 = Ba mod p 10c. Der zweite Hersteller 2a errechnet ebenfalls den symmetrischen Schlüssel 8 durch symmetrischer Schlüssel 8 = Ab mod p 20c. Der erste Hersteller 1a und der zweite Hersteller 2a haben denselben symmetrischen Schlüssel 8 errechnet, ohne die jeweils geheime Zahl a bzw. b zu übertragen. Dieser symmetrische Schlüssel 8 kann nun bei Bedarf an weitere Hersteller und/oder Parteien übertragen werden. Dabei sollte eine Verschlüsselung mit jeweiligen öffentlichen Schlüsseln der anderen Hersteller und/oder Parteien erfolgen.
-
In einem darauffolgenden Schritt erfolgt ein Übertragen des symmetrischen Schlüssels 8 zu der ersten Komponente 1. Diese Übertragung wird von dem ersten Hersteller 1a initiiert.
-
In einem weiteren Schritt, der auch zeitgleich mit dem vorherigen Schritt ausgeführt werden kann, erfolgt ein Übertragen des symmetrischen Schlüssels 8 zu der zweiten Komponente 2. Diese Übertragung wird von dem zweiten Hersteller 2a initiiert.
-
Beide Übertragungen können sicher erfolgen, da der symmetrische Schlüssel direkt vom Hersteller zu der jeweiligen Komponente erfolgt. Die Übertragung kann über eine physikalische Schnittstelle zu der jeweiligen Komponente erfolgen, was es ermöglicht, eine Manipulation und/oder ein Abfangen des symmetrischen Schlüssels 8 zu verhindern.
-
In einem weiteren Schritt erfolgt ein erfolgt ein Verschlüsseln einer ersten Nachricht 3 zu einer verschlüsselten ersten Nachricht 3a mittels des symmetrischen Schlüssels 8 durch die zweite Komponente 2. Die erste Nachricht umfasst in diesem Ausführungsbeispiel Sensordaten.
-
In einem weiteren Schritt erfolgt ein Übertragen der verschlüsselten ersten Nachricht 3a zu der ersten Komponente 1.
-
Das Übertragen der verschlüsselten ersten Nachricht 3a erfolgt nach einem SENT Protokoll.
-
Zeitlich unabhängig, aber nach Möglichkeit in einem kurzen zeitlichen Abstand von maximal 10 Minuten erfolgt Übertragen der unverschlüsselten ersten Nachricht 3 zu der ersten Komponente 1 durch die zweite Komponente 2.
-
Das Übertragen der unverschlüsselten ersten Nachricht 3 erfolgt ebenfalls nach einem SENT Protokoll.
-
Nun erfolgt ein Entschlüsseln der verschlüsselten ersten Nachricht 3a zu einer entschlüsselten ersten Nachricht anhand des symmetrischen Schlüssels 8 durch die erste Komponente 1. Die erste Komponente 1 verfügt nun sowohl über die unverschlüsselt gesendete erste Nachricht 3 und die entschlüsselte erste Nachricht.
-
In einem weiteren Schritt vergleicht die erste Komponente 1 die erste Nachricht 3 und die entschlüsselte erste Nachricht. Sind beide Nachrichten identisch, wird die erste Nachricht 3 authentifiziert.
-
Alternativ zu dem Übertragen der unverschlüsselten ersten Nachricht 3 wird in die erste Nachricht 3 eine eindeutige Kennung und/oder einer Prüfsumme durch die zweite Komponente 2 eingefügt.
-
In diesem Ausführungsbeispiel umfasst die erste Nachricht eine eindeutige Kennung. Die eindeutige Kennung ist als Zähler ausgebildet, der eine Anzahl an bereits an die erste Komponente 1 gesendeten Nachrichten angibt. Dies ermöglicht es, Multiplikationsattacken abzuwehren. Bei solchen Attacken fängt eine dritte Partei die verschlüsselte erste Nachricht 3a ab, und sendet sie mehrfach erneut an die erste Komponente 1. Da die dritte Partei den Zähler innerhalb der verschlüsselten Nachricht 3a nicht verändern kann, würde bei mehrmaligen Senden derselben ersten Nachricht 3a der Zähler nicht mehr zu der Anzahl an empfangenen Nachrichten passen. So könnte die erste Komponente 1 feststellen, dass die erste Nachricht 3 nicht authentifizierbar ist.
-
In diesem Ausführungsbeispiel umfasst die erste Nachricht 3 eine Prüfsumme. Die Prüfsumme wird von der zweiten Komponente 2 anhand der unverschlüsselten ersten Nachricht 3 erstellt. Die ersten Komponente 1 überprüft nun anhand er entschlüsselten Nachricht, ob die Prüfsumme korrekt ist.
-
Durch die Prüfsumme und die eindeutige Kennung wird es nicht nur ermöglicht, die erste Nachricht 3, sondern auch die zweite Komponente 2 zu authentifizieren. Das Authentifizieren erfolgt dabei anhand der eindeutigen Kennung und/oder der Prüfsumme.
-
Zudem wird es ermöglicht, dass ein Authentifizieren der ersten Nachricht 3a und der zweiten Komponente 2 erfolgen kann, ohne die ersten Nachricht 3 unverschlüsselt an die erste Komponente 1 zu übertragen. Dies ermöglicht ein Erraten des symmetrischen Schlüssels 8 durch eine dritte Partei anhand der verschlüsselten Nachricht 3 a und der unverschlüsselten Nachricht 3 zu verhindern. Dabei rät die dritte Partei einen Schlüssel und entschlüsselt die verschlüsselte Nachricht 3a mit dem erratenen Schlüssel. Stimmt die so entschlüsselte Nachricht mit der unverschlüsselt gesendeten Nachricht 3 überein, so stimmt der geratene Schlüssel mit dem symmetrischen Schlüssel 8 überein. Die dritte Partei kann den Schlüssel umso eher erraten, je mehr Informationen ihr zur Verfügung stehen. Daher ist dieser Schritt insbesondere hilfreich für den Fall, dass die zweite Komponente 2 wiederholt Nachrichten an die erste Komponente 1 sendet. Dies ist bei einem regulären Betrieb des Sensors und der Steuerungseinrichtung zu erwarten. Je mehr verschlüsselte und unverschlüsselte Nachrichten auf diese Weise gesendet werden, umso größer ist auch die Gefahr, dass eine dritte Partei in der Lage ist, den symmetrischen Schlüssel zu erraten.
-
Im Folgenden erfolgt ein Authentifizieren der ersten Nachricht 3, weiteren Nachrichten und/oder Authentifizieren der zweiten Komponente 2 nach einem Starten der ersten Komponente 1 und/oder der zweiten Komponente 2. In diesem Ausführungsbeispiel werden die zuvor beschrieben Schritte jeweils nach einem Start des Fahrzeugs 5 durchgeführt. Dies ermöglicht es, auch nach einem Austausch der ersten Komponente 1 und/oder der zweiten Komponente 2, welcher durchgeführt wurde, während das Fahrzeug 5 ausgeschaltet war, eine sichere Kommunikation herzustellen.
-
Ein erfindungsgemäßes Computerprogrammprodukt 7 umfasst ein Programm das, wenn es von einem Computer ausgeführt wird, den Computer veranlasst, ein erfindungsgemäßes Verfahren zum Herstellen einer authentifizierten und unidirektionalen Kommunikation von der zweiten Komponente 2 zur ersten Komponente 1 durchzuführen.
-
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
-