[go: up one dir, main page]

WO2020090108A1 - 不正制御防止システムおよび、不正制御防止方法 - Google Patents

不正制御防止システムおよび、不正制御防止方法 Download PDF

Info

Publication number
WO2020090108A1
WO2020090108A1 PCT/JP2018/040832 JP2018040832W WO2020090108A1 WO 2020090108 A1 WO2020090108 A1 WO 2020090108A1 JP 2018040832 W JP2018040832 W JP 2018040832W WO 2020090108 A1 WO2020090108 A1 WO 2020090108A1
Authority
WO
WIPO (PCT)
Prior art keywords
frame
error
invalidation
unit
branch
Prior art date
Legal status (The legal status 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 status listed.)
Ceased
Application number
PCT/JP2018/040832
Other languages
English (en)
French (fr)
Inventor
剛 岸川
平野 亮
良浩 氏家
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Panasonic Intellectual Property Corp of America
Original Assignee
Panasonic Intellectual Property Corp of America
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Panasonic Intellectual Property Corp of America filed Critical Panasonic Intellectual Property Corp of America
Priority to PCT/JP2018/040832 priority Critical patent/WO2020090108A1/ja
Priority to CN201980066276.0A priority patent/CN112823494B/zh
Priority to PCT/JP2019/042777 priority patent/WO2020090976A1/ja
Priority to JP2020554037A priority patent/JP7340537B2/ja
Priority to EP19879009.9A priority patent/EP3876480B1/en
Publication of WO2020090108A1 publication Critical patent/WO2020090108A1/ja
Priority to US17/224,883 priority patent/US11909748B2/en
Anticipated expiration legal-status Critical
Ceased legal-status Critical Current

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/14Network architectures or network communication protocols for network security for detecting or protecting against malicious traffic
    • H04L63/1408Network architectures or network communication protocols for network security for detecting or protecting against malicious traffic by monitoring network traffic
    • H04L63/1416Event detection, e.g. attack signature detection
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L1/00Arrangements for detecting or preventing errors in the information received
    • H04L1/20Arrangements for detecting or preventing errors in the information received using signal quality detector
    • H04L1/201Frame classification, e.g. bad, good or erased
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L12/00Data switching networks
    • H04L12/28Data switching networks characterised by path configuration, e.g. LAN [Local Area Networks] or WAN [Wide Area Networks]
    • H04L12/40Bus networks
    • H04L12/40052High-speed IEEE 1394 serial bus
    • H04L12/40104Security; Encryption; Content protection
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L12/00Data switching networks
    • H04L12/28Data switching networks characterised by path configuration, e.g. LAN [Local Area Networks] or WAN [Wide Area Networks]
    • H04L12/44Star or tree networks
    • 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/0281Proxies
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/08Network architectures or network communication protocols for network security for authentication of entities
    • H04L63/0823Network architectures or network communication protocols for network security for authentication of entities using certificates
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/10Network architectures or network communication protocols for network security for controlling access to devices or network resources
    • H04L63/108Network architectures or network communication protocols for network security for controlling access to devices or network resources when the policy decisions are valid for a limited amount of time
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L1/00Arrangements for detecting or preventing errors in the information received
    • H04L2001/0092Error control systems characterised by the topology of the transmission link
    • H04L2001/0093Point-to-multipoint
    • 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/40241Flexray

