-
Die vorliegende Erfindung betrifft ein Verfahren zur Erzeugung eines gemeinsamen Geheimnisses in einem Netzwerk, insbesondere zur Erzeugung eines gemeinsamen Geheimnisses in zwei Teilnehmern des Netzwerkes, das beispielsweise zur Ableitung eines gemeinsamen, geheimen kryptographischen Schlüssels verwendet werden kann. 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 anderer Teilnehmer durchsetzt. Ein Zustand entsprechend dem rezessiven Signal stellt sich auf dem Übertragungsmedium nur dann ein, wenn alle aktiv 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 kryptographischen 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 oftmals 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 215 326 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 zur Erzeugung eines gemeinsamen Geheimnisses in einem Netzwerk, insbesondere zur Erzeugung eines gemeinsamen Geheimnisses in zwei Teilnehmern des Netzwerkes, das beispielsweise zur Ableitung eines gemeinsamen, geheimen kryptographischen Schlüssels verwendet werden kann, eine entsprechende Vorrichtung, ein entsprechendes Computerprogramm sowie ein entsprechendes Speichermedium gemäß den unabhängigen Ansprüchen bereit.
-
Ein Vorzug dieser Lösung liegt darin, dass das erzeugte gemeinsame Geheimnis zwischen zwei Knoten eine beliebige – aber wohldefinierte – Länge haben kann. Dies ist beispielsweise eine Voraussetzung, um symmetrische kryptographische Schlüssel einer bestimmten Länge – z. B. 128 oder 256 Bit – erzeugen zu können, die in Verbindung mit gängigen kryptographischen Chiffren, wie dem sogenannten Advanced Encryption Standard (AES), eingesetzt werden können.
-
Die Erfindung eignet sich für zahlreiche drahtgebundene Kommunikationssysteme, speziell in Fahrzeug- oder Automatisierungsnetzwerken – z. B. CAN, TTCAN, CAN FD und LIN – aber auch für andere Bussysteme, wie z. B. I2C oder auch bestimmte drahtlose Kommunikationssysteme. Dementsprechend ergeben sich hierfür zahlreiche potenzielle Anwendungsmöglichkeiten in der Praxis.
-
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.
-
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 A, einem zweiten Knoten B und einem nicht unbedingt benötigten dritten Knoten C, die über ein gemeinsam genutztes Übertragungsmedium 10 (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 gemeinsam genutzte Übertragungsmedium 10 ein linearer Bus 20 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 nicht unbedingt benötigten dritten Knotens C – über ein gemeinsam genutztes Medium 10 miteinander kommunizieren. In einer vorteilhaften Ausprägung der Erfindung entspricht dieses Medium 10 einem – drahtgebundenen oder optischen – linearen Bus 20, was beispielhaft in 2 dargestellt ist. Auf den dritten Knoten C wird nachfolgend nicht explizit eingegangen.
-
Bezugnehmend auf 3 generieren sowohl der erste Knoten A als auch der zweite Knoten 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 der erste Knoten 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 der zweite Knoten 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 Überlagerungsphase 31 übertragen der erste Knoten A (Bezugszeichen 33) und der zweite Knoten B (Bezugszeichen 34) zueinander weitgehend synchron ihre jeweils erzeugten Bitsequenzen über das gemeinsam genutzte Medium 10, 20 unter Verwendung des Übertragungsverfahrens mit dominanten und rezessiven Bits bzw. Übertragungszuständen. Dabei sind verschiedene Möglichkeiten zur Synchronisierung der entsprechenden Übertragungen denkbar. So könnte beispielsweise entweder der erste Knoten A oder der zweite Knoten B zunächst eine geeignete Synchronisationsnachricht an den jeweils anderen Knoten 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 Knoten A, B nur ein geeigneter Nachrichtenkopf (header) übertragen wird – z. B. ein CAN-Header bestehend aus Arbitrierungsfeld und Kontrollfeld – und während der zugehörigen Nutzdatenphase dann beide Knoten A, B gleichzeitig ihre generierten Bitsequenzen weitgehend synchron übermitteln. In einer Variante der Prozedur können die im ersten Schritt generierten Bitsequenzen des ersten Knotens A oder des zweiten Knotens 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 Knotens B, A wiederum weitgehend synchron.
-
Auf dem geteilten Medium 10, 20 überlagern sich die beiden Bitsequenzen bzw. die zugehörigen Übertragungszustände/Signalpegel während der Überlagerungsphase 31, wobei aufgrund der zuvor geforderten Eigenschaft des Systems mit der Unterscheidung von dominanten und rezessiven Bits/Übertragungszuständen die einzelnen Bits des ersten Knotens A und des zweiten Knotens B eine Überlagerung ergeben, im genannten Beispiel de facto UND-verknüpft werden. Damit ergibt sich auf dem Übertragungskanal eine entsprechende Überlagerung, die beispielsweise der mithörende dritte Knoten C detektieren könnte. Präziser ausgedrückt übertragen A und B entsprechend ihrer Bitsequenzen modulierte Signale, die sich zu einem Gesamtsignal auf dem Übertragungsmedium überlagern. Das Gesamtsignal kann dann mittels einer geeigneten Demodulation wieder in eine (logische) Bitsequenz überführt werden, die (im fehlerfreien Fall) für CAN gerade der logischen UND-Verknüpfung der Einzelbitsequenzen von A und B entspricht.
-
Als Beispiel einer Überlagerungsbitfolge für die obigen lokalen Bitfolgen könnte sich auf dem Übertragungskanal die folgende effektive Bitsequenz ergeben: Seff = SA Λ SB = (0,0,0,0,0,0,0,1,1,0,0,0,0,0,0,0,0,0,1,0)
-
Sowohl der erste Knoten A als auch der zweite Knoten B detektieren während der Übertragung 33 bzw. 34 ihrer Bitsequenzen parallel die effektiven überlagerten Bitsequenzen auf dem geteilten Medium 10, 20. Für das Beispiel des CAN-Busses 20 wird dies auch in konventionellen Systemen während der Überlagerungsphase gewöhnlich ohnehin gemacht.
-
In einer zweiten Überlagerungsphase
32 übertragen sowohl der erste Knoten A (Bezugszeichen
35) als auch der zweite Knoten 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 geteilten Kommunikationsmedium
10,
20 werden die beiden Sequenzen dann wieder miteinander UND-verknüpft. Der erste Knoten A und der zweite Knoten B ermitteln wiederum die effektiven, überlagerten Bitsequenzen S
eff auf dem geteilten Medium
10,
20. Für den ersten Knoten A würde sich somit die invertierte Bitsequenz
und für den zweiten Knoten B die invertierte Bitsequenz
ergeben. Somit würden die Knoten A, B die folgende effektive, überlagerte Bitsequenz auf dem Kanal ermitteln:
-
Sowohl der erste Knoten A als auch der zweite Knoten B ermitteln während der Übertragung 35 bzw. 36 ihrer nun invertierten Bitsequenzen dann wieder die effektiven, überlagerten Bitsequenzen auf dem geteilten Medium 10, 20. Zu diesem Zeitpunkt kennen somit der erste Knoten A, der zweite Knoten B sowie auch ein möglicher Angreifer wie der dritte Knoten C, der die Kommunikation 33–36 auf dem geteilten Medium 10, 20 mithört, die effektiven, überlagerten Bitsequenzen S und S. Im Gegensatz zum Angreifer C kennt aber der erste Knoten A noch seine initial erzeugte, lokale Bitsequenz und der zweite Knoten B dessen initial erzeugte, lokale Bitsequenz. Der erste Knoten A wiederum kennt aber nicht die initial erzeugte, lokale Bitsequenz des zweiten Knotens B und der zweite Knoten B nicht die initial erzeugte, lokale Bitsequenz des ersten Knotens A. Die Detektion der Überlagerungsbitfolge erfolgt wiederum während der Übertragung 35, 36.
-
Alternativ zu dieser beispielhaften Ausführungsvariante können der erste Knoten A und der zweite Knoten B ihre invertierte, lokale Bitfolge auch direkt mit bzw. direkt nach ihrer ursprünglichen, lokalen Bitfolge versenden, d. h. die erste Überlagerungsphase 31 geht unmittelbar in die zweite Überlagerungsphase 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 einer bevorzugten Ausführungsform können der erste Knoten A und der zweite Knoten B sogar innerhalb einer Nachricht abwechselnd ein zufällig erzeugtes Bit und danach das entsprechend invertierte Bit senden. Anstelle der ursprünglichen, lokalen Bitfolge (0,0,1) würde so beispielsweise die Bitfolge (0,1,0,1,1,0) gesendet. Der Begriff „Überlagerungsphase” ist insofern in einem weiten Wortsinn zu verstehen, welcher durchaus den Fall einschließt, dass in jeder Phase lediglich Bitfolgen der Länge 1 überlagert, die beiden Überlagerungsphasen insgesamt jedoch in entsprechender Anzahl wiederholt werden. Ferner sind neben der bitweise abwechselnden Übertragung von originalen und invertierten Bits noch zahlreiche andere Varianten denkbar, ohne den Rahmen der Erfindung zu verlassen.
-
In Schritt 37 verknüpfen der erste Knoten A und der zweite Knoten B nun jeweils lokal – also intern – die effektiven, überlagerten Bitfolgen Seff und S ' / eff' insbesondere mit einer logischen ODER-Funktion. Im obigen Beispiel ergäbe sich auf diesem Wege die folgende Verknüpfung: Sges = Seff ∨ S ' / eff = (0,0,1,0,0,0,1,1,1,0,0,0,0,0,0,0,0,1,1,0)
-
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 Bit ,1' in S
ges zeigt dabei an, dass das Bit an der entsprechenden Position in S
A und S
B identisch ist wohingegen das Bit ,0' anzeigt, dass das Bit an der entsprechenden Position in S
A und S
B unterschiedlich ist. Der erste Knoten A und der zweite Knoten 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
und
-
Die resultierenden, verkürzten Bitsequenzen
und
sind nun gerade invers zueinander. Somit können der erste Knoten A und der zweite Knoten B durch Inversion ihrer verkürzten Bitsequenz exakt diejenige verkürzte Bitsequenz ermitteln, welche im jeweils anderen Knoten B, A bereits vorliegt.
-
Die kleinstmögliche Prozedur zur Erzeugung von mindestens einem gemeinsamen geheimen Bit zwischen dem ersten Knoten A und dem zweiten Knoten B basierend auf dem oben beschriebenen Grundverfahren wird nachfolgend stets als „Basisprozedur” bezeichnet. Dabei können originale und inverse Bits wie oben ausgeführt insbesondere kombiniert in einer Phase übertragen werden. Für die Basisprozedur selbst gibt es dabei – wie bereits angedeutet – verschiedene Realisierungsmöglichkeiten, wie z. B. die Folgenden:
Es erfolgt ein synchroner Austausch zweier Nachrichten zwischen dem ersten Knoten A und dem zweiten Knoten B, wobei in den Nachrichten sowohl die von beiden Knoten A, B unabhängig generierten Zufallsbits als auch die entsprechenden inversen Bits enthalten sind.
-
Alternativ erfolgt ein synchroner Austausch von zunächst zwei Nachrichten zwischen dem ersten Knoten A und dem zweiten Knoten B, in denen die von beiden Knoten A, B unabhängig generierten Zufallsbits enthalten sind, gefolgt von einem weiteren synchronen Austausch zweier Nachrichten zwischen dem ersten Knoten A und dem zweiten Knoten B, in denen die entsprechenden inversen Bitsequenzen enthalten sind. Der zweite synchrone Nachrichtenaustausch kann sich dabei entweder nahtlos oder nach einer definierten Zeitdauer t1 an den ersten synchronen Nachrichtentausch anschließen oder davon auch weitestgehend entkoppelt sein, bspw. wenn der erste Knoten A und der zweite Knoten B für den zweiten synchronen Nachrichtenaustausch wieder mit anderen Kommunikationsteilnehmern C um den Zugriff auf das Medium 10, 20 konkurrieren müssen.
-
In Betracht kommen ferner beliebige Kombinationen und Varianten der zuvor geschilderten Möglichkeiten.
-
Wie bereits erläutert liefert eine Basisprozedur 31–38 im Allgemeinen ein gemeinsames Geheimnis zwischen dem ersten Knoten A und dem zweiten Knoten B, dessen Länge nicht fest ist, sondern abhängt von den initial generierten Zufallszahlen auf beiden Seiten sowie der Anzahl der im Rahmen der Basisprozedur 31–38 übertragbaren initialen sowie invertierten Zufallsbits. Es ist zu beachten, dass es bei der Basisprozedur 31–38 zuweilen vorkommen kann, dass gar kein gemeinsames Geheimnis etabliert werden kann, bspw. wenn der erste Knoten A und der zweite Knoten B zufällig die gleiche Zufallssequenz gewählt haben.
-
Zur Etablierung eines gemeinsamen Geheimnisses einer gewünschten Länge kann aufbauend auf einer solchen Basisprozedur 31–38 nun wie folgt vorgegangen werden:
In einem ersten Schritt erfolgt eine wiederholte (39) Durchführung der Basisprozedur 31–38, bis insgesamt ein mindestens k Bit langes gemeinsames Geheimnis zwischen dem ersten Knoten A und dem zweiten Knoten B etabliert worden ist. Dabei kann k größer als, kleiner als oder gleich n sein. Für die wiederholte Durchführung der Basisprozedur 31–38 gibt es ebenfalls wieder verschiedene Möglichkeiten:
In einer ersten Variante unterliegt die Durchführung jeder Basisprozedur 31–38 demselben Medienzugriffsverfahren wie die Übertragung beliebiger anderer Nachrichten auch. Im Fall von CAN beispielsweise sollte in diesem Fall vor der Initiierung einer neuen Basisprozedur 31–38 immer zuerst eine Überlagerungsphase erfolgreich durchlaufen werden.
-
In einer zweiten Variante ist mit der Durchführung der ersten Basisprozedur 31–38 der Zugriff auf das gemeinsam genutzte Übertragungsmedium 10, 20 für die anderen unbeteiligten Kommunikationsteilnehmer C zunächst einmal bis auf weiteres gesperrt. Somit müssen der erste Knoten A und der zweite Knoten B bei möglicherweise weiteren Durchführungen der Basisprozedur 31–38 nicht die normalen Medienzugriffsmechanismen – z. B. Busarbitrierung – beachten und können im Prinzip jederzeit eine weitere Basisprozedur 31–38 initiieren. Das Ende dieser exklusiven Zugriffsphase 30 kann auf verschiedene Art und Weise eingeleitet werden:
Nachdem der erste Knoten A und der zweite Knoten B ein gemeinsames Geheimnis etabliert haben, das mindestens k Bit lang ist, sendet einer der beiden Knoten A, B oder beide Knoten A, B gleichzeitig eine spezielle Nachricht, die den anderen Kommunikationsteilnehmern C das Ende der exklusiven Zugriffsphase 30 signalisiert. Im wichtigen Fall von CAN-Netzwerken könnte dies bspw. eine Nachricht mit einem speziellen CAN-Identifier sein.
-
Gemäß einer anderen Option nehmen, sofern auf dem gemeinsam genutzten Medium 10, 20 für mindestens die Zeitdauer t2 keine Übertragung von dem ersten Knoten A und dem zweiten Knoten B stattfindet, die anderen Kommunikationsteilnehmer C automatisch an, dass die exklusive Zugriffsphase 30 beendet ist.
-
Gemäß einer entsprechenden Option wird nur vorausgesetzt, dass für mindestens die Zeitdauer t2 keine weitere Basisprozedur 31–38 zwischen dem ersten Knoten A und dem zweiten Knoten B durchgeführt wird. Die Übertragung anderer Nachrichten hingegen ist möglich.
-
Gemäß einer abschließenden Option können die anderen Knoten C durch Auswertung der effektiven Signale auf dem gemeinsamen genutzten Medium 10, 20 bei Durchführung einer Basisprozedur 31–38 zwischen dem ersten Knoten A und dem zweiten Knoten B ermitteln, wie viele für den ersten Knoten A und den zweiten Knoten B nutzbare – d. h. geheime – Bits gewonnen werden. Dementsprechend zählen alle unbeteiligten Kommunikationsteilnehmer C mit, wie viele gemeinsame, geheime Bits der erste Knoten A und der zweite Knoten B etabliert haben, und sofern diese Zahl die gewünschte Zahl k übersteigt, wird die exklusive Zugriffsphase 30 automatisch als beendet angenommen.
-
Gibt es in einer dritten Variante bei dem zugrundeliegenden Kommunikationssystem 10, 20, A, B, C – wie im Falle eines CAN-Busses 20 – gewisse zeitliche Mindestabstände zwischen der Übertragung zweier aufeinanderfolgender Rahmen – so etwa der sogenannte Intermission Frame Space der Länge 3 Bit bei CAN –, so können der erste Knoten A und der zweite Knoten B diese standardmäßig geforderten zeitlichen Mindestabstände bewusst verletzen, sodass die anderen Kommunikationsteilnehmer keine Gelegenheit haben, um den Zugriff auf das gemeinsam genutzte Medium zu konkurrieren. Insbesondere bei einem CAN-basierten Kommunikationssystem 20, A, B, C würde dies ggf. eine Modifikation des Standards erfordern, da ein dominantes Bit auf Position 1 oder 2 des Intermission Frame Spaces laut CAN-Spezifikation das Senden eines sogenannten Overload Frames anstoßen würde.
-
In einem zweiten Schritt wenden der erste Knoten A und der zweite Knoten B auf das generierte k Bit lange gemeinsame Geheimnis, das im ersten Schritt erzeugt wurde, eine Funktion f: x → y mit x ∊ {0,1}k und y ∊ {0,1}m an. Die Funktion f bildet also einen Bitstring der Länge k auf einen Bitstring der Länge m mit m ≥ n ab. Vorteilhafte Realisierungen für die Funktion f schließen eine kryptographische Hash-Funktion, wie z. B. MD5 (nur für m = 128), SHA-1 (nur für m = 160), SHA-2 (nur für m ∊ [224, 256, 384, 512}) oder SHA-3 (für beliebige m) ein. Falls k > m gilt, kommt stattdessen eine Auswahl beliebiger – aber auf beiden Seiten einheitlich gewählter – m Bits aus den initial generierten k Bits in Betracht.
-
In einem dritte Schritt wird im Fall m > n eine Auswahl beliebiger – aber auf beiden Seiten einheitlich gewählter – n Bits aus den zuvor generierten m Bits getroffen, oder es erfolgt eine beliebige Verknüpfung der zuvor generierten m Bits zu n Bits. Wurden z. B. 10 Bits generiert, aber nur 5 benötigt, können die Knoten entweder übereinstimmend 5 beliebige Bits auswählen, aber z. B. auch jeweils zwei aufeinanderfolgende Bits miteinander XOR-verknüpfen o. ä. In dieser Hinsicht eröffnen sich zahlreiche Möglichkeiten, ohne den Rahmen der Erfindung zu verlassen.
-
In einer weiteren vorteilhaften Realisierung verfügen der erste Knoten und der zweite Knoten zu Beginn bereits über ein gemeinsames Geheimnis der gewünschten Länge, z. B. einen vorgegebenen (default) Schlüssel, der bspw. bei der Produktion eingebracht wurde oder einen Schlüssel, der durch einmaliges Durchführen einer im Weiteren dargestellten Basisprozedur zusammen mit weiteren Schritten etabliert worden ist. Dann können durch mehrmalige Durchführung der Basisprozedur immer weitere gemeinsame geheime Bits erzeugt werden, die dann wiederum jeweils mit dem bereits vorhandenen Geheimnis der gleichen Länge im Zuge einer regelmäßigen Neuberechnung kontinuierlich gleichsam „aufgefrischt” werden. Dies ist dadurch motiviert, dass der initiale Schlüssel in vielen Fällen nicht eine der Schlüssellänge entsprechende und somit größtmögliche Entropie besitzt bzw. im Falle eines vorgegebenen Schlüssels u. U. gar nicht geheim ist. Durch sukzessive Neuberechnung im Anschluss an die Durchführung einer Basisprozedur kann somit Schritt für Schritt die Entropie und somit gewissermaßen der „Geheimnisgrad” des resultierenden Schlüssels erhöht werden.
-
Dieses Verfahren 30 kann beispielsweise in Software oder Hardware oder in einer Mischform aus Software und Hardware beispielsweise in einem Steuergerät implementiert sein.
-
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 [0007]