Login| Sign Up| Help| Contact|

Patent Searching and Data


Title:
METHOD FOR GENERATING A SECRET OR A KEY IN A NETWORK
Document Type and Number:
WIPO Patent Application WO/2016/188707
Kind Code:
A1
Abstract:
Disclosed is a method for generating a secret or a key in a network (20). The network (20) comprises at least a first subscriber (21) and a second subscriber (22) and a common transmission channel (30) between at least the first (21) and second subscribers (22). The first subscriber (21) can output at least a first value (1) and a second value (0) and the second subscriber (22) can output at least the first value (1) and the second value (0) on the transmission channel, the first subscriber (21) generating a first sequence of subscriber values and the second subscriber (22) generating a second sequence of subscriber values in order for the transmission to occur largely synchronously on the transmission channel (30); and the first subscriber (21) and the second subscriber (22) each generate a common secret or a common key, the first subscriber (21) doing so on the basis of information about the first sequence of subscriber values and on the basis of a sequence of superposed values resulting from a superposition of the second sequence of subscriber values onto the first sequence of subscriber values on the transmission channel (30), and the second subscriber (22) doing so on the basis of information about the second sequence of subscriber values and on the basis of the sequence of superposed values resulting from the superposition of the second sequence of subscriber values onto the first sequence of subscriber values on the transmission channel (30). At least the first subscriber (21) and the second subscriber (22) determine a sequence of test values in accordance with the resulting sequence of superposed values and output same on the transmission channel (30).

Inventors:
LOTHSPEICH TIMO (DE)
MUELLER ANDREAS (DE)
Application Number:
PCT/EP2016/059725
Publication Date:
December 01, 2016
Filing Date:
May 02, 2016
Export Citation:
Click for automatic bibliography generation   Help
Assignee:
BOSCH GMBH ROBERT (DE)
International Classes:
H04L9/08
Domestic Patent References:
WO2006081306A22006-08-03
Foreign References:
DE102012215326A12014-03-06
US20120106737A12012-05-03
DE102009002396A12010-10-21
DE102009045133A12011-03-31
DE102014208975A12015-11-19
DE102014209042A12015-11-19
DE102011080476A12013-02-07
DE102015207220A12015-10-29
Other References:
"Road vehicles ? Controller area network (CAN) ? Part 1: Data link layer and physical signalling ; ISO+11898-1-2003", IEEE DRAFT; ISO+11898-1-2003, IEEE-SA, PISCATAWAY, NJ USA, vol. msc.upamd, 18 November 2010 (2010-11-18), pages 1 - 52, XP017637056
ANONYMOUS: "On-off keying - Wikipedia, the free encyclopedia", 21 April 2014 (2014-04-21), XP055185652, Retrieved from the Internet [retrieved on 20150424]
Download PDF:
Claims:
Ansprüche

1. Verfahren zur Generierung eines Geheimnisses oder eines Schlüssels in einem Netzwerk (20), wobei das Netzwerk (20) mindestens einen ersten Teil- nehmer (21) und einen zweiten Teilnehmer (22) mit einem gemeinsamen

Übertragungskanal (30) zwischen mindestens dem ersten Teilnehmer (21) und dem zweiten Teilnehmer (22) aufweist, wobei der erste Teilnehmer (21) mindestens einen ersten Wert (1) und einen zweiten Wert (0) und der zweite Teilnehmer (22) mindestens den ersten Wert (1) und den zweiten Wert (0) auf den Übertragungskanal (30) geben können, wobei 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) 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) auf Basis von Informationen über die zweite Teilnehmerwertfolge sowie auf Basis der aus der Überlagerung der ersten Teilnehmerwertfolge mit der zweiten Teil- nehmerwertfolge auf dem Übertragungskanal (30) resultierenden Überlagerungswertfolge jeweils ein gemeinsames Geheimnis oder einen gemeinsamen Schlüssel generieren, dadurch gekennzeichnet, dass mindestens der erste Teilnehmer (21) oder der zweite Teilnehmer (22) eine Prüfwertfolge abhängig von der resultierenden Überlagerungswertfolge bestimmt und auf den Übertragungskanal (30) gibt.

2. Verfahren nach Anspruch 1, wobei die Prüfwertfolge nach der Überlagerungswertfolge übertragen wird. 3. Verfahren nach Anspruch 2, wobei die Prüfwertfolge direkt im Anschluss an die Überlagerungswertfolge übertragen wird.

4. Verfahren nach Anspruch 2, wobei die Prüfwertfolge in einem Abstand zur Überlagerungswertfolge übertragen wird.

5. Verfahren nach Anspruch 4, wobei der erste Teilnehmer (21) und der zweite Teilnehmer (22) eine bestimmte Zusatzwertfolge zwischen der Überlagerungswertfolge und der Prüfwertfolge übertragen, wobei die Zusatzwertfolge bei der Bestimmung der Prüfwertfolge berücksichtigt wird.

6. Verfahren nach einem der vorangegangenen Ansprüche, wobei der erste Teilnehmer (21) und der zweite Teilnehmer (22) die Prüfwertfolge bestimmen und auf den Übertragungskanal geben und wobei der erste Teilnehmer (21) oder der zweite Teilnehmer (22) oder sowohl der erste Teilnehmer (21) als auch der zweite Teilnehmer (22) die resultierende Überlagerung der jeweiligen Prüfwertfolgen anhand der selbst übertragenen Prüfwertfolge daraufhin überprüfen, ob die Prüfwertfolge des ersten Teilnehmers (21) mit der Prüfwertfolge des zweiten Teilnehmers (22) übereinstimmt.

7. Verfahren nach einem der Ansprüche 1 bis 5, dadurch gekennzeichnet, dass der erste Teilnehmer (21) oder der zweite Teilnehmer (22) überprüfen, ob eine detektierte, übertragene Prüfwertfolge mit einer selbst berechneten Prüfwertfolge übereinstimmt, und im Fall einer mangelnden Übereinstimmung den jeweils anderen Teilnehmer (21, 22) über die mangelnde Übereinstimmung informiert, insbesondere über ein Signal oder eine Nachricht oder einen Teil einer Nachricht.

8. Verfahren nach einem der Ansprüche 1 bis 3, wobei nur ein bestimmter Teilnehmer von dem ersten Teilnehmer (21) und dem zweiten Teilnehmer (22) die Prüfwertfolge auf den Übertragungskanal (30) gibt.

9. Verfahren nach Anspruch 4, wobei der bestimmte Teilnehmer derjenige ist, der die Schlüsselgenerierung initiiert, oder ein durch Konfiguration vorbestimmter Teilnehmer ist.

