DE102015220048A1 - A method of creating a secret or key in a network - Google Patents

A method of creating a secret or key in a network Download PDF

Info

Publication number
DE102015220048A1
DE102015220048A1 DE102015220048.5A DE102015220048A DE102015220048A1 DE 102015220048 A1 DE102015220048 A1 DE 102015220048A1 DE 102015220048 A DE102015220048 A DE 102015220048A DE 102015220048 A1 DE102015220048 A1 DE 102015220048A1
Authority
DE
Germany
Prior art keywords
event
network participant
network
value sequence
transmission
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
DE102015220048.5A
Other languages
German (de)
Inventor
Thomas Keller
Bjoern KASPER
Thorsten Huck
Timo Lothspeich
Andreas Mueller
Thorsten SCHWEPP
Andreas SOENKENS
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Robert Bosch GmbH
Original Assignee
Robert Bosch GmbH
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Robert Bosch GmbH filed Critical Robert Bosch GmbH
Priority to DE102015220048.5A priority Critical patent/DE102015220048A1/en
Priority to PCT/EP2016/074271 priority patent/WO2017064025A1/en
Publication of DE102015220048A1 publication Critical patent/DE102015220048A1/en
Pending legal-status Critical Current

Links

Images

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

Es wird ein Verfahren zur Generierung eines Geheimnisses in einem ersten Netzwerkteilnehmer vorgestellt, wobei der erste Netzwerkteilnehmer eine Übertragung mindestens einer ersten Wertfolge auf einem Übertragungskanal zumindest teilweise synchron zu einer Übertragung mindestens einer zweiten Wertfolge auf dem Übertragungskanal durch einen zweiten Netzwerkteilnehmer 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 ermittelt Dabei wird die erste Wertfolge zu einer zwischen dem ersten Netzwerkteilnehmer (21) und dem zweiten Netzwerkteilnehmer (22) abgestimmten Zeit übertragen.A method for generating a secret in a first network participant is presented, wherein the first network participant initiates transmission of at least one first value sequence on a transmission channel at least partially synchronously with transmission of at least one second value sequence on the transmission channel by a second network participant and the secret based on the at least one first value sequence and based on an overlay of the at least one first value sequence and the at least one second value sequence determined on the transmission channel. The first value sequence is transmitted to a time tuned between the first network participant (21) and the second network participant (22).

Description

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 Übertragungsmedium. Hierbei werden logische Bitfolgen (bzw. allgemeiner: Wertfolgen) durch entsprechende Übertragungsverfahren als Signale bzw. Signalfolgen physikalisch übertragen. Das zugrundeliegende Kommunikationssystem kann z.B. ein CAN-Bus sein. Dieser sieht eine Übertragung dominanter und rezessiver Bits bzw. entsprechend dominanter und rezessiver Signale vor, wobei sich ein dominantes Signal bzw. Bit eines Teilnehmers des Netzwerks gegen rezessive Signale bzw. Bits durchsetzt. Ein Zustand entsprechend dem rezessiven Signal stellt sich auf dem Übertragungsmedium nur ein, wenn alle beteiligten Teilnehmer ein rezessives Signal zur Übertragung vorsehen bzw. wenn alle gleichzeitig sendenden Teilnehmer einen rezessiven Signalpegel übertragen.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 TechnikState 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 is an essential prerequisite for the acceptance and thus the economic success of the corresponding applications in many areas of application. Depending on the application, this includes various protection goals, such as safeguarding 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 kryptographische Verfahren zum Einsatz, die man generell in zwei verschiedene Kategorien unterteilen kann: Zum einen symmetrische Verfahren, bei denen Sender und Empfänger über denselben kryptographischen Schlüssel verfügen, zum anderen asymmetrische Verfahren, bei denen der Sender die zu übertragenden Daten mit dem öffentlichen (d.h. auch einem potenziellen Angreifer möglicherweise bekannten) Schlüssel des Empfängers verschlüsselt, die Entschlüsselung aber nur mit dem zugehörigen privaten Schlüssel erfolgen kann, der idealerweise nur dem Empfänger bekannt ist.In order to achieve these protection goals, suitable cryptographic methods are usually used, which can generally be subdivided into two different categories: on the one hand, symmetrical methods in which the sender and receiver have the same cryptographic key, and on the other asymmetrical methods in which the sender transfers the ones to be transmitted Encrypt data with the public key (that may also be known to a potential attacker) of the recipient, but decrypt it only with the associated private key, ideally 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 hinaus steht oftmals nur eine begrenzte Bandbreite zur Datenübertragung zur Verfügung, was den Austausch von asymmetrischen Schlüsseln mit Längen von 2048 Bit oder noch mehr unattraktiv macht.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 zuordnen. Im Fall von Wireless LANs hingegen erfolgt üblicherweise eine manuelle Eingabe der zu verwendenden Schlüssel (in der Regel durch die Eingabe eines Passwortes) bei der Einrichtung eines Netzwerkes. Ein solches Schlüsselmanagement wird allerdings schnell sehr aufwändig und impraktikabel wenn man eine sehr große Anzahl von Knoten hat, beispielsweise in einem Sensornetzwerk oder anderen Maschine-zu-Maschine-Kommunikationssystemen, z.B. auch CAN-basierten Fahrzeugnetzwerken. Darüber hinaus ist eine Änderung der zu verwendenden Schlüssel oftmals überhaupt nicht bzw. nur mit sehr großem Aufwand möglich. Bei aktuellen Verfahren werden die Schlüssel 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.For 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 unique identifier of a SIM card to the corresponding key. In the case of wireless LANs, on the other hand, a manual entry of the keys to be used (usually by entering a password) usually takes place when setting up a network. However, such key management quickly becomes very cumbersome and impractical if one has a very large number of nodes, for example in a sensor network or other machine-to-machine communication systems, e.g. 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 10 2009 002 396 A1 und in der DE 10 2009 045 133 A1 offenbart.A method for securing sensor data against manipulation and ensuring transaction authentication, for example in a motor vehicle network, using conventional encryption methods are, for example, in DE 10 2009 002 396 A1 and in the DE 10 2009 045 133 A1 disclosed.

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 208 975 A1 sowie DE 10 2014 209 042 A1 beschrieben.For some time now, the term "physical layer security" has been used to investigate and develop novel approaches by means of which keys for symmetrical methods can be generated automatically on the basis of physical properties of the transmission channels between the nodes involved. One uses the reciprocity and the inherent randomness of these transmission channels. In particular, in wired or optical systems, this approach is often only partially suitable because corresponding channels usually have only a very limited temporal variability and an attacker can draw relatively well on the channel parameters between the sender and the receiver, for example by means of modeling. Such methods for secure communication in a distributed system based on channel characteristics of the connected units are, for example, in the non-prepublished applications DE 10 2014 208 975 A1 such as DE 10 2014 209 042 A1 described.

