WO2018131334A1 - 不正検知電子制御ユニット、電子制御ユニット、車載ネットワークシステム、不正検知方法およびコンピュータプログラム - Google Patents

不正検知電子制御ユニット、電子制御ユニット、車載ネットワークシステム、不正検知方法およびコンピュータプログラム Download PDF

Info

Publication number
WO2018131334A1
WO2018131334A1 PCT/JP2017/043721 JP2017043721W WO2018131334A1 WO 2018131334 A1 WO2018131334 A1 WO 2018131334A1 JP 2017043721 W JP2017043721 W JP 2017043721W WO 2018131334 A1 WO2018131334 A1 WO 2018131334A1
Authority
WO
WIPO (PCT)
Prior art keywords
electronic control
control unit
rule
frame
unit
Prior art date
Application number
PCT/JP2017/043721
Other languages
English (en)
French (fr)
Inventor
藤村 一哉
安齋 潤
正人 田邉
Original Assignee
パナソニックIpマネジメント株式会社
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 パナソニックIpマネジメント株式会社 filed Critical パナソニックIpマネジメント株式会社
Publication of WO2018131334A1 publication Critical patent/WO2018131334A1/ja
Priority to US16/451,388 priority Critical patent/US11075927B2/en

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/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
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B60VEHICLES IN GENERAL
    • B60RVEHICLES, VEHICLE FITTINGS, OR VEHICLE PARTS, NOT OTHERWISE PROVIDED FOR
    • B60R16/00Electric or fluid circuits specially adapted for vehicles and not otherwise provided for; Arrangement of elements of electric or fluid circuits specially adapted for vehicles and not otherwise provided for
    • B60R16/02Electric or fluid circuits specially adapted for vehicles and not otherwise provided for; Arrangement of elements of electric or fluid circuits specially adapted for vehicles and not otherwise provided for electric constitutive elements
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B60VEHICLES IN GENERAL
    • B60RVEHICLES, VEHICLE FITTINGS, OR VEHICLE PARTS, NOT OTHERWISE PROVIDED FOR
    • B60R16/00Electric or fluid circuits specially adapted for vehicles and not otherwise provided for; Arrangement of elements of electric or fluid circuits specially adapted for vehicles and not otherwise provided for
    • B60R16/02Electric or fluid circuits specially adapted for vehicles and not otherwise provided for; Arrangement of elements of electric or fluid circuits specially adapted for vehicles and not otherwise provided for electric constitutive elements
    • B60R16/023Electric or fluid circuits specially adapted for vehicles and not otherwise provided for; Arrangement of elements of electric or fluid circuits specially adapted for vehicles and not otherwise provided for electric constitutive elements for transmission of signals between vehicle parts or subsystems
    • 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]
    • 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

