[go: up one dir, main page]

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

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

Info

Publication number
WO2020110414A1
WO2020110414A1 PCT/JP2019/035421 JP2019035421W WO2020110414A1 WO 2020110414 A1 WO2020110414 A1 WO 2020110414A1 JP 2019035421 W JP2019035421 W JP 2019035421W WO 2020110414 A1 WO2020110414 A1 WO 2020110414A1
Authority
WO
WIPO (PCT)
Prior art keywords
log
vehicle
difference
generation
difference generation
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Ceased
Application number
PCT/JP2019/035421
Other languages
English (en)
French (fr)
Inventor
平野 亮
剛 岸川
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Panasonic Intellectual Property Corp of America
Original Assignee
Panasonic Intellectual Property Corp of America
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Panasonic Intellectual Property Corp of America filed Critical Panasonic Intellectual Property Corp of America
Priority to CN201980064428.3A priority Critical patent/CN112789601B/zh
Priority to EP19891624.9A priority patent/EP3889783B1/en
Priority to JP2020558111A priority patent/JP7325441B2/ja
Publication of WO2020110414A1 publication Critical patent/WO2020110414A1/ja
Priority to US17/222,325 priority patent/US12021886B2/en
Anticipated expiration legal-status Critical
Ceased legal-status Critical Current

Links

Images