Definitions

  • the present disclosure relates to a system that detects and invalidates transmission of an unauthorized frame in an in-vehicle network.
  • ECUs electronice control units
  • a network connecting these ECUs is called an in-vehicle network.
  • FlexRay which is designed as a high-speed and high-reliability protocol than the currently mainstream Controller Area Network (CAN).
  • FlexRay the value of "0" and the value of "1" are represented by the voltage difference between two twisted wires.
  • the ECU connected to the bus is called a node.
  • Each node connected to the bus sends and receives a message called a frame.
  • FlexRay is a Time Division Multiple Access (hereinafter TDMA) system, and each node transmits a frame at a predetermined timing.
  • TDMA Time Division Multiple Access
  • Each node sends frames in static and dynamic segments.
  • the static segment and the dynamic segment further consist of times when one frame called a slot can be transmitted.
  • the transmitting node transmits the frame based on the slot number, which is the transmission timing that is predetermined for each frame.
  • the slot number which is the transmission timing that is predetermined for each frame.
  • Each receiving node receives only a frame having a predetermined slot number.
  • cycle multiplexing a method called "cycle multiplexing" is used, which realizes communication of different frames depending on the cycle even if the frames have the same slot number.
  • FlexRay not only a bus type network topology in which all nodes are connected to one bus like CAN, but also a star type network topology via a star coupler or a hybrid type bus type and star type network It is possible to design the topology.
  • the star coupler routes the signals of each branch to multiple buses called branches to achieve network synchronization. At this time, if an unauthorized ECU exists in a certain branch and the unauthorized ECU transmits the unauthorized frame before the regular ECU sends the unauthorized frame, the star coupler specifications cause the unauthorized frame to be transmitted. It is possible to cause illegal control of the vehicle by being ignored and the incorrect frame being routed.
  • Patent Document 1 an in-vehicle network that prevents control by an unauthorized frame by detecting whether or not a frame is transmitted at a predetermined communication interval and determining that a frame deviating from the specified communication interval is illegal A monitoring device is disclosed.
  • the present disclosure provides a safe vehicle-mounted network system that detects and invalidates the transmission of an invalid frame for a protocol that is a time-triggered communication method that adopts a star-type topology.
  • the purpose is to do.
  • an unauthorized control prevention system in an in-vehicle network that is a time-triggered communication method based on a time slot.
  • One or more electronic control devices are connected, the one or more electronic control devices transmit and receive frames within a predetermined time slot, and the fraud control prevention system includes one or more error monitoring devices and one or more frame invalidation devices.
  • a device, and the one or more error monitoring devices each include a first error detection unit and an error notification unit, and the error detection unit is connected to the vehicle-mounted network and flows to the vehicle-mounted network.
  • the error notification unit Upon receiving a frame and detecting that an error has occurred in the received frame, the error notification unit is configured to detect the first error.
  • the knowledge unit When the knowledge unit detects the occurrence of an error, it transmits an error notification frame including information capable of identifying the type of the frame in which the error has occurred, and each of the one or more frame invalidating devices includes a second error detection unit. And an invalidation unit, wherein the invalidation unit receives a predetermined number or more of the error notification frames, and an error included in the error notification frame has occurred in the second error detection unit.
  • the frame When no error is detected with respect to the frame, the frame is set as the invalidation target frame and a transition is made to a first invalidation mode in which reception of subsequent invalidation target frames is invalidated.
  • an unauthorized control prevention method is an unauthorized control prevention method in an in-vehicle network that is a time-triggered communication system based on a time slot.
  • One or more electronic control devices are connected, each of the one or more electronic control devices transmits and receives a frame within a predetermined time slot, and the illegal control prevention method includes one or more error monitoring steps and one or more error monitoring steps.
  • each of the one or more error monitoring steps includes a first error detecting step and an error notifying step, the error detecting step being connected to the vehicle-mounted network, Receive a frame flowing on the network, detect that an error has occurred in the received frame, and The error notification step transmits an error notification frame including information capable of identifying the type of the frame in which the error has occurred when the first error detection step detects the occurrence of the error, and invalidates the one or more frames.
  • Each of the steps comprises a second error detection step and a nullification step, wherein the nullification step receives the error notification frame, and in the second error detection step, the error notification frame is received.
  • a recording medium such as an apparatus, a system, an integrated circuit, a computer program, or a computer-readable CD-ROM, and the apparatus, the system, the method, the computer program. It may be realized by any combination of the recording medium and the recording medium.
  • the present disclosure even for an in-vehicle network that employs a time-triggered communication method in a star topology, it is possible to detect that an invalid frame is transmitted and invalidate the in-vehicle network.
  • the system as a whole can maintain a safe state.
  • FIG. 1 is an overall configuration diagram of an in-vehicle network system 10 according to the first embodiment.
  • FIG. 2 is a diagram of a FlexRay cycle according to the first embodiment.
  • FIG. 3 is a diagram showing the format of the FlexRay frame in the first embodiment.
  • FIG. 4 is a configuration diagram of the ECU in the first embodiment.
  • FIG. 5 is a configuration diagram of the monitoring ECU in the first embodiment.
  • FIG. 6 is a configuration diagram of the star coupler according to the first embodiment.
  • FIG. 7 is a diagram showing an example of communication setting parameters in the first embodiment.
  • FIG. 8 is a diagram showing an example (static frame) of the regular ID list according to the first embodiment.
  • FIG. 9 is a diagram showing an example (dynamic frame) of the regular ID list according to the first embodiment.
  • FIG. 10 is a diagram showing an example of a branch state in the first embodiment.
  • FIG. 11A is a diagram showing an example of an error notification frame according to the first embodiment.
  • FIG. 11B is a diagram showing an example of an error notification abnormal frame according to the first embodiment.
  • FIG. 12 is a processing flowchart of the monitoring ECU in the first embodiment.
  • FIG. 13 is an overall sequence diagram (transition to invalidation mode) according to the first embodiment.
  • FIG. 14 is a diagram of the entire sequence (processing in the invalidation mode) according to the first embodiment.
  • FIG. 15 is a sequence diagram when the invalidation mode change frame in the first embodiment is camouflaged.
  • An unauthorized control prevention system is an unauthorized control prevention system in an in-vehicle network that is a time-triggered communication method based on time slots, and one or more electronic control devices are connected to the in-vehicle network.
  • the one or more electronic control devices transmit and receive frames within a predetermined time slot
  • the fraud control prevention system includes one or more error monitoring devices and one or more frame invalidation devices.
  • Each of the error monitoring devices described above includes a first error detection unit and an error notification unit, and the error detection unit is connected to the vehicle-mounted network, receives a frame flowing to the vehicle-mounted network, and receives the frame. An error has occurred in the first error detection unit, and the first error detection unit detects that the error has occurred.
  • an error notification frame including information capable of identifying the type of frame in which an error has occurred is transmitted, and each of the one or more frame invalidating devices includes a second error detecting unit and a nullifying unit.
  • the disabling unit has received a predetermined number or more of the error notification frames, and the second error detection unit has not detected an error regarding a frame in which an error is included in the error notification frame.
  • the frame is set as the invalidation target frame, and a transition is made to a first invalidation mode in which reception of subsequent invalidation target frames is invalidated.
  • each of the one or more frame invalidating devices further includes a frame transmitting / receiving unit, and the frame transmitting / receiving unit transmits / receives a frame within a predetermined time slot of the vehicle-mounted network to perform the first invalidation.
  • the frame of the invalidation target frame is not received, and the frame of the same identifier is transmitted in the same time slot as the invalidation target frame. The reception of the target frame may be invalidated.
  • each of the one or more error monitoring devices further includes an error notification frame monitoring unit, and the error notification frame monitoring unit monitors whether an error has occurred in the first error notification frame transmitted by itself.
  • the error notification unit further transmits an error notification abnormal frame when the error notification frame monitoring unit detects an error
  • each of the one or more frame invalidating devices further includes An error state holding unit that holds at least one of the number of times of error detection and the number of times of receiving an error notification frame for each type is provided, and the invalidating unit further includes the error notification when the error notification abnormal frame is received. If either the number of error detections or the number of error notification frame That frame and disable target frame may be a transition to the first invalidation mode.
  • the time-triggered communication method may be the FlexRay protocol, and the error may be any of SyncError, ContentError, BoundaryViolation, and TxConflict, which are defined in the FlexRay protocol.
  • the on-vehicle network has a plurality of branches and is a star topology for transmitting and receiving frames via a star coupler, wherein the error notification frame is a dynamic frame in the FlexRay protocol, and the error notification unit May determine the number of cycles for transmitting the error notification frame according to the branch to which the error monitoring device is connected.
  • each of the one or more error monitoring devices further includes an invalidation mode switching unit and an illegal branch identifying unit, and the invalidation mode switching unit is provided for each of the one or more frame invalidation devices.
  • An invalidation mode validation flag, and a value for identifying the one or more frame invalidation devices that are transmission destinations, or a value for identifying a branch to which the one or more frame invalidation devices are connected In order to set the invalidation switching frame to the first branch to be invalidated, at least one frame invalidation device transits to the first invalidation mode in the first branch, and other than the first branch The frame invalidation device connected to the second branch transmits the second branch so as not to transit to the first invalidation mode, and invalidates the second branch after a predetermined period elapses.
  • the invalidation switching frame is transmitted for all the branches, and the illegal branch specifying unit receives the invalidation target branch and the invalidation target branch during the period in which the invalidation switching frame is transmitted.
  • the number of error notification frames is held, the invalidation target branch when the number of error notification frames becomes maximum is determined as an illegal branch, and the invalidation unit further sets the invalidation switching frame to the invalidation switching frame.
  • the validating flag of the invalidation mode included, the identifier of the invalidating device, and the identifiers of the one or more frame invalidating devices including the invalidating unit match, or the identifier of the branch and the invalidating device If the branches connected to match, the transition to the first invalidation mode may be performed according to the validation flag of the invalidation mode. .
  • the branch to which the device that transmits the invalid frame is connected becomes clear, and useful information can be obtained.
  • Each of the frame invalidating devices further includes a frame transmitting unit, the frame transmitting unit transmitting a first frame within a predetermined time slot of the vehicle-mounted network, and the frame invalidating device is Further, when the second error detection unit detects an error in the first frame, and the number of received error notification frames is less than or equal to a predetermined number, the first frame is set as the invalidation target frame. In the second invalidation mode, the frame transmission unit may advance the transmission start timing of the first frame in the state of the second invalidation mode.
  • the transmission start timing of the legitimate frame is earlier than the fraudulent frame, and it is effective to suppress the influence of the fraudulent frame.
  • An unauthorized control prevention method is an unauthorized control prevention method in an in-vehicle network which is a time-triggered communication system based on a time slot, and the in-vehicle network includes one or more electronic control devices.
  • Each of the one or more electronic control units connected to each other transmits and receives a frame within a predetermined time slot, and the fraud control prevention method includes one or more error monitoring steps and one or more frame invalidation steps.
  • the first and second error monitoring steps each include a first error detection step and an error notification step, wherein the error detection step is connected to the vehicle-mounted network and receives a frame flowing to the vehicle-mounted network, Detecting that an error has occurred in the received frame, the error notifying step is When the error detection step 1 detects the occurrence of an error, an error notification frame including information capable of identifying the type of the frame in which the error has occurred is transmitted, and each of the one or more frame invalidation steps includes a second Error detection step and invalidation step, wherein the invalidation step receives the error notification frame, and an error included in the error notification frame has occurred in the second error detection step. When it is not detected that an error related to a frame has occurred, a transition is made to a nullification mode for nullifying subsequent reception of the frame.
  • FIG. 1 is a diagram illustrating an overall configuration of an in-vehicle network system 10 according to the present disclosure.
  • the in-vehicle network system 10 includes branches 100a, 100b, 100c, 100d, ECUs 200a, 200b, 200c, 200d, monitoring ECUs 400a, 400b, 400c, 400d connected to the respective branches, and control targets of the ECU 200a.
  • ECUs 200a to 200d realize vehicle control by transmitting and receiving frames through the branches.
  • the monitoring ECUs 400a, 400b, 400c, and 400d detect illegal frame transmissions by observing the branches 100a, 100b, 100c, and 100d, respectively, and invalidate the illegal frames.
  • the star coupler 300 shapes the signal so that the same signal flows in the branches 100a, 100b, 100c, and 100d.
  • the ECUs 200a, 200b, 200c and 200d are synchronized in time through the branches 100a, 100b, 100c and 100d.
  • FIG. 2 is a diagram showing a cycle of FlexRay communication according to the present disclosure.
  • the FlexRay communication is performed in a unit called a cycle, each node synchronously holds the number of times the cycle is repeated (cycle counter), and the cycle counter takes a value of 0 to 63. .. If the cycle counter is 63, the next cycle resets the cycle counter to zero.
  • Each cycle consists of four segments: static segment (Static segment), dynamic segment (Dynamic segment), symbol window (Symbol window), and network idle time (NIT).
  • Static segment static segment
  • Dynamic segment dynamic segment
  • Symbol window symbol window
  • NIT network idle time
  • the time of each segment is common to the entire FlexRay network (cluster) depending on the parameters designed in advance, so the time of one cycle is also common to the cluster.
  • -A static segment consists of multiple slots.
  • the number of slots and the time of each slot are common in the cluster.
  • the FlexRay frame one frame is transmitted in one slot, and the slot number (slot number) becomes the frame identifier (Frame ID).
  • the ECUs 200a, 200b, 200c, 200d are designed to transmit a frame at a predetermined timing (slot number).
  • a frame transmitted in a static segment is called a static frame.
  • the static frame has the same payload length in the cluster.
  • the dynamic segment is composed of slots called minislots, although not shown.
  • the mini-slot also has a slot number
  • the ECUs 200a, 200b, 200c, and 200d are designed to perform transmission at a predetermined timing (slot number), but unlike the static segment, it is not always the frame. Need not be sent.
  • Frames transmitted in dynamic segment We call dynamic frames.
  • the dynamic frame can take any value of 0 to 254 as the payload length.
  • the symbol window is the time zone during which signals called symbols are sent and received.
  • Network idle time is the time period during which communication is not performed and is always set at the end of the cycle.
  • the ECUs 200a, 200b, 200c, 200d perform time synchronization processing and the like.
  • FIG. 3 is a diagram showing a frame format of the FlexRay protocol according to the present disclosure.
  • the frame format is a common format for both static frames and dynamic frames.
  • the frame is composed of three segments of Header Segment, Payload Segment, and Trailer Segment.
  • Header Segment starts with Reserved bit and includes Payload preamble indicator, Null frame indicator, Sync frame indicator, and Startup frame indicator, each for indicating the type of frame.
  • the Header Segment further includes an 11-bit Frame ID, a 7-bit Payload length, an 11-bit Header CRC, and a 6-bit Cycle count.
  • the Frame ID is also called a slot ID and is used to identify the frame transmission timing and the frame contents.
  • Payload length can have a maximum value of 127.
  • Payload Segment stores the number of bytes obtained by multiplying the value of Payload length by 2.
  • Header CRC is a checksum calculated from a value including Sync frame indicator to Payload length.
  • Cycle count stores the current number of cycles.
  • the Payload Segment contains data representing the contents of the frame. Payload Segment stores the number of bytes that is twice the value of Payload length, and a maximum of 254 bytes is stored.
  • the CRC calculated from the value including all the frames is stored in the Trailer Segment.
  • FIG. 4 is a configuration diagram of the ECU 200a.
  • the ECU 200b, the ECU 200c, and the ECU 200d have the same configuration as the ECU 200a, and thus the description thereof will be omitted.
  • the ECU 200a includes a frame transmission / reception unit 201, a frame interpretation unit 202, an external device control unit 203, a frame generation unit 204, and a communication setting parameter holding unit 205.
  • the frame transmission / reception unit 201 acquires frame information by decoding a physical signal received from the branch 100a into a digital signal.
  • the frame transmission / reception unit 201 refers to the communication setting parameter held in the communication setting parameter holding unit 205 to synchronize the time with other ECUs and correctly receive the frame.
  • the frame transmission / reception unit 201 converts a frame into a physical signal at a predetermined timing according to a transmission frame request notified from the frame generation unit 204, and transmits the physical signal to the branch 100a.
  • the frame interpretation unit 202 interprets the payload included in the received frame notified from the frame transmission / reception unit 201, and sends it to the external device control unit 203 to control the handle 210 connected to the ECU 200a according to the content of the payload. Notify me.
  • the frame interpretation unit 202 determines the traveling state based on the information on the vehicle speed notified from another ECU, realizes the assist control of the steering wheel according to the traveling state, and the steering in the automatic parking mode. Automatic steering of the steering wheel is realized based on the steering instruction signal.
  • the external device control unit 203 controls the handle 210 connected to the ECU 200a. It also monitors the state of the handle 210 and notifies the frame generation unit 204 of a frame transmission request for notifying other ECUs of the state. For example, the external device control unit 203 notifies the frame generation unit 204 of a frame request for notifying the angle of the handle 210.
  • the frame generation unit 204 generates a frame based on the notified signal and makes a transmission request to the frame transmission / reception unit 201.
  • the communication setting parameter holding unit 205 holds common parameters in the cluster for correctly converting a physical signal into a digital signal. Details of the communication setting parameters will be described later.
  • FIG. 5 is a configuration diagram of the monitoring ECU 400a. Since the monitoring ECUs 400b, 400c, 400d have the same configuration as the monitoring ECU 400a, their description will be omitted. Further, of the configurations of the monitoring ECU 400a, the same numbers are given to the same configurations as the ECU 200a, and the description thereof will be omitted.
  • the monitoring ECU 400a includes a frame transmission / reception unit 201, an error detection unit 402, a frame generation unit 204, a communication setting parameter holding unit 205, a regular ID list holding unit 403, and a branch state holding unit 404.
  • the error detection unit 402 is notified of the received frame from the frame transmission / reception unit 201, and determines whether or not the notified data frame is received without error. Whether or not an error has occurred in the frame by the error detection unit 402 is determined by whether any flag is set in any of TxConflict, SyntaxError, ContentError, and BoundaryViolation defined by the protocol.
  • the error detection unit 402 determines that an error has occurred in the notified frame, an error occurs with a specific ID in its own branch with respect to an ECU existing in another branch other than its own branch.
  • the error detection unit 402 notifies the frame generation unit 204 in order to transmit the frame for notifying that.
  • the error detection unit 402 determines that an illegal frame is transmitted in another branch, and the error detection unit 402 notifies the frame generation unit 204 in order to transmit the invalidation mode change frame. ..
  • the error detection unit 402 when receiving the invalidation mode change frame and when receiving the error notification abnormal frame, invalidates the frame of the ID in which an error has occurred in another branch.
  • the error detection unit 402 notifies the frame generation unit 204 to start transmission of the frame.
  • the failure mode is a mode for turning off the automatic control function by the driving support function, that is, a mode for invalidating the frame related to the automatic control.
  • the regular ID list holding unit 403 stores a list of IDs related to frames transmitted by each ECU. Details of the regular ID list will be described later.
  • the branch state holding unit 404 stores information about the existing branches of the monitoring ECU 400a, the occurrence status of errors in each branch, the current mode, and the like. Details of the branch state stored in the branch state holding unit 404 will be described later.
  • FIG. 6 is a configuration diagram of the star coupler 300.
  • the star coupler 300 includes transceiver units 301a, 301b, 301c and 301d and a routing unit 302.
  • the transceiver unit 301a converts the physical signal received from the branch 100a into a digital signal and notifies the routing unit 302 of the digital signal.
  • the notified digital signal is converted into a physical signal and transferred to the branch 100a.
  • the routing unit 302 transfers the digital signal notified from the transceiver unit 301a to the transceiver units 301b, 301c, 301d other than the transceiver unit 301a.
  • the digital signal is notified from the transceiver unit 301b
  • the digital signal is notified to the transceiver units 301a, 301c, and 301d excluding the transceiver unit 301b.
  • the routing unit 302 when receiving a digital signal from any of the plurality of transceiver units, notifies the other transceiver unit of the signal from the transceiver unit that first receives the digital signal.
  • FIG. 7 shows an example of the communication setting parameter stored in the communication setting parameter holding unit 205.
  • the communication setting parameters include a baud rate, a static segment slot ID, a dynamic segment slot ID, a static slot payload length, and the like.
  • the baud rate indicating the communication speed is 10 Mbps
  • the slot ID of the static segment is 1 to 50
  • the slot ID of the dynamic segment is 51 to 100.
  • the payload length of the static slot is 8 (that is, 16 bytes).
  • the values of these communication setting parameters are shared by all ECUs in the cluster, and FlexRay frames are transmitted and received based on these values.
  • the value of the communication setting parameter is only an example, and another value may be used.
  • the items of the communication setting parameters in FIG. 7 are also merely examples, and may include, for example, the length of each segment, the length of a slot, or the like, or may include some of the described parameters. It does not have to be.
  • FIG. 8 shows an example of a regular ID list (static frame) stored in the regular ID list holding unit 403 held by the monitoring ECU 400a.
  • the regular ID list holds the slot ID, Cycle offset, Cycle reception, source branch information, and payload information included in the frame.
  • Cycle offset and Cycle reception are the information necessary to extract the target frame when the method of transmitting / receiving a frame with different contents is used even with the same slot ID called cycle multiplexing (cycle multiplexing). ..
  • cycle multiplexing cycle multiplexing
  • the regular ID list means that a frame with a slot ID of 1 has a Cycle offset of 0 and a Cycle reception of 1, that is, the same frame is transmitted in all cycles, and the source branch of the frame is 100b. Yes, it indicates that the payload contains speed information.
  • a frame with a slot ID of 3 means that it is sent only when the Cycle offset is 0 and the Cycle reception is 2, that is, when the cycle counter is even, the source branch of the frame is 100a, and the payload has a handle angle. Information is included.
  • a frame with a slot ID of 4 means that it is sent only when the Cycle offset is 1 and the Cycle reception is 2, that is, when the cycle counter is an odd number.
  • the frame source branch is 100b, and the payload has a gear state. Information is included.
  • a frame with a slot ID of 5 has a Cycle offset of 0, a Cycle reception of 1, a frame source branch of 100b, and indicates that the payload contains information about brake hydraulic pressure.
  • a frame with a slot ID of 6 has a Cycle offset of 2, a Cycle reception of 4, a frame source branch of 100d, and indicates that the payload contains information related to steering wheel steering instructions.
  • FIG. 9 shows an example of a regular ID list (dynamic frame) stored in the regular ID list holding unit 403 held by the monitoring ECU 400a.
  • the regular ID list (dynamic frame) holds the same information as in FIG.
  • the first frame has a Cycle Offset of 1, a Cycle Reception of 8, the source branch of the frame is the branch 100a, and the payload information in the branch 100a indicates that the frame with an ID of 1 contained an error. It is a frame to do.
  • Cycle Offset is 2, Cycle Reception is 8, the source branch of the frame is branch 100b, and the payload information in branch 100b indicates that the frame with ID 1 contained an error. It is a frame to do.
  • Cycle Offset is 3
  • Cycle Reception 8
  • the source branch of the frame is branch 100c, and in the branch 100c, the payload information notifies that the frame with ID 1 contains an error. It is a frame to do.
  • Cycle Offset is 4
  • Cycle Reception is 8 the source branch of the frame is branch 100d, and the payload information in branch 100d indicates that the frame with ID 1 contained an error. It is a frame to do.
  • the source branch can be changed by changing the Cycle Offset for one slot ID.
  • the Cycle offset of the frame whose slot ID is 56 corresponds to the source branch
  • the Cycle reception is 8
  • the source branch of the frame is all branches
  • the payload information is the error of the frame whose ID is 6. It is an occurrence notification.
  • the Cycle offset of the frame whose slot ID is 100 corresponds to the source branch, the Cycle reception is 8, the source branch of the frame is all branches, and the payload information has an error in the error notification frame. This is a notification.
  • FIG. 10 shows an example of the branch state stored in the branch state holding unit 404.
  • the branch in which the monitoring ECU 400a exists is 100a
  • the mode is normal, and with respect to the frame whose slot ID is 1, the number of times of reception of an errored frame is 0 in the branch 100a
  • the number of received error notification frames indicates that the number of frames received from the branch 100b is 0, the number of frames received from the branch 100c is 0, and the number of frames received from the branch 100d is 0.
  • the number of times an error frame is detected in the branch 100a is 10, the number of error notification frames received is 0, the number of frames received from the branch 100b is 0, and the number of frames received from the branch 100c is 0. The number of received frames is 0, and the number of frames received from the branch 100d is 0.
  • FIG. 11A is a diagram showing an example of an error notification frame
  • FIG. 11B is a diagram showing an example of an error notification abnormal frame.
  • FIG. 11A shows an error notification frame of slot ID 56 that notifies an error of a frame whose slot ID is 6.
  • the error notification frame is an example in which the Cycle is 17, and the payload is transmitted as 0x01010100.
  • the first byte of the payload, 0x01 indicates the source branch of the error notification frame, and 0x01 indicates that the frame is transmitted from the branch 100a.
  • the Cycle is 17, it can be understood that the frame is transmitted from the branch 100a. This is because even if an unauthorized ECU disguises the payload of the error notification frame and sends it, only the slot ID and the cycle information allow the monitoring ECU to accurately know that an error has occurred for the frame of the specific ID. This is so that it can be done.
  • the frame with the slot ID of 56 In the normal state where no error occurs, the frame with the slot ID of 56 is not transmitted / received. However, by transmitting the frame with the slot ID of 56 only when an error occurs in the frame with the slot ID of 6, the slot ID is When the frame of which the slot ID is 56 is received, the monitoring ECU can recognize that an error has occurred in the frame of which the slot ID is 6 regardless of the payload value of the frame.
  • the second byte of the payload represents the content of the frame, and 0x01 indicates that it is an error notification frame. When the value of the second byte is 2, it becomes a frame for notifying the other monitoring ECU of the mode change.
  • the third byte of the payload is error information, and 0x01 indicates that SyntaxError has occurred.
  • the 4th byte of the payload represents the information at the time of mode switching, and 0x00 indicates the normal mode.
  • FIG. 11B is an error notification abnormal frame whose slot ID is 100.
  • the error notification abnormal frame is transmitted when an error occurs in the transmission and reception of the error notification frame. For example, when the error notification frame is in error and cannot be transmitted, or when the error notification frame is supposed to be transmitted by itself even though the error notification frame is not transmitted.
  • the error notification abnormal frame is not normally transmitted / received, and the monitoring ECU forcibly shifts to the invalidation mode based on the error notification frame that is currently received when the error notification frame is received.
  • the slot ID is 100 and the Cycle is 1, which means that the branch 100a is the transmission source, and the payload is 0x01010038.
  • the first byte of the payload represents the source branch, 0x01 represents the source branch is the branch 100a, the second byte of the payload represents the abnormal code, and 0x01 represents the transmission of the error notification frame. It means that there was nothing.
  • the 2nd byte of the 3rd and 4th bytes of the payload represents the slot ID of the error notification frame in which the error notification abnormality has occurred, and indicates that the error notification frame of 0x38, decimal 56, has occurred. There is.
  • FIG. 12 is a flowchart showing the operation of the monitoring ECU 400a.
  • the monitoring ECU 400a receives a frame, and when an error occurs in the received frame, updates the number of errors corresponding to each ID (S1001).
  • the monitoring ECU 400a transmits an error notification frame (S1003).
  • the monitoring ECU 400a confirms whether or not the frame in which the error is detected is the frame in which its own branch is the transmission source (S1004). When the transmission source of the frame of the ID that has detected the error is the own branch, the monitoring ECU 400a executes S1005. If not, the monitoring ECU 400a ends the process.
  • the monitoring ECU 400a waits for one cycle to receive an error notification frame in another branch (S1005).
  • the monitoring ECU 400a confirms whether or not an error notification frame for notifying that an error has occurred in the frame of the corresponding ID has been transmitted in all the branches (S1006).
  • the monitoring ECU 400a determines that a communication error has occurred, shifts to the failure mode (S1007), and ends the process.
  • the monitoring ECU 400a determines that the illegal frame is transmitted in the other branches, and transmits the invalidation mode change frame (S1008).
  • the monitoring ECU 400a confirms whether or not the invalidation mode change frame has been transmitted without error (S1009). When the invalidation mode change frame can be transmitted without error, the monitoring ECU 400a ends the process. If not, the monitoring ECU 400a executes S1012.
  • the monitoring ECU 400a determines whether or not the invalidation mode change frame is received (S1010). When the invalidation mode change frame is received, the monitoring ECU 400a confirms whether or not the received invalidation mode change frame is a frame that should be transmitted by itself (S1011).
  • the monitoring ECU 400a determines that an invalid frame has been transmitted and transmits an error notification abnormal frame (S1012).
  • the monitoring ECU 400a When the invalidation mode change frame which should be transmitted by itself is not received, the monitoring ECU 400a starts transmission of the same frame as the target ID, thereby causing a collision with an invalid frame and invalidating the frame. Perform (S1014).
  • the monitoring ECU 400a confirms whether or not the error notification abnormal frame is received (S1013). When the error notification abnormal frame is not received, the monitoring ECU 400a ends the process.
  • the monitoring ECU 400a shifts to the invalidation mode, the number of error notification frames received for each slot ID stored in the branch state holding unit is not 0, and the frame transmission for the ID is performed. Is started (S1014).
  • FIGS. 13 and 14 show overall sequence diagrams of the fraud control prevention system.
  • FIG. 13 shows a sequence until the monitoring ECU shifts to the invalidation mode
  • FIG. 14 shows an operation sequence after the monitoring ECU shifts to the invalidation mode.
  • the description of the operation sequence of the monitoring ECU 400b is omitted, but the same operation as that of the monitoring ECUs 400a, 400b, 400c is performed.
  • FIG. 13 and 14 show an operation sequence when the ECU 200c is deprived of control by the attacker via the external communication module 230.
  • the ECU 200c which has been deprived of control by the attacker, is an example in which an illegal steering wheel steering is attempted to be transmitted by transmitting an illegal steering wheel steering instruction frame to the ECU 200a.
  • the ECU 200c that has been deprived of control transmits a steering wheel steering instruction frame (control) (S1101).
  • the legitimate ECU 200d transmitting the steering wheel steering instruction frame sends the steering wheel steering instruction frame (uncontrolled) to the ECU 200c for a while (S1102).
  • the star coupler 300 transfers an illegal steering wheel steering instruction frame to the other branch, the frame transmission of which is started first (S1103).
  • An illegal frame is received at the branch 100a to which the ECU 200a is connected (S1105).
  • the ECU 200a controls the steering wheel based on the illegal frame (S1106). Therefore, improper control is triggered.
  • the monitoring ECU 400d Based on the error that has occurred in the branch 100d, the monitoring ECU 400d transmits an error notification frame (S1107).
  • the star coupler 300 transfers the error notification frame to another branch (S1108).
  • the monitoring ECU 400a and the monitoring ECU 400c receive the error notification frame and update the internal branch state (S1109).
  • the monitoring ECU 400d determines that the illegal frame is received in the other branch, and transmits the invalidation mode change frame (S1110).
  • the star coupler 300 transfers the invalidation mode change frame (S1111).
  • the monitoring ECU 400a and the monitoring ECU 400c transit to the invalidation mode and start transmitting the steering wheel steering instruction frame (S1112).
  • the ECU 200c again transmits an incorrect steering wheel steering instruction frame (S1113).
  • the star coupler 300 starts transfer of an invalid steering wheel steering instruction frame (S1114).
  • the monitoring ECUs 400a, 400c, 400d, and the ECU 200d that have transitioned to the invalidation mode transmit a steering wheel steering instruction frame (uncontrolled) (S1115).
  • the star coupler 300 transfers the signal in which the frame has collided to another branch (S1117).
  • the ECU 200a Since the ECU 200a has an error in the steering wheel steering instruction frame, the ECU 200a treats the frame as an invalid frame (S1119). This does not cause incorrect handle control.
  • FIG. 15 is a sequence diagram in the case where the invalidation mode change frame is also disguised by the ECU 200c and the monitoring ECU cannot normally transit to the invalidation mode. Since the sequence up to S1109 in FIG. 13 is the same, its description is omitted.
  • the ECU 200c transmits a disguised invalidation mode change frame so that another monitoring ECU does not transition to the invalidation mode (S1210).
  • the monitoring ECU 400d transmits the invalidation mode change frame so that the other monitoring ECUs transit to the invalidation mode after a short time (S1211).
  • the star coupler 300 transfers the invalid invalidation mode change frame whose transmission was started first (S1212).
  • the invalidation mode change frame transmitted by the monitoring ECU 400d collides with the transferred invalid frame, resulting in an error (S1213).
  • the monitoring ECU 400a and the monitoring ECU 400c receive the invalid invalidation mode change frame, but the transition to the invalidation mode does not occur. Even if it is an illegal frame at this time, since the slot ID is a frame transmitted only when an error is detected, each monitoring ECU updates the branch state (S1214).
  • the monitoring ECU 400d transmits an error notification abnormal frame (S1215).
  • the star coupler 300 transfers the error notification abnormal frame (S1216).
  • the monitoring ECUs 400a and 400c Upon receiving the error notification abnormal frame, the monitoring ECUs 400a and 400c transit to the invalidation mode (S1217).
  • each monitoring ECU can transition to the invalidation mode.
  • a star type network topology is shown, but the network topology is not limited.
  • a network topology such as a bus type or a star type / bus type hybrid may be adopted.
  • the bus type is effective in invalidating the frame transmitted by the ECU when the control of the transmission source ECU is taken.
  • the error detection unit exists only in the monitoring ECU, but it may exist in each ECU. This is effective because each ECU can determine a frame error and control based on an incorrect frame can be suppressed. In particular, it is not necessary to provide a special monitoring ECU, which leads to space saving, power saving, and cost saving, which is effective.
  • a frame having the same slot ID as that of the illegal frame is transmitted to collide the frames and invalidate them. It is not limited to this.
  • the receiving ECU ignores the frame with the ID when receiving the frame.
  • a regular transmission ECU it is possible to take measures such as having the star coupler transfer the frame by advancing the frame transmission timing. As a result, it is not necessary to transmit a frame for invalidation, and it is possible to invalidate an invalid frame.
  • the monitoring ECU transmits the invalidation mode change frame based on the error detection state of the frame.
  • the invalidation mode change frame is not limited to the frame error detection state. You may send it.
  • the invalidation mode change frame for invalidating the frame with the ID May be sent. This makes it possible to invalidate an illegal frame even if an illegal frame is transmitted without the frame error being detected due to the attacker directly taking control of the transmission source ECU, etc. The nature is enhanced.
  • the error notification frame, the invalidation mode change frame, and the error notification abnormal frame are allocated to the dynamic frame, but they may be allocated to the static frame.
  • the dynamic frame even if an unauthorized ECU disguises and transmits an error notification frame, it is possible that an error has occurred at the time when the disguised frame is transmitted. Therefore, it becomes difficult for an unauthorized ECU to invalidate the error notification frame, and safety is improved.
  • the cycle in which the error notification frame, the invalidation mode change frame, and the error notification abnormal frame are transmitted is determined according to the branch in which the monitoring ECU exists. It is not necessary to decide the cycle for transmitting the data.
  • the above frame may be assigned to a different ID for each branch.
  • the transmission cycle according to the branch it is possible to efficiently use the finite ID space.
  • the monitoring ECU transitions to the invalidation mode starting from the invalidation mode change frame, but may transition to the invalidation mode without starting the invalidation mode change frame. For example, when the monitoring ECU receives the error notification frame without detecting any error in the ID corresponding to the error notification frame at the stage of receiving the error notification frame, it is determined that the mismatch occurs, and the invalidation mode is set. You may make a transition. Further, the invalidation mode may be set in accordance with the number of error notification frames received.
  • the monitoring ECU counts the number of error detections as a branch state, but the number of error detections may be measured within a predetermined time. For example, the value may be reset every 64 cycles. This is effective since it is possible to exclude the influence of past error detection.
  • the frame having the same slot ID was transmitted to invalidate the frame, but the frame at this time may be a null frame or any frame.
  • the monitoring ECU updates the branch state by receiving the error notification frame. However, the monitoring ECU also updates the branch state when the error notification frame is detected as an error. Good.
  • the invalidation mode change frame is transmitted to the monitoring ECUs of all the branches, but some monitoring ECUs are disabled by including the destination monitoring ECU in the payload, for example. You may change to the conversion mode. As a result, it is effective to identify the branch in which the unauthorized ECU exists from the number of error notification frames when the invalidation mode is switched in each branch.
  • the branch state is stored in plain text, but it may be stored in encrypted form.
  • the error notification frame, the invalidation mode change frame, and the error notification abnormal frame were communicated as plain text, but they may be encrypted and communicated. Alternatively, a message authentication code may be added for communication. As a result, communication of error notification frames and mode switching can be safely realized, and improvement in safety can be expected.
  • the transition to the invalidation mode is performed according to the state of the vehicle such as running or stopped, and the frame attributes such as the control frame and the state frame. May be determined. As a result, invalidation of a frame leading to unauthorized control can be executed as necessary, leading to power saving.
  • the FlexRay protocol was used as the in-vehicle network, but the present invention is not limited to this.
  • CAN CAN-FD (CAN with Flexible Data Rate), Ethernet, LIN (Local Interconnect Network), MOST (Media Oriented Systems Transport), etc.
  • the network may be a combination of these networks as sub-networks. It is especially effective for networks that use the time trigger method.
  • Each device in the above embodiments is specifically a computer system including a microprocessor, a ROM, a RAM, a hard disk unit, a display unit, a keyboard, a mouse, and the like.
  • a computer program is recorded in the RAM or the hard disk unit.
  • Each device achieves its function by the microprocessor operating according to the computer program.
  • the computer program is configured by combining a plurality of instruction codes indicating instructions to the computer in order to achieve a predetermined function.
  • Part or all of the constituent elements of each device in the above embodiments may be composed of one system LSI (Large Scale Integration).
  • the system LSI is a super-multifunctional LSI manufactured by integrating a plurality of constituent parts on a single chip, and specifically, is a computer system including a microprocessor, ROM, RAM and the like. .. A computer program is recorded in the RAM.
  • the system LSI achieves its function by the microprocessor operating according to the computer program.
  • each part of the constituent elements of each of the above devices may be individually made into a single chip, or may be made into a single chip so as to include some or all.
  • system LSI may also 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, and it may be realized by a dedicated circuit or a general-purpose processor.
  • a programmable programmable gate array (FPGA) or a reconfigurable processor capable of reconfiguring the connection and setting of circuit cells inside the LSI may be used after the LSI is manufactured.
  • Part or all of the constituent elements of each of the above devices may be configured with an IC card that can be attached to or detached from each device or a single module.
  • the IC card or module is a computer system including a microprocessor, ROM, RAM and the like.
  • the IC card or module may include the above-mentioned super multifunctional LSI.
  • the IC card or module achieves its function by the microprocessor operating according to the computer program. This IC card or this module may be tamper resistant.
  • the present disclosure may be the method described above. Further, it may be a computer program that realizes these methods by a computer, or may be a digital signal including the computer program.
  • the present disclosure also discloses a computer-readable recording medium such as a flexible disk, a hard disk, a CD-ROM, a MO, a DVD, a DVD-ROM, a DVD-RAM, a BD (Blu-ray (registered). It may be recorded in a trademark) Disc), a semiconductor memory, or the like. Further, it may be a digital signal recorded on these recording media.
  • a computer-readable recording medium such as a flexible disk, a hard disk, a CD-ROM, a MO, a DVD, a DVD-ROM, a DVD-RAM, a BD (Blu-ray (registered). It may be recorded in a trademark) Disc), a semiconductor memory, or the like. Further, it may be a digital signal recorded on these recording media.
  • the present disclosure may transmit a computer program or a digital signal via an electric communication line, a wireless or wired communication line, a network represented by the Internet, a data broadcast, or the like.
  • the present disclosure may be a computer system including a microprocessor and a memory, the memory recording the above computer program, and the microprocessor may operate according to the computer program.
  • the program or the digital signal may be recorded on a recording medium and transferred, or the program or the digital signal may be transferred via a network or the like to be implemented by another independent computer system.
  • the present disclosure provides a safe vehicle network system that observes frames flowing in the vehicle network, detects illegal frames, and invalidates the frames. This allows the vehicle-mounted network system as a whole to maintain a safe state.

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Computer Security & Cryptography (AREA)
  • Computer Hardware Design (AREA)
  • Computing Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Quality & Reliability (AREA)
  • Small-Scale Networks (AREA)

