DE102015219993A1 - Verfahren und Vorrichtung zum Erzeugen eines gemeinsamen Geheimnisses vorgegebener Länge - Google Patents

Verfahren und Vorrichtung zum Erzeugen eines gemeinsamen Geheimnisses vorgegebener Länge Download PDF

Info

Publication number
DE102015219993A1
DE102015219993A1 DE102015219993.2A DE102015219993A DE102015219993A1 DE 102015219993 A1 DE102015219993 A1 DE 102015219993A1 DE 102015219993 A DE102015219993 A DE 102015219993A DE 102015219993 A1 DE102015219993 A1 DE 102015219993A1
Authority
DE
Germany
Prior art keywords
node
bit sequence
secret
bits
procedure
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
DE102015219993.2A
Other languages
English (en)
Other versions
DE102015219993B4 (de
Inventor
Andreas Mueller
Thorsten SCHWEPP
Christian Horst
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Robert Bosch GmbH
Original Assignee
Robert Bosch GmbH
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Robert Bosch GmbH filed Critical Robert Bosch GmbH
Priority to DE102015219993.2A priority Critical patent/DE102015219993B4/de
Priority to PCT/EP2016/074217 priority patent/WO2017064003A1/de
Publication of DE102015219993A1 publication Critical patent/DE102015219993A1/de
Application granted granted Critical
Publication of DE102015219993B4 publication Critical patent/DE102015219993B4/de
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/06Network architectures or network communication protocols for network security for supporting key management in a packet data network
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/06Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols the encryption apparatus using shift registers or memories for block-wise or stream coding, e.g. DES systems or RC4; Hash functions; Pseudorandom sequence generators
    • H04L9/0643Hash functions, e.g. MD5, SHA, HMAC or f9 MAC
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/08Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
    • H04L9/0816Key establishment, i.e. cryptographic processes or cryptographic protocols whereby a shared secret becomes available to two or more parties, for subsequent use
    • H04L9/0838Key agreement, i.e. key establishment technique in which a shared key is derived by parties as a function of information contributed by, or associated with, each of these
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/12Transmitting and receiving encryption devices synchronised or initially set up in a particular manner

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Computer Hardware Design (AREA)
  • Computing Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Power Engineering (AREA)
  • Storage Device Security (AREA)
  • Small-Scale Networks (AREA)

Abstract

Verfahren (30) zum Erzeugen eines gemeinsamen Geheimnisses, gekennzeichnet durch folgende Merkmale: – in einer ersten Überlagerungsphase (31) sendet (33) der erste Knoten eine erste Bitfolge, der zweite Knoten sendet (34) weitestgehend synchron dazu eine zweite Bitfolge und der erste Knoten und der zweite Knoten detektieren zeitgleich eine effektive dritte Bitfolge, zu welcher sich die erste Bitfolge und die zweite Bitfolge auf dem Medium stellenweise überlagern, – in einer zweiten Überlagerungsphase (32) sendet (35) der erste Knoten die erste Bitfolge stellenweise invertiert, der zweite Knoten sendet (36) weitestgehend synchron dazu die zweite Bitfolge stellenweise invertiert und der erste Knoten und der zweite Knoten detektieren zeitgleich eine effektive vierte Bitfolge, zu welcher sich die invertierte erste Bitfolge und die invertierte zweite Bitfolge überlagern, – der erste Knoten und der zweite Knoten verknüpfen (37) die dritte Bitfolge stellenweise mit der vierten Bitfolge zu einer fünften Bitfolge, – der erste Knoten und der zweite Knoten ergänzen (38) ein erstes Geheimnis, indem der erste Knoten Bits der ersten Bitfolge und der zweite Knoten entsprechende Bits der zweiten Bitfolge streicht, welche gemäß der fünften Bitfolge ziffernwertmäßig übereinstimmen und – die Überlagerungsphasen (31, 32), das Verknüpfen (37) und das Ergänzen (38) des ersten Geheimnisses werden wiederholt (39), bis das erste Geheimnis eine vorgegebene erste Länge erreicht.

Description

  • 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 Seff auf dem geteilten Medium 10, 20. Für den ersten Knoten A würde sich somit die invertierte Bitsequenz
    Figure DE102015219993A1_0002
    und für den zweiten Knoten B die invertierte Bitsequenz
    Figure DE102015219993A1_0003
    ergeben. Somit würden die Knoten A, B die folgende effektive, überlagerte Bitsequenz auf dem Kanal ermitteln:
    Figure DE102015219993A1_0004
  • 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 3336 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 Sges geben nun an, ob die entsprechenden Bits von SA und SE identisch oder unterschiedlich sind. Das Bit ,1' in Sges zeigt dabei an, dass das Bit an der entsprechenden Position in SA und SB identisch ist wohingegen das Bit ,0' anzeigt, dass das Bit an der entsprechenden Position in SA und SB 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
    Figure DE102015219993A1_0005
    und
    Figure DE102015219993A1_0006
  • Die resultierenden, verkürzten Bitsequenzen
    Figure DE102015219993A1_0007
    und
    Figure DE102015219993A1_0008
    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 3138 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 3138 übertragbaren initialen sowie invertierten Zufallsbits. Es ist zu beachten, dass es bei der Basisprozedur 3138 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 3138 nun wie folgt vorgegangen werden:
    In einem ersten Schritt erfolgt eine wiederholte (39) Durchführung der Basisprozedur 3138, 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 3138 gibt es ebenfalls wieder verschiedene Möglichkeiten:
    In einer ersten Variante unterliegt die Durchführung jeder Basisprozedur 3138 demselben Medienzugriffsverfahren wie die Übertragung beliebiger anderer Nachrichten auch. Im Fall von CAN beispielsweise sollte in diesem Fall vor der Initiierung einer neuen Basisprozedur 3138 immer zuerst eine Überlagerungsphase erfolgreich durchlaufen werden.
  • In einer zweiten Variante ist mit der Durchführung der ersten Basisprozedur 3138 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 3138 nicht die normalen Medienzugriffsmechanismen – z. B. Busarbitrierung – beachten und können im Prinzip jederzeit eine weitere Basisprozedur 3138 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 3138 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 3138 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]

