WO2021205655A1 - 車載制御システムおよび異常診断方法 - Google Patents

車載制御システムおよび異常診断方法 Download PDF

Info

Publication number
WO2021205655A1
WO2021205655A1 PCT/JP2020/016141 JP2020016141W WO2021205655A1 WO 2021205655 A1 WO2021205655 A1 WO 2021205655A1 JP 2020016141 W JP2020016141 W JP 2020016141W WO 2021205655 A1 WO2021205655 A1 WO 2021205655A1
Authority
WO
WIPO (PCT)
Prior art keywords
information
abnormality
ecu
vehicle
information set
Prior art date
Application number
PCT/JP2020/016141
Other languages
English (en)
French (fr)
Inventor
裕司 奥山
Original Assignee
三菱電機株式会社
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 三菱電機株式会社 filed Critical 三菱電機株式会社
Priority to PCT/JP2020/016141 priority Critical patent/WO2021205655A1/ja
Priority to JP2022514286A priority patent/JP7229426B2/ja
Priority to CN202080099304.1A priority patent/CN115398432A/zh
Priority to DE112020007051.4T priority patent/DE112020007051T5/de
Priority to US17/796,331 priority patent/US20230069461A1/en
Publication of WO2021205655A1 publication Critical patent/WO2021205655A1/ja

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/50Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems
    • G06F21/57Certifying or maintaining trusted computer platforms, e.g. secure boots or power-downs, version controls, system software checks, secure updates or assessing vulnerabilities
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/50Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems
    • G06F21/57Certifying or maintaining trusted computer platforms, e.g. secure boots or power-downs, version controls, system software checks, secure updates or assessing vulnerabilities
    • G06F21/575Secure boot
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B60VEHICLES IN GENERAL
    • B60WCONJOINT CONTROL OF VEHICLE SUB-UNITS OF DIFFERENT TYPE OR DIFFERENT FUNCTION; CONTROL SYSTEMS SPECIALLY ADAPTED FOR HYBRID VEHICLES; ROAD VEHICLE DRIVE CONTROL SYSTEMS FOR PURPOSES NOT RELATED TO THE CONTROL OF A PARTICULAR SUB-UNIT
    • B60W50/00Details of control systems for road vehicle drive control not related to the control of a particular sub-unit, e.g. process diagnostic or vehicle driver interfaces
    • B60W50/02Ensuring safety in case of control system failures, e.g. by diagnosing, circumventing or fixing failures
    • B60W50/0205Diagnosing or detecting failures; Failure detection models
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B60VEHICLES IN GENERAL
    • B60WCONJOINT CONTROL OF VEHICLE SUB-UNITS OF DIFFERENT TYPE OR DIFFERENT FUNCTION; CONTROL SYSTEMS SPECIALLY ADAPTED FOR HYBRID VEHICLES; ROAD VEHICLE DRIVE CONTROL SYSTEMS FOR PURPOSES NOT RELATED TO THE CONTROL OF A PARTICULAR SUB-UNIT
    • B60W50/00Details of control systems for road vehicle drive control not related to the control of a particular sub-unit, e.g. process diagnostic or vehicle driver interfaces
    • B60W50/04Monitoring the functioning of the control system
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B60VEHICLES IN GENERAL
    • B60WCONJOINT CONTROL OF VEHICLE SUB-UNITS OF DIFFERENT TYPE OR DIFFERENT FUNCTION; CONTROL SYSTEMS SPECIALLY ADAPTED FOR HYBRID VEHICLES; ROAD VEHICLE DRIVE CONTROL SYSTEMS FOR PURPOSES NOT RELATED TO THE CONTROL OF A PARTICULAR SUB-UNIT
    • B60W50/00Details of control systems for road vehicle drive control not related to the control of a particular sub-unit, e.g. process diagnostic or vehicle driver interfaces
    • B60W50/04Monitoring the functioning of the control system
    • B60W50/045Monitoring control system parameters
    • 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]
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B60VEHICLES IN GENERAL
    • B60WCONJOINT CONTROL OF VEHICLE SUB-UNITS OF DIFFERENT TYPE OR DIFFERENT FUNCTION; CONTROL SYSTEMS SPECIALLY ADAPTED FOR HYBRID VEHICLES; ROAD VEHICLE DRIVE CONTROL SYSTEMS FOR PURPOSES NOT RELATED TO THE CONTROL OF A PARTICULAR SUB-UNIT
    • B60W50/00Details of control systems for road vehicle drive control not related to the control of a particular sub-unit, e.g. process diagnostic or vehicle driver interfaces
    • B60W50/02Ensuring safety in case of control system failures, e.g. by diagnosing, circumventing or fixing failures
    • B60W50/0205Diagnosing or detecting failures; Failure detection models
    • B60W2050/021Means for detecting failure or malfunction

