-
Die vorliegende Erfindung betrifft ein Verfahren zur Erneuerung bzw. Auffrischung eines gemeinsamen Geheimnisses, insbesondere eines symmetrischen kryptographischen Schlüssels, zwischen einem ersten Knoten und einem zweiten Knoten eines Kommunikationssystems. Die vorliegende Erfindung betrifft darüber hinaus eine entsprechende Vorrichtung, ein entsprechendes Computerprogramm sowie ein entsprechendes Speichermedium. Dabei kommunizieren die beiden 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 insbesondere für ein solches Re-Keying geeignetes 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 Erneuerung bzw. Auffrischung eines zwischen einem ersten Knoten und einem zweiten Knoten eines Kommunikationssystems geteilten Geheimnisses bzw. Schlüssels (shared key), 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 symmetrische Kryptosysteme. Das erfindungsgemäße Verfahren zeichnet sich insbesondere durch eine extrem niedrige Komplexität und eine einfache Umsetzbarkeit in praktischen Systemen aus, insbesondere in Fahrzeug- bzw. Automatisierungsnetzwerken. Zudem kann damit flexibel eine skalierbare Sicherheit realisiert werden.
-
Dadurch ist es möglich, abhängig von den konkreten Sicherheitsanforderungen einer Anwendung oder eines Steuergeräts flexibel die Lebensdauer eines gemeinsamen Geheimnisses, insbesondere eines symmetrischen kryptographischen Schlüssels, festzulegen und diesen bei Bedarf geeignet aufzufrischen. Die regelmäßige Erneuerung bzw. Auffrischung von Schlüsseln erschwert u. a. verschiedene Angriffe – z. B. Klartextangriffe, Seitenkanalangriffe etc. – und kann zur Realisierung einer perfekten vorwärts gerichteten Geheimhaltung (perfect forward secrecy, PFS) genutzt werden.
-
Die Erfindung eignet sich für zahlreiche drahtgebundene Kommunikationssysteme, speziell in Fahrzeug- und Automatisierungsnetzwerken wie 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 eine vorteilhafte Anordnung basierend auf einem linearen Bus (z. B. CAN) mit einem bereits etabliertem gemeinsamen Geheimnis, insbesondere einem symmetrischen kryptographischen Schlüssel K, zwischen einem ersten und einem zweiten Knoten.
-
2 das Flussdiagramm eines Verfahrens gemäß einer Ausführungsform der Erfindung.
-
3 die betrachtete Anordnung nach der erfolgreichen Auffrischung der gemeinsamen Geheimnisse, insbesondere symmetrischen kryptographischen Schlüssel, zwischen dem ersten und zweiten Knoten.
-
Ausführungsformen der Erfindung
-
Es wird eine Anordnung gemäß 1 betrachtet, bei der ein erster Knoten 11, ein zweiter Knoten 12 sowie ein dritter Knoten 13 und ein vierter Knoten 14, die für das eigentliche Verfahren nicht benötigt werden, über ein gemeinsam genutztes Übertragungsmedium 10 – hier ein linearer Bus – miteinander kommunizieren können. Bei den Knoten könnte es sich bspw. um Steuergeräte in einem Fahrzeug handeln, die über einen CAN-, TT-CAN-, CAN-FD- oder LIN-Bus miteinander kommunizieren. Zur Absicherung der Kommunikation zwischen dem ersten Knoten 11 und dem zweiten Knoten 12 verfügen diese bereits über ein erstes gemeinsames Geheimnis K, insbesondere einen symmetrischen kryptographischen Schlüssel. Dabei ist es unerheblich, wie dieses erste gemeinsame Geheimnis K etabliert worden ist. Dies könnte bspw. mit Hilfe des weiter unten beschriebenen Verfahrens erfolgen, aber auch mit alternativen Schlüsseletablierungsmechanismen – z. B. einem Diffie-Hellman-Schlüsselaustausch – oder mittels einer manuellen Einbringung des entsprechenden Geheimnisses K in den ersten Knoten 11 oder den zweiten Knoten 12.
-
Das erste Geheimnis K soll nun geeignet aufgefrischt werden, um seine Lebensdauer zu begrenzen und damit den Grad der erreichbaren Sicherheit zu erhöhen. Dies soll derart erfolgen, dass die anderen Teilnehmer – hier: der dritte Knoten 13 und der vierte Knoten 14 –, die ebenfalls Zugriff auf das gemeinsam genutzte Übertragungsmedium 10 haben, das neue Geheimnis – im Folgenden: zweite Geheimnis KR – nicht ohne Weiteres kennen (können). Der prinzipielle erfindungsgemäße Ablauf hierfür gestaltet sich wie in 2 dargestellt:
Die Auffrischungsphase wird durch ein bestimmtes Trigger-Ereignis 21 ausgelöst. Hierbei sind verschiedene Trigger-Ereignisse 21 denkbar, wie z. B. eventbasierte Trigger, z. B. beim Start oder Stopp eines Fahrzeugs, zeitbasierte Trigger, z. B. wiederkehrend nach X Tagen, Stunden oder Monaten, und kommunikationsbasierte Trigger, z. B. nachdem F Rahmen (frames) oder ein bestimmtes Datenvolumen mit dem ersten Geheimnis K gesichert wurden. In Betracht kommt auch die Erkennung eines Zustandes aktuell geringer Auslastung des Kommunikationskanals. So könnte beispielsweise durch ein bestimmtes Nachrichtenmuster detektiert werden, dass sich das Gesamtsystem – z. B. Fahrzeug – in einem Zustand befindet, in dem nur eine geringe Auslastung des Kommunikationsmediums erwartet wird.
-
Nach dem Auftreten des Trigger-Ereignisses 21 startet einer der beiden Knoten 11, 12 – ohne Beschränkung der Allgemeinheit z. B. der erste Knoten 11 – zum nächstmöglichen Zeitpunkt – z. B., wenn sonst keine Kommunikation auf dem Übertragungsmedium 10 stattfindet – die folgende Prozedur zur Etablierung eines gemeinsamen Geheimnisses zwischen dem ersten Knoten 11 und dem zweiten Knoten 12. Dies kann beispielsweise durch das Versenden einer speziellen Nachricht bzw. eines speziellen Nachrichtenheaders erfolgen.
-
Sowohl der erste Knoten 11 als auch der zweite Knoten 12 generieren in einem ersten Teilschritt 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 (kryptografisch sicheren) Pseudozufallszahlengenerators erzeugt. Beispielsweise könnte der erste Knoten 11 die Bitfolge S1 = (0,1,0,0,1,1,0,1,1,1,0,0,1,0,1,1,0,0,1,0) und der zweite Knoten 12 die Bitfolge S2 = (1,0,0,1,0,0,0,1,1,0,1,1,0,1,0,0,1,0,1,1) erzeugen.
-
In einem zweiten Teilschritt übertragen der erste Knoten 11 und der zweite Knoten 12 zueinander weitgehend synchron ihre jeweils erzeugten Bitsequenzen über das gemeinsam genutzte Übertragungsmedium 10 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 11 oder der zweite Knoten 12 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 Nachrichtenkopf (header) übertragen wird – z. B. ein CAN-Header bestehend aus Arbitrierungsfeld und Kontrollfeld – und während der zugehörigen Nutzdatenphase dann beide Knoten 11, 12 gleichzeitig ihre generierten Bitsequenzen weitgehend synchron übermitteln. In einer Variante der Prozedur können die im ersten Teilschritt generierten Bitsequenzen des ersten Knotens 11 oder des zweiten Knotens 12 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 12, 11 wiederum weitgehend synchron.
-
Auf dem geteilten Übertragungsmedium 10 überlagern sich die beiden Bitsequenzen bzw. die zugehörigen Übertragungszustände/Signalpegel dann, wobei aufgrund der zuvor geforderten Eigenschaft des Systems mit der Unterscheidung von dominanten und rezessiven Bits/Übertragungszuständen die einzelnen Bits des ersten Knotens 11 und des zweiten Knotens 12 eine Überlagerung ergeben. 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. Damit ergibt sich auf dem Übertragungskanal eine entsprechende Überlagerung, die beispielsweise auch der mithörende dritte Knoten 13 detektieren könnte. Die UND-Verknüpfung gilt bspw. für CAN, weil der dominante Pegel einer logischen „0” und der rezessive Pegel einer logischen „1” zugeordnet sind. Für andere Kommunikationssysteme kann diese Zuordnung anders sein oder bei höherwertigen Übertragungsverfahren eine andersartige Überlagerung ergeben.
-
Als Beispiel einer Überlagerungsbitfolge für die obigen lokalen Bitfolgen könnte sich auf dem Übertragungskanal die folgende effektive Bitsequenz ergeben: Seff = S1 Λ S2 = (0,0,0,0,0,0,0,1,1,0,0,0,0,0,0,0,0,0,1,0)
-
Sowohl der erste Knoten 11 als auch der zweite Knoten 12 detektieren während der Übertragung ihrer Bitsequenzen des zweiten Teilschritts in einem parallelen dritten Teilschritt die effektiven überlagerten Bitsequenzen auf dem geteilten Übertragungsmedium 10. Für das Beispiel des CAN-Busses wird dies auch in konventionellen Systemen während der Arbitrierungsphase gewöhnlich ohnehin gemacht, bis ein Knoten die Arbitrierung verliert (höhere CAN-ID) und das Senden einstellt. Das hier vorgestellte Verfahren unterscheidet sich von der Arbitrierung unter anderem dahingehend, dass ein Knoten, der eine logische „1” sendet und eine logische ”0” vom Kanal zurück liest, das Senden nicht einstellt. Ein weiterer Unterschied ist, dass hier keine CAN-IDs, sondern zufällig generierte Bitsequenzen übertragen werden und dass diese sowohl nicht-invertiert als auch invertiert übertragen werden.
-
In einem vierten Teilschritt übertragen sowohl der erste Knoten
11 als auch der zweite Knoten
12 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 werden die beiden Sequenzen dann wieder miteinander UND-verknüpft. Der erste Knoten
11 und der zweite Knoten
12 ermitteln wiederum die effektiven, überlagerten Bitsequenzen S
eff auf dem geteilten Übertragungsmedium
10. Für den ersten Knoten
11 würde sich somit die invertierte Bitsequenz
und für den zweiten Knoten
12 die invertierte Bitsequenz
ergeben. Somit würden die Knoten
11,
12 die folgende effektive, überlagerte Bitsequenz auf dem Kanal ermitteln:
-
Sowohl der erste Knoten 11 als auch der zweite Knoten 12 ermitteln während der Übertragung ihrer nun invertierten Bitsequenzen dann wieder die effektiven, überlagerten Bitsequenzen auf dem geteilten Übertragungsmedium 10. Zu diesem Zeitpunkt kennen somit der erste Knoten 11, der zweite Knoten 12 sowie auch ein möglicher Angreifer – z. B. der dritte Knoten 13 –, der die Kommunikation auf dem geteilten Übertragungsmedium 10 mithört, die effektiven, überlagerten Bitsequenzen Seff und S ' / eff. Im Gegensatz zum Angreifer bzw. dritten Knoten 13 kennt aber der erste Knoten 11 noch seine initial erzeugte, lokale Bitsequenz und der zweite Knoten 12 dessen initial erzeugte, lokale Bitsequenz. Der erste Knoten 11 wiederum kennt aber nicht die initial erzeugte, lokale Bitsequenz des zweiten Knotens 12 und der zweite Knoten 12 nicht die initial erzeugte, lokale Bitsequenz des ersten Knotens 11. Die Detektion der Überlagerungsbitfolge erfolgt wiederum während der Übertragung in einem fünften Teilschritt.
-
Alternativ zu dieser beispielhaften Ausführungsvariante können der erste Knoten 11 und der zweite Knoten 12 ihre invertierte, lokale Bitfolge auch direkt mit bzw. direkt nach ihrer ursprünglichen, lokalen Bitfolge versenden, d. h. der vierte Teilschritt und der fünfte Teilschritt erfolgen mit zweiten und dritten Teilschritten. 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 einem sechsten Teilschritt verknüpfen der erste Knoten 11 und der zweite Knoten 12 nun jeweils lokal – also intern – die effektiven, überlagerten Bitfolgen Seff und S ' / eff, insbesondere mit einer logischen ODER-Funktion. Die ODER-Verknüpfung gilt bspw. für CAN, weil der dominante Pegel einer logischen „0” und der rezessive Pegel einer logischen „1” zugeordnet sind. Für andere Kommunikationssysteme kann diese Zuordnung anders sein oder bei höherwertigen Übertragungsverfahren eine andersartige Überlagerung ergeben.
-
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
1 und S
2 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
11 und der zweite Knoten
12 streichen daraufhin in einem siebten Teilschritt 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 der erste Knoten
11 und der zweite Knoten
12 durch Inversion ihrer verkürzten Bitsequenz exakt diejenige verkürzte Bitsequenz ermitteln, welche im jeweils anderen Knoten
12,
11 bereits vorliegt.
-
In einer oder mehreren Runden wird so eine vorgegebene Anzahl J von gemeinsamen geheimen Bits mittels einer öffentlichen Diskussion beim ersten Knoten 11 und zweiten Knoten 12 etabliert, die im Weiteren als Bitfolge S bezeichnet wird. Hierbei ist zu beachten, dass die Anzahl der generierbaren geheimen Bits bei der oben erläuterten Basisprozedur 22 in jeder Runde variieren kann. Dementsprechend müssen genügend viele Runden durchlaufen werden, um mindestens J gemeinsame geheime Bits zu erhalten. Sollte die Anzahl der tatsächlich generierten geheimen Bits dann größer als J sein, sind wiederum verschiedene Optionen denkbar: Der gewonnene Bitstring wird auf genau J Bits gekürzt, z. B. durch das Streichen einzelner Bits oder allgemeiner mit Hilfe einer geeigneten Funktion, die den gewonnenen Bitstring auf einen verkürzten Bitstring der Länge J abbildet, oder es wird einfach mit dem tatsächlich gewonnenen Bitstring einer J überschreitenden Länge weitergearbeitet, auch wenn diese Länge jedes Mal unterschiedlich sein kann. Unabhängig von der gewählten Option wird der resultierende Bitstring im Weiteren immer als T bezeichnet.
-
Der erste Knoten 11 und der zweite Knoten 12 kombinieren (23) das erste Geheimnis nun mit dem neu generierten Bitstring T auf geeignete Art und Weise und erhalten dann ein aufgefrischtes zweites Geheimnis KR, für das folgende Beziehung gilt: KR = f(K, T)
-
Im einfachsten Fall wäre z. B. die schaltalgebraisch durch ein sogenanntes XOR-Gatter umsetzbare Kontravalenz f(K, T) = K ⊕ T eine Option, falls K und T die gleiche Länge besitzen. Eine Kontravalenz ist genau dann wahr, wenn beide durch sie verbundenen Aussagen unterschiedliche Wahrheitswerte haben, das heißt, wenn entweder die eine oder die andere wahr ist, wenn aber nicht beide gleichzeitig wahr oder beide gleichzeitig falsch sind. Eine weitere vorteilhafte Realisierung wäre z. B. die Folgende: f(K, T) = h(K|T)
-
Dabei beschreibt h eine kryptologische Hash-Funktion – z. B. die vom National Institute of Standards and Technology in den USA standardisierte Funktion SHA-3 – und K|T die Konkatenation des ersten Geheimnisses K mit T.
-
Optional stellen der erste Knoten 11 und der zweite Knoten 12 schließlich noch sicher, dass das zweite Geheimnis KR auf beiden Seiten tatsächlich gleich ist. Aufgrund von praktischen Effekten – z. B. Messfehler, Rauschen etc. – bzw. aktiven Angriffen anderer Teilnehmer kann es prinzipiell nämlich vorkommen, dass der neu generierte Bitstring T und somit dann auch das zweite Geheimnis KR nicht identisch sind für den ersten Knoten 11 und zweiten Knoten 12 und somit nicht sinnvoll verwendet werden können. Hierzu berechnen der erste Knoten 11, der zweite Knoten 12 oder sowohl der erste Knoten 11 als auch der zweite Knoten 12 einen geeigneten Kennwert des zweiten Geheimnisses KR, der dann ausgetauscht wird. In einer vorteilhaften Realisierung könnte so ein Kennwert bspw. ein gekürzter Hash-Wert des zweiten Geheimnisses KR sein. Stimmt dieser Kennwert nicht überein, so bestehen wiederum verschiedene Möglichkeiten, z. B. die Prozedur zur Geheimnisauffrischung zu wiederholen. Sollte nach L Wiederholungen immer noch keine erfolgreiche Auffrischung möglich sein, kann dann eine entsprechende Warnung ausgegeben werden, im Falle eines Fahrzeugnetzwerkes beispielsweise eine entsprechende Indikation an den Fahrer des Fahrzeuges bzw. die Werkstatt oder den Hersteller. Gemäß einer alternativen Möglichkeit wird das erste Geheimnis K als Rückfalllösung weiterverwendet.
-
Bei erfolgreichem Abschluss der Geheimnisauffrischung wird fortan das zweite Geheimnis KR zur Absicherung der Kommunikation zwischen dem ersten Knoten 11 und zweiten Knoten 12 verwendet. Somit ergibt sich die Anordnung gemäß 3.
-
Alternativ zu dem zuvor beschriebenen Verfahren 20 sind folgende Realisierungen für ein Re-Keying der Geheimnisse K des ersten Knotens 11 und des zweiten Knotens 12 vorstellbar:
Der erste Knoten 11 und der zweite Knoten 12 etablieren bei Auslösung eines Trigger-Ereignisses 21 ein vollständig neues zweites Geheimnis KR mit Hilfe des oben beschriebenen Grundverfahrens, d. h. insbesondere die Verknüpfung der neu generierten Bits mit dem ersten Geheimnis K (Schritt 23) fällt weg.
-
Der erste Knoten 11 oder der zweite Knoten 12 generieren zunächst lokal ein zufälliges zweites Geheimnis KR. Dieses zweite Geheimnis KR wird dann mit Hilfe des – gemäß der oben beschriebenen Basisprozedur 22 etablierten – ersten Geheimnisses K verschlüsselt übertragen. Fortan wird dann entweder direkt das so übertragene zweite Geheimnis KR verwendet oder dieses zweite Geheimnis KR wird mit dem ersten Geheimnis K analog zu Schritt 23 des zuvor geschilderten Verfahrens 20 verknüpft und dann im Weiteren als Basis für kryptographische Verfahren verwendet.
-
Dieses Verfahren 20 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]