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

Method for generating a secret or a key in a network

Info

Publication number
EP3298721A1
EP3298721A1 EP16716541.4A EP16716541A EP3298721A1 EP 3298721 A1 EP3298721 A1 EP 3298721A1 EP 16716541 A EP16716541 A EP 16716541A EP 3298721 A1 EP3298721 A1 EP 3298721A1
Authority
EP
European Patent Office
Prior art keywords
subscriber
value
sequence
transmission channel
values
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.)
Withdrawn
Application number
EP16716541.4A
Other languages
German (de)
French (fr)
Inventor
Timo Lothspeich
Andreas Mueller
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
Publication of EP3298721A1 publication Critical patent/EP3298721A1/en
Withdrawn legal-status Critical Current

Links

Classifications

    • 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/0838Key agreement, i.e. key establishment technique in which a shared key is derived by parties as a function of information contributed by, or associated with, each of these
    • 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
    • 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/12Transmitting and receiving encryption devices synchronised or initially set up in a particular manner
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L2209/00Additional information or applications relating to cryptographic mechanisms or cryptographic arrangements for secret or secure communication H04L9/00
    • H04L2209/84Vehicles

Definitions

  • the present invention relates to a method for generating a secret or a secret, cryptographic key in a network, in particular the generation of a common, secret key in two participants of the network.
  • 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.
  • 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.
  • suitable cryptographic methods are usually used, which can generally be subdivided into two different categories: first, symmetric methods, in which the sender and receiver have the same cryptographic key, and, on the other hand, asymmetrical methods in which the sender uses the data to be transmitted is encrypted with the public (ie possibly also known to a potential attacker) key of the recipient, but the decryption can be done only with the associated private key, which is ideally known only to the recipient.
  • asymmetric methods usually have a very high computational complexity. Thus, they are only conditionally for resource-constrained nodes, such. As sensors, actuators, or the like., Which usually have only a relatively low processing 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.
  • SI M cards inserted into a mobile phone and the associated network can then assign the unique identifier of a SI M card the appropriate key.
  • a manual entry of the keys to be used usually takes place when setting up a network.
  • 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. As well as CAN-based vehicle networks.
  • an amendment to the turning key often not at all or possible only with great effort.
  • CAN Controller Area Network
  • CAN-FD Methods for bit stuffing in the Controller Area Network (CAN) and CAN-FD can be found for example in DE 10 2011 080476 AI.
  • the non-prepublished DE 10 2015 207220 AI discloses a method for generating a shared secret or a secret symmetric key by means of public discussion between two communication participants. Disclosure of the invention
  • the methods for generating a secret or a 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.
  • 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.
  • the methods offer very high key generation rates with a simultaneously very low probability of error.
  • the methods assume that participants in a network communicate with each other via a communication channel.
  • they transfer logical sequences of values (in the case of binary logic, bit sequences) with the aid of physical signals on the transmission channel.
  • logical sequences of values in the case of binary logic, bit sequences
  • the transferred, logical value sequences as well as their logical overlay are considered.
  • 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.
  • 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).
  • the transmission must 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.
  • the superimposition can be determined by arbitration mechanisms or by physical signal superposition.
  • 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.
  • 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.
  • the participants involved in the key generation outside their subscriber value sequences i. in addition to these, give at least one fill value to the common transmission channel such that a change of edge or a value change results (e.g., bit change 0 to 1 or 1 to 0 in a binary system).
  • a change of edge or a value change results (e.g., bit change 0 to 1 or 1 to 0 in a binary system).
  • filling quantities are applied to the transmission channel largely synchronously by both subscribers, so that an edge change or a value change results from the superimposition signal of the filling values.
  • the fill values are given to the transmission channel at certain intervals (i.e., in particular after a certain number of individual values of the value sequences) or as a function of a detected overlay value sequence.
  • the subscribers place the fill values on the transmission channel if they each detect an overlay value sequence having a predetermined number of equal values.
  • the fill values are preferably inverse to the detected same values. Since stuff bits generally increase the overhead of a communication protocol and thus reduce the efficiency of key establishment, it is advantageous to provide such fill values only when in fact a certain number of value repeats is exceeded, which is detected here on the basis of the superposition sequence.
  • the fill values may be added to the transmission channel immediately adjacent to the detected number of equal values in the superposition value sequence.
  • the number to be detected can be set exactly to the permissible maximum number of identical values, so that the filling values are really only inserted in cases which they are necessary.
  • the fill values may also be inserted at a predetermined distance to detect a number of value repeats, which number should then be selected correspondingly lower than the maximum number.
  • the fill values are always inserted by the participants at fixed, predetermined intervals, in particular after a predetermined number of detected values on the transmission channel it must be the same values.
  • two fill values are preferably inserted, which already contain a value change or edge change (for example, the bit sequence 01 from both subscribers or the bit sequence 10 from both).
  • the method can be used in a network in which there is a dominant value (physically: a dominant signal) that prevails when only one subscriber applies it on the transmission channel and a recessive value (physically: a recessive signal ), on the
  • Transmission channel only results if both or all participants transmit a recessive value. Because of the clearly defined overlay rules, the subscribers of such a network can derive from the resulting overlay sequences particularly simple information for generating the key. Alternatively, the transmission of a recessive value of at least one of the subscribers can also be replaced by the fact that at this point the value sequence or, as one of the at least two possible values, nothing is transmitted.
  • the subscriber value sequences which are given largely simultaneously by the subscribers to the transmission channel, are generated in advance in the respective subscribers themselves with the aid of a random generator or pseudo-random generator.
  • the resulting overlay sequence on the transmission channel can be accessible to a potential attacker, it is particularly advantageous for the security of the subsequent communication if the attacker is able to lows having to conclude on the individual value sequences of the participants, if these are generated locally and randomly or at least pseudorandomly in the participants.
  • the methods described can be implemented particularly well in a CAN, TTCAN or CAN FD bus system.
  • 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.
  • the methods are also well suited for other communication systems such as LIN and I2C.
  • the method can also be used, for example, in a network with on-off-keying amplitude shift keying.
  • the overlay is fixed by allowing the subscribers to be "transmission" and “no transmission” signals and the beat signal corresponding to the "transmission” signal when one or both of the subscribers transmits and corresponds to the "no transmission” signal, if both participants do not transfer.
  • a network or subscriber to a network is set up to do this by having electronic memory and computational resources to perform the steps of a corresponding method.
  • 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.
  • FIG. 1 schematically shows the structure of an exemplary, underlying communication system
  • FIG. 3 shows 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 and
  • FIG. 4 schematically shows the sequence of an exemplary method for generating a key between two subscribers of a network.
  • 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.
  • a common secret is first established for this, which can be used to generate the key.
  • such a shared secret can in principle also be used for purposes other than cryptography. tographische key in the strict sense, eg as a one-time pad.
  • the invention is suitable for a variety of wired or wireless as well as optical networks or communication systems, especially those in which the various participants communicate with each other via a linear bus and the media access to this bus using a bitwise bus arbitration.
  • This principle represents, for example, the basis of the widespread CAN bus.
  • Possible fields of application of the invention accordingly include, in particular, CAN-based vehicle networks as well as CAN-based networks in automation technology.
  • 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", however, physical parameters of the transmission channel such as transmission strength etc. are not evaluated for this purpose, but instead there is a public data exchange between the participating nodes, thanks to the characteristics of the communication system and / or the used modulation method a possible listening aggressor no, or no sufficient conclusions on the negotiated key allows.
  • this divided transmission medium corresponds to a linear bus (wired or optical) 30, as shown by way of example in FIG
  • the network 20 in Figure 2 consists of this linear bus 30 as a shared transmission medium (e.g., a wireline transmission channel), nodes 21, 22 and 23, and (optional) bus terminations 31 and 32.
  • a shared transmission medium e.g., a wireline transmission channel
  • nodes 21, 22 and 23 e.g., a wireline transmission channel
  • (optional) bus terminations 31 and 32 e.g., a wireline transmission channel
  • communication between the various nodes 21, 22 and 23 is assumed to be characterized by the distinction between dominant and recessive values.
  • the possible values are the bits "0" and "1".
  • a dominant bit eg, the logical bit, 0 '
  • quasi displace or overwrite a simultaneously transmitted recessive bit eg, the logical bit, 1').
  • on-off-keying on-off-keying amplitude shift keying
  • a signal is transmitted, for example in the form of a simple carrier signal, in the other case (value 'Off' or '1') no signal is transmitted.
  • the state ' ⁇ ' is dominant while the state 'Off' is recessive.
  • Another example of a corresponding communication system that supports this distinction of 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 that can be measured on the bus corresponds to a logical '0' .
  • This mechanism is used in particular to resolve possible collisions, whereby priority messages (ie messages with a previous, dominant signal level) are transmitted by When the node itself transmits a recessive bit but a dominant bit is detected on the bus, the corresponding node breaks its transmission attempt in favor of the higher priority message (with the earlier dominant bit).
  • FIG. 3 shows, for example, how a subscriber 1 (T1) keeps the bit sequence 0, 1, 1, 0, 1 ready for transmission between the times t0 and t5 via the transmission channel. Subscriber 2 (T2) keeps the bit sequence 0, 1, 0, 1, 1 ready for transmission between times t0 and t5 via the transmission channel.
  • bit string 0, 1, 0, 0, 1 will be seen on the bus (B) Only between times t1 and t2 and between t4 and t5, both subscriber 1 (T1) and subscriber 2 (T2) provide a recessive bit "1", so that only in this case does the logical AND operation result in a bit level of " 1 "on the bus (B) results.
  • the process for generating a symmetric key pair is started in step 41 by one of the two nodes involved in this example (subscriber 1 and subscriber 2). This can be done, for example, by sending a special message or a special message header.
  • Both subscriber 1 and subscriber 2 initially generate a bit sequence locally (ie internally and independently of one another) in step 42.
  • 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 in each case as a random or pseudo-random bit sequence, For example, with the help of a suitable random number generator or pseudo random number generator generated.
  • subscriber 1 and subscriber 2 transmit (largely) synchronously their respectively generated bit sequences over the divided transmission medium (using the transmission method with dominant and recessive bits, as already explained above).
  • Different possibilities for synchronizing the corresponding transmissions are conceivable.
  • 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.
  • bit sequences of a subscriber generated in step 42 can also be transmitted to several messages distributed in step 43, for example if this necessitates the (maximum) sizes of the corresponding messages.
  • the transmission of the correspondingly large number of correspondingly large messages distributed bit sequences of the other subscriber takes place again (largely) synchronously.
  • Both subscriber 1 and subscriber 2 detect during the transmission of their bit sequences of step 43 in a parallel step 44, the effective (overlaid) bit sequences S eff on the shared transmission medium.
  • the effective (overlaid) bit sequences S eff on the shared transmission medium.
  • this is usually done in conventional systems during the arbitration phase anyway.
  • a node knows that the effective state is dominant on the shared medium if the node itself has sent a dominant bit, but if a node has sent a recessive bit, it does not know the state on the shared transmission medium first Further, however, in this case he can determine by suitable measurement how it looks like, because, in this case, the node itself does not send anything, so there are no problems with so-called self-interference, which is a complex echo cancellation, especially in the case of wireless systems would require.
  • both subscriber 1 and subscriber 2 also transmit (largely) synchronously their initial bit sequences S T i and
  • 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.
  • both nodes subscriber 1 and subscriber 2
  • a possible attacker eg subscriber 3 who overhears the communication on the shared transmission medium
  • participant 1 still knows his initially generated, local bit sequence S T i and participant 2 his initially generated, local bit sequence S T 2- participant 1 but in turn does not know the initially generated, local bit sequence of participant 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.
  • 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 are carried out 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 partial bit sequences.
  • step 47 subscriber 1 and subscriber 2 now respectively locally (ie internally) link the effective, superposed bit sequences (S e ff and S e ff '), in particular with a logical OR function.
  • the individual bits in the bit sequence (S g es) resulting from the OR operation now indicate whether the corresponding bits of S T i and S T 2 are identical or different. For example, if the nth bit within S tot is a '0', it means that the nth bit within S T i is inverse to the corresponding bit within S T 2. Likewise, if the nth bit within S g is a '1', the corresponding bits within S A iice and S Bo b are identical.
  • Subscriber 1 and subscriber 2 then cancel in step 48, based on the bit sequence S ges obtained from the OR combination, in their original, initial bit sequences S T i and S T 2 all bits which are identical in both sequences. This consequently leads to correspondingly shortened bit sequences.
  • the thus shared, shortened bit sequence is now processed locally by participant 1 and participant 2 in step 49 in a suitable manner in order to generate the actual desired key of the desired length N.
  • 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.
  • the calculation of a hash function via the jointly present, shortened bit sequence which provides a hash of length N.
  • 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.
  • 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.
  • a whole series of resulting shortened bit sequences which are each present in the case of subscribers 1 and 2 can be generated, which are then combined into a single large sequence before the actual key is derived therefrom , If necessary, this can also be done adaptively. If after performing the described procedure once, e.g. For example, if the length of the common, truncated bit sequence is less than the desired key length N, one could re-run e.g. Generate further bits before the actual key derivation.
  • the generated symmetric key pair can be subsumed by Subscriber 1 and Subscriber 2 in conjunction with established (symmetric) cryptographic methods, e.g. Ciphers for data encryption.
  • established (symmetric) cryptographic methods e.g. Ciphers for data encryption.
  • a goal of the linking of the two overlay partial value sequences, in particular by means of a logical OR function, is to be able to carry out a deletion of those bits which are also a passive attacker who controls the communication observed, can easily determine on the basis of his observations.
  • An alternative to this would be to keep those bits, but initially generate significantly more bits than desired (that is, if, for example, a secret or a key of 128 bits is desired to first generate 300 bits) and then at the end, eg with the help of a Hash function or similar, to reduce to the desired length.
  • a potential attacker eg subscriber 3 can listen to the public data transmission between subscriber 1 and subscriber 2 and thus gain knowledge of the effective, superposed bit sequences (S e ff and S e ff ') as described. The attacker then only knows which bits in the locally generated bit sequences of nodes 1 and 2 are identical and which are not. In addition, with the identical bits, the attacker can even determine whether it is a '1' or a '0'. For a complete knowledge of the resulting, shortened bit sequence (and thus the basis for the key generation), however, he lacks the information about the non-identical bits.
  • 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.
  • 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.
  • 'stuff bit' with a complementary value must be inserted into the actual bit sequence to be transmitted, which is automatically removed at the receiver.
  • 'stuff bits' are not information bits but have the following background:
  • Bit sequences with more than N 5 consecutive equivalent bits are used for control purposes (eg as an "end-of-frame” indication or as an "error frame”) and therefore it must be ensured that such sequences do not occur in the actual information part ,
  • CAN uses a non-return-to-zero coding for the transmission of CAN messages.
  • this favors synchronization losses due to not perfectly synchronous clocks in different nodes, which is why during the transmission or reception of a CAN message, a time synchronization must be performed in order to keep the hardware requirements low (eg requirements for the local oscillators ).
  • Due to the introduction of a stuff bit, an edge change takes place at the latest after N 5 consecutive bits, which can then be used for such a post-synchronization.
  • suitable 'stuff bits' is intended to prevent more than N consecutive bits from having the same value.
  • this can not be done by transmission rules for the individual participants regardless of the other participants, since it depends on the described method to appropriate edge change or value change of a superposition value sequence.
  • various possibilities are proposed.
  • the first and second subscribers in the described method for generating the key during the synchronous transmission of the random bit sequences in step 43 always have the effective signal level (or the effective bit sequence) on the shared transmission medium Detect in parallel step 44. If the nodes notice that the effective bit value on the transmission medium is always the same N times in succession, both nodes will next send a stuff bit which is inverse to the effective N consecutive times.
  • An essential difference to conventional bit stuffing is thus that the decision as to whether a stuff bit must be inserted does not depend primarily on the own message or bit string but only on the effective bit string on the shared transmission medium. The same applies to the value of the stuff bit to be sent.
  • the underlined bit is the additionally introduced stuff bit, which is inserted and sent by both user 1 and user 2 after having detected the bit '0' on the common transmission medium 5 times.
  • the actual bit sequences of Alice and Bob look like this example for this example:
  • the approach of the first exemplary embodiment can be adapted such that the insertion of a stuff bit is already prepared after the detection of N-M (1 ⁇ M ⁇ N-2) of identical successive effective bits on the shared transmission medium is, but only after the transmission of N bits from the detection of the first bit of the sequence of (at least) NM same consecutive bits is actually sent.
  • this prepared stuff bit will be sent even if, after the NM identical bits and before the transmission of the stuff bit, an (effective) bit change takes place on the common transmission medium and thus there is actually no stuffing error even without the stuff bit in this case, there would be no more than N identical bits on the transmission medium).
  • This also leads to a valid bit sequence (without stuffing error), but in this case with a higher overhead due to the (here actually unnecessary) stuff bit.
  • a method for avoiding stuffing errors and / or synchronization losses according to a third preferred embodiment is the periodic enforcement of bit or edge changes independently of the actual information bits, ie independent of subscriber sequences and independently from the detected overlay sequence.
  • the two stuff bits may already contain a bit change for this purpose, eg either the bit sequence '01' or '10', so that the superimposition likewise results in the bit sequences '01' or '10'. Which of these two possible cases is inserted is irrelevant in this example, as long as it is ensured that both subscriber 1 and subscriber 2 always insert the same sequence.
  • This embodiment leads to a relatively high overhead, but is very robust and inexpensive to implement and can also be carried out particularly well with existing standard components.
  • the stuff bits themselves are preferably discarded at the receiver side.
  • they are not used as a basis for the generation of a symmetric cryptographic key in order to prevent the key from being weakened by the consideration of non-random structures in the key generation.
  • the described embodiments of the method can also be modified in an alternative embodiment such that the fill values (stuff bits) are not given by both participants to the common transmission medium, but that only one of the two participants generates and outputs the fill values.
  • This method has the advantage that the participants can synchronize each other via this sequence of values.
  • one of the participants is preferably determined to transmit the fill values. This can be, for example, the subscriber who initiates the key generation or a (for example by configuration) predetermined subscriber. The other participant detects the fill values and can use these, for example, to gain synchronization information.
  • a possible time offset of his clock with the clock of the other subscriber can be detected and, based on this determined offset, a re-synchronization of his clock can be carried out.
  • the presented methods represent an approach for the generation of symmetric, cryptographic keys between two nodes by exploiting properties of the physical layer.
  • the approach is particularly suitable for wired and optical communication systems, provided that this 'on-off-keying' or a bitwise bus arbitration support (eg CAN, TTCAN, CAN-FD, LIN, I2C).
  • a bitwise bus arbitration support eg CAN, TTCAN, CAN-FD, LIN, I2C.
  • wireless, (radio based) communication systems preferably with a very short distance between transmitter and receiver and a possible direct line of sight, the approach can be used.

Abstract

Disclosed is method for generating a secret or key in a network. The network comprises at least a first and a second subscriber and a common transmission channel between at least the first and second subscribers. The first subscriber can output at least a first value and a second value and the second subscriber can output at least the first value and the second value on the transmission channel, the first subscriber generating a first sequence of subscriber values and the second subscriber generating a second sequence of subscriber values in order for the transmission to occur largely synchronously on the transmission channel; and the first subscriber and the second subscriber each generate a common secret or a common key, the first subscriber doing so on the basis of information about the first sequence of subscriber values and on the basis of a sequence of superposed values resulting from a superposition of the second sequence of subscriber values onto the first sequence of subscriber values on the transmission channel, and the second subscriber doing so on the basis of information about the second sequence of subscriber values and on the basis of the sequence of superposed values resulting from the superposition of the second sequence of subscriber values onto the first sequence of subscriber values on the transmission channel. At certain intervals or in accordance with a detected sequence of superposed values, at least the first subscriber outputs at least one filler value outside the first sequence of subscriber values or the second subscriber outputs at least one filler value outside the second sequence of subscriber values onto the transmission channel such that an edge change or change in values occurs on the transmission channel.

Description

Beschreibung Titel  Description title
Verfahren zur Erzeugung eines Geheimnisses oder Schlüssels in einem Netz- werk  A method for creating a secret or key in a network
Technisches Gebiet Technical area
Die vorliegende Erfindung betrifft ein Verfahren zur Erzeugung eines Geheimnisses bzw. eines geheimen, kryptographischen Schlüssels in einem Netzwerk, insbesondere die Erzeugung eines gemeinsamen, geheimen Schlüssels in zwei Teilnehmern des Netzwerks. Auch Punkt-zu-Punkt-Verbindungen werden gewöhnlicher Weise zu den Netzwerken gezählt und sollen hier mit diesem Begriff ebenfalls adressiert sein. Dabei kommunizieren die beiden Teilnehmer über ein gemeinsam genutztes Übertragungsmedium. Hierbei werden logische Bitfolgen (bzw. allgemeiner: Wertfolgen) durch entsprechende Übertragungsverfahren als Signale bzw. Signalfolgen physikalisch übertragen. Das zugrundeliegende Kommunikationssystem kann z.B. ein CAN-Bus sein. Dieser sieht eine Übertragung dominanter und rezessiver Bits bzw. entsprechend dominanter und rezessiver Signale vor, wobei sich ein dominantes Signal bzw. Bit eines Teilnehmers des Netzwerks gegen rezessive Signale bzw. Bits durchsetzt. Ein Zustand entsprechend dem rezessiven Signal stellt sich auf dem Übertragungsmedium nur ein, wenn alle beteiligten Teilnehmer ein rezessives Signal zur Übertragung vorsehen bzw. wenn alle gleichzeitig sendenden Teilnehmer einen rezessiven Signalpegel übertragen. The present invention relates to a method for generating a secret or a secret, cryptographic key in a network, in particular the generation of a common, secret key in two participants of the network. Also point-to-point connections are usually counted as networks and should also be addressed here with this term. The two participants communicate via a shared transmission medium. In this case, logical bit sequences (or, more generally, value sequences) are transmitted physically by means of corresponding transmission methods as signals or signal sequences. The underlying communication system may e.g. be a CAN bus. This provides for transmission of dominant and recessive bits or correspondingly dominant and recessive signals, whereby a dominant signal or bit of a participant of the network intersperses against recessive signals or bits. A state corresponding to the recessive signal adjusts itself to the transmission medium only if all participants involved provide a recessive signal for transmission or if all participants transmitting at the same time transmit a recessive signal level.
Stand der Technik State of the art
Eine sichere Kommunikation zwischen verschiedenen Geräten wird in einer zu- nehmend 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 Authentifizie- rung der beteiligten Knoten oder die Sicherstellung der Datenintegrität. Zur Erreichung dieser Schutzziele kommen üblicherweise geeignete kryptogra- phische Verfahren zum Einsatz, die man generell in zwei verschiedene Kategorien unterteilen kann: Zum einen symmetrische Verfahren, bei denen Sender und Empfänger über denselben kryptographischen Schlüssel verfügen, zum anderen asymmetrische Verfahren, bei denen der Sender die zu übertragenden Daten mit dem öffentlichen (d.h. auch einem potenziellen Angreifer möglicherweise bekannten) Schlüssel des Empfängers verschlüsselt, die Entschlüsselung aber nur mit dem zugehörigen privaten Schlüssel erfolgen kann, der idealerweise nur dem Empfänger bekannt ist. Secure communication between different devices is becoming more and more important in an increasingly networked world, and in many applications is an essential prerequisite for the acceptance and thus the economic success of the corresponding applications. This includes various protection goals, depending on the application the confidentiality of the data to be transferred, the mutual authentication of the participating nodes or the safeguarding of data integrity. In order to achieve these protection goals, suitable cryptographic methods are usually used, which can generally be subdivided into two different categories: first, symmetric methods, in which the sender and receiver have the same cryptographic key, and, on the other hand, asymmetrical methods in which the sender uses the data to be transmitted is encrypted with the public (ie possibly also known to a potential attacker) key of the recipient, but the decryption can be done only with the associated private key, which is 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 sensors, actuators, or the like., Which usually have only a relatively low processing 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 Aufga- be dar. Im Bereich des Mobilfunks werden Schlüssel beispielsweise mit Hilfe vonFor 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, keys are used, for example, with the help of
SI M-Karten in ein Mobiltelefon eingebracht und das zugehörige Netz kann dann der eindeutigen Kennung einer SI M- 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 ver- wendenden Schlüssel oftmals überhaupt nicht bzw. nur mit sehr großem Aufwand möglich. SI M cards inserted into a mobile phone and the associated network can then assign the unique identifier of a SI M card the appropriate 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. As well as CAN-based vehicle networks. In addition, an amendment to the turning key often not at all or possible only with great effort.
Verfahren zur Absicherung von Sensordaten gegen Manipulation und die Sicherstellung einer Transaktionsauthentifizierung, z.B. in einem Kraftfahrzeugnetzwerk, mit Hilfe gängiger Verschlüsselungsverfahren sind z.B. in der DE Method for securing sensor data against tampering and ensuring transaction authentication, e.g. in a motor vehicle network, by means of common encryption methods, e.g. in the DE
102009002396 AI und in der DE 102009045133 AI offenbart. 102009002396 AI and in DE 102009045133 AI discloses.
Seit einiger Zeit werden zudem unter dem Schlagwort„Physical Layer Security" neuartige Ansätze untersucht und entwickelt, mit Hilfe derer Schlüssel für symmetrische Verfahren automatisch auf der Grundlage physikalischer Eigenschaften der Übertragungskanäle zwischen den involvierten Knoten erzeugt werden können. Dabei nutzt man die Reziprozität und die inhärente Zufälligkeit dieser Übertragungskanäle aus. Insbesondere bei drahtgebundenen oder optischen Systemen ist dieser Ansatz oftmals allerdings nur bedingt geeignet, da entsprechende Kanäle üblicherweise nur eine sehr eingeschränkte zeitliche Variabilität aufweisen und ein Angreifer beispielsweise mit Hilfe einer Modellbildung relativ gut Rückschlüsse auf die Kanalparameter zwischen dem Sender und dem Empfänger ziehen kann. Derartige Verfahren für eine abgesicherte Kommunikation in einem verteilten System auf Basis von Kanaleigenschaften der verbundenen Einheiten sind beispielsweise in den nicht vorveröffentlichten Anmeldungen DE 10 2014 208975 AI sowie DE 10 2014 209042 AI beschrieben. For some time now, the term "physical layer security" has been used to investigate and develop novel approaches that can be used to automatically generate keys for symmetric algorithms based on physical properties of the transmission channels between the nodes involved, using reciprocity and the inherent However, in the case of wired or optical systems in particular, this approach is often only suitable to a limited extent since corresponding channels usually have only a very limited temporal variability and an attacker can draw conclusions about the channel parameters between the transmitter and the receiver relatively well, for example by means of modeling Such methods for secured communication in a distributed system based on channel characteristics of the connected units are not previously published in, for example, US Pat DE Applicants DE 10 2014 208975 AI and DE 10 2014 209042 AI described.
Verfahren zum Bit- Stuffing beim Controller Area Network (CAN) und beim CAN- FD sind beispielsweise der DE 10 2011 080476 AI zu entnehmen. Methods for bit stuffing in the Controller Area Network (CAN) and CAN-FD can be found for example in DE 10 2011 080476 AI.
Die nicht vorveröffentlichte DE 10 2015 207220 AI offenbart ein Verfahren zur Erzeugung eines gemeinsamen Geheimnisses bzw. eines geheimen, symmetrischen Schlüssels mittels öffentlicher Diskussion zwischen zwei Kommunikationsteilnehmern. Offenbarung der Erfindung The non-prepublished DE 10 2015 207220 AI discloses a method for generating a shared secret or a secret symmetric key by means of public discussion between two communication participants. Disclosure of the invention
Die Verfahren zur Generierung eines Geheimnisses bzw. eines kryptographi- schen Schlüssels gemäß den unabhängigen Ansprüchen erfordern keinerlei 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üsselge- nerierungsraten bei gleichzeitig sehr kleiner Fehlerwahrscheinlichkeit. The methods for generating a secret or a 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 simultaneously very low probability of error.
Dabei gehen die Verfahren davon aus, dass Teilnehmer in einem Netzwerk über einen Kommunikationskanal miteinander kommunizieren. Sie übertragen dabei insbesondere logische Wertfolgen, (falls es sich um binäre Logik handelt, Bitfolgen) mit Hilfe von physikalischen Signalen auf dem Übertragungskanal. Auch wenn mögliche Überlagerungen auf dem Übertragungskanal durch die Signale, also auf der physikalischen Ebene, stattfinden, wird in der Beschreibung im Folgenden vorranging die logische Ebene betrachtet. Es werden somit die übertragenen, logischen Wertfolgen sowie deren logische Überlagerung betrachtet. Teilnehmer des Netzwerks können somit erste Signale (die beispielsweise dem logischen Bit„1" zugeordnet sind) und zweite Signale (die beispielsweise dem logischen Bit„0" zugeordnet sind) auf den Kommunikationskanal geben und resultierende Signale auf dem Kommunikationskanal detektieren. Übertragen nun zwei Teilnehmer (weitgehend) gleichzeitig jeweils eine Signalfolge, so können die Teilnehmer die daraus resultierende Überlagerung auf dem Kommunikationskanal detektieren. Das effektive, aus der (weitgehend) gleichzeitigen Übertragung zweier (unabhängiger) Signale resultierende Signal auf dem Kommunikationskanal lässt sich dann wiederum einem (oder mehreren) bestimmten logischen Wert (oder Werten) zuordnen. Die Übertragung muss dabei insofern weitgehend synchron sein, dass eine Überlagerung der einzelnen Signale einer Signalfolge auf dem Übertragungsmedium erfolgt, insbesondere, dass sich das Signal entsprechend dem n-ten logischen Wert bzw. Bit des ersten Teilnehmers mit dem Signal entsprechend dem n-ten logischen Wert bzw. Bit des zweiten Teilnehmers zumindest teilweise überlagert.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. 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). The transmission must 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.
Diese Überlagerung sollte jeweils dafür ausreichend lange sein, dass die Teilnehmer die Überlagerung erfassen bzw. den entsprechenden Überlagerungswert ermitteln können. 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.
Wenn die beschriebenen Verfahren in bestimmten Systemen, wie z.B. CAN, ohne zusätzliche Maßnahmen zum Einsatz kommen, kann es vorkommen, dass re- lativ lange Sequenzen von gleichen Bits bzw. Signalpegeln auf dem gemeinsam genutzten Übertragungsmedium (z.B. CAN-Bus) anliegen. Dies kann dann wiederum zu Bit- Stuffing- Fehlern und / oder Synchronisationsverlusten führen, was andere Knoten gegebenenfalls dazu veranlasst, spezielle Fehlernachrichten („Error Frames") zu senden und den Vorgang abzubrechen. Um dies zu vermeiden, aber dennoch weitestgehend kompatibel mit bereits heute verfügbaren Transcei- vern und Controllern zu sein, wird vorgeschlagen, die beschriebenen Verfahren zur Schlüsselgenerierung derart zu erweitern, dass Bit- Stuffing- Fehler und / oder Synchronisationsverluste verhindert werden und sich somit die Kompatibilität dieser Schlüsseletablierungsverfahrens zu bereits heute verfügbaren Standardkomponenten erhöht. If the described methods are used in certain systems, such as CAN, without additional measures, it may happen that relatively long sequences of the same bits or signal levels are present on the shared transmission medium (eg CAN bus). This may in turn lead to bit stuffing errors and / or synchronization losses, which may cause other nodes to send special error messages and abort the process, to avoid this, but still largely compatible with today available transceiver It is proposed to extend the described methods for generating keys in such a way that bit stuffing errors and / or synchronization losses are prevented and thus the compatibility of this key establishment method increases to already available standard components.
Hierzu wird vorgeschlagen, dass die an der Schlüsselgenerierung beteiligten Teilnehmer außerhalb ihrer Teilnehmerwertfolgen, d.h. zusätzlich zu diesen, mindestens einen Füllwert auf den gemeinsamen Übertragungskanal geben, so dass ein Flankenwechsel bzw. ein Wertwechsel resultiert (z.B. Bitwechsel 0 auf 1 oder 1 auf 0 in einem binären System). Dies kann durch nur einen der Teilnehmer erfolgen. In einer bevorzugten Ausgestaltung werden aber von beiden Teilnehmern weitgehend synchron Füllwerte auf den Übertragungskanal gegeben, so dass aus dem Überlagerungssignal der Füllwerte ein Flankenwechsel bzw. ein Wertwechsel resultiert. For this purpose, it is proposed that the participants involved in the key generation outside their subscriber value sequences, i. in addition to these, give at least one fill value to the common transmission channel such that a change of edge or a value change results (e.g., bit change 0 to 1 or 1 to 0 in a binary system). This can be done by only one of the participants. In a preferred embodiment, however, filling quantities are applied to the transmission channel largely synchronously by both subscribers, so that an edge change or a value change results from the superimposition signal of the filling values.
Die Füllwerte werden dabei in bestimmten Abständen (d.h. insbesondere nach einer bestimmten Zahl an einzelnen Werten der Wertfolgen) oder abhängig von einer detektierten Überlagerungswertfolge auf den Übertragungskanal gegeben. The fill values are given to the transmission channel at certain intervals (i.e., in particular after a certain number of individual values of the value sequences) or as a function of a detected overlay value sequence.
In einer bevorzugten Ausführung geben die Teilnehmer die Füllwerte auf den Übertragungskanal, falls sie jeweils eine Überlagerungswertfolge mit einer vorbestimmten Anzahl gleicher Werte detektieren. Dabei sind die Füllwerte vorzugsweise invers zu den detektierten gleichen Werten. Da Stuff-Bits bzw. Füllwerte generell den Overhead eines Kommunikationsprotokolls erhöhen und somit die Effizienz der Schlüsseletablierung reduzieren, ist es vorteilhaft, solche Füllwerte nur vorzusehen, wenn tatsächlich eine bestimmte Anzahl an Wertwiederholungen überschritten wird, was hier anhand der Überlagerungsfolge detek- tiert wird. In a preferred embodiment, the subscribers place the fill values on the transmission channel if they each detect an overlay value sequence having a predetermined number of equal values. The fill values are preferably inverse to the detected same values. Since stuff bits generally increase the overhead of a communication protocol and thus reduce the efficiency of key establishment, it is advantageous to provide such fill values only when in fact a certain number of value repeats is exceeded, which is detected here on the basis of the superposition sequence.
Falls die Teilnehmer hierzu in der Lage sind, können die Füllwerte unmittelbar angrenzend an die detektierte Anzahl gleicher Wert in der Überlagerungswertfolge auf den Übertragungskanal gegeben werden. In dieser Variante kann die zu detektierende Anzahl genau auf die zulässige Maximalanzahl gleicher Werte gesetzt werden, so dass die Füllwerte wirklich nur in Fällen eingefügt werden, in denen sie notwendig sind. Ansonsten können die Füllwerte auch in einem vorbestimmten Abstand zur Detektion einer Anzahl von Wertwiederholungen eingefügt werden, wobei diese Anzahl dann entsprechend niedriger als die Maximalanzahl gewählt werden sollte. Hierdurch wird zwar ein höherer Overhead erzeugt, das Verfahren ist allerdings weniger anspruchsvoll (insbesondere bezüglich Hardwareanforderungen für die Teilnehmer) und kann zuverlässiger sein. If the subscribers are able to do so, the fill values may be added to the transmission channel immediately adjacent to the detected number of equal values in the superposition value sequence. In this variant, the number to be detected can be set exactly to the permissible maximum number of identical values, so that the filling values are really only inserted in cases which they are necessary. Otherwise, the fill values may also be inserted at a predetermined distance to detect a number of value repeats, which number should then be selected correspondingly lower than the maximum number. Although this creates a higher overhead, the method is less demanding (especially with respect to hardware requirements for the subscribers) and can be more reliable.
Noch einfacher durchzuführen und daher besonders kompatibel zu bestehenden Kommunikationssystemen und Teilnehmerhardware, ist eine alternative Ausfüh- rungsform, bei welcher die Füllwerte durch die Teilnehmer immer in festen, vorbestimmten Abständen eingefügt werden, insbesondere nach einer vorbestimmten Anzahl an detektieren Werten auf dem Übertragungskanal, ohne dass es gleiche Werte sein müssen. Dabei werden vorzugsweise zwei Füllwerte eingefügt, die bereits einen Wertewechsel bzw. Flankenwechsel beinhalten (z. B. von beiden Teilnehmers die Bitfolge 01 oder von beiden die Bitfolge 10). To perform even easier, and thus particularly compatible with existing communication systems and subscriber hardware, is an alternative embodiment in which the fill values are always inserted by the participants at fixed, predetermined intervals, in particular after a predetermined number of detected values on the transmission channel it must be the same values. In this case, two fill values are preferably inserted, which already contain a value change or edge change (for example, the bit sequence 01 from both subscribers or the bit sequence 10 from both).
Besonders vorteilhaft kann das Verfahren in einem Netzwerk eingesetzt werden, in dem es einen dominanten Wert (physikalisch: ein dominantes Signal) gibt, der sich durchsetzt, wenn nur ein Teilnehmer ihn auf dem Übertragungskanal anlegt, und einen rezessiven Wert (physikalisch: ein rezessives Signal), der auf demParticularly advantageously, the method can be used in a network in which there is a dominant value (physically: a dominant signal) that prevails when only one subscriber applies it on the transmission channel and a recessive value (physically: a recessive signal ), on the
Übertragungskanal nur resultiert, wenn beide bzw. alle Teilnehmer einen rezessiven Wert übertragen. Aufgrund der hiermit klar vorgegebenen Überlagerungsregeln können die Teilnehmer eines solchen Netzwerks aus resultierenden Überlagerungsfolgen besonders einfach Informationen zur Schlüsselgenerierung ab- leiten. Alternativ kann die Übertragung eines rezessiven Wertes von mindestens einem der Teilnehmer auch dadurch ersetzt werden, dass an dieser Stelle der Wertfolge bzw. als einer der mindestens zwei möglichen Werte gar nichts übertragen wird. Die Teilnehmerwertfolgen, welche von den Teilnehmern weitgehend simultan auf den Übertragungskanal gegeben werden, werden im Vorfeld in den jeweiligen Teilnehmern selbst mit Hilfe eines Zufallsgenerators oder Pseudozufallsgenera- tors erzeugt. Da die resultierende Überlagerungsfolge auf dem Übertragungskanal einem potentiellen Angreifer zugänglich sein kann, ist es für die Sicherheit der späteren Kommunikation besonders vorteilhaft, wenn es der Angreifer mög- liehst schwer hat, auf die einzelnen Wertfolgen der Teilnehmer zu schließen, wenn diese also in den Teilnehmern lokal sowie zufällig oder zumindest pseudozufällig erzeugt werden. Transmission channel only results if both or all participants transmit a recessive value. Because of the clearly defined overlay rules, the subscribers of such a network can derive from the resulting overlay sequences particularly simple information for generating the key. Alternatively, the transmission of a recessive value of at least one of the subscribers can also be replaced by the fact that at this point the value sequence or, as one of the at least two possible values, nothing is transmitted. The subscriber value sequences, which are given largely simultaneously by the subscribers to the transmission channel, are generated in advance in the respective subscribers themselves with the aid of a random generator or pseudo-random generator. Since the resulting overlay sequence on the transmission channel can be accessible to a potential attacker, it is particularly advantageous for the security of the subsequent communication if the attacker is able to lows having to conclude on the individual value sequences of the participants, if these are generated locally and randomly or at least pseudorandomly in the participants.
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 methods described 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. The methods are also well suited for other communication systems such as LIN and I2C.
Alternativ kann das Verfahren aber zum Beispiel auch in einem Netzwerk mit On- Off-Keying-Amplitudenumtastung eingesetzt werden. Hier ist ebenfalls die Überlagerung festgelegt, indem den Teilnehmern als Signale„Übertragung" und„keine Übertragung" zur Auswahl stehen und das Überlagerungssignal dem Signal „Übertragung" entspricht, wenn einer oder beide der Teilnehmer übertragen, und dem Signal„keine Übertragung" entspricht, wenn beide Teilnehmer nicht übertragen. Alternatively, however, the method can also be used, for example, in a network with on-off-keying amplitude shift keying. Here, too, the overlay is fixed by allowing the subscribers to be "transmission" and "no transmission" signals and the beat signal corresponding to the "transmission" signal when one or both of the subscribers transmits and corresponds to the "no transmission" signal, if both participants do not transfer.
Während das Verfahren für zwei Teilnehmer in einem Netzwerk beschrieben wurde, kann auch bereits durch einen Teilnehmer eines Netzwerks ein geheimer Schlüssel aus einer eigenen Signalfolge und aus einer Überlagerung dieser mit der Signalfolge eines zweiten Teilnehmers abgeleitet werden. Ein Netzwerk oder ein Teilnehmer eines Netzwerks sind hierzu eingerichtet, indem sie über elektronische Speicher- und Rechenressourcen verfügen, die Schritte eines entsprechenden Verfahrens auszuführen. Auf einem Speichermedium eines solchen Teilnehmers oder auf den verteilten Speicherressourcen eines Netzwerks kann auch ein Computerprogramm abgelegt sein, dass dazu eingerichtet ist, alle Schritte eines entsprechenden Verfahrens auszuführen, wenn es in dem Teilnehmer oder in dem Netzwerk abgearbeitet wird. While the method has been described for two subscribers in a network, even a subscriber of a network can already derive a secret key from his own signal sequence and from an overlay of this with the signal sequence of a second subscriber. A network or subscriber to a network is set up to do this by having electronic memory and computational resources to perform the steps of a corresponding method. Also stored on a storage medium of such a user or on the distributed storage resources of a network may be a computer program configured to perform all the steps of a corresponding method when executed in the subscriber or in the network.
Zeichnungen Nachfolgend ist die Erfindung unter Bezugnahme auf die beiliegenden Zeichnungen und anhand von Ausführungsbeispielen näher beschrieben. Dabei zeigen drawings The invention is described in more detail below with reference to the accompanying drawings and to exemplary embodiments. Show
Fig. 1 schematisch den Aufbau eines beispielhaften, zugrundeliegenden Kommunikationssystems, 1 schematically shows the structure of an exemplary, underlying communication system,
Fig. 2 schematisch einen linearen Bus als Beispiel eines zugrundeliegenden Kommunikationssystems, 2 schematically shows a linear bus as an example of an underlying communication system,
Fig. 3 schematisch beispielhafte Signalfolgen zweier Teilnehmer eines Netzwerks sowie eine resultierende Überlagerungswertfolge auf einem Übertragungskanal zwischen den Teilnehmern und FIG. 3 shows 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 and
Fig. 4 schematisch den Ablauf eines beispielhaften Verfahrens zur Schlüsselge- nerierung zwischen zwei Teilnehmern eines Netzwerks. 4 schematically shows the sequence of an exemplary method for generating a key between two subscribers of a network.
Beschreibung der Ausführungsbeispiele Description of the embodiments
Die vorliegende Erfindung bezieht sich auf ein Verfahren zur Generierung eines gemeinsamen Geheimnisses bzw. (geheimer) symmetrischer kryptographischer Schlüssel zwischen zwei Knoten eines Kommunikationssystems (Teilnehmer eines Netzwerkes), die über ein gemeinsam genutztes Medium (Übertragungskanal des Netzwerks) miteinander kommunizieren. Die Generierung bzw. Aushandlung der kryptographischen Schlüssel basiert dabei auf einem öffentlichen Datenaustausch zwischen den zwei Teilnehmern, wobei es einem möglichen mithörenden Dritten als Angreifer aber dennoch nicht oder nur sehr schwer möglich ist, Rückschlüsse auf die generierten Schlüssel zu ziehen. Mit der Erfindung ist es somit möglich, zwischen zwei verschiedenen Teilnehmern eines Netzwerks vollständig automatisiert und sicher entsprechende symmetrische kryptographische Schlüssel zu etablieren, um darauf aufbauend dann bestimmte Sicherheitsfunktionen, wie z.B. eine Datenverschlüsselung, zu realisieren. Wie im Detail noch beschrieben wird hierzu zunächst ein gemeinsames Geheimnis etabliert, welches zur Schlüsselgenerierung herangezogen werden kann. Ein solches gemeinsames Geheimnis kann aber grundsätzlich auch zu anderen Zwecken als für kryp- tographische 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 fully automatically and securely establish corresponding symmetrical cryptographic keys between two different subscribers of a network, in order then to implement certain security functions, such as eg data encryption, based thereon. 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 cryptography. tographische key in the strict sense, eg 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. This principle represents, for example, the basis of the widespread CAN bus. Possible fields of application of the invention accordingly include, in particular, CAN-based vehicle networks as well as CAN-based networks in automation technology.
Die vorliegende Erfindung beschreibt einen Ansatz, mit dem automatisiert 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 Se- curity" 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", however, physical parameters of the transmission channel such as transmission strength etc. are not evaluated for this purpose, but instead there is a public data exchange between the participating nodes, thanks to the characteristics of the communication system and / or the used modulation method a possible listening aggressor no, or no sufficient conclusions on the negotiated key allows.
Im Folgenden wird eine Anordnung betrachtet, wie sie abstrakt in Fig. 1 dargestellt ist. Dabei können verschiedene Teilnehmer 2, 3 und 4 über ein so genanntes geteiltes Übertragungsmedium C,shared medium") 10 miteinander kommunizieren. In einer vorteilhaften Ausprägung der Erfindung entspricht dieses geteilte Übertragungsmedium einem linearen Bus (drahtgebunden oder optisch) 30, wie er beispielhaft in Fig. 2 dargestellt ist. Das Netzwerk 20 in Fig. 2 besteht aus eben diesem linearen Bus 30 als geteiltes Übertragungsmedium (beispielsweise als drahtgebundener Übertragungskanal), Teilnehmern bzw. Knoten 21, 22 und 23 sowie (optionalen) Busterminierungen 31 und 32. 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 an arrangement as shown in FIG. 1 in the abstract. Different subscribers 2, 3 and 4 can communicate with one another via a so-called shared transmission medium C, shared medium 10. In an advantageous embodiment of the invention, this divided transmission medium corresponds to a linear bus (wired or optical) 30, as shown by way of example in FIG The network 20 in Figure 2 consists of this linear bus 30 as a shared transmission medium (e.g., a wireline transmission channel), nodes 21, 22 and 23, and (optional) bus terminations 31 and 32. In the following, communication between the various nodes 21, 22 and 23 is assumed to be characterized by the distinction between dominant and recessive values. In this example, the possible values are the bits "0" and "1". In this case, a dominant bit (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 Übertra- gungszustände unterschieden werden: Im ersten Fall (Wert ,Οη', bzw.„0") wird ein Signal übertragen, beispielsweise in Form eines einfachen Trägersignals, im anderen Fall (Wert ,Off', bzw.„1") wird kein Signal übertragen. Der Zustand ,Οη' ist dabei dominant während der Zustand ,Off' rezessiv ist. An example of such a transmission method is the so-called on-off-keying (on-off-keying amplitude shift keying), in which exactly two transmission states are distinguished: in the first case (value, Οη ', or "0") If a signal is transmitted, for example in the form of a simple carrier signal, in the other case (value 'Off' or '1') no signal is transmitted. The state 'η' is dominant while the state 'Off' is recessive.
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 of 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 that can be measured on the bus corresponds to a logical '0' .This mechanism is used in particular to resolve possible collisions, whereby priority messages (ie messages with a previous, dominant signal level) are transmitted by When the node itself transmits a recessive bit but a dominant bit is detected on the bus, the corresponding node breaks its transmission attempt in favor of the higher priority message (with the earlier dominant bit).
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 lo- gischen UND-Funktion miteinander verknüpft. In Fig. 3 ist beispielsweise dargestellt, wie ein Teilnehmer 1 (Tl) die Bitfolge 0, 1, 1, 0, 1 zur Sendung zwischen den Zeitpunkten tO und t5 über den Übertragungskanal bereit hält. Teilnehmer 2 (T2) hält die Bitfolge 0, 1, 0, 1, 1 zur Sendung zwischen Zeitpunkten tO und t5 über den Übertragungskanal bereit. Mit den oben beschriebenen Eigenschaften des Kommunikationssystems und unter der Annahme, dass es sich in diesem Beispiel bei dem Bitpegel„0" um das dominante Bit handelt, wird auf dem Bus (B) die Bitfolge 0, 1, 0, 0, 1 zu sehen sein. Nur zwischen den Zeitpunkten tl und t2 sowie zwischen t4 und t5 sehen sowohl Teilnehmer 1 (Tl) als auch Teilnehmer 2 (T2) ein rezessives Bit„1" vor, so dass nur hier die logische UND-Verknüpfung in einen Bitpegel von„1" auf dem Bus (B) resultiert. The distinction between dominant and recessive bits makes it possible to conceive of the shared transmission medium as a kind of binary operator which combines the various input bits (= all bits transmitted simultaneously) with the aid of a logical AND function. FIG. 3 shows, for example, how a subscriber 1 (T1) keeps the bit sequence 0, 1, 1, 0, 1 ready for transmission between the times t0 and t5 via the transmission channel. Subscriber 2 (T2) keeps the bit sequence 0, 1, 0, 1, 1 ready for transmission between times t0 and t5 via the transmission channel. With the above-described characteristics of the communication system and assuming that the bit level "0" in this example is the dominant bit, the bit string 0, 1, 0, 0, 1 will be seen on the bus (B) Only between times t1 and t2 and between t4 and t5, both subscriber 1 (T1) and subscriber 2 (T2) provide a recessive bit "1", so that only in this case does the logical AND operation result in a bit level of " 1 "on the bus (B) results.
Unter Ausnutzung dieser Eigenschaften des Übertragungsverfahrens des Kommunikationssystems kann eine Schlüsselgenerierung zwischen zwei Teilnehmern eines entsprechenden Netzwerks nun erfolgen, indem die Teilnehmer eine Überlagerung von Bitfolgen der beiden Teilnehmer auf dem Übertragungsmedium de- tektieren und aus dieser Information gemeinsam mit Informationen über die selbst gesendete Bitfolge einen gemeinsamen (symmetrischen), geheimen Schlüssel erzeugen. Taking advantage of these characteristics of the transmission method of the communication system, a key generation between two subscribers of a corresponding network can now take place in that the subscribers detect a superimposition of bit sequences of the two subscribers on the transmission medium and from this information share information about the self-transmitted bit sequence (symmetric), generate secret key.
Eine beispielhafte, besonders bevorzugte Realisierung wird im Folgenden anhand von Fig. 4 erläutert. An exemplary, particularly preferred implementation will be explained below with reference to FIG. 4.
Der Prozess zur Generierung eines symmetrischen Schlüsselpaars wird in Schritt 41 von einem der in diesem Beispiel zwei beteiligten Knoten (Teilnehmer 1 und Teilnehmer 2) gestartet. Dies kann beispielsweise durch das Versenden einer speziellen Nachricht bzw. eines speziellen Nachrichtenheaders erfolgen. The process for generating a symmetric key pair is started in step 41 by one of the two nodes involved in this example (subscriber 1 and subscriber 2). This can be done, for example, by sending a special message or a special message header.
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 Pseudo- zufallszahlengenerators erzeugt. Both subscriber 1 and subscriber 2 initially generate a bit sequence locally (ie internally and independently of one another) in step 42. Preferably, this bit sequence is at least twice, in particular at least three times as long as the common key desired as a result of the method. The bit sequence is preferably in each case as a random or pseudo-random bit sequence, For example, with the help of a suitable random number generator or pseudo random number generator generated.
Beispiel für lokale Bitfolgen der Länge 20 Bits: Example of local bit sequences of length 20 bits:
Erzeugte Bitsequenz von Teilnehmer 1:  Generated bit sequence of participant 1:
ST1 = 01001101110010110010 S T1 = 01001101110010110010
' Erzeugte Bitsequenz von Teilnehmer 2:  'Generated bit sequence of subscriber 2:
ST2 = 10010001101101001011 S T2 = 10010001101101001011
In einem Schritt 43 übertragen Teilnehmer 1 und Teilnehmer 2 zueinander (weitgehend) synchron ihre jeweils erzeugten Bitsequenzen über das geteilte Übertragungsmedium (unter Verwendung des Übertragungsverfahrens mit dominanten und rezessiven Bits, wie zuvor bereits erläutert). Dabei sind verschiedene Möglichkeiten zur Synchronisierung der entsprechenden Übertragungen denkbar. So könnte beispielsweise entweder Teilnehmer 1 oder Teilnehmer 2 zunächst eine geeignete Synchronisationsnachricht an den jeweils anderen Knoten senden und nach einer bestimmten Zeitdauer im Anschluss an die vollständige Übertragung dieser Nachricht dann die Übertragung der eigentlichen Bitsequen- zen 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 a step 43, subscriber 1 and subscriber 2 transmit (largely) synchronously their respectively generated bit sequences over the divided transmission medium (using the transmission method with dominant and recessive bits, as already explained above). Different possibilities for synchronizing the corresponding transmissions are conceivable. Thus, for example, either subscriber 1 or subscriber 2 could first send a suitable synchronization message to the respective other node and then start the transmission of the actual bit sequences after a certain period of time following the complete transmission of this message. Equally, however, it is also conceivable that only one suitable message header is transmitted by one of the two nodes (eg a CAN header consisting of arbitration field and control field) and during the associated payload phase then both nodes simultaneously (largely) transmit their generated bit sequences synchronously , In a variant of the method, the bit sequences of a subscriber generated in step 42 can also be transmitted to several messages distributed in step 43, for example if this necessitates 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 Teil- nehmer 1 und Teilnehmer 2 eine Überlagerung ergeben, im genannten Beispiel de facto UND-verknüpft werden. Damit ergibt sich auf dem Übertragungskanal eine entsprechende Überlagerung, die beispielsweise ein mithörender dritter Teilnehmer detektieren könnte. Beispiel einer Überlagerungs bitfolge für die obigen, lokalen Bitfolgen: On the shared transmission medium, the two bit sequences then overlap, whereby due to the previously required property of the system with the distinction between 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. Example of an overlay bit sequence for the above local bit sequences:
• Effektive Bitsequenz auf dem Übertragungskanal:  • Effective bit sequence on the transmission channel:
Seff = ST1 AND ST2 = 00000001100000000010 Seff = S T1 AND S T2 = 00000001100000000010
Sowohl Teilnehmer 1 als auch Teilnehmer 2 detektieren während der Übertra- gung ihrer Bitsequenzen des Schritts 43 in einem parallelen Schritt 44 die effektiven (überlagerten) Bitsequenzen Seff auf dem geteilten Übertragungsmedium. Für das Beispiel des CAN-Busses wird dies auch in konventionellen Systemen während der Arbitrierungsphase gewöhnlicherweise ohnehin gemacht. Both subscriber 1 and subscriber 2 detect during the transmission of their bit sequences of step 43 in a parallel step 44, the effective (overlaid) bit sequences S 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 ,Οη-Off-Keying' (drahtlos, drahtgebunden oder optisch) ist dies entsprechend ebenfalls möglich. Der praktischen Realisierbarkeit kommt hierbei insbesondere zugute, dass bei einem solchen System der Zustand ,Οη' dominant und der Zustand ,Off' rezessiv ist (wie zuvor bereits erläutert). Folglich weiß ein Knoten auch ohne Messung, dass der effektive Zustand auf dem„Shared Medium" dominant ist sofern der Knoten selbst ein dominantes Bit gesendet hat. Hat ein Knoten hingegen ein rezessives Bit gesendet, kennt er den Zustand auf dem geteilten Übertragungsmedium zunächst nicht ohne Weiteres, allerdings kann er in diesem Fall durch eine geeignete Messung bestimmen, wie dieser aussieht. Da der Knoten selbst in diesem Fall nichts sendet, gibt es nämlich auch keine Probleme mit so genannter Selbstinterferenz, die speziell im Fall von drahtlosen Systemen ansonsten eine aufwändige Echokompensation erforderlich machen würde. This is likewise possible for systems with "η-off-keying" (wireless, wired or optical). In this case, the practical feasibility benefits in particular from the fact that in such a system the state 'η' is dominant and the state 'Off' is recessive (as already explained above). Consequently, even without measurement, a node knows that the effective state is dominant on the shared medium if the node itself has sent a dominant bit, but if a node has sent a recessive bit, it does not know the state on the shared transmission medium first Further, however, in this case he can determine by suitable measurement how it looks like, because, in this case, the node itself does not send anything, so there are no problems with so-called self-interference, which is a complex echo cancellation, especially in the case of wireless systems would require.
In einem nächsten Schritt 45 übertragen sowohl Teilnehmer 1 als auch Teilneh- mer 2 ebenfalls wieder (weitgehend) synchron ihre initialen Bitsequenzen STi undIn a next step 45, both subscriber 1 and subscriber 2 also transmit (largely) synchronously their initial bit sequences S T i and
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. S T 2, but inverted this time. The synchronization of the corresponding transmissions can again be realized exactly in the same way as described above. On the shared communication medium, the two sequences are then ANDed together again. Attendees 1 and 2 in turn determine the effective, superimposed bit sequences S e ff on the shared transmission medium.
Beispiel für die obigen Bitfolgen: Example of the above bit sequences:
Invertierte Bitsequenz von Teilnehmer 1:  Inverted bit sequence of participant 1:
ST1' = 10110010001101001101 S T1 '= 10110010001101001101
' Invertierte Bitsequenz von Teilnehmer 2:  'Inverted bit sequence of participant 2:
ST2' = 01101110010010110100 S T2 '= 01101110010010110100
' Effektive, überlagerte Bitsequenz auf dem Kanal:  'Effective, overlaid bit sequence on the channel:
Seff' = Sn AND ST2' = 00100010000000000100 S eff '= Sn AND S T2 ' = 00100010000000000100
Sowohl Teilnehmer 1 als auch Teilnehmer 2 ermitteln während der Übertragung ihrer nun invertierten Bitsequenzen dann wieder die effektiven, überlagerten Bitsequenzen auf dem geteilten Übertragungsmedium. Zu diesem Zeitpunkt kennen somit beide Knoten (Teilnehmer 1 und Teilnehmer 2), sowie auch ein möglicher Angreifer (z.B. Teilnehmer 3), der die Kommunikation auf dem geteilten Übertragungsmedium mithört, die effektiven, überlagerten Bitsequenzen Seff und Seff'. Im Gegensatz zum Angreifer bzw. dritten Teilnehmer kennt aber Teilnehmer 1 noch seine initial erzeugte, lokale Bitsequenz STi und Teilnehmer 2 seine initial erzeugte, lokale Bitsequenz ST2- Teilnehmer 1 wiederum kennt aber nicht die initial erzeugte, lokale Bitsequenz von Teilnehmer 2 und Teilnehmer 2 nicht die initial erzeugte, lokale Bitsequenz von Teilnehmer 1. Die Detektion der Überlagerungsbitfolge erfolgt wiederum während der Übertragung in Schritt 46. Both subscriber 1 and subscriber 2 determine during the transmission of their now inverted bit sequences then again the effective, superimposed bit sequences on the shared transmission medium. At this time, both nodes (subscriber 1 and subscriber 2), as well as a possible attacker (eg subscriber 3) who overhears the communication on the shared transmission medium, thus know the effective, superimposed bit sequences S e ff and S e ff '. In contrast to the attacker or third participant, however, participant 1 still knows his initially generated, local bit sequence S T i and participant 2 his initially generated, local bit sequence S T 2- participant 1 but in turn does not know the initially generated, local bit sequence of participant 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 are carried out 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 partial 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 respectively locally (ie internally) link the effective, superposed bit sequences (S e ff and S e ff '), in particular with a logical OR function.
Beispiel für die obigen Bitfolgen: Sges = Seff OR Seff' = 00100011100000000110 Example of the above bit sequences: S 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 STi und ST2 identisch oder unterschiedlich sind. Ist das n-te Bit innerhalb von Sges beispielsweise eine ,0', so bedeutet dies, dass das n-te Bit innerhalb von STi invers zu dem entsprechenden Bit innerhalb von ST2 ist. Gleichermaßen gilt, dass wenn das n-te Bit innerhalb von Sges eine ,1' ist, die entsprechenden Bits innerhalb von SAiice und SBob identisch sind. The individual bits in the bit sequence (S g es) resulting from the OR operation now indicate whether the corresponding bits of S T i and S T 2 are identical or different. For example, if the nth bit within S tot is a '0', it means that the nth bit within S T i is inverse to the corresponding bit within S T 2. Likewise, if the nth bit within S g is a '1', the corresponding bits within S A iice and S Bo b are identical.
Teilnehmer 1 und Teilnehmer 2 streichen daraufhin in Schritt 48 basierend auf der aus der ODER-Verknüpfung erhaltenen Bitsequenz Sges in ihren ursprünglichen, initialen Bitsequenzen STi und ST2 alle Bits, die in beiden Sequenzen identisch sind. Dies führt folglich zu entsprechend verkürzten Bitsequenzen. Subscriber 1 and subscriber 2 then cancel in step 48, based on the bit sequence S ges obtained from the OR combination, in their original, initial bit sequences S T i and S T 2 all bits which are identical in both sequences. This consequently leads to correspondingly shortened bit sequences.
Beispiel für die obigen Bitfolgen: Example of the above bit sequences:
Verkürzte Bitsequenz von Teilnehmer 1:  Abbreviated bit sequence of participant 1:
ST1>V = 01011100101100 S T1> V = 01011100101100
' Verkürzte Bitsequenz von Teilnehmer 2:  'Abbreviated bit sequence of participant 2:
ST2,v = 10100011010011 S T2 , v = 10100011010011
Die resultierenden, verkürzten Bitsequenzen STi,v und ST2,v sind nun gerade invers zueinander. Somit kann einer der beiden Teilnehmer durch Inversion seiner verkürzten Bitsequenz exakt diejenige verkürzte Bitsequenz ermitteln, wie sie im anderen Teilnehmer bereits vorliegt. The resulting, shortened bit sequences S T i, v and S T 2, v are now just inverse to each other. Thus, by inversion of its shortened bit sequence, one of the two subscribers can determine exactly the shortened bit sequence that already exists in the other subscriber.
Die dermaßen gemeinsam vorliegende, verkürzte Bitsequenz wird nun von Teilnehmer 1 und Teilnehmer 2 in Schritt 49 jeweils lokal auf geeignete Art und Weise aufbereitet, um den eigentlich gewünschten Schlüssel der gewünschten Länge N zu generieren. Auch hierbei gibt es wieder eine Vielzahl von Möglichkeiten, wie diese Aufbereitung erfolgen kann. Eine Möglichkeit ist die Selektion von N Bits aus der gemeinsam vorliegenden, verkürzten Bitsequenz, wobei klar definiert sein muss, welche N Bits zu nehmen sind, z.B. indem einfach immer die ersten N Bits der Sequenz selektiert werden. Ebenfalls möglich ist die Berechnung einer Hashfunktion über die gemeinsam vorliegende, verkürzte Bitsequenz, die einen Hashwert der Länge N liefert. Ganz allgemein kann die Aufbereitung mit jeder beliebigen linearen und nichtlinearen Funktion erfolgen, die bei Anwendung auf die gemeinsam vorliegende, verkürzte Bitsequenz eine Bitsequenz der Länge N Bits zurückliefert. Der Mechanismus der Schlüsselerzeugung aus der gemeinsam vorliegenden, verkürzten Bitsequenz liegt vorzugsweise in beiden Teilnehmern 1 und 2 identisch vor und wird entsprechend auf die gleiche Weise durchgeführt. The thus shared, shortened bit sequence is now processed locally by participant 1 and participant 2 in step 49 in a suitable manner in order to generate the actual desired key of the desired length N. Again, there are a variety of ways that this treatment can be done. One possibility is 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. Likewise possible is the calculation of a hash function via the jointly present, 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, in a number of passes, a whole series of resulting shortened bit sequences, which are each present in the case of subscribers 1 and 2, can be generated, which are then combined into a single large sequence before the actual key is derived therefrom , If necessary, this can also be done adaptively. If after performing the described procedure once, e.g. For example, if the length of the common, truncated bit sequence is less than the desired key length N, one could re-run e.g. Generate further bits before the actual key derivation.
Das generierte, symmetrische Schlüsselpaar kann nun schließlich von Teilnehmer 1 und Teilnehmer 2 in Verbindung mit etablierten (symmetrischen) kryptog- raphischen Verfahren, wie z.B. Chiffren zur Datenverschlüsselung, eingesetzt werden. Finally, the generated symmetric key pair can be subsumed by Subscriber 1 and Subscriber 2 in conjunction with established (symmetric) cryptographic methods, e.g. Ciphers for data encryption.
Ein Ziel der Verknüpfung der beiden Überlagerungs-Teilwertfolgen, insbesondere mit Hilfe einer logischen ODER-Funktion, ist es, eine Streichung derjenigen Bits vornehmen zu können, die auch ein passiver Angreifer, der die Kommunikation beobachtet, ohne Weiteres aufgrund seiner Beobachtungen ermitteln kann. Eine Alternative dazu wäre, diese Bits zu behalten, dafür aber zunächst deutlich mehr Bits zu generieren als gewünscht (also falls z.B. ein Geheimnis oder ein Schlüssel von 128 Bit gewünscht sind zunächst 300 Bits zu erzeugen) und diese dann am Ende, z.B. mit Hilfe einer Hash- Funktion o.ä., auf die gewünschte Länge zu reduzieren. A goal of the linking of the two overlay partial value sequences, in particular by means of a logical OR function, is to be able to carry out a deletion of those bits which are also a passive attacker who controls the communication observed, can easily determine on the basis of his observations. An alternative to this would be to keep those bits, but initially generate significantly more bits than desired (that is, if, for example, a secret or a key of 128 bits is desired to first generate 300 bits) and then at the end, eg with the help of a Hash function or similar, to reduce to the desired length.
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, superposed bit sequences (S e ff and S e ff ') as described. The attacker then only knows which bits in the locally generated bit sequences of nodes 1 and 2 are identical and which are not. In addition, with the identical bits, the attacker can even determine whether it is a '1' or a '0'. For a complete knowledge of the resulting, shortened bit sequence (and thus the basis for 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.
Mit den beschriebenen Verfahren zur Schlüsselgenerierung kann es vorkommen, dass relativ lange Sequenzen von gleichen Bits oder Signalpegeln bei der simul- tanen Übertragung durch die Teilnehmer 1 und 2 effektiv auf dem Übertragungs- kanal anliegen. Dies liegt darin begründet, dass beide Teilnehmer zunächst unabhängig voneinander zufällige Bitsequenzen generieren, aber auf dem Kanal jeweils nur eine Überlagerung dieser Bitsequenzen effektiv anliegt. Das kann z.B. eine mit einer UND-Verknüpfung kombinierte Bitsequenz sein unter der Annah- me eine dominanten Bits 0 und eines rezessiven Bits 1. Da die beiden Teilnehmer die zufällig erzeugte Bitsequenz des jeweils anderen Teilnehmers nicht kennen, kann es zunächst immer vorkommen, dass die effektive Bitsequenz nahezu beliebig lange Untersequenzen mit gleichen aufeinanderfolgenden Bits aufweist. Dies wiederum kann in bestimmten Kommunikationssystemen bei der Verwen- dung von Standard- Hardware und -Software problematisch sein, was im Folgenden beispielhaft am Beispiel von CAN näher erläutert werden soll. With the described methods for generating a key, it is possible that relatively long sequences of identical bits or signal levels in the simultaneous transmission by the users 1 and 2 are effectively transmitted on the transmission line. canal abut. This is due to the fact that both participants initially generate random bit sequences independently of one another, but only one superimposition of these bit sequences is effectively present on the channel. This can be, for example, a bit sequence combined with an AND operation, assuming a dominant bit 0 and a recessive bit 1. Since the two users do not know the randomly generated bit sequence of the other participant, it can always first happen that the effective bit sequence has almost arbitrarily long subsequences with the same consecutive bits. This in turn can be problematic in certain communication systems when using standard hardware and software, which will be explained in greater detail below using the example of CAN for example.
Das CAN-Protokoll schreibt vor, dass nach N = 5 aufeinanderfolgenden gleichwertigen Bits ein so genanntes ,Stuff-Bit' mit komplementärem Wert in die eigentlich zu übertragende Bitsequenz eingefügt werden muss, welches beim Empfänger automatisch wieder entfernt wird. Diese ,Stuff-Bits' sind also keine Informationsbits, sondern haben den folgenden Hintergrund: The CAN protocol stipulates that after N = 5 consecutive equivalent bits, a so-called 'stuff bit' with a complementary value must be inserted into the actual bit sequence to be transmitted, which is automatically removed at the receiver. These 'stuff bits' are not information bits but have the following background:
1) Bitfolgen mit mehr als N = 5 aufeinanderfolgenden gleichwertigen Bits werden für Steuerzwecke eingesetzt (z.B. als„End-of-Frame"-lndikation oder als„Error- Frame") und daher muss sichergestellt sein, dass solche Sequenzen nicht im eigentlichen Informationsteil auftreten. 1) Bit sequences with more than N = 5 consecutive equivalent bits are used for control purposes (eg as an "end-of-frame" indication or as an "error frame") and therefore it must be ensured that such sequences do not occur in the actual information part ,
2) CAN verwendet eine Non-Return-to-Zero-Codierung für die Übertragung von CAN- Botschaften. Dies begünstigt allerdings Synchronisationsverluste aufgrund von nicht perfekt synchronen Uhren in verschiedenen Knoten, weshalb während der Übertragung bzw. dem Empfang einer CAN-Botschaft eine zeitliche Nachsynchronisation durchgeführt werden muss, um die Anforderungen an die Hardware gering halten zu können (z.B. Anforderungen an die lokalen Oszillatoren). Durch die Einführung eines ,Stuff-Bits' erfolgt spätestens nach N = 5 aufeinanderfolgenden Bits ein Flankenwechsel, der dann für so eine Nachsynchronisation verwendet werden kann. 2) CAN uses a non-return-to-zero coding for the transmission of CAN messages. However, this favors synchronization losses due to not perfectly synchronous clocks in different nodes, which is why during the transmission or reception of a CAN message, a time synchronization must be performed in order to keep the hardware requirements low (eg requirements for the local oscillators ). Due to the introduction of a stuff bit, an edge change takes place at the latest after N = 5 consecutive bits, which can then be used for such a post-synchronization.
Wird die , Bit- Stuffing- Regel' im CAN verletzt, so übertragen alle Teilnehmer, die diese Verletzung entdecken, sofort ein .Error Flag' (=6 oder mehr aufeinanderfol- gende dominante Bits) und versuchen damit, den Vorgang abzubrechen. Dies verhindert dann wiederum die erfolgreiche Etablierung symmetrischer kryptogra- phischer Schlüssel mit den oben kurz skizzierten Verfahren. If the 'bit-stuffing rule' in the CAN is violated, all subscribers who detect this violation immediately transmit an'Error Flag '(= 6 or more consecutive). dominant bits) and try to cancel the process. This in turn prevents the successful establishment of symmetric cryptographic keys with the methods briefly outlined above.
Im Folgenden werden daher Erweiterungen der beschriebenen Verfahren vorgestellt, mit deren Hilfe Bit- Stuffing- Fehler vermieden werden können, so dass z.B. im Fall von CAN keine .Error Flags' aufgrund eines solchen Fehlers von anderen Knoten gesendet werden. Gleichzeitig kann damit sichergestellt werden, dass eine regelmäßige zeitliche Nachsynchronisation durch die Teilnehmer des Kommunikationssystems möglich ist und somit die Wahrscheinlichkeit von Synchronisationsfehler reduziert werden kann. Je nach Art und Typ des Kommunikationssystems können beide Aspekte von Bedeutung sein oder auch nur einer davon. In the following, therefore, expansions of the described methods are presented, by means of which bit stuffing errors can be avoided, so that e.g. in the case of CAN no'Error Flags' are sent by other nodes due to such an error. At the same time it can be ensured that a regular time synchronization by the participants of the communication system is possible and thus the probability of synchronization errors can be reduced. Depending on the type and type of communication system, both aspects may be important or just one of them.
Durch die Einführung von geeigneten ,Stuff-Bits' soll verhindert werden, dass mehr als N aufeinanderfolgende Bits denselben Wert aufweisen. Allerdings kann dies nicht durch Übertragungsregeln für die einzelnen Teilnehmer unabhängig von den übrigen Teilnehmern erfolgen, da es bei den beschriebenen Verfahren auf entsprechende Flankenwechsel bzw. Wertwechsel einer Überlagerungswertfolge ankommt. Hierzu werden verschiedene Möglichkeiten vorgeschlagen. The introduction of suitable 'stuff bits' is intended to prevent more than N consecutive bits from having the same value. However, this can not be done by transmission rules for the individual participants regardless of the other participants, since it depends on the described method to appropriate edge change or value change of a superposition value sequence. For this purpose, various possibilities are proposed.
In einer ersten bevorzugten Ausgestaltung wird ausgenutzt, dass der erste und der zweite Teilnehmer bei den beschriebenen Verfahren zur Schlüsselgenerie- rung während der synchronen Übertragung der zufälligen Bitsequenzen in Schritt 43 ohnehin immer den effektiven Signalpegel (bzw. die effektive Bitsequenz) auf dem gemeinsam genutzten Übertragungsmedium im parallelen Schritt 44 detek- tieren. Stellen die Knoten hierbei fest, dass der effektive Bitwert auf dem Übertragungsmedium N-mal hintereinander immer derselbe ist, so senden beide Knoten als nächstes ein Stuff-Bit, das invers zu dem N-mal hintereinander anliegenden effektiven Bit ist. Ein wesentliche Unterschied zu herkömmlichen Bit- Stuffing ist somit, dass die Entscheidung, ob ein Stuff-Bit eingefügt werden muss, nicht primär von der eigenen Nachricht bzw. Bitfolge abhängt, sondern ausschließlich von der effektiven Bitfolge auf dem gemeinsam genutzten Übertragungsmedium. Dasselbe gilt für den Wert des Stuff-Bits, der gesendet werden soll. In a first preferred embodiment, use is made of the fact that the first and second subscribers in the described method for generating the key during the synchronous transmission of the random bit sequences in step 43 always have the effective signal level (or the effective bit sequence) on the shared transmission medium Detect in parallel step 44. If the nodes notice that the effective bit value on the transmission medium is always the same N times in succession, both nodes will next send a stuff bit which is inverse to the effective N consecutive times. An essential difference to conventional bit stuffing is thus that the decision as to whether a stuff bit must be inserted does not depend primarily on the own message or bit string but only on the effective bit string on the shared transmission medium. The same applies to the value of the stuff bit to be sent.
Beispiel: Zufällige, initiale (lokal erzeugte) Bitfolge von Teilnehmer 1: Example: Random, initial (locally generated) bit sequence of participant 1:
011010110110101 011010110110101
Zufällige, initiale (lokal erzeugte) Bitfolge von Teilnehmer 2: Random, initial (locally generated) bit sequence of participant 2:
010100001111011 010100001111011
Effektive Bitsequenz auf dem Übertragungsmedium bei logischer UND- Verknüpfung der Einzelsequenzen ohne Stuff-Bits: Effective bit sequence on the transmission medium with logical AND operation of the single sequences without stuff bits:
010000000110001 010000000110001
Falls N = 5 (wie z.B. bei CAN) läge somit ein Stuffing- Fehler vor, da 7-mal hintereinander der effektive Bitwert ,0' auf dem Übertragungsmedium anliegt. If N = 5 (as in the case of CAN, for example), then there would be a stuffing error since the effective bit value '0' is applied to the transmission medium 7 times in succession.
Mit dem oben vorgeschlagenen Ansatz gemäß dem ersten Ausführungsbeispiel hingegen würde folgende Bitsequenz tatsächlich auf dem Übertragungsmedium anliegen: By contrast, with the approach proposed above according to the first embodiment, the following bit sequence would actually be present on the transmission medium:
0100000100110001  0100000100110001
Das unterstrichene Bit ist dabei das zusätzlich eingeführte Stuff-Bit, das sowohl von Teilnehmer 1 als auch von Teilnehmer 2 eingeschoben und gesendet wird, nachdem sie 5-mal das Bit ,0' auf dem gemeinsamen Übertragungsmedium de- tektiert haben. Die tatsächlich gesendeten Bitsequenzen von Alice und Bob sehen für dieses Beispiel demnach wie folgt aus: The underlined bit is the additionally introduced stuff bit, which is inserted and sent by both user 1 and user 2 after having detected the bit '0' on the common transmission medium 5 times. The actual bit sequences of Alice and Bob look like this example for this example:
Tatsächlich gesendete Bitfolge von Teilnehmer 1: Actually sent bit sequence of participant 1:
0110101110110101 0110101110110101
Tatsächlich gesendete Bitfolge von Teilnehmer 2: Actually sent bit sequence from participant 2:
0101000101111011 0101000101111011
Im Vergleich zu den obigen, zufällig und lokal erzeugten, initialen Bitfolgen der Teilnehmer 1 und 2 wurde also das entsprechende Stuff-Bit (hier: 1) an Position 8 eingefügt. In einer zweiten bevorzugten Ausgestaltung wird berücksichtigt, dass es in manchen Kommunikationssystemen für Teilnehmer gegebenenfalls schwierig sein kann (z.B. wegen der Verwendung von kostengünstiger, einfacher Hardware), unmittelbar nach der Detektion einer Sequenz von N gleichen aufeinanderfolgenden Bits auf dem Übertragungsmedium ein Stuff-Bit einzuschieben (wie oben dargestellt), da sowohl die Detektion eines Bits als auch die Vorbereitung der Übertragung des nächsten Bits je nach Implementierung etwas Zeit benötigen und somit eine hinreichend schnelle Reaktion unter Umständen nicht möglich ist. In so einem Fall kann der Ansatz des ersten Ausführungsbeispiels derart ange- passt werden, dass bereits nach der Detektion von N - M (1 < M < N-2) gleichen aufeinanderfolgenden effektiven Bits auf dem gemeinsam genutzten Übertragungsmedium die Einfügung eines Stuff-Bits vorbereitet wird, dieses aber erst nach der Übertragung von N Bits gerechnet ab der Detektion des ersten Bits der Sequenz von (mindestens) N-M gleichen aufeinanderfolgenden Bits tatsächlich gesendet wird. In comparison to the above, randomly and locally generated, initial bit sequences of the participants 1 and 2, the corresponding stuff bit (here: 1) was inserted at position 8. In a second preferred embodiment, it is contemplated that in some communications systems for subscribers, it may be difficult (eg, because of the use of inexpensive, simple hardware) to insert a stuff bit immediately after detecting a sequence of N equal successive bits on the transmission medium (as shown above), since both the detection of one bit and the preparation of the transmission of the next bit require some time depending on the implementation and thus a sufficiently fast reaction may not be possible. In such a case, the approach of the first exemplary embodiment can be adapted such that the insertion of a stuff bit is already prepared after the detection of N-M (1 <M <N-2) of identical successive effective bits on the shared transmission medium is, but only after the transmission of N bits from the detection of the first bit of the sequence of (at least) NM same consecutive bits is actually sent.
In einer besonders robusten Variante wird dieses vorbereitete Stuff-Bit selbst dann gesendet werden, wenn nach den N-M identischen Bits und vor der Übertragung des Stuff-Bits ein (effektiver) Bitwechsel auf dem gemeinsamen Übertragungsmedium erfolgt und somit eigentlich kein Stuffing- Fehler vorliegt (da auch ohne das Stuff-Bit in diesem Fall nicht mehr als N identische Bits auf dem Übertragungsmedium anliegen würden). Dies führt auch zu einer validen Bitsequenz (ohne Stuffing- Fehler), allerdings in diesem Fall mit größerem Overhead aufgrund des (hier eigentlich unnötigen) Stuff-Bits. In a particularly robust variant, this prepared stuff bit will be sent even if, after the NM identical bits and before the transmission of the stuff bit, an (effective) bit change takes place on the common transmission medium and thus there is actually no stuffing error even without the stuff bit in this case, there would be no more than N identical bits on the transmission medium). This also leads to a valid bit sequence (without stuffing error), but in this case with a higher overhead due to the (here actually unnecessary) stuff bit.
Beispiel (N=5, M=2): Example (N = 5, M = 2):
Zunächst wird angenommen, dass die initialen generierten Bitsequenzen der Teilnehmer 1 und 2 gleich sind wie Beispiel zur ersten Ausführungsvariante, d.h. First, it is assumed that the initial generated bit sequences of the participants 1 and 2 are the same as the example of the first embodiment, i.
Zufällige, initiale (lokal erzeugte) Bitfolge von Teilnehmer 1: Random, initial (locally generated) bit sequence of participant 1:
0 1 1 0 1 0 1 1 0 1 1 0 1 0 1 0 1 1 0 1 0 1 1 0 1 1 0 1 0 1
Zufällige, initiale (lokal erzeugte) Bitfolge von Teilnehmer 2: 010100001111011 Random, initial (locally generated) bit sequence of participant 2: 010100001111011
Effektive Bitsequenz auf dem Übertragungsmedium bei logischer UND- Verknüpfung der Einzelsequenzen ohne Stuff-Bits: Effective bit sequence on the transmission medium with logical AND operation of the single sequences without stuff bits:
010000000110001 010000000110001
Bei der Übertragung würden aber sowohl Alice als auch Bob nach der Übertragung von Bit 5 detektieren, dass N - M = 3 aufeinanderfolgende identische Bits auf dem gemeinsam genutzten Übertragungsmedium ausgebildet waren und dann die Einfügung eines Stuff-Bits an Position 8 vorbereiten (mit dem Wert ,1'). However, upon transmission, both Alice and Bob would detect after transmission of bit 5 that N - M = 3 consecutive identical bits were formed on the shared transmission medium and then prepare to insert a stuff bit at position 8 (with the value ,1').
Die tatsächlich von Alice und Bob übertragenen Bitsequenzen entsprechen somit (analog zu zuvor): The actual bit sequences transmitted by Alice and Bob thus correspond (analogous to before):
Tatsächlich gesendete Bitfolge von Teilnehmer 1: Actually sent bit sequence of participant 1:
0110101110110101 0110101110110101
Tatsächlich gesendete Bitfolge von Teilnehmer 2: Actually sent bit sequence from participant 2:
0101000101111011 0101000101111011
Daraus folgt die tatsächlich auf dem Übertragungsmedium anliegende Bitfolge: 0100000100110001 This results in the bit sequence actually applied to the transmission medium: 0100000100110001
Das unterstrichene Bit ist dabei wiederum das zusätzlich eingeführte Stuff-Bit, das sowohl von Teilnehmer 1 als auch von Teilnehmer 2 eingeschoben und gesendet wird, nachdem sie nach Bit 53-mal das Bit ,0' auf dem gemeinsamen Übertragungsmedium detektiert haben. Auch hier würde somit kein Bit-Stuffing- Fehler mehr auftreten (mit N = 5) und man hätte genau dasselbe Ergebnis wie im vorherigen Beispiel. Allerdings hätten sowohl Teilnehmer 1 als auch Teilnehmer 2 mehr Zeit, die Einfügung bzw. Übertragung des Stuff-Bits vorzubereiten. The underlined bit is again the additionally introduced stuff bit, which is inserted and transmitted by both user 1 and user 2 after having detected bit 53 'bit 53' on the common transmission medium. Again, no bit-stuffing error would occur (with N = 5) and you would have exactly the same result as in the previous example. However, both subscriber 1 and subscriber 2 would have more time to prepare for the insertion or transmission of the stuff bit.
Ein Verfahren zur Vermeidung von Stuffing- Fehlern und/oder Synchronisationsverlusten gemäß einem dritten bevorzugten Ausführungsbeispiel ist die periodische Erzwingung von Bit- bzw. Flankenwechseln unabhängig von den eigentlichen Informationsbits, also unabhängig von Teilnehmerfolgen und unabhängig von der detektierten Überlagerungsfolge. Dies kann derart gestaltet sein, dass sowohl Teilnehmer 1 als auch Teilnehmer 2 immer nach der Übertragung von K (mit K < N) Informationsbits (= ursprünglich zufällig erzeugte Bits) zwei Stuff-Bits einfügen, die bei Überlagerung zu einem Bit- bzw. Flankenwechsel führen. Bei bestimmten Kommunikationssystemen wie CAN können hierzu die zwei Stuff- Bits bereits einen Bitwechsel beinhalten, z.B. entweder die Bitfolge ,01' oder ,10', so dass die Überlagerung ebenfalls die Bitfolgen ,01' oder ,10' resultieren. Welcher dieser zwei möglichen Fälle eingefügt wird, ist in diesem Beispiel unerheblich, solange sichergestellt ist, dass sowohl Teilnehmer 1 als auch Teilnehmer 2 immer die gleiche Folge einfügen. A method for avoiding stuffing errors and / or synchronization losses according to a third preferred embodiment is the periodic enforcement of bit or edge changes independently of the actual information bits, ie independent of subscriber sequences and independently from the detected overlay sequence. This can be designed in such a way that both subscriber 1 and subscriber 2 always insert two stuff bits after the transmission of K (with K <N) information bits (= originally randomly generated bits), which when superposed result in a bit or edge change to lead. For certain communication systems such as CAN, the two stuff bits may already contain a bit change for this purpose, eg either the bit sequence '01' or '10', so that the superimposition likewise results in the bit sequences '01' or '10'. Which of these two possible cases is inserted is irrelevant in this example, as long as it is ensured that both subscriber 1 and subscriber 2 always insert the same sequence.
Diese Ausführungsvariante führt zu einem relativ hohen Overhead, ist allerdings sehr robust und unaufwendig realisierbar und kann auch besonders gut mit vorhandenen Standardkomponenten durchgeführt werden. This embodiment leads to a relatively high overhead, but is very robust and inexpensive to implement and can also be carried out particularly well with existing standard components.
Beispiel (N = 5, K = 4): Example (N = 5, K = 4):
Zunächst wird angenommen, dass die initialen generierten Bitsequenzen der Teilnehmer 1 und 2 gleich sind wie im Beispiel zur ersten und zweiten Ausführungsvariante, d.h.: First, it is assumed that the initial generated bit sequences of the participants 1 and 2 are the same as in the example of the first and second embodiment, namely.
Zufällige, initiale (lokal erzeugte) Bitfolge von Teilnehmer 1: Random, initial (locally generated) bit sequence of participant 1:
011010110110101 011010110110101
Zufällige, initiale (lokal erzeugte) Bitfolge von Teilnehmer 2: Random, initial (locally generated) bit sequence of participant 2:
010100001111011 010100001111011
Effektive Bitsequenz auf dem Übertragungsmedium bei logischer UND- Verknüpfung der Einzelsequenzen ohne Stuff-Bits: Effective bit sequence on the transmission medium with logical AND operation of the single sequences without stuff bits:
010000000110001 010000000110001
Immer nach K = 4 Bits wird nun allerdings sowohl von Teilnehmer 1 als auch von Teilnehmer 2 die Bitfolge ,01' eingefügt, unabhängig von den Informationsbits. Die tatsächlich zu übertragenden Bitsequenzen von Teilnehmer 1 und Teilnehmer 2 ergeben sich somit zu: Tatsächlich zu übertragende Bitfolge von Teilnehmer 1: However, always after K = 4 bits, the bit sequence '01' is now inserted by both subscriber 1 and subscriber 2, independently of the information bits. The actual bit sequences of subscriber 1 and subscriber 2 to be transmitted thus result in: Actual bit sequence to be transmitted by subscriber 1:
011001101101011001101 011001101101011001101
Tatsächlich zu übertragende Bitfolge von Teilnehmer 2: Actual bit sequence to be transmitted by user 2:
010101000001111101011 010101000001111101011
Somit ergibt sich folgende effektive Bitfolge auf dem gemeinsamen Übertragungsmedium: This results in the following effective bit sequence on the common transmission medium:
010001000001011001001  010001000001011001001
Somit tritt auch in diesem Fall kein Stuffing- Fehler auf (mit N = 5). Thus, even in this case no stuffing error occurs (with N = 5).
Unabhängig davon, welcher der beschriebenen Ansätze eingesetzt wird, werden die Stuff-Bits selbst vorzugsweise auf der Empfängerseite verworfen. Sie werden insbesondere nicht mit als Grundlage für die Generierung eines symmetrischen kryptographischen Schlüssels verwendet, um eine Schwächung des Schlüssels durch die Berücksichtigung nicht zufälliger Strukturen bei der Schlüsselgenerie- rung zu verhindern. Regardless of which of the approaches described is used, the stuff bits themselves are preferably discarded at the receiver side. In particular, they are not used as a basis for the generation of a symmetric cryptographic key in order to prevent the key from being weakened by the consideration of non-random structures in the key generation.
Die beschriebenen Ausführungsformen des Verfahrens können in einer alternativen Ausgestaltung auch derart abgewandelt werden, dass die Füllwerte (Stuff- Bits) nicht von beiden Teilnehmern auf das gemeinsame Übertragungsmedium gegeben werden, sondern dass lediglich einer der beiden Teilnehmer die Füllwerte generiert und ausgibt. Dieses Verfahren hat den Vorteil, dass die Teilnehmer sich über diese Wertfolge zueinander nachsynchronisieren können. Für diese Alternative wird vorzugsweise einer der Teilnehmer dazu bestimmt, die Füllwerte zu übertragen. Das kann z.B. derjenige Teilnehmer sein, der die Schlüs- selgenerierung initiiert, oder ein (z.B. durch Konfiguration) vorbestimmter Teilnehmer. Der andere Teilnehmer detektiert die Füllwerte und kann anhand dieser beispielsweise Synchronisationsinformationen gewinnen. Insbesondere kann anhands mindestens eines Füllwerts ein möglicher zeitlicher Versatz seiner Uhr mit der Uhr des anderen Teilnehmers detektiert und basierend auf diesem ermittelten Versatz eine Nachsynchronisation seiner Uhr vorgenommen werden. Die vorgestellten Verfahren stellen einen Ansatz zur Generierung symmetrischer, kryptographischer Schlüssel zwischen zwei Knoten unter Ausnutzung von Eigenschaften der Bitübertragungsschicht dar. Der Ansatz eignet sich insbesondere für Drahtgebundene und optische Kommunikationssysteme, sofern diese 'On-Off- Keying' bzw. eine bitweise Bus-Arbitrierung unterstützen (z.B. CAN, TTCAN, CAN-FD, LIN, I2C). Aber auch in drahtlosen, (funkbasierten) Kommunikationssystemen, vorzugsweise mit einer sehr kurzen Distanz zwischen Sender und Empfänger und einer möglichen direkten Sichtverbindung, kann der Ansatz verwendet werden. The described embodiments of the method can also be modified in an alternative embodiment such that the fill values (stuff bits) are not given by both participants to the common transmission medium, but that only one of the two participants generates and outputs the fill values. This method has the advantage that the participants can synchronize each other via this sequence of values. For this alternative, one of the participants is preferably determined to transmit the fill values. This can be, for example, the subscriber who initiates the key generation or a (for example by configuration) predetermined subscriber. The other participant detects the fill values and can use these, for example, to gain synchronization information. In particular, based on at least one fill value, a possible time offset of his clock with the clock of the other subscriber can be detected and, based on this determined offset, a re-synchronization of his clock can be carried out. The presented methods represent an approach for the generation of symmetric, cryptographic keys between two nodes by exploiting properties of the physical layer. The approach is particularly suitable for wired and optical communication systems, provided that this 'on-off-keying' or a bitwise bus arbitration support (eg CAN, TTCAN, CAN-FD, LIN, I2C). But also in wireless, (radio based) communication systems, preferably with a very short distance between transmitter and receiver and a possible direct line of sight, the approach can be used.
Grundsätzlich bieten sich für einen Einsatz alle Kommunikationssystemen an, die eine Unterscheidung von dominanten und rezessiven Bits (wie oben beschrieben) ermöglichen. Die hier beschriebenen Verfahren können damit bei einer Vielzahl von drahtlosen, drahtgebundenen und optischen Kommunikationssystemen eingesetzt werden kann. Besonders interessant ist der beschriebene Ansatz dabei für die Maschine-zu-Maschine-Kommunikation, also für die Übertragung von Daten zwischen verschiedenen Sensoren, Aktuatoren, etc., die im Allgemeinen nur über sehr begrenzte Ressourcen verfügen und ggf. nicht mit vertretbarem Aufwand manuell im Feld konfiguriert werden können. In principle, all communication systems that allow a distinction between dominant and recessive bits (as described above) are suitable for use. The methods described herein can be used in a variety of wireless, wired and optical communication systems. Of particular interest is the approach described here for the machine-to-machine communication, that is for the transmission of data between different sensors, actuators, etc., which generally have only very limited resources and may not be manageable with reasonable effort manually Field can be configured.
Weitere Einsatzmöglichkeiten gibt es beispielsweise in der Heim- und Gebäudeautomatisierung, der Telemedizin, Car-to-X-Systemen oder der industriellen Automatisierungstechnik. Besonders interessant ist auch der Einsatz bei zukünftigen Kleinst-Sensoren mit Funkschnittstelle sowie in allen Anwendungsbereichen des CAN-Busses, d.h. insbesondere der Fahrzeugvernetzung oder der Automatisierungstechnik. Further application possibilities are, for example, in home and building automation, telemedicine, car-to-x systems or industrial automation technology. Of particular interest is the use in future miniature sensors with radio interface as well as in all application areas of the CAN bus, i. in particular vehicle networking or automation technology.