Definitions

  • This application relates to an in-vehicle control system and an abnormality diagnosis method.
  • the vehicle is equipped with a plurality of in-vehicle control devices called ECUs (Electronic Control Units), which are connected to other ECUs or communication devices outside the vehicle by wire or wirelessly. Then, by controlling the in-vehicle device alone or in cooperation, the basic functions related to driving such as running, turning, and stopping of the vehicle, the control function of the in-vehicle environment, and the information providing function such as navigation are realized.
  • ECUs Electronic Control Units
  • a malicious person may carry out a security attack that causes malicious information to be loaded into the ECU, and this security attack may cause abnormal behavior in the in-vehicle device.
  • this security attack may cause abnormal behavior in the in-vehicle device.
  • the disclosed technology is intended for certification of services added by adding an ECU or changing the function to the ECU. Therefore, it is expected to respond to attacks that cannot be prevented by service authentication alone, such as attacks that tamper with the platform for executing services, or attacks that cause unauthorized services to be executed by misusing services. No. Of course, it is conceivable to secure boot each ECU, but it is necessary to store the encryption key for secure boot, and the startup time becomes long, which may hinder vehicle control.
  • the present application discloses a technique for solving the above-mentioned problems, and aims to be able to execute vehicle control soundly even if a security attack related to vehicle control is received.
  • the in-vehicle control system disclosed in the present application is an in-vehicle control system in which a plurality of control devices for controlling an in-vehicle device are connected to each other so as to be able to communicate with each other, and a control function when each of the plurality of control devices is sound.
  • the original information storage unit that stores the original information related to either the program to be realized and the operation specifications in the control function, and the information for different control devices from the original information is combined and used as a function argument.
  • the information set setting unit that sets the information set to be used, the information collection unit that collects the current information corresponding to the original information as current information from each of the control devices targeted by the information set, and the function with the information set as an argument.
  • one of the target control devices has an abnormality. It is characterized by being provided with an abnormality detection unit that detects the existence.
  • the abnormality diagnosis method disclosed in the present application is a method for diagnosing an abnormality in an in-vehicle control system in which a plurality of control devices for controlling an in-vehicle device are connected to each other so as to be able to communicate with each other, and each of the plurality of control devices is sound.
  • the original information storage step for storing the original information related to either the program for realizing the control function and the operation specifications in the control function, and the information for different control devices from the original information
  • An information set setting step for setting a combination and an information set to be used as an argument of a function
  • an information collection step for collecting current information corresponding to the original information as current information from each of the control devices targeted by the information set, and the information.
  • the target control device When the degree of agreement between the correct answer value calculated by the function with the set as an argument and the evaluation value calculated by the function with the current information corresponding to the information set as an argument is lower than the reference, the target control device. It is characterized by including an abnormality detection step for detecting that there is an abnormality in any of the above.
  • the soundness of the ECU is confirmed based on the combination of the information possessed by the plurality of ECUs, so that the soundness is sound even if a security attack related to vehicle control is received. Vehicle control can be performed.
  • FIG. 1 It is a block diagram for explaining the function formed in each of the domain ECU and the lower ECU, and the connection relationship with the domain ECU and the like in parallel for explaining the structure of the vehicle-mounted control system which concerns on Embodiment 1.
  • FIG. It is an overall block diagram for demonstrating the connection relationship of a plurality of ECUs mounted on a vehicle for demonstrating the configuration of the vehicle-mounted control system which concerns on Embodiment 1.
  • FIG. It is a block diagram for demonstrating the connection relationship between a central ECU, two domain ECUs, and lower ECUs for demonstrating the configuration of the vehicle-mounted control system which concerns on Embodiment 1.
  • FIG. 5 is a schematic diagram showing data transmission / reception between a domain ECU and a lower-level ECU for explaining the configuration of the vehicle-mounted control system according to the first embodiment.
  • FIG. 5 is a tabular diagram showing an example of a combination of a plurality of data (information sets) used for determining the presence or absence of an abnormality in the in-vehicle control system according to the first embodiment and a determination result.
  • FIG. 5 is a block diagram showing a configuration example of a portion that executes arithmetic processing of each ECU constituting the in-vehicle control system according to the first embodiment.
  • Embodiment 1. 1 to 8 are for explaining the configuration and operation of the vehicle-mounted control system according to the first embodiment
  • FIG. 1 is a domain ECU which is a relay device for explaining the configuration of the vehicle-mounted control system. It is a block diagram for explaining the function formed in each of the ECUs which are located below the control function and express the individual control functions, and the connection relationship with the domain ECUs in parallel.
  • FIG. 2 is an overall block diagram for explaining the connection relationship of a plurality of ECUs mounted on the vehicle
  • FIG. 3 shows two domain ECUs connected to the central ECU and lower ECUs among the plurality of ECUs.
  • FIG. 4 is a schematic diagram for explaining a program configuration included in each ECU.
  • FIG. 5 is a flowchart for explaining the operation of the in-vehicle control system, that is, the abnormality diagnosis method.
  • FIG. 6 is a schematic diagram showing data transmission / reception between the domain ECU and its lower ECU
  • FIG. 7 is a determination as a combination (information set) of a plurality of data set to identify an abnormal ECU. It is a tabular figure which shows an example of a result.
  • FIG. 8 is a block diagram showing a hardware configuration example of a portion that executes arithmetic processing of each ECU constituting the in-vehicle control system.
  • an in-vehicle control system that controls a vehicle is composed of a plurality of control devices called ECUs, each of which is connected to another ECU or a communication device outside the vehicle by wire or wirelessly.
  • NS a control device mounted in the vehicle 100.
  • ECUs control devices mounted in the vehicle 100.
  • the in-vehicle control system shown in FIG. 2 actually includes a configuration (not shown), the description of the first embodiment, particularly those not directly related to the abnormality diagnosis method, is omitted. ing.
  • the uppermost central ECU 400a, the domain ECUs 200a to 200d as relay devices, and the ECUs 300a to 304a, 300b to 302b, 300c to 302c, and 300d to 302d connected to the domain ECUs 200a to 200d are mounted.
  • Each ECU is connected from the central ECU 400a in a tree structure.
  • ECU p-1 to ECU pi are communication bus p
  • ECU q-1 to ECU q-j are communication bus q, respectively. It is connected to the ECU 200a and can communicate with each other.
  • the domain ECUs 200a to 200d that function as relay devices may be connected to each other so that they can directly communicate with each other without going through the central ECU 400a, such as the domain ECU 200a and the domain ECU 200b.
  • the vehicle 100 can communicate with a server outside the vehicle or another vehicle different from the vehicle 100.
  • the domain ECU 200a or the domain ECU 200b is an ECU located in any region of the front, rear, left, right, and center of the vehicle, and is connected to the ECU located in the front left of the vehicle when it is arranged in the front left of the vehicle. Similarly, the domain ECU 200b is also connected to the ECU in the area where it is arranged.
  • the vehicle control given to each ECU and the functions and operations of the components for coping with the security attack will be described with reference to FIG. 1 by taking the domain ECU 200a and the ECU 300a immediately below the domain ECU 200a as an example.
  • the other domain ECUs 200b to 200d, and the ECUs 301a to 304, the ECUs 300b to 302b, the ECUs 300c to 302c, and the ECUs 300d to 302d also have the same functions as described in the domain ECU 200a and the ECU 300a, respectively. Therefore, when the individual domain ECUs 200a to 200d are not distinguished, they are collectively referred to as the domain ECU 200. Further, when the lower ECUs are not individually distinguished, they are collectively referred to as ECU 300 thereafter. Furthermore, when the hierarchical relationship in the tree structure is not distinguished, it is simply referred to as ECU.
  • the ECU 300a includes a function holding unit 320 that holds the latest program Dp used for exerting the function assigned to each ECU 300, and a main control unit 313 that exerts a control function to control the vehicle. Further, the operation management unit 312 that manages the processing time and the like when the function is exhibited by the program Dp, the information acquisition unit 310 that acquires the individual current information Dse for each ECU 300 related to the configuration of the program Dp, and the acquired information are obtained. It is provided with a transmission unit 311 that transmits to the ECU.
  • the main control unit 313 expresses the functions required for vehicle control assigned to each of its own ECUs 300 based on the program Dp held in the function holding unit 320. For example, when the ECU 300a is an ECU that controls the headlights of the vehicle, the main control unit 313 operates the headlights on / off, light distribution, and the like.
  • the information acquisition unit 310 has a function of acquiring the latest program Dp currently held in the function holding unit 320 or the processed information thereof as the individual current information Dse of the own ECU 300.
  • the program Dp may be, for example, all the configurations of the program Dp as shown in FIG. 4, or any of startup, boot, application, or a combination thereof.
  • the processed information may be a checksum of the program Dp, a CRC (Cyclic Redundancy Check), a hash, an encrypted value, a MAC (Message Authentication Code), a digital signature, or the like.
  • the operation management unit 312 provides information (operation) related to the operation of the own ECU, such as processing from a predetermined time tA to tB (> tA) when the program Dp is executed, the processing start time, the processing time, and a sequence of a plurality of processes. It has a function of acquiring information Db). Further, at this time, the vehicle state at that time may be managed together with the time of the processing or the processing group or the processing content.
  • the transmission unit 311 has a function of transmitting the individual current information Dse of the self-ECU 300 acquired by the information acquisition unit 310 or the operation information Db of the self-ECU 300 acquired by the operation management unit 312 to the domain ECU 200a and another ECU 300.
  • the domain ECU 200a that functions as a relay device has two databases and eight functional units for executing operation time control, calculation, etc. for evaluating soundness (correct answer management unit 210 to information set setting unit 217). Is formed.
  • One of the two databases is the correct answer information database 220 that holds the correct answer information Dc managed by the correct answer management unit 210, which will be described later.
  • the other is the original information database 221 that holds the program Dp held by each of the other ECUs 300 at the time of soundness or a part thereof as the original information Dso for restoration.
  • “database” is abbreviated as "DB” for the sake of brevity.
  • the configuration management unit 215 manages the software before each of the other plurality of ECUs is mounted on the vehicle or a part thereof, or the software updated during the operation of the vehicle or a part thereof as the original information Dso for backup. Further, as data necessary for generating correct answer information Dc, which will be described later, information indicating a healthy state corresponding to each of the individual current information Dse and the operation information Db of a plurality of ECUs is also managed and stored in the original information database 221. It has a function to read and read.
  • the information set setting unit 217 sets an information set that combines information for different ECUs used for soundness evaluation, which are required by the correct answer management unit 210, the information collection unit 211, the abnormality identification unit 216, etc., which will be described later. ..
  • the correct answer management unit 210 is an expected value (basically, an expected value (basically, an evaluation function f described later) derived from a predetermined calculation formula (basically, an evaluation function f described later) based on an information set regarding the software configuration or operation of each of the different ECUs 300 set by the information set setting unit 217. It has a function to manage the correct answer information Dc).
  • the correct answer information Dc is calculated from the software or design specifications of the original information Dso managed by the configuration management unit 215 before each ECU is mounted on the vehicle, or from the software or design specifications updated during vehicle operation. ..
  • the information (for example, initial value, design value) indicating the state at the time of sound corresponding to the operation information Db may be quantified and calculated together with the permissible range for the numerical value.
  • These calculations may be performed in the domain ECU 200a (for example, the correct answer management unit 210 itself), or may be performed in a server or the like outside the vehicle and then transmitted to the domain ECU 200a.
  • the same function as the evaluation function f for calculating the evaluation value Ve which will be described later, is used.
  • the information collecting unit 211 has a function of collecting information (individual current information Dse, operation information Db) from other ECUs (particularly ECU 300), aggregating the information, and transmitting the information to the evaluation value calculation unit 212 when evaluating the soundness. doing.
  • the abnormality detection unit 213 has a function of determining whether or not the evaluation value Ve calculated by the evaluation value calculation unit 212, which will be described later, matches the correct answer information Dc or is within a predetermined range in order to confirm the soundness. doing.
  • the evaluation value calculation unit 212 expresses the information received from each of the ECUs targeted by the combination selected by the information collection unit 211 from the combinations set by the information set setting unit 217 as shown in the evaluation function (1). It has a function of inputting to f and calculating the evaluation value Ve. When the types of information such as individual current information Dse and operation information Db are not distinguished, they are simply expressed as "information A, information B, ". Further, even when the types of functions and the like described later are not distinguished, they are simply described as the evaluation function f and the evaluation value Ve.
  • Ve f (Information A, Information B, 7) (1)
  • the evaluation function f can be set with a plurality of types of functions that calculate different types of evaluation values Ve according to the type of information, instead of one type of fixed function. For example, if the evaluation function f1 is a function that takes a part of the program of each ECU as an argument or the hash value of the program (individual current information Dse), whether or not the evaluation function f1 matches the correct answer information Dc. The evaluation value Ve1 for determining whether or not is calculated.
  • the evaluation function f2 is a function that takes the processing time, the required time, and the sequence of a plurality of processing (operation information Db) of the ECU 300 as arguments, the evaluation function f2 falls within the permissible range provided for the correct answer information Dc.
  • the evaluation value Ve2 for determining whether or not it is present is calculated. For example, a case where the evaluation function f2 is applied to the ECU 300 (for example, ECU 300a, ECU 300b) which controls the headlight so as to automatically change the light distribution amount or the angle according to the road condition is illustrated.
  • the combination pattern set by the information set setting unit 217 includes a combination (information set) of operation information Db related to headlight control for each of the ECU 300a and the ECU 300b.
  • the information collecting unit 211 acquires the operation information Db of the headlight mounted on the front left of the vehicle and the headlight mounted on the front right of the vehicle from the ECU 300a and the ECU 300b.
  • the evaluation value calculation unit 212 selects, for example, a combination of the processing ID, light distribution amount, angle, etc. of each of the left and right headlights as arguments (information A, information B, ...) According to the set information set, and evaluates them.
  • the evaluation value Ve2 is calculated using the function f2.
  • a measured value, a control value (target value), or the like may be acquired from a control unit (not shown) of the vehicle 100.
  • the correct answer management unit 210 reads out the correct answer information Dc derived from the operation information Db of the ECU 300a and the ECU 300b targeted by the information A, the information B, ..., Stored in the correct answer information database 220.
  • the abnormality detection unit 213 determines whether or not the evaluation value Ve2 calculated by the evaluation value calculation unit 212 is within the range of the read correct answer information Dc (for example, the range of the time difference in synchronization), and is it sound. Judge whether or not. Further, the correctness of the headlight processing can be confirmed more accurately by combining the information from the ECU 300 that controls other devices capable of grasping the surrounding conditions, such as a camera or a millimeter wave radar.
  • At least the combination related to the operation information Db is set as a combination of ECUs that require synchronization or ECUs that are related to the operation in vehicle control in the sequence. ing.
  • the individual current information Dse regarding the configuration itself of the program Dp does not necessarily need to be related to the operation, but it is desirable to set a combination pattern that can efficiently identify the abnormal ECU by the abnormality specifying unit 216 described later.
  • the time management unit 214 has a function of managing the time and managing the timing for confirming the soundness. For example, if the time management unit 214 determines that the predetermined timing has come, the information collection unit 211 may start collecting information from the ECU 300 described above.
  • the abnormality identification unit 216 selects a plurality of different types of information sets including the ECU 300 included in the information set in which the abnormality is detected from among the information sets from the plurality of ECUs 300 set by the information set setting unit 217. Then, it has a function of identifying which ECU 300 is abnormal based on the comparison result of the evaluation value Ve calculated according to the selected information set and the correct answer information Dc.
  • the correct answer management unit 210 acquires the correct answer information Dc and stores it in the correct answer information database 220 (step S100).
  • the correct answer information Dc may be calculated by the function corresponding to the evaluation function f using the original information Dso stored in the original information database 221, or the correct answer information Dc may be obtained from the outside of the vehicle 100. It may be. Further, when the required correct answer information Dc is limited, it may be output to the abnormality detection unit 213 in advance.
  • the time management unit 214 determines whether or not the predetermined timing has been reached.
  • the predetermined timing is selected from when the vehicle is started, when the vehicle is running, when the vehicle is stopped, when the power is turned off, and the like.
  • the process proceeds to the next step S120 to evaluate the sound line. If not (“No” in step S110), it waits until that timing is reached.
  • step S120 an information set that combines information targeting different ECUs is set from the correct answer information Dc (step S120). Then, in step S130, the information acquisition unit 310 of each ECU 300 targeted by the set information set acquires the information (individual current information Dse, operation information Db) of the own ECU 300. Then, in each ECU 300, the transmission unit 311 transmits the information acquired in step S130 to the domain ECU 200a (step S140). Upon receiving information from each ECU 300, in the domain ECU 200a, the information collecting unit 211 aggregates only the information used by the evaluation value calculating unit 212 from the received information based on the set combination (step S150).
  • the evaluation value calculation unit 212 selects the evaluation function f according to the information from the information received from the information collection unit 211, calculates the evaluation value Ve (step S160), and outputs the evaluation value Ve to the abnormality detection unit 213.
  • the abnormality detection unit 213 reads the correct answer information Dc corresponding to the evaluation value Ve output from the evaluation value calculation unit 212 from the correct answer information database 220, and compares the evaluation value Ve with the correct answer information Dc (step S170).
  • each ECU 300 determines that it is normal and ends the soundness confirmation flow. ..
  • the process proceeds to step S200, for example. Flag the NG and turn the process.
  • step S200 When it is determined that an abnormality has occurred, it is specified in which ECU 300 the abnormality occurred (step S200). Specifically, with respect to the ECU 300 of the information set different from the information set initially determined to be abnormal based on the set combination pattern, starting from step S130 again, the information acquisition unit 310 of the target ECU 300 Start processing. Then, the evaluation value Ve is derived by the evaluation value calculation unit 212, and the consistency with the correct answer information Dc is confirmed. By repeating this, it is possible to identify which ECU 300 is abnormal.
  • the configuration management unit 215 reads the corresponding program from the original information Dso with respect to the specified abnormal ECU 300 (here, ECUr-2). .. Then, it is transmitted to the ECU 300, the program is rewritten (step S300), and the soundness confirmation flow is completed.
  • the original information Dso used for rewriting is the software before the ECU 300 is mounted on the vehicle or a part of the data stored in the original information database 221, or the software of the ECU 300 that is updated during the vehicle operation. Or part of it.
  • the soundness of the ECU 300 connected to the domain ECU 200a can be determined. Then, even if there is an abnormality, the ECU 300 in which the abnormality has occurred can be identified and written back to the original program to restore the sound state.
  • each ECU 300 since the evaluation value Ve calculated by the evaluation function f is evaluated for soundness based on the consistency with the correct answer information Dc calculated for the sound state, each ECU 300 has the correctness of the program or processing. It is possible to confirm the soundness at a lower cost than confirming. In particular, in general, in order for each ECU to confirm its own legitimacy, it is conceivable that each ECU 300 performs secure boot to confirm that the individual programs have not been tampered with. However, when secure boot is performed, the startup time becomes long and the encryption key for secure boot must be stored. However, even for the program (individual current information Dse), by evaluating the information sets from a plurality of ECUs as arguments, the security key is not required, so that the cost required for these can be reduced.
  • step S120 described in FIG. 5 may be started when the domain ECU 200a is started. By doing so, immediately after starting the vehicle (starting the ECU), it is possible to take more time to check the function than during running, so that it is possible to check more ECUs and a wider range of programs for abnormalities.
  • an ECU having a function having a long operation cycle and an ECU having a special activation condition to be activated only at a specific event may be preferentially selected.
  • an ECU that controls an airbag that operates only in an emergency an ECU that controls a key that controls only when entering or exiting a vehicle
  • an ECU for ETC Electronic Toll Collection
  • the function of the ECU to detect the failure of the device and the security function of detecting and dealing with the security attack are also targeted because the operation or the monitoring cycle may be long only at the time of abnormality. By doing so, it is possible to reliably determine whether or not the ECU, which operates infrequently, is normal, so that the vehicle can be accurately controlled without impairing convenience.
  • each control device (ECU) constituting the in-vehicle control system according to the first embodiment described above may be configured by one hardware 10 including a processor 11 and a storage device 12 as shown in FIG. Be done.
  • the storage device 12 includes a volatile storage device such as a random access memory and a non-volatile auxiliary storage device such as a flash memory. Further, an auxiliary storage device of a hard disk may be provided instead of the flash memory.
  • the processor 11 executes the program input from the storage device 12. In this case, the program is input from the auxiliary storage device to the processor 11 via the volatile storage device. Further, the processor 11 may output data such as a calculation result to the volatile storage device of the storage device 12, or may store the data in the auxiliary storage device via the volatile storage device.
  • each control process is arranged in the domain ECU 200a
  • the present invention is not limited to this, and if the same function can be realized, the domain ECU 200b or a lower ECU or the like can be used.
  • the control process may be shared.
  • the network configuration of the vehicle 100 is not limited to the configuration illustrated in FIG.
  • the number of ECUs and the method of connecting the communication lines between the ECUs are not limited to this, and information obtained from a plurality of communication lines connected to the domain ECU 200a may be used, and these processes are executed across the plurality of domain ECUs 200. It may be.
  • the vehicle-mounted control system is a vehicle-mounted control system in which a plurality of control devices (ECUs) for controlling the vehicle-mounted device are connected to each other so as to be able to communicate with each other, and the plurality of controls are controlled.
  • Original information storage unit original information database 221
  • Original information that stores original information Dso related to either the program for realizing the control function or the operation specifications in the control function when each device (ECU) is sound.
  • Information set setting unit 217 that combines information for different control devices (ECUs) from Dso and sets the information set to be used as an argument of the function (evaluation function f), and the current information corresponding to the original information Dso.
  • the information collection unit 211 that collects current information (individual current information Dse, operation information Db) from each control device (ECU) targeted by the information set, and the correct answer value calculated by the function (evaluation function f) with the information set as an argument.
  • the degree of agreement between (correct answer information Dc) and the evaluation value Ve calculated by the function (evaluation function f) with the current information (individual current information Dse, operation information Db) corresponding to the information set as arguments is lower than the standard. Since it is configured to include an abnormality detection unit 213 that detects that there is an abnormality in any of the target control devices (ECUs), secure boot is not required even if a security attack related to vehicle control is received. Vehicle control can be executed soundly.
  • an information set that targets any of the control devices (ECUs) targeted by the set information set and is different from the set information set is added to the information set setting unit 217. If the abnormality identifying unit 216 for identifying the abnormal control unit (ECU) is provided from the combination of the presence or absence of the abnormality in the plurality of information sets that have been set and the settings have been changed, the abnormal ECU can be easily identified.
  • the original information storage unit (original information database 221) stores all or part of the program configuration for functioning each of the plurality of control devices (ECUs), and the control device identified as having an abnormality (the original information database 221). If the configuration management unit 215 that rewrites all or part of the program configuration of the ECU) to the contents stored in the original information storage unit is provided, the ECU that has identified the abnormality can be easily returned to the original normal state. Can be returned.
  • the abnormality detection unit 213 is based on the fact that the correct answer value (correct answer information Dc) and the evaluation value Ve1 match. Then, the modification of the program can be easily detected without using the security key.
  • the information set setting unit 217 selects a control device (ECU) whose control operations are related to each other (synchronization, execution order-related, similar movement, etc.) as a target control device (ECU), and classifies them into operation specifications.
  • ECU control device
  • the abnormality detection unit 213 is based on the fact that the evaluation value Ve is within the permissible range provided for the correct answer value (correct answer information Dc). Then, the modification or abnormality of the program can be easily detected without inspecting the program itself.
  • the information set setting unit 217 is preferentially selected as a target control device as the operation cycle is longer or the specificity of the operation activation condition is higher (for example, an ECU for an airbag that operates in an emergency). By doing so, it is possible to detect an abnormality without leaking an ECU that is often overlooked.
  • the abnormality diagnosis method is a method of diagnosing an abnormality in an in-vehicle control system in which a plurality of control devices (ECUs) for controlling in-vehicle devices are connected to each other so as to be able to communicate with each other.
  • an information set setting step (step S120), which combines information for different control devices (ECUs) from the original information Dso and sets an information set to be used as an argument of the function (evaluation function f).
  • Information collection steps (steps S130 to S150) for collecting current information corresponding to the original information Dso as current information (individual current information Dse, operation information Db) from each control device (ECU) targeted by the information set, and information.
  • the correct answer value (correct answer information Dc) calculated by the function (evaluation function f) with the set as an argument and the current information (individual current information Dse, operation information Db) corresponding to the information set are calculated by the function (evaluation function f) as arguments.
  • step S160 to S180 it is configured to include an abnormality detection step (steps S160 to S180) for detecting that there is an abnormality in any of the target control devices (ECUs) when the degree of agreement with the evaluated evaluation value Ve is lower than the reference. Therefore, even if a security attack related to vehicle control is received, an abnormality can be diagnosed in a state where the vehicle control is soundly executed without requiring a secure boot.
  • an abnormality detection step for detecting that there is an abnormality in any of the target control devices (ECUs) when the degree of agreement with the evaluated evaluation value Ve is lower than the reference. Therefore, even if a security attack related to vehicle control is received, an abnormality can be diagnosed in a state where the vehicle control is soundly executed without requiring a secure boot.
  • an information set setting step (step S120) is performed by targeting any of the control devices (ECUs) targeted by the set information set and different from the set information set. ) Is added, and the abnormality identification step (steps S200 to S210) for identifying the control device (ECU) having the abnormality is included from the combination of the presence or absence of the abnormality in the plurality of information sets whose settings have been changed. An abnormal ECU can be easily identified.
  • step S100 In the original information storage step (step S100, or at the time of in-vehicle operation or at the time of new installation), all or part of the program configuration for functioning each of the plurality of control units (ECUs) is stored, and it is identified that there is an abnormality.
  • step S300 By including a configuration management step (step S300) in which all or a part of the program configuration of the control device (ECU) is rewritten to the contents stored in the original information storage step, the ECU that identifies the abnormality can be easily restored. Can be returned to the normal state of.