Classifications

    • 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
    • G06COMPUTING OR CALCULATING; 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 OR CALCULATING; 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 OR CALCULATING; 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
    • 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]
    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03MCODING; DECODING; CODE CONVERSION IN GENERAL
    • H03M7/00Conversion of a code where information is represented by a given sequence or number of digits to a code where the same, similar or subset of information is represented by a different sequence or number of digits
    • H03M7/30Compression; Expansion; Suppression of unnecessary data, e.g. redundancy reduction
    • H03M7/40Conversion to or from variable length codes, e.g. Shannon-Fano code, Huffman code, Morse code
    • H03M7/4031Fixed length to variable length coding
    • H03M7/4037Prefix coding
    • H03M7/4043Adaptive prefix coding
    • H03M7/4062Coding table adaptation
    • 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 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 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.
  • Non-Patent Document 1 As a method of calculating the difference between two types of data, for example, there is a method described in Non-Patent Document 1. Generally, if the difference is small, the difference data is biased to 0, so the difference data is compressed by LHA, ZIP, or the like. The data compression rate is high when the algorithm is applied, and the amount of communication data can be efficiently reduced.
  • the in-vehicle network log includes data that fluctuates depending on the state of the vehicle and time data
  • the divided data of the log that is currently acquired and the server that has been acquired in the past are used.
  • the degree of similarity with the divided data of the log saved in is low.
  • the difference between the log division data that is currently acquired and the log division data that was acquired in the past and saved on the server becomes large, the compression ratio of the difference data is low, and it is necessary to send a large amount of data to the server. is there. Therefore, there is a problem that the communication data amount cannot be efficiently reduced 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 a server outside the vehicle.
  • a vehicle log transmission device of the present disclosure is a vehicle log transmission device that transmits a vehicle log to a vehicle log analysis server, and a vehicle log acquisition unit that acquires the vehicle log, and a acquired vehicle log acquisition unit.
  • a vehicle state extraction unit that extracts a vehicle state from the vehicle log, and a list of difference generation logs that are vehicle logs for each vehicle state that are shared between the vehicle log transmission device and the vehicle log analysis server are stored.
  • a difference log generation unit that generates a difference log based on the log, the generated difference log, and a difference generation log identifier corresponding to the selected difference generation log is transmitted 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 processing rule according to the first embodiment of the present disclosure.
  • FIG. 7 is a diagram illustrating an example of a processed vehicle 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 illustrating an example of the difference generation log according to the first embodiment of the present disclosure.
  • FIG. 9 is a diagram illustrating an example of the difference log according to the first embodiment of the present disclosure.
  • FIG. 10 is a diagram showing a sequence of difference log transmission processing according to the first embodiment of the present disclosure.
  • FIG. 11 is a diagram showing a sequence of difference log reception processing according to the first embodiment of the present disclosure.
  • FIG. 12 is a flowchart of vehicle log processing processing according to the first embodiment of the present disclosure.
  • FIG. 13 is a flowchart of the difference log generation process according to the first embodiment of the present disclosure.
  • FIG. 14 is a flowchart of vehicle log restoration processing according to Embodiment 1 of the present disclosure.
  • the vehicle log transmission device is a vehicle log transmission device that transmits a vehicle log to a vehicle log analysis server, and a vehicle log acquisition unit that acquires the vehicle log, and a vehicle state that extracts a vehicle condition from the acquired vehicle log.
  • An extraction unit a difference generation log storage unit that stores a list of difference generation logs that are vehicle logs for each vehicle state that are shared between the vehicle log transmission device and the vehicle log analysis server, and are extracted.
  • a difference generation log selecting unit that selects a difference generation log from the list according to the vehicle state, and a difference that generates a difference log based on the acquired vehicle log and the selected difference generation log.
  • a log that is likely to occur in a specific vehicle state is shared as a difference generation log for each vehicle state between the vehicle log transmission device and the vehicle log analysis server, and the vehicle log transmission device transmits the vehicle log to the vehicle log analysis server.
  • the difference generation log is selectively used according to the vehicle state at that time to generate the difference log.
  • the difference generation log storage unit stores the vehicle log previously transmitted to the vehicle log analysis server and the list of the difference generation logs in which the vehicle state at the time of transmission is associated with each other. Good.
  • the vehicle log transmitted in the past will be shared between the vehicle log transmission device and the vehicle log analysis server. Therefore, by using the vehicle log transmitted in the past as the difference generation log, It is not necessary to set the difference generation log in the vehicle log transmission device in advance, and the development cost can be suppressed.
  • the vehicle log includes a plurality of data in which IDs indicating the types of data are associated with each other, and the difference generation log storage unit is provided for each ID included in the vehicle log and for each vehicle state.
  • the difference generation log selection unit stores the list of the difference generation logs, the difference generation log selection unit selects the difference generation log for each ID from the list according to the extracted vehicle state, and the difference log generation unit For each of the IDs included in the acquired vehicle log, the difference log is generated based on the data associated with the ID and the selected difference generation log corresponding to the ID. Good.
  • the difference generation log for each ID included in the vehicle log it is not necessary to store all of the plurality of data included in the vehicle log as the difference generation log, and only the number of types of IDs is required.
  • the storage area required for generating the difference log can be reduced.
  • the vehicle log is a plurality of data in which IDs indicating the types of data are associated with each other, and a plurality of IDs starting from a predetermined ID is set as one cycle and the plurality of IDs are periodically repeated.
  • the difference generation log selection unit includes a plurality of data arranged as described above, and the difference corresponding to the plurality of IDs starting from the predetermined ID from the list according to the extracted vehicle state. The generation log may be selected.
  • a plurality of data included in the vehicle log 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, and the same for each of the plurality of IDs.
  • Such data will be repeated. Therefore, by unifying the IDs that are the starting points of the vehicle log and the difference generation log into a predetermined ID, a plurality of IDs of one cycle included in the vehicle log and a plurality of IDs of one cycle included in the difference generation log can be obtained. And the difference between the vehicle log and the difference generation log is small, the communication data amount of the vehicle log transmitted from the vehicle to the server outside the vehicle can be further effectively reduced.
  • the plurality of data included in the vehicle log can reduce information other than the data corresponding to the plurality of IDs in one cycle.
  • the difference generation log storage unit stores the list of the difference generation logs that have been subjected to a replacement process of replacing a data value with a predetermined value or a rounding process of rounding a data value, and generate the difference log generation.
  • the unit may further perform the replacement process or the fraction process on the acquired vehicle log, and then generate the difference log.
  • the value of the data area such as a counter or checksum that is likely to be different between the vehicle log and the difference generation log is set to the same predetermined value for the vehicle log and the difference generation log, or an abnormality is detected from the vehicle log.
  • the transmission target vehicle log and the difference generation log become more similar. Therefore, since the difference log to be transmitted becomes small, 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 a plurality of pieces of data in which time information is associated with each other
  • the difference generation log storage unit stores the difference generation log in which the time information is replaced with index information.
  • the difference log generation unit stores the list, and further, after replacing the time information included in the acquired vehicle log with index information, generates the difference log, and the difference log transmission unit further includes: A time list indicating the correspondence between time information and index information may be transmitted to the vehicle log analysis server.
  • the vehicle log and the difference generation log are more similar by replacing the value of the time information that is likely to be different in the vehicle log and the difference generation log with the index information in the vehicle log and the difference generation log. Come to do. Therefore, since the difference log to be transmitted becomes small, 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 IDs indicating the types of data are associated with each other, and the difference generation log storage unit is sorted according to the magnitude of the value of the ID and is the same.
  • the list of the difference generation logs rearranged according to the size of data is stored, and the difference log generation unit further replaces time information with index information for the acquired vehicle log.
  • the difference log may be generated after sorting according to the magnitude of the value of the ID, and sorting according to the magnitude of the value of the data for the same ID.
  • the vehicle log and the difference generation log are rearranged in the order of large ID or small ID (in the case of the same ID, the order of the data is large or small), so that the data including the specific ID is irregular. Even if the occurrence order of IDs is not constant and the vehicle log includes variation value data, the probability that the vehicle log and the difference generation log match will be high. Therefore, since the difference between the vehicle log and the difference generation log can be reduced, the difference log to be transmitted is reduced, which further improves the communication data amount of the vehicle log transmitted from the vehicle to the server outside the vehicle. Can be reduced.
  • the difference log generation unit uses the difference generation log selected as a data compression dictionary, compresses the acquired vehicle log with a predetermined compression algorithm, and compresses the compressed vehicle log as the difference log. May be generated as
  • the development cost can be reduced because the data can be efficiently compressed without creating a dictionary with a high compression ratio for each vehicle state in advance.
  • the vehicle log analysis system is a vehicle log analysis system that includes a vehicle log transmission device and a vehicle log analysis server, and transmits a vehicle log from the vehicle log analysis server to the vehicle log analysis server.
  • the transmission device is shared between the vehicle log acquisition unit that acquires the vehicle log, the vehicle state extraction unit that extracts the vehicle state from the acquired vehicle log, and the vehicle log transmission device and the vehicle log analysis server.
  • Difference generation log storage unit that stores a list of difference generation logs that are vehicle logs for each of the vehicle states that are set, and difference generation log that selects a difference generation log from the list according to the extracted vehicle state
  • a log selection unit a difference log generation unit that generates a difference log based on the acquired vehicle log and the selected difference generation log, the generated difference log, and the selected difference generation
  • a difference log transmission unit that transmits a difference generation log identifier corresponding to a log to the vehicle log analysis server, wherein the vehicle log analysis server includes the difference log and the difference transmitted from the difference log transmission unit.
  • a difference log reception unit that receives a generation log identifier, a restoration log storage unit that stores the list, a difference generation log identifier that is used to generate the difference log from the difference generation log identifier and the list.
  • a vehicle log restoration unit that specifies a log and restores the vehicle log based on the difference log and the specified difference generation log.
  • a log that is likely to occur in a specific vehicle state is shared as a difference generation log for each vehicle state between the vehicle log transmission device and the vehicle log analysis server, and the vehicle log transmission device transmits the vehicle log to the vehicle log analysis server.
  • the difference generation log is selectively used according to the vehicle state at that time to generate the difference log.
  • difference generation log storage unit and the restoration log storage unit are the difference generation log in which a vehicle log transmitted to the vehicle log analysis server in the past and a vehicle state at the time of transmission are associated with each other.
  • the list may be stored.
  • the vehicle log transmitted in the past will be shared between the vehicle log transmission device and the vehicle log analysis server. Therefore, by using the vehicle log transmitted in the past as the difference generation log, It is not necessary to set the difference generation log in the vehicle log transmission device in advance, and the development cost can be suppressed.
  • the vehicle log includes a plurality of data in which IDs indicating the types of data are associated with each other, and the difference generation log storage unit and the restoration log storage unit are provided for each ID included in the vehicle log. Further, the list of the difference generation logs for each vehicle state is stored, and the difference generation log selection unit selects the difference generation log for each ID from the list according to the extracted vehicle state. For each of the IDs included in the acquired vehicle log, the difference log generation unit is configured to perform the above-mentioned operation based on the data associated with the ID and the selected difference generation log corresponding to the ID. A difference log is generated, and the vehicle log restoration unit, for each ID included in the difference log, based on the data associated with the ID and the identified difference generation log corresponding to the ID. Alternatively, the vehicle log may be restored.
  • the difference generation log for each ID included in the vehicle log it is not necessary to store all of the plurality of data included in the vehicle log as the difference generation log, and only the number of types of IDs is required.
  • the storage area required for generating the difference log can be reduced.
  • the vehicle log is a plurality of data in which IDs indicating the types of data are associated with each other, and a plurality of IDs starting from a predetermined ID is set as one cycle and the plurality of IDs are periodically repeated.
  • the difference generation log selection unit includes a plurality of data arranged as described above, and the difference generation log selection unit corresponds to a plurality of IDs starting from the predetermined ID from the list according to the extracted vehicle state.
  • the log for selection, the vehicle log restoration unit identifies the difference generation log corresponding to a plurality of IDs starting from the predetermined ID, and sets the difference log and the identified difference generation log as the difference log.
  • the vehicle log may be restored based on the above.
  • a plurality of data included in the vehicle log 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, and the same for each of the plurality of IDs.
  • Such data will be repeated. Therefore, by unifying the IDs that are the starting points of the vehicle log and the difference generation log into a predetermined ID, a plurality of IDs of one cycle included in the vehicle log and a plurality of IDs of one cycle included in the difference generation log can be obtained. And the difference between the vehicle log and the difference generation log is small, the communication data amount of the vehicle log transmitted from the vehicle to the server outside the vehicle can be further effectively reduced.
  • the plurality of data included in the vehicle log can reduce information other than the data corresponding to the plurality of IDs in one cycle.
  • the difference generation log storage unit and the restoration log storage unit store the list of the difference generation logs that have been subjected to a replacement process of replacing a data value with a predetermined value or a rounding process of rounding a data value.
  • the difference log generation unit may store the difference log generation unit after performing the replacement process or the fraction process on the acquired vehicle log.
  • the value of the data area such as a counter or checksum that is likely to be different between the vehicle log and the difference generation log is set to the same predetermined value for the vehicle log and the difference generation log, or an abnormality is detected from the vehicle log.
  • the transmission target vehicle log and the difference generation log become more similar. Therefore, since the difference log to be transmitted becomes small, 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 a plurality of pieces of data in which time information is associated with each other, and the difference generation log storage unit and the restoration log storage unit are subjected to a process of replacing the time information with index information.
  • the difference log generation unit stores the list of the difference generation logs, the difference log generation unit further replaces the time information included in the acquired vehicle log with index information, and then generates the difference log, and the difference
  • the log transmission unit further transmits a time list indicating the correspondence between the time information and the index information to the vehicle log analysis server, and the vehicle log restoration unit further refers to the transmitted time list to retrieve the index.
  • the vehicle log may be restored by replacing the information with time information.
  • the vehicle log and the difference generation log are more similar by replacing the value of the time information that is likely to be different in the vehicle log and the difference generation log with the index information in the vehicle log and the difference generation log. Come to do. Therefore, since the difference log to be transmitted becomes small, 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 that are respectively associated with IDs that indicate the types of data, and the difference generation log storage unit and the restoration log storage unit are set to the size of the ID value. And storing the list of the difference generation logs sorted according to the size of the data value for the same ID, and the difference log generation unit further stores the acquired vehicle log. (3), the time information is replaced with the index information, and sorted according to the magnitude of the value of the ID, and the same ID is sorted according to the magnitude of the value of the data, and then the difference log is generated, and the vehicle log
  • the restoration unit may further refer to the transmitted time list, replace the index information with the time information, and rearrange the vehicle log by rearranging the index information in order of earlier time.
  • the vehicle log and the difference generation log are rearranged in the order of large ID or small ID (in the case of the same ID, the order of the data is large or small), so that the data including the specific ID is irregular. Even if the occurrence order of IDs is not constant and the vehicle log includes variation value data, the probability that the vehicle log and the difference generation log match will be high. Therefore, since the difference between the vehicle log and the difference generation log can be reduced, the difference log to be transmitted is reduced, which further improves the communication data amount of the vehicle log transmitted from the vehicle to the server outside the vehicle. Can be reduced.
  • the difference log generation unit uses the difference generation log selected as a data compression dictionary, compresses the acquired vehicle log with a predetermined compression algorithm, and uses the compressed vehicle log as a difference log.
  • the vehicle log restoration unit may restore the vehicle log by decompressing the difference log with a predetermined compression algorithm using the identified difference generation log as a data compression dictionary.
  • the development cost can be reduced because the data can be efficiently compressed without creating a dictionary with a high compression ratio for each vehicle state in advance.
  • the vehicle state extraction unit may extract at least one of the vehicle speed, the driving support mode, the automatic driving mode, the traveling position, the weather, and the temperature included in the vehicle log as the vehicle state.
  • a difference generation log is prepared for each driving mode of the vehicle to provide a unique function for each driving mode of the vehicle.
  • the logs from are similar.
  • the logs of vehicles traveling on the same road and the same route are similar.
  • the control log of the air conditioner of the vehicle running at the same temperature and the wiper control log of the vehicle running at the same temperature are similar.
  • the vehicle speed, the driving support mode, the automatic driving mode, the traveling position, the weather, or the temperature is highly related to the vehicle log as the vehicle state, and the difference log to be transmitted is small in the same vehicle state.
  • the communication data amount of the vehicle log transmitted from the server to the server outside the vehicle can be reduced more effectively.
  • 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 vehicle log analysis server further monitors the restored vehicle log and detects an abnormality when the restored vehicle log includes a trace of an attack, and a predetermined notification destination. May be provided.
  • the vehicle log transmission/reception method includes a vehicle log transmission method by a vehicle log transmission device and a vehicle log reception method by a vehicle log analysis server, and a vehicle that transmits a vehicle log from the vehicle log transmission device to the vehicle log analysis server.
  • a log transmission/reception method wherein the vehicle log transmission device stores a list of difference generation logs that are vehicle logs for respective vehicle states shared between the vehicle log transmission device and the vehicle log analysis server.
  • the vehicle log analysis server includes a restoration log storage section that stores the list
  • the vehicle log transmission method includes a vehicle log acquisition step of acquiring the vehicle log, and the acquired A vehicle state extraction step of extracting a vehicle state from a vehicle log, a difference generation log selection step of selecting a difference generation log from the list according to the extracted vehicle state, and the acquired vehicle log are selected.
  • the difference log generation step for generating a difference log based on the difference generation log, the generated difference log, and the difference generation log identifier corresponding to the selected difference generation log, the vehicle log
  • a log that is likely to occur in a specific vehicle state is shared as a difference generation log for each vehicle state between the vehicle log transmission device and the vehicle log analysis server, and the vehicle log transmission device transmits the vehicle log to the vehicle log analysis server.
  • the difference generation log is selectively used according to the vehicle state at that time to generate the difference log.
  • 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.
  • a vehicle log transmission device, a vehicle log analysis system, and a vehicle log transmission/reception method according to the embodiments will be described below with reference to the drawings.
  • Each of the embodiments shown here shows one specific example of the present disclosure. Therefore, the numerical values, constituent elements, arrangement and connection form of constituent elements, steps and order of steps as processing elements shown in the following embodiments are examples, and do not limit the present disclosure. .. Among the constituents in the following embodiments, constituents not described in the independent claims are constituents that can be added arbitrarily. In addition, each drawing is a schematic view and is not necessarily strictly illustrated.
  • (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).
  • the vehicle 200 includes a vehicle log transmission device 10, an ECU 30a, an ECU 30b, an ECU 30c, a sensor 40a, an engine 40b, and a 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 and details of the method of transmitting 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 to the vehicle log analysis server 20.
  • the vehicle log transmission device 10 includes a vehicle log acquisition unit 110, a vehicle state extraction unit 120, a difference generation log storage unit 130, a difference generation log selection unit 140, and a difference log generation unit 150.
  • the differential log transmission unit 160 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 to the vehicle log analysis server 20.
  • the vehicle log transmission device 10 includes a vehicle log acquisition unit 110, a vehicle state extraction unit 120, a difference generation log storage unit 130, a difference generation log selection unit 140, and a difference log generation unit 150.
  • the differential log transmission unit 160 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
  • 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 including a plurality of data related to the operation of the vehicle 200, and notifies the vehicle state extraction unit 120 and the difference log generation unit 150 of the acquired vehicle log.
  • the vehicle log may include a plurality of data in which IDs indicating the types of data are associated with each other.
  • the vehicle log is a plurality of data in which IDs indicating the types of data are associated with each other, and the plurality of IDs are periodically repeated with a plurality of IDs starting from a predetermined ID as one cycle. It may include a plurality of data arranged in such a manner.
  • the vehicle log may include a plurality of pieces of data in which time information is associated with each other.
  • the vehicle status extraction unit 120 acquires the vehicle status included in the vehicle log acquired by the vehicle log acquisition unit 110, and notifies the difference generation log selection unit 140 of the acquired vehicle status.
  • the vehicle state is the state of the vehicle 200, and in the present embodiment, the speed of the vehicle 200, the traveling mode of the vehicle 200 (for example, the driving support mode or the automatic driving mode, etc.), the traveling area, the temperature and the weather.
  • the vehicle state extraction unit 120 extracts at least one of the vehicle speed, the driving support mode, the automatic driving mode, the traveling position, the weather, and the temperature included in the vehicle log as the vehicle state.
  • the vehicle state extraction unit 120 may extract the range of vehicle speed.
  • the vehicle state extraction unit 120 may extract that the vehicle speed range is 0 to 30 km/h when the vehicle speed is 20 km/h.
  • the vehicle state extraction unit 120 may also extract the temperature range.
  • the vehicle state extraction unit 120 may extract that the temperature range is 30 to 35 degrees when the temperature is 33 degrees. Further, which part of the vehicle log the vehicle state is included in is defined in advance in the vehicle log definition table, and the vehicle state extraction unit 120 uses the vehicle log definition table to identify the corresponding location of the vehicle log. The vehicle state can be extracted by referring to it. Details of the vehicle log definition table will be described later.
  • the difference generation log storage unit 130 stores a list of difference generation logs that are vehicle logs for each vehicle state that are shared between the vehicle log transmission device 10 and the vehicle log analysis server 20.
  • the difference generation log storage unit 130 may store a list of difference generation logs in which the vehicle logs transmitted to the vehicle log analysis server 20 in the past and the vehicle state at the time of transmission are associated with each other. .. Further, for example, the difference generation log storage unit 130 may store a list of difference generation logs for each ID included in the vehicle log and for each vehicle state.
  • the difference generation log storage unit 130 may store a list of difference generation logs that have been subjected to a replacement process of replacing a data value with a predetermined value or a rounding process of rounding a data value. Further, for example, the difference generation log storage unit 130 may store a list of difference generation logs that have been subjected to the process of replacing the time information with the index information. Further, for example, the difference generation log storage unit 130 stores a list of difference generation logs sorted according to the size of the ID value and sorted for the same ID according to the data size. May be.
  • the difference generation log selection unit 140 receives the vehicle state extracted by the vehicle state extraction unit 120, and selects the difference generation log from the list stored in the difference generation log storage unit 130 according to the extracted vehicle state. To do. For example, the difference generation log selection unit 140 selects the difference generation log corresponding to the extracted vehicle state. The difference generation log selection unit 140 notifies the difference log generation unit 150 and the difference log transmission unit 160 of the selected difference generation log number.
  • the difference log generation unit 150 generates a difference log based on the vehicle log acquired by the vehicle log acquisition unit 110 and the difference generation log selected by the difference generation log selection unit 140. Specifically, the difference log generation unit 150 receives the vehicle log from the vehicle log acquisition unit 110, the difference generation log number from the difference generation log selection unit 140, and the difference generation log storage unit 130 from the difference generation log storage unit 130. Acquires the difference generation log corresponding to the operation log number. Then, for example, the difference log generation unit 150 processes the vehicle log according to the rule, calculates the difference between the processed vehicle log and the difference generation log, and processes the difference log that is the calculated result and the vehicle log. The difference log transmission unit 160 is notified of the vehicle log processing rule that is the used rule.
  • the difference log generation unit 150 for each ID included in the acquired vehicle log, based on the data associated with the ID and the selected difference generation log corresponding to the ID.
  • a difference log may be generated.
  • the difference log generation unit 150 may further perform the replacement process or the fraction process on the acquired vehicle log and then generate the difference log.
  • the difference log generation unit 150 may further generate the difference log after replacing the time information included in the acquired vehicle log with the index information.
  • the difference log generation unit 150 further replaces the time information of the acquired vehicle log with the index information, rearranges them according to the size of the value of the ID, and increases the value of the data of the same ID.
  • the difference log may be generated after sorting according to the size. Further, for example, the difference log generation unit 150 uses the difference generation log selected as the data compression dictionary to compress the acquired vehicle log with a predetermined compression algorithm, and generate the compressed vehicle log as the difference log. You may.
  • the difference log transmission unit 160 sends the difference log generated by the difference log generation unit 150 and the difference generation log identifier corresponding to the difference generation log selected by the difference generation log selection unit 140 to the vehicle log analysis server. Send. Specifically, the difference log transmission unit 160 receives the difference generation log number as the difference generation log identifier from the difference generation log selection unit 140, receives the difference log from the difference log generation unit 150, and outputs the difference log. Is reversibly compressed, and the reversibly compressed difference log and difference generation log number are transmitted 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 a vehicle log from the vehicle log transmission device 10.
  • the vehicle log analysis server 20 includes a difference log reception unit 210, a restoration log storage unit 220, a vehicle log restoration unit 230, a vehicle log storage unit 240, an abnormality log detection unit 250, and an abnormality notification unit. 260.
  • the difference log receiving unit 210 is connected to the external network 50, and the loss log and the difference generation log identifier (reversely compressed) transmitted from the vehicle log transmitting device 10 (the difference log transmitting unit 160) via the external network 50 ( The difference generation log number) is received, the loss log subjected to lossless compression is expanded, and the expanded difference log and the difference generation log number are notified to the vehicle log restoration unit 230.
  • the restoration log storage unit 220 stores the same list of difference generation logs as the list of difference generation logs stored in the difference generation log storage unit of the vehicle log transmission device 10. That is, the restoration log storage unit 220 stores a list of difference generation logs that are vehicle logs for each vehicle state that are shared between the vehicle log transmission device 10 and the vehicle log analysis server 20. For example, the restoration log storage unit 220 may store a list of difference generation logs in which the vehicle log transmitted to the vehicle log analysis server 20 in the past and the vehicle state at the time of transmission are associated with each other. Further, for example, the restoration log storage unit 220 may store a list of difference generation logs for each ID included in the vehicle log and for each vehicle state.
  • the restoration log storage unit 220 may store a list of difference generation logs that have been subjected to a replacement process of replacing a data value with a predetermined value or a rounding process of rounding a data value. Further, for example, the restoration log storage unit 220 may store a list of difference generation logs that have been subjected to the process of replacing the time information with the index information. Further, for example, the restoration log storage unit 220 stores a list of difference generation logs that are sorted according to the size of the ID value and sorted for the same ID according to the data size. Good.
  • the vehicle log restoration unit 230 identifies the difference generation log used to generate the difference log from the difference generation log identifier and the list stored in the restoration log storage unit 220, and the difference generation identified as the difference log.
  • the vehicle log is restored based on the vehicle log.
  • the vehicle log restoration unit 230 receives the difference log and the difference generation log number from the difference log reception unit 210, and the difference generation log corresponding to the difference generation log number from the restoration log storage unit 220. Is acquired, the difference between the difference log and the difference generation log is calculated, and the vehicle log is restored.
  • the vehicle log restoration unit 230 restores, for each ID included in the difference log, the vehicle log based on the data associated with the ID and the identified difference generation log corresponding to the ID. May be.
  • the vehicle log restoration unit 230 identifies a difference generation log corresponding to a plurality of IDs starting from a predetermined ID, and restores the vehicle log based on the difference log and the identified difference generation log. You may. Further, for example, the vehicle log restoration unit 230 may further refer to the transmitted time list and replace the index information with the time information to restore the vehicle log. Further, for example, the vehicle log restoration unit 230 may further refer to the transmitted time list, replace the index information with the time information, and rearrange the vehicle log by rearranging the index information in order of earlier time. Further, for example, the vehicle log restoration unit 230 may restore the vehicle log by expanding the difference log using a predetermined compression algorithm using the identified difference generation log as a data compression dictionary. Further, the vehicle log restoration unit 230 records the vehicle log in the vehicle log storage unit 240. The details of the vehicle log restoration method will be described later.
  • the vehicle log storage unit 240 stores the restored vehicle log.
  • the abnormality log detection unit 250 monitors the restored vehicle log stored in the vehicle log storage unit 240, detects an attack log when the vehicle log includes an attack trace, and notifies the abnormality notification unit 260 of the detected abnormality log. .. 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 is detected as a security threat because there is a trace of a cyber attack on the vehicle 200.
  • the abnormality notification unit 260 notifies a predetermined notification destination that the vehicle is abnormal. Specifically, the abnormality notifying unit 260 receives the abnormal vehicle log from the abnormality log detecting unit 250 and notifies the operator of the vehicle log analysis server 20 or the driver of the vehicle of the abnormality as a predetermined notification destination. Have the function to
  • 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.
  • 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 cyclically repeated.
  • time information is associated with each of the plurality of data.
  • the 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 hexadecimal numbers 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 "41”
  • 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 illustrating an example of a vehicle log definition table used by the vehicle state extraction unit 120 and the difference log generation unit 150 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 byte defines “vehicle state”
  • the third and fourth bytes define “position information”.
  • the fifth byte defines "wiper”
  • the sixth byte defines "air conditioner”
  • the seventh byte and the eighth byte are unused and are 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 “vehicle state” has a value of "00” indicating “stopped”, a value of "01” indicating a "cruise control mode", and a value of "02” indicating "Japan”. , Osaka Prefecture, Osaka City", and a value of "03” indicates "rain, 20 degrees”.
  • the defined “wiper” and “air conditioner” indicate “in operation” when the value is “01”, and indicate “non-operation” when the value is “00”.
  • the defined “shift” indicates “parking” when the value is “00” and indicates “drive” when the value is “01”.
  • the “cruise control mode” is a mode in which the vehicle 200 automatically travels following a vehicle ahead of the vehicle 200.
  • the vehicle state extraction unit 120 can confirm where the counter, checksum, and vehicle state are stored in the vehicle log, for example.
  • the vehicle log processing rule is a rule indicating what rule the difference log generation unit 150 generated when generating the processed vehicle log from the vehicle log.
  • the vehicle log processing rule is generated when the difference log generation unit 150 generates a processed vehicle log from the vehicle log.
  • FIG. 6 is a diagram showing an example of a vehicle log processing rule used by the difference log generation unit 150 according to the first embodiment of the present disclosure.
  • the vehicle log 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 "time index”, "ID sort (ascending order)", “data sort (ascending order)", and "data replacement”.
  • the vehicle log processing rule indicates a rule for processing the vehicle log in order from the top.
  • Time index represents the rule of the process of replacing the time in the vehicle log with the index information.
  • the time index indicates a rule in which serial numbers (T11, T12,..., T54) are assigned to the time for each ID.
  • ID sort represents the processing rule of the vehicle log so that the IDs are sorted in ascending order.
  • FIG. 6 shows “ID sort (ascending order)” as an example, when the IDs are sorted in descending order, they are represented as “ID sort (descending order)”.
  • Data sort (ascending order) indicates a processing rule for processing a vehicle log so that a specific byte in the same ID, for example, the data at the 4th byte is sorted in ascending order. Note that, in FIG. 6, “data sort (ascending order)” is shown as an example, but when data of a specific byte within the same ID can be rearranged in a descending order, it is called “data 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
  • the value after processing is the value after processing of the vehicle log in the corresponding processing item (that is, the value in the processed vehicle log).
  • 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 items “ID sort (ascending order)” and “Data sort (ascending order)” are “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 data is rearranged in the “ID sort (ascending order)” and the “data sort (ascending order)”, but the data value itself is not replaced.
  • the processed vehicle log processed by the vehicle log transmission device 10 is converted into the original vehicle log by the vehicle log analysis server 20. Can be returned.
  • the vehicle log transmission device 10 sets the predetermined rule.
  • the vehicle log analysis server 20 are held in advance, a time list indicating at least the correspondence between the time information and the index information is transmitted from the vehicle log transmission device 10 to the vehicle log analysis server 20 as a vehicle log 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 the processed vehicle log generated by the difference log generation unit 150 according to the first embodiment of the present disclosure.
  • FIG. 7 is an example of a processed vehicle log when the vehicle log described in FIG. 4 is processed according to the vehicle log processing rule of FIG.
  • the processed vehicle log is composed of a set of time, ID, and 8-byte data, like the vehicle log.
  • the time of the processed vehicle log is replaced with the time index (T11, T12,..., T54) according to the rule of “time index” in the vehicle log processing rule in FIG.
  • the time “T11” is a time index when the time “10:10:10” is replaced.
  • the IDs are sorted in ascending order.
  • the ID of the processed vehicle log is "ID3", and the values of the data of the 4th byte in the rows at times “T53", “T13", and “T23” are “10", "20", and "30", respectively.
  • the data of the 4th byte of the same ID is sorted in ascending order.
  • the first byte of the processed vehicle log is “counter”, and all the data values are “00” according to the rule of “data replacement” in the vehicle log processing rule of FIG. Has been replaced by ".
  • the processed vehicle log As described above, in the processed vehicle log, 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 processed vehicle log may be subjected to a rounding process for rounding a fine value such as a sensor.
  • the difference generation log is composed of a set of an ID that can be taken for each vehicle state and data corresponding to the ID.
  • a value that is likely to have the same data value as the vehicle log is set for each ID and for each vehicle state.
  • the speed of the vehicle 200 is 0 km, and the shift state is likely to be parking.
  • the vehicle state is the "cruise control mode"
  • the vehicle 200 is often set to this mode while traveling on the highway. Therefore, the speed may be a high speed equal to or higher than a predetermined speed, and the shift state may be drive. It is highly likely.
  • the speed of the vehicle 200 is likely to be a low speed equal to or lower than a predetermined speed because the position of the vehicle 200 is many pedestrians in an urban area.
  • FIG. 8 is a diagram illustrating an example of a difference generation log stored in the difference generation log storage unit 130 according to the first embodiment of the present disclosure.
  • the difference generation log is given a number for each vehicle state, and is composed of a set of an ID and 8-byte data.
  • the vehicle log definition table is referred to for what the data value of each byte of the difference generation log indicates.
  • the difference generation log number “1” is the difference generation log whose vehicle state is “stopped”, and the second set has the ID “ID2” and the value of the first byte counter. Is "00”, the checksum value in the second byte is “00”, the speed values in the third and fourth bytes are “00” and “00”, and the shift value in the fifth byte is "parking". "00" indicating ".”
  • the difference generation log number “2” is a difference generation log whose vehicle state is “cruise control mode”, and the second set has an ID “ID2” and a first byte counter value “00”.
  • the checksum value of the 2nd byte is "00”
  • the speed value of the 3rd and 4th bytes is "20”
  • the shift value of the 5th byte is "drive”. It is "01”.
  • the difference generation log number “3” is the difference generation log for the vehicle state “Japan, Osaka Prefecture, Osaka City”, and the fourth set has the ID “ID4” and the first byte counter.
  • the value is “00”
  • the value of the vehicle state at the second byte is “02” representing “Japan, Osaka Prefecture, Osaka City”
  • the value of the position information at the third and fourth bytes is “87” and “87”.
  • 34 the value of the wiper at the 5th byte is “00” indicating non-operation
  • the value of the air conditioner at 6th byte is “00” indicating non-operation.
  • the number "4" of the difference generation log is a difference generation log of the vehicle state "rain, 20 degrees”
  • the fourth set has the ID "ID4" and the value of the first byte counter is " 00”
  • the value of the vehicle state at the 2nd byte is "03” indicating "rain, 20 degrees”
  • the values of the position information at the 3rd and 4th bytes are "00” and "00”
  • the value of the wiper at the byte is “01”, which indicates the operation
  • the value of the air conditioner at the sixth byte is “00”, which indicates the non-operation.
  • the difference log generation unit 150 uses the difference generation log to generate a difference log from the processed vehicle log.
  • the difference log is generated so that the difference from the difference generation log is small. This is because the smaller the difference, the higher the data compression rate of the difference log, and the more the communication amount can be reduced.
  • To generate the difference log a difference generation log corresponding to the vehicle state based on the vehicle state of the vehicle 200 is used.
  • FIG. 9 is a diagram showing an example of a difference log generated by the difference log generation unit 150 according to the first embodiment of the present disclosure.
  • the difference log is composed of a set of time, ID, and 8-byte data, like the processed vehicle log.
  • the difference log in FIG. 9 is a difference log generated using the processed vehicle log in FIG. 7 and the difference generation log in FIG. In FIG. 7, the vehicle state at the second byte where the ID of the processed vehicle log is “ID4” is “01” indicating the cruise control mode. Therefore, for the generation of the difference log, the difference generation log in the cruise control mode with the difference generation log number “2” is used.
  • the difference log is the result of calculating the exclusive OR using the value for each byte corresponding to the ID of the processed vehicle log and the value for each byte of the difference generation log data having the same ID value. Is.
  • the exclusive OR is used to generate the difference log when the vehicle log analysis server 20 restores the processed vehicle log using the difference log and the difference generation log. This is because the analysis server 20 also calculates the exclusive OR using the value of each byte corresponding to the ID of the difference log and the value of each byte of the difference generation log data.
  • the data from the first byte to the eighth byte of the ID “ID1” at the time “T11” in the difference log is “00”.
  • the first byte is "00”
  • the second byte is "50”
  • the third byte is "40”
  • the fourth byte to the eighth byte. Is “30”, the first byte of the ID “ID1” of the difference generation log of the difference generation log number “2” in FIG.
  • the first byte to the eighth byte of the ID "ID1" of the time “T11” of the difference log is "00", and the ID of the difference generation log of the difference generation log number "2" is 1 of the ID "ID1".
  • the byte is “00”, the second byte is “50”, the third byte is “40”, the fourth byte to the eighth byte are “30”, and these values in the difference log and the difference generation log are
  • the value of the result of the exclusive OR is "00" for the first byte of the ID "ID1" at the time "T11” of the processed vehicle log, "50” for the second byte, and "40” for the third byte.
  • the 4th to 8th bytes become “30", and the processed vehicle log can be restored from the difference log.
  • the data from the first byte to the third byte, the fifth byte to the eighth byte of the ID “ID2” at the time “T22” of the difference log is “00”, and only the fourth byte is “10”.
  • the first byte, the second byte, the sixth byte to the eighth byte of the ID “ID2” at the time “T22” of the processed vehicle log in FIG. The eyes are “20” and “00”, the fifth byte indicating the shift is “01”, and the ID “ID2” of the difference generation log of the difference generation log number “2” in FIG.
  • the first byte, the second byte, the sixth byte to the eighth byte are "00", the third byte and the fourth byte are "20" and “10”, and the fifth byte is "01".
  • the value obtained as the result of the exclusive OR of these values is "00" in the first byte to the third byte, the fifth byte to the eighth byte, and "10" in the fourth byte.
  • the first to third bytes, the fifth to eighth bytes of the ID “ID2" of the time “T22" of the difference log are "00", the fourth byte is “10”, and the difference generation log number "
  • the first byte, the second byte, the sixth byte to the eighth byte of the ID “ID2” of the difference generation log of "2" are "00", the third byte and the fourth byte are "20”, "10”,
  • the fifth byte is "01”, and the value obtained as the result of the exclusive OR of these values in the difference log and the difference generation log is the ID "ID2" of the time "T22" of the processed vehicle log.
  • the 1st byte to the 3rd byte, the 5th byte to the 8th byte become “00", the 4th byte becomes "10", and the processed vehicle log can be restored from the difference log.
  • FIG. 10 is a diagram showing a processing sequence in which the vehicle log transmission device 10 according to the first embodiment of the present disclosure generates and transmits a difference log.
  • the vehicle log acquisition unit 110 of the vehicle log transmission device 10 acquires the vehicle log and notifies the vehicle state extraction unit 120 of the vehicle log.
  • the vehicle state extraction unit 120 receives the vehicle log and refers to the vehicle log definition table to extract the vehicle state from the vehicle log.
  • the vehicle state extraction unit 120 notifies the difference generation log selection unit 140 of the extracted vehicle state.
  • the difference generation log selection unit 140 receives the vehicle state.
  • the difference generation log selection unit 140 selects the difference generation log corresponding to the received vehicle state, and notifies the difference log generation unit 150 of the selected difference generation log number.
  • the difference log generation unit 150 receives the difference generation log number and acquires the difference generation log corresponding to the difference generation log number from the difference generation log storage unit 130.
  • the vehicle log acquisition unit 110 notifies the difference log generation unit 150 of the vehicle log.
  • the difference log generation unit 150 receives the notified vehicle log.
  • the difference log generation unit 150 generates a processed vehicle log from the received vehicle log.
  • the rule used when generating the processed vehicle log is the vehicle log processing rule. Further, the difference log generation unit 150 generates a difference log using the processed vehicle log and the difference generation log, and notifies the difference log transmission unit 160 of the difference log, the difference generation log number, and the vehicle log processing rule. To do.
  • the difference log transmission unit 160 receives the notified difference log, difference generation log number, and vehicle log processing rule.
  • the difference log transmission unit 160 compresses the received difference log and transmits the compressed difference log, the difference generation log number, and the vehicle log processing rule to the vehicle log analysis server 20.
  • FIG. 11 is a diagram showing a processing sequence in which the vehicle log analysis server 20 according to the first embodiment of the present disclosure receives the difference log.
  • the difference log receiving unit 210 receives the compressed difference log, the difference generation log number, and the vehicle log processing rule, expands the compressed difference log, and expands the difference log to the vehicle log restoring unit 230. Notify the difference generation log number and vehicle log processing rule.
  • the vehicle log restoration unit 230 receives the notified difference log, difference generation log number, and vehicle log processing rule, and the difference generation log corresponding to the difference generation log number from the restoration log storage unit 220. To get.
  • the vehicle log restoration unit 230 restores the vehicle log from the difference log and the difference generation log, stores the vehicle log in the vehicle log storage unit 240, and notifies the abnormality log detection unit 250 of the vehicle log.
  • the abnormality log detection unit 250 receives the notified vehicle log.
  • the abnormality log detection unit 250 detects whether or not the received vehicle log includes an abnormality, and when the vehicle log includes an abnormality, notifies the abnormality notification unit 260 of the abnormality.
  • the abnormality notification unit 260 receives the notified abnormality and notifies the user of the vehicle log analysis server 20 or the driver of the vehicle 200 that has generated the abnormal vehicle log of the abnormality.
  • the rule is set by the user of the vehicle log analysis system 100, the user of the vehicle 200, or the like, for example.
  • FIG. 12 shows a flowchart of the processed vehicle log generation process of the difference log generation unit 150 according to the first embodiment of the present disclosure.
  • the difference log generation unit 150 acquires the vehicle log from the vehicle log acquisition unit 110.
  • the difference log generation unit 150 determines whether to process the “time” of the vehicle log according to a rule. When the difference log generation unit 150 determines to process the “time” of the vehicle log (in the case of YES), the difference log generation unit 150 performs the process of step S1203. When determining that the “time” of the vehicle log is not processed (NO), the difference log generation unit 150 generates the vehicle log processing rule with the processing item “time index” and the processing presence/absence “invalid”. Next, the difference log generator 150 implements the process of step S1205.
  • the difference log generation unit 150 generates the time list with the processing item “time index”, the processing presence/absence “valid”, the vehicle log time as the value before processing, and the serial number of the time index as the value after processing. ..
  • the difference log generation unit 150 determines to process the “time” of the vehicle log, it means that the above rule is a rule (setting) to process the “time” of the vehicle log, for example. Further, when the difference log generation unit 150 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 processing rule generated in step S1203 corresponds to the row of "time index" in FIG. 6, and the vehicle log processing rule is an example of a time list indicating the correspondence between time information and index information. From the time list, it can be seen that, for example, the time “10:10:10” and the time index “T11” correspond.
  • the difference log generation unit 150 refers to the unprocessed value and the processed value in the time list, and replaces the time in the vehicle log with the serial number of the time index that is the processed value.
  • the difference log generation unit 150 determines whether to sort the “ID” of the vehicle log in ascending order according to the rule.
  • the difference log generation unit 150 determines to sort the “ID” of the vehicle log (in the case of YES)
  • the processing item “ID sort (ascending order)” the processing presence/absence “valid”, the value “ ⁇ ” before processing
  • the processing The vehicle log processing rule is generated as the subsequent value "-”.
  • the difference log generation unit 150 implements the process of step S1206.
  • the difference log generation unit 150 When determining that the “ID” of the vehicle log is not sorted (NO), the difference log generation unit 150 generates the vehicle log processing rule as the processing item “ID sort (ascending order)” and the processing presence/absence “invalid”.
  • the difference log generation unit 150 executes the process of step S1207.
  • the case where the difference log generation unit 150 determines to sort the “ID” of the vehicle log means, for example, that the above rule is a rule (setting) to sort the “ID” of the vehicle log. Further, when the difference log generation unit 150 determines that the “ID” of the vehicle log is not sorted, for example, the above rule is a rule (setting) that the “ID” of the vehicle log is not sorted. means.
  • the vehicle log processing rule generated after the determination in step S1205 corresponds to the row of "ID sort (ascending order)" in FIG.
  • the difference log generation unit 150 sorts the vehicle logs in ascending order of ID.
  • the difference log generation unit 150 determines whether to sort the “data” of the vehicle log in ascending order according to the rule.
  • the difference log generation unit 150 determines to sort the “data” of the vehicle log (in the case of YES)
  • the processing item “data sort (ascending order)” the processing presence/absence “valid”, the value “ ⁇ ” before processing
  • the processing The vehicle log processing rule is generated as the subsequent value "-”.
  • the difference log generation unit 150 executes the process of step S1208.
  • the difference log generation unit 150 When it is determined that the “data” of the vehicle log is not sorted (in the case of NO), the difference log generation unit 150 generates the vehicle log processing rule as the processing item “data sort (ascending order)”, the processing presence/absence “invalid”.
  • the difference log generation unit 150 implements the process of step S1209.
  • the case where the difference log generation unit 150 determines to sort the “data” of the vehicle log means that, for example, the above rule is a rule (setting) to sort the “data” of the vehicle log.
  • the difference log generation unit 150 determines that the “data” of the vehicle log is not sorted for example, the above rule is a rule (setting) that the “data” of the vehicle log is not sorted.
  • the vehicle log processing rule generated after the determination in step S1207 corresponds to the row of "data sort (ascending order)" in FIG.
  • the difference log generation unit 150 sorts the vehicle log data in ascending order.
  • the difference log generation unit 150 determines whether to process predetermined “data” of the vehicle log according to the rule.
  • the difference log generation unit 150 determines that the predetermined “data” of the vehicle log is to be processed (in the case of YES)
  • the vehicle log processing rule is generated with the value "00", the value "checksum” before processing, and the value "00" after processing.
  • the difference log generation unit 150 executes the process of step S1210.
  • the difference log generation unit 150 determines not to process the predetermined “data” of the vehicle log (in the case of NO)
  • the processing item “data” A vehicle log processing rule is generated with "replacement” and processing presence or absence "invalid”.
  • the difference log generation unit 150 implements the process of step S1211.
  • the difference log generation unit 150 determines that the predetermined “data” of the vehicle log is to be processed, for example, the above rule is a rule (setting) that the predetermined “data” of the vehicle log is processed.
  • the rule is a rule (setting) that the predetermined “data” of the vehicle log is not processed.
  • the difference log generation unit 150 replaces the value of the counter of the vehicle log with “00” and the value of the checksum with “00”.
  • the difference log generation unit 150 stores the processed vehicle log obtained by processing the vehicle log.
  • FIG. 13 shows a flowchart of a difference log generation process of the vehicle log transmission device 10 according to the first embodiment of the present disclosure.
  • the vehicle status extraction unit 120 of the vehicle log transmission device 10 acquires the vehicle status from the acquired vehicle log.
  • the vehicle state extraction unit 120 notifies the acquired vehicle state to the difference generation log selection unit 140.
  • the difference generation log selection unit 140 determines what the notified vehicle state is.
  • the difference generation log selection unit 140 performs the process of step S1303 when the vehicle state is “stopped”, performs step S1304 when the vehicle state is “cruise control mode”, and sets the vehicle state to “ If it is "Japan, Osaka prefecture, Osaka city”, step S1305 is executed, and if the vehicle condition is "rain, 20 degrees", step S1306 is executed.
  • the difference generation log selection unit 140 selects, from the difference generation log storage unit 130, the difference generation log that is “stopped” with the difference generation log number “1”. The difference generation log selection unit 140 notifies the difference log generation unit 150 of the selected difference generation log number.
  • the difference generation log selection unit 140 selects, from the difference generation log storage unit 130, the difference generation log of the “cruise control mode” with the difference generation log number “2”. The difference generation log selection unit 140 notifies the difference log generation unit 150 of the selected difference generation log number.
  • the difference generation log selection unit 140 selects the difference generation log of “Japan, Osaka Prefecture, Osaka City” with the difference generation log number “3” from the difference generation log storage unit 130.
  • the difference generation log selection unit 140 notifies the difference log generation unit 150 of the selected difference generation log number.
  • the difference generation log selection unit 140 selects the difference generation log of “rain, 20 degrees” with the difference generation log number “4” from the difference generation log storage unit 130. The difference generation log selection unit 140 notifies the difference log generation unit 150 of the selected difference generation log number.
  • the difference log generation unit 150 processes the vehicle log to generate a processed vehicle log, and IDs the difference between the processed vehicle log and the difference generation log corresponding to the notified difference generation log number. Calculate for each and generate a difference log.
  • FIG. 14 shows a flowchart of vehicle log restoration processing of the vehicle log restoration unit 230 according to the first embodiment of the present disclosure.
  • the vehicle log restoration unit 230 acquires the difference log and the vehicle log processing rule from the difference log reception unit 210, and further acquires the difference generation log from the restoration log storage unit 220.
  • the vehicle log restoration unit 230 calculates the exclusive OR of the difference log and the difference generation log, and restores the processed vehicle log.
  • the vehicle log restoration unit 230 determines whether or not the processing item “time index” of the vehicle log processing rule is “valid”. If the vehicle log restoration unit 230 determines that it is “valid” (YES), it executes the process of step S1404, and if it determines that it is not “valid” (NO), it executes the process of step S1405. To do.
  • the vehicle log restoration unit 230 determines the time of the processed vehicle log. Replace with the value before processing of the processing item "time index" of the vehicle log processing rule.
  • the vehicle log restoration unit 230 sorts the processed vehicle logs in ascending order of time.
  • the vehicle log restoration unit 230 stores the processed vehicle log after the processing in steps S1403 to S1405 as a vehicle log.
  • 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 analysis server 20 is described as including the abnormality log detection unit 250 and the abnormality notification unit 260, but the abnormality log detection unit 250 and the abnormality notification unit 260 are not essential components. ..
  • the vehicle log analysis server 20 does not include the abnormality log detection unit 250 and the abnormality notification unit 260, for example, the collected vehicle logs may be manually analyzed and detected as an abnormality when there is a trace of an attack.
  • the vehicle log transmission device 10 is 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 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 difference log generation unit 150 has been described as calculating the difference log using exclusive OR, but the difference log is calculated using another difference generation algorithm such as Binary Diff. May be.
  • the difference log generation unit 150 has been described as calculating the difference between the difference log and the difference generation log for the data area of the vehicle log using exclusive OR.
  • the difference between the ID area of the vehicle log and the difference generation log may be calculated using exclusive OR.
  • the vehicle log restoration unit 230 cannot identify the ID. Therefore, the difference log generation unit 150 adds information that can identify the ID to the time index included in the vehicle log processing rule, and the vehicle log restoration unit 230 refers to the time index to identify the ID and extract the vehicle log. Can be restored. As a result, the difference between the vehicle log and the difference generation log can be made smaller.
  • the differential log transmission unit 160 has been described as compressing the differential log using a compression algorithm such as LHA or ZIP.
  • a compression algorithm such as LHA or ZIP.
  • 7z, RAR, AFA, CAB, GCA, DGCA You may compress using other compression algorithms, such as StuffIt, Compact Pro, pack, compress, bzip, bzip2, or Zstandard.
  • the difference log generation unit 150 has been described as using the difference generation log to calculate the exclusive OR, but the difference generation log is used as the compression dictionary used in the compression algorithm. You may.
  • the difference log generation unit 150 does not necessarily have to calculate the difference between the vehicle log and the difference generation log, and there is a high possibility that the difference log can be compressed according to the vehicle state.
  • a compression dictionary can be selected and used.
  • the compression rate is improved by using data similar to the data to be compressed as the compression dictionary. For example, when the data included in the compression dictionary is divided into N bytes and the divided data for every N bytes and the identifier of the divided data are associated with each other, the data to be compressed is divided into N bytes and the divided data to be compressed is the compression dictionary. When it matches with the divided data of, it can be replaced with the identifier of the divided data.
  • the difference generation log is described as being shared in advance between the vehicle log transmission device 10 and the vehicle log analysis server 20, but the difference generation log is the vehicle log. It may be dynamically shared between the transmission device 10 and the vehicle log analysis server 20.
  • the vehicle log transmitted from the vehicle log transmission device 10 to the vehicle log analysis server 20 and the vehicle state at the time of transmission are used as a log for difference generation by the difference generation log storage unit 130 and the restoration log storage unit 220. May be stored.
  • the difference generation log storage unit 130 and the restoration log storage unit 220 do not necessarily need to store the difference generation log for each ID.
  • the difference log generation unit 150 calculates the difference for each line between the processed vehicle log to be transmitted and the difference generation log in order from the first line, and calculates the difference log.
  • the vehicle log restoration unit 230 restores the vehicle log by calculating the difference for each line of the difference log and the difference generation log in order from the first line. As a result, it is not necessary to set the difference generation log in advance for each vehicle state, and the development cost can be suppressed.
  • the difference log generation unit 150 determines that the number of rows or the data size of the processed vehicle log to be transmitted is It may be deleted from the last line of the difference generation log so that they are the same.
  • the difference log generation unit 150 determines that the ID included in the first line of the difference generation log is It may be deleted from the top line of the difference generation log so that it becomes the same as the ID included in the top line of the processed vehicle log to be transmitted or a predetermined ID.
  • the "processing item" of the vehicle log processing rule is set to "match log generation ID for difference”
  • the "presence or absence of processing” is “valid”
  • value after processing "-" is described.
  • the difference between each line of the processed vehicle log to be transmitted and the difference generation log is calculated in order from the first line to generate a difference log, and the vehicle log restoration unit 230 refers to the vehicle log processing rule, When "Processing" of "Adjust difference log ID" is "Valid”, delete the number of lines described in the vehicle log processing rule from the first line of the difference log, and delete the difference log and the difference generation log. Alternatively, the vehicle log may be restored by sequentially calculating the difference for each line from the first line.
  • difference generation log storage unit 130 and the restoration log storage unit 220 may dynamically store the difference generation log for each ID. If the vehicle log contains multiple 1-line logs that contain the same ID, the 1-line log that contains one ID will average the first 1 line or byte, the median for each byte, or the byte for each byte. The most frequent value of may be adopted and stored for each ID.
  • the abnormality notification unit 260 has been 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 processed vehicle log includes the time or the time index, and the data is replaced with a predetermined value, but it is necessary for the abnormal log detection unit 250 to detect an abnormal log. It may be limited to information. For example, when the abnormality log detection unit 250 detects an abnormality when the value of a specific data area is equal to or larger than a predetermined value, time information and detailed data are unnecessary, and processing such as deleting time information or rounding data is performed. May be applied to the vehicle log. When the abnormality log detection unit 250 uses machine learning to detect an abnormality, the feature amount such as time-series difference information used in machine learning may be used as the processed vehicle log data.
  • the vehicle log processing rule is created when the difference log generation unit 150 generates the difference log from the vehicle log, and is shared between the vehicle log transmission device 10 and the vehicle log analysis server 20.
  • the processing item of the vehicle log processing rule is “ID sort (ascending order)”, “data sort (ascending order)”, or “data replacement”, “presence of processing” and “value before processing” are displayed.
  • the “value after processing” may be shared in advance, not when the difference log is generated. However, since the “value before processing” and the “value after processing” in which the processing item is the “time index” cannot be shared in advance, they are created when the difference log generating unit 150 generates the difference log, and Must be shared with the vehicle log analysis server 20.
  • Part or all of the constituent elements of each device in the above embodiments may be configured by 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 and the vehicle log analysis system 100, but also as a vehicle log transmission/reception method including processing steps performed by each element configuring the vehicle log analysis system 100. .
  • the vehicle log includes a vehicle log transmission method by the vehicle log transmission apparatus 10 and a vehicle log reception method by the vehicle log analysis server 20, and transmits the vehicle log from the vehicle log transmission apparatus 10 to the vehicle log analysis server 20.
  • a transmission/reception method wherein the vehicle log transmission device 10 stores a list of difference generation logs that are vehicle logs for each vehicle state that are shared between the vehicle log transmission device 10 and the vehicle log analysis server 20.
  • the vehicle log analysis server 20 includes a generation log storage unit 130, the restoration log storage unit 220 that stores the list, and the vehicle log transmission method is a vehicle that acquires a vehicle log as illustrated in FIG. 10.
  • the difference log transmission step (step S1011) of transmitting the difference generation log identifier corresponding to the difference generation log to the vehicle log analysis server 20 and the vehicle log reception method is as shown in FIG.
  • a difference log reception step (step S1102) of receiving the difference log and the difference generation log identifier transmitted in the difference log transmission step, and a difference generation used for generation of the difference log from the difference generation log identifier and the list Vehicle log restoration step (steps S1103, S1104) of restoring the vehicle log based on the differential log and the specified differential generation 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 state extraction unit 130 difference generation log storage unit 140 difference generation log selection unit 150 difference log generation unit 160 difference log transmission Part 200 Vehicle 210 Difference log receiving part 220 Restoration log storage part 230 Vehicle log restoration part 240 Vehicle log storage part 250 Abnormality log detection part 260 Abnormality notification part 300 Vehicle system

