DE102015220014A1 - Verfahren zur Generierung eines Geheimnisses in einem Netzwerk - Google Patents

Verfahren zur Generierung eines Geheimnisses in einem Netzwerk Download PDF

Info

Publication number
DE102015220014A1
DE102015220014A1 DE102015220014.0A DE102015220014A DE102015220014A1 DE 102015220014 A1 DE102015220014 A1 DE 102015220014A1 DE 102015220014 A DE102015220014 A DE 102015220014A DE 102015220014 A1 DE102015220014 A1 DE 102015220014A1
Authority
DE
Germany
Prior art keywords
participants
secret
participant
value sequence
subscriber
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.)
Pending
Application number
DE102015220014.0A
Other languages
English (en)
Inventor
Florian Hartwich
Christian Horst
Franz Bailer
Timo Lothspeich
Arthur Mutter
Andreas Mueller
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 DE102015220014.0A priority Critical patent/DE102015220014A1/de
Priority to PCT/EP2016/074225 priority patent/WO2017064010A1/de
Publication of DE102015220014A1 publication Critical patent/DE102015220014A1/de
Pending legal-status Critical Current

Links

Images

Classifications

    • 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
    • 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
    • H04L2209/00Additional information or applications relating to cryptographic mechanisms or cryptographic arrangements for secret or secure communication H04L9/00
    • H04L2209/84Vehicles

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Small-Scale Networks (AREA)

Abstract

Die Erfindung betrifft ein Verfahren zur Generierung eines Geheimnisses in einem Netzwerk (20), wobei das Netzwerk (20) mindestens einen ersten und einen zweiten Teilnehmer (21, 22) mit einem gemeinsamen Übertragungskanal (30) zwischen mindestens dem ersten und dem zweiten Teilnehmer (21, 22) und einen Administrator (23) aufweist, wobei ein Geheimnis zwischen dem ersten und dem zweiten Teilnehmer (21, 22) nach einem Verfahren zur Generierung eines Geheimnisses basierend auf einer Überlagerung von dominanten und rezessiven Signalen gewonnen wird, wenn dies von dem Administrator (23) angestoßen wurde (C1.3).