Definitions

  • the present invention relates to a data processing technique, and more particularly to a fraud detection electronic control unit, an electronic control unit, an in-vehicle network system, a fraud detection method, and a computer program.
  • ECUs electronice control units
  • a network connecting these ECUs is called an in-vehicle network.
  • CAN Controller Area Network
  • the present invention provides a technology that facilitates improving the security of an in-vehicle network.
  • the fraud detection electronic control unit of one aspect of the present invention is connected to the electronic control unit via an in-vehicle network.
  • the fraud detection electronic control unit includes a storage unit and a determination unit.
  • the storage unit stores a first rule for determining whether a frame transmitted from the electronic control unit is invalid.
  • the determination unit determines whether the frame transmitted from the electronic control unit is illegal according to the first rule.
  • the storage unit acquires a second rule held by the electronic control unit and updates the stored first rule when a predetermined condition is satisfied.
  • the electronic control unit is connected to the fraud detection electronic control unit via an in-vehicle network.
  • the electronic control unit includes a storage unit and a transmission / reception unit.
  • storage part memorize
  • the transmission / reception unit receives a rule transmission request from the fraud detection electronic control unit.
  • the transmission / reception unit stores in a storage unit that is used by the fraud detection electronic control unit to determine whether a frame having the same frame ID as the frame transmitted from the electronic control unit is illegal in response to a rule transmission request. Sent the rule to the fraud detection electronic control unit.
  • the vehicle-mounted network system includes an electronic control unit and a fraud detection electronic control unit connected to the electronic control unit via the vehicle-mounted network.
  • the fraud detection electronic control unit includes a first storage unit, a determination unit, and a first transmission / reception unit.
  • the first storage unit stores a first rule for determining whether or not a frame transmitted from the electronic control unit is illegal.
  • the determination unit determines whether the frame transmitted from the electronic control unit is illegal according to the first rule.
  • the first transmission / reception unit transmits a transmission request of the second rule to the electronic control unit when a predetermined condition is satisfied.
  • the first storage unit acquires the second rule held by the electronic control unit and updates the stored first rule when a predetermined condition is satisfied.
  • the electronic control unit includes a second storage unit and a second transmission / reception unit.
  • the second storage unit stores a second rule for determining whether a frame having the same frame ID as the frame transmitted from the electronic control unit transmitted on the in-vehicle network is illegal.
  • the second transmitting / receiving unit receives the transmission request for the second rule, and transmits the second rule stored in advance in the second storage unit to the fraud detection electronic control unit in response to the transmission request for the second rule. To do.
  • a first rule for determining whether a frame connected to an electronic control unit via an in-vehicle network and transmitted from the electronic control unit is illegal is stored in a storage unit.
  • the fraud detection method executed by the fraud detection electronic control unit.
  • the fraud detection method includes determining whether a frame transmitted from the electronic control unit is illegal according to the first rule.
  • the fraud detection method includes obtaining a second rule held by the electronic control unit and updating the first rule stored in the storage unit when a predetermined condition is satisfied.
  • Still another aspect of the present invention is an electronic control unit connected to a fraud detection electronic control unit via an in-vehicle network, and whether a frame having the same frame ID as a frame transmitted from the electronic control unit is illegal.
  • storage part is the fraud detection method to perform.
  • the fraud detection method includes receiving a rule transmission request from the fraud detection electronic control unit.
  • the fraud detection method uses a rule stored in the storage unit used by the fraud detection electronic control unit to determine whether a frame transmitted from the electronic control unit is illegal in response to a rule transmission request. Including sending to the fraud detection electronic control unit.
  • FIG. 1 is a diagram illustrating a configuration of an in-vehicle network system according to an embodiment.
  • FIG. 2 is a block diagram showing a functional configuration of the ECU of FIG.
  • FIG. 3 is a diagram illustrating a configuration of the fraud determination rule.
  • FIG. 4 is a block diagram showing a functional configuration of the security ECU of FIG.
  • FIG. 5 is a flowchart showing the operation of the ECU of FIG.
  • FIG. 6 is a flowchart showing the operation of the security ECU of FIG.
  • FIG. 7 is a flowchart showing in detail the fraud determination process in S50 of FIG.
  • FIG. 8 is a flowchart showing an operation of updating the fraud determination rule.
  • the fraud detection ECU determines whether a frame transmitted by another ECU is fraud based on a fraud determination rule defined in advance. Therefore, the fraud determination rule corresponding to the type of ECU connected to the in-vehicle network needs to be stored in the fraud detection ECU in advance, but depending on the type of ECU connected to the in-vehicle network, With repair and replacement or firmware update, it is not easy to individually adjust fraud determination rules stored in the fraud detection ECU, and there is room for improvement.
  • the unauthorized detection ECU is another ECU (in other words, an ECU to be inspected as to whether it is illegal or not, and is also referred to as an “inspection ECU”). )) May be determined as to whether the frame transmitted is invalid.
  • the management of the fraud detection ECU and fraud determination rules becomes complicated. There was a thing.
  • the fraud determination rule is changed due to the repair / replacement of the ECU to be inspected or the firmware update, the fraud determination rule held by the fraud detection ECU needs to be correctly updated. However, the management of this update has not been easy. It was.
  • the inspection target ECU holds the fraud determination rule for inspecting the frame having the same frame ID as the frame transmitted by itself, and provides it to the fraud detection ECU.
  • the fraud detection ECU determines whether or not the frame transmitted from each inspection target ECU is illegal based on the fraud determination rule provided from each inspection target ECU.
  • FIG. 1 shows a configuration of an in-vehicle network system according to the embodiment.
  • the in-vehicle network system 12 is a communication system constructed in the automobile 10, and includes an ECU 14a, an ECU 14b (hereinafter simply referred to as “ECU 14”) and a security ECU 20.
  • the ECU 14 and the security ECU 20 are connected via the CAN 22 and transmit / receive frames according to the CAN protocol.
  • the ECU 14 a and ECU14b correspond to said inspection object ECU.
  • the ECU 14 a is connected to a sensor 16 such as a speed sensor or a window opening / closing sensor, and transmits information detected by the sensor 16, for example, a frame indicating a vehicle speed, a window opening / closing state, etc. to the CAN 22.
  • the ECU 14b is connected to an actuator 18 (for example, a brake actuator) and controls the actuator 18 based on a frame received from the CAN 22. Further, the ECU 14b transmits a frame indicating the state of the actuator 18 to the security ECU 20 via the CAN 22.
  • the security ECU 20 corresponds to the above fraud detection ECU.
  • the security ECU 20 determines whether or not the inspection target ECU that transmits the unauthorized frame is connected to the CAN 22 by determining whether or not the plurality of frames transmitted from the plurality of ECUs 14 are unauthorized.
  • FIG. 2 is a block diagram showing a functional configuration of the ECU 14 of FIG.
  • the ECU 14 includes a reception buffer 30, a rule holding unit 32, a frame transmission / reception unit 34, a frame interpretation unit 36, a data transmission / reception unit 38, and a frame generation unit 40.
  • Each block shown in the block diagram of the present specification can be realized in hardware by a computer CPU (central processing unit), memory and other elements and mechanical devices, and in software by a computer program, etc.
  • functional blocks realized by their cooperation are depicted. Those skilled in the art will understand that these functional blocks can be realized in various forms by a combination of hardware and software.
  • a computer program including modules corresponding to the frame transmission / reception unit 34, the frame interpretation unit 36, the data transmission / reception unit 38, and the frame generation unit 40 may be stored in a ROM (read-only memory) of the ECU 14.
  • the CPU of the ECU 14 may exhibit the function of each block by appropriately reading the computer program into a RAM (random-access memory) of the ECU 14 and executing it.
  • the reception buffer 30 and the rule holding unit 32 may be realized by the ROM or RAM of the ECU 14.
  • these functional blocks may be realized as an LSI (large-scale integration) that is a physical dedicated circuit.
  • the reception buffer 30 is a storage area that temporarily holds frame data received from the CAN 22.
  • the rule holding unit 32 is a storage area that holds fraud determination rules.
  • the fraud determination rule held in the rule holding unit 32 determines whether or not a frame having the same frame ID as a frame (for example, CAN remote frame, data frame, etc.) transmitted from the ECU 14 itself (that is, its own device) is illegal. It is data that establishes standards or rules for
  • FIG. 3 shows the structure of the fraud determination rule.
  • the fraud determination rule 50 includes a frame ID, an individual determination rule 52, an external reference determination rule 54, an ECU model number, a version number, and a tampering detection check value.
  • the frame ID an ID value given to a frame to be determined by the fraud determination rule 50 is set.
  • a unique frame ID is determined for each type of frame and for each ECU 14 that is a frame transmission source.
  • the identifier of the ECU 14 that is the provider of the fraud determination rule 50 is set in the ECU model number.
  • the version number the version number of the fraud determination rule 50 is set.
  • both the major version number and the minor version number are set.
  • a message authentication code (MAC (message authentication code) data) generated based on a predetermined common key and data of the fraud determination rule 50 may be set.
  • MAC message authentication code
  • a general digital signature may be set.
  • the individual determination rule 52 and the external reference determination rule 54 are common in that they are rules relating to frames transmitted by the ECU 14 itself (for example, the ECU 14a) that is the provider of the fraud determination rule 50.
  • the individual determination rule 52 is related only to a frame transmitted by the ECU 14 (for example, the ECU 14a) as a determination condition as to whether or not it is illegal.
  • the external reference determination rule 54 is related not only to a frame transmitted by the ECU 14 (for example, the ECU 14a) but also to a frame transmitted by another ECU (for example, the ECU 14b).
  • the individual determination rule 52 includes a frame data length, a transmission cycle, and a transmission frequency.
  • a possible value or range is designated as the data length of the frame.
  • a fraud determination unit 70 (see FIG. 4) of the security ECU 20 to be described later determines that a frame having a data length outside the specified value or range is fraudulent.
  • As the set value of the frame data length for example, an upper limit value and a lower limit value may be designated.
  • the transmission cycle specifies the cycle in which the frame with this frame ID appears on the CAN 22.
  • the fraud determination unit 70 of the security ECU 20 to be described later stores the previous appearance time (also referred to as the reception time from the CAN 22) of the frame of this frame ID, and the difference from the current appearance time is out of the transmission cycle. In this case, it is determined that the frame is invalid.
  • the setting value of the transmission cycle for example, an upper limit value and a lower limit value of a cycle including a margin may be specified.
  • the frequency with which the frame with this frame ID appears on the CAN 22 is designated.
  • the fraud determination unit 70 of the security ECU 20 described later counts the number of appearances (also referred to as the number of receptions from the CAN 22) from a certain point in time until a predetermined unit time elapses, and the count value is out of the designated range of the transmission frequency. If it is, it is determined that the frame is invalid.
  • As the transmission frequency setting value for example, an upper limit value and a lower limit value of the number of appearances may be specified.
  • the fraud determination using the individual determination rule 52 it is determined whether or not the frame data length, the transmission cycle, and the transmission frequency deviate from the specified range.
  • the individual determination rule 52 is not limited to the rules listed here, and may include other rules relating to frames transmitted by the ECU 14 itself.
  • the external reference determination rule 54 includes reference frame information, a reference determination rule element, a reference determination rule arithmetic expression, and determination rule reference data information.
  • the reference frame information information related to data of other frames referred to in this rule is set.
  • the reference frame information includes a determination rule reference data identifier as an internal parameter, and a plurality of determination rule reference data identifiers can be set.
  • an identifier data item name, ID, etc.
  • a determination rule (in other words, fraud determination standard) for the data of the item specified by the reference frame information is set.
  • the reference determination rule element includes a set of reference frame information, a determination condition, and a determination reference value as internal parameters, and a plurality of sets can be set.
  • an identifier or the like for example, an index value
  • the determination condition the type of determination condition to be performed using the determination rule reference data and the determination reference value specified by specific reference frame information is specified.
  • the types of determination conditions include “equal”, “greater than”, “less than”, and the like.
  • As the determination reference value a reference value used for determination is designated.
  • the determination reference value may be an identifier of the second reference frame information or the like.
  • the determination rule reference data held by the second reference frame information is used as the determination reference value as the determination reference value. That is, the true / false value of the reference determination rule element is obtained by comparing the determination rule reference data held by the reference frame information with the determination reference value to determine whether the determination condition is satisfied.
  • the reference determination rule arithmetic expression includes a combination of an operator and a reference determination rule element as an internal parameter, and a plurality of sets can be set.
  • an operator an operator that combines the reference determination rule elements is specified.
  • a reference determination rule element to be combined is specified. That is, in the reference determination rule arithmetic expression, the individual true / false values held by the individual reference determination rule elements are combined by an operator, and an arithmetic expression for obtaining a final determination result is designated.
  • the arithmetic expression may be described and stored in reverse Polish notation.
  • the determination rule reference data information information on judgment rule reference data that can be specified in other frames is set.
  • the determination rule reference data information includes a combination of a determination rule reference data identifier and a determination rule reference data position as an internal parameter, and a plurality of sets can be set.
  • the determination rule reference data identifier is an identifier (data item name, ID, etc.) of the frame data that can be referred to by another frame, and a unique value is designated in the in-vehicle network system 12.
  • the determination rule reference data position the position of the data identified by the determination rule reference data identifier is designated.
  • the position of the block referred to by another frame among the data blocks included in this frame is designated by the byte offset and the bit position. That is, the determination rule reference data information defines the position of the data block in the main frame that can be referred to by another frame and its identifier, and is information that can be specified by the reference frame information of the other frame.
  • the external reference determination rule 54 is not limited to the rules listed here, and may include other rules relating to frames transmitted from other ECUs.
  • the frame transmission / reception unit 34 transmits / receives a frame to / from the CAN 22 according to the CAN protocol.
  • the frame transmission / reception unit 34 receives frame data bit by bit from the CAN 22 and sends it to the frame interpretation unit 36. Further, the frame output from the frame generation unit 40 is transmitted to the CAN 22.
  • the frame interpretation unit 36 acquires frame data bit by bit from the frame transmission / reception unit 34 and interprets the data according to the CAN protocol. If the frame interpretation unit 36 determines that the acquired data does not conform to the CAN protocol, the frame interpretation unit 36 notifies the frame generation unit 40 of an instruction to transmit an error frame even before receiving data for one frame. The frame interpretation unit 36 stores the acquired data in the reception buffer 30 when the acquired data conforms to the CAN protocol.
  • the frame interpreter 36 executes different frame processing for each type of ECU when reception of one frame is completed and the frame ID is a predetermined value to be processed.
  • the frame interpretation unit 36 transmits data to be transmitted to the sensor 16 or the actuator 18 to the data transmission / reception unit 38 as necessary in the frame processing.
  • the frame interpretation unit 36 clears the reception buffer 30 when the processing for one frame is completed.
  • the data transmitter / receiver 38 transmits data received from the frame interpreter 36 to the sensor 16 or the actuator 18 connected to the ECU 14. In addition, the data transmission / reception unit 38 sends the data received from the sensor 16 or the actuator 18 to the frame generation unit 40.
  • the frame generation unit 40 receives data from the data transmission / reception unit 38 and generates a frame according to the CAN protocol. For example, it is a frame in which a frame ID corresponding to the type of data received from the data transmitting / receiving unit 38 is set, and a frame including at least a part of the data received from the data transmitting / receiving unit 38 is generated.
  • the frame generation unit 40 sends the generated frame to the frame transmission / reception unit 34.
  • the frame generation unit 40 receives an error frame transmission instruction from the frame interpretation unit 36, the frame generation unit 40 generates an error frame and sends the error frame to the frame transmission / reception unit 34.
  • the frame transmission / reception unit 34 and the frame interpretation unit 36 cooperate with each other and function as a reception unit that receives request data for requesting transmission of the fraud determination rule 50 from the security ECU 20.
  • the frame interpretation unit 36 has the fraud determination rule 50. Is sent to the frame generation unit 40.
  • the frame interpretation unit 36 sends an instruction to transmit the version information of the fraud determination rule 50 to the frame generation unit 40. send.
  • the frame generation unit 40 and the frame transmission / reception unit 34 cooperate with each other and function as a transmission unit that transmits the fraud determination rule 50 held in the rule holding unit 32 to the security ECU 20 in accordance with the request data received by the reception unit. To do. Specifically, when the frame generation unit 40 receives an instruction to transmit body data of the fraud determination rule 50 from the frame interpretation unit 36, the frame generation unit 40 selects a frame including all data of the fraud determination rule 50 held in the rule holding unit 32. Generate. The frame transmission / reception unit 34 transmits a frame including all data of the fraud determination rule 50 to the CAN 22.
  • the frame generation unit 40 When the frame generation unit 40 receives an instruction to transmit the version information of the fraud determination rule 50 from the frame interpretation unit 36, the frame generation unit 40 generates a frame including only the version information of the fraud determination rule 50 held in the rule holding unit 32. .
  • the frame transmission / reception unit 34 transmits a frame including only version information of the fraud determination rule 50 to the CAN 22.
  • FIG. 4 is a block diagram showing a functional configuration of the security ECU 20 of FIG.
  • the security ECU 20 includes a reception buffer 60, a rule holding unit 62, a reference data holding unit 64, a frame transmission / reception unit 66, a frame interpretation unit 68, a fraud determination unit 70, and a frame generation unit 72.
  • the reception buffer 60, frame transmission / reception unit 66, frame interpretation unit 68, and frame generation unit 72 of the security ECU 20 correspond to the reception buffer 30, frame transmission / reception unit 34, frame interpretation unit 36, and frame generation unit 40 of the ECU 14 shown in FIG. To do.
  • the description of the configuration already described among these functional blocks is omitted.
  • the rule holding unit 62 includes a storage area for storing a fraud determination rule (FIG. 3) for determining whether or not a frame transmitted from the external ECU 14 is illegal.
  • the rule holding unit 62 holds the fraud determination rules provided from each of the plurality of ECUs 14 in the in-vehicle network system 12 in association with each ECU 14. In other words, the rule holding unit 62 holds fraud determination rules for each ECU in order to determine whether or not a frame having the same frame ID as a frame transmitted from each ECU is illegal.
  • the rule holding unit 62 receives the update fraud determination rule sent from the frame interpretation unit 68, and associates the fraud determination rule with the ECU model number included in the update fraud determination rule. New storage in the storage area. When the existing fraud determination rule is stored in association with the ECU model number included in the update fraud determination rule, the rule holding unit 62 updates the existing fraud determination rule with the update fraud determination rule.
  • the rule holding unit 62 further performs a version value check process and a tampering check process when a fraud determination rule is newly stored or updated. Further, the rule holding unit 62 sends the fraud determination rule corresponding to the frame ID received from the fraud determination unit 70 to the fraud determination unit 70.
  • the rule holding unit 62 holds the ECU model number, fraud determination rule, major version number, and minor version number of each of the plurality of ECUs 14 in a form that cannot be tampered with.
  • Each ECU 14 sends a fraud determination rule to which the ECU model number, major version number, and minor version number are assigned to the security ECU 20.
  • the rule holding unit 62 compares the major version number acquired from the ECU 14 with the major version stored in advance in the rule holding unit 62 for the fraud determination rule corresponding to the ECU model number acquired from the ECU 14.
  • the rule holding unit 62 newly stores the fraud determination rule acquired from the ECU 14 in the rule holding unit 62.
  • the existing fraud determination rule in the rule holding unit 62 is updated, that is, replaced with the fraud determination rule acquired from the ECU 14.
  • the fraud determination rule of the rule holding unit 62 is updated regardless of the magnitude relationship between the major version numbers and the difference between the minor version numbers. Even if the major version number acquired from the ECU 14 is older than the major version number held in advance in the rule holding unit 62, the fraud determination rule in the rule holding unit 62 is updated.
  • the existing data in the rule holding unit 62 associated with the ECU model number acquired from the ECU 14 is replaced with the fraud determination rule, major version number, and minor version number acquired from the ECU 14.
  • the mismatch between the major version number held by the ECU 14 and the major version number held by the security ECU 20 occurs when the ECU 14 is replaced (for example, when the ECU 14 is replaced with an old type ECU 14).
  • the major version is different, the individual determination rule and the external reference determination rule may be greatly changed. Therefore, it can be said that it is desirable to update the fraud determination rule held by the security ECU 20 in accordance with the ECU 14.
  • the rule holding unit 62 stores the minor version number acquired from the ECU 14 and the minor stored in advance in the rule holding unit 62 for the fraud determination rule corresponding to the ECU model number acquired from the ECU 14. Compare the version number further.
  • the rule holding unit 62 performs the fraud determination acquired from the ECU 14 on condition that the minor version value acquired from the ECU 14 is newer than the minor version value previously stored in the rule holding unit 62 (for example, a larger number).
  • the existing fraud determination rule in the rule holding unit 62 is updated by the rule. If the major version numbers match, it is unlikely that the fraud determination rule has changed significantly, and the newer minor version number is considered to correspond to newer function additions and bug fixes.
  • the fraud determination rule may be associated with a single type of version number that is not classified into a major version number and a minor version number.
  • the rule holding unit 62 of the security ECU 20 has acquired from the ECU 14 when the version number acquired from the ECU 14 is newer than the version number previously stored in the rule holding unit 62 for the fraud determination rule corresponding to the ECU model number acquired from the ECU 14.
  • the existing fraud determination rule in the rule holding unit 62 may be updated with the fraud determination rule.
  • the rule holding unit 62 of the security ECU 20 holds a root CA (Certificate Authority) certificate in a form that is not tampered with.
  • Each ECU 14 holds a signed ECU certificate whose signature can be verified by the above root CA certificate, and its own fraud determination rule signed by using a private key corresponding to the ECU certificate.
  • Each ECU 14 sends an ECU certificate and a fraud determination rule with a signature to the security ECU 20.
  • the rule holding unit 62 of the security ECU 20 verifies the ECU certificate using the root CA certificate, and verifies the fraud determination rule using the ECU certificate.
  • the rule holding unit 62 of the security ECU 20 updates the fraud determination rule when both of the two verifications are successful.
  • a general digital signature algorithm is used for signature addition and verification.
  • the reference data holding unit 64 holds the data of the second frame referred to in the fraud determination process for the first frame and the identifier (that is, the determination rule reference data identifier) in association with each other. In other words, the reference data holding unit 64 receives determination rule reference data that is data extracted from the second frame in accordance with the determination rule reference data information defined by the fraud determination rule corresponding to the second frame (frame ID thereof). Hold.
  • the frame interpretation unit 68 sends the frame to the rule holding unit 62.
  • the frame interpretation unit 68 sends the frame to the fraud determination unit 70.
  • the frame interpretation unit 68 clears the reception buffer 60 when processing for one frame is completed.
  • the fraud determination unit 70 determines whether or not the frame transmitted from the external ECU 14 is illegal according to the fraud determination rule held in the rule holding unit 62. Specifically, the fraud determination unit 70 sends the frame ID of the frame received from the frame interpretation unit 68 (hereinafter also referred to as “determination target frame”) to the rule holding unit 62, and the rule holding unit 62 sets the frame ID to the frame ID. The associated fraud determination rule is acquired. The fraud determination unit 70 refers to the fraud determination rule acquired from the rule holding unit 62 and determines whether or not the determination target frame is illegal. If it is determined that the determination target frame is illegal, the fraud determination unit 70 notifies the frame generation unit 72 of an error frame transmission instruction.
  • the frame generation unit 72 When the frame generation unit 72 receives an instruction to transmit an error frame from the frame interpretation unit 68 or the fraud determination unit 70, the frame generation unit 72 generates an error frame conforming to the CAN protocol and sends it to the frame transmission / reception unit 66.
  • the rule holding unit 62 acquires and stores fraud determination rules held by other ECUs 14 when a predetermined condition is satisfied. Details of the fraud determination rule update process will be described later with reference to FIG.
  • FIG. 5 is a flowchart showing the operation of the ECU 14 of FIG.
  • the frame transmission / reception unit 34 of the ECU 14 detects the start of frame transmission in the CAN 22 (Y in S10), the frame transmission / reception unit 34 receives 1 bit of data of the frame (S12). If the received frame is not an error frame (N in S14) and reception of one frame of data is incomplete (N in S16), the frame interpretation unit 36 sends the received 1-bit data to the reception buffer 30. Add (S18) and return to S12.
  • the frame interpretation unit 36 may acquire data specified in the received remote frame from the sensor 16 connected to the ECU, and may transmit a data frame including the acquired data to the CAN 22. Further, the frame interpretation unit 36 may transmit the data specified by the received remote frame to the actuator 18 and transmit a data frame including the control result of the actuator 18 to the CAN 22.
  • the frame interpretation unit 36 and the frame generation unit 40 provide the security ECU 20 with a fraud determination rule stored in advance in its own ECU when the received frame includes a fraud determination rule transmission request. Execute the process. Details of the fraud determination rule providing process will be described later with reference to FIG.
  • the frame interpreter 36 skips S22 and discards the received frame, for example. If the received frame is an error frame (Y in S14), the frame interpretation unit 36 executes a predetermined error process (S28), and for example, discards the frame data received so far.
  • the frame interpretation unit 36 waits for the CAN 22 to be idle (S24), and clears the received data stored in the reception buffer 30 (S26). When a predetermined end condition such as power-off is satisfied (Y in S30), the flow of this figure is ended. If the end condition is not satisfied (N in S30), the process returns to S10. If the frame transmission start has not been detected (N in S10), S12 to S28 are skipped and the process proceeds to S30.
  • FIG. 6 is a flowchart showing the operation of the security ECU 20 of FIG.
  • the frame transmission / reception unit 66 of the security ECU 20 detects the start of frame transmission in the CAN 22 (Y in S40)
  • the frame transmission / reception unit 66 receives 1 bit of the data of the frame (S42). If the received frame is not an error frame (N in S44) and the frame ID has not been received (N in S46), the frame interpretation unit 68 adds the received 1-bit data to the reception buffer 60 (S48). , Return to S42. If the frame ID has been received (Y in S46), the fraud determination unit 70 executes a fraud determination process described later (S50). In the fraud determination process, if it is not determined to be illegal, in other words, if the received data so far is determined to be normal (N in S52), the frame interpretation unit 68 determines whether data for one frame has been received. To do.
  • reception of data for one frame is not completed (N in S54)
  • the received 1-bit data is added to the reception buffer 60 (S48), and the process returns to S42.
  • the frame interpretation unit 68 waits for the CAN 22 to be idle (S56), and clears the received data stored in the reception buffer 60 (S58).
  • a predetermined end condition such as power-off is satisfied (Y in S60)
  • the flow of this figure is ended. If the end condition is not satisfied (N in S60), the process returns to S40.
  • the frame generation unit 72 If it is determined in the fraud determination process that the received data is illegal (Y in S52), the frame generation unit 72 generates an error frame, and the frame transmission / reception unit 66 transmits the error frame to the CAN 22 (S62). If the fraud determination unit 70 determines that the received data is fraudulent, an error may be recorded in a predetermined log, or an error display may be instructed to an IVI (In-Vehicle Infotainment) system or the like. If the received frame is an error frame (Y in S44), the frame interpretation unit 68 executes predetermined error processing, for example, discards the data of the received frame (S64). If the start of frame transmission is not detected (N in S40), the subsequent processing is skipped and the process proceeds to S60.
  • predetermined error processing for example, discards the data of the received frame (S64). If the start of frame transmission is not detected (N in S40), the subsequent processing is skipped and the process proceeds to S60.
  • the fraud determination process is executed every time one bit is received after receiving the frame ID.
  • the fraud determination process may be executed every time a plurality of bits constituting the data unit are received.
  • the security ECU 20 updates the fraud determination rule stored in the rule holding unit 62 in cooperation with the ECU 14 at the time of activation. Details of the fraud determination rule update process will be described later with reference to FIG.
  • FIG. 7 is a flowchart showing in detail the fraud determination process in S50 of FIG.
  • the fraud determination unit 70 passes the frame ID of the received frame to the rule holding unit 62.
  • the rule holding unit 62 searches for a fraud determination rule that matches the frame ID passed from the fraud determination unit 70 from a plurality of held fraud determination rules (S70). If there is no fraud determination rule that matches the frame ID (N in S72), the fraud determination unit 70 determines that the received frame is illegal (S84). If there is a fraud determination rule that matches the frame ID (Y in S72), the fraud determination unit 70 determines whether or not the received frame is illegal according to the individual determination rule of the fraud determination rule that matches the frame ID (S74). ). When the frame format or content deviates from the normal range determined by the individual determination rule, for example, when the frame data length is outside the allowable range determined by the rule (Y in S76), the fraud determination unit 70 It is determined as illegal (S84).
  • the fraud determination unit 70 determines whether or not the received frame is illegal according to the external reference determination rule of the fraud determination rule with the matching frame ID (S78). ). When the frame format or content deviates from the normal range determined by the external reference determination rule, for example, when the determination condition determined by the reference determination rule element is not satisfied (Y in S80), the fraud determination unit 70 It is determined as illegal (S84). If it is determined that the external reference determination rule is normal (N in S80), the fraud determination unit 70 determines that the received frame is normal (S82). The fraud determination unit 70 extracts data referred to by the external reference determination rule of another frame based on the determination rule reference data information in the rule. Then, the fraud determination unit 70 stores the extracted data in the reference data holding unit 64 in association with the determination rule reference data identifier (S86).
  • FIG. 8 is a flowchart showing the operation of updating the fraud determination rule.
  • the operation of the ECU 14 and the operation of the security ECU 20 are shown in lanes. Data transmission / reception between the ECU 14 and the security ECU 20 is indicated by broken lines.
  • the security ECU 20 actually executes update processing of a plurality of fraud determination rules corresponding to the plurality of ECUs 14 in sequence or in parallel.
  • the frame generation unit 72 of the security ECU 20 sets a frame (hereinafter referred to as “the ID” for requesting provision of the version number of the fraud determination rule when the vehicle 10 is turned on or when the security ECU 20 is activated when the vehicle 10 is turned on.
  • a version request frame a frame (hereinafter referred to as “the ID” for requesting provision of the version number of the fraud determination rule when the vehicle 10 is turned on or when the security ECU 20 is activated when the vehicle 10 is turned on.
  • a version request frame ”.
  • the frame transmitting / receiving unit 66 transmits the version request frame to the CAN 22 (S90).
  • the frame generation unit 40 includes data including the version value of the fraud determination rule held in the rule holding unit 32.
  • a frame (hereinafter referred to as “version notification frame”) is generated.
  • the version notification frame of the embodiment includes a major version number, a minor version number, and an ECU model number.
  • the frame transmission / reception unit 34 transmits a version notification frame to the CAN 22 (S92).
  • the frame interpretation unit 68 of the security ECU 20 recognizes the received frame as the version notification frame and passes it to the rule holding unit 62.
  • the rule holding unit 62 determines whether or not the fraud determination rule needs to be updated based on the major version number and the minor version number indicated by the version notification frame.
  • the frame generation unit 72 of the security ECU 20 calls a frame for requesting an ECU certificate (hereinafter referred to as a “certificate request frame”). ) Is generated.
  • the frame transmission / reception unit 66 transmits the certificate request frame to the CAN 22 (S96).
  • the frame generation unit 40 includes a data frame (hereinafter referred to as “certificate frame”) including the ECU certificate of the ECU 14 itself. ").
  • the frame transmission / reception unit 34 transmits the certificate frame to the CAN 22 (S98).
  • the frame interpretation unit 68 of the security ECU 20 recognizes the received frame as a certificate frame and passes it to the rule holding unit 62 when the frame ID of the received frame is the value of the certificate frame.
  • the rule holding unit 62 uses the root certificate to verify the validity of the ECU certificate included in the certificate frame (in other words, there is no falsification).
  • the frame generation unit 72 generates a frame that requests a signed fraud determination rule (hereinafter referred to as a “rule request frame”).
  • the frame transmitting / receiving unit 66 transmits the rule request frame to the CAN 22 (S102).
  • the frame generation unit 40 includes a fraud determination rule held in the rule holding unit 32 and a data frame including a signature (Hereinafter referred to as “rule frame”).
  • This signature may be, for example, data obtained by encrypting the hash value of the fraud determination rule with the secret key of the ECU 14.
  • the frame transmission / reception unit 34 transmits the rule frame to the CAN 22 (S104).
  • the frame interpretation unit 36 of the security ECU 20 recognizes the received frame as a rule frame and passes it to the rule holding unit 62 when the frame ID of the received frame is the value of the rule frame.
  • the rule holding unit 62 verifies the validity of the fraud determination rule included in the rule frame based on the signature.
  • the rule holding unit 62 stores the fraud determination rule, major version number, minor version number, etc. included in the rule frame in a predetermined storage area (S108). ).
  • the rule holding unit 62 may record an error in a predetermined log, or may instruct the IVI system or the like to display an error.
  • the in-vehicle network system 12 of the embodiment it is easy to update the fraud determination rules held by the security ECU 20 following changes in the replacement of each of the ECUs 14 installed and firmware update. That is, the maintenance cost of the fraud determination rule held by the security ECU 20 can be reduced. Further, based on the version value of the fraud determination rule held by the security ECU 20 and the version value of the fraud determination rule held by the ECU 14, the fraud determination rule held by the security ECU 20 is efficiently updated at an appropriate timing. be able to.
  • a variation of the fraud determination rule update will be described as a first modification.
  • the security ECU 20 may repeat the request for the version number at predetermined T-second intervals until there is a response. If the request is repeated N times (N is an integer of 2 or more) and no response is received from the ECU 14, the security ECU 20 may regard the requested ECU 14 as an inactive ECU.
  • An inactive ECU can be said to be an ECU that is not operating normally, and can also be said to be an unauthorized ECU.
  • the security ECU 20 may repeat the request at predetermined S-second intervals until there is a response.
  • M is an integer of 2 or more
  • the requested ECU 14 may be regarded as an inactive ECU.
  • T ⁇ S and N ⁇ M it is desirable that T ⁇ S and N ⁇ M. This is because it is unlikely that the ECU certificate or fraud determination rule cannot be obtained even though the version number has been obtained, because the possibility of the fraud ECU is high, and the fraud ECU is detected early.
  • the security ECU 20 stores the ECU model number of the inactive ECU.
  • the fraud determination unit 70 (or the frame interpretation unit 68) of the security ECU 20 refers to the fraud determination rule specified by the frame ID of the received frame, and when the ECU model number of the fraud determination rule matches the model number of the inactive ECU, The received frame is determined as a frame transmitted from the inactive ECU.
  • the fraud determination unit 70 determines that all frames transmitted from the inactive ECU are illegal regardless of the corresponding fraud determination rule. This is because there is a high possibility of a frame transmitted from the unauthorized ECU.
  • the fraud determination rule update process is executed at the time of startup associated with power-on or the like.
  • the security ECU 20 (for example, the frame generation unit 72) executes an update process for the fraud determination rule of the ECU 14 that is the target of replacement or update when the replacement of the ECU 14 or the update of the firmware is detected. May be.
  • the in-vehicle network is CAN 22, but other types of networks such as Ethernet (registered trademark) may be used.
  • the ECU 14 of the above embodiment provides the fraud determination rule and its version to the security ECU 20.
  • the ECU 14 performs a process of transmitting the fraud determination rule stored in the rule holding unit 32 and its version to the security ECU 20 at the time of start-up associated with power-on, etc., firmware update, replacement, etc. It may be executed voluntarily and actively without waiting for the request.
  • the security ECU 20 of the above embodiment is a dedicated device that detects fraud of the frame transmitted from the ECU 14, as a modification, the same frame processing as that of the ECU 14 may be further executed. That is, the security ECU 20 of the modified example is connected to the sensor 16 or the security ECU 20 and has a function of determining whether or not the received frame is illegal and a function of executing data processing based on the received frame when the received frame is normal (for example, you may have S22) of FIG.
  • the fraud detection electronic control unit is connected to another electronic control unit via the in-vehicle network.
  • the fraud detection electronic control unit includes a storage unit and a determination unit.
  • the storage unit stores a first rule for determining whether a frame transmitted from the electronic control unit is invalid.
  • the determination unit determines whether the frame transmitted from the electronic control unit is illegal according to the first rule.
  • the storage unit acquires a second rule held by the electronic control unit and updates the stored first rule when a predetermined condition is satisfied.
  • This fraud detection electronic control unit can efficiently improve the security of the in-vehicle network.
  • the storage unit acquires the value of the second version of the second rule held by the electronic control unit, the acquired second version value, and the first version of the first rule stored in advance by the storage unit
  • the stored first rule may be updated according to the comparison result with the value of.
  • the value of the first version of the first rule may include a value of the first major version and a value of the first minor version.
  • the value of the second version of the second rule may include a value of the second major version and a value of the second minor version.
  • the storage unit (1) if the acquired value of the second major version matches the value of the first major version stored in advance, the value of the acquired second minor version is stored in advance. If it is newer than the value of, the stored first rule may be updated. Further, the storage unit (2) if the acquired value of the second major version does not match the value of the first second major version stored in advance, the value of the second major version is the value of the first major version.
  • the stored rule may be updated even if it is older than the value.
  • the electronic control unit is connected to the fraud detection electronic control unit via the in-vehicle network.
  • the electronic control unit includes a storage unit and a transmission / reception unit.
  • storage part memorize
  • the transmission / reception unit receives a rule transmission request from the fraud detection electronic control unit.
  • the transmission / reception unit stores in a storage unit that is used by the fraud detection electronic control unit to determine whether a frame having the same frame ID as the frame transmitted from the electronic control unit is illegal in response to a rule transmission request. Sent the rule to the fraud detection electronic control unit.
  • This electronic control unit can improve the security of the in-vehicle network efficiently.
  • the in-vehicle network system includes an electronic control unit and a fraud detection electronic control unit connected to the electronic control unit via the in-vehicle network.
  • the fraud detection electronic control unit includes a first storage unit, a determination unit, and a first transmission / reception unit.
  • the first storage unit stores a first rule for determining whether or not a frame transmitted from the electronic control unit is illegal.
  • the determination unit determines whether the frame transmitted from the electronic control unit is illegal according to the first rule.
  • the first transmission / reception unit transmits a transmission request of the second rule to the electronic control unit when a predetermined condition is satisfied. Further, the first storage unit acquires the second rule held by the electronic control unit and updates the stored first rule when a predetermined condition is satisfied.
  • the electronic control unit includes a second storage unit and a second transmission / reception unit.
  • the second storage unit stores a second rule for determining whether a frame having the same frame ID as the frame transmitted from the electronic control unit transmitted on the in-vehicle network is illegal.
  • the second transmitting / receiving unit receives the transmission request for the second rule, and transmits the second rule stored in advance in the second storage unit to the fraud detection electronic control unit in response to the transmission request for the second rule. To do.
  • the security of the in-vehicle network can be improved efficiently.
  • the fraud detection method is a fraud detection in which a rule for determining whether or not a frame transmitted from another electronic control unit is fraudulent is stored in the storage unit via an in-vehicle network.
  • the electronic control unit executes.
  • the fraud detection method includes determining whether a frame transmitted from the electronic control unit is illegal according to the first rule.
  • the fraud detection method includes obtaining a second rule held by the electronic control unit and updating the first rule stored in the storage unit when a predetermined condition is satisfied.
  • This fraud detection method can improve the security of the in-vehicle network efficiently.
  • the fraud detection method is an electronic control unit connected to the fraud detection electronic control unit via the in-vehicle network, and for determining whether a frame having the same frame ID as the frame transmitted from the electronic control unit is illegal.
  • An electronic control unit that stores the rules in the storage unit executes.
  • the fraud detection method includes receiving a rule transmission request from the fraud detection electronic control unit.
  • the fraud detection method uses a rule stored in the storage unit used by the fraud detection electronic control unit to determine whether a frame transmitted from the electronic control unit is illegal in response to a rule transmission request. Including sending to the fraud detection electronic control unit.
  • This fraud detection method can improve the security of the in-vehicle network efficiently.
  • the computer program is connected to the electronic control unit via the in-vehicle network and stores the first rule for determining whether the frame transmitted from the electronic control unit is illegal in the storage unit. This is to make the unit execute. What the computer program executes includes determining whether a frame transmitted from the electronic control unit is illegal according to the first rule. Further, the computer program causes the second rule held by the electronic control unit to be acquired and the first rule stored in the storage unit to be updated when a predetermined condition is satisfied. Including.
  • This computer program can improve the security of the in-vehicle network efficiently.
  • a computer program is an electronic control unit connected to a fraud detection electronic control unit via an in-vehicle network, and a rule for determining whether a frame having the same frame ID as a frame transmitted from the electronic control unit is illegal Is to be executed by the electronic control unit that stores the information in the storage unit.
  • the execution of the computer program includes receiving a rule transmission request from the fraud detection electronic control unit.
  • the fraud detection electronic control unit uses a memory unit to determine whether a frame transmitted from the electronic control unit is illegal. Sending the generated rules to the fraud detection electronic control unit.
  • This computer program can improve the security of the in-vehicle network efficiently.
  • the present invention is not limited to a network of mobile objects such as vehicles, but can be used to update rules for detecting fraud among units connected by a general-purpose network.

