-
Die vorliegende Erfindung betrifft ein Verfahren zum Erzeugen eines gemeinsamen Schlüssels in einem Feldbussystem. Die vorliegende Erfindung betrifft darüber hinaus eine entsprechende Vorrichtung, ein entsprechendes Computerprogramm sowie ein entsprechendes Speichermedium. Dabei kommunizieren die beteiligten Knoten oder Teilnehmer über ein gemeinsam genutztes Übertragungsmedium. Hierbei werden logische Bitfolgen – bzw. allgemeiner: Wertfolgen – durch entsprechende Übertragungsverfahren als Signale bzw. Signalfolgen physikalisch übertragen.
-
Das zugrundeliegende Kommunikationssystem kann z. B. ein CAN-Bus sein. Dieser sieht eine Übertragung dominanter und rezessiver Bits bzw. entsprechend dominanter und rezessiver Signale vor, wobei sich ein dominantes Signal bzw. Bit eines Teilnehmers des Netzwerks gegen rezessive Signale bzw. Bits durchsetzt. Ein Zustand entsprechend dem rezessiven Signal stellt sich auf dem Übertragungsmedium nur ein, wenn alle beteiligten Teilnehmer ein rezessives Signal zur Übertragung vorsehen bzw. wenn alle gleichzeitig sendenden Teilnehmer einen rezessiven Signalpegel übertragen.
-
Stand der Technik
-
Eine sichere Kommunikation zwischen verschiedenen Geräten wird in einer zunehmend vernetzten Welt immer wichtiger und stellt in vielen Anwendungsbereichen eine wesentliche Voraussetzung für die Akzeptanz und somit auch den wirtschaftlichen Erfolg der entsprechenden Anwendungen dar.
-
Dies umfasst – je nach Anwendung – verschiedene Schutzziele, wie beispielsweise die Wahrung der Vertraulichkeit der zu übertragenden Daten, die gegenseitige Authentifizierung der beteiligten Knoten oder die Sicherstellung der Datenintegrität.
-
Zur Erreichung dieser Schutzziele kommen üblicherweise geeignete kryptographische Verfahren zum Einsatz, die man generell in zwei verschiedene Kategorien unterteilen kann: zum einen symmetrische Verfahren, bei denen Sender und Empfänger über denselben kryptographischen Schlüssel verfügen, zum anderen asymmetrische Verfahren, bei denen der Sender die zu übertragenden Daten mit dem öffentlichen – d. h. auch einem potenziellen Angreifer möglicherweise bekannten – Schlüssel des Empfängers verschlüsselt, die Entschlüsselung aber nur mit dem zugehörigen privaten Schlüssel erfolgen kann, der idealerweise nur dem Empfänger bekannt ist.
-
Asymmetrische Verfahren haben unter anderem den Nachteil, dass sie in der Regel eine sehr hohe Rechenkomplexität aufweisen. Damit sind sie nur bedingt für ressourcenbeschränkte Knoten wie z. B. Sensoren, Aktuatoren o. ä. geeignet, die üblicherweise nur über eine relativ geringe Rechenleistung sowie geringen Speicher verfügen und energieeffizient arbeiten sollen, beispielsweise aufgrund von Batteriebetrieb oder dem Einsatz des sogenannten „Energy Harvesting”. Darüber hinaus steht oftmals nur eine begrenzte Bandbreite zur Datenübertragung zur Verfügung, was den Austausch von asymmetrischen Schlüsseln mit Längen von 2048 Bit oder noch mehr unattraktiv macht.
-
Bei symmetrischen Verfahren hingegen muss gewährleistet sein, dass sowohl Empfänger als auch Sender über den gleichen Schlüssel verfügen. Das zugehörige Schlüsselmanagement stellt dabei generell eine sehr anspruchsvolle Aufgabe dar. Im Bereich des Mobilfunks werden Schlüssel beispielsweise mit Hilfe von SIM-Karten in ein Mobiltelefon eingebracht und das zugehörige Netz kann dann der eindeutigen Kennung einer SIM-Karte den entsprechenden Schlüssel zuordnen. Im Fall eines drahtlosen lokalen Netzwerks (wireless local area network, WLAN) hingegen erfolgt üblicherweise eine manuelle Eingabe der zu verwendenden Schlüssel – in der Regel durch die Eingabe eines Passwortes – bei der Einrichtung des Netzwerkes. Ein solches Schlüsselmanagement wird allerdings schnell sehr aufwändig und impraktikabel, wenn man eine sehr große Anzahl von Knoten hat, beispielsweise in einem Sensornetzwerk oder anderen Maschine-zu-Maschine-Kommunikationssystemen, z. B. CAN-basierten Fahrzeugnetzwerken. Darüber hinaus ist eine Änderung der zu verwendenden Schlüssel – etwa im Rahmen einer regelmäßigen Neuberechnung oder „Auffrischung” (re-keying) – oftmals überhaupt nicht bzw. nur mit sehr großem Aufwand möglich.
-
DE 10 2012 215326 A1 beschreibt ein Verfahren zur Erzeugung eines kryptografischen Schlüssels in einem Netzwerk mit einem ersten Netzwerkelement, einem zweiten Netzwerkelement und einem Netzwerkknoten, wobei das erste Netzwerkelement über einen ersten Übertragungskanal und das zweite Netzwerkelement über einen zweiten Übertragungskanal mit dem Netzwerkknoten kommunizieren kann. Das Verfahren umfasst aufseiten des ersten Netzwerkelements einen Schritt des Bestimmens einer ersten Kanalinformation bezüglich des ersten Übertragungskanals basierend auf einem von dem Netzwerkknoten ausgesendeten ersten Pilotsignal und einen Schritt des Ermittelns des symmetrischen kryptografischen Schlüssels unter Verwendung der ersten Kanalinformation und einer Information über eine kombinierte Kanalinformation, wobei die kombinierte Kanalinformation eine seitens des Netzwerkknotens basierend auf einem von dem ersten Netzwerkelement zu dem Netzwerknoten übertragenen zweiten Pilotsignal und einem von dem zweiten Netzwerkelement zu dem Netzwerknoten übertragenen dritten Pilotsignal bestimmte Kombination von Übertragungscharakteristiken des ersten und des zweiten Übertragungskanals repräsentiert.
-
Offenbarung der Erfindung
-
Die Erfindung stellt ein Verfahren zum Erzeugen eines gemeinsamen Schlüssels in einem Feldbussystem, eine entsprechende Vorrichtung, ein entsprechendes Computerprogramm sowie ein entsprechendes Speichermedium gemäß den unabhängigen Ansprüchen bereit.
-
Ein Vorzug dieser Lösung liegt in ihrer besonderen Eignung für Feldbussysteme, bei welchen mehr als ein Subsystem die Buskontrolle übernehmen kann (multimaster). Hier werden Kollisionen verschiedener Botschaften beim Buszugriff üblicherweise durch ein dem Fachmann als Carrier Sense Multiple Access/Collision Resolution (CSMA/CR) bekanntes Verfahren aufgelöst werden. Demnach erfolgt eine Arbitrierung anhand der von Sender und Empfänger verwendeten Objektkennung (object identifier, ID). Da das hierzu genutzte Arbitrierungsfeld beispielsweise gemäß Spezifikation des jeweiligen Feldbussystems nur eine begrenzte Anzahl an Steuerbits umfasst, gilt es in diesem Umfeld, die im Rahmen der Schlüsselerzeugung eingesetzten Objektkennungen effizient zuzuweisen.
-
Durch die in den abhängigen Ansprüchen aufgeführten Maßnahmen sind vorteilhafte Weiterbildungen und Verbesserungen des im unabhängigen Anspruch angegebenen Grundgedankens möglich. So kann vorgesehen sein, dass durch die Wiederverwendung von bereits für Anwendungsdaten verwendete Objektkennungen für den Schlüsselaustausch komplett auf zusätzliche Kennungen verzichtet werden kann.
-
Gemäß einem weiteren Aspekt kann vorgesehen sein, dass es sich bei dem Feldbussystem um ein CAN handelt. Damit können im Fall die Ressourcen bezüglich Hardware (Register im CAN-Controller) und bezüglich Software (Konfiguration und Auswertung unterschiedlicher CAN-Objektkennungen) stark reduziert werden.
-
Kurze Beschreibung der Zeichnungen
-
Ausführungsbeispiele der Erfindung sind in den Zeichnungen dargestellt und in der nachfolgenden Beschreibung näher erläutert. Es zeigt:
-
1 die betrachtete Anordnung mit einem ersten Knoten, einem zweiten Knoten und einem dritten Knoten, die über ein gemeinsam genutztes Medium (shared medium) miteinander kommunizieren können. Weitere Knoten, die ggf. ebenfalls über das Medium mit kommunizieren können, wurden dabei der Übersichtlichkeit halber nicht zeichnerisch berücksichtigt.
-
2 die betrachtete Anordnung für den Fall, dass das Medium ein linearer Bus ist. Die Reihenfolge der Anordnung der verschiedenen Knoten auf dem Bus ist dabei willkürlich gewählt.
-
3 das Aktivitätsdiagramm eines Verfahrens gemäß einer Ausführungsform der Erfindung.
-
Ausführungsformen der Erfindung
-
Im Weiteren wird eine Anordnung gemäß 1 betrachtet. Dabei können verschiedene Knoten A, B, C – einschließlich des ersten Knotens A, des zweiten Knotens B und des dritten Knotens C – über ein gemeinsam genutztes Medium 10 miteinander kommunizieren. In der vorliegenden Ausprägung der Erfindung entspricht dieses Medium 10 dem Segment eines CAN-Busses 20 mit beidseitigem Netzabschluss (termination) 21, was in 2 dargestellt ist. Eine Gruppe von Steuergeräten A, B, C sind an diesem Bus-Segment angebunden. Die Steuergeräte A, B, C tauschen Anwendungsdaten mit den folgenden Objektkennungen aus: AAB zwischen dem ersten Steuergerät A und dem zweiten Steuergerät B, AAC zwischen dem ersten Steuergerät A und dem dritten Steuergerät C sowie ABC zwischen dem zweiten Steuergerät B und dem dritten Steuergerät C.
-
Die Teilnehmer A, B, C wollen paarweise gemäß dem im Folgenden beschriebenen Verfahren geheime Schlüssel austauschen:
Bezugnehmend auf 3 generieren sowohl das erste Steuergerät A als auch das zweite Steuergerät B zunächst lokal – d. h. intern und voneinander unabhängig – eine Bitsequenz oder Bitfolge (bit string). Die Bitfolge wird vorzugsweise jeweils als zufällige oder pseudozufällige Bitabfolge, beispielsweise mit Hilfe eines geeigneten Zufallszahlengenerators oder Pseudozufallszahlengenerators erzeugt. Beispielsweise könnte das erste Steuergerät A die Bitfolge SA = (0,1,0,0,1,1,0,1,1,1,0,0,1,0,1,1,0,0,1,0) und das zweite Steuergerät B die Bitfolge SB = (1,0,0,1,0,0,0,1,1,0,1,1,0,1,0,0,1,0,1,1) erzeugen.
-
In einer ersten Arbitrierungsphase 31 übertragen das erste Steuergerät A (Bezugszeichen 33) und das zweite Steuergerät B (Bezugszeichen 34) zueinander weitgehend synchron ihre jeweils erzeugten Bitsequenzen über das den CAN-Bus 20 unter Verwendung des Übertragungsverfahrens mit dominanten und rezessiven Bits. Dabei sind verschiedene Möglichkeiten zur Synchronisierung der entsprechenden Übertragungen denkbar. So könnte beispielsweise entweder das erste Steuergerät A oder das zweite Steuergerät B zunächst eine geeignete Synchronisationsnachricht an das jeweils andere Steuergerät B, A senden und nach einer bestimmten Zeitdauer im Anschluss an die vollständige Übertragung dieser Nachricht dann die Übertragung der eigentlichen Bitsequenzen starten. Genauso ist es aber auch denkbar, dass von einem der beiden Steuergeräte A, B nur der CAN-Header bestehend aus Arbitrierungsfeld und Kontrollfeld übertragen wird und während der zugehörigen Nutzdatenphase dann beide Steuergeräte A, B gleichzeitig ihre generierten Bitsequenzen weitgehend synchron übermitteln. In einer Variante der Prozedur können die im ersten Schritt generierten Bitsequenzen des ersten Steuergerätes A oder des zweiten Steuergerätes B auch auf mehrere Nachrichten verteilt übertragen werden, beispielsweise wenn dies die Maximal-Größen der entsprechenden Nachrichten erforderlich machen. Auch in dieser Variante erfolgt die Übertragung der auf entsprechend viele, entsprechend große Nachrichten verteilten Bitsequenzen des jeweils anderen Steuergerätes B, A wiederum weitgehend synchron.
-
Auf dem CAN-Bus
20 überlagern sich die beiden Bitsequenzen während der Arbitrierungsphase
31, wobei aufgrund der systemimmanenten Unterscheidung von dominanten und rezessiven Bits die einzelnen Bits des ersten Steuergerätes A und des zweiten Steuergerätes B eine Überlagerung ergeben, im genannten Beispiel de facto UND-verknüpft werden. Damit ergibt sich auf dem Übertragungskanal eine entsprechende Überlagerung, die beispielsweise das mithörende dritte Steuergerät C detektieren könnte. Als Beispiel einer Überlagerungsbitfolge für die obigen lokalen Bitfolgen könnte sich auf dem CAN-Bus
20 die folgende effektive Bitsequenz ergeben:
-
Sowohl das erste Steuergerät A als auch das zweite Steuergerät B detektieren während der Übertragung 33 bzw. 34 ihrer Bitsequenzen parallel die effektiven überlagerten Bitsequenzen auf dem CAN-Bus 20. Dies wird auch in konventionellen Systemen während der Arbitrierungsphase gewöhnlich ohnehin gemacht.
-
In einer zweiten Arbitrierungsphase
32 übertragen sowohl das erste Steuergerät A (Bezugszeichen
35) als auch das zweite Steuergerät B (Bezugszeichen
36) ebenfalls wieder weitgehend synchron ihre initialen Bitsequenzen, diesmal allerdings invertiert. Die Synchronisierung der entsprechenden Übertragungen kann dabei wieder genau auf dieselbe Art und Weise realisiert werden wie oben beschrieben. Auf dem CAN-Bus
20 werden die beiden Sequenzen dann wieder miteinander UND-verknüpft. Das erste Steuergerät A und das zweite Steuergerät B ermitteln wiederum die effektiven, überlagerten Bitsequenzen
auf dem CAN-Bus
20. Für das erste Steuergerät A würde sich somit die invertierte Bitsequenz
und für das zweite Steuergerät B die invertierte Bitsequenz
ergeben. Somit würden die Steuergeräte A, B die folgende effektive, überlagerte Bitsequenz auf dem Kanal ermitteln:
-
Sowohl das erste Steuergerät A als auch das zweite Steuergerät B ermitteln während der Übertragung
35 bzw.
36 ihrer nun invertierten Bitsequenzen dann wieder die effektiven, überlagerten Bitsequenzen auf dem CAN-Bus
20. Zu diesem Zeitpunkt kennen somit das erste Steuergerät A, das zweite Steuergerät B sowie auch ein möglicher Angreifer, der die Kommunikation
33–
36 auf dem CAN-Bus
20 mithört, die effektiven, überlagerten Bitsequenzen
und
Im Gegensatz zum Angreifer kennt aber das erste Steuergerät A noch seine initial erzeugte, lokale Bitsequenz und das zweite Steuergerät B dessen initial erzeugte, lokale Bitsequenz. Das erste Steuergerät A wiederum kennt aber nicht die initial erzeugte, lokale Bitsequenz des zweiten Steuergerätes B und das zweite Steuergerät B nicht die initial erzeugte, lokale Bitsequenz des ersten Steuergerätes A. Die Detektion der Überlagerungsbitfolge erfolgt wiederum während der Übertragung
35,
36.
-
Alternativ zu dieser beispielhaften Ausführungsvariante können das erste Steuergerät A und das zweite Steuergerät B ihre invertierte, lokale Bitfolge auch direkt mit bzw. direkt nach ihrer ursprünglichen, lokalen Bitfolge versenden, d. h. die erste Arbitrierungsphase 31 geht unmittelbar in die zweite Arbitrierungsphase 32 über. Die ursprüngliche und die invertierte Bitfolge können dabei in einer Nachricht, aber auch in separaten Nachrichten als Teil-Bitfolgen übermittelt werden.
-
In Schritt
37 verknüpfen das erste Steuergerät A und das zweite Steuergerät B nun jeweils lokal – also intern – die effektiven, überlagerten Bitfolgen
und
insbesondere mit einer logischen ODER-Funktion. Im obigen Beispiel ergäbe sich auf diesem Wege die folgende Verknüpfung:
-
Die einzelnen Bits in der aus der ODER-Verknüpfung resultierenden Bitsequenz S
ges geben nun an, ob die entsprechenden Bits von S
A und S
E identisch oder unterschiedlich sind. Das erste Steuergerät A und das zweite Steuergerät B streichen daraufhin in Schritt
38 basierend auf der aus der ODER-Verknüpfung erhaltenen Bitsequenz in ihren ursprünglichen, initialen Bitsequenzen alle Bits, die in beiden Sequenzen identisch sind. Dies führt folglich zu entsprechend verkürzten Bitsequenzen
-
Die resultierenden, verkürzten Bitsequenzen
und
sind nun gerade invers zueinander. Somit können das erste Steuergerät A und das zweite Steuergerät B durch Inversion ihrer verkürzten Bitsequenz exakt diejenige verkürzte Bitsequenz ermitteln, welche im jeweils anderen Steuergerät B, A bereits vorliegt.
-
Der Ablauf zum Schlüsselaustausch gemäß einer ersten Option unter Verwendung von zusätzlichen Schlüsselaustausch-Objektkennungen gestaltet sich wie folgt:
- 1. Bei eingeschalteter Zündung nehmen die Steuergeräte A, B, C den Betrieb auf.
- 2. Die Steuergeräte A, B, C prüfen, ob ein geheimer Schlüssel vorhanden ist.
- 3. Falls kein geheimer Schlüssel vorhanden ist, generieren die Steuergeräte A, B, C die Bitsequenz gemäß dem oben beschriebenen Verfahren und versenden diesen mit den für das Schlüsselaustauschverfahren 30 reservierten Objektkennungen KAB (zwischen dem ersten Steuergerät A und dem zweiten Steuergerät B), KAC (zwischen dem ersten Steuergerät A und dem dritten Steuergerät C) sowie KBC (zwischen dem zweiten Steuergerät B und dem dritten Steuergerät C).
-
Für den Schlüsselaustausch zwischen zwei Steuergeräten wird hierzu mindestens eine zusätzliche CAN-Objektkennung benötigt, wie sich aus folgender exemplarischen Kommunikationsmatrix (K-Matrix) ergibt:
-
Der Ablauf zum Schlüsselaustausch 30 gemäß einer zweiten Option unter Wiederverwendung der Anwendungsdaten-Objektkennungen gestaltet sich wie folgt:
- 1. Bei eingeschalteter Zündung nehmen die Steuergeräte A, B, C den Betrieb auf.
- 2. Die Steuergeräte A, B, C prüfen, ob ein geheimer Schlüssel vorhanden ist.
- 3. Falls kein geheimer Schlüssel vorhanden ist, generieren die Steuergeräte A, B, C die Bitsequenz gemäß dem oben beschriebenen Verfahren und versenden diesen mit den für die später auszutauschenden Anwendungsdaten vorgesehenen Objektkennungen AAB (zwischen dem ersten Steuergerät A und dem zweiten Steuergerät
- B), AAC (zwischen dem ersten Steuergerät A und dem dritten Steuergerät C) sowie ABC (zwischen dem zweiten Steuergerät B und dem dritten Steuergerät C).
-
Für den Schlüsselaustausch wird keine zusätzliche CAN-Objektkennung benötigt, wie sich aus folgender exemplarischen Kommunikationsmatrix ergibt:
-
Gemäß der ersten Option müssen zusätzlich zu den sechs für Anwendungsdaten vorgesehenen Objektkennungen also drei Objektkennungen für den Schlüsselaustausch 30 reserviert werden, während gemäß der zweiten Option keine zusätzlichen Kennungen vonnöten sind.
-
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 102012215326 A1 [0008]