WO2017064025A1 - Method for generating a secret or a key in a network - Google Patents

Method for generating a secret or a key in a network Download PDF

Info

Publication number
WO2017064025A1
WO2017064025A1 PCT/EP2016/074271 EP2016074271W WO2017064025A1 WO 2017064025 A1 WO2017064025 A1 WO 2017064025A1 EP 2016074271 W EP2016074271 W EP 2016074271W WO 2017064025 A1 WO2017064025 A1 WO 2017064025A1
Authority
WO
WIPO (PCT)
Prior art keywords
event
network
network participant
subscriber
value sequence
Prior art date
Application number
PCT/EP2016/074271
Other languages
German (de)
French (fr)
Inventor
Bjoern Kasper
Timo Lothspeich
Andreas Soenkens
Thomas Keller
Thorsten Huck
Andreas Mueller
Thorsten Schwepp
Original Assignee
Robert Bosch Gmbh
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Robert Bosch Gmbh filed Critical Robert Bosch Gmbh
Publication of WO2017064025A1 publication Critical patent/WO2017064025A1/en

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/06Network architectures or network communication protocols for network security for supporting key management in a packet data network
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/08Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
    • H04L9/0816Key establishment, i.e. cryptographic processes or cryptographic protocols whereby a shared secret becomes available to two or more parties, for subsequent use
    • H04L9/0819Key transport or distribution, i.e. key establishment techniques where one party creates or otherwise obtains a secret value, and securely transfers it to the other(s)
    • H04L9/0822Key transport or distribution, i.e. key establishment techniques where one party creates or otherwise obtains a secret value, and securely transfers it to the other(s) using key encryption key
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/08Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
    • H04L9/0861Generation of secret information including derivation or calculation of cryptographic keys or passwords

Abstract

The invention relates to a method for generating a secret in a first network subscriber, wherein the first network subscriber initiates a transmission of at least one first value sequence on a transmission channel in an at least partially synchronous manner for a transmission of at least one second value sequence on the transmission channel by way of a second network subscriber, and detects the secret on the basis of the at least one first value sequence, and on the basis of a superposition of the at least one first value sequence and the at least one second value sequence on the transmission channel. To this end, the first value sequence is transmitted at a time that is coordinated between the first network subscriber (21) and the second network subscriber (22).

Description