Landscapes

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

Abstract

車両ログ送信装置(10)は、車両ログを取得する車両ログ取得部(110)と、取得された車両ログから車両状態を抽出する車両状態抽出部(120)と、車両ログ送信装置(10)と車両ログ解析サーバとの間で共有されている車両状態ごとの車両ログである差分生成用ログのリストを記憶する差分生成用ログ保存部(130)と、抽出された車両状態に応じてリストから差分生成用ログを選択する差分生成用ログ選択部(140)と、取得された車両ログと選択された差分生成用ログとに基づいて差分ログを生成する差分ログ生成部(150)と、生成された差分ログと、選択された差分生成用ログに対応する差分生成用ログ識別子とを車両ログ解析サーバへ送信する差分ログ送信部(160)と、を備える。

Description

車両ログ送信装置、車両ログ解析システムおよび車両ログ送受信方法
 本開示は、車両ログ送信装置、車両ログ解析システムおよび車両ログ送受信方法に関する。
 近年、自動車に搭載されるシステムには、電子制御装置(ECU:Electronic Control Unit)と呼ばれる装置が多数配置されている。これらのECUをつなぐネットワークは、車載ネットワークと呼ばれる。車載ネットワークには、多数の規格が存在する。その中でも最も主流な車載ネットワークの一つに、ISO11898-1で規定されているCAN(Controller Area Network)という規格が存在する。
 CANでは、通信路は2本のバスで構成され、バスに接続されているECUはノードと呼ばれる。バスに接続されている各ノードは、フレームと呼ばれるメッセージを送受信する。CANでは、送信先ノードや送信元ノードを指す識別子は存在せず、送信ノードはフレーム毎にメッセージIDと呼ばれるIDを付けて送信し、各受信ノードは予め定められたメッセージIDが付いたフレームのみを受信する。
 そのため、CANのバスにECUを接続し、異常な制御コマンドを含むフレームを正規のECUになりすまして送信することで、自動車を不正に制御できてしまうという脅威がある。
 この脅威に対して、車載ネットワークにおいて、不正なデータ、すなわち、異常な制御コマンドの侵入を検知する方法として、例えば、特許文献1に開示されている方法がある。
 しかしながら、車両の外部のサーバシステムが、車載ネットワークシステムにおけるデータを監視する場合、大量のデータが車載ネットワークシステムから外部のサーバシステムへ送信される可能性がある。このような大量のデータを処理するための資源を準備することは容易ではない。
 この大量のデータに対して、所定のデータサイズごとに分割し、分割されたデータごとに、サーバに保存されているデータと比較し、データが一致する場合に分割されたデータのハッシュ値のみを送信し、データが一致しない場合に分割されたデータをサーバに送信することで、通信データ量を削減する方法が、特許文献2に開示されている。
 また、2種類のデータの差分を算出する方法として、例えば、非特許文献1に記載の方法があり、一般に差分が小さければ、差分データが0に偏るため、差分データをLHAやZIPなどの圧縮アルゴリズムを適応した際にデータの圧縮率が高く、通信データ量を効率的に削減できる。