Abstract

タイムトリガー型通信方式の車載ネットワークの不正制御防止システムで、ネットワークに電子制御装置が接続され、所定タイムスロット内でフレームを送受信し、不正制御防止システムはエラー監視装置とフレーム無効化装置を備え、エラー監視装置は第1のエラー検知部とエラー通知部を備え、エラー検知部はネットワークに流れるフレームを受信し、受信したフレームにエラーが発生したことを検知し、エラー通知部は第1のエラー検知部がエラーの発生を検知した場合にエラーの発生したフレームの種類を含むエラー通知フレームを送信し、フレーム無効化装置は第2のエラー検知部と無効化部を備え、無効化部は、エラー通知フレームを所定数以上受信しかつ第2のエラー検知部においてエラー通知フレームに含まれるエラーの発生したフレームに関してエラーが検知されていない場合に、フレームを無効化対象フレームとして第1の無効化モードへ遷移する。

Description

不正制御防止システムおよび、不正制御防止方法
 本開示は、車載ネットワークにおける不正フレームの送信を検知し、無効化するシステムに関する。
 近年、自動車の中のシステムには、電子制御ユニット(以下、ECU)と呼ばれる装置が多数配置されている。これらのECUをつなぐネットワークを車載ネットワークと呼ばれる。
 車載ネットワークには、多数の規格が存在する。その中でも、現在、主流となっているController Area Network(以下CAN)よりも高速、高信頼プロトコルとして設計されたFlexRayという規格が存在する。
 FlexRayでは2本のより線の電圧差により“0”の値と“1”の値を表す。バスに接続されているECUはノードと呼ばれる。バスに接続されている各ノードは、フレームと呼ばれるメッセージを送受信する。FlexRayはTime Division Multiple Access(以下TDMA)方式であり、各ノードは予め決められたタイミングでフレームを送信する。
 FlexRayでは、最大の時間単位であるサイクルが存在し、各ノードはグローバルタイムを同期している。サイクルは「静的セグメント」「動的セグメント」「シンボルウィンドウ」「ネットワークアイドルタイム」の4つのセグメントから構成され、動的セグメントとシンボルウィンドウはオプションである。
 各ノードは、静的セグメントと動的セグメントにおいてフレームを送信する。静的セグメントと動的セグメントは、さらにスロットと呼ばれる1つのフレームを送信することができる時間から構成される。
 FlexRayでは送信先や送信元を示す識別子は存在せず、送信ノードはフレーム毎に予め定められた送信タイミングであるスロット番号に基づいてフレームを送信する。各受信ノードは予め決められたスロット番号のフレームのみを受信する。
 また、同一のスロット番号のフレームであっても、サイクルによって異なるフレームの通信を実現する「サイクルマルチプレキシング」と呼ばれる方法が用いられる。
 また、FlexRayでは、CANのように全てのノードが1つのバスに接続されるバス型ネットワークトポロジだけでなく、スターカプラを介したスター型のネットワークトポロジや、バス型とスター型のハイブリッド型のネットワークトポロジを設計することが可能である。
 スター型のネットワークトポロジでは、ブランチと呼ばれる複数のバスをスターカプラが各ブランチの信号をルーティングすることで、ネットワークの同期を実現している。このとき、あるブランチ内に不正なECUが存在し、正規なECUによる正規のフレームの送信より先に、不正なECUが不正なフレームを送信した場合に、スターカプラの仕様により、正規のフレームが無視され、不正なフレームがルーティングされてしまうことにより、車両の不正制御を引き起こすことが可能となってしまう。
 このような状況において、車載ネットワークの不正フレームの検知および防止技術が提案されている。
 例えば特許文献1では、フレームがあらかじめ規定された通信間隔で送信されているか否かを検出し、規定された通信間隔から外れるフレームを不正と判断することで、不正フレームによる制御を防止する車載ネットワーク監視装置が開示されている。
