-
Technisches Gebiet
-
Die vorliegende Erfindung betrifft ein Verfahren zur Erzeugung eines Geheimnisses wie eines geheimen, kryptographischen Schlüssels in einem Netzwerk, insbesondere die Erzeugung eines gemeinsamen, geheimen Schlüssels in zwei Teilnehmern des Netzwerks. Auch Punkt-zu-Punkt-Verbindungen werden gewöhnlicher Weise zu den Netzwerken gezählt und sollen hier mit diesem Begriff ebenfalls adressiert sein. Dabei kommunizieren die beiden Teilnehmer über ein gemeinsam genutztes Übertragungsmedium. Hierbei werden logische Bitfolgen (bzw. allgemeiner: Wertfolgen) durch entsprechende Übertragungsverfahren als Signale bzw. Signalfolgen physikalisch übertragen. Das zugrundeliegende Kommunikationssystem kann z.B. ein CAN-Bus sein. Dieser sieht eine Übertragung dominanter und rezessiver Bits bzw. entsprechend dominanter und rezessiver Signale vor, wobei sich ein dominantes Signal bzw. Bit eines Teilnehmers des Netzwerks gegen rezessive Signale bzw. Bits durchsetzt. Ein Zustand entsprechend dem rezessiven Signal stellt sich auf dem Übertragungsmedium nur ein, wenn alle beteiligten Teilnehmer ein rezessives Signal zur Übertragung vorsehen bzw. wenn alle gleichzeitig sendenden Teilnehmer einen rezessiven Signalpegel übertragen.
-
Stand der Technik
-
Eine sichere Kommunikation zwischen verschiedenen Geräten wird in einer zunehmend vernetzten Welt immer wichtiger und stellt in vielen Anwendungsbereichen eine wesentliche Voraussetzung für die Akzeptanz und somit auch den wirtschaftlichen Erfolg der entsprechenden Anwendungen dar. Dies umfasst – je nach Anwendung – verschiedene Schutzziele, wie beispielsweise die Wahrung der Vertraulichkeit der zu übertragenden Daten, die gegenseitige Authentifizierung der beteiligten Teilnehmer bzw. 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 Teilnehmer bzw. Knoten, wie z.B. Sensoren, Aktuatoren o.ä. geeignet, die üblicherweise nur über eine relativ geringe Rechenleistung sowie geringen Speicher verfügen und energieeffizient arbeiten sollen, beispielsweise aufgrund von Batteriebetrieb oder dem Einsatz von Energy Harvesting. Darüber hinaus steht oftmals nur eine begrenzte Bandbreite zur Datenübertragung zur Verfügung, was den Austausch von asymmetrischen Schlüsseln mit Längen von 2048 Bit oder noch mehr unattraktiv macht.
-
Bei symmetrischen Verfahren hingegen muss gewährleistet sein, dass sowohl Empfänger als auch Sender über den gleichen Schlüssel verfügen. Das zugehörige Schlüsselmanagement stellt dabei generell eine sehr anspruchsvolle Aufgabe dar. Im Bereich des Mobilfunks werden Schlüssel beispielsweise mit Hilfe von SIM-Karten in ein Mobiltelefon eingebracht und das zugehörige Netz kann dann der eindeutigen Kennung einer SIM-Karte den entsprechenden Schlüssel zuordnen. Im Fall von Wireless LANs hingegen erfolgt üblicherweise eine manuelle Eingabe der zu verwendenden Schlüssel (in der Regel durch die Eingabe eines Passwortes) bei der Einrichtung eines Netzwerkes. Ein solches Schlüsselmanagement wird allerdings schnell sehr aufwändig und impraktikabel wenn man eine sehr große Anzahl von Teilnehmer bzw. Knoten hat, beispielsweise in einem Sensornetzwerk oder anderen Maschine-zu-Maschine-Kommunikationssystemen, z.B. auch CAN-basierten Fahrzeugnetzwerken. Darüber hinaus ist eine Änderung der zu verwendenden Schlüssel oftmals überhaupt nicht bzw. nur mit sehr großem Aufwand möglich.
-
Alternativ zu den herkömmlichen kryptographischen Verfahren zur Generierung symmetrischer kryptografischer Schlüssel für beliebige Vielfachzugriffssysteme wie Bussysteme, insbesondere den CAN-Bus, können geheime Informationen als Grundlage von gemeinsamen Schlüsseln zwischen zwei Parteien ausgehandelt werden, z.B. durch Ausnutzung physikalischer Eigenschaften des Bussystems. Ein hierbei betrachtetes Angreifermodell im Fall eines CAN-Busses kann z.B. vorsehen, dass ein Angreifer lediglich über einen klassischen CAN-Controller Zugriff auf den Bus besitzt. Das heißt insbesondere, dass der Angreifer weder Spannungs- noch Stromverlauf auf dem Bus oder gar diese zwischen zwei Punkten des Busses messen kann, er also keinen direkten, beliebig physikalischen Zugriff auf den Bus besitzt.
-
Aktuell werden typischerweise keine kryptographischen Verfahren auf dem CAN-Bus verwendet. In anderen Bussystemen werden z.T. herkömmliche kryptographische Verfahren in der Anwendungsschicht verwendet, aber typischerweise nicht in darunterliegenden Schichten. Solche Verfahren benötigen meist eine Public-Key-Infrastruktur, um öffentliche Schlüssel aller Beteiligten zentral zu speichern (asymmetrische Verfahren). Bei symmetrischen Verfahren verwenden die legitimen Parteien identische Schlüssel für Ver- und Entschlüsselung. Symmetrische Schlüssel müssen auf einem alternativen, sicheren Weg ausgehandelt bzw. mitgeteilt werden, z. B. durch Einbrennen in Speicher während der Produktion oder durch Abgleich in einem gesicherten Umfeld (Werkstatt o. ä.).
-
Symmetrische Schlüssel können aber wie angesprochen auch über denselben Kommunikationskanal ausgehandelt werden, indem man physikalische Eigenschaften dieses Kanals verwendet. Ein solches Verfahren sollte sicherstellen, dass nur die beteiligten Parteien den Schlüssel kennen, auch wenn die gesamte Kommunikation auf dem Bus von Dritten mitgehört wird.
-
In der
DE 10 2015 207220 senden beispielweise zwei Teilnehmer eines Netzwerks, z.B. eines CAN-Busses weitgehend gleichzeitig Daten über einen gemeinsamen Übertragungskanal. Das Verfahren verwendet die Tatsache, dass bei einem Datenbus, welcher bei Vielfachzugriff eine AND-Verknüpfung der Signale zeigt, dieses Signal in manchen Fällen keinen Rückschluss auf die beiden gleichzeitig gesendeten Signale zulässt. Da die beiden Sender jedoch ihr eigenes gesendetes Signal kennen, können Sie dieses von dem vom Bus zurückgelesenen Gesamtsignal „abziehen“ und so das Sendesignal der Gegenstelle bestimmen. Ebenfalls ist dieser Schrift zu entnehmen, dass die Teilnehmer eine z.B. zufällig gewählte zeitliche Verzögerung ihrer Übertragung (Jitter) vorsehen, um es einem Angreifer, welcher von außen das Übertragungsmedium beobachtet, zu erschweren, aus Laufzeitunterschieden der Teilnehmer Informationen über das Geheimnis zu gewinnen.
-
Für das Verfahren gemäß der
DE 10 2015 207220 muss allerdings im Fall eines CAN-Busses der Bus-Controller in der Form verändert werden, dass dieser trotz einer erkannten Kollision (das ist, wenn zwei oder mehr Parteien gleichzeitig senden und sich damit gegenseitig stören) weiterhin sendet und die Übertragung nicht abbricht, wie das sonst in Medium-Access-Control-Protokollen mit Kollisionsdetektion üblich ist. Z. B. zieht beim CAN-Bus üblicherweise derjenige Controller seine Übertragung vorläufig zurück, dessen (rezessives) Bit während der Arbitrierungsphase von einem dominanten Bit eines anderen Senders überschrieben wurde. Kommt es nach der Arbitrierungsphase zu Kollisionen und treten dadurch Fehler auf, so wird das Paket von den Busteilnehmern für ungültig erklärt.
-
Ein weiterer Stand der Technik ist das sogenannte „CANcrypt“-Verfahren (
„CANcrypt technical functionality, February 26th, 2016, A summary of the technical features used by CANcrypt", abgerufen am 26.04.2016 unter der Webadresse http://www.esacademy.com/blog/2016/02/26/cancrypt-functionality/), welches auf einem CAN-Bus angewendet wird. Dabei bestimmen beide Parteien vorzugsweise eine zufällige Verzögerung, nach welcher sie jeweils ein kurzes Datenpaket mit einer zufällig aus zwei möglichen ausgewählten Kennungen (IDs) senden. Das Senden der jeweiligen Pakete muss nicht direkt aufeinander, allerdings innerhalb eines definierten Zeitrahmens erfolgen. Die Datenpakete enthalten dabei gewollt keine Informationen über den jeweiligen Absender. Abhängig davon, welche Partei welche ID gesendet hat, wird dies von beiden Parteien als ein vorbestimmtes Schlüsselbit („1“ oder „0“) interpretiert und festgelegt. Dabei wird bei übereinstimmenden IDs kein Geheimnis bzw. Schlüsselbit generiert und nur bei abweichenden IDs das Geheimnis abhängig davon generiert, wer welche der beiden IDs gesendet hat. Dieses Verfahren hat im Vergleich zu dem Verfahren der
DE 10 2015 207220 den Vorteil, dass es keine Änderung im CAN-Controller benötigt. Es ist dafür aber deutlich ineffizienter als dieses, weil es selbst im besten Fall für jedes ausgehandelte Bit mindestens zwei gültige Pakete über den Bus sendet.
-
Offenbarung der Erfindung
-
Es werden Verfahren vorgeschlagen, mit denen effizient ein Geheimnis zwischen zwei oder mehreren Teilnehmern eines Netzwerks generiert werden kann, ohne dass eine dritte Partei, welche die Kommunikation im Netzwerk verfolgt, dieses auf einfachem Weg erfahren kann.
-
Hierzu wird vorgeschlagen, dass zur Generierung eines Geheimnisses in einem Netzwerk mit mindestens einem ersten Teilnehmer und einem zweiten Teilnehmer der erste Teilnehmer und der zweite Teilnehmer jeweils eine Nachrichtenübertragung auf einem gemeinsamen Übertragungsmedium des Netzwerkes vorsehen und der erste Teilnehmer und der zweite Teilnehmer jeweils ein zwischen dem ersten Teilnehmer und dem zweiten Teilnehmer geteiltes Geheimnis abhängig davon generieren, welcher der Teilnehmer bei der Nachrichtenübertragung welche aus mindestens zwei Nachrichtenkennungen ausgewählte Nachrichtenkennung verwendet hat.
-
Zumindest einer des ersten und des zweiten Teilnehmers, vorzugsweise beide, bearbeiten nun intern Aufgaben, welche mit der Geheimnisgenerierung zusammen hängen bzw. welche für die Geheimnisgenerierung nötige Schritte darstellen mit gesteigerter Priorität. Das kann insbesondere umfassen, dass Rechenvorgänge oder Speichervorgänge oder Empfangs- oder Sendevorgänge, welche zur Geheimnisgenerierung beitragen mit höherer Priorität als andere Aufgaben durchgeführt werden.
-
Hierdurch kann ein potentieller Angriff auf die Geheimnisgenerierung vermieden bzw. erschwert werden, bei welchem der Angreifer einen der beiden an der Geheimnisgenerierung beteiligten Teilnehmer gezielt mit Aufgaben (z.B. durch Senden von Nachrichten) überlastet und damit darauf schließen kann, dass dieser Teilnehmer derjenige ist, welcher (zumindest. mit höherer Wahrscheinlichkeit) später seine Nachrichtenübertragung durchführt. Eine solche Tendenz kann aber einen Angriff auf das zwischen den Teilnehmern ausgehandelte Geheimnis erleichtern und stellt somit eine Reduzierung der Sicherheit des Verfahrens zur Geheimnisgenerierung dar.
-
Hierzu kann zum Beispiel in einer bevorzugten Ausgestaltung (insbesondere als Software-Realisierung) ein Scheduler im Teilnehmerknoten derartige Aufgaben mit höherer Priorität vorsehen als andere, nicht mit der Geheimnisgenerierung zusammen hängende Aufgaben, insbesondere als Aufgaben, welche nicht (besonders) sicherheitsrelevant (d.h. Safety- oder Security-relevant) sind, oder als andere, von (bezüglich dem Teilnehmerknoten) extern anforderbare Aufgaben. Die Software-Funktionen zur Geheimnisgenerierung in dem jeweiligen Teilnehmerknoten können hierzu insbesondere geeignet gekapselt sein, damit sie gemeinsam mit höherer Priorität bearbeiten werden können. Auch können Aufgaben zur Geheimnisgenerierung mit einem Hinweis auf ihre erhöhte Priorität gekennzeichnet sein.
-
In einer weiteren bevorzugten Ausgestaltung verfügt der Teilnehmerknoten über einen Kommunikationscontroller (im Fall von CAN über einen CAN-Controller). Dieser kann über das gemeinsame Übertragungsmedium der Teilnehmer ankommende Informationen (bzw. Nachrichtenrahmen) bereitstellen. Das Abholen aus dem Kommunikationscontroller zur weiteren Verarbeitung im Teilnehmer wird nun für Informationen (Nachrichtenrahmen), welche die Geheimnisgenerierung betreffen, ebenfalls höher priorisiert als das Abholen bestimmter anderer Informationen, insbesondere nicht sicherheitsrelevanter Informationen. Hierzu können beispielsweise verschiedene Empfangsspeicher eingesetzt werden (z.B. FIFO1 und FIFO2), wobei höher priorisierte Informationen (Nachrichtenrahmen) immer in einen der Empfangsspeicher (z.B. FIFO1) abgelegt werden, aus welchem Informationen gegenüber anderen Empfangsspeichern bevorzugt abgeholt werden.
-
In einer weiteren bevorzugten Variante, werden Informationen (bzw. Nachrichtenrahmen), welche die Geheimnisgenerierung betreffen, zur schnelleren Übertragung vorgesehen. Hierzu können insbesondere derartige Informationen (bzw. Nachrichtenrahmen) bereits vor dem geplanten Sendezeitpunkt in einen Kommunikationscontroller (im Fall eines CAN-Netzwerkes in einem CAN-Controller) vorgeladen werden, ohne dass diese bereits gesendet werden. Das kann beispielsweise geschehen, indem die Informationen (Nachrichtenrahmen) bereits in einem Sendespeicher des Kommunikationscontrollers abgelegt werden, aber noch keine entsprechende Sendeanforderung gesetzt wird. Wird in einem der Teilnehmer für die Geheimnisgenerierung ein Nachrichteninhalt, insbesondere eine Nachrichtenkennung anhand einer Zufallszahl bestimmt, so kann durch das Erzeugen bzw. Heranziehen einer längeren Zufallszahl der Nachrichteninhalt bzw. die Nachrichtenkennungen für gleich mehrere zukünftig zu übertragende Nachrichten zur Geheimnisgenerierung erzeugt werden und diese mehrere Nachrichten können entsprechend im Kommunikationscontroller vorgeladen werden. Für das schnellere Übertragen von Informationen (Nachrichtenrahmen) zur Geheimnisgenerierung oder für das Vorladen entsprechender Informationen (Nachrichtenrahmen) kann der Teilnehmer, insbesondere sein Kommunikationscontroller, über einen separaten, hierfür reservierten Ausgangsspeicher (z.B. FIFO) verfügen.
-
Pro Zeitrahmen müssen weniger zur Geheimnisgenerierung notwendige Aufgaben durchführt werden. Dadurch ist die Recheneinheit des Teilnehmers entlastet und die übrigen zur Geheimnisgenerierung notwendigen Aufgaben sind schneller abgearbeitet. Folglich ist solch ein System weniger anfällig für Angriffe, die darauf abzielen, einen Knoten auszulasten, damit dieser Nachrichten zur Geheimnisgenerierung verzögert sendet.
-
Die beschriebenen Verfahren sind besonders gut in einem CAN-, TTCAN- oder CAN-FD-Bussystem umzusetzen. Hier wird ein rezessiver Buspegel durch einen dominanten Buspegel verdrängt. Die Überlagerung von Werten bzw. Signalen der Teilnehmer folgt damit festgelegten Regeln, welche die Teilnehmer zur Ableitung von Informationen aus dem überlagerten Wert bzw. Signal und dem von ihnen übertragenen Wert bzw. Signal nutzen können. Auch andere Kommunikationssysteme wie LIN und I2C sind für einen Einsatz dieser Verfahren gut geeignet.
-
Ein Netzwerk oder ein Teilnehmer eines Netzwerks sind hierzu eingerichtet, indem sie über elektronische Speicher- und Rechenressourcen verfügen, die Schritte eines entsprechenden Verfahrens auszuführen. Auf einem Speichermedium eines solchen Teilnehmers oder auf den verteilten Speicherressourcen eines Netzwerks kann auch ein Computerprogramm abgelegt sein, dass dazu eingerichtet ist, alle Schritte eines entsprechenden Verfahrens auszuführen, wenn es in dem Teilnehmer oder in dem Netzwerk abgearbeitet wird.
-
Zeichnung
-
Nachfolgend ist die Erfindung unter Bezugnahme auf die beiliegende Zeichnung und anhand von Ausführungsbeispielen näher beschrieben. Dabei zeigt 1 schematisch den Ablauf eines beispielhaften Verfahrens zur Geheimnis- bzw. Schlüsselgenerierung zwischen zwei Teilnehmern eines Netzwerks.
-
Beschreibung der Ausführungsbeispiele
-
Die vorliegende Erfindung bezieht sich auf ein Verfahren zur Generierung eines Geheimnisses wie (geheimer) symmetrischer kryptographischer Schlüssel zwischen zwei Knoten eines Kommunikationssystems (Teilnehmer eines Netzwerkes), die über ein gemeinsam genutztes Medium (Übertragungskanal des Netzwerks) miteinander kommunizieren. Die Generierung bzw. Aushandlung des Geheimnisses, insbesondere der kryptographischen Schlüssel basiert dabei auf einem öffentlichen Datenaustausch zwischen den zwei Teilnehmern, wobei es einem möglichen mithörenden Dritten als Angreifer aber dennoch nicht oder nur sehr schwer möglich ist, Rückschlüsse auf die generierten Schlüssel zu ziehen.
-
Mit der Erfindung ist es somit möglich, zwischen zwei verschiedenen Teilnehmern eines Netzwerks vollständig automatisiert und sicher entsprechende symmetrische kryptographische Schlüssel zu etablieren, um darauf aufbauend dann bestimmte Sicherheitsfunktionen, wie z.B. eine Datenverschlüsselung, zu realisieren. Wie im Detail noch beschrieben wird, wird hierzu zunächst ein gemeinsames Geheimnis etabliert, welches zur Schlüsselgenerierung herangezogen werden kann. Ein solches gemeinsames Geheimnis kann aber grundsätzlich auch zu anderen Zwecken als für kryptographische Schlüssel im engeren Sinne genutzt werden, z.B. als One-Time-Pad.
-
Die Erfindung eignet sich für eine Vielzahl drahtgebundener oder drahtloser sowie auch optischer Netzwerke bzw. Kommunikationssysteme, insbesondere auch solche, bei denen die verschiedenen Teilnehmer über einen linearen Bus miteinander kommunizieren und der Medienzugriff auf diesen Bus mithilfe einer bitweisen Bus-Arbitrierung erfolgt. Dieses Prinzip stellt beispielsweise die Grundlage des weit verbreiteten CAN-Busses dar. Mögliche Einsatzgebiete der Erfindung umfassen dementsprechend insbesondere auch CAN-basierte Fahrzeugnetzwerke sowie CAN-basierte Netzwerke in der Automatisierungstechnik.
-
In 1 ist ein beispielhafter Ablauf eines vorgeschlagenen Verfahrens gezeigt. Das Verfahren wird hier beispielhaft anhand einer CAN-Bus-Kommunikation erläutert.
-
Ein erster Teilnehmer 100 eines Netzwerks initiiert die Schlüsselgenerierung (nicht in 1 dargestellt), z.B. indem er eine Nachricht (Paket, z. B. CAN-Frame) an einen zweiten Teilnehmer 200 des Netzwerks sendet und diesem gegebenenfalls Parameter mitteilt, welche von dem zweiten Teilnehmer 200 abgespeichert werden können. Das Ende dieser Nachricht stellt beispielsweise gleichzeitig den Beginn eines Zeitrahmens dar, dessen Länge beispielsweise im Initialpaket mitgeteilt wurde. Der Beginn des Zeitrahmens kann dem zweiten Teilnehmer 200 auch mitgeteilt werden oder von diesem abhängig von der erhaltenen Nachricht bestimmt werden. Alternativ können zwischen den Teilnehmern auch Zeiträume zur Durchführung des Verfahrens ausgehandelt sein.
-
Beide Teilnehmer 100 und 200 bestimmen nun in einem ersten Schritt jeweils zufällig eine CAN-ID aus z.B. n = 2 Möglichkeiten (ID A, ID B), sowie jeweils eine zufällige Verzögerung (Δt), die innerhalb des Zeitrahmens liegt. Die CAN-IDs sind dabei derart gewählt, dass sie keine Rückschluss auf den Teilnehmer erlauben, der sie verwendet. Grundsätzlich planen beide Parteien nach Ablauf ihrer jeweiligen Verzögerung, einen CAN-Frame zu senden. In einer bevorzugten Ausgestaltung handelt es sich dabei um CAN-Frames mit bis auf die Kennung (CAN-ID) gleichem Inhalt und vom gleichen Typ. Beide Teilnehmer empfangen ständig auch die eigenen Signale vom Bus.
-
Eine dritte Partei, die nicht direkt Zugriff auf Strom oder Spannung der Busleitung hat, kann aufgrund der Bus-Eigenschaft des Mediums nicht unterscheiden, welcher Teilnehmer ein CAN-Frame gesendet hat, da im CAN-Frame darüber keine Information enthalten ist. Da die Signallaufzeit auf dem Bus auch im schlechtesten Fall deutlich kürzer als die Dauer eines Bits/Symbols ist, können bei diesem Verfahren insbesondere drei Fälle auftreten:
- 1. Einer der beiden Teilnehmer sendet zuerst und der andere Teilnehmer sendet später.
1.1) Die Teilnehmer wählen zufällig verschiedene Kennungen (z.B. ID A, ID B) aus. In 1 hat Teilnehmer 100 die Zeitverzögerung t1 zufällig bestimmt sowie die Kennung ID A zufällig gewählt. Teilnehmer 200 hat die Zeitverzögerung t2 zufällig bestimmt sowie die Kennung ID B zufällig gewählt. Teilnehmer 100 sendet aufgrund der kleineren Zeitverzögerung t1 in 1 zuerst. Aufgrund vorher festgelegter Konvention wird von den Teilnehmern ein Geheimnis, insbesondere ein Schlüsselbit, aus der Tatsache bestimmt, welcher Teilnehmer welche Nachrichtenkennung gesendet hat. Z. B. ist das in beiden Teilnehmern generierte Geheimnis ein Schlüsselbit ’1’, wenn der erste Teilnehmer 100 einer erste Kennung ID A verwendet hat und der zweite Teilnehmer 200 eine zweite Kennung ID B verwendet hat, und das Geheimnis ist ein Schlüsselbit ’0’, wenn der erste Teilnehmer 100 ID B und der zweite Teilnehmer ID A verwendet hat. Im Fall von 1 wird also nach den Nachrichtenübertragungen in beiden Teilnehmern das gleiche Geheimnis S1, nämlich ein Schlüsselbit ’1’ generiert.
1.2) Bei identischen Kennungen wird kein Geheimnis generiert. Damit ist die Generierung dieses ersten Geheimnisses abgeschlossen.
- 2. Beide Teilnehmer 100 und 200 möchten gleichzeitig senden. Zusätzlich haben sie verschiedene Kennung (ID A, ID B) zufällig ausgewählt. Der gleichzeitige Sendewunsch kann daher rühren, dass keine zufällige Verzögerung eingesetzt wurde oder weil der Sendezeitpunkt zufällig gleich ist oder weil der Bus belegt war. Beim Senden wird sich einer der Teilnehmer 100 oder 200 aufgrund des CAN-Protokolls und der darin bekannten Arbitrierungsregeln mit der Übertragung durchsetzen. Der andere Teilnehmer sendet im Anschluss. Wiederum wird bei unterschiedlichen Kennungen (ID A, ID B) das Geheimnis abhängig davon generiert, welcher Teilnehmer, welche Kennung versendet hat.
- 3. Beide Teilnehmer 100 und 200 sehen eine Übertragung zum gleichen Zeitpunkt vor und führen diese auch entsprechend gleichzeitig durch. Zusätzlich haben sie die gleiche Kennung (ID A oder ID B) zufällig ausgewählt. Die identischen CAN-Frames von Teilnehmer 100 und 200 werden sich überlagern. Die Teilnehmer bekommen davon nichts mit. Dieser Fall tritt insbesondere in dominant / rezessiv wirkenden Vielfachzugriffssystemen wie dem CAN-Bus auf. Dieser Fall wird nun vorzugsweise dadurch abgefangen, dass innerhalb des Zeitrahmens nur ein Paket auf dem Bus gelesen wurde. Beide Teilnehmer detektieren dies und es wird kein Schlüsselbit generiert.
-
Aufgaben in den Teilnehmern 100 und 200, die mit der Geheimnisgenerierung zusammen hängen, werden nun in diesen mit erhöhter Priorität bearbeitet. So können insbesondere zur Geheimnisgenerierung empfangene Informationen (bzw. Nachrichtenrahmen) bevorzugt aus einem Kommunikationscontroller desjeweiligen Teilnehmers geladen werden, zur Geheimnisgenerierung nötige Rechen- und Speichervorgänge (z.B. Auswertung von Zufallszahlen, Erstellen von Nachrichten etc.) beschleunigt bearbeitet werden oder zur Geheimnisgenerierung zu sendenden Informationen (bzw. Nachrichtenrahmen) in einem Kommunikationscontroller des jeweiligen Teilnehmers zum schnelleren Versenden vorgeladen werden.
-
Um einen Schlüssel zu generieren, kann das Verfahren zur Generierung eines Geheimnisses mehrfach wiederholt werden.
-
Im Folgenden werden weitere Ergänzungen und Abwandlungen der beschriebenen Verfahren erläutert.
-
Die vorgestellten Verfahren stellen einen Ansatz zur Generierung symmetrischer, kryptographischer Schlüssel zwischen zwei Teilnehmern oder Knoten eines Netzwerkes dar. Der Ansatz eignet sich insbesondere für drahtlose, drahtgebundene und optische Kommunikationssysteme, insbesondere für CAN, TTCAN, CAN-FD, LIN, I2C.
-
Grundsätzlich bieten sich für einen Einsatz alle Kommunikationssysteme besonders an, die eine Unterscheidung von dominanten und rezessiven Bits (wie oben beschrieben) ermöglichen, sind aber nicht auf diese beschränkt. 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.
-
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 [0009, 0010, 0011]
-
Zitierte Nicht-Patentliteratur
-
- „CANcrypt technical functionality, February 26th, 2016, A summary of the technical features used by CANcrypt“, abgerufen am 26.04.2016 unter der Webadresse http://www.esacademy.com/blog/2016/02/26/cancrypt-functionality/ [0011]