特開2014-146868号公報 特許第5342302号公報
Colin Percival、"Binary diff/patch utility"、[online]、[平成30年11月06日検索]、インターネット<URL:http://www.daemonology.net/bsdiff/>
 しかしながら、車載ネットワークログは、自動車の状態によって変動するデータと時刻データを含むため、従来技術の所定のデータサイズごとに分割する方法では、現在取得したログの分割データと、過去に取得されてサーバに保存されているログの分割データとの類似度が低くなる。そのため、現在取得したログの分割データと過去に取得されてサーバに保存されているログの分割データとの差分が大きくなり、差分データの圧縮率が低く、多くのデータをサーバに送信する必要がある。そのため、ログを分割しない状態で送信する場合と比較して、通信データ量を効率的に削減できないという課題がある。
 そこで、本開示は、車両から車両の外部のサーバへ送信される車両ログの通信データ量を効果的に削減できる車両ログ送信装置等を提供する。
 上記課題を解決するために、本開示の車両ログ送信装置は、車両ログを車両ログ解析サーバへ送信する車両ログ送信装置であって、前記車両ログを取得する車両ログ取得部と、取得された前記車両ログから車両状態を抽出する車両状態抽出部と、前記車両ログ送信装置と前記車両ログ解析サーバとの間で共有されている車両状態ごとの車両ログである差分生成用ログのリストを記憶する差分生成用ログ保存部と、抽出された前記車両状態に応じて前記リストから差分生成用ログを選択する差分生成用ログ選択部と、取得された前記車両ログと選択された前記差分生成用ログとに基づいて差分ログを生成する差分ログ生成部と、生成された前記差分ログと、選択された前記差分生成用ログに対応する差分生成用ログ識別子とを前記車両ログ解析サーバへ送信する差分ログ送信部と、を備える。
 なお、これらの全般的または具体的な態様は、システム、方法、集積回路、コンピュータプログラムまたはコンピュータ読み取り可能な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における車両ログ復元処理のフローチャートである。
 車両ログ送信装置は、車両ログを車両ログ解析サーバへ送信する車両ログ送信装置であって、前記車両ログを取得する車両ログ取得部と、取得された前記車両ログから車両状態を抽出する車両状態抽出部と、前記車両ログ送信装置と前記車両ログ解析サーバとの間で共有されている車両状態ごとの車両ログである差分生成用ログのリストを記憶する差分生成用ログ保存部と、抽出された前記車両状態に応じて前記リストから差分生成用ログを選択する差分生成用ログ選択部と、取得された前記車両ログと選択された前記差分生成用ログとに基づいて差分ログを生成する差分ログ生成部と、生成された前記差分ログと、選択された前記差分生成用ログに対応する差分生成用ログ識別子とを前記車両ログ解析サーバへ送信する差分ログ送信部と、を備える。
 特定の車両状態において発生する可能性の高いログを車両状態ごとの差分生成用ログとして車両ログ送信装置と車両ログ解析サーバとの間で共有し、車両ログ送信装置が車両ログを車両ログ解析サーバへ送信する際にそのときの車両状態に応じて差分生成用ログを使い分けて差分ログを生成する。これにより、当該車両状態における送信対象の車両ログと当該車両状態に対応する差分生成用ログとが類似するため、送信する差分ログが小さくなり、車両から車両の外部のサーバ(車両ログ解析サーバ)へ送信される車両ログの通信データ量を効果的に削減できる。
 また、前記差分生成用ログ保存部は、過去に前記車両ログ解析サーバへ送信された車両ログと、当該送信時の車両状態とが対応付けられた前記差分生成用ログの前記リストを記憶するとしてもよい。
 これにより、過去に送信された車両ログは、車両ログ送信装置と車両ログ解析サーバとの間で共有されることになるため、過去に送信された車両ログを差分生成用ログとして用いることで、車両ログ送信装置に、差分生成用ログを事前に設定する必要がなくなり開発コストを抑えることができる。
 また、前記車両ログは、データの種類を示すIDがそれぞれ対応付けられている複数のデータを含み、前記差分生成用ログ保存部は、前記車両ログに含まれるIDごと、かつ、車両状態ごとの前記差分生成用ログの前記リストを記憶し、前記差分生成用ログ選択部は、抽出された前記車両状態に応じて前記リストからIDごとの前記差分生成用ログを選択し、前記差分ログ生成部は、取得された前記車両ログに含まれるIDのそれぞれについて、当該IDに対応付けられたデータと、当該IDに対応する選択された前記差分生成用ログとに基づいて前記差分ログを生成するとしてもよい。
 これにより、車両ログに含まれるIDごとに差分生成用ログを記憶することで、差分生成用ログとして車両ログに含まれる複数のデータの全てを記憶する必要がなくIDの種類数だけでよくなるため、車両ログに含まれる複数のデータの数が車両ログに含まれるIDの種類数よりも多い場合に、差分ログの生成に必要な記憶領域を削減できる。
 また、前記車両ログは、データの種類を示すIDがそれぞれ対応付けられている複数のデータであって、所定のIDを起点とする複数のIDを1周期として当該複数のIDが周期的に繰り返されるように並べられた複数のデータを含み、前記差分生成用ログ選択部は、抽出された前記車両状態に応じて前記リストから前記所定のIDを起点とする前記複数のIDに対応する前記差分生成用ログを選択するとしてもよい。
 例えば、車両ログに含まれる複数のデータは、所定のIDを起点とする複数のIDを1周期として当該複数のIDが周期的に繰り返されるように並べられており、当該複数のIDごとに同じようなデータが繰り替えされることになる。したがって、車両ログおよび差分生成用ログの起点となるIDを所定のIDに統一することで、車両ログに含まれる1周期の複数のIDと差分生成用ログに含まれる1周期の複数のIDとが一致し、車両ログと差分生成用ログとの差分が小さくなるため、車両から車両の外部のサーバへ送信される車両ログの通信データ量をさらに効果的に削減できる。また、車両ログに含まれる複数のデータは、1周期の複数のIDごとに同じようなデータが繰り替えされるため、1周期の複数のIDに対応するデータ以外の情報を削減することができる。
 また、前記差分生成用ログ保存部は、データの値を所定値に置換する置換処理またはデータの値を丸める端数処理が施された前記差分生成用ログの前記リストを記憶し、前記差分ログ生成部は、さらに、取得された前記車両ログに対して前記置換処理または前記端数処理を実施した後、前記差分ログを生成するとしてもよい。
 これにより、車両ログと差分生成用ログとで異なる可能性の高いカウンタまたはチェックサムなどデータ領域の値を車両ログと差分生成用ログとで同じ所定値にしたり、車両ログから異常を検出するために不必要なセンサ情報などの詳細値を丸めたりすることで、送信対象の車両ログと差分生成用ログとがより類似するようになる。したがって、送信する差分ログが小さくなることから、車両から車両の外部のサーバへ送信される車両ログの通信データ量をさらに効果的に削減できる。
 また、前記車両ログは、時刻情報がそれぞれ対応付けられている複数のデータを含み、前記差分生成用ログ保存部は、時刻情報をインデックス情報に置換する処理を施された前記差分生成用ログの前記リストを記憶し、前記差分ログ生成部は、さらに、取得された前記車両ログに含まれる時刻情報をインデックス情報に置換した後、前記差分ログを生成し、前記差分ログ送信部は、さらに、時刻情報とインデックス情報との対応関係を示す時刻リストを前記車両ログ解析サーバへ送信するとしてもよい。
 これにより、車両ログと差分生成用ログとで異なる可能性の高い時刻情報の値を車両ログと差分生成用ログとでインデックス情報に置換することで、車両ログと差分生成用ログとがより類似するようになる。したがって、送信する差分ログが小さくなることから、車両から車両の外部のサーバへ送信される車両ログの通信データ量をさらに効果的に削減できる。
 また、前記車両ログは、データの種類を示すIDがそれぞれ対応付けられている前記複数のデータを含み、前記差分生成用ログ保存部は、IDの値の大きさに応じて並び替えられ、同一IDについてはデータの大きさに応じて並び替えられた前記差分生成用ログの前記リストを記憶し、前記差分ログ生成部は、さらに、取得された前記車両ログについて、時刻情報をインデックス情報に置換し、IDの値の大きさに応じて並び替え、同一IDについてはデータの値の大きさに応じて並び替えた後、前記差分ログを生成するとしてもよい。
 これにより、車両ログと差分生成用ログとをIDが大きい順または小さい順(同一IDの場合にはデータが大きい順または小さい順)に並び替えることで、特定のIDを含むデータが非定期的に発生してIDの発生順番が一定でない場合や車両ログに変動値データが含まれる場合であっても、車両ログと差分生成用ログとが一致する確率が高くなる。そのため、車両ログと差分生成用ログとの差分を小さくすることができるため、送信する差分ログが小さくなることから、車両から車両の外部のサーバへ送信される車両ログの通信データ量をさらに効果的に削減できる。
 また、前記差分ログ生成部は、データ圧縮辞書として選択された前記差分生成用ログを用いて、取得された前記車両ログを所定の圧縮アルゴリズムにて圧縮し、圧縮した前記車両ログを前記差分ログとして生成するとしてもよい。
 これにより、車両状態ごとに圧縮率の高い辞書を事前に作成することなく、データを効率的に圧縮できるため、開発コストを低減できる。
 また、車両ログ解析システムは、車両ログ送信装置と車両ログ解析サーバとから構成され、車両ログを前記車両ログ解析サーバから前記車両ログ解析サーバへ送信する車両ログ解析システムであって、前記車両ログ送信装置は、前記車両ログを取得する車両ログ取得部と、取得された前記車両ログから車両状態を抽出する車両状態抽出部と、前記車両ログ送信装置と前記車両ログ解析サーバとの間で共有されている車両状態ごとの車両ログである差分生成用ログのリストを記憶する差分生成用ログ保存部と、抽出された前記車両状態に応じて前記リストから差分生成用ログを選択する差分生成用ログ選択部と、取得された前記車両ログと選択された前記差分生成用ログとに基づいて差分ログを生成する差分ログ生成部と、生成された前記差分ログと、選択された前記差分生成用ログに対応する差分生成用ログ識別子とを前記車両ログ解析サーバへ送信する差分ログ送信部と、を備え、前記車両ログ解析サーバは、前記差分ログ送信部から送信された前記差分ログと前記差分生成用ログ識別子とを受信する差分ログ受信部と、前記リストを記憶する復元用ログ保存部と、前記差分生成用ログ識別子と前記リストとから前記差分ログの生成に用いられた前記差分生成用ログを特定し、前記差分ログと特定された前記差分生成用ログとに基づいて前記車両ログを復元する車両ログ復元部と、を備える。
 特定の車両状態において発生する可能性の高いログを車両状態ごとの差分生成用ログとして車両ログ送信装置と車両ログ解析サーバとの間で共有し、車両ログ送信装置が車両ログを車両ログ解析サーバへ送信する際にそのときの車両状態に応じて差分生成用ログを使い分けて差分ログを生成する。これにより、当該車両状態における送信対象の車両ログと当該車両状態に対応する差分生成用ログとが類似するため、送信する差分ログが小さくなり、車両から車両の外部のサーバ(車両ログ解析サーバ)へ送信される車両ログの通信データ量を効果的に削減できる。
 また、前記差分生成用ログ保存部および前記復元用ログ保存部は、過去に前記車両ログ解析サーバへ送信された車両ログと、当該送信時の車両状態とが対応付けられた前記差分生成用ログの前記リストを記憶するとしてもよい。
 これにより、過去に送信された車両ログは、車両ログ送信装置と車両ログ解析サーバとの間で共有されることになるため、過去に送信された車両ログを差分生成用ログとして用いることで、車両ログ送信装置に、差分生成用ログを事前に設定する必要がなくなり開発コストを抑えることができる。
 また、前記車両ログは、データの種類を示すIDがそれぞれ対応付けられている複数のデータを含み、前記差分生成用ログ保存部および前記復元用ログ保存部は、車両ログに含まれるIDごと、かつ、車両状態ごとの前記差分生成用ログの前記リストを記憶し、前記差分生成用ログ選択部は、抽出された前記車両状態に応じて前記リストからIDごとの前記差分生成用ログを選択し、前記差分ログ生成部は、取得された前記車両ログに含まれるIDのそれぞれについて、当該IDに対応付けられたデータと、当該IDに対応する選択された前記差分生成用ログとに基づいて前記差分ログを生成し、前記車両ログ復元部は、前記差分ログに含まれるIDのそれぞれについて、当該IDに対応付けられたデータと、当該IDに対応する特定された前記差分生成用ログとに基づいて前記車両ログを復元するとしてもよい。
 これにより、車両ログに含まれるIDごとに差分生成用ログを記憶することで、差分生成用ログとして車両ログに含まれる複数のデータの全てを記憶する必要がなくIDの種類数だけでよくなるため、車両ログに含まれる複数のデータの数が車両ログに含まれるIDの種類数よりも多い場合に、差分ログの生成に必要な記憶領域を削減できる。
 また、前記車両ログは、データの種類を示すIDがそれぞれ対応付けられている複数のデータであって、所定のIDを起点とする複数のIDを1周期として当該複数のIDが周期的に繰り返されるように並べられた複数のデータを含み、前記差分生成用ログ選択部は、抽出された前記車両状態に応じて前記リストから前記所定のIDを起点とする複数のIDに対応する前記差分生成用ログを選択し、前記車両ログ復元部は、前記所定のIDを起点とする複数のIDに対応する前記差分生成用ログを特定し、前記差分ログと特定された前記差分生成用ログとに基づいて前記車両ログを復元するとしてもよい。
 例えば、車両ログに含まれる複数のデータは、所定のIDを起点とする複数のIDを1周期として当該複数のIDが周期的に繰り返されるように並べられており、当該複数のIDごとに同じようなデータが繰り替えされることになる。したがって、車両ログおよび差分生成用ログの起点となるIDを所定のIDに統一することで、車両ログに含まれる1周期の複数のIDと差分生成用ログに含まれる1周期の複数のIDとが一致し、車両ログと差分生成用ログとの差分が小さくなるため、車両から車両の外部のサーバへ送信される車両ログの通信データ量をさらに効果的に削減できる。また、車両ログに含まれる複数のデータは、1周期の複数のIDごとに同じようなデータが繰り替えされるため、1周期の複数のIDに対応するデータ以外の情報を削減することができる。
 また、前記差分生成用ログ保存部および前記復元用ログ保存部は、データの値を所定値に置換する置換処理またはデータの値を丸める端数処理が施された前記差分生成用ログの前記リストを記憶し、前記差分ログ生成部は、さらに、取得された前記車両ログに対して前記置換処理または前記端数処理を実施した後、前記差分ログを生成するとしてもよい。
 これにより、車両ログと差分生成用ログとで異なる可能性の高いカウンタまたはチェックサムなどデータ領域の値を車両ログと差分生成用ログとで同じ所定値にしたり、車両ログから異常を検出するために不必要なセンサ情報などの詳細値を丸めたりすることで、送信対象の車両ログと差分生成用ログとがより類似するようになる。したがって、送信する差分ログが小さくなることから、車両から車両の外部のサーバへ送信される車両ログの通信データ量をさらに効果的に削減できる。
 また、前記車両ログは、時刻情報がそれぞれ対応付けられている複数のデータを含み、前記差分生成用ログ保存部および前記復元用ログ保存部は、時刻情報をインデックス情報に置換する処理を施された前記差分生成用ログの前記リストを記憶し、前記差分ログ生成部は、さらに、取得された前記車両ログに含まれる時刻情報をインデックス情報に置換した後、前記差分ログを生成し、前記差分ログ送信部は、さらに、時刻情報とインデックス情報との対応関係を示す時刻リストを前記車両ログ解析サーバへ送信し、車両ログ復元部は、さらに、送信された前記時刻リストを参照して、インデックス情報を時刻情報に置換して前記車両ログを復元するとしてもよい。
 これにより、車両ログと差分生成用ログとで異なる可能性の高い時刻情報の値を車両ログと差分生成用ログとでインデックス情報に置換することで、車両ログと差分生成用ログとがより類似するようになる。したがって、送信する差分ログが小さくなることから、車両から車両の外部のサーバへ送信される車両ログの通信データ量をさらに効果的に削減できる。
 また、前記車両ログは、データの種類を示すIDがそれぞれ対応付けられている前記複数のデータを含み、前記差分生成用ログ保存部および前記復元用ログ保存部は、IDの値の大きさに応じて並び替えられ、同一IDについてはデータの値の大きさに応じて並び替えられた前記差分生成用ログの前記リストを記憶し、前記差分ログ生成部は、さらに、取得された前記車両ログについて、時刻情報をインデックス情報に置換し、IDの値の大きさに応じて並び替え、同一IDについてはデータの値の大きさに応じて並び替えた後、前記差分ログを生成し、車両ログ復元部は、さらに、送信された前記時刻リストを参照して、インデックス情報を時刻情報に置換し、時刻の早い順番に並び替えて前記車両ログを復元するとしてもよい。
 これにより、車両ログと差分生成用ログとをIDが大きい順または小さい順(同一IDの場合にはデータが大きい順または小さい順)に並び替えることで、特定のIDを含むデータが非定期的に発生してIDの発生順番が一定でない場合や車両ログに変動値データが含まれる場合であっても、車両ログと差分生成用ログとが一致する確率が高くなる。そのため、車両ログと差分生成用ログとの差分を小さくすることができるため、送信する差分ログが小さくなることから、車両から車両の外部のサーバへ送信される車両ログの通信データ量をさらに効果的に削減できる。
 また、前記差分ログ生成部は、データ圧縮辞書として選択された前記差分生成用ログを用いて、取得された前記車両ログを所定の圧縮アルゴリズムにて圧縮し、圧縮した前記車両ログを差分ログとして生成し、前記車両ログ復元部は、特定された前記差分生成用ログをデータ圧縮辞書として用いて、前記差分ログを所定の圧縮アルゴリズムにて伸長し、前記車両ログを復元するとしてもよい。
 これにより、車両状態ごとに圧縮率の高い辞書を事前に作成することなく、データを効率的に圧縮できるため、開発コストを低減できる。
 また、前記車両状態抽出部は、前記車両ログに含まれる車両速度、運転支援モード、自動運転モード、走行位置、天候および気温のうち少なくとも1つを車両状態として抽出するとしてもよい。
 これにより、車両が停車時特有の機能または高速走行時特有の機能を有する場合に、車両の速度ごとに差分生成用ログを用意することで車両の速度ごとに特有の機能によるログが類似する。また、車両が運転支援モード動作時特有の機能または自動運転モード動作時特有の機能を有する場合に、車両の走行モードごとに差分生成用ログを用意することで車両の走行モードごとに特有の機能によるログが類似する。また、車両の走行エリアごとに差分生成用ログを用意することで、同じ道路、同じ経路を走行している車両のログは類似する。また、車両の気温や天候ごとに差分生成用ログを用意することで、同じ気温で走行している車両の空調機の制御のログや同じ天候で走行している車両のワイパー制御のログは類似する。このように、車両状態として車両速度、運転支援モード、自動運転モード、走行位置、天候または気温は、車両ログとの関連性が高く、同じ車両状態では送信する差分ログが小さくなることから、車両から車両の外部のサーバへ送信される車両ログの通信データ量をさらに効果的に削減できる。
 また、前記車両ログ取得部は、前記車両ログのIDとしてフレームIDを含むCANまたはCAN-FDプロトコルに従う車載ネットワークログと、前記車両ログのIDとしてスロットIDを含むFlexRay(登録商標)プロトコルに従う車載ネットワークログと、前記車両ログにIDとしてIPアドレスを含むEthernet(登録商標)プロトコルに従う車載ネットワークログと、前記車両ログにIDとしてプロセス番号を含むシステム動作ログとのうちの、少なくとも1つの前記車両ログを取得するとしてもよい。
 これにより、特定のプロトコルやシステムに従う車両ログを取得することで、車両ログのフォーマットを合わせることができるため、送信する差分ログが小さくなることから、車両から車両の外部のサーバへ送信される車両ログの通信データ量をさらに効果的に削減できる。
 また、前記車両ログ解析サーバは、さらに、復元された前記車両ログを監視し、復元された前記車両ログに攻撃の痕跡が含まれる場合に異常として検出する異常ログ検出部と、所定の通知先に通知する異常通知部と、を備えるとしてもよい。
 これにより、復元された車両ログからセキュリティ上の異常が検出された場合に、所定の通知先に車両が異常であることを通知できる。
 また、車両ログ送受信方法は、車両ログ送信装置による車両ログ送信方法と車両ログ解析サーバによる車両ログ受信方法とから構成され、車両ログを前記車両ログ送信装置から前記車両ログ解析サーバへ送信する車両ログ送受信方法であって、前記車両ログ送信装置は、車両ログ送信装置と車両ログ解析サーバとの間で共有されている車両状態ごとの車両ログである差分生成用ログのリストを記憶する差分生成用ログ保存部を備え、前記車両ログ解析サーバは、前記リストを記憶する復元用ログ保存部を備え、前記車両ログ送信方法は、前記車両ログを取得する車両ログ取得ステップと、取得された前記車両ログから車両状態を抽出する車両状態抽出ステップと、抽出された前記車両状態に応じて前記リストから差分生成用ログを選択する差分生成用ログ選択ステップと、取得された前記車両ログと選択された前記差分生成用ログとに基づいて差分ログを生成する差分ログ生成ステップと、生成された前記差分ログと、選択された前記差分生成用ログに対応する差分生成用ログ識別子とを前記車両ログ解析サーバへ送信する差分ログ送信ステップと、を含み、前記車両ログ受信方法は、前記差分ログ送信ステップにて送信された前記差分ログと前記差分生成用ログ識別子とを受信する差分ログ受信ステップと、前記差分生成用ログ識別子と前記リストとから前記差分ログの生成に用いられた前記差分生成用ログを特定し、前記差分ログと特定された前記差分生成用ログとに基づいて前記車両ログを復元する車両ログ復元ステップと、を含む。
 特定の車両状態において発生する可能性の高いログを車両状態ごとの差分生成用ログとして車両ログ送信装置と車両ログ解析サーバとの間で共有し、車両ログ送信装置が車両ログを車両ログ解析サーバへ送信する際にそのときの車両状態に応じて差分生成用ログを使い分けて差分ログを生成する。これにより、当該車両状態における送信対象の車両ログと当該車両状態に対応する差分生成用ログとが類似するため、送信する差分ログが小さくなり、車両から車両の外部のサーバ(車両ログ解析サーバ)へ送信される車両ログの通信データ量を効果的に削減できる。
 なお、これらの全般的または具体的な態様は、システム、方法、集積回路、コンピュータプログラムまたはコンピュータで読み取り可能なCD-ROM等の記録媒体で実現されても良く、システム、方法、集積回路、コンピュータプログラムまたは記録媒体の任意な組み合わせで実現されてもよい。
 以下、実施の形態に係る車両ログ送信装置、車両ログ解析システムおよび車両ログ送受信方法について図面を参照しながら説明する。ここで示す実施の形態は、いずれも本開示の一具体例を示すものである。従って、以下の実施の形態で示される数値、構成要素、構成要素の配置および接続形態、並びに、処理の要素としてのステップおよびステップの順序等は、一例であって本開示を限定するものではない。以下の実施の形態における構成要素のうち、独立請求項に記載されていない構成要素については、任意に付加可能な構成要素である。また、各図は、模式図であり、必ずしも厳密に図示されたものではない。
 (実施の形態1)
 [車両ログ解析システムの全体構成]
 図1は、本開示の実施の形態1における車両ログ解析システム100の全体構成図である。
 図1において、車両ログ解析システム100は、車両ログ解析サーバ20と車両200とで構成され、車両ログ解析サーバ20と車両200とが外部ネットワーク50を介して接続される。外部ネットワーク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は、車両ログを車両ログ解析サーバ20へ送信する装置である。図2において、車両ログ送信装置10は、車両ログ取得部110と、車両状態抽出部120と、差分生成用ログ保存部130と、差分生成用ログ選択部140と、差分ログ生成部150と、差分ログ送信部160とを備える。
 車両ログ取得部110は、車両システム300と車両ネットワーク60を介して接続される。車両ログ取得部110は、車両200の動作に関わる複数のデータを含む車両ログを取得し、車両状態抽出部120と差分ログ生成部150とに、取得した車両ログを通知する。なお、車両ログは、データの種類を示すIDがそれぞれ対応付けられている複数のデータを含んでいてもよい。また、車両ログは、データの種類を示すIDがそれぞれ対応付けられている複数のデータであって、所定のIDを起点とする複数のIDを1周期として当該複数のIDが周期的に繰り返されるように並べられた複数のデータを含んでいてもよい。また、車両ログは、時刻情報がそれぞれ対応付けられている複数のデータを含んでいてもよい。
 車両状態抽出部120は、車両ログ取得部110で取得された車両ログに含まれる車両状態を取得し、差分生成用ログ選択部140に取得した車両状態を通知する。
 ここで、車両状態は、車両200の状態であり、本実施の形態においては、車両200の速度、車両200の走行モード(例えば、運転支援モードまたは自動運転モード等)、走行エリア、気温および天候の情報のうち、少なくとも1つの情報を指す。例えば、車両状態抽出部120は、車両ログに含まれる車両速度、運転支援モード、自動運転モード、走行位置、天候および気温のうち少なくとも1つを車両状態として抽出する。なお、車両状態抽出部120は、車両速度の範囲を抽出してもよい。例えば、車両状態抽出部120は、車両速度が20km/hのときに車両速度の範囲が0~30km/hであることを抽出してもよい。また、車両状態抽出部120は、気温の範囲を抽出してもよい。例えば、車両状態抽出部120は、気温が33度のときに気温の範囲が30~35度であることを抽出してもよい。また、車両ログ内のどの箇所に車両状態が含まれるかについては、あらかじめ車両ログ定義テーブルに定義されており、車両状態抽出部120は、車両ログ定義テーブルを用いて、車両ログの該当場所を参照することで車両状態を抽出できる。車両ログ定義テーブルの詳細は後述する。
 差分生成用ログ保存部130は、車両ログ送信装置10と車両ログ解析サーバ20との間で共有されている車両状態ごとの車両ログである差分生成用ログのリストを記憶する。例えば、差分生成用ログ保存部130は、過去に車両ログ解析サーバ20へ送信された車両ログと、当該送信時の車両状態とが対応付けられた差分生成用ログのリストを記憶してもよい。また、例えば、差分生成用ログ保存部130は、車両ログに含まれるIDごと、かつ、車両状態ごとの差分生成用ログのリストを記憶してもよい。また、例えば、差分生成用ログ保存部130は、データの値を所定値に置換する置換処理またはデータの値を丸める端数処理が施された差分生成用ログのリストを記憶してもよい。また、例えば、差分生成用ログ保存部130は、時刻情報をインデックス情報に置換する処理を施された差分生成用ログのリストを記憶してもよい。また、例えば、差分生成用ログ保存部130は、IDの値の大きさに応じて並び替えられ、同一IDについてはデータの大きさに応じて並び替えられた差分生成用ログのリストを記憶してもよい。
 差分生成用ログ選択部140は、車両状態抽出部120により抽出された車両状態を受け取り、抽出された車両状態に応じて差分生成用ログ保存部130に記憶されたリストから差分生成用ログを選択する。例えば、差分生成用ログ選択部140は、抽出された車両状態に対応する差分生成用ログを選択する。差分生成用ログ選択部140は、差分ログ生成部150と差分ログ送信部160とへ選択した差分生成用ログの番号を通知する。
 差分ログ生成部150は、車両ログ取得部110で取得された車両ログと差分生成用ログ選択部140で選択された差分生成用ログとに基づいて差分ログを生成する。具体的には、差分ログ生成部150は、車両ログ取得部110から車両ログを受け取り、差分生成用ログ選択部140から差分生成用ログの番号を受け取り、差分生成用ログ保存部130から差分生成用ログの番号と対応する差分生成用ログを取得する。そして、例えば、差分ログ生成部150は、車両ログを、ルールに従って加工し、加工済み車両ログと差分生成用ログとの差分を算出し、算出した結果である差分ログと、車両ログの加工に使用したルールである車両ログ加工ルールとを差分ログ送信部160へ通知する。車両ログ加工ルールおよび差分ログの詳細は後述する。なお、例えば、差分ログ生成部150は、取得された車両ログに含まれるIDのそれぞれについて、当該IDに対応付けられたデータと、当該IDに対応する選択された差分生成用ログとに基づいて差分ログを生成してもよい。また、例えば、差分ログ生成部150は、さらに、取得された車両ログに対して置換処理または端数処理を実施した後、差分ログを生成してもよい。また、例えば、差分ログ生成部150は、さらに、取得された車両ログに含まれる時刻情報をインデックス情報に置換した後、差分ログを生成してもよい。また、例えば、差分ログ生成部150は、さらに、取得された車両ログについて、時刻情報をインデックス情報に置換し、IDの値の大きさに応じて並び替え、同一IDについてはデータの値の大きさに応じて並び替えた後、差分ログを生成してもよい。また、例えば、差分ログ生成部150は、データ圧縮辞書として選択された差分生成用ログを用いて、取得された車両ログを所定の圧縮アルゴリズムにて圧縮し、圧縮した車両ログを差分ログとして生成してもよい。
 差分ログ送信部160は、差分ログ生成部150で生成された差分ログと、差分生成用ログ選択部140で選択された差分生成用ログに対応する差分生成用ログ識別子とを車両ログ解析サーバへ送信する。具体的には、差分ログ送信部160は、差分生成用ログ選択部140から差分生成用ログ識別子として差分生成用ログの番号を受信し、差分ログ生成部150から差分ログを受信し、差分ログを可逆圧縮し、可逆圧縮した差分ログと差分生成用ログの番号とを車両ログ解析サーバ20へ送信する。
 [車両ログ解析サーバ20の構成図]
 図3は、本開示の実施の形態1における車両ログ解析サーバ20の構成図である。車両ログ解析サーバ20は、車両ログを車両ログ送信装置10から受信する装置である。図3において、車両ログ解析サーバ20は、差分ログ受信部210と、復元用ログ保存部220と、車両ログ復元部230と、車両ログ保存部240と、異常ログ検出部250と、異常通知部260を備える。
 差分ログ受信部210は、外部ネットワーク50と接続され、外部ネットワーク50を介して車両ログ送信装置10(差分ログ送信部160)から送信された、可逆圧縮された差分ログと差分生成用ログ識別子(差分生成用ログの番号)を受信し、可逆圧縮された差分ログを伸長し、伸長した差分ログと差分生成用ログの番号とを車両ログ復元部230へ通知する。
 復元用ログ保存部220は、車両ログ送信装置10の差分生成用ログ保存部で記憶されている差分生成用ログのリストと同じ差分生成用ログのリストを記憶する。すなわち、復元用ログ保存部220は、車両ログ送信装置10と車両ログ解析サーバ20との間で共有されている車両状態ごとの車両ログである差分生成用ログのリストを記憶する。例えば、復元用ログ保存部220は、過去に車両ログ解析サーバ20へ送信された車両ログと、当該送信時の車両状態とが対応付けられた差分生成用ログのリストを記憶してもよい。また、例えば、復元用ログ保存部220は、車両ログに含まれるIDごと、かつ、車両状態ごとの差分生成用ログのリストを記憶してもよい。また、例えば、復元用ログ保存部220は、データの値を所定値に置換する置換処理またはデータの値を丸める端数処理が施された差分生成用ログのリストを記憶してもよい。また、例えば、復元用ログ保存部220は、時刻情報をインデックス情報に置換する処理を施された差分生成用ログのリストを記憶してもよい。また、例えば、復元用ログ保存部220は、IDの値の大きさに応じて並び替えられ、同一IDについてはデータの大きさに応じて並び替えられた差分生成用ログのリストを記憶してもよい。
 車両ログ復元部230は、差分生成用ログ識別子と復元用ログ保存部220に記憶されたリストとから差分ログの生成に用いられた差分生成用ログを特定し、差分ログと特定された差分生成用ログとに基づいて車両ログを復元する。具体的には、車両ログ復元部230は、差分ログ受信部210から差分ログと差分生成用ログの番号を受け取り、復元用ログ保存部220から差分生成用ログの番号に対応する差分生成用ログを取得し、差分ログと差分生成用ログとの差分を算出して、車両ログを復元する。例えば、車両ログ復元部230は、差分ログに含まれるIDのそれぞれについて、当該IDに対応付けられたデータと、当該IDに対応する特定された差分生成用ログとに基づいて車両ログを復元してもよい。また、例えば、車両ログ復元部230は、所定のIDを起点とする複数のIDに対応する差分生成用ログを特定し、差分ログと特定された差分生成用ログとに基づいて車両ログを復元してもよい。また、例えば、車両ログ復元部230は、さらに、送信された時刻リストを参照して、インデックス情報を時刻情報に置換して車両ログを復元してもよい。また、例えば、車両ログ復元部230は、さらに、送信された時刻リストを参照して、インデックス情報を時刻情報に置換し、時刻の早い順番に並び替えて車両ログを復元してもよい。また、例えば、車両ログ復元部230は、特定された差分生成ログをデータ圧縮辞書として用いて、差分ログを所定の圧縮アルゴリズムにて伸長し、車両ログを復元してもよい。さらに、車両ログ復元部230は、車両ログを車両ログ保存部240に記録する。車両ログの復元方法の詳細は後述する。
 車両ログ保存部240は、復元された車両ログを記憶する。
 異常ログ検出部250は、車両ログ保存部240に記憶される復元された車両ログを監視し、当該車両ログに攻撃の痕跡が含まれる場合に異常ログとして検出し、異常通知部260に通知する。例えば、車両ログに、正常の処理シーケンスと異なるタイミングで車両装置が動作したログや正常範囲外の制御値を含むネットワーク通信が行われたログが含まれている場合に、異常ログ検出部270は、車両200へのサイバー攻撃の痕跡があるとして、セキュリティ上の脅威として検出する。
 異常通知部260は、所定の通知先に車両が異常であることを通知する。具体的には、異常通知部260は、異常ログ検出部250から異常な車両ログを受け取り、所定の通知先として、例えば、車両ログ解析サーバ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進数表記で「41」、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と差分ログ生成部150とで用いる車両ログ定義テーブルの一例を示す図である。車両ログ定義テーブルは、車両ログの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バイト目は、「位置情報」を定義し、5バイト目は、「ワイパー」を定義し、6バイト目は、「エアコン」を定義し、7バイト目と8バイト目は、未使用であり、定義されていない。
 定義された、「車両番号」は、7バイトの値であり、車両ごとに固定の値をとる。定義された、「速度」と「舵角」と「位置情報」は2バイトであり、0000からFFFFまでの値である。定義された、「チェックサム」と「カウンタ」は1バイトであり、00からFFまでの値である。定義された「車両状態」は、「00」の値の場合、「停車中」を示し、「01」の値の場合、「クルーズコントロールモード」を示し、「02」の値の場合、「日本、大阪府、大阪市」を示し、「03」の値の場合、「雨、20度」を示す。定義された「ワイパー」と「エアコン」は、「01」の値の場合、「稼働中」を示し、「00」の場合、「非稼働」を示す。定義された「シフト」は、「00」の値の場合、「パーキング」を示し、「01」の値の場合、「ドライブ」を示す。ここで、「クルーズコントロールモード」とは、車両200の前方の車両に追従して、車両200を自動走行させるモードである。
 車両状態抽出部120は、車両ログと車両ログ定義テーブルを参照することで、例えば、カウンタとチェックサムと車両状態が車両ログのどこに格納されているかを確認できる。
 [車両ログ加工ルール]
 次に車両ログ加工ルールについて説明する。車両ログ加工ルールは、差分ログ生成部150が車両ログから加工済み車両ログを生成する際にどのようなルールで生成したかを示すルールである。車両ログ加工ルールは、差分ログ生成部150が車両ログから加工済み車両ログを生成する際に生成される。
 図6は、本開示の実施の形態1における差分ログ生成部150が使用する車両ログ加工ルールの一例を示す図である。図6において、車両ログ加工ルールは、加工項目と、加工有無と、加工前の値と、加工後の値との組で構成される。
 加工項目は、「時刻インデックス」、「IDソート(昇順)」、「データソート(昇順)」および「データ置換」のいずれかである。車両ログ加工ルールは、上から順に車両ログを加工するルールを示している。
 「時刻インデックス」は、車両ログの時刻をインデックス情報に置換する処理のルールを表す。例えば、図6では、時刻インデックスは、IDごとの時刻に対して通し番号(T11、T12、・・・、T54)を割り振るルールを示している。
 「IDソート(昇順)」は、IDが小さい順番に並び替えられるように車両ログを加工する処理のルールを表す。なお、図6では、一例として「IDソート(昇順)」を示しているが、IDが大きい順番に並べ替えられる場合は、「IDソート(降順)」と表される。
 「データソート(昇順)」は、同一のIDの中で特定のバイト、例えば、4バイト目のデータが小さい順番に並び替えられるように車両ログを加工する処理のルールを表す。なお、図6では、一例として「データソート(昇順)」を示しているが、同一のIDの中で特定のバイトのデータを大きい順番に並べ替えられる場合は、「データソート(降順)」と表される。
 「データ置換」は、車両ログ定義テーブルに記載されている特定のデータ種別(例えばカウンタおよびチェックサム)に該当するデータ領域のすべてを特定の値(例えば00)に置換する処理のルールを表す。
 次に、加工有無は、「有効」および「無効」のいずれかであり、対応する加工項目のルールを実施したか否かを示す。対応する加工項目のルールが実施された場合、加工有無は「有効」となり、対応する加工項目のルールが実施されなかった場合、加工有無は「無効」となる。
 加工前の値は、対応する加工項目において車両ログの元の値であり、加工後の値は、対応する加工項目において車両ログの加工後の値(つまり加工済み車両ログにおける値)を示す。
 図6において、加工項目「時刻インデックス」は、加工有無が「有効」である。加工前の値「10:10:10」に対し、加工後の値「T11」であり、加工前の値「10:10:20」に対して、加工後の値「T12」と続く。
 図6において、加工項目「IDソート(昇順)」および「データソート(昇順)」は、加工有無が「有効」である。加工前の値と加工後の値は「-」となっており、「-」は値を置換しないルールであることを示す。「IDソート(昇順)」および「データソート(昇順)」では、データは並び変えられるが、データの値自体は置換されないためである。
 また、加工項目「データ置換」は、加工有無が「有効」であり、加工前の値は「カウンタ」および「チェックサム」の値を示しており、加工後の「カウンタ」および「チェックサム」の値を「00」に置換するルールを表す。
 車両ログ送信装置10と車両ログ解析サーバ20との間で車両ログ加工ルールを共有することで、車両ログ送信装置10で加工された加工済み車両ログを車両ログ解析サーバ20で元の車両ログに戻すことができる。なお、予め定められたルールを用いて加工済み車両ログが生成され、当該予め定められたルールを用いて差分生成用ログが生成される場合に、当該予め定められたルールを車両ログ送信装置10と車両ログ解析サーバ20とが予め保有しているときには、車両ログ加工ルールとして少なくとも時刻情報とインデックス情報との対応関係を示す時刻リストが車両ログ送信装置10から車両ログ解析サーバ20へ送信されればよい。車両ログ解析サーバ20は、時刻情報以外の情報については、予め定められたルールを用いて復元することができるためである。
 [加工済み車両ログ]
 図7は、本開示の実施の形態1における差分ログ生成部150が生成する加工済み車両ログの一例を示す図である。図7は、図4で説明した車両ログを図6の車両ログ加工ルールで加工したときの加工済み車両ログの一例である。図7において、加工済み車両ログは、車両ログと同様に、時刻と、IDと、8バイトのデータとの組で構成される。
 図7において、加工済み車両ログの時刻は、図6における車両ログ加工ルールでの「時刻インデックス」によるルールに従って、時刻インデックス(T11、T12、・・・、T54)に置換されている。例えば、時刻「T11」は、時刻「10:10:10」を置換したときの時刻インデックスである。
 さらに、加工済み車両ログでは、IDが小さい順にソートされている。
 加工済み車両ログのIDが「ID3」で時刻「T53」、「T13」、「T23」の行における4バイト目のデータの値はそれぞれ「10」、「20」、「30」であり、図6における車両ログ加工ルールでの「データソート(昇順)」によるルールに従って、同一IDの4バイト目のデータが小さい順にソートされている。
 加工済み車両ログの1バイト目は、図5の車両ログ定義テーブルによると、「カウンタ」であり、図6における車両ログ加工ルールでの「データ置換」によるルールに従って、データの値は全て「00」に置換されている。
 以上のように、加工済み車両ログでは、時刻、カウンタ、チェックサム、イベント発生時間などの車両ログが発生する度に変わる可能性の高い値をインデックス化され、または「00」などに置換される。なお、加工済み車両ログでは、センサなどの細かい値などを丸める端数処理がされてもよい。
 [差分生成用ログ]
 次に、差分生成用ログについて説明する。差分生成用ログは、車両状態ごとに取り得るIDとIDに対応するデータとの組で構成される。差分生成用ログでは、IDごと、かつ、車両状態ごとに、車両ログと同じデータ値になる可能性の高い値が設定される。
 例えば、車両状態が「停車中」の場合、車両200の速度は、0km、シフトの状態はパーキングである可能性が高い。
 また、車両状態が「クルーズコントロールモード」の場合、車両200が高速道路を走行中にこのモードに設定されることが多いので、速度は、所定速度以上の高速、シフトの状態はドライブである可能性が高い。
 さらに、車両状態が「日本、大阪府、大阪市」の場合、車両200の位置が、市街地で歩行者が多いので、車両200の速度は、所定速度以下の低速である可能性が高い。
 車両状態が「雨、20度」の場合、車両200は、ワイパーが稼働中、エアコンが非稼働である可能性が高い。
 図8は、本開示の実施の形態1における差分生成用ログ保存部130が記憶する差分生成用ログの一例を示す図である。図8において、差分生成用ログは車両状態ごとに番号が付与されており、IDと8バイトのデータとの組で構成される。差分生成用ログの各バイトのデータ値が何を示しているかについては、車両ログと同様、車両ログ定義テーブルを参照する。
 図8において、差分生成用ログの番号「1」は、車両状態が「停車中」の差分生成用ログであり、2つ目の組は、IDが「ID2」、1バイト目のカウンタの値が「00」、2バイト目のチェックサムの値が「00」、3バイト目と4バイト目の速度の値が「00」、「00」であり、5バイト目のシフトの値が「パーキング」を示す「00」である。
 差分生成用ログの番号「2」は、車両状態が「クルーズコントロールモード」の差分生成用ログであり、2つ目の組は、IDは「ID2」、1バイト目のカウンタの値が「00」、2バイト目のチェックサムの値が「00」、3バイト目と4バイト目の速度の値が「20」、「10」であり、5バイト目のシフトの値が「ドライブ」を示す「01」である。
 差分生成用ログの番号「3」は、車両状態が「日本、大阪府、大阪市」の差分生成用ログであり、4つ目の組は、IDが「ID4」、1バイト目のカウンタの値が「00」、2バイト目の車両状態の値が「日本、大阪府、大阪市」を表す「02」であり、3バイト目と4バイト目の位置情報の値が「87」と「34」であり、5バイト目のワイパーの値が非稼働を表す「00」であり、6バイト目のエアコンの値が非稼働を表す「00」である。
 差分生成用ログの番号「4」は、車両状態が「雨、20度」の差分生成用ログであり、4つ目の組は、IDが「ID4」、1バイト目のカウンタの値は「00」、2バイト目の車両状態の値が「雨、20度」を表す「03」であり、3バイト目と4バイト目の位置情報の値が「00」と「00」であり、5バイト目のワイパーの値が稼働を表す「01」であり、6バイト目のエアコンの値が非稼働を表す「00」である。
 [差分ログ]
 次に差分ログの詳細について説明する。差分ログ生成部150は、差分生成用ログを用いて、加工済み車両ログから差分ログを生成する。差分ログは、差分生成用ログとの差が小さくなるように生成される。差分が小さくなるほど、差分ログのデータ圧縮率が高く、通信量を削減可能になるからである。差分ログの生成には、車両200の車両状態に基づいて、対応する車両状態の差分生成用ログが用いられる。
 図9は、本開示の実施の形態1における差分ログ生成部150が生成する差分ログの一例を示した図である。
 図9において、差分ログは、加工済み車両ログと同様に、時刻と、IDと、8バイトのデータとの組で構成される。図9において差分ログは、図7の加工済み車両ログと図8の差分生成用ログとを用いて生成した差分ログである。図7において、加工済み車両ログのIDが「ID4」の2バイト目の車両状態は、クルーズコントロールモードを示す「01」である。従って、差分ログの生成に、差分生成用ログの番号が「2」のクルーズコントロールモードの差分生成ログが用いられる。
 差分ログは、加工済み車両ログのIDに対応する1バイトごとの値と、IDの値が同じ差分生成用ログのデータの1バイトごとの値とを用いて、排他的論理和を算出した結果である。
 このように、差分ログの生成に、排他的論理和を用いるのは、車両ログ解析サーバ20側で、差分ログと差分生成用ログとを用いて加工済み車両ログを復元する際に、車両ログ解析サーバ20も、差分ログのIDに対応する1バイトごとの値と、差分生成用ログのデータの1バイトごとの値とを用いて、排他的論理和を算出するためである。
 図9において、差分ログの時刻「T11」のID「ID1」の、1バイト目から8バイト目までのデータは「00」である。図7の加工済み車両ログの時刻「T11」のID「ID1」の、1バイト目が「00」、2バイト目が「50」、3バイト目が「40」、4バイト目から8バイト目が「30」であり、図8の差分生成用ログの番号「2」の差分生成用ログの、ID「ID1」の、1バイト目が「00」であり、2バイト目が「50」、3バイト目が「40」、4バイト目から8バイト目が「30」であるため、これらの値の排他的論理和をとった結果の値が、1バイト目から8バイト目まで「00」になる。
 差分ログの時刻「T11」のID「ID1」の1バイト目から8バイト目までが「00」であり、差分生成用ログの番号「2」の差分生成用ログの、ID「ID1」の1バイト目が「00」、2バイト目が「50」、3バイト目が「40」、4バイト目から8バイト目が「30」であり、差分ログと差分生成用ログとにおけるこれらの値の排他的論理和をとった結果の値が、加工済み車両ログの時刻「T11」のIDが「ID1」の1バイト目が「00」、2バイト目が「50」、3バイト目が「40」、4バイト目から8バイト目が「30」となり、差分ログから加工済み車両ログを復元できる。
 図9において、差分ログの時刻「T22」のID「ID2」の、1バイト目から3バイト目、5バイト目から8バイト目までのデータは「00」であり、4バイト目のみ「10」である。図7の加工済み車両ログの時刻「T22」のID「ID2」の、1バイト目と2バイト目と6バイト目から8バイト目が「00」であり、速度を表す3バイト目と4バイト目が「20」、「00」であり、シフトを表す5バイト目が「01」であり、図8の差分生成用ログの番号「2」の差分生成用ログの、ID「ID2」の、1バイト目と2バイト目と6バイト目から8バイト目が「00」であり、3バイト目と4バイト目が「20」「10」であり、5バイト目が「01」であるため、これらの値の排他的論理和をとった結果の値が、1バイト目から3バイト目、5バイト目から8バイト目が「00」になり、4バイト目が「10」になる。
 差分ログの時刻「T22」のID「ID2」の1バイト目から3バイト目、5バイト目から8バイト目が「00」、4バイト目が「10」であり、差分生成用ログの番号「2」の差分生成用ログのID「ID2」の、1バイト目と2バイト目と6バイト目から8バイト目が「00」、3バイト目と4バイト目が「20」、「10」、5バイト目が「01」であり、差分ログと差分生成用ログとにおけるこれらの値の排他的論理和をとった結果の値が、加工済み車両ログの時刻「T22」のID「ID2」の1バイト目から3バイト目、5バイト目から8バイト目まで「00」となり、4バイト目「10」となり、差分ログから加工済み車両ログを復元できる。
 [差分ログの送信処理のシーケンス]
 次に、車両ログ送信装置10が、差分ログを生成して送信する処理について説明する。
 図10は、本開示の実施の形態1における車両ログ送信装置10が差分ログを生成して送信する処理シーケンスを示す図である。
 (S1001)車両ログ送信装置10の車両ログ取得部110は、車両ログを取得し、車両状態抽出部120へ車両ログを通知する。
 (S1002)車両状態抽出部120は、車両ログを受領し、車両ログ定義テーブルを参照して車両ログから車両状態を抽出する。
 (S1003)車両状態抽出部120は、差分生成用ログ選択部140へ抽出した車両状態を通知する。
 (S1004)差分生成用ログ選択部140は、車両状態を受領する。
 (S1005)差分生成用ログ選択部140は、受領した車両状態に対応する差分生成用ログを選択し、差分ログ生成部150へ選択した差分生成用ログの番号を通知する。
 (S1006)差分ログ生成部150は、差分生成用ログの番号を受領し、差分生成用ログ保存部130から差分生成用ログの番号に対応する差分生成用ログを取得する。
 (S1007)車両ログ取得部110は、差分ログ生成部150へ車両ログを通知する。
 (S1008)差分ログ生成部150は、通知された車両ログを受領する。
 (S1009)差分ログ生成部150は、受領した車両ログから加工済み車両ログを生成する。加工済み車両ログを生成する際に用いたルールを車両ログ加工ルールとする。さらに、差分ログ生成部150は、加工済み車両ログと差分生成用ログとを用いて差分ログを生成し、差分ログ送信部160へ差分ログと差分生成用ログの番号と車両ログ加工ルールを通知する。
 (S1010)差分ログ送信部160は、通知された差分ログと差分生成用ログ番号と車両ログ加工ルールを受領する。
 (S1011)差分ログ送信部160は、受領した差分ログを圧縮し、車両ログ解析サーバ20へ圧縮した差分ログと差分生成用ログ番号と車両ログ加工ルールを送信する。
 [差分ログの受信処理のシーケンス]
 次に、車両ログ解析サーバ20が、差分ログを受信し、異常検知処理を実施する処理について説明する。
 図11は、本開示の実施の形態1における車両ログ解析サーバ20が差分ログを受信する処理シーケンスを示す図である。
 (S1102)差分ログ受信部210は、圧縮された差分ログと差分生成用ログ番号と車両ログ加工ルールを受信し、圧縮された差分ログを伸長し、車両ログ復元部230へ伸長した差分ログと差分生成用ログ番号と車両ログ加工ルールを通知する。
 (S1103)車両ログ復元部230は、通知された差分ログと差分生成用ログ番号と車両ログ加工ルールを受領し、復元用ログ保存部220から差分生成用ログの番号と対応する差分生成用ログを取得する。
 (S1104)車両ログ復元部230は、差分ログと差分生成用ログとから車両ログを復元して車両ログ保存部240に記憶し、異常ログ検出部250へ車両ログを通知する。
 (S1105)異常ログ検出部250は、通知された車両ログを受領する。
 (S1106)異常ログ検出部250は、受領した車両ログに異常が含まれるか否かを検知し、車両ログに異常が含まれる場合に、異常通知部260へ異常であることを通知する。
 (S1107)異常通知部260は、通知された異常を受領し、車両ログ解析サーバ20の利用者または、異常な車両ログを発生した車両200のドライバーへ異常を通知する。
 [加工済み車両ログ生成処理のフローチャート]
 次に、差分ログ生成部150による、ルールに従って車両ログから加工済み車両ログを生成する処理について説明する。当該ルールは、例えば車両ログ解析システム100のユーザまたは車両200のユーザ等による設定である。
 図12は、本開示の実施の形態1における差分ログ生成部150の加工済み車両ログ生成処理のフローチャートを示す。
 (S1201)差分ログ生成部150は、車両ログ取得部110から車両ログを取得する。
 (S1202)差分ログ生成部150は、車両ログの「時刻」を加工するか否かをルールに応じて判断する。差分ログ生成部150は、車両ログの「時刻」を加工すると判断する場合(YESの場合)、ステップS1203の処理を実施する。差分ログ生成部150は、車両ログの「時刻」を加工しないと判断する場合(NOの場合)、加工項目「時刻インデックス」、加工有無「無効」として車両ログ加工ルールを生成する。次に、差分ログ生成部150は、ステップS1205の処理を実施する。
 (S1203)差分ログ生成部150は、加工項目「時刻インデックス」、加工有無「有効」とし、車両ログの時刻を加工前の値とし、時刻インデックスの通し番号を加工後の値として時刻リストを生成する。
 差分ログ生成部150が、車両ログの「時刻」を加工すると判断する場合とは、例えば、上記ルールが車両ログの「時刻」を加工するというルール(設定)になっていることを意味する。また、差分ログ生成部150が、車両ログの「時刻」を加工しないと判断する場合とは、例えば、上記ルールが車両ログの「時刻」を加工しないというルール(設定)になっていることを意味する。ステップS1203で生成される車両ログ加工ルールは、図6における「時刻インデックス」の行に対応し、当該車両ログ加工ルールは、時刻情報とインデックス情報との対応関係を示す時刻リストの一例である。当該時刻リストによって、例えば、時刻「10:10:10」と時刻インデックス「T11」とが対応していることがわかる。
 (S1204)差分ログ生成部150は、時刻リストにおける加工前の値と加工後の値とを参照し、車両ログの時刻を加工後の値である時刻インデックスの通し番号に置換する。
 (S1205)差分ログ生成部150は、車両ログの「ID」を小さい順にソートするか否かをルールに応じて判断する。差分ログ生成部150は、車両ログの「ID」をソートすると判断する場合(YESの場合)、加工項目「IDソート(昇順)」、加工有無「有効」、加工前の値「-」、加工後の値「-」として車両ログ加工ルールを生成する。次に、差分ログ生成部150は、ステップS1206の処理を実施する。差分ログ生成部150は、車両ログの「ID」をソートしないと判断する場合(NOの場合)、加工項目「IDソート(昇順)」、加工有無「無効」として車両ログ加工ルールを生成する。次に、差分ログ生成部150は、ステップS1207の処理を実施する。
 差分ログ生成部150が、車両ログの「ID」をソートすると判断する場合とは、例えば、上記ルールが車両ログの「ID」をソートするというルール(設定)になっていることを意味する。また、差分ログ生成部150が、車両ログの「ID」をソートしないと判断する場合とは、例えば、上記ルールが車両ログの「ID」をソートしないというルール(設定)になっていることを意味する。ステップS1205での判断の後に生成される車両ログ加工ルールは、図6における「IDソート(昇順)」の行に対応する。
 (S1206)差分ログ生成部150は、車両ログのIDが小さい順に並び替える。
 (S1207)差分ログ生成部150は、車両ログの「データ」を小さい順にソートするか否かをルールに応じて判断する。差分ログ生成部150は、車両ログの「データ」をソートすると判断する場合(YESの場合)、加工項目「データソート(昇順)」、加工有無「有効」、加工前の値「-」、加工後の値「-」として車両ログ加工ルールを生成する。次に、差分ログ生成部150は、ステップS1208の処理を実施する。差分ログ生成部150は、車両ログの「データ」をソートしないと判断する場合(NOの場合)、加工項目「データソート(昇順)」、加工有無「無効」として車両ログ加工ルールを生成する。次に、差分ログ生成部150は、ステップS1209の処理を実施する。
 差分ログ生成部150が、車両ログの「データ」をソートすると判断する場合とは、例えば、上記ルールが車両ログの「データ」をソートするというルール(設定)になっていることを意味する。また、差分ログ生成部150が、車両ログの「データ」をソートしないと判断する場合とは、例えば、上記ルールが車両ログの「データ」をソートしないというルール(設定)になっていることを意味する。ステップS1207での判断の後に生成される車両ログ加工ルールは、図6における「データソート(昇順)」の行に対応する。
 (S1208)差分ログ生成部150は、車両ログのデータを小さい順に並び替える。
 (S1209)差分ログ生成部150は、車両ログの所定の「データ」を加工するか否かをルールに応じて判断する。差分ログ生成部150は、車両ログの所定の「データ」を加工すると判断する場合(YESの場合)、加工項目「データ置換」、加工有無「有効」、加工前の値「カウンタ」、加工後の値「00」、加工前の値「チェックサム」、加工後の値「00」として車両ログ加工ルールを生成する。次に、差分ログ生成部150は、ステップS1210の処理を実施する、差分ログ生成部150は、車両ログの所定の「データ」を加工しないと判断する場合(NOの場合)、加工項目「データ置換」、加工有無「無効」として車両ログ加工ルールを生成する。次に、差分ログ生成部150は、ステップS1211の処理を実施する。
 差分ログ生成部150が、車両ログの所定の「データ」を加工すると判断する場合とは、例えば、上記ルールが車両ログの所定の「データ」を加工するというルール(設定)になっていることを意味する。また、差分ログ生成部150が、車両ログの所定の「データ」を加工しないと判断する場合とは、例えば、上記ルールが車両ログの所定の「データ」を加工しないというルール(設定)になっていることを意味する。ステップS1209での判断の後に生成される車両ログ加工ルールは、図6における「データ置換」の行に対応する。
 (S1210)差分ログ生成部150は、車両ログのカウンタの値を「00」に、チェックサムの値を「00」に置換する。
 (S1211)差分ログ生成部150は、車両ログを加工した加工済み車両ログを記憶する。
 [差分ログ生成処理のフローチャート]
 次に、車両ログ送信装置10による、差分生成用ログを用いて加工済み車両ログから差分ログを生成する処理について説明する。図13は、本開示の実施の形態1における車両ログ送信装置10の差分ログ生成処理のフローチャートを示す。
 (S1301)車両ログ送信装置10の車両状態抽出部120は、取得した車両ログから車両状態を取得する。車両状態抽出部120は、取得した車両状態を差分生成用ログ選択部140に通知する。
 (S1302)差分生成用ログ選択部140は、通知された車両状態が何であるかを判断する。差分生成用ログ選択部140は、車両状態が「停車中」である場合はステップS1303の処理を実施し、車両状態が「クルーズコントロールモード」である場合はステップS1304を実施し、車両状態が「日本、大阪府、大阪市」である場合はステップS1305を実施し、車両状態が「雨、20度」である場合はステップS1306を実施する。
 (S1303)差分生成用ログ選択部140は、差分生成用ログ保存部130から、差分生成用ログの番号が「1」の「停車中」の差分生成用ログを選択する。差分生成用ログ選択部140は、選択した差分生成用ログの番号を差分ログ生成部150へ通知する。
 (S1304)差分生成用ログ選択部140は、差分生成用ログ保存部130から、差分生成用ログの番号が「2」の「クルーズコントロールモード」の差分生成用ログを選択する。差分生成用ログ選択部140は、選択した差分生成用ログの番号を差分ログ生成部150へ通知する。
 (S1305)差分生成用ログ選択部140は、差分生成用ログ保存部130から、差分生成用ログの番号が「3」の「日本、大阪府、大阪市」の差分生成用ログを選択する。差分生成用ログ選択部140は、選択した差分生成用ログの番号を差分ログ生成部150へ通知する。
 (S1306)差分生成用ログ選択部140は、差分生成用ログ保存部130から、差分生成用ログの番号が「4」の「雨、20度」の差分生成用ログを選択する。差分生成用ログ選択部140は、選択した差分生成用ログの番号を差分ログ生成部150へ通知する。
 (S1307)差分ログ生成部150は、車両ログを加工して加工済み車両ログを生成し、加工済み車両ログと通知された差分生成用ログの番号に対応する差分生成用ログとの差分をIDごとに算出して差分ログを生成する。
 [車両ログ復元処理のフローチャート]
 次に、車両ログ解析サーバ20による車両ログ送信装置10から送信された差分ログを車両ログに復元する処理について説明する。
 図14は、本開示の実施の形態1における車両ログ復元部230の車両ログ復元処理のフローチャートを示す。
 (S1401)車両ログ復元部230は、差分ログ受信部210から差分ログと、車両ログ加工ルールを取得し、さらに、復元用ログ保存部220から差分生成用ログを取得する。
 (S1402)車両ログ復元部230は、差分ログと差分生成用ログとの排他的論理和を計算し、加工済み車両ログを復元する。
 (S1403)車両ログ復元部230は、車両ログ加工ルールの加工項目「時刻インデックス」の加工有無が「有効」であるか否かを判定する。車両ログ復元部230は、「有効」であると判断する場合(YESの場合)、ステップS1404の処理を実施し、「有効」でないと判断する場合(NOの場合)、ステップS1405の処理を実施する。
 (S1404)車両ログ復元部230は、加工済み車両ログの時刻(時刻インデックス)が、車両ログ加工ルールの加工項目「時刻インデックス」の加工後の値と一致すれば、加工済み車両ログの時刻を車両ログ加工ルールの加工項目「時刻インデックス」の加工前の値に置き換える。
 (S1405)車両ログ復元部230は、加工済み車両ログの時刻の早い順番に並び替える。
 (S1406)車両ログ復元部230は、ステップS1403からステップS1405での処理がなされた後の加工済み車両ログを車両ログとして記憶する。
 (他の実施の形態)
 以上のように、本開示に係る技術の例示として実施の形態1を説明した。しかしながら、本開示に係る技術は、これに限定されず、適宜、変更、置き換え、付加、省略等を行った実施の形態にも適用可能である。例えば、以下のような変形例も本開示の一実施態様に含まれる。
 (1)上記実施の形態では、自動車等の車両に対するセキュリティ対策として説明したが、本開示の適用範囲はこれに限られない。本開示は、自動車に限らず、建機、農機、船舶、鉄道、飛行機などのモビリティにも適用してもよい。
 (2)上記の実施の形態では、車両ログ解析サーバ20は異常ログ検出部250と異常通知部260を備えると説明したが、異常ログ検出部250と異常通知部260は必須の構成要素ではない。車両ログ解析サーバ20が異常ログ検出部250と異常通知部260を備えない場合、例えば、収集した車両ログは人手によって解析され、攻撃の痕跡があった場合に異常として検出されてもよい。
 (3)上記の実施の形態では、車両ログ送信装置10は、車両内に設置されているとして説明したが、車両ログ送信装置10は、複数の車両ログを取りまとめて送信するエッジサーバであってもよいし、車両ログを収集しているクラウドサーバであってもよい。
 (4)上記の実施の形態では、車両ログは、ECUのシステム動作ログまたは、CAN、CAN-FD、Ethernet、FlexRayに従うネットワークログであるとして説明したが、ECUはIVI(In-Vehicle Infotaiment System)をであってもよいし、センサ装置であってもよいし、ネットワークはLINやMOSTであってもよいし、それぞれを組み合わせた構成であってもよい。
 (5)上記の実施の形態では、差分ログ生成部150は、排他的論理和を用いて差分ログを算出するとして説明したが、Binary Diffなど他の差分生成アルゴリズムを用いて差分ログを算出してもよい。
 (6)上記の実施の形態では、差分ログ生成部150は、車両ログのうちのデータの領域について、差分生成用ログとの差分を、排他的論理和を用いて算出するとして説明したが、車両ログのうちのIDの領域についても差分生成用ログとの差分を、排他的論理和を用いて算出してもよい。IDの領域の差分も排他的論理和を用いて算出する場合、車両ログ復元部230が、IDを識別できなくなる。そのため、差分ログ生成部150は車両ログ加工ルールに含まれる時刻インデックスにIDを識別可能な情報を追加し、車両ログ復元部230は時刻インデックスを参照することで、IDを識別して車両ログを復元できる。これにより、車両ログと差分生成用ログとの間の差分をより小さくすることができる。
 (7)上記の実施の形態では、差分ログ送信部160は、差分ログを、LHAやZIPなどの圧縮アルゴリズムを用いて圧縮するとして説明したが、7z、RAR、AFA、CAB、GCA、DGCA、StuffIt、Compact Pro、pack、compress、bzip、bzip2またはZstandardなど他の圧縮アルゴリズムを用いて圧縮してもよい。
 (8)上記の実施の形態では、差分ログ生成部150は、排他的論理和を計算するために差分生成用ログを用いるとして説明したが、圧縮アルゴリズムで用いる圧縮辞書として差分生成用ログを利用してもよい。圧縮辞書として差分生成用ログを利用する場合、差分ログ生成部150は、車両ログと差分生成用ログとの差分を必ずしも算出する必要はなく、車両状態に応じて、より圧縮できる可能性の高い圧縮辞書を選択して用いることができる。
 一般に、圧縮辞書として圧縮対象のデータと類似したデータを用いることで圧縮率が向上することが知られている。例えば、圧縮辞書に含まれるデータをNバイトに分割し、Nバイトごとの分割データと分割データの識別子とを対応付ける場合、圧縮対象のデータをNバイトに分割し、圧縮対象の分割データが圧縮辞書の分割データと一致する場合に、分割データの識別子に置き換えることができる。
 つまり、類似したデータであれば、分割データの多くを識別子に置き換えることができるため、効率的なデータ圧縮が可能となる。
 (9)上記の実施の形態では、差分生成用ログは、車両ログ送信装置10と車両ログ解析サーバ20との間で事前に共有されているとして説明したが、差分生成用ログは、車両ログ送信装置10と車両ログ解析サーバ20との間で動的に共有されてもよい。例えば、車両ログ送信装置10から車両ログ解析サーバ20へ送信された車両ログと当該送信時の車両状態とを、差分生成用ログとして、差分生成用ログ保存部130と復元用ログ保存部220が記憶してもよい。この場合、差分生成用ログ保存部130と復元用ログ保存部220は、差分生成用ログを必ずしもIDごとに記憶する必要はない。
 差分生成用ログをIDごとに記憶しない場合、差分ログ生成部150は、送信対象の加工済み車両ログと差分生成用ログの1行ごとの差分を先頭の行から順番に算出して差分ログを生成し、車両ログ復元部230は、差分ログと差分生成用ログの1行ごとの差分を先頭の行から順番に算出して車両ログを復元する。これにより、車両状態ごとに差分生成用ログを事前に設定することが不要になり、開発コストが抑えられる。
 また、差分生成用ログ保存部130と復元用ログ保存部220が差分生成用ログをIDごとに記憶しない場合、差分ログ生成部150は、送信対象の加工済み車両ログの行数またはデータサイズが同一になるように差分生成用ログの末尾の行から削除してもよい。この場合、車両ログ加工ルールの「加工項目」に「差分生成用ログ削除」、「加工有無」に「有効」、「加工前の値」に削除した行数またはデータサイズ、「加工後の値」に「-」が記載される。送信対象の加工済み車両ログと差分生成用ログの1行ごとの差分を先頭の行から順番に算出して差分ログを生成し、車両ログ復元部230は、車両ログ加工ルールを参照し、「差分生成用ログ削除」の「加工有無」が「有効」の場合に、差分生成用ログを末尾の行から行数またはデータサイズ分を削除し、差分ログと差分生成用ログの1行ごとの差分を先頭の行から順番に算出して車両ログを復元してもよい。
 また、差分生成用ログ保存部130と復元用ログ保存部220が差分生成用ログをIDごとに記憶しない場合、差分ログ生成部150は、差分生成用ログの先頭1行に含まれるIDが、送信対象の加工済み車両ログの先頭の1行に含まれるIDまたは所定のIDと同一になるように、差分生成用ログの先頭の行から削除してもよい。この場合、車両ログ加工ルールの「加工項目」に「差分生成用ログID合わせ」、「加工有無」に「有効」、「加工前の値」に削除した行数、「加工後の値」に「-」が記載される。送信対象の加工済み車両ログと差分生成用ログの1行ごとの差分を先頭の行から順番に算出して差分ログを生成し、車両ログ復元部230は、車両ログ加工ルールを参照し、「差分生成用ログID合わせ」の「加工有無」が「有効」の場合に、差分生成用ログの先頭の行から車両ログ加工ルールに記載された行数を削除し、差分ログと差分生成用ログの1行ごとの差分を先頭の行から順番に算出して車両ログを復元してもよい。
 また、差分生成用ログ保存部130と復元用ログ保存部220は、差分生成用ログをIDごとに動的に記憶してもよい。車両ログに同一IDを含む1行のログが複数含まれる場合、一のIDを含む1行のログ中で、最初の1行もしくはバイトごとの平均値、バイトごとの中央値、または、バイトごとの最頻出値を採用し、IDごとに記憶してもよい。
 (10)上記の実施の形態では、異常通知部260は、異常を車両ログ解析サーバ20の利用者またはドライバーへ通知するとして説明したが、通知先は、警察でもよいし、交通省でもよいし、脆弱性情報の共有機関でもよい。
 (11)上記の実施の形態では、加工済み車両ログは、時刻または時刻インデックスを含み、データは所定値に置換すると説明したが、異常ログ検出部250が異常なログを検出するために必要な情報に限定してもよい。例えば、異常ログ検出部250が、特定のデータ領域の値が所定値以上の場合に異常として検出する場合、時刻情報や詳細なデータは不要であり、時刻情報を削除またはデータを丸めるなどの処理を車両ログに施してもよい。また、異常ログ検出部250が機械学習を用いて、異常を検出する場合、機械学習で用いる時系列の差分情報などの特徴量を加工済み車両ログのデータとしてもよい。
 (12)上記の実施の形態では、車両ログ加工ルールは、差分ログ生成部150が車両ログから差分ログを生成する際に作成され、車両ログ送信装置10と車両ログ解析サーバ20の間で共有すると説明したが、車両ログ加工ルールの加工項目が「IDソート(昇順)」または「データソート(昇順)」、「データ置換」である行において、「加工有無」と「加工前の値」と「加工後の値」は差分ログ生成時ではなく、事前に共有されてもよい。ただし、加工項目が「時刻インデックス」である「加工前の値」と「加工後の値」は、事前に共有できないため、差分ログ生成部150が差分ログを生成する際に作成し、動的に車両ログ解析サーバ20へ共有される必要がある。
 (13)上記実施の形態における各装置を構成する構成要素の一部または全部は、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に置き換わる集積回路化の技術が登場すれば、当然、その技術を用いて機能ブロックの集積化を行っても良い。バイオ技術の適用等が可能性としてあり得る。
 (14)上記各装置を構成する構成要素の一部または全部は、各装置に脱着可能なICカードまたは単体のモジュールから構成されているとしても良い。ICカードまたはモジュールは、マイクロプロセッサ、ROM、RAM等から構成されるコンピュータシステムである。ICカードまたはモジュールは、上記の超多機能LSIを含むとしても良い。マイクロプロセッサが、コンピュータプログラムに従って動作することにより、ICカードまたはモジュールは、その機能を達成する。このICカードまたはこのモジュールは、耐タンパ性を有するとしてもよい。
 (15)また、本開示は、車両ログ送信装置10および車両ログ解析システム100として実現できるだけでなく、車両ログ解析システム100を構成する各要素が行う処理のステップを含む車両ログ送受信方法として実現できる。
 具体的には、車両ログ送信装置10による車両ログ送信方法と車両ログ解析サーバ20による車両ログ受信方法とから構成され、車両ログを車両ログ送信装置10から車両ログ解析サーバ20へ送信する車両ログ送受信方法であって、車両ログ送信装置10は、車両ログ送信装置10と車両ログ解析サーバ20との間で共有されている車両状態ごとの車両ログである差分生成用ログのリストを記憶する差分生成用ログ保存部130を備え、車両ログ解析サーバ20は、当該リストを記憶する復元用ログ保存部220を備え、車両ログ送信方法は、図10に示されるように、車両ログを取得する車両ログ取得ステップ(ステップS1001)と、取得された車両ログから車両状態を抽出する車両状態抽出ステップ(ステップS1002)と、抽出された車両状態に応じてリストから差分生成用ログを選択する差分生成用ログ選択ステップ(ステップS1005)と、取得された車両ログと選択された差分生成用ログとに基づいて差分ログを生成する差分ログ生成ステップ(ステップS1009)と、生成された差分ログと、選択された差分生成用ログに対応する差分生成用ログ識別子とを車両ログ解析サーバ20へ送信する差分ログ送信ステップ(ステップS1011)と、を含み、車両ログ受信方法は、図11に示されるように、差分ログ送信ステップにて送信された差分ログと差分生成用ログ識別子とを受信する差分ログ受信ステップ(ステップS1102)と、差分生成用ログ識別子とリストとから差分ログの生成に用いられた差分生成用ログを特定し、差分ログと特定された差分生成用ログとに基づいて車両ログを復元する車両ログ復元ステップ(ステップS1103、S1104)と、を含む。
 (16)本開示の一態様としては、車両ログ送受信方法をコンピュータにより実現するプログラム(コンピュータプログラム)であるとしても良いし、コンピュータプログラムからなるデジタル信号であるとしても良い。また、本開示の一態様としては、コンピュータプログラムまたはデジタル信号をコンピュータで読み取り可能な記録媒体、例えば、フレキシブルディスク、ハードディスク、CD-ROM、MO、DVD、DVD-ROM、DVD-RAM、BD(Blue―ray(登録商標) Disc)、半導体メモリ等に記録したものとしても良い。また、これらの記録媒体に記録されているデジタル信号であるとしても良い。また、本開示の一態様としては、コンピュータプログラムまたはデジタル信号を、電気通信回線、無線または有線通信回線、インターネットを代表とするネットワーク、データ放送等を経由して伝送するものとしても良い。また、本開示の一態様としては、マイクロプロセッサとメモリを備えたコンピュータシステムであって、メモリは、上記コンピュータプログラムを記録しており、マイクロプロセッサは、コンピュータプログラムに従って動作するとしても良い。また、プログラム若しくはデジタル信号を記録媒体に記録して移送することにより、または、プログラム若しくはデジタル信号を、ネットワーク等を経由して移送することにより、独立した他のコンピュータシステムにより実施するとしてもよい。
 (17)上記実施の形態および上記変形例で示した各構成要素および機能を任意に組み合わせることで実現される形態も本開示の範囲に含まれる。
 本開示の車載ネットワークシステムにおける車両ログ解析システムによれば、車両と車両の外部のサーバの間で送信される車両ログのデータ量を削減することができる。その結果、大量の車両ネットワークログの通信が可能な資源を準備せずとも、車両ネットワークログを外部のサーバへ送信することができ、車両の外部サーバを用いて車両のネットワークへの不正なデータの侵入を検出することができ、自動車の安全性に貢献できる。
 10 車両ログ送信装置
 20 車両ログ解析サーバ
 30a、30b、30c ECU
 40a センサ
 40b エンジン
 40c ステアリング
 50 外部ネットワーク
 60 車両ネットワーク
 100 車両ログ解析システム
 110 車両ログ取得部
 120 車両状態抽出部
 130 差分生成用ログ保存部
 140 差分生成用ログ選択部
 150 差分ログ生成部
 160 差分ログ送信部
 200 車両
 210 差分ログ受信部
 220 復元用ログ保存部
 230 車両ログ復元部
 240 車両ログ保存部
 250 異常ログ検出部
 260 異常通知部
 300 車両システム