Claims

Verfahren zur Generierung eines Geheimnisses oder eines Schlüssels in einem Netzwerk (20), wobei das Netzwerk (30) mindestens einen ersten Teilnehmer (21) und einen zweiten Teilnehmer (22) mit einem gemeinsamen Übertragungskanal (30) zwischen mindestens dem ersten Teilnehmer (21) und dem zweiten Teilnehmer (22) aufweist, wobei der erste Teilnehmer (21) mindestens einen ersten Wert (1) und einen zweiten Wert (0) und der zweite Teilnehmer (22) mindestens den ersten Wert (1) und den zweiten Wert (0) auf den Übertragungskanal (30) geben können, wobei der erste Teilnehmer (21) eine erste Teilnehmerwertfolge und der zweite Teilnehmer (22) eine zweite Teilnehmerwertfolge zur zueinander weitgehend synchronen Übertragung auf dem Übertragungskanal (30) veranlassen und der erste Teilnehmer (21) auf Basis von Informationen über die erste Teilnehmerwertfolge sowie auf Basis einer aus einer Überlagerung der ersten Teilnehmerwertfolge mit der zweiten Teilnehmerwertfolge auf dem Übertragungskanal (30) resultierenden Überlagerungswertfolge und der zweite Teilnehmer (22) auf Basis von Informationen über die zweite Teilnehmerwertfolge sowie auf Basis der aus der Überlagerung der ersten Teilnehmerwertfolge mit der zweiten Teilnehmerwertfolge auf dem Übertragungskanal (30) resultierenden Überlagerungswertfolge jeweils ein gemeinsamen Geheimnis oder einen gemeinsamen Schlüssel generieren, dadurch gekennzeichnet, dass in bestimmten Abständen oder abhängig von einer detektierten Überlagerungswertfolge mindestens der erste Teilnehmer (21) außerhalb der ersten Teilnehmerwertfolge oder der zweite Teilnehmer (22) außerhalb der zweiten Teilnehmerwertfolge mindestens einen Füllwert auf den Übertragungskanal (30) geben, so dass ein Flankenwechsel bzw. Wertwechsel auf dem Übertragungskanal (30) erfolgt. Method for generating a secret or a key in a network (20), wherein the network (30) has at least a first subscriber (21) and a second subscriber (22) with a common transmission channel (30) between at least the first subscriber (21). and the second user (22), wherein the first user (21) has at least a first value (1) and a second value (0) and the second user (22) has at least the first value (1) and the second value (0 ) to the transmission channel (30), wherein the first subscriber (21) a first subscriber value sequence and the second subscriber (22) cause a second subscriber value sequence for each other largely synchronous transmission on the transmission channel (30) and the first subscriber (21) Based on information about the first subscriber value sequence and on the basis of a superimposition of the first subscriber value sequence with the second subscriber value sequence on the transmission line anal (30) resulting superposition value sequence and the second subscriber (22) based on information about the second subscriber value sequence and on the basis of the superimposition of the first subscriber value sequence with the second subscriber value sequence on the transmission channel (30) resulting overlay value sequence in each case a common secret or a common Generate keys, characterized in that at certain intervals or depending on a detected overlay value sequence at least the first participant (21) outside the first subscriber value sequence or the second participant (22) outside the second subscriber value sequence at least one fill value on the transmission channel (30), so an edge change or value change takes place on the transmission channel (30).
Verfahren nach Anspruch 1, dadurch gekennzeichnet, dass nur einer des ersten Teilnehmers (21) und des zweiten Teilnehmers (22) den Füllwert auf den Übertragungskanal (30) gibt und dass der andere des ersten Teilnehmers (21) und des zweiten Teilnehmers (22) den Füllwert detektiert. A method according to claim 1, characterized in that only one of the first subscriber (21) and the second subscriber (22) gives the filling value to the transmission channel (30) and that the other of the first subscriber (21) and the second subscriber (22) detected the filling value.
3. Verfahren nach Anspruch 2, dadurch gekennzeichnet, dass der andere Teilnehmer anhand des detektierten Füllwerts Synchronisationsinformationen ermittelt. 3. The method according to claim 2, characterized in that the other participant determined based on the detected filling value synchronization information.
Verfahren nach Anspruch 1, dadurch gekennzeichnet, der erste Teilnehmer (21) mindestens einen ersten Füllwert außerhalb der ersten Teilnehmerwertfolge und der zweite Teilnehmer (22) hierzu weitgehend synchron mindestens einen zweiten Füllwertwert außerhalb der zweiten Teilnehmerwertfolge auf den Übertragungskanal geben, so dass durch die Überlagerung des mindestens einen ersten Füllwerts und des mindestens einen zweiten Füllwerts ein Flankenwechsel bzw. Wertwechsel auf dem Übertragungskanal erfolgt. A method according to claim 1, characterized in that the first participant (21) at least a first filling value outside the first subscriber value sequence and the second participant (22) for this substantially synchronously at least a second filling value outside the second subscriber value sequence on the transmission channel, so that by the superposition of the at least one first filling value and of the at least one second filling value, an edge change or value change takes place on the transmission channel.
Verfahren nach einem der vorangegangenen Ansprüchen, dadurch gekennzeichnet, dass mindestens der erste Teilnehmer (21) oder der zweite Teilnehmer (22) den Füllwert auf den Übertragungskanal (33) geben, falls von mindestens dem ersten Teilnehmer (21) oder dem zweiten Teilnehmer (22) eine Überlagerungswertfolge mit einer vorbestimmten Anzahl gleicher Werte detektiert wird. Method according to one of the preceding claims, characterized in that at least the first subscriber (21) or the second subscriber (22) give the filling value to the transmission channel (33) if at least the first subscriber (21) or the second subscriber (22 ) an overlay value sequence having a predetermined number of equal values is detected.
Verfahren nach Anspruch 5, dadurch gekennzeichnet, dass der Füllwert unmittelbar als nächsten Wert auf den Übertragungskanal (30) gegeben wird, sobald eine Überlagerungswertfolge mit einer vorbestimmten Anzahl gleicher Werte detektiert wird. A method according to claim 5, characterized in that the filling value is given directly as the next value to the transmission channel (30) as soon as a superposed value sequence with a predetermined number of identical values is detected.
Verfahren nach Anspruch 5, dadurch gekennzeichnet, dass der Füllwert mit einer Verzögerung um eine bestimmte Anzahl an Werten auf den Übertragungskanal (30) gegeben wird, nachdem eine Überlagerungswertfolge mit einer vorbestimmten Anzahl gleicher Werte detektiert wird. A method according to claim 5, characterized in that the filling value is given to the transmission channel (30) with a delay by a certain number of values, after an overlay value sequence having a predetermined number of equal values is detected.
Verfahren nach einem der Ansprüche 5 bis 7, dadurch gekennzeichnet, dass der Füllwert invers zu den detektierten gleichen Werten ist. Method according to one of claims 5 to 7, characterized in that the filling value is inverse to the detected same values.
9. Verfahren nach Anspruch 7, dadurch gekennzeichnet, dass der Füllwert in festen, vorgegebenen Abständen, insbesondere jeweils nach einer vorbe- stimmten Zahl von Werten der auf den Kanal gegebenen Teilnehmerwertfolgen, auf den Übertragungskanal (30) gegeben wird. 9. The method according to claim 7, characterized in that the filling value at fixed, predetermined intervals, in particular in each case after a pre- matched number of values of the subscriber value sequences given to the channel to which transmission channel (30) is given.
10. Verfahren nach einem der vorangegangene Ansprüche, dadurch gekennzeichnet, mindestens zwei Füllwerte auf den Übertragungskanal (30) gegeben werden. 10. The method according to any one of the preceding claims, characterized in that at least two fill values are given to the transmission channel (30).
11. Verfahren nach Anspruch 10, dadurch gekennzeichnet, dass die zwei Füllwerte einen Wertewechsel beinhalten. 11. The method according to claim 10, characterized in that the two fill values include a value change.
12. Verfahren nach einem der vorangegangenen Ansprüche, dadurch gekennzeichnet, dass sich auf dem Übertragungskanal (30) ein Zustand entsprechend dem ersten Wert (0) einstellt, wenn sowohl der erste Teilnehmer (21) als auch der zweite Teilnehmer (22) eine Übertragung des ersten Werts (0) über den Übertragungskanal (30) veranlassen, und sich ein Zustand entsprechend dem zweiten Wert (1) einstellt, wenn der erste Teilnehmer (21) oder der zweite Teilnehmer (22) oder wenn beide (21, 22) eine Übertragung des zweiten Werts über den Übertragungskanal (30) veranlassen. 12. The method according to any one of the preceding claims, characterized in that on the transmission channel (30) a state corresponding to the first value (0) sets when both the first participant (21) and the second participant (22) a transmission of cause the first value (0) via the transmission channel (30), and a state corresponding to the second value (1) sets when the first user (21) or the second user (22) or both (21, 22) transmit of the second value via the transmission channel (30).
13. Verfahren nach einem der vorangegangenen Ansprüche, dadurch gekennzeichnet, dass die erste Teilnehmerwertfolge in dem ersten Teilnehmer (21) und die zweite Teilnehmerwertfolge in dem zweiten Teilnehmer (22) lokal, insbesondere mit Hilfe eine Zufallsgenerators oder Pseudozufallsgenerators, erzeugt werden. 13. The method according to any one of the preceding claims, characterized in that the first subscriber value sequence in the first subscriber (21) and the second subscriber value sequence in the second subscriber (22) locally, in particular by means of a random number generator or pseudo-random generator generated.
14. Verfahren nach einem der vorangegangenen Ansprüche, dadurch gekennzeichnet, dass der mindestens eine erste Füllwert und der mindestens eine zweite Füllwert zur Generierung des gemeinsamen Geheimnisses oder des gemeinsamen Schlüssels nicht herangezogen werden. 14. The method according to any one of the preceding claims, characterized in that the at least one first filling value and the at least one second filling value for generating the shared secret or the common key are not used.
15. Verfahren zur Generierung eines Geheimnisses oder Schlüssels in einem ersten Teilnehmer (21) eines Netzwerks (20), wobei der erste Teilnehmer (21) dazu eingerichtet ist, über einen Übertragungskanal (30) von mindestens einem zweiten Teilnehmer (22) des Netzwerks (20) Informationen zu empfangen sowie Informationen an den zweiten Teilnehmer (22) zu übertragen, wobei der erste Teilnehmer (21) dazu eingerichtet ist, mindestens einen ersten Wert und einen zweiten Wert auf den Übertragungskanal (30) zu geben und auf diesem detektieren zu können, wobei der erste Teilnehmer (21) eine erste Teilnehmerwertfolge für eine Übertragung weitgehend synchron zu ei- ner Übertragung einer zweiten Teilnehmerwertfolge durch den zweiten Teilnehmer (22) auf dem Übertragungskanal (30) veranlasst und wobei der erste Teilnehmer (21) ein Geheimnis oder einen Schlüssel generiert auf Basis von Informationen über die erste Teilnehmerwertfolge sowie auf Basis einer Überlagerungswertfolge, welche auf dem Übertragungskanal (30) aus der Überla- gerung der ersten Teilnehmerwertfolge mit der zweiten Teilnehmerwertfolge resultiert, dadurch gekennzeichnet, dass in bestimmten Abständen oder abhängig von einer detektierten Überlagerungswertfolge der erste Teilnehmer (21) mindestens einen ersten Füllwert außerhalb der ersten Teilnehmerwertfolge auf den Übertragungskanal (30) gibt, so dass ein Flankenwechsel bzw. Wertwechsel auf dem Übertragungskanal erfolgt. Method for generating a secret or key in a first subscriber (21) of a network (20), wherein the first subscriber (21) is set up to use (at least) a second subscriber (22) of the network via a transmission channel (30). 20) receive information and transmit information to the second party (22), wherein the first subscriber (21) is arranged to be able to give at least a first value and a second value to the transmission channel (30) and to be able to detect thereon, wherein the first subscriber (21) has a first subscriber value sequence for a transmission substantially synchronous to a transmission of a second subscriber value sequence by the second subscriber (22) on the transmission channel (30) causes and wherein the first subscriber (21) generates a secret or a key based on information about the first subscriber value sequence and on the basis of an overlay value sequence, which on the transmission channel (30) resulting from the superposition of the first subscriber value sequence with the second subscriber value sequence, characterized in that at certain intervals or depending on a detected overlay value sequence, the first subscriber (21) at least a first filling value outside the first subscriber value sequence on the transfer gskanal (30), so that an edge change or value change takes place on the transmission channel.
16. Verfahren nach einem der vorangegangenen Ansprüche, dadurch gekennzeichnet, dass das Netzwerk (20) ein CAN-, TTCAN-, CAN-FD, LIN- oder l2C-Bussystem ist, dass der erste Wert (1) ein rezessiver Buspegel ist und dass der zweite Wert (0) ein dominanter Buspegel ist. 16. The method according to any one of the preceding claims, characterized in that the network (20) is a CAN, TTCAN, CAN-FD, LIN or l2C bus system, that the first value (1) is a recessive bus level and that the second value (0) is a dominant bus level.
17. Verfahren nach einem der Ansprüche 1 bis 15, dadurch gekennzeichnet, dass in dem Netzwerk (20) eine On-Off-Keying-Amplitudenumtastung zur Datenübertragung vorgesehen ist. 17. The method according to any one of claims 1 to 15, characterized in that in the network (20) an on-off-keying amplitude shift keying is provided for data transmission.
18. Netzwerk (20) mit mindestens einem ersten Teilnehmer (21) und einem zweiten Teilnehmer (22) und einem Übertragungskanal (30), über welchen der erste Teilnehmer (21) mit dem zweiten Teilnehmer (22) kommunizieren kann, dadurch gekennzeichnet, dass das Netzwerk (20) Mittel umfasst, alle Schritte eines Verfahren nach einem der Ansprüche 1 bis 17 durchzuführen. 18. Network (20) having at least a first subscriber (21) and a second subscriber (22) and a transmission channel (30) via which the first subscriber (21) can communicate with the second subscriber (22), characterized in that the network (20) comprises means to perform all the steps of a method according to any one of claims 1 to 17.
19. Vorrichtung, welche dazu eingerichtet ist, als Teilnehmer (21) an einem 19. Device which is set up as a participant (21) on a
Netzwerk (20) alle Schritte des Verfahrens nach Anspruch 15 durchzuführen. Network (20) perform all the steps of the method according to claim 15.
20. Computerprogramm, welches dazu eingerichtet ist, alle Schritte eines der Verfahren nach einem der Ansprüche 1 bis 17 durchzuführen. A computer program adapted to perform all the steps of one of the methods of any one of claims 1 to 17.
21. Maschinenlesbares Speichermedium mit einem darauf gespeicherten Computerprogramm nach Anspruch 20. 21. A machine-readable storage medium with a computer program stored thereon according to claim 20.
EP16716541.4A 2015-05-22 2016-04-13 Method for generating a secret or a key in a network Withdrawn EP3298721A1 (en)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
DE102015209496.0A DE102015209496A1 (en) 2015-05-22 2015-05-22 A method of creating a secret or key in a network
PCT/EP2016/058103 WO2016188667A1 (en) 2015-05-22 2016-04-13 Method for generating a secret or a key in a network