Landscapes

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

Abstract

不正検知電子制御ユニットは、車載ネットワークを介して電子制御ユニットと接続される。不正検知電子制御ユニットは、記憶部と、判定部と、を有する。記憶部は、電子制御ユニットから送信されたフレームが不正であるかを判定するための第1の規則を記憶する。判定部は、第1の規則にしたがって、電子制御ユニットから送信されたフレームが不正であるかを判定する。記憶部は、所定の条件が満たされた場合に、電子制御ユニットが保持する第2の規則を取得して、記憶された第1の規則を更新する。

Description

不正検知電子制御ユニット、電子制御ユニット、車載ネットワークシステム、不正検知方法およびコンピュータプログラム
 本発明はデータ処理技術に関し、特に不正検知電子制御ユニット、電子制御ユニット、車載ネットワークシステム、不正検知方法およびコンピュータプログラムに関する。
 近年、自動車には、多数の電子制御ユニット(Electronic Control Unit、以下「ECU」と呼ぶ。)が配置されている。これらのECUを繋ぐネットワークは車載ネットワークと呼ばれる。車載ネットワークには多数の規格が存在するが、広く普及した規格としてCAN(Controller Area Network)がある。
 車載ネットワーク上に不正なECUが接続されていることを検知するため、車載ネットワークに接続された不正検知ECUが、車載ネットワーク上を流れるフレームを監視する方法が提案されている(例えば特許文献1参照)。
