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

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

Info

Publication number
JP7325441B2
JP7325441B2 JP2020558111A JP2020558111A JP7325441B2 JP 7325441 B2 JP7325441 B2 JP 7325441B2 JP 2020558111 A JP2020558111 A JP 2020558111A JP 2020558111 A JP2020558111 A JP 2020558111A JP 7325441 B2 JP7325441 B2 JP 7325441B2
Authority
JP
Japan
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.)
Active
Application number
JP2020558111A
Other languages
English (en)
Other versions
JPWO2020110414A1 (ja
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
Publication of JPWO2020110414A1 publication Critical patent/JPWO2020110414A1/ja
Application granted granted Critical
Publication of JP7325441B2 publication Critical patent/JP7325441B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

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
    • 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
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/30Monitoring
    • G06F11/3003Monitoring arrangements specially adapted to the computing system or computing system component being monitored
    • G06F11/3013Monitoring arrangements specially adapted to the computing system or computing system component being monitored where the computing system is an embedded system, i.e. a combination of hardware and software dedicated to perform a certain function in mobile devices, printers, automotive or aircraft systems
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/30Monitoring
    • G06F11/3065Monitoring arrangements determined by the means or processing involved in reporting the monitored data
    • G06F11/3072Monitoring arrangements determined by the means or processing involved in reporting the monitored data where the reporting involves data filtering, e.g. pattern matching, time or event triggered, adaptive or policy-based reporting
    • G06F11/3079Monitoring arrangements determined by the means or processing involved in reporting the monitored data where the reporting involves data filtering, e.g. pattern matching, time or event triggered, adaptive or policy-based reporting the data filtering being achieved by reporting only the changes of the monitored data
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F17/00Digital computing or data processing equipment or methods, specially adapted for specific functions
    • G06F17/40Data acquisition and logging
    • GPHYSICS
    • 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
    • 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

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)

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. 車両ログ送信装置による車両ログ送信方法と車両ログ解析サーバによる車両ログ受信方法とから構成され、車両ログを前記車両ログ送信装置から前記車両ログ解析サーバへ送信する車両ログ送受信方法であって、
    前記車両ログ送信装置は、車両ログ送信装置と車両ログ解析サーバとの間で共有されている車両状態ごとの車両ログである差分生成用ログのリストを記憶する差分生成用ログ保存部を備え、
    前記車両ログ解析サーバは、前記リストを記憶する復元用ログ保存部を備え、
    前記車両ログ送信方法は、
    前記車両ログを取得する車両ログ取得ステップと、
    取得された前記車両ログから車両状態を抽出する車両状態抽出ステップと、
    抽出された前記車両状態に応じて前記リストから差分生成用ログを選択する差分生成用ログ選択ステップと、
    取得された前記車両ログと選択された前記差分生成用ログとに基づいて差分ログを生成する差分ログ生成ステップと、
    生成された前記差分ログと、選択された前記差分生成用ログに対応する差分生成用ログ識別子とを前記車両ログ解析サーバへ送信する差分ログ送信ステップと、を含み、
    前記車両ログ受信方法は、
    前記差分ログ送信ステップにて送信された前記差分ログと前記差分生成用ログ識別子とを受信する差分ログ受信ステップと、
    前記差分生成用ログ識別子と前記リストとから前記差分ログの生成に用いられた前記差分生成用ログを特定し、前記差分ログと特定された前記差分生成用ログとに基づいて前記車両ログを復元する車両ログ復元ステップと、を含む、
    車両ログ送受信方法。
JP2020558111A 2018-11-30 2019-09-09 車両ログ送信装置、車両ログ解析システムおよび車両ログ送受信方法 Active JP7325441B2 (ja)

Applications Claiming Priority (3)

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

Publications (2)

Publication Number Publication Date
JPWO2020110414A1 JPWO2020110414A1 (ja) 2021-10-21
JP7325441B2 true JP7325441B2 (ja) 2023-08-14

Family

ID=70852796

Family Applications (1)

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

Country Status (5)

Country Link
US (1) US20210226973A1 (ja)
EP (1) EP3889783A4 (ja)
JP (1) JP7325441B2 (ja)
CN (1) CN112789601A (ja)
WO (1) WO2020110414A1 (ja)