Claims (10)

  1. Verfahren (30) zum Erzeugen eines gemeinsamen Geheimnisses in einem Kommunikationssystem (10, 20, A, B, C) mit einem ersten Knoten (A), einem zweiten Knoten (B) und einem von den Knoten gemeinsam genutzten Medium (10, 20), gekennzeichnet durch folgende Merkmale: – in einer ersten Überlagerungsphase (31) sendet (33) der erste Knoten (A) eine erste Bitfolge, der zweite Knoten (B) sendet (34) weitestgehend synchron dazu eine zweite Bitfolge und der erste Knoten (A) und der zweite Knoten (B) detektieren zeitgleich eine effektive dritte Bitfolge, zu welcher sich die erste Bitfolge und die zweite Bitfolge auf dem Medium (10, 20) stellenweise überlagern, – in einer zweiten Überlagerungsphase (32) sendet (35) der erste Knoten (A) die erste Bitfolge stellenweise invertiert, der zweite Knoten (B) sendet (36) weitestgehend synchron dazu die zweite Bitfolge stellenweise invertiert und der erste Knoten (A) und der zweite Knoten (B) detektieren zeitgleich eine effektive vierte Bitfolge, zu welcher sich die invertierte erste Bitfolge und die invertierte zweite Bitfolge überlagern, – der erste Knoten (A) und der zweite Knoten (B) verknüpfen (37) die dritte Bitfolge stellenweise mit der vierten Bitfolge zu einer fünften Bitfolge, – der erste Knoten (A) und der zweite Knoten (B) ergänzen (38) ein erstes Geheimnis, indem der erste Knoten (A) Bits der ersten Bitfolge und der zweite Knoten (B) entsprechende Bits der zweiten Bitfolge streicht, welche gemäß der fünften Bitfolge ziffernwertmäßig übereinstimmen und – die Überlagerungsphasen (31, 32), das Verknüpfen (37) und das Ergänzen (38) des ersten Geheimnisses werden wiederholt (39), bis das erste Geheimnis eine vorgegebene erste Länge erreicht.
  2. Verfahren (30) nach Anspruch 1, gekennzeichnet durch folgendes Merkmal: – ein schreibender Zugriff auf das Medium (10, 20) durch an dem Verfahren (30) unbeteiligte dritte Knoten (C) wird vor der ersten Überlagerungsphase (31) einstweilen gesperrt.
  3. Verfahren (30) nach Anspruch 2, gekennzeichnet durch mindestens eines der folgenden Merkmale: – der erste Knoten (A) oder der zweite Knoten (B) geben den Zugriff insbesondere mit Hilfe einer speziellen Nachricht frei, sobald die erste Länge erreicht ist, – die dritten Knoten (C) nehmen den Zugriff selbsttätig wieder auf, sobald der erste Knoten (A) und der zweite Knoten (B) über eine vorgegebene Zeitspanne nicht kommunizieren, – die dritten Knoten (C) nehmen den Zugriff selbsttätig wieder auf, sobald der erste Knoten (A) und der zweite Knoten (B) über eine vorgegebene Zeitspanne nicht in eine der Überlagerungsphasen (31, 32) eintreten oder – die dritten Knoten (C) verfolgen über das Medium (10, 20) das Ergänzen (38) und nehmen den Zugriff selbsttätig wieder auf, sobald die vorgegebene erste Länge für das Geheimnis zwischen dem ersten Knoten (A) und dem zweiten Knoten (B) erreicht ist.
  4. Verfahren (30) nach Anspruch 1, gekennzeichnet durch folgendes Merkmal: – der erste Knoten (A) und der zweite Knoten (B) greifen fortwährend auf das Medium (10, 20) zu, bis die erste Länge für das gemeinsame Geheimnis erreicht ist.
  5. Verfahren (30) nach einem der Ansprüche 1 bis 4, gekennzeichnet durch folgendes Merkmal: – der erste Knoten (A) und der zweite Knoten (B) bilden das erste Geheimnis jeweils eindeutig auf ein zweites Geheimnis einer implementierungsspezifischen zweiten Länge ab.
  6. Verfahren (30) nach Anspruch 5, gekennzeichnet durch mindestens eines der folgenden Merkmale: – das Abbilden erfolgt mittels einer kryptographischen Hash-Funktion, insbesondere MD5, SHA-1, SHA-2 oder SHA-3, oder – das Abbilden erfolgt, indem übereinstimmend eine der zweiten Länge entsprechende Anzahl beliebig vorgegebener Bits des ersten Geheimnisses ausgewählt wird.
  7. Verfahren (30) nach Anspruch 5 oder 6, gekennzeichnet durch folgendes Merkmal: – falls die zweite Länge eine gewünschte dritte Länge überschreitet, wird übereinstimmend eine der dritten Länge entsprechende Anzahl beliebig vorgegebener Bits des zweiten Geheimnisses ausgewählt oder die Bits werden geeignet miteinander verknüpft.
  8. Computerprogramm, welches eingerichtet ist, das Verfahren (30) nach einem der Ansprüche 1 bis 7 auszuführen.
  9. Maschinenlesbares Speichermedium, auf dem das Computerprogramm nach Anspruch 8 gespeichert ist.
  10. Vorrichtung (A, B, C), die eingerichtet ist, das Verfahren (30) nach einem der Ansprüche 1 bis 7 auszuführen.
