WO2018020833A1 - フレーム伝送阻止装置、フレーム伝送阻止方法及び車載ネットワークシステム - Google Patents

フレーム伝送阻止装置、フレーム伝送阻止方法及び車載ネットワークシステム Download PDF

Info

Publication number
WO2018020833A1
WO2018020833A1 PCT/JP2017/020558 JP2017020558W WO2018020833A1 WO 2018020833 A1 WO2018020833 A1 WO 2018020833A1 JP 2017020558 W JP2017020558 W JP 2017020558W WO 2018020833 A1 WO2018020833 A1 WO 2018020833A1
Authority
WO
WIPO (PCT)
Prior art keywords
frame
transmission
unit
vehicle
fraud detection
Prior art date
Application number
PCT/JP2017/020558
Other languages
English (en)
French (fr)
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 JP2017096138A external-priority patent/JP6849528B2/ja
Application filed by パナソニック インテレクチュアル プロパティ コーポレーション オブ アメリカ filed Critical パナソニック インテレクチュアル プロパティ コーポレーション オブ アメリカ
Priority to EP17833843.0A priority Critical patent/EP3493480B1/en
Priority to EP22187436.5A priority patent/EP4109826A1/en
Priority to EP20187329.6A priority patent/EP3748919B1/en
Priority to CN201780019869.2A priority patent/CN109076001B/zh
Publication of WO2018020833A1 publication Critical patent/WO2018020833A1/ja
Priority to US16/255,697 priority patent/US11356475B2/en

Links

Images

Classifications

    • 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
    • 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/40006Architecture of a communication node
    • 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/40006Architecture of a communication node
    • H04L12/40013Details regarding a bus controller
    • 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/40006Architecture of a communication node
    • H04L12/40026Details regarding a bus guardian
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/02Network architectures or network communication protocols for network security for separating internal from external traffic, e.g. firewalls
    • H04L63/0227Filtering policies
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/12Applying verification of the received information
    • 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
    • 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/1441Countermeasures against malicious traffic
    • H04L63/1466Active attacks involving interception, injection, modification, spoofing of data unit addresses, e.g. hijacking, packet injection or TCP sequence number attacks
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W4/00Services specially adapted for wireless communication networks; Facilities therefor
    • H04W4/30Services specially adapted for particular environments, situations or purposes
    • H04W4/40Services specially adapted for particular environments, situations or purposes for vehicles, e.g. vehicle-to-pedestrians [V2P]
    • 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