特許第5664799号公報
 しかしながら、タイムトリガー型の通信方式を採用しているFlexRayでは、予め規定された通信間隔で通信を行うため、ある特定の識別子をもつフレームの受信間隔は常に一定となり、特許文献1のような不正検知手法を適用することはできない。
 本開示は、上記課題を解決するため、スター型トポロジを採用するタイムトリガー型の通信方式であるプロトコルに対して、不正なフレームの送信を検知し、無効化する、安全な車載ネットワークシステムを提供することを目的とする。
 上記課題を解決するために、本開示の一実施様態の不正制御防止システムは、タイムスロットに基づくタイムトリガー型の通信方式である車載ネットワークにおける不正制御防止システムであって、前記車載ネットワークには、1以上の電子制御装置が接続され、前記1以上の電子制御装置は所定のタイムスロット内でフレームを送受信し、前記不正制御防止システムは、1以上のエラー監視装置と、1以上のフレーム無効化装置と、を備え、前記1以上のエラー監視装置はそれぞれ、第1のエラー検知部と、エラー通知部と、を備え、前記エラー検知部は、前記車載ネットワークに接続され、前記車載ネットワークに流れるフレームを受信し、受信したフレームにエラーが発生したことを検知し、前記エラー通知部は、前記第1のエラー検知部がエラーの発生を検知した場合に、エラーの発生したフレームの種類を識別可能な情報を含むエラー通知フレームを送信し、前記1以上のフレーム無効化装置はそれぞれ、第2のエラー検知部と、無効化部と、を備え、前記無効化部は、前記エラー通知フレームを所定数以上、受信し、かつ、前記第2のエラー検知部において、前記エラー通知フレームに含まれるエラーの発生したフレームに関してエラーが検知されていない場合に、前記フレームを無効化対象フレームとして、以降の無効化対象フレームの受信を無効化する第1の無効化モードへ遷移する。
 また上記課題を解決するために、本開示の一実施様態の不正制御防止方法は、タイムスロットに基づくタイムトリガー型の通信方式である車載ネットワークにおける不正制御防止方法であって、前記車載ネットワークには、1以上の電子制御装置が接続され、前記1以上の電子制御装置のそれぞれは、所定のタイムスロット内でフレームを送受信し、前記不正制御防止方法は、1以上のエラー監視ステップと、1以上のフレーム無効化ステップと、を備え、前記1以上のエラー監視ステップはそれぞれ、第1のエラー検知ステップと、エラー通知ステップと、備え、前記エラー検知ステップは、前記車載ネットワークに接続され、前記車載ネットワークに流れるフレームを受信し、受信したフレームにエラーが発生したことを検知し、前記エラー通知ステップは、前記第1のエラー検知ステップがエラーの発生を検知した場合に、エラーの発生したフレームの種類を識別可能な情報を含むエラー通知フレームを送信し、前記1以上のフレーム無効化ステップのそれぞれは、第2のエラー検知ステップと、無効化ステップと、を備え、前記無効化ステップは、前記エラー通知フレームを受信し、かつ、前記第2のエラー検知ステップにおいて、前記エラー通知フレームに含まれるエラーの発生したフレームに関するエラーが発生していることが検知されていない場合に、以降の前記フレームの受信を無効化する無効化モードへ遷移する。
 なお、これらの全般的または具体的な態様は、装置、システム、集積回路、コンピュータプログラムまたはコンピュータで読み取り可能なCD-ROMなどの記録媒体で実現されてもよく、装置、システム、方法、コンピュータプログラムおよび記録媒体の任意な組み合わせで実現されてもよい。
 本開示によれば、スター型トポロジでタイムトリガー型の通信方式を採用している車載ネットワークに対しても、不正なフレームが送信されていることを検知し、無効化することが可能となり車載ネットワークシステム全体として、安全な状態を維持することができる。