国際公開第2015/159520号
 本願発明は、車載ネットワークのセキュリティの向上を容易化する技術を提供する。
 本発明の一態様の不正検知電子制御ユニットは、車載ネットワークを介して電子制御ユニットと接続される。不正検知電子制御ユニットは、記憶部と、判定部と、を有する。記憶部は、電子制御ユニットから送信されたフレームが不正であるかを判定するための第1の規則を記憶する。判定部は、第1の規則にしたがって、電子制御ユニットから送信されたフレームが不正であるかを判定する。また、記憶部は、所定の条件が満たされた場合に、電子制御ユニットが保持する第2の規則を取得して、記憶された第1の規則を更新する。
 本発明の別の態様の電子制御ユニットは、車載ネットワークを介して不正検知電子制御ユニットと接続される。電子制御ユニットは、記憶部と、送受信部と、を有する。記憶部は、車載ネットワーク上に送信された、電子制御ユニットから送信するフレームと同じフレームID(identidfication)のフレームが不正であるかを判定するための規則を記憶する。送受信部は、不正検知電子制御ユニットから、規則の送信要求を受信する。また、送受信部は、規則の送信要求に応じて、電子制御ユニットから送信するフレームと同じフレームIDのフレームが不正であるかを不正検知電子制御ユニットが判定するために使用する、記憶部に記憶された規則を不正検知電子制御ユニットへ送信する。
 本発明のさらに別の態様の車載ネットワークシステムは、電子制御ユニットと、車載ネットワークを介して電子制御ユニットと接続される不正検知電子制御ユニットと、を有する。不正検知電子制御ユニットは、第1の記憶部と、判定部と、第1の送受信部と、を含む。第1の記憶部は、電子制御ユニットから送信されたフレームが不正であるか否かを判定するための第1の規則を記憶する。判定部は、第1の規則にしたがって、電子制御ユニットから送信されたフレームが不正であるかを判定する。第1の送受信部は、所定の条件が満たされた場合に、電子制御ユニットに対して第2の規則の送信要求を送信する。第1の記憶部は、所定の条件が満たされた場合に、電子制御ユニットが保持する第2の規則を取得して、記憶された第1の規則を更新する。電子制御ユニットは、第2の記憶部と、第2の送受信部と、を含む。第2の記憶部は、車載ネットワーク上に送信された、電子制御ユニットから送信するフレームと同じフレームIDのフレームが不正であるかを判定するための第2の規則を記憶する。第2の送受信部は、第2の規則の送信要求を受信し、第2の規則の送信要求に応じて、第2の記憶部に予め記憶する第2の規則を不正検知電子制御ユニットへ送信する。
 本発明のさらに別の態様は、車載ネットワークを介して電子制御ユニットと接続され、かつ、電子制御ユニットから送信されたフレームが不正であるかを判定するための第1の規則を記憶部に記憶する不正検知電子制御ユニットが、実行する不正検知方法である。不正検知方法は、第1の規則にしたがって、電子制御ユニットから送信されたフレームが不正であるかを判定することを含む。また、不正検知方法は、所定の条件が満たされた場合に、電子制御ユニットが保持する第2の規則を取得して、記憶部に記憶する第1の規則を更新することを含む。
 本発明のさらに別の態様は、車載ネットワークを介して不正検知電子制御ユニットと接続される電子制御ユニットであり、かつ、電子制御ユニットから送信するフレームと同じフレームIDのフレームが不正であるかを判定するための規則を記憶部に記憶する電子制御ユニットが、実行する不正検知方法である。不正検知方法は、不正検知電子制御ユニットから、規則の送信要求を受信することを含む。また、不正検知方法は、規則の送信要求に応じて、電子制御ユニットから送信されたフレームが不正であるかを不正検知電子制御ユニットが判定するために使用する、記憶部に記憶された規則を不正検知電子制御ユニットへ送信することを含む。
 なお、以上の構成要素と他の要素との組合せ、本発明の態様を、コンピュータプログラム、コンピュータプログラムを記録した記録媒体、本装置を搭載した車両などの間で変換したものもまた、本発明の態様として有効である。
 本発明によれば、車載ネットワークのセキュリティの向上を容易化することができる。
