-
Technisches Gebiet
-
Die vorliegende Erfindung betrifft eine Schaltungsanordnung für die Erzeugung eines kryptographischen Geheimnisses in einem Netzwerk, das insbesondere für die Generierung eines gemeinsamen, geheimen Schlüssels in zwei Teilnehmern des Netzwerks eingesetzt werden kann. 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 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 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 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. Bei aktuellen Verfahren werden die Schlüssel meist zentral erzeugt. Die Zuordnung zu einzelnen Steuergeräten erfolgt in sicherer Umgebung z. B. im Werk des Fahrzeugherstellers. Dort werden die Schlüssel auch aktiv geschaltet.
-
Verfahren zur Absicherung von Sensordaten gegen Manipulation und die Sicherstellung einer Transaktionsauthentifizierung, z.B. in einem Kraftfahrzeugnetzwerk, mit Hilfe gängiger Verschlüsselungsverfahren sind z.B. in der
DE 102009002396 A1 und in der
DE 102009045133 A1 offenbart.
-
Seit einiger Zeit werden zudem unter dem Schlagwort „Physical Layer Security“ neuartige Ansätze untersucht und entwickelt, mit Hilfe derer Schlüssel für symmetrische Verfahren automatisch auf der Grundlage physikalischer Eigenschaften der Übertragungskanäle zwischen den involvierten Knoten erzeugt werden können. Dabei nutzt man die Reziprozität und die inhärente Zufälligkeit dieser Übertragungskanäle aus. Insbesondere bei drahtgebundenen oder optischen Systemen ist dieser Ansatz oftmals allerdings nur bedingt geeignet, da entsprechende Kanäle üblicherweise nur eine sehr eingeschränkte zeitliche Variabilität aufweisen und ein Angreifer beispielsweise mit Hilfe einer Modellbildung relativ gut Rückschlüsse auf die Kanalparameter zwischen dem Sender und dem Empfänger ziehen kann. Derartige Verfahren für eine abgesicherte Kommunikation in einem verteilten System auf Basis von Kanaleigenschaften der verbundenen Einheiten sind beispielsweise in den nicht vorveröffentlichten Anmeldungen
DE 10 2014 208975 A1 sowie
DE 10 2014 209042 A1 beschrieben.
-
Die nicht vorveröffentlichte
DE 10 2015 207220 A1 offenbart ein Verfahren zur Erzeugung eines gemeinsamen Geheimnisses bzw. eines geheimen, symmetrischen Schlüssels mittels öffentlicher Diskussion zwischen zwei Kommunikationsteilnehmern.
-
Offenbarung der Erfindung
-
Die Erfindung geht aus von einem Netzwerkteilnehmer, welcher eine Schaltungsanordnung zur Verarbeitung von Daten sowie ein weiteres Modul zur Unterstützung der Generierung eines gemeinsamen Geheimnisses zwischen dem Netzwerkteilnehmer und einem weiteren Netzwerkteilnehmer umfasst. Die Schaltungsanordnung zur Verarbeitung von Daten ist dabei vorzugsweise ein Mikrocontroller, der Netzwerkteilnehmer ist vorzugsweise ein Steuergerät, ein Sensor oder ein Aktor eines Systems, insbesondere eines Fahrzeugs.
-
Für die Generierung des Geheimnisses wird eine (weitgehend) synchrone Übertragung einer Teilnehmerwertfolge auf einem gemeinsamen Übertragungskanal zwischen den Netzwerkteilnehmer veranlasst und auf Basis der gesendeten Teilnehmerwertfolgen und der festgestellten Überlagerung auf dem Übertragungskanal ermittelt. Das weitere Modul unterstützt die Generierung des Geheimnisses, insbesondere veranlasst es die (weitgehend) synchrone Übertragung. Das weitere Modul und die Schaltungsanordnung zur Verarbeitung von Daten sind miteinander verbunden.
-
In einer besonders bevorzugten Ausgestaltung ist das weitere Modul in einem Transceiver für eine Kommunikation des Netzwerkteilnehmers über den Übertragungskanal integriert. Die Verbindung zwischen Schaltungsanordnung zur Verarbeitung von Daten und dem weiteren Modul ist in diesem Fall über eine Verbindung zwischen der Schaltungsanordnung zur Verarbeitung von Daten und dem Transceiver realisiert.
-
Die Hardwarerealisierung des Verfahrens in einem Netzwerkteilnehmer durch Einsatz eines weiteren Moduls getrennt von einer Schaltungsanordnung zur Verarbeitung von Daten (d.h. in separaten Schaltungsteilen realisiert) ermöglicht eine zuverlässige und weitgehend manipulationssichere Umsetzung unter Einhaltung der nötigen Latenzzeiten, die zudem besonders einfach in bereits bestehende Systemarchitekturen integriert werden kann und damit auch eine Nachrüstung solcher Systeme ermöglicht. Durch eine Integration des weiteren Moduls in einem Transceiver kann eine besonders effiziente Hardwarearchitektur mit reduziertem Ressourcenbedarf realisiert werden. Die alternative Lösung eines separaten weiteren Moduls zeichnet sich durch besondere Flexibilität und Modularität aus.
-
Eine vorteilhafte, weil einfach zu realisierende Umsetzung der vorgestellten Schaltungsanordnungen und Verfahren ist für CAN-, TTCAN-, CAN-FD-, LIN oder I2C-Bussysteme mit dominanten und rezessiven Buspegeln möglich. In den genannten CAN-Systemen wird jeweils 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. Als Transceiver werden dann entsprechend CAN-Transceiver, LIN-Transceiver usw. eingesetzt.
-
Die zugrunde liegenden Verfahren zur Generierung eines Geheimnisses bzw. eines kryptographischen Schlüssels erfordern keinerlei manuellen Eingriff und ermöglichen somit den automatisierten Aufbau sicherer Kommunikationsbeziehungen bzw. -verbindungen zwischen zwei Knoten. Zudem weisen die Verfahren eine sehr geringe Komplexität auf, insbesondere hinsichtlich der erforderlichen Hardwareauslegung, wie z.B. der benötigten Speicherressourcen und Rechenleistung, und sie gehen mit einem geringen Energie- und Zeitbedarf einher. Darüber hinaus bieten die Verfahren sehr hohe Schlüsselgenerierungsraten bei gleichzeitig sehr kleiner Fehlerwahrscheinlichkeit.
-
Dabei gehen die Verfahren davon aus, dass Teilnehmer in einem Netzwerk über einen Kommunikationskanal miteinander kommunizieren. Sie übertragen dabei insbesondere logische Wertfolgen, (falls es sich um binäre Logik handelt, Bitfolgen) mit Hilfe von physikalischen Signalen auf dem Übertragungskanal. Auch wenn mögliche Überlagerungen auf dem Übertragungskanal durch die Signale, also auf der physikalischen Ebene, stattfinden, wird in der Beschreibung im Folgenden vorranging die logische Ebene betrachtet. Es werden somit die übertragenen, logischen Wertfolgen sowie deren logische Überlagerung betrachtet.
-
Teilnehmer des Netzwerks können somit erste Signale (die beispielsweise dem logischen Bit „1“ zugeordnet sind) und zweite Signale (die beispielsweise dem logischen Bit „0“ zugeordnet sind) auf den Kommunikationskanal geben und resultierende Signale auf dem Kommunikationskanal detektieren. Übertragen nun zwei Teilnehmer (weitgehend) gleichzeitig jeweils eine Signalfolge, so können die Teilnehmer die daraus resultierende Überlagerung auf dem Kommunikationskanal detektieren. Das effektive, aus der (weitgehend) gleichzeitigen Übertragung zweier (unabhängiger) Signale resultierende Signal auf dem Kommunikationskanal lässt sich dann wiederum einem (oder mehreren) bestimmten logischen Wert (oder Werten) zuordnen.
-
Die Übertragung muss dabei insofern weitgehend synchron sein, dass eine Überlagerung der einzelnen Signale einer Signalfolge auf dem Übertragungsmedium erfolgt, insbesondere, 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.
-
Die Überlagerung kann dabei durch Arbitrierungsmechanismen oder durch physikalische Signalüberlagerung bestimmt sein. Mit Arbitrierungsmechanismus ist beispielsweise der Fall gemeint, dass ein Knoten einen rezessiven Pegel anlegen möchte, aber auf dem Bus einen dominanten Pegel detektiert und somit die Übertragung unterlässt. In diesem Fall kommt es zu keiner physikalischen Überlagerung zweier Signale, sondern es ist nur das dominante Signal auf dem Übertragungskanal zu sehen.
-
Aus der resultierenden Wertfolge der Überlagerung und der eigenen Wertfolge 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.
-
Während das Verfahren für zwei Teilnehmer in einem Netzwerk beschrieben wurde, kann auch bereits durch einen Teilnehmer eines Netzwerks ein geheimer Schlüssel aus einer eigenen Signalfolge und aus einer Überlagerung dieser mit der Signalfolge eines zweiten Teilnehmers abgeleitet werden. 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.
-
Zeichnungen
-
Nachfolgend ist die Erfindung unter Bezugnahme auf die beiliegenden Zeichnungen und anhand von Ausführungsbeispielen näher beschrieben. Dabei zeigen
-
1 schematisch den Aufbau eines beispielhaften, zugrundeliegenden Kommunikationssystems,
-
2 schematisch einen linearen Bus als Beispiel eines zugrundeliegenden Kommunikationssystems,
-
3 schematisch beispielhafte Signalfolgen zweier Teilnehmer eines Netzwerks sowie eine resultierende Überlagerungswertfolge auf einem Übertragungskanal zwischen den Teilnehmern,
-
4 schematisch den Ablauf eines beispielhaften Verfahrens zur Schlüsselgenerierung zwischen zwei Teilnehmern eines Netzwerks,
-
5 einen beispielhafte Anordnung von zwei Netzwerkteilnehmern an einem gemeinsamen Kommunikationssystem,
-
6 ein beispielhaftes Modul zur Generierung eines Geheimnisses bzw. zum Schlüsselaustausch als Teil einer Schaltungsanordnung und
-
7 eine beispielhafte Verknüpfung von Empfangs- und Sendemitteln in einem Transceiver mit integriertem weiterem Modul.
-
Beschreibung der Ausführungsbeispiele
-
Die vorliegende Erfindung bezieht sich auf eine Schaltungsanordnung, insbesondere einen integrierten Schaltkreis, z.B. einen Mikrocontroller, als Netzwerkteilnehmer. Die Schaltungsanordnung ist dabei dazu eingerichtet, ein Verfahren zur Generierung eines gemeinsamen Geheimnisses bzw. (geheimer) symmetrischer kryptographischer Schlüssel zwischen zwei Knoten eines Kommunikationssystems (Teilnehmer eines Netzwerkes) durchzuführen. Die Netzwerkteilnehmer kommunizieren dabei miteinander mit Unterstützung der Schaltungsanordnung über ein gemeinsam genutztes Medium (Übertragungskanal des Netzwerks).
-
Die Generierung bzw. Aushandlung 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. Es ist 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 oder eine Nachrichtenauthentifizierung, zu realisieren. Wie im Detail noch beschrieben 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.
-
Eine solche Schlüsselgenerierung ist dabei möglich 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.
-
Mit dem beschriebenen Ansatz können automatisiert symmetrische kryptographische Schlüssel in einem, bzw. insbesondere zwischen zwei Knoten eines Netzwerks generiert werden. Diese Generierung erfolgt dabei unter Ausnutzung von Eigenschaften der entsprechenden Übertragungsschicht. Anders als bei den gängigen Ansätzen der „Physical Layer Security“ werden dafür aber nicht physikalische Parameter des Übertragungskanals wie Übertragungsstärke etc. ausgewertet. Vielmehr gibt es dazu einen öffentlichen Datenaustausch zwischen den beteiligten Knoten, der dank der Eigenschaften des Kommunikationssystems und/oder des verwendeten Modulationsverfahrens einem möglichen lauschenden Angreifer keine, bzw. keine ausreichenden Rückschlüsse auf den daraus ausgehandelten Schlüssel ermöglicht.
-
Im Folgenden wird eine Anordnung betrachtet, wie sie abstrakt in 1 dargestellt ist. Dabei können verschiedene Teilnehmer 2, 3 und 4 ü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. Das 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 Wert 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.
-
Ein Beispiel für ein solches Übertragungsverfahren ist das so genannte On-Off-Keying (On-Off-Keying-Amplitudenumtastung), bei dem genau zwei Übertragungszustände unterschieden werden: Im ersten Fall (Wert ‚On‘, bzw. „0“) wird ein Signal übertragen, beispielsweise in Form eines einfachen Trägersignals, im anderen Fall (Wert ‚Off‘, bzw. „1“) wird kein Signal übertragen. Der Zustand ‚On‘ ist dabei dominant während der Zustand ‚Off‘ rezessiv ist.
-
Ein weiteres Beispiel für ein entsprechendes Kommunikationssystem, das diese Unterscheidung von dominanten und rezessiven Bits unterstützt, ist ein (drahtgebundenes oder optisches) System basierend auf einer bitweisen Bus-Arbitrierung, wie sie beispielsweise beim CAN-Bus zum Einsatz kommt. Die Grundidee dabei besteht ebenfalls darin, dass wenn beispielsweise zwei Knoten gleichzeitig ein Signal übertragen wollen und der eine Knoten eine ‚1‘ überträgt, wohingegen der zweite Knoten eine ‚0‘ sendet, die ‚0‘ „gewinnt“ (also das dominante Bit), d.h. der Signalpegel, der auf dem Bus gemessen werden kann, entspricht einer logischen ‚0‘. Bei CAN wird dieser Mechanismus insbesondere zur Auflösung von möglichen Kollisionen benutzt. Dabei werden höherpriore Nachrichten (d.h. Nachrichten mit früherem, dominantem Signalpegel) vorrangig übertragen, indem jeder Knoten bei der Übertragung seines CAN-Identifiers bitweise gleichzeitig den Signalpegel auf dem Bus überwacht. Sofern der Knoten selbst ein rezessives Bit überträgt, aber auf dem Bus ein dominantes Bit detektiert wird, bricht der entsprechende Knoten seinen Übertragungsversuch zugunsten der höherprioren Nachricht (mit dem früheren dominanten Bit) ab.
-
Die Unterscheidung von dominanten und rezessiven Bits erlaubt es, das geteilte Übertragungsmedium als eine Art binären Operator aufzufassen, der die verschiedenen Eingangsbits (=alle gleichzeitig übertragenen Bits) mit Hilfe einer logischen UND-Funktion miteinander verknüpft.
-
In 3 ist beispielsweise dargestellt, wie ein Teilnehmer 1 (T1) die Bitfolge 0, 1, 1, 0, 1 zur Sendung zwischen den Zeitpunkten t0 und t5 über den Übertragungskanal bereit hält. Teilnehmer 2 (T2) hält die Bitfolge 0, 1, 0, 1, 1 zur Sendung zwischen Zeitpunkten t0 und t5 über den Übertragungskanal bereit. Mit den oben beschriebenen Eigenschaften des Kommunikationssystems und unter der Annahme, dass es sich in diesem Beispiel bei dem Bitpegel „0“ um das dominante Bit handelt, wird auf dem Bus (B) die Bitfolge 0, 1, 0, 0, 1 zu sehen sein. Nur zwischen den Zeitpunkten t1 und t2 sowie zwischen t4 und t5 sehen sowohl Teilnehmer 1 (T1) als auch Teilnehmer 2 (T2) ein rezessives Bit „1“ vor, so dass nur hier die logische UND-Verknüpfung in einen Bitpegel von „1“ auf dem Bus (B) resultiert.
-
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.
-
Eine beispielhafte, besonders bevorzugte Realisierung wird im Folgenden anhand von 4 erläutert.
-
Der Prozess zur Generierung eines symmetrischen Schlüsselpaars wird in Schritt 41 von einem der in diesem Beispiel zwei beteiligten Knoten (Teilnehmer 1 und Teilnehmer 2) gestartet. Dies kann beispielsweise durch das Versenden einer speziellen Nachricht bzw. eines speziellen Nachrichtenheaders erfolgen.
-
Sowohl Teilnehmer 1 als auch Teilnehmer 2 generieren in Schritt 42 zunächst lokal (d.h. intern und voneinander unabhängig) eine Bitsequenz. Vorzugsweise ist diese Bitfolge mindestens zweimal, insbesondere mindestens dreimal so lang wie der als Resultat des Verfahrens erwünschte gemeinsame Schlüssel. Die Bitfolge wird vorzugsweise jeweils als zufällige oder pseudozufällige Bitabfolge, beispielsweise mit Hilfe eines geeigneten Zufallszahlengenerators oder Pseudozufallszahlengenerators erzeugt.
-
Beispiel für lokale Bitfolgen der Länge 20 Bits:
-
- – Erzeugte Bitsequenz von Teilnehmer 1:
ST1 = 01001101110010110010
- – Erzeugte Bitsequenz von Teilnehmer 2:
ST2 = 10010001101101001011
-
In einem Schritt 43 übertragen Teilnehmer 1 und Teilnehmer 2 zueinander (weitgehend) synchron ihre jeweils erzeugten Bitsequenzen über das geteilte Übertragungsmedium (unter Verwendung des Übertragungsverfahrens mit dominanten und rezessiven Bits, wie zuvor bereits erläutert). Dabei sind verschiedene Möglichkeiten zur Synchronisierung der entsprechenden Übertragungen denkbar. So könnte beispielsweise entweder Teilnehmer 1 oder Teilnehmer 2 zunächst eine geeignete Synchronisationsnachricht an den jeweils anderen Knoten senden und nach einer bestimmten Zeitdauer im Anschluss an die vollständige Übertragung dieser Nachricht dann die Übertragung der eigentlichen Bitsequenzen starten. Genauso ist es aber auch denkbar, dass von einem der beiden Knoten nur ein geeigneter Nachrichtenheader übertragen wird (z.B. ein CAN-Header bestehend aus Arbitrierungsfeld und Kontrollfeld) und während der zugehörigen Payload-Phase dann beide Knoten gleichzeitig ihre generierten Bitsequenzen (weitgehend) synchron übermitteln. In einer Variante des Verfahrens können die in Schritt 42 generierten Bitsequenzen eines Teilnehmers in Schritt 43 auch auf mehrere Nachrichten verteilt übertragen werden können, 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 anderen Teilnehmers wiederum (weitgehend) synchron.
-
Auf dem geteilten Übertragungsmedium überlagern sich die beiden Bitsequenzen dann, wobei aufgrund der zuvor geforderten Eigenschaft des Systems mit der Unterscheidung von dominanten und rezessiven Bits die einzelnen Bits von Teilnehmer 1 und Teilnehmer 2 eine Überlagerung ergeben, im genannten Beispiel de facto UND-verknüpft werden. Damit ergibt sich auf dem Übertragungskanal eine entsprechende Überlagerung, die beispielsweise ein mithörender dritter Teilnehmer detektieren könnte.
-
Beispiel einer Überlagerungsbitfolge für die obigen, lokalen Bitfolgen:
-
- • Effektive Bitsequenz auf dem Übertragungskanal:
Seff = ST1 AND ST2 = 00000001100000000010
-
Sowohl Teilnehmer 1 als auch Teilnehmer 2 detektieren während der Übertragung ihrer Bitsequenzen des Schritts 43 in einem parallelen Schritt 44 die effektiven (überlagerten) Bitsequenzen Seff auf dem geteilten Übertragungsmedium. Für das Beispiel des CAN-Busses wird dies auch in konventionellen Systemen während der Arbitrierungsphase gewöhnlicherweise ohnehin gemacht.
-
Für Systeme mit ‚On-Off-Keying‘ (drahtlos, drahtgebunden oder optisch) ist dies entsprechend ebenfalls möglich. Der praktischen Realisierbarkeit kommt hierbei insbesondere zugute, dass bei einem solchen System der Zustand ‚On‘ dominant und der Zustand ‚Off‘ rezessiv ist (wie zuvor bereits erläutert). Folglich weiß ein Knoten auch ohne Messung, dass der effektive Zustand auf dem „Shared Medium“ dominant ist sofern der Knoten selbst ein dominantes Bit gesendet hat. Hat ein Knoten hingegen ein rezessives Bit gesendet, kennt er den Zustand auf dem geteilten Übertragungsmedium zunächst nicht ohne Weiteres, allerdings kann er in diesem Fall durch eine geeignete Messung bestimmen, wie dieser aussieht. Da der Knoten selbst in diesem Fall nichts sendet, gibt es nämlich auch keine Probleme mit so genannter Selbstinterferenz, die speziell im Fall von drahtlosen Systemen ansonsten eine aufwändige Echokompensation erforderlich machen würde.
-
In einem nächsten Schritt 45 übertragen sowohl Teilnehmer 1 als auch Teilnehmer 2 ebenfalls wieder (weitgehend) synchron ihre initialen Bitsequenzen ST1 und ST2, diesmal allerdings invertiert. Die Synchronisierung der entsprechenden Übertragungen kann dabei wieder genau auf dieselbe Art und Weise realisiert werden, wie oben beschrieben. Auf dem geteilten Kommunikationsmedium werden die beiden Sequenzen dann wieder miteinander UND-verknüpft. Teilnehmer 1 und 2 ermitteln wiederum die effektiven, überlagerten Bitsequenzen Seff auf dem geteilten Übertragungsmedium.
-
Beispiel für die obigen Bitfolgen:
-
- – Invertierte Bitsequenz von Teilnehmer 1:
ST1‘ = 10110010001101001101
- – Invertierte Bitsequenz von Teilnehmer 2:
ST2‘ = 01101110010010110100
- – Effektive, überlagerte Bitsequenz auf dem Kanal:
Seff‘ = ST1‘ AND ST2‘ = 00100010000000000100
-
Sowohl Teilnehmer 1 als auch Teilnehmer 2 ermitteln während der Übertragung ihrer nun invertierten Bitsequenzen dann wieder die effektiven, überlagerten Bitsequenzen auf dem geteilten Übertragungsmedium. Zu diesem Zeitpunkt kennen somit beide Knoten (Teilnehmer 1 und Teilnehmer 2), sowie auch ein möglicher Angreifer (z.B. Teilnehmer 3), der die Kommunikation auf dem geteilten Übertragungsmedium mithört, die effektiven, überlagerten Bitsequenzen Seff und Seff‘. Im Gegensatz zum Angreifer bzw. dritten Teilnehmer kennt aber Teilnehmer 1 noch seine initial erzeugte, lokale Bitsequenz ST1 und Teilnehmer 2 seine initial erzeugte, lokale Bitsequenz ST2. Teilnehmer 1 wiederum kennt aber nicht die initial erzeugte, lokale Bitsequenz von Teilnehmer 2 und Teilnehmer 2 nicht die initial erzeugte, lokale Bitsequenz von Teilnehmer 1. Die Detektion der Überlagerungsbitfolge erfolgt wiederum während der Übertragung in Schritt 46.
-
Alternativ zu dieser beispielhaften Ausführungsvariante können Teilnehmer 1 und Teilnehmer 2 ihre invertierte, lokale Bitfolge auch direkt mit bzw. direkt nach ihrer ursprünglichen, lokalen Bitfolge versenden, d.h. Schritte 45 und 46 erfolgen mit den Schritten 43 und 44. Die ursprüngliche und die invertierte Bitfolge können dabei in einer Nachricht, aber auch in separaten Nachrichten als Teil-Bitfolgen übermittelt werden.
-
In Schritt 47 verknüpfen Teilnehmer 1 und Teilnehmer 2 nun jeweils lokal (also intern) die effektiven, überlagerten Bitfolgen (Seff und Seff‘), insbesondere mit einer logischen ODER-Funktion.
-
Beispiel für die obigen Bitfolgen:
-
- Sges = Seff OR Seff‘ = 00100011100000000110
-
Die einzelnen Bits in der aus der ODER-Verknüpfung resultierenden Bitsequenz (Sges) geben nun an, ob die entsprechenden Bits von ST1 und ST2 identisch oder unterschiedlich sind. Ist das n-te Bit innerhalb von Sges beispielsweise eine ‚0‘, so bedeutet dies, dass das n-te Bit innerhalb von ST1 invers zu dem entsprechenden Bit innerhalb von ST2 ist. Gleichermaßen gilt, dass wenn das n-te Bit innerhalb von Sges eine ‚1‘ ist, die entsprechenden Bits innerhalb von ST1 und ST2 identisch sind.
-
Teilnehmer 1 und Teilnehmer 2 streichen daraufhin in Schritt 48 basierend auf der aus der ODER-Verknüpfung erhaltenen Bitsequenz Sges in ihren ursprünglichen, initialen Bitsequenzen ST1 und ST2 alle Bits, die in beiden Sequenzen identisch sind. Dies führt folglich zu entsprechend verkürzten Bitsequenzen.
-
Beispiel für die obigen Bitfolgen:
-
- – Verkürzte Bitsequenz von Teilnehmer 1:
ST1,V = 01011100101100
- – Verkürzte Bitsequenz von Teilnehmer 2:
ST2,V = 10100011010011
-
Die resultierenden, verkürzten Bitsequenzen ST1,V und ST2,V sind nun gerade invers zueinander. Somit kann einer der beiden Teilnehmer durch Inversion seiner verkürzten Bitsequenz exakt diejenige verkürzte Bitsequenz ermitteln, wie sie im anderen Teilnehmer bereits vorliegt.
-
Die dermaßen gemeinsam vorliegende, verkürzte Bitsequenz wird nun von Teilnehmer 1 und Teilnehmer 2 in Schritt 49 jeweils lokal auf geeignete Art und Weise aufbereitet, um den eigentlich gewünschten Schlüssel der gewünschten Länge N zu generieren. Auch hierbei gibt es wieder eine Vielzahl von Möglichkeiten, wie diese Aufbereitung erfolgen kann. Eine Möglichkeit ist die Selektion von N Bits aus der gemeinsam vorliegenden, verkürzten Bitsequenz, wobei klar definiert sein muss, welche N Bits zu nehmen sind, z.B. indem einfach immer die ersten N Bits der Sequenz selektiert werden. Ebenfalls möglich ist die Berechnung einer Hashfunktion über die gemeinsam vorliegende, verkürzte Bitsequenz, die einen Hashwert der Länge N liefert. Ganz allgemein kann die Aufbereitung mit jeder beliebigen linearen und nichtlinearen Funktion erfolgen, die bei Anwendung auf die gemeinsam vorliegende, verkürzte Bitsequenz eine Bitsequenz der Länge N Bits zurückliefert. Der Mechanismus der Schlüsselerzeugung aus der gemeinsam vorliegenden, verkürzten Bitsequenz liegt vorzugsweise in beiden Teilnehmern 1 und 2 identisch vor und wird entsprechend auf die gleiche Weise durchgeführt.
-
Im Anschluss an die Schlüsselgenerierung kann ggf. noch verifiziert werden, dass die von Teilnehmer 1 und 2 generierten Schlüssel tatsächlich identisch sind. Dazu könnte beispielsweise eine Checksumme über die generierten Schlüssel berechnet und zwischen Teilnehmer 1 und 2 ausgetauscht werden. Sind beide Checksummen nicht identisch, so ist offensichtlich etwas fehlgeschlagen. In diesem Fall könnte das beschriebene Verfahren zur Schlüsselgenerierung wiederholt werden.
-
In einer bevorzugten Variante des Verfahrens zur Schlüsselgenerierung können in verschiedenen Durchläufen zunächst auch eine ganze Reihe von resultierenden, bei Teilnehmer 1 und 2 jeweils vorliegenden, verkürzten Bitsequenzen erzeugt werden, die dann zu einer einzigen großen Sequenz kombiniert werden, bevor der eigentliche Schlüssel davon abgeleitet wird. Dies kann ggf. auch adaptiv erfolgen. Sollte nach dem einmaligen Durchlaufen der beschriebenen Prozedur z.B. die Länge der gemeinsamen, verkürzten Bitsequenz beispielsweise kleiner als die gewünschte Schlüssellänge N sein, so könnte man durch einen erneuten Durchlauf z.B. weitere Bits vor der eigentlichen Schlüsselableitung generieren.
-
Das generierte, symmetrische Schlüsselpaar kann nun schließlich von Teilnehmer 1 und Teilnehmer 2 in Verbindung mit etablierten (symmetrischen) kryptographischen Verfahren, wie z.B. Chiffren zur Datenverschlüsselung, eingesetzt werden.
-
Ein möglicher Angreifer (z.B. Teilnehmer 3) kann die öffentliche Datenübertragung zwischen Teilnehmer 1 und Teilnehmer 2 abhören und somit wie beschrieben Kenntnis der effektiven, überlagerten Bitfolgen (Seff und Seff‘) erlangen. Damit weiß der Angreifer dann allerdings nur, welche Bits in den lokal generierten Bitsequenzen von Teilnehmer 1 und 2 identisch sind und welche nicht. Bei den identischen Bits kann der Angreifer darüber hinaus sogar noch feststellen, ob es sich dabei um eine ‚1‘ oder eine ‚0‘ handelt. Für eine vollständige Kenntnis der resultierenden, verkürzten Bitfolge (und damit der Grundlage zur Schlüsselgenerierung) fehlen ihm aber die Informationen über die nicht identischen Bits. Um dem Angreifer mögliche Angriffe weiter zu erschweren, wird in einer bevorzugten Variante zusätzlich die in den ursprünglichen, lokal erzeugten Bitfolgen der Teilnehmer 1 und 2 identischen Bitwerte gelöscht. Damit verfügt Teilnehmer 3 nur über Informationen, die für die Schlüsselgenerierung gar nicht verwendet werden. Er weiß zwar, dass entsprechend verkürzte Bitfolgen aus den zwischen den lokalen Bitfolgen der Teilnehmer 1 und Teilnehmer 2 unterschiedlichen Bits hervorgehen. Er weiß aber nicht, welche Bits Teilnehmer 1 und Teilnehmer 2 jeweils gesendet haben.
-
Teilnehmer 1 und Teilnehmer 2 haben zusätzlich zu der Information über die überlagerte Gesamt-Bitfolge noch die Information über die jeweils von ihnen gesendete, lokal generierte Bitfolge. Aus diesem Informationsvorsprung gegenüber einem lediglich der öffentlichen Datenübertragung folgenden Teilnehmer 3 rührt die Tatsache, dass die in Teilnehmer 1 und 2 generierten Schlüssel trotz der öffentlichen Datenübertragung als Grundlage geheim bleiben.
-
In 5 sind zwei Netzwerkteilnehmer 500 und 510 gezeigt, die mit einem Übertragungskanal 520 verbunden sind. In einer bevorzugten Ausgestaltung sind die Netzwerkteilnehmer 500 und 510 CAN-Knoten und der Übertragungskanal 520 ist ein CAN-Bussystem. Die Netzwerkteilnehmer 500 bzw. 510 sind mit dem Übertragungskanal 520 über die Sendeverbindungen 507 bzw. 517 und die Empfangsverbindungen 506 und 516 verbunden. Die Anbindung der Netzwerkteilnehmer 500 bzw. 510 an den Übertragungskanal 520 und damit die physikalische Schicht erfolgt über Transceiver 504 bzw. 514 der Netzwerkteilnehmer. Die Netzwerkteilnehmer 500 bzw. 510 verfügen zudem jeweils über eine Schaltungsanordnung zur Verarbeitung von Daten 501 bzw. 511, insbesondere einen Mikrocontroller. Die Schaltungsanordnungen 501 bzw. 511 verfügen über einen Kommunikationscontroller 502 bzw. 512. Über diese Kommunikationscontroller 502 bzw. 512 sind die Schaltungsanordnungen 501 und 511 über Verbindungen 503 bzw. 513 mit den Transceivern 504 bzw. 514 verbunden. Zusätzlich zu den üblichen Funktionseinheiten eines Transceivers verfügen die Transceiver 504 bzw. 514 jeweils über ein weiteres Modul 505 bzw. 515, wie es zu 6 beschrieben ist.
-
In 6 ist ein Modul 60 gezeigt, welches in einer Schaltungsanordnung eines Teilnehmers an einem Netzwerk diesen Teilnehmer bei der Generierung eines gemeinsamen Geheimnisses mit anderen Netzwerkteilnehmern unterstützen kann (im Folgenden auch: „weiteres Modul“). Das Modul 60 kann dabei Daten bzw. Nachrichten auf den Bus 600 geben, welcher in einer bevorzugten Ausgestaltung als CAN-Bus realisiert ist.
-
Dabei verfügt das Modul 60 über einen Block 64 zur Konfiguration des Moduls über eine Schnittstelle 604, insbesondere für Protokoll-spezifische Konfigurationen wie Baudrate, IDs, etc. Des Weiteren umfasst es einen Block 63 (z.B. ein Register), in welchem eine Zeichenkette, insbesondere eine Zufallszahl oder Pseudozufallszahl abgelegt werden kann, insbesondere empfangen über eine Schnittstelle 603. Block 62 bezeichnet ein Triggermodul, welches in einer bevorzugten Ausführungsform über die Schnittstelle 602 zu einem Triggersignal veranlasst werden kann. Alternativ kann das Triggermodul ein Triggersignal auch selbständig veranlassen. Das Modul verfügt weiterhin über Sendemittel wie die als Block 61 gezeigten Sende-Pufferspeicher (Tx-Buffer), die über eine Schnittstelle 601 Nachrichten bzw. Daten auf den Bus 600 geben können.
-
Die hauptsächliche Funktionsweise des Moduls ist dabei, dass in Abhängigkeit einer Konfiguration (angedeutet durch die Verbindung 605 zwischen Konfigurationsblock 64 und Sendemittel 61) eine Zufallszahl oder Pseudozufallszahl aus Block 63 über Verbindung 606 an die Sendemittel 61 gegeben wird und über die Schnittstelle 601 an den CAN-Bus 600 ausgegeben wird. Getriggert wird dieser Vorgang (entweder bereits die Übertragung der Zahl von Block 63 an Block 61 oder zumindest die Übertragung der Zahl von Block 61 an den Bus 600) insbesondere durch ein Auslösesignal durch das Triggermodul 62 über die Verbindung 607 an die Sendemittel 61.
-
In bevorzugten Ausgestaltungen des Moduls 60 kann dieses auch über einen Speicher 65 (insbesondere einen RAM) verfügen, in welchem eine oder mehrere Zufallszahlen oder Pseudozufallszahlen gespeichert sind, welche abhängig von dem Triggersignal über die Sendemittel 61 ausgegeben werden. Diese Zufallszahlen können auch durch einen optionalen Zufallszahlengenerator (insbesondere einen TRNG) im Modul 60 erzeugt werden.
-
Weiterhin kann das Modul 60 in einer bevorzugten Ausgestaltung auch Empfangsmittel 67, insbesondere Empfangs-Pufferspeicher 67 aufweisen, welche über eine Schnittstelle 612 Nachrichten bzw. Daten vom Bus 600 empfangen können. Über eine Schnittstelle 613 zwischen Empfangsmitteln 67 und Triggerblock 62 kann in dieser Ausgestaltung auch in Abhängigkeit von empfangenen Daten ein Triggersignal zum Senden von Daten ausgelöst werden. Z.B. kann erkannt werden, dass von einem anderen Netzwerkteilnehmer eine Zufallszahlenfolge zur Geheimnisgenerierung auf den Bus gelegt wird (z.B. über eine entsprechende Nachrichten-ID) und daraufhin der Trigger durch das Triggerblock 62 erfolgen, dass auch dieser Teilnehmer über das Modul 60 eine Zufallszahlenfolge (weitgehend) synchron zu Übertragung der Zufallszahlenfolge durch den anderen Netzwerkteilnehmers auf den Bus gibt.
-
In einem optionalen Block 68 können Fehlerzustände des Moduls 60 abgelegt werden und diese über eine Schnittstelle 608 auch nach extern gemeldet bzw. von extern abgerufen werden.
-
In einer weiteren bevorzugten Ausgestaltung kann das Modul 60 auch über einen Schaltungsteil 69 zur dynamischen Botschaftsgenerierung verfügen. Dieser kann über eine Schnittstelle 609 eine Zufallszahl oder Pseudozufallszahl empfangen und in Abhängigkeit dieser eine Botschaft generieren und über die Verbindung 610 an die Sendemittel 61 weitergeben. Die Botschaft ist zur weitgehend synchronen Übertragung von Zufallszahlen mit einem weiteren Netzwerkteilnehmer vorgesehen, um wie oben beschrieben ein gemeinsames Geheimnis zwischen den Netzwerkteilnehmern zu generieren.
-
In einem Netzwerkteilnehmer, welcher die oben beschrieben Verfahren zur Geheimnis- bzw. Schlüsselgenerierung zwischen Netzwerkteilnehmern nutzt, sind vorteilhafterweise mindestens eine Schaltungsanordnung zur Verarbeitung von Daten (insbesondere ein Mikrocontroller) sowie mindestens ein von der Schaltungsanordnung separates, weiteres Modul wie zu 6 beschrieben neben weiteren Komponenten (z.B. einem Transceiver) und Schnittstellen (z.B. zwischen der Schaltungsanordnung und dem Transceiver) enthalten. Die Schaltungsanordnung zur Verarbeitung von Daten kann über Verbindungen das weitere Modul konfigurieren oder triggern wie zu 6 beschrieben. Auch können durch die Schaltungsanordnung zur Verarbeitung von Daten die Übermittlung von Zufallszahlen an das weitere Modul über eine Schnittstelle und der Empfang von Fehlermeldungen von dem weiteren Modul über eine Schnittstelle gesteuert oder durchgeführt werden.
-
In einer besonders bevorzugten Ausgestaltung ist das weitere Modul in einen Transceiver des Netzwerkteilnehmers integriert. Entsprechend ist in 7 ein Transceiver 700 gezeigt, welcher über übliche Transceiver-Funktionalitäten (bzw. entsprechende Schaltungsteile) 710 sowie über ein weiteres Modul 720 wie zu 6 beschrieben verfügt. Der Transceiver verfügt über eine Schnittstelle 730, über welche er mit einer Verbindung 71 mit einer Schaltungsanordnung zur Verarbeitung von Daten (angedeutet als 70) verbunden ist. Die Verbindung zwischen Transceiver 700 und Schaltungsanordnung zur Verarbeitung von Daten 70 kann insbesondere als SPI (Serial Peripheral Interface) ausgeprägt sein. In einer bevorzugten Ausgestaltung ist die Schaltungsanordnung 70 ein Mikrocontroller, welcher über den CAN-Transceiver 700 und dessen Empfangsverbindung 743 und Sendeverbindung 742 mit einem CAN-Bus verbunden ist.
-
Die Transceiver-Funktionalitäten 710 sind über eine Verbindung 711 mit der Schnittstelle 730 verbunden. Das weitere Modul 720 ist über eine Verbindung 721 mit der Schnittstelle 730 verbunden und kann über diese Verbindung z.B. von der Schaltungsanordnung 70 getriggert oder konfiguriert werden.
-
Die Transceiver-Funktionalitäten 710 verfügt über eine Sendeschnittstelle 712 und eine Empfangsschnittstelle 713, das weitere Modul über eine Sendeschnittstelle 722 und eine Empfangsschnittstelle 723. In einem Block Rx/Tx-Steuerung 740 des Transceivers können die Empfangsschnittstellen 713 und 723 zusammen geführt sein. Das kann insbesondere bedeuten, dass die Empfangssignale aus einer gemeinsamen Empfangsleitung z.B. durch Time Division Multiplex aufgeteilt werden. Vorzugsweise erfolgt für das Empfangssignal eine Vervielfältigung, so dass das gleiche Empfangssignal über die Verbindung 713 zu den Transceiver-Funktionalitäten 710 und über die Verbindung 723 zum weiteren Modul 720 übertragen wird. In dem Block Rx/Tx-Steuerung 740 können auch die Sendeschnittstellen 712 und 722 zusammengeführt 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 102009002396 A1 [0006]
- DE 102009045133 A1 [0006]
- DE 102014208975 A1 [0007]
- DE 102014209042 A1 [0007]
- DE 102015207220 A1 [0008]