図1は、実施の形態1における車載ネットワークシステム10の全体構成図である。 図2は、実施の形態1におけるFlexRayのサイクルについての図である。 図3は、実施の形態1におけるFlexRayフレームのフォーマットを示した図である。 図4は、実施の形態1におけるECUの構成図である。 図5は、実施の形態1における監視ECUの構成図である。 図6は、実施の形態1におけるスターカプラの構成図である。 図7は、実施の形態1における通信用設定パラメータの一例を示す図である。 図8は、実施の形態1における正規IDリストの一例(静的フレーム)を示す図である。 図9は、実施の形態1における正規IDリストの一例(動的フレーム)を示す図である。 図10は、実施の形態1におけるブランチ状態の一例を示す図である。 図11Aは、実施の形態1におけるエラー通知フレームの一例を示す図である。 図11Bは、実施の形態1におけるエラー通知異常フレームの一例を示す図である。 図12は、実施の形態1における監視ECUの処理フローチャートである。 図13は、実施の形態1における全体シーケンス(無効化モードへの遷移)図である。 図14は、実施の形態1における全体シーケンス(無効化モード時の処理)図である。 図15は、実施の形態1における無効化モード変更フレームを偽装されたときのシーケンス図である。
 本開示の一態様に係る不正制御防止システムは、タイムスロットに基づくタイムトリガー型の通信方式である車載ネットワークにおける不正制御防止システムであって、前記車載ネットワークには、1以上の電子制御装置が接続され、前記1以上の電子制御装置は所定のタイムスロット内でフレームを送受信し、前記不正制御防止システムは、1以上のエラー監視装置と、1以上のフレーム無効化装置と、を備え、前記1以上のエラー監視装置はそれぞれ、第1のエラー検知部と、エラー通知部と、を備え、前記エラー検知部は、前記車載ネットワークに接続され、前記車載ネットワークに流れるフレームを受信し、受信したフレームにエラーが発生したことを検知し、前記エラー通知部は、前記第1のエラー検知部がエラーの発生を検知した場合に、エラーの発生したフレームの種類を識別可能な情報を含むエラー通知フレームを送信し、前記1以上のフレーム無効化装置はそれぞれ、第2のエラー検知部と、無効化部と、を備え、前記無効化部は、前記エラー通知フレームを所定数以上、受信し、かつ、前記第2のエラー検知部において、前記エラー通知フレームに含まれるエラーの発生したフレームに関してエラーが検知されていない場合に、前記フレームを無効化対象フレームとして、以降の無効化対象フレームの受信を無効化する第1の無効化モードへ遷移する。
 これにより、エラーの発生状況の不整合に基づいて、不正なフレーム送信を検知し、無効化することで、車載ネットワークシステムの安全性を高めることができる。
 また、前記1以上のフレーム無効化装置はそれぞれ、さらに、フレーム送受信部を備えており、前記フレーム送受信部は、前記車載ネットワークの所定のタイムスロット内でフレームを送受信し、前記第1の無効化モードである場合には、前記無効化対象フレームのフレームを受信しない、前記無効化対象フレームと同一のタイムスロットにおいて、同一の識別子のフレームの送信を行う、のいずれかの方法により以降の無効化対象フレームの受信を無効化するとしてもよい。
 これにより、不正なフレームを適切に無効化することが可能となり、車載ネットワークシステムの安全性を高めることができる。
 また、前記1以上のエラー監視装置はそれぞれ、さらに、エラー通知フレーム監視部を備え、前記エラー通知フレーム監視部は、自身の送信した第1の前記エラー通知フレームにエラーが発生しているかを監視し、前記エラー通知部は、さらに、前記エラー通知フレーム監視部において、エラーが検知された場合に、エラー通知異常フレームを送信し、前記1以上のフレーム無効化装置のそれぞれは、さらに、フレームの種別ごとにエラーの検知回数および、エラー通知フレームの受信回数の少なくとも1つを保持する、エラー状態保持部を備え、前記無効化部は、さらに前記エラー通知異常フレームを受信した場合に、前記エラー状態保持部に格納される、エラーの検知回数、エラー通知フレームの受信回数のいずれかが、所定数以上であるフレームを無効化対象フレームとし、第1の無効化モードへ遷移するとしてもよい。
 これによりエラー通知を行うフレームが不正なフレームに偽装されたとしても、不正なフレームを無効化することが可能となり、車載ネットワークシステムの安全性を高めることができる。
 また、前記タイムトリガー型の通信方式はFlexRayプロトコルであって、前記エラーは、FlexRayプロトコルに定められる、SyncError、ContentError、BoundaryViolation、TxConflictのいずれかであってもよい。
 これにより、FlexRayを搭載した車載ネットワークシステムの安全性を高めることができる。
 また、前記車載ネットワークは、複数のブランチを備え、スターカプラを介し、フレームの送受信を行うスター型トポロジであって、前記エラー通知フレームは、FlexRayプロトコルにおける動的フレームであって、前記エラー通知部は、前記エラー監視装置が接続されるブランチに応じて、前記エラー通知フレームを、送信するサイクル数を決定するとしてもよい。
 これにより、スター型FlexRayにおいて、スロットIDを効率的に利用しつつ、エラー通知フレームの送受信が可能となり、車載ネットワークシステムの設計の自由度を保ちつつ、安全性を高めることができる。
 また、前記1以上のエラー監視装置はそれぞれ、さらに、無効化モード切替部と、不正ブランチ特定部とを備え、前記無効化モード切替部は、前記1以上のフレーム無効化装置のそれぞれに対して、無効化モードの有効化フラグと、送信先となる前記1以上のフレーム無効化装置を識別する値または、前記1以上のフレーム無効化装置が接続されるブランチを識別する値のいずれかを含む、無効化切り替えフレームを、第1のブランチを無効化対象ブランチとするために、第1のブランチ内で少なくとも1つのフレーム無効化装置が第1の無効化モードへ遷移し、第1のブランチ以外のブランチに接続されるフレーム無効化装置は、前記第1の無効化モードに遷移しないように、送信し、所定の期間経過後に、第2のブランチを無効化対象ブランチとするために無効化切り替えフレームを送信することを、全てのブランチに対して行い、前記不正ブランチ特定部は、前記無効化対象ブランチと、前記無効化対象ブランチとなっている期間に受信したエラー通知フレームの個数を保持しておき、前記エラー通知フレームの個数が最大となったときの前記無効化対象ブランチを不正ブランチとして判断し、前記無効化部は、さらに、前記無効化切り替えフレームに含まれる、無効化モードの有効化フラグと、前記無効化装置の識別子と前記無効化部を備える前記1以上のフレーム無効化装置の識別子が一致した場合、またはブランチの識別子と、前記無効化装置が接続されるブランチが一致した場合に、無効化モードの有効化フラグに従い、第1の無効化モードへ遷移するとしてもよい。
 これにより、不正なフレームを送信する装置が接続するブランチが明らかになり、対処に有益な情報が得られる。
 また、前記フレーム無効化装置はそれぞれ、さらに、フレーム送信部を備えており、前記フレーム送信部は、前記車載ネットワークの所定のタイムスロット内で第1のフレームを送信し、前記フレーム無効化装置は、さらに、前記第2のエラー検知部において、第1のフレームにおいて、エラーを検知し、かつ、前記エラー通知フレームの受信が所定数以下である場合に、第1のフレームを前記無効化対象フレームとした第2の無効化モードに遷移し、前記フレーム送信部は、前記第2の無効化モードの状態のときは、前記第1のフレームの送信開始タイミングを早めるとしてもよい。
 これにより、不正なフレームよりも正規のフレームの送信開始タイミングが早まり、不正なフレームによる影響を抑えることができ効果的である。
 また、本開示の一実施様態の不正制御防止方法はタイムスロットに基づくタイムトリガー型の通信方式である車載ネットワークにおける不正制御防止方法であって、前記車載ネットワークには、1以上の電子制御装置が接続され、前記1以上の電子制御装置のそれぞれは、所定のタイムスロット内でフレームを送受信し、前記不正制御防止方法は、1以上のエラー監視ステップと、1以上のフレーム無効化ステップと、を備え、前記1以上のエラー監視ステップはそれぞれ、第1のエラー検知ステップと、エラー通知ステップと、備え、前記エラー検知ステップは、前記車載ネットワークに接続され、前記車載ネットワークに流れるフレームを受信し、受信したフレームにエラーが発生したことを検知し、前記エラー通知ステップは、前記第1のエラー検知ステップがエラーの発生を検知した場合に、エラーの発生したフレームの種類を識別可能な情報を含むエラー通知フレームを送信し、前記1以上のフレーム無効化ステップのそれぞれは、第2のエラー検知ステップと、無効化ステップと、を備え、前記無効化ステップは、前記エラー通知フレームを受信し、かつ、前記第2のエラー検知ステップにおいて、前記エラー通知フレームに含まれるエラーの発生したフレームに関するエラーが発生していることが検知されていない場合に、以降の前記フレームの受信を無効化する無効化モードへ遷移する。
 これにより、エラーの発生状況の不整合に基づいて、不正なフレーム送信を検知し、無効化することで、車載ネットワークシステムの安全性を高めることができる。
 以下、実施の形態に係る車載ネットワークシステムについて、図面を参照しながら説明する。ここで示す実施の形態は、いずれも本開示の一具体例を示すものである。従って、以下の実施の形態で示される数値、構成要素、構成要素の配置及び接続形態、並びに、ステップ(工程)及びステップの順序等は、一例であって本開示を限定するものではない。以下の実施の形態における構成要素のうち、独立請求項に記載されていない構成要素については、任意に付加可能な構成要素である。また、各図は、模式図であり、必ずしも厳密に図示されたものではない。
 (実施の形態1)
 1.システムの構成
 ここでは、本開示の実施の形態として、不正制御防止システムについて図面を参照しながら説明する。
 1.1 車載ネットワークシステム10の全体構成
 図1は、本開示に係る車載ネットワークシステム10の全体構成を示す図である。図1において、車載ネットワークシステム10は、ブランチ100a、100b、100c、100dと、各ブランチに接続される、ECU200a、200b、200c、200d、監視ECU400a、400b、400c、400dと、ECU200aの制御対象であるハンドル210、ECU200bの制御対象であるギア220、ECU200cの制御対象である外部通信モジュール230、ECU200dの制御対象であるカメラ240と、ブランチ100a、100b、100c、100dを接続するスターカプラ300と、から構成される。
 ECU200a~200dは、ブランチを通じて、フレームの送受信を行うことで、車両の制御を実現する。
 監視ECU400a、400b、400c、400dは、それぞれブランチ100a、100b、100c、100dを観測することで、不正なフレームの送信を検知し、不正なフレームの無効化を行う。
 またスターカプラ300は、ブランチ100a、100b、100c、100dのブランチに同じ信号が流れるように信号の整形を行う。ECU200a、200b、200c、200dは、ブランチ100a、100b、100c、100dを通じて時刻の同期をとっている。
 1.2 FlexRayサイクル
 図2は、本開示に係るFlexRay通信のサイクルを示す図である。図2において、FlexRayの通信は、サイクル(Cycle)と呼ばれる単位で行われ、サイクルの繰り返し回数(サイクルカウンタ)を各ノードが同期して保持しており、サイクルカウンタは0~63の値をとる。サイクルカウンタが63である場合、次のサイクルはサイクルカウンタを0にリセットする。
 各サイクルは、静的セグメント(Static segment)、動的セグメント(Dynamic segment)、シンボルウィンドウ(Symbol window)、ネットワークアイドルタイム(NIT)の4つのセグメントから構成される。
 各セグメントの時間は予め設計されたパラメータによって、FlexRayネットワーク全体(クラスタ)で共通であるため、1サイクルの時間も同様にクラスタで共通である。
 静的セグメントは、複数のスロットから構成される。スロットの個数、および各スロットの時間はクラスタ内で共通である。
 またFlexRayフレームは、1スロット内に1つのフレームが送信され、スロットの番号(スロット番号)がフレームの識別子(Frame ID)となる。ECU200a、200b、200c、200dは、予め定められたタイミング(スロット番号)で、フレームの送信を行うように設計されている。静的セグメント内で送信されるフレームを静的フレームとよぶ。静的フレームは、ペイロード長がクラスタ内で共通となっている。
 動的セグメントは、図示しないが、ミニスロットと呼ばれるスロットから構成される。ミニスロットにも同様にスロット番号が存在し、ECU200a、200b、200c、200dは、予め定められたタイミング(スロット番号)で送信を行うように設計されているが、静的セグメントと異なり、必ずしもフレームの送信を行う必要はない。動的セグメント内で送信されるフレーム動的フレームとよぶ。動的フレームは、ペイロード長として0~254の任意の値をとることができる。
 シンボルウィンドウは、シンボルと呼ばれる信号の送受信を行う時間帯である。
 ネットワークアイドルタイムは、通信を行わない時間帯であり、サイクルの最後に必ず設けられる。ECU200a、200b、200c、200dは、時刻の同期処理等を行う。
 1.3 フレームフォーマット
 図3は、本開示に係るFlexRayプロトコルのフレームフォーマットを示す図である。フレームフォーマットは、静的フレームおよび動的フレームともに共通のフォーマットである。フレームは、Header Segment、Payload Segment、Trailer Segmentの3つのセグメントから構成される。
 Header Segmentは、Reserved bitから始まり、フレームの種別を表すための、Payload preamble indicator、Null frame indicator、Sync frame indicator、Startup frame indicatorがそれぞれ1ビットずつ含まれる。
 Header Segmentはさらに、11ビットのFrame IDと、7ビットのPayload length、11ビットのHeader CRC、6ビットのCycle countから構成される。
 Frame IDは、スロットIDとも呼ばれ、フレームの送信タイミング及び、フレームの内容を識別するために用いられる。
 Payload lengthは最大127の値をとり得る。
 Payload Segmentには、Payload lengthの値に2をかけたバイト数が格納される。
 Header CRCは、Sync frame indicatorからPayload lengthまでを含んだ値から計算されるチェックサムである。
 Cycle countは、現在のサイクル数が格納される。
 Payload Segmentには、フレームの内容を表すデータが含まれる。Payload Segmentには、Payload lengthの値の2倍のバイト数が格納されており、最大で254バイトが格納される。
 Trailer Segmentには、フレームの全てを含んだ値から計算されるCRCが格納されている。
 1.4 ECU200aの構成図
 図4は、ECU200aの構成図である。なお、ECU200b、ECU200c、ECU200dは、ECU200aと同様の構成であるため、これらの説明を省略する。
 図4においてECU200aは、フレーム送受信部201と、フレーム解釈部202と外部機器制御部203と、フレーム生成部204と、通信用設定パラメータ保持部205と、から構成される。
 フレーム送受信部201は、ブランチ100aから受信した物理信号を、デジタル信号に復号することでフレームの情報を取得する。フレーム送受信部201は、通信用設定パラメータ保持部205に保持される通信用設定パラメータを参照することで、他のECUと時刻を同期し、正しくフレームを受信する。
 またフレーム送受信部201は、フレーム生成部204から、通知される送信フレーム要求に従い、予め定められたタイミングで、フレームを物理信号に変換して、ブランチ100aに送信する。
 フレーム解釈部202は、フレーム送受信部201から通知される受信したフレームに含まれるペイロードを解釈し、ペイロードの内容に応じてECU200aに接続されるハンドル210の制御を行うために外部機器制御部203へ通知を行う。例えば、他のECUから通知される車両の速度の情報に基づいて、フレーム解釈部202は、走行状態を判断し、走行状態に応じたハンドルのアシスト制御を実現したり、自動駐車モード時のステアリング操舵指示信号に基づいて、ハンドルの自動操舵を実現したりする。
 外部機器制御部203は、ECU200aに接続されるハンドル210の制御を行う。またハンドル210の状態を監視し、他のECUに状態を通知するためのフレーム送信要求をフレーム生成部204に通知する。例えば、外部機器制御部203は、ハンドル210の角度を通知するためのフレーム要求をフレーム生成部204に通知する。
 フレーム生成部204は、通知された信号に基づいて、フレームの生成を行い、フレーム送受信部201へ送信要求を行う。
 通信用設定パラメータ保持部205は、物理信号を正しく、デジタル信号に変換するための、クラスタ内で共通のパラメータが保持されている。通信用設定パラメータの詳細は後述する。
 1.5 監視ECU400aの構成図
 図5は、監視ECU400aの構成図である。なお、監視ECU400b、400c、400dは、監視ECU400aと同様の構成であるため、これらの説明を省略する。また、監視ECU400aの構成のうち、ECU200aと同様の構成については、同じ番号を付与してその説明を省略する。
 図5において監視ECU400aは、フレーム送受信部201、エラー検知部402、フレーム生成部204、通信用設定パラメータ保持部205、正規IDリスト保持部403、ブランチ状態保持部404、から構成される。
 エラー検知部402は、フレーム送受信部201から、受信したフレームを通知され、通知されたデータフレームがエラー無く受信しているか否かを判断する。エラー検知部402によるフレームにエラーが発生しているか否かの判断は、プロトコルで規定されるTxConflict、SyntaxError、ContentError、BoundaryViolationのいずれかに何のフラグが立っているかどうかで判断する。
 エラー検知部402は、通知されたフレームにエラーが発生していると判断した場合は、自ブランチ以外の他ブランチに存在するECUに対して、自ブランチにおいて、特定IDでエラーが発生していることを通知するフレームの送信を行うため、エラー検知部402はフレーム生成部204に通知を行う。
 また、正規IDリスト保持部403を参照し、エラーの発生したIDのフレームを送信するECUが自ブランチに存在し、かつ、他のブランチから当該IDのフレームのエラー通知フレームを受信しなかった場合に、エラー検知部402は、他のブランチにおいて、不正なフレームが送信されていると判断し、無効化モード変更フレームを送信するために、エラー検知部402は、フレーム生成部204に通知を行う。
 さらにエラー検知部402は、無効化モード変更フレームを受信した場合と、エラー通知異常フレームを受信した場合に、他のブランチにおいてエラーの発生しているIDのフレームを無効化するために、対象IDのフレームの送信を開始するように、エラー検知部402はフレーム生成部204に通知を行う。
 他のブランチにおいても当該IDのフレームのエラーが発生していると通知された場合は、故障等による通信異常が発生していると判断し、エラー検知部402は故障モードへ移行する。ここで、故障モードとは、運転支援機能による自動制御機能をオフにするモード、つまり、自動制御に関わるフレームを無効とするモードである。
 正規IDリスト保持部403は、各ECUが送信するフレームに関するIDのリストを格納している。正規IDリストの詳細は後述する。
 ブランチ状態保持部404は、監視ECU400aが、存在するブランチの情報や、各ブランチにおけるエラーの発生状況や、現在のモード等を格納している。ブランチ状態保持部404に格納されるブランチ状態の詳細は後述する。
 1.6 スターカプラ300の構成図
 図6は、スターカプラ300の構成図である。図6においてスターカプラ300は、トランシーバ部301a、301b、301c、301d、とルーティング部302とから構成される。
 トランシーバ部301aは、ブランチ100aから受信した物理信号を、デジタル信号に変換し、ルーティング部302へ通知する。またデジタル信号をルーティング部302から通知された場合は、通知されたデジタル信号を、物理信号へ変換し、ブランチ100aへ転送する。
 ルーティング部302は、トランシーバ部301aから通知されたデジタル信号を、トランシーバ部301aを除くトランシーバ部301b、301c、301d、へ転送する。
 同様にトランシーバ部301bからデジタル信号を通知された場合は、トランシーバ部301bを除く、トランシーバ部301a、301c、301dに対して、デジタル信号を通知する。
 ルーティング部302は、複数のトランシーバ部のいずれかから、デジタル信号を受信した場合は、最初にデジタル信号を受信したトランシーバ部からの信号を、他のトランシーバ部へ通知する。
 1.7 通信用設定パラメータの一例
 図7は、通信用設定パラメータ保持部205に格納されている通信用設定パラメータの一例を示している。通信用設定パラメータは、ボーレート、静的セグメントスロットID、動的セグメントスロットID、静的スロットペイロード長等を含む。
 図7において通信用設定パラメータは、通信の速度を表すボーレートが10Mbpsであり、静的セグメントのスロットIDが1~50であり、動的セグメントのスロットIDが51~100である。また、静的スロットのペイロード長が8(つまり16バイト)である。
 これらの通信用設定パラメータの値は、クラスタ内のECU全てに共有されており、これらの値を元にFlexRayフレームの送受信を実現する。
 なお通信用設定パラメータの値は一例に過ぎず、別の値であっても構わない。また、図7での通信用設定パラメータの項目も一例に過ぎず、例えば、各セグメントの長さや、スロットの長さ等が含まれていてもよいし、記載されているパラメータの一部が含まれていなくてもよい。
 1.8 正規IDリストの一例
 図8は、監視ECU400aが保持する正規IDリスト保持部403に格納される正規IDリスト(静的フレーム)の一例を示している。
 図8において正規IDリストは、スロットIDとCycle offset、Cycle reception、送信元ブランチ情報、フレームに含まれるペイロード情報が保持されている。
 Cycle offsetとCycle receptionは、サイクル多重化(サイクルマルチプレキシング)と呼ばれる同じスロットIDであっても異なる内容のフレームを送受信する方法が用いられるときに対象のフレームを抽出するために必要な情報である。例えば図8において、スロットIDが3であるフレームはCycle Offsetが0、Cycle Receptionが2であるが、これは、サイクル番号が0から始まり、2、4、・・・、62の場合にフレームが送信されることを示している。
 図8において正規IDリストは、スロットIDが1であるフレームはCycle offsetが0、Cycle receptionが1、つまり全てのサイクルで同一フレームが送信されることを意味し、フレームの送信元ブランチが100bであり、ペイロードには速度に関する情報が含まれることを示している。
 次に、スロットIDが2であるフレームは送信されないことを示している。
 スロットIDが3であるフレームは、Cycle offsetが0、Cycle receptionが2、つまりサイクルカウンタが偶数のときのみ送信されることを意味し、フレームの送信元ブランチが100aであり、ペイロードにはハンドル角度に関する情報が含まれることを示している。
 スロットIDが4であるフレームは、Cycle offsetが1、Cycle receptionが2、つまりサイクルカウンタが奇数のときのみ送信されることを意味し、フレームの送信元ブランチが100bであり、ペイロードにはギア状態に関する情報が含まれることを示している。
 スロットIDが5であるフレームは、Cycle offsetが0、Cycle receptionが1、フレームの送信元ブランチが100bであり、ペイロードにはブレーキ油圧に関する情報が含まれることを示している。
 スロットIDが6であるフレームは、Cycle offsetが2、Cycle receptionが4、フレームの送信元ブランチが100dであり、ペイロードにはハンドル操舵指示に関する情報が含まれることを示している。
 図9は、監視ECU400aが保持する正規IDリスト保持部403に格納される正規IDリスト(動的フレーム)の一例を示している。正規IDリスト(動的フレーム)は、図8と同様の情報を保持している。
 図9の正規IDリストにおいて、スロットIDが51の動的フレームは4種類のフレームが存在する。1つめのフレームは、Cycle Offsetが1、Cycle Receptionが8であり、フレームの送信元ブランチがブランチ100aであり、ブランチ100aにおいてペイロード情報はIDが1のフレームにエラーが含まれていたことを通知するフレームである。2つめのフレームは、Cycle Offsetが2、Cycle Receptionが8であり、フレームの送信元ブランチがブランチ100bであり、ブランチ100bにおいてペイロード情報はIDが1のフレームにエラーが含まれていたことを通知するフレームである。3つめのフレームは、Cycle Offsetが3、Cycle Receptionが8であり、フレームの送信元ブランチがブランチ100cであり、ブランチ100cにおいてペイロード情報はIDが1のフレームにエラーが含まれていたことを通知するフレームである。4つめのフレームは、Cycle Offsetが4、Cycle Receptionが8であり、フレームの送信元ブランチがブランチ100dであり、ブランチ100dにおいてペイロード情報はIDが1のフレームにエラーが含まれていたことを通知するフレームである。
 このように、1つのスロットIDに対してCycle Offsetを変えることで、送信元ブランチを変更できる。
 次に、正規IDリストは、スロットIDが53であるフレームのCycle offsetは送信元ブランチに対応し、Cycle receptionは8であり、フレームの送信元ブランチは全てのブランチであり、ペイロード情報はIDが3であるフレームのエラー発生通知である。
 さらに、スロットIDが56であるフレームのCycle offsetは送信元ブランチに対応し、Cycle receptionは8であり、フレームの送信元ブランチは全てのブランチであり、ペイロード情報はIDが6であるフレームのエラー発生通知である。
 また、スロットIDが100であるフレームのCycle offsetは送信元ブランチに対応し、Cycle receptionは8であり、フレームの送信元ブランチは全てのブランチであり、ペイロード情報はエラー通知フレームに異常が発生したことの通知である。
 1.9 ブランチ状態の一例
 図10は、ブランチ状態保持部404に格納されるブランチ状態の一例を示している。図10においてブランチ状態は、監視ECU400aが存在するブランチが100aであり、モードは通常であり、スロットIDが1であるフレームに関して、ブランチ100aにおいて、エラーとなったフレームの受信回数は0であり、エラー通知フレームの受信数は、ブランチ100bからフレームを受信した数が0、ブランチ100cからフレームを受信した数が0、ブランチ100dからフレームを受信した数が0であることを示している。
 同様に、スロットIDが3であるフレームに関して、ブランチ100aでエラーとなったフレームの検知回数が10、エラー通知フレームの受信数は、ブランチ100bからフレームを受信した数が0、ブランチ100cからフレームを受信した数が0、ブランチ100dからフレームを受信した数が0であることを示している。
 1.10 エラー通知フレームと、エラー通知異常フレームの例
 図11Aは、エラー通知フレームの一例を示す図であり、図11Bは、エラー通知異常フレームの一例を示す図である。
 図11Aは、スロットIDが6であるフレームのエラーを通知するスロットID56のエラー通知フレームを示している。図11Aにおいてエラー通知フレームは、Cycleが17であり、ペイロードが0x01010100として送信されている例である。ペイロードの第1バイトの0x01はエラー通知フレームの送信元ブランチを表しており、0x01は、ブランチ100aからフレームが送信されたことを示している。
 また、Cycleが17であることからも、ブランチ100aからフレームが送信されたことがわかるようになっている。これは、不正なECUが、エラー通知フレームのペイロードを偽装して送信したとしても、スロットIDとサイクル情報のみで、特定のIDのフレームについてエラーが発生していることを正確に監視ECUが把握できるようにするためである。
 エラーの発生していない正常状態においては、スロットIDが56であるフレームは送受信されないが、スロットIDが6のフレームにエラーが発生したときのみスロットIDが56であるフレーム送信することで、スロットIDが56であるフレームを受信した時点で、フレームのペイロード値に関わらず、スロットIDが6であるフレームにエラーが発生していることを監視ECUは把握できる。
 ペイロードの第2バイトはフレームの内容を表しており、0x01はエラー通知フレームであることを示している。第2バイトの値が2である場合は、他の監視ECUに対して、モードの変更を通知するフレームとなる。ペイロードの第3バイトはエラー情報であり、0x01は、SyntaxErrorが発生したことを示している。ペイロードの第4バイトは、モード切替時の情報を表しており、0x00は通常モードであることを示している。
 図11Bは、スロットIDが100であるエラー通知異常フレームである。エラー通知異常フレームは、エラー通知フレームの送受信において、異常が発生した場合に送信される。例えば、エラー通知フレームがエラーになり送信できなかった場合や、エラー通知フレームを送信していないにも関わらず、自身が送信するはずのエラー通知フレームを受信する等である。
 エラー通知異常フレームは、エラー通知フレームと同様に通常時は送受信されず、監視ECUは、エラー通知フレームを受信した時点で、強制的に現時点で受信したエラー通知フレームに基づき、無効化モードへ移行する。図11BにおいてスロットIDが100で、Cycleは1であり、これはブランチ100aが送信元であることを意味しており、ペイロードは、0x01010038であることを示している。ペイロードの第1バイトは送信元ブランチを表しており、0x01は、送信元ブランチがブランチ100aであり、ペイロードの第2バイトは異常コードを表しており、0x01は、エラー通知フレームの送信が送信できなかったことを表している。ペイロードの第3、第4バイトの2バイトは、エラー通知異常が発生したエラー通知フレームのスロットIDを表しており、0x38、十進数では56、のエラー通知フレームで異常が発生したことを示している。
 1.11 監視ECU400aの動作
 図12は、監視ECU400aの動作を表したフローチャートである。
 監視ECU400aは、フレームを受信し、受信したフレームについてエラーが発生している場合は、ID毎に対応するエラー回数を更新する(S1001)。
 ID毎のエラー回数のうち、いずれかが所定数、例えば10、を超えているか否かを確認する。(S1002)。エラー回数が所定数を超えている場合は、監視ECU400aはS1003を実行し、全てのIDエラー回数が所定数を超えていない場合は、監視ECU400aはS1010を実行する。
 エラー検知回数が所定数以上であった場合は、監視ECU400aは、エラー通知フレームを送信する(S1003)。
 その後、監視ECU400aは、エラーを検知したフレームについて、自ブランチが送信元となっているフレームであるか否かを確認する(S1004)。エラーを検知したIDのフレームの送信元が自ブランチである場合は、監視ECU400aはS1005を実行する。そうでない場合は、監視ECU400aは処理を終了する。
 監視ECU400aは、他のブランチにおけるエラー通知フレームの受信を1サイクル分待つ(S1005)。
 その後、監視ECU400aは全てのブランチにおいて、対応するIDのフレームでエラーが発生したことを通知するエラー通知フレームが送信されたか否かを確認する(S1006)。
 全てのブランチにおいて、エラー通知フレームが送信された場合は、監視ECU400aは、通信異常が発生していると判断し、故障モードへ移行して(S1007)、処理を終了する。
 全てのブランチにおいて、エラー通知フレームが送信されていない場合は、監視ECU400aは、他のブランチでは、不正なフレームが送信されていると判断し、無効化モード変更フレームを送信する(S1008)。
 監視ECU400aは、無効化モード変更フレームがエラー無く送信されたか否かを確認する(S1009)。無効化モード変更フレームをエラー無く送信できた場合は、監視ECU400aは処理を終了する。そうでない場合は、監視ECU400aはS1012を実行する。
 監視ECU400aは、無効化モード変更フレームを受信しているか否かを判断する(S1010)。無効化モード変更フレームを受信している場合は、監視ECU400aは、受信した無効化モード変更フレームが、自身が送信するはずのフレームであるか否かを確認する(S1011)。
 自身が送信するはずの無効化モード変更フレームを受信した場合は、監視ECU400aは、不正なフレームが送信されているとして、エラー通知異常フレームを送信する(S1012)。
 自身が送信するはずの無効化モード変更フレームを受信していない場合は、監視ECU400aは、対象IDと同じフレームの送信を開始することで、不正なフレームと衝突を起こさせ、フレームの無効化を行う(S1014)。
 S1010で、無効化モード変更フレームを受信していない場合は、監視ECU400aは、エラー通知異常フレームを受信しているか否かを確認する(S1013)。エラー通知異常フレームを受信していない場合は、監視ECU400aは、処理を終了する。
 エラー通知異常フレームを受信した場合は、監視ECU400aは、無効化モードに移行し、ブランチ状態保持部に格納されている、各スロットIDのエラー通知フレーム受信数が0でない、IDに関して、フレームの送信を開始する(S1014)。
 1.12 全体シーケンス図
 図13、図14に、不正制御防止システムの全体シーケンス図を示す。図13では、監視ECUが無効化モードに遷移するまでのシーケンスを示し、図14で、監視ECUが無効化モードに遷移した後の動作シーケンスを示す。なお、監視ECU400bの動作シーケンスについては動作の説明を省略するが、監視ECU400a、400b、400cと同様の動作を行う。
 図13、図14では、ECU200cが外部通信モジュール230経由で攻撃者に制御を奪われた場合の動作シーケンスを示す。攻撃者に制御を奪われたECU200cは、不正なハンドル操舵指示フレームを、ECU200aに送信することで、不正なハンドル操舵を引き起こそうとする一例である。
 制御を奪われたECU200cは、ハンドル操舵指示フレーム(制御)の送信を行う(S1101)。
 ハンドル操舵指示フレームを送信する正規のECU200dは、ECU200cに少し送れてハンドル操舵指示フレーム(非制御)の送信を行う(S1102)。
 スターカプラ300は、フレームの送信が先に開始された、不正なハンドル操舵指示フレームを他のブランチに転送する(S1103)。
 ECU200dが接続されるブランチ100dでは、スターカプラ300から転送されたフレームと、ECU200dが送信したフレームが衝突し、エラーが発生する(S1104)。
 ECU200aが接続されるブランチ100aでは、不正なフレームが受信される(S1105)。
 その後ECU200aは不正なフレームに基づいてハンドルの制御を行う(S1106)。そのため、不正な制御が引き起こされる。
 ブランチ100dで発生したエラーに基づき、監視ECU400dは、エラー通知フレームの送信を行う(S1107)。
 スターカプラ300は、エラー通知フレームを、他のブランチへ転送する(S1108)。
 監視ECU400aおよび監視ECU400cはエラー通知フレームを受信し、内部のブランチ状態を更新する(S1109)。
 監視ECU400dは、他のブランチからエラー通知フレームが送信されてこないことから、他のブランチにおいては、不正なフレームが受信されていると判断し、無効化モード変更フレームを送信する(S1110)。
 スターカプラ300は、無効化モード変更フレームを転送する(S1111)。
 監視ECU400aおよび、監視ECU400cは、無効化モードに遷移し、ハンドル操舵指示フレームの送信を開始する(S1112)。
 ECU200cは、再度、不正なハンドル操舵指示フレームを送信する(S1113)。
 スターカプラ300は、不正なハンドル操舵指示フレームの転送を開始する(S1114)。
 無効化モードに遷移している監視ECU400a、400c、400d、およびECU200dは、ハンドル操舵指示フレーム(非制御)の送信を行う(S1115)。
 このときブランチ100cでは、既に送信を開始している不正なフレームと、監視ECU400cの送信するフレームが衝突を起こし、エラーが発生する(S1116)。
 スターカプラ300は、フレームが衝突した信号を他のブランチへ転送する(S1117)。
 ブランチ100aと、ブランチ100dにおいては、転送された信号と、各ブランチで送信されているハンドル操舵指示フレームが衝突を起こし、エラーが発生する(S1118)。
 ECU200aはハンドル操舵指示フレームにエラーが発生しているため、当該フレームを無効なものとして扱う(S1119)。これにより、不正なハンドル制御は引き起こされない。
 1.13 無効化モード変更フレーム偽装時のシーケンス図
 図15は、無効化モード変更フレームもECU200cに偽装されてしまい、監視ECUが正常に無効化モードに遷移できない場合のシーケンス図である。図13のS1109までは同様のシーケンスであるため、その説明を省略する。
 ECU200cは、他の監視ECUが無効化モードへ遷移しないように、偽装した無効化モード変更フレームを送信する(S1210)。
 監視ECU400dは、少し送れて、他の監視ECUが無効化モードへ遷移するように無効化モード変更フレームを送信する(S1211)。
 スターカプラ300は、送信が先に開始された不正な無効化モード変更フレームを転送する(S1212)。
 ブランチ100dでは、監視ECU400dの送信した無効化モード変更フレームと、転送された不正なフレームが衝突を起こし、エラーとなる(S1213)。
 監視ECU400aと、監視ECU400cは、不正な無効化モード変更フレームを受信するが、無効化モードへの遷移は発生しない。この時に不正なフレームであったとしても、スロットIDは、エラーを検知した場合等にのみ送信されるフレームであるため、各監視ECUはブランチ状態を更新する(S1214)。
 無効化モード変更フレームが、エラーとして検知されたため、監視ECU400dは、エラー通知異常フレームの送信を行う(S1215)。
 スターカプラ300が、エラー通知異常フレームの転送を行う(S1216)。
 エラー通知異常フレームの受信をした、監視ECU400a、400cは、無効化モードへ遷移する(S1217)。
 エラー通知フレームおよび、エラー通知異常フレームを不正なECUに偽装された場合にも同様に、各監視ECUが無効化モードへ遷移することが可能である。
 2. その他変形例
 なお、本開示を上記各実施の形態に基づいて説明してきたが、本開示は、上記各実施の形態に限定されないのはもちろんである。以下のような場合も本開示に含まれる。
 (1)上記の実施の形態では、スター型のネットワークトポロジにおける例を示しているがネットワークトポロジを限るものではない。例えば、バス型、スター型とバス型のハイブリッドなどのネットワークトポロジを取りうる。バス型においては、送信元となるECUの制御を奪取された場合に、当該ECUが送信するフレームを無効化するのに効果的である。
 (2)上記の実施の形態では、エラー検知部は監視ECUにのみ存在したが、各ECU上に存在してもよい。これにより、フレームのエラーを各ECUが判断し、不正なフレームに基づく制御を抑制することができ効果的である。特に監視ECUを特別に設ける必要も無くなり省スペース、省電力、省コスト化につながり効果的である。
 さらにブランチごとに、各ECUが本来受信するフレームの範囲を監視することで、1つのECUで全てのフレームを関しする必要がなくなり、処理負荷の分散につながり効果的である。
 (3)上記の実施の形態では、不正なフレームの無効化方法として、不正なフレームと同一のスロットIDのフレームを送信することにより、フレームを衝突させ無効化させていたが、無効化手法はこれに限らない。
 例えば、受信ECUにおいて、フレーム受信時に当該IDのフレームを無視する。正規の送信ECUにおいて、フレームの送信タイミングを早めることによって、スターカプラにフレームを転送してもらえるようにするなどの手段をとり得る。これにより、無効化するためのフレーム送信を行う必要が無く、不正なフレームの無効化を実現することが可能となる。
 (4)上記の実施の形態では、監視ECUが、フレームのエラー検知状態に基づいて、無効化モード変更フレームを送信していたが、フレームのエラー検知状態に限らず、無効化モード変更フレームを送信してもよい。
 例えば、フレームに含まれるメッセージ認証コードが不正である場合や、異常検知手法に基づいて、フレームが不正であると判断された場合に、当該IDのフレームを無効化するための無効化モード変更フレームを送信してもよい。これにより、送信元ECUの制御を攻撃者が直接奪う等により、フレームのエラーが検知されずに不正なフレームが送信されていたとしても、不正なフレームを無効化することが可能となり、より安全性が高まる。
 (5)上記の実施の形態では、動的フレームに、エラー通知フレームと、無効化モード変更フレーム、エラー通知異常フレームを割り当てていたが、静的フレームに割り当ててもよい。ただし、動的フレームに割り当てることによって、不正なECUが、エラー通知フレームを偽装して送信したとしても、偽装したフレームが送信された時点で、エラーが発生していることが、他の監視ECUに把握されるため、不正なECUが、エラー通知フレームを無効化することが困難になり、安全性が高まる。
 (6)上記の実施の形態では、監視ECUの存在するブランチに応じて、エラー通知フレームと、無効化モード変更フレームと、エラー通知異常フレームの送信するサイクルが決定されていたが、ブランチに応じて送信するサイクルを決定しなくてもよい。
 例えば、ブランチごとに異なるIDに、上記のフレームを割り当ててもよい。ただし、ブランチに応じて送信するサイクルを決定することで、有限なIDの空間を効率的に利用することが可能となる。
 (7)上記の実施の形態では、無効化モード変更フレームを起点に、監視ECUは無効化モードへ遷移したが、無効化モード変更フレームを起点にせずに無効化モードへ遷移してもよい。例えば、エラー通知フレームを受信した段階で、監視ECUが、エラー通知フレームに対応するIDにおいて、エラーを検知せずに受信していた場合には、不整合が生じているとして、無効化モードに遷移してもよい。また、エラー通知フレームの受信数に応じて無効化モードに遷移してもよい。
 これにより、無効化モード変更フレームを送信せずに、無効化モードへ遷移可能となり、より早く不正なフレームを無効化したい場合に効果的である。
 さらにエラー通知フレームの受信数によって、通信故障と不正なフレーム送信を判断することで、異常状況に応じた適切な対応が可能となる。
 (8)上記の実施の形態では、監視ECUはブランチ状態として、エラー検知回数をカウントしていたが、エラーの検知回数は、所定の時間内で計測してもよい。例えば64サイクルごとに値をリセットするなどしてもよい。これにより、過去のエラー検知の影響を除外することが可能となり、効果的である。
 (9)上記の実施の形態では、フレームを無効化するために、同一のスロットIDを持つフレームを送信していたが、この時のフレームはヌルフレームでも何でもよい。
 (10)上記の実施の形態では、エラー通知フレームの受信により、監視ECUはブランチ状態を更新していたが、エラー通知フレームがエラーとして検知された場合にも監視ECUはブランチ状態を更新してもよい。
 これにより、不正なECUがエラー通知フレームを無効化するために、フレームの衝突を引き起こしたとしても、ペイロードの内容によらずエラーを検出可能であり、安全性向上に効果的である。
 (11)上記の実施の形態では、無効化モード変更フレームを、全ブランチの監視ECUに対して送信していたが、例えばペイロードに宛先監視ECUを含めるなどして、一部の監視ECUを無効化モードに遷移させてもよい。これにより、各ブランチにおいて、無効化モードを切り替えたときの、エラー通知フレームの個数から不正なECUの存在するブランチを特定することができ効果的である。
 例えば、ブランチ100cに不正なECUが存在し、不正なフレームを送信している場合、ブランチ100cの監視ECU400cのみを無効化モードに遷移させた場合に、ブランチ100cでフレームの衝突が発生するため、全てのブランチにおいてもエラーが検知されるため、4つのエラー通知フレームの受信が期待される。一方で、同様の状況において、ブランチ100bの監視ECU400bのみを無効化モードに遷移させた場合には、ブランチ100bと、正規のECUが存在するブランチの高々2ブランチにおいてフレームの衝突が発生するため、最大で2つのエラー通知フレームの受信が期待される。そのため、エラー通知フレームが最大となったときに、無効化モードとなっている監視ECUが存在するブランチが、不正なECUが存在するブランチであることと判断できる。
 (12)上記の実施の形態では、ブランチ状態は、平文で保存していたが、暗号化されて保持していてもよい。
 (13)上記の実施の形態では、エラー通知フレーム、無効化モード変更フレーム、エラー通知異常フレームは、平文のまま通信されていたが、暗号化されて通信されてもよい。あるいはメッセージ認証コードを付加して通信を行ってもよい。これにより、安全にエラー通知フレームの通信や、モードの切り替えを実現することが可能となり、安全性の向上が期待できる。
 (14)上記の実施の形態では、無効化モードへの遷移は、走行中や停止中などの車両の状態や、制御フレームや、状態フレームといったフレームの属性に応じて、無効化モードへ移行するかを決定してもよい。これにより、不正な制御につながるフレームの無効化を、必要に応じて実行することができ、省電力につながる。
 (15)上記の実施の形態では、車載ネットワークとしてFlexRayプロトコルを用いていたが、これに限るものではない。例えば、CAN、CAN-FD(CAN with Frexible Data Rate)、Ethernet、LIN(Local Interconnect Network)、MOST(Media Oriented Systems Transport)などを用いてもよい。あるいはこれらのネットワークをサブネットワークとして、組み合わせたネットワークであってもよい。特にタイムトリガー方式を採用しているネットワークに対して有効である。
 (16)上記の実施の形態における各装置は、具体的には、マイクロプロセッサ、ROM、RAM、ハードディスクユニット、ディスプレイユニット、キーボード、マウスなどから構成されるコンピュータシステムである。RAMまたはハードディスクユニットには、コンピュータプログラムが記録されている。マイクロプロセッサが、コンピュータプログラムにしたがって動作することにより、各装置は、その機能を達成する。ここでコンピュータプログラムは、所定の機能を達成するために、コンピュータに対する指令を示す命令コードが複数個組み合わされて構成されたものである。
 (17)上記の実施の形態における各装置は、構成する構成要素の一部または全部は、1個のシステムLSI(Large Scale Integration:大規模集積回路)から構成されているとしてもよい。システムLSIは、複数の構成部を1個のチップ上に集積して製造された超多機能LSIであり、具体的には、マイクロプロセッサ、ROM、RAMなどを含んで構成されるコンピュータシステムである。RAMには、コンピュータプログラムが記録されている。マイクロプロセッサが、コンピュータプログラムにしたがって動作することにより、システムLSIは、その機能を達成する。
 また、上記の各装置を構成する構成要素の各部は、個別に1チップ化されていても良いし、一部又はすべてを含むように1チップ化されてもよい。
 また、ここでは、システムLSIとしたが、集積度の違いにより、IC、LSI、スーパーLSI、ウルトラLSIと呼称されることもある。また、集積回路化の手法はLSIに限るものではなく、専用回路又は汎用プロセッサで実現してもよい。LSI製造後に、プログラムすることが可能なFPGA(Field Programmable Gate Array)や、LSI内部の回路セルの接続や設定を再構成可能なリコンフィギュラブル・プロセッサーを利用しても良い。
 さらには、半導体技術の進歩又は派生する別技術によりLSIに置き換わる集積回路化の技術が登場すれば、当然、その技術を用いて機能ブロックの集積化を行ってもよい。バイオ技術の適用等が可能性としてありえる。
 (18)上記の各装置を構成する構成要素の一部または全部は、各装置に脱着可能なICカードまたは単体のモジュールから構成されているとしてもよい。ICカードまたはモジュールは、マイクロプロセッサ、ROM、RAMなどから構成されるコンピュータシステムである。ICカードまたはモジュールは、上記の超多機能LSIを含むとしてもよい。マイクロプロセッサが、コンピュータプログラムにしたがって動作することにより、ICカードまたはモジュールは、その機能を達成する。このICカードまたはこのモジュールは、耐タンパ性を有するとしてもよい。
 (19)本開示は、上記に示す方法であるとしてもよい。また、これらの方法をコンピュータにより実現するコンピュータプログラムであるとしてもよいし、コンピュータプログラムからなるデジタル信号であるとしてもよい。
 また、本開示は、コンピュータプログラムまたはデジタル信号をコンピュータで読み取り可能な記録媒体、例えば、フレキシブルディスク、ハードディスク、CD-ROM、MO、DVD、DVD-ROM、DVD-RAM、BD(Blu-ray(登録商標) Disc)、半導体メモリなどに記録したものとしてもよい。また、これらの記録媒体に記録されているデジタル信号であるとしてもよい。
 また、本開示は、コンピュータプログラムまたはデジタル信号を、電気通信回線、無線または有線通信回線、インターネットを代表とするネットワーク、データ放送等を経由して伝送するものとしてもよい。
 また、本開示は、マイクロプロセッサとメモリを備えたコンピュータシステムであって、メモリは、上記コンピュータプログラムを記録しており、マイクロプロセッサは、コンピュータプログラムにしたがって動作するとしてもよい。
 また、プログラムまたはデジタル信号を記録媒体に記録して移送することにより、またはプログラムまたはデジタル信号を、ネットワーク等を経由して移送することにより、独立した他のコンピュータシステムにより実施するとしてもよい。
 (20)上記実施の形態及び上記変形例をそれぞれ組み合わせるとしてもよい。
 本開示は、車載ネットワークに流れるフレームを観測し、不正なフレームを検出し無効化を行う、安全な車載ネットワークシステムを提供する。これにより車載ネットワークシステム全体として、安全な状態を維持することができる。