Definitions

  • This disclosure relates to security countermeasure technology that prevents transmission of unauthorized frames to a network such as an in-vehicle network system.
  • 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 frame called a data frame.
  • a transmission node that transmits a data 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 abnormality of a data frame to a transmitting node and other receiving nodes by transmitting dominants continuously for 6 bits.
  • a transmission node transmits an ID (identifier) for each data frame, and each reception node receives only a data frame having a predetermined ID.
  • ID identifier
  • a CSMA / CA Carrier Sense Multiple Access / Collision Avoidance
  • arbitration is performed by ID when a plurality of nodes are simultaneously transmitted, and a data frame having a small ID value is preferentially transmitted.
  • Patent Document 1 describes a method of preventing transmission of illegal frames by discarding and not transferring each frame when two frames having the same identifier are received within a specified communication interval. ing.
  • an error frame is detected when transmission of a data frame having the same ID as that transmitted by the own node is detected under the precondition that a plurality of nodes do not transmit a data frame having the same ID.
  • a method is described in which transmission of illegal data frames is prevented by using it.
  • the present disclosure provides a frame transmission blocking device that can block transmission of an attack frame transmitted by an attacker in a network system and can suppress blocking of a frame that does not cause a particular problem.
  • the present disclosure also provides a frame transmission blocking method and an in-vehicle network system for appropriately blocking frame transmission.
  • a frame transmission blocking apparatus is a frame transmission blocking apparatus connected to a bus in a network system in which a plurality of electronic control units communicate via the bus, Based on a receiving unit that receives a frame from the bus and management information that indicates whether or not to prevent transmission of the frame, if the frame received by the receiving unit satisfies a predetermined condition, the transmission of the frame is blocked. And a processing unit that switches whether or not to execute the predetermined process.
  • a frame transmission blocking method is a frame transmission blocking method used in a network system in which a plurality of electronic control units communicate via a bus.
  • a processing step of switching whether to execute the process is a frame transmission blocking method used in a network system in which a plurality of electronic control units communicate via a bus.
  • an in-vehicle network system is an in-vehicle network system including a plurality of electronic control units that communicate via a bus, and receives a frame from the bus And whether or not to execute a predetermined process for blocking the transmission of the frame when the frame received by the receiving unit satisfies a predetermined condition based on management information indicating whether or not to prevent the transmission of the frame It is an in-vehicle network system provided with the processing part which switches.
  • transmission of an attack frame transmitted by an attacker can be appropriately blocked, and blocking of frame transmission that does not cause a particular problem can be suppressed.
  • FIG. 1 is a configuration diagram of an ECU according to Embodiment 1.
  • FIG. It is the figure which showed an example of the reception ID list
  • FIG. It is a figure which shows an example of data frame ID and data which engine ECU which concerns on Embodiment 1 transmits. It is a figure which shows an example of data frame ID and data which brake ECU which concerns on Embodiment 1 transmits.
  • FIG. 1 is a configuration diagram of a fraud detection ECU according to Embodiment 1.
  • FIG. 2 is a configuration diagram of a server according to Embodiment 1.
  • FIG. 6 is a flowchart illustrating an example of operation failure detection processing in the fraud detection ECU according to the first embodiment. It is a figure which shows an example of the format of the fraud detection message which fraud detection ECU which concerns on Embodiment 1 transmits. 6 is a flowchart illustrating an example of an update process related to activation of a transmission blocking function in the fraud detection ECU according to the first embodiment. It is a figure which shows an example of the format of the delivery message containing the firmware (FW: firmware) which the server which concerns on Embodiment 1 transmits.
  • firmware firmware
  • FIG. 6 is a configuration diagram of a fraud detection ECU according to Embodiment 2.
  • FIG. 6 is a configuration diagram of a server according to Embodiment 2.
  • FIG. It is a figure which shows an example of the sequence of the detection of a fraud frame by the fraud detection ECU which concerns on Embodiment 2, and transmission prevention.
  • 6 is a flowchart illustrating an example of operation failure detection processing in a fraud detection ECU according to Embodiment 2. It is a figure which shows an example of the format of the abnormality notification message which fraud detection ECU which concerns on Embodiment 2 transmits by vehicle-to-vehicle communication.
  • FIG. 6 is a flowchart illustrating an example of a transmission blocking function activation process in the fraud detection ECU according to the second embodiment.
  • 10 is a flowchart illustrating an example of processing related to transmission of a deactivation message in a server according to Embodiment 2.
  • FIG. 6 shows an example of the format of the deactivation message which the server which concerns on Embodiment 2 transmits.
  • 6 is a flowchart illustrating an example of a transmission blocking function deactivation process in a fraud detection ECU according to a second embodiment. It is a block diagram of the frame transmission blocking apparatus which concerns on a modification.
  • a frame transmission blocking apparatus is a frame transmission blocking apparatus connected to a bus in a network system in which a plurality of electronic control units communicate via a bus, and receiving a frame from the bus A predetermined process for blocking transmission of the frame when the frame received by the receiving unit satisfies a predetermined condition, based on management information indicating whether to block transmission of the frame and whether to permit transmission of the frame
  • a frame transmission blocking apparatus including a processing unit that switches whether or not.
  • This frame transmission blocking apparatus has a useful configuration for realizing suppression of frame transmission blocking that does not cause a special problem other than the attack frame (for example, malfunction of the network system).
  • this frame transmission blocking apparatus it is possible to block transmission of an attack frame transmitted by an attacker, and it is possible to realize suppression of blocking of transmission of a frame that does not cause a special problem other than the attack frame.
  • a frame transmission blocking device is manufactured and used by setting predetermined conditions so that an illegal frame deviating from a rule defined for a network system at the manufacturing stage is applicable.
  • the frame transmission blocking device can change whether to block by the management information instead of simply blocking transmission of a frame that satisfies the predetermined condition.
  • the management information referred to by the frame transmission blocking device may be received from outside the frame transmission blocking device, for example, or may be read from a storage medium in the frame transmission blocking device, for example.
  • the plurality of electronic control units communicate via the bus in accordance with a CAN (Controller Area Network) protocol, and the predetermined process for blocking transmission of a frame satisfying the predetermined condition is performed by the receiving unit at the end of the frame.
  • a process of transmitting an error frame to the bus before the tail bit is received may be included.
  • the frame transmission blocking apparatus includes a storage unit that stores the management information and an update unit that updates the management information stored in the storage unit, and the management information is stored in each of a plurality of IDs. Correspondingly, it includes flag information indicating whether or not to prevent transmission of a frame having the ID and satisfying the predetermined condition, and the processor receives the predetermined condition when the frame received by the receiver In the case of satisfying, when the flag information corresponding to the ID of the frame indicates that the transmission of the frame is allowed to be blocked, the predetermined processing is executed, and the flag information corresponding to the ID of the frame is transmitted of the frame.
  • the predetermined process may not be executed when it is indicated that the prevention is not permitted. This makes it possible to change whether or not to prevent transmission of a frame for each ID (identifier) of the frame that identifies, for example, the type of data that is the content of the frame.
  • the flag information corresponding to each of the plurality of IDs in the management information may indicate that blocking of frame transmission is not permitted in a state where updating by the updating unit has never been performed.
  • adverse effects caused by the block transmission can be suppressed.
  • the update unit is allowed to prevent transmission of flag information corresponding to the ID. It is assumed that the system is updated to show that In this example, the transmission of the frame is not blocked unless an abnormality such as an operation failure occurs, so that no adverse effect due to the blocking occurs.
  • the flag information may be 1-bit information. As a result, the capacity of the storage medium necessary for storing management information including flag information for each ID can be reduced.
  • the updating unit may update the management information according to instruction information received from the outside by the frame transmission blocking device.
  • the frame transmission blocking device may not have a configuration for appropriately determining whether or not the management information should be updated, for example.
  • the network system is an in-vehicle network system
  • the plurality of electronic control units, the bus, and the frame transmission blocking device are mounted on a vehicle
  • the update unit is an external device located outside the vehicle.
  • the management information may be updated according to the transmitted instruction information. Accordingly, it is possible to control the execution of the frame transmission blocking function by giving instruction information as necessary by a server device outside the vehicle, another vehicle, or the like.
  • the execution of the frame transmission blocking function by the frame transmission blocking device can be controlled by a server device or the like that appropriately determines instruction information by collecting and analyzing information from a plurality of vehicles.
  • the instruction information for example, an instruction to activate the frame transmission blocking function in the frame transmission blocking device, that is, an instruction to allow transmission blocking, or an instruction to deactivate the transmission blocking function, that is, not to allow transmission blocking Instructions are assumed.
  • the updating unit successfully authenticates that the external device has the predetermined authority.
  • the flag information corresponding to the predetermined ID in the management information is updated to indicate that transmission of a frame having the predetermined ID is not permitted, and the instruction information is In the case of indicating an instruction to prevent transmission of a frame having an ID, flag information corresponding to the predetermined ID in the management information is displayed in the predetermined information regardless of whether or not the external device has the predetermined authority.
  • the update may be performed to indicate that the transmission of the frame having the ID is permitted.
  • the frame transmission blocking device further gives an instruction to permit transmission of a frame having the one ID when the processing unit executes the predetermined process for blocking transmission of the frame having the one ID. It is good also as providing the communication part which transmits the instruction information for other vehicles shown.
  • This frame transmission blocking device for example, when an attacker sends an attack frame to an in-vehicle network system of a vehicle on which the device is mounted, transmits a similar frame transmission blocking device by transmitting instruction information. Other onboard vehicles can be protected from similar attacks.
  • the frame transmission blocking apparatus may further include a communication unit that transmits analysis information including information related to the frame to the external device when a frame received by the receiving unit satisfies the predetermined condition. good.
  • analysis information necessary for analysis for determining whether transmission of a frame satisfying a predetermined condition causes a particular problem can be transmitted to the external device.
  • instruction information is appropriately determined by collecting and analyzing information for analysis from a plurality of vehicles by a server device or the like which is an external device. If the external apparatus transmits the instruction information as a result of utilizing the analysis information, the frame transmission blocking apparatus can receive the instruction information and update the management information.
  • the frame transmission blocking device can appropriately prevent transmission of a frame that causes a particular problem such that transmission of a frame satisfying a predetermined condition causes an abnormality in another type of frame flowing on the bus.
  • the frame transmission blocking device is manufactured so that the ID of the frame used in the network system in the manufacturing stage or the like is used as the specific ID.
  • the ID is used as the specific ID.
  • the frame transmission blocking device can appropriately prevent frame transmission that causes a particular problem such that transmission of a frame that satisfies a predetermined condition causes an abnormality in a specific ECU.
  • the frame transmission blocking device is manufactured such that an ECU included in the network system is used as a specific ECU at a manufacturing stage or the like.
  • an ECU that is important in a network system for example, an ECU related to vehicle running control in an in-vehicle network system, is assumed to be used as a specific ECU.
  • the predetermined condition is a condition for a frame ID
  • the processing unit executes the predetermined process based on the management information when the frame ID received by the receiving unit satisfies the predetermined condition. It is good also as switching whether to do.
  • a predetermined condition is set so as to indicate an ID of a frame that is not used in the constructed network system, that is, an ID group estimated to be illegal
  • the information is transmitted to the bus by an attacker based on management information. Blocking transmission of attack frames can be realized. By preventing transmission of this attack frame, the security of the network system is ensured.
  • the plurality of electronic control units communicate via the bus according to a CAN (Controller Area Network) protocol
  • the predetermined condition is a condition for a DLC (Data Length Length Code) of a data frame as a frame
  • the processing unit may switch whether or not to execute the predetermined process based on the management information when the DLC of the frame received by the receiving unit satisfies the predetermined condition.
  • a predetermined condition is set to indicate a DLC that is not used in the constructed network system, that is, a DLC that is estimated to be illegal, the DLC transmitted to the bus by the attacker based on the management information.
  • the transmission of attack frames including can be prevented.
  • the plurality of electronic control units communicate via the bus according to a CAN (Controller Area Network) protocol
  • the predetermined condition is a condition for data in a data field of a data frame as a frame
  • the processing The unit may switch whether or not to execute the predetermined process based on the management information when data in a data field of the frame received by the receiving unit satisfies the predetermined condition.
  • a predetermined condition is set to indicate data estimated to be illegal, transmission of an attack frame including the data transmitted to the bus by the attacker based on the management information is realized. obtain.
  • the predetermined condition may be a condition that is satisfied when a proper message authentication code is not included in the frame.
  • the plurality of electronic control units communicate via the bus in accordance with a CAN (Controller Area Network) protocol, and the predetermined processing for preventing transmission of a frame satisfying the predetermined condition is performed when the frame is transmitted.
  • transmission of the frame on the bus in a complete state is performed by transmitting a dominant signal.
  • the modification of the contents of the frame on the bus causes a reception error, for example, and it can be prevented that the ECU of the receiving node processes the frame in the same manner as a normal frame.
  • a frame transmission blocking method is a frame transmission blocking method used in a network system in which a plurality of electronic control units communicate via a bus, and includes a reception step of receiving a frame from the bus; Whether or not to execute predetermined processing for blocking transmission of the frame when the frame received in the reception step satisfies a predetermined condition based on management information indicating whether or not to prevent transmission of the frame
  • a frame transmission blocking method including a processing step of switching between.
  • an in-vehicle network system is an in-vehicle network system including a plurality of electronic control units that communicate via a bus, and a reception unit that receives a frame from the bus, and a block of frame transmission A processing unit for switching whether or not to execute a predetermined process for preventing transmission of the frame when the frame received by the receiving unit satisfies a predetermined condition based on management information indicating whether or not It is an in-vehicle network system provided.
  • an in-vehicle network including a plurality of ECUs that perform communication according to the CAN protocol and a fraud detection ECU as a frame transmission blocking device having a function of blocking transmission of a data frame detected as fraud
  • the system 10 will be described with reference to the drawings.
  • FIG. 1 is a diagram illustrating a configuration of an in-vehicle network system 10 mounted on a vehicle. In the figure, other vehicles and a server 500 outside the vehicle are added.
  • the in-vehicle network system 10 is an example of a network system that communicates in accordance with a CAN protocol, and is a network system in a vehicle (for example, an automobile) equipped with various devices such as a control device, a sensor, an actuator, and a user interface device.
  • the in-vehicle network system 10 includes a plurality of ECUs that perform communication related to a frame via a bus (network bus), and uses a frame transmission blocking method that blocks frame transmission under a certain condition.
  • the in-vehicle network system 10 includes a bus 200, ECUs 100 a to 100 d and fraud detection ECU 400 connected to the bus 200, and a communication module 600.
  • the in-vehicle network system 10 may include a number of ECUs in addition to the fraud detection ECU 400 and the ECUs 100a to 100d.
  • ECU 100a is also referred to as engine ECU 100a
  • ECU 100b is also referred to as brake ECU 100b
  • ECU 100c is also referred to as door opening / closing sensor ECU 100c
  • ECU 100d is also referred to as window opening / closing sensor ECU 100d.
  • 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 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.
  • Each ECU can exchange frames via the bus 200 according to the CAN protocol. Data frames are exchanged between ECUs.
  • the data frame may include, for example, data used for vehicle control, such as data relating to the state of the vehicle, data for instructing the vehicle to perform control, and the like.
  • Each ECU can be connected to various devices.
  • Engine ECU 100 a is connected to engine 310 and periodically transmits a data frame indicating the state of engine 310 to bus 200.
  • the brake ECU 100 b is connected to the brake 320 and periodically transmits a data frame indicating the state of the brake 320 to the bus 200.
  • the door open / close sensor ECU 100c is connected to the door open / close sensor 330, and periodically transmits a data frame indicating the open / closed state of the door detected by the door open / close sensor 330 to the bus 200.
  • the window opening / closing sensor ECU 100d is connected to the window opening / closing sensor 340, and periodically transmits a data frame indicating the opening / closing state of the window detected by the window opening / closing sensor 340 to the bus 200.
  • the fraud detection ECU 400 is a kind of ECU that functions as a frame transmission blocking device, and is connected to the bus 200.
  • the fraud detection ECU 400 monitors a data frame flowing through the bus 200 and, when detecting a data frame satisfying a predetermined condition regarding a predetermined fraud frame, the fraud detection ECU 400 prevents transmission of the frame based on predetermined management information. It has a function of executing processing (referred to as a transmission blocking function).
  • the communication module 600 is a module including a communication circuit for communicating with the server 500, and is directly connected to the fraud detection ECU 400 through an interface such as a USB (Universal Serial Bus).
  • USB Universal Serial Bus
  • the in-vehicle network system 10 can be mounted on each of a plurality of vehicles.
  • the server 500 is a computer as a server device located outside the vehicle that can communicate with a plurality of vehicles.
  • the server 500 and a plurality of vehicles form a vehicle management system.
  • Server 500 communicates with communication module 600 connected to fraud detection ECU 400 in each of a plurality of vehicles via a wired or wireless communication network.
  • the server 500 has a function of transmitting a distribution message including an update FW to the fraud detection ECU 400 in order to update the firmware (FW) of the fraud detection ECU 400.
  • 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 data to be sent is not defined by the CAN protocol, but is defined in the in-vehicle network system. 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 ECU 100a.
  • the ECU 100a includes a frame transmission / reception unit 110, a frame interpretation unit 120, a reception ID determination unit 130, a reception ID list holding unit 140, a frame processing unit 150, a frame generation unit 160, and a data acquisition unit 170. Composed. Each of these components is a functional component, and each function is realized by, for example, a communication circuit in the ECU 100a, a processor that executes a program stored in a memory, a digital circuit, or the like.
  • the ECUs 100b to 100d also have the same configuration as the ECU 100a.
  • the frame transmission / reception unit 110 transmits / receives a frame according to the CAN protocol to / from the bus 200.
  • a frame is received bit by bit from the bus 200 and transferred to the frame interpreter 120. Further, the content of the frame notified from the frame generation unit 160 is transmitted to the bus 200. Processing in accordance with the CAN protocol such as communication arbitration is also realized in the frame transmission / reception unit 110.
  • the frame interpretation unit 120 receives a frame value from the frame transmission / reception unit 110, and interprets it so as to map it to each field in the frame format defined by the CAN protocol.
  • the value determined as the ID field is transferred to the reception ID determination unit 130.
  • the frame interpretation unit 120 transfers the value of the ID field and the data field appearing after the ID field to the frame processing unit 150 according to the determination result notified from the reception ID determination unit 130, or the determination After receiving the result, it is determined whether to stop receiving the frame (that is, stop the interpretation as the frame). If the frame interpretation unit 120 determines that the frame does not conform to the CAN protocol, the frame interpretation unit 120 notifies the frame generation unit 160 to transmit an error frame. In addition, when the frame interpretation unit 120 receives an error frame, that is, when it interprets that the value in the received frame is an error frame, the frame interpretation unit 120 discards the frame thereafter, that is, stops the interpretation of the frame. To do.
  • the reception ID determination unit 130 receives the value of the ID field notified from the frame interpretation unit 120, and receives each field of the frame after the ID field according to the list of IDs held by the reception ID list holding unit 140. Judge whether or not. The reception ID determination unit 130 notifies the frame interpretation unit 120 of the determination result.
  • the reception ID list holding unit 140 holds a reception ID list that is a list of IDs received by the ECU 100a.
  • FIG. 5 shows an example of the reception ID list.
  • the frame processing unit 150 performs processing related to different functions for each ECU according to the received frame data.
  • the engine ECU 100a has a function of sounding an alarm sound when the door is open in a state where the speed exceeds 30 km.
  • the engine ECU 100a has, for example, a speaker for sounding an alarm sound.
  • the frame processing unit 150 of the engine ECU 100a manages, for example, data received from another ECU (for example, information indicating the state of the door), and generates an alarm sound under a certain condition based on the speed obtained from the engine 310. Performs a sounding process.
  • the frame processing unit 150 of the ECU 100c having the same configuration as that of the ECU 100a performs a process of generating an alarm sound when the door is opened in a state where the brake is not applied. Note that the frame processing unit 150 may perform processing relating to data of frames other than those exemplified here.
  • the data acquisition unit 170 acquires data indicating the state of devices, sensors, and the like connected to the ECU, and notifies the frame generation unit 160 of the data.
  • the frame generation unit 160 configures an error frame according to the notification instructing transmission of the error frame notified from the frame interpretation unit 120, and notifies the frame transmission / reception unit 110 to transmit the error frame. Further, the frame generation unit 160 forms a data frame by attaching a predetermined ID to the data value notified from the data acquisition unit 170 and notifies the frame transmission / reception unit 110 of the data frame.
  • the contents of the frames transmitted by each of the ECUs 100a to 100d will be described later with reference to FIGS.
  • FIG. 5 is a diagram showing an example of the reception ID list held in each of the ECUs 100a to 100d.
  • the received ID list illustrated in the figure is an ID list indicating that all ID values are (ALL).
  • the ECU receives a data frame including any ID from the bus 200.
  • FIG. 6 is a diagram illustrating an example of ID and data field data in a data frame transmitted from engine ECU 100 a connected to engine 310.
  • the ID of the data frame transmitted by the engine ECU 100a is “1”.
  • the data represents a speed per hour (km / hour), takes a value ranging from a minimum of 0 (km / hour) to a maximum of 180 (km / hour), and the data length is 1 byte.
  • 6 illustrates each ID and data corresponding to each data frame sequentially transmitted from the engine ECU 100a from the upper row to the lower row, and illustrates a state where the vehicle is accelerated from 0 km / hour to 1 km / hour.
  • FIG. 7 is a diagram illustrating an example of ID and data field data in a data frame transmitted from the brake ECU 100 b connected to the brake 320.
  • the ID of the data frame transmitted by the brake ECU 100b is “2”.
  • the data represents the degree of brake application as a percentage (%), and the data length is 1 byte. This ratio is 0 (%) when no brake is applied and 100 (%) when the brake is applied to the maximum.
  • FIG. 7 illustrates the ID and data corresponding to each data frame sequentially transmitted from the brake ECU 100b from the upper line to the lower line, and shows a state where the brake is gradually weakened from 100%.
  • FIG. 8 is a diagram illustrating an example of an ID and a data field (data) in a data frame transmitted from the door opening / closing sensor ECU 100 c connected to the door opening / closing sensor 330.
  • the ID of the data frame transmitted by the door opening / closing sensor ECU 100c is “3”.
  • the data represents the open / closed state of the door, and the data length is 1 byte.
  • the data value is “1” when the door is open and “0” when the door is closed.
  • FIG. 8 illustrates the IDs and data corresponding to the data frames sequentially transmitted from the door opening / closing sensor ECU 100c, from the upper row to the lower row, and the door has shifted from an open state to a gradually closed state. It represents the situation.
  • FIG. 9 is a diagram illustrating an example of an ID and a data field (data) in a data frame transmitted from the window opening / closing sensor ECU 100d connected to the window opening / closing sensor 340.
  • the ID of the data frame transmitted by the window opening / closing sensor ECU 100d is “4”.
  • the data represents the open / closed state of the window as a percentage (%), and the data length is 1 byte. This ratio is 0 (%) when the window is completely closed and 100 (%) when the window is fully open.
  • FIG. 9 illustrates, from the upper row to the lower row, each ID and data corresponding to each data frame sequentially transmitted from the window opening / closing sensor ECU 100d, showing a state in which the window is gradually opened from the closed state. Yes.
  • FIG. 10 is a configuration diagram of the fraud detection ECU 400.
  • the fraud detection ECU 400 includes a frame transmission / reception unit 410, a frame interpretation unit 420, a fraud detection processing unit 430, a fraud detection rule holding unit 431, a state confirmation unit 440, a state holding unit 441, a frame generation unit 450, and an update process.
  • Each function of these components is realized by, for example, a communication circuit in the fraud detection ECU 400, a processor that executes a program stored in a memory, a digital circuit, or the like.
  • the frame transmission / reception unit 410 transmits / receives a frame according to the CAN protocol to / from the bus 200.
  • the frame transmission / reception unit 410 functions as a reception unit that receives a frame from the bus bit by bit, and transfers the received frame to the frame interpretation unit 420. Also, based on the frame notified from the frame generation unit 450, the contents of the frame are transmitted to the bus 200 bit by bit.
  • the frame interpretation unit 420 receives the value of the frame received from the frame transmission / reception unit 410 and interprets it so as to map it to each field in the frame format defined by the CAN protocol.
  • the frame interpretation unit 420 transfers the value determined as the ID field in the received data frame, that is, the ID, to the fraud detection processing unit 430.
  • the frame interpretation unit 420 determines that the frame does not conform to the CAN protocol, the frame interpretation unit 420 notifies the frame generation unit 450 to transmit an error frame. If the frame interpreter 420 receives an error frame, that is, if it interprets that the value in the received frame is an error frame, the frame interpreter 420 discards the frame thereafter, that is, cancels the interpretation of the frame. To do.
  • the fraud detection processing unit 430 receives the value of the ID field notified from the frame interpretation unit 420, that is, the ID of the data frame received by the fraud detection ECU 400.
  • the fraud detection processing unit 430 determines whether the received ID is fraudulent according to the regular ID list representing the fraud detection rule held in the fraud detection rule holding unit 431.
  • the fraud detection processing unit 430 notifies the state confirmation unit 440 when it is determined to be fraud, that is, when fraud is detected.
  • a data frame being received having an ID detected as fraud by fraud detection processing unit 430 is detected as an illegal data frame. It should be noted that the detected unauthorized data frame is merely determined to be unauthorized based on the fraud detection rule determined in advance and held in the fraud detection rule holding unit 431.
  • the fraud detection rule may be defined, for example, in order to detect fraud by distinguishing data frames that are likely to be fraudulent from other data frames.
  • the fraud detection rule may be defined from the viewpoint of safely defending against an attack, even if it is not defined so that no false detection occurs completely.
  • addition of ECU to the in-vehicle network system 10 and other changes in the situation may make it difficult to accurately distinguish whether it is fraudulent or not. For this reason, although a data frame determined to be illegal based on the fraud detection rule is estimated to be illegal, for example, it does not necessarily have an adverse effect on the in-vehicle network system 10, and the data in the data frame is not necessarily illegal. Not always.
  • the fraud detection rule holding unit 431 holds information related to the fraud detection rule indicating whether or not the ID included in the data frame received by the fraud detection ECU 400 is illegal.
  • FIG. 11 shows an example of the fraud detection rule.
  • the state confirmation unit 440 confirms the state related to activation of the transmission blocking function indicated by the management information held by the state holding unit 441 when an unauthorized data frame is detected by the fraud detection processing unit 430.
  • the state in which the transmission blocking function is activated is a state in which execution of the transmission blocking function is permitted, that is, a state in which blocking of transmission of data frames detected by the fraud detection processing unit 430 on the in-vehicle network is permitted. is there.
  • the state in which the transmission blocking function is not activated is a state in which the execution of the transmission blocking function is not permitted, that is, blocking of transmission of a data frame detected by the fraud detection processing unit 430 on the in-vehicle network is permitted. There is no state.
  • the state confirmation unit 440 When an illegal data frame is detected, the state confirmation unit 440 notifies the frame generation unit 450 to transmit an error frame if the transmission blocking function is activated. When an unauthorized data frame is detected, the state confirmation unit 440 confirms the state of the vehicle if the unauthorized transmission prevention function is not activated, and if an abnormality such as a malfunction is detected, The communication unit 470 is notified of log information related to the data frame detected as illegal.
  • the state holding unit 441 is realized in one area of a storage medium such as a nonvolatile memory, for example, and holds management information indicating a state related to activation of the transmission blocking function.
  • FIG. 12 shows an example of management information.
  • the frame generation unit 450 configures an error frame according to the notification instructing transmission of the error frame notified from the frame interpretation unit 420, and notifies the frame transmission / reception unit 410 to transmit the error frame. Further, the frame generation unit 450 configures an error frame according to the notification instructing transmission of the error frame notified from the state confirmation unit 440, and notifies the frame transmission / reception unit 410 to transmit the error frame.
  • the update processing unit 460 performs update processing.
  • the update process is a process for acquiring the FW from the external communication unit 470 and updating the management information held by the state holding unit 441 by the FW.
  • the update processing unit 460 may update the fraud detection rule by using the FW acquired from the external communication unit 470 in addition to the management information or instead of the management information.
  • Update of management information by FW in the update processing unit 460 is realized, for example, by causing a processor to execute FW for updating management information, or of FW including data indicating the contents of new management information. This is realized by holding the data as management information in the state holding unit 441.
  • the external communication unit 470 communicates with the server 500 via the communication module 600 and acquires a delivery message.
  • the external communication unit 470 notifies the signature processing unit 480 of the acquired distribution message, acquires the verification result of the signature of the distribution message, and notifies the update processing unit 460 of the FW in the distribution message if the verification is successful. Further, the external communication unit 470 adds the vehicle type information acquired from the vehicle type information holding unit 491 and the vehicle number information acquired from the vehicle number information holding unit 492 to the log information regarding the data frame notified from the state confirmation unit 440. Then, a fraud detection message without signature is generated.
  • the fraud detection message includes log information regarding a data frame detected as fraud, and is analysis information to be analyzed by the server 500 as to whether or not an abnormality has occurred in the in-vehicle network system 10, for example.
  • the external communication unit 470 notifies the signature processing unit 480 of the unauthenticated fraud detection message and obtains signature data to convert it into a signed fraud detection message, and converts the signed fraud detection message to the communication module 600. To the server 500.
  • the signature processing unit 480 verifies the delivery message with the signature notified from the external communication unit 470 using the key acquired from the key holding unit 481, and notifies the verification result to the external communication unit 470. Further, the signature processing unit 480 generates signature data using the key acquired from the key holding unit 481 in response to the unsigned fraud detection message notified from the external communication unit 470, and the generated signature data is transmitted to the external communication unit. 470 is notified.
  • the key holding unit 481 holds a key used by the signature processing unit 480.
  • the vehicle type information holding unit 491 holds vehicle type information indicating the type of vehicle on which the fraud detection ECU 400 is mounted.
  • the chassis number information holding unit 492 holds chassis number information as information for identifying the vehicle on which the fraud detection ECU 400 is mounted.
  • the chassis number information indicates, for example, a vehicle type and a production number.
  • FIG. 11 shows an example of a fraud detection rule held by the fraud detection rule holding unit 431 of the fraud detection ECU 400.
  • the regular ID list related to the fraud detection rule in the example in the figure is a so-called white list.
  • the regular ID list in this example is not determined to be illegal even if a data frame having an ID of “1”, “2”, “3”, or “4” is transmitted to the bus 200.
  • FIG. 12 shows an example of management information held by the state holding unit 441 of the fraud detection ECU 400.
  • the management information is information indicating whether or not execution of the transmission blocking function is permitted.
  • the management information is allowed to execute a transmission blocking function for blocking transmission of a data frame having the ID for each data frame ID when the data frame having the ID is detected as illegal by the fraud detection rule. Is associated with flag information indicating whether or not.
  • the flag information is composed of, for example, 1 bit. For example, if the bit value is 1, it indicates that the transmission blocking function is allowed to be executed, and if the bit value is 0, the transmission blocking function is not allowed to be executed. Show. As an example, in a state where the management information has not been updated by the update processing unit 460, the flag information may indicate that the transmission of the data frame is not permitted.
  • the flag information for ID “1” indicates that the bit value is 0 and execution of the transmission blocking function is not permitted. This represents a state in which the transmission prevention function of fraud detection ECU 400 is not activated for the data frame with ID “1”.
  • the flag information for ID “5” indicates that the bit value is 1 and the execution of the transmission blocking function is permitted. This represents a state in which the transmission prevention function of fraud detection ECU 400 is activated for the data frame with ID “5”.
  • the bit value of the flag information for ID “6” is 0 means that when the data frame of ID “6” flowing on the bus 200 is detected as being illegal, the transmission of the data frame is performed. Meaning that blocking is not allowed. For example, when the bit value of the flag information for ID “6” is changed to 1, when the data frame of ID “6” flowing through the bus 200 is detected as being illegal, the transmission of the data frame is allowed to be prevented. become.
  • the meaning of the bit values 0 and 1 of the flag information may be reversed, or the flag information may be composed of a plurality of bit strings.
  • the management information includes only one flag information for switching whether to execute the transmission blocking function in a batch regardless of the ID of any data frame detected as illegal by the fraud detection rule. It may be constituted by.
  • the server 500 includes a storage medium such as a memory and a hard disk, a processor, a communication circuit, and the like.
  • FIG. 13 is a configuration diagram of the server 500.
  • the server 500 includes a communication unit 510, an analysis unit 520, an FW holding unit 530, a delivery message generation unit 540, a signature processing unit 550, and a key holding unit 560 as functional components.
  • the Each of these components is realized by a communication circuit in the server 500, a processor that executes a program stored in a memory, and the like.
  • the communication unit 510 transmits the distribution message transmitted from the distribution message generation unit 540 to the vehicle. This distribution message is received by the vehicle communication module 600 and transmitted to the fraud detection ECU 400. Communication unit 510 also receives a fraud detection message transmitted from vehicle fraud detection ECU 400 via communication module 600 and notifies analysis unit 520 of the message.
  • the analyzing unit 520 notifies the signature processing unit 550 of the notified fraud detection message, and acquires the signature verification result of the fraud detection message. Further, the analysis unit 520 analyzes the log information regarding the data frame detected as fraud included in the analysis information that is the fraud detection message that has been successfully verified by the signature, so that the in-vehicle network system 10 such as a malfunction of the vehicle. It is determined whether or not the data frame is an illegal data frame that causes an abnormality. If the analysis unit 520 determines that the data frame detected as unauthorized is an unauthorized data frame that causes an abnormality, the data frame is transmitted when the similar data frame is detected as unauthorized by the fraud detection ECU 400. An FW that activates a transmission blocking function that blocks the transmission is generated.
  • the analysis unit 520 causes the FW holding unit 530 to hold the generated FW.
  • the log information related to the data frame detected as fraud that the fraud detection ECU 400 includes in the analysis information includes, for example, the content of the data frame, the reception cycle or the reception frequency of the data frame having the same ID as the data frame, It may include log data relating to the state of the vehicle obtained by monitoring the vehicle during a certain time after receiving the data frame.
  • An example of log data obtained by monitoring the vehicle is information such as the contents of various data frames received from the bus 200 and reception times.
  • the analysis unit 520 identifies one or more fraudulent data frames that cause an abnormality related to the in-vehicle network system 10 such as a malfunction of the vehicle by analyzing log information regarding the data frames detected as fraudulent. It is also good. In this case, the analysis unit 520 prevents the transmission of the data frame when the fraud detection ECU 400 detects that the data frame similar to the data frame identified as the fraudulent data frame causing the abnormality is fraudulent. Generate an FW that activates.
  • the FW holding unit 530 holds the FW distributed to the fraud detection ECU 400.
  • the distribution message generation unit 540 generates a distribution message including the FW to be distributed to the fraud detection ECU 400, and notifies the signature processing unit 550 to generate signature data, thereby obtaining a distribution message with a signature and adding a signature.
  • the delivery message is transmitted to the communication unit 510.
  • the signature processing unit 550 verifies the signature of the fraud detection message with the signature notified from the analysis unit 520 using the key acquired from the key holding unit 560, and notifies the analysis unit 520 of the verification result. Also, the signature processing unit 550 generates signature data for the distribution message notified from the distribution message generation unit 540 by using a key acquired from the key holding unit 560, and the generated signature data is transmitted to the distribution message generation unit 540. To notify.
  • the key holding unit 560 holds a key used by the signature processing unit 550.
  • FIG. 14 shows an example of a sequence of fraud detection and transmission prevention by the fraud detection ECU 400.
  • an unauthorized ECU controlled by an attacker is connected to the bus 200 of the in-vehicle network system 10.
  • FIG. 14 shows the operations of fraud detection ECU 400 and ECU 100a.
  • ECUs 100b to 100d can perform the same operation as ECU 100a.
  • an illegal frame detection and transmission blocking sequence will be described with reference to FIG.
  • fraud detection ECU 400 holds the regular ID list illustrated in FIG.
  • the unauthorized ECU starts transmitting a data frame having ID “5” and data field data “0xFF” to the bus 200 (step S1001).
  • the transmission of the data frame to the bus 200 is a broadcast that enables each ECU connected to the bus 200 to receive the data frame.
  • the fraud detection ECU 400 and the ECU 100a receive the data frame ID (step S1002).
  • ECU 100a determines whether the ID received from bus 200 is the ID of the data frame that should receive the contents of the data field, using the received ID list (see FIG. 5) (step S1003). The ECU 100a continues the data field reception process for receiving the data field of the data frame with the ID “5” according to the reception ID list (step S1004).
  • the fraud detection ECU 400 determines whether the ID received from the bus 200 is an ID of an illegal data frame according to the regular ID list related to the fraud detection rule (step S1005). Since fraud detection ECU 400 does not include ID “5” in the regular ID list, fraud detection ECU 400 determines that the received data frame having received ID “5” is fraudulent, and proceeds to step S1006. If ID “5” is included in the regular ID list, fraud detection ECU 400 determines that the data frame being received is not illegal and ends the process.
  • step S1006 the fraud detection ECU 400 refers to the management information and determines whether or not the transmission blocking function is activated.
  • step S1006 If it is determined in step S1006 that the transmission blocking function is not activated, the fraud detection ECU 400 performs a malfunction detection process (step S1007).
  • the malfunction detection process will be described later with reference to FIG.
  • the transmission of the data frame having the ID “5” is permitted, that is, the transmission blocking function for the data frame. Determine that is activated.
  • step S1006 If it is determined in step S1006 that the transmission blocking function is activated, the fraud detection ECU 400 generates an error frame (step S1008), and transmits the error frame to the bus 200 (step S1009). As a result, the error frame is broadcast to the bus 200 during the reception of the data frame having the ID “5”, so that the transmission of the data frame is blocked.
  • step S1009 the transmission of the error frame to block transmission of the data frame determined to be invalid in step S1005 is performed before the last bit of the data frame is received.
  • the ECU 100a that has received the error frame stops receiving the data field of the data frame being received (step S1010). Due to the error frame transmitted by the fraud detection ECU 400, the reception of the data frame transmitted by the fraud ECU is interrupted in each ECU connected to the bus 200. Therefore, for example, the ECU 100a is prevented from controlling the engine 310 according to the contents of the unauthorized data frame.
  • FIG. 15 shows an example of operation failure detection processing in fraud detection ECU 400.
  • the malfunction detection process will be described with reference to FIG.
  • the fraud detection ECU 400 performs monitoring for detecting a malfunction of the vehicle (that is, abnormality) for a certain period of time after detecting an unauthorized data frame (step S1101). By monitoring the vehicle for a certain period of time, log data relating to the state of the vehicle is obtained.
  • An example of a malfunction of a vehicle is that a data frame having a specific ID normally flows on the bus 200 at a substantially constant cycle but is not transmitted at that cycle.
  • the value of the data frame having the specific ID flowing through the bus 200, the reception frequency, and the like may be different from the specification or normal.
  • This specific ID is, for example, an ID different from the ID of the data frame detected as illegal.
  • the operation of a specific ECU constituting the in-vehicle network system 10 is different from the specification or normal based on the frame transmitted by the ECU to the bus 200 or the sensing result of the in-vehicle sensor. It is mentioned.
  • the fraud detection ECU 400 when a malfunction is detected in step S1101, is sent to the server 500 via the communication module 600 and includes a fraud detection message including log information (for example, log data) related to the data frame detected as fraud. Is transmitted (step S1102).
  • log information for example, log data
  • FIG. 16 shows an example of the format of a fraud detection message that fraud detection ECU 400 transmits to server 500.
  • the fraud detection message is transmitted from the fraud detection ECU 400 to the server 500 via the communication module 600.
  • the fraud detection message includes vehicle type information, chassis number information, occurrence phenomenon information, log information, and signature data.
  • the occurrence phenomenon information is, for example, information indicating the type of detected malfunction.
  • the log information includes the contents of the data frame detected as illegal, the log data regarding the data frame that has flowed to the bus 200 at a certain time after the data frame is received, and the like.
  • FIG. 17 shows an example of update processing related to activation of the transmission blocking function in fraud detection ECU 400.
  • the update process will be described with reference to FIG.
  • the fraud detection ECU 400 acquires the distribution message via the communication module 600 that receives the distribution message including the update FW transmitted by the server 500 (step S1201).
  • the fraud detection ECU 400 verifies the signature data attached to the delivery message (step S1202).
  • the fraud detection ECU 400 determines whether or not the transmission source of the delivery message is the correct server 500 based on whether or not the verification result in step S1202 indicates that the verification is successful (step S1203). If the server 500 is not correct, FW update is skipped and the update process is terminated.
  • step S1204 If the verification result indicates success in step S1203, that is, if the transmission source is the correct server 500, the fraud detection ECU 400 updates the FW with the FW included in the delivery message (step S1204). With this FW update, for example, management information is updated. By updating the management information, for example, the transmission blocking function can be activated. In step S1204, fraud detection ECU 400 confirms whether or not the vehicle type information included in the delivery message is the same as the vehicle type of the vehicle on which the device is mounted, and only if the vehicle type information is the same. It is good also as updating.
  • FIG. 18 shows an example of the format of a delivery message that server 500 delivers to a vehicle.
  • the distribution message includes vehicle type information indicating the vehicle type of the vehicle to be distributed, FW for update, and signature data.
  • the update FW includes data or a program for updating flag information corresponding to one or more IDs in the management information (see FIG. 12).
  • the management information indicates a state where the transmission blocking function is activated. Block transmission of the data frame.
  • fraud detection ECU 400 does not block transmission of the data frame when the transmission blocking function is not activated.
  • the fraud detection ECU 400 transmits the FW generated by the server 500 by analyzing the log information obtained from the vehicle in which the data frame is detected to be fraudulent and the malfunction is detected. Can be activated.
  • the server 500 generates an FW that updates the management information so as to allow the transmission of the data frame that is determined to be an illegal data frame that causes an abnormality.
  • the fraud detection ECU 400 prevents transmission of the attack frame.
  • the management information in the fraud detection ECU 400 for a data frame that does not cause an abnormality in the vehicle, blocking of the transmission of the data frame is not allowed, and adverse effects of blocking the transmission by mistake are prevented.
  • the in-vehicle network system 11 includes a fraud detection ECU as a frame transmission blocking device that can activate a transmission blocking function for blocking transmission of a data frame determined to be fraudulent by vehicle-to-vehicle communication and can be deactivated by an instruction from the server 1500.
  • a fraud detection ECU as a frame transmission blocking device that can activate a transmission blocking function for blocking transmission of a data frame determined to be fraudulent by vehicle-to-vehicle communication and can be deactivated by an instruction from the server 1500.
  • FIG. 19 is a diagram illustrating a configuration of the in-vehicle network system 11 mounted on a vehicle.
  • other vehicles and a server 1500 outside the vehicle are appended.
  • the in-vehicle network system 11 is mounted on each of a plurality of vehicles.
  • the server 1500 and a plurality of vehicles form a vehicle management system.
  • the in-vehicle network system 11 includes a bus 200, ECUs 100a to 100d and fraud detection ECU 1400 connected to the bus 200, and a communication module 1600.
  • symbol same as FIG. 1 is attached
  • the points not specifically described here are the same as the in-vehicle network system 11 in the in-vehicle network system 10 shown in the first embodiment.
  • the fraud detection ECU 1400 is a kind of ECU connected to the bus 200.
  • the fraud detection ECU 1400 monitors a data frame flowing through the bus 200, and when detecting a data frame that satisfies a predetermined condition regarding a predetermined fraud frame, the fraud detection ECU 1400 prevents transmission of the frame based on predetermined management information. Has a blocking function.
  • the fraud detection ECU 1400 is the same as the fraud detection ECU 400 shown in the first embodiment, unless otherwise described here.
  • the communication module 1600 mounted on the vehicle is a module including a communication circuit for communicating with the server 1500 and other vehicles, and is directly connected to the fraud detection ECU 1400 via an interface such as a USB.
  • the fraud detection ECU 1400 of each vehicle can exchange messages with each other.
  • the inter-vehicle communication executed by the vehicle communication module 1600 is performed by sending a message to other vehicles located around the vehicle (for example, within a range of several tens of meters, several hundreds of meters, etc.) by wireless transmission with a constant output, for example. Can communicate.
  • the server 1500 is a computer as a server device located outside the vehicle that can communicate with a plurality of vehicles.
  • Server 1500 communicates with communication module 1600 connected to fraud detection ECU 1400 in each of a plurality of vehicles via a wired or wireless communication network.
  • the server 1500 has a function of transmitting a delivery message including an update FW to the fraud detection ECU 1400, similarly to the server 500 shown in the first embodiment.
  • the server 1500 further has a function of transmitting a deactivation message for deactivating the transmission blocking function of the vehicle fraud detection ECU 1400.
  • the server 1500 receives a fraud detection message from a certain vehicle, the server 1500 transmits an abnormality notification message including the vehicle type information and the activation instruction information included in the fraud detection message to other vehicles as necessary. It has the function to transmit.
  • This function is a relay function of activation instruction information that complements transmission of an abnormality notification message by direct vehicle-to-vehicle communication by a vehicle.
  • FIG. 20 is a configuration diagram of the fraud detection ECU 1400.
  • the fraud detection ECU 1400 includes a frame transmission / reception unit 410, a frame interpretation unit 420, a fraud detection processing unit 430, a fraud detection rule holding unit 431, a state confirmation unit 1440, a state holding unit 441, a frame generation unit 450, and an update process.
  • Each function of these components is realized by, for example, a communication circuit in the fraud detection ECU 1400, a processor that executes a program stored in a memory, a digital circuit, or the like.
  • Components having the same functions as those of the fraud detection ECU 400 (see FIG. 10) shown in the first embodiment are denoted by the same reference numerals in FIG.
  • the state confirmation unit 1440 is a modification of the state confirmation unit 440 shown in the first embodiment.
  • the state confirmation unit 1440 notifies the frame generation unit 450 to transmit an error frame if the transmission blocking function is activated.
  • the state confirmation unit 1440 confirms the state of the vehicle if the unauthorized transmission prevention function is not activated.
  • the state confirmation unit 1440 transmits log information related to the data frame detected as unauthorized for transmission to the server 1500 and transmission of the frame transmission blocking device in another vehicle.
  • the activation instruction information for activating the blocking function is notified to the external communication unit 470.
  • the activation instruction information includes an activation command indicating that the instruction is for activating the transmission blocking function, and an ID of the data frame detected as illegal, that is, an ID for activation of the transmission blocking function.
  • Target frame information for identification is an activation command indicating that the instruction is for activating the transmission blocking function, and an ID of the data frame detected as illegal, that is, an ID for activation of the transmission blocking function.
  • the update processing unit 1460 is notified of activation instruction information or deactivation instruction information related to the activation state of the transmission blocking function from the external communication unit 1470.
  • the management information is updated in response to the instruction information.
  • a deactivation instruction indicating that the instruction is for deactivation that does not block transmission and an ID of a data frame that is a target for which transmission is not blocked are specified.
  • Target frame information is specified.
  • the flag information corresponding to the ID indicated by the target frame information is transmitted in a state where the transmission blocking function is activated, that is, transmission This is realized by changing to a value indicating a state in which blocking is allowed.
  • the transmission blocking function deactivation processing related to the update of the management information corresponding to the deactivation instruction information by the update processing unit 1460 the transmission blocking function is not activated for the flag information corresponding to the ID indicated by the target frame information. This is realized by changing to a value indicating a state, that is, a state where transmission is not permitted to be blocked.
  • the external communication unit 1470 is a modification of the external communication unit 470 shown in the first embodiment.
  • the external communication unit 1470 communicates with the server 1500 via the communication module 1600 to acquire a delivery message, an abnormality notification message, or a deactivation message.
  • the external communication unit 1470 notifies the signature processing unit 480 of the acquired distribution message to acquire the verification result of the signature of the distribution message. If the verification is successful, the external communication unit 1470 notifies the update processing unit 1460 of the FW in the distribution message.
  • the external communication unit 1470 notifies the signature processing unit 480 of the acquired abnormality notification message to acquire the verification result of the signature of the abnormality notification message, and the verification is successful and the vehicle type information is the same as the vehicle on which the own device is mounted.
  • the activation instruction information in the abnormality notification message is notified to the update processing unit 1460.
  • the external communication unit 1470 notifies the signature processing unit 480 of the acquired deactivation message, acquires the verification result of the signature of the deactivation message, and if the verification is successful, the deactivation instruction information in the deactivation message Is sent to the update processing unit 1460.
  • the predetermined authority to transmit a deactivation message for deactivating the transmission blocking function is given to the server 1500, for example, but not to the vehicle. Therefore, in the verification of the signature of the deactivation message, it is useful to verify that the signature data related to the server 1500 having a predetermined authority is attached to the deactivation message.
  • the external communication unit 1470 also includes the vehicle type information acquired from the vehicle type information holding unit 491 and the vehicle number acquired from the vehicle number information holding unit 492 in the log information and activation instruction information related to the data frame notified from the state confirmation unit 1440. Appends the information and generates an unsigned fraud detection message. This fraud detection message is obtained by adding activation instruction information to the fraud detection message shown in the first embodiment.
  • the external communication unit 1470 converts the unauthenticated fraud detection message to the signature processing unit 480 to acquire the signature data, thereby converting the fraud detection message with the signature into the communication module 1600. To the server 1500.
  • the external communication unit 1470 adds the vehicle type information acquired from the vehicle type information holding unit 491 and the vehicle number information acquired from the vehicle number information holding unit 492 to the activation instruction information notified from the state confirmation unit 1440. , Generate an error notification message without signature.
  • the external communication unit 1470 converts the unsigned abnormality notification message to the signature processing unit 480 to acquire the signature data, thereby converting the abnormality notification message with the signature into the communication module 1600. To other vehicles via
  • the server 1500 includes a storage medium such as a memory and a hard disk, a processor, a communication circuit, and the like.
  • FIG. 21 is a configuration diagram of the server 1500.
  • the server 1500 includes a communication unit 510, an analysis unit 1520, an FW holding unit 530, a message generation unit 1540, a signature processing unit 550, and a key holding unit 560 as functional components. .
  • Each of these components is realized by a communication circuit in the server 1500, a processor that executes a program stored in a memory, and the like.
  • Components having the same functions as those of the server 500 (see FIG. 13) shown in the first embodiment are denoted by the same reference numerals in FIG.
  • the communication unit 510 transmits the delivery message, the deactivation message, or the abnormality notification message transmitted from the message generation unit 1540 to the vehicle. These messages are received by the vehicle communication module 1600 and transmitted to the fraud detection ECU 1400. Communication unit 510 also receives a fraud detection message transmitted from vehicle fraud detection ECU 1400 via communication module 1600 and notifies analysis unit 1520 of the message.
  • the analyzing unit 1520 notifies the signature processing unit 550 of the notified fraud detection message, and acquires the signature verification result of the fraud detection message.
  • the analysis unit 1520 analyzes log information related to a data frame detected as fraud included in the analysis information that is a fraud detection message that has been successfully verified by the signature, so that the vehicle-mounted network system 11 such as a malfunction of the vehicle is detected. It is determined whether or not the data frame is an illegal data frame that causes an abnormality. If the analysis unit 1520 determines that the data frame detected as unauthorized is an unauthorized data frame that causes an abnormality, the data frame is transmitted when the similar data frame is detected as unauthorized by the fraud detection ECU 1400. An FW that activates a transmission blocking function that blocks the transmission is generated.
  • the analysis unit 1520 holds the generated FW in the FW holding unit 530. In addition, when the analysis unit 1520 determines that the data frame detected as unauthorized is an unauthorized data frame that causes an abnormality, the analysis unit 1520 notifies the message generation unit 1540 of activation instruction information and vehicle type information included in the unauthorized detection message. To do. If the analysis unit 1520 determines that the data frame detected as illegal is not an illegal data frame that causes an abnormality, when the similar data frame is detected as illegal by the fraud detection ECU 1400, In order to deactivate the transmission blocking function for blocking transmission, the message generation unit 1540 is notified of deactivation instruction information.
  • the determination by the analysis unit 1520 may be made based on information collected from a plurality of vehicles, for example, based on the influence of a data frame detected as illegal.
  • the analysis unit 1520 includes target frame information indicating the ID of the data frame that is a target for deactivating the transmission blocking function, in the deactivation instruction information notified to the message generation unit 1540.
  • the FW holding unit 530 holds the FW distributed to the fraud detection ECU 1400.
  • the message generation unit 1540 generates a distribution message including the FW to be distributed to the fraud detection ECU 1400, notifies the signature processing unit 550 to generate signature data, obtains a signed distribution message, and distributes the signature The message is transmitted to the communication unit 510.
  • the message generation unit 1540 when receiving notification of activation instruction information and vehicle type information from the analysis unit 1520, the message generation unit 1540 generates an abnormality notification message including the activation instruction information and vehicle type information, and notifies the signature processing unit 550 of the abnormality notification message.
  • signature data a signed abnormality notification message is obtained and the signed abnormality notification message is transmitted to the communication unit 510.
  • the message generation unit 1540 when the message generation unit 1540 receives notification of the deactivation instruction information from the analysis unit 1520, the message generation unit 1540 generates a deactivation message including the deactivation instruction information and notifies the signature processing unit 550 of the deactivation instruction information. By generating the data, a signed deactivation message is obtained and the signed deactivation message is transmitted to the communication unit 510.
  • the signature processing unit 550 verifies the signature of the fraud detection message with the signature notified from the analysis unit 1520 by using the key acquired from the key holding unit 560, and notifies the analysis unit 1520 of the verification result.
  • the signature processing unit 550 generates and generates signature data using the key acquired from the key holding unit 560 in response to the delivery message, abnormality notification message, or deactivation message notified from the message generation unit 1540.
  • the signature data is notified to the message generation unit 1540.
  • FIG. 22 shows an example of a sequence of fraud detection and transmission prevention by the fraud detection ECU 1400.
  • an unauthorized ECU controlled by an attacker is connected to the bus 200 of the in-vehicle network system 11.
  • FIG. 22 shows the operations of fraud detection ECU 1400 and ECU 100a.
  • ECUs 100b to 100d can also perform the same operation as ECU 100a. Note that steps that are the same as the steps of the process shown in FIG. 14 in the first embodiment are denoted by the same reference numerals in FIG. 22, and description thereof will be omitted as appropriate.
  • the fraud ECU starts transmission of a data frame having ID “5” and data “0xFF” (step S1001), and the fraud detection ECU 1400 receives the ID of the data frame (step S1002).
  • the fraud detection ECU 1400 determines whether the ID received from the bus 200 is an ID of an illegal data frame according to the regular ID list (see FIG. 11) related to the fraud detection rule (step S1005). Since ID “5” is not included, it is determined that the received data frame having ID “5” is illegal. Subsequently, the fraud detection ECU 1400 refers to the management information and determines whether or not the transmission blocking function is activated (step S1006).
  • step S1006 If it is determined in step S1006 that the transmission blocking function is not activated, the fraud detection ECU 1400 performs a malfunction detection process (step S2007). This malfunction detection process will be described later with reference to FIG.
  • step S1006 When it is determined in step S1006 that the transmission blocking function is activated, the fraud detection ECU 1400 generates and transmits an error frame (steps S1008 and S1009).
  • FIG. 23 shows an example of malfunction detection processing in fraud detection ECU 1400. Note that steps that are the same as the steps of the processing shown in FIG. 15 in the first embodiment are also given the same reference numerals in FIG. Hereinafter, the malfunction detection process will be described with reference to FIG.
  • the fraud detection ECU 1400 performs monitoring for detecting a malfunction (that is, abnormality) of the vehicle for a certain period of time after detecting an illegal data frame (step S1101). By monitoring the vehicle for a certain period of time, log data relating to the state of the vehicle is obtained.
  • the fraud detection ECU 1400 activates the target frame information indicating the ID of the data frame detected as fraud in the vehicle-to-vehicle communication with the surrounding vehicle via the communication module 1600 when a malfunction is detected in step S1101.
  • An abnormality notification message (see FIG. 24) including the instruction information is transmitted (step S2102).
  • step S2102 the fraud detection ECU 1400 sends to the server 1500 via the communication module 1600 a fraud detection message including log information (for example, log data) regarding the data frame detected as fraud and activation instruction information (FIG. 25). Reference) is transmitted (step S2103).
  • log information for example, log data
  • Reference the data frame detected as fraud and activation instruction information
  • FIG. 24 shows an example of the format of an abnormality notification message that the vehicle fraud detection ECU 1400 transmits to the surrounding vehicles through the communication module 1600.
  • the abnormality notification message can also be transmitted from the server 1500 under certain conditions.
  • the abnormality notification message includes vehicle type information, chassis number information, activation instruction information (that is, activation command and target frame information), and signature data.
  • the target frame information in the abnormality notification message indicates a predetermined ID
  • the activation instruction information indicates an instruction that allows the transmission of a frame having the predetermined ID.
  • FIG. 25 shows an example of a format of a fraud detection message that the fraud detection ECU 1400 transmits to the server 1500.
  • the fraud detection message is transmitted from the fraud detection ECU 1400 to the server 1500 via the communication module 1600.
  • the fraud detection message includes vehicle type information, chassis number information, activation instruction information (that is, activation command and target frame information), occurrence phenomenon information, log information, and signature data.
  • This fraud detection message is obtained by adding activation instruction information to the fraud detection message (see FIG. 16) shown in the first embodiment.
  • FIG. 26 shows an example of the transmission blocking function activation process in the fraud detection ECU 1400.
  • the transmission blocking function activation process will be described with reference to FIG.
  • the fraud detection ECU 1400 acquires the abnormality notification message via the communication module 1600 that receives the abnormality notification message transmitted from another vehicle or the server 1500 (step S2201).
  • the fraud detection ECU 1400 verifies the signature data attached to the abnormality notification message (step S2202).
  • the fraud detection ECU 1400 determines whether or not the transmission source of the abnormality notification message is the correct server 1500 or the correct vehicle based on whether or not the verification result in step S2202 indicates a successful verification (step S2203). If the verification fails, the activation of the transmission blocking function is skipped and the transmission blocking function activation process is terminated.
  • step S2203 When the verification result indicates success in step S2203, that is, when the transmission source is the correct server 1500 or the correct vehicle, the fraud detection ECU 1400 determines that the vehicle on which the device is installed is based on the vehicle type information in the abnormality notification message. It is determined whether or not they are the same vehicle type (step S2204). If the vehicle types are not the same, the fraud detection ECU 1400 ends the transmission blocking function activation process.
  • the fraud detection ECU 1400 activates the transmission blocking function according to the activation instruction information in the abnormality notification message (step S2205).
  • the fraud detection ECU 1400 realizes this activation by setting the flag information corresponding to the ID indicated by the target frame information of the activation instruction information in the management information to a value indicating that the transmission of the frame is permitted.
  • FIG. 27 shows an example of processing related to transmission of a deactivation message in the server 1500.
  • the deactivation message is a message for deactivating the transmission blocking function of the fraud detection ECU 1400.
  • the server 1500 receives the fraud detection message from the vehicle fraud detection ECU 1400 (step S2301).
  • the server 1500 verifies the signature data attached to the fraud detection message (step S2302).
  • the server 1500 determines whether or not the transmission source of the fraud detection message is a correct vehicle based on whether or not the verification result in step S2302 indicates a successful verification (step S2303), and the transmission source is correct. If it is not a vehicle, the process is terminated without sending a deactivation message or the like.
  • step S2304 the server 1500 uses the log information in the fraud detection message, etc. It is determined whether it is a data frame (step S2304). This determination is confirmation of whether or not an abnormality is caused. If it is determined in step S2304 that the abnormality is not caused, the server 1500 deactivates a transmission blocking function that blocks transmission of the data frame when the fraud detection ECU 1400 detects that the data frame is illegal. Therefore, a deactivation message (see FIG. 28) including deactivation instruction information is transmitted (step S2305).
  • the server 1500 may use any method as a method for determining whether or not an abnormality is caused.
  • the server 1500 determines the content or transmission cycle of one or more important data frames determined in advance in the in-vehicle network system 11 until a predetermined time elapses from a data frame detected as illegal based on log information. When there is no abnormality, a method of determining that the abnormality is not caused can be used.
  • the server 1500 includes one or more specific ECUs that configure the in-vehicle network system 11 and are involved in the control of vehicle travel until a predetermined time elapses from a data frame that is detected as illegal based on log information. When the device is operating normally, a method for determining that the abnormality is not caused can be used.
  • the server 1500 A method may be used that determines that the condition is not caused.
  • step S2304 If it is determined in step S2304 that an abnormality has occurred, the server 1500 does not transmit a deactivation message. If it is determined in step S2304 that an abnormality is caused, the server 1500 can transmit a delivery message including an FW for activating the transmission blocking function, for example.
  • FIG. 28 shows an example of a format of a deactivation message transmitted from the server 1500 to the vehicle.
  • the deactivation message is received by fraud detection ECU 1400 via vehicle communication module 1600.
  • the deactivation message includes vehicle type information, deactivation instruction information (that is, deactivation command and target frame information), and signature data.
  • the target frame information in the deactivation message indicates, for example, a predetermined ID.
  • the deactivation instruction information represents an instruction that does not permit transmission of a frame having the predetermined ID.
  • FIG. 29 shows an example of the transmission blocking function deactivation process in the fraud detection ECU 1400.
  • the transmission blocking function deactivation process will be described below with reference to FIG.
  • the fraud detection ECU 1400 receives the deactivation message via the communication module 1600 (step S2401).
  • the fraud detection ECU 1400 verifies the signature data attached to the deactivation message (step S2402).
  • the fraud detection ECU 1400 determines whether or not the transmission source of the deactivation message is the correct server 1500 based on whether or not the verification result in step S2402 indicates a successful verification (step S2403). If it fails, the deactivation of the transmission blocking function is skipped and the transmission blocking function deactivation process is terminated.
  • the fraud detection ECU 1400 When the verification result indicates success in step S2403, that is, when the authentication is successful that the transmission source is the server 1500 having a predetermined authority to transmit the deactivation message, the fraud detection ECU 1400 includes the deactivation message. Based on the target frame information of the deactivation instruction information and the flag information in the management information, it is determined whether or not the transmission blocking function for the target frame is activated (step S2404). If not activated, the fraud detection ECU 1400 ends the transmission blocking function deactivation process.
  • fraud detection ECU 1400 deactivates the transmission blocking function (step S2405).
  • the fraud detection ECU 1400 realizes this deactivation by setting the flag information corresponding to the ID indicated by the target frame information of the deactivation instruction information in the management information to a value indicating that the transmission of the frame is not permitted. .
  • the fraud detection ECU 1400 determines that the data frame flowing through the bus 200 is fraudulent, the management information indicates that the transmission blocking function is activated. Block transmission of the data frame. Further, fraud detection ECU 1400 does not block transmission of the data frame in a state where the transmission blocking function is not activated.
  • the fraud detection ECU 1400 of the vehicle in which the data frame is detected to be illegal and the operation failure is detected transmits an abnormality notification message to other vehicles. As a result, in other vehicles, the transmission blocking function for the data frame detected to be fraudulent is activated, and defense against an attack by an attacker can be realized quickly.
  • the server 1500 transmits a deactivation message for deactivating the transmission blocking function by the vehicle fraud detection ECU 1400 for a data frame that is comprehensively determined not to cause an abnormality.
  • the server 1500 has a predetermined authority to transmit the deactivation message. Security is enhanced by enabling the transmission blocking function once activated in the vehicle to be deactivated only from the server 1500 having a predetermined authority.
  • Embodiments 1 and 2 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 communication modules 600 and 1600 are directly connected to the fraud detection ECU in the above embodiment, the communication modules 600 and 1600 may be communication modules ECUs connected to the CAN bus 200. In this case, the fraud detection ECU may exchange messages with the server 500, 1500 or other vehicles via the communication module ECU by exchanging messages with the communication module ECU via the bus 200. . Further, the communication modules 600 and 1600 may be provided as communication units in the fraud detection ECUs 400 and 1400.
  • the fraud detection ECUs 400 and 1400 as the frame transmission blocking device transmit and receive messages to and from the servers 500 and 1500 outside the vehicle or other vehicles via the communication modules 600 and 1600.
  • the frame transmission blocking device may have a communication circuit with the outside of the vehicle so that it can communicate with the server 500 or the like.
  • An example of the frame transmission blocking device is shown in FIG. 30 is mounted on a vehicle, for example, and connected to a bus 200 (see FIGS. 1 and 19) such as an in-vehicle network system 10, 11, for example, an integrated circuit such as a processor or a memory, a communication A device including a circuit and the like.
  • the frame transmission blocking apparatus 2400 includes, for example, a reception unit 2410, a processing unit 2420, a storage unit 2430, a communication unit 2440, and an update unit 2450 in terms of functions.
  • the receiving unit 2410 includes a communication circuit and the like, and receives a frame from the bus 200.
  • the receiving unit 2410 corresponds to a part that performs a receiving function in the frame transmitting / receiving unit 110 described above.
  • the processing unit 2420 is realized by, for example, a processor that executes a program stored in a memory, a communication circuit, and the like, and is received by the receiving unit 2410 based on management information indicating whether or not to prevent transmission of a frame.
  • the processing unit 2420 may include, for example, the above-described fraud detection processing unit 430, state confirmation units 440 and 1440, and the like.
  • the predetermined condition is, for example, a condition for detecting an illegal frame.
  • the predetermined condition is, for example, a condition for the frame ID, and may be a condition that is satisfied when the ID is not the regular ID list or the like shown in FIG.
  • the processing unit 2420 includes a transmission unit 2421.
  • the processing unit 2420 can perform processing for transmitting an error frame to the bus 200 before the reception unit 2410 receives the last bit of the frame that satisfies the predetermined condition.
  • the processing unit 2420 may perform a process of transmitting, to the bus 200, a number of dominant signals less than that constituting an error frame when the frame is transmitted as a predetermined process for preventing transmission of the frame. good. If the content of the frame on the bus 200 is altered by this dominant signal and causes a reception error such as a CRC mismatch, it can be prevented that the ECU of the receiving node processes the frame in the same way as a normal frame. .
  • the frame transmission blocking device 2400 may be a gateway device having a transfer function of connecting a plurality of buses and transferring a data frame received from one bus to the other bus.
  • the processing unit 2420 As a predetermined process for preventing frame transmission, a process for suppressing frame transfer can be performed.
  • the storage unit 2430 stores management information in one area of a storage medium such as a memory, and corresponds to, for example, the state holding unit 441 described above.
  • the communication unit 2440 includes, for example, a wireless communication circuit and communicates with an external device such as a server device outside the vehicle, a device inside another vehicle, or the like. For example, the communication unit 2440 can transmit an abnormality notification message (see FIG. 24) for other vehicles.
  • the update unit 2450 includes, for example, a processor that executes a program, and updates management information stored in the storage unit 2430.
  • the update unit 2450 may be configured by, for example, the update processing units 460 and 1460 described above.
  • the management information in the storage unit 2430 may include flag information corresponding to each of a plurality of IDs and indicating whether to prevent transmission of a frame having the ID and satisfying a predetermined condition. In response to this, when the frame received by the receiving unit 2410 satisfies a predetermined condition, the processing unit 2420 is predetermined when the flag information corresponding to the ID of the frame indicates that transmission of the frame is permitted.
  • the update unit 2450 updates the management information according to the instruction information received by the frame transmission blocking device 2400 from an abnormality monitoring ECU connected to the bus 200 or from an external device outside the vehicle. May be.
  • This instruction information can be, for example, the activation instruction information and the deactivation instruction information described in the above embodiment.
  • the fraud detection ECUs 400 and 1400 have shown an example in which when a fraudulent data frame is detected, a fraud detection message is transmitted to the outside of the vehicle when a malfunction of the vehicle is detected.
  • the fraud detection ECUs 400 and 1400 can detect the vehicle regardless of whether or not an abnormality such as a malfunction is detected if the transmission blocking function is not activated when an unauthorized data frame is detected.
  • Information including log information regarding a data frame detected as illegal may be transmitted to an external device such as an external server.
  • the communication unit 2440 transmits analysis information including information related to the frame to an external device outside the vehicle. Also good.
  • the fraud detection ECUs 400 and 1400 may leave the determination as to whether or not to cause an abnormality in the external device such as the server 500 or 1500 when it is not possible to determine whether or not it is abnormal.
  • An external device such as the server 500 can increase the accuracy of determination based on information collected from a plurality of vehicles.
  • a message including activation instruction information for activating the transmission blocking function of the fraud detection ECUs 400 and 1400 may be transmitted to the fraud detection ECUs 400 and 1400 as necessary.
  • the server 500 generates a distribution message including the FW that changes the activation state of the transmission blocking function of the vehicle fraud detection ECU 400 by the analysis unit 520, the distribution message generation unit 540, and the like.
  • generation part 1540, etc. was shown.
  • the generation of these messages transmitted by the servers 500 and 1500 may be performed based on an operator instruction or the like for the servers 500 and 1500.
  • the fraud detection ECU400, 1400 shows the example which updates the management information which shows the activation state of a transmission prevention function based on the message transmitted from the server 500, 1500, another vehicle, etc. It was.
  • the fraud detection ECUs 400 and 1400 when detecting fraudulent data frames, inspect whether or not an abnormality has occurred in the vehicle and detect the occurrence of an abnormality as an inspection result (for example, operate in step S1101).
  • the management information may be updated by itself and the transmission blocking function may be activated.
  • the update processing unit 460 of the fraud detection ECU 400 satisfies a predetermined condition related to the fraud detection rule that the data frame received by the frame transmission / reception unit 110 has an ID that is not included in the regular ID list, and is managed.
  • the flag information corresponding to the ID of the data frame in the information indicates that the transmission of the data frame is not permitted to be blocked
  • the flag information is received by the frame transmitting / receiving unit 110 having a specific ID different from the ID of the data frame.
  • the flag information may be updated to indicate that the transmission is allowed to be blocked. For example, an abnormality can be detected by determining whether the reception cycle, reception frequency, data frame content, etc.
  • an abnormality may be detected when a data frame having a specific ID is not received after a certain period of time. For example, it is useful to determine the ID of an important data frame as a specific ID. As a result, when an illegal data frame is detected and an abnormality occurs in an important data frame, subsequent transmission of the illegal data frame is prevented.
  • the update processing unit 460 indicates that the data frame received by the frame transmitting / receiving unit 110 satisfies a predetermined condition and the flag information does not allow the transmission of the data frame, When it is detected that a specific ECU is abnormal, the flag information may be updated to indicate that transmission is permitted.
  • an ECU related to the control of running, turning, or stopping of the vehicle such as the engine ECU 100a, the brake ECU 100b, etc.
  • a gateway ECU having a gateway function, a head unit ECU that provides a user interface to a vehicle driver, and the like as the specific ECU.
  • the abnormality of a specific ECU includes the content of a frame transmitted by the specific ECU, a notification from a monitoring ECU that monitors the specific ECU, a measurement result of a sensor related to an actuator to be controlled by the specific ECU, a specific ECU It can be detected based on an inspection result by individual communication with the ECU.
  • an abnormality in the engine ECU can be detected when the value measured by the engine speed sensor rapidly rises beyond a normal range in a certain unit time.
  • a sudden change in vehicle acceleration may be detected as an abnormality in the engine ECU or the brake ECU.
  • an unauthorized data frame is detected and an abnormality occurs in the ECU that affects the running of the vehicle, subsequent transmission of the unauthorized data frame is prevented.
  • no abnormality has occurred in the ECU that affects the running of the vehicle. Sometimes transmission of the data frame is not blocked, and adverse effects due to the blocking are prevented.
  • the fraud detection ECU 1400 transmits an abnormality notification message including activation instruction information to another vehicle (step S2102)
  • the transmission blocking function is activated in the same manner for the management information of the own vehicle. It may be updated.
  • the fraud detection ECU 1400 determines that the data frame detected as fraudulent causes an abnormality in the vehicle
  • the fraud detection ECU 1400 indicates the flag information corresponding to the ID of the data frame to indicate the state in which the transmission blocking function is activated. Then, transmission of the data frame having the ID is blocked by transmitting an error frame. And the message containing the activation instruction
  • the fraud detection ECUs 400 and 1400 use the regular ID list related to the ID field in order to detect fraudulent data frames, but values of fields other than the ID field may be used. . That is, in the frame transmission blocking apparatus, an example is shown in which an ID is used as a predetermined condition for a frame to be blocked depending on management information. However, conditions other than the ID of the frame may be determined.
  • the predetermined condition may be a condition for DLC of a data frame as a frame or a condition for data in a data field of the data frame.
  • the predetermined condition is that the frame does not include an appropriate MAC. It may be a condition that is satisfied. For example, whether or not a proper MAC is included in a frame is verified by verifying a MAC as a data value located in a pre-identifiable position in the frame by a predetermined verification method. It can be determined by whether or not. Further, the predetermined condition may be a condition related to a cycle, frequency, etc., of transmitting frames.
  • MAC message authentication code
  • the fraud detection ECUs 400 and 1400 as the frame transmission blocking device detect the fraud of the frame by the fraud detection rule, and change the activation state of the transmission blocking function of the frame detected as fraud
  • An example is shown in which updating is performed.
  • the fraud detection rule may be updated by updating the FW instead of changing the activation state of the transmission blocking function.
  • the fraud detection ECU 400 keeps a fraud detection rule determined to treat all IDs as not fraudulent, and the transmission blocking function is already activated.
  • the fraud detection rule may be changed so as to prevent unauthorized transmission of frames by updating the FW.
  • log information regarding a data frame detected as fraud included in the fraud detection message transmitted to the server 500 by the fraud detection ECU 400 is stored in the bus 200 at a certain time after the detection of the data frame.
  • Log data about the data frames that flowed into an example is shown in which the server 500 determines whether the data frame is an illegal data frame that causes an abnormality related to the in-vehicle network system 10 such as a malfunction of the vehicle by analyzing the log information.
  • the fraud detection ECU 400 does not detect the various data frames received from the bus 200 during a certain time before the detection or a certain time before and after the detection, instead of a certain time after detecting the illegal data frame.
  • Information such as contents and reception time may be included in the log information.
  • the fraud detection ECU 400 uses the data frame detected as fraud based on the data frame received from the bus 200 for a certain time before the fraudulent data frame is detected or for a certain time before and after the fraud detection. It may be determined whether or not an abnormality has been caused, and if the abnormality has been caused, the transmission blocking function for the data frame detected as illegal may be activated.
  • the fraud detection ECU 1400 determines whether the vehicle type information indicates the same vehicle type as the vehicle on which the device is mounted. It is an example of determining whether to activate the transmission blocking function by determining the commonality between the vehicle where the abnormality occurred and the vehicle on which the device is installed. In addition to the vehicle type information, the vehicle year, The commonality may be determined using information such as a model, a model, and a manufacturer.
  • the target frame is specified by the ID and the transmission blocking function is activated or deactivated.
  • all the frames are activated or deactivated collectively. It is good also as an instruction
  • the method of specifying the target frame is not limited to the ID, and may be specified by, for example, a bit string at a specific position in the frame.
  • the activation instruction information or the deactivation instruction information may be represented by FW, and the activation state of the transmission blocking function may be changed by updating the FW of the fraud detection ECU.
  • the management information does not necessarily need to be configured with flag information for each ID, but is configured with only one flag indicating whether or not to prevent transmission of all data frames detected as illegal. Also good.
  • the constituent elements of the frame transmission blocking device shown in the above embodiment or the above-described modification may be distributed and provided in a plurality of devices such as a plurality of ECUs connected to the bus 200.
  • the frame transmission blocking device refers to management information obtained from the outside of its own device instead of referring to the management information held in its own device, thereby blocking transmission of a frame detected as illegal. Whether or not to perform predetermined processing (for example, transmission of an error frame) may be switched.
  • management information indicating whether or not to prevent transmission of a frame detected as illegal can be referred to by reading information stored in a hard disk or other storage medium, or a switch or other hardware. It may be referred to by reading the state formed by the wear, or may be referred to by receiving information from the outside.
  • the data frame is transmitted according to the CAN protocol in the in-vehicle network.
  • the CAN protocol is a CANOpen used for an embedded system or the like in the automation system, or TTCAN (Time -Triggered CAN), CANFD (CAN with Flexible Data ⁇ Rate), etc., may be treated as having a broad meaning including derivative protocols.
  • the in-vehicle network may use a protocol other than the CAN protocol.
  • 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 network bus of the in-vehicle network may be a wired communication path configured by, for example, a wire, an optical fiber, or the like.
  • the frame transmission blocking device 2400 is connected to the network bus in a network system in which the ECU communicates using any of the above-described protocols, receives a frame, and indicates whether to allow blocking of frame transmission Based on the information, when a received frame satisfies a predetermined condition, whether or not to execute a predetermined process for blocking transmission of the frame may be switched.
  • the data frame in the CAN protocol is described in the standard ID format.
  • the data frame ID may be an extended ID in the extended ID format. May be.
  • the data frame described above may be a kind of frame in a network using a protocol other than CAN, and in this case, an ID for identifying the type of the frame corresponds to the ID of the data frame.
  • the frame transmission blocking device is mounted on a vehicle and included in an in-vehicle network system that performs communication for vehicle control.
  • a control target other than the vehicle. It may be included in the network system.
  • Control targets other than the vehicle are, for example, robots, aircraft, ships, machines, and the like.
  • Each device such as an ECU shown in the above embodiment may include a hard disk unit, a display unit, a keyboard, a mouse, and the like in addition to a memory, a processor, and the like.
  • each device such as an ECU shown in the above embodiment may be a device in which a program stored in a memory is executed by a processor to realize the function of each device in software, or a dedicated hardware The function may be realized by using hardware (digital circuit or the like) without using a program.
  • the function sharing of each component in each apparatus can be changed.
  • a part or all of the components constituting each device in the above embodiment may be configured 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.
  • frame transmission blocking including all or part of the processing procedures illustrated in FIGS. 14, 15, 17, 22, 22, 23, 26, 27, 29, etc. It may be a method.
  • the frame transmission blocking method is used in a network system in which a plurality of ECUs communicate via a bus, and a reception step of receiving a frame from the bus (for example, step S1002) and whether or not blocking of frame transmission is permitted.
  • a processing step for example, steps S1006 to S1008) for switching whether or not to execute a predetermined process for preventing transmission of the frame when the frame received in the receiving step satisfies a predetermined condition based on the management information indicating It is the method of including.
  • a program for realizing this method by a computer may be used, or a digital signal including the computer program may be used.
  • 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 to prevent unauthorized transmission of frames to a network such as an in-vehicle network.
  • In-vehicle network system 100a Electronic control unit (engine ECU) 100b Electronic control unit (brake ECU) 100c Electronic control unit (door open / close sensor ECU) 100d Electronic control unit (window open / close sensor ECU) 110,410 Frame transmission / reception unit 120,420 Frame interpretation unit 130 Reception ID determination unit 140 Reception ID list holding unit 150 Frame processing unit 160 Frame generation unit 170 Data acquisition unit 200 Bus 310 Engine 320 Brake 330 Door open / close sensor 340 Window open / close sensor 400 , 1400 Fraud detection ECU (Frame transmission blocking device) 430 Fraud detection processing unit 431 Fraud detection rule holding unit 440, 1440 State confirmation unit 441 State holding unit 450 Frame generation unit 460, 1460 Update processing unit 470, 1470 External communication unit 480, 550 Signature processing unit 481, 560 Key holding unit 491 Vehicle type information holding unit 492 Chassis number information holding unit 500, 1500 Server 510, 2440 Communication unit 520, 1520 Analysis unit 530 FW holding unit 540 Delivery message generation

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Computer Security & Cryptography (AREA)
  • Computing Systems (AREA)
  • Computer Hardware Design (AREA)
  • General Engineering & Computer Science (AREA)
  • Small-Scale Networks (AREA)
  • Health & Medical Sciences (AREA)
  • General Health & Medical Sciences (AREA)
  • Medical Informatics (AREA)