Claims (20)

  1.  車両ログを車両ログ解析サーバへ送信する車両ログ送信装置であって、
     前記車両ログを取得する車両ログ取得部と、
     取得された前記車両ログから車両状態を抽出する車両状態抽出部と、
     前記車両ログ送信装置と前記車両ログ解析サーバとの間で共有されている車両状態ごとの車両ログである差分生成用ログのリストを記憶する差分生成用ログ保存部と、
     抽出された前記車両状態に応じて前記リストから差分生成用ログを選択する差分生成用ログ選択部と、
     取得された前記車両ログと選択された前記差分生成用ログとに基づいて差分ログを生成する差分ログ生成部と、
     生成された前記差分ログと、選択された前記差分生成用ログに対応する差分生成用ログ識別子とを前記車両ログ解析サーバへ送信する差分ログ送信部と、を備える、
     車両ログ送信装置。
  2.  前記差分生成用ログ保存部は、過去に前記車両ログ解析サーバへ送信された車両ログと、当該送信時の車両状態とが対応付けられた前記差分生成用ログの前記リストを記憶する、
     請求項1記載の車両ログ送信装置。
  3.  前記車両ログは、データの種類を示すIDがそれぞれ対応付けられている複数のデータを含み、
     前記差分生成用ログ保存部は、前記車両ログに含まれるIDごと、かつ、車両状態ごとの前記差分生成用ログの前記リストを記憶し、
     前記差分生成用ログ選択部は、抽出された前記車両状態に応じて前記リストからIDごとの前記差分生成用ログを選択し、
     前記差分ログ生成部は、取得された前記車両ログに含まれるIDのそれぞれについて、当該IDに対応付けられたデータと、当該IDに対応する選択された前記差分生成用ログとに基づいて前記差分ログを生成する、
     請求項1または2に記載の車両ログ送信装置。
  4.  前記車両ログは、データの種類を示すIDがそれぞれ対応付けられている複数のデータであって、所定のIDを起点とする複数のIDを1周期として当該複数のIDが周期的に繰り返されるように並べられた複数のデータを含み、
     前記差分生成用ログ選択部は、抽出された前記車両状態に応じて前記リストから前記所定のIDを起点とする前記複数のIDに対応する前記差分生成用ログを選択する、
     請求項1または2に記載の車両ログ送信装置。
  5.  前記差分生成用ログ保存部は、データの値を所定値に置換する置換処理またはデータの値を丸める端数処理が施された前記差分生成用ログの前記リストを記憶し、
     前記差分ログ生成部は、さらに、取得された前記車両ログに対して前記置換処理または前記端数処理を実施した後、前記差分ログを生成する、
     請求項1から4のいずれか1項に記載の車両ログ送信装置。
  6.  前記車両ログは、時刻情報がそれぞれ対応付けられている複数のデータを含み、
     前記差分生成用ログ保存部は、時刻情報をインデックス情報に置換する処理を施された前記差分生成用ログの前記リストを記憶し、
     前記差分ログ生成部は、さらに、取得された前記車両ログに含まれる時刻情報をインデックス情報に置換した後、前記差分ログを生成し、
     前記差分ログ送信部は、さらに、時刻情報とインデックス情報との対応関係を示す時刻リストを前記車両ログ解析サーバへ送信する、
     請求項1から5のいずれか1項に記載の車両ログ送信装置。
  7.  前記車両ログは、データの種類を示すIDがそれぞれ対応付けられている前記複数のデータを含み、
     前記差分生成用ログ保存部は、IDの値の大きさに応じて並び替えられ、同一IDについてはデータの大きさに応じて並び替えられた前記差分生成用ログの前記リストを記憶し、
     前記差分ログ生成部は、さらに、取得された前記車両ログについて、時刻情報をインデックス情報に置換し、IDの値の大きさに応じて並び替え、同一IDについてはデータの値の大きさに応じて並び替えた後、前記差分ログを生成する、
     請求項6記載の車両ログ送信装置。
  8.  前記差分ログ生成部は、データ圧縮辞書として選択された前記差分生成用ログを用いて、取得された前記車両ログを所定の圧縮アルゴリズムにて圧縮し、圧縮した前記車両ログを前記差分ログとして生成する、
     請求項1から7のいずれか1項に記載の車両ログ送信装置。
  9.  車両ログ送信装置と車両ログ解析サーバとから構成され、車両ログを前記車両ログ解析サーバから前記車両ログ解析サーバへ送信する車両ログ解析システムであって、
     前記車両ログ送信装置は、
     前記車両ログを取得する車両ログ取得部と、
     取得された前記車両ログから車両状態を抽出する車両状態抽出部と、
     前記車両ログ送信装置と前記車両ログ解析サーバとの間で共有されている車両状態ごとの車両ログである差分生成用ログのリストを記憶する差分生成用ログ保存部と、
     抽出された前記車両状態に応じて前記リストから差分生成用ログを選択する差分生成用ログ選択部と、
     取得された前記車両ログと選択された前記差分生成用ログとに基づいて差分ログを生成する差分ログ生成部と、
     生成された前記差分ログと、選択された前記差分生成用ログに対応する差分生成用ログ識別子とを前記車両ログ解析サーバへ送信する差分ログ送信部と、を備え、
     前記車両ログ解析サーバは、
     前記差分ログ送信部から送信された前記差分ログと前記差分生成用ログ識別子とを受信する差分ログ受信部と、
     前記リストを記憶する復元用ログ保存部と、
     前記差分生成用ログ識別子と前記リストとから前記差分ログの生成に用いられた前記差分生成用ログを特定し、前記差分ログと特定された前記差分生成用ログとに基づいて前記車両ログを復元する車両ログ復元部と、を備える、
     車両ログ解析システム。
  10.  前記差分生成用ログ保存部および前記復元用ログ保存部は、過去に前記車両ログ解析サーバへ送信された車両ログと、当該送信時の車両状態とが対応付けられた前記差分生成用ログの前記リストを記憶する、
     請求項9記載の車両ログ解析システム。
  11.  前記車両ログは、データの種類を示すIDがそれぞれ対応付けられている複数のデータを含み、
     前記差分生成用ログ保存部および前記復元用ログ保存部は、車両ログに含まれるIDごと、かつ、車両状態ごとの前記差分生成用ログの前記リストを記憶し、
     前記差分生成用ログ選択部は、抽出された前記車両状態に応じて前記リストからIDごとの前記差分生成用ログを選択し、
     前記差分ログ生成部は、取得された前記車両ログに含まれるIDのそれぞれについて、当該IDに対応付けられたデータと、当該IDに対応する選択された前記差分生成用ログとに基づいて前記差分ログを生成し、
     前記車両ログ復元部は、前記差分ログに含まれるIDのそれぞれについて、当該IDに対応付けられたデータと、当該IDに対応する特定された前記差分生成用ログとに基づいて前記車両ログを復元する、
     請求項9または10に記載の車両ログ解析システム。
  12.  前記車両ログは、データの種類を示すIDがそれぞれ対応付けられている複数のデータであって、所定のIDを起点とする複数のIDを1周期として当該複数のIDが周期的に繰り返されるように並べられた複数のデータを含み、
     前記差分生成用ログ選択部は、抽出された前記車両状態に応じて前記リストから前記所定のIDを起点とする複数のIDに対応する前記差分生成用ログを選択し、
     前記車両ログ復元部は、前記所定のIDを起点とする複数のIDに対応する前記差分生成用ログを特定し、前記差分ログと特定された前記差分生成用ログとに基づいて前記車両ログを復元する、
     請求項9または10に記載の車両ログ解析システム。
  13.  前記差分生成用ログ保存部および前記復元用ログ保存部は、データの値を所定値に置換する置換処理またはデータの値を丸める端数処理が施された前記差分生成用ログの前記リストを記憶し、
     前記差分ログ生成部は、さらに、取得された前記車両ログに対して前記置換処理または前記端数処理を実施した後、前記差分ログを生成する、
     請求項9から12のいずれか1項に記載の車両ログ解析システム。
  14.  前記車両ログは、時刻情報がそれぞれ対応付けられている複数のデータを含み、
     前記差分生成用ログ保存部および前記復元用ログ保存部は、時刻情報をインデックス情報に置換する処理を施された前記差分生成用ログの前記リストを記憶し、
     前記差分ログ生成部は、さらに、取得された前記車両ログに含まれる時刻情報をインデックス情報に置換した後、前記差分ログを生成し、
     前記差分ログ送信部は、さらに、時刻情報とインデックス情報との対応関係を示す時刻リストを前記車両ログ解析サーバへ送信し、
     車両ログ復元部は、さらに、送信された前記時刻リストを参照して、インデックス情報を時刻情報に置換して前記車両ログを復元する、
     請求項9から13のいずれか1項に記載の車両ログ解析システム。
  15.  前記車両ログは、データの種類を示すIDがそれぞれ対応付けられている前記複数のデータを含み、
     前記差分生成用ログ保存部および前記復元用ログ保存部は、IDの値の大きさに応じて並び替えられ、同一IDについてはデータの値の大きさに応じて並び替えられた前記差分生成用ログの前記リストを記憶し、
     前記差分ログ生成部は、さらに、取得された前記車両ログについて、時刻情報をインデックス情報に置換し、IDの値の大きさに応じて並び替え、同一IDについてはデータの値の大きさに応じて並び替えた後、前記差分ログを生成し、
     車両ログ復元部は、さらに、送信された前記時刻リストを参照して、インデックス情報を時刻情報に置換し、時刻の早い順番に並び替えて前記車両ログを復元する、
     請求項14記載の車両ログ解析システム。
  16.  前記差分ログ生成部は、データ圧縮辞書として選択された前記差分生成用ログを用いて、取得された前記車両ログを所定の圧縮アルゴリズムにて圧縮し、圧縮した前記車両ログを差分ログとして生成し、
     前記車両ログ復元部は、特定された前記差分生成用ログをデータ圧縮辞書として用いて、前記差分ログを所定の圧縮アルゴリズムにて伸長し、前記車両ログを復元する、
     請求項9から15のいずれか1項に記載の車両ログ解析システム。
  17.  前記車両状態抽出部は、前記車両ログに含まれる車両速度、運転支援モード、自動運転モード、走行位置、天候および気温のうち少なくとも1つを車両状態として抽出する、
     請求項9から16のいずれか1項に記載の車両ログ解析システム。
  18.  前記車両ログ取得部は、前記車両ログのIDとしてフレームIDを含むCANまたはCAN-FDプロトコルに従う車載ネットワークログと、前記車両ログのIDとしてスロットIDを含むFlexRay(登録商標)プロトコルに従う車載ネットワークログと、前記車両ログにIDとしてIPアドレスを含むEthernet(登録商標)プロトコルに従う車載ネットワークログと、前記車両ログにIDとしてプロセス番号を含むシステム動作ログとのうちの、少なくとも1つの前記車両ログを取得する、
     請求項9から17のいずれか1項に記載の車両ログ解析システム。
  19.  前記車両ログ解析サーバは、さらに、
     復元された前記車両ログを監視し、復元された前記車両ログに攻撃の痕跡が含まれる場合に異常として検出する異常ログ検出部と、
     所定の通知先に通知する異常通知部と、を備える、
     請求項9から18のいずれか1項に記載の車両ログ解析システム。
  20.  車両ログ送信装置による車両ログ送信方法と車両ログ解析サーバによる車両ログ受信方法とから構成され、車両ログを前記車両ログ送信装置から前記車両ログ解析サーバへ送信する車両ログ送受信方法であって、
     前記車両ログ送信装置は、車両ログ送信装置と車両ログ解析サーバとの間で共有されている車両状態ごとの車両ログである差分生成用ログのリストを記憶する差分生成用ログ保存部を備え、
     前記車両ログ解析サーバは、前記リストを記憶する復元用ログ保存部を備え、
     前記車両ログ送信方法は、
     前記車両ログを取得する車両ログ取得ステップと、
     取得された前記車両ログから車両状態を抽出する車両状態抽出ステップと、
     抽出された前記車両状態に応じて前記リストから差分生成用ログを選択する差分生成用ログ選択ステップと、
     取得された前記車両ログと選択された前記差分生成用ログとに基づいて差分ログを生成する差分ログ生成ステップと、
     生成された前記差分ログと、選択された前記差分生成用ログに対応する差分生成用ログ識別子とを前記車両ログ解析サーバへ送信する差分ログ送信ステップと、を含み、
     前記車両ログ受信方法は、
     前記差分ログ送信ステップにて送信された前記差分ログと前記差分生成用ログ識別子とを受信する差分ログ受信ステップと、
     前記差分生成用ログ識別子と前記リストとから前記差分ログの生成に用いられた前記差分生成用ログを特定し、前記差分ログと特定された前記差分生成用ログとに基づいて前記車両ログを復元する車両ログ復元ステップと、を含む、
     車両ログ送受信方法。