Description

  • Die vorliegende Erfindung betrifft ein Verfahren zur Generierung eines Geheimnisses in einem Netzwerk mit wenigstens zwei Teilnehmern, sowie ein Netzwerk, eine Recheneinheit und ein Computerprogramm zu dessen Durchführung.
  • Stand der Technik
  • Von der Anmelderin wurde in der nachveröffentlichten DE 10 2015 207 220 A1 ein Verfahren zur Generierung eines Geheimnisses oder Schlüssels in einem Netzwerk vorgestellt, welches sich einer Überlagerung von Signalen zweier Teilnehmer auf einem gemeinsamen Übertragungsmedium bedient. Hierbei weist das Netzwerk mindestens einen ersten und einen zweiten Teilnehmer und einen Übertragungskanal zwischen mindestens dem ersten und dem zweiten Teilnehmer auf. Der erste und der zweite Teilnehmer können jeweils mindestens einen ersten Wert und einen zweiten Wert auf den Übertragungskanal geben. Der erste Teilnehmer und der zweite Teilnehmer veranlassen eine erste Teilnehmerwertfolge bzw. eine zweite Teilnehmerwertfolge zur zueinander weitgehend synchronen Übertragung auf den Übertragungskanal. Auf Basis von Informationen über die erste Teilnehmerwertfolge bzw. die zweite Teilnehmerwertfolge sowie auf Basis einer aus einer Überlagerung der ersten Teilnehmerwertfolge mit der zweiten Teilnehmerwertfolge auf dem Übertragungskanal resultierenden Überlagerungswertfolge generieren der erste Teilnehmer bzw. der zweite Teilnehmer ein gemeinsames Geheimnis oder einen gemeinsamen Schlüssel.
  • Offenbarung der Erfindung
  • Erfindungsgemäß werden ein Verfahren zur Generierung eines Geheimnisses in einem Netzwerk mit wenigstens zwei Teilnehmern, sowie ein Netzwerk, eine Recheneinheit und ein Computerprogramm zu dessen Durchführung mit den Merkmalen der unabhängigen Patentansprüche vorgeschlagen. Vorteilhafte Ausgestaltungen sind Gegenstand der Unteransprüche sowie der nachfolgenden Beschreibung.
  • Im Rahmen der Erfindung werden Methoden beschrieben, bei denen durch Veranlassung eines mit zwei Teilnehmern (z.B. ein Steuergerät, ein Sensor oder ein Aktor, insbesondere eines Kraftfahrzeugs, einer Industrieanlage, eines Heimautomationsnetzes usw.) in datenübertragender Verbindung stehenden Administrators (z.B. übergeordnetes Steuergerät o.ä.) ein gemeinsames Geheimnis zwischen den zwei Teilnehmern eines Netzwerks mit einem gemeinsamen Übertragungskanal zwischen zumindest den zwei Teilnehmern etabliert wird. Dabei muss der Administrator sich nicht zwangsweise von den Teilnehmern unterscheiden. Vielmehr können einige oder alle Administrationsschritte auch von einem der Teilnehmer durchgeführt werden.
  • Die Erfindung ermöglicht einen definierten Ablauf der Geheimnisgenerierung auch in realen Umgebungen mit zahlreichen Teilnehmern mit ggf. auch unterschiedlichen Hierarchiestufen.
  • Mit der Erfindung ist es möglich, zwischen zwei verschiedenen Teilnehmern eines Netzwerks ein gemeinsames Geheimnis zu etablieren, welches insbesondere zur Generierung eines symmetrischen kryptographischen Schlüssels herangezogen werden kann. Ein solches gemeinsames Geheimnis kann aber grundsätzlich auch zu anderen Zwecken als für kryptographische Schlüssel im engeren Sinne genutzt werden, z.B. als One-Time-Pad.
  • Vorzugsweise wird ein Verfahren zur Generierung eines Geheimnisses basierend auf einer Überlagerung von dominanten und rezessiven Signalen, beispielsweise gemäß der DE 10 2015 207 220 A1 eingesetzt, wobei das Netzwerk mindestens einen ersten und einen zweiten Teilnehmer und einen Übertragungskanal zwischen mindestens dem ersten und dem zweiten Teilnehmer aufweist.
  • Der erste und der zweite Teilnehmer können jeweils mindestens einen ersten Wert und einen zweiten Wert auf den Übertragungskanal geben. Der erste Teilnehmer bzw. der zweite Teilnehmer veranlassen eine erste Teilnehmerwertfolge bzw. eine zweite Teilnehmerwertfolge zur zueinander weitgehend synchronen Übertragung auf den Übertragungskanal. Auf Basis von Informationen über die erste Teilnehmerwertfolge bzw. die zweite Teilnehmerwertfolge sowie auf Basis einer aus einer Überlagerung der ersten Teilnehmerwertfolge mit der zweiten Teilnehmerwertfolge auf dem Übertragungskanal resultierenden Überlagerungswertfolge generieren der erste Teilnehmer bzw. der zweite Teilnehmer ein gemeinsames Geheimnis.
  • Besonders vorteilhaft kann das Verfahren in einem Netzwerk eingesetzt werden, in dem es einen dominanten Wert (physikalisch: ein dominantes Signal) gibt, der sich durchsetzt, wenn nur ein Teilnehmer ihn auf dem Übertragungsmedium anlegt, und einen rezessiven Wert (physikalisch: ein rezessives Signal), der auf dem Übertragungsmedium nur resultiert, wenn beide bzw. alle Teilnehmer einen rezessiven Wert übertragen. Aufgrund der hiermit klar vorgegebenen Überlagerungsregeln können die Teilnehmer eines solchen Netzwerks aus resultierenden Überlagerungswertfolgen besonders einfach Informationen zur Geheimnisgenerierung ableiten.
  • Alternativ kann die Übertragung eines rezessiven Wertes von mindestens einem der Teilnehmer auch dadurch ersetzt werden, dass an dieser Stelle der Wertfolge bzw. als einer der mindestens zwei möglichen Werte gar nichts übertragen wird.
  • Die Erfindung stellt einen Ansatz zur Generierung symmetrischer, kryptographischer Schlüssel zwischen zwei Knoten unter Ausnutzung von Eigenschaften der Bitübertragungsschicht dar. Der Ansatz eignet sich insbesondere für Drahtgebundene und optische Kommunikationssysteme, sofern diese ‘On-Off-Keying’ bzw. eine bitweise Bus-Arbitrierung unterstützen (z.B. CAN, TTCAN, CAN-FD, LIN, I2C). Aber auch in drahtlosen, (funkbasierten) Kommunikationssystemen, vorzugsweise mit einer sehr kurzen Distanz zwischen Sender und Empfänger und einer möglichen direkten Sichtverbindung, kann der Ansatz verwendet werden.
  • Grundsätzlich bieten sich für einen Einsatz alle Kommunikationssystemen an, die eine Unterscheidung von dominanten und rezessiven Signalen (wie oben beschrieben) ermöglichen. Die hier beschriebenen Verfahren können damit bei einer Vielzahl von drahtlosen, drahtgebundenen und optischen Kommunikationssystemen eingesetzt werden kann. Besonders interessant ist der beschriebene Ansatz dabei für die Maschine-zu-Maschine-Kommunikation, also für die Übertragung von Daten zwischen verschiedenen Sensoren, Aktuatoren, etc., die im Allgemeinen nur über sehr begrenzte Ressourcen verfügen und ggf. nicht mit vertretbarem Aufwand manuell im Feld konfiguriert werden können.
  • Weitere Einsatzmöglichkeiten gibt es beispielsweise in der Heim- und Gebäudeautomatisierung, der Telemedizin, Car-to-X-Systemen oder der industriellen Automatisierungstechnik. Besonders interessant ist auch der Einsatz bei zukünftigen Kleinst-Sensoren mit Funkschnittstelle sowie in allen Anwendungsbereichen des CAN-Busses, d.h. insbesondere der Fahrzeugvernetzung oder der Automatisierungstechnik.
  • Eine erfindungsgemäßer Teilnehmer, z.B. ein Steuergerät, ein Sensor oder ein Aktor, insbesondere eines Kraftfahrzeugs, einer Industrieanlage, eines Heimautomationsnetzes usw., ist, insbesondere programmtechnisch, dazu eingerichtet, ein erfindungsgemäßes Verfahren durchzuführen.
  • Auch die Implementierung des Verfahrens in Form eines Computerprogramms ist vorteilhaft, da dies besonders geringe Kosten verursacht, insbesondere wenn ein ausführendes Steuergerät noch für weitere Aufgaben genutzt wird und daher ohnehin vorhanden ist. Geeignete Datenträger zur Bereitstellung des Computerprogramms sind insbesondere magnetische, optische und elektrische Speicher, wie z.B. Festplatten, Flash-Speicher, EEPROMs, DVDs u.a.m. Auch ein Download eines Programms über Computernetze (Internet, Intranet usw.) ist möglich.
  • Weitere Vorteile und Ausgestaltungen der Erfindung ergeben sich aus der Beschreibung und der beiliegenden Zeichnung.
  • Die Erfindung ist anhand von Ausführungsbeispielen in der Zeichnung schematisch dargestellt und wird im Folgenden unter Bezugnahme auf die Zeichnung beschrieben.
  • Kurze Beschreibung der Zeichnungen
  • 1 zeigt schematisch den Aufbau eines beispielhaften, zugrundeliegenden Kommunikationssystems.
  • 2 zeigt schematisch einen linearen Bus als Beispiel eines zugrundeliegenden Kommunikationssystems.
  • 3 zeigt schematisch den Ablauf eines ersten bevorzugten Verfahrens zur Geheimnisgenerierung zwischen zwei Teilnehmern eines Netzwerks.
  • 4 zeigt schematisch den Ablauf eines zweiten bevorzugten Verfahrens zur Geheimnisgenerierung zwischen zwei Teilnehmern eines Netzwerks.
  • 5 zeigt schematisch den Ablauf eines dritten bevorzugten Verfahrens zur Geheimnisgenerierung zwischen zwei Teilnehmern eines Netzwerks.
  • 6 zeigt schematisch den Ablauf eines vierten bevorzugten Verfahrens zur Geheimnisgenerierung zwischen zwei Teilnehmern eines Netzwerks.
  • 7 zeigt schematisch den Ablauf eines beispielhaften Verfahrens zur verschlüsselten Kommunikation zwischen zwei Teilnehmern eines Netzwerks.
  • 8 zeigt eine bevorzugte Ausführungsform einer Schaltungsanordnung, welche für die Erfindung vorteilhaft eingesetzt werden kann.
  • Ausführungsform(en) der Erfindung
  • Im Folgenden wird eine Anordnung betrachtet, wie sie abstrakt in 1 dargestellt ist. Dabei können verschiedene Teilnehmer 1, 2 und 3 über ein so genanntes geteiltes Übertragungsmedium ("shared medium") 10 miteinander kommunizieren.
  • In einer vorteilhaften Ausprägung der Erfindung entspricht dieses geteilte Übertragungsmedium einem linearen Bus (drahtgebunden oder optisch) 30, wie er beispielhaft in 2 dargestellt ist. Ein Netzwerk 20 in 2 besteht aus eben diesem linearen Bus 30 als geteiltes Übertragungsmedium (beispielsweise als drahtgebundener Übertragungskanal), Teilnehmern bzw. Knoten 21, 22 und 23 sowie (optionalen) Busterminierungen 31 und 32.
  • Im Folgenden wird für die Kommunikation zwischen den verschiedenen Knoten 21, 22 und 23 angenommen, dass sie durch die Unterscheidung von dominanten und rezessiven Werten gekennzeichnet ist. In diesem Beispiel werden als mögliche Werte die Bits '0' und '1' angenommen. Dabei kann ein dominantes Bit (z.B. das logische Bit '0') ein gleichzeitig übertragenes rezessives Bit (z.B. das logische Bit '1') quasi verdrängen bzw. überschreiben.
  • Unter Ausnutzung dieser Eigenschaften des Übertragungsverfahrens des Kommunikationssystems kann eine Schlüsselgenerierung zwischen zwei Teilnehmern eines entsprechenden Netzwerks nun erfolgen, indem die Teilnehmer eine Überlagerung von Bitfolgen der beiden Teilnehmer auf dem Übertragungsmedium detektieren und aus dieser Information gemeinsam mit Informationen über die selbst gesendete Bitfolge einen gemeinsamen (symmetrischen), geheimen Schlüssel erzeugen.
  • Die Übertragung von Werten unterschiedlicher Teilnehmer muss dabei überschneidende Zeiträume haben (d.h. im Sinne dieser Anmeldung weitgehend synchron sein), so dass eine Überlagerung der einzelnen Signale einer Signalfolge auf dem Übertragungsmedium erfolgt, insbesondere so, dass sich das Signal entsprechend dem n-ten logischen Wert bzw. Bit des ersten Teilnehmers mit dem Signal entsprechend dem n-ten logischen Wert bzw. Bit des zweiten Teilnehmers zumindest teilweise überlagert. Diese Überlagerung sollte jeweils dafür ausreichend lange sein, dass die Teilnehmer die Überlagerung erfassen bzw. den entsprechenden Überlagerungswert ermitteln können.
  • Der Überlagerungswert kann dabei durch Arbitrierungsmechanismen oder durch physikalische Signalüberlagerung bestimmt sein. Mit Arbitrierungsmechanismus ist beispielsweise der Fall gemeint, dass ein Teilnehmer einen rezessiven Pegel angelegt hat, aber auf dem Bus einen dominanten Pegel detektiert und somit die weitere Übertragung unterlässt.
  • Aus der resultierenden Wertfolge der Überlagerung (d.h. Überlagerungswertfolge) und der eigenen Wertfolge (d.h. Teilnehmerwertfolge) können die Teilnehmer dann einen Schlüssel generieren, der einem außenstehenden Angreifer gegenüber geheim ist. Grund dafür ist, dass der außenstehende Angreifer, der beispielsweise die auf dem gemeinsam genutzten Übertragungsmedium anliegenden effektiven Gesamtsignale abhören kann, nur die Überlagerung der Wertfolgen sieht, aber nicht die Informationen über die einzelnen Wertfolgen der Teilnehmer hat. Damit verfügen die Teilnehmer über mehr Informationen, die sie gegenüber dem Angreifer zur Generierung eines geheimen Schlüssels nutzen können.
  • Eine beispielhafte, besonders bevorzugte Realisierung wird im Folgenden unter Bezugnahme auf die 3 bis 6 erläutert, in denen unterschiedliche bevorzugte Varianten eines erfindungsgemäßen Verfahrens zur Generierung eines Geheimnisses zwischen den zwei Teilnehmern 21 und 22 ("Alice" und "Bob") in dem Netzwerk 20 unter Verwaltung bzw. Administration des als Administrator fungierenden Teilnehmers 23 ("Carol") dargestellt sind.
  • Einer oder beide Teilnehmer 21 und 23 können für die Durchführung der Erfindung insbesondere eine mit einem hier als CAN-Bus 1 ausgebildeten Netzwerk bzw. Kommunikationssystem verbundene Schaltungsanordnung 100 aufweisen, wie sie in 8 dargestellt ist. Bei dem dargestellten CAN-Bus handelt es sich um einen Zweidraht-Bus mit zwei Leitungen CAN-H (High) und CAN-L (Low). Ein CAN-Bus mit nur einer Leitung ist auch möglich. Die Erfindung lässt sich jedoch auch für andere Kommunikationssysteme, die eine Übertragung von dominanten und rezessiven Signalen zulassen, verwenden. Dies gilt insbesondere für LIN- oder I2C-basierte Kommunikationssysteme.
  • Die Schaltungsanordnung 100 ist mit dem CAN-Bus 1 physikalisch über einen Bustreiber-Baustein bzw. einen Transceiver-Baustein 90 verbunden. Die Schaltungsanordnung 100 verfügt weiterhin über eine als Mikroprozessor 10 ausgebildete zentrale Recheneinheit, einen hier als CAN-Controller 20 ausgebildeten Netzwerkschnittstellen-Baustein, ein Sicherheitsmodul 30, ein Sende- und Empfangsmodul 40, einen Multiplexer- bzw. Verteiler-Baustein 50, ein Kommunikationssystem (Host IF (Interface)) 60 und ein Sicherheitskommunikationssystem (Secure IF) 70, z.B. jeweils in Form eines On-Chip-Bussystems oder einer Crossbar.
  • Die Komponenten 1050 sowie Kommunikationssysteme 60 und 70 können auch Bestandteil eines Mikrocontrollers 90 sein, was in 1 durch eine gestrichelte Linie angedeutet ist.
  • Das Sende- und Empfangsmodul 40 ist dazu eingerichtet, zum Zwecke einer einer Geheimnisgenerierung dienenden Netzwerkkommunikation CAN-Rahmen bzw. Nachrichten zur Erzeugung eines gemeinsamen Geheimnisses zwischen einem die Schaltungsanordnung 100 enthaltenden Teilnehmer und einem weiteren Teilnehmer auf Grundlage einer zufälligen Zeichenfolge zu erzeugen, die das Sende- und Empfangsmodul 40, insbesondere bitweise, von dem Sicherheitsmodul 30 erhält.
  • Das Sende- und Empfangsmodul 40 ist hier dazu eingerichtet, die CAN-Rahmen über Verbindungen Tx an den Multiplexer-Baustein 50 zu übergeben, welcher mit dem Bustreiber-Baustein 90 verbunden ist.
  • Der CAN-Controller 20 ist dazu eingerichtet, zum Zwecke einer nicht einer Geheimnisgenerierung dienenden Netzwerkkommunikation CAN-Rahmen bzw. Nachrichten zu erzeugen und über Verbindungen Tx an den Multiplexer-Baustein 50 zu übergeben.
  • Das Sende- und Empfangsmodul 40 ist zweckmäßigerweise im Unterschied zum CAN-Controller 20 dazu eingerichtet, wahlweise das Abbrechen einer Übertragung zu unterlassen, falls ein anderswertiges Bit vom CAN-Bus 1 zurück gelesen wird, als das Sende- und Empfangsmodul 40 gesendet hat.
  • Durch entsprechende (feste oder umschaltbare) Konfiguration des Multiplexer-Bausteins 50 kann eine wahlfreie Verbindung des CAN-Controllers 20 und/oder des Sende- und Empfangsmoduls 40 mit dem Bustreiber-Baustein 90 hergestellt werden. In einfacher Ausgestaltung kann es sich um eine Verknüpfung handeln, bei der der CAN-Controller 20 und das Sende- und Empfangsmodul 40 gleichzeitig empfangen, die Empfangsrichtung also parallel verknüpft ist, und auch beide senden können, die Senderichtung also auch parallel verknüpft ist. Gewünschtenfalls kann eine Signalflusskontrolle vorgesehen sein, die ein gleichzeitiges Senden verhindert.
  • Vom CAN-Controller 20 verläuft eine optionale Triggerleitung zum Sende- und Empfangsmodul 40. Diese dient dazu, dass der CAN-Controller 20 ein entsprechendes Trigger-Signal an das Sende- und Empfangsmodul 40 ausgegeben kann, wenn er eine eine Geheimnisgenerierung anfordernde Nachricht auf dem CAN-Bus 1 feststellt. Alternativ ist das Sende- und Empfangsmodul dazu eingerichtet, die normale Kommunikation auf dem CAN-Bus 1 mitzuhören und die Botschaften selbst geeignet zu interpretieren. So kann das Sende- und Empfangsmodul 40 bei Feststellen einer eine Geheimnisgenerierung anfordernden Nachricht die Geheimnisgenerierung selbst starten. Die Triggerleitung kann in dieser Ausgestaltung entfallen. In einer bevorzugten Ausführungsform wird das Triggersignal von der zentralen Recheneinheit oder dem Sicherheitsmodul – über eine eigene Triggerleitung oder vorzugsweise über das Kommunikationssystem (Host-IF bzw. Secure-IF) – ausgegeben.
  • Für einen herkömmlichen Sendevorgang schreibt die zentrale Recheneinheit 10 die Nutzdaten (insbesondere den Identifier; die Festlegung, ob dieser Frame ein Daten- oder Remote-Transmission Request-Frame ist; die Angabe, wie viele Datenbytes gesendet werden sollen und die auszusendenden Datenbytes) in den Sende-Datenpuffer des CAN-Controllers 20, der diese dann für die Übertragung auf dem Bus 1 vorbereitet und den kompletten Frame zum Transceiver-Baustein 90 überträgt, der für die direkte Busankopplung verantwortlich ist. Das heißt, der CAN-Controller 20 entlastet die zentrale Recheneinheit 10 von allen Datenübertragungsarbeiten, da er die Zusammenstellung der Botschaft, die Berechnung der CRC-Summe, den Zugriff auf den Bus (die Busarbitrierung), das Aussenden des Frames und die Fehlerüberprüfung selbstständig übernimmt.
  • Eine Geheimnisgenerierung kann nun z.B. durch Empfang einer eine Geheimnisgenerierung anfordernden Nachricht ausgelöst werden.
  • Gemäß einer bevorzugten Ausführungsform der Erfindung ist das Sicherheitsmodul 30 dazu eingerichtet, mittels eines vorzugsweise nicht deterministischen Zufallsgenerators eine zufällige Bitfolge als Zeichenfolge zu erzeugen und an das Sende- und Empfangsmodul 40 bitweise zu übertragen.
  • Das Sende- und Empfangsmodul 40 nimmt die einzelnen Bitwerte der Bitfolge als erste Teilwertfolge entgegen und invertiert diese, um eine zweite Teilwertfolge zu erzeugen. Anschließend wird aus der ersten Teilwertfolge und der zweiten Teilwertfolge nach Maßgabe einer Konstruktionsvorschrift eine Teilnehmerwertfolge für die Übertragung auf den CAN-Bus 1 erzeugt. Gemäß einer besonders bevorzugten Konstruktionsvorschrift werden jeweils ein Bit der ersten Teilwertfolge und das zugehörige invertierte Bit der zweiten Teilwertfolge zu Bitpaaren kombiniert und unmittelbar nacheinander übertragen.
  • Bei einer Überlagerung mit einem Bitpaar eines zweiten Teilnehmers führt dies dazu, dass das sich ergebende Überlagerungsbitpaar aus zwei dominanten Bits ('00' bei CAN) besteht, wenn die Bits der beiden Teilnehmer unterschiedlich sind, und das Überlagerungsbitpaar mit dem Bitpaar identisch ist, wenn die Bits der jeweiligen ersten Teilwertfolge der beiden Teilnehmer identisch sind. Die Überlagerungsbitpaare werden in der gezeigten Ausführungsform vom Sende- und Empfangsmodul 40 rückgelesen. Alternativ ist das Zurücklesen auch über den vom CAN-Controller 20 möglich.
  • Die Überlagerungsbitpaare können an das Sicherheitsmodul 30 (z.B. vom Sende- und Empfangsmodul 40 oder vom CAN-Controller 20) übertragen und dort ausgewertet werden. Alternativ kann auch das Sende- und Empfangsmodul 40 zur Auswertung eingerichtet sein. Die Auswertung umfasst insbesondere, die Anzahl der rezessiven Bits in jedem Überlagerungsbitpaar zu überprüfen (und im Falle des Sende- und Empfangsmoduls 40 an das Sicherheitsmodul 30 rückzumelden). Die Anzahl kann 0 oder 1 sein, wobei in der hier beschriebenen Variante 0 bedeutet, dass das Bit des anderen Teilnehmers sich von dem soeben übertragenen Bit der Bitfolge unterscheidet, und 1 bedeutet, dass das Bit des anderen Teilnehmers identisch mit dem soeben übertragenen Bit der Bitfolge ist.
  • Auf diese Weise kann das Sicherheitsmodul 30 die Teilnehmerwertfolge des zweiten Teilnehmers ermitteln und anschließend, insbesondere gemäß der einleitend referenzierten DE 10 2015 207 220 A1 ein gemeinsames Geheimnis mit dem zweiten Teilnehmer erzeugen.
  • In den 3 bis 6 sind die Administrationsschritte des Teilnehmers 23 jeweils in der linken Spalte der Figur und die von den beiden Teilnehmern 21, 22 ausgeführten Schritte in der rechten Spalte der Figur dargestellt. Die Teilnehmer 21 und 22 führen ihre jeweiligen gleich bezeichneten Schritte gleichzeitig oder im Wesentlichen gleichzeitig (ggf. mit einem geringen Jitter behaftet) aus. Zwischen dem Administrator einerseits und den beiden Teilnehmern andererseits ausgetauschte Informationen sind zwischen den Spalten ebenfalls dargestellt.
  • In einem ersten Administrationsschritt C1.1 sendet Teilnehmer 23 an Teilnehmer 21 und Teilnehmer 22 eine Aufforderung, dass sie ein gemeinsames Geheimnis etablieren sollen:
    Dieser Schritt kann bspw. über eine Aufforderungsnachricht, die über das gemeinsam genutzte Kommunikationsmedium gesendet wird, realisiert werden. Die Aufforderungsnachricht kann in einer Ablaufsteuerung (bspw. innerhalb eines Mikroprozessors oder innerhalb eines gegebenenfalls vorhandenen Sicherheitsmoduls generiert und an eine Komponente zur Übertragung gegeben werden. Bei dieser Komponente kann es sich beispielweise um einen üblichen Netzwerkschnittstellen-Baustein (z.B. CAN-Controller) oder um ein spezifisch für die Geheimnisgenerierung vorhandenes Sende- und Empfangsmodul handeln. Diese Komponenten kommunizieren zweckmäßigerweise mit einem Bustreiber-Baustein, der die physikalische Kommunikation abwickelt.
  • Alternativ kann auch die Komponente zur Übertragung eine Recheneinheit aufweisen und dazu ausgebildet bzw. eingerichtet sein, die Aufforderungsnachricht selbst zu erzeugen.
  • Es sei darauf hingewiesen, dass es nicht erforderlich ist, das gemeinsam genutzte Kommunikationsmedium zur Übertragung der Aufforderungsnachricht zu verwenden oder dieselbe Übermittlungsmöglichkeit für Teilnehmer 21 und Teilnehmer 22 zu nutzen.
  • In einem Administrationsschritt C1.2 empfängt Teilnehmer 23 eine Rückmeldung sowohl von Teilnehmer 21 als auch Teilnehmer 22, dass diese zur Etablierung des gemeinsamen Geheimnisses bereit sind:
    Dieser Schritt kann bspw. über eine Rückmeldenachricht, die über das gemeinsam genutzte Kommunikationsmedium empfangen wird, realisiert werden. Die Rückmeldenachricht kann über die Komponente zur Übertragung empfangen werden und (falls notwendig) über ein geeignetes teilnehmerinternes Interface an eine Recheneinheit (bspw. Mikroprozessor oder Sicherheitsmodul) weitergegeben werden. Alternativ kann auch die Komponente zur Übertragung eine Recheneinheit aufweisen.
  • Es sei darauf hingewiesen, dass es nicht erforderlich ist, das gemeinsam genutzte Kommunikationsmedium zur Übertragung der Rückmeldenachricht zu verwenden oder dieselbe Übermittlungsmöglichkeit für Teilnehmer 21 und Teilnehmer 22 zu nutzen. Es ist auch nicht erforderlich, das in Schritt C1.1 genutzte Kommunikationsmedium zu verwenden.
  • Vorzugsweise ist in diesem Schritt C1.2 ein Abbruchkriterium implementiert, um bspw. bei einem zu langen Ausbleiben der Rückmeldenachricht ("Timeout") oder bei Empfang einer Abbruchnachricht anstelle der Rückmeldenachricht den Vorgang abzubrechen (C1.5).
  • In einem Administrationsschritt C1.3 wird das Verfahren zur Schlüsselgenerierung in den beiden Teilnehmern angestoßen. Dies kann über eine Anstoßnachricht realisiert werden. Hinsichtlich der Übertragung dieser Anstoßnachricht gilt das bereits zu der Aufforderungsnachricht und Rückmeldenachricht Ausgeführte.
  • In einem optionalen Administrationsschritt C1.4 empfängt Teilnehmer 23 eine Abschlussnachricht, welche den erfolgreichen Abschluss der Geheimnisgenerierung durch Teilnehmer 21 und Teilnehmer 22 anzeigt. Anschließend endet das Verfahren.
  • In einem optionalen Administrationsschritt C1.5 empfängt Teilnehmer 23 anstelle der Rückmeldenachricht keine Nachricht ("Timeout") oder eine Abbruchnachricht von Teilnehmer 21 und/oder Teilnehmer 22, dass die Etablierung des gemeinsamen Geheimnisses abgebrochen wurde (d.h. nicht erfolgreich war). Anschließend endet das Verfahren. Zusätzlich können die Teilnehmer 21 und 22 über den Abbruch informiert werden.
  • Im Folgenden werden nun die von Teilnehmer 21 und Teilnehmer 22 ausgeführten Schritte erläutert, deren zeitliche Ordnung sich aus den Figuren ergibt.
  • In einem ersten Schritt A&B1.1 erhalten Teilnehmer 21 und Teilnehmer 22 von Teilnehmer 23 die Aufforderung, dass sie ein gemeinsames Geheimnis etablieren sollen.
  • Dieser Schritt kann – wie erläutert, über die Aufforderungsnachricht realisiert werden. Die Aufforderungsnachricht kann über die Komponente zur Übertragung empfangen werden und (falls notwendig) über ein geeignetes teilnehmerinternes Interface an eine Recheneinheit (bspw. Mikroprozessor oder Sicherheitsmodul) weitergegeben werden. Alternativ könnte auch die Komponente zur Übertragung eine Recheneinheit aufweisen.
  • In einem Schritt A&B1.2 prüfen Teilnehmer 21 und Teilnehmer 22 zunächst, ob sie selbst von der Aufforderung betroffen sind. Sind sie nicht betroffen, endet das Verfahren.
  • Eine geeignete Interpretation der Aufforderung aus Schritt A&B1.1 kann in einer Recheneinheit erfolgen. Diese kann im Mikroprozessor, im Sicherheitsmodul oder in der Komponente zur Übertragung realisiert sein. Dazu muss die Nachricht ggf. über ein entsprechendes teilnehmerinternes Interface (bspw. Host IF oder Secure IF) von der Komponente zur Übertragung an die Recheneinheit weitergeleitet werden.
  • In einem optionalen Schritt A&B1.3 werden von Teilnehmer 21 und Teilnehmer 22 vorbereitende Aufgaben durchgeführt.
  • In diesem Schritt können ggf. zusätzliche Konfigurationen/Einstellungen (bspw. für die Komponente zur Übertragung) durchgeführt werden und/oder bspw. zusätzliche Informationen (bspw. zufälliger Bitstring) generiert und/oder bereitgestellt werden. In einer vorteilhaften Implementierung wird der zufällige Bitstring durch das Sicherheitsmodul erzeugt und über ein geeignetes Interface (bspw. Secure IF) der Komponente zur Übertragung zur Verfügung gestellt. Alternativ ist es auch denkbar, dass der zufällige Bitstring durch den Mikroprozessor oder die Komponente zur Übertragung selbst erzeugt wird.
  • In einem Schritt A&B1.4 wird an Teilnehmer 23 rückgemeldet, dass Teilnehmer 21 und Teilnehmer 22 zur Generierung des gemeinsamen Geheimnisses bereit sind.
  • Dieser Schritt kann – wie erläutert – über die Rückmeldenachricht realisiert werden. Die Rückmeldenachricht kann in einer Ablaufsteuerung (bspw. innerhalb eines Mikroprozessors oder innerhalb eines gegebenenfalls vorhandenen Sicherheitsmoduls generiert und an eine Komponente zur Übertragung gegeben werden. Diese Komponenten kommunizieren zweckmäßigerweise mit einem Bustreiber-Baustein, der die physikalische Kommunikation abwickelt.
  • Alternativ kann auch die Komponente zur Übertragung eine Recheneinheit aufweisen und dazu ausgebildet bzw. eingerichtet sein, die Rückmeldenachricht selbst zu erzeugen.
  • In einem Schritt A&B1.5 wird das Verfahren zur Schlüsselgenerierung in Teilnehmer 21 und Teilnehmer 22 angestoßen. Dies kann – wie erläutert – durch die Anstoßnachricht von Teilnehmer 23 geschehen. Für den Empfang der Anstoßnachricht gilt das bereits zur Aufforderungsnachricht und Rückmeldenachricht Vorgetragene. Wird die Anstoßnachricht von einem Netzwerkschnittstellen-Baustein als Komponente zur Übertragung empfangen, kann von dem Netzwerkschnittstellen-Baustein eine teilnehmerinterne Anstoßnachricht ("Triggersignal") an ein Sende- und Empfangsmodul weitergeleitet werden. Alternativ kann die Anstoßnachricht an eine geeignete Recheneinheit (bspw. Mikroprozessor oder Sicherheitsmodul) weitergeleitet werden, die die Anstoßnachricht interpretiert und dann wiederrum über ein geeignetes teilnehmerinternes Interface (Host IF oder Secure IF) die Information über das Anstoßen an das Sende- und Empfangsmodul weitergibt.
  • Vorzugsweise ist in diesem Schritt ein Abbruchkriterium implementiert, um bspw. bei einem zu langen Ausbleiben ("Timeout") des Anstoßens nach dem Auffordern den Vorgang abzubrechen (A&B1.6).
  • In einem optionalen Schritt A&B1.6 empfangen Teilnehmer 21 und Teilnehmer 22 anstelle der Anstoßnachricht keine Nachricht ("Timeout") oder Teilnehmer 21 und/oder Teilnehmer 22 informieren Teilnehmer 23 darüber, dass die Etablierung des gemeinsamen Geheimnisses (aus einem beliebigen Grund) abgebrochen wurde (d.h. nicht erfolgreich war). Anschließend endet das Verfahren.
  • In einem optionalen Schritt A&B1.7 kann der Ablauf einer (ggf. zuvor konfigurierten) Wartezeit abgewartet werden, bevor mit Schritt A&B1.8 fortgefahren wird. Der Wartevorgang kann insbesondere im Sende- und Empfangsmodul implementiert sein. Die Wartezeit kann bspw. in Form einer Zeiteinheit (relativ: "warte für x Sekunden" – oder absolut: "warte bis y:z Uhr") oder bspw. in Form einer Anzahl von empfangenen Botschaften gegeben sein. Die Wartezeit kann für Teilnehmer 21 und Teilnehmer 22 unterschiedlich sein. Die Wartezeit kann eingesetzt werden, um dafür zu sorgen, dass die beiden Nachrichten exakt gleichzeitig gestartet werden.
  • In der Schritt A&B1.8 wird die zur Erzeugung eines gemeinsamen Geheimnisses basierend auf einem Verfahren zum Erzeugen eines Geheimnisses basierend auf einer Überlagerung von dominanten und rezessiven Signalen, vorzugsweise gemäß der bereits referenzierten DE 10 2015 207 220 A1 , notwendige Netzwerkkommunikation zwischen Teilnehmer 21 und Teilnehmer 22 abgewickelt. Dazu gehören u.a. das Aussenden von in eine oder mehrere Nachrichten verpackten Teilnehmerwertfolgen als geheimnisrelevanter Anteil der der Geheimnisgenerierung dienenden Daten und das Zurücklesen einer Überlagerungswertfolge.
  • Eine Weiterbildung des Verfahren zur Geheimnisgenerierung zwischen den Teilnehmern basierend auf einer Überlagerung von dominanten und rezessiven Signalen sieht vor, dass die erste Teilnehmerwertfolge und die zweite Teilnehmerwertfolge jeweils eine erste Teilwertfolge und eine zweite Teilwertfolge aufweisen, wobei die zweite Teilwertfolge aus der ersten Teilwertfolge durch Invertieren hervorgeht, d.h. indem erste Werte zu zweiten Werten getauscht werden und zweite Werte zu ersten Werten getauscht werden. Die erste Teilwertfolge und die zweite Teilwertfolge können nacheinander übertragen werden. Alternativ wird ein bevorzugtes Verfahren vorgeschlagen, bei dem die Werte der ersten und der zweiten Teilwertfolge besonders sortiert zu einer Teilnehmerwertfolge zusammengesetzt werden, wobei bereits wenigstens ein Wert der zweiten Teilwertfolge übertragen wird, bevor alle Werte der ersten Teilwertfolge übertragen wurden. Dies ermöglicht, bereits während des Sendens der Teilnehmerwertfolge und Empfangens der Überlagerungswertfolge mit dem Auswerten und Geheimnis- bzw. Schlüsselgenerieren zu beginnen. Die Lösung wird weiterhin unabhängig von Puffer- bzw. Cachespeichergrößen, da nicht komplette Teilwertfolgen gespeichert werden müssen, bevor mit der Auswertung und Geheimnisgenerierung begonnen werden kann.
  • Das Aussenden der Nachricht erfolgt durch die Komponente zur Übertragung und ist vorzugsweise derart geartet, dass sich trotz einer (zumindest partiellen) Überlagerung dennoch auf dem Kanal eine entsprechend dem während der normalen Kommunikation verwendeten Kommunikationsprotokoll gültige Nachricht ohne Fehler ergibt. Hierfür besonders bevorzugte Schritte sind als Unterschritte A&B1.8.1, A&B1.8.2, A&B1.8.3 und A&B1.8.4 dargestellt.
  • In Unterschritt A&B1.8.1 erfolgt eine Prüfung, ob die Arbitrierungsphase verloren geht und das Senden eingestellt werden muss. Insbesondere können mit dem CAN-Bus 1 neben den Teilnehmern 21, 22 und 23 noch weitere Teilnehmer verbunden sein, die eine Kommunikation durchführen wollen. Für die Arbitrierung, d.h. Zugriffsaushandlung, werden zweckmäßigerweise die CAN-eigenen Methoden verwendet, wobei ein Zugriffswunsch der Teilnehmer 21 und 22 auch weniger priorisiert sein kann als ein Zugriffswunsch eines anderen Teilnehmers und dementsprechend nicht erfolgreich ist. Muss das Senden eingestellt werden, kann wahlweise erneut versucht, werden die Schrittgruppe A&B1.8 aufzuführen (dann ggf. mit oder ohne Schritt A&B1.7) oder (bspw. nach einer vorgegebenen Anzahl von erfolglosen Versuchen) der Vorgang in Schritt A&B1.6 abgebrochen werden.
  • Wurde die Arbitrierungsphase gewonnen, werden in den Schritten A&B1.8.2, A&B1.8.3 und A&B1.8.4 protokollkonforme Netzwerknachrichten erzeugt und übertragen. Dazu ist es zweckmäßig, den geheimnisrelevanten Anteil (und optional auch nicht-geheimnisrelevante Anteile) der der Geheimnisgenerierung dienenden Daten im Payload zu senden und Header und Footer, soweit vorhanden, so zu erzeugen, dass eine Nachricht entsteht, die von unbeteiligten Teilnehmern als protokollkonforme Nachricht erkannt wird.
  • In Schritt A&B1.8.2 werden notwendige Stuffing- bzw. Füllbits in die zu übertragenden Nutzdaten eingefügt. Beispielsweise wird bei einer CAN-Übertragung nach fünf gleichen Bits ein inverses Bit als Füllbit eingefügt, um eine monotone Folge zu unterbrechen. Dadurch soll verhindert werden, dass die Übertragung zwischen Sender und Empfänger auseinanderdriftet (z.B. aufgrund von leicht unterschiedlichen Taktsignalen der beteiligten ICs bzw. Kommunikationsteilnehmer).
  • In Schritt A&B1.8.3 wird eine Prüfsumme für die CAN-Nachricht berechnet. Vorzugsweise wird die Prüfsumme dabei auf Grundlage der Überlagerungsbits berechnet, damit unbeteiligte Teilnehmer keine fehlerhafte Übertragung feststellen.
  • In Schritt A&B1.8.4 kann eine Prüfung bzgl. etwaiger Fehler (bspw. eines CRC-Fehlers) erfolgen.
  • Der geheimnisrelevante Anteil der der Geheimnisgenerierung dienenden Daten wird wahlweise vorab konfiguriert (bzw. in dem Sende- und Empfangsmodul zur Übertragung intern erzeugt) oder während der Übertragung durch eine Steuereinheit (bspw. Mikroprozessor, Sicherheitsmodul oder innerhalb des Sende- und Empfangsmoduls) (generiert und) vorgegeben.
  • Ebenfalls denkbar ist eine Kombination der zuvor genannten Möglichkeiten, also teilweise vorab konfiguriert und teilweise während der Übertragung (generiert und) vorgegeben.
  • Das auf dem gemeinsam genutzten Kommunikationskanal entstehende Signal wird von der Komponente zur Übertragung zurückgelesen. Diese zurückgelesenen Information wird zur Berechnung des gemeinsamen Geheimnisses benötigt.
  • Dazu muss die zurück gelesene Nachricht (oder zumindest der zur Berechnung des gemeinsamen Geheimnis relevante Teil) ggf. über eine geeignete Schnittstelle (bspw. Host IF oder Secure IF) an ein Modul weitergeleitet werden, das zur Berechnung des gemeinsamen Geheimnis ausgebildet ist. Desweitern muss dem Modul der zum Senden genutzte, zufällige Bitstring bekannt sein. Vorzugsweise wird das gemeinsame Geheimnis von einem Sicherheitsmodul berechnet. Alternativ können aber auch der Mikroprozessor oder das Sende- und Empfangsmodul zur Berechnung des gemeinsamen Geheimnisses ausgebildet sein.
  • In einem Schritt A&B1.9 wird schließlich sowohl von Teilnehmer 21 als auch von Teilnehmer 22 basierend auf der in der Schrittgruppe A&B1.8 erfolgten Netzwerkkommunikation das gemeinsame Geheimnis berechnet.
  • Vorzugsweise wird das gemeinsame Geheimnis berechnet basierend auf der jeweiligen Teilnehmerwertfolg und der Überlagerungswertfolge. Vorzugsweise wird das gemeinsame Geheimnis von dem Sicherheitsmodul im Teilnehmer berechnet. Alternativ können aber auch der Mikroprozessor oder das Sende- und Empfangsmodul Modul zur Berechnung des gemeinsamen Geheimnisses ausgebildet und eingerichtet sein.
  • In einem optionalen Schritt A&B1.10 zeigen Teilnehmer 21 und Teilnehmer 22 durch Aussenden einer Abschlussnachricht an, dass die Geheimnisgenerierung erfolgreich abgeschlossen wurde. Insbesondere kann die Abschlussnachricht einen Wert enthalten, der Aufschluss über die Länge des (bereits) etablierten gemeinsamen Geheimnisses gibt. Die Länge des (bereits) etablierten gemeinsamen Geheimnisses kann zuvor in Schritt A&B1.9 bestimmt werden.
  • Anschließend endet das Verfahren gemäß 3. Auf Grund der zufallsbedingten Natur von hier relevanten Verfahren zum Erzeugen eines Geheimnisses kann nicht gewährleistet werden, dass mit einmaliger Ausführung des offenbarten Ablaufs gemäß 3 ein ausreichend langes (= eine ausreichende Anzahl an Bit aufweisendes) gemeinsames Geheimnis generiert wird.
  • In Schritt A&B1.9 liegt eine Information über die Länge des bereits etablierten gemeinsamen Geheimnisses vor und kann somit von Teilnehmer 21 und Teilnehmer 22 unabhängig voneinander bestimmt werden. Sollte das bereits etablierte gemeinsame Geheimnis nicht der vorgesehenen/gewünschten Länge entsprechen, ist es durch eine Wiederholung entsprechender Schritte möglich, beliebig lange gemeinsame Geheimnisse zu erzeugen. Mögliche Alternativen sind in den 4 bis 7 gezeigt.
  • In 4 ist dargestellt, dass Schritt A&B1.10 dahingehend modifiziert ist, dass die Abschlussnachricht den Wert enthält, der Aufschluss über die Länge des (bereits) etablierten gemeinsamen Geheimnisses gibt, ohne gleichzeitig den erfolgreichen Abschluss der Geheimnisgenerierung zu melden. Anschließend wird nach dem Schritt A&B1.2 mit dem Verfahren fortgefahren. Schritt C1.4 ist dahingehend modifiziert ist, dass er anhand des in der Abschlussnachricht enthaltenen Werts, der Aufschluss über die Länge des (bereits) etablierten gemeinsamen Geheimnisses gibt, entscheidet, ob das Verfahren beendet wird (bei ausreichend langem Geheimnis) oder mit dem Schritt C1.2 fortgefahren wird (bei nicht ausreichend langem Geheimnis).
  • In 5 ist eine Abwandlung von 4 dargestellt, wobei die Rückmeldung in Schritt A&B1.4 übersprungen wird, da den beteiligten Parteien zu diesem Zeitpunkt die Betroffenheit ja bereits bekannt ist. Schritt C1.4 ist dahingehend modifiziert, dass bei nicht ausreichend langem Geheimnis mit dem Schritt C1.2 fortgefahren wird. Da eine Rückmeldung gemäß Schritt A&B1.4 hier nicht erfolgt, ist Schritt C1.2 so modifiziert, dass er nicht auf die Rückmeldung wartet. Um dennoch ein Abbruchkriterium zu erhalten, ist Schritt C1.2 vorzugsweise dahingehend modifiziert, zu überprüfen, wie oft dieser Schritt bereits durchlaufen wurde und die Anzahl mit einem Abbruchschwellwert zu vergleichen, bei dessen Erreichen zum Abbruchschritt C1.5 verzweigt wird.
  • In 6 ist eine Abwandlung von 4 dargestellt, wobei sowohl die Rückmeldung in Schritt A&B1.4 als auch die Anstoßnachricht und deren Behandlung in den Schritten A&B1.5, A&B1.6 übersprungen werden, da den beteiligten Parteien zu diesem Zeitpunkt die Betroffenheit und der Anstoß bereits bekannt sind. In dieser Ausführungsform ist Schritt C1.4 dahingehend modifiziert, auf eine erfolgreiche Abschlussnachricht gewartet wird.
  • Unter der Bedingung, dass ein burstartiges Verhalten (also ein Aneinanderreihen von Botschaften) zur Etablierung beliebig langer gemeinsamer Geheimnisse zu Grunde gelegt wird, ergibt sich ein nochmals optimierter Ablauf, bei dem Teilnehmer 21 und Teilnehmer 22 lediglich ausgewählte Schritte durchführen müssen und keinerlei administrativer Aufgaben (bspw. durchgeführt von Teilnehmer 23) anfallen. Das burstartige Verhalten kann dabei derart konstruiert sein, dass sich kein anderer Teilnehmer als Teilnehmer 21 und Teilnehmer 22 den Zugriff auf den Kanal sichern kann (bspw. durch Unterschreiten eines etwaigen in der Protokollspezifikation einzuhaltenden Inter-Frame-Gap). In diesem Fall kann bei der Wiederholung der Arbitrierungsschritt A&B1.8.1 entfallen. Kann das burstartige Verhalten unterbrochen werden, ist der Arbitrierungsschritt A&B1.8.1 entsprechend zur Wiedererlangung des Buszugriffs durchzuführen.
  • Nachdem ein ausreichend langes gemeinsames Geheimnis etabliert wurde, können Teilnehmer 21 und Teilnehmer 22 daraus einen symmetrischen kryptografischen Schlüssel ableiten, den es ggf. durch die Kommunikationspartner zu validieren gilt. Nachdem der kryptografische Schlüssel etabliert ist, kann dieser zur Ausführung kryptografischer Primitiven (bspw. zur Wahrung der Vertraulichkeit, zur Prüfung der Authentizität oder zur Sicherung der Datenintegrität) verwendet werden.
  • Ein beispielhafter Ablauf dafür wird im Folgenden unter Bezugnahme auf 7 beschrieben.
  • In einem ersten Schritt A|B1.1 werden von einem der beteiligten Teilnehmer die zu verschlüsselnden Rohdaten erzeugt. Es kann sich dabei beispielsweise um Sensordaten oder Befehlsdaten handeln. Die Rohdaten werden auf Applikationsebene erzeugt (bspw. üblicherweise innerhalb des Mikroprozessors oder unter Umständen in dem Sicherheitsmodul oder einer anderen Einheit).
  • In einem optionalen Schritt A|B1.2 werden, falls das Modul, welches die Rohdaten erzeugt hat, nicht im Besitz des symmetrischen Schlüssels ist, die Rohdaten an eine Komponente weitergeben, die im Besitz des symmetrischen Schlüssels ist. Vorzugsweise ist das Modul, das im Besitz des symmetrischen Schlüssels ist, das Sicherheitsmodul. Optional können Instruktionen übergeben werden, die kennzeichnen, welche kryptografische(n) Primitive(n) auf die Rohdaten angewendet werden soll.
  • In einem Schritt A|B1.3 werden die kryptografischen Primitive berechnet bzw. kryptografische Information (bspw. verschlüsselte Rohdaten oder ein Message Authentication Code) erzeugt.
  • In einem Schritt A|B1.4 werden die Rohdaten und/oder die kryptografischen Information zum Versenden über das gemeinsam genutzte Kommunikationsmedium an die Komponente zur Übertragung (vorzugsweise der CAN-Controller oder alternativ das Sende- und Empfangsmodul) weitergeleitet. Die Weiterleitung kann unter Umständen direkt von dem Sicherheitsmodul oder von dem Sicherheitsmodul über den Mikroprozessort erfolgen.
  • In einem Schritt A|B1.5 werden die Rohdaten und/oder die kryptografische Information über das gemeinsam genutzte Medium gesendet.
  • Für den Empfang einer Botschaft mit kryptografischen Informationen ist zur Entschlüsselung und/oder Verifizierung der Korrektheit das Verfahren in umgekehrter Reihenfolge anzuwenden.
  • Es sei darauf hingewiesen, dass die Beschreibung der bevorzugten Ausführungsformen der Erfindung dazu dient, die Erfindung zu veranschaulichen, und dass in einer konkreten Implementierung bereits bestehende Schritte durch zusätzliche Konfigurationen oder Fehlerbehandlungsschritte erweitert oder weitere Zwischenschritte mit Konfigurationen und Fehlerbehandlungen eingefügt werden können.
  • Es sei weiterhin darauf hingewiesen, dass es ebenfalls möglich ist, ausgewählte Schritte der beschriebenen Abläufe auf andere Teilnehmer zu verteilen (bspw. könnte sich Teilnehmer 23 die administrative Aufgabe mit einem vierten, bisher ungenannten Teilnehmer teilen) oder untereinander anders aufgeteilt werden. Insbesondere ist es auch möglich, dass die Teilnehmer, die ein gemeinsames kryptografisches Geheimnis etablieren sollen (Teilnehmer 21 und 22), zusätzlich administrative Aufgaben übernehmen. Dadurch kommt ggf. ein alternativer Ablauf zu Stande, so dass das Kommunikationsmedium eine geringere Auslastung erfährt. Sollte bspw. Teilnehmer 21 den administrativen Schritt C1.3 übernehmen, so müsste lediglich Teilnehmer 22 eine Rückmeldung an Teilnehmer 21 geben, wobei Teilnehmer 21 intern dem entsprechenden Modul eine Rückmeldung bereitstellen kann, ohne bspw. den gemeinsam genutzten Kommunikationskanal zu belasten, wohingegen bei dem in 3 dargestellten Ablauf sowohl Teilnehmer 21 als auch Teilnehmer 22 eine Rückmeldung an Teilnehmer 23 geben müssen. Sollten Teilnehmer 21 und/oder Teilnehmer 22 administrative Schritte übernehmen, kann dies konsequenterweise dazu führen, dass Teilnehmer 21 und Teilnehmer 22 einen unterschiedlichen Ablauf implementieren müssen und nicht mehr, wie in den 3 bis 8 dargestellt, den gleichen Ablauf.
  • 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 102015207220 A1 [0002, 0007, 0049, 0074]

Claims (19)

  1. Verfahren zur Generierung eines Geheimnisses in einem Netzwerk (20), wobei das Netzwerk (20) mindestens einen ersten und einen zweiten Teilnehmer (21, 22) mit einem gemeinsamen Übertragungskanal (30) zwischen mindestens dem ersten und dem zweiten Teilnehmer (21, 22) und einen Administrator (23) aufweist, wobei ein Geheimnis zwischen dem ersten und dem zweiten Teilnehmer (21, 22) nach einem Verfahren zur Generierung eines Geheimnisses basierend auf einer Überlagerung von dominanten und rezessiven Signalen gewonnen wird, wenn dies von dem Administrator (23) angestoßen wurde (C1.3).
  2. Verfahren nach Anspruch 1, wobei der Administrator (23) zum Anstoßen der Geheimnisgenerierung eine Anstoßnachricht versendet.
  3. Verfahren nach Anspruch 1 oder 2, wobei der Administrator (23) die Geheimnisgenerierung anstößt, nachdem er eine Rückmeldung von dem ersten und dem zweiten Teilnehmer (21, 22), dass diese zur Geheimnisgenerierung bereit sind, erhalten hat (C1.2).
  4. Verfahren nach Anspruch 3, wobei die Rückmeldung in Form einer Rückmeldenachricht erfolgt.
  5. Verfahren nach einem der vorstehenden Ansprüche, wobei der Administrator (23), bevor er die Geheimnisgenerierung anstößt, den ersten und den zweiten Teilnehmer (21, 22) auffordert (C1.1), dass sie ein gemeinsames Geheimnis etablieren sollen.
  6. Verfahren nach Anspruch 5, wobei die Aufforderung in Form einer Aufforderungsnachricht erfolgt.
  7. Verfahren nach Anspruch 5 oder 6, wobei der erste und/oder der zweite Teilnehmer (21, 22) in Reaktion auf die Aufforderung überprüfen, ob sie selbst von der Aufforderung betroffen sind (A&B1.2).
  8. Verfahren nach Anspruch 5, 6 oder 7, wobei der erste und/oder der zweite Teilnehmer (21, 22) in Reaktion auf die Aufforderung dem Administrator (23) eine vorhandene Bereitschaft rückmelden (A&B1.4).
  9. Verfahren nach einem der vorstehenden Ansprüche, wobei der erste und der zweite Teilnehmer (21, 22) den erfolgreichen Abschluss der Geheimnisgenerierung anzeigen (A&B1.10).
  10. Verfahren nach einem der vorstehenden Ansprüche, wobei der erste und der zweite Teilnehmer (21, 22) die Geheimnisgenerierung so oft wiederholen, bis die Kombination aller generierten Geheimnisse eine vorbestimmte Länge hat.
  11. Verfahren nach einem der vorstehenden Ansprüche, wobei der erste und/oder der zweite Teilnehmer (21, 22) aus dem zwischen dem ersten und dem zweiten Teilnehmer (21, 22) einen kryptographischen Schlüssel erzeugen.
  12. Verfahren nach einem der vorstehenden Ansprüche, wobei der erste Teilnehmer (21) und der zweite Teilnehmer (22) jeweils mindestens einen ersten Wert und einen zweiten Wert auf den gemeinsamen Übertragungskanal (30) zwischen dem ersten und dem zweiten Teilnehmer (21, 22) geben können, wobei zur Geheimnisgenerierung der erste Teilnehmer (21) eine erste Teilnehmerwertfolge und der zweite Teilnehmer (22) eine zweite Teilnehmerwertfolge zur zueinander weitgehend synchronen Übertragung auf dem Übertragungskanal (30) veranlassen und wobei der erste Teilnehmer (21) das Geheimnis auf Basis von Informationen über die erste Teilnehmerwertfolge sowie auf Basis einer aus einer Überlagerung der ersten Teilnehmerwertfolge mit der zweiten Teilnehmerwertfolge auf dem Übertragungskanal (30) resultierenden Überlagerungswertfolge und der zweite Teilnehmer (22) das Geheimnis auf Basis von Informationen über die zweite Teilnehmerwertfolge sowie auf Basis der Überlagerungswertfolge generieren.
  13. Verfahren nach Anspruch 12, wobei sich auf dem Übertragungskanal (30) ein Zustand entsprechend dem ersten Wert einstellt, wenn sowohl der erste als auch der zweite Teilnehmer (21, 22) eine Übertragung des ersten Werts über den Übertragungskanal (30) veranlassen, und sich ein Zustand entsprechend dem zweiten Wert einstellt, wenn der erste oder der zweite Teilnehmer (21, 22) oder wenn beide eine Übertragung des zweiten Werts über den Übertragungskanal veranlassen.
  14. Verfahren nach Anspruch 12 oder 13, wobei die erste Teilnehmerwertfolge und die zweite Teilnehmerwertfolge jeweils eine erste Teilwertfolge und eine zweite Teilwertfolge aufweisen, wobei die zweite Teilwertfolge aus der ersten Teilwertfolge hervorgeht, indem erste Werte zu zweiten Werten getauscht werden und zweite Werte zu ersten Werten getauscht werden.
  15. Verfahren nach Anspruch 14, wobei bereits die Übertragung wenigstens eines Werts der zweiten Teilwertfolge auf dem Übertragungskanal (30) veranlasst wird, bevor die Übertragung aller Werte der ersten Teilwertfolge auf dem Übertragungskanal veranlasst wurde.
  16. Netzwerk (20) mit mindestens einem ersten und einem zweiten Teilnehmer (21, 22, 23) und einem Übertragungskanal (30), über welchen der erste mit dem zweiten Teilnehmer (21, 22, 23) kommunizieren kann, wobei das Netzwerk (20) Mittel umfasst, alle Schritte eines Verfahren nach einem der vorstehenden Ansprüche durchzuführen.
  17. Recheneinheit, welche dazu eingerichtet ist, als Teilnehmer oder Administrator (21, 22, 23) an einem Netzwerk (20) nach Anspruch 16 alle teilnehmerspezifischen bzw. administratorspezifischen Schritte eines Verfahrens nach einem der Ansprüche 1 bis 15 durchzuführen.
  18. Computerprogramm, das eine Recheneinheit dazu veranlasst, ein Verfahren nach einem der Ansprüche 1 bis 15 durchzuführen, wenn es auf der Recheneinheit ausgeführt wird.
  19. Maschinenlesbares Speichermedium mit einem darauf gespeicherten Computerprogramm nach Anspruch 18.
DE102015220014.0A 2015-10-15 2015-10-15 Verfahren zur Generierung eines Geheimnisses in einem Netzwerk Pending DE102015220014A1 (de)

Priority Applications (2)

Application Number Priority Date Filing Date Title
DE102015220014.0A DE102015220014A1 (de) 2015-10-15 2015-10-15 Verfahren zur Generierung eines Geheimnisses in einem Netzwerk
PCT/EP2016/074225 WO2017064010A1 (de) 2015-10-15 2016-10-10 Verfahren zur generierung eines geheimnisses in einem netzwerk

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
DE102015220014.0A DE102015220014A1 (de) 2015-10-15 2015-10-15 Verfahren zur Generierung eines Geheimnisses in einem Netzwerk

Publications (1)

Publication Number Publication Date
DE102015220014A1 true DE102015220014A1 (de) 2017-04-20

Family

ID=57121271

Family Applications (1)

Application Number Title Priority Date Filing Date
DE102015220014.0A Pending DE102015220014A1 (de) 2015-10-15 2015-10-15 Verfahren zur Generierung eines Geheimnisses in einem Netzwerk

Country Status (2)

Country Link
DE (1) DE102015220014A1 (de)
WO (1) WO2017064010A1 (de)

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE102015207220A1 (de) 2014-04-28 2015-10-29 Robert Bosch Gmbh Verfahren zur Erzeugung eines Geheimnisses oder eines Schlüssels in einem Netzwerk

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE102008000561A1 (de) * 2008-03-07 2009-09-10 Robert Bosch Gmbh Kommunikationssystem mit einem CAN-Bus und Verfahren zum Betreiben eines solchen Kommunikationssystems
JP2012235427A (ja) * 2011-05-09 2012-11-29 Denso Corp バスコントローラの接続方法および通信システム
DE102012215326A1 (de) * 2012-08-29 2014-03-06 Robert Bosch Gmbh Verfahren und Vorrichtung zur Ermittlung eines kryptografischen Schlüssels in einem Netzwerk

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE102015207220A1 (de) 2014-04-28 2015-10-29 Robert Bosch Gmbh Verfahren zur Erzeugung eines Geheimnisses oder eines Schlüssels in einem Netzwerk

Also Published As

Publication number Publication date
WO2017064010A1 (de) 2017-04-20

Similar Documents

Publication Publication Date Title
EP3138258B1 (de) Verfahren zur erzeugung eines geheimnisses oder eines schlüssels in einem netzwerk
DE102015220038A1 (de) Verfahren zur Erzeugung eines Geheimnisses oder Schlüssels in einem Netzwerk
DE102016208451A1 (de) Verfahren zur Erzeugung eines Geheimnisses oder eines Schlüssels in einem Netzwerk
EP3363145B1 (de) Verfahren und vorrichtung zur erzeugung eines gemeinsamen geheimnisses
EP3298721A1 (de) Verfahren zur erzeugung eines geheimnisses oder schlüssels in einem netzwerk
DE102015220014A1 (de) Verfahren zur Generierung eines Geheimnisses in einem Netzwerk
EP3363146B1 (de) Verfahren zur erzeugung eines schlüssels in einer schaltungsanordnung
WO2017064124A1 (de) Schaltungsanordnung zur erzeugung eines geheimnisses oder schlüssels in einem netzwerk
WO2017064027A1 (de) Verfahren zur erzeugung eines geheimnisses oder schlüssels in einem netzwerk
DE102016208453A1 (de) Verfahren zur Erzeugung eines Geheimnisses oder eines 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
WO2017063995A1 (de) Verfahren zur generierung eines geheimnisses oder schlüssels in einem netzwerk
WO2017063999A1 (de) Schaltungsanordnung zur generierung eines geheimnisses in einem netzwerk
WO2017064025A1 (de) Verfahren zur erzeugung eines geheimnisses oder schlüssels in einem netzwerk
DE102015219997B4 (de) Verfahren und Vorrichtung zur Erzeugung eines gemeinsamen Geheimnisses
DE102015220010A1 (de) Sendemodul zur Verwendung bei der Generierung eines Geheimnisses auf Basis von dominanten und rezessiven Signalen
WO2017064131A1 (de) Verfahren zur erzeugung eines geheimnisses oder schlüssels in einem netzwerk
WO2017064125A1 (de) Verfahren zur erzeugung eines geheimnisses oder schlüssels in einem netzwerk
WO2017064129A1 (de) Verfahren zur erzeugung eines geheimnisses für eine einmalverschlüsselung in einem netzwerk
DE102016208448A1 (de) Verfahren zur Erzeugung eines Geheimnisses oder eines Schlüssels in einem Netzwerk
DE102016208444A1 (de) Verfahren zur Erzeugung eines Geheimnisses oder eines Schlüssels in einem Netzwerk
WO2017064008A1 (de) Verfahren zur generierung eines geheimnisses in einem netzwerk mit mindestens zwei an ein übertragungsmedium angeschlossenen teilnehmern
DE102016208452A1 (de) Verfahren zur Erzeugung eines Geheimnisses oder eines Schlüssels in einem Netzwerk
DE102016208442A1 (de) Verfahren zur Erzeugung eines Geheimnisses oder eines Schlüssels in einem Netzwerk
DE102016208449A1 (de) Verfahren zur Erzeugung eines Geheimnisses oder eines Schlüssels in einem Netzwerk

Legal Events

Date Code Title Description
R012 Request for examination validly filed