Die nicht vorveröffentlichte DE 10 2015 207 220 A1 offenbart ein Verfahren zur Erzeugung eines gemeinsamen Geheimnisses bzw. eines geheimen, symmetrischen Schlüssels mittels öffentlicher Diskussion zwischen zwei Kommunikationsteilnehmern.The not pre-published DE 10 2015 207 220 A1 discloses a method for generating a shared secret by means of public discussion between two communicants.

Offenbarung der ErfindungDisclosure of the invention

Die Verfahren zur Generierung eines Geheimnisses bzw. eines kryptographischen Schlüssels gemäß den unabhängigen Ansprüchen erfordern keinerlei manuellen Eingriff und ermöglichen somit den automatisierten Aufbau sicherer Kommunikationsbeziehungen bzw. -verbindungen zwischen zwei Knoten. Zudem weisen die Verfahren eine sehr geringe Komplexität auf, insbesondere hinsichtlich der erforderlichen Hardwareauslegung, wie z.B. der benötigten Speicherressourcen und Rechenleistung, und sie gehen mit einem geringen Energie- und Zeitbedarf einher. Darüber hinaus bieten die Verfahren sehr hohe Schlüsselgenerierungsraten bei gleichzeitig sehr kleiner Fehlerwahrscheinlichkeit.The methods for generating a secret or cryptographic key according to the independent claims do not require any manual intervention and thus enable the automated establishment of secure 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 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 in that 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 participant 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üsselgenerierung 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.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 network participants involved 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 are particularly stable, but remain very flexible. For a particularly efficient system, the reception advantageously takes place as an event defined a (specific) message, in particular via the common transmission channel.

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.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 I2C 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 I 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.

Zeichnungendrawings

Nachfolgend ist die Erfindung unter Bezugnahme auf die beiliegenden Zeichnungen und anhand von Ausführungsbeispielen näher beschrieben. Dabei zeigenThe invention is described in more detail below with reference to the accompanying drawings and to exemplary embodiments. Show

1 schematisch den Aufbau eines beispielhaften, zugrundeliegenden Kommunikationssystems, 1 schematically the structure of an exemplary, underlying communication system,

2 schematisch einen linearen Bus als Beispiel eines zugrundeliegenden Kommunikationssystems, 2 schematically a linear bus as an example of an underlying communication system,

3 schematisch beispielhafte Signalfolgen zweier Teilnehmer eines Netzwerks sowie eine resultierende Überlagerungswertfolge auf einem Übertragungskanal zwischen den Teilnehmern, 3 schematically exemplary signal sequences of two subscribers of a network as well as a resulting superposition value sequence on a transmission channel between the subscribers,

4 schematisch den Ablauf eines beispielhaften Verfahrens zur Schlüsselgenerierung zwischen zwei Teilnehmern eines Netzwerks, 4 2 schematically shows the sequence of an exemplary method for generating a key between two subscribers of a network,

5 einen beispielhaften Verfahrensablauf zur Synchronisation zweier Netzwerkteilnehmer im Rahmen eines Verfahrens zur Generierung und Etablierung eines gemeinsamen Schlüssels, 5 an exemplary method sequence for the synchronization of two network subscribers in the context of a method for generating and establishing a common key,

6 einen weiteren beispielhaften Verfahrensablauf zur Synchronisation zweier Netzwerkteilnehmer im Rahmen eines Verfahrens zur Generierung und Etablierung eines gemeinsamen Schlüssels sowie 6 a further exemplary procedure for the synchronization of two network participants in the context of a method for generating and establishing a common key and

7 einen weiteren beispielhaften Verfahrensablauf zur Synchronisation zweier Netzwerkteilnehmer im Rahmen eines Verfahrens zur Generierung und Etablierung eines gemeinsamen Schlüssels. 7 a further exemplary procedure for the synchronization of two network participants in the context of a method for generating and establishing a common key.