図1は、実施の形態の車載ネットワークシステムの構成を示す図である。 図2は、図1のECUの機能構成を示すブロック図である。 図3は、不正判定ルールの構成を示す図である。 図4は、図1のセキュリティECUの機能構成を示すブロック図である。 図5は、図1のECUの動作を示すフローチャートである。 図6は、図1のセキュリティECUの動作を示すフローチャートである。 図7は、図6のS50の不正判定処理を詳細に示すフローチャートである。 図8は、不正判定ルールの更新の動作を示すフローチャートである。
 本発明の実施の形態の説明に先立ち、従来の技術における問題点を簡単に説明する。特許文献1の方法では、不正検知ECUが、予め定義しておいた不正判定ルールに基づいて、他のECUが送信したフレームが不正かを判定する。そのため、車載ネットワークに接続されるECUの種類に対応する不正判定ルールを、予め不正検知ECUに格納しておく必要があるが、車載ネットワークに接続されるECUの種類に応じて、あるいは、ECUの修理交換またはファームウェアの更新に伴い、不正検知ECUに格納する不正判定ルールを個々に調整することは容易でなく、改善の余地がある。
 実施の形態の構成を詳細に説明する前にまず概要を述べる。車載ネットワーク上に不正なECUが接続されていることを検知するために、不正検知ECUは、他のECU(言い換えれば不正か否かの検査対象となるECUであり、「検査対象ECU」とも呼ぶ。)から送信されたフレームが不正か否かを判定することがある。車載ネットワークに接続される検査対象ECUの種類に応じて、不正検知ECUに格納する不正判定ルールを個々に調整する必要があり、従来、不正検知ECUおよび不正判定ルールの管理が煩雑になってしまうことがあった。また、検査対象ECUの修理交換またはファームウェアの更新に伴い不正判定ルールが変更になる場合、不正検知ECUが保持する不正判定ルールも正しく更新する必要があるが、この更新の管理も従来容易ではなかった。
 そこで、実施の形態の車載ネットワークシステムでは、検査対象ECUが、自身が送信するフレームと同じフレームIDのフレームを検査するための不正判定ルールを保持しておき、不正検知ECUへ提供する。不正検知ECUは、各検査対象ECUから提供された不正判定ルールに基づいて、各検査対象ECUから送信されたフレームが不正なものか否かを判定する。
 図1は、実施の形態の車載ネットワークシステムの構成を示す。車載ネットワークシステム12は、自動車10に構築された通信システムであり、ECU14a、ECU14b(以下総称する場合、単に「ECU14」と呼ぶ。)、セキュリティECU20を有する。ECU14とセキュリティECU20は、CAN22を介して接続され、CANのプロトコルにしたがってフレームを送受信する。
 ECU14aとECU14bは上記の検査対象ECUに該当する。ECU14aは、速度センサ、窓開閉センサ等のセンサ16と接続され、センサ16で検出された情報、例えば車速、窓開閉状態等を示すフレームをCAN22へ送信する。ECU14bは、アクチュエータ18(例えばブレーキアクチュエータ等)と接続され、CAN22から受け付けたフレームに基づいてアクチュエータ18を制御する。またECU14bは、アクチュエータ18の状態を示すフレームをCAN22を介してセキュリティECU20へ送信する。
 セキュリティECU20は、上記の不正検知ECUに該当する。セキュリティECU20は、複数のECU14から送信された複数のフレームが不正か否かを判定することにより、CAN22に不正なフレームを送信する検査対象ECUが接続されているか否かを判定する。
 図2は、図1のECU14の機能構成を示すブロック図である。ECU14は、受信バッファ30、ルール保持部32、フレーム送受信部34、フレーム解釈部36、データ送受信部38、フレーム生成部40を有する。本明細書のブロック図において示される各ブロックは、ハードウェア的には、コンピュータのCPU(central processing unit)、メモリをはじめとする素子や機械装置で実現でき、ソフトウェア的にはコンピュータプログラム等によって実現されるが、ここでは、それらの連携によって実現される機能ブロックを描いている。これらの機能ブロックはハードウェア、ソフトウェアの組合せによっていろいろなかたちで実現できることは、当業者には理解されるところである。
 例えば、フレーム送受信部34、フレーム解釈部36、データ送受信部38、フレーム生成部40に対応するモジュールを含むコンピュータプログラムがECU14のROM(read-only memory)に格納されてもよい。ECU14のCPUは、そのコンピュータプログラムをECU14のRAM(random-access memory)に適宜読み出して実行することにより、各ブロックの機能を発揮してもよい。受信バッファ30およびルール保持部32は、ECU14のROMまたはRAMにより実現されてもよい。また、他の例として、これらの機能ブロックは、物理的な専用の回路であるLSI(large-scale integration)として実現されてもよい。
 受信バッファ30は、CAN22から受信したフレームデータを一時的に保持する記憶領域である。ルール保持部32は、不正判定ルールを保持する記憶領域である。ルール保持部32に保持される不正判定ルールは、ECU14自身(すなわち自装置)から送信するフレーム(例えばCANのリモートフレーム、データフレーム等)と同じフレームIDのフレームが不正なものか否かを判定するための基準または規則を定めたデータである。
 図3は、不正判定ルールの構成を示す。不正判定ルール50は、フレームID、個別判定ルール52、外部参照判定ルール54、ECU型番、バージョン番号、改ざん検出用チェック値を含む。フレームIDには、不正判定ルール50による判定対象のフレームに付与されるID値が設定される。実施の形態では、フレームの種類ごと、かつ、フレーム送信元のECU14ごとにユニークなフレームIDが定められる。
 ECU型番には、不正判定ルール50の提供元であるECU14の識別子が設定される。バージョン番号には、不正判定ルール50のバージョン番号が設定され、実施の形態ではメジャーバージョン番号とマイナーバージョン番号の両方が設定される。改ざん検出用チェック値には、所定の共通鍵と不正判定ルール50のデータとに基づいて生成されたメッセージ認証コード(MAC(message authentication code)データ)が設定されてもよく、不正判定ルール50に対して一般的なデジタル署名を行ったものが設定されてもよい。
 個別判定ルール52と外部参照判定ルール54は、不正判定ルール50の提供元であるECU14自身(例えばECU14a)が送信するフレームに関するルールである点で共通する。相違点として、個別判定ルール52は、不正か否かの判定条件が、ECU14(例えばECU14a)が送信するフレームのみに関係する。一方、外部参照判定ルール54は、不正か否かの判定条件が、ECU14(例えばECU14a)が送信するフレームだけでなく、他のECU(例えばECU14b)が送信するフレームにも関係する。
 個別判定ルール52は、フレームデータ長、送信周期、送信頻度を含む。フレームデータ長には、フレームのデータ長として取り得る値または範囲を指定する。後述のセキュリティECU20の不正判定部70(図4参照)は、指定の値または範囲から外れたデータ長を持つフレームを不正と判定する。フレームデータ長の設定値として、例えば上限値と下限値が指定されてもよい。
 送信周期には、本フレームIDのフレームがCAN22上に出現する周期を指定する。後述のセキュリティECU20の不正判定部70は、本フレームIDのフレームの前回の出現時刻(CAN22からの受信時刻とも言える)を記憶しておき、今回の出現時刻との差が送信周期を外れている場合、不正なフレームと判定する。送信周期の設定値として、例えばマージンを含む周期の上限値と下限値が指定されてもよい。
 送信頻度には、本フレームIDのフレームがCAN22上に出現する頻度を指定する。後述のセキュリティECU20の不正判定部70は、ある時点から予め定められた単位時間経過後までの出現回数(CAN22からの受信回数とも言える)をカウントし、カウント値が送信頻度の指定範囲を外れている場合、不正なフレームと判定する。送信頻度の設定値として、例えば出現回数の上限値と下限値が指定されてもよい。個別判定ルール52を用いた不正判定では、フレームデータ長、送信周期、送信頻度それぞれの値について指定範囲を逸脱するか否かを判定し、1つでも逸脱すれば不正なフレームと判定する。なお、個別判定ルール52は、ここに挙げたルールに限定されるものではなく、ECU14自身が送信するフレームに関する他のルールを含めてもよい。
 外部参照判定ルール54は、参照フレーム情報、参照判定ルール要素、参照判定ルール演算式、判定ルール参照データ情報を含む。参照フレーム情報には、本ルール内で参照する、他のフレームのデータに関する情報が設定される。参照フレーム情報は、内部パラメータとして判定ルール参照データ識別子を含み、複数の判定ルール参照データ識別子が設定可能である。判定ルール参照データ識別子には、参照判定ルール要素が使用する判定ルール参照データの識別子(データ項目の名称やID等)が指定される。
 参照判定ルール要素には、参照フレーム情報により指定された項目のデータに対する判定規則(言い換えれば不正判定基準)が設定される。参照判定ルール要素は、内部パラメータとして参照フレーム情報、判定条件、判定基準値の組を含み、複数の組が設定可能である。参照フレーム情報には、あるルール要素において参照する特定の参照フレーム情報の識別子等(例えばインデックス値)が指定される。判定条件には、特定の参照フレーム情報で指定される判定ルール参照データと判定基準値を用いて行う判定条件の種別が指定される。判定条件の種別は「等しい」「より大きい」「より小さい」等を含む。判定基準値は、判定に使用する基準値が指定される。判定基準値は、数値自体を指定する他、第2の参照フレーム情報の識別子等であってもよい。この場合は判定基準値として第2の参照フレーム情報によって保持された判定ルール参照データを判定基準値として用いる。すなわち、参照フレーム情報によって保持された判定ルール参照データと判定基準値とを比較して判定条件の充足を判定することにより、参照判定ルール要素の真偽値が求められる。
 参照判定ルール演算式には、判定結果を求めるための演算式が設定される。参照判定ルール演算式は、内部パラメータとして演算子と参照判定ルール要素の組を含み、複数の組が設定可能である。演算子には、参照判定ルール要素を結合する演算子が指定される。参照判定ルール要素には、結合対象となる参照判定ルール要素が指定される。すなわち、参照判定ルール演算式では、個々の参照判定ルール要素で保持した個々の真偽値を演算子で結合し、最終的な判定結果を求めるための演算式を指定する。演算式は、逆ポーランド記法により記述され、格納されてもよい。
 判定ルール参照データ情報には、他フレームで指定可能な判定ルール参照データに関する情報が設定される。判定ルール参照データ情報は、内部パラメータとして判定ルール参照データ識別子と判定ルール参照データ位置の組を含み、複数の組が設定可能である。判定ルール参照データ識別子には、他フレームにより参照可能な当該フレームデータの識別子(データ項目名、ID等)であり、車載ネットワークシステム12において一意の値が指定される。
 判定ルール参照データ位置には、判定ルール参照データ識別子により識別されるデータの位置が指定される。言い換えれば、判定ルール参照データ位置には、本フレーム(フレームIDで特定されるフレーム)に含まれるデータブロックの中で、他フレームが参照するブロックの位置がバイトオフセットとビット位置により指定される。すなわち、判定ルール参照データ情報は、他フレームが参照可能な本フレーム内のデータブロックの位置と、その識別子を定義するものであり、他フレームの参照フレーム情報で指定されうる情報である。なお、外部参照判定ルール54は、ここに挙げたルールに限定するものではなく、他のECUから送信されるフレームに関する他のルールを含めてもよい。
 図2に戻り、フレーム送受信部34は、CAN22との間でCANプロトコルにしたがってフレームを送受信する。フレーム送受信部34は、CAN22からフレームのデータを1ビットずつ受信し、フレーム解釈部36へ送る。また、フレーム生成部40から出力されたフレームをCAN22へ送信する。
 フレーム解釈部36は、フレーム送受信部34から1ビットずつフレームのデータを取得し、CANプロトコルにしたがってデータを解釈する。フレーム解釈部36は、取得したデータがCANプロトコルに則していないと判断した場合、1フレーム分のデータを受信する前であっても、エラーフレームの送信指示をフレーム生成部40へ通知する。フレーム解釈部36は、取得したデータがCANプロトコルに即している場合は、取得したデータを受信バッファ30へ格納する。
 フレーム解釈部36は、1フレーム分の受信が完了し、フレームIDが処理対象となる所定値である場合、ECUの種類ごとに異なるフレームの処理を実行する。フレーム解釈部36は、フレームの処理において必要に応じて、センサ16またはアクチュエータ18へ送信すべきデータをデータ送受信部38へ送る。フレーム解釈部36は、1フレーム分の処理が完了すると、受信バッファ30をクリアする。
 データ送受信部38は、フレーム解釈部36から受け付けたデータをECU14に接続されたセンサ16またはアクチュエータ18へ送信する。また、データ送受信部38は、センサ16またはアクチュエータ18から受け付けたデータをフレーム生成部40へ送る。
 フレーム生成部40は、データ送受信部38からデータを受け付け、CANプロトコルにしたがってフレームを生成する。例えば、データ送受信部38から受け付けたデータの種類に応じたフレームIDを設定したフレームであり、データ送受信部38から受け付けたデータの少なくとも一部を含むフレームを生成する。フレーム生成部40は、生成したフレームをフレーム送受信部34へ送る。また、フレーム生成部40は、フレーム解釈部36からエラーフレームの送信指示を受け付けた場合、エラーフレームを生成してフレーム送受信部34へ送る。
 実施の形態のECU14の特徴的な構成を説明する。フレーム送受信部34とフレーム解釈部36は互いに連携し、セキュリティECU20から、不正判定ルール50の送信を要求する要求データを受け付ける受信部として機能する。具体的には、フレーム解釈部36は、フレーム送受信部34を介してCAN22から受信されたフレームのIDが、不正判定ルール50の本体データを要求する第1所定値である場合、不正判定ルール50の本体データの送信指示をフレーム生成部40へ送る。また、フレーム解釈部36は、受信されたフレームのIDが、不正判定ルール50のバージョン情報を要求する第2所定値である場合、不正判定ルール50のバージョン情報の送信指示をフレーム生成部40へ送る。
 フレーム生成部40とフレーム送受信部34は互いに連携し、上記の受信部で受け付けられた要求データに応じて、ルール保持部32に保持された不正判定ルール50をセキュリティECU20へ送信する送信部として機能する。具体的には、フレーム生成部40は、フレーム解釈部36から不正判定ルール50の本体データの送信指示を受け付けた場合、ルール保持部32に保持された不正判定ルール50の全データを含むフレームを生成する。フレーム送受信部34は、不正判定ルール50の全データを含むフレームをCAN22へ送信する。
 また、フレーム生成部40は、フレーム解釈部36から不正判定ルール50のバージョン情報の送信指示を受け付けた場合、ルール保持部32に保持された不正判定ルール50のバージョン情報のみを含むフレームを生成する。フレーム送受信部34は、不正判定ルール50のバージョン情報のみを含むフレームをCAN22へ送信する。
 図4は、図1のセキュリティECU20の機能構成を示すブロック図である。セキュリティECU20は、受信バッファ60、ルール保持部62、参照データ保持部64、フレーム送受信部66、フレーム解釈部68、不正判定部70、フレーム生成部72を有する。セキュリティECU20の受信バッファ60、フレーム送受信部66、フレーム解釈部68、フレーム生成部72は、図2に示したECU14の受信バッファ30、フレーム送受信部34、フレーム解釈部36、フレーム生成部40に対応する。以下、これらの機能ブロックのうち説明済みの構成については再度の説明を省略する。
 ルール保持部62は、外部のECU14から送信されたフレームが不正であるか否かを判定するための不正判定ルール(図3)を記憶する記憶領域を含む。ルール保持部62は、車載ネットワークシステム12内の複数のECU14それぞれから提供された不正判定ルールを各ECU14に対応づけて保持する。言い換えれば、ルール保持部62は、各ECUから送信するフレームと同じフレームIDを有するフレームが不正か否かを判定するために、ECUごとの不正判定ルールを保持する。
 具体的には、ルール保持部62は、フレーム解釈部68から送出された更新用の不正判定ルールを受け付け、更新用の不正判定ルールに含まれるECU型番に対応付けて、当該不正判定ルールを所定の記憶領域へ新規格納する。ルール保持部62は、更新用の不正判定ルールに含まれるECU型番に対応付けて既存の不正判定ルールが格納済みの場合、更新用の不正判定ルールにより既存の不正判定ルールを更新する。
 ルール保持部62は、不正判定ルールの新規格納または更新時に、バージョン値のチェック処理、および、改ざん有無のチェック処理をさらに実行する。また、ルール保持部62は、不正判定部70から受け付けたフレームIDに対応する不正判定ルールを不正判定部70へ送る。
 ここで、実施の形態における不正判定ルールのバージョン管理処理を説明する。一部既述したように、ルール保持部62は、複数のECU14それぞれのECU型番、不正判定ルール、メジャーバージョン番号、マイナーバージョン番号を改ざんできない形で保持する。各ECU14は、ECU型番、メジャーバージョン番号、マイナーバージョン番号を付与した不正判定ルールをセキュリティECU20へ送る。ルール保持部62は、ECU14から取得したECU型番に対応する不正判定ルールについて、ECU14から取得したメジャーバージョン番号と、ルール保持部62で予め保持するメジャーバージョンとを比較する。
 両者のメジャーバージョン番号が不一致の場合、ルール保持部62は、ECU14から取得した不正判定ルールをルール保持部62へ新規格納する。または、ECU14から取得した不正判定ルールによりルール保持部62における既存の不正判定ルールを更新し、すなわち置き換える。両者のメジャーバージョン番号が不一致の場合、両者のメジャーバージョン番号の大小関係、両者のマイナーバージョン番号の異同に関わらず、ルール保持部62の不正判定ルールを更新する。また、ECU14から取得したメジャーバージョン番号がルール保持部62で予め保持するメジャーバージョン番号より古いものであっても、ルール保持部62の不正判定ルールを更新する。例えば、ECU14から取得したECU型番に対応付けられたルール保持部62の既存データを、ECU14から取得した不正判定ルール、メジャーバージョン番号、マイナーバージョン番号に置き換える。
 ECU14が保持するメジャーバージョン番号と、セキュリティECU20が保持するメジャーバージョン番号が不一致とは、ECU14が交換された場合(例えば古い形式のECU14へ交換された場合)等に発生する。また、メジャーバージョンが異なれば、個別判定ルールおよび外部参照判定ルールが大きく変化している可能性がある。そのため、セキュリティECU20が保持する不正判定ルールを、ECU14にあわせて更新することが望ましいと言える。
 一方、両者のメジャーバージョン番号が一致する場合、ルール保持部62は、ECU14から取得したECU型番に対応する不正判定ルールについて、ECU14から取得したマイナーバージョン番号と、ルール保持部62で予め保持するマイナーバージョン番号とをさらに比較する。ルール保持部62は、ECU14から取得したマイナーバージョンの値が、ルール保持部62で予め保持するマイナーバージョンの値より新しいこと(例えばより大きい番号であること)を条件として、ECU14から取得した不正判定ルールによりルール保持部62における既存の不正判定ルールを更新する。メジャーバージョン番号が一致すれば不正判定ルールが大きく変化している可能性は低く、また、マイナーバージョン番号が新しい方が、より新しい機能追加およびバグ修正に対応していると考えられるからである。
 変形例として、不正判定ルールには、メジャーバージョン番号とマイナーバージョン番号とに区分けされない単一種類のバージョン番号が対応付けられてもよい。セキュリティECU20のルール保持部62は、ECU14から取得したECU型番に対応する不正判定ルールについて、ECU14から取得したバージョン番号が、ルール保持部62で予め保持するバージョン番号より新しい場合に、ECU14から取得した不正判定ルールによりルール保持部62における既存の不正判定ルールを更新してもよい。
 次に、実施の形態における改ざん有無のチェック処理を説明する。セキュリティECU20のルール保持部62は、ルートCA(Certificate Authority)証明書を改ざんされない形で保持する。各ECU14は、上記のルートCA証明書により署名検証可能な署名されたECU証明書と、ECU証明書に対応する秘密鍵を使って署名された自身の不正判定ルールを保持する。各ECU14は、ECU証明書と、署名付きの不正判定ルールをセキュリティECU20へ送る。セキュリティECU20のルール保持部62は、ECU証明書をルートCA証明書を使用して検証し、不正判定ルールをECU証明書を使用して検証する。セキュリティECU20のルール保持部62は、上記2つの検証の両方が成功した場合に、不正判定ルールを更新する。なお署名付与および検証には、一般的なデジタル署名アルゴリズムを使用する。
 参照データ保持部64は、第1フレームに対する不正判定処理で参照される第2フレームのデータとその識別子(すなわち判定ルール参照データ識別子)とを対応付けて保持する。言い換えれば、参照データ保持部64は、第2フレーム(のフレームID)に対応する不正判定ルールで定められた判定ルール参照データ情報にしたがって第2フレームから抽出されたデータである判定ルール参照データを保持する。
 フレーム解釈部68は、1フレーム分の受信が完了し、受信フレームをそのIDに基づいて更新用の不正判定ルールと解釈した場合、そのフレームをルール保持部62へ送る。フレーム解釈部68は、受信フレームを更新用の不正判定ルールと解釈しない場合、すなわち不正判定対象データと解釈した場合、そのフレームを不正判定部70へ送る。フレーム解釈部68は、1フレーム分の処理が完了すると受信バッファ60をクリアする。
 不正判定部70は、ルール保持部62に保持された不正判定ルールにしたがって、外部のECU14から送信されたフレームが不正なものか否かを判定する。具体的には、不正判定部70は、フレーム解釈部68から受け付けたフレーム(以下「判定対象フレーム」とも呼ぶ。)のフレームIDをルール保持部62へ送り、ルール保持部62からそのフレームIDに対応付けられた不正判定ルールを取得する。不正判定部70は、ルール保持部62から取得した不正判定ルールを参照して、判定対象フレームが不正か否かを判定する。判定対象フレームを不正と判断した場合、不正判定部70は、エラーフレームの送信指示をフレーム生成部72へ通知する。
 フレーム生成部72は、フレーム解釈部68または不正判定部70からエラーフレームの送信指示を受け付けた場合、CANプロトコルに則したエラーフレームを生成してフレーム送受信部66へ送る。ルール保持部62は、所定の条件が満たされた場合に、他のECU14が保持する不正判定ルールを取得して格納する。不正判定ルールの更新処理の詳細は、図8に関連して後述する。
 以上の構成による車載ネットワークシステム12の動作を説明する。図5は、図1のECU14の動作を示すフローチャートである。ECU14のフレーム送受信部34は、CAN22におけるフレームの送信開始を検出すると(S10のY)、そのフレームのデータを1ビット受信する(S12)。フレーム解釈部36は、受信したフレームがエラーフレームでなく(S14のN)、1フレーム分のデータの受信が未完了であれば(S16のN)、受信した1ビットのデータを受信バッファ30へ追加し(S18)、S12に戻る。
 フレーム解釈部36は、1フレーム分のデータの受信が完了し(S16のY)、フレームIDが自ECUで処理すべきフレームを示す所定値であれば(S20のY)、受信フレームに基づくデータ処理を実行する(S22)。例えば、フレーム解釈部36は、受信したリモートフレームで指定されたデータを、自ECUに接続されたセンサ16から取得し、取得したデータを含むデータフレームをCAN22へ送信してもよい。またフレーム解釈部36は、受信したリモートフレームで指定されたデータをアクチュエータ18へ送信し、アクチュエータ18の制御結果を含むデータフレームをCAN22へ送信してもよい。また、S22のフレーム処理の一態様として、フレーム解釈部36およびフレーム生成部40は、受信フレームが不正判定ルールの送信要求を含む場合、自ECUで予め記憶する不正判定ルールをセキュリティECU20へ提供する処理を実行する。不正判定ルールの提供処理の詳細は、図8に関連して後述する。
 フレーム解釈部36は、受信フレームのフレームIDが上記所定値以外であれば(S20のN)、S22をスキップし、例えば受信したフレームを廃棄する。フレーム解釈部36は、受信フレームがエラーフレームであれば(S14のY)、所定のエラー処理を実行し(S28)、例えばそれまで受信したフレームデータを廃棄する。フレーム解釈部36は、CAN22のバスアイドルを待ち(S24)、受信バッファ30に格納した受信データをクリアする(S26)。電源オフ等の所定の終了条件が満たされると(S30のY)、本図のフローを終了し、終了条件が満たされなければ(S30のN)、S10に戻る。フレームの送信開始を未検出であれば(S10のN)、S12~S28をスキップしてS30の判定へ進む。
 図6は、図1のセキュリティECU20の動作を示すフローチャートである。セキュリティECU20のフレーム送受信部66は、CAN22におけるフレームの送信開始を検出すると(S40のY)、そのフレームのデータを1ビット受信する(S42)。フレーム解釈部68は、受信したフレームがエラーフレームでなく(S44のN)、フレームIDを未受信であれば(S46のN)、受信した1ビットのデータを受信バッファ60へ追加し(S48)、S42に戻る。フレームIDを受信済であれば(S46のY)、不正判定部70は、後述の不正判定処理を実行する(S50)。不正判定処理において不正と判定されず、言い換えれば、それまでの受信データが正常と判定された場合(S52のN)、フレーム解釈部68は、1フレーム分のデータを受信したか否かを判定する。
 1フレーム分のデータの受信が未完了であれば(S54のN)、受信した1ビットのデータを受信バッファ60へ追加し(S48)、S42に戻る。1フレーム分のデータの受信が完了すると(S54のY)、フレーム解釈部68は、CAN22のバスアイドルを待ち(S56)、受信バッファ60に格納した受信データをクリアする(S58)。電源オフ等の所定の終了条件が満たされると(S60のY)、本図のフローを終了し、終了条件が満たされなければ(S60のN)、S40に戻る。
 不正判定処理において受信データが不正と判定された場合(S52のY)、フレーム生成部72はエラーフレームを生成し、フレーム送受信部66はエラーフレームをCAN22へ送信する(S62)。なお、不正判定部70は、受信データを不正と判定した場合、所定のログへエラーを記録してもよく、IVI(In-Vehicle Infotainment)システム等にエラー表示を指示してもよい。フレーム解釈部68は、受信したフレームがエラーフレームであれば(S44のY)、所定のエラー処理を実行し、例えば受信したフレームのデータを破棄する(S64)。フレームの送信開始を未検出であれば(S40のN)、以降の処理をスキップして、S60の判定へ進む。
 なお、実施の形態では、フレームIDを受信後、1ビット受信する毎に不正判定処理を実行するが、データ単位を構成する複数のビットを受信する毎に不正判定処理を実行する構成としてもよい。また、図6では不図示だが、セキュリティECU20は、起動時に、ECU14と連携してルール保持部62に記憶された不正判定ルールの更新処理を実行する。不正判定ルールの更新処理の詳細は、図8に関連して後述する。
 図7は、図6のS50の不正判定処理を詳細に示すフローチャートである。不正判定部70は、受信フレームのフレームIDをルール保持部62に渡す。ルール保持部62は、保持している複数の不正判定ルールの中から、不正判定部70から渡されたフレームIDに一致する不正判定ルールを検索する(S70)。フレームIDに一致する不正判定ルールが存在しなければ(S72のN)、不正判定部70は、受信フレームが不正と判定する(S84)。フレームIDに一致する不正判定ルールが存在すると(S72のY)、不正判定部70は、受信フレームが不正か否かを、フレームIDが一致する不正判定ルールの個別判定ルールにしたがって判定する(S74)。フレームの形式または内容が個別判定ルールで定められた正常の範囲を逸脱する場合、例えばフレームデータ長がルールが定める許容範囲外であるとき(S76のY)、不正判定部70は、受信フレームを不正と判定する(S84)。
 個別判定ルールで正常と判定されると(S76のN)、不正判定部70は、受信フレームが不正か否かを、フレームIDが一致する不正判定ルールの外部参照判定ルールにしたがって判定する(S78)。フレームの形式または内容が外部参照判定ルールで定められた正常の範囲を逸脱する場合、例えば参照判定ルール要素で定まる判定条件を満たさないとき(S80のY)、不正判定部70は、受信フレームを不正と判定する(S84)。外部参照判定ルールによっても正常と判定されると(S80のN)、不正判定部70は、受信フレームを正常と判定する(S82)。不正判定部70は、当該ルールの中の判定ルール参照データ情報に基づいて、他のフレームの外部参照判定ルールにより参照されるデータを抽出する。そして不正判定部70は、抽出したデータを、判定ルール参照データ識別子と対応付けて参照データ保持部64へ格納する(S86)。
 図8は、不正判定ルールの更新の動作を示すフローチャートである。同図では、ECU14の動作とセキュリティECU20の動作をレーン分けして示している。また、ECU14とセキュリティECU20の間のデータ送受を破線で示している。図8では、ECU14を1つだけ描いているが、実際にはセキュリティECU20は、複数のECU14に対応する複数の不正判定ルールの更新処理を順次または並行して実行する。
 セキュリティECU20のフレーム生成部72は、自動車10の電源オン時または自動車10の電源オンに伴うセキュリティECU20の起動時に、不正判定ルールのバージョン番号の提供を要求する所定のIDを設定したフレーム(以下「バージョン要求フレーム」と呼ぶ。)を生成する。起動時は、自動車10のイグニッションスイッチがオフからオンに切り替えられた場合とも言える。フレーム送受信部66は、バージョン要求フレームをCAN22へ送信する(S90)。
 ECU14のフレーム解釈部36が、受信フレームのフレームIDに基づいてバージョン要求フレームを受信したことを検出すると、フレーム生成部40は、ルール保持部32に保持された不正判定ルールのバージョン値を含むデータフレーム(以下「バージョン通知フレーム」と呼ぶ。)を生成する。実施の形態のバージョン通知フレームは、メジャーバージョン番号、マイナーバージョン番号、ECU型番を含む。フレーム送受信部34は、バージョン通知フレームをCAN22へ送信する(S92)。
 セキュリティECU20のフレーム解釈部68は、受信フレームのフレームIDがバージョン通知フレームの値である場合、受信フレームをバージョン通知フレームと認識してルール保持部62へ渡す。ルール保持部62は、バージョン通知フレームが示すメジャーバージョン番号およびマイナーバージョン番号に基づいて、不正判定ルールの更新要否を決定する。ルール保持部62により不正判定ルールを更新すべきと決定された場合(S94のY)、セキュリティECU20のフレーム生成部72は、ECU証明書を要求するフレーム(以下「証明書要求フレーム」と呼ぶ。)を生成する。フレーム送受信部66は、証明書要求フレームをCAN22へ送信する(S96)。
 ECU14のフレーム解釈部36が、受信フレームのフレームIDに基づいて証明書要求フレームを受信したことを検出すると、フレーム生成部40は、自ECUのECU証明書を含むデータフレーム(以下「証明書フレーム」と呼ぶ。)を生成する。フレーム送受信部34は、証明書フレームをCAN22へ送信する(S98)。
 セキュリティECU20のフレーム解釈部68は、受信フレームのフレームIDが証明書フレームの値である場合、受信フレームを証明書フレームと認識してルール保持部62へ渡す。ルール保持部62は、ルート証明書を使用して、証明書フレームに含まれるECU証明書の正当性(言い換えれば改ざんがないこと)を検証する。ECU証明書の正当性が確認された場合(S100のY)、フレーム生成部72は、署名付き不正判定ルールを要求するフレーム(以下「ルール要求フレーム」と呼ぶ。)を生成する。フレーム送受信部66は、ルール要求フレームをCAN22へ送信する(S102)。
 ECU14のフレーム解釈部36が、受信フレームのフレームIDに基づいてルール要求フレームを受信したことを検出すると、フレーム生成部40は、ルール保持部32に保持される不正判定ルールと署名を含むデータフレーム(以下「ルールフレーム」と呼ぶ。)を生成する。この署名は、例えば不正判定ルールのハッシュ値をECU14の秘密鍵で暗号化したデータであってもよい。フレーム送受信部34は、ルールフレームをCAN22へ送信する(S104)。
 セキュリティECU20のフレーム解釈部36は、受信フレームのフレームIDがルールフレームの値である場合、受信フレームをルールフレームと認識してルール保持部62へ渡す。ルール保持部62は、ルールフレームに含まれる不正判定ルールの正当性を署名に基づいて検証する。ルール保持部62は、不正判定ルールの正当性が確認された場合(S106のY)、ルールフレームに含まれる不正判定ルール、メジャーバージョン番号、マイナーバージョン番号等を所定の記憶領域へ格納する(S108)。
 バージョン番号に基づいてルールの更新が不要と判定された場合(S94のN)、ECU証明書の正当性の確認に失敗した場合(S100のN)、不正判定ルールの正当性の確認に失敗した場合(S106のN)、以降の処理をスキップして本図のフローを終了する。なお、S100のNおよびS106のNの少なくとも一方の場合、ルール保持部62は、所定のログへエラーを記録してもよく、IVIシステム等にエラー表示を指示してもよい。
 実施の形態の車載ネットワークシステム12によると、多数設置されたECU14それぞれの交換やファーム更新等の変化に追随して、セキュリティECU20が保持する不正判定ルールを更新していくことが容易になる。すなわち、セキュリティECU20が保持する不正判定ルールのメンテナンスコストを低減できる。また、セキュリティECU20が保持する不正判定ルールのバージョン値と、ECU14が保持する不正判定ルールのバージョン値とに基づいて、適切なタイミングでかつ効率的に、セキュリティECU20が保持する不正判定ルールを更新することができる。
 以上、本発明を実施の形態をもとに説明した。この実施の形態は例示であり、それらの各構成要素あるいは各処理プロセスの組合せにいろいろな変形例が可能なこと、またそうした変形例も本発明の範囲にあることは当業者に理解されるところである。
 第1変形例として、不正判定ルール更新のバリエーションを説明する。(1)セキュリティECU20からECU14へ不正判定ルールのバージョン番号を要求し、ECU14から応答がない場合、セキュリティECU20は、応答があるまで所定のT秒間隔でバージョン番号の要求を繰り返してもよい。要求をN回(Nは2以上の整数)繰り返してもECU14からの応答を未受信の場合、セキュリティECU20は、要求先のECU14を不活性ECUと見なしてもよい。不活性ECUは、正常に動作していないECUと言え、不正なECUとも言える。
 (2)セキュリティECU20からECU14へECU証明書または不正判定ルールを要求し、ECU14から応答がない場合、セキュリティECU20は、応答があるまで所定のS秒間隔で要求を繰り返してもよい。要求をM回(Mは2以上の整数)繰り返してもECU14からの応答を未受信の場合、要求先のECU14を不活性ECUと見なしてもよい。ここでT≧SかつN≧Mとすることが望ましい。バージョン番号を取得したにも関わらず、ECU証明書または不正判定ルールを取得できないことは考えにくく、不正ECUの可能性が高いためであり、また、不正ECUを早期に検出するためである。
 (3)セキュリティECU20は、不活性ECUのECU型番を記憶する。セキュリティECU20の不正判定部70(またはフレーム解釈部68)は、受信フレームのフレームIDにより特定される不正判定ルールを参照し、その不正判定ルールのECU型番が不活性ECUの型番と一致する場合、受信フレームを不活性ECUから送信されたフレームと判定する。不正判定部70は、不活性ECUから送信された全てのフレームを、対応する不正判定ルールに関わらず、一律に不正と判定する。不正ECUから送信されたフレームの可能性が高いからである。
 第2変形例を説明する。上記実施の形態の車載ネットワークシステム12では、電源オン等に伴う起動時に不正判定ルールの更新処理を実行した。変形例として、セキュリティECU20(例えばフレーム生成部72)は、ECU14の交換やファームウェアの更新等が検出された場合に、交換や更新等の対象になったECU14の不正判定ルールに対する更新処理を実行してもよい。
 第3変形例を説明する。上記実施の形態では車載ネットワークをCAN22としたが、イーサネット(登録商標)等の他の種類のネットワークであってもよい。
 第4変形例を説明する。上記実施の形態のECU14は、セキュリティECU20からの要求に応じて、不正判定ルールおよびそのバージョンをセキュリティECU20へ提供した。変形例として、ECU14は、電源オン等に伴う起動時、ファームウェア更新時、交換時等において、ルール保持部32に格納された不正判定ルールおよびそのバージョンをセキュリティECU20へ送信する処理を、セキュリティECU20からの要求を待つことなく、自発的・能動的に実行してもよい。
 第5変形例を説明する。上記実施の形態のセキュリティECU20は、ECU14から送信されたフレームの不正を検知する専用装置としたが、変形例として、ECU14と同様のフレーム処理をさらに実行してもよい。すなわち、変形例のセキュリティECU20は、センサ16またはセキュリティECU20に接続され、受信フレームが不正か否かを判定する機能とともに、受信フレームが正常である場合に受信フレームに基づくデータ処理を実行する機能(例えば図5のS22)を有してもよい。
 なお、実施の形態および変形例に記載の技術は、以下の項目によって特定されてもよい。
 [項目1]
 不正検知電子制御ユニットは、車載ネットワークを介して他の電子制御ユニットと接続される。不正検知電子制御ユニットは、記憶部と、判定部と、を有する。記憶部は、電子制御ユニットから送信されたフレームが不正であるかを判定するための第1の規則を記憶する。判定部は、第1の規則にしたがって、電子制御ユニットから送信されたフレームが不正であるかを判定する。また、記憶部は、所定の条件が満たされた場合に、電子制御ユニットが保持する第2の規則を取得して、記憶された第1の規則を更新する。
 この不正検知電子制御ユニットによると、車載ネットワークのセキュリティを効率的に向上することができる。
 [項目2]
 記憶部は、電子制御ユニットが保持する第2の規則の第2のバージョンの値を取得し、取得した第2のバージョンの値と、記憶部が予め記憶する第1の規則の第1のバージョンの値との比較結果に応じて、記憶された第1の規則を更新してもよい。
 この態様によると、不正検知電子制御ユニットが保持する第1の規則の更新を効率的に実現できる。
 [項目3]
 第1の規則の第1のバージョンの値は、第1のメジャーバージョンの値と、第1のマイナーバージョンの値を含んでもよい。第2の規則の第2のバージョンの値は、第2のメジャーバージョンの値と、第2のマイナーバージョンの値を含んでもよい。記憶部は、(1)取得した第2のメジャーバージョンの値と予め記憶する第1のメジャーバージョンの値が一致する場合、取得した第2のマイナーバージョンの値が予め記憶する第1のマイナーバージョンの値より新しければ、記憶された第1の規則を更新してもよい。また、記憶部は、(2)取得した第2のメジャーバージョンの値と予め記憶する第1の第二メジャーバージョンの値が不一致の場合、第2のメジャーバージョンの値が第1のメジャーバージョンの値より古くても、記憶された規則を更新してもよい。
 この態様によると、不正検知電子制御ユニットが保持する第1の規則を、適切なタイミングでかつ効率的に更新することができる。
 [項目4]
 電子制御ユニットは、車載ネットワークを介して不正検知電子制御ユニットと接続される。電子制御ユニットは、記憶部と、送受信部と、を有する。記憶部は、車載ネットワーク上に送信された、電子制御ユニットから送信するフレームと同じフレームID(identidfication)のフレームが不正であるかを判定するための規則を記憶する。送受信部は、不正検知電子制御ユニットから、規則の送信要求を受信する。また、送受信部は、規則の送信要求に応じて、電子制御ユニットから送信するフレームと同じフレームIDのフレームが不正であるかを不正検知電子制御ユニットが判定するために使用する、記憶部に記憶された規則を不正検知電子制御ユニットへ送信する。
 この電子制御ユニットによると、車載ネットワークのセキュリティを効率的に向上することができる。
 [項目5]
 車載ネットワークシステムは、電子制御ユニットと、車載ネットワークを介して電子制御ユニットと接続される不正検知電子制御ユニットと、を有する。不正検知電子制御ユニットは、第1の記憶部と、判定部と、第1の送受信部と、を含む。第1の記憶部は、電子制御ユニットから送信されたフレームが不正であるか否かを判定するための第1の規則を記憶する。判定部は、第1の規則にしたがって、電子制御ユニットから送信されたフレームが不正であるかを判定する。第1の送受信部は、所定の条件が満たされた場合に、電子制御ユニットに対して第2の規則の送信要求を送信する。また、第1の記憶部は、所定の条件が満たされた場合に、電子制御ユニットが保持する第2の規則を取得して、記憶された第1の規則を更新する。電子制御ユニットは、第2の記憶部と、第2の送受信部と、を含む。第2の記憶部は、車載ネットワーク上に送信された、電子制御ユニットから送信するフレームと同じフレームIDのフレームが不正であるかを判定するための第2の規則を記憶する。第2の送受信部は、第2の規則の送信要求を受信し、第2の規則の送信要求に応じて、第2の記憶部に予め記憶する第2の規則を不正検知電子制御ユニットへ送信する。
 この車載ネットワークシステムによると、車載ネットワークのセキュリティを効率的に向上することができる。
 [項目6]
 不正検知方法は、車載ネットワークを介して他の電子制御ユニットと接続され、かつ、他の電子制御ユニットから送信されたフレームが不正であるかを判定するための規則を記憶部に記憶する不正検知電子制御ユニットが、実行する。不正検知方法は、第1の規則にしたがって、電子制御ユニットから送信されたフレームが不正であるかを判定することを含む。また、不正検知方法は、所定の条件が満たされた場合に、電子制御ユニットが保持する第2の規則を取得して、記憶部に記憶する第1の規則を更新することを含む。
 この不正検知方法によると、車載ネットワークのセキュリティを効率的に向上することができる。
 [項目7]
 不正検知方法は、車載ネットワークを介して不正検知電子制御ユニットと接続される電子制御ユニットであり、かつ、電子制御ユニットから送信するフレームと同じフレームIDのフレームが不正であるかを判定するための規則を記憶部に記憶する電子制御ユニットが、実行する。不正検知方法は、不正検知電子制御ユニットから、規則の送信要求を受信することを含む。また、不正検知方法は、規則の送信要求に応じて、電子制御ユニットから送信されたフレームが不正であるかを不正検知電子制御ユニットが判定するために使用する、記憶部に記憶された規則を不正検知電子制御ユニットへ送信することを含む。
 この不正検知方法によると、車載ネットワークのセキュリティを効率的に向上することができる。
 [項目8]
 コンピュータプログラムは、車載ネットワークを介して電子制御ユニットと接続され、かつ、電子制御ユニットから送信されたフレームが不正であるかを判定するための第1の規則を記憶部に記憶する不正検知電子制御ユニットに実行させるためのものである。コンピュータプログラムが実行させることには、第1の規則にしたがって、電子制御ユニットから送信されたフレームが不正であるかを判定することを含む。また、コンピュータプログラムが実行させることには、所定の条件が満たされた場合に、電子制御ユニットが保持する第2の規則を取得して、記憶部に記憶する第1の規則を更新することを含む。
 このコンピュータプログラムによると、車載ネットワークのセキュリティを効率的に向上することができる。
 [項目9]
 コンピュータプログラムは、車載ネットワークを介して不正検知電子制御ユニットと接続される電子制御ユニットであり、かつ、電子制御ユニットから送信するフレームと同じフレームIDのフレームが不正であるかを判定するための規則を記憶部に記憶する電子制御ユニットに実行させるためのものである。コンピュータプログラムが実行させることには、不正検知電子制御ユニットから、規則の送信要求を受信することを含む。また、コンピュータプログラムが実行させることには、規則の送信要求に応じて、電子制御ユニットから送信されたフレームが不正であるかを不正検知電子制御ユニットが判定するために使用する、記憶部に記憶された規則を不正検知電子制御ユニットへ送信することを含む。
 このコンピュータプログラムによると、車載ネットワークのセキュリティを効率的に向上することができる。
 上述した実施の形態および変形例の任意の組み合わせもまた本発明の実施の形態として有用である。組み合わせによって生じる新たな実施の形態は、組み合わされる実施の形態および変形例それぞれの効果をあわせもつ。また、請求項に記載の各構成要件が果たすべき機能は、実施の形態および変形例において示された各構成要素の単体もしくはそれらの連携によって実現されることも当業者には理解されるところである。
 本発明は、車両等の移動体のネットワークに限らず、汎用的なネットワークで接続されたユニット間で不正を検出するための規則を更新するために利用可能である。
 10 自動車
 12 車載ネットワークシステム
 14,14a,14b ECU(電子制御ユニット)
 16 センサ
 18 アクチュエータ
 20 セキュリティECU(不正検知電子制御ユニット)
 30 受信バッファ
 32 ルール保持部((第2の)記憶部)
 34 フレーム送受信部((第2の)送受信部)
 36 フレーム解釈部
 38 データ送受信部
 40 フレーム生成部
 50 不正判定ルール(規則)
 52 個別判定ルール
 54 外部参照判定ルール
 60 受信バッファ
 62 ルール保持部((第1の)記憶部)
 64 参照データ保持部
 66 フレーム送受信部((第1の)送受信部)
 68 フレーム解釈部
 70 不正判定部(判定部)
 72 フレーム生成部