10. Verfahren nach Anspruch 1, dadurch gekennzeichnet, dass sich auf dem Übertragungskanal ein Zustand entsprechend dem ersten Wert (1) einstellt, wenn sowohl der erste Teilnehmer (21) als auch der zweite Teilnehmer (22) eine Übertragung des ersten Werts (1) über den Übertragungskanal (30) veranlassen, und sich ein Zustand entsprechend dem zweiten Wert (0) einstellt, wenn der erste Teilnehmer (21) oder der zweite Teilnehmer (22) oder wenn sowohl der erste Teilnehmer (21) als auch der zweite Teilnehmer (22) eine Übertragung des zweiten Werts (0) über den Übertragungskanal (30) veranlassen.

11. Verfahren nach einem der vorangegangenen Ansprüche, dadurch gekennzeichnet, dass die erste Teilnehmerwertfolge in dem ersten Teilnehmer (21) und die zweite Teilnehmerwertfolge in dem zweiten Teilnehmer (22) lokal, insbesondere mit Hilfe eine Zufallsgenerators oder Pseudozufallsgenerators, erzeugt werden.

12. Verfahren nach einem der vorangegangenen Ansprüche, dadurch gekennzeichnet, dass das Netzwerk (20) ein CAN-, TTCAN-, CAN-FD-, LIN oder I2C- Bussystem ist, dass der erste Wert (1) ein rezessiver Buspegel ist und dass der zweite Wert (0) ein dominanter Buspegel ist.

13. Verfahren nach einem der Ansprüche 1 bis 11, dadurch gekennzeichnet, dass in dem Netzwerk (20) eine On-Off-Keying-Amplitudenumtastung zur Datenübertragung vorgesehen ist.

14. Verfahren nach einem der vorangegangenen Ansprüche, dadurch gekennzeichnet, dass die Prüfwertfolge zur Generierung des gemeinsamen Geheimnisses oder des gemeinsamen Schlüssels nicht herangezogen wird. 15. Verfahren zur Generierung eines Schlüssels in einem ersten Teilnehmer (21) eines Netzwerks (20), wobei der erste Teilnehmer (21) dazu eingerichtet ist, über einen Übertragungskanal (30) von mindestens einem zweiten Teilnehmer (22) des Netzwerks (20) Informationen zu empfangen sowie Informationen an den zweiten Teilnehmer (22) zu übertragen, wobei der erste Teilneh- mer (21) dazu eingerichtet ist, mindestens einen ersten Wert (1) und einen zweiten Wert (0) auf den Übertragungskanal (30) zu geben und auf diesem detektieren zu können, wobei der erste Teilnehmer (21) eine erste Teilnehmerwertfolge für eine Übertragung weitgehend synchron zu einer Übertragung einer zweiten Teilnehmerwertfolge durch den zweiten Teilnehmer (22) auf dem Übertragungskanal (30) veranlasst und der erste Teilnehmer (21) ein Geheimnis oder einen Schlüssel generiert auf Basis von Informationen über die erste Teilnehmerwertfolge sowie auf Basis einer Überlagerungswertfolge, welche auf dem Übertragungskanal (30) aus der Überlagerung der ersten Teilnehmerwertfolge mit der zweiten Teilnehmerwertfolge resultiert, dadurch gekennzeichnet, dass mindestens der erste Teilnehmer (21) eine Prüfwertfolge abhängig von der resultierenden Überlagerungswertfolge bestimmt und auf den Übertragungskanal (30) gibt.

16. Netzwerk (20) mit mindestens einem ersten Teilnehmer (21) und einem zweiten Teilnehmer (22) und einem Übertragungskanal (30), über welchen der erste Teilnehmer (21) mit dem zweiten Teilnehmer (22) kommunizieren kann, dadurch gekennzeichnet, dass das Netzwerk (20) Mittel umfasst, alle Schritte eines Verfahren nach einem der Ansprüche 1 bis 15 durchzuführen.

17. Vorrichtung, welche dazu eingerichtet ist, als Teilnehmer an einem Netzwerk (20) alle Schritte des Verfahrens nach Anspruch 15 durchzuführen.

18. Computerprogramm, welches dazu eingerichtet ist, alle Schritte eines der Verfahren nach einem der Ansprüche 1 bis 15 durchzuführen.

19. Maschinenlesbares Speichermedium mit einem darauf gespeicherten Computerprogramm nach Anspruch 18.

Description:
Verfahren zur Erzeugung eines Geheimnisses oder Schlüssels in einem Netz- werk

Die vorliegende Erfindung betrifft ein Verfahren zur Erzeugung 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 Übertra- gungsmedium. 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 domi- nantes 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 Anwendungsberei- chen 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 kryptogra- phische 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 gerin- gen 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üsselma- nagement 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 Auf- wand möglich.

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 AI und in der DE 102009045133 AI 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 AI sowie DE 10 2014 209042 AI beschrieben.

Verfahren zur Prüfsummenberechnung beim Controller Area Network (CAN) und beim CAN-FD sind der DE 10 2011 080476 AI zu entnehmen.

Die nicht vorveröffentlichte DE 10 2015 207220 AI offenbart ein Verfahren zur Erzeugung eines gemeinsamen Geheimnisses bzw. eines geheimen, symmetrischen Schlüssels mittels öffentlicher Diskussion zwischen zwei Kommunikationsteilnehmern.

Offenbarung der Erfindung

Die Verfahren zur Generierung eines Geheimnisses bzw. eines kryptographi- schen 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 5 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 Foli o genden 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

15 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

20 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 Über- 25 lagerung 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 Teil- 30 nehmer 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 35 beispielsweise der Fall gemeint, dass ein Knoten einen rezessiven Pegel anle- gen 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 Übertra- gungsmedium 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.

Im Rahmen eines solchen Verfahrens zur Generierung eines gemeinsamen Geheimnisses bzw. symmetrischer kryptographischer Schlüssel mittels öffentlicher Diskussion unter Ausnutzung von PHY-Layer-Eigenschaften soll nun sicher gestellt werden, dass dieses Verfahren keine Prüfwertfehler bzw. Prüfsummenfeh- ler (z.B. im Rahmen einer zyklischen Redundanzprüfung) hervorruft, sofern die verwendeten Nachrichtenformate die Übertragung entsprechender Prüfwerte bzw. Prüfsummen vorsehen. Dazu überträgt mindestens eines der beteiligten Netzwerkteilnehmer eine Prüfwertfolge auf dem gemeinsamen Kommunikationskanal - allerdings generiert er diese nicht auf Basis der von ihm übertragenen In- formationen (oder Wertfolge), sondern auf Basis der auf dem verbindenden

