WO2020110415A1 - 車両ログ送信装置、車両ログ解析サーバ、車両ログ解析システムおよび車両ログ送受信方法 - Google Patents

車両ログ送信装置、車両ログ解析サーバ、車両ログ解析システムおよび車両ログ送受信方法 Download PDF

Info

Publication number
WO2020110415A1
WO2020110415A1 PCT/JP2019/035423 JP2019035423W WO2020110415A1 WO 2020110415 A1 WO2020110415 A1 WO 2020110415A1 JP 2019035423 W JP2019035423 W JP 2019035423W WO 2020110415 A1 WO2020110415 A1 WO 2020110415A1
Authority
WO
WIPO (PCT)
Prior art keywords
log
vehicle
existing
divided
list
Prior art date
Application number
PCT/JP2019/035423
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 EP19891092.9A priority Critical patent/EP3889782A4/en
Priority to CN201980064391.4A priority patent/CN112789600A/zh
Priority to JP2020558112A priority patent/JP7269955B2/ja
Publication of WO2020110415A1 publication Critical patent/WO2020110415A1/ja
Priority to US17/222,473 priority patent/US11997119B2/en

Links

Images

Classifications

    • 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
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/30Monitoring
    • G06F11/3003Monitoring arrangements specially adapted to the computing system or computing system component being monitored
    • G06F11/3013Monitoring arrangements specially adapted to the computing system or computing system component being monitored where the computing system is an embedded system, i.e. a combination of hardware and software dedicated to perform a certain function in mobile devices, printers, automotive or aircraft systems
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/30Monitoring
    • G06F11/3065Monitoring arrangements determined by the means or processing involved in reporting the monitored data
    • G06F11/3072Monitoring arrangements determined by the means or processing involved in reporting the monitored data where the reporting involves data filtering, e.g. pattern matching, time or event triggered, adaptive or policy-based reporting
    • G06F11/3079Monitoring arrangements determined by the means or processing involved in reporting the monitored data where the reporting involves data filtering, e.g. pattern matching, time or event triggered, adaptive or policy-based reporting the data filtering being achieved by reporting only the changes of the monitored data
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F17/00Digital computing or data processing equipment or methods, specially adapted for specific functions
    • G06F17/40Data acquisition and logging
    • 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/55Detecting local intrusion or implementing counter-measures
    • G06F21/552Detecting local intrusion or implementing counter-measures involving long-term monitoring or reporting
    • GPHYSICS
    • G07CHECKING-DEVICES
    • G07CTIME OR ATTENDANCE REGISTERS; REGISTERING OR INDICATING THE WORKING OF MACHINES; GENERATING RANDOM NUMBERS; VOTING OR LOTTERY APPARATUS; ARRANGEMENTS, SYSTEMS OR APPARATUS FOR CHECKING NOT PROVIDED FOR ELSEWHERE
    • G07C5/00Registering or indicating the working of vehicles
    • G07C5/008Registering or indicating the working of vehicles communicating information to a remotely located station
    • GPHYSICS
    • G07CHECKING-DEVICES
    • G07CTIME OR ATTENDANCE REGISTERS; REGISTERING OR INDICATING THE WORKING OF MACHINES; GENERATING RANDOM NUMBERS; VOTING OR LOTTERY APPARATUS; ARRANGEMENTS, SYSTEMS OR APPARATUS FOR CHECKING NOT PROVIDED FOR ELSEWHERE
    • G07C5/00Registering or indicating the working of vehicles
    • G07C5/08Registering or indicating performance data other than driving, working, idle, or waiting time, with or without registering driving, working, idle or waiting time
    • G07C5/0808Diagnosing performance data
    • GPHYSICS
    • G07CHECKING-DEVICES
    • G07CTIME OR ATTENDANCE REGISTERS; REGISTERING OR INDICATING THE WORKING OF MACHINES; GENERATING RANDOM NUMBERS; VOTING OR LOTTERY APPARATUS; ARRANGEMENTS, SYSTEMS OR APPARATUS FOR CHECKING NOT PROVIDED FOR ELSEWHERE
    • G07C5/00Registering or indicating the working of vehicles
    • G07C5/08Registering or indicating performance data other than driving, working, idle, or waiting time, with or without registering driving, working, idle or waiting time
    • G07C5/0816Indicating performance data, e.g. occurrence of a malfunction
    • GPHYSICS
    • G07CHECKING-DEVICES
    • G07CTIME OR ATTENDANCE REGISTERS; REGISTERING OR INDICATING THE WORKING OF MACHINES; GENERATING RANDOM NUMBERS; VOTING OR LOTTERY APPARATUS; ARRANGEMENTS, SYSTEMS OR APPARATUS FOR CHECKING NOT PROVIDED FOR ELSEWHERE
    • G07C5/00Registering or indicating the working of vehicles
    • G07C5/08Registering or indicating performance data other than driving, working, idle, or waiting time, with or without registering driving, working, idle or waiting time
    • G07C5/0841Registering performance data
    • G07C5/085Registering performance data using electronic data carriers
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L12/00Data switching networks
    • H04L12/28Data switching networks characterised by path configuration, e.g. LAN [Local Area Networks] or WAN [Wide Area Networks]
    • H04L12/40Bus networks
    • H04L12/40169Flexible bus arrangements
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/14Network architectures or network communication protocols for network security for detecting or protecting against malicious traffic
    • H04L63/1408Network architectures or network communication protocols for network security for detecting or protecting against malicious traffic by monitoring network traffic
    • H04L63/1425Traffic logging, e.g. anomaly detection
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W12/00Security arrangements; Authentication; Protecting privacy or anonymity
    • H04W12/12Detection or prevention of fraud
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W4/00Services specially adapted for wireless communication networks; Facilities therefor
    • H04W4/30Services specially adapted for particular environments, situations or purposes
    • H04W4/40Services specially adapted for particular environments, situations or purposes for vehicles, e.g. vehicle-to-pedestrians [V2P]
    • H04W4/44Services specially adapted for particular environments, situations or purposes for vehicles, e.g. vehicle-to-pedestrians [V2P] for communication between vehicles and infrastructures, e.g. vehicle-to-cloud [V2C] or vehicle-to-home [V2H]
    • 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/03Electric 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 supply of electrical power to vehicle subsystems or for
    • B60R16/0315Electric 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 supply of electrical power to vehicle subsystems or for using multiplexing techniques
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B60VEHICLES IN GENERAL
    • B60RVEHICLES, VEHICLE FITTINGS, OR VEHICLE PARTS, NOT OTHERWISE PROVIDED FOR
    • B60R25/00Fittings or systems for preventing or indicating unauthorised use or theft of vehicles
    • B60R25/20Means to switch the anti-theft system on or off
    • B60R25/24Means to switch the anti-theft system on or off using electronic identifiers containing a code not memorised by the user
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2201/00Indexing scheme relating to error detection, to error correction, and to monitoring
    • G06F2201/83Indexing scheme relating to error detection, to error correction, and to monitoring the solution involving signatures
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L12/00Data switching networks
    • H04L12/28Data switching networks characterised by path configuration, e.g. LAN [Local Area Networks] or WAN [Wide Area Networks]
    • H04L12/40Bus networks
    • H04L2012/40208Bus networks characterized by the use of a particular bus standard
    • H04L2012/40215Controller Area Network CAN
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L12/00Data switching networks
    • H04L12/28Data switching networks characterised by path configuration, e.g. LAN [Local Area Networks] or WAN [Wide Area Networks]
    • H04L12/40Bus networks
    • H04L2012/40267Bus for use in transportation systems
    • H04L2012/40273Bus for use in transportation systems the transportation system being a vehicle