Claims (9)

  1.  車載ネットワークを介して電子制御ユニットと接続される不正検知電子制御ユニットであって、
     前記電子制御ユニットから送信されたフレームが不正であるかを判定するための第1の規則を記憶する記憶部と、
     前記第1の規則にしたがって、前記電子制御ユニットから送信された前記フレームが不正であるかを判定する判定部と、を備え、
     前記記憶部は、所定の条件が満たされた場合に、前記電子制御ユニットが保持する第2の規則を取得して、記憶された前記第1の規則を更新する、
     不正検知電子制御ユニット。
  2.  前記記憶部は、前記電子制御ユニットが保持する前記第2の規則の第2のバージョンの値を取得し、取得した前記第2のバージョンの値と、前記記憶部が予め記憶する前記第1の規則の第1のバージョンの値との比較結果に応じて、記憶された前記第1の規則を更新する、
     請求項1に記載の不正検知電子制御ユニット。
  3.  前記第1の規則の前記第1のバージョンの値は、第1のメジャーバージョンの値と、第1のマイナーバージョンの値を含み、
     前記第2の規則の前記第2のバージョンの値は、第2のメジャーバージョンの値と、第2のマイナーバージョンの値を含み、
     前記記憶部は、(1)取得した前記第2のメジャーバージョンの値と予め記憶する前記第1のメジャーバージョンの値が一致する場合、取得した前記第2のマイナーバージョンの値が予め記憶する前記第1のマイナーバージョンの値より新しければ、記憶された前記第1の規則を更新し、(2)取得した前記第2のメジャーバージョンの値と予め記憶する前記第1のメジャーバージョンの値が不一致の場合、前記第2のメジャーバージョンの値が前記第1のメジャーバージョンの値より古くても、記憶された前記第1の規則を更新する、
     請求項2に記載の不正検知電子制御ユニット。
  4.  車載ネットワークを介して不正検知電子制御ユニットと接続される電子制御ユニットであって、
     前記車載ネットワーク上に送信された、前記電子制御ユニットから送信されるフレームと同じフレームID(identidfication)のフレームが不正であるかを判定するための規則を記憶する記憶部と、
     前記不正検知電子制御ユニットから前記規則の送信要求を受信し、前記規則の送信要求に応じて、前記電子制御ユニットから送信される前記フレームと同じフレームIDの前記フレームが不正であるかを前記不正検知電子制御ユニットが判定するために使用する、前記記憶部に記憶された前記規則を前記不正検知電子制御ユニットへ送信する送受信部と、
     を備える電子制御ユニット。
  5.  電子制御ユニットと、
     車載ネットワークを介して前記電子制御ユニットと接続される不正検知電子制御ユニットと、を備え、
     前記不正検知電子制御ユニットは、
     前記電子制御ユニットから送信されたフレームが不正であるか否かを判定するための第1の規則を記憶する第1の記憶部と、
     前記第1の規則にしたがって、前記電子制御ユニットから送信された前記フレームが不正であるかを判定する判定部と、
     所定の条件が満たされた場合に、前記電子制御ユニットに対して第2の規則の送信要求を送信する第1の送受信部と、を含み、
     前記第1の記憶部は、前記所定の条件が満たされた場合に、前記電子制御ユニットが保持する第2の規則を取得して、記憶された前記第1の規則を更新し、
     前記電子制御ユニットは、
     前記車載ネットワーク上に送信された、前記電子制御ユニットから送信された前記フレームと同じフレームIDのフレームが不正であるかを判定するための前記第2の規則を記憶する第2の記憶部と、
     前記第2の規則の送信要求を受信し、前記第2の規則の送信要求に応じて、前記第2の記憶部に予め記憶する前記第2の規則を前記不正検知電子制御ユニットへ送信する第2の送受信部と、を含む、
     車載ネットワークシステム。
  6.  車載ネットワークを介して電子制御ユニットと接続され、かつ、前記電子制御ユニットから送信されたフレームが不正であるかを判定するための第1の規則を記憶部に記憶する不正検知電子制御ユニットが、
     前記第1の規則にしたがって、前記電子制御ユニットから送信された前記フレームが不正であるかを判定し、
     所定の条件が満たされた場合に、前記電子制御ユニットが保持する第2の規則を取得して、前記記憶部に記憶する前記第1の規則を更新する、
     不正検知方法。
  7.  車載ネットワークを介して不正検知電子制御ユニットと接続される電子制御ユニットであり、かつ、前記電子制御ユニットから送信されたフレームと同じフレームIDのフレームが不正であるかを判定するための規則を記憶部に記憶する電子制御ユニットが、
     前記不正検知電子制御ユニットから、前記規則の送信要求を受信し、
     前記規則の送信要求に応じて、前記電子制御ユニットから送信された前記フレームが不正であるかを前記不正検知電子制御ユニットが判定するために使用する、前記記憶部に記憶された前記規則を前記不正検知電子制御ユニットへ送信する、
     不正検知方法。
  8.  車載ネットワークを介して電子制御ユニットと接続され、かつ、前記電子制御ユニットから送信されたフレームが不正であるかを判定するための第1の規則を記憶部に記憶する不正検知電子制御ユニットに、
     前記第1の規則にしたがって、前記電子制御ユニットから送信された前記フレームが不正であるかを判定し、
     所定の条件が満たされた場合に、前記電子制御ユニットが保持する第2の規則を取得して、前記記憶部に記憶する前記第1の規則を更新する、
     ことを実行させるためのコンピュータプログラム。
  9.  車載ネットワークを介して不正検知電子制御ユニットと接続される電子制御ユニットであり、かつ、前記電子制御ユニットから送信されたフレームと同じフレームIDのフレームが不正であるかを判定するための規則を記憶部に記憶する電子制御ユニットに、
     前記不正検知電子制御ユニットから、規則の送信要求を受信し、
     前記規則の送信要求に応じて、前記電子制御ユニットから送信された前記フレームが不正であるかを前記不正検知電子制御ユニットが判定するために使用する、前記記憶部に記憶された前記規則を前記不正検知電子制御ユニットへ送信する、
     ことを実行させるためのコンピュータプログラム。