Beschreibung der AusführungsbeispieleDescription 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 vollständig automatisiert und sicher entsprechende symmetrische kryptographische Schlüssel zu etablieren, um darauf aufbauend dann bestimmte Sicherheitsfunktionen, wie z.B. eine Datenverschlüsselung oder einer Nachrichtenauthentifizierung, zu realisieren. Wie im Detail noch beschrieben wird hierzu zunächst ein gemeinsames Geheimnis etabliert, welches zur Schlüsselgenerierung herangezogen werden kann. Ein solches gemeinsames Geheimnis kann aber grundsätzlich auch zu anderen Zwecken als für kryptographische Schlüssel im engeren Sinne genutzt werden, z.B. als One-Time-Pad.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 completely automatically and securely establish corresponding symmetrical cryptographic keys between two different subscribers of a network in order then to build certain security functions, such as e.g. a data encryption or a message authentication to realize. 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 strict sense, e.g. as a 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 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. For example, this principle forms the basis of Accordingly, possible fields of application of the invention include in particular also CAN-based vehicle networks and CAN-based networks in automation technology.

Die vorliegende Erfindung beschreibt einen Ansatz, mit dem automatisiert symmetrische kryptographische Schlüssel in einem, bzw. insbesondere zwischen zwei Knoten eines Netzwerks generiert werden können. Diese Generierung erfolgt dabei unter Ausnutzung von Eigenschaften der entsprechenden Übertragungsschicht. Anders als bei den gängigen Ansätzen der „Physical Layer Security“ werden dafür aber nicht physikalische Parameter des Übertragungskanals wie Übertragungsstärke etc. ausgewertet. Vielmehr gibt es dazu einen öffentlichen Datenaustausch zwischen den beteiligten Knoten, der dank der Eigenschaften des Kommunikationssystems und/oder des verwendeten Modulationsverfahrens einem möglichen lauschenden Angreifer keine, bzw. keine ausreichenden Rückschlüsse auf den daraus ausgehandelten Schlüssel ermöglicht. The present invention describes an approach with which automatically 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" but not physical parameters of the transmission channel such as transmission strength, etc. are evaluated. Rather, there is a public data exchange between the nodes involved, thanks to the characteristics of the communication system and / or the modulation method used a possible listening attacker no, or no sufficient conclusions on the negotiated key allows.

Im Folgenden wird eine Anordnung betrachtet, wie sie abstrakt in 1 dargestellt ist. Dabei können verschiedene Teilnehmer 2, 3 und 4 über ein so genanntes geteiltes Übertragungsmedium („shared medium“) 10 miteinander kommunizieren. In einer vorteilhaften Ausprägung der Erfindung entspricht dieses geteilte Übertragungsmedium einem linearen Bus (drahtgebunden oder optisch) 30, wie er beispielhaft in 2 dargestellt ist. Das Netzwerk 20 in 2 besteht aus eben diesem linearen Bus 30 als geteiltes Übertragungsmedium (beispielsweise als drahtgebundener Übertragungskanal), Teilnehmern bzw. Knoten 21, 22 und 23 sowie (optionalen) Busterminierungen 31 und 32. The following is an arrangement as abstract in 1 is shown. There are different participants 2 . 3 and 4 via a so-called shared medium ("shared medium") 10 communicate with each other. In an advantageous embodiment of the invention, this divided transmission medium corresponds to a linear bus (wired or optical) 30 as he exemplifies in 2 is shown. The network 20 in 2 consists of just this linear bus 30 as a shared transmission medium (for example as a wired transmission channel), subscribers or 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. The following is for communication between the various nodes 21 . 22 and 23 assumed that it is 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 (eg, the logical bit, 0 ') quasi displace or overwrite a simultaneously transmitted recessive bit (eg, 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 Übertragungszustände unterschieden werden: Im ersten Fall (Wert ‚On‘, bzw. „0“) wird ein Signal übertragen, beispielsweise in Form eines einfachen Trägersignals, im anderen Fall (Wert ‚Off‘, bzw. „1“) wird kein Signal übertragen. Der Zustand ‚On‘ ist dabei dominant während der Zustand ‚Off‘ rezessiv ist. An example of such a transmission method is the so-called on-off-keying (amplitude-shift keying), in which exactly two transmission states are distinguished: in the first case (value 'on' or '0') becomes Signal 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 'On' is dominant while the state 'Off' is recessive.

Ein weiteres Beispiel für ein entsprechendes Kommunikationssystem, das diese Unterscheidung von dominanten und rezessiven Bits unterstützt, ist ein (drahtgebundenes oder optisches) System basierend auf einer bitweisen Bus-Arbitrierung, wie sie beispielsweise beim CAN-Bus zum Einsatz kommt. Die Grundidee dabei besteht ebenfalls darin, dass wenn beispielsweise zwei Knoten gleichzeitig ein Signal übertragen wollen und der eine Knoten eine ‚1‘ überträgt, wohingegen der zweite Knoten eine ‚0‘ sendet, die ‚0‘ „gewinnt“ (also das dominante Bit), d.h. der Signalpegel, der auf dem Bus gemessen werden kann, entspricht einer logischen ‚0‘. Bei CAN wird dieser Mechanismus insbesondere zur Auflösung von möglichen Kollisionen benutzt. Dabei werden höherpriore Nachrichten (d.h. Nachrichten mit früherem, dominantem Signalpegel) vorrangig übertragen, indem jeder Knoten bei der Übertragung seines CAN-Identifiers bitweise gleichzeitig den Signalpegel auf dem Bus überwacht. Sofern der Knoten selbst ein rezessives Bit überträgt, aber auf dem Bus ein dominantes Bit detektiert wird, bricht der entsprechende Knoten seinen Übertragungsversuch zugunsten der höherprioren Nachricht (mit dem früheren dominanten Bit) ab. Another example of a corresponding communication system that supports this distinction between dominant and recessive bits is a (wired or optical) system based on bitwise bus arbitration, such as that used 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) ie the signal level which can be measured on the bus corresponds to a logical '0'. In CAN, this mechanism is used in particular for the resolution of possible collisions. In doing so, higher priority messages (i.e., previous dominant signal level messages) are prioritized by each node simultaneously monitoring 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 aborts its transmission attempt in favor of the higher priority message (with the earlier dominant bit).

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. 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 3 ist beispielsweise dargestellt, wie ein Teilnehmer 1 (T1) die Bitfolge 0, 1, 1, 0, 1 zur Sendung zwischen den Zeitpunkten t0 und t5 über den Übertragungskanal bereit hält. Teilnehmer 2 (T2) hält die Bitfolge 0, 1, 0, 1, 1 zur Sendung zwischen Zeitpunkten t0 und t5 über den Übertragungskanal bereit. Mit den oben beschriebenen Eigenschaften des Kommunikationssystems und unter der Annahme, dass es sich in diesem Beispiel bei dem Bitpegel „0“ um das dominante Bit handelt, wird auf dem Bus (B) die Bitfolge 0, 1, 0, 0, 1 zu sehen sein. Nur zwischen den Zeitpunkten t1 und t2 sowie zwischen t4 und t5 sehen sowohl Teilnehmer 1 (T1) als auch Teilnehmer 2 (T2) ein rezessives Bit „1“ vor, so dass nur hier die logische UND-Verknüpfung in einen Bitpegel von „1“ auf dem Bus (B) resultiert. In 3 For example, it shows 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) holds the bit sequence 0, 1, 0, 1, 1 ready for transmission between times t0 and t5 over 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) be. 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 link have 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 detektieren 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 participants of a corresponding network can now be done by the participants detect a superposition of bit sequences of the two participants on the transmission medium and from this information together with information about the self-transmitted bit sequence a common (symmetric ), generate secret keys.