PCT/JP2019/035421 2018-11-30 2019-09-09 車両ログ送信装置、車両ログ解析システムおよび車両ログ送受信方法 Ceased WO2020110414A1 (ja)

Priority Applications (4)

Application Number Priority Date Filing Date Title
CN201980064428.3A CN112789601B (zh) 2018-11-30 2019-09-09 车辆日志发送装置、车辆日志分析系统以及车辆日志收发方法
EP19891624.9A EP3889783B1 (en) 2018-11-30 2019-09-09 Vehicle log transmission device, vehicle log analysis system, and vehicle log transmission/reception method
JP2020558111A JP7325441B2 (ja) 2018-11-30 2019-09-09 車両ログ送信装置、車両ログ解析システムおよび車両ログ送受信方法
US17/222,325 US12021886B2 (en) 2018-11-30 2021-04-05 Vehicle log transmission device, vehicle log analysis system, and vehicle log transmission/reception method

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
JP2018-224508 2018-11-30
JP2018224508 2018-11-30

Related Child Applications (1)

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

Publications (1)

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

Family

ID=70852796

Family Applications (1)

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

Country Status (5)

Country Link
US (1) US12021886B2 (ja)
EP (1) EP3889783B1 (ja)
JP (1) JP7325441B2 (ja)
CN (1) CN112789601B (ja)
WO (1) WO2020110414A1 (ja)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2022112318A (ja) * 2021-01-21 2022-08-02 トヨタ自動車株式会社 情報処理システム、通信端末、及び情報処理方法
CN115277780A (zh) * 2022-07-30 2022-11-01 重庆长安汽车股份有限公司 一种车端日志获取方法及装置、电子设备和计算机可读存储介质