Kommunikationskanal detektierten Überlagerungswertfolge. Dies trägt unter anderem dazu bei, die Kompatibilität dieses Schlüsseletablierungsverfahrens zu bereits heute verfügbaren Standardkomponenten (Hardware/Software, z.B. CAN- Controller) zu erhöhen.

Zusätzlich zur Vermeidung von Prüfwertfolgenfehlern bzw. Prüfsummenfehlern wird mit einem solchen Verfahren eine Überprüfung ermöglicht, ob die detektierten bzw. extrahierten Rohinformationen für die zu generierenden Schlüssel bei den involvierten Teilnehmern (mit hoher Wahrscheinlichkeit) identisch sind, so dass gegebenenfalls zusätzlicher Overhead für eine separate Überprüfung ein- gespart werden kann. Die Überprüfung kann insbesondere erfolgen, indem ein Teilnehmer die detektierte Prüfwertfolge auf dem Kommunikationskanal mit der selbst ermittelten Prüfwertfolge vergleicht.

Die Prüfwertfolge wird vorzugsweise direkt nach der Überlagerungswertfolge übertragen, falls die übertragenden Teilnehmer hierzu in der Lage sind. Ansonsten kann in einer alternativen Ausgestaltung die Prüfwertfolge auch in einem vorbestimmten Abstand zur Überlagerungswertfolge übertragen werden. Diese Variante hat den Vorteil, dass die Teilnehmer mehr Zeit zur Berechnung der Prüfwertfolge haben und damit weniger Anforderungen an die Ausgestaltung der Teilnehmer bestehen und das Verfahren weniger fehleranfällig ist.

Um keine Schwächung des gemeinsamen Schlüssels zuzulassen, sollte die (auch für einen Angreifer sichtbare) Prüfwertfolge vorzugsweise zu dessen Generierung nicht herangezogen wird.

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 Übertragungskanal anlegt, und einen rezessiven Wert (physikalisch: ein rezessives Signal), der auf dem Übertragungskanal 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 Überlagerungsfolgen besonders einfach Informationen zur Schlüsselgenerierung ableiten.

Die Teilnehmerwertfolgen, welche von den Teilnehmern weitgehend simultan auf den Übertragungskanal gegeben werden, werden im Vorfeld in den jeweiligen Teilnehmern selbst mit Hilfe eines Zufallsgenerators oder Pseudozufallsgenera- tors erzeugt. Da die resultierende Überlagerungsfolge auf dem Übertragungskanal einem potentiellen Angreifer zugänglich sein kann, ist es für die Sicherheit der späteren Kommunikation besonders vorteilhaft, wenn es der Angreifer möglichst schwer hat, auf die einzelnen Wertfolgen der Teilnehmer zu schließen, wenn diese also in den Teilnehmern lokal sowie zufällig oder zumindest pseudozufällig erzeugt werden. 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 für weitere Kommunikationssysteme wie LIN und I2C sind die Verfahren gut geeignet.

Alternativ kann das Verfahren aber zum Beispiel auch in einem Netzwerk mit On- Off-Keying-Amplitudenumtastung eingesetzt werden. Hier ist ebenfalls die Überlagerung festgelegt, indem den Teilnehmern als Signale„Übertragung" und„keine Übertragung" zur Auswahl stehen und das Überlagerungssignal dem Signal „Übertragung" entspricht, wenn einer oder beide der Teilnehmer übertragen, und dem Signal„keine Übertragung" entspricht, wenn beide Teilnehmer nicht übertragen.

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 entspre- chenden 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

Fig. 1 schematisch den Aufbau eines beispielhaften, zugrundeliegenden Kommunikationssystems,

Fig. 2 schematisch einen linearen Bus als Beispiel eines zugrundeliegenden Kommunikationssystems,

Fig. 3 schematisch beispielhafte Signalfolgen zweier Teilnehmer eines Netzwerks sowie eine resultierende Überlagerungswertfolge auf einem Übertragungskanal zwischen den Teilnehmern,

Fig. 4 schematisch den Ablauf eines beispielhaften Verfahrens zur Schlüsselge- nerierung zwischen zwei Teilnehmern eines Netzwerks,

Fig. 5 ein CAN- Datentelegramm im so genannten Base Frame Format und

Fig. 6 einen beispielhaften Ablauf eines Abgleichs zwischen detektierter und berechneter Prüfwertfolge.

Beschreibung der Ausführungsbeispiele

Die vorliegende Erfindung bezieht sich auf ein Verfahren zur Generierung eines gemeinsamen Geheimnisses bzw. (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 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 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.

Die vorliegende Erfindung beschreibt einen Ansatz, mit dem automatisiert symmetrische kryptographische Schlüssel in einem, bzw. insbesondere zwischen zwei Knoten eines Netzwerks generiert werden können. 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 Fig. 1 dargestellt ist. Dabei können verschiedene Teilnehmer 2, 3 und 4 über ein so genanntes geteiltes Übertragungsmedium C,shared medium") 10 miteinander kommunizieren. In einer vorteilhaften Ausprägung der Erfindung entspricht dieses geteilte Ubertragungsmedium einem linearen Bus (drahtgebunden oder optisch) 30, wie er beispielhaft in Fig. 2 dargestellt ist. Das Netzwerk 20 in Fig. 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 Übertra- gungszustände unterschieden werden: Im ersten Fall (Wert ,Οη', 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 ,Οη' 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 Fig. 3 ist beispielsweise dargestellt, wie ein Teilnehmer 1 (Tl) die Bitfolge 0, 1, 1, 0, 1 zur Sendung zwischen den Zeitpunkten tO und t5 über den Übertragungskanal bereit hält. Teilnehmer 2 (T2) hält die Bitfolge 0, 1, 0, 1, 1 zur Sendung zwischen Zeitpunkten tO 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 tl und t2 sowie zwischen t4 und t5 sehen sowohl Teilnehmer 1 (Tl) 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 de- tektieren 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 an- hand von Fig. 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 Pseudozu- fallszahlengenerators erzeugt.

Beispiel für lokale Bitfolgen der Länge 20 Bits:

Erzeugte Bitsequenz von Teilnehmer 1:

Su = 01001101110010110010

' Erzeugte Bitsequenz von Teilnehmer 2:

S T2 = 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, ent- sprechend 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 Überlagerungs bitfolge für die obigen, lokalen Bitfolgen:

• Effektive Bitsequenz auf dem Übertragungskanal:

Seft = Su AND S T2 = 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 S e ff 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 ,Οη-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 ,Οη' 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 STI 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 S e ff auf dem geteilten Übertragungsmedium.

Beispiel für die obigen Bitfolgen:

Invertierte Bitsequenz von Teilnehmer 1:

Sn = 10110010001101001101

Invertierte Bitsequenz von Teilnehmer 2:

S T2 ' = 01101110010010110100

' Effektive, überlagerte Bitsequenz auf dem Kanal:

Seff' = Sn AND S T2 ' = 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 S e ff und Seff'. Im Gegensatz zum Angreifer bzw. dritten Teilnehmer kennt aber Teilnehmer 1 noch seine initial erzeugte, lokale Bitsequenz STI 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 (S e ff und S e ff') , insbesondere mit ei ¬ ner logischen ODE R- Funktion.