Abstract

複数の電子制御ユニットがバスを介して通信するネットワークシステムにおけるそのバスに接続されるフレーム伝送阻止装置は、バスからフレームを受信する受信部と、フレームの伝送の阻止を許容するか否かを示す管理情報に基づいて、受信部により受信されたフレームが所定条件を満たす場合にそのフレームの伝送を阻止する所定処理を実行するか否かを切り替える処理部とを備える。

Description

フレーム伝送阻止装置、フレーム伝送阻止方法及び車載ネットワークシステム
 本開示は、車載ネットワークシステム等のネットワークへの不正なフレームの伝送を阻止するセキュリティ対策技術に関する。
 近年、自動車の中のシステムには、電子制御ユニット(ECU:Electronic Control Unit)と呼ばれる装置が多数配置されている。これらのECUを繋ぐネットワークは車載ネットワークと呼ばれる。車載ネットワークには、多数の通信規格が存在する。その中でも最も主流な車載ネットワークの一つに、ISO11898で規定されているCAN(Controller Area Network)という規格が存在する。
 CANでは、通信路は2本のワイヤで構成されたバスであり、バスに接続されているECUはノードと呼ばれる。バスに接続されている各ノードは、データフレームと呼ばれるフレームを送受信する。データフレームを送信する送信ノードは、2本のワイヤに電圧をかけ、ワイヤ間で電位差を発生させることによって、レセシブと呼ばれる「1」の値と、ドミナントと呼ばれる「0」の値を送信する。複数の送信ノードが全く同一のタイミングで、レセシブとドミナントを送信した場合は、ドミナントが優先されて送信される。受信ノードは、受け取ったデータフレームのフォーマットに異常がある場合には、エラーフレームと呼ばれるフレームを送信する。エラーフレームとは、ドミナントを6bit連続して送信することで、送信ノード及び他の受信ノードにデータフレームの異常を通知するものである。
 またCANでは送信先や送信元を指す識別子は存在せず、送信ノードはデータフレーム毎にID(identifier)を付けて送信し、各受信ノードは予め定められたIDのデータフレームのみを受信する。また、CSMA/CA(Carrier Sense Multiple Access/Collision Avoidance)方式を採用しており、複数ノードの同時送信時にはIDによる調停が行われ、IDの値が小さいデータフレームが優先的に送信される。
 車載ネットワークシステムについては、攻撃者がバスにアクセスして不正なデータフレーム等の攻撃フレームを送信することでECUを不正に制御するといった脅威が存在し、セキュリティ対策が検討されている。
 例えば特許文献1には、規定された通信間隔内に同一の識別子を有するフレームを2つ受信した場合にその各フレームを破棄して転送しないことで、不正フレームの伝送を阻止する方法が記載されている。また非特許文献1には、複数のノードは同一のIDをもつデータフレームを送信しないという前提条件下で、自ノードが送信するIDと同一IDのデータフレームの送信を検出した際にエラーフレームを利用して不正なデータフレームの伝送を阻止する方法が記載されている。