Landscapes

  • Engineering & Computer Science (AREA)
  • Automation & Control Theory (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Hardware Design (AREA)
  • General Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Software Systems (AREA)
  • Transportation (AREA)
  • Human Computer Interaction (AREA)
  • Mechanical Engineering (AREA)
  • General Physics & Mathematics (AREA)
  • Physics & Mathematics (AREA)
  • Signal Processing (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Stored Programmes (AREA)
  • Testing And Monitoring For Control Systems (AREA)
  • Debugging And Monitoring (AREA)

Abstract

車載機器を制御する複数のECUが相互に通信可能に接続された車載制御システムであって、複数のECUそれぞれが健全なときの、制御機能に関連する元情報(Dso)を保管する元情報データベース(221)、元情報(Dso)のなかから、異なるECUを対象とした情報を組み合わせた情報組を設定する情報組設定部(217)、元情報(Dso)に対応する現在情報を情報組で対象としたECUそれぞれから収集する情報収集部(211)、および情報組を引数として評価関数fで算出した正解情報Dcと、情報組に対応する現在情報を引数として評価関数fで算出した評価値Veとの一致度が基準よりも低い場合に、対象としたECUのいずれかに異常があることを検知する異常検知部(213)、を備えるように構成した。

Description

車載制御システムおよび異常診断方法
 本願は、車載制御システムおよび異常診断方法に関するものである。
 車両には、ECU(Electronic Control Unit)と呼ばれる複数の車載制御装置が搭載され、他のECU、または車両外の通信機器と有線または無線によって接続されている。そして、単独あるいは連携により、車載機器を制御し、車両の走る、曲がる、止まるといった走行に関わる基本的な機能、車内環境の制御機能、ナビゲーションなどの情報提供機能を実現している。
 一方、悪意のある者が、不正な情報をECUへ搭載させるようなセキュリティ攻撃を行うことがあり、このセキュリティ攻撃が、車載機器に異常な挙動を引き起こす可能性がある。それに対し、新規サービスの提供を開始する前に、実施したテスト結果に応じて新規サービスの提供をするか否かを決定することにより、不正な新規サービスがプラグインされるのを防止できる技術が開示されている(例えば、特許文献1参照。)。
特開2016-163244号公報(段落0039~0083、図7~図9)
 しかしながら、開示された技術は、ECUの追加、あるいはECUへの機能変更によって追加されるサービスの認証を対象としている。そのため、サービスを実行するためのプラットフォームを改ざんする攻撃、あるいはサービスを悪用されることによって不正なサービスを実行させるような攻撃など、サービスの認証のみでは防ぐことができない攻撃への対応は想定されていない。もちろん、個々のECUをセキュアブートさせることも考えられるが、セキュアブート用の暗号鍵の保管が必要になるとともに、起動時間が長くなり、かえって車両制御を妨げる可能性がある。
 本願は、上記のような課題を解決するための技術を開示するものであり、車両制御に関するセキュリティ攻撃を受けても、健全に車両制御を実行できることを目的とする。
 本願に開示される車載制御システムは、車載機器を制御する複数の制御装置が相互に通信可能に接続された車載制御システムであって、前記複数の制御装置それぞれが健全なときの、制御機能を実現するためのプログラムと前記制御機能における動作仕様のいずれかに関連する元情報を保管する元情報保管部、前記元情報のなかから、異なる制御装置を対象とした情報を組み合わせ、関数の引数として用いる情報組を設定する情報組設定部、前記元情報に対応する現在の情報を前記情報組で対象とした制御装置それぞれから現在情報として収集する情報収集部、および前記情報組を引数として前記関数で算出した正解値と、前記情報組に対応する前記現在情報を引数として前記関数で算出した評価値との一致度が基準よりも低い場合に、前記対象とした制御装置のいずれかに異常があることを検知する異常検知部、を備えたことを特徴とする。
 本願に開示される異常診断方法は、車載機器を制御する複数の制御装置が相互に通信可能に接続された車載制御システムの異常を診断する方法であって、前記複数の制御装置それぞれが健全なときの、制御機能を実現するためのプログラムと前記制御機能における動作仕様のいずれかに関連する元情報を保管する元情報保管ステップ、前記元情報のなかから、異なる制御装置を対象とした情報を組み合わせ、関数の引数として用いる情報組を設定する情報組設定ステップ、前記元情報に対応する現在の情報を前記情報組で対象とした制御装置それぞれから現在情報として収集する情報収集ステップ、および前記情報組を引数として前記関数で算出した正解値と、前記情報組に対応する前記現在情報を引数として前記関数で算出した評価値との一致度が基準よりも低い場合に、前記対象とした制御装置のいずれかに異常があることを検知する異常検知ステップ、を含むことを特徴とする。
 本願に開示される車載制御システム、あるいは異常診断方法によれば、複数のECUが有する情報の組み合わせに基づいて、ECUの健全性を確認するので、車両制御に関するセキュリティ攻撃を受けても、健全に車両制御を実行することができる。
実施の形態1にかかる車載制御システムの構成を説明するための、ドメインECUとその下位のECUそれぞれに形成した機能、および並列するドメインECU等との接続関係を説明するためのブロック図である。 実施の形態1にかかる車載制御システムの構成を説明するための、車両に搭載された複数のECUの接続関係を説明するための全体ブロック図である。 実施の形態1にかかる車載制御システムの構成を説明するための、中央ECUと2つのドメインECU、および下位のECUとの接続関係を説明するためのブロック図である。 実施の形態1にかかる車載制御システムを構築するECUが備えるプログラム構成を説明するための模式図である。 実施の形態1にかかる車載制御システムの動作を説明するためのフローチャートである。 実施の形態1にかかる車載制御システムの構成を説明するための、ドメインECUと下位のECUとの間でのデータの送受信を示す模式図である。 実施の形態1にかかる車載制御システムにおける、異常の有無の判断に用いる複数のデータの組み合わせ(情報組)と、判定結果の例を示す表形式の図である。 実施の形態1にかかる車載制御システムを構成する各ECUの演算処理を実行する部分の構成例を示すブロック図である。
実施の形態1.
 図1~図8は、実施の形態1にかかる車載制御システムの構成、および動作について説明するためのものであり、図1は車載制御システムの構成を説明するための、中継装置であるドメインECUと、その下位に位置し、個別の制御機能を発現するECUそれぞれに形成した機能、および並列するドメインECUとの接続関係を説明するためのブロック図である。また、図2は車両に搭載された複数のECUの接続関係を説明するための全体ブロック図、図3は複数のECUのうち、中央ECUに連なる2つのドメインECU、およびその下位のECUとの通信バスによる接続関係を説明するためのブロック図、図4はECUそれぞれが備えるプログラム構成を説明するための模式図である。
 そして、図5は車載制御システムの動作、つまり異常診断方法を説明するためのフローチャートである。また、図6はドメインECUと、その下位のECUとの間でのデータの送受信を示す模式図、図7は異常ECUを特定するために設定した複数のデータの組み合わせ(情報組)と、判定結果の例を示す表形式の図である。さらに、図8は車載制御システムを構成する各ECUの演算処理を実行する部分のハードウエア構成例を示すブロック図である。
 車両の制御を行う車載制御システムは、背景技術で述べたように、ECUと呼ばれる複数の制御装置それぞれが、他のECU、または車両外の通信機器と有線または無線によって接続されることで構成される。本実施の形態1にかかる車載制御システムは、そのうち、図2に示すように、車両100内に搭載された複数の制御装置(ECU)で構成した車載制御システムを例にして説明する。なお、図2に示す車載制御システムは、実際には、図示していない構成も含まれているが、本実施の形態1の説明、とくに異常診断方法に直接関係しないものについては記載を省略している。
 車両100内には、最上位の中央ECU400a、中継装置たるドメインECU200a~200d、ドメインECU200a~200dに接続されるECU300a~304a、300b~302b、300c~302c、300d~302dが搭載されている。各ECUは、中央ECU400aからツリー構造で接続され、例えば、図3に示すように、ECUp-1~ECUp-iは通信バスpで、ECUq-1~ECUq-jは通信バスqで、それぞれドメインECU200aと接続され、相互に通信可能となっている。
 さらに、中継装置として機能するドメインECU200a~200dは、例えば、ドメインECU200aとドメインECU200bのように、中央ECU400aを介さず、直接通信が可能な接続が施されている場合がある。なお、図示していないが車両100は、車外にあるサーバー、あるいは車両100とは異なる他の車両とも通信することができる。
 ドメインECU200a、あるいはドメインECU200bは、車両の前後左右中央のいずれかの領域にあるECUであり、車両左前方に配置された場合は、車両左前方にあるECUに接続されている。またドメインECU200bも同様に、配置される領域にあるECUと接続される。
 つぎに、各ECUに付与された車両制御、およびセキュリティ攻撃に対処するための構成要素の機能と動作について図1を用い、ドメインECU200aとその直下のECU300aを例にして説明する。一方、他のドメインECU200b~200d、およびECU301a~304とECU300b~302bとECU300c~302cとECU300d~302dも、それぞれドメインECU200aとECU300aで説明したのと同様の機能を備えるものとする。そこで、個別のドメインECU200a~200dを区別しない場合、まとめてドメインECU200と記載する。また、下位のECUについても個別に区別しない場合、これらをまとめて以降はECU300と記載する。さらには、ツリー構造における上下関係も区別しない場合、単にECUと表記する。
 <ECU300a>
 ECU300aには、ECU300ごとに割り当てられた機能の発揮に用いられる最新のプログラムDpを保持する機能保持部320と、制御機能を発揮して車両制御を行う主制御部313を備えている。さらに、プログラムDpによる機能発揮の際の処理時間等を管理する動作管理部312と、プログラムDpの構成に関連するECU300ごとの個別現在情報Dseを取得する情報取得部310と、取得した情報を他ECUに送信する送信部311を備えている。
 主制御部313は、機能保持部320に保持されたプログラムDpに基づき、自ECU300それぞれに割り当てられた車両制御に必要な機能を発現させる。例えば、ECU300aが、車両のヘッドライトの制御を司るECUである場合、主制御部313はヘッドライトのオン/オフ、配光等を操作する。
 情報取得部310は、機能保持部320に現時点で保持されている最新のプログラムDp、またはそれらを加工した情報を自ECU300の個別現在情報Dseとして取得する機能を有する。プログラムDpについては、例えば、図4に示すようなプログラムDpの構成すべて、あるいは、スタートアップ、ブート、アプリケーションのいずれか、あるいはそれらを組み合わせたものでもよい。さらに、加工した情報としては、プログラムDpのチェックサム、CRC(Cyclic Redundancy Check)、ハッシュ、暗号化した値、MAC(Message Authentication Code:認証用の符号)、デジタル署名などでもよい。
 動作管理部312は、プログラムDpを実行した際の所定時刻tAからtB(>tA)までの処理、その処理開始時刻、処理時間、複数の処理のシーケンス等、自己ECUでの動作に関する情報(動作情報Db)を取得する機能を有する。また、このとき、処理あるいは処理群の時刻、または処理内容に紐づけて、その時点での車両状態をあわせて管理するようにしてもよい。
 送信部311は、情報取得部310が取得した自己ECU300の個別現在情報Dse、あるいは動作管理部312が取得した自己ECU300での動作情報DbをドメインECU200a、および他ECU300に送信する機能を有する。
 <ドメインECU200a>
 中継装置として機能するドメインECU200aには、2つのデータベースと、健全性を評価するための動作時機の制御、演算等を実行するための8つの機能部(正解管理部210~情報組設定部217)が形成されている。
 2つのデータベースのうち、ひとつは、後述する正解管理部210が管理する正解情報Dcを保持する正解情報データベース220である。また、もうひとつは、他のECU300それぞれが健全時に保持していたプログラムDp、あるいはその一部を復元用の元情報Dsoとして保持する元情報データベース221である。なお、図1では、「データベース」を、簡略化のため、「DB」と略号表記している。
 構成管理部215は、他の複数のECUそれぞれが車両に搭載される前のソフトウェアまたはその一部、あるいは車両運用中に更新されるソフトウェアまたはその一部をバックアップ用の元情報Dsoとして管理する。さらに、後述する正解情報Dc生成に必要なデータとして、複数のECUの個別現在情報Dse、動作情報Dbそれぞれに対応する健全時の状態を示す情報もあわせて管理し、元情報データベース221への保管と読み出しを行う機能を有している。
 情報組設定部217は、後述する正解管理部210、情報収集部211、異常特定部216等が必要とする、健全性の評価に用いる異なるECUを対象とした情報を組み合わせた情報組を設定する。
 正解管理部210は、情報組設定部217により設定された異なるECU300それぞれのソフトウェア構成または動作に関する情報組に基づいて、所定の計算式(基本的に後述する評価関数f)から導かれる期待値(正解情報Dc)を管理する機能を有している。正解情報Dcは、構成管理部215が管理する元情報Dsoのうち、ECUそれぞれが車両に搭載される前のソフトウェアまたは設計仕様から算出、あるいは車両運用中に更新されるソフトウェアまたは設計仕様から算出する。さらに、動作情報Dbに対応する健全時の状態を示す情報(例えば、初期値、設計値)を数値化し、それに対する許容範囲を合わせて算出してもよい。なお、これらの算出は、ドメインECU200a内(例えば、正解管理部210自体)で行われてもよいし、車外のサーバー等で行われてから、ドメインECU200aへ送信されるようにしてもよい。ただし、基本的には、後述する評価値Veを算出するための評価関数fと同じ関数を使用する。
 情報収集部211は、健全性を評価する際、他のECU(特にECU300)から情報(個別現在情報Dse、動作情報Db)を収集して集約し、評価値算出部212へ送信する機能を有している。
 異常検知部213は、健全性の確認のため、後述する評価値算出部212が算出した評価値Veが、正解情報Dcと一致、あるいは所定範囲内に入っているか否かを判断する機能を有している。
 評価値算出部212は、情報組設定部217によって設定された組み合わせのなかから情報収集部211が選定した組み合わせで対象としたECUそれぞれから受信した情報を式(1)に示すように、評価関数fにインプットして、評価値Veを算出する機能を有している。なお、個別現在情報Dse、動作情報Db等の情報の種類を区別しない場合、単に「情報A,情報B,・・・」と表記する。また、後述する関数等の種類を区別しない場合も、単に評価関数f、評価値Veと記す。
   Ve=f(情報A,情報B,・・・)    (1)
 ここで、評価関数fには、1種類の固定した関数ではなく、情報の種類に応じて、種類の異なる評価値Veを算出する複数種の関数を設定できる。例えば、各ECUが有するプログラムの一部を抜き出した値またはプログラムのハッシュ値(個別現在情報Dse)を引数とする関数を評価関数f1とすると、評価関数f1は、正解情報Dcと一致するか否かを判定するための評価値Ve1を算出する。
 また、ECU300の処理の時刻、所要時間、複数処理のシーケンス(動作情報Db)を引数とする関数を評価関数f2とすると、評価関数f2は、正解情報Dcに対して設けた許容範囲に入っているか否かを判定するための評価値Ve2を算出する。例えば、道路状況に応じて配光量または角度を自動的に変更するようなヘッドライトの制御を担うECU300(例えば、ECU300a、ECU300b)に対して評価関数f2を適用する場合を例示する。
 夜間の道路のカーブを走行したり、対向車両が現れたりした場合、自車両に備わる左右のヘッドライトの配光を自動的に変更するシステムがある。本来であれば、左右のヘッドライトは周囲状況に応じて同じタイミングで配光が変更されなければならないが、プログラムが改ざんされたような場合、ある時刻における配光量または角度が設計値どおりにならず、同期しないことがありうる。
 そのような場合を想定して、情報組設定部217が設定する組み合わせパターンには、ECU300aとECU300bそれぞれの、ヘッドライトの制御に関する動作情報Dbの組み合わせ(情報組)が含まれている。すると、ドメインECU200aでは、情報収集部211が、ECU300aとECU300bから、車両左前に搭載されたヘッドライトと車両右前に搭載されたヘッドライトの動作情報Dbを取得する。評価値算出部212は、設定された情報組に従い、例えば、左右のヘッドライトそれぞれの処理ID、配光量、角度等の組み合わせを引数(情報A,情報B,・・・)として選定し、評価関数f2を用いて評価値Ve2を算出する。なお、各ECU300からの動作情報Dbに限らず、車両100の図示しない制御部から測定値、あるいは制御値(目標値)等を取得するようにしてもよい。
 ここで、正解管理部210は、正解情報データベース220に保存されている、情報A,情報B,・・・で対象としたECU300aとECU300bの動作情報Dbから導出された正解情報Dcを読み出す。異常検知部213は、評価値算出部212が算出した評価値Ve2が、読み出した正解情報Dcの範囲(例えば、同期における時間差の範囲)内に入っているか否かを判定することで、健全か否かを判断する。さらに、別途カメラあるいはミリ波レーダーなど、周囲状況を把握することが可能な他の機器を制御するECU300からの情報を合わせることでも、より精度よくヘッドライトの処理の正当性を確認できる。
 つまり、情報組設定部217が設定した組み合わせのうち、少なくとも動作情報Dbに関する組み合わせについては、同期を必要とするECU、あるいはシーケンス上、車両制御における動作に関連性があるECUどうしの組み合わせが設定されている。一方、プログラムDpの構成自体に関する個別現在情報Dseに関しては、必ずしも動作の関連性を必要としないが、後述する異常特定部216により、異常ECUを効率よく特定できる組み合わせパターンを設定することが望ましい。
 時機管理部214は、時刻を管理して、健全性を確認するタイミングを管理する機能を有している。例えば、時機管理部214が所定のタイミングとなったと判断すると、情報収集部211による、上述したECU300からの情報収集を開始させるようにしてもよい。
 異常特定部216は、情報組設定部217が設定した複数のECU300からの情報組のなかから、異常を検出した情報組に含まれるECU300を含む異なる複数種の情報組を選択する。そして、選択した情報組に応じて算出される評価値Veと正解情報Dcとの比較結果に基づき、どのECU300が異常かを特定する機能を有する。
 このような機能を、車両機器を実際に制御する各ECU300、および中継装置であるドメインECU200に配置して構築した車載制御システムの動作、つまり異常診断方法について図5のフローチャートを参考に説明する。
 はじめに、正解管理部210は、正解情報Dcを取得し、正解情報データベース220に保管する(ステップS100)。このとき、上述したように、元情報データベース221に保管されている元情報Dsoを用い、評価関数fに対応する関数で正解情報Dcを演算してもよいし、車両100の外部から入手するようにしてもよい。また、必要な正解情報Dcが限られている場合、予め異常検知部213に出力しておいてもよい。
 正解情報Dcが準備できれば、時機管理部214が所定のタイミングになったか否かを判断する。所定のタイミングは、起動時、走行時、停車時、電源オフ時などから選択される。期待するタイミングになった場合(ステップS110で「Yes」)は、健全線を評価するために次のステップS120に進む。そうでない場合(ステップS110で「No」)は、そのタイミングになるまで待機する。
 ステップS120では、正解情報Dcのなかから、異なるECUを対象とした情報を組み合わせた情報組を設定する(ステップS120)。そして、ステップS130では、設定された情報組で対象としたECU300それぞれの情報取得部310が、自ECU300の情報(個別現在情報Dse、動作情報Db)を取得する。そして、各ECU300では、送信部311が、ステップS130で取得した情報をドメインECU200aに送信する(ステップS140)。各ECU300から情報を受け取ると、ドメインECU200aでは、情報収集部211が、受信した情報のうち、設定された組み合わせに基づき、評価値算出部212で使う情報のみを集約する(ステップS150)。
 評価値算出部212は、情報収集部211から受け取った情報から、情報に応じた評価関数fを選択し、評価値Veを算出し(ステップS160)、異常検知部213に出力する。異常検知部213は、正解情報データベース220から、評価値算出部212から出力された評価値Veに対応する正解情報Dcを読み出し、評価値Veと正解情報Dcを比較する(ステップS170)。
 そして、評価値Veの種類に応じ、評価値Veが正解情報Dcと一致しているか否か、または正解情報Dcが示す範囲内に入っているか否かを確認する(ステップS180)。評価値Veが正解情報Dcと一致、または正解情報Dcが示す範囲内に入っていた場合(ステップS180で「Yes」)、各ECU300は正常であると判定し、健全性の確認フローを終了する。ただし、後述する異常ECUを特定する際に追加設定した情報組に対しては、異常ECUの特定が完了するまでは、その情報組で正常であっても、ステップS200へ進むように、例えば、NGのフラグを付けて工程を回すようにする。
 一方、評価値Veが正解情報Dcと不一致、または正解情報Dcが示す範囲外である場合(ステップS180で「No」)、情報組で対象としたECU300のなかに異常が発生していると判定する。
 異常が発生していると判定したら、異常がどのECU300で発生したのかを特定する(ステップS200)。具体的には、設定された組み合わせパターンに基づき、はじめに異常であると判定した情報組とは異なる情報組のECU300に対して、改めて、ステップS130からはじめて、対象としたECU300の情報取得部310の処理を開始する。そして、評価値算出部212により評価値Veを導出して、正解情報Dcとの一致性を確認する。これを繰り返すことで、どのECU300が異常であったかを特定する。
 例えば、図6と図7に示すようにECU300のうち、はじめはECUr-1からの情報AとECUr-2からの情報Bの組み合わせでNGとなった場合、つぎにECUr-1からの情報AとECUr―kからの情報Cの組み合わせで評価し、OKとなったとする。その場合、ECUr-1とECUr-kはともに正常であるから、残りのECUr-2に異常が発生していると特定することができる。つまり、ひとつの情報組にn種のECUが対応している場合、最低、n通りの組み合わせで情報組を設定すれば、異常を特定することができる。
 このようにして、特定が完了すると(ステップS210で「Yes」)、特定した異常なECU300(ここでは、ECUr―2)に対して、構成管理部215は、元情報Dsoから対応するプログラムを読み出す。そして、ECU300へ送信し、プログラムを書き換え(ステップS300)、健全性の確認フローを終了する。なお、このとき、書き換えに用いる元情報Dsoは、元情報データベース221に保管されたデータのうち、ECU300が車両に搭載される前のソフトウェアかその一部、車両運用中に更新されるECU300のソフトウェアかその一部である。
 上記のように動作させることで、ドメインECU200aに接続されているECU300の健全性を判断することができる。そして、異常があった場合も異常が発生したECU300を特定し、元のプログラムへ書き戻すことによって、健全な状態に復帰させることができる。
 また、評価関数fによって算出した評価値Veを、健全な状態に対して算出された正解情報Dcとの一致性によって、健全性を評価するようにしたので、ECU300個々がプログラムまたは処理の正当性を確認するよりも、低コストに健全性を確認することができる。とくに、一般的に個々のECUが自身の正当性を確認するためには、個々のプログラムに対して改ざんされていないことを確認するべく個々のECU300がセキュアブートをすることが考えられる。ただしセキュアブートを行うと、起動時間が長くなったり、セキュアブート用の暗号鍵の保管を行わなければならなかったりする。しかしながら、プログラム(個別現在情報Dse)についても、複数のECUからの情報組を引数として評価することで、セキュリティ鍵が必要でなくなるため、これらに要するコストを削減することができる。
 また、一般的なセキュリティ対策では、追加されたECUが、正規のサービスを備えていたとしても、正規のECUであることまたは正規のプログラムを備えていることを保証していなければ、車両へ不正なECUまたはプログラムの搭載が可能となる。その結果、ECUあるいは車両へ悪影響(ECUを不正実行させる、など)を防止することが困難であった。しかし、本願開示の車載制御システムあるいは異常診断方法では、正規のプログラムであるかの保証がなくても、健全性を評価できるため、これらを検知し、車両の正常な制御が可能となる。
 なお、ドメインECU200aが起動する前に、正解情報Dcが予め保管されている場合、図5で説明したステップS120からの処理を、ドメインECU200aが起動した時点で開始することとしてもよい。そのようにすることで、車両の起動(ECUの起動)直後は、走行中よりも機能をチェックする時間をとれるため、より多くのECU、より広範囲のプログラムの異常有無をチェックできる。
 さらに、ステップS120における情報組の設定処理において、動作周期が長い機能を備えるECU、特定のイベントでのみ起動される発動条件が特殊なECUを優先して選択することとしてもよい。例えば、緊急時のみ動作するエアバッグを制御するECU、車両への出入り時のみ制御する鍵を制御するECU、ETC(Electronic Toll Collection)のためのECUなどである。これらのECUは動作する頻度が少ないためECUの異常に気付きにくいという点があった。また、ECUが機器の故障を検知する機能、およびセキュリティ攻撃を検知したり、対処したりするセキュリティ機能も、異常時のみの動作あるいは監視周期が長いことがあるため、対象とすることが望ましい。このようにすることで、動作頻度の少ないECUが正常か否かを確実に判定することができるため、利便性を損なうことなく、車両を正確に制御することができる。
 なお、上述した実施の形態1にかかる車載制御システムを構成する各制御装置(ECU)は、図8に示すようにプロセッサ11と記憶装置12を備えたひとつのハードウエア10によって構成することも考えられる。記憶装置12は、図示していないが、ランダムアクセスメモリ等の揮発性記憶装置と、フラッシュメモリ等の不揮発性の補助記憶装置とを具備する。また、フラッシュメモリの代わりにハードディスクの補助記憶装置を具備してもよい。プロセッサ11は、記憶装置12から入力されたプログラムを実行する。この場合、補助記憶装置から揮発性記憶装置を介してプロセッサ11にプログラムが入力される。また、プロセッサ11は、演算結果等のデータを記憶装置12の揮発性記憶装置に出力してもよいし、揮発性記憶装置を介して補助記憶装置にデータを保存してもよい。
 なお、本願は、例示的な実施の形態が記載されているが、実施の形態に記載された様々な特徴、態様、および機能は、例示した実施の形態への適用に限られるのではなく、単独で、または様々な組み合わせで実施の形態としての適用が可能である。従って、例示されていない無数の変形例が、本願明細書に開示される技術の範囲内において想定される。例えば、少なくとも1つの構成要素を変形する場合、追加する場合または省略する場合が含まれるものとする。
 例えば、本実施の形態においては、ドメインECU200aに各制御処理を配置させた例を示したが、この限りでなく、同様の機能を実現することができれば、他のドメインECU200bあるいは下位のECUなどと制御処理を分担させても構わない。また、車両100のネットワーク構成についても、図1に例示した構成に限ることはない。ECUの数、ECU間の通信線の結線方法はこの限りでなく、ドメインECU200aにつながる複数の通信線から得た情報を用いてもよく、複数のドメインECU200にまたがってこれらの処理を実行するようにしてもよい。
 以上のように、本願の実施の形態にかかる車載制御システムによれば、車載機器を制御する複数の制御装置(ECU)が相互に通信可能に接続された車載制御システムであって、複数の制御装置(ECU)それぞれが健全なときの、制御機能を実現するためのプログラムと制御機能における動作仕様のいずれかに関連する元情報Dsoを保管する元情報保管部(元情報データベース221)、元情報Dsoのなかから、異なる制御装置(ECU)を対象とした情報を組み合わせ、関数(評価関数f)の引数として用いる情報組を設定する情報組設定部217、元情報Dsoに対応する現在の情報を情報組で対象とした制御装置(ECU)それぞれから現在情報(個別現在情報Dse、動作情報Db)として収集する情報収集部211、および情報組を引数として関数(評価関数f)で算出した正解値(正解情報Dc)と、情報組に対応する現在情報(個別現在情報Dse、動作情報Db)を引数として関数(評価関数f)で算出した評価値Veとの一致度が基準よりも低い場合に、対象とした制御装置(ECU)のいずれかに異常があることを検知する異常検知部213、を備えるように構成したので、車両制御に関するセキュリティ攻撃を受けても、セキュアブートを必要とせず、健全に車両制御を実行することができる。
 さらに、異常があることが検出された際、設定した情報組で対象とした制御装置(ECU)のいずれかを対象とし、かつ設定した情報組とは異なる情報組を情報組設定部217に追加設定させ、設定を変えた複数の情報組での異常の有無の組み合わせから、異常がある制御装置(ECU)を特定する異常特定部216を備えれば、異常のあるECUを容易に特定できる。
 この場合、元情報保管部(元情報データベース221)には、複数の制御装置(ECU)それぞれを機能させるプログラム構成のすべてまたは一部が保管されており、異常があると特定された制御装置(ECU)のプログラム構成のすべてまたは一部を、元情報保管部に保管されている内容に書き換える構成管理部215を備えるように構成すれば、異常を特定したECUを容易に元の正常な状態に戻すことができる。
 情報組が、プログラムに分類される情報(プログラムDpまたはその一部)を組み合わせて設定されたとき、異常検知部213は、正解値(正解情報Dc)と、評価値Ve1が一致することを基準とすれば、セキュリティ鍵を使用することなく、容易にプログラムの改変を検知できる。
 情報組設定部217は、対象とする制御装置(ECU)として、制御動作が互いに関連する(同期性、実行順序関連、同様の動き等)制御装置(ECU)を選定し、動作仕様に分類される情報(動作情報Db)を組み合わせて情報組を設定したとき、異常検知部213は、評価値Veが正解値(正解情報Dc)に対して設けた許容範囲内に入っていることを基準とすれば、プログラム自体を検査することなく、容易にプログラムの改変、または異常を検知することができる。
 とくに、情報組設定部217は、動作周期が長いほど、あるいは動作の発動条件の特殊性が高い(例えば、緊急時に作動するエアバック用のECU)ほど、対象とする制御装置として優先的に選定するようにすれば、見落とされがちなECUを漏らすことなく異常を検知できる。
 以上のように、本願の実施の形態にかかる異常診断方法によれば、車載機器を制御する複数の制御装置(ECU)が相互に通信可能に接続された車載制御システムの異常を診断する方法であって、複数の制御装置(ECU)それぞれが健全なときの、制御機能を実現するためのプログラムと制御機能における動作仕様のいずれかに関連する元情報Dsoを保管する元情報保管ステップ(正解情報保管ステップS100)、元情報Dsoのなかから、異なる制御装置(ECU)を対象とした情報を組み合わせ、関数(評価関数f)の引数に用いる情報組を設定する情報組設定ステップ(ステップS120)、元情報Dsoに対応する現在の情報を情報組で対象とした制御装置(ECU)それぞれから現在情報(個別現在情報Dse、動作情報Db)として収集する情報収集ステップ(ステップS130~S150)、および情報組を引数として関数(評価関数f)で算出した正解値(正解情報Dc)と、情報組に対応する現在情報(個別現在情報Dse、動作情報Db)を引数として関数(評価関数f)で算出した評価値Veとの一致度が基準よりも低い場合に、対象とした制御装置(ECU)のいずれかに異常があることを検知する異常検知ステップ(ステップS160~S180)、を含むように構成したので、車両制御に関するセキュリティ攻撃を受けても、セキュアブートを必要とせず、健全に車両制御を実行した状態で異常を診断することができる。
 さらに、異常があることが検出された際、設定した情報組で対象とした制御装置(ECU)のいずれかを対象とし、かつ設定した情報組とは異なる情報組を情報組設定ステップ(ステップS120)で追加設定させ、設定を変えた複数の情報組での異常の有無の組み合わせから、異常がある制御装置(ECU)を特定する異常特定ステップ(ステップS200~S210)を含むようにすれば、異常のあるECUを容易に特定できる。
 元情報保管ステップ(ステップS100、あるいは、車載時、または新規インストール時))では、複数の制御装置(ECU)それぞれを機能させるプログラム構成のすべてまたは一部が保管されており、異常があると特定された制御装置(ECU)のプログラム構成のすべてまたは一部を元情報保管ステップで保管された内容に書き換える構成管理ステップ(ステップS300)を含むようにすれば、異常を特定したECUを容易に元の正常な状態に戻すことができる。
 100:車両、 200:ドメインECU、 210:正解管理部、 211:情報収集部、 212:評価値算出部、 213:異常検知部、 214:時機管理部、 215:構成管理部、 216:異常特定部、 217:情報組設定部、 220:正解情報データベース、 221:元情報データベース(元情報保管部)、 300:ECU、 310:情報取得部、 311:送信部、 312:動作管理部、 313:主制御部、 320:機能保持部、 400a:中央ECU、 Db:動作情報(現在情報)、 Dc:正解情報(正解値)、 Dp:プログラム、 Dse:個別現在情報(現在情報)、Dso:元情報、 f:評価関数(関数)、 Ve:評価値。

Claims (9)

  1.  車載機器を制御する複数の制御装置が相互に通信可能に接続された車載制御システムであって、
     前記複数の制御装置それぞれが健全なときの、制御機能を実現するためのプログラムと前記制御機能における動作仕様のいずれかに関連する元情報を保管する元情報保管部、
     前記元情報のなかから、異なる制御装置を対象とした情報を組み合わせ、関数の引数として用いる情報組を設定する情報組設定部、
     前記元情報に対応する現在の情報を前記情報組で対象とした制御装置それぞれから現在情報として収集する情報収集部、および
     前記情報組を引数として前記関数で算出した正解値と、前記情報組に対応する前記現在情報を引数として前記関数で算出した評価値との一致度が基準よりも低い場合に、前記対象とした制御装置のいずれかに異常があることを検知する異常検知部、
     を備えたことを特徴とする車載制御システム。
  2.  前記異常があることが検出された際、前記設定した情報組で対象とした制御装置のいずれかを対象とし、かつ前記設定した情報組とは異なる情報組を前記情報組設定部に追加設定させ、設定を変えた複数の情報組での異常の有無の組み合わせから、異常がある制御装置を特定する異常特定部を備えたことを特徴とする請求項1に記載の車載制御システム。
  3.  前記元情報保管部には、前記複数の制御装置それぞれを機能させるプログラム構成のすべてまたは一部が保管されており、
     前記異常があると特定された制御装置のプログラム構成のすべてまたは一部を、前記元情報保管部に保管されている内容に書き換える構成管理部を備えたことを特徴とする請求項2に記載の車載制御システム。
  4.  前記情報組が、前記プログラムに分類される情報を組み合わせて設定されたとき、
     前記異常検知部は、前記正解値と、前記評価値が一致することを前記基準とすることを特徴とする請求項1から3のいずれか1項に記載の車載制御システム。
  5.  前記情報組設定部が、前記対象とする制御装置として、制御動作が互いに関連する制御装置を選定し、前記動作仕様に分類される情報を組み合わせて前記情報組を設定したとき、
     前記異常検知部は、前記評価値が、前記正解値に対して設けた許容範囲内に入っていることを前記基準とすることを特徴とする請求項1から4のいずれか1項に記載の車載制御システム。
  6.  前記情報組設定部は、動作周期が長いほど、あるいは動作の発動条件の特殊性が高いほど、前記対象とする制御装置として優先的に選定することを特徴とする請求項1から5のいずれか1項に記載の車載制御システム。
  7.  車載機器を制御する複数の制御装置が相互に通信可能に接続された車載制御システムの異常を診断する方法であって、
     前記複数の制御装置それぞれが健全なときの、制御機能を実現するためのプログラムと前記制御機能における動作仕様のいずれかに関連する元情報を保管する元情報保管ステップ、
     前記元情報のなかから、異なる制御装置を対象とした情報を組み合わせ、関数の引数として用いる情報組を設定する情報組設定ステップ、
     前記元情報に対応する現在の情報を前記情報組で対象とした制御装置それぞれから現在情報として収集する情報収集ステップ、および
     前記情報組を引数として前記関数で算出した正解値と、前記情報組に対応する前記現在情報を引数として前記関数で算出した評価値との一致度が基準よりも低い場合に、前記対象とした制御装置のいずれかに異常があることを検知する異常検知ステップ、
     を含むことを特徴とする異常診断方法。
  8.  前記異常があることが検出された際、前記設定した情報組で対象とした制御装置のいずれかを対象とし、かつ前記設定した情報組とは異なる情報組を前記情報組設定ステップで追加設定させ、設定を変えた複数の情報組での異常の有無の組み合わせから、異常がある制御装置を特定する異常特定ステップを含むことを特徴とする請求項7に記載の異常診断方法。
  9.  前記元情報保管ステップでは、前記複数の制御装置それぞれを機能させるプログラム構成のすべてまたは一部が保管されており、
     前記異常があると特定された制御装置のプログラム構成のすべてまたは一部を前記元情報保管ステップで保管された内容に書き換える構成管理ステップを含むことを特徴とする請求項8に記載の異常診断方法。
PCT/JP2020/016141 2020-04-10 2020-04-10 車載制御システムおよび異常診断方法 WO2021205655A1 (ja)

Priority Applications (5)

Application Number Priority Date Filing Date Title
PCT/JP2020/016141 WO2021205655A1 (ja) 2020-04-10 2020-04-10 車載制御システムおよび異常診断方法
JP2022514286A JP7229426B2 (ja) 2020-04-10 2020-04-10 車載制御システムおよび異常診断方法
CN202080099304.1A CN115398432A (zh) 2020-04-10 2020-04-10 车载控制系统和异常诊断方法
DE112020007051.4T DE112020007051T5 (de) 2020-04-10 2020-04-10 Fahrzeuginternes Steuerungssystem und Anomaliediagnoseverfahren
US17/796,331 US20230069461A1 (en) 2020-04-10 2020-04-10 In-vehicle control system and abnormality diagnosis method

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/JP2020/016141 WO2021205655A1 (ja) 2020-04-10 2020-04-10 車載制御システムおよび異常診断方法

Publications (1)

Publication Number Publication Date
WO2021205655A1 true WO2021205655A1 (ja) 2021-10-14

Family

ID=78023278

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/JP2020/016141 WO2021205655A1 (ja) 2020-04-10 2020-04-10 車載制御システムおよび異常診断方法

Country Status (5)

Country Link
US (1) US20230069461A1 (ja)
JP (1) JP7229426B2 (ja)
CN (1) CN115398432A (ja)
DE (1) DE112020007051T5 (ja)
WO (1) WO2021205655A1 (ja)

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2008084120A (ja) * 2006-09-28 2008-04-10 Fujitsu Ten Ltd 電子制御装置
JP2019523484A (ja) * 2016-06-30 2019-08-22 オクト・テレマティクス・ソシエタ・ペル・アチオニOcto Telematics S.P.A. 車両においてセンサベースのデータおよび信号の処理のバランスを取るためのシステムおよび方法

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP6435925B2 (ja) 2015-03-04 2018-12-12 株式会社デンソー サービス提供システム、ecu、及び、外部装置

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2008084120A (ja) * 2006-09-28 2008-04-10 Fujitsu Ten Ltd 電子制御装置
JP2019523484A (ja) * 2016-06-30 2019-08-22 オクト・テレマティクス・ソシエタ・ペル・アチオニOcto Telematics S.P.A. 車両においてセンサベースのデータおよび信号の処理のバランスを取るためのシステムおよび方法

Also Published As

Publication number Publication date
DE112020007051T5 (de) 2023-03-09
JP7229426B2 (ja) 2023-02-27
CN115398432A (zh) 2022-11-25
US20230069461A1 (en) 2023-03-02
JPWO2021205655A1 (ja) 2021-10-14

Similar Documents

Publication Publication Date Title
CN108762783B (zh) 车辆系统的软件更新方法、装置及车辆系统
CN104572320B (zh) 用于确认校正程序的方法以及信息处理设备
US11204751B2 (en) Mitigating incompatibilities due to code updates in a system containing multiple networked electronic control units
JP6585019B2 (ja) ネットワーク監視装置、ネットワークシステムおよびプログラム
US7899558B2 (en) Updating and/or expanding the functionality of sequence control of at least one control unit
US10723361B2 (en) Monitoring apparatus, communication system, vehicle, monitoring method, and non-transitory storage medium
CN110582430B (zh) 车载认证系统、车辆通信装置、认证管理装置、车载认证方法以及计算机能读取的存储介质
JP2013060047A (ja) 車両用ネットワークシステム及び車両用情報処理方法
CN111415161A (zh) 基于区块链的数据验证方法、装置及计算机可读存储介质
CN111934861A (zh) 一种诊断刷写过程数据合法性验证方法及其系统
CN110989564B (zh) 一种汽车数据诊断方法及装置
CN113849212A (zh) 一种软件升级控制方法、装置及电子设备
CN116028092A (zh) 汽车ota升级任务熔断方法、装置、设备及存储介质
JP2021067960A (ja) 車両監視システム
US20220107929A1 (en) System and Method Implementing a Distributed Audit Trail
WO2021205655A1 (ja) 車載制御システムおよび異常診断方法
US20230336356A1 (en) Data storage device, data storage method, and non-transitory computer readable storage medium
JP7013921B2 (ja) 検証端末
JP6483461B2 (ja) 管理方法、管理プログラム、管理装置、管理システムおよび情報処理方法
CN116149706A (zh) 一种车辆设备升级方法、装置、车辆和可读存储介质
US11361600B2 (en) Method for authenticating a diagnostic trouble code generated by a motor vehicle system of a vehicle
US20100049373A1 (en) Method for modular software removal
JP2020096320A (ja) 不正信号処理装置
JP7176444B2 (ja) 車両電子制御装置、要求装置、及び故障検出システム
US20240053974A1 (en) Secure update and audit of electronic control units

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

Country of ref document: EP

Kind code of ref document: A1

ENP Entry into the national phase

Ref document number: 2022514286

Country of ref document: JP

Kind code of ref document: A

122 Ep: pct application non-entry in european phase

Ref document number: 20930178

Country of ref document: EP

Kind code of ref document: A1