Beispiel für die obigen Bitfolgen:

S g es = Seff OR Seff' = 00100011100000000110

Die einzelnen Bits in der aus der ODE R-Verknüpfung resultierenden Bitsequenz (Sges) geben nun an, ob die entsprechenden Bits von STI und ST2 identisch oder unterschiedlich sind. Ist das n-te Bit innerhalb von S ges beispielsweise eine ,0', so bedeutet dies, dass das n-te Bit innerhalb von S TI invers zu dem entsprechenden Bit innerhalb von S T2 ist. Gleichermaßen gilt, dass wenn das n-te Bit innerhalb von Sges eine ,1' ist, die entsprechenden Bits innerhalb von SANce und Sßob iden ¬ tisch sind.

Teilnehmer 1 und Teilnehmer 2 streichen daraufhin in Schritt 48 basierend auf der aus der ODE R-Verknüpfung erhaltenen Bitsequenz S ges in ihren ursprüngli- chen, initialen Bitsequenzen S TI und S T2 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:

Su,v = 01011100101100

Verkürzte Bitsequenz von Teilnehmer 2:

S T2 ,v = 10100011010011

Die resultierenden, verkürzten Bitsequenzen STI.V und ST2,V sind nun gerade in- vers 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 Teil- nehmer 1 und Teilnehmer 2 in Schritt 49 jeweils lokal auf geeignete Art und Wei- se 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) krypto- graphischen 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 (S e ff und S e ff') 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üsselgene- rierung) 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 vielen gängigen Kommunikationssystemen (z.B. CAN) sind die zu übertragenden Nachrichten mit einer Prüfsumme bzw. Prüfwertfolge versehen (z.B. Cyclic Redundancy Checksum (CRC)), mit deren Hilfe der oder die Empfänger einer Nachricht mögliche Fehler bei der Übertragung detektieren kann bzw. können. Bei einem typischen Aufbau eines solchen Nachrichtenrahmens wird der eigent- liehen Nachricht eine entsprechende Prüfsumme bzw. Prüfwertfolge beigefügt, insbesondere angehängt. Im Allgemeinen ergibt sich die Prüfsumme bzw. Prüfwertfolge als eine Funktion der abzusichernden Bits. Die Prüfsumme bzw. Prüfwertfolge sichert damit einen Teil der eigentlichen Nachricht oder die komplette eigentliche Nachricht ab, wobei das Prüfsummenfeld bzw. das Feld für die Prüfwertfolge selbst ebenfalls bei der Bestimmung der Prüfsumme bzw. Prüfwertfolge mit einbezogen werden kann, aber nicht muss.

Speziell für den Fall von CAN ist in Figur 5 ein Datentelegramm im so genannten Base Frame Format dargestellt. Das Prüfsummenfeld bzw. Prüfwertfolgenfeld (Cyclic Redundacy Checksum oder CRC) hat hierbei eine Länge von 15 Bits und sichert den Teil des CAN-Rahmes ab, der sich vom , Start of Frame'-Bit bis zum letzten Datenbit des ,Data Field' erstreckt. Speziell für den Fall einer zyklischen Redundanzprüfung entspricht die Prüfsumme bzw. Prüfwertfolge (C RC) im Wesentlichen dem Rest einer Polynomdivision der abzusichernden Bitsequenz mit einem speziellen, vorgegebenen Generatorpolynom. Im Fall von (Standard-) CAN (Version 2.0) ist dieses Generatorpolynom wie folgt spezifiziert:

G(x =x 15 + x 14 + x 10 + x 8 + x 1 + x 4 + x 3 + 1

Die damit erzielbare Hamming-Distanz beträgt h = 6, so dass maximal 5 Bitfehler sicher detektiert werden können.

Soll nun eines der vorgeschlagene Verfahren zur Generierung eines gemeinsa- men, geheimen Schlüssels zwischen zwei Teilnehmern eines Kommunikationssystems eingesetzt werden, bei dem eine Prüfsummenabsicherung bzw. Prüfwertabsicherung vorgesehen ist, so kann es bei der Verwendung von Standard- Nachrichtentypen zu entsprechenden Prüfsummen- bzw. Prüfwertfehlern kommen, im Fall von CAN z. B. zu einem„CRC-Error". Dies führt dann möglicher- weise dazu, dass die entsprechenden Nachrichten von den involvierten Teilnehmern verworfen werden oder von diesen oder anderen Teilnehmern spezielle Fehlernachrichten („Error Frames") gesendet werden. Anstelle der oder zusätzlich zu den Standard- Nachrichtentypen spezielle neue Nachrichtentypen einzuführen, soll insbesondere aus Kompatibilitätsgründen vermieden werden. Die potenziellen Prüfsummen- bzw. Prüfwert- Fehler bei Anwendung der beschriebenen Schlüsselgenerierungsverfahren liegen darin begründet, dass bei diesen Verfahren die effektiven Bits bzw. Signalpegel auf dem gemeinsam genutzten Übertragungsmedium bei der simultanen Übertragung des ersten und des zweiten Teilnehmers in Schritt 43 von beiden Teilnehmern abhängen, z.B. unter der Annahme eines Kommunikationssystems mit rezessivem Bit ,1' und dominantem Bit ,0' auf logischer Ebene einer UND-Verknüpfung der beiden Einzelnachrichten der Teilnehmer entsprechen. Da in diesem Fall die logische UND- Verknüpfung zweier Prüfsummen bzw. Prüfwertfolgen (z.B. CRCs) nicht der kor- rekten Prüfsumme bzw. Prüfwertfolge der logischen UND-Verknüpfung der diesen Prüfsummen bzw. Prüfwertfolgen zugrundeliegenden Bitsequenzen entspricht, würde die Überprüfung des Prüfsummenfeldes bzw. des Feldes für die Prüfwertfolge der effektiven Nachricht auf dem gemeinsam genutzten Übertragungsmedium regelmäßig fehlschlagen. Dies wiederum kann in bestimmten Kommunikationssystemen bei der Verwendung von Standard- Hardware bzw. -

Software problematisch sein, unter anderem beispielsweise aus folgenden Gründen:

1) Sowohl Teilnehmer 1 als auch Teilnehmer 2 könnten je nach Kommunikati- onssystem die effektive Nachricht, die sich aus der Überlagerung der jeweils gesendeten Einzelnachrichten auf dem gemeinsam genutzten Übertragungsmedium ausbildet, aufgrund der fehlerhaften Prüfsumme bzw. Prüfwertfolge ggf. direkt verwerfen, ohne den Inhalt auszuwerten. Dies würde dann eine Schlüsseletablie- rung gemäß den beschriebenen Verfahren unmöglich machen. Dieser Fall ist insbesondere dann kritisch, wenn die Teilnehmer Standardkomponenten einsetzen und Rahmen mit fehlerhaften Prüfsummen bzw. Prüfwertfolgen sofort von der Hardware bzw. Low- Level-Software verworfen werden, ohne dass eine Weitergabe und Auswertung des Inhalts an nachgeschaltete Software- bzw. Hardwarekomponenten erfolgt, die ggf. die eigentliche Funktionalität der beschriebe- nen Verfahren zur Schlüsselgenerierung implementieren (z.B. im Fall einer reinen Softwarelösung).