特開2014-146868号公報
Matsumoto、外4名、「A Method of Preventing Unauthorized Data Transmission in Controller Area Network」、Vehicular Technology Conference(VTC Spring)、IEEE、2012年
 従来の方法では、例えば車両製造段階等に予め規定されたID、通信間隔等のルールに基づく条件判定の結果によってフレームの伝送を阻止する。このような方法では、車両製造後等における車載ネットワークシステムを構成するECU群の編成の変更、例えばECUの追加、交換等に適切に対応できず、例えば、追加されたECUが送信した特段の問題を引き起こさないフレームの伝送を誤って阻止する可能性がある。
 そこで、本開示は、ネットワークシステムにおいて、攻撃者により送信された攻撃フレームの伝送の阻止が可能であり、特段の問題を引き起こさないフレームの伝送の阻止を抑制し得るフレーム伝送阻止装置を提供する。また、本開示は、フレームの伝送の阻止を適切に行うためのフレーム伝送阻止方法及び車載ネットワークシステムを提供する。
 上記課題を解決するために本開示の一態様に係るフレーム伝送阻止装置は、複数の電子制御ユニットがバスを介して通信するネットワークシステムにおける当該バスに接続されるフレーム伝送阻止装置であって、前記バスからフレームを受信する受信部と、フレームの伝送の阻止を許容するか否かを示す管理情報に基づいて、前記受信部により受信されたフレームが所定条件を満たす場合に当該フレームの伝送を阻止する所定処理を実行するか否かを切り替える処理部とを備えるフレーム伝送阻止装置である。
 また、上記課題を解決するために本開示の一態様に係るフレーム伝送阻止方法は、複数の電子制御ユニットがバスを介して通信するネットワークシステムで用いられるフレーム伝送阻止方法であって、前記バスからフレームを受信する受信ステップと、フレームの伝送の阻止を許容するか否かを示す管理情報に基づいて、前記受信ステップで受信されたフレームが所定条件を満たす場合に当該フレームの伝送を阻止する所定処理を実行するか否かを切り替える処理ステップとを含むフレーム伝送阻止方法である。
 また、上記課題を解決するために本開示の一態様に係る車載ネットワークシステムは、バスを介して通信する複数の電子制御ユニットを備える車載ネットワークシステムであって、前記バスからフレームを受信する受信部と、フレームの伝送の阻止を許容するか否かを示す管理情報に基づいて、前記受信部により受信されたフレームが所定条件を満たす場合に当該フレームの伝送を阻止する所定処理を実行するか否かを切り替える処理部とを備える車載ネットワークシステムである。
 本開示によれば、攻撃者により送信された攻撃フレームの伝送が適切に阻止され、特段の問題を引き起こさないフレームの伝送の阻止が抑制され得る。
