WO2013175633A1 - Communication device, communication system and communication method - Google Patents
Communication device, communication system and communication method Download PDFInfo
- Publication number
- WO2013175633A1 WO2013175633A1 PCT/JP2012/063532 JP2012063532W WO2013175633A1 WO 2013175633 A1 WO2013175633 A1 WO 2013175633A1 JP 2012063532 W JP2012063532 W JP 2012063532W WO 2013175633 A1 WO2013175633 A1 WO 2013175633A1
- Authority
- WO
- WIPO (PCT)
- Prior art keywords
- communication
- code
- message
- inspection
- update
- Prior art date
Links
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L63/00—Network architectures or network communication protocols for network security
- H04L63/08—Network architectures or network communication protocols for network security for authentication of entities
Definitions
- the present invention relates to a communication device that is network-connected in a vehicle or the like, a communication system in which a plurality of communication devices are network-connected, and a communication method.
- a plurality of electronic control units (ECUs) mounted on a vehicle are connected to each other via a network so that information (vehicle information) of the electronic control units can be communicated with each other.
- a communication system is configured as a vehicle network system using an ECU as a communication device.
- vehicle network system is a controller area network (CAN).
- each ECU that shares a bus which is a communication line, can send a message on the bus according to each judgment. Therefore, transmission of a message from each ECU to the bus is easy. Therefore, for example, it is possible to connect an unauthorized ECU to a CAN bus and transmit an unauthorized message to the bus. When such an unauthorized message is transmitted, the ECU receiving the unauthorized message There is a risk of processing the message in the same way as a regular message.
- Non-Patent Document 1 a technique for preventing communication by an unauthorized message has been proposed, and an example thereof is described in Non-Patent Document 1.
- the communication system described in Non-Patent Document 1 is an in-vehicle CAN network including a plurality of ECUs connected to a CAN bus.
- the ECU that transmits the communication message among the plurality of ECUs generates a test code (MAC) that is a 64-bit message authentication code based on the four communication messages communicated first.
- the generated MAC is divided into four to generate four 16-bit codes, and these four codes are sequentially added to four communication messages communicated thereafter.
- the ECU that receives the communication message generates a 64-bit MAC based on the previously received four communication messages, and combines the four codes obtained from the four communication messages received thereafter to combine the 64-bit MAC. Reconfigure.
- the receiving ECU compares the generated MAC with the reconfigured MAC, and determines that the communication message is correct if the two MACs are the same, while the communication message is determined if the two MACs are different. It is determined to be illegal. Thereby, in this communication system, the correctness / incorrectness of the communication message is verified based on the highly confidential 64-bit MAC.
- the correctness / incorrectness of the four communication messages communicated first is reconstructed from the codes added by dividing the four communication messages communicated thereafter. It is verified based on the MAC. That is, based on the verification result, communication using an unauthorized communication message in the communication system is prevented.
- the correct / incorrect determination of the communication message is performed based on the four communication messages communicated first and the four communication messages transmitted thereafter, at least the communication message It will take more than 8 minutes. For this reason, in this communication system, the delay required for correct / incorrect determination cannot be ignored, and it is difficult to adopt it for applications that require highly reliable processing in real time.
- the present invention has been made in view of such circumstances, and its purpose is to prevent unauthorized communication through real-time processing, that is, to improve the reliability of a message to be communicated, and communication A method and a communication apparatus used in the communication system are provided.
- a communication system provided by the present invention is a communication system in which a plurality of communication devices are connected to a communication line so that communication messages can be communicated.
- An inspection code used for message authentication is set, and an inspection code update unit that executes the update of the inspection code in accordance with the inspection code update condition is provided.
- the inspection code update condition is synchronized based on one communication message including the content for instructing the update of the inspection code, and the communication device that transmits the communication message uses the assigned code generated from the set inspection code as described above.
- the communication device that is included in the communication message to be transmitted and receives the communication message is included in the received communication message. Determining positive / bad of the communication the received message based on a comparison of the test code check code that the set reproduced from the grant codes that.
- a communication method provided by the present invention is a communication method in which a plurality of communication devices communicate communication messages via a communication line, and is used for authentication of communication messages to the plurality of communication devices.
- a communication method provided by the present invention is a communication method in which a plurality of communication devices communicate communication messages via a communication line, and is used for authentication of communication messages to the plurality of communication devices.
- a step in which the inspection code update unit executes the update of the set inspection code according to the inspection code update condition, and instructs the update of the inspection code between the plurality of communication devices with the inspection code update condition A step of synchronizing based on one communication message including the content, a step of receiving a communication message including a grant code generated from the set inspection code, and a grant code included in the received communication message And the received communication based on the step of reproducing the inspection code from a comparison between the reproduced inspection code and the set inspection code. And a step of determining positive / incorrect message.
- a communication apparatus is a communication apparatus that is connected to a communication line and performs communication using a communication message with another communication apparatus connected to the communication line.
- an inspection code used for authentication of a communication message is set, and an inspection code update unit that executes update of the inspection code according to an inspection code update condition is provided.
- the inspection code update condition is synchronized with another communication device based on one communication message including contents instructing to update the inspection code, and is generated from the set inspection code. Send the grant code in the communication message.
- a communication apparatus is a communication apparatus that is connected to a communication line and performs communication using a communication message with another communication apparatus connected to the communication line.
- an inspection code used for authentication of a communication message is set, and an inspection code update unit that executes update of the inspection code according to an inspection code update condition is provided.
- the inspection code update condition is synchronized with another communication device based on one communication message including contents instructing the update of the inspection code, and is generated from the set inspection code.
- Receiving a communication message transmitted from the other communication device including the assigned code and obtaining an inspection code from the assigned code included in the communication message. No, it determines a positive / incorrect communication the received message based on a comparison of the test code is the set inspection code this play.
- the inspection code used to determine whether the communication message is correct / incorrect is updated in real time between a plurality of communication devices connected to the communication system according to the synchronized inspection code update conditions.
- the execution of the inspection code and the update condition are synchronized among a plurality of communication devices that communicate (transmit or receive) one communication message.
- the inspection codes of a plurality of communication devices are synchronized with a simple mechanism.
- the communication device is set with a conversion code used when generating a provision code from the inspection code and reproducing the inspection code from the provision code.
- a conversion code update unit that executes an update according to the conversion code update condition, and the conversion code update condition includes a content that instructs updating of the conversion code between the plurality of communication devices. Synchronized based on the communication message.
- a communication system provided by the present invention is a communication system in which a plurality of communication devices are connected to a communication line so that communication messages can be communicated.
- An inspection code used for authentication of a message, a conversion code used when generating an assignment code from the inspection code and reproducing the inspection code from the assignment code are set, and the conversion code
- a conversion code update unit is provided for executing the update according to the conversion code update condition.
- the conversion code update condition includes a content for instructing the update of the conversion code 1
- the communication device that receives the communication message is reproduced by using the conversion code with respect to the grant code included in the received communication message. Whether the received communication message is correct / incorrect is determined based on a comparison between the inspection code and the set inspection code.
- a conversion code used for conversion / reconversion (encryption / decryption) to the inspection code is exchanged between a plurality of communication devices connected to the communication system in real time according to the synchronized conversion code update conditions. Updated.
- the grant code generated from the inspection code is changed by changing the conversion code.
- the inspection code and the conversion code are updated in accordance with the change of the assigned code, so that communication by an unauthorized communication message is prevented and the reliability of the communication message is further improved.
- the transmitting communication device generates the assignment code by encrypting the inspection code based on the conversion code, and the receiving communication device uses the conversion code based on the conversion code.
- the inspection code is reproduced by decoding.
- the inspection code to be updated becomes a grant code that is further converted by the conversion code and encrypted, the confidentiality of the generated grant code can be improved. This makes it difficult to reproduce the inspection code from the assigned code, thereby preventing communication using an unauthorized communication message and improving the reliability of the communication message.
- the inspection code is a value set in the communication device
- the conversion code is an encryption key set in the communication device.
- the grant code included in the communication message is encrypted with the encryption key, the secrecy of the grant code is ensured. As a result, it becomes more difficult to reproduce the inspection code from the assigned code, so communication by an unauthorized communication message is prevented, and the reliability of the communication message is improved.
- the inspection code update condition is a condition determined based on the content of the assigned code.
- the inspection code update condition is determined based on the content of the assigned code. That is, since the inspection code update condition is determined according to the assigned code, it is difficult to guess the inspection code update condition, and it becomes difficult for an unauthorized communication device to assign an appropriate assigned code to the communication message. Thereby, the reliability of the communication message in the communication system is improved.
- the conversion code update condition is a condition determined based on the content of the assigned code.
- the conversion code update condition is determined based on the content of the assigned code. That is, since the conversion code update condition is determined according to the assignment code, it is difficult to guess the conversion code update condition, and it becomes difficult for an unauthorized communication device to assign an appropriate assignment code to the communication message. Thereby, the reliability of the communication message in the communication system is improved.
- the communication message is a message according to a CAN protocol
- the grant code is stored in an extended ID area secured in the communication message.
- the communication message is a message according to a CAN protocol
- the grant code is stored in a data area secured in the communication message.
- the grant code is stored in the data storage area defined by the CAN protocol, it is easy to give the grant code to the CAN protocol. Further, even if the number of bits of the assigned code is reduced, confidentiality is ensured even by the high update frequency. For this reason, it is possible to reduce the number of assigned codes occupied in the data area for storing the communication data to be transferred, and to suppress the reduction in the transfer amount of the communication data.
- FIG. 2 is a schematic diagram schematically illustrating a message inspection code (MAC) included in a communication message transmitted and received by the communication system illustrated in FIG. 1, and (a) is a schematic diagram illustrating a case where the lower first bit is “1”.
- FIG. 4B is a schematic diagram illustrating a case where the lower first bit is “0” and the lower second bit is “1”.
- FIG. 6 is a flowchart showing a procedure related to parameter update processing shown in FIG. 5.
- the flowchart which shows the procedure which concerns on the reception process of the communication message in ECU shown in FIG.
- the schematic diagram which shows typically the other example which actualized the communication message communicated in the communication system which concerns on this invention.
- the schematic diagram which shows typically the other example which actualized the communication message communicated in the communication system which concerns on this invention.
- FIGS. 1-10 A first embodiment embodying a communication system according to the present invention will be described with reference to FIGS.
- the vehicle 10 includes an in-vehicle network system as a communication system.
- the in-vehicle network system includes first to third electronic control units (ECUs) 11 to 13 as communication devices and a communication bus 15 to which the first to third ECUs 11 to 13 are connected. Accordingly, the first to third ECUs 11 to 13 can exchange (transmit / receive) various information used for control and the like via the communication bus 15.
- the in-vehicle network system is configured as a CAN network to which a CAN (Controller Area Network) protocol is applied as a communication protocol.
- the communication bus 15 is, for example, a twisted pair cable.
- the first to third ECUs 11 to 13 transmit various communication messages MS1 to MS3 to the communication bus 15, respectively, so that various types of information are communicated with other ECUs connected to the communication bus 15. Can give and receive.
- the first and second ECUs 11 and 12 are regular ECUs, while the third ECU 13 is an illegally connected ECU.
- the communication messages MS1 and MS2 transmitted from the first and second ECUs 11 and 12 include “ID region”, “extended ID region”, and “data region” in the data frame constituting the communication message. Is defined.
- the “ID area” stores “message ID”
- the “extended ID area” stores “embedded” “message check code” (MAC)
- the “data area” stores “embedded”.
- Communication data "is stored.
- an “extended ID area” is provided for a communication message set as an extended frame, but only an “ID area” is provided for a communication message set as a standard frame. That is, each communication message MS1, MS2 is set as an extended frame.
- the MAC When the MAC is stored (embedded) in the “extended ID area”, the MAC is also used for arbitration, but a communication message can be communicated. That is, if the first and second ECUs 11 and 12 do not use the MAC in the “extended ID area” for filtering that restricts reception, the “extended ID area” of the communication message set in the extended frame is used. MAC can be transmitted and received.
- the communication message MS3 transmitted from the third ECU 13 is set to, for example, a normal frame, an “ID region” and a “data region” are included in the data frame constituting the communication message. Is stipulated.
- the “ID area” stores “message ID”, and the “data area” stores “communication data”. That is, the “extended ID area” is not provided and “MAC” is not stored anywhere. That is, the third ECU 13 does not support “MAC”.
- the communication bus 15 is provided with a data link connector (DLC) 16 which is a connection terminal capable of connecting an external device so as to be communicable.
- the DLC 16 connects a diagnostic device or the like as a regular communication device prepared by a manufacturer or a card dealer to the communication bus 15 so as to be communicable.
- the DLC 16 can be connected to a user tool 17 that is an unauthorized communication device prepared by the user.
- Each of the first and second ECUs 11 and 12 is a control device that is used for various controls of the vehicle 10.
- an ECU that controls a drive system is an ECU for an engine
- an ECU for a travel system is an ECU for a steering or a brake ECU
- an ECU for controlling a vehicle body system An ECU for a light and an ECU for a window can be mentioned, and an ECU for controlling an information device system includes an ECU for car navigation.
- the number of ECUs connected to the communication bus 15 is not limited to two, and may be one or three or more.
- first and second ECUs 11 and 12 have the same structure, the structure of the first ECU 11 will be described below, and for the sake of convenience of explanation, the same numbers are assigned to the same components. Thus, the detailed description of the structure of the second ECU 12 is omitted.
- the first ECU 11 includes a CAN between an information processing unit 20 that performs processing required for various controls using various information, and another ECU via a communication bus 15.
- a CAN controller 21 for performing communication using a communication message based on the protocol and for exchanging data related to the communication message with the information processing unit 20.
- the CAN controller 21 analyzes a communication message received from the communication bus 15 and acquires a message ID included in the communication message, communication data that is a data body to be transferred, and the acquired message ID and communication. Data and the like are provided to the information processing unit 20.
- the CAN controller 21 generates a communication message including the message ID and communication data based on the message ID and communication data input from the information processing unit 20, and sends the generated communication message to the communication bus 15. Send.
- a communication message (such as MS2) transmitted (flowed) to the communication bus 15 is received by the CAN controller 21, and the communication data included in the received communication message.
- the communication data or the like to be transmitted is given from the information processing unit 20 to the CAN controller 21, and a communication message MS 1 including the given communication data or the like is sent from the CAN controller 21 to the communication bus 15. (Flowed).
- the information processing unit 20 of the first ECU 11 can acquire various data necessary for the control function transmitted from the second ECU 12 or the like from the communication message (MS2 or the like) flowing through the communication bus 15. Further, the information processing unit 20 of the first ECU 11 can transmit a communication message MS1 including various data to be transmitted to the second ECU 12 or the like to the communication bus 15.
- the third ECU 13 is provided with an information processing unit 20A and a CAN controller 21.
- the information processing unit 20A has the same configuration as the information processing unit 20 of the first ECU 11 except that it does not support MAC, and the CAN controller 21 has the same configuration as the CAN controller 21 of the first ECU 11. Therefore, the detailed explanation is omitted.
- the information processing unit 20 is configured to include a microcomputer, and includes a computing device that performs various processes, and a storage device that holds computation results and programs that provide various control functions.
- the information processing unit 20 provides the predetermined control function by executing a program that provides the predetermined control function on the arithmetic device.
- the information processing unit 20 performs a generation process for generating a MAC from authentication data and a reproduction process for reproducing the authentication data from the MAC.
- the information processing unit 20 is provided with a function of executing a program corresponding to the generation process and the reproduction process held in the storage device by executing each program on the arithmetic device.
- the information processing unit 20 is provided with a storage unit 30 for storing parameters used for generation processing and reproduction processing.
- the storage unit 30 uses the storage device of the information processing unit 20 as a storage medium.
- the storage device used for the storage unit 30 may be another storage device.
- the storage unit 30 stores, as parameters, a key 301 as a conversion code used for data encryption / decryption and a check value 302 as an inspection code that is authentication data used for ECU authentication.
- the initial value of the key 301 and the initial value of the check value 302 are set in the storage unit 30 at the time of factory shipment.
- the key 301 is used when generating the MAC (311) from the check value 302 and when reproducing the check value 302 from the MAC (311).
- the key 301 is a so-called common key (common encryption key), and the same key 301 is held in each of the first and second ECUs 11 and 12.
- the check value 302 is a value used to authenticate a normal ECU, and the same check value 302 is held in each of the first and second ECUs 11 and 12.
- the information processing unit 20 includes a MAC generation unit 31 that generates a MAC 311 from a check value, a CV generation unit 32 as a check code update unit that generates a new check value (CV), and a new And a key generation unit 33 as a conversion code update unit for generating a simple key. Further, the information processing unit 20 determines whether or not the reproduction unit 34 that reproduces CV from the MAC, the check value 302 stored in the storage unit 30, and the reproduction value 341 reproduced by the reproduction unit 34 are the same. A determination unit 35 for determination is provided.
- the MAC generation unit 31 receives the check value 302 and the key 301 and outputs the MAC 311, and generates the MAC 311 based on the input check value 302 and the key 301. More specifically, the MAC generation unit 31 generates the MAC 311 by encrypting (encoding, encoding) the input check value 302 with the key 301.
- This encryption may be a conversion that can convert the check value 302 into a specific value using the key 301.
- the conversion may be a conversion in which a logical operation such as logical sum (AND) or exclusive logical sum (XOR) is applied between the check value 302 and the key 301, or various functions such as a hash function are applied. Conversion is also possible.
- the MAC 311 generated by converting the check value 302 with the key 301 is output from the MAC generation unit 31.
- the MAC generation unit 31 generates an 18-bit MAC 311. Since the calculation for generating the 18-bit MAC 311 is simpler than the calculation for generating the 64-bit MAC used in the communication system of Non-Patent Document 1, the load that the MAC generation processing gives to the information processing unit 20 Can be kept small. Then, the generated MAC 311 is stored in an 18-bit “extended ID area” defined in the data frame of the CAN protocol, and transmitted in a communication message. By storing the check value 302 in one communication message in this way, it is possible to perform verification of the correctness / incorrectness of the communication message every time the communication message is communicated, that is, in real time.
- the CV generation unit 32 causes the check value 302 stored in the storage unit 30 to be input to the CV generation unit 32 and outputs a new check value to update the check value 302 stored in the storage unit 30. . More specifically, the CV generation unit 32 acquires the value of the check value 302 stored in the storage unit 30 when the check value update condition as the inspection code update condition, which is a condition for updating the check value, is established. A predetermined calculation is performed on the acquired check value 302 to calculate a new check value. This predetermined operation is not limited as long as a new check value can be calculated from the check value 302, and may be an operation using a logical operation such as logical sum (AND) or exclusive logical sum (XOR).
- the CV generation unit 32 stores the new check value in the storage unit 30 as the check value 302. That is, the check value 302 stored in the storage unit 30 is updated to a new check value.
- the key generation unit 33 inputs the key 301 stored in the storage unit 30 to the key generation unit 33 and outputs a new key to update the key 301 stored in the storage unit 30. More specifically, when a key update condition as a conversion code update condition that is a condition for updating a key is satisfied, the key generation unit 33 performs a predetermined operation on the value of the key 301 stored in the storage unit 30 to newly Key is calculated.
- This predetermined operation is not limited as long as a new key can be calculated from the key 301, and may be an operation using a logical operation such as logical sum (AND) or exclusive logical sum (XOR), or pseudo-operation.
- the key generation unit 33 stores the new key as the key 301 in the storage unit 30. That is, the key 301 stored in the storage unit 30 is updated with a new key.
- the 18-bit MAC 311 generated by the MAC generation unit 31 has a smaller number of bits than the 64-bit MAC generated by the communication system described in Non-Patent Document 1, so that the analysis is easy and the security is low.
- the check value 302 and the key 301 used by the MAC generation unit 31 for generating the MAC 311 are changed as described above, even the MAC 311 with a small number of bits is difficult to analyze, and security is improved. Highly maintained.
- the playback unit 34 receives the MAC 311 and the key 301 and outputs the playback value 341.
- the playback unit 34 generates the playback value 341 based on the input MAC 311 and the key 301. More specifically, the reproduction unit 34 obtains a reproduction value 341 reproduced from the MAC by decoding (decoding and reconverting) the 18-bit MAC generated by the MAC generation unit 31 using the key 301.
- the reproduction value 341 is a check value, and if it is normal, it is the same value as the check value 302.
- the determination unit 35 receives the value of the check value 302 stored in the storage unit 30 and the reproduction value 341 reproduced from the MAC by the reproduction unit 34, and outputs a comparison result between the check value 302 and the reproduction value 341. . More specifically, the determination unit 35 compares the value of the check value 302 with the reproduction value 341 to determine whether or not the check value 302 and the reproduction value 341 are the same. When the check value 302 and the reproduction value 341 are the same, since the MAC is confirmed to be a code generated from the check value 302, the ECU or the like that generated the MAC holds the correct check value 302. Is confirmed. That is, it is determined that the communication message is a message transmitted from a correct ECU or the like.
- the check value 302 and the reproduction value 341 are different, it is determined that the MAC is not a code generated based on the check value 302 and the key 301. It is confirmed that the value 302 and the key 301 are not held. That is, it is determined that the communication message is a message transmitted from an unauthorized ECU or the like.
- the success or failure of the check value update condition or key update condition is determined based on the MAC 311. Since the MAC 311 is included in the communication message, each ECU connected to the communication bus 15 determines success or failure of the check value update condition and the key update condition based on the MAC 311 obtained from the same communication message. That is, each ECU connected to the communication bus 15 obtains the same result as success or failure of the check value update condition or success or failure of the key update condition based on the same communication message.
- the CV generation unit 32 determines that the check value update condition is satisfied. For example, when the lower 1st bit of the MAC 311 is 0 and the lower 2nd bit of the MAC 311 is 0, it is determined that the check value update condition is satisfied. On the other hand, for example, in other cases, that is, when the lower first bit of the MAC 311 is 0 and the lower second bit of the MAC 311 is 1, it is determined that the check value update condition is not satisfied.
- the key generation unit 33 determines that the key value update condition is satisfied.
- the lower first bit is 1, it is determined that the key update condition is not satisfied.
- the check value update condition is satisfied when the combination of the lower 1st bit and the lower 2nd bit of the MAC 311 is “1, 1” and “1, 0”, the check value update condition is satisfied, and when the same combination is “0, 1”, When the key update condition is satisfied and the combination is “0, 0”, the check value update condition and the key update condition are satisfied.
- the check value update condition is satisfied when the combination of the lower first bit and the lower second bit of the MAC 311 is “1, 1”, “1, 0”, and “0, 0”, and the key update condition is This is true when the combination of the lower 1st bit and the lower 2nd bit of the MAC 311 is “0, 1” and “0, 0”.
- the operation of the communication system of the present embodiment will be described with reference to FIGS.
- a case where the communication message MS1 transmitted from the first ECU 11 is received by the second ECU 12 will be described.
- the combination of the ECU that transmits the communication message and the ECU that receives the communication message is not limited thereto. I can't.
- the first ECU 11 when the communication message transmission process is started, the first ECU 11 generates a MAC (step S10 in FIG. 5).
- the information processing unit 20 converts the check value 302 in the storage unit 30 based on the key 301 to generate an 18-bit MAC 311.
- the first ECU 11 creates a communication message (step S11 in FIG. 5).
- communication data, message ID, and MAC 311 are transmitted from the information processing unit 20 to the CAN controller 21, where the message ID is stored in the “ID area” of the data frame, and the “data area”
- the communication data is stored in, and the MAC 311 is stored in the “extended ID area”.
- the communication data and the message ID may be transmitted from a device other than the information processing unit 20 provided in the first ECU 11 as long as it is transmitted to the CAN controller 21.
- the first ECU 11 transmits the communication message (step S12 in FIG. 5).
- the communication message created by the CAN controller 21 is transmitted to the communication bus 15. If a communication error occurs when transmission is performed, a communication message retransmission process is performed based on the CAN protocol. Furthermore, if the retransmission process cannot be performed, the transmission of the communication message is stopped, and the information processing unit 20 is notified that there is a transmission error. On the other hand, when the transmission of the communication message is normally completed, the information processing unit 20 is notified that there is no transmission error.
- the first ECU 11 executes a parameter update process (step S13 in FIG. 5).
- the first ECU 11 determines whether or not the lower first bit of the MAC 311 is “1” (step S20 in FIG. 6). When it is determined that the lower 1st bit of the MAC 311 is “1” (YES in step S20 in FIG. 6), the first ECU 11 generates a new check value (step S21 in FIG. 6). The check value is stored in the storage unit 30 (step S22 in FIG. 6). Then, returning to FIG. 5, the communication message transmission process is terminated. That is, in this case, only the check value 302 is updated.
- the first ECU 11 When it is determined that the lower 1st bit of the MAC 311 is not “1” (NO in step S20 in FIG. 6), the first ECU 11 generates a new key (step S23 in FIG. 6), and the generated key Is stored in the storage unit 30 (step S24 in FIG. 6). Then, the first ECU 11 determines whether or not the lower 2nd bit of the MAC 311 is “1” (step S25 in FIG. 6). When it is determined that the lower 2nd bit of the MAC 311 is not “1” (NO in step S25 of FIG. 6), the first ECU 11 generates a new check value and stores it in the storage unit 30 (FIG. 6). Steps S21 and S22), the process returns to FIG. 5 and the communication message transmission process is terminated. That is, in this case, the key 301 and the check value 302 are updated.
- the first ECU 11 returns to FIG. 5 and ends the communication message transmission process. That is, in this case, only the key 301 is updated.
- the first ECU 11 When there is a communication error, that is, when transmission of the communication message is not normally terminated, the first ECU 11 temporarily terminates the communication message transmission process without performing the parameter update process. When the transmission of the communication message is not normally terminated, other ECUs including the second ECU 12 have not been able to receive this communication message, or have not been normally received. For this reason, the first ECU 11 does not perform parameter update processing based on this communication message. If the first ECU 11 performs a parameter update process based on this communication message, a device that executes the parameter update process, such as the first ECU 11, and the second ECU 12 in the communication system. Thus, there is a mixture of apparatuses that do not execute parameter update processing, and the update of each parameter is not synchronized. That is, if the communication of the communication message is normal, the regular ECU (first ECU 11) that transmits the communication message updates at least one of the key 301 and the check value 302 each time the communication message is communicated.
- the second ECU 12 receives a communication message
- the second ECU 12 starts a communication message reception process.
- the CAN controller 21 analyzes the communication message, acquires the message ID from the “ID area” of the data frame, acquires the communication data from the “data area”, The MAC 311 is acquired from the “extended ID area” (step S30 in FIG. 7).
- the second ECU 12 decodes the MAC 311 in the information processing unit 20 (step S31 in FIG. 7).
- the reproduction value 341 is obtained by decrypting the MAC 311 with the key 301.
- the determination unit 35 of the second ECU 12 determines whether or not the check value is correct (step S ⁇ b> 32 in FIG. 7). That is, the determination unit 35 determines that the check value is correct when the reproduction value 341 and the check value 302 stored in the storage unit 30 match, and when the reproduction value 341 and the check value 302 are different, the check value Is determined to be incorrect.
- the second ECU 12 does not process the communication message, that is, does not use the communication data included in the communication message. Then, the communication message reception process is terminated.
- the communication message is processed (step S33 in FIG. 7).
- the type of communication data is specified based on the message ID, and the value of the specified type of variable is rewritten to the value obtained from the communication data. For example, when it is specified from the message ID that the type of communication data is vehicle speed, the value of the variable assigned to the vehicle speed in the second ECU 12 is rewritten based on the value stored in the communication data, Various controls on the vehicle are performed based on the rewritten speed value.
- the second ECU 12 executes a parameter update process (step S34 in FIG. 7).
- this parameter update process is the same as the parameter update process (step S13 in FIG. 5) of the communication message transmission process described above. That is, since it is the same as the processing of step S20 to step S25 shown in FIG. 6, its detailed description is omitted. Therefore, in the parameter update process, the parameter update process is performed based on the MAC 311 having the same value as the MAC 311 used by the first ECU 11 for the parameter update process.
- the update of the key 301 of the first ECU 11 and the update of the key 301 of the second ECU 12 are executed in synchronization.
- the update of the check value 302 of the first ECU 11 and the update of the check value 302 of the second ECU 12 are executed in synchronization.
- the first ECU 11 and the second ECU 12 are initially set with the same content key 301 and the same content check value 302.
- the updated keys become the same key, so that the identity of each key is maintained.
- the first ECU 11 and the second ECU 12 update the check value 302 by the CV generation unit 32 having the same configuration, the updated check values become the same check value, so that the check values are identical. Is maintained.
- the key in the ECU (first ECU 11) that transmits the communication message each time the communication message is communicated The key 301 and the check value 302 are updated in synchronization with the update of the check value.
- the communication system according to the present embodiment has the effects listed below.
- the check value 302 used for determining whether the communication message is correct / incorrect is updated in real time between the first and second ECUs 11 and 12 connected to the communication system in accordance with the synchronized check value update conditions.
- the check value 302 is updated to determine whether the check value 302 is correct / incorrect in real time. Is done. That is, the reliability of communication messages communicated in the network is naturally improved.
- the execution of the update of the check value 302 and the update condition are communicated (transmitted or transmitted). It is synchronized between the first and second ECUs 11 and 12 that are received. That is, the check values 302 of the first and second ECUs 11 and 12 are synchronized with a simple mechanism.
- the key 301 used for conversion / reconversion (encryption / decryption) with respect to the check value 302 is real-time in accordance with the synchronized key update conditions between the first and second ECUs 11 and 12 connected to the communication system. Updated to This makes it difficult to obtain the correct check value 302 from a communication message that is illegally acquired from the network, and it is also difficult to estimate the correct key 301, so that obtaining the check value 302 from the MAC 311 is also prevented. That is, since an illegally connected ECU cannot use the correct key 301 and the correct check value 302, communication using an unauthorized communication message is prevented.
- the MAC 311 generated from the check value 302 is also changed.
- the check value 302 and the key 301 are updated in accordance with the change of the MAC 311, thereby preventing communication by an unauthorized communication message and further improving the reliability of the communication message.
- the MAC 311 included in the communication message is encrypted by the key 301, the confidentiality of the MAC 311 is ensured. As a result, it becomes more difficult to reproduce the check value 302 from the MAC 311. Therefore, communication by an unauthorized communication message is prevented, and the reliability of the communication message is improved.
- Check value update conditions are determined based on the contents of the MAC 311. That is, since the check value update condition is determined according to the MAC 311, it is difficult to guess the check value update condition, and it becomes difficult for an unauthorized communication device to assign an appropriate MAC 311 to a communication message. Thereby, the reliability of the communication message in the communication system is improved.
- the key update condition is determined based on the contents of the MAC 311. That is, since the key update condition is determined according to the MAC 311, it is difficult to guess the key update condition, and it becomes difficult for an unauthorized communication device to assign an appropriate MAC 311 to a communication message. Thereby, the reliability of the communication message in the communication system is improved.
- the MAC 311 Since the MAC 311 is stored in the “extended ID area” defined by the CAN protocol, there is no influence on the data area in which the communication data to be transferred is stored. Can do. In the CAN protocol, it is not assumed that data other than the extended ID is stored in the “extended ID area”. However, if the extended ID is not used for determining whether or not a communication message can be received (filtering), reception is possible. The side can take out the MAC 311 stored in the “extended ID area”.
- the key strength is not particularly limited, and thus a key generated by an advanced encryption algorithm or a key consisting of a random numerical value is appropriate. It may be a key consisting of a value defined in As a result, the degree of freedom in designing the communication system can be improved.
- the present invention is not limited thereto, and only one of the CV generation unit and the key generation unit may be provided in the information processing unit. This also updates the check value or key, thereby improving the MAC security and simplifying the communication system.
- the MAC is stored in the “extended ID area” in the “extended ID area”.
- the present invention is not limited to this, and the MAC may be stored in another area such as a “data area”.
- the MAC may be stored in the “data area”.
- FIG. 8 shows a case where the MAC is arranged on the ID area side (front side) of the “data area” with respect to the communication data
- FIG. The case where it is arranged on the ID area side (front side) of the “data area” is shown. According to this, since the MAC is stored in a data area defined by the CAN protocol, it is easy to assign the MAC to the CAN protocol.
- the MAC 311 is 18 bits.
- the present invention is not limited to this, and the MAC may be smaller than 18 bits or larger than 18 bits. As a result, it is possible to adjust the MAC security strength and the load on the arithmetic processing.
- the check value update condition and the key update condition are determined by the lower first bit and second bit values of the MAC.
- the present invention is not limited to this, and if the check value update condition and the key update condition are data included in one communication message, the data other than the MAC that changes irregularly, such as the contents of communication data or the contents of CRC data, can be used. Success or failure may be determined based on the result.
- the present invention is not limited to this, and if the required security is ensured, both the check value and the key may not be updated even if the communication message is communicated. At this time, it is preferable to use data other than the MAC as the update condition. Thereby, the improvement of the design freedom of a communication system comes to be aimed at.
- the check value and key may be updated according to the number of communication messages. Thereby, the improvement of the design freedom of a communication system comes to be aimed at.
- each initial value can be used if security can be ensured. May be set by communication with a card dealer or an external center. Each initial value may be set only with the initial value or may be set with reprogramming of the ECU. Thereby, the improvement of the design freedom of such a communication system comes to be aimed at.
- the present invention is not limited to this, and the CV generation unit and the key generation unit may be combined into one generation unit by applying the same arithmetic processing to the generation of the key and the generation of the check value. Thereby, the structure of the communication system can be simplified.
- an external device is wired to the DLC 16
- the present invention is not limited to this, and an external device may be connected to the DLC via wireless communication.
- a wireless communication terminal may be connected to the DLC, and another wireless communication device may be provided in the external device so that the DLC and the external device communicate wirelessly. This makes it possible to prevent unauthorized communication regardless of the connection mode of the external device to the DLC.
- the communication system is mounted on the vehicle 10 .
- the present invention is not limited to this, and a part or all of the communication system may be provided other than the vehicle. As a result, it is possible to determine whether the communication message is correct / incorrect even for a communication system including a CAN that is used outside the vehicle, so that the applicability of the communication system can be improved.
- the communication system is a system based on the CAN protocol
- the communication protocol applied to the communication system is, for example, Ethernet (registered trademark) or FlexRay (registered trademark), as long as the communication message is verified for correctness / incorrectness using a check value, a key, or the like.
- the communication protocol may be other than the CAN protocol. Thereby, the applicability of such a communication system can be improved.
- the communication system is mounted on the vehicle 10 .
- the present invention is not limited to this, and the communication system may be provided in a moving body other than a vehicle, such as a ship, a railway, an industrial machine, or a robot.
- DESCRIPTION OF SYMBOLS 10 ... Vehicle, 11 ... 1st ECU, 12 ... 2nd ECU, 13 ... 3rd ECU, 15 ... Communication bus, 16 ... Data link connector (DLC), 17 ... User tool, 20, 20A ... Information Processing unit, 21 ... CAN controller, 30 ... storage unit, 31 ... MAC generation unit, 32 ... CV generation unit, 33 ... key generation unit, 34 ... reproduction unit, 35 ... determination unit, 301 ... key, 302 ... check value, 311 ... MAC, 341 ... reproduction value.
- DLC Data link connector
Landscapes
- Engineering & Computer Science (AREA)
- Small-Scale Networks (AREA)
- Computer Hardware Design (AREA)
- Computer Security & Cryptography (AREA)
- Computing Systems (AREA)
- General Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
Abstract
In this communication device, which improves the reliability of messages to be communicated, a plurality of electronic control units (ECUs) is connected to a communication bus that enables communication messages to be communicated. In each ECU, check values (302) used for authenticating communication messages are set. Each ECU has a check value (CV) generation unit (32) for updating the check values (302) according to check value updating conditions. The check value updating conditions are synchronized between the plurality of ECUs on the basis of a single communication message that includes content indicating that the check values (302) are to be updated. An ECU that is to transmit a message includes, in the communication message to be transmitted, a message authentication code (MAC) (311) generated from a check value (302) that has been set. An ECU that us to receive the message determines whether or not the received communication message is authentic by comparing a regenerated value (341) regenerated from the MAC (311) included in the received communication message, and the check value (302) that has been set.
Description
本発明は、車両などにおいてネットワーク接続される通信装置、及び複数の通信装置がネットワーク接続されている通信システム、及び通信方法に関する。
The present invention relates to a communication device that is network-connected in a vehicle or the like, a communication system in which a plurality of communication devices are network-connected, and a communication method.
周知のように、車両に搭載された複数の電子制御装置(ECU)は、それぞれが互いにネットワーク接続されることによってそれら電子制御装置の有する情報(車両情報)を相互に通信可能とする通信システムを構成していることが多い。すなわちこうした通信システムは、ECUを通信装置にした車両ネットワークシステムとして構成されている。そして、このような車両ネットワークシステムの一つにコントローラエリアネットワーク(CAN)がある。
As is well known, a plurality of electronic control units (ECUs) mounted on a vehicle are connected to each other via a network so that information (vehicle information) of the electronic control units can be communicated with each other. Often configured. That is, such a communication system is configured as a vehicle network system using an ECU as a communication device. One such vehicle network system is a controller area network (CAN).
CANでは、通信回線であるバスを共有する各ECUが各々の判断でバス上にメッセージを流すことができるようになっているため、各ECUからバスへのメッセージの送信が容易である。そのため、例えばCANのバスに不正なECUを接続して、当該バスに不正なメッセージを送信することも可能であり、そうした不正なメッセージが送信されると、これを受信したECUでは、当該不正なメッセージを正規のメッセージと同様に処理してしまうおそれもある。
In CAN, each ECU that shares a bus, which is a communication line, can send a message on the bus according to each judgment. Therefore, transmission of a message from each ECU to the bus is easy. Therefore, for example, it is possible to connect an unauthorized ECU to a CAN bus and transmit an unauthorized message to the bus. When such an unauthorized message is transmitted, the ECU receiving the unauthorized message There is a risk of processing the message in the same way as a regular message.
そこで従来から、不正なメッセージによる通信を防ぐ技術なども提案されており、その一例が非特許文献1に記載されている。
Therefore, a technique for preventing communication by an unauthorized message has been proposed, and an example thereof is described in Non-Patent Document 1.
非特許文献1に記載の通信システムは、CAN用のバスに接続された複数のECUを含んで構成される車載CANネットワークである。複数のECUのうち、通信メッセージを送信するECUは、先に通信される4つの通信メッセージに基づいて64ビットのメッセージ認証コードである検査コード(MAC)を生成する。この生成したMACを4分割して4つの16ビットのコードを生成し、これら4つのコードを、その後に通信される4つの通信メッセージに順に付加する。通信メッセージを受信するECUは、先に受信した4つの通信メッセージに基づいて64ビットのMACを生成するとともに、その後に受信する4つの通信メッセージから得た4つのコードを結合させて64ビットのMACを再構成する。そして、受信するECUは、生成したMACと再構成したMACとを比較し、これら2つのMACが同一であれば通信メッセージが正しいと判定する、一方、これら2つのMACが相違すれば通信メッセージが不正であると判定する。これにより、この通信システムでは、通信メッセージの正/不正が秘匿性の高い64ビットのMACに基づいて検証される。
The communication system described in Non-Patent Document 1 is an in-vehicle CAN network including a plurality of ECUs connected to a CAN bus. The ECU that transmits the communication message among the plurality of ECUs generates a test code (MAC) that is a 64-bit message authentication code based on the four communication messages communicated first. The generated MAC is divided into four to generate four 16-bit codes, and these four codes are sequentially added to four communication messages communicated thereafter. The ECU that receives the communication message generates a 64-bit MAC based on the previously received four communication messages, and combines the four codes obtained from the four communication messages received thereafter to combine the 64-bit MAC. Reconfigure. The receiving ECU compares the generated MAC with the reconfigured MAC, and determines that the communication message is correct if the two MACs are the same, while the communication message is determined if the two MACs are different. It is determined to be illegal. Thereby, in this communication system, the correctness / incorrectness of the communication message is verified based on the highly confidential 64-bit MAC.
非特許文献1に記載の通信システムによれば、先に通信される4つの通信メッセージの正/不正が、その後に通信される4つの通信メッセージに分割して付加されたコードから再構成されるMACに基づいて検証される。つまり、この検証結果に基づいて、通信システムにおける不正な通信メッセージを利用した通信が防止される。しかし、通信メッセージの正/不正の判断が、先に通信された4つの通信メッセージとその後に通信された4つの通信メッセージとに基づいて行われるため、正/不正の判断には、少なくとも通信メッセージ8つ分以上の時間を要することになる。このためこの通信システムでは、正/不正の判断に要する遅れが無視できず、リアルタイムでの信頼性の高い処理が必要とされる用途への採用は難しい。
According to the communication system described in Non-Patent Document 1, the correctness / incorrectness of the four communication messages communicated first is reconstructed from the codes added by dividing the four communication messages communicated thereafter. It is verified based on the MAC. That is, based on the verification result, communication using an unauthorized communication message in the communication system is prevented. However, since the correct / incorrect determination of the communication message is performed based on the four communication messages communicated first and the four communication messages transmitted thereafter, at least the communication message It will take more than 8 minutes. For this reason, in this communication system, the delay required for correct / incorrect determination cannot be ignored, and it is difficult to adopt it for applications that require highly reliable processing in real time.
本発明は、このような実情に鑑みなされたものであって、その目的は、リアルタイムな処理を通じて不正な通信の防止、すなわち通信されるメッセージの信頼性の向上を図ることのできる通信システム、通信方法、及び同通信システムに用いられる通信装置を提供することにある。
The present invention has been made in view of such circumstances, and its purpose is to prevent unauthorized communication through real-time processing, that is, to improve the reliability of a message to be communicated, and communication A method and a communication apparatus used in the communication system are provided.
以下、上記課題を解決するための手段及びその作用効果を記載する。
Hereinafter, means for solving the above-mentioned problems and their effects will be described.
上記目的を達成するために本発明が提供する通信システムは、複数の通信装置が通信メッセージを通信可能に通信回線に接続されている通信システムであって、前記複数の通信装置にはそれぞれ、通信メッセージの認証に用いられる検査コードが設定されているとともに、該検査コードの更新を検査コード更新条件に応じて実行する検査コード更新部が設けられており、前記複数の通信装置の間では、前記検査コード更新条件が、同検査コードの更新を指示する内容を含む1つの通信メッセージに基づいて同期され、通信メッセージを送信する通信装置は、前記設定されている検査コードから生成した付与コードを前記送信する通信メッセージに含めるとともに、通信メッセージを受信する通信装置は、受信した通信メッセージに含まれている付与コードから再生した検査コードと前記設定されている検査コードとの比較に基づいて前記受信した通信メッセージの正/不正を判定する。
In order to achieve the above object, a communication system provided by the present invention is a communication system in which a plurality of communication devices are connected to a communication line so that communication messages can be communicated. An inspection code used for message authentication is set, and an inspection code update unit that executes the update of the inspection code in accordance with the inspection code update condition is provided. The inspection code update condition is synchronized based on one communication message including the content for instructing the update of the inspection code, and the communication device that transmits the communication message uses the assigned code generated from the set inspection code as described above. The communication device that is included in the communication message to be transmitted and receives the communication message is included in the received communication message. Determining positive / bad of the communication the received message based on a comparison of the test code check code that the set reproduced from the grant codes that.
上記目的を達成するために本発明が提供する通信方法は、複数の通信装置が通信回線を介して通信メッセージを通信する通信方法であって、前記複数の通信装置に通信メッセージの認証に用いるため設定されている検査コードの更新を、検査コード更新部が検査コード更新条件に応じて実行する工程と、前記検査コード更新条件を前記複数の通信装置の間で、同検査コードの更新を指示する内容を含む1つの通信メッセージに基づいて同期する工程と、前記設定されている検査コードから生成した付与コードを通信メッセージに含めるとともに、その通信メッセージを送信する工程とを備える。
In order to achieve the above object, a communication method provided by the present invention is a communication method in which a plurality of communication devices communicate communication messages via a communication line, and is used for authentication of communication messages to the plurality of communication devices. A step in which the inspection code update unit executes the update of the set inspection code according to the inspection code update condition, and instructs the update of the inspection code between the plurality of communication devices with the inspection code update condition Synchronizing based on one communication message including the contents, and including a step of including the grant code generated from the set inspection code in the communication message and transmitting the communication message.
上記目的を達成するために本発明が提供する通信方法は、複数の通信装置が通信回線を介して通信メッセージを通信する通信方法であって、前記複数の通信装置に通信メッセージの認証に用いるため設定されている検査コードの更新を、検査コード更新部が検査コード更新条件に応じて実行する工程と、前記検査コード更新条件を前記複数の通信装置の間で、同検査コードの更新を指示する内容を含む1つの通信メッセージに基づいて同期する工程と、前記設定されている検査コードから生成された付与コードを含む通信メッセージを受信する工程と、当該受信した通信メッセージに含まれている付与コードから検査コードを再生する工程と、前記再生した検査コードと前記設定されている検査コードとの比較に基づいて前記受信した通信メッセージの正/不正を判定する工程とを備える。
In order to achieve the above object, a communication method provided by the present invention is a communication method in which a plurality of communication devices communicate communication messages via a communication line, and is used for authentication of communication messages to the plurality of communication devices. A step in which the inspection code update unit executes the update of the set inspection code according to the inspection code update condition, and instructs the update of the inspection code between the plurality of communication devices with the inspection code update condition A step of synchronizing based on one communication message including the content, a step of receiving a communication message including a grant code generated from the set inspection code, and a grant code included in the received communication message And the received communication based on the step of reproducing the inspection code from a comparison between the reproduced inspection code and the set inspection code. And a step of determining positive / incorrect message.
上記目的を達成するために本発明が提供する通信装置は、通信回線に接続され、前記通信回線に接続される他の通信装置との間で通信メッセージによる通信を行う通信装置であって、前記通信装置には、通信メッセージの認証に用いられる検査コードが設定されているとともに、前記検査コードの更新を検査コード更新条件に応じて実行する検査コード更新部が設けられており、当該通信装置は、他の通信装置との間では、前記検査コード更新条件が、同検査コードの更新を指示する内容を含む1つの通信メッセージに基づいて同期されるとともに、前記設定されている検査コードから生成した付与コードを通信メッセージに含めて送信する。
In order to achieve the above object, a communication apparatus provided by the present invention is a communication apparatus that is connected to a communication line and performs communication using a communication message with another communication apparatus connected to the communication line. In the communication device, an inspection code used for authentication of a communication message is set, and an inspection code update unit that executes update of the inspection code according to an inspection code update condition is provided. The inspection code update condition is synchronized with another communication device based on one communication message including contents instructing to update the inspection code, and is generated from the set inspection code. Send the grant code in the communication message.
上記目的を達成するために本発明が提供する通信装置は、通信回線に接続され、前記通信回線に接続される他の通信装置との間で通信メッセージによる通信を行う通信装置であって、前記通信装置には、通信メッセージの認証に用いられる検査コードが設定されているとともに、前記検査コードの更新を検査コード更新条件に応じて実行する検査コード更新部が設けられており、当該通信装置は、他の通信装置との間では、前記検査コード更新条件が、同検査コードの更新を指示する内容を含む1つの通信メッセージに基づいて同期されるとともに、前記設定されている検査コードから生成された付与コードを含む前記他の通信装置から送信される通信メッセージを受信してその通信メッセージに含まれている付与コードから検査コードを再生し、この再生した検査コードと前記設定されている検査コードとの比較に基づいて前記受信した通信メッセージの正/不正を判定する。
In order to achieve the above object, a communication apparatus provided by the present invention is a communication apparatus that is connected to a communication line and performs communication using a communication message with another communication apparatus connected to the communication line. In the communication device, an inspection code used for authentication of a communication message is set, and an inspection code update unit that executes update of the inspection code according to an inspection code update condition is provided. The inspection code update condition is synchronized with another communication device based on one communication message including contents instructing the update of the inspection code, and is generated from the set inspection code. Receiving a communication message transmitted from the other communication device including the assigned code, and obtaining an inspection code from the assigned code included in the communication message. No, it determines a positive / incorrect communication the received message based on a comparison of the test code is the set inspection code this play.
このような構成もしくは方法によれば、通信メッセージの正/不正の判定に用いられる検査コードが、通信システムに接続された複数の通信装置間において、同期された検査コード更新条件に従ってリアルタイムに更新される。これにより、ネットワークから不正に取得された通信メッセージから正しい検査コードが得られたとしても、その検査コードが更新されることによって、検査コードを利用しての正/不正もリアルタイムに判定される。すなわち、ネットワーク内で通信される通信メッセージの信頼性も自ずと向上される。
According to such a configuration or method, the inspection code used to determine whether the communication message is correct / incorrect is updated in real time between a plurality of communication devices connected to the communication system according to the synchronized inspection code update conditions. The As a result, even if a correct inspection code is obtained from a communication message illegally obtained from the network, whether the inspection code is used or not is determined in real time by updating the inspection code. That is, the reliability of communication messages communicated in the network is naturally improved.
また、検査コードの更新指示を、通信メッセージに含ませることによって、検査コードの更新の実行、並びに更新条件が、1つの通信メッセージが通信(送信又は受信)される複数の通信装置間において同期される。つまり、複数の通信装置の検査コードが簡単な仕組みで同期されるようになる。
Also, by including an inspection code update instruction in the communication message, the execution of the inspection code and the update condition are synchronized among a plurality of communication devices that communicate (transmit or receive) one communication message. The That is, the inspection codes of a plurality of communication devices are synchronized with a simple mechanism.
これにより、不正なECUや外部機器からの不正な通信メッセージによる通信を通信システムから排除することができる。また、通信メッセージの正当性を偽造することが困難になるためセキュリティの向上が図られる。
This makes it possible to eliminate communication from unauthorized communication messages from unauthorized ECUs or external devices from the communication system. Further, since it becomes difficult to forge the validity of the communication message, security can be improved.
好ましい構成として、前記通信装置には、前記検査コードから付与コードを生成するとき、及び、前記付与コードから前記検査コードを再生するときに用いられる変換コードが設定されているとともに、前記変換コードの更新を変換コード更新条件に応じて実行する変換コード更新部が設けられており、前記複数の通信装置の間では、前記変換コード更新条件が、同変換コードの更新を指示する内容を含む1つの通信メッセージに基づいて同期される。
As a preferred configuration, the communication device is set with a conversion code used when generating a provision code from the inspection code and reproducing the inspection code from the provision code. There is provided a conversion code update unit that executes an update according to the conversion code update condition, and the conversion code update condition includes a content that instructs updating of the conversion code between the plurality of communication devices. Synchronized based on the communication message.
上記目的を達成するために本発明が提供する通信システムは、複数の通信装置が通信メッセージを通信可能に通信回線に接続されている通信システムであって、前記複数の通信装置にはそれぞれ、通信メッセージの認証に用いられる検査コードと、前記検査コードから付与コードを生成するとき、及び、前記付与コードから前記検査コードを再生するときに用いられる変換コードとが設定されているとともに、前記変換コードの更新を変換コード更新条件に応じて実行する変換コード更新部が設けられており、前記複数の通信装置の間では、前記変換コード更新条件が、同変換コードの更新を指示する内容を含む1つの通信メッセージに基づいて同期され、通信メッセージを送信する通信装置は、前記検査コードに対して前記変換コードを用いることによって生成した付与コードを、前記送信する通信メッセージに含めるとともに、通信メッセージを受信する通信装置は、受信した通信メッセージに含まれている付与コードに対して前記変換コードを用いることによって再生した検査コードと、前記設定されている検査コードとの比較に基づいて前記受信した通信メッセージの正/不正を判定する。
In order to achieve the above object, a communication system provided by the present invention is a communication system in which a plurality of communication devices are connected to a communication line so that communication messages can be communicated. An inspection code used for authentication of a message, a conversion code used when generating an assignment code from the inspection code and reproducing the inspection code from the assignment code are set, and the conversion code A conversion code update unit is provided for executing the update according to the conversion code update condition. Among the plurality of communication devices, the conversion code update condition includes a content for instructing the update of the conversion code 1 A communication device that is synchronized based on two communication messages and transmits the communication message transmits the conversion code to the inspection code. And the communication device that receives the communication message is reproduced by using the conversion code with respect to the grant code included in the received communication message. Whether the received communication message is correct / incorrect is determined based on a comparison between the inspection code and the set inspection code.
このような構成によれば、検査コードに対する変換/再変換(暗号化/復号)に用いられる変換コードが通信システムに接続された複数の通信装置間において、同期された変換コード更新条件に従ってリアルタイムに更新される。これにより、ネットワークから不正に取得された通信メッセージから正しい検査コードを得ることが困難になるとともに、正しい変換コードの推定も困難であるため付与コードから検査コードを得ることも防止される。つまり、不正に接続された通信装置が正しい変換コードと正しい検査コードとを利用することができないため、不正な通信メッセージによる通信が防止されるようになる。
According to such a configuration, a conversion code used for conversion / reconversion (encryption / decryption) to the inspection code is exchanged between a plurality of communication devices connected to the communication system in real time according to the synchronized conversion code update conditions. Updated. As a result, it is difficult to obtain a correct inspection code from a communication message that is illegally acquired from the network, and it is also difficult to estimate a correct conversion code, thereby preventing an inspection code from being obtained from an assigned code. That is, since the communication device that is illegally connected cannot use the correct conversion code and the correct inspection code, communication using an illegal communication message is prevented.
また、変換コードの変更によって検査コードから生成される付与コードも変更される。このように、付与コードの変化に合わせて検査コードや変換コードが更新されることで、不正な通信メッセージによる通信が防止され、通信メッセージの信頼性がより高められる。
Also, the grant code generated from the inspection code is changed by changing the conversion code. As described above, the inspection code and the conversion code are updated in accordance with the change of the assigned code, so that communication by an unauthorized communication message is prevented and the reliability of the communication message is further improved.
好ましい構成として、前記送信する通信装置は、前記検査コードを前記変換コードに基づいて暗号化することによって前記付与コードを生成するとともに、前記受信する通信装置は、前記付与コードを前記変換コードに基づいて復号することによって前記検査コードを再生する。
As a preferred configuration, the transmitting communication device generates the assignment code by encrypting the inspection code based on the conversion code, and the receiving communication device uses the conversion code based on the conversion code. The inspection code is reproduced by decoding.
このような構成によれば、更新される検査コードが、さらに変換コードにより変換されて暗号化された付与コードとなるため、生成された付与コードの秘匿性の向上が図られるようになる。これにより、付与コードから検査コードを再生することが難しくなるため、不正な通信メッセージによる通信が防止され、通信メッセージの信頼性が向上されるようになる。
According to such a configuration, since the inspection code to be updated becomes a grant code that is further converted by the conversion code and encrypted, the confidentiality of the generated grant code can be improved. This makes it difficult to reproduce the inspection code from the assigned code, thereby preventing communication using an unauthorized communication message and improving the reliability of the communication message.
好ましい構成として、前記検査コードは、前記通信装置に設定されている値であり、
前記変換コードは、前記通信装置に設定されている暗号鍵である。 As a preferred configuration, the inspection code is a value set in the communication device,
The conversion code is an encryption key set in the communication device.
前記変換コードは、前記通信装置に設定されている暗号鍵である。 As a preferred configuration, the inspection code is a value set in the communication device,
The conversion code is an encryption key set in the communication device.
このような構成によれば、通信メッセージに含まれる付与コードが暗号鍵によって暗号化されるため、付与コードの秘匿性が確保される。これにより、付与コードから検査コードを再生することがより難しくなるため、不正な通信メッセージによる通信を防止し、通信メッセージの信頼性が向上されるようになる。
According to such a configuration, since the grant code included in the communication message is encrypted with the encryption key, the secrecy of the grant code is ensured. As a result, it becomes more difficult to reproduce the inspection code from the assigned code, so communication by an unauthorized communication message is prevented, and the reliability of the communication message is improved.
好ましい構成として、前記検査コード更新条件は、前記付与コードの内容に基づいて定まる条件である。
As a preferred configuration, the inspection code update condition is a condition determined based on the content of the assigned code.
このような構成によれば、付与コードの内容に基づいて検査コード更新条件が定まる。つまり、付与コードに応じて検査コード更新条件が定まるため、検査コード更新条件の推測が難しいものとなり、不正な通信装置が通信メッセージに適正な付与コードを付与することが困難になる。これにより、通信システムにおける通信メッセージの信頼性が向上される。
According to such a configuration, the inspection code update condition is determined based on the content of the assigned code. That is, since the inspection code update condition is determined according to the assigned code, it is difficult to guess the inspection code update condition, and it becomes difficult for an unauthorized communication device to assign an appropriate assigned code to the communication message. Thereby, the reliability of the communication message in the communication system is improved.
好ましい構成として、前記変換コード更新条件は、前記付与コードの内容に基づいて定まる条件である。
As a preferred configuration, the conversion code update condition is a condition determined based on the content of the assigned code.
このような構成によれば、付与コードの内容に基づいて変換コード更新条件が定まる。つまり、付与コードに応じて変換コード更新条件が定まるため、変換コード更新条件の推測が難しいものとなり、不正な通信装置が通信メッセージに適正な付与コードを付与することが困難になる。これにより、通信システムにおける通信メッセージの信頼性が向上される。
According to such a configuration, the conversion code update condition is determined based on the content of the assigned code. That is, since the conversion code update condition is determined according to the assignment code, it is difficult to guess the conversion code update condition, and it becomes difficult for an unauthorized communication device to assign an appropriate assignment code to the communication message. Thereby, the reliability of the communication message in the communication system is improved.
好ましい構成として、前記通信メッセージは、CANプロトコルによるメッセージであり、前記付与コードは、通信メッセージに確保されている拡張ID領域に格納される。
As a preferred configuration, the communication message is a message according to a CAN protocol, and the grant code is stored in an extended ID area secured in the communication message.
このような構成によれば、付与コードがCANプロトコルで規定される拡張ID領域に格納されるため、転送対象の通信データを格納するデータ領域に対する影響が生じないため、通信データの転送量を好適に維持することができる。なお、CANプロトコルでは、拡張ID領域に拡張ID以外のデータを格納することは想定されていないが、拡張IDを通信メッセージの受信の可否判断(フィルタリング)に用いないようにすれば、拡張ID領域に格納された付与コードを取り出すことができる。
According to such a configuration, since the assigned code is stored in the extended ID area defined by the CAN protocol, there is no influence on the data area in which the communication data to be transferred is stored. Can be maintained. In the CAN protocol, it is not assumed that data other than the extended ID is stored in the extended ID area. However, if the extended ID is not used for determination of whether or not a communication message can be received (filtering), the extended ID area is not used. Can be extracted.
好ましい構成として、前記通信メッセージは、CANプロトコルによるメッセージであり、前記付与コードは、通信メッセージに確保されているデータ領域に格納される。
As a preferred configuration, the communication message is a message according to a CAN protocol, and the grant code is stored in a data area secured in the communication message.
このような構成によれば、付与コードがCANプロトコルで規定されるデータ格納領域に格納されるため、CANプロトコルへの付与コードの付与が容易である。また、付与コードのビット数を少なくしても、更新頻度の高さによっても秘匿性が確保される。このため、転送対象の通信データを格納するデータ領域における付与コードの占有数を少なくして、通信データの転送量の減少を抑えることができる。
According to such a configuration, since the grant code is stored in the data storage area defined by the CAN protocol, it is easy to give the grant code to the CAN protocol. Further, even if the number of bits of the assigned code is reduced, confidentiality is ensured even by the high update frequency. For this reason, it is possible to reduce the number of assigned codes occupied in the data area for storing the communication data to be transferred, and to suppress the reduction in the transfer amount of the communication data.
本発明に係る通信システムを具体化した第1の実施形態について、図1~7に従って説明する。
A first embodiment embodying a communication system according to the present invention will be described with reference to FIGS.
図1に示すように、車両10は、通信システムとしての車載ネットワークシステムを備えている。車載ネットワークシステムは、通信装置としての第1~第3の電子制御装置(ECU)11~13と、第1~第3のECU11~13が接続される通信用バス15とを備えている。これにより、第1~第3のECU11~13は、制御などに用いられる各種情報を通信用バス15を介して相互に授受(送信受信)できるようになっている。なお、車載ネットワークシステムは、通信プロトコルとしてCAN(Controller Area Network)プロトコルの適用されるCANネットワークとして構成されている。通信用バス15は、例えばツイストペアケーブルである。これにより、通信用バス15には、他のECUの追加が容易であるとともに、追加された他のECUが通信メッセージを送受信することも容易にできる。つまり、第1~第3のECU11~13は、それぞれ各通信メッセージMS1~MS3を通信用バス15に送信することで、通信用バス15に接続されている他のECUとの通信により各種情報を授受することができる。なお、本実施形態では、説明の便宜上、第1及び第2のECU11,12を正規のECUとする、一方、第3のECU13を不正に接続されたECUとする。
As shown in FIG. 1, the vehicle 10 includes an in-vehicle network system as a communication system. The in-vehicle network system includes first to third electronic control units (ECUs) 11 to 13 as communication devices and a communication bus 15 to which the first to third ECUs 11 to 13 are connected. Accordingly, the first to third ECUs 11 to 13 can exchange (transmit / receive) various information used for control and the like via the communication bus 15. The in-vehicle network system is configured as a CAN network to which a CAN (Controller Area Network) protocol is applied as a communication protocol. The communication bus 15 is, for example, a twisted pair cable. This makes it easy to add other ECUs to the communication bus 15 and allows the added other ECUs to easily transmit and receive communication messages. That is, the first to third ECUs 11 to 13 transmit various communication messages MS1 to MS3 to the communication bus 15, respectively, so that various types of information are communicated with other ECUs connected to the communication bus 15. Can give and receive. In the present embodiment, for convenience of explanation, the first and second ECUs 11 and 12 are regular ECUs, while the third ECU 13 is an illegally connected ECU.
図2に示すように、第1及び第2のECU11,12から送信される各通信メッセージMS1,MS2は、通信メッセージを構成するデータフレームに「ID領域」、「拡張ID領域」及び「データ領域」が規定されている。そして、「ID領域」には「メッセージID」が格納され、「拡張ID領域」には付与コードとしての「メッセージ検査コード」(MAC)が格納され(埋め込まれ)、「データ領域」には「通信データ」が格納される。なお、CANプロトコルにおいて、拡張フレームとして設定された通信メッセージには「拡張ID領域」が設けられるが、標準フレームとして設定された通信メッセージには「ID領域」のみが設けられる。つまり、各通信メッセージMS1,MS2は、拡張フレームとして設定されている。また、MACを「拡張ID領域」に格納する(埋め込む)と、アービトレーションにMACも利用されるが、通信メッセージを通信させることは可能である。つまり、第1や第2のECU11,12は、「拡張ID領域」のMACを、受信制限するフィルタリングに用いないようにすれば、拡張フレームに設定された通信メッセージの「拡張ID領域」を利用してMACを送受信することができる。
As shown in FIG. 2, the communication messages MS1 and MS2 transmitted from the first and second ECUs 11 and 12 include “ID region”, “extended ID region”, and “data region” in the data frame constituting the communication message. Is defined. The “ID area” stores “message ID”, the “extended ID area” stores “embedded” “message check code” (MAC), and the “data area” stores “embedded”. Communication data "is stored. In the CAN protocol, an “extended ID area” is provided for a communication message set as an extended frame, but only an “ID area” is provided for a communication message set as a standard frame. That is, each communication message MS1, MS2 is set as an extended frame. When the MAC is stored (embedded) in the “extended ID area”, the MAC is also used for arbitration, but a communication message can be communicated. That is, if the first and second ECUs 11 and 12 do not use the MAC in the “extended ID area” for filtering that restricts reception, the “extended ID area” of the communication message set in the extended frame is used. MAC can be transmitted and received.
一方、図10に示すように、第3のECU13から送信される通信メッセージMS3は、例えば、通常フレームに設定されているため、通信メッセージを構成するデータフレームに「ID領域」及び「データ領域」が規定されている。そして、「ID領域」には「メッセージID」が格納され、「データ領域」には「通信データ」が格納されている。つまり、「拡張ID領域」が設けられていないとともに、「MAC」はどこにも格納されていない。すなわち、第3のECU13は、「MAC」に対応していない。
On the other hand, as shown in FIG. 10, since the communication message MS3 transmitted from the third ECU 13 is set to, for example, a normal frame, an “ID region” and a “data region” are included in the data frame constituting the communication message. Is stipulated. The “ID area” stores “message ID”, and the “data area” stores “communication data”. That is, the “extended ID area” is not provided and “MAC” is not stored anywhere. That is, the third ECU 13 does not support “MAC”.
また、通信用バス15には、外部機器を通信可能に接続させることのできる接続端子であるデータリンクコネクタ(DLC)16が設けられている。DLC16は、メーカやカーディーラ等に用意された正規の通信装置としての診断機器などを通信用バス15へ通信可能に接続させる。さらに、DLC16には、ユーザが独自に用意した非正規の通信装置であるユーザツール17を接続させることもできる。
In addition, the communication bus 15 is provided with a data link connector (DLC) 16 which is a connection terminal capable of connecting an external device so as to be communicable. The DLC 16 connects a diagnostic device or the like as a regular communication device prepared by a manufacturer or a card dealer to the communication bus 15 so as to be communicable. Furthermore, the DLC 16 can be connected to a user tool 17 that is an unauthorized communication device prepared by the user.
ところで、ネットワークへの接続時の動作検証が不十分な他のECUやユーザツール17などを通信用バス15に接続させると、それら機器から送信される通信メッセージが通信用バス15における通信に悪影響を与えるおそれもある。とりわけ、非正規のテスターやスマートフォンなどのユーザツール17は、不適切なソフトウェアやウィルスなどが実行されることによって、通信用バス15における通信に悪影響を及ぼす通信メッセージの送信動作などが生じるおそれがある。さらに、通信を妨害する意図で不正なECUが通信用バス15に接続されるおそれもある。そのため、通信システムとしては、通信用バス15における通信に影響を生じるおそれのある通信メッセージによる通信を防止する必要がある。すなわち、本実施形態では、不正に接続されている第3のECU13から送信される不正な通信メッセージによる影響を防止する必要がある。
By the way, if other ECUs or user tools 17 that are not sufficiently verified when connected to the network are connected to the communication bus 15, communication messages transmitted from those devices will adversely affect communication on the communication bus 15. There is also a risk of giving. In particular, the user tool 17 such as an unauthorized tester or a smartphone may cause a communication message transmission operation that adversely affects communication in the communication bus 15 when inappropriate software or a virus is executed. . Further, an unauthorized ECU may be connected to the communication bus 15 with the intention of disturbing communication. Therefore, it is necessary for the communication system to prevent communication using a communication message that may affect the communication on the communication bus 15. That is, in this embodiment, it is necessary to prevent the influence of an unauthorized communication message transmitted from the third ECU 13 that is illegally connected.
第1及び第2のECU11,12はそれぞれ、車両10の各種制御に用いられる制御装置であって、例えば、駆動系や、走行系や、車体系や、情報機器系等を制御対象としているECUである。例えば、駆動系を制御対象とするECUとしては、エンジン用ECUが挙げられ、走行系を制御対象とするECUとしては、ステアリング用ECUやブレーキ用ECUが挙げられ、車体系を制御するECUとしては、ライト用ECUやウィンドウ用ECUが挙げられ、情報機器系を制御対象とするECUとしては、カーナビゲーション用ECUが挙げられる。なお、通信用バス15に接続されるECUの数は、2つに限られず、1つであっても、3つ以上であってもよい。なお、第1及び第2のECU11,12は、同様の構造を有しているため、以下では第1のECU11の構造について説明し、説明の便宜上、同一の構成には同一の番号を付すことで第2のECU12の構造についてはその詳細な説明を割愛する。
Each of the first and second ECUs 11 and 12 is a control device that is used for various controls of the vehicle 10. For example, an ECU that controls a drive system, a traveling system, a vehicle body system, an information equipment system, and the like. It is. For example, an ECU for a drive system is an ECU for an engine, an ECU for a travel system is an ECU for a steering or a brake ECU, and an ECU for controlling a vehicle body system An ECU for a light and an ECU for a window can be mentioned, and an ECU for controlling an information device system includes an ECU for car navigation. The number of ECUs connected to the communication bus 15 is not limited to two, and may be one or three or more. Since the first and second ECUs 11 and 12 have the same structure, the structure of the first ECU 11 will be described below, and for the sake of convenience of explanation, the same numbers are assigned to the same components. Thus, the detailed description of the structure of the second ECU 12 is omitted.
図1に示すように、第1のECU11には、各種情報を用いて各種制御に必要とされる処理を行う情報処理部20と、通信用バス15を介して他のECUとの間でCANプロトコルに基づく通信メッセージによる通信を行うとともに、情報処理部20との間で通信メッセージに関連するデータの授受を行うCANコントローラ21とが設けられている。
As shown in FIG. 1, the first ECU 11 includes a CAN between an information processing unit 20 that performs processing required for various controls using various information, and another ECU via a communication bus 15. There is provided a CAN controller 21 for performing communication using a communication message based on the protocol and for exchanging data related to the communication message with the information processing unit 20.
CANコントローラ21は、通信用バス15から受信した通信メッセージを解析し、当該通信メッセージに含まれるメッセージIDや、転送したいデータ本体である通信データなどを取得するとともに、その取得されたメッセージIDや通信データなどを情報処理部20に提供する。また、CANコントローラ21は、情報処理部20から入力されたメッセージIDや通信データなどに基づいて当該メッセージIDや通信データなどを含む通信メッセージを生成するとともに、生成した通信メッセージを通信用バス15へ送信する。
The CAN controller 21 analyzes a communication message received from the communication bus 15 and acquires a message ID included in the communication message, communication data that is a data body to be transferred, and the acquired message ID and communication. Data and the like are provided to the information processing unit 20. The CAN controller 21 generates a communication message including the message ID and communication data based on the message ID and communication data input from the information processing unit 20, and sends the generated communication message to the communication bus 15. Send.
よって、第1のECU11では、通信用バス15に送信されている(流されている)通信メッセージ(MS2など)がCANコントローラ21により受信され、この受信された通信メッセージに含まれている通信データ等がCANコントローラ21から情報処理部20に提供される。また、第1のECU11では、送信したい通信データ等が情報処理部20からCANコントローラ21に付与され、この付与された通信データ等を含む通信メッセージMS1がCANコントローラ21から通信用バス15へ送信される(流される)。
Therefore, in the first ECU 11, a communication message (such as MS2) transmitted (flowed) to the communication bus 15 is received by the CAN controller 21, and the communication data included in the received communication message. Are provided from the CAN controller 21 to the information processing unit 20. In the first ECU 11, communication data or the like to be transmitted is given from the information processing unit 20 to the CAN controller 21, and a communication message MS 1 including the given communication data or the like is sent from the CAN controller 21 to the communication bus 15. (Flowed).
これにより、第1のECU11の情報処理部20は、第2のECU12などから送信される制御機能に必要な各種データを、通信用バス15に流れる通信メッセージ(MS2など)から取得できる。また、第1のECU11の情報処理部20は、第2のECU12などに伝達したい各種データを含ませた通信メッセージMS1を通信用バス15に送信できる。
Thereby, the information processing unit 20 of the first ECU 11 can acquire various data necessary for the control function transmitted from the second ECU 12 or the like from the communication message (MS2 or the like) flowing through the communication bus 15. Further, the information processing unit 20 of the first ECU 11 can transmit a communication message MS1 including various data to be transmitted to the second ECU 12 or the like to the communication bus 15.
第3のECU13には、情報処理部20AとCANコントローラ21とが設けられている。情報処理部20Aは、MACに対応しないことを除いて第1のECU11の情報処理部20と同様の構成であるとともに、CANコントローラ21は、第1のECU11のCANコントローラ21と同一の構成であるため、その詳細な説明を割愛する。
The third ECU 13 is provided with an information processing unit 20A and a CAN controller 21. The information processing unit 20A has the same configuration as the information processing unit 20 of the first ECU 11 except that it does not support MAC, and the CAN controller 21 has the same configuration as the CAN controller 21 of the first ECU 11. Therefore, the detailed explanation is omitted.
情報処理部20は、マイクロコンピュータを含み構成されており、各種処理を行う演算装置や、演算結果や各種制御機能を提供するプログラムなどを保持する記憶装置を有している。そして、情報処理部20では、所定の制御機能を提供するプログラムが演算装置で実行処理されることによって当該所定の制御機能が提供される。本実施形態では、情報処理部20では、認証用のデータからMACを生成する生成処理や、MACから認証用のデータを再生する再生処理が行われる。情報処理部20には、記憶装置に保持されている生成処理や再生処理に対応するプログラムがそれぞれ演算装置で実行されることによってそれらの処理を実行する機能が設けられる。
The information processing unit 20 is configured to include a microcomputer, and includes a computing device that performs various processes, and a storage device that holds computation results and programs that provide various control functions. The information processing unit 20 provides the predetermined control function by executing a program that provides the predetermined control function on the arithmetic device. In the present embodiment, the information processing unit 20 performs a generation process for generating a MAC from authentication data and a reproduction process for reproducing the authentication data from the MAC. The information processing unit 20 is provided with a function of executing a program corresponding to the generation process and the reproduction process held in the storage device by executing each program on the arithmetic device.
図3に示すように、情報処理部20には、生成処理や再生処理に用いられるパラメータなどを記憶する記憶部30が設けられている。
As shown in FIG. 3, the information processing unit 20 is provided with a storage unit 30 for storing parameters used for generation processing and reproduction processing.
記憶部30は、記憶媒体として情報処理部20の記憶装置が用いられている。なお、記憶部30に用いる記憶装置はその他の記憶装置でもよい。記憶部30には、パラメータとして、データの暗号化/復号に用いられる変換コードとしてのキー301と、ECUの認証に用いる認証用データである検査コードとしてのチェック値302とが記憶されている。また、記憶部30には、工場出荷時などにキー301の初期値やチェック値302の初期値が設定される。
The storage unit 30 uses the storage device of the information processing unit 20 as a storage medium. The storage device used for the storage unit 30 may be another storage device. The storage unit 30 stores, as parameters, a key 301 as a conversion code used for data encryption / decryption and a check value 302 as an inspection code that is authentication data used for ECU authentication. The initial value of the key 301 and the initial value of the check value 302 are set in the storage unit 30 at the time of factory shipment.
キー301は、チェック値302からMAC(311)を生成するとき、及び、MAC(311)からチェック値302を再生させるときに用いられる。またキー301は、いわゆる共通鍵(共通暗号鍵)であって、第1及び第2のECU11,12にはそれぞれ、同じキー301が保持されている。
The key 301 is used when generating the MAC (311) from the check value 302 and when reproducing the check value 302 from the MAC (311). The key 301 is a so-called common key (common encryption key), and the same key 301 is held in each of the first and second ECUs 11 and 12.
チェック値302は、正規のECUを認証するために用いられる値であって、第1及び第2のECU11,12にはそれぞれ、同じチェック値302が保持されている。
The check value 302 is a value used to authenticate a normal ECU, and the same check value 302 is held in each of the first and second ECUs 11 and 12.
図3に示すように、情報処理部20には、チェック値からMAC311を生成するMAC生成部31と、新たなチェック値(CV)を生成する検査コード更新部としてのCV生成部32と、新たなキーを生成する変換コード更新部としての鍵生成部33とが設けられている。また、情報処理部20には、MACからCVを再生する再生部34と、記憶部30に記憶されているチェック値302と再生部34が再生した再生値341とが同一であるか否かを判定する判定部35とが設けられている。
As illustrated in FIG. 3, the information processing unit 20 includes a MAC generation unit 31 that generates a MAC 311 from a check value, a CV generation unit 32 as a check code update unit that generates a new check value (CV), and a new And a key generation unit 33 as a conversion code update unit for generating a simple key. Further, the information processing unit 20 determines whether or not the reproduction unit 34 that reproduces CV from the MAC, the check value 302 stored in the storage unit 30, and the reproduction value 341 reproduced by the reproduction unit 34 are the same. A determination unit 35 for determination is provided.
MAC生成部31は、チェック値302とキー301とが入力され、MAC311を出力するものであって、入力されたチェック値302とキー301とに基づいてMAC311を生成する。詳述すると、MAC生成部31では、入力されたチェック値302がキー301によって暗号化(エンコード、符号化)されることによってMAC311が生成される。この暗号化は、キー301を用いてチェック値302を特定の値に変換することができる変換であればよい。例えば、変換は、チェック値302とキー301との間に、論理和(AND)や排他的論理和(XOR)などの論理演算を適用した変換でもよいし、ハッシュ関数などの各種関数を適用した変換でもよい。こうして、チェック値302がキー301によって変換されることで生成されたMAC311は、MAC生成部31から出力される。また、本実施形態では、MAC生成部31は、18ビットのMAC311を生成する。18ビットのMAC311を生成するための演算は、非特許文献1の通信システムで用いられる64ビットのMACを生成する演算に比べて簡単であるため、MACの生成処理が情報処理部20に与える負荷が小さく抑えられる。そして、生成されたMAC311は、CANプロトコルのデータフレームに規定される18ビットの「拡張ID領域」に格納されることで通信メッセージに含まれて送信される。なお、こうしてチェック値302を1つの通信メッセージに格納することで通信メッセージの正/不正の検証が、その通信メッセージが通信される都度、すなわちリアルタイムに実行できるようになる。
The MAC generation unit 31 receives the check value 302 and the key 301 and outputs the MAC 311, and generates the MAC 311 based on the input check value 302 and the key 301. More specifically, the MAC generation unit 31 generates the MAC 311 by encrypting (encoding, encoding) the input check value 302 with the key 301. This encryption may be a conversion that can convert the check value 302 into a specific value using the key 301. For example, the conversion may be a conversion in which a logical operation such as logical sum (AND) or exclusive logical sum (XOR) is applied between the check value 302 and the key 301, or various functions such as a hash function are applied. Conversion is also possible. Thus, the MAC 311 generated by converting the check value 302 with the key 301 is output from the MAC generation unit 31. In the present embodiment, the MAC generation unit 31 generates an 18-bit MAC 311. Since the calculation for generating the 18-bit MAC 311 is simpler than the calculation for generating the 64-bit MAC used in the communication system of Non-Patent Document 1, the load that the MAC generation processing gives to the information processing unit 20 Can be kept small. Then, the generated MAC 311 is stored in an 18-bit “extended ID area” defined in the data frame of the CAN protocol, and transmitted in a communication message. By storing the check value 302 in one communication message in this way, it is possible to perform verification of the correctness / incorrectness of the communication message every time the communication message is communicated, that is, in real time.
CV生成部32は、記憶部30に記憶されているチェック値302を当該CV生成部32に入力させるとともに、新たなチェック値を出力して記憶部30に記憶されているチェック値302を更新する。詳述すると、CV生成部32は、チェック値を更新させる条件である検査コード更新条件としてのチェック値更新条件が成立すると、記憶部30に記憶されているチェック値302の値を取得し、この取得したチェック値302に所定の演算を施して新たなチェック値を算出する。この所定の演算は、チェック値302から新たなチェック値を算出することができるものであればよく、論理和(AND)や排他的論理和(XOR)などの論理演算を用いた演算でもよいし、疑似乱数やハッシュ関数などの各種関数を用いた演算でもよいし、四則演算でもよい。なお、新たなチェック値は、直前のチェック値302とは相違する値として算出されるようになっている。そしてCV生成部32は、この新たなチェック値を記憶部30にチェック値302として記憶させる。つまり、記憶部30に記憶されているチェック値302が新しいチェック値に更新される。
The CV generation unit 32 causes the check value 302 stored in the storage unit 30 to be input to the CV generation unit 32 and outputs a new check value to update the check value 302 stored in the storage unit 30. . More specifically, the CV generation unit 32 acquires the value of the check value 302 stored in the storage unit 30 when the check value update condition as the inspection code update condition, which is a condition for updating the check value, is established. A predetermined calculation is performed on the acquired check value 302 to calculate a new check value. This predetermined operation is not limited as long as a new check value can be calculated from the check value 302, and may be an operation using a logical operation such as logical sum (AND) or exclusive logical sum (XOR). An operation using various functions such as a pseudo-random number or a hash function may be performed, or an arithmetic operation may be performed. Note that the new check value is calculated as a value different from the previous check value 302. Then, the CV generation unit 32 stores the new check value in the storage unit 30 as the check value 302. That is, the check value 302 stored in the storage unit 30 is updated to a new check value.
鍵生成部33は、記憶部30に記憶されているキー301を当該鍵生成部33に入力させるとともに、新たなキーを出力して記憶部30に記憶されているキー301を更新する。詳述すると、鍵生成部33は、キーを更新させる条件である変換コード更新条件としてのキー更新条件が成立すると、記憶部30に記憶されているキー301の値に所定の演算を施して新たなキーを算出する。この所定の演算は、キー301から新たなキーを算出することができるものであればよく、論理和(AND)や排他的論理和(XOR)などの論理演算を用いた演算でもよいし、疑似乱数やハッシュ関数などの各種関数を用いた演算でもよいし、四則演算でもよい。なお、新たなキーは、直前のキー301とは相違する値として算出されるようになっている。そして鍵生成部33は、この新たなキーを記憶部30にキー301として記憶させる。つまり、記憶部30に記憶されているキー301が新しいキーに更新される。
The key generation unit 33 inputs the key 301 stored in the storage unit 30 to the key generation unit 33 and outputs a new key to update the key 301 stored in the storage unit 30. More specifically, when a key update condition as a conversion code update condition that is a condition for updating a key is satisfied, the key generation unit 33 performs a predetermined operation on the value of the key 301 stored in the storage unit 30 to newly Key is calculated. This predetermined operation is not limited as long as a new key can be calculated from the key 301, and may be an operation using a logical operation such as logical sum (AND) or exclusive logical sum (XOR), or pseudo-operation. An operation using various functions such as a random number or a hash function may be performed, or an arithmetic operation may be performed. Note that the new key is calculated as a value different from the immediately preceding key 301. The key generation unit 33 stores the new key as the key 301 in the storage unit 30. That is, the key 301 stored in the storage unit 30 is updated with a new key.
ところで、MAC生成部31により生成される18ビットのMAC311は、非特許文献1に記載の通信システムが生成する64ビットのMACよりもビット数が少なため、その解析が容易でありセキュリティが低い。しかしながら本実施形態では、MAC生成部31がMAC311の生成に用いるチェック値302やキー301が、上述のように変更されるため、ビット数の少ないMAC311であってもその解析が難しくなり、セキュリティが高く維持される。
By the way, the 18-bit MAC 311 generated by the MAC generation unit 31 has a smaller number of bits than the 64-bit MAC generated by the communication system described in Non-Patent Document 1, so that the analysis is easy and the security is low. However, in this embodiment, since the check value 302 and the key 301 used by the MAC generation unit 31 for generating the MAC 311 are changed as described above, even the MAC 311 with a small number of bits is difficult to analyze, and security is improved. Highly maintained.
再生部34は、MAC311とキー301とが入力され、再生値341を出力するものであって、入力されたMAC311とキー301とに基づいて再生値341を生成する。詳述すると、再生部34では、MAC生成部31により生成された18ビットのMACがキー301によって復号(デコード、再変換)されることでMACから再生された再生値341が得られる。なお通常、キー301に基づく暗号化によってチェック値302から生成されたMAC311は、そのMAC311を同MAC311の生成に使用したキー301に基づいて復号(再変換)されることでチェック値302が再生される。つまり、再生値341はチェック値であって、正常であれば、チェック値302と同一の値となる。
The playback unit 34 receives the MAC 311 and the key 301 and outputs the playback value 341. The playback unit 34 generates the playback value 341 based on the input MAC 311 and the key 301. More specifically, the reproduction unit 34 obtains a reproduction value 341 reproduced from the MAC by decoding (decoding and reconverting) the 18-bit MAC generated by the MAC generation unit 31 using the key 301. Normally, the MAC 311 generated from the check value 302 by encryption based on the key 301 is decrypted (re-converted) based on the key 301 used to generate the MAC 311, thereby reproducing the check value 302. The That is, the reproduction value 341 is a check value, and if it is normal, it is the same value as the check value 302.
判定部35は、記憶部30に記憶されているチェック値302の値と、再生部34がMACから再生した再生値341とを入力され、チェック値302と再生値341との比較結果を出力する。詳述すると、判定部35では、チェック値302の値と再生値341とが比較されて、チェック値302と再生値341とが同一であるか否かが判定される。チェック値302と再生値341とが同一である場合、MACは、チェック値302から生成されたコードであることが確認されるため、当該MACを生成したECU等には正しいチェック値302が保持されていることが確かめられる。つまり、通信メッセージは正しいECU等から送信されたメッセージであると判断される。一方、チェック値302と再生値341とが相違する場合、MACは、チェック値302とキー301とに基づいて生成されたコードではないと判断されるため、当該MACを生成したECU等は正しいチェック値302やキー301を保持していないことが確かめられる。つまり、通信メッセージは不正なECU等から送信されたメッセージであると判断される。
The determination unit 35 receives the value of the check value 302 stored in the storage unit 30 and the reproduction value 341 reproduced from the MAC by the reproduction unit 34, and outputs a comparison result between the check value 302 and the reproduction value 341. . More specifically, the determination unit 35 compares the value of the check value 302 with the reproduction value 341 to determine whether or not the check value 302 and the reproduction value 341 are the same. When the check value 302 and the reproduction value 341 are the same, since the MAC is confirmed to be a code generated from the check value 302, the ECU or the like that generated the MAC holds the correct check value 302. Is confirmed. That is, it is determined that the communication message is a message transmitted from a correct ECU or the like. On the other hand, if the check value 302 and the reproduction value 341 are different, it is determined that the MAC is not a code generated based on the check value 302 and the key 301. It is confirmed that the value 302 and the key 301 are not held. That is, it is determined that the communication message is a message transmitted from an unauthorized ECU or the like.
次に、チェック値更新条件やキー更新条件について説明する。
Next, the check value update condition and key update condition will be described.
本実施形態では、MAC311に基づいて、チェック値更新条件やキー更新条件の成否が定められる。MAC311は通信メッセージに含まれているため、通信用バス15に接続されている各ECUは、同一の通信メッセージから得られるMAC311に基づいてチェック値更新条件やキー更新条件の成否を判定する。つまり、通信用バス15に接続されている各ECUは、同一の通信メッセージに基づいてチェック値更新条件の成否やキー更新条件の成否として同一の結果を得る。
In this embodiment, the success or failure of the check value update condition or key update condition is determined based on the MAC 311. Since the MAC 311 is included in the communication message, each ECU connected to the communication bus 15 determines success or failure of the check value update condition and the key update condition based on the MAC 311 obtained from the same communication message. That is, each ECU connected to the communication bus 15 obtains the same result as success or failure of the check value update condition or success or failure of the key update condition based on the same communication message.
図4(a)に示すように、CV生成部32は、例えば、MAC311の下位1ビット目が1のとき、チェック値更新条件が成立したと判断する。また例えば、MAC311の下位1ビット目が0、かつ、MAC311の下位2ビット目が0のときも、チェック値更新条件が成立したと判断する。一方、例えば、それら以外のとき、つまりMAC311の下位1ビット目が0、かつ、MAC311の下位2ビット目が1のとき、チェック値更新条件が成立しないと判断する。
As shown in FIG. 4A, for example, when the lower first bit of the MAC 311 is 1, the CV generation unit 32 determines that the check value update condition is satisfied. For example, when the lower 1st bit of the MAC 311 is 0 and the lower 2nd bit of the MAC 311 is 0, it is determined that the check value update condition is satisfied. On the other hand, for example, in other cases, that is, when the lower first bit of the MAC 311 is 0 and the lower second bit of the MAC 311 is 1, it is determined that the check value update condition is not satisfied.
図4(b)に示すように、鍵生成部33は、例えば、MAC311の下位1ビット目が0のとき、キー値更新条件が成立したと判断する。一方、例えば、下位1ビット目が1のとき、キー更新条件が成立しないと判断する。
As shown in FIG. 4B, for example, when the lower first bit of the MAC 311 is 0, the key generation unit 33 determines that the key value update condition is satisfied. On the other hand, for example, when the lower first bit is 1, it is determined that the key update condition is not satisfied.
つまり、MAC311の下位1ビット目と下位2ビット目の組み合わせが、「1,1」及び「1,0」のとき、チェック値更新条件が成立し、同組み合わせが「0,1」のとき、キー更新条件が成立し、同組み合わせが「0,0」のとき、チェック値更新条件とキー更新条件とが成立する。換言すると、チェック値更新条件は、MAC311の下位1ビット目と下位2ビット目の組み合わせが「1,1」、「1,0」及び「0,0」のとき成立し、キー更新条件は、MAC311の下位1ビット目と下位2ビット目の組み合わせが「0,1」及び「0,0」のときが成立する。これにより、MAC311に基づいて、チェック値更新条件のみが成立する場合(「1,1」、「1,0」)、キー更新条件のみが成立する場合(「0,1」)、チェック値更新条件とキー更新条件とが共に成立する場合(「0,0」)の3つの状態が生じる。なお、このように条件が成立する組み合わせを複数設けることで、不正に受信された通信メッセージに含まれているMAC311の解析がより困難になる。
That is, when the combination of the lower 1st bit and the lower 2nd bit of the MAC 311 is “1, 1” and “1, 0”, the check value update condition is satisfied, and when the same combination is “0, 1”, When the key update condition is satisfied and the combination is “0, 0”, the check value update condition and the key update condition are satisfied. In other words, the check value update condition is satisfied when the combination of the lower first bit and the lower second bit of the MAC 311 is “1, 1”, “1, 0”, and “0, 0”, and the key update condition is This is true when the combination of the lower 1st bit and the lower 2nd bit of the MAC 311 is “0, 1” and “0, 0”. Thereby, based on the MAC 311, when only the check value update condition is satisfied (“1, 1”, “1, 0”), when only the key update condition is satisfied (“0, 1”), the check value is updated. There are three states when the condition and the key update condition are both satisfied (“0, 0”). In addition, by providing a plurality of combinations that satisfy the conditions in this way, it becomes more difficult to analyze the MAC 311 included in the communication message received illegally.
続いて、本実施形態の通信システムの作用について図5~7を参照して説明する。なお、本実施形態では、第1のECU11から送信された通信メッセージMS1が、第2のECU12によって受信される場合について説明するが、通信メッセージを送信するECUや受信するECUの組み合わせはこれに限られない。
Subsequently, the operation of the communication system of the present embodiment will be described with reference to FIGS. In the present embodiment, a case where the communication message MS1 transmitted from the first ECU 11 is received by the second ECU 12 will be described. However, the combination of the ECU that transmits the communication message and the ECU that receives the communication message is not limited thereto. I can't.
まず、図5及び図6を参照して、第1のECU11から通信メッセージが送信される場合について説明する。第1のECU11にて転送したい通信データが準備されると、通信メッセージの送信処理が開始される。
First, a case where a communication message is transmitted from the first ECU 11 will be described with reference to FIGS. When communication data to be transferred is prepared in the first ECU 11, a communication message transmission process is started.
図5に示すように、通信メッセージの送信処理が開始されると、第1のECU11は、MACの生成を行う(図5のステップS10)。MACの生成では、情報処理部20において、記憶部30のチェック値302がキー301に基づいて変換されて18ビットのMAC311が生成される。MAC311が生成されると、第1のECU11は、通信メッセージの作成を行う(図5のステップS11)。通信メッセージの作成では、通信データ、メッセージID、及びMAC311が情報処理部20からCANコントローラ21に伝達され、CANコントローラ21において、データフレームの「ID領域」にメッセージIDが格納され、「データ領域」に通信データが格納され、「拡張ID領域」にMAC311が格納される。なお、通信データやメッセージIDは、CANコントローラ21に伝達されるのであれば、第1のECU11に設けられる、情報処理部20以外の装置等から伝達されてもよい。
As shown in FIG. 5, when the communication message transmission process is started, the first ECU 11 generates a MAC (step S10 in FIG. 5). In generating the MAC, the information processing unit 20 converts the check value 302 in the storage unit 30 based on the key 301 to generate an 18-bit MAC 311. When the MAC 311 is generated, the first ECU 11 creates a communication message (step S11 in FIG. 5). In creating a communication message, communication data, message ID, and MAC 311 are transmitted from the information processing unit 20 to the CAN controller 21, where the message ID is stored in the “ID area” of the data frame, and the “data area” The communication data is stored in, and the MAC 311 is stored in the “extended ID area”. Note that the communication data and the message ID may be transmitted from a device other than the information processing unit 20 provided in the first ECU 11 as long as it is transmitted to the CAN controller 21.
通信メッセージが作成されると、第1のECU11は、通信メッセージの送信を行う(図5のステップS12)。通信メッセージの送信では、CANコントローラ21によって作成された通信メッセージが通信用バス15に送信される。送信が実行されたときに通信エラーが生じた場合、CANプロトコルに基づいて通信メッセージの再送処理が行なわれる。さらに、再送処理によっても、送信できない場合、通信メッセージの送信が中止され、情報処理部20には、送信エラーが有ることが伝達される。一方、通信メッセージの送信が正常に終了した場合、情報処理部20には、送信エラーが無いことが伝達される。
When the communication message is created, the first ECU 11 transmits the communication message (step S12 in FIG. 5). In the transmission of the communication message, the communication message created by the CAN controller 21 is transmitted to the communication bus 15. If a communication error occurs when transmission is performed, a communication message retransmission process is performed based on the CAN protocol. Furthermore, if the retransmission process cannot be performed, the transmission of the communication message is stopped, and the information processing unit 20 is notified that there is a transmission error. On the other hand, when the transmission of the communication message is normally completed, the information processing unit 20 is notified that there is no transmission error.
そして、送信エラーが無い、つまり通信メッセージの送信が正常に終了されると、第1のECU11は、パラメータの更新処理を実行する(図5のステップS13)。
Then, when there is no transmission error, that is, when transmission of the communication message is normally completed, the first ECU 11 executes a parameter update process (step S13 in FIG. 5).
図6に示すように、パラメータの更新処理が実行されると、第1のECU11は、MAC311の下位1ビット目が「1」であるか否かを判断する(図6のステップS20)。MAC311の下位1ビット目が「1」であると判断された場合(図6のステップS20でYES)、第1のECU11は、新しいチェック値を生成し(図6のステップS21)、その生成したチェック値を記憶部30に保存させる(図6のステップS22)。そして、図5に戻り、通信メッセージの送信処理を終了する。つまりこの場合、チェック値302のみが更新される。
As shown in FIG. 6, when the parameter update process is executed, the first ECU 11 determines whether or not the lower first bit of the MAC 311 is “1” (step S20 in FIG. 6). When it is determined that the lower 1st bit of the MAC 311 is “1” (YES in step S20 in FIG. 6), the first ECU 11 generates a new check value (step S21 in FIG. 6). The check value is stored in the storage unit 30 (step S22 in FIG. 6). Then, returning to FIG. 5, the communication message transmission process is terminated. That is, in this case, only the check value 302 is updated.
MAC311の下位1ビット目が「1」ではないと判断された場合(図6のステップS20でNO)、第1のECU11は、新しいキーを生成し(図6のステップS23)、その生成したキーを記憶部30に保存させる(図6のステップS24)。そして、第1のECU11は、MAC311の下位2ビット目が「1」であるか否かを判断する(図6のステップS25)。MAC311の下位2ビット目が「1」ではないと判断された場合(図6のステップS25でNO)、第1のECU11は、新しいチェック値を生成して記憶部30に保存させて(図6のステップS21及びS22)、図5に戻り、通信メッセージの送信処理を終了する。つまりこの場合、キー301とチェック値302とが更新される。
When it is determined that the lower 1st bit of the MAC 311 is not “1” (NO in step S20 in FIG. 6), the first ECU 11 generates a new key (step S23 in FIG. 6), and the generated key Is stored in the storage unit 30 (step S24 in FIG. 6). Then, the first ECU 11 determines whether or not the lower 2nd bit of the MAC 311 is “1” (step S25 in FIG. 6). When it is determined that the lower 2nd bit of the MAC 311 is not “1” (NO in step S25 of FIG. 6), the first ECU 11 generates a new check value and stores it in the storage unit 30 (FIG. 6). Steps S21 and S22), the process returns to FIG. 5 and the communication message transmission process is terminated. That is, in this case, the key 301 and the check value 302 are updated.
一方、MAC311の下位2ビット目が「1」であると判断された場合(図6のステップS25でYES)、第1のECU11は、図5に戻り、通信メッセージの送信処理を終了する。つまりこの場合、キー301のみが更新される。
On the other hand, when it is determined that the lower 2nd bit of the MAC 311 is “1” (YES in step S25 in FIG. 6), the first ECU 11 returns to FIG. 5 and ends the communication message transmission process. That is, in this case, only the key 301 is updated.
なお、通信エラーが有る、つまり通信メッセージの送信が正常に終了されなかった場合、第1のECU11は、パラメータの更新処理を行わずに通信メッセージの送信処理を一旦終了する。通信メッセージの送信が正常に終了されていない場合、第2のECU12を含む他のECUがこの通信メッセージを受信できていないか、又は正常に受信処理していない。このため、第1のECU11ではこの通信メッセージに基づくパラメータの更新処理は行わない。もし、この通信メッセージに基づいて第1のECU11がパラメータの更新処理を行ってしまうと、通信システムの中に、第1のECU11のようにパラメータの更新処理を実行した装置と、第2のECU12のようにパラメータの更新処理を実行していない装置とが混在して、各パラメータの更新が同期されなくなくなってしまう。つまり、通信メッセージの通信が正常であれば、通信メッセージを送信する正規のECU(第1のECU11)では、通信メッセージが通信される都度、キー301及びチェック値302の少なくとも一方が更新される。
When there is a communication error, that is, when transmission of the communication message is not normally terminated, the first ECU 11 temporarily terminates the communication message transmission process without performing the parameter update process. When the transmission of the communication message is not normally terminated, other ECUs including the second ECU 12 have not been able to receive this communication message, or have not been normally received. For this reason, the first ECU 11 does not perform parameter update processing based on this communication message. If the first ECU 11 performs a parameter update process based on this communication message, a device that executes the parameter update process, such as the first ECU 11, and the second ECU 12 in the communication system. Thus, there is a mixture of apparatuses that do not execute parameter update processing, and the update of each parameter is not synchronized. That is, if the communication of the communication message is normal, the regular ECU (first ECU 11) that transmits the communication message updates at least one of the key 301 and the check value 302 each time the communication message is communicated.
次に、図7を参照して、第2のECU12が通信メッセージを受信する場合について説明する。第2のECU12は、CANコントローラ21に通信メッセージが伝達されると、通信メッセージの受信処理を開始する。
Next, the case where the second ECU 12 receives a communication message will be described with reference to FIG. When the communication message is transmitted to the CAN controller 21, the second ECU 12 starts a communication message reception process.
図7に示すように、通信メッセージの受信処理では、CANコントローラ21において通信メッセージが解析されて、データフレームの「ID領域」からメッセージIDが取得され、「データ領域」から通信データが取得され、「拡張ID領域」からMAC311が取得される(図7のステップS30)。
As shown in FIG. 7, in the communication message reception process, the CAN controller 21 analyzes the communication message, acquires the message ID from the “ID area” of the data frame, acquires the communication data from the “data area”, The MAC 311 is acquired from the “extended ID area” (step S30 in FIG. 7).
通信メッセージが解析されると、第2のECU12は、情報処理部20においてMAC311を復号する(図7のステップS31)。MAC311の復号では、MAC311をキー301にて復号することで再生値341が得られる。MAC311を復号して再生値341が得られると、第2のECU12の判定部35は、チェック値が正しいか否かを判定する(図7のステップS32)。つまり判定部35は、再生値341と記憶部30に記憶されているチェック値302とが一致する場合、チェック値が正しいと判定し、再生値341とチェック値302とが相違する場合、チェック値は正しくないと判定する。チェック値が正しくないと判定される場合(図7のステップS32でNO)、第2のECU12は、通信メッセージを処理せずに、つまり、通信メッセージに含まれている通信データなどを利用せずに、通信メッセージの受信処理を終了する。
When the communication message is analyzed, the second ECU 12 decodes the MAC 311 in the information processing unit 20 (step S31 in FIG. 7). In the decryption of the MAC 311, the reproduction value 341 is obtained by decrypting the MAC 311 with the key 301. When the reproduction value 341 is obtained by decoding the MAC 311, the determination unit 35 of the second ECU 12 determines whether or not the check value is correct (step S <b> 32 in FIG. 7). That is, the determination unit 35 determines that the check value is correct when the reproduction value 341 and the check value 302 stored in the storage unit 30 match, and when the reproduction value 341 and the check value 302 are different, the check value Is determined to be incorrect. When it is determined that the check value is not correct (NO in step S32 in FIG. 7), the second ECU 12 does not process the communication message, that is, does not use the communication data included in the communication message. Then, the communication message reception process is terminated.
一方、チェック値が正しいと判定される場合(図7のステップS32でYES)、通信メッセージが処理される(図7のステップS33)。通信メッセージの処理では、メッセージIDに基づいて、通信データの種類が特定されて、特定された種類の変数の値などが通信データにて得られた値に書き換えられる。例えば、メッセージIDから通信データの種類が車速であると特定される場合、第2のECU12で車速に割り当てられている変数の値が、当該通信データに格納されている値に基づいて書き換えられ、書き換えられた速度の値に基づいて車両に対する各種制御が行われるようになる。
On the other hand, when it is determined that the check value is correct (YES in step S32 in FIG. 7), the communication message is processed (step S33 in FIG. 7). In the processing of the communication message, the type of communication data is specified based on the message ID, and the value of the specified type of variable is rewritten to the value obtained from the communication data. For example, when it is specified from the message ID that the type of communication data is vehicle speed, the value of the variable assigned to the vehicle speed in the second ECU 12 is rewritten based on the value stored in the communication data, Various controls on the vehicle are performed based on the rewritten speed value.
そして、通信メッセージの処理が正常に終了されると、第2のECU12は、パラメータの更新処理を実行する(図7のステップS34)。このパラメータの更新処理で、チェック値及びキーの少なくとも一方が更新される。このパラメータの更新処理は、上述した、通信メッセージの送信処理のパラメータの更新処理(図5のステップS13)と同様である。つまり図6に示される、ステップS20~ステップS25の処理と同様であるため、その詳細な説明は割愛する。よって、パラメータの更新処理では、第1のECU11がパラメータの更新処理に用いたMAC311と同じ値のMAC311に基づいてパラメータの更新処理が行われる。そのため、第1のECU11にてチェック値302のみが更新される場合、第2のECU12でもチェック値302のみが更新され、第1のECU11にてキー301のみが更新される場合、第2のECU12でもキー301のみが更新される。また、第1のECU11にてキー301とチェック値302とが更新される場合、第2のECU12でもキー301とチェック値302とが更新される。
When the communication message processing is normally completed, the second ECU 12 executes a parameter update process (step S34 in FIG. 7). In this parameter update process, at least one of the check value and the key is updated. This parameter update process is the same as the parameter update process (step S13 in FIG. 5) of the communication message transmission process described above. That is, since it is the same as the processing of step S20 to step S25 shown in FIG. 6, its detailed description is omitted. Therefore, in the parameter update process, the parameter update process is performed based on the MAC 311 having the same value as the MAC 311 used by the first ECU 11 for the parameter update process. Therefore, when only the check value 302 is updated in the first ECU 11, only the check value 302 is updated in the second ECU 12, and when only the key 301 is updated in the first ECU 11, the second ECU 12 is updated. However, only the key 301 is updated. Further, when the key 301 and the check value 302 are updated in the first ECU 11, the key 301 and the check value 302 are also updated in the second ECU 12.
これにより、第1のECU11のキー301の更新と、第2のECU12のキー301の更新とが同期して実行される。また、第1のECU11のチェック値302の更新と、第2のECU12のチェック値302の更新とが同期して実行される。さらに、第1のECU11と第2のECU12とには、当初、同一内容のキー301と同一内容のチェック値302とが設定されている。また、第1のECU11と第2のECU12とは同様の構成を有する鍵生成部33によってキー301を更新することから更新した各キーが同一のキーとなるため各キーの同一性が維持される。同様に、第1のECU11と第2のECU12とは同様の構成を有するCV生成部32によってチェック値302を更新することから更新した各チェック値は同一のチェック値となるためチェック値の同一性が維持される。
Thereby, the update of the key 301 of the first ECU 11 and the update of the key 301 of the second ECU 12 are executed in synchronization. Further, the update of the check value 302 of the first ECU 11 and the update of the check value 302 of the second ECU 12 are executed in synchronization. Furthermore, the first ECU 11 and the second ECU 12 are initially set with the same content key 301 and the same content check value 302. Further, since the first ECU 11 and the second ECU 12 update the key 301 by the key generation unit 33 having the same configuration, the updated keys become the same key, so that the identity of each key is maintained. . Similarly, since the first ECU 11 and the second ECU 12 update the check value 302 by the CV generation unit 32 having the same configuration, the updated check values become the same check value, so that the check values are identical. Is maintained.
つまり、通信メッセージを受信する正規のECU(第2のECU12)では、通信メッセージの通信が正常であれば、通信メッセージが通信される都度、通信メッセージを送信するECU(第1のECU11)におけるキーやチェック値の更新に同期して、キー301やチェック値302が更新される。
That is, in the normal ECU (second ECU 12) that receives the communication message, if communication of the communication message is normal, the key in the ECU (first ECU 11) that transmits the communication message each time the communication message is communicated. The key 301 and the check value 302 are updated in synchronization with the update of the check value.
これにより、チェック値の正当性の判断がリアルタイムに処理されることを通じて不正な通信の防止、すなわち通信されるメッセージの信頼性の向上が図られる。また、不正なECUや外部機器からの不正な通信メッセージによる通信を通信システムから排除することができる。さらに、不正なECUなどが正規のECUになりすますことを防止することができる。また、通信メッセージの正当性を偽造(偽装)することが困難になるため通信システムのセキュリティが向上する。
This makes it possible to prevent unauthorized communication, that is, to improve the reliability of a message to be communicated, by determining the validity of the check value in real time. Further, communication by an unauthorized communication message from an unauthorized ECU or external device can be excluded from the communication system. Furthermore, it is possible to prevent an unauthorized ECU or the like from impersonating a regular ECU. Further, since it becomes difficult to forge (disguise) the correctness of the communication message, the security of the communication system is improved.
以上説明したように、本実施形態に係る通信システムは、以下に列記する効果を有する。
As described above, the communication system according to the present embodiment has the effects listed below.
(1)通信メッセージの正/不正の判定に用いられるチェック値302が、通信システムに接続された第1及び第2のECU11,12の間において、同期されたチェック値更新条件に従ってリアルタイムに更新される。これにより、ネットワークから不正に取得された通信メッセージから正しいチェック値302が得られたとしても、そのチェック値302が更新されることによって、チェック値302を利用しての正/不正もリアルタイムに判定される。すなわち、ネットワーク内で通信される通信メッセージの信頼性も自ずと向上される。
(1) The check value 302 used for determining whether the communication message is correct / incorrect is updated in real time between the first and second ECUs 11 and 12 connected to the communication system in accordance with the synchronized check value update conditions. The As a result, even if a correct check value 302 is obtained from a communication message illegally acquired from the network, the check value 302 is updated to determine whether the check value 302 is correct / incorrect in real time. Is done. That is, the reliability of communication messages communicated in the network is naturally improved.
また、チェック値302の更新指示を、通信メッセージに含まれたMAC311の内容に応じたものにすることによって、チェック値302の更新の実行、並びに更新条件が、1つの通信メッセージが通信(送信又は受信)される第1及び第2のECU11,12の間において同期される。つまり、第1及び第2のECU11,12のチェック値302が簡単な仕組みで同期されるようになる。
Further, by making the update instruction of the check value 302 in accordance with the contents of the MAC 311 included in the communication message, the execution of the update of the check value 302 and the update condition are communicated (transmitted or transmitted). It is synchronized between the first and second ECUs 11 and 12 that are received. That is, the check values 302 of the first and second ECUs 11 and 12 are synchronized with a simple mechanism.
これにより、不正なECUや外部機器からの不正な通信メッセージによる通信を通信システムから排除することができる。また、通信メッセージの正当性を偽造することが困難になるためセキュリティの向上が図られる。
This makes it possible to eliminate communication from unauthorized communication messages from unauthorized ECUs or external devices from the communication system. Further, since it becomes difficult to forge the validity of the communication message, security can be improved.
(2)チェック値302に対する変換/再変換(暗号化/復号)に用いられるキー301が通信システムに接続された第1及び第2のECU11,12の間において、同期されたキー更新条件に従ってリアルタイムに更新される。これにより、ネットワークから不正に取得された通信メッセージから正しいチェック値302を得ることが困難になるとともに、正しいキー301の推定も困難であるためMAC311からチェック値302を得ることも防止される。つまり、不正に接続されたECUが正しいキー301と正しいチェック値302とを利用することができないため、不正な通信メッセージによる通信が防止されるようになる。
(2) The key 301 used for conversion / reconversion (encryption / decryption) with respect to the check value 302 is real-time in accordance with the synchronized key update conditions between the first and second ECUs 11 and 12 connected to the communication system. Updated to This makes it difficult to obtain the correct check value 302 from a communication message that is illegally acquired from the network, and it is also difficult to estimate the correct key 301, so that obtaining the check value 302 from the MAC 311 is also prevented. That is, since an illegally connected ECU cannot use the correct key 301 and the correct check value 302, communication using an unauthorized communication message is prevented.
また、キー301の変更によって、チェック値302から生成されるMAC311も変更される。このように、MAC311の変化に合わせてチェック値302やキー301が更新されることで、不正な通信メッセージによる通信が防止され、通信メッセージの信頼性がより高められる。
Also, by changing the key 301, the MAC 311 generated from the check value 302 is also changed. As described above, the check value 302 and the key 301 are updated in accordance with the change of the MAC 311, thereby preventing communication by an unauthorized communication message and further improving the reliability of the communication message.
(3)更新されたチェック値302が、さらにキー301により変換されて暗号化されることでMAC311となるため、生成されたMAC311の秘匿性の向上が図られるようになる。これにより、MAC311からチェック値302を再生することが難しくなるため、不正な通信メッセージによる通信が防止され、通信メッセージの信頼性が向上されるようになる。
(3) Since the updated check value 302 is further converted by the key 301 and encrypted to become the MAC 311, the confidentiality of the generated MAC 311 can be improved. This makes it difficult to reproduce the check value 302 from the MAC 311, thereby preventing communication using an unauthorized communication message and improving the reliability of the communication message.
(4)通信メッセージに含まれるMAC311がキー301によって暗号化されるため、MAC311の秘匿性が確保される。これにより、MAC311からチェック値302を再生することがより難しくなるため、不正な通信メッセージによる通信を防止し、通信メッセージの信頼性が向上されるようになる。
(4) Since the MAC 311 included in the communication message is encrypted by the key 301, the confidentiality of the MAC 311 is ensured. As a result, it becomes more difficult to reproduce the check value 302 from the MAC 311. Therefore, communication by an unauthorized communication message is prevented, and the reliability of the communication message is improved.
(5)MAC311の内容に基づいてチェック値更新条件が定まる。つまり、MAC311に応じてチェック値更新条件が定まるため、チェック値更新条件の推測が難しいものとなり、不正な通信装置が通信メッセージに適正なMAC311を付与することが困難になる。これにより、通信システムにおける通信メッセージの信頼性が向上される。
(5) Check value update conditions are determined based on the contents of the MAC 311. That is, since the check value update condition is determined according to the MAC 311, it is difficult to guess the check value update condition, and it becomes difficult for an unauthorized communication device to assign an appropriate MAC 311 to a communication message. Thereby, the reliability of the communication message in the communication system is improved.
(6)MAC311の内容に基づいてキー更新条件が定まる。つまり、MAC311に応じてキー更新条件が定まるため、キー更新条件の推測が難しいものとなり、不正な通信装置が通信メッセージに適正なMAC311を付与することが困難になる。これにより、通信システムにおける通信メッセージの信頼性が向上される。
(6) The key update condition is determined based on the contents of the MAC 311. That is, since the key update condition is determined according to the MAC 311, it is difficult to guess the key update condition, and it becomes difficult for an unauthorized communication device to assign an appropriate MAC 311 to a communication message. Thereby, the reliability of the communication message in the communication system is improved.
(7)MAC311がCANプロトコルで規定される「拡張ID領域」に格納されるため、転送対象の通信データを格納するデータ領域に対する影響が生じないため、通信データの転送量を好適に維持することができる。なお、CANプロトコルでは、「拡張ID領域」に拡張ID以外のデータを格納することは想定されていないが、拡張IDを通信メッセージの受信の可否判断(フィルタリング)に用いないようにすれば、受信側は、「拡張ID領域」に格納されたMAC311を取り出すことができる。
(7) Since the MAC 311 is stored in the “extended ID area” defined by the CAN protocol, there is no influence on the data area in which the communication data to be transferred is stored. Can do. In the CAN protocol, it is not assumed that data other than the extended ID is stored in the “extended ID area”. However, if the extended ID is not used for determining whether or not a communication message can be received (filtering), reception is possible. The side can take out the MAC 311 stored in the “extended ID area”.
(その他の実施形態)
なお上記実施形態は、以下の態様で実施することもできる。 (Other embodiments)
In addition, the said embodiment can also be implemented with the following aspects.
なお上記実施形態は、以下の態様で実施することもできる。 (Other embodiments)
In addition, the said embodiment can also be implemented with the following aspects.
・上記実施形態では、キー301が共通暗号鍵である場合について例示したが、この鍵強度については特に限定しないため、高度な暗号アルゴリズムによって生成される鍵でも、ランダムな数値からなる鍵でも、適当に定められた値からなる鍵であってもよい。これにより、この通信システムの設計自由度の向上が図られるようになる。
In the above embodiment, the case where the key 301 is a common encryption key has been exemplified, but the key strength is not particularly limited, and thus a key generated by an advanced encryption algorithm or a key consisting of a random numerical value is appropriate. It may be a key consisting of a value defined in As a result, the degree of freedom in designing the communication system can be improved.
・上記実施形態では、CV生成部32と鍵生成部33とが設けられる場合について例示した。しかしこれに限らず、情報処理部に、CV生成部又は鍵生成部のいずれか一方のみが設けられていてもよい。これによっても、チェック値又はキーが更新されるため、MACのセキュリティを向上させることができるとともに、通信システムの仕組みを簡単にすることもできる。
In the above embodiment, the case where the CV generation unit 32 and the key generation unit 33 are provided is illustrated. However, the present invention is not limited thereto, and only one of the CV generation unit and the key generation unit may be provided in the information processing unit. This also updates the check value or key, thereby improving the MAC security and simplifying the communication system.
・上記実施形態では、MACが「拡張ID領域」に格納される場合について例示した。しかしこれに限らず、MACを「データ領域」などのその他の領域に格納してもよい。
In the above embodiment, the case where the MAC is stored in the “extended ID area” is exemplified. However, the present invention is not limited to this, and the MAC may be stored in another area such as a “data area”.
図8や図9に示すように、MACを「データ領域」に格納しもよい。例えば、図8には、通信データに対して、MACが「データ領域」のID領域側(前側)に配置される場合が示されており、図9には、通信データが、MACよりも「データ領域」のID領域側(前側)に配置される場合が示されている。これによれば、MACがCANプロトコルで規定されるデータ領域に格納されるため、CANプロトコルへのMACの付与が容易である。
As shown in FIGS. 8 and 9, the MAC may be stored in the “data area”. For example, FIG. 8 shows a case where the MAC is arranged on the ID area side (front side) of the “data area” with respect to the communication data, and FIG. The case where it is arranged on the ID area side (front side) of the “data area” is shown. According to this, since the MAC is stored in a data area defined by the CAN protocol, it is easy to assign the MAC to the CAN protocol.
なお、CANプロトコルでは「データ領域」の大きさは制限されているため、MACをデータ領域に格納すると、「データ領域」に格納することのできる転送対象の通信データが減少する。しかしながら、チェック値やキーの高頻度な更新によって、この通信システムでは通信メッセージのセキュリティを維持しつつMACのビット数を最小に抑えることができる。このため、MACをデータ領域に格納した場合であれ、「データ領域」におけるMACの占有数を少なくして、通信データの減少を抑制しつつ、通信メッセージの正/不正の検証をリアルタイムに行うことができる。
Note that since the size of the “data area” is limited in the CAN protocol, when the MAC is stored in the data area, the communication data to be transferred that can be stored in the “data area” decreases. However, by frequently updating check values and keys, this communication system can minimize the number of MAC bits while maintaining communication message security. For this reason, even when the MAC is stored in the data area, the number of occupied MACs in the “data area” is reduced to suppress the decrease in communication data, and the communication message is verified for real / incorrect in real time. Can do.
・上記実施形態では、MAC311が18ビットである場合について例示した。しかしこれに限らず、MACは18ビットより少なくても、18ビットより多くてもよい。これにより、MACのセキュリティ強度や、演算処理にかかる負荷の調整などをすることができるようになる。
In the above embodiment, the case where the MAC 311 is 18 bits is exemplified. However, the present invention is not limited to this, and the MAC may be smaller than 18 bits or larger than 18 bits. As a result, it is possible to adjust the MAC security strength and the load on the arithmetic processing.
・上記実施形態では、チェック値更新条件やキー更新条件がMACの下位1ビット目や2ビット目の値によって定まる場合について例示した。しかしこれに限らず、チェック値更新条件やキー更新条件は、1つの通信メッセージに含まれているデータであれば、通信データの内容やCRCデータの内容など不規則に変化するMAC以外のデータに基づいて成否が判断されてもよい。
In the above embodiment, the case where the check value update condition and the key update condition are determined by the lower first bit and second bit values of the MAC is illustrated. However, the present invention is not limited to this, and if the check value update condition and the key update condition are data included in one communication message, the data other than the MAC that changes irregularly, such as the contents of communication data or the contents of CRC data, can be used. Success or failure may be determined based on the result.
・上記実施形態では、通信メッセージが通信される毎に、チェック値302及びキー301の少なくとも一方が更新される場合について例示した。しかしこれに限らず、必要とするセキュリティが確保されるのであれば、通信メッセージが通信されてもチェック値及びキーの両方が更新されない場合があってもよい。このとき、更新条件には、MAC以外のデータなどを用いることが好ましい。これにより、通信システムの設計自由度の向上が図られるようになる。
In the above embodiment, the case where at least one of the check value 302 and the key 301 is updated each time a communication message is communicated is illustrated. However, the present invention is not limited to this, and if the required security is ensured, both the check value and the key may not be updated even if the communication message is communicated. At this time, it is preferable to use data other than the MAC as the update condition. Thereby, the improvement of the design freedom of a communication system comes to be aimed at.
・また、必要とするセキュリティが確保されるのであれば、通信メッセージの通信回数に応じてチェック値やキーが更新されるようにしてもよい。これにより、通信システムの設計自由度の向上が図られるようになる。
・ If the required security is ensured, the check value and key may be updated according to the number of communication messages. Thereby, the improvement of the design freedom of a communication system comes to be aimed at.
・上記実施形態では、キー301の初期値やチェック値302の初期値は工場出荷時に設定される場合について例示したが、これに限らず、セキュリティを確保することができるのであれば、各初期値は、カーディーラや外部センターとの通信などで設定してもよい。また、各初期値の設定は、初期値だけを設定してもよいし、ECUのリプログラミングなどに伴って設定してもよい。これにより、こうした通信システムの設計自由度の向上が図られるようになる。
In the above embodiment, the case where the initial value of the key 301 and the initial value of the check value 302 are set at the time of shipment from the factory is illustrated. However, the present invention is not limited to this, and each initial value can be used if security can be ensured. May be set by communication with a card dealer or an external center. Each initial value may be set only with the initial value or may be set with reprogramming of the ECU. Thereby, the improvement of the design freedom of such a communication system comes to be aimed at.
・上記実施形態では、CV生成部32と鍵生成部33とを設ける場合について例示した。しかしこれにかぎらず、キーの生成とチェック値の生成に同一の演算処理を適用することで、CV生成部と鍵生成部とを一つの生成部にまとめてもよい。これにより、通信システムの仕組みを簡単にすることができるようになる。
In the above embodiment, the case where the CV generation unit 32 and the key generation unit 33 are provided is illustrated. However, the present invention is not limited to this, and the CV generation unit and the key generation unit may be combined into one generation unit by applying the same arithmetic processing to the generation of the key and the generation of the check value. Thereby, the structure of the communication system can be simplified.
・上記実施形態では、DLC16に外部機器が有線接続される場合について例示した。しかしこれに限らず、DLCには外部機器が無線通信を介して接続されてもよい。例えば、DLCに無線通信端末を接続して、外部機器にも別の無線通信装置を設け、DLCと外部機器とを無線通信させるようにしてもよい。これにより、DLCへの外部機器の接続態様にかかわらず不正な通信を防ぐことができるようになる。
In the above embodiment, the case where an external device is wired to the DLC 16 is illustrated. However, the present invention is not limited to this, and an external device may be connected to the DLC via wireless communication. For example, a wireless communication terminal may be connected to the DLC, and another wireless communication device may be provided in the external device so that the DLC and the external device communicate wirelessly. This makes it possible to prevent unauthorized communication regardless of the connection mode of the external device to the DLC.
・上記実施形態では、通信システムが車両10に搭載されている場合について例示した。しかしこれに限らず、通信システムは、その一部もしくは全部が車両以外に設けられていてもよい。これにより、車両以外で用いられているCANからなる通信システムに対しても通信メッセージの正/不正の判定ができるようになるため、この通信システムの適用可能性の向上が図られる。
In the above embodiment, the case where the communication system is mounted on the vehicle 10 is illustrated. However, the present invention is not limited to this, and a part or all of the communication system may be provided other than the vehicle. As a result, it is possible to determine whether the communication message is correct / incorrect even for a communication system including a CAN that is used outside the vehicle, so that the applicability of the communication system can be improved.
・上記実施形態では、通信システムがCANプロトコルに基づくシステムである場合について例示した。しかしこれに限らず、チェック値やキーなどによって通信メッセージの正/不正を検証するものであれば、通信システムに適用される通信プロトコルは、例えば、イーサーネット(登録商標)やフレックスレイ(登録商標)など、CANプロトコル以外の通信プロトコルであってもよい。これにより、このような通信システムの適用可能性の向上が図られるようになる。
In the above embodiment, the case where the communication system is a system based on the CAN protocol has been exemplified. However, the communication protocol applied to the communication system is, for example, Ethernet (registered trademark) or FlexRay (registered trademark), as long as the communication message is verified for correctness / incorrectness using a check value, a key, or the like. The communication protocol may be other than the CAN protocol. Thereby, the applicability of such a communication system can be improved.
・上記実施形態では、通信システムが車両10に搭載されている場合について例示した。しかしこれに限らず、通信システムは車両以外の移動体、例えば船舶、鉄道、産業機械やロボットなどに設けられていてもよい。
In the above embodiment, the case where the communication system is mounted on the vehicle 10 is illustrated. However, the present invention is not limited to this, and the communication system may be provided in a moving body other than a vehicle, such as a ship, a railway, an industrial machine, or a robot.
10…車両、11…第1のECU、12…第2のECU、13…第3のECU、15…通信用バス、16…データリンクコネクタ(DLC)、17…ユーザツール、20,20A…情報処理部、21…CANコントローラ、30…記憶部、31…MAC生成部、32…CV生成部、33…鍵生成部、34…再生部、35…判定部、301…キー、302…チェック値、311…MAC、341…再生値。
DESCRIPTION OF SYMBOLS 10 ... Vehicle, 11 ... 1st ECU, 12 ... 2nd ECU, 13 ... 3rd ECU, 15 ... Communication bus, 16 ... Data link connector (DLC), 17 ... User tool, 20, 20A ... Information Processing unit, 21 ... CAN controller, 30 ... storage unit, 31 ... MAC generation unit, 32 ... CV generation unit, 33 ... key generation unit, 34 ... reproduction unit, 35 ... determination unit, 301 ... key, 302 ... check value, 311 ... MAC, 341 ... reproduction value.
Claims (13)
- 複数の通信装置が通信メッセージを通信可能に通信回線に接続されている通信システムであって、
前記複数の通信装置にはそれぞれ、通信メッセージの認証に用いられる検査コードが設定されているとともに、該検査コードの更新を検査コード更新条件に応じて実行する検査コード更新部が設けられており、
前記複数の通信装置の間では、前記検査コード更新条件が、同検査コードの更新を指示する内容を含む1つの通信メッセージに基づいて同期され、
通信メッセージを送信する通信装置は、前記設定されている検査コードから生成した付与コードを前記送信する通信メッセージに含めるとともに、
通信メッセージを受信する通信装置は、受信した通信メッセージに含まれている付与コードから再生した検査コードと前記設定されている検査コードとの比較に基づいて前記受信した通信メッセージの正/不正を判定する
ことを特徴とする通信システム。 A communication system in which a plurality of communication devices are connected to a communication line so that communication messages can be communicated,
Each of the plurality of communication devices is provided with a test code update unit configured to perform a test code update according to a test code update condition, and a test code used for authentication of a communication message is set.
Among the plurality of communication devices, the inspection code update condition is synchronized based on one communication message including content instructing to update the inspection code,
The communication device that transmits the communication message includes the grant code generated from the set inspection code in the communication message to be transmitted,
The communication device that receives the communication message determines whether the received communication message is correct or incorrect based on a comparison between the inspection code reproduced from the assigned code included in the received communication message and the set inspection code. A communication system characterized by: - 前記通信装置には、前記検査コードから付与コードを生成するとき、及び、前記付与コードから前記検査コードを再生するときに用いられる変換コードが設定されているとともに、前記変換コードの更新を変換コード更新条件に応じて実行する変換コード更新部が設けられており、
前記複数の通信装置の間では、前記変換コード更新条件が、同変換コードの更新を指示する内容を含む1つの通信メッセージに基づいて同期される
請求項1に記載の通信システム。 The communication device is set with a conversion code that is used when generating a provision code from the inspection code and when reproducing the inspection code from the provision code. A conversion code update unit is provided to execute according to the update conditions.
The communication system according to claim 1, wherein the conversion code update condition is synchronized between the plurality of communication devices based on one communication message including content instructing to update the conversion code. - 前記送信する通信装置は、前記検査コードを前記変換コードに基づいて暗号化することによって前記付与コードを生成するとともに、
前記受信する通信装置は、前記付与コードを前記変換コードに基づいて復号することによって前記検査コードを再生する
請求項2に記載の通信システム。 The transmitting communication device generates the grant code by encrypting the inspection code based on the conversion code,
The communication system according to claim 2, wherein the receiving communication device reproduces the inspection code by decoding the grant code based on the conversion code. - 前記検査コードは、前記通信装置に設定されている値であり、
前記変換コードは、前記通信装置に設定されている暗号鍵である
請求項2又は3に記載の通信システム。 The inspection code is a value set in the communication device,
The communication system according to claim 2, wherein the conversion code is an encryption key set in the communication device. - 前記検査コード更新条件は、前記付与コードの内容に基づいて定まる条件である
請求項1~4のいずれか一項に記載の通信システム。 The communication system according to any one of claims 1 to 4, wherein the inspection code update condition is a condition determined based on a content of the assigned code. - 前記変換コード更新条件は、前記付与コードの内容に基づいて定まる条件である
請求項2~4のいずれか一項に記載の通信システム。 The communication system according to any one of claims 2 to 4, wherein the conversion code update condition is a condition determined based on a content of the assigned code. - 前記通信メッセージは、CANプロトコルによるメッセージであり、
前記付与コードは、通信メッセージに確保されている拡張ID領域に格納される
請求項1~6のいずれか一項に記載の通信システム。 The communication message is a message according to a CAN protocol,
The communication system according to any one of claims 1 to 6, wherein the assignment code is stored in an extended ID area secured in a communication message. - 前記通信メッセージは、CANプロトコルによるメッセージであり、
前記付与コードは、通信メッセージに確保されているデータ領域に格納される
請求項1~6のいずれか一項に記載の通信システム。 The communication message is a message according to a CAN protocol,
The communication system according to any one of claims 1 to 6, wherein the assignment code is stored in a data area secured in a communication message. - 複数の通信装置が通信メッセージを通信可能に通信回線に接続されている通信システムであって、
前記複数の通信装置にはそれぞれ、通信メッセージの認証に用いられる検査コードと、前記検査コードから付与コードを生成するとき、及び、前記付与コードから前記検査コードを再生するときに用いられる変換コードとが設定されているとともに、前記変換コードの更新を変換コード更新条件に応じて実行する変換コード更新部が設けられており、
前記複数の通信装置の間では、前記変換コード更新条件が、同変換コードの更新を指示する内容を含む1つの通信メッセージに基づいて同期され、
通信メッセージを送信する通信装置は、前記検査コードに対して前記変換コードを用いることによって生成した付与コードを、前記送信する通信メッセージに含めるとともに、
通信メッセージを受信する通信装置は、受信した通信メッセージに含まれている付与コードに対して前記変換コードを用いることによって再生した検査コードと、前記設定されている検査コードとの比較に基づいて前記受信した通信メッセージの正/不正を判定する
ことを特徴とする通信システム。 A communication system in which a plurality of communication devices are connected to a communication line so that communication messages can be communicated,
In each of the plurality of communication devices, an inspection code used for authentication of a communication message, a conversion code used when generating an assignment code from the inspection code, and reproducing the inspection code from the assignment code, Is provided, and a conversion code update unit that executes the update of the conversion code according to the conversion code update condition is provided,
Between the plurality of communication devices, the conversion code update condition is synchronized based on one communication message including content instructing the update of the conversion code,
The communication device that transmits the communication message includes the grant code generated by using the conversion code for the inspection code in the communication message to be transmitted,
The communication device that receives the communication message, based on the comparison between the inspection code reproduced by using the conversion code with respect to the grant code included in the received communication message, and the set inspection code A communication system, characterized by determining whether a received communication message is correct or incorrect. - 複数の通信装置が通信回線を介して通信メッセージを通信する通信方法であって、
前記複数の通信装置に通信メッセージの認証に用いるため設定されている検査コードの更新を、検査コード更新部が検査コード更新条件に応じて実行する工程と、前記検査コード更新条件を前記複数の通信装置の間で、同検査コードの更新を指示する内容を含む1つの通信メッセージに基づいて同期する工程と、前記設定されている検査コードから生成した付与コードを通信メッセージに含めるとともに、その通信メッセージを送信する工程と
を備えることを特徴とする通信方法。 A communication method in which a plurality of communication devices communicate communication messages via a communication line,
A step in which an inspection code update unit updates an inspection code set for use in authentication of communication messages in the plurality of communication devices according to an inspection code update condition, and the inspection code update condition is transmitted to the plurality of communication Synchronizing between apparatuses based on one communication message including contents for instructing update of the inspection code, and including a grant code generated from the set inspection code in the communication message, and the communication message And a step of transmitting the communication method. - 複数の通信装置が通信回線を介して通信メッセージを通信する通信方法であって、
前記複数の通信装置に通信メッセージの認証に用いるため設定されている検査コードの更新を、検査コード更新部が検査コード更新条件に応じて実行する工程と、前記検査コード更新条件を前記複数の通信装置の間で、同検査コードの更新を指示する内容を含む1つの通信メッセージに基づいて同期する工程と、前記設定されている検査コードから生成された付与コードを含む通信メッセージを受信する工程と、当該受信した通信メッセージに含まれている付与コードから検査コードを再生する工程と、前記再生した検査コードと前記設定されている検査コードとの比較に基づいて前記受信した通信メッセージの正/不正を判定する工程と
を備えることを特徴とする通信方法。 A communication method in which a plurality of communication devices communicate communication messages via a communication line,
A step in which an inspection code update unit updates an inspection code set for use in authentication of communication messages in the plurality of communication devices according to an inspection code update condition, and the inspection code update condition is transmitted to the plurality of communication Synchronizing between apparatuses based on one communication message including contents for instructing to update the inspection code; and receiving a communication message including a grant code generated from the set inspection code; , Reproducing the inspection code from the assigned code included in the received communication message, and whether the received communication message is correct / incorrect based on a comparison between the reproduced inspection code and the set inspection code And a step of determining the communication method. - 通信回線に接続され、前記通信回線に接続される他の通信装置との間で通信メッセージによる通信を行う通信装置であって、
前記通信装置には、通信メッセージの認証に用いられる検査コードが設定されているとともに、前記検査コードの更新を検査コード更新条件に応じて実行する検査コード更新部が設けられており、
当該通信装置は、他の通信装置との間では、前記検査コード更新条件が、同検査コードの更新を指示する内容を含む1つの通信メッセージに基づいて同期されるとともに、前記設定されている検査コードから生成した付与コードを通信メッセージに含めて送信する
ことを特徴とする通信装置。 A communication device that is connected to a communication line and performs communication using a communication message with another communication device connected to the communication line,
In the communication device, an inspection code used for authentication of a communication message is set, and an inspection code update unit that executes update of the inspection code according to an inspection code update condition is provided,
The communication device is synchronized with another communication device based on a single communication message including the contents for instructing the update of the inspection code and the inspection code update condition. A communication apparatus comprising: a transmission message including an addition code generated from a code. - 通信回線に接続され、前記通信回線に接続される他の通信装置との間で通信メッセージによる通信を行う通信装置であって、
前記通信装置には、通信メッセージの認証に用いられる検査コードが設定されているとともに、前記検査コードの更新を検査コード更新条件に応じて実行する検査コード更新部が設けられており、
当該通信装置は、他の通信装置との間では、前記検査コード更新条件が、同検査コードの更新を指示する内容を含む1つの通信メッセージに基づいて同期されるとともに、前記設定されている検査コードから生成された付与コードを含む前記他の通信装置から送信される通信メッセージを受信してその通信メッセージに含まれている付与コードから検査コードを再生し、この再生した検査コードと前記設定されている検査コードとの比較に基づいて前記受信した通信メッセージの正/不正を判定する
ことを特徴とする通信装置。 A communication device that is connected to a communication line and performs communication using a communication message with another communication device connected to the communication line,
In the communication device, an inspection code used for authentication of a communication message is set, and an inspection code update unit that executes update of the inspection code according to an inspection code update condition is provided,
The communication device is synchronized with another communication device based on a single communication message including the contents instructing the update of the inspection code and the inspection code update condition. The communication message transmitted from the other communication device including the grant code generated from the code is received, the test code is reproduced from the grant code included in the communication message, and the reproduced test code and the set are set. A communication device that determines whether the received communication message is correct or incorrect based on a comparison with a check code.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
PCT/JP2012/063532 WO2013175633A1 (en) | 2012-05-25 | 2012-05-25 | Communication device, communication system and communication method |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
PCT/JP2012/063532 WO2013175633A1 (en) | 2012-05-25 | 2012-05-25 | Communication device, communication system and communication method |
Publications (1)
Publication Number | Publication Date |
---|---|
WO2013175633A1 true WO2013175633A1 (en) | 2013-11-28 |
Family
ID=49623359
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
PCT/JP2012/063532 WO2013175633A1 (en) | 2012-05-25 | 2012-05-25 | Communication device, communication system and communication method |
Country Status (1)
Country | Link |
---|---|
WO (1) | WO2013175633A1 (en) |
Cited By (12)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2015170452A1 (en) * | 2014-05-08 | 2015-11-12 | パナソニック インテレクチュアル プロパティ コーポレーション オブ アメリカ | In-car network system, electronic control unit and update processing method |
WO2016006150A1 (en) * | 2014-07-10 | 2016-01-14 | パナソニック インテレクチュアル プロパティ コーポレーション オブ アメリカ | Vehicle-mounted network system, electronic control unit, reception method, and transmission method |
WO2016009812A1 (en) * | 2014-07-14 | 2016-01-21 | 国立大学法人名古屋大学 | Communication system, communication control device and method for preventing transmission of invalid information |
JP2016158028A (en) * | 2015-02-23 | 2016-09-01 | 株式会社デンソー | Communication device and network system |
EP3096504A1 (en) * | 2015-05-19 | 2016-11-23 | Nxp B.V. | Method for inlining message authentication code in data field in can-frames by transceiver |
JP2016208536A (en) * | 2016-07-26 | 2016-12-08 | 国立大学法人名古屋大学 | Communication system, communication control device, and unauthorized information transmission prevention method |
WO2017037982A1 (en) * | 2015-08-31 | 2017-03-09 | パナソニック インテレクチュアル プロパティ コーポレーション オブ アメリカ | Gateway device, car onboard network system, and transfer method |
JP2017050848A (en) * | 2015-08-31 | 2017-03-09 | パナソニック インテレクチュアル プロパティ コーポレーション オブ アメリカPanasonic Intellectual Property Corporation of America | Gateway device, on-vehicle network system and transfer method |
JP2019097218A (en) * | 2014-05-29 | 2019-06-20 | パナソニックIpマネジメント株式会社 | Electronic control device, communication method, and program |
DE112017004752T5 (en) | 2016-09-21 | 2019-06-27 | Autonetworks Technologies, Ltd. | Communication system, relay device, communication device and communication method |
CN112099818A (en) * | 2020-07-31 | 2020-12-18 | 奇瑞汽车股份有限公司 | Method for ensuring remote upgrading safety of automobile |
EP3834377A4 (en) * | 2018-08-07 | 2022-04-06 | Kvaser AB | Adaptable and secure can bus |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2008259077A (en) * | 2007-04-06 | 2008-10-23 | N-Crypt Lab Inc | Transmission and reception system, transmitting device, receiving device, method performed by them, and program |
JP2010004420A (en) * | 2008-06-23 | 2010-01-07 | Mitsubishi Electric Corp | Key management server, terminal, communication system, key distribution method, key distribution program, key receiving method and key receiving program |
-
2012
- 2012-05-25 WO PCT/JP2012/063532 patent/WO2013175633A1/en active Application Filing
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2008259077A (en) * | 2007-04-06 | 2008-10-23 | N-Crypt Lab Inc | Transmission and reception system, transmitting device, receiving device, method performed by them, and program |
JP2010004420A (en) * | 2008-06-23 | 2010-01-07 | Mitsubishi Electric Corp | Key management server, terminal, communication system, key distribution method, key distribution program, key receiving method and key receiving program |
Non-Patent Citations (1)
Title |
---|
HIROSATO TSUJI ET AL.: "Fukusu Mobile Tanmatsu- kan ni Okeru Jizen Kyoyu Kagi no Koshin Hoshiki", 2009 NEN SYMPOSIUM ON CRYPTOGRAPHY AND INFORMATION SECURITY SCIS2009 YOKOSHU, 20 January 2009 (2009-01-20), pages 1 - 4 * |
Cited By (29)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPWO2015170452A1 (en) * | 2014-05-08 | 2017-04-20 | パナソニック インテレクチュアル プロパティ コーポレーション オブ アメリカPanasonic Intellectual Property Corporation of America | In-vehicle network system, electronic control unit, and update processing method |
WO2015170452A1 (en) * | 2014-05-08 | 2015-11-12 | パナソニック インテレクチュアル プロパティ コーポレーション オブ アメリカ | In-car network system, electronic control unit and update processing method |
JP2019097218A (en) * | 2014-05-29 | 2019-06-20 | パナソニックIpマネジメント株式会社 | Electronic control device, communication method, and program |
EP3876481A1 (en) * | 2014-07-10 | 2021-09-08 | Panasonic Intellectual Property Corporation of America | Vehicle network system, electronic control unit, reception method, and transmission method |
JPWO2016006150A1 (en) * | 2014-07-10 | 2017-04-27 | パナソニック インテレクチュアル プロパティ コーポレーション オブ アメリカPanasonic Intellectual Property Corporation of America | In-vehicle network system, electronic control unit, reception method and transmission method |
CN111464414A (en) * | 2014-07-10 | 2020-07-28 | 松下电器(美国)知识产权公司 | Vehicle-mounted network system, electronic control unit, receiving method, and transmitting method |
US11971978B2 (en) | 2014-07-10 | 2024-04-30 | Panasonic Intellectual Property Corporation Of America | Vehicle network system whose security is improved using message authentication code |
CN111478836B (en) * | 2014-07-10 | 2024-02-20 | 松下电器(美国)知识产权公司 | Vehicle-mounted network system, electronic control unit, receiving method and transmitting method |
CN111478836A (en) * | 2014-07-10 | 2020-07-31 | 松下电器(美国)知识产权公司 | Vehicle-mounted network system, electronic control unit, receiving method, and transmitting method |
CN106464557B (en) * | 2014-07-10 | 2020-04-24 | 松下电器(美国)知识产权公司 | Vehicle-mounted network system, electronic control unit, receiving method, and transmitting method |
WO2016006150A1 (en) * | 2014-07-10 | 2016-01-14 | パナソニック インテレクチュアル プロパティ コーポレーション オブ アメリカ | Vehicle-mounted network system, electronic control unit, reception method, and transmission method |
US11113382B2 (en) | 2014-07-10 | 2021-09-07 | Panasonic Intellectual Property Corporation Of America | Vehicle network system whose security is improved using message authentication code |
WO2016009812A1 (en) * | 2014-07-14 | 2016-01-21 | 国立大学法人名古屋大学 | Communication system, communication control device and method for preventing transmission of invalid information |
JP2016021623A (en) * | 2014-07-14 | 2016-02-04 | 国立大学法人名古屋大学 | Communication system, communication control device, and unauthorized information transmission prevention method |
JP2016158028A (en) * | 2015-02-23 | 2016-09-01 | 株式会社デンソー | Communication device and network system |
US9729329B2 (en) | 2015-05-19 | 2017-08-08 | Nxp B.V. | Communications security |
EP3096504A1 (en) * | 2015-05-19 | 2016-11-23 | Nxp B.V. | Method for inlining message authentication code in data field in can-frames by transceiver |
US10525911B2 (en) | 2015-08-31 | 2020-01-07 | Panasonic Intellectual Property Corporation Of America | Gateway device, vehicle network system, and transfer method |
US10974669B2 (en) | 2015-08-31 | 2021-04-13 | Panasonic Intellectual Property Corporation Of America | Gateway device, vehicle network system, and transfer method |
CN113300927A (en) * | 2015-08-31 | 2021-08-24 | 松下电器(美国)知识产权公司 | Gateway device, in-vehicle network system, and transfer method |
CN113300947A (en) * | 2015-08-31 | 2021-08-24 | 松下电器(美国)知识产权公司 | Gateway device, in-vehicle network system, and transfer method |
JP2017050848A (en) * | 2015-08-31 | 2017-03-09 | パナソニック インテレクチュアル プロパティ コーポレーション オブ アメリカPanasonic Intellectual Property Corporation of America | Gateway device, on-vehicle network system and transfer method |
US11529914B2 (en) | 2015-08-31 | 2022-12-20 | Panasonic Intellectual Property Corporation Of America | Gateway device, vehicle network system, and transfer method |
WO2017037982A1 (en) * | 2015-08-31 | 2017-03-09 | パナソニック インテレクチュアル プロパティ コーポレーション オブ アメリカ | Gateway device, car onboard network system, and transfer method |
CN113300927B (en) * | 2015-08-31 | 2024-03-22 | 松下电器(美国)知识产权公司 | Gateway device, in-vehicle network system, and transfer method |
JP2016208536A (en) * | 2016-07-26 | 2016-12-08 | 国立大学法人名古屋大学 | Communication system, communication control device, and unauthorized information transmission prevention method |
DE112017004752T5 (en) | 2016-09-21 | 2019-06-27 | Autonetworks Technologies, Ltd. | Communication system, relay device, communication device and communication method |
EP3834377A4 (en) * | 2018-08-07 | 2022-04-06 | Kvaser AB | Adaptable and secure can bus |
CN112099818A (en) * | 2020-07-31 | 2020-12-18 | 奇瑞汽车股份有限公司 | Method for ensuring remote upgrading safety of automobile |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
WO2013175633A1 (en) | Communication device, communication system and communication method | |
Woo et al. | A practical wireless attack on the connected car and security protocol for in-vehicle CAN | |
US11212087B2 (en) | Management system, key generation device, in-vehicle computer, management method, and computer program | |
CN111629002B (en) | OTA (over the air) safety upgrading method and system of vehicle ECU (electronic control Unit) | |
KR101356476B1 (en) | Data certification and acquisition method for vehicle | |
JP2014204444A (en) | Method and device for detecting manipulation of sensor and/or sensor data of the sensor | |
CN107968781A (en) | The security processing of vehicle shared service | |
US11245535B2 (en) | Hash-chain based sender identification scheme | |
US20150095997A1 (en) | Authentication system and authentication method | |
US11212109B2 (en) | Data provision system, data security device, data provision method, and computer program | |
US9602487B2 (en) | Method for the protected transmission of data | |
CN108141458B (en) | Method and system for securing first contact establishment of a mobile device with a device | |
CN107784223A (en) | For the computer installation for the instrument being transferred to certificate in equipment | |
WO2017159671A1 (en) | Communication network system, vehicle, counter-value notification node, counter-value sharing method, and computer program | |
US10970398B2 (en) | Data provision system, data security device, data provision method, and computer program | |
CN113439425B (en) | Message transmission method and device | |
JP2018082373A (en) | Communication system | |
KR20130021157A (en) | Data certification and acquisition method and system for vehicle | |
JP2018121220A (en) | In-vehicle network system | |
CN110312232B (en) | Vehicle communication system and vehicle communication method | |
JP6375962B2 (en) | In-vehicle gateway device and electronic control device | |
JP6547180B2 (en) | Communications system | |
Mokhadder et al. | Evaluation of vehicle system performance of an SAE J1939-91C network security implementation | |
CN109688135A (en) | Data transmission method, Vehicle Controller and the readable storage medium storing program for executing of Vehicle Controller | |
KR20150109202A (en) | Method and system for authenticating communication data of vehicle |
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: 12877514 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: 12877514 Country of ref document: EP Kind code of ref document: A1 |
|
NENP | Non-entry into the national phase |
Ref country code: JP |