10 車載ネットワークシステム
100a、100b、100c、100d ブランチ
200a、200b、200c、200d ECU
201 フレーム送受信部
202 フレーム解釈部
203 外部機器制御部
204 フレーム生成部
205 通信用設定パラメータ保持部
210 ハンドル
220 ギア
230 外部通信モジュール
240 カメラ
300 スターカプラ
301a、301b、301c、301d トランシーバ部
302 ルーティング部
400a、400b、400c、400d 監視ECU
402 エラー検知部
403 正規IDリスト保持部
404 ブランチ状態保持部

Claims (8)

  1.  タイムスロットに基づくタイムトリガー型の通信方式である車載ネットワークにおける不正制御防止システムであって、前記車載ネットワークには、1以上の電子制御装置が接続され、前記1以上の電子制御装置は所定のタイムスロット内でフレームを送受信し、
     前記不正制御防止システムは、1以上のエラー監視装置と、1以上のフレーム無効化装置と、を備え、
     前記1以上のエラー監視装置はそれぞれ、第1のエラー検知部と、エラー通知部と、を備え、
     前記第1のエラー検知部は、前記車載ネットワークに接続され、前記車載ネットワークに流れるフレームを受信し、受信したフレームにエラーが発生したことを検知し、
     前記エラー通知部は、前記第1のエラー検知部がエラーの発生を検知した場合に、エラーの発生したフレームの種類を識別可能な情報を含むエラー通知フレームを送信し、
     前記1以上のフレーム無効化装置はそれぞれ、第2のエラー検知部と、無効化部と、を備え、
     前記無効化部は、前記エラー通知フレームを所定数以上、受信し、かつ、前記第2のエラー検知部において、前記エラー通知フレームに含まれるエラーの発生したフレームに関してエラーが検知されていない場合に、前記フレームを無効化対象フレームとして、以降の無効化対象フレームの受信を無効化する第1の無効化モードへ遷移する、
     不正制御防止システム。
  2.  前記1以上のフレーム無効化装置はそれぞれ、さらに、フレーム送受信部を備えており、
     前記フレーム送受信部は、前記車載ネットワークの所定のタイムスロット内でフレームを送受信し、
     前記第1の無効化モードである場合には、前記無効化対象フレームのフレームを受信しない、前記無効化対象フレームと同一のタイムスロットにおいて、同一の識別子のフレームの送信を行う、のいずれかの方法により以降の無効化対象フレームの受信を無効化する、
     請求項1記載の不正制御防止システム。
  3.  前記1以上のエラー監視装置はそれぞれ、さらに、エラー通知フレーム監視部を備え、
     前記エラー通知フレーム監視部は、自身の送信した第1の前記エラー通知フレームにエラーが発生しているかを監視し、
     前記エラー通知部は、さらに、前記エラー通知フレーム監視部において、エラーが検知された場合に、エラー通知異常フレームを送信し、
     前記1以上のフレーム無効化装置のそれぞれは、さらに、フレームの種別ごとにエラーの検知回数および、エラー通知フレームの受信回数の少なくとも1つを保持する、エラー状態保持部を備え、
     前記無効化部は、さらに前記エラー通知異常フレームを受信した場合に、前記エラー状態保持部に格納される、エラーの検知回数、エラー通知フレームの受信回数のいずれかが、所定数以上であるフレームを無効化対象フレームとし、第1の無効化モードへ遷移する、
     請求項2記載の不正制御防止システム。
  4.  前記タイムトリガー型の通信方式はFlexRayプロトコルであって、
     前記エラーは、FlexRayプロトコルに定められる、SyncError、ContentError、BoundaryViolation、TxConflictのいずれかである、
     請求項3記載の不正制御防止システム。
  5.  前記車載ネットワークは、複数のブランチを備え、スターカプラを介し、フレームの送受信を行うスター型トポロジであって、
     前記エラー通知フレームは、FlexRayプロトコルにおける動的フレームであって、
     前記エラー通知部は、前記エラー監視装置が接続されるブランチに応じて、前記エラー通知フレームを、送信するサイクル数を決定する、
     請求項4記載の不正制御防止システム。
  6.  前記1以上のエラー監視装置はそれぞれ、さらに、無効化モード切替部と、不正ブランチ特定部とを備え、
     前記無効化モード切替部は、前記1以上のフレーム無効化装置のそれぞれに対して、無効化モードの有効化フラグと、送信先となる前記1以上のフレーム無効化装置を識別する値または、前記1以上のフレーム無効化装置が接続されるブランチを識別する値のいずれかを含む、無効化切り替えフレームを、第1のブランチを無効化対象ブランチとするために、第1のブランチ内で少なくとも1つのフレーム無効化装置が第1の無効化モードへ遷移し、第1のブランチ以外のブランチに接続されるフレーム無効化装置は、前記第1の無効化モードに遷移しないように、送信し、所定の期間経過後に、第2のブランチを無効化対象ブランチとするために無効化切り替えフレームを送信することを、全てのブランチに対して行い、
     前記不正ブランチ特定部は、前記無効化対象ブランチと、前記無効化対象ブランチとなっている期間に受信したエラー通知フレームの個数を保持しておき、前記エラー通知フレームの個数が最大となったときの前記無効化対象ブランチを不正ブランチとして判断し、
     前記無効化部は、さらに、前記無効化切り替えフレームに含まれる、無効化モードの有効化フラグと、前記フレーム無効化装置の識別子と前記無効化部を備える前記1以上のフレーム無効化装置の識別子が一致した場合、またはブランチの識別子と、前記フレーム無効化装置が接続されるブランチが一致した場合に、無効化モードの有効化フラグに従い、第1の無効化モードへ遷移する、
     請求項5記載の不正制御防止システム。
  7.  前記1以上のフレーム無効化装置はそれぞれ、さらに、フレーム送信部を備えており、
     前記フレーム送信部は、前記車載ネットワークの所定のタイムスロット内で第1のフレームを送信し、
     前記1以上のフレーム無効化装置はそれぞれ、さらに、前記第2のエラー検知部において、第1のフレームにおいて、エラーを検知し、かつ、前記エラー通知フレームの受信が所定数以下である場合に、第1のフレームを前記無効化対象フレームとした第2の無効化モードに遷移し、
     前記フレーム送信部は、前記第2の無効化モードの状態のときは、前記第1のフレームの送信開始タイミングを早める、
     請求項1記載の不正制御防止システム。
  8.  タイムスロットに基づくタイムトリガー型の通信方式である車載ネットワークにおける不正制御防止方法であって、前記車載ネットワークには、1以上の電子制御装置が接続され、前記1以上の電子制御装置のそれぞれは、所定のタイムスロット内でフレームを送受信し、
     前記不正制御防止方法は、1以上のエラー監視ステップと、1以上のフレーム無効化ステップと、を備え、
     前記1以上のエラー監視ステップはそれぞれ、第1のエラー検知ステップと、エラー通知ステップと、備え、
     前記第1のエラー検知ステップは、前記車載ネットワークに接続され、前記車載ネットワークに流れるフレームを受信し、受信したフレームにエラーが発生したことを検知し、
     前記エラー通知ステップは、前記第1のエラー検知ステップがエラーの発生を検知した場合に、エラーの発生したフレームの種類を識別可能な情報を含むエラー通知フレームを送信し、
     前記1以上のフレーム無効化ステップのそれぞれは、第2のエラー検知ステップと、無効化ステップと、を備え、
     前記無効化ステップは、前記エラー通知フレームを受信し、かつ、前記第2のエラー検知ステップにおいて、前記エラー通知フレームに含まれるエラーの発生したフレームに関するエラーが発生していることが検知されていない場合に、以降の前記フレームの受信を無効化する無効化モードへ遷移する、
     不正制御防止方法。
