WO2017064010A1 - Method for generating a secret code in in a network - Google Patents

Method for generating a secret code in in a network Download PDF

Info

Publication number
WO2017064010A1
WO2017064010A1 PCT/EP2016/074225 EP2016074225W WO2017064010A1 WO 2017064010 A1 WO2017064010 A1 WO 2017064010A1 EP 2016074225 W EP2016074225 W EP 2016074225W WO 2017064010 A1 WO2017064010 A1 WO 2017064010A1
Authority
WO
WIPO (PCT)
Prior art keywords
subscriber
secret
value sequence
transmission
value
Prior art date
Application number
PCT/EP2016/074225
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 WO2017064010A1 publication Critical patent/WO2017064010A1/en

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/08Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
    • H04L9/0816Key establishment, i.e. cryptographic processes or cryptographic protocols whereby a shared secret becomes available to two or more parties, for subsequent use
    • 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
    • H04L2209/00Additional information or applications relating to cryptographic mechanisms or cryptographic arrangements for secret or secure communication H04L9/00
    • H04L2209/84Vehicles

Definitions

  • the present invention relates to a method for generating a secret in a network with at least two subscribers, as well as a network, a computing unit and a computer program for its implementation.
  • the Applicant has proposed a method for generating a secret or key in a network, which uses a superimposition of signals of two subscribers on a common transmission medium.
  • the network has at least a first and a second subscriber and a transmission channel between at least the first and the second subscriber.
  • the first and second subscribers may each provide at least a first value and a second value to the transmission channel.
  • the first subscriber and the second subscriber initiate a first subscriber value sequence or a second subscriber value sequence for transmission to the transmission channel which is largely synchronous with one another.
  • the first subscriber or the second subscriber On the basis of information about the first subscriber value sequence or the second subscriber value sequence and on the basis of an overlay value sequence resulting from a superposition of the first subscriber value sequence with the second subscriber value sequence on the transmission channel, the first subscriber or the second subscriber generate a shared secret or a common key.
  • connections standing administrator eg higher-level control device o. ⁇ .
  • a common secret between the two participants of a network with a common transmission channel between at least the two participants is established.
  • the administrator does not necessarily have to be different from the participants. Rather, some or all administration steps can also be performed by one of the participants.
  • the invention allows a defined sequence of secret generation even in real environments with numerous participants with possibly different hierarchy levels.
  • a shared secret between two different subscribers of a network, which can be used in particular for generating a symmetric cryptographic 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.
  • a method for generating a secret based on a superimposition of dominant and recessive signals for example, according to DE 10 2015 207 220 A1 is used, wherein the network at least a first and a second subscriber and a transmission channel between at least the first and the second subscriber having.
  • the first and second subscribers may each provide at least a first value and a second value to the transmission channel.
  • the first subscriber or the second subscriber initiate a first subscriber value sequence or a second subscriber value sequence for transmission to the transmission channel which is largely synchronous with one another.
  • the first subscriber or the second subscriber On the basis of information about the first subscriber value sequence or the second subscriber value sequence and on the basis of an overlay value sequence resulting from a superposition of the first subscriber value sequence with the second subscriber value sequence on the transmission channel, the first subscriber or the second subscriber generate a shared secret.
  • the method can be used in a network in which there is a dominant value (physically: a dominant signal), which prevails when only one subscriber applies it to the transmission medium, and a recessive value (physically: a recessive signal ), which only results on the transmission medium if both or all participants transmit a recessive value.
  • a dominant value physically: a dominant signal
  • a recessive value physically: a recessive signal
  • the transmission of a recessive value of at least one of the subscribers can also be replaced by the fact that at this point the value sequence or, as one of the at least two possible values, nothing is transmitted.
  • the invention provides an approach for generating symmetric, cryptographic keys between two nodes by exploiting properties of the physical layer.
  • the approach is particularly suitable for wireline and optical communication systems, provided that these 'on-off-keying' or a bitwise bus Support arbitration (eg CAN, TTCAN, CAN-FD, LIN, l 2 C).
  • CAN CAN, TTCAN, CAN-FD, LIN, l 2 C.
  • wireless, (radio based) communication systems preferably with a very short distance between transmitter and receiver and a possible direct line of sight
  • all communication systems that enable a distinction between dominant and recessive signals are suitable for use.
  • the methods described herein can be used in a variety of wireless, wired and optical communication systems.
  • the approach described here for the machine-to-machine communication that is for the transmission of data between different sensors, actuators, etc., which generally have only very limited resources and may not be manageable with reasonable effort manually Field can be configured.
  • An inventive participant e.g. a control device, a sensor or an actuator, in particular a motor vehicle, an industrial plant, a home automation network, etc., is, in particular programmatically, configured to perform a method according to the invention.
  • Suitable data carriers for providing the computer program are in particular magnetic, optical and electrical memories, such as e.g. Hard drives, flash memory, EEPROMs, DVDs, etc. It is also possible to download a program via computer networks (Internet, intranet, etc.).
  • Figure 1 shows schematically the structure of an exemplary, underlying communication system.
  • Figure 2 shows schematically a linear bus as an example of an underlying communication system.
  • FIG. 3 schematically shows the sequence of a first preferred method for secret generation between two subscribers of a network.
  • FIG. 4 schematically shows the sequence of a second preferred method for secret generation between two subscribers of a network.
  • FIG. 5 schematically shows the sequence of a third preferred method for secret generation between two subscribers of a network.
  • FIG. 6 schematically shows the sequence of a fourth preferred method for secret generation between two subscribers of a network.
  • FIG. 7 schematically shows the sequence of an exemplary method for encrypted communication between two subscribers of a network.
  • Figure 8 shows a preferred embodiment of a circuit arrangement which can be advantageously used for the invention.
  • this shared transmission medium corresponds to a linear bus (wired or optical) 30, as illustrated by way of example in FIG.
  • a network 20 in FIG. 2 consists of precisely this linear bus 30 as a shared transmission medium (for example as a wired transmission channel), subscribers or nodes 21, 22 and 23 as well as (optional) bus terminations 31 and 32.
  • communication between the various nodes 21, 22 and 23 is assumed to be characterized by the distinction between dominant and recessive values.
  • the possible values are bits '0' and '1'.
  • a dominant bit for example, the logical bit ⁇ '
  • may quasi supersede a simultaneously transmitted recessive bit e.g., the logical bit ⁇ ).
  • the transmission of values of different subscribers must have overlapping periods (ie be largely synchronous within the meaning of this application), so that a superposition of the individual signals of a signal sequence on the transmission medium takes place, in particular so that the signal corresponding to the n-th logical value or bit of the first subscriber with the signal corresponding to the n-th logical value or bit of the second subscriber at least partially superimposed.
  • This overlay should be sufficiently long for the participants to be able to record the overlay or determine the corresponding overlay value.
  • the superimposition value can be determined by arbitration mechanisms or by physical signal superposition. By arbitration mechanism is meant, for example, the case that a subscriber has applied a recessive level, but detects a dominant level on the bus and thus omits the further transmission.
  • the subscribers can then generate a key that is secret to an outside attacker.
  • the outside attacker who can, for example, listen to the effective overall signals present on the shared transmission medium, only sees 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.
  • FIGS. 3 to 6 An exemplary, particularly preferred realization is explained below with reference to FIGS. 3 to 6, in which different preferred variants of a method according to the invention for generating a secret between the two subscribers 21 and 22 ("Alice” and “Bob") in the network 20 under administration or administration of the acting as an administrator participant 23 (“Carol”) are shown.
  • One or both subscribers 21 and 23 may, for carrying out the invention, have in particular a circuit arrangement 100 connected to a network or communication system embodied here as CAN bus 1, as shown in FIG.
  • the illustrated CAN bus is a two-wire bus with two CAN-H (high) and CAN-L (low) lines.
  • the circuit arrangement 100 is physically connected to the CAN bus 1 via a bus driver module or a transceiver module 90.
  • the circuit arrangement 100 furthermore has a central processing unit embodied as a microprocessor 10, a network interface module designed here as a CAN controller 20, a security module 30, a transmitting and receiving module 40, a multiplexer or distributor module 50, a communication system ( Host IF (interface)) 60 and a security communication system (Secure IF) 70, for example in the form of an on-chip bus system or a crossbar.
  • the components 10 - 50 and communication systems 60 and 70 may also be part of a microcontroller 90, which is indicated in FIG. 1 by a dashed line.
  • the transceiver module 40 is configured to generate CAN frames for the purpose of secret network communication, to generate a shared secret between a subscriber including the circuitry 100 and another subscriber based on a random string representing the transmission Receiving and receiving module 40, in particular bitwise, receives from the security module 30.
  • the transmitting and receiving module 40 is configured here to transfer the CAN frames via connections Tx to the multiplexer module 50, which is connected to the bus driver module 90.
  • the CAN controller 20 is configured to generate CAN frames or messages for the purpose of non-secret-generating network communication and to transfer them to the multiplexer block 50 via connections Tx.
  • the transmitting and receiving module 40 is expediently configured to optionally cancel a transmission. omission if a bit other than CAN is read back from the CAN bus 1, as the transmitting and receiving module 40 has sent.
  • the multiplexer module 50 By appropriate (fixed or switchable) configuration of the multiplexer module 50, an optional connection of the CAN controller 20 and / or the transmitting and receiving module 40 to the bus driver module 90 can be made.
  • it may be a link in which the CAN controller 20 and the transmitting and receiving module 40 receive simultaneously, the receiving direction is thus linked in parallel, and can also send both, the transmission direction is therefore also linked in parallel.
  • a signal flow control can be provided which prevents simultaneous transmission.
  • the CAN controller 20 runs an optional trigger line to the transmitting and receiving module 40. This is used so that the CAN controller 20 can output a corresponding trigger signal to the transmitting and receiving module 40 when he requesting a secret generation message on the CAN bus 1 detects.
  • the transmitting and receiving module is set up to listen to the normal communication on the CAN bus 1 and interpret the messages themselves suitable. Thus, upon detection of a message requesting a secret generation, the send and receive module 40 may itself start the secret generation.
  • the trigger line can be omitted in this embodiment.
  • the trigger signal is output from the central processing unit or the security module via its own trigger line or preferably via the communication system (host IF or secure IF).
  • the central processing unit 10 writes the payload (in particular the identifier, the determination whether this frame is a data or remote transmission request frame, the specification of how many data bytes are to be sent and the data bytes to be sent) in the Transmit data buffer of the CAN controller 20, which then prepares for transmission on the bus 1 and transmits the entire frame to the transceiver block 90, which is responsible for the direct bus connection. That is, the CAN controller 20 relieves the central processing unit 10 of all data transfer work, since it independently takes over the compilation of the message, the calculation of the CRC sum, the access to the bus (the bus arbitration), the transmission of the frame and the error check.
  • the payload in particular the identifier, the determination whether this frame is a data or remote transmission request frame, the specification of how many data bytes are to be sent and the data bytes to be sent
  • Secret generation can now be e.g. be triggered by receiving a message requesting a secret generation.
  • the security module 30 is configured to generate a random bit sequence as a character string by means of a preferably non-deterministic random number generator and to transmit it bit by bit to the transmitting and receiving module 40.
  • the transmitting and receiving module 40 accepts the individual bit values of the bit sequence as the first sub-value sequence and inverts it to generate a second sub-value sequence. Subsequently, a subscriber value sequence for the transmission to the CAN bus 1 is generated from the first partial value sequence and the second partial value sequence in accordance with a design specification. According to a particularly preferred design rule, one bit each of the first partial value sequence and the associated inverted bit of the second partial value sequence are combined into bit pairs and transmitted immediately one after the other.
  • the resulting overlay bit pair consisting of two dominant bits ('00' in CAN) if the bits of the two users are different and the overlay bit pair is identical to the bit pair, if the bits of the respective first partial value sequence of the two subscribers are identical.
  • the overlay bit pairs are read back in the embodiment shown by the transmitting and receiving module 40. Alternatively, reading back via the CAN controller 20 is also possible.
  • the overlay bit pairs can be transmitted to the security module 30 (eg, by the send and receive module 40 or the CAN controller 20) and evaluated there.
  • the transmitting and receiving module 40 be set up for evaluation.
  • the evaluation includes checking the number of recessive bits in each overlay bit pair (and, in the case of the transmit and receive module 40, returning it to the security module 30).
  • the number can be 0 or 1, in the variant described here 0 means that the bit of the other user differs from the bit of the bit sequence just transmitted, and 1 means that the bit of the other user is identical to the one just transmitted Bit of the bit string is.
  • the security module 30 can determine the subscriber value sequence of the second subscriber and then, in particular according to the initially referenced DE 10 2015 207 220 A1, generate a shared secret with the second subscriber.
  • FIGS. 3 to 6 the administration steps of the subscriber 23 are respectively shown in the left-hand column of the figure and the steps executed by the two subscribers 21, 22 are shown in the right-hand column of the FIGURE. Participants 21 and 22 execute their respective identically named steps simultaneously or substantially simultaneously (possibly with a slight jitter). Information exchanged between the administrator on the one hand and the two participants on the other hand is also shown between the columns.
  • a first administration step C1.1 subscriber 23 sends to subscriber 21 and subscriber 22 a request that they should establish a shared secret:
  • This step can be realized, for example, via a request message that is sent via the shared communication medium.
  • the request message can be generated in a sequence control (for example within a microprocessor or within an optionally present security module and sent to a component for transmission.
  • This component can be, for example, a conventional network interface module (eg CAN controller) or a transceiver module that is specific to the secret generation. These It is expedient for components to communicate with a bus driver module which handles the physical communication.
  • a conventional network interface module eg CAN controller
  • a transceiver module that is specific to the secret generation.
  • the component for transmission can also have a computing unit and be designed or set up to generate the prompt message itself.
  • subscriber 23 receives a feedback from both subscriber 21 and subscriber 22 that they are ready to establish the shared secret:
  • This step may, for example, be realized via a return message received via the shared communication medium.
  • the feedback message can be received via the component for transmission and (if necessary) via a suitable subscriber-internal interface to a computing unit (eg microprocessor or security module).
  • a computing unit eg microprocessor or security module.
  • the component for transmission can also have a computing unit.
  • an abort criterion is implemented in order to abort the process, for example if the return message is too long ("timeout") or if an abort message is received instead of the return message (C1.5).
  • an administration step C1 .3 the procedure for generating the key is initiated in the two subscribers. This can be realized via an initiation message. With regard to the transmission of this initiation message, that already applies to the request message and the confirmation message.
  • subscriber 23 receives a completion message which indicates the successful completion of the secret generation by subscriber 21 and subscriber 22. Then the process ends.
  • subscriber 23 receives no message ("timeout") or an abort message from subscriber 21 and / or subscriber 22 that the establishment of the shared secret has been aborted (i.e., unsuccessful). Then the process ends. In addition, subscribers 21 and 22 can be informed of the cancellation.
  • participant 21 and participants 22 of participant 23 receive the request that they should establish a shared secret.
  • This step can - as explained, be realized via the request message.
  • the request message can be received via the component for transmission and (if necessary) via a suitable subscriber-internal interface to a computing unit (eg microprocessor or security module).
  • a computing unit eg microprocessor or security module
  • the component for transmission could also have a computing unit.
  • participants 21 and participants 22 first check whether they themselves are affected by the request. If they are not affected, the process ends.
  • a suitable interpretation of the request from step A & B1.1 can take place in a computing unit.
  • This can be implemented in the microprocessor, in the security module or in the component for transmission.
  • the message may need to be forwarded by the component for transmission to the arithmetic unit via a corresponding subscriber-internal interface (for example Host IF or Secure IF).
  • step A & B 1.3 preparatory tasks are performed by participant 21 and participant 22.
  • additional configurations / settings for example for the component for transmission
  • additional information for example random bit string
  • the random bit string is generated by the security module and made available for transmission via a suitable interface (eg secure IF) of the component.
  • the random bit string is generated by the microprocessor or the component for transmission itself.
  • a step A & B1.4 it is confirmed to subscriber 23 that subscriber 21 and subscriber 22 are ready to generate the shared secret.
  • the feedback message may be generated in a sequencer (eg within a microprocessor or within an optionally existing security module and sent to a component for transmission.) These components expediently communicate with a bus driver module that handles the physical communication. Alternatively, the component for transmission can also have a computing unit and be designed or set up to generate the feedback message itself.
  • a sequencer eg within a microprocessor or within an optionally existing security module and sent to a component for transmission.
  • These components expediently communicate with a bus driver module that handles the physical communication.
  • the component for transmission can also have a computing unit and be designed or set up to generate the feedback message itself.
  • a step A & B1.5 the method for generating the key in subscriber 21 and subscriber 22 is initiated. This can be done - as explained - by the kick-off message from participant 23. For the receipt of the kick-off message that already applies to the request message and feedback message applies. If the initiation message is received by a network interface module as a component for transmission, the network interface module can forward a subscriber-initiated initiation message ("trigger signal") to a transmitting and receiving module.
  • trigger signal subscriber-initiated initiation message
  • the initiation message can be forwarded to a suitable arithmetic unit (for example microprocessor or security module) which interprets the initiation message and then, in turn, transmits the information about the abutment to the send and receive module via a suitable subscriber-internal interface (host IF or secure IF).
  • a suitable arithmetic unit for example microprocessor or security module
  • host IF or secure IF a suitable subscriber-internal interface
  • an abort criterion is implemented in this step in order, for example, to abort the process if the abortion is too long ("timeout") after the request (A & B1.6).
  • step A & B1.6 subscriber 21 and subscriber 22 receive no message ("timeout") or subscriber 21 and / or subscriber 22 inform subscriber 23 that the establishment of the shared secret has been aborted (for any reason) instead of the initiate message (ie was not successful). Then the process ends.
  • step A & B1.7 it is possible to wait for the expiration of a (possibly previously configured) waiting time before proceeding to step A & B1.8.
  • the waiting process can be implemented in particular in the transmitting and receiving module.
  • the waiting time may be, for example, in the form of a time unit (relative: "wait for x seconds" - or absolutely: “wait until y: z o'clock") or, for example, be given in the form of a number of received messages.
  • the waiting period may be subscriber 21 and subscriber 22 be different. The waiting time can be used to ensure that the two messages are started at exactly the same time.
  • step A & B1.8 the network communication between subscriber 21 and subscriber required for generating a shared secret based on a method for generating a secret based on a superposition of dominant and recessive signals, preferably according to already referenced DE 10 2015 207 220 A1, becomes necessary 22 settled.
  • These include, among other things, the transmission of subscriber value sequences packaged in one or more messages as a secret-relevant portion of the data used to generate the secret and the reading back of an overlay value sequence.
  • a refinement of the method for secret generation between the users based on a superimposition of dominant and recessive signals provides that the first subscriber value sequence and the second subscriber value sequence each have a first partial value sequence and a second partial value sequence, the second partial value sequence being derived from the first partial value sequence by inverting ie exchanging first values for second values and exchanging second values for first values.
  • the first partial value sequence and the second partial value sequence can be transmitted one after the other.
  • a preferred method is proposed, in which the values of the first and the second partial value sequences are sorted into a subscriber value sequence, whereby at least one value of the second partial value sequence has already been transmitted before all values of the first partial value sequence have been transmitted.
  • the transmission of the message is carried out by the component for transmission and is preferably such that, despite a (at least partial) superposition, nevertheless a message corresponding to the communication protocol used during the normal communication results without error on the channel.
  • a message corresponding to the communication protocol used during the normal communication results without error on the channel.
  • sub-step A & B1.8.1 a check is made as to whether the arbitration phase is lost and the transmission must be stopped.
  • the CAN bus 1 in addition to the participants 21, 22 and 23 may be connected to other participants who want to perform a communication.
  • arbitration i. Access negotiation
  • the CAN's own methods are expediently used, wherein an access request of the participants 21 and 22 may also be less prioritized than an access request of another participant and is therefore unsuccessful. If the transmission has to be stopped, you can try again to list the step group A & B1.8 (then possibly with or without step A & B1 .7) or (for example after a predetermined number of unsuccessful attempts) to abort the process in step A & B1 .6 become.
  • protocol-compliant network messages are generated and transmitted in steps A & B1 .8.2, A & B1 .8.3 and A & B1 .8.4.
  • step A & B1.8.2 necessary stuffing or stuffing bits are inserted into the payload data to be transmitted. For example, in a CAN transmission after five equal bits, an inverse bit is inserted as a stuffing bit to interrupt a monotone sequence. This is to prevent the transmission between transmitter and receiver from drifting apart (eg due to slightly different clock signals of the involved ICs or communication participants).
  • step A & B1 .8.3 a checksum for the CAN message is calculated.
  • the checksum is preferably calculated on the basis of the overlay bits, so that uninvolved subscribers do not detect a faulty transmission.
  • step A & B1.8.4 a check for possible errors (for example, a CRC error) can take place.
  • the secret relevant portion of the secret generation data is optionally configured in advance (or generated internally in the transmitting and receiving module for transmission) or during transmission by a control unit (eg microprocessor, security module or within the transmitting and receiving module) (generated and ).
  • a control unit eg microprocessor, security module or within the transmitting and receiving module
  • the signal generated on the shared communication channel is read back from the component for transmission.
  • This information is needed to calculate the shared secret.
  • the message read back (or at least the part relevant to the calculation of the shared secret) must, if appropriate, be forwarded via a suitable interface (for example Host IF or Secure IF) to a module which is designed to calculate the shared secret.
  • the module must be aware of the random bit string used for sending.
  • the shared secret is calculated by a security module.
  • the microprocessor or the transmitting and receiving module can be designed to calculate the shared secret.
  • the shared secret is calculated based on the respective subscriber value success and the overlay value sequence.
  • the shared secret is calculated by the security module in the subscriber.
  • the microprocessor or the transmitting and receiving module can also be designed and set up to calculate the shared secret.
  • subscribers 21 and subscribers 22 indicate by sending a completion message that the secret generation has been successfully completed.
  • the completion message may contain a value indicating the length of the (already) established shared secret.
  • the length of the (already) established common secret can be determined beforehand in step A & B1 .9.
  • step A & B1.9 there is information about the length of the already established shared secret and can thus be determined independently by user 21 and user 22. If the already established common secret does not correspond to the intended / desired length, it is possible, by repeating corresponding steps, to create common secrets of any length. Possible alternatives are shown in FIGS. 4 to 7.
  • FIG. 4 shows that step A & B 1.10 is modified such that the completion message contains the value that provides information about the length of the (already) established shared secret, without simultaneously reporting the successful completion of the secret generation. Subsequently, the method is continued after step A & B1 .2.
  • Step C1 .4 is modified to indicate, based on the value contained in the completion message, which provides information about the length of the (already) established shared secret, whether the procedure is terminated (with a sufficiently long secret) or with the step C1.2 is continued (if the secret is insufficient).
  • FIG. 5 shows a modification of FIG. 4, wherein the feedback in step A & B1.4 is skipped, since the involved parties are already known about the impact at this time.
  • Step C1 .4 is modified such that, if the secret is not sufficiently long, step C1.2 is continued. Since a feedback according to step A & B1 .4 does not occur here, step C1.2 is modified so that it does not wait for the response. In order nevertheless to obtain a termination criterion, step C1.2 is preferably modified to check how many times this step has already been run through and to compare the number with an abort threshold, at the time of which it branches to the abort step C1 .5.
  • FIG. 6 shows a modification of FIG. 4, with both the feedback in step A & B1 .4 and the triggering message and its handling being skipped in steps A & B1 .5, A & B1.6, since the affected parties at this point in time are affected the kick-off are already known.
  • step C1 .4 is modified to wait for a successful completion message. Under the condition that a burst-like behavior (ie a stringing together of messages) is used to establish arbitrarily long shared secrets, there is a further optimized sequence in which the participant 21 and participant 22 only have to perform selected steps and no administrative tasks (for example, performed by participants 23).
  • the burst-like behavior can be constructed in such a way that no participant other than subscriber 21 and subscriber 22 can secure access to the channel (for example by falling below a possible inter-frame gap to be observed in the protocol specification). In this case, the repetition of the arbitration step A & B1 .8.1 omitted. If the bursty behavior can be interrupted, the arbitration step A & B1 .8.1 must be carried out in accordance with the recovery of the bus access.
  • subscribers 21 and subscribers 22 can derive therefrom a symmetric cryptographic key, which it may then have to be validated by the communication partners.
  • the cryptographic key Once the cryptographic key is established, it can be used to execute cryptographic primitives (for example, to maintain confidentiality, verify authenticity, or ensure data integrity).
  • the raw data to be encrypted is generated by one of the participating subscribers. It may be, for example, sensor data or command data.
  • the raw data is generated at the application level (eg, typically within the microprocessor or possibly in the security module or other entity).
  • B1 .2 if the module that generated the raw data is not in possession of the symmetric key, the raw data is passed to a component in possession of the symmetric key.
  • the module in possession of the symmetric key is the security module.
  • instructions may be passed that identify which cryptographic primitive (s) should be applied to the raw data
  • B1 .3 the cryptographic primitives are calculated or cryptographic information (for example encrypted raw data or a message authentication code) is generated.
  • the raw data and / or the cryptographic information for transmission via the shared communication medium are forwarded to the component for transmission (preferably the CAN controller or alternatively the transmitting and receiving module).
  • the forwarding may, under certain circumstances, take place directly from the security module or from the security module via the microprocessor location.
  • step A B1 .5
  • the raw data and / or the cryptographic information is sent via the shared medium.
  • the procedure To receive a message with cryptographic information, the procedure must be used in reverse order to decrypt and / or verify correctness.

Abstract

The invention relates to a method for generating a secret code in a network (20), said network (20) having at least one first and one second subscriber (21, 22) with a common transmission channel (30) between at least the first and the second subscriber (21, 22) and an administrator (23). A secret code between the first and the second subscriber (21, 22) is obtained according to a method for generating a secret code based on a superimposition of dominant and recessive signals when they are initiated (C1.3) by the administrator (23).

Description

Beschreibung Titel  Description title
Verfahren zur Generierung eines Geheimnisses in einem Netzwerk  Method for generating a secret in a network
Die vorliegende Erfindung betrifft ein Verfahren zur Generierung eines Geheimnisses in einem Netzwerk mit wenigstens zwei Teilnehmern, sowie ein Netzwerk, eine Recheneinheit und ein Computerprogramm zu dessen Durchführung. The present invention relates to a method for generating a secret in a network with at least two subscribers, as well as a network, a computing unit and a computer program for its implementation.
Stand der Technik State of the art
Von der Anmelderin wurde in der nachveröffentlichten DE 10 2015 207 220 A1 ein Verfahren zur Generierung eines Geheimnisses oder Schlüssels in einem Netzwerk vorgestellt, welches sich einer Überlagerung von Signalen zweier Teilnehmer auf einem gemeinsamen Übertragungsmedium bedient. Hierbei weist das Netzwerk mindestens einen ersten und einen zweiten Teilnehmer und einen Übertragungskanal zwischen mindestens dem ersten und dem zweiten Teilnehmer auf. Der erste und der zweite Teilnehmer können jeweils mindestens einen ersten Wert und einen zweiten Wert auf den Übertragungskanal geben. Der erste Teilnehmer und der zweite Teilnehmer veranlassen eine erste Teilnehmerwertfolge bzw. eine zweite Teilnehmerwertfolge zur zueinander weitgehend synchronen Übertragung auf den Übertragungskanal. Auf Basis von Informationen über die erste Teilnehmerwertfolge bzw. die zweite Teilnehmerwertfolge sowie auf Basis einer aus einer Überlagerung der ersten Teilnehmerwertfolge mit der zweiten Teilnehmerwertfolge auf dem Übertragungskanal resultierenden Überlagerungswertfolge generieren der erste Teilnehmer bzw. der zweite Teilnehmer ein gemeinsames Geheimnis oder einen gemeinsamen Schlüssel. In the subsequently published DE 10 2015 207 220 A1, the Applicant has proposed a method for generating a secret or key in a network, which uses a superimposition of signals of two subscribers on a common transmission medium. In this case, the network has at least a first and a second subscriber and a transmission channel between at least the first and the second subscriber. The first and second subscribers may each provide at least a first value and a second value to the transmission channel. The first subscriber and the second subscriber initiate a first subscriber value sequence or a second subscriber value sequence for transmission to the transmission channel which is largely synchronous with one another. On the basis of information about the first subscriber value sequence or the second subscriber value sequence and on the basis of an overlay value sequence resulting from a superposition of the first subscriber value sequence with the second subscriber value sequence on the transmission channel, the first subscriber or the second subscriber generate a shared secret or a common key.
Offenbarung der Erfindung Erfindungsgemäß werden ein Verfahren zur Generierung eines Geheimnisses in einem Netzwerk mit wenigstens zwei Teilnehmern, sowie ein Netzwerk, eine Recheneinheit und ein Computerprogramm zu dessen Durchführung mit den Merkmalen der unabhängigen Patentansprüche vorgeschlagen. Vorteilhafte Ausgestaltungen sind Gegenstand der Unteransprüche sowie der nachfolgenden Beschreibung. Disclosure of the invention According to the invention, a method for generating a secret in a network with at least two subscribers, as well as a network, a computing unit and a computer program for carrying it out with the features of the independent patent claims are proposed. Advantageous embodiments are the subject of the dependent claims and the following description.
Im Rahmen der Erfindung werden Methoden beschrieben, bei denen durch Veranlassung eines mit zwei Teilnehmern (z.B. ein Steuergerät, ein Sensor oder ein Aktor, insbesondere eines Kraftfahrzeugs, einer Industrieanlage, eines Heimautomationsnetzes usw.) in datenübertragender Verbindung stehenden Administrators (z.B. übergeordnetes Steuergerät o.ä.) ein gemeinsames Geheimnis zwischen den zwei Teilnehmern eines Netzwerks mit einem gemeinsamen Übertragungskanal zwischen zumindest den zwei Teilnehmern etabliert wird. Dabei muss der Administrator sich nicht zwangsweise von den Teilnehmern unterscheiden. Vielmehr können einige oder alle Administrationsschritte auch von einem der Teilnehmer durchgeführt werden. In the context of the invention, methods are described in which by initiating a with two participants (eg, a control unit, a sensor or an actuator, in particular a motor vehicle, an industrial plant, a home automation network, etc.) in data transmitting connection standing administrator (eg higher-level control device o. Ä.) A common secret between the two participants of a network with a common transmission channel between at least the two participants is established. The administrator does not necessarily have to be different from the participants. Rather, some or all administration steps can also be performed by one of the participants.
Die Erfindung ermöglicht einen definierten Ablauf der Geheimnisgenerierung auch in realen Umgebungen mit zahlreichen Teilnehmern mit ggf. auch unterschiedlichen Hierarchiestufen. The invention allows a defined sequence of secret generation even in real environments with numerous participants with possibly different hierarchy levels.
Mit der Erfindung ist es möglich, zwischen zwei verschiedenen Teilnehmern eines Netzwerks ein gemeinsames Geheimnis zu etablieren, welches insbesondere zur Generierung eines symmetrischen kryptographischen Schlüssels 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. With the invention, it is possible to establish a shared secret between two different subscribers of a network, which can be used in particular for generating a symmetric cryptographic 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.
Vorzugsweise wird ein Verfahren zur Generierung eines Geheimnisses basierend auf einer Überlagerung von dominanten und rezessiven Signalen, beispielsweise gemäß der DE 10 2015 207 220 A1 eingesetzt, wobei das Netzwerk mindestens einen ersten und einen zweiten Teilnehmer und einen Übertragungskanal zwischen mindestens dem ersten und dem zweiten Teilnehmer aufweist. Der erste und der zweite Teilnehmer können jeweils mindestens einen ersten Wert und einen zweiten Wert auf den Übertragungskanal geben. Der erste Teilnehmer bzw. der zweite Teilnehmer veranlassen eine erste Teilnehmerwertfolge bzw. eine zweite Teilnehmerwertfolge zur zueinander weitgehend synchronen Übertragung auf den Übertragungskanal. Auf Basis von Informationen über die erste Teilnehmerwertfolge bzw. die zweite Teilnehmerwertfolge sowie auf Basis einer aus einer Überlagerung der ersten Teilnehmerwertfolge mit der zweiten Teilnehmerwertfolge auf dem Übertragungskanal resultierenden Überlagerungswertfolge generieren der erste Teilnehmer bzw. der zweite Teilnehmer ein ge- meinsames Geheimnis. Preferably, a method for generating a secret based on a superimposition of dominant and recessive signals, for example, according to DE 10 2015 207 220 A1 is used, wherein the network at least a first and a second subscriber and a transmission channel between at least the first and the second subscriber having. The first and second subscribers may each provide at least a first value and a second value to the transmission channel. The first subscriber or the second subscriber initiate a first subscriber value sequence or a second subscriber value sequence for transmission to the transmission channel which is largely synchronous with one another. On the basis of information about the first subscriber value sequence or the second subscriber value sequence and on the basis of an overlay value sequence resulting from a superposition of the first subscriber value sequence with the second subscriber value sequence on the transmission channel, the first subscriber or the second subscriber generate a shared secret.
Besonders vorteilhaft kann das Verfahren in einem Netzwerk eingesetzt werden, in dem es einen dominanten Wert (physikalisch: ein dominantes Signal) gibt, der sich durchsetzt, wenn nur ein Teilnehmer ihn auf dem Übertragungsmedium anlegt, und einen rezessiven Wert (physikalisch: ein rezessives Signal), der auf dem Übertragungsmedium nur resultiert, wenn beide bzw. alle Teilnehmer einen rezessiven Wert übertragen. Aufgrund der hiermit klar vorgegebenen Überlagerungsregeln können die Teilnehmer eines solchen Netzwerks aus resultierenden Überlagerungswertfolgen besonders einfach Informationen zur Geheimnisgene- rierung ableiten. Particularly advantageously, the method can be used in a network in which there is a dominant value (physically: a dominant signal), which prevails when only one subscriber applies it to the transmission medium, and a recessive value (physically: a recessive signal ), which only results on the transmission medium if both or all participants transmit a recessive value. Because of the clearly defined overlay rules, the subscribers of such a network can derive from the resulting overlay value sequences particularly easily information for the generation of the secret.
Alternativ kann die Übertragung eines rezessiven Wertes von mindestens einem der Teilnehmer auch dadurch ersetzt werden, dass an dieser Stelle der Wertfolge bzw. als einer der mindestens zwei möglichen Werte gar nichts übertragen wird. Alternatively, the transmission of a recessive value of at least one of the subscribers can also be replaced by the fact that at this point the value sequence or, as one of the at least two possible values, nothing is transmitted.
Die Erfindung stellt einen Ansatz zur Generierung symmetrischer, kryptographi- scher Schlüssel zwischen zwei Knoten unter Ausnutzung von Eigenschaften der Bitübertragungsschicht dar. Der Ansatz eignet sich insbesondere für Drahtgebundene und optische Kommunikationssysteme, sofern diese 'On-Off-Keying' bzw. eine bitweise Bus-Arbitrierung unterstützen (z.B. CAN, TTCAN, CAN-FD, LIN, l2C). Aber auch in drahtlosen, (funkbasierten) Kommunikationssystemen, vorzugsweise mit einer sehr kurzen Distanz zwischen Sender und Empfänger und einer möglichen direkten Sichtverbindung, kann der Ansatz verwendet werden. Grundsätzlich bieten sich für einen Einsatz alle Kommunikationssystemen an, die eine Unterscheidung von dominanten und rezessiven Signalen (wie oben beschrieben) ermöglichen. Die hier beschriebenen Verfahren können damit bei einer Vielzahl von drahtlosen, drahtgebundenen und optischen Kommunikationssystemen eingesetzt werden kann. Besonders interessant ist der beschriebene Ansatz dabei für die Maschine-zu-Maschine-Kommunikation, also für die Übertragung von Daten zwischen verschiedenen Sensoren, Aktuatoren, etc., die im Allgemeinen nur über sehr begrenzte Ressourcen verfügen und ggf. nicht mit vertretbarem Aufwand manuell im Feld konfiguriert werden können. The invention provides an approach for generating symmetric, cryptographic keys between two nodes by exploiting properties of the physical layer. The approach is particularly suitable for wireline and optical communication systems, provided that these 'on-off-keying' or a bitwise bus Support arbitration (eg CAN, TTCAN, CAN-FD, LIN, l 2 C). But also in wireless, (radio based) communication systems, preferably with a very short distance between transmitter and receiver and a possible direct line of sight, the approach can be used. In principle, all communication systems that enable a distinction between dominant and recessive signals (as described above) are suitable for use. The methods described herein can be used in a variety of wireless, wired and optical communication systems. Of particular interest is the approach described here for the machine-to-machine communication, that is for the transmission of data between different sensors, actuators, etc., which generally have only very limited resources and may not be manageable with reasonable effort manually Field can be configured.
Weitere Einsatzmöglichkeiten gibt es beispielsweise in der Heim- und Gebäudeautomatisierung, der Telemedizin, Car-to-X-Systemen oder der industriellen Automatisierungstechnik. Besonders interessant ist auch der Einsatz bei zukünftigen Kleinst-Sensoren mit Funkschnittstelle sowie in allen Anwendungsbereichen des CAN-Busses, d.h. insbesondere der Fahrzeugvernetzung oder der Automatisierungstechnik. Further application possibilities are, for example, in home and building automation, telemedicine, car-to-x systems or industrial automation technology. Of particular interest is the use in future miniature sensors with radio interface as well as in all application areas of the CAN bus, i. in particular vehicle networking or automation technology.
Eine erfindungsgemäßer Teilnehmer, z.B. ein Steuergerät, ein Sensor oder ein Aktor, insbesondere eines Kraftfahrzeugs, einer Industrieanlage, eines Heimautomationsnetzes usw., ist, insbesondere programmtechnisch, dazu eingerichtet, ein erfindungsgemäßes Verfahren durchzuführen. An inventive participant, e.g. a control device, a sensor or an actuator, in particular a motor vehicle, an industrial plant, a home automation network, etc., is, in particular programmatically, configured to perform a method according to the invention.
Auch die Implementierung des Verfahrens in Form eines Computerprogramms ist vorteilhaft, da dies besonders geringe Kosten verursacht, insbesondere wenn ein ausführendes Steuergerät noch für weitere Aufgaben genutzt wird und daher ohnehin vorhanden ist. Geeignete Datenträger zur Bereitstellung des Computerprogramms sind insbesondere magnetische, optische und elektrische Speicher, wie z.B. Festplatten, Flash-Speicher, EEPROMs, DVDs u.a.m. Auch ein Download eines Programms über Computernetze (Internet, Intranet usw.) ist möglich. Also, the implementation of the method in the form of a computer program is advantageous because this causes very low costs, especially if an executive controller is still used for other tasks and therefore already exists. Suitable data carriers for providing the computer program are in particular magnetic, optical and electrical memories, such as e.g. Hard drives, flash memory, EEPROMs, DVDs, etc. It is also possible to download a program via computer networks (Internet, intranet, etc.).
Weitere Vorteile und Ausgestaltungen der Erfindung ergeben sich aus der Beschreibung und der beiliegenden Zeichnung. Die Erfindung ist anhand von Ausführungsbeispielen in der Zeichnung schematisch dargestellt und wird im Folgenden unter Bezugnahme auf die Zeichnung beschrieben. Kurze Beschreibung der Zeichnungen Further advantages and embodiments of the invention will become apparent from the description and the accompanying drawings. The invention is illustrated schematically by means of embodiments in the drawing and will be described below with reference to the drawing. Brief description of the drawings
Figur 1 zeigt schematisch den Aufbau eines beispielhaften, zugrundeliegenden Kommunikationssystems. Figur 2 zeigt schematisch einen linearen Bus als Beispiel eines zugrundeliegenden Kommunikationssystems. Figure 1 shows schematically the structure of an exemplary, underlying communication system. Figure 2 shows schematically a linear bus as an example of an underlying communication system.
Figur 3 zeigt schematisch den Ablauf eines ersten bevorzugten Verfahrens zur Geheimnisgenerierung zwischen zwei Teilnehmern eines Netzwerks. FIG. 3 schematically shows the sequence of a first preferred method for secret generation between two subscribers of a network.
Figur 4 zeigt schematisch den Ablauf eines zweiten bevorzugten Verfahrens zur Geheimnisgenerierung zwischen zwei Teilnehmern eines Netzwerks. FIG. 4 schematically shows the sequence of a second preferred method for secret generation between two subscribers of a network.
Figur 5 zeigt schematisch den Ablauf eines dritten bevorzugten Verfahrens zur Geheimnisgenerierung zwischen zwei Teilnehmern eines Netzwerks. FIG. 5 schematically shows the sequence of a third preferred method for secret generation between two subscribers of a network.
Figur 6 zeigt schematisch den Ablauf eines vierten bevorzugten Verfahrens zur Geheimnisgenerierung zwischen zwei Teilnehmern eines Netzwerks. Figur 7 zeigt schematisch den Ablauf eines beispielhaften Verfahrens zur verschlüsselten Kommunikation zwischen zwei Teilnehmern eines Netzwerks. FIG. 6 schematically shows the sequence of a fourth preferred method for secret generation between two subscribers of a network. FIG. 7 schematically shows the sequence of an exemplary method for encrypted communication between two subscribers of a network.
Figur 8 zeigt eine bevorzugte Ausführungsform einer Schaltungsanordnung, welche für die Erfindung vorteilhaft eingesetzt werden kann. Figure 8 shows a preferred embodiment of a circuit arrangement which can be advantageously used for the invention.
Ausführungsform(en) der Erfindung Embodiment (s) of the invention
Im Folgenden wird eine Anordnung betrachtet, wie sie abstrakt in Figur 1 dargestellt ist. Dabei können verschiedene Teilnehmer 1 , 2 und 3 über ein so genann- tes geteiltes Übertragungsmedium ("shared medium") 10 miteinander kommunizieren. In the following, an arrangement is considered, as it is shown abstractly in FIG. Different participants 1, 2 and 3 can talk about such a shared shared medium 10 communicate with each other.
In einer vorteilhaften Ausprägung der Erfindung entspricht dieses geteilte Über- tragungsmedium einem linearen Bus (drahtgebunden oder optisch) 30, wie er beispielhaft in Figur 2 dargestellt ist. Ein Netzwerk 20 in Figur 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. In an advantageous embodiment of the invention, this shared transmission medium corresponds to a linear bus (wired or optical) 30, as illustrated by way of example in FIG. A network 20 in FIG. 2 consists of precisely this linear bus 30 as a shared transmission medium (for example as a wired transmission channel), subscribers or nodes 21, 22 and 23 as well as (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 Werte die Bits '0' und '1 ' angenommen. Dabei kann ein dominantes Bit (z.B. das logische Bit Ό') ein gleichzeitig übertragenes rezessives Bit (z.B. das logische Bit Ύ) 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 bits '0' and '1'. In this case, a dominant bit (for example, the logical bit Ό ') may quasi supersede a simultaneously transmitted recessive bit (e.g., the logical bit Ύ).
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.
Die Übertragung von Werten unterschiedlicher Teilnehmer muss dabei überschneidende Zeiträume haben (d.h. im Sinne dieser Anmeldung weitgehend synchron sein), so dass eine Überlagerung der einzelnen Signale einer Signalfolge auf dem Übertragungsmedium erfolgt, insbesondere so, 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. Der Überlagerungswert kann dabei durch Arbitrierungsmechanismen oder durch physikalische Signalüberlagerung bestimmt sein. Mit Arbitrierungsmechanismus ist beispielsweise der Fall gemeint, dass ein Teilnehmer einen rezessiven Pegel angelegt hat, aber auf dem Bus einen dominanten Pegel detektiert und somit die weitere Übertragung unterlässt. The transmission of values of different subscribers must have overlapping periods (ie be largely synchronous within the meaning of this application), so that a superposition of the individual signals of a signal sequence on the transmission medium takes place, in particular so that the signal corresponding to the n-th logical value or bit of the first subscriber with the signal corresponding to the n-th logical value or bit of the second subscriber at least partially superimposed. This overlay should be sufficiently long for the participants to be able to record the overlay or determine the corresponding overlay value. The superimposition value can be determined by arbitration mechanisms or by physical signal superposition. By arbitration mechanism is meant, for example, the case that a subscriber has applied a recessive level, but detects a dominant level on the bus and thus omits the further transmission.
Aus der resultierenden Wertfolge der Überlagerung (d.h. Überlagerungswertfolge) und der eigenen Wertfolge (d.h. Teilnehmerwertfolge) 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 Teil- nehmer 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 (i.e., overlay value sequence) and its own value sequence (i.e., subscriber value sequence), the subscribers can then generate a key that is secret to an outside attacker. The reason for this is that the outside attacker, who can, for example, listen to the effective overall signals present on the shared transmission medium, only sees 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.
Eine beispielhafte, besonders bevorzugte Realisierung wird im Folgenden unter Bezugnahme auf die Figuren 3 bis 6 erläutert, in denen unterschiedliche bevorzugte Varianten eines erfindungsgemäßen Verfahrens zur Generierung eines Geheimnisses zwischen den zwei Teilnehmern 21 und 22 ("Alice" und "Bob") in dem Netzwerk 20 unter Verwaltung bzw. Administration des als Administrator fungierenden Teilnehmers 23 ("Carol") dargestellt sind. An exemplary, particularly preferred realization is explained below with reference to FIGS. 3 to 6, in which different preferred variants of a method according to the invention for generating a secret between the two subscribers 21 and 22 ("Alice" and "Bob") in the network 20 under administration or administration of the acting as an administrator participant 23 ("Carol") are shown.
Einer oder beide Teilnehmer 21 und 23 können für die Durchführung der Erfindung insbesondere eine mit einem hier als CAN-Bus 1 ausgebildeten Netzwerk bzw. Kommunikationssystem verbundene Schaltungsanordnung 100 aufweisen, wie sie in Figur 8 dargestellt ist. Bei dem dargestellten CAN-Bus handelt es sich um einen Zweidraht-Bus mit zwei Leitungen CAN-H (High) und CAN-L (Low). EinOne or both subscribers 21 and 23 may, for carrying out the invention, have in particular a circuit arrangement 100 connected to a network or communication system embodied here as CAN bus 1, as shown in FIG. The illustrated CAN bus is a two-wire bus with two CAN-H (high) and CAN-L (low) lines. One
CAN-Bus mit nur einer Leitung ist auch möglich. Die Erfindung lässt sich jedoch auch für andere Kommunikationssysteme, die eine Übertragung von dominanten und rezessiven Signalen zulassen, verwenden. Dies gilt insbesondere für LIN- oder l2C-basierte Kommunikationssysteme. Die Schaltungsanordnung 100 ist mit dem CAN-Bus 1 physikalisch über einen Bustreiber-Baustein bzw. einen Transceiver-Baustein 90 verbunden. Die Schaltungsanordnung 100 verfügt weiterhin über eine als Mikroprozessor 10 ausgebildete zentrale Recheneinheit, einen hier als CAN-Controller 20 ausgebildeten Netzwerkschnittstellen-Baustein, ein Sicherheitsmodul 30, ein Sende- und Empfangsmodul 40, einen Multiplexer- bzw. Verteiler-Baustein 50, ein Kommunikationssystem (Host IF (Interface)) 60 und ein Sicherheitskommunikationssystem (Secure IF) 70, z.B. jeweils in Form eines On-Chip-Bussystems oder einer Crossbar. CAN bus with only one line is also possible. However, the invention can also be used for other communication systems that allow transmission of dominant and recessive signals. This is especially true for LIN or I 2 C based communication systems. The circuit arrangement 100 is physically connected to the CAN bus 1 via a bus driver module or a transceiver module 90. The circuit arrangement 100 furthermore has a central processing unit embodied as a microprocessor 10, a network interface module designed here as a CAN controller 20, a security module 30, a transmitting and receiving module 40, a multiplexer or distributor module 50, a communication system ( Host IF (interface)) 60 and a security communication system (Secure IF) 70, for example in the form of an on-chip bus system or a crossbar.
Die Komponenten 10 - 50 sowie Kommunikationssysteme 60 und 70 können auch Bestandteil eines Mikrocontrollers 90 sein, was in Figur 1 durch eine gestrichelte Linie angedeutet ist. The components 10 - 50 and communication systems 60 and 70 may also be part of a microcontroller 90, which is indicated in FIG. 1 by a dashed line.
Das Sende- und Empfangsmodul 40 ist dazu eingerichtet, zum Zwecke einer einer Geheimnisgenerierung dienenden Netzwerkkommunikation CAN-Rahmen bzw. Nachrichten zur Erzeugung eines gemeinsamen Geheimnisses zwischen einem die Schaltungsanordnung 100 enthaltenden Teilnehmer und einem weiteren Teilnehmer auf Grundlage einer zufälligen Zeichenfolge zu erzeugen, die das Sende- und Empfangsmodul 40, insbesondere bitweise, von dem Sicherheitsmodul 30 erhält. The transceiver module 40 is configured to generate CAN frames for the purpose of secret network communication, to generate a shared secret between a subscriber including the circuitry 100 and another subscriber based on a random string representing the transmission Receiving and receiving module 40, in particular bitwise, receives from the security module 30.
Das Sende- und Empfangsmodul 40 ist hier dazu eingerichtet, die CAN-Rahmen über Verbindungen Tx an den Multiplexer-Baustein 50 zu übergeben, welcher mit dem Bustreiber-Baustein 90 verbunden ist. The transmitting and receiving module 40 is configured here to transfer the CAN frames via connections Tx to the multiplexer module 50, which is connected to the bus driver module 90.
Der CAN-Controller 20 ist dazu eingerichtet, zum Zwecke einer nicht einer Geheimnisgenerierung dienenden Netzwerkkommunikation CAN-Rahmen bzw. Nachrichten zu erzeugen und über Verbindungen Tx an den Multiplexer-Baustein 50 zu übergeben. The CAN controller 20 is configured to generate CAN frames or messages for the purpose of non-secret-generating network communication and to transfer them to the multiplexer block 50 via connections Tx.
Das Sende- und Empfangsmodul 40 ist zweckmäßigerweise im Unterschied zum CAN-Controller 20 dazu eingerichtet, wahlweise das Abbrechen einer Übertra- gung zu unterlassen, falls ein anderswertiges Bit vom CAN-Bus 1 zurück gelesen wird, als das Sende- und Empfangsmodul 40 gesendet hat. In contrast to the CAN controller 20, the transmitting and receiving module 40 is expediently configured to optionally cancel a transmission. omission if a bit other than CAN is read back from the CAN bus 1, as the transmitting and receiving module 40 has sent.
Durch entsprechende (feste oder umschaltbare) Konfiguration des Multiplexer- Bausteins 50 kann eine wahlfreie Verbindung des CAN-Controllers 20 und/oder des Sende- und Empfangsmoduls 40 mit dem Bustreiber-Baustein 90 hergestellt werden. In einfacher Ausgestaltung kann es sich um eine Verknüpfung handeln, bei der der CAN-Controller 20 und das Sende- und Empfangsmodul 40 gleichzeitig empfangen, die Empfangsrichtung also parallel verknüpft ist, und auch beide senden können, die Senderichtung also auch parallel verknüpft ist. Gewünsch- tenfalls kann eine Signalflusskontrolle vorgesehen sein, die ein gleichzeitiges Senden verhindert. By appropriate (fixed or switchable) configuration of the multiplexer module 50, an optional connection of the CAN controller 20 and / or the transmitting and receiving module 40 to the bus driver module 90 can be made. In a simple embodiment, it may be a link in which the CAN controller 20 and the transmitting and receiving module 40 receive simultaneously, the receiving direction is thus linked in parallel, and can also send both, the transmission direction is therefore also linked in parallel. If desired, a signal flow control can be provided which prevents simultaneous transmission.
Vom CAN-Controller 20 verläuft eine optionale Triggerleitung zum Sende- und Empfangsmodul 40. Diese dient dazu, dass der CAN-Controller 20 ein entsprechendes Trigger-Signal an das Sende- und Empfangsmodul 40 ausgegeben kann, wenn er eine eine Geheimnisgenerierung anfordernde Nachricht auf dem CAN-Bus 1 feststellt. Alternativ ist das Sende- und Empfangsmodul dazu eingerichtet, die normale Kommunikation auf dem CAN-Bus 1 mitzuhören und die Botschaften selbst geeignet zu interpretieren. So kann das Sende- und Empfangsmodul 40 bei Feststellen einer eine Geheimnisgenerierung anfordernden Nachricht die Geheimnisgenerierung selbst starten. Die Triggerleitung kann in dieser Ausgestaltung entfallen. In einer bevorzugten Ausführungsform wird das Triggersignal von der zentralen Recheneinheit oder dem Sicherheitsmodul - über eine eigene Triggerleitung oder vorzugsweise über das Kommunikationssystem (Host- IF bzw. Secure-IF) - ausgegeben. From the CAN controller 20 runs an optional trigger line to the transmitting and receiving module 40. This is used so that the CAN controller 20 can output a corresponding trigger signal to the transmitting and receiving module 40 when he requesting a secret generation message on the CAN bus 1 detects. Alternatively, the transmitting and receiving module is set up to listen to the normal communication on the CAN bus 1 and interpret the messages themselves suitable. Thus, upon detection of a message requesting a secret generation, the send and receive module 40 may itself start the secret generation. The trigger line can be omitted in this embodiment. In a preferred embodiment, the trigger signal is output from the central processing unit or the security module via its own trigger line or preferably via the communication system (host IF or secure IF).
Für einen herkömmlichen Sendevorgang schreibt die zentrale Recheneinheit 10 die Nutzdaten (insbesondere den Identifier; die Festlegung, ob dieser Frame ein Daten- oder Remote-Transmission Request-Frame ist; die Angabe, wie viele Datenbytes gesendet werden sollen und die auszusendenden Datenbytes) in den Sende-Datenpuffer des CAN-Controllers 20, der diese dann für die Übertragung auf dem Bus 1 vorbereitet und den kompletten Frame zum Transceiver-Baustein 90 überträgt, der für die direkte Busankopplung verantwortlich ist. Das heißt, der CAN-Controller 20 entlastet die zentrale Recheneinheit 10 von allen Datenübertragungsarbeiten, da er die Zusammenstellung der Botschaft, die Berechnung der CRC-Summe, den Zugriff auf den Bus (die Busarbitrierung), das Aussenden des Frames und die Fehlerüberprüfung selbstständig übernimmt. For a conventional transmission process, the central processing unit 10 writes the payload (in particular the identifier, the determination whether this frame is a data or remote transmission request frame, the specification of how many data bytes are to be sent and the data bytes to be sent) in the Transmit data buffer of the CAN controller 20, which then prepares for transmission on the bus 1 and transmits the entire frame to the transceiver block 90, which is responsible for the direct bus connection. That is, the CAN controller 20 relieves the central processing unit 10 of all data transfer work, since it independently takes over the compilation of the message, the calculation of the CRC sum, the access to the bus (the bus arbitration), the transmission of the frame and the error check.
Eine Geheimnisgenerierung kann nun z.B. durch Empfang einer eine Geheim- nisgenerierung anfordernden Nachricht ausgelöst werden. Secret generation can now be e.g. be triggered by receiving a message requesting a secret generation.
Gemäß einer bevorzugten Ausführungsform der Erfindung ist das Sicherheitsmodul 30 dazu eingerichtet, mittels eines vorzugsweise nicht deterministischen Zufallsgenerators eine zufällige Bitfolge als Zeichenfolge zu erzeugen und an das Sende- und Empfangsmodul 40 bitweise zu übertragen. According to a preferred embodiment of the invention, the security module 30 is configured to generate a random bit sequence as a character string by means of a preferably non-deterministic random number generator and to transmit it bit by bit to the transmitting and receiving module 40.
Das Sende- und Empfangsmodul 40 nimmt die einzelnen Bitwerte der Bitfolge als erste Teilwertfolge entgegen und invertiert diese, um eine zweite Teilwertfolge zu erzeugen. Anschließend wird aus der ersten Teilwertfolge und der zweiten Teilwertfolge nach Maßgabe einer Konstruktionsvorschrift eine Teilnehmerwertfolge für die Übertragung auf den CAN-Bus 1 erzeugt. Gemäß einer besonders bevorzugten Konstruktionsvorschrift werden jeweils ein Bit der ersten Teilwertfolge und das zugehörige invertierte Bit der zweiten Teilwertfolge zu Bitpaaren kombiniert und unmittelbar nacheinander übertragen. The transmitting and receiving module 40 accepts the individual bit values of the bit sequence as the first sub-value sequence and inverts it to generate a second sub-value sequence. Subsequently, a subscriber value sequence for the transmission to the CAN bus 1 is generated from the first partial value sequence and the second partial value sequence in accordance with a design specification. According to a particularly preferred design rule, one bit each of the first partial value sequence and the associated inverted bit of the second partial value sequence are combined into bit pairs and transmitted immediately one after the other.
Bei einer Überlagerung mit einem Bitpaar eines zweiten Teilnehmers führt dies dazu, dass das sich ergebende Überlagerungsbitpaar aus zwei dominanten Bits ('00' bei CAN) besteht, wenn die Bits der beiden Teilnehmer unterschiedlich sind, und das Überlagerungsbitpaar mit dem Bitpaar identisch ist, wenn die Bits der jeweiligen ersten Teilwertfolge der beiden Teilnehmer identisch sind. Die Überlagerungsbitpaare werden in der gezeigten Ausführungsform vom Sende- und Empfangsmodul 40 rückgelesen. Alternativ ist das Zurücklesen auch über den vom CAN-Controller 20 möglich. When superimposed with a bit pair of a second user, this results in the resulting overlay bit pair consisting of two dominant bits ('00' in CAN) if the bits of the two users are different and the overlay bit pair is identical to the bit pair, if the bits of the respective first partial value sequence of the two subscribers are identical. The overlay bit pairs are read back in the embodiment shown by the transmitting and receiving module 40. Alternatively, reading back via the CAN controller 20 is also possible.
Die Überlagerungsbitpaare können an das Sicherheitsmodul 30 (z.B. vom Sende- und Empfangsmodul 40 oder vom CAN-Controller 20) übertragen und dort ausgewertet werden. Alternativ kann auch das Sende- und Empfangsmodul 40 zur Auswertung eingerichtet sein. Die Auswertung umfasst insbesondere, die Anzahl der rezessiven Bits in jedem Überlagerungsbitpaar zu überprüfen (und im Falle des Sende- und Empfangsmoduls 40 an das Sicherheitsmodul 30 rückzu- melden). Die Anzahl kann 0 oder 1 sein, wobei in der hier beschriebenen Varian- te 0 bedeutet, dass das Bit des anderen Teilnehmers sich von dem soeben übertragenen Bit der Bitfolge unterscheidet, und 1 bedeutet, dass das Bit des anderen Teilnehmers identisch mit dem soeben übertragenen Bit der Bitfolge ist. The overlay bit pairs can be transmitted to the security module 30 (eg, by the send and receive module 40 or the CAN controller 20) and evaluated there. Alternatively, the transmitting and receiving module 40 be set up for evaluation. In particular, the evaluation includes checking the number of recessive bits in each overlay bit pair (and, in the case of the transmit and receive module 40, returning it to the security module 30). The number can be 0 or 1, in the variant described here 0 means that the bit of the other user differs from the bit of the bit sequence just transmitted, and 1 means that the bit of the other user is identical to the one just transmitted Bit of the bit string is.
Auf diese Weise kann das Sicherheitsmodul 30 die Teilnehmerwertfolge des zweiten Teilnehmers ermitteln und anschließend, insbesondere gemäß der einleitend referenzierten DE 10 2015 207 220 A1 ein gemeinsames Geheimnis mit dem zweiten Teilnehmer erzeugen. In this way, the security module 30 can determine the subscriber value sequence of the second subscriber and then, in particular according to the initially referenced DE 10 2015 207 220 A1, generate a shared secret with the second subscriber.
In den Figuren 3 bis 6 sind die Administrationsschritte des Teilnehmers 23 je- weils in der linken Spalte der Figur und die von den beiden Teilnehmern 21 , 22 ausgeführten Schritte in der rechten Spalte der Figur dargestellt. Die Teilnehmer 21 und 22 führen ihre jeweiligen gleich bezeichneten Schritte gleichzeitig oder im Wesentlichen gleichzeitig (ggf. mit einem geringen Jitter behaftet) aus. Zwischen dem Administrator einerseits und den beiden Teilnehmern andererseits ausge- tauschte Informationen sind zwischen den Spalten ebenfalls dargestellt. In FIGS. 3 to 6, the administration steps of the subscriber 23 are respectively shown in the left-hand column of the figure and the steps executed by the two subscribers 21, 22 are shown in the right-hand column of the FIGURE. Participants 21 and 22 execute their respective identically named steps simultaneously or substantially simultaneously (possibly with a slight jitter). Information exchanged between the administrator on the one hand and the two participants on the other hand is also shown between the columns.
In einem ersten Administrationsschritt C1.1 sendet Teilnehmer 23 an Teilnehmer 21 und Teilnehmer 22 eine Aufforderung, dass sie ein gemeinsames Geheimnis etablieren sollen: In a first administration step C1.1, subscriber 23 sends to subscriber 21 and subscriber 22 a request that they should establish a shared secret:
Dieser Schritt kann bspw. über eine Aufforderungsnachricht, die über das gemeinsam genutzte Kommunikationsmedium gesendet wird, realisiert werden. Die Aufforderungsnachricht kann in einer Ablaufsteuerung (bspw. innerhalb eines Mikroprozessors oder innerhalb eines gegebenenfalls vorhandenen Sicherheits- moduls generiert und an eine Komponente zur Übertragung gegeben werden.This step can be realized, for example, via a request message that is sent via the shared communication medium. The request message can be generated in a sequence control (for example within a microprocessor or within an optionally present security module and sent to a component for transmission.
Bei dieser Komponente kann es sich beispielweise um einen üblichen Netzwerkschnittstellen-Baustein (z.B. CAN-Controller) oder um ein spezifisch für die Ge- heimnisgenerierung vorhandenes Sende- und Empfangsmodul handeln. Diese Komponenten kommunizieren zweckmäßigerweise mit einem Bustreiber- Baustein, der die physikalische Kommunikation abwickelt. This component can be, for example, a conventional network interface module (eg CAN controller) or a transceiver module that is specific to the secret generation. These It is expedient for components to communicate with a bus driver module which handles the physical communication.
Alternativ kann auch die Komponente zur Übertragung eine Recheneinheit aufweisen und dazu ausgebildet bzw. eingerichtet sein, die Aufforderungsnachricht selbst zu erzeugen. Alternatively, the component for transmission can also have a computing unit and be designed or set up to generate the prompt message itself.
Es sei darauf hingewiesen, dass es nicht erforderlich ist, das gemeinsam genutzte Kommunikationsmedium zur Übertragung der Aufforderungsnachricht zu verwenden oder dieselbe Übermittlungsmöglichkeit für Teilnehmer 21 und Teilnehmer 22 zu nutzen. It should be noted that it is not necessary to use the shared communication medium to transmit the request message or to use the same delivery option for subscriber 21 and subscriber 22.
In einem Administrationsschritt C1.2 empfängt Teilnehmer 23 eine Rückmeldung sowohl von Teilnehmer 21 als auch Teilnehmer 22, dass diese zur Etablierung des gemeinsamen Geheimnisses bereit sind: In an administration step C1.2, subscriber 23 receives a feedback from both subscriber 21 and subscriber 22 that they are ready to establish the shared secret:
Dieser Schritt kann bspw. über eine Rückmeldenachricht, die über das gemeinsam genutzte Kommunikationsmedium empfangen wird, realisiert werden. Die Rückmeldenachricht kann über die Komponente zur Übertragung empfangen werden und (falls notwendig) über ein geeignetes teilnehmerinternes Interface an eine Recheneinheit (bspw. Mikroprozessor oder Sicherheitsmodul) weitergegeben werden. Alternativ kann auch die Komponente zur Übertragung eine Recheneinheit aufweisen. This step may, for example, be realized via a return message received via the shared communication medium. The feedback message can be received via the component for transmission and (if necessary) via a suitable subscriber-internal interface to a computing unit (eg microprocessor or security module). Alternatively, the component for transmission can also have a computing unit.
Es sei darauf hingewiesen, dass es nicht erforderlich ist, das gemeinsam genutzte Kommunikationsmedium zur Übertragung der Rückmeldenachricht zu verwenden oder dieselbe Übermittlungsmöglichkeit für Teilnehmer 21 und Teilnehmer 22 zu nutzen. Es ist auch nicht erforderlich, das in Schritt C1.1 genutzte Kommunikationsmedium zu verwenden. It should be noted that it is not necessary to use the shared communication medium to transmit the return message or to use the same transmission option for subscriber 21 and subscriber 22. It is also not necessary to use the communication medium used in step C1.1.
Vorzugsweise ist in diesem Schritt C1.2 ein Abbruchkriterium implementiert, um bspw. bei einem zu langen Ausbleiben der Rückmeldenachricht ("Timeout") oder bei Empfang einer Abbruchnachricht anstelle der Rückmeldenachricht den Vorgang abzubrechen (C1.5). In einem Administrationsschritt C1 .3 wird das Verfahren zur Schlüsselgenerie- rung in den beiden Teilnehmern angestoßen. Dies kann über eine Anstoßnachricht realisiert werden. Hinsichtlich der Übertragung dieser Anstoßnachricht gilt das bereits zu der Aufforderungsnachricht und Rückmeldenachricht Ausgeführte. Preferably, in this step C1.2, an abort criterion is implemented in order to abort the process, for example if the return message is too long ("timeout") or if an abort message is received instead of the return message (C1.5). In an administration step C1 .3, the procedure for generating the key is initiated in the two subscribers. This can be realized via an initiation message. With regard to the transmission of this initiation message, that already applies to the request message and the confirmation message.
In einem optionalen Administrationsschritt C1.4 empfängt Teilnehmer 23 eine Abschlussnachricht, welche den erfolgreichen Abschluss der Geheimnisgenerie- rung durch Teilnehmer 21 und Teilnehmer 22 anzeigt. Anschließend endet das Verfahren. In an optional administration step C1.4, subscriber 23 receives a completion message which indicates the successful completion of the secret generation by subscriber 21 and subscriber 22. Then the process ends.
In einem optionalen Administrationsschritt C1.5 empfängt Teilnehmer 23 anstelle der Rückmeldenachricht keine Nachricht ("Timeout") oder eine Abbruchnachricht von Teilnehmer 21 und/oder Teilnehmer 22, dass die Etablierung des gemeinsamen Geheimnisses abgebrochen wurde (d.h. nicht erfolgreich war). Anschließend endet das Verfahren. Zusätzlich können die Teilnehmer 21 und 22 über den Abbruch informiert werden. In an optional administration step C1.5, instead of the reply message, subscriber 23 receives no message ("timeout") or an abort message from subscriber 21 and / or subscriber 22 that the establishment of the shared secret has been aborted (i.e., unsuccessful). Then the process ends. In addition, subscribers 21 and 22 can be informed of the cancellation.
Im Folgenden werden nun die von Teilnehmer 21 und Teilnehmer 22 ausgeführten Schritte erläutert, deren zeitliche Ordnung sich aus den Figuren ergibt. In the following, the steps performed by subscriber 21 and subscriber 22 will be explained, the temporal order of which results from the figures.
In einem ersten Schritt A&B1.1 erhalten Teilnehmer 21 und Teilnehmer 22 von Teilnehmer 23 die Aufforderung, dass sie ein gemeinsames Geheimnis etablieren sollen. In a first step A & B1.1, participants 21 and participants 22 of participant 23 receive the request that they should establish a shared secret.
Dieser Schritt kann - wie erläutert, über die Aufforderungsnachricht realisiert werden. Die Aufforderungsnachricht kann über die Komponente zur Übertragung empfangen werden und (falls notwendig) über ein geeignetes teilnehmerinternes Interface an eine Recheneinheit (bspw. Mikroprozessor oder Sicherheitsmodul) weitergegeben werden. Alternativ könnte auch die Komponente zur Übertragung eine Recheneinheit aufweisen. In einem Schritt A&B1.2 prüfen Teilnehmer 21 und Teilnehmer 22 zunächst, ob sie selbst von der Aufforderung betroffen sind. Sind sie nicht betroffen, endet das Verfahren. This step can - as explained, be realized via the request message. The request message can be received via the component for transmission and (if necessary) via a suitable subscriber-internal interface to a computing unit (eg microprocessor or security module). Alternatively, the component for transmission could also have a computing unit. In a step A & B1.2, participants 21 and participants 22 first check whether they themselves are affected by the request. If they are not affected, the process ends.
Eine geeignete Interpretation der Aufforderung aus Schritt A&B1.1 kann in einer Recheneinheit erfolgen. Diese kann im Mikroprozessor, im Sicherheitsmodul o- der in der Komponente zur Übertragung realisiert sein. Dazu muss die Nachricht ggf. über ein entsprechendes teilnehmerinternes Interface (bspw. Host IF oder Secure IF) von der Komponente zur Übertragung an die Recheneinheit weitergeleitet werden. A suitable interpretation of the request from step A & B1.1 can take place in a computing unit. This can be implemented in the microprocessor, in the security module or in the component for transmission. For this purpose, the message may need to be forwarded by the component for transmission to the arithmetic unit via a corresponding subscriber-internal interface (for example Host IF or Secure IF).
In einem optionalen Schritt A&B 1.3 werden von Teilnehmer 21 und Teilnehmer 22 vorbereitende Aufgaben durchgeführt. In an optional step A & B 1.3, preparatory tasks are performed by participant 21 and participant 22.
In diesem Schritt können ggf. zusätzliche Konfigurationen/Einstellungen (bspw. für die Komponente zur Übertragung) durchgeführt werden und/oder bspw. zusätzliche Informationen (bspw. zufälliger Bitstring) generiert und/oder bereitgestellt werden. In einer vorteilhaften Implementierung wird der zufällige Bitstring durch das Sicherheitsmodul erzeugt und über ein geeignetes Interface (bspw. Secure IF) der Komponente zur Übertragung zur Verfügung gestellt. Alternativ ist es auch denkbar, dass der zufällige Bitstring durch den Mikroprozessor oder die Komponente zur Übertragung selbst erzeugt wird. In this step, if necessary, additional configurations / settings (for example for the component for transmission) can be carried out and / or, for example, additional information (for example random bit string) can be generated and / or provided. In an advantageous implementation, the random bit string is generated by the security module and made available for transmission via a suitable interface (eg secure IF) of the component. Alternatively, it is also conceivable that the random bit string is generated by the microprocessor or the component for transmission itself.
In einem Schritt A&B1.4 wird an Teilnehmer 23 rückgemeldet, dass Teilnehmer 21 und Teilnehmer 22 zur Generierung des gemeinsamen Geheimnisses bereit sind. In a step A & B1.4, it is confirmed to subscriber 23 that subscriber 21 and subscriber 22 are ready to generate the shared secret.
Dieser Schritt kann - wie erläutert - über die Rückmeldenachricht realisiert werden. Die Rückmeldenachricht kann in einer Ablaufsteuerung (bspw. innerhalb eines Mikroprozessors oder innerhalb eines gegebenenfalls vorhandenen Sicherheitsmoduls generiert und an eine Komponente zur Übertragung gegeben werden. Diese Komponenten kommunizieren zweckmäßigerweise mit einem Bustreiber-Baustein, der die physikalische Kommunikation abwickelt. Alternativ kann auch die Komponente zur Übertragung eine Recheneinheit aufweisen und dazu ausgebildet bzw. eingerichtet sein, die Rückmeldenachricht selbst zu erzeugen. This step can - as explained - be realized via the feedback message. The feedback message may be generated in a sequencer (eg within a microprocessor or within an optionally existing security module and sent to a component for transmission.) These components expediently communicate with a bus driver module that handles the physical communication. Alternatively, the component for transmission can also have a computing unit and be designed or set up to generate the feedback message itself.
In einem Schritt A&B1.5 wird das Verfahren zur Schlüsselgenerierung in Teilnehmer 21 und Teilnehmer 22 angestoßen. Dies kann - wie erläutert - durch die Anstoßnachricht von Teilnehmer 23 geschehen. Für den Empfang der Anstoßnachricht gilt das bereits zur Aufforderungsnachricht und Rückmeldenachricht Vorgetragene. Wird die Anstoßnachricht von einem Netzwerkschnittstellen- Baustein als Komponente zur Übertragung empfangen, kann von dem Netzwerkschnittstellen-Baustein eine teilnehmerinterne Anstoßnachricht ("Triggersignal") an ein Sende- und Empfangsmodul weitergeleitet werden. Alternativ kann die Anstoßnachricht an eine geeignete Recheneinheit (bspw. Mikroprozessor oder Sicherheitsmodul) weitergeleitet werden, die die Anstoßnachricht interpretiert und dann wiederrum über ein geeignetes teilnehmerinternes Interface (Host IF oder Secure IF) die Information über das Anstoßen an das Sende- und Empfangsmodul weitergibt. In a step A & B1.5, the method for generating the key in subscriber 21 and subscriber 22 is initiated. This can be done - as explained - by the kick-off message from participant 23. For the receipt of the kick-off message that already applies to the request message and feedback message applies. If the initiation message is received by a network interface module as a component for transmission, the network interface module can forward a subscriber-initiated initiation message ("trigger signal") to a transmitting and receiving module. Alternatively, the initiation message can be forwarded to a suitable arithmetic unit (for example microprocessor or security module) which interprets the initiation message and then, in turn, transmits the information about the abutment to the send and receive module via a suitable subscriber-internal interface (host IF or secure IF).
Vorzugsweise ist in diesem Schritt ein Abbruchkriterium implementiert, um bspw. bei einem zu langen Ausbleiben ("Timeout") des Anstoßens nach dem Auffordern den Vorgang abzubrechen (A&B1.6). Preferably, an abort criterion is implemented in this step in order, for example, to abort the process if the abortion is too long ("timeout") after the request (A & B1.6).
In einem optionalen Schritt A&B1.6 empfangen Teilnehmer 21 und Teilnehmer 22 anstelle der Anstoßnachricht keine Nachricht ("Timeout") oder Teilnehmer 21 und/oder Teilnehmer 22 informieren Teilnehmer 23 darüber, dass die Etablierung des gemeinsamen Geheimnisses (aus einem beliebigen Grund) abgebrochen wurde (d.h. nicht erfolgreich war). Anschließend endet das Verfahren. In an optional step A & B1.6, subscriber 21 and subscriber 22 receive no message ("timeout") or subscriber 21 and / or subscriber 22 inform subscriber 23 that the establishment of the shared secret has been aborted (for any reason) instead of the initiate message (ie was not successful). Then the process ends.
In einem optionalen Schritt A&B1.7 kann der Ablauf einer (ggf. zuvor konfigurierten) Wartezeit abgewartet werden, bevor mit Schritt A&B1.8 fortgefahren wird. Der Wartevorgang kann insbesondere im Sende- und Empfangsmodul implementiert sein. Die Wartezeit kann bspw. in Form einer Zeiteinheit (relativ: "warte für x Sekunden" - oder absolut: "warte bis y:z Uhr") oder bspw. in Form einer Anzahl von empfangenen Botschaften gegeben sein. Die Wartezeit kann für Teil- nehmer 21 und Teilnehmer 22 unterschiedlich sein. Die Wartezeit kann eingesetzt werden, um dafür zu sorgen, dass die beiden Nachrichten exakt gleichzeitig gestartet werden. In der Schritt A&B1.8 wird die zur Erzeugung eines gemeinsamen Geheimnisses basierend auf einem Verfahren zum Erzeugen eines Geheimnisses basierend auf einer Überlagerung von dominanten und rezessiven Signalen, vorzugsweise gemäß der bereits referenzierten DE 10 2015 207 220 A1 , notwendige Netzwerkkommunikation zwischen Teilnehmer 21 und Teilnehmer 22 abgewickelt. Dazu gehören u.a. das Aussenden von in eine oder mehrere Nachrichten verpackten Teilnehmerwertfolgen als geheimnisrelevanter Anteil der der Geheim- nisgenerierung dienenden Daten und das Zurücklesen einer Überlagerungswertfolge. Eine Weiterbildung des Verfahren zur Geheimnisgenerierung zwischen den Teilnehmern basierend auf einer Überlagerung von dominanten und rezessiven Signalen sieht vor, dass die erste Teilnehmerwertfolge und die zweite Teilnehmerwertfolge jeweils eine erste Teilwertfolge und eine zweite Teilwertfolge aufweisen, wobei die zweite Teilwertfolge aus der ersten Teilwertfolge durch Invertieren hervorgeht, d.h. indem erste Werte zu zweiten Werten getauscht werden und zweite Werte zu ersten Werten getauscht werden. Die erste Teilwertfolge und die zweite Teilwertfolge können nacheinander übertragen werden. Alternativ wird ein bevorzugtes Verfahren vorgeschlagen, bei dem die Werte der ersten und der zweiten Teilwertfolge besonders sortiert zu einer Teilnehmerwertfolge zusam- mengesetzt werden, wobei bereits wenigstens ein Wert der zweiten Teilwertfolge übertragen wird, bevor alle Werte der ersten Teilwertfolge übertragen wurden. Dies ermöglicht, bereits während des Sendens der Teilnehmerwertfolge und Empfangens der Überlagerungswertfolge mit dem Auswerten und Geheimnisbzw. Schlüsselgenerieren zu beginnen. Die Lösung wird weiterhin unabhängig von Puffer- bzw. Cachespeichergrößen, da nicht komplette Teilwertfolgen gespeichert werden müssen, bevor mit der Auswertung und Geheimnisgenerierung begonnen werden kann. Das Aussenden der Nachricht erfolgt durch die Komponente zur Übertragung und ist vorzugsweise derart geartet, dass sich trotz einer (zumindest partiellen) Überlagerung dennoch auf dem Kanal eine entsprechend dem während der normalen Kommunikation verwendeten Kommunikationsprotokoll gültige Nachricht ohne Fehler ergibt. Hierfür besonders bevorzugte Schritte sind als UnterschritteIn an optional step A & B1.7, it is possible to wait for the expiration of a (possibly previously configured) waiting time before proceeding to step A & B1.8. The waiting process can be implemented in particular in the transmitting and receiving module. The waiting time may be, for example, in the form of a time unit (relative: "wait for x seconds" - or absolutely: "wait until y: z o'clock") or, for example, be given in the form of a number of received messages. The waiting period may be subscriber 21 and subscriber 22 be different. The waiting time can be used to ensure that the two messages are started at exactly the same time. In step A & B1.8, the network communication between subscriber 21 and subscriber required for generating a shared secret based on a method for generating a secret based on a superposition of dominant and recessive signals, preferably according to already referenced DE 10 2015 207 220 A1, becomes necessary 22 settled. These include, among other things, the transmission of subscriber value sequences packaged in one or more messages as a secret-relevant portion of the data used to generate the secret and the reading back of an overlay value sequence. A refinement of the method for secret generation between the users based on a superimposition of dominant and recessive signals provides that the first subscriber value sequence and the second subscriber value sequence each have a first partial value sequence and a second partial value sequence, the second partial value sequence being derived from the first partial value sequence by inverting ie exchanging first values for second values and exchanging second values for first values. The first partial value sequence and the second partial value sequence can be transmitted one after the other. Alternatively, a preferred method is proposed, in which the values of the first and the second partial value sequences are sorted into a subscriber value sequence, whereby at least one value of the second partial value sequence has already been transmitted before all values of the first partial value sequence have been transmitted. This makes it possible, already during transmission of the subscriber value sequence and receiving the overlay value sequence with the evaluation and Geheimbzw. Key generation to start. The solution will continue to be independent of buffer or cache memory sizes, as not complete partial value sequences must be stored before the evaluation and secret generation can be started. The transmission of the message is carried out by the component for transmission and is preferably such that, despite a (at least partial) superposition, nevertheless a message corresponding to the communication protocol used during the normal communication results without error on the channel. For this particularly preferred steps are as substeps
A&B1 .8.1 , A&B1.8.2, A&B1.8.3 und A&B1 .8.4 dargestellt. A & B1 .8.1, A & B1.8.2, A & B1.8.3 and A & B1 .8.4.
In Unterschritt A&B1.8.1 erfolgt eine Prüfung, ob die Arbitrierungsphase verloren geht und das Senden eingestellt werden muss. Insbesondere können mit dem CAN-Bus 1 neben den Teilnehmern 21 , 22 und 23 noch weitere Teilnehmer verbunden sein, die eine Kommunikation durchführen wollen. Für die Arbitrierung, d.h. Zugriffsaushandlung, werden zweckmäßigerweise die CAN-eigenen Methoden verwendet, wobei ein Zugriffswunsch der Teilnehmer 21 und 22 auch weniger priorisiert sein kann als ein Zugriffswunsch eines anderen Teilnehmers und dementsprechend nicht erfolgreich ist. Muss das Senden eingestellt werden, kann wahlweise erneut versucht, werden die Schrittgruppe A&B1.8 aufzuführen (dann ggf. mit oder ohne Schritt A&B1 .7) oder (bspw. nach einer vorgegebenen Anzahl von erfolglosen Versuchen) der Vorgang in Schritt A&B1 .6 abgebrochen werden. In sub-step A & B1.8.1, a check is made as to whether the arbitration phase is lost and the transmission must be stopped. In particular, with the CAN bus 1 in addition to the participants 21, 22 and 23 may be connected to other participants who want to perform a communication. For arbitration, i. Access negotiation, the CAN's own methods are expediently used, wherein an access request of the participants 21 and 22 may also be less prioritized than an access request of another participant and is therefore unsuccessful. If the transmission has to be stopped, you can try again to list the step group A & B1.8 (then possibly with or without step A & B1 .7) or (for example after a predetermined number of unsuccessful attempts) to abort the process in step A & B1 .6 become.
Wurde die Arbitrierungsphase gewonnen, werden in den Schritten A&B1 .8.2, A&B1 .8.3 und A&B1 .8.4 protokollkonforme Netzwerknachrichten erzeugt und übertragen. Dazu ist es zweckmäßig, den geheimnisrelevanten Anteil (und optional auch nicht-geheimnisrelevante Anteile) der der Geheimnisgenerierung die- nenden Daten im Payload zu senden und Header und Footer, soweit vorhanden, so zu erzeugen, dass eine Nachricht entsteht, die von unbeteiligten Teilnehmern als protokollkonforme Nachricht erkannt wird. If the arbitration phase has been won, protocol-compliant network messages are generated and transmitted in steps A & B1 .8.2, A & B1 .8.3 and A & B1 .8.4. To this end, it is expedient to send the secret-relevant portion (and optionally also non-secret-relevant portions) of the data generating the secret generation in the payload and to generate headers and footers, if present, in such a way that a message is generated by non-participating subscribers protocol compliant message is detected.
In Schritt A&B1.8.2 werden notwendige Stuffing- bzw. Füllbits in die zu übertra- genden Nutzdaten eingefügt. Beispielsweise wird bei einer CAN-Übertragung nach fünf gleichen Bits ein inverses Bit als Füllbit eingefügt, um eine monotone Folge zu unterbrechen. Dadurch soll verhindert werden, dass die Übertragung zwischen Sender und Empfänger auseinanderdriftet (z.B. aufgrund von leicht un- terschiedlichen Taktsignalen der beteiligten ICs bzw. Kommunikationsteilnehmer). In step A & B1.8.2 necessary stuffing or stuffing bits are inserted into the payload data to be transmitted. For example, in a CAN transmission after five equal bits, an inverse bit is inserted as a stuffing bit to interrupt a monotone sequence. This is to prevent the transmission between transmitter and receiver from drifting apart (eg due to slightly different clock signals of the involved ICs or communication participants).
In Schritt A&B1 .8.3 wird eine Prüfsumme für die CAN-Nachricht berechnet. Vor- zugsweise wird die Prüfsumme dabei auf Grundlage der Überlagerungsbits berechnet, damit unbeteiligte Teilnehmer keine fehlerhafte Übertragung feststellen. In step A & B1 .8.3, a checksum for the CAN message is calculated. In this case, the checksum is preferably calculated on the basis of the overlay bits, so that uninvolved subscribers do not detect a faulty transmission.
In Schritt A&B1.8.4 kann eine Prüfung bzgl. etwaiger Fehler (bspw. eines CRC- Fehlers) erfolgen. In step A & B1.8.4, a check for possible errors (for example, a CRC error) can take place.
Der geheimnisrelevante Anteil der der Geheimnisgenerierung dienenden Daten wird wahlweise vorab konfiguriert (bzw. in dem Sende- und Empfangsmodul zur Übertragung intern erzeugt) oder während der Übertragung durch eine Steuereinheit (bspw. Mikroprozessor, Sicherheitsmodul oder innerhalb des Sende- und Empfangsmoduls) (generiert und) vorgegeben. The secret relevant portion of the secret generation data is optionally configured in advance (or generated internally in the transmitting and receiving module for transmission) or during transmission by a control unit (eg microprocessor, security module or within the transmitting and receiving module) (generated and ).
Ebenfalls denkbar ist eine Kombination der zuvor genannten Möglichkeiten, also teilweise vorab konfiguriert und teilweise während der Übertragung (generiert und) vorgegeben. Also conceivable is a combination of the aforementioned possibilities, that is partly configured in advance and partly during the transmission (generated and) predetermined.
Das auf dem gemeinsam genutzten Kommunikationskanal entstehende Signal wird von der Komponente zur Übertragung zurückgelesen. Diese zurückgelesenen Information wird zur Berechnung des gemeinsamen Geheimnisses benötigt. Dazu muss die zurück gelesene Nachricht (oder zumindest der zur Berechnung des gemeinsamen Geheimnis relevante Teil) ggf. über eine geeignete Schnittstelle (bspw. Host IF oder Secure IF) an ein Modul weitergeleitet werden, das zur Berechnung des gemeinsamen Geheimnis ausgebildet ist. Desweitern muss dem Modul der zum Senden genutzte, zufällige Bitstring bekannt sein. Vorzugsweise wird das gemeinsame Geheimnis von einem Sicherheitsmodul berechnet. Alternativ können aber auch der Mikroprozessor oder das Sende- und Empfangsmodul zur Berechnung des gemeinsamen Geheimnisses ausgebildet sein. In einem Schritt A&B1.9 wird schließlich sowohl von Teilnehmer 21 als auch von Teilnehmer 22 basierend auf der in der Schrittgruppe A&B1.8 erfolgten Netzwerkkommunikation das gemeinsame Geheimnis berechnet. The signal generated on the shared communication channel is read back from the component for transmission. This information is needed to calculate the shared secret. For this purpose, the message read back (or at least the part relevant to the calculation of the shared secret) must, if appropriate, be forwarded via a suitable interface (for example Host IF or Secure IF) to a module which is designed to calculate the shared secret. In addition, the module must be aware of the random bit string used for sending. Preferably, the shared secret is calculated by a security module. Alternatively, however, the microprocessor or the transmitting and receiving module can be designed to calculate the shared secret. Finally, in a step A & B1.9, the shared secret is calculated by both the subscriber 21 and the subscriber 22 based on the network communication performed in the step group A & B1.8.
Vorzugsweise wird das gemeinsame Geheimnis berechnet basierend auf der jeweiligen Teilnehmerwertfolg und der Überlagerungswertfolge. Vorzugsweise wird das gemeinsame Geheimnis von dem Sicherheitsmodul im Teilnehmer berechnet. Alternativ können aber auch der Mikroprozessor oder das Sende- und Empfangsmodul Modul zur Berechnung des gemeinsamen Geheimnisses ausgebildet und eingerichtet sein. Preferably, the shared secret is calculated based on the respective subscriber value success and the overlay value sequence. Preferably, the shared secret is calculated by the security module in the subscriber. Alternatively, however, the microprocessor or the transmitting and receiving module can also be designed and set up to calculate the shared secret.
In einem optionalen Schritt A&B 1.10 zeigen Teilnehmer 21 und Teilnehmer 22 durch Aussenden einer Abschlussnachricht an, dass die Geheimnisgenerierung erfolgreich abgeschlossen wurde. Insbesondere kann die Abschlussnachricht einen Wert enthalten, der Aufschluss über die Länge des (bereits) etablierten gemeinsamen Geheimnisses gibt. Die Länge des (bereits) etablierten gemeinsamen Geheimnisses kann zuvor in Schritt A&B1 .9 bestimmt werden. In an optional step A & B 1.10, subscribers 21 and subscribers 22 indicate by sending a completion message that the secret generation has been successfully completed. In particular, the completion message may contain a value indicating the length of the (already) established shared secret. The length of the (already) established common secret can be determined beforehand in step A & B1 .9.
Anschließend endet das Verfahren gemäß Figur 3. Subsequently, the method according to FIG. 3 ends.
Auf Grund der zufallsbedingten Natur von hier relevanten Verfahren zum Erzeugen eines Geheimnisses kann nicht gewährleistet werden, dass mit einmaliger Ausführung des offenbarten Ablaufs gemäß Figur 3 ein ausreichend langes (= eine ausreichende Anzahl an Bit aufweisendes) gemeinsames Geheimnis generiert wird. Due to the random nature of methods relevant here for generating a secret, it can not be guaranteed that with a single execution of the disclosed procedure according to FIG. 3, a sufficiently long (= sufficient number of bits) common secret is generated.
In Schritt A&B1.9 liegt eine Information über die Länge des bereits etablierten gemeinsamen Geheimnisses vor und kann somit von Teilnehmer 21 und Teilnehmer 22 unabhängig voneinander bestimmt werden. Sollte das bereits etablierte gemeinsame Geheimnis nicht der vorgesehenen/gewünschten Länge entsprechen, ist es durch eine Wiederholung entsprechender Schritte möglich, beliebig lange gemeinsame Geheimnisse zu erzeugen. Mögliche Alternativen sind in den Figuren 4 bis 7 gezeigt. In Figur 4 ist dargestellt, dass Schritt A&B 1.10 dahingehend modifiziert ist, dass die Abschlussnachricht den Wert enthält, der Aufschluss über die Länge des (bereits) etablierten gemeinsamen Geheimnisses gibt, ohne gleichzeitig den erfolgreichen Abschluss der Geheimnisgenerierung zu melden. Anschließend wird nach dem Schritt A&B1 .2 mit dem Verfahren fortgefahren. Schritt C1 .4 ist dahingehend modifiziert ist, dass er anhand des in der Abschlussnachricht enthaltenen Werts, der Aufschluss über die Länge des (bereits) etablierten gemeinsamen Geheimnisses gibt, entscheidet, ob das Verfahren beendet wird (bei ausreichend langem Geheimnis) oder mit dem Schritt C1.2 fortgefahren wird (bei nicht ausrei- chend langem Geheimnis). In step A & B1.9, there is information about the length of the already established shared secret and can thus be determined independently by user 21 and user 22. If the already established common secret does not correspond to the intended / desired length, it is possible, by repeating corresponding steps, to create common secrets of any length. Possible alternatives are shown in FIGS. 4 to 7. FIG. 4 shows that step A & B 1.10 is modified such that the completion message contains the value that provides information about the length of the (already) established shared secret, without simultaneously reporting the successful completion of the secret generation. Subsequently, the method is continued after step A & B1 .2. Step C1 .4 is modified to indicate, based on the value contained in the completion message, which provides information about the length of the (already) established shared secret, whether the procedure is terminated (with a sufficiently long secret) or with the step C1.2 is continued (if the secret is insufficient).
In Figur 5 ist eine Abwandlung von Figur 4 dargestellt, wobei die Rückmeldung in Schritt A&B1.4 übersprungen wird, da den beteiligten Parteien zu diesem Zeitpunkt die Betroffenheit ja bereits bekannt ist. Schritt C1 .4 ist dahingehend modifi- ziert, dass bei nicht ausreichend langem Geheimnis mit dem Schritt C1.2 fortgefahren wird. Da eine Rückmeldung gemäß Schritt A&B1 .4 hier nicht erfolgt, ist Schritt C1.2 so modifiziert, dass er nicht auf die Rückmeldung wartet. Um dennoch ein Abbruchkriterium zu erhalten, ist Schritt C1.2 vorzugsweise dahingehend modifiziert, zu überprüfen, wie oft dieser Schritt bereits durchlaufen wurde und die Anzahl mit einem Abbruchschwellwert zu vergleichen, bei dessen Erreichen zum Abbruchschritt C1 .5 verzweigt wird. FIG. 5 shows a modification of FIG. 4, wherein the feedback in step A & B1.4 is skipped, since the involved parties are already known about the impact at this time. Step C1 .4 is modified such that, if the secret is not sufficiently long, step C1.2 is continued. Since a feedback according to step A & B1 .4 does not occur here, step C1.2 is modified so that it does not wait for the response. In order nevertheless to obtain a termination criterion, step C1.2 is preferably modified to check how many times this step has already been run through and to compare the number with an abort threshold, at the time of which it branches to the abort step C1 .5.
In Figur 6 ist eine Abwandlung von Figur 4 dargestellt, wobei sowohl die Rückmeldung in Schritt A&B1 .4 als auch die Anstoßnachricht und deren Behandlung in den Schritten A&B1 .5, A&B1.6 übersprungen werden, da den beteiligten Parteien zu diesem Zeitpunkt die Betroffenheit und der Anstoß bereits bekannt sind. In dieser Ausführungsform ist Schritt C1 .4 dahingehend modifiziert, auf eine erfolgreiche Abschlussnachricht gewartet wird. Unter der Bedingung, dass ein burstartiges Verhalten (also ein Aneinanderreihen von Botschaften) zur Etablierung beliebig langer gemeinsamer Geheimnisse zu Grunde gelegt wird, ergibt sich ein nochmals optimierter Ablauf, bei dem Teilnehmer 21 und Teilnehmer 22 lediglich ausgewählte Schritte durchführen müssen und keinerlei administrativer Aufgaben (bspw. durchgeführt von Teilnehmer 23) anfallen. Das burstartige Verhalten kann dabei derart konstruiert sein, dass sich kein anderer Teilnehmer als Teilnehmer 21 und Teilnehmer 22 den Zugriff auf den Kanal sichern kann (bspw. durch Unterschreiten eines etwaigen in der Protokollspezifikation einzuhaltenden Inter-Frame-Gap). In diesem Fall kann bei der Wiederholung der Arbitrierungsschritt A&B1 .8.1 entfallen. Kann das burstartige Verhalten unterbrochen werden, ist der Arbitrierungsschritt A&B1 .8.1 entsprechend zur Wiedererlangung des Buszugriffs durchzuführen. FIG. 6 shows a modification of FIG. 4, with both the feedback in step A & B1 .4 and the triggering message and its handling being skipped in steps A & B1 .5, A & B1.6, since the affected parties at this point in time are affected the kick-off are already known. In this embodiment, step C1 .4 is modified to wait for a successful completion message. Under the condition that a burst-like behavior (ie a stringing together of messages) is used to establish arbitrarily long shared secrets, there is a further optimized sequence in which the participant 21 and participant 22 only have to perform selected steps and no administrative tasks ( for example, performed by participants 23). The burst-like behavior can be constructed in such a way that no participant other than subscriber 21 and subscriber 22 can secure access to the channel (for example by falling below a possible inter-frame gap to be observed in the protocol specification). In this case, the repetition of the arbitration step A & B1 .8.1 omitted. If the bursty behavior can be interrupted, the arbitration step A & B1 .8.1 must be carried out in accordance with the recovery of the bus access.
Nachdem ein ausreichend langes gemeinsames Geheimnis etabliert wurde, kön- nen Teilnehmer 21 und Teilnehmer 22 daraus einen symmetrischen kryptografi- schen Schlüssel ableiten, den es ggf. durch die Kommunikationspartner zu validieren gilt. Nachdem der kryptografische Schlüssel etabliert ist, kann dieser zur Ausführung kryptografischer Primitiven (bspw. zur Wahrung der Vertraulichkeit, zur Prüfung der Authentizität oder zur Sicherung der Datenintegrität) verwendet werden. After a sufficiently long shared secret has been established, subscribers 21 and subscribers 22 can derive therefrom a symmetric cryptographic key, which it may then have to be validated by the communication partners. Once the cryptographic key is established, it can be used to execute cryptographic primitives (for example, to maintain confidentiality, verify authenticity, or ensure data integrity).
Ein beispielhafter Ablauf dafür wird im Folgenden unter Bezugnahme auf Figur 7 beschrieben. In einem ersten Schritt A|B1 .1 werden von einem der beteiligten Teilnehmer die zu verschlüsselnden Rohdaten erzeugt. Es kann sich dabei beispielsweise um Sensordaten oder Befehlsdaten handeln. Die Rohdaten werden auf Applikationsebene erzeugt (bspw. üblicherweise innerhalb des Mikroprozessors oder unter Umständen in dem Sicherheitsmodul oder einer anderen Einheit). An exemplary procedure for this will be described below with reference to FIG. In a first step A | B1 .1, the raw data to be encrypted is generated by one of the participating subscribers. It may be, for example, sensor data or command data. The raw data is generated at the application level (eg, typically within the microprocessor or possibly in the security module or other entity).
In einem optionalen Schritt A|B1 .2 werden, falls das Modul, welches die Rohdaten erzeugt hat, nicht im Besitz des symmetrischen Schlüssels ist, die Rohdaten an eine Komponente weitergeben, die im Besitz des symmetrischen Schlüssels ist. Vorzugsweise ist das Modul, das im Besitz des symmetrischen Schlüssels ist, das Sicherheitsmodul. Optional können Instruktionen übergeben werden, die kennzeichnen, welche kryptografische(n) Primitive(n) auf die Rohdaten angewendet werden soll In einem Schritt A|B1 .3 werden die kryptografischen Primitive berechnet bzw. kryptografische Information (bspw. verschlüsselte Rohdaten oder ein Message Authentication Code) erzeugt. In an optional step A | B1 .2, if the module that generated the raw data is not in possession of the symmetric key, the raw data is passed to a component in possession of the symmetric key. Preferably, the module in possession of the symmetric key is the security module. Optionally, instructions may be passed that identify which cryptographic primitive (s) should be applied to the raw data In a step A | B1 .3, the cryptographic primitives are calculated or cryptographic information (for example encrypted raw data or a message authentication code) is generated.
In einem Schritt A|B1 .4 werden die Rohdaten und/oder die kryptografischen Information zum Versenden über das gemeinsam genutzte Kommunikationsmedium an die Komponente zur Übertragung (vorzugsweise der CAN-Controller oder alternativ das Sende- und Empfangsmodul) weitergeleitet. Die Weiterleitung kann unter Umständen direkt von dem Sicherheitsmodul oder von dem Sicherheitsmodul über den Mikroprozessort erfolgen. In a step A | B1 .4, the raw data and / or the cryptographic information for transmission via the shared communication medium are forwarded to the component for transmission (preferably the CAN controller or alternatively the transmitting and receiving module). The forwarding may, under certain circumstances, take place directly from the security module or from the security module via the microprocessor location.
In einem Schritt A|B1 .5 werden die Rohdaten und/oder die kryptografische Information über das gemeinsam genutzte Medium gesendet. In a step A | B1 .5, the raw data and / or the cryptographic information is sent via the shared medium.
Für den Empfang einer Botschaft mit kryptografischen Informationen ist zur Entschlüsselung und/oder Verifizierung der Korrektheit das Verfahren in umgekehrter Reihenfolge anzuwenden. To receive a message with cryptographic information, the procedure must be used in reverse order to decrypt and / or verify correctness.
Es sei darauf hingewiesen, dass die Beschreibung der bevorzugten Ausführungsformen der Erfindung dazu dient, die Erfindung zu veranschaulichen, und dass in einer konkreten Implementierung bereits bestehende Schritte durch zusätzliche Konfigurationen oder Fehlerbehandlungsschritte erweitert oder weitere Zwischenschritte mit Konfigurationen und Fehlerbehandlungen eingefügt werden können. It should be understood that the description of the preferred embodiments of the invention is provided to illustrate the invention, and that in a particular implementation, existing steps may be augmented by additional configurations or error handling steps, or additional intermediate steps may be incorporated with configurations and error handling.
Es sei weiterhin darauf hingewiesen, dass es ebenfalls möglich ist, ausgewählte Schritte der beschriebenen Abläufe auf andere Teilnehmer zu verteilen (bspw. könnte sich Teilnehmer 23 die administrative Aufgabe mit einem vierten, bisher ungenannten Teilnehmer teilen) oder untereinander anders aufgeteilt werden. Insbesondere ist es auch möglich, dass die Teilnehmer, die ein gemeinsames kryptografisches Geheimnis etablieren sollen (Teilnehmer 21 und 22), zusätzlich administrative Aufgaben übernehmen. Dadurch kommt ggf. ein alternativer Ablauf zu Stande, so dass das Kommunikationsmedium eine geringere Auslastung erfährt. Sollte bspw. Teilnehmer 21 den administrativen Schritt C1.3 überneh- men, so müsste lediglich Teilnehmer 22 eine Rückmeldung an Teilnehmer 21 geben, wobei Teilnehmer 21 intern dem entsprechenden Modul eine Rückmeldung bereitstellen kann, ohne bspw. den gemeinsam genutzten Kommunikationskanal zu belasten, wohingegen bei dem in Figur 3 dargestellten Ablauf so- wohl Teilnehmer 21 als auch Teilnehmer 22 eine Rückmeldung an Teilnehmer 23 geben müssen. Sollten Teilnehmer 21 und/oder Teilnehmer 22 administrative Schritte übernehmen, kann dies konsequenterweise dazu führen, dass Teilnehmer 21 und Teilnehmer 22 einen unterschiedlichen Ablauf implementieren müssen und nicht mehr, wie in den Figuren 3 bis 8 dargestellt, den gleichen Ablauf. It should also be noted that it is also possible to distribute selected steps of the described processes to other subscribers (for example, subscriber 23 could share the administrative task with a fourth, previously unnamed subscriber) or be shared among themselves. In particular, it is also possible that the participants, who should establish a common cryptographic secret (participants 21 and 22), additionally assume administrative tasks. As a result, if necessary, an alternative sequence comes about, so that the communication medium experiences a lower utilization. If, for example, subscriber 21 takes over the administrative step C1.3 In this case, only subscriber 22 would have to provide feedback to subscriber 21, whereby subscriber 21 can internally provide feedback to the corresponding module, without, for example, charging the shared communication channel, whereas in the process illustrated in FIG Also participants 22 have to give feedback to participants 23. If subscribers 21 and / or subscribers 22 take over administrative steps, this can consequently lead to subscribers 21 and subscribers 22 having to implement a different procedure and no longer, as shown in FIGS. 3 to 8, the same procedure.

Claims

Ansprüche claims
1 . Verfahren zur Generierung eines Geheimnisses in einem Netzwerk (20), wobei das Netzwerk (20) mindestens einen ersten und einen zweiten Teilnehmer (21 , 22) mit einem gemeinsamen Übertragungskanal (30) zwischen mindestens dem ersten und dem zweiten Teilnehmer (21 , 22) und einen Administrator (23) aufweist, 1 . Method for generating a secret in a network (20), wherein the network (20) has at least a first and a second subscriber (21, 22) with a common transmission channel (30) between at least the first and the second subscriber (21, 22). and an administrator (23),
wobei ein Geheimnis zwischen dem ersten und dem zweiten Teilnehmer (21 , 22) nach einem Verfahren zur Generierung eines Geheimnisses basierend auf einer Überlagerung von dominanten und rezessiven Signalen gewonnen wird, wenn dies von dem Administrator (23) angestoßen wurde (C1.3).  wherein a secret is obtained between the first and second subscribers (21, 22) according to a method of generating a secret based on a superposition of dominant and recessive signals, if initiated by the administrator (23) (C1.3).
2. Verfahren nach Anspruch 1 , wobei der Administrator (23) zum Anstoßen der Geheimnisgenenerung eine Anstoßnachricht versendet. The method of claim 1, wherein the administrator (23) sends an initiate message to initiate the secret generation.
3. Verfahren nach Anspruch 1 oder 2, wobei der Administrator (23) die Geheimnisgenenerung anstößt, nachdem er eine Rückmeldung von dem ersten und dem zweiten Teilnehmer (21 , 22), dass diese zur Geheimnisgenenerung bereit sind, erhalten hat (C1 .2). The method of claim 1 or 2, wherein the administrator (23) initiates the secret generation after receiving feedback from the first and second participants (21, 22) that they are ready for secret generation (C1 .2) ,
4. Verfahren nach Anspruch 3, wobei die Rückmeldung in Form einer Rückmeldenachricht erfolgt. 4. The method of claim 3, wherein the feedback takes place in the form of a feedback message.
5. Verfahren nach einem der vorstehenden Ansprüche, wobei der Administrator (23), bevor er die Geheimnisgenenerung anstößt, den ersten und den zweiten Teilnehmer (21 , 22) auffordert (C1 .1 ), dass sie ein gemeinsames Geheimnis etablieren sollen. A method according to any preceding claim, wherein the administrator (23), before initiating the generation of the secret, prompts the first and second subscribers (C1, 22) to establish a shared secret.
6. Verfahren nach Anspruch 5, wobei die Aufforderung in Form einer Aufforderungsnachricht erfolgt. 6. The method of claim 5, wherein the request is in the form of a request message.
7. Verfahren nach Anspruch 5 oder 6, wobei der erste und/oder der zweite Teilnehmer (21 , 22) in Reaktion auf die Aufforderung überprüfen, ob sie selbst von der Aufforderung betroffen sind (A&B1 .2). Method according to claim 5 or 6, wherein the first and / or the second participant (21, 22) check in response to the request whether they themselves are affected by the request (A & B1 .2).
8. Verfahren nach Anspruch 5, 6 oder 7, wobei der erste und/oder der zweite Teilnehmer (21 , 22) in Reaktion auf die Aufforderung dem Administrator (23) eine vorhandene Bereitschaft rückmeiden (A&B1.4). 8. The method of claim 5, 6 or 7, wherein the first and / or the second participant (21, 22) in response to the request the administrator (23) an existing readiness eschewed (A & B1.4).
9. Verfahren nach einem der vorstehenden Ansprüche, wobei der erste und der zweite Teilnehmer (21 , 22) den erfolgreichen Abschluss der Geheimnisgene- rierung anzeigen (A&B1.10). 9. The method of claim 1, wherein the first and second participants indicate the successful completion of the secret generation (A & B1.10).
10. Verfahren nach einem der vorstehenden Ansprüche, wobei der erste und der zweite Teilnehmer (21 , 22) die Geheimnisgenerierung so oft wiederholen, bis die Kombination aller generierten Geheimnisse eine vorbestimmte Länge hat. The method of any one of the preceding claims, wherein the first and second participants (21, 22) repeat the secret generation until the combination of all generated secrets has a predetermined length.
1 1 . Verfahren nach einem der vorstehenden Ansprüche, wobei der erste 1 1. Method according to one of the preceding claims, wherein the first
und/oder der zweite Teilnehmer (21 , 22) aus dem zwischen dem ersten und dem zweiten Teilnehmer (21 , 22) einen kryptographischen Schlüssel erzeugen.  and / or the second participant (21, 22) from which between the first and the second participant (21, 22) generate a cryptographic key.
12. Verfahren nach einem der vorstehenden Ansprüche, wobei der erste Teil- nehmer (21 ) und der zweite Teilnehmer (22) jeweils mindestens einen ersten12. The method according to any one of the preceding claims, wherein the first participant (21) and the second participant (22) each have at least a first
Wert und einen zweiten Wert auf den gemeinsamen Übertragungskanal (30) zwischen dem ersten und dem zweiten Teilnehmer (21 , 22) geben können, wobei zur Geheimnisgenerierung der erste Teilnehmer (21 ) eine erste Teilnehmerwertfolge und der zweite Teilnehmer (22) eine zweite Teilnehmer- wertfolge zur zueinander weitgehend synchronen Übertragung auf demValue and a second value to the common transmission channel (30) between the first and the second subscriber (21, 22), wherein for secret generation the first subscriber (21) has a first subscriber value sequence and the second subscriber (22) has a second subscriber value sequence to each other largely synchronous transmission on the
Übertragungskanal (30) veranlassen und wobei der erste Teilnehmer (21 ) das Geheimnis 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) das Geheimnis auf Basis von Informationen über die zweite Teilnehmerwertfolge sowie auf Basis der Überlagerungswertfolge generieren. Transmission channel (30) cause and wherein the first subscriber (21) the secret based on information about the first subscriber value sequence and on the basis of a superimposition of the first subscriber value sequence with the second subscriber value sequence on the transmission channel (30) resulting overlay value sequence and the second subscriber (22) generate the secret based on information about the second subscriber value sequence and on the basis of the overlay value sequence.
13. Verfahren nach Anspruch 12, wobei sich auf dem Übertragungskanal (30) ein Zustand entsprechend dem ersten Wert einstellt, wenn sowohl der erste als auch der zweite Teilnehmer (21 , 22) eine Übertragung des ersten Werts über den Übertragungskanal (30) veranlassen, und sich ein Zustand entsprechend dem zweiten Wert einstellt, wenn der erste oder der zweite Teilnehmer (21 , 22) oder wenn beide eine Übertragung des zweiten Werts über den Übertragungskanal veranlassen. 13. The method of claim 12, wherein a state corresponding to the first value is established on the transmission channel (30) if both the first and the second user (21, 22) cause a transmission of the first value via the transmission channel (30), and a state corresponding to the second value is established when the first or second subscribers (21, 22) or both initiate transmission of the second value over the transmission channel.
14. Verfahren nach Anspruch 12 oder 13, wobei die erste Teilnehmerwertfolge und die zweite Teilnehmerwertfolge jeweils eine erste Teilwertfolge und eine zweite Teilwertfolge aufweisen, wobei die zweite Teilwertfolge aus der ersten Teilwertfolge hervorgeht, indem erste Werte zu zweiten Werten getauscht werden und zweite Werte zu ersten Werten getauscht werden. 14. The method of claim 12, wherein the first subscriber value sequence and the second subscriber value sequence each have a first partial value sequence and a second partial value sequence, wherein the second partial value sequence results from the first partial value sequence by swapping first values to second values and second values to first values Values are exchanged.
15. Verfahren nach Anspruch 14, wobei bereits die Übertragung wenigstens eines Werts der zweiten Teilwertfolge auf dem Übertragungskanal (30) veranlasst wird, bevor die Übertragung aller Werte der ersten Teilwertfolge auf dem Übertragungskanal veranlasst wurde. 15. The method according to claim 14, wherein the transmission of at least one value of the second partial value sequence is already initiated on the transmission channel (30) before the transmission of all values of the first partial value sequence on the transmission channel has been initiated.
16. Netzwerk (20) mit mindestens einem ersten und einem zweiten Teilnehmer (21 , 22, 23) und einem Übertragungskanal (30), über welchen der erste mit dem zweiten Teilnehmer (21 , 22, 23) kommunizieren kann, wobei das Netzwerk (20) Mittel umfasst, alle Schritte eines Verfahren nach einem der vorstehenden Ansprüche durchzuführen. 16. Network (20) having at least a first and a second subscriber (21, 22, 23) and a transmission channel (30) via which the first can communicate with the second subscriber (21, 22, 23), the network ( 20) comprises means to perform all the steps of a method according to any one of the preceding claims.
17. Recheneinheit, welche dazu eingerichtet ist, als Teilnehmer oder Administrator (21 , 22, 23) an einem Netzwerk (20) nach Anspruch 16 alle teilnehmerspezifischen bzw. administratorspezifischen Schritte eines Verfahrens nach einem der Ansprüche 1 bis 15 durchzuführen. 17 arithmetic unit, which is configured to perform as a participant or administrator (21, 22, 23) on a network (20) according to claim 16 all participant-specific or administrator-specific steps of a method according to one of claims 1 to 15.
18. Computerprogramm, das eine Recheneinheit dazu veranlasst, ein Verfahren nach einem der Ansprüche 1 bis 15 durchzuführen, wenn es auf der Recheneinheit ausgeführt wird. A computer program that causes a computing unit to perform a method according to any one of claims 1 to 15 when executed on the computing unit.
19. Maschinenlesbares Speichermedium mit einem darauf gespeicherten Computerprogramm nach Anspruch 18. 19. A machine-readable storage medium with a computer program stored thereon according to claim 18.
PCT/EP2016/074225 2015-10-15 2016-10-10 Method for generating a secret code in in a network WO2017064010A1 (en)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
DE102015220014.0A DE102015220014A1 (en) 2015-10-15 2015-10-15 Method for generating a secret in a network
DE102015220014.0 2015-10-15

Publications (1)

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

Family

ID=57121271

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/EP2016/074225 WO2017064010A1 (en) 2015-10-15 2016-10-10 Method for generating a secret code in in a network

Country Status (2)

Country Link
DE (1) DE102015220014A1 (en)
WO (1) WO2017064010A1 (en)

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE102008000561A1 (en) * 2008-03-07 2009-09-10 Robert Bosch Gmbh Communication system with a CAN bus and method for operating such a communication system
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

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE102008000561A1 (en) * 2008-03-07 2009-09-10 Robert Bosch Gmbh Communication system with a CAN bus and method for operating such a communication system
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

Also Published As

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

Similar Documents

Publication Publication Date Title
EP3138258B1 (en) Method for generating a secret or a key in a network
DE102015220038A1 (en) A method of creating a secret or key in a network
DE102016208451A1 (en) A method of creating a secret or key in a network
EP3363145B1 (en) Method and device for producing a common secret
WO2017064010A1 (en) Method for generating a secret code in in a network
EP3298721A1 (en) Method for generating a secret or a key in a network
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
DE102016208453A1 (en) A method of creating a secret or key in a network
WO2017064027A1 (en) Method for generating a secret or a key in a network
WO2017063999A1 (en) Circuit assembly for generating a secret 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
WO2017063995A1 (en) Method for generating a secret or a key in a network
WO2017064005A1 (en) Transmission module for use in the generation of a secret on the basis of dominant and recessive signals
DE102015219997B4 (en) Method and device for generating a shared secret
WO2017064025A1 (en) Method for generating a secret or a key in a network
WO2017064131A1 (en) Method for generating a secret or key in a network
WO2017064125A1 (en) Method for generating a secret or a key in a network
DE102016208448A1 (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
DE102016208444A1 (en) A method of creating a secret or key in a network
DE102016208445A1 (en) A method of creating a secret or key in a network
DE102016208452A1 (en) A method of creating a secret or key in a network
WO2017064008A1 (en) Method for generating a secret in a network comprising at least two users connected to a transmission medium
DE102016208442A1 (en) A method of creating a secret or key in a network

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: 16778838

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: 16778838

Country of ref document: EP

Kind code of ref document: A1