Publications (1)

Publication Number Publication Date
EP3298721A1 true EP3298721A1 (en) 2018-03-28

Family

ID=55754267

Family Applications (1)

Application Number Title Priority Date Filing Date
EP16716541.4A Withdrawn EP3298721A1 (en) 2015-05-22 2016-04-13 Method for generating a secret or a key in a network

Country Status (7)

Country Link
US (1) US10841085B2 (en)
EP (1) EP3298721A1 (en)
JP (1) JP2018516019A (en)
KR (1) KR20180009753A (en)
CN (1) CN107624229B (en)
DE (1) DE102015209496A1 (en)
WO (1) WO2016188667A1 (en)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111247769B (en) * 2017-08-29 2023-04-28 罗伯特·博世有限公司 Method and system for linear key agreement with forward confidentiality using an insecure shared communication medium
CN110730067B (en) * 2019-09-06 2021-10-19 深圳开源互联网安全技术有限公司 Key generation method and device, computer readable storage medium and terminal equipment

Family Cites Families (14)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20050195975A1 (en) * 2003-01-21 2005-09-08 Kevin Kawakita Digital media distribution cryptography using media ticket smart cards
KR20070101097A (en) * 2006-04-10 2007-10-16 삼성전자주식회사 Method and apparatus for generating transport frame, and method and apparatus for processing transport frame
CN101287277B (en) * 2007-04-13 2012-07-25 华为技术有限公司 Method and system for providing service to customer's terminal in wireless personal area network
US20090103726A1 (en) * 2007-10-18 2009-04-23 Nabeel Ahmed Dual-mode variable key length cryptography system
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
CN101873212B (en) * 2010-06-09 2012-04-18 中国农业大学 Threshold secret information distributing and restoring devices and method
FR2970130B1 (en) * 2011-01-03 2013-08-30 Centre Nat Etd Spatiales DECODING METHOD AND DECODER
DE102011080476A1 (en) 2011-08-05 2013-02-07 Robert Bosch Gmbh Method and apparatus for improving data transmission security in serial data transmission with flexible message size
DE102012215326A1 (en) * 2012-08-29 2014-03-06 Robert Bosch Gmbh Method for determining cryptographic key in network in area of mobile communication, involves determining channel information relative to transmission channel based on pilot signal and determining cryptographic key using channel information
DE102015207220A1 (en) 2014-04-28 2015-10-29 Robert Bosch Gmbh A method of creating a secret or key in a network
DE102014209042A1 (en) 2014-05-13 2015-11-19 Robert Bosch Gmbh Method and device for generating a secret key
DE102014208975A1 (en) * 2014-05-13 2015-11-19 Robert Bosch Gmbh A method for generating a key in a network and subscribers to a network and network
DE102015207763A1 (en) * 2015-04-28 2016-11-03 Robert Bosch Gmbh Method and device for generating a secret cryptographic key shared by a first node and a second node by means of at least one helper node