2) Auch andere, nicht unmittelbar an der Schlüsseletablierung beteiligte Teilnehmer könnten detektieren, dass ein ungültiger Rahmen über das gemeinsam ge- nutzte Übertragungsmedium übertragen wird (im Sinne eines Rahmens mit un- gültiger Prüfsumme bzw. Prüfwertfolge), und je nach Kommunikationssystem infolgedessen eine spezielle Fehlernachricht an alle Teilnehmer senden, um dies den anderen Teilnehmern anzuzeigen und die Übertragung weiterer Nachrich- ten(-teile) gegebenenfalls abzubrechen. Dieser Fall wäre demzufolge selbst dann relevant, wenn Teilnehmer 1 und 2 über spezielle Hardware- bzw. Softwarekomponenten verfügen, die im Falle der Schlüsseletablierung auch mit einer Verletzung der Prüfsumme bzw. Prüfwertfolge der effektiven Nachrichten auf dem gemeinsam genutzten Übertragungsmedium zurechtkommen, die anderen Teilnehmer aber nicht. Auch in diesem Fall wäre der sinnvolle Einsatz der beschrie- benen Verfahren zur Schlüsselgenerierung nicht bzw. nur sehr eingeschränkt möglich.

Um dies zu vermeiden, aber dennoch weitestgehend kompatibel mit bereits verfügbaren Transceivern und Controllern zu sein, wird im Folgenden ein Ansatz vorgeschlagen, der die beschriebenen Verfahren derart erweitert, dass Prüfsummen- bzw. Prüfwertfehler verhindert werden und sich somit die Kompatibilität dieser Schlüsseletablierungsverfahren zu bereits heute verfügbaren Systemen und Standardkomponenten (z.B. CAN) erhöht. Darüber hinaus kann diese Erweiterung gleichzeitig auch dafür verwendet werden, sicherzustellen, dass die Ro- hinformationen für die zu generierenden Schlüssel bei den involvierten Teilnehmern mit hoher Wahrscheinlichkeit identisch sind, so dass zusätzlicher Overhead für eine separate Überprüfung eingespart werden kann.

Es wird vorgeschlagen, dass Teilnehmer 1 und Teilnehmer 2 nicht separat für die lokal erzeugten und übertragenen Bitsequenzen eine Prüfsumme bzw. Prüfwertfolge berechnen (und übertragen), sondern zunächst die eigentlichen Bitsequenzen synchron übertragen und die sich dabei einstellenden effektiven Signalpegel (= effektive Bits) auf dem gemeinsam genutzten Übertragungsmedium ermitteln. Dies muss im Rahmen des Schritts 44 ohnehin erfolgen. Daraufhin ermitteln bei- de Teilnehmer für die sich ergebende effektive Bitsequenz die dazu passende

Prüfsumme bzw. Prüfwertfolge und übertragen diese dann wiederum gleichzeitig in einem vorgesehenen Feld. Im Fall von CAN (siehe Figur 5) könnten die lokal generierten (und im allgemeinen Fall unterschiedlichen) Bitsequenzen beispielsweise mit Hilfe des ,Data Fields' gleichzeitig übertragen werden und im sich un- mittelbar daran anschließenden , CRC-Feld würde dann dynamisch die Prüf- summe bzw. Prüfwertfolge übertragen werden, Teilnehmer 1 und Teilnehmer 2 jeweils basierend auf der effektiv auf dem CAN-Bus anliegenden Bitsequenz ermittelt haben. In der weiteren Beschreibung wird der Begriff Prüfsumme als Beispiel für eine Prüfwertfolge verwendet.

Beispiel:

Zufällige, initiale Bitfolge von Teilnehmer 1:

011010110110101

Zufällige, initiale Bitfolge von Teilnehmer 2:

010100001111011

Es wird angenommen, dass die Prüfsumme aus 2 Bits besteht, wobei das erste Bit der Parität aller ungeraden Stellen einer Bitsequenz entspricht (also Bit 1, 3, 5, ....) und das zweite Bit entsprechend der Parität aller geraden Stellen einer Bitsequenz (also Bit 2, 4, 6, ...).

Für obiges Zahlenbeispiel erhielte man somit als lokale Prüfsummen für die lokalen Bitfolgen der Teilnehmer:

Prüfsumme der Bitfolge von Teilnehmer 1: 01

Prüfsumme der Bitfolge von Teilnehmer 2: 11

Würden diese Prüfsummen jeweils einfach durch die Teilnehmer an die zugehörigen zufälligen Bitfolgen angehängt, so erhielte man folgende Nachrichten (die Prüfsummenbits sind jeweils unterstrichen):

Bitfolge von Teilnehmer 1 inkl. Prüfsumme:

01101011011010101

Bitfolge von Teilnehmer 2 inkl. Prüfsumme:

01010000111101111 Die effektive Bitsequenz auf dem Übertragungsmedium im Fall logischer UND- Verknüpfung der Einzelnachrichten sähe dann folgendermaßen aus:

01000000011000101

