WO2017064075A1 - Circuit arrangement for generating a secret or key in a network - Google Patents

Circuit arrangement for generating a secret or key in a network Download PDF

Info

Publication number
WO2017064075A1
WO2017064075A1 PCT/EP2016/074368 EP2016074368W WO2017064075A1 WO 2017064075 A1 WO2017064075 A1 WO 2017064075A1 EP 2016074368 W EP2016074368 W EP 2016074368W WO 2017064075 A1 WO2017064075 A1 WO 2017064075A1
Authority
WO
WIPO (PCT)
Prior art keywords
subscriber
module
circuit arrangement
communication
transmission
Prior art date
Application number
PCT/EP2016/074368
Other languages
German (de)
French (fr)
Inventor
Florian Hartwich
Timo Lothspeich
Franz Bailer
Christian Horst
Arthur Mutter
Andreas Mueller
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 WO2017064075A1 publication Critical patent/WO2017064075A1/en

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/06Network architectures or network communication protocols for network security for supporting key management in a packet data network
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/08Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
    • H04L9/0816Key establishment, i.e. cryptographic processes or cryptographic protocols whereby a shared secret becomes available to two or more parties, for subsequent use
    • H04L9/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/12Transmitting and receiving encryption devices synchronised or initially set up in a particular manner

Definitions

  • Circuit arrangement for generating a secret or key in a network
  • the present invention relates to a circuit arrangement for the generation of a cryptographic secret in a network, which can be used in particular for the generation of a common, secret key in two participants of the network.
  • Point-to-point connections are also 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.
  • resource constrained nodes such as e.g. Sensors, actuators, or similar, suitable, which usually have only a relatively low computing power and low memory and energy-efficient work, for example due to battery operation or the use of energy harvesting.
  • bandwidth available for data transmission making the replacement of asymmetric keys with lengths of 2048 bits or even more unattractive.
  • the keys are usually stored centrally. testifies. The assignment to individual ECUs takes place in a secure environment z. B. in the factory of the vehicle manufacturer. There, the keys are also activated.
  • 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.
  • the invention is based on a circuit arrangement which has a communication module for communication via a transmission channel as well as a further module which, in order to support the generation of a shared secret between the network participant, comprises Circuitry and another network participant is set up.
  • the secret is thereby generated by a (largely) synchronous transmission of a subscriber value sequence on a common transmission channel between the network subscribers and on the basis of the transmitted subscriber value sequences and the determined superimposition on the transmission channel.
  • the further module supports the generation of the secret, in particular it causes the (largely) synchronous transmission.
  • the hardware realization of the method in a circuit arrangement by using a communication module and the additional module provided specifically for this method enables a reliable and largely tamper-proof implementation while maintaining the necessary latency times.
  • the advantageous combination possibilities shown between the communication module (s) and the other modules enable the developer, when implementing the described methods in a circuit arrangement, to weigh the following points: resource expenditure, flexibility and modularity.
  • An integrated variant of the communication module and the further module has e.g. a low resource requirement.
  • the modularity and flexibility of this solution speak in favor of an alternative combination of separate circuit components for the communication module and the further module.
  • the further module can be combined with different types of communication modules.
  • a combination of the further module with a plurality of communication modules may be particularly advantageous in systems in which the negotiation of a key takes place only rarely and takes little time.
  • the other module can be used as a shared resource. Different combinations or assignments between communication modules and the other modules can therefore be realized.
  • An assignment can be a temporary, logical assignment, but also a temporary or fixed circuit connection.
  • the communication modules then include corresponding communication controller functionality, eg a CAN controller or a LIN controller. Particularly advantageous is a shutdown of the other module when it is not needed, or under certain operating conditions of the system in which the circuit is used, for example, outside as safely defined system states.
  • the underlying methods for generating a secret or a cryptographic key 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 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. If two subscribers now transmit (largely) one signal sequence at a time, the subscribers can detect the resulting overlay on the communication channel.
  • the effective, from the (largely) simultaneous transmission two (independent) signals resulting signal on the communication channel can in turn be assigned to one (or more) specific logical value (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 described methods 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 participants thus follows defined rules, which tion of 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.
  • 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 is a schematic illustration of exemplary signal sequences of two subscribers of a network and a resulting subsequence value sequence on a transmission channel between the subscribers,
  • 4 schematically shows the sequence of an exemplary method for generating a key between two subscribers of a network
  • 5 shows an exemplary communication module as part of a circuit arrangement
  • FIG. 6 shows an exemplary module for generating a secret or key exchange (further module) as part of a circuit arrangement
  • FIG. 7 shows a detail of an exemplary circuit arrangement with an integration of a communication module and a module for generating a secret or for key exchange (further module) in a circuit part
  • FIG. 8 shows a detail of an exemplary circuit arrangement with a communication module and a module for generating a secret or for key exchange (further module) in separate circuit parts and in each case
  • FIG. 9 shows a detail of an exemplary circuit arrangement with several communication modules and a module assigned to these communication modules for generating a secret or for key exchange (further module) in separate circuit parts in each case.
  • the present invention relates to a circuit arrangement, in particular an integrated circuit, e.g. B. a microcontroller, as a network participant.
  • the circuit arrangement is set up to carry out a method for generating a shared secret or (secret) symmetric cryptographic key between two nodes of a communication system (subscriber of a network).
  • the network participants communicate with each other with the support of the circuit 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 subscribers. in the case of a possible listening third party as attacker it is not possible or very difficult to draw conclusions about the generated keys. It is thus possible to fully automatically and securely establish corresponding symmetrical cryptographic keys between two different subscribers of a network in order to then construct specific ones based on them
  • Security functions such as a data encryption or a message authentication to realize.
  • a common secret is first established for this, which can be used to generate the key.
  • a shared secret can in principle also be used for purposes other than cryptographic keys in the strict sense, e.g. as a one-time pad.
  • Such a key generation is possible for a multiplicity of wired or wireless as well as optical networks or communication systems, in particular also those in which the various subscribers communicate with each other via a linear bus and the media access to this bus takes place by means of 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 and CAN-based networks in automation technology.
  • 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 dominant bit e.g., the logical bit '0'
  • a concurrently transmitted recessive bit e.g., 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.
  • Supports discrimination of dominant and recessive bits is a (wired or optical) system based on a bitwise bus arbitration, as used for example in the CAN bus.
  • the basic idea here is also that if, for example, two nodes want to transmit a signal at the same time and one node transmits a '1', whereas the second node transmits a '0' which 'gains''0' (ie the dominant bit) This means that the signal level that can be measured on the bus corresponds to a logical '0'.
  • this mechanism is used in particular for resolving possible collisions, whereby priority messages (ie messages with an earlier, dominant signal level) predominantly overflow -
  • priority messages ie messages with an earlier, dominant signal level
  • Each node while transmitting its CAN identifier, monitors the signal level on the bus bit by bit at the same time. If the node itself transmits a recessive bit but a dominant bit is detected on the bus, the corresponding node aborts its transmission attempt in favor of the higher priority message (with the earlier dominant bit).
  • 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 (i.e., internally and independently) 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 generated in each case as a random or pseudo-random bit sequence, for example with the aid of a suitable random number generator or pseudo random number generator.
  • 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 displayed in step 43 several messages can be transmitted distributed, for example, if this requires the (maximum) sizes of the corresponding messages. In this variant too, the transmission of the correspondingly large number of correspondingly large messages distributed bit sequences of the other subscriber takes place again (largely) synchronously.
  • the two bit sequences then overlap, whereby due to the previously required property of the system with the distinction of dominant and recessive bits, the individual bits of subscriber 1 and subscriber 2 result in an overlay, in the example mentioned de facto AND-linked. This results in a corresponding overlay on the transmission channel, which could detect, for example, a listening third party.
  • Both subscriber 1 and subscriber 2 detect during the transmission of their bit sequences of step 43 in a parallel step 44, the effective (overlaid) bit sequences S e ff on the shared transmission medium.
  • the effective (overlaid) bit sequences S e ff 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 a suitable measurement what it looks like, because, in this case, the node does not send anything, so there are no problems with so-called self-interference, especially in the case of wireless Systems would otherwise require a complex echo cancellation.
  • both subscriber 1 and subscriber 2 also again (largely) synchronously transmit their initial bit sequences STI and ST2, but this time inverted.
  • the synchronization of the corresponding transmissions can again be realized exactly in the same way as described above.
  • the two sequences are then ANDed together again.
  • Subscribers 1 and 2 in turn determine the effective, superimposed bit sequences S e ff on the shared transmission medium.
  • 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), as well as a possible attacker (eg subscriber 3) who overhears the communication on the shared transmission medium, thus know the effective, superimposed bit sequences S e ff and Seff '.
  • participant 1 still knows his initially generated, local bit sequence STI and participant 2 his initially generated, local bit sequence ST2.
  • subscriber 1 in turn does not know the initially generated, local bit sequence of subscriber 2 and subscriber 2 does not know the initially generated, local bit sequence of subscriber 1.
  • the detection of the overlay bit sequence again takes place during the transmission in step 46.
  • subscriber 1 and subscriber 2 can also use their inverted, local bit sequence directly with or directly after their own Sending steps 45 and 46 in steps 43 and 44.
  • the original and the inverted bit sequences can be transmitted in a message as well as 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 (Sges) resulting from the OR operation now indicate whether the corresponding bits of STI and ST2 are identical or different. For example, if the nth bit within S tot is a '0', it means that the nth bit within STI is inverse to the corresponding bit within ST2. Likewise, if the nth bit within Sges is a '1', the corresponding bits within STI and ST2 are identical.
  • Subscriber 1 and subscriber 2 then cancel in step 48 based on the bit sequence S ges obtained from the OR operation in their original, initial bit sequences STI and ST2 all bits which are identical in both sequences. This consequently leads to correspondingly shortened bit sequences.
  • Bits from the common, truncated bit sequence where it must be clearly defined which N bits to take, e.g. by simply selecting the first N bits of the sequence. It is also possible to calculate a hash function via the shared, shortened bit sequence which provides a hash of length N. In general, the rendering can be done with any linear and nonlinear function that returns a N bit length bit sequence when applied to the co-present truncated bit sequence.
  • the mechanism of key generation from the common truncated bit sequence is preferably identical in both subscribers 1 and 2 and is performed accordingly in the same way.
  • 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, for example, the length of the common, shortened bit sequence is, for example, shorter than the desired key length N after a single pass through the described procedure, then one could, for example, generate further bits before the actual key derivation.
  • the generated symmetric key pair can be used by subscriber 1 and subscriber 2 in conjunction with established (symmetric) cryptographic methods, such as ciphers for data encryption.
  • a potential attacker eg subscriber 3 can listen to the public data transmission between subscriber 1 and subscriber 2 and thus gain knowledge of the effective, superposed bit sequences (S e ff and S e ff ') as described. The attacker then only knows which bits in the locally generated bit sequences of nodes 1 and 2 are identical and which are not. In addition, with the identical bits, the attacker can even determine whether it is a '1' or a '0'. For a complete knowledge of the resulting, shortened bit sequence (and thus the basis for key generation), however, he lacks the information about the non-identical bits.
  • 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.
  • FIG. 5 shows a communication module or protocol module.
  • this is a so-called CAN protocol controller module or else a short CAN module.
  • a CAN communication module based on a CAN controller IP Module of Robert Bosch GmbH such as M_CAN, C_CAN or D_CAN or for a LIN bus system a LIN communication module based on a LIN communication controller IP module of Robert Bosch GmbH as C_LIN be used.
  • FIG. 5 shows a CAN module 50 based on the M_CAN-IP.
  • a CAN core 51 executes the communication according to a particular CAN protocol version, e.g. Version 2.0 A, B and ISO 11898-1 and can also support CAN FD. With the connections 503 and 504, the logical CAN transmit or CAN receive connections are designated.
  • the synchronization block 52 synchronizes signals between the two existing clock domains.
  • the module-internal clock is designated 59.
  • Configuration and control block 55 can be used to set CAN core-related configuration and control bits.
  • Block 56 is for interrupt control and the generation of receive and transmit timestamps.
  • the interface 58 serves as a generic slave interface for the possible connection of the CAN
  • the interface 57 serves as a generic master interface access to a message memory, in particular a RAM, via the connection 502.
  • the block 53 corresponds to a Tx handler or send manager, which the Message transfer from an external message store to the CAN core controls. Up to 32 transmit buffers can be configured for transmission. Transmit timestamps are stored with corresponding message IDs.
  • the blocks 531 and 532 in the send manager correspond to a control and configuration block and a send prioritization block, respectively.
  • the Rx handler 54 controls the transmission of received ones
  • the communication module thus comprises a central circuit part (here
  • CAN Core 51 for the protocol-controlled control of communication between a host CPU and an external message memory as well as for protocol-based reception and transmission of messages via the communication system (here via the connections 503 and 504).
  • An interface here master interface 57 and the connection 502 is the module with the external Message store connected.
  • Via another interface here slave interface 58 and the connection 501, the module is connected to the host CPU. It can be implemented as a stand-alone unit, as part of an ASIC or with an FPGA.
  • a module 60 is shown, which in a circuit arrangement of a
  • Subscriber on a network can support this subscriber in the generation of a shared secret with other network subscribers (hereinafter also referred to as "further module”) .
  • the module 60 can thereby provide data or messages to the bus 600, which in a preferred embodiment implemented as a CAN bus.
  • the module 60 has a block 64 for configuring the module via an interface 604, in particular for protocol-specific configurations such as baud rate, IDs, etc. Furthermore, it comprises a block 63 (eg a register) in which a character string, in particular a random number or
  • Block 62 denotes a trigger module, which can be made in a preferred embodiment via the interface 602 to a trigger signal.
  • the trigger module can trigger a trigger signal independently.
  • the module also has transmitters such as the
  • Tx buffer transmit buffer memory
  • the main mode of operation of the module is that, depending on a configuration (indicated by the connection 605 between configuration block 64 and transmission means 61), a random number or pseudo-random number from block 63 is given via connection 606 to the transmission means 61 and via the interface 601 to the CAN Bus 600 is output. This process is triggered (either already the transmission of the number from block 63 to block 61 or at least the transmission of the number from block 61 to bus 600). in particular by a triggering signal through the trigger module 62 via the connection 607 to the transmitting means 61.
  • the latter can also have a memory 65 (in particular a RAM) in which one or more random numbers or pseudorandom numbers are stored, which are output via the transmission means 61 as a function of the trigger signal.
  • a memory 65 in particular a RAM
  • random numbers or pseudorandom numbers are stored, which are output via the transmission means 61 as a function of the trigger signal.
  • These random numbers can also be generated by an optional random number generator (in particular a TRNG) in the module 60.
  • the module 60 can also have receiving means 67, in particular receiving buffer memory 67, which can receive messages or data from the bus 600 via an interface 612. Via an interface 613 between receiving means 67 and trigger block 62, a trigger signal for transmitting data can also be triggered in this embodiment depending on received data. For example, it can be recognized that a random number sequence for secret generation is placed on the bus by another network subscriber (eg via a corresponding message ID) and then the trigger is made by the trigger block 62, that this subscriber also uses the module 60 to carry out a random number sequence (largely) synchronously with the transmission of the random number sequence by the other network participant on the bus.
  • receiving means 67 in particular receiving buffer memory 67
  • a trigger signal for transmitting data can also be triggered in this embodiment depending on received data. For example, it can be recognized that a random number sequence for secret generation is placed on the bus by another network subscriber (eg via a corresponding message ID) and then the trigger is made by the trigger block 62, that this subscriber also uses
  • error states of the module 60 can be stored and these are also reported via an interface 608 to external or retrieved from external.
  • the module 60 may also have a circuit part 69 for dynamic message generation.
  • the latter can receive a random number or pseudorandom number via an interface 609 and, depending on this, generate a message and forward it to the transmission means 61 via the connection 610.
  • the message is intended for largely synchronous transmission of random numbers with another network participant in order to generate a shared secret between the network participants as described above.
  • a circuit arrangement in particular a microcontroller
  • the communication module and the further module are integrated in a circuit part. This is shown by way of example in FIG. 7.
  • Communication module and another module are integrated here in the circuit part 70 of the circuit arrangement.
  • the functions described above for the further module are additionally integrated in a communication module or protocol module.
  • the communication module with additional functions 70 is connected via a connection 72 to a host interface 71 to the host (computing unit of the circuit arrangement or host CPU of the microcontroller) and via receiving or transmitting interface 74 or 75 to a bus system.
  • Interface 73 denotes a secure interface, e.g. to a
  • Hardware security module of the circuit arrangement or of the microcontroller is
  • FIG. 8 shows an alternative advantageous embodiment of the combination of a communication module with another module for secret generation in a circuit arrangement.
  • a communication module 810 and another module 820 are combined as separate circuit parts. They each have a connection 801 or 802 to the host interface 800.
  • the communication module has a transmission interface 812 and a reception interface 811, the further module via a transmission interface 822 and a reception interface 823.
  • the receive interfaces 811 and 823 may be merged together. This may in particular mean that the received signals are divided from a common receiving line, for example by Time Division Multiplex.
  • a duplication takes place for the received signal, so that the same received signal is transmitted via the connection 811 to the communication module 810 and via the connection 823 to the further module 820 becomes.
  • the transmit interfaces 812 and 822 may also be merged.
  • the communication module 810 may configure the further module 820 via a connection 814. Via a connection 815, the communication module 810 may also trigger the further module 820 also to initiate the subscriber sequence for
  • FIG. 9 shows three communication modules 910, 920, 930 as well as a further module 990.
  • the receive and transmit interface 991 of the further module is via a mux / demux block 980 receive / transmit controls (Rx / Tx
  • Controls 940, 950, 960 assigned. Each of these controllers 940, 950 and 960 is in turn also each assigned to a receive and transmit interface 911, 921 and 931 of the communication modules 910, 920 and 930, respectively.
  • the communication modules 910, 920, 930 and the further module 990 are connected to the host interface 900 via connections 912, 922, 932 and 992, respectively. Similar to that described with reference to FIG. 8, the communication modules 910, 920 and 930, respectively, can configure and trigger the further module 990 via configuration and trigger connections 915, 925 and 935, respectively. For this purpose, the configuration and trigger connections 915, 925 and 935 via multiplexer MUX and connections 901 and 902 are assigned to the further module 990.
  • Communication module 910, 920 or 930 and further module 990 via these multiplexers MUX or the mux / demux block 980 is controlled via the allocation controller 970 and via the connections 971, 972 and 981, respectively.
  • the control is done e.g. from a central processing unit of the circuit arrangement, e.g. a CPU of a microcontroller.
  • the assignment could also be requested by one of the communication modules themselves, an arbiter then allocates the further module.
  • the exemplary assignment 1: 3 from FIG. 9 can also be used to assign a different number n> 1 of communication modules to a further module with appropriate scaling.
  • Corresponding circuit arrangements can then have 1 further module and n assigned communication modules.
  • the number of further modules is also scalable, so m> l further modules could be flexibly assigned to n> 1 communication modules.
  • several other modules could also be assigned to a communication module.
  • a further module can then preferably request a communication module, an arbiter makes the allocation.
  • This configuration of another module with multiple communication modules could be useful, for example, in a design in which a circuit arrangement such as a microcontroller has multiple communication interfaces that are used only for negotiating new keys.
  • the keys obtained could be used for communication via further communication interfaces. This is possible because the negotiation of a key is rare and the negotiation and the active circuit itself only take a little time. If such an assignment of a further module to a plurality of communication modules is realized, then this further module can also contain, for example, configuration registers which can likewise be used for configurations of the communication modules.
  • Two mutually associated modules must be able to send and receive messages on the same transmission channel or bus.
  • a) Merge Tx signals The two Tx signals are merged (bus emulation by simple AND operation). The resulting (linked) Tx signal is fed to the transceiver.
  • the communication module and the further module have simultaneous access to the bus.
  • the big advantage here is that both modules are always connected to the bus and can arbitrate against each other (eg CAN bus arbitration).
  • Time division multiplexing Tx signals The two Tx signals are connected in time multiplex on the transceiver.
  • each module has its own transceiver: both modules have their own dedicated transceiver. The transceiver of the communication module and the transceiver of the other module are connected to the same bus.
  • the further module partly participates in the bus communication. Therefore, it also requires bus protocol-specific settings as well as the communication module.
  • bus protocol-specific settings for the configuration of the further module there are different alternatives. These can be freely combined with the various assignment combinations described above between the communication module and the further module.
  • the further module contains configuration registers for the protocol-specific settings. This allows a modular, simple design. The complexity of the configuration is shifted to the software.
  • the further module receives the settings from the assigned communication module. For this purpose, a wiring of the configuration signals may be sufficient. This possibility is shown in FIGS. 8 and 9 as an option. If the further module is assigned to several communication modules, e.g. a multiplexer can be used to select the appropriate configuration signals. An advantage of this variant is that the further module is always configured the same as the assigned communication module, this avoids configuration errors.
  • the further module can be triggered by another network subscriber via the common communication connection or the common bus.
  • This allows the other modules of the respective network participants their Transfer messages with the subscriber value sequences (largely) synchronously on the communication link. Triggering takes place, for example, by sending a special trigger message or implicitly by sending the message with the subscriber value sequence (in this case, the message ID can then act as a trigger, for example).
  • the further module triggers itself or is executed by software, i. e.g. via a host computing unit of the circuitry, e.g. triggered a host CPU of a microcontroller.
  • the further module is triggered by the assigned communication module. This requires a trigger line from the communication module to the other module. If the further module is assigned to several communication modules, e.g. a multiplexer can be used to select the appropriate trigger line. This possibility is shown in FIGS. 8 and 9 as an option.
  • the overall system eg a car with a communication network
  • V ⁇ X with a given maximum speed X or communication network below a certain load threshold

Abstract

A circuit arrangement, particularly a microcontroller, is presented. In this case, the circuit arrangement comprises at least one communication module for the communication of the circuit arrangement as a first network subscriber with at least one second network subscriber via a transmission channel, particularly a bus connection. The circuit arrangement has at least one further module for generating a secret that is shared with the second network subscriber for key generation. In this case, the circuit arrangement is set up to use the further module to prompt a transmission of a first value sequence on the transmission channel at least in part in sync with a transmission of a second value sequence by the second network subscriber and to ascertain the secret for the key generation on the basis of the first value sequence and on the basis of the value sequence that results on the transmission channel during the synchronous transmission of the first value sequence and the second value sequence.

Description

Beschreibung  description
Schaltungsanordnung zur Erzeugung eines Geheimnisses oder Schlüssels in ei- nem Netzwerk Circuit arrangement for generating a secret or key in a network
Technisches Gebiet Technical area
Die vorliegende Erfindung betrifft eine Schaltungsanordnung für die Erzeugung eines kryptographischen Geheimnisses in einem Netzwerk, das insbesondere für die Generierung eines gemeinsamen, geheimen Schlüssels in zwei Teilnehmern des Netzwerks eingesetzt werden kann. 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 logi- sehe 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 ei- nes Teilnehmers des Netzwerks gegen rezessive Signale bzw. Bits durchsetzt.The present invention relates to a circuit arrangement for the generation of a cryptographic secret in a network, which can be used in particular for the generation of a common, secret key in two participants of the network. Point-to-point connections are also usually counted as networks and should also be addressed here with this term. The two participants communicate via a shared transmission medium. In this case, logical bit sequences (or, more generally, value sequences) are transmitted physically by means of corresponding transmission methods as signals or signal sequences. The underlying communication system may e.g. be a CAN bus. This provides for transmission of dominant and recessive bits or correspondingly dominant and recessive signals, whereby a dominant signal or bit of a participant of the network intersperses against recessive signals or bits.
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. A state corresponding to the recessive signal adjusts itself to the transmission medium only if all participants involved provide a recessive signal for transmission or if all participants transmitting at the same time transmit a recessive signal level.
Stand der Technik State of the art
Eine sichere Kommunikation zwischen verschiedenen Geräten wird in einer zunehmend vernetzten Welt immer wichtiger und stellt in vielen Anwendungsberei- chen eine wesentliche Voraussetzung für die Akzeptanz und somit auch den wirtschaftlichen Erfolg der entsprechenden Anwendungen dar. Dies umfasst - je nach Anwendung - verschiedene Schutzziele, wie beispielsweise die Wahrung der Vertraulichkeit der zu übertragenden Daten, die gegenseitige Authentifizierung der beteiligten Knoten oder die Sicherstellung der Datenintegrität. Zur Erreichung dieser Schutzziele kommen üblicherweise geeignete kryptogra- phische Verfahren zum Einsatz, die man generell in zwei verschiedene Kategorien unterteilen kann: Zum einen symmetrische Verfahren, bei denen Sender und Empfänger über denselben kryptographischen Schlüssel verfügen, zum anderen asymmetrische Verfahren, bei denen der Sender die zu übertragenden Daten mit dem öffentlichen (d.h. auch einem potenziellen Angreifer möglicherweise bekannten) Schlüssel des Empfängers verschlüsselt, die Entschlüsselung aber nur mit dem zugehörigen privaten Schlüssel erfolgen kann, der idealerweise nur dem Empfänger bekannt ist. Secure communication between different devices is becoming more and more important in an increasingly networked world and is an essential prerequisite for the acceptance and thus economic success of the corresponding applications in many areas of application. This includes various protection goals, depending on the application maintaining the confidentiality of the data to be transferred, mutual authentication of the nodes involved, or ensuring data integrity. In order to achieve these protection goals, suitable cryptographic methods are usually used, which can generally be subdivided into two different categories: first, symmetric methods, in which the sender and receiver have the same cryptographic key, and, on the other hand, asymmetrical methods in which the sender uses the data to be transmitted is encrypted with the public (ie possibly also known to a potential attacker) key of the recipient, but the decryption can be done only with the associated private key, which is ideally known only to the recipient.
Asymmetrische Verfahren haben unter anderem den Nachteil, dass sie in der Regel eine sehr hohe Rechenkomplexität aufweisen. Damit sind sie nur bedingt für ressourcenbeschränkte Knoten, wie z.B. Sensoren, Aktuatoren, o.ä., geeignet, die üblicherweise nur über eine relativ geringe Rechenleistung sowie gerin- gen Speicher verfügen und energieeffizient arbeiten sollen, beispielsweise aufgrund von Batteriebetrieb oder dem Einsatz von Energy Harvesting. Darüber hinaus steht oftmals nur eine begrenzte Bandbreite zur Datenübertragung zur Verfügung, was den Austausch von asymmetrischen Schlüsseln mit Längen von 2048 Bit oder noch mehr unattraktiv macht. One of the disadvantages of asymmetric methods is that they usually have a very high computational complexity. Thus, they are only conditionally for resource constrained nodes, such as e.g. Sensors, actuators, or similar, suitable, which usually have only a relatively low computing power and low memory and energy-efficient work, for example due to battery operation or the use of energy harvesting. In addition, there is often limited bandwidth available for data transmission, making the replacement of asymmetric keys with lengths of 2048 bits or even more unattractive.
Bei symmetrischen Verfahren hingegen muss gewährleistet sein, dass sowohl Empfänger als auch Sender über den gleichen Schlüssel verfügen. Das zugehörige Schlüsselmanagement stellt dabei generell eine sehr anspruchsvolle Aufgabe dar. Im Bereich des Mobilfunks werden Schlüssel beispielsweise mit Hilfe von SIM-Karten in ein Mobiltelefon eingebracht und das zugehörige Netz kann dann der eindeutigen Kennung einer SIM- Karte den entsprechenden Schlüssel zuordnen. Im Fall von Wireless LANs hingegen erfolgt üblicherweise eine manuelle Eingabe der zu verwendenden Schlüssel (in der Regel durch die Eingabe eines Passwortes) bei der Einrichtung eines Netzwerkes. Ein solches Schlüsselma- nagement wird allerdings schnell sehr aufwändig und impraktikabel wenn man eine sehr große Anzahl von Knoten hat, beispielsweise in einem Sensornetzwerk oder anderen Maschine-zu-Maschine-Kommunikationssystemen, z.B. auch CAN- basierten Fahrzeugnetzwerken. Darüber hinaus ist eine Änderung der zu verwendenden Schlüssel oftmals überhaupt nicht bzw. nur mit sehr großem Auf- wand möglich. Bei aktuellen Verfahren werden die Schlüssel meist zentral er- zeugt. Die Zuordnung zu einzelnen Steuergeräten erfolgt in sicherer Umgebung z. B. im Werk des Fahrzeugherstellers. Dort werden die Schlüssel auch aktiv geschaltet. For symmetric methods, however, it must be ensured that both the receiver and the transmitter have the same key. The associated key management generally represents a very demanding task. In the area of mobile telephony, for example, keys are inserted into a mobile telephone with the aid of SIM cards, and the associated network can then assign the corresponding key to the unique identifier of a SIM card. In the case of wireless LANs, on the other hand, a manual entry of the keys to be used (usually by entering a password) usually takes place when setting up a network. However, such key management quickly becomes very complex and impractical if one has a very large number of nodes, for example in a sensor network or other machine-to-machine communication systems, eg also CAN-based vehicle networks. In addition, changing the keys to be used is often not possible or only possible with great effort. In current procedures, the keys are usually stored centrally. testifies. The assignment to individual ECUs takes place in a secure environment z. B. in the factory of the vehicle manufacturer. There, the keys are also activated.
Verfahren zur Absicherung von Sensordaten gegen Manipulation und die Sicherstellung einer Transaktionsauthentifizierung, z.B. in einem Kraftfahrzeugnetzwerk, mit Hilfe gängiger Verschlüsselungsverfahren sind z.B. in der DE Method for securing sensor data against tampering and ensuring transaction authentication, e.g. in a motor vehicle network, by means of common encryption methods, e.g. in the DE
102009002396 AI und in der DE 102009045133 AI offenbart. 102009002396 AI and in DE 102009045133 AI discloses.
Seit einiger Zeit werden zudem unter dem Schlagwort„Physical Layer Security" neuartige Ansätze untersucht und entwickelt, mit Hilfe derer Schlüssel für symmetrische Verfahren automatisch auf der Grundlage physikalischer Eigenschaften der Übertragungskanäle zwischen den involvierten Knoten erzeugt werden können. Dabei nutzt man die Reziprozität und die inhärente Zufälligkeit dieser Übertragungskanäle aus. Insbesondere bei drahtgebundenen oder optischen Systemen ist dieser Ansatz oftmals allerdings nur bedingt geeignet, da entsprechende Kanäle üblicherweise nur eine sehr eingeschränkte zeitliche Variabilität aufweisen und ein Angreifer beispielsweise mit Hilfe einer Modellbildung relativ gut Rückschlüsse auf die Kanalparameter zwischen dem Sender und dem Empfänger ziehen kann. Derartige Verfahren für eine abgesicherte Kommunikation in einem verteilten System auf Basis von Kanaleigenschaften der verbundenen Einheiten sind beispielsweise in den nicht vorveröffentlichten Anmeldungen DE 10 2014 208975 AI sowie DE 10 2014 209042 AI beschrieben. For some time now, the term "physical layer security" has been used to investigate and develop novel approaches that can be used to automatically generate keys for symmetric algorithms based on physical properties of the transmission channels between the nodes involved, using reciprocity and the inherent However, in the case of wired or optical systems in particular, this approach is often only suitable to a limited extent since corresponding channels usually have only a very limited temporal variability and an attacker can draw conclusions about the channel parameters between the transmitter and the receiver relatively well, for example by means of modeling Such methods for secured communication in a distributed system based on channel characteristics of the connected units are not previously published in, for example, US Pat DE Applicants DE 10 2014 208975 AI and DE 10 2014 209042 AI described.
Die nicht vorveröffentlichte DE 10 2015 207220 AI offenbart ein Verfahren zur Erzeugung eines gemeinsamen Geheimnisses bzw. eines geheimen, symmetrischen Schlüssels mittels öffentlicher Diskussion zwischen zwei Kommunikationsteilnehmern. 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.
Offenbarung der Erfindung Disclosure of the invention
Die Erfindung geht aus von einer Schaltungsanordnung, welche über ein Kommunikationsmodul zur Kommunikation über einen Übertragungskanal sowie über ein weiteres Modul verfügt, das zur Unterstützung der Generierung eines gemeinsamen Geheimnisses zwischen dem Netzwerkteilnehmer umfassend die Schaltungsanordnung und einem weiteren Netzwerkteilnehmer eingerichtet ist. Das Geheimnis wird dabei generiert durch eine (weitgehend) synchrone Übertragung einer Teilnehmerwertfolge auf einem gemeinsamen Übertragungskanal zwischen den Netzwerkteilnehmer und auf Basis der gesendeten Teilnehmerwertfolgen und der festgestellten Überlagerung auf dem Übertragungskanal ermittelt. Das weitere Modul unterstützt die Generierung des Geheimnisses, insbesondere veranlasst es die (weitgehend) synchrone Übertragung. The invention is based on a circuit arrangement which has a communication module for communication via a transmission channel as well as a further module which, in order to support the generation of a shared secret between the network participant, comprises Circuitry and another network participant is set up. The secret is thereby generated by a (largely) synchronous transmission of a subscriber value sequence on a common transmission channel between the network subscribers and on the basis of the transmitted subscriber value sequences and the determined superimposition on the transmission channel. The further module supports the generation of the secret, in particular it causes the (largely) synchronous transmission.
Die Hardwarerealisierung des Verfahrens in einer Schaltungsanordnung durch Einsatz eines Kommunikationsmoduls sowie des spezifisch für diese Verfahren vorgesehenen weiteren Moduls ermöglicht eine zuverlässige und weitgehend manipulationssichere Umsetzung unter Einhaltung der nötigen Latenzzeiten. The hardware realization of the method in a circuit arrangement by using a communication module and the additional module provided specifically for this method enables a reliable and largely tamper-proof implementation while maintaining the necessary latency times.
Die aufgezeigten vorteilhaften Kombinationsmöglichkeiten zwischen Kommunika- tionsmodul(en) und den weiteren Modulen ermöglichen dem Entwickler, bei der Realisierung der beschriebenen Verfahren in einer Schaltungsanordnung zwischen folgenden Dingen abzuwägen: Ressourcenaufwand, Flexibilität und Modu- larität. The advantageous combination possibilities shown between the communication module (s) and the other modules enable the developer, when implementing the described methods in a circuit arrangement, to weigh the following points: resource expenditure, flexibility and modularity.
Eine integrierte Variante von Kommunikationsmodul und dem weiterem Modul hat z.B. einen geringen Ressourcenbedarf. Für eine alternative Kombination separater Schaltungsteile für Kommunikationsmodul und dem weiterem Modul sprechen die Modularität und Flexibilität dieser Lösung. Das weitere Modul kann mit verschiedenen Typen von Kommunikationsmodulen kombiniert werden. Eine Kombination des weiteren Moduls mit mehreren Kommunikationsmodulen kann besonders in Systemen vorteilhaft sein, in denen das Aushandeln eines Schlüssels nur selten erfolgt und nur wenig Zeit in Anspruch nimmt. Dort kann das weitere Modul als geteilte Ressource eingesetzt werden. Es können also verschiedene Kombinationen oder Zuordnungen zwischen Kommunikationsmodulen und den weiteren Modulen realisiert werden. Eine Zuordnung kann dabei eine zeitweise, logische Zuordnung sein, aber auch eine zeitweise oder feste schaltungstechnische Verbindung. An integrated variant of the communication module and the further module has e.g. a low resource requirement. The modularity and flexibility of this solution speak in favor of an alternative combination of separate circuit components for the communication module and the further module. The further module can be combined with different types of communication modules. A combination of the further module with a plurality of communication modules may be particularly advantageous in systems in which the negotiation of a key takes place only rarely and takes little time. There, the other module can be used as a shared resource. Different combinations or assignments between communication modules and the other modules can therefore be realized. An assignment can be a temporary, logical assignment, but also a temporary or fixed circuit connection.
Eine vorteilhafte, weil einfach zu realisierende Umsetzung der vorgestellten Schaltungsanordnungen und Verfahren ist für CAN-, TTCAN-, CAN FD-, LIN der I2C- Bussysteme mit dominanten und rezessiven Buspegeln möglich. Die Kommunikationsmodule umfassen dann entsprechende Kommunikationscontroller-Funktionalität, z.B. einen CAN-Controller oder einen LIN-Controller. Besonders vorteilhaft ist eine Abschaltung des weiteren Moduls, wenn es nicht benötigt wird, bzw. unter bestimmten Betriebsbedingungen des Systems, in welchem die Schaltungsanordnung eingesetzt wird, z.B. außerhalb als sicher definierter Systemzustände. An advantageous, because easy to implement implementation of the presented circuit arrangements and methods is for CAN, TTCAN, CAN FD, LIN the I2C bus systems with dominant and recessive bus levels possible. The communication modules then include corresponding communication controller functionality, eg a CAN controller or a LIN controller. Particularly advantageous is a shutdown of the other module when it is not needed, or under certain operating conditions of the system in which the circuit is used, for example, outside as safely defined system states.
Die zugrunde liegenden Verfahren zur Generierung eines Geheimnisses bzw. eines kryptographischen Schlüssels erfordern keinerlei manuellen Eingriff und ermöglichen somit den automatisierten Aufbau sicherer Kommunikationsbeziehungen bzw. -Verbindungen zwischen zwei Knoten. Zudem weisen die Verfahren eine sehr geringe Komplexität auf, insbesondere hinsichtlich der erforderlichen Hardwareauslegung, wie z.B. der benötigten Speicherressourcen und Rechenleistung, und sie gehen mit einem geringen Energie- und Zeitbedarf einher. Darüber hinaus bieten die Verfahren sehr hohe Schlüsselgenerierungsraten bei gleichzeitig sehr kleiner Fehlerwahrscheinlichkeit. The underlying methods for generating a secret or a cryptographic key do not require any manual intervention and thus enable the automated establishment of secure communication relationships between two nodes. In addition, the methods have a very low complexity, in particular with regard to the required hardware design, such as e.g. the required memory resources and computing power, and they are associated with a low energy and time requirements. In addition, the methods offer very high key generation rates with a very low probability of error.
Dabei gehen die Verfahren davon aus, dass Teilnehmer in einem Netzwerk über einen Kommunikationskanal miteinander kommunizieren. Sie übertragen dabei insbesondere logische Wertfolgen, (falls es sich um binäre Logik handelt, Bitfolgen) mit Hilfe von physikalischen Signalen auf dem Übertragungskanal. Auch wenn mögliche Überlagerungen auf dem Übertragungskanal durch die Signale, also auf der physikalischen Ebene, stattfinden, wird in der Beschreibung im Folgenden vorranging die logische Ebene betrachtet. Es werden somit die übertragenen, logischen Wertfolgen sowie deren logische Überlagerung betrachtet. The methods assume that participants in a network communicate with each other via a communication channel. In particular, they transfer logical sequences of values (in the case of binary logic, bit sequences) with the aid of physical signals on the transmission channel. Even if possible superimpositions take place on the transmission channel through the signals, that is to say on the physical level, in the description below the logical level is primarily considered. Thus, the transferred, logical value sequences as well as their logical overlay are considered.
Teilnehmer des Netzwerks können somit erste Signale (die beispielsweise dem logischen Bit„1" zugeordnet sind) und zweite Signale (die beispielsweise dem logischen Bit„0" zugeordnet sind) auf den Kommunikationskanal geben und resultierende Signale auf dem Kommunikationskanal detektieren. Übertragen nun zwei Teilnehmer (weitgehend) gleichzeitig jeweils eine Signalfolge, so können die Teilnehmer die daraus resultierende Überlagerung auf dem Kommunikationska- nal 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. 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. If two subscribers now transmit (largely) one signal sequence at a time, the subscribers can detect the resulting overlay on the communication channel. The effective, from the (largely) simultaneous transmission two (independent) signals resulting signal on the communication channel can in turn be assigned to one (or more) specific logical value (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.
Die Überlagerung kann dabei durch Arbitrierungsmechanismen oder durch physikalische Signalüberlagerung bestimmt sein. Mit Arbitrierungsmechanismus ist beispielsweise der Fall gemeint, dass ein Knoten einen rezessiven Pegel anlegen möchte, aber auf dem Bus einen dominanten Pegel detektiert und somit die Übertragung unterlässt. In diesem Fall kommt es zu keiner physikalischen Überlagerung zweier Signale, sondern es ist nur das dominante Signal auf dem Übertragungskanal zu sehen. The superimposition can be determined by arbitration mechanisms or by physical signal superposition. By arbitration mechanism is meant, for example, the case that a node wants to apply a recessive level, but detects a dominant level on the bus and thus omits the transmission. In this case, there is no physical interference between two signals, but only the dominant signal is seen on the transmission channel.
Aus der resultierenden Wertfolge der Überlagerung und der eigenen Wertfolge können die Teilnehmer dann einen Schlüssel generieren, der einem außenstehenden Angreifer gegenüber geheim ist. Grund dafür ist, dass der außenstehende Angreifer, der beispielsweise die auf dem gemeinsam genutzten Übertragungsmedium anliegenden effektiven Gesamtsignale abhören kann, nur die Überlagerung der Wertfolgen sieht, aber nicht die Informationen über die einzelnen Wertfolgen der Teilnehmer hat. Damit verfügen die Teilnehmer über mehr Informationen, die sie gegenüber dem Angreifer zur Generierung eines geheimen Schlüssels nutzen können. From the resulting value sequence of the overlay and its own value sequence, the participants can then generate a key that is secret to an outside attacker. The reason for this is that the outside attacker, who can listen to the effective overall signals applied to the shared transmission medium, sees only the superimposition of the value sequences, but does not have the information about the individual value sequences of the participants. Thus, the participants have more information that they can use against the attacker to generate a secret key.
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 Ablei- tung von Informationen aus dem überlagerten Wert bzw. Signal und dem von ihnen übertragenen Wert bzw. Signal nutzen können. Auch für weitere Kommunikationssysteme wie LIN und I2C sind die Verfahren gut geeignet. The described methods can be implemented particularly well in a CAN, TTCAN or CAN FD bus system. Here, a recessive bus level is replaced by a dominant bus level. The superimposition of values or signals of the participants thus follows defined rules, which tion of 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.
Während das Verfahren für zwei Teilnehmer in einem Netzwerk beschrieben wurde, kann auch bereits durch einen Teilnehmer eines Netzwerks ein geheimer Schlüssel aus einer eigenen Signalfolge und aus einer Überlagerung dieser mit der Signalfolge eines zweiten Teilnehmers abgeleitet werden. Ein Netzwerk oder ein Teilnehmer eines Netzwerks sind hierzu eingerichtet, indem sie über elektronische Speicher- und Rechenressourcen verfügen, die Schritte eines entsprechenden Verfahrens auszuführen. Auf einem Speichermedium eines solchen Teilnehmers oder auf den verteilten Speicherressourcen eines Netzwerks kann auch ein Computerprogramm abgelegt sein, dass dazu eingerichtet ist, alle Schritte eines entsprechenden Verfahrens auszuführen, wenn es in dem Teilnehmer oder in dem Netzwerk abgearbeitet wird. While the method has been described for two subscribers in a network, even a subscriber of a network can already derive a secret key from his own signal sequence and from an overlay of this with the signal sequence of a second subscriber. A network or subscriber to a network is set up to do this by having electronic memory and computational resources to perform the steps of a corresponding method. Also stored on a storage medium of such a user or on the distributed storage resources of a network may be a computer program configured to perform all the steps of a corresponding method when executed in the subscriber or in the network.
Zeichnungen drawings
Nachfolgend ist die Erfindung unter Bezugnahme auf die beiliegenden Zeichnungen und anhand von Ausführungsbeispielen näher beschrieben. Dabei zeigen The invention is described in more detail below with reference to the accompanying drawings and to exemplary embodiments. Show
Fig. 1 schematisch den Aufbau eines beispielhaften, zugrundeliegenden Kommunikationssystems, 1 schematically shows the structure of an exemplary, underlying communication system,
Fig. 2 schematisch einen linearen Bus als Beispiel eines zugrundeliegenden Kommunikationssystems, 2 schematically shows a linear bus as an example of an underlying communication system,
Fig. 3 schematisch beispielhafte Signalfolgen zweier Teilnehmer eines Netzwerks sowie eine resultierende Überlagerungswertfolge auf einem Übertragungskanal zwischen den Teilnehmern, 3 is a schematic illustration of exemplary signal sequences of two subscribers of a network and a resulting subsequence value sequence on a transmission channel between the subscribers,
Fig. 4 schematisch den Ablauf eines beispielhaften Verfahrens zur Schlüsselge- nerierung zwischen zwei Teilnehmern eines Netzwerks, Fig. 5 ein beispielhaftes Kommunikationsmodul als Teil einer Schaltungsanordnung, 4 schematically shows the sequence of an exemplary method for generating a key between two subscribers of a network, 5 shows an exemplary communication module as part of a circuit arrangement,
Fig. 6 ein beispielhaftes Modul zur Generierung eines Geheimnisses bzw. zum Schlüsselaustausch (weiteres Modul) als Teil einer Schaltungsanordnung, 6 shows an exemplary module for generating a secret or key exchange (further module) as part of a circuit arrangement,
Fig. 7 einen Ausschnitt aus einer beispielhaften Schaltungsanordnung mit einer Integration eines Kommunikationsmoduls und eines Moduls zur Generierung eines Geheimnisses bzw. zum Schlüsselaustausch (weiteres Modul) in einem Schaltungsteil, 7 shows a detail of an exemplary circuit arrangement with an integration of a communication module and a module for generating a secret or for key exchange (further module) in a circuit part,
Fig. 8 einen Ausschnitt aus einer beispielhaften Schaltungsanordnung mit einem Kommunikationsmodul und einem Modul zur Generierung eines Geheimnisses bzw. zum Schlüsselaustausch (weiteres Modul) in jeweils separaten Schaltungsteilen und 8 shows a detail of an exemplary circuit arrangement with a communication module and a module for generating a secret or for key exchange (further module) in separate circuit parts and in each case
Fig. 9 einen Ausschnitt aus einer beispielhaften Schaltungsanordnung mit mehre ren Kommunikationsmodulen und einem diesen Kommunikationsmodulen zugeordnetem Modul zur Generierung eines Geheimnisses bzw. zum Schlüsselaustausch (weiteres Modul) in jeweils separaten Schaltungsteilen. 9 shows a detail of an exemplary circuit arrangement with several communication modules and a module assigned to these communication modules for generating a secret or for key exchange (further module) in separate circuit parts in each case.
Beschreibung der Ausführungsbeispiele Die vorliegende Erfindung bezieht sich auf eine Schaltungsanordnung, insbesondere einen integrierten Schaltkreis, z. B. einen Mikrocontroller, als Netzwerkteilnehmer. Die Schaltungsanordnung ist dabei dazu eingerichtet, ein Verfahren zur Generierung eines gemeinsamen Geheimnisses bzw. (geheimer) symmetrischer kryptographischer Schlüssel zwischen zwei Knoten eines Kommunikationssys- tems (Teilnehmer eines Netzwerkes) durchzuführen. Die Netzwerkteilnehmer kommunizieren dabei miteinander mit Unterstützung der Schaltungsanordnung über ein gemeinsam genutztes Medium (Übertragungskanal des Netzwerks). DESCRIPTION OF THE EXEMPLARY EMBODIMENTS The present invention relates to a circuit arrangement, in particular an integrated circuit, e.g. B. a microcontroller, as a network participant. The circuit arrangement is set up to carry out a method for generating a shared secret or (secret) symmetric cryptographic key between two nodes of a communication system (subscriber of a network). The network participants communicate with each other with the support of the circuit via a shared medium (transmission channel of the network).
Die Generierung bzw. Aushandlung der kryptographischen Schlüssel basiert dabei auf einem öffentlichen Datenaustausch zwischen den zwei Teilnehmern, wo- bei 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. Es ist 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 bestimmteThe generation or negotiation of the cryptographic keys is based on a public data exchange between the two subscribers. in the case of a possible listening third party as attacker it is not possible or very difficult to draw conclusions about the generated keys. It is thus possible to fully automatically and securely establish corresponding symmetrical cryptographic keys between two different subscribers of a network in order to then construct specific ones based on them
Sicherheitsfunktionen, wie z.B. eine Datenverschlüsselung oder eine Nachrich- tenauthentisierung, zu realisieren. Wie im Detail noch beschrieben wird hierzu zunächst ein gemeinsames Geheimnis etabliert, welches zur Schlüsselgenerie- rung herangezogen werden kann. Ein solches gemeinsames Geheimnis kann aber grundsätzlich auch zu anderen Zwecken als für kryptographische Schlüssel im engeren Sinne genutzt werden, z.B. als One-Time-Pad. Security functions, such as a data encryption or a message authentication to realize. As will be described in detail, a common secret is first established for this, which can be used to generate the key. However, such a shared secret can in principle also be used for purposes other than cryptographic keys in the strict sense, e.g. as a one-time pad.
Eine solche Schlüsselgenerierung ist dabei möglich für eine Vielzahl drahtgebundener oder drahtloser sowie auch optischer Netzwerke bzw. Kommunikationssys- teme, 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. Such a key generation is possible for a multiplicity of wired or wireless as well as optical networks or communication systems, in particular also those in which the various subscribers communicate with each other via a linear bus and the media access to this bus takes place by means of 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 and CAN-based networks in automation technology.
Mit dem beschriebenen Ansatz können automatisiert symmetrische kryptographische Schlüssel in einem, bzw. insbesondere zwischen zwei Knoten eines Netzwerks generiert werden. Diese Generierung erfolgt dabei unter Ausnutzung von Eigenschaften der entsprechenden Übertragungsschicht. Anders als bei den gängigen Ansätzen der„Physical Layer Security" werden dafür aber nicht physikalische Parameter des Übertragungskanals wie Übertragungsstärke etc. ausgewertet. Vielmehr gibt es dazu einen öffentlichen Datenaustausch zwischen den beteiligten Knoten, der dank der Eigenschaften des Kommunikationssystems und/oder des verwendeten Modulationsverfahrens einem möglichen lauschenden Angreifer keine, bzw. keine ausreichenden Rückschlüsse auf den daraus ausgehandelten Schlüssel ermöglicht. Im Folgenden wird eine Anordnung betrachtet, wie sie abstrakt in Fig. 1 dargestellt ist. Dabei können verschiedene Teilnehmer 2, 3 und 4 über ein so genanntes geteiltes Übertragungsmedium C,shared medium") 10 miteinander kommunizieren. In einer vorteilhaften Ausprägung der Erfindung entspricht dieses geteilte Ü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. With the described approach, automatically symmetric cryptographic keys can be generated in one, or in particular between two nodes of a network. This generation takes place by exploiting properties of the corresponding transfer layer. Unlike the usual approaches of "physical layer security" but not physical parameters of the transmission channel such as transmission strength are evaluated .. Rather, there is a public data exchange between the nodes involved, thanks to the characteristics of the communication system and / or the modulation method used a possible listening attacker no, or no sufficient conclusions on the negotiated key allows. The following is an arrangement as shown in FIG. 1 in the abstract. Different subscribers 2, 3 and 4 can communicate with one another via a so-called shared transmission medium C, shared medium 10. In an advantageous embodiment of the invention, this divided transmission medium corresponds to a linear bus (wired or optical) 30, as shown by way of example in FIG The network 20 in Figure 2 consists of this linear bus 30 as a shared transmission medium (e.g., a wireline transmission channel), nodes 21, 22 and 23, and (optional) bus terminations 31 and 32.
Im Folgenden wird für die Kommunikation zwischen den verschiedenen Knoten 21, 22 und 23 angenommen, dass sie durch die Unterscheidung von dominanten und rezessiven Werten gekennzeichnet ist. In diesem Beispiel werden als mögliche Wert die Bits„0" und„1" angenommen. Dabei kann ein dominantes Bit (z.B. das logische Bit ,0') ein gleichzeitig übertragenes rezessives Bit (z.B. das logische Bit ,1') quasi verdrängen bzw. überschreiben. In the following, communication between the various nodes 21, 22 and 23 is assumed to be characterized by the distinction between dominant and recessive values. In this example, the possible values are the bits "0" and "1". In this case, a dominant bit (e.g., the logical bit '0') may quasi supersede a concurrently transmitted recessive bit (e.g., the logical bit '1').
Ein Beispiel für ein solches Übertragungsverfahren ist das so genannte On-Off- Keying (On-Off-Keying-Amplitudenumtastung), bei dem genau zwei Übertra- gungszustände unterschieden werden: Im ersten Fall (Wert ,Οη', bzw.„0") wird ein Signal übertragen, beispielsweise in Form eines einfachen Trägersignals, im anderen Fall (Wert ,Off', bzw.„1") wird kein Signal übertragen. Der Zustand ,Οη' ist dabei dominant während der Zustand ,Off' rezessiv ist. Ein weiteres Beispiel für ein entsprechendes Kommunikationssystem, das dieseAn example of such a transmission method is the so-called on-off-keying (on-off-keying amplitude shift keying), in which exactly two transmission states are distinguished: in the first case (value, Οη ', or "0") If a signal is transmitted, for example in the form of a simple carrier signal, in the other case (value 'Off' or '1') no signal is transmitted. The state 'η' is dominant while the state 'Off' is recessive. Another example of a corresponding communication system, this
Unterscheidung von dominanten und rezessiven Bits unterstützt, ist ein (drahtgebundenes oder optisches) System basierend auf einer bitweisen Bus- Arbitrierung, wie sie beispielsweise beim CAN-Bus zum Einsatz kommt. Die Grundidee dabei besteht ebenfalls darin, dass wenn beispielsweise zwei Knoten gleichzeitig ein Signal übertragen wollen und der eine Knoten eine ,1' überträgt, wohingegen der zweite Knoten eine ,0' sendet, die ,0'„gewinnt" (also das dominante Bit), d.h. der Signalpegel, der auf dem Bus gemessen werden kann, entspricht einer logischen ,0'. Bei CAN wird dieser Mechanismus insbesondere zur Auflösung von möglichen Kollisionen benutzt. Dabei werden höherpriore Nach- richten (d.h. Nachrichten mit früherem, dominantem Signalpegel) vorrangig über- tragen, 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. Supports discrimination of dominant and recessive bits is a (wired or optical) system based on a bitwise bus arbitration, as used for example in the CAN bus. The basic idea here is also that if, for example, two nodes want to transmit a signal at the same time and one node transmits a '1', whereas the second node transmits a '0' which 'gains''0' (ie the dominant bit) This means that the signal level that can be measured on the bus corresponds to a logical '0'. In CAN, this mechanism is used in particular for resolving possible collisions, whereby priority messages (ie messages with an earlier, dominant signal level) predominantly overflow - Each node, while transmitting its CAN identifier, monitors the signal level on the bus bit by bit at the same time. If the node itself transmits a recessive bit but a dominant bit is detected on the bus, the corresponding node aborts its transmission attempt in favor of the higher priority message (with the earlier dominant bit).
Die Unterscheidung von dominanten und rezessiven Bits erlaubt es, das geteilte Übertragungsmedium als eine Art binären Operator aufzufassen, der die verschiedenen Eingangsbits (=alle gleichzeitig übertragenen Bits) mit Hilfe einer logischen UND-Funktion miteinander verknüpft. The distinction between dominant and recessive bits makes it possible to interpret the shared transmission medium as a kind of binary operator that combines the various input bits (= all bits transmitted simultaneously) using a logical AND function.
In Fig. 3 ist beispielsweise dargestellt, wie ein Teilnehmer 1 (Tl) die Bitfolge 0, 1, 1, 0, 1 zur Sendung zwischen den Zeitpunkten tO und t5 über den Übertragungskanal bereit hält. Teilnehmer 2 (T2) hält die Bitfolge 0, 1, 0, 1, 1 zur Sendung zwischen Zeitpunkten tO und t5 über den Übertragungskanal bereit. Mit den oben beschriebenen Eigenschaften des Kommunikationssystems und unter der Annahme, dass es sich in diesem Beispiel bei dem Bitpegel„0" um das dominante Bit handelt, wird auf dem Bus (B) die Bitfolge 0, 1, 0, 0, 1 zu sehen sein. Nur zwischen den Zeitpunkten tl und t2 sowie zwischen t4 und t5 sehen sowohl Teilnehmer 1 (Tl) als auch Teilnehmer 2 (T2) ein rezessives Bit„1" vor, so dass nur hier die logische UND-Verknüpfung in einen Bitpegel von„1" auf dem Bus (B) resultiert. FIG. 3 shows, for example, how a subscriber 1 (T1) keeps the bit sequence 0, 1, 1, 0, 1 ready for transmission between the times t0 and t5 via the transmission channel. Subscriber 2 (T2) keeps the bit sequence 0, 1, 0, 1, 1 ready for transmission between times t0 and t5 via the transmission channel. With the above-described characteristics of the communication system and assuming that the bit level "0" in this example is the dominant bit, the bit string 0, 1, 0, 0, 1 will be seen on the bus (B) Only between times t1 and t2 and between t4 and t5, both subscriber 1 (T1) and subscriber 2 (T2) provide a recessive bit "1", so that only in this case does the logical AND operation result in a bit level of " 1 "on the bus (B) results.
Unter Ausnutzung dieser Eigenschaften des Übertragungsverfahrens des Kommunikationssystems kann eine Schlüsselgenerierung zwischen zwei Teilnehmern eines entsprechenden Netzwerks nun erfolgen, indem die Teilnehmer eine Überlagerung von Bitfolgen der beiden Teilnehmer auf dem Übertragungsmedium de- tektieren und aus dieser Information gemeinsam mit Informationen über die selbst gesendete Bitfolge einen gemeinsamen (symmetrischen), geheimen Schlüssel erzeugen. Taking advantage of these characteristics of the transmission method of the communication system, a key generation between two subscribers of a corresponding network can now take place in that the subscribers detect a superimposition of bit sequences of the two subscribers on the transmission medium and from this information share information about the self-transmitted bit sequence (symmetric), generate secret key.
Eine beispielhafte, besonders bevorzugte Realisierung wird im Folgenden anhand von Fig. 4 erläutert. 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. An exemplary, particularly preferred implementation will be explained below with reference to FIG. 4. The process for generating a symmetric key pair is started in step 41 by one of the two nodes involved in this example (subscriber 1 and subscriber 2). This can be done, for example, by sending a special message or a special message header.
Sowohl Teilnehmer 1 als auch Teilnehmer 2 generieren in Schritt 42 zunächst lokal (d.h. intern und voneinander unabhängig) eine Bitsequenz. Vorzugsweise ist diese Bitfolge mindestens zweimal, insbesondere mindestens dreimal so lang wie der als Resultat des Verfahrens erwünschte gemeinsame Schlüssel. Die Bit- folge wird vorzugsweise jeweils als zufällige oder pseudozufällige Bitabfolge, beispielsweise mit Hilfe eines geeigneten Zufallszahlengenerators oder Pseudozu- fallszahlengenerators erzeugt. Both Subscriber 1 and Subscriber 2 initially generate a bit sequence locally (i.e., internally and independently) in step 42. Preferably, this bit sequence is at least twice, in particular at least three times as long as the common key desired as a result of the method. The bit sequence is preferably generated in each case as a random or pseudo-random bit sequence, for example with the aid of a suitable random number generator or pseudo random number generator.
Beispiel für lokale Bitfolgen der Länge 20 Bits: Example of local bit sequences of length 20 bits:
Erzeugte Bitsequenz von Teilnehmer 1:  Generated bit sequence of participant 1:
Su = 01001101110010110010  Su = 01001101110010110010
' Erzeugte Bitsequenz von Teilnehmer 2:  'Generated bit sequence of subscriber 2:
ST2 = 10010001101101001011 S T2 = 10010001101101001011
In einem Schritt 43 übertragen Teilnehmer 1 und Teilnehmer 2 zueinander (weitgehend) synchron ihre jeweils erzeugten Bitsequenzen über das geteilte Übertragungsmedium (unter Verwendung des Übertragungsverfahrens mit dominanten und rezessiven Bits, wie zuvor bereits erläutert). Dabei sind verschiedene Möglichkeiten zur Synchronisierung der entsprechenden Übertragungen denkbar. So könnte beispielsweise entweder Teilnehmer 1 oder Teilnehmer 2 zunächst eine geeignete Synchronisationsnachricht an den jeweils anderen Knoten senden und nach einer bestimmten Zeitdauer im Anschluss an die vollständige Übertragung dieser Nachricht dann die Übertragung der eigentlichen Bitsequenzen starten. Genauso ist es aber auch denkbar, dass von einem der beiden Knoten nur ein geeigneter Nachrichtenheader übertragen wird (z.B. ein CAN-Header bestehend aus Arbitrierungsfeld und Kontrollfeld) und während der zugehörigen Payload-Phase dann beide Knoten gleichzeitig ihre generierten Bitsequenzen (weitgehend) synchron übermitteln. In einer Variante des Verfahrens können die in Schritt 42 generierten Bitsequenzen eines Teilnehmers in Schritt 43 auch auf mehrere Nachrichten verteilt übertragen werden können, beispielsweise wenn dies die (Maximal-)Größen der entsprechenden Nachrichten erforderlich machen. Auch in dieser Variante erfolgt die Übertragung der auf entsprechend viele, entsprechend große Nachrichten verteilten Bitsequenzen des anderen Teilnehmers wiederum (weitgehend) synchron. In a step 43, subscriber 1 and subscriber 2 transmit (largely) synchronously their respectively generated bit sequences over the divided transmission medium (using the transmission method with dominant and recessive bits, as already explained above). Different possibilities for synchronizing the corresponding transmissions are conceivable. Thus, for example, either subscriber 1 or subscriber 2 could first send a suitable synchronization message to the respective other node and then start the transmission of the actual bit sequences after a certain period of time following the complete transmission of this message. Equally, however, it is also conceivable that only one suitable message header is transmitted by one of the two nodes (eg a CAN header consisting of arbitration field and control field) and during the associated payload phase then both nodes simultaneously (largely) transmit their generated bit sequences synchronously , In a variant of the method, the bit sequences of a subscriber generated in step 42 can also be displayed in step 43 several messages can be transmitted distributed, for example, if this requires the (maximum) sizes of the corresponding messages. In this variant too, the transmission of the correspondingly large number of correspondingly large messages distributed bit sequences of the other subscriber takes place again (largely) synchronously.
Auf dem geteilten Übertragungsmedium überlagern sich die beiden Bitsequenzen dann, wobei aufgrund der zuvor geforderten Eigenschaft des Systems mit der Unterscheidung von dominanten und rezessiven Bits die einzelnen Bits von Teilnehmer 1 und Teilnehmer 2 eine Überlagerung ergeben, im genannten Beispiel de facto UND-verknüpft werden. Damit ergibt sich auf dem Übertragungskanal eine entsprechende Überlagerung, die beispielsweise ein mithörender dritter Teilnehmer detektieren könnte. On the shared transmission medium, the two bit sequences then overlap, whereby due to the previously required property of the system with the distinction of dominant and recessive bits, the individual bits of subscriber 1 and subscriber 2 result in an overlay, in the example mentioned de facto AND-linked. This results in a corresponding overlay on the transmission channel, which could detect, for example, a listening third party.
Beispiel einer Überlagerungs bitfolge für die obigen, lokalen Bitfolgen: Example of an overlay bit sequence for the above local bit sequences:
• Effektive Bitsequenz auf dem Übertragungskanal:  • Effective bit sequence on the transmission channel:
Seft = Su AND ST2 = 00000001100000000010 Seft = Su AND S T2 = 00000001100000000010
Sowohl Teilnehmer 1 als auch Teilnehmer 2 detektieren während der Übertragung ihrer Bitsequenzen des Schritts 43 in einem parallelen Schritt 44 die effektiven (überlagerten) Bitsequenzen Seff auf dem geteilten Übertragungsmedium. Für das Beispiel des CAN-Busses wird dies auch in konventionellen Systemen während der Arbitrierungsphase gewöhnlicherweise ohnehin gemacht. Both subscriber 1 and subscriber 2 detect during the transmission of their bit sequences of step 43 in a parallel step 44, the effective (overlaid) bit sequences S e ff on the shared transmission medium. For the example of the CAN bus, this is usually done in conventional systems during the arbitration phase anyway.
Für Systeme mit ,Οη-Off-Keying' (drahtlos, drahtgebunden oder optisch) ist dies entsprechend ebenfalls möglich. Der praktischen Realisierbarkeit kommt hierbei insbesondere zugute, dass bei einem solchen System der Zustand ,Οη' dominant und der Zustand ,Off' rezessiv ist (wie zuvor bereits erläutert). Folglich weiß ein Knoten auch ohne Messung, dass der effektive Zustand auf dem„Shared Medium" dominant ist sofern der Knoten selbst ein dominantes Bit gesendet hat. Hat ein Knoten hingegen ein rezessives Bit gesendet, kennt er den Zustand auf dem geteilten Übertragungsmedium zunächst nicht ohne Weiteres, allerdings kann er in diesem Fall durch eine geeignete Messung bestimmen, wie dieser aussieht. Da der Knoten selbst in diesem Fall nichts sendet, gibt es nämlich auch keine Probleme mit so genannter Selbstinterferenz, die speziell im Fall von drahtlosen Systemen ansonsten eine aufwändige Echokompensation erforderlich machen würde. This is likewise possible for systems with "η-off-keying" (wireless, wired or optical). In this case, the practical feasibility benefits in particular from the fact that in such a system the state 'η' is dominant and the state 'Off' is recessive (as already explained above). Consequently, even without measurement, a node knows that the effective state is dominant on the shared medium if the node itself has sent a dominant bit, but if a node has sent a recessive bit, it does not know the state on the shared transmission medium first Further, however, in this case, he can determine by a suitable measurement what it looks like, because, in this case, the node does not send anything, so there are no problems with so-called self-interference, especially in the case of wireless Systems would otherwise require a complex echo cancellation.
In einem nächsten Schritt 45 übertragen sowohl Teilnehmer 1 als auch Teilnehmer 2 ebenfalls wieder (weitgehend) synchron ihre initialen Bitsequenzen STI und ST2, diesmal allerdings invertiert. Die Synchronisierung der entsprechenden Übertragungen kann dabei wieder genau auf dieselbe Art und Weise realisiert werden, wie oben beschrieben. Auf dem geteilten Kommunikationsmedium werden die beiden Sequenzen dann wieder miteinander UND-verknüpft. Teilnehmer 1 und 2 ermitteln wiederum die effektiven, überlagerten Bitsequenzen Seff auf dem geteilten Übertragungsmedium. In a next step 45, both subscriber 1 and subscriber 2 also again (largely) synchronously transmit their initial bit sequences STI and ST2, but this time inverted. The synchronization of the corresponding transmissions can again be realized exactly in the same way as described above. On the shared communication medium, the two sequences are then ANDed together again. Subscribers 1 and 2 in turn determine the effective, superimposed bit sequences S e ff on the shared transmission medium.
Beispiel für die obigen Bitfolgen: Example of the above bit sequences:
Invertierte Bitsequenz von Teilnehmer 1:  Inverted bit sequence of participant 1:
Sn = 10110010001101001101  Sn = 10110010001101001101
Invertierte Bitsequenz von Teilnehmer 2:  Inverted bit sequence of participant 2:
ST2' = 01101110010010110100 S T2 '= 01101110010010110100
' Effektive, überlagerte Bitsequenz auf dem Kanal:  'Effective, overlaid bit sequence on the channel:
Seff' = Sn AND ST2' = 00100010000000000100 Seff '= Sn AND S T2 ' = 00100010000000000100
Sowohl Teilnehmer 1 als auch Teilnehmer 2 ermitteln während der Übertragung ihrer nun invertierten Bitsequenzen dann wieder die effektiven, überlagerten Bitsequenzen auf dem geteilten Übertragungsmedium. Zu diesem Zeitpunkt kennen somit beide Knoten (Teilnehmer 1 und Teilnehmer 2), sowie auch ein möglicher Angreifer (z.B. Teilnehmer 3), der die Kommunikation auf dem geteilten Übertragungsmedium mithört, die effektiven, überlagerten Bitsequenzen Seff und Seff'. Im Gegensatz zum Angreifer bzw. dritten Teilnehmer kennt aber Teilnehmer 1 noch seine initial erzeugte, lokale Bitsequenz STI und Teilnehmer 2 seine initial erzeugte, lokale Bitsequenz ST2. Teilnehmer 1 wiederum kennt aber nicht die initial erzeugte, lokale Bitsequenz von Teilnehmer 2 und Teilnehmer 2 nicht die initial erzeugte, lokale Bitsequenz von Teilnehmer 1. Die Detektion der Überlagerungsbitfolge erfolgt wiederum während der Übertragung in Schritt 46. Both subscriber 1 and subscriber 2 determine during the transmission of their now inverted bit sequences then again the effective, superimposed bit sequences on the shared transmission medium. At this time, both nodes (subscriber 1 and subscriber 2), as well as a possible attacker (eg subscriber 3) who overhears the communication on the shared transmission medium, thus know the effective, superimposed bit sequences S e ff and Seff '. In contrast to the attacker or third participant, however, participant 1 still knows his initially generated, local bit sequence STI and participant 2 his initially generated, local bit sequence ST2. However, subscriber 1 in turn does not know the initially generated, local bit sequence of subscriber 2 and subscriber 2 does not know the initially generated, local bit sequence of subscriber 1. The detection of the overlay bit sequence again takes place during the transmission in step 46.
Alternativ zu dieser beispielhaften Ausführungsvariante können Teilnehmer 1 und Teilnehmer 2 ihre invertierte, lokale Bitfolge auch direkt mit bzw. direkt nach ihrer ursprünglichen, lokalen Bitfolge versenden, d.h. Schritte 45 und 46 erfolgen mit den Schritten 43 und 44. Die ursprüngliche und die invertierte Bitfolge können dabei in einer Nachricht, aber auch in separaten Nachrichten als Teil- Bitfolgen übermittelt werden. As an alternative to this exemplary embodiment, subscriber 1 and subscriber 2 can also use their inverted, local bit sequence directly with or directly after their own Sending steps 45 and 46 in steps 43 and 44. The original and the inverted bit sequences can be transmitted in a message as well as in separate messages as partial bit sequences.
In Schritt 47 verknüpfen Teilnehmer 1 und Teilnehmer 2 nun jeweils lokal (also intern) die effektiven, überlagerten Bitfolgen (Seff und Seff'), insbesondere mit einer logischen ODER-Funktion. In step 47, subscriber 1 and subscriber 2 now respectively locally (ie internally) link the effective, superposed bit sequences (S e ff and S e ff '), in particular with a logical OR function.
Beispiel für die obigen Bitfolgen:  Example of the above bit sequences:
Sges = Seff OR Seff' = 00100011100000000110 S g = Seff it Seff OR '= 00100011100000000110
Die einzelnen Bits in der aus der ODER-Verknüpfung resultierenden Bitsequenz (Sges) geben nun an, ob die entsprechenden Bits von STI und ST2 identisch oder unterschiedlich sind. Ist das n-te Bit innerhalb von Sges beispielsweise eine ,0', so bedeutet dies, dass das n-te Bit innerhalb von STI invers zu dem entsprechenden Bit innerhalb von ST2 ist. Gleichermaßen gilt, dass wenn das n-te Bit innerhalb von Sges eine ,1' ist, die entsprechenden Bits innerhalb von STI und ST2 identisch sind. The individual bits in the bit sequence (Sges) resulting from the OR operation now indicate whether the corresponding bits of STI and ST2 are identical or different. For example, if the nth bit within S tot is a '0', it means that the nth bit within STI is inverse to the corresponding bit within ST2. Likewise, if the nth bit within Sges is a '1', the corresponding bits within STI and ST2 are identical.
Teilnehmer 1 und Teilnehmer 2 streichen daraufhin in Schritt 48 basierend auf der aus der ODER-Verknüpfung erhaltenen Bitsequenz Sges in ihren ursprünglichen, initialen Bitsequenzen STI und ST2 alle Bits, die in beiden Sequenzen identisch sind. Dies führt folglich zu entsprechend verkürzten Bitsequenzen. Subscriber 1 and subscriber 2 then cancel in step 48 based on the bit sequence S ges obtained from the OR operation in their original, initial bit sequences STI and ST2 all bits which are identical in both sequences. This consequently leads to correspondingly shortened bit sequences.
Beispiel für die obigen Bitfolgen: Example of the above bit sequences:
Verkürzte Bitsequenz von Teilnehmer 1:  Abbreviated bit sequence of participant 1:
Sn,v = 01011100101100  Sn, v = 01011100101100
Verkürzte Bitsequenz von Teilnehmer 2:  Abbreviated bit sequence of participant 2:
ST2,v = 10100011010011 S T2 , v = 10100011010011
Die resultierenden, verkürzten Bitsequenzen STI.V und ST2,V sind nun gerade invers zueinander. Somit kann einer der beiden Teilnehmer durch Inversion seiner verkürzten Bitsequenz exakt diejenige verkürzte Bitsequenz ermitteln, wie sie im anderen Teilnehmer bereits vorliegt. 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 NThe resulting, shortened bit sequences STI.V and ST2, V are now just inverse to each other. Thus, by inversion of its shortened bit sequence, one of the two subscribers can determine exactly the shortened bit sequence that already exists in the other subscriber. The thus shared, shortened bit sequence is now processed locally by participant 1 and participant 2 in step 49 in a suitable manner in order to generate the actual desired key of the desired length N. Again, there are a variety of ways that this treatment can be done. One possibility is the selection of N
Bits 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. Bits from the common, truncated bit sequence, where it must be clearly defined which N bits to take, e.g. by simply selecting the first N bits of the sequence. It is also possible to calculate a hash function via the shared, shortened bit sequence which provides a hash of length N. In general, the rendering can be done with any linear and nonlinear function that returns a N bit length bit sequence when applied to the co-present truncated bit sequence. The mechanism of key generation from the common truncated bit sequence is preferably identical in both subscribers 1 and 2 and is performed accordingly in the same way.
Im Anschluss an die Schlüsselgenerierung kann ggf. noch verifiziert werden, dass die von Teilnehmer 1 und 2 generierten Schlüssel tatsächlich identisch sind. Dazu könnte beispielsweise eine Checksumme über die generierten Schlüssel berechnet und zwischen Teilnehmer 1 und 2 ausgetauscht werden. Sind beide Checksummen nicht identisch, so ist offensichtlich etwas fehlgeschlagen. In diesem Fall könnte das beschriebene Verfahren zur Schlüsselgenerierung wiederholt werden. Following the key generation, it may still be possible to verify that the keys generated by subscribers 1 and 2 are actually identical. For this purpose, for example, a checksum could be calculated using the generated keys and exchanged between subscribers 1 and 2. If both checksums are not identical, then obviously something has failed. In this case, the described method for key generation could be repeated.
In einer bevorzugten Variante des Verfahrens zur Schlüsselgenerierung können in verschiedenen Durchläufen zunächst auch eine ganze Reihe von resultierenden, bei Teilnehmer 1 und 2 jeweils vorliegenden, verkürzten Bitsequenzen erzeugt werden, die dann zu einer einzigen großen Sequenz kombiniert werden, bevor der eigentliche Schlüssel davon abgeleitet wird. Dies kann ggf. auch adaptiv erfolgen. Sollte nach dem einmaligen Durchlaufen der beschriebenen Prozedur z.B. die Länge der gemeinsamen, verkürzten Bitsequenz beispielsweise kleiner als die gewünschte Schlüssellänge N sein, so könnte man durch einen erneuten Durchlauf z.B. weitere Bits vor der eigentlichen Schlüsselableitung gene- rieren. Das generierte, symmetrische Schlüsselpaar kann nun schließlich von Teilnehmer 1 und Teilnehmer 2 in Verbindung mit etablierten (symmetrischen) krypto- graphischen Verfahren, wie z.B. Chiffren zur Datenverschlüsselung, eingesetzt werden. In a preferred variant of the method for generating a key, in a number of passes, a whole series of resulting shortened bit sequences, which are each present in the case of subscribers 1 and 2, can be generated, which are then combined into a single large sequence before the actual key is derived therefrom , If necessary, this can also be done adaptively. If, for example, the length of the common, shortened bit sequence is, for example, shorter than the desired key length N after a single pass through the described procedure, then one could, for example, generate further bits before the actual key derivation. Finally, the generated symmetric key pair can be used by subscriber 1 and subscriber 2 in conjunction with established (symmetric) cryptographic methods, such as ciphers for data encryption.
Ein möglicher Angreifer (z.B. Teilnehmer 3) kann die öffentliche Datenübertragung zwischen Teilnehmer 1 und Teilnehmer 2 abhören und somit wie beschrieben Kenntnis der effektiven, überlagerten Bitfolgen (Seff und Seff') erlangen. Damit weiß der Angreifer dann allerdings nur, welche Bits in den lokal generierten Bitsequenzen von Teilnehmer 1 und 2 identisch sind und welche nicht. Bei den identischen Bits kann der Angreifer darüber hinaus sogar noch feststellen, ob es sich dabei um eine ,1' oder eine ,0' handelt. Für eine vollständige Kenntnis der resultierenden, verkürzten Bitfolge (und damit der Grundlage zur Schlüsselgene- rierung) fehlen ihm aber die Informationen über die nicht identischen Bits. Um dem Angreifer mögliche Angriffe weiter zu erschweren, wird in einer bevorzugten Variante zusätzlich die in den ursprünglichen, lokal erzeugten Bitfolgen der Teilnehmer 1 und 2 identischen Bitwerte gelöscht. Damit verfügt Teilnehmer 3 nur über Informationen, die für die Schlüsselgenerierung gar nicht verwendet werden. Er weiß zwar, dass entsprechend verkürzte Bitfolgen aus den zwischen den lokalen Bitfolgen der Teilnehmer 1 und Teilnehmer 2 unterschiedlichen Bits hervorgehen. Er weiß aber nicht, welche Bits Teilnehmer 1 und Teilnehmer 2 jeweils gesendet haben. A potential attacker (eg subscriber 3) can listen to the public data transmission between subscriber 1 and subscriber 2 and thus gain knowledge of the effective, superposed bit sequences (S e ff and S e ff ') as described. The attacker then only knows which bits in the locally generated bit sequences of nodes 1 and 2 are identical and which are not. In addition, with the identical bits, the attacker can even determine whether it is a '1' or a '0'. For a complete knowledge of the resulting, shortened bit sequence (and thus the basis for key generation), however, he lacks the information about the non-identical bits. In order to further aggravate possible attacks for the attacker, in a preferred variant the bit values identical in the original, locally generated bit sequences of the users 1 and 2 are additionally deleted. This means that participant 3 has only information that is not used for key generation. Although he knows that correspondingly shortened bit sequences emerge from the different between the local bit sequences of the participants 1 and 2 participants bits. However, he does not know which bits have been sent by subscriber 1 and subscriber 2 respectively.
Teilnehmer 1 und Teilnehmer 2 haben zusätzlich zu der Information über die überlagerte Gesamt- Bitfolge noch die Information über die jeweils von ihnen gesendete, lokal generierte Bitfolge. Aus diesem Informationsvorsprung gegenüber einem lediglich der öffentlichen Datenübertragung folgenden Teilnehmer 3 rührt die Tatsache, dass die in Teilnehmer 1 und 2 generierten Schlüssel trotz der öffentlichen Datenübertragung als Grundlage geheim bleiben. In addition to the information about the superimposed overall bit sequence, subscriber 1 and subscriber 2 also have the information about the locally generated bit sequence transmitted by them in each case. The fact that the keys generated in subscribers 1 and 2 remain secret as a basis despite the public data transmission results from this information advantage over a subscriber 3 following only the public data transmission.
In Fig. 5 ist ein Kommunikationsmodul oder Protokollmodul gezeigt. Dabei handelt es sich in dieser beispielhaften Ausgestaltung um ein sogenanntes CAN Pro- tocol Controller Modul oder auch kurz CAN-Modul. Für ein CAN-Bussystem kann hierzu z.B. ein CAN-Kommunikationsmodul auf Basis eines CAN-Controller-IP- Moduls der Robert Bosch GmbH wie M_CAN, C_CAN oder D_CAN oder für ein LIN-Bussystem ein LIN-Kommunikationsmoduls auf Basis eines LIN- Kommunikationscontroller-IP-Moduls der Robert Bosch GmbH wie C_LIN eingesetzt werden. In Fig. 5 ist ein CAN-Modul 50 auf Basis der M_CAN-IP gezeigt. FIG. 5 shows a communication module or protocol module. In this exemplary embodiment, this is a so-called CAN protocol controller module or else a short CAN module. For a CAN bus system, for example, a CAN communication module based on a CAN controller IP Module of Robert Bosch GmbH such as M_CAN, C_CAN or D_CAN or for a LIN bus system a LIN communication module based on a LIN communication controller IP module of Robert Bosch GmbH as C_LIN be used. FIG. 5 shows a CAN module 50 based on the M_CAN-IP.
Ein CAN-Core 51 führt die Kommunikation entsprechend einer bestimmten CAN- Protokoll- Version aus, z.B. Version 2.0 A, B und ISO 11898-1 und kann ebenfalls CAN FD unterstützen. Mit den Verbindungen 503 bzw. 504 sind die logischen CAN-Sende- bzw. CAN- Empfangsverbindungen bezeichnet. Der Synchronisati- onsblock 52 synchronisiert Signale zwischen den zwei vorhandenen Uhrendomänen. Der Modul-interne Taktgeber ist mit 59 bezeichnet. Über den Konfigurations- und Steuerungsblock 55 können CAN-Core-bezogene Konfigurations- und Steuerungsbits gesetzt werden. Der Block 56 dient der Interrupt- Steuerung und der Erzeugung von Empfangs- und Sende-Zeitstempeln. Die Schnittstelle 58 dient als generische Slave-Schnittstelle der möglichen Verbindung des CAN-A CAN core 51 executes the communication according to a particular CAN protocol version, e.g. Version 2.0 A, B and ISO 11898-1 and can also support CAN FD. With the connections 503 and 504, the logical CAN transmit or CAN receive connections are designated. The synchronization block 52 synchronizes signals between the two existing clock domains. The module-internal clock is designated 59. Configuration and control block 55 can be used to set CAN core-related configuration and control bits. Block 56 is for interrupt control and the generation of receive and transmit timestamps. The interface 58 serves as a generic slave interface for the possible connection of the CAN
Moduls mit vielen verschiedenen CPU-Typen über die Verbindung 501. Die Schnittstelle 57 dient als generische Master-Schnittstelle dem Zugriff auf einen Nachrichtenspeicher, insbesondere einem RAM, über die Verbindung 502. Der Block 53 entspricht einem Tx Handler oder Sende-Manager, welcher die Nach- richtenübertragung von einem externen Nachrichtenspeicher zum CAN-Core steuert. Dabei können bis zu 32 Transmit- Buffer für die Übertragung konfiguriert werden. Sende-Zeitstempel werden mit entsprechenden Nachrichten- IDs abgespeichert. Die Blöcke 531 bzw. 532 im Sende-Manager entsprechen einem Steuerungs- und Konfigurationsblock bzw. einem Sende-Priorisierungsblock. Der Rx Handler bzw. Empfangs-Manager 54 steuert die Übertragung empfangenerModule with many different CPU types via the connection 501. The interface 57 serves as a generic master interface access to a message memory, in particular a RAM, via the connection 502. The block 53 corresponds to a Tx handler or send manager, which the Message transfer from an external message store to the CAN core controls. Up to 32 transmit buffers can be configured for transmission. Transmit timestamps are stored with corresponding message IDs. The blocks 531 and 532 in the send manager correspond to a control and configuration block and a send prioritization block, respectively. The Rx handler 54 controls the transmission of received ones
Nachrichten vom CAN Core zu externem Nachrichtenspeicher. Dabei wird die Speicherung von bis zu 128 Nachrichten unterstützt. Ein Empfangszeitstempel wird mit jeder Nachricht abgespeichert. Das Kommunikationsmodul umfasst also einen zentralen Schaltungsteil (hierMessages from CAN Core to external message storage. It supports the storage of up to 128 messages. A reception time stamp is stored with each message. The communication module thus comprises a central circuit part (here
CAN Core 51) zur protokollgemäßen Steuerung einer Kommunikation zwischen einer Host-CPU und einem externen Nachrichtenspeicher sowie zum protokollgemäßen Empfang und Senden von Nachrichten über das Kommunikationssystem (hier über die Verbindungen 503 und 504). Über eine Schnittstelle (hier Mas- ter-Schnittstelle 57 und die Verbindung 502) ist das Modul mit dem externen Nachrichtenspeicher verbunden. Über eine weitere Schnittstelle (hier Slave- Schnittstelle 58 und die Verbindung 501) ist das Modul mit der Host-CPU verbunden. Er kann als Standalone- Einheit, als Teil eines ASIC oder mit einem FPGA realisiert werden. CAN Core 51) for the protocol-controlled control of communication between a host CPU and an external message memory as well as for protocol-based reception and transmission of messages via the communication system (here via the connections 503 and 504). An interface (here master interface 57 and the connection 502) is the module with the external Message store connected. Via another interface (here slave interface 58 and the connection 501), the module is connected to the host CPU. It can be implemented as a stand-alone unit, as part of an ASIC or with an FPGA.
Die Verbindung zur physikalischen Schicht kann durch zusätzliche Transceiver- Hardware unterstützt werden. Mehrere Kommunikationsmodule können sich einen externen Nachrichtenspeicher teilen. In Fig. 6 ist ein Modul 60 gezeigt, welches in einer Schaltungsanordnung einesThe connection to the physical layer can be supported by additional transceiver hardware. Several communication modules can share an external message store. In Fig. 6, a module 60 is shown, which in a circuit arrangement of a
Teilnehmers an einem Netzwerk diesen Teilnehmer bei der Generierung eines gemeinsamen Geheimnisses mit anderen Netzwerkteilnehmern unterstützen kann (im Folgenden auch:„weiteres Modul"). Das Modul 60 kann dabei Daten bzw. Nachrichten auf den Bus 600 geben, welcher in einer bevorzugten Ausge- staltung als CAN-Bus realisiert ist. Subscriber on a network can support this subscriber in the generation of a shared secret with other network subscribers (hereinafter also referred to as "further module") .The module 60 can thereby provide data or messages to the bus 600, which in a preferred embodiment implemented as a CAN bus.
Dabei verfügt das Modul 60 über einen Block 64 zur Konfiguration des Moduls über eine Schnittstelle 604, insbesondere für Protokoll-spezifische Konfigurationen wie Baudrate, IDs, etc. Des Weiteren umfasst es einen Block 63 (z.B. ein Register), in welchem eine Zeichenkette, insbesondere eine Zufallszahl oderIn this case, the module 60 has a block 64 for configuring the module via an interface 604, in particular for protocol-specific configurations such as baud rate, IDs, etc. Furthermore, it comprises a block 63 (eg a register) in which a character string, in particular a random number or
Pseudozufallszahl abgelegt werden kann, insbesondere empfangen über eine Schnittstelle 603. Block 62 bezeichnet ein Triggermodul, welches in einer bevorzugten Ausführungsform über die Schnittstelle 602 zu einem Triggersignal veranlasst werden kann. Alternativ kann das Triggermodul ein Triggersignal auch selb- ständig veranlassen. Das Modul verfügt weiterhin über Sendemittel wie die alsPseudo-random number can be stored, in particular received via an interface 603. Block 62 denotes a trigger module, which can be made in a preferred embodiment via the interface 602 to a trigger signal. Alternatively, the trigger module can trigger a trigger signal independently. The module also has transmitters such as the
Block 61 gezeigten Sende- Pufferspeicher (Tx-Buffer), die über eine Schnittstelle 601 Nachrichten bzw. Daten auf den Bus 600 geben können. Block 61 shown transmit buffer memory (Tx buffer), which can give messages or data on the bus 600 via an interface 601.
Die hauptsächliche Funktionsweise des Moduls ist dabei, dass in Abhängigkeit einer Konfiguration (angedeutet durch die Verbindung 605 zwischen Konfigurationsblock 64 und Sendemittel 61) eine Zufallszahl oder Pseudozufallszahl aus Block 63 über Verbindung 606 an die Sendemittel 61 gegeben wird und über die Schnittstelle 601 an den CAN-Bus 600 ausgegeben wird. Getriggert wird dieser Vorgang (entweder bereits die Übertragung der Zahl von Block 63 an Block 61 oder zumindest die Übertragung der Zahl von Block 61 an den Bus 600) insbe- sondere durch ein Auslösesignal durch das Triggermodul 62 über die Verbindung 607 an die Sendemittel 61. The main mode of operation of the module is that, depending on a configuration (indicated by the connection 605 between configuration block 64 and transmission means 61), a random number or pseudo-random number from block 63 is given via connection 606 to the transmission means 61 and via the interface 601 to the CAN Bus 600 is output. This process is triggered (either already the transmission of the number from block 63 to block 61 or at least the transmission of the number from block 61 to bus 600). in particular by a triggering signal through the trigger module 62 via the connection 607 to the transmitting means 61.
In bevorzugten Ausgestaltungen des Moduls 60 kann dieses auch über einen Speicher 65 (insbesondere einen RAM) verfügen, in welchem eine oder mehrere Zufallszahlen oder Pseudozufallszahlen gespeichert sind, welche abhängig von dem Triggersignal über die Sendemittel 61 ausgegeben werden. Diese Zufallszahlen können auch durch einen optionalen Zufallszahlengenerator (insbesondere einen TRNG) im Modul 60 erzeugt werden. In preferred embodiments of the module 60, the latter can also have a memory 65 (in particular a RAM) in which one or more random numbers or pseudorandom numbers are stored, which are output via the transmission means 61 as a function of the trigger signal. These random numbers can also be generated by an optional random number generator (in particular a TRNG) in the module 60.
Weiterhin kann das Modul 60 in einer bevorzugten Ausgestaltung auch Empfangsmittel 67, insbesondere Empfangs-Pufferspeicher 67 aufweisen, welche über eine Schnittstelle 612 Nachrichten bzw. Daten vom Bus 600 empfangen können. Über eine Schnittstelle 613 zwischen Empfangsmitteln 67 und Triggerblock 62 kann in dieser Ausgestaltung auch in Abhängigkeit von empfangenen Daten ein Triggersignal zum Senden von Daten ausgelöst werden. Z.B. kann erkannt werden, dass von einem anderen Netzwerkteilnehmer eine Zufallszahlenfolge zur Geheimnisgenerierung auf den Bus gelegt wird (z.B. über eine entsprechende Nachrichten- ID) und daraufhin der Trigger durch das Triggerblock 62 erfolgen, dass auch dieser Teilnehmer über das Modul 60 eine Zufallszahlenfolge (weitgehend) synchron zu Übertragung der Zufallszahlenfolge durch den anderen Netzwerkteilnehmers auf den Bus gibt. Furthermore, in a preferred embodiment, the module 60 can also have receiving means 67, in particular receiving buffer memory 67, which can receive messages or data from the bus 600 via an interface 612. Via an interface 613 between receiving means 67 and trigger block 62, a trigger signal for transmitting data can also be triggered in this embodiment depending on received data. For example, it can be recognized that a random number sequence for secret generation is placed on the bus by another network subscriber (eg via a corresponding message ID) and then the trigger is made by the trigger block 62, that this subscriber also uses the module 60 to carry out a random number sequence (largely) synchronously with the transmission of the random number sequence by the other network participant on the bus.
In einem optionalen Block 68 können Fehlerzustände des Moduls 60 abgelegt werden und diese über eine Schnittstelle 608 auch nach extern gemeldet bzw. von extern abgerufen werden. In an optional block 68 error states of the module 60 can be stored and these are also reported via an interface 608 to external or retrieved from external.
In einer weiteren bevorzugten Ausgestaltung kann das Modul 60 auch über einen Schaltungsteil 69 zur dynamischen Botschaftsgenerierung verfügen. Dieser kann über eine Schnittstelle 609 eine Zufallszahl oder Pseudozufallszahl empfangen und in Abhängigkeit dieser eine Botschaft generieren und über die Verbindung 610 an die Sendemittel 61 weitergeben. Die Botschaft ist zur weitgehend synchronen Übertragung von Zufallszahlen mit einem weiteren Netzwerkteilnehmer vorgesehen, um wie oben beschrieben ein gemeinsames Geheimnis zwischen den Netzwerkteilnehmern zu generieren. In einer Schaltungsanordnung (insbesondere einem Mikrocontroller), welcher die oben beschrieben Verfahren zur Geheimnis- bzw. Schlüsselgenerierung zwischen Netzwerkteilnehmern unterstützen soll, sind neben weiteren Komponenten und Schnittstellen vorteilhafterweise mindestens ein Kommunikationsmodul wie zu Fig. 5 beschrieben sowie mindestens ein weiteres Modul wie zu Fig. 6 beschrieben enthalten. Hierzu gibt es verschiedene Möglichkeiten, die erlauben, die Schaltungsanordnung in verschiedener Hinsicht zu optimieren. In einer ersten bevorzugten Ausgestaltung einer solchen Schaltungsanordnung sind das Kommunikationsmodul und das weitere Modul in einem Schaltungsteil integriert. Dies ist in Fig. 7 beispielhaft gezeigt. Kommunikationsmodul und weiteres Modul sind hier in dem Schaltungsteil 70 der Schaltungsanordnung integriert. Insbesondere sind hierbei die oben zu dem weiteren Modul beschrieben Funktio- nen zusätzlich in einem Kommunikationsmodul oder Protokollmodul integriert.In a further preferred embodiment, the module 60 may also have a circuit part 69 for dynamic message generation. The latter can receive a random number or pseudorandom number via an interface 609 and, depending on this, generate a message and forward it to the transmission means 61 via the connection 610. The message is intended for largely synchronous transmission of random numbers with another network participant in order to generate a shared secret between the network participants as described above. In a circuit arrangement (in particular a microcontroller), which is intended to support the above-described methods for secret or key generation between network users, at least one communication module as described with reference to FIG. 5 and at least one further module as shown in FIG. 6 described included. There are various possibilities for this, which allow to optimize the circuit arrangement in various respects. In a first preferred embodiment of such a circuit arrangement, the communication module and the further module are integrated in a circuit part. This is shown by way of example in FIG. 7. Communication module and another module are integrated here in the circuit part 70 of the circuit arrangement. In particular, the functions described above for the further module are additionally integrated in a communication module or protocol module.
Das Kommunikationsmodul mit zusätzlichen Funktionen 70 ist über eine Verbindung 72 mit einer Host-Schnittstelle 71 zum Host (Recheneinheit der Schaltungsanordnung bzw. Host-CPU des Mikrocontrollers) verbunden sowie über Empfangs- bzw. Sendeschnittstelle 74 bzw. 75 mit einem Bussystem. Schnittstel- le 73 bezeichnet eine abgesicherte Schnittstelle (secure interface) z.B. zu einemThe communication module with additional functions 70 is connected via a connection 72 to a host interface 71 to the host (computing unit of the circuit arrangement or host CPU of the microcontroller) and via receiving or transmitting interface 74 or 75 to a bus system. Interface 73 denotes a secure interface, e.g. to a
Hardware Security Module der Schaltungsanordnung bzw. des Mikrocontrollers. Hardware security module of the circuit arrangement or of the microcontroller.
In Fig. 8 ist eine alternative vorteilhafte Ausgestaltung der Kombination eines Kommunikationsmoduls mit einem weiteren Modul zur Geheimnisgenerierung in einer Schaltungsanordnung gezeigt. Hier sind ein Kommunikationsmodul 810 und ein weiteres Modul 820 als separate Schaltungsteile kombiniert. Sie haben jeweils eine Verbindung 801 bzw. 802 zur Host-Schnittstelle 800. Das Kommunikationsmodul verfügt über eine Sendeschnittstelle 812 und eine Empfangsschnittstelle 811, das weitere Modul über eine Sendeschnittstelle 822 und eine Empfangsschnittstelle 823. In einem Block Rx/Tx-Steuerung 830 der Schaltungsanordnung können die Empfangsschnittstellen 811 und 823 zusammen geführt sein. Das kann insbesondere bedeuten, dass die Empfangssignale aus einer gemeinsamen Empfangsleitung z.B. durch Time Division Multiplex aufgeteilt werden. Vorzugsweise erfolgt für das Empfangssignal eine Vervielfältigung, so dass das gleiche Empfangssignal über die Verbindung 811 zum Kommunikationsmodul 810 und über die Verbindung 823 zum weiteren Modul 820 übertragen wird. In dem Block Rx/Tx- Steuerung 830 können auch die Sendeschnittstellen 812 und 822 zusammengeführt sein. In bevorzugten Ausgestaltungen kann das Kommunikationsmodul 810 über eine Verbindung 814 das weitere Modul 820 konfigurieren. Über eine Verbindung 815 kann das Kommunikationsmodul 810 vorzugsweise das weitere Modul 820 auch dazu triggern, die Teilnehmerfolge zurFIG. 8 shows an alternative advantageous embodiment of the combination of a communication module with another module for secret generation in a circuit arrangement. Here, a communication module 810 and another module 820 are combined as separate circuit parts. They each have a connection 801 or 802 to the host interface 800. The communication module has a transmission interface 812 and a reception interface 811, the further module via a transmission interface 822 and a reception interface 823. In a block Rx / Tx control 830 of the circuit For example, the receive interfaces 811 and 823 may be merged together. This may in particular mean that the received signals are divided from a common receiving line, for example by Time Division Multiplex. Preferably, a duplication takes place for the received signal, so that the same received signal is transmitted via the connection 811 to the communication module 810 and via the connection 823 to the further module 820 becomes. In block Rx / Tx control 830, the transmit interfaces 812 and 822 may also be merged. In preferred embodiments, the communication module 810 may configure the further module 820 via a connection 814. Via a connection 815, the communication module 810 may also trigger the further module 820 also to initiate the subscriber sequence for
Geheimnisgenerierung auf den Übertragungskanal zu geben. Giving secret generation on the transmission channel.
In Fig. 9 sind drei Kommunikationsmodule 910, 920, 930 gezeigt sowie ein weiteres Modul 990. Die Empfangs- und Sendeschnittstelle 991 des weiteren Moduls ist über einen Mux/Demux-Block 980 Empfangs-/Sende-Steuerungen (Rx/TxFIG. 9 shows three communication modules 910, 920, 930 as well as a further module 990. The receive and transmit interface 991 of the further module is via a mux / demux block 980 receive / transmit controls (Rx / Tx
Controls) 940, 950, 960 zugeordnet. Jeder dieser Steuerung 940, 950 bzw. 960 ist wiederum ebenfalls jeweils einer Empfangs- und Sendeschnittstelle 911, 921 bzw. 931 der Kommunikationsmodule 910, 920 bzw. 930 zugeordnet. Die Kommunikationsmodule 910, 920, 930 bzw. das weitere Modul 990 sind über Verbin- düngen 912, 922, 932 bzw. 992 mit der Host-Schnittstelle 900 verbunden. Ähnlich wie zu Fig. 8 beschrieben, können die Kommunikationsmodule 910, 920 bzw. 930 über Konfigurations- und Triggerverbindungen 915, 925 bzw. 935 das weitere Modul 990 konfigurieren bzw. triggern. Dazu sind die Konfigurations- und Triggerverbindungen 915, 925 bzw. 935 über Multiplexer MUX und Verbindungen 901 und 902 dem weiteren Modul 990 zugeordnet. Die Zuordnung zwischenControls) 940, 950, 960 assigned. Each of these controllers 940, 950 and 960 is in turn also each assigned to a receive and transmit interface 911, 921 and 931 of the communication modules 910, 920 and 930, respectively. The communication modules 910, 920, 930 and the further module 990 are connected to the host interface 900 via connections 912, 922, 932 and 992, respectively. Similar to that described with reference to FIG. 8, the communication modules 910, 920 and 930, respectively, can configure and trigger the further module 990 via configuration and trigger connections 915, 925 and 935, respectively. For this purpose, the configuration and trigger connections 915, 925 and 935 via multiplexer MUX and connections 901 and 902 are assigned to the further module 990. The assignment between
Kommunikationsmodul 910, 920 oder 930 und weiterem Modul 990 über diese Multiplexer MUX bzw. den Mux/Demux-Block 980 wird über die Zuordnungssteuerung 970 sowie über die Verbindungen 971, 972 bzw. 981 gesteuert. Die Steuerung geschieht dabei z.B. von einer zentralen Recheneinheit der Schaltungsan- Ordnung, z.B. einer CPU eines Mikrocontrollers. Alternativ könnte die Zuordnung auch von einem der Kommunikationsmodule selbst angefordert werden, ein Arbiter teilt das weitere Modul dann zu. Communication module 910, 920 or 930 and further module 990 via these multiplexers MUX or the mux / demux block 980 is controlled via the allocation controller 970 and via the connections 971, 972 and 981, respectively. The control is done e.g. from a central processing unit of the circuit arrangement, e.g. a CPU of a microcontroller. Alternatively, the assignment could also be requested by one of the communication modules themselves, an arbiter then allocates the further module.
Die beispielhafte Zuordnung 1:3 aus Fig. 9 kann mit entsprechender Skalierung bei Bedarf auch eine andere Anzahl n > 1 Kommunikationsmodule einem weiteren Modul zuordnen. Entsprechende Schaltungsanordnungen können dann 1 weiteres Modul und n zugeordnete Kommunikationsmodule aufweisen. Auch die Anzahl der weiteren Module ist skalierbar, so könnten m>l weitere Module n>l Kommunikationsmodulen flexibel zugeordnet sein. Als weiterer Sonderfall könn- ten auch mehrere weitere Module einem Kommunikationsmodul zugeordnet sein. Hierbei kann dann vorzugsweise ein weiteres Modul ein Kommunikationsmodul anfordern, ein Arbiter macht die Zuteilung. Diese Konfiguration eines weiteren Moduls mit mehreren Kommunikationsmodulen könnte z.B. in einem Aufbau sinnvoll sein, bei dem eine Schaltungsanordnung wie ein Mikrokontroller mehrere Kommunikationsschnittstellen hat, die nur zum Aushandeln von neuen Schlüsseln verwendet werden. Die gewonnenen Schlüssel könnten für die Kommunikation über weitere Kommunikationsschnittstellen verwendet werden. Dies ist möglich, weil das Aushandeln eines Schlüssels nur selten erfolgt und die Aushandlung und die Aktivschaltung selbst nur wenig Zeit in Anspruch nehmen. Ist eine solche Zuordnung eines weiteren Moduls zu mehreren Kommunikationsmodulen realisiert, so kann dieses weitere Modul z.B. auch Konfigurationsregister enthalten, die ebenfalls für Konfigurationen der Kommunikationsmodule herangezogen werden können. If required, the exemplary assignment 1: 3 from FIG. 9 can also be used to assign a different number n> 1 of communication modules to a further module with appropriate scaling. Corresponding circuit arrangements can then have 1 further module and n assigned communication modules. The number of further modules is also scalable, so m> l further modules could be flexibly assigned to n> 1 communication modules. As a further special case, several other modules could also be assigned to a communication module. In this case, a further module can then preferably request a communication module, an arbiter makes the allocation. This configuration of another module with multiple communication modules could be useful, for example, in a design in which a circuit arrangement such as a microcontroller has multiple communication interfaces that are used only for negotiating new keys. The keys obtained could be used for communication via further communication interfaces. This is possible because the negotiation of a key is rare and the negotiation and the active circuit itself only take a little time. If such an assignment of a further module to a plurality of communication modules is realized, then this further module can also contain, for example, configuration registers which can likewise be used for configurations of the communication modules.
RX/TX Control RX / TX Control
Zwei einander zugeordnete Module (Kommunikationsmodul und weiteres Modul) müssen in der Lage sein, auf demselben Übertragungskanal bzw. Bus Botschaften zu senden und zu empfangen. Um dies zu gewährleisten, gibt es verschiedene Alternativen. a) Tx-Signale zusammenführen: Die beiden Tx-Signale werden zusammengeführt (Bus-Emulation durch einfache UND-Verknüpfung). Das resultierende (verknüpfte) Tx-Signal wird auf den Transceiver geführt. Somit haben das Kommunikationsmodul und das weitere Modul zeitgleich Zugriff auf den Bus. Der große Vorteil ist hierbei, dass die beiden Module jederzeit beide am Bus angeschlossen sind und gegeneinander arbitrieren können (z.B. CAN-Bus-Arbitrierung). b) Tx-Signale zeitmultiplexen: Die beiden Tx-Signale werden im Zeitmultiplex am Transceiver angeschlossen. Damit die Module auf Ereignisse (z.B. Fehler) auf dem Bus reagieren können, ist es sinnvoll, auch die Rx-Signale synchron zu den Tx-Signalen zu multiplexen (d.h. mit dem Transceiver zu verbinden oder nicht). Damit ein zurzeit vom Bus getrenntes Kommunikationsmodul oder weiteres Modul kein Fehlverhalten aufzeigt (z.B. weil es eine Botschaft senden möchte), sind zusätzliche Maßnahmen notwendig, z.B. sollte das Modul per Software oder Hardware in einen Standby-Zustand versetzt werden können. c) Jedes Modul hat seinen eigenen Transceiver: Hierbei haben beide Module ihren dedizierten Transceiver. Der Transceiver des Kommunikationsmoduls und der Transceiver des weiteren Moduls sind am selben Bus angeschlossen. Two mutually associated modules (communication module and further module) must be able to send and receive messages on the same transmission channel or bus. To ensure this, there are several alternatives. a) Merge Tx signals: The two Tx signals are merged (bus emulation by simple AND operation). The resulting (linked) Tx signal is fed to the transceiver. Thus, the communication module and the further module have simultaneous access to the bus. The big advantage here is that both modules are always connected to the bus and can arbitrate against each other (eg CAN bus arbitration). b) Time division multiplexing Tx signals: The two Tx signals are connected in time multiplex on the transceiver. In order for the modules to be able to react to events (eg errors) on the bus, it makes sense to also multiplex the Rx signals synchronously with the Tx signals (ie to connect to the transceiver or not). So that a currently disconnected from the bus communication module or further module shows no misconduct (eg, because it wants to send a message) are additional measures are necessary, eg the module should be able to be put into a standby state via software or hardware. c) Each module has its own transceiver: both modules have their own dedicated transceiver. The transceiver of the communication module and the transceiver of the other module are connected to the same bus.
Konfiguration eines weiteren Moduls Configuration of another module
Das weitere Modul nimmt teilweise an der Bus- Kommunikation teil. Deshalb benötigt es auch Bus- Protokoll-spezifische Einstellungen so wie das Kommunikationsmodul. Für die Konfiguration des weiteren Moduls gibt es verschiedene Alternativen. Diese sind frei kombinierbar mit den verschiedenen, oben beschriebenen Zuordnungskombinationen zwischen dem Kommunikationsmodul und dem weiteren Modul. a) Das weitere Modul enthält Konfigurationsregister für die Protokoll-spezifischen Einstellungen. Das ermöglicht ein modulares, einfaches Design. Die Komplexität der Konfiguration wird in die Software verlagert. b) Das weitere Modul erhält die Einstellungen vom zugeordneten Kommunikationsmodul. Hierfür kann eine Verdrahtung der Konfigurationssignale ausreichend sein. Diese Möglichkeit ist in den Fig. 8 und 9 als Option dargestellt. Falls das weitere Modul mehreren Kommunikationsmodulen zugeordnet ist, kann z.B. ein Multiplexer zur Auswahl der passenden Konfigurationssignale verwendet werden. Ein Vorteil dieser Variante ist, dass das weitere Modul immer gleich konfiguriert ist wie das zugeordnete Kommunikationsmodul, dies vermeidet Konfigurationsfehler. The further module partly participates in the bus communication. Therefore, it also requires bus protocol-specific settings as well as the communication module. For the configuration of the further module there are different alternatives. These can be freely combined with the various assignment combinations described above between the communication module and the further module. a) The further module contains configuration registers for the protocol-specific settings. This allows a modular, simple design. The complexity of the configuration is shifted to the software. b) The further module receives the settings from the assigned communication module. For this purpose, a wiring of the configuration signals may be sufficient. This possibility is shown in FIGS. 8 and 9 as an option. If the further module is assigned to several communication modules, e.g. a multiplexer can be used to select the appropriate configuration signals. An advantage of this variant is that the further module is always configured the same as the assigned communication module, this avoids configuration errors.
Triggerung eines weiteren Moduls Triggering of another module
Für das Verfahren zur Generierung eines gemeinsamen Geheimnisses kann das weitere Modul von einem anderen Netzwerkteilnehmer über die gemeinsame Kommunikationsverbindung bzw. den gemeinsamen Bus getriggert werden. Dies ermöglicht, dass die weiteren Module der jeweiligen Netzwerkteilnehmer ihre Nachrichten mit den Teilnehmer-Wertfolgen (weitgehend) synchron auf der Kommunikationsverbindung übertragen. Die Triggerung erfolgt z.B. durch das Versenden einer speziellen Trigger- Botschaft oder implizit durch den Versand der Nachricht mit der Teilnehmer-Wertfolge (in diesem Fall kann dann die Nach- richten-ID z.B. als Trigger fungieren). For the method for generating a shared secret, the further module can be triggered by another network subscriber via the common communication connection or the common bus. This allows the other modules of the respective network participants their Transfer messages with the subscriber value sequences (largely) synchronously on the communication link. Triggering takes place, for example, by sending a special trigger message or implicitly by sending the message with the subscriber value sequence (in this case, the message ID can then act as a trigger, for example).
Alternativen für die Triggerung eines weiteren Moduls a) Das weitere Modul triggert sich selbst oder wird per Software, d.h. z.B. über eine Host- Recheneinheit der Schaltungsanordnung, z.B. eine Host-CPU eines Mikrocontrollers getriggert. b) Das weitere Modul wird vom zugeordneten Kommunikationsmodul getriggert. Hierfür ist eine Triggerleitung vom Kommunikationsmodul zum weiteren Modul notwendig. Falls das weitere Modul mehreren Kommunikationsmodulen zugeordnet ist, kann z.B. ein Multiplexer zur Auswahl der passenden Triggerleitung verwendet werden. Diese Möglichkeit ist in den Fig. 8 und 9 als Option dargestellt. Alternatives for triggering another module a) The further module triggers itself or is executed by software, i. e.g. via a host computing unit of the circuitry, e.g. triggered a host CPU of a microcontroller. b) The further module is triggered by the assigned communication module. This requires a trigger line from the communication module to the other module. If the further module is assigned to several communication modules, e.g. a multiplexer can be used to select the appropriate trigger line. This possibility is shown in FIGS. 8 and 9 as an option.
Minimierung des Risikos für Fehlverhalten Minimizing the risk of misconduct
Das weitere Modul wird in der Regel nur dann benötigt, wenn die speziellen (synchron übertragenen) Nachrichten für die Geheimnisgenerierung ausgetauscht werden sollen. Um das Risiko für das System durch ein Fehlverhalten des weiteren Moduls zu minimieren, kann das weitere Modul immer dann ausgeschaltet werden, wenn es nicht benötigt wird. In einer besonders sicheren Variante sollte das weitere Modul immer nur dann eingeschaltet werden, wenn sich das Gesamtsystem (z.B. ein PKW mit einem Kommunikationsnetzwerk) in einem unkritischen Betriebszustand befinden (z.B. im Fall des PKW„Motor aus" und / oder „Geschwindigkeit V=0 oder V<X" mit einer vorgegebenen Maximalgeschwindigkeit X oder Kommunikationsnetzwerk unterhalb einer bestimmten Belastungsschwelle). The further module is usually only required if the special (synchronously transmitted) messages for the secret generation are to be exchanged. In order to minimize the risk for the system by a misconduct of the further module, the further module can be switched off whenever it is not needed. In a particularly safe variant, the further module should always be switched on only when the overall system (eg a car with a communication network) is in a non-critical operating state (eg in the case of the car "engine off" and / or "speed V = 0) or V <X "with a given maximum speed X or communication network below a certain load threshold).

