WO2018008452A1 - Method for inhibiting unauthorized control, device for inhibiting unauthorized control, and vehicle-mounted network system - Google Patents

Method for inhibiting unauthorized control, device for inhibiting unauthorized control, and vehicle-mounted network system Download PDF

Info

Publication number
WO2018008452A1
WO2018008452A1 PCT/JP2017/023470 JP2017023470W WO2018008452A1 WO 2018008452 A1 WO2018008452 A1 WO 2018008452A1 JP 2017023470 W JP2017023470 W JP 2017023470W WO 2018008452 A1 WO2018008452 A1 WO 2018008452A1
Authority
WO
WIPO (PCT)
Prior art keywords
control
frame
state
vehicle
predetermined
Prior art date
Application number
PCT/JP2017/023470
Other languages
French (fr)
Japanese (ja)
Inventor
剛 岸川
前田 学
若林 徹
中野 稔久
松島 秀樹
Original Assignee
パナソニック インテレクチュアル プロパティ コーポレーション オブ アメリカ
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Priority claimed from JP2017080059A external-priority patent/JP6280662B2/en
Application filed by パナソニック インテレクチュアル プロパティ コーポレーション オブ アメリカ filed Critical パナソニック インテレクチュアル プロパティ コーポレーション オブ アメリカ
Priority to CN202110840937.XA priority Critical patent/CN113556271B/en
Priority to CN201780003700.8A priority patent/CN108353014B/en
Priority to EP17824058.6A priority patent/EP3484106B1/en
Priority to EP21166733.2A priority patent/EP3866407B1/en
Publication of WO2018008452A1 publication Critical patent/WO2018008452A1/en
Priority to US16/031,079 priority patent/US10834083B2/en
Priority to US17/039,107 priority patent/US11425128B2/en

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/10Network architectures or network communication protocols for network security for controlling access to devices or network resources
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B60VEHICLES IN GENERAL
    • B60RVEHICLES, VEHICLE FITTINGS, OR VEHICLE PARTS, NOT OTHERWISE PROVIDED FOR
    • B60R16/00Electric 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/02Electric 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/023Electric 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/0231Circuits relating to the driving or the functioning of the vehicle
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L12/00Data switching networks
    • H04L12/28Data switching networks characterised by path configuration, e.g. LAN [Local Area Networks] or WAN [Wide Area Networks]
    • H04L12/40Bus networks
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L12/00Data switching networks
    • H04L12/28Data switching networks characterised by path configuration, e.g. LAN [Local Area Networks] or WAN [Wide Area Networks]
    • H04L12/40Bus networks
    • H04L12/40052High-speed IEEE 1394 serial bus
    • H04L12/40104Security; Encryption; Content protection
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/14Network architectures or network communication protocols for network security for detecting or protecting against malicious traffic
    • H04L63/1408Network architectures or network communication protocols for network security for detecting or protecting against malicious traffic by monitoring network traffic
    • H04L63/1425Traffic logging, e.g. anomaly detection
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L12/00Data switching networks
    • H04L12/28Data switching networks characterised by path configuration, e.g. LAN [Local Area Networks] or WAN [Wide Area Networks]
    • H04L12/40Bus networks
    • H04L2012/40208Bus networks characterized by the use of a particular bus standard
    • H04L2012/40215Controller Area Network CAN
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L12/00Data switching networks
    • H04L12/28Data switching networks characterised by path configuration, e.g. LAN [Local Area Networks] or WAN [Wide Area Networks]
    • H04L12/40Bus networks
    • H04L2012/40267Bus for use in transportation systems
    • H04L2012/40273Bus for use in transportation systems the transportation system being a vehicle
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/12Protocols specially adapted for proprietary or special-purpose networking environments, e.g. medical networks, sensor networks, networks in vehicles or remote metering networks
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/12Protocols specially adapted for proprietary or special-purpose networking environments, e.g. medical networks, sensor networks, networks in vehicles or remote metering networks
    • H04L67/125Protocols specially adapted for proprietary or special-purpose networking environments, e.g. medical networks, sensor networks, networks in vehicles or remote metering networks involving control of end-device applications over a network

Definitions

  • This disclosure relates to a security countermeasure technique that prevents an unauthorized message from being sent to a network to control a vehicle or the like illegally.
  • ECUs electronice control units
  • in-vehicle network A network connecting these ECUs.
  • CAN Controller Area Network
  • the communication path is a bus composed of two wires, and the ECU connected to the bus is called a node.
  • Each node connected to the bus transmits and receives a message called a frame.
  • a transmission node that transmits a frame applies a voltage to two wires and generates a potential difference between the wires, thereby transmitting a value of “1” called recessive and a value of “0” called dominant.
  • the dominant is transmitted with priority.
  • the receiving node transmits a frame called an error frame.
  • An error frame is a notification of frame abnormality to a transmitting node and other receiving nodes by transmitting dominants continuously for 6 bits.
  • the transmission node transmits an ID for each frame, and each reception node receives only a frame with a predetermined ID.
  • a CSMA / CA Carrier Sense Multiple Access / Collision Avoidance
  • arbitration by ID is performed during simultaneous transmission of a plurality of nodes, and a frame having a small ID value is preferentially transmitted.
  • Patent Document 1 when a difference between a reception interval measured for a frame transmitted to a CAN bus and a predetermined communication interval deviates from a specified range, it is determined that the frame is illegal. A method for preventing control by an illegal frame is described. Patent Document 2 describes a method for preventing control by an unauthorized frame by discarding each frame when two or more frames having the same identifier are received within a specified communication interval. Yes.
  • Patent Document 1 cannot prevent unauthorized control by an unauthorized frame that does not deviate from the specified communication interval. Further, the method of Patent Document 2 discards both an illegal frame and a normal frame having the same identifier included in a defined communication interval, and is not appropriate from the viewpoint of vehicle control stability. . In addition, this method cannot cope with an illegal frame having the same identifier as a normal frame transmitted irregularly.
  • the present disclosure provides a fraud control deterrence method that can deter fraud control due to a fraud frame flowing in a network appropriately.
  • the present disclosure also provides an unauthorized control suppression device and an in-vehicle network system that can appropriately suppress unauthorized control by an unauthorized frame.
  • an unauthorized control suppression method includes a plurality of electronic controls that perform transmission and reception of a plurality of frames including a control frame instructing a control target to perform predetermined control via a communication path.
  • a method for inhibiting unauthorized control in a network system including a unit comprising: a reception step of sequentially receiving a plurality of frames from the communication path; and whether or not the predetermined control based on the control frame received in the reception step should be suppressed. And a determination step of determining based on a set of frames received in the reception step within a predetermined period preceding the reception of the control frame.
  • an unauthorized control suppression device communicates transmission / reception of a plurality of frames including a control frame in which a plurality of electronic control units instructs predetermined control with respect to a control target.
  • An unauthorized control suppression apparatus connected to a communication path performed via a path, the receiving section receiving sequentially a plurality of frames from the communication path, and the predetermined based on the control frame received by the receiving section
  • a fraud control inhibiting apparatus comprising: a determination unit that determines whether control should be inhibited based on a set of frames received by the receiving unit within a predetermined period preceding reception of the control frame.
  • an in-vehicle network system includes a state frame that is a frame that includes information related to a vehicle state, and a control that is a frame that instructs the vehicle to perform predetermined control.
  • An in-vehicle network system including a plurality of electronic control units that exchange frames via a network bus, the receiving unit sequentially receiving a status frame and a control frame from the network bus, and a control frame received by the receiving unit Whether or not to suppress the predetermined control based on the control frame is determined based on a set of state frames received by the receiving unit within a predetermined period preceding the reception of the control frame. And a determination unit that determines based on whether the state satisfies a predetermined criterion.
  • a mounting network system includes a network system that is a frame that includes information related to a vehicle state, and a control that is a frame that instructs the vehicle to perform predetermined control.
  • unauthorized control due to an unauthorized frame flowing in the network can be appropriately suppressed.
  • FIG. 1 is a diagram illustrating an overall configuration of an in-vehicle network system according to Embodiment 1.
  • FIG. It is a figure which shows the format of the data frame prescribed
  • 2 is a configuration diagram of a monitoring ECU according to Embodiment 1.
  • FIG. It is a figure which shows an example of the flame
  • FIG. 6 is a configuration diagram of a monitoring ECU according to a second embodiment.
  • FIG. 6 is a flowchart illustrating an example of a monitoring operation performed by a monitoring ECU according to the second embodiment. It is a figure which shows the whole structure of the vehicle-mounted network system which concerns on Embodiment 3.
  • FIG. 6 is a flowchart illustrating an example of a monitoring operation performed by a monitoring ECU according to the second embodiment. It is a figure which shows the whole structure of the vehicle-mounted network system which concerns on Embodiment 3.
  • FIG. 6 is a configuration diagram of a monitoring ECU according to a third embodiment. It is a figure which shows an example of the flame
  • FIG. 11 is a diagram illustrating a sequence of an attack on a cruise control function and unauthorized control inhibition in the third embodiment. 10 is a flowchart illustrating an example of a monitoring operation performed by a monitoring ECU according to Embodiment 3. It is a figure which shows an example of a structure of the unauthorized control suppression apparatus which concerns on other embodiment.
  • An unauthorized control suppression method includes an unauthorized control in a network system including a plurality of electronic control units that perform transmission / reception of a plurality of frames including a control frame instructing a control target with predetermined control via a communication path
  • a control suppression method wherein a reception step of sequentially receiving a plurality of frames from the communication path, and whether or not the predetermined control based on the control frame received in the reception step should be suppressed are determined when the control frame is received.
  • the plurality of frames include a state frame including information on the state of the control target.
  • whether or not the predetermined control based on the control frame received in the reception step should be suppressed is determined. Whether the state of the control target in the predetermined period specified based on the set of state frames received in the reception step within the predetermined period preceding the reception of the control frame satisfies a predetermined criterion. It is good also as judging based on. For example, a predetermined standard is set so as to capture a camouflaged state of a control target such as a vehicle. As a result, when an attacker sends an unauthorized control frame for controlling the controlled object after making preparations for impersonating the controlled object state, it is appropriate that the control by the unauthorized control frame should be suppressed It may be possible to make a determination.
  • the determination step when an abnormal state frame is included in the set of state frames received in the reception step within the predetermined period, the state of the control target is specified as a camouflaged state, When the abnormal state frame is not included, the state of the control target is specified as not being a camouflaged state, and the predetermined criterion is satisfied when the specified state of the control target is a camouflaged state, and the control It is not satisfied when the target state is not a camouflaged state, and the determination step may determine that the predetermined control should be suppressed when the predetermined criterion is satisfied.
  • the abnormal state frame is, for example, a state frame including data indicating a value different from a value that can be normally taken.
  • information on the same item used for execution of the predetermined control received in a set of state frames received in the reception step within the predetermined period at a reception interval shorter than a predetermined threshold. May be specified as an impersonated state on the assumption that an abnormal state frame is included in the set.
  • the camouflaged state by appropriately setting the predetermined threshold in consideration of the margin of the transmission interval of the predetermined state frame.
  • the predetermined control is a vehicle steering control
  • a plurality of status frames indicating a target steering angle used for executing the steering control are received at a reception interval shorter than a predetermined threshold based on the margin, etc.
  • the state of the control target such as a vehicle can be specified as the camouflaged state. For this reason, it is possible to appropriately prevent unauthorized predetermined control.
  • the set of status frames received in the receiving step within the predetermined period includes more than a predetermined number of status frames indicating information on the same item used for executing the predetermined control.
  • the state of the control target may be specified as a camouflaged state on the assumption that an abnormal state frame is included in the set. This makes it possible to appropriately identify a camouflaged state in which the state frame is transmitted redundantly.
  • two state frames indicating information of the same item used for execution of the predetermined control are included in a set of the state frames received in the reception step within the predetermined period.
  • the abnormal state frame is included in the set, and the state of the control target may be specified as a camouflaged state. good.
  • the state frame having a value representing the true state of the control target and the state frame representing a false state different from the true state transmitted by the attacker are mixed, information indicated by the state frame Since the value of can vary more than a predetermined amount, such a camouflaged state can be appropriately specified.
  • a set of status frames received in the reception step within the predetermined period includes a plurality of status frames indicating information on the same item used for execution of the predetermined control. If the value of the information indicated by the plurality of state frames arranged in the order in which they are arranged does not conform to a predetermined rule, the control target state is identified as a camouflaged state, assuming that an abnormal state frame is included in the set It is also good to do. Thereby, for example, when a predetermined rule that the first state and the second state are passed in this order before the state of the vehicle changes to the third state, the vehicle state is the first state. When the status frame indicating the third status is received after the status frame indicating the status, the camouflaged status is identified. For this reason, for example, by appropriately setting a predetermined rule corresponding to the specification of the vehicle or the like as the control target, it becomes possible to appropriately specify the camouflaged state.
  • the predetermined criterion is satisfied when the state of the control target in the predetermined period is not a stable state and is not satisfied when the state is a stable state, and the stable state is a specific state indicating the state of the control target
  • the data value of the frame is in a certain value or within a certain range
  • the determination related to the predetermined control based on the control frame is performed immediately before the reception at the reception of the control frame.
  • the predetermined criterion is satisfied in the determination step In this case, it may be determined that the predetermined control should be suppressed.
  • the attacker sends a status frame that impersonates the state of the controlled object before sending an unauthorized control frame, and the controlled object is out of the stable state, the unauthorized control It may be possible to appropriately determine that the control by the frame should be suppressed.
  • the predetermined criterion is satisfied when the state of the control target in the predetermined period is a change frequent state that changes more than a predetermined number of times, and is not satisfied when the state is not a frequent change state.
  • the predetermined control should be inhibited when a predetermined criterion is satisfied.
  • This change is, for example, a change that exceeds a certain amount when the state is represented quantitatively, or a change that changes the division when the state is divided into a plurality of categories.
  • the unauthorized control suppression method further includes a processing step of executing a predetermined process for suppressing the predetermined control when it is determined in the determination step that the predetermined control based on a control frame should be suppressed.
  • the predetermined process includes a process of discarding the control frame, a process of overwriting the control frame on the communication path, a process of suppressing transfer of the control frame to another communication path, and the control to the electronic control unit. Any one of the processes instructing not to execute the predetermined control based on the frame may be included. Thereby, the predetermined control based on the unauthorized control frame transmitted to the attacker can be appropriately suppressed.
  • the control target is a vehicle equipped with the network system
  • the communication path is a wired communication path in the vehicle
  • the plurality of electronic control units are in accordance with a CAN protocol or an Ethernet (registered trademark) protocol.
  • the plurality of frames may be exchanged. As a result, security of the in-vehicle network can be ensured.
  • the predetermined control may be control related to traveling of the vehicle.
  • any of vehicle speed, wheel rotation speed, yaw rate, acceleration, steering angle, accelerator pedal opening, braking level, engine rotation speed, motor rotation speed, gear position, and ignition switch state It is good also as receiving sequentially the status frame which is a flame
  • the plurality of frames include a state frame including information on the state of the control target, and the plurality of electronic control units are connected to a network bus as the communication path, and are data frames according to a CAN protocol.
  • the illegal control suppression method overwrites at least a part of the control frame.
  • a processing step of transmitting an error frame to the network bus may be included.
  • the control frame can be effectively invalidated in the in-vehicle network.
  • a plurality of electronic control units perform transmission / reception of a plurality of frames including a control frame instructing predetermined control with respect to a control target via a communication path.
  • a fraud control suppression apparatus connected to the communication path, wherein a reception unit that sequentially receives a plurality of frames from the communication path, and whether or not the predetermined control based on the control frame received by the reception unit should be suppressed
  • a fraud control inhibiting device comprising a determination unit that determines a frame based on a set of frames received by the reception unit within a predetermined period preceding the reception of the control frame.
  • the unauthorized control suppression device can be used simply by connecting to a communication path of a network system composed of a plurality of electronic control units, it can be introduced without greatly changing the configuration of the network system.
  • an in-vehicle network system uses a network bus to transmit and receive a state frame that is a frame that includes information on the state of the vehicle, and a control frame that is a frame that instructs the vehicle to perform predetermined control.
  • An in-vehicle network system comprising a plurality of electronic control units via a receiver, which sequentially receives a status frame and a control frame from the network bus, and inhibits the predetermined control based on the control frame received by the receiver Whether or not to be determined is determined based on a set of state frames received by the receiving unit within a predetermined period preceding the reception of the control frame, and the state of the vehicle in the predetermined period satisfies a predetermined criterion
  • In-vehicle network system comprising a determination unit for determining whether or not A.
  • an in-vehicle network system 10 including a monitoring ECU that monitors a frame flowing in an in-vehicle network will be described with reference to the drawings.
  • FIG. 1 is a diagram illustrating an overall configuration of an in-vehicle network system 10 according to the first embodiment.
  • the in-vehicle network system 10 is an example of a network communication system that performs communication according to the CAN protocol, and is a network communication system in a vehicle on which various devices such as a control device, a sensor, an actuator, and a user interface device are mounted.
  • the in-vehicle network system 10 includes a plurality of devices that perform communication related to a frame via a bus, and uses an unauthorized control suppression method.
  • the in-vehicle network system 10 includes a bus 300 and a monitoring ECU 100, ECUs 200a to 200d, and the like connected to the bus 300.
  • the in-vehicle network system 10 may include a number of ECUs in addition to the monitoring ECU 100 and the ECUs 200a to 200d. Here, for the sake of convenience, the description will be given focusing on the monitoring ECU 100 and the ECUs 200a to 200d.
  • a plurality of ECUs communicate and cooperate to realize, for example, a parking assistance function that is a function of an advanced driver assistance system (ADAS: Advanced Driver Assistance System).
  • ADAS Advanced Driver Assistance System
  • Each ECU is a device including, for example, a processor (microprocessor), a digital circuit such as a memory, an analog circuit, a communication circuit, and the like.
  • the memory is a ROM, a RAM, or the like, and can store a program (computer program) executed by the processor.
  • the computer program is configured by combining a plurality of instruction codes indicating instructions for the processor in order to achieve a predetermined function.
  • the ECU can be connected to various devices.
  • the ECU 200a is connected to the speed sensor 210.
  • the ECU 200b is connected to a rear camera 220 that is a camera that captures the rear of the vehicle and a monitor 230 that is a touch panel that displays an image, a GUI (Graphical User Interface) image, and the like and receives an operation.
  • the ECU 200c is connected to a handle (steering wheel) 240.
  • the ECU 200d is connected to a gear 250 that is a speed change mechanism.
  • Each ECU exchanges frames via the bus 300 according to the CAN protocol.
  • Frames exchanged between ECUs include, for example, a data frame (referred to as a state frame) that includes information related to the state of the vehicle, a data frame (referred to as a control frame) that instructs the vehicle to perform control, and the like.
  • a data frame including a state relating to the state of the vehicle and instructing the vehicle to be controlled, that is, a data frame that is a state frame and is a control frame may be exchanged between the ECUs.
  • the ECU 200a periodically includes the data on the vehicle speed (that is, the vehicle speed) obtained from the speed sensor 210 in a data frame and transmits the data to the bus 300.
  • the ECU 200b displays the rear image of the vehicle acquired from the rear camera 220 on the monitor 230 to notify the driver of the vehicle of the rear state.
  • the ECU 200b accepts a start request for a parking assist function from the driver by a touch operation on the monitor 230 or the like.
  • the parking assist function is a function of automatically operating the steering wheel toward the parking space designated by the driver behind the vehicle.
  • the gear 250 is set to “reverse”, which is the gear position for the backward movement of the vehicle, and the operation for requesting the start of the parking support function is performed, the driver moves the vehicle backward and parks only by operating the accelerator and the brake. You can park in the space.
  • the ECU 200b receives a start request for the parking assist function from the driver, the ECU 200b calculates a target steering angle related to an angle at which the steering wheel should be turned from information of the rear camera 220, and displays a control flag and a target in a data frame indicating a steering control instruction. The data indicating the steering angle is periodically transmitted to the bus 300.
  • the control flag of the data frame indicating the handle control instruction indicates that control is performed with a value of 1, and indicates that control is not performed with a value of 0. If the control flag has a value of 1, the data frame indicating the handle control instruction is a control frame.
  • the ECU 200c changes the traveling direction of the vehicle by controlling the handle 240 according to the control frame of the handle control instruction transmitted from the ECU 200b. Note that the ECU 200c controls the handle 240 when the vehicle speed notified from the ECU 200a is 10 km / h or less and the gear position of the gear 250 is confirmed to be “reverse”.
  • the ECU 200d periodically transmits data indicating the current gear position of the gear 250 to the bus 300 in a data frame.
  • the state frame indicating the vehicle speed and the state frame indicating the gear position are sequentially transmitted at a substantially constant cycle.
  • the monitoring ECU 100 is a kind of ECU as an unauthorized control suppression device, and is connected to the bus 300.
  • the monitoring ECU 100 monitors data frames such as a state frame and a control frame that flow through the bus 300, and invalidates the control frame when an unauthorized control frame that instructs vehicle control transmitted by an attacker's attack is detected. This prevents unauthorized vehicle control.
  • FIG. 2 is a diagram showing a data frame format defined by the CAN protocol.
  • a data frame in a standard ID format defined by the CAN protocol is shown.
  • the data frame includes an SOF (Start Of Frame), ID field, RTR (Remote Transmission Request), IDE (Identifier Extension), reserved bit “r”, DLC (Data Length Code), data field, CRC (Cyclic Redundancy Check) sequence.
  • SOF is composed of 1-bit dominant.
  • the idle state of the bus is recessive, and changing to dominant by SOF is a notification of frame transmission start.
  • the ID field is a field for storing an ID that is a value indicating the type of data, which is composed of 11 bits.
  • RTR is a value for identifying a data frame and a remote frame, and is composed of a dominant 1 bit in the data frame.
  • IDE and “r” are both composed of dominant 1 bit.
  • DLC is composed of 4 bits and is a value indicating the length of the data field.
  • the data field is a value indicating the content of data to be transmitted composed of a maximum of 64 bits.
  • the length of the data field can be adjusted every 8 bits.
  • the specification of the data to be sent is not defined by the CAN protocol, but is defined in the in-vehicle network system 10. Therefore, the specification depends on the vehicle type, manufacturer, and the like.
  • the CRC sequence consists of 15 bits.
  • the CRC sequence is calculated from the transmission values of the SOF, ID field, control field, and data field.
  • CRC delimiter is a delimiter representing the end of a CRC sequence composed of 1-bit recessive.
  • ACK slot consists of 1 bit.
  • the transmitting node performs transmission with the ACK slot being recessive.
  • the receiving node transmits an ACK slot as a dominant if reception is successful up to the CRC sequence. Since dominant is given priority over recessive, if the ACK slot is dominant after transmission, the transmitting node can confirm that any receiving node has received successfully.
  • ACK delimiter is a delimiter representing the end of ACK composed of 1-bit recessive.
  • EOF is composed of 7 bits recessive and indicates the end of the data frame.
  • FIG. 3 is a diagram illustrating an error frame format defined by the CAN protocol.
  • the error frame includes an error flag (primary), an error flag (secondary), and an error delimiter “DEL”.
  • the error flag (primary) is used to notify other nodes of the occurrence of an error.
  • a node that detects an error continuously transmits a 6-bit dominant to notify other nodes of the occurrence of the error. This transmission violates the bit stuffing rule in the CAN protocol (that is, a rule that does not continuously transmit the same value of 6 bits or more), and causes an error frame (secondary) to be transmitted from another node.
  • the error flag (secondary) is composed of a continuous 6-bit dominant used to notify other nodes of the occurrence of an error. All nodes that have received the error flag (primary) and detected a violation of the bit stuffing rule will transmit the error flag (secondary).
  • the error delimiter “DEL” is an 8-bit continuous recess and indicates the end of the error frame.
  • FIG. 4 is a configuration diagram of the monitoring ECU 100.
  • the monitoring ECU 100 includes a frame transmission / reception unit 110, a frame processing unit 120, a state camouflage detection unit 130, a function restriction unit 140, a frame generation unit 150, a reception history holding unit 160, a vehicle state holding unit 170, and a function. And a restriction rule holding unit 180.
  • Each component of the monitoring ECU 100 shown in FIG. 4 can be realized by a storage medium such as a memory of the monitoring ECU 100, a communication circuit, a processor that executes a program stored in the memory, or the like.
  • the frame transmission / reception unit 110 transmits / receives a frame according to the CAN protocol to / from the bus 300.
  • the frame transmission / reception unit 110 has a function as a reception unit that receives a frame from the bus 300 bit by bit.
  • the frame transmitting / receiving unit 110 receives the data frame and transfers information such as ID, DLC, and data in the data frame to the frame processing unit 120. If the frame transmission / reception unit 110 determines that the data frame does not conform to the CAN protocol, the frame transmission / reception unit 110 transmits an error frame. In addition, when the frame transmission / reception unit 110 receives an error frame during reception of a data frame, that is, when it interprets that the value in the received data frame is an error frame, the data frame is discarded thereafter. To do. When receiving a data frame transmission request from the frame generation unit 150, the frame transmission / reception unit 110 transmits the contents of the data frame to the bus 300 one bit at a time.
  • the frame processing unit 120 receives data frame information from the frame transmitting / receiving unit 110 and interprets the contents of the data frame. Further, the frame processing unit 120 notifies the status impersonation detection unit 130 and the function restriction unit 140 of the data frame being received.
  • the state camouflage detection unit 130 performs a camouflage detection process that determines whether or not the vehicle state is camouflaged with reference to the reception history information held by the reception history holding unit 160.
  • the reception history information is data frame reception history information.
  • the state impersonation detection unit 130 Based on the transmission interval of the data frame defined in advance for each ID, the state impersonation detection unit 130 includes a plurality of identical IDs within a margin range centered after the transmission interval from the previously received data frame. It is determined whether or not the state of the vehicle is camouflaged depending on whether or not the data frame is received.
  • the monitoring ECU 100 determines that the data frame of a certain ID “0x100”.
  • the number of data frames with ID “0x100” is expected to be one during the period T, which is the time from the time of receiving +50 ms ⁇ margin to the time of receiving the data frame + 50 ms + margin.
  • T the transmission interval of a data frame that is a state frame related to the vehicle speed of ID “0x100” periodically transmitted by the ECU 200a
  • T the transmission interval of a data frame that is a state frame related to the vehicle speed of ID “0x100” periodically transmitted by the ECU 200a.
  • the state camouflage detection unit 130 determines that the vehicle state is a camouflaged state in which the vehicle state is camouflaged with respect to the vehicle speed indicated by the state frame of ID “0x100”.
  • the monitoring ECU 100 receives the status frame that is the data frame of two IDs “0x100” in the period T, the status frame received by the monitoring ECU 100 includes an abnormal status frame. become.
  • the state of the vehicle indicated by the state frame having the same ID is determined by the state impersonation detection unit 130 to be in a forged state.
  • the state impersonation detection unit 130 holds information on a transmission interval that is defined in advance for each ID of a state frame for which determination of impersonation is to be performed.
  • the margin used by the state impersonation detection unit 130 is appropriately determined to allow fluctuations in the transmission interval of normally transmitted data frames, and is set to 3 ms, for example.
  • the state camouflage detection part 130 updates the vehicle state information stored in the vehicle state holding
  • the state impersonation detection unit 130 acquires the time when the state frame is received, for example, by a timer that counts the elapsed time from when the monitoring ECU 100 is started or from another predetermined time, and receives the reception history. Record in information.
  • the function restriction unit 140 receives the control frame for controlling the vehicle, the vehicle state information stored in the vehicle state holding unit 170, and the vehicle control stored in the function restriction rule holding unit 180. It is determined whether or not the control of the vehicle should be suppressed with reference to the function restriction rule that is a criterion for determining whether or not the vehicle should be suppressed. When it is determined that the control of the vehicle should be suppressed, the function restriction unit 140 sends an error frame to the frame generation unit 150 in order to invalidate the control frame being received for the control of the vehicle. Request. With this error frame, the control frame being received is overwritten on the bus 300, and the control frame is invalidated. Due to the effect of overwriting by the error frame, the ECU such as the ECU 200c cannot completely receive the entire control frame from the bus 300, and therefore does not perform control according to the control frame.
  • the frame generation unit 150 causes the frame transmission / reception unit 110 to transmit the frame when transmission of the frame is requested.
  • the frame generation unit 150 generates a data frame when transmission of a data frame is requested, and causes the frame transmission / reception unit 110 to transmit the data frame.
  • the reception history holding unit 160 holds a reception history of data frames received by the monitoring ECU 100.
  • the reception history holding unit 160 holds, for example, reception history information (see FIG. 5) indicating a data value related to a state frame received within the latest 100 ms and a reception time.
  • the vehicle state holding unit 170 holds vehicle state information (see FIG. 6) indicating the vehicle state determined in the camouflage detection process by the state camouflage detection unit 130.
  • the function restriction rule holding unit 180 holds a function restriction rule (see FIG. 7), which is a criterion for determining whether or not control by the control frame being received should be suppressed.
  • FIG. 5 shows an example of reception history information held by the reception history holding unit 160.
  • the reception history information includes the reception time and data value of the status frame indicating the vehicle speed of ID “0x100” and the status frame indicating the gear position of ID “0x300” received within the last 100 ms. including.
  • the data value at the latest reception is 42.1 km / h and the reception time is 110 ms.
  • the data value of the vehicle speed state frame is 0.0 km / h, and the reception time is 61 ms.
  • the data value of the vehicle speed state frame is 42.0 km / h, and the reception time is 60 ms.
  • the data value of the vehicle speed state frame is 42.0 km / h, and the reception time is 10 ms.
  • the data value at the time of the latest reception indicates “drive” which is the gear position for forward movement of the vehicle, and the reception time is 100 ms.
  • the data value indicates “drive”, and the reception time is 50 ms.
  • the status frame related to the gear position has not been received last time, or has been received before the last 100 ms and is not held.
  • FIG. 6 shows an example of vehicle state information held by the vehicle state holding unit 170.
  • the vehicle state information the state of the vehicle related to the state frame of ID “0x100” related to the vehicle speed and the state of the vehicle related to the state frame of ID “0x300” related to the gear position are impersonated. It is indicated by a flag.
  • the camouflage flag is 1, it indicates that the vehicle is in the camouflaged state, and if it is 0, it indicates that the vehicle is not in the camouflaged state.
  • the camouflaged state is, for example, a state in which a state frame indicating a false data value regarding the vehicle speed, gear position, etc.
  • the state of the vehicle related to the vehicle speed indicated by the state frame of ID “0x100” indicates that it is a camouflaged state. Further, it is indicated that the state of the vehicle related to the gear position indicated by the state frame of ID “0x300” is not a camouflaged state.
  • FIG. 7 shows an example of a function restriction rule held by the function restriction rule holding unit 180.
  • the function restriction rule is information indicating a criterion for determining whether or not the control of the vehicle should be suppressed.
  • the function restriction target that is information for specifying a control frame for controlling the vehicle and the reference vehicle
  • the state conditions are associated with each other.
  • the function restriction rule is composed of a plurality of items, but the number of items in the rule may be one or plural.
  • the restriction target function of rule number 1 is a data frame whose control flag is 1 (that is, a control frame related to the handle control instruction) included in the data frame with ID “0x200” related to the handle control instruction.
  • the condition of the vehicle state for inhibiting the control is that the vehicle state related to the state frame of ID “0x100” related to the vehicle speed is the camouflaged state (that is, the camouflage flag is 1).
  • the restriction target function of the rule number 2 is also a control frame related to the steering wheel control instruction, and the condition of the vehicle state for inhibiting the steering wheel control is related to the state frame of ID “0x300” related to the gear position.
  • the state of the vehicle to perform is a camouflaged state (that is, the camouflage flag is 1).
  • the function restriction unit 140 refers to the function restriction rule, and suppresses control of the vehicle by the control frame when the condition of the vehicle state corresponding to the function restriction target corresponding to the control frame being received is satisfied.
  • the frame generation unit 150 is requested to transmit an error frame to invalidate the control frame.
  • the function restriction unit 140 follows the ID “” in the vehicle state information held by the vehicle state holding unit 170 in accordance with the rule of the rule number 1 item in FIG.
  • the vehicle state related to the vehicle speed indicated by the state frame of “0x100” is a camouflaged state (that is, the camouflage flag is 1)
  • an error frame is sent to the frame generator 150 in order to invalidate the control frame. Request to send.
  • the function restriction unit 140 determines that the vehicle state related to the gear position indicated by the state frame with ID “0x300” in the vehicle state information is a camouflaged state (that is, the camouflage flag is 1). If so, an error frame transmission request is sent to the frame generation unit 150 in order to invalidate the control frame related to the handle control instruction.
  • the function restriction unit 140 transmits an error frame when the vehicle state related to the vehicle speed is not the camouflaged state and the vehicle state related to the gear position is not the camouflaged state. Do not make a request.
  • FIG. 8 is a configuration diagram of the ECU 200a.
  • the ECU 200a includes a frame transmission / reception unit 201, a frame processing unit 202, a device input / output unit 203, and a frame generation unit 204.
  • Each of these components is a functional component, and each function is realized by a communication circuit in the ECU 200a, a processor that executes a control program stored in a memory, a digital circuit, or the like.
  • the ECU 200b, the ECU 200c, and the ECU 200d have substantially the same configuration as the ECU 200a.
  • the frame transmission / reception unit 201 transmits / receives a frame according to the CAN protocol to / from the bus 300.
  • the frame transmitting / receiving unit 201 receives a data frame from the bus 300 one bit at a time, and when the reception of the data frame is completed without error, transfers information such as ID, DLC, and data in the data frame to the frame processing unit 202. If the frame transmission / reception unit 201 determines that the data frame does not conform to the CAN protocol, the frame transmission / reception unit 201 transmits an error frame. If the frame transmission / reception unit 201 receives an error frame while receiving a data frame, the frame transmission / reception unit 201 discards the data frame thereafter. The frame transmission / reception unit 201 transmits the contents of the frame received from the frame generation unit 204 to the bus 300. Processing in accordance with the CAN protocol such as communication arbitration is also realized in the frame transmission / reception unit 201.
  • the frame processing unit 202 interprets the contents of the received data frame.
  • the ECU 200c having the same configuration as the ECU 200a will be described as an example.
  • the frame processing unit 202 of the ECU 200c interprets information such as a vehicle speed, a steering wheel control instruction, and a gear position included in a data frame transmitted from the ECU 200a, the ECU 200b, and the ECU 200d.
  • Control information for controlling the handle 240 is notified to the device input / output unit 203 as necessary.
  • the steering wheel control instruction when the vehicle speed notified from the ECU 200a exceeds 10 km / h, or when the gear position notified from the ECU 200d is other than “reverse”, the steering wheel control instruction
  • the handle 240 is not controlled even when a control frame related to (i.e., a data frame having ID “0x200” and a control flag of 1) is received.
  • the equipment input / output unit 203 includes a communication circuit that communicates with equipment connected to the ECU.
  • the device input / output unit 203 of the ECU 200a acquires the current vehicle speed from the speed sensor 210, and notifies the frame generation unit 204 of the vehicle speed so as to generate and transmit a data frame indicating the vehicle speed.
  • the device input / output unit 203 of the ECU 200b acquires video data indicating a situation behind the vehicle from the rear camera 220.
  • the device input / output unit 203 of the ECU 200b accepts an operation of a driver's parking support function start request for the monitor 230, calculates a target steering angle for controlling the handle 240 from the situation behind the vehicle, and controls the handle.
  • a target steering angle is notified to the frame generation unit 204 for generation of a control frame according to the instruction.
  • the device input / output unit 203 of the ECU 200c controls the handle 240 according to control information based on a control frame or the like related to the handle control instruction notified from the ECU 200b.
  • the device input / output unit 203 of the ECU 200d acquires the current gear position from the gear 250, and notifies the frame generation unit 204 of the gear position to generate and transmit a data frame indicating the gear position.
  • the frame generation unit 204 generates a data frame to be transmitted to the bus 300 based on the information notified from the device input / output unit 203, and transmits the generated data frame to the bus 300 via the frame transmission / reception unit 201.
  • the frame generation unit 204 generates a data frame including vehicle speed information from the speed sensor 210 notified from the device input / output unit 203 at an interval of 50 ms, which is a predetermined cycle, and transmits and receives frames. Notification to the unit 201.
  • 50 ms as the data frame generation interval is merely an example of a cycle, and may be other than 50 ms.
  • FIG. 9 shows an example of a data frame transmitted by each of the ECU 200a, the ECU 200b, and the ECU 200d.
  • the state frame related to this vehicle speed has ID “0x100”, DLC is 2, and the data field is 2 bytes including the first byte and the second byte, and the vehicle speed (in units of 0.1 km / h). Represents.
  • the example of the data frame in (a) of FIG. 9 represents a state frame indicating 42.1 km / h (0x1A5) as the vehicle speed.
  • 9B is an example of a data frame transmitted by the ECU 200b, that is, a data frame related to a handle control instruction.
  • the data frame related to this handle control instruction has ID “0x200”, DLC is 4, and the data field is a control flag indicating whether or not handle control is performed. Indicates that the control of the handle 240 should be performed, and 0 indicates that the control of the handle 240 should not be performed.
  • the second byte indicates whether the handle 240 should be rotated in the left or right direction when instructing handle control, with 0 on the right and 1 on the left.
  • a target steering angle for controlling the steering wheel 240 is indicated by 2 bytes including the 3rd byte and the 4th byte of the data field.
  • the example of the data frame in (b) of FIG. 9 represents a control frame indicating a handle control instruction to turn right by 48 degrees.
  • FIG. 9 (c) is an example of a data frame transmitted by the ECU 200d, that is, a state frame related to a gear position.
  • the status frame related to this gear position has ID “0x300”, DLC is 1, and its data field represents the gear position by 1 byte.
  • the 1-byte value is 0, representing “neutral”, 1 representing “reverse”, 2 representing “drive”, and 3 representing “parking”.
  • the example of the data frame in (c) of FIG. 9 represents a state frame indicating “reverse” as the gear position.
  • FIG. 10 shows an example of a processing sequence related to the parking support function in a normal state.
  • ECU 200a transmits a state frame indicating the vehicle speed (that is, a data frame having ID “0x100”) to bus 300 (step S11).
  • the data frame is broadcast to all ECUs connected to the bus 300.
  • the ECU 200c responsible for controlling the steering wheel 240 receives a state frame indicating the vehicle speed from the bus 300 as a data frame of an ID to be received, and updates and holds the current vehicle speed based on the state frame.
  • the ECU 200a transmits a state frame indicating the vehicle speed at a predetermined transmission interval of 50 ms. However, in FIG. 10, transmission of the subsequent state frame related to the vehicle speed is omitted.
  • the ECU 200d transmits a state frame indicating the gear position (that is, a data frame having the ID “0x300”) to the bus 300 (step S12).
  • the ECU 200c receives a status frame indicating the gear position from the bus 300 as a data frame of an ID to be received, and updates and holds the current gear position based on the status frame.
  • the ECU 200d transmits a state frame indicating a gear position at a transmission interval of 50 ms, but in FIG. 10, transmission of the subsequent state frame related to the gear position is omitted.
  • a parking support request is transmitted from the monitor 230 to the ECU 200b (step S13).
  • ECU200b will display the image
  • the monitor 230 transmits a parking position determination notification indicating the parking position to the ECU 200b (step S15).
  • the ECU 200b calculates the steering angle of the steering wheel 240 as a target (that is, the target steering angle) based on the parking position indicated by the parking position determination notification, sets the control flag to 1 as a data frame having ID “0x200”, Information including the steering angle is transmitted (step S16). That is, the ECU 200b transmits a control frame related to the handle control instruction. Note that the ECU 200b periodically updates the data frame having the ID “0x200” by sequentially updating the target steering angle of the handle 240 to an appropriate value, and periodically transmits the ID “0x200” in FIG. The transmission of the data frame is omitted.
  • the ECU 200c receives a control frame related to the steering wheel control instruction (that is, a data frame having an ID “0x200” and a control flag of 1), the current vehicle speed is 10 km / h or less, and the gear position is Only in the case of “reverse”, control is performed to turn the handle 240 to the target steering angle (step S17).
  • a control frame related to the steering wheel control instruction that is, a data frame having an ID “0x200” and a control flag of 1
  • the current vehicle speed is 10 km / h or less
  • the gear position is Only in the case of “reverse”
  • FIG. 11 shows an example of a sequence related to an attack on the parking support function and an unauthorized control suppression process by the monitoring ECU 100.
  • the monitoring ECU 100 holds the function restriction rule illustrated in FIG.
  • the operation for starting execution of the parking support function is not performed and the vehicle is traveling forward.
  • the ECU 200d periodically transmits a state frame indicating that the gear position is “drive”. In FIG. 11, the description of the state frame relating to the gear position is omitted.
  • ECU 200a transmits a state frame indicating the vehicle speed (that is, a data frame having ID “0x100”) to bus 300 (step S21).
  • the current vehicle speed is 42.1 km / h.
  • the attack ECU indicates a data frame indicating false information indicating that the vehicle speed is 0 km / h and having an ID “0x100”, that is, false information related to the vehicle speed, as a step before illegally controlling the steering wheel 240.
  • a status frame is transmitted (step S22).
  • the attack ECU is an ECU connected to the bus 300, for example, an ECU connected by the attacker to the bus 300, an ECU controlled by the attacker by hacking, or the like.
  • the attack ECU observes the transmission cycle of the state frame related to the vehicle speed by the ECU 200a, and shows the false information related to the vehicle speed having the same ID during a predetermined transmission interval margin range. Send. Thereby, it becomes difficult to detect that the state frame indicating the false information related to the vehicle speed is simply an illegal frame from the transmission timing.
  • the ECU200c which received the state frame which shows the false information regarding the vehicle speed transmitted in step S22 updates the current vehicle speed to be held to 0 km / h. Further, the monitoring ECU 100 detects that the state frame of the ID “0x100” related to the vehicle speed is expected to be received once by the camouflage detection process, that is, within a margin range related to a predetermined transmission interval. Since it is received twice in the period, it is determined that the vehicle state relating to the vehicle speed indicated by the state frame of ID “0x100” is the camouflaged state. Thereby, the camouflage flag regarding the vehicle speed in the vehicle state information becomes 1.
  • step S23 the ECU 200b transmits a data frame indicating the steering wheel control instruction having ID “0x200” (step S23).
  • the control flag indicating whether or not to perform the handle control is 0, and the handle 240 is not controlled.
  • the monitoring ECU 100 does not transmit an error frame or the like because it is not a function restriction target of each rule of the function restriction rule. .
  • the attack ECU transmits a data frame having an ID “0x200” and having a control flag set to 1 (that is, a control frame related to the handle control instruction) (step S24).
  • the monitoring ECU 100 determines whether or not to suppress the control of the vehicle based on the function restriction rule and the vehicle state information during reception of the control frame.
  • the monitoring ECU 100 determines that the control frame transmitted in step S24 matches the function restriction target of the rule of the rule number 1 of the function restriction rule, and the corresponding vehicle state condition is satisfied. It is determined that control of the vehicle should be suppressed.
  • the monitoring ECU 100 determines that the control of the vehicle by the control frame being received should be suppressed, the monitoring ECU 100 transmits an error frame to invalidate the control frame related to the steering wheel control instruction (step S25).
  • the monitoring ECU 100 can suppress unauthorized control of the handle 240 due to an attack.
  • This error frame overwrites the data frame having the ID “0x200” being transmitted, and as a result, the transmission of the data frame by the attack ECU is interrupted.
  • the ECU 200c receives the error frame, discards the data frame being received, and does not control the handle 240 based on the data frame.
  • the monitoring ECU 100 transmits the error frame depending on the determination result based on the function restriction rule, thereby preventing the ECU 200c from receiving the data frame for illegally controlling the handle 240 by the attack ECU. it can.
  • FIG. 12 is a flowchart illustrating an example of a monitoring operation performed by the monitoring ECU 100. The process related to the monitoring operation is performed every time a data frame appears on the bus 300.
  • the monitoring ECU 100 receives the data frame, and determines whether or not the ID of the data frame being received is the ID of the data frame whose reception history should be held in the reception history holding unit 160 (step S31).
  • the ID of the data frame to be stored in the reception history is different from the ID of the data frame to be function restricted in the function restriction rule, but this is only an example.
  • the ID related to the reception history holding target is the ID “0x100” of the state frame related to the vehicle speed and the ID “0x300” of the state frame related to the gear position (see FIG. 5).
  • the monitoring ECU 100 receives the data value indicating the vehicle speed of the data frame being received,
  • the reception history information held by the reception history holding unit 160 is updated so as to include the time (step S32).
  • the monitoring ECU 100 may erase the reception history information whose reception time is earlier than a certain time (for example, 100 ms) from the current time.
  • the monitoring ECU 100 performs a camouflage detection process with reference to the reception history information held by the reception history holding unit 160 (step S33). Specifically, the monitoring ECU 100 predefines, for example, at the reception time of the oldest state frame of the reception history of the state frame (data frame) related to one ID in the reception history information by the state impersonation detection unit 130. The number of state frames in a range (referred to as a reception timing range) from the time obtained by adding the transmission interval (for example, 50 ms) to the time obtained by subtracting the margin (for example, 3 ms) from the reference time. Count what you are receiving.
  • the camouflaged flag of the corresponding ID in the vehicle state holding unit 170 is set to 1.
  • the next reception timing range is obtained on the basis of a time obtained by adding a predefined transmission interval (for example, 50 ms) from the reception time of the first state frame received within the reception timing range, and the vehicle state is Repeat until the most recently received status frame for spoofing.
  • the camouflage flag is updated to 1. If the camouflage flag is not set to 1 in such processing, the camouflage flag is set to 0.
  • camouflage detection process it is determined whether or not the vehicle is in a camouflaged state, but whether or not each status frame whose reception history is indicated in the reception history information held by the reception history holding unit 160 is illegal ( In other words, it is not performed until identification of whether or not it is due to an attack.
  • step S31 determines in step S31 that the ID of the data frame being received is not the ID of the data frame whose reception history is to be held in the reception history holding unit 160, the ID of the data frame subject to function restriction It is determined whether or not (step S34). If the monitoring ECU 100 determines that the ID of the data frame being received is not the ID of the data frame subject to function restriction, the monitoring ECU 100 ends the process.
  • step S34 determines in step S34 that the ID of the data frame being received is the ID of the data frame subject to function restriction, is the data frame being received the data frame subject to function restriction? It is determined whether or not (step S35). Specifically, the monitoring ECU 100 refers to the function restriction rule held by the function restriction rule holding unit 180 to determine whether or not the control frame is a control frame that is a data frame related to a handle control instruction having a control flag of 1. . If the data frame being received is not a control frame subject to function restriction, the monitoring ECU 100 ends the process.
  • step S35 the monitoring ECU 100 determines whether or not the control of the vehicle related to the control frame should be suppressed. Specifically, the monitoring ECU 100 refers to the function restriction rule and the vehicle state information held by the vehicle state holding unit 170, and whether the control frame is a function restriction target and the vehicle state condition is satisfied. The determination is made by verifying whether or not (step S36). As a result of the verification in step S36, the monitoring ECU 100 ends the process if the vehicle state condition is not satisfied for any of the rules of each item whose function restriction target is the control frame in the function restriction rule.
  • the monitoring ECU 100 determines that an error occurs before the last data frame being received is received in order to invalidate the data frame being received in order to invalidate the data frame being received.
  • the frame is transmitted to the bus 300 (step S37).
  • the error frame is overwritten on the currently received data frame, and the data frame is invalidated.
  • ECU for example, ECU 200c connected to bus 300 does not control the vehicle based on the invalidated data frame.
  • the monitoring ECU 100 uses a predetermined rule related to the transmission interval of the state frames based on the set of state frames received during the certain period, so that It detects that the state of the vehicle was a camouflaged state. Then, when the vehicle state is a camouflaged state, the monitoring ECU 100 disables the control of the vehicle by invalidating the control frame when the control frame for controlling the vehicle is transmitted. To do. As a result, it is possible to protect against an attack in which the vehicle state is impersonated and the vehicle is illegally controlled, and the security of the in-vehicle network can be ensured. In addition, since this method for preventing unauthorized control for defense can be realized by arranging the monitoring ECU 100 in the in-vehicle network, it is possible to protect the in-vehicle network at a reduced cost.
  • the monitoring ECU in the in-vehicle network system 11 monitors the state frame flowing through the in-vehicle network, measures the time during which the current vehicle state continues, and stabilizes the vehicle state for a certain period of time.
  • the control function by the control frame for controlling the vehicle is limited based on the criterion regarding whether or not the vehicle is in a state.
  • FIG. 13 is a diagram illustrating an overall configuration of the in-vehicle network system 11 according to the present disclosure.
  • the in-vehicle network system 11 includes a bus 300, a monitoring ECU 2100 connected to the bus 300, ECUs 200 a to 200 d, and the like.
  • the in-vehicle network system 11 is the same as the in-vehicle network system 10 (see FIG. 1) shown in the first embodiment, unless otherwise described here.
  • the same constituent elements as those in the in-vehicle network system 10 are denoted by the same reference numerals as those in FIG.
  • the monitoring ECU 2100 is a kind of ECU as an unauthorized control inhibiting device, and is connected to the bus 300.
  • the monitoring ECU 2100 monitors data frames such as a state frame and a control frame that flow through the bus 300, and measures the duration of the vehicle state.
  • the monitoring ECU 2100 determines whether or not the control by the control frame for controlling the vehicle should be suppressed according to the measured duration of the vehicle state, and invalidates the control frame to invalidate the control frame. Suppress control.
  • FIG. 14 is a configuration diagram of the monitoring ECU 2100.
  • Monitoring ECU 2100 includes a frame transmission / reception unit 110, a frame processing unit 120, a vehicle state monitoring unit 2130, a function restriction unit 2140, a frame generation unit 150, a reception history holding unit 2160, and a function restriction rule holding unit 2180. Consists of.
  • Each component of the monitoring ECU 2100 illustrated in FIG. 14 may be realized by a storage medium such as a memory of the monitoring ECU 2100, a communication circuit, a processor that executes a program stored in the memory, or the like.
  • the monitoring ECU 2100 is the same as the monitoring ECU 100 (see FIG. 4) shown in the first embodiment, except that it is not particularly described here.
  • constituent elements having the same functions as those of the monitoring ECU 100 are denoted by the same reference numerals as those in FIG. 4 in FIG.
  • the frame processing unit 120 notifies the vehicle state monitoring unit 2130 and the function restriction unit 2140 of the data frame being received.
  • the vehicle state monitoring unit 2130 updates the reception history related to the corresponding ID in the reception history information held by the reception history holding unit 2160 for the data frame notified from the frame processing unit 120. Specifically, vehicle state monitoring unit 2130 updates the reception history information based on the value of the state frame data transmitted from ECU 200a, ECU 200d, and the like, and the time when the state frame was received. In this update, the vehicle state monitoring unit 2130 obtains the time at which the state frame is received by a timer that counts the elapsed time from when the monitoring ECU 2100 is started or from another predetermined time, for example, and the latest 100 ms The reception history information is updated so as to indicate information on the status frame received within.
  • the function restriction unit 2140 When the function restriction unit 2140 receives a control frame for controlling the vehicle, the function restriction rule stored in the function restriction rule holding unit 2180 and serving as a reference for whether or not to suppress the vehicle control, With reference to the reception history information held by the reception history holding unit 2160, it is determined whether or not the control of the vehicle should be suppressed. If the function restriction unit 2140 determines that the control of the vehicle should be suppressed, the function restriction unit 2140 transmits an error frame to the frame generation unit 150 in order to invalidate the control frame being received for the control of the vehicle. Request. Specifically, in order to determine whether or not the control of the vehicle should be suppressed, the function restriction unit 2140 receives the control frame that is subject to the function restriction in the function restriction rule and receives the vehicle state. Whether or not the vehicle state indicated by the reception history of the state frame indicated by the reception history information is an unstable state that satisfies the vehicle state duration time in the function restriction rule (that is, A stable state).
  • the reception history holding unit 2160 holds a reception history of data frames received by the monitoring ECU 2100.
  • the reception history holding unit 2160 holds, for example, reception history information (see FIG. 15) indicating a data value related to a state frame received within the latest 100 ms and a reception time.
  • the function restriction rule holding unit 2180 holds a function restriction rule (see FIG. 16), which is a criterion for determining whether or not control by the control frame being received should be suppressed.
  • FIG. 15 shows an example of reception history information held by the reception history holding unit 2160.
  • the reception history information includes the reception time and data value of the status frame indicating the vehicle speed of ID “0x100” and the status frame indicating the gear position of ID “0x300” received within the last 100 ms. including.
  • the data value at the time of the latest reception is 0.0 km / h, and the reception time is 211 ms.
  • the data value of the vehicle speed state frame is 42.1 km / h, and the reception time is 210 ms.
  • the data value of the vehicle speed state frame is 42.0 km / h, and the reception time is 160 ms.
  • the data value at the time of the latest reception indicates “reverse”, and the reception time is 201 ms.
  • the data value indicates “drive”, and the reception time is 200 ms.
  • the data value indicates “drive”, and the reception time is 150 ms.
  • FIG. 16 shows an example of a function restriction rule held by the function restriction rule holding unit 2180.
  • the function restriction rule is information indicating a criterion for determining whether or not the control of the vehicle should be suppressed.
  • the function restriction target that is information for specifying a control frame for controlling the vehicle and the reference vehicle State conditions (specifically, vehicle state duration time conditions) are associated with each other.
  • the function restriction rule is composed of a plurality of items, but the number of items in the rule may be one or plural.
  • the restriction target function of rule number 1 is a data frame whose control flag is 1 (that is, a control frame related to the handle control instruction) included in the data frame with ID “0x200” related to the handle control instruction.
  • the condition of the vehicle state for determining that the control should be suppressed is that the state of the vehicle related to the state frame of ID “0x100” related to the vehicle speed is an unstable state.
  • the unstable state related to the vehicle speed means a state where the duration time in which the vehicle speed is 10 km / h or less is shorter than 60 ms. If the vehicle speed is 10 km / h or less and the duration is 60 ms or more, the vehicle is stable.
  • the function restriction unit 2140 satisfies the condition of the vehicle state duration of rule number 1. As a result, it is determined that the control by the control frame related to the handle control instruction that is the function restriction target should be suppressed.
  • the rule of the item of rule number 2 is that the state of the vehicle related to the state frame of ID “0x300” related to the gear position is in an unstable state.
  • the unstable state related to the gear position means a state where the duration of the state where the gear position is “reverse” is shorter than 60 ms. If at least one state frame indicating a gear position other than “reverse” is received between 60 ms and the present time, the function restriction unit 2140 satisfies the condition of the vehicle state duration time of rule number 2 As a result, it is determined that the control by the control frame related to the handle control instruction that is the function restriction target should be suppressed.
  • the condition of the vehicle state duration in consideration of a transmission interval or the like defined in advance for the target state frame. For example, when the transmission interval of the state frame is 50 ms and the duration as the condition of the vehicle state duration is 60 ms, at least one data frame is received during 60 ms. Even when the attacker transmits a state frame indicating information that disguises the vehicle state such as the vehicle speed, the vehicle state duration time is reset to 0 by receiving the normal state frame. For this reason, it is not possible to disguise the vehicle state such as the vehicle speed over a duration longer than 60 ms so as to achieve a stable state in which the function restriction is released.
  • a state frame indicating a false vehicle speed of 0.0 km / h at times t1, t3, t5 is a normal vehicle speed (for example, 42.0 km / h) periodically transmitted by the ECU 200a at times t0, t2, t4, and the like. h) is sent immediately after the status frame indicating.
  • the time during which the vehicle speed indicated by the sequentially transmitted state frames is 10 km / h or less is shorter than 60 ms.
  • the function restriction unit 2140 When receiving a control frame related to the steering wheel control instruction when an attack is made in this way, the function restriction unit 2140, for example, according to the rule of the item of rule number 1 in FIG. Since the state is not stable, an error frame transmission request is sent to the frame generation unit 150 in order to invalidate the control frame related to the handle control instruction.
  • a data frame having an ID “0x200” and a control flag of 1 (that is, a control frame related to a steering wheel control instruction) is a bus only when the vehicle speed is 10 km / h or less and the gear position is “reverse”.
  • the in-vehicle network system 11 is designed so as not to be flown to 300. Then, after the driver performs an operation for starting execution of the parking support function and an operation for specifying the parking position, the control frame related to the steering wheel control instruction is transmitted to the bus 300. It is considered that several seconds will elapse after the driver stops the vehicle and changes the gear position to “reverse” until the start of the parking support function is requested by operating the monitor 230 and the parking position is designated. It is done.
  • a normal data frame subject to function restriction that is, a control frame related to a steering wheel control instruction
  • a vehicle speed of 10 km / h or less and “reverse” The state of the vehicle related to the gear position continues for longer than 60 ms. For this reason, it is not determined that the control of the handle by the normal control frame should be inhibited by the function restriction unit 2140. Therefore, when receiving the control frame related to the steering wheel control instruction when the parking assist function is normally used without being attacked, the function restriction unit 2140 has a vehicle speed of 10 km / h or less in the latest 60 ms period. And, since the state of the vehicle related to the gear position “reverse” is a continuous stable state, no error frame transmission request is made.
  • FIG. 18 shows an example of a sequence related to an attack on the parking support function and unauthorized control suppression processing by the monitoring ECU 2100.
  • the monitoring ECU 2100 holds the function restriction rule illustrated in FIG. Further, it is assumed that the operation for starting execution of the parking support function is not performed and the vehicle is traveling forward.
  • ECU 200a transmits a state frame indicating the vehicle speed (that is, a data frame having ID “0x100”) to bus 300 (step S211).
  • the current vehicle speed is 42.1 km / h.
  • the ECU 200c that has received the state frame related to the vehicle speed transmitted in step S211 updates the current vehicle speed to be held to 42.1 km / h.
  • the monitoring ECU 2100 that has received the state frame updates the reception history related to the vehicle speed in the reception history information held in the reception history holding unit 2160.
  • the attack ECU indicates a data frame indicating false information indicating that the vehicle speed is 0 km / h and having an ID “0x100”, that is, false information related to the vehicle speed, as a step before illegally controlling the steering wheel 240.
  • a status frame is transmitted (step S212).
  • the ECU 200c that has received the state frame indicating the false information related to the vehicle speed transmitted in step S212 updates the current vehicle speed to be held to 0 km / h.
  • monitoring ECU2100 which received the state frame updates the reception log
  • step S213 the gear position
  • the current gear position is “drive”.
  • the ECU 200c that has received the state frame related to the gear position transmitted in step S213 updates the current gear position to be held to “drive”.
  • the monitoring ECU 2100 that has received the status frame updates the reception history related to the gear position in the reception history information.
  • the attack ECU has a data frame indicating the false information that the ID “0x300” and the gear position is “reverse”, that is, the false information related to the gear position, as a step before illegally controlling the handle 240.
  • the ECU 200c that has received the status frame indicating the false information related to the gear position transmitted in step S214 updates the current gear position to be held to “reverse”.
  • the monitoring ECU 2100 that has received the status frame updates the reception history related to the gear position in the reception history information.
  • the attack ECU transmits a data frame having an ID “0x200” and having a control flag set to 1 (that is, a control frame related to the handle control instruction) (step S215).
  • the monitoring ECU 2100 determines whether or not to suppress the control of the vehicle based on the function restriction rule during reception of the control frame.
  • the monitoring ECU 2100 Since the control frame transmitted in step S215 matches the function restriction target of the rule of item No. 1 of the function restriction rule and the corresponding vehicle state duration condition is satisfied, the monitoring ECU 2100 performs the control. It is determined that control of the vehicle by the frame should be suppressed. It is noted that monitoring ECU 2100 also has its control frame matched with the function restriction target of the rule of item No. 2 of the function restriction rule, and the corresponding vehicle state duration condition is satisfied. It can be determined that the control of the vehicle by is to be suppressed. If the vehicle state in the predetermined period indicated by the reception history information corresponds to the vehicle state continuation condition indicated by the rule of at least one item of the function restriction rule, the monitoring ECU 2100 controls the function restriction target control frame of that rule. It can be determined that the control of the vehicle by is to be suppressed.
  • an error frame is used to invalidate the control frame related to the steering wheel control instruction. Is transmitted (step S216). By transmitting the error frame, the monitoring ECU 2100 can suppress unauthorized control of the handle 240 due to an attack. This error frame overwrites the data frame having the ID “0x200” being transmitted, and as a result, the transmission of the data frame by the attack ECU is interrupted. The ECU 200c receives the error frame, discards the data frame being received, and does not control the handle 240 based on the data frame.
  • the monitoring ECU 2100 transmits the error frame according to the determination result based on the function restriction rule, thereby preventing the ECU 200c from receiving the data frame for illegally controlling the handle 240 by the attack ECU. Can do.
  • ECU 200a transmits a state frame indicating a vehicle speed of 42.1 km / h to bus 300 (step S217).
  • the ECU 200c that has received the state frame related to the vehicle speed transmitted in step S217 updates the current vehicle speed to be held to 42.1 km / h.
  • the monitoring ECU 2100 that has received the state frame updates the reception history related to the vehicle speed in the reception history information held in the reception history holding unit 2160.
  • FIG. 19 is a flowchart illustrating an example of a monitoring operation performed by the monitoring ECU 2100. The process related to the monitoring operation is performed every time a data frame appears on the bus 300.
  • the monitoring ECU 2100 receives the data frame, and determines whether or not the ID of the data frame being received is the ID of the data frame whose reception history is to be held in the reception history holding unit 2160 (step S221).
  • the ID related to the retention target of the reception history is the ID “0x100” of the state frame related to the vehicle speed and the ID “0x300” of the state frame related to the gear position (see FIG. 15).
  • the monitoring ECU 2100 receives the data value indicating the vehicle speed of the data frame being received,
  • the reception history related to the ID in the reception history information held by the reception history holding unit 2160 is updated so as to include the time (step S222).
  • the monitoring ECU 2100 may delete, for example, information on the reception history whose reception time is earlier than a certain time (for example, 100 ms) from the current time.
  • step S221 the monitoring ECU 2100 determines that the ID of the data frame being received is not the ID of the data frame whose reception history is to be held in the reception history holding unit 2160, or after the processing in step S222. It is determined whether the middle data frame is a control frame subject to function restriction in the function restriction rule held in the function restriction rule holding unit 2180 (step S223). If the monitoring ECU 2100 determines in step S223 that the data frame being received is not a control frame subject to function restriction, the monitoring ECU 2100 ends the process.
  • the monitoring ECU 2100 determines whether or not to suppress control of the vehicle related to the control frame based on the function restriction rule. It is determined by verifying whether or not the state of the vehicle in the most recent period is an unstable state (step S224). Specifically, the monitoring ECU 2100 determines whether the condition of the vehicle state duration corresponding to the function restriction target that matches the control frame being received in the rule of each item of the function restriction rule satisfies the reception history holding unit 2160. Is verified by referring to the reception history of the state frame related to the state of the corresponding vehicle and the current time. As a result of the verification regarding whether or not the condition of the vehicle state duration in the function restriction rule is satisfied, the monitoring ECU 2100 does not satisfy the condition of the vehicle state duration for each item rule in the function restriction rule. The process is terminated.
  • step S224 if the condition of the vehicle state duration in the function restriction rule is satisfied, the reception is performed to invalidate the control frame in order to suppress the control of the vehicle by the control frame being received.
  • An error frame is transmitted to the bus 300 before the end of the data frame, which is the middle control frame, is received (step S225). As a result, the error frame is overwritten on the currently received data frame, and the data frame is invalidated. For this reason, ECU (for example, ECU 200c) connected to bus 300 does not control the vehicle based on the invalidated data frame.
  • the monitoring ECU 2100 has a data value of a specific state frame indicating the state of the vehicle within a certain value or a certain range based on a set of state frames received during a certain period. It is verified whether or not there is a stable state.
  • the specific state frame is determined corresponding to a control frame for controlling a vehicle that is a function restriction target. This verification is performed, for example, based on the function restriction rule shown in FIG. 16 depending on whether or not the continuation time that the data value of a specific state frame is within a certain value or within a certain range continues for that certain period.
  • monitoring ECU 2100 when a control frame for controlling the vehicle is transmitted, monitoring ECU 2100 is in a case where the state of the vehicle indicated by the specific state frame is not stable for a certain period (that is, the state continues for a certain period). In the absence of the control frame, the control frame is invalidated to suppress the control of the vehicle. It is useful to set the length of the certain period to a time longer than the predetermined transmission interval of the state frame. Thus, even if the attacker impersonates the vehicle state and transmits a control frame that causes unauthorized control, the control frame is invalidated to the monitoring ECU 2100 due to the short duration of the vehicle state. Is done.
  • the vehicle state duration is set as a condition for invalidating the data frame subject to function restriction in consideration of the case where the function is normally used.
  • the data frame subject to function restriction is not invalidated, and only the data frame that causes illegal control by the attacker can be invalidated.
  • This monitoring ECU 2100 makes it possible to protect against an attack that impersonates the vehicle and improperly controls the vehicle, thereby ensuring the security of the in-vehicle network.
  • this method of preventing unauthorized control for defense can be realized by placing the monitoring ECU 2100 in the in-vehicle network, it is possible to protect the in-vehicle network at a reduced cost.
  • the monitoring ECU in the in-vehicle network system 12 monitors a state frame flowing through the in-vehicle network, measures a change in the state of the vehicle, and changes in the state of the vehicle exceeding a predetermined number of times in a certain period.
  • the control function by the control frame for controlling the vehicle is limited based on the criterion regarding whether or not the vehicle is in the frequent occurrence state. Whether or not it is in a state of frequent change is determined by observing the number of times the data value indicated by the data frame has changed more than a predetermined amount, as well as observing the time that a change exceeding a predetermined amount has occurred, etc. It is also possible to determine by.
  • the monitoring ECU for a data frame that is a state frame indicating the state of the control instruction such as whether or not in the cruise control mode, in the case where a change frequent state occurs due to the continuation of the inconsistent state where the control instruction does not match,
  • the data frame control instruction is a specific instruction
  • control by the instruction is suppressed.
  • the data frame indicating this specific instruction is a state frame indicating the state of the control instruction and also a control frame instructing control of the vehicle.
  • the monitoring ECU may invalidate the control frame based on the time for which the inconsistent state continues.
  • FIG. 20 is a diagram illustrating an overall configuration of the in-vehicle network system 12 according to the present disclosure.
  • the in-vehicle network system 12 includes a bus 300 and monitoring ECUs 3100, ECUs 200a, 3200e, 3200f, and the like connected to the bus 300 as shown in FIG.
  • a cruise control function is realized by a plurality of ECUs communicating and cooperating with each other.
  • the in-vehicle network system 12 is the same as the in-vehicle network system 10 (see FIG. 1) shown in the first embodiment, unless otherwise described here.
  • the same constituent elements as those in the in-vehicle network system 10 are denoted by the same reference numerals as those in FIG. 1, and description thereof is omitted here.
  • the monitoring ECU 3100 is a kind of ECU as an unauthorized control inhibiting device, and is connected to the bus 300.
  • the monitoring ECU 3100 monitors data frames such as a state frame and a control frame that flow through the bus 300, monitors whether information such as a control instruction included in the data frame is inconsistent, and has a mismatch. The duration of inconsistency is measured.
  • the state of the control instruction such as whether or not the cruise control mode is set, is information relating to a kind of vehicle state
  • the data frame including the control instruction is also expressed as a state frame.
  • the data frame when the control instruction is a specific instruction for controlling the vehicle is a control frame.
  • the monitoring ECU 3100 determines whether or not the control by the control frame for controlling the vehicle should be suppressed according to the measured duration of inconsistency, and invalidates the vehicle by invalidating the control frame when the control is to be suppressed. Is suppressed.
  • the ECU 3200e and the ECU 3200f are connected to a switch 3260 and a motor 3270, respectively.
  • ECU 3200e transmits a data frame including information related to cruise control to bus 300 at a transmission interval of 80 ms.
  • the information related to cruise control includes a flag indicating whether or not the cruise control mode is currently entered, and acceleration / deceleration information.
  • ECU 3200e enters cruise control mode when the driver presses switch 3260.
  • the ECU 3200e obtains the vehicle speed from the data frame from the ECU 200a, calculates the magnitude of acceleration so as to keep the vehicle speed at the time when the cruise control mode is entered, and transmits it included in the data frame.
  • the cruise control mode is canceled depending on whether the driver presses the switch 3260 again or steps on the brake.
  • the ECU 3200f controls the motor 3270 to realize the function of running the vehicle.
  • the ECU 3200f receives the data frame transmitted from the ECU 3200e, and when the cruise control mode flag is set, the ECU 3200f controls the motor 3270 based on the acceleration information to keep the vehicle speed constant. Control to sag.
  • FIG. 21 shows an example of a data frame transmitted by the ECU 3200e.
  • This data frame has ID “0x400”, DLC is 3, and in the data field, the first byte is a flag indicating whether or not the vehicle is in the cruise control mode. Indicates that the cruise control mode is OFF (that is, the non-control state), and 1 indicates that the cruise control mode is ON (that is, the control state).
  • the second byte is a flag that indicates whether to accelerate or decelerate when the cruise control mode is ON. 0 indicates acceleration and 1 indicates deceleration.
  • the third byte is an amount indicating the magnitude of acceleration / deceleration and is expressed in units of 0.01 m / s2.
  • a data frame is shown that is in the cruise control mode and requests acceleration of acceleration 0.80 m / s2. That is, this data frame is a state frame in which the vehicle is in the cruise control mode, and is a control frame for requesting acceleration to control the vehicle.
  • FIG. 22 is a configuration diagram of the monitoring ECU 3100.
  • the monitoring ECU 3100 includes a frame transmission / reception unit 110, a frame processing unit 120, a frame generation unit 150, a control information monitoring unit 3130, a function restriction unit 3140, a reception history holding unit 3160, a function restriction rule holding unit 3180, And an alignment duration measuring unit 3190.
  • Each component of the monitoring ECU 3100 shown in FIG. 22 can be realized by a storage medium such as a memory of the monitoring ECU 3100, a communication circuit, a processor that executes a program stored in the memory, or the like.
  • the monitoring ECU 3100 is the same as the monitoring ECU 100 (see FIG.
  • constituent elements of the monitoring ECU 3100 constituent elements having the same functions as those of the monitoring ECU 100 are denoted by the same reference numerals in FIG. 22 as those in FIG. 4, and description thereof will be omitted as appropriate.
  • the frame processing unit 120 notifies the control information monitoring unit 3130 and the function restriction unit 3140 of the data frame being received.
  • the control information monitoring unit 3130 monitors the data frame including the control instruction, and the reception history regarding the corresponding ID in the reception history information held by the reception history holding unit 2160 for the data frame notified from the frame processing unit 120. Update. Specifically, the control information monitoring unit 3130 includes a state frame data value (for example, a control instruction flag value) including a control instruction flag indicating whether or not the cruise control mode transmitted from the ECU 3200e is ON, and the like. The reception history information is updated based on the time when the status frame is received. Furthermore, the control information monitoring unit 3130 refers to the reception history information to determine whether or not there is a mismatch in the state (for example, cruise control mode) related to the control instruction in the data frame having the same ID received in a certain period. to decide. When there is a mismatch in the state related to the control instruction, the control information monitoring unit 3130 makes a mismatch start time measurement request to the mismatch duration measurement unit 3190.
  • a state frame data value for example, a control instruction flag value
  • Such inconsistency in the state related to the control instruction is, for example, when the function for performing control changes from the OFF state to the ON state, such as when the driver presses the switch 3260 to turn on the cruise control mode, or It can occur when changing from the ON state to the OFF state. However, as long as the function is normally used, such inconsistency does not continue for a long time.
  • the control information monitoring unit 3130 requests the inconsistency duration measurement unit 3190 to measure the inconsistency duration, which is the duration of the inconsistency, when the inconsistency occurs by monitoring the data frame for a certain period. If no inconsistency occurs, the inconsistency duration measuring unit 3190 is requested to reset the inconsistency duration to 0 and stop the measurement.
  • the function restriction unit 3140 When the function restriction unit 3140 receives a data frame, the function restriction unit 3140 refers to the function restriction rule held in the function restriction rule holding unit 3180. If the data frame being received is a control frame subject to function restriction, the control frame It is determined whether or not the control of the vehicle by the control should be suppressed. Whether or not the control by the control frame should be suppressed is determined by referring to the mismatch duration time measured by the mismatch duration measurement unit 3190 in relation to the control frame. If the function restriction unit 3140 determines that the control of the vehicle should be suppressed, the function restriction unit 3140 transmits an error frame to the frame generation unit 150 in order to invalidate the control frame being received for the control of the vehicle. Request.
  • the function restriction unit 2140 continues inconsistency when a control frame that is a function restriction target in the function restriction rule is being received. It is determined whether or not it is a kind of change frequent state that time satisfies the condition of the function restriction rule.
  • the reception history holding unit 3160 holds the reception history of the data frame received by the monitoring ECU 3100.
  • the reception history holding unit 3160 receives, for example, the reception history information indicating the data value related to the state frame such as the data frame including the flag of the control instruction in the cruise control mode received within the latest 100 ms and the reception time (see FIG. 23). Hold.
  • the function restriction rule holding unit 3180 holds a function restriction rule (see FIG. 24) that is a criterion for determining whether or not control by the control frame being received should be suppressed.
  • This function restriction rule can be said to be a criterion for determining whether or not to invalidate a data frame being received.
  • the inconsistency continuation time measuring unit 3190 measures the time during which the control instruction inconsistency continues for each control instruction, and holds measurement-related information (see FIG. 25) such as a measurement result.
  • the inconsistency duration measurement unit 3190 receives a measurement start request from the control information monitoring unit 3130 and updates the value of the in-measurement flag as measurement related information.
  • the inconsistency duration measuring unit 3190 holds, for each control instruction, a timer that can start or reset (that is, stop) the inconsistency duration according to the in-measurement flag.
  • FIG. 23 shows an example of reception history information held by the reception history holding unit 3160.
  • the value of the control instruction flag as the data value of the data frame of ID “0x400” received within the latest 100 ms and the time of reception thereof are included.
  • the data frame having the ID “0x400” has been received four times in the latest 100 ms, and the flag value at the time of the latest reception is 1 (that is, the cruise control mode is ON, The time of reception is 301 ms.
  • the value of the flag is 0 (that is, meaning that the cruise control mode is OFF and control is not performed), and the reception time is 300 ms.
  • the value of the flag is 1, and the reception time is 221 ms.
  • the value of the flag is 0 and the reception time is 220 ms.
  • FIG. 24 shows an example of the function restriction rule held by the function restriction rule holding unit 3180.
  • the function restriction rule is information indicating a criterion for determining whether or not to suppress the control of the vehicle.
  • the function restriction target and the restriction function that are information for specifying a control frame for controlling the vehicle, and the reference Vehicle condition (specifically, inconsistency duration condition).
  • the function restriction rule is composed of one item rule, but the number of rule items may be plural.
  • the restriction function indicates a specific control instruction to be restricted when the condition of inconsistency duration is satisfied. If the restriction function is “restriction”, a flag indicating that the cruise control mode is in the ON state is displayed in the data frame subject to function restriction being received when the condition of inconsistency duration is satisfied.
  • control frame should be suppressed, that is, the control frame should be invalidated.
  • the restriction function is “continuation”, it means that the control frame should be invalidated so as to maintain the state according to the control instruction before the inconsistency occurs.
  • the flag indicating the cruise control mode is 0 before the inconsistency occurs
  • the control indicating that the flag indicating the cruise control mode is 1 data frame when the condition of the inconsistency duration is satisfied.
  • the inconsistency duration condition is a condition indicating the length of the inconsistency duration as a function restriction condition. When this condition is satisfied, the function restriction is performed on the data frame subject to the function restriction. In the example of FIG.
  • the function restriction target is a data frame having an ID “0x400” related to cruise control
  • the restriction function is “control”
  • a data frame including a control instruction indicating an ON state of the cruise control mode is provided.
  • the condition for the mismatch duration is that the mismatch duration is 500 ms or more.
  • the function restriction rule in the example of FIG. 24 is that the control by the specific control instruction of the cruise control should be suppressed in the frequent change state in which the inconsistency duration of the control instruction state in the cruise control mode is 500 ms or longer. It can be said that it shows the standard. In this frequent change state, the monitoring ECU 3100 invalidates a control frame, which is a data frame indicating a specific control instruction related to cruise control, by transmitting an error frame.
  • FIG. 25 shows an example of measurement related information including inconsistency duration time measured and held by the inconsistency duration time measurement unit 3190.
  • the measurement-related information in this example is for the data frame ID, indicating the inconsistency continuation time that is the time that the inconsistency about the control instruction has continued, and whether or not the inconsistency continuation time is being measured. It includes a flag and a state before the occurrence of inconsistency indicating whether or not the control was performed before the occurrence of inconsistency.
  • the measured inconsistency duration is 100 ms
  • the measurement flag is 1, meaning that the duration is being measured
  • the state before the occurrence of inconsistency is “Non-control” (that is, the control instruction flag indicating the cruise control mode is 0).
  • FIG. 26 shows an example of a sequence related to an attack on the cruise control function and an unauthorized control suppression process by the monitoring ECU 3100.
  • the monitoring ECU 3100 holds the function restriction rule illustrated in FIG.
  • the switch 3260 for turning on the cruise control function is not operated.
  • the description of the data frame related to the vehicle speed transmitted by the ECU 200a is omitted.
  • ECU 3200e sets a control instruction flag to 0 and transmits the data frame having ID “0x400” related to cruise control to the bus 300 to indicate that the cruise control mode is OFF (step S311).
  • the ECU 3200f and the monitoring ECU 3100 receive this data frame.
  • the ECU 3200f does not control the motor 3270 such as acceleration or deceleration for keeping the vehicle speed constant because the flag related to the cruise control mode is 0.
  • the monitoring ECU 3100 updates the reception history information held in the reception history holding unit 3160 based on the received data frame.
  • the attack ECU transmits a data frame having an ID “0x400” related to cruise control with a control instruction flag set to 1 to indicate that the cruise control mode is ON (step S312).
  • the ECU 3200f and the monitoring ECU 3100 receive this data frame.
  • the ECU 3200f controls the motor 3270 according to the acceleration value indicating acceleration or deceleration of the data frame because the flag related to the cruise control mode is 1.
  • the monitoring ECU 3100 updates the reception history information held in the reception history holding unit 3160 based on the received data frame.
  • the monitoring ECU 3100 performs “control” (that is, a control instruction in which the cruise control mode is ON) and “non-control” (that is, the cruise control mode is OFF) from the data frame received within the last 100 ms. Since both data frames with the control instruction in the state are received, it is determined that there is a mismatch, and measurement of the mismatch duration is started.
  • step S313 transmission of a data frame having the same ID “0x400” as in step S311 and indicating “non-control” for cruise control, and data indicating “control” for cruise control having the same ID “0x400” as in step S312.
  • the frame transmission is repeated for 500 ms (step S313).
  • ECU 3200e transmits a data frame having ID “0x400” relating to cruise control and indicating “non-control” (step S314).
  • the ECU 3200f and the monitoring ECU 3100 receive this data frame.
  • the attack ECU transmits a data frame having ID “0x400” and indicating “control” (that is, a control instruction in which the cruise control mode is ON) (step S315).
  • the monitoring ECU 3100 determines whether the data frame being received is a control frame specified by the function restriction target and the restriction function of the function restriction rule and the vehicle state condition of the function restriction rule. It is determined whether or not the control by the control frame should be suppressed depending on whether or not (that is, the condition of inconsistency duration) is satisfied. At this point, the control ECU 3100 is receiving a control frame that is a data frame including a control instruction indicating the cruise control mode (that is, the flag is 1) in a state where the mismatch duration has continued for 500 ms or longer. It is determined that control by frame should be suppressed. Then, an error frame is transmitted to invalidate the control frame (step S316).
  • the monitoring ECU 3100 can suppress unauthorized control related to cruise control due to an attack.
  • This error frame overwrites the control frame having the ID “0x400” being transmitted and including the control instruction indicating that the cruise control mode is in the ON state, and as a result, the attack ECU transmits the data frame. Is interrupted.
  • the ECU 3200f receives the error frame, discards the data frame being received, and does not perform control such as acceleration or deceleration for cruise control based on the data frame.
  • the monitoring ECU 3100 transmits the error frame in accordance with the determination result based on the function restriction rule, thereby preventing the ECU 3200f from receiving the data frame for performing unauthorized control related to cruise control by the attack ECU. can do.
  • FIG. 27 is a flowchart illustrating an example of a monitoring operation performed by the monitoring ECU 3100. The process related to the monitoring operation is performed every time a data frame appears on the bus 300.
  • the monitoring ECU 3100 receives the data frame, and determines whether or not the ID of the data frame being received is the ID of the data frame whose reception history is to be held in the reception history holding unit 3160 (step S321).
  • the ID related to the reception history holding target is the data frame ID “0x400” that is the status frame related to the cruise control mode state (see FIG. 23).
  • the monitoring ECU 3100 determines the state of the data frame being received (for example, a control instruction related to the cruise control mode).
  • the reception history relating to the ID in the reception history information held by the reception history holding unit 3160 is updated so as to include the data value indicating the flag of ()) and the time of reception (step S322).
  • the monitoring ECU 3100 may delete, for example, reception history information whose reception time is earlier than a certain time (for example, 100 ms) from the current time.
  • the monitoring ECU 3100 determines whether or not there is a mismatch in the data value indicating the control instruction or the like based on the reception history information (step S323).
  • the monitoring ECU 3100 causes the mismatch duration measurement unit 3190 to start or stop the mismatch duration measurement based on the presence / absence of the mismatch determined in step S323 (step S324).
  • the monitoring ECU 3100 determines that the ID of the data frame being received in step S321 is not the ID of the data frame whose reception history should be held in the reception history holding unit 3160, or is being received after the processing in step S324. It is determined whether or not the data frame is a control frame specified by the function restriction target and the restriction function in the function restriction rule held in the function restriction rule holding unit 3180 (step S325). If the monitoring ECU 3100 determines in step S325 that the data frame being received is not a control frame subject to function restriction, the monitoring ECU 3100 ends the process.
  • the monitoring ECU 3100 determines whether or not the control by the control frame that is being received should be suppressed.
  • the mismatch duration measured by the mismatch duration measurement unit 3190 is the mismatch duration in the function restriction rule. Is determined based on whether or not the above condition is satisfied (step S326). If the condition of the vehicle state related to the inconsistency duration is satisfied, it is determined that the control by the control frame should be suppressed. If the monitoring ECU 3100 determines that the control by the control frame should not be inhibited, that is, if the condition of the mismatch duration is not satisfied, the monitoring ECU 3100 ends the process.
  • step S326 If it is determined in step S326 that the control by the control frame being received should be inhibited, the monitoring ECU 3100 invalidates the control frame, so that the last of the data frames that are the control frames being received is displayed. An error frame is transmitted to the bus 300 before the tail is received (step S321). As a result, the error frame is overwritten on the currently received data frame, and the data frame is invalidated. For this reason, ECU (for example, ECU 3200f) connected to bus 300 does not control the vehicle based on the invalidated data frame.
  • ECU for example, ECU 3200f
  • Embodiments 1 to 3 have been described as examples of the technology according to the present disclosure.
  • the technology according to the present disclosure is not limited to this, and can also be applied to embodiments in which changes, replacements, additions, omissions, and the like are appropriately performed.
  • the following modifications are also included in one embodiment of the present disclosure.
  • the state camouflage detection unit, the function restriction unit, the vehicle state monitoring unit, and the control information monitoring unit are connected to the bus 300 for a plurality of ECUs to exchange frames.
  • the monitoring ECU may be a component of one or more other ECUs.
  • the above-described monitoring ECU need not be a dedicated monitoring ECU as long as it is an ECU connected to a bus in the in-vehicle network system, and may have a function different from monitoring and handling. Further, for example, one or more components in the monitoring ECU may be moved to another ECU.
  • Any ECU may perform detection of a camouflaged state, detection of a control frame for which control based on a function restriction rule should be suppressed, invalidation of a control frame for control suppression, and the like.
  • an ECU or the like that receives a control frame and performs control according to the contents of the control frame may have the same components as the monitoring ECU described above.
  • the above-described components of the monitoring ECU may be included in the gateway ECU that transfers data frames between the buses when the in-vehicle network is configured with a plurality of buses. This is useful because the gateway ECU can monitor the state of each bus.
  • the gateway ECU including the configuration of the monitoring ECU, in order to suppress control by an illegal control frame, in addition to the invalidation of the control frame by an error frame, between the buses of the control frames determined to be controlled. For example, it is possible to perform processing such as deterring transfer.
  • the gateway ECU can monitor information on a large number of in-vehicle networks, the range of functions that can be realized to suppress control by an unauthorized control frame is expanded.
  • the control frame shown in the above embodiment may be any frame as long as it is a data frame including information used for vehicle control. Further, the control frame may be regarded as including a data frame for instructing suppression of vehicle control for a kind of control of suppressing vehicle control.
  • the method for realizing the control inhibition by the control frame is not limited to the method of transmitting the error frame while receiving the control frame.
  • an ECU that receives a control frame and performs control according to the content of the control frame discards the control frame that is determined to be inhibited as a function restriction target, and performs control corresponding to the control frame.
  • control suppression by the control frame may be realized. This is useful when the monitoring ECU dedicated to monitoring is not included in the configuration of the in-vehicle network.
  • control of the control frame may be suppressed by suppressing the transfer of the control frame determined to be controlled by the gateway ECU.
  • a method for realizing control inhibition by a control frame a method for transmitting a data frame for notifying other ECUs that the function related to the control is restricted, and a method for notifying the user that the function is restricted And a method of shifting the vehicle to a predetermined fail-safe mode that may include degeneration of an automatic control function such as an ADAS function.
  • the extended ID format may be used, and the ID that is the identifier of the data frame is the extended ID in the extended ID format. Etc.
  • the monitoring ECU holds the reception history information including the information of the data frame received in the latest 100 ms in the reception history holding unit, but the holding period from the reception of the information is 100 ms. Is just an example.
  • the retention period it is determined that the minimum time for obtaining information necessary to determine that the vehicle state is camouflaged, or that the inconsistency of information related to the control instruction continues. For example, it is assumed that an arbitrary period longer than the data frame transmission interval is set as a guideline.
  • the monitoring ECU may have one or more IDs for the data frame that is the target of the reception history recorded as the reception history information.
  • the monitoring ECU may have one or more function restriction rule items.
  • the vehicle state information held by the monitoring ECU in the vehicle state holding unit may include a camouflaged flag related to one ID or may include a camouflaged flag related to each of a plurality of IDs.
  • the monitoring ECU holds the reception history including the data value of the data field of the data frame and the reception time as the reception history information in the reception history holding unit.
  • the reception time is only an example, and the holding of the data value or the reception time can be omitted.
  • the reception history holding unit may hold other information, may hold a partial data value of the data field, or may hold the contents of all fields of the received data frame.
  • the vehicle condition duration condition relating to the vehicle speed and the vehicle condition duration condition relating to the gear position are shown as the reference indicated by the function restriction rule held in the function restriction rule holding unit.
  • each condition may be combined as a criterion, and a logical sum or a logical product of the conditions may be used.
  • the number of conditions may be increased or decreased. In the case where control of the function restriction target in the function restriction rule is normally executed, it is possible to prevent invalidating the normal data frame by mistake by setting the condition of the vehicle state based on the vehicle state that is surely generated. It becomes possible.
  • the state of the vehicle by the attacker It is possible to suppress unauthorized control by the control frame after transmitting the status frame for impersonation.
  • the timing at which a control frame related to a normal steering wheel control instruction including a control flag indicating control is transmitted is This is after the driver has performed an operation to start execution of the parking assist function.
  • the driver changes the gear position to “reverse” prior to the operation for starting the execution of the parking support function, and designates the parking position while referring to the video behind the vehicle displayed on the monitor.
  • the vehicle speed is 0 km / h at the timing at which a control frame related to a normal steering wheel control instruction including a control flag indicating control is transmitted as a condition of a vehicle state serving as a reference for the function restriction rule. May be set.
  • the steering angle of the steering wheel with the parking assist function when a method for requesting the driver to return the steering wheel to the straight traveling state is used, as a condition of the vehicle state serving as a reference for the function restriction rule, For example, it may be set that the steering state of the steering wheel is substantially straight at the timing at which a control frame related to a normal steering wheel control instruction including a control flag indicating control is transmitted.
  • the vehicle state conditions include, for example, that the vehicle speed is 0 km / h, the gear position is “reverse”, and the steering state of the steering wheel is It may be set that each of the states such as being in a substantially straight traveling state occurs in order by the timing at which a control frame related to a normal handle control instruction including a control flag indicating control is transmitted.
  • a plurality of state frames are received in a period within a margin range related to the predetermined transmission interval based on the transmission interval specified for the state frame.
  • an example is shown in which it is determined that the state of the vehicle related to the state frame is camouflaged.
  • the method of detecting the camouflage of the vehicle state is not limited to the method of this example.
  • a threshold value for the number of data frames received within a certain period may be defined in advance, and if the threshold value is exceeded, it may be determined that the state of the vehicle is camouflaged.
  • a threshold for the amount of change in the value of a data frame within a certain period or the number of times of reception or a threshold for the number of changes in the value is defined in advance, and the vehicle state is disguised when the threshold is exceeded. May be determined. Further, camouflaging of the state of the vehicle may be determined from the collapse of the relationship based on the relationship between the data frames having different IDs. Further, information that can be acquired from other than the data frame flowing in the in-vehicle network, for example, GPS (Global Positioning System) information, map information, information on the ignition state, various sensor information, and the like may be combined to determine impersonation of the vehicle state. .
  • GPS Global Positioning System
  • the example in which the time during which the state of the vehicle is continued is calculated from the current time by referring to the reception history information. It is not restricted to this method.
  • the reception history information the time of the last reception of a state frame having a specific ID and only the data value at that time may be held to measure the duration of the vehicle state. Further, it is only necessary to determine whether or not a predetermined time has elapsed in accordance with the condition of the vehicle state duration in the function restriction rule, and it is not always necessary to calculate the duration of the vehicle state.
  • the condition in the function restriction rule is satisfied by setting a timer when the state of the vehicle satisfies a predetermined condition indicated in the function restriction rule and determining whether or not the timer is greater than a predetermined time. It may be determined whether or not.
  • a countdown timer for a predetermined time is set, and whether or not the timer is 0 is determined. It may be determined whether or not the condition is satisfied.
  • the vehicle state duration in the function restriction rule that exceeds a predetermined threshold value is not stable, so the control frame related to the function restriction target.
  • An example of suppressing the control by since the vehicle state duration time has not passed the predetermined threshold or more, it is not always necessary to immediately suppress the control by the control frame when the vehicle state is not in a stable state. It is good also as deterring when it continues for some time. This is useful for suppressing erroneous detection that erroneously invalidates a normal control frame with respect to a control frame related to control with low risk even if transmitted illegally.
  • both a data frame including control instruction information indicating control and a data frame including control instruction information indicating non-control are observed in a certain period.
  • the method of measuring the mismatch duration is not limited to this. For example, in a plurality of data frames including a data value used for control received for a certain period, if the amount of change in the data value exceeds a threshold value, the duration is set to be inconsistent. You may measure.
  • control related to the parking support function and the cruise control function are shown as the control for determining whether or not to be suppressed in the monitoring ECU.
  • the control based on the control frame to determine whether or not the vehicle is not limited to the steering wheel control related to the parking support function and the acceleration or deceleration control related to the cruise control function.
  • the control that is a target of determination on whether or not to be suppressed in the monitoring ECU may be, for example, control related to a collision reduction brake system, an adaptive cruise control system, a lane keep assist system, or the like.
  • the control that is a target of determination as to whether or not to be suppressed in the monitoring ECU may be control related to traveling of the vehicle, for example.
  • the control related to running of the vehicle is one of control related to running (for example, acceleration control), control related to turning (for example, steering control), and control related to stopping (for example, braking control).
  • control related to running for example, acceleration control
  • control related to turning for example, steering control
  • control related to stopping for example, braking control
  • the control subject to the determination as to whether or not to suppress in the monitoring ECU is a control that indirectly affects the control related to the traveling of the vehicle, such as a control for presenting information to the driver such as an instrument panel. It is good to be.
  • the monitoring ECU may, for example, up to a front obstacle as a vehicle state condition in the function restriction rule. May be determined by monitoring the reception time of the status frame indicating the distance to the obstacle ahead, the data value, and the like.
  • the monitoring ECU determines that a disguise has been made when a forward obstacle suddenly changes from a state where there is no forward obstacle or a state where a forward obstacle exists far away to a state where the forward obstacle suddenly exists. May be. Then, when a control frame for control related to the collision mitigation brake system appears on the bus in a state of being camouflaged, the monitoring ECU invalidates the control frame.
  • the monitoring ECU is, for example, a state where the preceding vehicle suddenly changes from a state where the preceding vehicle does not exist, or a state where the preceding vehicle exists far away, or a state where the preceding vehicle exists immediately before From the above, it may be determined that the camouflaged vehicle is disguised when the preceding vehicle suddenly exists far away or when the preceding vehicle changes to a state where no preceding vehicle exists.
  • the monitoring ECU uses a lane marking as a vehicle state condition in the function restriction rule.
  • the distance to the lane in which the vehicle is traveling is monitored, and the status frame indicating the distance to the lane marking on either the left or right of the lane is monitored to determine whether or not the camouflage exists. Also good.
  • the monitoring ECU for example, from a state in which the lane line is not recognized or a state in which the distance to the lane line is sufficiently large, the distance to the lane line suddenly decreases and the vehicle is approaching the lane line. If it has changed, it may be determined that the camouflage has been made.
  • the unauthorized control suppression device is exemplified by the monitoring ECUs 100, 2100, and 3100 in the above embodiment, the unauthorized control suppression device does not necessarily have to include all the components of the monitoring ECU described above.
  • the unauthorized control inhibiting device may be configured as shown in FIG.
  • the unauthorized control inhibiting device 4100 shown in the figure includes a state frame in which a plurality of ECUs includes information on the state of the vehicle, and predetermined control (for example, It is connected to a bus 300 (see FIG. 1) that transmits and receives a control frame that is a frame for instructing steering wheel control.
  • the unauthorized control inhibition device 4100 includes a reception unit 4110 and a determination unit 4120.
  • the receiving unit 4110 sequentially receives a status frame and a control frame from the bus 300.
  • the receiving unit 4110 is realized by, for example, a communication circuit such as a CAN controller, a processor, a memory, and the like.
  • the determination unit 4120 receives whether the predetermined control based on the control frame received by the reception unit 4110 should be suppressed or not by the reception unit 4110 within a predetermined period (for example, for 100 ms) preceding the reception of the control frame.
  • Judgment is made based on whether or not the state of the vehicle in the predetermined period specified based on the set of state frames satisfies a predetermined criterion (for example, a criterion indicated by the above-described function restriction rule).
  • a predetermined criterion for example, a criterion indicated by the above-described function restriction rule.
  • the determination unit 4120 can specify the state of the vehicle in the predetermined period based on the set of state frames received by the reception unit 4110 within the predetermined period.
  • the state of the vehicle in a predetermined period may be specified from, for example, the contents of one type of state frame (for example, a state frame having the same ID), or a plurality of types of state frames (for example, states having different IDs). Frame) may be specified.
  • the predetermined reference used for determination in the determination unit 4120 for example, a reference that is satisfied when the vehicle state in the predetermined period is the camouflaged state and not satisfied when the vehicle state is not the camouflaged state may be used.
  • a criterion that is satisfied when the vehicle is not in a stable state and not satisfied when the vehicle is in a stable state may be used, or is satisfied when the vehicle state in a predetermined period is a change-prone state that changes more than a predetermined number of times.
  • a criterion that is not satisfied when the state is not a frequent change state may be used. When any one of these criteria is used, the determination unit 4120 determines that the predetermined control should be suppressed when the predetermined criterion is satisfied.
  • a criterion for determining that the predetermined control should be suppressed when the determination unit 4120 does not satisfy the predetermined criterion may be set as the predetermined criterion.
  • the determination unit 4120 identifies the vehicle state as a camouflaged state, and the abnormal state frame If it is not included, the vehicle state may be specified as not being a camouflaged state.
  • the determination unit 4120 may determine by any method whether or not an abnormal state frame is included in the set of state frames.
  • a set of status frames received within a predetermined period has a plurality of identical IDs used for execution of predetermined control (ie, indicating information on the same item) received at a reception interval shorter than a predetermined threshold. May be determined that an abnormal state frame is included in the set. Further, for example, when a set of status frames received within a predetermined period includes more than a predetermined number of status frames having the same ID used for execution of predetermined control, the set is abnormal. It may be determined that a status frame is included.
  • a set of status frames received within a predetermined period includes two status frames having the same ID used for execution of predetermined control, and information values indicated by the two status frames When the difference is larger than a predetermined amount, it may be determined that an abnormal state frame is included in the set.
  • a set of status frames received within a predetermined period includes a plurality of status frames having the same ID used for execution of predetermined control, and the plurality of status frames arranged in the order received. If the value of the information indicated by does not conform to a predetermined rule, it may be determined that an abnormal state frame is included in the set.
  • unauthorized control suppression apparatus or monitoring ECU was mounted in the vehicle and the example contained in a vehicle-mounted network system was shown, even if it is contained in the network system for control of control objects other than a vehicle good.
  • Control targets other than the vehicle are, for example, robots, aircraft, ships, machines, and the like.
  • data frames such as a status frame and a control frame are transmitted according to the CAN protocol.
  • the CAN protocol is used for an embedded system in an automation system. CANNOpen, or TTCAN (Time-Triggered CAN), CANFD (CAN with Flexible Data Rate), etc.
  • the in-vehicle network may use a protocol other than the CAN protocol.
  • an in-vehicle network that transmits a state frame that includes information on the state of the vehicle and a control frame that is a frame for instructing the vehicle to perform predetermined control
  • LIN Local Interconnect Network
  • MOST Registered trademark
  • FlexRay registered trademark
  • Ethernet registered trademark
  • the in-vehicle network may be configured by combining networks using these protocols as sub-networks and combining sub-networks related to a plurality of types of protocols.
  • the Ethernet (registered trademark) protocol includes Ethernet (registered trademark) AVB (Audio Video Bridging) according to IEEE 802.1 or Ethernet (registered trademark) TSN (Time Sensitive Network) and Ethernet (registered trademark) according to IEEE 802.1. ) / IP (Industrial Protocol), EtherCAT (registered trademark) (Ethernet (registered trademark) for Control Automation Technology), etc.
  • the communication path of the in-vehicle network may be a wired communication path constituted by a network bus (for example, bus 300) or other wires, optical fibers, or the like, or may be another communication path.
  • a part or all of the constituent elements constituting each device in the above embodiment may be constituted by one system LSI (Large Scale Integration).
  • the system LSI is an ultra-multifunctional LSI manufactured by integrating a plurality of components on a single chip.
  • the system LSI is a computer system including a microprocessor, a ROM, a RAM, and the like. .
  • a computer program is recorded in the RAM.
  • the system LSI achieves its functions by the microprocessor operating according to the computer program.
  • each part of the constituent elements constituting each of the above devices may be individually made into one chip, or may be made into one chip so as to include a part or the whole.
  • the system LSI is used here, it may be called IC, LSI, super LSI, or ultra LSI depending on the degree of integration.
  • the method of circuit integration is not limited to LSI's, and implementation using dedicated circuitry or general purpose processors is also possible.
  • An FPGA Field Programmable Gate Array
  • a reconfigurable processor that can reconfigure the connection and setting of circuit cells inside the LSI may be used.
  • integrated circuit technology comes out to replace LSI's as a result of the advancement of semiconductor technology or a derivative other technology, it is naturally also possible to carry out function block integration using this technology. Biotechnology can be applied as a possibility.
  • a part or all of the constituent elements constituting each of the above devices may be constituted by an IC card or a single module that can be attached to and detached from each device.
  • the IC card or the module is a computer system including a microprocessor, a ROM, a RAM, and the like.
  • the IC card or the module may include the super multifunctional LSI described above.
  • the IC card or the module achieves its function by the microprocessor operating according to the computer program. This IC card or this module may have tamper resistance.
  • an unauthorized control suppression method including all or part of the processing procedure illustrated in FIGS.
  • the unauthorized control suppression method includes a plurality of ECUs that perform transmission / reception of a plurality of frames including a control frame for instructing a vehicle to perform predetermined control (for example, steering control) via a communication path (for example, the bus 300).
  • a reception step for example, steps S31, S221, S321 for sequentially receiving a plurality of frames from the communication path and a predetermined control based on the control frame received in the reception step are suppressed.
  • a determination step for example, steps S36, S224, S326) for determining whether or not to be performed based on a set of frames received in the reception step within a predetermined period preceding when the control frame is received.
  • This unauthorized control suppression method further includes a processing step (for example, steps S37, S225, etc.) for executing a predetermined process for suppressing the predetermined control when it is determined in the determination step that the predetermined control based on the control frame should be suppressed. S327) may be included.
  • the predetermined process for suppressing the predetermined control based on the control frame includes, for example, a process for discarding the control frame, a process for overwriting the control frame on the communication path by transmitting an error frame, and the control for another communication path.
  • processing for suppressing frame transfer or processing for instructing the ECU not to execute predetermined control based on the control frame may be a program (computer program) for realizing this method by a computer, or may be a digital signal composed of the computer program.
  • a computer-readable recording medium such as a flexible disk, a hard disk, a CD-ROM, an MO, a DVD, a DVD-ROM, a DVD-RAM, or a BD can be used as the computer program or the digital signal. (Blu-ray (registered trademark) Disc), recorded on a semiconductor memory or the like. Further, the digital signal may be recorded on these recording media.
  • the computer program or the digital signal may be transmitted via an electric communication line, a wireless or wired communication line, a network typified by the Internet, data broadcasting, or the like.
  • an aspect of the present disclosure may be a computer system including a microprocessor and a memory, the memory recording the computer program, and the microprocessor operating according to the computer program.
  • the program or the digital signal may be carried out by recording and transferring the program or the digital signal on the recording medium, or by transferring the program or the digital signal via the network or the like, by another independent computer system It may be carried out.
  • This disclosure can be used for an in-vehicle network system including an in-vehicle network.

Abstract

A method for inhibiting unauthorized control in a network system provided with a plurality of electronic control units which exchange, via a communication channel, a plurality of frames including a control frame which instructs certain control of a controlled object includes: a receiving step of sequentially receiving a plurality of frames from the communication channel; and a determining step of determining, on the basis of a collection of frames received in the receiving step during a prescribed period preceded by the time of receipt of the control frame, whether or not the certain control based on the control frame received in the receiving step should be inhibited.

Description

不正制御抑止方法、不正制御抑止装置及び車載ネットワークシステムUnauthorized control inhibition method, unauthorized control inhibition device and in-vehicle network system
 本開示は、ネットワークに不正なメッセージを流して車両等を不正に制御することを防止するセキュリティ対策技術に関する。 This disclosure relates to a security countermeasure technique that prevents an unauthorized message from being sent to a network to control a vehicle or the like illegally.
 近年、自動車の中のシステムには、電子制御ユニット(ECU:Electronic Control Unit)と呼ばれる装置が多数配置されている。これらのECUをつなぐネットワークは車載ネットワークと呼ばれる。車載ネットワークには、多数の通信規格が存在する。その中でも最も主流な車載ネットワークの一つに、ISO11898で規定されているCAN(Controller Area Network)という規格が存在する。 In recent years, many systems called electronic control units (ECUs) are arranged in systems in automobiles. A network connecting these ECUs is called an in-vehicle network. There are a number of communication standards for in-vehicle networks. Among these, one of the most mainstream in-vehicle networks is a standard called CAN (Controller Area Network) defined by ISO11898.
 CANでは、通信路は2本のワイヤで構成されたバスであり、バスに接続されているECUはノードと呼ばれる。バスに接続されている各ノードは、フレームと呼ばれるメッセージを送受信する。フレームを送信する送信ノードは、2本のワイヤに電圧をかけ、ワイヤ間で電位差を発生させることによって、レセシブと呼ばれる「1」の値と、ドミナントと呼ばれる「0」の値を送信する。複数の送信ノードが全く同一のタイミングで、レセシブとドミナントを送信した場合は、ドミナントが優先されて送信される。受信ノードは、受け取ったフレームのフォーマットに異常がある場合には、エラーフレームと呼ばれるフレームを送信する。エラーフレームとは、ドミナントを6bit連続して送信することで、送信ノード及び他の受信ノードにフレームの異常を通知するものである。 In CAN, the communication path is a bus composed of two wires, and the ECU connected to the bus is called a node. Each node connected to the bus transmits and receives a message called a frame. A transmission node that transmits a frame applies a voltage to two wires and generates a potential difference between the wires, thereby transmitting a value of “1” called recessive and a value of “0” called dominant. When a plurality of transmitting nodes transmit recessive and dominant at exactly the same timing, the dominant is transmitted with priority. When there is an abnormality in the format of the received frame, the receiving node transmits a frame called an error frame. An error frame is a notification of frame abnormality to a transmitting node and other receiving nodes by transmitting dominants continuously for 6 bits.
 またCANでは送信先や送信元を指す識別子は存在せず、送信ノードはフレーム毎にIDを付けて送信し、各受信ノードは予め定められたIDのフレームのみを受信する。また、CSMA/CA(Carrier Sense Multiple Access/Collision Avoidance)方式を採用しており、複数ノードの同時送信時にはIDによる調停が行われ、IDの値が小さいフレームが優先的に送信される。 In CAN, there is no identifier indicating the transmission destination or transmission source, the transmission node transmits an ID for each frame, and each reception node receives only a frame with a predetermined ID. Further, a CSMA / CA (Carrier Sense Multiple Access / Collision Avoidance) method is employed, and arbitration by ID is performed during simultaneous transmission of a plurality of nodes, and a frame having a small ID value is preferentially transmitted.
 CANの車載ネットワークシステムについては、攻撃者がバスにアクセスして不正なフレームを送信することでECUを不正に制御するといった脅威が存在し、セキュリティ対策が検討されている。 Regarding CAN's in-vehicle network system, there is a threat that an attacker can illegally control the ECU by accessing the bus and sending an illegal frame, and security measures are being studied.
 例えば特許文献1には、CANのバスに送信されたフレームについて測定される受信間隔と予め規定された通信間隔との差が規定された範囲から外れる場合にそのフレームを不正と判断することで、不正フレームによる制御を防止する方法が記載されている。また、特許文献2には、規定された通信間隔内に同一の識別子を有するフレームを2つ以上受信した場合にその各フレームを破棄することで、不正フレームによる制御を防止する方法が記載されている。 For example, in Patent Document 1, when a difference between a reception interval measured for a frame transmitted to a CAN bus and a predetermined communication interval deviates from a specified range, it is determined that the frame is illegal. A method for preventing control by an illegal frame is described. Patent Document 2 describes a method for preventing control by an unauthorized frame by discarding each frame when two or more frames having the same identifier are received within a specified communication interval. Yes.
特許第5664799号公報Japanese Patent No. 5664799 特許第5919205号公報Japanese Patent No. 5919205
 しかしながら、特許文献1の方法では、規定された通信間隔から外れない不正なフレームによる不正な制御を防ぐことができない。また、特許文献2の方法は、規定された通信間隔内に含まれる同一の識別子を有する不正なフレームと正常なフレームとの両方を破棄するので、車両の制御の安定性の観点から適切ではない。また、この方法は、不定期に送信される正常なフレームと同一の識別子を有する不正なフレームに対処できない。 However, the method of Patent Document 1 cannot prevent unauthorized control by an unauthorized frame that does not deviate from the specified communication interval. Further, the method of Patent Document 2 discards both an illegal frame and a normal frame having the same identifier included in a defined communication interval, and is not appropriate from the viewpoint of vehicle control stability. . In addition, this method cannot cope with an illegal frame having the same identifier as a normal frame transmitted irregularly.
 そこで、本開示は、ネットワークに流される不正なフレームによる不正な制御を適切に抑止し得る不正制御抑止方法を提供する。また、本開示は、不正なフレームによる不正な制御を適切に抑止し得る不正制御抑止装置及び車載ネットワークシステムを提供する。 Therefore, the present disclosure provides a fraud control deterrence method that can deter fraud control due to a fraud frame flowing in a network appropriately. The present disclosure also provides an unauthorized control suppression device and an in-vehicle network system that can appropriately suppress unauthorized control by an unauthorized frame.
 上記課題を解決するために本開示の一態様に係る不正制御抑止方法は、制御対象に対して所定制御を指示する制御フレームを含む複数のフレームの授受を通信路を介して行う複数の電子制御ユニットを備えるネットワークシステムにおける不正制御抑止方法であって、前記通信路から複数のフレームを逐次受信する受信ステップと、前記受信ステップで受信された制御フレームに基づく前記所定制御を抑止すべきか否かを、当該制御フレームの受信時に先行する所定期間内に前記受信ステップで受信されたフレームの集合に基づいて、判定する判定ステップとを含む不正制御抑止方法である。 In order to solve the above-described problem, an unauthorized control suppression method according to an aspect of the present disclosure includes a plurality of electronic controls that perform transmission and reception of a plurality of frames including a control frame instructing a control target to perform predetermined control via a communication path. A method for inhibiting unauthorized control in a network system including a unit, comprising: a reception step of sequentially receiving a plurality of frames from the communication path; and whether or not the predetermined control based on the control frame received in the reception step should be suppressed. And a determination step of determining based on a set of frames received in the reception step within a predetermined period preceding the reception of the control frame.
 また、上記課題を解決するために本開示の一態様に係る不正制御抑止装置は、複数の電子制御ユニットが、制御対象に対して所定制御を指示する制御フレームを含む複数のフレームの授受を通信路を介して行うところの当該通信路に接続される不正制御抑止装置であって、前記通信路から複数のフレームを逐次受信する受信部と、前記受信部により受信された制御フレームに基づく前記所定制御を抑止すべきか否かを、当該制御フレームの受信時に先行する所定期間内に前記受信部により受信されたフレームの集合に基づいて、判定する判定部とを備える不正制御抑止装置である。 In addition, in order to solve the above-described problem, an unauthorized control suppression device according to one aspect of the present disclosure communicates transmission / reception of a plurality of frames including a control frame in which a plurality of electronic control units instructs predetermined control with respect to a control target. An unauthorized control suppression apparatus connected to a communication path performed via a path, the receiving section receiving sequentially a plurality of frames from the communication path, and the predetermined based on the control frame received by the receiving section A fraud control inhibiting apparatus comprising: a determination unit that determines whether control should be inhibited based on a set of frames received by the receiving unit within a predetermined period preceding reception of the control frame.
 また、上記課題を解決するために本開示の一態様に係る車載ネットワークシステムは、車両の状態に関する情報を含むフレームである状態フレーム、及び、前記車両に対して所定制御を指示するフレームである制御フレームの授受をネットワークバスを介して行う複数の電子制御ユニットを備える車載ネットワークシステムであって、前記ネットワークバスから状態フレーム及び制御フレームを逐次受信する受信部と、前記受信部により受信された制御フレームに基づく前記所定制御を抑止すべきか否かを、当該制御フレームの受信時に先行する所定期間内に前記受信部により受信された状態フレームの集合に基づいて特定される、当該所定期間における前記車両の状態が、所定基準を満たすか否かに基づいて、判定する判定部とを備える車載ネットワークシステムである。 In order to solve the above problem, an in-vehicle network system according to an aspect of the present disclosure includes a state frame that is a frame that includes information related to a vehicle state, and a control that is a frame that instructs the vehicle to perform predetermined control. An in-vehicle network system including a plurality of electronic control units that exchange frames via a network bus, the receiving unit sequentially receiving a status frame and a control frame from the network bus, and a control frame received by the receiving unit Whether or not to suppress the predetermined control based on the control frame is determined based on a set of state frames received by the receiving unit within a predetermined period preceding the reception of the control frame. And a determination unit that determines based on whether the state satisfies a predetermined criterion. A mounting network system.
 本開示によれば、ネットワークに流される不正なフレームによる不正な制御が適切に抑止され得る。 </ RTI> According to the present disclosure, unauthorized control due to an unauthorized frame flowing in the network can be appropriately suppressed.
実施の形態1に係る車載ネットワークシステムの全体構成を示す図である。1 is a diagram illustrating an overall configuration of an in-vehicle network system according to Embodiment 1. FIG. CANプロトコルで規定されるデータフレームのフォーマットを示す図である。It is a figure which shows the format of the data frame prescribed | regulated by a CAN protocol. CANプロトコルで規定されるエラーフレームのフォーマットを示す図である。It is a figure which shows the format of the error frame prescribed | regulated by a CAN protocol. 実施の形態1に係る監視ECUの構成図である。2 is a configuration diagram of a monitoring ECU according to Embodiment 1. FIG. 実施の形態1に係る監視ECUが用いるフレーム受信履歴情報の一例を示す図である。It is a figure which shows an example of the flame | frame reception log information which monitoring ECU which concerns on Embodiment 1 uses. 実施の形態1に係る監視ECUが用いる車両状態情報の一例を示す図である。It is a figure which shows an example of the vehicle state information which monitoring ECU which concerns on Embodiment 1 uses. 実施の形態1に係る監視ECUが用いる機能制限ルールの一例を示す図である。It is a figure which shows an example of the function restriction rule which monitoring ECU which concerns on Embodiment 1 uses. 車載ネットワークシステムにおけるECUの構成図である。It is a block diagram of ECU in a vehicle-mounted network system. 各種ECUが送信するデータフレームの例を示す図である。It is a figure which shows the example of the data frame which various ECU transmits. 実施の形態1における駐車支援機能の処理シーケンスを示す図である。It is a figure which shows the processing sequence of the parking assistance function in Embodiment 1. FIG. 実施の形態1における駐車支援機能への攻撃及び不正制御抑止処理のシーケンスを示す図である。It is a figure which shows the sequence of the attack to the parking assistance function in Embodiment 1, and an unauthorized control suppression process. 実施の形態1に係る監視ECUによる監視動作の一例を示すフローチャートである。3 is a flowchart illustrating an example of a monitoring operation performed by a monitoring ECU according to the first embodiment. 実施の形態2に係る車載ネットワークシステムの全体構成を示す図である。It is a figure which shows the whole structure of the vehicle-mounted network system which concerns on Embodiment 2. FIG. 実施の形態2に係る監視ECUの構成図である。FIG. 6 is a configuration diagram of a monitoring ECU according to a second embodiment. 実施の形態2に係る監視ECUが用いるフレーム受信履歴情報の一例を示す図である。It is a figure which shows an example of the frame reception log information which monitoring ECU which concerns on Embodiment 2 uses. 実施の形態2に係る監視ECUが用いる機能制限ルールの一例を示す図である。It is a figure which shows an example of the function restriction rule which monitoring ECU which concerns on Embodiment 2 uses. 車両状態を偽装する攻撃を受けた場合の車両状態の継続時間を説明するための図である。It is a figure for demonstrating the duration of a vehicle state at the time of receiving the attack which camouflages a vehicle state. 実施の形態2における駐車支援機能に係る攻撃と不正制御抑止とのシーケンスを示す図である。It is a figure which shows the sequence of the attack which concerns on the parking assistance function in Embodiment 2, and fraud control suppression. 実施の形態2に係る監視ECUによる監視動作の一例を示すフローチャートである。6 is a flowchart illustrating an example of a monitoring operation performed by a monitoring ECU according to the second embodiment. 実施の形態3に係る車載ネットワークシステムの全体構成を示す図である。It is a figure which shows the whole structure of the vehicle-mounted network system which concerns on Embodiment 3. FIG. 実施の形態3に係るECUが送信するデータフレームの例を示す図である。It is a figure which shows the example of the data frame which ECU which concerns on Embodiment 3 transmits. 実施の形態3に係る監視ECUの構成図である。FIG. 6 is a configuration diagram of a monitoring ECU according to a third embodiment. 実施の形態3に係る監視ECUが用いるフレーム受信履歴情報の一例を示す図である。It is a figure which shows an example of the flame | frame reception log information which monitoring ECU which concerns on Embodiment 3 uses. 実施の形態3に係る監視ECUが用いる機能制限ルールの一例を示す図である。It is a figure which shows an example of the function restriction rule which monitoring ECU which concerns on Embodiment 3 uses. 実施の形態3に係る監視ECUが用いる計測関連情報の一例を示す図である。It is a figure which shows an example of the measurement relevant information which monitoring ECU which concerns on Embodiment 3 uses. 実施の形態3におけるクルーズコントロール機能への攻撃と不正制御抑止とのシーケンスを示す図である。FIG. 11 is a diagram illustrating a sequence of an attack on a cruise control function and unauthorized control inhibition in the third embodiment. 実施の形態3に係る監視ECUによる監視動作の一例を示すフローチャートである。10 is a flowchart illustrating an example of a monitoring operation performed by a monitoring ECU according to Embodiment 3. 他の実施の形態に係る不正制御抑止装置の構成の一例を示す図である。It is a figure which shows an example of a structure of the unauthorized control suppression apparatus which concerns on other embodiment.
 本開示の一態様に係る不正制御抑止方法は、制御対象に対して所定制御を指示する制御フレームを含む複数のフレームの授受を通信路を介して行う複数の電子制御ユニットを備えるネットワークシステムにおける不正制御抑止方法であって、前記通信路から複数のフレームを逐次受信する受信ステップと、前記受信ステップで受信された制御フレームに基づく前記所定制御を抑止すべきか否かを、当該制御フレームの受信時に先行する所定期間内に前記受信ステップで受信されたフレームの集合に基づいて、判定する判定ステップとを含む不正制御抑止方法である。これにより、所定期間内に受信されたフレームの集合から、その所定期間における制御対象が異常状態であるか否か等の特定が可能となるので、制御フレームによる制御を抑止すべきか否かの判定を適切に行うことが可能となり得る。 An unauthorized control suppression method according to an aspect of the present disclosure includes an unauthorized control in a network system including a plurality of electronic control units that perform transmission / reception of a plurality of frames including a control frame instructing a control target with predetermined control via a communication path A control suppression method, wherein a reception step of sequentially receiving a plurality of frames from the communication path, and whether or not the predetermined control based on the control frame received in the reception step should be suppressed are determined when the control frame is received. And a determination step of determining based on a set of frames received in the reception step within a predetermined period preceding. This makes it possible to specify whether or not the control target in the predetermined period is in an abnormal state from the set of frames received within the predetermined period, so whether or not control by the control frame should be suppressed May be able to be performed appropriately.
 また、前記複数のフレームには、前記制御対象の状態に関する情報を含む状態フレームが含まれ、前記判定ステップでは、前記受信ステップで受信された制御フレームに基づく前記所定制御を抑止すべきか否かを、当該制御フレームの受信時に先行する所定期間内に前記受信ステップで受信された状態フレームの集合に基づいて特定される、当該所定期間における前記制御対象の状態が、所定基準を満たすか否かに基づいて、判定することとしても良い。例えば、車両等といった制御対象の偽装状態を捉えるように所定基準を定めておく。これにより、攻撃者が、制御対象の状態を偽装する前準備をした上で制御対象を制御するための不正な制御フレームを送信した場合において、その不正な制御フレームによる制御を抑止すべきと適切に判定することが可能となり得る。 The plurality of frames include a state frame including information on the state of the control target. In the determination step, whether or not the predetermined control based on the control frame received in the reception step should be suppressed is determined. Whether the state of the control target in the predetermined period specified based on the set of state frames received in the reception step within the predetermined period preceding the reception of the control frame satisfies a predetermined criterion. It is good also as judging based on. For example, a predetermined standard is set so as to capture a camouflaged state of a control target such as a vehicle. As a result, when an attacker sends an unauthorized control frame for controlling the controlled object after making preparations for impersonating the controlled object state, it is appropriate that the control by the unauthorized control frame should be suppressed It may be possible to make a determination.
 また、前記判定ステップでは、前記所定期間内に前記受信ステップで受信された状態フレームの集合に、異常な状態フレームが含まれている場合に前記制御対象の状態を偽装状態であると特定し、異常な状態フレームが含まれていない場合に前記制御対象の状態を偽装状態でないと特定し、前記所定基準は、特定される前記制御対象の状態が、偽装状態である場合に満たされ、前記制御対象の状態が偽装状態でない場合に満たされず、前記判定ステップでは、前記所定基準が満たされた場合に前記所定制御を抑止すべきと判定することとしても良い。異常な状態フレームは、例えば、通常とり得る値とは異なる値を示すデータを含む状態フレームである。これにより、攻撃者が、制御対象の状態を偽装して制御対象を制御するための不正な制御フレームを送信した場合にその不正な制御フレームの抑止が可能となる。 Further, in the determination step, when an abnormal state frame is included in the set of state frames received in the reception step within the predetermined period, the state of the control target is specified as a camouflaged state, When the abnormal state frame is not included, the state of the control target is specified as not being a camouflaged state, and the predetermined criterion is satisfied when the specified state of the control target is a camouflaged state, and the control It is not satisfied when the target state is not a camouflaged state, and the determination step may determine that the predetermined control should be suppressed when the predetermined criterion is satisfied. The abnormal state frame is, for example, a state frame including data indicating a value different from a value that can be normally taken. As a result, when an attacker transmits an unauthorized control frame for controlling the controlled object by impersonating the state of the controlled object, the unauthorized control frame can be suppressed.
 また、前記判定ステップでは、前記所定期間内に前記受信ステップで受信された状態フレームの集合に、所定閾値より短い受信間隔で受信された、前記所定制御の実行のために用いられる同一項目の情報を示す複数の状態フレームが含まれている場合に、当該集合に異常な状態フレームが含まれているとして、前記制御対象の状態を偽装状態であると特定することとしても良い。これにより、予め定められている状態フレームの送信間隔のマージンを踏まえて適切に所定閾値を定めておくことにより、偽装状態の特定を適切に行うことが可能となる。例えば、所定制御が車両のハンドル制御である場合に、そのハンドル制御の実行のために用いられる目標操舵角を示す状態フレームが、そのマージンに基づく所定閾値より短い受信間隔で複数受信された場合等に、車両等といった制御対象の状態を偽装状態であると特定し得る。このため、不正な所定制御の抑止を適切に行うことが可能となる。 Further, in the determination step, information on the same item used for execution of the predetermined control received in a set of state frames received in the reception step within the predetermined period at a reception interval shorter than a predetermined threshold. May be specified as an impersonated state on the assumption that an abnormal state frame is included in the set. As a result, it is possible to appropriately specify the camouflaged state by appropriately setting the predetermined threshold in consideration of the margin of the transmission interval of the predetermined state frame. For example, when the predetermined control is a vehicle steering control, a plurality of status frames indicating a target steering angle used for executing the steering control are received at a reception interval shorter than a predetermined threshold based on the margin, etc. In addition, the state of the control target such as a vehicle can be specified as the camouflaged state. For this reason, it is possible to appropriately prevent unauthorized predetermined control.
 また、前記判定ステップでは、前記所定期間内に前記受信ステップで受信された状態フレームの集合に、前記所定制御の実行のために用いられる同一項目の情報を示す状態フレームが所定数より多く含まれている場合に、当該集合に異常な状態フレームが含まれているとして、前記制御対象の状態を偽装状態であると特定することとしても良い。これにより、状態フレームが冗長に送信されているような偽装状態を適切に特定できるようになる。 In the determining step, the set of status frames received in the receiving step within the predetermined period includes more than a predetermined number of status frames indicating information on the same item used for executing the predetermined control. In such a case, the state of the control target may be specified as a camouflaged state on the assumption that an abnormal state frame is included in the set. This makes it possible to appropriately identify a camouflaged state in which the state frame is transmitted redundantly.
 また、前記判定ステップでは、前記所定期間内に前記受信ステップで受信された状態フレームの集合に、前記所定制御の実行のために用いられる同一項目の情報を示す2つの状態フレームが含まれ、当該2つの状態フレームが示す当該情報の値の差異が所定量より大きい場合に、当該集合に異常な状態フレームが含まれているとして、前記制御対象の状態を偽装状態であると特定することとしても良い。これにより、制御対象の真の状態を表す値の状態フレームと、攻撃者により送信された、その真の状態とは異なる偽の状態を表わす状態フレームとが混在する場合に、状態フレームが示す情報の値が所定量より大きく変化し得るので、このような偽装状態を適切に特定できるようになる。 Further, in the determination step, two state frames indicating information of the same item used for execution of the predetermined control are included in a set of the state frames received in the reception step within the predetermined period. When the difference between the values of the information indicated by the two status frames is larger than a predetermined amount, the abnormal state frame is included in the set, and the state of the control target may be specified as a camouflaged state. good. As a result, when the state frame having a value representing the true state of the control target and the state frame representing a false state different from the true state transmitted by the attacker are mixed, information indicated by the state frame Since the value of can vary more than a predetermined amount, such a camouflaged state can be appropriately specified.
 また、前記判定ステップでは、前記所定期間内に前記受信ステップで受信された状態フレームの集合に、前記所定制御の実行のために用いられる同一項目の情報を示す複数の状態フレームが含まれ、受信された順に並べた当該複数の状態フレームが示す当該情報の値が所定規則に従っていない場合に、当該集合に異常な状態フレームが含まれているとして、前記制御対象の状態を偽装状態であると特定することとしても良い。これにより、例えば、車両の状態が第3状態に変化する前においては第1状態、第2状態をこの順に経るという所定規則を定めていたような場合には、車両状態が第1状態であることを示す状態フレームの次に第3状態であることを示す状態フレームが受信されると、偽装状態であると特定される。このため、例えば制御対象としての車両等の仕様に対応して適切に所定規則を定めておくことにより、適切に偽装状態の特定を行うことが可能となる。 In the determination step, a set of status frames received in the reception step within the predetermined period includes a plurality of status frames indicating information on the same item used for execution of the predetermined control. If the value of the information indicated by the plurality of state frames arranged in the order in which they are arranged does not conform to a predetermined rule, the control target state is identified as a camouflaged state, assuming that an abnormal state frame is included in the set It is also good to do. Thereby, for example, when a predetermined rule that the first state and the second state are passed in this order before the state of the vehicle changes to the third state, the vehicle state is the first state. When the status frame indicating the third status is received after the status frame indicating the status, the camouflaged status is identified. For this reason, for example, by appropriately setting a predetermined rule corresponding to the specification of the vehicle or the like as the control target, it becomes possible to appropriately specify the camouflaged state.
 また、前記所定基準は、前記所定期間における前記制御対象の状態が、安定状態でない場合に満たされ、安定状態である場合に満たされず、前記安定状態は、前記制御対象の状態を示す特定の状態フレームのデータ値がある一定値或いは一定範囲内である状態であり、前記判定ステップでは、制御フレームに基づく前記所定制御に係る前記判定を、当該制御フレームの受信時に連続する当該受信時の直前の前記所定期間内に前記受信ステップで受信された状態フレームの集合に基づいて特定される、当該所定期間における前記制御対象の状態に基づいて、行ない、前記判定ステップでは、前記所定基準が満たされた場合に前記所定制御を抑止すべきと判定することとしても良い。これにより、攻撃者が、不正な制御フレームの送信の前に、制御対象の状態を偽装する状態フレームを送信して、制御対象の状態が安定状態から外れている場合には、その不正な制御フレームによる制御を抑止すべきと適切に判定することが可能となり得る。 In addition, the predetermined criterion is satisfied when the state of the control target in the predetermined period is not a stable state and is not satisfied when the state is a stable state, and the stable state is a specific state indicating the state of the control target The data value of the frame is in a certain value or within a certain range, and in the determination step, the determination related to the predetermined control based on the control frame is performed immediately before the reception at the reception of the control frame. Based on a set of state frames received in the reception step within the predetermined period, and based on the state of the control target in the predetermined period, the predetermined criterion is satisfied in the determination step In this case, it may be determined that the predetermined control should be suppressed. As a result, if the attacker sends a status frame that impersonates the state of the controlled object before sending an unauthorized control frame, and the controlled object is out of the stable state, the unauthorized control It may be possible to appropriately determine that the control by the frame should be suppressed.
 また、前記所定基準は、前記所定期間における前記制御対象の状態が、所定回数を超えて変化する変化多発状態である場合に満たされ、変化多発状態でない場合に満たされず、前記判定ステップでは、前記所定基準が満たされた場合に前記所定制御を抑止すべきと判定することとしても良い。この変化は、例えば、状態を量的に表した場合において一定量を超えた変化、或いは、状態を複数区分に分けて表した場合において区分が変わる変化等である。これにより、正常に送信されたフレームと攻撃者により送信されたフレームとが交互にネットワークの通信路に現れること等によって、瞬間ではなく所定期間において見ればそれらのフレームが示す情報に不整合が生じている状態が生じている場合において、攻撃者に送信された不正な制御フレームによる制御を抑止すべきと適切に判定することが可能となり得る。 The predetermined criterion is satisfied when the state of the control target in the predetermined period is a change frequent state that changes more than a predetermined number of times, and is not satisfied when the state is not a frequent change state. In the determination step, It may be determined that the predetermined control should be inhibited when a predetermined criterion is satisfied. This change is, for example, a change that exceeds a certain amount when the state is represented quantitatively, or a change that changes the division when the state is divided into a plurality of categories. As a result, frames transmitted normally and frames transmitted by attackers appear alternately on the network communication path, etc., causing inconsistencies in the information indicated by those frames when viewed in a predetermined period rather than instantaneously. When a situation occurs, it may be possible to appropriately determine that control by an unauthorized control frame transmitted to the attacker should be suppressed.
 また、前記不正制御抑止方法は更に、前記判定ステップで制御フレームに基づく前記所定制御を抑止すべきと判定された場合に、前記所定制御の抑止のための所定処理を実行する処理ステップを含み、前記所定処理は、当該制御フレームを破棄する処理、前記通信路上で当該制御フレームを上書きする処理、他の通信路への当該制御フレームの転送を抑止する処理、及び、前記電子制御ユニットに当該制御フレームに基づく前記所定制御を実行させないように指示する処理のいずれか1つを含むこととしても良い。これにより、攻撃者に送信された不正な制御フレームに基づく所定制御が適切に抑止され得る。 The unauthorized control suppression method further includes a processing step of executing a predetermined process for suppressing the predetermined control when it is determined in the determination step that the predetermined control based on a control frame should be suppressed. The predetermined process includes a process of discarding the control frame, a process of overwriting the control frame on the communication path, a process of suppressing transfer of the control frame to another communication path, and the control to the electronic control unit. Any one of the processes instructing not to execute the predetermined control based on the frame may be included. Thereby, the predetermined control based on the unauthorized control frame transmitted to the attacker can be appropriately suppressed.
 また、前記制御対象は、前記ネットワークシステムを搭載する車両であり、前記通信路は、前記車両における有線通信路であり、前記複数の電子制御ユニットは、CANプロトコル又はEthernet(登録商標)プロトコルに従って、前記複数のフレームの授受を行うこととしても良い。これにより、車載ネットワークのセキュリティの確保が可能となる。 The control target is a vehicle equipped with the network system, the communication path is a wired communication path in the vehicle, and the plurality of electronic control units are in accordance with a CAN protocol or an Ethernet (registered trademark) protocol. The plurality of frames may be exchanged. As a result, security of the in-vehicle network can be ensured.
 また、前記所定制御は、前記車両の走行に関わる制御であることとしても良い。また、前記受信ステップでは、車速、車輪の回転速度、ヨーレート、加速度、操舵角、アクセルペダル開度、制動レベル、エンジンの回転数、モータの回転数、ギアポジション、及び、イグニッションスイッチの状態のいずれか1つについての情報を含むフレームである状態フレームを逐次受信することとしても良い。これにより、車両の走行を支配するための攻撃者による攻撃への防御が可能となり得る。 Further, the predetermined control may be control related to traveling of the vehicle. In the receiving step, any of vehicle speed, wheel rotation speed, yaw rate, acceleration, steering angle, accelerator pedal opening, braking level, engine rotation speed, motor rotation speed, gear position, and ignition switch state It is good also as receiving sequentially the status frame which is a flame | frame containing the information about one. Thereby, it can be possible to defend against an attack by an attacker for controlling the running of the vehicle.
 また、前記複数のフレームには、前記制御対象の状態に関する情報を含む状態フレームが含まれ、前記複数の電子制御ユニットは、前記通信路であるネットワークバスに接続され、CANプロトコルに従って、データフレームである状態フレーム及び制御フレームの授受を行い、前記不正制御抑止方法は更に、前記判定ステップで制御フレームに基づく前記所定制御を抑止すべきと判定された場合に、当該制御フレームの少なくとも一部に上書きするように前記ネットワークバスにエラーフレームを送信する処理ステップを含むこととしても良い。これにより、車載ネットワークにおいて効率的に制御フレームを無効化することが可能となる。 Further, the plurality of frames include a state frame including information on the state of the control target, and the plurality of electronic control units are connected to a network bus as the communication path, and are data frames according to a CAN protocol. When a determination is made in the determination step that the predetermined control based on the control frame should be suppressed, the illegal control suppression method overwrites at least a part of the control frame. Thus, a processing step of transmitting an error frame to the network bus may be included. As a result, the control frame can be effectively invalidated in the in-vehicle network.
 また、本開示の一態様に係る不正制御抑止装置は、複数の電子制御ユニットが、制御対象に対して所定制御を指示する制御フレームを含む複数のフレームの授受を通信路を介して行うところの当該通信路に接続される不正制御抑止装置であって、前記通信路から複数のフレームを逐次受信する受信部と、前記受信部により受信された制御フレームに基づく前記所定制御を抑止すべきか否かを、当該制御フレームの受信時に先行する所定期間内に前記受信部により受信されたフレームの集合に基づいて、判定する判定部とを備える不正制御抑止装置である。これにより、所定期間内に受信されたフレームの集合から、その所定期間における制御対象が異常状態である場合に、制御フレームによる制御を抑止すべきと適切に判定され得る。この適切な判定に基づいて制御の抑止を適切に行うことが実現され得る。また、不正制御抑止装置は、複数の電子制御ユニットで構成されるネットワークシステムの通信路に接続するだけで利用され得るので、ネットワークシステムの構成を大きく変更することなく導入可能である。 In addition, in the unauthorized control suppression device according to one aspect of the present disclosure, a plurality of electronic control units perform transmission / reception of a plurality of frames including a control frame instructing predetermined control with respect to a control target via a communication path. A fraud control suppression apparatus connected to the communication path, wherein a reception unit that sequentially receives a plurality of frames from the communication path, and whether or not the predetermined control based on the control frame received by the reception unit should be suppressed Is a fraud control inhibiting device comprising a determination unit that determines a frame based on a set of frames received by the reception unit within a predetermined period preceding the reception of the control frame. Thereby, from the set of frames received within the predetermined period, when the control target in the predetermined period is in an abnormal state, it can be appropriately determined that the control by the control frame should be suppressed. Appropriate control suppression can be realized based on this appropriate determination. In addition, since the unauthorized control suppression device can be used simply by connecting to a communication path of a network system composed of a plurality of electronic control units, it can be introduced without greatly changing the configuration of the network system.
 また、本開示の一態様に係る車載ネットワークシステムは、車両の状態に関する情報を含むフレームである状態フレーム、及び、前記車両に対して所定制御を指示するフレームである制御フレームの授受をネットワークバスを介して行う複数の電子制御ユニットを備える車載ネットワークシステムであって、前記ネットワークバスから状態フレーム及び制御フレームを逐次受信する受信部と、前記受信部により受信された制御フレームに基づく前記所定制御を抑止すべきか否かを、当該制御フレームの受信時に先行する所定期間内に前記受信部により受信された状態フレームの集合に基づいて特定される、当該所定期間における前記車両の状態が、所定基準を満たすか否かに基づいて、判定する判定部とを備える車載ネットワークシステムである。これにより、例えば、車両の偽装状態を捉えるように所定基準を定めておくことにより、攻撃者が、車両の状態を偽装する前準備をした上で車両を制御するための不正な制御フレームを送信した場合において、その不正な制御フレームによる制御を抑止すべきと適切に判定し得る。このため、この車載ネットワークシステムは、攻撃に対する適切な防御を行うことが可能となる。 In addition, an in-vehicle network system according to an aspect of the present disclosure uses a network bus to transmit and receive a state frame that is a frame that includes information on the state of the vehicle, and a control frame that is a frame that instructs the vehicle to perform predetermined control. An in-vehicle network system comprising a plurality of electronic control units via a receiver, which sequentially receives a status frame and a control frame from the network bus, and inhibits the predetermined control based on the control frame received by the receiver Whether or not to be determined is determined based on a set of state frames received by the receiving unit within a predetermined period preceding the reception of the control frame, and the state of the vehicle in the predetermined period satisfies a predetermined criterion In-vehicle network system comprising a determination unit for determining whether or not A. Thus, for example, by setting a predetermined standard so as to capture the camouflaged state of the vehicle, an attacker transmits an unauthorized control frame for controlling the vehicle after preparing for camouflaging the vehicle state. In this case, it can be appropriately determined that the control by the unauthorized control frame should be suppressed. For this reason, this in-vehicle network system can perform appropriate defense against attacks.
 なお、これらの全般的又は具体的な態様は、システム、方法、集積回路、コンピュータプログラム又はコンピュータで読み取り可能なCD-ROM等の記録媒体で実現されても良く、システム、方法、集積回路、コンピュータプログラム又は記録媒体の任意な組み合わせで実現されても良い。 These general or specific aspects may be realized by a system, a method, an integrated circuit, a computer program, or a computer-readable recording medium such as a CD-ROM. The system, method, integrated circuit, computer You may implement | achieve with arbitrary combinations of a program or a recording medium.
 以下、実施の形態に係る不正制御抑止方法を用いる監視ECUを含む車載ネットワークシステムについて、図面を参照しながら説明する。ここで示す実施の形態は、いずれも本開示の一具体例を示すものである。従って、以下の実施の形態で示される数値、構成要素、構成要素の配置及び接続形態、並びに、処理の要素としてのステップ及びステップの順序等は、一例であって本開示を限定するものではない。以下の実施の形態における構成要素のうち、独立請求項に記載されていない構成要素については、任意に付加可能な構成要素である。また、各図は、模式図であり、必ずしも厳密に図示されたものではない。 Hereinafter, an in-vehicle network system including a monitoring ECU that uses an unauthorized control suppression method according to an embodiment will be described with reference to the drawings. Each of the embodiments shown here shows a specific example of the present disclosure. Therefore, numerical values, components, arrangement and connection forms of components, and steps and order of steps as processing elements shown in the following embodiments are merely examples and do not limit the present disclosure. . Among the constituent elements in the following embodiments, constituent elements that are not described in the independent claims can be arbitrarily added. Each figure is a mimetic diagram and is not necessarily illustrated strictly.
 (実施の形態1)
 以下、本開示の実施の形態1として、車載ネットワークを流れるフレームを監視する監視ECUを含む車載ネットワークシステム10について、図面を用いて説明する。
(Embodiment 1)
Hereinafter, as a first embodiment of the present disclosure, an in-vehicle network system 10 including a monitoring ECU that monitors a frame flowing in an in-vehicle network will be described with reference to the drawings.
 [1.1 車載ネットワークシステム10の全体構成]
 図1は、実施の形態1に係る車載ネットワークシステム10の全体構成を示す図である。
[1.1 Overall configuration of in-vehicle network system 10]
FIG. 1 is a diagram illustrating an overall configuration of an in-vehicle network system 10 according to the first embodiment.
 車載ネットワークシステム10は、CANプロトコルに従って通信するネットワーク通信システムの一例であり、制御装置、センサ、アクチュエータ、ユーザインタフェース装置等の各種機器が搭載された車両におけるネットワーク通信システムである。車載ネットワークシステム10は、バスを介してフレームに係る通信を行う複数の装置を備え、不正制御抑止方法を用いる。具体的には図1に示すように車載ネットワークシステム10は、バス300と、バス300に接続された監視ECU100、ECU200a~200d等とを含んで構成される。なお、車載ネットワークシステム10には、監視ECU100及びECU200a~200d以外にもいくつものECUが含まれ得るが、ここでは、便宜上、監視ECU100及びECU200a~200dに注目して説明を行う。車載ネットワークシステム10を搭載する車両においては、複数のECUが通信して連携することで、例えば、先進運転者支援システム(ADAS:Advanced Driver Assistance System)の一機能である駐車支援機能等が実現される。 The in-vehicle network system 10 is an example of a network communication system that performs communication according to the CAN protocol, and is a network communication system in a vehicle on which various devices such as a control device, a sensor, an actuator, and a user interface device are mounted. The in-vehicle network system 10 includes a plurality of devices that perform communication related to a frame via a bus, and uses an unauthorized control suppression method. Specifically, as shown in FIG. 1, the in-vehicle network system 10 includes a bus 300 and a monitoring ECU 100, ECUs 200a to 200d, and the like connected to the bus 300. The in-vehicle network system 10 may include a number of ECUs in addition to the monitoring ECU 100 and the ECUs 200a to 200d. Here, for the sake of convenience, the description will be given focusing on the monitoring ECU 100 and the ECUs 200a to 200d. In a vehicle equipped with the in-vehicle network system 10, a plurality of ECUs communicate and cooperate to realize, for example, a parking assistance function that is a function of an advanced driver assistance system (ADAS: Advanced Driver Assistance System). The
 各ECUは、例えば、プロセッサ(マイクロプロセッサ)、メモリ等のデジタル回路、アナログ回路、通信回路等を含む装置である。メモリは、ROM、RAM等であり、プロセッサにより実行されるプログラム(コンピュータプログラム)を記憶することができる。例えばプロセッサが、プログラムに従って動作することにより、ECUは各種機能を実現することになる。なお、コンピュータプログラムは、所定の機能を達成するために、プロセッサに対する指令を示す命令コードが複数個組み合わされて構成されたものである。ECUは、各種機器に接続され得る。ECU200aは、速度センサ210に接続されている。ECU200bは、車両の後方を撮影するカメラであるリアカメラ220、及び、例えば映像、GUI(Graphical User Interface)画像等を表示して操作を受け付けるタッチパネル等であるモニタ230と接続されている。ECU200cは、ハンドル(ステアリングホイール)240に接続されている。また、ECU200dは、変速機構であるギア250に接続されている。 Each ECU is a device including, for example, a processor (microprocessor), a digital circuit such as a memory, an analog circuit, a communication circuit, and the like. The memory is a ROM, a RAM, or the like, and can store a program (computer program) executed by the processor. For example, when the processor operates according to a program, the ECU realizes various functions. The computer program is configured by combining a plurality of instruction codes indicating instructions for the processor in order to achieve a predetermined function. The ECU can be connected to various devices. The ECU 200a is connected to the speed sensor 210. The ECU 200b is connected to a rear camera 220 that is a camera that captures the rear of the vehicle and a monitor 230 that is a touch panel that displays an image, a GUI (Graphical User Interface) image, and the like and receives an operation. The ECU 200c is connected to a handle (steering wheel) 240. The ECU 200d is connected to a gear 250 that is a speed change mechanism.
 各ECUは、CANプロトコルに従って、バス300を介してフレームの授受を行う。ECU間で授受されるフレームには、例えば、車両の状態に関する情報を含むデータフレーム(状態フレームと称する)、車両に対して制御を指示するデータフレーム(制御フレームと称する)等がある。なお、ECU間で、車両の状態に関する状態を含みかつ車両に対して制御を指示するデータフレーム、つまり状態フレームでありかつ制御フレームであるデータフレームの授受がなされても良い。 Each ECU exchanges frames via the bus 300 according to the CAN protocol. Frames exchanged between ECUs include, for example, a data frame (referred to as a state frame) that includes information related to the state of the vehicle, a data frame (referred to as a control frame) that instructs the vehicle to perform control, and the like. A data frame including a state relating to the state of the vehicle and instructing the vehicle to be controlled, that is, a data frame that is a state frame and is a control frame may be exchanged between the ECUs.
 ECU200aは、速度センサ210から得られる車速(つまり車両の速度)のデータをデータフレームに含めて周期的にバス300へ送信する。ECU200bは、リアカメラ220から取得した車両後方の映像を、モニタ230に表示し、車両の運転者へ後方の様子を知らせる。また、ECU200bは、モニタ230へのタッチ操作等による、運転者からの駐車支援機能の開始要求を受け付ける。ここでは、駐車支援機能が、車両の後方の、運転者が指定した駐車スペースを目指して、自動的にハンドルを操作する機能であることとして説明する。ギア250を車両の後進のためのギアポジションである「リバース」にして駐車支援機能の開始要求の操作を行えば、運転者は、アクセル及びブレーキの操作を行うだけで、車両を後進させて駐車スペースに駐車させることができる。ECU200bは、運転者から駐車支援機能の開始要求を受けると、リアカメラ220の情報から、ハンドルを回すべき角度に係る目標操舵角を計算し、ハンドル制御指示を示すデータフレームに、制御フラグと目標操舵角とを示すデータを含めて、周期的にバス300へ送信する。ここで、ハンドル制御指示を示すデータフレームの制御フラグは、1の値で制御を行うことを示し、0の値で制御を行わないことを示す。制御フラグが1の値であればハンドル制御指示を示すデータフレームは制御フレームである。ECU200cは、ECU200bから送信された、ハンドル制御指示の制御フレームに従い、ハンドル240を制御して車両の進行方向を変化させる。なお、ECU200cは、ECU200aから通知される車速が10km/h以下であり、かつ、ギア250のギアポジションが「リバース」であることを確認できた場合に、ハンドル240の制御を行う。ECU200dは、ギア250の現在のギアポジションを示すデータをデータフレームに含めて周期的にバス300へ送信する。車速を示す状態フレーム及びギアポジションを示す状態フレームは、略一定の周期で逐次送信される。 The ECU 200a periodically includes the data on the vehicle speed (that is, the vehicle speed) obtained from the speed sensor 210 in a data frame and transmits the data to the bus 300. The ECU 200b displays the rear image of the vehicle acquired from the rear camera 220 on the monitor 230 to notify the driver of the vehicle of the rear state. In addition, the ECU 200b accepts a start request for a parking assist function from the driver by a touch operation on the monitor 230 or the like. Here, a description will be given assuming that the parking assist function is a function of automatically operating the steering wheel toward the parking space designated by the driver behind the vehicle. If the gear 250 is set to “reverse”, which is the gear position for the backward movement of the vehicle, and the operation for requesting the start of the parking support function is performed, the driver moves the vehicle backward and parks only by operating the accelerator and the brake. You can park in the space. When the ECU 200b receives a start request for the parking assist function from the driver, the ECU 200b calculates a target steering angle related to an angle at which the steering wheel should be turned from information of the rear camera 220, and displays a control flag and a target in a data frame indicating a steering control instruction. The data indicating the steering angle is periodically transmitted to the bus 300. Here, the control flag of the data frame indicating the handle control instruction indicates that control is performed with a value of 1, and indicates that control is not performed with a value of 0. If the control flag has a value of 1, the data frame indicating the handle control instruction is a control frame. The ECU 200c changes the traveling direction of the vehicle by controlling the handle 240 according to the control frame of the handle control instruction transmitted from the ECU 200b. Note that the ECU 200c controls the handle 240 when the vehicle speed notified from the ECU 200a is 10 km / h or less and the gear position of the gear 250 is confirmed to be “reverse”. The ECU 200d periodically transmits data indicating the current gear position of the gear 250 to the bus 300 in a data frame. The state frame indicating the vehicle speed and the state frame indicating the gear position are sequentially transmitted at a substantially constant cycle.
 監視ECU100は、不正制御抑止装置としての一種のECUであり、バス300に接続される。監視ECU100は、バス300に流れる状態フレーム、制御フレーム等のデータフレームを監視し、攻撃者の攻撃により送信された車両制御を指示する不正な制御フレームを検知した場合にその制御フレームを無効化することで不正な車両制御を抑止する。 The monitoring ECU 100 is a kind of ECU as an unauthorized control suppression device, and is connected to the bus 300. The monitoring ECU 100 monitors data frames such as a state frame and a control frame that flow through the bus 300, and invalidates the control frame when an unauthorized control frame that instructs vehicle control transmitted by an attacker's attack is detected. This prevents unauthorized vehicle control.
 [1.2 データフレームフォーマット]
 以下、CANプロトコルに従ったネットワークで用いられるデータフレームについて説明する。
[1.2 Data frame format]
Hereinafter, data frames used in a network according to the CAN protocol will be described.
 図2は、CANプロトコルで規定されるデータフレームのフォーマットを示す図である。同図には、CANプロトコルで規定される標準IDフォーマットにおけるデータフレームを示している。データフレームは、SOF(Start Of Frame)、IDフィールド、RTR(Remote Transmission Request)、IDE(Identifier Extension)、予約ビット「r」、DLC(Data Length Code)、データフィールド、CRC(Cyclic Redundancy Check)シーケンス、CRCデリミタ「DEL」、ACK(Acknowledgement)スロット、ACKデリミタ「DEL」、及び、EOF(End Of Frame)の各フィールドで構成される。 FIG. 2 is a diagram showing a data frame format defined by the CAN protocol. In the figure, a data frame in a standard ID format defined by the CAN protocol is shown. The data frame includes an SOF (Start Of Frame), ID field, RTR (Remote Transmission Request), IDE (Identifier Extension), reserved bit “r”, DLC (Data Length Code), data field, CRC (Cyclic Redundancy Check) sequence. , A CRC delimiter “DEL”, an ACK (Acknowledgement) slot, an ACK delimiter “DEL”, and an EOF (End Of Frame) field.
 SOFは、1bitのドミナントで構成される。バスがアイドルの状態はレセシブになっており、SOFによりドミナントへ変更することが、フレームの送信開始の通知となる。 SOF is composed of 1-bit dominant. The idle state of the bus is recessive, and changing to dominant by SOF is a notification of frame transmission start.
 IDフィールドは、11bitで構成される、データの種類を示す値であるIDを格納するフィールドである。複数のノードが同時に送信を開始した場合、このIDフィールドで通信調停を行うために、IDが小さい値を持つフレームが高い優先度となるよう設計されている。 The ID field is a field for storing an ID that is a value indicating the type of data, which is composed of 11 bits. When a plurality of nodes start transmission at the same time, a frame having a small ID is designed to have a high priority in order to perform communication arbitration in this ID field.
 RTRは、データフレームとリモートフレームとを識別するための値であり、データフレームにおいてはドミナント1bitで構成される。 RTR is a value for identifying a data frame and a remote frame, and is composed of a dominant 1 bit in the data frame.
 IDEと「r」とは、両方ドミナント1bitで構成される。 IDE and “r” are both composed of dominant 1 bit.
 DLCは、4bitで構成され、データフィールドの長さを示す値である。 DLC is composed of 4 bits and is a value indicating the length of the data field.
 データフィールドは、最大64bitで構成される送信するデータの内容を示す値である。データフィールドは、8bit毎に長さを調整できる。送られるデータの仕様については、CANプロトコルで規定されておらず、車載ネットワークシステム10において定められる。従って、車種、製造者等に依存した仕様となる。 The data field is a value indicating the content of data to be transmitted composed of a maximum of 64 bits. The length of the data field can be adjusted every 8 bits. The specification of the data to be sent is not defined by the CAN protocol, but is defined in the in-vehicle network system 10. Therefore, the specification depends on the vehicle type, manufacturer, and the like.
 CRCシーケンスは、15bitで構成される。CRCシーケンスは、SOF、IDフィールド、コントロールフィールド及びデータフィールドの送信値より算出される。 CRC sequence consists of 15 bits. The CRC sequence is calculated from the transmission values of the SOF, ID field, control field, and data field.
 CRCデリミタは、1bitのレセシブで構成されるCRCシーケンスの終了を表す区切り記号である。 CRC delimiter is a delimiter representing the end of a CRC sequence composed of 1-bit recessive.
 ACKスロットは、1bitで構成される。送信ノードはACKスロットをレセシブにして送信を行う。受信ノードはCRCシーケンスまで正常に受信ができていればACKスロットをドミナントとして送信する。レセシブよりドミナントが優先されるため、送信後にACKスロットがドミナントであれば、送信ノードは、いずれかの受信ノードが受信に成功していることを確認できる。 ACK slot consists of 1 bit. The transmitting node performs transmission with the ACK slot being recessive. The receiving node transmits an ACK slot as a dominant if reception is successful up to the CRC sequence. Since dominant is given priority over recessive, if the ACK slot is dominant after transmission, the transmitting node can confirm that any receiving node has received successfully.
 ACKデリミタは、1bitのレセシブで構成されるACKの終了を表す区切り記号である。 ACK delimiter is a delimiter representing the end of ACK composed of 1-bit recessive.
 EOFは、7bitのレセシブで構成されており、データフレームの終了を示す。 EOF is composed of 7 bits recessive and indicates the end of the data frame.
 [1.3 エラーフレームフォーマット]
 図3は、CANプロトコルで規定されるエラーフレームのフォーマットを示す図である。エラーフレームは、エラーフラグ(プライマリ)と、エラーフラグ(セカンダリ)と、エラーデリミタ「DEL」とから構成される。
[1.3 Error frame format]
FIG. 3 is a diagram illustrating an error frame format defined by the CAN protocol. The error frame includes an error flag (primary), an error flag (secondary), and an error delimiter “DEL”.
 エラーフラグ(プライマリ)は、エラーの発生を他のノードに知らせるために使用される。エラーを検知したノードはエラーの発生を他のノードに知らせるために6bitのドミナントを連続で送信する。この送信は、CANプロトコルにおけるビットスタッフィングルール(つまり連続して同じ値を6bit以上送信しないルール)に違反し、他のノードからのエラーフレーム(セカンダリ)の送信を引き起こす。 The error flag (primary) is used to notify other nodes of the occurrence of an error. A node that detects an error continuously transmits a 6-bit dominant to notify other nodes of the occurrence of the error. This transmission violates the bit stuffing rule in the CAN protocol (that is, a rule that does not continuously transmit the same value of 6 bits or more), and causes an error frame (secondary) to be transmitted from another node.
 エラーフラグ(セカンダリ)は、エラーの発生を他のノードに知らせるために使用される連続した6ビットのドミナントで構成される。エラーフラグ(プライマリ)を受信してビットスタッフィングルール違反を検知した全てのノードがエラーフラグ(セカンダリ)を送信することになる。 The error flag (secondary) is composed of a continuous 6-bit dominant used to notify other nodes of the occurrence of an error. All nodes that have received the error flag (primary) and detected a violation of the bit stuffing rule will transmit the error flag (secondary).
 エラーデリミタ「DEL」は、8bitの連続したレセシブであり、エラーフレームの終了を示す。 The error delimiter “DEL” is an 8-bit continuous recess and indicates the end of the error frame.
 [1.4 監視ECU100の構成]
 図4は、監視ECU100の構成図である。監視ECU100は、フレーム送受信部110と、フレーム処理部120と、状態偽装検知部130と、機能制限部140と、フレーム生成部150と、受信履歴保持部160と、車両状態保持部170と、機能制限ルール保持部180とを含んで構成される。図4に示した監視ECU100の各構成要素は、監視ECU100のメモリ等の記憶媒体、通信回路、メモリに格納されたプログラムを実行するプロセッサ等で実現され得る。
[1.4 Configuration of Monitoring ECU 100]
FIG. 4 is a configuration diagram of the monitoring ECU 100. The monitoring ECU 100 includes a frame transmission / reception unit 110, a frame processing unit 120, a state camouflage detection unit 130, a function restriction unit 140, a frame generation unit 150, a reception history holding unit 160, a vehicle state holding unit 170, and a function. And a restriction rule holding unit 180. Each component of the monitoring ECU 100 shown in FIG. 4 can be realized by a storage medium such as a memory of the monitoring ECU 100, a communication circuit, a processor that executes a program stored in the memory, or the like.
 フレーム送受信部110は、バス300に対して、CANのプロトコルに従ったフレームを送受信する。フレーム送受信部110は、バス300からフレームを1bitずつ受信する受信部としての機能を有する。フレーム送受信部110は、データフレームを受信して、データフレーム内のID、DLC、データといった情報をフレーム処理部120に転送する。また、フレーム送受信部110は、CANプロトコルに則っていないデータフレームと判断した場合は、エラーフレームを送信する。また、フレーム送受信部110は、データフレームの受信中にエラーフレームを受信した場合、つまり受け取ったデータフレームにおける値からエラーフレームになっていると解釈した場合には、それ以降はそのデータフレームを破棄する。フレーム送受信部110は、フレーム生成部150からデータフレームの送信要求を受けた場合には、そのデータフレームの内容をバス300に1bitずつ送信する。 The frame transmission / reception unit 110 transmits / receives a frame according to the CAN protocol to / from the bus 300. The frame transmission / reception unit 110 has a function as a reception unit that receives a frame from the bus 300 bit by bit. The frame transmitting / receiving unit 110 receives the data frame and transfers information such as ID, DLC, and data in the data frame to the frame processing unit 120. If the frame transmission / reception unit 110 determines that the data frame does not conform to the CAN protocol, the frame transmission / reception unit 110 transmits an error frame. In addition, when the frame transmission / reception unit 110 receives an error frame during reception of a data frame, that is, when it interprets that the value in the received data frame is an error frame, the data frame is discarded thereafter. To do. When receiving a data frame transmission request from the frame generation unit 150, the frame transmission / reception unit 110 transmits the contents of the data frame to the bus 300 one bit at a time.
 フレーム処理部120は、フレーム送受信部110よりデータフレームの情報を受け取り、データフレームの内容を解釈する。また、フレーム処理部120は、受信中のデータフレームを状態偽装検知部130と機能制限部140とに通知する。 The frame processing unit 120 receives data frame information from the frame transmitting / receiving unit 110 and interprets the contents of the data frame. Further, the frame processing unit 120 notifies the status impersonation detection unit 130 and the function restriction unit 140 of the data frame being received.
 状態偽装検知部130は、車両の状態が偽装されているか否かを、受信履歴保持部160が保持する受信履歴情報を参照して判定する偽装検知処理を行う。受信履歴情報は、データフレームの受信履歴の情報である。状態偽装検知部130は、ID毎に予め規定されたデータフレームの送信間隔に基づいて、先行して受信されたデータフレームからその送信間隔後を中心としたマージンの範囲内に複数の同一のIDのデータフレームを受信したか否かによって、車両の状態が偽装されているか否かを判定する。例えば、ECU200aが周期的に送信するID「0x100」の車速に係る状態フレームであるデータフレームの送信間隔が50msと予め規定されている場合においては、監視ECU100が、あるID「0x100」のデータフレームを受信した時刻+50ms-マージンから、そのデータフレームを受信した時刻+50ms+マージンまでの範囲の時間である期間Tに、ID「0x100」のデータフレームを受信する数は1つであると期待される。しかし、攻撃者がこの時間にID「0x100」のデータフレームを送信した場合には、ECU200aから正常に送信されたID「0x100」のデータフレームと合わせて、2つのID「0x100」のデータフレームがその期間T内に監視ECU100に受信されることになる。このような場合に、状態偽装検知部130は、ID「0x100」の状態フレームが示す車速に関して車両の状態が偽装されている偽装状態であると判定する。なお、期間Tに2つのID「0x100」のデータフレームである状態フレームを監視ECU100が受信した場合には、監視ECU100に受信された状態フレームのうちに、異常な状態フレームが含まれていることになる。このような異常な状態フレームが受信された場合に、同じIDの状態フレームが示す車両の状態について、状態偽装検知部130によって偽装状態であると判定されることになる。状態偽装検知部130は、偽装の判定を行うべき状態フレームのID毎に予め規定された送信間隔の情報を保持している。また、状態偽装検知部130が用いるマージンは、正常に送信されるデータフレームの送信間隔の揺らぎを許容するように適切に定められ、例えば、3ms等と定められている。また、状態偽装検知部130は、偽装検知処理における判定結果に応じて、車両状態保持部170に格納されている車両状態情報を更新する。また、状態偽装検知部130は、ECU200a、ECU200d等から送信される状態フレームのデータの値と、その状態フレームが受信された時刻とに基づいて、受信履歴保持部160に格納されている受信履歴情報を更新する。この更新において、状態偽装検知部130は、例えば、監視ECU100の起動時から、或いはその他の所定の時からの経過時刻をカウントするタイマにより、状態フレームが受信された時刻を取得して、受信履歴情報に記録する。 The state camouflage detection unit 130 performs a camouflage detection process that determines whether or not the vehicle state is camouflaged with reference to the reception history information held by the reception history holding unit 160. The reception history information is data frame reception history information. Based on the transmission interval of the data frame defined in advance for each ID, the state impersonation detection unit 130 includes a plurality of identical IDs within a margin range centered after the transmission interval from the previously received data frame. It is determined whether or not the state of the vehicle is camouflaged depending on whether or not the data frame is received. For example, when the transmission interval of a data frame that is a state frame related to the vehicle speed of ID “0x100” periodically transmitted by the ECU 200a is defined as 50 ms in advance, the monitoring ECU 100 determines that the data frame of a certain ID “0x100”. The number of data frames with ID “0x100” is expected to be one during the period T, which is the time from the time of receiving +50 ms−margin to the time of receiving the data frame + 50 ms + margin. However, when the attacker transmits a data frame with ID “0x100” at this time, two data frames with ID “0x100” are combined with the data frame with ID “0x100” normally transmitted from the ECU 200a. It is received by the monitoring ECU 100 within the period T. In such a case, the state camouflage detection unit 130 determines that the vehicle state is a camouflaged state in which the vehicle state is camouflaged with respect to the vehicle speed indicated by the state frame of ID “0x100”. When the monitoring ECU 100 receives the status frame that is the data frame of two IDs “0x100” in the period T, the status frame received by the monitoring ECU 100 includes an abnormal status frame. become. When such an abnormal state frame is received, the state of the vehicle indicated by the state frame having the same ID is determined by the state impersonation detection unit 130 to be in a forged state. The state impersonation detection unit 130 holds information on a transmission interval that is defined in advance for each ID of a state frame for which determination of impersonation is to be performed. In addition, the margin used by the state impersonation detection unit 130 is appropriately determined to allow fluctuations in the transmission interval of normally transmitted data frames, and is set to 3 ms, for example. Moreover, the state camouflage detection part 130 updates the vehicle state information stored in the vehicle state holding | maintenance part 170 according to the determination result in the camouflage detection process. Further, the state camouflage detection unit 130 receives the reception history stored in the reception history holding unit 160 based on the value of the state frame data transmitted from the ECU 200a, the ECU 200d, and the like and the time when the state frame was received. Update information. In this update, the state impersonation detection unit 130 acquires the time when the state frame is received, for example, by a timer that counts the elapsed time from when the monitoring ECU 100 is started or from another predetermined time, and receives the reception history. Record in information.
 機能制限部140は、車両の制御のための制御フレームを受信した際に、車両状態保持部170に格納されている車両状態情報と、機能制限ルール保持部180に格納されている、車両の制御を抑止すべきか否かの基準となる機能制限ルールとを参照して、車両の制御を抑止すべきか否かを判定する。機能制限部140は、車両の制御を抑止すべきと判定した場合には、その車両の制御のための、受信中の制御フレームを無効化するために、エラーフレームの送信をフレーム生成部150に要求する。このエラーフレームにより、受信中の制御フレームがバス300上で上書きされ、その制御フレームは無効化されることになる。エラーフレームによる上書きの効果で、ECU200c等のECUは、バス300から制御フレームの全体を完全に受信することができないので、制御フレームに従った制御を行わなくなる。 The function restriction unit 140 receives the control frame for controlling the vehicle, the vehicle state information stored in the vehicle state holding unit 170, and the vehicle control stored in the function restriction rule holding unit 180. It is determined whether or not the control of the vehicle should be suppressed with reference to the function restriction rule that is a criterion for determining whether or not the vehicle should be suppressed. When it is determined that the control of the vehicle should be suppressed, the function restriction unit 140 sends an error frame to the frame generation unit 150 in order to invalidate the control frame being received for the control of the vehicle. Request. With this error frame, the control frame being received is overwritten on the bus 300, and the control frame is invalidated. Due to the effect of overwriting by the error frame, the ECU such as the ECU 200c cannot completely receive the entire control frame from the bus 300, and therefore does not perform control according to the control frame.
 フレーム生成部150は、フレームの送信が要求された場合にそのフレームをフレーム送受信部110に送信させる。フレーム生成部150は、データフレームの送信が要求された場合にはデータフレームを生成して、そのデータフレームをフレーム送受信部110に送信させる。 The frame generation unit 150 causes the frame transmission / reception unit 110 to transmit the frame when transmission of the frame is requested. The frame generation unit 150 generates a data frame when transmission of a data frame is requested, and causes the frame transmission / reception unit 110 to transmit the data frame.
 受信履歴保持部160は、監視ECU100が受信したデータフレームの受信履歴を保持する。受信履歴保持部160は、例えば、直近の100ms以内に受信した状態フレームに関するデータ値及び受信の時刻を示す受信履歴情報(図5参照)を保持する。 The reception history holding unit 160 holds a reception history of data frames received by the monitoring ECU 100. The reception history holding unit 160 holds, for example, reception history information (see FIG. 5) indicating a data value related to a state frame received within the latest 100 ms and a reception time.
 車両状態保持部170は、状態偽装検知部130による偽装検知処理において判定された車両状態を示す車両状態情報(図6参照)を保持する。 The vehicle state holding unit 170 holds vehicle state information (see FIG. 6) indicating the vehicle state determined in the camouflage detection process by the state camouflage detection unit 130.
 機能制限ルール保持部180は、受信中の制御フレームによる制御を抑止すべきか否かの判定基準となる機能制限ルール(図7参照)を保持する。 The function restriction rule holding unit 180 holds a function restriction rule (see FIG. 7), which is a criterion for determining whether or not control by the control frame being received should be suppressed.
 [1.5 受信履歴情報]
 図5は、受信履歴保持部160が保持する受信履歴情報の一例を示す。同図の例では、受信履歴情報は、直近100ms以内に受信されたID「0x100」の車速を示す状態フレームと、ID「0x300」のギアポジションを示す状態フレームとの受信の時刻とデータ値とを含む。
[1.5 Receive history information]
FIG. 5 shows an example of reception history information held by the reception history holding unit 160. In the example of the figure, the reception history information includes the reception time and data value of the status frame indicating the vehicle speed of ID “0x100” and the status frame indicating the gear position of ID “0x300” received within the last 100 ms. including.
 この例の受信履歴情報によれば、車速に係るID「0x100」の状態フレームに関しては、最新の受信時におけるデータ値が42.1km/hであり、受信の時刻は110msである。1回前の受信時においては、その車速の状態フレームのデータ値が0.0km/hであり、受信の時刻は61msである。2回前の受信時においては、その車速の状態フレームのデータ値が42.0km/hであり、受信の時刻は60msである。また、3回前の受信時においては、その車速の状態フレームのデータ値が42.0km/hであり、受信の時刻は10msである。また、ギアポジションに係るID「0x300」の状態フレームに関しては、最新の受信時におけるデータ値が、車両の前進のためのギアポジションである「ドライブ」を示し、受信の時刻は100msである。また、1回前の受信時においては、データ値が「ドライブ」を示し、受信の時刻は50msである。図5の例では、更に前回には、ギアポジションに係る状態フレームは、受信されておらず、或いは、直近100msより前に受信されており、保持されていない。 According to the reception history information of this example, regarding the state frame of ID “0x100” related to the vehicle speed, the data value at the latest reception is 42.1 km / h and the reception time is 110 ms. At the time of the previous reception, the data value of the vehicle speed state frame is 0.0 km / h, and the reception time is 61 ms. At the time of reception two times before, the data value of the vehicle speed state frame is 42.0 km / h, and the reception time is 60 ms. At the time of reception three times before, the data value of the vehicle speed state frame is 42.0 km / h, and the reception time is 10 ms. For the state frame of ID “0x300” related to the gear position, the data value at the time of the latest reception indicates “drive” which is the gear position for forward movement of the vehicle, and the reception time is 100 ms. In the previous reception, the data value indicates “drive”, and the reception time is 50 ms. In the example of FIG. 5, the status frame related to the gear position has not been received last time, or has been received before the last 100 ms and is not held.
 [1.6 車両状態情報]
 図6は、車両状態保持部170が保持する車両状態情報の一例を示す。同図の例では、車両状態情報として、車速に係るID「0x100」の状態フレームに関連する車両の状態と、ギアポジションに係るID「0x300」の状態フレームに関連する車両の状態とが、偽装フラグによって示されている。この例では偽装フラグは、1であれば車両の状態が偽装状態であることを示し、0であれば偽装状態でないことを示す。偽装状態は、例えば、攻撃者により、車両の状態としての車速、ギアポジション等について偽のデータ値を示す状態フレームがバス300上に流された状態、つまり車両の状態が偽装されている状態である。図6の例では、ID「0x100」の状態フレームで示される車速に係る車両の状態が、偽装状態であることを示している。また、ID「0x300」の状態フレームで示されるギアポジションに係る車両の状態が、偽装状態ではないことを示している。
[1.6 Vehicle status information]
FIG. 6 shows an example of vehicle state information held by the vehicle state holding unit 170. In the example of the figure, as the vehicle state information, the state of the vehicle related to the state frame of ID “0x100” related to the vehicle speed and the state of the vehicle related to the state frame of ID “0x300” related to the gear position are impersonated. It is indicated by a flag. In this example, if the camouflage flag is 1, it indicates that the vehicle is in the camouflaged state, and if it is 0, it indicates that the vehicle is not in the camouflaged state. The camouflaged state is, for example, a state in which a state frame indicating a false data value regarding the vehicle speed, gear position, etc. as the vehicle state is flowed on the bus 300, that is, a state in which the vehicle state is camouflaged. is there. In the example of FIG. 6, the state of the vehicle related to the vehicle speed indicated by the state frame of ID “0x100” indicates that it is a camouflaged state. Further, it is indicated that the state of the vehicle related to the gear position indicated by the state frame of ID “0x300” is not a camouflaged state.
 [1.7 機能制限ルール]
 図7は、機能制限ルール保持部180が保持する機能制限ルールの一例を示す。
[1.7 Function restriction rules]
FIG. 7 shows an example of a function restriction rule held by the function restriction rule holding unit 180.
 機能制限ルールは、車両の制御を抑止すべきか否かの基準を示す情報であり、同図の例では、車両の制御を行う制御フレームを特定する情報である機能制限対象と、基準となる車両状態の条件とを対応付けたものである。同図には、機能制限ルールが複数項目のルールで構成される例を示しているが、ルールの項目数は1つであっても複数であっても良い。 The function restriction rule is information indicating a criterion for determining whether or not the control of the vehicle should be suppressed. In the example of the figure, the function restriction target that is information for specifying a control frame for controlling the vehicle and the reference vehicle The state conditions are associated with each other. In the figure, an example is shown in which the function restriction rule is composed of a plurality of items, but the number of items in the rule may be one or plural.
 この例では、ルール番号1の制限対象機能は、ハンドル制御指示に係るID「0x200」のデータフレームに含まれる制御フラグが1であるデータフレーム(つまりハンドル制御指示に係る制御フレーム)であり、ハンドル制御を抑止するための車両状態の条件は、車速に係るID「0x100」の状態フレームに関連する車両の状態が偽装状態(つまり偽装フラグが1)であることである。また、ルール番号2の制限対象機能も、同様に、ハンドル制御指示に係る制御フレームであり、ハンドル制御を抑止するための車両状態の条件は、ギアポジションに係るID「0x300」の状態フレームに関連する車両の状態が偽装状態(つまり偽装フラグが1)であることである。 In this example, the restriction target function of rule number 1 is a data frame whose control flag is 1 (that is, a control frame related to the handle control instruction) included in the data frame with ID “0x200” related to the handle control instruction. The condition of the vehicle state for inhibiting the control is that the vehicle state related to the state frame of ID “0x100” related to the vehicle speed is the camouflaged state (that is, the camouflage flag is 1). Similarly, the restriction target function of the rule number 2 is also a control frame related to the steering wheel control instruction, and the condition of the vehicle state for inhibiting the steering wheel control is related to the state frame of ID “0x300” related to the gear position. The state of the vehicle to perform is a camouflaged state (that is, the camouflage flag is 1).
 機能制限部140は、機能制限ルールを参照して、受信中の制御フレームに該当する機能制限対象に対応する車両状態の条件が満たされている場合に、その制御フレームによる車両の制御を抑止すべきと判定し、その制御フレームを無効化すべくフレーム生成部150にエラーフレームの送信の要求を行う。具体的には、機能制限部140は、ハンドル制御指示に係る制御フレームを受信した際に、図7のルール番号1の項目のルールに従って、車両状態保持部170が保持する車両状態情報においてID「0x100」の状態フレームで示される車速に係る車両の状態が偽装状態(つまり偽装フラグが1)となっていた場合に、その制御フレームを無効化するために、フレーム生成部150に対してエラーフレームの送信要求を行う。機能制限部140は、図7のルール番号2の項目のルールに従って、車両状態情報においてID「0x300」の状態フレームで示されるギアポジションに係る車両の状態が偽装状態(つまり偽装フラグが1)となっていた場合には、そのハンドル制御指示に係る制御フレームを無効化するために、フレーム生成部150に対してエラーフレームの送信要求を行う。そのハンドル制御指示に係る制御フレームの受信の際において機能制限部140は、車速に係る車両の状態が偽装状態でなく、ギアポジションに係る車両の状態が偽装状態でない場合には、エラーフレームの送信要求を行わない。 The function restriction unit 140 refers to the function restriction rule, and suppresses control of the vehicle by the control frame when the condition of the vehicle state corresponding to the function restriction target corresponding to the control frame being received is satisfied. The frame generation unit 150 is requested to transmit an error frame to invalidate the control frame. Specifically, when receiving the control frame related to the steering wheel control instruction, the function restriction unit 140 follows the ID “” in the vehicle state information held by the vehicle state holding unit 170 in accordance with the rule of the rule number 1 item in FIG. When the vehicle state related to the vehicle speed indicated by the state frame of “0x100” is a camouflaged state (that is, the camouflage flag is 1), an error frame is sent to the frame generator 150 in order to invalidate the control frame. Request to send. In accordance with the rule of the item of rule number 2 in FIG. 7, the function restriction unit 140 determines that the vehicle state related to the gear position indicated by the state frame with ID “0x300” in the vehicle state information is a camouflaged state (that is, the camouflage flag is 1). If so, an error frame transmission request is sent to the frame generation unit 150 in order to invalidate the control frame related to the handle control instruction. When receiving the control frame related to the steering wheel control instruction, the function restriction unit 140 transmits an error frame when the vehicle state related to the vehicle speed is not the camouflaged state and the vehicle state related to the gear position is not the camouflaged state. Do not make a request.
 [1.8 ECU200aの構成]
 図8は、ECU200aの構成図である。ECU200aは、フレーム送受信部201と、フレーム処理部202と、機器入出力部203と、フレーム生成部204とを含んで構成される。これらの各構成要素は、機能的な構成要素であり、その各機能は、ECU200aにおける通信回路、メモリに格納された制御プログラムを実行するプロセッサ或いはデジタル回路等により実現される。なお、ECU200b、ECU200c及びECU200dもECU200aと概ね同様の構成を有する。
[1.8 Configuration of ECU 200a]
FIG. 8 is a configuration diagram of the ECU 200a. The ECU 200a includes a frame transmission / reception unit 201, a frame processing unit 202, a device input / output unit 203, and a frame generation unit 204. Each of these components is a functional component, and each function is realized by a communication circuit in the ECU 200a, a processor that executes a control program stored in a memory, a digital circuit, or the like. The ECU 200b, the ECU 200c, and the ECU 200d have substantially the same configuration as the ECU 200a.
 フレーム送受信部201は、バス300に対して、CANのプロトコルに従ったフレームを送受信する。フレーム送受信部201は、バス300からデータフレームを1bitずつ受信し、エラー無くデータフレームの受信を完了すると、データフレーム内のID、DLC、データといった情報をフレーム処理部202に転送する。フレーム送受信部201は、CANプロトコルに則っていないデータフレームと判断した場合は、エラーフレームを送信する。フレーム送受信部201は、データフレームの受信中にエラーフレームを受信した場合には、それ以降そのデータフレームを破棄する。また、フレーム送受信部201は、フレーム生成部204より通知を受けたフレームの内容をバス300に送信する。通信調停といったCANのプロトコルに則った処理も、フレーム送受信部201において実現される。 The frame transmission / reception unit 201 transmits / receives a frame according to the CAN protocol to / from the bus 300. The frame transmitting / receiving unit 201 receives a data frame from the bus 300 one bit at a time, and when the reception of the data frame is completed without error, transfers information such as ID, DLC, and data in the data frame to the frame processing unit 202. If the frame transmission / reception unit 201 determines that the data frame does not conform to the CAN protocol, the frame transmission / reception unit 201 transmits an error frame. If the frame transmission / reception unit 201 receives an error frame while receiving a data frame, the frame transmission / reception unit 201 discards the data frame thereafter. The frame transmission / reception unit 201 transmits the contents of the frame received from the frame generation unit 204 to the bus 300. Processing in accordance with the CAN protocol such as communication arbitration is also realized in the frame transmission / reception unit 201.
 フレーム処理部202は、受信したデータフレームの内容を解釈する。ECU200aと同様の構成を備えるECU200cを例として説明すると、ECU200cのフレーム処理部202では、ECU200a、ECU200b及びECU200dから送信されるデータフレームに含まれる車速、ハンドル制御指示、ギアポジション等の情報を解釈し、必要に応じてハンドル240の制御を行うための制御情報を、機器入出力部203に通知する。なお、ECU200cのフレーム処理部202では、ECU200aから通知される車速が10km/hを超えている場合、或いは、ECU200dから通知されるギアポジションが、「リバース」以外である場合には、ハンドル制御指示に係る制御フレーム(つまりID「0x200」を有し、制御フラグが1であるデータフレーム)が受信されても、ハンドル240を制御しない。 The frame processing unit 202 interprets the contents of the received data frame. The ECU 200c having the same configuration as the ECU 200a will be described as an example. The frame processing unit 202 of the ECU 200c interprets information such as a vehicle speed, a steering wheel control instruction, and a gear position included in a data frame transmitted from the ECU 200a, the ECU 200b, and the ECU 200d. Control information for controlling the handle 240 is notified to the device input / output unit 203 as necessary. In the frame processing unit 202 of the ECU 200c, when the vehicle speed notified from the ECU 200a exceeds 10 km / h, or when the gear position notified from the ECU 200d is other than “reverse”, the steering wheel control instruction The handle 240 is not controlled even when a control frame related to (i.e., a data frame having ID “0x200” and a control flag of 1) is received.
 機器入出力部203は、ECUに接続される機器と通信を行う通信回路等で構成される。ECU200aの機器入出力部203は、速度センサ210から現在の車速を取得し、車速を示すデータフレームを生成して送信させるべくフレーム生成部204に車速を通知する。ECU200bの機器入出力部203は、リアカメラ220から、車両後方の状況を示す映像データを取得する。また、ECU200bの機器入出力部203は、モニタ230に対する運転者の駐車支援機能の開始要求の操作を受付け、車両後方の状況から、ハンドル240を制御するための目標操舵角を計算し、ハンドル制御指示に係る制御フレームの生成のために目標操舵角を、フレーム生成部204に通知する。また、ECU200cの機器入出力部203は、ECU200bから通知されたハンドル制御指示に係る制御フレーム等に基づく制御情報に応じて、ハンドル240を制御する。また、ECU200dの機器入出力部203は、ギア250から現在のギアポジションを取得し、ギアポジションを示すデータフレームを生成して送信させるべくフレーム生成部204にギアポジションを通知する。 The equipment input / output unit 203 includes a communication circuit that communicates with equipment connected to the ECU. The device input / output unit 203 of the ECU 200a acquires the current vehicle speed from the speed sensor 210, and notifies the frame generation unit 204 of the vehicle speed so as to generate and transmit a data frame indicating the vehicle speed. The device input / output unit 203 of the ECU 200b acquires video data indicating a situation behind the vehicle from the rear camera 220. In addition, the device input / output unit 203 of the ECU 200b accepts an operation of a driver's parking support function start request for the monitor 230, calculates a target steering angle for controlling the handle 240 from the situation behind the vehicle, and controls the handle. A target steering angle is notified to the frame generation unit 204 for generation of a control frame according to the instruction. The device input / output unit 203 of the ECU 200c controls the handle 240 according to control information based on a control frame or the like related to the handle control instruction notified from the ECU 200b. In addition, the device input / output unit 203 of the ECU 200d acquires the current gear position from the gear 250, and notifies the frame generation unit 204 of the gear position to generate and transmit a data frame indicating the gear position.
 フレーム生成部204は、機器入出力部203から通知された情報に基づいてバス300へ送信するデータフレームを生成し、生成したデータフレームを、フレーム送受信部201を介してバス300へ送信する。例えばECU200aにおいては、フレーム生成部204は、機器入出力部203から通知された速度センサ210からの車速の情報を含んだデータフレームを、予め定められた周期である50ms間隔で生成し、フレーム送受信部201に通知する。なお、データフレームの生成の間隔としての50msは、周期の一例に過ぎず、50ms以外であっても良い。ECU200a、ECU200b及びECU200dがそれぞれ送信するデータフレームの例について次に図9を用いて説明する。 The frame generation unit 204 generates a data frame to be transmitted to the bus 300 based on the information notified from the device input / output unit 203, and transmits the generated data frame to the bus 300 via the frame transmission / reception unit 201. For example, in the ECU 200a, the frame generation unit 204 generates a data frame including vehicle speed information from the speed sensor 210 notified from the device input / output unit 203 at an interval of 50 ms, which is a predetermined cycle, and transmits and receives frames. Notification to the unit 201. Note that 50 ms as the data frame generation interval is merely an example of a cycle, and may be other than 50 ms. Next, examples of data frames transmitted by the ECU 200a, the ECU 200b, and the ECU 200d will be described with reference to FIG.
 [1.9 ECUが送信するデータフレーム]
 図9は、ECU200a、ECU200b及びECU200dのそれぞれにより送信されるデータフレームの例を示す。
[1.9 Data frame transmitted by ECU]
FIG. 9 shows an example of a data frame transmitted by each of the ECU 200a, the ECU 200b, and the ECU 200d.
 図9において(a)の例は、ECU200aが送信するデータフレーム、つまり車速に係る状態フレームの例である。この車速に係る状態フレームは、ID「0x100」を有し、DLCが2であり、そのデータフィールドは、1バイト目と2バイト目とを合わせた2バイトで車速(0.1km/h単位)を表す。図9の(a)のデータフレームの例は、車速として42.1km/h(0x1A5)を示す状態フレームを表している。 9 (a) is an example of a data frame transmitted by the ECU 200a, that is, a state frame related to the vehicle speed. The state frame related to this vehicle speed has ID “0x100”, DLC is 2, and the data field is 2 bytes including the first byte and the second byte, and the vehicle speed (in units of 0.1 km / h). Represents. The example of the data frame in (a) of FIG. 9 represents a state frame indicating 42.1 km / h (0x1A5) as the vehicle speed.
 図9において(b)の例は、ECU200bが送信するデータフレーム、つまりハンドル制御指示に係るデータフレームの例である。このハンドル制御指示に係るデータフレームは、ID「0x200」を有し、DLCが4であり、そのデータフィールドは、1バイト目が、ハンドル制御を行うか否か表す制御フラグであり、1の場合には、ハンドル240の制御が行われるべきことを示し、0の場合にはハンドル240の制御が行われるべきでないことを示す。2バイト目は、ハンドル制御を指示する場合に、左右いずれの方向にハンドル240が回されるべきかを、右は0、左は1で示す。データフィールドの3バイト目と4バイト目とを合わせた2バイトとで、ハンドル240の制御のための目標操舵角を示す。図9の(b)のデータフレームの例は、右に48度回すというハンドル制御指示を示す制御フレームを表している。 9B is an example of a data frame transmitted by the ECU 200b, that is, a data frame related to a handle control instruction. The data frame related to this handle control instruction has ID “0x200”, DLC is 4, and the data field is a control flag indicating whether or not handle control is performed. Indicates that the control of the handle 240 should be performed, and 0 indicates that the control of the handle 240 should not be performed. The second byte indicates whether the handle 240 should be rotated in the left or right direction when instructing handle control, with 0 on the right and 1 on the left. A target steering angle for controlling the steering wheel 240 is indicated by 2 bytes including the 3rd byte and the 4th byte of the data field. The example of the data frame in (b) of FIG. 9 represents a control frame indicating a handle control instruction to turn right by 48 degrees.
 図9において(c)の例は、ECU200dが送信するデータフレーム、つまりギアポジションに係る状態フレームの例である。このギアポジションに係る状態フレームは、ID「0x300」を有し、DLCが1であり、そのデータフィールドは、1バイトでギアポジションを表す。その1バイトの値が0で、「ニュートラル」を表し、1で「リバース」を表し、2で「ドライブ」を表し、3で「パーキング」を表す。図9の(c)のデータフレームの例は、ギアポジションとして「リバース」を示す状態フレームを表している。 9 (c) is an example of a data frame transmitted by the ECU 200d, that is, a state frame related to a gear position. The status frame related to this gear position has ID “0x300”, DLC is 1, and its data field represents the gear position by 1 byte. The 1-byte value is 0, representing “neutral”, 1 representing “reverse”, 2 representing “drive”, and 3 representing “parking”. The example of the data frame in (c) of FIG. 9 represents a state frame indicating “reverse” as the gear position.
 [1.10 駐車支援機能のシーケンス]
 図10は、正常状態での駐車支援機能に係る処理シーケンスの一例を示す。
[1.10 Parking support function sequence]
FIG. 10 shows an example of a processing sequence related to the parking support function in a normal state.
 ECU200aは、車速を示す状態フレーム(つまりID「0x100」を有するデータフレーム)をバス300に送信する(ステップS11)。データフレームは、バス300に接続される全てのECUにブロードキャストされることになる。ハンドル240の制御を担うECU200cは、その車速を示す状態フレームを受信すべきIDのデータフレームとしてバス300から受信し、その状態フレームに基づいて、現在の車速を、更新して保持する。なお、ECU200aは、車速を示す状態フレームを予め規定された50msの送信間隔で送信するが、図10では、以降の、車速に係る状態フレームの送信を省略している。 ECU 200a transmits a state frame indicating the vehicle speed (that is, a data frame having ID “0x100”) to bus 300 (step S11). The data frame is broadcast to all ECUs connected to the bus 300. The ECU 200c responsible for controlling the steering wheel 240 receives a state frame indicating the vehicle speed from the bus 300 as a data frame of an ID to be received, and updates and holds the current vehicle speed based on the state frame. The ECU 200a transmits a state frame indicating the vehicle speed at a predetermined transmission interval of 50 ms. However, in FIG. 10, transmission of the subsequent state frame related to the vehicle speed is omitted.
 また、ECU200dは、ギアポジションを示す状態フレーム(つまりID「0x300」を有するデータフレーム)をバス300に送信する(ステップS12)。ECU200cは、そのギアポジションを示す状態フレームを受信すべきIDのデータフレームとしてバス300から受信し、その状態フレームに基づいて、現在のギアポジションを、更新して保持する。なお、ECU200dは、ギアポジションを示す状態フレームを50msの送信間隔で送信するが、図10では、以降の、ギアポジションに係る状態フレームの送信を省略している。 Further, the ECU 200d transmits a state frame indicating the gear position (that is, a data frame having the ID “0x300”) to the bus 300 (step S12). The ECU 200c receives a status frame indicating the gear position from the bus 300 as a data frame of an ID to be received, and updates and holds the current gear position based on the status frame. Note that the ECU 200d transmits a state frame indicating a gear position at a transmission interval of 50 ms, but in FIG. 10, transmission of the subsequent state frame related to the gear position is omitted.
 モニタ230に対して運転者が駐車支援機能の実行開始の操作を行うと、モニタ230から駐車支援要求がECU200bに伝えられる(ステップS13)。 When the driver performs an operation for starting execution of the parking support function on the monitor 230, a parking support request is transmitted from the monitor 230 to the ECU 200b (step S13).
 ECU200bは、駐車支援要求が伝えられると、リアカメラ220から取得した、車両の後方の映像をモニタ230へ表示する(ステップS14)。 ECU200b will display the image | video of the back of the vehicle acquired from the rear camera 220 on the monitor 230, if a parking assistance request | requirement is transmitted (step S14).
 モニタ230に表示された映像を見て、運転者がモニタ230の操作により駐車位置を指定すると、モニタ230は、その駐車位置を示す駐車位置決定通知を、ECU200bに伝える(ステップS15)。 When the driver designates a parking position by operating the monitor 230 while viewing the video displayed on the monitor 230, the monitor 230 transmits a parking position determination notification indicating the parking position to the ECU 200b (step S15).
 ECU200bは、駐車位置決定通知が示す駐車位置に基づいて、目標となるハンドル240の操舵角(つまり目標操舵角)を計算し、ID「0x200」を有するデータフレームとして、制御フラグを1にし、目標操舵角の情報を含ませて送信する(ステップS16)。つまり、ECU200bは、ハンドル制御指示に係る制御フレームを送信する。なお、ECU200bは、ID「0x200」を有するデータフレームを、ハンドル240の目標操舵角を適切な値に逐次更新して、周期的に送信するが、図10では、以降の、ID「0x200」を有するデータフレームの送信を省略している。 The ECU 200b calculates the steering angle of the steering wheel 240 as a target (that is, the target steering angle) based on the parking position indicated by the parking position determination notification, sets the control flag to 1 as a data frame having ID “0x200”, Information including the steering angle is transmitted (step S16). That is, the ECU 200b transmits a control frame related to the handle control instruction. Note that the ECU 200b periodically updates the data frame having the ID “0x200” by sequentially updating the target steering angle of the handle 240 to an appropriate value, and periodically transmits the ID “0x200” in FIG. The transmission of the data frame is omitted.
 ECU200cは、ハンドル制御指示に係る制御フレーム(つまりID「0x200」を有し制御フラグが1であるデータフレーム)を受信し、かつ、現在の車速が10km/h以下であり、かつ、ギアポジションが「リバース」である場合にのみ、ハンドル240を目標操舵角になるように回す制御を行う(ステップS17)。 The ECU 200c receives a control frame related to the steering wheel control instruction (that is, a data frame having an ID “0x200” and a control flag of 1), the current vehicle speed is 10 km / h or less, and the gear position is Only in the case of “reverse”, control is performed to turn the handle 240 to the target steering angle (step S17).
 [1.11 駐車支援機能に対する攻撃の抑止に係るシーケンス]
 図11は、駐車支援機能への攻撃、及び、監視ECU100による不正制御抑止処理に係るシーケンスの一例を示す。ここでは、監視ECU100は、図7に例示した機能制限ルールを保持しているものとする。また、駐車支援機能の実行開始の操作がなされておらず車両は前進走行を行っていることとする。また、ECU200dは、ギアポジションが「ドライブ」であることを示す状態フレームを周期的に送信していることとする。なお、図11では、ギアポジションに係る状態フレームについての記載を省略する。
[1.11 Sequence related to deterring attacks on parking support functions]
FIG. 11 shows an example of a sequence related to an attack on the parking support function and an unauthorized control suppression process by the monitoring ECU 100. Here, it is assumed that the monitoring ECU 100 holds the function restriction rule illustrated in FIG. Further, it is assumed that the operation for starting execution of the parking support function is not performed and the vehicle is traveling forward. Further, it is assumed that the ECU 200d periodically transmits a state frame indicating that the gear position is “drive”. In FIG. 11, the description of the state frame relating to the gear position is omitted.
 ECU200aは、車速を示す状態フレーム(つまりID「0x100」を有するデータフレーム)をバス300に送信する(ステップS21)。この例では、現在の車速は、42.1km/hである。 ECU 200a transmits a state frame indicating the vehicle speed (that is, a data frame having ID “0x100”) to bus 300 (step S21). In this example, the current vehicle speed is 42.1 km / h.
 ECU200cがハンドル240の制御を行うためには、車速が10km/h以下という条件を満たす必要がある。このため、攻撃ECUは、ハンドル240を不正に制御する前段階として、ID「0x100」を有し車速が0km/hであるという偽の情報を示すデータフレーム、つまり車速に係る偽の情報を示す状態フレームを送信する(ステップS22)。攻撃ECUは、バス300に接続されたECUであり、例えば、攻撃者がバス300に接続したECU、攻撃者がハッキング等により支配したECU等である。なお、攻撃ECUは、例えば、ECU200aによる車速に係る状態フレームの送信周期を観測し、予め規定された送信間隔のマージンの範囲の期間に、同じIDを有する車速に係る偽の情報を示す状態フレームを送信する。これにより、車速に係る偽の情報を示す状態フレームが、送信タイミングから単純に不正なフレームであると検知され難くなる。 In order for the ECU 200c to control the handle 240, it is necessary to satisfy the condition that the vehicle speed is 10 km / h or less. For this reason, the attack ECU indicates a data frame indicating false information indicating that the vehicle speed is 0 km / h and having an ID “0x100”, that is, false information related to the vehicle speed, as a step before illegally controlling the steering wheel 240. A status frame is transmitted (step S22). The attack ECU is an ECU connected to the bus 300, for example, an ECU connected by the attacker to the bus 300, an ECU controlled by the attacker by hacking, or the like. The attack ECU, for example, observes the transmission cycle of the state frame related to the vehicle speed by the ECU 200a, and shows the false information related to the vehicle speed having the same ID during a predetermined transmission interval margin range. Send. Thereby, it becomes difficult to detect that the state frame indicating the false information related to the vehicle speed is simply an illegal frame from the transmission timing.
 ステップS22で送信された車速に係る偽の情報を示す状態フレームを受信したECU200cは、保持する現在の車速を、0km/hに更新する。また、監視ECU100は、偽装検知処理により、車速に係るID「0x100」の状態フレームが、1回受信されることが期待される期間において、つまり予め規定された送信間隔に係るマージンの範囲内の期間において、2回受信されたことから、ID「0x100」の状態フレームで示される車速に関する車両の状態が偽装状態であると判定する。これにより、車両状態情報における車速に関する偽装フラグが1になる。 ECU200c which received the state frame which shows the false information regarding the vehicle speed transmitted in step S22 updates the current vehicle speed to be held to 0 km / h. Further, the monitoring ECU 100 detects that the state frame of the ID “0x100” related to the vehicle speed is expected to be received once by the camouflage detection process, that is, within a margin range related to a predetermined transmission interval. Since it is received twice in the period, it is determined that the vehicle state relating to the vehicle speed indicated by the state frame of ID “0x100” is the camouflaged state. Thereby, the camouflage flag regarding the vehicle speed in the vehicle state information becomes 1.
 ECU200bは、ID「0x200」を有する、ハンドル制御指示を示すデータフレームを送信する(ステップS23)。このとき駐車支援機能の実行は開始されていないので、ハンドル制御を行うか否かを示す制御フラグは0であり、ハンドル240は制御されない。これに対して監視ECU100は、ID「0x200」を有するデータフレームに含まれる制御フラグが0であることから、機能制限ルールの各ルールの機能制限対象ではないので、エラーフレームの送信等を行わない。 ECU 200b transmits a data frame indicating the steering wheel control instruction having ID “0x200” (step S23). At this time, since the execution of the parking support function has not started, the control flag indicating whether or not to perform the handle control is 0, and the handle 240 is not controlled. On the other hand, since the control flag included in the data frame having the ID “0x200” is 0, the monitoring ECU 100 does not transmit an error frame or the like because it is not a function restriction target of each rule of the function restriction rule. .
 次に攻撃ECUは、ハンドル240を不正に制御するために、ID「0x200」を有し制御フラグを1にしたデータフレーム(つまりハンドル制御指示に係る制御フレーム)を送信する(ステップS24)。これに対して、監視ECU100は、その制御フレームの受信中に、機能制限ルール及び車両状態情報に基づいて、車両の制御を抑止すべきか否かを判定する。監視ECU100は、ステップS24で送信された制御フレームが機能制限ルールのルール番号1の項目のルールの機能制限対象に合致して、対応する車両状態の条件が満たされているので、その制御フレームによる車両の制御を抑止すべきと判定する。 Next, in order to illegally control the handle 240, the attack ECU transmits a data frame having an ID “0x200” and having a control flag set to 1 (that is, a control frame related to the handle control instruction) (step S24). On the other hand, the monitoring ECU 100 determines whether or not to suppress the control of the vehicle based on the function restriction rule and the vehicle state information during reception of the control frame. The monitoring ECU 100 determines that the control frame transmitted in step S24 matches the function restriction target of the rule of the rule number 1 of the function restriction rule, and the corresponding vehicle state condition is satisfied. It is determined that control of the vehicle should be suppressed.
 続いて、監視ECU100は、受信中の制御フレームによる車両の制御を抑止すべきと判定したので、そのハンドル制御指示に係る制御フレームを無効化するために、エラーフレームを送信する(ステップS25)。エラーフレームの送信により、監視ECU100は、攻撃によるハンドル240の不正な制御を抑止し得る。このエラーフレームにより、送信中であったID「0x200」を有するデータフレームが上書きされ、結果的に、攻撃ECUによるそのデータフレームの送信が中断されたことになる。ECU200cは、そのエラーフレームを受信することにより、受信中のデータフレームを破棄して、そのデータフレームに基づくハンドル240の制御を行わない。 Subsequently, since the monitoring ECU 100 determines that the control of the vehicle by the control frame being received should be suppressed, the monitoring ECU 100 transmits an error frame to invalidate the control frame related to the steering wheel control instruction (step S25). By transmitting the error frame, the monitoring ECU 100 can suppress unauthorized control of the handle 240 due to an attack. This error frame overwrites the data frame having the ID “0x200” being transmitted, and as a result, the transmission of the data frame by the attack ECU is interrupted. The ECU 200c receives the error frame, discards the data frame being received, and does not control the handle 240 based on the data frame.
 このように、監視ECU100は、機能制限ルールに基づく判定結果次第でエラーフレームの送信を行うことで、攻撃ECUによるハンドル240を不正に制御するためのデータフレームのECU200cによる受信を、阻止することができる。 As described above, the monitoring ECU 100 transmits the error frame depending on the determination result based on the function restriction rule, thereby preventing the ECU 200c from receiving the data frame for illegally controlling the handle 240 by the attack ECU. it can.
 [1.12 監視ECU100による監視動作]
 図12は、監視ECU100による監視動作の一例を示すフローチャートである。この監視動作に係る処理は、バス300にデータフレームが現れる度に行われる。
[1.12 Monitoring Operation by Monitoring ECU 100]
FIG. 12 is a flowchart illustrating an example of a monitoring operation performed by the monitoring ECU 100. The process related to the monitoring operation is performed every time a data frame appears on the bus 300.
 監視ECU100は、データフレームを受信し、受信中のデータフレームのIDが、受信履歴保持部160に受信履歴を保持すべきデータフレームのIDであるか否かを判断する(ステップS31)。なお、この例では、受信履歴の保持対象のデータフレームのIDは、機能制限ルールにおける機能制限対象となるデータフレームのIDとは異なることとするが、これは一例に過ぎない。例えば、受信履歴の保持対象に係るIDは、車速に係る状態フレームのID「0x100」及びギアポジションに係る状態フレームのID「0x300」である(図5参照)。 The monitoring ECU 100 receives the data frame, and determines whether or not the ID of the data frame being received is the ID of the data frame whose reception history should be held in the reception history holding unit 160 (step S31). Note that, in this example, the ID of the data frame to be stored in the reception history is different from the ID of the data frame to be function restricted in the function restriction rule, but this is only an example. For example, the ID related to the reception history holding target is the ID “0x100” of the state frame related to the vehicle speed and the ID “0x300” of the state frame related to the gear position (see FIG. 5).
 監視ECU100は、受信中のデータフレームのIDが、受信履歴保持部160に受信履歴を保持すべきデータフレームのIDである場合は、受信中のデータフレームの車速等を示すデータ値と、受信の時刻とを含ませるように、受信履歴保持部160が保持する受信履歴情報を更新する(ステップS32)。なお、監視ECU100は、この受信履歴情報の更新に際して、例えば、受信の時刻が現在時刻より一定時間(例えば100ms)より前の受信履歴の情報を消去しても良い。 When the ID of the data frame being received is the ID of the data frame whose reception history is to be held in the reception history holding unit 160, the monitoring ECU 100 receives the data value indicating the vehicle speed of the data frame being received, The reception history information held by the reception history holding unit 160 is updated so as to include the time (step S32). When updating the reception history information, for example, the monitoring ECU 100 may erase the reception history information whose reception time is earlier than a certain time (for example, 100 ms) from the current time.
 また、監視ECU100は、受信履歴保持部160が保持する受信履歴情報を参照して偽装検知処理を行う(ステップS33)。具体的には、監視ECU100は、状態偽装検知部130により、例えば、受信履歴情報における1つのIDに係る状態フレーム(データフレーム)の受信履歴のうち最も古い状態フレームの受信の時刻に、予め規定された送信間隔(例えば50ms)を加算した時刻を基準時刻として、マージン(例えば3ms)を基準時刻から減算した時刻からと加算した時刻までの範囲(受信タイミング範囲と称する)に、いくつの状態フレームを受信しているかを数える。そして、2以上の状態フレームを受信している場合に、車両の状態が偽装されていると判定し、車両状態保持部170の対応するIDの偽装フラグを1にする。同様に、受信タイミング範囲内に最初に受信した状態フレームの受信の時刻から、予め規定された送信間隔(例えば50ms)を加算した時刻を基準として、次の受信タイミング範囲を求め、車両の状態が偽装されているかを、最近に受信した状態フレームまで繰り返す。更に、いずれの受信タイミング範囲内にも含まれない状態フレームが受信履歴に含まれる場合に、偽装フラグを1に更新する。このような処理で、偽装フラグを1にしない場合には、偽装フラグを0にする。この偽装検知処理では、車両の状態が偽装状態であるか否かの判定が行なわれるが、受信履歴保持部160が保持する受信履歴情報に受信履歴が示される各状態フレームが不正か否か(つまり攻撃によるものか否か)の識別までは行われない。 Further, the monitoring ECU 100 performs a camouflage detection process with reference to the reception history information held by the reception history holding unit 160 (step S33). Specifically, the monitoring ECU 100 predefines, for example, at the reception time of the oldest state frame of the reception history of the state frame (data frame) related to one ID in the reception history information by the state impersonation detection unit 130. The number of state frames in a range (referred to as a reception timing range) from the time obtained by adding the transmission interval (for example, 50 ms) to the time obtained by subtracting the margin (for example, 3 ms) from the reference time. Count what you are receiving. When two or more state frames are received, it is determined that the vehicle state is camouflaged, and the camouflaged flag of the corresponding ID in the vehicle state holding unit 170 is set to 1. Similarly, the next reception timing range is obtained on the basis of a time obtained by adding a predefined transmission interval (for example, 50 ms) from the reception time of the first state frame received within the reception timing range, and the vehicle state is Repeat until the most recently received status frame for spoofing. Furthermore, when a status frame that is not included in any reception timing range is included in the reception history, the camouflage flag is updated to 1. If the camouflage flag is not set to 1 in such processing, the camouflage flag is set to 0. In this camouflage detection process, it is determined whether or not the vehicle is in a camouflaged state, but whether or not each status frame whose reception history is indicated in the reception history information held by the reception history holding unit 160 is illegal ( In other words, it is not performed until identification of whether or not it is due to an attack.
 監視ECU100は、ステップS31で、受信中のデータフレームのIDが、受信履歴保持部160に受信履歴を保持すべきデータフレームのIDでないと判断した場合には、機能制限対象となるデータフレームのIDであるか否かを判断する(ステップS34)。監視ECU100は、受信中のデータフレームのIDが、機能制限対象となるデータフレームのIDでないと判断した場合には、処理を終了する。 If the monitoring ECU 100 determines in step S31 that the ID of the data frame being received is not the ID of the data frame whose reception history is to be held in the reception history holding unit 160, the ID of the data frame subject to function restriction It is determined whether or not (step S34). If the monitoring ECU 100 determines that the ID of the data frame being received is not the ID of the data frame subject to function restriction, the monitoring ECU 100 ends the process.
 監視ECU100は、ステップS34で、受信中のデータフレームのIDが、機能制限対象となるデータフレームのIDであると判断した場合には、受信中のデータフレームが機能制限対象のデータフレームであるか否かを判断する(ステップS35)。具体的には、監視ECU100は、機能制限ルール保持部180が保持する機能制限ルールを参照することで、制御フラグが1であるハンドル制御指示に係るデータフレームである制御フレームか否かを判断する。受信中のデータフレームが機能制限対象の制御フレームでなければ、監視ECU100は、処理を終了する。 If the monitoring ECU 100 determines in step S34 that the ID of the data frame being received is the ID of the data frame subject to function restriction, is the data frame being received the data frame subject to function restriction? It is determined whether or not (step S35). Specifically, the monitoring ECU 100 refers to the function restriction rule held by the function restriction rule holding unit 180 to determine whether or not the control frame is a control frame that is a data frame related to a handle control instruction having a control flag of 1. . If the data frame being received is not a control frame subject to function restriction, the monitoring ECU 100 ends the process.
 ステップS35で、受信中のデータフレームが機能制限対象の制御フレームであると判断した場合には、監視ECU100は、その制御フレームに係る車両の制御を抑止すべきか否かを判定する。具体的には、監視ECU100は、機能制限ルールと、車両状態保持部170が保持する車両状態情報とを参照し、その制御フレームが機能制限対象であってその車両状態の条件が成立しているか否かを検証することでその判定を行う(ステップS36)。監視ECU100は、ステップS36での検証の結果、機能制限ルールにおいてその制御フレームを機能制限対象とする各項目のルールについて、いずれも車両状態の条件が成立していなければ、処理を終了する。 If it is determined in step S35 that the data frame being received is a control frame subject to function restriction, the monitoring ECU 100 determines whether or not the control of the vehicle related to the control frame should be suppressed. Specifically, the monitoring ECU 100 refers to the function restriction rule and the vehicle state information held by the vehicle state holding unit 170, and whether the control frame is a function restriction target and the vehicle state condition is satisfied. The determination is made by verifying whether or not (step S36). As a result of the verification in step S36, the monitoring ECU 100 ends the process if the vehicle state condition is not satisfied for any of the rules of each item whose function restriction target is the control frame in the function restriction rule.
 監視ECU100は、ステップS36での検証の結果、車両状態の条件が成立していれば、受信中のデータフレームを無効化するために、受信中のデータフレームの最後尾が受信される前にエラーフレームをバス300に送信する(ステップS37)。これにより、その受信中のデータフレームにエラーフレームが上書きされて、そのデータフレームは無効化される。このため、バス300に接続されたECU(例えばECU200c)は、その無効化されたデータフレームに基づく車両の制御を行わない。 As a result of the verification in step S36, the monitoring ECU 100 determines that an error occurs before the last data frame being received is received in order to invalidate the data frame being received in order to invalidate the data frame being received. The frame is transmitted to the bus 300 (step S37). As a result, the error frame is overwritten on the currently received data frame, and the data frame is invalidated. For this reason, ECU (for example, ECU 200c) connected to bus 300 does not control the vehicle based on the invalidated data frame.
 [1.13 実施の形態1の効果]
 実施の形態1に係る車載ネットワークシステム10では、監視ECU100が、一定期間に受信した状態フレームの集合に基づいて、状態フレームの送信間隔に係る予め定められた規定を利用することで、一定期間における車両の状態が偽装状態であったことを検知する。そして、監視ECU100は、車両の状態が偽装状態であった場合において、車両の制御を行うための制御フレームが送信されているときにその制御フレームを無効化することで、その車両の制御を抑止する。これにより、車両の状態を偽装して車両を不正に制御するような攻撃に対する防御が可能となり、車載ネットワークのセキュリティが確保され得る。また、この防御のための不正制御抑止方法は、監視ECU100を、車載ネットワークに配置することで実現できるので、コストを抑えて車載ネットワークを保護することが可能となる。
[1.13 Effects of Embodiment 1]
In the in-vehicle network system 10 according to the first embodiment, the monitoring ECU 100 uses a predetermined rule related to the transmission interval of the state frames based on the set of state frames received during the certain period, so that It detects that the state of the vehicle was a camouflaged state. Then, when the vehicle state is a camouflaged state, the monitoring ECU 100 disables the control of the vehicle by invalidating the control frame when the control frame for controlling the vehicle is transmitted. To do. As a result, it is possible to protect against an attack in which the vehicle state is impersonated and the vehicle is illegally controlled, and the security of the in-vehicle network can be ensured. In addition, since this method for preventing unauthorized control for defense can be realized by arranging the monitoring ECU 100 in the in-vehicle network, it is possible to protect the in-vehicle network at a reduced cost.
 (実施の形態2)
 以下、実施の形態1で示した車載ネットワークシステム10の一部を変形した車載ネットワークシステム11について説明する。
(Embodiment 2)
Hereinafter, an in-vehicle network system 11 obtained by modifying a part of the in-vehicle network system 10 shown in the first embodiment will be described.
 本実施の形態に係る車載ネットワークシステム11における監視ECUは、車載ネットワークを流れる状態フレームを監視し、現在の車両の状態が継続している時間を計測し、車両の状態が、一定時間継続した安定状態であるか否かに係る基準に基づいて、車両を制御する制御フレームによる制御機能を制限する。 The monitoring ECU in the in-vehicle network system 11 according to the present embodiment monitors the state frame flowing through the in-vehicle network, measures the time during which the current vehicle state continues, and stabilizes the vehicle state for a certain period of time. The control function by the control frame for controlling the vehicle is limited based on the criterion regarding whether or not the vehicle is in a state.
 [2.1 車載ネットワークシステム11の全体構成]
 図13は、本開示に関わる車載ネットワークシステム11の全体構成を示す図である。
[2.1 Overall configuration of in-vehicle network system 11]
FIG. 13 is a diagram illustrating an overall configuration of the in-vehicle network system 11 according to the present disclosure.
 車載ネットワークシステム11は、図13に示すように、バス300と、バス300に接続された監視ECU2100、ECU200a~200d等とを含んで構成される。車載ネットワークシステム11は、ここで特に説明しない点については実施の形態1で示した車載ネットワークシステム10(図1参照)と同じである。車載ネットワークシステム11の構成要素のうち、車載ネットワークシステム10と同様の構成要素については、図13において、図1と同じ符号を付しており、ここでの説明を省略する。 As shown in FIG. 13, the in-vehicle network system 11 includes a bus 300, a monitoring ECU 2100 connected to the bus 300, ECUs 200 a to 200 d, and the like. The in-vehicle network system 11 is the same as the in-vehicle network system 10 (see FIG. 1) shown in the first embodiment, unless otherwise described here. Among the constituent elements of the in-vehicle network system 11, the same constituent elements as those in the in-vehicle network system 10 are denoted by the same reference numerals as those in FIG.
 監視ECU2100は、不正制御抑止装置としての一種のECUであり、バス300に接続される。監視ECU2100は、バス300に流れる状態フレーム、制御フレーム等のデータフレームを監視し、車両の状態の継続時間を計測する。監視ECU2100は、計測した車両の状態の継続時間に応じて、車両を制御する制御フレームによる制御を抑止すべきか否かを判定し、抑止すべき場合に制御フレームを無効化することで不正な車両制御を抑止する。 The monitoring ECU 2100 is a kind of ECU as an unauthorized control inhibiting device, and is connected to the bus 300. The monitoring ECU 2100 monitors data frames such as a state frame and a control frame that flow through the bus 300, and measures the duration of the vehicle state. The monitoring ECU 2100 determines whether or not the control by the control frame for controlling the vehicle should be suppressed according to the measured duration of the vehicle state, and invalidates the control frame to invalidate the control frame. Suppress control.
 [2.2 監視ECU2100の構成]
 図14は、監視ECU2100の構成図である。監視ECU2100はフレーム送受信部110と、フレーム処理部120と、車両状態監視部2130と、機能制限部2140と、フレーム生成部150と、受信履歴保持部2160と、機能制限ルール保持部2180とを含んで構成される。図14に示した監視ECU2100の各構成要素は、監視ECU2100のメモリ等の記憶媒体、通信回路、メモリに格納されたプログラムを実行するプロセッサ等で実現され得る。監視ECU2100は、ここで特に説明しない点については実施の形態1で示した監視ECU100(図4参照)と同じである。監視ECU2100の構成要素のうち、監視ECU100と同様の機能を有する構成要素は、図14において図4と同じ符号を付しており、ここでの説明を適宜省略する。
[2.2 Configuration of Monitoring ECU 2100]
FIG. 14 is a configuration diagram of the monitoring ECU 2100. Monitoring ECU 2100 includes a frame transmission / reception unit 110, a frame processing unit 120, a vehicle state monitoring unit 2130, a function restriction unit 2140, a frame generation unit 150, a reception history holding unit 2160, and a function restriction rule holding unit 2180. Consists of. Each component of the monitoring ECU 2100 illustrated in FIG. 14 may be realized by a storage medium such as a memory of the monitoring ECU 2100, a communication circuit, a processor that executes a program stored in the memory, or the like. The monitoring ECU 2100 is the same as the monitoring ECU 100 (see FIG. 4) shown in the first embodiment, except that it is not particularly described here. Of the constituent elements of the monitoring ECU 2100, constituent elements having the same functions as those of the monitoring ECU 100 are denoted by the same reference numerals as those in FIG. 4 in FIG.
 フレーム処理部120は、受信中のデータフレームを車両状態監視部2130と機能制限部2140とに通知する。 The frame processing unit 120 notifies the vehicle state monitoring unit 2130 and the function restriction unit 2140 of the data frame being received.
 車両状態監視部2130は、フレーム処理部120から通知されたデータフレームについて、受信履歴保持部2160が保持している受信履歴情報における、対応するIDに関する受信履歴を更新する。具体的には、車両状態監視部2130は、ECU200a、ECU200d等から送信される状態フレームのデータの値と、その状態フレームが受信された時刻とに基づいて、受信履歴情報を更新する。この更新において、車両状態監視部2130は、例えば、監視ECU2100の起動時から、或いはその他の所定の時からの経過時刻をカウントするタイマにより、状態フレームが受信された時刻を取得して、直近100ms以内に受信した状態フレームに関する情報を示すように、受信履歴情報を更新する。 The vehicle state monitoring unit 2130 updates the reception history related to the corresponding ID in the reception history information held by the reception history holding unit 2160 for the data frame notified from the frame processing unit 120. Specifically, vehicle state monitoring unit 2130 updates the reception history information based on the value of the state frame data transmitted from ECU 200a, ECU 200d, and the like, and the time when the state frame was received. In this update, the vehicle state monitoring unit 2130 obtains the time at which the state frame is received by a timer that counts the elapsed time from when the monitoring ECU 2100 is started or from another predetermined time, for example, and the latest 100 ms The reception history information is updated so as to indicate information on the status frame received within.
 機能制限部2140は、車両の制御のための制御フレームを受信した際に、機能制限ルール保持部2180に格納されている、車両の制御を抑止すべきか否かの基準となる機能制限ルールと、受信履歴保持部2160が保持する受信履歴情報とを参照して、車両の制御を抑止すべきか否かを判定する。機能制限部2140は、車両の制御を抑止すべきと判定した場合には、その車両の制御のための、受信中の制御フレームを無効化するために、エラーフレームの送信をフレーム生成部150に要求する。具体的には、車両の制御を抑止すべきか否かの判定のために、機能制限部2140は、機能制限ルールにおいて機能制限対象とされている制御フレームが受信中である場合に、車両の状態の継続時間の計測結果を取得し、受信履歴情報が示す状態フレームの受信履歴が示す車両の状態が、機能制限ルールにおける車両状態継続時間の条件を満たす不安定状態であるか、否か(つまり安定状態であるか)を判定する。 When the function restriction unit 2140 receives a control frame for controlling the vehicle, the function restriction rule stored in the function restriction rule holding unit 2180 and serving as a reference for whether or not to suppress the vehicle control, With reference to the reception history information held by the reception history holding unit 2160, it is determined whether or not the control of the vehicle should be suppressed. If the function restriction unit 2140 determines that the control of the vehicle should be suppressed, the function restriction unit 2140 transmits an error frame to the frame generation unit 150 in order to invalidate the control frame being received for the control of the vehicle. Request. Specifically, in order to determine whether or not the control of the vehicle should be suppressed, the function restriction unit 2140 receives the control frame that is subject to the function restriction in the function restriction rule and receives the vehicle state. Whether or not the vehicle state indicated by the reception history of the state frame indicated by the reception history information is an unstable state that satisfies the vehicle state duration time in the function restriction rule (that is, A stable state).
 受信履歴保持部2160は、監視ECU2100が受信したデータフレームの受信履歴を保持する。受信履歴保持部2160は、例えば、直近の100ms以内に受信した状態フレームに関するデータ値及び受信の時刻を示す受信履歴情報(図15参照)を保持する。 The reception history holding unit 2160 holds a reception history of data frames received by the monitoring ECU 2100. The reception history holding unit 2160 holds, for example, reception history information (see FIG. 15) indicating a data value related to a state frame received within the latest 100 ms and a reception time.
 機能制限ルール保持部2180は、受信中の制御フレームによる制御を抑止すべきか否かの判定基準となる機能制限ルール(図16参照)を保持する。 The function restriction rule holding unit 2180 holds a function restriction rule (see FIG. 16), which is a criterion for determining whether or not control by the control frame being received should be suppressed.
 [2.3 受信履歴情報]
 図15は、受信履歴保持部2160が保持する受信履歴情報の一例を示す。同図の例では、受信履歴情報は、直近100ms以内に受信されたID「0x100」の車速を示す状態フレームと、ID「0x300」のギアポジションを示す状態フレームとの受信の時刻とデータ値とを含む。
[2.3 Reception history information]
FIG. 15 shows an example of reception history information held by the reception history holding unit 2160. In the example of the figure, the reception history information includes the reception time and data value of the status frame indicating the vehicle speed of ID “0x100” and the status frame indicating the gear position of ID “0x300” received within the last 100 ms. including.
 この例の受信履歴情報によれば、車速に係るID「0x100」の状態フレームに関しては、最新の受信時におけるデータ値が0.0km/hであり、受信の時刻は211msである。1回前の受信時においては、その車速の状態フレームのデータ値が42.1km/hであり、受信の時刻は210msである。また、2回前の受信時においては、その車速の状態フレームのデータ値が42.0km/hであり、受信の時刻は160msである。また、ギアポジションに係るID「0x300」の状態フレームに関しては、最新の受信時におけるデータ値が「リバース」を示し、受信の時刻は201msである。1回前の受信時においては、データ値が「ドライブ」を示し、受信の時刻は200msである。また、2回前の受信時においては、データ値が「ドライブ」を示し、受信の時刻は150msである。 According to the reception history information of this example, regarding the state frame of ID “0x100” related to the vehicle speed, the data value at the time of the latest reception is 0.0 km / h, and the reception time is 211 ms. At the time of the previous reception, the data value of the vehicle speed state frame is 42.1 km / h, and the reception time is 210 ms. At the time of reception two times before, the data value of the vehicle speed state frame is 42.0 km / h, and the reception time is 160 ms. For the state frame with ID “0x300” related to the gear position, the data value at the time of the latest reception indicates “reverse”, and the reception time is 201 ms. At the time of reception one time before, the data value indicates “drive”, and the reception time is 200 ms. Further, at the time of reception two times before, the data value indicates “drive”, and the reception time is 150 ms.
 [2.4 機能制限ルール]
 図16は、機能制限ルール保持部2180が保持する機能制限ルールの一例を示す。
[2.4 Function restriction rules]
FIG. 16 shows an example of a function restriction rule held by the function restriction rule holding unit 2180.
 機能制限ルールは、車両の制御を抑止すべきか否かの基準を示す情報であり、同図の例では、車両の制御を行う制御フレームを特定する情報である機能制限対象と、基準となる車両状態の条件(具体的には車両状態継続時間の条件)とを対応付けたものである。同図には、機能制限ルールが複数項目のルールで構成される例を示しているが、ルールの項目数は1つであっても複数であっても良い。 The function restriction rule is information indicating a criterion for determining whether or not the control of the vehicle should be suppressed. In the example of the figure, the function restriction target that is information for specifying a control frame for controlling the vehicle and the reference vehicle State conditions (specifically, vehicle state duration time conditions) are associated with each other. In the figure, an example is shown in which the function restriction rule is composed of a plurality of items, but the number of items in the rule may be one or plural.
 この例では、ルール番号1の制限対象機能は、ハンドル制御指示に係るID「0x200」のデータフレームに含まれる制御フラグが1であるデータフレーム(つまりハンドル制御指示に係る制御フレーム)であり、ハンドル制御を抑止すべきと判定するための車両状態の条件は、車速に係るID「0x100」の状態フレームに関連する車両の状態が不安定状態であることである。図16の例では、車速に係る不安定状態は、車速が10km/h以下の状態である継続時間が60msより短い状態を意味する。車速が10km/h以下の状態である継続時間が60ms以上であれば安定状態となる。つまり、機能制限部2140は、現在から60ms前までの間に、10km/hより大きい車速を示す状態フレームが1つ以上受信されていれば、ルール番号1の車両状態継続時間の条件が満たされているとして、機能制限対象であるハンドル制御指示に係る制御フレームによる制御を抑止すべきと判定する。 In this example, the restriction target function of rule number 1 is a data frame whose control flag is 1 (that is, a control frame related to the handle control instruction) included in the data frame with ID “0x200” related to the handle control instruction. The condition of the vehicle state for determining that the control should be suppressed is that the state of the vehicle related to the state frame of ID “0x100” related to the vehicle speed is an unstable state. In the example of FIG. 16, the unstable state related to the vehicle speed means a state where the duration time in which the vehicle speed is 10 km / h or less is shorter than 60 ms. If the vehicle speed is 10 km / h or less and the duration is 60 ms or more, the vehicle is stable. In other words, if at least one state frame indicating a vehicle speed greater than 10 km / h has been received from the present to 60 ms before, the function restriction unit 2140 satisfies the condition of the vehicle state duration of rule number 1. As a result, it is determined that the control by the control frame related to the handle control instruction that is the function restriction target should be suppressed.
 図16の例では、ルール番号2の項目のルールは、ギアポジションに係るID「0x300」の状態フレームに関連する車両の状態が不安定状態であることである。図16の例では、ギアポジションに係る不安定状態は、ギアポジションが「リバース」である状態の継続時間が60msより短い状態を意味する。機能制限部2140は、現在から60ms前までの間に、「リバース」以外のギアポジションを示す状態フレームが1つ以上受信されていれば、ルール番号2の車両状態継続時間の条件が満たされているとして、機能制限対象であるハンドル制御指示に係る制御フレームによる制御を抑止すべきと判定する。なお、車両状態継続時間の条件については、対象となる状態フレームについて予め規定された送信間隔等を考慮して設定しておくことが有用である。例えば状態フレームの送信間隔が50msであった場合に、車両状態継続時間の条件としての継続時間を60msとすると、60msの間に、少なくとも1つのデータフレームを受信することになる。攻撃者が、車速等の車両の状態を偽装する情報を示す状態フレームを送信した場合でも、正常な状態フレームの受信により、車両状態継続時間が0にリセットされる。このため、機能制限を解除する安定状態となるように60msより長い継続時間に亘って車速等の車両の状態を偽装することができない。図17に、車速に係る車両の状態を偽装する偽装フレームの送信という攻撃がなされた場合における車両の状態の継続時間を示す。図17では、時刻t1、t3、t5において0.0km/hという偽の車速を示す状態フレームが、時刻t0、t2、t4等にECU200aが周期的に送信する正常な車速(例えば42.0Km/h)を示す状態フレームの直後に送信されている。逐次送信される状態フレームによって示される車速が10km/h以下である時間は60msより短くなる。このように攻撃がなされている場合のハンドル制御指示に係る制御フレームの受信時においては、機能制限部2140は、例えば図17のルール番号1の項目のルールに従って、直近の60msの期間において車両の状態が安定状態でないので、ハンドル制御指示に係る制御フレームを無効化するために、フレーム生成部150に対してエラーフレームの送信要求を行う。 In the example of FIG. 16, the rule of the item of rule number 2 is that the state of the vehicle related to the state frame of ID “0x300” related to the gear position is in an unstable state. In the example of FIG. 16, the unstable state related to the gear position means a state where the duration of the state where the gear position is “reverse” is shorter than 60 ms. If at least one state frame indicating a gear position other than “reverse” is received between 60 ms and the present time, the function restriction unit 2140 satisfies the condition of the vehicle state duration time of rule number 2 As a result, it is determined that the control by the control frame related to the handle control instruction that is the function restriction target should be suppressed. It should be noted that it is useful to set the condition of the vehicle state duration in consideration of a transmission interval or the like defined in advance for the target state frame. For example, when the transmission interval of the state frame is 50 ms and the duration as the condition of the vehicle state duration is 60 ms, at least one data frame is received during 60 ms. Even when the attacker transmits a state frame indicating information that disguises the vehicle state such as the vehicle speed, the vehicle state duration time is reset to 0 by receiving the normal state frame. For this reason, it is not possible to disguise the vehicle state such as the vehicle speed over a duration longer than 60 ms so as to achieve a stable state in which the function restriction is released. FIG. 17 shows the duration of the state of the vehicle when an attack of transmitting a camouflaged frame that disguises the state of the vehicle related to the vehicle speed is made. In FIG. 17, a state frame indicating a false vehicle speed of 0.0 km / h at times t1, t3, t5 is a normal vehicle speed (for example, 42.0 km / h) periodically transmitted by the ECU 200a at times t0, t2, t4, and the like. h) is sent immediately after the status frame indicating. The time during which the vehicle speed indicated by the sequentially transmitted state frames is 10 km / h or less is shorter than 60 ms. When receiving a control frame related to the steering wheel control instruction when an attack is made in this way, the function restriction unit 2140, for example, according to the rule of the item of rule number 1 in FIG. Since the state is not stable, an error frame transmission request is sent to the frame generation unit 150 in order to invalidate the control frame related to the handle control instruction.
 なお、ID「0x200」を有し制御フラグが1であるデータフレーム(つまりハンドル制御指示に係る制御フレーム)は、車速が10km/h以下であり、ギアポジションが「リバース」であるときにしかバス300に流されないように、車載ネットワークシステム11は、設計されている。そして、運転者により、駐車支援機能の実行開始の操作及び駐車位置の指定の操作がなされた後に、ハンドル制御指示に係る制御フレームは、バス300に送信される。運転者が車両を停車させ、ギアポジションを「リバース」に変更してから、モニタ230の操作により駐車支援機能の実行開始を要求して駐車位置を指定するまでに、数秒は時間が経過すると考えられる。正常に駐車支援機能を利用した場合には、機能制限対象の正常なデータフレーム(つまりハンドル制御指示に係る制御フレーム)が送信される際には、10km/h以下の車速、及び、「リバース」というギアポジションに係る車両の状態が60msよりも長く継続している。このため、その正常な制御フレームによるハンドルの制御が、機能制限部2140により抑止されるべきと判定されることはない。従って、攻撃を受けずに正常に駐車支援機能が利用された場合のハンドル制御指示に係る制御フレームの受信時においては、機能制限部2140は、直近の60msの期間において、10km/h以下の車速、及び、「リバース」というギアポジションに係る車両の状態が、継続する安定状態であるので、エラーフレームの送信要求を行わない。 A data frame having an ID “0x200” and a control flag of 1 (that is, a control frame related to a steering wheel control instruction) is a bus only when the vehicle speed is 10 km / h or less and the gear position is “reverse”. The in-vehicle network system 11 is designed so as not to be flown to 300. Then, after the driver performs an operation for starting execution of the parking support function and an operation for specifying the parking position, the control frame related to the steering wheel control instruction is transmitted to the bus 300. It is considered that several seconds will elapse after the driver stops the vehicle and changes the gear position to “reverse” until the start of the parking support function is requested by operating the monitor 230 and the parking position is designated. It is done. When the parking support function is normally used, when a normal data frame subject to function restriction (that is, a control frame related to a steering wheel control instruction) is transmitted, a vehicle speed of 10 km / h or less and “reverse” The state of the vehicle related to the gear position continues for longer than 60 ms. For this reason, it is not determined that the control of the handle by the normal control frame should be inhibited by the function restriction unit 2140. Therefore, when receiving the control frame related to the steering wheel control instruction when the parking assist function is normally used without being attacked, the function restriction unit 2140 has a vehicle speed of 10 km / h or less in the latest 60 ms period. And, since the state of the vehicle related to the gear position “reverse” is a continuous stable state, no error frame transmission request is made.
 [2.5 駐車支援機能に対する攻撃の抑止に係るシーケンス]
 図18は、駐車支援機能への攻撃、及び、監視ECU2100による不正制御抑止処理に係るシーケンスの一例を示す。ここでは、監視ECU2100は、図16に例示した機能制限ルールを保持しているものとする。また、駐車支援機能の実行開始の操作がなされておらず車両は前進走行を行っていることとする。
[2.5 Sequence related to deterring attacks on parking support functions]
FIG. 18 shows an example of a sequence related to an attack on the parking support function and unauthorized control suppression processing by the monitoring ECU 2100. Here, it is assumed that the monitoring ECU 2100 holds the function restriction rule illustrated in FIG. Further, it is assumed that the operation for starting execution of the parking support function is not performed and the vehicle is traveling forward.
 ECU200aは、車速を示す状態フレーム(つまりID「0x100」を有するデータフレーム)をバス300に送信する(ステップS211)。この例では、現在の車速は、42.1km/hである。ステップS211で送信された車速に係る状態フレームを受信したECU200cは、保持する現在の車速を、42.1km/hに更新する。また、その状態フレームを受信した監視ECU2100は、受信履歴保持部2160に保持される受信履歴情報における車速に係る受信履歴を更新する。 ECU 200a transmits a state frame indicating the vehicle speed (that is, a data frame having ID “0x100”) to bus 300 (step S211). In this example, the current vehicle speed is 42.1 km / h. The ECU 200c that has received the state frame related to the vehicle speed transmitted in step S211 updates the current vehicle speed to be held to 42.1 km / h. In addition, the monitoring ECU 2100 that has received the state frame updates the reception history related to the vehicle speed in the reception history information held in the reception history holding unit 2160.
 ECU200cがハンドル240の制御を行うためには、車速が10km/h以下という条件を満たす必要がある。このため、攻撃ECUは、ハンドル240を不正に制御する前段階として、ID「0x100」を有し車速が0km/hであるという偽の情報を示すデータフレーム、つまり車速に係る偽の情報を示す状態フレームを送信する(ステップS212)。ステップS212で送信された車速に係る偽の情報を示す状態フレームを受信したECU200cは、保持する現在の車速を、0km/hに更新する。また、その状態フレームを受信した監視ECU2100は、受信履歴情報における車速に係る受信履歴を更新する。 In order for the ECU 200c to control the handle 240, it is necessary to satisfy the condition that the vehicle speed is 10 km / h or less. For this reason, the attack ECU indicates a data frame indicating false information indicating that the vehicle speed is 0 km / h and having an ID “0x100”, that is, false information related to the vehicle speed, as a step before illegally controlling the steering wheel 240. A status frame is transmitted (step S212). The ECU 200c that has received the state frame indicating the false information related to the vehicle speed transmitted in step S212 updates the current vehicle speed to be held to 0 km / h. Moreover, monitoring ECU2100 which received the state frame updates the reception log | history which concerns on the vehicle speed in reception log | history information.
 ECU200dは、ギアポジションを示す状態フレーム(つまりID「0x300」を有するデータフレーム)をバス300に送信する(ステップS213)。この例では、現在のギアポジションは、「ドライブ」である。ステップS213で送信されたギアポジションに係る状態フレームを受信したECU200cは、保持する現在のギアポジションを、「ドライブ」に更新する。また、その状態フレームを受信した監視ECU2100は、受信履歴情報におけるギアポジションに係る受信履歴を更新する。 ECU 200d transmits a state frame indicating the gear position (that is, a data frame having ID “0x300”) to bus 300 (step S213). In this example, the current gear position is “drive”. The ECU 200c that has received the state frame related to the gear position transmitted in step S213 updates the current gear position to be held to “drive”. The monitoring ECU 2100 that has received the status frame updates the reception history related to the gear position in the reception history information.
 ECU200cがハンドル240の制御を行うためには、ギアポジションが「リバース」であるという条件を満たす必要がある。このため、攻撃ECUは、ハンドル240を不正に制御する前段階として、ID「0x300」を有しギアポジションが「リバース」であるという偽の情報を示すデータフレーム、つまりギアポジションに係る偽の情報を示す状態フレームを送信する(ステップS214)。ステップS214で送信されたギアポジションに係る偽の情報を示す状態フレームを受信したECU200cは、保持する現在のギアポジションを、「リバース」に更新する。また、その状態フレームを受信した監視ECU2100は、受信履歴情報におけるギアポジションに係る受信履歴を更新する。 In order for the ECU 200c to control the handle 240, it is necessary to satisfy the condition that the gear position is “reverse”. For this reason, the attack ECU has a data frame indicating the false information that the ID “0x300” and the gear position is “reverse”, that is, the false information related to the gear position, as a step before illegally controlling the handle 240. Is transmitted (step S214). The ECU 200c that has received the status frame indicating the false information related to the gear position transmitted in step S214 updates the current gear position to be held to “reverse”. The monitoring ECU 2100 that has received the status frame updates the reception history related to the gear position in the reception history information.
 次に攻撃ECUは、ハンドル240を不正に制御するために、ID「0x200」を有し制御フラグを1にしたデータフレーム(つまりハンドル制御指示に係る制御フレーム)を送信する(ステップS215)。これに対して、監視ECU2100は、その制御フレームの受信中に、機能制限ルールに基づいて、車両の制御を抑止すべきか否かを判定する。 Next, in order to illegally control the handle 240, the attack ECU transmits a data frame having an ID “0x200” and having a control flag set to 1 (that is, a control frame related to the handle control instruction) (step S215). On the other hand, the monitoring ECU 2100 determines whether or not to suppress the control of the vehicle based on the function restriction rule during reception of the control frame.
 監視ECU2100は、ステップS215で送信された制御フレームが機能制限ルールのルール番号1の項目のルールの機能制限対象に合致して、対応する車両状態継続時間の条件が満たされているので、その制御フレームによる車両の制御を抑止すべきと判定する。なお、監視ECU2100は、その制御フレームが機能制限ルールのルール番号2の項目のルールの機能制限対象に合致して、対応する車両状態継続時間の条件が満たされていることからも、その制御フレームによる車両の制御を抑止すべきと判定し得る。監視ECU2100は、受信履歴情報が示す所定期間における車両の状態が、機能制限ルールの少なくとも1つの項目のルールが示す車両状態継続の条件に該当すれば、その該当したルールの機能制限対象の制御フレームによる車両の制御を抑止すべきと判定し得る。 Since the control frame transmitted in step S215 matches the function restriction target of the rule of item No. 1 of the function restriction rule and the corresponding vehicle state duration condition is satisfied, the monitoring ECU 2100 performs the control. It is determined that control of the vehicle by the frame should be suppressed. It is noted that monitoring ECU 2100 also has its control frame matched with the function restriction target of the rule of item No. 2 of the function restriction rule, and the corresponding vehicle state duration condition is satisfied. It can be determined that the control of the vehicle by is to be suppressed. If the vehicle state in the predetermined period indicated by the reception history information corresponds to the vehicle state continuation condition indicated by the rule of at least one item of the function restriction rule, the monitoring ECU 2100 controls the function restriction target control frame of that rule. It can be determined that the control of the vehicle by is to be suppressed.
 監視ECU2100は、ステップS215で送信された制御フレームの受信中において、その制御フレームによる車両の制御を抑止すべきと判定したので、そのハンドル制御指示に係る制御フレームを無効化するために、エラーフレームを送信する(ステップS216)。エラーフレームの送信により、監視ECU2100は、攻撃によるハンドル240の不正な制御を抑止し得る。このエラーフレームにより、送信中であったID「0x200」を有するデータフレームが上書きされ、結果的に、攻撃ECUによるそのデータフレームの送信が中断されたことになる。ECU200cは、そのエラーフレームを受信することにより、受信中のデータフレームを破棄して、そのデータフレームに基づくハンドル240の制御を行わない。 Since the monitoring ECU 2100 determines that the control of the vehicle by the control frame should be suppressed during reception of the control frame transmitted in step S215, an error frame is used to invalidate the control frame related to the steering wheel control instruction. Is transmitted (step S216). By transmitting the error frame, the monitoring ECU 2100 can suppress unauthorized control of the handle 240 due to an attack. This error frame overwrites the data frame having the ID “0x200” being transmitted, and as a result, the transmission of the data frame by the attack ECU is interrupted. The ECU 200c receives the error frame, discards the data frame being received, and does not control the handle 240 based on the data frame.
 このように、監視ECU2100は、機能制限ルールに基づく判定結果に応じてエラーフレームの送信を行うことで、攻撃ECUによるハンドル240を不正に制御するためのデータフレームのECU200cによる受信を、阻止することができる。 As described above, the monitoring ECU 2100 transmits the error frame according to the determination result based on the function restriction rule, thereby preventing the ECU 200c from receiving the data frame for illegally controlling the handle 240 by the attack ECU. Can do.
 ECU200aは、42.1km/hという車速を示す状態フレームをバス300に送信する(ステップS217)。ステップS217で送信された車速に係る状態フレームを受信したECU200cは、保持する現在の車速を、42.1km/hに更新する。また、その状態フレームを受信した監視ECU2100は、受信履歴保持部2160に保持される受信履歴情報における車速に係る受信履歴を更新する。 ECU 200a transmits a state frame indicating a vehicle speed of 42.1 km / h to bus 300 (step S217). The ECU 200c that has received the state frame related to the vehicle speed transmitted in step S217 updates the current vehicle speed to be held to 42.1 km / h. In addition, the monitoring ECU 2100 that has received the state frame updates the reception history related to the vehicle speed in the reception history information held in the reception history holding unit 2160.
 [2.6 監視ECU2100による監視動作]
 図19は、監視ECU2100による監視動作の一例を示すフローチャートである。この監視動作に係る処理は、バス300にデータフレームが現れる度に行われる。
[2.6 Monitoring Operation by Monitoring ECU 2100]
FIG. 19 is a flowchart illustrating an example of a monitoring operation performed by the monitoring ECU 2100. The process related to the monitoring operation is performed every time a data frame appears on the bus 300.
 監視ECU2100は、データフレームを受信し、受信中のデータフレームのIDが、受信履歴保持部2160に受信履歴を保持すべきデータフレームのIDであるか否かを判断する(ステップS221)。例えば、受信履歴の保持対象に係るIDは、車速に係る状態フレームのID「0x100」及びギアポジションに係る状態フレームのID「0x300」である(図15参照)。 The monitoring ECU 2100 receives the data frame, and determines whether or not the ID of the data frame being received is the ID of the data frame whose reception history is to be held in the reception history holding unit 2160 (step S221). For example, the ID related to the retention target of the reception history is the ID “0x100” of the state frame related to the vehicle speed and the ID “0x300” of the state frame related to the gear position (see FIG. 15).
 監視ECU2100は、受信中のデータフレームのIDが、受信履歴保持部2160に受信履歴を保持すべきデータフレームのIDである場合は、受信中のデータフレームの車速等を示すデータ値と、受信の時刻とを含ませるように、受信履歴保持部2160が保持する受信履歴情報における、そのIDに係る受信履歴を更新する(ステップS222)。なお、監視ECU2100は、この受信履歴情報の更新に際して、例えば、受信の時刻が現在時刻より一定時間(例えば100ms)より前の受信履歴の情報を消去しても良い。 When the ID of the data frame being received is the ID of the data frame whose reception history is to be held in the reception history holding unit 2160, the monitoring ECU 2100 receives the data value indicating the vehicle speed of the data frame being received, The reception history related to the ID in the reception history information held by the reception history holding unit 2160 is updated so as to include the time (step S222). Note that, when updating the reception history information, the monitoring ECU 2100 may delete, for example, information on the reception history whose reception time is earlier than a certain time (for example, 100 ms) from the current time.
 監視ECU2100は、ステップS221で、受信中のデータフレームのIDが、受信履歴保持部2160に受信履歴を保持すべきデータフレームのIDでないと判断した後、或いは、ステップS222での処理の後に、受信中のデータフレームが、機能制限ルール保持部2180に保持されている機能制限ルールにおいて機能制限対象となる制御フレームであるか否かを判断する(ステップS223)。監視ECU2100は、ステップS223で、受信中のデータフレームが、機能制限対象となる制御フレームでないと判断した場合には、処理を終了する。 In step S221, the monitoring ECU 2100 determines that the ID of the data frame being received is not the ID of the data frame whose reception history is to be held in the reception history holding unit 2160, or after the processing in step S222. It is determined whether the middle data frame is a control frame subject to function restriction in the function restriction rule held in the function restriction rule holding unit 2180 (step S223). If the monitoring ECU 2100 determines in step S223 that the data frame being received is not a control frame subject to function restriction, the monitoring ECU 2100 ends the process.
 ステップS223で、受信中のデータフレームが機能制限対象の制御フレームであると判断した場合には、監視ECU2100は、その制御フレームに係る車両の制御を抑止すべきか否かを、機能制限ルールに基づいて直近の期間における車両の状態が不安定状態であるか否かを検証することで、判定する(ステップS224)。具体的には、監視ECU2100は、機能制限ルールの各項目のルールにおいて、受信中の制御フレームに合致する機能制限対象に対応する車両状態継続時間の条件を満たしているかを、受信履歴保持部2160に保持される、対応する車両の状態に係る状態フレームの受信履歴と、現在時刻とを参照することで検証することで、その判定を行う。監視ECU2100は、機能制限ルールにおける車両状態継続時間の条件が満たされるか否かに係る検証の結果、機能制限ルールにおける各項目のルールについて、いずれも車両状態継続期間の条件が成立していなければ、処理を終了する。 If it is determined in step S223 that the data frame being received is a control frame subject to function restriction, the monitoring ECU 2100 determines whether or not to suppress control of the vehicle related to the control frame based on the function restriction rule. It is determined by verifying whether or not the state of the vehicle in the most recent period is an unstable state (step S224). Specifically, the monitoring ECU 2100 determines whether the condition of the vehicle state duration corresponding to the function restriction target that matches the control frame being received in the rule of each item of the function restriction rule satisfies the reception history holding unit 2160. Is verified by referring to the reception history of the state frame related to the state of the corresponding vehicle and the current time. As a result of the verification regarding whether or not the condition of the vehicle state duration in the function restriction rule is satisfied, the monitoring ECU 2100 does not satisfy the condition of the vehicle state duration for each item rule in the function restriction rule. The process is terminated.
 ステップS224での検証の結果、機能制限ルールにおける車両状態継続時間の条件が満たされていれば、受信中の制御フレームによる車両の制御を抑止すべく、その制御フレームを無効化するために、受信中の制御フレームであるデータフレームの最後尾が受信される前にエラーフレームをバス300に送信する(ステップS225)。これにより、その受信中のデータフレームにエラーフレームが上書きされて、そのデータフレームは無効化される。このため、バス300に接続されたECU(例えばECU200c)は、その無効化されたデータフレームに基づく車両の制御を行わない。 As a result of the verification in step S224, if the condition of the vehicle state duration in the function restriction rule is satisfied, the reception is performed to invalidate the control frame in order to suppress the control of the vehicle by the control frame being received. An error frame is transmitted to the bus 300 before the end of the data frame, which is the middle control frame, is received (step S225). As a result, the error frame is overwritten on the currently received data frame, and the data frame is invalidated. For this reason, ECU (for example, ECU 200c) connected to bus 300 does not control the vehicle based on the invalidated data frame.
 [2.7 実施の形態2の効果]
 実施の形態2に係る車載ネットワークシステム11では、監視ECU2100が、一定期間に受信した状態フレームの集合に基づいて、車両の状態を示す特定の状態フレームのデータ値がある一定値或いは一定範囲内であるか否か、つまり安定状態であるか否かを検証する。特定の状態フレームは、機能制限対象とされる車両の制御を行う制御フレームに対応して定められている。この検証は、例えば、図16に示す機能制限ルールに基づいて、特定の状態フレームのデータ値が一定値或いは一定範囲内であることの継続時間がその一定期間続くか否かにより行われる。そして、監視ECU2100は、車両の制御を行うための制御フレームが送信されているときに、特定の状態フレームが示す車両の状態が一定期間において安定状態でない場合(つまり状態が一定期間において継続していない場合)に、その制御フレームを無効化することで、その車両の制御を抑止する。この一定期間の長さを、予め規定されているその状態フレームの送信間隔より長い時間に定めておくことが有用となる。これにより、攻撃者が、車両の状態を偽装した上で、不正な制御を引き起こす制御フレームを送信したとしても、その車両の状態の継続時間の短さによって、監視ECU2100にその制御フレームが無効化される。更に、正常に機能を利用する場合を考慮して、機能制限対象のデータフレームを無効化する条件としての車両状態継続時間を設定しておくことが有用である。これにより、正常に機能を利用する場合において、機能制限対象のデータフレームが無効化されず、攻撃者による不正な制御を引き起こすデータフレームのみが無効化され得る。
[2.7 Effects of Embodiment 2]
In the in-vehicle network system 11 according to the second embodiment, the monitoring ECU 2100 has a data value of a specific state frame indicating the state of the vehicle within a certain value or a certain range based on a set of state frames received during a certain period. It is verified whether or not there is a stable state. The specific state frame is determined corresponding to a control frame for controlling a vehicle that is a function restriction target. This verification is performed, for example, based on the function restriction rule shown in FIG. 16 depending on whether or not the continuation time that the data value of a specific state frame is within a certain value or within a certain range continues for that certain period. Then, when a control frame for controlling the vehicle is transmitted, monitoring ECU 2100 is in a case where the state of the vehicle indicated by the specific state frame is not stable for a certain period (that is, the state continues for a certain period). In the absence of the control frame, the control frame is invalidated to suppress the control of the vehicle. It is useful to set the length of the certain period to a time longer than the predetermined transmission interval of the state frame. Thus, even if the attacker impersonates the vehicle state and transmits a control frame that causes unauthorized control, the control frame is invalidated to the monitoring ECU 2100 due to the short duration of the vehicle state. Is done. Furthermore, it is useful to set the vehicle state duration as a condition for invalidating the data frame subject to function restriction in consideration of the case where the function is normally used. As a result, when the function is normally used, the data frame subject to function restriction is not invalidated, and only the data frame that causes illegal control by the attacker can be invalidated.
 この監視ECU2100により、車両の状態を偽装して車両を不正に制御するような攻撃に対する防御が可能となり、車載ネットワークのセキュリティが確保され得る。また、この防御のための不正制御抑止方法は、監視ECU2100を、車載ネットワークに配置することで実現できるので、コストを抑えて車載ネットワークを保護することが可能となる。 This monitoring ECU 2100 makes it possible to protect against an attack that impersonates the vehicle and improperly controls the vehicle, thereby ensuring the security of the in-vehicle network. In addition, since this method of preventing unauthorized control for defense can be realized by placing the monitoring ECU 2100 in the in-vehicle network, it is possible to protect the in-vehicle network at a reduced cost.
 (実施の形態3)
 以下、実施の形態1で示した車載ネットワークシステム10の一部を変形した車載ネットワークシステム12について説明する。
(Embodiment 3)
Hereinafter, a vehicle-mounted network system 12 obtained by modifying a part of the vehicle-mounted network system 10 shown in the first embodiment will be described.
 本実施の形態に係る車載ネットワークシステム12における監視ECUは、車載ネットワークを流れる状態フレームを監視し、車両の状態の変化を計測し、車両の状態が、一定期間において所定回数を超えて変化する変化多発状態であるか否かに係る基準に基づいて、車両を制御する制御フレームによる制御機能を制限する。変化多発状態であるか否かは、データフレームが示すデータ値の所定量以上の変化の回数を観測することの他、所定量以上の変化が生じていることが継続する時間を観測すること等によっても判別可能である。具体例として、監視ECUは、クルーズコントロールモードか否か等といった制御指示の状態を示す状態フレームであるデータフレームに関して、制御指示が整合しない不整合状態の継続により変化多発状態が生じる場合において、そのデータフレームの制御指示が特定の指示であるときのその指示による制御を抑止する。この特定の指示を示すデータフレームは、制御指示の状態を示す状態フレームでありかつ車両の制御を指示する制御フレームでもある。監視ECUは、不整合状態が継続する時間に基づいて制御フレームを無効化し得る。 The monitoring ECU in the in-vehicle network system 12 according to the present embodiment monitors a state frame flowing through the in-vehicle network, measures a change in the state of the vehicle, and changes in the state of the vehicle exceeding a predetermined number of times in a certain period. The control function by the control frame for controlling the vehicle is limited based on the criterion regarding whether or not the vehicle is in the frequent occurrence state. Whether or not it is in a state of frequent change is determined by observing the number of times the data value indicated by the data frame has changed more than a predetermined amount, as well as observing the time that a change exceeding a predetermined amount has occurred, etc. It is also possible to determine by. As a specific example, the monitoring ECU, for a data frame that is a state frame indicating the state of the control instruction such as whether or not in the cruise control mode, in the case where a change frequent state occurs due to the continuation of the inconsistent state where the control instruction does not match, When the data frame control instruction is a specific instruction, control by the instruction is suppressed. The data frame indicating this specific instruction is a state frame indicating the state of the control instruction and also a control frame instructing control of the vehicle. The monitoring ECU may invalidate the control frame based on the time for which the inconsistent state continues.
 [3.1 車載ネットワークシステム12の全体構成]
 図20は、本開示に関わる車載ネットワークシステム12の全体構成を示す図である。
[3.1 Overall configuration of in-vehicle network system 12]
FIG. 20 is a diagram illustrating an overall configuration of the in-vehicle network system 12 according to the present disclosure.
 車載ネットワークシステム12は、図20に示すように、バス300と、バス300に接続された監視ECU3100、ECU200a、3200e、3200f等とを含んで構成される。車載ネットワークシステム12を搭載する車両においては、複数のECUが通信して連携することで、クルーズコントロール機能が実現される。車載ネットワークシステム12は、ここで特に説明しない点については実施の形態1で示した車載ネットワークシステム10(図1参照)と同じである。車載ネットワークシステム12の構成要素のうち、車載ネットワークシステム10と同様の構成要素については、図20において、図1と同じ符号を付しており、ここでの説明を省略する。 The in-vehicle network system 12 includes a bus 300 and monitoring ECUs 3100, ECUs 200a, 3200e, 3200f, and the like connected to the bus 300 as shown in FIG. In a vehicle equipped with the in-vehicle network system 12, a cruise control function is realized by a plurality of ECUs communicating and cooperating with each other. The in-vehicle network system 12 is the same as the in-vehicle network system 10 (see FIG. 1) shown in the first embodiment, unless otherwise described here. Of the constituent elements of the in-vehicle network system 12, the same constituent elements as those in the in-vehicle network system 10 are denoted by the same reference numerals as those in FIG. 1, and description thereof is omitted here.
 監視ECU3100は、不正制御抑止装置としての一種のECUであり、バス300に接続される。監視ECU3100は、バス300に流れる状態フレーム、制御フレーム等のデータフレームを監視し、データフレームに含まれる制御指示等の情報に不整合が生じていないかを監視し、不整合が生じている場合には、不整合の継続時間を計測する。ここではクルーズコントロールモードか否か等の制御指示の状態を一種の車両の状態に係る情報であるとして、制御指示を含むデータフレームを、状態フレームとも表現する。また、その制御指示が車両の制御のための特定の指示である場合のそのデータフレームは、制御フレームである。監視ECU3100は、計測した不整合の継続時間に応じて、車両を制御する制御フレームによる制御を抑止すべきか否かを判定し、抑止すべき場合に制御フレームを無効化することで不正な車両制御を抑止する。 The monitoring ECU 3100 is a kind of ECU as an unauthorized control inhibiting device, and is connected to the bus 300. The monitoring ECU 3100 monitors data frames such as a state frame and a control frame that flow through the bus 300, monitors whether information such as a control instruction included in the data frame is inconsistent, and has a mismatch. The duration of inconsistency is measured. Here, assuming that the state of the control instruction, such as whether or not the cruise control mode is set, is information relating to a kind of vehicle state, the data frame including the control instruction is also expressed as a state frame. Further, the data frame when the control instruction is a specific instruction for controlling the vehicle is a control frame. The monitoring ECU 3100 determines whether or not the control by the control frame for controlling the vehicle should be suppressed according to the measured duration of inconsistency, and invalidates the vehicle by invalidating the control frame when the control is to be suppressed. Is suppressed.
 ECU3200eと、ECU3200fとはそれぞれ、スイッチ3260、モータ3270に接続されている。ECU3200eは、クルーズコントロールに関する情報を含むデータフレームを80msの送信間隔でバス300へ送信する。クルーズコントロールに関する情報は、現在クルーズコントロールモードに入っているか否かを示すフラグと、加減速の情報とを含む。ECU3200eは、運転者がスイッチ3260を押した場合に、クルーズコントロールモードに入る。ECU3200eは、車速をECU200aからのデータフレームにより取得しており、クルーズコントロールモードに入った時点の車速を保つように、加速度の大きさを計算し、データフレームに含めて送信する。運転者が再度スイッチ3260を押すか、ブレーキを踏むか等によりクルーズコントロールモードは解除される。ECU3200fは、モータ3270の制御を行い、車両の走る機能を実現する。また、ECU3200fは、ECU3200eから送信されるデータフレームを受信し、クルーズコントロールモードのフラグが立っている場合は、加速度の情報に基づいて、モータ3270を制御することで、車両の速度が一定に保たれるように制御する。 The ECU 3200e and the ECU 3200f are connected to a switch 3260 and a motor 3270, respectively. ECU 3200e transmits a data frame including information related to cruise control to bus 300 at a transmission interval of 80 ms. The information related to cruise control includes a flag indicating whether or not the cruise control mode is currently entered, and acceleration / deceleration information. ECU 3200e enters cruise control mode when the driver presses switch 3260. The ECU 3200e obtains the vehicle speed from the data frame from the ECU 200a, calculates the magnitude of acceleration so as to keep the vehicle speed at the time when the cruise control mode is entered, and transmits it included in the data frame. The cruise control mode is canceled depending on whether the driver presses the switch 3260 again or steps on the brake. The ECU 3200f controls the motor 3270 to realize the function of running the vehicle. The ECU 3200f receives the data frame transmitted from the ECU 3200e, and when the cruise control mode flag is set, the ECU 3200f controls the motor 3270 based on the acceleration information to keep the vehicle speed constant. Control to sag.
 [3.2 ECU3200eが送信するデータフレームの例]
 図21は、ECU3200eにより送信されるデータフレームの例を示す。
[3.2 Example of Data Frame Transmitted by ECU 3200e]
FIG. 21 shows an example of a data frame transmitted by the ECU 3200e.
 このデータフレームは、ID「0x400」を有し、DLCが3であり、そのデータフィールドは、1バイト目が、車両の状態がクルーズコントロールモードであるか否かを示すフラグであり、0の場合にはクルーズコントロールモードがOFF(つまり非制御状態)であることを示し、1の場合にはクルーズコントロールモードがON(つまり制御状態)になっていることを示す。2バイト目は、クルーズコントロールモードがONのときに、加速を行うか、減速を行うかを示すフラグであり、0で加速を、1で減速を示す。3バイト目は、加減速の大きさを示した量であり、0.01m/s2単位で表される。図21のデータフレームの例では、クルーズコントロールモードであり、加速度0.80m/s2の加速を要求するデータフレームを示している。つまり、このデータフレームは、車両がクルーズコントロールモードであるという状態フレームであり、かつ、加速を要求して車両を制御するための制御フレームである。 This data frame has ID “0x400”, DLC is 3, and in the data field, the first byte is a flag indicating whether or not the vehicle is in the cruise control mode. Indicates that the cruise control mode is OFF (that is, the non-control state), and 1 indicates that the cruise control mode is ON (that is, the control state). The second byte is a flag that indicates whether to accelerate or decelerate when the cruise control mode is ON. 0 indicates acceleration and 1 indicates deceleration. The third byte is an amount indicating the magnitude of acceleration / deceleration and is expressed in units of 0.01 m / s2. In the example of the data frame in FIG. 21, a data frame is shown that is in the cruise control mode and requests acceleration of acceleration 0.80 m / s2. That is, this data frame is a state frame in which the vehicle is in the cruise control mode, and is a control frame for requesting acceleration to control the vehicle.
 [3.3 監視ECU3100の構成]
 図22は、監視ECU3100の構成図である。監視ECU3100はフレーム送受信部110と、フレーム処理部120と、フレーム生成部150と、制御情報監視部3130と、機能制限部3140と、受信履歴保持部3160と、機能制限ルール保持部3180と、不整合継続時間計測部3190とを含んで構成される。図22に示した監視ECU3100の各構成要素は、監視ECU3100のメモリ等の記憶媒体、通信回路、メモリに格納されたプログラムを実行するプロセッサ等で実現され得る。監視ECU3100は、ここで特に説明しない点については実施の形態1で示した監視ECU100(図4参照)と同じである。監視ECU3100の構成要素のうち、監視ECU100と同様の機能を有する構成要素は、図22において図4と同じ符号を付しており、ここでの説明を適宜省略する。
[3.3 Configuration of Monitoring ECU 3100]
FIG. 22 is a configuration diagram of the monitoring ECU 3100. The monitoring ECU 3100 includes a frame transmission / reception unit 110, a frame processing unit 120, a frame generation unit 150, a control information monitoring unit 3130, a function restriction unit 3140, a reception history holding unit 3160, a function restriction rule holding unit 3180, And an alignment duration measuring unit 3190. Each component of the monitoring ECU 3100 shown in FIG. 22 can be realized by a storage medium such as a memory of the monitoring ECU 3100, a communication circuit, a processor that executes a program stored in the memory, or the like. The monitoring ECU 3100 is the same as the monitoring ECU 100 (see FIG. 4) shown in the first embodiment, except that it is not particularly described here. Of the constituent elements of the monitoring ECU 3100, constituent elements having the same functions as those of the monitoring ECU 100 are denoted by the same reference numerals in FIG. 22 as those in FIG. 4, and description thereof will be omitted as appropriate.
 フレーム処理部120は、受信中のデータフレームを制御情報監視部3130と機能制限部3140とに通知する。 The frame processing unit 120 notifies the control information monitoring unit 3130 and the function restriction unit 3140 of the data frame being received.
 制御情報監視部3130は、制御指示を含むデータフレームを監視し、フレーム処理部120から通知されたデータフレームについて、受信履歴保持部2160が保持している受信履歴情報における、対応するIDに関する受信履歴を更新する。具体的には、制御情報監視部3130は、ECU3200eから送信されるクルーズコントロールモードがONか否かを示す制御指示のフラグ等を含む状態フレームのデータの値(例えば制御指示のフラグ値)と、その状態フレームが受信された時刻とに基づいて、受信履歴情報を更新する。更に、制御情報監視部3130は、受信履歴情報を参照して、一定期間に受信される同じIDを有するデータフレームにおける制御指示に係る状態(例えばクルーズコントロールモード)に不整合が生じていないかを判断する。制御情報監視部3130は、制御指示に係る状態に不整合が生じている場合に、不整合継続時間計測部3190に、不整合継続時間の計測開始要求を行う。 The control information monitoring unit 3130 monitors the data frame including the control instruction, and the reception history regarding the corresponding ID in the reception history information held by the reception history holding unit 2160 for the data frame notified from the frame processing unit 120. Update. Specifically, the control information monitoring unit 3130 includes a state frame data value (for example, a control instruction flag value) including a control instruction flag indicating whether or not the cruise control mode transmitted from the ECU 3200e is ON, and the like. The reception history information is updated based on the time when the status frame is received. Furthermore, the control information monitoring unit 3130 refers to the reception history information to determine whether or not there is a mismatch in the state (for example, cruise control mode) related to the control instruction in the data frame having the same ID received in a certain period. to decide. When there is a mismatch in the state related to the control instruction, the control information monitoring unit 3130 makes a mismatch start time measurement request to the mismatch duration measurement unit 3190.
 このような制御指示に係る状態の不整合は、例えば、運転者がスイッチ3260を押してクルーズコントロールモードをONにした時等といった、制御を行う機能がOFF状態からON状態に変化した時、或いは、ON状態からOFF状態に変化した時に発生し得る。しかし、正常に機能を利用している限りでは、このような不整合が長時間継続し続けることはない。制御情報監視部3130は、一定期間のデータフレームの監視により、不整合が生じている場合は、その継続時間である不整合継続時間を計測するように、不整合継続時間計測部3190に要求し、不整合が生じていない場合は、不整合継続時間計測部3190に対して、不整合継続時間を0にリセットして計測を停止するよう要求する。 Such inconsistency in the state related to the control instruction is, for example, when the function for performing control changes from the OFF state to the ON state, such as when the driver presses the switch 3260 to turn on the cruise control mode, or It can occur when changing from the ON state to the OFF state. However, as long as the function is normally used, such inconsistency does not continue for a long time. The control information monitoring unit 3130 requests the inconsistency duration measurement unit 3190 to measure the inconsistency duration, which is the duration of the inconsistency, when the inconsistency occurs by monitoring the data frame for a certain period. If no inconsistency occurs, the inconsistency duration measuring unit 3190 is requested to reset the inconsistency duration to 0 and stop the measurement.
 機能制限部3140は、データフレームを受信した際に、機能制限ルール保持部3180に保持される機能制限ルールを参照し、受信中のデータフレームが機能制限対象の制御フレームである場合にその制御フレームによる車両の制御を抑止すべきか否かを判定する。その制御フレームによる制御を抑止すべきか否かの判定は、その制御フレームに関連して、不整合継続時間計測部3190により計測された不整合継続時間を参照することで行なわれる。機能制限部3140は、車両の制御を抑止すべきと判定した場合には、その車両の制御のための、受信中の制御フレームを無効化するために、エラーフレームの送信をフレーム生成部150に要求する。具体的には、車両の制御を抑止すべきか否かの判定のために、機能制限部2140は、機能制限ルールにおいて機能制限対象とされている制御フレームが受信中である場合に、不整合継続時間が機能制限ルールの条件を満たすという一種の変化多発状態であるか否かを判定する。 When the function restriction unit 3140 receives a data frame, the function restriction unit 3140 refers to the function restriction rule held in the function restriction rule holding unit 3180. If the data frame being received is a control frame subject to function restriction, the control frame It is determined whether or not the control of the vehicle by the control should be suppressed. Whether or not the control by the control frame should be suppressed is determined by referring to the mismatch duration time measured by the mismatch duration measurement unit 3190 in relation to the control frame. If the function restriction unit 3140 determines that the control of the vehicle should be suppressed, the function restriction unit 3140 transmits an error frame to the frame generation unit 150 in order to invalidate the control frame being received for the control of the vehicle. Request. Specifically, in order to determine whether or not vehicle control should be suppressed, the function restriction unit 2140 continues inconsistency when a control frame that is a function restriction target in the function restriction rule is being received. It is determined whether or not it is a kind of change frequent state that time satisfies the condition of the function restriction rule.
 受信履歴保持部3160は、監視ECU3100が受信したデータフレームの受信履歴を保持する。受信履歴保持部3160は、例えば、直近の100ms以内に受信した、クルーズコントロールモードの制御指示のフラグを含むデータフレーム等といった状態フレームに関するデータ値及び受信の時刻を示す受信履歴情報(図23参照)を保持する。 The reception history holding unit 3160 holds the reception history of the data frame received by the monitoring ECU 3100. The reception history holding unit 3160 receives, for example, the reception history information indicating the data value related to the state frame such as the data frame including the flag of the control instruction in the cruise control mode received within the latest 100 ms and the reception time (see FIG. 23). Hold.
 機能制限ルール保持部3180は、受信中の制御フレームによる制御を抑止すべきか否かの判定基準となる機能制限ルール(図24参照)を保持する。この機能制限ルールは、受信中のデータフレームを無効化すべきか否かの判定基準であるとも言える。 The function restriction rule holding unit 3180 holds a function restriction rule (see FIG. 24) that is a criterion for determining whether or not control by the control frame being received should be suppressed. This function restriction rule can be said to be a criterion for determining whether or not to invalidate a data frame being received.
 不整合継続時間計測部3190は、制御指示毎について、制御指示の不整合の継続している時間を計測して計測結果等の計測関連情報(図25参照)を保持する。また、不整合継続時間計測部3190は、制御情報監視部3130からの計測開始要求を受けて、計測関連情報としての計測中フラグの値を更新する。不整合継続時間計測部3190は、この計測中フラグに従って、不整合継続時間の計測を開始、或いは、リセット(つまり停止)することができるタイマを制御指示毎に保持する。 The inconsistency continuation time measuring unit 3190 measures the time during which the control instruction inconsistency continues for each control instruction, and holds measurement-related information (see FIG. 25) such as a measurement result. The inconsistency duration measurement unit 3190 receives a measurement start request from the control information monitoring unit 3130 and updates the value of the in-measurement flag as measurement related information. The inconsistency duration measuring unit 3190 holds, for each control instruction, a timer that can start or reset (that is, stop) the inconsistency duration according to the in-measurement flag.
 [3.4 受信履歴情報]
 図23は、受信履歴保持部3160が保持する受信履歴情報の一例を示す。同図の例では、直近100ms以内に受信されたID「0x400」のデータフレームのデータ値としての制御指示のフラグの値と、その受信の時刻とを含む。
[3.4 Reception history information]
FIG. 23 shows an example of reception history information held by the reception history holding unit 3160. In the example of the figure, the value of the control instruction flag as the data value of the data frame of ID “0x400” received within the latest 100 ms and the time of reception thereof are included.
 この受信履歴情報によれば、直近100msの間に4回、ID「0x400」を有するデータフレームを受信しており、最新の受信時におけるフラグの値は1(つまりクルーズコントロールモードがON状態で、制御を行う意味)であり、受信の時刻は301msである。1回前の受信時においては、フラグの値は0(つまりクルーズコントロールモードがOFF状態で、制御を行わない意味)であり、受信の時刻は300msである。2回前の受信時においては、フラグの値は1であり、受信の時刻は221msである。3回前の受信時においては、フラグの値は0であり、受信の時刻は220msである。 According to this reception history information, the data frame having the ID “0x400” has been received four times in the latest 100 ms, and the flag value at the time of the latest reception is 1 (that is, the cruise control mode is ON, The time of reception is 301 ms. At the time of reception one time before, the value of the flag is 0 (that is, meaning that the cruise control mode is OFF and control is not performed), and the reception time is 300 ms. At the time of reception two times before, the value of the flag is 1, and the reception time is 221 ms. At the time of reception three times before, the value of the flag is 0 and the reception time is 220 ms.
 [3.5 機能制限ルール]
 図24に、機能制限ルール保持部3180が保持する機能制限ルールの一例を示す。
[3.5 Function restriction rules]
FIG. 24 shows an example of the function restriction rule held by the function restriction rule holding unit 3180.
 機能制限ルールは、車両の制御を抑止すべきか否かの基準を示す情報であり、同図の例では、車両の制御を行う制御フレームを特定する情報である機能制限対象及び制限機能と、基準となる車両状態の条件(具体的には不整合継続時間の条件)とを対応付けたものである。同図には、機能制限ルールが1つの項目のルールで構成される例を示しているが、ルールの項目数は複数であっても良い。制限機能は、不整合継続時間の条件が満たされた場合に制限する特定の制御指示を示す。制限機能が、「制限」であれば、不整合継続時間の条件が満たされた場合に、受信中の機能制限対象のデータフレームが、クルーズコントロールモードがON状態であることを1で示すフラグを有する制御フレームである場合に、その制御フレームによる制御を抑止すべきこと、つまり、その制御フレームを無効化すべきことを意味する。また、例えば制限機能が「継続」であれば、不整合が生じる前の制御指示による状態を維持するように、制御フレームを無効化すべきことを意味する。例えば、不整合が生じる前に、クルーズコントロールモードを示すフラグが0であった場合は、不整合継続時間の条件が満たされた場合に、クルーズコントロールモードを示すフラグが1のデータフレームである制御フレームを無効化する。不整合継続時間の条件は、機能制限のための条件としての不整合継続時間の長さを示す条件であり、この条件が満たされる場合に、機能制限対象のデータフレームに対する機能制限を行う。図24の例では、機能制限対象は、クルーズコントロールに係るID「0x400」を有するデータフレームであり、制限機能は「制御」であり、クルーズコントロールモードのON状態を示す制御指示を含むデータフレームが、無効化されるべき制御フレームになる。また、図24の例では、不整合継続時間の条件は、不整合継続時間が500ms以上であることである。図24の例の機能制限ルールは、クルーズコントロールモードの制御指示の状態についての不整合継続時間が500ms以上の長さとなる変化多発状態において、クルーズコントロールの特定の制御指示による制御を抑止すべきという基準を示しているとも言える。この変化多発状態においては、監視ECU3100は、クルーズコントロールに係る特定の制御指示を示すデータフレームである制御フレームを、エラーフレームの送信により無効化する。 The function restriction rule is information indicating a criterion for determining whether or not to suppress the control of the vehicle. In the example in the figure, the function restriction target and the restriction function that are information for specifying a control frame for controlling the vehicle, and the reference Vehicle condition (specifically, inconsistency duration condition). In the figure, an example is shown in which the function restriction rule is composed of one item rule, but the number of rule items may be plural. The restriction function indicates a specific control instruction to be restricted when the condition of inconsistency duration is satisfied. If the restriction function is “restriction”, a flag indicating that the cruise control mode is in the ON state is displayed in the data frame subject to function restriction being received when the condition of inconsistency duration is satisfied. This means that if the control frame has the control frame, control by the control frame should be suppressed, that is, the control frame should be invalidated. For example, if the restriction function is “continuation”, it means that the control frame should be invalidated so as to maintain the state according to the control instruction before the inconsistency occurs. For example, if the flag indicating the cruise control mode is 0 before the inconsistency occurs, the control indicating that the flag indicating the cruise control mode is 1 data frame when the condition of the inconsistency duration is satisfied. Disable the frame. The inconsistency duration condition is a condition indicating the length of the inconsistency duration as a function restriction condition. When this condition is satisfied, the function restriction is performed on the data frame subject to the function restriction. In the example of FIG. 24, the function restriction target is a data frame having an ID “0x400” related to cruise control, the restriction function is “control”, and a data frame including a control instruction indicating an ON state of the cruise control mode is provided. The control frame to be invalidated. Further, in the example of FIG. 24, the condition for the mismatch duration is that the mismatch duration is 500 ms or more. The function restriction rule in the example of FIG. 24 is that the control by the specific control instruction of the cruise control should be suppressed in the frequent change state in which the inconsistency duration of the control instruction state in the cruise control mode is 500 ms or longer. It can be said that it shows the standard. In this frequent change state, the monitoring ECU 3100 invalidates a control frame, which is a data frame indicating a specific control instruction related to cruise control, by transmitting an error frame.
 [3.6 不整合継続時間]
 図25は、不整合継続時間計測部3190が計測して保持する不整合継続時間等を含む計測関連情報の一例を示す。この例の計測関連情報は、データフレームのID毎に、制御指示についての不整合が継続した時間である不整合継続時間と、不整合継続時間を計測中であるか否かを示した計測中フラグと、不整合の発生前に制御を行っていたか否かを示す不整合発生前状態とを含んでいる。この例では、クルーズコントロールに係るID「0x400」のデータフレームについて、計測された不整合継続時間は100msであり、計測中フラグは1で継続時間の計測中を意味し、不整合発生前状態は「非制御」(つまりクルーズコントロールモードを示す制御指示のフラグが0)であることを示している。
[3.6 Mismatch duration]
FIG. 25 shows an example of measurement related information including inconsistency duration time measured and held by the inconsistency duration time measurement unit 3190. The measurement-related information in this example is for the data frame ID, indicating the inconsistency continuation time that is the time that the inconsistency about the control instruction has continued, and whether or not the inconsistency continuation time is being measured. It includes a flag and a state before the occurrence of inconsistency indicating whether or not the control was performed before the occurrence of inconsistency. In this example, for the data frame of ID “0x400” related to cruise control, the measured inconsistency duration is 100 ms, the measurement flag is 1, meaning that the duration is being measured, and the state before the occurrence of inconsistency is “Non-control” (that is, the control instruction flag indicating the cruise control mode is 0).
 [3.7 クルーズコントロール機能に対する攻撃の抑止に係るシーケンス]
 図26は、クルーズコントロール機能への攻撃、及び、監視ECU3100による不正制御抑止処理に係るシーケンスの一例を示す。ここでは、監視ECU3100は、図24に例示した機能制限ルールを保持しているものとする。また、クルーズコントロール機能をONにするためのスイッチ3260の操作がなされていない状態であるとする。また、図26では、ECU200aが送信している車速に係るデータフレームについての記載を省略している。
[3.7 Sequence related to deterring attacks on the cruise control function]
FIG. 26 shows an example of a sequence related to an attack on the cruise control function and an unauthorized control suppression process by the monitoring ECU 3100. Here, it is assumed that the monitoring ECU 3100 holds the function restriction rule illustrated in FIG. Further, it is assumed that the switch 3260 for turning on the cruise control function is not operated. In FIG. 26, the description of the data frame related to the vehicle speed transmitted by the ECU 200a is omitted.
 ECU3200eは、クルーズコントロールに係るID「0x400」を有するデータフレームについてクルーズコントロールモードがOFF状態であることを示すように制御指示のフラグを0にしてバス300に送信する(ステップS311)。このデータフレームをECU3200fと、監視ECU3100とが受信する。ECU3200fはクルーズコントロールモードに係るフラグが0のため、車速を一定にするための加速或いは減速等といったモータ3270の制御を行わない。監視ECU3100は、受信履歴保持部3160に保持される受信履歴情報を、受信したデータフレームに基づいて更新する。 ECU 3200e sets a control instruction flag to 0 and transmits the data frame having ID “0x400” related to cruise control to the bus 300 to indicate that the cruise control mode is OFF (step S311). The ECU 3200f and the monitoring ECU 3100 receive this data frame. The ECU 3200f does not control the motor 3270 such as acceleration or deceleration for keeping the vehicle speed constant because the flag related to the cruise control mode is 0. The monitoring ECU 3100 updates the reception history information held in the reception history holding unit 3160 based on the received data frame.
 攻撃ECUは、クルーズコントロールに係るID「0x400」を有するデータフレームについて、クルーズコントロールモードがON状態であることを示すように制御指示のフラグを1にして送信する(ステップS312)。このデータフレームをECU3200fと、監視ECU3100とが受信する。ECU3200fはクルーズコントロールモードに係るフラグが1のため、そのデータフレームの加速或いは減速を示す加速度の値に従って、モータ3270を制御する。監視ECU3100は、受信履歴保持部3160に保持される受信履歴情報を、受信したデータフレームに基づいて更新する。このとき、監視ECU3100は、直近100ms以内に受信したデータフレームから、クルーズコントロールに関して、「制御」(つまりクルーズコントロールモードがON状態である制御指示)と、「非制御」(つまりクルーズコントロールモードがOFF状態である制御指示)との両方のデータフレームを受信していることから、不整合と判断して、不整合継続時間の計測を開始する。 The attack ECU transmits a data frame having an ID “0x400” related to cruise control with a control instruction flag set to 1 to indicate that the cruise control mode is ON (step S312). The ECU 3200f and the monitoring ECU 3100 receive this data frame. The ECU 3200f controls the motor 3270 according to the acceleration value indicating acceleration or deceleration of the data frame because the flag related to the cruise control mode is 1. The monitoring ECU 3100 updates the reception history information held in the reception history holding unit 3160 based on the received data frame. At this time, the monitoring ECU 3100 performs “control” (that is, a control instruction in which the cruise control mode is ON) and “non-control” (that is, the cruise control mode is OFF) from the data frame received within the last 100 ms. Since both data frames with the control instruction in the state are received, it is determined that there is a mismatch, and measurement of the mismatch duration is started.
 その後、ステップS311と同様のID「0x400」を有しクルーズコントロールについて「非制御」を示すデータフレームの送信と、ステップS312と同様のID「0x400」を有しクルーズコントロールについて「制御」を示すデータフレームの送信とが500ms間、繰り返される(ステップS313)。 Thereafter, transmission of a data frame having the same ID “0x400” as in step S311 and indicating “non-control” for cruise control, and data indicating “control” for cruise control having the same ID “0x400” as in step S312. The frame transmission is repeated for 500 ms (step S313).
 続いてECU3200eは、クルーズコントロールに係るID「0x400」を有し「非制御」を示すデータフレームを送信する(ステップS314)。このデータフレームを、ECU3200fと、監視ECU3100とが受信する。 Subsequently, ECU 3200e transmits a data frame having ID “0x400” relating to cruise control and indicating “non-control” (step S314). The ECU 3200f and the monitoring ECU 3100 receive this data frame.
 続いて攻撃ECUは、ID「0x400」を有し「制御」(つまりクルーズコントロールモードがON状態である制御指示)を示すデータフレームを送信する(ステップS315)。 Subsequently, the attack ECU transmits a data frame having ID “0x400” and indicating “control” (that is, a control instruction in which the cruise control mode is ON) (step S315).
 ステップS315での送信に対応して、監視ECU3100は、受信中のデータフレームが、機能制限ルールの機能制限対象及び制限機能で特定される制御フレームである場合に、機能制限ルールの車両状態の条件(つまり不整合継続時間の条件)が満たされるか否かにより、その制御フレームによる制御を抑止すべきか否かを判定する。この時点では、不整合継続時間が500ms以上続いた状態で、クルーズコントロールモードを示す制御指示(つまりフラグが1)を含むデータフレームである制御フレームを受信中であるので、監視ECU3100は、その制御フレームによる制御を抑止すべきと判定する。そして、その制御フレームの無効化のためにエラーフレームを送信する(ステップS316)。エラーフレームの送信により、監視ECU3100は、攻撃によるクルーズコントロールに係る不正な制御を抑止し得る。このエラーフレームにより、送信中であったID「0x400」を有しクルーズコントロールモードがON状態であることを示す制御指示を含む制御フレームが上書きされ、結果的に、攻撃ECUによるそのデータフレームの送信が中断されたことになる。ECU3200fは、そのエラーフレームを受信することにより、受信中のデータフレームを破棄して、そのデータフレームに基づくクルーズコントロールのための加速或いは減速等の制御を行わない。 Corresponding to the transmission in step S315, the monitoring ECU 3100 determines whether the data frame being received is a control frame specified by the function restriction target and the restriction function of the function restriction rule and the vehicle state condition of the function restriction rule. It is determined whether or not the control by the control frame should be suppressed depending on whether or not (that is, the condition of inconsistency duration) is satisfied. At this point, the control ECU 3100 is receiving a control frame that is a data frame including a control instruction indicating the cruise control mode (that is, the flag is 1) in a state where the mismatch duration has continued for 500 ms or longer. It is determined that control by frame should be suppressed. Then, an error frame is transmitted to invalidate the control frame (step S316). By transmitting the error frame, the monitoring ECU 3100 can suppress unauthorized control related to cruise control due to an attack. This error frame overwrites the control frame having the ID “0x400” being transmitted and including the control instruction indicating that the cruise control mode is in the ON state, and as a result, the attack ECU transmits the data frame. Is interrupted. The ECU 3200f receives the error frame, discards the data frame being received, and does not perform control such as acceleration or deceleration for cruise control based on the data frame.
 このように、監視ECU3100は、機能制限ルールに基づく判定結果に応じてエラーフレームの送信を行うことで、攻撃ECUによるクルーズコントロールに係る不正な制御を行うためのデータフレームのECU3200fによる受信を、阻止することができる。 In this way, the monitoring ECU 3100 transmits the error frame in accordance with the determination result based on the function restriction rule, thereby preventing the ECU 3200f from receiving the data frame for performing unauthorized control related to cruise control by the attack ECU. can do.
 [3.8 監視ECU3100による監視動作]
 図27は、監視ECU3100による監視動作の一例を示すフローチャートである。この監視動作に係る処理は、バス300にデータフレームが現れる度に行われる。
[3.8 Monitoring Operation by Monitoring ECU 3100]
FIG. 27 is a flowchart illustrating an example of a monitoring operation performed by the monitoring ECU 3100. The process related to the monitoring operation is performed every time a data frame appears on the bus 300.
 監視ECU3100は、データフレームを受信し、受信中のデータフレームのIDが、受信履歴保持部3160に受信履歴を保持すべきデータフレームのIDであるか否かを判断する(ステップS321)。例えば、受信履歴の保持対象に係るIDは、クルーズコントロールモードの状態に係る状態フレームであるデータフレームのID「0x400」である(図23参照)。 The monitoring ECU 3100 receives the data frame, and determines whether or not the ID of the data frame being received is the ID of the data frame whose reception history is to be held in the reception history holding unit 3160 (step S321). For example, the ID related to the reception history holding target is the data frame ID “0x400” that is the status frame related to the cruise control mode state (see FIG. 23).
 監視ECU3100は、受信中のデータフレームのIDが、受信履歴保持部3160に受信履歴を保持すべきデータフレームのIDである場合は、受信中のデータフレームにおける状態(例えばクルーズコントロールモードに係る制御指示のフラグ)を示すデータ値と、受信の時刻とを含ませるように、受信履歴保持部3160が保持する受信履歴情報における、そのIDに係る受信履歴を更新する(ステップS322)。なお、監視ECU3100は、この受信履歴情報の更新に際して、例えば、受信の時刻が現在時刻より一定時間(例えば100ms)より前の受信履歴の情報を消去しても良い。 When the ID of the data frame being received is the ID of the data frame whose reception history is to be held in the reception history holding unit 3160, the monitoring ECU 3100 determines the state of the data frame being received (for example, a control instruction related to the cruise control mode). The reception history relating to the ID in the reception history information held by the reception history holding unit 3160 is updated so as to include the data value indicating the flag of ()) and the time of reception (step S322). Note that, when updating the reception history information, the monitoring ECU 3100 may delete, for example, reception history information whose reception time is earlier than a certain time (for example, 100 ms) from the current time.
 続いて監視ECU3100は、受信履歴情報に基づいて、制御指示等を示すデータ値に不整合が生じているか否かを判断する(ステップS323)。 Subsequently, the monitoring ECU 3100 determines whether or not there is a mismatch in the data value indicating the control instruction or the like based on the reception history information (step S323).
 次に監視ECU3100は、ステップS323で判断した、不整合の有無に基づき、不整合継続時間計測部3190に不整合継続時間の計測を開始させ、或いは、停止させる(ステップS324)。 Next, the monitoring ECU 3100 causes the mismatch duration measurement unit 3190 to start or stop the mismatch duration measurement based on the presence / absence of the mismatch determined in step S323 (step S324).
 監視ECU3100は、ステップS321で受信中のデータフレームのIDが、受信履歴保持部3160に受信履歴を保持すべきデータフレームのIDでないと判断した後、或いは、ステップS324での処理の後に、受信中のデータフレームが、機能制限ルール保持部3180に保持されている機能制限ルールにおいて機能制限対象及び制限機能により特定される制御フレームであるか否かを判断する(ステップS325)。監視ECU3100は、ステップS325で、受信中のデータフレームが、機能制限対象となる制御フレームでないと判断した場合には、処理を終了する。 The monitoring ECU 3100 determines that the ID of the data frame being received in step S321 is not the ID of the data frame whose reception history should be held in the reception history holding unit 3160, or is being received after the processing in step S324. It is determined whether or not the data frame is a control frame specified by the function restriction target and the restriction function in the function restriction rule held in the function restriction rule holding unit 3180 (step S325). If the monitoring ECU 3100 determines in step S325 that the data frame being received is not a control frame subject to function restriction, the monitoring ECU 3100 ends the process.
 次に監視ECU3100は、受信中の制御フレームによる制御が抑止されるべきであるか否かを、不整合継続時間計測部3190により計測された不整合継続時間が、機能制限ルールにおける不整合継続時間の条件を満たすか否かに基づいて判定する(ステップS326)。不整合継続時間に係る車両の状態の条件が成立すれば、その制御フレームによる制御は抑止されるべきであると判定される。監視ECU3100は、その制御フレームによる制御が抑止されるべきでないと判定した場合、つまり、不整合継続時間の条件が満たされていない場合には、処理を終了する。 Next, the monitoring ECU 3100 determines whether or not the control by the control frame that is being received should be suppressed. The mismatch duration measured by the mismatch duration measurement unit 3190 is the mismatch duration in the function restriction rule. Is determined based on whether or not the above condition is satisfied (step S326). If the condition of the vehicle state related to the inconsistency duration is satisfied, it is determined that the control by the control frame should be suppressed. If the monitoring ECU 3100 determines that the control by the control frame should not be inhibited, that is, if the condition of the mismatch duration is not satisfied, the monitoring ECU 3100 ends the process.
 ステップS326でその受信中の制御フレームによる制御は抑止されるべきであると判定した場合には、監視ECU3100は、その制御フレームを無効化するために、受信中の制御フレームであるデータフレームの最後尾が受信される前にエラーフレームをバス300に送信する(ステップS321)。これにより、その受信中のデータフレームにエラーフレームが上書きされて、そのデータフレームは無効化される。このため、バス300に接続されたECU(例えばECU3200f)は、その無効化されたデータフレームに基づく車両の制御を行わない。 If it is determined in step S326 that the control by the control frame being received should be inhibited, the monitoring ECU 3100 invalidates the control frame, so that the last of the data frames that are the control frames being received is displayed. An error frame is transmitted to the bus 300 before the tail is received (step S321). As a result, the error frame is overwritten on the currently received data frame, and the data frame is invalidated. For this reason, ECU (for example, ECU 3200f) connected to bus 300 does not control the vehicle based on the invalidated data frame.
 [3.9 実施の形態3の効果]
 実施の形態3に係る車載ネットワークシステム12では、監視ECU3100が、一定期間に受信した制御指示に関連する状態フレームの集合に基づいて、制御指示の状態の変化が多発する変化多発状態であるか否かを検証する。この検証は、例えば、図24に示す機能制限ルールに基づいて、状態の変化による不整合が継続する時間である不整合継続時間が一定期間続くか否かにより行われる。そして、監視ECU3100は、不整合継続時間に応じて、機能制限ルールの機能制限対象及び機能制限により特定される制御フレームを無効化するか否かを判定する。これにより、攻撃者が、不正な制御を引き起こすデータフレームを送信し続けたとしても、不正な制御を引き起こし続けることができなくなる。これは、不正な制御を継続されることにより被害が大きくなるような、制御に関連するデータフレームを監視対象とすることで有効な対策となる。また、監視ECU3100によれば、例えばクルーズコントロール機能等の特定の機能の正常な利用において、その制御指示の状態の変化が時折発生する場合(つまり不整合継続時間が一定時間以下の場合)には、その制御が抑止されず、その変化が一定期間に多発するような攻撃の場合にその制御が抑止される。このため、正常なデータフレームが誤って無効化されない。
[3.9 Effects of Embodiment 3]
In the in-vehicle network system 12 according to Embodiment 3, whether or not the monitoring ECU 3100 is a change-prone state in which a change in the state of the control instruction frequently occurs based on a set of state frames related to the control instruction received in a certain period. Verify that. This verification is performed, for example, based on the function restriction rule shown in FIG. 24, based on whether or not the inconsistency continuation time, which is the time for which inconsistency due to the state change continues, lasts for a certain period. Then, the monitoring ECU 3100 determines whether or not to invalidate the control frame specified by the function restriction target and the function restriction of the function restriction rule according to the mismatch duration. As a result, even if an attacker continues to transmit a data frame that causes unauthorized control, the attacker cannot continue to cause unauthorized control. This is an effective measure by setting a data frame related to control as a monitoring target so that damage is increased by continuing unauthorized control. Further, according to the monitoring ECU 3100, for example, when a change in the state of the control instruction occasionally occurs during normal use of a specific function such as a cruise control function (that is, when the inconsistency continuation time is a predetermined time or less). In the case of an attack in which the control is not suppressed and the change frequently occurs in a certain period, the control is suppressed. For this reason, a normal data frame is not invalidated by mistake.
 (他の実施の形態)
 以上のように、本開示に係る技術の例示として実施の形態1~3を説明した。しかしながら、本開示に係る技術は、これに限定されず、適宜、変更、置き換え、付加、省略等を行った実施の形態にも適用可能である。例えば、以下のような変形例も本開示の一実施態様に含まれる。
(Other embodiments)
As described above, Embodiments 1 to 3 have been described as examples of the technology according to the present disclosure. However, the technology according to the present disclosure is not limited to this, and can also be applied to embodiments in which changes, replacements, additions, omissions, and the like are appropriately performed. For example, the following modifications are also included in one embodiment of the present disclosure.
 (1)上記実施の形態では、状態偽装検知部と、機能制限部と、車両状態監視部と、制御情報監視部とは、複数のECUがフレームの授受を行うためのバス300に接続された監視ECUの構成要素として説明したが、その他の1つ又は複数のECUの構成要素としても良い。上述した監視ECUは、車載ネットワークシステムにおいてバスに接続されたECUであれば、監視専用のECUである必要はなく、監視及び対処とは異なる機能を併せ持っても構わない。また、例えば監視ECUにおける1つ以上の構成要素を他のECUに移動させても良い。偽装状態の検知、機能制限ルールに基づく制御が抑止されるべき制御フレームの検知、制御の抑止のための制御フレームの無効化等を、どのECUが行っても良い。例えば、制御フレームを受信しその制御フレームの内容に応じて制御を行うECU等が、上述した監視ECUと同様の構成要素を有することとしても良い。また、例えば、車載ネットワークを複数のバスで構成した場合におけるバス間でのデータフレームの転送を行うゲートウェイECUに、上述した監視ECUの構成要素を含ませても良い。これは、ゲートウェイECUが、各バスの状態を監視できるので、有用である。この監視ECUの構成を含むゲートウェイECUでは、不正な制御フレームによる制御の抑止のために、エラーフレームによる制御フレームの無効化の他に、制御を抑止すべきと判定された制御フレームのバス間での転送を抑止する等の処理を行うことができる。また、ゲートウェイECUでは、多数の車載ネットワークの情報を監視できることから、不正な制御フレームによる制御の抑止のために実現できる機能の幅も広がる。 (1) In the above-described embodiment, the state camouflage detection unit, the function restriction unit, the vehicle state monitoring unit, and the control information monitoring unit are connected to the bus 300 for a plurality of ECUs to exchange frames. Although described as a component of the monitoring ECU, it may be a component of one or more other ECUs. The above-described monitoring ECU need not be a dedicated monitoring ECU as long as it is an ECU connected to a bus in the in-vehicle network system, and may have a function different from monitoring and handling. Further, for example, one or more components in the monitoring ECU may be moved to another ECU. Any ECU may perform detection of a camouflaged state, detection of a control frame for which control based on a function restriction rule should be suppressed, invalidation of a control frame for control suppression, and the like. For example, an ECU or the like that receives a control frame and performs control according to the contents of the control frame may have the same components as the monitoring ECU described above. Further, for example, the above-described components of the monitoring ECU may be included in the gateway ECU that transfers data frames between the buses when the in-vehicle network is configured with a plurality of buses. This is useful because the gateway ECU can monitor the state of each bus. In the gateway ECU including the configuration of the monitoring ECU, in order to suppress control by an illegal control frame, in addition to the invalidation of the control frame by an error frame, between the buses of the control frames determined to be controlled. For example, it is possible to perform processing such as deterring transfer. In addition, since the gateway ECU can monitor information on a large number of in-vehicle networks, the range of functions that can be realized to suppress control by an unauthorized control frame is expanded.
 (2)上記実施の形態で示した制御フレームは、車両の制御に利用される情報を含むデータフレームであれば、いかなるフレームであっても良い。また、制御フレームには、車両の制御を抑止するという一種の制御のための、車両の制御の抑止指示を行うデータフレームも含まれると看做すこととしても良い。 (2) The control frame shown in the above embodiment may be any frame as long as it is a data frame including information used for vehicle control. Further, the control frame may be regarded as including a data frame for instructing suppression of vehicle control for a kind of control of suppressing vehicle control.
 (3)また、上記実施の形態では、機能制限対象となった制御フレームによる制御を抑止する例として、監視ECUがエラーフレームにより、受信中の制御フレームをバス上で上書きして無効化する例を示した。しかし、制御フレームによる制御の抑止の実現方法は、制御フレームの受信中にエラーフレームを送信する方法に限られない。例えば、制御フレームを受信しその制御フレームの内容に応じて制御を行うECUが、機能制限対象として制御が抑止されるべきと判定された制御フレームを破棄して、その制御フレームに対応した制御を行わないことで、制御フレームによる制御の抑止を実現しても良い。これは、車載ネットワークの構成に監視専用の監視ECUを含ませない場合等に有用となる。また、上述したようにゲートウェイECUで、制御を抑止すべきと判定した制御フレームの転送を抑止することで、制御フレームによる制御の抑止を実現しても良い。また、制御フレームによる制御の抑止の実現方法の例として、他のECUにその制御に係る機能を制限することを通知するデータフレームを送信する方法、ユーザにその機能を制限することを通知する方法、ADASの機能等といった自動制御機能の縮退を含み得る予め定めたフェールセーフモードに車両を移行させる方法等が挙げられる。 (3) In the above embodiment, as an example of suppressing control by a control frame subject to function restriction, an example in which the monitoring ECU overwrites a received control frame on the bus with an error frame and invalidates it. showed that. However, the method for realizing the control inhibition by the control frame is not limited to the method of transmitting the error frame while receiving the control frame. For example, an ECU that receives a control frame and performs control according to the content of the control frame discards the control frame that is determined to be inhibited as a function restriction target, and performs control corresponding to the control frame. By not performing the control, control suppression by the control frame may be realized. This is useful when the monitoring ECU dedicated to monitoring is not included in the configuration of the in-vehicle network. Further, as described above, the control of the control frame may be suppressed by suppressing the transfer of the control frame determined to be controlled by the gateway ECU. Further, as an example of a method for realizing control inhibition by a control frame, a method for transmitting a data frame for notifying other ECUs that the function related to the control is restricted, and a method for notifying the user that the function is restricted And a method of shifting the vehicle to a predetermined fail-safe mode that may include degeneration of an automatic control function such as an ADAS function.
 (4)上記実施の形態では、CANプロトコルにおけるデータフレームを標準IDフォーマットで記述しているが、拡張IDフォーマットであっても良く、データフレームの識別子であるIDは、拡張IDフォーマットでの拡張ID等であっても良い。 (4) Although the data frame in the CAN protocol is described in the standard ID format in the above embodiment, the extended ID format may be used, and the ID that is the identifier of the data frame is the extended ID in the extended ID format. Etc.
 (5)上記実施の形態では、監視ECUが受信履歴保持部に直近100msに受信したデータフレームの情報を含む受信履歴情報を保持する例を示したが、その情報の受信からの保持期間として100msは一例に過ぎない。その保持期間として、車両の状態が偽装されていることを判定するのに必要な情報が得られる最低限の時間、或いは、制御指示に係る情報の不整合が継続していることを判断するのに必要な情報が得られる最低限の時間を設定すれば十分であり、例えば、目安としてデータフレームの送信間隔より長い任意の期間を設定することが想定される。また、監視ECUが、受信履歴情報として記録する受信履歴の対象となるデータフレームのIDは、1つでも複数でも良い。また、監視ECUが、保持する機能制限ルールの項目も1つでも複数でも良い。また、監視ECUが、車両状態保持部に保持する車両状態情報は、1つのIDに関する偽装フラグを含んでも良いし、複数のIDそれぞれに関する偽装フラグを含んでも良い。 (5) In the above embodiment, the monitoring ECU holds the reception history information including the information of the data frame received in the latest 100 ms in the reception history holding unit, but the holding period from the reception of the information is 100 ms. Is just an example. As the retention period, it is determined that the minimum time for obtaining information necessary to determine that the vehicle state is camouflaged, or that the inconsistency of information related to the control instruction continues. For example, it is assumed that an arbitrary period longer than the data frame transmission interval is set as a guideline. Moreover, the monitoring ECU may have one or more IDs for the data frame that is the target of the reception history recorded as the reception history information. The monitoring ECU may have one or more function restriction rule items. Further, the vehicle state information held by the monitoring ECU in the vehicle state holding unit may include a camouflaged flag related to one ID or may include a camouflaged flag related to each of a plurality of IDs.
 (6)上記実施の形態では、監視ECUが受信履歴保持部に受信履歴情報として、データフレームのデータフィールドのデータ値、及び、受信の時刻を含む受信履歴を保持することとしたが、データ値、受信の時刻は一例に過ぎず、データ値或いは受信の時刻の保持の省略も可能である。受信履歴保持部は、その他の情報を保持しても良いし、データフィールドの一部のデータ値を保持しても良いし、受信したデータフレームの全てのフィールドの内容を保持しても良い。 (6) In the above embodiment, the monitoring ECU holds the reception history including the data value of the data field of the data frame and the reception time as the reception history information in the reception history holding unit. The reception time is only an example, and the holding of the data value or the reception time can be omitted. The reception history holding unit may hold other information, may hold a partial data value of the data field, or may hold the contents of all fields of the received data frame.
 (7)上記実施の形態では、機能制限ルール保持部に保持される機能制限ルールが示す基準として、車速に係る車両状態継続時間の条件と、ギアポジションに係る車両状態継続時間の条件とを示したが、その基準として各条件を組み合わせて、各条件の論理和或いは論理積等を用いても良い。また条件の数を増やしても良いし、少なくしても良い。機能制限ルールにおける機能制限対象の制御が正常に実行される場合において、確実に生じる車両状態を踏まえて車両状態の条件を定めることで、正常なデータフレームを誤って無効化することを防ぐことが可能となる。また、車速、ギアポジション等といった、車両の制御の条件となる車両の状態を適切に選定して、その車両の状態に係る条件を機能制限ルールにおいて定めておくことで、攻撃者による車両の状態の偽装用の状態フレーム送信後の制御フレームによる不正な制御を抑止することが可能となる。例えば、実施の形態1及び実施の形態2で示した駐車支援機能を有する車載ネットワークシステムの例においては、制御を示す制御フラグを含む、正常なハンドル制御指示に係る制御フレームが送信され始めるタイミングは、運転者が駐車支援機能の実行開始の操作をした後からである。ここで、運転者は、駐車支援機能の実行開始の操作に先立ってギアポジションを「リバース」に変更し、モニタ上に表示される車両後方の映像を参照しながら駐車位置を指定する。このため、機能制限ルールに係る基準となる車両状態の条件として、例えば、制御を示す制御フラグを含む、正常なハンドル制御指示に係る制御フレームが送信され始めるタイミングで車速が0km/hであることを設定しても良い。また、駐車支援機能でハンドルの操舵角を計算するに当たって、ハンドルを直進状態に戻すことを運転者に要求する方式が用いられる場合には、機能制限ルールに係る基準となる車両状態の条件として、例えば制御を示す制御フラグを含む、正常なハンドル制御指示に係る制御フレームが送信され始めるタイミングでハンドルの操舵状態が概ね直進状態であることを設定しても良い。また、運転者が駐車支援機能を使用する際の操作シーケンスを踏まえ、車両状態の条件として、例えば、車速が0km/hであること、ギアポジションが「リバース」であること、ハンドルの操舵状態が概ね直進状態にあること等の各々が、制御を示す制御フラグを含む、正常なハンドル制御指示に係る制御フレームが送信され始めるタイミングまでに、順に発生していることを設定しても良い。 (7) In the above embodiment, the vehicle condition duration condition relating to the vehicle speed and the vehicle condition duration condition relating to the gear position are shown as the reference indicated by the function restriction rule held in the function restriction rule holding unit. However, each condition may be combined as a criterion, and a logical sum or a logical product of the conditions may be used. Also, the number of conditions may be increased or decreased. In the case where control of the function restriction target in the function restriction rule is normally executed, it is possible to prevent invalidating the normal data frame by mistake by setting the condition of the vehicle state based on the vehicle state that is surely generated. It becomes possible. In addition, by appropriately selecting the vehicle state that is the vehicle control condition, such as the vehicle speed and gear position, and setting the condition related to the vehicle state in the function restriction rules, the state of the vehicle by the attacker It is possible to suppress unauthorized control by the control frame after transmitting the status frame for impersonation. For example, in the example of the in-vehicle network system having the parking assist function shown in the first and second embodiments, the timing at which a control frame related to a normal steering wheel control instruction including a control flag indicating control is transmitted is This is after the driver has performed an operation to start execution of the parking assist function. Here, the driver changes the gear position to “reverse” prior to the operation for starting the execution of the parking support function, and designates the parking position while referring to the video behind the vehicle displayed on the monitor. For this reason, for example, the vehicle speed is 0 km / h at the timing at which a control frame related to a normal steering wheel control instruction including a control flag indicating control is transmitted as a condition of a vehicle state serving as a reference for the function restriction rule. May be set. In addition, when calculating the steering angle of the steering wheel with the parking assist function, when a method for requesting the driver to return the steering wheel to the straight traveling state is used, as a condition of the vehicle state serving as a reference for the function restriction rule, For example, it may be set that the steering state of the steering wheel is substantially straight at the timing at which a control frame related to a normal steering wheel control instruction including a control flag indicating control is transmitted. Further, based on the operation sequence when the driver uses the parking assist function, the vehicle state conditions include, for example, that the vehicle speed is 0 km / h, the gear position is “reverse”, and the steering state of the steering wheel is It may be set that each of the states such as being in a substantially straight traveling state occurs in order by the timing at which a control frame related to a normal handle control instruction including a control flag indicating control is transmitted.
 (8)上記実施の形態では、車両の状態の偽装検知について、状態フレームについて規定された送信間隔に基づいて、予め規定された送信間隔に係るマージンの範囲内の期間に複数の状態フレームを受信した場合にその状態フレームに係る車両の状態が偽装されていると判定する例を示した。しかし、車両の状態の偽装検知の方法は、この例の方法に限らない。例えば、一定期間内のデータフレームの受信数の閾値を予め規定しておき、閾値を超えた場合に車両の状態が偽装されていると判定しても良い。また、一定期間内或いは一定受信回数内のデータフレームの値の変化量の閾値、或いは、値の変化回数の閾値を予め規定しておき、閾値を超えた場合に車両の状態が偽装されていると判定しても良い。また、異なるIDのデータフレームの関係性により、関係性の崩れから車両の状態の偽装を判定しても良い。また、車載ネットワークに流れるデータフレーム以外から取得できる情報、例えばGPS(Global Positioning System)情報、地図情報、イグニッションの状態に関する情報、各種センサ情報等を組み合わせて車両の状態の偽装を判定しても良い。 (8) In the above-described embodiment, with respect to the detection of the camouflaged state of the vehicle, a plurality of state frames are received in a period within a margin range related to the predetermined transmission interval based on the transmission interval specified for the state frame. In this case, an example is shown in which it is determined that the state of the vehicle related to the state frame is camouflaged. However, the method of detecting the camouflage of the vehicle state is not limited to the method of this example. For example, a threshold value for the number of data frames received within a certain period may be defined in advance, and if the threshold value is exceeded, it may be determined that the state of the vehicle is camouflaged. In addition, a threshold for the amount of change in the value of a data frame within a certain period or the number of times of reception or a threshold for the number of changes in the value is defined in advance, and the vehicle state is disguised when the threshold is exceeded. May be determined. Further, camouflaging of the state of the vehicle may be determined from the collapse of the relationship based on the relationship between the data frames having different IDs. Further, information that can be acquired from other than the data frame flowing in the in-vehicle network, for example, GPS (Global Positioning System) information, map information, information on the ignition state, various sensor information, and the like may be combined to determine impersonation of the vehicle state. .
 (9)上記実施の形態では、データフレームが平文でバスを流れる例を示したが、暗号化されていても良い。またデータフレームに、メッセージ認証コードを含んでいても良い。 (9) In the above-described embodiment, an example in which a data frame flows in a plaintext bus is shown, but it may be encrypted. Further, the data authentication code may be included in the data frame.
 (10)上記実施の形態では、機能制限ルールを、平文で保持している例を示したが、暗号化して保持していても良い。 (10) In the above embodiment, an example in which the function restriction rule is held in plain text is shown, but it may be held encrypted.
 (11)上記実施の形態では、車両状態継続時間の計算方法として、受信履歴情報を参照することにより、現在の時刻から、車両の状態が継続している時間を計算する例を示したが、この方法に限らない。例えば受信履歴情報として、特定のIDを有する状態フレームの最終の受信の時刻と、その時のデータ値のみを保持することによって、車両の状態の継続時間を計測しても良い。また、機能制限ルールにおける車両状態継続時間の条件に対応して、所定の時間が経過しているか否かが判別できれば良く、必ずしも車両の状態の継続時間を計算する必要はない。例えば、車両の状態が機能制限ルールに示される所定の条件を満たしたときにタイマをセットし、タイマが所定の時間よりも大きいか否かを判別することによって、機能制限ルールにおける条件が満たされるか否かを判別しても良い。また、車両の状態が機能制限ルールに示される所定の条件を満たしたときに、所定の時間のカウントダウンタイマをセットし、タイマが0となっているか否かを確認することで、機能制限ルールにおける条件が満たされるか否かを判別しても良い。 (11) In the above embodiment, as an example of calculating the vehicle state duration, the example in which the time during which the state of the vehicle is continued is calculated from the current time by referring to the reception history information. It is not restricted to this method. For example, as the reception history information, the time of the last reception of a state frame having a specific ID and only the data value at that time may be held to measure the duration of the vehicle state. Further, it is only necessary to determine whether or not a predetermined time has elapsed in accordance with the condition of the vehicle state duration in the function restriction rule, and it is not always necessary to calculate the duration of the vehicle state. For example, the condition in the function restriction rule is satisfied by setting a timer when the state of the vehicle satisfies a predetermined condition indicated in the function restriction rule and determining whether or not the timer is greater than a predetermined time. It may be determined whether or not. In addition, when the vehicle state satisfies a predetermined condition indicated in the function restriction rule, a countdown timer for a predetermined time is set, and whether or not the timer is 0 is determined. It may be determined whether or not the condition is satisfied.
 (12)上記実施の形態では、監視ECUが、機能制限ルールにおける車両状態継続時間が予め規定された閾値以上の時間を経過しないと、車両の状態が安定状態でないので機能制限対象に係る制御フレームによる制御を抑止する例を示した。しかし、車両状態継続時間が予め規定された閾値以上の時間を経過していないことで、車両の状態が安定状態でない場合に必ずしも直ちに制御フレームによる制御を抑止しなくても良く、安定状態でない状態がある程度継続した場合に抑止することとしても良い。これは、不正に送信されても危険性が低い制御に係る制御フレームに関して、正常な制御フレームを誤って無効化してしまう誤検知を抑制するために有用となる。 (12) In the above embodiment, if the monitoring ECU does not pass the vehicle state duration in the function restriction rule that exceeds a predetermined threshold value, the vehicle state is not stable, so the control frame related to the function restriction target. An example of suppressing the control by. However, since the vehicle state duration time has not passed the predetermined threshold or more, it is not always necessary to immediately suppress the control by the control frame when the vehicle state is not in a stable state. It is good also as deterring when it continues for some time. This is useful for suppressing erroneous detection that erroneously invalidates a normal control frame with respect to a control frame related to control with low risk even if transmitted illegally.
 (13)上記実施の形態では、不整合継続時間として、制御を示す制御指示の情報を含むデータフレームと、非制御を示す制御指示の情報を含むデータフレームとの両方が一定期間に観測される時間を示したが、不整合継続時間の計測方法はこれに限らない。例えば、一定期間に受信された、制御のために用いられるデータ値を含む複数のデータフレームにおける、そのデータ値の変化量が閾値を超える場合に、不整合が発生しているとして、継続時間を計測しても良い。 (13) In the above embodiment, as the inconsistency continuation time, both a data frame including control instruction information indicating control and a data frame including control instruction information indicating non-control are observed in a certain period. Although the time is shown, the method of measuring the mismatch duration is not limited to this. For example, in a plurality of data frames including a data value used for control received for a certain period, if the amount of change in the data value exceeds a threshold value, the duration is set to be inconsistent. You may measure.
 (14)上記実施の形態では、車両の状態の例として、車速、ギアポジション等の例を示したが、監視ECUが監視する車両の状態はこれに限られるものではない。車両の状態は、例えば、車輪の回転速度、ヨーレート、加速度、操舵角、アクセルペダル開度、制動レベル、エンジンの回転数、モータの回転数、ギアポジション、イグニッションスイッチの状態、ハンドルの操舵トルク、前方障害物の有無、後方障害物の有無、前方障害物までの距離、後方障害物までの距離、左右の区画線の認識状態、左右の区画線までの距離等であり得る。車両の状態は、例えば、センサにより取得された状態であり得る。 (14) In the above embodiment, examples of the vehicle speed, gear position, and the like are shown as examples of the vehicle state, but the vehicle state monitored by the monitoring ECU is not limited to this. The vehicle state includes, for example, wheel rotation speed, yaw rate, acceleration, steering angle, accelerator pedal opening, braking level, engine rotation speed, motor rotation speed, gear position, ignition switch state, steering wheel steering torque, It may be the presence / absence of a front obstacle, the presence / absence of a rear obstacle, the distance to the front obstacle, the distance to the rear obstacle, the recognition state of the left and right lane lines, the distance to the left and right lane lines, and the like. The state of the vehicle may be a state acquired by a sensor, for example.
 (15)上記実施の形態では、監視ECUにおける抑止すべきか否かの判定の対象となる制御として、駐車支援機能と、クルーズコントロール機能とに係る制御の例を示したが、監視ECUにより抑止すべきか否かが判定される、制御フレームに基づく制御は、駐車支援機能に係るハンドル制御と、クルーズコントロール機能に係る加速又は減速の制御とに限られない。監視ECUにおける抑止すべきか否かの判定の対象となる制御は、例えば、衝突軽減ブレーキシステム、アダプティブクルーズコントロールシステム、レーンキープアシストシステム等に関連する制御であっても良い。また、監視ECUにおける抑止すべきか否かの判定の対象となる制御は、例えば、車両の走行に関わる制御であることとしても良い。車両の走行に関わる制御は、走ることに関する制御(例えば加速制御)、曲がることに関する制御(例えば操舵制御)、及び、止まることに関する制御(例えば制動制御)のいずれかである。また、監視ECUにおける抑止すべきか否かの判定の対象となる制御は、インストルメンタルパネル等の運転者への情報提示をする制御等といった、間接的に車両の走行に関わる制御に影響を与える制御であることとしても良い。 (15) In the above embodiment, examples of control related to the parking support function and the cruise control function are shown as the control for determining whether or not to be suppressed in the monitoring ECU. The control based on the control frame to determine whether or not the vehicle is not limited to the steering wheel control related to the parking support function and the acceleration or deceleration control related to the cruise control function. The control that is a target of determination on whether or not to be suppressed in the monitoring ECU may be, for example, control related to a collision reduction brake system, an adaptive cruise control system, a lane keep assist system, or the like. In addition, the control that is a target of determination as to whether or not to be suppressed in the monitoring ECU may be control related to traveling of the vehicle, for example. The control related to running of the vehicle is one of control related to running (for example, acceleration control), control related to turning (for example, steering control), and control related to stopping (for example, braking control). In addition, the control subject to the determination as to whether or not to suppress in the monitoring ECU is a control that indirectly affects the control related to the traveling of the vehicle, such as a control for presenting information to the driver such as an instrument panel. It is good to be.
 例えば、衝突軽減ブレーキシステムに関連する制御を、監視ECUにおける抑止すべきか否かの判定の対象とする場合には、監視ECUは、例えば、機能制限ルールにおける車両状態の条件として、前方障害物までの距離が偽装されていることとし、前方障害物までの距離を示す状態フレームの受信時刻、データ値等を監視して偽装の有無を判定しても良い。監視ECUは、例えば、前方障害物が存在しない状態、或いは、前方障害物が遠方に存在する状態から、前方障害物が突如として目前に存在する状態へ変化した場合に偽装がなされている判定しても良い。そして、監視ECUは、偽装がなされている状態で、衝突軽減ブレーキシステムに関連する制御のための制御フレームがバスに現れると、その制御フレームの無効化等を行う。 For example, when the control related to the collision mitigation brake system is a target of determination as to whether or not to be suppressed in the monitoring ECU, the monitoring ECU may, for example, up to a front obstacle as a vehicle state condition in the function restriction rule. May be determined by monitoring the reception time of the status frame indicating the distance to the obstacle ahead, the data value, and the like. The monitoring ECU, for example, determines that a disguise has been made when a forward obstacle suddenly changes from a state where there is no forward obstacle or a state where a forward obstacle exists far away to a state where the forward obstacle suddenly exists. May be. Then, when a control frame for control related to the collision mitigation brake system appears on the bus in a state of being camouflaged, the monitoring ECU invalidates the control frame.
 また、例えば、アダプティブクルーズコントロールシステムに関連する制御を、監視ECUにおける抑止すべきか否かの判定の対象とする場合には、監視ECUは、例えば、機能制限ルールにおける車両状態の条件として、先行車両までの距離が偽装されていることとし、先行車両までの距離を示す状態フレームの受信時刻、データ値等を監視して偽装の有無を判定しても良い。監視ECUは、例えば、先行車両が存在しない状態、若しくは、先行車両が遠方に存在する状態から、先行車両が突如として目前に存在する状態へ変化した場合、又は、先行車両が目前に存在する状態から、先行車両が突如として遠方に存在する状態、若しくは、先行車両が存在しない状態へ変化した場合に、偽装がなされていると判定しても良い。 In addition, for example, when the control related to the adaptive cruise control system is a target of determination as to whether or not the monitoring ECU should suppress, the monitoring ECU uses, for example, a preceding vehicle as a vehicle state condition in the function restriction rule. It is also possible to determine the presence or absence of camouflage by monitoring the reception time, data value, etc. of the status frame indicating the distance to the preceding vehicle. The monitoring ECU is, for example, a state where the preceding vehicle suddenly changes from a state where the preceding vehicle does not exist, or a state where the preceding vehicle exists far away, or a state where the preceding vehicle exists immediately before From the above, it may be determined that the camouflaged vehicle is disguised when the preceding vehicle suddenly exists far away or when the preceding vehicle changes to a state where no preceding vehicle exists.
 また、例えば、レーンキープアシストシステムに関連する制御を、監視ECUにおける抑止すべきか否かの判定の対象とする場合には、監視ECUは、例えば、機能制限ルールにおける車両状態の条件として、区画線までの距離が偽装されていることとし、車両が走行する車線の左右いずれかに存在する区画線までの距離を示す状態フレームの受信時刻、データ値等を監視して偽装の有無を判定しても良い。監視ECUは、例えば、区画線が認識できていない状態、或いは、区画線までの距離が十分にある状態から、区画線までの距離が突如として短くなり、車両が区画線に迫っている状態へ変化した場合に、偽装がなされていると判定しても良い。 Further, for example, when the control related to the lane keep assist system is a target of determination as to whether or not to be suppressed in the monitoring ECU, the monitoring ECU, for example, uses a lane marking as a vehicle state condition in the function restriction rule. The distance to the lane in which the vehicle is traveling is monitored, and the status frame indicating the distance to the lane marking on either the left or right of the lane is monitored to determine whether or not the camouflage exists. Also good. The monitoring ECU, for example, from a state in which the lane line is not recognized or a state in which the distance to the lane line is sufficiently large, the distance to the lane line suddenly decreases and the vehicle is approaching the lane line. If it has changed, it may be determined that the camouflage has been made.
 (16)上記実施の形態で監視ECU100、2100、3100によって不正制御抑止装置を例示したが、不正制御抑止装置は、必ずしも上述の監視ECUの全ての構成要素を有する必要はない。不正制御抑止装置は、図28に示すような構成であっても良い。同図に示す不正制御抑止装置4100は、CANプロトコルに従う車載ネットワークに係る車載ネットワークシステムにおいて、複数のECUが車両の状態に関する情報を含むフレームである状態フレーム、及び、車両に対して所定制御(例えばハンドル制御)を指示するフレームである制御フレームの授受を行うバス300(図1参照)に接続される。不正制御抑止装置4100は、受信部4110及び判定部4120を含んで構成される。受信部4110は、バス300から状態フレーム及び制御フレームを逐次受信する。受信部4110は、例えば、CANコントローラ等の通信回路、プロセッサ、メモリ等で実現される。判定部4120は、受信部4110により受信された制御フレームに基づく所定制御を抑止すべきか否かを、その制御フレームの受信時に先行する所定期間(例えば100ms間等)内に受信部4110により受信された状態フレームの集合に基づいて特定される、その所定期間における車両の状態が、所定基準(例えば上述の機能制限ルール等で示される基準)を満たすか否かに基づいて、判定する。判定部4120は、例えば、所定期間内に受信部4110により受信された状態フレームの集合に基づいて、所定期間における車両の状態を特定し得る。なお、所定期間における車両の状態は、例えば、1つ種類の状態フレーム(例えば同じIDを有する状態フレーム)の内容から特定されても良いし、複数種類の状態フレーム(例えば互いに異なるIDを有する状態フレーム)の内容から特定されても良い。 (16) Although the unauthorized control suppression device is exemplified by the monitoring ECUs 100, 2100, and 3100 in the above embodiment, the unauthorized control suppression device does not necessarily have to include all the components of the monitoring ECU described above. The unauthorized control inhibiting device may be configured as shown in FIG. In the in-vehicle network system related to the in-vehicle network conforming to the CAN protocol, the unauthorized control inhibiting device 4100 shown in the figure includes a state frame in which a plurality of ECUs includes information on the state of the vehicle, and predetermined control (for example, It is connected to a bus 300 (see FIG. 1) that transmits and receives a control frame that is a frame for instructing steering wheel control. The unauthorized control inhibition device 4100 includes a reception unit 4110 and a determination unit 4120. The receiving unit 4110 sequentially receives a status frame and a control frame from the bus 300. The receiving unit 4110 is realized by, for example, a communication circuit such as a CAN controller, a processor, a memory, and the like. The determination unit 4120 receives whether the predetermined control based on the control frame received by the reception unit 4110 should be suppressed or not by the reception unit 4110 within a predetermined period (for example, for 100 ms) preceding the reception of the control frame. Judgment is made based on whether or not the state of the vehicle in the predetermined period specified based on the set of state frames satisfies a predetermined criterion (for example, a criterion indicated by the above-described function restriction rule). For example, the determination unit 4120 can specify the state of the vehicle in the predetermined period based on the set of state frames received by the reception unit 4110 within the predetermined period. In addition, the state of the vehicle in a predetermined period may be specified from, for example, the contents of one type of state frame (for example, a state frame having the same ID), or a plurality of types of state frames (for example, states having different IDs). Frame) may be specified.
 判定部4120で判定に用いる所定基準として、例えば、所定期間における車両の状態が偽装状態である場合に満たされて偽装状態でない場合に満たされない基準を用いても良いし、所定期間における車両の状態が安定状態でない場合に満たされて安定状態である場合に満たされない基準を用いても良いし、所定期間における車両の状態が、所定回数を超えて変化する変化多発状態である場合に満たされて変化多発状態でない場合に満たされない基準を用いても良い。これらのいずれかの基準を用いる場合には、判定部4120は、所定基準が満たされた場合に所定制御を抑止すべきと判定する。これらの例とは逆に、所定基準として、判定部4120がその所定基準が満たされない場合に所定制御を抑止すべきと判定するための基準を定めても良い。なお、判定部4120は、例えば、所定期間内に受信された状態フレームの集合に、異常な状態フレームが含まれている場合に車両の状態を偽装状態であると特定し、異常な状態フレームが含まれていない場合に車両の状態を偽装状態でないと特定し得る。この場合に、判定部4120は、その状態フレームの集合に異常な状態フレームが含まれているか否かを、いかなる方法で判別しても良い。例えば、所定期間内に受信された状態フレームの集合に、所定閾値より短い受信間隔で受信された、所定制御の実行のために用いられる同一のIDを有する(つまり同一項目の情報を示す)複数の状態フレームが含まれている場合に、その集合に異常な状態フレームが含まれていると判別しても良い。また、例えば、所定期間内に受信された状態フレームの集合に、所定制御の実行のために用いられる同一のIDを有する状態フレームが所定数より多く含まれている場合に、その集合に異常な状態フレームが含まれていると判別しても良い。また、例えば、所定期間内に受信された状態フレームの集合に、所定制御の実行のために用いられる同一のIDを有する2つの状態フレームが含まれ、その2つの状態フレームが示す情報の値の差異が所定量より大きい場合に、その集合に異常な状態フレームが含まれていると判別しても良い。また、例えば、所定期間内に受信された状態フレームの集合に、所定制御の実行のために用いられる同一のIDを有する複数の状態フレームが含まれ、受信された順に並べたその複数の状態フレームが示す情報の値が所定規則に従っていない場合に、その集合に異常な状態フレームが含まれていると判別しても良い。 As the predetermined reference used for determination in the determination unit 4120, for example, a reference that is satisfied when the vehicle state in the predetermined period is the camouflaged state and not satisfied when the vehicle state is not the camouflaged state may be used. A criterion that is satisfied when the vehicle is not in a stable state and not satisfied when the vehicle is in a stable state may be used, or is satisfied when the vehicle state in a predetermined period is a change-prone state that changes more than a predetermined number of times. A criterion that is not satisfied when the state is not a frequent change state may be used. When any one of these criteria is used, the determination unit 4120 determines that the predetermined control should be suppressed when the predetermined criterion is satisfied. Contrary to these examples, a criterion for determining that the predetermined control should be suppressed when the determination unit 4120 does not satisfy the predetermined criterion may be set as the predetermined criterion. Note that, for example, when the abnormal state frame is included in the set of state frames received within a predetermined period, the determination unit 4120 identifies the vehicle state as a camouflaged state, and the abnormal state frame If it is not included, the vehicle state may be specified as not being a camouflaged state. In this case, the determination unit 4120 may determine by any method whether or not an abnormal state frame is included in the set of state frames. For example, a set of status frames received within a predetermined period has a plurality of identical IDs used for execution of predetermined control (ie, indicating information on the same item) received at a reception interval shorter than a predetermined threshold. May be determined that an abnormal state frame is included in the set. Further, for example, when a set of status frames received within a predetermined period includes more than a predetermined number of status frames having the same ID used for execution of predetermined control, the set is abnormal. It may be determined that a status frame is included. Further, for example, a set of status frames received within a predetermined period includes two status frames having the same ID used for execution of predetermined control, and information values indicated by the two status frames When the difference is larger than a predetermined amount, it may be determined that an abnormal state frame is included in the set. Further, for example, a set of status frames received within a predetermined period includes a plurality of status frames having the same ID used for execution of predetermined control, and the plurality of status frames arranged in the order received. If the value of the information indicated by does not conform to a predetermined rule, it may be determined that an abnormal state frame is included in the set.
 判定部4120は、例えば、プロセッサ、タイマ、メモリ等で実現される。判定部4120は、判定結果に応じた出力を行い得る。判定部4120は、制御フレームに基づく所定制御を抑止すべきと判定した場合に、CANコントローラ等によって、その制御フレームの少なくとも一部に上書きするようにバス300にエラーフレームを送信することとしても良い。また、不正制御抑止装置4100は、例えば複数の通信路間でフレームの転送を担う転送機能を有することとしても良く、この場合において、判定部4120は、制御フレームに基づく所定制御を抑止すべきと判定した場合に、その制御フレームを転送対象から除外して転送しないこととしても良い。 The determination unit 4120 is realized by, for example, a processor, a timer, a memory, and the like. The determination unit 4120 can perform output according to the determination result. When it is determined that the predetermined control based on the control frame should be suppressed, the determination unit 4120 may transmit an error frame to the bus 300 so that at least a part of the control frame is overwritten by a CAN controller or the like. . In addition, the unauthorized control suppression device 4100 may have a transfer function for transferring frames between a plurality of communication paths, for example. In this case, the determination unit 4120 should suppress predetermined control based on the control frame. If it is determined, the control frame may be excluded from the transfer target and not transferred.
 また、不正制御抑止装置、或いは、監視ECUが、車両に搭載され、車載ネットワークシステムに含まれる例を示したが、車両以外の制御対象の制御のためのネットワークシステムに含まれるものであっても良い。車両以外の制御対象は、例えば、ロボット、航空機、船舶、機械等である。 Moreover, although the unauthorized control suppression apparatus or monitoring ECU was mounted in the vehicle and the example contained in a vehicle-mounted network system was shown, even if it is contained in the network system for control of control objects other than a vehicle good. Control targets other than the vehicle are, for example, robots, aircraft, ships, machines, and the like.
 (17)上記の実施の形態では、車載ネットワークでは、CANプロトコルに従って、状態フレーム、制御フレーム等のデータフレームの伝送が行われるものとしたが、CANプロトコルは、オートメーションシステム内の組み込みシステム等に用いられるCANOpen、或いは、TTCAN(Time-Triggered CAN)、CANFD(CAN with Flexible Data Rate)等の派生的なプロトコルを包含する広義の意味のものと扱われることとしても良い。また、車載ネットワークは、CANプロトコル以外のプロトコルを用いるものであっても良い。車両の状態に関する情報を含むフレームである状態フレーム、及び、車両に対して所定制御を指示するフレームである制御フレームの伝送がなされる車載ネットワークのプロトコルとして、例えば、LIN(Local Interconnect Network)、MOST(登録商標)(Media Oriented Systems Transport)、FlexRay(登録商標)、Ethernet(登録商標)等を用いても良い。また、これらのプロトコルを用いたネットワークをサブネットワークとして、複数種類のプロトコルに係るサブネットワークを組み合わせて、車載ネットワークを構成しても良い。また、Ethernet(登録商標)プロトコルは、IEEE802.1に係るEthernet(登録商標)AVB(Audio Video Bridging)、或いは、IEEE802.1に係るEthernet(登録商標)TSN(Time Sensitive Networking)、Ethernet(登録商標)/IP(Industrial Protocol)、EtherCAT(登録商標)(Ethernet(登録商標) for Control Automation Technology)等の派生的なプロトコルを包含する広義の意味のものと扱われることとしても良い。なお、車載ネットワークの通信路は、ネットワークバス(例えばバス300)或いはその他のワイヤ、光ファイバ等で構成される有線通信路であっても良いし、その他の通信路であっても良い。 (17) In the above embodiment, in the in-vehicle network, data frames such as a status frame and a control frame are transmitted according to the CAN protocol. However, the CAN protocol is used for an embedded system in an automation system. CANNOpen, or TTCAN (Time-Triggered CAN), CANFD (CAN with Flexible Data Rate), etc. The in-vehicle network may use a protocol other than the CAN protocol. As a protocol for an in-vehicle network that transmits a state frame that includes information on the state of the vehicle and a control frame that is a frame for instructing the vehicle to perform predetermined control, for example, LIN (Local Interconnect Network), MOST (Registered trademark) (Media Oriented Systems Transport), FlexRay (registered trademark), Ethernet (registered trademark), or the like may be used. Further, the in-vehicle network may be configured by combining networks using these protocols as sub-networks and combining sub-networks related to a plurality of types of protocols. The Ethernet (registered trademark) protocol includes Ethernet (registered trademark) AVB (Audio Video Bridging) according to IEEE 802.1 or Ethernet (registered trademark) TSN (Time Sensitive Network) and Ethernet (registered trademark) according to IEEE 802.1. ) / IP (Industrial Protocol), EtherCAT (registered trademark) (Ethernet (registered trademark) for Control Automation Technology), etc. Note that the communication path of the in-vehicle network may be a wired communication path constituted by a network bus (for example, bus 300) or other wires, optical fibers, or the like, or may be another communication path.
 (18)上記実施の形態における各装置を構成する構成要素の一部又は全部は、1個のシステムLSI(Large Scale Integration:大規模集積回路)から構成されているとしても良い。システムLSIは、複数の構成部を1個のチップ上に集積して製造された超多機能LSIであり、具体的には、マイクロプロセッサ、ROM、RAM等を含んで構成されるコンピュータシステムである。前記RAMには、コンピュータプログラムが記録されている。前記マイクロプロセッサが、前記コンピュータプログラムに従って動作することにより、システムLSIは、その機能を達成する。また、上記各装置を構成する構成要素の各部は、個別に1チップ化されていても良いし、一部又は全部を含むように1チップ化されても良い。また、ここでは、システムLSIとしたが、集積度の違いにより、IC、LSI、スーパーLSI、ウルトラLSIと呼称されることもある。また、集積回路化の手法はLSIに限るものではなく、専用回路又は汎用プロセッサで実現しても良い。LSI製造後に、プログラムすることが可能なFPGA(Field Programmable Gate Array)や、LSI内部の回路セルの接続や設定を再構成可能なリコンフィギュラブル・プロセッサを利用しても良い。さらには、半導体技術の進歩又は派生する別技術によりLSIに置き換わる集積回路化の技術が登場すれば、当然、その技術を用いて機能ブロックの集積化を行っても良い。バイオ技術の適用等が可能性としてあり得る。 (18) A part or all of the constituent elements constituting each device in the above embodiment may be constituted by one system LSI (Large Scale Integration). The system LSI is an ultra-multifunctional LSI manufactured by integrating a plurality of components on a single chip. Specifically, the system LSI is a computer system including a microprocessor, a ROM, a RAM, and the like. . A computer program is recorded in the RAM. The system LSI achieves its functions by the microprocessor operating according to the computer program. In addition, each part of the constituent elements constituting each of the above devices may be individually made into one chip, or may be made into one chip so as to include a part or the whole. Although the system LSI is used here, it may be called IC, LSI, super LSI, or ultra LSI depending on the degree of integration. Further, the method of circuit integration is not limited to LSI's, and implementation using dedicated circuitry or general purpose processors is also possible. An FPGA (Field Programmable Gate Array) that can be programmed after manufacturing the LSI or a reconfigurable processor that can reconfigure the connection and setting of circuit cells inside the LSI may be used. Further, if integrated circuit technology comes out to replace LSI's as a result of the advancement of semiconductor technology or a derivative other technology, it is naturally also possible to carry out function block integration using this technology. Biotechnology can be applied as a possibility.
 (19)上記各装置を構成する構成要素の一部又は全部は、各装置に脱着可能なICカード又は単体のモジュールから構成されているとしても良い。前記ICカード又は前記モジュールは、マイクロプロセッサ、ROM、RAM等から構成されるコンピュータシステムである。前記ICカード又は前記モジュールは、上記の超多機能LSIを含むとしても良い。マイクロプロセッサが、コンピュータプログラムに従って動作することにより、前記ICカード又は前記モジュールは、その機能を達成する。このICカード又はこのモジュールは、耐タンパ性を有するとしても良い。 (19) A part or all of the constituent elements constituting each of the above devices may be constituted by an IC card or a single module that can be attached to and detached from each device. The IC card or the module is a computer system including a microprocessor, a ROM, a RAM, and the like. The IC card or the module may include the super multifunctional LSI described above. The IC card or the module achieves its function by the microprocessor operating according to the computer program. This IC card or this module may have tamper resistance.
 (20)本開示の一態様としては、例えば図12、図19、図27等に示す処理手順の全部又は一部を含む不正制御抑止方法であるとしても良い。例えば、不正制御抑止方法は、車両に対して所定制御(例えばハンドル制御等)を指示する制御フレームを含む複数のフレームの授受を、通信路(例えばバス300)を介して行う複数のECUを備える車載ネットワークシステムにおける不正制御抑止方法であって、その通信路から複数のフレームを逐次受信する受信ステップ(例えばステップS31、S221、S321)と、受信ステップで受信された制御フレームに基づく所定制御を抑止すべきか否かを、その制御フレームの受信時に先行する所定期間内に受信ステップで受信されたフレームの集合に基づいて、判定する判定ステップ(例えばステップS36、S224、S326)とを含む方法である。この不正制御抑止方法は、更に、判定ステップで制御フレームに基づく所定制御を抑止すべきと判定された場合に、所定制御の抑止のための所定処理を実行する処理ステップ(例えばステップS37、S225、S327)を含んでも良い。制御フレームに基づく所定制御の抑止のための所定処理は、例えば、その制御フレームを破棄する処理、エラーフレームの送信等によって通信路上でその制御フレームを上書きする処理、他の通信路へのその制御フレームの転送を抑止する処理、或いは、ECUにその制御フレームに基づく所定制御を実行させないように指示する処理等である。また、この方法をコンピュータにより実現するプログラム(コンピュータプログラム)であるとしても良いし、前記コンピュータプログラムからなるデジタル信号であるとしても良い。また、本開示の一態様としては、前記コンピュータプログラム又は前記デジタル信号をコンピュータで読み取り可能な記録媒体、例えば、フレキシブルディスク、ハードディスク、CD-ROM、MO、DVD、DVD-ROM、DVD-RAM、BD(Blu-ray(登録商標) Disc)、半導体メモリ等に記録したものとしても良い。また、これらの記録媒体に記録されている前記デジタル信号であるとしても良い。また、本開示の一態様としては、前記コンピュータプログラム又は前記デジタル信号を、電気通信回線、無線又は有線通信回線、インターネットを代表とするネットワーク、データ放送等を経由して伝送するものとしても良い。また、本開示の一態様としては、マイクロプロセッサとメモリを備えたコンピュータシステムであって、前記メモリは、上記コンピュータプログラムを記録しており、前記マイクロプロセッサは、前記コンピュータプログラムに従って動作するとしても良い。また、前記プログラム若しくは前記デジタル信号を前記記録媒体に記録して移送することにより、又は、前記プログラム若しくは前記デジタル信号を、前記ネットワーク等を経由して移送することにより、独立した他のコンピュータシステムにより実施するとしても良い。 (20) As one aspect of the present disclosure, for example, an unauthorized control suppression method including all or part of the processing procedure illustrated in FIGS. For example, the unauthorized control suppression method includes a plurality of ECUs that perform transmission / reception of a plurality of frames including a control frame for instructing a vehicle to perform predetermined control (for example, steering control) via a communication path (for example, the bus 300). A method for suppressing unauthorized control in an in-vehicle network system, wherein a reception step (for example, steps S31, S221, S321) for sequentially receiving a plurality of frames from the communication path and a predetermined control based on the control frame received in the reception step are suppressed. A determination step (for example, steps S36, S224, S326) for determining whether or not to be performed based on a set of frames received in the reception step within a predetermined period preceding when the control frame is received. . This unauthorized control suppression method further includes a processing step (for example, steps S37, S225, etc.) for executing a predetermined process for suppressing the predetermined control when it is determined in the determination step that the predetermined control based on the control frame should be suppressed. S327) may be included. The predetermined process for suppressing the predetermined control based on the control frame includes, for example, a process for discarding the control frame, a process for overwriting the control frame on the communication path by transmitting an error frame, and the control for another communication path. For example, processing for suppressing frame transfer or processing for instructing the ECU not to execute predetermined control based on the control frame. Moreover, it may be a program (computer program) for realizing this method by a computer, or may be a digital signal composed of the computer program. Further, as one aspect of the present disclosure, a computer-readable recording medium such as a flexible disk, a hard disk, a CD-ROM, an MO, a DVD, a DVD-ROM, a DVD-RAM, or a BD can be used as the computer program or the digital signal. (Blu-ray (registered trademark) Disc), recorded on a semiconductor memory or the like. Further, the digital signal may be recorded on these recording media. As one aspect of the present disclosure, the computer program or the digital signal may be transmitted via an electric communication line, a wireless or wired communication line, a network typified by the Internet, data broadcasting, or the like. Further, an aspect of the present disclosure may be a computer system including a microprocessor and a memory, the memory recording the computer program, and the microprocessor operating according to the computer program. . Also, by recording and transferring the program or the digital signal on the recording medium, or by transferring the program or the digital signal via the network or the like, by another independent computer system It may be carried out.
 (21)上記実施の形態及び上記変形例で示した各構成要素及び機能を任意に組み合わせることで実現される形態も本開示の範囲に含まれる。 (21) Embodiments realized by arbitrarily combining the constituent elements and functions shown in the embodiment and the modified examples are also included in the scope of the present disclosure.
 本開示は、車載ネットワークを含む車載ネットワークシステムに利用可能である。 This disclosure can be used for an in-vehicle network system including an in-vehicle network.
 10,11,12 車載ネットワークシステム
 100,2100,3100 監視ECU
 110,201 フレーム送受信部
 120,202 フレーム処理部
 130 状態偽装検知部
 140,2140,3140 機能制限部
 150,204 フレーム生成部
 160,2160,3160 受信履歴保持部
 170 車両状態保持部
 180,2180,3180 機能制限ルール保持部
 200a~200d,3200e,3200f 電子制御ユニット(ECU)
 203 機器入出力部
 210 速度センサ
 220 リアカメラ
 230 モニタ
 240 ハンドル
 250 ギア
 300 バス
 2130 車両状態監視部
 3130 制御情報監視部
 3190 不整合継続時間計測部
 3260 スイッチ
 3270 モータ
 4100 不正制御抑止装置
 4110 受信部
 4120 判定部
10, 11, 12 In- vehicle network system 100, 2100, 3100 Monitoring ECU
110, 201 Frame transmission / reception unit 120, 202 Frame processing unit 130 State impersonation detection unit 140, 2140, 3140 Function restriction unit 150, 204 Frame generation unit 160, 2160, 3160 Reception history holding unit 170 Vehicle state holding unit 180, 2180, 3180 Function restriction rule holding unit 200a to 200d, 3200e, 3200f Electronic control unit (ECU)
DESCRIPTION OF SYMBOLS 203 Device input / output part 210 Speed sensor 220 Rear camera 230 Monitor 240 Handle 250 Gear 300 Bus 2130 Vehicle state monitoring part 3130 Control information monitoring part 3190 Inconsistency continuation time measurement part 3260 Switch 3270 Motor 4100 Unauthorized control suppression apparatus 4110 Reception part 4120 Judgment Part

Claims (16)

  1.  制御対象に対して所定制御を指示する制御フレームを含む複数のフレームの授受を通信路を介して行う複数の電子制御ユニットを備えるネットワークシステムにおける不正制御抑止方法であって、
     前記通信路から複数のフレームを逐次受信する受信ステップと、
     前記受信ステップで受信された制御フレームに基づく前記所定制御を抑止すべきか否かを、当該制御フレームの受信時に先行する所定期間内に前記受信ステップで受信されたフレームの集合に基づいて、判定する判定ステップとを含む
     不正制御抑止方法。
    A fraud control suppression method in a network system including a plurality of electronic control units that perform transmission and reception of a plurality of frames including a control frame instructing predetermined control with respect to a control target,
    Receiving step of sequentially receiving a plurality of frames from the communication path;
    It is determined whether or not to suppress the predetermined control based on the control frame received in the reception step based on a set of frames received in the reception step within a predetermined period preceding when the control frame is received. An unauthorized control suppression method including a determination step.
  2.  前記複数のフレームには、前記制御対象の状態に関する情報を含む状態フレームが含まれ、
     前記判定ステップでは、前記受信ステップで受信された制御フレームに基づく前記所定制御を抑止すべきか否かを、当該制御フレームの受信時に先行する所定期間内に前記受信ステップで受信された状態フレームの集合に基づいて特定される、当該所定期間における前記制御対象の状態が、所定基準を満たすか否かに基づいて、判定する
     請求項1記載の不正制御抑止方法。
    The plurality of frames include a state frame including information on the state of the control target,
    In the determining step, whether or not the predetermined control based on the control frame received in the receiving step is to be suppressed is determined based on a set of status frames received in the receiving step within a predetermined period preceding the reception of the control frame. The unauthorized control suppression method according to claim 1, wherein the determination is based on whether the state of the control target in the predetermined period specified based on the condition satisfies a predetermined criterion.
  3.  前記判定ステップでは、前記所定期間内に前記受信ステップで受信された状態フレームの集合に、異常な状態フレームが含まれている場合に前記制御対象の状態を偽装状態であると特定し、異常な状態フレームが含まれていない場合に前記制御対象の状態を偽装状態でないと特定し、
     前記所定基準は、特定される前記制御対象の状態が、偽装状態である場合に満たされ、前記制御対象の状態が偽装状態でない場合に満たされず、
     前記判定ステップでは、前記所定基準が満たされた場合に前記所定制御を抑止すべきと判定する
     請求項2記載の不正制御抑止方法。
    In the determination step, when an abnormal state frame is included in the set of state frames received in the reception step within the predetermined period, the state of the control target is specified as a camouflaged state, If the state frame is not included, the state of the control target is identified as not being impersonated,
    The predetermined criterion is satisfied when the specified state of the control target is a camouflaged state, and is not satisfied when the state of the control target is not a camouflaged state,
    The unauthorized control suppression method according to claim 2, wherein the determination step determines that the predetermined control should be suppressed when the predetermined criterion is satisfied.
  4.  前記判定ステップでは、前記所定期間内に前記受信ステップで受信された状態フレームの集合に、所定閾値より短い受信間隔で受信された、前記所定制御の実行のために用いられる同一項目の情報を示す複数の状態フレームが含まれている場合に、当該集合に異常な状態フレームが含まれているとして、前記制御対象の状態を偽装状態であると特定する
     請求項3記載の不正制御抑止方法。
    In the determination step, information on the same item used for execution of the predetermined control received at a reception interval shorter than a predetermined threshold is indicated in a set of state frames received in the reception step within the predetermined period. The unauthorized control suppression method according to claim 3, wherein when a plurality of state frames are included, the state of the control target is specified as a camouflaged state, assuming that an abnormal state frame is included in the set.
  5.  前記判定ステップでは、前記所定期間内に前記受信ステップで受信された状態フレームの集合に、前記所定制御の実行のために用いられる同一項目の情報を示す状態フレームが所定数より多く含まれている場合に、当該集合に異常な状態フレームが含まれているとして、前記制御対象の状態を偽装状態であると特定する
     請求項3記載の不正制御抑止方法。
    In the determination step, the set of state frames received in the reception step within the predetermined period includes more than a predetermined number of state frames indicating information of the same item used for execution of the predetermined control. The unauthorized control suppression method according to claim 3, wherein the control target state is specified as a camouflaged state, assuming that an abnormal state frame is included in the set.
  6.  前記判定ステップでは、前記所定期間内に前記受信ステップで受信された状態フレームの集合に、前記所定制御の実行のために用いられる同一項目の情報を示す2つの状態フレームが含まれ、当該2つの状態フレームが示す当該情報の値の差異が所定量より大きい場合に、当該集合に異常な状態フレームが含まれているとして、前記制御対象の状態を偽装状態であると特定する
     請求項3記載の不正制御抑止方法。
    In the determination step, two state frames indicating information of the same item used for execution of the predetermined control are included in a set of the state frames received in the reception step within the predetermined period. The state of the control object is specified as a camouflaged state, assuming that an abnormal state frame is included in the set when the difference in the value of the information indicated by the state frame is greater than a predetermined amount. Illegal control suppression method.
  7.  前記判定ステップでは、前記所定期間内に前記受信ステップで受信された状態フレームの集合に、前記所定制御の実行のために用いられる同一項目の情報を示す複数の状態フレームが含まれ、受信された順に並べた当該複数の状態フレームが示す当該情報の値が所定規則に従っていない場合に、当該集合に異常な状態フレームが含まれているとして、前記制御対象の状態を偽装状態であると特定する
     請求項3記載の不正制御抑止方法。
    In the determination step, a set of status frames received in the reception step within the predetermined period includes a plurality of status frames indicating information on the same item used for execution of the predetermined control, and is received. When the value of the information indicated by the plurality of state frames arranged in order does not conform to a predetermined rule, the state to be controlled is identified as a camouflaged state, assuming that the state includes an abnormal state frame. Item 6. The unauthorized control suppression method according to item 3.
  8.  前記所定基準は、前記所定期間における前記制御対象の状態が、安定状態でない場合に満たされ、安定状態である場合に満たされず、
     前記安定状態は、前記制御対象の状態を示す特定の状態フレームのデータ値がある一定値或いは一定範囲内である状態であり、
     前記判定ステップでは、制御フレームに基づく前記所定制御に係る前記判定を、当該制御フレームの受信時に連続する当該受信時の直前の前記所定期間内に前記受信ステップで受信された状態フレームの集合に基づいて特定される、当該所定期間における前記制御対象の状態に基づいて、行ない、
     前記判定ステップでは、前記所定基準が満たされた場合に前記所定制御を抑止すべきと判定する
     請求項2記載の不正制御抑止方法。
    The predetermined criterion is satisfied when the state of the control target in the predetermined period is not a stable state, and is not satisfied when the state is a stable state,
    The stable state is a state in which a data value of a specific state frame indicating the state of the control target is within a certain value or a certain range,
    In the determination step, the determination related to the predetermined control based on the control frame is performed based on a set of state frames received in the reception step within the predetermined period immediately before the reception that is continuous when the control frame is received. Is performed based on the state of the control target in the predetermined period,
    The unauthorized control suppression method according to claim 2, wherein the determination step determines that the predetermined control should be suppressed when the predetermined criterion is satisfied.
  9.  前記所定基準は、前記所定期間における前記制御対象の状態が、所定回数を超えて変化する変化多発状態である場合に満たされ、変化多発状態でない場合に満たされず、
     前記判定ステップでは、前記所定基準が満たされた場合に前記所定制御を抑止すべきと判定する
     請求項2記載の不正制御抑止方法。
    The predetermined criterion is satisfied when the state of the control target in the predetermined period is a change frequent state that changes more than a predetermined number of times, and is not satisfied when the state is not a frequent change state,
    The unauthorized control suppression method according to claim 2, wherein the determination step determines that the predetermined control should be suppressed when the predetermined criterion is satisfied.
  10.  前記不正制御抑止方法は更に、前記判定ステップで制御フレームに基づく前記所定制御を抑止すべきと判定された場合に、前記所定制御の抑止のための所定処理を実行する処理ステップを含み、
     前記所定処理は、当該制御フレームを破棄する処理、前記通信路上で当該制御フレームを上書きする処理、他の通信路への当該制御フレームの転送を抑止する処理、及び、前記電子制御ユニットに当該制御フレームに基づく前記所定制御を実行させないように指示する処理のいずれか1つを含む
     請求項1~9のいずれか一項に記載の不正制御抑止方法。
    The unauthorized control suppression method further includes a processing step of executing a predetermined process for suppressing the predetermined control when it is determined in the determination step that the predetermined control based on a control frame should be suppressed,
    The predetermined process includes a process of discarding the control frame, a process of overwriting the control frame on the communication path, a process of suppressing transfer of the control frame to another communication path, and the control to the electronic control unit. The unauthorized control suppression method according to any one of claims 1 to 9, further comprising any one of processing for instructing not to execute the predetermined control based on a frame.
  11.  前記制御対象は、前記ネットワークシステムを搭載する車両であり、
     前記通信路は、前記車両における有線通信路であり、
     前記複数の電子制御ユニットは、CANプロトコル又はEthernet(登録商標)プロトコルに従って、前記複数のフレームの授受を行う
     請求項1~10のいずれか一項に記載の不正制御抑止方法。
    The control target is a vehicle equipped with the network system,
    The communication path is a wired communication path in the vehicle,
    The unauthorized control suppression method according to any one of claims 1 to 10, wherein the plurality of electronic control units exchange the plurality of frames according to a CAN protocol or an Ethernet (registered trademark) protocol.
  12.  前記所定制御は、前記車両の走行に関わる制御である
     請求項11記載の不正制御抑止方法。
    The unauthorized control suppression method according to claim 11, wherein the predetermined control is control related to traveling of the vehicle.
  13.  前記受信ステップでは、車速、車輪の回転速度、ヨーレート、加速度、操舵角、アクセルペダル開度、制動レベル、エンジンの回転数、モータの回転数、ギアポジション、及び、イグニッションスイッチの状態のいずれか1つについての情報を含むフレームである状態フレームを逐次受信する
     請求項11又は12記載の不正制御抑止方法。
    In the reception step, any one of a vehicle speed, a wheel rotation speed, a yaw rate, an acceleration, a steering angle, an accelerator pedal opening, a braking level, an engine rotation speed, a motor rotation speed, a gear position, and an ignition switch state. The unauthorized control suppression method according to claim 11 or 12, wherein a status frame, which is a frame including information on one of them, is sequentially received.
  14.  前記複数のフレームには、前記制御対象の状態に関する情報を含む状態フレームが含まれ、
     前記複数の電子制御ユニットは、前記通信路であるネットワークバスに接続され、CANプロトコルに従って、データフレームである状態フレーム及び制御フレームの授受を行い、
     前記不正制御抑止方法は更に、前記判定ステップで制御フレームに基づく前記所定制御を抑止すべきと判定された場合に、当該制御フレームの少なくとも一部に上書きするように前記ネットワークバスにエラーフレームを送信する処理ステップを含む
     請求項11~13のいずれか一項に記載の不正制御抑止方法。
    The plurality of frames include a state frame including information on the state of the control target,
    The plurality of electronic control units are connected to a network bus that is the communication path, and according to a CAN protocol, exchange a status frame that is a data frame and a control frame,
    The unauthorized control suppression method further transmits an error frame to the network bus so as to overwrite at least a part of the control frame when it is determined in the determination step that the predetermined control based on the control frame should be suppressed. The unauthorized control inhibiting method according to any one of claims 11 to 13, further comprising:
  15.  複数の電子制御ユニットが、制御対象に対して所定制御を指示する制御フレームを含む複数のフレームの授受を通信路を介して行うところの当該通信路に接続される不正制御抑止装置であって、
     前記通信路から複数のフレームを逐次受信する受信部と、
     前記受信部により受信された制御フレームに基づく前記所定制御を抑止すべきか否かを、当該制御フレームの受信時に先行する所定期間内に前記受信部により受信されたフレームの集合に基づいて、判定する判定部とを備える
     不正制御抑止装置。
    A plurality of electronic control units is an unauthorized control deterrent device connected to a communication path where a plurality of frames including a control frame for instructing a predetermined control to be controlled are exchanged via the communication path,
    A receiver that sequentially receives a plurality of frames from the communication path;
    It is determined whether or not the predetermined control based on the control frame received by the receiving unit should be suppressed based on a set of frames received by the receiving unit within a predetermined period preceding when the control frame is received. An unauthorized control deterrent device comprising a determination unit.
  16.  車両の状態に関する情報を含むフレームである状態フレーム、及び、前記車両に対して所定制御を指示するフレームである制御フレームの授受をネットワークバスを介して行う複数の電子制御ユニットを備える車載ネットワークシステムであって、
     前記ネットワークバスから状態フレーム及び制御フレームを逐次受信する受信部と、
     前記受信部により受信された制御フレームに基づく前記所定制御を抑止すべきか否かを、当該制御フレームの受信時に先行する所定期間内に前記受信部により受信された状態フレームの集合に基づいて特定される、当該所定期間における前記車両の状態が、所定基準を満たすか否かに基づいて、判定する判定部とを備える
     車載ネットワークシステム。
    An in-vehicle network system comprising a plurality of electronic control units that perform transmission / reception of a state frame, which is a frame including information related to a vehicle state, and a control frame, which is a frame for instructing the vehicle to perform predetermined control, via a network bus There,
    A receiving unit for sequentially receiving a status frame and a control frame from the network bus;
    Whether or not to suppress the predetermined control based on the control frame received by the receiving unit is specified based on a set of status frames received by the receiving unit within a predetermined period preceding the reception of the control frame. An in-vehicle network system comprising: a determination unit that determines based on whether or not a state of the vehicle in the predetermined period satisfies a predetermined criterion.
PCT/JP2017/023470 2016-07-05 2017-06-27 Method for inhibiting unauthorized control, device for inhibiting unauthorized control, and vehicle-mounted network system WO2018008452A1 (en)

Priority Applications (6)

Application Number Priority Date Filing Date Title
CN202110840937.XA CN113556271B (en) 2016-07-05 2017-06-27 Illegal control suppression method, illegal control suppression device, and vehicle-mounted network system
CN201780003700.8A CN108353014B (en) 2016-07-05 2017-06-27 Illegal control suppression method, illegal control suppression device and vehicle-mounted network system
EP17824058.6A EP3484106B1 (en) 2016-07-05 2017-06-27 Method for inhibiting unauthorized control, device for inhibiting unauthorized control, and vehicle-mounted network system
EP21166733.2A EP3866407B1 (en) 2016-07-05 2017-06-27 Unauthorized control suppression method, unauthorized control suppression device, and onboard network system
US16/031,079 US10834083B2 (en) 2016-07-05 2018-07-10 Unauthorized control suppression method, unauthorized control suppression device, and onboard network system
US17/039,107 US11425128B2 (en) 2016-07-05 2020-09-30 Unauthorized control suppression method, unauthorized control suppression device, and onboard network system

Applications Claiming Priority (4)

Application Number Priority Date Filing Date Title
JP2016-133760 2016-07-05
JP2016133760 2016-07-05
JP2017-080059 2017-04-13
JP2017080059A JP6280662B2 (en) 2016-07-05 2017-04-13 Unauthorized control inhibition method, unauthorized control inhibition device and in-vehicle network system

Related Child Applications (1)

Application Number Title Priority Date Filing Date
US16/031,079 Continuation US10834083B2 (en) 2016-07-05 2018-07-10 Unauthorized control suppression method, unauthorized control suppression device, and onboard network system

Publications (1)

Publication Number Publication Date
WO2018008452A1 true WO2018008452A1 (en) 2018-01-11

Family

ID=60912459

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/JP2017/023470 WO2018008452A1 (en) 2016-07-05 2017-06-27 Method for inhibiting unauthorized control, device for inhibiting unauthorized control, and vehicle-mounted network system

Country Status (2)

Country Link
CN (1) CN113556271B (en)
WO (1) WO2018008452A1 (en)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2019159615A1 (en) * 2018-02-14 2019-08-22 日立オートモティブシステムズ株式会社 Vehicle monitoring system
WO2020021714A1 (en) * 2018-07-27 2020-01-30 パナソニック インテレクチュアル プロパティ コーポレーション オブ アメリカ Fraud prevention method and secure star coupler

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2015159520A1 (en) * 2014-04-17 2015-10-22 パナソニック インテレクチュアル プロパティ コーポレーション オブ アメリカ Vehicle-mounted network system, abnormality detection electronic control unit and abnormality detection method
WO2016038816A1 (en) * 2014-09-12 2016-03-17 パナソニック インテレクチュアル プロパティ コーポレーション オブ アメリカ Vehicle communication device, in-vehicle network system, and vehicle communication method

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8213321B2 (en) * 2007-02-01 2012-07-03 Deere & Company Controller area network condition monitoring and bus health on in-vehicle communications networks
WO2013094072A1 (en) * 2011-12-22 2013-06-27 トヨタ自動車 株式会社 Communication system and communication method
CN103707845B (en) * 2012-09-29 2016-12-21 上海汽车集团股份有限公司 The control method that long-range march limits
RU2621619C2 (en) * 2012-12-19 2017-06-06 Нек Корпорейшн Communication node, control device, communication system, method for processing packet, method of node communication and program

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2015159520A1 (en) * 2014-04-17 2015-10-22 パナソニック インテレクチュアル プロパティ コーポレーション オブ アメリカ Vehicle-mounted network system, abnormality detection electronic control unit and abnormality detection method
WO2016038816A1 (en) * 2014-09-12 2016-03-17 パナソニック インテレクチュアル プロパティ コーポレーション オブ アメリカ Vehicle communication device, in-vehicle network system, and vehicle communication method

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
See also references of EP3484106A4 *

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2019159615A1 (en) * 2018-02-14 2019-08-22 日立オートモティブシステムズ株式会社 Vehicle monitoring system
WO2020021714A1 (en) * 2018-07-27 2020-01-30 パナソニック インテレクチュアル プロパティ コーポレーション オブ アメリカ Fraud prevention method and secure star coupler
WO2020022445A1 (en) * 2018-07-27 2020-01-30 パナソニック インテレクチュアル プロパティ コーポレーション オブ アメリカ Frame transfer method and secure star coupler
JP7337063B2 (en) 2018-07-27 2023-09-01 パナソニック インテレクチュアル プロパティ コーポレーション オブ アメリカ Frame transfer method and secure star coupler

Also Published As

Publication number Publication date
CN113556271A (en) 2021-10-26
CN113556271B (en) 2022-10-28

Similar Documents

Publication Publication Date Title
JP6280662B2 (en) Unauthorized control inhibition method, unauthorized control inhibition device and in-vehicle network system
US11190533B2 (en) Anomaly detection electronic control unit, onboard network system, and anomaly detection method
CN111344192B (en) System, method and computer program product for disabling a malicious electronic control unit
US11398116B2 (en) Anomaly detection electronic control unit, in-vehicle network system, and anomaly detection method
US11165851B2 (en) System and method for providing security to a communication network
JPWO2019117184A1 (en) In-vehicle network abnormality detection system and in-vehicle network abnormality detection method
JP2018011288A5 (en)
US11522878B2 (en) Can communication based hacking attack detection method and system
US20190332823A1 (en) Intrusion response apparatus and method for vehicle network
US10958470B2 (en) Attributing bus-off attacks based on error frames
JP5935543B2 (en) Communications system
JP2019008618A (en) Information processing apparatus, information processing method, and program
US20210258187A1 (en) Electronic control device, electronic control method, and recording medium
JP6586500B2 (en) Method and apparatus for transmitting message sequences over a data bus and method and apparatus for recognizing attacks on message sequences thus transmitted
WO2018008452A1 (en) Method for inhibiting unauthorized control, device for inhibiting unauthorized control, and vehicle-mounted network system
KR101714526B1 (en) Method and apparatus for protecting hacking in vehicle network
WO2018008453A1 (en) Abnormality detecting electronic control unit, vehicle-mounted network system and abnormality detecting method
WO2020184001A1 (en) On-vehicle security measure device, on-vehicle security measure method, and security measure system
JP2018007130A (en) Communication system, communication device, communication method, and program
Dubrefjord et al. Security of In-Vehicle Communication Systems: A Survey of Possible Vulnerabilities
JP2023122638A (en) Reduction in manipulation of vehicle software

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

Country of ref document: EP

Kind code of ref document: A1

NENP Non-entry into the national phase

Ref country code: DE

ENP Entry into the national phase

Ref document number: 2017824058

Country of ref document: EP

Effective date: 20190205