Die effektiven Prüfsummenbits sind dabei wieder unterstrichen. Würde man dagegen für die effektive Bitsequenz (ohne Prüfsumme) separat die korrekte Prüfsumme ermitteln, so würde man die Folge ,00' erhalten, die ganz offensichtlich nicht gleich den unterstrichenen Werten ,01' entspricht. Wie zuvor geschildert könnte dies dann zur Folge haben, dass die effektive Bitsequenz auf dem Übertragungsmedium verworfen wird und/oder manche Teilnehmer aufgrund der verletzten Prüfsumme eine spezielle Fehlernachricht senden.

Mit dem vorgeschlagenen Verfahren zur Prüfsummenberechnung bestimmen bzw. detektieren Teilnehmer 1 und Teilnehmer 2 dagegen zunächst die effektive Bitfolge auf dem Übertragungskanal (also den reinen Informationsteil obiger Nachricht ohne die unterstrichenen Prüfbits). Für diese effektive Bitfolge ermitteln sie dann jeweils korrekte Prüfsumme hängen und diese unmittelbar an die effektive Bitfolge (also den Informationsteil der Nachricht) an. In diesem Fall ergibt sich somit:

Tatsächlich gesendete Bitfolge von Teilnehmer 1, inklusive Prüfsumme (unterstrichen):

01101011011010100

Tatsächlich gesendete Bitfolge von Teilnehmer 2, inklusive Prüfsumme (unterstrichen):

01010000111101100

Effektive Bitfolge auf dem Medium, inklusive Prüfsumme (unterstrichen):

01000000011000100

Die Prüfsummen der Einzelnachrichten der Teilnehmer 1 und 2 scheinen somit zunächst beim Senden falsch, sofern man sie auf die entsprechenden Einzelnachrichten bezieht. Dafür erhält man aber als Überlagerung der Prüfsummen auf dem Übertragungsmedium eine korrekte Prüfsumme für die sich effektiv auf dem gemeinsam genutzten Übertragungsmedium ausbildende Nachricht, so dass diese von keinem Teilnehmer verworfen wird und auch keine Fehlernachricht generiert wird. Mit diesem Vorgehen sind die tatsächlich gesendeten Nachrichten (inkl. Prüfsummen) der Teilnehmer 1 und 2 nicht mehr notwendigerweise invers zueinander sind, da die Prüfsumme einer invertierten Bitsequenz nicht zwingenderweise der inversen Prüfsumme der nicht-invertierten Bitsequenz entspricht.

In Schritt 44 gemäß den oben dargestellten Verfahren ermitteln sowohl Teilnehmer 1 als auch Teilnehmer 2 jeweils die effektive Bitsequenz auf dem gemeinsam genutzten Übertragungsmedium. Die dabei ermittelten Werte stellen dann die Grundlage für die Erzeugung der eigentlichen, symmetrischen kryptographi- schen Schlüssel dar. Detektieren Teilnehmer 1 und 2 unterschiedliche effektive Bitsequenzen (z.B. aufgrund von Quantisierungs- bzw. Übertragungsfehler), so schlägt in der Regel auch die nachgeschaltete Ableitung der eigentlichen symmetrischen Schlüssel fehl, da die zugrundeliegenden Rohinformationen nicht identisch sind. In einem praktischen System sollte daher vorteilhafterweise überprüft werden, ob derartige Fehler aufgetreten und somit die abgeleiteten Schlüssel wirklich symmetrisch sind. Dies kann von dem vorgeschlagenen Verfahren zur Prüfsummen- Erzeugung bis zu einem gewissen Grad ebenfalls geleistet werden.

Hierzu überprüfen beide Teilnehmer, ob die gesendeten Prüfsummen, die an die eigentlichen, lokalen Bitfolgen angehängt werden, mit denen sich effektiv auf dem Kanal ausbildenden Prüfsummen übereinstimmen. Das heißt, falls Teilnehmer 1 z.B. die Prüfsumme ,0 1' basierend auf der effektiv sich auf dem gemeinsamen Übertragungsmedium ausbildenden Informations-Bitsequenz bestimmt und direkt im Anschluss an diese Informations-Bitsequenz überträgt, sollte diese Prüfsumme sich auch effektiv auf dem Übertragungsmedium ausbilden. Dies ist insbesondere dann nicht der Fall, wenn Teilnehmer 1 an einer oder mehreren Stellen ein rezessives Bit überträgt während Bob an mindestens einer der Stellen ein dominantes Bit überträgt und vice versa. Ist diese Bedingung nicht erfüllt, so bedeutet dies mit hoher Wahrscheinlichkeit, dass Teilnehmer 1 und Teilnehmer 2 unterschiedliche Informations-Bitsequenzen detektiert haben (da eine Fehlberechnung oder Fehlübertragung der Prüfsummen bzw. eine Fehldetektion der im Vergleich zur Nachricht in der Regel recht kurzen effektiven Prüfsumme unwahrscheinlichere Fehlerquellen sind). In diesem

Fall sollte der Schlüsseletablierungsvorgang entweder abgebrochen bzw. neu gestartet werden oder es ist zusätzlich noch eine so genannte„Information Reconciliation"-Phase anzuschließen, mit der ggf. vorhandene Fehler korrigiert werden können. Ein Beispiel für ein entsprechendes„Information Reconciliation"- Protokoll ist das aus der Quantenkryptographie bekannte CASCADE-Protokoll.

Ist die obige Bedingung hingegen erfüllt, dann impliziert das, dass Alice und Bob mit hoher Wahrscheinlichkeit dieselben Informations-Bitsequenzen detektiert haben. Im allgemeinen Fall ist diese Wahrscheinlichkeit aber nie 100%, da es im- mer eine Restwahrscheinlichkeit gibt, dass man trotz möglicher Bitfehler in der

Informations-Bitsequenz dieselbe Prüfsumme erhält. Diese Restfehlerwahrscheinlichkeit kann aber je nach Systemauslegung in den meisten Fällen vernachlässigbar klein werden. In einer zweiten, abgewandelten Ausführungsform der Prüfsummenabsicherung überträgt lediglich einer der beteiligten Teilnehmer 1 und 2 die Prüfsumme für die effektiv sich auf dem Kanal ausbildende Bitsequenz in dem dafür vorgesehenen Teil des verwendeten Nachrichtenrahmens. Zur Festlegung, welcher der beteiligten Teilnehmer dies tun soll, sind wiederum verschiedene Optionen möglich. So könnte dies beispielsweise immer derjenige Teilnehmer sein, der die Schlüssel- etablierung initiiert oder nicht initiiert hat oder es könnte vorkonfiguriert werden.