実施の形態1に係る車載ネットワークシステムの構成を示す図である。 CANプロトコルで規定されるデータフレームのフォーマットを示す図である。 CANプロトコルで規定されるエラーフレームのフォーマットを示す図である。 実施の形態1に係るECUの構成図である。 実施の形態1に係るECUにおける受信IDリストの一例を示した図である。 実施の形態1に係るエンジンECUが送信するデータフレームのID及びデータの一例を示す図である。 実施の形態1に係るブレーキECUが送信するデータフレームのID及びデータの一例を示す図である。 実施の形態1に係るドア開閉センサECUが送信するデータフレームのID及びデータの一例を示す図である。 実施の形態1に係るウィンドウ開閉センサECUが送信するデータフレームのID及びデータの一例を示す図である。 実施の形態1に係る不正検知ECUの構成図である。 実施の形態1に係る不正検知ECUが保持する不正検知ルールの一例を示す図である。 実施の形態1に係る不正検知ECUが保持する管理情報の一例を示す図である。 実施の形態1に係るサーバの構成図である。 実施の形態1に係る不正検知ECUによる不正フレームの検知及び伝送阻止のシーケンスの一例を示す図である。 実施の形態1に係る不正検知ECUにおける動作不良検知処理の一例を示すフローチャートである。 実施の形態1に係る不正検知ECUが送信する不正検知メッセージのフォーマットの一例を示す図である。 実施の形態1に係る不正検知ECUにおける伝送阻止機能のアクティベートに係る更新処理の一例を示すフローチャートである。 実施の形態1に係るサーバが送信するファームウェア(FW:firmware)を含む配信メッセージのフォーマットの一例を示す図である。 実施の形態2に係る車載ネットワークシステムの構成を示す図である。 実施の形態2に係る不正検知ECUの構成図である。 実施の形態2に係るサーバの構成図である。 実施の形態2に係る不正検知ECUによる不正フレームの検知及び伝送阻止のシーケンスの一例を示す図である。 実施の形態2に係る不正検知ECUにおける動作不良検知処理の一例を示すフローチャートである。 実施の形態2に係る不正検知ECUが車車間通信で送信する異常通知メッセージのフォーマットの一例を示す図である。 実施の形態2に係る不正検知ECUがサーバに送信する不正検知メッセージのフォーマットの一例を示す図である。 実施の形態2に係る不正検知ECUにおける伝送阻止機能アクティベーション処理の一例を示すフローチャートである。 実施の形態2に係るサーバにおけるディアクティベーションメッセージの送信に係る処理の一例を示すフローチャートである。 実施の形態2に係るサーバが送信するディアクティベーションメッセージのフォーマットの一例を示す図である。 実施の形態2に係る不正検知ECUにおける伝送阻止機能ディアクティベーション処理の一例を示すフローチャートである。 変形例に係るフレーム伝送阻止装置の構成図である。
 本開示の一態様に係るフレーム伝送阻止装置は、複数の電子制御ユニットがバスを介して通信するネットワークシステムにおける当該バスに接続されるフレーム伝送阻止装置であって、前記バスからフレームを受信する受信部と、フレームの伝送の阻止を許容するか否かを示す管理情報に基づいて、前記受信部により受信されたフレームが所定条件を満たす場合に当該フレームの伝送を阻止する所定処理を実行するか否かを切り替える処理部とを備えるフレーム伝送阻止装置である。このフレーム伝送阻止装置は、攻撃フレーム以外の特段の問題(例えばネットワークシステムの動作不良等)を引き起こさないフレームの伝送の阻止の抑制を実現するために有用な構成を備えている。このフレーム伝送阻止装置によれば、攻撃者により送信された攻撃フレームの伝送の阻止が可能となり、攻撃フレーム以外の特段の問題を引き起こさないフレームの伝送の阻止の抑制を実現し得る。例えば、製造段階でのネットワークシステムについて規定したルールから外れる不正なフレームが該当するように所定条件を定めてフレーム伝送阻止装置を製造して利用することが想定される。この場合において、フレーム伝送阻止装置は、その所定条件を満たすフレームの伝送を単純に阻止するのではなく、管理情報によって阻止するか否かが変更され得る。このため、フレーム伝送阻止装置の製造後においても、ネットワークシステムにおけるECUの追加等に対応して管理情報を変更すれば、追加されたECUが送信する特段の問題を引き起こさないフレームを、不正な攻撃フレームと誤検知して伝送阻止するような事態を防止できる。なお、フレーム伝送阻止装置が参照する管理情報は、例えば、フレーム伝送阻止装置外から受信されても良いし、例えば、フレーム伝送阻止装置内の記憶媒体等から読み出されても良い。
 また、前記複数の電子制御ユニットは、CAN(Controller Area Network)プロトコルに従って前記バスを介して通信し、前記所定条件を満たすフレームの伝送を阻止する前記所定処理は、前記受信部により当該フレームの最後尾のビットが受信される前にエラーフレームを前記バスへ送信する処理を含むこととしても良い。これにより、伝送阻止の対象となる所定条件を満たすフレームを管理情報に基づいて阻止することとした場合に、バス上でのそのフレームの伝送をエラーフレームの送信によって効率的に阻止することが可能となる。また、管理情報によって、特段の問題を引き起こさないフレームの伝送がエラーフレームによって阻止されることを抑制できるので、そのフレームの再送によるトラフィックの増大等といったその阻止の悪影響が抑制される。
 また、前記フレーム伝送阻止装置は、前記管理情報を記憶している記憶部と、前記記憶部に記憶された前記管理情報を更新する更新部とを備え、前記管理情報は、複数のIDそれぞれに対応して、当該IDを有し前記所定条件を満たすフレームの伝送の阻止を許容するか否かを示すフラグ情報を含み、前記処理部は、前記受信部により受信されたフレームが前記所定条件を満たす場合において、当該フレームのIDに対応する前記フラグ情報が当該フレームの伝送の阻止を許容することを示すときには前記所定処理を実行し、当該フレームのIDに対応する前記フラグ情報が当該フレームの伝送の阻止を許容しないことを示すときには前記所定処理を実行しないこととしても良い。これにより、例えばフレームの内容であるデータの種別等を識別する、フレームが有するID(identifier)毎に、フレームの伝送阻止を許容するか否かを変更することが可能となる。
 また、前記管理情報における前記複数のIDそれぞれに対応するフラグ情報は、前記更新部による更新が一度もなされていない状態では、フレームの伝送の阻止を許容しないことを示すこととしても良い。これにより、フレームの伝送の阻止による弊害が抑制され得る。例えば、更新部に、ネットワークシステムに追加されたECUが送信するフレームと同じIDのフレームによりネットワークシステム等に動作不良等の異常が生じた場合にそのIDに対応するフラグ情報を、伝送阻止を許容することを示すように更新させるような運用が想定される。この例では、動作不良等の異常が生じない限りそのフレームの伝送が阻止されないので、阻止による弊害が生じない。
 また、前記フラグ情報は、1ビットの情報であることとしても良い。これにより、ID毎のフラグ情報を含む管理情報の記憶に必要な記憶媒体の容量を小さく抑えることが可能となる。
 また、前記更新部は、前記フレーム伝送阻止装置が外部から受信した指示情報に応じて前記管理情報を更新することとしても良い。これにより、フレーム伝送阻止装置に対して、ネットワークシステム内の電子制御ユニット等の装置或いはネットワークシステム外の装置等から必要に応じて指示情報を与えてフレームの伝送阻止機能の実行を制御することが可能となる。この場合には、フレーム伝送阻止装置は、例えば管理情報を更新すべきか否かを適切に判定するための構成を有さなくても良い。
 また、前記ネットワークシステムは、車載ネットワークシステムであり、前記複数の電子制御ユニットと前記バスと前記フレーム伝送阻止装置とは車両に搭載され、前記更新部は、前記車両の外に所在する外部装置が送信した前記指示情報に応じて前記管理情報を更新することとしても良い。これにより、車両の外部のサーバ装置、他の車両等によって、必要に応じて指示情報を与えてフレームの伝送阻止機能の実行を制御することが可能となる。例えば、フレーム伝送阻止装置によるフレームの伝送阻止機能の実行を、複数の車両から情報を収集して分析することで適切に指示情報を決定するサーバ装置等により制御するような運用が可能となる。指示情報として、例えば、フレーム伝送阻止装置におけるフレームの伝送阻止機能をアクティベートする指示つまり伝送阻止を許容するようにする指示、或いは、伝送阻止機能をディアクティベートする指示つまり伝送阻止を許容しないようにする指示等が想定される。
 また、前記更新部は、前記外部装置が送信した前記指示情報が、所定IDを有するフレームの伝送の阻止を許容しない指示を示す場合には、前記外部装置が所定権限を有することの認証が成功していることを条件として、前記管理情報における前記所定IDに対応するフラグ情報を、前記所定IDを有するフレームの伝送の阻止を許容しないことを示すように更新し、前記指示情報が、前記所定IDを有するフレームの伝送の阻止を許容する指示を示す場合には、前記外部装置が前記所定権限を有するか否かに拘わらず、前記管理情報における前記所定IDに対応するフラグ情報を、前記所定IDを有するフレームの伝送の阻止を許容することを示すように更新することとしても良い。これにより、攻撃者による攻撃の可能性に鑑みて防御のためにフレームの伝送阻止を一旦許容したような場合において、その許容を止めるためには所定権限を必要とするので、ネットワークシステムのセキュリティが高まる。
 また、前記フレーム伝送阻止装置は更に、前記処理部が一のIDを有するフレームの伝送を阻止する前記所定処理を実行する場合に、当該一のIDを有するフレームの伝送の阻止を許容する指示を示す、他の車両向けの指示情報を送信する通信部を備えることとしても良い。このフレーム伝送阻止装置は、例えば、自装置が搭載された車両の車載ネットワークシステムに対して、攻撃者による攻撃フレームの送信がなされた場合に、指示情報の送信により、同様のフレーム伝送阻止装置を搭載した他の車両を同様の攻撃から保護し得る。
 また、前記フレーム伝送阻止装置は更に、前記受信部により受信されたフレームが前記所定条件を満たす場合に、当該フレームに関する情報を含む分析用情報を前記外部装置に送信する通信部を備えることとしても良い。これにより、例えば、所定条件を満たすフレームの伝送が特段の問題を引き起こすことになるか否かの判別のための分析に必要な分析用情報を外部装置に送信できる。例えば、外部装置であるサーバ装置等によって複数の車両から分析用情報を収集して分析することで適切に指示情報を決定するような運用が可能となる。分析用情報を活用した結果として外部装置が指示情報を送信すれば、フレーム伝送阻止装置は、その指示情報を受信して管理情報を更新し得る。
 また、前記更新部は、前記受信部により受信されたフレームが前記所定条件を満たし、かつ、当該フレームのIDに対応する前記フラグ情報が当該フレームの伝送の阻止を許容しないことを示す場合において、当該フレームのIDとは異なる特定IDを有する、前記受信部で受信されたフレームに基づいて異常の発生を検出したときには、当該フラグ情報を、前記阻止を許容することを示すように更新することとしても良い。これにより、所定条件を満たすフレームの伝送がバスを流れる他の種類のフレームに異常をもたらしているような、特段の問題を引き起こすフレームの伝送を、フレーム伝送阻止装置が適切に阻止し得る。例えば、製造段階等でネットワークシステムにおいて用いられるフレームのIDを特定IDとして用いるようにフレーム伝送阻止装置を製造することが想定される。また、例えば、製造段階等でネットワークシステムにおいて重要なデータに係るフレームのIDが規定されている場合にそのIDを特定IDとして用いることが想定される。
 また、前記更新部は、前記受信部により受信されたフレームが前記所定条件を満たし、かつ、当該フレームのIDに対応する前記フラグ情報が当該フレームの伝送の阻止を許容しないことを示す場合において、前記複数の電子制御ユニットのうち予め定められた特定の電子制御ユニットが異常であることを検出したときには、当該フラグ情報を、前記阻止を許容することを示すように更新することとしても良い。これにより、所定条件を満たすフレームの伝送が特定のECUに異常をもたらしているような、特段の問題を引き起こすフレームの伝送を、フレーム伝送阻止装置が適切に阻止し得る。例えば、製造段階等でネットワークシステムが備えるECUを特定のECUとして用いるようにフレーム伝送阻止装置を製造することが想定される。また、例えば、ネットワークシステムにおいて重要なECU、例えば車載ネットワークシステムであれば車両の走行制御に関わるECUを、特定のECUとして用いることが想定される。
 また、前記所定条件は、フレームのIDについての条件であり、前記処理部は、前記受信部により受信されたフレームのIDが前記所定条件を満たす場合において前記管理情報に基づいて前記所定処理を実行するか否かを切り替えることとしても良い。これにより、例えば、構築されたネットワークシステムで利用されないフレームのIDつまり不正と推定されるID群等を示すように所定条件を定めておくと、管理情報に基づいて、攻撃者によってバスに送信された攻撃フレームの伝送阻止が実現され得る。この攻撃フレームの伝送阻止により、ネットワークシステムのセキュリティが確保される。
 また、前記複数の電子制御ユニットは、CAN(Controller Area Network)プロトコルに従って前記バスを介して通信し、前記所定条件は、フレームとしてのデータフレームのDLC(Data Length Code)についての条件であり、前記処理部は、前記受信部により受信されたフレームのDLCが前記所定条件を満たす場合において前記管理情報に基づいて前記所定処理を実行するか否かを切り替えることとしても良い。これにより、例えば、構築されたネットワークシステムで利用されないDLCつまり不正と推定されるDLCを示すように所定条件を定めておくと、管理情報に基づいて、攻撃者によってバスに送信された、そのDLCを含む攻撃フレームの伝送阻止が実現され得る。
 また、前記複数の電子制御ユニットは、CAN(Controller Area Network)プロトコルに従って前記バスを介して通信し、前記所定条件は、フレームとしてのデータフレームのデータフィールド内のデータについての条件であり、前記処理部は、前記受信部により受信されたフレームのデータフィールド内のデータが前記所定条件を満たす場合において前記管理情報に基づいて前記所定処理を実行するか否かを切り替えることとしても良い。これにより、例えば、不正と推定されるデータを示すように所定条件を定めておくと、管理情報に基づいて、攻撃者によってバスに送信された、そのデータを含む攻撃フレームの伝送阻止が実現され得る。
 また、前記所定条件は、フレームに適正なメッセージ認証コードが含まれない場合に満たされる条件であることとしても良い。これにより、管理情報に基づいて、攻撃者によってバスに送信された、適正なメッセージ認証コードを含まない攻撃フレームの伝送阻止が実現され得る。
 また、前記複数の電子制御ユニットは、CAN(Controller Area Network)プロトコルに従って前記バスを介して通信し、前記所定条件を満たすフレームの伝送を阻止する前記所定処理は、当該フレームが伝送されている際にドミナント信号を前記バスへ送信する処理を含むこととしても良い。これにより、伝送阻止の対象となる所定条件を満たすフレームを管理情報に基づいて阻止することとした場合に、バス上でのそのフレームの完全な状態での伝送を、ドミナント信号の送信でそのフレームの内容を上書きして改変することによって阻止し得る。バス上のフレームの内容の改変は、例えば受信エラー等を引き起こし、受信ノードのECUにおいてそのフレームを正常なフレームと同様に処理することが防止され得る。
 また、本開示の一態様に係るフレーム伝送阻止方法は、複数の電子制御ユニットがバスを介して通信するネットワークシステムで用いられるフレーム伝送阻止方法であって、前記バスからフレームを受信する受信ステップと、フレームの伝送の阻止を許容するか否かを示す管理情報に基づいて、前記受信ステップで受信されたフレームが所定条件を満たす場合に当該フレームの伝送を阻止する所定処理を実行するか否かを切り替える処理ステップとを含むフレーム伝送阻止方法である。これにより、管理情報に基づいてフレームの伝送阻止に係る所定処理の実行が制御されるので、攻撃者により送信された攻撃フレームの伝送阻止の実現が可能となり、攻撃フレーム以外の特段の問題を引き起こさないフレームの伝送阻止の抑制の実現が可能となり得る。
 また、本開示の一態様に係る車載ネットワークシステムは、バスを介して通信する複数の電子制御ユニットを備える車載ネットワークシステムであって、前記バスからフレームを受信する受信部と、フレームの伝送の阻止を許容するか否かを示す管理情報に基づいて、前記受信部により受信されたフレームが所定条件を満たす場合に当該フレームの伝送を阻止する所定処理を実行するか否かを切り替える処理部とを備える車載ネットワークシステムである。これにより、車載ネットワークに対して攻撃者により送信された攻撃フレームの伝送阻止の実現が可能となり、攻撃フレーム以外の特段の問題を引き起こさないフレームの伝送阻止の抑制の実現が可能となり得る。
 なお、これらの全般的又は具体的な態様は、システム、方法、集積回路、コンピュータプログラム又はコンピュータで読み取り可能なCD-ROM等の記録媒体で実現されても良く、システム、方法、集積回路、コンピュータプログラム又は記録媒体の任意な組み合わせで実現されても良い。
 以下、実施の形態に係るフレーム伝送阻止方法を用いるフレーム伝送阻止装置を含む車載ネットワークシステムについて、図面を参照しながら説明する。ここで示す実施の形態は、いずれも本開示の一具体例を示すものである。従って、以下の実施の形態で示される数値、構成要素、構成要素の配置及び接続形態、並びに、処理の要素としてのステップ及びステップの順序等は、一例であって本開示を限定するものではない。以下の実施の形態における構成要素のうち、独立請求項に記載されていない構成要素については、任意に付加可能な構成要素である。また、各図は、模式図であり、必ずしも厳密に図示されたものではない。
 (実施の形態1)
 以下、本開示の実施の形態1として、CANプロトコルに従って通信を行う複数のECUと、不正と検知したデータフレームの伝送を阻止する機能を有するフレーム伝送阻止装置としての不正検知ECUとを含む車載ネットワークシステム10について、図面を用いて説明する。
 [1.1 車載ネットワークシステム10の構成]
 図1は、車両に搭載された車載ネットワークシステム10の構成を示す図である。なお、同図には、他の車両及び車外のサーバ500を付記している。
 車載ネットワークシステム10は、CANプロトコルに従って通信するネットワークシステムの一例であり、制御装置、センサ、アクチュエータ、ユーザインタフェース装置等の各種機器が搭載された車両(例えば自動車)におけるネットワークシステムである。車載ネットワークシステム10は、バス(ネットワークバス)を介してフレームに係る通信を行う複数のECUを備え、一定条件下でフレームの伝送を阻止するフレーム伝送阻止方法を用いる。具体的には図1に示すように車載ネットワークシステム10は、バス200と、バス200に接続されたECU100a~100d及び不正検知ECU400と、通信モジュール600とを含んで構成される。なお、車載ネットワークシステム10には、不正検知ECU400及びECU100a~100d以外にもいくつものECUが含まれ得るが、ここでは、便宜上、不正検知ECU400及びECU100a~100dに注目して説明を行う。ECU100aをエンジンECU100aとも称し、ECU100bをブレーキECU100bとも称し、ECU100cをドア開閉センサECU100cとも称し、ECU100dをウィンドウ開閉センサECU100dとも称する。
 各ECUは、例えば、プロセッサ(マイクロプロセッサ)、メモリ等のデジタル回路、アナログ回路、通信回路等を含む装置である。メモリは、ROM、RAM等であり、プロセッサにより実行されるプログラム(コンピュータプログラム)を記憶することができる。例えばプロセッサが、プログラムに従って動作することにより、ECUは各種機能を実現することになる。なお、コンピュータプログラムは、所定の機能を達成するために、プロセッサに対する指令を示す命令コードが複数個組み合わされて構成されたものである。各ECUは、CANプロトコルに従って、バス200を介してフレームの授受を行い得る。ECU間で授受されるフレームにはデータフレームがある。データフレームは、例えば、車両の状態に関するデータ、車両に対して制御を指示するデータ等といった、車両の制御のために用いられるデータ等を含み得る。各ECUは、各種機器に接続され得る。エンジンECU100aは、エンジン310と接続されており、エンジン310の状態を示すデータフレームを周期的にバス200に送信する。ブレーキECU100bは、ブレーキ320と接続されており、ブレーキ320の状態を示すデータフレームを周期的にバス200に送信する。ドア開閉センサECU100cは、ドア開閉センサ330と接続されており、ドア開閉センサ330により検知されたドアの開閉状態を示すデータフレームを周期的にバス200に送信する。また、ウィンドウ開閉センサECU100dは、ウィンドウ開閉センサ340と接続されており、ウィンドウ開閉センサ340により検知されたウィンドウの開閉状態を示すデータフレームを周期的にバス200に送信する。
 不正検知ECU400は、フレーム伝送阻止装置として機能する一種のECUであり、バス200に接続される。不正検知ECU400は、バス200に流れるデータフレームを監視し、予め定められた不正なフレームに関する所定条件を満たすデータフレームを検知した場合に、所定の管理情報に基づいてそのフレームの伝送を阻止する所定処理を実行する機能(伝送阻止機能と称する)を有する。
 通信モジュール600は、サーバ500と通信するための通信回路を含むモジュールであり、不正検知ECU400にUSB(Universal Serial Bus)等のインタフェースにより直接接続している。
 車載ネットワークシステム10は、複数の車両それぞれに搭載され得る。
 サーバ500は、複数の車両と通信し得る、車両外部に所在するサーバ装置としてのコンピュータである。例えば、サーバ500と複数の車両とで車両管理システムを形成している。サーバ500は、有線又は無線の通信網を介して、複数の車両それぞれにおける不正検知ECU400に接続された通信モジュール600と通信する。サーバ500は、不正検知ECU400のファームウェア(FW)を更新するために、不正検知ECU400に対して、更新用のFWを含む配信メッセージを送信する機能を有する。
 [1.2 データフレームフォーマット]
 以下、CANプロトコルに従ったネットワークで用いられるデータフレームについて説明する。
 図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)で構成される。
 SOFは、1bitのドミナントで構成される。バスがアイドルの状態はレセシブになっており、SOFによりドミナントへ変更することが、フレームの送信開始の通知となる。
 IDフィールドは、11bitで構成される、データの種類を示す値であるIDを格納するフィールドである。複数のノードが同時に送信を開始した場合、このIDフィールドで通信調停を行うために、IDが小さい値を持つフレームが高い優先度となるよう設計されている。
 RTRは、データフレームとリモートフレームとを識別するための値であり、データフレームにおいてはドミナント1bitで構成される。
 IDEと「r」とは、両方ドミナント1bitで構成される。
 DLCは、4bitで構成され、データフィールドの長さを示す値である。
 データフィールドは、最大64bitで構成される送信するデータの内容を示す値である。データフィールドは、8bit毎に長さを調整できる。送られるデータの仕様については、CANプロトコルで規定されておらず、車載ネットワークシステムにおいて定められる。従って、車種、製造者等に依存した仕様となる。
 CRCシーケンスは、15bitで構成される。CRCシーケンスは、SOF、IDフィールド、コントロールフィールド及びデータフィールドの送信値より算出される。
 CRCデリミタは、1bitのレセシブで構成されるCRCシーケンスの終了を表す区切り記号である。
 ACKスロットは、1bitで構成される。送信ノードはACKスロットをレセシブにして送信を行う。受信ノードはCRCシーケンスまで正常に受信ができていればACKスロットをドミナントとして送信する。レセシブよりドミナントが優先されるため、送信後にACKスロットがドミナントであれば、送信ノードは、いずれかの受信ノードが受信に成功していることを確認できる。
 ACKデリミタは、1bitのレセシブで構成されるACKの終了を表す区切り記号である。
 EOFは、7bitのレセシブで構成されており、データフレームの終了を示す。
 [1.3 エラーフレームフォーマット]
 図3は、CANプロトコルで規定されるエラーフレームのフォーマットを示す図である。エラーフレームは、エラーフラグ(プライマリ)と、エラーフラグ(セカンダリ)と、エラーデリミタ「DEL」とから構成される。
 エラーフラグ(プライマリ)は、エラーの発生を他のノードに知らせるために使用される。エラーを検知したノードはエラーの発生を他のノードに知らせるために6bitのドミナントを連続で送信する。この送信は、CANプロトコルにおけるビットスタッフィングルール(つまり連続して同じ値を6bit以上送信しないルール)に違反し、他のノードからのエラーフレーム(セカンダリ)の送信を引き起こす。
 エラーフラグ(セカンダリ)は、エラーの発生を他のノードに知らせるために使用される連続した6ビットのドミナントで構成される。エラーフラグ(プライマリ)を受信してビットスタッフィングルール違反を検知した全てのノードがエラーフラグ(セカンダリ)を送信することになる。
 エラーデリミタ「DEL」は、8bitの連続したレセシブであり、エラーフレームの終了を示す。
 [1.4 ECU100aの構成]
 図4は、ECU100aの構成図である。ECU100aは、フレーム送受信部110と、フレーム解釈部120と、受信ID判断部130と、受信IDリスト保持部140と、フレーム処理部150と、フレーム生成部160と、データ取得部170とを含んで構成される。これらの各構成要素は、機能的な構成要素であり、その各機能は、例えばECU100aにおける通信回路、メモリに格納されたプログラムを実行するプロセッサ或いはデジタル回路等により実現される。なお、ECU100b~100dも、ECU100aと同様の構成を備える。
 フレーム送受信部110は、バス200に対して、CANのプロトコルに従ったフレームを送受信する。バス200からフレームを1bitずつ受信し、フレーム解釈部120に転送する。また、フレーム生成部160より通知を受けたフレームの内容をバス200に送信する。通信調停といったCANのプロトコルに則った処理も、フレーム送受信部110において実現される。
 フレーム解釈部120は、フレーム送受信部110よりフレームの値を受け取り、CANプロトコルで規定されているフレームフォーマットにおける各フィールドにマッピングするよう解釈を行う。IDフィールドと判断した値は受信ID判断部130へ転送する。フレーム解釈部120は、受信ID判断部130から通知される判定結果に応じて、IDフィールドの値と、IDフィールド以降に現れるデータフィールドとを、フレーム処理部150へ転送するか、或いは、その判定結果を受けた以降においてフレームの受信を中止する(つまりそのフレームとしての解釈を中止する)かを、決定する。また、フレーム解釈部120は、CANプロトコルに則っていないフレームと判断した場合は、エラーフレームを送信するようにフレーム生成部160へ通知する。また、フレーム解釈部120は、エラーフレームを受信した場合、つまり受け取ったフレームにおける値からエラーフレームになっていると解釈した場合には、それ以降はそのフレームを破棄する、つまりフレームの解釈を中止する。
 受信ID判断部130は、フレーム解釈部120から通知されるIDフィールドの値を受け取り、受信IDリスト保持部140が保持しているIDのリストに従い、そのIDフィールド以降のフレームの各フィールドを受信するかどうかの判定を行う。この判定結果を、受信ID判断部130は、フレーム解釈部120へ通知する。
 受信IDリスト保持部140は、ECU100aが受信するIDのリストである受信IDリストを保持する。図5に、受信IDリストの一例を示す。
 フレーム処理部150は、受信したフレームのデータに応じてECU毎に異なる機能に係る処理を行う。例えば、エンジンECU100aは、時速が30kmを超えた状態でドアが開いている状態だと、アラーム音を鳴らす機能を備える。エンジンECU100aは、例えばアラーム音を鳴らすためのスピーカ等を有している。そして、エンジンECU100aのフレーム処理部150は、例えば、他のECUから受信したデータ(例えばドアの状態を示す情報)を管理し、エンジン310から取得された時速に基づいて一定条件下でアラーム音を鳴らす処理等を行う。ECU100aと同様の構成を備えるECU100cのフレーム処理部150は、ブレーキがかかっていない状況でドアが開くとアラーム音を鳴らす処理等を行う。なお、フレーム処理部150は、ここで例示した以外のフレームのデータに係る処理を行っても良い。
 データ取得部170は、ECUに繋がっている機器、センサ等の状態を示すデータを取得し、フレーム生成部160に通知する。
 フレーム生成部160は、フレーム解釈部120から通知されたエラーフレームの送信を指示する通知に従い、エラーフレームを構成し、エラーフレームをフレーム送受信部110へ通知して送信させる。また、フレーム生成部160は、データ取得部170より通知されたデータの値に対して、予め定められたIDをつけてデータフレームを構成し、フレーム送受信部110へ通知する。なお、ECU100a~100dのそれぞれが送信するフレームの内容については後に図6~図9を用いて説明する。
 [1.5 受信IDリスト例]
 図5は、ECU100a~100dのそれぞれにおいて保持される受信IDリストの一例を示す図である。同図に例示する受信IDリストは、IDの値が、全て(ALL)であることを示すIDリストとなっている。この例は、ECUが、いかなるIDを含むデータフレームも、バス200から受信する例を示している。
 [1.6 エンジンECU100aの送信フレーム例]
 図6は、エンジン310に接続されたエンジンECU100aから送信されるデータフレームにおけるID及びデータフィールドのデータの一例を示す図である。エンジンECU100aが送信するデータフレームのIDは「1」である。データは、時速(km/時)を表し、最低0(km/時)~最高180(km/時)までの範囲の値を取り、データ長は1byteである。図6の上行から下行へと、エンジンECU100aから逐次送信される各データフレームに対応する各ID及びデータを例示しており、0km/時から1km/時ずつ加速されている様子を表している。
 [1.7 ブレーキECU100bの送信フレーム例]
 図7は、ブレーキ320に接続されたブレーキECU100bから送信されるデータフレームにおけるID及びデータフィールドのデータの一例を示す図である。ブレーキECU100bが送信するデータフレームのIDは「2」である。データは、ブレーキのかかり具合を割合(%)で表し、データ長は1byteである。この割合は、ブレーキを全くかけていない状態を0(%)、ブレーキを最大限かけている状態を100(%)としたものである。図7の上行から下行へと、ブレーキECU100bから逐次送信される各データフレームに対応する各ID及びデータを例示しており、100%から徐々にブレーキを弱めている様子を表している。
 [1.8 ドア開閉センサECU100cの送信フレーム例]
 図8は、ドア開閉センサ330に接続されたドア開閉センサECU100cから送信されるデータフレームにおけるID及びデータフィールド(データ)の一例を示す図である。ドア開閉センサECU100cが送信するデータフレームのIDは「3」である。データは、ドアの開閉状態を表し、データ長は1byteである。データの値は、ドアが開いている状態が「1」、ドアが閉まっている状態が「0」である。図8の上行から下行へと、ドア開閉センサECU100cから逐次送信される各データフレームに対応する各ID及びデータを例示しており、ドアが開いている状態から次第に閉められた状態へと移った様子を表している。
 [1.9 ウィンドウ開閉センサECU100dの送信フレーム例]
 図9は、ウィンドウ開閉センサ340に接続されたウィンドウ開閉センサECU100dから送信されるデータフレームにおけるID及びデータフィールド(データ)の一例を示す図である。ウィンドウ開閉センサECU100dが送信するデータフレームのIDは「4」である。データは、窓(ウィンドウ)の開閉状態を割合(%)で表し、データ長は1byteである。この割合は、窓が完全に閉まっている状態を0(%)、窓が全開の状態を100(%)としたものである。図9の上行から下行へと、ウィンドウ開閉センサECU100dから逐次送信される各データフレームに対応する各ID及びデータを例示しており、窓が閉まっている状態から徐々に開いていく様子を表している。
 [1.10 不正検知ECU400の構成]
 図10は、不正検知ECU400の構成図である。不正検知ECU400は、フレーム送受信部410と、フレーム解釈部420と、不正検知処理部430、不正検知ルール保持部431、状態確認部440と、状態保持部441と、フレーム生成部450と、更新処理部460と、外部通信部470と、署名処理部480と、鍵保持部481と、車種情報保持部491と、車台番号情報保持部492とを含んで構成される。これらの各構成要素の各機能は、例えば不正検知ECU400における通信回路、メモリに格納されたプログラムを実行するプロセッサ或いはデジタル回路等により実現される。
 フレーム送受信部410は、バス200に対して、CANプロトコルに従ったフレームを送受信する。フレーム送受信部410は、バスからフレームを1bitずつ受信する受信部として機能し、受信したフレームをフレーム解釈部420に転送する。また、フレーム生成部450より通知を受けたフレームに基づいて、そのフレームの内容をバス200に1bitずつ送信する。
 フレーム解釈部420は、フレーム送受信部410より受信されたフレームの値を受け取り、CANプロトコルで規定されているフレームフォーマットにおける各フィールドにマッピングするよう解釈を行う。フレーム解釈部420は、受信されたデータフレームにおけるIDフィールドと判断した値つまりIDを、不正検知処理部430へ転送する。また、フレーム解釈部420は、CANプロトコルに則っていないフレームと判断した場合は、エラーフレームを送信するようにフレーム生成部450へ通知する。また、フレーム解釈部420は、エラーフレームを受信した場合、つまり受け取ったフレームにおける値からエラーフレームになっていると解釈した場合には、それ以降はそのフレームを破棄する、つまりフレームの解釈を中止する。
 不正検知処理部430は、フレーム解釈部420から通知されるIDフィールドの値を受け取り、つまり不正検知ECU400が受信したデータフレームのIDを受け取る。不正検知処理部430は、受け取ったIDについて不正か否かの判定を、不正検知ルール保持部431に保持している不正検知ルールを表す正規IDリストに従って行う。不正検知処理部430は、不正と判定した場合つまり不正を検知した場合に、状態確認部440へ通知する。不正検知ECU400では、不正検知処理部430で不正と検知されたIDを有する受信中のデータフレームが、不正なデータフレームと検知されることになる。なお、検知された不正なデータフレームは、予め定められて不正検知ルール保持部431に保持された不正検知ルールに基づいて、不正と判定されたものに過ぎない。不正検知ルールは、例えば、不正である可能性が高いデータフレームをその他のデータフレームと区別して不正を検知するために規定され得る。不正検知ルールは、例えば、完全に誤検知が生じないように規定されなくても、攻撃の防御を安全に行う見地から規定されても良い。また、車載ネットワークシステム10へのECUの追加その他の状況の変化によって、不正か否かを的確に区別することが困難となり得る。このため、不正検知ルールに基づいて不正と判定されたデータフレームは、例えば不正と推定されるものの、必ずしも車載ネットワークシステム10に悪影響を及ぼすものとは限らず、必ずしもそのデータフレームのデータが不正であるとは限らない。
 不正検知ルール保持部431は、不正検知ECU400が受信するデータフレームに含まれるIDが不正か否かを示す不正検知ルールに係る情報を保持する。図11に、不正検知ルールの一例を示す。
 状態確認部440は、不正検知処理部430によって不正なデータフレームが検知された場合に、状態保持部441が保持する管理情報が示す伝送阻止機能のアクティベートに係る状態を確認する。伝送阻止機能がアクティベートされた状態は、伝送阻止機能の実行が許容された状態、つまり不正検知処理部430によって不正と検知されたデータフレームの、車載ネットワークでの伝送の阻止が許容された状態である。伝送阻止機能がアクティベートされていない状態は、伝送阻止機能の実行が許容されていない状態、つまり不正検知処理部430によって不正と検知されたデータフレームの、車載ネットワークでの伝送の阻止が許容されていない状態である。状態確認部440は、不正なデータフレームが検知された場合に、伝送阻止機能がアクティベートされた状態であれば、フレーム生成部450へエラーフレームを送信するよう通知する。状態確認部440は、不正なデータフレームが検知された場合において、不正伝送阻止機能がアクティベートされていない状態であれば、車両の状態を確認し、動作不良等といった異常が検知されたときには、外部通信部470に、不正と検知されたデータフレームに関するログ情報を通知する。
 状態保持部441は、例えば不揮発性メモリ等の記憶媒体の一領域で実現され、伝送阻止機能のアクティベートに係る状態を示す管理情報を保持する。図12に、管理情報の一例を示す。
 フレーム生成部450は、フレーム解釈部420から通知されたエラーフレームの送信を指示する通知に従い、エラーフレームを構成し、エラーフレームをフレーム送受信部410へ通知して送信させる。また、フレーム生成部450は、状態確認部440から通知されたエラーフレームの送信を指示する通知に従い、エラーフレームを構成し、エラーフレームをフレーム送受信部410へ通知して送信させる。
 更新処理部460は、更新処理を行う。更新処理は、外部通信部470からFWを取得して、FWによって状態保持部441が保持する管理情報の更新を行う処理である。なお、更新処理部460は、外部通信部470から取得したFWによって、管理情報に加えて或いは管理情報の代わりに、不正検知ルールの更新を行うこととしても良い。更新処理部460でのFWによる管理情報の更新は、例えば、プロセッサに、管理情報を更新するためのFWを実行させることで実現され、或いは、新たな管理情報の内容を示すデータを含むFWのそのデータを、状態保持部441に管理情報として保持させることで実現される。
 外部通信部470は、通信モジュール600を介してサーバ500と通信し、配信メッセージを取得する。外部通信部470は、取得した配信メッセージを署名処理部480へ通知して配信メッセージの署名の検証結果を取得し、検証が成功していれば配信メッセージにおけるFWを更新処理部460へ通知する。また、外部通信部470は、状態確認部440から通知されたデータフレームに関するログ情報に、車種情報保持部491より取得した車種情報と、車台番号情報保持部492より取得した車台番号情報とを付加して、署名なし不正検知メッセージを生成する。不正検知メッセージは、不正と検知されたデータフレームに関するログ情報を含み、例えば車載ネットワークシステム10に異常が生じているか否か等について、サーバ500で分析されるべき分析用情報である。外部通信部470は、署名なし不正検知メッセージを、署名処理部480に通知して署名データを取得することで署名付きの不正検知メッセージに変換し、その署名付きの不正検知メッセージを、通信モジュール600を介してサーバ500へと送信する。
 署名処理部480は、外部通信部470から通知された署名付きの配信メッセージを、鍵保持部481から取得する鍵を用いて検証し、検証結果を外部通信部470へ通知する。また、署名処理部480は、外部通信部470から通知された署名なし不正検知メッセージに対して、鍵保持部481から取得する鍵を用いて署名データを生成し、生成した署名データを外部通信部470へ通知する。
 鍵保持部481は、署名処理部480が利用する鍵を保持する。
 車種情報保持部491は、不正検知ECU400を搭載している車両の車種を示す車種情報を保持する。
 車台番号情報保持部492は、不正検知ECU400を搭載している車両の識別用の情報としての車台番号情報を保持する。車台番号情報は、例えば、車両形式と製造番号とを示す。
 [1.11 不正検知ルール]
 図11は、不正検知ECU400の不正検知ルール保持部431が保持する不正検知ルールの一例を示す。
 同図の例の不正検知ルールに係る正規IDリストは、所謂ホワイトリストである。この例の正規IDリストは、バス200に、「1」、「2」、「3」、「4」のいずれかであるIDを有するデータフレームが送信されても不正と判定されず、その他のIDを有するデータフレームが送信されると不正と判定(つまり不正と検知)されるという不正検知ルールを表す。
 [1.12 管理情報]
 図12は、不正検知ECU400の状態保持部441が保持する管理情報の一例を示す。管理情報は、伝送阻止機能の実行が許容されているか否かを示す情報である。
 図12の例では、管理情報は、データフレームのID毎に、そのIDを有するデータフレームが不正検知ルールによって不正と検知された場合にそのデータフレームの伝送を阻止する伝送阻止機能を実行が許容されるか否かを示すフラグ情報を対応付けている。
 フラグ情報は、例えば1ビットで構成され、例えば、ビット値が1であれば伝送阻止機能の実行が許容されることを示し、ビット値が0であれば伝送阻止機能の実行が許容されないことを示す。一例としては、更新処理部460による管理情報の更新が一度もなされていない状態では、フラグ情報が、データフレームの伝送の阻止を許容しないことを示すようにしても良い。
 図12の例では、ID「1」用フラグ情報は、ビット値が0であって、伝送阻止機能の実行が許容されていない状態を示している。これは、ID「1」のデータフレームについては不正検知ECU400の伝送阻止機能がアクティベートされていない状態を表す。また、図12の例では、ID「5」用フラグ情報は、ビット値が1であって、伝送阻止機能の実行が許容されている状態を示している。これは、ID「5」のデータフレームについては不正検知ECU400の伝送阻止機能がアクティベートされた状態を表す。また、例えば図12の例でID「6」用フラグ情報のビット値が0であることは、バス200に流れるID「6」のデータフレームが不正と検知された場合においてそのデータフレームの伝送の阻止が許容されないことを意味する。例えば、ID「6」用フラグ情報のビット値を1に変化させると、バス200に流れるID「6」のデータフレームが不正と検知された場合においてそのデータフレームの伝送の阻止が許容されることになる。
 なお、フラグ情報のビット値の0と1との意味を逆にしても良いし、フラグ情報を複数ビット列で構成しても良い。また、管理情報は、不正検知ルールによって不正と検知されたデータフレームが、いかなるIDを有する場合であっても一括して、伝送阻止機能を実行するか否かを切り替えるための1つのフラグ情報だけで構成されても良い。
 [1.13 サーバ500の構成]
 サーバ500は、メモリ、ハードディスク等の記憶媒体、プロセッサ、通信回路等を含む。
 図13は、サーバ500の構成図である。サーバ500は、機能面の構成要素として、通信部510と、分析部520と、FW保持部530と、配信メッセージ生成部540と、署名処理部550と、鍵保持部560とを含んで構成される。これらの各構成要素は、サーバ500における通信回路、メモリに格納されたプログラムを実行するプロセッサ等により実現される。
 通信部510は、配信メッセージ生成部540から伝えられた配信メッセージを、車両に対して送信する。この配信メッセージは、車両の通信モジュール600で受信され、不正検知ECU400に伝えられる。また、通信部510は、車両の不正検知ECU400から通信モジュール600を介して送信された不正検知メッセージを受信し、分析部520へ通知する。
 分析部520は、通知された不正検知メッセージを署名処理部550へ通知して不正検知メッセージの署名の検証結果を取得する。また、分析部520は、署名検証に成功した不正検知メッセージである分析用情報に含まれる、不正と検知されたデータフレームに関するログ情報を分析することで、車両の動作不良等といった車載ネットワークシステム10に係る異常を引き起こす不正なデータフレームであるか否かを判断する。分析部520は、不正と検知されたデータフレームが異常を引き起こす不正なデータフレームであると判断した場合には、同様のデータフレームが不正検知ECU400で不正と検知された際にそのデータフレームの伝送を阻止する伝送阻止機能をアクティベートするFWを生成する。分析部520は、その生成したFWをFW保持部530へ保持させる。なお、不正検知ECU400が、分析用情報に含ませる、不正と検知されたデータフレームに関するログ情報は、例えば、そのデータフレームの内容、そのデータフレームと同一IDのデータフレームの受信周期或いは受信頻度、そのデータフレームの受信の後の一定時間の間に車両の監視により得られた、車両の状態に係るログデータを含み得る。車両の監視により得られたログデータの一例は、例えば、バス200から受信された各種のデータフレームの内容と受信時刻等といった情報等である。なお、分析部520は、不正と検知されたデータフレームに関するログ情報を分析することで、車両の動作不良等といった車載ネットワークシステム10に係る異常を引き起こす不正なデータフレームを1つ又は複数特定することとしても良い。この場合には、分析部520は、異常を引き起こす不正なデータフレームとして特定したデータフレームと同様のデータフレームが不正検知ECU400で不正と検知された際にそのデータフレームの伝送を阻止する伝送阻止機能をアクティベートするFWを生成する。
 FW保持部530は、不正検知ECU400に配信するFWを保持する。
 配信メッセージ生成部540は、不正検知ECU400へ配信するFWを含ませた配信メッセージを生成し、署名処理部550に通知して署名データを生成させることで、署名付き配信メッセージを得て、署名付き配信メッセージを、通信部510へ伝える。
 署名処理部550は、分析部520から通知された署名付きの不正検知メッセージの署名を、鍵保持部560から取得する鍵を用いて検証し、検証結果を分析部520へと通知する。また、署名処理部550は、配信メッセージ生成部540より通知された配信メッセージに対して、鍵保持部560から取得する鍵を用いて署名データを生成し、生成した署名データを配信メッセージ生成部540へ通知する。
 鍵保持部560は、署名処理部550が利用する鍵を保持する。
 [1.14 不正フレームの検知及び伝送阻止のシーケンス]
 図14は、不正検知ECU400による不正フレームの検知及び伝送阻止のシーケンスの一例を示す。この例は、車載ネットワークシステム10のバス200に、攻撃者に支配された不正ECUが接続されていることを想定した例となっている。図14では、不正検知ECU400及びECU100aの動作を示すが、例えばECU100b~100dもECU100aと同様の動作を行い得る。以下、図14に即して、不正フレームの検知及び伝送阻止のシーケンスについて説明する。なお、ここでは、不正検知ECU400は、図11で例示した正規IDリストを保持しているものとして説明する。
 不正ECUは、ID「5」を有しデータフィールドのデータが「0xFF」であるデータフレームのバス200への送信を開始する(ステップS1001)。なお、バス200へのデータフレームの送信は、バス200に接続された各ECUがそのデータフレームを受信可能となるブロードキャストとなる。
 不正検知ECU400及びECU100aは、データフレームのIDを受信する(ステップS1002)。
 ECU100aは、受信IDリスト(図5参照)を使って、バス200から受信したIDがデータフィールドの内容を受信すべきデータフレームのIDであるか否かを判定する(ステップS1003)。ECU100aは、受信IDリストに従って、ID「5」のデータフレームのデータフィールドの受信をするデータフィールド受信処理を継続する(ステップS1004)。
 不正検知ECU400は、不正検知ルールに係る正規IDリストに従って、バス200から受信したIDが不正なデータフレームのIDであるか否かを判定する(ステップS1005)。不正検知ECU400は、正規IDリストにID「5」が含まれていないことから、受信したID「5」を有する受信中のデータフレームが不正と判定して、ステップS1006に進む。もし、正規IDリストにID「5」が含まれていれば、不正検知ECU400は、受信中のデータフレームを不正でないと判定して処理を終了する。
 ステップS1006で、不正検知ECU400は、管理情報を参照して、伝送阻止機能がアクティベートされているか否かを判定する。
 ステップS1006で伝送阻止機能がアクティベートされていないと判定した場合には、不正検知ECU400は、動作不良検知処理を行う(ステップS1007)。動作不良検知処理については、後に図15を用いて説明する。
 不正検知ECU400は、例えば図12で例示した内容の管理情報を保持している場合においては、ID「5」を有するデータフレームについての伝送の阻止が許容され、つまりそのデータフレームについての伝送阻止機能がアクティベートされていると判定する。
 ステップS1006で伝送阻止機能がアクティベートされていると判定した場合には、不正検知ECU400は、エラーフレームを生成し(ステップS1008)、エラーフレームをバス200に送信する(ステップS1009)。これにより、ID「5」を有するデータフレームの受信中においてエラーフレームがバス200にブロードキャストされるので、そのデータフレームの伝送が阻止されることになる。なお、ステップS1009では、ステップS1005で不正と判定されたデータフレームの伝送を阻止するためのエラーフレームのバス200への送信は、そのデータフレームの最後尾のビットが受信される前に行なわれる。
 エラーフレームを受信したECU100aは、受信中のデータフレームのデータフィールドの受信を中止する(ステップS1010)。不正検知ECU400が送信したエラーフレームにより、バス200に接続された各ECUでは、不正ECUが送信したデータフレームの受信が中断されることになる。このため、例えば、ECU100aがその不正なデータフレームの内容に従ってエンジン310を制御すること等が、防止される。
 [1.15 不正検知ECU400における動作不良検知処理]
 図15は、不正検知ECU400における動作不良検知処理の一例を示す。以下、同図に即して動作不良検知処理を説明する。
 不正検知ECU400は、不正なデータフレームを検知した後に、一定時間、車両の動作不良(つまり異常)の検知のための監視を行う(ステップS1101)。この一定時間の車両の監視により車両の状態に係るログデータが得られる。
 車両の動作不良の一例は、特定IDを有するデータフレームが、通常は略一定周期でバス200に流れるのに、その周期で送信されていないことである。この他、車両の動作不良の一例として、バス200を流れる特定IDを有するデータフレームのデータの値、受信頻度等が、仕様或いは通常とは異なることが挙げられる。この特定IDは、例えば、不正と検知されたデータフレームのIDとは異なるIDである。例えば、特定IDとして、車載ネットワークシステム10において用いられるデータフレームのうち、車両の走行制御に関連するデータ等といった重要なデータに係るデータフレームのIDを用いることは、有用である。また、車両の動作不良の一例として、車載ネットワークシステム10を構成する特定のECUの動作が仕様或いは通常と異なることが、そのECUがバス200に送信したフレーム或いは車載センサのセンシング結果等に基づき判明したことが挙げられる。
 不正検知ECU400は、ステップS1101で、動作不良が検知された場合に、通信モジュール600を介して、サーバ500へ、不正と検知されたデータフレームに関するログ情報(例えばログデータ等)を含む不正検知メッセージを送信する(ステップS1102)。
 [1.16 不正検知メッセージのフォーマット]
 図16に、不正検知ECU400がサーバ500に送信する不正検知メッセージのフォーマットの一例を示す。不正検知メッセージは、不正検知ECU400から通信モジュール600を介してサーバ500に送信される。
 図16の例では、不正検知メッセージは、車種情報、車台番号情報、発生現象情報、ログ情報、及び、署名データで構成される。発生現象情報は、例えば、検知された動作不良の種類を示す情報である。ログ情報は、不正と検知されたデータフレームの内容、そのデータフレームの受信後の一定時間にバス200に流れたデータフレームについてのログデータ等を含む。
 [1.17 不正検知ECU400における更新処理]
 図17は、不正検知ECU400における伝送阻止機能のアクティベートに係る更新処理の一例を示す。以下、同図に即して更新処理を説明する。
 不正検知ECU400は、サーバ500が送信した、更新用のFWを含む配信メッセージを受信する通信モジュール600を介して、その配信メッセージを取得する(ステップS1201)。
 続いて、不正検知ECU400は、配信メッセージに付されている署名データを検証する(ステップS1202)。
 不正検知ECU400は、配信メッセージの送信元が、正しいサーバ500であるか否かを、ステップS1202での検証結果が検証の成功を示すか否かに基づいて判定し(ステップS1203)、送信元が正しいサーバ500でない場合にはFWの更新をスキップして更新処理を終了する。
 ステップS1203で検証結果が成功を示す場合つまり送信元が正しいサーバ500である場合には、不正検知ECU400は、配信メッセージに含まれるFWによってFWの更新を行う(ステップS1204)。このFWの更新によって、例えば、管理情報が更新される。この管理情報の更新により、例えば、伝送阻止機能がアクティベートされ得る。なお、ステップS1204で、不正検知ECU400は、配信メッセージに含まれる車種情報が、自装置を搭載している車両の車種と同一であるか否かを確認して同一である場合に限ってFWの更新を行うこととしても良い。
 [1.18 配信メッセージのフォーマット]
 図18に、サーバ500が車両へと配信する配信メッセージのフォーマットの一例を示す。
 図18の例では、配信メッセージは、配信の対象となる車両の車種を示す車種情報、更新用のFW、及び、署名データで構成される。更新用のFWは、一例としては、管理情報(図12参照)における1つ以上のIDに対応するフラグ情報を更新するためのデータ或いはプログラムを含む。
 [1.19 実施の形態1の効果]
 実施の形態1に係る車両の車載ネットワークシステム10では、不正検知ECU400が、バス200を流れるデータフレームを不正と判定した場合に、管理情報により伝送阻止機能がアクティベートされた状態が示される場合にはそのデータフレームの伝送を阻止する。また、不正検知ECU400は、伝送阻止機能がアクティベートされていない状態においては、そのデータフレームの伝送を阻止しない。データフレームが不正と検知されて、動作不良が検知された車両から得た、ログ情報を分析してサーバ500が生成したFWがサーバ500から配信されることで、不正検知ECU400では、伝送阻止機能がアクティベートされ得る。サーバ500は、異常を引き起こす不正なデータフレームと判断したそのデータフレームの伝送の阻止を許容するように管理情報を更新するFWを生成する。これにより、例えば、攻撃者により車両に異常を引き起こす攻撃フレームがバス200に送信された場合に、不正検知ECU400がその攻撃フレームの伝送を阻止するようになる。また、不正検知ECU400における管理情報によって、車両に異常を引き起こさないデータフレームについては、そのデータフレームの伝送の阻止が許容されず、誤ってその伝送の阻止を行うことの悪影響が防止される。
 (実施の形態2)
 以下、実施の形態1で示した車載ネットワークシステム10を部分的に変形した車載ネットワークシステム11について説明する。車載ネットワークシステム11は、不正と判定したデータフレームの伝送を阻止する伝送阻止機能を、車車間通信によってアクティベートでき、サーバ1500からの指示によってディアクティベートできるフレーム伝送阻止装置としての不正検知ECUを備える。
 [2.1 車載ネットワークシステム11の構成]
 図19は、車両に搭載された車載ネットワークシステム11の構成を示す図である。なお、同図には、他の車両及び車外のサーバ1500を付記している。車載ネットワークシステム11は、複数の車両それぞれに搭載される。サーバ1500と複数の車両とで車両管理システムを形成している。
 車載ネットワークシステム11は、図19に示すように、バス200と、バス200に接続されたECU100a~100d及び不正検知ECU1400と、通信モジュール1600とを含んで構成される。なお、実施の形態1(図1参照)と同様の構成については、図19において図1と同一の符号を付しており、説明を省略する。ここで特に説明しない点は、車載ネットワークシステム11は実施の形態1で示した車載ネットワークシステム10と同様である。
 不正検知ECU1400は、バス200に接続される一種のECUである。不正検知ECU1400は、バス200に流れるデータフレームを監視し、予め定められた不正なフレームに関する所定条件を満たすデータフレームを検知した場合に、所定の管理情報に基づいてそのフレームの伝送を阻止する伝送阻止機能を有する。不正検知ECU1400は、ここで特に説明しない点は、実施の形態1で示した不正検知ECU400と同様である。
 車両に搭載された通信モジュール1600は、サーバ1500及び他の車両と通信するための通信回路を含むモジュールであり、不正検知ECU1400にUSB等のインタフェースにより直接接続している。各車両の通信モジュール1600間で行われる車車間通信により、各車両の不正検知ECU1400が互いにメッセージを授受し得る。車両の通信モジュール1600が実行する車車間通信は、例えば一定出力の無線送信により、その車両の周囲(例えば数十m、数百m等の距離の範囲内)に所在する他の車両にメッセージを伝達することができる。
 サーバ1500は、複数の車両と通信し得る、車両外部に所在するサーバ装置としてのコンピュータである。サーバ1500は、有線又は無線の通信網を介して、複数の車両それぞれにおける不正検知ECU1400に接続された通信モジュール1600と通信する。サーバ1500は、実施の形態1で示したサーバ500と同様に、不正検知ECU1400に対して、更新用のFWを含む配信メッセージを送信する機能を有する。サーバ1500は、更に、車両の不正検知ECU1400の伝送阻止機能をディアクティベートするためのディアクティベーションメッセージを送信する機能を有する。また、サーバ1500は、更に、ある車両から不正検知メッセージを受信した場合において、必要に応じて、その不正検知メッセージに含まれる車種情報及びアクティベート指示情報を含ませた異常通知メッセージを他の車両へと送信する機能を有する。なお、この機能は、車両による直接的な車車間通信による異常通知メッセージの伝送を補完する、アクティベート指示情報の中継機能である。
 [2.2 不正検知ECU1400の構成]
 図20は、不正検知ECU1400の構成図である。不正検知ECU1400は、フレーム送受信部410と、フレーム解釈部420と、不正検知処理部430、不正検知ルール保持部431、状態確認部1440と、状態保持部441と、フレーム生成部450と、更新処理部1460と、外部通信部1470と、署名処理部480と、鍵保持部481と、車種情報保持部491と、車台番号情報保持部492とを含んで構成される。これらの各構成要素の各機能は、例えば不正検知ECU1400における通信回路、メモリに格納されたプログラムを実行するプロセッサ或いはデジタル回路等により実現される。実施の形態1で示した不正検知ECU400(図10参照)と同様の機能を有する構成要素については、図20において同じ符号を付しており、説明を省略する。
 状態確認部1440は、実施の形態1で示した状態確認部440を変形したものである。状態確認部1440は、不正なデータフレームが検知された場合に、伝送阻止機能がアクティベートされた状態であれば、フレーム生成部450へエラーフレームを送信するよう通知する。状態確認部1440は、不正なデータフレームが検知された場合において、不正伝送阻止機能がアクティベートされていない状態であれば、車両の状態を確認する。状態確認部1440は、この確認において動作不良等といった異常が検知されたときには、サーバ1500への送信のための不正と検知されたデータフレームに関するログ情報と、他の車両におけるフレーム伝送阻止装置の伝送阻止機能のアクティベートのためのアクティベート指示情報とを、外部通信部470に通知する。このアクティベート指示情報には、伝送阻止機能のアクティベートのための指示であることを示すアクティベーション命令と、不正と検知されたデータフレームのID、つまり、その伝送阻止機能のアクティベートの対象となるIDを特定するための対象フレーム情報とが含まれる。
 更新処理部1460は、実施の形態1で示した更新処理部460と同様の機能に加えて、外部通信部1470から、伝送阻止機能のアクティベート状態に係るアクティベート指示情報或いはディアクティベート指示情報を通知された場合にこれらの指示情報に対応して管理情報の更新を行う機能を有する。なお、ディアクティベート指示情報には、伝送の阻止を行わないディアクティベートのための指示であることを示すディアクティベーション命令と、その伝送の阻止を行わない対象となるデータフレームのIDを特定するための対象フレーム情報とが含まれる。更新処理部1460による、アクティベート指示情報に対応した管理情報の更新に係る伝送阻止機能アクティベーション処理は、対象フレーム情報で示されるIDに対応するフラグ情報を、伝送阻止機能がアクティベートされた状態つまり伝送の阻止を許容する状態を示す値に変更することで実現される。更新処理部1460による、ディアクティベート指示情報に対応した管理情報の更新に係る伝送阻止機能ディアクティベーション処理は、対象フレーム情報で示されるIDに対応するフラグ情報を、伝送阻止機能がアクティベートされていない状態つまり伝送の阻止を許容しない状態を示す値に変更することで実現される。
 外部通信部1470は、実施の形態1で示した外部通信部470を変形したものである。外部通信部1470は、通信モジュール1600を介してサーバ1500と通信し、配信メッセージ、異常通知メッセージ或いはディアクティベーションメッセージを取得する。外部通信部1470は、取得した配信メッセージを署名処理部480へ通知して配信メッセージの署名の検証結果を取得し、検証が成功していれば配信メッセージにおけるFWを更新処理部1460へ通知する。外部通信部1470は、取得した異常通知メッセージを署名処理部480へ通知して異常通知メッセージの署名の検証結果を取得し、検証が成功して車種情報が自装置の搭載されている車両と同一車種であれば、異常通知メッセージにおけるアクティベート指示情報を更新処理部1460へ通知する。外部通信部1470は、取得したディアクティベーションメッセージを署名処理部480へ通知してディアクティベーションメッセージの署名の検証結果を取得し、検証が成功していればディアクティベーションメッセージにおけるディアクティベート指示情報を更新処理部1460へ通知する。なお、車両管理システムにおいて、伝送阻止機能をディアクティベートするディアクティベーションメッセージを送信する所定権限は例えばサーバ1500に与えられているが、車両には与えられていない。このため、ディアクティベーションメッセージの署名の検証においては、ディアクティベーションメッセージに、所定権限を有するサーバ1500に係る署名データが付されていることを検証することが有用となる。
 また、外部通信部1470は、状態確認部1440から通知されたデータフレームに関するログ情報及びアクティベート指示情報に、車種情報保持部491より取得した車種情報と、車台番号情報保持部492より取得した車台番号情報とを付加して、署名なし不正検知メッセージを生成する。この不正検知メッセージは、実施の形態1で示した不正検知メッセージにアクティベート指示情報を追加したものである。外部通信部1470は、署名なし不正検知メッセージを、署名処理部480に通知して署名データを取得することで署名付きの不正検知メッセージに変換し、その署名付きの不正検知メッセージを、通信モジュール1600を介してサーバ1500へと送信する。また、外部通信部1470は、状態確認部1440から通知されたアクティベート指示情報に、車種情報保持部491より取得した車種情報と、車台番号情報保持部492より取得した車台番号情報とを付加して、署名なし異常通知メッセージを生成する。外部通信部1470は、署名なし異常通知メッセージを、署名処理部480に通知して署名データを取得することで署名付きの異常通知メッセージに変換し、その署名付きの異常通知メッセージを、通信モジュール1600を介して他の車両へと送信する。
 [2.3 サーバ1500の構成]
 サーバ1500は、メモリ、ハードディスク等の記憶媒体、プロセッサ、通信回路等を含む。
 図21は、サーバ1500の構成図である。サーバ1500は、機能面の構成要素として、通信部510と、分析部1520と、FW保持部530と、メッセージ生成部1540と、署名処理部550と、鍵保持部560とを含んで構成される。これらの各構成要素は、サーバ1500における通信回路、メモリに格納されたプログラムを実行するプロセッサ等により実現される。実施の形態1で示したサーバ500(図13参照)と同様の機能を有する構成要素については、図21において同じ符号を付しており、説明を適宜省略する。
 通信部510は、メッセージ生成部1540から伝えられた配信メッセージ、ディアクティベーションメッセージ或いは異常通知メッセージを、車両に対して送信する。これらのメッセージは、車両の通信モジュール1600で受信され、不正検知ECU1400に伝えられる。また、通信部510は、車両の不正検知ECU1400から通信モジュール1600を介して送信された不正検知メッセージを受信し、分析部1520へ通知する。
 分析部1520は、通知された不正検知メッセージを署名処理部550へ通知して不正検知メッセージの署名の検証結果を取得する。また、分析部1520は、署名検証に成功した不正検知メッセージである分析用情報に含まれる、不正と検知されたデータフレームに関するログ情報を分析することで、車両の動作不良等といった車載ネットワークシステム11に係る異常を引き起こす不正なデータフレームであるか否かを判断する。分析部1520は、不正と検知されたデータフレームが異常を引き起こす不正なデータフレームであると判断した場合には、同様のデータフレームが不正検知ECU1400で不正と検知された際にそのデータフレームの伝送を阻止する伝送阻止機能をアクティベートするFWを生成する。分析部1520は、その生成したFWをFW保持部530へ保持させる。また、分析部1520は、不正と検知されたデータフレームが異常を引き起こす不正なデータフレームであると判断した場合には、不正検知メッセージに含まれるアクティベート指示情報及び車種情報をメッセージ生成部1540に通知する。また、分析部1520は、不正と検知されたデータフレームが異常を引き起こす不正なデータフレームでないと判断した場合には、同様のデータフレームが不正検知ECU1400で不正と検知された際にそのデータフレームの伝送を阻止する伝送阻止機能をディアクティベートするためにディアクティベート指示情報をメッセージ生成部1540に通知する。分析部1520での判断は、不正と検知されたデータフレームの影響を踏まえ、例えば複数の車両から収集された情報等に基づいて行なわれても良い。なお、分析部1520は、メッセージ生成部1540に通知するディアクティベート指示情報に、伝送阻止機能をディアクティベートする対象となるデータフレームのIDを示す対象フレーム情報を含める。
 FW保持部530は、不正検知ECU1400に配信するFWを保持する。
 メッセージ生成部1540は、不正検知ECU1400へ配信するFWを含ませた配信メッセージを生成し、署名処理部550に通知して署名データを生成させることで、署名付き配信メッセージを得て、署名付き配信メッセージを、通信部510へ伝える。また、メッセージ生成部1540は、分析部1520からアクティベート指示情報及び車種情報の通知を受けた場合にはそのアクティベート指示情報及び車種情報を含ませた異常通知メッセージを生成し、署名処理部550に通知して署名データを生成させることで、署名付き異常通知メッセージを得て、署名付き異常通知メッセージを、通信部510へ伝える。また、メッセージ生成部1540は、分析部1520からディアクティベート指示情報の通知を受けた場合にはそのディアクティベート指示情報を含ませたディアクティベーションメッセージを生成し、署名処理部550に通知して署名データを生成させることで、署名付きディアクティベーションメッセージを得て、署名付きディアクティベーションメッセージを、通信部510へ伝える。
 署名処理部550は、分析部1520から通知された署名付きの不正検知メッセージの署名を、鍵保持部560から取得する鍵を用いて検証し、検証結果を分析部1520へと通知する。また、署名処理部550は、メッセージ生成部1540より通知された配信メッセージ、異常通知メッセージ或いはディアクティベーションメッセージに対して、鍵保持部560から取得する鍵を用いて署名データを生成し、生成した署名データをメッセージ生成部1540へ通知する。
 [2.4 不正フレームの検知及び伝送阻止のシーケンス]
 図22は、不正検知ECU1400による不正フレームの検知及び伝送阻止のシーケンスの一例を示す。この例は、車載ネットワークシステム11のバス200に、攻撃者に支配された不正ECUが接続されていることを想定した例となっている。図22では、不正検知ECU1400及びECU100aの動作を示すが、例えばECU100b~100dもECU100aと同様の動作を行い得る。なお、実施の形態1で図14に示した処理のステップと同様のステップについては、図22においても同じ符号を付しており、説明を適宜省略する。
 不正ECUが、ID「5」を有しデータが「0xFF」であるデータフレームの送信を開始し(ステップS1001)、不正検知ECU1400は、データフレームのIDを受信する(ステップS1002)。
 不正検知ECU1400は、不正検知ルールに係る正規IDリスト(図11参照)に従って、バス200から受信したIDが不正なデータフレームのIDであるか否かを判定し(ステップS1005)、正規IDリストにID「5」が含まれていないことから、受信したID「5」を有する受信中のデータフレームが不正と判定する。続いて、不正検知ECU1400は、管理情報を参照して、伝送阻止機能がアクティベートされているか否かを判定する(ステップS1006)。
 ステップS1006で伝送阻止機能がアクティベートされていないと判定した場合には、不正検知ECU1400は、動作不良検知処理を行う(ステップS2007)。この動作不良検知処理については、後に図23を用いて説明する。
 ステップS1006で伝送阻止機能がアクティベートされていると判定した場合には、不正検知ECU1400は、エラーフレームを、生成して送信する(ステップS1008、S1009)。
 [2.5 不正検知ECU1400における動作不良検知処理]
 図23は、不正検知ECU1400における動作不良検知処理の一例を示す。なお、実施の形態1で図15に示した処理のステップと同様のステップについては、図23においても同じ符号を付しており、説明を適宜省略する。以下、図23に即して動作不良検知処理を説明する。
 不正検知ECU1400は、不正なデータフレームを検知した後に、一定時間、車両の動作不良(つまり異常)の検知のための監視を行う(ステップS1101)。この一定時間の車両の監視により車両の状態に係るログデータが得られる。
 不正検知ECU1400は、ステップS1101で、動作不良が検知された場合に、通信モジュール1600を介して、周囲の車両に車車間通信で、不正と検知されたデータフレームのID示す対象フレーム情報等のアクティベート指示情報を含む異常通知メッセージ(図24参照)を送信する(ステップS2102)。
 ステップS2102に続いて不正検知ECU1400は、通信モジュール1600を介して、サーバ1500へ、不正と検知されたデータフレームに関するログ情報(例えばログデータ等)とアクティベート指示情報とを含む不正検知メッセージ(図25参照)を送信する(ステップS2103)。
 [2.6 異常通知メッセージのフォーマット]
 図24に、車両の不正検知ECU1400が通信モジュール1600によって周囲の車両に送信する異常通知メッセージのフォーマットの一例を示す。異常通知メッセージは、一定条件下でサーバ1500からも送信され得る。
 図24の例では、異常通知メッセージは、車種情報、車台番号情報、アクティベート指示情報(つまりアクティベーション命令及び対象フレーム情報)、及び、署名データで構成される。異常通知メッセージにおける対象フレーム情報で例えば所定IDを示し、この場合にアクティベート指示情報は、所定IDを有するフレームの伝送の阻止を許容する指示を表す。
 [2.7 不正検知メッセージのフォーマット]
 図25に、不正検知ECU1400がサーバ1500に送信する不正検知メッセージのフォーマットの一例を示す。不正検知メッセージは、不正検知ECU1400から通信モジュール1600を介してサーバ1500に送信される。
 図25の例では、不正検知メッセージは、車種情報、車台番号情報、アクティベート指示情報(つまりアクティベーション命令及び対象フレーム情報)、発生現象情報、ログ情報、及び、署名データで構成される。この不正検知メッセージは、実施の形態1で示した不正検知メッセージ(図16参照)にアクティベート指示情報を加えたものである。
 [2.8 不正検知ECU1400の伝送阻止機能アクティベーション処理]
 図26は、不正検知ECU1400における伝送阻止機能アクティベーション処理の一例を示す。以下、同図に即して伝送阻止機能アクティベーション処理を説明する。
 不正検知ECU1400は、他の車両或いはサーバ1500が送信した異常通知メッセージを、受信する通信モジュール1600を介して、その異常通知メッセージを取得する(ステップS2201)。
 続いて、不正検知ECU1400は、異常通知メッセージに付されている署名データを検証する(ステップS2202)。
 不正検知ECU1400は、異常通知メッセージの送信元が、正しいサーバ1500或いは正しい車両であるか否かを、ステップS2202での検証結果が検証の成功を示すか否かに基づいて判定し(ステップS2203)、検証に失敗した場合には、伝送阻止機能のアクティベートをスキップして伝送阻止機能アクティベーション処理を終了する。
 ステップS2203で検証結果が成功を示す場合つまり送信元が正しいサーバ1500或いは正しい車両である場合には、不正検知ECU1400は、異常通知メッセージにおける車種情報に基づいて、自装置が搭載されている車両と同じ車種であるか否かを判定する(ステップS2204)。同じ車種でない場合には、不正検知ECU1400は、伝送阻止機能アクティベーション処理を終了する。
 ステップS2204で、同じ車種であると判定した場合には、不正検知ECU1400は、異常通知メッセージにおけるアクティベート指示情報に従って、伝送阻止機能をアクティベートする(ステップS2205)。不正検知ECU1400は、このアクティベートを、管理情報における、アクティベート指示情報の対象フレーム情報が示すIDに対応するフラグ情報を、フレームの伝送の阻止を許容することを示す値にすることで実現する。
 [2.9 サーバ1500によるディアクティベーションメッセージの送信]
 図27は、サーバ1500におけるディアクティベーションメッセージの送信に係る処理の一例を示す。ディアクティベーションメッセージは、不正検知ECU1400の伝送阻止機能をディアクティベートするためのメッセージである。
 サーバ1500は、車両の不正検知ECU1400からの不正検知メッセージを受信する(ステップS2301)。
 続いて、サーバ1500は、不正検知メッセージに付されている署名データを検証する(ステップS2302)。
 サーバ1500は、不正検知メッセージの送信元が、正しい車両であるか否かを、ステップS2302での検証結果が検証の成功を示すか否かに基づいて判定し(ステップS2303)、送信元が正しい車両でない場合には、ディアクティベーションメッセージの送信等を行わずに処理を終了する。
 ステップS2303で検証結果が成功を示す場合つまり送信元が正しい車両である場合には、サーバ1500は、不正検知メッセージにおけるログ情報等に基づいて、不正と検知されたデータフレームが異常を引き起こす不正なデータフレームであるか否かを判断する(ステップS2304)。この判断は、異常が引き起こされる状態であるか否かの確認である。ステップS2304で、異常が引き起こされる状態でないと判断した場合には、サーバ1500は、そのデータフレームが不正検知ECU1400で不正と検知された際にそのデータフレームの伝送を阻止する伝送阻止機能をディアクティベートするためにディアクティベート指示情報を含むディアクティベーションメッセージ(図28参照)を送信する(ステップS2305)。サーバ1500は、異常が引き起こされるか否かの判断の方法としていかなる方法を用いても良い。サーバ1500は、ログ情報に基づいて不正と検知されたデータフレームから、一定時間が経過するまでに、車載ネットワークシステム11において予め定められた1つ又は複数の重要なデータフレームの内容或いは送信周期等に異常がない場合に、異常が引き起こされる状態でないと判断する方法を用い得る。また、サーバ1500は、ログ情報に基づいて不正と検知されたデータフレームから、一定時間が経過するまでに、車載ネットワークシステム11を構成し車両の走行の制御に関わる1つ又は複数の特定のECUが正常に動作している場合に、異常が引き起こされる状態でないと判断する方法を用い得る。また、サーバ1500は、一例としては、ログ情報に基づいて不正と検知されたデータフレームから、ある程度十分な長さの一定時間が経過するまでに同種のメッセージが二度と受信されていない場合に、異常が引き起こされる状態でないと判断するような方法を用い得る。
 ステップS2304で、異常が引き起こされる状態であると判断した場合には、サーバ1500は、ディアクティベーションメッセージの送信を行わない。なお、ステップS2304で、異常が引き起こされる状態であると判断した場合に、サーバ1500は、例えば、伝送阻止機能をアクティベートするためのFWを含む配信メッセージを送信し得る。
 [2.10 ディアクティベーションメッセージのフォーマット]
 図28に、サーバ1500が車両に対して送信するディアクティベーションメッセージのフォーマットの一例を示す。ディアクティベーションメッセージは、車両の通信モジュール1600を介して不正検知ECU1400に受信される。
 図28の例では、ディアクティベーションメッセージは、車種情報、ディアクティベート指示情報(つまりディアクティベーション命令及び対象フレーム情報)、及び、署名データで構成される。ディアクティベーションメッセージにおける対象フレーム情報で例えば所定IDを示し、この場合にディアクティベート指示情報は、所定IDを有するフレームの伝送の阻止を許容しない指示を表す。
 [2.11 不正検知ECU1400における伝送阻止機能ディアクティベーション処理]
 図29は、不正検知ECU1400における伝送阻止機能ディアクティベーション処理の一例を示す。以下、同図に即して伝送阻止機能ディアクティベーション処理を説明する。
 不正検知ECU1400は、通信モジュール1600を介して、ディアクティベーションメッセージを受信する(ステップS2401)。
 続いて、不正検知ECU1400は、ディアクティベーションメッセージに付されている署名データを検証する(ステップS2402)。
 不正検知ECU1400は、ディアクティベーションメッセージの送信元が、正しいサーバ1500であるか否かを、ステップS2402での検証結果が検証の成功を示すか否かに基づいて判定し(ステップS2403)、検証に失敗した場合には、伝送阻止機能のディアクティベートをスキップして伝送阻止機能ディアクティベーション処理を終了する。
 ステップS2403で検証結果が成功を示す場合、つまり送信元がディアクティベーションメッセージを送信する所定権限を有するサーバ1500であるとの認証に成功した場合には、不正検知ECU1400は、ディアクティベーションメッセージにおけるディアクティベート指示情報の対象フレーム情報と、管理情報中のフラグ情報とに基づいて、対象フレームについての伝送阻止機能がアクティベートされた状態であるか否かを判定する(ステップS2404)。アクティベートされた状態でない場合には、不正検知ECU1400は、伝送阻止機能ディアクティベーション処理を終了する。
 ステップS2404で、アクティベートされた状態であると判定した場合には、不正検知ECU1400は、その伝送阻止機能をディアクティベートする(ステップS2405)。不正検知ECU1400は、このディアクティベートを、管理情報における、ディアクティベート指示情報の対象フレーム情報が示すIDに対応するフラグ情報を、フレームの伝送の阻止を許容しないことを示す値にすることで実現する。
 [2.12 実施の形態2の効果]
 実施の形態2に係る車両の車載ネットワークシステム11では、不正検知ECU1400が、バス200を流れるデータフレームを不正と判定した場合に、管理情報により伝送阻止機能がアクティベートされた状態が示される場合にはそのデータフレームの伝送を阻止する。また、不正検知ECU1400は、伝送阻止機能がアクティベートされていない状態においては、そのデータフレームの伝送を阻止しない。データフレームが不正と検知されて、動作不良が検知された車両の不正検知ECU1400は、他の車両に対して、異常通知メッセージを送信する。これにより、他の車両では、不正と検知されたデータフレームについての伝送阻止機能がアクティベートされ、迅速に攻撃者による攻撃に対する防御を実現し得る。これは、攻撃者による局所的な車両群への一斉攻撃への迅速な防御を可能にしている。また、サーバ1500は、異常を引き起こすものではないと総合的に判断したデータフレームを対象として、車両の不正検知ECU1400による伝送阻止機能をディアクティベートするディアクティベーションメッセージを送信する。ディアクティベーションメッセージを送信する所定権限はサーバ1500が有する。車両において一旦アクティベートされた伝送阻止機能を、所定権限を有するサーバ1500からのみディアクティベートできるようにしておくことで、セキュリティを高めている。
 (他の実施の形態)
 以上のように、本開示に係る技術の例示として実施の形態1、2を説明した。しかしながら、本開示に係る技術は、これに限定されず、適宜、変更、置き換え、付加、省略等を行った実施の形態にも適用可能である。例えば、以下のような変形例も本開示の一実施態様に含まれる。
 (1)上記実施の形態では、通信モジュール600、1600が不正検知ECUと直接接続する例を示したが、通信モジュール600、1600は、CANのバス200に繋がる通信モジュールECUであっても良い。この場合には、不正検知ECUは、バス200経由で通信モジュールECUとメッセージの授受を行うことで、通信モジュールECUを介してサーバ500、1500或いは他の車両とメッセージの送受信を行うこととしても良い。また、通信モジュール600、1600は、不正検知ECU400、1400内に通信部として備えられていても良い。
 (2)上記実施の形態では、フレーム伝送阻止装置としての不正検知ECU400、1400が通信モジュール600、1600を介して車両外部のサーバ500、1500或いは他の車両とメッセージの送受信する例を示したが、フレーム伝送阻止装置内に車両外部との通信回路を有して、サーバ500等と通信できるようにしても良い。フレーム伝送阻止装置の一例を図30に示す。図30に示したフレーム伝送阻止装置2400は、例えば車両に搭載され、車載ネットワークシステム10、11等のバス200(図1、図19参照)に接続され、例えばプロセッサ、メモリ等の集積回路、通信回路等を含む装置である。フレーム伝送阻止装置2400は、機能面では、例えば、受信部2410、処理部2420、記憶部2430、通信部2440及び更新部2450を含んで構成される。受信部2410は、通信回路等で構成され、バス200からフレームを受信する。受信部2410は、上述のフレーム送受信部110において受信機能を担う部分に相当する。処理部2420は、例えばメモリに格納されたプログラムを実行するプロセッサ、通信回路等で実現され、フレームの伝送の阻止を許容するか否かを示す管理情報に基づいて、受信部2410により受信されたフレームが所定条件を満たす場合にそのフレームの伝送を阻止する所定処理を実行するか否かを切り替える。処理部2420は、例えば、上述の不正検知処理部430、状態確認部440、1440等で構成されても良い。所定条件は例えば不正なフレームを検知するための条件である。所定条件は、例えばフレームのIDについての条件であり、例えば図11で示した正規IDリスト等のIDではない場合に満たされる条件であり得る。処理部2420は、送信部2421を含み、例えば上述の所定処理として、受信部2410により所定条件を満たすフレームの最後尾のビットが受信される前にエラーフレームをバス200へ送信する処理を行い得る。処理部2420は、フレームの伝送の阻止のための所定処理としてそのフレームが伝送されている際に、エラーフレームを構成するに満たない数のドミナント信号をバス200へ送信する処理を行うこととしても良い。このドミナント信号でバス200上のフレームの内容が改変され、例えばCRCの不整合等といった受信エラー等を引き起こすと、受信ノードのECUでそのフレームを正常なフレームと同様に処理することが防止され得る。フレーム伝送阻止装置2400が、複数のバス間を接続して一方のバスから受信したデータフレームを他方のバスに転送する転送機能を有するゲートウェイ装置であっても良く、この場合には処理部2420は、フレームの伝送の阻止する所定処理として、フレームの転送を抑止する処理を行い得る。記憶部2430は、メモリ等の記憶媒体の一領域に管理情報を記憶しており、例えば上述の状態保持部441等に相当する。通信部2440は、例えば無線通信回路等で構成され、車両外部のサーバ装置、他の車両内の装置等といった外部装置と通信する。例えば通信部2440は、他の車両向けの異常通知メッセージ(図24参照)等を送信し得る。更新部2450は、例えばプログラムを実行するプロセッサ等で構成され、記憶部2430に記憶された管理情報を更新する。更新部2450は、例えば上述の更新処理部460、1460等で構成されても良い。記憶部2430における管理情報は、複数のIDそれぞれに対応して、そのIDを有し所定条件を満たすフレームの伝送の阻止を許容するか否かを示すフラグ情報を含むこととしても良い。これに対応して処理部2420は、受信部2410により受信されたフレームが所定条件を満たす場合において、そのフレームのIDに対応するフラグ情報がそのフレームの伝送の阻止を許容することを示すときには所定処理を実行し、そのフレームのIDに対応するフラグ情報がそのフレームの伝送の阻止を許容しないことを示すときには所定処理を実行しないこととしても良い。また、更新部2450は、フレーム伝送阻止装置2400が、バス200に接続された異常監視用のECU等から、或いは、車両外部の外部装置等から、受信した指示情報に応じて管理情報を更新しても良い。この指示情報は、例えば、上記実施の形態で示したアクティベート指示情報、ディアクティベート指示情報等であり得る。
 (3)上記実施の形態では、不正検知ECU400、1400が、不正なデータフレームを検知した場合において、車両の動作不良を検知したときに、車両外部へ不正検知メッセージを送信する例を示した。しかし、不正検知ECU400、1400は、不正なデータフレームが検知された場合において、伝送阻止機能がアクティベートされていない状態であれば、動作不良等といった異常が検知されるか否かに拘わらず、車両外部のサーバ等の外部装置に対して、不正と検知されたデータフレームに関するログ情報等を含む情報を送信することとしても良い。上述のフレーム伝送阻止装置2400では、受信部2410により受信されたフレームが所定条件を満たす場合に、通信部2440が、そのフレームに関する情報を含む分析用情報を車両外部の外部装置に送信することとしても良い。また、不正検知ECU400、1400は、自ら異常か否かの判断ができない場合等においてサーバ500、1500等の外部装置に異常を引き起こすか否かの判断を委ねることとしても良い。サーバ500等の外部装置では、複数の車両から収集される情報に基づいて判断の精度を上げることが可能である。そして、外部装置は異常を引き起こすと判断した場合に必要に応じて不正検知ECU400、1400の伝送阻止機能をアクティベートするためのアクティベート指示情報を含むメッセージを不正検知ECU400、1400に対して送信し得る。また、上記実施の形態では、サーバ500では分析部520及び配信メッセージ生成部540等によって車両の不正検知ECU400の伝送阻止機能のアクティベート状態を変更するFWを含む配信メッセージを生成し、サーバ1500では分析部1520及びメッセージ生成部1540等によって車両の不正検知ECU1400の伝送阻止機能のアクティベート状態を変更する配信メッセージ或いはディアクティベーションメッセージを生成する例を示した。サーバ500、1500が送信するこれらのメッセージの生成は、サーバ500、1500に対する操作者の指示等に基づいて行われることとしても良い。
 (4)上記実施の形態では、不正検知ECU400、1400が、サーバ500、1500、他の車両等から送信されるメッセージに基づいて、伝送阻止機能のアクティベート状態を示す管理情報を更新する例を示した。しかし、不正検知ECU400、1400は、不正なデータフレームを検知した場合に、車両に異常が引き起こされたか否かを自ら検査して検査結果として異常の発生を検出したときに(例えばステップS1101で動作不良を検知したときに)、自ら管理情報を更新して伝送阻止機能をアクティベートされた状態にすることとしても良い。具体例として、不正検知ECU400の更新処理部460は、フレーム送受信部110により受信されたデータフレームが、正規IDリストに含まれないIDを有するという不正検知ルールに係る所定条件を満たし、かつ、管理情報におけるそのデータフレームのIDに対応するフラグ情報がそのデータフレームの伝送の阻止を許容しないことを示す場合において、そのデータフレームのIDとは異なる特定IDを有する、フレーム送受信部110で受信されたデータフレームに基づいて異常の発生を検出したときには、そのフラグ情報を伝送の阻止を許容することを示すように更新することとしても良い。例えば、特定IDを有するデータフレームの受信周期、受信頻度、データフレームの内容等が正常状態と異なるか否かを判別することで異常は検出され得る。例えば、特定IDを有するデータフレームが一定時間経過しても受信されない場合に異常と検出しても良い。例えば重要なデータフレームのIDを特定IDとして定めておくことが有用である。これにより、不正なデータフレームが検知され、重要なデータフレームに異常が発生したような場合に、その後の不正なデータフレームの伝送が阻止されるようになる。また別の具体例として、更新処理部460は、フレーム送受信部110により受信されたデータフレームが所定条件を満たし、かつ、フラグ情報がそのデータフレームの伝送の阻止を許容しないことを示す場合において、特定のECUが異常であることを検出したときには、そのフラグ情報を伝送の阻止を許容することを示すように更新することとしても良い。例えばエンジンECU100a、ブレーキECU100b等といった車両の走る、曲がる、或いは止まることの制御に関わるECUを、上述の特定のECUとして定めておくことが有用である。また、ゲートウェイ機能を有するゲートウェイECU、車両の運転者へのユーザインタフェースを提供するヘッドユニットECU等を上述の特定のECUとして定めておくことも有用である。特定のECUの異常は、特定のECUが送信するフレームの内容、特定のECUを監視する監視ECU等からの通知、特定のECUの制御対象のアクチュエータ等に関連するセンサでの測定結果、特定のECUとの個別通信による検査結果等に基づいて検出し得る。例えば、エンジン回転数のセンサによる測定値がある単位時間に通常範囲を超えて急上昇した場合に、エンジンECUの異常を検出できる。例えば、車両の加速度の急激な変化をエンジンECU或いはブレーキECUの異常と検出しても良い。これにより、不正なデータフレームが検知され、車両の走行に影響するECUに異常が発生したような場合に、その後の不正なデータフレームの伝送が阻止されるようになる。また、車載ネットワークシステムへの不正でない新たなECUの追加等により、そのECUが送信したデータフレームが不正と検知された場合においても、車両の走行に影響するECUに異常が発生していないようなときには、そのデータフレームの伝送は阻止されず、阻止による悪影響が防止される。また、不正検知ECU1400は、アクティベート指示情報を含む異常通知メッセージを他の車両に送信する場合(ステップS2102)において、自車両の管理情報についても同様に伝送阻止機能がアクティベートされた状態となるように更新しても良い。具体例としては、不正検知ECU1400は、不正と検知したデータフレームが車両に異常を引き起こすと判定した場合においてそのデータフレームのIDに対応するフラグ情報を伝送阻止機能がアクティベートされた状態を示すようにし、そのIDを有するデータフレームに対してエラーフレームの送信で伝送阻止を行う。そして、そのIDを有するデータフレームの伝送の阻止を許容するアクティベート指示情報を含むメッセージを他の車両に送信する。
 (5)上記実施の形態では、不正検知ECU400、1400が、不正なデータフレームを検知するために、IDフィールドに係る正規IDリストを用いたが、IDフィールド以外のフィールドの値を用いてもよい。つまり、フレーム伝送阻止装置において、管理情報次第で伝送阻止の対象となるフレームの所定条件として、IDを用いる例を示したが、そのフレームのID以外についての条件を定めても良い。例えば、所定条件は、フレームとしてのデータフレームのDLCについての条件であっても良いし、データフレームのデータフィールド内のデータについての条件であっても良い。また、車載ネットワークシステムにおいてECU間で授受されるフレームにメッセージ認証コード(MAC:Message Authentication Code)を含ませるように定めておく場合において、所定条件は、フレームに適正なMACが含まれない場合に満たされる条件であっても良い。フレームに適正なMACが含まれるか否かは、例えば、フレーム中の予め特定可能に規定された位置に所在するデータ値としてのMACを、予め定められた検証方法によって検証して、検証に成功するか否かで判別可能である。また、所定条件は、フレームが送信される周期、頻度等に係る条件であっても良い。
 (6)上記実施の形態では、フレーム伝送阻止装置としての不正検知ECU400、1400において不正検知ルールによってフレームの不正を検知し、不正と検知されたフレームの伝送阻止機能のアクティベート状態の変更を、FWの更新等によって行う例を示した。しかし、FWの更新により、伝送阻止機能のアクティベート状態の変更の代わりに不正検知ルールを更新しても良い。具体的には、製品出荷時において不正検知ECU400は、全てのIDを不正ではないと扱うよう定めた不正検知ルールを保持するようにしておき、伝送阻止機能は既にアクティベートされている状態としておき、FWの更新により、不正なフレームの伝送を阻止するように、不正検知ルールの方を変更するようにしても良い。
 (7)上記実施の形態では、不正検知ECU400が、サーバ500に送信する不正検知メッセージに含ませる、不正と検知されたデータフレームに関するログ情報は、そのデータフレームの検知後の一定時間にバス200に流れたデータフレームについてのログデータ等を含むこととした。そして、サーバ500が、ログ情報を分析することで、車両の動作不良等といった車載ネットワークシステム10に係る異常を引き起こす不正なデータフレームであるか否かを判断する例を示した。しかし、不正検知ECU400は、不正なデータフレームを検知した後の一定時間ではなく、検知前の一定時間、或いはその検知の前後に亘る一定時間の間にバス200から受信された各種のデータフレームの内容と受信時刻等といった情報を、ログ情報に含ませることとしても良い。また、不正検知ECU400は、不正なデータフレームを検知した前の一定時間、又はその検知の前後に亘る一定時間の間にバス200から受信されたデータフレームに基づいて、不正と検知したデータフレームによって異常が引き起こされているか否かを判定しその異常が引き起こされていれば不正と検知したデータフレームについての伝送阻止機能をアクティベートすることとしても良い。
 (8)上記実施の形態2では、不正検知ECU1400は、車種情報が、自装置が搭載されている車両と同じ車種を示すか否かを判定することとしたが、これは、動作不良等の異常の起きた車両と、自装置が搭載されている車両との共通性を判定して、伝送阻止機能をアクティベートするか否かを決める一例であり、車種情報以外にも、車両の年式、型式、モデル、製造メーカ等の情報を用いて、共通性を判定しても良い。
 (9)上記実施の形態2では、IDで対象フレームを特定して、伝送阻止機能のアクティベート又はディアクティベートの指示が行われる例を示したが、全てのフレームを対象に一括でアクティベート又はディアクティベートの指示が行われることとしても良い。また、対象フレームの特定の方法は、IDに限られず、例えば、フレーム中の特定位置のビット列等で特定しても良い。また、アクティベート指示情報又はディアクティベート指示情報が、FWで表され、不正検知ECUのFWの更新によって伝送阻止機能のアクティベート状態が変更されることとしても良い。また、管理情報は、必ずしもID毎のフラグ情報で構成されている必要はなく、不正と検知された全てのデータフレームの伝送の阻止を許容するか否かを示す1つのフラグだけで構成されても良い。
 (10)上記実施の形態で或いは上述の変形例で示したフレーム伝送阻止装置の構成要素は、バス200に接続された複数のECU等といった複数の装置に分散して備えられても良い。また、フレーム伝送阻止装置は、自装置内に保持される管理情報を参照する代わりに、自装置の外部から得られた管理情報を参照することで、不正と検知されたフレームについての伝送の阻止のための所定処理(例えばエラーフレームの送信等)を行うか否かを切り替えても良い。この場合に、不正と検知されたフレームの伝送の阻止を許容するか否かを示す管理情報は、ハードディスクその他の記憶媒体に記憶された情報を読み出して参照されても良いし、スイッチその他のハードウェアにより形成された状態を読み取ることで参照されても良いし、外部から情報を受信することで参照されても良い。
 (11)上記の実施の形態では、車載ネットワークで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)等の派生的なプロトコルを包含する広義の意味のものと扱われることとしても良い。なお、車載ネットワークのネットワークバスは、例えば、ワイヤ、光ファイバ等で構成される有線通信路であり得る。例えば、フレーム伝送阻止装置2400は、上述のいずれかのプロトコルを用いてECUが通信するネットワークシステムでネットワークバスに接続され、フレームを受信し、フレームの伝送の阻止を許容するか否かを示す管理情報に基づいて、受信されたフレームが所定条件を満たす場合にそのフレームの伝送を阻止する所定処理を実行するか否かを切り替えるようにしても良い。
 (12)上記実施の形態では、CANプロトコルにおけるデータフレームを標準IDフォーマットで記述しているが、拡張IDフォーマットであっても良く、データフレームのIDは、拡張IDフォーマットでの拡張ID等であっても良い。また、上述したデータフレームは、CAN以外のプロトコルが用いられるネットワークにおける一種のフレームであっても良く、この場合に、そのフレームの種類等を識別するIDが、データフレームのIDに相当する。
 (13)上記実施の形態では、フレーム伝送阻止装置が、車両に搭載され、車両の制御のための通信を行う車載ネットワークシステムに含まれる例を示したが、車両以外の制御対象の制御のためのネットワークシステムに含まれるものであっても良い。車両以外の制御対象は、例えば、ロボット、航空機、船舶、機械等である。
 (14)上記実施の形態で示したECU等の各装置は、メモリ、プロセッサ等の他に、ハードディスクユニット、ディスプレイユニット、キーボード、マウス等を備えるものであっても良い。また、上記実施の形態で示したECU等の各装置は、メモリに記憶されたプログラムがプロセッサにより実行されてソフトウェア的にその各装置の機能を実現するものであっても良いし、専用のハードウェア(デジタル回路等)によりプログラムを用いずにその機能を実現するものであっても良い。また、その各装置内の各構成要素の機能分担は変更可能である。
 (15)上記実施の形態における各装置を構成する構成要素の一部又は全部は、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に置き換わる集積回路化の技術が登場すれば、当然、その技術を用いて機能ブロックの集積化を行っても良い。バイオ技術の適用等が可能性としてあり得る。
 (16)上記各装置を構成する構成要素の一部又は全部は、各装置に脱着可能なICカード又は単体のモジュールから構成されているとしても良い。前記ICカード又は前記モジュールは、マイクロプロセッサ、ROM、RAM等から構成されるコンピュータシステムである。前記ICカード又は前記モジュールは、上記の超多機能LSIを含むとしても良い。マイクロプロセッサが、コンピュータプログラムに従って動作することにより、前記ICカード又は前記モジュールは、その機能を達成する。このICカード又はこのモジュールは、耐タンパ性を有するとしても良い。
 (17)本開示の一態様としては、例えば図14、図15、図17、図22、図23、図26、図27、図29等に示す処理手順の全部又は一部を含むフレーム伝送阻止方法であるとしても良い。例えば、フレーム伝送阻止方法は、複数のECUがバスを介して通信するネットワークシステムで用いられ、バスからフレームを受信する受信ステップ(例えばステップS1002)と、フレームの伝送の阻止を許容するか否かを示す管理情報に基づいて、受信ステップで受信されたフレームが所定条件を満たす場合にそのフレームの伝送を阻止する所定処理を実行するか否かを切り替える処理ステップ(例えばステップS1006~S1008)とを含む方法である。また、本開示の一態様としては、この方法をコンピュータにより実現するプログラム(コンピュータプログラム)であるとしても良いし、前記コンピュータプログラムからなるデジタル信号であるとしても良い。また、本開示の一態様としては、前記コンピュータプログラム又は前記デジタル信号をコンピュータで読み取り可能な記録媒体、例えば、フレキシブルディスク、ハードディスク、CD-ROM、MO、DVD、DVD-ROM、DVD-RAM、BD(Blu-ray(登録商標) Disc)、半導体メモリ等に記録したものとしても良い。また、これらの記録媒体に記録されている前記デジタル信号であるとしても良い。また、本開示の一態様としては、前記コンピュータプログラム又は前記デジタル信号を、電気通信回線、無線又は有線通信回線、インターネットを代表とするネットワーク、データ放送等を経由して伝送するものとしても良い。また、本開示の一態様としては、マイクロプロセッサとメモリを備えたコンピュータシステムであって、前記メモリは、上記コンピュータプログラムを記録しており、前記マイクロプロセッサは、前記コンピュータプログラムに従って動作するとしても良い。また、前記プログラム若しくは前記デジタル信号を前記記録媒体に記録して移送することにより、又は、前記プログラム若しくは前記デジタル信号を、前記ネットワーク等を経由して移送することにより、独立した他のコンピュータシステムにより実施するとしても良い。
 (18)上記実施の形態及び上記変形例で示した各構成要素及び機能を任意に組み合わせることで実現される形態も本開示の範囲に含まれる。
 本開示は、車載ネットワーク等のネットワークへの不正なフレームの伝送を阻止するために利用可能である。
 10,11 車載ネットワークシステム
 100a 電子制御ユニット(エンジンECU)
 100b 電子制御ユニット(ブレーキECU)
 100c 電子制御ユニット(ドア開閉センサECU)
 100d 電子制御ユニット(ウィンドウ開閉センサECU)
 110,410 フレーム送受信部
 120,420 フレーム解釈部
 130 受信ID判断部
 140 受信IDリスト保持部
 150 フレーム処理部
 160 フレーム生成部
 170 データ取得部
 200 バス
 310 エンジン
 320 ブレーキ
 330 ドア開閉センサ
 340 ウィンドウ開閉センサ
 400,1400 不正検知ECU(フレーム伝送阻止装置)
 430 不正検知処理部
 431 不正検知ルール保持部
 440,1440 状態確認部
 441 状態保持部
 450 フレーム生成部
 460,1460 更新処理部
 470,1470 外部通信部
 480,550 署名処理部
 481,560 鍵保持部
 491 車種情報保持部
 492 車台番号情報保持部
 500,1500 サーバ
 510,2440 通信部
 520,1520 分析部
 530 FW保持部
 540 配信メッセージ生成部
 600,1600 通信モジュール
 1540 メッセージ生成部
 2400 フレーム伝送阻止装置
 2410 受信部
 2420 処理部
 2421 送信部
 2430 記憶部
 2450 更新部