Families Citing this family (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP3799364B1 (en) * 2018-05-23 2025-04-02 Panasonic Intellectual Property Corporation of America Communication control device, unauthorized access-detecting electronic control unit, mobility network system, communication control method, unauthorized access detection method and program
JP7088302B2 (ja) * 2018-10-02 2022-06-21 日本電気株式会社 通信情報統合システム、通信情報統合方法、通信情報統合装置、端末装置、及びプログラム
CN113227996B (zh) * 2018-12-04 2024-07-05 香港星辰科技有限公司 处理时间记录的方法和装置
CN113805798A (zh) * 2021-08-06 2021-12-17 卡斯柯信号有限公司 车载日志的空间优化存储方法、装置、电子设备及介质
CN113844505A (zh) * 2021-08-31 2021-12-28 通号城市轨道交通技术有限公司 列车日志处理方法及装置
DE102022002450A1 (de) * 2022-07-05 2024-01-11 Mercedes-Benz Group AG Verfahren zum Verarbeiten von Logdateien, Datenverarbeitungssystem und Fahrzeug
CN115422141A (zh) * 2022-08-31 2022-12-02 重庆长安汽车股份有限公司 一种日志持久化方法及系统
DE102022003682A1 (de) * 2022-10-05 2024-04-11 Mercedes-Benz Group AG Verfahren zur Kompression und Dekompression von Log-Dateien und informationstechnisches System
CN115884129A (zh) * 2022-11-28 2023-03-31 芜湖雄狮汽车科技有限公司 车辆终端的日志获取方法、装置、系统及存储介质
JP2025062920A (ja) * 2023-10-03 2025-04-15 トヨタ自動車株式会社 通信システム、制御装置、及び、通信方法

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS5342302B2 (ja) 1974-10-31 1978-11-10
JP2011113443A (ja) * 2009-11-30 2011-06-09 Mitsubishi Electric Corp ログ圧縮装置及びログ収集システム及びコンピュータプログラム及びログ圧縮方法
JP2014146868A (ja) 2013-01-28 2014-08-14 Hitachi Automotive Systems Ltd ネットワーク装置およびデータ送受信システム

Family Cites Families (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS5342302U (ja) 1976-09-16 1978-04-12
US7065137B2 (en) * 2002-01-24 2006-06-20 Hewlett-Packard Development Company, L.P. Difference messaging protocol that uses prior state information
US7869906B2 (en) * 2007-01-08 2011-01-11 Ford Global Technologies Wireless gateway apparatus and method of bridging data between vehicle based and external data networks
JP5342302B2 (ja) 2009-03-30 2013-11-13 株式会社日立ソリューションズ ファームウェア更新システム、ファームウェア配信サーバ、及びプログラム
JP5387495B2 (ja) 2010-04-27 2014-01-15 株式会社デンソー 車両用電子制御装置
CN102547786A (zh) * 2010-12-31 2012-07-04 上海博泰悦臻电子设备制造有限公司 车载设备3g流量分析方法和装置
US9092914B2 (en) * 2013-06-24 2015-07-28 Zf Friedrichshafen Ag Vehicle efficiency and defect recognition based on GPS location
CN107851056B (zh) * 2015-07-29 2021-03-23 日立汽车系统株式会社 车载控制装置、车载集成电路
JP6423402B2 (ja) * 2015-12-16 2018-11-14 パナソニック インテレクチュアル プロパティ コーポレーション オブ アメリカPanasonic Intellectual Property Corporation of America セキュリティ処理方法及びサーバ
JP6701030B2 (ja) * 2016-08-25 2020-05-27 クラリオン株式会社 車載装置、ログ収集システム
CN106407480B (zh) * 2016-11-29 2020-02-04 北京世纪高通科技有限公司 一种信息查询方法和系统
CN107613527B (zh) * 2017-09-12 2021-02-26 华为技术有限公司 消息处理方法、相关设备及系统
US11156462B2 (en) * 2019-05-31 2021-10-26 Honda Motor Co., Ltd. System and method for providing point of interest related notifications

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS5342302B2 (ja) 1974-10-31 1978-11-10
JP2011113443A (ja) * 2009-11-30 2011-06-09 Mitsubishi Electric Corp ログ圧縮装置及びログ収集システム及びコンピュータプログラム及びログ圧縮方法
JP2014146868A (ja) 2013-01-28 2014-08-14 Hitachi Automotive Systems Ltd ネットワーク装置およびデータ送受信システム

Non-Patent Citations (3)

* Cited by examiner, † Cited by third party
Title
COLIN PERCIVAL, BINARY DIFF/PATCH UTILITY, 6 November 2018 (2018-11-06), Retrieved from the Internet <URL:httpV/www.daemonology.net/bsdiff>
SASAKI, TAKAMITSU; TAKAHASHI, RYOTA; TSURUMI, JUNICHI; KISHIKAWA, TAKESHI; HAGA, TOMOYUKI; MATSUSHIMA, HIDEKI: " Monitoring Data Volume Reduction Method for Reducing Operating Cost of In-Vehicle 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 EP3889783A4

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2022112318A (ja) * 2021-01-21 2022-08-02 トヨタ自動車株式会社 情報処理システム、通信端末、及び情報処理方法
JP7593132B2 (ja) 2021-01-21 2024-12-03 トヨタ自動車株式会社 情報処理システム、通信端末、及び情報処理方法
CN115277780A (zh) * 2022-07-30 2022-11-01 重庆长安汽车股份有限公司 一种车端日志获取方法及装置、电子设备和计算机可读存储介质
CN115277780B (zh) * 2022-07-30 2023-11-14 重庆长安汽车股份有限公司 一种车端日志获取方法及装置、电子设备和存储介质

Also Published As

Publication number Publication date
EP3889783A1 (en) 2021-10-06
US12021886B2 (en) 2024-06-25
JPWO2020110414A1 (ja) 2021-10-21
EP3889783B1 (en) 2025-08-13
CN112789601B (zh) 2024-08-09
CN112789601A (zh) 2021-05-11
US20210226973A1 (en) 2021-07-22
JP7325441B2 (ja) 2023-08-14
EP3889783A4 (en) 2022-01-26

Similar Documents

Publication Publication Date Title
JP7325441B2 (ja) 車両ログ送信装置、車両ログ解析システムおよび車両ログ送受信方法
JP7269955B2 (ja) 車両ログ送信装置、車両ログ解析サーバおよび車両ログ解析システム
JP7619949B2 (ja) 車両ログ送信装置、車両ログ収集システム、車両ログ送信方法および保存優先度変更装置
CN109215170B (zh) 行车数据的存储方法、装置和设备
EP3787936B1 (en) Detecting abnormal events in vehicle operation based on machine learning analysis of messages transmitted over communication channels
US11689634B2 (en) Optimizing size of protocol communication in a vehicle internal networks
WO2019142458A1 (ja) 車両監視装置、不正検知サーバ、および、制御方法
JP7707180B2 (ja) 車両生成データを収集及び管理する方法及びシステム
WO2021062328A1 (en) Automated can message translator
WO2021240662A1 (ja) 異常検知装置、異常検知システムおよび異常検知方法
US11616862B2 (en) System and method for compressing controller area network (CAN) messages
WO2018179536A1 (ja) 情報処理装置、情報処理方法、プログラムとそれを記憶した記録媒体
CN104104584A (zh) 车辆信息提供系统
CN118511489A (zh) 异常检测装置以及异常检测方法
KR20180009900A (ko) 차량 데이터 처리 방법
KR20210152394A (ko) 차량 주변에 있는 하나 이상의 객체에 관한 객체 정보를 병합하기 위한 차량, 방법, 컴퓨터 프로그램 및 장치
Gazdag et al. Efficient lossless compression of CAN traffic logs
US20240320363A1 (en) Data security
CN117877135A (zh) 车辆数据采集方法、装置、电子设备及可读存储介质
KR102873120B1 (ko) 차량 생성 데이터를 수집 및 관리하는 방법 및 시스템
US11538293B2 (en) Preparation of vehicle bulk data for high speed terahertz offloading
JP7715063B2 (ja) 情報処理装置、及び、情報処理方法
CN115996253B (zh) 数据传输的方法、装置、计算机设备及存储介质
JP2025160562A (ja) ログ生成装置、センサモジュール、ログ生成モジュール、及び電子制御システム
Stabili et al. I Know Where You Have Been Last Summer: Extracting Privacy-Sensitive Information Via Forensic Analysis of Infotainment Systems

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

Country of ref document: EP

Kind code of ref document: A1

ENP Entry into the national phase

Ref document number: 2020558111

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

Country of ref document: EP

Effective date: 20210630

WWG Wipo information: grant in national office

Ref document number: 2019891624

Country of ref document: EP