Definitions

  • the present disclosure relates to a vehicle log transmission device, a vehicle log analysis server, a vehicle log analysis system, and a vehicle log transmission/reception method.
  • ECU Electronic Control Unit
  • a network connecting these ECUs is called an in-vehicle network.
  • in-vehicle networks There are many standards for in-vehicle networks. Among them, one of the most mainstream in-vehicle networks is a standard called CAN (Controller Area Network) defined by ISO11898-1.
  • the communication path is composed of two buses, and the ECU connected to the buses is called a node.
  • Each node connected to the bus sends and receives a message called a frame.
  • the transmitting node attaches an ID called a message ID to each frame, and each receiving node only transmits a frame with a predetermined message ID. To receive.
  • Patent Document 1 As a method for detecting intrusion of illegal data, that is, an abnormal control command in an in-vehicle network or the like against this threat, there is a method disclosed in Patent Document 1, for example.
  • Patent Document 2 discloses a method of reducing the amount of communication data by transmitting the divided data to the server when the data does not match.
  • the in-vehicle network log includes data that fluctuates depending on the running condition of the vehicle and time data
  • the divided data of the log that is currently obtained is obtained in the past. It is unlikely that the data will match the log division data stored on the server. Therefore, most of the divided data needs to be transmitted to the server, and it is difficult to significantly reduce the amount of communication data as compared with the case where the log is transmitted without being divided.
  • the present disclosure provides a vehicle log transmission device and the like that can effectively reduce the communication data amount of the vehicle log transmitted from the vehicle to the server outside the vehicle.
  • the vehicle log transmission device of the present disclosure is a vehicle log transmission device that transmits a vehicle log including a plurality of data, each of which is associated with an ID indicating the type of data, to a vehicle log analysis server.
  • a vehicle log acquisition unit that acquires the vehicle log
  • a vehicle log division processing unit that generates one or more divided logs by dividing the acquired vehicle log using an ID included in the vehicle log.
  • An existing identifier storage unit that stores an existing identifier list that is a list of identifiers, and an identifier is generated for each of the one or more divided logs, and the generated identifiers correspond to the identifiers existing in the existing identifier list.
  • a vehicle log transmission necessity determination unit that determines the divided log as the first divided log and determines that the divided log corresponding to an identifier that does not exist in the existing identifier list as the second divided log, and the first divided log.
  • a vehicle-side communication unit that transmits a corresponding identifier to the vehicle log analysis server and transmits the second divided log to the vehicle log analysis server.
  • a recording medium such as a system, a method, an integrated circuit, a computer program or a computer-readable CD-ROM, and the system, the method, the integrated circuit, the computer program. It may be realized by any combination of the recording medium and the recording medium.
  • the vehicle log transmission device and the like can effectively reduce the communication data amount of the vehicle log transmitted between the vehicle and a server outside the vehicle.
  • the vehicle log can be transmitted to an external server without preparing a resource capable of communicating a large amount of vehicle logs, and unauthorized external data intrusion into the vehicle network can be performed using the vehicle external server. It can be detected and can contribute to the safety of the vehicle.
  • FIG. 1 is an overall configuration diagram of a vehicle log analysis system according to the first embodiment of the present disclosure.
  • FIG. 2 is a configuration diagram of the vehicle log transmission device according to the first embodiment of the present disclosure.
  • FIG. 3 is a configuration diagram of the vehicle log analysis server according to the first embodiment of the present disclosure.
  • FIG. 4 is a diagram showing an example of a vehicle log according to the first embodiment of the present disclosure.
  • FIG. 5 is a diagram showing an example of a vehicle log definition table according to Embodiment 1 of the present disclosure.
  • FIG. 6 is a diagram illustrating an example of the vehicle log division processing rule according to the first embodiment of the present disclosure.
  • FIG. 7 is a diagram illustrating an example of the division processing log according to the first embodiment of the present disclosure.
  • FIG. 1 is an overall configuration diagram of a vehicle log analysis system according to the first embodiment of the present disclosure.
  • FIG. 2 is a configuration diagram of the vehicle log transmission device according to the first embodiment of the present disclosure.
  • FIG. 3 is a
  • FIG. 8 is a diagram showing an example of an identifier of a division processing log according to the first embodiment of the present disclosure.
  • FIG. 9 is a diagram showing an example of an existing identifier list according to Embodiment 1 of the present disclosure.
  • FIG. 10 is a diagram showing an example of an existing divided log list according to Embodiment 1 of the present disclosure.
  • FIG. 11 is a diagram showing a sequence of vehicle log transmission processing according to the first embodiment of the present disclosure.
  • FIG. 12 is a diagram showing a sequence of vehicle log reception processing in the first embodiment of the present disclosure.
  • FIG. 13 is a diagram illustrating a sequence of abnormality log detection processing according to the first embodiment of the present disclosure.
  • FIG. 14 is a flowchart of vehicle log division processing processing according to Embodiment 1 of the present disclosure.
  • FIG. 15 is a flowchart of a division processing log transmission process according to the first embodiment of the present disclosure.
  • FIG. 16 is a flowchart of vehicle log restoration processing according to Em
  • An in-vehicle log transmission device is a vehicle log transmission device that transmits a vehicle log including a plurality of data pieces each associated with an ID indicating a data type to a vehicle log analysis server, and acquires the vehicle log.
  • a vehicle log acquisition unit a vehicle log division processing unit that generates one or more divided logs by dividing the acquired vehicle log using an ID included in the vehicle log, and the vehicle log transmission device.
  • An existing identifier that is a list of identifiers corresponding to the existing divided log generated by dividing the existing vehicle log shared with the vehicle log analysis server using the ID included in the existing vehicle log.
  • An existing identifier storage unit that stores a list, and an identifier is generated for each of the one or more divided logs, and the divided log corresponding to the identifier existing in the existing identifier list among the generated identifiers is first divided.
  • a vehicle log transmission necessity determination unit that determines a log and determines a divided log corresponding to an identifier not existing in the existing identifier list as a second divided log, and an identifier corresponding to the first divided log as the vehicle log.
  • a vehicle-side communication unit that transmits to the analysis server and transmits the second divided log to the vehicle log analysis server.
  • the vehicle log when the ID is associated with the data such as the operation result of the specific system or the transmission result of the specific message, the vehicle log is divided using the ID so that the type of the data can be changed.
  • the vehicle log can be divided, and the probability that the divided log and the existing divided log match will be higher than when the vehicle log is simply divided according to the data size regardless of the type of data. Therefore, there are many identifiers corresponding to the first divided log that match the identifiers corresponding to the existing divided logs, the second divided log is difficult to be transmitted, the data size is small, and the identifier corresponding to the first divided log is Easier to send. Therefore, the communication data amount of the vehicle log transmitted from the vehicle to the server outside the vehicle (vehicle log analysis server) can be effectively reduced.
  • the vehicle log division processing unit generates the one or more division logs by dividing the acquired vehicle log for each ID included in the vehicle log
  • the existing identifier storage unit uses the existing identifier storage unit.
  • the existing identifier list which is a list corresponding to the existing divided log generated by dividing the vehicle log by the ID included in the existing vehicle log, may be stored.
  • the vehicle log can be divided for each type of data, and the probability that the divided log and the existing divided log match will be even higher. Therefore, the number of identifiers corresponding to the first divided log that matches the identifier corresponding to the existing divided log is further increased, the second divided log is difficult to be transmitted, and the identifier corresponding to the first divided log is easily transmitted. .. Therefore, the communication data amount of the vehicle log transmitted from the vehicle to the server outside the vehicle can be more effectively reduced.
  • the vehicle log includes the plurality of data arranged such that a plurality of IDs having a predetermined ID as a starting point is set as one cycle and the plurality of IDs are cyclically repeated, and the vehicle log division processing unit , The one or more divided logs are generated by dividing the acquired vehicle log for each of a plurality of IDs having the predetermined ID included in the vehicle log as a starting point, and the existing identifier storage unit is configured to store the one or more divided logs.
  • the existing identifier list which is a list of identifiers corresponding to the existing divided log generated by dividing the existing vehicle log into a plurality of IDs starting from the predetermined ID included in the existing vehicle log, You may memorize it.
  • the data such as the operation result of the specific system for each ID or the transmission result of the specific message for each ID has a plurality of IDs starting from the predetermined ID as one cycle.
  • the ID is likely to be the same. Therefore, the probability that the split log and the existing split log match will be even higher, the number of identifiers corresponding to the first split log that matches the identifier corresponding to the existing split log will increase, and the second split log will be sent. It is difficult and the identifier corresponding to the first division log is easily transmitted. Therefore, the communication data amount of the vehicle log transmitted from the vehicle to the server outside the vehicle can be more effectively reduced.
  • the vehicle log includes the plurality of pieces of data in which time information is associated with each other, and the vehicle log division processing unit further replaces the time information included in the one or more division logs with time index information.
  • the existing identifier storage unit further stores the existing identifier list, which is a list of identifiers corresponding to the existing divided log in which the time information is replaced with the time index information, and the vehicle-side communication unit May further transmit a time list indicating the correspondence between the time information and the time index information to the vehicle log analysis server.
  • the time information is information that will surely be different between the split log and the existing split log, and is a factor that prevents the split log and the existing split log from matching.
  • the time information can be excluded from the matching judgment between the split log and the existing split log.
  • the probability of matching with the log is even higher. Therefore, the number of identifiers corresponding to the first divided log that matches the identifier corresponding to the existing divided log is further increased, the second divided log is difficult to be transmitted, and the identifier corresponding to the first divided log is easily transmitted. .. Therefore, the communication data amount of the vehicle log transmitted from the vehicle to the server outside the vehicle can be more effectively reduced.
  • the vehicle log division processing unit further executes a process of rearranging the one or more division logs according to the size of the value of the ID or the value of the data included in the one or more division logs
  • the identifier storage unit may further store the existing identifier list, which is a list of identifiers corresponding to the existing divided logs sorted according to the value of the ID or the size of the value of the data.
  • the split log and the existing split log contain variable value data
  • the split log and the existing split log are sorted in the descending order of the value of the variable value data and in the ascending order, so that the split log and the existing split log are The probability of matching increases. Therefore, the number of identifiers corresponding to the first divided log that matches the identifier corresponding to the existing divided log is further increased, the second divided log is difficult to be transmitted, and the identifier corresponding to the first divided log is easily transmitted. .. Therefore, the communication data amount of the vehicle log transmitted from the vehicle to the server outside the vehicle can be more effectively reduced.
  • the vehicle log division processing unit further performs a replacement process of replacing a value of data included in the one or more division logs with a predetermined value or a fraction process of rounding the value of the data
  • the existing identifier storage unit May further store the existing identifier list, which is a list of identifiers corresponding to the existing divided logs on which the replacement process or the fraction process has been performed.
  • data that is not related to vehicle control such as data that changes according to the operating time or the number of operations of specific vehicle functions such as counters and checksums, or small values such as sensors can be stored in the split log and existing data. Since it can be excluded from the matching determination with the divided log, the probability that the divided log and the existing divided log match will be further increased. Therefore, the number of identifiers corresponding to the first divided log that matches the identifier corresponding to the existing divided log is further increased, the second divided log is difficult to be transmitted, and the identifier corresponding to the first divided log is easily transmitted. .. Therefore, the communication data amount of the vehicle log transmitted from the vehicle to the server outside the vehicle can be more effectively reduced.
  • the vehicle log transmission device further includes an existing identifier registration unit that registers an identifier corresponding to the divided log determined by the vehicle log transmission necessity determination unit as the second divided log in the existing identifier list. Good.
  • the development cost can be reduced.
  • the number of types of the existing divided logs increases, and the probability that the divided logs match the existing divided logs increases. Therefore, the number of identifiers corresponding to the first divided log that matches the identifier corresponding to the existing divided log is further increased, the second divided log is difficult to be transmitted, and the identifier corresponding to the first divided log is easily transmitted. .. Therefore, the communication data amount of the vehicle log transmitted from the vehicle to the server outside the vehicle can be more effectively reduced.
  • the vehicle log analysis server is a vehicle log analysis server that receives a vehicle log including a plurality of pieces of data associated with IDs indicating the types of data, from a vehicle log transmission device.
  • An existing split log storage unit that stores an existing split log list that is a list of an existing split log generated by splitting using an ID included in the existing vehicle log and an identifier corresponding to the existing split log.
  • the existing divided log corresponding to the identifier is acquired in the existing divided log list by referring to the existing divided log list, and the second divided log is A vehicle log restoration unit that restores the vehicle log by combining the existing divided logs, and a vehicle log storage unit that stores the restored vehicle log.
  • the vehicle log when the ID is associated with the data such as the operation result of the specific system or the transmission result of the specific message, the vehicle log is divided using the ID so that the type of the data can be changed.
  • the vehicle log can be divided, and the probability that the divided log and the existing divided log match will be higher than when the vehicle log is simply divided according to the data size regardless of the type of data. Therefore, there are many identifiers corresponding to the first divided log that match the identifiers corresponding to the existing divided logs, the second divided log is difficult to be transmitted, the data size is small, and the identifier corresponding to the first divided log is Easier to send. Therefore, the communication data amount of the vehicle log transmitted from the vehicle to the server outside the vehicle can be effectively reduced.
  • the server-side communication unit is configured to divide the vehicle log from the vehicle log transmission device for each ID included in the vehicle log, and to generate the first division among the one or more division logs.
  • An identifier corresponding to a log and the second divided log of the one or more divided logs are received, and the existing divided log storage unit includes the ID of the existing vehicle log included in the existing vehicle log.
  • the existing divided log list which is a list of the existing divided log generated by dividing the existing divided log and the identifier corresponding to the existing divided log, may be stored.
  • the vehicle log can be divided for each type of data, and the probability that the divided log and the existing divided log match will be even higher. Therefore, the number of identifiers corresponding to the first divided log that matches the identifier corresponding to the existing divided log is further increased, the second divided log is difficult to be transmitted, and the identifier corresponding to the first divided log is easily transmitted. .. Therefore, the communication data amount of the vehicle log transmitted from the vehicle to the server outside the vehicle can be more effectively reduced.
  • the vehicle log includes the plurality of data arranged such that the plurality of IDs having a predetermined ID as a starting point is set as one cycle and the plurality of IDs are periodically repeated
  • the server-side communication unit includes: The first of the one or more divided logs generated by dividing the vehicle log from the vehicle log transmission device into a plurality of IDs starting from the predetermined ID included in the vehicle log. An identifier corresponding to a split log and the second split log of the one or more split logs are received, and the existing split log storage unit includes the existing vehicle log in the existing vehicle log.
  • the existing divided log list may be stored, which is a list of the existing divided log generated by dividing the plurality of IDs having the predetermined ID as a starting point and an identifier corresponding to the existing divided log. ..
  • the data such as the operation result of the specific system for each ID or the transmission result of the specific message for each ID has a plurality of IDs starting from the predetermined ID as one cycle.
  • the ID of one period included in the divided log and the one period included in the existing divided log are divided. It has the same ID. Therefore, the probability that the split log and the existing split log match will be even higher, the number of identifiers corresponding to the first split log that matches the identifier corresponding to the existing split log will increase, and the second split log will be sent. It is difficult and the identifier corresponding to the first division log is easily transmitted. Therefore, the communication data amount of the vehicle log transmitted from the vehicle to the server outside the vehicle can be more effectively reduced.
  • the vehicle log analysis server further monitors the restored vehicle log, and detects an abnormality log when the vehicle log includes a trace of an attack, and an abnormality log detection unit that notifies the vehicle to a predetermined notification destination. And an abnormality notification unit that notifies that the is abnormal.
  • the abnormality log detection unit is a list of identifiers corresponding to the abnormality division logs generated by dividing the vehicle log determined to be abnormal in the past using the ID included in the vehicle log.
  • the server side communication unit holds an identifier list and receives an identifier corresponding to the first divided log
  • the server side communication unit detects an abnormality when the identifier is included in the abnormal identifier list
  • the server side communication unit detects an abnormality when the identifier is included in the abnormal identifier list
  • the server side communication unit detects an abnormality when the identifier is included in the abnormal identifier list
  • the server side communication unit detects an abnormality when the identifier is included in the abnormal identifier list, and the server side communication unit
  • the second divided log contains an evidence of an attack when the second divided log is received
  • the second divided log is detected as an abnormal log, and the abnormal log is included in the abnormal log.
  • the abnormal division log generated by dividing using the ID may be registered in the abnormality identifier list.
  • the vehicle log includes the plurality of pieces of data in which time information is associated with each other
  • the server-side communication unit is the one or more in which the time information is replaced with time index information from the vehicle log transmission device.
  • the existing divided log storage unit further stores the existing divided log list, which is a list of the existing divided log in which the time information is replaced with the time index information and an identifier corresponding to the existing divided log.
  • the vehicle log restoration unit refers to the existing divided log list when the identifier corresponding to the first divided log is received, and acquires the existing divided log corresponding to the identifier in the existing divided log list.
  • the time index information included in the existing divided log may be replaced with the time information by referring to the time list, and the vehicle log may be restored by combining the second divided log and the existing divided log. ..
  • the time information is information that will surely be different between the split log and the existing split log, and is a factor that prevents the split log and the existing split log from matching.
  • the time information can be excluded from the matching judgment between the split log and the existing split log.
  • the probability of matching with the log is even higher. Therefore, the number of identifiers corresponding to the first divided log that matches the identifier corresponding to the existing divided log is further increased, the second divided log is difficult to be transmitted, and the identifier corresponding to the first divided log is easily transmitted. .. Therefore, the communication data amount of the vehicle log transmitted from the vehicle to the server outside the vehicle can be more effectively reduced.
  • the server-side communication unit has an identifier corresponding to the first divided log among the one or more divided logs rearranged according to the value of the ID or the value of the data, and the one or more.
  • the existing divided log storage unit receives the second divided log among the divided logs, the existing divided log storage unit, further, the existing divided log sorted according to the value of the ID or the size of the value of the data,
  • the existing divided log list which is a list with the identifier corresponding to the existing divided log, is stored, and the vehicle log restoration unit sets the existing divided log list when the identifier corresponding to the first divided log is received.
  • the existing split log list obtain the existing split log corresponding to the identifier, refer to the time list to replace the time index information of the existing split log with time information, and replace the time information.
  • the existing divided logs may be rearranged in ascending order of time with reference to, and the vehicle log may be restored by combining the second divided log and the existing divided log.
  • the split log and the existing split log contain variable value data
  • the split log and the existing split log are sorted in the descending order of the value of the variable value data and in the ascending order, so that the split log and the existing split log are separated.
  • the probability of matching increases. Therefore, the number of identifiers corresponding to the first divided log that matches the identifier corresponding to the existing divided log is further increased, the second divided log is difficult to be transmitted, and the identifier corresponding to the first divided log is easily transmitted. .. Therefore, the communication data amount of the vehicle log transmitted from the vehicle to the server outside the vehicle can be more effectively reduced.
  • the server-side communication unit corresponds to the first divided log of the one or more divided logs for which a replacement process of replacing a data value with a predetermined value or a fractional process of rounding the data value is performed.
  • the existing divided log storage unit receives the identifier and the second divided log of the one or more divided logs, the existing divided log storage unit, further, the existing divided log for which the replacement process or the fractional process has been performed.
  • the existing divided log list which is a list of identifiers corresponding to the existing divided logs, may be stored.
  • data that is not related to vehicle control such as data that changes according to the operating time or the number of operations of specific vehicle functions such as counters and checksums, or small values such as sensors can be stored in the split log and existing data. Since it can be excluded from the matching determination with the divided log, the probability that the divided log and the existing divided log match will be further increased. Therefore, the number of identifiers corresponding to the first divided log that matches the identifier corresponding to the existing divided log is further increased, the second divided log is difficult to be transmitted, and the identifier corresponding to the first divided log is easily transmitted. .. Therefore, the communication data amount of the vehicle log transmitted from the vehicle to the server outside the vehicle can be more effectively reduced.
  • the vehicle log analysis server further generates an identifier corresponding to the second divided log when the second divided log is received, and the second divided log and the identifier are the existing ones.
  • An existing split log registration unit that registers in the split log list may be provided.
  • the development cost can be reduced.
  • the number of types of the existing divided logs increases, and the probability that the divided logs match the existing divided logs increases. Therefore, the number of identifiers corresponding to the first divided log that matches the identifier corresponding to the existing divided log is further increased, the second divided log is difficult to be transmitted, and the identifier corresponding to the first divided log is easily transmitted. .. Therefore, the communication data amount of the vehicle log transmitted from the vehicle to the server outside the vehicle can be more effectively reduced.
  • the vehicle log analysis system includes a vehicle log transmission device and a vehicle log analysis server, and outputs a vehicle log including a plurality of pieces of data, each of which is associated with an ID indicating a type of data, from the vehicle log transmission device.
  • a vehicle log analysis system for transmitting to a vehicle log analysis server, wherein the vehicle log transmission device uses a vehicle log acquisition unit that acquires the vehicle log, and the acquired vehicle log using an ID included in the vehicle log.
  • An existing identifier storage unit that stores an existing identifier list that is a list of identifiers corresponding to existing divided logs generated by dividing using the included IDs, and an identifier is generated for each of the one or more divided logs. Then, among the generated identifiers, the divided log corresponding to the identifier existing in the existing identifier list is determined as the first divided log, and the divided log corresponding to the identifier not existing in the existing identifier list is the second divided log.
  • a vehicle-side communication that transmits a vehicle log transmission necessity determination unit that determines that the first divided log is transmitted to the vehicle log analysis server, and transmits the second divided log to the vehicle log analysis server.
  • a server-side communication unit that receives the identifier corresponding to the first divided log transmitted from the vehicle-side communication unit and the second divided log,
  • An existing divided log storage unit that stores an existing divided log list that is a list of existing divided logs and an identifier corresponding to the existing divided log, and the existing divided log when an identifier corresponding to the first divided log is received.
  • a vehicle log restoration unit that refers to a log list to obtain an existing split log corresponding to the identifier in the existing split log list, and restores a vehicle log by combining the second split log and the existing split log.
  • a vehicle log storage unit that stores the restored vehicle log.
  • the vehicle log when the ID is associated with the data such as the operation result of the specific system or the transmission result of the specific message, the vehicle log is divided using the ID so that the type of the data can be changed.
  • the vehicle log can be divided, and the probability that the divided log and the existing divided log match will be higher than when the vehicle log is simply divided according to the data size regardless of the type of data. Therefore, there are many identifiers corresponding to the first divided log that match the identifiers corresponding to the existing divided logs, the second divided log is difficult to be transmitted, the data size is small, and the identifier corresponding to the first divided log is Easier to send. Therefore, the communication data amount of the vehicle log transmitted from the vehicle to the server outside the vehicle can be effectively reduced.
  • the vehicle log division processing unit generates the one or more division logs by dividing the acquired vehicle log for each ID included in the vehicle log
  • the existing identifier storage unit uses the existing identifier storage unit.
  • Stores the existing identifier list which is a list corresponding to the existing divided log generated by dividing the vehicle log of each of the vehicle logs by the ID included in the existing vehicle log
  • the server-side communication unit includes the vehicle side.
  • the identifier corresponding to the first divided log of the one or more divided logs and the second divided log of the one or more divided logs transmitted from the communication unit are received, and the existing The division log storage unit is a list of the existing division log generated by dividing the existing vehicle log for each ID included in the existing vehicle log, and the identifier corresponding to the existing division log.
  • the existing split log list may be stored.
  • the vehicle log can be divided for each type of data, and the probability that the divided log and the existing divided log match will be even higher. Therefore, the number of identifiers corresponding to the first divided log that matches the identifier corresponding to the existing divided log is further increased, the second divided log is difficult to be transmitted, and the identifier corresponding to the first divided log is easily transmitted. .. Therefore, the communication data amount of the vehicle log transmitted from the vehicle to the server outside the vehicle can be more effectively reduced.
  • the vehicle log includes the plurality of data arranged such that a plurality of IDs having a predetermined ID as a starting point is set as one cycle and the plurality of IDs are cyclically repeated, and the vehicle log division processing unit , The one or more divided logs are generated by dividing the acquired vehicle log for each of a plurality of IDs having the predetermined ID included in the vehicle log as a starting point, and the existing identifier storage unit is configured to store the one or more divided logs.
  • the existing identifier list which is a list of identifiers corresponding to the existing divided log generated by dividing the existing vehicle log into a plurality of IDs starting from the predetermined ID included in the existing vehicle log
  • the server-side communication unit stores the identifier corresponding to the first divided log among the one or more divided logs transmitted from the vehicle-side communication unit and the one or more divided logs.
  • the second division log is received, and the existing identifier storage unit is configured to divide the existing vehicle log for each ID included in the existing vehicle log, the existing division log, and the existing division log.
  • the existing divided log list which is a list of identifiers corresponding to divided logs, may be stored.
  • the data such as the operation result of the specific system for each ID or the transmission result of the specific message for each ID has a plurality of IDs starting from the predetermined ID as one cycle.
  • the ID of one period included in the divided log and the one period included in the existing divided log are divided. It has the same ID. Therefore, the probability that the split log and the existing split log match will be even higher, the number of identifiers corresponding to the first split log that matches the identifier corresponding to the existing split log will increase, and the second split log will be sent. It is difficult and the identifier corresponding to the first division log is easily transmitted. Therefore, the communication data amount of the vehicle log transmitted from the vehicle to the server outside the vehicle can be more effectively reduced.
  • the vehicle log includes the plurality of pieces of data in which time information is associated with each other, and the vehicle log division processing unit further replaces the time information included in the one or more division logs with time index information.
  • the existing identifier storage unit further stores the existing identifier list, which is a list of identifiers corresponding to the existing divided log in which time information is replaced with time index information, and the vehicle-side communication unit Further transmits a time list indicating the correspondence between time information and time index information to the vehicle log analysis server, and the server-side communication unit further receives the time list from the vehicle-side communication unit.
  • the existing divided log storage unit further stores the existing divided log list, which is a list of the existing divided log in which the time information is replaced with the time index information, and an identifier corresponding to the existing divided log
  • the vehicle log restoration unit refers to the existing divided log list when the identifier corresponding to the first divided log is received to acquire the existing divided log corresponding to the identifier in the existing divided log list
  • the time index information included in the existing divided log may be replaced with the time information by referring to the time list, and the vehicle log may be restored by combining the second divided log and the existing divided log.
  • the time information is information that will surely be different between the split log and the existing split log, and is a factor that prevents the split log and the existing split log from matching.
  • the time information can be excluded from the matching judgment between the split log and the existing split log.
  • the probability of matching with the log is even higher. Therefore, the number of identifiers corresponding to the first divided log that matches the identifier corresponding to the existing divided log is further increased, the second divided log is difficult to be transmitted, and the identifier corresponding to the first divided log is easily transmitted. .. Therefore, the communication data amount of the vehicle log transmitted from the vehicle to the server outside the vehicle can be more effectively reduced.
  • the vehicle log division processing unit further executes a process of rearranging the one or more division logs according to the size of the value of the ID or the value of the data included in the one or more division logs
  • the identifier storage unit further stores the existing identifier list, which is a list of identifiers corresponding to the existing divided logs sorted according to the value of the ID or the size of the value of the data, and the server-side communication unit , An identifier corresponding to the first divided log of the one or more divided logs sorted according to the value of the ID or the value of the data, and the identifier of the first divided log of the one or more divided logs.
  • the second split log is received, and the existing split log storage unit further stores the existing split log sorted according to the value of the ID or the size of the value of the data, and an identifier corresponding to the existing split log.
  • the vehicle log restoring unit refers to the existing split log list when the identifier corresponding to the first split log is received. Acquiring the existing split log corresponding to the identifier, referring to the time list, replacing the time index information of the existing split log with time information, and referring to the replaced time information, the existing split log May be rearranged in ascending order of time, and the vehicle log may be restored by combining the second divided log and the existing divided log.
  • the split log and the existing split log contain variable value data
  • the split log and the existing split log are sorted in the descending order of the value of the variable value data and in the ascending order, so that the split log and the existing split log are The probability of matching increases. Therefore, the number of identifiers corresponding to the first divided log that matches the identifier corresponding to the existing divided log is further increased, the second divided log is difficult to be transmitted, and the identifier corresponding to the first divided log is easily transmitted. .. Therefore, the communication data amount of the vehicle log transmitted from the vehicle to the server outside the vehicle can be more effectively reduced.
  • the vehicle log division processing unit further performs a replacement process of replacing a value of data included in the one or more division logs with a predetermined value or a fraction process of rounding the value of the data, and the existing identifier storage unit. Further stores the existing identifier list, which is a list of identifiers corresponding to the existing divided logs on which the replacement process or the fractional process has been performed, and the server-side communication unit determines whether the replacement process or the fractional process is performed. An identifier corresponding to the first divided log of the executed one or more divided logs and the second divided log of the one or more divided logs are received, and the existing divided log storage unit is received. May further store an existing divided log list that is a list of the existing divided logs that have been subjected to the replacement process or the fractional process and the identifiers corresponding to the existing divided logs.
  • data that is not related to vehicle control such as data that changes according to the operating time or the number of operations of specific vehicle functions such as counters and checksums, or small values such as sensors can be stored in the split log and existing data. Since it can be excluded from the matching determination with the divided log, the probability that the divided log and the existing divided log match will be further increased. Therefore, the number of identifiers corresponding to the first divided log that matches the identifier corresponding to the existing divided log is further increased, the second divided log is difficult to be transmitted, and the identifier corresponding to the first divided log is easily transmitted. .. Therefore, the communication data amount of the vehicle log transmitted from the vehicle to the server outside the vehicle can be more effectively reduced.
  • the vehicle log analysis server further monitors the restored vehicle log, and detects an abnormality log when the vehicle log includes a trace of an attack, and an abnormality log detection unit that notifies the vehicle to a predetermined notification destination. And an abnormality notification unit that notifies that the is abnormal.
  • the abnormality log detection unit is a list of identifiers corresponding to the abnormality division logs generated by dividing the vehicle log determined to be abnormal in the past using the ID included in the vehicle log.
  • the server side communication unit holds an identifier list and receives an identifier corresponding to the first divided log
  • the server side communication unit detects an abnormality when the identifier is included in the abnormal identifier list
  • the server side communication unit detects an abnormality when the identifier is included in the abnormal identifier list
  • the server side communication unit detects an abnormality when the identifier is included in the abnormal identifier list
  • the server side communication unit detects an abnormality when the identifier is included in the abnormal identifier list, and the server side communication unit
  • the second divided log contains an evidence of an attack when the second divided log is received
  • the second divided log is detected as an abnormal log, and the abnormal log is included in the abnormal log.
  • the abnormal division log generated by dividing using the ID may be registered in the abnormality identifier list.
  • the vehicle log transmission device further includes an existing identifier registration unit that registers an identifier corresponding to the divided log determined by the vehicle log transmission necessity determination unit as the second divided log in the existing identifier list,
  • the vehicle log analysis server further generates an identifier corresponding to the second divided log when the second divided log is received, and sets the second divided log and the identifier to the existing divided log.
  • An existing division log registration unit that registers in the list may be provided.
  • the development cost can be reduced.
  • the number of types of the existing divided logs increases, and the probability that the divided logs match the existing divided logs increases. Therefore, the number of identifiers corresponding to the first divided log that matches the identifier corresponding to the existing divided log is further increased, the second divided log is difficult to be transmitted, and the identifier corresponding to the first divided log is easily transmitted. .. Therefore, the communication data amount of the vehicle log transmitted from the vehicle to the server outside the vehicle can be more effectively reduced.
  • the vehicle log acquisition unit may include a vehicle-mounted network log that complies with a CAN or CAN-FD protocol that includes a frame ID as an ID of the vehicle log, and a vehicle-mounted network that complies with a FlexRay (registered trademark) protocol that includes a slot ID as an ID of the vehicle log.
  • a vehicle-mounted network log that complies with a CAN or CAN-FD protocol that includes a frame ID as an ID of the vehicle log
  • a vehicle-mounted network that complies with a FlexRay (registered trademark) protocol that includes a slot ID as an ID of the vehicle log.
  • the format of the vehicle log will be unified and the probability that the split log and the existing split log will match will be high. Therefore, the number of identifiers corresponding to the first divided log that matches the identifier corresponding to the existing divided log is further increased, the second divided log is difficult to be transmitted, and the identifier corresponding to the first divided log is easily transmitted. .. Therefore, the communication data amount of the vehicle log transmitted from the vehicle to the server outside the vehicle can be more effectively reduced.
  • the vehicle log transmission/reception method of the present disclosure includes a vehicle log transmission method by the vehicle log transmission device and a vehicle log reception method by the vehicle log analysis server, and a plurality of IDs indicating data types are associated with each other.
  • An existing identifier storage unit that stores an existing identifier list, which is a list of identifiers corresponding to the existing divided log generated by dividing the shared existing vehicle log by using the ID included in the existing vehicle log, is provided.
  • the vehicle log analysis server includes an existing divided log storage unit that stores an existing divided log list that is a list of the existing divided log and an identifier corresponding to the existing divided log
  • the vehicle log transmission method includes: A vehicle log acquisition step of acquiring a vehicle log; a vehicle log division processing step of generating one or more divided logs by dividing the acquired vehicle log using an ID included in the vehicle log; An identifier is generated for each of the above divided logs, and among the generated identifiers, the divided log corresponding to the identifier existing in the existing identifier list is determined to be the first divided log, and does not exist in the existing identifier list.
  • a vehicle-side communication step of transmitting the vehicle log analysis server to the vehicle-log analysis server wherein the vehicle-log receiving method includes an identifier corresponding to the first divided log transmitted in the vehicle-side communication step and the second A server-side communication step of receiving a split log, and an existing split log corresponding to the identifier in the existing split log list with reference to the existing split log list when an identifier corresponding to the first split log is received.
  • the vehicle log when the ID is associated with the data such as the operation result of the specific system or the transmission result of the specific message, the vehicle log is divided using the ID so that the type of the data can be changed.
  • the vehicle log can be divided, and the probability that the divided log and the existing divided log match will be higher than when the vehicle log is simply divided according to the data size regardless of the type of data. Therefore, there are many identifiers corresponding to the first divided log that match the identifiers corresponding to the existing divided logs, the second divided log is difficult to be transmitted, the data size is small, and the identifier corresponding to the first divided log is Easier to send. Therefore, the communication data amount of the vehicle log transmitted from the vehicle to the server outside the vehicle can be effectively reduced.
  • a recording medium such as a system, a method, an integrated circuit, a computer program or a computer-readable CD-ROM, and the system, the method, the integrated circuit, the computer. It may be realized by any combination of programs or recording media.
  • (Embodiment 1) [Overall structure of vehicle log analysis system] 1 is an overall configuration diagram of a vehicle log analysis system 100 according to Embodiment 1 of the present disclosure.
  • the vehicle log analysis system 100 includes a vehicle log analysis server 20 and a vehicle 200, and the vehicle log analysis server 20 and the vehicle 200 are connected via an external network 50.
  • the external network 50 is, for example, the Internet.
  • the communication method of the external network 50 may be wired or wireless.
  • the wireless communication system may be Wi-Fi (registered trademark), which is an existing technology, or 3G/LTE (Long Term Evolution).
  • Vehicle 200 includes vehicle log transmission device 10, ECU 30a, ECU 30b, ECU 30c, sensor 40a, engine 40b, and steering 40c.
  • the vehicle log transmission device 10 is connected to the vehicle log analysis server 20 via an external network 50.
  • vehicle log transmission device 10 In vehicle 200, vehicle log transmission device 10, ECU 30a, ECU 30b, and ECU 30c are connected to each other via vehicle network 60.
  • vehicle network 60 is CAN, for example.
  • vehicle network 60 may be a communication protocol such as CAN-FD, FlexRay, Ethernet, or the like.
  • the ECU 30a is connected to the sensor 40a, the ECU 30b is connected to the engine 40b, and the ECU 30c is connected to the steering 40c.
  • ECUs 30a, 30b, and 30c acquire the status of the devices connected to each, and periodically send a message indicating the acquired status to the vehicle network 60.
  • the ECU 30a acquires the sensor information measured by the sensor 40a that measures the acceleration of the vehicle 200, and sends a message including a data value representing this sensor information to the vehicle network 60.
  • the ECU 30b acquires a rotation speed, which is one state of the engine 40b, and sends a message including a data value representing this rotation speed to the vehicle network 60. Further, the ECU 30b controls the rotation speed of the engine 40b based on the information on the engine 40b acquired from the vehicle network 60.
  • the ECU 30c acquires the steering angle of the steering 40c and sends a message including a data value representing the steering angle to the vehicle network 60. Further, the ECU 30c controls the steering angle of the steering 40c based on the information about the steering 40c acquired from the vehicle network 60.
  • the ECU 30a, the ECU 30b, and the ECU 30c connected to the vehicle network 60, and the sensor 40a, the engine 40b, and the steering 40c are collectively referred to as a vehicle system 300.
  • the vehicle log transmission device 10 acquires a vehicle log from the ECUs 30a, 30b, and 30c and transmits the acquired vehicle log to the vehicle log analysis server 20 via a communication protocol such as HTTPS. Details of the vehicle log will be described later.
  • the vehicle log analysis server 20 receives the vehicle log from the vehicle log transmission device 10, analyzes the received vehicle log, and detects a security threat, that is, a server external to the vehicle 200 that detects an abnormality of the vehicle 200. Is.
  • FIG. 2 is a configuration diagram of the vehicle log transmission device 10 according to the first embodiment of the present disclosure.
  • the vehicle log transmission device 10 is a device that transmits a vehicle log including a plurality of data, each of which is associated with an ID indicating a data type, to the vehicle log analysis server 20.
  • the vehicle log transmission device 10 includes a vehicle log acquisition unit 110, a vehicle log division processing unit 120, a vehicle log division processing rule storage unit 130, a vehicle log transmission necessity determination unit 140, and an existing identifier storage unit. 150, an existing identifier registration unit 160, and a vehicle side communication unit 170 are provided.
  • the vehicle log acquisition unit 110 is connected to the vehicle system 300 via the vehicle network 60.
  • the vehicle log acquisition unit 110 acquires a vehicle log related to the operation of the vehicle 200 (specifically, a vehicle log including a plurality of pieces of data associated with IDs indicating the types of data), and performs vehicle log division processing.
  • the unit 120 is notified of the acquired vehicle log.
  • the vehicle log may include a plurality of data arranged such that a plurality of IDs starting from a predetermined ID are set as one cycle and the plurality of IDs are periodically repeated.
  • the vehicle log may include a plurality of pieces of data in which time information is associated with each other.
  • the vehicle log division processing unit 120 generates one or more divided logs by dividing the vehicle log acquired by the vehicle log acquisition unit 110 using the ID included in the vehicle log. For example, the vehicle log division processing unit 120 may generate one or more division logs by dividing the acquired vehicle log for each ID included in the vehicle log. Further, for example, the vehicle log division processing unit 120 generates one or more division logs by dividing the acquired vehicle log for each of a plurality of IDs starting from a predetermined ID included in the vehicle log. Good. Further, for example, the vehicle log division processing unit 120 may further perform a process of replacing time information included in one or more division logs with time index information to generate the division processing log.
  • the vehicle log division processing unit 120 further executes a process of rearranging the one or more division logs according to the size of the value of the ID or the value of the data included in the one or more division logs to perform the division processing. You may generate a log. Further, for example, the vehicle log division processing unit 120 further performs a replacement process of replacing a value of data included in one or more division logs with a predetermined value or a fraction process of rounding a value of the data to generate a division processing log. You may.
  • the vehicle log division processing unit 120 divides and processes the vehicle log according to a rule to generate a division processing log, and transmits the generated division processing log and the number used when dividing the vehicle log as a division number to transmit the vehicle log. It has a function of notifying the necessity determination unit 140.
  • the rule used when the vehicle log division processing unit 120 generates the division processing log is a vehicle log division processing rule. The details of the vehicle log division processing rule and the division processing log will be described later.
  • the vehicle log division processing rule storage unit 130 stores the vehicle log division processing rule used by the vehicle log division processing unit 120.
  • the existing identifier storage unit 150 is generated by dividing an existing vehicle log shared between the vehicle log transmission device 10 and the vehicle log analysis server 20 using an ID included in the existing vehicle log.
  • An existing identifier list which is a list of identifiers corresponding to the divided logs, is stored.
  • the identifier is, for example, a hash value.
  • the existing identifier storage unit 150 may store an existing identifier list that is a list corresponding to the existing divided log generated by dividing the existing vehicle log for each ID included in the existing vehicle log. ..
  • the existing identifier storage unit 150 stores the identifiers of the existing vehicle logs that are generated by dividing the existing vehicle log into a plurality of IDs starting from a predetermined ID included in the existing vehicle log.
  • An existing identifier list which is a list, may be stored.
  • the existing identifier storage unit 150 may further store an existing identifier list, which is a list of identifiers corresponding to the existing divided logs in which the time information is replaced with the time index information.
  • the existing identifier storage unit 150 may further store an existing identifier list which is a list of identifiers corresponding to the existing divided logs sorted according to the value of the ID or the size of the value of the data. ..
  • the existing identifier storage unit 150 may further store an existing identifier list which is a list of identifiers corresponding to the existing divided logs that have undergone the replacement process or the fraction process.
  • the existing identifier list is composed of a set of a division number and a hash value of the division processing log that the vehicle log transmission device 10 transmitted to the vehicle log analysis server 20 in the past.
  • the existing identifier list is shared between the vehicle log transmission device 10 and the vehicle log analysis server 20.
  • the vehicle log transmission necessity determination unit 140 generates an identifier for each of the one or more divided logs, and defines the divided log corresponding to the identifier existing in the existing identifier list among the generated identifiers as the first divided log. It is determined that the divided log corresponding to the identifier that does not exist in the existing identifier list is the second divided log.
  • the vehicle log transmission necessity determination unit 140 generates, for each division number, a hash value for the division processing log received from the vehicle log division processing unit 120 as an identifier. When the hash value for the generated split processing log is included in the existing identifier list stored in the existing identifier storage unit 150, the vehicle log transmission necessity determination unit 140 needs to transmit the split processing log corresponding to the hash value.
  • the vehicle log transmission necessity determination unit 140 transmits the split processing log corresponding to the hash value. Judge as the second split log that is required.
  • the existing identifier registration unit 160 registers an identifier corresponding to the division log (division processing log) that the vehicle log transmission necessity determination unit 140 has determined to be the second division log in the existing identifier list. Specifically, the existing identifier registration unit 160 uses the hash value for the divided processing log determined by the vehicle log transmission necessity determination unit 140 to transmit the divided processing log as the existing identifier list of the existing identifier storage unit 150. Register additionally.
  • the vehicle-side communication unit 170 transmits the identifier corresponding to the first divided log to the vehicle log analysis server 20 and the second divided log to the vehicle log analysis server 20. Specifically, the vehicle-side communication unit 170 uses the hash value and the division number of the divided processing log (first divided log) that the vehicle log transmission necessity determination unit 140 has determined not to transmit, as the vehicle log. The divided processing log (second divided log) that is transmitted to the analysis server 20 and that the vehicle log transmission necessity determination unit 140 has determined to be transmitted is transmitted to the vehicle log analysis server 20. Further, the vehicle-side communication unit 170 transmits the generated vehicle log division processing rule to the vehicle log analysis server 20. For example, the vehicle-side communication unit 170 may transmit a time list indicating the correspondence between the time information and the time index information as the vehicle log division processing rule to the vehicle log analysis server 20.
  • FIG. 3 is a configuration diagram of the vehicle log analysis server 20 according to the first embodiment of the present disclosure.
  • the vehicle log analysis server 20 is a device that receives, from the vehicle log transmission device 10, a vehicle log that includes a plurality of pieces of data that are respectively associated with IDs that indicate the types of data.
  • the vehicle log analysis server 20 includes a server-side communication unit 210, a vehicle log restoration unit 220, an existing division log storage unit 230, a vehicle log division processing rule storage unit 240, a vehicle log storage unit 250, An existing division log registration unit 260, an abnormality log detection unit 270, and an abnormality notification unit 280 are provided.
  • the server-side communication unit 210 is connected to the external network 50, and one or more generated by dividing the vehicle log from the vehicle log transmission device 10 via the external network 50 using the ID included in the vehicle log. An identifier corresponding to the first divided log of the divided logs and a second divided log of the one or more divided logs excluding the first divided log are received. Specifically, the server-side communication unit 210 receives the division processing log or the hash value of the division processing log and the division number, and the received division processing log or the hash value of the division processing log and the division number. To the vehicle log restoration unit 220. Further, the server-side communication unit 210 receives the vehicle log division processing rule from the vehicle log transmission device 10 and stores it in the vehicle log division processing rule storage unit 240.
  • the server-side communication unit 210 corresponds to the first divided log among the one or more divided logs generated by dividing the vehicle log from the vehicle log transmission device 10 for each ID included in the vehicle log. May be received and a second divided log of the one or more divided logs may be received. Further, for example, the server-side communication unit 210 divides the vehicle log from the vehicle log transmission device 10 into a plurality of IDs generated by dividing the vehicle log into a plurality of IDs starting from a predetermined ID included in the vehicle log. The identifier corresponding to the first divided log of the logs and the second divided log of the one or more divided logs may be received.
  • the server-side communication unit 210 from the vehicle log transmission device 10, the identifier corresponding to the first divided log of the one or more divided logs in which the time information is replaced with the time index information, and the one or more.
  • the second divided log of the divided logs and the time list indicating the correspondence between the time information and the time index information may be received.
  • the server-side communication unit 210 has an identifier corresponding to the first divided log among the one or more divided logs sorted according to the size of the value of the ID or the value of the data, and one or more. The second divided log of the divided logs may be received.
  • the server-side communication unit 210 corresponds to the first divided log of the one or more divided logs on which the replacement process of replacing the data value with a predetermined value or the fraction process of rounding the data value is performed.
  • the identifier and the second divided log of the one or more divided logs may be received.
  • the existing division log storage unit 230 is generated by dividing an existing vehicle log shared between the vehicle log transmission device 10 and the vehicle log analysis server 20 using an ID included in the existing vehicle log.
  • the existing divided log list which is a list of the existing divided logs and the identifiers corresponding to the existing divided logs, is stored.
  • the existing divided log storage unit 230 is a list of existing divided logs generated by dividing the existing vehicle log for each ID included in the existing vehicle log, and an identifier corresponding to the existing divided log.
  • the existing split log list may be stored.
  • the existing split log storage unit 230 includes an existing split log generated by splitting an existing vehicle log for each of a plurality of IDs having a predetermined ID included in the existing vehicle log as a starting point, and an existing split log.
  • An existing split log list which is a list of identifiers corresponding to split logs, may be stored.
  • the existing divided log storage unit 230 further stores an existing divided log list that is a list of the existing divided logs in which the time information is replaced with the time index information and the identifiers corresponding to the existing divided logs. Good.
  • the existing division log storage unit 230 further includes an existing division log that is a list of existing division logs sorted according to the value of the ID or the size of the value of the data, and an identifier corresponding to the existing division log.
  • the log list may be stored.
  • the existing divided log storage unit 230 may further store an existing divided log list that is a list of the existing divided logs that have undergone the replacement process or the fractional process and the identifiers corresponding to the existing divided logs. .
  • the vehicle log restoration unit 220 When the vehicle log restoration unit 220 receives the identifier corresponding to the first divided log, the vehicle log restoration unit 220 refers to the existing divided log list to acquire the existing divided log corresponding to the identifier in the existing divided log list, and then performs the second division.
  • the vehicle log is restored by combining the log and the existing split log. Specifically, the vehicle log restoration unit 220 divides from the existing divided log list stored in the existing divided log storage unit 230 when the hash value of the divided processing log and the division number are notified from the server side communication unit 210. Get the existing split log that matches the hash value of the processing log.
  • the vehicle log restoration unit 220 when the division processing log (second division log) is notified from the server-side communication unit 210 while acquiring the existing division log, the existing division log and the division processing log ( Second division log) is restored to the vehicle log using the vehicle log division processing rule stored in the vehicle log division processing rule storage unit 240.
  • the vehicle log restoration unit 220 receives the identifier corresponding to the first divided log, the vehicle log restoration unit 220 refers to the existing divided log list to acquire the existing divided log corresponding to the identifier in the existing divided log list, and the time list.
  • the time index information included in the existing split log may be replaced with the time information, and the second split log and the existing split log may be combined to restore the vehicle log.
  • the vehicle log restoration unit 220 refers to the existing divided log list when the identifier corresponding to the first divided log is received, and acquires the existing divided log corresponding to the identifier in the existing divided log list, Refer to the time list and replace the time index information of the existing split log with the time information, and then refer to the replaced time information to sort the existing split logs in ascending order of time, and set the second split log and the existing split log. May be combined to restore the vehicle log. Further, the vehicle log restoration unit 220 records the restored vehicle log in the vehicle log storage unit 250. The details of the vehicle log restoration method will be described later.
  • the existing divided log registration unit 260 when receiving the second divided log, generates an identifier corresponding to the second divided log and registers the second divided log and the identifier in the existing divided log list. Specifically, the existing division log registration unit 260, when notified of the division processing log (second division log) from the server-side communication unit 210, generates a hash value of the division processing log (second division log). Then, a set of the split processing log (second split log) and the hash value of the split processing log (second split log) is additionally stored in the existing split log list of the existing split log storage unit 230.
  • the vehicle log division processing rule storage unit 240 stores a vehicle log division processing rule in which a vehicle log division method and a processing method are described.
  • the vehicle log storage unit 250 stores the restored vehicle log.
  • the abnormality log detection unit 270 monitors the restored vehicle log stored in the vehicle log storage unit 250, detects when the vehicle log includes a trace of an attack as an abnormality log, and notifies the abnormality notification unit 280. .. For example, when the vehicle log includes a log in which the vehicle device operates at a timing different from the normal processing sequence or a log in which network communication including a control value outside the normal range is performed, the abnormality log detecting unit 270 It has a function to detect as a security threat, as there are traces of cyber attacks on vehicles.
  • the abnormality log detection unit 270 further uses a list of identifiers corresponding to the abnormality division logs generated by dividing the vehicle log that has been determined to be abnormal in the past using the ID included in the vehicle log.
  • a server-side communication unit 210 receives an identifier corresponding to the first divided log while holding a certain abnormality identifier list
  • the server-side communication unit 210 detects an abnormality when the identifier is included in the abnormality identifier list, and the server-side communication unit 210
  • the second split log is received and the trace of the attack is included in the second split log, the second split log is detected as an abnormal log, and the abnormal log is used with the ID included in the abnormal log.
  • the abnormal division log generated by the division may be registered in the abnormality identifier list.
  • the abnormality notification unit 280 notifies a predetermined notification destination that the vehicle is abnormal. Specifically, the abnormality detection unit 280 receives the abnormal vehicle log from the abnormality log detection unit 270, and as a predetermined notification destination, for example, an operator who uses the vehicle log analysis server 20 or a vehicle which outputs the abnormal log. Notify the driver of the abnormality.
  • FIG. 4 is a diagram illustrating an example of a vehicle log acquired by the vehicle log acquisition unit 110 according to the first embodiment of the present disclosure.
  • the vehicle log includes a plurality of pieces of data each associated with an ID indicating the type of data.
  • the vehicle log in FIG. 4 includes ID1, ID2, ID3, and ID4 as IDs.
  • the vehicle log in FIG. 4 includes a plurality of data, each of which is 8-byte data. When 8-byte data is regarded as one data, an ID is associated with the one data.
  • the plurality of data are arranged such that the plurality of IDs having a predetermined ID as a starting point are set as one cycle and the plurality of IDs are periodically repeated.
  • the predetermined ID is ID1
  • a plurality of data are arranged such that ID1, ID2, ID3, and ID4 starting from ID1 are set as one cycle and ID1, ID2, ID3, and ID4 are cyclically repeated.
  • the predetermined ID is not limited to ID1.
  • the predetermined ID is ID2, a plurality of data are arranged such that ID2, ID3, ID4 and ID1 starting from ID2 are set as one cycle and ID2, ID3, ID4 and ID1 are periodically repeated.
  • time information is associated with each of the plurality of data. For example, a time such as "10:10:10" (10:10:10) is the time information.
  • the vehicle log is composed of a set of time, ID, and 8-byte data (eight 1-byte data). The time is the generation time of the vehicle log.
  • ID indicates the type of data and is, for example, an identifier that identifies the event or message that is the source of the vehicle log. For example, if the vehicle log is an event indicating the system operation of the ECU, the ID is a process number, and the ID in the case of a message according to the CAN or CAN-FD communication protocol is a frame ID and according to the FlexRay communication protocol. The ID in the case of a message is a slot ID, and the ID in the case of a message according to the communication protocol of Ethernet is an IP address.
  • each of the plurality of data is, for example, 8-byte data composed of a hexadecimal number from 0x00 to 0xFF for each byte.
  • data is described by omitting 0x in hexadecimal notation.
  • the first line in the vehicle log is an event or message that occurred at time “10:10:10”, the ID is “ID1”, and the first byte is “01” in hexadecimal notation.
  • Hexadecimal notation at the 2nd byte is "50”
  • Hexadecimal notation at the 3rd byte is "40”
  • Hexadecimal notation at the 4th byte is "30”
  • Hexadecimal notation at the 5th byte is "30”
  • 6 The hexadecimal notation is "30" at the byte
  • the hexadecimal notation is "30” at the seventh byte
  • the hexadecimal notation is "30” at the eighth byte.
  • the vehicle log with the ID “ID1” occurs at time “10:10:10”, then at time “10:20:10”, and at “10:50:10”. It indicates that an event or message with ID “ID1” is occurring regularly.
  • the vehicle log having the ID “ID2” indicates that the event or message having the ID “ID1” is generated following the event or message. That is, the plurality of data are arranged so that the plurality of IDs (here, ID1, ID2, ID3, and ID4) are periodically repeated.
  • the vehicle log As described above, by referring to the vehicle log, the occurrence time and data of the event or message can be confirmed. Therefore, using the vehicle log, it is determined whether the vehicle system 300 operates at a timing different from the normal processing sequence. Alternatively, it can be determined whether or not network communication including a control value outside the normal range is performed, and a security threat can be detected.
  • FIG. 5 is a diagram showing an example of a vehicle log definition table used by the vehicle log division processing unit 120 according to the first embodiment of the present disclosure.
  • the vehicle log definition table is a table that defines a data type indicating what the data value of each byte for each ID of the vehicle log indicates.
  • the first byte defines “counter”
  • the second byte defines “checksum”
  • the third and fourth bytes define “speed”
  • 5 The byte position defines “shift”, and the 6th to 8th bytes are unused and are not defined.
  • the first byte defines “counter”
  • the second byte defines “checksum”
  • the third byte and fourth byte define “steering angle”
  • the 5th byte to the 8th byte are unused and are not defined.
  • the first byte defines “counter”
  • the second and third bytes define “positional information”
  • the fourth to eighth bytes are unused. Not defined.
  • the defined “vehicle number” is a 7-byte value, and takes a fixed value for each vehicle.
  • the defined "speed”, “steering angle”, and “positional information” are 2 bytes and are values from 0000 to FFFF.
  • the defined “checksum” and “counter” are 1 byte, and are values from 00 to FF.
  • the defined “shift” indicates “parking” when the value is “00” and indicates “drive” when the value is “01”.
  • the vehicle log division processing rule is a rule indicating what kind of rule the vehicle log division processing unit 120 generated when generating the division processing log from the vehicle log.
  • the vehicle log division processing rule is generated when the vehicle log division processing unit 120 generates the division processing log from the vehicle log.
  • FIG. 6 is a diagram showing an example of a vehicle log division processing rule stored in the vehicle log division processing rule storage unit 130 according to the first embodiment of the present disclosure.
  • the vehicle log division processing rule is composed of a set of a processing item, processing presence/absence, a value before processing, and a value after processing.
  • the processing item is one of "division”, “time index”, “sort (ascending order)", and "data replacement”.
  • the vehicle log division processing rule indicates a rule for processing the vehicle log in order from the top.
  • Split represents the rule to split the vehicle log.
  • division indicates a rule for dividing the vehicle log for each ID.
  • Time index represents the rule of the process of replacing the time in the vehicle log with the time index information.
  • the time index indicates a rule in which serial numbers (T11, T12,..., T54) are assigned to the time for each ID.
  • Sort (ascending order) represents a processing rule for processing vehicle logs so that a specific byte of data with the same ID, for example, the data of the 4th byte is sorted in ascending order. Note that, in FIG. 6, “sort (ascending order)” is shown as an example, but when data of a specific byte is rearranged in descending order among data having the same ID, it is called “sort (descending order)”. expressed.
  • Data replacement represents a processing rule for replacing all the data areas corresponding to a specific data type (for example, counter and checksum) described in the vehicle log definition table with a specific value (for example, 00).
  • the presence/absence of processing is either “valid” or “invalid”, indicating whether or not the rule of the corresponding processing item has been implemented.
  • the processing presence/absence is “valid”, and when the rule of the corresponding processing item is not implemented, the processing presence/absence is “invalid”.
  • the value before processing is the original value of the vehicle log in the corresponding processing item, and the value after processing indicates the value after processing of the vehicle log in the corresponding processing item (that is, the value in the divided processing log).
  • the processing item “division” has the processing “valid”.
  • the value “ID1" before processing is the value “division number 1" after processing, and the value “ID2" before processing is followed by the value "division number 2" after processing.
  • data including the ID described in the value before processing is extracted from the vehicle log and divided into the division logs having the division numbers described in the value after processing.
  • the processing item “time index” is “valid” with or without processing.
  • the value before processing “10:10:10” is the value after processing "T11", and the value before processing "10:10:20” is followed by the value after processing "T12".
  • the processing item “sort (ascending order)” is “valid” with or without processing.
  • the value before processing and the value after processing are "-", and "-" indicates that the rule does not replace the value. This is because the “sort (ascending order)” sorts the data, but does not replace the data values themselves.
  • the vehicle log division processing unit 120 also generates a vehicle log division processing rule when generating the division processing log from the vehicle log, and when transmitting the division processing log or the division processing log identifier, the vehicle log division processing is performed.
  • the vehicle log transmission device 10 and the vehicle log analysis server 20 share the vehicle log division processing rule.
  • the divided processing log processed by the vehicle log transmission device 10 can be returned to the original vehicle log by the vehicle log analysis server 20.
  • the predetermined rule is set to the vehicle log transmission device 10 and the vehicle.
  • a time list indicating at least the correspondence between the time information and the time index information is transmitted from the vehicle log transmission device 10 to the vehicle log analysis server 20 as a vehicle log division processing rule. Good. This is because the vehicle log analysis server 20 can restore information other than the time information using a predetermined rule.
  • FIG. 7 is a diagram illustrating an example of a division processing log generated by the vehicle log division processing unit 120 according to the first embodiment of the present disclosure.
  • FIG. 7 is an example of a division processing log when the vehicle log described in FIG. 4 is divided and processed according to the vehicle log division processing rule of FIG.
  • the division processing log is composed of a set of time, ID, and 8-byte data for each division number.
  • FIG. 7 shows an example of a division processing log generated when the vehicle log is divided for each ID.
  • the time of the division processing log is replaced with the time index (T11, T12,..., T54) according to the rule of “time index” in the vehicle log division processing rule in FIG.
  • the time “T11” of the division number “1” is the time index when the time “10:10:10” is replaced.
  • the data values of the 4th byte in the rows of times “T13”, “T23”, and “T53” at the division number “3” are “10”, “20”, and “30”, respectively.
  • the data of the 4th byte is sorted in ascending order according to the rule of “sort (ascending order)” in the vehicle log division processing rule in FIG.
  • the first byte of the division processing log is “counter”, and all the data values are “00” according to the rule of “data replacement” in the vehicle log division processing rule of FIG. Has been replaced by ".
  • values that are likely to change each time the vehicle log occurs such as time, counter, checksum, and event occurrence time, are indexed or replaced with “00” or the like. ..
  • the division processing log may be subjected to a fractional process of rounding a fine value such as a sensor.
  • FIG. 7 shows an example of a division log (division processing log) when the vehicle log is divided by ID
  • the vehicle log may be divided by a plurality of IDs starting from a predetermined ID.
  • the vehicle log may be divided for each of a plurality of IDs (ID1, ID2, ID3, and ID4) starting from ID1 with ID1 as a predetermined ID.
  • ID1, ID2, ID3, and ID4 the predetermined ID is not limited to ID1, and for example, when the predetermined ID is ID2, the vehicle log may be divided for each of a plurality of IDs (ID2, ID3, ID4, and ID1) starting from ID2. ..
  • an existing split log described later may be split into multiple IDs starting from a predetermined ID.
  • FIG. 8 is a diagram showing an example of an identifier of a division processing log generated by the vehicle log transmission necessity determination unit 140 according to the first embodiment of the present disclosure.
  • the division processing log identifier includes a division number and an identifier.
  • the vehicle log transmission necessity determination unit 140 generates a hash value of the divided work log by using a hash function for each divided work log and uses it as an identifier.
  • the hash function has the characteristic of outputting the same hash value for the same data and uses an algorithm such as MD5 or SHA256.
  • the identifier of the division number “1” is “112233344”.
  • FIG. 9 is a diagram showing an example of an existing identifier list stored in the existing identifier storage unit 150 according to the first embodiment of the present disclosure.
  • the existing identifier list is composed of pairs of numbers and identifiers. The number represents the order of registration in the existing identifier list, and the identifier represents a hash value corresponding to the division processing log (existing division log) transmitted to the vehicle log analysis server 20.
  • the identifier of the number “1” is “112233344”.
  • FIG. 10 is a diagram showing an example of an existing divided log list stored by the existing divided log storage unit 230 according to Embodiment 1 of the present disclosure.
  • the existing split log list is made up of a set of a number, an identifier, a file path, and an abnormality.
  • the number represents the order of registration in the existing split log list
  • the identifier represents the hash value corresponding to the existing split log
  • the file path represents the location where the existing split log is saved
  • the presence or absence of abnormality indicates the existing split log.
  • the result of log abnormality detection is indicated by "Yes" and "No".
  • the abnormality presence/absence list (abnormality identifier list) is generated by dividing a vehicle log that has been determined to be abnormal in the past using an ID included in the vehicle log (for example, corresponding to the number 2 or 6). It is a list of identifiers corresponding to the existing division log).
  • the identifier with the number “1” is “112233344”
  • the file path of the existing split log is “/log/20180101A.log”
  • the presence/absence of an error in the existing split log is “none”.
  • the vehicle log restoration unit 220 compares the hash value transmitted from the vehicle log transmission device 10 to the vehicle log analysis server 20 with the hash value included in the existing identifier list, and the existing split log is stored in the file path of the matching hash value. Since it is stored, this existing division log is used to restore the vehicle log.
  • FIG. 11 shows a processing sequence in which the vehicle log transmission device 10 according to the first embodiment of the present disclosure transmits a vehicle log.
  • the vehicle log acquisition unit 110 of the vehicle log transmission device 10 acquires the vehicle log and notifies the vehicle log division processing unit 120 of the vehicle log.
  • the vehicle log division processing unit 120 acquires the vehicle log and generates a division processing log from the vehicle log using the vehicle log definition table.
  • the rule used when the division processing log is generated is the vehicle log division processing rule.
  • the vehicle log division processing unit 120 notifies the vehicle log transmission necessity determination unit 140 of the division processing log. At this time, although not shown, the vehicle log division processing unit 120 stores the vehicle log division processing rule in the vehicle log division processing rule storage unit 130 and notifies the vehicle communication unit 170 of the vehicle log division processing rule.
  • the vehicle log transmission necessity determination unit 140 acquires the division processing log and generates a hash value of the division processing log.
  • the vehicle log transmission necessity determination unit 140 sends the hash value of the division processing log to the vehicle communication unit 170 ( The identifier corresponding to the first division log) and the division number are notified.
  • the vehicle-side communication unit 170 receives the acquired hash value and division number.
  • the vehicle log transmission necessity determination unit 140 sets the divided processing log (second divided log) to the vehicle side.
  • the communication unit 170 is notified, and the hash value of the division processing log (second division log) is notified to the existing identifier registration unit 160.
  • the existing identifier registration unit 160 additionally registers the received hash value in the existing identifier list of the existing identifier storage unit 150.
  • the received hash value is also registered in the vehicle log analysis server 20 in step S1205 of FIG. 12, which will be described later, and is shared between the vehicle log transmission device 10 and the vehicle log analysis server 20.
  • the vehicle-side communication unit 170 acquires the division processing log (second division log).
  • the vehicle-side communication unit 170 transmits the hash value, the division number, and the vehicle log division processing rule of the acquired division processing log (first division log) to the vehicle log analysis server 20.
  • the vehicle-side communication unit 170 transmits the acquired divided processing log (second divided log) and the vehicle log divided processing rule to the vehicle log analysis server 20.
  • FIG. 12 shows a processing sequence in which the vehicle log analysis server 20 receives the vehicle log according to the first embodiment of the present disclosure.
  • the server-side communication unit 210 receives the hash value of the division processing log (first division log), the division number, and the vehicle log division processing rule from the vehicle log transmission device 10, and divides the processing log (first division log). The hash value of the division log), the division number, and the vehicle log division processing rule are notified to the vehicle log restoration unit 220. Although not shown, the server-side communication unit 210 notifies the abnormality log detection unit 270 of the hash value of the divided processing log (first divided log).
  • the vehicle log restoration unit 220 acquires the hash value, the division number, and the vehicle log division processing rule of the division processing log (first division log), and the existing division log list stored in the existing division log storage unit 230. From, the file path of the existing split log having the same hash value as the hash value of the split processing log (first split log) is acquired, and the existing split log is acquired from the file path.
  • the server-side communication unit 210 receives the division processing log (second division log) and the vehicle log division processing rule, and outputs the division processing log (second division log) and the vehicle log division processing rule to the vehicle. Notify the log restoration unit 220.
  • the vehicle log restoration unit 220 receives the division processing log (second division log), the division number, and the vehicle log division processing rule.
  • the existing division log registration unit 260 acquires the division processing log (second division log), generates a hash value of the division processing log (second division log), and divides the division processing log (second division log).
  • the file path storing the log) and the generated hash value are additionally registered in the existing divided log list of the existing divided log storage unit 230.
  • the division processing log (second division log) received by the server-side communication unit 210 this time becomes the existing division log thereafter.
  • the vehicle log restoration unit 220 uses the existing split log having the same hash value as the hash value of the first split log, the split processing log (second split log), and the vehicle log split processing rule, Restore vehicle log.
  • FIG. 13 illustrates a processing sequence in which the vehicle log analysis server 20 detects an abnormality log according to the first embodiment of the present disclosure.
  • the abnormality log detection unit 270 determines that the hash value of the divided processing log (first divided log) matches the hash value of the term of the identifier of the existing divided log list stored in the existing divided log storage unit 230. If the presence/absence of abnormality is “present”, it is determined to be abnormal and the abnormality notification unit 280 is notified of the abnormality.
  • the abnormality notifying unit 280 notifies the user of the vehicle log analysis server 20 or the driver of the vehicle of the abnormal vehicle log of the abnormality as a predetermined notification destination.
  • the abnormal log detection unit 270 determines that the divided processing log (second divided log) is abnormal when the divided processing log (second divided log) is included, and notifies the abnormality notification unit 280 of the abnormal state. ..
  • the abnormality notification unit 280 notifies the user of the vehicle log analysis server 20 or the driver of the vehicle that has generated the abnormal vehicle log of the abnormality as a predetermined notification destination.
  • the abnormality log detection unit 270 updates and registers the detected abnormality in the existing division log list of the existing division log storage unit 230. Specifically, the abnormality log detection unit 270 associates “existence” as the presence/absence of abnormality with the file path storing the division processing log (second division log) and the generated hash value, and creates an existing division log list. Update.
  • FIG. 14 shows a flowchart of the division processing log generation processing of the vehicle log division processing unit 120 according to the first embodiment of the present disclosure.
  • the vehicle log division processing unit 120 acquires the vehicle log from the vehicle log acquisition unit 110.
  • the vehicle log division processing unit 120 determines whether to divide the vehicle log for each ID according to a rule. When determining that the vehicle log is to be divided into IDs (YES), the vehicle log division processing unit 120 generates a vehicle log division processing rule with the processing item “division” and the processing presence/absence “valid”. The vehicle log division processing unit 120 lists the ID of the vehicle log as a value before processing, a serial number as a division number, and a list as a value after processing. Next, the vehicle log division processing unit 120 executes the process of step S1403. When determining not to divide the vehicle log by ID (in the case of NO), the vehicle log division processing unit 120 generates the vehicle log division processing rule as the processing item “division” and the processing presence/absence “invalid”. Next, the vehicle log division processing unit 120 executes the process of step S1404.
  • the case where the vehicle log division processing unit 120 determines to divide the vehicle log by ID means that, for example, the above rule is a rule (setting) that the vehicle log is divided by ID. Further, the case where the vehicle log division processing unit 120 determines that the vehicle log is not divided for each ID means that, for example, the above rule is a rule (setting) that the vehicle log is not divided for each ID. To do.
  • the vehicle log division processing rule generated after the determination in step S1402 corresponds to the row of "division" in FIG.
  • the vehicle log division processing unit 120 divides the vehicle log for each ID and generates a division log for each division number.
  • the vehicle log division processing unit 120 determines whether to process the “time” of the vehicle log according to a rule. If the vehicle log division processing unit 120 determines to process the “time” of the vehicle log (YES), the vehicle log division processing unit 120 executes the process of S1405. When determining that the “time” of the vehicle log is not processed (in the case of NO), the vehicle log division processing unit 120 generates the vehicle log division processing rule as the processing item “time index” and the processing presence/absence “invalid”. Next, the vehicle log division processing unit 120 executes the process of step S1407.
  • the vehicle log division processing unit 120 generates a time list with the processing item “time index”, the processing presence/absence “valid”, the vehicle log time as a value before processing, and the serial number of the time index as a value after processing. To do.
  • the case where the vehicle log division processing unit 120 determines to process the “time” of the vehicle log means that, for example, the above rule is a rule (setting) that the “time” of the vehicle log is processed. .. Further, when the vehicle log division processing unit 120 determines that the “time” of the vehicle log is not processed, for example, the above rule is a rule (setting) that the “time” of the vehicle log is not processed.
  • Means The vehicle log division processing rule generated in step S1405 corresponds to the row of “time index” in FIG. 6, and the vehicle log division processing rule is an example of a time list showing the correspondence between time information and time index information. Is. From the time list, it can be seen that, for example, the time “10:10:10” and the time index “T11” correspond.
  • the vehicle log division processing unit 120 refers to the value before processing and the value after processing in the time list, and replaces the time of the vehicle log with the serial number of the time index that is the value after processing.
  • the vehicle log division processing unit 120 determines whether to sort the “data” of the vehicle log in ascending order according to a rule. If the vehicle log division processing unit 120 determines to sort the “data” of the vehicle log (YES), the processing item “sort (ascending order)”, the processing presence/absence “valid”, the value “ ⁇ ” before processing, the processing A vehicle log division processing rule is generated as the subsequent value "-”. Next, the vehicle log division processing unit 120 executes the process of step S1408. When the vehicle log division processing unit 120 determines not to sort the “data” of the vehicle log (in the case of NO), the vehicle log division processing rule is generated with the processing item “sort (ascending order)” and the processing presence/absence “invalid”. .. Next, the vehicle log division processing unit 120 carries out the processing of step S1411.
  • the case where the vehicle log division processing unit 120 determines to sort the “data” of the vehicle log means, for example, that the above rule is a rule (setting) of sorting the “data” of the vehicle log. ..
  • the above rule is a rule (setting) that the “data” of the vehicle log is not sorted.
  • the vehicle log division processing rule generated after the determination in step S1407 corresponds to the "sort (ascending order)" row in FIG.
  • the vehicle log division processing unit 120 sorts the vehicle log data in ascending order.
  • the vehicle log division processing unit 120 determines whether to process predetermined “data” of the vehicle log according to a rule.
  • the vehicle log division processing unit 120 determines to process the predetermined “data” of the vehicle log (in the case of YES)
  • the processing The vehicle log division processing rule is generated with the subsequent value “00”, the value before processing “checksum”, and the value after processing “00”.
  • the vehicle log division processing unit 120 implements the process of step S1410.
  • the vehicle log division processing unit 120 When determining that the predetermined “data” of the vehicle log is not processed (in the case of NO), the vehicle log division processing unit 120 generates the vehicle log division processing rule as the processing item “data replacement” and the processing presence/absence “invalid”. .. Next, the vehicle log division processing unit 120 carries out the processing of step S1411.
  • the above rule is a rule (setting) that the predetermined “data” of the vehicle log is processed. Means that. Further, when the vehicle log division processing unit 120 determines that the predetermined “data” of the vehicle log is not processed, for example, the above rule is based on the rule (setting) that the predetermined “data” of the vehicle log is not processed. It means that it has become.
  • the vehicle log division processing rule generated after the determination in step S1409 corresponds to the row of "data replacement" in FIG.
  • the vehicle log division processing unit 120 replaces the value of the vehicle log counter with “00” and the value of the checksum with “00”.
  • the vehicle log division processing unit 120 stores the division processing log obtained by dividing and processing the vehicle log.
  • FIG. 15 shows a flowchart of a division processing log transmission process of the vehicle log transmission necessity determination unit 140 according to the first embodiment of the present disclosure.
  • the vehicle log transmission necessity determination unit 140 acquires a division processing log for each division number from the vehicle log division processing unit 120, and sets the obtained division processing log as a division processing log [i].
  • i represents a division number, takes an integer from 1 to N, and N represents the number of divisions of the vehicle log.
  • the vehicle log transmission necessity determination unit 140 sets i to 1.
  • the vehicle log transmission necessity determination unit 140 generates a hash value of the divided processing log [i].
  • the vehicle log transmission necessity determination unit 140 determines whether the generated hash value matches the identifier (hash value) in the existing identifier list of the existing identifier storage unit 150. In other words, the vehicle log transmission necessity determination unit 140 determines whether the generated hash value exists in the existing identifier list. When the generated hash value exists in the existing identifier list (YES), the vehicle log transmission necessity determination unit 140 performs the process of step S1505, and when the generated hash value does not exist in the existing identifier list ( If NO), the process of step S1507 is performed.
  • the vehicle log transmission necessity determination unit 140 determines that the target divided processing log [i] does not need to be transmitted to the vehicle log analysis server 20 as the first divided log.
  • the vehicle log transmission necessity determination unit 140 generates a hash value corresponding to the target divided processing log [i], and transmits the generated hash value to the vehicle log analysis server 20 so that the vehicle communication unit 170. To notify.
  • the vehicle log transmission necessity determination unit 140 determines that the target divided processing log [i] is the second divided log that needs to be transmitted to the vehicle log analysis server 20.
  • the vehicle log transmission necessity determination unit 140 notifies the vehicle side communication unit 170 to transmit the target divided processing log [i] to the vehicle log analysis server 20.
  • step S1509 The vehicle log transmission necessity determination unit 140 determines whether i is N. If i is N (YES), the process ends, and if i is not N (NO). The processing of step S1510 is performed.
  • the vehicle log transmission necessity determination unit 140 adds 1 to i. Through steps S1509 and S1510, the processes in steps S1503 to S1508 can be performed for the number of vehicle log divisions.
  • FIG. 16 shows a flowchart of vehicle log restoration processing of the vehicle log restoration unit 220 according to the first embodiment of the present disclosure.
  • the division processing log acquired from the vehicle log transmission device 10 is referred to as division processing log [i].
  • i represents a division number, takes an integer from 1 to N, and N represents the number of divisions of the vehicle log.
  • the vehicle log restoration unit 220 acquires N divided processing logs [i] or hash values of the divided processing logs [i] from the server communication unit 210.
  • the vehicle log restoration unit 220 sets i to 1.
  • the vehicle log restoration unit 220 determines whether the acquired hash value is a hash value. When the acquired one is the hash value of the division processing log [i] (in the case of YES), the vehicle log restoration unit 220 executes the process of step S1604. When the acquired one is not the hash value of the divided processing log [i], that is, when the acquired one is the divided processing log [i] (in the case of NO), the vehicle log restoration unit 220 performs the process of step S1605. To do.
  • the vehicle log restoration unit 220 finds an identifier that matches the hash value of the division processing log [i] from the existing division log list of the existing division log storage unit 230, and extracts the existing division log [i from the file path corresponding to the identifier. ]] is obtained.
  • the vehicle log restoration unit 220 determines whether the processing item “time index” of the vehicle log division processing rule stored in the vehicle log division processing rule storage unit 240 is “valid” or not.
  • the vehicle log restoration unit 220 performs the process of step S1606 when it determines that it is “valid” (in the case of YES) and the process of step S1608 when it determines that it is not “valid” (in the case of NO). To do.
  • the vehicle log restoration unit 220 determines that the time (time index) of the divided processing log [i] or the existing divided log [i] matches the processed value of the processing item “time index” of the vehicle log divided processing rule. If so, the time of the divided processing log [i] or the existing divided log [i] is replaced with the value before the processing of the processing item “time index” of the vehicle log divided processing rule.
  • the vehicle log restoration unit 220 sorts the division processing log [i] or the existing division log [i] in order of earliest time. In step S1606 and step S1607, the divided processing log [i] or the existing divided log [i] is in a state before the processing is performed by the vehicle log division processing unit 120 of the vehicle log transmission device 10, and the ID is used. Return to the split log [i] in the split state.
  • the vehicle log restoration unit 220 stores the divided processing log [i] after the processing in steps S1606 and S1607 as a divided log [i].
  • the vehicle log restoration unit 220 determines whether i is N. If i is N (YES), the vehicle log restoration unit 220 performs the process of S1611, and if i is not N (NO), the vehicle log restoration unit 220 performs the process of S1610.
  • the vehicle log restoration unit 220 adds 1 to i. Through steps S1609 and S1610, the processes in steps S1603 to S1608 can be performed by the number of vehicle log divisions.
  • the vehicle log restoration unit 220 combines the N divided logs [i] in ascending order of division number i, and rearranges them in ascending order of time.
  • the vehicle log restoration unit 220 stores the N divided logs [i] after the processing of step S1611 as vehicle logs.
  • the first embodiment has been described as an example of the technology according to the present disclosure.
  • the technology according to the present disclosure is not limited to this, and is also applicable to the embodiment in which changes, replacements, additions, omissions, etc. are appropriately made.
  • the following modified examples are also included in one embodiment of the present disclosure.
  • the vehicle log transmission device 10 has been described as being installed in the vehicle, but the vehicle log transmission device 10 is an edge server that collects and transmits a plurality of vehicle logs. It may be a cloud server that collects vehicle logs.
  • the vehicle log analysis server 20 has been described as including the abnormality log detection unit 270 and the abnormality notification unit 280, but the abnormality log detection unit 270 and the abnormality notification unit 280 are not essential components. ..
  • the vehicle log analysis server 20 does not include the abnormality log detection unit 270 and the abnormality notification unit 280, for example, the collected vehicle log is manually analyzed, and when there is a trace of an attack, it is detected as an abnormality.
  • the vehicle log is described as the system operation log of the ECU or the network log according to CAN, CAN-FD, Ethernet, and FlexRay, but the ECU is IVI (In-Vehicle Information System). May be used, the sensor device may be used, the network may be LIN or MOST, or a combination thereof may be used.
  • IVI Intelligent Vehicle Information System
  • the vehicle log transmission device 10 and the vehicle log analysis server 20 have been described as sharing the vehicle log division processing rule in advance.
  • the log may be updated each time the log is transmitted, or may be periodically updated from the vehicle log analysis server 20.
  • the existing division log storage unit 230 may retain the vehicle log division processing rule that differs depending on the number of the vehicle equipped with the vehicle log transmission device 10 and the vehicle type.
  • the existing identifier storage unit 150 has been described as sharing the existing identifier list between the vehicle log transmission device 10 and the vehicle log analysis server 20 in advance. It may be updated each time the log transmission device 10 transmits a vehicle log, or may be updated periodically from the vehicle log analysis server 20.
  • the vehicle-side communication unit 170 has been described as transmitting the divided processing log or the hash value of the divided processing log, but LHA, ZIP, 7z, RAR, AFA, CAB, GCA, DGCA, Data compressed using a compression algorithm such as StuffIt, Compact Pro, pack, compress, bzip, bzip2, and Zstandard may be transmitted.
  • the vehicle log transmission necessity determination unit 140 refers to the existing identifier list stored in the vehicle log transmission device 10 and determines whether it is necessary to transmit the divided log.
  • the existing identifier list may be stored in the vehicle log analysis server 20.
  • the vehicle log transmission necessity determination unit 140 transmits the identifier of the division processing log to the vehicle log analysis server 20, and one of the existing division log identifiers of the existing division logs held by the vehicle log analysis server 20. When it matches with the log identifier, the divided processing log is determined not to be transmitted, and in response to the vehicle log transmission necessity determination unit 140, the vehicle log transmission necessity determination unit 140 transmits the divided processing log identifier and the existing division is performed.
  • the vehicle log transmission necessity determination unit 140 transmits the division processing log.
  • the vehicle log analysis server 20 may hold an existing log list of a plurality of vehicles for each vehicle type. As a result, it is possible to increase the possibility that the division processing log and the existing division log match.
  • the hash value is used as the identifier of the divided processing log, but a combination of a plurality of hash values may be used as an identifier by using a plurality of hash functions, or the hash value and the data may be combined. A set of sizes may be used as the identifier. As a result, even if the hash values of different logs match, the identifier and the log can be associated with each other.
  • the divided processing log includes the time or the time index, and the data is replaced with the predetermined value.
  • the information necessary for the abnormal log detection unit 270 to detect the abnormal log is described. May be limited to For example, when the abnormality log detection unit 270 detects an abnormality when the value of a specific data area is equal to or greater than a predetermined value, time information and detailed data are not necessary, and processing such as deleting time information or rounding data is performed. May be applied to the divided processing log.
  • the feature amount such as time-series difference information used in machine learning may be used as the data of the division processing log.
  • the abnormality notification unit 280 is described as notifying the user or the driver of the vehicle log analysis server 20 of the abnormality, but the notification destination may be the police or the Ministry of Transport. , It may be a shared organization of vulnerability information.
  • the vehicle log division processing rule is created when the vehicle log division processing unit 120 generates the division processing log from the vehicle log, and the vehicle log division processing rule of the vehicle log transmission device 10 and the vehicle log analysis server 20 is created. Although it was explained that it is shared between the two, in the row where the processing item of the vehicle log division processing rule is "division”, “sort (ascending order)", or “data replacement”, "processing presence” and “value before processing” are displayed. The “value after processing” may be shared in advance, not when the divided processing log is generated.
  • Part or all of the constituent elements of each device in the above embodiments may be composed of one system LSI (Large Scale Integration).
  • the system LSI is an ultra-multifunctional LSI manufactured by integrating a plurality of constituent parts on one chip, and specifically, is a computer system including a microprocessor, ROM, RAM and the like. . A computer program is recorded in the RAM.
  • the system LSI achieves its function by the microprocessor operating according to the computer program.
  • each part of the constituent elements of each of the above-described devices may be individually made into one chip, or may be made into one chip so as to include a part or all.
  • the system LSI is used here, it may be called IC, LSI, super LSI, or ultra LSI depending on the degree of integration.
  • the method of circuit integration is not limited to LSI, and it may be realized by a dedicated circuit or a general-purpose processor.
  • a programmable programmable gate array (FPGA) that can be programmed after the LSI is manufactured, or a reconfigurable processor that can reconfigure the connection and settings of circuit cells inside the LSI may be used.
  • FPGA programmable programmable gate array
  • a reconfigurable processor that can reconfigure the connection and settings of circuit cells inside the LSI may be used.
  • Part or all of the constituent elements of each of the above devices may be configured with an IC card that can be attached to and detached from each device or a single module.
  • the IC card or module is a computer system including a microprocessor, ROM, RAM and the like.
  • the IC card or module may include the above super-multifunctional LSI.
  • the IC card or module achieves its function by the microprocessor operating according to the computer program. This IC card or this module may be tamper resistant.
  • the present disclosure can be realized not only as the vehicle log transmission device 10, the vehicle log analysis server 20, and the vehicle log analysis system 100, but also in the vehicle including the steps of processing performed by each element that configures the vehicle log analysis system 100. It can be realized as a log transmission/reception method.
  • a vehicle including a plurality of data items each of which includes a vehicle log transmission method by the vehicle log transmission device 10 and a vehicle log reception method by the vehicle log analysis server 20, and each of which is associated with an ID indicating a data type.
  • An existing identifier storage unit 150 that stores an existing identifier list that is a list of identifiers corresponding to the existing divided log generated by dividing the existing vehicle log using the IDs included in the existing vehicle log is provided.
  • the log analysis server 20 includes an existing divided log storage unit 230 that stores an existing divided log list that is a list of existing divided logs and identifiers corresponding to the existing divided logs.
  • the vehicle log transmission method is shown in FIG. As described above, a vehicle log acquisition step of acquiring a vehicle log (step S1101), and a vehicle log division for generating one or more divided logs by dividing the acquired vehicle log using the ID included in the vehicle log An identifier is generated for each of the processing step (step S1102) and one or more divided logs, and the divided log corresponding to the identifier existing in the existing identifier list among the generated identifiers is determined as the first divided log.
  • a vehicle log transmission necessity determination step (steps S1104, S1105, S1107) of determining a divided log corresponding to an identifier that does not exist in the existing identifier list as a second divided log, and an identifier corresponding to the first divided log is a vehicle.
  • a vehicle-side communication step (steps S1110, S1111) of transmitting to the log analysis server and transmitting the second divided log to the vehicle log analysis server, and the vehicle log reception method is as shown in FIG.
  • a server-side communication step (steps S1201, S1203) that receives the identifier corresponding to the first divided log and the second divided log transmitted in the vehicle-side communication step, and an identifier corresponding to the first divided log
  • the existing divided log list is referred to acquire the existing divided log corresponding to the identifier in the existing divided log list, and the vehicle log is restored by combining the second divided log and the existing divided log. It includes a log restoration step (steps S1202, S1204, S1206) and a vehicle log storage step (step S1206) of storing the restored vehicle log.
  • the program may be a program (computer program) that implements the vehicle log transmission/reception method by a computer, or may be a digital signal including the computer program.
  • a computer program or a digital signal can be read by a recording medium such as a flexible disk, a hard disk, a CD-ROM, a MO, a DVD, a DVD-ROM, a DVD-RAM, and a BD (Blue).
  • -Ray (registered trademark) Disc) semiconductor memory, or the like may be used for recording. Further, it may be a digital signal recorded on these recording media.
  • a computer program or a digital signal may be transmitted via an electric communication line, a wireless or wired communication line, a network typified by the Internet, data broadcasting, or the like.
  • a computer system including a microprocessor and a memory may be configured such that the memory records the computer program and the microprocessor operates according to the computer program.
  • the program or the digital signal may be recorded on a recording medium and transferred, or the program or the digital signal may be transferred via a network or the like to be implemented by another independent computer system.
  • the vehicle log analysis system in the vehicle-mounted network system of the present disclosure it is possible to reduce the amount of vehicle log data transmitted between the vehicle and a server outside the vehicle.
  • the vehicle network log can be transmitted to an external server without preparing a resource capable of communicating a large amount of vehicle network logs, and unauthorized data can be transmitted to the vehicle network using the vehicle external server. It can detect intrusion and contribute to the safety of automobiles.
  • Vehicle Log Transmission Device 20 Vehicle Log Analysis Server 30a, 30b, 30c ECU 40a sensor 40b engine 40c steering 50 external network 60 vehicle network 100 vehicle log analysis system 110 vehicle log acquisition unit 120 vehicle log division processing unit 130, 240 vehicle log division processing rule storage unit 140 vehicle log transmission necessity determination unit 150 existing identifier storage Part 160 Existing identifier registration part 170 Vehicle side communication part 200 Vehicle 210 Server side communication part 220 Vehicle log restoration part 230 Existing division log storage part 250 Vehicle log storage part 260 Existing division log registration part 270 Abnormality log detection part 280 Abnormality notification part 300 Vehicle system

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • General Engineering & Computer Science (AREA)
  • Signal Processing (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Computer Hardware Design (AREA)
  • Computing Systems (AREA)
  • Software Systems (AREA)
  • Quality & Reliability (AREA)
  • Mathematical Physics (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Databases & Information Systems (AREA)
  • Data Mining & Analysis (AREA)
  • Debugging And Monitoring (AREA)
  • Small-Scale Networks (AREA)

Abstract

車両ログ送信装置(10)は、車両ログを取得する車両ログ取得部(110)と、取得された車両ログを当該車両ログに含まれるIDを用いて分割することで、1以上の分割ログを生成する車両ログ分割加工部(120)と、車両ログ送信装置(10)と車両ログ解析サーバとの間で共有されている既存の車両ログを当該既存の車両ログに含まれるIDを用いて分割することで生成された既存分割ログに対応する識別子のリストである既存識別子リストを記憶する既存識別子保存部(150)と、1以上の分割ログのそれぞれに対して識別子を生成し、生成した識別子のうち、既存識別子リストに存在する識別子に対応する分割ログを第一の分割ログと判断し、既存識別子リストに存在しない識別子に対応する分割ログを第二の分割ログと判断する車両ログ送信要否判定部(140)と、第一の分割ログに対応する識別子を車両ログ解析サーバへ送信し、第二の分割ログを車両ログ解析サーバへ送信する車両側通信部(170)と、を備える。

Description

車両ログ送信装置、車両ログ解析サーバ、車両ログ解析システムおよび車両ログ送受信方法
 本開示は、車両ログ送信装置、車両ログ解析サーバ、車両ログ解析システムおよび車両ログ送受信方法に関する。
 近年、自動車に搭載されるシステムには、電子制御装置(ECU:Electronic Control Unit)と呼ばれる装置が多数配置されている。これらのECUをつなぐネットワークは、車載ネットワークと呼ばれる。車載ネットワークには、多数の規格が存在する。その中でも最も主流な車載ネットワークの一つに、ISO11898-1で規定されているCAN(Controller Area Network)という規格が存在する。
 CANでは、通信路は2本のバスで構成され、バスに接続されているECUはノードと呼ばれる。バスに接続されている各ノードは、フレームと呼ばれるメッセージを送受信する。CANでは、送信先ノードや送信元ノードを指す識別子は存在せず、送信ノードはフレーム毎にメッセージIDと呼ばれるIDを付けて送信し、各受信ノードは予め定められたメッセージIDが付いたフレームのみを受信する。
 そのため、CANのバスにECUを接続し、異常な制御コマンドを含むフレームを正規のECUになりすまして送信することで、自動車を不正に制御できてしまうという脅威がある。
 この脅威に対して、車載ネットワークなどにおいて、不正なデータ、すなわち、異常な制御コマンドの侵入を検知する方法として、例えば、特許文献1に開示されている方法がある。
 しかしながら、車両の外部のサーバシステムが車載ネットワークシステムにおけるデータを監視する場合、大量のデータが車載ネットワークシステムから外部のサーバシステムへ送信される可能性がある。このような大量のデータを処理するための資源を準備することは容易ではない。
 この大量のデータに対して、所定のデータサイズごとに分割し、分割されたデータごとに、サーバに保存されているデータと比較し、データが一致する場合に分割されたデータのハッシュ値のみを送信し、データが一致しない場合に分割されたデータをサーバに送信することで、通信データ量を削減する方法が、特許文献2に開示されている。
特開2014-146868号公報 特開2012―79044号公報
 しかしながら、車載ネットワークログは、自動車の走行状況によって変動するデータと時刻データを含むため、従来技術の所定のデータサイズごとに分割する方法では、現在取得したログの分割データが、過去に取得されてサーバに保存されているログの分割データと一致する確率は低い。そのため、分割データの多くをサーバに送信する必要があり、ログを分割しない状態で送信する場合と比較して、通信データ量を大きく削減することが難しいという課題がある。
 そこで、本開示では、車両から車両の外部のサーバへ送信される車両ログの通信データ量を効果的に削減できる車両ログ送信装置等を提供する。
 上記課題を解決するために本開示の車両ログ送信装置は、データの種類を示すIDがそれぞれ対応付けられている複数のデータを含む車両ログを車両ログ解析サーバへ送信する車両ログ送信装置であって、前記車両ログを取得する車両ログ取得部と、取得された前記車両ログを当該車両ログに含まれるIDを用いて分割することで、1以上の分割ログを生成する車両ログ分割加工部と、前記車両ログ送信装置と前記車両ログ解析サーバとの間で共有されている既存の車両ログを当該既存の車両ログに含まれるIDを用いて分割することで生成された既存分割ログに対応する識別子のリストである既存識別子リストを記憶する既存識別子保存部と、前記1以上の分割ログのそれぞれに対して識別子を生成し、生成した識別子のうち、前記既存識別子リストに存在する識別子に対応する分割ログを第一の分割ログと判断し、前記既存識別子リストに存在しない識別子に対応する分割ログを第二の分割ログと判断する車両ログ送信要否判定部と、前記第一の分割ログに対応する識別子を前記車両ログ解析サーバへ送信し、前記第二の分割ログを前記車両ログ解析サーバへ送信する車両側通信部と、を備える。
 なお、これらの全般的または具体的な態様は、システム、方法、集積回路、コンピュータプログラムまたはコンピュータ読み取り可能なCD-ROMなどの記録媒体で実現されてもよく、システム、方法、集積回路、コンピュータプログラムおよび記録媒体の任意な組み合わせで実現されてもよい。
 本開示の一態様に係る車両ログ送信装置等は、車両と車両の外部のサーバの間で送信される車両ログの通信データ量を効果的に削減できる。その結果、大量の車両ログの通信が可能な資源を準備せずとも、車両ログを外部のサーバへ送信することができ、車両の外部サーバを用いて車両のネットワークへの不正なデータの侵入を検出することができ、車両の安全性に貢献できる。
図1は、本開示の実施の形態1における車両ログ解析システムの全体構成図である。 図2は、本開示の実施の形態1における車両ログ送信装置の構成図である。 図3は、本開示の実施の形態1における車両ログ解析サーバの構成図である。 図4は、本開示の実施の形態1における車両ログの一例を示す図である。 図5は、本開示の実施の形態1における車両ログ定義テーブルの一例を示す図である。 図6は、本開示の実施の形態1における車両ログ分割加工ルールの一例を示す図である。 図7は、本開示の実施の形態1における分割加工ログの一例を示す図である。 図8は、本開示の実施の形態1における分割加工ログの識別子の一例を示す図である。 図9は、本開示の実施の形態1における既存識別子リストの一例を示す図である。 図10は、本開示の実施の形態1における既存分割ログリストの一例を示す図である。 図11は、本開示の実施の形態1における車両ログ送信処理のシーケンスを示す図である。 図12は、本開示の実施の形態1における車両ログ受信処理のシーケンスを示す図である。 図13は、本開示の実施の形態1における異常ログ検出処理のシーケンスを示す図である。 図14は、本開示の実施の形態1における車両ログ分割加工処理のフローチャートである。 図15は、本開示の実施の形態1における分割加工ログ送信処理のフローチャートである。 図16は、本開示の実施の形態1における車両ログ復元処理のフローチャートである。
 本開示の車載ログ送信装置は、データの種類を示すIDがそれぞれ対応付けられている複数のデータを含む車両ログを車両ログ解析サーバへ送信する車両ログ送信装置であって、前記車両ログを取得する車両ログ取得部と、取得された前記車両ログを当該車両ログに含まれるIDを用いて分割することで、1以上の分割ログを生成する車両ログ分割加工部と、前記車両ログ送信装置と前記車両ログ解析サーバとの間で共有されている既存の車両ログを当該既存の車両ログに含まれるIDを用いて分割することで生成された既存分割ログに対応する識別子のリストである既存識別子リストを記憶する既存識別子保存部と、前記1以上の分割ログのそれぞれに対して識別子を生成し、生成した識別子のうち、前記既存識別子リストに存在する識別子に対応する分割ログを第一の分割ログと判断し、前記既存識別子リストに存在しない識別子に対応する分割ログを第二の分割ログと判断する車両ログ送信要否判定部と、前記第一の分割ログに対応する識別子を前記車両ログ解析サーバへ送信し、前記第二の分割ログを前記車両ログ解析サーバへ送信する車両側通信部と、を備える。
 これにより、車両ログにおいて、特定のシステムの動作結果または特定のメッセージの送信結果等のデータにIDが対応付けられている場合、車両ログをIDを用いて分割することで、データの種類に応じて車両ログを分割でき、データの種類と関係なく単純にデータサイズに応じて分割する場合に比べて、分割ログと既存分割ログとが一致する確率が高くなる。そのため、既存分割ログに対応する識別子と一致する第一の分割ログに対応する識別子が多くなり、第二の分割ログが送信されにくく、データサイズが小さい、第一の分割ログに対応する識別子が送信されやすくなる。したがって、車両から車両の外部のサーバ(車両ログ解析サーバ)へ送信される車両ログの通信データ量を効果的に削減できる。
 また、前記車両ログ分割加工部は、取得された前記車両ログを当該車両ログに含まれるIDごとに分割することで、前記1以上の分割ログを生成し、前記既存識別子保存部は、前記既存の車両ログを当該既存の車両ログに含まれるIDごとに分割することで生成された前記既存分割ログに対応するリストである前記既存識別子リストを記憶するとしてもよい。
 これにより、車両ログをIDごとに分割することで、データの種類ごとに車両ログを分割でき、分割ログと既存分割ログとが一致する確率がさらに高くなる。そのため、既存分割ログに対応する識別子と一致する第一の分割ログに対応する識別子がさらに多くなり、第二の分割ログが送信されにくく、第一の分割ログに対応する識別子が送信されやすくなる。したがって、車両から車両の外部のサーバへ送信される車両ログの通信データ量をより効果的に削減できる。
 また、前記車両ログは、所定のIDを起点とする複数のIDを1周期として当該複数のIDが周期的に繰り返されるように並べられた前記複数のデータを含み、前記車両ログ分割加工部は、取得された前記車両ログを当該車両ログに含まれる前記所定のIDを起点とする複数のIDごとに分割することで、前記1以上の分割ログを生成し、前記既存識別子保存部は、前記既存の車両ログを当該既存の車両ログに含まれる前記所定のIDを起点とする複数のIDごとに分割することで生成された前記既存分割ログに対応する識別子のリストである前記既存識別子リストを記憶するとしてもよい。
 これにより、車両ログにおいて、IDごとの特定のシステムの動作結果またはIDごとの特定のメッセージの送信結果等のデータが、所定のIDを起点とする複数のIDを1周期として当該複数のIDが周期的に繰り返されるように並べられる場合、分割ログのそれぞれが所定のIDから始まるように車両ログを分割することで、分割ログに含まれる1周期のIDと既存分割ログに含まれる1周期のIDとが同一になりやすい。そのため、分割ログと既存分割ログとが一致する確率がさらに高くなり、既存分割ログに対応する識別子と一致する第一の分割ログに対応する識別子がさらに多くなり、第二の分割ログが送信されにくく、第一の分割ログに対応する識別子が送信されやすくなる。したがって、車両から車両の外部のサーバへ送信される車両ログの通信データ量をより効果的に削減できる。
 また、前記車両ログは、時刻情報がそれぞれ対応付けられている前記複数のデータを含み、前記車両ログ分割加工部は、さらに、前記1以上の分割ログに含まれる時刻情報を時刻インデックス情報に置換する処理を実施し、前記既存識別子保存部は、さらに、時刻情報が時刻インデックス情報に置換された前記既存分割ログに対応する識別子のリストである前記既存識別子リストを記憶し、前記車両側通信部は、さらに、前記車両ログ解析サーバへ時刻情報と時刻インデックス情報との対応関係を示す時刻リストを送信するとしてもよい。
 時刻情報は、分割ログと既存分割ログとで確実に異なる情報となり、分割ログと既存分割ログとの一致を妨げる要因となる情報である。これに対して、分割ログおよび既存分割ログの時刻情報が時刻インデックス情報に置き換えられることで、時刻情報を分割ログと既存分割ログとの一致判定から除外することができるため、分割ログと既存分割ログとが一致する確率がさらに高くなる。そのため、既存分割ログに対応する識別子と一致する第一の分割ログに対応する識別子がさらに多くなり、第二の分割ログが送信されにくく、第一の分割ログに対応する識別子が送信されやすくなる。したがって、車両から車両の外部のサーバへ送信される車両ログの通信データ量をより効果的に削減できる。
 また、前記車両ログ分割加工部は、さらに、前記1以上の分割ログに含まれるIDの値またはデータの値の大きさに応じて前記1以上の分割ログを並び替える処理を実施し、前記既存識別子保存部は、さらに、IDの値またはデータの値の大きさに応じて並び替えられた前記既存分割ログに対応する識別子のリストである前記既存識別子リストを記憶するとしてもよい。
 これにより、分割ログおよび既存分割ログに変動値データが含まれる場合、分割ログおよび既存分割ログが変動値データの値の大きい順や小さい順に並び替えられることで、分割ログと既存分割ログとが一致する確率が高くなる。そのため、既存分割ログに対応する識別子と一致する第一の分割ログに対応する識別子がさらに多くなり、第二の分割ログが送信されにくく、第一の分割ログに対応する識別子が送信されやすくなる。したがって、車両から車両の外部のサーバへ送信される車両ログの通信データ量をより効果的に削減できる。
 また、前記車両ログ分割加工部は、さらに、前記1以上の分割ログに含まれるデータの値を所定値に置換する置換処理または前記データの値を丸める端数処理を実施し、前記既存識別子保存部は、さらに、前記置換処理または前記端数処理が実施された前記既存分割ログに対応する識別子のリストである前記既存識別子リストを記憶するとしてもよい。
 これにより、カウンタやチェックサムなどの車両の特定の機能の動作時刻や動作回数に応じて変動するデータなど、車両の制御と関係しないデータ、または、センサなどの細かい値などを、分割ログと既存分割ログとの一致判定から除外することができるため、分割ログと既存分割ログとが一致する確率がさらに高くなる。そのため、既存分割ログに対応する識別子と一致する第一の分割ログに対応する識別子がさらに多くなり、第二の分割ログが送信されにくく、第一の分割ログに対応する識別子が送信されやすくなる。したがって、車両から車両の外部のサーバへ送信される車両ログの通信データ量をより効果的に削減できる。
 また、前記車両ログ送信装置は、さらに、前記車両ログ送信要否判定部が前記第二の分割ログと判断した分割ログに対応する識別子を前記既存識別子リストに登録する既存識別子登録部を備えるとしてもよい。
 これにより、送信車両ログ送信装置と車両ログ解析サーバとの間で事前に分割ログを共有する必要がなくなり、事前に既存分割ログを構築しなくてもよい分、開発コストを低減できる。また、車両ログ解析サーバに車両ログが集まるほど、既存分割ログの種類数が増え、分割ログと既存分割ログとが一致する確率が高くなる。そのため、既存分割ログに対応する識別子と一致する第一の分割ログに対応する識別子がさらに多くなり、第二の分割ログが送信されにくく、第一の分割ログに対応する識別子が送信されやすくなる。したがって、車両から車両の外部のサーバへ送信される車両ログの通信データ量をより効果的に削減できる。
 また、本開示の車両ログ解析サーバは、データの種類を示すIDがそれぞれ対応付けられている複数のデータを含む車両ログを車両ログ送信装置から受信する車両ログ解析サーバであって、前記車両ログ送信装置から、前記車両ログを当該車両ログに含まれるIDを用いて分割することで生成された1以上の分割ログのうちの第一の分割ログに対応する識別子と、前記1以上の分割ログのうちの前記第一の分割ログを除く第二の分割ログとを受信するサーバ側通信部と、前記車両ログ送信装置と前記車両ログ解析サーバとの間で共有されている既存の車両ログを当該既存の車両ログに含まれるIDを用いて分割することで生成された既存分割ログと、前記既存分割ログに対応する識別子とのリストである既存分割ログリストを記憶する既存分割ログ保存部と、前記第一の分割ログに対応する識別子を受信した場合に前記既存分割ログリストを参照して前記既存分割ログリストにおいて当該識別子に対応する既存分割ログを取得し、前記第二の分割ログと前記既存分割ログとを結合して車両ログを復元する車両ログ復元部と、復元された前記車両ログを記憶する車両ログ保存部と、を備える。
 これにより、車両ログにおいて、特定のシステムの動作結果または特定のメッセージの送信結果等のデータにIDが対応付けられている場合、車両ログをIDを用いて分割することで、データの種類に応じて車両ログを分割でき、データの種類と関係なく単純にデータサイズに応じて分割する場合に比べて、分割ログと既存分割ログとが一致する確率が高くなる。そのため、既存分割ログに対応する識別子と一致する第一の分割ログに対応する識別子が多くなり、第二の分割ログが送信されにくく、データサイズが小さい、第一の分割ログに対応する識別子が送信されやすくなる。したがって、車両から車両の外部のサーバへ送信される車両ログの通信データ量を効果的に削減できる。
 また、前記サーバ側通信部は、前記車両ログ送信装置から、前記車両ログを当該車両ログに含まれるIDごとに分割することで生成された前記1以上の分割ログのうちの前記第一の分割ログに対応する識別子と、前記1以上の分割ログのうちの前記第二の分割ログとを受信し、前記既存分割ログ保存部は、前記既存の車両ログを当該既存の車両ログに含まれるIDごとに分割することで生成された前記既存分割ログと、前記既存分割ログに対応する識別子とのリストである前記既存分割ログリストを記憶するとしてもよい。
 これにより、車両ログをIDごとに分割することで、データの種類ごとに車両ログを分割でき、分割ログと既存分割ログとが一致する確率がさらに高くなる。そのため、既存分割ログに対応する識別子と一致する第一の分割ログに対応する識別子がさらに多くなり、第二の分割ログが送信されにくく、第一の分割ログに対応する識別子が送信されやすくなる。したがって、車両から車両の外部のサーバへ送信される車両ログの通信データ量をより効果的に削減できる。
 また、前記車両ログは、所定のIDを起点とする複数のIDを1周期として当該複数のIDが周期的に繰り返されるように並べられた前記複数のデータを含み、前記サーバ側通信部は、前記車両ログ送信装置から、前記車両ログを当該車両ログに含まれる前記所定のIDを起点とする複数のIDごとに分割することで生成された前記1以上の分割ログのうちの前記第一の分割ログに対応する識別子と、前記1以上の分割ログのうちの前記第二の分割ログとを受信し、前記既存分割ログ保存部は、前記既存の車両ログを当該既存の車両ログに含まれる前記所定のIDを起点とする複数のIDごとに分割することで生成された前記既存分割ログと、前記既存分割ログに対応する識別子とのリストである前記既存分割ログリストを記憶するとしてもよい。
 これにより、車両ログにおいて、IDごとの特定のシステムの動作結果またはIDごとの特定のメッセージの送信結果等のデータが、所定のIDを起点とする複数のIDを1周期として当該複数のIDが周期的に繰り返されるように並べられる場合、分割ログのそれぞれが所定のIDから始まるように車両ログを分割することで、分割ログに含まれる1周期のIDと既存分割ログに含まれる1周期のIDとが同一になる。そのため、分割ログと既存分割ログとが一致する確率がさらに高くなり、既存分割ログに対応する識別子と一致する第一の分割ログに対応する識別子がさらに多くなり、第二の分割ログが送信されにくく、第一の分割ログに対応する識別子が送信されやすくなる。したがって、車両から車両の外部のサーバへ送信される車両ログの通信データ量をより効果的に削減できる。
 また、前記車両ログ解析サーバは、さらに、復元された前記車両ログを監視し、当該車両ログに攻撃の痕跡が含まれる場合に異常ログとして検出する異常ログ検出部と、所定の通知先に車両が異常であることを通知する異常通知部と、を備えるとしてもよい。
 これにより、復元された車両ログからセキュリティ上の異常が検出された場合に、所定の通知先に車両が異常であることを通知できる。
 また、前記異常ログ検出部は、さらに、過去に異常と判定された車両ログを当該車両ログに含まれるIDを用いて分割することで生成された異常分割ログに対応する識別子のリストである異常識別子リストを保持し、前記サーバ側通信部が前記第一の分割ログに対応する識別子を受信した場合、当該識別子が前記異常識別子リストに含まれる場合に異常として検出し、前記サーバ側通信部が前記第二の分割ログを受信した場合に、前記第二の分割ログに攻撃の痕跡が含まれるときには、前記第二の分割ログを異常ログとして検出し、当該異常ログを当該異常ログに含まれるIDを用いて分割することで生成された異常分割ログを前記異常識別子リストに登録するとしてもよい。
 これにより、異常な分割ログの識別子を記憶しておくことで、車両ログをすべて復元することなく、分割ログの識別子のみで異常を検出することができる。そのため、車両ログを受信してから異常を検出するまでの時間が短くなり、異常への対策を素早く実施できる。
 また、前記車両ログは、時刻情報がそれぞれ対応付けられている前記複数のデータを含み、前記サーバ側通信部は、前記車両ログ送信装置から、時刻情報が時刻インデックス情報に置換された前記1以上の分割ログのうちの前記第一の分割ログに対応する識別子と、前記1以上の分割ログのうちの前記第二の分割ログと、時刻情報と時刻インデックス情報との対応関係を示す時刻リストとを受信し、前記既存分割ログ保存部は、さらに、時刻情報が時刻インデックス情報に置換された前記既存分割ログと、前記既存分割ログに対応する識別子とのリストである前記既存分割ログリストを記憶し、前記車両ログ復元部は、前記第一の分割ログに対応する識別子を受信した場合に前記既存分割ログリストを参照して前記既存分割ログリストにおいて当該識別子に対応する前記既存分割ログを取得し、前記時刻リストを参照して前記既存分割ログに含まれる時刻インデックス情報を時刻情報に置換し、前記第二の分割ログと前記既存分割ログとを結合して車両ログを復元するとしてもよい。
 時刻情報は、分割ログと既存分割ログとで確実に異なる情報となり、分割ログと既存分割ログとの一致を妨げる要因となる情報である。これに対して、分割ログおよび既存分割ログの時刻情報が時刻インデックス情報に置き換えられることで、時刻情報を分割ログと既存分割ログとの一致判定から除外することができるため、分割ログと既存分割ログとが一致する確率がさらに高くなる。そのため、既存分割ログに対応する識別子と一致する第一の分割ログに対応する識別子がさらに多くなり、第二の分割ログが送信されにくく、第一の分割ログに対応する識別子が送信されやすくなる。したがって、車両から車両の外部のサーバへ送信される車両ログの通信データ量をより効果的に削減できる。
 また、前記サーバ側通信部は、IDの値またはデータの値の大きさに応じて並び替えられた前記1以上の分割ログのうちの前記第一の分割ログに対応する識別子と、前記1以上の分割ログのうちの前記第二の分割ログとを受信し、前記既存分割ログ保存部は、さらに、IDの値またはデータの値の大きさに応じて並び替えられた前記既存分割ログと、前記既存分割ログに対応する識別子とのリストである前記既存分割ログリストを記憶し、前記車両ログ復元部は、前記第一の分割ログに対応する識別子を受信した場合に前記既存分割ログリストを参照して前記既存分割ログリストにおいて当該識別子に対応する前記既存分割ログを取得し、前記時刻リストを参照して前記既存分割ログの時刻インデックス情報を時刻情報に置換し、置換された前記時刻情報を参照して前記既存分割ログを時刻が早い順に並び替え、前記第二の分割ログと前記既存分割ログとを結合して車両ログを復元するとしてもよい。
 これにより、分割ログおよび既存分割ログに変動値データが含まれる場合、分割ログおよび既存分割ログが変動値データの値の大きい順や小さい順に並び替えられることで、分割ログと既存分割ログとが一致する確率が高くなる。そのため、既存分割ログに対応する識別子と一致する第一の分割ログに対応する識別子がさらに多くなり、第二の分割ログが送信されにくく、第一の分割ログに対応する識別子が送信されやすくなる。したがって、車両から車両の外部のサーバへ送信される車両ログの通信データ量をより効果的に削減できる。
 また、前記サーバ側通信部は、データの値を所定値に置換する置換処理または前記データの値を丸める端数処理が実施された前記1以上の分割ログのうちの前記第一の分割ログに対応する識別子と、前記1以上の分割ログのうちの前記第二の分割ログとを受信し、前記既存分割ログ保存部は、さらに、前記置換処理または前記端数処理が実施された前記既存分割ログと、前記既存分割ログに対応する識別子とのリストである前記既存分割ログリストを記憶するとしてもよい。
 これにより、カウンタやチェックサムなどの車両の特定の機能の動作時刻や動作回数に応じて変動するデータなど、車両の制御と関係しないデータ、または、センサなどの細かい値などを、分割ログと既存分割ログとの一致判定から除外することができるため、分割ログと既存分割ログとが一致する確率がさらに高くなる。そのため、既存分割ログに対応する識別子と一致する第一の分割ログに対応する識別子がさらに多くなり、第二の分割ログが送信されにくく、第一の分割ログに対応する識別子が送信されやすくなる。したがって、車両から車両の外部のサーバへ送信される車両ログの通信データ量をより効果的に削減できる。
 また、前記車両ログ解析サーバは、さらに、前記第二の分割ログを受信した場合に、前記第二の分割ログに対応する識別子を生成し、前記第二の分割ログと当該識別子とを前記既存分割ログリストに登録する既存分割ログ登録部を備えるとしてもよい。
 これにより、送信車両ログ送信装置と車両ログ解析サーバとの間で事前に分割ログを共有する必要がなくなり、事前に既存分割ログを構築しなくてもよい分、開発コストを低減できる。また、車両ログ解析サーバに車両ログが集まるほど、既存分割ログの種類数が増え、分割ログと既存分割ログとが一致する確率が高くなる。そのため、既存分割ログに対応する識別子と一致する第一の分割ログに対応する識別子がさらに多くなり、第二の分割ログが送信されにくく、第一の分割ログに対応する識別子が送信されやすくなる。したがって、車両から車両の外部のサーバへ送信される車両ログの通信データ量をより効果的に削減できる。
 また、車両ログ解析システムは、車両ログ送信装置と車両ログ解析サーバとから構成され、データの種類を示すIDがそれぞれ対応付けられている複数のデータを含む車両ログを前記車両ログ送信装置から前記車両ログ解析サーバへ送信する車両ログ解析システムであって、前記車両ログ送信装置は、前記車両ログを取得する車両ログ取得部と、取得された前記車両ログを当該車両ログに含まれるIDを用いて分割することで、1以上の分割ログを生成する車両ログ分割加工部と、前記車両ログ送信装置と前記車両ログ解析サーバの間で共有されている既存の車両ログを当該既存の車両ログに含まれるIDを用いて分割することで生成された既存分割ログに対応する識別子のリストである既存識別子リストを記憶する既存識別子保存部と、前記1以上の分割ログのそれぞれに対して識別子を生成し、生成した識別子のうち、前記既存識別子リストに存在する識別子に対応する分割ログを第一の分割ログと判断し、前記既存識別子リストに存在しない識別子に対応する分割ログを第二の分割ログと判断する車両ログ送信要否判定部と、前記第一の分割ログに対応する識別子を前記車両ログ解析サーバへ送信し、前記第二の分割ログを前記車両ログ解析サーバへ送信する車両側通信部と、を備え、前記車両ログ解析サーバは、前記車両側通信部から送信された前記第一の分割ログに対応する識別子と前記第二の分割ログとを受信するサーバ側通信部と、前記既存分割ログと、前記既存分割ログに対応する識別子とのリストである既存分割ログリストを記憶する既存分割ログ保存部と、前記第一の分割ログに対応する識別子を受信した場合に前記既存分割ログリストを参照して前記既存分割ログリストにおいて当該識別子に対応する既存分割ログを取得し、前記第二の分割ログと前記既存分割ログとを結合して車両ログを復元する車両ログ復元部と、復元された車両ログを記憶する車両ログ保存部と、を備える。
 これにより、車両ログにおいて、特定のシステムの動作結果または特定のメッセージの送信結果等のデータにIDが対応付けられている場合、車両ログをIDを用いて分割することで、データの種類に応じて車両ログを分割でき、データの種類と関係なく単純にデータサイズに応じて分割する場合に比べて、分割ログと既存分割ログとが一致する確率が高くなる。そのため、既存分割ログに対応する識別子と一致する第一の分割ログに対応する識別子が多くなり、第二の分割ログが送信されにくく、データサイズが小さい、第一の分割ログに対応する識別子が送信されやすくなる。したがって、車両から車両の外部のサーバへ送信される車両ログの通信データ量を効果的に削減できる。
 また、前記車両ログ分割加工部は、取得された前記車両ログを当該車両ログに含まれるIDごとに分割することで、前記1以上の分割ログを生成し、前記既存識別子保存部は、前記既存の車両ログを当該既存の車両ログに含まれるIDごとに分割することで生成された前記既存分割ログに対応するリストである前記既存識別子リストを記憶し、前記サーバ側通信部は、前記車両側通信部から送信された、前記1以上の分割ログのうちの前記第一の分割ログに対応する識別子と、前記1以上の分割ログのうちの前記第二の分割ログとを受信し、前記既存分割ログ保存部は、前記既存の車両ログを前記既存の車両ログに含まれるIDごとに分割することで生成された前記既存分割ログと、前記既存分割ログに対応する識別子とのリストである前記既存分割ログリストを記憶するとしてもよい。
 これにより、車両ログをIDごとに分割することで、データの種類ごとに車両ログを分割でき、分割ログと既存分割ログとが一致する確率がさらに高くなる。そのため、既存分割ログに対応する識別子と一致する第一の分割ログに対応する識別子がさらに多くなり、第二の分割ログが送信されにくく、第一の分割ログに対応する識別子が送信されやすくなる。したがって、車両から車両の外部のサーバへ送信される車両ログの通信データ量をより効果的に削減できる。
 また、前記車両ログは、所定のIDを起点とする複数のIDを1周期として当該複数のIDが周期的に繰り返されるように並べられた前記複数のデータを含み、前記車両ログ分割加工部は、取得された前記車両ログを当該車両ログに含まれる前記所定のIDを起点とする複数のIDごとに分割することで、前記1以上の分割ログを生成し、前記既存識別子保存部は、前記既存の車両ログを当該既存の車両ログに含まれる前記所定のIDを起点とする複数のIDごとに分割することで生成された前記既存分割ログに対応する識別子のリストである前記既存識別子リストを記憶し、前記サーバ側通信部は、前記車両側通信部から送信された、前記1以上の分割ログのうちの前記第一の分割ログに対応する識別子と、前記1以上の分割ログのうちの前記第二の分割ログとを受信し、前記既存識別子保存部は、前記既存の車両ログを当該既存の車両ログに含まれるIDごとに分割することで生成された前記既存分割ログと、前記既存分割ログに対応する識別子とのリストである前記既存分割ログリストを記憶するとしてもよい。
 これにより、車両ログにおいて、IDごとの特定のシステムの動作結果またはIDごとの特定のメッセージの送信結果等のデータが、所定のIDを起点とする複数のIDを1周期として当該複数のIDが周期的に繰り返されるように並べられる場合、分割ログのそれぞれが所定のIDから始まるように車両ログを分割することで、分割ログに含まれる1周期のIDと既存分割ログに含まれる1周期のIDとが同一になる。そのため、分割ログと既存分割ログとが一致する確率がさらに高くなり、既存分割ログに対応する識別子と一致する第一の分割ログに対応する識別子がさらに多くなり、第二の分割ログが送信されにくく、第一の分割ログに対応する識別子が送信されやすくなる。したがって、車両から車両の外部のサーバへ送信される車両ログの通信データ量をより効果的に削減できる。
 また、前記車両ログは、時刻情報がそれぞれ対応付けられている前記複数のデータを含み、前記車両ログ分割加工部は、さらに、前記1以上の分割ログに含まれる時刻情報を時刻インデックス情報に置換する処理を実施し、前記既存識別子保存部は、さらに、時刻情報を時刻インデックス情報に置換された前記既存分割ログに対応する識別子のリストである前記既存識別子リストを記憶し、前記車両側通信部は、さらに、前記車両ログ解析サーバへ時刻情報と時刻インデックス情報との対応関係を示す時刻リストを送信し、前記サーバ側通信部は、さらに、前記車両側通信部から、前記時刻リストを受信し、前記既存分割ログ保存部は、さらに、時刻情報が時刻インデックス情報に置換された前記既存分割ログと、前記既存分割ログに対応する識別子とのリストである前記既存分割ログリストを記憶し、前記車両ログ復元部は、前記第一の分割ログに対応する識別子を受信した場合に前記既存分割ログリストを参照して前記既存分割ログリストにおいて当該識別子に対応する前記既存分割ログを取得し、前記時刻リストを参照して前記既存分割ログに含まれる時刻インデックス情報を時刻情報に置換し、前記第二の分割ログと前記既存分割ログとを結合して車両ログを復元するとしてもよい。
 時刻情報は、分割ログと既存分割ログとで確実に異なる情報となり、分割ログと既存分割ログとの一致を妨げる要因となる情報である。これに対して、分割ログおよび既存分割ログの時刻情報が時刻インデックス情報に置き換えられることで、時刻情報を分割ログと既存分割ログとの一致判定から除外することができるため、分割ログと既存分割ログとが一致する確率がさらに高くなる。そのため、既存分割ログに対応する識別子と一致する第一の分割ログに対応する識別子がさらに多くなり、第二の分割ログが送信されにくく、第一の分割ログに対応する識別子が送信されやすくなる。したがって、車両から車両の外部のサーバへ送信される車両ログの通信データ量をより効果的に削減できる。
 また、前記車両ログ分割加工部は、さらに、前記1以上の分割ログに含まれるIDの値またはデータの値の大きさに応じて前記1以上の分割ログを並び替える処理を実施し、前記既存識別子保存部は、さらに、IDの値またはデータの値の大きさに応じて並び替えられた前記既存分割ログに対応する識別子のリストである前記既存識別子リストを記憶し、前記サーバ側通信部は、IDの値またはデータの値の大きさに応じて並び替えられた前記1以上の分割ログのうちの前記第一の分割ログに対応する識別子と、前記1以上の分割ログのうちの前記第二の分割ログとを受信し、前記既存分割ログ保存部は、さらに、IDの値またはデータの値の大きさに応じて並び替えられた前記既存分割ログと、既存分割ログに対応する識別子とのリストである前記既存分割ログリストを記憶し、前記車両ログ復元部は、前記第一の分割ログに対応する識別子を受信した場合に前記既存分割ログリストを参照して前記既存分割ログリストにおいて当該識別子に対応する前記既存分割ログを取得し、前記時刻リストを参照して、前記既存分割ログの時刻インデックス情報を時刻情報に置換し、置換された前記時刻情報を参照して前記既存分割ログを時刻が早い順に並び替え、前記第二の分割ログと前記既存分割ログとを結合して車両ログを復元するとしてもよい。
 これにより、分割ログおよび既存分割ログに変動値データが含まれる場合、分割ログおよび既存分割ログが変動値データの値の大きい順や小さい順に並び替えられることで、分割ログと既存分割ログとが一致する確率が高くなる。そのため、既存分割ログに対応する識別子と一致する第一の分割ログに対応する識別子がさらに多くなり、第二の分割ログが送信されにくく、第一の分割ログに対応する識別子が送信されやすくなる。したがって、車両から車両の外部のサーバへ送信される車両ログの通信データ量をより効果的に削減できる。
 また、前記車両ログ分割加工部は、さらに、前記1以上の分割ログに含まれるデータの値を所定値に置換する置換処理または前記データの値を丸める端数処理を実施し、前記既存識別子保存部は、さらに、前記置換処理または前記端数処理が実施された前記既存分割ログに対応する識別子のリストである前記既存識別子リストを記憶し、前記サーバ側通信部は、前記置換処理または前記端数処理が実施された前記1以上の分割ログのうちの前記第一の分割ログに対応する識別子と、前記1以上の分割ログのうちの前記第二の分割ログとを受信し、前記既存分割ログ保存部は、さらに、前記置換処理または前記端数処理が実施された前記既存分割ログと、前記既存分割ログに対応する識別子とのリストである既存分割ログリストを記憶するとしてもよい。
 これにより、カウンタやチェックサムなどの車両の特定の機能の動作時刻や動作回数に応じて変動するデータなど、車両の制御と関係しないデータ、または、センサなどの細かい値などを、分割ログと既存分割ログとの一致判定から除外することができるため、分割ログと既存分割ログとが一致する確率がさらに高くなる。そのため、既存分割ログに対応する識別子と一致する第一の分割ログに対応する識別子がさらに多くなり、第二の分割ログが送信されにくく、第一の分割ログに対応する識別子が送信されやすくなる。したがって、車両から車両の外部のサーバへ送信される車両ログの通信データ量をより効果的に削減できる。
 また、前記車両ログ解析サーバは、さらに、復元された前記車両ログを監視し、当該車両ログに攻撃の痕跡が含まれる場合に異常ログとして検出する異常ログ検出部と、所定の通知先に車両が異常であることを通知する異常通知部と、を備えるとしてもよい。
 これにより、復元された車両ログからセキュリティ上の異常が検出された場合に、所定の通知先に車両が異常であることを通知できる。
 また、前記異常ログ検出部は、さらに、過去に異常と判定された車両ログを当該車両ログに含まれるIDを用いて分割することで生成された異常分割ログに対応する識別子のリストである異常識別子リストを保持し、前記サーバ側通信部が前記第一の分割ログに対応する識別子を受信した場合、当該識別子が前記異常識別子リストに含まれる場合に異常として検出し、前記サーバ側通信部が前記第二の分割ログを受信した場合に、前記第二の分割ログに攻撃の痕跡が含まれるときには、前記第二の分割ログを異常ログとして検出し、当該異常ログを当該異常ログに含まれるIDを用いて分割することで生成された異常分割ログを前記異常識別子リストに登録するとしてもよい。
 これにより、異常な分割ログの識別子を記憶しておくことで、車両ログをすべて復元することなく、分割ログの識別子のみで異常を検出することができる。そのため、車両ログを受信してから異常を検出するまでの時間が短くなり、異常への対策を素早く実施できる。
 また、前記車両ログ送信装置は、さらに、前記車両ログ送信要否判定部が前記第二の分割ログと判断した分割ログに対応する識別子を前記既存識別子リストに登録する既存識別子登録部を備え、前記車両ログ解析サーバは、さらに、前記第二の分割ログを受信した場合に、前記第二の分割ログに対応する識別子を生成し、前記第二の分割ログと当該識別子とを前記既存分割ログリストに登録する既存分割ログ登録部を備えるとしてもよい。
 これにより、送信車両ログ送信装置と車両ログ解析サーバとの間で事前に分割ログを共有する必要がなくなり、事前に既存分割ログを構築しなくてもよい分、開発コストを低減できる。また、車両ログ解析サーバに車両ログが集まるほど、既存分割ログの種類数が増え、分割ログと既存分割ログとが一致する確率が高くなる。そのため、既存分割ログに対応する識別子と一致する第一の分割ログに対応する識別子がさらに多くなり、第二の分割ログが送信されにくく、第一の分割ログに対応する識別子が送信されやすくなる。したがって、車両から車両の外部のサーバへ送信される車両ログの通信データ量をより効果的に削減できる。
 また、前記車両ログ取得部は、前記車両ログのIDとしてフレームIDを含むCANまたはCAN-FDプロトコルに従う車載ネットワークログと、前記車両ログのIDとしてスロットIDを含むFlexRay(登録商標)プロトコルに従う車載ネットワークログと、前記車両ログにIDとしてIPアドレスを含むEthernet(登録商標)プロトコルに従う車載ネットワークログと、前記車両ログにIDとしてプロセス番号を含むシステム動作ログとのうちの、少なくとも1つの前記車両ログを取得するとしてもよい。
 これにより、特定のプロトコルに従うログを収集することで、車両ログのフォーマットが統一化され、分割ログと既存分割ログとが一致する確率が高くなる。そのため、既存分割ログに対応する識別子と一致する第一の分割ログに対応する識別子がさらに多くなり、第二の分割ログが送信されにくく、第一の分割ログに対応する識別子が送信されやすくなる。したがって、車両から車両の外部のサーバへ送信される車両ログの通信データ量をより効果的に削減できる。
 また、本開示の車両ログ送受信方法は、車両ログ送信装置による車両ログ送信方法と車両ログ解析サーバによる車両ログ受信方法とから構成され、データの種類を示すIDがそれぞれ対応付けられている複数のデータを含む車両ログを前記車両ログ送信装置から前記車両ログ解析サーバへ送信する車両ログ送受信方法であって、前記車両ログ送信装置は、前記車両ログ送信装置と前記車両ログ解析サーバとの間で共有されている既存の車両ログを当該既存の車両ログに含まれるIDを用いて分割することで生成された既存分割ログに対応する識別子のリストである既存識別子リストを記憶する既存識別子保存部を備え、前記車両ログ解析サーバは、前記既存分割ログと、前記既存分割ログに対応する識別子とのリストである既存分割ログリストを記憶する既存分割ログ保存部を備え、前記車両ログ送信方法は、車両ログを取得する車両ログ取得ステップと、取得された前記車両ログを当該車両ログに含まれるIDを用いて分割することで、1以上の分割ログを生成する車両ログ分割加工ステップと、前記1以上の分割ログのそれぞれに対して識別子を生成し、生成した識別子のうち、前記既存識別子リストに存在する識別子に対応する分割ログを第一の分割ログと判断し、前記既存識別子リストに存在しない識別子に対応する分割ログを第二の分割ログと判断する車両ログ送信要否判定ステップと、前記第一の分割ログに対応する識別子を前記車両ログ解析サーバへ送信し、前記第二の分割ログを前記車両ログ解析サーバへ送信する車両側通信ステップと、を含み、前記車両ログ受信方法は、前記車両側通信ステップにて送信された前記第一の分割ログに対応する識別子と前記第二の分割ログとを受信するサーバ側通信ステップと、前記第一の分割ログに対応する識別子を受信した場合に前記既存分割ログリストを参照して前記既存分割ログリストにおいて当該識別子に対応する既存分割ログを取得し、前記第二の分割ログと前記既存分割ログとを結合して車両ログを復元する車両ログ復元ステップと、復元された前記車両ログを記憶する車両ログ保存ステップと、を含む。
 これにより、車両ログにおいて、特定のシステムの動作結果または特定のメッセージの送信結果等のデータにIDが対応付けられている場合、車両ログをIDを用いて分割することで、データの種類に応じて車両ログを分割でき、データの種類と関係なく単純にデータサイズに応じて分割する場合に比べて、分割ログと既存分割ログとが一致する確率が高くなる。そのため、既存分割ログに対応する識別子と一致する第一の分割ログに対応する識別子が多くなり、第二の分割ログが送信されにくく、データサイズが小さい、第一の分割ログに対応する識別子が送信されやすくなる。したがって、車両から車両の外部のサーバへ送信される車両ログの通信データ量を効果的に削減できる。
 なお、これらの全般的または具体的な態様は、システム、方法、集積回路、コンピュータプログラムまたはコンピュータで読み取り可能なCD-ROM等の記録媒体で実現されても良く、システム、方法、集積回路、コンピュータプログラムまたは記録媒体の任意な組み合わせで実現されてもよい。
 以下、実施の形態に係る車両ログ送信装置、車両ログ解析サーバ、車両ログ解析システムおよび車両ログ送受信方法について図面を参照しながら説明する。ここで示す実施の形態は、いずれも本開示の一具体例を示すものである。従って、以下の実施の形態で示される数値、構成要素、構成要素の配置および接続形態、並びに、処理の要素としてのステップおよびステップの順序等は、一例であって本開示を限定するものではない。以下の実施の形態における構成要素のうち、独立請求項に記載されていない構成要素については、任意に付加可能な構成要素である。また、各図は、模式図であり、必ずしも厳密に図示されたものではない。
 (実施の形態1)
 [車両ログ解析システムの全体構成]
 図1は、本開示の実施の形態1における車両ログ解析システム100の全体構成図である。
 図1において、車両ログ解析システム100は、車両ログ解析サーバ20と車両200とで構成され、外部ネットワーク50を介して車両ログ解析サーバ20と車両200とが接続される。外部ネットワーク50は、例えば、インターネットである。外部ネットワーク50の通信方法は、有線であっても無線であっても良い。また、無線通信方式は既存技術であるWi-Fi(登録商標)や、3G/LTE(Long Term Evolution)であっても良い。
 車両200は、車両ログ送信装置10とECU30aとECU30bとECU30cとセンサ40aとエンジン40bとステアリング40cとを備える。
 車両ログ送信装置10は、車両ログ解析サーバ20と外部ネットワーク50を介して接続される。
 車両200において、車両ネットワーク60を介して車両ログ送信装置10と、ECU30aと、ECU30bと、ECU30cとが互いに接続される。車両ネットワーク60は、例えば、CANである。なお、車両ネットワーク60は、CAN-FD、FlexRay、Ethernet等の通信プロトコルであってもよい。
 ECU30aは、センサ40aに接続され、ECU30bは、エンジン40bに接続され、ECU30cは、ステアリング40cに接続されている。
 ECU30a、30bおよび30cは、それぞれが接続されている機器の状態を取得し、取得した状態を表すメッセージを周期的に車両ネットワーク60に送出する。
 ECU30aは、車両200の加速度を計測するセンサ40aによって計測されたセンサ情報を取得し、このセンサ情報を表すデータ値を含むメッセージを車両ネットワーク60に送出する。
 ECU30bは、エンジン40bの一状態である回転数を取得し、この回転数を表すデータ値を含むメッセージを車両ネットワーク60に送出する。また、ECU30bは、車両ネットワーク60から取得するエンジン40bに関する情報に基づいて、エンジン40bの回転数を制御する。
 ECU30cは、ステアリング40cの操舵角を取得し、この操舵角を表すデータ値を含むメッセージを車両ネットワーク60に送出する。また、ECU30cは、車両ネットワーク60から取得するステアリング40cに関する情報に基づいて、ステアリング40cの操舵角を制御する。
 以降、車両ネットワーク60に接続されるECU30a、ECU30bおよびECU30cと、センサ40a、エンジン40bおよびステアリング40cを総称して車両システム300とする。
 車両ログ送信装置10は、ECU30a、30bおよび30cから車両ログを取得し、車両ログ解析サーバ20へ、HTTPSなどの通信プロトコルを介して、取得した車両ログを送信する。車両ログの詳細は後述する。
 車両ログ解析サーバ20は、車両ログ送信装置10から車両ログを受信し、受信した車両ログを解析して、セキュリティ上の脅威を検出、すなわち、車両200の異常を検出する車両200の外部のサーバである。
 [車両ログ送信装置の構成]
 次に、車両ログ送信装置10について説明する。
 図2は、本開示の実施の形態1における車両ログ送信装置10の構成図である。車両ログ送信装置10は、データの種類を示すIDがそれぞれ対応付けられている複数のデータを含む車両ログを車両ログ解析サーバ20へ送信する装置である。図2において、車両ログ送信装置10は、車両ログ取得部110と、車両ログ分割加工部120と、車両ログ分割加工ルール保存部130と、車両ログ送信要否判定部140と、既存識別子保存部150と、既存識別子登録部160と、車両側通信部170とを備える。
 車両ログ取得部110は、車両システム300と車両ネットワーク60を介して接続される。車両ログ取得部110は、車両200の動作に関わる車両ログ(具体的には、データの種類を示すIDがそれぞれ対応付けられている複数のデータを含む車両ログ)を取得し、車両ログ分割加工部120に取得した車両ログを通知する。なお、車両ログは、所定のIDを起点とする複数のIDを1周期として当該複数のIDが周期的に繰り返されるように並べられた複数のデータを含んでいてもよい。また、車両ログは、時刻情報がそれぞれ対応付けられている複数のデータを含んでいてもよい。
 車両ログ分割加工部120は、車両ログ取得部110で取得された車両ログを当該車両ログに含まれるIDを用いて分割することで、1以上の分割ログを生成する。例えば、車両ログ分割加工部120は、取得された車両ログを当該車両ログに含まれるIDごとに分割することで、1以上の分割ログを生成してもよい。また、例えば、車両ログ分割加工部120は、取得された車両ログを当該車両ログに含まれる所定のIDを起点とする複数のIDごとに分割することで、1以上の分割ログを生成してもよい。また、例えば、車両ログ分割加工部120は、さらに、1以上の分割ログに含まれる時刻情報を時刻インデックス情報に置換する処理を実施して分割加工ログを生成してもよい。また、例えば、車両ログ分割加工部120は、さらに、1以上の分割ログに含まれるIDの値またはデータの値の大きさに応じて1以上の分割ログを並び替える処理を実施して分割加工ログを生成してもよい。また、例えば、車両ログ分割加工部120は、さらに、1以上の分割ログに含まれるデータの値を所定値に置換する置換処理またはデータの値を丸める端数処理を実施して分割加工ログを生成してもよい。車両ログ分割加工部120は、車両ログをルールに従って分割および加工して分割加工ログを生成し、生成した分割加工ログと、車両ログを分割する際に用いた番号を分割番号として、車両ログ送信要否判定部140に通知する機能を有する。車両ログ分割加工部120が分割加工ログを生成する際に使用したルールを車両ログ分割加工ルールとする。車両ログ分割加工ルールおよび分割加工ログの詳細は後述する。
 車両ログ分割加工ルール保存部130は、車両ログ分割加工部120が用いた車両ログ分割加工ルールを記憶する。
 既存識別子保存部150は、車両ログ送信装置10と車両ログ解析サーバ20との間で共有されている既存の車両ログを既存の車両ログに含まれるIDを用いて分割することで生成された既存分割ログに対応する識別子のリストである既存識別子リストを記憶する。識別子は、例えば、ハッシュ値である。例えば、既存識別子保存部150は、既存の車両ログを当該既存の車両ログに含まれるIDごとに分割することで生成された既存分割ログに対応するリストである既存識別子リストを記憶してもよい。また、例えば、既存識別子保存部150は、既存の車両ログを既存の車両ログに含まれる所定のIDを起点とする複数のIDごとに分割することで生成された既存分割ログに対応する識別子のリストである既存識別子リストを記憶してもよい。また、例えば、既存識別子保存部150は、さらに、時刻情報が時刻インデックス情報に置換された既存分割ログに対応する識別子のリストである既存識別子リストを記憶してもよい。また、例えば、既存識別子保存部150は、さらに、IDの値またはデータの値の大きさに応じて並び替えられた既存分割ログに対応する識別子のリストである既存識別子リストを記憶してもよい。また、例えば、既存識別子保存部150は、さらに、置換処理または端数処理が実施された既存分割ログに対応する識別子のリストである既存識別子リストを記憶してもよい。既存識別子リストは、車両ログ送信装置10が過去に車両ログ解析サーバ20に送信した、分割加工ログの分割番号とハッシュ値との組で構成される。既存識別子リストは、車両ログ送信装置10と車両ログ解析サーバ20との間で共有される。
 車両ログ送信要否判定部140は、1以上の分割ログのそれぞれに対して識別子を生成し、生成した識別子のうち、既存識別子リストに存在する識別子に対応する分割ログを第一の分割ログと判断し、既存識別子リストに存在しない識別子に対応する分割ログを第二の分割ログと判断する。車両ログ送信要否判定部140は、車両ログ分割加工部120から受け取った分割加工ログに対するハッシュ値を識別子として分割番号ごとに生成する。生成した分割加工ログに対するハッシュ値が、既存識別子保存部150が記憶する既存識別子リストに含まれる場合に、車両ログ送信要否判定部140は、当該ハッシュ値に対応する分割加工ログは送信する必要がない第一の分割ログと判断する。生成した分割加工ログに対するハッシュ値が、既存識別子保存部150が記憶する既存識別子リストに含まれない場合に、車両ログ送信要否判定部140は、当該ハッシュ値に対応する分割加工ログは送信する必要がある第二の分割ログと判断する。
 既存識別子登録部160は、車両ログ送信要否判定部140が第二の分割ログと判断した分割ログ(分割加工ログ)に対応する識別子を既存識別子リストに登録する。具体的には、既存識別子登録部160は、車両ログ送信要否判定部140が分割加工ログを送信する必要があると判断した分割加工ログに対するハッシュ値を、既存識別子保存部150の既存識別子リストに追加登録する。
 車両側通信部170は、第一の分割ログに対応する識別子を車両ログ解析サーバ20へ送信し、第二の分割ログを車両ログ解析サーバ20へ送信する。具体的には、車両側通信部170は、車両ログ送信要否判定部140が送信する必要がないと判断した分割加工ログ(第一の分割ログ)のハッシュ値とその分割番号を、車両ログ解析サーバ20へ送信し、車両ログ送信要否判定部140が送信する必要があると判断した分割加工ログ(第二の分割ログ)を、車両ログ解析サーバ20へ送信する。さらに、車両側通信部170は、生成した車両ログ分割加工ルールを車両ログ解析サーバ20へ送信する。例えば、車両側通信部170は、車両ログ解析サーバ20へ車両ログ分割加工ルールとして時刻情報と時刻インデックス情報との対応関係を示す時刻リストを送信してもよい。
 [車両ログ解析サーバの構成]
 図3は、本開示の実施の形態1における車両ログ解析サーバ20の構成図である。車両ログ解析サーバ20は、データの種類を示すIDがそれぞれ対応付けられている複数のデータを含む車両ログを車両ログ送信装置10から受信する装置である。図3において、車両ログ解析サーバ20は、サーバ側通信部210と、車両ログ復元部220と、既存分割ログ保存部230と、車両ログ分割加工ルール保存部240と、車両ログ保存部250と、既存分割ログ登録部260と、異常ログ検出部270と、異常通知部280とを備える。
 サーバ側通信部210は、外部ネットワーク50と接続され、外部ネットワーク50を介して車両ログ送信装置10から、車両ログを当該車両ログに含まれるIDを用いて分割することで生成された1以上の分割ログのうちの第一の分割ログに対応する識別子と、1以上の分割ログのうちの第一の分割ログを除く第二の分割ログとを受信する。具体的には、サーバ側通信部210は、分割加工ログまたは分割加工ログのハッシュ値と、その分割番号とを受信し、受信した分割加工ログまたは分割加工ログのハッシュ値と、その分割番号とを車両ログ復元部220へ通知する。さらにサーバ側通信部210は、車両ログ送信装置10から車両ログ分割加工ルールを受信し、車両ログ分割加工ルール保存部240に記憶する。例えば、サーバ側通信部210は、車両ログ送信装置10から、車両ログを当該車両ログに含まれるIDごとに分割することで生成された1以上の分割ログのうちの第一の分割ログに対応する識別子と、1以上の分割ログのうちの第二の分割ログとを受信してもよい。また、例えば、サーバ側通信部210は、車両ログ送信装置10から、車両ログを当該車両ログに含まれる所定のIDを起点とする複数のIDごとに分割することで生成された1以上の分割ログのうちの第一の分割ログに対応する識別子と、1以上の分割ログのうちの第二の分割ログとを受信してもよい。また、例えば、サーバ側通信部210は、車両ログ送信装置10から、時刻情報が時刻インデックス情報に置換された1以上の分割ログのうちの第一の分割ログに対応する識別子と、当該1以上の分割ログのうちの第二の分割ログと、時刻情報と時刻インデックス情報との対応関係を示す時刻リストとを受信してもよい。また、例えば、サーバ側通信部210は、IDの値またはデータの値の大きさに応じて並び替えられた1以上の分割ログのうちの第一の分割ログに対応する識別子と、1以上の分割ログのうちの第二の分割ログとを受信してもよい。また、例えば、サーバ側通信部210は、データの値を所定値に置換する置換処理またはデータの値を丸める端数処理が実施された1以上の分割ログのうちの第一の分割ログに対応する識別子と、1以上の分割ログのうちの第二の分割ログとを受信してもよい。
 既存分割ログ保存部230は、車両ログ送信装置10と車両ログ解析サーバ20との間で共有されている既存の車両ログを当該既存の車両ログに含まれるIDを用いて分割することで生成された既存分割ログと、既存分割ログに対応する識別子とのリストである既存分割ログリストを記憶する。例えば、既存分割ログ保存部230は、既存の車両ログを当該既存の車両ログに含まれるIDごとに分割することで生成された既存分割ログと、既存分割ログに対応する識別子とのリストである既存分割ログリストを記憶してもよい。また、例えば、既存分割ログ保存部230は、既存の車両ログを当該既存の車両ログに含まれる所定のIDを起点とする複数のIDごとに分割することで生成された既存分割ログと、既存分割ログに対応する識別子とのリストである既存分割ログリストを記憶してもよい。また、例えば、既存分割ログ保存部230は、さらに、時刻情報が時刻インデックス情報に置換された既存分割ログと、既存分割ログに対応する識別子とのリストである既存分割ログリストを記憶してもよい。また、例えば、既存分割ログ保存部230は、さらに、IDの値またはデータの値の大きさに応じて並び替えられた既存分割ログと、既存分割ログに対応する識別子とのリストである既存分割ログリストを記憶してもよい。また、例えば、既存分割ログ保存部230は、さらに、置換処理または端数処理が実施された既存分割ログと、既存分割ログに対応する識別子とのリストである既存分割ログリストを記憶してもよい。
 車両ログ復元部220は、第一の分割ログに対応する識別子を受信した場合に既存分割ログリストを参照して既存分割ログリストにおいて当該識別子に対応する既存分割ログを取得し、第二の分割ログと既存分割ログとを結合して車両ログを復元する。具体的には、車両ログ復元部220は、サーバ側通信部210から分割加工ログのハッシュ値とその分割番号とが通知された場合、既存分割ログ保存部230が記憶する既存分割ログリストから分割加工ログのハッシュ値と一致する既存分割ログを取得する。
 さらに、車両ログ復元部220は、既存分割ログを取得している場合に、サーバ側通信部210から分割加工ログ(第二の分割ログ)が通知された場合、既存分割ログと分割加工ログ(第二の分割ログ)とを、車両ログ分割加工ルール保存部240が記憶する車両ログ分割加工ルールを用いて、車両ログに復元する。例えば、車両ログ復元部220は、第一の分割ログに対応する識別子を受信した場合に既存分割ログリストを参照して既存分割ログリストにおいて当該識別子に対応する既存分割ログを取得し、時刻リストを参照して既存分割ログに含まれる時刻インデックス情報を時刻情報に置換し、第二の分割ログと既存分割ログとを結合して車両ログを復元してもよい。また、例えば、車両ログ復元部220は、第一の分割ログに対応する識別子を受信した場合に既存分割ログリストを参照して既存分割ログリストにおいて当該識別子に対応する既存分割ログを取得し、時刻リストを参照して既存分割ログの時刻インデックス情報を時刻情報に置換し、置換された時刻情報を参照して既存分割ログを時刻が早い順に並び替え、第二の分割ログと既存分割ログとを結合して車両ログを復元してもよい。さらに、車両ログ復元部220は、復元した車両ログを車両ログ保存部250に記録する。車両ログの復元方法の詳細は後述する。
 既存分割ログ登録部260は、第二の分割ログを受信した場合に、第二の分割ログに対応する識別子を生成し、第二の分割ログと当該識別子とを既存分割ログリストに登録する。具体的には、既存分割ログ登録部260は、サーバ側通信部210から分割加工ログ(第二の分割ログ)を通知された場合、分割加工ログ(第二の分割ログ)のハッシュ値を生成し、分割加工ログ(第二の分割ログ)と分割加工ログ(第二の分割ログ)のハッシュ値との組を既存分割ログ保存部230の既存分割ログリストに追加で記憶する。
 車両ログ分割加工ルール保存部240は、車両ログの分割方法および加工方法が記載される車両ログ分割加工ルールを記憶する。
 車両ログ保存部250は、復元された車両ログを記憶する。
 異常ログ検出部270は、車両ログ保存部250に記憶される復元された車両ログを監視し、当該車両ログに攻撃の痕跡が含まれる場合に異常ログとして検出し、異常通知部280に通知する。例えば、車両ログに、正常の処理シーケンスと異なるタイミングで車両装置が動作したログや正常範囲外の制御値を含むネットワーク通信が行われたログが含まれている場合に、異常ログ検出部270は、車両へのサイバー攻撃の痕跡があるとして、セキュリティ上の脅威として検出する機能を有する。また、例えば、異常ログ検出部270は、さらに、過去に異常と判定された車両ログを当該車両ログに含まれるIDを用いて分割することで生成された異常分割ログに対応する識別子のリストである異常識別子リストを保持し、サーバ側通信部210が第一の分割ログに対応する識別子を受信した場合、当該識別子が異常識別子リストに含まれる場合に異常として検出し、サーバ側通信部210が第二の分割ログを受信した場合に、第二の分割ログに攻撃の痕跡が含まれるときには、第二の分割ログを異常ログとして検出し、当該異常ログを当該異常ログに含まれるIDを用いて分割することで生成された異常分割ログを異常識別子リストに登録してもよい。
 異常通知部280は、所定の通知先に車両が異常であることを通知する。具体的には、異常検知部280は、異常ログ検出部270から異常な車両ログを受け取り、所定の通知先として、例えば、車両ログ解析サーバ20を利用するオペレータや異常なログを出力した車両のドライバーに異常を通知する。
 [車両ログ]
 図4は、本開示の実施の形態1における車両ログ取得部110が取得する車両ログの一例を示す図である。車両ログは、データの種類を示すIDがそれぞれ対応付けられている複数のデータを含む。図4における車両ログには、IDとして、ID1、ID2、ID3およびID4が含まれる。また、図4における車両ログには、それぞれが8バイトのデータである複数のデータが含まれる。8バイトのデータを1つのデータとしたときに、当該1つのデータに対してIDが対応付けられている。また、図4に示されるように、複数のデータは、所定のIDを起点とする複数のIDを1周期として当該複数のIDが周期的に繰り返されるように並べられる。例えば、所定のIDをID1とすると、ID1を起点とするID1、ID2、ID3およびID4を1周期としてID1、ID2、ID3およびID4が周期的に繰り返されるように複数のデータが並べられる。なお、所定のIDは、ID1に限らない。例えば、所定のIDをID2とすると、ID2を起点とするID2、ID3、ID4およびID1を1周期としてID2、ID3、ID4およびID1が周期的に繰り返されるように複数のデータが並べられる。また、図4に示されるように、複数のデータは、時刻情報がそれぞれ対応付けられている。例えば、「10:10:10」(10時10分10秒)等の時刻が時刻情報である。図4において、車両ログは、時刻と、IDと、8バイトのデータ(8つの1バイトのデータ)との組で構成される。時刻は、車両ログの発生時刻である。
 IDは、データの種類を示し、例えば、車両ログの発生元のイベントまたはメッセージを特定する識別子である。例えば、車両ログが、ECUのシステム動作を示すイベントの場合のIDは、プロセス番号であり、CANまたはCAN-FDの通信プロトコルに従うメッセージの場合のIDは、フレームIDであり、FlexRayの通信プロトコルに従うメッセージの場合のIDは、スロットIDであり、Ethernetの通信プロトコルに従うメッセージの場合のIDは、IPアドレスである。
 また、複数のデータのそれぞれは、例えば、1バイトごとに0x00から0xFFまでの16進数の数値からなる8バイトのデータである。図4において、データは、16進数表記の0xを省略して記載している。例えば、図4において、車両ログにおける1行目は、時刻「10:10:10」に発生したイベントまたはメッセージであり、IDは「ID1」であり、1バイト目に16進数表記で「01」、2バイト目に16進数表記で「50」、3バイト目に16進数表記で「40」、4バイト目に16進数表記で「30」、5バイト目に16進数表記で「30」、6バイト目に16進数表記で「30」、7バイト目に16進数表記で「30」、8バイト目に16進数表記で「30」であることを示している。
 車両ログの各バイトのデータ値が何を示しているかについては、車両ログ定義テーブルが参照される。車両ログ定義テーブルの詳細は、後述する。
 また図4において、IDが「ID1」である車両ログは、時刻「10:10:10」に発生した後、時刻「10:20:10」、「10:50:10」等にも発生しており、IDが「ID1」のイベントまたはメッセージが定期的に発生していることを示している。
 また図4において、IDが「ID2」である車両ログは、IDが「ID1」のイベントまたはメッセージの後に続いて発生していることを示している。つまり、複数のデータは、複数のID(ここでは、ID1、ID2、ID3およびID4)が周期的に繰り返されるように並べられる。
 このように、車両ログを参照することで、イベントやメッセージの発生時刻とデータを確認することができるため、車両ログを用いて、正常の処理シーケンスと異なるタイミングで車両システム300が動作したか否か、または、正常範囲外の制御値を含むネットワーク通信が行われたか否か等を判定でき、セキュリティ上の脅威を検出できる。
 [車両ログ定義テーブル]
 図5は、本開示の実施の形態1における車両ログ分割加工部120で用いる車両ログ定義テーブルの一例を示す図である。車両ログ定義テーブルは、車両ログのID毎の各バイトのデータ値が何を示しているかを示すデータ種別を定義するテーブルである。
 図5においてIDが「ID1」の場合、1バイト目は「カウンタ」を定義し、2バイト目から8バイト目は、「車両番号」を定義している。
 IDが「ID2」の場合、1バイト目は、「カウンタ」を定義し、2バイト目は、「チェックサム」を定義し、3バイト目と4バイト目は、「速度」を定義し、5バイト目は、「シフト」を定義し、6バイト目から8バイト目は未使用であり、定義されていない。
 IDが「ID3」の場合、1バイト目は、「カウンタ」を定義し、2バイト目は、「チェックサム」を定義し、3バイト目と4バイト目は、「舵角」を定義し、5バイト目から8バイト目は、未使用であり、定義されていない。
 IDが「ID4」の場合、1バイト目は、「カウンタ」を定義し、2バイト目と3バイト目は、「位置情報」を定義し、4バイト目から8バイト目は未使用であり、定義されていない。
 定義された、「車両番号」は、7バイトの値であり、車両ごとに固定の値をとる。定義された、「速度」と「舵角」と「位置情報」は2バイトであり、0000からFFFFまでの値である。定義された、「チェックサム」と「カウンタ」は1バイトであり、00からFFまでの値である。定義された「シフト」は、「00」の値の場合、「パーキング」を示し、「01」の値の場合、「ドライブ」を示す。
 [車両ログ分割加工ルール]
 次に車両ログ分割加工ルールについて説明する。車両ログ分割加工ルールは、車両ログ分割加工部120が車両ログから分割加工ログを生成する際にどのようなルールで生成したかを示すルールである。車両ログ分割加工ルールは、車両ログ分割加工部120が車両ログから分割加工ログを生成する際に生成される。
 図6は、本開示の実施の形態1における車両ログ分割加工ルール保存部130が記憶する車両ログ分割加工ルールの一例を示す図である。図6において、車両ログ分割加工ルールは、加工項目と、加工有無と、加工前の値と、加工後の値との組で構成される。
 加工項目は、「分割」、「時刻インデックス」、「ソート(昇順)」および「データ置換」のいずれかである。車両ログ分割加工ルールは、上から順に車両ログを加工するルールを示している。
 「分割」は、車両ログを分割するルールを表す。例えば、図6では、分割は、IDごとに車両ログを分割するルールを示している。
 「時刻インデックス」は、車両ログの時刻を時刻インデックス情報に置換する処理のルールを表す。例えば、図6では、時刻インデックスは、IDごとの時刻に対して通し番号(T11、T12、・・・、T54)を割り振るルールを示している。
 「ソート(昇順)」は、IDが同一のデータのうち特定のバイト、例えば、4バイト目のデータが小さい順番に並び替えられるように車両ログを加工する処理のルールを表す。なお、図6では、一例として「ソート(昇順)」を示しているが、IDが同一のデータのうち、特定のバイトのデータが大きい順番に並び替えられる場合は、「ソート(降順)」と表される。
 「データ置換」は、車両ログ定義テーブルに記載されている特定のデータ種別(例えばカウンタおよびチェックサム)に該当するデータ領域のすべてを特定の値(例えば00)に置換する処理のルールを表す。
 次に、加工有無は、「有効」および「無効」のいずれかであり、対応する加工項目のルールを実施したか否かを示す。対応する加工項目のルールが実施された場合、加工有無は「有効」となり、対応する加工項目のルールが実施されなかった場合、加工有無は「無効」となる。
 加工前の値は、対応する加工項目において車両ログの元の値であり、加工後の値は、対応する加工項目において車両ログの加工後の値(つまり分割加工ログにおける値)を示す。
 図6において、加工項目「分割」は、加工有無が「有効」である。加工前の値「ID1」に対し、加工後の値「分割番号1」であり、加工前の値「ID2」に対し、加工後の値「分割番号2」と続く。このルールでは、車両ログから、加工前の値に記載されたIDを含むデータが抽出され、加工後の値に記載された分割番号の分割ログに分割される。
 図6において、加工項目「時刻インデックス」は、加工有無が「有効」である。加工前の値「10:10:10」に対し、加工後の値「T11」であり、加工前の値「10:10:20」に対して、加工後の値「T12」と続く。
 図6において、加工項目「ソート(昇順)」は、加工有無が「有効」である。加工前の値と加工後の値は「-」となっており、「-」は値を置換しないルールであることを示す。「ソート(昇順)」では、データは並び変えられるが、データの値自体は置換されないためである。
 また、加工項目「データ置換」は、加工有無が「有効」であり、加工前の値は「カウンタ」および「チェックサム」の値を示しており、加工後の「カウンタ」および「チェックサム」の値を「00」に置換するルールを表す。
 車両ログ分割加工部120は、車両ログから分割加工ログを生成する際に、車両ログ分割加工ルールもあわせて生成し、分割加工ログまたは分割加工ログの識別子を送信する際に、車両ログ分割加工ルールをあわせて送信することで車両ログ送信装置10と車両ログ解析サーバ20との間で車両ログ分割加工ルールを共有する。これにより、車両ログ送信装置10で加工された分割加工ログを車両ログ解析サーバ20で元の車両ログに戻すことができる。なお、予め定められたルールを用いて分割加工ログが生成され、当該予め定められたルールを用いて既存分割ログが生成される場合に、当該予め定められたルールを車両ログ送信装置10と車両ログ解析サーバ20とが予め保有しているときには、車両ログ分割加工ルールとして少なくとも時刻情報と時刻インデックス情報との対応関係を示す時刻リストが車両ログ送信装置10から車両ログ解析サーバ20へ送信されればよい。車両ログ解析サーバ20は、時刻情報以外の情報については、予め定められたルールを用いて復元することができるためである。
 [分割加工ログ]
 図7は、本開示の実施の形態1における車両ログ分割加工部120が生成する分割加工ログの一例を示す図である。図7は、図4で説明した車両ログを図6の車両ログ分割加工ルールで分割および加工したときの分割加工ログの一例である。図7において、分割加工ログは、分割番号ごとに、時刻と、IDと、8バイトのデータとの組で構成される。図7は、車両ログがIDごとに分割されたときに生成される分割加工ログの一例を示す。
 図7において、分割加工ログの時刻は、図6における車両ログ分割加工ルールでの「時刻インデックス」によるルールに従って、時刻インデックス(T11、T12、・・・、T54)に置換されている。例えば、分割番号「1」の時刻「T11」は、時刻「10:10:10」を置換したときの時刻インデックスである。
 また、図7において、分割番号「3」で時刻「T13」、「T23」、「T53」の行における4バイト目のデータの値はそれぞれ、「10」、「20」、「30」であり、図6における車両ログ分割加工ルールでの「ソート(昇順)」によるルールに従って、4バイト目のデータが小さい順にソートされている。
 分割加工ログの1バイト目は、図5の車両ログ定義テーブルによると、「カウンタ」であり、図6における車両ログ分割加工ルールでの「データ置換」によるルールに従って、データの値は全て「00」に置換されている。
 以上のように、分割加工ログでは、時刻、カウンタ、チェックサム、イベント発生時間などの車両ログが発生する度に変わる可能性の高い値が、インデックス化され、または「00」などに置換される。なお、分割加工ログでは、センサなどの細かい値などを丸める端数処理がされてもよい。
 なお、図7は、車両ログをIDごとに分割したときの分割ログ(分割加工ログ)の一例を示すが、車両ログが所定のIDを起点とする複数のIDごとに分割されてもよい。例えば、ID1を所定のIDとして、ID1を起点とする複数のID(ID1、ID2、ID3およびID4)ごとに車両ログが分割されてもよい。なお、所定のIDは、ID1に限らず、例えば、所定のIDをID2とした場合、ID2を起点とする複数のID(ID2、ID3、ID4およびID1)ごとに車両ログが分割されてもよい。
 また、後述する既存分割ログについても同じように、所定のIDを起点とする複数のIDごとに分割されたものであってもよい。
 [分割加工ログの識別子]
 次に、分割加工ログの識別子について、説明する。
 図8は、本開示の実施の形態1における車両ログ送信要否判定部140が生成する分割加工ログの識別子の一例を示す図である。図8において、分割加工ログの識別子は、分割番号と、識別子から構成される。車両ログ送信要否判定部140は、分割加工ログごとにハッシュ関数を用いて分割加工ログのハッシュ値を生成し、識別子とする。
 ここで、ハッシュ関数は、同一のデータであれば同一のハッシュ値を出力する特徴を有し、MD5やSHA256などのアルゴリズムを用いる。
 図8において、例えば、分割番号「1」の識別子は「11223344」である。
 [既存識別子リスト]
 次に、既存識別子リストについて説明する。
 図9は、本開示の実施の形態1における既存識別子保存部150で記憶される既存識別子リストの一例を示す図である。図9において、既存識別子リストは、番号と識別子との組で構成される。番号は、既存識別子リストに登録された順番を表し、識別子は、車両ログ解析サーバ20に送信済の分割加工ログ(既存分割ログ)に対応するハッシュ値を表す。
 図9において、例えば、番号「1」の識別子は「11223344」である。
 [既存分割ログリスト]
 次に、既存分割ログリストについて説明する。図10は、本開示の実施の形態1における既存分割ログ保存部230が記憶する既存分割ログリストの一例を示す図である。図10において、既存分割ログリストは、番号と識別子とファイルパスと異常有無との組で構成される。番号は、既存分割ログリストに登録された順番を表し、識別子は、既存分割ログに対応するハッシュ値を表し、ファイルパスは、既存分割ログが保存されている場所を表し、異常有無は既存分割ログの異常検知結果を「有」、「無」で示す。異常有無のリスト(異常識別子リスト)は、過去に異常と判定された車両ログを当該車両ログに含まれるIDを用いて分割することで生成された異常分割ログ(例えば、番号2または6に対応する既存分割ログ)に対応する識別子のリストである。
 図10において、例えば、番号「1」の識別子は「11223344」であり、既存分割ログのファイルパスは「/log/20180101A.log」であり、既存分割ログの異常有無が「無」である。
 車両ログ復元部220は、車両ログ送信装置10から車両ログ解析サーバ20に送信された、ハッシュ値と既存識別子リストに含まれるハッシュ値を比較し、一致するハッシュ値のファイルパスに既存分割ログが格納されているので、この既存分割ログを用いて、車両ログに復元する。
 [車両ログの送信処理のシーケンス]
 次に、車両ログ送信装置10による車両ログの送信処理について説明する。
 図11は、本開示の実施の形態1における車両ログ送信装置10が車両ログを送信する処理シーケンスを示している。
 (S1101)車両ログ送信装置10の車両ログ取得部110は、車両ログを取得し、車両ログ分割加工部120へ車両ログを通知する。
 (S1102)車両ログ分割加工部120は、車両ログを取得し、車両ログ定義テーブルを用いて、車両ログから分割加工ログを生成する。分割加工ログを生成する際に用いたルールを車両ログ分割加工ルールとする。
 (S1103)車両ログ分割加工部120は、車両ログ送信要否判定部140へ分割加工ログ通知する。このとき、図示していないが、車両ログ分割加工部120は、車両ログ分割加工ルールを車両ログ分割加工ルール保存部130に記憶するとともに車両ログ分割加工ルールを車両側通信部170に通知する。
 (S1104)車両ログ送信要否判定部140は、分割加工ログを取得し、分割加工ログのハッシュ値を生成する。
 (S1105)車両ログ送信要否判定部140は、生成したハッシュ値が、既存識別子保存部150が記憶する既存識別子リストに含まれている場合、車両側通信部170へ分割加工ログのハッシュ値(第一の分割ログに対応する識別子)と分割番号とを通知する。
 (S1106)車両側通信部170は、取得したハッシュ値と分割番号とを受領する。
 (S1107)車両ログ送信要否判定部140は、生成したハッシュ値が、既存識別子保存部150が記憶する既存識別子リストに含まれていない場合、分割加工ログ(第二の分割ログ)を車両側通信部170に通知し、分割加工ログ(第二の分割ログ)のハッシュ値を既存識別子登録部160に通知する。
 (S1108)既存識別子登録部160は、受領したハッシュ値を、既存識別子保存部150の既存識別子リストに追加登録する。受領したハッシュ値は、後述する図12のステップS1205において、車両ログ解析サーバ20でも登録されることになり、車両ログ送信装置10と車両ログ解析サーバ20との間で共有される。
 (S1109)車両側通信部170は、分割加工ログ(第二の分割ログ)を取得する。
 (S1110)車両側通信部170は、取得した分割加工ログ(第一の分割ログ)のハッシュ値と分割番号と車両ログ分割加工ルールとを車両ログ解析サーバ20に送信する。
 (S1111)車両側通信部170は、取得した分割加工ログ(第二の分割ログ)と車両ログ分割加工ルールとを車両ログ解析サーバ20に送信する。
 [車両ログ受信処理のシーケンス]
 次に、車両ログ解析サーバ20による車両ログの受信処理について説明する。
 図12は、本開示の実施の形態1における、車両ログ解析サーバ20が車両ログを受信する処理シーケンスを示している。
 (S1201)サーバ側通信部210は、車両ログ送信装置10から分割加工ログ(第一の分割ログ)のハッシュ値と分割番号と車両ログ分割加工ルールとを受信し、分割加工ログ(第一の分割ログ)のハッシュ値と分割番号と車両ログ分割加工ルールとを車両ログ復元部220へ通知する。また、図示していないが、サーバ側通信部210は、分割加工ログ(第一の分割ログ)のハッシュ値を異常ログ検出部270へ通知する。
 (S1202)車両ログ復元部220は、分割加工ログ(第一の分割ログ)のハッシュ値と分割番号と車両ログ分割加工ルールとを取得し、既存分割ログ保存部230が記憶する既存分割ログリストから、分割加工ログ(第一の分割ログ)のハッシュ値と同じハッシュ値の既存分割ログのファイルパスを取得し、そのファイルパスから既存分割ログを取得する。
 (S1203)サーバ側通信部210は、分割加工ログ(第二の分割ログ)と車両ログ分割加工ルールとを受領し、分割加工ログ(第二の分割ログ)と車両ログ分割加工ルールとを車両ログ復元部220へ通知する。
 (S1204)車両ログ復元部220は、分割加工ログ(第二の分割ログ)と分割番号と車両ログ分割加工ルールとを受信する。
 (S1205)既存分割ログ登録部260は、分割加工ログ(第二の分割ログ)を取得し、分割加工ログ(第二の分割ログ)のハッシュ値を生成し、分割加工ログ(第二の分割ログ)を記憶したファイルパスと生成したハッシュ値とを既存分割ログ保存部230の既存分割ログリストに追加登録する。今回サーバ側通信部210が受信した分割加工ログ(第二の分割ログ)が、以降は既存分割ログとなる。
 (S1206)車両ログ復元部220は、第一の分割ログのハッシュ値と同じハッシュ値の既存分割ログと、分割加工ログ(第二の分割ログ)と、車両ログ分割加工ルールとを用いて、車両ログを復元する。
 [異常ログ検出処理のシーケンス]
 次に、車両ログ解析サーバ20による異常ログ検出処理について説明する。
 図13は、本開示の実施の形態1における、車両ログ解析サーバ20が異常ログを検出する処理シーケンスを示している。
 (S1301)異常ログ検出部270は、分割加工ログ(第一の分割ログ)のハッシュ値が、既存分割ログ保存部230が記憶する既存分割ログリストの識別子の項のハッシュ値と一致する行を特定し、異常有無が「有」の場合には、異常であると判断して、異常通知部280へ異常であることを通知する。
 (S1302)異常通知部280は、所定の通知先として、例えば、車両ログ解析サーバ20の利用者または異常な車両ログを発生した車両のドライバーへ異常を通知する。
 (S1303)異常ログ検出部270は、分割加工ログ(第二の分割ログ)に攻撃の痕跡が含まれている場合に、異常として判断して、異常通知部280へ異常であることを通知する。
 (S1304)異常通知部280は、所定の通知先として、例えば、車両ログ解析サーバ20の利用者または異常な車両ログを発生した車両のドライバーへ異常を通知する。
 (S1305)異常ログ検出部270は、検出した異常を既存分割ログ保存部230の既存分割ログリストに更新登録する。具体的には、異常ログ検出部270は、分割加工ログ(第二の分割ログ)を記憶したファイルパスと生成したハッシュ値とに異常有無として「有」を対応付けて、既存分割ログリストを更新する。
 [分割加工ログ生成処理のフローチャート]
 次に、車両ログ分割加工部120による、ルールに従って車両ログから分割加工ログを生成する処理について説明する。当該ルールは、例えば車両ログ解析システム100のユーザまたは車両200のユーザ等による設定である。
 図14は、本開示の実施の形態1における車両ログ分割加工部120の分割加工ログ生成処理のフローチャートを示す。
 (S1401)車両ログ分割加工部120は、車両ログ取得部110から車両ログを取得する。
 (S1402)車両ログ分割加工部120は、車両ログをIDごとに分割するか否かをルールに応じて判断する。車両ログ分割加工部120は、車両ログをIDごとに分割すると判断する場合(YESの場合)、加工項目「分割」、加工有無「有効」として車両ログ分割加工ルールを生成する。車両ログ分割加工部120は、車両ログのIDを加工前の値とし、分割番号として通し番号を、加工後の値としてリスト化する。次に、車両ログ分割加工部120は、ステップS1403の処理を実施する。車両ログ分割加工部120は、車両ログをIDごとに分割しないと判断する場合(NOの場合)、加工項目「分割」、加工有無「無効」として車両ログ分割加工ルールを生成する。次に、車両ログ分割加工部120は、ステップS1404の処理を実施する。
 車両ログ分割加工部120が、車両ログをIDごとに分割すると判断する場合とは、例えば、上記ルールが車両ログをIDごとに分割するというルール(設定)になっていることを意味する。また、車両ログ分割加工部120が、車両ログをIDごとに分割しないと判断する場合とは、例えば、上記ルールが車両ログをIDごとに分割しないというルール(設定)になっていることを意味する。ステップS1402での判断の後に生成される車両ログ分割加工ルールは、図6における「分割」の行に対応する。
 (S1403)車両ログ分割加工部120は、車両ログをIDごとに分割し、分割番号ごとに分割ログを生成する。
 (S1404)車両ログ分割加工部120は、車両ログの「時刻」を加工するか否かをルールに応じて判断する。車両ログ分割加工部120は、車両ログの「時刻」を加工すると判断する場合(YESの場合)、S1405の処理を実施する。車両ログ分割加工部120は、車両ログの「時刻」を加工しないと判断する場合(NOの場合)、加工項目「時刻インデックス」、加工有無「無効」として車両ログ分割加工ルールを生成する。次に、車両ログ分割加工部120は、ステップS1407の処理を実施する。
 (S1405)車両ログ分割加工部120は、加工項目「時刻インデックス」、加工有無「有効」とし、車両ログの時刻を加工前の値とし、時刻インデックスの通し番号を加工後の値として時刻リストを生成する。
 車両ログ分割加工部120が、車両ログの「時刻」を加工すると判断する場合とは、例えば、上記ルールが車両ログの「時刻」を加工するというルール(設定)になっていることを意味する。また、車両ログ分割加工部120が、車両ログの「時刻」を加工しないと判断する場合とは、例えば、上記ルールが車両ログの「時刻」を加工しないというルール(設定)になっていることを意味する。ステップS1405で生成される車両ログ分割加工ルールは、図6における「時刻インデックス」の行に対応し、当該車両ログ分割加工ルールは、時刻情報と時刻インデックス情報との対応関係を示す時刻リストの一例である。当該時刻リストによって、例えば、時刻「10:10:10」と時刻インデックス「T11」とが対応していることがわかる。
 (S1406)車両ログ分割加工部120は、時刻リストにおける加工前の値と加工後の値とを参照し、車両ログの時刻を加工後の値である時刻インデックスの通し番号に置換する。
 (S1407)車両ログ分割加工部120は、車両ログの「データ」を小さい順にソートするか否かをルールに応じて判断する。車両ログ分割加工部120は、車両ログの「データ」をソートすると判断する場合(YESの場合)、加工項目「ソート(昇順)」、加工有無「有効」、加工前の値「-」、加工後の値「-」として車両ログ分割加工ルールを生成する。次に、車両ログ分割加工部120は、ステップS1408の処理を実施する。車両ログ分割加工部120は、車両ログの「データ」をソートしないと判断する場合(NOの場合)、加工項目「ソート(昇順)」、加工有無「無効」として車両ログ分割加工ルールを生成する。次に、車両ログ分割加工部120は、ステップS1411の処理を実施する。
 車両ログ分割加工部120が、車両ログの「データ」をソートすると判断する場合とは、例えば、上記ルールが車両ログの「データ」をソートするというルール(設定)になっていることを意味する。また、車両ログ分割加工部120が、車両ログの「データ」をソートしないと判断する場合とは、例えば、上記ルールが車両ログの「データ」をソートしないというルール(設定)になっていることを意味する。ステップS1407での判断の後に生成される車両ログ分割加工ルールは、図6における「ソート(昇順)」の行に対応する。
 (S1408)車両ログ分割加工部120は、車両ログのデータを小さい順に並び替える。
 (S1409)車両ログ分割加工部120は、車両ログの所定の「データ」を加工するか否かをルールに応じて判断する。車両ログ分割加工部120は、車両ログの所定の「データ」を加工すると判断する場合(YESの場合)、加工項目「データ置換」、加工有無「有効」、加工前の値「カウンタ」、加工後の値「00」、加工前の値「チェックサム」、加工後の値「00」として車両ログ分割加工ルールを生成する。次に、車両ログ分割加工部120は、ステップS1410の処理を実施する。車両ログ分割加工部120は、車両ログの所定の「データ」を加工しないと判断する場合(NOの場合)、加工項目「データ置換」、加工有無「無効」として車両ログ分割加工ルールを生成する。次に、車両ログ分割加工部120は、ステップS1411の処理を実施する。
 車両ログ分割加工部120が、車両ログの所定の「データ」を加工すると判断する場合とは、例えば、上記ルールが車両ログの所定の「データ」を加工するというルール(設定)になっていることを意味する。また、車両ログ分割加工部120が、車両ログの所定の「データ」を加工しないと判断する場合とは、例えば、上記ルールが車両ログの所定の「データ」を加工しないというルール(設定)になっていることを意味する。ステップS1409での判断の後に生成される車両ログ分割加工ルールは、図6における「データ置換」の行に対応する。
 (S1410)車両ログ分割加工部120は、車両ログのカウンタの値を「00」に、チェックサムの値を「00」に置換する。
 (S1411)車両ログ分割加工部120は、車両ログを分割および加工した分割加工ログを記憶する。
 [分割加工ログ送信処理のフローチャート]
 次に、車両ログ送信要否判定部140による、分割加工ログを送信するか否かを決定する処理について説明する。
 図15は、本開示の実施の形態1における車両ログ送信要否判定部140の分割加工ログ送信処理のフローチャートを示す。
 (S1501)車両ログ送信要否判定部140は、車両ログ分割加工部120から分割番号ごとに分割加工ログを取得し、取得した分割加工ログを、分割加工ログ[i]とする。ここで、iは、分割番号を示し、1からNの整数をとり、Nは車両ログの分割数を示す。
 (S1502)車両ログ送信要否判定部140は、iを1とする。
 (S1503)車両ログ送信要否判定部140は、分割加工ログ[i]のハッシュ値を生成する。
 (S1504)車両ログ送信要否判定部140は、生成したハッシュ値が既存識別子保存部150の既存識別子リストの識別子(ハッシュ値)と一致するか否かを判定する。言い換えると、車両ログ送信要否判定部140は、生成したハッシュ値が既存識別子リストに存在するか否かを判定する。車両ログ送信要否判定部140は、生成したハッシュ値が既存識別子リストに存在する場合(YESの場合)に、ステップS1505の処理を実施し、生成したハッシュ値が既存識別子リストに存在しない場合(NOの場合)に、ステップS1507の処理を実施する。
 (S1505)車両ログ送信要否判定部140は、対象の分割加工ログ[i]を車両ログ解析サーバ20へ送信する必要がない第一の分割ログと判断する。
 (S1506)車両ログ送信要否判定部140は、対象の分割加工ログ[i]に対応するハッシュ値を生成し、生成したハッシュ値を車両ログ解析サーバ20へ送信するように車両側通信部170に通知する。
 (S1507)車両ログ送信要否判定部140は、対象の分割加工ログ[i]を車両ログ解析サーバ20へ送信する必要がある第二の分割ログと判断する。
 (S1508)車両ログ送信要否判定部140は、対象の分割加工ログ[i]を車両ログ解析サーバ20へ送信するように車両側通信部170に通知する。
 (S1509)車両ログ送信要否判定部140は、iがNか否かを判定し、iがNである場合(YESの場合)、処理を終了し、iがNでない場合(NOの場合)、ステップS1510の処理を実施する。
 (S1510)車両ログ送信要否判定部140は、iに1を加算する。ステップS1509およびステップS1510によって、車両ログの分割数分、ステップS1503からステップS1508での処理を行うことができる。
 [車両ログ復元処理のフローチャート]
 次に、車両ログ復元部220による、受信した分割加工ログ(第二の分割ログ)またはハッシュ値(第一の分割ログに対応する識別子)を車両ログに復元する処理について説明する。
 図16は、本開示の実施の形態1における車両ログ復元部220の車両ログ復元処理のフローチャートを示す。車両ログ送信装置10から取得した分割加工ログを、分割加工ログ[i]とする。ここで、iは、分割番号を示し、1からNの整数をとり、Nは車両ログの分割数を示す。
 (S1601)車両ログ復元部220は、サーバ側通信部210からN個分の分割加工ログ[i]または分割加工ログ[i]のハッシュ値を取得する。
 (S1602)車両ログ復元部220は、iを1とする。
 (S1603)車両ログ復元部220は、取得したのはハッシュ値か否かを判定する。取得したものが、分割加工ログ[i]のハッシュ値である場合(YESの場合)、車両ログ復元部220は、ステップS1604の処理を実施する。取得したものが、分割加工ログ[i]のハッシュ値でない場合、すなわち、取得したものが分割加工ログ[i]の場合(NOの場合)、車両ログ復元部220は、ステップS1605の処理を実施する。
 (S1604)車両ログ復元部220は、分割加工ログ[i]のハッシュ値と一致する識別子を既存分割ログ保存部230の既存分割ログリストから見つけ、識別子に対応するファイルパスから既存分割ログ[i]を取得する。
 (S1605)車両ログ復元部220は、車両ログ分割加工ルール保存部240が記憶する車両ログ分割加工ルールの加工項目「時刻インデックス」の加工有無が「有効」であるか否かを判定する。車両ログ復元部220は、「有効」であると判断する場合(YESの場合)、ステップS1606の処理を実施し、「有効」でないと判断する場合(NOの場合)、ステップS1608の処理を実施する。
 (S1606)車両ログ復元部220は、分割加工ログ[i]または既存分割ログ[i]の時刻(時刻インデックス)が、車両ログ分割加工ルールの加工項目「時刻インデックス」の加工後の値が一致すれば、分割加工ログ[i]または既存分割ログ[i]の時刻を車両ログ分割加工ルールの加工項目「時刻インデックス」の加工前の値に置き換える。
 (S1607)車両ログ復元部220は、分割加工ログ[i]または既存分割ログ[i]を時刻の早い順番に並び替える。ステップS1606およびステップS1607によって、分割加工ログ[i]または既存分割ログ[i]は、車両ログ送信装置10の車両ログ分割加工部120による加工が行われる前の状態であって、IDを用いて分割された状態の分割ログ[i]に戻る。
 (S1608)車両ログ復元部220は、ステップS1606およびステップS1607での処理がなされた後の分割加工ログ[i]を分割ログ[i]として記憶する。
 (S1609)車両ログ復元部220は、iがNか否かを判定する。iがNである場合(YESの場合)、車両ログ復元部220はS1611の処理を実施し、iがNでない場合(NOの場合)、車両ログ復元部220はS1610の処理を実施する。
 (S1610)車両ログ復元部220は、iに1を加算する。ステップS1609およびステップS1610によって、車両ログの分割数分、ステップS1603からステップS1608での処理を行うことができる。
 (S1611)車両ログ復元部220は、N個の分割ログ[i]を、分割番号iが小さい順に結合し、時刻が早い順に並び替える。
 (S1612)車両ログ復元部220は、ステップS1611での処理がなされた後のN個の分割ログ[i]を車両ログとして記憶する。
 (他の実施の形態)
 以上のように、本開示に係る技術の例示として実施の形態1を説明した。しかしながら、本開示に係る技術は、これに限定されず、適宜、変更、置き換え、付加、省略等を行った実施の形態にも適用可能である。例えば、以下のような変形例も本開示の一実施態様に含まれる。
 (1)上記実施の形態では、自動車等の車両に対するセキュリティ対策として説明したが、本開示の適用範囲はこれに限られない。本開示は、自動車に限らず、建機、農機、船舶、鉄道、飛行機などのモビリティにも適用してもよい。
 (2)上記の実施の形態では、車両ログ送信装置10は、車両内に設置されているとして説明したが、車両ログ送信装置10は、複数の車両ログを取りまとめて送信するエッジサーバであってもよいし、車両ログを収集しているクラウドサーバであってもよい。
 (3)上記の実施の形態では、車両ログ解析サーバ20は異常ログ検出部270と異常通知部280を備えると説明したが、異常ログ検出部270と異常通知部280は必須の構成要素ではない。車両ログ解析サーバ20が異常ログ検出部270と異常通知部280を備えない場合、例えば、収集した車両ログは人手によって解析され、攻撃の痕跡があった場合に異常として検出される。
 (4)上記の実施の形態では、車両ログは、ECUのシステム動作ログまたは、CAN、CAN-FD、Ethernet、FlexRayに従うネットワークログであるとして説明したが、ECUはIVI(In-Vehicle Infotaiment System)をであってもよいし、センサ装置であってもよいし、ネットワークはLINやMOSTであってもよいし、それぞれを組み合わせた構成であってもよい。
 (5)上記の実施の形態では、車両ログ送信装置10と車両ログ解析サーバ20は、車両ログ分割加工ルールを事前に共有すると説明したが、車両ログ分割加工ルールは車両ログ送信装置10が車両ログを送信する都度に更新されてもよいし、定期的に車両ログ解析サーバ20から更新されてもよい。この場合、既存分割ログ保存部230は、車両ログ送信装置10を搭載する車両の番号や、車種に応じて異なる車両ログ分割加工ルールを保持しても良い。
 (6)上記の実施の形態では、既存識別子保存部150は、既存識別子リストを事前に車両ログ送信装置10と車両ログ解析サーバ20の間で共有すると説明したが、車両ログ分割加工ルールは車両ログ送信装置10が車両ログを送信する都度に更新されてもよいし、定期的に車両ログ解析サーバ20から更新されてもよい。
 (7)上記の実施の形態では、車両側通信部170は、分割加工ログまたは分割加工ログのハッシュ値を送信すると説明したが、LHAやZIP、7z、RAR、AFA、CAB、GCA、DGCA、StuffIt、Compact Pro、pack、compress、bzip、bzip2、Zstandardなど圧縮アルゴリズムを用いて圧縮したデータを送信してもよい。
 (8)上記の実施の形態では、車両ログ送信要否判定部140は、車両ログ送信装置10に保存されている既存識別子リストを参照して、分割ログを送信する必要があるかないかを判断するとして説明したが、既存識別子リストは車両ログ解析サーバ20に保存されてもよい。この場合、車両ログ送信要否判定部140は、分割加工ログの識別子を車両ログ解析サーバ20へ送信し、車両ログ解析サーバ20が保持する既存分割ログの識別子のうち、いずれか一つの既存分割ログの識別子と一致した場合に、分割加工ログを送信不要であるとして車両ログ送信要否判定部140に応答し、車両ログ送信要否判定部140は分割加工ログの識別子を送信し、既存分割ログの識別子と一致しない場合に、分割加工ログを送信必要であるとして車両ログ送信要否判定部140に応答し、車両ログ送信要否判定部140は分割加工ログを送信する。また、車両ログ解析サーバ20は複数車両の既存ログリストを車両の種別ごとに保持してもよい。これにより、分割加工ログと既存分割ログが一致する可能性をより高くできる。
 (9)上記の実施の形態では、分割加工ログの識別子として、ハッシュ値を用いると説明したが、複数のハッシュ関数を用いて複数のハッシュ値の組み合わせを識別子としてもよいし、ハッシュ値とデータサイズの組を識別子としてもよい。これにより、異なるログの1つのハッシュ値が一致する場合であっても、識別子とログを対応づけることができる。
 (10)上記の実施の形態では、分割加工ログが既存識別子リストと一致しない場合であっても、時刻情報を時刻インデックス情報に置き換え、ソートし、データ置換を実施すると説明したが、必ずしも実施する必要はない。
 (11)上記の実施の形態では、分割加工ログは、時刻または時刻インデックスを含み、データは所定値に置換すると説明したが、異常ログ検出部270が異常なログを検出するために必要な情報に限定してもよい。例えば、異常ログ検出部270が、特定のデータ領域の値が所定値以上の場合に異常として検出する場合、時刻情報や詳細なデータは不要であり、時刻情報を削除またはデータを丸めるなどの処理を分割加工ログに施してもよい。また、異常ログ検出部270が機械学習を用いて、異常を検出する場合、機械学習で用いる時系列の差分情報などの特徴量を分割加工ログのデータとしてもよい。
 (12)上記の実施の形態では、異常通知部280は、異常を車両ログ解析サーバ20の利用者またはドライバーへ通知するとして説明したが、通知先は、警察でもよいし、交通省でもよいし、脆弱性情報の共有機関でもよい。
 (13)上記の実施の形態では、車両ログ分割加工ルールは、車両ログ分割加工部120が車両ログから分割加工ログを生成する際に作成され、車両ログ送信装置10と車両ログ解析サーバ20の間で共有すると説明したが、車両ログ分割加工ルールの加工項目が「分割」、「ソート(昇順)」または、「データ置換」である行において、「加工有無」と「加工前の値」と「加工後の値」は分割加工ログ生成時ではなく、事前に共有されてもよい。ただし、加工項目が「時刻インデックス」である「加工前の値」と「加工後の値」は、事前に共有できないため、車両ログ分割加工部120が分割加工ログを生成する際に作成し、動的に車両ログ解析サーバ20へ共有される必要がある。
 (14)上記実施の形態における各装置を構成する構成要素の一部または全部は、1個のシステムLSI(Large Scale Integration:大規模集積回路)から構成されているとしても良い。システムLSIは、複数の構成部を1個のチップ上に集積して製造された超多機能LSIであり、具体的には、マイクロプロセッサ、ROM、RAM等を含んで構成されるコンピュータシステムである。RAMには、コンピュータプログラムが記録されている。マイクロプロセッサが、コンピュータプログラムに従って動作することにより、システムLSIは、その機能を達成する。また、上記各装置を構成する構成要素の各部は、個別に1チップ化されていても良いし、一部または全部を含むように1チップ化されても良い。また、ここでは、システムLSIとしたが、集積度の違いにより、IC、LSI、スーパーLSI、ウルトラLSIと呼称されることもある。また、集積回路化の手法はLSIに限るものではなく、専用回路または汎用プロセッサで実現しても良い。LSI製造後に、プログラムすることが可能なFPGA(Field Programmable Gate Array)や、LSI内部の回路セルの接続や設定を再構成可能なリコンフィギュラブル・プロセッサを利用しても良い。更には、半導体技術の進歩または派生する別技術によりLSIに置き換わる集積回路化の技術が登場すれば、当然、その技術を用いて機能ブロックの集積化を行っても良い。バイオ技術の適用等が可能性としてあり得る。
 (15)上記各装置を構成する構成要素の一部または全部は、各装置に脱着可能なICカードまたは単体のモジュールから構成されているとしても良い。ICカードまたはモジュールは、マイクロプロセッサ、ROM、RAM等から構成されるコンピュータシステムである。ICカードまたはモジュールは、上記の超多機能LSIを含むとしても良い。マイクロプロセッサが、コンピュータプログラムに従って動作することにより、ICカードまたはモジュールは、その機能を達成する。このICカードまたはこのモジュールは、耐タンパ性を有するとしてもよい。
 (16)また、本開示は、車両ログ送信装置10、車両ログ解析サーバ20および車両ログ解析システム100として実現できるだけでなく、車両ログ解析システム100を構成する各要素が行う処理のステップを含む車両ログ送受信方法として実現できる。
 具体的には、車両ログ送信装置10による車両ログ送信方法と車両ログ解析サーバ20による車両ログ受信方法とから構成され、データの種類を示すIDがそれぞれ対応付けられている複数のデータを含む車両ログを車両ログ送信装置10から車両ログ解析サーバ20へ送信する車両ログ送受信方法であって、車両ログ送信装置10は、車両ログ送信装置10と車両ログ解析サーバ20との間で共有されている既存の車両ログを当該既存の車両ログに含まれるIDを用いて分割することで生成された既存分割ログに対応する識別子のリストである既存識別子リストを記憶する既存識別子保存部150を備え、車両ログ解析サーバ20は、既存分割ログと、既存分割ログに対応する識別子とのリストである既存分割ログリストを記憶する既存分割ログ保存部230を備え、車両ログ送信方法は、図11に示されるように、車両ログを取得する車両ログ取得ステップ(ステップS1101)と、取得された車両ログを当該車両ログに含まれるIDを用いて分割することで、1以上の分割ログを生成する車両ログ分割加工ステップ(ステップS1102)と、1以上の分割ログのそれぞれに対して識別子を生成し、生成した識別子のうち、既存識別子リストに存在する識別子に対応する分割ログを第一の分割ログと判断し、既存識別子リストに存在しない識別子に対応する分割ログを第二の分割ログと判断する車両ログ送信要否判定ステップ(ステップS1104、S1105、S1107)と、第一の分割ログに対応する識別子を車両ログ解析サーバへ送信し、前記第二の分割ログを前記車両ログ解析サーバへ送信する車両側通信ステップ(ステップS1110、S1111)と、を含み、車両ログ受信方法は、図12に示されるように、車両側通信ステップにて送信された第一の分割ログに対応する識別子と第二の分割ログとを受信するサーバ側通信ステップ(ステップS1201、S1203)と、第一の分割ログに対応する識別子を受信した場合に既存分割ログリストを参照して既存分割ログリストにおいて当該識別子に対応する既存分割ログを取得し、第二の分割ログと既存分割ログとを結合して車両ログを復元する車両ログ復元ステップ(ステップS1202、S1204、S1206)と、復元された車両ログを記憶する車両ログ保存ステップ(ステップS1206)と、を含む。
 (17)本開示の一態様としては、車両ログ送受信方法をコンピュータにより実現するプログラム(コンピュータプログラム)であるとしても良いし、コンピュータプログラムからなるデジタル信号であるとしても良い。また、本開示の一態様としては、コンピュータプログラムまたはデジタル信号をコンピュータで読み取り可能な記録媒体、例えば、フレキシブルディスク、ハードディスク、CD-ROM、MO、DVD、DVD-ROM、DVD-RAM、BD(Blue―ray(登録商標) Disc)、半導体メモリ等に記録したものとしても良い。また、これらの記録媒体に記録されているデジタル信号であるとしても良い。また、本開示の一態様としては、コンピュータプログラムまたはデジタル信号を、電気通信回線、無線または有線通信回線、インターネットを代表とするネットワーク、データ放送等を経由して伝送するものとしても良い。また、本開示の一態様としては、マイクロプロセッサとメモリを備えたコンピュータシステムであって、メモリは、上記コンピュータプログラムを記録しており、マイクロプロセッサは、コンピュータプログラムに従って動作するとしても良い。また、プログラム若しくはデジタル信号を記録媒体に記録して移送することにより、または、プログラム若しくはデジタル信号を、ネットワーク等を経由して移送することにより、独立した他のコンピュータシステムにより実施するとしてもよい。
 (18)上記実施の形態および上記変形例で示した各構成要素および機能を任意に組み合わせることで実現される形態も本開示の範囲に含まれる。
 本開示の車載ネットワークシステムにおける車両ログ解析システムによれば、車両と車両の外部のサーバの間で送信される車両ログのデータ量を削減することができる。その結果、大量の車両ネットワークログの通信が可能な資源を準備せずとも、車両ネットワークログを外部のサーバへ送信することができ、車両の外部サーバを用いて車両のネットワークへの不正なデータの侵入を検出することができ、自動車の安全性に貢献できる。
 10 車両ログ送信装置
 20 車両ログ解析サーバ
 30a、30b、30c ECU
 40a センサ
 40b エンジン
 40c ステアリング
 50 外部ネットワーク
 60 車両ネットワーク
 100 車両ログ解析システム
 110 車両ログ取得部
 120 車両ログ分割加工部
 130、240 車両ログ分割加工ルール保存部
 140 車両ログ送信要否判定部
 150 既存識別子保存部
 160 既存識別子登録部
 170 車両側通信部
 200 車両
 210 サーバ側通信部
 220 車両ログ復元部
 230 既存分割ログ保存部
 250 車両ログ保存部
 260 既存分割ログ登録部
 270 異常ログ検出部
 280 異常通知部
 300 車両システム

Claims (27)

  1.  データの種類を示すIDがそれぞれ対応付けられている複数のデータを含む車両ログを車両ログ解析サーバへ送信する車両ログ送信装置であって、
     前記車両ログを取得する車両ログ取得部と、
     取得された前記車両ログを当該車両ログに含まれるIDを用いて分割することで、1以上の分割ログを生成する車両ログ分割加工部と、
     前記車両ログ送信装置と前記車両ログ解析サーバとの間で共有されている既存の車両ログを当該既存の車両ログに含まれるIDを用いて分割することで生成された既存分割ログに対応する識別子のリストである既存識別子リストを記憶する既存識別子保存部と、
     前記1以上の分割ログのそれぞれに対して識別子を生成し、生成した識別子のうち、前記既存識別子リストに存在する識別子に対応する分割ログを第一の分割ログと判断し、前記既存識別子リストに存在しない識別子に対応する分割ログを第二の分割ログと判断する車両ログ送信要否判定部と、
     前記第一の分割ログに対応する識別子を前記車両ログ解析サーバへ送信し、前記第二の分割ログを前記車両ログ解析サーバへ送信する車両側通信部と、を備える、
     車両ログ送信装置。
  2.  前記車両ログ分割加工部は、取得された前記車両ログを当該車両ログに含まれるIDごとに分割することで、前記1以上の分割ログを生成し、
     前記既存識別子保存部は、前記既存の車両ログを当該既存の車両ログに含まれるIDごとに分割することで生成された前記既存分割ログに対応するリストである前記既存識別子リストを記憶する、
     請求項1記載の車両ログ送信装置。
  3.  前記車両ログは、所定のIDを起点とする複数のIDを1周期として当該複数のIDが周期的に繰り返されるように並べられた前記複数のデータを含み、
     前記車両ログ分割加工部は、取得された前記車両ログを当該車両ログに含まれる前記所定のIDを起点とする複数のIDごとに分割することで、前記1以上の分割ログを生成し、
     前記既存識別子保存部は、前記既存の車両ログを当該既存の車両ログに含まれる前記所定のIDを起点とする複数のIDごとに分割することで生成された前記既存分割ログに対応する識別子のリストである前記既存識別子リストを記憶する、
     請求項1記載の車両ログ送信装置。
  4.  前記車両ログは、時刻情報がそれぞれ対応付けられている前記複数のデータを含み、
     前記車両ログ分割加工部は、さらに、前記1以上の分割ログに含まれる時刻情報を時刻インデックス情報に置換する処理を実施し、
     前記既存識別子保存部は、さらに、時刻情報が時刻インデックス情報に置換された前記既存分割ログに対応する識別子のリストである前記既存識別子リストを記憶し、
     前記車両側通信部は、さらに、前記車両ログ解析サーバへ時刻情報と時刻インデックス情報との対応関係を示す時刻リストを送信する、
     請求項1から3のいずれか1項に記載の車両ログ送信装置。
  5.  前記車両ログ分割加工部は、さらに、前記1以上の分割ログに含まれるIDの値またはデータの値の大きさに応じて前記1以上の分割ログを並び替える処理を実施し、
     前記既存識別子保存部は、さらに、IDの値またはデータの値の大きさに応じて並び替えられた前記既存分割ログに対応する識別子のリストである前記既存識別子リストを記憶する、
     請求項4記載の車両ログ送信装置。
  6.  前記車両ログ分割加工部は、さらに、前記1以上の分割ログに含まれるデータの値を所定値に置換する置換処理または前記データの値を丸める端数処理を実施し、
     前記既存識別子保存部は、さらに、前記置換処理または前記端数処理が実施された前記既存分割ログに対応する識別子のリストである前記既存識別子リストを記憶する、
     請求項1から5のいずれか1項に記載の車両ログ送信装置。
  7.  前記車両ログ送信装置は、さらに、前記車両ログ送信要否判定部が前記第二の分割ログと判断した分割ログに対応する識別子を前記既存識別子リストに登録する既存識別子登録部を備える、
     請求項1から6のいずれか1項に記載の車両ログ送信装置。
  8.  データの種類を示すIDがそれぞれ対応付けられている複数のデータを含む車両ログを車両ログ送信装置から受信する車両ログ解析サーバであって、
     前記車両ログ送信装置から、前記車両ログを当該車両ログに含まれるIDを用いて分割することで生成された1以上の分割ログのうちの第一の分割ログに対応する識別子と、前記1以上の分割ログのうちの前記第一の分割ログを除く第二の分割ログとを受信するサーバ側通信部と、
     前記車両ログ送信装置と前記車両ログ解析サーバとの間で共有されている既存の車両ログを当該既存の車両ログに含まれるIDを用いて分割することで生成された既存分割ログと、前記既存分割ログに対応する識別子とのリストである既存分割ログリストを記憶する既存分割ログ保存部と、
     前記第一の分割ログに対応する識別子を受信した場合に前記既存分割ログリストを参照して前記既存分割ログリストにおいて当該識別子に対応する既存分割ログを取得し、前記第二の分割ログと前記既存分割ログとを結合して車両ログを復元する車両ログ復元部と、
     復元された前記車両ログを記憶する車両ログ保存部と、を備える、
     車両ログ解析サーバ。
  9.  前記サーバ側通信部は、前記車両ログ送信装置から、前記車両ログを当該車両ログに含まれるIDごとに分割することで生成された前記1以上の分割ログのうちの前記第一の分割ログに対応する識別子と、前記1以上の分割ログのうちの前記第二の分割ログとを受信し、
     前記既存分割ログ保存部は、前記既存の車両ログを当該既存の車両ログに含まれるIDごとに分割することで生成された前記既存分割ログと、前記既存分割ログに対応する識別子とのリストである前記既存分割ログリストを記憶する、
     請求項8記載の車両ログ解析サーバ。
  10.  前記車両ログは、所定のIDを起点とする複数のIDを1周期として当該複数のIDが周期的に繰り返されるように並べられた前記複数のデータを含み、
     前記サーバ側通信部は、前記車両ログ送信装置から、前記車両ログを当該車両ログに含まれる前記所定のIDを起点とする複数のIDごとに分割することで生成された前記1以上の分割ログのうちの前記第一の分割ログに対応する識別子と、前記1以上の分割ログのうちの前記第二の分割ログとを受信し、
     前記既存分割ログ保存部は、前記既存の車両ログを当該既存の車両ログに含まれる前記所定のIDを起点とする複数のIDごとに分割することで生成された前記既存分割ログと、前記既存分割ログに対応する識別子とのリストである前記既存分割ログリストを記憶する、
     請求項8記載の車両ログ解析サーバ。
  11.  前記車両ログ解析サーバは、さらに、復元された前記車両ログを監視し、当該車両ログに攻撃の痕跡が含まれる場合に異常ログとして検出する異常ログ検出部と、
     所定の通知先に車両が異常であることを通知する異常通知部と、を備える、
     請求項8から10のいずれか1項に記載の車両ログ解析サーバ。
  12.  前記異常ログ検出部は、さらに、過去に異常と判定された車両ログを当該車両ログに含まれるIDを用いて分割することで生成された異常分割ログに対応する識別子のリストである異常識別子リストを保持し、前記サーバ側通信部が前記第一の分割ログに対応する識別子を受信した場合、当該識別子が前記異常識別子リストに含まれる場合に異常として検出し、前記サーバ側通信部が前記第二の分割ログを受信した場合に、前記第二の分割ログに攻撃の痕跡が含まれるときには、前記第二の分割ログを異常ログとして検出し、当該異常ログを当該異常ログに含まれるIDを用いて分割することで生成された異常分割ログを前記異常識別子リストに登録する、
     請求項11記載の車両ログ解析サーバ。
  13.  前記車両ログは、時刻情報がそれぞれ対応付けられている前記複数のデータを含み、
     前記サーバ側通信部は、前記車両ログ送信装置から、時刻情報が時刻インデックス情報に置換された前記1以上の分割ログのうちの前記第一の分割ログに対応する識別子と、前記1以上の分割ログのうちの前記第二の分割ログと、時刻情報と時刻インデックス情報との対応関係を示す時刻リストとを受信し、
     前記既存分割ログ保存部は、さらに、時刻情報が時刻インデックス情報に置換された前記既存分割ログと、前記既存分割ログに対応する識別子とのリストである前記既存分割ログリストを記憶し、
     前記車両ログ復元部は、前記第一の分割ログに対応する識別子を受信した場合に前記既存分割ログリストを参照して前記既存分割ログリストにおいて当該識別子に対応する前記既存分割ログを取得し、前記時刻リストを参照して前記既存分割ログに含まれる時刻インデックス情報を時刻情報に置換し、前記第二の分割ログと前記既存分割ログとを結合して車両ログを復元する、
     請求項8から12のいずれか1項に記載の車両ログ解析サーバ。
  14.  前記サーバ側通信部は、IDの値またはデータの値の大きさに応じて並び替えられた前記1以上の分割ログのうちの前記第一の分割ログに対応する識別子と、前記1以上の分割ログのうちの前記第二の分割ログとを受信し、
     前記既存分割ログ保存部は、さらに、IDの値またはデータの値の大きさに応じて並び替えられた前記既存分割ログと、前記既存分割ログに対応する識別子とのリストである前記既存分割ログリストを記憶し、
     前記車両ログ復元部は、前記第一の分割ログに対応する識別子を受信した場合に前記既存分割ログリストを参照して前記既存分割ログリストにおいて当該識別子に対応する前記既存分割ログを取得し、前記時刻リストを参照して前記既存分割ログの時刻インデックス情報を時刻情報に置換し、置換された前記時刻情報を参照して前記既存分割ログを時刻が早い順に並び替え、前記第二の分割ログと前記既存分割ログとを結合して車両ログを復元する、
     請求項13記載の車両ログ解析サーバ。
  15.  前記サーバ側通信部は、データの値を所定値に置換する置換処理または前記データの値を丸める端数処理が実施された前記1以上の分割ログのうちの前記第一の分割ログに対応する識別子と、前記1以上の分割ログのうちの前記第二の分割ログとを受信し、
     前記既存分割ログ保存部は、さらに、前記置換処理または前記端数処理が実施された前記既存分割ログと、前記既存分割ログに対応する識別子とのリストである前記既存分割ログリストを記憶する、
     請求項8から14のいずれか1項に記載の車両ログ解析サーバ。
  16.  前記車両ログ解析サーバは、さらに、前記第二の分割ログを受信した場合に、前記第二の分割ログに対応する識別子を生成し、前記第二の分割ログと当該識別子とを前記既存分割ログリストに登録する既存分割ログ登録部を備える、
     請求項8から15のいずれか1項に記載の車両ログ解析サーバ。
  17.  車両ログ送信装置と車両ログ解析サーバとから構成され、データの種類を示すIDがそれぞれ対応付けられている複数のデータを含む車両ログを前記車両ログ送信装置から前記車両ログ解析サーバへ送信する車両ログ解析システムであって、
     前記車両ログ送信装置は、
     前記車両ログを取得する車両ログ取得部と、
     取得された前記車両ログを当該車両ログに含まれるIDを用いて分割することで、1以上の分割ログを生成する車両ログ分割加工部と、
     前記車両ログ送信装置と前記車両ログ解析サーバの間で共有されている既存の車両ログを当該既存の車両ログに含まれるIDを用いて分割することで生成された既存分割ログに対応する識別子のリストである既存識別子リストを記憶する既存識別子保存部と、
     前記1以上の分割ログのそれぞれに対して識別子を生成し、生成した識別子のうち、前記既存識別子リストに存在する識別子に対応する分割ログを第一の分割ログと判断し、前記既存識別子リストに存在しない識別子に対応する分割ログを第二の分割ログと判断する車両ログ送信要否判定部と、
     前記第一の分割ログに対応する識別子を前記車両ログ解析サーバへ送信し、前記第二の分割ログを前記車両ログ解析サーバへ送信する車両側通信部と、を備え、
     前記車両ログ解析サーバは、
     前記車両側通信部から送信された前記第一の分割ログに対応する識別子と前記第二の分割ログとを受信するサーバ側通信部と、
     前記既存分割ログと、前記既存分割ログに対応する識別子とのリストである既存分割ログリストを記憶する既存分割ログ保存部と、
     前記第一の分割ログに対応する識別子を受信した場合に前記既存分割ログリストを参照して前記既存分割ログリストにおいて当該識別子に対応する既存分割ログを取得し、前記第二の分割ログと前記既存分割ログとを結合して車両ログを復元する車両ログ復元部と、
     復元された車両ログを記憶する車両ログ保存部と、を備える、
     車両ログ解析システム。
  18.  前記車両ログ分割加工部は、取得された前記車両ログを当該車両ログに含まれるIDごとに分割することで、前記1以上の分割ログを生成し、
     前記既存識別子保存部は、前記既存の車両ログを当該既存の車両ログに含まれるIDごとに分割することで生成された前記既存分割ログに対応するリストである前記既存識別子リストを記憶し、
     前記サーバ側通信部は、前記車両側通信部から送信された、前記1以上の分割ログのうちの前記第一の分割ログに対応する識別子と、前記1以上の分割ログのうちの前記第二の分割ログとを受信し、
     前記既存分割ログ保存部は、前記既存の車両ログを前記既存の車両ログに含まれるIDごとに分割することで生成された前記既存分割ログと、前記既存分割ログに対応する識別子とのリストである前記既存分割ログリストを記憶する、
     請求項17記載の車両ログ解析システム。
  19.  前記車両ログは、所定のIDを起点とする複数のIDを1周期として当該複数のIDが周期的に繰り返されるように並べられた前記複数のデータを含み、
     前記車両ログ分割加工部は、取得された前記車両ログを当該車両ログに含まれる前記所定のIDを起点とする複数のIDごとに分割することで、前記1以上の分割ログを生成し、
     前記既存識別子保存部は、前記既存の車両ログを当該既存の車両ログに含まれる前記所定のIDを起点とする複数のIDごとに分割することで生成された前記既存分割ログに対応する識別子のリストである前記既存識別子リストを記憶し、
     前記サーバ側通信部は、前記車両側通信部から送信された、前記1以上の分割ログのうちの前記第一の分割ログに対応する識別子と、前記1以上の分割ログのうちの前記第二の分割ログとを受信し、
     前記既存識別子保存部は、前記既存の車両ログを当該既存の車両ログに含まれるIDごとに分割することで生成された前記既存分割ログと、前記既存分割ログに対応する識別子とのリストである前記既存分割ログリストを記憶する、
     請求項17記載の車両ログ解析システム。
  20.  前記車両ログは、時刻情報がそれぞれ対応付けられている前記複数のデータを含み、
     前記車両ログ分割加工部は、さらに、前記1以上の分割ログに含まれる時刻情報を時刻インデックス情報に置換する処理を実施し、
     前記既存識別子保存部は、さらに、時刻情報を時刻インデックス情報に置換された前記既存分割ログに対応する識別子のリストである前記既存識別子リストを記憶し、
     前記車両側通信部は、さらに、前記車両ログ解析サーバへ時刻情報と時刻インデックス情報との対応関係を示す時刻リストを送信し、
     前記サーバ側通信部は、さらに、前記車両側通信部から、前記時刻リストを受信し、
     前記既存分割ログ保存部は、さらに、時刻情報が時刻インデックス情報に置換された前記既存分割ログと、前記既存分割ログに対応する識別子とのリストである前記既存分割ログリストを記憶し、
     前記車両ログ復元部は、前記第一の分割ログに対応する識別子を受信した場合に前記既存分割ログリストを参照して前記既存分割ログリストにおいて当該識別子に対応する前記既存分割ログを取得し、前記時刻リストを参照して前記既存分割ログに含まれる時刻インデックス情報を時刻情報に置換し、前記第二の分割ログと前記既存分割ログとを結合して車両ログを復元する、
     請求項17から19のいずれか1項に記載の車両ログ解析システム。
  21.  前記車両ログ分割加工部は、さらに、前記1以上の分割ログに含まれるIDの値またはデータの値の大きさに応じて前記1以上の分割ログを並び替える処理を実施し、
     前記既存識別子保存部は、さらに、IDの値またはデータの値の大きさに応じて並び替えられた前記既存分割ログに対応する識別子のリストである前記既存識別子リストを記憶し、
     前記サーバ側通信部は、IDの値またはデータの値の大きさに応じて並び替えられた前記1以上の分割ログのうちの前記第一の分割ログに対応する識別子と、前記1以上の分割ログのうちの前記第二の分割ログとを受信し、
     前記既存分割ログ保存部は、さらに、IDの値またはデータの値の大きさに応じて並び替えられた前記既存分割ログと、既存分割ログに対応する識別子とのリストである前記既存分割ログリストを記憶し、
     前記車両ログ復元部は、前記第一の分割ログに対応する識別子を受信した場合に前記既存分割ログリストを参照して前記既存分割ログリストにおいて当該識別子に対応する前記既存分割ログを取得し、前記時刻リストを参照して、前記既存分割ログの時刻インデックス情報を時刻情報に置換し、置換された前記時刻情報を参照して前記既存分割ログを時刻が早い順に並び替え、前記第二の分割ログと前記既存分割ログとを結合して車両ログを復元する、
     請求項20記載の車両ログ解析システム。
  22.  前記車両ログ分割加工部は、さらに、前記1以上の分割ログに含まれるデータの値を所定値に置換する置換処理または前記データの値を丸める端数処理を実施し、
     前記既存識別子保存部は、さらに、前記置換処理または前記端数処理が実施された前記既存分割ログに対応する識別子のリストである前記既存識別子リストを記憶し、
     前記サーバ側通信部は、前記置換処理または前記端数処理が実施された前記1以上の分割ログのうちの前記第一の分割ログに対応する識別子と、前記1以上の分割ログのうちの前記第二の分割ログとを受信し、
     前記既存分割ログ保存部は、さらに、前記置換処理または前記端数処理が実施された前記既存分割ログと、前記既存分割ログに対応する識別子とのリストである既存分割ログリストを記憶する、
     請求項17から21のいずれか1項に記載の車両ログ解析システム。
  23.  前記車両ログ解析サーバは、さらに、復元された前記車両ログを監視し、当該車両ログに攻撃の痕跡が含まれる場合に異常ログとして検出する異常ログ検出部と、
     所定の通知先に車両が異常であることを通知する異常通知部と、を備える、
     請求項17から22のいずれか1項に記載の車両ログ解析システム。
  24.  前記異常ログ検出部は、さらに、過去に異常と判定された車両ログを当該車両ログに含まれるIDを用いて分割することで生成された異常分割ログに対応する識別子のリストである異常識別子リストを保持し、前記サーバ側通信部が前記第一の分割ログに対応する識別子を受信した場合、当該識別子が前記異常識別子リストに含まれる場合に異常として検出し、前記サーバ側通信部が前記第二の分割ログを受信した場合に、前記第二の分割ログに攻撃の痕跡が含まれるときには、前記第二の分割ログを異常ログとして検出し、当該異常ログを当該異常ログに含まれるIDを用いて分割することで生成された異常分割ログを前記異常識別子リストに登録する、
     請求項23記載の車両ログ解析システム。
  25.  前記車両ログ送信装置は、さらに、前記車両ログ送信要否判定部が前記第二の分割ログと判断した分割ログに対応する識別子を前記既存識別子リストに登録する既存識別子登録部を備え、
     前記車両ログ解析サーバは、さらに、前記第二の分割ログを受信した場合に、前記第二の分割ログに対応する識別子を生成し、前記第二の分割ログと当該識別子とを前記既存分割ログリストに登録する既存分割ログ登録部を備える、
     請求項17から24のいずれか1項に記載の車両ログ解析システム。
  26.  前記車両ログ取得部は、前記車両ログのIDとしてフレームIDを含むCANまたはCAN-FDプロトコルに従う車載ネットワークログと、前記車両ログのIDとしてスロットIDを含むFlexRay(登録商標)プロトコルに従う車載ネットワークログと、前記車両ログにIDとしてIPアドレスを含むEthernet(登録商標)プロトコルに従う車載ネットワークログと、前記車両ログにIDとしてプロセス番号を含むシステム動作ログとのうちの、少なくとも1つの前記車両ログを取得する、
     請求項17から25のいずれか1項に記載の車両ログ解析システム。
  27.  車両ログ送信装置による車両ログ送信方法と車両ログ解析サーバによる車両ログ受信方法とから構成され、データの種類を示すIDがそれぞれ対応付けられている複数のデータを含む車両ログを前記車両ログ送信装置から前記車両ログ解析サーバへ送信する車両ログ送受信方法であって、
     前記車両ログ送信装置は、前記車両ログ送信装置と前記車両ログ解析サーバとの間で共有されている既存の車両ログを当該既存の車両ログに含まれるIDを用いて分割することで生成された既存分割ログに対応する識別子のリストである既存識別子リストを記憶する既存識別子保存部を備え、
     前記車両ログ解析サーバは、前記既存分割ログと、前記既存分割ログに対応する識別子とのリストである既存分割ログリストを記憶する既存分割ログ保存部を備え、
     前記車両ログ送信方法は、
     車両ログを取得する車両ログ取得ステップと、
     取得された前記車両ログを当該車両ログに含まれるIDを用いて分割することで、1以上の分割ログを生成する車両ログ分割加工ステップと、
     前記1以上の分割ログのそれぞれに対して識別子を生成し、生成した識別子のうち、前記既存識別子リストに存在する識別子に対応する分割ログを第一の分割ログと判断し、前記既存識別子リストに存在しない識別子に対応する分割ログを第二の分割ログと判断する車両ログ送信要否判定ステップと、
     前記第一の分割ログに対応する識別子を前記車両ログ解析サーバへ送信し、前記第二の分割ログを前記車両ログ解析サーバへ送信する車両側通信ステップと、を含み、
     前記車両ログ受信方法は、
     前記車両側通信ステップにて送信された前記第一の分割ログに対応する識別子と前記第二の分割ログとを受信するサーバ側通信ステップと、
     前記第一の分割ログに対応する識別子を受信した場合に前記既存分割ログリストを参照して前記既存分割ログリストにおいて当該識別子に対応する既存分割ログを取得し、前記第二の分割ログと前記既存分割ログとを結合して車両ログを復元する車両ログ復元ステップと、
     復元された前記車両ログを記憶する車両ログ保存ステップと、を含む、
     車両ログ送受信方法。
PCT/JP2019/035423 2018-11-30 2019-09-09 車両ログ送信装置、車両ログ解析サーバ、車両ログ解析システムおよび車両ログ送受信方法 WO2020110415A1 (ja)

Priority Applications (4)

Application Number Priority Date Filing Date Title
EP19891092.9A EP3889782A4 (en) 2018-11-30 2019-09-09 VEHICLE LOG TRANSMISSION DEVICE, VEHICLE LOG ANALYSIS SERVER, VEHICLE LOG ANALYSIS SYSTEM AND VEHICLE LOG TRANSMISSION/RECEPTION METHOD
CN201980064391.4A CN112789600A (zh) 2018-11-30 2019-09-09 车辆日志发送装置、车辆日志分析服务器、车辆日志分析系统以及车辆日志收发方法
JP2020558112A JP7269955B2 (ja) 2018-11-30 2019-09-09 車両ログ送信装置、車両ログ解析サーバおよび車両ログ解析システム
US17/222,473 US11997119B2 (en) 2018-11-30 2021-04-05 Vehicle log transmission device, vehicle log analysis server, vehicle log analysis system, and vehicle log transmission/reception method

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
JP2018-224503 2018-11-30
JP2018224503 2018-11-30

Related Child Applications (1)

Application Number Title Priority Date Filing Date
US17/222,473 Continuation US11997119B2 (en) 2018-11-30 2021-04-05 Vehicle log transmission device, vehicle log analysis server, vehicle log analysis system, and vehicle log transmission/reception method

Publications (1)

Publication Number Publication Date
WO2020110415A1 true WO2020110415A1 (ja) 2020-06-04

Family

ID=70852771

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/JP2019/035423 WO2020110415A1 (ja) 2018-11-30 2019-09-09 車両ログ送信装置、車両ログ解析サーバ、車両ログ解析システムおよび車両ログ送受信方法

Country Status (5)

Country Link
US (1) US11997119B2 (ja)
EP (1) EP3889782A4 (ja)
JP (1) JP7269955B2 (ja)
CN (1) CN112789600A (ja)
WO (1) WO2020110415A1 (ja)

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112948217A (zh) * 2021-03-29 2021-06-11 腾讯科技(深圳)有限公司 服务器修复查验方法和装置、存储介质及电子设备
JP2023057532A (ja) * 2021-10-11 2023-04-21 ウーブン・アルファ株式会社 カスタマイズされたデータ要求システムおよび使用方法
WO2023139964A1 (ja) * 2022-01-21 2023-07-27 株式会社日立産機システム ゲートウェイ装置と解析システム及び解析方法
JP7431901B2 (ja) 2021-09-30 2024-02-15 ウーブン・バイ・トヨタ株式会社 車両データ収集システム及びその使用方法

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10114857B1 (en) * 2017-11-13 2018-10-30 Lendingclub Corporation Techniques for performing multi-system computer operations
US20230385405A1 (en) * 2022-05-27 2023-11-30 The Boeing Company System, method, and program for analyzing vehicle system logs

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2002163180A (ja) * 2000-11-27 2002-06-07 Nissan Motor Co Ltd データ収集装置およびデータ転送方法
JP2010097417A (ja) * 2008-10-16 2010-04-30 Nec Corp メッセージ管理システム、監視対象装置、監視装置、メッセージ管理方法およびそのプログラム
JP2012079044A (ja) 2010-09-30 2012-04-19 Yahoo Japan Corp ファイル送受信システム、端末装置、ストレージサーバ、ファイル送受信方法及びプログラム
JP2014146868A (ja) 2013-01-28 2014-08-14 Hitachi Automotive Systems Ltd ネットワーク装置およびデータ送受信システム
JP2017111796A (ja) * 2015-12-16 2017-06-22 パナソニック インテレクチュアル プロパティ コーポレーション オブ アメリカPanasonic Intellectual Property Corporation of America セキュリティ処理方法及びサーバ
JP2017144852A (ja) * 2016-02-17 2017-08-24 日立オートモティブシステムズ株式会社 車両制御装置

Family Cites Families (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2009276845A (ja) * 2008-05-12 2009-11-26 Denso Corp 移動体通信装置および移動体通信システム
US8370920B2 (en) * 2009-10-28 2013-02-05 Aunigma Network Security Corp. System and method for providing unified transport and security protocols
SG11201509008QA (en) * 2013-09-06 2015-12-30 Hitachi Ltd Fare refund system, and method for same
US9843594B1 (en) * 2014-10-28 2017-12-12 Symantec Corporation Systems and methods for detecting anomalous messages in automobile networks
JP6525824B2 (ja) * 2015-08-31 2019-06-05 国立大学法人名古屋大学 中継装置
JP6839963B2 (ja) * 2016-01-08 2021-03-10 パナソニック インテレクチュアル プロパティ コーポレーション オブ アメリカPanasonic Intellectual Property Corporation of America 異常検知方法、異常検知装置及び異常検知システム
IT201600111869A1 (it) * 2016-11-07 2018-05-07 Magneti Marelli Spa "Procedimento di monitoraggio di traffico dati in una rete di autoveicolo o motoveicolo"
EP3435617B1 (en) * 2017-07-24 2021-05-26 Nxp B.V. A node, a vehicle, an integrated circuit and method for updating at least one rule in a controller area network
US11729183B2 (en) * 2017-12-19 2023-08-15 Hyundai Motor Company System and method for providing secure in-vehicle network
US11934520B2 (en) * 2018-03-28 2024-03-19 Nvidia Corporation Detecting data anomalies on a data interface using machine learning
US20210306361A1 (en) * 2018-10-11 2021-09-30 Nippon Telegraph And Telephone Corporation Analysis apparatus, analysis system, analysis method and program

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2002163180A (ja) * 2000-11-27 2002-06-07 Nissan Motor Co Ltd データ収集装置およびデータ転送方法
JP2010097417A (ja) * 2008-10-16 2010-04-30 Nec Corp メッセージ管理システム、監視対象装置、監視装置、メッセージ管理方法およびそのプログラム
JP2012079044A (ja) 2010-09-30 2012-04-19 Yahoo Japan Corp ファイル送受信システム、端末装置、ストレージサーバ、ファイル送受信方法及びプログラム
JP2014146868A (ja) 2013-01-28 2014-08-14 Hitachi Automotive Systems Ltd ネットワーク装置およびデータ送受信システム
JP2017111796A (ja) * 2015-12-16 2017-06-22 パナソニック インテレクチュアル プロパティ コーポレーション オブ アメリカPanasonic Intellectual Property Corporation of America セキュリティ処理方法及びサーバ
JP2017144852A (ja) * 2016-02-17 2017-08-24 日立オートモティブシステムズ株式会社 車両制御装置

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
SASAKI, TAKAMITSU; TAKAHASHI, RYOTA; TSURUMI, JUNICHI; KISHIKAWA, TAKESHI; HAGA, TOMOYUKI; MATSUSHIMA, HIDEKI: "Monitoring Data Volume Reduction Method for Reducing Operating Cost of Automotive Security Systems", THE 2017 SYMPOSIUM ON CRYPTOGRAPHY AND INFORMATION SECURITY (SCIS2017), 24 January 2017 (2017-01-24), JP, pages 1 - 7, XP009526817 *
See also references of EP3889782A4

Cited By (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112948217A (zh) * 2021-03-29 2021-06-11 腾讯科技(深圳)有限公司 服务器修复查验方法和装置、存储介质及电子设备
CN112948217B (zh) * 2021-03-29 2023-01-13 腾讯科技(深圳)有限公司 服务器修复查验方法和装置、存储介质及电子设备
JP7431901B2 (ja) 2021-09-30 2024-02-15 ウーブン・バイ・トヨタ株式会社 車両データ収集システム及びその使用方法
JP2023057532A (ja) * 2021-10-11 2023-04-21 ウーブン・アルファ株式会社 カスタマイズされたデータ要求システムおよび使用方法
JP7496391B2 (ja) 2021-10-11 2024-06-06 ウーブン・バイ・トヨタ株式会社 カスタマイズされたデータ要求システムおよび使用方法
WO2023139964A1 (ja) * 2022-01-21 2023-07-27 株式会社日立産機システム ゲートウェイ装置と解析システム及び解析方法

Also Published As

Publication number Publication date
EP3889782A4 (en) 2022-01-19
EP3889782A1 (en) 2021-10-06
JPWO2020110415A1 (ja) 2021-10-14
US20210226974A1 (en) 2021-07-22
JP7269955B2 (ja) 2023-05-09
US11997119B2 (en) 2024-05-28
CN112789600A (zh) 2021-05-11

Similar Documents

Publication Publication Date Title
WO2020110415A1 (ja) 車両ログ送信装置、車両ログ解析サーバ、車両ログ解析システムおよび車両ログ送受信方法
WO2020110414A1 (ja) 車両ログ送信装置、車両ログ解析システムおよび車両ログ送受信方法
US11113382B2 (en) Vehicle network system whose security is improved using message authentication code
KR102169754B1 (ko) 환경 센서 데이터를 통신 데이터와 병합하기 위한 방법, 시스템, 및 그 시스템의 사용 방법
JP2023016844A (ja) 不正検知サーバ、および、制御方法
CN107171809B (zh) 无人机广播签名的方法及装置、电子设备、存储介质
US10841975B2 (en) Method for identifying redundantly received information items, vehicle-to-x communication system and use of the system
CN111492625A (zh) 非法检测方法以及非法检测装置
DE112016004325T5 (de) Universalsensor und/oder Sensorcluster zur Bereitstellung eines Detektionsmusters
JPWO2019093098A1 (ja) 情報処理装置、移動装置、および方法、並びにプログラム
CN113364624B (zh) 基于边缘计算的混合云流量采集方法和系统
US20140310359A1 (en) Vehicle information providing system
EP3968226A1 (en) Unmanned aerial vehicle identity identification module and storage method
WO2018179536A1 (ja) 情報処理装置、情報処理方法、プログラムとそれを記憶した記録媒体
US10171395B2 (en) Aircraft message management system
JP7006622B2 (ja) 抽出装置、抽出方法と抽出プログラム、ならびに、異常検知装置、異常検知方法
KR20200141402A (ko) 차량에서 기록된 이벤트 데이터를 수집 및 관리하는 방법 및 시스템
EP4160998A1 (en) Abnormality detection device, abnormality detection system, and abnormality detection method
US10120715B2 (en) Distributed network management system and method for a vehicle
CN114450683A (zh) 异常检测方法、程序以及异常检测系统
US12003966B2 (en) Local misbehavior prevention system for cooperative intelligent transportation systems
Gazdag et al. Efficient lossless compression of CAN traffic logs
KR20180009900A (ko) 차량 데이터 처리 방법
US20220337494A1 (en) Communication log aggregation device and communication log aggregation method
WO2023223480A1 (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: 19891092

Country of ref document: EP

Kind code of ref document: A1

ENP Entry into the national phase

Ref document number: 2020558112

Country of ref document: JP

Kind code of ref document: A

NENP Non-entry into the national phase

Ref country code: DE

ENP Entry into the national phase

Ref document number: 2019891092

Country of ref document: EP

Effective date: 20210630