Claims (19)

  1.  複数の電子制御ユニットがバスを介して通信するネットワークシステムにおける当該バスに接続されるフレーム伝送阻止装置であって、
     前記バスからフレームを受信する受信部と、
     フレームの伝送の阻止を許容するか否かを示す管理情報に基づいて、前記受信部により受信されたフレームが所定条件を満たす場合に当該フレームの伝送を阻止する所定処理を実行するか否かを切り替える処理部とを備える
     フレーム伝送阻止装置。
  2.  前記複数の電子制御ユニットは、CAN(Controller Area Network)プロトコルに従って前記バスを介して通信し、
     前記所定条件を満たすフレームの伝送を阻止する前記所定処理は、前記受信部により当該フレームの最後尾のビットが受信される前にエラーフレームを前記バスへ送信する処理を含む
     請求項1記載のフレーム伝送阻止装置。
  3.  前記フレーム伝送阻止装置は、
     前記管理情報を記憶している記憶部と、
     前記記憶部に記憶された前記管理情報を更新する更新部とを備え、
     前記管理情報は、複数のIDそれぞれに対応して、当該IDを有し前記所定条件を満たすフレームの伝送の阻止を許容するか否かを示すフラグ情報を含み、
     前記処理部は、前記受信部により受信されたフレームが前記所定条件を満たす場合において、当該フレームのIDに対応する前記フラグ情報が当該フレームの伝送の阻止を許容することを示すときには前記所定処理を実行し、当該フレームのIDに対応する前記フラグ情報が当該フレームの伝送の阻止を許容しないことを示すときには前記所定処理を実行しない
     請求項1又は2記載のフレーム伝送阻止装置。
  4.  前記管理情報における前記複数のIDそれぞれに対応するフラグ情報は、前記更新部による更新が一度もなされていない状態では、フレームの伝送の阻止を許容しないことを示す
     請求項3記載のフレーム伝送阻止装置。
  5.  前記フラグ情報は、1ビットの情報である
     請求項3又は4記載のフレーム伝送阻止装置。
  6.  前記更新部は、前記フレーム伝送阻止装置が外部から受信した指示情報に応じて前記管理情報を更新する
     請求項3~5のいずれか一項に記載のフレーム伝送阻止装置。
  7.  前記ネットワークシステムは、車載ネットワークシステムであり、
     前記複数の電子制御ユニットと前記バスと前記フレーム伝送阻止装置とは車両に搭載され、
     前記更新部は、前記車両の外に所在する外部装置が送信した前記指示情報に応じて前記管理情報を更新する
     請求項6記載のフレーム伝送阻止装置。
  8.  前記更新部は、
     前記外部装置が送信した前記指示情報が、所定IDを有するフレームの伝送の阻止を許容しない指示を示す場合には、前記外部装置が所定権限を有することの認証が成功していることを条件として、前記管理情報における前記所定IDに対応するフラグ情報を、前記所定IDを有するフレームの伝送の阻止を許容しないことを示すように更新し、
     前記指示情報が、前記所定IDを有するフレームの伝送の阻止を許容する指示を示す場合には、前記外部装置が前記所定権限を有するか否かに拘わらず、前記管理情報における前記所定IDに対応するフラグ情報を、前記所定IDを有するフレームの伝送の阻止を許容することを示すように更新する
     請求項7記載のフレーム伝送阻止装置。
  9.  前記フレーム伝送阻止装置は更に、前記処理部が一のIDを有するフレームの伝送を阻止する前記所定処理を実行する場合に、当該一のIDを有するフレームの伝送の阻止を許容する指示を示す、他の車両向けの指示情報を送信する通信部を備える
     請求項8記載のフレーム伝送阻止装置。
  10.  前記フレーム伝送阻止装置は更に、前記受信部により受信されたフレームが前記所定条件を満たす場合に、当該フレームに関する情報を含む分析用情報を前記外部装置に送信する通信部を備える
     請求項7又は8記載のフレーム伝送阻止装置。
  11.  前記更新部は、前記受信部により受信されたフレームが前記所定条件を満たし、かつ、当該フレームのIDに対応する前記フラグ情報が当該フレームの伝送の阻止を許容しないことを示す場合において、当該フレームのIDとは異なる特定IDを有する、前記受信部で受信されたフレームに基づいて異常の発生を検出したときには、当該フラグ情報を、前記阻止を許容することを示すように更新する
     請求項3~5のいずれか一項に記載のフレーム伝送阻止装置。
  12.  前記更新部は、前記受信部により受信されたフレームが前記所定条件を満たし、かつ、当該フレームのIDに対応する前記フラグ情報が当該フレームの伝送の阻止を許容しないことを示す場合において、前記複数の電子制御ユニットのうち予め定められた特定の電子制御ユニットが異常であることを検出したときには、当該フラグ情報を、前記阻止を許容することを示すように更新する
     請求項3~5のいずれか一項に記載のフレーム伝送阻止装置。
  13.  前記所定条件は、フレームのIDについての条件であり、
     前記処理部は、前記受信部により受信されたフレームのIDが前記所定条件を満たす場合において前記管理情報に基づいて前記所定処理を実行するか否かを切り替える
     請求項1~12のいずれか一項に記載のフレーム伝送阻止装置。
  14.  前記複数の電子制御ユニットは、CAN(Controller Area Network)プロトコルに従って前記バスを介して通信し、
     前記所定条件は、フレームとしてのデータフレームのDLC(Data Length Code)についての条件であり、
     前記処理部は、前記受信部により受信されたフレームのDLCが前記所定条件を満たす場合において前記管理情報に基づいて前記所定処理を実行するか否かを切り替える
     請求項1~12のいずれか一項に記載のフレーム伝送阻止装置。
  15.  前記複数の電子制御ユニットは、CAN(Controller Area Network)プロトコルに従って前記バスを介して通信し、
     前記所定条件は、フレームとしてのデータフレームのデータフィールド内のデータについての条件であり、
     前記処理部は、前記受信部により受信されたフレームのデータフィールド内のデータが前記所定条件を満たす場合において前記管理情報に基づいて前記所定処理を実行するか否かを切り替える
     請求項1~12のいずれか一項に記載のフレーム伝送阻止装置。
  16.  前記所定条件は、フレームに適正なメッセージ認証コードが含まれない場合に満たされる条件である
     請求項1~12のいずれか一項に記載のフレーム伝送阻止装置。
  17.  前記複数の電子制御ユニットは、CAN(Controller Area Network)プロトコルに従って前記バスを介して通信し、
     前記所定条件を満たすフレームの伝送を阻止する前記所定処理は、当該フレームが伝送されている際にドミナント信号を前記バスへ送信する処理を含む
     請求項1記載のフレーム伝送阻止装置。
  18.  複数の電子制御ユニットがバスを介して通信するネットワークシステムで用いられるフレーム伝送阻止方法であって、
     前記バスからフレームを受信する受信ステップと、
     フレームの伝送の阻止を許容するか否かを示す管理情報に基づいて、前記受信ステップで受信されたフレームが所定条件を満たす場合に当該フレームの伝送を阻止する所定処理を実行するか否かを切り替える処理ステップとを含む
     フレーム伝送阻止方法。
  19.  バスを介して通信する複数の電子制御ユニットを備える車載ネットワークシステムであって、
     前記バスからフレームを受信する受信部と、
     フレームの伝送の阻止を許容するか否かを示す管理情報に基づいて、前記受信部により受信されたフレームが所定条件を満たす場合に当該フレームの伝送を阻止する所定処理を実行するか否かを切り替える処理部とを備える
     車載ネットワークシステム。