PCT/JP2017/043721 2017-01-13 2017-12-06 不正検知電子制御ユニット、電子制御ユニット、車載ネットワークシステム、不正検知方法およびコンピュータプログラム WO2018131334A1 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
US16/451,388 US11075927B2 (en) 2017-01-13 2019-06-25 Fraud detection electronic control unit, electronic control unit, and non-transitory recording medium in which computer program is described

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
JP2017004593A JP6887108B2 (ja) 2017-01-13 2017-01-13 不正検知電子制御ユニット、電子制御ユニット、車載ネットワークシステム、不正検知方法およびコンピュータプログラム
JP2017-004593 2017-03-06

Related Child Applications (1)

Application Number Title Priority Date Filing Date
US16/451,388 Continuation US11075927B2 (en) 2017-01-13 2019-06-25 Fraud detection electronic control unit, electronic control unit, and non-transitory recording medium in which computer program is described

Publications (1)

Publication Number Publication Date
WO2018131334A1 true WO2018131334A1 (ja) 2018-07-19

Family

ID=62840429

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/JP2017/043721 WO2018131334A1 (ja) 2017-01-13 2017-12-06 不正検知電子制御ユニット、電子制御ユニット、車載ネットワークシステム、不正検知方法およびコンピュータプログラム

Country Status (3)