Eine beispielhafte, besonders bevorzugte Realisierung wird im Folgenden anhand von 4 erläutert. An exemplary, particularly preferred implementation will be described below with reference to FIG 4 explained.

Der Prozess zur Generierung eines symmetrischen Schlüsselpaars wird in Schritt 41 von einem der in diesem Beispiel zwei beteiligten Knoten (Teilnehmer 1 und Teilnehmer 2) gestartet. Dies kann beispielsweise durch das Versenden einer speziellen Nachricht bzw. eines speziellen Nachrichtenheaders erfolgen. Sowohl Teilnehmer 1 als auch Teilnehmer 2 generieren in Schritt 42 zunächst lokal (d.h. intern und voneinander unabhängig) eine Bitsequenz. Vorzugsweise ist diese Bitfolge mindestens zweimal, insbesondere mindestens dreimal so lang wie der als Resultat des Verfahrens erwünschte gemeinsame Schlüssel. Die Bitfolge wird vorzugsweise jeweils als zufällige oder pseudozufällige Bitabfolge, beispielsweise mit Hilfe eines geeigneten Zufallszahlengenerators oder Pseudozufallszahlengenerators erzeugt.The process for generating a symmetric key pair is in step 41 started 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 participant 1 and participant 2 generate in step 42 first locally (ie internally and independently) a bit sequence. 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 pseudorandom 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: ST1 = 01001101110010110010- Generated bit sequence of subscriber 1: S T1 = 01001101110010110010
  • – Erzeugte Bitsequenz von Teilnehmer 2: ST2 = 10010001101101001011- Generated bit sequence of subscriber 2: S T2 = 10010001101101001011

In einem Schritt 43 übertragen Teilnehmer 1 und Teilnehmer 2 zueinander (weitgehend) synchron ihre jeweils erzeugten Bitsequenzen über das geteilte Übertragungsmedium (unter Verwendung des Übertragungsverfahrens mit dominanten und rezessiven Bits, wie zuvor bereits erläutert). Dabei sind verschiedene Möglichkeiten zur Synchronisierung der entsprechenden Übertragungen denkbar. So könnte beispielsweise entweder Teilnehmer 1 oder Teilnehmer 2 zunächst eine geeignete Synchronisationsnachricht an den jeweils anderen Knoten senden und nach einer bestimmten Zeitdauer im Anschluss an die vollständige Übertragung dieser Nachricht dann die Übertragung der eigentlichen Bitsequenzen starten. Genauso ist es aber auch denkbar, dass von einem der beiden Knoten nur ein geeigneter Nachrichtenheader übertragen wird (z.B. ein CAN-Header bestehend aus Arbitrierungsfeld und Kontrollfeld) und während der zugehörigen Payload-Phase dann beide Knoten gleichzeitig ihre generierten Bitsequenzen (weitgehend) synchron übermitteln. In einer Variante des Verfahrens können die in Schritt 42 generierten Bitsequenzen eines Teilnehmers in Schritt 43 auch auf mehrere Nachrichten verteilt übertragen werden können, beispielsweise wenn dies die (Maximal-)Größen der entsprechenden Nachrichten erforderlich machen. Auch in dieser Variante erfolgt die Übertragung der auf entsprechend viele, entsprechend große Nachrichten verteilten Bitsequenzen des anderen Teilnehmers wiederum (weitgehend) synchron.In one step 43 Participants 1 and 2 transmit to each other (largely) synchronously their respective generated bit sequences over the shared transmission medium (using the transmission method with dominant and recessive bits, as previously explained). 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, in step 42 generated bit sequences of a participant in step 43 can also be transmitted to several messages distributed, for example, if this requires the (maximum) sizes of the corresponding messages. In this variant too, the transmission of the correspondingly large number of correspondingly large messages distributed bit sequences of the other subscriber takes place again (largely) synchronously.

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.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 Überlagerungsbitfolge für die obigen, lokalen Bitfolgen:Example of a overlay bit string for the above local bit strings:

  • • Effektive Bitsequenz auf dem Übertragungskanal: Seff = ST1 AND ST2 = 00000001100000000010• Effective bit sequence on the transmission channel: S eff = S T1 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 the step 43 in a parallel step 44 the effective (overlaid) bit sequences S eff 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 ‚On-Off-Keying‘ (drahtlos, drahtgebunden oder optisch) ist dies entsprechend ebenfalls möglich. Der praktischen Realisierbarkeit kommt hierbei insbesondere zugute, dass bei einem solchen System der Zustand ‚On‘ dominant und der Zustand ‚Off‘ rezessiv ist (wie zuvor bereits erläutert). Folglich weiß ein Knoten auch ohne Messung, dass der effektive Zustand auf dem „Shared Medium“ dominant ist sofern der Knoten selbst ein dominantes Bit gesendet hat. Hat ein Knoten hingegen ein rezessives Bit gesendet, kennt er den Zustand auf dem geteilten Übertragungsmedium zunächst nicht ohne Weiteres, allerdings kann er in diesem Fall durch eine geeignete Messung bestimmen, wie dieser aussieht. Da der Knoten selbst in diesem Fall nichts sendet, gibt es nämlich auch keine Probleme mit so genannter Selbstinterferenz, die speziell im Fall von drahtlosen Systemen ansonsten eine aufwändige Echokompensation erforderlich machen würde.This is likewise possible for systems with on-off keying (wireless, wired or optical). The practical feasibility here benefits in particular from the fact that in such a system the state 'On' is dominant and the state 'Off' is recessive (as already explained above). Thus, 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. On the other hand, if a node has sent a recessive bit, it does not readily know the state on the shared transmission medium, but in this case it can determine how it looks by means of a suitable measurement. In fact, since the node does not transmit anything in this case, there are no problems with so-called self-interference, which would otherwise require complex echo cancellation, especially in the case of wireless systems.

