(57)【要約】【課題】値が変化し得る共有情報を用いたメッセージの送受信を可能とする通信システム、中継装置、通信装置及び通信方法を提供する。【解決手段】一又は複数の通信装置が接続された複数の通信線の間の通信を中継装置が中継する。通信装置及び中継装置は、共有情報を記憶し、共有情報を用いたメッセージを生成し、生成したメッセージを他の装置へ送信すると共に、他の装置からのメッセージを受信し、共有情報に基づいて受信したメッセージの正否を判定する。通信装置及び中継装置のうちの少なくとも１つの装置は、共有情報を更新させる更新命令を他の装置へ送信する。通信装置及び中継装置は、更新命令を受信した場合に、記憶した共有情報を更新する。通信装置又は中継装置は、共有情報の更新から所定期間が経過するまでの間、更新前の共有情報を用いて生成されたメッセージを受信した場合に、このメッセージを正当なメッセージと判定する。【選択図】図４
2018050183.tif 000002
【特許請求の範囲】
【請求項１】
一又は複数の通信装置が通信線に接続され、複数の前記通信線の間の通信を中継装置が中継する通信システムにおいて、
前記通信装置及び前記中継装置は、
共有情報を記憶する記憶部と、
前記共有情報を用いたメッセージを生成するメッセージ生成部と、
前記メッセージ生成部が生成したメッセージを他の装置へ送信するメッセージ送信部と、
他の装置からのメッセージを受信するメッセージ受信部と、
前記共有情報に基づいて前記メッセージ受信部が受信したメッセージの正否を判定する判定部と
をそれぞれ有し、
前記通信装置及び前記中継装置のうちの少なくとも１つの装置は、前記共有情報を更新させる更新命令を他の装置へ送信する更新命令送信部を有し、
前記通信装置及び前記中継装置は、前記更新命令を受信した場合に、前記記憶部に記憶された共有情報を更新する更新部を更に有し、
前記通信装置又は前記中継装置は、前記共有情報の更新から所定期間が経過するまでの間、更新前の共有情報を用いて生成されたメッセージを受信した場合に、該メッセージを前記判定部が正当なメッセージと判定すること
を特徴とする通信システム。
【請求項２】
前記中継装置は、前記共有情報の更新から所定期間が経過するまでの間、更新前の共有情報を用いて生成されたメッセージを受信した場合に、該メッセージを更新後の共有情報を用いたメッセージに修正するメッセージ修正部を有し、前記メッセージ修正部が修正したメッセージを中継すること
を特徴とする請求項１に記載の通信システム。
【請求項３】
前記メッセージ生成部が生成するメッセージには、前記共有情報の更新状態を示す更新状態情報を含み、
前記判定部は、前記共有情報及び受信したメッセージに含まれる更新状態情報に基づいてメッセージの正否を判定すること
を特徴とする請求項１又は請求項２に記載の通信システム。
【請求項４】
前記更新状態情報は、前記更新命令に応じて値が所定の規則で変化する情報であること
を特徴とする請求項３に記載の通信システム。
【請求項５】
前記更新状態情報は、前記更新命令に応じて値が反転するトグルビットであること
を特徴とする請求項４に記載の通信システム。
【請求項６】
前記メッセージ生成部が生成するメッセージには、前記共有情報と前記メッセージに含まれる情報とに基づいて生成されたメッセージ認証子を含み、
前記判定部は、受信したメッセージに含まれる情報及びメッセージ認証子と、記憶部に記憶された前記共有情報とに基づいて前記メッセージの正否を判定すること
を特徴とする請求項１乃至請求項５のいずれか１つに記載の通信システム。
【請求項７】
それぞれに一又は複数の通信装置が接続された複数の通信線間の通信を中継する中継装置において、
前記通信装置との間で共有する共有情報を記憶する記憶部と、
前記共有情報を用いて生成されたメッセージを前記通信装置から受信するメッセージ受信部と、
前記共有情報に基づいて前記メッセージ受信部が受信したメッセージの正否を判定する判定部と、
前記記憶部に記憶された共有情報を更新する更新部と、
前記共有情報の更新から所定期間が経過するまでの間、更新前の共有情報を用いて生成されたメッセージを受信した場合に、該メッセージを更新後の共有情報を用いたメッセージに修正するメッセージ修正部と
を備えることを特徴とする中継装置。
【請求項８】
少なくとも中継装置が接続された通信線に接続され、前記通信線及び前記中継装置を介して通信を行う通信装置において、
前記中継装置との間で共有する共有情報を記憶する記憶部と、
前記共有情報を用いたメッセージを生成するメッセージ生成部と、
前記メッセージ生成部が生成したメッセージを他の装置へ送信するメッセージ送信部と、
他の装置からのメッセージを受信するメッセージ受信部と、
前記共有情報に基づいて前記メッセージ受信部が受信したメッセージの正否を判定する判定部と、
他の装置から送信される前記共有情報の更新命令を受信した場合に、前記記憶部に記憶された共有情報を更新する更新部と
を有し、
前記共有情報の更新から所定期間が経過するまでの間、更新前の共有情報を用いて生成されたメッセージを受信した場合に、該メッセージを前記判定部が正当なメッセージと判定すること
を特徴とする通信装置。
【請求項９】
通信線に一又は複数の通信装置が接続され、複数の前記通信線が接続された中継装置が前記通信線間の通信を中継する通信方法において、
前記通信装置及び前記中継装置が、共有情報を記憶し、前記共有情報を用いたメッセージを生成して他の装置へ送信し、他の装置から受信したメッセージの正否を前記共有情報に基づいて判定し、
前記通信装置及び前記中継装置のうちの少なくとも１つの装置が、前記共有情報を更新させる更新命令を他の装置へ送信し、
前記通信装置及び前記中継装置が、前記更新命令を受信した場合に前記共有情報を更新し、
前記通信装置又は前記中継装置が、前記共有情報の更新から所定期間が経過するまでの間、更新前の共有情報を用いて生成されたメッセージを受信した場合に、該メッセージを正当なメッセージと判定すること
を特徴とする通信方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、複数の通信線間の通信を中継装置が中継する構成の通信システム、中継装置、通信装置及び通信方法に関する。
【背景技術】
【０００２】
近年、例えば車両に搭載されたネットワークにおいて、不正な通信装置の接続又は正規の通信装置の乗っ取り等によってネットワークに対する不正なメッセージ送信が行われることを防止するための対応策として、メッセージ認証子（ＭＡＣ：Message Authentication Code）を用いたメッセージ送受信を行うことが提案されている。ただしＭＡＣは、正規の通信装置が共有する暗号鍵と送信する情報とから生成され、暗号鍵と送信情報との組み合わせが同じ場合には同じ値となる。このためＭＡＣを用いる方法では、過去にネットワーク上を送受信された正規のメッセージを取得し、取得したメッセージを再送する再送攻撃に対して効果がなかった。
【０００３】
メッセージの再送攻撃に対して、例えば定期的に変化する情報などをＭＡＣ生成の演算に組み込むことによって、過去の正規メッセージを無効化する対応策がとり得る。ただしこの対応策を実現するためには、ネットワーク中の複数の通信装置が定期的に変化する情報を共有する必要があり、複数の通信装置が共有情報を同期して変化させる必要がある。
【０００４】
特許文献１には、ネットワーク中の各通信装置が、チェック値を用いてＭＡＣを生成してこのＭＡＣを含むメッセージを送信し、受信したメッセージに含まれるＭＡＣから再生した再生値とチェック値との比較によりメッセージの正否を判定する通信システムが記載されている。特許文献１に記載の通信システムでは、チェック値の更新を指示する内容を含むメッセージに基づいて、各通信装置のチェック値が同期される。
【先行技術文献】
【特許文献】
【０００５】
【特許文献１】国際公開番号ＷＯ２０１３／１７５６３３
【発明の概要】
【発明が解決しようとする課題】
【０００６】
特許文献１に記載の通信装置にて行われる特定のメッセージを用いたチェック値の同期方法は、メッセージを送受信する複数の通信装置が１つの共通の通信線に接続された構成の通信システムにおいては問題なく運用され得る。しかしながら、複数の通信線がゲートウェイ又はルータ等の中継装置を介して接続され、各通信線に接続された通信線が非同期にメッセージの送受信を行う構成の通信システムにおいては、チェック値を同期させるメッセージの中継に遅延又は衝突等が発生することによって、一時的に同期にズレが生じる虞がある。
【０００７】
本発明は、斯かる事情に鑑みてなされたものであって、その目的とするところは、複数の通信線間の通信が中継装置にて中継される構成において、値が変化し得る共有情報を用いたメッセージの送受信を可能とする通信システム、中継装置、通信装置及び通信方法を提供することにある。
【課題を解決するための手段】
【０００８】
本発明に係る通信システムは、一又は複数の通信装置が通信線に接続され、複数の前記通信線の間の通信を中継装置が中継する通信システムにおいて、前記通信装置及び前記中継装置は、共有情報を記憶する記憶部と、前記共有情報を用いたメッセージを生成するメッセージ生成部と、前記メッセージ生成部が生成したメッセージを他の装置へ送信するメッセージ送信部と、他の装置からのメッセージを受信するメッセージ受信部と、前記共有情報に基づいて前記メッセージ受信部が受信したメッセージの正否を判定する判定部とをそれぞれ有し、前記通信装置及び前記中継装置のうちの少なくとも１つの装置は、前記共有情報を更新させる更新命令を他の装置へ送信する更新命令送信部を有し、前記通信装置及び前記中継装置は、前記更新命令を受信した場合に、前記記憶部に記憶された共有情報を更新する更新部を更に有し、前記通信装置又は前記中継装置は、前記共有情報の更新から所定期間が経過するまでの間、更新前の共有情報を用いて生成されたメッセージを受信した場合に、該メッセージを前記判定部が正当なメッセージと判定することを特徴とする。
【０００９】
また、本発明に係る通信システムは、前記中継装置が、前記共有情報の更新から所定期間が経過するまでの間、更新前の共有情報を用いて生成されたメッセージを受信した場合に、該メッセージを更新後の共有情報を用いたメッセージに修正するメッセージ修正部を有し、前記メッセージ修正部が修正したメッセージを中継することを特徴とする。
【００１０】
また、本発明に係る通信システムは、前記メッセージ生成部が生成するメッセージには、前記共有情報の更新状態を示す更新状態情報を含み、前記判定部は、前記共有情報及び受信したメッセージに含まれる更新状態情報に基づいてメッセージの正否を判定することを特徴とする。
【００１１】
また、本発明に係る通信システムは、前記更新状態情報が、前記更新命令に応じて値が所定の規則で変化する情報であることを特徴とする。
【００１２】
また、本発明に係る通信システムは、前記更新状態情報が、前記更新命令に応じて値が反転するトグルビットであることを特徴とする。
【００１３】
また、本発明に係る通信システムは、前記メッセージ生成部が生成するメッセージには、前記共有情報と前記メッセージに含まれる情報とに基づいて生成されたメッセージ認証子を含み、前記判定部は、受信したメッセージに含まれる情報及びメッセージ認証子と、記憶部に記憶された前記共有情報とに基づいて前記メッセージの正否を判定することを特徴とする。
【００１４】
また、本発明に係る中継装置は、それぞれに一又は複数の通信装置が接続された複数の通信線間の通信を中継する中継装置において、前記通信装置との間で共有する共有情報を記憶する記憶部と、前記共有情報を用いて生成されたメッセージを前記通信装置から受信するメッセージ受信部と、前記共有情報に基づいて前記メッセージ受信部が受信したメッセージの正否を判定する判定部と、前記記憶部に記憶された共有情報を更新する更新部と、前記共有情報の更新から所定期間が経過するまでの間、更新前の共有情報を用いて生成されたメッセージを受信した場合に、該メッセージを更新後の共有情報を用いたメッセージに修正するメッセージ修正部とを備えることを特徴とする。
【００１５】
また、本発明に係る通信装置は、少なくとも中継装置が接続された通信線に接続され、前記通信線及び前記中継装置を介して通信を行う通信装置において、前記中継装置との間で共有する共有情報を記憶する記憶部と、前記共有情報を用いたメッセージを生成するメッセージ生成部と、前記メッセージ生成部が生成したメッセージを他の装置へ送信するメッセージ送信部と、他の装置からのメッセージを受信するメッセージ受信部と、前記共有情報に基づいて前記メッセージ受信部が受信したメッセージの正否を判定する判定部と、他の装置から送信される前記共有情報の更新命令を受信した場合に、前記記憶部に記憶された共有情報を更新する更新部とを有し、前記共有情報の更新から所定期間が経過するまでの間、更新前の共有情報を用いて生成されたメッセージを受信した場合に、該メッセージを前記判定部が正当なメッセージと判定することを特徴とする。
【００１６】
また、本発明に係る通信方法は、通信線に一又は複数の通信装置が接続され、複数の前記通信線が接続された中継装置が前記通信線間の通信を中継する通信方法において、前記通信装置及び前記中継装置が、共有情報を記憶し、前記共有情報を用いたメッセージを生成して他の装置へ送信し、他の装置から受信したメッセージの正否を前記共有情報に基づいて判定し、前記通信装置及び前記中継装置のうちの少なくとも１つの装置が、前記共有情報を更新させる更新命令を他の装置へ送信し、前記通信装置及び前記中継装置が、前記更新命令を受信した場合に前記共有情報を更新し、前記通信装置又は前記中継装置が、前記共有情報の更新から所定期間が経過するまでの間、更新前の共有情報を用いて生成されたメッセージを受信した場合に、該メッセージを正当なメッセージと判定することを特徴とする。
【００１７】
本発明において通信システムは、一つの通信線に一又は複数の通信装置が接続され、このような複数の通信線が中継装置に接続されて、中継装置が通信線間の通信を中継する構成である。各通信線にて行われる通信のプロトコルは、必ずしも同じプロトコルでなくてよく、異なるプロトコル間の通信を中継装置が変換して中継してよい。また、複数の中継装置が更に上位の中継装置に接続される階層的なシステム構成が採用されてもよい。
通信システムに含まれる通信装置及び中継装置は、共有情報を記憶しており、他の装置へのメッセージの生成及び送信と、他の装置から受信したメッセージの正否判定とを、記憶した共有情報を用いて行う。通信装置及び中継装置が記憶する共有情報は可変であり、通信システムに含まれる通信装置及び中継装置のうちの少なくとも１つの装置が送信する更新命令によって更新される。即ち、１つの装置が送信した更新命令がネットワークを伝わって通信装置及び中継装置にて受信され、更新命令を受信した通信装置及び中継装置が自身の記憶する共有情報を更新する。なお共有情報の更新は、例えば１秒、１分、１時間、１日又は１週間等の所定周期で行ってもよく、また例えば通信システムが車両に搭載されるものであれば車両のイグニッション信号がオン状態へ変化する毎など、何らかのイベント発生毎に行ってもよい。
【００１８】
１つの装置が送信する更新命令は、送信の際又は通信線間を中継される際等に衝突又は遅延等が発生する可能性がある。そこで本発明に係る通信システムの中継装置は、共有情報の更新を行うタイミングから所定の期間が経過するまでの間、更新前の共有情報を用いて生成されたメッセージと、更新後の共有情報を用いて生成されたメッセージとの両方を正当のメッセージとして扱い、中継の対象とする。又は、本発明に係る通信システムの通信装置は、共有情報の更新を行うタイミングから所定の期間が経過するまでの間、更新前の共有情報を用いて生成されたメッセージと、更新後の共有情報を用いて生成されたメッセージとの両方を正当なメッセージとして受信する。なお共有情報の更新を行うタイミングは、更新命令を送信する装置の場合、自身の共有情報を更新したタイミング又は更新命令を送信したタイミング等とすることができ、更新命令を受信する装置の場合には、更新命令を受信したタイミング又は自身の共有情報を更新したタイミング等とすることができる。
【００１９】
これにより、１つの装置が送信した更新命令が通信システムに含まれる全ての装置で受信されるまでの一定の期間において、更新前の共有情報を用いて生成されたメッセージと更新後の共有情報を用いて生成されたメッセージとが送受信可能となる。よって複数の通信線間の通信を中継装置が中継する構成の通信システムであっても、値が変化する共有情報を用いたメッセージ送受信を実現できる。
【００２０】
また本発明において中継装置は、更新前の共有情報を用いて生成されたメッセージを受信した場合には、このメッセージを更新後の共有情報を用いたメッセージに修正して中継する。これにより中継先の通信装置は、更新された共有情報を用いたメッセージを受信することができる。このため通信装置は、共有情報の更新から所定期間が経過するまでに受信した更新前の共有情報を用いたメッセージを正当なメッセージとして扱う処理を行う必要がなくなる。
【００２１】
また本発明においては、共有情報の更新状態を示す更新状態情報をメッセージに含める。更新状態情報は、更新命令に応じて値が所定の規則で変化する情報、例えば更新命令に応じて値が反転するトグルビットとすることができる。このような更新状態情報をメッセージに含めることによって、中継装置及び通信装置は、受信したメッセージが更新前の共有情報を用いたものであるか、又は、更新後の共有情報を用いたものであるかを容易に判断することが可能となる。
【００２２】
また本発明において、メッセージ送信を行う装置は、共有情報と送信するメッセージに含まれる情報とに基づいてメッセージ認証子を生成し、このメッセージ認証子を含むメッセージを他の装置へ送信する。メッセージを受信した装置は、受信メッセージに含まれる情報と自信が記憶する共有情報とに基づいて受信メッセージに含まれるメッセージ認証子の正否を判定し、受信メッセージの正否を判定する。これにより通信システムにて送受信されるメッセージの信頼性を高めることができると共に、更新される共有情報を用いたメッセージ認証子が付されることで再送攻撃に対する耐性を高めることができる。
【発明の効果】
【００２３】
本発明による場合は、共有情報の更新から所定の期間が経過するまでの間、更新前の共有情報を用いて生成されたメッセージと、更新後の共有情報を用いて生成されたメッセージとの両方を正当のメッセージとして扱うことにより、複数の通信線間の通信が中継装置にて中継されるシステム構成において、値が変化し得る共有情報を用いたメッセージの送受信を行うことができる。
【図面の簡単な説明】
【００２４】
【図１】実施の形態１に係る通信システムの構成を示すブロック図である。
【図２】実施の形態１に係る通信システムにて送受信されるメッセージの構成を説明するための模式図である。
【図３】共有情報のズレにより生じる問題点を説明するための模式図である。
【図４】共有情報のズレにより生じる問題点の解決法を説明するための模式図である。
【図５】トグルビットとメッセージの中継可否との関係を説明するための模式図である。
【図６】ＥＣＵの構成を示すブロック図である。
【図７】ゲートウェイの構成を示すブロック図である。
【図８】ＥＣＵが行うメッセージ送信処理の手順を示すフローチャートである。
【図９】ＥＣＵが行うメッセージ受信処理の手順を示すフローチャートである。
【図１０】ＥＣＵが行う共有情報の更新処理の手順を示すフローチャートである。
【図１１】ゲートウェイが行う更新処理の手順を示すフローチャートである。
【図１２】ゲートウェイが行うメッセージ中継処理の手順を示すフローチャートである。
【図１３】ゲートウェイが行うメッセージ中継処理の手順を示すフローチャートである。
【図１４】実施の形態２に係る通信システムの構成を示すブロック図である。
【図１５】実施の形態２に係る通信システムによるメッセージ送受信及び共有情報更新の第１例を示す模式図である。
【図１６】実施の形態２に係る通信システムによるメッセージ送受信及び共有情報更新の第１例を示す模式図である。
【図１７】実施の形態２に係る通信システムによるメッセージ送受信及び共有情報更新の第１例を示す模式図である。
【図１８】実施の形態２に係る通信システムによるメッセージ送受信及び共有情報更新の第１例を示す模式図である。
【図１９】実施の形態２に係る通信システムによるメッセージ送受信及び共有情報更新の第１例を示す模式図である。
【図２０】実施の形態２に係る通信システムによるメッセージ送受信及び共有情報更新の第２例を示す模式図である。
【図２１】実施の形態２に係る通信システムによるメッセージ送受信及び共有情報更新の第２例を示す模式図である。
【図２２】実施の形態２に係る通信システムによるメッセージ送受信及び共有情報更新の第２例を示す模式図である。
【図２３】実施の形態２に係る通信システムによるメッセージ送受信及び共有情報更新の第２例を示す模式図である。
【発明を実施するための形態】
【００２５】
（実施の形態１）
図１は、実施の形態１に係る通信システムの構成を示すブロック図である。本実施の形態に係る通信システムは、車両１に搭載された複数のＥＣＵ（Electronic Control Unit）２が、車両１内に配された通信線１ａ，１ｂ及びゲートウェイ４を介して相互に通信を行うシステムである。本実施の形態に係る通信システムは、ゲートウェイ４が中継装置に相当し、ＥＣＵ２が通信装置に相当する。また図示の例では、車内の通信線１ａに２つのＥＣＵ２が接続され、通信線１ｂに３つのＥＣＵ２が接続され、２本の通信線１ａ，１ｂがゲートウェイ４に接続されたシステム構成であり、ゲートウェイ４が通信線１ａ，１ｂ間の通信を中継することによって、全てのＥＣＵ２が他のＥＣＵ２との間でデータの送受信を行うことができる。
【００２６】
ＥＣＵ２は、例えば車両１のエンジンの動作を制御するＥＣＵ、ドアのロック／アンロックを制御するＥＣＵ、ライトの点灯／消灯を制御するＥＣＵ、エアバッグの動作を制御するＥＣＵ、及び、ＡＢＳ（Antilock Brake System）の動作を制御するＥＣＵ等の種々のＥＣＵが含まれ得る。各ＥＣＵ２は、車両１に配された通信線１ａ又は１ｂに接続され、通信線１ａ，１ｂを介して他のＥＣＵ２及びゲートウェイ１０との間でデータの送受信を行うことができる。
【００２７】
ゲートウェイ４は、車両１の車内ネットワークを構成する複数の通信線１ａ，ｂが接続され、通信線間のデータの送受信を中継する処理を行う。図１に示す例においては、ゲートウェイ４には２つの通信線１ａ，１ｂ、即ち２つのＥＣＵ２が接続された第１の通信線１ａ、及び、３つのＥＣＵ２が接続された第２の通信線１ｂが接続されている。ゲートウェイ４は、いずれかの通信線１ａ，１ｂから受信したデータを他の通信線１ａ，１ｂへ送信することによって、データの中継を行う。
【００２８】
本実施の形態に係る通信システムでは、ＥＣＵ２及びゲートウェイ４がＣＡＮ（Controller Area Network）の通信プロトコルに従った通信を行っている。ただし、本実施の形態に係る通信システムにて採用されるＣＡＮの通信プロトコルには、メッセージ認証子（ＭＡＣ）の技術が導入されている。ＥＣＵ２及びゲートウェイ４が送信するメッセージにはＭＡＣが付され、メッセージを受信したＥＣＵ２及びゲートウェイ４はメッセージに付されたＭＡＣの正否を判定することによって、受信メッセージが正当なものであるか否かの判定を行う。
【００２９】
図２は、実施の形態１に係る通信システムにて送受信されるメッセージの構成を説明するための模式図である。なお図２には、ＣＡＮの通信プロトコルにて送受信されるメッセージに含まれるデータフィールドの８バイト分のみを示し、これ以外のアービトレーションフィールド及びコントロールフィールド等のフィールドについては図示を省略してある。ＣＡＮの通信プロトコルにて送受信されるメッセージのデータフィールドは、８バイト（６４ビット）の２値情報の連なりで構成されている。実施の形態１に係る通信システムにて送受信されるメッセージのデータフィールドは、先頭の１ビットをトグルビットとし、続く３１ビットをＭＡＣとし、以降の３２ビットをデータとしている。
【００３０】
５バイト目から８バイト目までの３２ビットのデータは、例えばあるＥＣＵ２が他のＥＣＵ２に対して送信すべき情報である。３１ビットのＭＡＣは、３２ビットのデータと、ＥＣＵ２及びゲートウェイ４が共有している暗号鍵及び共有情報に基づいて生成されるものである。１ビットのトグルビットは、ＥＣＵ２及びゲートウェイ４が共有する共有情報の更新処理に用いられる情報であり、更新処理が行われる毎に０／１が反転するビットである。ＥＣＵ２は、送信すべき情報と記憶している暗号鍵及び共有情報とに基づいてＭＡＣを生成し、トグルビット及びＭＡＣをデータ（送信すべき情報）に付したデータフィールドを生成する。ＣＡＮの通信プロトコルのメッセージを構成する他のフィールドについては、ＥＣＵ２は通常のＣＡＮの通信プロトコルの手順に従って生成すればよい。
【００３１】
メッセージを受信したＥＣＵ２は、受信メッセージに含まれるデータフィールドのトグルビットの値に基づいて共有情報の更新処理が正しく行われているか否かを判定する。共有情報の更新処理が正しく行われている場合、ＥＣＵ２は、自身が記憶する暗号鍵及び共有情報と、受信メッセージに含まれる３２ビットのデータとに基づいてＭＡＣを生成し、生成したＭＡＣと受信メッセージに含まれるＭＡＣとが一致するか否かに基づいて、受信メッセージが正当なものであるか否かを判定する。
【００３２】
本実施の形態に係る通信システムでは、ＥＣＵ２及びゲートウェイ４が有する共有情報が所定のタイミングで更新される。本実施の形態においては、ゲートウェイ４が所定のタイミングで更新用の新たな共有情報を生成し、自身が記憶する共有情報を新たな共有情報に更新すると共に、生成した共有情報を更新命令と共に全ＥＣＵ２へ送信する。更新命令を受信したＥＣＵ２は、自身が記憶している共有情報を、更新命令に付された新たな共有情報に置き換えることによって、共有情報を更新する。このときにゲートウェイ４は、更新命令を２つの通信線１ａ，１ｂに同時的に送信するが、例えば一方の通信線１ａ又は１ｂにてメッセージの衝突などが発生した場合などに、一方の更新命令の送信が遅延する可能性がある。更新命令の送信に遅延が発生した場合、通信線１ａに接続されたＥＣＵ２と、通信線１ｂに接続されたＥＣＵ２とでは共有情報の値が異なる時間帯が生じる。
【００３３】
図３は、共有情報のズレにより生じる問題点を説明するための模式図である。なお本図及び次図においては、車両１に搭載された複数のＥＣＵ２について、通信線１ａに接続されているものをＥＣＵ２ａとし、通信線１ｂに接続されているものをＥＣＵ２ｂとして区別している。図３上段に示すように、例えばゲートウェイ４が更新のために新たな共有情報（図中において「共有情報（新）」と記載する）を生成し、新たな共有情報を付した更新命令を通信線１ａ及び１ｂへ同時的に送信しようとしたとする。しかし、通信線１ａに接続されたＥＣＵ２ａが、ゲートウェイ４による更新命令の送信よりもわずかに早く、メッセージの送信を行っていた場合、ゲートウェイ４は通信線１ａへの更新命令の送信を行うことができず、更新命令の送信が遅延される。このときにＥＣＵ２ａが送信するメッセージは、更新前の古い共有情報（図中において「共有情報（旧）」と記載する）を用いて生成されたＭＡＣが付されている（このようなメッセージを図中において「メッセージ（旧）」と記載する）。またゲートウェイ４からの更新命令を受信した通信線１ｂに接続されたＥＣＵ２ｂは、自身が記憶する古い共有情報を、更新命令に付された新たな共有情報に置き換えることで、共有情報を更新する（図中において「共有情報（旧）→（新）」と記載する）。
【００３４】
図３下段に示すように、ゲートウェイ４は、ＥＣＵ２ａのメッセージ送信が終了した後、通信線１ａへ更新命令を送信する。更新命令を受信したＥＣＵ２ａは、自身が記憶する古い共有情報を、更新命令に付された新たな共有情報に置き換えることで、共有情報を更新する。またゲートウェイ４は、通信線１ａにて受信したＥＣＵ２ａからのメッセージを通信線１ｂへ送信することによって、メッセージの中継を行う。しかしながらこのときに中継されるメッセージは、更新前の古い共有情報を用いて生成されたＭＡＣが付されたメッセージである。このため、このメッセージを受信したＥＣＵ２ｂは、自身が記憶している新たな共有情報を用いて生成したＭＡＣと、受信メッセージに付されたＭＡＣとが一致せず、受信メッセージを正当なメッセージではないと判定する。
【００３５】
なお図３に示す例では、ＥＣＵ１ａから更新前の古い共有情報を用いて生成されたＭＡＣが付されたメッセージを受信したゲートウェイ４が、このメッセージをＥＣＵ２ｂへ中継しているが、これはゲートウェイ４にてＭＡＣの正否を判定しない場合である。ゲートウェイ４がＥＣＵ１ａから受信したメッセージのＭＡＣの正否を判定する場合、更新前の古い共有情報を用いて生成されたＭＡＣが付されたメッセージは、ゲートウェイ４において正当なメッセージではないと判定され、ＥＣＵ２ｂへの中継は行われない。ゲートウェイ４が受信メッセージのＭＡＣを判定するか否かに応じて結果に若干の差異が生じるが、いずれの場合であっても共有情報のズレにより更新前の古い共有情報を用いて生成されたＭＡＣが付されたメッセージは、正当なメッセージではないと判定される。
【００３６】
図４は、共有情報のズレにより生じる問題点の解決法を説明するための模式図である。なお図４の上段に示す図は、図３の上段に示したものと同じである。本実施の形態に係る通信システムにおいて、ゲートウェイ４は、共有情報のズレによりＥＣＵ１ａから更新前の古い共有情報を用いて生成されたＭＡＣが付されたメッセージを受信した場合、共有情報の更新を行ってから所定期間が経過するまでの間は、このメッセージを正当なメッセージとして中継の対象とする。ただし、ゲートウェイ４が受信メッセージを単に中継した場合、図３下段に示したように、中継先のＥＣＵ２ｂにてこのメッセージは正当なものではないと判定される。そこで本実施の形態に係るゲートウェイ４は、受信メッセージに付されている更新前の古い共有情報を用いて生成されたＭＡＣを、自身が記憶している更新後の新しい共有情報を用いて生成したＭＡＣに置き換えるメッセージの修正を行い、修正後のメッセージをＥＣＵ２ｂへ中継する。
【００３７】
なお、更新前の古い共有情報を用いて生成されたＭＡＣが付されたメッセージ、及び、更新後の新たな共有情報を用いて生成されたＭＡＣが付されたメッセージの両方をゲートウェイ４が正当なメッセージとして受け付ける所定期間は、通信システムの設計段階などにおいて予め定められる。例えば所定期間は、ゲートウェイ４が送信する更新命令が遅延する可能性がある最大の時間を設定しておくことができる。
【００３８】
また上記の処理を行うために、ゲートウェイ４は、少なくとも共有情報の更新を行ってから所定期間が経過するまでの間は、更新前の古い共有情報と、更新後の新たな共有情報との２つの共有情報を記憶しておく必要がある。またゲートウェイ４は、受信したメッセージに付されたＭＡＣが、いずれの共有情報を用いて生成されたものであるかを判断する必要がある。このために本実施の形態に係る通信システムでは、ＭＡＣが更新前後のいずれの共有情報を用いて生成されたものであるかを判断するための情報として、メッセージにトグルビットを付している。
【００３９】
トグルビットは、更新処理が行われる毎に値が反転されるビットである。トグルビットの値は、通信システムに含まれる装置毎に個別管理されている。例えば、初期値としてトグルビット＝０で通信システムの通信が開始された場合、通信システム中の各ＥＣＵ２及びゲートウェイ４は、トグルビットを０としたメッセージを生成して送信する。所定のタイミングにおいてゲートウェイ４が更新処理を開始し、新たな共有情報を生成して自身の共有情報を更新した場合、ゲートウェイ４が管理するトグルビットは１に変化する。その後、ゲートウェイ４が更新命令を送信し、この更新命令を受信したＥＣＵ２は、自身の共有情報を更新すると共に、自身が管理するトグルビットを１に変化させる。
【００４０】
よってゲートウェイ４は、例えば自身が管理するトグルビットの値が１であるのに対し、受信したメッセージに付されたトグルビットの値が０である場合、このメッセージは更新前の古い共有情報を用いて生成されたＭＡＣが付されている可能性があると判断できる。そこでゲートウェイ４は、更新前の古い共有情報を用いて受信メッセージに付されたＭＡＣの正否を判定し、ＭＡＣが正当なものである場合に、上述のメッセージ修正を行う。即ちゲートウェイ４は、自身が管理するトグルビットの値と受信メッセージに付されたトグルビットの値とが一致する場合には、受信メッセージに付されたＭＡＣが更新後の新たな共有情報を用いて生成されたものと判断し、トグルビットの値が一致しない場合には、受信メッセージに付されたＭＡＣが更新前の古い共有情報を用いて生成されたものと判断することができる。
【００４１】
図５は、トグルビットとメッセージの中継可否との関係を説明するための模式図である。基本的にゲートウェイ４は、自身が管理するトグルビットの値が０である場合には、トグルビットの値が０のメッセージのみを有効なメッセージとして中継処理を行い、自身が管理するトグルビットの値が１である場合には、トグルビットの値が１のメッセージのみを有効なメッセージとして中継処理を行う。ただし更新処理から所定期間Ｔａが経過するまでの間は、ゲートウェイ４は、自身が管理するトグルビットの値に関わらず、トグルビットの値が０のメッセージ及びトグルビットの値が１のメッセージの両方を有効なメッセージとして中継処理を行う。なおゲートウェイ４は、更新処理から所定期間Ｔａが経過するまでの間、自身が管理するトグルビットの値と異なる値のトグルビットが付されたメッセージを受信した場合には、受信メッセージのトグルビット及びＭＡＣの値を修正した後で中継を行う。
【００４２】
図６は、ＥＣＵ２の構成を示すブロック図である。なお本図においては、複数のＥＣＵ２に共通の機能ブロックを抜き出して示しており、ＥＣＵ２毎に異なる機能ブロックについては図示を省略している。本実施の形態に係るＥＣＵ２は、処理部２１、記憶部２２及び通信部２３等を備えて構成されている。処理部２１は、例えばＣＰＵ（Central Processing Unit）又はＭＰＵ（Micro-Processing Unit）等の演算処理装置を用いて構成され、記憶部２２又は図示しないＲＯＭ（Read Only Memory）等に記憶されたプログラムを読み出して実行することにより、種々の演算処理を行う。なお処理部２１にて実行されるプログラムは、ＥＣＵ２毎にその内容が異なっている。
【００４３】
記憶部２２は、フラッシュメモリ又はＥＥＰＲＯＭ（Electrically Erasable Programmable Read Only Memory）等の不揮発性のメモリ素子を用いて構成されている。本実施の形態において記憶部２２には、送信するメッセージに付すＭＡＣを生成するための情報として、暗号鍵２２ａと共有情報２２ｂとが記憶されている。暗号鍵２２ａは、例えば共有鍵方式による暗号化及び復号を行うための情報であり、通信システムに含まれる全てのＥＣＵ２及びゲートウェイ４が共通して有する情報である。共有情報２２ｂも同様に通信システムに含まれる全てのＥＣＵ２及びゲートウェイ４が共通して有する情報であるが、共有情報２２ｂは比較的頻繁に更新される情報である。
【００４４】
通信部２３は、車内ネットワークを構成する通信線１ａ又は１ｂに接続され、ＣＡＮの通信プロトコルに従ってデータの送受信を行う。通信部２３は、処理部２１から与えられたデータを電気信号に変換して通信線１ａ又は１ｂへ出力することによってデータを送信すると共に、通信線１ａ又は１ｂの電位をサンプリングして取得することによりデータを受信し、受信したデータを処理部２１へ与える。
【００４５】
また本実施の形態に係るＥＣＵ２の処理部２１には、記憶部２２又はＲＯＭ等に記憶されたプログラムが実行されることによって、メッセージ生成部２１ａ、メッセージ判定部２１ｂ及び更新処理部２１ｃ等がソフトウェア的な機能ブロックとして実現される。メッセージ生成部２１ａは、他のＥＣＵ２へ送信すべき情報が存在する場合に、この情報と、記憶部２２に記憶された暗号鍵２２ａ及び共有情報２２ｂとを用いて所定の暗号化演算を行うことによりＭＡＣを生成する。メッセージ生成部２１ａは、自身が管理するトグルビットの値と、生成したＭＡＣと、他のＥＣＵ２へ送信すべき情報（データ）とを含むデータフィールドを生成し、アービトレーションフィールド及びコントロールフィールド等と結合することによって送信用のメッセージを生成する。メッセージ生成部２１ａが生成したメッセージを通信部２３へ与えることにより、このメッセージが通信線１ａ，１ｂへ送信され、他のＥＣＵ２にて受信される。なおトグルビットの値は、例えば記憶部２２に記憶され、共有情報２２ｂが更新される毎に値が反転される。
【００４６】
メッセージ判定部２１ｂは、通信部２３にて受信したメッセージが正当なメッセージであるか否かの判定を行う。メッセージ判定部２１ｂは、受信メッセージに含まれるデータと、記憶部２２に記憶された暗号鍵２２ａ及び共有情報２２ｂとを用いて所定の暗号化演算を行うことにより確認用のＭＡＣを生成する。なおメッセージ生成部２１ａによる暗号化演算と、メッセージ判定部２１ｂによる暗号化演算とは同じ内容の処理である。メッセージ判定部２１ｂは、受信メッセージに含まれるＭＡＣと、自身が生成したＭＡＣとを比較し、両ＭＡＣが一致する場合に受信メッセージが正当なものであると判定し、両ＭＡＣが一致しない場合に受信メッセージが正当なものではないと判定する。なお本実施の形態においては、ＥＣＵ２のメッセージ判定部２１ｂは、受信メッセージに含まれるトグルビットを使用しない。
【００４７】
更新処理部２１ｃは、ゲートウェイ４が送信する更新命令を通信部２３にて受信した場合に、記憶部２２に記憶された共有情報２２ｂを更新する処理を行う。ゲートウェイ４が送信する更新命令は、例えばデータフィールドのデータとして新たな共有情報が格納され、更新前の古い共有情報を用いて生成したＭＡＣが付されたメッセージとすることができる。通信部２３にて更新命令が受信された場合、通常のメッセージと同様に、メッセージ判定部２１ｂにて正当な更新命令であるか否かの判定がなされる。正当な更新命令であると判定された場合、更新処理部２１ｃは、更新命令に含まれる新たな共有情報を記憶部２２に記憶された共有情報２２ｂに上書きすることによって、共有情報の更新を行う。
【００４８】
図７は、ゲートウェイ４の構成を示すブロック図である。本実施の形態に係るゲートウェイ４は、処理部４１、記憶部４２、及び、２つの車内通信部４３等を備えて構成されている。処理部４１は、例えばＣＰＵ又はＭＰＵ等の演算処理装置を用いて構成され、記憶部４２又は図示しないＲＯＭ等に記憶されたプログラムを読み出して実行することにより、種々の演算処理を行う。本実施の形態において処理部４１は、車内ネットワークの通信線１ａ，１ｂ間のメッセージ送受信を中継する処理、及び、共有情報の更新処理等に必要な演算処理を行う。
【００４９】
記憶部４２は、フラッシュメモリ又はＥＥＰＲＯＭ等の不揮発性のメモリ素子を用いて構成されている。記憶部４２は、ＥＣＵ２が記憶部２２に記憶している暗号鍵２２ａ及び共有情報２２ｂと同様の暗号鍵４２ａ及び共有情報４２ｂを記憶している。また本実施の形態においてゲートウェイ４の記憶部４２には、現時点でメッセージの送受信に用いている共有情報４２ｂと共に、更新前の古い共有情報４２ｃが記憶されている。また記憶部４２は、処理部４１が実行するプログラム及びこのプログラムの実行に必要なデータ、並びに、処理部４１の処理の過程で生成されたデータなどを記憶してもよい。
【００５０】
２つの通信部４３は、車内ネットワークを構成する通信線１ａ，１ｂにそれぞれ接続され、ＣＡＮの通信プロトコルに従ってデータの送受信を行う。通信部４３は、処理部４１から与えられたデータを電気信号に変換して通信線１ａ，１ｂへ出力することによって情報を送信すると共に、通信線１ａ，１ｂの電位をサンプリングして取得することによりデータを受信し、受信したデータを処理部４１へ与える。
【００５１】
また処理部４１には、記憶部４２又はＲＯＭ等に記憶されたプログラムが実行されることによって、メッセージ生成部４１ａ、メッセージ判定部４１ｂ、更新処理部４１ｃ、更新命令送信部４１ｄ及びメッセージ修正部４１ｅ等がソフトウェア的な機能ブロックとして実現される。メッセージ生成部４１ａが行う処理は、ＥＣＵ２のメッセージ生成部２１ａが行う処理と略同じである。即ちメッセージ生成部４１ａは、他の装置へ送信すべき情報が存在する場合に、この情報と、記憶部４２に記憶された暗号鍵４２ａ及び共有情報４２ｂとを用いて所定の暗号化演算を行うことによりＭＡＣを生成する。メッセージ生成部４１ａは、自身が管理するトグルビットの値と、生成したＭＡＣと、他の装置へ送信すべき情報（データ）とを含むデータフィールドを生成し、アービトレーションフィールド及びコントロールフィールド等と結合することによって送信用のメッセージを生成する。メッセージ生成部４１ａが生成したメッセージを通信部４３へ与えることにより、このメッセージが通信線１ａ，１ｂへ送信され、この通信線１ａ，１ｂに接続されたＥＣＵ２にて受信される。なおトグルビットの値は、例えば記憶部４２に記憶され、共有情報４２ｂが更新される毎に値が反転される。
【００５２】
メッセージ判定部４１ｂが行う処理は、ＥＣＵ２のメッセージ判定部２１ｂが行う処理と略同じである。即ちメッセージ判定部４１ｂは、通信部４３にて受信したメッセージが正当なメッセージであるか否かの判定を行う。メッセージ判定部４１ｂは、受信メッセージに含まれるデータと、記憶部４２に記憶された暗号鍵４２ａと、共有情報４２ｂ又は４２ｃとを用いて所定の暗号化演算を行うことにより確認用のＭＡＣを生成する。メッセージ判定部４１ｂは、受信メッセージに含まれるＭＡＣと、自身が生成したＭＡＣとを比較し、両ＭＡＣが一致する場合に受信メッセージが正当なものであると判定し、両ＭＡＣが一致しない場合に受信メッセージが正当なものではないと判定する。
【００５３】
また本実施の形態においてゲートウェイ４は、上述のように共有情報４２ｂの更新から所定期間が経過するまでの間は、更新前の古い共有情報を用いて生成したＭＡＣが付されたメッセージも正当なメッセージとして受け付ける。このためゲートウェイ４のメッセージ判定部４１ｂは、共有情報４２ｂの更新から所定期間が経過するまでの間、受信メッセージに含まれるトグルビットの値に応じて、記憶部４２に記憶された更新後の新たな共有情報４２ｂ又は更新前の古い共有情報４２ｃのいずれを用いて確認用のＭＡＣを生成するかを判断する。即ちメッセージ判定部４１ｂは、受信メッセージに含まれるトグルビットの値が記憶部４２に記憶されたトグルビットの値と一致する場合、記憶部４２に記憶された更新後の新たな共有情報４２ｂを用いて確認用のＭＡＣを生成し、受信メッセージの正否を判定する。これに対して、受信メッセージに含まれるトグルビットの値が記憶部４２に記憶されたトグルビットの値と一致しない場合、メッセージ判定部４１ｂは、記憶部４２に記憶された更新前の古い共有情報４２ｃを用いて確認用のＭＡＣを生成し、受信メッセージの正否を判定する。なお、共有情報４２ｂの更新から所定期間が経過した後、メッセージ判定部４１ｂは、受信メッセージに含まれるトグルビットの値が記憶部４２に記憶されたトグルビットの値と一致しない場合には、この受信メッセージを正当なものではないと判定してよい。
【００５４】
更新処理部４１ｃは、通信システムに含まれるＥＣＵ２及びゲートウェイ４が有する共有情報の更新を行うタイミングに至ったか否かを判断する。更新処理部４１ｃは、例えば前回の更新処理から１秒、１分、１時間、１日又は１週間等の所定周期が経過した場合に更新を行うタイミングに至ったと判断する構成としてもよく、また例えば車両１のイグニッションスイッチがオフ状態からオン状態へ切り替えられた場合に更新を行うタイミングに至ったと判断する構成としてもよく、これ以外のタイミングを更新タイミングと判断する構成としてもよい。
【００５５】
更新処理部４１ｃは、更新処理を行うタイミングに至ったと判断した場合、新たな共有情報の生成を行う。更新処理部４１ｃは、例えば所定の乱数発生アルゴリズムによって乱数を発生させ、この乱数に基づいて共有情報を生成する。更新処理部４１ｃは、記憶部４２に記憶された新たな共有情報４２ｂを古い共有情報４２ｃとし、生成した共有情報を新たな共有情報４２ｂとして記憶部４２に記憶することによって、共有情報４２ｂを更新する。
【００５６】
更新命令送信部４１ｄは、更新処理部４１による自装置の更新処理が行われた場合に、通信線１ａ，１ｂに接続されたＥＣＵ２に対して更新処理を行わせるための更新命令を、通信部４３から送信する処理を行う。更新命令送信部４１ｄは、更新処理部４１ｃが生成した新たな共有情報をデータとし、記憶部４２に記憶された更新前の古い共有情報４２ｃを用いて生成されたＭＡＣを付したメッセージを更新命令として、２つの通信部４３から全てのＥＣＵ２に対して更新命令を一斉送信する。
【００５７】
メッセージ修正部４１ｅは、共有情報の更新から所定期間が経過するまでの間、メッセージに含まれるトグルビットの値が記憶部４２に記憶されたトグルビットの値と一致しないメッセージを受信し、この受信メッセージがメッセージ判定部４１ｂにより正当なメッセージであると判定された場合に、受信メッセージのトグルビット及びＭＡＣを修正する処理を行う。このときにメッセージ修正部４１ｅは、受信メッセージに含まれるトグルビットの値を反転する。またメッセージ修正部４１ｅは、受信メッセージに含まれるデータと、記憶部４２に記憶された暗号鍵２２ａと、更新後の新たな共有情報２２ｂとに基づいて新たなＭＡＣを生成し、受信メッセージに含まれるＭＡＣを新たに生成したＭＡＣに交換することで、受信メッセージを修正する。メッセージ修正部４１ｅが修正されたメッセージは、元のメッセージを受信した通信部４３とは別の通信部４３から送信され、ＥＣＵ２へ中継される。
【００５８】
図８は、ＥＣＵ２が行うメッセージ送信処理の手順を示すフローチャートである。ＥＣＵ２の処理部２１は、他のＥＣＵ２へ情報送信が必要となった場合に、以下のメッセージ送信処理を開始する。処理部２１のメッセージ生成部２１ａは、記憶部２２に記憶された暗号鍵２２ａを読み出すと共に（ステップＳ１）、記憶部２２に記憶された共有情報２２ｂを読み出す（ステップＳ２）。メッセージ生成部２１ａは、他のＥＣＵ２へ送信すべき情報と、ステップＳ１にて読み出した暗号鍵２２ａと、ステップＳ２にて読み出した共有情報２２ｂとを用いてＭＡＣを生成する（ステップＳ３）。メッセージ生成部２１ａは、記憶部２２に記憶されたトグルビットと、ステップＳ３にて生成したＭＡＣと、他のＥＣＵ２へ送信すべき情報とを含むメッセージを生成する（ステップＳ４）。処理部２１は、メッセージ生成部２１ａが生成したメッセージを通信部２３へ与えることにより、他のＥＣＵ２へのメッセージ送信を行い（ステップＳ５）、処理を終了する。
【００５９】
図９は、ＥＣＵ２が行うメッセージ受信処理の手順を示すフローチャートである。ＥＣＵ２の処理部２１は、通信部２３にて他のＥＣＵ２又はゲートウェイ４からのメッセージを受信したか否かを判定する（ステップＳ１１）。メッセージを受信していない場合（Ｓ１１：ＮＯ）、処理部２１は、メッセージを受信するまで待機する。メッセージを受信した場合（Ｓ１１：ＹＥＳ）、処理部２１のメッセージ判定部２１ｂは、受信メッセージに含まれるデータを取得する（ステップＳ１２）。メッセージ判定部２１ｂは、記憶部２２に記憶された暗号鍵２２ａを読み出すと共に（ステップＳ１３）、記憶部２２に記憶された共有情報２２ｂを読み出す（ステップＳ１４）。メッセージ判定部２１ｂは、ステップＳ１２にて取得したデータと、ステップＳ１３にて読み出した暗号鍵２２ａと、ステップＳ１４にて読み出した共有情報２２ｂとを用いて確認用のＭＡＣを生成する（ステップＳ１５）。またメッセージ判定部２１ｂは、受信メッセージに含まれるＭＡＣを取得する（ステップＳ１６）。
【００６０】
メッセージ判定部２１ｂは、ステップＳ１５にて生成した確認用のＭＡＣと、ステップＳ１６にて取得したＭＡＣとが一致するか否かを判定する（ステップＳ１７）。両ＭＡＣが一致する場合（Ｓ１７：ＹＥＳ）、メッセージ判定部２１ｂは、受信メッセージを正当なメッセージと判定する（ステップＳ１８）。処理部２１は、受信メッセージに含まれるデータの内容に応じた適宜の処理を行って（ステップＳ１９）、メッセージ受信処理を終了する。これに対して、両ＭＡＣが一致しない場合（Ｓ１７：ＮＯ）、メッセージ判定部２１ｂは、受信メッセージを正当でないメッセージと判定する（ステップＳ２０）。処理部２１は、エラー処理などを行い（ステップＳ２１）、メッセージ受信処理を終了する。
【００６１】
図１０は、ＥＣＵ２が行う共有情報の更新処理の手順を示すフローチャートである。ＥＣＵ２の処理部２１は、通信部２３にてゲートウェイ４からの更新命令を受信したか否かを判定する（ステップＳ３１）。更新命令を受信していない場合（Ｓ３１：ＮＯ）、処理部２１は、更新命令を受信するまで待機する。更新命令を受信した場合（Ｓ３１：ＹＥＳ）、処理部２１は、受信した更新命令が正当な更新命令であるか否かを判定する（ステップＳ３２）。なお更新命令が正当なものであるか否かの判定は、図９のメッセージ受信処理にて示した受信メッセージが正当なものであるか否かの判定と同様の処理で行われるため、本図では詳細を省略する。
【００６２】
受信した更新命令が正当な更新命令である場合（Ｓ３２：ＹＥＳ）、処理部２１の更新処理部２１ｃは、更新命令に含まれる共有情報を取得する（ステップＳ３３）。更新処理部２１ｃは、取得した共有情報を、記憶部２２に記憶された共有情報２２ｂに対して上書きすることによって更新を行い（ステップＳ３４）、更新処理を終了する。受信した更新命令が正当な更新命令出ない場合（Ｓ３２：ＮＯ）、処理部２１は、エラー処理などを行い（ステップＳ３５）、共有情報２２ｂを更新することなく、更新処理を終了する。
【００６３】
図１１は、ゲートウェイ４が行う更新処理の手順を示すフローチャートである。なお本処理においては、０又は１の値を保持する”更新処理フラグ”を用いて処理を行うが、このフラグは例えば処理部４１のレジスタなどの記憶領域を用いて実現され得る。更新処理フラグは、共有情報の更新から所定期間が経過するまでの期間に値が１に設定され、それ以外の期間に０が設定される。まず、ゲートウェイ４の処理部４１の更新処理部４１ｃは、更新処理フラグの値を０に初期化する（ステップＳ４１）。更新処理部４１ｃは、所定の更新処理を行うタイミングに至ったか否かを判定する（ステップＳ４２）。更新処理を行うタイミングに至っていない場合（Ｓ４２：ＮＯ）、更新処理部４１ｃは、更新処理を行うタイミングに至るまで待機する。
【００６４】
更新処理を行うタイミングに至った場合（Ｓ４２：ＹＥＳ）、更新処理部４１ｃは、その時点で使用していた記憶部４２の共有情報４２ｂを、更新前の古い共有情報４２ｃとして記憶部４２ｂに保存する（ステップＳ４３）。更新処理部４１ｃは、例えば乱数を発生させるなどの方法により、新たな共有情報を生成する（ステップＳ４４）。更新処理部４１ｃは、生成した共有情報を、記憶部４２に更新後の新たな共有情報４２ｂとして記憶する（ステップＳ４５）。なおこのときに更新処理部４１ｃは、記憶部４２に記憶されたトグルビットの値を反転させる。
【００６５】
次いで処理部４１は、更新処理フラグの値を１に設定する（ステップＳ４６）。処理部４１は、自身のタイマ機能などを用いて、共有情報の更新からの所定期間の計時を開始する（ステップＳ４７）。処理部４１の更新命令送信部４１ｄは、ステップＳ４４にて生成した新たな共有情報を含む更新命令を生成する（ステップＳ４８）。更新命令送信部４１ｄは、生成した更新命令を、全ての通信部４３にて送信する（ステップＳ４９）。
【００６６】
その後、処理部４１は、ステップＳ４７の計時開始から所定期間が経過したか否かを判定する（ステップＳ５０）。所定期間が経過していない場合（Ｓ５０：ＮＯ）、処理部４１は、所定期間が経過するまで待機する。所定期間が経過した場合（Ｓ５０：ＹＥＳ）、処理部４１は、所定期間の計時を終了する（ステップＳ５１）。処理部４１は、更新処理フラグの値を０に設定し（ステップＳ５２）、更新処理を終了する。
【００６７】
図１２及び図１３は、ゲートウェイ４が行うメッセージ中継処理の手順を示すフローチャートである。なお本処理において用いる更新処理フラグは、図１１の更新処理にて用いたものと同じものである。ゲートウェイ４の処理部４１は、いずれかの通信部４３にてメッセージを受信したか否かを判定する（ステップＳ６１）。メッセージを受信していない場合（Ｓ６１：ＮＯ）、処理部４１は、メッセージを受信するまで待機する。
【００６８】
いずれかの通信部４３にてメッセージを受信した場合（Ｓ６１：ＹＥＳ）、処理部４１のメッセージ判定部４１ｂは、受信メッセージに含まれるトグルビットの値を取得する（ステップＳ６２）。メッセージ判定部４１ｂは、ステップＳ６２にて取得したトグルビットの値と、記憶部４２に記憶されたトグルビットの値とを比較し、両トグルビットが一致するか否かを判定する（ステップＳ６３）。トグルビットが一致する場合（Ｓ６３：ＹＥＳ）、この受信メッセージに付されたＭＡＣは更新後の新たな共有情報を用いて生成されたものであるため、メッセージ判定部４１ｂは、記憶部４２に記憶された更新後の新たな共有情報４２ｂを読み出す（ステップＳ６４）。メッセージ判定部４１ｂは、ステップＳ６４にて読み出した更新後の新たな共有情報４２ｂに基づいて、受信メッセージが正当なものであるか否かの判定を行う（ステップＳ６５）。受信メッセージが正当なものであると判定した場合（Ｓ６５：ＹＥＳ）、処理部４１は、メッセージを受信した通信部４３とは異なる通信部４３にて、受信したメッセージを送信することによってメッセージを中継し（ステップＳ６６）、中継処理を終了する。受信メッセージが正当なもの出ないと判定した場合（Ｓ６５：ＮＯ）、処理部４１は、エラー処理などを行い（ステップＳ６８）、メッセージを中継することなく、中継処理を終了する。
【００６９】
トグルビットが一致しない場合（Ｓ６３：ＮＯ）、メッセージ判定部４１ｂは、更新処理フラグの値が０であるか否かを判定する（ステップＳ６７）。更新処理フラグの値が０である場合（Ｓ６７：ＹＥＳ）、この受信メッセージは更新後の新たな共有情報を用いて生成されたＭＡＣが付されておらず、且つ、共有情報の更新から所定期間内でないため、処理部４１は、受信メッセージが正当なものでないと判断し、エラー処理などを行って（ステップＳ６８）、メッセージを中継することなく、中継処理を終了する。
【００７０】
更新処理フラグの値が０でない場合（Ｓ６７：ＮＯ）、即ち更新処理フラグの値が１である場合、この受信メッセージに付されたＭＡＣは更新前の古い共有情報を用いて生成されたものであるため、メッセージ判定部４１ｂは、記憶部４２に記憶された更新前の古い共有情報４２ｃを読み出す（ステップＳ７１）。メッセージ判定部４１ｂは、ステップＳ７１にて読み出した更新前の古い共有情報４２ｃに基づいて、受信メッセージが正当なものであるか否かの判定を行う（ステップＳ７２）。
【００７１】
受信メッセージが正当なものであると判定した場合（Ｓ７２：ＹＥＳ）、処理部４１のメッセージ修正部４１ｅは、記憶部４２に記憶された更新後の新たな共有情報４２ｂを読み出す（ステップＳ７３）。メッセージ修正部４１ｅは、ステップＳ７３にて読み出した更新後の新たな共有情報４２ｂを用いて、受信メッセージに含まれるデータと記憶部４２に記憶された暗号鍵２２ａとに基づいて新たなＭＡＣを生成する（ステップＳ７４）。メッセージ修正部４１ｅは、受信メッセージのトグルビットを反転させると共に、受信メッセージのＭＡＣをステップＳ７４にて生成したＭＡＣと入れ替えることによりメッセージを修正する（ステップＳ７５）。処理部４１は、メッセージを受信した通信部４３とは異なる通信部４３にて、ステップＳ７５にて修正したメッセージを送信することでメッセージを中継し（ステップＳ７６）、中継処理を終了する。また受信メッセージが正当なものでないと判定した場合（Ｓ７２：ＮＯ）、処理部４１は、エラー処理など行って（ステップＳ７７）、メッセージを中継することなく、中継処理を終了する。
【００７２】
以上の構成の本実施の形態に係る通信システムは、一つの通信線１ａ，１ｂに複数のＥＣＵ２が接続され、このような複数の通信線１ａ，１ｂがゲートウェイ４に接続されて、ゲートウェイ４が通信線１ａ，１ｂ間の通信を中継する構成である。通信システムに含まれるＥＣＵ２及びゲートウェイ４は、共有情報を記憶しており、他の装置へのメッセージの生成及び送信と、他の装置から受信したメッセージの正否判定とを、記憶した共有情報を用いて行う。ＥＣＵ２及びゲートウェイ４が記憶する共有情報は可変の情報であり、ゲートウェイ４が送信する更新命令により更新される。即ち、ゲートウェイ４が送信した更新命令が通信線１ａ，１ｂを介してＥＣＵ２にて受信され、更新命令を受信したＥＣＵ２が自身の記憶する共有情報を更新する。なお共有情報の更新は、例えば１秒、１分、１時間、１日又は１週間等の所定期間で周期的に行ってもよく、また例えば車両１のイグニッションスイッチがオフ状態からオン状態へ切り替えられる都度など、何らかのイベント発生毎に行ってもよい。
【００７３】
ゲートウェイ４が送信する更新命令は、送信の際に又は通信線１ａ，１ｂ間を中継される際等に、衝突又は遅延等が発生する可能性がある。そこで本実施の形態に係る通信システムのゲートウェイ４は、共有情報の更新を行うタイミングから所定の期間が経過するまでの間、更新前の古い共有情報を用いて生成されたメッセージと、更新後の新たな共有情報を用いて生成されたメッセージとの両方を正当なメッセージとして扱い、中継の対象とする。なお所定期間の起点となる共有情報の更新タイミングは、例えば自身の記憶部４２に記憶された共有情報４２ｂを更新したタイミング、又は、ＥＣＵ２への更新命令を送信したタイミング等とすることができる。
【００７４】
これにより本実施の形態に係る通信システムでは、ゲートウェイ４が送信した更新命令が全てのＥＣＵ２で受信されて更新処理が行われるまでの一定の期間において、更新前の古い共有情報を用いて生成されたメッセージと、更新後の新たな共有情報を用いて生成されたメッセージとが送受信可能となる。よって複数の通信線１ａ，１ｂ間の通信をゲートウェイ４が中継する構成の通信システムであっても、値が変化する共有情報を用いたメッセージ送受信を実現できる。
【００７５】
また本実施の形態に係るゲートウェイ４は、共有情報の更新から所定期間が経過するまでの間に、更新前の古い共有情報を用いて生成されたメッセージを受信した場合には、このメッセージを更新後の新たな共有情報を用いてメッセージに修正して中継する。これにより中継先のＥＣＵ２は、更新後の新たな共有情報を用いたメッセージを受信することができる。
【００７６】
また本実施の形態に係る通信システムでは、共有情報の更新状態を示す更新状態情報として、トグルビットをメッセージに含める。これによりゲートウェイ４は、受信したメッセージが更新前の古い共有情報を用いたものであるか、又は、更新後の新たな共有情報を用いたものであるかを容易に判断することが可能となる。
【００７７】
またＥＣＵ２は、送信すべきデータと、記憶部２２に記憶された暗号鍵２２ａ及び共有情報２２ｂとに基づいてＭＡＣを生成し、このＭＡＣを含むメッセージを他のＥＣＵ２へ送信する。メッセージを受信したＥＣＵ２は、受信メッセージに含まれるデータと、記憶部２２に記憶された暗号鍵２２ａ及び共有情報２２ｂとに基づいて確認用のＭＡＣを生成し、受信メッセージに含まれるＭＡＣと比較することによって受信メッセージの正否を判定する。これにより通信システムにて送受信されるメッセージの信頼性を高めることができると共に、更新される共有情報を用いたＭＡＣが付されることで再送攻撃に対する耐性を高めることができる。
【００７８】
なお本実施の形態においては、ゲートウェイ４が共有情報の生成及び更新命令の送信等を行う構成としたが、これに限るものではなく、通信システムに含まれる複数のＥＣＵ２のいずれかが共有情報の生成及び更新命令の送信等を行う構成としてもよい。また共有情報の更新のためにゲートウェイ４からＥＣＵ２へ新たな共有情報を送信する構成としたが、これに限るものではなくい。例えば共有情報をカウンタの値とし、更新命令の受信に応じてＥＣＵ２がカウンタを増減させるなど、全てのＥＣＵ２及びゲートウェイ４が同じ規則で共有情報を生成する構成であってもよい。
【００７９】
また本実施の形態においては、ＭＡＣを付したメッセージを送受信する構成としたが、これに限るものではなく、例えばＥＣＵ２が送信すべき情報を暗号化したものにトグルビットを付したメッセージを送受信する構成としてもよい。またメッセージに付す更新状態情報はトグルビットでなくてもよく、例えば更新処理を行う毎に値が増減するカウンタ値など、何らかの規則により値が変化する情報であればよい。更にはメッセージにトグルビットなどの更新状態情報を付さない構成としてもよく、この場合にゲートウェイ４は共有情報の更新から所定期間が経過するまでの間に受信したメッセージに対して、更新後の新たな共有情報を用いたメッセージの正否判定と、更新前の古い共有情報を用いたメッセージの正否判定との両方を行う構成とすることができる。
【００８０】
また本実施の形態に係る通信システムは、車両１に搭載されるシステムとしたが、これに限るものではなく、車載以外の通信システムであってよい。また通信装置はＥＣＵ２以外の通信機能を有する種々の装置であってよく、中継装置はゲートウェイ４以外の中継機能を有する種々の装置であってよい。
【００８１】
（変形例）
また、共有情報の更新から所定期間が経過するまでの間、ゲートウェイ４が、更新前の古い共有情報を用いたメッセージと、更新後の新たな共有情報を用いたメッセージとを有効なものとして扱う構成としたが、これに限るものではない。
変形例に係る通信システムでは、各ＥＣＵ２が、共有情報の更新から所定期間が経過するまでの間、更新前の古い共有情報を用いたメッセージと、更新後の新たな共有情報を用いたメッセージとを有効なものとして受信する。この場合にゲートウェイ４は、受信したメッセージの正否判定を行わずにこのメッセージを中継する構成としてもよく、又は、共有情報の更新から所定期間が経過するまでの間、更新前の古い共有情報を用いたメッセージと、更新後の新たな共有情報を用いたメッセージとを有効なものとして受信し、メッセージの修正は行わずに中継する構成としてもよい。
【００８２】
（実施の形態２）
実施の形態２に係る通信システムは、複数の通信プロトコルが混在し、且つ、複数の中継装置が階層的に接続された構成である。図１４は、実施の形態２に係る通信システムの構成を示すブロック図である。実施の形態２に係る通信システムは、中継装置として複数のＤＣＵ（Domain Control Unit）２００〜２０４と、通信装置として複数のＥＣＵ２０３ａ〜２０３ｌとを備えて構成されている。実施の形態２に係る通信システムは、イーサネット（登録商標）の通信プロトコルにより１Ｇｂｐｓの通信速度で通信を行うネットワークと、イーサネットの通信プロトコルにより１００Ｍｂｐｓの通信速度で通信を行うネットワークと、ＣＡＮ−ＦＤの通信プロトコルにより２Ｍｂｐｓの通信速度で通信を行うネットワークとが混在している。
【００８３】
実施の形態２に係る通信システムでは、１つのＤＣＵ２００に４つのＤＣＵ２０１〜２０４が接続され、各ＤＣＵ２０１〜２０４に複数のＥＣＵが接続された階層構造をなしている。１つのＤＣＵ２００と４つのＤＣＵ２０１〜２０４とは、それぞれ個別の通信線を介して接続されており、イーサネットの通信プロトコルにより１Ｇｂｐｓの通信速度で通信を行う。また実施の形態２に係る通信システムの４つのＤＣＵ２０１〜２０４は、ＤＣＵ２００に接続される通信線とは別に、一又は複数のＥＣＵを接続するための６つの通信線がそれぞれ接続可能とされている。各ＤＣＵ２０１〜２０４に接続される複数の通信線は、通信プロトコルが異なるものが混在していてよい。
【００８４】
図示の例においてＤＣＵ２０３には、通信速度が２ＭｂｐｓのＣＡＮ−ＦＤの通信プロトコルに対応した通信線が３つと、通信速度が１００Ｍｂｐｓのイーサネットの通信プロトコルに対応した通信線が３つ接続されている。ＣＡＮの通信プロトコルに対応した第１の通信線には３つのＥＣＵ２０３ａ〜２０３ｃが接続され、第２の通信線にはＥＣＵ２０３ｄ〜２０３ｆが接続され、第３の通信線にはＥＣＵ２０３ｇ〜２０３ｉが接続されている。またイーサネットの通信規格に対応した第４の通信線にはＥＣＵ２０３ｊが接続され、第５の通信線にはＥＣＵ２０３ｋが接続され、第６の通信線にはＥＣＵ２０３ｌが接続されている。他のＤＣＵ２０１，２０２及び２０４についても同様に複数のＥＣＵが接続されているが、図示を省略する。
【００８５】
例えばＥＣＵ２３０ｊがメッセージを送信した場合、このメッセージはＤＣＵ２０３にて受信される。ＤＣＵ２０３は、受信したメッセージを中継する処理を行っており、ＥＣＵ２３０ｊから受信したメッセージの内容（例えばデータ又はヘッダ情報等）に基づいてこのメッセージの中継先を決定し、中継先と決定した通信線に対してメッセージを送信する。なお実施の形態２に係る通信システムでは、メッセージを受信したＤＣＵ２００〜２０１は、このメッセージを必ずしもすべての通信線に対して中継する必要はなく、このメッセージを必要とするＥＣＵが存在する通信線に対してメッセージを中継すればよい。またＤＣＵ２０１〜２０４は、受信メッセージを必要とするＥＣＵが自身に直接的には接続されていない場合、このメッセージをＤＣＵ２００へ送信することによって、ＤＣＵ２００及び他のＤＣＵ２０１〜２０４を介して目的のＥＣＵへメッセージを送信する。
【００８６】
実施の形態２に係る通信システムでは、全てのＤＣＵ２００〜２０４及びＥＣＵ２０３ａ〜２０３ｌが記憶部に共有情報を記憶しており、ＤＣＵ２００が所定のタイミングで共有情報の更新処理を開始する。即ち、ＤＣＵ２００は新たな共有情報を生成して自身の記憶部に記憶された共有情報を更新すると共に、共有情報の更新命令を他のＤＣＵ２０１〜２０４へ送信する。ＤＣＵ２００からの更新命令を受信したＤＣＵ２０１〜２０４はそれぞれ、自身の記憶部に記憶された共有情報を更新すると共に、ＥＣＵが接続された６つの通信線に対して共有情報の更新命令を送信する。例えばＤＣＵ２０３からの更新命令を受信したＥＣＵ２０３ａ〜２０３ｌは、自身の記憶部に記憶された共有情報を更新する。
【００８７】
また実施の形態２に係る通信システムでは、共有情報の更新から所定期間が経過するまでの間について、更新前の古い共有情報を用いて生成されたＭＡＣが付されたメッセージと、更新後の新たな共有情報を用いて生成されたＭＡＣが付されたメッセージとを正当なメッセージとして受信して中継する処理を、ＤＣＵ２００〜２０４が行う。またこのときにＤＣＵ２００〜２０４は、更新前の古い共有情報を用いて生成されたＭＡＣが付されたメッセージを受信した場合には、このメッセージのＭＡＣを、更新後の新たな共有情報を用いて生成したＭＡＣに置き換えるメッセージ修正処理を行い、修正後のメッセージを中継する。
【００８８】
図１５〜図１９は、実施の形態２に係る通信システムによるメッセージ送受信及び共有情報更新の第１例を示す模式図であり、図１５から図１９へメッセージの送受信状況などを時系列的に示してある。図１５は、更新処理を行うタイミングに至り、ＤＣＵ２００が共有情報の更新処理を開始した状況である。ＤＣＵ２００は、新たな共有情報を用いて生成し、自身が記憶している共有情報の更新処理を行う。図１５に示す状況では、ＤＣＵ２００はまだ更新命令を送信しておらず、他のＤＣＵ２０１〜２０４及びＥＣＵ２０３ａ〜２０３ｌが記憶している共有情報は、更新前の古い共有情報である。この状況において、ＥＣＵ２０３ｊが更新前の古い共有情報を用いて生成されたＭＡＣが付されたメッセージ（図中において一点鎖線の矢印で示す、以下の図面において同じ）を送信し、このメッセージがＤＣＵ２０３にて受信されたものとする。
【００８９】
次いで図１６に示す状況では、ＥＣＵ２０３ｊからのメッセージを受信したＤＣＵ２０３が、受信メッセージに含まれるＭＡＣに基づいてこのメッセージが正当なものであると判定し、このメッセージをＤＣＵ２００及びＥＣＵ２０３ａ〜２０３ｃへ中継すべく、各装置が接続された通信線へメッセージを送信している。なおこのときのＤＣＵ２０３による判定は、更新前の古い共有情報を用いて行われる。ＤＣＵ２０３が中継したメッセージは、ＤＣＵ２００及びＥＣＵ２０３ａ〜２０３ｃにて受信されている。またこのときに、ＤＣＵ２０３によるメッセージの送信より少し遅れて、ＤＣＵ２００が共有情報の更新命令をＤＣＵ２０１〜２０４へ一斉送信している（図中において破線の矢印で示す、以下の図面において同じ）。
【００９０】
次いで図１７に示す状況では、ＤＣＵ２００から共有情報の更新命令を受信したＤＣＵ２０１〜２０４が更新処理を行い、各ＤＣＵ２０１〜２０４が記憶する共有情報がＤＣＵ２００から与えられた新たな共有情報に更新される。またこのときにＤＣＵ２００は、ＤＣＵ２０３から受信した更新前の古い共有情報を用いて生成されたＭＡＣが付されたメッセージについて、共有情報の更新から所定期間が経過するまでの間に受信したものと判断し、更新後の新たな共有情報を用いてＭＡＣを生成し、受信メッセージに含まれるＭＡＣと交換することによって、メッセージ修正を行っている。
【００９１】
次いで図１８に示す状況では、共有情報の更新を終えたＤＣＵ２０１〜２０４が、自身に接続された全ての通信線（ただしＤＣＵ２００が接続された通信線を除く）に対して、共有情報の更新命令を一斉送信している。例えばＤＣＵ２０３から共有情報の更新命令を受信したＥＣＵ２０３ａ〜２０３ｌは、更新処理を開始する。またこのときに、メッセージの修正を完了したＤＣＵ２００は、修正後のメッセージをＤＣＵ２０２へ送信している（図中において二点鎖線の矢印で示す、以下の図面において同じ）。このときＤＣＵ２００から送信されるメッセージは更新後の新たな共有情報を用いて生成されたＭＡＣが付されたメッセージであり、このメッセージを受信するＤＣＵ２０２は更新処理を終えた状態であるため、自身が記憶している更新後の新たな共有情報を用いて受信メッセージの正否を判定することができる。
【００９２】
次いで図１９に示す状況では、ＤＵＣ２００からのメッセージを正当なものであると判定したＤＣＵ２０２が、このメッセージを中継している。またＤＣＵ２０１〜２０４に接続されたＥＣＵでは共有情報の更新が完了している。よってＤＣＵ２０２からのメッセージを受信したＥＣＵは、自身が記憶している更新後の新たな共有情報を用いて、受信メッセージの正否を判定することができる。
【００９３】
図２０〜図２３は、実施の形態２に係る通信システムによるメッセージ送受信及び共有情報更新の第２例を示す模式図であり、図２０から図２３へメッセージの送受信状況などを時系列的に示してある。第２例は、第１例と似た状況ではあるが、ＥＣＵ２０３ｊから更新前の古い共有情報を用いて生成されたＭＡＣが付されたメッセージをＤＣＵ２０３が受信するより早く、更新処理を完了したＤＣＵ２００からの更新命令がＤＣＵ２０３にて受信される。
【００９４】
図２０に示す状況では、更新処理を完了したＤＣＵ２００がＤＣＵ２０１〜２０４へ共有情報の更新命令を一斉送信し、これを受信したＤＣＵ２０１〜２０４にて更新処理が開始されている。このときにＥＣＵ２０３ｊは、更新前の古い共有情報を用いて生成されたＭＡＣが付されたメッセージを、ＤＣＵ２０３へ送信している。
【００９５】
次いで図２１に示す状況では、ＥＣＵ２０３ｊが送信したメッセージがＤＣＵ２０３にて受信されている。またこのメッセージの受信後又は受信と同時期に、共有情報の更新処理を完了したＤＣＵ２０１〜２０４が、ＥＣＵに対して共有情報の更新命令を一斉送信している。ＤＣＵ２０１〜２０４からの更新命令を受信したＥＣＵは、自身が記憶している共有情報の更新処理を開始する。
【００９６】
次いで図２２に示す状況では、ＤＣＵ２０３は、ＥＣＵ２０３ｊから受信した更新前の古い共有情報を用いて生成されたＭＡＣが付されたメッセージについて、共有情報の更新から所定期間が経過するまでの間に受信したものと判断し、更新後の新たな共有情報を用いてＭＡＣを生成し、受信メッセージに含まれるＭＡＣと交換することによって、メッセージ修正を行っている。
【００９７】
次いで図２３に示す状況では、メッセージの修正を完了したＤＣＵ２０３は、修正後のメッセージをＤＣＵ２００及びＥＣＵ２０３ａ〜２０３ｃへ送信している。このときＤＣＵ２０３から送信されるメッセージは更新後の新たな共有情報を用いて生成されたＭＡＣが付されたメッセージであり、このメッセージを受信するＤＣＵ２００及びＥＣＵ２０３ａ〜２０３ｃは更新処理を終えた状態であるため、自身が記憶している更新後の新たな共有情報を用いて受信メッセージの正否を判定することができる。
【００９８】
以上の構成の実施の形態２に係る通信システムは、いわゆるドメインアーキテクチャを採用した通信システムである。このような構成の通信システムであっても、実施の形態１に係る通信システムのゲートウェイ４と同様の機能、即ち共有情報の更新から所定期間が経過するまでの間は更新前の古い共有情報を用いたメッセージと更新後の新たな共有情報を用いたメッセージとの両方を正当なメッセージと判定する機能をＤＣＵ２００〜２０４が備えることによって、値が変化する共有情報を用いたメッセージ送受信を実現できる。
【００９９】
なお実施の形態２においては、中継装置であるＤＣＵ２００〜２０４が有情報の更新から所定期間が経過するまでの間は更新前の古い共有情報を用いたメッセージと更新後の新たな共有情報を用いたメッセージとの両方を正当なメッセージと判定する機能を備える構成としたが、これに限るものではない。実施の形態１の変形例にて説明したように、ＥＣＵ２０３ａ〜２０３ｌがこの機能を備える構成としてもよい。また図１４〜図２３に示した通信システムの構成、メッセージ又は更新命令の送信タイミング等は、一例であって、これに限るものではない。
【符号の説明】
【０１００】
１  車両
１ａ，１ｂ  通信線
２、２ａ，２ｂ  ＥＣＵ（通信装置）
４  ゲートウェイ（中継装置）
２１  処理部
２１ａ  メッセージ生成部
２１ｂ  メッセージ判定部（判定部）
２１ｃ  更新処理部（更新部）
２２  記憶部
２２ａ  暗号鍵
２２ｂ  共有情報
２３  通信部（メッセージ送信部、メッセージ受信部）
４１  処理部
４１ａ  メッセージ生成部
４１ｂ  メッセージ判定部（判定部）
４１ｃ  更新処理部（更新部）
４１ｄ  更新命令送信部
４１ｅ  メッセージ修正部
４２  記憶部
４２ａ  暗号鍵
４２ｂ  共有情報
４２ｃ  共有情報
４３  通信部（メッセージ送信部、メッセージ受信部）
２００〜２０４  ＤＣＵ（中継装置）
２０３ａ〜２０３ｌ  ＥＣＵ（通信装置）
【図１】
2018050183.tif 000003
【図２】
2018050183.tif 000004
【図３】
2018050183.tif 000005
【図４】
2018050183.tif 000006
【図５】
2018050183.tif 000007
【図６】
2018050183.tif 000008
【図７】
2018050183.tif 000009
【図８】
2018050183.tif 000010
【図９】
2018050183.tif 000011
【図１０】
2018050183.tif 000012
【図１１】
2018050183.tif 000013
【図１２】
2018050183.tif 000014
【図１３】
2018050183.tif 000015
【図１４】
2018050183.tif 000016
【図１５】
2018050183.tif 000017
【図１６】
2018050183.tif 000018
【図１７】
2018050183.tif 000019
【図１８】
2018050183.tif 000020
【図１９】
2018050183.tif 000021
【図２０】
2018050183.tif 000022
【図２１】
2018050183.tif 000023
【図２２】
2018050183.tif 000024
【図２３】
2018050183.tif 000025