DE102015219993.2A 2015-10-15 2015-10-15 Verfahren und Vorrichtung zum Erzeugen eines gemeinsamen Geheimnisses vorgegebener Länge Active DE102015219993B4 (de)

Priority Applications (2)

Application Number Priority Date Filing Date Title
DE102015219993.2A DE102015219993B4 (de) 2015-10-15 2015-10-15 Verfahren und Vorrichtung zum Erzeugen eines gemeinsamen Geheimnisses vorgegebener Länge
PCT/EP2016/074217 WO2017064003A1 (de) 2015-10-15 2016-10-10 Verfahren und vorrichtung zum erzeugen eines gemeinsamen geheimnisses vorgegebener länge

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
DE102015219993.2A DE102015219993B4 (de) 2015-10-15 2015-10-15 Verfahren und Vorrichtung zum Erzeugen eines gemeinsamen Geheimnisses vorgegebener Länge

Publications (2)

Publication Number Publication Date
DE102015219993A1 true DE102015219993A1 (de) 2017-04-20
DE102015219993B4 DE102015219993B4 (de) 2023-11-30

Family

ID=57138045

Family Applications (1)

Application Number Title Priority Date Filing Date
DE102015219993.2A Active DE102015219993B4 (de) 2015-10-15 2015-10-15 Verfahren und Vorrichtung zum Erzeugen eines gemeinsamen Geheimnisses vorgegebener Länge

Country Status (2)