Claims

Ansprüche claims
1. Schaltungsanordnung, insbesondere Mikrocontroller, umfassend mindestens ein Kommunikationsmodul (910, 50) zur Kommunikation der Schaltungsanordnung als erster Netzwerkteilnehmer (21) mit mindestens einem zweiten Netzwerkteilnehmer (22) über einen Übertragungskanal (30), insbesondere eine Busverbindung, dadurch gekennzeichnet, dass die Schaltungsanordnung mindestens ein weiteres Modul (990, 60) für eine Erzeugung eines mit dem zweiten Netzwerkteilnehmer (22) gemeinsamen Geheimnisses für eine Schlüsselgenerie- rung aufweist, wobei die Schaltungsanordnung dazu eingerichtet ist, mithilfe des weiteren Moduls (990, 60) eine Übertragung einer ersten Wertfolge auf dem Übertragungskanal (30) zumindest weitgehend synchron zu einer Übertragung einer zweiten Wertfolge durch den zweiten Netzwerkteilnehmer (22) zu veranlassen sowie das Geheimnis für die Schlüsselgenerierung auf Basis der ersten Wertfolge und auf Basis der auf dem Übertragungskanal (30) bei der synchronen Übertragung der ersten Wertfolge und der zweiten Wertfolge resultierenden Wertfolge zu ermitteln. 1. Circuit arrangement, in particular microcontroller, comprising at least one communication module (910, 50) for communication of the circuit arrangement as the first network participant (21) with at least one second network participant (22) via a transmission channel (30), in particular a bus connection, characterized in that Circuit arrangement has at least one further module (990, 60) for generating a secret associated with the second network participant (22) for a key generation, wherein the circuit arrangement is set up to transmit a first one by means of the further module (990, 60) Value sequence on the transmission channel (30) at least substantially in synchronism with a transmission of a second value sequence by the second network subscriber (22) and the secret for the key generation on the basis of the first value sequence and on the basis of the transmission channel (30) in the synchronous transmission d he first value sequence and the second value sequence to determine the resulting value sequence.
2. Schaltungsanordnung nach Anspruch 1, dadurch gekennzeichnet, dass das Kommunikationsmodul (910, 50) einen LIN-Controller oder einen CAN-Controller umfasst. 2. Circuit arrangement according to claim 1, characterized in that the communication module (910, 50) comprises a LIN controller or a CAN controller.
3. Schaltungsanordnung nach Anspruch 1, dadurch gekennzeichnet, dass der Kommunikationskanal (30) Teil eines CAN-, TTCAN-, CAN FD-, LIN oder I2C- Bussystems ist, dass die erste und die zweite Wertfolge jeweils erste Werte und zweite Werte aufweisen können und dass der erste Wert ein rezessiver Buspegel ist und dass der zweite Wert ein dominanter Buspegel ist. 3. Circuit arrangement according to claim 1, characterized in that the communication channel (30) is part of a CAN, TTCAN, CAN FD, LIN or I2C bus system, that the first and the second value sequence can each have first values and second values and that the first value is a recessive bus level and that the second value is a dominant bus level.
4. Schaltungsanordnung nach einem der vorangegangenen Ansprüche, dadurch gekennzeichnet, dass das Kommunikationsmodul (50) und das weitere Modul (60) in einem gemeinsamen Schaltungsteil (70) integriert sind. 4. Circuit arrangement according to one of the preceding claims, characterized in that the communication module (50) and the further module (60) in a common circuit part (70) are integrated.
5. Schaltungsanordnung nach einem der Ansprüche 1 oder 2, dadurch gekennzeichnet, dass das mindestens eine Kommunikationsmodul (50, 810) und das mindestens eine weitere Modul (60, 820) in separaten Schaltungsteilen realisiert sind und dass jeweils eines der Kommunikationsmodule (50, 810) einem der weiteren Module (60, 820) zugeordnet ist. 5. Circuit arrangement according to one of claims 1 or 2, characterized in that the at least one communication module (50, 810) and the at least one further module (60, 820) are implemented in separate circuit parts and that in each case one of the communication modules (50, 810) is associated with one of the further modules (60, 820).
6. Schaltungsanordnung nach einem der Ansprüche 1 oder 2, dadurch gekennzeichnet, dass das mindestens eine Kommunikationsmodul (50) und das mindestens eine weitere Modul (60) in separaten Schaltungsteilen realisiert sind und dass jeweils mehrere weitere Module (60) einem Kommunikationsmodul (50) zugeordnet sind. 6. Circuit arrangement according to one of claims 1 or 2, characterized in that the at least one communication module (50) and the at least one further module (60) are realized in separate circuit parts and that in each case a plurality of further modules (60) a communication module (50). assigned.
7. Schaltungsanordnung nach einem der Ansprüche 1 oder 2, dadurch gekennzeichnet, dass das mindestens eine Kommunikationsmodul (910, 920, 930, 50) und das mindestens eine weitere Modul (990, 60) in separaten Schaltungsteilen realisiert sind und dass jeweils ein weiteres Modul (60, 990) mehreren Kommunikationsmodulen (50, 910, 920, 930) zugeordnet ist. 7. Circuit arrangement according to one of claims 1 or 2, characterized in that the at least one communication module (910, 920, 930, 50) and the at least one further module (990, 60) are realized in separate circuit parts and that in each case a further module (60, 990) is associated with a plurality of communication modules (50, 910, 920, 930).
8. Schaltungsanordnung nach einem der Ansprüche 1 oder 2, dadurch gekennzeichnet, dass das mindestens eine Kommunikationsmodul (50) und das mindestens eine weitere Modul (60) in separaten Schaltungsteilen realisiert sind und dass jeweils mehrere weitere Module (60) mehreren Kommunikationsmodulen (50) zugeordnet sind. 8. Circuit arrangement according to one of claims 1 or 2, characterized in that the at least one communication module (50) and the at least one further module (60) are realized in separate circuit parts and that in each case a plurality of further modules (60) a plurality of communication modules (50). assigned.
9. Schaltungsanordnung nach einem der vorangegangenen Ansprüche, dadurch gekennzeichnet, dass das mindestens eine weitere Modul (60) einen eigenen Transceiver umfasst. 9. Circuit arrangement according to one of the preceding claims, characterized in that the at least one further module (60) comprises a separate transceiver.
10. Schaltungsanordnung nach einem der vorangegangenen Ansprüche, dadurch gekennzeichnet, dass das mindestens eine weitere Modul (60) einen Transceiver mit dem Kommunikationsmodul (50) teilt. 10. Circuit arrangement according to one of the preceding claims, characterized in that the at least one further module (60) shares a transceiver with the communication module (50).
11. Schaltungsanordnung nach Anspruch 10, dadurch gekennzeichnet, dass Sendesignale des weiteren Moduls (820, 60) und Sendesignale des Kommunikationsmoduls (810, 50) zusammengeführt werden. 11. Circuit arrangement according to claim 10, characterized in that transmission signals of the further module (820, 60) and transmission signals of the communication module (810, 50) are brought together.
12. Schaltungsanordnung nach Anspruch 10, dadurch gekennzeichnet, dass für Sendesignale des weiteren Moduls (60) und Sendesignale des Kommunikati- onsmoduls (50) ein Zeit-Multiplexing durchgeführt wird. 12. Circuit arrangement according to claim 10, characterized in that for transmission signals of the further module (60) and transmission signals of the communication onsmoduls (50) a time-multiplexing is performed.
13. Schaltungsanordnung nach einem der vorangegangenen Ansprüche, dadurch gekennzeichnet, dass das weitere Modul (60) ein Konfigurationsregister (63) aufweist. 13. Circuit arrangement according to one of the preceding claims, characterized in that the further module (60) has a configuration register (63).
14. Schaltungsanordnung nach einem der vorangegangenen Ansprüche, dadurch gekennzeichnet, dass das weitere Modul (60) über mindestens ein Konfigurationsregister des Kommunikationsmoduls (50) konfigurierbar ist. 14. Circuit arrangement according to one of the preceding claims, characterized in that the further module (60) via at least one configuration register of the communication module (50) is configurable.
15. Schaltungsanordnung nach einem der vorangegangenen Ansprüche, dadurch gekennzeichnet, dass das weitere Modul (60) dazu eingerichtet ist, einen Startzeitpunkt für die Übertragung der ersten Wertfolge selbst zu ermitteln und die Übertragung entsprechend zu starten. 15. Circuit arrangement according to one of the preceding claims, characterized in that the further module (60) is adapted to determine a start time for the transmission of the first value sequence itself and to start the transmission accordingly.
16. Schaltungsanordnung nach einem der vorangegangenen Ansprüche, dadurch gekennzeichnet, dass das Kommunikationsmodul (50) dazu eingerichtet ist, einen Startzeitpunkt für die Übertragung der ersten Wertfolge zu ermitteln und die Übertragung durch das weitere Modul entsprechend auszulösen. 16. Circuit arrangement according to one of the preceding claims, characterized in that the communication module (50) is adapted to determine a start time for the transmission of the first value sequence and trigger the transmission by the further module accordingly.
17. Schaltungsanordnung nach einem der vorangegangenen Ansprüche, dadurch gekennzeichnet, dass die Schaltungsanordnung, insbesondere über eine zentrale Recheneinheit oder über das Kommunikationsmodul (50), dazu eingerichtet ist, eine Abschaltung des weiteren Moduls (60) für Zeiträume zu bewirken, für die keine Schlüsselgenerierung vorgesehen sind. 17. Circuit arrangement according to one of the preceding claims, characterized in that the circuit arrangement, in particular via a central processing unit or via the communication module (50), is adapted to effect a shutdown of the further module (60) for periods for which no key generation are provided.
18. Verfahren zur Generierung eines Geheimnisses oder eines Schlüssels in einem Netzwerk (20), wobei das Netzwerk (20) 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) und der zweite Teilnehmer (22) mindestens eine Schaltungsanordnung mit mindestens einem Kommunikationsmodul (50) zur Kommunikation über den Übertragungskanal (30) und mindestens einem weiteren Modul (60) aufweist, wobei der erste Teilnehmer18. A method for generating a secret or a key in a network, wherein the network comprises at least a first subscriber and a second subscriber with a common transmission channel between at least the first subscriber. 21) and the second subscriber (22), wherein the first subscriber (21) and the second subscriber (22) have at least one circuit arrangement with at least one communication module (50) for communication via the transmission channel (30). and at least one further module (60), wherein the first participant
(21) einen ersten Wert (1) und einen zweiten Wert (0) und der zweite Teilnehmer(21) a first value (1) and a second value (0) and the second subscriber
(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 jeweils über das mindestens eine weitere Modul (60) ihrer Schaltungsanordnung zur zueinander weitgehend synchronen Übertragung auf dem Übertragungskanal (30) veranlassen und wobei der erste Teilnehmer (21) auf Basis von Informationen über die erste Teilnehmerwertfolge sowie auf Basis einer aus einer Überlagerung der ersten Teilnehmerwertfolge mit der zweiten Teilnehmerwertfolge auf dem Übertragungskanal (30) resultierenden Überlagerungswertfolge und der zweite Teilnehmer (22) auf Basis von Informationen über die zweite Teilnehmerwertfolge sowie auf Basis der aus der Überlagerung der ersten Teilnehmerwertfolge mit der zweiten Teilnehmerwertfolge auf dem Übertragungskanal (30) resultierenden Überlagerungswertfolge jeweils ein gemeinsames Geheimnis oder einen gemeinsamen Schlüssel generieren. (22) can give at least the first value (1) and the second value (0) to the transmission channel (30), wherein the first subscriber (21) a first subscriber value sequence and the second subscriber (22) a second subscriber value sequence respectively via the at least a further module (60) of their circuit arrangement for largely synchronous transmission on the transmission channel (30) cause and wherein the first subscriber (21) based on information about the first subscriber value sequence and on the basis of a superposition of the first subscriber value sequence with the second subscriber value sequence on the transmission channel (30) resulting superposition value sequence and the second subscriber (22) based on information about the second subscriber value sequence and on the basis of the superposition of the first subscriber value sequence with the second subscriber value sequence on the transmission channel (30) resulting overlapping value sequence each have a common secret or generate a shared key.
19. Computerprogramm, welches dazu eingerichtet ist, die Schritte des Verfahrens nach Anspruch 18 durchzuführen. A computer program adapted to perform the steps of the method of claim 18.
20. Elektronisches Speichermedium, auf welchem ein Computerprogramm nach Anspruch 19 gespeichert ist. 20. An electronic storage medium on which a computer program according to claim 19 is stored.
PCT/EP2016/074368 2015-10-15 2016-10-11 Circuit arrangement for generating a secret or key in a network WO2017064075A1 (en)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
DE102015220057.4 2015-10-15
DE102015220057.4A DE102015220057A1 (en) 2015-10-15 2015-10-15 Circuitry for generating a secret or key in a network

Publications (1)

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

Family

ID=57130382

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/EP2016/074368 WO2017064075A1 (en) 2015-10-15 2016-10-11 Circuit arrangement for generating a secret or key in a network

Country Status (2)

Country Link
DE (1) DE102015220057A1 (en)
WO (1) WO2017064075A1 (en)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE102020203604A1 (en) 2020-03-20 2021-09-23 Airbus Operations Gmbh COMMUNICATION KEY GENERATION IN AN AVIONICS NETWORK AND METHOD FOR GENERATING COMMUNICATION KEYS FOR NETWORK PARTICIPANTS IN AN AVIONICS NETWORK

Citations (7)

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

Patent Citations (7)

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

Non-Patent Citations (3)

* Cited by examiner, † Cited by third party
Title
"BOSCH CAN SPECIFICATION VERSION 2.0", BOSCH CAN SPECIFICATION VERSION 2.0, XX, XX, 1 September 1991 (1991-09-01), pages 1 - 69, XP002291910 *
"Road vehicles ? Controller area network (CAN) ? Part 1: Data link layer and physical signalling ; ISO+11898-1-2003", IEEE DRAFT; ISO+11898-1-2003, IEEE-SA, PISCATAWAY, NJ USA, vol. msc.upamd, 18 November 2010 (2010-11-18), pages 1 - 52, XP017637056 *
ANONYMOUS: "On-off keying - Wikipedia, the free encyclopedia", 21 April 2014 (2014-04-21), XP055185652, Retrieved from the Internet <URL:http://en.wikipedia.org/w/index.php?title=On-off_keying&oldid=605206869> [retrieved on 20150424] *

Also Published As

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

Similar Documents

Publication Publication Date Title
EP3138258B1 (en) Method for generating a secret or a key in a network
DE102015220038A1 (en) A method of creating a secret or key in a network
DE102016208451A1 (en) A method of creating a secret or key in a network
WO2017064075A1 (en) Circuit arrangement for generating a secret or key in a network
EP3363145B1 (en) Method and device for producing a common secret
EP3363146B1 (en) Method for generating a key in a circuit assembly
WO2017064124A1 (en) Circuit arrangement for producing a secret or a key in a network
WO2017064027A1 (en) Method for generating a secret or a key in a network
WO2016188667A1 (en) Method for generating a secret or a key in a network
WO2017064025A1 (en) Method for generating a secret or a key in a network
WO2017064067A1 (en) Method for generating a key in a network and for activating the securing of communication in the network on the basis of the key
DE102016208453A1 (en) A method of creating a secret or key in a network
WO2017064129A1 (en) Method for generating a secret for a one-time encryption in a network
WO2017064131A1 (en) Method for generating a secret or key in a network
WO2017064009A1 (en) Method and apparatus for refreshing a first joint secret, in particular a symmetrical cryptographic key, between a first node and a second node of a communication system
WO2017064125A1 (en) Method for generating a secret or a key in a network
WO2017064002A1 (en) Method and device for generating a joint secret
DE102016208452A1 (en) A method of creating a secret or key in a network
WO2017064006A1 (en) Method and device for producing a common key in a field bus system
WO2017064005A1 (en) Transmission module for use in the generation of a secret on the basis of dominant and recessive signals
DE102016208448A1 (en) A method of creating a secret or key in a network
DE102015220009A1 (en) Circuit arrangement for generating a secret in a network
WO2017063995A1 (en) Method for generating a secret or a key in a network
DE102015219991A1 (en) Method and apparatus for establishing a shared secret

Legal Events

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

Ref document number: 16781108

Country of ref document: EP

Kind code of ref document: A1

NENP Non-entry into the national phase

Ref country code: DE

122 Ep: pct application non-entry in european phase

Ref document number: 16781108

Country of ref document: EP

Kind code of ref document: A1