Families Citing this family (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP3799364A4 (en) * 2018-05-23 2021-07-14 Panasonic Intellectual Property Corporation of America COMMUNICATION CONTROL DEVICE, ELECTRONIC CONTROL UNIT FOR DETECTING UNAUTHORIZED ACCESS, MOBILITY NETWORK SYSTEM, COMMUNICATION CONTROL METHODS, METHODS FOR DETECTING UNAUTHORIZED PROGRAM ACCESS
WO2020113434A1 (zh) * 2018-12-04 2020-06-11 比特大陆科技有限公司 处理时间记录的方法和装置
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
CN115277780B (zh) * 2022-07-30 2023-11-14 重庆长安汽车股份有限公司 一种车端日志获取方法及装置、电子设备和存储介质

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2011113443A (ja) 2009-11-30 2011-06-09 Mitsubishi Electric Corp ログ圧縮装置及びログ収集システム及びコンピュータプログラム及びログ圧縮方法
JP2011230633A (ja) 2010-04-27 2011-11-17 Denso Corp 車両用電子制御装置

Family Cites Families (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS5150864A (en) 1974-10-31 1976-05-04 Sharp Kk Hiretsukikanno magehoho
US7065137B2 (en) * 2002-01-24 2006-06-20 Hewlett-Packard Development Company, L.P. Difference messaging protocol that uses prior state information
JP5919205B2 (ja) 2013-01-28 2016-05-18 日立オートモティブシステムズ株式会社 ネットワーク装置およびデータ送受信システム
US9092914B2 (en) * 2013-06-24 2015-07-28 Zf Friedrichshafen Ag Vehicle efficiency and defect recognition based on GPS location
JP6423402B2 (ja) * 2015-12-16 2018-11-14 パナソニック インテレクチュアル プロパティ コーポレーション オブ アメリカPanasonic Intellectual Property Corporation of America セキュリティ処理方法及びサーバ
JP6701030B2 (ja) * 2016-08-25 2020-05-27 クラリオン株式会社 車載装置、ログ収集システム
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 (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2011113443A (ja) 2009-11-30 2011-06-09 Mitsubishi Electric Corp ログ圧縮装置及びログ収集システム及びコンピュータプログラム及びログ圧縮方法
JP2011230633A (ja) 2010-04-27 2011-11-17 Denso Corp 車両用電子制御装置

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
佐々木崇光ほか,車載向けセキュリティシステムの運用コストを削減する監視データ量削減方式,2017年 暗号と情報セキュリティシンポジウム概要集,日本,2017年01月24日,pp.1-7,特にpp.2-5

Also Published As

Publication number Publication date
US20210226973A1 (en) 2021-07-22
EP3889783A1 (en) 2021-10-06
CN112789601A (zh) 2021-05-11
WO2020110414A1 (ja) 2020-06-04
EP3889783A4 (en) 2022-01-26
JPWO2020110414A1 (ja) 2021-10-21

Similar Documents

Publication Publication Date Title
JP7325441B2 (ja) 車両ログ送信装置、車両ログ解析システムおよび車両ログ送受信方法
JP7269955B2 (ja) 車両ログ送信装置、車両ログ解析サーバおよび車両ログ解析システム
Pesé et al. LibreCAN: Automated CAN message translator
US10074220B2 (en) Big telematics data constructing system
JP6847101B2 (ja) 情報処理方法、情報処理システム、及びプログラム
CN109215170B (zh) 行车数据的存储方法、装置和设备
EP2862091B1 (fr) Dispositif et procede d'extraction de donnees sur un bus de communication d'un vehicule automobile
US11780389B2 (en) Controller area network decoder (CAN-D)
US11689634B2 (en) Optimizing size of protocol communication in a vehicle internal networks
Jaynes et al. Automating ECU identification for vehicle security
WO2021145145A1 (ja) 車両ログ送信装置、車両ログ収集システム、車両ログ送信方法および保存優先度変更装置
KR102446579B1 (ko) 차량용 데이터 교환 장치와 데이터 교환 방법, 차량의 차량 부품용 장치와 방법 및 컴퓨터 프로그램
JP6839846B2 (ja) 情報処理装置、情報処理方法及びプログラム
WO2021062328A1 (en) Automated can message translator
CN113132313A (zh) 分布式can数据处理方法及其系统
CN111903095A (zh) 检测装置及其方法以及程序
WO2021240662A1 (ja) 異常検知装置、異常検知システムおよび異常検知方法
Gazdag et al. Efficient lossless compression of CAN traffic logs
WO2021145116A1 (ja) 異常検知方法、プログラム及び異常検知システム
KR101494178B1 (ko) 차량 정보 처리 시스템 및 방법
KR20180009900A (ko) 차량 데이터 처리 방법
KR20210152394A (ko) 차량 주변에 있는 하나 이상의 객체에 관한 객체 정보를 병합하기 위한 차량, 방법, 컴퓨터 프로그램 및 장치
EP3859473A1 (fr) Dispositif électronique de calcul et de diffusion centralisés d'état(s) d'un aéronef, ensemble avionique, procédé, et programme d'ordinateur associés
US11616862B2 (en) System and method for compressing controller area network (CAN) messages
Quadar et al. Intrusion Detection Systems in Automotive Ethernet Networks: Challenges, Opportunities and Future Research Trends

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20220620

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20230718

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20230801

R150 Certificate of patent or registration of utility model

Ref document number: 7325441

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150