In einem nächsten Schritt 45 übertragen sowohl Teilnehmer 1 als auch Teilnehmer 2 ebenfalls wieder (weitgehend) synchron ihre initialen Bitsequenzen ST1 und ST2, diesmal allerdings invertiert. Die Synchronisierung der entsprechenden Übertragungen kann dabei wieder genau auf dieselbe Art und Weise realisiert werden, wie oben beschrieben. Auf dem geteilten Kommunikationsmedium werden die beiden Sequenzen dann wieder miteinander UND-verknüpft. Teilnehmer 1 und 2 ermitteln wiederum die effektiven, überlagerten Bitsequenzen Seff auf dem geteilten Übertragungsmedium.In a next step 45 Both subscriber 1 and subscriber 2 likewise transmit (largely) their initial bit sequences S T1 and S T2 again synchronously, but this time inverted. 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 eff on the shared transmission medium.

Beispiel für die obigen Bitfolgen: Example of the above bit sequences:

  • – Invertierte Bitsequenz von Teilnehmer 1: ST1‘ = 10110010001101001101Inverted bit sequence of subscriber 1: S T1 '= 10110010001101001101
  • – Invertierte Bitsequenz von Teilnehmer 2: ST2‘ = 01101110010010110100Inverted bit sequence of subscriber 2: S T2 '= 01101110010010110100
  • – Effektive, überlagerte Bitsequenz auf dem Kanal: Seff‘ = ST1‘ AND ST2‘ = 00100010000000000100- Effective, superimposed bit sequence on the channel: S eff '= S T1 ' 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 ST1 und Teilnehmer 2 seine initial erzeugte, lokale Bitsequenz ST2. Teilnehmer 1 wiederum kennt aber nicht die initial erzeugte, lokale Bitsequenz von Teilnehmer 2 und Teilnehmer 2 nicht die initial erzeugte, lokale Bitsequenz von Teilnehmer 1. Die Detektion der Überlagerungsbitfolge erfolgt wiederum während der Übertragung in Schritt 46.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 is listening to the communication on the shared transmission medium, thus know the effective, superimposed bit sequences S eff and S eff '. In contrast to the attacker or third participant, however, participant 1 still knows his initially generated, local bit sequence S T1 and participant 2 his initially generated, local bit sequence S T2 . However, subscriber 1 does not know the initially generated, local bit sequence of subscribers 2 and subscriber 2 does not have 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.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 done with the steps 43 and 44 , The original and the inverted bit sequence can be transmitted in a message, but also in separate messages as part bit sequences.

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.In step 47 Subscriber 1 and subscriber 2 now each locally (ie internally) link the effective, superposed bit sequences (S eff and S eff '), in particular with a logical OR function.

Beispiel für die obigen Bitfolgen:Example of the above bit sequences:

  • Sges = Seff OR Seff‘ = 00100011100000000110S tot = S eff OR S eff '= 00100011100000000110

Die einzelnen Bits in der aus der ODER-Verknüpfung resultierenden Bitsequenz (Sges) geben nun an, ob die entsprechenden Bits von ST1 und ST2 identisch oder unterschiedlich sind. Ist das n-te Bit innerhalb von Sges beispielsweise eine ‚0‘, so bedeutet dies, dass das n-te Bit innerhalb von ST1 invers zu dem entsprechenden Bit innerhalb von ST2 ist. Gleichermaßen gilt, dass wenn das n-te Bit innerhalb von Sges eine ‚1‘ ist, die entsprechenden Bits innerhalb von ST1 und ST2 identisch sind. The individual bits in the bit sequence (S ges ) resulting from the OR operation now indicate whether the corresponding bits of S T1 and S T2 are identical or different. For example, if the nth bit within S tot is a '0', it means that the nth bit within S T1 is inverse to the corresponding bit within S T2 . Likewise, if the nth bit within S tot is a '1', the corresponding bits within S T1 and S T2 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 ST1 und ST2 alle Bits, die in beiden Sequenzen identisch sind. Dies führt folglich zu entsprechend verkürzten Bitsequenzen. Participant 1 and Participant 2 will then step out 48 based on the bit sequence S ges obtained from the OR combination in their original, initial bit sequences S T1 and S T2 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: ST1,V = 01011100101100- Abbreviated bit sequence of user 1: S T1, V = 01011100101100
  • – Verkürzte Bitsequenz von Teilnehmer 2: ST2,V = 10100011010011- Abbreviated bit sequence of subscriber 2: S T2, V = 10100011010011

Die resultierenden, verkürzten Bitsequenzen ST1,V und ST2,V sind nun gerade invers zueinander. Somit kann einer der beiden Teilnehmer durch Inversion seiner verkürzten Bitsequenz exakt diejenige verkürzte Bitsequenz ermitteln, wie sie im anderen Teilnehmer bereits vorliegt.The resulting, shortened bit sequences S T1, V and S T2, 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 will now be from participant 1 and participant 2 in step 49 each locally processed in a suitable manner to generate the actually desired key of the desired length N. Again, there are a variety of ways that this treatment can be done. One possibility is to select 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 generieren.In a preferred variant of the method for generating a key, different methods can be used First of all, a whole series of resulting shortened bit sequences, which are present in the case of subscribers 1 and 2, are also 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, for example, the length of the common, shortened bit sequence is, for example, less than the desired key length N after a single pass through the described procedure, then one could, for example, 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) kryptographischen Verfahren, wie z.B. Chiffren zur Datenverschlüsselung, eingesetzt werden.Finally, the generated symmetric key pair may be subsumed by Subscriber 1 and Subscriber 2 in conjunction with established (symmetric) cryptographic methods, e.g. Ciphers for data encryption.