Also Published As

Publication number Publication date
KR20180009753A (en) 2018-01-29
JP2018516019A (en) 2018-06-14
CN107624229A (en) 2018-01-23
US20180123786A1 (en) 2018-05-03
CN107624229B (en) 2021-03-30
WO2016188667A1 (en) 2016-12-01
US10841085B2 (en) 2020-11-17
DE102015209496A1 (en) 2016-11-24

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
EP3298721A1 (en) Method for generating a secret or a 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
EP3363146B1 (en) Method for generating a key in a circuit assembly
WO2017064124A1 (en) Circuit arrangement for producing a secret or a key in a network
WO2017064027A1 (en) Method for generating a secret or a key in a network
WO2017064075A1 (en) Circuit arrangement for generating a secret or key in a network
DE102016208453A1 (en) A method of creating a secret or key in a network
WO2017064067A1 (en) Method for generating a key in a network and for activating the securing of communication in the network on the basis of the key
WO2017064025A1 (en) Method for generating a secret or a key in a network
WO2017064129A1 (en) Method for generating a secret for a one-time encryption in a network
WO2017064125A1 (en) Method for generating a secret or a key in a network
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
DE102015219993B4 (en) Method and device for generating a shared secret of a predetermined length
WO2017064131A1 (en) Method for generating a secret or key in a network
DE102016208448A1 (en) A method of creating a secret or key in a network
DE102016208452A1 (en) A method of creating a secret or key in a network
WO2017064002A1 (en) Method and device for generating a joint secret
DE102015220014A1 (en) Method for generating a secret in a network
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
WO2017063995A1 (en) Method for generating a secret or a key in a network
DE102015219991A1 (en) Method and apparatus for establishing a shared secret

Legal Events

Date Code Title Description
PUAI Public reference made under article 153(3) epc to a published international application that has entered the european phase

Free format text: ORIGINAL CODE: 0009012

17P Request for examination filed

Effective date: 20171222

AK Designated contracting states

Kind code of ref document: A1

Designated state(s): AL AT BE BG CH CY CZ DE DK EE ES FI FR GB GR HR HU IE IS IT LI LT LU LV MC MK MT NL NO PL PT RO RS SE SI SK SM TR

AX Request for extension of the european patent

Extension state: BA ME

DAV Request for validation of the european patent (deleted)
DAX Request for extension of the european patent (deleted)
STAA Information on the status of an ep patent application or granted ep patent

Free format text: STATUS: THE APPLICATION IS DEEMED TO BE WITHDRAWN

18D Application deemed to be withdrawn

Effective date: 20180724