(57)【要約】  車両ログ送信装置（１０）は、車両ログを取得する車両ログ取得部（１１０）と、取得された車両ログから車両状態を抽出する車両状態抽出部（１２０）と、車両ログ送信装置（１０）と車両ログ解析サーバとの間で共有されている車両状態ごとの車両ログである差分生成用ログのリストを記憶する差分生成用ログ保存部（１３０）と、抽出された車両状態に応じてリストから差分生成用ログを選択する差分生成用ログ選択部（１４０）と、取得された車両ログと選択された差分生成用ログとに基づいて差分ログを生成する差分ログ生成部（１５０）と、生成された差分ログと、選択された差分生成用ログに対応する差分生成用ログ識別子とを車両ログ解析サーバへ送信する差分ログ送信部（１６０）と、を備える。
2020110414.tif 000002
【特許請求の範囲】
【請求項１】
車両ログを車両ログ解析サーバへ送信する車両ログ送信装置であって、
前記車両ログを取得する車両ログ取得部と、
取得された前記車両ログから車両状態を抽出する車両状態抽出部と、
前記車両ログ送信装置と前記車両ログ解析サーバとの間で共有されている車両状態ごとの車両ログである差分生成用ログのリストを記憶する差分生成用ログ保存部と、
抽出された前記車両状態に応じて前記リストから差分生成用ログを選択する差分生成用ログ選択部と、
取得された前記車両ログと選択された前記差分生成用ログとに基づいて差分ログを生成する差分ログ生成部と、
生成された前記差分ログと、選択された前記差分生成用ログに対応する差分生成用ログ識別子とを前記車両ログ解析サーバへ送信する差分ログ送信部と、を備える、
車両ログ送信装置。
【請求項２】
前記差分生成用ログ保存部は、過去に前記車両ログ解析サーバへ送信された車両ログと、当該送信時の車両状態とが対応付けられた前記差分生成用ログの前記リストを記憶する、
請求項１記載の車両ログ送信装置。
【請求項３】
前記車両ログは、データの種類を示すＩＤがそれぞれ対応付けられている複数のデータを含み、
前記差分生成用ログ保存部は、前記車両ログに含まれるＩＤごと、かつ、車両状態ごとの前記差分生成用ログの前記リストを記憶し、
前記差分生成用ログ選択部は、抽出された前記車両状態に応じて前記リストからＩＤごとの前記差分生成用ログを選択し、
前記差分ログ生成部は、取得された前記車両ログに含まれるＩＤのそれぞれについて、当該ＩＤに対応付けられたデータと、当該ＩＤに対応する選択された前記差分生成用ログとに基づいて前記差分ログを生成する、
請求項１または２に記載の車両ログ送信装置。
【請求項４】
前記車両ログは、データの種類を示すＩＤがそれぞれ対応付けられている複数のデータであって、所定のＩＤを起点とする複数のＩＤを１周期として当該複数のＩＤが周期的に繰り返されるように並べられた複数のデータを含み、
前記差分生成用ログ選択部は、抽出された前記車両状態に応じて前記リストから前記所定のＩＤを起点とする前記複数のＩＤに対応する前記差分生成用ログを選択する、
請求項１または２に記載の車両ログ送信装置。
【請求項５】
前記差分生成用ログ保存部は、データの値を所定値に置換する置換処理またはデータの値を丸める端数処理が施された前記差分生成用ログの前記リストを記憶し、
前記差分ログ生成部は、さらに、取得された前記車両ログに対して前記置換処理または前記端数処理を実施した後、前記差分ログを生成する、
請求項１から４のいずれか１項に記載の車両ログ送信装置。
【請求項６】
前記車両ログは、時刻情報がそれぞれ対応付けられている複数のデータを含み、
前記差分生成用ログ保存部は、時刻情報をインデックス情報に置換する処理を施された前記差分生成用ログの前記リストを記憶し、
前記差分ログ生成部は、さらに、取得された前記車両ログに含まれる時刻情報をインデックス情報に置換した後、前記差分ログを生成し、
前記差分ログ送信部は、さらに、時刻情報とインデックス情報との対応関係を示す時刻リストを前記車両ログ解析サーバへ送信する、
請求項１から５のいずれか１項に記載の車両ログ送信装置。
【請求項７】
前記車両ログは、データの種類を示すＩＤがそれぞれ対応付けられている前記複数のデータを含み、
前記差分生成用ログ保存部は、ＩＤの値の大きさに応じて並び替えられ、同一ＩＤについてはデータの大きさに応じて並び替えられた前記差分生成用ログの前記リストを記憶し、
前記差分ログ生成部は、さらに、取得された前記車両ログについて、時刻情報をインデックス情報に置換し、ＩＤの値の大きさに応じて並び替え、同一ＩＤについてはデータの値の大きさに応じて並び替えた後、前記差分ログを生成する、
請求項６記載の車両ログ送信装置。
【請求項８】
前記差分ログ生成部は、データ圧縮辞書として選択された前記差分生成用ログを用いて、取得された前記車両ログを所定の圧縮アルゴリズムにて圧縮し、圧縮した前記車両ログを前記差分ログとして生成する、
請求項１から７のいずれか１項に記載の車両ログ送信装置。
【請求項９】
車両ログ送信装置と車両ログ解析サーバとから構成され、車両ログを前記車両ログ解析サーバから前記車両ログ解析サーバへ送信する車両ログ解析システムであって、
前記車両ログ送信装置は、
前記車両ログを取得する車両ログ取得部と、
取得された前記車両ログから車両状態を抽出する車両状態抽出部と、
前記車両ログ送信装置と前記車両ログ解析サーバとの間で共有されている車両状態ごとの車両ログである差分生成用ログのリストを記憶する差分生成用ログ保存部と、
抽出された前記車両状態に応じて前記リストから差分生成用ログを選択する差分生成用ログ選択部と、
取得された前記車両ログと選択された前記差分生成用ログとに基づいて差分ログを生成する差分ログ生成部と、
生成された前記差分ログと、選択された前記差分生成用ログに対応する差分生成用ログ識別子とを前記車両ログ解析サーバへ送信する差分ログ送信部と、を備え、
前記車両ログ解析サーバは、
前記差分ログ送信部から送信された前記差分ログと前記差分生成用ログ識別子とを受信する差分ログ受信部と、
前記リストを記憶する復元用ログ保存部と、
前記差分生成用ログ識別子と前記リストとから前記差分ログの生成に用いられた前記差分生成用ログを特定し、前記差分ログと特定された前記差分生成用ログとに基づいて前記車両ログを復元する車両ログ復元部と、を備える、
車両ログ解析システム。
【請求項１０】
前記差分生成用ログ保存部および前記復元用ログ保存部は、過去に前記車両ログ解析サーバへ送信された車両ログと、当該送信時の車両状態とが対応付けられた前記差分生成用ログの前記リストを記憶する、
請求項９記載の車両ログ解析システム。
【請求項１１】
前記車両ログは、データの種類を示すＩＤがそれぞれ対応付けられている複数のデータを含み、
前記差分生成用ログ保存部および前記復元用ログ保存部は、車両ログに含まれるＩＤごと、かつ、車両状態ごとの前記差分生成用ログの前記リストを記憶し、
前記差分生成用ログ選択部は、抽出された前記車両状態に応じて前記リストからＩＤごとの前記差分生成用ログを選択し、
前記差分ログ生成部は、取得された前記車両ログに含まれるＩＤのそれぞれについて、当該ＩＤに対応付けられたデータと、当該ＩＤに対応する選択された前記差分生成用ログとに基づいて前記差分ログを生成し、
前記車両ログ復元部は、前記差分ログに含まれるＩＤのそれぞれについて、当該ＩＤに対応付けられたデータと、当該ＩＤに対応する特定された前記差分生成用ログとに基づいて前記車両ログを復元する、
請求項９または１０に記載の車両ログ解析システム。
【請求項１２】
前記車両ログは、データの種類を示すＩＤがそれぞれ対応付けられている複数のデータであって、所定のＩＤを起点とする複数のＩＤを１周期として当該複数のＩＤが周期的に繰り返されるように並べられた複数のデータを含み、
前記差分生成用ログ選択部は、抽出された前記車両状態に応じて前記リストから前記所定のＩＤを起点とする複数のＩＤに対応する前記差分生成用ログを選択し、
前記車両ログ復元部は、前記所定のＩＤを起点とする複数のＩＤに対応する前記差分生成用ログを特定し、前記差分ログと特定された前記差分生成用ログとに基づいて前記車両ログを復元する、
請求項９または１０に記載の車両ログ解析システム。
【請求項１３】
前記差分生成用ログ保存部および前記復元用ログ保存部は、データの値を所定値に置換する置換処理またはデータの値を丸める端数処理が施された前記差分生成用ログの前記リストを記憶し、
前記差分ログ生成部は、さらに、取得された前記車両ログに対して前記置換処理または前記端数処理を実施した後、前記差分ログを生成する、
請求項９から１２のいずれか１項に記載の車両ログ解析システム。
【請求項１４】
前記車両ログは、時刻情報がそれぞれ対応付けられている複数のデータを含み、
前記差分生成用ログ保存部および前記復元用ログ保存部は、時刻情報をインデックス情報に置換する処理を施された前記差分生成用ログの前記リストを記憶し、
前記差分ログ生成部は、さらに、取得された前記車両ログに含まれる時刻情報をインデックス情報に置換した後、前記差分ログを生成し、
前記差分ログ送信部は、さらに、時刻情報とインデックス情報との対応関係を示す時刻リストを前記車両ログ解析サーバへ送信し、
車両ログ復元部は、さらに、送信された前記時刻リストを参照して、インデックス情報を時刻情報に置換して前記車両ログを復元する、
請求項９から１３のいずれか１項に記載の車両ログ解析システム。
【請求項１５】
前記車両ログは、データの種類を示すＩＤがそれぞれ対応付けられている前記複数のデータを含み、
前記差分生成用ログ保存部および前記復元用ログ保存部は、ＩＤの値の大きさに応じて並び替えられ、同一ＩＤについてはデータの値の大きさに応じて並び替えられた前記差分生成用ログの前記リストを記憶し、
前記差分ログ生成部は、さらに、取得された前記車両ログについて、時刻情報をインデックス情報に置換し、ＩＤの値の大きさに応じて並び替え、同一ＩＤについてはデータの値の大きさに応じて並び替えた後、前記差分ログを生成し、
車両ログ復元部は、さらに、送信された前記時刻リストを参照して、インデックス情報を時刻情報に置換し、時刻の早い順番に並び替えて前記車両ログを復元する、
請求項１４記載の車両ログ解析システム。
【請求項１６】
前記差分ログ生成部は、データ圧縮辞書として選択された前記差分生成用ログを用いて、取得された前記車両ログを所定の圧縮アルゴリズムにて圧縮し、圧縮した前記車両ログを差分ログとして生成し、
前記車両ログ復元部は、特定された前記差分生成用ログをデータ圧縮辞書として用いて、前記差分ログを所定の圧縮アルゴリズムにて伸長し、前記車両ログを復元する、
請求項９から１５のいずれか１項に記載の車両ログ解析システム。
【請求項１７】
前記車両状態抽出部は、前記車両ログに含まれる車両速度、運転支援モード、自動運転モード、走行位置、天候および気温のうち少なくとも１つを車両状態として抽出する、
請求項９から１６のいずれか１項に記載の車両ログ解析システム。
【請求項１８】
前記車両ログ取得部は、前記車両ログのＩＤとしてフレームＩＤを含むＣＡＮまたはＣＡＮ−ＦＤプロトコルに従う車載ネットワークログと、前記車両ログのＩＤとしてスロットＩＤを含むＦｌｅｘＲａｙ（登録商標）プロトコルに従う車載ネットワークログと、前記車両ログにＩＤとしてＩＰアドレスを含むＥｔｈｅｒｎｅｔ（登録商標）プロトコルに従う車載ネットワークログと、前記車両ログにＩＤとしてプロセス番号を含むシステム動作ログとのうちの、少なくとも１つの前記車両ログを取得する、
請求項９から１７のいずれか１項に記載の車両ログ解析システム。
【請求項１９】
前記車両ログ解析サーバは、さらに、
復元された前記車両ログを監視し、復元された前記車両ログに攻撃の痕跡が含まれる場合に異常として検出する異常ログ検出部と、
所定の通知先に通知する異常通知部と、を備える、
請求項９から１８のいずれか１項に記載の車両ログ解析システム。
【請求項２０】
車両ログ送信装置による車両ログ送信方法と車両ログ解析サーバによる車両ログ受信方法とから構成され、車両ログを前記車両ログ送信装置から前記車両ログ解析サーバへ送信する車両ログ送受信方法であって、
前記車両ログ送信装置は、車両ログ送信装置と車両ログ解析サーバとの間で共有されている車両状態ごとの車両ログである差分生成用ログのリストを記憶する差分生成用ログ保存部を備え、
前記車両ログ解析サーバは、前記リストを記憶する復元用ログ保存部を備え、
前記車両ログ送信方法は、
前記車両ログを取得する車両ログ取得ステップと、
取得された前記車両ログから車両状態を抽出する車両状態抽出ステップと、
抽出された前記車両状態に応じて前記リストから差分生成用ログを選択する差分生成用ログ選択ステップと、
取得された前記車両ログと選択された前記差分生成用ログとに基づいて差分ログを生成する差分ログ生成ステップと、
生成された前記差分ログと、選択された前記差分生成用ログに対応する差分生成用ログ識別子とを前記車両ログ解析サーバへ送信する差分ログ送信ステップと、を含み、
前記車両ログ受信方法は、
前記差分ログ送信ステップにて送信された前記差分ログと前記差分生成用ログ識別子とを受信する差分ログ受信ステップと、
前記差分生成用ログ識別子と前記リストとから前記差分ログの生成に用いられた前記差分生成用ログを特定し、前記差分ログと特定された前記差分生成用ログとに基づいて前記車両ログを復元する車両ログ復元ステップと、を含む、
車両ログ送受信方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本開示は、車両ログ送信装置、車両ログ解析システムおよび車両ログ送受信方法に関する。
【背景技術】
【０００２】
近年、自動車に搭載されるシステムには、電子制御装置（ＥＣＵ：Ｅｌｅｃｔｒｏｎｉｃ Ｃｏｎｔｒｏｌ Ｕｎｉｔ）と呼ばれる装置が多数配置されている。これらのＥＣＵをつなぐネットワークは、車載ネットワークと呼ばれる。車載ネットワークには、多数の規格が存在する。その中でも最も主流な車載ネットワークの一つに、ＩＳＯ１１８９８−１で規定されているＣＡＮ（Ｃｏｎｔｒｏｌｌｅｒ Ａｒｅａ Ｎｅｔｗｏｒｋ）という規格が存在する。【０００３】
ＣＡＮでは、通信路は２本のバスで構成され、バスに接続されているＥＣＵはノードと呼ばれる。バスに接続されている各ノードは、フレームと呼ばれるメッセージを送受信する。ＣＡＮでは、送信先ノードや送信元ノードを指す識別子は存在せず、送信ノードはフレーム毎にメッセージＩＤと呼ばれるＩＤを付けて送信し、各受信ノードは予め定められたメッセージＩＤが付いたフレームのみを受信する。【０００４】
そのため、ＣＡＮのバスにＥＣＵを接続し、異常な制御コマンドを含むフレームを正規のＥＣＵになりすまして送信することで、自動車を不正に制御できてしまうという脅威がある。【０００５】
この脅威に対して、車載ネットワークにおいて、不正なデータ、すなわち、異常な制御コマンドの侵入を検知する方法として、例えば、特許文献１に開示されている方法がある。【０００６】
しかしながら、車両の外部のサーバシステムが、車載ネットワークシステムにおけるデータを監視する場合、大量のデータが車載ネットワークシステムから外部のサーバシステムへ送信される可能性がある。このような大量のデータを処理するための資源を準備することは容易ではない。【０００７】
この大量のデータに対して、所定のデータサイズごとに分割し、分割されたデータごとに、サーバに保存されているデータと比較し、データが一致する場合に分割されたデータのハッシュ値のみを送信し、データが一致しない場合に分割されたデータをサーバに送信することで、通信データ量を削減する方法が、特許文献２に開示されている。【０００８】
また、２種類のデータの差分を算出する方法として、例えば、非特許文献１に記載の方法があり、一般に差分が小さければ、差分データが０に偏るため、差分データをＬＨＡやＺＩＰなどの圧縮アルゴリズムを適応した際にデータの圧縮率が高く、通信データ量を効率的に削減できる。
【先行技術文献】
【特許文献】
【０００９】
【特許文献１】特開２０１４−１４６８６８号公報
【特許文献２】特許第５３４２３０２号公報
【非特許文献】
【００１０】
【非特許文献１】Ｃｏｌｉｎ  Ｐｅｒｃｉｖａｌ、“Ｂｉｎａｒｙ  ｄｉｆｆ／ｐａｔｃｈ  ｕｔｉｌｉｔｙ”、［ｏｎｌｉｎｅ］、［平成３０年１１月０６日検索］、インターネット＜ＵＲＬ：ｈｔｔｐ：／／ｗｗｗ．ｄａｅｍｏｎｏｌｏｇｙ．ｎｅｔ／ｂｓｄｉｆｆ／＞
【発明の概要】
【発明が解決しようとする課題】
【００１１】
しかしながら、車載ネットワークログは、自動車の状態によって変動するデータと時刻データを含むため、従来技術の所定のデータサイズごとに分割する方法では、現在取得したログの分割データと、過去に取得されてサーバに保存されているログの分割データとの類似度が低くなる。そのため、現在取得したログの分割データと過去に取得されてサーバに保存されているログの分割データとの差分が大きくなり、差分データの圧縮率が低く、多くのデータをサーバに送信する必要がある。そのため、ログを分割しない状態で送信する場合と比較して、通信データ量を効率的に削減できないという課題がある。【００１２】
そこで、本開示は、車両から車両の外部のサーバへ送信される車両ログの通信データ量を効果的に削減できる車両ログ送信装置等を提供する。
【課題を解決するための手段】
【００１３】
上記課題を解決するために、本開示の車両ログ送信装置は、車両ログを車両ログ解析サーバへ送信する車両ログ送信装置であって、前記車両ログを取得する車両ログ取得部と、取得された前記車両ログから車両状態を抽出する車両状態抽出部と、前記車両ログ送信装置と前記車両ログ解析サーバとの間で共有されている車両状態ごとの車両ログである差分生成用ログのリストを記憶する差分生成用ログ保存部と、抽出された前記車両状態に応じて前記リストから差分生成用ログを選択する差分生成用ログ選択部と、取得された前記車両ログと選択された前記差分生成用ログとに基づいて差分ログを生成する差分ログ生成部と、生成された前記差分ログと、選択された前記差分生成用ログに対応する差分生成用ログ識別子とを前記車両ログ解析サーバへ送信する差分ログ送信部と、を備える。【００１４】
なお、これらの全般的または具体的な態様は、システム、方法、集積回路、コンピュータプログラムまたはコンピュータ読み取り可能なＣＤ−ＲＯＭなどの記録媒体で実現されてもよく、システム、方法、集積回路、コンピュータプログラムおよび記録媒体の任意な組み合わせで実現されてもよい。
【発明の効果】
【００１５】
本開示の一態様に係る車両ログ送信装置等は、車両と車両の外部のサーバの間で送信される車両ログの通信データ量を効果的に削減できる。その結果、大量の車両ログの通信が可能な資源を準備せずとも、車両ログを外部のサーバへ送信することができ、車両の外部サーバを用いて車両のネットワークへの不正なデータの侵入を検出することができ、車両の安全性に貢献できる。
【図面の簡単な説明】
【００１６】
【図１】図１は、本開示の実施の形態１における車両ログ解析システムの全体構成図である。
【図２】図２は、本開示の実施の形態１における車両ログ送信装置の構成図である。
【図３】図３は、本開示の実施の形態１における車両ログ解析サーバの構成図である。
【図４】図４は、本開示の実施の形態１における車両ログの一例を示す図である。
【図５】図５は、本開示の実施の形態１における車両ログ定義テーブルの一例を示す図である。
【図６】図６は、本開示の実施の形態１における車両ログ加工ルールの一例を示す図である。
【図７】図７は、本開示の実施の形態１における加工済み車両ログの一例を示す図である。
【図８】図８は、本開示の実施の形態１における差分生成用ログの一例を示す図である。
【図９】図９は、本開示の実施の形態１における差分ログの一例を示す図である。
【図１０】図１０は、本開示の実施の形態１における差分ログ送信処理のシーケンスを示す図である。
【図１１】図１１は、本開示の実施の形態１における差分ログ受信処理のシーケンスを示す図である。
【図１２】図１２は、本開示の実施の形態１における車両ログ加工処理のフローチャートである。
【図１３】図１３は、本開示の実施の形態１における差分ログ生成処理のフローチャートである。
【図１４】図１４は、本開示の実施の形態１における車両ログ復元処理のフローチャートである。
【発明を実施するための形態】
【００１７】
車両ログ送信装置は、車両ログを車両ログ解析サーバへ送信する車両ログ送信装置であって、前記車両ログを取得する車両ログ取得部と、取得された前記車両ログから車両状態を抽出する車両状態抽出部と、前記車両ログ送信装置と前記車両ログ解析サーバとの間で共有されている車両状態ごとの車両ログである差分生成用ログのリストを記憶する差分生成用ログ保存部と、抽出された前記車両状態に応じて前記リストから差分生成用ログを選択する差分生成用ログ選択部と、取得された前記車両ログと選択された前記差分生成用ログとに基づいて差分ログを生成する差分ログ生成部と、生成された前記差分ログと、選択された前記差分生成用ログに対応する差分生成用ログ識別子とを前記車両ログ解析サーバへ送信する差分ログ送信部と、を備える。
【００１８】
特定の車両状態において発生する可能性の高いログを車両状態ごとの差分生成用ログとして車両ログ送信装置と車両ログ解析サーバとの間で共有し、車両ログ送信装置が車両ログを車両ログ解析サーバへ送信する際にそのときの車両状態に応じて差分生成用ログを使い分けて差分ログを生成する。これにより、当該車両状態における送信対象の車両ログと当該車両状態に対応する差分生成用ログとが類似するため、送信する差分ログが小さくなり、車両から車両の外部のサーバ（車両ログ解析サーバ）へ送信される車両ログの通信データ量を効果的に削減できる。
【００１９】
また、前記差分生成用ログ保存部は、過去に前記車両ログ解析サーバへ送信された車両ログと、当該送信時の車両状態とが対応付けられた前記差分生成用ログの前記リストを記憶するとしてもよい。
【００２０】
これにより、過去に送信された車両ログは、車両ログ送信装置と車両ログ解析サーバとの間で共有されることになるため、過去に送信された車両ログを差分生成用ログとして用いることで、車両ログ送信装置に、差分生成用ログを事前に設定する必要がなくなり開発コストを抑えることができる。
【００２１】
また、前記車両ログは、データの種類を示すＩＤがそれぞれ対応付けられている複数のデータを含み、前記差分生成用ログ保存部は、前記車両ログに含まれるＩＤごと、かつ、車両状態ごとの前記差分生成用ログの前記リストを記憶し、前記差分生成用ログ選択部は、抽出された前記車両状態に応じて前記リストからＩＤごとの前記差分生成用ログを選択し、前記差分ログ生成部は、取得された前記車両ログに含まれるＩＤのそれぞれについて、当該ＩＤに対応付けられたデータと、当該ＩＤに対応する選択された前記差分生成用ログとに基づいて前記差分ログを生成するとしてもよい。
【００２２】
これにより、車両ログに含まれるＩＤごとに差分生成用ログを記憶することで、差分生成用ログとして車両ログに含まれる複数のデータの全てを記憶する必要がなくＩＤの種類数だけでよくなるため、車両ログに含まれる複数のデータの数が車両ログに含まれるＩＤの種類数よりも多い場合に、差分ログの生成に必要な記憶領域を削減できる。
【００２３】
また、前記車両ログは、データの種類を示すＩＤがそれぞれ対応付けられている複数のデータであって、所定のＩＤを起点とする複数のＩＤを１周期として当該複数のＩＤが周期的に繰り返されるように並べられた複数のデータを含み、前記差分生成用ログ選択部は、抽出された前記車両状態に応じて前記リストから前記所定のＩＤを起点とする前記複数のＩＤに対応する前記差分生成用ログを選択するとしてもよい。
【００２４】
例えば、車両ログに含まれる複数のデータは、所定のＩＤを起点とする複数のＩＤを１周期として当該複数のＩＤが周期的に繰り返されるように並べられており、当該複数のＩＤごとに同じようなデータが繰り替えされることになる。したがって、車両ログおよび差分生成用ログの起点となるＩＤを所定のＩＤに統一することで、車両ログに含まれる１周期の複数のＩＤと差分生成用ログに含まれる１周期の複数のＩＤとが一致し、車両ログと差分生成用ログとの差分が小さくなるため、車両から車両の外部のサーバへ送信される車両ログの通信データ量をさらに効果的に削減できる。また、車両ログに含まれる複数のデータは、１周期の複数のＩＤごとに同じようなデータが繰り替えされるため、１周期の複数のＩＤに対応するデータ以外の情報を削減することができる。
【００２５】
また、前記差分生成用ログ保存部は、データの値を所定値に置換する置換処理またはデータの値を丸める端数処理が施された前記差分生成用ログの前記リストを記憶し、前記差分ログ生成部は、さらに、取得された前記車両ログに対して前記置換処理または前記端数処理を実施した後、前記差分ログを生成するとしてもよい。
【００２６】
これにより、車両ログと差分生成用ログとで異なる可能性の高いカウンタまたはチェックサムなどデータ領域の値を車両ログと差分生成用ログとで同じ所定値にしたり、車両ログから異常を検出するために不必要なセンサ情報などの詳細値を丸めたりすることで、送信対象の車両ログと差分生成用ログとがより類似するようになる。したがって、送信する差分ログが小さくなることから、車両から車両の外部のサーバへ送信される車両ログの通信データ量をさらに効果的に削減できる。
【００２７】
また、前記車両ログは、時刻情報がそれぞれ対応付けられている複数のデータを含み、前記差分生成用ログ保存部は、時刻情報をインデックス情報に置換する処理を施された前記差分生成用ログの前記リストを記憶し、前記差分ログ生成部は、さらに、取得された前記車両ログに含まれる時刻情報をインデックス情報に置換した後、前記差分ログを生成し、前記差分ログ送信部は、さらに、時刻情報とインデックス情報との対応関係を示す時刻リストを前記車両ログ解析サーバへ送信するとしてもよい。
【００２８】
これにより、車両ログと差分生成用ログとで異なる可能性の高い時刻情報の値を車両ログと差分生成用ログとでインデックス情報に置換することで、車両ログと差分生成用ログとがより類似するようになる。したがって、送信する差分ログが小さくなることから、車両から車両の外部のサーバへ送信される車両ログの通信データ量をさらに効果的に削減できる。
【００２９】
また、前記車両ログは、データの種類を示すＩＤがそれぞれ対応付けられている前記複数のデータを含み、前記差分生成用ログ保存部は、ＩＤの値の大きさに応じて並び替えられ、同一ＩＤについてはデータの大きさに応じて並び替えられた前記差分生成用ログの前記リストを記憶し、前記差分ログ生成部は、さらに、取得された前記車両ログについて、時刻情報をインデックス情報に置換し、ＩＤの値の大きさに応じて並び替え、同一ＩＤについてはデータの値の大きさに応じて並び替えた後、前記差分ログを生成するとしてもよい。
【００３０】
これにより、車両ログと差分生成用ログとをＩＤが大きい順または小さい順（同一ＩＤの場合にはデータが大きい順または小さい順）に並び替えることで、特定のＩＤを含むデータが非定期的に発生してＩＤの発生順番が一定でない場合や車両ログに変動値データが含まれる場合であっても、車両ログと差分生成用ログとが一致する確率が高くなる。そのため、車両ログと差分生成用ログとの差分を小さくすることができるため、送信する差分ログが小さくなることから、車両から車両の外部のサーバへ送信される車両ログの通信データ量をさらに効果的に削減できる。
【００３１】
また、前記差分ログ生成部は、データ圧縮辞書として選択された前記差分生成用ログを用いて、取得された前記車両ログを所定の圧縮アルゴリズムにて圧縮し、圧縮した前記車両ログを前記差分ログとして生成するとしてもよい。
【００３２】
これにより、車両状態ごとに圧縮率の高い辞書を事前に作成することなく、データを効率的に圧縮できるため、開発コストを低減できる。
【００３３】
また、車両ログ解析システムは、車両ログ送信装置と車両ログ解析サーバとから構成され、車両ログを前記車両ログ解析サーバから前記車両ログ解析サーバへ送信する車両ログ解析システムであって、前記車両ログ送信装置は、前記車両ログを取得する車両ログ取得部と、取得された前記車両ログから車両状態を抽出する車両状態抽出部と、前記車両ログ送信装置と前記車両ログ解析サーバとの間で共有されている車両状態ごとの車両ログである差分生成用ログのリストを記憶する差分生成用ログ保存部と、抽出された前記車両状態に応じて前記リストから差分生成用ログを選択する差分生成用ログ選択部と、取得された前記車両ログと選択された前記差分生成用ログとに基づいて差分ログを生成する差分ログ生成部と、生成された前記差分ログと、選択された前記差分生成用ログに対応する差分生成用ログ識別子とを前記車両ログ解析サーバへ送信する差分ログ送信部と、を備え、前記車両ログ解析サーバは、前記差分ログ送信部から送信された前記差分ログと前記差分生成用ログ識別子とを受信する差分ログ受信部と、前記リストを記憶する復元用ログ保存部と、前記差分生成用ログ識別子と前記リストとから前記差分ログの生成に用いられた前記差分生成用ログを特定し、前記差分ログと特定された前記差分生成用ログとに基づいて前記車両ログを復元する車両ログ復元部と、を備える。
【００３４】
特定の車両状態において発生する可能性の高いログを車両状態ごとの差分生成用ログとして車両ログ送信装置と車両ログ解析サーバとの間で共有し、車両ログ送信装置が車両ログを車両ログ解析サーバへ送信する際にそのときの車両状態に応じて差分生成用ログを使い分けて差分ログを生成する。これにより、当該車両状態における送信対象の車両ログと当該車両状態に対応する差分生成用ログとが類似するため、送信する差分ログが小さくなり、車両から車両の外部のサーバ（車両ログ解析サーバ）へ送信される車両ログの通信データ量を効果的に削減できる。
【００３５】
また、前記差分生成用ログ保存部および前記復元用ログ保存部は、過去に前記車両ログ解析サーバへ送信された車両ログと、当該送信時の車両状態とが対応付けられた前記差分生成用ログの前記リストを記憶するとしてもよい。
【００３６】
これにより、過去に送信された車両ログは、車両ログ送信装置と車両ログ解析サーバとの間で共有されることになるため、過去に送信された車両ログを差分生成用ログとして用いることで、車両ログ送信装置に、差分生成用ログを事前に設定する必要がなくなり開発コストを抑えることができる。
【００３７】
また、前記車両ログは、データの種類を示すＩＤがそれぞれ対応付けられている複数のデータを含み、前記差分生成用ログ保存部および前記復元用ログ保存部は、車両ログに含まれるＩＤごと、かつ、車両状態ごとの前記差分生成用ログの前記リストを記憶し、前記差分生成用ログ選択部は、抽出された前記車両状態に応じて前記リストからＩＤごとの前記差分生成用ログを選択し、前記差分ログ生成部は、取得された前記車両ログに含まれるＩＤのそれぞれについて、当該ＩＤに対応付けられたデータと、当該ＩＤに対応する選択された前記差分生成用ログとに基づいて前記差分ログを生成し、前記車両ログ復元部は、前記差分ログに含まれるＩＤのそれぞれについて、当該ＩＤに対応付けられたデータと、当該ＩＤに対応する特定された前記差分生成用ログとに基づいて前記車両ログを復元するとしてもよい。
【００３８】
これにより、車両ログに含まれるＩＤごとに差分生成用ログを記憶することで、差分生成用ログとして車両ログに含まれる複数のデータの全てを記憶する必要がなくＩＤの種類数だけでよくなるため、車両ログに含まれる複数のデータの数が車両ログに含まれるＩＤの種類数よりも多い場合に、差分ログの生成に必要な記憶領域を削減できる。
【００３９】
また、前記車両ログは、データの種類を示すＩＤがそれぞれ対応付けられている複数のデータであって、所定のＩＤを起点とする複数のＩＤを１周期として当該複数のＩＤが周期的に繰り返されるように並べられた複数のデータを含み、前記差分生成用ログ選択部は、抽出された前記車両状態に応じて前記リストから前記所定のＩＤを起点とする複数のＩＤに対応する前記差分生成用ログを選択し、前記車両ログ復元部は、前記所定のＩＤを起点とする複数のＩＤに対応する前記差分生成用ログを特定し、前記差分ログと特定された前記差分生成用ログとに基づいて前記車両ログを復元するとしてもよい。
【００４０】
例えば、車両ログに含まれる複数のデータは、所定のＩＤを起点とする複数のＩＤを１周期として当該複数のＩＤが周期的に繰り返されるように並べられており、当該複数のＩＤごとに同じようなデータが繰り替えされることになる。したがって、車両ログおよび差分生成用ログの起点となるＩＤを所定のＩＤに統一することで、車両ログに含まれる１周期の複数のＩＤと差分生成用ログに含まれる１周期の複数のＩＤとが一致し、車両ログと差分生成用ログとの差分が小さくなるため、車両から車両の外部のサーバへ送信される車両ログの通信データ量をさらに効果的に削減できる。また、車両ログに含まれる複数のデータは、１周期の複数のＩＤごとに同じようなデータが繰り替えされるため、１周期の複数のＩＤに対応するデータ以外の情報を削減することができる。
【００４１】
また、前記差分生成用ログ保存部および前記復元用ログ保存部は、データの値を所定値に置換する置換処理またはデータの値を丸める端数処理が施された前記差分生成用ログの前記リストを記憶し、前記差分ログ生成部は、さらに、取得された前記車両ログに対して前記置換処理または前記端数処理を実施した後、前記差分ログを生成するとしてもよい。
【００４２】
これにより、車両ログと差分生成用ログとで異なる可能性の高いカウンタまたはチェックサムなどデータ領域の値を車両ログと差分生成用ログとで同じ所定値にしたり、車両ログから異常を検出するために不必要なセンサ情報などの詳細値を丸めたりすることで、送信対象の車両ログと差分生成用ログとがより類似するようになる。したがって、送信する差分ログが小さくなることから、車両から車両の外部のサーバへ送信される車両ログの通信データ量をさらに効果的に削減できる。
【００４３】
また、前記車両ログは、時刻情報がそれぞれ対応付けられている複数のデータを含み、前記差分生成用ログ保存部および前記復元用ログ保存部は、時刻情報をインデックス情報に置換する処理を施された前記差分生成用ログの前記リストを記憶し、前記差分ログ生成部は、さらに、取得された前記車両ログに含まれる時刻情報をインデックス情報に置換した後、前記差分ログを生成し、前記差分ログ送信部は、さらに、時刻情報とインデックス情報との対応関係を示す時刻リストを前記車両ログ解析サーバへ送信し、車両ログ復元部は、さらに、送信された前記時刻リストを参照して、インデックス情報を時刻情報に置換して前記車両ログを復元するとしてもよい。
【００４４】
これにより、車両ログと差分生成用ログとで異なる可能性の高い時刻情報の値を車両ログと差分生成用ログとでインデックス情報に置換することで、車両ログと差分生成用ログとがより類似するようになる。したがって、送信する差分ログが小さくなることから、車両から車両の外部のサーバへ送信される車両ログの通信データ量をさらに効果的に削減できる。
【００４５】
また、前記車両ログは、データの種類を示すＩＤがそれぞれ対応付けられている前記複数のデータを含み、前記差分生成用ログ保存部および前記復元用ログ保存部は、ＩＤの値の大きさに応じて並び替えられ、同一ＩＤについてはデータの値の大きさに応じて並び替えられた前記差分生成用ログの前記リストを記憶し、前記差分ログ生成部は、さらに、取得された前記車両ログについて、時刻情報をインデックス情報に置換し、ＩＤの値の大きさに応じて並び替え、同一ＩＤについてはデータの値の大きさに応じて並び替えた後、前記差分ログを生成し、車両ログ復元部は、さらに、送信された前記時刻リストを参照して、インデックス情報を時刻情報に置換し、時刻の早い順番に並び替えて前記車両ログを復元するとしてもよい。
【００４６】
これにより、車両ログと差分生成用ログとをＩＤが大きい順または小さい順（同一ＩＤの場合にはデータが大きい順または小さい順）に並び替えることで、特定のＩＤを含むデータが非定期的に発生してＩＤの発生順番が一定でない場合や車両ログに変動値データが含まれる場合であっても、車両ログと差分生成用ログとが一致する確率が高くなる。そのため、車両ログと差分生成用ログとの差分を小さくすることができるため、送信する差分ログが小さくなることから、車両から車両の外部のサーバへ送信される車両ログの通信データ量をさらに効果的に削減できる。
【００４７】
また、前記差分ログ生成部は、データ圧縮辞書として選択された前記差分生成用ログを用いて、取得された前記車両ログを所定の圧縮アルゴリズムにて圧縮し、圧縮した前記車両ログを差分ログとして生成し、前記車両ログ復元部は、特定された前記差分生成用ログをデータ圧縮辞書として用いて、前記差分ログを所定の圧縮アルゴリズムにて伸長し、前記車両ログを復元するとしてもよい。
【００４８】
これにより、車両状態ごとに圧縮率の高い辞書を事前に作成することなく、データを効率的に圧縮できるため、開発コストを低減できる。
【００４９】
また、前記車両状態抽出部は、前記車両ログに含まれる車両速度、運転支援モード、自動運転モード、走行位置、天候および気温のうち少なくとも１つを車両状態として抽出するとしてもよい。
【００５０】
これにより、車両が停車時特有の機能または高速走行時特有の機能を有する場合に、車両の速度ごとに差分生成用ログを用意することで車両の速度ごとに特有の機能によるログが類似する。また、車両が運転支援モード動作時特有の機能または自動運転モード動作時特有の機能を有する場合に、車両の走行モードごとに差分生成用ログを用意することで車両の走行モードごとに特有の機能によるログが類似する。また、車両の走行エリアごとに差分生成用ログを用意することで、同じ道路、同じ経路を走行している車両のログは類似する。また、車両の気温や天候ごとに差分生成用ログを用意することで、同じ気温で走行している車両の空調機の制御のログや同じ天候で走行している車両のワイパー制御のログは類似する。このように、車両状態として車両速度、運転支援モード、自動運転モード、走行位置、天候または気温は、車両ログとの関連性が高く、同じ車両状態では送信する差分ログが小さくなることから、車両から車両の外部のサーバへ送信される車両ログの通信データ量をさらに効果的に削減できる。
【００５１】
また、前記車両ログ取得部は、前記車両ログのＩＤとしてフレームＩＤを含むＣＡＮまたはＣＡＮ−ＦＤプロトコルに従う車載ネットワークログと、前記車両ログのＩＤとしてスロットＩＤを含むＦｌｅｘＲａｙ（登録商標）プロトコルに従う車載ネットワークログと、前記車両ログにＩＤとしてＩＰアドレスを含むＥｔｈｅｒｎｅｔ（登録商標）プロトコルに従う車載ネットワークログと、前記車両ログにＩＤとしてプロセス番号を含むシステム動作ログとのうちの、少なくとも１つの前記車両ログを取得するとしてもよい。
【００５２】
これにより、特定のプロトコルやシステムに従う車両ログを取得することで、車両ログのフォーマットを合わせることができるため、送信する差分ログが小さくなることから、車両から車両の外部のサーバへ送信される車両ログの通信データ量をさらに効果的に削減できる。
【００５３】
また、前記車両ログ解析サーバは、さらに、復元された前記車両ログを監視し、復元された前記車両ログに攻撃の痕跡が含まれる場合に異常として検出する異常ログ検出部と、所定の通知先に通知する異常通知部と、を備えるとしてもよい。
【００５４】
これにより、復元された車両ログからセキュリティ上の異常が検出された場合に、所定の通知先に車両が異常であることを通知できる。
【００５５】
また、車両ログ送受信方法は、車両ログ送信装置による車両ログ送信方法と車両ログ解析サーバによる車両ログ受信方法とから構成され、車両ログを前記車両ログ送信装置から前記車両ログ解析サーバへ送信する車両ログ送受信方法であって、前記車両ログ送信装置は、車両ログ送信装置と車両ログ解析サーバとの間で共有されている車両状態ごとの車両ログである差分生成用ログのリストを記憶する差分生成用ログ保存部を備え、前記車両ログ解析サーバは、前記リストを記憶する復元用ログ保存部を備え、前記車両ログ送信方法は、前記車両ログを取得する車両ログ取得ステップと、取得された前記車両ログから車両状態を抽出する車両状態抽出ステップと、抽出された前記車両状態に応じて前記リストから差分生成用ログを選択する差分生成用ログ選択ステップと、取得された前記車両ログと選択された前記差分生成用ログとに基づいて差分ログを生成する差分ログ生成ステップと、生成された前記差分ログと、選択された前記差分生成用ログに対応する差分生成用ログ識別子とを前記車両ログ解析サーバへ送信する差分ログ送信ステップと、を含み、前記車両ログ受信方法は、前記差分ログ送信ステップにて送信された前記差分ログと前記差分生成用ログ識別子とを受信する差分ログ受信ステップと、前記差分生成用ログ識別子と前記リストとから前記差分ログの生成に用いられた前記差分生成用ログを特定し、前記差分ログと特定された前記差分生成用ログとに基づいて前記車両ログを復元する車両ログ復元ステップと、を含む。
【００５６】
特定の車両状態において発生する可能性の高いログを車両状態ごとの差分生成用ログとして車両ログ送信装置と車両ログ解析サーバとの間で共有し、車両ログ送信装置が車両ログを車両ログ解析サーバへ送信する際にそのときの車両状態に応じて差分生成用ログを使い分けて差分ログを生成する。これにより、当該車両状態における送信対象の車両ログと当該車両状態に対応する差分生成用ログとが類似するため、送信する差分ログが小さくなり、車両から車両の外部のサーバ（車両ログ解析サーバ）へ送信される車両ログの通信データ量を効果的に削減できる。
【００５７】
なお、これらの全般的または具体的な態様は、システム、方法、集積回路、コンピュータプログラムまたはコンピュータで読み取り可能なＣＤ−ＲＯＭ等の記録媒体で実現されても良く、システム、方法、集積回路、コンピュータプログラムまたは記録媒体の任意な組み合わせで実現されてもよい。
【００５８】
以下、実施の形態に係る車両ログ送信装置、車両ログ解析システムおよび車両ログ送受信方法について図面を参照しながら説明する。ここで示す実施の形態は、いずれも本開示の一具体例を示すものである。従って、以下の実施の形態で示される数値、構成要素、構成要素の配置および接続形態、並びに、処理の要素としてのステップおよびステップの順序等は、一例であって本開示を限定するものではない。以下の実施の形態における構成要素のうち、独立請求項に記載されていない構成要素については、任意に付加可能な構成要素である。また、各図は、模式図であり、必ずしも厳密に図示されたものではない。
【００５９】
（実施の形態１）
[車両ログ解析システムの全体構成]
図１は、本開示の実施の形態１における車両ログ解析システム１００の全体構成図である。
【００６０】
図１において、車両ログ解析システム１００は、車両ログ解析サーバ２０と車両２００とで構成され、車両ログ解析サーバ２０と車両２００とが外部ネットワーク５０を介して接続される。外部ネットワーク５０は、例えば、インターネットである。外部ネットワーク５０の通信方法は、有線であっても無線であっても良い。また、無線通信方式は既存技術であるＷｉ−Ｆｉ（登録商標）や、３Ｇ／ＬＴＥ（Ｌｏｎｇ  Ｔｅｒｍ  Ｅｖｏｌｕｔｉｏｎ）であっても良い。
【００６１】
車両２００は、車両ログ送信装置１０と、ＥＣＵ３０ａとＥＣＵ３０ｂとＥＣＵ３０ｃとセンサ４０ａとエンジン４０ｂとステアリング４０ｃとを備える。
【００６２】
車両ログ送信装置１０は、車両ログ解析サーバ２０と外部ネットワーク５０を介して接続される。
【００６３】
車両２００において、車両ネットワーク６０を介して車両ログ送信装置１０と、ＥＣＵ３０ａと、ＥＣＵ３０ｂと、ＥＣＵ３０ｃとが互いに接続される。車両ネットワーク６０は、例えば、ＣＡＮである。なお、車両ネットワーク６０は、ＣＡＮ−ＦＤ、ＦｌｅｘＲａｙ、Ｅｔｈｅｒｎｅｔ等の通信プロトコルであってもよい。
【００６４】
ＥＣＵ３０ａは、センサ４０ａに接続され、ＥＣＵ３０ｂは、エンジン４０ｂに接続され、ＥＣＵ３０ｃは、ステアリング４０ｃに接続されている。
【００６５】
ＥＣＵ３０ａ、３０ｂおよび３０ｃは、それぞれが接続されている機器の状態を取得し、取得した状態を表すメッセージを周期的に車両ネットワーク６０に送出する。
【００６６】
ＥＣＵ３０ａは、車両２００の加速度を計測するセンサ４０ａによって計測されたセンサ情報を取得し、このセンサ情報を表すデータ値を含むメッセージを車両ネットワーク６０に送出する。
【００６７】
ＥＣＵ３０ｂは、エンジン４０ｂの一状態である回転数を取得し、この回転数を表すデータ値を含むメッセージを車両ネットワーク６０に送出する。また、ＥＣＵ３０ｂは、車両ネットワーク６０から取得するエンジン４０ｂに関する情報に基づいて、エンジン４０ｂの回転数を制御する。
【００６８】
ＥＣＵ３０ｃは、ステアリング４０ｃの操舵角を取得し、この操舵角を表すデータ値を含むメッセージを車両ネットワーク６０に送出する。また、ＥＣＵ３０ｃは、車両ネットワーク６０から取得するステアリング４０ｃに関する情報に基づいて、ステアリング４０ｃの操舵角を制御する。
【００６９】
以降、車両ネットワーク６０に接続されるＥＣＵ３０ａ、ＥＣＵ３０ｂおよびＥＣＵ３０ｃと、センサ４０ａ、エンジン４０ｂおよびステアリング４０ｃを総称して車両システム３００とする。
【００７０】
車両ログ送信装置１０は、ＥＣＵ３０ａ、３０ｂおよび３０ｃから車両ログを取得し、車両ログ解析サーバ２０へ、ＨＴＴＰＳなどの通信プロトコルを介して、取得した車両ログを送信する。車両ログの詳細および、車両ログの送信方法についての詳細は後述する。
【００７１】
車両ログ解析サーバ２０は、車両ログ送信装置１０から車両ログを受信し、受信した車両ログを解析して、セキュリティ上の脅威を検出、すなわち、車両２００の異常を検出する車両２００の外部のサーバである。
【００７２】
[車両ログ送信装置の構成]
次に、車両ログ送信装置１０について説明する。
【００７３】
図２は、本開示の実施の形態１における車両ログ送信装置１０の構成図である。車両ログ送信装置１０は、車両ログを車両ログ解析サーバ２０へ送信する装置である。図２において、車両ログ送信装置１０は、車両ログ取得部１１０と、車両状態抽出部１２０と、差分生成用ログ保存部１３０と、差分生成用ログ選択部１４０と、差分ログ生成部１５０と、差分ログ送信部１６０とを備える。
【００７４】
車両ログ取得部１１０は、車両システム３００と車両ネットワーク６０を介して接続される。車両ログ取得部１１０は、車両２００の動作に関わる複数のデータを含む車両ログを取得し、車両状態抽出部１２０と差分ログ生成部１５０とに、取得した車両ログを通知する。なお、車両ログは、データの種類を示すＩＤがそれぞれ対応付けられている複数のデータを含んでいてもよい。また、車両ログは、データの種類を示すＩＤがそれぞれ対応付けられている複数のデータであって、所定のＩＤを起点とする複数のＩＤを１周期として当該複数のＩＤが周期的に繰り返されるように並べられた複数のデータを含んでいてもよい。また、車両ログは、時刻情報がそれぞれ対応付けられている複数のデータを含んでいてもよい。
【００７５】
車両状態抽出部１２０は、車両ログ取得部１１０で取得された車両ログに含まれる車両状態を取得し、差分生成用ログ選択部１４０に取得した車両状態を通知する。
【００７６】
ここで、車両状態は、車両２００の状態であり、本実施の形態においては、車両２００の速度、車両２００の走行モード（例えば、運転支援モードまたは自動運転モード等）、走行エリア、気温および天候の情報のうち、少なくとも１つの情報を指す。例えば、車両状態抽出部１２０は、車両ログに含まれる車両速度、運転支援モード、自動運転モード、走行位置、天候および気温のうち少なくとも１つを車両状態として抽出する。なお、車両状態抽出部１２０は、車両速度の範囲を抽出してもよい。例えば、車両状態抽出部１２０は、車両速度が２０ｋｍ／ｈのときに車両速度の範囲が０〜３０ｋｍ／ｈであることを抽出してもよい。また、車両状態抽出部１２０は、気温の範囲を抽出してもよい。例えば、車両状態抽出部１２０は、気温が３３度のときに気温の範囲が３０〜３５度であることを抽出してもよい。また、車両ログ内のどの箇所に車両状態が含まれるかについては、あらかじめ車両ログ定義テーブルに定義されており、車両状態抽出部１２０は、車両ログ定義テーブルを用いて、車両ログの該当場所を参照することで車両状態を抽出できる。車両ログ定義テーブルの詳細は後述する。
【００７７】
差分生成用ログ保存部１３０は、車両ログ送信装置１０と車両ログ解析サーバ２０との間で共有されている車両状態ごとの車両ログである差分生成用ログのリストを記憶する。例えば、差分生成用ログ保存部１３０は、過去に車両ログ解析サーバ２０へ送信された車両ログと、当該送信時の車両状態とが対応付けられた差分生成用ログのリストを記憶してもよい。また、例えば、差分生成用ログ保存部１３０は、車両ログに含まれるＩＤごと、かつ、車両状態ごとの差分生成用ログのリストを記憶してもよい。また、例えば、差分生成用ログ保存部１３０は、データの値を所定値に置換する置換処理またはデータの値を丸める端数処理が施された差分生成用ログのリストを記憶してもよい。また、例えば、差分生成用ログ保存部１３０は、時刻情報をインデックス情報に置換する処理を施された差分生成用ログのリストを記憶してもよい。また、例えば、差分生成用ログ保存部１３０は、ＩＤの値の大きさに応じて並び替えられ、同一ＩＤについてはデータの大きさに応じて並び替えられた差分生成用ログのリストを記憶してもよい。
【００７８】
差分生成用ログ選択部１４０は、車両状態抽出部１２０により抽出された車両状態を受け取り、抽出された車両状態に応じて差分生成用ログ保存部１３０に記憶されたリストから差分生成用ログを選択する。例えば、差分生成用ログ選択部１４０は、抽出された車両状態に対応する差分生成用ログを選択する。差分生成用ログ選択部１４０は、差分ログ生成部１５０と差分ログ送信部１６０とへ選択した差分生成用ログの番号を通知する。
【００７９】
差分ログ生成部１５０は、車両ログ取得部１１０で取得された車両ログと差分生成用ログ選択部１４０で選択された差分生成用ログとに基づいて差分ログを生成する。具体的には、差分ログ生成部１５０は、車両ログ取得部１１０から車両ログを受け取り、差分生成用ログ選択部１４０から差分生成用ログの番号を受け取り、差分生成用ログ保存部１３０から差分生成用ログの番号と対応する差分生成用ログを取得する。そして、例えば、差分ログ生成部１５０は、車両ログを、ルールに従って加工し、加工済み車両ログと差分生成用ログとの差分を算出し、算出した結果である差分ログと、車両ログの加工に使用したルールである車両ログ加工ルールとを差分ログ送信部１６０へ通知する。車両ログ加工ルールおよび差分ログの詳細は後述する。なお、例えば、差分ログ生成部１５０は、取得された車両ログに含まれるＩＤのそれぞれについて、当該ＩＤに対応付けられたデータと、当該ＩＤに対応する選択された差分生成用ログとに基づいて差分ログを生成してもよい。また、例えば、差分ログ生成部１５０は、さらに、取得された車両ログに対して置換処理または端数処理を実施した後、差分ログを生成してもよい。また、例えば、差分ログ生成部１５０は、さらに、取得された車両ログに含まれる時刻情報をインデックス情報に置換した後、差分ログを生成してもよい。また、例えば、差分ログ生成部１５０は、さらに、取得された車両ログについて、時刻情報をインデックス情報に置換し、ＩＤの値の大きさに応じて並び替え、同一ＩＤについてはデータの値の大きさに応じて並び替えた後、差分ログを生成してもよい。また、例えば、差分ログ生成部１５０は、データ圧縮辞書として選択された差分生成用ログを用いて、取得された車両ログを所定の圧縮アルゴリズムにて圧縮し、圧縮した車両ログを差分ログとして生成してもよい。
【００８０】
差分ログ送信部１６０は、差分ログ生成部１５０で生成された差分ログと、差分生成用ログ選択部１４０で選択された差分生成用ログに対応する差分生成用ログ識別子とを車両ログ解析サーバへ送信する。具体的には、差分ログ送信部１６０は、差分生成用ログ選択部１４０から差分生成用ログ識別子として差分生成用ログの番号を受信し、差分ログ生成部１５０から差分ログを受信し、差分ログを可逆圧縮し、可逆圧縮した差分ログと差分生成用ログの番号とを車両ログ解析サーバ２０へ送信する。
【００８１】
[車両ログ解析サーバ２０の構成図]
図３は、本開示の実施の形態１における車両ログ解析サーバ２０の構成図である。車両ログ解析サーバ２０は、車両ログを車両ログ送信装置１０から受信する装置である。図３において、車両ログ解析サーバ２０は、差分ログ受信部２１０と、復元用ログ保存部２２０と、車両ログ復元部２３０と、車両ログ保存部２４０と、異常ログ検出部２５０と、異常通知部２６０を備える。
【００８２】
差分ログ受信部２１０は、外部ネットワーク５０と接続され、外部ネットワーク５０を介して車両ログ送信装置１０（差分ログ送信部１６０）から送信された、可逆圧縮された差分ログと差分生成用ログ識別子（差分生成用ログの番号）を受信し、可逆圧縮された差分ログを伸長し、伸長した差分ログと差分生成用ログの番号とを車両ログ復元部２３０へ通知する。
【００８３】
復元用ログ保存部２２０は、車両ログ送信装置１０の差分生成用ログ保存部で記憶されている差分生成用ログのリストと同じ差分生成用ログのリストを記憶する。すなわち、復元用ログ保存部２２０は、車両ログ送信装置１０と車両ログ解析サーバ２０との間で共有されている車両状態ごとの車両ログである差分生成用ログのリストを記憶する。例えば、復元用ログ保存部２２０は、過去に車両ログ解析サーバ２０へ送信された車両ログと、当該送信時の車両状態とが対応付けられた差分生成用ログのリストを記憶してもよい。また、例えば、復元用ログ保存部２２０は、車両ログに含まれるＩＤごと、かつ、車両状態ごとの差分生成用ログのリストを記憶してもよい。また、例えば、復元用ログ保存部２２０は、データの値を所定値に置換する置換処理またはデータの値を丸める端数処理が施された差分生成用ログのリストを記憶してもよい。また、例えば、復元用ログ保存部２２０は、時刻情報をインデックス情報に置換する処理を施された差分生成用ログのリストを記憶してもよい。また、例えば、復元用ログ保存部２２０は、ＩＤの値の大きさに応じて並び替えられ、同一ＩＤについてはデータの大きさに応じて並び替えられた差分生成用ログのリストを記憶してもよい。
【００８４】
車両ログ復元部２３０は、差分生成用ログ識別子と復元用ログ保存部２２０に記憶されたリストとから差分ログの生成に用いられた差分生成用ログを特定し、差分ログと特定された差分生成用ログとに基づいて車両ログを復元する。具体的には、車両ログ復元部２３０は、差分ログ受信部２１０から差分ログと差分生成用ログの番号を受け取り、復元用ログ保存部２２０から差分生成用ログの番号に対応する差分生成用ログを取得し、差分ログと差分生成用ログとの差分を算出して、車両ログを復元する。例えば、車両ログ復元部２３０は、差分ログに含まれるＩＤのそれぞれについて、当該ＩＤに対応付けられたデータと、当該ＩＤに対応する特定された差分生成用ログとに基づいて車両ログを復元してもよい。また、例えば、車両ログ復元部２３０は、所定のＩＤを起点とする複数のＩＤに対応する差分生成用ログを特定し、差分ログと特定された差分生成用ログとに基づいて車両ログを復元してもよい。また、例えば、車両ログ復元部２３０は、さらに、送信された時刻リストを参照して、インデックス情報を時刻情報に置換して車両ログを復元してもよい。また、例えば、車両ログ復元部２３０は、さらに、送信された時刻リストを参照して、インデックス情報を時刻情報に置換し、時刻の早い順番に並び替えて車両ログを復元してもよい。また、例えば、車両ログ復元部２３０は、特定された差分生成ログをデータ圧縮辞書として用いて、差分ログを所定の圧縮アルゴリズムにて伸長し、車両ログを復元してもよい。さらに、車両ログ復元部２３０は、車両ログを車両ログ保存部２４０に記録する。車両ログの復元方法の詳細は後述する。
【００８５】
車両ログ保存部２４０は、復元された車両ログを記憶する。
【００８６】
異常ログ検出部２５０は、車両ログ保存部２４０に記憶される復元された車両ログを監視し、当該車両ログに攻撃の痕跡が含まれる場合に異常ログとして検出し、異常通知部２６０に通知する。例えば、車両ログに、正常の処理シーケンスと異なるタイミングで車両装置が動作したログや正常範囲外の制御値を含むネットワーク通信が行われたログが含まれている場合に、異常ログ検出部２７０は、車両２００へのサイバー攻撃の痕跡があるとして、セキュリティ上の脅威として検出する。
【００８７】
異常通知部２６０は、所定の通知先に車両が異常であることを通知する。具体的には、異常通知部２６０は、異常ログ検出部２５０から異常な車両ログを受け取り、所定の通知先として、例えば、車両ログ解析サーバ２０を利用するオペレータや該当車両のドライバーに異常を通知する機能を有する。
【００８８】
[車両ログ]
図４は、本開示の実施の形態１における車両ログ取得部１１０が取得する車両ログの一例を示す図である。車両ログは、データの種類を示すＩＤがそれぞれ対応付けられている複数のデータを含む。図４における車両ログには、ＩＤとして、ＩＤ１、ＩＤ２、ＩＤ３およびＩＤ４が含まれる。また、図４における車両ログには、それぞれが８バイトのデータである複数のデータが含まれる。８バイトのデータを１つのデータとしたときに、当該１つのデータに対してＩＤが対応付けられている。また、図４に示されるように、複数のデータは、所定のＩＤを起点とする複数のＩＤを１周期として当該複数のＩＤが周期的に繰り返されるように並べられる。例えば、所定のＩＤをＩＤ１とすると、ＩＤ１を起点とするＩＤ１、ＩＤ２、ＩＤ３およびＩＤ４を１周期としてＩＤ１、ＩＤ２、ＩＤ３およびＩＤ４が周期的に繰り返されるように複数のデータが並べられる。なお、所定のＩＤは、ＩＤ１に限らない。例えば、所定のＩＤをＩＤ２とすると、ＩＤ２を起点とするＩＤ２、ＩＤ３、ＩＤ４およびＩＤ１を１周期としてＩＤ２、ＩＤ３、ＩＤ４およびＩＤ１が周期的に繰り返されるように複数のデータが並べられる。また、図４に示されるように、複数のデータは、時刻情報がそれぞれ対応付けられている。例えば、「１０：１０：１０」（１０時１０分１０秒）等の時刻が時刻情報である。図４において、車両ログは、時刻と、ＩＤと、８バイトのデータ（８つの１バイトのデータ）との組で構成される。時刻は、車両ログの発生時刻である。
【００８９】
ＩＤは、データの種類を示し、例えば、車両ログの発生元のイベントまたはメッセージを特定する識別子である。例えば、車両ログが、ＥＣＵのシステム動作を示すイベントの場合のＩＤは、プロセス番号であり、ＣＡＮまたはＣＡＮ−ＦＤの通信プロトコルに従うメッセージの場合のＩＤは、フレームＩＤであり、ＦｌｅｘＲａｙの通信プロトコルに従うメッセージの場合のＩＤは、スロットＩＤであり、Ｅｔｈｅｒｎｅｔの通信プロトコルに従うメッセージの場合のＩＤは、ＩＰアドレスである。
【００９０】
複数のデータのそれぞれは、例えば、１バイトごとに０ｘ００から０ｘＦＦまでの１６進数の数値からなる８バイトのデータである。図４において、データは、１６進数表記の０ｘを省略して記載している。例えば、図４において、車両ログにおける１行目は、時刻「１０：１０：１０」に発生したイベントまたはメッセージであり、ＩＤは「ＩＤ１」であり、１バイト目に１６進数表記で「０１」、２バイト目に１６進数表記で「５０」、３バイト目に１６進数表記で「４１」、４バイト目に１６進数表記で「３０」、５バイト目に１６進数表記で「３０」、６バイト目に１６進数表記で「３０」、７バイト目に１６進数表記で「３０」、８バイト目に１６進数表記で「３０」であることを示している。
【００９１】
車両ログの各バイトのデータ値が何を示しているかについては、車両ログ定義テーブルが参照される。車両ログ定義テーブルの詳細は、後述する。
【００９２】
また図４において、ＩＤが「ＩＤ１」である車両ログは、時刻「１０：１０：１０」に発生した後、時刻「１０：２０：１０」、「１０：５０：１０」等にも発生しており、ＩＤが「ＩＤ１」のイベントまたはメッセージが定期的に発生していることを示している。
【００９３】
また図４において、ＩＤが「ＩＤ２」である車両ログは、ＩＤが「ＩＤ１」のイベントまたはメッセージの後に続いて発生していることを示している。つまり、複数のデータは、複数のＩＤ（ここでは、ＩＤ１、ＩＤ２、ＩＤ３およびＩＤ４）が周期的に繰り返されるように並べられる。
【００９４】
このように、車両ログを参照することで、イベントやメッセージの発生時刻とデータを確認することができるため、車両ログを用いて、正常の処理シーケンスと異なるタイミングで車両システム３００が動作したか否か、または、正常範囲外の制御値を含むネットワーク通信が行われたか否か等を判定でき、セキュリティ上の脅威を検出できる。
【００９５】
[車両ログ定義テーブル]
図５は、本開示の実施の形態１における車両状態抽出部１２０と差分ログ生成部１５０とで用いる車両ログ定義テーブルの一例を示す図である。車両ログ定義テーブルは、車両ログのＩＤ毎の各バイトのデータ値が何を示しているかを示すデータ種別を定義するテーブルである。
【００９６】
図５においてＩＤが「ＩＤ１」の場合、１バイト目は「カウンタ」を定義し、２バイト目から８バイト目は、「車両番号」を定義している。
【００９７】
ＩＤが「ＩＤ２」の場合、１バイト目は、「カウンタ」を定義し、２バイト目は、「チェックサム」を定義し、３バイト目と４バイト目は、「速度」を定義し、５バイト目は、「シフト」を定義し、６バイト目から８バイト目は、未使用であり、定義されていない。
【００９８】
ＩＤが「ＩＤ３」の場合、１バイト目は、「カウンタ」を定義し、２バイト目は、「チェックサム」を定義し、３バイト目と４バイト目は、「舵角」を定義し、５バイト目から８バイト目は、未使用であり、定義されていない。
【００９９】
次に、ＩＤが「ＩＤ４」の場合、１バイト目は、「カウンタ」を定義し、２バイト目は、「車両状態」を定義し、３バイト目と４バイト目は、「位置情報」を定義し、５バイト目は、「ワイパー」を定義し、６バイト目は、「エアコン」を定義し、７バイト目と８バイト目は、未使用であり、定義されていない。
【０１００】
定義された、「車両番号」は、７バイトの値であり、車両ごとに固定の値をとる。定義された、「速度」と「舵角」と「位置情報」は２バイトであり、００００からＦＦＦＦまでの値である。定義された、「チェックサム」と「カウンタ」は１バイトであり、００からＦＦまでの値である。定義された「車両状態」は、「００」の値の場合、「停車中」を示し、「０１」の値の場合、「クルーズコントロールモード」を示し、「０２」の値の場合、「日本、大阪府、大阪市」を示し、「０３」の値の場合、「雨、２０度」を示す。定義された「ワイパー」と「エアコン」は、「０１」の値の場合、「稼働中」を示し、「００」の場合、「非稼働」を示す。定義された「シフト」は、「００」の値の場合、「パーキング」を示し、「０１」の値の場合、「ドライブ」を示す。ここで、「クルーズコントロールモード」とは、車両２００の前方の車両に追従して、車両２００を自動走行させるモードである。
【０１０１】
車両状態抽出部１２０は、車両ログと車両ログ定義テーブルを参照することで、例えば、カウンタとチェックサムと車両状態が車両ログのどこに格納されているかを確認できる。
【０１０２】
[車両ログ加工ルール]
次に車両ログ加工ルールについて説明する。車両ログ加工ルールは、差分ログ生成部１５０が車両ログから加工済み車両ログを生成する際にどのようなルールで生成したかを示すルールである。車両ログ加工ルールは、差分ログ生成部１５０が車両ログから加工済み車両ログを生成する際に生成される。
【０１０３】
図６は、本開示の実施の形態１における差分ログ生成部１５０が使用する車両ログ加工ルールの一例を示す図である。図６において、車両ログ加工ルールは、加工項目と、加工有無と、加工前の値と、加工後の値との組で構成される。
【０１０４】
加工項目は、「時刻インデックス」、「ＩＤソート（昇順）」、「データソート（昇順）」および「データ置換」のいずれかである。車両ログ加工ルールは、上から順に車両ログを加工するルールを示している。
【０１０５】
「時刻インデックス」は、車両ログの時刻をインデックス情報に置換する処理のルールを表す。例えば、図６では、時刻インデックスは、ＩＤごとの時刻に対して通し番号（Ｔ１１、Ｔ１２、・・・、Ｔ５４）を割り振るルールを示している。
【０１０６】
「ＩＤソート（昇順）」は、ＩＤが小さい順番に並び替えられるように車両ログを加工する処理のルールを表す。なお、図６では、一例として「ＩＤソート（昇順）」を示しているが、ＩＤが大きい順番に並べ替えられる場合は、「ＩＤソート（降順）」と表される。
【０１０７】
「データソート（昇順）」は、同一のＩＤの中で特定のバイト、例えば、４バイト目のデータが小さい順番に並び替えられるように車両ログを加工する処理のルールを表す。なお、図６では、一例として「データソート（昇順）」を示しているが、同一のＩＤの中で特定のバイトのデータを大きい順番に並べ替えられる場合は、「データソート（降順）」と表される。
【０１０８】
「データ置換」は、車両ログ定義テーブルに記載されている特定のデータ種別（例えばカウンタおよびチェックサム）に該当するデータ領域のすべてを特定の値（例えば００）に置換する処理のルールを表す。
【０１０９】
次に、加工有無は、「有効」および「無効」のいずれかであり、対応する加工項目のルールを実施したか否かを示す。対応する加工項目のルールが実施された場合、加工有無は「有効」となり、対応する加工項目のルールが実施されなかった場合、加工有無は「無効」となる。
【０１１０】
加工前の値は、対応する加工項目において車両ログの元の値であり、加工後の値は、対応する加工項目において車両ログの加工後の値（つまり加工済み車両ログにおける値）を示す。
【０１１１】
図６において、加工項目「時刻インデックス」は、加工有無が「有効」である。加工前の値「１０：１０：１０」に対し、加工後の値「Ｔ１１」であり、加工前の値「１０：１０：２０」に対して、加工後の値「Ｔ１２」と続く。
【０１１２】
図６において、加工項目「ＩＤソート（昇順）」および「データソート（昇順）」は、加工有無が「有効」である。加工前の値と加工後の値は「−」となっており、「−」は値を置換しないルールであることを示す。「ＩＤソート（昇順）」および「データソート（昇順）」では、データは並び変えられるが、データの値自体は置換されないためである。
【０１１３】
また、加工項目「データ置換」は、加工有無が「有効」であり、加工前の値は「カウンタ」および「チェックサム」の値を示しており、加工後の「カウンタ」および「チェックサム」の値を「００」に置換するルールを表す。
【０１１４】
車両ログ送信装置１０と車両ログ解析サーバ２０との間で車両ログ加工ルールを共有することで、車両ログ送信装置１０で加工された加工済み車両ログを車両ログ解析サーバ２０で元の車両ログに戻すことができる。なお、予め定められたルールを用いて加工済み車両ログが生成され、当該予め定められたルールを用いて差分生成用ログが生成される場合に、当該予め定められたルールを車両ログ送信装置１０と車両ログ解析サーバ２０とが予め保有しているときには、車両ログ加工ルールとして少なくとも時刻情報とインデックス情報との対応関係を示す時刻リストが車両ログ送信装置１０から車両ログ解析サーバ２０へ送信されればよい。車両ログ解析サーバ２０は、時刻情報以外の情報については、予め定められたルールを用いて復元することができるためである。
【０１１５】
[加工済み車両ログ]
図７は、本開示の実施の形態１における差分ログ生成部１５０が生成する加工済み車両ログの一例を示す図である。図７は、図４で説明した車両ログを図６の車両ログ加工ルールで加工したときの加工済み車両ログの一例である。図７において、加工済み車両ログは、車両ログと同様に、時刻と、ＩＤと、８バイトのデータとの組で構成される。
【０１１６】
図７において、加工済み車両ログの時刻は、図６における車両ログ加工ルールでの「時刻インデックス」によるルールに従って、時刻インデックス（Ｔ１１、Ｔ１２、・・・、Ｔ５４）に置換されている。例えば、時刻「Ｔ１１」は、時刻「１０：１０：１０」を置換したときの時刻インデックスである。
【０１１７】
さらに、加工済み車両ログでは、ＩＤが小さい順にソートされている。
【０１１８】
加工済み車両ログのＩＤが「ＩＤ３」で時刻「Ｔ５３」、「Ｔ１３」、「Ｔ２３」の行における４バイト目のデータの値はそれぞれ「１０」、「２０」、「３０」であり、図６における車両ログ加工ルールでの「データソート（昇順）」によるルールに従って、同一ＩＤの４バイト目のデータが小さい順にソートされている。
【０１１９】
加工済み車両ログの１バイト目は、図５の車両ログ定義テーブルによると、「カウンタ」であり、図６における車両ログ加工ルールでの「データ置換」によるルールに従って、データの値は全て「００」に置換されている。
【０１２０】
以上のように、加工済み車両ログでは、時刻、カウンタ、チェックサム、イベント発生時間などの車両ログが発生する度に変わる可能性の高い値をインデックス化され、または「００」などに置換される。なお、加工済み車両ログでは、センサなどの細かい値などを丸める端数処理がされてもよい。
【０１２１】
[差分生成用ログ]
次に、差分生成用ログについて説明する。差分生成用ログは、車両状態ごとに取り得るＩＤとＩＤに対応するデータとの組で構成される。差分生成用ログでは、ＩＤごと、かつ、車両状態ごとに、車両ログと同じデータ値になる可能性の高い値が設定される。
【０１２２】
例えば、車両状態が「停車中」の場合、車両２００の速度は、０ｋｍ、シフトの状態はパーキングである可能性が高い。
【０１２３】
また、車両状態が「クルーズコントロールモード」の場合、車両２００が高速道路を走行中にこのモードに設定されることが多いので、速度は、所定速度以上の高速、シフトの状態はドライブである可能性が高い。
【０１２４】
さらに、車両状態が「日本、大阪府、大阪市」の場合、車両２００の位置が、市街地で歩行者が多いので、車両２００の速度は、所定速度以下の低速である可能性が高い。
【０１２５】
車両状態が「雨、２０度」の場合、車両２００は、ワイパーが稼働中、エアコンが非稼働である可能性が高い。
【０１２６】
図８は、本開示の実施の形態１における差分生成用ログ保存部１３０が記憶する差分生成用ログの一例を示す図である。図８において、差分生成用ログは車両状態ごとに番号が付与されており、ＩＤと８バイトのデータとの組で構成される。差分生成用ログの各バイトのデータ値が何を示しているかについては、車両ログと同様、車両ログ定義テーブルを参照する。
【０１２７】
図８において、差分生成用ログの番号「１」は、車両状態が「停車中」の差分生成用ログであり、２つ目の組は、ＩＤが「ＩＤ２」、１バイト目のカウンタの値が「００」、２バイト目のチェックサムの値が「００」、３バイト目と４バイト目の速度の値が「００」、「００」であり、５バイト目のシフトの値が「パーキング」を示す「００」である。
【０１２８】
差分生成用ログの番号「２」は、車両状態が「クルーズコントロールモード」の差分生成用ログであり、２つ目の組は、ＩＤは「ＩＤ２」、１バイト目のカウンタの値が「００」、２バイト目のチェックサムの値が「００」、３バイト目と４バイト目の速度の値が「２０」、「１０」であり、５バイト目のシフトの値が「ドライブ」を示す「０１」である。
【０１２９】
差分生成用ログの番号「３」は、車両状態が「日本、大阪府、大阪市」の差分生成用ログであり、４つ目の組は、ＩＤが「ＩＤ４」、１バイト目のカウンタの値が「００」、２バイト目の車両状態の値が「日本、大阪府、大阪市」を表す「０２」であり、３バイト目と４バイト目の位置情報の値が「８７」と「３４」であり、５バイト目のワイパーの値が非稼働を表す「００」であり、６バイト目のエアコンの値が非稼働を表す「００」である。
【０１３０】
差分生成用ログの番号「４」は、車両状態が「雨、２０度」の差分生成用ログであり、４つ目の組は、ＩＤが「ＩＤ４」、１バイト目のカウンタの値は「００」、２バイト目の車両状態の値が「雨、２０度」を表す「０３」であり、３バイト目と４バイト目の位置情報の値が「００」と「００」であり、５バイト目のワイパーの値が稼働を表す「０１」であり、６バイト目のエアコンの値が非稼働を表す「００」である。
【０１３１】
[差分ログ]
次に差分ログの詳細について説明する。差分ログ生成部１５０は、差分生成用ログを用いて、加工済み車両ログから差分ログを生成する。差分ログは、差分生成用ログとの差が小さくなるように生成される。差分が小さくなるほど、差分ログのデータ圧縮率が高く、通信量を削減可能になるからである。差分ログの生成には、車両２００の車両状態に基づいて、対応する車両状態の差分生成用ログが用いられる。
【０１３２】
図９は、本開示の実施の形態１における差分ログ生成部１５０が生成する差分ログの一例を示した図である。
【０１３３】
図９において、差分ログは、加工済み車両ログと同様に、時刻と、ＩＤと、８バイトのデータとの組で構成される。図９において差分ログは、図７の加工済み車両ログと図８の差分生成用ログとを用いて生成した差分ログである。図７において、加工済み車両ログのＩＤが「ＩＤ４」の２バイト目の車両状態は、クルーズコントロールモードを示す「０１」である。従って、差分ログの生成に、差分生成用ログの番号が「２」のクルーズコントロールモードの差分生成ログが用いられる。
【０１３４】
差分ログは、加工済み車両ログのＩＤに対応する１バイトごとの値と、ＩＤの値が同じ差分生成用ログのデータの１バイトごとの値とを用いて、排他的論理和を算出した結果である。
【０１３５】
このように、差分ログの生成に、排他的論理和を用いるのは、車両ログ解析サーバ２０側で、差分ログと差分生成用ログとを用いて加工済み車両ログを復元する際に、車両ログ解析サーバ２０も、差分ログのＩＤに対応する１バイトごとの値と、差分生成用ログのデータの１バイトごとの値とを用いて、排他的論理和を算出するためである。
【０１３６】
図９において、差分ログの時刻「Ｔ１１」のＩＤ「ＩＤ１」の、１バイト目から８バイト目までのデータは「００」である。図７の加工済み車両ログの時刻「Ｔ１１」のＩＤ「ＩＤ１」の、１バイト目が「００」、２バイト目が「５０」、３バイト目が「４０」、４バイト目から８バイト目が「３０」であり、図８の差分生成用ログの番号「２」の差分生成用ログの、ＩＤ「ＩＤ１」の、１バイト目が「００」であり、２バイト目が「５０」、３バイト目が「４０」、４バイト目から８バイト目が「３０」であるため、これらの値の排他的論理和をとった結果の値が、１バイト目から８バイト目まで「００」になる。
【０１３７】
差分ログの時刻「Ｔ１１」のＩＤ「ＩＤ１」の１バイト目から８バイト目までが「００」であり、差分生成用ログの番号「２」の差分生成用ログの、ＩＤ「ＩＤ１」の１バイト目が「００」、２バイト目が「５０」、３バイト目が「４０」、４バイト目から８バイト目が「３０」であり、差分ログと差分生成用ログとにおけるこれらの値の排他的論理和をとった結果の値が、加工済み車両ログの時刻「Ｔ１１」のＩＤが「ＩＤ１」の１バイト目が「００」、２バイト目が「５０」、３バイト目が「４０」、４バイト目から８バイト目が「３０」となり、差分ログから加工済み車両ログを復元できる。
【０１３８】
図９において、差分ログの時刻「Ｔ２２」のＩＤ「ＩＤ２」の、１バイト目から３バイト目、５バイト目から８バイト目までのデータは「００」であり、４バイト目のみ「１０」である。図７の加工済み車両ログの時刻「Ｔ２２」のＩＤ「ＩＤ２」の、１バイト目と２バイト目と６バイト目から８バイト目が「００」であり、速度を表す３バイト目と４バイト目が「２０」、「００」であり、シフトを表す５バイト目が「０１」であり、図８の差分生成用ログの番号「２」の差分生成用ログの、ＩＤ「ＩＤ２」の、１バイト目と２バイト目と６バイト目から８バイト目が「００」であり、３バイト目と４バイト目が「２０」「１０」であり、５バイト目が「０１」であるため、これらの値の排他的論理和をとった結果の値が、１バイト目から３バイト目、５バイト目から８バイト目が「００」になり、４バイト目が「１０」になる。
【０１３９】
差分ログの時刻「Ｔ２２」のＩＤ「ＩＤ２」の１バイト目から３バイト目、５バイト目から８バイト目が「００」、４バイト目が「１０」であり、差分生成用ログの番号「２」の差分生成用ログのＩＤ「ＩＤ２」の、１バイト目と２バイト目と６バイト目から８バイト目が「００」、３バイト目と４バイト目が「２０」、「１０」、５バイト目が「０１」であり、差分ログと差分生成用ログとにおけるこれらの値の排他的論理和をとった結果の値が、加工済み車両ログの時刻「Ｔ２２」のＩＤ「ＩＤ２」の１バイト目から３バイト目、５バイト目から８バイト目まで「００」となり、４バイト目「１０」となり、差分ログから加工済み車両ログを復元できる。
【０１４０】
[差分ログの送信処理のシーケンス]
次に、車両ログ送信装置１０が、差分ログを生成して送信する処理について説明する。
【０１４１】
図１０は、本開示の実施の形態１における車両ログ送信装置１０が差分ログを生成して送信する処理シーケンスを示す図である。
【０１４２】
（Ｓ１００１）車両ログ送信装置１０の車両ログ取得部１１０は、車両ログを取得し、車両状態抽出部１２０へ車両ログを通知する。
【０１４３】
（Ｓ１００２）車両状態抽出部１２０は、車両ログを受領し、車両ログ定義テーブルを参照して車両ログから車両状態を抽出する。
【０１４４】
（Ｓ１００３）車両状態抽出部１２０は、差分生成用ログ選択部１４０へ抽出した車両状態を通知する。
【０１４５】
（Ｓ１００４）差分生成用ログ選択部１４０は、車両状態を受領する。
【０１４６】
（Ｓ１００５）差分生成用ログ選択部１４０は、受領した車両状態に対応する差分生成用ログを選択し、差分ログ生成部１５０へ選択した差分生成用ログの番号を通知する。
【０１４７】
（Ｓ１００６）差分ログ生成部１５０は、差分生成用ログの番号を受領し、差分生成用ログ保存部１３０から差分生成用ログの番号に対応する差分生成用ログを取得する。
【０１４８】
（Ｓ１００７）車両ログ取得部１１０は、差分ログ生成部１５０へ車両ログを通知する。
【０１４９】
（Ｓ１００８）差分ログ生成部１５０は、通知された車両ログを受領する。
【０１５０】
（Ｓ１００９）差分ログ生成部１５０は、受領した車両ログから加工済み車両ログを生成する。加工済み車両ログを生成する際に用いたルールを車両ログ加工ルールとする。さらに、差分ログ生成部１５０は、加工済み車両ログと差分生成用ログとを用いて差分ログを生成し、差分ログ送信部１６０へ差分ログと差分生成用ログの番号と車両ログ加工ルールを通知する。
【０１５１】
（Ｓ１０１０）差分ログ送信部１６０は、通知された差分ログと差分生成用ログ番号と車両ログ加工ルールを受領する。
【０１５２】
（Ｓ１０１１）差分ログ送信部１６０は、受領した差分ログを圧縮し、車両ログ解析サーバ２０へ圧縮した差分ログと差分生成用ログ番号と車両ログ加工ルールを送信する。
【０１５３】
[差分ログの受信処理のシーケンス]
次に、車両ログ解析サーバ２０が、差分ログを受信し、異常検知処理を実施する処理について説明する。
【０１５４】
図１１は、本開示の実施の形態１における車両ログ解析サーバ２０が差分ログを受信する処理シーケンスを示す図である。
【０１５５】
（Ｓ１１０２）差分ログ受信部２１０は、圧縮された差分ログと差分生成用ログ番号と車両ログ加工ルールを受信し、圧縮された差分ログを伸長し、車両ログ復元部２３０へ伸長した差分ログと差分生成用ログ番号と車両ログ加工ルールを通知する。
【０１５６】
（Ｓ１１０３）車両ログ復元部２３０は、通知された差分ログと差分生成用ログ番号と車両ログ加工ルールを受領し、復元用ログ保存部２２０から差分生成用ログの番号と対応する差分生成用ログを取得する。
【０１５７】
（Ｓ１１０４）車両ログ復元部２３０は、差分ログと差分生成用ログとから車両ログを復元して車両ログ保存部２４０に記憶し、異常ログ検出部２５０へ車両ログを通知する。
【０１５８】
（Ｓ１１０５）異常ログ検出部２５０は、通知された車両ログを受領する。
【０１５９】
（Ｓ１１０６）異常ログ検出部２５０は、受領した車両ログに異常が含まれるか否かを検知し、車両ログに異常が含まれる場合に、異常通知部２６０へ異常であることを通知する。
【０１６０】
（Ｓ１１０７）異常通知部２６０は、通知された異常を受領し、車両ログ解析サーバ２０の利用者または、異常な車両ログを発生した車両２００のドライバーへ異常を通知する。
【０１６１】
[加工済み車両ログ生成処理のフローチャート]
次に、差分ログ生成部１５０による、ルールに従って車両ログから加工済み車両ログを生成する処理について説明する。当該ルールは、例えば車両ログ解析システム１００のユーザまたは車両２００のユーザ等による設定である。
【０１６２】
図１２は、本開示の実施の形態１における差分ログ生成部１５０の加工済み車両ログ生成処理のフローチャートを示す。
【０１６３】
（Ｓ１２０１）差分ログ生成部１５０は、車両ログ取得部１１０から車両ログを取得する。
【０１６４】
（Ｓ１２０２）差分ログ生成部１５０は、車両ログの「時刻」を加工するか否かをルールに応じて判断する。差分ログ生成部１５０は、車両ログの「時刻」を加工すると判断する場合（ＹＥＳの場合）、ステップＳ１２０３の処理を実施する。差分ログ生成部１５０は、車両ログの「時刻」を加工しないと判断する場合（ＮＯの場合）、加工項目「時刻インデックス」、加工有無「無効」として車両ログ加工ルールを生成する。次に、差分ログ生成部１５０は、ステップＳ１２０５の処理を実施する。
【０１６５】
（Ｓ１２０３）差分ログ生成部１５０は、加工項目「時刻インデックス」、加工有無「有効」とし、車両ログの時刻を加工前の値とし、時刻インデックスの通し番号を加工後の値として時刻リストを生成する。
【０１６６】
差分ログ生成部１５０が、車両ログの「時刻」を加工すると判断する場合とは、例えば、上記ルールが車両ログの「時刻」を加工するというルール（設定）になっていることを意味する。また、差分ログ生成部１５０が、車両ログの「時刻」を加工しないと判断する場合とは、例えば、上記ルールが車両ログの「時刻」を加工しないというルール（設定）になっていることを意味する。ステップＳ１２０３で生成される車両ログ加工ルールは、図６における「時刻インデックス」の行に対応し、当該車両ログ加工ルールは、時刻情報とインデックス情報との対応関係を示す時刻リストの一例である。当該時刻リストによって、例えば、時刻「１０：１０：１０」と時刻インデックス「Ｔ１１」とが対応していることがわかる。
【０１６７】
（Ｓ１２０４）差分ログ生成部１５０は、時刻リストにおける加工前の値と加工後の値とを参照し、車両ログの時刻を加工後の値である時刻インデックスの通し番号に置換する。
【０１６８】
（Ｓ１２０５）差分ログ生成部１５０は、車両ログの「ＩＤ」を小さい順にソートするか否かをルールに応じて判断する。差分ログ生成部１５０は、車両ログの「ＩＤ」をソートすると判断する場合（ＹＥＳの場合）、加工項目「ＩＤソート（昇順）」、加工有無「有効」、加工前の値「−」、加工後の値「−」として車両ログ加工ルールを生成する。次に、差分ログ生成部１５０は、ステップＳ１２０６の処理を実施する。差分ログ生成部１５０は、車両ログの「ＩＤ」をソートしないと判断する場合（ＮＯの場合）、加工項目「ＩＤソート（昇順）」、加工有無「無効」として車両ログ加工ルールを生成する。次に、差分ログ生成部１５０は、ステップＳ１２０７の処理を実施する。
【０１６９】
差分ログ生成部１５０が、車両ログの「ＩＤ」をソートすると判断する場合とは、例えば、上記ルールが車両ログの「ＩＤ」をソートするというルール（設定）になっていることを意味する。また、差分ログ生成部１５０が、車両ログの「ＩＤ」をソートしないと判断する場合とは、例えば、上記ルールが車両ログの「ＩＤ」をソートしないというルール（設定）になっていることを意味する。ステップＳ１２０５での判断の後に生成される車両ログ加工ルールは、図６における「ＩＤソート（昇順）」の行に対応する。
【０１７０】
（Ｓ１２０６）差分ログ生成部１５０は、車両ログのＩＤが小さい順に並び替える。
【０１７１】
（Ｓ１２０７）差分ログ生成部１５０は、車両ログの「データ」を小さい順にソートするか否かをルールに応じて判断する。差分ログ生成部１５０は、車両ログの「データ」をソートすると判断する場合（ＹＥＳの場合）、加工項目「データソート（昇順）」、加工有無「有効」、加工前の値「−」、加工後の値「−」として車両ログ加工ルールを生成する。次に、差分ログ生成部１５０は、ステップＳ１２０８の処理を実施する。差分ログ生成部１５０は、車両ログの「データ」をソートしないと判断する場合（ＮＯの場合）、加工項目「データソート（昇順）」、加工有無「無効」として車両ログ加工ルールを生成する。次に、差分ログ生成部１５０は、ステップＳ１２０９の処理を実施する。
【０１７２】
差分ログ生成部１５０が、車両ログの「データ」をソートすると判断する場合とは、例えば、上記ルールが車両ログの「データ」をソートするというルール（設定）になっていることを意味する。また、差分ログ生成部１５０が、車両ログの「データ」をソートしないと判断する場合とは、例えば、上記ルールが車両ログの「データ」をソートしないというルール（設定）になっていることを意味する。ステップＳ１２０７での判断の後に生成される車両ログ加工ルールは、図６における「データソート（昇順）」の行に対応する。
【０１７３】
（Ｓ１２０８）差分ログ生成部１５０は、車両ログのデータを小さい順に並び替える。
【０１７４】
（Ｓ１２０９）差分ログ生成部１５０は、車両ログの所定の「データ」を加工するか否かをルールに応じて判断する。差分ログ生成部１５０は、車両ログの所定の「データ」を加工すると判断する場合（ＹＥＳの場合）、加工項目「データ置換」、加工有無「有効」、加工前の値「カウンタ」、加工後の値「００」、加工前の値「チェックサム」、加工後の値「００」として車両ログ加工ルールを生成する。次に、差分ログ生成部１５０は、ステップＳ１２１０の処理を実施する、差分ログ生成部１５０は、車両ログの所定の「データ」を加工しないと判断する場合（ＮＯの場合）、加工項目「データ置換」、加工有無「無効」として車両ログ加工ルールを生成する。次に、差分ログ生成部１５０は、ステップＳ１２１１の処理を実施する。
【０１７５】
差分ログ生成部１５０が、車両ログの所定の「データ」を加工すると判断する場合とは、例えば、上記ルールが車両ログの所定の「データ」を加工するというルール（設定）になっていることを意味する。また、差分ログ生成部１５０が、車両ログの所定の「データ」を加工しないと判断する場合とは、例えば、上記ルールが車両ログの所定の「データ」を加工しないというルール（設定）になっていることを意味する。ステップＳ１２０９での判断の後に生成される車両ログ加工ルールは、図６における「データ置換」の行に対応する。
【０１７６】
（Ｓ１２１０）差分ログ生成部１５０は、車両ログのカウンタの値を「００」に、チェックサムの値を「００」に置換する。
【０１７７】
（Ｓ１２１１）差分ログ生成部１５０は、車両ログを加工した加工済み車両ログを記憶する。
【０１７８】
[差分ログ生成処理のフローチャート]
次に、車両ログ送信装置１０による、差分生成用ログを用いて加工済み車両ログから差分ログを生成する処理について説明する。図１３は、本開示の実施の形態１における車両ログ送信装置１０の差分ログ生成処理のフローチャートを示す。
【０１７９】
（Ｓ１３０１）車両ログ送信装置１０の車両状態抽出部１２０は、取得した車両ログから車両状態を取得する。車両状態抽出部１２０は、取得した車両状態を差分生成用ログ選択部１４０に通知する。
【０１８０】
（Ｓ１３０２）差分生成用ログ選択部１４０は、通知された車両状態が何であるかを判断する。差分生成用ログ選択部１４０は、車両状態が「停車中」である場合はステップＳ１３０３の処理を実施し、車両状態が「クルーズコントロールモード」である場合はステップＳ１３０４を実施し、車両状態が「日本、大阪府、大阪市」である場合はステップＳ１３０５を実施し、車両状態が「雨、２０度」である場合はステップＳ１３０６を実施する。
【０１８１】
（Ｓ１３０３）差分生成用ログ選択部１４０は、差分生成用ログ保存部１３０から、差分生成用ログの番号が「１」の「停車中」の差分生成用ログを選択する。差分生成用ログ選択部１４０は、選択した差分生成用ログの番号を差分ログ生成部１５０へ通知する。
【０１８２】
（Ｓ１３０４）差分生成用ログ選択部１４０は、差分生成用ログ保存部１３０から、差分生成用ログの番号が「２」の「クルーズコントロールモード」の差分生成用ログを選択する。差分生成用ログ選択部１４０は、選択した差分生成用ログの番号を差分ログ生成部１５０へ通知する。
【０１８３】
（Ｓ１３０５）差分生成用ログ選択部１４０は、差分生成用ログ保存部１３０から、差分生成用ログの番号が「３」の「日本、大阪府、大阪市」の差分生成用ログを選択する。差分生成用ログ選択部１４０は、選択した差分生成用ログの番号を差分ログ生成部１５０へ通知する。
【０１８４】
（Ｓ１３０６）差分生成用ログ選択部１４０は、差分生成用ログ保存部１３０から、差分生成用ログの番号が「４」の「雨、２０度」の差分生成用ログを選択する。差分生成用ログ選択部１４０は、選択した差分生成用ログの番号を差分ログ生成部１５０へ通知する。
【０１８５】
（Ｓ１３０７）差分ログ生成部１５０は、車両ログを加工して加工済み車両ログを生成し、加工済み車両ログと通知された差分生成用ログの番号に対応する差分生成用ログとの差分をＩＤごとに算出して差分ログを生成する。
【０１８６】
[車両ログ復元処理のフローチャート]
次に、車両ログ解析サーバ２０による車両ログ送信装置１０から送信された差分ログを車両ログに復元する処理について説明する。
【０１８７】
図１４は、本開示の実施の形態１における車両ログ復元部２３０の車両ログ復元処理のフローチャートを示す。
【０１８８】
（Ｓ１４０１）車両ログ復元部２３０は、差分ログ受信部２１０から差分ログと、車両ログ加工ルールを取得し、さらに、復元用ログ保存部２２０から差分生成用ログを取得する。
【０１８９】
（Ｓ１４０２）車両ログ復元部２３０は、差分ログと差分生成用ログとの排他的論理和を計算し、加工済み車両ログを復元する。
【０１９０】
（Ｓ１４０３）車両ログ復元部２３０は、車両ログ加工ルールの加工項目「時刻インデックス」の加工有無が「有効」であるか否かを判定する。車両ログ復元部２３０は、「有効」であると判断する場合（ＹＥＳの場合）、ステップＳ１４０４の処理を実施し、「有効」でないと判断する場合（ＮＯの場合）、ステップＳ１４０５の処理を実施する。
【０１９１】
（Ｓ１４０４）車両ログ復元部２３０は、加工済み車両ログの時刻（時刻インデックス）が、車両ログ加工ルールの加工項目「時刻インデックス」の加工後の値と一致すれば、加工済み車両ログの時刻を車両ログ加工ルールの加工項目「時刻インデックス」の加工前の値に置き換える。
【０１９２】
（Ｓ１４０５）車両ログ復元部２３０は、加工済み車両ログの時刻の早い順番に並び替える。
【０１９３】
（Ｓ１４０６）車両ログ復元部２３０は、ステップＳ１４０３からステップＳ１４０５での処理がなされた後の加工済み車両ログを車両ログとして記憶する。
【０１９４】
（他の実施の形態）
以上のように、本開示に係る技術の例示として実施の形態１を説明した。しかしながら、本開示に係る技術は、これに限定されず、適宜、変更、置き換え、付加、省略等を行った実施の形態にも適用可能である。例えば、以下のような変形例も本開示の一実施態様に含まれる。
【０１９５】
（１）上記実施の形態では、自動車等の車両に対するセキュリティ対策として説明したが、本開示の適用範囲はこれに限られない。本開示は、自動車に限らず、建機、農機、船舶、鉄道、飛行機などのモビリティにも適用してもよい。
【０１９６】
（２）上記の実施の形態では、車両ログ解析サーバ２０は異常ログ検出部２５０と異常通知部２６０を備えると説明したが、異常ログ検出部２５０と異常通知部２６０は必須の構成要素ではない。車両ログ解析サーバ２０が異常ログ検出部２５０と異常通知部２６０を備えない場合、例えば、収集した車両ログは人手によって解析され、攻撃の痕跡があった場合に異常として検出されてもよい。
【０１９７】
（３）上記の実施の形態では、車両ログ送信装置１０は、車両内に設置されているとして説明したが、車両ログ送信装置１０は、複数の車両ログを取りまとめて送信するエッジサーバであってもよいし、車両ログを収集しているクラウドサーバであってもよい。
【０１９８】
（４）上記の実施の形態では、車両ログは、ＥＣＵのシステム動作ログまたは、ＣＡＮ、ＣＡＮ−ＦＤ、Ｅｔｈｅｒｎｅｔ、ＦｌｅｘＲａｙに従うネットワークログであるとして説明したが、ＥＣＵはＩＶＩ（Ｉｎ−Ｖｅｈｉｃｌｅ  Ｉｎｆｏｔａｉｍｅｎｔ  Ｓｙｓｔｅｍ）をであってもよいし、センサ装置であってもよいし、ネットワークはＬＩＮやＭＯＳＴであってもよいし、それぞれを組み合わせた構成であってもよい。
【０１９９】
（５）上記の実施の形態では、差分ログ生成部１５０は、排他的論理和を用いて差分ログを算出するとして説明したが、Ｂｉｎａｒｙ  Ｄｉｆｆなど他の差分生成アルゴリズムを用いて差分ログを算出してもよい。
【０２００】
（６）上記の実施の形態では、差分ログ生成部１５０は、車両ログのうちのデータの領域について、差分生成用ログとの差分を、排他的論理和を用いて算出するとして説明したが、車両ログのうちのＩＤの領域についても差分生成用ログとの差分を、排他的論理和を用いて算出してもよい。ＩＤの領域の差分も排他的論理和を用いて算出する場合、車両ログ復元部２３０が、ＩＤを識別できなくなる。そのため、差分ログ生成部１５０は車両ログ加工ルールに含まれる時刻インデックスにＩＤを識別可能な情報を追加し、車両ログ復元部２３０は時刻インデックスを参照することで、ＩＤを識別して車両ログを復元できる。これにより、車両ログと差分生成用ログとの間の差分をより小さくすることができる。
【０２０１】
（７）上記の実施の形態では、差分ログ送信部１６０は、差分ログを、ＬＨＡやＺＩＰなどの圧縮アルゴリズムを用いて圧縮するとして説明したが、７ｚ、ＲＡＲ、ＡＦＡ、ＣＡＢ、ＧＣＡ、ＤＧＣＡ、ＳｔｕｆｆＩｔ、Ｃｏｍｐａｃｔ  Ｐｒｏ、ｐａｃｋ、ｃｏｍｐｒｅｓｓ、ｂｚｉｐ、ｂｚｉｐ２またはＺｓｔａｎｄａｒｄなど他の圧縮アルゴリズムを用いて圧縮してもよい。
【０２０２】
（８）上記の実施の形態では、差分ログ生成部１５０は、排他的論理和を計算するために差分生成用ログを用いるとして説明したが、圧縮アルゴリズムで用いる圧縮辞書として差分生成用ログを利用してもよい。圧縮辞書として差分生成用ログを利用する場合、差分ログ生成部１５０は、車両ログと差分生成用ログとの差分を必ずしも算出する必要はなく、車両状態に応じて、より圧縮できる可能性の高い圧縮辞書を選択して用いることができる。
【０２０３】
一般に、圧縮辞書として圧縮対象のデータと類似したデータを用いることで圧縮率が向上することが知られている。例えば、圧縮辞書に含まれるデータをＮバイトに分割し、Ｎバイトごとの分割データと分割データの識別子とを対応付ける場合、圧縮対象のデータをＮバイトに分割し、圧縮対象の分割データが圧縮辞書の分割データと一致する場合に、分割データの識別子に置き換えることができる。
【０２０４】
つまり、類似したデータであれば、分割データの多くを識別子に置き換えることができるため、効率的なデータ圧縮が可能となる。
【０２０５】
（９）上記の実施の形態では、差分生成用ログは、車両ログ送信装置１０と車両ログ解析サーバ２０との間で事前に共有されているとして説明したが、差分生成用ログは、車両ログ送信装置１０と車両ログ解析サーバ２０との間で動的に共有されてもよい。例えば、車両ログ送信装置１０から車両ログ解析サーバ２０へ送信された車両ログと当該送信時の車両状態とを、差分生成用ログとして、差分生成用ログ保存部１３０と復元用ログ保存部２２０が記憶してもよい。この場合、差分生成用ログ保存部１３０と復元用ログ保存部２２０は、差分生成用ログを必ずしもＩＤごとに記憶する必要はない。
【０２０６】
差分生成用ログをＩＤごとに記憶しない場合、差分ログ生成部１５０は、送信対象の加工済み車両ログと差分生成用ログの１行ごとの差分を先頭の行から順番に算出して差分ログを生成し、車両ログ復元部２３０は、差分ログと差分生成用ログの１行ごとの差分を先頭の行から順番に算出して車両ログを復元する。これにより、車両状態ごとに差分生成用ログを事前に設定することが不要になり、開発コストが抑えられる。
【０２０７】
また、差分生成用ログ保存部１３０と復元用ログ保存部２２０が差分生成用ログをＩＤごとに記憶しない場合、差分ログ生成部１５０は、送信対象の加工済み車両ログの行数またはデータサイズが同一になるように差分生成用ログの末尾の行から削除してもよい。この場合、車両ログ加工ルールの「加工項目」に「差分生成用ログ削除」、「加工有無」に「有効」、「加工前の値」に削除した行数またはデータサイズ、「加工後の値」に「−」が記載される。送信対象の加工済み車両ログと差分生成用ログの１行ごとの差分を先頭の行から順番に算出して差分ログを生成し、車両ログ復元部２３０は、車両ログ加工ルールを参照し、「差分生成用ログ削除」の「加工有無」が「有効」の場合に、差分生成用ログを末尾の行から行数またはデータサイズ分を削除し、差分ログと差分生成用ログの１行ごとの差分を先頭の行から順番に算出して車両ログを復元してもよい。
【０２０８】
また、差分生成用ログ保存部１３０と復元用ログ保存部２２０が差分生成用ログをＩＤごとに記憶しない場合、差分ログ生成部１５０は、差分生成用ログの先頭１行に含まれるＩＤが、送信対象の加工済み車両ログの先頭の１行に含まれるＩＤまたは所定のＩＤと同一になるように、差分生成用ログの先頭の行から削除してもよい。この場合、車両ログ加工ルールの「加工項目」に「差分生成用ログＩＤ合わせ」、「加工有無」に「有効」、「加工前の値」に削除した行数、「加工後の値」に「−」が記載される。送信対象の加工済み車両ログと差分生成用ログの１行ごとの差分を先頭の行から順番に算出して差分ログを生成し、車両ログ復元部２３０は、車両ログ加工ルールを参照し、「差分生成用ログＩＤ合わせ」の「加工有無」が「有効」の場合に、差分生成用ログの先頭の行から車両ログ加工ルールに記載された行数を削除し、差分ログと差分生成用ログの１行ごとの差分を先頭の行から順番に算出して車両ログを復元してもよい。
【０２０９】
また、差分生成用ログ保存部１３０と復元用ログ保存部２２０は、差分生成用ログをＩＤごとに動的に記憶してもよい。車両ログに同一ＩＤを含む１行のログが複数含まれる場合、一のＩＤを含む１行のログ中で、最初の１行もしくはバイトごとの平均値、バイトごとの中央値、または、バイトごとの最頻出値を採用し、ＩＤごとに記憶してもよい。
【０２１０】
（１０）上記の実施の形態では、異常通知部２６０は、異常を車両ログ解析サーバ２０の利用者またはドライバーへ通知するとして説明したが、通知先は、警察でもよいし、交通省でもよいし、脆弱性情報の共有機関でもよい。
【０２１１】
（１１）上記の実施の形態では、加工済み車両ログは、時刻または時刻インデックスを含み、データは所定値に置換すると説明したが、異常ログ検出部２５０が異常なログを検出するために必要な情報に限定してもよい。例えば、異常ログ検出部２５０が、特定のデータ領域の値が所定値以上の場合に異常として検出する場合、時刻情報や詳細なデータは不要であり、時刻情報を削除またはデータを丸めるなどの処理を車両ログに施してもよい。また、異常ログ検出部２５０が機械学習を用いて、異常を検出する場合、機械学習で用いる時系列の差分情報などの特徴量を加工済み車両ログのデータとしてもよい。
【０２１２】
（１２）上記の実施の形態では、車両ログ加工ルールは、差分ログ生成部１５０が車両ログから差分ログを生成する際に作成され、車両ログ送信装置１０と車両ログ解析サーバ２０の間で共有すると説明したが、車両ログ加工ルールの加工項目が「ＩＤソート（昇順）」または「データソート（昇順）」、「データ置換」である行において、「加工有無」と「加工前の値」と「加工後の値」は差分ログ生成時ではなく、事前に共有されてもよい。ただし、加工項目が「時刻インデックス」である「加工前の値」と「加工後の値」は、事前に共有できないため、差分ログ生成部１５０が差分ログを生成する際に作成し、動的に車両ログ解析サーバ２０へ共有される必要がある。
【０２１３】
（１３）上記実施の形態における各装置を構成する構成要素の一部または全部は、１個のシステムＬＳＩ（Ｌａｒｇｅ  Ｓｃａｌｅ  Ｉｎｔｅｇｒａｔｉｏｎ：大規模集積回路）から構成されているとしても良い。システムＬＳＩは、複数の構成部を１個のチップ上に集積して製造された超多機能ＬＳＩであり、具体的には、マイクロプロセッサ、ＲＯＭ、ＲＡＭ等を含んで構成されるコンピュータシステムである。ＲＡＭには、コンピュータプログラムが記録されている。マイクロプロセッサが、コンピュータプログラムに従って動作することにより、システムＬＳＩは、その機能を達成する。また、上記各装置を構成する構成要素の各部は、個別に１チップ化されていても良いし、一部または全部を含むように１チップ化されても良い。また、ここでは、システムＬＳＩとしたが、集積度の違いにより、ＩＣ、ＬＳＩ、スーパーＬＳＩ、ウルトラＬＳＩと呼称されることもある。また、集積回路化の手法はＬＳＩに限るものではなく、専用回路または汎用プロセッサで実現しても良い。ＬＳＩ製造後に、プログラムすることが可能なＦＰＧＡ（Ｆｉｅｌｄ  Ｐｒｏｇｒａｍｍａｂｌｅ  Ｇａｔｅ  Ａｒｒａｙ）や、ＬＳＩ内部の回路セルの接続や設定を再構成可能なリコンフィギュラブル・プロセッサを利用しても良い。更には、半導体技術の進歩または派生する別技術によりＬＳＩに置き換わる集積回路化の技術が登場すれば、当然、その技術を用いて機能ブロックの集積化を行っても良い。バイオ技術の適用等が可能性としてあり得る。
【０２１４】
（１４）上記各装置を構成する構成要素の一部または全部は、各装置に脱着可能なＩＣカードまたは単体のモジュールから構成されているとしても良い。ＩＣカードまたはモジュールは、マイクロプロセッサ、ＲＯＭ、ＲＡＭ等から構成されるコンピュータシステムである。ＩＣカードまたはモジュールは、上記の超多機能ＬＳＩを含むとしても良い。マイクロプロセッサが、コンピュータプログラムに従って動作することにより、ＩＣカードまたはモジュールは、その機能を達成する。このＩＣカードまたはこのモジュールは、耐タンパ性を有するとしてもよい。
【０２１５】
（１５）また、本開示は、車両ログ送信装置１０および車両ログ解析システム１００として実現できるだけでなく、車両ログ解析システム１００を構成する各要素が行う処理のステップを含む車両ログ送受信方法として実現できる。
【０２１６】
具体的には、車両ログ送信装置１０による車両ログ送信方法と車両ログ解析サーバ２０による車両ログ受信方法とから構成され、車両ログを車両ログ送信装置１０から車両ログ解析サーバ２０へ送信する車両ログ送受信方法であって、車両ログ送信装置１０は、車両ログ送信装置１０と車両ログ解析サーバ２０との間で共有されている車両状態ごとの車両ログである差分生成用ログのリストを記憶する差分生成用ログ保存部１３０を備え、車両ログ解析サーバ２０は、当該リストを記憶する復元用ログ保存部２２０を備え、車両ログ送信方法は、図１０に示されるように、車両ログを取得する車両ログ取得ステップ（ステップＳ１００１）と、取得された車両ログから車両状態を抽出する車両状態抽出ステップ（ステップＳ１００２）と、抽出された車両状態に応じてリストから差分生成用ログを選択する差分生成用ログ選択ステップ（ステップＳ１００５）と、取得された車両ログと選択された差分生成用ログとに基づいて差分ログを生成する差分ログ生成ステップ（ステップＳ１００９）と、生成された差分ログと、選択された差分生成用ログに対応する差分生成用ログ識別子とを車両ログ解析サーバ２０へ送信する差分ログ送信ステップ（ステップＳ１０１１）と、を含み、車両ログ受信方法は、図１１に示されるように、差分ログ送信ステップにて送信された差分ログと差分生成用ログ識別子とを受信する差分ログ受信ステップ（ステップＳ１１０２）と、差分生成用ログ識別子とリストとから差分ログの生成に用いられた差分生成用ログを特定し、差分ログと特定された差分生成用ログとに基づいて車両ログを復元する車両ログ復元ステップ（ステップＳ１１０３、Ｓ１１０４）と、を含む。
【０２１７】
（１６）本開示の一態様としては、車両ログ送受信方法をコンピュータにより実現するプログラム（コンピュータプログラム）であるとしても良いし、コンピュータプログラムからなるデジタル信号であるとしても良い。また、本開示の一態様としては、コンピュータプログラムまたはデジタル信号をコンピュータで読み取り可能な記録媒体、例えば、フレキシブルディスク、ハードディスク、ＣＤ−ＲＯＭ、ＭＯ、ＤＶＤ、ＤＶＤ−ＲＯＭ、ＤＶＤ−ＲＡＭ、ＢＤ（Ｂｌｕｅ―ｒａｙ（登録商標） Ｄｉｓｃ）、半導体メモリ等に記録したものとしても良い。また、これらの記録媒体に記録されているデジタル信号であるとしても良い。また、本開示の一態様としては、コンピュータプログラムまたはデジタル信号を、電気通信回線、無線または有線通信回線、インターネットを代表とするネットワーク、データ放送等を経由して伝送するものとしても良い。また、本開示の一態様としては、マイクロプロセッサとメモリを備えたコンピュータシステムであって、メモリは、上記コンピュータプログラムを記録しており、マイクロプロセッサは、コンピュータプログラムに従って動作するとしても良い。また、プログラム若しくはデジタル信号を記録媒体に記録して移送することにより、または、プログラム若しくはデジタル信号を、ネットワーク等を経由して移送することにより、独立した他のコンピュータシステムにより実施するとしてもよい。
【０２１８】
（１７）上記実施の形態および上記変形例で示した各構成要素および機能を任意に組み合わせることで実現される形態も本開示の範囲に含まれる。
【産業上の利用可能性】
【０２１９】
本開示の車載ネットワークシステムにおける車両ログ解析システムによれば、車両と車両の外部のサーバの間で送信される車両ログのデータ量を削減することができる。その結果、大量の車両ネットワークログの通信が可能な資源を準備せずとも、車両ネットワークログを外部のサーバへ送信することができ、車両の外部サーバを用いて車両のネットワークへの不正なデータの侵入を検出することができ、自動車の安全性に貢献できる。
【符号の説明】
【０２２０】
１０  車両ログ送信装置
２０  車両ログ解析サーバ
３０ａ、３０ｂ、３０ｃ  ＥＣＵ
４０ａ  センサ
４０ｂ  エンジン
４０ｃ  ステアリング
５０  外部ネットワーク
６０  車両ネットワーク
１００  車両ログ解析システム
１１０  車両ログ取得部
１２０  車両状態抽出部
１３０  差分生成用ログ保存部
１４０  差分生成用ログ選択部
１５０  差分ログ生成部
１６０  差分ログ送信部
２００  車両
２１０  差分ログ受信部
２２０  復元用ログ保存部
２３０  車両ログ復元部
２４０  車両ログ保存部
２５０  異常ログ検出部
２６０  異常通知部
３００  車両システム
【図１】
2020110414.tif 000003
【図２】
2020110414.tif 000004
【図３】
2020110414.tif 000005
【図４】
2020110414.tif 000006
【図５】
2020110414.tif 000007
【図６】
2020110414.tif 000008
【図７】
2020110414.tif 000009
【図８】
2020110414.tif 000010
【図９】
2020110414.tif 000011
【図１０】
2020110414.tif 000012
【図１１】
2020110414.tif 000013
【図１２】
2020110414.tif 000014
【図１３】
2020110414.tif 000015
【図１４】
2020110414.tif 000016
【国際調査報告】
2020110414.tif 000017
2020110414.tif 000018