(57)【要約】【課題】異なるセキュリティレベルが設定された複数の装置が混在することを可能とする車載通信システム、車載通信制御装置、車載通信装置、コンピュータプログラム、通信制御方法及び通信方法を提供する。【解決手段】本実施の形態に係る車載通信システムでは、複数の車載通信装置は複数のセキュリティレベルに分類され、セキュリティレベル毎に共通鍵が定められる。車載通信装置は、自身のセキュリティレベルに応じた共通鍵を記憶し、送信するメッセージに対して共通鍵を用いて生成した認証子を付し、受信したメッセージに付された認証子の正否を共通鍵を用いて判定する。車載通信制御装置は、各セキュリティレベルの共通鍵を記憶し、受信したメッセージに付された認証子の正否を、対応する共通鍵を用いて判定し、認証子が正しくないと判定した場合に、当該判定にて用いた共通鍵を記憶していない車載通信装置に対して通知を行う。【選択図】図３
2020113852.tif 000002
【特許請求の範囲】
【請求項１】
共通の通信線に接続される複数の車載通信装置と、前記共通の通信線に接続され、前記複数の車載通信装置の通信に係る制御を行う車載通信制御装置とを備える車載通信システムであって、
前記複数の車載通信装置は複数のセキュリティレベルに分類され、前記セキュリティレベル毎に共通鍵が定められており、
前記車載通信装置は、
自身のセキュリティレベルに応じた共通鍵を記憶する第１記憶部と、
前記第１記憶部に記憶された共通鍵を用いて、送信するメッセージに対して付す認証子を生成する第１認証子生成部と、
受信したメッセージに付された認証子の正否を前記第１記憶部に記憶された共通鍵を用いて判定する第１認証子判定部と
を有し、
前記車載通信制御装置は、
各セキュリティレベルの共通鍵を記憶する第２記憶部と、
受信したメッセージに付された認証子の正否を、前記第２記憶部に記憶された対応する共通鍵を用いて判定する第２認証子判定部と、
受信したメッセージに付された認証子が正しくないと前記第２認証子判定部が判定した場合に、当該判定にて前記第２認証子判定部が用いた共通鍵を記憶していない車載通信装置に対して通知を行う第２通知部と
を有する、車載通信システム。
【請求項２】
メッセージには複数の認証子を付すことが可能であり、
前記車載通信装置は、自身のセキュリティレベルに対して定められた共通鍵と、当該セキュリティレベルより低いセキュリティレベルに対して定められた共通鍵とを前記第１記憶部に記憶し、
前記第１認証子生成部は、前記第１記憶部に記憶された一又は複数の共通鍵を用いて、送信するメッセージに対して付す一又は複数の認証子を生成する、請求項１に記載の車載通信システム。
【請求項３】
前記車載通信装置の第１認証子判定部は、受信したメッセージに付された認証子のうち、自身の第１記憶部に記憶された一又は複数の共通鍵を用いて正否を判定可能な認証子について判定を行う、請求項２に記載の車載通信システム。
【請求項４】
メッセージには１つの認証子が付され、
前記車載通信装置は、自身のセキュリティレベルに対して定められた１つの共通鍵を前記第１記憶部に記憶し、
前記第１認証子生成部は、前記第１記憶部に記憶された１つの共通鍵を用いて、送信する他メッセージに対して付す１つの認証子を生成する、請求項１に記載の車載通信システム。
【請求項５】
前記車載通信制御装置は、
前記第２認証子判定部が受信したメッセージに付された認証子が正しいと判定した場合に、当該認証子の判定に用いられた共通鍵とは異なる共通鍵を用いて、別の認証子を生成する第２認証子生成部と、
前記受信したメッセージに前記第２認証子生成部が生成した別の認証子を付して送信することで、異なるセキュリティレベルの車載通信装置間のメッセージ送受信を中継する中継部と
を有する、請求項４に記載の車載通信システム。
【請求項６】
前記車載通信装置は、受信したメッセージに付された認証子が正しくないと前記第１認証子判定部が判定した場合に、前記車載通信制御装置に対して通知を行う第１通知部を有し、
前記車載通信制御装置の前記第２通知部は、受信したメッセージに付された認証子が正しくないと前記第２認証子判定部が判定し、且つ、前記車載通信装置の前記第１通知部からの通知を受けた場合に、通知を行う、請求項１乃至請求項５のいずれか１つに記載の車載通信システム。
【請求項７】
前記車載通信装置は、周期的にキープアライブ信号を前記共通の通信線に対して送信しており、
前記第１通知部は、前記キープアライブ信号にて前記車載通信制御装置に対する通知を行う、請求項６に記載の車載通信システム。
【請求項８】
共通の通信線に接続される複数の車載通信装置と、前記共通の通信線に接続され、前記複数の車載通信装置の通信に係る制御を行う車載通信制御装置とを備える車載通信システムであって、
前記車載通信装置毎に暗号鍵が定められており、
前記車載通信装置は、
自身に対して定められた暗号鍵を記憶する第１記憶部と、
前記第１記憶部に記憶された暗号鍵を用いて、送信するメッセージに対して付す認証子を生成する第１認証子生成部と
を有し、
前記車載通信制御装置は、
各車載通信装置の暗号鍵を記憶する第２記憶部と、
受信したメッセージに付された認証子の正否を、前記第２記憶部に記憶された対応する暗号鍵を用いて判定する第２認証子判定部と
を有する、車載通信システム。
【請求項９】
前記車載通信装置は、受信したメッセージに付された認証子の正否を前記第１記憶部に記憶された暗号鍵を用いて判定する第１認証子判定部を有し、
前記車載通信制御装置は、
前記第２認証子判定部が受信したメッセージに付された認証子が正しいと判定した場合に、当該認証子の判定に用いられた暗号鍵とは異なる暗号鍵を用いて、別の認証子を生成する第２認証子生成部と、
前記受信したメッセージに前記第２認証子生成部が生成した別の認証子を付して送信することで、異なるセキュリティレベルの車載通信装置間のメッセージ送受信を中継する中継部と
を有する、請求項８に記載の車載通信システム。
【請求項１０】
前記車載通信制御装置は、
前記第２認証子判定部による判定をメッセージの送信完了前に行い、
前記メッセージに付された認証子が正しくないと前記第２認証子判定部が判定した場合に、当該メッセージの送信完了前に、前記車載通信装置に当該メッセージを破棄させる処理を行う破棄処理部を有する、請求項８に記載の車載通信システム。
【請求項１１】
複数の車載通信装置が接続される共通の通信線に接続され、前記複数の車載通信装置の通信に係る制御を行う車載通信制御装置であって、
前記複数の車載通信装置は複数のセキュリティレベルに分類され、前記セキュリティレベル毎に共通鍵が定められており、
各セキュリティレベルの共通鍵を記憶する記憶部と、
受信したメッセージに付された認証子の正否を、前記記憶部に記憶された対応する共通鍵を用いて判定する認証子判定部と、
受信したメッセージに付された認証子が正しくないと前記認証子判定部が判定した場合に、当該判定にて前記認証子判定部が用いた共通鍵を記憶していない車載通信装置に対して通知を行う通知部と
を備える車載通信制御装置。
【請求項１２】
前記認証子判定部が受信したメッセージに付された認証子が正しいと判定した場合に、当該認証子の判定に用いられた共通鍵とは異なる共通鍵を用いて、別の認証子を生成する認証子生成部と、
前記受信したメッセージに前記認証子生成部が生成した別の認証子を付して送信することで、異なるセキュリティレベルの車載通信装置間のメッセージ送受信を中継する中継部と
を備える、請求項１１に記載の車載通信制御装置。
【請求項１３】
前記車載通信装置は、受信したメッセージに付された認証子が正しくないと判定した場合に通知を行い、
前記通知部は、受信したメッセージに付された認証子が正しくないと前記認証子判定部が判定し、且つ、前記車載通信装置からの通知を受けた場合に、通知を行う、請求項１１又は請求項１２に記載の車載通信制御装置。
【請求項１４】
共通の通信線に接続される車載通信装置であって、
前記共通の通信線に接続される複数の車載通信装置は複数のセキュリティレベルに分類され、前記セキュリティレベル毎に共通鍵が定められており、
自身のセキュリティレベルに応じた共通鍵を記憶する記憶部と、
前記記憶部に記憶された共通鍵を用いて、送信するメッセージに対して付す認証子を生成する認証子生成部と、
受信したメッセージに付された認証子の正否を前記記憶部に記憶された共通鍵を用いて判定する認証子判定部と、
受信したメッセージに付された認証子が正しくないと前記認証子判定部が判定した場合に、前記共通の通信線に接続された他の装置に対して通知を行う通知部と
を備える、車載通信装置。
【請求項１５】
前記通知部は、前記共通の通信線に対して周期的に送信するキープアライブ信号にて通知を行う、請求項１４に記載の車載通信装置。
【請求項１６】
メッセージには複数の認証子を付すことが可能であり、
前記記憶部は、自身のセキュリティレベルに対して定められた共通鍵と、当該セキュリティレベルより低いセキュリティレベルに対して定められた共通鍵と記憶し、
前記認証子生成部は、前記記憶部に記憶された一又は複数の共通鍵を用いて、送信するメッセージに対して付す一又は複数の認証子を生成する、請求項１４又は請求項１５に記載の車載通信装置。
【請求項１７】
前記認証子判定部は、受信したメッセージに付された認証子のうち、自身の記憶部に記憶された一又は複数の共通鍵を用いて正否を判定可能な認証子について判定を行う、請求項１６に記載の車載通信装置。
【請求項１８】
メッセージには１つの認証子が付され、
前記記憶部は、自身のセキュリティレベルに対して定められた１つの共通鍵を記憶し、
前記認証子生成部は、前記記憶部に記憶された１つの共通鍵を用いて、送信する他メッセージに対して付す１つの認証子を生成する、請求項１４又は請求項１５に記載の車載通信装置。
【請求項１９】
複数の車載通信装置が接続される共通の通信線に接続される車載通信制御装置に、前記複数の車載通信装置の通信に係る制御を行わせるコンピュータプログラムであって、
前記複数の車載通信装置は複数のセキュリティレベルに分類され、前記セキュリティレベル毎に共通鍵が定められており、各セキュリティレベルの共通鍵を記憶部に記憶しておき、
前記車載通信制御装置に、
受信したメッセージに付された認証子の正否を、前記記憶部に記憶された対応する共通鍵を用いて判定し、
受信したメッセージに付された認証子が正しくないと判定した場合に、当該判定にて用いた共通鍵を記憶していない車載通信装置に対して通知を行う
処理を実行させる、コンピュータプログラム。
【請求項２０】
共通の通信線に接続される車載通信装置に、通信に係る処理を行わせるコンピュータプログラムであって、
前記共通の通信線に接続される複数の車載通信装置は複数のセキュリティレベルに分類され、前記セキュリティレベル毎に共通鍵が定められており、自身のセキュリティレベルに応じた共通鍵を記憶部に記憶しておき、
前記記憶部に記憶された共通鍵を用いて、送信するメッセージに対して付す認証子を生成し、
受信したメッセージに付された認証子の正否を前記記憶部に記憶された共通鍵を用いて判定し、
受信したメッセージに付された認証子が正しくないと判定した場合に、前記共通の通信線に接続された他の装置に対して通知を行う
処理を実行させる、コンピュータプログラム。
【請求項２１】
複数の車載通信装置が接続される共通の通信線に接続される車載通信制御装置が、前記複数の車載通信装置の通信に係る制御を行う通信制御方法であって、
前記複数の車載通信装置は複数のセキュリティレベルに分類され、前記セキュリティレベル毎に共通鍵が定められており、
各セキュリティレベルの共通鍵を記憶部に記憶しておき、
受信したメッセージに付された認証子の正否を、前記記憶部に記憶された対応する共通鍵を用いて判定し、
受信したメッセージに付された認証子が正しくないと判定した場合に、当該判定にて用いた共通鍵を記憶していない車載通信装置に対して通知を行う、
通信制御方法。
【請求項２２】
共通の通信線に接続される車載通信装置が通信に係る処理を行う通信方法であって、
前記共通の通信線に接続される複数の車載通信装置は複数のセキュリティレベルに分類され、前記セキュリティレベル毎に共通鍵が定められており、
自身のセキュリティレベルに応じた共通鍵を記憶部に記憶しておき、
前記記憶部に記憶された共通鍵を用いて、送信するメッセージに対して付す認証子を生成し、
受信したメッセージに付された認証子の正否を前記記憶部に記憶された共通鍵を用いて判定し、
受信したメッセージに付された認証子が正しくないと判定した場合に、前記共通の通信線に接続された他の装置に対して通知を行う、
通信方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、車両に搭載された複数の装置が通信を行う車載通信システム、車載通信制御装置、車載通信装置、コンピュータプログラム、通信制御方法及び通信方法に関する。
【背景技術】
【０００２】
近年、車両の自動運転又は運転補助等の技術が研究開発されており、車両の高機能化が推し進められている。車両の高機能化に伴って、車両に搭載されるＥＣＵ（Electronic Control Unit）などの装置においては、ハードウェア及びソフトウェアが高機能化及び複雑化している。これに対して、車両システムに不正な装置又はソフトウェアの注入を行うことによって、例えば車両の乗っ取りなどの攻撃が行われ得るという問題がある。車両に対する不正な攻撃を防ぐため、例えば通信の暗号化などの種々の対策が検討されている。
【０００３】
特許文献１においては、共通のＣＡＮ（Controller Area Network）バスに対して複数のＥＣＵと監視装置とが接続され、各ＥＣＵが認証情報を付した送信フレームをＣＡＮバスへ出力し、監視装置がＣＡＮバスへ出力されたフレームの認証情報の正否を判定して、認証情報が正しくないと判定したフレームをＥＣＵに破棄させる処理を行う通信システムが記載されている。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特開２０１６−２１６２３号公報
【発明の概要】
【発明が解決しようとする課題】
【０００５】
特許文献１に記載の通信システムのように、共通の通信線に接続された各装置がメッセージに認証子等の情報を付して送信することがセキュリティの性能向上に有効である。しかし、車両に搭載される装置の増加及び高機能化等に伴い、装置毎に要求されるセキュリティレベルに差異が生じることが予想される。これまでは、車両内で異なるセキュリティレベルが設定された複数の装置が混在する状況は想定されていなかった。
【０００６】
本発明は、斯かる事情に鑑みてなされたものであって、その目的とするところは、異なるセキュリティレベルが設定された複数の装置が混在することを可能とする車載通信システム、車載通信制御装置、車載通信装置、コンピュータプログラム、通信制御方法及び通信方法を提供することにある。
【課題を解決するための手段】
【０００７】
本態様に係る車載通信システムは、共通の通信線に接続される複数の車載通信装置と、前記共通の通信線に接続され、前記複数の車載通信装置の通信に係る制御を行う車載通信制御装置とを備える車載通信システムであって、前記複数の車載通信装置は複数のセキュリティレベルに分類され、前記セキュリティレベル毎に共通鍵が定められており、前記車載通信装置は、自身のセキュリティレベルに応じた共通鍵を記憶する第１記憶部と、前記第１記憶部に記憶された共通鍵を用いて、送信するメッセージに対して付す認証子を生成する第１認証子生成部と、受信したメッセージに付された認証子の正否を前記第１記憶部に記憶された共通鍵を用いて判定する第１認証子判定部とを有し、前記車載通信制御装置は、各セキュリティレベルの共通鍵を記憶する第２記憶部と、受信したメッセージに付された認証子の正否を、前記第２記憶部に記憶された対応する共通鍵を用いて判定する第２認証子判定部と、受信したメッセージに付された認証子が正しくないと前記第２認証子判定部が判定した場合に、当該判定にて前記第２認証子判定部が用いた共通鍵を記憶していない車載通信装置に対して通知を行う第２通知部とを有する。
【０００８】
なお、本願は、このような特徴的な処理部を備える車載通信制御装置又は車載通信装置として実現することができるだけでなく、かかる特徴的な処理をステップとする通信制御方法又は通信方法として実現したり、かかるステップをコンピュータに実行させるためのコンピュータプログラムとして実現したりすることができる。また、車載通信制御装置又は車載通信装置の一部又は全部を実現する半導体集積回路として実現したり、車載通信制御装置又は車載通信装置を含むその他の装置又はシステムとして実現したりすることができる。
【発明の効果】
【０００９】
上記によれば、異なるセキュリティレベルが設定された複数の装置が混在することが可能となる。
【図面の簡単な説明】
【００１０】
【図１】本実施の形態に係る車載通信システムの概要を説明するための模式図である。
【図２】本実施の形態に係る車載通信システムの概要を説明するための模式図である。
【図３】ＤＣ及びＥＣＵによるメッセージ送受信の一例を示す模式図である。
【図４】ＤＣからＥＣＵへの通知の一例を示す模式図である。
【図５】本実施の形態に係るＤＣの構成を示すブロック図である。
【図６】テーブルに記憶される暗号鍵に関する情報の一例を示す模式図である。
【図７】本実施の形態に係るＥＣＵの構成を示すブロック図である。
【図８】ＤＣの通知メッセージの送信タイミングを説明するための模式図である。
【図９】本実施の形態に係るＥＣＵが行うメッセージの受信処理の手順を示すフローチャートである。
【図１０】本実施の形態に係るＥＣＵが行うキープアライブ信号の送信処理の手順を示すフローチャートである。
【図１１】本実施の形態に係るＤＣが行う通知メッセージの送信処理の手順を示すフローチャートである。
【図１２】本実施の形態に係るＤＣが行う通知メッセージの送信処理の手順を示すフローチャートである。
【図１３】実施の形態２に係るＤＣ及びＥＣＵによるメッセージ送受信の一例を示す模式図である。
【図１４】実施の形態２に係るＤＣが行う処理の手順を示すフローチャートである。
【図１５】実施の形態３に係るＤＣ及びＥＣＵによるメッセージ送受信の一例を示す模式図である。
【図１６】実施の形態３に係るＤＣによるメッセージの破棄を説明するための模式図である。
【図１７】実施の形態３に係るＤＣが行う処理の手順を示すフローチャートである。
【発明を実施するための形態】
【００１１】
［本発明の実施の形態の説明］
最初に本発明の実施態様を列記して説明する。また、以下に記載する実施形態の少なくとも一部を任意に組み合わせてもよい。
【００１２】
（１）本態様に係る車載通信システムは、共通の通信線に接続される複数の車載通信装置と、前記共通の通信線に接続され、前記複数の車載通信装置の通信に係る制御を行う車載通信制御装置とを備える車載通信システムであって、前記複数の車載通信装置は複数のセキュリティレベルに分類され、前記セキュリティレベル毎に共通鍵が定められており、前記車載通信装置は、自身のセキュリティレベルに応じた共通鍵を記憶する第１記憶部と、前記第１記憶部に記憶された共通鍵を用いて、送信するメッセージに対して付す認証子を生成する第１認証子生成部と、受信したメッセージに付された認証子の正否を前記第１記憶部に記憶された共通鍵を用いて判定する第１認証子判定部とを有し、前記車載通信制御装置は、各セキュリティレベルの共通鍵を記憶する第２記憶部と、受信したメッセージに付された認証子の正否を、前記第２記憶部に記憶された対応する共通鍵を用いて判定する第２認証子判定部と、受信したメッセージに付された認証子が正しくないと前記第２認証子判定部が判定した場合に、当該判定にて前記第２認証子判定部が用いた共通鍵を記憶していない車載通信装置に対して通知を行う第２通知部とを有する。
【００１３】
本態様にあっては、共通の通信線に車載通信制御装置と複数の車載通信装置とが接続される。複数の車載通信装置は、複数のセキュリティレベルに分類され、セキュリティレベル毎に共通鍵が定められる。各車載通信装置は、自身のセキュリティレベルに応じた共通鍵を記憶しておき、記憶した共通鍵を用いて生成した認証子をメッセージに付して送信すると共に、受信したメッセージに付された認証子の正否を判定する。異なる共通鍵を用いて生成した認証子が付されたメッセージが共通の通信線にて送受信されるため、各車載通信装置は、自身の共通鍵と同じ共通鍵で生成された認証子が付されたメッセージの正否を判定できるが、自身の共通鍵と異なる共通鍵で生成された認証子が付されたメッセージの正否は判定できない。
車載通信制御装置は、各セキュリティレベルの共通鍵を記憶しておき、受信したメッセージに付された認証子に対応する共通鍵を用いて判定を行う。よって車載通信制御装置は、共通の通信線を介して送受信される全てのメッセージについて、メッセージに付された認証子の正否を判定できる。車載通信制御装置は、正しくない認証子が付されたメッセージを受信した場合、この認証子の判定に用いた共通鍵を記憶していない車載通信装置に対する通知を行う。
これにより各車載通信装置は、自身が記憶している共通鍵で認証子の正否を判定できるメッセージについては自身で判定を行い、自身で判定できないメッセージについては車載通信制御装置からの通知を受けることで、共通の通信線に正しくないメッセージが送信されたことを判断できるため、異なるセキュリティレベルの車載通信装置の混在が可能となる。
【００１４】
（２）メッセージには複数の認証子を付すことが可能であり、前記車載通信装置は、自身のセキュリティレベルに対して定められた共通鍵と、当該セキュリティレベルより低いセキュリティレベルに対して定められた共通鍵とを前記第１記憶部に記憶し、前記第１認証子生成部は、前記第１記憶部に記憶された一又は複数の共通鍵を用いて、送信するメッセージに対して付す一又は複数の認証子を生成することが好ましい。
【００１５】
本態様にあっては、メッセージに対して複数の認証子を付すことが可能である。車載通信装置は、自身のセキュリティレベルに対して定められた共通鍵と、自身のセキュリティレベルより低いセキュリティレベルに対して定められた共通鍵とを記憶しておく。複数の共通鍵を記憶している車載通信装置は、この複数の共通鍵を用いて複数の認証子を生成し、生成した複数の認証子をメッセージに付して送信する。これにより車載通信装置は、自身と同じセキュリティレベルの車載通信装置と、これより低いセキュリティレベルの車載通信装置とにメッセージを送信することが可能となる。
【００１６】
（３）前記車載通信装置の第１認証子判定部は、受信したメッセージに付された認証子のうち、自身の第１記憶部に記憶された一又は複数の共通鍵を用いて正否を判定可能な認証子について判定を行うことが好ましい。
【００１７】
本態様にあっては、複数の認証子が付されたメッセージを受信した車載通信装置は、自身が記憶している共通鍵を用いて正否を判定可能な少なくとも１つの認証子について正否判定を行う。これにより車載通信装置は、自身のセキュリティレベルより高いセキュリティレベルの車載通信装置が送信したメッセージであっても、自身が記憶している共通鍵で正否を判定可能な識別子が付されたメッセージであれば、メッセージの正否を判定して受信することが可能となる。よって、共通の通信線に接続された複数の車載通信装置は、異なるセキュリティレベルの車載通信装置を含む複数の車載通信装置に対して、メッセージの一斉送信（ブロードキャスト）を行うことが可能である。
【００１８】
（４）メッセージには１つの認証子が付され、前記車載通信装置は、自身のセキュリティレベルに対して定められた１つの共通鍵を前記第１記憶部に記憶し、前記第１認証子生成部は、前記第１記憶部に記憶された１つの共通鍵を用いて、送信する他メッセージに対して付す１つの認証子を生成することが好ましい。
【００１９】
本態様にあっては、メッセージに対して１つの認証子が付される。車載通信装置は、自身のセキュリティレベルに対して定められた１つの共通鍵を記憶しておき、この共通鍵を用いて１つの認証子を生成し、生成した１つの認証子をメッセージに付して送信する。これにより、各車載通信装置の構成を容易化することができる。また異なるセキュリティレベルの車載通信装置を分離して扱うことが容易化される。
【００２０】
（５）前記車載通信制御装置は、前記第２認証子判定部が受信したメッセージに付された認証子が正しいと判定した場合に、当該認証子の判定に用いられた共通鍵とは異なる共通鍵を用いて、別の認証子を生成する第２認証子生成部と、前記受信したメッセージに前記第２認証子生成部が生成した別の認証子を付して送信することで、異なるセキュリティレベルの車載通信装置間のメッセージ送受信を中継する中継部とを有することが好ましい。
【００２１】
本態様にあっては、各共通鍵を記憶している車載通信制御装置が、車載通信装置が送信したメッセージを受信して正否を判定し、正しいと判定したメッセージに対して判定に用いた共通鍵とは異なる共通鍵を用いて生成した識別を付し、新たな識別子が付されたメッセージを共通の通信線に対して送信する。これにより車載通信制御装置は、セキュリティレベルが異なる車載通信装置間のメッセージの送受信を中継することが可能となる。各車載通信装置は、車載通信制御装置を介して、共通の通信線に接続された全ての車載通信装置に対してメッセージを送信することが可能となる。
【００２２】
（６）前記車載通信装置は、受信したメッセージに付された認証子が正しくないと前記第１認証子判定部が判定した場合に、前記車載通信制御装置に対して通知を行う第１通知部を有し、前記車載通信制御装置の前記第２通知部は、受信したメッセージに付された認証子が正しくないと前記第２認証子判定部が判定し、且つ、前記車載通信装置の前記第１通知部からの通知を受けた場合に、通知を行うことが好ましい。
【００２３】
本態様にあっては、受信したメッセージに付された認証子が正しくないと判定した場合、各車載通信装置は車載通信制御装置に対する通知を行う。車載通信制御装置は、自身にてメッセージに付された認証子が正しくないと判定し、且つ、車載通信装置からの通知を受けた場合に、他の車載通信装置への通知を行う。これにより、車載通信制御装置から車載通信装置への通知の信頼性を高めることができる。
【００２４】
（７）前記車載通信装置は、周期的にキープアライブ信号を前記共通の通信線に対して送信しており、前記第１通知部は、前記キープアライブ信号にて前記車載通信制御装置に対する通知を行うことが好ましい。
【００２５】
本態様にあっては、車載通信装置から車載通信制御装置への通知を、車載通信装置が周期的に送信するキープアライブ信号を用いて行う。これにより車載通信装置から車載通信制御装置への通知が、通常のメッセージ送受信を阻害することを抑制できる。車載通信制御装置は、キープアライブ信号に含まれる情報を基に通信に関する異常を検出することができ、またキープアライブ信号が受信されない場合にも何らかの異常の発生を検出することができる。
【００２６】
（８）本態様に係る車載通信システムは、共通の通信線に接続される複数の車載通信装置と、前記共通の通信線に接続され、前記複数の車載通信装置の通信に係る制御を行う車載通信制御装置とを備える車載通信システムであって、前記車載通信装置毎に暗号鍵が定められており、前記車載通信装置は、自身に対して定められた暗号鍵を記憶する第１記憶部と、前記第１記憶部に記憶された暗号鍵を用いて、送信するメッセージに対して付す認証子を生成する第１認証子生成部とを有し、前記車載通信制御装置は、各車載通信装置の暗号鍵を記憶する第２記憶部と、受信したメッセージに付された認証子の正否を、前記第２記憶部に記憶された対応する暗号鍵を用いて判定する第２認証子判定部とを有する。
【００２７】
本態様にあっては、共通の通信線に接続された複数の車載通信装置に対し、個別の暗号鍵（共通鍵であってもよく、秘密鍵及び公開鍵であってもよい）が定められる。車載通信装置は、自身に定められた暗号鍵を記憶しておき、この暗号鍵を用いて生成した認証子をメッセージに付して送信する。車載通信制御装置は、共通の通信線に接続された各車載通信装置に対して定められた各暗号鍵を記憶しておき、受信したメッセージに付された認証子の正否を、記憶したいずれかの暗号鍵を用いて判定する。これにより、共通の通信線に接続された複数の車載通信装置がセキュリティ的に個別に分離され、各車載通信装置が車載通信制御装置とそれぞれ個別にメッセージの送受信を行う態様となるため、セキュリティを高めることができる。
【００２８】
（９）前記車載通信装置は、受信したメッセージに付された認証子の正否を前記第１記憶部に記憶された暗号鍵を用いて判定する第１認証子判定部を有し、前記車載通信制御装置は、前記第２認証子判定部が受信したメッセージに付された認証子が正しいと判定した場合に、当該認証子の判定に用いられた暗号鍵とは異なる暗号鍵を用いて、別の認証子を生成する第２認証子生成部と、前記受信したメッセージに前記第２認証子生成部が生成した別の認証子を付して送信することで、異なるセキュリティレベルの車載通信装置間のメッセージ送受信を中継する中継部とを有することが好ましい。
【００２９】
本態様にあっては、各車載通信装置が自身の暗号鍵を用いて、受信したメッセージに付された認証子の正否を判定する。車載通信制御装置は、受信したメッセージに付された認証子が正しいと判定した場合、判定に用いた暗号鍵とは異なる暗号鍵を用いて認証子を生成し、生成した認証子を付したメッセージを送信する。これにより車載通信制御装置は、車載通信装置間のメッセージの送受信を中継することができる。車載通信装置は、車載通信制御装置を介することで他の車載通信装置との間でメッセージを送受信することができる。
【００３０】
（１０）前記車載通信制御装置は、前記第２認証子判定部による判定をメッセージの送信完了前に行い、前記メッセージに付された認証子が正しくないと前記第２認証子判定部が判定した場合に、当該メッセージの送信完了前に、前記車載通信装置に当該メッセージを破棄させる処理を行う破棄処理部を有することが好ましい。
【００３１】
本態様にあっては、車載通信装置のメッセージの送信完了前に、車載通信制御装置がこのメッセージに付された認証子の正否を判定する。車載通信制御装置は、認証子が正しくないと判定した場合、このメッセージの送信完了前に、共通の通信線に接続された複数の車載通信装置に対して、このメッセージを破棄させる処理を行う。これにより各車載通信装置は、メッセージに付された認証子の正否を判定する必要がなく、車載通信制御装置により破棄させられなかったメッセージについて認証子の正否を判定することなく受信してその後の処理に用いることができる。
【００３２】
（１１）本態様に係る車載通信制御装置は、複数の車載通信装置が接続される共通の通信線に接続され、前記複数の車載通信装置の通信に係る制御を行う車載通信制御装置であって、前記複数の車載通信装置は複数のセキュリティレベルに分類され、前記セキュリティレベル毎に共通鍵が定められており、各セキュリティレベルの共通鍵を記憶する記憶部と、受信したメッセージに付された認証子の正否を、前記記憶部に記憶された対応する共通鍵を用いて判定する認証子判定部と、受信したメッセージに付された認証子が正しくないと前記認証子判定部が判定した場合に、当該判定にて前記認証子判定部が用いた共通鍵を記憶していない車載通信装置に対して通知を行う通知部とを備える。
【００３３】
本態様にあっては、態様（１）と同様に、異なるセキュリティレベルの車載通信装置の混在が可能となる。
【００３４】
（１２）前記認証子判定部が受信したメッセージに付された認証子が正しいと判定した場合に、当該認証子の判定に用いられた共通鍵とは異なる共通鍵を用いて、別の認証子を生成する認証子生成部と、前記受信したメッセージに前記認証子生成部が生成した別の認証子を付して送信することで、異なるセキュリティレベルの車載通信装置間のメッセージ送受信を中継する中継部とを備えることが好ましい。
【００３５】
本態様にあっては、態様（５）と同様に、セキュリティレベルが異なる車載通信装置間のメッセージの送受信を車載通信制御装置が中継することが可能となる。
【００３６】
（１３）前記車載通信装置は、受信したメッセージに付された認証子が正しくないと判定した場合に通知を行い、前記通知部は、受信したメッセージに付された認証子が正しくないと前記認証子判定部が判定し、且つ、前記車載通信装置からの通知を受けた場合に、通知を行うことが好ましい。
【００３７】
本態様にあっては、態様（６）と同様に、車載通信制御装置から車載通信装置への通知の信頼性を高めることができる。
【００３８】
（１４）本態様に係る車載通信装置は、共通の通信線に接続される車載通信装置であって、前記共通の通信線に接続される複数の車載通信装置は複数のセキュリティレベルに分類され、前記セキュリティレベル毎に共通鍵が定められており、自身のセキュリティレベルに応じた共通鍵を記憶する記憶部と、前記記憶部に記憶された共通鍵を用いて、送信するメッセージに対して付す認証子を生成する認証子生成部と、受信したメッセージに付された認証子の正否を前記記憶部に記憶された共通鍵を用いて判定する認証子判定部と、受信したメッセージに付された認証子が正しくないと前記認証子判定部が判定した場合に、前記共通の通信線に接続された他の装置に対して通知を行う通知部とを備える。
【００３９】
本態様にあっては、態様（６）と同様に、車載通信制御装置から車載通信装置への通知の信頼性を高めることができる。
【００４０】
（１５）前記通知部は、前記共通の通信線に対して周期的に送信するキープアライブ信号にて通知を行うことが好ましい。
【００４１】
本態様にあっては、態様（７）と同様に、これにより車載通信装置から車載通信制御装置への通知が、通常のメッセージ送受信を阻害することを抑制できる。
【００４２】
（１６）メッセージには複数の認証子を付すことが可能であり、前記記憶部は、自身のセキュリティレベルに対して定められた共通鍵と、当該セキュリティレベルより低いセキュリティレベルに対して定められた共通鍵と記憶し、前記認証子生成部は、前記記憶部に記憶された一又は複数の共通鍵を用いて、送信するメッセージに対して付す一又は複数の認証子を生成することが好ましい。
【００４３】
本態様にあっては、態様（２）と同様に、車載通信装置は、自身と同じセキュリティレベルの車載通信装置と、これより低いセキュリティレベルの車載通信装置とにメッセージを送信することが可能となる。
【００４４】
（１７）前記認証子判定部は、受信したメッセージに付された認証子のうち、自身の記憶部に記憶された一又は複数の共通鍵を用いて正否を判定可能な認証子について判定を行うことが好ましい。
【００４５】
本態様にあっては、態様（３）と同様に、共通の通信線に接続された複数の車載通信装置は、異なるセキュリティレベルの車載通信装置を含む複数の車載通信装置に対して、メッセージの一斉送信（ブロードキャスト）を行うことが可能である。
【００４６】
（１８）メッセージには１つの認証子が付され、前記記憶部は、自身のセキュリティレベルに対して定められた１つの共通鍵を記憶し、前記認証子生成部は、前記記憶部に記憶された１つの共通鍵を用いて、送信する他メッセージに対して付す１つの認証子を生成することが好ましい。
【００４７】
本態様にあっては、態様（４）と同様に、各車載通信装置の構成を容易化することができ、異なるセキュリティレベルの車載通信装置を分離して扱うことが容易化される。
【００４８】
（１９）本態様に係るコンピュータプログラムは、複数の車載通信装置が接続される共通の通信線に接続される車載通信制御装置に、前記複数の車載通信装置の通信に係る制御を行わせるコンピュータプログラムであって、前記複数の車載通信装置は複数のセキュリティレベルに分類され、前記セキュリティレベル毎に共通鍵が定められており、各セキュリティレベルの共通鍵を記憶部に記憶しておき、前記車載通信制御装置に、受信したメッセージに付された認証子の正否を、前記記憶部に記憶された対応する共通鍵を用いて判定し、受信したメッセージに付された認証子が正しくないと判定した場合に、当該判定にて用いた共通鍵を記憶していない車載通信装置に対して通知を行う処理を実行させる。
【００４９】
本態様にあっては、態様（１１）と同様に、異なるセキュリティレベルの車載通信装置の混在が可能となる。
【００５０】
（２０）本態様に係るコンピュータプログラムは、共通の通信線に接続される車載通信装置に、通信に係る処理を行わせるコンピュータプログラムであって、前記共通の通信線に接続される複数の車載通信装置は複数のセキュリティレベルに分類され、前記セキュリティレベル毎に共通鍵が定められており、自身のセキュリティレベルに応じた共通鍵を記憶部に記憶しておき、前記記憶部に記憶された共通鍵を用いて、送信するメッセージに対して付す認証子を生成し、受信したメッセージに付された認証子の正否を前記記憶部に記憶された共通鍵を用いて判定し、受信したメッセージに付された認証子が正しくないと判定した場合に、前記共通の通信線に接続された他の装置に対して通知を行う処理を実行させる。
【００５１】
本態様にあっては、態様（１４）と同様に、車載通信制御装置から車載通信装置への通知の信頼性を高めることができる。
【００５２】
（２１）本態様に係る通信制御方法は、複数の車載通信装置が接続される共通の通信線に接続される車載通信制御装置が、前記複数の車載通信装置の通信に係る制御を行う通信制御方法であって、前記複数の車載通信装置は複数のセキュリティレベルに分類され、前記セキュリティレベル毎に共通鍵が定められており、各セキュリティレベルの共通鍵を記憶部に記憶しておき、受信したメッセージに付された認証子の正否を、前記記憶部に記憶された対応する共通鍵を用いて判定し、受信したメッセージに付された認証子が正しくないと判定した場合に、当該判定にて用いた共通鍵を記憶していない車載通信装置に対して通知を行う。
【００５３】
本態様にあっては、態様（１１）と同様に、異なるセキュリティレベルの車載通信装置の混在が可能となる。
【００５４】
（２２）本態様に係る通信方法は、共通の通信線に接続される車載通信装置が通信に係る処理を行う通信方法であって、前記共通の通信線に接続される複数の車載通信装置は複数のセキュリティレベルに分類され、前記セキュリティレベル毎に共通鍵が定められており、自身のセキュリティレベルに応じた共通鍵を記憶部に記憶しておき、前記記憶部に記憶された共通鍵を用いて、送信するメッセージに対して付す認証子を生成し、受信したメッセージに付された認証子の正否を前記記憶部に記憶された共通鍵を用いて判定し、受信したメッセージに付された認証子が正しくないと判定した場合に、前記共通の通信線に接続された他の装置に対して通知を行う。
【００５５】
本態様にあっては、態様（１４）と同様に、車載通信制御装置から車載通信装置への通知の信頼性を高めることができる。
【００５６】
［本発明の実施形態の詳細］
本発明の実施形態に係る車載通信システムの具体例を、以下に図面を参照しつつ説明する。なお、本発明はこれらの例示に限定されるものではなく、特許請求の範囲によって示され、特許請求の範囲と均等の意味及び範囲内でのすべての変更が含まれることが意図される。
【００５７】
＜実施の形態１＞
図１及び図２は、本実施の形態に係る車載通信システムの概要を説明するための模式図である。本実施の形態に係る車載通信システムは、車両１に搭載されたＣＧＷ（Central Gate Way）２と、３つのＤＣ（Domain Controller）３Ａ〜３Ｃと、９つのＥＣＵ（Electronic Control Unit）４Ａ〜４Ｉとを備えて構成されている。ＣＧＷ２は、個別の通信線を介して３つのＤＣ３Ａ〜３Ｃにそれぞれ接続されている。ＤＣ３Ａは、共通の通信線（いわゆるバス）を介して、３つのＥＣＵ４Ａ〜４Ｃに接続されている。ＤＣ３Ｂは、バスを介して３つのＥＣＵ４Ｄ〜４Ｆに接続されている。ＤＣ３Ｃは、個別の通信線を介して、３つのＥＣＵ４Ｇ〜４Ｉにそれぞれ接続されている。
【００５８】
本実施の形態においては、例えば車両１の機能毎に複数のＥＣＵ４Ａ〜４Ｉが分類され、機能毎に１つのＤＣ３Ａ〜３Ｃが設けられて対応するＥＣＵ４Ａ〜４Ｉが通信線を介して接続され、複数のＤＣ３Ａ〜３ＣがＣＧＷ２を介して接続されるという態様でシステムが構築されている。各ＤＣ３Ａ〜３Ｃは、自身に接続されたＥＣＵ４Ａ〜４Ｉの動作を制御し、車両１の各機能を実現する。またＤＣ３Ａ〜３Ｃが互いに情報交換して協働することによって、各機能が連携し、車両１の全体としての機能が実現される。
【００５９】
ＣＧＷ２及び３つのＤＣ３Ａ〜３Ｃは、例えばイーサネット（登録商標）の通信プロトコルに従った通信を行うことにより、メッセージを送受信する。ＣＧＷ２は、例えば１つのＤＣ３Ａ〜３Ｃから受信したメッセージを、他の２つのＤＣ３Ａ〜３Ｃへ送信することにより、３つのＤＣ３Ａ〜３Ｃの間のメッセージの送受信を中継する。これによりＤＣ３Ａ〜３Ｃは、ＣＧＷ２を介して他のＤＣ３Ａ〜３Ｃとの間でメッセージの送受信を行うことができる。本実施の形態においてＣＧＷ２は、３つのＤＣ３Ａ〜３Ｃの間のメッセージを単に中継する装置とするが、例えば一のＤＣ３Ａ〜３Ｃからの受信メッセージに対して演算処理を行い、他のＤＣ３Ａ〜３Ｃへ演算結果をメッセージとして送信するなど、より高度な処理を行ってもよい。
【００６０】
ＤＣ３Ａ及び３つのＥＣＵ４Ａ〜４Ｃは、例えばＣＡＮの通信プロトコルに従った通信を行うことにより、ＣＡＮバスを介したメッセージの送受信を行う。一のＥＣＵ４Ａ〜４Ｃが送信したメッセージは、他のＥＣＵ４Ａ〜４Ｃ及びＤＣ３Ａにて受信可能である。ＤＣ３Ａが送信したメッセージは、ＥＣＵ４Ａ〜４Ｃにて受信可能である。
【００６１】
同様に、ＤＣ３Ｂ及び３つのＥＣＵ４Ｄ〜４Ｆは、例えばＣＡＮの通信プロトコルに従った通信を行うことにより、ＣＡＮバスを介したメッセージの送受信を行う。一のＥＣＵ４Ｄ〜４Ｆが送信したメッセージは、他のＥＣＵ４Ｄ〜４Ｆ及びＤＣ３Ｂにて受信可能である。ＤＣ３Ｂが送信したメッセージは、ＥＣＵ４Ｄ〜４Ｆにて受信可能である。
【００６２】
ＤＣ３Ｃ及び３つのＥＣＵ４Ｇ〜４Ｉは、例えばイーサネットの通信プロトコルに従った通信を行うことにより、メッセージを送受信する。ＤＣ３ＣとＥＣＵ４Ｇ〜４Ｉとは、それぞれ個別の通信線を介して接続されており、一対一でのメッセージ送受信を行う。ＤＣ３Ｃは、一のＥＣＵ４Ｇ〜４Ｉから受信したメッセージを他のＥＣＵ４Ｇ〜４Ｉへ送信することにより、３つのＥＣＵ４Ｇ〜４Ｉの間のメッセージの送受信を中継することができる。これによりＥＣＵ４Ｇ〜４Ｉは、ＤＣ３Ｂを介して他のＥＣＵ４Ｇ〜４Ｉとの間でメッセージの送受信を行うことができる。
【００６３】
また、例えばＤＣ３Ａに接続されたＥＣＵ４ＡからＤＣ３Ｃに接続されたＥＣＵ４Ｉへメッセージを送信することも可能である。この場合、ＥＣＵ４Ａから送信されたメッセージは、ＤＣ３Ａ、ＣＧＷ２及びＤＣ３にて中継され、ＥＣＵ４Ｉに受信される。このようにＣＧＷ２及びＤＣ３Ａ〜３Ｃがメッセージの中継を行うことによって、ＥＣＵ４Ａ〜４Ｉはメッセージを送受信することが可能である。
【００６４】
本実施の形態に係る車載通信システムでは、システムを構成する各装置に対してセキュリティレベルが定められている。図１に示すように、本例ではＣＧＷ２及び３つのＤＣ３Ａ〜３Ｃに対してセキュリティレベル３が定められ、ＥＣＵ４Ａ，４Ｇ〜４Ｉに対してセキュリティレベル２が定められ、ＥＣＵ４Ｂ〜４Ｆに対してセキュリティレベル１が定められている。なお図１においては、各装置のセキュリティレベルを「ＬＶ？」のラベルで示している。またセキュリティレベルは、その数値が大きい程、セキュリティ性能が高いことを示している。
【００６５】
本実施の形態に係る車載通信システムでは、各装置が送受信するメッセージには、ＭＡＣ（Message Authentication Code、メッセージ認証子）が付される。メッセージには、例えばメッセージの種別を示すＩＤ及び装置間で共有すべき情報等のデータが含まれている。ＭＡＣは、メッセージに含まれるデータに対して所定の暗号鍵を用いた暗号化の処理を行うことで得られる情報である。各装置は、自身が有する暗号鍵を用いてＭＡＣを生成し、生成したＭＡＣを付したメッセージを送信する。このメッセージを受信した各装置は、メッセージに付されたＭＡＣの正否を自身が有する暗号鍵を用いて判定する。このときに各装置は、受信したメッセージに含まれるデータに対して暗号鍵を用いた暗号化の処理を行ってＭＡＣを生成し、自身が生成したＭＡＣとメッセージに付されたＭＡＣとが一致するか否かに応じて、ＭＡＣの正否を判定することができる。
【００６６】
本実施の形態においては、メッセージを送受信する装置間で共通の暗号鍵、即ち共有鍵を記憶しておき、ＭＡＣの生成及び判定を行う。図２においては、各装置が有する暗号鍵を、破線で囲んだ鍵ａ〜ｅとして図示している。例えばセキュリティレベル３のＣＧＷ２及びＤＣ３Ａ〜３Ｃは、セキュリティレベル３の鍵ｅを用いてＭＡＣの生成及び判定を行う。セキュリティレベル３のＤＣ３Ｂ及びセキュリティレベル１のＥＣＵ４Ｄ〜４Ｆは、セキュリティレベル１の鍵ｃを用いてＭＡＣの生成及び判定を行う。またＤＣ３Ｂは、例えばＥＣＵ４Ｄ〜４ＦからのメッセージをＣＧＷ２へ中継する場合に、受信したメッセージから鍵ｃを用いて生成されたＭＡＣを削除し、鍵ｅを用いて生成したＭＡＣをメッセージに付してＣＧＷ２へ送信する。ＤＣ３Ｂは、例えばＣＧＷ２からのメッセージをＥＣＵ４Ｄ〜４Ｆへ中継する場合に、受信したメッセージから鍵ｅを用いて生成されたＭＡＣを削除し、鍵ｃを用いて生成したＭＡＣをメッセージに付してＥＣＵ４Ｄ〜４Ｆへ送信する。
【００６７】
同様に、セキュリティレベル３のＤＣ３Ｃ及びセキュリティレベル２のＥＣＵ４Ｇ〜４Ｉは、セキュリティレベル２の鍵ｄを用いてＭＡＣの生成及び判定を行う。またＤＣ３Ｃは、例えばＥＣＵ４Ｇ〜４ＩからのメッセージをＣＧＷ２へ中継する場合に、受信したメッセージから鍵ｄを用いて生成されたＭＡＣを削除し、鍵ｅを用いて生成したＭＡＣをメッセージに付してＣＧＷ２へ送信する。またＤＣ３Ｃは、例えばＣＧＷ２からのメッセージをＥＣＵ４Ｇ〜４Ｉへ中継する場合に、受信したメッセージから鍵ｅを用いて生成されたＭＡＣを削除し、鍵ｄを用いて生成したＭＡＣをメッセージに付してＥＣＵ４Ｇ〜４Ｉへ送信する。
【００６８】
このように本実施の形態に係る車載通信システムでは、例えば車両１の機能等により分類されたＤＣ３Ａ〜３Ｃ及びＥＣＵ４Ａ〜４Ｉの各グループについて、グループ内の通信に用いるＭＡＣの生成及び判定のための暗号鍵をそれぞれ異なるものとすることができる。これにより、車載通信システムを構成する複数の装置をセキュリティ的に複数のグループに分離することができ、各グループに適したセキュリティレベルを設定することができる。セキュリティレベルは、例えばＭＡＣの生成に用いられる暗号化処理のアルゴリズムの強度、及び、暗号化処理に用いられる暗号鍵の情報量（ビット長）等に応じて定まる。用いられる暗号化処理のアルゴリズムの強度が高く、且つ、暗号鍵の情報量が多いほどセキュリティレベルは高い。
【００６９】
また本実施の形態に係る車載通信システムでは、図１及び図２のＤＣ３Ａ及びＥＣＵ４Ａ〜４Ｃに示すように、物理的なネットワーク構成は１つ（共通）であっても、複数のセキュリティレベルを混在させることが可能である。セキュリティレベル３のＤＣ３Ａ、セキュリティレベル２のＥＣＵ４Ａ及びセキュリティレベル１のＥＣＵ４Ｂ，４Ｃでは、セキュリティレベル１の鍵ａ及びセキュリティレベル２の鍵ｂの２つの暗号鍵を用いたメッセージの送受信が行われる。以下、セキュリティレベルが混在したネットワークにおけるメッセージ送受信について説明する。
【００７０】
図３は、ＤＣ３Ａ及びＥＣＵ４Ａ〜４Ｃによるメッセージ送受信の一例を示す模式図である。上述のように、ＤＣ３Ａ及びＥＣＵ４Ａ〜４Ｃは、共通のＣＡＮバスに接続されており、ＣＡＮの通信プロトコルに従ったメッセージの送受信を行う。図示の例では、各装置のセキュリティレベルとしてレベル１又はレベル２が設定されている（図中、Ｌｖ１又はＬｖ２と記載している）。本例では、セキュリティレベルはその数値が高いほどレベルが高いものとし、レベル１よりもレベル２はセキュリティレベルが高い。ＤＣ３Ａ及びＥＣＵ４Ａがセキュリティレベル２に設定され、ＥＣＵ４Ｂ，４Ｃがセキュリティレベル１に設定されている。また本例では、セキュリティレベル１に対する暗号鍵として鍵ａが設定され、セキュリティレベル２に対する暗号鍵として鍵ｂが設定されている。例えば、鍵ｂは、鍵ａよりもビット長が長い暗号鍵である。
【００７１】
本実施の形態に係る車載通信システムにおいて各装置は、自身のセキュリティレベルに対応する暗号鍵と、自身のセキュリティレベルより低いセキュリティレベルに対応する暗号鍵とを記憶している。例えば、セキュリティレベル１のＥＣＵ４Ｂ，４Ｃは、自身のセキュリティレベル１に対応する鍵ａを記憶している。また例えば、セキュリティレベル２のＤＣ３Ａ及びＥＣＵ４Ａは、自身のセキュリティレベル２に対応する鍵ｂと、自身のセキュリティレベル２より低いセキュリティレベル１に対応する鍵ａとを記憶している。
【００７２】
例えば、２つの鍵ａ，ｂを記憶しているセキュリティレベル２のＥＣＵ４Ａは、送信すべきメッセージに対して鍵ａを用いて生成したＭＡＣ（ａ）と、鍵ｂを用いて生成したＭＡＣ（ｂ）とを付して、ＣＡＮバスへ送信する。このメッセージを受信したセキュリティレベル１のＥＣＵ４Ｂ，４Ｃは、自身が記憶している鍵ａを用いてＭＡＣ（ａ）の正否を判定し、ＭＡＣ（ｂ）の成否は判定しない（判定できない）。ＥＣＵ４Ｂ，４Ｃは、メッセージに付されたＭＡＣ（ａ）が正しい場合、このメッセージが正当なものであると判断する。また、このメッセージを受信したセキュリティレベル２のＤＣ３Ａは、自身が記憶している鍵ｂを用いてＭＡＣ（ｂ）の正否を判定し、鍵ａを用いてＭＡＣ（ａ）の正否を判定する。ＤＣ３Ａは、ＭＡＣ（ｂ）及びＭＡＣ（ａ）が正しい場合、このメッセージが正当なものであると判断する。ただしＤＣ３Ａは、セキュリティレベルが高いＭＡＣ（ｂ）の正否判定のみを行い、セキュリティレベルが低いＭＡＣ（ａ）の正否判定を行わなくてもよい。
【００７３】
また例えば、１つの鍵ａを記憶しているセキュリティレベル１のＥＣＵ４Ｂは、送信すべきメッセージに対して鍵ａを用いて生成したＭＡＣ（ａ）を付して、ＣＡＮバスへ送信する。このメッセージを受信したＤＣ３Ａ及びＥＣＵ４Ａ，４Ｃは、自身が記憶している鍵ａを用いてＭＡＣ（ａ）の正否を判定する。ＤＣ３Ａ及びＥＣＵ４Ａ，４Ｃは、ＭＡＣ（ａ）が正しい場合、このメッセージが正当なものであると判断する。
【００７４】
なお、２つの鍵ａ，ｂを記憶しているセキュリティレベル２のＥＣＵ４Ａは、例えばセキュリティレベル１のＥＣＵ４Ｂ，４Ｃに不要なメッセージについては、ＭＡＣ（ｂ）のみを付して送信してもよい。ＭＡＣ（ｂ）のみが付されたメッセージは、鍵ｂを記憶していないＥＣＵ４Ｂ，４Ｃでは正否を判定できないため、破棄される。このメッセージは、鍵ｂを記憶しているＤＣ３Ａにて受信される。
【００７５】
ここで、例えば悪意の装置がＣＡＮバスに接続された場合、又は、いずれかの装置が乗っ取られた場合等に、ＭＡＣが正しくないメッセージがＣＡＮバス上に送信される可能性がある。不正なＭＡＣ（ａ）が付されたメッセージは、ＤＣ３Ａ及びＥＣＵ４Ａ〜４Ｃの全てにおいて不正であることが検出されるため、各装置においてメッセージを破棄する等の処理を行うことができる。これに対して、正当なＭＡＣ（ａ）が付され、不正なＭＡＣ（ｂ）が付されたメッセージは、鍵ｂを記憶しているＤＣ３Ａ及びＥＣＵ４Ａにおいて不正であることが検出されるが、鍵ｂを記憶していないＥＣＵ４Ｂ，４Ｃでは不正を検出することができない。
【００７６】
そこで本実施の形態に係る車載通信システムでは、不正なＭＡＣが付されたメッセージを受信した場合に、ＤＣ３ＡがＥＣＵ４Ａ〜４Ｃに対して通知を行う。ＤＣ３Ａは、不正と判定したＭＡＣのセキュリティレベルよりも低いセキュリティレベルが設定されたＥＣＵ４Ａ〜４Ｃに対して通知を行う。例えば、セキュリティレベル２のＭＡＣ（ｂ）について不正と判定した場合、ＤＣ３Ａは、セキュリティレベル２より低いセキュリティレベル１のＥＣＵ４Ｂ，４Ｃに対して通知を行い、セキュリティレベル２のＥＣＵ４Ａに対しては通知を行わない。ただし、ＤＣ３Ａがセキュリティレベルに関係なく全てのＥＣＵ４Ａ〜４Ｃに対して通知を行う構成としてもよい。またセキュリティレベル１のＭＡＣ（ａ）について不正と判定した場合、ＤＣ３Ａは、これより低いセキュリティレベルが存在しないため、通知を行わなくてよい。
【００７７】
図４は、ＤＣ３ＡからＥＣＵ４Ａ〜４Ｃへの通知の一例を示す模式図である。本実施の形態に係る車載通信システムでは、通常のメッセージの送受信に用いる暗号鍵とは別に、不正なＭＡＣの検出等の異常を通知する際の通知メッセージの送受信に用いる暗号鍵を各装置が記憶している。図示の例では、ＥＣＵ４Ａが鍵αを記憶し、ＥＣＵ４Ｂが鍵βを記憶し、ＥＣＵ４Ｃが鍵γを記憶している。即ち、通知メッセージを受信し得る装置は、それぞれ異なる通知用の暗号鍵を記憶している。ＤＣ３Ａは、通知メッセージの送信先となり得る各ＥＣＵ４Ａ〜４Ｃの鍵α，β，γを記憶している。鍵αはセキュリティレベル２の暗号鍵であり、鍵β，γはセキュリティレベル１の暗号鍵である。なお本実施の形態において、鍵α，β，γは共有鍵とするが、これに限るものではなく、ＥＣＵ４Ａ〜４Ｃが有する鍵α，β，γを秘密鍵とし、ＤＣ３Ａが有する鍵α，β，γを各秘密鍵に対応する公開鍵としてもよい。
【００７８】
ＤＣ３Ａは、何らかの異常等を検出してＥＣＵ４Ａ〜４Ｃへ通知メッセージを送信する場合、通知を必要とするＥＣＵ４Ａ〜４Ｃに対して個別に通知メッセージを送信する。ＤＣ３Ａは、ＥＣＵ４Ａへ通知メッセージを送信する場合、ＥＣＵ４Ａが有する鍵αを用いて生成したＭＡＣ（α）を付した通知メッセージを送信する。ＭＡＣ（α）が付された通知メッセージは、鍵αを有するＥＣＵ４Ａのみが正否を判定することができるため、ＥＣＵ４Ａのみで受信され、ＥＣＵ４Ｂ，４Ｃでは破棄される。同様に、ＤＣ３Ａは、ＥＣＵ４Ｂへ通知メッセージを送信する場合、ＥＣＵ４Ｂが有する鍵βを用いて生成したＭＡＣ（β）を付した通知メッセージを送信する。
【００７９】
これにより、例えばいずれかのＥＣＵ４Ａ〜４Ｃが乗っ取られた場合であっても、それ以外のＥＣＵ４Ａ〜４Ｃが有する通知メッセージを送受信するための鍵が漏洩することがないため、ＤＣ３ＡからＥＣＵ４Ａ〜４Ｃへの通知メッセージの送信が阻害されることを防止できる。
【００８０】
なお、本例の場合には、ＥＣＵ４ＡはＭＡＣ（α）及びＭＡＣ（ｂ）のいずれについても正否判定を行うことができ、不正なＭＡＣの検出によるＤＣ３Ａからの通知メッセージを必要としないため、通知メッセージを送受信するための鍵αを記憶しておく必要はない。ただし、ＤＣ３Ａが不正なＭＡＣの検出以外の通知を行う場合には、鍵αを用いたＭＡＣ（α）が付された通知メッセージをＤＣ３Ａが送信する可能性があり、ＥＣＵ４Ａは鍵αを記憶しておくことが好ましい。
【００８１】
またＤＣ３Ａは、通知メッセージに複数のＭＡＣを付して送信する構成であってもよい。例えばＥＣＵ４Ｂ，４Ｃへ通知メッセージを送信する場合、ＤＣ３Ａは、ＭＡＣ（β）及びＭＡＣ（γ）を付した通知メッセージを送信してもよい。この通知メッセージを受信したＥＣＵ４Ｂ，４Ｃは、自身が記憶している鍵β，γを用いていずれのＭＡＣが正当であると判定した場合、この通知メッセージを正当なメッセージとして扱う。
【００８２】
図５は、本実施の形態に係るＤＣ３Ａの構成を示すブロック図である。なお、他のＤＣ３Ｂ，３Ｃについては、ＤＣ３Ａと同様の構成であるため、図示及び説明を省略する。本実施の形態に係るＤＣ３Ａは、処理部（プロセッサ）３１、記憶部（ストレージ）３２、ＣＡＮ通信部（トランシーバ）３３及びイーサネット通信部（トランシーバ）３４等を備えて構成されている。処理部３１は、ＣＰＵ（Central Processing Unit）又はＭＰＵ（Micro-Processing Unit）等の演算処理装置を用いて構成されている。処理部３１は、記憶部３２に記憶されたプログラム３２ａを読み出して実行することにより、ＣＧＷ２及びＥＣＵ４Ａ〜４Ｃ等とのメッセージの送受信、ＭＡＣに基づく不正なメッセージの検出、及び、ＥＣＵ４Ａ〜４Ｃへの通知等を行う。
【００８３】
記憶部３２は、例えばフラッシュメモリ又はＥＥＰＲＯＭ（Electrically Erasable Programmable Read Only Memory）等の不揮発性のメモリ素子を用いて構成されている。記憶部３２は、処理部３１が実行する各種のプログラム、及び、処理部３１の処理に必要な各種のデータを記憶する。本実施の形態において記憶部３２は、処理部３１が実行するプログラム３２ａを記憶すると共に、ＭＡＣの生成及び判定に用いる暗号鍵を記憶する鍵記憶部３２ｂが設けられている。なおプログラム３２ａは、例えばＤＣ３Ａの製造段階において記憶部３２に書き込まれてもよく、また例えば遠隔のサーバ装置などが配信するものをＤＣ３Ａが通信にて取得してもよく、また例えばメモリカード又は光ディスク等の記録媒体９９に記録されたプログラム３２ａをＤＣ３Ａが読み出して記憶部３２に記憶してもよく、また例えば記録媒体９９に記録されたものを書込装置が読み出してＤＣ３Ａの記憶部３２に書き込んでもよい。プログラム３２ａは、ネットワークを介した配信の態様で提供されてもよく、記録媒体９９に記録された態様で提供されてもよい。
【００８４】
記憶部３２の鍵記憶部３２ｂには、ＥＣＵ４Ａ〜４Ｃとの間で送受信するメッセージに付されるＭＡＣの生成及び判定を行うための鍵ａ，ｂと、ＣＧＷ２との間で送受信するメッセージに付されるＭＡＣの生成及び判定を行うための鍵ｅとが記憶される。また鍵記憶部３２ｂには、ＥＣＵ４Ａ〜４Ｃとの間で異常検知時に送受信する通知メッセージに付されるＭＡＣの生成及び判定を行うための鍵α，β，γが記憶される。なお鍵記憶部３２ｂに記憶される暗号鍵は、ＤＣ３Ａ〜３Ｃでそれぞれ異なる。
【００８５】
またＤＣ３Ａは、鍵記憶部３２ｂに記憶された複数の暗号鍵に関する情報を、例えばテーブルとして記憶している。図６は、テーブルに記憶される暗号鍵に関する情報の一例を示す模式図である。例示するテーブルには、ＤＣ３Ａのメッセージ送受信の相手となる装置と、この装置のセキュリティレベルと、この装置が送信するメッセージに付されるＩＤ（例えばＣＡＮ−ＩＤ）と、この装置が記憶している暗号鍵と、この装置が記憶している通知メッセージ用の暗号鍵との対応が記憶されている。ＤＣ３Ａは、例えばＥＣＵ４Ａ〜４Ｃからの例えばメッセージを受信した場合に、メッセージに付されたＩＤに基づいてメッセージの送信元の装置を判断し、対応する暗号鍵を鍵記憶部３２ｂから読み出してＭＡＣを判定することができる。
【００８６】
ＣＡＮ通信部３３は、ＣＡＮの通信プロトコルに従う有線通信を行う。ＣＡＮ通信部３３は、いわゆるＣＡＮトランシーバのＩＣを用いて構成され得る。ＣＡＮ通信部３３は、車両１内に配されたＣＡＮバスを介して複数のＥＣＵ４Ａ〜４Ｃに接続され、これらのＥＣＵ４Ａ〜４Ｃとの間でＣＡＮの通信プロトコルに従う通信を行う。ＣＡＮ通信部３３は、処理部３１から与えられた送信用のメッセージをＣＡＮの通信プロトコルに応じた電気信号に変換して通信線へ出力することにより、ＥＣＵ４Ａ〜４Ｃへのメッセージ送信を行う。またＣＡＮ通信部３３は、通信線の電位をサンプリングして取得することによりＥＣＵ４Ａ〜４Ｃからのメッセージを受信し、受信したメッセージを処理部３１へ与える。
【００８７】
イーサネット通信部３４は、イーサネットの通信プロトコルに従う有線通信を行う。イーサネット通信部３４は、車両１内に配されたイーサネット用の通信線を介してＣＧＷ２に接続され、ＣＧＷ２との間でイーサネットの通信プロトコルに従う通信を行う。イーサネット通信部３４は、処理部３１から与えられた送信用のメッセージをイーサネットの通信プロトコルに応じた電気信号に変換して通信線へ出力することにより、ＣＧＷ２へのメッセージ送信を行う。またイーサネット通信部３４は、通信線の電位をサンプリングして取得することによりＣＧＷ２からのメッセージを受信し、受信したメッセージを処理部３１へ与える。なお、図１及び図２に例示したシステム構成において、ＤＣ３ＣはＣＡＮ通信部３３を備えず、複数のイーサネット通信部３４を備える。
【００８８】
また本実施の形態に係るＤＣ３Ａでは、記憶部３２に記憶されたプログラム３２ａを処理部３１が読み出して実行することにより、ＭＡＣ生成部３１ａ、ＭＡＣ判定部３１ｂ、送受信処理部３１ｃ及び通知処理部３１ｄ等が処理部３１にソフトウェア的な機能ブロックとして実現される。ＭＡＣ生成部３１ａは、ＣＧＷ２又はＥＣＵ４Ａ〜４Ｃへ送信すべきメッセージに対して、鍵記憶部３２ｂに記憶された暗号鍵を用いた暗号化処理を行うことで、このメッセージを認証するためのＭＡＣを生成する処理を行う。ＭＡＣ生成部３１ａは、ＣＧＷ２へ送信すべきメッセージに対して、鍵記憶部３２ｂに記憶された鍵ｅを用いたＭＡＣの生成を行う。またＭＡＣ生成部３１ａは、ＥＣＵ４Ａ〜４Ｃへ送信すべきメッセージに対して、鍵記憶部３２ｂに記憶された鍵ａを用いたＭＡＣの生成と、鍵ｂを用いたＭＡＣの生成とを行う。
【００８９】
ＭＡＣ判定部３１ｂは、ＣＧＷ２又はＥＣＵ４Ａ〜４Ｃから受信したメッセージに付されたＭＡＣの正否を判定する処理を行う。ＭＡＣ判定部３１ｂは、受信したメッセージに含まれるＩＤに基づいて図５に示したテーブルを参照し、判定に用いる暗号鍵を判断する。ＭＡＣ判定部３１ｂは、受信したメッセージに対して暗号鍵を用いたＭＡＣの生成を行い、生成したＭＡＣと受信したメッセージに付されたＭＡＣとが一致するか否かに応じて、ＭＡＣの正否を判定する。ＭＡＣ判定部３１ｂは、ＣＧＷ２から受信したメッセージについて、鍵記憶部３２ｂに記憶された鍵ｅを用いたＭＡＣの判定を行う。ＭＡＣ判定部３１ｂは、ＥＣＵ４Ａから受信したメッセージについて、鍵記憶部３２ｂに記憶された鍵ａ，ｂを用いたＭＡＣの判定を行う。ＭＡＣ判定部３１ｂは、ＥＣＵ４Ｂ，４Ｃから受信したメッセージについて、鍵記憶部３２ｂに記憶された鍵ａを用いたＭＡＣの判定を行う。
【００９０】
送受信処理部３１ｃは、ＣＧＷ２又はＥＣＵ４Ａ〜４Ｃとの間でメッセージを送受信する処理を行う。送受信処理部３１ｃは、送信すべきメッセージに対してＭＡＣ生成部３１ａが生成したＭＡＣを付し、ＭＡＣを付したメッセージをＣＡＮ通信部３３又はイーサネット通信部３４へ与えることにより、ＥＣＵ４Ａ〜４Ｃ又はＣＧＷ２へメッセージを送信する。また送受信処理部３１ｃは、ＣＡＮ通信部３３又はイーサネット通信部３４にて受信したメッセージに付されたＭＡＣについて、ＭＡＣ判定部３１ｂにて成否の判定を行わせ、正規のＭＡＣが付されたメッセージを受信メッセージとして扱うと共に、不正なＭＡＣが付されたメッセージを破棄する。
【００９１】
通知処理部３１ｄは、ＭＡＣ判定部３１ｂにてＭＡＣが不正であると判定された場合に、ＥＣＵ４Ａ〜４Ｃへ通知メッセージを送信する処理を行う。通知処理部３１ｄは、ＭＡＣ判定部３１ｂにて不正と判定されたＭＡＣのセキュリティレベルを調べ、このセキュリティレベルに対応する暗号鍵を有していないＥＣＵ４Ａ〜４Ｃ、本実施の形態ではこのセキュリティレベルより低いセキュリティレベルが設定されたＥＣＵ４Ａ〜４Ｃに対して通知メッセージを送信する。通知メッセージには、例えば不正と判定されたＭＡＣのセキュリティレベル、このＭＡＣが付されていたメッセージに含まれるＩＤ、このメッセージの送信元のＥＣＵ４Ａ〜４Ｃの識別情報等の情報が含まれ得る。通知メッセージを受信したＥＣＵ４Ａ〜４Ｃは、通知メッセージに含まれる情報を記憶しておき、以降に同様のメッセージを受信した場合にはこれを破棄する等の処理を行うことができる。
【００９２】
図７は、本実施の形態に係るＥＣＵ４Ａの構成を示すブロック図である。なお、他のＥＣＵ４Ｂ〜４Ｉについては、ＥＣＵ４Ａと同様の構成であるため、図示及び説明を省略する。本実施の形態に係るＥＣＵ４Ａは、処理部（プロセッサ）４１、記憶部（ストレージ）４２及びＣＡＮ通信部（トランシーバ）４３等を備えて構成されている。処理部４１は、ＣＰＵ又はＭＰＵ等の演算処理装置を用いて構成されている。処理部４１は、記憶部４２に記憶されたプログラム４２ａを読み出して実行することにより、ＤＣ３Ａ及び他のＥＣＵ４Ｂ，４Ｃとのメッセージの送受信及びＭＡＣに基づく不正なメッセージの検出等を行う。
【００９３】
記憶部４２は、例えばフラッシュメモリ又はＥＥＰＲＯＭ等の不揮発性のメモリ素子を用いて構成されている。記憶部４２は、処理部４１が実行する各種のプログラム、及び、処理部４１の処理に必要な各種のデータを記憶する。本実施の形態において記憶部４２は、処理部４１が実行するプログラム４２ａを記憶すると共に、ＭＡＣの生成及び判定に用いる暗号鍵を記憶する鍵記憶部４２ｂが設けられている。なおプログラム４２ａは、例えばＥＣＵ４Ａの製造段階において記憶部４２に書き込まれてもよく、また例えば遠隔のサーバ装置などが配信するものをＥＣＵ４Ａが通信にて取得してもよく、また例えばメモリカード又は光ディスク等の記録媒体９８に記録されたプログラム４２ａをＥＣＵ４Ａが読み出して記憶部４２に記憶してもよく、また例えば記録媒体９８に記録されたものを書込装置が読み出してＥＣＵ４Ａの記憶部４２に書き込んでもよい。プログラム４２ａは、ネットワークを介した配信の態様で提供されてもよく、記録媒体９８に記録された態様で提供されてもよい。
【００９４】
記憶部４２の鍵記憶部４２ｂには、ＤＣ３Ａ及び他のＥＣＵ４Ｂ，４Ｃとの間で送受信するメッセージに付されるＭＡＣの生成及び判定を行うための鍵ａ，ｂが記憶される。また鍵記憶部４２ｂには、ＤＣ３Ａとの間で異常検知時に送受信する通知メッセージに付されるＭＡＣの生成及び判定を行うための鍵αが記憶される。なお鍵記憶部４２ｂに記憶される暗号鍵は、ＥＣＵ４Ａ〜４Ｉでそれぞれ異なる。
【００９５】
ＣＡＮ通信部４３は、ＣＡＮの通信プロトコルに従う有線通信を行う。ＣＡＮ通信部４３は、いわゆるＣＡＮトランシーバのＩＣを用いて構成され得る。ＣＡＮ通信部４３は、車両１内に配されたＣＡＮバスを介してＤＣ３Ａ及び他のＥＣＵ４Ｂ，４Ｃに接続され、これらのＤＣ３Ａ及びＥＣＵ４Ｂ，４Ｃとの間でＣＡＮの通信プロトコルに従う通信を行う。ＣＡＮ通信部４３は、処理部４１から与えられた送信用のメッセージをＣＡＮの通信プロトコルに応じた電気信号に変換して通信線へ出力することにより、ＤＣ３Ａ及びＥＣＵ４Ｂ，４Ｃへのメッセージ送信を行う。またＣＡＮ通信部４３は、通信線の電位をサンプリングして取得することによりＤＣ３Ａ及びＥＣＵ４Ｂ，４Ｃからのメッセージを受信し、受信したメッセージを処理部４１へ与える。なお、図１及び図２に例示したシステム構成において、ＥＣＵ４Ｇ〜４ＩはＣＡＮ通信部４３を備えず、代わりにイーサネットの通信プロトコルに従った通信を行うイーサネット通信部を備える。
【００９６】
また本実施の形態に係るＥＣＵ４Ａでは、記憶部４２に記憶されたプログラム４２ａを処理部４１が読み出して実行することにより、ＭＡＣ生成部４１ａ、ＭＡＣ判定部４１ｂ、送受信処理部４１ｃ及び通知処理部４１ｄ等が処理部４１にソフトウェア的な機能ブロックとして実現される。ＭＡＣ生成部４１ａは、ＤＣ３Ａ及びＥＣＵ４Ｂ，４Ｃへ送信すべきメッセージに対して、鍵記憶部４２ｂに記憶された暗号鍵を用いた暗号化処理を行うことで、このメッセージを認証するためのＭＡＣを生成する処理を行う。ＭＡＣ生成部４１ａは、鍵記憶部３２ｂに記憶された鍵ａを用いたＭＡＣの生成と、鍵ｂを用いたＭＡＣの生成とを行う。
【００９７】
ＭＡＣ判定部４１ｂは、ＤＣ３Ａ又はＥＣＵ４Ｂ，４Ｃから受信したメッセージに付されたＭＡＣの正否を判定する処理を行う。ＭＡＣ判定部４１ｂは、受信したメッセージに対して暗号鍵を用いたＭＡＣの生成を行い、生成したＭＡＣと受信したメッセージに付されたＭＡＣとが一致するか否かに応じて、ＭＡＣの正否を判定する。ＭＡＣ判定部４１ｂは、受信したメッセージに２つのＭＡＣが付されている場合、２つの鍵ａ，ｂをそれぞれ対応するＭＡＣに対して使用して正否判定を行う。またＭＡＣ判定部４１ｂは、受信したメッセージに１つのＭＡＣが付されている場合、１つの鍵ａを使用して正否判定を行う。
【００９８】
送受信処理部４１ｃは、ＤＣ３Ａ及びＥＣＵ４Ｂ，４Ｃとの間でメッセージを送受信する処理を行う。送受信処理部４１ｃは、送信すべきメッセージに対してＭＡＣ生成部４１ａが生成したＭＡＣを付し、ＭＡＣを付したメッセージをＣＡＮ通信部４３へ与えることにより、ＤＣ３Ａ及びＥＣＵ４Ｂ，４Ｃへメッセージを送信する。また送受信処理部４１ｃは、ＣＡＮ通信部４３にて受信したメッセージに付されたＭＡＣについて、ＭＡＣ判定部４１ｂにて成否の判定を行わせ、正規のＭＡＣが付されたメッセージを受信メッセージとして扱うと共に、不正なＭＡＣが付されたメッセージを破棄する。
【００９９】
通知処理部４１ｄは、所定の周期でＣＡＮバスに対する信号の送信を行うことによって、自身が正常に動作していることをＤＣ３Ａ及びＥＣＵ４Ｂ，４Ｃに通知する処理を行う。この通知処理部４１ｄによる周期的な信号送信は、いわゆるキープアライブの機能であり、以下ではこの周期的に送信される信号をキープアライブ信号と呼ぶ。本実施の形態において通知処理部４１ｄは、ＭＡＣ判定部４１ｂにてＭＡＣが不正であると判定された場合に、不正判定に関する情報をキープアライブ信号に含めて送信することにより、ＤＣ３Ａへ不正なＭＡＣを検出した旨を通知する。このときに通知処理部４１ｄは、例えば不正なＭＡＣを検出した回数、不正と判定したＭＡＣのセキュリティレベル、又は、不正と判定したＭＡＣが付されたメッセージのＩＤ等の情報をキープアライブ信号に含めることができる。
【０１００】
本実施の形態に係る車載通信システムでは、上述のようにＤＣ３Ａが不正なＭＡＣの検出に応じて通知メッセージの送信を行う。このＤＣ３Ａの通知メッセージの送信タイミングには、以下の３つのバリエーションが採用され得る。ＤＣ３Ａは、通知メッセージに関する３つの送信タイミングについて、いずれを採用してもよい。
（１）即時通知
（２）単数合意通知
（３）複数合意通知
【０１０１】
図８は、ＤＣ３Ａの通知メッセージの送信タイミングを説明するための模式図である。本図は横軸を時刻ｔとしたタイミングチャートであり、ＤＣ３Ａが不正なＭＡＣを検出したタイミングを時刻ｔ０としている。またＤＣ３Ａが、１番目のＥＣＵから不正なＭＡＣを検知した旨を通知するキープアライブ信号を受信したタイミングを時刻ｔ１とし、２番目のＥＣＵから同様のキープアライブ信号を受信したタイミングを時刻ｔ２とし、３番目のＥＣＵから同様のキープアライブ信号を受信したタイミングを時刻ｔ３としている。なお本例では、図３及び図４等に示したネットワーク構成ではなく、より多くのＥＣＵがＣＡＮバスを介してＤＣ３Ａに接続されているネットワーク構成を想定している。
【０１０２】
（１）即時通知
ＤＣ３Ａは、自身が受信したメッセージに付されたＭＡＣについて、ＭＡＣ判定部３１ｂが不正であると判定した後、速やかに通知メッセージを送信する。この場合にＤＣ３Ａは、自身のＭＡＣ判定部３１ｂの判定のみに基づいて通知メッセージの送信を行う。通知メッセージを最も早いタイミングで送信することができる方法である。
【０１０３】
（２）単数合意通知
ＤＣ３Ａは、自身が受信したメッセージに付されたＭＡＣについて、ＭＡＣ判定部３１ｂが不正であると判定した後、他のＥＣＵが定期的に送信するキープアライブ信号の受信を待つ。いずれかのＥＣＵから不正なＭＡＣを検出した旨の情報を含むキープアライブ信号を受信した場合、ＤＣ３Ａは、通知の必要なＥＣＵに対して通知メッセージの送信を行う。ＥＣＵは、キープアライブ信号に、例えば検出した不正なＭＡＣのセキュリティレベル又はこのＭＡＣが付されていたメッセージのＩＤ等に対応付けて、前回のキープアライブ信号の送信後に不正なＭＡＣを検出した回数等の情報を含めて送信する。ＤＣ３Ａは、いずれか１つのＥＣＵから、自身が不正なＭＡＣを検出したセキュリティレベルと同じセキュリティレベルについて、不正なＭＡＣを検出した旨の情報を含むキープアライブ信号を受信した場合に、このセキュリティレベルより低いセキュリティレベルが設定されたＥＣＵへ通知メッセージを送信する。ＤＣ３Ａは、ＥＣＵからのキープアライブ信号の受信後、速やかに通知メッセージを送信する。ＤＣ３Ａが自身の判断のみでなく、少なくとも他の１つのＥＣＵの判断を待って通知メッセージを送信する構成であり、通知メッセージの信頼性を高めることができる。
【０１０４】
（３）複数合意通知
ＤＣ３Ａは、不正と判定したＭＡＣのセキュリティレベル以上のセキュリティレベルが設定された複数のＥＣＵについて、所定数（例えば過半数）のＥＣＵから不正なＭＡＣを検出した旨の情報を含むキープアライブ信号を受信した場合に、このセキュリティレベルより低いセキュリティレベルが設定されたＥＣＵへ通知メッセージを送信する。図示の例では、３つのＥＣＵからのキープアライブ信号を受信した後、ＤＣ３Ａは速やかに通知メッセージを送信している。ＤＣ３Ａが複数のＥＣＵからのキープアライブ信号を待って通知メッセージを送信することによって、通知メッセージの信頼性をより向上することができる。
【０１０５】
図９は、本実施の形態に係るＥＣＵ４Ａが行うメッセージの受信処理の手順を示すフローチャートである。なお、他のＥＣＵ４Ｂ〜４Ｉについても同様の処理を行っている。本実施の形態に係るＥＣＵ４Ａの処理部４１の送受信処理部４１ｃは、ＣＡＮ通信部４３にて他のＥＣＵ４Ｂ，４Ｃ又はＤＣ３Ａからのメッセージを受信したか否かを判定する（ステップＳ１）。メッセージを受信していない場合（Ｓ１：ＮＯ）、送受信処理部４１ｃは、メッセージを受信するまで待機する。メッセージを受信した場合（Ｓ１：ＹＥＳ）、送受信処理部４１ｃは、受信したメッセージに付されたＭＡＣを取得する（ステップＳ２）。
【０１０６】
処理部４１のＭＡＣ判定部４１ｂは、ステップＳ２にて取得したＭＡＣが正しいものであるか否かを判定する（ステップＳ３）。このときにＭＡＣ判定部４１ｂは、鍵記憶部４２ｂに記憶された暗号鍵を用いて受信メッセージから生成したＭＡＣと、ステップＳ２にて取得したＭＡＣとが一致するか否かに応じて、ＭＡＣの正否を判定する。ＭＡＣが正しいものである場合（Ｓ３：ＹＥＳ）、送受信処理部４１ｃは、メッセージの受信処理を終了する。
【０１０７】
ＭＡＣが正しいものでない場合（Ｓ３：ＮＯ）、送受信処理部４１ｃは、受信したメッセージを破棄する（ステップＳ４）。またＥＣＵ４Ａは、例えば記憶部４２にセキュリティレベル毎のＭＡＣのエラー数を記憶している。送受信処理部４１ｃは、ステップＳ３にて不正と判定したＭＡＣのセキュリティレベルに対応するエラー数を記憶し（ステップＳ５）、メッセージの受信処理を終了する。
【０１０８】
図１０は、本実施の形態に係るＥＣＵ４Ａが行うキープアライブ信号の送信処理の手順を示すフローチャートである。本実施の形態に係るＥＣＵ４Ａの処理部４１の通知処理部４１ｄは、周期的に送信するキープアライブ（ＫＡ）信号の送信タイミングに至ったか否かを判定する（ステップＳ１１）。キープアライブ信号の送信タイミングに至っていない場合（Ｓ１１：ＮＯ）、通知処理部４１ｄは、キープアライブ信号の送信タイミングに至るまで待機する。キープアライブ信号の送信タイミングに至った場合（Ｓ１１：ＹＥＳ）、通知処理部４１ｄは、記憶部４２に記憶したセキュリティレベル毎のエラー数を参照することにより、ＭＡＣに関するエラーの有無を判定する（ステップＳ１２）。
【０１０９】
エラーが発生していない場合（Ｓ１２：ＮＯ）、即ち前回のキープアライブ信号の送信から不正なＭＡＣを検出していない場合、通知処理部４１ｄは、不正なＭＡＣに関する情報を含まない、通常のキープアライブ信号を送信する必要がある。そこで、処理部４１のＭＡＣ生成部４１ａは、通常のキープアライブ信号についてＭＡＣを生成して付与する（ステップＳ１５）。通知処理部４１ｄは、ＭＡＣが付与されたキープアライブ信号をＣＡＮ通信部４３にて送信し（ステップＳ１６）、処理を終了する。
【０１１０】
エラーが発生していた場合（Ｓ１２：ＹＥＳ）、通知処理部４１ｄは、例えば記憶部４２に記憶していたセキュリティレベル毎のエラー数等のような、不正なＭＡＣの検出に係る情報をキープアライブ信号に付与する（ステップＳ１３）。また通知処理部４１ｄは、記憶部４２に記憶していたセキュリティレベル毎のエラー数を初期化する（ステップＳ１４）。その後、ＭＡＣ生成部４１ａは、不正ＭＡＣの情報が付与されたキープアライブ信号についてＭＡＣを生成して付与する（ステップＳ１５）。通知処理部４１ｄは、ＭＡＣが付与されたキープアライブ信号をＣＡＮ通信部４３にて送信し（ステップＳ１６）、処理を終了する。
【０１１１】
図１１は、本実施の形態に係るＤＣ３Ａが行う通知メッセージの送信処理の手順を示すフローチャートであり、上記の（１）即時通知の場合の手順である。本実施の形態に係るＤＣ３Ａの処理部３１の送受信処理部３１ｃは、ＣＡＮ通信部３３にてＥＣＵ４Ａ〜４Ｃからのメッセージを受信したか否かを判定する（ステップＳ２１）。メッセージを受信していない場合（Ｓ２１：ＮＯ）、送受信処理部３１ｃは、メッセージを受信するまで待機する。メッセージを受信した場合（Ｓ２１：ＹＥＳ）、送受信処理部３１ｃは、受信したメッセージに付されたＭＡＣを取得する（ステップＳ２２）。
【０１１２】
処理部３１のＭＡＣ判定部３１ｂは、ステップＳ２２にて取得したＭＡＣが正しいものであるか否かを判定する（ステップＳ２３）。このときにＭＡＣ判定部３１ｂは、図６に示したテーブルを参照することによって、受信したメッセージに付されたＭＡＣの正否判定に用いるべき暗号鍵を判断する。ＭＡＣ判定部３１ｂは、鍵記憶部３２ｂに記憶された暗号鍵を用いて受信メッセージから生成したＭＡＣと、ステップＳ２２にて取得したＭＡＣとが一致するか否かに応じて、ＭＡＣの正否を判定する。ＭＡＣが正しいものである場合（Ｓ２３：ＹＥＳ）、送受信処理部４１ｃは、通知メッセージを送信することなく、処理を終了する。
【０１１３】
ＭＡＣが正しいものでない場合（Ｓ２３：ＮＯ）、送受信処理部４１ｃは、受信したメッセージを破棄する（ステップＳ２４）。次いで処理部３１の通知処理部３１ｄは、不正なＭＡＣを検出した旨を通知する通知メッセージを生成する（ステップＳ２５）。通知メッセージには、例えば不正と判定したＭＡＣのセキュリティレベル、又は、このＭＡＣが付されていたメッセージのＩＤ等の情報が含まれる。処理部３１のＭＡＣ生成部３１ａは、ステップＳ２５にて生成した通知メッセージに対してＭＡＣを生成して付与する（ステップＳ２６）。このときにＭＡＣ生成部３１ａは、通知メッセージを送信すべきＥＣＵ４Ａ〜４Ｃについて記憶している通知用の鍵情報を鍵記憶部３２ｂから読み出し、ＥＣＵ４Ａ〜４Ｃ毎にそれぞれ異なるＭＡＣを生成する。このため、複数のＥＣＵ４Ａ〜４Ｃに対して通知メッセージを送信する場合には、異なるＭＡＣが付された複数の通知メッセージが生成される。通知処理部３１ｄは、ＭＡＣが付された通知メッセージをＣＡＮ通信部３３にて送信し（ステップＳ２７）、処理を終了する。
【０１１４】
図１２は、本実施の形態に係るＤＣ３Ａが行う通知メッセージの送信処理の手順を示すフローチャートであり、上記の（２）単数合意通知の場合の手順である。本実施の形態に係るＤＣ３Ａの処理部３１の送受信処理部３１ｃは、ＣＡＮ通信部３３にてＥＣＵ４Ａ〜４Ｃからのメッセージを受信したか否かを判定する（ステップＳ３１）。メッセージを受信していない場合（Ｓ３１：ＮＯ）、送受信処理部３１ｃは、メッセージを受信するまで待機する。メッセージを受信した場合（Ｓ３１：ＹＥＳ）、送受信処理部３１ｃは、受信したメッセージに付されたＭＡＣを取得する（ステップＳ３２）。処理部３１のＭＡＣ判定部３１ｂは、ステップＳ３２にて取得したＭＡＣが正しいものであるか否かを判定する（ステップＳ３３）。ＭＡＣが正しいものである場合（Ｓ３３：ＹＥＳ）、送受信処理部４１ｃは、通知メッセージを送信することなく、処理を終了する。ＭＡＣが正しいものでない場合（Ｓ３３：ＮＯ）、送受信処理部３１ｃは、受信したメッセージを破棄する（ステップＳ３４）。
【０１１５】
その後、通知処理部３１ｄは、ＥＣＵ４Ａ〜４Ｃから送信されるキープアライブ信号をＣＡＮ通信部３３にて受信したか否かを判定する（ステップ３５）。キープアライブ信号を受信した場合（Ｓ３５：ＹＥＳ）、通知処理部３１ｄは、受信したキープアライブ信号に付されたＭＡＣが正しいものであることを確認した後、受信したキープアライブ信号に不正なＭＡＣの検出に係る情報が付されていたか否かを判定する（ステップＳ３６）。キープアライブ信号に不正ＭＡＣの情報が付されていた場合（Ｓ３６：ＹＥＳ）、通知処理部３１ｄは、キープアライブ信号に付された情報に示される不正ＭＡＣの判定結果と、ステップＳ３３にて行った自身の不正ＭＡＣの判定結果とが一致するか否かを判定する（ステップＳ３７）。
【０１１６】
ＥＣＵ４Ａ〜４Ｃからキープアライブ信号を受信していない場合（Ｓ３５：ＮＯ）、受信したキープアライブ信号に不正ＭＡＣの情報が付されていない場合（Ｓ３６：ＮＯ）、又は、キープアライブ信号に付された情報に示される判定結果が自身の判定結果と一致しない場合（Ｓ３７：ＮＯ）、通知処理部３１ｄは、ステップＳ３５へ処理を戻し、自身の判定結果と一致する不正ＭＡＣの情報が付されたキープアライブ信号を受信するまで待機する。
【０１１７】
キープアライブ信号に付された情報に示される判定結果が自身の判定結果に一致する場合（Ｓ３７：ＹＥＳ）、通知処理部３１ｄは、不正なＭＡＣを検出した旨を通知する通知メッセージを生成し、この通知メッセージに通知用の鍵情報を用いたＭＡＣを付して、ＭＡＣが付された通知メッセージをＣＡＮ通信部３３にて送信し（ステップＳ３８）、処理を終了する。
【０１１８】
なお、上記（３）複数合意通知の場合の通知メッセージの送信処理の手順では、上記のステップＳ３５〜Ｓ３７に示したキープアライブ信号に関する処理を、複数のＥＣＵ４Ａ〜４Ｃについて繰り返し行えばよい。この場合のフローチャートの図示、及び、手順の詳細な説明は省略する。
【０１１９】
以上の構成の本実施の形態に係る車載通信システムは、共通のＣＡＮバスにＤＣ３Ａ及び複数のＥＣＵ４Ａ〜４Ｃが接続される。複数のＥＣＵ４Ａ〜４Ｃは、複数のセキュリティレベル（レベル１，２）に分類され、セキュリティレベル毎に共通鍵（鍵ａ，ｂ）が定められる。各ＥＣＵ４Ａ〜４Ｃは、自身のセキュリティレベルに応じて一又は複数の鍵ａ，ｂを鍵記憶部４２ｂに記憶しておき、記憶した鍵ａ，ｂを用いて生成したＭＡＣをメッセージに付して送信すると共に、受信したメッセージに付されたＭＡＣの正否を判定する。異なる鍵ａ，ｂを用いて生成されたＭＡＣが付されたメッセージが共通のＣＡＮバス上で送受信されるため、各ＥＣＵ４Ａ〜４Ｃは、自身が有する鍵ａ，ｂと同じ鍵ａ，ｂで生成されたＭＡＣが付されたメッセージの正否を判定できるが、自身が有しない鍵ａ，ｂで生成されたＭＡＣが付されたメッセージに成否は判定できない。
【０１２０】
ＤＣ３Ａは、各セキュリティレベルの鍵ａ，ｂを鍵記憶部３２ｂに記憶しておき、受信したメッセージに付されたＭＡＣに対応する鍵ａ，ｂを用いて判定を行う。ＤＣ３Ａは、共通のＣＡＮバスを介して送受信される全てのメッセージについて、メッセージに付されたＭＡＣの正否を判定できる。ＤＣ３Ａは、不正なＭＡＣが付されたメッセージを受信した場合、このＭＡＣの判定に用いた鍵ａ，ｂを有していないＥＣＵ４Ａ〜４Ｃに対して通知メッセージを送信する。
【０１２１】
これにより各ＥＣＵ４Ａ〜４Ｃは、自身が記憶している鍵ａ，ｂでＭＡＣの正否を判定できるメッセージについては自身で判定を行い、自身で判定できないメッセージについてはＤＣ３Ａからの通知メッセージを受信することで、共通のＣＡＮバスに不正なメッセージが送信されたことを判断できる。よって共通のＣＡＮバスに異なるセキュリティレベルのＥＣＵ４Ａ〜４Ｃが混在することができる。
【０１２２】
また本実施の形態に係る車載通信システムでは、メッセージに対して複数のＭＡＣを付すことが可能である。ＥＣＵ４Ａ〜４Ｃは、自身のセキュリティレベルに対して定められた鍵ａ，ｂと、自身のセキュリティレベルより低いセキュリティレベルに対して定められた鍵ａ，ｂとを記憶しておく。複数の鍵ａ，ｂを記憶しているＥＣＵ４Ａ〜４Ｃは、この複数の鍵ａ，ｂを用いて複数のＭＡＣを生成し、生成した複数のＭＡＣをメッセージに付して送信する。これによりＥＣＵ４Ａ〜４Ｃは、自身と同じセキュリティレベルのＥＣＵ４Ａ〜４Ｃと、これより低いセキュリティレベルのＥＣＵ４Ａ〜４Ｃとにメッセージを送信することが可能となる。
【０１２３】
また本実施の形態に係る車載通信システムでは、複数のＭＡＣが付されたメッセージを受信したＥＣＵ４Ａ〜４Ｃは、自身が記憶している鍵ａ，ｂを用いて正否を判定可能な少なくとも１つのＭＡＣについて正否判定を行う。これによりＥＣＵ４Ａ〜４Ｃは、自身のセキュリティレベルより高いセキュリティレベルのＥＣＵ４Ａ〜４Ｃが送信したメッセージであっても、自身が記憶している鍵ａ，ｂで正否を判定可能なＭＡＣが付されたメッセージであれば、メッセージの正否を判定して受信することが可能となる。よって、共通のＣＡＮバスに接続された複数のＥＣＵ４Ａ〜４Ｃは、異なるセキュリティレベルのＥＣＵ４Ａ〜４Ｃを含む複数のＥＣＵ４Ａ〜４Ｃに対して、メッセージの一斉送信を行うことが可能である。
【０１２４】
また本実施の形態に係る車載通信システムでは、受信したメッセージに付されたＭＡＣが正しくないと判定した場合、各ＥＣＵ４Ａ〜４ＣはＤＣ３Ａに対する通知を、キープアライブ信号を用いて行う。ＤＣ３Ａは、メッセージに付されたＭＡＣが正しくないと自身で判断し、且つ、ＥＣＵ４Ａ〜４Ｃからの通知を受けた場合に、不正なＭＡＣを検出した旨の通知メッセージをＥＣＵ４Ａ〜４Ｃに対して送信する。これによりＤＣ３ＡからＥＣＵ４Ａ〜４Ｃへの通知メッセージの信頼性を高めることができる。またキープアライブ信号を用いてＥＣＵ４Ａ〜４ＣからＤＣ３Ａへの通知を行うことにより、ＥＣＵ４Ａ〜４ＣからＤＣ３Ａへの通知が通常のメッセージ送受信を阻害することを防止できる。ＤＣ３Ａは、キープアライブ信号に含まれる情報を基に通信に関する異常を検出することができ、またキープアライブ信号が受信されない場合にも何らかの異常の発生を検出することができる。
【０１２５】
なお本実施の形態においては、ＤＣ３ＡからＥＣＵ４Ａ〜４Ｃへの通知メッセージに付すＭＡＣの生成及び判定のために、各ＥＣＵ４Ａ〜４Ｃが個別の鍵α，β，γを記憶する構成としたが、これに限るものではない。ＤＣ３Ａ及びＥＣＵ４Ａ〜４Ｃが通知メッセージを送受信するために特別な暗号鍵を有していない構成であってもよい。また通知メッセージは、各ＥＣＵ４Ａ〜４Ｃへ個別に送信されるのではなく、全ＥＣＵ４Ａ〜４Ｃに一斉送信されてもよい。
【０１２６】
また、図示した車載通信システムの装置構成、ネットワーク構成及びシステム構成等は、一例であって、これに限るものではない。また図６のテーブルに示したセキュリティレベルの分類及び共通鍵の割り当て等は、一例であって、これに限るものではない。
【０１２７】
＜実施の形態２＞
図１３は、実施の形態２に係るＤＣ３Ａ及びＥＣＵ４Ａ〜４Ｃによるメッセージ送受信の一例を示す模式図である。実施の形態２に係る車載通信システムでは、各ＥＣＵ４Ａ〜４Ｃは自身のセキュリティレベルに応じた１つの鍵ａ，ｂのみを記憶し、自身のセキュリティレベルより低いセキュリティレベルの鍵ａ，ｂを記憶しない。各ＥＣＵ４Ａ〜４Ｃは、自身が記憶している１つの鍵ａ，ｂを用いてＭＡＣを生成し、１つのＭＡＣを付したメッセージを送信する。図示の例では、セキュリティレベル２に対応する鍵ｂを記憶したＥＣＵ４Ａは、鍵ｂを用いたＭＡＣ（ｂ）を生成し、メッセージにＭＡＣ（ｂ）を付して送信する。このメッセージは、鍵ｂを記憶していないＥＣＵ４Ｂ，４Ｃでは受信されない。ＤＣ３Ａは、全セキュリティレベルの鍵ａ，ｂを記憶しており、受信したメッセージに付されたＭＡＣ（ｂ）に対応する鍵ｂを用いて、このメッセージの正否を判定することができる。
【０１２８】
実施の形態２に係る車載通信システムでは、ＥＣＵ４Ａ〜４Ｃは、自身と同じ鍵ａ，ｂを有していない他のＥＣＵ４Ａ〜４Ｃとの間で直接的なメッセージの送受信を行うことができない。そこで実施の形態２に係るＤＣ３Ａは、異なるセキュリティレベル間でのメッセージを中継する処理を行う。図示の例では、ＥＣＵ４ＡからＭＡＣ（ｂ）が付されたメッセージを受信したＤＣ３Ａは、自身が記憶している鍵ｂを用いてこのメッセージが正当なものであると判定した後、自身が記憶している鍵ａを用いてこのメッセージにＭＡＣ（ａ）を生成して付与し、ＭＡＣ（ａ）を付したメッセージをＥＣＵ４Ｂ，４Ｃへ送信する。ＥＣＵ４Ｂ，４Ｃは、自身が記憶している鍵ａを用いて、ＤＣ３Ａからのメッセージに付されたＭＡＣ（ａ）の正否を判定し、このメッセージを受信することができる。
【０１２９】
ＤＣ３Ａは、受信したメッセージに付されたＭＡＣが不正と判定した場合に通知メッセージを送信する。実施の形態１においては、不正なＭＡＣのセキュリティレベルより低いセキュリティレベルのＥＣＵ４Ａ〜４Ｃに対してＤＣ３Ａが通知メッセージを送信した。これに対して実施の形態２に係るＤＣ３Ａは、不正なＭＡＣのセキュリティレベルとは異なるセキュリティレベルのＥＣＵ４Ａ〜４Ｃに対して通知メッセージを送信する。図示の例では、例えばＥＣＵ４Ｂが送信したメッセージに付されたＭＡＣ（ａ）が不正であると判定した場合、ＤＣ３Ａは、ＭＡＣ（ａ）のセキュリティレベル１とは異なるセキュリティレベル２のＥＣＵ４Ａ、即ちＭＡＣ（ａ）の判定に必要な鍵ａを有していないＥＣＵ４Ａに対して通知メッセージを送信する。
【０１３０】
図１４は、実施の形態２に係るＤＣ３Ａが行う処理の手順を示すフローチャートである。実施の形態２に係るＤＣ３Ａの処理部３１の送受信処理部３１ｃは、ＣＡＮ通信部３３にてＥＣＵ４Ａ〜４Ｃからのメッセージを受信したか否かを判定する（ステップＳ４１）。メッセージを受信していない場合（Ｓ４１：ＮＯ）、送受信処理部３１ｃは、メッセージを受信するまで待機する。メッセージを受信した場合（Ｓ４１：ＹＥＳ）、送受信処理部３１ｃは、受信したメッセージに付されたＭＡＣを取得する（ステップＳ４２）。
【０１３１】
処理部３１のＭＡＣ判定部３１ｂは、ステップＳ４２にて取得したＭＡＣが正しいものであるか否かを判定する（ステップＳ４３）。ＭＡＣが正しいものでない場合（Ｓ４３：ＮＯ）、送受信処理部４１ｃは、受信したメッセージを破棄する（ステップ４４）。次いで処理部３１の通知処理部３１ｄは、不正なＭＡＣを検出した旨を通知する通知メッセージを生成する（ステップＳ４５）。処理部３１のＭＡＣ生成部３１ａは、ステップＳ４５にて生成した通知メッセージに大したＭＡＣを生成して付与する（ステップＳ４６）。通知処理部３１ｄは、ＭＡＣが付された通知メッセージをＣＡＮ通信部３３にて送信し（ステップＳ４７）、処理を終了する。
【０１３２】
ＭＡＣが正しいものである場合（Ｓ４３：ＹＥＳ）、送受信処理部４１ｃは、正しいと判定したＭＡＣとは異なるセキュリティレベルの暗号鍵を鍵記憶部３２ｂから読み出して、受信したメッセージに対する異なるセキュリティレベルのＭＡＣを生成する（ステップＳ４８）。送受信処理部４１ｃは、受信したメッセージに付されたＭＡＣを削除し、ステップＳ４８にて生成したＭＡＣをメッセージに付すことによって、メッセージのＭＡＣを交換する（ステップＳ４９）。送受信処理部４１ｃは、ＭＡＣを交換したメッセージをＣＡＮ通信部３３にて送信することで、異なるセキュリティレベル間でのメッセージを中継し（ステップＳ５０）、処理を終了する。
【０１３３】
以上の構成の実施の形態２に係る車載通信システムでは、メッセージに対して１つのＭＡＣが付される。ＥＣＵ４Ａ〜４Ｃは、自身のセキュリティレベルに対して定められた１つの鍵ａ，ｂを記憶しておき、この鍵ａ，ｂを用いて１つのＭＡＣを生成し、生成した１つのＭＡＣをメッセージに付して送信する。これにより、各ＥＣＵ４Ａ〜４Ｃの構成を容易化することができる。また異なるセキュリティレベルのＥＣＵ４Ａ〜４Ｃを分離して扱うことが容易化される。
【０１３４】
また実施の形態２に係るＤＣ３Ａは、ＥＣＵ４Ａ〜４Ｃが送信したメッセージを受信してＭＡＣの正否を判定し、正しいと判定したメッセージ対して判定に用いた鍵ａ，ｂとは異なる鍵ａ，ｂを用いて生成したＭＡＣを付し、新たなＭＡＣが付されたメッセージをＣＡＮバスに対して送信する。これによりＤＣ３Ａは、セキュリティレベルが異なるＥＣＵ４Ａ〜４Ｃ間のメッセージの送受信を中継することが可能となる。各ＥＣＵ４Ａ〜４Ｃは、ＤＣ３Ａを介して、ＣＡＮバスに接続された全てのＥＣＵ４Ａ〜４Ｃに対してメッセージを送信することが可能となる。
【０１３５】
なお、実施の形態２に係る車載通信システムのその他の構成は、実施の形態１に係る車載通信システムと同様であるため、同様の箇所には同じ符号を付し、詳細な説明を省略する。
【０１３６】
＜実施の形態３＞
図１５は、実施の形態３に係るＤＣ３０３Ａ及びＥＣＵ３０４Ａ〜３０４Ｃによるメッセージ送受信の一例を示す模式図である。実施の形態３に係る車載通信システムでは、共通のＣＡＮバスに接続された複数のＥＣＵ３０４Ａ〜３０４Ｃは、それぞれ異なる鍵ｘ〜ｚを１つ記憶している。このＣＡＮバスに接続されたＤＣ３０３Ａは、ＥＣＵ３０４Ａ〜３０４Ｃの鍵ｘ〜ｚを記憶している。各ＥＣＵ３０４Ａ〜３０４Ｃは、自身が記憶している１つの鍵ｘ〜ｚを用いてＭＡＣを生成し、１つのＭＡＣを付したメッセージを送信する。図示の例では、鍵ｘを記憶したＥＣＵ３０４Ａは、鍵ｘを用いたＭＡＣ（ｘ）を生成し、メッセージにＭＡＣ（ｘ）を付して送信する。
【０１３７】
実施の形態３に係る車載通信システムでは、各ＥＣＵ３０４Ａ〜３０４Ｃは、受信したメッセージに付されたＭＡＣの正否を判定しない。このため、ＥＣＵ４０３Ａが送信したＭＡＣ（ｘ）が付されたメッセージは、鍵ｘを記憶していないＥＣＵ３０４Ｂ，３０４Ｃでも受信することが可能である。ＥＣＵ３０４Ｂ，３０４Ｃは、受信したメッセージに付されたＭＡＣ（ｘ）の正否を判定することなく、このメッセージを自身の処理に用いる。
【０１３８】
実施の形態３に係る車載通信システムでは、ＥＣＵ４０３Ａ〜４０３Ｃが送信したメッセージに付されたＭＡＣの正否判定は、ＤＣ３０３Ａで行われる。実施の形態３に係る車載通信システムにて送受信されるメッセージは、ＣＡＮの通信プロトコルのデータフレームの構成が採用され得る。ＣＡＮのデータフレームは、例えばスタートオブフレーム、アービトレーションフィールド、コントロールフィールド、データフィールド、ＣＲＣフィールド、ＡＣＫフィールド及びエンドオブフレーム等の複数のフィールドで構成されている。ＭＡＣは、例えばデータフィールドの一部に格納される。
【０１３９】
図１６は、実施の形態３に係るＤＣ３０３Ａによるメッセージの破棄を説明するための模式図である。実施の形態３に係るＤＣ３０３Ａは、いずれかのＥＣＵ３０４Ａ〜３０４ＣによるＣＡＮバスに対するメッセージの送信を監視している。メッセージの送信が開始された後、ＤＣ３０３Ａは、データフィールドの送信が完了した時点で、データフィールドに含まれるＭＡＣの正否を判定する。ＤＣ３０３Ａは、ＭＡＣが不正であると判定した場合、このメッセージの送信が完了する前に、ＣＡＮの通信プロトコルに規定されたエラーフレームを送信することによって、このメッセージの送信を阻害する。これにより不正なＭＡＣが付されたメッセージの送信は中断され、ＥＣＵ３０４Ａ〜３０４Ｃではこのメッセージが破棄される。
【０１４０】
なお実施の形態３に係るＤＣ３０３Ａが行うＭＡＣの判定及びエラーフレームの送信等の処理は、ＥＣＵ３０４Ａ〜３０４Ｃによりメッセージ送信が完了する前に実施される必要がある。このためこれらの処理は、ＤＣ３０３Ａの処理部３１が行うのではなく、ＣＡＮ通信部３３が行うことが好ましい。
【０１４１】
また、ＤＣ３０３ＡがＥＣＵ３０４Ａ〜３０４Ｃに対してメッセージを破棄させる方法は、エラーフレームの送信に限らない。例えばＤＣ３０３Ａは、メッセージに含まれる所定ビットのデータを反転させる信号をＣＡＮバスに対して出力することで、ＥＣＵ３０４Ａ〜３０４Ｃに破棄させる構成としてもよい。ＤＣ３０３Ａは、メッセージの送信が完了する前に、このメッセージをＥＣＵ３０４Ａ〜３０４Ｃが正当なメッセージと判断できないよう変化させることによって、ＥＣＵ３０４Ａ〜３０４Ｃにメッセージを破棄させることができる。
【０１４２】
図１７は、実施の形態３に係るＤＣ３０３Ａが行う処理の手順を示すフローチャートである。実施の形態３に係るＤＣ３０３Ａは、ＣＡＮバスに接続されたいずれかのＥＣＵ３０４Ａ〜３０４Ｃによるメッセージ送信の有無を判定する（ステップＳ６１）。メッセージ送信がなされていない場合（Ｓ６１：ＮＯ）、ＤＣ３０３Ａは、メッセージ送信がなされるまで待機する。メッセージ送信がなされている場合（Ｓ６１：ＹＥＳ）、ＤＣ３０３Ａは、このメッセージに含まれるＭＡＣの送信が終了したか否かを判定する（ステップＳ６２）。ＭＡＣの送信が終了していない場合（Ｓ６２：ＮＯ）、ＤＣ３０３Ａは、ＭＡＣの送信が終了するまで待機する。
【０１４３】
ＭＡＣの送信が終了した場合（Ｓ６２：ＹＥＳ）、ＤＣ３０３Ａは、送信中のメッセージについてＭＡＣが正しいか否かの判定を行う（ステップＳ６３）。ＭＡＣが正しくないと判定した場合（Ｓ６３：ＮＯ）、ＤＣ３０３Ａは、このメッセージの送信が完了する前に、ＣＡＮバスに対してエラーフレームを送信し（ステップＳ６４）、処理を終了する。ＭＡＣが正しいと判定した場合（Ｓ６３：ＹＥＳ）、ＤＣ３０３Ａは、このメッセージを受信して（ステップＳ６５）、処理を終了する。
【０１４４】
以上の構成の実施の形態３に係る車載通信システムは、共通のＣＡＮバスに接続された複数のＥＣＵ３０４Ａ〜３０４Ｃに対し、個別の鍵ｘ，ｙ，ｚが定められる。ＥＣＵ３０４Ａ〜３０４Ｃは、自身に対して定められた鍵ｘ，ｙ，ｚを記憶しておき、この鍵ｘ，ｙ，ｚを用いて生成したＭＡＣをメッセージに付して送信する。ＤＣ３０３Ａは、共通のＣＡＮバスに接続された各ＥＣＵ３０４Ａ〜３０４Ｃに対して定められた鍵ｘ，ｙ，ｚを記憶しておき、ＣＡＮバスに送信されたメッセージに付されたＭＡＣの正否を、記憶したいずれかの鍵ｘ，ｙ，ｚを用いて判定する。これにより、共通のＣＡＮバスに接続された複数のＥＣＵ３０４Ａ〜３０４Ｃがセキュリティ的に個別に分離され、各ＥＣＵ３０４Ａ〜３０４ＣがＤＣ３０３Ａとそれぞれ個別にメッセージの送受信を行う態様となるため、セキュリティ性を高めることができる。
【０１４５】
また実施の形態３に係る車載通信システムでは、各ＥＣＵ３０４Ａ〜３０４Ｃが自身の鍵ｘ，ｙ，ｚを用いて、受信したメッセージに付されたＭＡＣの正否を判定する。ＤＣ３０３Ａは、受信したメッセージに付されたＭＡＣが正しいと判定した場合、判定に用いた鍵ｘ，ｙ，ｚとは異なる鍵ｘ，ｙ，ｚを用いてＭＡＣを生成し、生成したＭＡＣを付したメッセージをＣＡＮバスへ送信する。これによりＤＣ３０３Ａは、ＥＣＵ３０４Ａ〜３０４Ｃの間のメッセージ送受信を中継することができる。ＥＣＵ３０４Ａ〜３０４Ｃは、ＤＣ３０３Ａを介することで他のＥＣＵ３０４Ａ〜３０４Ｃとの間でメッセージを送受信することができる。
【０１４６】
また実施の形態３に係る車載通信システムでは、ＥＣＵ３０４Ａ〜３０４Ｃのメッセージ送信完了前に、ＤＣ３０３Ａがこのメッセージに付されたＭＡＣの正否を判定する。ＤＣ３０３Ａは、ＭＡＣが正しくないと判定した場合、このメッセージの送信完了前にエラーフレームを送信することによって、ＥＣＵ３０４Ａ〜３０４Ｃに対してこのメッセージを破棄させる。これにより各ＥＣＵ３０４Ａ〜３０４Ｃは、メッセージに付されたＭＡＣの正否を判定する必要がなく、ＤＣ３０３Ａにより破棄させられなかったメッセージについてＭＡＣの正否を判定することなく受信してその後の処理に用いることができる。
【０１４７】
なお実施の形態３においては、ＥＣＵ３０４Ａ〜３０４Ｃがメッセージに付されたＭＡＣの正否を判定せず、ＤＣ３０３ＡがＭＡＣの正否を判定して不正なメッセージを破棄させる構成としたが、これに限るものではない。実施の形態１，２と同様に、各ＥＣＵ３０４Ａ〜３０４Ｃ及びＤＣ３０３ＡがＭＡＣの正否を判定し、不正なＭＡＣを検出した場合にＤＣ３０３ＡがＥＣＵ３０４Ａ〜３０４Ｃへ通知メッセージを送信する構成であってもよい。また逆に、実施の形態１，２に係る車載通信システムもＤＣ３Ａが通知メッセージを送信するのではなく、メッセージの送信完了前にエラーフレームを送信することによって不正なメッセージを破棄させる構成としてもよい。
【０１４８】
なお、実施の形態３に係る車載通信システムのその他の構成は、実施の形態１に係る車載通信システムと同様であるため、同様の箇所には同じ符号を付し、詳細な説明を省略する。
【０１４９】
今回開示された実施形態はすべての点で例示であって、制限的なものではないと考えられるべきである。本発明の範囲は、上記した意味ではなく、特許請求の範囲によって示され、特許請求の範囲と均等の意味及び範囲内でのすべての変更が含まれることが意図される。
【符号の説明】
【０１５０】
１  車両
２  ＣＧＷ
３Ａ〜３Ｃ  ＤＣ
４Ａ〜４Ｉ  ＥＣＵ
３１  処理部
３１ａ  ＭＡＣ生成部
３１ｂ  ＭＡＣ判定部
３１ｃ  送受信処理部
３１ｄ  通知処理部
３２  記憶部
３２ａ  プログラム
３２ｂ  鍵記憶部
３３  ＣＡＮ通信部
３４  イーサネット通信部
４１  処理部
４１ａ  ＭＡＣ生成部
４１ｂ  ＭＡＣ判定部
４１ｃ  送受信処理部
４１ｄ  通知処理部
４２  記憶部
４２ａ  プログラム
４２ｂ  鍵記憶部
４３  ＣＡＮ通信部
９８，９９  記録媒体
３０３Ａ  ＤＣ
３０４Ａ〜３０４Ｃ  ＥＣＵ
【図１】
2020113852.tif 000003
【図２】
2020113852.tif 000004
【図３】
2020113852.tif 000005
【図４】
2020113852.tif 000006
【図５】
2020113852.tif 000007
【図６】
2020113852.tif 000008
【図７】
2020113852.tif 000009
【図８】
2020113852.tif 000010
【図９】
2020113852.tif 000011
【図１０】
2020113852.tif 000012
【図１１】
2020113852.tif 000013
【図１２】
2020113852.tif 000014
【図１３】
2020113852.tif 000015
【図１４】
2020113852.tif 000016
【図１５】
2020113852.tif 000017
【図１６】
2020113852.tif 000018
【図１７】
2020113852.tif 000019