(57)【要約】【課題】車載LANにおけるセキュリティを向上させること。【解決手段】CANプロトコルにしたがって通信を行う第１の機器と、CANプロトコルとは異なる他のプロトコルにしたがって通信を行う第２の機器と、CANプロトコルと他のプロトコルとの間でプロトコル変換を行い、第１の機器と第２の機器との間でメッセージを中継するゲートウェイとを有し、ゲートウェイは、ゲートウェイと第１の機器との間を接続する通信バスの電圧、及び第１の機器の通信周期の両方又は一方を監視し、該監視結果に基づいて、第１の機器によって送信されるメッセージを第２の機器へ中継する制御を行う制御部を有する。【選択図】図９
2016111477.tif 000002
【特許請求の範囲】
【請求項１】
CANプロトコルにしたがって通信を行う第１の機器と、
前記CANプロトコルとは異なる他のプロトコルにしたがって通信を行う第２の機器と、
前記CANプロトコルと前記他のプロトコルとの間でプロトコル変換を行い、前記第１の機器と前記第２の機器との間でメッセージを中継するゲートウェイと
を有し、
前記ゲートウェイは、
前記ゲートウェイと前記第１の機器との間を接続する通信バスの電圧、及び前記第１の機器の通信周期の両方又は一方を監視し、該監視の結果に基づいて、前記第１の機器によって送信されるメッセージを前記第２の機器へ中継する制御を行う制御部を有する、通信システム。
【請求項２】
前記第１の機器によって送信されるフレームのペイロード長は、前記第２の機器によって送信されるフレームのペイロード長よりも短い、請求項１に記載の通信システム。
【請求項３】
前記制御部は、前記通信バスの電圧、及び前記通信周期のいずれか一方の前記監視の結果が異常である場合に、前記第１の機器の正当性を判断する、請求項１又は２に記載の通信システム。
【請求項４】
前記制御部は、前記通信バスの電圧、及び前記通信周期の両方の前記監視の結果が異常である場合に、前記第１の機器の正当性を判断するとともに、前記第１の機器にメッセージを送信してから該メッセージに対するレスポンスを受信するまでの応答時間を検証する、請求項１又は２に記載の通信システム。
【請求項５】
CANプロトコルにしたがって通信を行う第１の機器と、前記CANプロトコルとは異なる他のプロトコルにしたがって通信を行う第２の機器との間で、メッセージを中継するゲートウェイであって、
前記ゲートウェイと前記第１の機器との間を接続する通信バスの電圧をモニタする電圧モニタ部と、
前記CANプロトコルと前記他のプロトコルとの間でプロトコル変換を行い、前記第１の機器と前記第２の機器との間でメッセージを中継するマイクロコントローラと
を有し、
前記マイクロコントローラは、
前記電圧、及び前記第１の機器の通信周期の両方又は一方を監視し、該監視の結果に基づいて、前記第１の機器によって送信されるメッセージを前記第２の機器へ中継する制御を行う制御部を有する、ゲートウェイ。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、通信システムに関する。
【背景技術】
【０００２】
車両内に搭載される各電子制御ユニット(ECU: electronic control unit)間を接続する車載LAN(Local Area Network)規格として、CAN(Controller Area Network)、LIN(Local Interconnect Network)が広く普及している。一方で、FlexRay、CAN FD（CAN with Flexible Data Rate）、車載イーサネット(Ethernet)等の次世代の車載LANが知られている。
【０００３】
次世代の車載LANが車両に導入されることによって、CAN等の既存の通信プロトコルが適用されるネットワーク（以下、「第１のネットワーク」という）と、次世代の車載LANの通信プロトコルが適用されるネットワーク（以下、「第２のネットワーク」という）が車両に混在することが想定される。このような異なる通信プロトコルが適用されるネットワーク間でメッセージを中継するゲートウェイ(GW: Gate Way)として、マルチプロトコルゲートウェイ(Multi-Protocol GW)が知られている。マルチプロトコルゲートウェイが導入され、異なる通信プロトコルが適用されるネットワーク間でデータが中継されるようになると各ネットワークの状態を監視する必要性は益々高いものとなる。
【０００４】
ネットワークの状態を監視する技術として、各情報処理手段が周期的にネットワークに出力するデータのうち、最短周期で出力するデータを判別し、判別した最短周期で出力するデータがネットワークに出力されたか否かを監視することにより、該車載通信システムの通信異常を検知する技術が知られている（例えば、特許文献１参照）。
【先行技術文献】
【特許文献】
【０００５】
【特許文献１】特開２０１３−２３６１８４号公報
【発明の概要】
【発明が解決しようとする課題】
【０００６】
次世代の車載LANのフレーム構成は、これまでの車載LANのフレーム構成と比較して、データ領域が拡張される。したがって、次世代の車載LANのフレームには、拡張されたデータ領域に制御用データに加えて認証用データ等のセキュリティ用データを付帯できるため、第２のネットワークの内部ではセキュリティ対策を行うことができる。
【０００７】
しかし、既存の車載LANのフレームには、データ領域に制御用データに加えてセキュリティ用データを付帯することは難しいため、第１のネットワークの内部ではセキュリティ対策を行うことは難しい。
【０００８】
仮に、第１のネットワークから第２のネットワークへ、マルチプロトコルゲートウェイによって不正なメッセージが中継された場合には、第２のネットワークの内部では正しいメッセージが中継されたとして処理される。このため、第２のネットワークの内部ではセキュリティ対策を行うことができるにもかかわらず、第１のネットワークから中継された不正なメッセージによって影響を受けるおそれがある。
【０００９】
本発明の目的は、車載LANにおけるセキュリティを向上させることである。
【課題を解決するための手段】
【００１０】
開示の一実施例の通信システムは、
CANプロトコルにしたがって通信を行う第１の機器と、
前記CANプロトコルとは異なる他のプロトコルにしたがって通信を行う第２の機器と、
前記CANプロトコルと前記他のプロトコルとの間でプロトコル変換を行い、前記第１の機器と前記第２の機器との間でメッセージを中継するゲートウェイと
を有し、
前記ゲートウェイは、
前記ゲートウェイと前記第１の機器との間を接続する通信バスの電圧、及び前記第１の機器の通信周期の両方又は一方を監視し、該監視の結果に基づいて、前記第１の機器によって送信されるメッセージを前記第２の機器へ中継する制御を行う制御部を有する。
【発明の効果】
【００１１】
開示の実施例によれば、車載LANにおけるセキュリティを向上させることができる。
【図面の簡単な説明】
【００１２】
【図１】通信システムの一実施例を示す図である。
【図２】ＥＣＵの一例を示すハードウェア構成図である。
【図３】ＥＣＵの一例を示す機能ブロック図である。
【図４】ＣＡＮフレームの一例を示す図である。
【図５】ＣＡＮ  ＦＤフレームの一例を示す図である。
【図６】車載イーサネットフレームの一例を示す図である。
【図７】ＦｌｅｘＲａｙフレームの一例を示す図である。
【図８】認証情報テーブルの一例を示す図である。
【図９】ＧＷＥＣＵの一実施例を示すハードウェア構成図である。
【図１０】ＧＷＥＣＵの一実施例を示す機能ブロック図である。
【図１１】ＥＣＵ認証用テーブルの一例を示す図である。
【図１２】メッセージ認証用テーブルの一例を示す図である。
【図１３】中継先テーブルの一例を示す図である。
【図１４】通信システムの動作の一実施例を示すフローチャートである。
【図１５】ＧＷＥＣＵの一変形例を示すハードウェア構成図である。
【図１６】ＧＷＥＣＵの一変形例を示す機能ブロック図である。
【図１７】通信システムの動作の一変形例を示すフローチャートである。
【発明を実施するための形態】
【００１３】
次に、本発明を実施するための形態を、以下の実施例に基づき図面を参照しつつ説明する。以下で説明する実施例は一例に過ぎず、本発明が適用される実施の形態は、以下の実施例に限られない。
なお、実施例を説明するための全図において、同一機能を有するものは同一符号を用い、繰り返しの説明は省略する。
【００１４】
＜実施例＞
＜通信システム＞
図１は、本発明の一実施形態に係る通信システムの概略図であり、まずは図１を用いて、本実施形態の概略を説明する。
【００１５】
通信システムは、ＧＷＥＣＵ（Gate Way Electronic Control Unit）（ゲートウェイエレクトロニックコントロールユニット）を介して、一方のネットワークのＥＣＵから他方のネットワークのＥＣＵにフレームを送信する。つまり、ＧＷＥＣＵは、一方のネットワークのＥＣＵから他方のネットワークのＥＣＵにフレームを中継する。
【００１６】
図１に示す通信システムは、複数のＥＣＵ（１００ａａ，１００ａｂ，・・・，１００ｄｃ）、及びＧＷＥＣＵ２００によって構成されている。なお、本実施形態では、ＥＣＵ（１００ａａ，１００ａｂ，・・・，１００ｄｃ）のうち任意のＥＣＵを示す場合には「ＥＣＵ１００」と記載する。
【００１７】
ＥＣＵ１００は、フレームのペイロード部分に制御用データを付帯したフレームの送受信を行う。フレームのペイロード部分には、制御用データを付帯することもできるし、認証用データ等の制御用データとは異なるデータを付帯することもできる。
【００１８】
ＥＣＵ（１００ａａ，１００ａｂ，１００ａｃ）は、第１の通信線１６０ａによってＧＷＥＣＵ２００と接続され、第１のネットワーク１５０ａを構成する。第１のネットワーク１５０ａの一例は、CAN、LIN等の既存の通信プロトコルが適用されるネットワークである。CANが適用される場合、第１の通信線１６０ａは、ツイストペアの形態を有する２本の通信線（CANバス）からなる。CANバスのツイストペア線は一方がCAN High（以下、CANHという）、他方がCAN Low（以下、CANLという）と呼ばれる母線である。第１の通信線１６０ａの両端には終端抵抗（図示なし）が接続される。図１では、１本の実線でCANH、CANLを表す。第１のネットワーク１５０ａを構成するＥＣＵの数は３個に限らず、１−２個とすることもできるし、４個以上とすることもできる。また、既存の通信プロトコルが適用されるネットワークの数は1個に限らず、２個以上とすることもできる。
【００１９】
ＥＣＵ（１００ｂａ，１００ｂｂ，１００ｂｃ）は、第２の通信線１６０ｂによってＧＷＥＣＵ２００と接続され、第２のネットワーク１５０ｂを構成する。第２のネットワーク１５０ｂの一例は、FlexRay、CAN FD、車載イーサネット等の次世代の車載LANの通信プロトコルが適用されるネットワークである。本実施の形態では、第２のネットワーク１５０ｂに、CAN FDが適用される。第２のネットワーク１５０ｂを構成するＥＣＵの数は３個に限らず、１−２個とすることもできるし、４個以上とすることもできる。
【００２０】
ＥＣＵ（１００ｃａ，１００ｃｂ，１００ｃｃ）は、第３の通信線１６０ｃによってＧＷＥＣＵ２００と接続され、第３のネットワーク１５０ｃを構成する。第３のネットワーク１５０ｃの一例は、FlexRay、CAN FD、車載イーサネット等の次世代の車載LANの通信プロトコルが適用されるネットワークである。本実施の形態では、第３のネットワーク１５０ｃに、車載イーサネットが適用される。第３のネットワーク１５０ｃを構成するＥＣＵの数は３個に限らず、１−２個とすることもできるし、４個以上とすることもできる。
【００２１】
ＥＣＵ（１００ｄａ，１００ｄｂ，１００ｄｃ）は、第４の通信線１６０ｄによってＧＷＥＣＵ２００と接続され、第４のネットワーク１５０ｄを構成する。第４のネットワーク１５０ｄの一例は、FlexRay、CAN FD、車載イーサネット等の次世代の車載LANの通信プロトコルが適用されるネットワークである。本実施の形態では、第４のネットワーク１５０ｄに、FlexRayが適用される。第４のネットワーク１５０ｄを構成するＥＣＵの数は３個に限らず、１−２個とすることもできるし、４個以上とすることもできる。
【００２２】
また、次世代の車載LANの通信プロトコルが適用されるネットワークの数は３個に限らず、１−２個とすることもできるし、４個以上とすることもできる。
【００２３】
本実施の形態では、説明の便宜のため、第１のネットワーク１５０ａを既存の車載LANの通信プロトコルが適用されるネットワークとし、第２のネットワーク１５０ｂ−第４のネットワーク１５０ｄを次世代の車載LANの通信プロトコルが適用されるネットワークとする。既存の車載LANの通信プロトコルと、次世代の車載LANの通信プロトコルは、フレームのペイロード長に基づいて区別することができる。具体的には、既存の車載LANの通信プロトコルのフレームのペイロード長は制御用データを付帯できる程度のビット数しか用意されておらず（CANの場合には８バイト）、次世代の車載LANの通信プロトコルのフレームのペイロード長は制御用データ、及びセキュリティ用データを付帯できるビット数が用意される。つまり、次世代の車載LANの通信プロトコルのフレームのペイロード長は長く、制御用データ、及びセキュリティ用データを付帯できる程度である。また、既存の車載LANの通信プロトコルのフレームのペイロード長は短く、制御用データを付帯できる程度である。
【００２４】
なお、本実施形態では、第１のネットワーク１５０ａを構成する任意のＥＣＵを示す場合には「ＥＣＵ１００ａ」と記載し、第２のネットワーク１５０ｂを構成する任意のＥＣＵを示す場合には「ＥＣＵ１００ｂ」と記載する。また、第３のネットワーク１５０ｃを構成する任意のＥＣＵを示す場合には「ＥＣＵ１００ｃ」と記載し、第４のネットワーク１５０ｄを構成する任意のＥＣＵを示す場合には「ＥＣＵ１００ｄ」と記載する。また、第１のネットワーク１５０ａ、第２のネットワーク１５０ｂ、第３のネットワーク１５０ｃ、及び第４のネットワーク１５０ｄのうち任意のネットワークを示す場合には「ネットワーク１５０」と記載し、第１の通信線１６０ａ（CANバス）、第２の通信線１６０ｂ（CAN FDバス）、第３の通信線１６０ｃ（車載イーサネットバス）、及び第４の通信線１６０ｄ（FlexRayバス）のうち任意の通信線（バス）を示す場合には「通信線１６０」と記載する。
【００２５】
＜実施形態のハードウェア構成＞
次に、本実施形態のハードウェア構成を説明する。
【００２６】
＜ＥＣＵ１００の構成＞
図２は、本実施形態に係るＥＣＵ１００のハードウェア構成を示す。ＥＣＵ１００は、自動車制御用コンピュータであり、ボディ系、制御系、情報系等における様々な機能を実現する。
【００２７】
ＥＣＵ１００は、マイクロコントローラ１０２、及びトランシーバ１０４を備える。マイクロコントローラ１０２には、ＥＣＵ１００全体を制御するＣＰＵ、ＣＰＵが実行するＥＣＵ用プログラムを格納するＲＯＭ、及びＥＣＵ１００の制御を実行する際にＣＰＵのワークエリアとして使用されるＲＡＭ等のハードウェアが実装される。マイクロコントローラ１０２に、２個以上のＣＰＵを実装することもできる。
【００２８】
トランシーバ１０４は、マイクロコントローラ１０２、及び通信線１６０と接続され、マイクロコントローラ１０２から入力されるフレームを通信線１６０に送信し、通信線１６０によって転送されるフレームをマイクロコントローラ１０２に入力する。ＥＣＵ１００に２個以上のトランシーバを備えることもできるし、ＥＣＵ１００に２個以上のマイクロコントローラを備えることもできる。
【００２９】
＜ＥＣＵ１００の機能＞
次に、ＥＣＵ１００の各部を詳細に説明する。
【００３０】
図３は、ＥＣＵ１００の機能の一実施例を示す機能ブロック図である。この機能ブロック図により表される機能は、主に、マイクロコントローラ１０２により実行される。マイクロコントローラ１０２は、送受信部１１２と、制御部１１４として機能する。
【００３１】
ＥＣＵ１００の送受信部１１２は、トランシーバ１０４を介してＧＷＥＣＵ２００、又は他のＥＣＵと各種データ（情報）の送受信を行う。
【００３２】
ＥＣＵ１００の制御部１１４は、トランシーバ１０４を介してＧＷＥＣＵ２００、又は他のＥＣＵへ送信するフレームを作成する。また、送受信部１１２によって受信されるＧＷＥＣＵ２００、又は他のＥＣＵによって送信されたフレームに従って各種制御を行う。
【００３３】
第１のネットワーク１５０ａを構成するＥＣＵ１００ａ、第２のネットワーク１５０ｂを構成するＥＣＵ１００ｂ、第３のネットワーク１５０ｃを構成するＥＣＵ１００ｃ、及び第４のネットワーク１５０ｄを構成するＥＣＵ１００ｄの各制御部１１４によって作成されるフレームの構成は異なる。
【００３４】
（１）第１のネットワーク１５０aを構成するＥＣＵ１００ａの制御部１１４によって作成されるフレームの構成
ＥＣＵ１００ａによって構成される第１のネットワーク１５０ａにはCANプロトコルが適用される。
【００３５】
図４は、CANフレームの一例を示す。CANフレームは、スタートオブフレーム(SOF: Start Of Frame)フィールドと、ID(Identifier)フィールドと、リモートトランスミッションリクエスト(RTR: Remote Transmission Request)フィールドと、データ長コード(DLC: Data Length Code)フィールドと、Dataフィールドと、CRCスロットフィールドと、ACK（アクノレッジ）スロットフィールドと、エンドオブフレーム(EOF: End of Frame)とによって構成される。図４の各フィールドに記載されている数値は、フィールドの各々を構成するビット数を示す。
【００３６】
スタートオブフレームフィールドは、メッセージの始まりを示し、ドミナント(論理0)ビットで示される。IDフィールドは、メッセージを識別し、メッセージの優先順位を示す。IDは、11ビットで表されてもよいし（標準フレーム）、29ビットで表されてもよい（拡張フレーム）。リモートトランスミッションリクエストフィールドは、リモートフレームとデータフレームを区別するのに使用される。ドミナント(論理0)のリモートトランスミッションリクエストフィールドはデータフレームを示す。リセッシブ(論理１)のリモートトランスミッションリクエストビットはリモートフレームを示す。データ長コードフィールドは、データフィールドに含まれるバイト数を示す。Dataフィールドには、0-8バイトのデータが含まれる。CRCフィールドは、巡回冗長検査を示す。CRCには、15ビットの巡回冗長検査コードとリセッシブデリミタビットが含まれる。CRCフィールドは、エラー検出に使用される。ACK（アクノレッジ）フィールドは、メッセージを正しく受信した場合に、メッセージの最後に送信する。
【００３７】
（２）第２のネットワーク１５０ｂを構成するＥＣＵ１００ｂの制御部１１４によって作成されるフレームの構成
ＥＣＵ１００ｂによって構成される第２のネットワーク１５０ｂにはCAN FDプロトコルが適用される。
【００３８】
図５は、CAN FDフレームの一例を示す。CAN FDフレームは、スタートオブフレームフィールドと、IDフィールドと、拡張データ長(EDL: Extended Data Length)フィールドと、ビットレートスイッチ(BRS: Bit Rate Switch)フィールドと、エラーステートインジケータ(ESI: Error State Indicator)フィールドと、データ長コードフィールドと、Dataフィールドと、CRCフィールドと、ACKフィールドと、エンドオブフレームフィールドとによって構成される。図５の各フィールドに記載されている数値は、フィールドの各々を構成するビット数を示す。さらに、データ長コードフィールドとしてデータ長の拡張分をカバーする4ビット構成が追加され、この追加部分を使用して12、16、20、24、32、48、64バイトのいずれかの値を設定する。
【００３９】
CAN FDフレームは、CANフレームにEDLビット、BRSビット、及びESIビットが追加され、さらにDataフィールドが64バイトに拡張されている。EDLビットは、CANフォーマットのフレームとCAN FDフォーマットのフレームを識別するビットであり、CAN FDフレームではレセッシブに、CANフレームではドミナントに設定される。BRSビットは、ビットレートを切り替えるかどうかを識別するビットである。BRSビットがレセッシブの場合は、データフィールドを送出する際のビットレートが高速に切り替わる。ESIビットはCAN FDノードのエラー状態の識別に使われる。
【００４０】
（３）第３のネットワーク１５０ｃを構成するＥＣＵ１００ｃの制御部１１４によって作成されるフレームの構成
ＥＣＵ１００ｃによって構成される第３のネットワーク１５０ｃには車載イーサネットが適用される。
【００４１】
図６は、車載イーサネットのフレーム構成例について、（１）DIXイーサネットの場合、（２）IEEE 802.3の場合、及び（３）IEEE 802.3(オプションのVLANタグヘッダを利用する場合)について示す。車載イーサネットのフレーム構成は、イーサネット（登録商標）のフレーム構成を適用できる。これら３種類のフレーム構成例のうち、第３のネットワーク１５０ｃで使用するフレーム構成は予め設定することができる。
【００４２】
図６の（１）に示されるように、DIXイーサネットのフレームは、プリアンブルフィールドと、宛先アドレスフィールドと、送信元アドレスフィールドと、タイプフィールドと、データフィールドと、FCSフィールドとによって構成される。
【００４３】
図６の（２）に示されるように、IEEE 802.3に規定されるフレームは、プリアンブルフィールドと、SFD(Start Frame Delimiter)フィールドと、宛先アドレスフィールドと、送信元アドレスフィールドと、長さ／タイプフィールドと、データ／LLC(Logical Link Control)フィールドと、FCSフィールドとによって構成される。長さ／タイプフィールドには、そのフィールドに付帯する値によって、長さを示すかタイプを示すかが解釈される。
【００４４】
図６の（３）に示されるように、IEEE 802.3(オプションのVLANタグヘッダを利用する場合)に規定されるイーサネットのフレームは、プリアンブルフィールドと、SFDフィールドと、宛先アドレスフィールドと、送信元アドレスフィールドと、TPID(Tag Protocol Identifier)フィールドと、TCI(Tag Control Information)フィールドと、長さ／タイプフィールドと、データ／LLC(Logical Link Control)フィールドと、FCSフィールドによって構成される。長さ／タイプフィールドには、そのフィールドに付帯する値によって、長さを示すかタイプを示すかが解釈される。
【００４５】
図６の（１）、（２）、(３)における上段の数値は、各フィールドのサイズを示す。
【００４６】
（４）第４のネットワーク１５０ｄを構成するＥＣＵ１００ｄの制御部１１４によって作成されるフレームの構成
ＥＣＵ１００ｄによって構成される第４のネットワーク１５０ｄにはFlexRayが適用される。
【００４７】
図７は、FlexRayのフレームの一例を示す。FlexRayのフレームは、ヘッダセグメントと、ペイロードセグメントと、トレーラセグメントによって構成される。ヘッダセグメントは４０ビットで構成され、先頭の５ビットには、それぞれ１ビットで構成される、リザーブ、ペイロードプリアンブルインジケータ、Nullフレームインジケータ、同期フレームインジケータ、スタートアップフレームインジケータが格納される。また、ヘッダセグメントには、フレームID、ペイロード長、ヘッダCRC、サイクルカウントが格納される。ペイロードセグメントは０−１２７ワード（０−２０３２ビット）で構成され、データが格納される。トレーラセグメントは２４ビットで構成され、フレームCRCが格納される。
【００４８】
図３に戻り説明を続ける。第１のネットワーク１５０ａを構成するＥＣＵ１００ａの制御部１１４には、認証情報テーブルが格納される。
【００４９】
図８は、認証情報テーブルの一例を示す。認証情報テーブルには、ＧＷＥＣＵ２００によって送信される認証メッセージに付帯される認証用データと、該認証メッセージに対する応答メッセージである応答認証メッセージに付帯する応答認証データとが紐付けられることによって対応付けられる。認証用データ、及び応答認証データは、第１のネットワーク１５０ａを構成するＥＣＵ１００ａａ、ＥＣＵ１００ａｂ、及びＥＣＵ１００ａｃの各々によって異なるように設定できる。ＥＣＵ１００ａの制御部１１４は送受信部１１２によって受信された認証メッセージに付帯される認証用データが認証情報テーブルの認証用データと一致する場合に、応答認証メッセージに該認証用データと紐付けられる応答認証用データを付帯して送受信部１１２から送信する。
【００５０】
＜ＧＷＥＣＵ２００の構成＞
図９は、本実施形態に係るＧＷＥＣＵ２００のハードウェア構成を示す。ＧＷＥＣＵ２００は、自動車制御用コンピュータであり、ボディ系、制御系、情報系等における様々な機能を実現する。
【００５１】
ＧＷＥＣＵ２００は、マイクロコントローラ２０２、第１のトランシーバ２０４a、第２のトランシーバ２０４ｂ、第３のトランシーバ２０４ｃ、第４のトランシーバ２０４ｄ、及び電圧モニタ装置２０６を備える。マイクロコントローラ２０２には、ＧＷＥＣＵ２００全体を制御するＣＰＵ、ＣＰＵが実行するＧＷＥＣＵ用プログラムを格納するＲＯＭ、及びＧＷＥＣＵ２００の制御を実行する際にＣＰＵのワークエリアとして使用されるＲＡＭ等のハードウェアが実装される。マイクロコントローラ２０２に、２個以上のＣＰＵを実装することもできる。
【００５２】
第１のトランシーバ２０４ａは、マイクロコントローラ２０２、及び第１の通信線１６０ａと接続され、マイクロコントローラ２０２から入力されるCAN FD、車載イーサネット、FlexRay等の次世代の車載LANの通信プロトコルにしたがって作成されたフレームであって、且つマイクロコントローラ２０２によってCANフレームに変換されたフレームを第１の通信線１６０ａに転送し、第１の通信線１６０ａによって転送されるCANフレームをマイクロコントローラ２０２に入力する。
【００５３】
第２のトランシーバ２０４ｂは、マイクロコントローラ２０２、及び第２の通信線１６０ｂと接続され、マイクロコントローラ２０２から入力される、CANにしたがって作成されたフレームであって、且つマイクロコントローラ２０２によってCAN FDフレームに変換されたフレームを第２の通信線１６０ｂに転送し、第２の通信線１６０ｂによって転送されるCAN FDフレームをマイクロコントローラ２０２に入力する。
【００５４】
第３のトランシーバ２０４ｃは、マイクロコントローラ２０２、及び第３の通信線１６０ｃと接続され、マイクロコントローラ２０２から入力される、CANにしたがって作成されたフレームであって、且つマイクロコントローラ２０２によって車載イーサネットフレームに変換されたフレームを第３の通信線１６０ｃに転送し、第３の通信線１６０ｃによって転送される車載イーサネットフレームをマイクロコントローラ２０２に入力する。
【００５５】
第４のトランシーバ２０４ｄは、マイクロコントローラ２０２、及び第４の通信線１６０ｄと接続され、マイクロコントローラ２０２から入力される、CANにしたがって作成されたフレームであって、且つマイクロコントローラ２０２によってFlexRayフレームに変換されたフレームを第４の通信線１６０ｄに転送し、第４の通信線１６０ｄによって転送されるFlexRayフレームをマイクロコントローラ２０２に入力する。
【００５６】
図９に示す例では、ＧＷＥＣＵ２００に４個のトランシーバが実装されるが、トランシーバの数は４個に限らず、第１のトランシーバ２０４ａに加えて、１−２個のトランシーバを実装することもできるし、５個以上のトランシーバを実装することもできる。また、ＧＷＥＣＵ２００に２個以上のマイクロコントローラを実装することもできる。
【００５７】
マイクロコントローラ２０２は、第１のトランシーバ２０４ａから入力されるCANフレームをCAN FDフレームに変換し、第２のトランシーバ２０４ｂに出力する。また、マイクロコントローラ２０２は、第２のトランシーバ２０４ｂから入力されるCAN FDフレームをCANフレームに変換し、第１のトランシーバ２０４ａに出力する。また、マイクロコントローラ２０２は、第１のトランシーバ２０４ａから入力されるCANフレームを車載イーサネットフレームに変換し、第３のトランシーバ２０４ｃに出力する。また、マイクロコントローラ２０２は、第３のトランシーバ２０４ｃから入力される車載イーサネットフレームをCANフレームに変換し、第１のトランシーバ２０４ａに出力する。また、マイクロコントローラ２０２は、第１のトランシーバ２０４ａから入力されるCANフレームをFlexRayフレームに変換し、第４のトランシーバ２０４ｄに出力する。また、マイクロコントローラ２０２は、第４のトランシーバ２０４ｄから入力されるFlexRayフレームをCANフレームに変換し、第１のトランシーバ２０４ａに出力する。
【００５８】
電圧モニタ装置２０６は、第１の通信線１６０ａ、及びマイクロコントローラ２０２と接続され、第１の通信線１６０ａのCANHとCANLとの間の差電圧をモニタし、その差電圧情報をマイクロコントローラ２０２に入力する。
【００５９】
＜ＧＷＥＣＵ２００の機能＞
次に、ＧＷＥＣＵ２００の各部を詳細に説明する。
【００６０】
図１０は、ＧＷＥＣＵ２００の機能の一実施例を示す機能ブロック図である。ＧＷＥＣＵ２００は、送受信部２１２と、通信周期モニタ部２１４と、記憶・読出処理部２１６と、記憶部２１８と、ＥＣＵ認証処理部２２０と、メッセージ認証処理部２２２と、中継処理部２２４として機能する。
【００６１】
ＧＷＥＣＵ２００の送受信部２１２は、図９に示されているマイクロコントローラ２０２からの命令、第１のトランシーバ２０４ａ、第２のトランシーバ２０４ｂ、第３のトランシーバ２０６ｃ、及び第４のトランシーバ２０８ｄによって実行される。送受信部２１２は、第１のトランシーバ２０４ａ、第２のトランシーバ２０４ｂ、第３のトランシーバ２０６ｃ、及び第４のトランシーバ２０８ｄを介して、異なるネットワークを構成するＥＣＵ間で送受信される各種データ（情報）の送受信を行う。
【００６２】
ＧＷＥＣＵ２００の記憶・読出処理部２１６は、図９に示されているマイクロコントローラ２０２からの命令、並びに一例としてマイクロコントローラに実装されるＲＯＭ、ＲＡＭによって実行され、記憶部２１８に各種データを記憶したり、記憶部２１８に記憶された各種データを読み出す処理を行う。
【００６３】
ＧＷＥＣＵ２００の記憶部２１８は、ＥＣＵ１００を認証する際に使用するＥＣＵ認証管理ＤＢ２２６、メッセージを認証する際に使用するメッセージ認証管理ＤＢ２２８、及びメッセージの中継先を指定する中継先管理ＤＢ２３０を記憶する。
【００６４】
（ＥＣＵ認証用テーブル）
記憶部２１８には、図１１に示されているようなＥＣＵ認証用テーブルによって構成されているＥＣＵ認証管理ＤＢ２２６が構築されている。このＥＣＵ認証用テーブルでは、第１のネットワーク１５０ａを構成するＥＣＵ１００ａの各々について、ＧＷＥＣＵ２００から送信する認証メッセージに付帯する認証用データと、その認証用メッセージを受信したＥＣＵ１００ａによって送信される応答認証メッセージに付帯される応答認証データが紐付けられることによって対応付けられて管理される。
【００６５】
（メッセージ認証用テーブル）
記憶部２１８には、図１２に示されているようなメッセージ認証用テーブルによって構成されているメッセージ認証管理ＤＢ２２８が構築されている。このメッセージ認証用テーブルでは、ＧＷＥＣＵ２００から送信するリクエストメッセージの各々について、リクエストメッセージに付帯されるCAN-ID等の識別情報と、そのリクエストメッセージの送信から該リクエストメッセージに対する応答メッセージであるレスポンスメッセージを受信するまでの規定時間範囲が紐付けられることによって対応付けられて管理される。
【００６６】
（中継先テーブル）
記憶部２１８には、図１３に示されているような中継先テーブルによって構成されている中継先管理ＤＢ２３０が構築されている。この中継先テーブルでは、メッセージのCAN-ID等の識別情報の各々について、中継先が紐付けられることによって対応付けられて管理される。
【００６７】
図１０に戻り説明を続ける。ＧＷＥＣＵ２００の通信周期モニタ部２１４は、図９に示されているマイクロコントローラ２０２からの命令、第１のトランシーバ２０４ａによって実行される。通信周期モニタ部２１４は、第１のネットワーク１５０ａを構成するＥＣＵ１００ａａ、ＥＣＵ１００ａｂ、及びＥＣＵ１００ａｃの各々によって送受信されるメッセージの通信周期をモニターし、中継処理部２２４に通知する。
【００６８】
ＧＷＥＣＵ２００のＥＣＵ認証処理部２２０は、図９に示されているマイクロコントローラ２０２からの命令、第１のトランシーバ２０４ａによって実行される。ＥＣＵ認証処理部２２０は、中継処理部２２４によって第１のネットワーク１５０ａに異常が発見された場合に、中継処理部２２４による指示にしたがって、第１のネットワーク１５０ａを構成するＥＣＵ１００ａの正当性を確認することによって認証する。具体的には、ＥＣＵ認証処理部２２０は、図１１に示される認証用データを付帯した認証メッセージをＥＣＵ１００ａａ、ＥＣＵ１００ａｂ、及びＥＣＵ１００ａｃに送信し、該認証メッセージに対する応答メッセージである応答認証メッセージを取得する。ＥＣＵ認証処理部２２０は、ＥＣＵ１００ａａ、ＥＣＵ１００ａｂ、及びＥＣＵ１００ａｃによって送信される応答認証メッセージのDataフィールドに付帯されているデータが、図１１に示される、ＥＣＵ１００ａａ、ＥＣＵ１００ａｂ、及びＥＣＵ１００ａｃのそれぞれに紐付けられた応答認証データと一致する場合には、その応答認証メッセージを送信したＥＣＵ１００ａは正当であるとして認証する。ＥＣＵ認証処理部２２０は、第１のネットワーク１５０ａを構成するＥＣＵ１００ａが正当であるか否かの認証結果を中継処理部２２４へ通知する。ここでは、認証用データ、及び応答認証用データを用いてＥＣＵ１００ａを認証する場合について説明するが、認証方式として、ＥＣＵ１００ａとＧＷＥＣＵ２００との間でチャレンジレスポンス認証、ワンタイムパスワード等を適用することによって認証することもできる。これによって第１のネットワーク１５０ａを構成するＥＣＵ１００ａのいずれかが不正のＥＣＵに取り替えられていないかどうかを判断できる。
【００６９】
ＧＷＥＣＵ２００のメッセージ認証処理部２２２は、図９に示されているマイクロコントローラ２０２からの命令、第１のトランシーバ２０４ａによって実行される。メッセージ認証処理部２２２は、中継処理部２２４によって第１のネットワーク１５０ａに異常が発見された場合に、第１のネットワーク１５０ａを構成するＥＣＵ１００ａにリクエストメッセージを送信することによって、リクエストメッセージを送信してから、該リクエストメッセージに対する応答メッセージであるレスポンスメッセージを受信するまでの応答時間に基づいて、リクエストメッセージに対するレスポンスメッセージの応答時間が正当であるか否かを判断する。以下、リクエストメッセージに対するレスポンスメッセージの応答時間が正当であるか否かを判断する処理を「メッセージ認証」という。
【００７０】
具体的には、メッセージ認証処理部２２２は、図１２に示されるCAN-ID等のメッセージの識別情報を付帯したリクエストメッセージを送受信部２１２からＥＣＵ１００ａに送信し、該リクエストメッセージに対するレスポンスメッセージを送受信部２１２から取得する。メッセージ認証処理部２２２は、送受信部２１２からリクエストメッセージを送信してから送受信部２１２によってレスポンスメッセージを受信するまでの応答時間が図１２に示される規定時間範囲に含まれるか否かを判定する。メッセージ認証処理部２２２は、規定時間範囲に含まれる場合には、そのリクエストメッセージに対するレスポンスメッセージの応答時間は正当であるとして認証する。メッセージ認証処理部２２２は、メッセージ認証による正当であるか否かの判断結果を中継処理部２２４へ通知する。これによって第１のネットワーク１５０ａに不正のＥＣＵに追加されていないかどうかを判断できる。不正のＥＣＵが追加されている場合には、CANHとCANLとの間の差電圧が通常とは異なり、レスポンスメッセージを受信できないことが多い。つまり、メッセージ認証処理部２２２は、規定時間範囲ではレスポンスメッセージを受信できないと想定される。
【００７１】
ＧＷＥＣＵ２００の中継処理部２２４は、図９に示されているマイクロコントローラ２０２からの命令、第１のトランシーバ２０４ａ、第２のトランシーバ２０４ｂ、第３のトランシーバ２０４ｃ、及び第４のトランシーバ２０４ｄによって実行される。中継処理部２２４は、電圧モニタ装置２０６によって入力される差電圧情報に基づいて、第１のネットワーク１５０ａに異常がみられるか否かを判断する。具体的には、例えば、第１のネットワーク１５０ａに不正のＥＣＵが追加された場合には、差電圧が変化することが想定される。中継処理部２２４は、所定の閾値以上の差電圧の変化を検出できた場合に、異常が検出されたと判断する。
【００７２】
また、中継処理部２２４は、通信周期モニタ部２１４によって入力される通信周期に基づいて、第１のネットワーク１５０ａの各ＥＣＵ１００ａの通信周期とは異なる通信周期等の通信周期の乱れを検出した場合に、異常が検出されたと判断する。
【００７３】
中継処理部２２４は、差電圧又は通信周期に異常がみられると判断した場合、ＥＣＵ認証処理部２２０に、第１のネットワーク１５０ａを構成するＥＣＵ１００ａを認証するように命令する。中継処理部２２４は、ＥＣＵ認証処理部２２０から入力されるＥＣＵ１００ａの認証結果が正当であることを表す場合、記憶部２１８の中継先管理ＤＢ２３０を参照し、第１のネットワーク１５０ａを構成するＥＣＵ１００ａからのメッセージを、該メッセージに付帯されるCAN-ID等のメッセージの識別情報に基づいて、第２のネットワーク１５０ｂ、第３のネットワーク１５０ｃ、又は第４のネットワーク１５０ｄのいずれかに中継する。
【００７４】
中継処理部２２４は、ＥＣＵ認証処理部２２０から送信されるＥＣＵの認証結果が異常であることを表す場合、第１のネットワーク１５０ａを構成するＥＣＵ１００ａからのメッセージを破棄する。そして、中継処理部２２４は、メッセージの破棄回数を示すカウント値を増加させる。中継処理部２２４は、破棄したメッセージの数が所定の閾値以上となった場合に、ユーザへ通知する。例えば、中継処理部２２４はセンタ装置に異常が発生したことを通知し、センタ装置はユーザが保持するスマートフォン等の携帯情報端末に異常が発生したことを通知することができる。また、中継処理部２２４は、通信システムが搭載される車両のメータ等の表示装置に異常が発生したことを表示することによってユーザに通知できる。
【００７５】
中継処理部２２４は、差電圧及び通信周期の両方に異常がみられると判断した場合、ＥＣＵ認証処理部２２０に、第１のネットワーク１５０ａを構成するＥＣＵ１００ａを認証するように命令する。中継処理部２２４は、ＥＣＵ認証処理部２２０から入力されるＥＣＵ１００ａの認証結果が異常であることを表す場合、第１のネットワーク１５０ａを構成するＥＣＵ１００ａからのメッセージを破棄する。そして、中継処理部２２４は、破棄したメッセージの数が所定の閾値以上となった場合に、ユーザへ通知する。
【００７６】
中継処理部２２４は、ＥＣＵ認証処理部２２０から送信されるＥＣＵの認証結果が正常であることを表す場合、メッセージ認証処理部２２２にメッセージ認証を行うように命令する。中継処理部２２４は、メッセージ認証処理部２２２から送信されるメッセージの認証結果が異常であることを表す場合、第１のネットワーク１５０ａを構成するＥＣＵ１００ａからのメッセージを破棄する。そして、中継処理部２２４は、破棄したメッセージの数が所定の閾値以上となった場合に、ユーザへ通知する。
【００７７】
中継処理部２２４は、メッセージ認証処理部２２２から送信されるメッセージの認証結果が正常であることを表す場合、記憶部２１８の中継先管理ＤＢ２３０を参照し、第１のネットワーク１５０ａを構成するＥＣＵ１００ａからのメッセージを、該メッセージに付帯されるCAN-ID等のメッセージの識別情報に基づいて、第２のネットワーク１５０ｂ、第３のネットワーク１５０ｃ、又は第４のネットワーク１５０ｄのいずれかに中継する。
【００７８】
＜通信システムの動作＞
図１４は、本実施の形態に係る通信システムの動作の一例を示す。図１４に示される例では、第１のネットワーク１５０ａを構成するＥＣＵ１００ａａ、ＥＣＵ１００ａｂ、及びＥＣＵ１００ａｃのいずれかから、第２のネットワーク１５０ｂを構成するＥＣＵ１００ｂａ、ＥＣＵ１００ｂｂ、及びＥＣＵ１００ｂｃのいずれかにメッセージを送信する際に、ＥＣＵ１００ａによって送受信されるメッセージの通信周期、及び第１の通信線１６０ａの差電圧に基づいて行われる処理を示す。ＥＣＵ１００ａによって送受信されるメッセージの通信周期、及び第１の通信線１６０ａの差電圧のいずれか一方に基づいて処理を行うこともできる。
【００７９】
図１４に示すフローチャートは第１のネットワーク１５０ａを構成するＥＣＵ１００ａａ、ＥＣＵ１００ａｂ、及びＥＣＵ１００ａｃのいずれかから、第３のネットワーク１５０ｃを構成するＥＣＵ１００ｃａ、ＥＣＵ１００ｃｂ、及びＥＣＵ１００ｃｃのいずれかにメッセージを送信する場合にも適用できる。また、図１４に示すフローチャートは第１のネットワーク１５０ａを構成するＥＣＵ１００ａａ、ＥＣＵ１００ａｂ、及びＥＣＵ１００ａｃのいずれかから、第４のネットワーク１５０ｄを構成するＥＣＵ１００ｄａ、ＥＣＵ１００ｄｂ、及びＥＣＵ１００ｄｃのいずれかにメッセージを送信する場合にも適用できる。
【００８０】
ステップＳ１４０２では、ＧＷＥＣＵ２００の中継処理部２２４は、車速が０ｋｍ／ｈより高いか否かを判定する。この処理は、ＧＷＥＣＵ２００に車両の車速情報が入力されることによって実現される。
【００８１】
ステップＳ１４０４では、車速が０ｋｍ／ｈ以下であると判定した場合、ＧＷＥＣＵ２００の中継処理部２２４は、第１の通信線１６０ａにメッセージが送信されているか否かを判断する。第１の通信線１６０ａにメッセージが送信されていないと判定した場合、ステップＳ１４０２に戻り、第１の通信線１６０ａにメッセージが送信されるまでステップＳ１４０２−Ｓ１４０４の処理を繰り返す。車速が０ｋｍ／ｈ以下であることにより車両が停車していると想定され、且つ第１の通信線１６０ａにメッセージが送信されていない場合には、セキュリティ上安全性が高いと想定されるためである。
【００８２】
ステップＳ１４０６では、ステップＳ１４０２において車速が０ｋｍ／ｈより高いと判定した場合、又はステップＳ１４０４において第１の通信線１６０ａにメッセージが送信されていると判定した場合、中継処理部２２４は、通信周期モニタ部２１４から、ＥＣＵ１００ａａ、ＥＣＵ１００ａｂ、及びＥＣＵ１００ａｃによって送受信されるメッセージの通信周期のモニタ値を取得する。車速が０ｋｍ／ｈ以下であることにより車両が停車していると想定される場合でも、第１の通信線１６０ａに不正なメッセージが送信されることも想定される。そこで、車速が０ｋｍ／ｈ以下であり、且つ第１の通信線１６０ａにメッセージが送信されている場合には、車速が０ｋｍ／ｈより高い場合、つまり車両が走行している場合と同様の処理を行う。これによって、車両が停車している場合であっても不正なメッセージが送信されている場合にはその影響を低減できる。
【００８３】
ステップＳ１４０８では、中継処理部２２４は、電圧モニタ装置２０６から第１の通信線１６０ａの差電圧のモニタ値を取得する。
【００８４】
ステップＳ１４１０では、中継処理部２２４は、ステップＳ１４０６で取得したメッセージの通信周期のモニタ値、及びステップＳ１４０８で取得した差電圧のモニタ値の両方が正常であるか否かを判断する。通信周期のモニタ値が正常であるか否かを判断することによって不正なメッセージが送信されていないかどうかを判断でき、差電圧のモニタ値が正常であるか否かを判断することによって不正なＥＣＵが第１のネットワーク１５０ａに含まれていないかどうかを判断できる。
【００８５】
ステップＳ１４１２では、両方のモニタ値が正常であると判定した場合、中継処理部２２４は、ＥＣＵ１００ａによって送信されるメッセージを第２の通信線１６０ｂに送信する。両方のモニタ値が正常である場合には、第１のネットワーク１５０ａに不正なメッセージが送信されておらず、且つ第１のネットワーク１５０ａに不正なＥＣＵが含まれていないと想定されるためである。
【００８６】
ステップＳ１４１４では、ステップＳ１４１０において両方のモニタ値が正常であるとは判定されない場合、中継処理部２２４は、一方のモニタ値が正常であるか否かを判定する。
【００８７】
ステップＳ１４１６では、一方のモニタ値が正常であると判定した場合、ＥＣＵ認証処理部２２０は、送受信部２１２からＥＣＵ１００ａａ、ＥＣＵ１００ａｂ、及びＥＣＵ１００ａｃに認証メッセージを送信する。
【００８８】
ステップＳ１４１８では、ＥＣＵ認証処理部２２０は、ＥＣＵ１００ａａ、ＥＣＵ１００ａｂ、及びＥＣＵ１００ａｃから、正しい応答認証データを付帯した認証応答メッセージを受信したか否かを判定する。これによって、第１のネットワーク１５０ａを構成するＥＣＵ１００ａａ、ＥＣＵ１００ａｂ、及びＥＣＵ１００ａｃが正当であるか否かを判断できるため、第１のネットワーク１５０ａを構成するＥＣＵ１００ａａ、ＥＣＵ１００ａｂ、及びＥＣＵ１００ａｃのいずれかが不正なＥＣＵに取り替えられていないかどうかを判断できる。
【００８９】
ステップＳ１４２０では、正しい応答認証データを付帯した応答認証メッセージを受信したと判定した場合、中継処理部２２４は、ＥＣＵ１００ａによって送信されるメッセージを送受信部２１２から第２の通信線１６０ｂに中継する。
【００９０】
ステップＳ１４２２では、正しい応答認証データを付帯した応答認証メッセージを受信したと判定されない場合、中継処理部２２４は、ＥＣＵ１００ａによって送信されるメッセージを破棄する。そして、中継処理部２２４は、メッセージの破棄回数を示すカウント値を増加させる。
【００９１】
ステップＳ１４２４では、中継処理部２２４は、ＥＣＵ１００ａによって送信されるメッセージの破棄が一定回数以上であるか否かを判定する。メッセージの破棄が一定回数以上でないと判定した場合、ステップＳ１４０２に戻る。
【００９２】
ステップＳ１４２６では、メッセージの破棄が一定回数以上であると判定した場合、中継処理部２２４は、ユーザに通知することによって警告する。
【００９３】
ステップＳ１４２８では、ステップＳ１４１４によって一方のモニタ値が正常でないと判定した場合、つまり、両方のモニタ値が異常であると判定した場合、ＥＣＵ認証処理部２２０は、送受信部２１２からＥＣＵ１００ａａ、ＥＣＵ１００ａｂ、及びＥＣＵ１００ａｃに認証メッセージを送信する。
【００９４】
ステップＳ１４３０では、ＥＣＵ認証処理部２２０は、ＥＣＵ１００ａａ、ＥＣＵ１００ａｂ、及びＥＣＵ１００ａｃから、正しい応答認証データを付帯した認証応答メッセージを受信したか否かを判定する。
【００９５】
ステップＳ１４３２では、正しい応答認証データを付帯した応答認証メッセージを受信したと判定されない場合、中継処理部２２４は、メッセージを破棄する。そして、中継処理部２２４は、メッセージの破棄回数を示すカウント値を増加させる。
【００９６】
ステップＳ１４３４では、メッセージの破棄が一定回数以上であるか否かを判定する。メッセージの破棄が一定回数以上でないと判定した場合、ステップＳ１４０２に戻る。
【００９７】
ステップＳ１４３６では、メッセージの破棄が一定回数以上であると判定した場合、中継処理部２２４は、ユーザに通知することによって警告する。
【００９８】
ステップＳ１４３８では、ステップＳ１４３０で正しい応答認証データを付帯した応答認証メッセージを受信したと判定した場合、メッセージ認証処理部２２２は、送受信部２１２からＥＣＵ１００ａａ、ＥＣＵ１００ａｂ、及びＥＣＵ１００ａｃにリクエストメッセージを送信してから送受信部２１２にレスポンスメッセージが受信されるまでの応答時間を監視する。正しい応答認証データを付帯した応答認証メッセージを受信したことによって、ＥＣＵ１００ａが正当であると判断できるため、リクエストメッセージを送信してから送受信部２１２にレスポンスメッセージが受信されるまでの応答時間を監視することによって第１のネットワーク１５０ａに不正なＥＣＵが追加されていないかどうかを判断する。
【００９９】
ステップＳ１４４０では、メッセージ認証処理部２２２は、リクエストメッセージを送信してからレスポンスメッセージが受信されるまでの応答時間が図１２に示す規定時間範囲内であるか否かを判定する。
【０１００】
ステップＳ１４４２では、リクエストメッセージを送信してからレスポンスメッセージが受信されるまでの応答時間が規定時間範囲内であると判定した場合、中継処理部２２４は、ＥＣＵ１００ａによって送信されるメッセージを送受信部２１２から第２の通信線１６０ｂに中継する。不正のＥＣＵが追加されている場合には、CANHとCANLとの間の差電圧が通常とは異なり、レスポンスメッセージを受信できないことが多い。つまり、メッセージ認証処理部２２２は、規定時間範囲ではレスポンスメッセージを受信できないと想定される。規定時間範囲内にレスポンスメッセージが受信されることによって、不正のＥＣＵが追加されていないと判断される。
【０１０１】
ステップＳ１４４４では、リクエストメッセージを送信してからレスポンスメッセージが受信されるまでの応答時間が規定時間範囲内でないと判定した場合、中継処理部２２４は、ＥＣＵ１００ａによって送信されるメッセージを破棄する。そして、中継処理部２２４は、メッセージの破棄回数を示すカウント値を増加させる。
【０１０２】
ステップＳ１４４６では、メッセージの破棄が一定回数以上であるか否かを判定する。メッセージの破棄が一定回数以上でないと判定した場合、ステップＳ１４０２に戻る。
【０１０３】
ステップＳ１４４８では、メッセージの破棄が一定回数以上であると判定した場合、中継処理部２２４は、ユーザに通知することによって警告する。
【０１０４】
図１４に示すフローは、定期的又は不定期的に実行することができる。また、図１４に示すフローは、ユーザによって所定の操作が行われることによって実行することができる。
【０１０５】
本実施の形態に係る通信システムによれば、CANが適用される第１の通信線と、CANとは異なる通信プロトコルが適用される第２の通信線との間を接続するゲートウェイに、CANが適用される通信線にＥＣＵが接続されることによって構成されるネットワークのセキュリティ状態を確認する機能を設ける。さらに、本実施の形態に係る通信システムによれば、該ネットワークを構成するＥＣＵが不正なＥＣＵに取り替えられていないかどうか、該ネットワークに不正なＥＣＵが追加されていないかどうかを判断できる。これによって、第１の通信線で送信されるCAN信号自体にセキュリティ対策を施すことなく、通信システム全体のセキュリティを向上させることができる。
【０１０６】
＜変形例＞
本発明の一変形例に係る通信システムは図１を適用でき、ＥＣＵ１００は図２、及び図３を適用できる。
【０１０７】
図１５は、本変形例に係るＧＷＥＣＵ３００のハードウェア構成を示す。ＧＷＥＣＵ３００は、自動車制御用コンピュータであり、ボディ系、制御系、情報系等における様々な機能を実現する。ＧＷＥＣＵ３００は、図９を参照して説明したＧＷＥＣＵ２００と、電圧モニタ装置２０６を備えない点で異なる。
【０１０８】
図１６は、本変形例に係るＧＷＥＣＵ３００を示す機能ブロック図である。ＧＷＥＣＵ３００は、送受信部２１２と、記憶・読出処理部２１６と、記憶部２１８と、ＥＣＵ認証処理部２２０と、メッセージ認証処理部２２２と、中継処理部２３２として機能する。図１０を参照して説明したＧＷＥＣＵ３００と、通信周期モニタ部２１４を備えない点で異なる。送受信部２１２、記憶・読出処理部２１６、記憶部２１８、ＥＣＵ認証処理部２２０、及びメッセージ認証処理部２２２については、上述した実施例を適用できる。
【０１０９】
ＧＷＥＣＵ３００の中継処理部２３２は、図１５に示されているマイクロコントローラ２０２からの命令、第１のトランシーバ２０４ａ、第２のトランシーバ２０４ｂ、第３のトランシーバ２０４ｃ、及び第４のトランシーバ２０４ｄによって実行される。中継処理部２３２は、ＥＣＵ認証処理部２２０に、第１のネットワーク１５０ａを構成するＥＣＵ１００ａを認証するように命令する。
【０１１０】
中継処理部２３２は、ＥＣＵ認証処理部２２０から送信されるＥＣＵの認証結果が異常であることを表す場合、第１のネットワーク１５０ａを構成するＥＣＵ１００ａからのメッセージを破棄する。そして、中継処理部２３２は、メッセージの破棄回数を示すカウント値を増加させる。中継処理部２３２は、破棄したメッセージの数が所定の閾値以上となった場合に、ユーザへ通知する。例えば、中継処理部２３２はセンタ装置に異常が発生したことを通知し、センタ装置はユーザが保持するスマートフォン等の携帯情報端末に異常が発生したことを通知することができる。また、中継処理部２３２は、通信システムが搭載される車両のメータ等の表示装置に異常が発生したことを表示することによってユーザに通知できる。
【０１１１】
中継処理部２３２は、ＥＣＵ認証処理部２２０から入力されるＥＣＵの認証結果が正当であることを表す場合、メッセージ認証処理部２２２にメッセージ認証を行うように命令する。中継処理部２３２は、メッセージ認証処理部２２２から送信されるメッセージの認証結果が異常であることを表す場合、第１のネットワーク１５０ａを構成するＥＣＵ１００ａからのメッセージを破棄する。そして、中継処理部２３２は、メッセージの破棄回数を示すカウント値を増加させる。中継処理部２３２は、破棄したメッセージの数が所定の閾値以上となった場合に、ユーザへ通知する。
【０１１２】
中継処理部２３２は、メッセージ認証処理部２２２から送信されるメッセージの認証結果が正常であることを表す場合、記憶部２１８の中継先管理ＤＢ２３０を参照し、第１のネットワーク１５０ａを構成するＥＣＵ１００ａからのメッセージを、該メッセージに付帯されるCAN-ID等のメッセージの識別情報に基づいて、第２のネットワーク１５０ｂ、第３のネットワーク１５０ｃ、又は第４のネットワーク１５０ｄのいずれかに中継する。
【０１１３】
＜通信システムの動作＞
図１７は、本実施の形態に係る通信システムの動作の一例を示す。図１７に示される例では、第１のネットワーク１５０ａを構成するＥＣＵ１００ａａ、ＥＣＵ１００ａｂ、及びＥＣＵ１００ａｃのいずれかから、第２のネットワーク１５０ｂを構成するＥＣＵ１００ｂａ、ＥＣＵ１００ｂｂ、及びＥＣＵ１００ｂｃのいずれかにメッセージを送信する際に行われる処理を示す。
【０１１４】
図１７に示すフローチャートは第１のネットワーク１５０ａを構成するＥＣＵ１００ａａ、ＥＣＵ１００ａｂ、及びＥＣＵ１００ａｃのいずれかから、第３のネットワーク１５０ｃを構成するＥＣＵ１００ｃａ、ＥＣＵ１００ｃｂ、及びＥＣＵ１００ｃｃのいずれかにメッセージを送信する場合にも適用できる。また、図１７に示すフローチャートは第１のネットワーク１５０ａを構成するＥＣＵ１００ａａ、ＥＣＵ１００ａｂ、及びＥＣＵ１００ａｃのいずれかから、第４のネットワーク１５０ｄを構成するＥＣＵ１００ｄａ、ＥＣＵ１００ｄｂ、及びＥＣＵ１００ｄｃのいずれかにメッセージを送信する場合にも適用できる。
【０１１５】
ステップＳ１７０２では、ＧＷＥＣＵ３００の中継処理部２３２は、車速が０ｋｍ／ｈより高いか否かを判定する。この処理は、ＧＷＥＣＵ３００に車両の車速情報が入力されることによって実現される。
【０１１６】
ステップＳ１７０４では、車速が０ｋｍ／ｈ以下であると判定した場合、ＧＷＥＣＵ３００の中継処理部２３２は、第１の通信線１６０ａにメッセージが送信されているか否かを判断する。第１の通信線１６０ａにメッセージが送信されていないと判定した場合、ステップＳ１７０２に戻り、第１の通信線１６０ａにメッセージが送信されるまでステップＳ１７０２−Ｓ１７０４の処理を繰り返す。車速が０ｋｍ／ｈ以下であることにより車両が停車していると想定され、且つ第１の通信線１６０ａにメッセージが送信されていない場合には、安全性が高いと想定されるためである。
【０１１７】
ステップＳ１７０６では、ステップＳ１７０２において車速が０ｋｍ／ｈより高いと判定した場合、又はステップＳ１７０４において第１の通信線１６０ａにメッセージが送信されていると判定した場合、ＥＣＵ認証処理部２２０は、送受信部２１２からＥＣＵ１００ａａ、ＥＣＵ１００ａｂ、及びＥＣＵ１００ａｃに認証メッセージを送信する。車速が０ｋｍ／ｈ以下であることにより車両が停車していると想定される場合でも、第１の通信線１６０ａに不正なメッセージが送信されることも想定される。そこで、車速が０ｋｍ／ｈ以下であり、且つ第１の通信線１６０ａにメッセージが送信されている場合には、車速が０ｋｍ／ｈより高い場合、つまり車両が走行している場合と同様の処理を行う。これによって、車両が停車している場合であっても不正なメッセージが送信されている場合にはその影響を低減できる。
【０１１８】
ステップＳ１７０８では、ＥＣＵ認証処理部２２０は、ＥＣＵ１００ａａ、ＥＣＵ１００ａｂ、及びＥＣＵ１００ａｃから、正しい応答認証データを付帯した認証応答メッセージを受信したか否かを判定する。これによって、第１のネットワーク１５０ａを構成するＥＣＵ１００ａａ、ＥＣＵ１００ａｂ、及びＥＣＵ１００ａｃが正当であるか否かを判断できるため、第１のネットワーク１５０ａを構成するＥＣＵ１００ａａ、ＥＣＵ１００ａｂ、及びＥＣＵ１００ａｃのいずれかが不正なＥＣＵに取り替えられていないかどうかを判断できる。
【０１１９】
ステップＳ１７１０では、正しい応答認証データを付帯した応答認証メッセージを受信したと判定されない場合、中継処理部２３２は、メッセージを破棄する。そして、中継処理部２３２は、メッセージの破棄回数を示すカウント値を増加させる。
【０１２０】
ステップＳ１７１２では、中継処理部２３２は、メッセージの破棄が一定回数以上であるか否かを判定する。メッセージの破棄が一定回数以上でないと判定した場合、ステップＳ１７０２に戻る。
【０１２１】
ステップＳ１７１４では、メッセージの破棄が一定回数以上であると判定した場合、中継処理部２３２は、ユーザに通知することによって警告する。
【０１２２】
ステップＳ１７１６では、ステップＳ１７０８で正しい応答認証データを付帯した応答認証メッセージを受信したと判定した場合、メッセージ認証処理部２２２は、送受信部２１２からＥＣＵ１００ａａ、ＥＣＵ１００ａｂ、及びＥＣＵ１００ａｃにリクエストメッセージを送信してから送受信部２１２にレスポンスメッセージが受信されるまでの応答時間を監視する。正しい応答認証データを付帯した応答認証メッセージを受信したことによって、ＥＣＵ１００ａが正当であると判断できるため、リクエストメッセージを送信してから送受信部２１２にレスポンスメッセージが受信されるまでの応答時間を監視することによって第１のネットワーク１５０ａに不正なＥＣＵが追加されていないかどうかを判断する。
【０１２３】
ステップＳ１７１８では、メッセージ認証処理部２２２は、リクエストメッセージを送信してからレスポンスメッセージが受信されるまでの応答時間が図１２に示す規定時間範囲内であるか否かを判定する。
【０１２４】
ステップＳ１７２０では、リクエストメッセージを送信してからレスポンスメッセージが受信されるまでの応答時間が規定時間範囲内であると判定した場合、中継処理部２３２は、ＥＣＵ１００ａによって送信されるメッセージを送受信部２１２から第２の通信線１６０ｂに中継する。不正のＥＣＵが追加されている場合には、CANHとCANLとの間の差電圧が通常とは異なり、レスポンスメッセージを受信できないことが多い。つまり、メッセージ認証処理部２２２は、規定時間範囲ではレスポンスメッセージを受信できないと想定される。規定時間範囲内にレスポンスメッセージが受信されることによって、不正のＥＣＵが追加されていないと判断される。
【０１２５】
ステップＳ１７２２では、リクエストメッセージを送信してからレスポンスメッセージが受信されるまでの応答時間が規定時間範囲内でないと判定した場合、中継処理部２３２は、ＥＣＵ１００ａによって送信されるメッセージを破棄する。そして、中継処理部２３２は、メッセージの破棄回数を示すカウント値を増加させる。
【０１２６】
ステップＳ１７２４では、中継処理部２３２は、メッセージの破棄が一定回数以上であるか否かを判定する。メッセージの破棄が一定回数以上でないと判定した場合、ステップＳ１７０２に戻る。
【０１２７】
ステップＳ１７２６では、メッセージの破棄が一定回数以上であると判定した場合、中継処理部２３２は、ユーザに通知することによって警告する。
【０１２８】
図１７に示すフローは、定期的又は不定期的に実行することができる。また、図１４に示すフローは、ユーザによって所定の操作が行われることによって実行することができる。
【０１２９】
本変形例に係る通信システムによれば、CANが適用される第１の通信線と、CANとは異なる通信プロトコルが適用される第２の通信線との間を接続するゲートウェイに、CANが適用される通信線にＥＣＵが接続されることによって構成されるネットワークのセキュリティ状態を確認する機能を設けることなく、該ネットワークを構成するＥＣＵが不正なＥＣＵに取り替えられていないかどうか、該ネットワークに不正なＥＣＵが追加されていないかどうかを判断する。これによって、第１の通信線で送信されるCAN信号自体にセキュリティ対策を施すことなく、通信システム全体のセキュリティを向上させることができる。
【０１３０】
ネットワークのセキュリティ状態に関係なく、ネットワークを構成するＥＣＵが不正なＥＣＵに取り替えられていないかどうか、該ネットワークに不正なＥＣＵが追加されていないかどうかを判断することによって、上述した実施例と比較して、差電圧をモニタしたり、通信周期をモニタしたりする処理を省略できるため、処理負荷を低減できる。
【０１３１】
マルチプロトコルゲートウェイはゲートウエイの一例であり、第１のネットワークを構成するＥＣＵは第１の機器の一例であり、第２、第３、又は第４のネットワークを構成するＥＣＵは第２の機器の一例である。
【０１３２】
以上、本発明は特定の実施例及び変形例を参照しながら説明されてきたが、各実施例及び変形例は単なる例示に過ぎず、当業者は様々な変形例、修正例、代替例、置換例等を理解するであろう。説明の便宜上、本発明の実施例に従った装置は機能的なブロック図を用いて説明されたが、そのような装置はハードウェアで、ソフトウェアで又はそれらの組み合わせで実現されてもよい。本発明は上記実施例に限定されず、本発明の精神から逸脱することなく、様々な変形例、修正例、代替例、置換例等が包含される。
【符号の説明】
【０１３３】
１００（ａａ、ａｂ、ａｃ、ｂａ、ｂｂ、ｂｃ、ｃａ、ｃｂ、ｃｃ、ｄａ、ｄｂ、ｄｃ）          ＥＣＵ
１０２        マイクロコントローラ
１０４        トランシーバ
１１２        送受信部
１１４        制御部
１５０ａ      第１のネットワーク
１５０ｂ      第２のネットワーク
１５０ｃ      第３のネットワーク
１５０ｄ      第４のネットワーク
１６０        通信線
１６０ａ      第１の通信線
１６０ｂ      第２の通信線
１６０ｃ      第３の通信線
１６０ｄ      第４の通信線
２００、３００        ＧＷＥＣＵ
２０２        マイクロコントローラ
２０４ａ      第１のトランシーバ
２０４ｂ      第２のトランシーバ
２０４ｃ      第３のトランシーバ
２０４ｄ      第４のトランシーバ
２０６        電圧モニタ装置
２１２        送受信部
２１４        通信周期モニタ部
２１６        記憶・読出処理部
２１８        記憶部
２２０        ＥＣＵ認証処理部
２２２        メッセージ認証処理部
２２４、２３２        中継処理部
２２６        ＥＣＵ認証管理ＤＢ
２２８        メッセージ認証管理ＤＢ
２３０        中継先管理ＤＢ
【図１】
2016111477.tif 000003
【図２】
2016111477.tif 000004
【図３】
2016111477.tif 000005
【図４】
2016111477.tif 000006
【図５】
2016111477.tif 000007
【図６】
2016111477.tif 000008
【図７】
2016111477.tif 000009
【図８】
2016111477.tif 000010
【図９】
2016111477.tif 000011
【図１０】
2016111477.tif 000012
【図１１】
2016111477.tif 000013
【図１２】
2016111477.tif 000014
【図１３】
2016111477.tif 000015
【図１４】
2016111477.tif 000016
【図１５】
2016111477.tif 000017
【図１６】
2016111477.tif 000018
【図１７】
2016111477.tif 000019