Country Link
US (1) US11075927B2 (ja)
JP (1) JP6887108B2 (ja)
WO (1) WO2018131334A1 (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2020022327A1 (ja) * 2018-07-27 2020-01-30 パナソニック インテレクチュアル プロパティ コーポレーション オブ アメリカ 不正対処方法、及び、不正対処装置

Families Citing this family (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP7147635B2 (ja) * 2019-03-05 2022-10-05 トヨタ自動車株式会社 不正送信データ検知装置
JP7215378B2 (ja) * 2019-09-18 2023-01-31 トヨタ自動車株式会社 車載制御装置、情報処理装置、車両用ネットワークシステム、アプリケーションプログラムの提供方法、及びプログラム
US20230080885A1 (en) * 2021-09-14 2023-03-16 Bank Of America Corporation Systems and methods for detection of synthetic identity malfeasance
JP7507205B2 (ja) 2021-12-20 2024-06-27 本田技研工業株式会社 通信監視装置および通信監視方法

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2007181061A (ja) * 2005-12-28 2007-07-12 Hitachi Ltd 電子制御装置、canシステム、及び、canシステムの故障診断方法
JP2016134914A (ja) * 2015-01-20 2016-07-25 パナソニック インテレクチュアル プロパティ コーポレーション オブ アメリカPanasonic Intellectual Property Corporation of America 不正検知ルール更新方法、不正検知電子制御ユニット及び車載ネットワークシステム

Family Cites Families (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP4747686B2 (ja) * 2005-06-07 2011-08-17 大日本印刷株式会社 ソフトウェア管理装置、ソフトウェア管理システム及びプログラム。
US8607346B1 (en) * 2010-09-27 2013-12-10 Juniper Networks, Inc. Dynamic resilience for intrusion detection and prevention systems
IL219597A0 (en) * 2012-05-03 2012-10-31 Syndrome X Ltd Malicious threat detection, malicious threat prevention, and a learning systems and methods for malicious threat detection and prevention
WO2015151418A1 (ja) 2014-04-03 2015-10-08 パナソニック インテレクチュアル プロパティ コーポレーション オブ アメリカ ネットワーク通信システム、不正検知電子制御ユニット及び不正対処方法
CN110610092B (zh) 2014-04-17 2023-06-06 松下电器(美国)知识产权公司 车载网络系统、网关装置以及不正常检测方法
EP3813333B1 (en) * 2015-01-20 2022-06-29 Panasonic Intellectual Property Corporation of America Irregularity detection rule update for an on-board network

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2007181061A (ja) * 2005-12-28 2007-07-12 Hitachi Ltd 電子制御装置、canシステム、及び、canシステムの故障診断方法
JP2016134914A (ja) * 2015-01-20 2016-07-25 パナソニック インテレクチュアル プロパティ コーポレーション オブ アメリカPanasonic Intellectual Property Corporation of America 不正検知ルール更新方法、不正検知電子制御ユニット及び車載ネットワークシステム

Cited By (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2020022327A1 (ja) * 2018-07-27 2020-01-30 パナソニック インテレクチュアル プロパティ コーポレーション オブ アメリカ 不正対処方法、及び、不正対処装置
CN111543033A (zh) * 2018-07-27 2020-08-14 松下电器(美国)知识产权公司 不正当应对方法及不正当应对装置
JPWO2020022327A1 (ja) * 2018-07-27 2021-08-02 パナソニック インテレクチュアル プロパティ コーポレーション オブ アメリカPanasonic Intellectual Property Corporation of America 不正対処方法、及び、不正対処装置
CN115296884A (zh) * 2018-07-27 2022-11-04 松下电器(美国)知识产权公司 不正当应对方法及不正当应对装置
JP7362613B2 (ja) 2018-07-27 2023-10-17 パナソニック インテレクチュアル プロパティ コーポレーション オブ アメリカ 不正対処方法、及び、不正対処装置
US12083971B2 (en) 2018-07-27 2024-09-10 Panasonic Intellectual Property Corporation Of America Anomaly handling method and anomaly handling device

Also Published As

Publication number Publication date
US11075927B2 (en) 2021-07-27
US20190312895A1 (en) 2019-10-10
JP6887108B2 (ja) 2021-06-16
JP2018111468A (ja) 2018-07-19

Similar Documents

Publication Publication Date Title
WO2018131334A1 (ja) 不正検知電子制御ユニット、電子制御ユニット、車載ネットワークシステム、不正検知方法およびコンピュータプログラム
US20180234248A1 (en) Communication system, vehicle, and monitoring method
WO2017187924A1 (ja) 演算装置、認証システム、認証方法
CN108353015B (zh) 中继装置
US20180091525A1 (en) On-vehicle communication system
US8209536B2 (en) Message authentication system, message transmission apparatus and message reception apparatus
US9208318B2 (en) Method and system for device integrity authentication
WO2016080422A1 (ja) 通信制御装置及び通信システム
JP6488702B2 (ja) 通信制御装置、通信制御方法、および、通信制御プログラム
US11245535B2 (en) Hash-chain based sender identification scheme
JP5949572B2 (ja) 車両不正状態検出方法、車載システムにおける制御方法、およびシステム
US10270768B2 (en) Communication system, communication method, and communication device
US10050983B2 (en) Communication system, receiving apparatus, receiving method, and computer program product
US11558404B2 (en) On-board communication system, switching device, verification method, and verification program
JP2016116132A (ja) 通信制御装置、通信制御方法、および、通信制御プログラム
JP2018121220A (ja) 車載ネットワークシステム
JP2017139733A (ja) プロセスチェーンにおけるパケットの生成及び認証
JP2013041587A (ja) 遠隔ソースからコマンドを実行するためのシステム及び方法
JP2017168907A (ja) 通信システム
JP2016100842A (ja) 通信制御装置、通信制御方法、および、通信制御プログラム
JP7067508B2 (ja) ネットワークシステム
JP7110950B2 (ja) ネットワークシステム
CN112104701A (zh) 一种跨链通信的方法、装置、网络节点和存储介质
JP2006140881A (ja) 認証情報付きネットワーク識別子生成装置および機器認証装置
JP2019125838A (ja) ネットワークシステム

Legal Events

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

Ref document number: 17891061

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

Country of ref document: EP

Kind code of ref document: A1