Wird nur die Übertragung der Prüfsumme auf einen Teilnehmer beschränkt, aber beide Teilnehmer 1 und 2 bestimmen bzw. berechnen die Prüfsumme, dann kann die zuvor beschriebene Restfehlerwahrscheinlichkeit, dass Teilnehmer 1 und Teilnehmer 2 unterschiedliche Informations-Bitsequenzen detektiert haben, aber dies über die Prüfsumme nicht feststellen können, für bestimmte Übertragungsysteme weiter reduziert werden. Übertragen z.B. auf einem CAN- Bus beide Teilnehmer die effektive Prüfsumme im Anschluss an den eigentlichen Informationsteil, können sie lediglich feststellen, ob der andere Teilnehmer an ei- ner bestimmte Stelle ein anderes Prüfsummenbit überträgt als sie selbst, wenn sie selbst ein rezessives Bit übertragen. Mit der beschriebenen Abwandlung hingegen sendet einer der Teilnehmer die von ihm ermittelte Prüfsumme während der andere Teilnehmer diese Prüfsumme komplett detektieren und dann mit der von ihm lokal ermittelten (aber nicht übertragenen) Prüfsumme vergleichen kann. Stimmen beide nicht überein, so müsste in diesem Fall der zweite Teilnehmer eine entsprechende Fehlerbehandlung starten, da der erste Teilnehmer in diesem Fall zunächst keinerlei Möglichkeit hat, einen möglichen Fehler selbst zu detektieren.

In manchen Kommunikationssystemen bzw. mit manchen Hardware- bzw. Softwarekomponenten könnte es sein, dass ein Teilnehmer nicht in der Lage ist, die Prüfsumme basierend auf der effektiv sich auf dem gemeinsam genutzten Übertragungsmedium ausbildenden Informations- Bitsequenz schnell genug zu ermitteln, um sie unmittelbar im Anschluss daran zu übertragen. Mögliche Gründe hierfür sind insbesondere Verarbeitungslatenzen in einem Teilnehmer. Daher besteht die Möglichkeit, das erfindungsgemäße Verfahren wie im folgenden dritten Ausführungsbeispiel so abzuwandeln, dass zwischen der Ausbreitung der effektiven Informationsbitsequenz, die den Prüfsummen zugrunde liegt, und der Übertragung der Prüfsummen, ein Zeitabstand vorgesehen wird, um die zur Berechnung der Prüfsumme zur Verfügung stehende Zeit zu erhöhen.

Nach der synchronen Übertragung der lokal erzeugten, zufälligen Informations- Bitsequenzen der Teilnehmer 1 und 2 können hierzu vorzugsweise noch ein paar zusätzliche Bits von beiden Teilnehmern übertragen werden, die z.B. vorher auf geeignete Art und Weise festgelegt sind (z.B. könnte einfach immer eine feste Bitfolge verwendet werden). Diese Zusatz-Bits müssen dabei im Gegensatz zu den eigentlichen Informations-Bitsequenzen in den weitgehend synchronen Übertragungen der beiden Teilnehmer identisch sein. Die Anzahl der einzufügenden Zusatz-Bits hängt von der benötigten zusätzlichen Zeit zur Ermittlung der Prüfsumme ab.

Wie zuvor ermitteln nun beide Teilnehmer immer die effektiv sich auf dem Kanal ausbildenden Informations-Bitsequenzen. Da die im Anschluss daran zunächst zu übertragenden Zusatz-Bits den beiden Teilnehmern bekannt sind, kennen beide Teilnehmer bereits nach der Übertragung der eigentlichen Informations- Bitsequenzen die komplette Nachricht, auf der die Prüfsumme basieren soll, (also bestehend aus Informations-Bits und Zusatz-Bits) und können damit bereits mit der Berechnung der Prüfsumme für diese komplette Nachricht beginnen, während noch die Zusatz- Bits übertragen werden.

Im Anschluss an die Übertragung der Zusatz-Bits sollte die Berechnung der Prüfsumme dann abgeschlossen sein, so dass diese von beiden oder einem der Teilnehmer (entsprechend dem ersten oder dem zweiten Ausführungsbeispiel) direkt übertragen werden kann.

Ein Nachteil dieses Ausführungsbeispiels besteht darin, dass mit den Zusatz-Bits ein zusätzlicher Overhead generiert wird. Dafür können aber eben wie geschildert die Latenzanforderungen an die Signalverarbeitung der involvierten Teilnehmer reduziert werden.

Für die weitere Verarbeitung im Rahmen der Schlüsselgenerierung bzw. - etablierung werden die Prüfsummen nicht mehr weiter berücksichtigt, sondern vorher empfangsseitig einfach verworfen bzw. abgeschnitten.

