EP3298721A1 - Verfahren zur erzeugung eines geheimnisses oder schlüssels in einem netzwerk - Google Patents

Verfahren zur erzeugung eines geheimnisses oder schlüssels in einem netzwerk

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
English (en)
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/de
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.

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Small-Scale Networks (AREA)
  • Mobile Radio Communication Systems (AREA)

Abstract

Es wird ein Verfahren zur Generierung eines Geheimnisses oder eines Schlüssels in einem Netzwerk vorgestellt. Dabei weist das Netzwerk mindestens einen ersten und einen zweiten Teilnehmer mit einem gemeinsamen Übertragungskanal zwischen mindestens dem ersten und dem zweiten Teilnehmer auf. Der erste Teilnehmer kann mindestens einen ersten und einen zweiten Wert und der zweite Teilnehmer kann mindestens den ersten und den zweiten Wert auf den Übertragungskanal geben, wobei der erste Teilnehmer eine erste Teilnehmerwertfolge und der zweite Teilnehmer eine zweite Teilnehmerwertfolge zur zueinander weitgehend synchronen Übertragung auf dem Übertragungskanal veranlassen und der erste Teilnehmer 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 resultierenden Überlagerungswertfolge und der zweite Teilnehmer 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 resultierenden Überlagerungswertfolge jeweils ein gemeinsames Geheimnis oder einen gemeinsamen Schlüssel generieren. In bestimmten Abständen oder abhängig von einer detektierten Überlagerungswertfolge gibt mindestens der erste Teilnehmer außerhalb der ersten Teilnehmerwertfolge oder der zweite Teilnehmer außerhalb der zweiten Teilnehmerwertfolge mindestens einen Füllwert auf den Übertragungskanal, so dass ein Flankenwechsel bzw. Wertwechsel auf dem Übertragungskanal erfolgt.

Description