PCT/JP2018/040832 2018-11-02 2018-11-02 不正制御防止システムおよび、不正制御防止方法 Ceased WO2020090108A1 (ja)

Priority Applications (6)

Application Number Priority Date Filing Date Title
PCT/JP2018/040832 WO2020090108A1 (ja) 2018-11-02 2018-11-02 不正制御防止システムおよび、不正制御防止方法
CN201980066276.0A CN112823494B (zh) 2018-11-02 2019-10-31 防止不正常控制系统、监视装置以及防止不正常控制方法
PCT/JP2019/042777 WO2020090976A1 (ja) 2018-11-02 2019-10-31 不正制御防止システム、監視装置、および、不正制御防止方法
JP2020554037A JP7340537B2 (ja) 2018-11-02 2019-10-31 不正制御防止システム、監視装置、および、不正制御防止方法
EP19879009.9A EP3876480B1 (en) 2018-11-02 2019-10-31 Fraudulent control prevention system, monitoring device, and fraudulent control prevention method
US17/224,883 US11909748B2 (en) 2018-11-02 2021-04-07 Anti-fraud control system, monitoring device, and anti-fraud control method

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/JP2018/040832 WO2020090108A1 (ja) 2018-11-02 2018-11-02 不正制御防止システムおよび、不正制御防止方法

