WO2020136707A1 - Ecu、監視ecuおよびcanシステム - Google Patents
Ecu、監視ecuおよびcanシステム Download PDFInfo
- Publication number
- WO2020136707A1 WO2020136707A1 PCT/JP2018/047504 JP2018047504W WO2020136707A1 WO 2020136707 A1 WO2020136707 A1 WO 2020136707A1 JP 2018047504 W JP2018047504 W JP 2018047504W WO 2020136707 A1 WO2020136707 A1 WO 2020136707A1
- Authority
- WO
- WIPO (PCT)
- Prior art keywords
- ecu
- message
- canid
- transmission
- ecuid
- Prior art date
Links
Images
Classifications
-
- B—PERFORMING OPERATIONS; TRANSPORTING
- B60—VEHICLES IN GENERAL
- B60W—CONJOINT CONTROL OF VEHICLE SUB-UNITS OF DIFFERENT TYPE OR DIFFERENT FUNCTION; CONTROL SYSTEMS SPECIALLY ADAPTED FOR HYBRID VEHICLES; ROAD VEHICLE DRIVE CONTROL SYSTEMS FOR PURPOSES NOT RELATED TO THE CONTROL OF A PARTICULAR SUB-UNIT
- B60W50/00—Details of control systems for road vehicle drive control not related to the control of a particular sub-unit, e.g. process diagnostic or vehicle driver interfaces
- B60W50/04—Monitoring the functioning of the control system
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L12/00—Data switching networks
- H04L12/28—Data switching networks characterised by path configuration, e.g. LAN [Local Area Networks] or WAN [Wide Area Networks]
- H04L12/40—Bus networks
- H04L12/40052—High-speed IEEE 1394 serial bus
- H04L12/40097—Interconnection with other networks
-
- B—PERFORMING OPERATIONS; TRANSPORTING
- B60—VEHICLES IN GENERAL
- B60R—VEHICLES, VEHICLE FITTINGS, OR VEHICLE PARTS, NOT OTHERWISE PROVIDED FOR
- B60R16/00—Electric or fluid circuits specially adapted for vehicles and not otherwise provided for; Arrangement of elements of electric or fluid circuits specially adapted for vehicles and not otherwise provided for
- B60R16/02—Electric or fluid circuits specially adapted for vehicles and not otherwise provided for; Arrangement of elements of electric or fluid circuits specially adapted for vehicles and not otherwise provided for electric constitutive elements
- B60R16/023—Electric or fluid circuits specially adapted for vehicles and not otherwise provided for; Arrangement of elements of electric or fluid circuits specially adapted for vehicles and not otherwise provided for electric constitutive elements for transmission of signals between vehicle parts or subsystems
- B60R16/0231—Circuits relating to the driving or the functioning of the vehicle
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L12/00—Data switching networks
- H04L12/28—Data switching networks characterised by path configuration, e.g. LAN [Local Area Networks] or WAN [Wide Area Networks]
- H04L12/40—Bus networks
-
- B—PERFORMING OPERATIONS; TRANSPORTING
- B60—VEHICLES IN GENERAL
- B60W—CONJOINT CONTROL OF VEHICLE SUB-UNITS OF DIFFERENT TYPE OR DIFFERENT FUNCTION; CONTROL SYSTEMS SPECIALLY ADAPTED FOR HYBRID VEHICLES; ROAD VEHICLE DRIVE CONTROL SYSTEMS FOR PURPOSES NOT RELATED TO THE CONTROL OF A PARTICULAR SUB-UNIT
- B60W50/00—Details of control systems for road vehicle drive control not related to the control of a particular sub-unit, e.g. process diagnostic or vehicle driver interfaces
- B60W50/02—Ensuring safety in case of control system failures, e.g. by diagnosing, circumventing or fixing failures
- B60W50/0205—Diagnosing or detecting failures; Failure detection models
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L12/00—Data switching networks
- H04L12/28—Data switching networks characterised by path configuration, e.g. LAN [Local Area Networks] or WAN [Wide Area Networks]
- H04L12/40—Bus networks
- H04L2012/40208—Bus networks characterized by the use of a particular bus standard
- H04L2012/40215—Controller Area Network CAN
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L12/00—Data switching networks
- H04L12/28—Data switching networks characterised by path configuration, e.g. LAN [Local Area Networks] or WAN [Wide Area Networks]
- H04L12/40—Bus networks
- H04L2012/40267—Bus for use in transportation systems
- H04L2012/40273—Bus for use in transportation systems the transportation system being a vehicle
Definitions
- the present invention relates to a technique for determining the validity of an ECU (Electronic Control Unit) in a CAN (Controller Area Network) system.
- ECU Electronic Control Unit
- CAN Controller Area Network
- ADAS advanced driver-assistance systems
- automated driving as its development have been put to practical use, and the use of machine learning, deep learning, and AI (Artificial Intelligence) for vehicle control has spread.
- machine learning, deep learning, or AI Artificial Intelligence
- a vehicle control system often has a communication function with devices other than the vehicle. Therefore, by utilizing this communication function, the software program of the ECU incorporated in the vehicle is modified from the outside of the vehicle, and the CAN information of the communication between the ECUs is used to externally control the vehicle not intended by the driver. It is possible to try from.
- Patent Document 1 discloses a system in which a monitoring device monitors the CAN communication status.
- the monitoring device for monitoring the validity of the ECU since the data regarding the CAN message transmitted by the ECU is not stored in the ECU, the monitoring device for monitoring the validity of the ECU transmits the transmission time every time the CAN message is transmitted on the bus. However, it is necessary to record the ID of the ECU that is the destination of the data, the data length, the data content, and the like, which causes a problem that the processing load is large.
- the present invention has been made in view of the above-mentioned problems, and an object of the present invention is to accumulate data relating to a CAN message transmitted by the ECU in the CAN system.
- the ECU of the present invention is one of a plurality of ECUs connected to a CAN communication line, and is a ECU that transmits a first CAN message to another ECU, and a plurality of first CANs transmitted by the transmitter.
- An accumulation unit that accumulates the CANID of the message as a transmission CANID.
- the monitoring ECU of the present invention is a monitoring ECU that is connected to a CAN communication line together with the ECU of the present invention, and stores a valid CANID that is a CANID predetermined for each ECU in association with the ECUID of each ECU. And a receiving unit that receives a second CAN message including a transmission CANID stored in the storage unit and a transmission source ECUID that is the ECUID of each ECU from each ECU, and the transmission CANID in the storage unit as the transmission source ECUID. And a collating unit that collates with the associated legitimate CANID and determines that the first CAN message with the transmission CANID that does not match the legitimate CANID is invalid.
- the CAN system of the present invention includes the monitoring ECU of the present invention and a plurality of ECUs of the present invention.
- the CAN IDs of the plurality of first CAN messages transmitted from the ECU are accumulated in the ECU as the transmission CAN IDs.
- FIG. 1 is a configuration diagram of a CAN system according to the first embodiment. It is a block diagram of a CAN message. It is a block diagram of a second CAN message. It is a sequence diagram of ECU in the storage process of the CANID of the first CAN message. 7 is a flowchart showing an operation of a storage application in CANID storage processing. It is a figure which shows the sequence regarding the transmission process of the 2nd CAN message in ECU. It is a figure which shows the sequence regarding the receiving process of the 2nd CAN message in monitoring ECU. It is a flowchart which shows operation
- FIG. 1 is a configuration diagram of a CAN system 101 according to the first embodiment.
- the CAN system 101 includes ECUs 10A-10D and a monitoring ECU 20.
- the ECUs 10A-10D and the monitoring ECU 20 are connected to one CAN communication line 2 and send and receive CAN messages according to a protocol such as CAN or CAN-FD via the CAN communication line 2.
- the ECUs 10A-10D and the monitoring ECU 20 are mounted on the same vehicle.
- FIG. 1 shows four ECUs 10A-10D as the configuration of the CAN system 101, but the number of ECUs included in the CAN system 101 is not limited to this. In the following description, if it is not necessary to distinguish individual ECUs, the ECUs 10A-10D will be simply referred to as the ECU 10.
- the ECU 10 is an in-vehicle control device and controls each part of the vehicle.
- the ECUs 10 send and receive CAN messages to each other via the CAN communication line 2.
- the ECU 10 includes a CAN application 11, a CAN driver 12, and a storage application 13.
- the CAN application 11 performs various processes related to vehicle control.
- the CAN driver 12 sends and receives CAN messages.
- the CAN message that each ECU 10 sends to the other ECU 10 is referred to as a first CAN message
- the CAN message that is sent to the monitoring ECU 20 is referred to as a second CAN message. That is, the CAN driver 12 functions as a transmission unit that transmits the first CAN message.
- the storage application 13 has a memory 14 (see FIG. 4), and stores the CAN ID of the CAN message transmitted by the CAN driver 12 in the memory 14 as a transmission CAN ID.
- the transmission CANID stored in the memory 14 is updated at any time such as a fixed cycle.
- the storage application 13 functions as a storage unit that stores CANIDs of the plurality of first CAN messages transmitted by the CAN driver 12 in the past fixed period as transmission CANIDs.
- the CAN driver 12 transmits the transmission CAN ID stored in the memory 14 to the monitoring ECU 20 as a second CAN message at a constant cycle. This cycle is, for example, 1 second.
- a data frame is used for standard communication.
- the data frame has a Start of Frame, an Arbitration field, a Control field, a Data field, a CRC field, an Acknowledge field, and an End of Frame.
- Start of Frame means the beginning of the data frame.
- Arbitration field is a field used for mediation of CAN communication, and the value described here is called CANID.
- the CANID represents the CAN message type and priority.
- Control field defines the data size of Data field in the data frame. However, the maximum data size of Data field in one data frame is 8 bytes.
- Data field represents the data body.
- CRC field is information as to whether or not the data frame is correct.
- the Acknowledge field is used to confirm whether or not the data frame is normally received.
- End of Frame means the end of the data frame. The above is related to the definition of the physical layer communicated by the CAN communication line 2.
- FIG. 2 shows the Arbitration field and Data field of the CAN message.
- CANID is described in Arbitration field
- CANDATA is described in Data field. If CANDATA does not fit in one data frame, it is divided into multiple data frames. Therefore, like other communication methods, CAN messages may be sent and received in multiple data frames.
- FIG. 3 shows the Arbitration field and Data field of the second CAN message.
- the CANID of the second CAN message is an 11-bit or 29-bit bit string indicating “Monitoring”.
- CANDATA of the second CAN message the ECUID of the transmission source ECU of the second CAN message and the transmission CANID (Output CANID) that is the CANID of all the first CAN messages transmitted by the transmission source ECU in the latest cycle are described.
- n transmission CANIDs are shown as Output CANID_0, Output CANID_1,... Output CANID_X.
- the monitoring ECU 20 is an ECU mounted on the same vehicle as the ECU 10, and monitors the first CAN message transmitted and received by the ECU 10 to determine the validity of the ECU 10.
- the monitoring ECU 20 includes a CAN driver 21, a CAN monitoring application 22, and a CAN database (DB) 23.
- the CAN driver 21 transmits/receives a CAN message to/from the CAN communication line 2.
- the CAN driver 21 receives the second CAN message. That is, the CAN driver 21 functions as a receiving unit that receives the second CAN message including the transmission CANID accumulated in the ECU 10 and the transmission source ECUID that is the ECUID of the ECU 10.
- the CAN message that each ECU 10 can legitimately send is defined.
- a valid CANID that is a CANID of a CAN message that each ECU 10 can legally send is recorded as design information. That is, the CAN DB 23 functions as a storage unit that stores a valid CANID that is a predetermined CANID for each ECU 10 in association with the ECUID of each ECU 10.
- the CAN monitoring application 22 acquires, from the second CAN message received by the CAN driver 21, the ECU ID representing the transmission source ECU and the Output CANID representing the CAN ID of the first CAN message transmitted by the transmission source ECU in the latest cycle. Then, the CAN monitoring application 22 determines the legitimacy of the transmission source ECU by collating the Output CANID with the legitimate CANID associated with the ECUID in the CAN database 23. Specifically, the CAN monitoring application 22 determines that the transmission source ECU is valid if all the Output CANIDs included in the second CAN message match the valid CANID, and otherwise, it is unjust, that is, the transmission source ECU is tampered with. It is possible that it has been done.
- the CAN monitoring application 22 verifies the transmission CANID with the legitimate CANID associated with the transmission source ECUID in the CAN DB 23, and determines that the first CAN message with the transmission CANID that does not match the legitimate CANID is invalid. Function.
- FIG. 4 shows a sequence relating to CANID storage processing in the ECU 10.
- the storage application 13 repeatedly confirms the transmission to the CAN driver 12 at regular intervals (step S101, step S104, step S106).
- the CAN driver 12 has not yet transmitted the first CAN message.
- the CAN application 11 requests the CAN driver 12 to transmit the first CAN message (step S102).
- the CAN driver 12 creates a data frame in response to the transmission request from the CAN application 11 and transmits the first CAN message on the CAN communication line 2 (step S103).
- the storage application 13 confirms the second transmission to the CAN driver 12 (step S104). At this time, since the CAN driver 12 is transmitting the first CAN message, the storage application 13 records the CANID of the first CAN message as the transmission CANID in the memory 14 (step S105).
- the storage application 13 confirms the third transmission to the CAN driver 12 (step S106). However, at this time, since the CAN driver 12 has not transmitted the first CAN message, the storage application 13 does not record the CANID.
- FIG. 5 is a flowchart showing the operation of the storage application 13 in the CANID storage processing.
- the storage application 13 determines whether the CAN driver 12 is transmitting the first CAN message (step S201). If the CAN driver 12 is not transmitting the first CAN message in step S201, the storage application 13 performs the process of step S201 again after a certain period has elapsed. If the CAN driver 12 is transmitting the first CAN message in step S201, the storage application 13 extracts the CANID from the first CAN message (step S202). Then, the storage application 13 determines whether or not the CANID extracted in step S202 exists in the memory (step S203).
- step S203 if the CANID extracted in step S202 exists in the memory, the operation of the storage application 13 returns to step S201.
- step S203 if the CANID extracted in step S202 does not exist in the memory, the storage application 13 records the CANID in the memory (step S204) and returns to step S201. In this way, the storage application 13 stores the CANID of the first CAN message in the memory.
- FIG. 6 shows a sequence relating to the transmission process of the second CAN message in the ECU 10.
- the ECU 10 includes a timer 15.
- the timer 15 is activated at regular intervals and notifies the storage application 13 of the start of transmission of the second CAN message.
- the storage application 13 reads all the CANIDs stored in the memory 14 (step S302), and the CANID and ECUID of these are also CAN.
- the data is output to the driver 12, and the transmission of the second CAN message is requested according to the message content shown in FIG. 3 (step S303).
- the CAN driver 12 Upon receiving the transmission request from the storage application 13, the CAN driver 12 transmits the second CAN message (step S304).
- the storage application 13 deletes the CANID stored in the memory 14 after the transmission request in step S303 (step S305). As a result, only the CANID of the latest cycle that has not been transmitted to the monitoring ECU 20 as the second CAN message is stored in the memory 14.
- FIG. 7 shows a sequence regarding the reception process of the second CAN message in the monitoring ECU 20.
- the CAN driver 21 of the monitoring ECU 20 receives the CAN message when the CAN ID of the CAN message transmitted from the ECU 10 is Monitoring shown in FIG. 3 (step S401).
- the CAN message received by the CAN driver 21 is the second CAN message.
- the CAN driver 21 notifies the CAN monitoring application 22 that the second CAN message has been received (step S402).
- the CAN monitoring application 22 compares and verifies the plurality of Output CANIDs included in the second CAN message received in step S401 with the valid CANIDs in the CAN DB 23 (step S403).
- the valid CANID associated with the same ECUID as the ECUID in the second CAN message is compared and collated with the plurality of Output CANIDs in the second CAN message. Then, the CAN monitoring application 22 determines that the Output CANID is an invalid CANID and the ECUID included in the second CAN message is an invalid ECUID if there is one that does not match the valid CANID among the multiple Output CANIDs in the second CAN message. To do.
- FIG. 8 is a flowchart showing the operation of the CAN monitoring application 22 in the reception processing of the second CAN message.
- the CAN monitoring application 22 determines whether the CAN driver 12 has received the second CAN message (step S501). In step S501, if there is no notification from the CAN driver 12 that the second CAN message has been received, the CAN monitoring application 22 repeats the process of step S501. In step S501, if the CAN driver 12 notifies the reception of the second CAN message, the CAN monitoring application 22 extracts the data from the received second CAN message and acquires the ECU ID and all Output CAN IDs (step S502).
- this legal CANID is a CANID that represents the type of CAN message that can be legally transmitted by the ECU identified by the ECUID.
- the CAN monitoring application 22 compares all the Output CANIDs acquired in step S502 with the legitimate CANID acquired in step S503, and determines whether they match (step S504). When all the Output CANIDs match the valid CANID, the ECU that is the transmission source of the second CAN message determines that the ECU is valid, and the CAN monitoring application 22 returns to the reception waiting for the second CAN message (step S501). On the other hand, if the Output CANID is different from the legitimate CANID, the CAN monitoring application 22 determines that the sender ECU of the second CAN message may have been tampered with, and the sender ECU of the second CAN message is invalid. Determined as ECU.
- the Output CANID different from the legitimate CANID is the CANID of the first CAN message illegally transmitted from the fraudulent ECU, and this is called the fraudulent CANID.
- the CAN monitoring application 22 records the unauthorized ECUID, which is the ECUID of the unauthorized ECU, and the unauthorized CANID in the memory 14 (step S505).
- the ECU 10 in the CAN system 101 stores a CAN driver 12 that is a transmission unit that transmits a first CAN message to another ECU 10, and a storage that accumulates CANIDs of a plurality of first CAN messages transmitted by the transmission unit as transmission CANIDs. And a storage application 13 that is a unit.
- the transmission CANID which is the data regarding the first CAN message transmitted by the ECU 10
- the monitoring ECU 20 can store the transmission CANID every time the ECU 10 transmits the first CAN message.
- the transmission CANIDs relating to the plurality of first CAN messages can be collectively transmitted from the ECU 10 to the monitoring ECU 20, the number of times of communication from the ECU 10 to the monitoring ECU 20 can be reduced.
- the storage application 13 only performs a process of storing the transmission CANID and does not perform a special determination process. Therefore, the ECU 10 does not need much memory other than storing the transmission CANID. Therefore, the ECU 10 can be easily realized by incorporating the storage application 13 in a general-purpose ECU.
- monitoring ECU 20 in CAN system 101 of the first embodiment stores a valid CANID, which is a predetermined CANID for each ECU 10, in association with the ECU ID of each ECU 10 and stores the same.
- a receiving unit that receives a second CAN message that includes a transmission CANID stored in the unit and a transmission source ECUID that is the ECUID of each ECU, and the transmission CANID is compared with a valid CANID associated with the transmission source ECUID in the storage unit, A first CAN message to which a transmission CANID that does not match the valid CANID is attached is determined to be invalid. In this way, the monitoring ECU 20 can determine the legitimacy of each ECU 10 based on the second CAN message. Since the transmission CANID is stored in each ECU 10, the monitoring ECU 20 does not need to store the transmission CANID.
- the CAN system 102 according to the second embodiment has the same configuration as the CAN system 101 according to the first embodiment shown in FIG. 1, but, in addition to the function of the CAN system 101, limits CAN message transmission in an unauthorized ECU. It has a function (hereinafter, referred to as “transmission restriction function”). The operation of the CAN system 102 regarding the transmission restriction function will be described below. With respect to the transmission restriction function, the monitoring ECU 20 performs the third CAN message transmission process, and each ECU 10 performs the third CAN message reception process. The third CAN message will be described later with reference to FIG.
- FIG. 9 shows a sequence of processing for transmitting the third CAN message by the monitoring ECU 20.
- the CAN monitoring application 22 determines that an ECU 10 is an unauthorized ECU (step S601)
- the CAN monitoring application 22 requests the CAN driver 21 to transmit the third CAN message (step S602).
- the CAN driver 21 that has received the transmission request transmits the third CAN message onto the CAN communication line 2 (step S603).
- the CAN driver 21 functions as a transmission unit that transmits the third CAN message to each ECU 10 when the CAN monitoring application 22 that is the collation unit determines that the first CAN message is invalid.
- FIG. 10 is a flowchart showing the operation of the CAN monitoring application 22 in the transmission processing of the third CAN message.
- the CAN monitoring application 22 determines whether an unauthorized ECU exists based on the newly received second CAN message (step S701). The CAN monitoring application 22 repeats the process of step S701 until detecting an unauthorized ECU. If a fraudulent ECU exists in step S701, the CAN monitoring application 22 outputs the fraudulent ECU ID and the fraudulent CANID to the CAN driver 21, and requests transmission of the third CAN message (step S702). Then, the CAN monitoring application 22 returns to the processing of step S701.
- FIG. 11 shows the Arbitration field and Data field of the third CAN message.
- the CANID of the third CAN message is an 11-bit or 29-bit bit string indicating “MonitoringResult”.
- CANDATA of the third CAN message includes an unauthorized ECU ID and an unauthorized CAN ID.
- X unauthorized CANIDs are shown as unauthorized CANID_0, unauthorized CANID_1,... Incorrect CANID_X.
- FIG. 12 shows a sequence of receiving processing of the third CAN message by each ECU 10.
- the CAN driver 12 of the ECU 10 receives the CAN message (step S801). If the CANID of the received CAN message is “MonitoringResult”, the CAN driver 12 notifies the storage application 13 that the third CAN message has been received (step S802). Then, the storage application 13 compares and verifies the unauthorized ECU ID in the received third CAN message with its own ECU ID (step S803), and if they match, prohibits the CAN message from being transmitted to the CAN driver 12 (step S804).
- FIG. 13 is a flowchart showing the operation of the storage application 13 in the reception process of the third CAN message.
- the storage application 13 determines whether or not the CANID of the CAN message received by the CAN driver 12 is “MonitoringResult” (step S901). If the CANID is not "MonitoringResult” in step S901, the storage application 13 repeats the process of step S901 again. If the CANID is “MonitoringResult” in step S901, the storage application 13 extracts the unauthorized ECU ID from the received CAN message, that is, the third CAN message (step S902). Then, the storage application 13 compares and verifies the unauthorized ECU ID extracted in step S902 with its own ECU ID (step S903).
- step S903 If they do not match, the process returns to step S901. If the unauthorized ECU ID matches with the ECU ID of its own in step S903, transmission of the CAN message to the CAN driver 12 is prohibited (step S904). As a result, the unauthorized ECU that has received the third CAN message is prohibited from transmitting subsequent CAN messages.
- step S804 of FIG. 12 or step S904 of FIG. 13 the storage application 13 may prohibit the transmission of all CAN messages, or may prohibit only the transmission of CAN messages with an illegal CANID. If the storage application 13 prohibits transmission of all CAN messages, the third CAN message does not have to include an unauthorized CANID.
- the monitoring ECU 20 in the CAN system 102 includes the CAN driver 21 that is a transmitting unit that transmits the third CAN message to each ECU when the CAN monitoring application 22 that is the collating unit determines that the first CAN message is invalid. Then, the third CAN message includes the incorrect ECU ID.
- the fraudulent ECU ID is the ECU ID included in the second CAN message including the fraudulent CANID that is the CANID of the first CAN message determined to be fraudulent. This makes it possible to notify the ECU 10 that has transmitted the first CAN message that is determined to be incorrect, to that effect.
- the ECU 10 that receives the third CAN message from the monitoring ECU 20 prohibits the transmission of the first CAN message when the unauthorized ECU ID included in the third CAN message matches the own ECU ID. .. As a result, communication by the falsified unauthorized ECU 10 is restricted.
- FIG. 14 is a block diagram showing the configuration of the CAN system 103 according to the third embodiment.
- the CAN system 103 includes an output device 30 connected to the monitoring ECU 20 in addition to the configurations of the CAN systems 101 and 102 of the first or second embodiment.
- the output device 30 is not connected to the CAN communication line 2.
- the output device 30 is, for example, a display device or a voice output device mounted on the same vehicle as the ECU 10 and the monitoring ECU 20.
- the output device 30 does not have to be mounted in the vehicle, and may be, for example, a general-purpose personal computer, or a mobile terminal such as a PDA or a smartphone carried by a driver of the vehicle.
- the monitoring ECU 20 has a function of transmitting information of an unauthorized ECU to the output device 30 in addition to the functions described in the first embodiment or the second embodiment. That is, when the CAN monitoring application 22 of the monitoring ECU 20 determines that the first CAN message is invalid, it functions as a notification unit that notifies the output device 30 of that.
- the information of the unauthorized ECU includes the unauthorized ECU ID and may include the unauthorized CANID.
- the monitoring ECU 20 in the CAN system 103 is connected to the output device 30 that is not connected to the CAN communication line, and when the collating unit determines that the first CAN message is invalid, notifies the output device to that effect. Section. Therefore, it is possible to notify the user such as the driver of the vehicle that the ECU 10 is incorrect and prompt the user to take a countermeasure.
- FIG. 15 is a configuration diagram of the CAN system 104 according to the fourth embodiment.
- the CAN system 104 is obtained by removing the monitoring ECU 20 from the CAN system 101 of the first embodiment and providing ECUs 10AA-10AD instead of the ECUs 10A-10D. Since the configurations of the ECUs 10AA-10AD are similar, only the configuration of the ECU 10AA is shown in FIG.
- the ECU 10AA includes the CAN monitoring application 22 and the CAN DB 23 of the monitoring ECU 20 of the first embodiment in addition to the configuration of the ECU 10A of the first embodiment.
- the accumulation application 13 accumulates the CANID of the first CAN message transmitted from the CAN driver 12 to another ECU in the memory 14 for a certain period. Then, the CAN monitoring application 22 compares the CANID stored in the memory 14 with the valid CANID stored in the CAN DB 23, and if they do not match, the first CAN message related to the CANID is an illegally transmitted CAN message. Therefore, the ECU 10AA determines that the ECU 10AA is an unauthorized ECU that may have been tampered with. Then, the CAN application 11 prohibits the CAN driver from transmitting the CAN message.
- the CAN system 104 of the fourth embodiment since the accumulation of CANID, the determination of the validity by comparing the CANID, and the transmission restriction of the CAN message are all performed within each ECU 10AA-10AD, a separate monitoring ECU 20 is provided. No need. Therefore, it is not necessary to perform communication of the second CAN message or the third CAN message to perform the above processing, and there is an effect of reducing the CAN communication amount.
- the ECU 10 or the monitoring ECU 20 in the CAN system 101-104 described above is realized by the processor 81 and the memory 82 shown in FIG. Specifically, the functions of the CAN application 11, the CAN driver 12, and the storage application 13 in the ECU 10 and the functions of the CAN driver 21 and the CAN monitoring application 22 in the monitoring ECU 20 cause the processor 81 to execute the program stored in the memory 82. It is realized by The processor 81 is, for example, a central processing unit, a processing unit, an arithmetic unit, a microprocessor, a microcomputer, a DSP (Digital Signal Processor) or the like.
- DSP Digital Signal Processor
- the memory 14 in which the CANID of the first CAN message is stored in the ECU 10 and the CAN DB 23 in the monitoring ECU 20 are realized by the memory 82, but they may be configured by a single memory 82, or each of them may be individually configured.
- the memory 82 is non-volatile or volatile, such as RAM (Random Access Memory), ROM (Read Only Memory), flash memory, EPROM (Erasable Programmable Read Only Memory), and EEPROM (Electrically Erasable Programmable Read Only Memory).
- RAM Random Access Memory
- ROM Read Only Memory
- flash memory EPROM (Erasable Programmable Read Only Memory), and EEPROM (Electrically Erasable Programmable Read Only Memory).
- EEPROM Electrical Erasable Programmable Read Only Memory
Landscapes
- Engineering & Computer Science (AREA)
- Automation & Control Theory (AREA)
- Mechanical Engineering (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Human Computer Interaction (AREA)
- Transportation (AREA)
- Small-Scale Networks (AREA)
Abstract
本発明は、CANシステムにおいて、ECUが送信したCANメッセージに関するデータをECU内に蓄積することを目的とする。本発明に係るECUは、CAN通信線(2)に接続された複数のECU(10)のうちの、一つのECU(10)であって、他のECU(10)に第1CANメッセージを送信する送信部と、送信部が送信した複数の第1CANメッセージのCANIDを送信CANIDとして蓄積する蓄積部と、を備える。
Description
この発明は、CAN(Controller Area Network)システムにおけるECU(Electronic Control Unit)の正当性を判定する技術に関する。
近年、車両の先進運転支援システム(ADAS:Advanced Driver-Assistance Systems)およびその発展としての自動運転が実用化され、機械学習、ディープラーニング、およびAI(Artificial Intelligence)の車両制御への利用が普及し始めている。機械学習、ディープラーニング、またはAI(Artificial Intelligence)を利用するため、車両の制御システムは、車両以外の機器との通信機能を有することが多い。そのため、この通信機能を利用して、車両に組み込まれているECUのソフトウェアプログラムを車両の外部から改変し、ECU間の通信のCAN情報を利用することによって、運転者の意図しない車両制御を外部から試みることが可能になっている。
この問題に対して、特許文献1では、監視装置によりCANの通信状況を監視するシステムが開示されている。
特許文献1のシステムによれば、ECUの送信するCANメッセージに関するデータがECU内に蓄積されないため、ECUの正当性を監視する監視装置は、バス上をCANメッセージが送信される毎に、送信時刻、データの宛先であるECUのID,データ長、データ内容等を記録する必要があり、処理負荷が大きいという問題があった。
本発明は上述の問題点に鑑み、CANシステムにおいて、ECUが送信したCANメッセージに関するデータをECU内に蓄積することを目的とする。
本発明のECUは、CAN通信線に接続された複数のECUのうちの、一つのECUであって、他のECUに第1CANメッセージを送信する送信部と、送信部が送信した複数の第1CANメッセージのCANIDを送信CANIDとして蓄積する蓄積部と、を備える。
本発明の監視ECUは、本発明のECUと共にCAN通信線に接続された監視ECUであって、各ECUに対して予め定められたCANIDである正当CANIDを、各ECUのECUIDと紐づけて格納する格納部と、各ECUから、蓄積部に蓄積された送信CANIDと各ECUのECUIDである送信元ECUIDとを含む第2CANメッセージを受信する受信部と、送信CANIDを格納部において送信元ECUIDに紐づけられた正当CANIDと照合し、正当CANIDに一致しない送信CANIDが付された第1CANメッセージを不正と判定する照合部と、を備える。
本発明のCANシステムは、本発明の監視ECUと、本発明の複数のECUとを備える。
本発明によれば、ECUから送信された複数の第1CANメッセージのCANIDが送信CANIDとしてECU内に蓄積される。本発明の目的、特徴、態様、および利点は、以下の詳細な説明と添付図面とによって、より明白となる。
<A.実施の形態1>
図1は、実施の形態1のCANシステム101の構成図である。図1に示すように、CANシステム101は、ECU10A-10Dと監視ECU20とを備えている。ECU10A-10Dと監視ECU20は、一本のCAN通信線2に接続され、CAN通信線2を介してCAN又はCAN-FD等のプロトコルに従ったCANメッセージの送受信を行う。ECU10A-10Dと監視ECU20は同一の車両に搭載されている。図1にはCANシステム101の構成として4つのECU10A-10Dが示されているが、CANシステム101が備えるECUの数はこれに限らない。以下の説明において個々のECUを区別する必要がない場合には、ECU10A-10Dを単にECU10と呼称する。
図1は、実施の形態1のCANシステム101の構成図である。図1に示すように、CANシステム101は、ECU10A-10Dと監視ECU20とを備えている。ECU10A-10Dと監視ECU20は、一本のCAN通信線2に接続され、CAN通信線2を介してCAN又はCAN-FD等のプロトコルに従ったCANメッセージの送受信を行う。ECU10A-10Dと監視ECU20は同一の車両に搭載されている。図1にはCANシステム101の構成として4つのECU10A-10Dが示されているが、CANシステム101が備えるECUの数はこれに限らない。以下の説明において個々のECUを区別する必要がない場合には、ECU10A-10Dを単にECU10と呼称する。
次に、ECU10の構成について説明する。ECU10は、車載制御装置であり、車両の各部の制御を行う。ECU10は、CAN通信線2を介して互いにCANメッセージを送受信する。ECU10は、CANアプリケーション11、CANドライバ12、および蓄積アプリケーション13を備えて構成される。CANアプリケーション11は、車両制御に関する種々の処理を行う。
CANドライバ12は、CANメッセージの送受信を行う。ここで、各ECU10が他のECU10宛てに送信するCANメッセージを第1CANメッセージと称し、監視ECU20宛てに送信するCANメッセージを第2CANメッセージと称する。すなわち、CANドライバ12は第1CANメッセージを送信する送信部として機能する。
蓄積アプリケーション13はメモリ14(図4参照)を備えており、CANドライバ12が送信するCANメッセージのCANIDを、送信CANIDとしてメモリ14に蓄積する。メモリ14に蓄積される送信CANIDは、一定周期など随時に更新される。このように蓄積アプリケーション13は、過去の一定期間にCANドライバ12が送信した複数の第1CANメッセージのCANIDを送信CANIDとして蓄積する蓄積部として機能する。
CANドライバ12は、メモリ14に蓄積された送信CANIDを、第2CANメッセージとして一定周期で監視ECU20に送信する。この周期は、例えば1秒である。
次に、CANメッセージの構成について説明する。CANメッセージには、データフレーム、リモートフレーム、エラーフレームおよびオーバーロードフレームという4種類のフレームが存在する。そのうち、標準の通信にはデータフレームが用いられる。データフレームは、Start of Frame、Arbitration field、Control field、Data field、CRC field、Acknowledge field、およびEnd of Frameを備えている。Start of Frameはデータフレームの先頭を意味する。Arbitration fieldはCAN通信の調停に用いられるフィールドで、ここに記載される値をCANIDと呼ぶ。CANIDは、CANメッセージの種別と優先順位を表している。Control fieldは、データフレームの中のData fieldのデータサイズを規定する。ただし、1つのデータフレームにおけるData fieldのデータサイズは最大8バイトである。Data fieldはデータ本体を表す。CRC fieldはデータフレームが正しいか否かの情報である。Acknowledge fieldは、データフレームが正常に受信されたか否かの確認を行う為に利用される。End of Frameはデータフレームの終了を意味する。以上は、CAN通信線2で通信される物理層の規定に関する。
図2は、CANメッセージのArbitration fieldとData fieldを示している。Arbitration fieldにCANIDが記載され、Data fieldにCANDATAが記載されている。CANDATAが1つのデータフレームに収まらない場合、複数のデータフレームに分割される。従って、他の通信方法と同様に、CANメッセージは複数のデータフレームにより送受信され得る。
図3は、第2CANメッセージのArbitration fieldとData fieldを示している。第2CANメッセージのCANIDは、「Monitering」を示す11bitもしくは29bitのビット列である。第2CANメッセージのCANDATAには、第2CANメッセージの送信元ECUのECUIDと、送信元ECUが直近の周期に送信した全ての第1CANメッセージのCANIDである送信CANID(Output CANID)が記載されている。図3には、n個の送信CANIDが、Output CANID_0、Output CANID_1、…Output CANID_Xとして示されている。
次に、監視ECU20の構成について説明する。監視ECU20は、ECU10と同一の車両に搭載されたECUであり、ECU10が送受信する第1CANメッセージの監視を行い、ECU10の正当性を判断する。監視ECU20は、CANドライバ21、CAN監視アプリケーション22、およびCANデータベース(DB)23を備えている。CANドライバ21は、CAN通信線2に対してCANメッセージの送受信を行う。特に、CANドライバ21は第2CANメッセージを受信する。すなわち、CANドライバ21は、ECU10に蓄積された送信CANIDとECU10のECUIDである送信元ECUIDとを含む第2CANメッセージを受信する受信部として機能する。
設計上、各ECU10が正当に送信可能なCANメッセージは定められている。CAN DB23には、各ECU10が正当に送信可能なCANメッセージのCANIDである正当CANIDが、設計情報として記録されている。すなわち、CAN DB23は、各ECU10に対して予め定められたCANIDである正当CANIDを、各ECU10のECUIDと紐づけて格納する格納部として機能する。
CAN監視アプリケーション22は、CANドライバ21が受信した第2CANメッセージから、送信元ECUを表すECUIDと、送信元ECUが直近周期に送信した第1CANメッセージのCANIDを表すOutput CANIDを取得する。そして、CAN監視アプリケーション22は、Output CANIDを、CANデータベース23においてECUIDに紐づけられた正当CANIDと照合することにより、送信元ECUの正当性を判断する。具体的には、CAN監視アプリケーション22は、第2CANメッセージに含まれる全てのOutput CANIDが正当CANIDに一致すれば、送信元ECUを正当と判断し、そうでなければ不当、すなわち送信元ECUが改ざんされた可能性があると判断する。すなわち、CAN監視アプリケーション22は、送信CANIDをCAN DB23において送信元ECUIDに紐づけられた正当CANIDと照合し、正当CANIDに一致しない送信CANIDが付された第1CANメッセージを不正と判定する照合部として機能する。
図4は、ECU10におけるCANIDの蓄積処理に関するシーケンスを示している。蓄積アプリケーション13は、一定周期で繰り返しCANドライバ12に送信確認を行う(ステップS101,ステップS104,ステップS106)。1回目の送信確認(ステップS101)の時点では、まだCANドライバ12は第1CANメッセージを送信していない。次に、CANアプリケーション11がCANドライバ12に第1CANメッセージの送信依頼を行う(ステップS102)。そして、CANドライバ12はCANアプリケーション11からの送信依頼に応じてデータフレームを創出し、第1CANメッセージをCAN通信線2上に送信する(ステップS103)。
その後、蓄積アプリケーション13が2回目の送信確認をCANドライバ12に行う(ステップS104)。このとき、CANドライバ12は第1CANメッセージを送信しているため、蓄積アプリケーション13は当該第1CANメッセージのCANIDを送信CANIDとしてメモリ14に記録する(ステップS105)。
その後、蓄積アプリケーション13が3回目の送信確認をCANドライバ12に行う(ステップS106)。しかし、このとき、CANドライバ12は第1CANメッセージを送信していないため、蓄積アプリケーション13はCANIDの記録を行わない。
図5は、CANIDの蓄積処理における蓄積アプリケーション13の動作を示すフローチャートである。図5において、まず、蓄積アプリケーション13は、CANドライバ12が第1CANメッセージの送信中か否かを判断する(ステップS201)。ステップS201においてCANドライバ12が第1CANメッセージの送信中でなければ、蓄積アプリケーション13は、一定周期が経過した後に再びステップS201の処理を行う。ステップS201においてCANドライバ12が第1CANメッセージの送信中であれば、蓄積アプリケーション13は当該第1CANメッセージからCANIDを抽出する(ステップS202)。そして、蓄積アプリケーション13は、メモリ内にステップS202で抽出したCANIDが存在するか否かを判断する(ステップS203)。ステップS203において、メモリ内にステップS202で抽出したCANIDが存在すれば、蓄積アプリケーション13の動作はステップS201に戻る。ステップS203において、メモリ内にステップS202で抽出したCANIDが存在しなければ、蓄積アプリケーション13は当該CANIDをメモリに記録し(ステップS204)、ステップS201に戻る。こうして、蓄積アプリケーション13はメモリに第1CANメッセージのCANIDを蓄積する。
図6は、ECU10における第2CANメッセージの送信処理に関するシーケンスを示している。図6に示すように、ECU10はタイマ15を備えている。タイマ15は一定周期で起動し、蓄積アプリケーション13に第2CANメッセージの送信開始を通知する。タイマ15が蓄積アプリケーション13に第2CANメッセージの送信開始を通知すると(ステップS301)、蓄積アプリケーション13は、メモリ14に蓄積された全てのCANIDを読み込むと共に(ステップS302)、これらのCANIDとECUIDをCANドライバ12に出力し、図3で示したメッセージ内容に従って第2CANメッセージの送信を依頼する(ステップS303)。CANドライバ12は、蓄積アプリケーション13から送信依頼を受けると、第2CANメッセージを送信する(ステップS304)。なお、蓄積アプリケーション13は、ステップS303の送信依頼後、メモリ14に蓄積されたCANIDを削除する(ステップS305)。これにより、メモリ14には第2CANメッセージとして監視ECU20に送信されていない直近周期のCANIDのみが蓄積されることになる。
図7は、監視ECU20における第2CANメッセージの受信処理に関するシーケンスを示している。図7に示すように、監視ECU20のCANドライバ21は、ECU10から送信されるCANメッセージのCANIDが図3に示したMoniteringの場合に、CANメッセージの受信を行う(ステップS401)。ここでCANドライバ21が受信するCANメッセージは、第2CANメッセージである。次に、CANドライバ21は、第2CANメッセージを受信したことをCAN監視アプリケーション22に通知する(ステップS402)。そして、CAN監視アプリケーション22は、ステップS401で受信した第2CANメッセージに含まれる複数のOutput CANIDを、CAN DB23内の正当CANIDと比較照合する(ステップS403)。具体的には、CAN DB23において、第2CANメッセージ内のECUIDと同一のECUIDに紐づけられた正当CANIDを、第2CANメッセージ内の複数のOutput CANIDと比較照合する。そして、CAN監視アプリケーション22は、第2CANメッセージ内の複数のOutput CANIDの中に正当CANIDに一致しないものがあれば、当該Output CANIDを不正CANIDとし、第2CANメッセージに含まれるECUIDを不正ECUIDと判定する。
図8は、第2CANメッセージの受信処理におけるCAN監視アプリケーション22の動作を示すフローチャートである。まず、CAN監視アプリケーション22はCANドライバ12から第2CANメッセージの受信連絡があるか判断する(ステップS501)。ステップS501において、CANドライバ12から第2CANメッセージの受信連絡がなければ、CAN監視アプリケーション22はステップS501の処理を繰り返す。ステップS501において、CANドライバ12から第2CANメッセージの受信連絡があれば、CAN監視アプリケーション22は、受信した第2CANメッセージからデータを抽出し、ECUIDと全てのOutput CANIDとを取得する(ステップS502)。
そして、CAN監視アプリケーション22は、ステップS502で取得したECUIDをCAN DB23内で検索し、ECUIDに紐づけられた正当CANIDを取得する(ステップS503)。すなわち、この正当CANIDは、ECUIDで特定されるECUが正当に送信しうるCANメッセージの種別を表すCANIDである。
次に、CAN監視アプリケーション22は、ステップS502で取得した全てのOutput CANIDと、ステップS503で取得した正当CANIDとを比較し、両者が一致するかを判断する(ステップS504)。全てのOutput CANIDが正当CANIDと一致する場合には、第2CANメッセージの送信元のECUが正当であると判断し、CAN監視アプリケーション22は第2CANメッセージの受信待ち(ステップS501)に戻る。一方、Output CANIDの中に正当CANIDと異なるものがある場合、CAN監視アプリケーション22は、第2CANメッセージの送信元ECUが改竄された可能性があると判断し、第2CANメッセージの送信元ECUを不正ECUと判定する。なお、正当CANIDと異なるOutput CANIDは、不正ECUから不正に送信された第1CANメッセージのCANIDであり、これを不正CANIDと称する。CAN監視アプリケーション22は、不正ECUのECUIDである不正ECUIDと、不正CANIDを、メモリ14に記録する(ステップS505)。
実施の形態1のCANシステム101におけるECU10は、他のECU10に第1CANメッセージを送信する送信部であるCANドライバ12と、送信部が送信した複数の第1CANメッセージのCANIDを送信CANIDとして蓄積する蓄積部である蓄積アプリケーション13と、を備える。このように、CANシステム101では、ECU10が送信した第1CANメッセージに関するデータである送信CANIDをECU10内に蓄積することができる。従って、ECU10が第1CANメッセージを送信するたびに、監視ECU20が送信CANIDを蓄積する必要がない。また、ECU10から複数の第1CANメッセージに関する送信CANIDをまとめて監視ECU20に送信することができるため、ECU10から監視ECU20への通信回数を減らすことができる。蓄積アプリケーション13は、送信CANIDを蓄積する処理を行うだけであり、特別な判断処理を行わない。従って、ECU10は、送信CANIDを蓄積する以外に多くのメモリを必要としない。そのため、汎用的なECUに蓄積アプリケーション13を組み込むことによって簡単にECU10を実現することが可能である。
また、実施の形態1のCANシステム101における監視ECU20は、各ECU10に対して予め定められたCANIDである正当CANIDを、各ECU10のECUIDと紐づけて格納する格納部と、各ECU10から、蓄積部に蓄積された送信CANIDと各ECUのECUIDである送信元ECUIDとを含む第2CANメッセージを受信する受信部と、送信CANIDを格納部において送信元ECUIDに紐づけられた正当CANIDと照合し、正当CANIDに一致しない送信CANIDが付された第1CANメッセージを不正と判定する照合部と、を備える。このように、監視ECU20は第2CANメッセージに基づいて各ECU10の正当性を判定することができる。送信CANIDは各ECU10で蓄積されるため、監視ECU20は送信CANIDを蓄積する必要がない。
<B.実施の形態2>
実施の形態2のCANシステム102は、図1に示した実施の形態1のCANシステム101と同様の構成であるが、CANシステム101の機能に加えて、不正ECUにおけるCANメッセージの送信を制限する機能(以下、「送信制限機能」と称する)を有する。以下、送信制限機能に関するCANシステム102の動作について説明する。送信制限機能に関して、監視ECU20は第3CANメッセージの送信処理を行い、各ECU10は第3CANメッセージの受信処理を行う。第3CANメッセージについては図11で後述する。
実施の形態2のCANシステム102は、図1に示した実施の形態1のCANシステム101と同様の構成であるが、CANシステム101の機能に加えて、不正ECUにおけるCANメッセージの送信を制限する機能(以下、「送信制限機能」と称する)を有する。以下、送信制限機能に関するCANシステム102の動作について説明する。送信制限機能に関して、監視ECU20は第3CANメッセージの送信処理を行い、各ECU10は第3CANメッセージの受信処理を行う。第3CANメッセージについては図11で後述する。
図9は、監視ECU20による第3CANメッセージの送信処理のシーケンスを示している。まず、CAN監視アプリケーション22は、あるECU10を不正ECUと判断すると(ステップS601)、CANドライバ21に対して第3CANメッセージの送信を依頼する(ステップS602)。送信依頼を受けたCANドライバ21は、第3CANメッセージをCAN通信線2上に送信する(ステップS603)。このように、CANドライバ21は、照合部であるCAN監視アプリケーション22が第1CANメッセージを不正と判定すると、第3CANメッセージを各ECU10に送信する送信部として機能する。
図10は、第3CANメッセージの送信処理におけるCAN監視アプリケーション22の動作を示すフローチャートである。まず、CAN監視アプリケーション22は、新たに受信した第2CANメッセージに基づき不正ECUが存在するかを判断する(ステップS701)。CAN監視アプリケーション22は、不正ECUを検知するまでステップS701の処理を繰り返す。ステップS701において不正ECUが存在すれば、CAN監視アプリケーション22は、不正ECUIDおよび不正CANIDをCANドライバ21に出力し、第3CANメッセージの送信依頼を行う(ステップS702)。そして、CAN監視アプリケーション22はステップS701の処理に戻る。
図11は、第3CANメッセージのArbitration fieldとData fieldを示している。第3CANメッセージのCANIDは、「MoniteringResult」を示す11bitもしくは29bitのビット列である。第3CANメッセージのCANDATAには、不正ECUIDおよび不正CANIDが含まれる。図11には、X個の不正CANIDが、不正CANID_0、不正CANID_1、…不正CANID_Xとして示されている。
図12は、各ECU10による第3CANメッセージの受信処理のシーケンスを示している。まず、ECU10のCANドライバ12は、CANメッセージを受信する(ステップS801)。CANドライバ12は、受信したCANメッセージのCANIDが「MoniteringResult」である場合、蓄積アプリケーション13に第3CANメッセージを受信したことを通知する(ステップS802)。そして、蓄積アプリケーション13は受信した第3CANメッセージ内の不正ECUIDを自身のECUIDと比較照合し(ステップS803)、一致した場合には、CANドライバ12にCANメッセージの送信を禁止する(ステップS804)。
図13は、第3CANメッセージの受信処理における蓄積アプリケーション13の動作を示すフローチャートである。まず、蓄積アプリケーション13は、CANドライバ12が受信したCANメッセージのCANIDが「MoniteringResult」であるか否かを判断する(ステップS901)。ステップS901においてCANIDが「MoniteringResult」でなければ、蓄積アプリケーション13は再びステップS901の処理を繰り返す。ステップS901においてCANIDが「MoniteringResult」であれば、蓄積アプリケーション13は受信したCANメッセージ、すなわち第3CANメッセージから不正ECUIDを抽出する(ステップS902)。そして、蓄積アプリケーション13はステップS902で抽出した不正ECUIDを自身のECUIDと比較照合し(ステップS903)、両者が一致しなければステップS901の処理に戻る。ステップS903において不正ECUIDが自身のECUIDと一致する場合は、CANドライバ12にCANメッセージの送信を禁止する(ステップS904)。これにより、第3CANメッセージを受信した不正ECUは、それ以降のCANメッセージの送信が禁止される。
なお、図12のステップS804または図13のステップS904において、蓄積アプリケーション13は、全てのCANメッセージの送信を禁止しても良いし、不正CANIDのCANメッセージの送信のみ禁止しても良い。蓄積アプリケーション13が全てのCANメッセージの送信を禁止する場合、第3CANメッセージは不正CANIDを含まなくても良い。
実施の形態2のCANシステム102における監視ECU20は、照合部であるCAN監視アプリケーション22が第1CANメッセージを不正と判定すると、第3CANメッセージを各ECUに送信する送信部であるCANドライバ21を備える。そして、第3CANメッセージは不正ECUIDを含む。不正ECUIDは、不正と判定された第1CANメッセージのCANIDである不正CANIDを含む第2CANメッセージに含まれるECUIDである。これにより、不正と判定された第1CANメッセージを送信したECU10に対して、その旨を通知することが可能となる。
また、実施の形態2のCANシステム102において、監視ECU20から第3CANメッセージを受信したECU10は、第3CANメッセージに含まれる不正ECUIDが自己のECUIDと一致する場合に、第1CANメッセージの送信を禁止する。これにより、改竄された不正なECU10による通信が制限される。
<C.実施の形態3>
図14は、実施の形態3のCANシステム103の構成を示すブロック図である。CANシステム103は、実施の形態1または2のCANシステム101,102の構成に加えて、監視ECU20に接続された出力装置30を備えている。出力装置30は、CAN通信線2には接続されていない。出力装置30は、例えば、ECU10および監視ECU20と同一の車両に搭載された表示装置または音声出力装置である。あるいは、出力装置30は当該車両に搭載されていなくても良く、例えば汎用パーソナルコンピュータであっても良いし、車両の運転者等が携帯するPDAまたはスマートフォンなどの携帯端末であっても良い。
図14は、実施の形態3のCANシステム103の構成を示すブロック図である。CANシステム103は、実施の形態1または2のCANシステム101,102の構成に加えて、監視ECU20に接続された出力装置30を備えている。出力装置30は、CAN通信線2には接続されていない。出力装置30は、例えば、ECU10および監視ECU20と同一の車両に搭載された表示装置または音声出力装置である。あるいは、出力装置30は当該車両に搭載されていなくても良く、例えば汎用パーソナルコンピュータであっても良いし、車両の運転者等が携帯するPDAまたはスマートフォンなどの携帯端末であっても良い。
監視ECU20は、実施の形態1または実施の形態2で説明した機能に加えて、不正ECUの情報を出力装置30に送信する機能を有する。すなわち、監視ECU20のCAN監視アプリケーション22は、第1CANメッセージを不正と判定すると、出力装置30にその旨の通知を行う通知部として機能する。ここで、不正ECUの情報は、不正ECUIDを含み、不正CANIDを含んでも良い。不正ECUの情報を監視ECU20から受信した出力装置30は、車両の運転者等にその旨の通知を表示または音声出力によって行う。その一例として、表示機能を有する出力装置30は、「不正なCANメッセージの通信が確認されました。ディーラーで診断を受けてください。」などのエラーメッセージを表示しても良い。
実施の形態3のCANシステム103における監視ECU20は、CAN通信線に接続されていない出力装置30と接続され、照合部が第1CANメッセージを不正と判定すると、出力装置にその旨の通知を行う通知部を備える。従って、車両の運転者等のユーザに対してECU10が不正であることを通知し対処を促すことができる。
<D.実施の形態4>
図15は、実施の形態4のCANシステム104の構成図である。CANシステム104は、実施の形態1のCANシステム101から監視ECU20を削除し、ECU10A-10Dに代えてECU10AA-10ADを設けたものである。ECU10AA-10ADの構成は同様であるため、図15ではECU10AAの構成のみを示している。ECU10AAは、実施の形態1のECU10Aの構成に加えて、実施の形態1の監視ECU20のCAN監視アプリケーション22およびCAN DB23を備えている。
図15は、実施の形態4のCANシステム104の構成図である。CANシステム104は、実施の形態1のCANシステム101から監視ECU20を削除し、ECU10A-10Dに代えてECU10AA-10ADを設けたものである。ECU10AA-10ADの構成は同様であるため、図15ではECU10AAの構成のみを示している。ECU10AAは、実施の形態1のECU10Aの構成に加えて、実施の形態1の監視ECU20のCAN監視アプリケーション22およびCAN DB23を備えている。
ECU10AAにおいて、蓄積アプリケーション13は、一定期間に亘り、CANドライバ12から他のECUに送信される第1CANメッセージのCANIDをメモリ14に蓄積する。そして、CAN監視アプリケーション22は、メモリ14に蓄積されたCANIDを、CAN DB23に格納された正当CANIDと比較照合し、一致しなければ、当該CANIDに係る第1CANメッセージは不正に送信されたCANメッセージであって、ECU10AAは改竄されたおそれのある不正ECUであると判断する。そして、CANアプリケーション11は、CANドライバにCANメッセージの送信を禁止する。
実施の形態4のCANシステム104によれば、CANIDの蓄積、CANIDの照合による正当性の判定、およびCANメッセージの送信制限が、すべて各ECU10AA-10AD内で行われるため、別途の監視ECU20を設ける必要がない。従って、上記の処理を行うために第2CANメッセージまたは第3CANメッセージの通信を行う必要がなく、CAN通信量を削減する効果がある。
<E.ハードウェア構成>
上述したCANシステム101-104における、ECU10または監視ECU20は、図16に示すプロセッサ81とメモリ82により実現される。具体的には、ECU10におけるCANアプリケーション11、CANドライバ12および蓄積アプリケーション13の機能と、監視ECU20におけるCANドライバ21およびCAN監視アプリケーション22の機能は、プロセッサ81がメモリ82に格納されたプログラムを実行することにより実現される。プロセッサ81は、例えば中央処理装置、処理装置、演算装置、マイクロプロセッサ、マイクロコンピュータ、DSP(Digital Signal Processor)等である。また、ECU10において第1CANメッセージのCANIDが蓄積されるメモリ14と、監視ECU20におけるCAN DB23は、メモリ82により実現されるが、それらは単一のメモリ82から構成されてもよいし、それぞれが個別のメモリから構成されてもよい。メモリ82には、例えば、RAM(Random Access Memory)、ROM(Read Only Memory)、フラッシュメモリ、EPROM(Erasable Programmable Read Only Memory)、EEPROM(Electrically Erasable Programmable Read Only Memory)などの、不揮発性または揮発性の半導体メモリ等が用いられる。
上述したCANシステム101-104における、ECU10または監視ECU20は、図16に示すプロセッサ81とメモリ82により実現される。具体的には、ECU10におけるCANアプリケーション11、CANドライバ12および蓄積アプリケーション13の機能と、監視ECU20におけるCANドライバ21およびCAN監視アプリケーション22の機能は、プロセッサ81がメモリ82に格納されたプログラムを実行することにより実現される。プロセッサ81は、例えば中央処理装置、処理装置、演算装置、マイクロプロセッサ、マイクロコンピュータ、DSP(Digital Signal Processor)等である。また、ECU10において第1CANメッセージのCANIDが蓄積されるメモリ14と、監視ECU20におけるCAN DB23は、メモリ82により実現されるが、それらは単一のメモリ82から構成されてもよいし、それぞれが個別のメモリから構成されてもよい。メモリ82には、例えば、RAM(Random Access Memory)、ROM(Read Only Memory)、フラッシュメモリ、EPROM(Erasable Programmable Read Only Memory)、EEPROM(Electrically Erasable Programmable Read Only Memory)などの、不揮発性または揮発性の半導体メモリ等が用いられる。
なお、本発明は、その発明の範囲内において、各実施の形態を自由に組み合わせたり、各実施の形態を適宜、変形、省略したりすることが可能である。この発明は詳細に説明されたが、上記した説明は、すべての態様において、例示であって、この発明がそれに限定されるものではない。例示されていない無数の変形例が、この発明の範囲から外れることなく想定され得るものと解される。
2 CAN通信線、10A,10B,10C,10D ECU、11 CANアプリケーション、12 CANドライバ、13 蓄積アプリケーション、14 メモリ、20 監視ECU、21 CANドライバ、22 CAN監視アプリケーション、23 CANデータベース、30 出力装置、81 プロセッサ、82 メモリ、101,102,103,104 CANシステム。
Claims (9)
- CAN通信線に接続された複数のECUのうちの、一つのECUであって、
他の前記ECUに第1CANメッセージを送信する送信部と、
前記送信部が送信した複数の前記第1CANメッセージのCANIDを送信CANIDとして蓄積する蓄積部と、を備える、
ECU。 - 請求項1に記載のECUと共に前記CAN通信線に接続された監視ECUであって、
各前記ECUに対して予め定められたCANIDである正当CANIDを、各前記ECUのECUIDと紐づけて格納する格納部と、
各前記ECUから、前記蓄積部に蓄積された前記送信CANIDと各前記ECUのECUIDである送信元ECUIDとを含む第2CANメッセージを受信する受信部と、
前記送信CANIDを前記格納部において前記送信元ECUIDに紐づけられた前記正当CANIDと照合し、前記正当CANIDに一致しない前記送信CANIDが付された前記第1CANメッセージを不正と判定する照合部と、を備える、
監視ECU。 - 前記受信部は、前記第2CANメッセージを各前記ECUから一定周期で繰り返し取得し、
前記第2CANメッセージは、直近周期に各前記ECUから送信された複数の前記第1CANメッセージのCANIDを前記送信CANIDとして含む、
請求項2に記載の監視ECU。 - 前記CAN通信線に接続されていない出力装置と接続され、
前記照合部が前記第1CANメッセージを不正と判定すると、前記出力装置にその旨の通知を行う通知部をさらに備える、
請求項2に記載の監視ECU。 - 前記照合部が前記第1CANメッセージを不正と判定すると、第3CANメッセージを各前記ECUに送信する送信部をさらに備え、
前記第3CANメッセージは、不正と判定された前記第1CANメッセージのCANIDである不正CANIDを含む前記第2CANメッセージに含まれる前記ECUIDである不正ECUIDを含む、
請求項2に記載の監視ECU。 - 前記第3CANメッセージは、前記不正CANIDを含む、
請求項5に記載の監視ECU。 - 監視ECUから第3CANメッセージを受信する請求項1に記載のECUであって、
前記監視ECUは、
請求項1に記載のECUと共に前記CAN通信線に接続され、
各前記ECUに対して予め定められたCANIDである正当CANIDを、各前記ECUのECUIDと紐づけて格納する格納部と、
各前記ECUから、前記蓄積部に蓄積された前記送信CANIDと各前記ECUのECUIDである送信元ECUIDとを含む第2CANメッセージを受信する受信部と、
前記送信CANIDを前記格納部において前記送信元ECUIDに紐づけられた前記正当CANIDと照合し、前記正当CANIDに一致しない前記送信CANIDが付された前記第1CANメッセージを不正と判定する照合部と、
前記照合部が前記第1CANメッセージを不正と判定すると、前記第3CANメッセージを前記CAN通信線上に送信する送信部と、を備え、
前記第3CANメッセージは、不正と判定された前記第1CANメッセージのCANIDである不正CANIDを含む前記第2CANメッセージに含まれる前記ECUIDである不正ECUIDを含み、
前記第3CANメッセージに含まれる前記不正ECUIDが自己のECUIDと一致する場合に、前記第1CANメッセージの送信を禁止する、
ECU。 - 請求項7に記載のECUであって、
前記第3CANメッセージは、前記不正ECUIDと、不正と判定された前記第1CANメッセージのCANIDである不正CANIDとを含み、
前記第3CANメッセージに含まれる前記不正ECUIDが自己のECUIDと一致する場合に、前記不正CANIDが付与された前記第1CANメッセージの送信を禁止する、
ECU。 - 請求項2から請求項6のいずれか1項に記載の監視ECUと、
複数の前記ECUとを備える、
CANシステム。
Priority Applications (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2020561988A JP6833143B2 (ja) | 2018-12-25 | 2018-12-25 | Ecu、監視ecuおよびcanシステム |
PCT/JP2018/047504 WO2020136707A1 (ja) | 2018-12-25 | 2018-12-25 | Ecu、監視ecuおよびcanシステム |
US17/282,083 US12024184B2 (en) | 2018-12-25 | 2018-12-25 | ECU, monitoring ECU, and CAN system |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
PCT/JP2018/047504 WO2020136707A1 (ja) | 2018-12-25 | 2018-12-25 | Ecu、監視ecuおよびcanシステム |
Publications (1)
Publication Number | Publication Date |
---|---|
WO2020136707A1 true WO2020136707A1 (ja) | 2020-07-02 |
Family
ID=71129266
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
PCT/JP2018/047504 WO2020136707A1 (ja) | 2018-12-25 | 2018-12-25 | Ecu、監視ecuおよびcanシステム |
Country Status (3)
Country | Link |
---|---|
US (1) | US12024184B2 (ja) |
JP (1) | JP6833143B2 (ja) |
WO (1) | WO2020136707A1 (ja) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2023223480A1 (ja) * | 2022-05-18 | 2023-11-23 | 日本電信電話株式会社 | 攻撃元特定システム、攻撃元特定装置、攻撃元特定方法及びプログラム |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2015145976A1 (ja) * | 2014-03-28 | 2015-10-01 | 日本電気株式会社 | 通信システム、制御指示装置、制御実施装置、通信制御方法およびプログラムを記憶する記憶媒体 |
JP2017028567A (ja) * | 2015-07-24 | 2017-02-02 | 富士通株式会社 | 通信中継装置、通信ネットワーク、通信中継プログラム及び通信中継方法 |
Family Cites Families (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2007096799A (ja) | 2005-09-29 | 2007-04-12 | Fujitsu Ten Ltd | 車載用電子制御ネットワークの監視装置 |
WO2013171829A1 (ja) | 2012-05-14 | 2013-11-21 | トヨタ自動車 株式会社 | 車両用ネットワークの通信管理装置及び通信管理方法 |
RU2659489C1 (ru) | 2014-06-16 | 2018-07-02 | Рикох Компани, Лтд. | Сетевая система, способ управления связью и носитель данных |
JP6620696B2 (ja) * | 2016-07-27 | 2019-12-18 | 株式会社デンソー | 電子制御装置 |
-
2018
- 2018-12-25 US US17/282,083 patent/US12024184B2/en active Active
- 2018-12-25 WO PCT/JP2018/047504 patent/WO2020136707A1/ja active Application Filing
- 2018-12-25 JP JP2020561988A patent/JP6833143B2/ja not_active Expired - Fee Related
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2015145976A1 (ja) * | 2014-03-28 | 2015-10-01 | 日本電気株式会社 | 通信システム、制御指示装置、制御実施装置、通信制御方法およびプログラムを記憶する記憶媒体 |
JP2017028567A (ja) * | 2015-07-24 | 2017-02-02 | 富士通株式会社 | 通信中継装置、通信ネットワーク、通信中継プログラム及び通信中継方法 |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2023223480A1 (ja) * | 2022-05-18 | 2023-11-23 | 日本電信電話株式会社 | 攻撃元特定システム、攻撃元特定装置、攻撃元特定方法及びプログラム |
Also Published As
Publication number | Publication date |
---|---|
US20210370961A1 (en) | 2021-12-02 |
JPWO2020136707A1 (ja) | 2021-03-11 |
JP6833143B2 (ja) | 2021-02-24 |
US12024184B2 (en) | 2024-07-02 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US10609049B2 (en) | Method for sensing fraudulent frames transmitted to in-vehicle network | |
JP6928051B2 (ja) | ゲートウェイ装置、車載ネットワークシステム及び通信方法 | |
JP5641244B2 (ja) | 車両用ネットワークシステム及び車両用情報処理方法 | |
WO2016080422A1 (ja) | 通信制御装置及び通信システム | |
CN111066303A (zh) | 与机动车辆驾驶员辅助系统相关的方法 | |
CN108780392B (zh) | 程序更新系统、配送装置以及程序更新方法 | |
US20160357159A1 (en) | Method for Determining a Master Time Signal, Vehicle, and System | |
KR20180137306A (ko) | Can 통신 기반 해킹공격 탐지 방법 및 시스템 | |
WO2020136707A1 (ja) | Ecu、監視ecuおよびcanシステム | |
WO2016080417A1 (ja) | CAN(Controller Area Network)通信システム及びエラー情報記録装置 | |
JP7042415B2 (ja) | 車載通信システム、判定装置、判定方法及びコンピュータプログラム | |
CN108632242B (zh) | 通信装置及接收装置 | |
KR102462736B1 (ko) | 센서의 측정값들에 서명하기 위한 방법, 장치 및 명령어들을 포함하는 컴퓨터 판독 가능 저장 매체 | |
WO2019207764A1 (ja) | 抽出装置、抽出方法および記録媒体、並びに、検知装置 | |
JP2020092318A (ja) | 中継装置、中継方法及びコンピュータプログラム | |
JP7100558B2 (ja) | 自動車用電子制御装置 | |
WO2018037894A1 (ja) | 車両用認証装置 | |
JP2020096320A (ja) | 不正信号処理装置 | |
JP2019126007A (ja) | 電子機器、メッセージ送信方法およびプログラム | |
JP2021034850A (ja) | 情報処理装置、情報処理システム及びプログラム | |
JP2020005113A (ja) | 通信監視装置 | |
WO2024116619A1 (ja) | 管理装置、車載装置、管理方法および管理プログラム | |
JP2024082384A (ja) | サーバ | |
JP7025200B2 (ja) | プログラム制御装置、プログラム制御システムおよびプログラム制御方法 | |
JP2008172709A (ja) | 車載通信装置、車載通信システム及び車載通信方法 |
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: 18944604 Country of ref document: EP Kind code of ref document: A1 |
|
WWE | Wipo information: entry into national phase |
Ref document number: 2020561988 Country of ref document: JP |
|
NENP | Non-entry into the national phase |
Ref country code: DE |
|
122 | Ep: pct application non-entry in european phase |
Ref document number: 18944604 Country of ref document: EP Kind code of ref document: A1 |