-
Die vorliegende Erfindung betrifft ein Verfahren zur Erzeugung eines Geheimnisses in einem Netzwerk, insbesondere zur Erzeugung eines gemeinsamen, geheimen Schlüssels in zwei Teilnehmern des Netzwerks.
-
Auch Punkt-zu-Punkt-Verbindungen werden gewöhnlicher Weise zu den Netzwerken gezählt und sollen hier mit diesem Begriff ebenfalls adressiert sein. Dabei kommunizieren die beiden 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 von 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 von Wireless LANs hingegen erfolgt üblicherweise eine manuelle Eingabe der zu verwendenden Schlüssel (in der Regel durch die Eingabe eines Passwortes) bei der Einrichtung eines 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. auch CANbasierten Fahrzeugnetzwerken. Darüber hinaus ist eine Änderung der zu verwendenden Schlüssel oftmals überhaupt nicht bzw. nur mit sehr großem Aufwand möglich. Bei aktuellen Verfahren werden die Schlüssel zentral erzeugt. Die Zuordnung zu einzelnen Steuergeräten erfolgt in sicherer Umgebung z. B. im Werk des Fahrzeugherstellers. Dort werden die Schlüssel auch aktiv geschaltet.
-
Verfahren zur Absicherung von Sensordaten gegen Manipulation und die Sicherstellung einer Transaktionsauthentifizierung, z.B. in einem Kraftfahrzeugnetzwerk, mit Hilfe gängiger Verschlüsselungsverfahren sind z.B. in der
DE 10 2009 002 396 A1 und in der
DE 10 2009 045 133 A1 offenbart.
-
Seit einiger Zeit werden zudem unter dem Schlagwort „Physical Layer Security“ neuartige Ansätze untersucht und entwickelt, mit Hilfe derer Schlüssel für symmetrische Verfahren automatisch auf der Grundlage physikalischer Eigenschaften der Übertragungskanäle zwischen den involvierten Knoten erzeugt werden können. Dabei nutzt man die Reziprozität und die inhärente Zufälligkeit dieser Übertragungskanäle aus. Insbesondere bei drahtgebundenen oder optischen Systemen ist dieser Ansatz oftmals allerdings nur bedingt geeignet, da entsprechende Kanäle üblicherweise nur eine sehr eingeschränkte zeitliche Variabilität aufweisen und ein Angreifer beispielsweise mit Hilfe einer Modellbildung relativ gut Rückschlüsse auf die Kanalparameter zwischen dem Sender und dem Empfänger ziehen kann. Derartige Verfahren für eine abgesicherte Kommunikation in einem verteilten System auf Basis von Kanaleigenschaften der verbundenen Einheiten sind beispielsweise in den nicht vorveröffentlichten Anmeldungen
DE 10 2014 208 975 A1 sowie
DE 10 2014 209 042 A1 beschrieben.
-
Die nicht vorveröffentlichte
DE 10 2015 207 220 A1 offenbart ein Verfahren zur Erzeugung eines gemeinsamen Geheimnisses bzw. eines geheimen, symmetrischen Schlüssels mittels öffentlicher Diskussion zwischen zwei Kommunikationsteilnehmern.
-
Offenbarung der Erfindung
-
Die vorgestellten Verfahren zur Generierung eines Geheimnisses bzw. eines kryptographischen Schlüssels erfordern keinerlei manuellen Eingriff und ermöglichen somit den automatisierten Aufbau sicherer Kommunikationsbeziehungen bzw. -verbindungen zwischen zwei Knoten. Zudem weisen die Verfahren eine sehr geringe Komplexität auf, insbesondere hinsichtlich der erforderlichen Hardwareauslegung, wie z.B. der benötigten Speicherressourcen und Rechenleistung, und sie gehen mit einem geringen Energie- und Zeitbedarf einher. Darüber hinaus bieten die Verfahren sehr hohe Schlüsselgenerierungsraten bei gleichzeitig sehr kleiner Fehlerwahrscheinlichkeit.
-
Dabei gehen die Verfahren davon aus, dass Teilnehmer in einem Netzwerk über einen Kommunikationskanal miteinander kommunizieren. Sie übertragen dabei insbesondere logische Wertfolgen, (falls es sich um binäre Logik handelt, Bitfolgen) mit Hilfe von physikalischen Signalen auf dem Übertragungskanal. Auch wenn mögliche Überlagerungen auf dem Übertragungskanal durch die Signale, also auf der physikalischen Ebene, stattfinden, wird in der Beschreibung im Folgenden vorranging die logische Ebene betrachtet. Es werden somit die übertragenen, logischen Wertfolgen sowie deren logische Überlagerung betrachtet.
-
Teilnehmer des Netzwerks können somit erste Signale (die beispielsweise dem logischen Bit „1“ zugeordnet sind) und zweite Signale (die beispielsweise dem logischen Bit „0“ zugeordnet sind) auf den Kommunikationskanal geben und resultierende Signale auf dem Kommunikationskanal detektieren. Übertragen nun zwei Teilnehmer (weitgehend) gleichzeitig jeweils eine Signalfolge, so können die Teilnehmer die daraus resultierende Überlagerung auf dem Kommunikationskanal detektieren. Das effektive, aus der (weitgehend) gleichzeitigen Übertragung zweier (unabhängiger) Signale resultierende Signal auf dem Kommunikationskanal lässt sich dann wiederum einem (oder mehreren) bestimmten logischen Wert (oder Werten) zuordnen.
-
Die Übertragung sollte dabei insofern weitgehend synchron sein, dass eine Überlagerung der einzelnen Signale einer Signalfolge auf dem Übertragungsmedium erfolgt, insbesondere, dass sich das Signal entsprechend dem n-ten logischen Wert bzw. Bit des ersten Teilnehmers mit dem Signal entsprechend dem n-ten logischen Wert bzw. Bit des zweiten Teilnehmers zumindest teilweise überlagert. Diese Überlagerung sollte jeweils dafür ausreichend lange sein, dass die Teilnehmer die Überlagerung erfassen bzw. den entsprechenden Überlagerungswert ermitteln können.
-
Die Überlagerung kann dabei durch Arbitrierungsmechanismen oder durch physikalische Signalüberlagerung bestimmt sein. Mit Arbitrierungsmechanismus ist beispielsweise der Fall gemeint, dass ein Knoten einen rezessiven Pegel anlegen möchte, aber auf dem Bus einen dominanten Pegel detektiert und somit die Übertragung unterlässt. In diesem Fall kommt es zu keiner physikalischen Überlagerung zweier Signale, sondern es ist nur das dominante Signal auf dem Übertragungskanal zu sehen.
-
Aus der resultierenden Wertfolge der Überlagerung und der eigenen Wertfolge können die Teilnehmer dann einen Schlüssel generieren, der einem außenstehenden Angreifer gegenüber geheim ist. Grund dafür ist, dass der außenstehende Angreifer, der beispielsweise die auf dem gemeinsam genutzten Übertragungsmedium anliegenden effektiven Gesamtsignale abhören kann, nur die Überlagerung der Wertfolgen sieht, aber nicht die Informationen über die einzelnen Wertfolgen der Teilnehmer hat. Damit verfügen die Teilnehmer über mehr Informationen, die sie gegenüber dem Angreifer zur Generierung eines geheimen Schlüssels nutzen können.
-
Die Verfahren zur Generierung eines Geheimnisses oder Schlüssels können allerdings eine zusätzliche Belastung der Kommunikationssysteme und Rechenkapazitäten eines Systems darstellen. Zudem können sie auch negative Auswirkungen auf die Sicherheit eines Systems haben, insbesondere wenn dabei Datenübertragungen außerhalb der vorgeschriebenen Kommunikationsregeln erfolgen. Auch können in bestimmten Betriebszuständen eines Systems oder eines Kommunikationssystems Manipulationen einfacher sein als in anderen. Um diesen Nachteilen begegnen zu können, wird vorgeschlagenen, einen Start der Verfahren zur Generierung eines Geheimnisses oder Schlüssels, insbesondere den Beginn der synchronen Übertragung von Wertfolgen, abhängig von mindestens einem Betriebszustand des Gesamtsystems, des oder der betroffenen Netzwerkteilnehmer oder des Übertragungskanals oder seines übergeordneten Kommunikationssystems zu machen. Damit wird ein flexibles Verfahren geschaffen, das bei minimiertem Einfluss auf die Leistungsfähigkeit des Systems durchgeführt werden kann. Zudem können mögliche negative Auswirkungen auf die Sicherheit (Safety und Security) des Systems durch diese Verfahren verhindert werden.
-
Auch können die Verfahren zur Generierung eines Geheimnisses oder eines Schlüssels somit besonders stabil und sicher ablaufen.
-
Die beschriebenen Verfahren sind besonders gut in einem CAN-, TTCAN- oder CAN FD-Bussystem umzusetzen. Hier wird ein rezessiver Buspegel durch einen dominanten Buspegel verdrängt. Die Überlagerung von Werten bzw. Signalen der Teilnehmer folgt damit festgelegten Regeln, welche die Teilnehmer zur Ableitung von Informationen aus dem überlagerten Wert bzw. Signal und dem von ihnen übertragenen Wert bzw. Signal nutzen können. Auch für weitere Kommunikationssysteme wie LIN und I2C sind die Verfahren gut geeignet.
-
Ein Netzwerk oder ein Teilnehmer eines Netzwerks sind zur Durchführung der beschriebenen Verfahren insbesondere dadurch eingerichtet, dass sie über die entsprechenden elektronischen Speicher- und Rechenressourcen verfügen. Auf einem Speichermedium eines solchen Teilnehmers oder auf den verteilten Speicherressourcen eines Netzwerks kann auch ein Computerprogramm abgelegt sein, dass dazu eingerichtet ist, alle Schritte eines entsprechenden Verfahrens auszuführen, wenn es in dem Teilnehmer oder in dem Netzwerk abgearbeitet wird.
-
Zeichnungen
-
Nachfolgend ist die Erfindung unter Bezugnahme auf die beiliegenden Zeichnungen und anhand von Ausführungsbeispielen näher beschrieben. Dabei zeigen
-
1 schematisch den Aufbau eines beispielhaften, zugrundeliegenden Kommunikationssystems,
-
2 schematisch einen linearen Bus als Beispiel eines zugrundeliegenden Kommunikationssystems,
-
3 schematisch beispielhafte Signalfolgen zweier Teilnehmer eines Netzwerks sowie eine resultierende Überlagerungswertfolge auf einem Übertragungskanal zwischen den Teilnehmern,
-
4 schematisch den Ablauf eines beispielhaften Verfahrens zur Schlüsselgenerierung zwischen zwei Teilnehmern eines Netzwerks sowie
-
5 einen beispielhaften Verfahrensablauf zur Bestimmung eines Starts der Geheimnis- bzw. Schlüsselgenerierung, insbesondere zur Festlegung des Beginns der synchronen Übertragung von Wertfolgen.
-
Beschreibung der Ausführungsbeispiele
-
Die vorliegende Erfindung bezieht sich auf ein Verfahren zur Generierung eines gemeinsamen Geheimnisses bzw. (geheimer) symmetrischer kryptographischer Schlüssel zwischen zwei Knoten eines Kommunikationssystems (Teilnehmer eines Netzwerkes), die über ein gemeinsam genutztes Medium (Übertragungskanal des Netzwerks) miteinander kommunizieren. Die Generierung bzw. Aushandlung der kryptographischen Schlüssel basiert dabei auf einem öffentlichen Datenaustausch zwischen den zwei Teilnehmern, wobei es einem möglichen mithörenden Dritten als Angreifer aber dennoch nicht oder nur sehr schwer möglich ist, Rückschlüsse auf die generierten Schlüssel zu ziehen. Mit der Erfindung ist es somit möglich, zwischen zwei verschiedenen Teilnehmern eines Netzwerks vollständig automatisiert und sicher entsprechende symmetrische kryptographische Schlüssel zu etablieren, um darauf aufbauend dann bestimmte Sicherheitsfunktionen, wie z.B. eine Datenverschlüsselung oder eine Nachrichtenauthentifizierung, zu realisieren. Wie im Detail noch beschrieben wird hierzu zunächst ein gemeinsames Geheimnis etabliert, welches zur Schlüsselgenerierung herangezogen werden kann. Ein solches gemeinsames Geheimnis kann aber grundsätzlich auch zu anderen Zwecken als für kryptographische Schlüssel im engeren Sinne genutzt werden, z.B. als One-Time-Pad.
-
Die Erfindung eignet sich für eine Vielzahl drahtgebundener oder drahtloser sowie auch optischer Netzwerke bzw. Kommunikationssysteme, insbesondere auch solche, bei denen die verschiedenen Teilnehmer über einen linearen Bus miteinander kommunizieren und der Medienzugriff auf diesen Bus mithilfe einer bitweisen Bus-Arbitrierung erfolgt. Dieses Prinzip stellt beispielsweise die Grundlage des weit verbreiteten CAN-Busses dar. Mögliche Einsatzgebiete der Erfindung umfassen dementsprechend insbesondere auch CAN-basierte Fahrzeugnetzwerke sowie CAN-basierte Netzwerke in der Automatisierungstechnik.
-
Die vorliegende Erfindung beschreibt einen Ansatz, mit dem automatisiert symmetrische kryptographische Schlüssel in einem, bzw. insbesondere zwischen zwei Knoten eines Netzwerks generiert werden können. Diese Generierung erfolgt dabei unter Ausnutzung von Eigenschaften der entsprechenden Übertragungsschicht. Anders als bei den gängigen Ansätzen der „Physical Layer Security“ werden dafür aber nicht physikalische Parameter des Übertragungskanals wie Übertragungsstärke etc. ausgewertet. Vielmehr gibt es dazu einen öffentlichen Datenaustausch zwischen den beteiligten Knoten, der dank der Eigenschaften des Kommunikationssystems und/oder des verwendeten Modulationsverfahrens einem möglichen lauschenden Angreifer keine, bzw. keine ausreichenden Rückschlüsse auf den daraus ausgehandelten Schlüssel ermöglicht.
-
Im Folgenden wird eine Anordnung betrachtet, wie sie abstrakt in 1 dargestellt ist. Dabei können verschiedene Teilnehmer 2, 3 und 4 über ein so genanntes geteiltes Übertragungsmedium („shared medium“) 10 miteinander kommunizieren. In einer vorteilhaften Ausprägung der Erfindung entspricht dieses geteilte Übertragungsmedium einem linearen Bus (drahtgebunden oder optisch) 30, wie er beispielhaft in 2 dargestellt ist. Das Netzwerk 20 in 2 besteht aus eben diesem linearen Bus 30 als geteiltes Übertragungsmedium (beispielsweise als drahtgebundener Übertragungskanal), Teilnehmern bzw. Knoten 21, 22 und 23 sowie (optionalen) Busterminierungen 31 und 32.
-
Im Folgenden wird für die Kommunikation zwischen den verschiedenen Knoten 21, 22 und 23 angenommen, dass sie durch die Unterscheidung von dominanten und rezessiven Werten gekennzeichnet ist. In diesem Beispiel werden als mögliche Wert die Bits „0“ und „1“ angenommen. Dabei kann ein dominantes Bit (z.B. das logische Bit ‚0‘) ein gleichzeitig übertragenes rezessives Bit (z.B. das logische Bit ‚1‘) quasi verdrängen bzw. überschreiben.
-
Ein Beispiel für ein solches Übertragungsverfahren ist das so genannte On-Off-Keying (On-Off-Keying-Amplitudenumtastung), bei dem genau zwei Übertragungszustände unterschieden werden: Im ersten Fall (Wert ‚On‘, bzw. „0“) wird ein Signal übertragen, beispielsweise in Form eines einfachen Trägersignals, im anderen Fall (Wert ‚Off‘, bzw. „1“) wird kein Signal übertragen. Der Zustand ‚On‘ ist dabei dominant während der Zustand ‚Off‘ rezessiv ist.
-
Ein weiteres Beispiel für ein entsprechendes Kommunikationssystem, das diese Unterscheidung von dominanten und rezessiven Bits unterstützt, ist ein (drahtgebundenes oder optisches) System basierend auf einer bitweisen Bus-Arbitrierung, wie sie beispielsweise beim CAN-Bus zum Einsatz kommt. Die Grundidee dabei besteht ebenfalls darin, dass wenn beispielsweise zwei Knoten gleichzeitig ein Signal übertragen wollen und der eine Knoten eine ‚1‘ überträgt, wohingegen der zweite Knoten eine ‚0‘ sendet, die ‚0‘ „gewinnt“ (also das dominante Bit), d.h. der Signalpegel, der auf dem Bus gemessen werden kann, entspricht einer logischen ‚0‘. Bei CAN wird dieser Mechanismus insbesondere zur Auflösung von möglichen Kollisionen benutzt. Dabei werden höherpriore Nachrichten (d.h. Nachrichten mit früherem, dominantem Signalpegel) vorrangig übertragen, indem jeder Knoten bei der Übertragung seines CAN-Identifiers bitweise gleichzeitig den Signalpegel auf dem Bus überwacht. Sofern der Knoten selbst ein rezessives Bit überträgt, aber auf dem Bus ein dominantes Bit detektiert wird, bricht der entsprechende Knoten seinen Übertragungsversuch zugunsten der höherprioren Nachricht (mit dem früheren dominanten Bit) ab.
-
Die Unterscheidung von dominanten und rezessiven Bits erlaubt es, das geteilte Übertragungsmedium als eine Art binären Operator aufzufassen, der die verschiedenen Eingangsbits (=alle gleichzeitig übertragenen Bits) mit Hilfe einer logischen UND-Funktion miteinander verknüpft.
-
In 3 ist beispielsweise dargestellt, wie ein Teilnehmer 1 (T1) die Bitfolge 0, 1, 1, 0, 1 zur Sendung zwischen den Zeitpunkten t0 und t5 über den Übertragungskanal bereit hält. Teilnehmer 2 (T2) hält die Bitfolge 0, 1, 0, 1, 1 zur Sendung zwischen Zeitpunkten t0 und t5 über den Übertragungskanal bereit. Mit den oben beschriebenen Eigenschaften des Kommunikationssystems und unter der Annahme, dass es sich in diesem Beispiel bei dem Bitpegel „0“ um das dominante Bit handelt, wird auf dem Bus (B) die Bitfolge 0, 1, 0, 0, 1 zu sehen sein. Nur zwischen den Zeitpunkten t1 und t2 sowie zwischen t4 und t5 sehen sowohl Teilnehmer 1 (T1) als auch Teilnehmer 2 (T2) ein rezessives Bit „1“ vor, so dass nur hier die logische UND-Verknüpfung in einen Bitpegel von „1“ auf dem Bus (B) resultiert.
-
Unter Ausnutzung dieser Eigenschaften des Übertragungsverfahrens des Kommunikationssystems kann eine Schlüsselgenerierung zwischen zwei Teilnehmern eines entsprechenden Netzwerks nun erfolgen, indem die Teilnehmer eine Überlagerung von Bitfolgen der beiden Teilnehmer auf dem Übertragungsmedium detektieren und aus dieser Information gemeinsam mit Informationen über die selbst gesendete Bitfolge einen gemeinsamen (symmetrischen), geheimen Schlüssel erzeugen.
-
Eine beispielhafte, besonders bevorzugte Realisierung wird im Folgenden anhand von 4 erläutert.
-
Der Prozess zur Generierung eines symmetrischen Schlüsselpaars wird in Schritt 41 von einem der in diesem Beispiel zwei beteiligten Knoten (Teilnehmer 1 und Teilnehmer 2) gestartet. Dies kann beispielsweise durch das Versenden einer speziellen Nachricht bzw. eines speziellen Nachrichtenheaders erfolgen.
-
Sowohl Teilnehmer 1 als auch Teilnehmer 2 generieren in Schritt 42 zunächst lokal (d.h. intern und voneinander unabhängig) eine Bitsequenz. Vorzugsweise ist diese Bitfolge mindestens zweimal, insbesondere mindestens dreimal so lang wie der als Resultat des Verfahrens erwünschte gemeinsame Schlüssel. Die Bitfolge wird vorzugsweise jeweils als zufällige oder pseudozufällige Bitabfolge, beispielsweise mit Hilfe eines geeigneten Zufallszahlengenerators oder Pseudozufallszahlengenerators erzeugt.
-
Beispiel für lokale Bitfolgen der Länge 20 Bits:
-
- • Erzeugte Bitsequenz von Teilnehmer 1:
ST1 = 01001101110010110010
- • Erzeugte Bitsequenz von Teilnehmer 2:
ST2 = 10010001101101001011
-
In einem Schritt 43 übertragen Teilnehmer 1 und Teilnehmer 2 zueinander (weitgehend) synchron ihre jeweils erzeugten Bitsequenzen über das geteilte Übertragungsmedium (unter Verwendung des Übertragungsverfahrens mit dominanten und rezessiven Bits, wie zuvor bereits erläutert). Dabei sind verschiedene Möglichkeiten zur Synchronisierung der entsprechenden Übertragungen denkbar. So könnte beispielsweise entweder Teilnehmer 1 oder Teilnehmer 2 zunächst eine geeignete Synchronisationsnachricht an den jeweils anderen Knoten 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 Knoten nur ein geeigneter Nachrichtenheader übertragen wird (z.B. ein CAN-Header bestehend aus Arbitrierungsfeld und Kontrollfeld) und während der zugehörigen Payload-Phase dann beide Knoten gleichzeitig ihre generierten Bitsequenzen (weitgehend) synchron übermitteln. In einer Variante des Verfahrens können die in Schritt 42 generierten Bitsequenzen eines Teilnehmers in Schritt 43 auch auf mehrere Nachrichten verteilt übertragen werden können, 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 anderen Teilnehmers wiederum (weitgehend) synchron.
-
Auf dem geteilten Übertragungsmedium überlagern sich die beiden Bitsequenzen dann, wobei aufgrund der zuvor geforderten Eigenschaft des Systems mit der Unterscheidung von dominanten und rezessiven Bits die einzelnen Bits von Teilnehmer 1 und Teilnehmer 2 eine Überlagerung ergeben, im genannten Beispiel de facto UND-verknüpft werden. Damit ergibt sich auf dem Übertragungskanal eine entsprechende Überlagerung, die beispielsweise ein mithörender dritter Teilnehmer detektieren könnte.
-
Beispiel einer Überlagerungsbitfolge für die obigen, lokalen Bitfolgen:
-
- • Effektive Bitsequenz auf dem Übertragungskanal:
Seff = ST1 AND ST2 = 00000001100000000010
-
Sowohl Teilnehmer 1 als auch Teilnehmer 2 detektieren während der Übertragung ihrer Bitsequenzen des Schritts 43 in einem parallelen Schritt 44 die effektiven (überlagerten) Bitsequenzen Seff auf dem geteilten Übertragungsmedium. Für das Beispiel des CAN-Busses wird dies auch in konventionellen Systemen während der Arbitrierungsphase gewöhnlicherweise ohnehin gemacht.
-
Für Systeme mit ‚On-Off-Keying‘ (drahtlos, drahtgebunden oder optisch) ist dies entsprechend ebenfalls möglich. Der praktischen Realisierbarkeit kommt hierbei insbesondere zugute, dass bei einem solchen System der Zustand ‚On‘ dominant und der Zustand ‚Off‘ rezessiv ist (wie zuvor bereits erläutert). Folglich weiß ein Knoten auch ohne Messung, dass der effektive Zustand auf dem „Shared Medium“ dominant ist sofern der Knoten selbst ein dominantes Bit gesendet hat. Hat ein Knoten hingegen ein rezessives Bit gesendet, kennt er den Zustand auf dem geteilten Übertragungsmedium zunächst nicht ohne Weiteres, allerdings kann er in diesem Fall durch eine geeignete Messung bestimmen, wie dieser aussieht. Da der Knoten selbst in diesem Fall nichts sendet, gibt es nämlich auch keine Probleme mit so genannter Selbstinterferenz, die speziell im Fall von drahtlosen Systemen ansonsten eine aufwändige Echokompensation erforderlich machen würde.
-
In einem nächsten Schritt 45 übertragen sowohl Teilnehmer 1 als auch Teilnehmer 2 ebenfalls wieder (weitgehend) synchron ihre initialen Bitsequenzen ST1 und ST2, diesmal allerdings invertiert. Die Synchronisierung der entsprechenden Übertragungen kann dabei wieder genau auf dieselbe Art und Weise realisiert werden, wie oben beschrieben. Auf dem geteilten Kommunikationsmedium werden die beiden Sequenzen dann wieder miteinander UND-verknüpft. Teilnehmer 1 und 2 ermitteln wiederum die effektiven, überlagerten Bitsequenzen Seff auf dem geteilten Übertragungsmedium.
-
Beispiel für die obigen Bitfolgen:
-
- – Invertierte Bitsequenz von Teilnehmer 1:
ST1‘ = 10110010001101001101
- – Invertierte Bitsequenz von Teilnehmer 2:
ST2‘ = 01101110010010110100
- – Effektive, überlagerte Bitsequenz auf dem Kanal:
Seff‘ = ST1‘ AND ST2‘ = 00100010000000000100
-
Sowohl Teilnehmer 1 als auch Teilnehmer 2 ermitteln während der Übertragung ihrer nun invertierten Bitsequenzen dann wieder die effektiven, überlagerten Bitsequenzen auf dem geteilten Übertragungsmedium. Zu diesem Zeitpunkt kennen somit beide Knoten (Teilnehmer 1 und Teilnehmer 2), sowie auch ein möglicher Angreifer (z.B. Teilnehmer 3), der die Kommunikation auf dem geteilten Übertragungsmedium mithört, die effektiven, überlagerten Bitsequenzen Seff und Seff‘. Im Gegensatz zum Angreifer bzw. dritten Teilnehmer kennt aber Teilnehmer 1 noch seine initial erzeugte, lokale Bitsequenz ST1 und Teilnehmer 2 seine initial erzeugte, lokale Bitsequenz ST2. Teilnehmer 1 wiederum kennt aber nicht die initial erzeugte, lokale Bitsequenz von Teilnehmer 2 und Teilnehmer 2 nicht die initial erzeugte, lokale Bitsequenz von Teilnehmer 1. Die Detektion der Überlagerungsbitfolge erfolgt wiederum während der Übertragung in Schritt 46.
-
Alternativ zu dieser beispielhaften Ausführungsvariante können Teilnehmer 1 und Teilnehmer 2 ihre invertierte, lokale Bitfolge auch direkt mit bzw. direkt nach ihrer ursprünglichen, lokalen Bitfolge versenden, d.h. Schritte 45 und 46 erfolgen mit den Schritten 43 und 44. 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 47 verknüpfen Teilnehmer 1 und Teilnehmer 2 nun jeweils lokal (also intern) die effektiven, überlagerten Bitfolgen (Seff und Seff‘), insbesondere mit einer logischen ODER-Funktion.
-
Beispiel für die obigen Bitfolgen:
-
- Sges = Seff OR Seff‘ = 00100011100000000110
-
Die einzelnen Bits in der aus der ODER-Verknüpfung resultierenden Bitsequenz (Sges) geben nun an, ob die entsprechenden Bits von ST1 und ST2 identisch oder unterschiedlich sind. Ist das n-te Bit innerhalb von Sges beispielsweise eine ‚0‘, so bedeutet dies, dass das n-te Bit innerhalb von ST1 invers zu dem entsprechenden Bit innerhalb von ST2 ist. Gleichermaßen gilt, dass wenn das n-te Bit innerhalb von Sges eine ‚1‘ ist, die entsprechenden Bits innerhalb von ST1 und ST2 identisch sind.
-
Teilnehmer 1 und Teilnehmer 2 streichen daraufhin in Schritt 48 basierend auf der aus der ODER-Verknüpfung erhaltenen Bitsequenz Sges in ihren ursprünglichen, initialen Bitsequenzen ST1 und ST2 alle Bits, die in beiden Sequenzen identisch sind. Dies führt folglich zu entsprechend verkürzten Bitsequenzen.
-
Beispiel für die obigen Bitfolgen:
-
- – Verkürzte Bitsequenz von Teilnehmer 1:
ST1,V = 01011100101100
- – Verkürzte Bitsequenz von Teilnehmer 2:
ST2,V = 10100011010011
-
Die resultierenden, verkürzten Bitsequenzen ST1,V und ST2,V sind nun gerade invers zueinander. Somit kann einer der beiden Teilnehmer durch Inversion seiner verkürzten Bitsequenz exakt diejenige verkürzte Bitsequenz ermitteln, wie sie im anderen Teilnehmer bereits vorliegt.
-
Die dermaßen gemeinsam vorliegende, verkürzte Bitsequenz wird nun von Teilnehmer 1 und Teilnehmer 2 in Schritt 49 jeweils lokal auf geeignete Art und Weise aufbereitet, um den eigentlich gewünschten Schlüssel der gewünschten Länge N zu generieren. Auch hierbei gibt es wieder eine Vielzahl von Möglichkeiten, wie diese Aufbereitung erfolgen kann. Eine Möglichkeit ist die Selektion von N Bits aus der gemeinsam vorliegenden, verkürzten Bitsequenz, wobei klar definiert sein muss, welche N Bits zu nehmen sind, z.B. indem einfach immer die ersten N Bits der Sequenz selektiert werden. Ebenfalls möglich ist die Berechnung einer Hashfunktion über die gemeinsam vorliegende, verkürzte Bitsequenz, die einen Hashwert der Länge N liefert. Ganz allgemein kann die Aufbereitung mit jeder beliebigen linearen und nichtlinearen Funktion erfolgen, die bei Anwendung auf die gemeinsam vorliegende, verkürzte Bitsequenz eine Bitsequenz der Länge N Bits zurückliefert. Der Mechanismus der Schlüsselerzeugung aus der gemeinsam vorliegenden, verkürzten Bitsequenz liegt vorzugsweise in beiden Teilnehmern 1 und 2 identisch vor und wird entsprechend auf die gleiche Weise durchgeführt.
-
Im Anschluss an die Schlüsselgenerierung kann ggf. noch verifiziert werden, dass die von Teilnehmer 1 und 2 generierten Schlüssel tatsächlich identisch sind.
-
Dazu könnte beispielsweise eine Checksumme über die generierten Schlüssel berechnet und zwischen Teilnehmer 1 und 2 ausgetauscht werden. Sind beide Checksummen nicht identisch, so ist offensichtlich etwas fehlgeschlagen. In diesem Fall könnte das beschriebene Verfahren zur Schlüsselgenerierung wiederholt werden.
-
In einer bevorzugten Variante des Verfahrens zur Schlüsselgenerierung können in verschiedenen Durchläufen zunächst auch eine ganze Reihe von resultierenden, bei Teilnehmer 1 und 2 jeweils vorliegenden, verkürzten Bitsequenzen erzeugt werden, die dann zu einer einzigen großen Sequenz kombiniert werden, bevor der eigentliche Schlüssel davon abgeleitet wird. Dies kann ggf. auch adaptiv erfolgen. Sollte nach dem einmaligen Durchlaufen der beschriebenen Prozedur z.B. die Länge der gemeinsamen, verkürzten Bitsequenz beispielsweise kleiner als die gewünschte Schlüssellänge N sein, so könnte man durch einen erneuten Durchlauf z.B. weitere Bits vor der eigentlichen Schlüsselableitung generieren.
-
Das generierte, symmetrische Schlüsselpaar kann nun schließlich von Teilnehmer 1 und Teilnehmer 2 in Verbindung mit etablierten (symmetrischen) kryptographischen Verfahren, wie z.B. Chiffren zur Datenverschlüsselung, eingesetzt werden.
-
Ein möglicher Angreifer (z.B. Teilnehmer 3) kann die öffentliche Datenübertragung zwischen Teilnehmer 1 und Teilnehmer 2 abhören und somit wie beschrieben Kenntnis der effektiven, überlagerten Bitfolgen (Seff und Seff‘) erlangen. Damit weiß der Angreifer dann allerdings nur, welche Bits in den lokal generierten Bitsequenzen von Teilnehmer 1 und 2 identisch sind und welche nicht. Bei den identischen Bits kann der Angreifer darüber hinaus sogar noch feststellen, ob es sich dabei um eine ‚1‘ oder eine ‚0‘ handelt. Für eine vollständige Kenntnis der resultierenden, verkürzten Bitfolge (und damit der Grundlage zur Schlüsselgenerierung) fehlen ihm aber die Informationen über die nicht identischen Bits. Um dem Angreifer mögliche Angriffe weiter zu erschweren, wird in einer bevorzugten Variante zusätzlich die in den ursprünglichen, lokal erzeugten Bitfolgen der Teilnehmer 1 und 2 identischen Bitwerte gelöscht. Damit verfügt Teilnehmer 3 nur über Informationen, die für die Schlüsselgenerierung gar nicht verwendet werden. Er weiß zwar, dass entsprechend verkürzte Bitfolgen aus den zwischen den lokalen Bitfolgen der Teilnehmer 1 und Teilnehmer 2 unterschiedlichen Bits hervorgehen. Er weiß aber nicht, welche Bits Teilnehmer 1 und Teilnehmer 2 jeweils gesendet haben.
-
Teilnehmer 1 und Teilnehmer 2 haben zusätzlich zu der Information über die überlagerte Gesamt-Bitfolge noch die Information über die jeweils von ihnen gesendete, lokal generierte Bitfolge. Aus diesem Informationsvorsprung gegenüber einem lediglich der öffentlichen Datenübertragung folgenden Teilnehmer 3 rührt die Tatsache, dass die in Teilnehmer 1 und 2 generierten Schlüssel trotz der öffentlichen Datenübertragung als Grundlage geheim bleiben.
-
Um potentiell negative Auswirkungen auf das Gesamtsystem zu minimieren und um einen möglichst stabilen und sicheren Ablauf der beschriebenen Verfahren in einem System zu gewährleisten, wird vorgeschlagen, die Verfahren in bestimmten Zeitfenstern durchzuführen bzw. abhängig von mindestens einem vorbestimmten Betriebszustand zu starten. Das kann insbesondere bedeuten, dass die synchrone Übertragung von Wertfolgen durch die Netzwerkteilnehmer abhängig von dem Betriebszustand erfolgt.
-
Als Betriebseigenschaften, die zu einem solchen vorbestimmten Betriebszustand gehören können, kommen die Eigenschaften des ersten Netzwerkteilnehmers, eines den ersten Netzwerkteilnehmer umfassenden Systems, des Übertragungskanals oder eines übergeordneten Kommunikationssystems in Frage. Die Eigenschaften können dabei Informationen über ein Hochfahren, ein Herunterfahren, einen Nachlauf, bestimmte Diagnose-, Service- oder Werksmodi oder eine Auslastung umfassen. Für den Übertragungskanal oder das Kommunikationssystem kann die Auslastung z.B. durch eine Datenübertragungsschwelle beschrieben werden, unterhalb derer ein Start des Verfahrens erfolgt oder möglich ist. Für einen Teilnehmer oder ein System kann die Auslastung z.B. durch die Inaktivität bestimmter Komponenten des Teilnehmers oder Systems bestimmt sein, bei welcher die Verfahren gestartet werden (können).
-
Handelt es sich bei dem Netzwerkteilnehmer um eine Komponente eines Fahrzeugs, z.B. ein Fahrzeugsteuergerät, so können die Verfahren in Abhängigkeit von Betriebszuständen des Fahrzeugs gestartet werden. Neben den bereits genannten Informationen können in dieser Ausgestaltung hierfür auch Informationen über eine zu unterschreitende Geschwindigkeitsschwelle, einen Fahrzeugstillstand, einen Parkzustand oder einen Motor-Stopp in Frage kommen.
-
Zu spezifischen Informationen über den Übertragungskanal oder das übergeordnete Kommunikationssystem können Informationen darüber zählen, ob ein Austausch bestimmter kritischer Botschaften geplant ist (und vorher eine Schlüsselgenerierung erfolgen sollte) oder ob eine bestimmte Anzahl von Nachrichten bzw. eine bestimmte Anzahl von Nachrichten mit vorgegebenen Eigenschaften (bspw. mit einer bestimmten ID/Adresse oder mit einem bestimmten Wert für ein vorgegebenes Signal/Botschaftsfeld) übertragen wurden. Auch Informationen über einen bestimmten Kommunikationszyklus oder bestimmte Kommunikationsabläufe können enthalten sein.
-
Die Verfahren können auch nach dem Austausch einer bestimmten Datenmenge oder einer bestimmten Anzahl von Nachrichten über den Übertragungskanal oder das Kommunikationssystem gestartet werden. Das betrifft insbesondere den Austausch einer bestimmten Datenmenge oder einer bestimmten Anzahl von Nachrichten zwischen bestimmten Kommunikationspartner, vorzugsweise zwischen den beteiligten Netzwerkteilnehmern.
-
In 5 ist ein beispielhafter Ablauf eines entsprechenden Verfahrens gezeigt. Dabei wird das Gesamt-Verfahren in Schritt 51 gestartet. In Schritt 52 werden ein bestimmter Betriebszustand des Systems, das die Netzwerkteilnehmer umfasst, bzw. entsprechende Informationen über das System überprüft. Im Beispiel eines Fahrzeugs könnte hier z.B. überprüft werden, ob das Fahrzeug steht oder ob der Motor des Fahrzeugs gestoppt ist oder ob das Fahrzeug sich in einem Servicemodus befindet. Erfüllt der Betriebszustand die Voraussetzungen für einen Start des Verfahrens zur Geheimnis- bzw. Schlüsselgenerierung (insbesondere für eine synchrone Übertragung der Wertfolgen), so verzweigt das Verfahren in Schritt 53. Ansonsten verzweigt das Verfahren in Schritt 55.
-
In Schritt 53 werden ein Betriebszustand des Übertragungskanals oder des Kommunikationssystems bzw. entsprechende Informationen überprüft, z.B. ob eine Auslastung des Übertragungskanals bzw. des Kommunikationssystems eine bestimmte Schwelle unterschreitet. Erfüllt der Betriebszustand die Voraussetzungen für einen Start des Verfahrens zur Geheimnis- bzw. Schlüsselgenerierung (insbesondere für eine synchrone Übertragung der Wertfolgen), so verzweigt das Verfahren in Schritt 54. Ansonsten verzweigt das Verfahren in Schritt 55.
-
In Schritt 54 wird das eigentliche Verfahren zur Generierung eines Geheimnisses oder Schlüssels gestartet, insbesondere durch die synchrone Übertragung von Wertfolgen durch die Netzwerkteilnehmer.
-
In Schritt 55 wird, gegebenenfalls nach einer vorbestimmten Wartezeit, das Verfahren zur Überprüfung der Betriebszustände wiederum durch Verzweigung auf Schritt 51 neu gestartet. Alternativ kann das Verfahren auch nach der Wartezeit noch abgebrochen werden.
-
Während bei dem in 5 gezeigten, beispielhaften Ablauf zwei Betriebszustände hintereinander abgefragt werden (eines Systems in Schritt 52 und eines Kommunikationssystems in Schritt 53), kann auch nur eine dieser Abfragen erfolgen oder diese Abfragen können parallel erfolgen. Auch die Abfrage weiterer Betriebszustände ist möglich.
-
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 [0007]
- DE 102009045133 A1 [0007]
- DE 102014208975 A1 [0008]
- DE 102014209042 A1 [0008]
- DE 102015207220 A1 [0009]