Die vorgestellten Verfahren stellen 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 Bits (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 An- satz 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.

Wie zuvor beschrieben können die Prüfsummen bzw. Prüfwertfolgen durch die Netzwerkteilnehmer genutzt werden, um zu überprüfen, ob die gleiche Informa- tions- Bitsequenz auf dem Übertragungskanal detektiert wurde (was die Voraussetzung zur sicheren Etablierung eines gemeinsamen kryptografische Geheimnisses ist). Dabei ist allerdings nicht sichergestellt, dass beide beteiligten Netzwerkteilnehmer in jedem Szenario gleichermaßen in der Lage sind, die Abweichung vom individuell bestimmten Prüfwert zum vom Übertagungskanal zurück gelesenen Prüfwert zu erkennen. Insbesondere kann es vorkommen, dass einer der beteiligten Netzwerkteilnehmer eine Abweichung erkennt, der andere hingegen jedoch nicht. Daher wird für diese Fälle der Start einer entsprechenden Fehlerbehandlung vorgeschlagen. In Fig. 6 ist ein beispielhafter Gesamtablauf eines Verfahrens zur Generierung eines Geheimnisses auf Basis einer Wertfolgen-Überlagerung sowie zur Überprüfung der detektierten Wertfolgen-Überlagerung auf Basis einer detektierten Prüfwertfolge gezeigt. In einem ersten Schritt 61 wird das Verfahren gestartet. In einem zweiten Schritt

62 erfolgen die Schritte zur Etablierung eines kryptografischen Geheimnisses, insbesondere die (weitgehend) synchrone Überlagerung von Wertfolgen durch die zwei Netzwerkteilnehmer und die Absicherung der Übertragung durch eine Prüfwertfolge wie zuvor beschrieben. In einem dritten Schritt 63 wird durch min- destens einen der beteiligten Netzwerkteilnehmer die auf dem Übertragungska- nal resultierende Prüfwertfolge detektiert. In einem vierten Schritt 64 wird die detektierte Prüfwertfolge mit einer selbst berechneten (und gegebenenfalls übertragenen) Prüfwertfolge verglichen und auf Übereinstimmung überprüft.

Stimmen die detektierte und die selbst berechnete Prüfwertfolge überein, so wird von Schritt 64 in Schritt 65 verzweigt und das Verfahren zur Überprüfung der Überlagerungswertfolge anhand von Prüfwerten wird ohne erkannten Fehler beendet. Eine Fehlerbehandlung kann in diesem Fall trotzdem auftreten, sofern nämlich der andere Netzwerkteilnehmer eine Abweichung detektiert und die Fehlerbehandlung entsprechend antriggert.

Stimmen die detektierte und die selbst berechnete Prüfwertfolge nicht überein, so wird von Schritt 64 zu Schritt 66 verzweigt. In Schritt 66 sendet der überprüfende Netzwerkteilnehmer eine Fehlernachricht, insbesondere benachrichtigt er den zweiten, ebenfalls beteiligten Netzwerkteilnehmer.

Wenn beide Netzwerkteilnehmer eine Abweichung detektieren, können beide eine entsprechende Nachricht schicken (sequentiell oder ggf. überlagernd) oder auch nur derjenige Knoten, der diese zuerst sendet.

Je nach Konfiguration kann das Verfahren dann von Schritt 66 in Schritt 65 verzweigt werden und damit beendet werden oder in Schritt 67 verzweigt werden. Schritt 67 entspricht einer Wartezeit, nach der durch eine Verzweigung auf Schritt 61 das Verfahren wieder gestartet werden kann.

Im Folgenden soll der Schritt 66, die Inkenntnissetzung des jeweiligen Kommunikationspartners, näher beleuchtet werden. Durch die Mitteilung der Nicht- Übereinstimmung des detektierten mit dem berechneten Prüfwert haben beide Kommunikationspartner den gleichen Kenntnisstand und können insbesondere auf eine Nutzung des etablierten, (vermeintlich) gemeinsamen Geheimnisses bzw. kryptographischen Schlüssels verzichten.

Derjenige Netzwerkteilnehmer, der die Nicht-Übereinstimmung durch Überprüfung der Prüfwertfolgen festgestellt hat, hat hierbei verschiedene Möglichkeiten zur Information des zweiten Netzwerkteilnehmers. In einer ersten bevorzugten Ausgestaltung sendet der überprüfende Netzwerk- teilnehmer hierzu ein Signal - über das gleiche Kommunikationssystem oder einen anderen physikalischen Übertragungsweg. Zum Beispiel kann der überprü- fende Netzwerkteilnehmer direkt nach Erkennen der Abweichung damit beginnen, ein physikalisches Signal zu senden, das von dem beteiligten Kommunikationspartner (dem zweiten Netzwerkteilnehmer) entsprechend erkannt wird und die Abweichung signalisiert. Die Erkennung des physikalischen Signals kann darauf basieren, dass durch dieses das spezifizierte Rahmenformat des verwende- ten Kommunikationsprotokolls bewusst verletzt wird. In einem CAN-Netzwerk kann dazu bspw. ein Fehlerrahmen (Error Frame) gesendet werden.

Alternativ kann der überprüfende Netzwerkteilnehmer auch (wiederum über den auch zur synchronen Übertragung der Wertfolgen verwendeten Übertragungska- nal oder ein anderes Kommunikationssystem) eine dedizierte Nachricht an den zweiten Netzwerkteilnehmer senden. Die Nachricht kann den von dem überprüfenden Netzwerkteilnehmer berechneten und /oder den von ihm auf dem Übertragungskanal empfangenen bzw. detektierten Prüfwert beinhalten. Ebenenfalls möglich ist, das Ergebnis (X) einer Funktion, bspw. Hash- Funktion, zu senden, die von dem oder den Prüfwerten abhängt: X = f(CRCc a icuiated, CRCR eC eived) . Wird die Information über berechnete und / oder detektierte Prüfwertfolgen mit übertragen, so ist es für den Kommunikationspartner möglich zu prüfen, ob sich die von den beiden Netzwerkteilnehmern berechneten Prüfwertfolgen tatsächlich unterscheiden. Falls nein, könnte der zweite Netzwerkteilnehmer darauf hinwirken, das etablierte Geheimnis trotz der negativen Überprüfung durch den ersten

Netzwerkteilnehmer zu nutzen. (Dieser Fall kann z.B. auftreten, falls der Vergleich von detektierter und berechneter Prüfwertfolge durch den ersten Netzwerkteilnehmer oder seine Detektion der übertragenen Prüfwertfolge fehlerhaft waren.)

Die Mitteilung kann auch als Teil einer Nachricht sowie gegebenenfalls durch gezieltes Nicht-Übertragen eines vorgesehenen Signals, einer Nachricht oder eines Teils einer Nachricht erfolgen. Auch kann durch den überprüfenden Netzwerkteilnehmer ein automatischer Restart nach Ablauf einer bestimmten Zeit initiiert werden. In einer weiteren alternativen Ausgestaltung kann der überprüfende Netzwerk- teilnehmer auch eine gemäß verwendetem Kommunikationsprotokoll vorgesehene Kommunikationsbestätigung zur Mitteilung an den zweiten Netzwerkteilneh- mer ausnutzen. Er kann z.B. darauf verzichten, eine Bestätigung (Acknowleg- ment) zu senden, oder eine negative Bestätigung (Negative Acknowledgment) übertragen, und damit mitteilen, dass der Vergleich bzw. die Überprüfung der Prüfwertfolgen negativ ausgefallen ist. Im Fall eines CAN-Netzwerks kann der überprüfende Netzwerkteilnehmer z.B. darauf verzichten, ein dominantes Ack- nowledgement-Bit zu senden. Dieses Verfahren führt jedoch nur dann sicher zum gewünschten Erfolg, wenn sich kein weiterer aktiver CAN- Knoten im Netzwerk befindet.

Je nach Eigenschaft des genutzten Kommunikationssystems kann es vorteilhaft sein, das für die Mitteilung verwendete Signal oder die hierzu verwendete Nachricht entweder direkt nach Erkennen der Abweichung zu senden oder das Senden geeignet zu verzögern. Die Verzögerung kann insbesondere bis zum Beginn der nächsten Bitzeit erfolgen. Alternativ kann eine Verzögerung auch bis nach dem kompletten Empfang der Prüfwertfolge vorgesehen werden. So können die Netzwerkteilnehmer in einem weiteren Schritt prüfen, ob sich die berechneten

Prüfwertfolgen tatsächlich unterscheiden oder sich ggf. ein Übertragungsfehler während der Prüfwert- Übertragung ereignet hat.




 
Previous Patent: NETWORK RESOURCE MANAGEMENT

Next Patent: FASTENING ELEMENT