(57)【要約】  車載通信システムは、複数の機能部と、前記機能部間の通信データを中継する中継処理を行う１または複数のスイッチ装置とを備え、前記スイッチ装置は、前記機能部による不正通信が検知された場合、不正通信が検知された前記機能部である不正機能部以外の前記機能部を検証する検証処理を行う。
2019167384.tif 000002
【特許請求の範囲】
【請求項１】
複数の機能部と、
前記機能部間の通信データを中継する中継処理を行う１または複数のスイッチ装置とを備え、
前記スイッチ装置は、前記機能部による不正通信が検知された場合、不正通信が検知された前記機能部である不正機能部以外の前記機能部を検証する検証処理を行う、車載通信システム。
【請求項２】
前記スイッチ装置は、前記機能部間の通信の関係を示す中継情報を用いて前記中継処理を行い、前記検証処理として、前記不正機能部の通信相手の前記機能部を前記中継情報に基づいて特定し、特定した前記機能部を検証する、請求項１に記載の車載通信システム。
【請求項３】
前記スイッチ装置は、前記検証処理として、前記検証処理において異常であると判定された前記機能部である異常機能部の通信相手の前記機能部である２次機能部をさらに検証する、請求項１または請求項２に記載の車載通信システム。
【請求項４】
前記車載通信システムは、複数の前記スイッチ装置を備え、
前記スイッチ装置は、前記不正機能部および前記検証処理において異常であると判定された前記機能部である異常機能部の少なくともいずれか一方を示すリストを保持する、請求項１から請求項３のいずれか１項に記載の車載通信システム。
【請求項５】
前記スイッチ装置は、前記異常機能部の通信相手の前記機能部である２次機能部が他の前記スイッチ装置に接続されている場合、前記他のスイッチ装置に前記リストを与えて前記２次機能部を検証させる処理を行う、請求項４に記載の車載通信システム。
【請求項６】
前記スイッチ装置は、前記リストを更新するたびに更新後の前記リストを他の前記スイッチ装置へ送信する、請求項４または請求項５に記載の車載通信システム。
【請求項７】
前記スイッチ装置は、前記検証処理において、前記機能部から記憶データの検証用データを取得し、取得した前記検証用データを用いて前記機能部を検証する、請求項１から請求項６のいずれか１項に記載の車載通信システム。
【請求項８】
前記スイッチ装置は、前記検証処理において、前記機能部から記憶データの認証用データを取得し、取得した前記認証用データを用いて前記機能部を検証する、請求項１から請求項６のいずれか１項に記載の車載通信システム。
【請求項９】
車載通信システムにおいて用いられるスイッチ装置であって、
複数の機能部間の通信データを中継する中継処理を行うスイッチ部と、
前記機能部による不正通信が検知された場合、不正通信が検知された前記機能部である不正機能部以外の前記機能部を検証する検証処理を行う検証部とを備える、スイッチ装置。
【請求項１０】
複数の機能部と、前記機能部間の通信データを中継する中継処理を行う１または複数のスイッチ装置とを備える車載通信システムにおける検証方法であって、
前記スイッチ装置が、前記機能部による不正通信の検知結果を取得するステップと、
前記スイッチ装置が、不正通信が検知された前記機能部である不正機能部の通信相手の前記機能部へ確認要求を送信するステップと、
前記不正機能部の通信相手の前記機能部が、前記確認要求に対する応答情報を前記スイッチ装置へ送信するステップとを含む、検証方法。
【請求項１１】
複数の機能部間の通信データを中継する中継処理を行うスイッチ装置における検証方法であって、
前記機能部による不正通信の検知結果を取得するステップと、
前記機能部による不正通信が検知された場合、不正通信が検知された前記機能部である不正機能部以外の前記機能部を検証する検証処理を行うステップとを含む、検証方法。
【請求項１２】
スイッチ装置において用いられる検証プログラムであって、
コンピュータを、
複数の機能部間の通信データを中継する中継処理を行うスイッチ部と、
前記機能部による不正通信が検知された場合、不正通信が検知された前記機能部である不正機能部以外の前記機能部を検証する検証処理を行う検証部、
として機能させるための、検証プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、車載通信システム、スイッチ装置、検証方法および検証プログラムに関する。
この出願は、２０１８年２月２８日に出願された日本出願特願２０１８−３４０４４号を基礎とする優先権を主張し、その開示のすべてをここに取り込む。
【背景技術】
【０００２】
特許文献１（特開２０１７−１２３６３９号公報）には、以下のような不正検知方法が開示されている。すなわち、バスを介して通信を行う複数の電子制御ユニットを備える車載ネットワークシステムにおいて不正状態が発生したことを検知するための不正検知方法であって、第１識別子を有するフレームと、第１識別子とは異なる識別子を有するフレームとの内容の関係についての条件である第１条件を示す不正検知ルール情報を用いて、前記バスから受信されたフレームの集合が当該第１条件を満たすか否かを判定し、当該第１条件が満たされない場合に不正状態が発生したと検知する。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開２０１７−１２３６３９号公報
【発明の概要】
【０００４】
（１）本開示の車載通信システムは、複数の機能部と、前記機能部間の通信データを中継する中継処理を行う１または複数のスイッチ装置とを備え、前記スイッチ装置は、前記機能部による不正通信が検知された場合、不正通信が検知された前記機能部である不正機能部以外の前記機能部を検証する検証処理を行う。
【０００５】
（９）本開示のスイッチ装置は、車載通信システムにおいて用いられるスイッチ装置であって、複数の機能部間の通信データを中継する中継処理を行うスイッチ部と、前記機能部による不正通信が検知された場合、不正通信が検知された前記機能部である不正機能部以外の前記機能部を検証する検証処理を行う検証部とを備える。
【０００６】
（１０）本開示の検証方法は、複数の機能部と、前記機能部間の通信データを中継する中継処理を行う１または複数のスイッチ装置とを備える車載通信システムにおける検証方法であって、前記スイッチ装置が、前記機能部による不正通信の検知結果を取得するステップと、前記スイッチ装置が、不正通信が検知された前記機能部である不正機能部の通信相手の前記機能部へ確認要求を送信するステップと、前記不正機能部の通信相手の前記機能部が、前記確認要求に対する応答情報を前記スイッチ装置へ送信するステップとを含む。
【０００７】
（１１）本開示の検証方法は、複数の機能部間の通信データを中継する中継処理を行うスイッチ装置における検証方法であって、前記機能部による不正通信の検知結果を取得するステップと、前記機能部による不正通信が検知された場合、不正通信が検知された前記機能部である不正機能部以外の前記機能部を検証する検証処理を行うステップとを含む。
【０００８】
（１２）本開示の検証プログラムは、スイッチ装置において用いられる検証プログラムであって、コンピュータを、複数の機能部間の通信データを中継する中継処理を行うスイッチ部と、前記機能部による不正通信が検知された場合、不正通信が検知された前記機能部である不正機能部以外の前記機能部を検証する検証処理を行う検証部、として機能させるためのプログラムである。
【０００９】
本開示の一態様は、このような特徴的な処理部を備える車載通信システムとして実現され得るだけでなく、かかる特徴的な処理をコンピュータに実行させるためのプログラムとして実現され得る。また、本開示の一態様は、車載通信システムの一部または全部を実現する半導体集積回路として実現され得る。
【００１０】
本開示の一態様は、このような特徴的な処理部を備えるスイッチ装置として実現され得るだけでなく、スイッチ装置の一部または全部を実現する半導体集積回路として実現され得る。
【図面の簡単な説明】
【００１１】
【図１】図１は、本発明の実施の形態に係る車載通信システムの構成を示す図である。
【図２】図２は、本発明の実施の形態に係る車載通信システムにおける各装置のＶＩＤ、ＭＡＣアドレスおよびＩＰアドレスの一例を示す図である。
【図３】図３は、本発明の実施の形態に係る車載通信システムにおけるスイッチ装置の構成を示す図である。
【図４】図４は、本発明の実施の形態に係るスイッチ装置における中継情報の一例を示す図である。
【図５】図５は、本発明の実施の形態に係る車載通信システムにおける機能部の構成の一例を示す図である。
【図６】図６は、本発明の実施の形態に係る管理リストの一例を示す図である。
【図７】図７は、本発明の実施の形態に係るスイッチ装置における中継情報の他の例を示す図である。
【図８】図８は、本発明の実施の形態に係るスイッチ装置の保持するチェック値テーブルの一例を示す図である。
【図９】図９は、本発明の実施の形態に係る車載通信システムにおいて不正通信を検証する処理のシーケンスを示す図である。
【図１０】図１０は、本発明の実施の形態に係るスイッチ装置が不正通信を検証する検証処理を行う際の動作手順を定めたフローチャートである。
【発明を実施するための形態】
【００１２】
従来、車載ネットワークにおけるセキュリティを向上させるための車載ネットワークシステムが開発されている。
【００１３】
［本開示が解決しようとする課題］
特許文献１に記載の車載ネットワークでは、車載ＥＣＵ（Ｅｌｅｃｔｒｏｎｉｃ  Ｃｏｎｔｒｏｌ  Ｕｎｉｔ）間で送受信される通信データを中継する通信ゲートウェイが設けられる。
【００１４】
車載ネットワークにおいて不正状態が発生した場合に適切に対処可能な技術が望まれる。
【００１５】
本開示は、上述の課題を解決するためになされたもので、その目的は、車載ネットワークにおける不正に対して対処する機能を向上させることが可能な車載通信システム、スイッチ装置、検証方法および検証プログラムを提供することである。
【００１６】
［本開示の効果］
本開示によれば、車載ネットワークにおける不正に対して対処する機能を向上させることができる。
【００１７】
［本願発明の実施形態の説明］
最初に、本発明の実施形態の内容を列記して説明する。
【００１８】
（１）本発明の実施の形態に係る車載通信システムは、複数の機能部と、前記機能部間の通信データを中継する中継処理を行う１または複数のスイッチ装置とを備え、前記スイッチ装置は、前記機能部による不正通信が検知された場合、不正通信が検知された前記機能部である不正機能部以外の前記機能部を検証する検証処理を行う。
【００１９】
このような構成により、機能部におけるファームウェアの不正な書き換え等により不正通信が行われた場合、不正または異常状態である可能性がある当該機能部の通信相手の機能部の検証を行い、被害が拡大することを抑制することができる。したがって、車載ネットワークにおける不正に対して対処する機能を向上させることができる。
【００２０】
（２）好ましくは、前記スイッチ装置は、前記機能部間の通信の関係を示す中継情報を用いて前記中継処理を行い、前記検証処理として、前記不正通信が検知された前記機能部である不正機能部の通信相手の前記機能部を前記中継情報に基づいて特定し、特定した前記機能部を検証する。
【００２１】
このような構成により、不正通信を行った機能部と通信を行う機能部を正しくかつ容易に特定し、検証することができる。
【００２２】
（３）好ましくは、前記スイッチ装置は、前記検証処理として、前記検証処理において異常であると判定された前記機能部である異常機能部の通信相手の前記機能部である２次機能部をさらに検証する
【００２３】
このように段階的に検証を行う構成により、不正または異常状態である可能性がある機能部を特定し、被害が拡大する前に適切な処置を行うことができる。
【００２４】
（４）好ましくは、前記車載通信システムは、複数の前記スイッチ装置を備え、前記スイッチ装置は、前記不正機能部および前記検証処理において異常であると判定された前記機能部である異常機能部の少なくともいずれか一方を示すリストを保持する。
【００２５】
このような構成により、特定した機能部が示されたリストを用いて各種の処置を容易に行うことができる。
【００２６】
（５）より好ましくは、前記スイッチ装置は、前記異常機能部の通信相手の前記機能部である２次機能部が他の前記スイッチ装置に接続されている場合、前記他のスイッチ装置に前記リストを与えて前記２次機能部を検証させる処理を行う。
【００２７】
このような構成により、自己のスイッチ装置と直接接続されていない機能部に対して、他のスイッチ装置経由で検証処理を行うことができる。
【００２８】
（６）より好ましくは、前記スイッチ装置は、前記リストを更新するたびに更新後の前記リストを他の前記スイッチ装置へ送信する。
【００２９】
このような構成により、特定した機能部の情報をスイッチ装置間において常時共有し、より広い範囲の検証処理を行うことができる。
【００３０】
（７）好ましくは、前記スイッチ装置は、前記検証処理において、前記機能部から記憶データの検証用データを取得し、取得した前記検証用データを用いて前記機能部を検証する。
【００３１】
このような構成により、スイッチ装置において、機能部のファームウェアの改ざん等の異常を検知することができる。
【００３２】
（８）好ましくは、前記スイッチ装置は、前記検証処理において、前記機能部から記憶データの認証用データを取得し、取得した前記認証用データを用いて前記機能部を検証する。
【００３３】
このような構成により、より簡易な処理でファームウェアの改ざん等の異常を検知することができる。
【００３４】
（９）本発明の実施の形態に係るスイッチ装置は、車載通信システムにおいて用いられるスイッチ装置であって、複数の機能部間の通信データを中継する中継処理を行うスイッチ部と、前記機能部による不正通信が検知された場合、不正通信が検知された前記機能部である不正機能部以外の前記機能部を検証する検証処理を行う検証部とを備える。
【００３５】
このような構成により、機能部におけるファームウェアの不正な書き換え等により不正通信が行われた場合、不正または異常状態である可能性がある当該機能部の通信相手の機能部の検証を行い、被害が拡大することを抑制することができる。したがって、車載ネットワークにおける不正に対して対処する機能を向上させることができる。
【００３６】
（１０）本発明の実施の形態に係る検証方法は、複数の機能部と、前記機能部間の通信データを中継する中継処理を行う１または複数のスイッチ装置とを備える車載通信システムにおける検証方法であって、前記スイッチ装置が、前記機能部による不正通信の検知結果を取得するステップと、前記スイッチ装置が、不正通信が検知された前記機能部である不正機能部の通信相手の前記機能部へ確認要求を送信するステップと、前記不正機能部の通信相手の前記機能部が、前記確認要求に対する応答情報を前記スイッチ装置へ送信するステップとを含む。
【００３７】
このような構成により、機能部におけるファームウェアの不正な書き換え等により不正通信が行われた場合、不正または異常状態である可能性がある当該機能部の通信相手の機能部の検証を行い、被害が拡大することを抑制することができる。したがって、車載ネットワークにおける不正に対して対処する機能を向上させることができる。
【００３８】
（１１）本発明の実施の形態に係る検証方法は、複数の機能部間の通信データを中継する中継処理を行うスイッチ装置における検証方法であって、前記機能部による不正通信の検知結果を取得するステップと、前記機能部による不正通信が検知された場合、不正通信が検知された前記機能部である不正機能部以外の前記機能部を検証する検証処理を行うステップとを含む。
【００３９】
このような構成により、機能部におけるファームウェアの不正な書き換え等により不正通信が行われた場合、不正または異常状態である可能性がある当該機能部の通信相手の機能部の検証を行い、被害が拡大することを抑制することができる。したがって、車載ネットワークにおける不正に対して対処する機能を向上させることができる。
【００４０】
（１２）本発明の実施の形態に係る検証プログラムは、スイッチ装置において用いられる検証プログラムであって、コンピュータを、複数の機能部間の通信データを中継する中継処理を行うスイッチ部と、前記機能部による不正通信が検知された場合、不正通信が検知された前記機能部である不正機能部以外の前記機能部を検証する検証処理を行う検証部、として機能させるためのプログラムである。
【００４１】
このような構成により、機能部におけるファームウェアの不正な書き換え等により不正通信が行われた場合、不正または異常状態である可能性がある当該機能部の通信相手の機能部の検証を行い、被害が拡大することを抑制することができる。したがって、車載ネットワークにおける不正に対して対処する機能を向上させることができる。
【００４２】
以下、本発明の実施の形態について図面を用いて説明する。なお、図中同一または相当部分には同一符号を付してその説明は繰り返さない。また、以下に記載する実施の形態の少なくとも一部を任意に組み合わせてもよい。
【００４３】
［構成および基本動作］
図１は、本発明の実施の形態に係る車載通信システムの構成を示す図である。
【００４４】
図１を参照して、車載通信システム３０１は、スイッチ装置１０１Ａ，１０１Ｂと、機能部１１１Ｃ，１１１Ｄ，１１１Ｅ，１１１Ｆとを備える。車載通信システム３０１は、車両１に搭載される。
【００４５】
以下、スイッチ装置１０１Ａ，１０１Ｂの各々を、スイッチ装置１０１とも称する。また、機能部１１１Ｃ，１１１Ｄ，１１１Ｅ，１１１Ｆの各々を、機能部１１１とも称する。
【００４６】
なお、車載通信システム３０１は、２つのスイッチ装置１０１を備える構成に限らず、１つ、または３つ以上のスイッチ装置１０１を備える構成であってもよい。
【００４７】
なお、車載通信システム３０１は、４つの機能部１１１を備える構成に限らず、２つ、３つ、４つまたは６つ以上の機能部１１１を備える構成であってもよい。
【００４８】
機能部１１１は、たとえば、自動運転ＥＣＵ（Ｅｌｅｃｔｒｏｎｉｃ  Ｃｏｎｔｒｏｌ  Ｕｎｉｔ）、運転支援装置およびセンサ等であり、スイッチ装置１０１と通信を行うことが可能である。
【００４９】
車両１の車載ネットワークにおける各スイッチ装置１０１および各機能部１１１の接続関係は、たとえば固定されている。
【００５０】
スイッチ装置１０１および機能部１１１は、たとえば、車載のイーサネット（登録商標）通信用のケーブル（以下、イーサネットケーブルとも称する。）１０により互いに接続されている。
【００５１】
スイッチ装置１０１および機能部１１１は、イーサネットケーブル１０を用いて互いに通信する。スイッチ装置１０１および機能部１１１間では、たとえば、ＩＥＥＥ８０２．３に従うイーサネットフレームを用いて通信データのやり取りが行われる。
【００５２】
図２は、本発明の実施の形態に係る車載通信システムにおける各装置のＶＩＤ、ＭＡＣアドレスおよびＩＰアドレスの一例を示す図である。
【００５３】
図２を参照して、車載ネットワークにおいて、たとえば、機能部１１１Ｃ，１１１Ｄと機能部１１１Ｅ，１１１Ｆとは、互いに異なるＶＬＡＮ（Ｖｉｒｔｕａｌ  Ｌｏｃａｌ  Ａｒｅａ  Ｎｅｔｗｏｒｋ）に属する。
【００５４】
この例では、機能部１１１Ｃ，１１１Ｄの属するＶＬＡＮのＩＤ（以下、ＶＩＤとも称する。）は、１である。また、機能部１１１Ｅ，１１１Ｆの属するＶＩＤは、２である。
【００５５】
スイッチ装置１０１および機能部１１１は、固有のＭＡＣ（Ｍｅｄｉａ  Ａｃｃｅｓｓ  Ｃｏｎｔｒｏｌ）アドレスおよびＩＰ（Ｉｎｔｅｒｎｅｔ  Ｐｒｏｔｏｃｏｌ）アドレスを有する。
【００５６】
再び図１を参照して、スイッチ装置１０１は、車載ネットワークにおける各機能部１１１間のデータを中継する中継処理を行う。
【００５７】
より詳細には、スイッチ装置１０１は、たとえば、レイヤ２、およびレイヤ２よりも上位のレイヤ３に従って中継処理を行うことが可能である。
【００５８】
具体的には、車載ネットワークでは、たとえば、ＩＰプロトコルに従って、ＩＰパケットを用いて情報の送受信が行われる。ＩＰパケットは、イーサネットフレームに格納されて伝送される。
【００５９】
スイッチ装置１０１は、車載ネットワークにおけるデータを中継処理する。具体的には、スイッチ装置１０１は、各機能部１１１間で伝送されるイーサネットフレームを中継する。
【００６０】
詳細には、スイッチ装置１０１は、複数のレイヤを有する通信プロトコルに従って動作する。より詳細には、スイッチ装置１０１は、Ｌ２（レイヤ２）スイッチとして機能することが可能であり、同じＶＬＡＮに属する機能部１１１間で伝送されるイーサネットフレームを中継する。
【００６１】
また、スイッチ装置１０１は、Ｌ３（レイヤ３）中継装置としても機能することが可能であり、異なるＶＬＡＮに属する機能部１１１間のイーサネットフレームを中継する。
【００６２】
具体的には、機能部１１１ＣがＩＰパケットを機能部１１１Ｄへ送信する場合、このＩＰパケットには、送信元ＩＰアドレスおよび送信先ＩＰアドレスとして、ＩＰ−ＣおよびＩＰ−Ｄがそれぞれ含まれる。
【００６３】
機能部１１１Ｃは、自己と機能部１１１Ｄとが同じＶＬＡＮに属していることから、１、ＭＡＣ−ＣおよびＭＡＣ−Ｄを、ＶＩＤ、送信元ＭＡＣアドレスおよび送信先ＭＡＣアドレスとしてそれぞれイーサネットフレームに書き込む。
【００６４】
機能部１１１Ｃは、ＩＰパケットを格納したイーサネットフレームをスイッチ装置１０１Ａへ送信する。
【００６５】
スイッチ装置１０１Ａは、機能部１１１Ｃからイーサネットフレームを受信すると、受信したイーサネットフレームに対してレイヤ２のスイッチ処理を行うことで、イーサネットフレームを機能部１１１Ｄへ送信する。
【００６６】
また、機能部１１１ＣがＩＰパケットを機能部１１１Ｅへ送信する場合、このＩＰパケットには、送信元ＩＰアドレスおよび送信先ＩＰアドレスとして、ＩＰ−ＣおよびＩＰ−Ｅがそれぞれ含まれる。
【００６７】
機能部１１１Ｃは、自己と機能部１１１Ｅとが異なるＶＬＡＮに属していることから、１、デフォルトゲートウェイであるスイッチ装置１０１ＡのＭＡＣアドレスすなわちＭＡＣ−Ａ、およびＭＡＣ−Ｃを、ＶＩＤ、送信先ＭＡＣアドレスおよび送信元ＭＡＣアドレスとしてそれぞれイーサネットフレームに書き込む。
【００６８】
機能部１１１Ｃは、ＩＰパケットを格納したイーサネットフレームをスイッチ装置１０１Ａへ送信する。
【００６９】
スイッチ装置１０１Ａは、機能部１１１Ｃからイーサネットフレームを受信すると、受信したイーサネットフレームに対してレイヤ３の中継処理を行うことで、イーサネットフレームを機能部１１１Ｅへ送信する。
【００７０】
［課題］
スイッチ装置１０１Ａは、たとえば、通常と異なるタイミングでデータが送信される等の不正通信を検知することができる。この場合、スイッチ装置１０１Ａは、たとえば機能部１１１Ｃと不正通信を検知すると、機能部１１１Ｃとの通信を停止する等の処置を行う。
【００７１】
しかしながら、この場合、スイッチ装置１０１Ａに接続されている機能部１１１Ｄおよびスイッチ装置１０１Ｂは、不正通信の影響により不具合を生じる可能性がある。また、スイッチ装置１０１Ｂに接続されている機能部１１１Ｅおよび機能部１１１Ｆも不具合を生じる可能性がある。
【００７２】
これに対して、本発明の実施の形態に係るスイッチ装置では、以下のような構成および動作により、上記課題を解決する。
【００７３】
［スイッチ装置の構成］
【００７４】
図３は、本発明の実施の形態に係る車載通信システムにおけるスイッチ装置の構成を示す図である。
【００７５】
図３を参照して、スイッチ装置１０１は、スイッチ部５１と、制御部５２と、記憶部５３と、複数の通信ポート５４と、検証部５５とを備える。
【００７６】
一例として、図１に示すスイッチ装置１０１Ａは、スイッチ部５１Ａと、制御部５２Ａと、記憶部５３Ａと、複数の通信ポート５４Ａと、検証部５５Ａとを備える。スイッチ装置１０１Ｂは、スイッチ部５１Ｂと、制御部５２Ｂと、記憶部５３Ｂと、複数の通信ポート５４Ｂと、検証部５５Ｂとを備える。
【００７７】
スイッチ装置１０１における通信ポート５４は、たとえばイーサネットケーブル１０を接続可能な端子である。なお、通信ポート５４は、集積回路の端子であってもよい。
【００７８】
複数の通信ポート５４の各々は、イーサネットケーブル１０を介して複数の機能部１１１のうちのいずれか１つに接続されている。また、複数の通信ポート５４の各々は、たとえばＶＬＡＮと対応付けられている。
【００７９】
スイッチ部５１は、機能部１１１間の通信の関係を示す中継情報を用いて通信データを中継する中継処理を行う。記憶部５３は、中継すべき通信データを保持する。
【００８０】
図４は、本発明の実施の形態に係るスイッチ装置における中継情報の一例を示す図である。
【００８１】
図４を参照して、中継情報Ｔａｂ１は、通信データの送信元と送信先との対応関係を示す。中継情報Ｔａｂ１には、送信元ＩＰアドレスであるＩＰ−Ｃに対応する送信先ＩＰアドレスとしてＩＰ−Ｄが登録され、送信元ＩＰアドレスであるＩＰ−Ｄに対応する送信先ＩＰアドレスとしてＩＰ−Ｅが登録されている。
【００８２】
制御部５２は、スイッチ部５１における中継処理を監視することにより、スイッチ部５１において中継される通信データの通信経路を取得して中継情報Ｔａｂ１に登録する。スイッチ装置１０１は、中継情報Ｔａｂ１を記憶部５３に保存している。
【００８３】
より詳細には、スイッチ部５１は、たとえば、Ｌ２スイッチとして動作し、同じＶＬＡＮに属する機能部１１１間のイーサネットフレームを中継する。
【００８４】
具体的には、スイッチ部５１は、たとえば、通信ポート５４のポート番号とＶＬＡＮのＩＤおよび接続先装置のＭＡＣアドレスとの対応関係を示すアドレステーブルを保持する。
【００８５】
たとえば、スイッチ装置１０１Ａにおいて、スイッチ部５１Ａは、機能部１１１Ｃからイーサネットフレームを受信すると、受信したイーサネットフレームを記憶部５３Ａに保存するとともにイーサネットフレームの宛先ＭＡＣアドレスを確認する。
【００８６】
このとき、制御部５２Ａは、スイッチ部５１Ａが機能部１１１Ｃから対応の通信ポート５４Ａ経由で受信したイーサネットフレームを記憶部５３Ａに保存したことを確認すると、記憶部５３Ａに保存されたイーサネットフレームに含まれる送信元ＩＰアドレスおよび送信先ＩＰアドレス、すなわち、それぞれ送信元ＩＰアドレスとして機能部１１１ＣのＩＰアドレス、および送信先ＩＰアドレスとして機能部１１１ＤのＩＰアドレスを確認する。
【００８７】
そして、制御部５２Ａは、確認したそれぞれのＩＰアドレスを、「送信元ＩＰアドレス」および「送信先ＩＰアドレス」として中継情報Ｔａｂ１に登録する。
【００８８】
なお、中継情報Ｔａｂ１では、「送信元ＩＰアドレス」および「送信先ＩＰアドレス」を用いて通信経路が登録されたが、これに限らず、「受信元ＭＡＣアドレス」および「送信先ＭＡＣアドレス」、または「受信元の通信ポート５４Ａのポート番号」および「送信先の通信ポート５４Ａのポート番号」を用いて通信経路が登録されてもよい。
【００８９】
スイッチ部５１Ａは、アドレステーブルを参照することにより、確認した宛先ＭＡＣアドレスに対応する通信ポート５４Ａを特定する。ここでは、スイッチ部５１は、機能部１１１Ｄに接続される通信ポート５４Ａを特定する。
【００９０】
そして、スイッチ部５１は、当該イーサネットフレームを記憶部５３Ａから取得し、取得したイーサネットフレームを、特定した通信ポート５４Ａ経由で機能部１１１Ｄへ送信する。
【００９１】
また、スイッチ部５１は、たとえば、Ｌ３スイッチまたはＬ４スイッチとして動作し、異なるＶＬＡＮに属する機能部１１１間の通信データを中継する。
【００９２】
具体的には、スイッチ部５１は、たとえばＶＬＡＮのＩＤとネットワークアドレスとの対応関係を示すネットワークテーブルを保持する。また、スイッチ部５１は、たとえば、ＩＰアドレスとＭＡＣアドレスとの対応関係を示すＡＲＰ（Ａｄｄｒｅｓｓ  Ｒｅｓｏｌｕｔｉｏｎ  Ｐｒｏｔｏｃｏｌ）テーブルをＶＬＡＮのＩＤごとに保持する。
【００９３】
たとえば、スイッチ装置１０１Ａにおいて、スイッチ部５１Ａは、機能部１１１Ｄからイーサネットフレームを受信すると、宛先ＭＡＣアドレスが自己のＭＡＣアドレスであることを確認し、受信したイーサネットフレームからＩＰパケットを取り出す。
【００９４】
スイッチ部５１Ａは、ネットワークテーブルを参照することにより、ＩＰパケットに含まれる宛先ＩＰアドレスに対応するＶＬＡＮのＩＤを特定する。
【００９５】
そして、スイッチ部５１Ａは、特定したＶＬＡＮのＩＤに対応するＡＲＰテーブルを参照することにより、宛先ＩＰアドレスに対応するＶＬＡＮのゲートウェイのＭＡＣアドレスを取得する。
【００９６】
スイッチ部５１Ａは、取得したＭＡＣアドレスを宛先ＭＡＣアドレスとして含みかつ当該ＩＰパケットを含むイーサネットフレームを作成して記憶部５３に保存する。
【００９７】
このとき、制御部５２Ａは、スイッチ部５１Ａがイーサネットフレームを記憶部５３Ａに保存したことを確認すると、記憶部５３Ａに保存されたイーサネットフレームに含まれる送信元ＩＰアドレスおよび送信先ＩＰアドレス、すなわち、それぞれ送信元ＩＰアドレスとして機能部１１１ＤのＩＰアドレス、および送信先ＩＰアドレスとして機能部１１１ＥのＩＰアドレスを確認する。
【００９８】
そして、制御部５２Ａは、「送信先ＩＰアドレス」および「送信先ＩＰアドレス」として、それぞれ機能部１１１ＤのＩＰアドレスおよび機能部１１１ＥのＩＰアドレスを中継情報Ｔａｂ１に登録する。
【００９９】
スイッチ部５１Ａは、アドレステーブルを参照することにより、当該宛先ＭＡＣアドレスに対応する通信ポート５４すなわちスイッチ装置１０１Ｂに接続される通信ポート５４を特定する。
【０１００】
そして、スイッチ部５１Ａは、当該イーサネットフレームを記憶部５３から取得し、取得したイーサネットフレームを、特定した通信ポート５４経由でスイッチ装置１０１Ｂへ送信する。
【０１０１】
スイッチ装置１０１Ｂは、スイッチ装置１０１Ａから送信されたイーサネットフレームに対して、Ｌ２スイッチとして動作し、機能部１１１Ｅへイーサネットフレームを中継する。
【０１０２】
また、スイッチ装置１０１は、機能部１１１による不正通信を検知した場合、自己に接続されている他の機能部１１１、すなわち不正通信が検知された機能部１１１である不正機能部を検証する検証処理を行う。
【０１０３】
より詳細には、制御部５２は、通常と異なるタイミングでデータが送信される等の不正通信を検知することができる。制御部５２は、不正通信を検知すると、不正通信を検知した旨および不正通信が検知された通信ポート５４のポート番号を示す情報を検証部５５へ出力する。
【０１０４】
検証部５５は、スイッチ部５１が保持するアドレステーブルを参照し、不正通信が検知された通信ポート５４のポート番号から接続先の機能部１１１のＭＡＣアドレスを取得する。
【０１０５】
そして、検証部５５は、スイッチ部５１が保持するＡＲＰテーブルを参照し、取得したＭＡＣアドレスに対応するＩＰアドレスを取得する。
【０１０６】
そして、検証部５５は、検証処理として、記憶部５３において保存されている中継情報Ｔａｂ１に基づいて、不正機能部の通信相手の機能部１１１を特定する。
【０１０７】
以下、このような不正機能部の通信相手である不正機能部以外の機能部１１１を、１次機能部とも称する。
【０１０８】
より詳細には、検証部５５は、記憶部５３において保存されている中継情報Ｔａｂ１を参照して、取得したＩＰアドレスすなわち不正機能部のＩＰアドレスが送信元ＩＰアドレスとして登録されている通信経路の送信先ＩＰアドレスを取得することにより、１次機能部を特定する。
【０１０９】
検証部５５は、特定した１次機能部を検証する。たとえば、検証部５５Ａは、図１に示す機能部１１１Ｃが不正機能部であり、かつ対応する送信先ＩＰアドレスとして機能部１１１ＤのＩＰアドレスが中継情報Ｔａｂ１に登録されている場合、機能部１１１Ｄを検証する。すなわち、検証部５５は、機能部１１１Ｄが異常であるか否かを判定する。
【０１１０】
具体的には、検証部５５Ａは、たとえば、リセットコマンドを含むイーサネットフレームを生成してスイッチ部５１Ａへ出力する。
【０１１１】
スイッチ部５１Ａは、送信元ＭＡＣアドレスおよび送信先ＭＡＣアドレスとしてＭＡＣ−ＡおよびＭＡＣ−Ｄをそれぞれイーサネットフレームに書き込む。
【０１１２】
スイッチ部５１Ａは、アドレステーブルを参照することにより、送信先ＭＡＣアドレスに対応する通信ポート５４Ａを特定し、特定した通信ポート５４Ａを介して、検証部５５Ａから受けたイーサネットフレームを機能部１１１Ｄへ送信する。
【０１１３】
機能部１１１Ｄは、リセットコマンドを含むイーサネットフレームを受信して、再起動する。
【０１１４】
図５は、本発明の実施の形態に係る車載通信システムにおける機能部の構成の一例を示す図である。
【０１１５】
図５を参照して、機能部１１１は、プロセッサ２１と、ＦＲＯＭ（Ｆｌａｓｈ  Ｒｅａｄ  Ｏｎｌｙ  Ｍｅｍｏｒｙ）２６と、ＤＲＡＭ（Ｄｙｎａｍｉｃ  Ｒａｎｄｏｍ  Ａｃｃｅｓｓ  Ｍｅｍｏｒｙ）２７と、通信部２８とを備える。プロセッサ２１は、内蔵ハードウェア（ＨＷ）２２と、コア部２３と、セキュアＲＯＭ２４とを含む。
【０１１６】
内蔵ハードウェア２２は、たとえば、暗号アクセラレータ等のセキュリティ専用のハードウェアであり、ＦＲＯＭ２６に保存されたデータが正当であるか否かを検証する。
【０１１７】
ＦＲＯＭ２６には、たとえばデータおよびアプリケーションプログラム等を含む対象データＴＤ９１１と、検証値ＶＶ９１１とが格納されている。ＦＲＯＭ２６に保存されたデータは書き換え可能である。
【０１１８】
セキュアＲＯＭ２４は、対象データＴＤ９１１の検証に用いる第１の暗号鍵が保存され、プロセッサ２１の外部からアクセスできない記憶領域である。
【０１１９】
より詳細には、セキュアＲＯＭ２４は、内蔵ハードウェア２２からのアクセスだけが許可されたセキュアな記憶領域である。第１の暗号鍵は、たとえば製品の出荷時にセキュアＲＯＭ２４に格納される。
【０１２０】
セキュアＲＯＭ２４に格納された第１の暗号鍵は、内蔵ハードウェア２２しか取得できず、また、書き換えることができない。
【０１２１】
より詳細には、セキュアＲＯＭ２４には、機能部１１１の製造時において、鍵生成ツールによって生成された第１の暗号鍵の一例である検証鍵ＶＫ１１が検証値検証鍵として格納されている。
【０１２２】
また、セキュアＲＯＭ２４には、生成鍵ＧＫ１が、検証鍵ＶＫ１１に対応する検証値生成鍵として格納されている。
【０１２３】
コア部２３は、たとえば、機能部１１１Ｄが再起動すると、対象データＴＤ９１１の検証要求を内蔵ハードウェア２２へ出力する。
【０１２４】
内蔵ハードウェア２２は、コア部２３から検証要求を受けると、受けた検証要求に従って、セキュアＲＯＭ２４から検証鍵ＶＫ１１および生成鍵ＧＫ１を取得する。
【０１２５】
また、内蔵ハードウェア２２は、検証要求に従って、ＦＲＯＭ２６から対象データＴＤ９１１および検証値ＶＶ９１１を取得する。
【０１２６】
内蔵ハードウェア２２は、取得した対象データＴＤ９１１、検証鍵ＶＫ１１、生成鍵ＧＫ１および検証値ＶＶ９１１を用いて対象データＴＤ９１１を検証する。
【０１２７】
より詳細には、内蔵ハードウェア２２は、生成鍵ＧＫ１および対象データＴＤ９１１からハッシュ関数ＨＦ１を用いて対象データＴＤ９１１のダイジェストを生成する。また、内蔵ハードウェア２２は、検証鍵ＶＫ１１を用いて検証値ＶＶ９１１を復号化することによってダイジェストを生成する。
【０１２８】
内蔵ハードウェア２２は、生成した各ダイジェストを照合し、これらが一致している場合、対象データＴＤ９１１が正当であると判断し、また、これらが一致しない場合、対象データＴＤ９１１が不正であると判断する。
【０１２９】
たとえば、不正通信の影響により、ＦＲＯＭ２６保存されたファームウェア等のデータが改ざんされた場合、各ダイジェストは一致しないため、内蔵ハードウェア２２は、自己の機能部１１１の異常を検知することができる。
【０１３０】
そして、内蔵ハードウェア２２は、判断結果を示す検証結果情報を、たとえば、ＦＲＯＭ２６に保存するとともにコア部２３へ出力する。
【０１３１】
コア部２３は、内蔵ハードウェア２２から検証結果情報を受けると、ＦＲＯＭ２６から対象データＴＤ９１１を取得する。
【０１３２】
コア部２３は、ブートローダーおよびＯＳプログラムを実行することにより、ＯＳプログラムに従って動作し自己の機能部１１１を初期状態に遷移させる。
【０１３３】
たとえば、機能部１１１Ｄが初期状態に遷移すると、機能部１１１Ｄは、スイッチ装置１０１Ａとの通信が可能となる。
【０１３４】
スイッチ装置１０１Ａは、機能部１１１との通信が可能になることにより、機能部１１１による再起動の完了を検知する。そして、スイッチ装置１０１Ａは、機能部１１１Ｄに確認要求を送信する。
【０１３５】
より詳細には、検証部５５Ａは、検証結果情報を要求する旨を示す検証結果要求を確認要求として含むイーサネットフレームを生成してスイッチ部５１Ａへ出力する。
【０１３６】
スイッチ部５１Ａは、送信元ＭＡＣアドレスおよび送信先ＭＡＣアドレスをそれぞれイーサネットフレームに書き込み、アドレステーブルを参照することにより、送信先ＭＡＣアドレスに対応する通信ポート５４を特定し、特定した通信ポート５４を介して、検証部５５Ａから受けたイーサネットフレームを機能部１１１Ｄへ送信する。
【０１３７】
機能部１１１Ｄにおける通信部２８は、スイッチ装置１０１Ａから検証結果要求を含むイーサネットフレームを受信すると、イーサネットフレームに含まれる検証結果要求を取得し、プロセッサ２１へ出力する。
【０１３８】
プロセッサ２１におけるコア部２３は、通信部２８から検証結果要求を受けると、検証結果情報をＦＲＯＭ２６から取得して通信部２８へ出力する。
【０１３９】
通信部２８は、コア部２３から受けた検証結果情報を含むイーサネットフレームを生成してスイッチ装置１０１Ａへ送信する。
【０１４０】
スイッチ装置１０１Ａは、機能部１１１Ｄから送信されたイーサネットフレームを受信すると、受信したイーサネットフレームを記憶部５３Ａに保存する。
【０１４１】
検証部５５Ａは、記憶部５３Ａに保存されたイーサネットフレームに含まれる検証結果情報を確認することにより、機能部１１１Ｄが異常であるか否かを判定する。
【０１４２】
スイッチ装置１０１Ａは、検証処理において異常であると判定された機能部１１１である異常機能部および不正通信が検知された機能部１１１である不正機能部の少なくともいずれか一方を示すリストを保持する。以下、このようなリストを管理リストとも称する。
【０１４３】
より詳細には、スイッチ装置１０１Ａにおいて、検証部５５Ａは、スイッチ部５１Ａが保持するアドレステーブルを参照し、不正通信を検知した通信ポート５４Ａのポート番号から接続先の機能部１１１のＭＡＣアドレスを取得して管理リストを作成するか、または取得したＭＡＣアドレスを作成済みの管理リストに登録することにより管理リストを更新し、当該管理リストを記憶部５３Ａに保存する。
【０１４４】
また、検証部５５Ａは、異常機能部のＭＡＣアドレスを管理リストに登録することにより、管理リストを更新する。
【０１４５】
図６は、本発明の実施の形態に係る管理リストの一例を示す図である。
【０１４６】
図６を参照して、管理リストには、たとえば図１に示す機能部１１１Ｃおよび機能部１１１Ｄの各々のＭＡＣアドレスであるＭＡＣ−ＣおよびＭＡＣ−Ｄが登録されている。
【０１４７】
たとえば、機能部１１１Ｃは、不正機能部であり、機能部１１１Ｄは、異常機能部である。
【０１４８】
検証部５５Ａは、管理リストを更新するたびに更新後の管理リストを他のスイッチ装置へ送信する。たとえば、図１に示すスイッチ装置１０１Ａは、スイッチ装置１０１Ｂに接続されているため、更新後の管理リストＡをスイッチ装置１０１Ｂへ送信する。
【０１４９】
より詳細には、検証部５５Ａは、更新後の管理リストＡを含むイーサネットフレームを生成してスイッチ部５１へ出力する。更新後の管理リストＡには、たとえば図６に示すように、不正機能部として機能部１１１Ｃが登録され、異常機能部として機能部１１１Ｄが登録されている。
【０１５０】
スイッチ部５１Ａは、送信元ＭＡＣアドレスおよび送信先ＭＡＣアドレスとしてＭＡＣ−ＡおよびＭＡＣ−Ｂをそれぞれイーサネットフレームに書き込む。
【０１５１】
スイッチ部５１Ａは、アドレステーブルを参照することにより、送信先ＭＡＣアドレスに対応する通信ポート５４Ａを特定し、特定した通信ポート５４Ａを介して、検証部５５Ａから受けたイーサネットフレームをスイッチ装置１０１Ｂへ送信する。
【０１５２】
スイッチ装置１０１Ｂにおいて、スイッチ部５１Ｂは、スイッチ装置１０１Ａから管理リストＡを含むイーサネットフレームを受信すると、受信したイーサネットフレームに含まれる管理リストＡを記憶部５３Ｂに保存する。
【０１５３】
なお、検証部５５は、スイッチ装置１０１Ｂが既に管理リストＢを記憶部５３Ｂに保存していた場合、管理リストＡおよび管理リストＢのマージを行うことにより新たな管理リストＣを作成する。
【０１５４】
スイッチ装置１０１Ｂは、作成した管理リストＣをスイッチ装置１０１Ａ等の他のスイッチ装置１０１へ送信する。
【０１５５】
また、スイッチ装置１０１Ａは、検証処理において異常であると判定された機能部１１１である異常機能部の通信相手の機能部１１１である２次機能部が他のスイッチ装置１０１に接続されている場合、他のスイッチ装置１０１に管理リストを与えて２次機能部を検証させる処理を行う。
【０１５６】
具体的には、たとえば、検証部５５Ａは、管理リストＡに異常機能部として登録されている機能部１１１Ｄの通信相手を特定する。
【０１５７】
検証部５５Ａは、管理リストＡを参照して機能部１１１ＤのＭＡＣアドレスを取得する。検証部５５Ａは、ＡＲＰテーブルを参照し、取得したＭＡＣアドレスに対応するＩＰアドレスを取得する。検証部５５Ａは、図４に示す中継情報Ｔａｂ１を参照することにより、取得したＩＰアドレスが送信元ＩＰアドレスとして登録されている通信経路の、送信先ＩＰアドレスである機能部１１１ＥのＩＰアドレスを取得する。
【０１５８】
検証部５５Ａは、アドレステーブル、ＡＲＰテーブル、およびネットワークテーブルを参照して、送信先ＩＰアドレスに対応する機能部１１１Ｅがスイッチ装置１０１Ａに接続されておらずスイッチ装置１０１Ｂに接続されていることを確認する。
【０１５９】
そして、検証部５５Ａは、管理リストＡをスイッチ装置１０１Ｂへ送信する。より詳細には、検証部５５Ａは、管理リストＡを含むイーサネットフレームを生成してスイッチ部５１へ出力する。
【０１６０】
スイッチ部５１Ａは、送信元ＭＡＣアドレスおよび送信先ＭＡＣアドレスとしてＭＡＣ−ＡおよびＭＡＣ−Ｂをそれぞれイーサネットフレームに書き込む。
【０１６１】
スイッチ部５１Ａは、アドレステーブルを参照することにより、送信先ＭＡＣアドレスに対応する通信ポート５４Ａを特定し、特定した通信ポート５４Ａを介して、検証部５５Ａから受けたイーサネットフレームをスイッチ装置１０１Ｂへ送信する。
【０１６２】
スイッチ装置１０１Ｂにおいて、スイッチ部５１Ｂは、スイッチ装置１０１Ａから管理リストＡを含むイーサネットフレームを受信して、イーサネットフレームに含まれる管理リストＡを記憶部５３Ｂに保存する。
【０１６３】
検証部５５Ｂは、記憶部５３Ｂに保存された管理リストＡを参照し、管理リストＡに登録されている不正機能部および異常機能部に相当するＭＡＣアドレスを取得する。検証部５５Ｂは、ＡＲＰテーブルを参照し、取得したＭＡＣアドレスに対応するＩＰアドレスを取得する。そして、検証部５５Ｂは、取得したＩＰアドレスが記憶部５３Ｂに保存されている中継情報Ｔａｂ２において送信元ＩＰアドレスとして登録されている機能部１１１を検索する。
【０１６４】
図７は、本発明の実施の形態に係るスイッチ装置における中継情報の他の例を示す図である。
【０１６５】
図７を参照して、記憶部５３Ｂに保存されている中継情報Ｔａｂ２には、送信元ＩＰアドレスとしてＩＰ−Ｄ、および送信先ＩＰアドレスとしてＩＰ−Ｅが登録されている。
【０１６６】
具体的には、検証部５５Ｂは、管理リストＡに異常機能部として機能部１１１Ｄが登録されているため、中継情報Ｔａｂ２を参照して、ＩＰ−Ｄが送信元ＩＰアドレスとして登録されているかを検索する。
【０１６７】
検証部５５Ｂは、ＩＰ−Ｄが送信元ＩＰアドレスとして登録されている通信経路の送信先ＩＰアドレスであるＩＰ−Ｅを取得することにより、機能部１１１Ｅを２次機能部と特定する。
【０１６８】
そして、検証部５５Ｂは、検証処理として、２次機能部と特定した機能部１１１Ｅをさらに検証する。検証部５５Ｂは、機能部１１１Ｅの検証処理において、機能部１１１Ｅが異常であると判定した場合、機能部１１１Ｅを異常機能部として管理リストＡに登録することにより、管理リストＡを更新する。
【０１６９】
そして、検証部５５Ｂは、更新後の管理リストＡをスイッチ装置１０１Ａへ送信する。
【０１７０】
また、検証部５５Ｂは、上記と同様の処理により、異常機能部と特定した機能部１１１Ｅの２次機能部を検索する。そして、検証部５５Ｂは、２次機能部が存在した場合、当該２次機能部を検証する。
【０１７１】
検証部５５Ｂは、管理リストＡに登録されているすべての異常機能部に対する２次機能部を検証するまで、上記処理を継続する。
【０１７２】
なお、検証部５５Ｂは、上記の検証処理が終了した後に管理リストを作成し、不正機能部および異常機能部を登録してもよい。
【０１７３】
［変形例１］
スイッチ装置１０１は、検証処理において、機能部１１１から記憶データの検証用データを取得し、取得した検証用データを用いて当該機能部１１１を検証する。
【０１７４】
車載通信システム３０１では、スイッチ装置１０１は、たとえば機能部１１１が図５に示すセキュアＲＯＭ２４を含まない場合、機能部１１１から記憶データの検証用データを取得し、取得した検証用データを用いて当該機能部１１１を検証する。
【０１７５】
より詳細には、スイッチ装置１０１は、たとえば機能部１１１の製造時、および機能部のファームウェアの更新時等において、機能部１１１のファームウェアの書き込みを行う。
【０１７６】
スイッチ装置１０１は、ハッシュ関数を用いて、書き込むファームウェアのハッシュ値を算出する。また、スイッチ装置１０１は、書き込むファームウェアのチェックサムを算出する。
【０１７７】
スイッチ装置１０１は、算出したハッシュ値およびチェックサムを機能部１１１と関連付けて記憶部５３に保持する。
【０１７８】
図８は、本発明の実施の形態に係るスイッチ装置の保持するチェック値テーブルの一例を示す図である。
【０１７９】
図８を参照して、たとえば、スイッチ装置１０１Ａが機能部１１１Ｃに書き込んだファームウェアのハッシュ値およびチェックサムは、それぞれＨＡＳＨ−ＣおよびＳＵＭ−Ｃであり、スイッチ装置１０１Ａが機能部１１１Ｄに書き込んだファームウェアのハッシュ値およびチェックサムは、それぞれＨＡＳＨ−ＤおよびＳＵＭ−Ｄである。
【０１８０】
スイッチ装置１０１Ａは、検証処理において、たとえば機能部１１１Ｄにリセットコマンドを送信して機能部１１１Ｄを強制的に再起動させる。
【０１８１】
機能部１１１Ｄは、再起動が完了して初期状態に遷移すると、スイッチ装置１０１Ａとの通信が可能となる。
【０１８２】
スイッチ装置１０１Ａは、機能部１１１Ｄとの通信が可能になることにより、機能部１１１Ｄによる再起動の完了を検知する。そして、スイッチ装置１０１Ａは、機能部１１１Ｄに確認要求を送信する。
【０１８３】
より詳細には、検証部５５Ａは、検証用データを要求する旨の検証用データ要求を確認要求として含むイーサネットフレームを生成してスイッチ部５１Ａへ出力する。
【０１８４】
スイッチ部５１Ａは、送信元ＭＡＣアドレスおよび送信先ＭＡＣアドレスそれぞれイーサネットフレームに書き込み、アドレステーブルを参照することにより、送信先ＭＡＣアドレスに対応する通信ポート５４を特定し、特定した通信ポート５４を介して、検証部５５Ａから受けたイーサネットフレームを機能部１１１Ｄへ送信する。
【０１８５】
機能部１１１Ｄにおける通信部２８は、スイッチ装置１０１Ａから検証用データ要求を含むイーサネットフレームを受信すると、イーサネットフレームに含まれる検証用データ要求を取得し、プロセッサ２１へ出力する。
【０１８６】
プロセッサ２１におけるコア部２３は、通信部２８から検証用データ要求を受けると、たとえばＦＲＯＭ２６に保存されている検証用データである自己に書き込まれたファームウェアのハッシュ値およびチェックサムを取得して通信部２８へ出力する。
【０１８７】
通信部２８は、コア部２３から受けた検証用データを含むイーサネットフレームを生成してスイッチ装置１０１Ａへ送信する。
【０１８８】
スイッチ装置１０１Ａは、機能部１１１Ｄから送信されたイーサネットフレームを受信すると、受信したイーサネットフレームを記憶部５３Ａに保存する。
【０１８９】
検証部５５Ａは、記憶部５３Ａに保存されたイーサネットフレームに含まれるハッシュ値およびチェックサムを取得する。
【０１９０】
検証部５５Ａは、取得したハッシュ値およびチェックサムと記憶部５３Ａに保存されたチェック値テーブルのハッシュ値およびチェックサムをそれぞれ照合する。
【０１９１】
検証部５５Ａは、照合したハッシュ値およびチェックサムが一致しない場合、対応する機能部１１１を異常であると判定する。
【０１９２】
［変形例２］
スイッチ装置１０１は、検証処理において、機能部１１１から記憶データの認証用データを取得し、取得した認証用データを用いて当該機能部１１１を検証する。
【０１９３】
より詳細には、たとえば、スイッチ装置１０１Ａは、検証処理において、機能部１１１Ｄにリセットコマンドを送信して機能部１１１Ｄを強制的に再起動させる。
【０１９４】
機能部１１１Ｄは、再起動が完了して初期状態に遷移すると、スイッチ装置１０１Ａとの通信が可能となる。
【０１９５】
スイッチ装置１０１Ａは、機能部１１１Ｄとの通信が可能になることにより、機能部１１１Ｄによる再起動の完了を検知する。そして、スイッチ装置１０１Ａは、機能部１１１Ｄに確認要求を送信する。
【０１９６】
より詳細には、スイッチ装置１０１Ａは、所定のプロトコルを用いて、たとえばＩＤおよびパスワードによる認証を要求する。
【０１９７】
より詳細には、検証部５５Ａは、認証用データを要求する旨の認証用データ要求を確認要求として含むイーサネットフレームを生成してスイッチ部５１Ａへ出力する。
【０１９８】
スイッチ部５１Ａは、送信元ＭＡＣアドレスおよび送信先ＭＡＣアドレスそれぞれイーサネットフレームに書き込み、アドレステーブルを参照することにより、送信先ＭＡＣアドレスに対応する通信ポート５４を特定し、特定した通信ポート５４を介して、検証部５５Ａから受けたイーサネットフレームを機能部１１１Ｄへ送信する。
【０１９９】
機能部１１１Ｄにおける通信部２８は、スイッチ装置１０１Ａから認証用データ要求を含むイーサネットフレームを受信すると、イーサネットフレームに含まれる認証用データ要求を取得し、プロセッサ２１へ出力する。
【０２００】
プロセッサ２１におけるコア部２３は、通信部２８から認証用データ要求を受けると、たとえばＦＲＯＭ２６に保存されている認証用データであるＩＤおよびパスワードを取得して通信部２８へ出力する。
【０２０１】
通信部２８は、コア部２３から受けた認証用データを含むイーサネットフレームを生成してスイッチ装置１０１Ａへ送信する。
【０２０２】
スイッチ装置１０１Ａは、機能部１１１Ｄから送信されたイーサネットフレームを受信すると、受信したイーサネットフレームを記憶部５３Ａに保存する。
【０２０３】
検証部５５Ａは、保存されたイーサネットフレームに含まれるＩＤおよびパスワードを取得し、取得したＩＤおよびパスワードを用いて、機能部１１１Ｄの認証を行う。検証部５５Ａは、再認証できない場合、機能部１１１Ｄを異常であると判定する。
【０２０４】
［動作の流れ］
車載通信システム３０１における各装置は、コンピュータを備え、当該コンピュータにおけるＣＰＵ等の演算処理部は、以下のシーケンス図またはフローチャートの各ステップの一部または全部を含むプログラムを図示しないメモリからそれぞれ読み出して実行する。これら複数の装置のプログラムは、それぞれ、外部からインストールすることができる。これら複数の装置のプログラムは、それぞれ、記録媒体に格納された状態で流通する。
【０２０５】
図９は、本発明の実施の形態に係る車載通信システムにおいて不正通信を検証する処理のシーケンスを示す図である。図９は、スイッチ装置１０１Ａおよびスイッチ装置１０１Ｂが不正通信を検証する処理を代表的に示す。
【０２０６】
図９を参照して、まず、スイッチ装置１０１Ａは、自己の通信ポート５４において不正通信を検知する（ステップＳ１０１）。
【０２０７】
次に、スイッチ装置１０１Ａは、不正通信における送信元である不正機能部を機能部１１１Ｃと特定する（ステップＳ１０２）。
【０２０８】
次に、スイッチ装置１０１Ａは、中継情報Ｔａｂ１を参照して１次機能部を検索し、機能部１１１Ｄを１次機能部と特定する（ステップＳ１０３）。
【０２０９】
次に、スイッチ装置１０１Ａは、機能部１１１Ｄへリセットコマンドを送信する。（ステップＳ１０４）。
【０２１０】
次に、機能部１１１Ｄは、受信したリセットコマンドにより再起動する。機能部１１１Ｄは、再起動が完了して初期状態に遷移すると、スイッチ装置１０１Ａとの通信が可能となる（ステップＳ１０５）。
【０２１１】
次に、スイッチ装置１０１Ａは、機能部１１１Ｄによる再起動の完了を検知すると、検証結果情報、検証用データまたは認証用データの各種データを要求する確認要求を機能部１１１Ｄへ送信する（ステップＳ１０６）。
【０２１２】
次に、機能部１１１Ｄは、検証結果情報、検証用データまたは認証用データをスイッチ装置１０１Ａへ送信する（ステップＳ１０７）。
【０２１３】
次に、スイッチ装置１０１Ａは、検証結果情報、検証用データまたは認証用データを確認することにより、機能部１１１Ｄが異常機能部であると判定する（ステップＳ１０８）。
【０２１４】
次に、スイッチ装置１０１Ａは、異常機能部の通信相手の機能部１１１である２次機能部を検索し、機能部１１１Ｅを２次機能部と特定する（ステップＳ１０９）。
【０２１５】
次に、スイッチ装置１０１Ａは、中継情報Ｔａｂ１を参照して機能部１１１Ｅがスイッチ装置１０１Ｂに接続されていることを確認し、不正機能部である機能部１１１Ｃ、および異常機能部である機能部１１１Ｄを管理リストに登録する（ステップＳ１１０）。
【０２１６】
次に、スイッチ装置１０１Ａは、管理リストをスイッチ装置１０１Ｂへ送信する（ステップＳ１１１）。
【０２１７】
次に、スイッチ装置１０１Ｂは、受信した管理リスト、および中継情報Ｔａｂ２を参照して１次機能部、および２次機能部を検索することにより、機能部１１１Ｅを２次機能部と特定する（ステップＳ１１２）。
【０２１８】
次に、スイッチ装置１０１Ｂは、機能部１１１Ｅへリセットコマンドを送信する。（ステップＳ１１３）。
【０２１９】
次に、機能部１１１Ｅは、受信したリセットコマンドにより再起動する。機能部１１１Ｅは、再起動が完了して初期状態に遷移すると、スイッチ装置１０１Ｂとの通信が可能となる（ステップＳ１１４）。
【０２２０】
次に、スイッチ装置１０１Ｂは、機能部１１１Ｅによる再起動の完了を検知すると、検証結果情報、検証用データまたは認証用データの各種データを要求する確認要求を機能部１１１Ｅへ送信する（ステップＳ１１５）。
【０２２１】
次に、機能部１１１Ｅは、検証結果情報、検証用データまたは認証用データをスイッチ装置１０１Ｂへ送信する（ステップＳ１１６）。
【０２２２】
次に、スイッチ装置１０１Ｂは、検証結果情報、検証用データまたは認証用データを確認することにより、機能部１１１Ｅが異常機能部であると判定する（ステップＳ１１７）。
【０２２３】
次に、スイッチ装置１０１Ｂは、機能部１１１Ｅを管理リストに登録する（ステップＳ１１８）。
【０２２４】
次に、スイッチ装置１０１Ｂは、管理リストをスイッチ装置１０１Ａへ送信する（ステップＳ１１９）。
【０２２５】
図１０は、本発明の実施の形態に係るスイッチ装置が不正通信を検証する検証処理を行う際の動作手順を定めたフローチャートである。
【０２２６】
図１０を参照して、まず、スイッチ装置１０１は、自己の通信ポート５４において不正通信を検知する（ステップＳ２０１）。
【０２２７】
次に、スイッチ装置１０１は、不正通信における送信元である不正機能部を特定する（ステップＳ２０２）。
【０２２８】
次に、スイッチ装置１０１は、中継情報Ｔａｂ１を参照し、１次機能部を検索する（ステップＳ２０３）。
【０２２９】
次に、スイッチ装置１０１は、１次機能部が存在しない場合（ステップＳ２０３でＮＯ）、管理リストを生成または更新し（ステップＳ２０９）、管理リストを他のスイッチ装置１０１へ送信する（ステップＳ２１０）。
【０２３０】
一方、スイッチ装置１０１は、１次機能部が存在し（ステップＳ２０３でＹＥＳ）、かつ１次機能部が他のスイッチ装置１０１に接続されている場合（ステップＳ２０４でＮＯ）、管理リストを他のスイッチ装置１０１へ送信する（ステップＳ２１０）。
【０２３１】
一方、スイッチ装置１０１は、１次機能部が自己のスイッチ装置１０１に接続されている場合（ステップＳ２０４でＹＥＳ）、１次機能部を検証する（ステップＳ２０５）。
【０２３２】
次に、スイッチ装置１０１は、検証処理において、１次機能部が正常であると判定した場合（ステップＳ２０５でＮＯ）、管理リストを生成または更新し（ステップＳ２０９）、管理リストを他のスイッチ装置１０１へ送信する（ステップＳ２１０）。
【０２３３】
一方、スイッチ装置１０１は、検証処理において、１次機能部が異常であると判定した場合（ステップＳ２０５でＹＥＳ）、中継情報Ｔａｂ１を参照し、異常機能部の通信相手の機能部１１１である２次機能部を検索する（ステップＳ２０６）。
【０２３４】
次に、スイッチ装置１０１は、２次機能部が存在しない場合（ステップＳ２０６でＮＯ）、管理リストを生成または更新し（ステップＳ２０９）、管理リストを他のスイッチ装置１０１へ送信する（ステップＳ２１０）。
【０２３５】
一方、スイッチ装置１０１は、２次機能部が存在し（ステップＳ２０６でＹＥＳ）、かつ２次機能部が他のスイッチ装置１０１に接続されている場合（ステップＳ２０７でＮＯ）、管理リストを生成または更新し（ステップＳ２０９）、管理リストを他のスイッチ装置１０１へ送信する（ステップＳ２１０）。
【０２３６】
一方、スイッチ装置１０１は、２次機能部が自己のスイッチ装置１０１に接続されている場合（ステップＳ２０７でＹＥＳ）、２次機能部を検証する（ステップＳ２０８）。
【０２３７】
次に、スイッチ装置１０１は、検証処理において、２次機能部が正常であると判定した場合（ステップＳ２０８でＮＯ）、管理リストを生成または更新し（ステップＳ２０９）、管理リストを他のスイッチ装置１０１へ送信する（ステップＳ２１０）。
【０２３８】
一方、スイッチ装置１０１は、検証処理において、２次機能部が異常であると判定した場合（ステップＳ２０８でＹＥＳ）、中継情報Ｔａｂ１を参照し、異常機能部の通信相手の機能部１１１である２次機能部を検索する（ステップＳ２０６）。
【０２３９】
なお、本発明の実施の形態に係るスイッチ装置では、制御部５２が不正通信を検知する構成であるとしたが、これに限定するものではない。スイッチ装置１０１は、たとえば自己に接続された他のスイッチ装置１０１または機能部１１１から不正通信を検知した旨の情報を取得する構成であってもよい。この場合、制御部５２は、不正通信を検知した旨の情報を取得すると、当該情報を検証部５５へ出力する。
【０２４０】
また、本発明の実施の形態に係るスイッチ装置では、検証部５５は、検証処理として、機能部１１１が異常であるか否かを判定する構成であるとしたが、これに限定するものではない。検証部５５は、検証処理として、機能部１１１が異常である可能性を判定する構成であってもよい。
【０２４１】
また、本発明の実施の形態に係る車載通信システムでは、スイッチ装置１０１は、中継情報に基づいて１次機能部を特定し、当該１次機能部を検証する構成であるとしたが、これに限定するものではない。スイッチ装置１０１は、中継情報を用いず、たとえば自己に接続されているすべての機能部１１１を検証する構成であってもよい。
【０２４２】
また、本発明の実施の形態に係る車載通信システムでは、スイッチ装置１０１は、２次機能部をさらに検証する構成であるとしたが、これに限定するものではない。スイッチ装置１０１は、１次機能部の検証にとどめる構成であってもよい。
【０２４３】
また、本発明の実施の形態に係る車載通信システムでは、スイッチ装置１０１は、管理リストを保持する構成であるとしたが、これに限定するものではない。スイッチ装置１０１は、管理リストを保持せずに検証処理を行う構成であってもよい。
【０２４４】
また、本発明の実施の形態に係る車載通信システムでは、スイッチ装置１０１は、管理リストを自己に接続されている他のスイッチ装置１０１に送信し、他のスイッチ装置１０１に接続されている機能部１１１を検証させる構成であるとしたが、これに限定するものではない。スイッチ装置１０１は、他のスイッチ装置１０１へ管理リストを送信しない構成であってもよい。
【０２４５】
また、本発明の実施の形態に係る車載通信システムでは、スイッチ装置１０１は、管理リストを更新するたびに管理リストを他のスイッチ装置へ送信する構成であるとしたが、これに限定するものではない。スイッチ装置１０１は、所定のタイミングで管理リストを他のスイッチ装置へ送信する構成であってもよい。
【０２４６】
ところで、車載ネットワークにおいて不正状態が発生した場合に適切に対処可能な技術が望まれる。
【０２４７】
これに対して、本発明の実施の形態に係る車載通信システムでは、スイッチ装置１０１は、複数の機能部１１１間の通信データを中継する中継処理を行う。そして、スイッチ装置１０１は、機能部１１１による不正通信が検知された場合、不正通信が検知された機能部１１１である不正機能部以外の機能部１１１を検証する検証処理を行う。
【０２４８】
このような構成により、機能部１１１におけるファームウェアの不正な書き換え等により不正通信が行われた場合、不正または異常状態である可能性がある当該機能部１１１の通信相手の機能部１１１の検証を行い、被害が拡大することを抑制することができる。
【０２４９】
したがって、本発明の実施の形態に係る車載通信システムでは、車載ネットワークにおける不正に対して対処する機能を向上させることができる。
【０２５０】
また、本発明の実施の形態に係る車載通信システムでは、スイッチ装置１０１は、機能部１１１間の通信の関係を示す中継情報を用いて中継処理を行い、検証処理として、不正通信が検知された機能部１１１である不正機能部の通信相手の機能部１１１を中継情報に基づいて特定し、特定した機能部１１１を検証する。
【０２５１】
このような構成により、不正通信を行った機能部１１１と通信を行う機能部１１１を正しくかつ容易に特定し、検証することができる。
【０２５２】
また、本発明の実施の形態に係る車載通信システムでは、スイッチ装置１０１は、検証処理として、当該検証処理において異常であると判定された機能部１１１である異常機能部の通信相手の機能部１１１である２次機能部をさらに検証する。
【０２５３】
このように段階的に検証を行う構成により、不正または異常状態である可能性がある機能部１１１を特定し、被害が拡大する前に適切な処置を行うことができる。
【０２５４】
また、本発明の実施の形態に係る車載通信システムでは、スイッチ装置１０１は、不正通信が検知された機能部１１１である不正機能部および検証処理において異常であると判定された機能部１１１である異常機能部の少なくともいずれか一方を示す管理リストを保持する。
【０２５５】
このような構成により、特定した機能部１１１が示された管理リストを用いて各種の処置を容易に行うことができる。
【０２５６】
また、本発明の実施の形態に係る車載通信システムでは、スイッチ装置１０１は、検証処理において異常であると判定された機能部１１１である異常機能部の通信相手の機能部１１１である２次機能部が他のスイッチ装置１０１に接続されている場合、他のスイッチ装置１０１に管理リストを与えて２次機能部を検証させる処理を行う。
【０２５７】
このような構成により、自己のスイッチ装置１０１と直接接続されていない機能部１１１に対して、他のスイッチ装置１０１経由で検証処理を行うことができる。
【０２５８】
また、本発明の実施の形態に係る車載通信システムでは、スイッチ装置１０１は、管理リストを更新するたびに更新後の管理リストを他のスイッチ装置１０１へ送信する。
【０２５９】
このような構成により、特定した機能部１１１の情報をスイッチ装置１０１間において常時共有し、より広い範囲の検証処理を行うことができる。
【０２６０】
また、本発明の実施の形態に係る車載通信システムでは、スイッチ装置１０１は、検証処理において、機能部１１１から記憶データの検証用データを取得し、取得した検証用データを用いて機能部１１１を検証する。
【０２６１】
このような構成により、スイッチ装置１０１において、機能部１１１のファームウェアの改ざん等の異常を検知することができる。
【０２６２】
また、本発明の実施の形態に係る車載通信システムでは、スイッチ装置１０１は、検証処理において、機能部１１１から記憶データの認証用データを取得し、取得した認証用データを用いて機能部１１１を検証する。
【０２６３】
このような構成により、より簡易な処理でファームウェアの改ざん等の異常を検知することができる。
【０２６４】
また、本発明の実施の形態に係るスイッチ装置では、スイッチ部５１は、複数の機能部間の通信データを中継する中継処理を行う。検証部５５は、機能部１１１による不正通信が検知された場合、不正通信が検知された機能部１１１である不正機能部以外の機能部１１１を検証する検証処理を行う。
【０２６５】
このような構成により、機能部１１１におけるファームウェアの不正な書き換え等により不正通信が行われた場合、不正または異常状態である可能性がある当該機能部１１１の通信相手の機能部１１１の検証を行い、被害が拡大することを抑制することができる。
【０２６６】
したがって、本発明の実施の形態に係るスイッチ装置では、車載ネットワークにおける不正に対して対処する機能を向上させることができる。
【０２６７】
また、本発明の実施の形態に係る車載通信システムにおける検証方法では、まず、スイッチ装置１０１が、機能部１１１による不正通信の検知結果を取得する。次に、スイッチ装置１０１が、不正通信が検知された機能部１１１である不正機能部の通信相手の機能部１１１へ確認要求を送信する。次に、当該不正機能部の通信相手の機能部１１１が、確認要求に対する応答情報をスイッチ装置１０１へ送信する。
【０２６８】
このような構成により、機能部１１１におけるファームウェアの不正な書き換え等により不正通信が行われた場合、不正または異常状態である可能性がある当該機能部１１１の通信相手の機能部１１１の検証を行い、被害が拡大することを抑制することができる。
【０２６９】
したがって、本発明の実施の形態に係る車載通信システムにおける検証方法では、車載ネットワークにおける不正に対して対処する機能を向上させることができる。
【０２７０】
また、本発明の実施の形態に係るスイッチ装置における検証方法では、まず、機能部１１１による不正通信の検知結果を取得する。次に、機能部１１１による不正通信が検知された場合、不正通信が検知された機能部１１１である不正機能部以外の機能部１１１を検証する検証処理を行う。
【０２７１】
このような構成により、機能部１１１におけるファームウェアの不正な書き換え等により不正通信が行われた場合、不正または異常状態である可能性がある当該機能部１１１の通信相手の機能部１１１の検証を行い、被害が拡大することを抑制することができる。
【０２７２】
したがって、本発明の実施の形態に係るスイッチ装置における検証方法では、車載ネットワークにおける不正に対して対処する機能を向上させることができる。
【０２７３】
上記実施の形態は、すべての点で例示であって制限的なものではないと考えられるべきである。本発明の範囲は、上記説明ではなく請求の範囲によって示され、請求の範囲と均等の意味および範囲内でのすべての変更が含まれることが意図される。
【０２７４】
以上の説明は、以下に付記する特徴を含む。
［付記１］
複数の機能部と、
前記機能部間の通信データを中継する中継処理を行う１または複数のスイッチ装置とを備え、
前記スイッチ装置は、前記機能部による不正通信が検知された場合、不正通信が検知された前記機能部である不正機能部以外の前記機能部を検証する検証処理を行い、
前記スイッチ装置は、前記検証処理として、確認要求を前記不正機能部以外の機能部へ送信し、前記不正機能部以外の機能部から自己のデータが正当であるか否かの判断結果を示す情報を受信する、車載通信システム。
【０２７５】
［付記２］
車載通信システムにおいて用いられるスイッチ装置であって、
複数の機能部間の通信データを中継する中継処理を行うスイッチ部と、
前記機能部による不正通信が検知された場合、不正通信が検知された前記機能部である不正機能部以外の前記機能部を検証する検証処理を行う検証部とを備え、
前記検証部は、前記検証処理として、確認要求を前記スイッチ部経由で前記不正機能部以外の機能部へ送信し、
前記スイッチ部は、前記不正機能部以外の機能部から自己のデータが正当であるか否かの判断結果を示す情報を受信する、スイッチ装置。
【符号の説明】
【０２７６】
１  車両
１０  イーサネットケーブル
２１  プロセッサ
２２  内蔵ＨＷ
２３  コア部
２４  セキュアＲＯＭ
２６  ＦＲＯＭ
２７  ＤＲＡＭ
２８  通信部
５１  スイッチ部
５２  制御部
５３  記憶部
５４  通信ポート
５５  検証部
１０１  スイッチ装置
１１１  機能部
３０１  車載通信システム
【図１】
2019167384.tif 000003
【図２】
2019167384.tif 000004
【図３】
2019167384.tif 000005
【図４】
2019167384.tif 000006
【図５】
2019167384.tif 000007
【図６】
2019167384.tif 000008
【図７】
2019167384.tif 000009
【図８】
2019167384.tif 000010
【図９】
2019167384.tif 000011
【図１０】
2019167384.tif 000012
【国際調査報告】
2019167384.tif 000013
2019167384.tif 000014
2019167384.tif 000015
2019167384.tif 000016