PCT/JP2017/020558 2016-07-28 2017-06-02 フレーム伝送阻止装置、フレーム伝送阻止方法及び車載ネットワークシステム WO2018020833A1 (ja)

Priority Applications (5)

Application Number Priority Date Filing Date Title
EP17833843.0A EP3493480B1 (en) 2016-07-28 2017-06-02 Frame transmission blocking device, frame transmission blocking method and vehicle-mounted network system
EP22187436.5A EP4109826A1 (en) 2016-07-28 2017-06-02 Frame transmission prevention apparatus, frame transmission prevention method, and in-vehicle network system
EP20187329.6A EP3748919B1 (en) 2016-07-28 2017-06-02 Frame transmission prevention apparatus, frame transmission prevention method, and in-vehicle network system
CN201780019869.2A CN109076001B (zh) 2016-07-28 2017-06-02 帧传送阻止装置、帧传送阻止方法及车载网络系统
US16/255,697 US11356475B2 (en) 2016-07-28 2019-01-23 Frame transmission prevention apparatus, frame transmission prevention method, and in-vehicle network system

Applications Claiming Priority (4)

Application Number Priority Date Filing Date Title
JP2016148990 2016-07-28
JP2016-148990 2016-07-28
JP2017-096138 2017-05-15
JP2017096138A JP6849528B2 (ja) 2016-07-28 2017-05-15 フレーム伝送阻止装置、フレーム伝送阻止方法及び車載ネットワークシステム