Beschreibung Titel
Verfahren zur Erzeugung eines Geheimnisses oder Schlüssels in einem Netz- werk
Technisches Gebiet
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.
Stand der Technik
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.
Asymmetrische Verfahren haben unter anderem den Nachteil, dass sie in der Regel eine sehr hohe Rechenkomplexität aufweisen. Damit sind sie nur bedingt für ressourcenbeschränkte Knoten, wie z. B. Sensoren, Aktuatoren, o.ä., geeignet, die üblicherweise nur über eine relativ geringe Rechenleistung sowie geringen Speicher verfügen und energieeffizient arbeiten sollen, beispielsweise aufgrund von Batteriebetrieb oder dem Einsatz von Energy Harvesting. Darüber hinaus steht oftmals nur eine begrenzte Bandbreite zur Datenübertragung zur Verfügung, was den Austausch von asymmetrischen Schlüsseln mit Längen von 2048 Bit oder noch mehr unattraktiv macht.
Bei symmetrischen Verfahren hingegen muss gewährleistet sein, dass sowohl Empfänger als auch Sender über den gleichen Schlüssel verfügen. Das zugehörige Schlüsselmanagement stellt dabei generell eine sehr anspruchsvolle Aufga- be dar. Im Bereich des Mobilfunks werden Schlüssel beispielsweise mit Hilfe von
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.
Verfahren zur Absicherung von Sensordaten gegen Manipulation und die Sicherstellung einer Transaktionsauthentifizierung, z.B. in einem Kraftfahrzeugnetzwerk, mit Hilfe gängiger Verschlüsselungsverfahren sind z.B. in der DE
102009002396 AI und in der DE 102009045133 AI offenbart.
Seit einiger Zeit werden zudem unter dem Schlagwort„Physical Layer Security" neuartige Ansätze untersucht und entwickelt, mit Hilfe derer Schlüssel für symmetrische Verfahren automatisch auf der Grundlage physikalischer Eigenschaften der Übertragungskanäle zwischen den involvierten Knoten erzeugt werden können. Dabei nutzt man die Reziprozität und die inhärente Zufälligkeit dieser Übertragungskanäle aus. Insbesondere bei drahtgebundenen oder optischen Systemen ist dieser Ansatz oftmals allerdings nur bedingt geeignet, da entsprechende Kanäle üblicherweise nur eine sehr eingeschränkte zeitliche Variabilität aufweisen und ein Angreifer beispielsweise mit Hilfe einer Modellbildung relativ gut Rückschlüsse auf die Kanalparameter zwischen dem Sender und dem Empfänger ziehen kann. Derartige Verfahren für eine abgesicherte Kommunikation in einem verteilten System auf Basis von Kanaleigenschaften der verbundenen Einheiten sind beispielsweise in den nicht vorveröffentlichten Anmeldungen DE 10 2014 208975 AI sowie DE 10 2014 209042 AI beschrieben.
Verfahren zum Bit- Stuffing beim Controller Area Network (CAN) und beim CAN- FD sind beispielsweise der DE 10 2011 080476 AI zu entnehmen.
Die nicht vorveröffentlichte DE 10 2015 207220 AI offenbart ein Verfahren zur Erzeugung eines gemeinsamen Geheimnisses bzw. eines geheimen, symmetrischen Schlüssels mittels öffentlicher Diskussion zwischen zwei Kommunikationsteilnehmern. Offenbarung der Erfindung
Die Verfahren zur Generierung eines Geheimnisses bzw. eines kryptographi- schen Schlüssels 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.
Dabei gehen die Verfahren davon aus, dass Teilnehmer in einem Netzwerk über einen Kommunikationskanal miteinander kommunizieren. Sie übertragen dabei insbesondere logische Wertfolgen, (falls es sich um binäre Logik handelt, Bitfolgen) mit Hilfe von physikalischen Signalen auf dem Übertragungskanal. Auch wenn mögliche Überlagerungen auf dem Übertragungskanal durch die Signale, also auf der physikalischen Ebene, stattfinden, wird in der Beschreibung im Folgenden vorranging die logische Ebene betrachtet. Es werden somit die übertragenen, logischen Wertfolgen sowie deren logische Überlagerung betrachtet. Teilnehmer des Netzwerks können somit erste Signale (die beispielsweise dem logischen Bit„1" zugeordnet sind) und zweite Signale (die beispielsweise dem logischen Bit„0" zugeordnet sind) auf den Kommunikationskanal geben und resultierende Signale auf dem Kommunikationskanal detektieren. Übertragen nun zwei Teilnehmer (weitgehend) gleichzeitig jeweils eine Signalfolge, so können die Teilnehmer die daraus resultierende Überlagerung auf dem Kommunikationskanal detektieren. Das effektive, aus der (weitgehend) gleichzeitigen Übertragung zweier (unabhängiger) Signale resultierende Signal auf dem Kommunikationskanal lässt sich dann wiederum einem (oder mehreren) bestimmten logischen Wert (oder Werten) zuordnen. Die Übertragung muss dabei insofern weitgehend synchron sein, dass eine Überlagerung der einzelnen Signale einer Signalfolge auf dem Übertragungsmedium erfolgt, insbesondere, dass sich das Signal entsprechend dem n-ten logischen Wert bzw. Bit des ersten Teilnehmers mit dem Signal entsprechend dem n-ten logischen Wert bzw. Bit des zweiten Teilnehmers zumindest teilweise überlagert.
Diese Überlagerung sollte jeweils dafür ausreichend lange sein, dass die Teilnehmer die Überlagerung erfassen bzw. den entsprechenden Überlagerungswert ermitteln können.
Die Überlagerung kann dabei durch Arbitrierungsmechanismen oder durch physikalische Signalüberlagerung bestimmt sein. Mit Arbitrierungsmechanismus ist beispielsweise der Fall gemeint, dass ein Knoten einen rezessiven Pegel anlegen möchte, aber auf dem Bus einen dominanten Pegel detektiert und somit die Übertragung unterlässt. In diesem Fall kommt es zu keiner physikalischen Überlagerung zweier Signale, sondern es ist nur das dominante Signal auf dem Übertragungskanal zu sehen.
Aus der resultierenden Wertfolge der Überlagerung und der eigenen Wertfolge können die Teilnehmer dann einen Schlüssel generieren, der einem außenstehenden Angreifer gegenüber geheim ist. Grund dafür ist, dass der außenstehende Angreifer, der beispielsweise die auf dem gemeinsam genutzten Übertragungsmedium anliegenden effektiven Gesamtsignale abhören kann, nur die Überlagerung der Wertfolgen sieht, aber nicht die Informationen über die einzelnen Wertfolgen der Teilnehmer hat. Damit verfügen die Teilnehmer über mehr Informationen, die sie gegenüber dem Angreifer zur Generierung eines geheimen Schlüssels nutzen können.
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.
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.
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.
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.
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.
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).
Besonders vorteilhaft kann das Verfahren in einem Netzwerk eingesetzt werden, in dem es einen dominanten Wert (physikalisch: ein dominantes Signal) gibt, der sich durchsetzt, wenn nur ein Teilnehmer ihn auf dem Übertragungskanal anlegt, und einen rezessiven Wert (physikalisch: ein rezessives Signal), der auf dem
Übertragungskanal nur resultiert, wenn beide bzw. alle Teilnehmer einen rezessiven Wert übertragen. Aufgrund der hiermit klar vorgegebenen Überlagerungsregeln können die Teilnehmer eines solchen Netzwerks aus resultierenden Überlagerungsfolgen besonders einfach Informationen zur Schlüsselgenerierung 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.
Die beschriebenen Verfahren sind besonders gut in einem CAN-, TTCAN- oder CAN-FD-Bussystem umzusetzen. Hier wird ein rezessiver Buspegel durch einen dominanten Buspegel verdrängt. Die Überlagerung von Werten bzw. Signalen der Teilnehmer folgt damit festgelegten Regeln, welche die Teilnehmer zur Ableitung von Informationen aus dem überlagerten Wert bzw. Signal und dem von ihnen übertragenen Wert bzw. Signal nutzen können. Auch für weitere Kommunikationssysteme wie LIN und I2C sind die Verfahren gut geeignet.
Alternativ kann das Verfahren aber zum Beispiel auch in einem Netzwerk mit On- Off-Keying-Amplitudenumtastung eingesetzt werden. Hier ist ebenfalls die Überlagerung festgelegt, indem den Teilnehmern als Signale„Übertragung" und„keine Übertragung" zur Auswahl stehen und das Überlagerungssignal dem Signal „Übertragung" entspricht, wenn einer oder beide der Teilnehmer übertragen, und dem Signal„keine Übertragung" entspricht, wenn beide Teilnehmer nicht übertragen.
Während das Verfahren für zwei Teilnehmer in einem Netzwerk beschrieben wurde, kann auch bereits durch einen Teilnehmer eines Netzwerks ein geheimer Schlüssel aus einer eigenen Signalfolge und aus einer Überlagerung dieser mit der Signalfolge eines zweiten Teilnehmers abgeleitet werden. Ein Netzwerk oder ein Teilnehmer eines Netzwerks sind hierzu eingerichtet, indem sie über elektronische Speicher- und Rechenressourcen verfügen, die Schritte eines entsprechenden Verfahrens auszuführen. Auf einem Speichermedium eines solchen Teilnehmers oder auf den verteilten Speicherressourcen eines Netzwerks kann auch ein Computerprogramm abgelegt sein, dass dazu eingerichtet ist, alle Schritte eines entsprechenden Verfahrens auszuführen, wenn es in dem Teilnehmer oder in dem Netzwerk abgearbeitet wird.
Zeichnungen Nachfolgend ist die Erfindung unter Bezugnahme auf die beiliegenden Zeichnungen und anhand von Ausführungsbeispielen näher beschrieben. Dabei zeigen
Fig. 1 schematisch den Aufbau eines beispielhaften, zugrundeliegenden Kommunikationssystems,
Fig. 2 schematisch einen linearen Bus als Beispiel eines zugrundeliegenden Kommunikationssystems,
Fig. 3 schematisch beispielhafte Signalfolgen zweier Teilnehmer eines Netzwerks sowie eine resultierende Überlagerungswertfolge auf einem Übertragungskanal zwischen den Teilnehmern und
Fig. 4 schematisch den Ablauf eines beispielhaften Verfahrens zur Schlüsselge- nerierung zwischen zwei Teilnehmern eines Netzwerks.
Beschreibung der Ausführungsbeispiele
Die vorliegende Erfindung bezieht sich auf ein Verfahren zur Generierung eines gemeinsamen Geheimnisses bzw. (geheimer) symmetrischer kryptographischer Schlüssel zwischen zwei Knoten eines Kommunikationssystems (Teilnehmer eines Netzwerkes), die über ein gemeinsam genutztes Medium (Übertragungskanal des Netzwerks) miteinander kommunizieren. Die Generierung bzw. Aushandlung der kryptographischen Schlüssel basiert dabei auf einem öffentlichen Datenaustausch zwischen den zwei Teilnehmern, wobei es einem möglichen mithörenden Dritten als Angreifer aber dennoch nicht oder nur sehr schwer möglich ist, Rückschlüsse auf die generierten Schlüssel zu ziehen. Mit der Erfindung ist es somit möglich, zwischen zwei verschiedenen Teilnehmern eines Netzwerks vollständig automatisiert und sicher entsprechende symmetrische kryptographische Schlüssel zu etablieren, um darauf aufbauend dann bestimmte Sicherheitsfunktionen, wie z.B. eine Datenverschlüsselung, zu realisieren. Wie im Detail noch beschrieben wird hierzu zunächst ein gemeinsames Geheimnis etabliert, welches zur Schlüsselgenerierung herangezogen werden kann. Ein solches gemeinsames Geheimnis kann aber grundsätzlich auch zu anderen Zwecken als für kryp- tographische Schlüssel im engeren Sinne genutzt werden, z.B. als One-Time- Pad.
Die Erfindung eignet sich für eine Vielzahl drahtgebundener oder drahtloser sowie auch optischer Netzwerke bzw. Kommunikationssysteme, insbesondere auch solche, bei denen die verschiedenen Teilnehmer über einen linearen Bus miteinander kommunizieren und der Medienzugriff auf diesen Bus mithilfe einer bitweisen Bus-Arbitrierung erfolgt. Dieses Prinzip stellt beispielsweise die Grundlage des weit verbreiteten CAN-Busses dar. Mögliche Einsatzgebiete der Erfindung umfassen dementsprechend insbesondere auch CAN-basierte Fahrzeugnetzwerke sowie CAN-basierte Netzwerke in der Automatisierungstechnik.
Die vorliegende Erfindung beschreibt einen Ansatz, mit dem automatisiert symmetrische kryptographische Schlüssel in einem, bzw. insbesondere zwischen zwei Knoten eines Netzwerks generiert werden können. Diese Generierung erfolgt dabei unter Ausnutzung von Eigenschaften der entsprechenden Übertragungsschicht. Anders als bei den gängigen Ansätzen der„Physical Layer 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.
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.
Ein Beispiel für ein solches Übertragungsverfahren ist das so genannte On-Off- Keying (On-Off-Keying-Amplitudenumtastung), bei dem genau zwei Übertra- gungszustände unterschieden werden: Im ersten Fall (Wert ,Οη', bzw.„0") wird ein Signal übertragen, beispielsweise in Form eines einfachen Trägersignals, im anderen Fall (Wert ,Off', bzw.„1") wird kein Signal übertragen. Der Zustand ,Οη' ist dabei dominant während der Zustand ,Off' rezessiv ist.
Ein weiteres Beispiel für ein entsprechendes Kommunikationssystem, das diese Unterscheidung von dominanten und rezessiven Bits unterstützt, ist ein (drahtgebundenes oder optisches) System basierend auf einer bitweisen Bus- Arbitrierung, wie sie beispielsweise beim CAN-Bus zum Einsatz kommt. Die Grundidee dabei besteht ebenfalls darin, dass wenn beispielsweise zwei Knoten gleichzeitig ein Signal übertragen wollen und der eine Knoten eine ,1' überträgt, wohingegen der zweite Knoten eine ,0' sendet, die ,0'„gewinnt" (also das dominante Bit), d.h. der Signalpegel, der auf dem Bus gemessen werden kann, entspricht einer logischen ,0'. Bei CAN wird dieser Mechanismus insbesondere zur Auflösung von möglichen Kollisionen benutzt. Dabei werden höherpriore Nachrichten (d.h. Nachrichten mit früherem, dominantem Signalpegel) vorrangig übertragen, indem jeder Knoten bei der Übertragung seines CAN-Identifiers bitweise gleichzeitig den Signalpegel auf dem Bus überwacht. Sofern der Knoten selbst ein rezessives Bit überträgt, aber auf dem Bus ein dominantes Bit detektiert wird, bricht der entsprechende Knoten seinen Übertragungsversuch zugunsten der höherprioren Nachricht (mit dem früheren dominanten Bit) ab.
Die Unterscheidung von dominanten und rezessiven Bits erlaubt es, das geteilte Übertragungsmedium als eine Art binären Operator aufzufassen, der die verschiedenen Eingangsbits (=alle gleichzeitig übertragenen Bits) mit Hilfe einer 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.
Unter Ausnutzung dieser Eigenschaften des Übertragungsverfahrens des Kommunikationssystems kann eine Schlüsselgenerierung zwischen zwei Teilnehmern eines entsprechenden Netzwerks nun erfolgen, indem die Teilnehmer eine Überlagerung von Bitfolgen der beiden Teilnehmer auf dem Übertragungsmedium de- tektieren und aus dieser Information gemeinsam mit Informationen über die selbst gesendete Bitfolge einen gemeinsamen (symmetrischen), geheimen Schlüssel erzeugen.
Eine beispielhafte, besonders bevorzugte Realisierung wird im Folgenden anhand von Fig. 4 erläutert.
Der Prozess zur Generierung eines symmetrischen Schlüsselpaars wird in Schritt 41 von einem der in diesem Beispiel zwei beteiligten Knoten (Teilnehmer 1 und Teilnehmer 2) gestartet. Dies kann beispielsweise durch das Versenden einer speziellen Nachricht bzw. eines speziellen Nachrichtenheaders erfolgen.
Sowohl Teilnehmer 1 als auch Teilnehmer 2 generieren in Schritt 42 zunächst lokal (d.h. intern und voneinander unabhängig) eine Bitsequenz. Vorzugsweise ist diese Bitfolge mindestens zweimal, insbesondere mindestens dreimal so lang wie der als Resultat des Verfahrens erwünschte gemeinsame Schlüssel. Die Bitfolge wird vorzugsweise jeweils als zufällige oder pseudozufällige Bitabfolge, beispielsweise mit Hilfe eines geeigneten Zufallszahlengenerators oder Pseudo- zufallszahlengenerators erzeugt.
Beispiel für lokale Bitfolgen der Länge 20 Bits:
Erzeugte Bitsequenz von Teilnehmer 1:
ST1 = 01001101110010110010
' Erzeugte Bitsequenz von Teilnehmer 2:
ST2 = 10010001101101001011
In einem Schritt 43 übertragen Teilnehmer 1 und Teilnehmer 2 zueinander (weitgehend) synchron ihre jeweils erzeugten Bitsequenzen über das geteilte Übertragungsmedium (unter Verwendung des Übertragungsverfahrens mit dominanten und rezessiven Bits, wie zuvor bereits erläutert). Dabei sind verschiedene Möglichkeiten zur Synchronisierung der entsprechenden Übertragungen denkbar. So könnte beispielsweise entweder Teilnehmer 1 oder Teilnehmer 2 zunächst eine geeignete Synchronisationsnachricht an den jeweils anderen Knoten senden und nach einer bestimmten Zeitdauer im Anschluss an die vollständige Übertragung dieser Nachricht dann die Übertragung der eigentlichen 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.
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:
• Effektive Bitsequenz auf dem Übertragungskanal:
Seff = ST1 AND ST2 = 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.
Für Systeme mit ,Οη-Off-Keying' (drahtlos, drahtgebunden oder optisch) ist dies entsprechend ebenfalls möglich. Der praktischen Realisierbarkeit kommt hierbei insbesondere zugute, dass bei einem solchen System der Zustand ,Οη' dominant und der Zustand ,Off' rezessiv ist (wie zuvor bereits erläutert). Folglich weiß ein Knoten auch ohne Messung, dass der effektive Zustand auf dem„Shared Medium" dominant ist sofern der Knoten selbst ein dominantes Bit gesendet hat. Hat ein Knoten hingegen ein rezessives Bit gesendet, kennt er den Zustand auf dem geteilten Übertragungsmedium zunächst nicht ohne Weiteres, allerdings kann er in diesem Fall durch eine geeignete Messung bestimmen, wie dieser aussieht. Da der Knoten selbst in diesem Fall nichts sendet, gibt es nämlich auch keine Probleme mit so genannter Selbstinterferenz, die speziell im Fall von drahtlosen Systemen ansonsten eine aufwändige Echokompensation erforderlich machen würde.
In einem nächsten Schritt 45 übertragen sowohl Teilnehmer 1 als auch Teilneh- mer 2 ebenfalls wieder (weitgehend) synchron ihre initialen Bitsequenzen STi und
ST2, diesmal allerdings invertiert. Die Synchronisierung der entsprechenden Übertragungen kann dabei wieder genau auf dieselbe Art und Weise realisiert werden, wie oben beschrieben. Auf dem geteilten Kommunikationsmedium werden die beiden Sequenzen dann wieder miteinander UND-verknüpft. Teilnehmer 1 und 2 ermitteln wiederum die effektiven, überlagerten Bitsequenzen Seff auf dem geteilten Übertragungsmedium.
Beispiel für die obigen Bitfolgen:
Invertierte Bitsequenz von Teilnehmer 1:
ST1' = 10110010001101001101
' Invertierte Bitsequenz von Teilnehmer 2:
ST2' = 01101110010010110100
' Effektive, überlagerte Bitsequenz auf dem Kanal:
Seff' = Sn AND ST2' = 00100010000000000100
Sowohl Teilnehmer 1 als auch Teilnehmer 2 ermitteln während der Übertragung ihrer nun invertierten Bitsequenzen dann wieder die effektiven, überlagerten Bitsequenzen auf dem geteilten Übertragungsmedium. Zu diesem Zeitpunkt kennen somit beide Knoten (Teilnehmer 1 und Teilnehmer 2), sowie auch ein möglicher Angreifer (z.B. Teilnehmer 3), der die Kommunikation auf dem geteilten Übertragungsmedium mithört, die effektiven, überlagerten Bitsequenzen Seff und Seff'. Im Gegensatz zum Angreifer bzw. dritten Teilnehmer kennt aber Teilnehmer 1 noch seine initial erzeugte, lokale Bitsequenz STi und Teilnehmer 2 seine initial erzeugte, lokale Bitsequenz ST2- Teilnehmer 1 wiederum kennt aber nicht die initial erzeugte, lokale Bitsequenz von Teilnehmer 2 und Teilnehmer 2 nicht die initial erzeugte, lokale Bitsequenz von Teilnehmer 1. Die Detektion der Überlagerungsbitfolge erfolgt wiederum während der Übertragung in Schritt 46.
Alternativ zu dieser beispielhaften Ausführungsvariante können Teilnehmer 1 und Teilnehmer 2 ihre invertierte, lokale Bitfolge auch direkt mit bzw. direkt nach ihrer ursprünglichen, lokalen Bitfolge versenden, d.h. Schritte 45 und 46 erfolgen mit den Schritten 43 und 44. Die ursprüngliche und die invertierte Bitfolge können dabei in einer Nachricht, aber auch in separaten Nachrichten als Teil- Bitfolgen übermittelt werden.
In Schritt 47 verknüpfen Teilnehmer 1 und Teilnehmer 2 nun jeweils lokal (also intern) die effektiven, überlagerten Bitfolgen (Seff und Seff'), insbesondere mit einer logischen ODER-Funktion.
Beispiel für die obigen Bitfolgen: Sges = Seff OR Seff' = 00100011100000000110
Die einzelnen Bits in der aus der ODER-Verknüpfung resultierenden Bitsequenz (Sges) geben nun an, ob die entsprechenden Bits von 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.
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.
Beispiel für die obigen Bitfolgen:
Verkürzte Bitsequenz von Teilnehmer 1:
ST1>V = 01011100101100
' Verkürzte Bitsequenz von Teilnehmer 2:
ST2,v = 10100011010011
Die resultierenden, verkürzten Bitsequenzen 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.
Die dermaßen gemeinsam vorliegende, verkürzte Bitsequenz wird nun von Teilnehmer 1 und Teilnehmer 2 in Schritt 49 jeweils lokal auf geeignete Art und Weise aufbereitet, um den eigentlich gewünschten Schlüssel der gewünschten Länge N zu generieren. Auch hierbei gibt es wieder eine Vielzahl von Möglichkeiten, wie diese Aufbereitung erfolgen kann. Eine Möglichkeit ist die Selektion von N Bits aus der gemeinsam vorliegenden, verkürzten Bitsequenz, wobei klar definiert sein muss, welche N Bits zu nehmen sind, z.B. indem einfach immer die ersten N Bits der Sequenz selektiert werden. Ebenfalls möglich ist die Berechnung einer Hashfunktion über die gemeinsam vorliegende, verkürzte Bitsequenz, die einen Hashwert der Länge N liefert. Ganz allgemein kann die Aufbereitung mit jeder beliebigen linearen und nichtlinearen Funktion erfolgen, die bei Anwendung auf die gemeinsam vorliegende, verkürzte Bitsequenz eine Bitsequenz der Länge N Bits zurückliefert. Der Mechanismus der Schlüsselerzeugung aus der gemeinsam vorliegenden, verkürzten Bitsequenz liegt vorzugsweise in beiden Teilnehmern 1 und 2 identisch vor und wird entsprechend auf die gleiche Weise durchgeführt.
Im Anschluss an die Schlüsselgenerierung kann ggf. noch verifiziert werden, dass die von Teilnehmer 1 und 2 generierten Schlüssel tatsächlich identisch sind. Dazu könnte beispielsweise eine Checksumme über die generierten Schlüssel berechnet und zwischen Teilnehmer 1 und 2 ausgetauscht werden. Sind beide Checksummen nicht identisch, so ist offensichtlich etwas fehlgeschlagen. In diesem Fall könnte das beschriebene Verfahren zur Schlüsselgenerierung wiederholt werden.
In einer bevorzugten Variante des Verfahrens zur Schlüsselgenerierung können in verschiedenen Durchläufen zunächst auch eine ganze Reihe von resultierenden, bei Teilnehmer 1 und 2 jeweils vorliegenden, verkürzten Bitsequenzen erzeugt werden, die dann zu einer einzigen großen Sequenz kombiniert werden, bevor der eigentliche Schlüssel davon abgeleitet wird. Dies kann ggf. auch adaptiv erfolgen. Sollte nach dem einmaligen Durchlaufen der beschriebenen Prozedur z.B. die Länge der gemeinsamen, verkürzten Bitsequenz beispielsweise kleiner als die gewünschte Schlüssellänge N sein, so könnte man durch einen erneuten Durchlauf z.B. weitere Bits vor der eigentlichen Schlüsselableitung generieren.
Das generierte, symmetrische Schlüsselpaar kann nun schließlich von Teilnehmer 1 und Teilnehmer 2 in Verbindung mit etablierten (symmetrischen) kryptog- raphischen Verfahren, wie z.B. Chiffren zur Datenverschlüsselung, eingesetzt werden.
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.
Ein möglicher Angreifer (z.B. Teilnehmer 3) kann die öffentliche Datenübertragung zwischen Teilnehmer 1 und Teilnehmer 2 abhören und somit wie beschrieben Kenntnis der effektiven, überlagerten Bitfolgen (Seff und Seff') erlangen. Damit weiß der Angreifer dann allerdings nur, welche Bits in den lokal generierten Bitsequenzen von Teilnehmer 1 und 2 identisch sind und welche nicht. Bei den identischen Bits kann der Angreifer darüber hinaus sogar noch feststellen, ob es sich dabei um eine ,1' oder eine ,0' handelt. Für eine vollständige Kenntnis der resultierenden, verkürzten Bitfolge (und damit der Grundlage zur Schlüsselgenerierung) fehlen ihm aber die Informationen über die nicht identischen Bits. Um dem Angreifer mögliche Angriffe weiter zu erschweren, wird in einer bevorzugten Variante zusätzlich die in den ursprünglichen, lokal erzeugten Bitfolgen der Teilnehmer 1 und 2 identischen Bitwerte gelöscht. Damit verfügt Teilnehmer 3 nur über Informationen, die für die Schlüsselgenerierung gar nicht verwendet werden. Er weiß zwar, dass entsprechend verkürzte Bitfolgen aus den zwischen den lokalen Bitfolgen der Teilnehmer 1 und Teilnehmer 2 unterschiedlichen Bits hervorgehen. Er weiß aber nicht, welche Bits Teilnehmer 1 und Teilnehmer 2 jeweils gesendet haben.
Teilnehmer 1 und Teilnehmer 2 haben zusätzlich zu der Information über die überlagerte Gesamt- Bitfolge noch die Information über die jeweils von ihnen gesendete, lokal generierte Bitfolge. Aus diesem Informationsvorsprung gegenüber einem lediglich der öffentlichen Datenübertragung folgenden Teilnehmer 3 rührt die Tatsache, dass die in Teilnehmer 1 und 2 generierten Schlüssel trotz der öffentlichen Datenübertragung als Grundlage geheim bleiben.
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.
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:
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.
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.
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.
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.
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.
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.
Beispiel: Zufällige, initiale (lokal erzeugte) Bitfolge von Teilnehmer 1:
011010110110101
Zufällige, initiale (lokal erzeugte) Bitfolge von Teilnehmer 2:
010100001111011
Effektive Bitsequenz auf dem Übertragungsmedium bei logischer UND- Verknüpfung der Einzelsequenzen ohne Stuff-Bits:
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.
Mit dem oben vorgeschlagenen Ansatz gemäß dem ersten Ausführungsbeispiel hingegen würde folgende Bitsequenz tatsächlich auf dem Übertragungsmedium anliegen:
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:
Tatsächlich gesendete Bitfolge von Teilnehmer 1:
0110101110110101
Tatsächlich gesendete Bitfolge von Teilnehmer 2:
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 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.
Beispiel (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.
Zufällige, initiale (lokal erzeugte) Bitfolge von Teilnehmer 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
Effektive Bitsequenz auf dem Übertragungsmedium bei logischer UND- Verknüpfung der Einzelsequenzen ohne Stuff-Bits:
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').
Die tatsächlich von Alice und Bob übertragenen Bitsequenzen entsprechen somit (analog zu zuvor):
Tatsächlich gesendete Bitfolge von Teilnehmer 1:
0110101110110101
Tatsächlich gesendete Bitfolge von Teilnehmer 2:
0101000101111011
Daraus folgt die tatsächlich auf dem Übertragungsmedium anliegende Bitfolge: 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.
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.
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.
Beispiel (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.:
Zufällige, initiale (lokal erzeugte) Bitfolge von Teilnehmer 1:
011010110110101
Zufällige, initiale (lokal erzeugte) Bitfolge von Teilnehmer 2:
010100001111011
Effektive Bitsequenz auf dem Übertragungsmedium bei logischer UND- Verknüpfung der Einzelsequenzen ohne Stuff-Bits:
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:
011001101101011001101
Tatsächlich zu übertragende Bitfolge von Teilnehmer 2:
010101000001111101011
Somit ergibt sich folgende effektive Bitfolge auf dem gemeinsamen Übertragungsmedium:
010001000001011001001
Somit tritt auch in diesem Fall kein Stuffing- Fehler auf (mit 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.
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.
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.
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.

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.
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.
3. Verfahren nach Anspruch 2, dadurch gekennzeichnet, dass der andere Teilnehmer anhand des detektierten Füllwerts Synchronisationsinformationen ermittelt.
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.
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.
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.
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.
Verfahren nach einem der Ansprüche 5 bis 7, dadurch gekennzeichnet, dass der Füllwert invers zu den detektierten gleichen Werten ist.
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.
10. Verfahren nach einem der vorangegangene Ansprüche, dadurch gekennzeichnet, mindestens zwei Füllwerte auf den Übertragungskanal (30) gegeben werden.
11. Verfahren nach Anspruch 10, dadurch gekennzeichnet, dass die zwei Füllwerte einen Wertewechsel beinhalten.
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.
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.
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.
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.
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.
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.
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.
19. Vorrichtung, welche dazu eingerichtet ist, als Teilnehmer (21) an einem
Netzwerk (20) alle Schritte des Verfahrens nach Anspruch 15 durchzuführen.
20. Computerprogramm, welches dazu eingerichtet ist, alle Schritte eines der Verfahren nach einem der Ansprüche 1 bis 17 durchzuführen.
21. Maschinenlesbares Speichermedium mit einem darauf gespeicherten Computerprogramm nach Anspruch 20.
EP16716541.4A 2015-05-22 2016-04-13 Verfahren zur erzeugung eines geheimnisses oder schlüssels in einem netzwerk Withdrawn EP3298721A1 (de)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
DE102015209496.0A DE102015209496A1 (de) 2015-05-22 2015-05-22 Verfahren zur Erzeugung eines Geheimnisses oder Schlüssels in einem Netzwerk
PCT/EP2016/058103 WO2016188667A1 (de) 2015-05-22 2016-04-13 Verfahren zur erzeugung eines geheimnisses oder schlüssels in einem netzwerk

Publications (1)

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

Family

ID=55754267

Family Applications (1)

Application Number Title Priority Date Filing Date
EP16716541.4A Withdrawn EP3298721A1 (de) 2015-05-22 2016-04-13 Verfahren zur erzeugung eines geheimnisses oder schlüssels in einem netzwerk

Country Status (7)

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

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
GB2578408B (en) * 2017-08-29 2022-04-20 Bosch Gmbh Robert Methods and systems for linear key agreement with forward secrecy using an insecure shared communication medium
CN110730067B (zh) * 2019-09-06 2021-10-19 深圳开源互联网安全技术有限公司 密钥生成方法、装置、计算机可读存储介质及终端设备

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 (ko) * 2006-04-10 2007-10-16 삼성전자주식회사 전송 프레임을 생성하는 방법 및 장치 및 전송 프레임을처리하는 방법 및 장치
CN101287277B (zh) * 2007-04-13 2012-07-25 华为技术有限公司 一种为无线个域网中的用户终端提供业务的方法及***
US20090103726A1 (en) * 2007-10-18 2009-04-23 Nabeel Ahmed Dual-mode variable key length cryptography system
DE102009002396A1 (de) 2009-04-15 2010-10-21 Robert Bosch Gmbh Verfahren zum Manipulationsschutz eines Sensors und von Sensordaten des Sensors und einen Sensor hierzu
DE102009045133A1 (de) 2009-09-29 2011-03-31 Robert Bosch Gmbh Verfahren zum Manipulationsschutz von Sensordaten und Sensor hierzu
CN101873212B (zh) * 2010-06-09 2012-04-18 中国农业大学 门限秘密信息分配、还原装置及方法
FR2970130B1 (fr) * 2011-01-03 2013-08-30 Centre Nat Etd Spatiales Procede de decodage et decodeur
DE102011080476A1 (de) 2011-08-05 2013-02-07 Robert Bosch Gmbh Verfahren und Vorrichtung zur Verbesserung der Datenübertragungssicherheit in einer seriellen Datenübertragung mit flexibler Nachrichtengröße
DE102012215326A1 (de) * 2012-08-29 2014-03-06 Robert Bosch Gmbh Verfahren und Vorrichtung zur Ermittlung eines kryptografischen Schlüssels in einem Netzwerk
EP3138258B1 (de) 2014-04-28 2018-07-11 Robert Bosch GmbH Verfahren zur erzeugung eines geheimnisses oder eines schlüssels in einem netzwerk
DE102014208975A1 (de) * 2014-05-13 2015-11-19 Robert Bosch Gmbh Verfahren zur Generierung eines Schlüssels in einem Netzwerk sowie Teilnehmer an einem Netzwerk und Netzwerk
DE102014209042A1 (de) 2014-05-13 2015-11-19 Robert Bosch Gmbh Verfahren und Vorrichtung zum Erzeugen eines geheimen Schlüssels
DE102015207763A1 (de) * 2015-04-28 2016-11-03 Robert Bosch Gmbh Verfahren und Vorrichtung zum Erzeugen eines einem ersten Knoten und einem zweiten Knoten gemeinsamen geheimen kryptografischen Schlüssels mittels mindestens eines Helferknotens

Also Published As

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

Similar Documents

Publication Publication Date Title
EP3138258B1 (de) Verfahren zur erzeugung eines geheimnisses oder eines schlüssels in einem netzwerk
DE102015220038A1 (de) Verfahren zur Erzeugung eines Geheimnisses oder Schlüssels in einem Netzwerk
WO2016188667A1 (de) Verfahren zur erzeugung eines geheimnisses oder schlüssels in einem netzwerk
DE102016208451A1 (de) Verfahren zur Erzeugung eines Geheimnisses oder eines Schlüssels in einem Netzwerk
EP3363145B1 (de) Verfahren und vorrichtung zur erzeugung eines gemeinsamen geheimnisses
EP3363146B1 (de) Verfahren zur erzeugung eines schlüssels in einer schaltungsanordnung
WO2017064124A1 (de) Schaltungsanordnung zur erzeugung eines geheimnisses oder schlüssels in einem netzwerk
WO2017064027A1 (de) Verfahren zur erzeugung eines geheimnisses oder schlüssels in einem netzwerk
WO2017064075A1 (de) Schaltungsanordnung zur erzeugung eines geheimnisses oder schlüssels in einem netzwerk
DE102016208453A1 (de) Verfahren zur Erzeugung eines Geheimnisses oder eines Schlüssels in einem Netzwerk
WO2017064067A1 (de) Verfahren zur generierung eines schlüssels in einem netzwerk und zur aktivierung einer absicherung einer kommunikation in dem netzwerk auf basis des schlüssels
WO2017064025A1 (de) Verfahren zur erzeugung eines geheimnisses oder schlüssels in einem netzwerk
WO2017064129A1 (de) Verfahren zur erzeugung eines geheimnisses für eine einmalverschlüsselung in einem netzwerk
WO2017064125A1 (de) Verfahren zur erzeugung eines geheimnisses oder schlüssels in einem netzwerk
DE102015219989A1 (de) Verfahren und Vorrichtung zur Auffrischung eines gemeinsamen Geheimnisses, insbesondere eines symmetrischen kryptographischen Schlüssels, zwischen einem ersten Knoten und einem zweiten Knoten eines Kommunikationssystems
DE102015219993B4 (de) Verfahren und Vorrichtung zum Erzeugen eines gemeinsamen Geheimnisses vorgegebener Länge
WO2017064131A1 (de) Verfahren zur erzeugung eines geheimnisses oder schlüssels in einem netzwerk
DE102016208448A1 (de) Verfahren zur Erzeugung eines Geheimnisses oder eines Schlüssels in einem Netzwerk
DE102016208452A1 (de) Verfahren zur Erzeugung eines Geheimnisses oder eines Schlüssels in einem Netzwerk
WO2017064002A1 (de) Verfahren und vorrichtung zur erzeugung eines gemeinsamen geheimnisses
DE102015220014A1 (de) Verfahren zur Generierung eines Geheimnisses in einem Netzwerk
DE102016208442A1 (de) Verfahren zur Erzeugung eines Geheimnisses oder eines Schlüssels in einem Netzwerk
DE102016208444A1 (de) Verfahren zur Erzeugung eines Geheimnisses oder eines Schlüssels in einem Netzwerk
WO2017063995A1 (de) Verfahren zur generierung eines geheimnisses oder schlüssels in einem netzwerk
DE102015219991A1 (de) Verfahren und Vorrichtung zum Etablieren eines gemeinsamen Geheimnisses

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