Beschreibung Titel  Description title
Verfahren zur Erzeugung eines Geheimnisses oder Schlüssels in einem Netz- werk  A method for creating a secret or key in a network
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. The present invention relates to a method for generating a secret, cryptographic key in a network, in particular the generation of a common, secret key in two participants of the network.
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. Also point-to-point connections are usually counted as networks and should also be addressed here with this term. The two participants communicate via a shared transmission medium. In this case, logical bit sequences (or, more generally, value sequences) are transmitted physically by means of corresponding transmission methods as signals or signal sequences. The underlying communication system may e.g. be a CAN bus. This provides for transmission of dominant and recessive bits or correspondingly dominant and recessive signals, whereby a dominant signal or bit of a participant of the network intersperses against recessive signals or bits. A state corresponding to the recessive signal adjusts itself to the transmission medium only if all participants involved provide a recessive signal for transmission or if all participants transmitting at the same time transmit a recessive signal level.
Stand der Technik State of the art
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. Secure communication between different devices is becoming more and more important in an increasingly networked world and in many applications is an essential prerequisite for the acceptance and thus the economic success of the respective applications. This includes different protection goals, depending on the application, such as the maintenance the confidentiality of the data to be transferred, the mutual authentication of the nodes involved or the assurance of data integrity.
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 be- kannten) 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. In order to achieve these protection goals, suitable cryptographic methods are usually used, which can generally be subdivided into two different categories: first, symmetric methods, in which the sender and receiver have the same cryptographic key, and, on the other hand, asymmetrical methods in which the sender uses the data to be transmitted is encrypted with the public (ie possibly also known to a potential attacker) key of the recipient, but decryption can only be done with the associated private key, which ideally is known only to the recipient.
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 hin- aus 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. One of the disadvantages of asymmetric methods is that they usually have a very high computational complexity. Thus, they are only conditionally for resource constrained nodes, such as e.g. Sensors, actuators, or similar, suitable, which usually have only a relatively low computing power and low memory and energy-efficient work, for example due to battery operation or the use of energy harvesting. In addition, there is often limited bandwidth available for data transmission, making the replacement of asymmetric keys with lengths of 2048 bits or even more unattractive.
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 zuord- nen. Im Fall von Wireless LANs hingegen erfolgt üblicherweise eine manuelleFor symmetric methods, however, it must be ensured that both the receiver and the transmitter have the same key. The associated key management generally represents a very demanding task. In the area of mobile telephony, for example, keys are inserted into a mobile telephone with the aid of SIM cards, and the associated network can then assign the corresponding key to the unique identifier of a SIM card. In the case of wireless LANs, however, usually a manual
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 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. Entering the keys to use (usually by entering a password) when setting up a network. However, such key management quickly becomes very time-consuming and impracticable if one has a very large number of nodes, for example in a sensor network or other machine-to-machine communication systems, eg also CAN based vehicle networks. In addition, a change in the key to be used is often not possible or only with great effort. In current procedures, the keys are generated centrally. The assignment to individual ECUs takes place in a secure environment z. B. in the factory of the vehicle manufacturer. There, the keys are also activated.
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 Method for securing sensor data against tampering and ensuring transaction authentication, e.g. in a motor vehicle network, by means of common encryption methods, e.g. in the DE
102009002396 AI und in der DE 102009045133 AI offenbart. 102009002396 AI and in DE 102009045133 AI discloses.
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. For some time now, the term "physical layer security" has been used to investigate and develop novel approaches that can be used to automatically generate keys for symmetric algorithms based on physical properties of the transmission channels between the nodes involved, using reciprocity and the inherent However, in the case of wired or optical systems in particular, this approach is often only suitable to a limited extent since corresponding channels usually have only a very limited temporal variability and an attacker can draw conclusions about the channel parameters between the transmitter and the receiver relatively well, for example by means of modeling Such methods for secured communication in a distributed system based on channel characteristics of the connected units are not previously published in, for example, US Pat DE Applicants DE 10 2014 208975 AI and DE 10 2014 209042 AI described.
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 Kommunikations- teilnehmern. Offenbarung der Erfindung The non-prepublished DE 10 2015 207220 AI discloses a method for generating a shared secret or a secret symmetric key by means of public discussion between two communication participants. Disclosure of the invention
Die Verfahren zur Generierung eines Geheimnisses bzw. eines kryptographi- schen Schlüssels gemäß den unabhängigen Ansprüchen erfordern keinerlei ma- nuellen Eingriff und ermöglichen somit den automatisierten Aufbau sichererThe methods for generating a secret or a cryptographic key according to the independent claims do not require any manual intervention and thus make the automated construction safer
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üsselge- nerierungsraten bei gleichzeitig sehr kleiner Fehlerwahrscheinlichkeit. Communication relationships between two nodes. In addition, the methods have a very low complexity, in particular with regard to the required hardware design, such as e.g. the required memory resources and computing power, and they are associated with a low energy and time requirements. In addition, the methods offer very high key generation rates with a simultaneously very low probability of error.
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. The methods assume that participants in a network communicate with each other via a communication channel. In particular, they transfer logical sequences of values (in the case of binary logic, bit sequences) with the aid of physical signals on the transmission channel. Even if possible superimpositions take place on the transmission channel through the signals, that is to say on the physical level, in the description below the logical level is primarily considered. Thus, the transferred, logical value sequences as well as their logical overlay are considered.
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. Subscribers of the network can thus give first signals (for example associated with logical bit "1") and second signals (associated, for example, with logical bit "0") to the communication channel and detect resulting signals on the communication channel. Now transmit two participants (largely) at the same time each one signal sequence, the participants can detect the resulting overlay on the communication channel. The effective signal resulting from the (largely) simultaneous transmission of two (independent) signals on the communication channel can then in turn be assigned to one (or more) specific logical values (or values).
Die Übertragung sollte 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. The transmission should be largely synchronous insofar as a superimposition of the individual signals of a signal sequence on the transmission medium takes place, in particular, that the signal corresponding to the n-th logical Value or bit of the first subscriber with the signal corresponding to the n-th logical value or bit of the second subscriber at least partially superimposed. This overlay should be sufficiently long for the participants to be able to record the overlay or determine the corresponding overlay value.
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. The superimposition can be determined by arbitration mechanisms or by physical signal superposition. By arbitration mechanism is meant, for example, the case that a node wants to apply a recessive level, but detects a dominant level on the bus and thus omits the transmission. In this case, there is no physical interference between two signals, but only the dominant signal is seen on the transmission channel.
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. From the resulting value sequence of the overlay and its own value sequence, the participants can then generate a key that is secret to an outside attacker. The reason for this is that the outside attacker, who can listen to the effective overall signals applied to the shared transmission medium, sees only the superimposition of the value sequences, but does not have the information about the individual value sequences of the participants. Thus, the participants have more information that they can use against the attacker to generate a secret key.
Zur Durchführung der Verfahren zur Generierung eines Geheimnisses oder Schlüssels ist es erforderlich, dass die zwei Kommunikationsteilnehmer in einem gewünschten Zeitfenster weitgehend gleichzeitig den gemeinsamen Kanal zur Informationsübermittlung nutzen. Eine solche Synchronisierung der Datenübertragungen der beteiligten Netzwerkteilnehmer passiert vorzugsweise durch die Generierung und Detektion eines bestimmten Ereignisses und einer vorbestimmten oder dynamisch erzeugten Wartezeit nach dem Ereignis, bevor die Übertragung startet. Hierdurch werden die Verfahren zur Geheimnis- bzw. Schlüsselgenerie- rung besonders stabil, bleiben aber sehr flexibel. Für ein besonders effizientes System wird als Ereignis vorteilhafterweise der Empfang einer (bestimmten) Nachricht definiert, insbesondere über den gemeinsamen Übertragungskanal. Das Ereignis kann dabei von einem der beiden Netzwerkteilnehmer, von beiden Netzwerkteilnehmern oder von einer externen Einheit generiert werden. Durch den Einsatz einer externen Einheit kann ein besonders sicheres System ermöglicht werden, allerdings ist hiermit auch besonderer Aufwand verbunden. For carrying out the method for generating a secret or key, it is necessary for the two communication users to use the common channel for information transmission largely simultaneously in a desired time window. Such synchronization of the data transmissions of the participating network subscribers preferably takes place by the generation and detection of a specific event and a predetermined or dynamically generated waiting time after the event before the transmission starts. As a result, the methods for secret or key generation become particularly stable, but remain very flexible. For a particularly efficient system, the reception of a (specific) message is advantageously defined as an event, in particular via the common transmission channel. The event can be generated by one of the two network subscribers, by both network subscribers or by an external unit. By using an external unit, a particularly secure system can be made possible, but this is also associated with special effort.
Noch deterministischer, allerdings nicht mehr so flexibel ist eine alternative Ausgestaltung der Synchronisierung, bei welcher absolute Zeiten bestimmt werden, zu denen die Übertragungen zur Geheimnis- bzw. Schlüsselgenerierung erfolgen sollen. Even more deterministic, but not so flexible is an alternative embodiment of the synchronization, in which absolute times are determined at which the transmissions for secret or key generation should be made.
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 l2C sind die Verfahren gut geeignet. The described methods can be implemented particularly well in a CAN, TTCAN or CAN FD bus system. Here, a recessive bus level is replaced by a dominant bus level. The superimposition of values or signals of the subscribers thus follows defined rules which the subscribers can use to derive information from the superimposed value or signal and the value or signal transmitted by them. Also for other communication systems such as LIN and l 2 C, the methods are well suited.
Ein Netzwerk oder ein Teilnehmer eines Netzwerks sind zur Durchführung der beschriebenen Verfahren insbesondere dadurch eingerichtet, dass sie über die entsprechenden elektronischen Speicher- und Rechenressourcen verfügen. 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. A network or a participant of a network are set up to carry out the described methods in particular by having the corresponding electronic memory and computing resources. Also stored on a storage medium of such a user or on the distributed storage resources of a network may be a computer program configured to perform all the steps of a corresponding method when executed in the subscriber or in the network.
Zeichnungen drawings
Nachfolgend ist die Erfindung unter Bezugnahme auf die beiliegenden Zeichnungen und anhand von Ausführungsbeispielen näher beschrieben. Dabei zeigen The invention is described in more detail below with reference to the accompanying drawings and to exemplary embodiments. Show
Fig. 1 schematisch den Aufbau eines beispielhaften, zugrundeliegenden Kommunikationssystems, Fig. 2 schematisch einen linearen Bus als Beispiel eines zugrundeliegenden Kommunikationssystems, 1 schematically shows the structure of an exemplary, underlying communication system, 2 schematically shows a linear bus as an example of an underlying communication system,
Fig. 3 schematisch beispielhafte Signalfolgen zweier Teilnehmer eines Netzwerks sowie eine resultierende Überlagerungswertfolge auf einem Übertragungskanal zwischen den Teilnehmern, 3 is a schematic illustration of exemplary signal sequences of two subscribers of a network and a resulting subsequence value sequence on a transmission channel between the subscribers,
Fig. 4 schematisch den Ablauf eines beispielhaften Verfahrens zur Schlüsselge- nerierung zwischen zwei Teilnehmern eines Netzwerks, 4 schematically shows the sequence of an exemplary method for generating a key between two subscribers of a network,
Fig. 5 einen beispielhaften Verfahrensablauf zur Synchronisation zweier Netzwerkteilnehmer im Rahmen eines Verfahrens zur Generierung und Etablierung eines gemeinsamen Schlüssels, 5 shows an exemplary method sequence for the synchronization of two network users in the context of a method for generating and establishing a common key,
Fig. 6 einen weiteren beispielhaften Verfahrensablauf zur Synchronisation zweier Netzwerkteilnehmer im Rahmen eines Verfahrens zur Generierung und Etablierung eines gemeinsamen Schlüssels sowie 6 shows a further exemplary method sequence for the synchronization of two network subscribers in the context of a method for generating and establishing a common key, as well as FIG
Fig. 7 einen weiteren beispielhaften Verfahrensablauf zur Synchronisation zweier Netzwerkteilnehmer im Rahmen eines Verfahrens zur Generierung und Etablierung eines gemeinsamen Schlüssels. 7 shows a further exemplary method sequence for the synchronization of two network users in the context of a method for generating and establishing a common key.
Beschreibung der Ausführungsbeispiele Description of the embodiments
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 voll- ständig automatisiert und sicher entsprechende symmetrische kryptographische Schlüssel zu etablieren, um darauf aufbauend dann bestimmte Sicherheitsfunktionen, wie z.B. eine Datenverschlüsselung oder einer Nachrichtenauthentifizie- rung, 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. The present invention relates to a method for generating a shared secret or (secret) symmetric cryptographic key between two nodes of a communication system (participants of a network) communicating with each other via a shared medium (transmission channel of the network). The generation or negotiation of the cryptographic keys is based on a public data exchange between the two participants, although a possible listening third party as an attacker is not or only very difficult to draw conclusions about the generated key. With the invention, it is thus possible to complete between two different subscribers of a network. to automatically and securely establish appropriate symmetric cryptographic keys in order to then implement specific security functions, such as data encryption or message authentication. As described in detail, a common secret is first established for this, which can be used to generate the key. However, such a shared secret can in principle also be used for purposes other than cryptographic keys in the narrower sense, for example as a one-time pad. The invention is suitable for a variety of wired or wireless as well as optical networks or communication systems, especially those in which the various participants communicate with each other via a linear bus and the media access to this bus using a bitwise bus arbitration. This principle represents, for example, the basis of the widespread CAN bus. Possible fields of application of the invention accordingly include, in particular, CAN-based vehicle networks as well as CAN-based networks in automation technology.
Die vorliegende Erfindung beschreibt einen Ansatz, mit dem automatisiert sym- metrische 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 Übertragungska- nals 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. The present invention describes an approach with which automated symmetric cryptographic keys can be generated in one or in particular between two nodes of a network. This generation takes place by exploiting properties of the corresponding transfer layer. Unlike the usual approaches of "physical layer security", however, physical parameters of the transmission channel such as transmission strength etc. are not evaluated for this purpose, but instead there is a public data exchange between the participating nodes, thanks to the characteristics of the communication system and / or the used modulation method a possible listening aggressor no, or no sufficient conclusions on the negotiated key allows.
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 Übertragungsmedium 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. The following is an arrangement as shown in FIG. 1 in the abstract. Different subscribers 2, 3 and 4 can communicate with one another via a so-called shared transmission medium C, shared medium 10. In an advantageous embodiment of the invention, this divided transmission medium corresponds to a linear bus (wired or optical) 30, such as he is exemplified in Fig. 2. The network 20 in FIG. 2 consists of just this linear bus 30 as a shared transmission medium (for example, as a wired transmission channel), nodes 21, 22 and 23, and (optional) bus terminations 31 and 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. In the following, communication between the various nodes 21, 22 and 23 is assumed to be characterized by the distinction between dominant and recessive values. In this example, the possible values are the bits "0" and "1". In this case, a dominant bit (e.g., the logical bit '0') may quasi supersede a concurrently transmitted recessive bit (e.g., the logical bit '1').
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 dieseAn example of such a transmission method is the so-called on-off-keying (on-off-keying amplitude shift keying), in which exactly two transmission states are distinguished: in the first case (value, Οη ', or "0") If a signal is transmitted, for example in the form of a simple carrier signal, in the other case (value 'Off' or '1') no signal is transmitted. The state 'η' is dominant while the state 'Off' is recessive. Another example of a corresponding communication system, this
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 Nach- richten (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. Supports discrimination of dominant and recessive bits is a (wired or optical) system based on a bitwise bus arbitration, as used for example in the CAN bus. The basic idea here is also that if, for example, two nodes want to transmit a signal at the same time and one node transmits a '1', whereas the second node transmits a '0' which 'gains''0' (ie the dominant bit) This means that the signal level that can be measured on the bus corresponds to a logical '0', whereas CAN uses this mechanism in particular to resolve possible collisions, whereby priority messages (ie messages with an earlier, dominant signal level) are transmitted with priority in that each node simultaneously monitors the signal level on the bus bit by bit in the transmission of its CAN identifier If the node itself transmits a recessive bit but a dominant bit is detected on the bus, the corresponding node breaks its transmission attempt in favor of the higher priority message ( with the earlier dominant bit). The distinction between dominant and recessive bits makes it possible to interpret the shared transmission medium as a kind of binary operator that combines the various input bits (= all bits transmitted simultaneously) using a logical AND function.
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. FIG. 3 shows, for example, how a subscriber 1 (T1) keeps the bit sequence 0, 1, 1, 0, 1 ready for transmission between the times t0 and t5 via the transmission channel. Subscriber 2 (T2) keeps the bit sequence 0, 1, 0, 1, 1 ready for transmission between times t0 and t5 via the transmission channel. With the above-described characteristics of the communication system and assuming that the bit level "0" in this example is the dominant bit, the bit string 0, 1, 0, 0, 1 will be seen on the bus (B) Only between times t1 and t2 and between t4 and t5, both subscriber 1 (T1) and subscriber 2 (T2) provide a recessive bit "1", so that only in this case does the logical AND operation result in a bit level of " 1 "on the bus (B) results.
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. Taking advantage of these characteristics of the transmission method of the communication system, a key generation between two subscribers of a corresponding network can now take place in that the subscribers detect a superimposition of bit sequences of the two subscribers on the transmission medium and from this information share information about the self-transmitted bit sequence (symmetric), generate secret key.
Eine beispielhafte, besonders bevorzugte Realisierung wird im Folgenden anhand von Fig. 4 erläutert. An exemplary, particularly preferred implementation will be explained below with reference to FIG. 4.
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 Bit- folge wird vorzugsweise jeweils als zufällige oder pseudozufällige Bitabfolge, beispielsweise mit Hilfe eines geeigneten Zufallszahlengenerators oder Pseudozu- fallszahlengenerators erzeugt. The process for generating a symmetric key pair is started in step 41 by one of the two nodes involved in this example (subscriber 1 and subscriber 2). This can be done, for example, by sending a special message or a special message header. Both subscriber 1 and subscriber 2 initially generate a bit sequence locally (ie internally and independently of one another) in step 42. Preferably, this bit sequence is at least twice, in particular at least three times as long as the common key desired as a result of the method. The bit sequence is preferably generated in each case as a random or pseudo-random bit sequence, for example with the aid of a suitable random number generator or pseudo random number generator.
Beispiel für lokale Bitfolgen der Länge 20 Bits: Example of local bit sequences of length 20 bits:
Erzeugte Bitsequenz von Teilnehmer 1:  Generated bit sequence of participant 1:
Su = 01001101110010110010  Su = 01001101110010110010
' Erzeugte Bitsequenz von Teilnehmer 2:  'Generated bit sequence of subscriber 2:
ST2 = 10010001101101001011 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, 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. In a step 43, subscriber 1 and subscriber 2 transmit (largely) synchronously their respectively generated bit sequences over the divided transmission medium (using the transmission method with dominant and recessive bits, as already explained above). Different possibilities for synchronizing the corresponding transmissions are conceivable. Thus, for example, either subscriber 1 or subscriber 2 could first send a suitable synchronization message to the respective other node and then start the transmission of the actual bit sequences after a certain period of time following the complete transmission of this message. Equally, however, it is also conceivable that only one suitable message header is transmitted by one of the two nodes (eg a CAN header consisting of arbitration field and control field) and during the associated payload phase then both nodes simultaneously (largely) transmit their generated bit sequences synchronously , In a variant of the method, the bit sequences of a subscriber generated in step 42 can also be transmitted to a plurality of messages in step 43, for example if the (maximum) sizes of the corresponding messages make this necessary According to many, correspondingly large messages distributed bit sequences of the other subscriber in turn (largely) synchronously. On the shared transmission medium, the two bit sequences then overlap, whereby due to the previously required property of the system with the distinction of dominant and recessive bits, the individual bits of subscriber 1 and subscriber 2 result in an overlay, in the example mentioned de facto AND-linked. This results in a corresponding overlay on the transmission channel, which could detect, for example, a listening third party.
Beispiel einer Überlagerungs bitfolge für die obigen, lokalen Bitfolgen: Example of an overlay bit sequence for the above local bit sequences:
• Effektive Bitsequenz auf dem Übertragungskanal:  • Effective bit sequence on the transmission channel:
Seft = Su AND ST2 = 00000001100000000010 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 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. Both subscriber 1 and subscriber 2 detect during the transmission of their bit sequences of step 43 in a parallel step 44, the effective (overlaid) bit sequences S e ff on the shared transmission medium. For the example of the CAN bus, this is usually done in conventional systems during the arbitration phase anyway.
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. This is likewise possible for systems with "η-off-keying" (wireless, wired or optical). In this case, the practical feasibility benefits in particular from the fact that in such a system the state 'η' is dominant and the state 'Off' is recessive (as already explained above). Consequently, even without measurement, a node knows that the effective state is dominant on the shared medium if the node itself has sent a dominant bit, but if a node has sent a recessive bit, it does not know the state on the shared transmission medium first Further, however, in this case he can determine by suitable measurement how it looks like, because, in this case, the node itself does not send anything, so there are no problems with so-called self-interference, which is a complex echo cancellation, especially in the case of wireless systems would require.
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 Seff auf dem geteilten Übertragungsmedium. In a next step 45, both subscriber 1 and subscriber 2 likewise again (largely) synchronously transmit their initial bit sequences STI and ST2, but inverted this time. The synchronization of the corresponding transmissions can again be realized exactly in the same way as described above. On the shared communication medium, the two sequences are then ANDed together again. Subscribers 1 and 2 in turn determine the effective, superimposed bit sequences S e ff on the shared transmission medium.
Beispiel für die obigen Bitfolgen: Example of the above bit sequences:
Invertierte Bitsequenz von Teilnehmer 1:  Inverted bit sequence of participant 1:
Sn = 10110010001101001101  Sn = 10110010001101001101
Invertierte Bitsequenz von Teilnehmer 2:  Inverted bit sequence of participant 2:
ST2' = 01101110010010110100 S T2 '= 01101110010010110100
' Effektive, überlagerte Bitsequenz auf dem Kanal:  'Effective, overlaid bit sequence on the channel:
Seff' = Sn AND ST2' = 00100010000000000100 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 Seff 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. Both subscriber 1 and subscriber 2 determine during the transmission of their now inverted bit sequences then again the effective, superimposed bit sequences on the shared transmission medium. At this time, both nodes (subscriber 1 and subscriber 2), as well as a possible attacker (eg subscriber 3) who overhears the communication on the shared transmission medium, thus know the effective, superimposed bit sequences S e ff and Seff '. In contrast to the attacker or third participant, however, participant 1 still knows his initially generated, local bit sequence STI and participant 2 his initially generated, local bit sequence ST2. However, subscriber 1 in turn does not know the initially generated, local bit sequence of subscriber 2 and subscriber 2 does not know the initially generated, local bit sequence of subscriber 1. The detection of the overlay bit sequence again takes place during the transmission in step 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. As an alternative to this exemplary embodiment, subscriber 1 and subscriber 2 can also send their inverted, local bit sequence directly with or directly after their original, local bit sequence, ie steps 45 and 46 take steps 43 and 44. The original and the inverted bit sequences can be transmitted in a message, but also in separate messages as partial bit sequences. In step 47, subscriber 1 and subscriber 2 now respectively locally (ie internally) link the effective, superposed bit sequences (S e ff and S e ff '), in particular with a logical OR function.
Beispiel für die obigen Bitfolgen:  Example of the above bit sequences:
Sges = Seff OR Seff' = 00100011100000000110 S g = Seff it Seff OR '= 00100011100000000110
Die einzelnen Bits in der aus der ODER-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 Sges beispielsweise eine ,0', so bedeutet dies, dass das n-te Bit innerhalb von STI 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 STI und ST2 identisch sind. The individual bits in the bit sequence (Sges) resulting from the OR operation now indicate whether the corresponding bits of STI and ST2 are identical or different. For example, if the nth bit within S tot is a '0', it means that the nth bit within STI is inverse to the corresponding bit within ST2. Likewise, if the nth bit within Sges is a '1', the corresponding bits within STI and ST2 are identical.
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 STI und ST2 alle Bits, die in beiden Sequenzen identisch sind. Dies führt folglich zu entsprechend verkürzten Bitsequenzen. Subscriber 1 and subscriber 2 then cancel in step 48 based on the bit sequence S ges obtained from the OR operation in their original, initial bit sequences STI and ST2 all bits which are identical in both sequences. This consequently leads to correspondingly shortened bit sequences.
Beispiel für die obigen Bitfolgen: Example of the above bit sequences:
Verkürzte Bitsequenz von Teilnehmer 1:  Abbreviated bit sequence of participant 1:
Sn,v = 01011100101100  Sn, v = 01011100101100
Verkürzte Bitsequenz von Teilnehmer 2:  Abbreviated bit sequence of participant 2:
ST2,v = 10100011010011 S T2 , v = 10100011010011
Die resultierenden, verkürzten Bitsequenzen STI.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. The resulting, shortened bit sequences STI.V and ST2, V are now just inverse to each other. Thus, by inversion of its shortened bit sequence, one of the two subscribers can determine exactly the shortened bit sequence that already exists in the other subscriber.
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. The thus shared, shortened bit sequence is now processed locally by participant 1 and participant 2 in step 49 in a suitable manner in order to generate the actual desired key of the desired length N. Again, there are a variety of ways that this treatment can be done. One possibility is the selection of N Bits from the common truncated bit sequence, where it must be clearly defined which N bits are to be taken, eg simply by selecting the first N bits of the sequence. It is also possible to calculate a hash function via the shared, shortened bit sequence which provides a hash of length N. In general, the rendering can be done with any linear and nonlinear function that returns a N bit length bit sequence when applied to the co-present truncated bit sequence. The mechanism of key generation from the common truncated bit sequence is preferably identical in both subscribers 1 and 2 and is performed accordingly in the same way.
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. Following the key generation, it may still be possible to verify that the keys generated by subscribers 1 and 2 are actually identical. For this purpose, for example, a checksum could be calculated using the generated keys and exchanged between subscribers 1 and 2. If both checksums are not identical, then obviously something has failed. In this case, the described method for key generation could be repeated.
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 gene- rieren. In a preferred variant of the method for generating a key, in a number of passes, a whole series of resulting shortened bit sequences, which are each present in the case of subscribers 1 and 2, can be generated, which are then combined into a single large sequence before the actual key is derived therefrom , If necessary, this can also be done adaptively. If after performing the described procedure once, e.g. For example, if the length of the common, truncated bit sequence is less than the desired key length N, one could re-run e.g. Generate further bits before the actual key derivation.
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 (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ü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. Finally, the generated symmetric key pair can be used by subscriber 1 and subscriber 2 in conjunction with established (symmetric) cryptographic methods, such as ciphers for data encryption. A potential attacker (eg subscriber 3) can listen to the public data transmission between subscriber 1 and subscriber 2 and thus gain knowledge of the effective, superposed bit sequences (S e ff and S e ff ') as described. The attacker then only knows which bits in the locally generated bit sequences of nodes 1 and 2 are identical and which are not. In addition, with the identical bits, the attacker can even determine whether it is a '1' or a '0'. For a complete knowledge of the resulting, shortened bit sequence (and thus the basis for key generation), however, he lacks the information about the non-identical bits. In order to further aggravate possible attacks for the attacker, in a preferred variant the bit values identical in the original, locally generated bit sequences of the users 1 and 2 are additionally deleted. This means that participant 3 has only information that is not used for key generation. Although he knows that correspondingly shortened bit sequences emerge from the different between the local bit sequences of the participants 1 and 2 participants bits. However, he does not know which bits have been sent by subscriber 1 and subscriber 2 respectively.
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 addition to the information about the superimposed overall bit sequence, subscriber 1 and subscriber 2 also have the information about the locally generated bit sequence transmitted by them in each case. The fact that the keys generated in subscribers 1 and 2 remain secret as a basis despite the public data transmission results from this information advantage over a subscriber 3 following only the public data transmission.
Für die beschriebenen Verfahren ist es bedeutend, dass die Übertragung der Wertfolgen durch die beteiligten Netzwerkteilnehmer (weitgehend) synchron erfolgt. Die Synchronisierung erfolgt dabei in einer bevorzugten Ausgestaltung durch ein auslösendes Ereignis, von dessen Eintritt an eine bestimmte Wartezeit läuft. Bei Ablauf der Wartezeit wird die bzw. werden die Wertfolgen durch die Netzwerkteilnehmer übertragen. Hierzu wird in den Netzwerkteilnehmern geprüft, ob ein vorgegebenes It is important for the methods described that the transmission of the value sequences by the participating network participants takes place (largely) synchronously. The synchronization takes place in a preferred embodiment by a triggering event, the entry of which runs to a certain waiting time. When the waiting time expires, the value sequences are transmitted by the network participants. For this purpose, it is checked in the network participants whether a given
Ereignis eingetreten ist. Ist das Ereignis eingetreten, wird eine vorzugsweise konfigurierbare Zeitspanne > 0 nach Eintritt des Ereignisses abgewartet und anschließend mit der Durchführung der beschrieben Verfahren zur Etablierung ei- nes gemeinsamen kryptografischen Geheimnisses durch Sendung der Wertfol- ge(n) begonnen. Event occurred. If the event has occurred, a preferably configurable period of time> 0 is waited for after the occurrence of the event and then the execution of the described method for establishing a common cryptographic secret is begun by sending the value sequence (s).
Die Wartezeit kann dabei als relative Zeit in einer gemeinsam bekannten Zeitbasis definiert sein, z.B. als„1000 Taktperioden ab Ereignis". The waiting time can be defined as relative time in a commonly known time base, e.g. as "1000 clock periods from event".
Alternativ kann die Wartezeit als vorgegebene Anzahl bestimmter weiterer Ereignisse definiert sein, z.B. als„warte den Empfang von fünf gültigen Botschaften auf dem gemeinsamen Übertragungskanal nach Ereignis ab" oder„warte ab, bis eine spezielle vorgegebene Nachricht zweimal auf dem gemeinsamen Übertra- gungskanal empfangen wurde". In dieser alternativen Ausgestaltung ist keine gemeinsame Zeitbasis notwendig. Alternatively, the waiting time may be defined as a predetermined number of certain further events, e.g. as "wait for event to receive five valid messages on the common transmission channel" or "wait until a special given message has been received twice on the common transmission channel". In this alternative embodiment, no common time base is necessary.
Anschließend oder wenn das Ereignis zum Prüfzeitpunkt nicht eingetreten ist, wird geprüft ob eine Abbruchbedingung vorliegt. Ist dies der Fall, wird der Pro- zess beendet, andernfalls wird erneut geprüft ob das Ereignis eingetreten ist. Subsequently or if the event did not occur at the time of the check, it is checked whether an abort condition exists. If this is the case, the process is terminated, otherwise it is checked again whether the event has occurred.
Der prinzipielle Ablauf ist in einer beispielhaften Ausführung in Fig. 5 dargestellt. In Schritt 51 wird das Verfahren gestartet. In Schritt 52 beginnt eine Prüfung auf Eintritt eines vorbestimmten Ereignisses. Wird dabei festgestellt, dass das Ereig- nis eingetreten ist, so wird in Schritt 53 eine vorkonfigurierte oder dynamisch konfigurierte Wartezeit abgewartet und in Schritt 54 ein Verfahren zur Geheimnisge- nerierung gestartet, insbesondere durch Übertragung der ersten Wertfolge bzw. der ersten und der zweiten Wertfolge. Anschließend wird in Schritt 55 verzweigt. Wird in Schritt 52 festgestellt, dass das vorbestimmte Ereignis nicht eingetreten ist, wird ebenfalls auf Schritt 55 verzweigt. The basic sequence is shown in an exemplary embodiment in FIG. 5. In step 51, the process is started. In step 52, an audit begins upon the occurrence of a predetermined event. If it is determined that the event has occurred, then in step 53 a preconfigured or dynamically configured waiting time is awaited and in step 54 a secret generation process is started, in particular by transmission of the first value sequence or of the first and second value sequences , Subsequently, a branch is made in step 55. If it is determined in step 52 that the predetermined event has not occurred, a branch is likewise made to step 55.
In Schritt 55 wird überprüft, ob eine Abbruchbedingung vorliegt. Falls das der Fall ist, wird auf Schritt 56 verzweigt und das Verfahren abgebrochen. Falls nicht, wird wiederum auf Schritt 52 zurück verzweigt und die Prüfung auf Eintritt des Ereignisses wieder aufgenommen. Im Folgenden wird von zwei Kommunikationspartnern (erster Netzwerkteilnehmer und zweiter Netzwerkteilnehmer) ausgegangen, die über einen Kommunikationskanal die oben beschriebenen Verfahren zur Generierung eines gemeinsamen Geheimnisses bzw. Schlüssels durchführen möchten und sich dafür durch die Detektion eines vorbestimmten Ereignisses synchronisieren. In step 55 it is checked whether an abort condition exists. If so, the process branches to step 56 and the process aborts. If not, the process branches back to step 52 and the test for the occurrence of the event is resumed. In the following, two communication partners (first network participant and second network participant) are assumed who wish to carry out the above-described methods for generating a shared secret or key via a communication channel and to synchronize themselves by the detection of a predetermined event.
In einer ersten Ausgestaltung wird das Ereignis von einer externen Einheit (also weder dem ersten Netzwerkteilnehmer noch dem zweiten Netzwerkteilnehmer) generiert und sowohl von dem ersten Netzwerkteilnehmer als auch dem zweiten Netzwerkteilnehmer detektiert. Dabei kann das Ereignis zum Beispiel die Übertragung einer Information (eines Signals oder einer Nachricht) über den gemeinsamen Übertragungskanal des ersten und des zweiten Netzwerkteilnehmers sein. In a first embodiment, the event is generated by an external unit (that is, neither the first network subscriber nor the second network subscriber) and detected by both the first network subscriber and the second network subscriber. In this case, the event may be, for example, the transmission of information (a signal or a message) over the common transmission channel of the first and the second network participant.
In einer alternativen Ausgestaltung wird das Ereignis von einem der beiden Netzwerkteilnehmer generiert, aber von beiden detektiert. Zum Beispiel kann der erste Netzwerkteilnehmer das Ereignis generieren, zum Beispiel eine entsprechende Nachricht auf dem gemeinsamen Übertragungskanal übertragen, und der erste und der zweite Netzwerkteilnehmer detektieren es. Im Beispiel wird die spezifische Nachricht auf dem Übertragungskanal von den Empfangseinheiten sowohl des ersten als auch des zweiten Netzwerkteilnehmers erkannt. Ein beispielhafter Ablauf für ein solches Verfahren ist in Fig. 6 gezeigt. In an alternative embodiment, the event is generated by one of the two network participants, but detected by both. For example, the first network participant may generate the event, for example, transmit a corresponding message on the common transmission channel, and the first and second network participants detect it. In the example, the specific message on the transmission channel is recognized by the receiving units of both the first and the second network participant. An exemplary procedure for such a method is shown in FIG.
Die Schritte 51, 52, 53, 54, 55 und 56 entsprechen dabei den zu Fig. 5 entsprechend beschriebenen Schritten. Zusätzlich wird nach dem Start in Schritt 51 in einem neuen Schritt 60 durch den Netzwerkteilnehmer das Ereignis generiert, z.B. ein entsprechendes Signal oder eine entsprechende Nachricht auf dem Übertragungskanal übertragen. Im folgenden Schritt 52 findet eine Prüfung auf Detektion des Ereignisses statt (z.B. auf Erhalt eines entsprechenden Signals oder einer entsprechenden Botschaft). Ab dann läuft das Verfahren wie zu Fig. 5 beschrieben. Steps 51, 52, 53, 54, 55 and 56 correspond to the steps described corresponding to FIG. 5. In addition, after the start in step 51, in a new step 60, the network subscriber generates the event, e.g. transmit a corresponding signal or a corresponding message on the transmission channel. In the following step 52, a check for detection of the event takes place (e.g., upon receipt of a corresponding signal or message). From then on, the method runs as described for FIG. 5.
In einer weiteren alternativen Ausgestaltung wird das Ereignis von einem der beiden Netzwerkteilnehmer generiert und nur vom anderen Netzwerkteilnehmer detektiert. Z.B. generiert der erste Netzwerkteilnehmer ein entsprechendes Ereignis, welches nur der zweite Netzwerkteilnehmer detektiert. In a further alternative embodiment, the event is generated by one of the two network subscribers and only by the other network subscriber detected. For example, the first network participant generates a corresponding event which only the second network participant detects.
Ein beispielhafter Ablauf eines Synchronisierungsverfahrens dieser Ausgestal- tung ist für den das Ereignis generierenden Netzwerkteilnehmer in Fig. 7 gezeigt.An exemplary flow of a synchronization method of this embodiment is shown in FIG. 7 for the event-generating network participant.
Nach dem Start des Verfahrens in Schritt 51 wird in Schritt 60 das Ereignis generiert (z.B. ein Signal oder eine Nachricht gesendet, das bzw. der andere Netzwerkteilnehmer detektiert). Im folgenden Schritt 53 wird eine bestimmte Wartezeit gewartet, insbesondere eine bestimmte Zeit nach der Generierung des Ereignis- ses (z.B. nach Aussendung des Signals oder der Nachricht). Bei Ablauf der Wartezeit wird in Schritt 54 das Verfahren zur Ereignisgenerierung gestartet, z.B. durch den ersten Netzwerkteilnehmer die erste Wertfolge (synchron zur zweiten Wertfolge des zweiten Netzwerkteilnehmers) über den Übertragungskanal gesendet. Das Verfahren endet in Schritt 56. After the method is started in step 51, in step 60 the event is generated (e.g., a signal or message is sent that detects other network participants). In the following step 53, a certain waiting time is waited, in particular a certain time after the generation of the event (for example after the signal or the message has been transmitted). Upon expiration of the wait time, the event generation procedure is started in step 54, e.g. sent by the first network subscriber, the first value sequence (synchronous to the second value sequence of the second network participant) over the transmission channel. The method ends in step 56.
Eine weitere Alternative ist ein gemeinsames Generieren des Ereignisses durch den ersten und den zweiten Netzwerkteilnehmer. Another alternative is to jointly generate the event by the first and second network subscribers.
Um eine ausreichend synchrone Übertragung der Wertfolgen durch die Netz- werkteilnehmer und damit eine bitgenaue Überlagerung der gesendeten Signale zu erreichen, ist das System in einer bevorzugten Ausgestaltung so ausgelegt, dass ein Ereignis von den beiden Netzwerkteilnehmern möglichst gleichzeitig detektiert wird und die Vorbereitungszeit zwischen der Detektion des Events und dem Aussenden der zu überlagernden Signale bzw. Wertfolgen möglichst gleich lang sein. In order to achieve a sufficiently synchronous transmission of the value sequences by the network subscribers and thus a bit-precise superposition of the transmitted signals, the system is designed in a preferred embodiment such that an event is detected by the two network participants as simultaneously as possible and the preparation time between the detection of the event and the transmission of the signals or value sequences to be superimposed be as long as possible.
Sollte sich die Zeitdauer, die der erste und der zweite Netzwerkteilnehmer zur Detektion des Ereignisses benötigen (bspw. durch unterschiedliche Signallaufzeiten) bzw. sollte sich die Vorbereitungszeit der beiden Netzwerkteilnehmer unter- scheiden, kann dies durch Verwendung unterschiedlicher Wartezeiten derart kompensiert werden, dass sich eine ausreichend synchrone Übertragung bzw. bitgenaue Überlagerung ergibt. Analoges gilt, falls die beiden Netzwerkteilnehmer unterschiedliche Verfahrensabläufe haben, weil bspw. einer der Netzwerkteilnehmer das Ereignis selbst generiert. If the time duration required by the first and the second network participant to detect the event (for example due to different signal propagation times) or the preparation time of the two network participants is different, this can be compensated for by using different waiting times such that a sufficiently synchronous transmission or bit-exact overlay results. The same applies if the two network participants have different procedures, because, for example, one of the network participants generates the event itself.
Unterschiedliche Wartezeiten für die beiden Netzwerkteilnehmer können bspw. zu einem Entwicklungszeitpunkt konfiguriert oder während des normalen Betriebs durch ein geeignetes Messverfahren (bspw. Messung eines Round-Trip- Delays) dynamisch angepasst werden. Different waiting times for the two network subscribers can, for example, be configured at a development time or dynamically adjusted during normal operation by a suitable measuring method (for example, measurement of a round-trip delay).
Bei einem Ereignis kann es sich bspw. um ein dediziertes Signal handeln, das von einem oder beiden Netzwerkteilnehmer (Interrupt-basiert oder via Polling) über bspw. einen GPIO eingelesen wird. An event may, for example, be a dedicated signal that is read in by one or both network participants (interrupt-based or via polling) via, for example, a GPIO.
Unter der Prämisse, dass im Netzwerk eine einheitliche Zeit mit entsprechender Güte (= Genauigkeit) vorhanden ist, ist es auch möglich, absolute Zeitpunkte zu planen, zu denen ein neues kryptografisches Geheimnis nach den beschriebenen Verfahren etabliert werden soll. Die Planung der entsprechenden Zeitpunkte kann bereits zur Entwicklungszeit oder erst während der Laufzeit erfolgen. Zur Festlegung des Zeitpunkts eignen sich relative Festlegungen (bspw. alle / in 30 Minuten) genauso wie absolute Festlegungen in einer gemeinsam bekannten Zeitbasis (am 01.07.2015 - 12:00 Uhr). Um die globale Zeit unter allen Kommunikationspartner synchron zu halten, wird vorzugsweise ein Zeitsynchronisie- rungsverfahren eingesetzt. Dazu eignen sich Standardverfahren, wie bspw. I EEE1588 oder IEEE 802.1AS-Rev. Falls der Übertragungskanal zum verabredeten, absoluten Zeitpunkt belegt sein sollte, so beginnen die Netzwerkteilnehmer z.B. mit dem Versand der Wertefolgen, sobald der Übertragungskanal frei wird. Under the premise that the network has a uniform time with the appropriate quality (= accuracy), it is also possible to plan absolute times when a new cryptographic secret should be established according to the methods described. The planning of the respective time points can take place already at the development time or only during the runtime. In order to determine the time, relative definitions (eg every 30 minutes) as well as absolute definitions in a commonly known time base are suitable (on 01.07.2015 - 12:00 o'clock). In order to keep the global time synchronous among all communication partners, a time synchronization method is preferably used. For this purpose, standard methods, such as, for example, I EEE1588 or IEEE 802.1AS-Rev. If the transmission channel should be busy at the agreed, absolute time, then the network users start e.g. with the delivery of the value sequences as soon as the transmission channel becomes free.
Besonders bevorzugt ist die Nutzung des gemeinsamen Kommunikationskanals bzw. Übertragungskanals der beiden Netzwerkteilnehmer zum Senden von Signalen oder Botschaften, die als das Ereignis zum Start der Geheimnisgenerie- rung bzw. zur Synchronisierung interpretiert werden. Dazu wird eine Botschaft vorzugsweise durch ein zuvor festgelegtes Merkmal als Ereignis charakterisiert. Hierzu eignet sich z.B. ein vorgegebener Wert im Datenfeld (oder einem Teil davon) einer Botschaft oder ein vorgegebener Message Identifier (oder einem Teil davon) bei einer Botschaft mit entsprechender Informationen (z.B. einer C AN- Botschaft). Bei zeitgesteuerten Kommunikationssystemen eignen sich bspw. auch zyklisch widerkehrende Nachrichten, bspw. eine„Reference Message" aus einem TTCAN Schedule. Als weitere Alternative kann auch ein Fre- quenz-Multiplexing zur Anwendung kommen und so für die Generierung des Ereignisses eine andere Frequenz genutzt werden, um damit die eigentliche Kommunikation nicht zu stören. Particularly preferred is the use of the common communication channel or transmission channel of the two network participants for transmitting signals or messages that are interpreted as the event for the start of the secret generation or for synchronization. For this purpose, a message is preferably characterized by a previously defined feature as an event. For this purpose, for example, a predetermined value in the data field (or a part thereof) of a message or a predetermined message identifier (or a part thereof) in a message with appropriate information (eg C AN message). In the case of time-controlled communication systems, cyclically repeating messages, for example a "reference message" from a TTCAN schedule, are also suitable, for example, and frequency multiplexing can be used as a further alternative and thus a different frequency can be used to generate the event so as not to disturb the actual communication.
In einer alternativen Ausgestaltung weist das System, dem die beiden Netzwerkteilnehmer angehören, mehrere Kommunikationssysteme auf. Das Ereignis kann dann auf einem ersten der Kommunikationssysteme übertragen werden und das gemeinsame Geheimnis nach den beschriebenen Verfahren über ein zweites der Kommunikationssysteme etabliert werden. In an alternative embodiment, the system to which the two network subscribers belong comprises a plurality of communication systems. The event can then be transmitted on a first of the communication systems and the shared secret established according to the described methods via a second of the communication systems.
Die beschriebenen Verfahren eignen sich grundsätzlich auch dazu, mehr als nur zwei Kommunikationsknoten entsprechende zu synchronisieren. The described methods are basically also suitable for synchronizing more than just two communication nodes.
Für den Fall, dass die beiden Netzwerkteilnehmer mehrere Wertefolgen synchron übertragen müssen bzw. mehrere entsprechende synchrone Botschaften senden müssen (z.B. für die Generierung längerer Geheimnisse), können die beschriebenen Verfahren zur Synchronisierung mehrmals nacheinander ausgeführt werden, insbesondere zu neu festgelegten Zeitpunkten oder durch neu generierte und detektierte Ereignisse. In the event that the two network participants need to transmit multiple value sequences synchronously or have to send several corresponding synchronous messages (eg for the generation of longer secrets), the described method for synchronization can be performed several times in succession, especially at newly defined times or by newly generated and detected events.

Claims

Ansprüche claims
1. Verfahren zur Generierung eines Geheimnisses in einem ersten Netzwerkteilnehmer (21), wobei der erste Netzwerkteilnehmer (21) eine Übertragung mindestens einer ersten Wertfolge auf einem Übertragungskanal (30) zumindest weitgehend synchron zu einer Übertragung mindestens einer zweiten Wertfolge auf dem Übertragungskanal durch einen zweiten Netzwerkteilnehmer (22) veranlasst und das Geheimnis auf Basis der mindestens einen ersten Wertfolge und auf Basis einer Überlagerung der mindestens einen ersten Wertfolge und der mindestens einen zweiten Wertfolge auf dem Übertragungskanal (30) ermittelt, dadurch gekennzeichnet, dass die erste Wertfolge zu einer zwischen dem ersten Netzwerkteilnehmer (21) und dem zweiten Netzwerkteilnehmer (22) abgestimmten Zeit übertragen wird. A method for generating a secret in a first network subscriber, wherein the first network subscriber transmits at least one first value sequence on a transmission channel at least substantially synchronously to a transmission of at least one second value sequence on the transmission channel by a second network subscriber Network subscriber (22) initiates and determines the secret on the basis of the at least one first value sequence and on the basis of a superimposition of the at least one first value sequence and the at least one second value sequence on the transmission channel (30), characterized in that the first value sequence to one between the first network subscriber (21) and the second network subscriber (22) time coordinated.
2. Verfahren nach Anspruch 1, dadurch gekennzeichnet, dass die erste Wertfolge um eine dynamisch generierte Wartezeit nach einem Ereignis übertragen wird. 2. The method according to claim 1, characterized in that the first value sequence is transmitted by a dynamically generated waiting time after an event.
3. Verfahren nach Anspruch 1, dadurch gekennzeichnet, dass die erste Wertfolge um eine vorbestimmte Wartezeit nach einem Ereignis übertragen wird. 3. The method according to claim 1, characterized in that the first value sequence is transmitted by a predetermined waiting time after an event.
4. Verfahren nach einem der Ansprüche 2 oder 3, dadurch gekennzeichnet, dass das Ereignis außerhalb des ersten Netzwerkteilnehmers (21) generiert wird. 4. Method according to claim 2, wherein the event is generated outside the first network participant.
5. Verfahren nach Anspruch 4, dadurch gekennzeichnet, dass das Ereignis an einer GPIO-Schnittstelle des ersten Netzwerkteilnehmers (21) detektiert wird. 5. The method according to claim 4, characterized in that the event is detected at a GPIO interface of the first network participant (21).
6. Verfahren nach einem der Ansprüche 4 oder 5, dadurch gekennzeichnet, dass das Ereignis von dem zweiten Netzwerkteilnehmer (22) generiert wird. 6. The method according to any one of claims 4 or 5, characterized in that the event is generated by the second network participant (22).
7. Verfahren nach einem der Ansprüche 4 bis 6, dadurch gekennzeichnet, dass das Ereignis ein Empfang einer Nachricht mit einem vorbestimmten Wert in einem Datenfeld der Nachricht ist. A method according to any one of claims 4 to 6, characterized in that the event is a receipt of a message having a predetermined value in a data field of the message.
8. Verfahren nach einem der Ansprüche 4 bis 7, dadurch gekennzeichnet, dass das Ereignis ein Empfang einer Nachricht mit einer vorbestimmten Nachrichten- ID ist. 8. The method according to any one of claims 4 to 7, characterized in that the event is a receipt of a message with a predetermined message ID.
9. Verfahren nach einem der Ansprüche 4 bis 8, dadurch gekennzeichnet, dass das Ereignis ein Empfang einer bestimmten Nachricht über den Übertragungskanal (30) ist. 9. The method according to any one of claims 4 to 8, characterized in that the event is a receipt of a specific message via the transmission channel (30).
10. Verfahren nach einem der Ansprüche 2 bis 4, dadurch gekennzeichnet, dass das Ereignis ein Auslösesignal ist, das in dem ersten Netzwerkteilnehmer (21) die Aussendung der ersten Wertfolge auslöst. 10. The method according to any one of claims 2 to 4, characterized in that the event is a trigger signal, which triggers the transmission of the first value sequence in the first network participant (21).
11. Verfahren nach Anspruch 10, dadurch gekennzeichnet, dass das Auslösesignal im ersten Netzwerkteilnehmer (21) über einen Interrupt detektiert wird oder dass das Auslösesignal von dem ersten Netzwerkteilnehmer (21) über ein Pollingverfahren detektiert wird. 11. The method according to claim 10, characterized in that the trigger signal in the first network participant (21) is detected via an interrupt or that the trigger signal is detected by the first network participant (21) via a polling method.
12. Verfahren nach einem der Ansprüche 2 oder 3, dadurch gekennzeichnet, dass das Ereignis im ersten Netzwerkteilnehmer (21) generiert wird. 12. The method according to any one of claims 2 or 3, characterized in that the event in the first network participant (21) is generated.
13. Verfahren nach Anspruch 4, dadurch gekennzeichnet, dass das Ereignis von dem ersten Netzwerkteilnehmer (21) und dem zweiten Netzwerkteilnehmer (22) gemeinsam generiert wird. 13. The method according to claim 4, characterized in that the event is generated jointly by the first network participant (21) and the second network participant (22).
14. Verfahren nach einem der Ansprüche 2 bis 13, dadurch gekennzeichnet, dass für den Fall, dass das Ereignis während einer Prüfung auf Eintritt des Ereignisses nicht eintritt, eine erneute Prüfung auf Eintritt des Ereignisses vorgenommen wird oder die Schlüsselgenerierung abgebrochen wird. 14. The method according to any one of claims 2 to 13, characterized in that in the event that the event does not occur during an audit on the occurrence of the event, a re-check on the occurrence of the event is made or the key generation is aborted.
15. Verfahren nach einem der Ansprüche 2 bis 14, dadurch gekennzeichnet, dass das Ereignis von dem ersten Netzwerkteilnehmer (21) und von dem zweiten Netzwerkteilnehmer (22) gleichzeitig detektiert wird und dass für den ersten Netzwerkteilnehmer (21) und den zweiten Netzwerkteilnehmer (22) die gleiche Wartezeit nach dem Ereignis gilt. 15. The method according to any one of claims 2 to 14, characterized in that the event of the first network participant (21) and the second network participant (22) is detected simultaneously and that for the first network participant (21) and the second network participant (22 ) the same waiting time after the event applies.
16. Verfahren nach einem der Ansprüche 2 bis 15, dadurch gekennzeichnet, dass das Ereignis von dem ersten Netzwerkteilnehmer (21) und von dem zweiten Netzwerkteilnehmer (22) zu unterschiedlichen Zeiten detektiert wird oder die Reaktion auf die Detektion in dem ersten Netzwerkteilnehmer (21) und dem zweiten Netzwerkteilnehmer unterschiedlich lang dauert, und dass für den ersten Netzwerkteilnehmer (21) und den zweiten Netzwerkteilnehmer (22) unterschiedliche Wartezeiten nach dem Ereignis vorbestimmt sind oder dynamisch angepasst werden, welche die Zeitunterschiede berücksichtigen. 16. The method according to any one of claims 2 to 15, characterized in that the event of the first network participant (21) and the second network participant (22) is detected at different times or the response to the detection in the first network participant (21) and the second network participant takes different lengths, and that for the first network participant (21) and the second network participant (22) different waiting times after the event are predetermined or dynamically adjusted, which take into account the time differences.
17. Verfahren nach Anspruch 1, dadurch gekennzeichnet, dass die erste Wertfolge zu einer vorbestimmten, absoluten Zeit übertragen wird. 17. The method according to claim 1, characterized in that the first value sequence is transmitted to a predetermined, absolute time.
18. Verfahren nach Anspruch 17, dadurch gekennzeichnet, dass die vorbestimmte, absolute Zeit durch eine Regel von Zeitabständen oder durch absolute Zeitpunkte vorbestimmt ist. 18. The method according to claim 17, characterized in that the predetermined, absolute time is predetermined by a rule of time intervals or by absolute time points.
19. Computerprogramm, welches dazu eingerichtet ist, die Schritte eines Verfahrens nach einem der Ansprüche 1 bis 18 durchzuführen. A computer program adapted to perform the steps of a method according to any one of claims 1 to 18.
20. Netzwerkteilnehmer, welcher dazu eingerichtet ist, die Schritte eines Verfahrens nach einem der Ansprüche 1 bis 18 durchzuführen. A network subscriber configured to perform the steps of a method according to any one of claims 1 to 18.
PCT/EP2016/074271 2015-10-15 2016-10-11 Method for generating a secret or a key in a network WO2017064025A1 (en)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
DE102015220048.5 2015-10-15
DE102015220048.5A DE102015220048A1 (en) 2015-10-15 2015-10-15 A method of creating a secret or key in a network

Publications (1)

Publication Number Publication Date
WO2017064025A1 true WO2017064025A1 (en) 2017-04-20

Family

ID=57124022

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/EP2016/074271 WO2017064025A1 (en) 2015-10-15 2016-10-11 Method for generating a secret or a key in a network

Country Status (2)

Country Link
DE (1) DE102015220048A1 (en)
WO (1) WO2017064025A1 (en)

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE102009002396A1 (en) 2009-04-15 2010-10-21 Robert Bosch Gmbh Method for manipulation protection of a sensor and sensor data of the sensor and a sensor for this purpose
DE102009045133A1 (en) 2009-09-29 2011-03-31 Robert Bosch Gmbh Method for manipulation protection of sensor data and sensor for this purpose
DE102012215326A1 (en) * 2012-08-29 2014-03-06 Robert Bosch Gmbh Method for determining cryptographic key in network in area of mobile communication, involves determining channel information relative to transmission channel based on pilot signal and determining cryptographic key using channel information
DE102015207220A1 (en) 2014-04-28 2015-10-29 Robert Bosch Gmbh A method of creating a secret or key in a network
DE102014209042A1 (en) 2014-05-13 2015-11-19 Robert Bosch Gmbh Method and device for generating a secret key
DE102014208975A1 (en) 2014-05-13 2015-11-19 Robert Bosch Gmbh A method for generating a key in a network and subscribers to a network and network

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE102009002396A1 (en) 2009-04-15 2010-10-21 Robert Bosch Gmbh Method for manipulation protection of a sensor and sensor data of the sensor and a sensor for this purpose
DE102009045133A1 (en) 2009-09-29 2011-03-31 Robert Bosch Gmbh Method for manipulation protection of sensor data and sensor for this purpose
DE102012215326A1 (en) * 2012-08-29 2014-03-06 Robert Bosch Gmbh Method for determining cryptographic key in network in area of mobile communication, involves determining channel information relative to transmission channel based on pilot signal and determining cryptographic key using channel information
DE102015207220A1 (en) 2014-04-28 2015-10-29 Robert Bosch Gmbh A method of creating a secret or key in a network
DE102014209042A1 (en) 2014-05-13 2015-11-19 Robert Bosch Gmbh Method and device for generating a secret key
DE102014208975A1 (en) 2014-05-13 2015-11-19 Robert Bosch Gmbh A method for generating a key in a network and subscribers to a network and network

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
"BOSCH CAN SPECIFICATION VERSION 2.0", BOSCH CAN SPECIFICATION VERSION 2.0, XX, XX, 1 September 1991 (1991-09-01), pages 1 - 69, XP002291910 *
"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 *

Also Published As

Publication number Publication date
DE102015220048A1 (en) 2017-04-20

Similar Documents

Publication Publication Date Title
EP3138258B1 (en) Method for generating a secret or a key in a network
DE102015220038A1 (en) A method of creating a secret or key in a network
DE102016208451A1 (en) A method of creating a secret or key in a network
EP3363145B1 (en) Method and device for producing a common secret
WO2016188667A1 (en) Method for generating a secret or a key in a network
EP3363146B1 (en) Method for generating a key in a circuit assembly
WO2017064027A1 (en) Method for generating a secret or a key in a network
WO2017064124A1 (en) Circuit arrangement for producing a secret or a key in a network
WO2017064075A1 (en) Circuit arrangement for generating a secret or key in a network
WO2017064025A1 (en) Method for generating a secret or a key in a network
DE102016208453A1 (en) A method of creating a secret or key in a network
WO2017064067A1 (en) Method for generating a key in a network and for activating the securing of communication in the network on the basis of the key
WO2017064129A1 (en) Method for generating a secret for a one-time encryption in a network
WO2017064125A1 (en) Method for generating a secret or a key in a network
WO2017064131A1 (en) Method for generating a secret or key in a network
EP3363144B1 (en) Method and apparatus for establishing a common secret
DE102015219989A1 (en) A method and apparatus for refreshing a shared secret, in particular a symmetric cryptographic key, between a first node and a second node of a communication system
WO2017064002A1 (en) Method and device for generating a joint secret
DE102016208452A1 (en) A method of creating a secret or key in a network
DE102016208448A1 (en) A method of creating a secret or key in a network
DE102015220014A1 (en) Method for generating a secret in a network
WO2017064003A1 (en) Method and device for generating a common secret of specified length
WO2017064006A1 (en) Method and device for producing a common key in a field bus system

Legal Events

Date Code Title Description
121 Ep: the epo has been informed by wipo that ep was designated in this application

Ref document number: 16779100

Country of ref document: EP

Kind code of ref document: A1

NENP Non-entry into the national phase

Ref country code: DE

122 Ep: pct application non-entry in european phase

Ref document number: 16779100

Country of ref document: EP

Kind code of ref document: A1