Related Child Applications (1)

Application Number Title Priority Date Filing Date
US16/255,697 Continuation US11356475B2 (en) 2016-07-28 2019-01-23 Frame transmission prevention apparatus, frame transmission prevention method, and in-vehicle network system

Publications (1)

Publication Number Publication Date
WO2018020833A1 true WO2018020833A1 (ja) 2018-02-01

Family

ID=61016686

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/JP2017/020558 WO2018020833A1 (ja) 2016-07-28 2017-06-02 フレーム伝送阻止装置、フレーム伝送阻止方法及び車載ネットワークシステム

Country Status (3)

Country Link
EP (1) EP4109826A1 (ja)
CN (1) CN113783958A (ja)
WO (1) WO2018020833A1 (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN108923904A (zh) * 2018-06-29 2018-11-30 百度在线网络技术(北京)有限公司 汽车指令处理方法、装置、设备、云平台及存储介质

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2014146868A (ja) 2013-01-28 2014-08-14 Hitachi Automotive Systems Ltd ネットワーク装置およびデータ送受信システム
JP2014236248A (ja) * 2013-05-30 2014-12-15 日立オートモティブシステムズ株式会社 電子制御装置、電子制御システム
WO2015159520A1 (ja) * 2014-04-17 2015-10-22 パナソニック インテレクチュアル プロパティ コーポレーション オブ アメリカ 車載ネットワークシステム、不正検知電子制御ユニット及び不正検知方法
JP2016134914A (ja) * 2015-01-20 2016-07-25 パナソニック インテレクチュアル プロパティ コーポレーション オブ アメリカPanasonic Intellectual Property Corporation of America 不正検知ルール更新方法、不正検知電子制御ユニット及び車載ネットワークシステム
JP2016134913A (ja) * 2015-01-20 2016-07-25 パナソニック インテレクチュアル プロパティ コーポレーション オブ アメリカPanasonic Intellectual Property Corporation of America 不正フレーム対処方法、不正検知電子制御ユニット及び車載ネットワークシステム

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2014146868A (ja) 2013-01-28 2014-08-14 Hitachi Automotive Systems Ltd ネットワーク装置およびデータ送受信システム
JP2014236248A (ja) * 2013-05-30 2014-12-15 日立オートモティブシステムズ株式会社 電子制御装置、電子制御システム
WO2015159520A1 (ja) * 2014-04-17 2015-10-22 パナソニック インテレクチュアル プロパティ コーポレーション オブ アメリカ 車載ネットワークシステム、不正検知電子制御ユニット及び不正検知方法
JP2016134914A (ja) * 2015-01-20 2016-07-25 パナソニック インテレクチュアル プロパティ コーポレーション オブ アメリカPanasonic Intellectual Property Corporation of America 不正検知ルール更新方法、不正検知電子制御ユニット及び車載ネットワークシステム
JP2016134913A (ja) * 2015-01-20 2016-07-25 パナソニック インテレクチュアル プロパティ コーポレーション オブ アメリカPanasonic Intellectual Property Corporation of America 不正フレーム対処方法、不正検知電子制御ユニット及び車載ネットワークシステム

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
"Vehicular Technology Conference (VTC Spring", 2012, IEEE, article "A Method of Preventing Unauthorized Data Transmission in Controller Area Network"

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN108923904A (zh) * 2018-06-29 2018-11-30 百度在线网络技术(北京)有限公司 汽车指令处理方法、装置、设备、云平台及存储介质

Also Published As

Publication number Publication date
EP4109826A1 (en) 2022-12-28
CN113783958A (zh) 2021-12-10

Similar Documents

Publication Publication Date Title
JP7027592B2 (ja) ゲートウェイ装置、方法及び車載ネットワークシステム
US11277427B2 (en) System and method for time based anomaly detection in an in-vehicle communication
CN111344192B (zh) 禁用恶意电子控制单元的系统、方法和计算机程序产品
JP6487406B2 (ja) ネットワーク通信システム
US11115433B2 (en) System and method for content based anomaly detection in an in-vehicle communication network
JP6594732B2 (ja) 不正フレーム対処方法、不正検知電子制御ユニット及び車載ネットワークシステム
JP2022125099A (ja) 不正検知サーバ、及び、方法
CN110546921B (zh) 不正当检测方法、不正当检测装置以及程序
CN109076016B (zh) 非法通信检测基准决定方法、决定系统以及记录介质
CN111066001A (zh) 日志输出方法、日志输出装置以及程序
JP6527647B1 (ja) 不正検知方法、不正検知装置及びプログラム
WO2018020833A1 (ja) フレーム伝送阻止装置、フレーム伝送阻止方法及び車載ネットワークシステム
WO2017056395A1 (ja) 不正検知電子制御ユニット、車載ネットワークシステム及び通信方法

Legal Events

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

Ref document number: 17833843

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

Country of ref document: EP

Effective date: 20190228