Country Link
DE (1) DE102015219993B4 (de)
WO (1) WO2017064003A1 (de)

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE102012215326A1 (de) 2012-08-29 2014-03-06 Robert Bosch Gmbh Verfahren und Vorrichtung zur Ermittlung eines kryptografischen Schlüssels in einem Netzwerk

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE102015220038A1 (de) 2015-05-22 2016-11-24 Robert Bosch Gmbh Verfahren zur Erzeugung eines Geheimnisses oder Schlüssels in einem Netzwerk

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE102012215326A1 (de) 2012-08-29 2014-03-06 Robert Bosch Gmbh Verfahren und Vorrichtung zur Ermittlung eines kryptografischen Schlüssels in einem Netzwerk

Also Published As

Publication number Publication date
DE102015219993B4 (de) 2023-11-30
WO2017064003A1 (de) 2017-04-20

Similar Documents

Publication Publication Date Title
EP3138258B1 (de) Verfahren zur erzeugung eines geheimnisses oder eines schlüssels in einem netzwerk
DE102014208975A1 (de) Verfahren zur Generierung eines Schlüssels in einem Netzwerk sowie Teilnehmer an einem Netzwerk und Netzwerk
DE102008046563A1 (de) Verfahren zur Datenübertragung zwischen Netzwerkknoten
DE102015220038A1 (de) Verfahren zur Erzeugung eines Geheimnisses oder Schlüssels in einem Netzwerk
EP3363145B1 (de) Verfahren und vorrichtung zur erzeugung eines gemeinsamen geheimnisses
DE102016208451A1 (de) Verfahren zur Erzeugung eines Geheimnisses oder eines Schlüssels in einem Netzwerk
DE102014208964A1 (de) Verfahren zur Generierung eines Schlüssels in einem Netzwerk sowie dazu eingerichtete Teilnehmer des Netzwerkes
DE102015219993B4 (de) Verfahren und Vorrichtung zum Erzeugen eines gemeinsamen Geheimnisses vorgegebener Länge
WO2016188667A1 (de) Verfahren zur erzeugung eines geheimnisses oder schlüssels in einem netzwerk
DE102015219989A1 (de) Verfahren und Vorrichtung zur Auffrischung eines gemeinsamen Geheimnisses, insbesondere eines symmetrischen kryptographischen Schlüssels, zwischen einem ersten Knoten und einem zweiten Knoten eines Kommunikationssystems
EP3363144B1 (de) Verfahren und vorrichtung zum etablieren eines gemeinsamen geheimnisses
DE102015219997B4 (de) Verfahren und Vorrichtung zur Erzeugung eines gemeinsamen Geheimnisses
WO2017064124A1 (de) Schaltungsanordnung zur erzeugung eines geheimnisses oder schlüssels in einem netzwerk
DE102015220055A1 (de) Verfahren zur Erzeugung eines Geheimnisses oder Schlüssels in einem Netzwerk
WO2017064006A1 (de) Verfahren und vorrichtung zum erzeugen eines gemeinsamen schlüssels in einem feldbussystem
DE102016208453A1 (de) Verfahren zur Erzeugung eines Geheimnisses oder eines Schlüssels in einem Netzwerk
WO2017064125A1 (de) Verfahren zur erzeugung eines geheimnisses oder schlüssels in einem netzwerk
WO2017064067A1 (de) Verfahren zur generierung eines schlüssels in einem netzwerk und zur aktivierung einer absicherung einer kommunikation in dem netzwerk auf basis des schlüssels
WO2017064129A1 (de) Verfahren zur erzeugung eines geheimnisses für eine einmalverschlüsselung in einem netzwerk
WO2017064025A1 (de) Verfahren zur erzeugung eines geheimnisses oder schlüssels in einem netzwerk
DE102015220081A1 (de) Verfahren zur Erzeugung eines Schlüssels in einer Schaltungsanordnung
EP3001597B1 (de) Verfahren zur Verschlüsselung von Daten
DE102014212038A1 (de) Netzwerksystem mit Ende-zu-Ende Verschlüsselung
DE102016208452A1 (de) Verfahren zur Erzeugung eines Geheimnisses oder eines Schlüssels in einem Netzwerk
WO2017064131A1 (de) Verfahren zur erzeugung eines geheimnisses oder schlüssels in einem netzwerk

Legal Events

Date Code Title Description
R083 Amendment of/additions to inventor(s)
R012 Request for examination validly filed
R016 Response to examination communication
R018 Grant decision by examination section/examining division