Ein möglicher Angreifer (z.B. Teilnehmer 3) kann die öffentliche Datenübertragung zwischen Teilnehmer 1 und Teilnehmer 2 abhören und somit wie beschrieben Kenntnis der effektiven, überlagerten Bitfolgen (Seff und Seff‘) erlangen. Damit weiß der Angreifer dann allerdings nur, welche Bits in den lokal generierten Bitsequenzen von Teilnehmer 1 und 2 identisch sind und welche nicht. Bei den identischen Bits kann der Angreifer darüber hinaus sogar noch feststellen, ob es sich dabei um eine ‚1‘ oder eine ‚0‘ handelt. Für eine vollständige Kenntnis der resultierenden, verkürzten Bitfolge (und damit der Grundlage zur Schlüsselgenerierung) fehlen ihm aber die Informationen über die nicht identischen Bits. Um dem Angreifer mögliche Angriffe weiter zu erschweren, wird in einer bevorzugten Variante zusätzlich die in den ursprünglichen, lokal erzeugten Bitfolgen der Teilnehmer 1 und 2 identischen Bitwerte gelöscht. Damit verfügt Teilnehmer 3 nur über Informationen, die für die Schlüsselgenerierung gar nicht verwendet werden. Er weiß zwar, dass entsprechend verkürzte Bitfolgen aus den zwischen den lokalen Bitfolgen der Teilnehmer 1 und Teilnehmer 2 unterschiedlichen Bits hervorgehen. Er weiß aber nicht, welche Bits Teilnehmer 1 und Teilnehmer 2 jeweils gesendet haben.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, superimposed bit sequences (S eff and S eff ') 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 the 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.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.

Hierzu wird in den Netzwerkteilnehmern geprüft, ob ein vorgegebenes 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 eines gemeinsamen kryptografischen Geheimnisses durch Sendung der Wertfolge(n) begonnen. For this purpose, it is checked in the network participants whether a given event has 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 by sending the value sequence (s) is started.

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 Übertragungskanal 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 Prozess 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 if the event has occurred.

Der prinzipielle Ablauf ist in einer beispielhaften Ausführung in 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 Ereignis eingetreten ist, so wird in Schritt 53 eine vorkonfigurierte oder dynamisch konfigurierte Wartezeit abgewartet und in Schritt 54 ein Verfahren zur Geheimnisgenerierung 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 procedure is in an exemplary embodiment in 5 shown. In step 51 the procedure is started. In step 52 begins an examination for the occurrence of a predetermined event. If it is determined that the event has occurred, then in step 53 Waited for a preconfigured or dynamically configured wait time and in step 54 a method for secret generation is started, in particular by transmission of the first value sequence or of the first and the second value sequence. Subsequently, in step 55 branched. Will in step 52 determined that the predetermined event has not occurred is also at step 55 branched.

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.In step 55 a check is made as to whether an abort condition exists. If that is the case, go to step 56 Branched and the process aborted. If not, turn to step 52 Branched back and resumed the test on the occurrence of the event.

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 the following, two communication partners (first network participant and second network participant) are assumed to be using a communication channel want to perform the above-described methods for generating a shared secret or key and synchronize thereto 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 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 in 6 shown.

Die Schritte 51, 52, 53, 54, 55 und 56 entsprechen dabei den zu 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 5 beschrieben.The steps 51 . 52 . 53 . 54 . 55 and 56 correspond to the 5 according to described steps. In addition, after the start in step 51 in a new step 60 generated by the network participant, the event, for example, transmit a corresponding signal or a corresponding message on the transmission channel. In the following step 52 there is a check for detection of the event (eg, receipt of a signal or message). From then on, the procedure is the same 5 described.

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 detected only by the other network subscriber. For example, the first network participant generates a corresponding event which only the second network participant detects.

Ein beispielhafter Ablauf eines Synchronisierungsverfahrens dieser Ausgestaltung ist für den das Ereignis generierenden Netzwerkteilnehmer in 7 gezeigt. 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 Ereignisses (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.An exemplary sequence of a synchronization method of this embodiment is for the network subscriber generating the event in FIG 7 shown. After starting the procedure in step 51 will be in step 60 the event is generated (eg sent a signal or message 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 (eg after transmission of the signal or the message). Upon expiration of the waiting period will be in step 54 the method for event generation is started, for example sent by the first network subscriber, the first value sequence (synchronous to the second value sequence of the second network participant) via the transmission channel. The procedure 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 Netzwerkteilnehmer 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 superimposition of the transmitted signals, the system is designed in a preferred embodiment so that an event is detected by the two network participants as possible simultaneously and the preparation time between the detection of the event and the transmission of the signals or value sequences to be superimposed to 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 unterscheiden, kann dies durch Verwendung unterschiedlicher Wartezeiten derart kompensiert werden, dass sich eine ausreichend synchrone Übertragung bzw. bitgenaue Überlagerung ergibt.If the time duration required by the first and the second network participant to detect the event (for example due to different signal delays) or the preparation time of the two network participants is different, this can be compensated by using different waiting times such that a sufficiently synchronous Transmission or bit-exact overlay results.

Analoges gilt, falls die beiden Netzwerkteilnehmer unterschiedliche Verfahrensabläufe haben, weil bspw. einer der Netzwerkteilnehmer das Ereignis selbst generiert. 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 Zeitsynchronisierungsverfahren eingesetzt. Dazu eignen sich Standardverfahren, wie bspw. IEEE1588 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. To determine the time, relative definitions (for example, every 30 minutes) are just like absolute ones Definitions in a common time base (on 01.07.2015 - 12:00 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. IEEE1588 or IEEE 802.1AS Rev , If the transmission channel should be occupied at the agreed, absolute time, the network participants, for example, start sending 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 Geheimnisgenerierung 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 CAN-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 Frequenz-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, which 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, e.g. a predetermined value in the data field (or part thereof) of a message or a given message identifier (or part thereof) at a message with corresponding information (e.g., a CAN message). In the case of time-controlled communication systems, for example, cyclically recurring messages are also suitable, for example a "reference message" from a TTCAN schedule. As a further alternative, a frequency multiplexing may be used and so be used for the generation of the event another frequency, so as not to interfere with 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 may 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.

ZITATE ENTHALTEN IN DER BESCHREIBUNG QUOTES INCLUDE IN THE DESCRIPTION

Diese Liste der vom Anmelder aufgeführten Dokumente wurde automatisiert erzeugt und ist ausschließlich zur besseren Information des Lesers aufgenommen. Die Liste ist nicht Bestandteil der deutschen Patent- bzw. Gebrauchsmusteranmeldung. Das DPMA übernimmt keinerlei Haftung für etwaige Fehler oder Auslassungen.This list of the documents listed by the applicant has been generated automatically and is included solely for the better information of the reader. The list is not part of the German patent or utility model application. The DPMA assumes no liability for any errors or omissions.

Zitierte PatentliteraturCited patent literature

  • DE 102009002396 A1 [0007] DE 102009002396 A1 [0007]
  • DE 102009045133 A1 [0007] DE 102009045133 A1 [0007]
  • DE 102014208975 A1 [0008] DE 102014208975 A1 [0008]
  • DE 102014209042 A1 [0008] DE 102014209042 A1 [0008]
  • DE 102015207220 A1 [0009] DE 102015207220 A1 [0009]

Zitierte Nicht-PatentliteraturCited non-patent literature

  • IEEE1588 [0077] IEEE1588 [0077]
  • IEEE 802.1AS-Rev [0077] IEEE 802.1AS-Rev [0077]

Claims (20)

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.Method for generating a secret in a first network subscriber ( 21 ), the first network participant ( 21 ) transmission of at least one first value sequence on a transmission channel ( 30 ) at least substantially in synchronism with a transmission of at least one second value sequence on the transmission channel by a second network participant ( 22 ) and the secret based on the at least one first value sequence and on the basis of an overlay 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 participant ( 21 ) and the second network participant ( 22 ) time is transferred. Verfahren nach Anspruch 1, dadurch gekennzeichnet, dass die erste Wertfolge um eine dynamisch generierte Wartezeit nach einem Ereignis übertragen wird.A method according to claim 1, characterized in that the first value sequence is transmitted by a dynamically generated waiting time after an event. Verfahren nach Anspruch 1, dadurch gekennzeichnet, dass die erste Wertfolge um eine vorbestimmte Wartezeit nach einem Ereignis übertragen wird.A method according to claim 1, characterized in that the first value sequence is transmitted by a predetermined waiting time after an event. Verfahren nach einem der Ansprüche 2 oder 3, dadurch gekennzeichnet, dass das Ereignis außerhalb des ersten Netzwerkteilnehmers (21) generiert wird.Method according to one of claims 2 or 3, characterized in that the event outside the first network participant ( 21 ) is generated. Verfahren nach Anspruch 4, dadurch gekennzeichnet, dass das Ereignis an einer GPIO-Schnittstelle des ersten Netzwerkteilnehmers (21) detektiert wird.A method according to claim 4, characterized in that the event at a GPIO interface of the first network participant ( 21 ) is detected. Verfahren nach einem der Ansprüche 4 oder 5, dadurch gekennzeichnet, dass das Ereignis von dem zweiten Netzwerkteilnehmer (22) generiert wird.Method according to one of claims 4 or 5, characterized in that the event from the second network participant ( 22 ) is generated. 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. Method according to 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. Verfahren nach einem der Ansprüche 4 bis 7, dadurch gekennzeichnet, dass das Ereignis ein Empfang einer Nachricht mit einer vorbestimmten Nachrichten-ID ist.Method according to one of claims 4 to 7, characterized in that the event is a receipt of a message with a predetermined message ID. Verfahren nach einem der Ansprüche 4 bis 8, dadurch gekennzeichnet, dass das Ereignis ein Empfang einer bestimmten Nachricht über den Übertragungskanal (30) ist.Method according to one of Claims 4 to 8, characterized in that the event comprises a reception of a specific message via the transmission channel ( 30 ). 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.Method according to one of claims 2 to 4, characterized in that the event is a trigger signal, which in the first network participant ( 21 ) triggers the transmission of the first value sequence. 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. Method according to Claim 10, characterized in that the triggering signal in the first network subscriber ( 21 ) is detected via an interrupt or that the trigger signal from the first network participant ( 21 ) is detected via a polling method. Verfahren nach einem der Ansprüche 2 oder 3, dadurch gekennzeichnet, dass das Ereignis im ersten Netzwerkteilnehmer (21) generiert wird.Method according to one of claims 2 or 3, characterized in that the event in the first network participant ( 21 ) is generated. Verfahren nach Anspruch 4, dadurch gekennzeichnet, dass das Ereignis von dem ersten Netzwerkteilnehmer (21) und dem zweiten Netzwerkteilnehmer (22) gemeinsam generiert wird.A method according to claim 4, characterized in that the event from the first network participant ( 21 ) and the second network participant ( 22 ) is generated together. 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.Method according to one of claims 2 to 13, characterized in that in the event that the event does not occur during an audit on occurrence of the event, a new check is made on occurrence of the event or the key generation is aborted. 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. Method according to one of claims 2 to 14, characterized in that the event from 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. 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.Method according to one of claims 2 to 15, characterized in that the event from 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 adapted, which take into account the time differences. Verfahren nach Anspruch 1, dadurch gekennzeichnet, dass die erste Wertfolge zu einer vorbestimmten, absoluten Zeit übertragen wird.A method according to claim 1, characterized in that the first value sequence is transmitted to a predetermined, absolute time. Verfahren nach Anspruch 17, dadurch gekennzeichnet, dass die vorbestimmte, absolute Zeit durch eine Regel von Zeitabständen oder durch absolute Zeitpunkte vorbestimmt ist.A 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. Computerprogramm, welches dazu eingerichtet ist, die Schritte eines Verfahrens nach einem der Ansprüche 1 bis 18 durchzuführen. Computer program adapted to perform the steps of a method according to any one of claims 1 to 18. Netzwerkteilnehmer, welcher dazu eingerichtet ist, die Schritte eines Verfahrens nach einem der Ansprüche 1 bis 18 durchzuführen. Network subscriber adapted to perform the steps of a method according to any one of claims 1 to 18.
DE102015220048.5A 2015-10-15 2015-10-15 A method of creating a secret or key in a network Pending DE102015220048A1 (en)

Priority Applications (2)

Application Number Priority Date Filing Date Title
DE102015220048.5A DE102015220048A1 (en) 2015-10-15 2015-10-15 A method of creating a secret or key in a network
PCT/EP2016/074271 WO2017064025A1 (en) 2015-10-15 2016-10-11 Method for generating a secret or a key in a network

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
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
DE102015220048A1 true DE102015220048A1 (en) 2017-04-20

Family

ID=57124022

Family Applications (1)

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

Country Status (2)

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

Citations (5)

* 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
DE102015207220A1 (en) 2014-04-28 2015-10-29 Robert Bosch Gmbh A method of creating a secret or key in a network
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
DE102014209042A1 (en) 2014-05-13 2015-11-19 Robert Bosch Gmbh Method and device for generating a secret key

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
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

Patent Citations (5)

* 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
DE102015207220A1 (en) 2014-04-28 2015-10-29 Robert Bosch Gmbh A method of creating a secret or key in a network
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
DE102014209042A1 (en) 2014-05-13 2015-11-19 Robert Bosch Gmbh Method and device for generating a secret key

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
IEEE 802.1AS-Rev
IEEE1588

Also Published As

Publication number Publication date
WO2017064025A1 (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
EP3298721A1 (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
DE102015220048A1 (en) A method of creating a secret or key in a network
DE102016208453A1 (en) A method of creating a secret or key in a network
DE102015220026A1 (en) A method for creating a secret for a one-time encryption 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
DE102015220045A1 (en) A method of creating a secret or key in a network
DE102015220024A1 (en) A method of creating a secret or key in a network
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
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
WO2017064002A1 (en) Method and device for generating a joint secret
DE102015219991A1 (en) Method and apparatus for establishing a shared secret
DE102016208442A1 (en) A method of creating a secret or key in a network
DE102016208444A1 (en) A method of creating a secret or key in a network
DE102016208449A1 (en) A method of creating a secret or key in a network
DE102016208445A1 (en) A method of creating a secret or key in a network
DE102015219995A1 (en) Method and apparatus for generating a common key in a fieldbus system

Legal Events

Date Code Title Description
R012 Request for examination validly filed