Publications (1)

Publication Number Publication Date
WO2020090108A1 true WO2020090108A1 (ja) 2020-05-07

Family

ID=70463074

Family Applications (2)

Application Number Title Priority Date Filing Date
PCT/JP2018/040832 Ceased WO2020090108A1 (ja) 2018-11-02 2018-11-02 不正制御防止システムおよび、不正制御防止方法
PCT/JP2019/042777 Ceased WO2020090976A1 (ja) 2018-11-02 2019-10-31 不正制御防止システム、監視装置、および、不正制御防止方法

Family Applications After (1)

Application Number Title Priority Date Filing Date
PCT/JP2019/042777 Ceased WO2020090976A1 (ja) 2018-11-02 2019-10-31 不正制御防止システム、監視装置、および、不正制御防止方法

Country Status (5)

Country Link
US (1) US11909748B2 (ja)
EP (1) EP3876480B1 (ja)
JP (1) JP7340537B2 (ja)
CN (1) CN112823494B (ja)
WO (2) WO2020090108A1 (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2023210128A1 (ja) * 2022-04-26 2023-11-02 日立Astemo株式会社 電子制御装置

Families Citing this family (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP6603617B2 (ja) * 2015-08-31 2019-11-06 パナソニック インテレクチュアル プロパティ コーポレーション オブ アメリカ ゲートウェイ装置、車載ネットワークシステム及び通信方法
EP3799364B1 (en) * 2018-05-23 2025-04-02 Panasonic Intellectual Property Corporation of America Communication control device, unauthorized access-detecting electronic control unit, mobility network system, communication control method, unauthorized access detection method and program
WO2022185370A1 (ja) * 2021-03-01 2022-09-09 株式会社オートネットワーク技術研究所 車載装置、プログラム及び情報処理方法
US12143446B2 (en) * 2022-12-30 2024-11-12 Woven By Toyota, Inc. System and method for network bandwidth management in vehicle

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2010521858A (ja) * 2007-03-14 2010-06-24 エヌエックスピー ビー ヴィ 分散通信システムのノード、分散通信システムに結合されたノード及び監視装置
JP2013131907A (ja) * 2011-12-21 2013-07-04 Toyota Motor Corp 車両ネットワーク監視装置
WO2015151418A1 (ja) * 2014-04-03 2015-10-08 パナソニック インテレクチュアル プロパティ コーポレーション オブ アメリカ ネットワーク通信システム、不正検知電子制御ユニット及び不正対処方法
WO2017037982A1 (ja) * 2015-08-31 2017-03-09 パナソニック インテレクチュアル プロパティ コーポレーション オブ アメリカ ゲートウェイ装置、車載ネットワークシステム及び転送方法
JP2018011288A (ja) * 2016-07-05 2018-01-18 パナソニック インテレクチュアル プロパティ コーポレーション オブ アメリカPanasonic Intellectual Property Corporation of America 不正制御抑止方法、不正制御抑止装置及び車載ネットワークシステム

Family Cites Families (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8407339B2 (en) * 2007-11-14 2013-03-26 Nxp B.V. Star network and method for preventing a repeated transmission of a control symbol in such a star network
US8964775B2 (en) * 2011-09-21 2015-02-24 Nxp B.V. System and method for encoding a slot table for a communications controller
JP5664799B2 (ja) 2011-12-22 2015-02-04 トヨタ自動車株式会社 通信システム及び通信方法
US8797884B2 (en) * 2012-06-27 2014-08-05 Nxp B.V. Network communication apparatus, system and method
US8817810B2 (en) * 2012-06-27 2014-08-26 Nxp B.V. Communications apparatus, system and method with error mitigation
US9201720B2 (en) * 2012-08-13 2015-12-01 Nxp B.V. FlexRay network runtime error detection and containment
CN111934966B (zh) * 2014-12-01 2022-09-20 松下电器(美国)知识产权公司 不正常检测电子控制单元、车载网络系统以及不正常检测方法
JP6836340B2 (ja) * 2015-09-29 2021-02-24 パナソニック インテレクチュアル プロパティ コーポレーション オブ アメリカPanasonic Intellectual Property Corporation of America 不正検知電子制御ユニット、車載ネットワークシステム及び通信方法
WO2017104106A1 (ja) * 2015-12-14 2017-06-22 パナソニック インテレクチュアル プロパティ コーポレーション オブ アメリカ 評価装置、評価システム及び評価方法
JP6404848B2 (ja) * 2016-03-15 2018-10-17 本田技研工業株式会社 監視装置、及び、通信システム
WO2018008453A1 (ja) * 2016-07-05 2018-01-11 パナソニック インテレクチュアル プロパティ コーポレーション オブ アメリカ 異常検知電子制御ユニット、車載ネットワークシステム及び異常検知方法
CN109076016B9 (zh) * 2017-04-07 2022-02-15 松下电器(美国)知识产权公司 非法通信检测基准决定方法、决定系统以及记录介质

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2010521858A (ja) * 2007-03-14 2010-06-24 エヌエックスピー ビー ヴィ 分散通信システムのノード、分散通信システムに結合されたノード及び監視装置
JP2013131907A (ja) * 2011-12-21 2013-07-04 Toyota Motor Corp 車両ネットワーク監視装置
WO2015151418A1 (ja) * 2014-04-03 2015-10-08 パナソニック インテレクチュアル プロパティ コーポレーション オブ アメリカ ネットワーク通信システム、不正検知電子制御ユニット及び不正対処方法
WO2017037982A1 (ja) * 2015-08-31 2017-03-09 パナソニック インテレクチュアル プロパティ コーポレーション オブ アメリカ ゲートウェイ装置、車載ネットワークシステム及び転送方法
JP2018011288A (ja) * 2016-07-05 2018-01-18 パナソニック インテレクチュアル プロパティ コーポレーション オブ アメリカPanasonic Intellectual Property Corporation of America 不正制御抑止方法、不正制御抑止装置及び車載ネットワークシステム

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2023210128A1 (ja) * 2022-04-26 2023-11-02 日立Astemo株式会社 電子制御装置
JP2023161698A (ja) * 2022-04-26 2023-11-08 日立Astemo株式会社 電子制御装置
JP7773941B2 (ja) 2022-04-26 2025-11-20 Astemo株式会社 電子制御装置

Also Published As

Publication number Publication date
EP3876480A4 (en) 2022-01-05
CN112823494B (zh) 2022-04-29
JP7340537B2 (ja) 2023-09-07
US20210226966A1 (en) 2021-07-22
WO2020090976A1 (ja) 2020-05-07
CN112823494A (zh) 2021-05-18
EP3876480B1 (en) 2023-07-05
EP3876480A1 (en) 2021-09-08
JPWO2020090976A1 (ja) 2021-09-30
US11909748B2 (en) 2024-02-20

Similar Documents

Publication Publication Date Title
CN112823494B (zh) 防止不正常控制系统、监视装置以及防止不正常控制方法
JP7033499B2 (ja) 異常検知装置および異常検知方法
EP3148154B1 (en) Controller area network (can) device and method for controlling can traffic
US9786157B2 (en) Bus system and method for operating such a bus system
KR20150100790A (ko) 프로토콜 예외 상태를 이용하는 데이터 전송
JP2016111477A (ja) 通信システム、及びゲートウェイ
KR101095583B1 (ko) 차량내 네트워크에서의 통합 게이트웨이 모니터링 시스템 및 방법
WO2020021713A1 (ja) 不正検知方法および不正検知電子制御装置
EP3799364B1 (en) Communication control device, unauthorized access-detecting electronic control unit, mobility network system, communication control method, unauthorized access detection method and program
US20150124839A1 (en) Method of Packaging and Unpackaging Packet and Appartuses Using the Same
EP3771981A1 (en) Log output method, log output device, and program
WO2020021715A1 (ja) 不正対処方法、不正対処装置および通信システム
CN111108725A (zh) 用于监视通信总线上的通信的方法和用于连接到通信总线的电子设备
US11438192B2 (en) Managed switch with physically distributed ports
KR102352504B1 (ko) 이더넷 스위치 정보에 기초한 미등록 장치 검증 시스템 및 방법
Sethna et al. What lessons can controller area networks learn from FlexRay
CN111788800B (zh) 帧传送方法以及安全星型耦合器
JP2009504480A (ja) メッセージを送信する方法
EP4344150B1 (en) Controller area network system and a method for the system
Min et al. Fault recovery of 10BASE-T1S automotive ethernet with bus/ring hybrid topology
KR102228331B1 (ko) 네트워크에서 통신 노드의 동작 방법
KR101992713B1 (ko) 통신 인터페이스 장치
JP5245862B2 (ja) 車載用多重通信装置
JP2007158534A (ja) 通信システム
CN111147492A (zh) 一种数据安全传输系统、方法及装置

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

Country of ref document: EP

Kind code of ref document: A1

NENP Non-entry into the national phase

Ref country code: DE

122 Ep: pct application non-entry in european phase

Ref document number: 18938635

Country of ref document: EP

Kind code of ref document: A1