(57)【要約】      （修正有）【課題】専用の同期信号を用いた場合に起こりうる送受信間の鍵の切り換えタイミングのずれや鍵の切り換えの失敗を原因とした通信の不成立を低減する。【解決手段】メッセージを送信する送信側電子制御装置１００及びメッセージを受信する受信側電子制御装置２００で構成される通信システム１０の送信側電子制御装置１００であって、複数の鍵を有する鍵テーブル部１０１と、送信側電子制御装置と受信側電子制御装置との通信において同期された情報である同期情報に基づき、鍵テーブル部から一つの鍵を選択する鍵選択部１０２と、メッセージを生成するメッセージ生成部１０３と、鍵選択部で選択された鍵及びメッセージを用いてメッセージ認証コード（ＭＡＣ）を生成するＭＡＣ生成部１０５と、メッセージにメッセージ認証コードを付与して送信する送信部１０６と、を備える。【選択図】図１
2019140577.tif 000002
【特許請求の範囲】
【請求項１】
メッセージを送信する送信側電子制御装置（１００）及び前記メッセージを受信する受信側電子制御装置（２００）で構成される通信システム（１０）の前記送信側電子制御装置（１００）であって、
複数の鍵を有する鍵テーブル部（１０１）と、
当該送信側電子制御装置と前記受信側電子制御装置との通信において同期された情報である同期情報に基づき、前記鍵テーブル部から一つの鍵を選択する鍵選択部（１０２）と、
前記メッセージを生成するメッセージ生成部（１０３）と、
前記鍵選択部で選択された鍵及び前記メッセージを用いてメッセージ認証コード（ＭＡＣ）を生成するＭＡＣ生成部（１０５）と、
前記メッセージに前記メッセージ認証コードを付与して送信する送信部（１０６）と、
を有する電子制御装置（１００）。
【請求項２】
前記同期情報は、当該送信側電子制御装置及び前記受信側電子制御装置で生成されるフレッシュネス値（ＦＶ）である、
請求項１記載の電子制御装置（１００）。
【請求項３】
前記同期情報は、当該送信側電子制御装置及び前記受信側電子制御装置で生成される時間情報である、
請求項１又は２記載の電子制御装置（１００）。
【請求項４】
前記同期情報は、当該送信側電子制御装置から前記受信側電子制御装置に送信した使い捨てのランダムな値であるノンスである、
請求項１又は２記載の電子制御装置（１００）。
【請求項５】
車両に搭載された当該送信側電子制御装置であって、
前記同期情報は、前記車両を制御する制御情報である、
請求項１記載の電子制御装置（３００）。
【請求項６】
前記鍵選択部は、前記フレッシュネス値を構成する特定のビットに基づき、前記鍵テーブル部から一つの鍵を選択する、
請求項２記載の電子制御装置（１００）。
【請求項７】
前記鍵選択部は、当該送信側電子制御装置から送信される前記制御情報の送信頻度に基づき、前記鍵テーブル部から一つの鍵を選択する、
請求項５記載の電子制御装置（３００）。
【請求項８】
メッセージを送信する送信側電子制御装置（１００）及び前記メッセージを受信する受信側電子制御装置（２００）で構成される通信システム（１０）の前記受信側電子制御装置（２００）であって、
前記送信側電子制御装置から送信された前記メッセージ及び前記メッセージに付与されたメッセージ認証コード（ＭＡＣ）を受信する受信部（２０３）と、
複数の鍵を有する鍵テーブル部（２０１）と、
当該受信側電子制御装置と前記送信側電子制御装置との通信において同期された情報である同期情報に基づき、前記鍵テーブル部から一つの鍵を選択する鍵選択部（２０２）と、
前記鍵選択部で選択された鍵及び前記メッセージを用いて検証用メッセージ認証コード（ＭＡＣ）を生成する検証用ＭＡＣ生成部（２０５）と、
前記メッセージ認証コードと前記検証用メッセージ認証コードの同一性を検証する検証部（２０６）と、
を有する電子制御装置（２００）。
【請求項９】
メッセージを送信する送信側電子制御装置（１００）及び前記メッセージを受信する受信側電子制御装置（２００）で構成される通信システム（１０）であって、
前記送信側電子制御装置及び前記受信側電子制御装置はそれぞれ、
複数の鍵を有する鍵テーブル部（１０１、２０１）と、
前記送信側電子制御装置と前記受信側電子制御装置との通信において同期された情報である同期情報に基づき、前記鍵テーブル部から一つの鍵を選択する鍵選択部（１０２、２０２）と、
を有し、
前記送信側電子制御装置は、
前記メッセージを生成するメッセージ生成部（１０３）と、
前記鍵選択部で選択された鍵及び前記メッセージを用いてメッセージ認証コード（ＭＡＣ）を生成するＭＡＣ生成部（１０５）と、
前記メッセージに前記メッセージ認証コードを付与して送信する送信部（１０６）と、
を有し、
前記受信側電子制御装置は、
前記送信側電子制御装置から送信された前記メッセージ及び前記メッセージに付与されたメッセージ認証コード（ＭＡＣ）を受信する受信部（２０３）と、
前記鍵選択部で選択された鍵及び前記メッセージを用いて検証用メッセージ認証コード（ＭＡＣ）を生成する検証用ＭＡＣ生成部（２０５）と、
前記メッセージ認証コードと前記検証用メッセージ認証コードの同一性を検証する検証部（２０６）と、
を有する通信システム（１０）。
【請求項１０】
メッセージを送信する送信側電子制御装置（１００）及び前記メッセージを受信する受信側電子制御装置（２００）で構成される通信システム（１０）で用いられる鍵選択装置（１１、１２）であって、
複数の鍵を有する鍵テーブル部（１０１、１０２）と、
前記送信側電子制御装置と前記受信側電子制御装置との通信において同期された情報である同期情報に基づき、前記鍵テーブル部から一つの鍵を選択する鍵選択部（１０２、２０２）と、
前記鍵選択部で選択された前記一つの鍵を出力する出力部と、
を有する鍵選択装置（１１、１２）。
【請求項１１】
メッセージを送信する送信側電子制御装置（１００）及び前記メッセージを受信する受信側電子制御装置（２００）で構成される通信システム（１０）の前記送信側電子制御装置（１００）で実行されるメッセージ送信方法あって、
前記送信側電子制御装置と前記受信側電子制御装置との通信において同期された情報である同期情報に基づき、複数の鍵を有する鍵テーブル部から一つの鍵を選択し、
前記メッセージを生成し、
選択された前記一つの鍵及び前記メッセージを用いてメッセージ認証コード（ＭＡＣ）を生成し、
前記メッセージに前記メッセージ認証コードを付与して送信する、
メッセージ送信方法。
【請求項１２】
メッセージを送信する送信側電子制御装置（１００）及び前記メッセージを受信する受信側電子制御装置（２００）で構成される通信システム（１０）の前記受信側電子制御装置（２００）で実行されるメッセージ受信方法であって、
前記送信側電子制御装置から送信された前記メッセージ及び前記メッセージに付与されたメッセージ認証コード（ＭＡＣ）を受信し、
前記受信側電子制御装置と前記送信側電子制御装置との通信において同期された情報である同期情報に基づき、複数の鍵を有する鍵テーブル部から一つの鍵を選択し、
選択された前記一つの鍵及び前記メッセージを用いて検証用メッセージ認証コード（ＭＡＣ）を生成し、
前記メッセージ認証コードと前記検証用メッセージ認証コードの同一性を検証する、
メッセージ受信方法。
【請求項１３】
メッセージを送信する送信側電子制御装置（１００）及び前記メッセージを受信する受信側電子制御装置（２００）で構成される通信システム（１０）で用いられる鍵選択方法であって、
前記送信側電子制御装置と前記受信側電子制御装置との通信において同期された情報である同期情報に基づき、複数の鍵を有する前記鍵テーブル部から一つの鍵を選択し、
選択された前記一つの鍵を出力する、
鍵選択方法。
【請求項１４】
メッセージを送信する送信側電子制御装置（１００）及び前記メッセージを受信する受信側電子制御装置（２００）で構成される通信システム（１０）の前記送信側電子制御装置（１００）で実行されるメッセージ送信プログラムであって、
前記送信側電子制御装置と前記受信側電子制御装置との通信において同期された情報である同期情報に基づき、複数の鍵を有する鍵テーブル部から一つの鍵を選択するステップと、
前記メッセージを生成するステップと、
選択された前記一つの鍵及び前記メッセージを用いてメッセージ認証コード（ＭＡＣ）を生成するステップと、
前記メッセージに前記メッセージ認証コードを付与して送信するステップと、
を有するコンピュータにて実行可能なメッセージ送信プログラム。
【請求項１５】
メッセージを送信する送信側電子制御装置（１００）及び前記メッセージを受信する受信側電子制御装置（２００）で構成される通信システム（１０）の前記受信側電子制御装置（２００）で実行されるメッセージ受信プログラムであって、
前記送信側電子制御装置から送信された前記メッセージ及び前記メッセージに付与されたメッセージ認証コード（ＭＡＣ）を受信するステップと、
前記受信側電子制御装置と前記送信側電子制御装置との通信において同期された情報である同期情報に基づき、複数の鍵を有する鍵テーブル部から一つの鍵を選択するステップと、
選択された前記一つの鍵及び前記メッセージを用いて検証用メッセージ認証コード（ＭＡＣ）を生成するステップと、
前記メッセージ認証コードと前記検証用メッセージ認証コードの同一性を検証するステップと、
を有するコンピュータにて実行可能なメッセージ受信プログラム。
【請求項１６】
メッセージを送信する送信側電子制御装置（１００）及び前記メッセージを受信する受信側電子制御装置（２００）で構成される通信システム（１０）で用いられる鍵選択プログラムであって、
前記送信側電子制御装置と前記受信側電子制御装置との通信において同期された情報である同期情報に基づき、複数の鍵を有する前記鍵テーブル部から一つの鍵を選択するステップと、
選択された前記一つの鍵を出力するステップと、
を有するコンピュータにて実行可能な鍵選択プログラム。
【請求項１７】
暗号化メッセージを送信する送信側電子制御装置（５００）及び前記暗号化メッセージを受信する受信側電子制御装置（６００）で構成される通信システム（５０）の前記送信側電子制御装置（５００）であって、
複数の鍵を有する鍵テーブル部（１０１）と、
当該送信側電子制御装置と前記受信側電子制御装置との通信において同期された情報である同期情報に基づき、前記鍵テーブル部から一つの鍵を選択する鍵選択部（１０２）と、
メッセージを生成するメッセージ生成部（１０３）と、
前記鍵選択部で選択された鍵及び前記メッセージを用いて前記暗号化メッセージを生成する暗号化部（５０２）と、
前記暗号化メッセージを送信する送信部（１０６）と、
を有する電子制御装置（５００）。
【請求項１８】
暗号化メッセージを送信する送信側電子制御装置（５００）及び前記暗号化メッセージを受信する受信側電子制御装置（６００）で構成される通信システム（５０）の前記受信側電子制御装置（６００）であって、
前記暗号化メッセージを受信する受信部（２０３）と、
複数の鍵を有する鍵テーブル部（２０１）と、
当該受信側電子制御装置と前記送信側電子制御装置との通信において同期された情報である同期情報に基づき、前記鍵テーブル部から一つの鍵を選択する鍵選択部（２０２）と、
前記鍵選択部で選択された鍵を用いて前記暗号化メッセージを復号する復号部（６０２）と、
を有する電子制御装置（６００）。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、電子制御装置（ＥＣＵ：Electric Control Unit）のセキュリティを確保するための暗号鍵の選択及び切替に関するものであり、主として車載の電子制御装置に用いるものである。
【背景技術】
【０００２】
近年、自動車は駆動、制動に限らず、車内環境全般、あるいは通信などにも電子制御装置を用いた制御が用いられるようになってきている。また、運転そのものについても、運転者に対する運転サポートを行う安全運転支援システム、さらには運転者そのものが不要な自動運転システムの開発が活発になっている。これらの流れの中で、電子制御装置が接続された車内ネットワークのハッキングが大きな問題となる。一旦車内ネットワークがハッキングされると、自動車運転の安全性そのものが脅かされることとなり、通常のコンピュータのハッキングと異なり、直接人の生命や身体に危険が生じる可能性が極めて高い。そこで、車載向け電子制御装置のセキュリティに関する様々な技術が提案されている。
【０００３】
電子制御装置間の通信では、メッセージの正真性（Integrity）、すなわち改ざんやなりすましをチェックするため、メッセージ認証コード（ＭＡＣ：Message Authentication Code）が用いられている。メッセージ認証コードの生成及びそのチェックを行うために、送信側電子制御装置及び受信側電子制御装置は、共通の鍵である共有鍵を用いている。そして、共有鍵を複数持ちこれを定期的に切り替えることによりメッセージの正真性が高まることから、複数の鍵を送信側と受信側で切り替える方法が提案されている。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】ＷＯ２０１５−１７０４５２号
【特許文献２】特開２０１０−４４２０号
【発明の概要】
【発明が解決しようとする課題】
【０００５】
特許文献１には、車両の状態が所定状態であることを条件として、更新フレームを送信することにより鍵を更新することが記載されている。また、特許文献２には、鍵管理サーバから複数の端末に対し、デバイス鍵更新命令を送信することにより一括して鍵を更新することが記載されている。
【０００６】
ここで、いずれの特許文献に記載の技術も、装置間の鍵を更新する際に専用の同期信号を送信している。しかし、ネットワークの輻輳が増加している場合や、送信側電子制御装置と受信側電子制御装置とが異なるバスドメインに存在する場合には、鍵の切り換え及びメッセージの送受信が順次行われず、受信側電子制御装置の鍵が切り替わる前に切り替え後の鍵を用いて認証されたメッセージが送信側電子制御装置から送られていることもある。あるいは、専用の同期信号を受信できずに鍵の切り換えに失敗する場合もある。このような場合、送信側の鍵と受信側の鍵とが異なるために、受信側電子制御装置では受信したメッセージの認証をＮＧと判定し破棄してしまう。
【０００７】
特にＣＡＮ（Controller Area Network）等の車載ネットワークにおいては、車両を制御する制御情報が短周期で定期送信されていることから、安定的に車両を制御するためにも確実に鍵の切り換えを行う必要性が高い。
本発明の目的は、専用の同期信号を用いることなく送信側電子制御装置及び受信側電子制御装置の鍵を切り替えることで、専用の同期信号を用いた場合に起こりうる送受信間の鍵の切り換えタイミングのずれや鍵の切り換えの失敗を原因とした通信の不成立を低減することにある。
【課題を解決するための手段】
【０００８】
上記課題を解決するために、本発明の電子制御装置（１００）は、メッセージを送信する送信側電子制御装置（１００）及び前記メッセージを受信する受信側電子制御装置（２００）で構成される通信システム（１０）の前記送信側電子制御装置（１００）であって、
複数の鍵を有する鍵テーブル部（１０１）と、
当該送信側電子制御装置と前記受信側電子制御装置との間で同期された情報である同期情報に基づき、前記鍵テーブルから一つの鍵を選択する鍵選択部（１０２）と、
前記メッセージを生成するメッセージ生成部（１０３）と、
前記鍵選択部で選択された鍵及び前記メッセージを用いてメッセージ認証コード（ＭＡＣ）を生成するＭＡＣ生成部（１０５）と、
前記メッセージに前記メッセージ認証コードを付与して送信する送信部（１０６）と、
を備える。
【発明の効果】
【０００９】
本発明の電子制御装置等によれば、専用の同期信号を用いた場合に起こりうる送受信間の鍵の切り換えタイミングのずれや鍵の切り換えの失敗を原因とした通信の不成立を低減することができる。
【図面の簡単な説明】
【００１０】
【図１】本発明の実施形態１の通信システム及び電子制御装置の構成を説明するブロック図
【図２】本発明の実施形態１の通信システム及び電子制御装置の動作（メッセージ送信方法、メッセージ受信方法、メッセージ送信プログラム、メッセージ受信プログラム）を説明するフローチャート
【図３】本発明の実施形態１の鍵選択装置の態様を説明するブロック図
【図４】本発明の実施形態１の鍵選択部における鍵選択方法を説明する説明図
【図５】本発明の実施形態２の通信システム及び電子制御装置の構成を説明するブロック図
【図６】本発明の実施形態２の通信システム及び電子制御装置の動作（メッセージ送信方法、メッセージ受信方法、メッセージ送信プログラム、メッセージ受信プログラム）を説明するフローチャート
【図７】本発明の実施形態３の通信システム及び電子制御装置の構成を説明するブロック図
【発明を実施するための形態】
【００１１】
以下、本発明の電子制御装置等の構成及び機能について、図面を参照して説明する。なお、本発明とは、特許請求の範囲又は課題を解決するための手段の項に記載された発明を意味するものであり、以下の実施形態に限定されるものではない。また、少なくとも鉤括弧内の語は、特許請求の範囲又は課題を解決するための手段の項に記載された語を意味し、同じく以下の実施形態に限定されるものではない。
また、特許請求の範囲の従属項に記載の構成及び方法、従属項に記載の構成及び方法に対応する実施形態の構成及び方法、並びに特許請求の範囲に記載がなく実施形態等のみに記載の構成及び方法は、本発明においては任意の構成及び方法である。
なお、各実施形態に開示の構成は、各実施形態のみで閉じるものではなく、実施形態をまたいで組み合わせることが可能である。
発明が解決しようとする課題に記載した課題は公知の課題ではなく、本発明者が独自に知見したものであり、本発明の手段と共に発明の進歩性を肯定する事実である。
【００１２】
なお、以下の実施形態は、主として自動車の車載用電子制御装置を例として説明するが、本発明は、特許請求の範囲で限定がない限り、車載用途以外の電子制御装置等を含むものである。
【００１３】
（実施形態１）
【００１４】
１．通信システムの構成
図１で示す通り、本実施形態の通信システム１０は、複数の「電子制御装置」、すなわちメッセージを送信する送信側電子制御装置１００、当該メッセージを受信する受信側電子制御装置２００、及びこれらを接続する通信路からなる。
【００１５】
ここで、本発明の「電子制御装置」とは、情報を取得又は処理することができ、かつ情報を他の装置との間で送信又は／及び受信できるものであればよく、車載用の電子制御装置の他、例えば、コンピュータ（パーソナルコンピュータ、組み込み型のマイクロコンピュータ等）、表示装置（テレビ、ナビゲーションシステム等）、記録再生装置（ＢＤ、ＤＶＤプレーヤー、ＳＤカードリーダー等）、通信装置（携帯電話、スマートフォン、タブレット、基地局等）、回路基板、半導体モジュール、半導体などが挙げられ、完成品、半完成品、部品の形態のいずれも含むものである。
【００１６】
２．送信側電子制御装置の構成
本実施形態の送信側電子制御装置１００は、鍵テーブル部１０１、鍵選択部１０２、メッセージ生成部１０３、ＦＶ生成部１０４、ＭＡＣ生成部１０５、送信部１０６を有する。
送信側電子制御装置１００、およびこれを構成する個々の機能ブロックは、専用又は汎用の中央演算処理装置、メモリ、バス、及びメモリに展開されて実行されるプログラムによって実現されてもよく、また半導体モジュールや回路基板をはじめとする専用のハードウェアで実現されてもよい。後述の受信側電子制御装置２００も同様である。
【００１７】
鍵テーブル部１０１は、複数の鍵を有しており、例えばメモリで構成される。鍵は、通常の共通鍵を想定しているが、その他の鍵でもよく、またセッション鍵を用いてもよい。
【００１８】
鍵選択部１０２は、後述のＦＶ生成部１０４で生成されたフレッシュネス値（ＦＶ：Freshness Value）（本発明の「同期情報」に相当）に「基づき」、鍵テーブル部１０１に保存された複数の鍵から「一つの鍵」を選択する。かかる選択は、予め定められた鍵選択ルールに従って行われる。鍵選択ルールは、例えばメモリに展開されてこれを実行することにより実現することができる。鍵選択方法の具体例は、後述する。選択された一つの鍵は、ＭＡＣ生成部１０５に出力される。
【００１９】
ここで、本発明の「基づき」とは、与えられる同期情報から最終的に一つの鍵を選択できればよく、その過程で必要な演算や処理を行う場合も含む。
また、本発明の「一つの鍵」とは、使用する、あるいは所定時間後次に使用を予定する一つの鍵を選択していればよく、これに加えて予備の鍵や次々回に使用を予定する鍵を選択している場合も当然含まれる。
【００２０】
なお、鍵テーブル部１０１及び鍵選択部１０２で、鍵選択装置１１を構成する。この場合、鍵選択装置１１の出力部から、選択された鍵がＭＡＣ生成部１０５に出力される。
【００２１】
メッセージ生成部１０３は、受信側電子制御装置２００に送信するメッセージを生成する。メッセージの具体例として、車両に搭載された車載用の電子制御装置の場合における車両を制御するための各種制御情報が挙げられる。制御情報については、実施形態２で説明する。車載用以外の電子制御装置の場合は、例えばセンサー等で検知した検出データ、テキストデータ、音声データ、画像データ等が挙げられる。
【００２２】
ＦＶ生成部１０４は、メッセージ生成部１０３で生成され後述の送信部１０６で送信されたメッセージの送信回数に応じてそれぞれ「フレッシュネス値」を生成する。本実施形態では、「フレッシュネス値」のうち、カウンタを主として説明する。例えば、車載ネットワークであるＣＡＮの場合、生成された制御情報の種類に応じて付与されたＣＡＮＩＤ毎に、送信回数をカウントすることによりフレッシュネス値を生成する。例えば、ＣＡＮ＃１が付与された制御情報が４回送信された場合、ＣＡＮ＃１のフレッシュネス値は４となる。
【００２３】
ここで、本発明の「フレッシュネス値（ＦＶ）」とは、過去に使用された値かどうかを判別できる性質を有する値であり、例えばカウンタ、時間情報、ノンスを含む。カウンタとは、特定のメッセージが送信側電子制御装置から送信された回数、又は受信側電子制御装置で受信された回数を示す値であり、シーケンス番号も含む概念である。また、絶対的な値の他、例えばある基準を設けて当該基準からカウントした相対的な値も含む。
【００２４】
フレッシュネス値は、後述のように受信側電子制御装置２００でも、ＣＡＮＩＤ毎に受信回数をカウントすることにより生成される。したがって、送信側電子制御装置１００及び受信側電子制御装置２００でフレッシュネス値は同じ値をとることから、フレッシュネス値は送信側電子制御装置１００と受信側電子制御装置２００との通信において「同期された情報」である同期情報となる。
【００２５】
ここで、本発明の「同期された情報」とは、略同一時刻において送信側電子制御装置と受信側電子制御装置の双方で接することができる同一の情報の他、異なる情報であってもその情報から同一の属性や同一の性質を導くことができる情報であればよい。また、情報単位で見た場合に、当該情報の全部の他、当該情報の一部であってもよい。さらに、情報の内容そのものを用いる場合の他、情報の属性や性質、例えば当該情報の送受信回数や所定条件下で当該情報を送受信したこと、等であってもよい。
【００２６】
ＭＡＣ生成部１０５は、鍵選択部１０２で選択された鍵、メッセージ生成部１０３で生成されたメッセージ、及びＦＶ生成部１０４で生成したフレッシュネス値を用いて、メッセージ認証コード（ＭＡＣ：Message Authentication Code）を生成する。例えば、メッセージにフレッシュネス値を挿入又は付加したデータに対し、選択された鍵を用いてＭＡＣアルゴリズムに基づき計算することによりメッセージ認証コードを生成する。
【００２７】
送信部１０６は、メッセージ生成部１０３で生成されたメッセージにＦＶ生成部１０４で生成したフレッシュネス値を挿入又は付加したデータに、ＭＡＣ生成部１０５で生成したメッセージ認証コードを付与して送信する。送信先として特定の受信側電子制御装置２００を指定して送信してもよいが、送信先を指定せずにブロードキャストで送信してもよく、結果的に受信側電子制御装置２００で受信できるものであればよい。
【００２８】
３．受信側電子制御装置の構成
本実施形態の受信側電子制御装置２００は、鍵テーブル部２０１、鍵選択部２０２、受信部２０３、ＦＶ検証部２０４、検証用ＭＡＣ生成部２０５、検証部２０６を有する。
【００２９】
受信部２０３は、送信側電子制御装置１００から送信されたメッセージにフレッシュネス値を挿入又は付加したデータ、及びデータに付与されたメッセージ認証コードを受信する。
【００３０】
ＦＶ検証部２０４は、受信部２０３で受信したフレッシュネス値と、受信側電子制御装置２００で生成した検証用フレッシュネス値との同一性を検証する。検証用フレッシュネス値は、例えば車載ネットワークであるＣＡＮの場合、受信したメッセージに含まれる制御情報に付与されたＣＡＮＩＤ毎に受信回数をカウントすることにより生成する。受信部２０３で受信したフレッシュネス値と検証用フレッシュネス値が一致すれば、検証用フレッシュネス値を後述の鍵選択部２０２及び検証用ＭＡＣ生成部２０５に出力する。一致しなければ、受信したデータを破棄する。
【００３１】
ＦＶ検証部２０４は、上述の動作に代えて、以下の動作を行ってもよい。検証用フレッシュネス値は、過去直近に受信したメッセージに含まれていたＣＡＮＩＤ毎に記録されているフレッシュネス値であり、ＦＶ検証部２０４は、受信部２０３で受信したフレッシュネス値が検証用フレッシュネス値よりも大きいかを検証する。大きければ、受信部２０３で受信したフレッシュネス値を新たな検証用フレッシュネス値として後述の鍵選択部２０２及び検証用ＭＡＣ生成部２０５に出力する。この場合は、受信回数をカウントするための構成を必要としないので、回路規模を小さくすることが可能である。
【００３２】
鍵テーブル部２０１は、送信側電子制御装置１０１の鍵テーブル部１０１と同じ構成を有する。
【００３３】
鍵選択部２０２は、送信側電子制御装置１００の鍵選択部１０２と同じ構成を有する。そして、鍵選択部２０２は、ＦＶ検証部２０４で生成された検証用フレッシュネス値（本発明の「同期情報」に相当）に「基づき」、鍵テーブル部２０１に保存された複数の鍵から「一つの鍵」を選択する。かかる選択は、鍵選択部１０２と同様の予め定められた鍵選択ルールに従って行われる。選択された一つの鍵は、検証用ＭＡＣ生成部２０５に出力される。
なお、送信側電子制御装置１００と同様、鍵テーブル部２０１及び鍵選択部２０２で、鍵選択装置２１を構成する。この場合、鍵選択装置２１の出力部から、選択された鍵が検証用ＭＡＣ生成部２０５に出力される。
【００３４】
検証用ＭＡＣ生成部２０５は、鍵選択部２０２で選択された鍵、受信部２０３で受信したメッセージ、及びＦＶ検証部２０４から出力された検証用フレッシュネス値を用いて、検証用メッセージ認証コードを生成する。例えば、メッセージに検証用フレッシュネス値を挿入又は付加したデータに対し、選択された鍵を用いてＭＡＣアルゴリズムに基づき計算することにより検証用メッセージ認証コードを生成する。
【００３５】
検証部２０６は、受信部２０３で受信したメッセージ認証コードと検証用ＭＡＣ生成部２０５で生成した検証用メッセージ認証コードの同一性を検証する。メッセージ認証コードと検証用メッセージ認証コードが一致すれば、受信したメッセージの処理を行う。一致しなければ、受信したメッセージを破棄する。
【００３６】
なお、本実施形態では、メッセージにフレッシュネス値を挿入又は付加したデータを送信しているので、再生攻撃に対する耐性を上げることができる。しかし、必ずしもメッセージにフレッシュネス値を挿入又は付加する必要はない。フレッシュネス値の挿入又は付加がなくとも、送信側電子制御装置１００及び受信側電子制御装置２００がそれぞれ同じフレッシュネス値を生成することで同じ鍵を選択することができる。
【００３７】
以上の本実施形態の送信側電子制御装置１００及び受信側電子制御装置２００によれば、発明の効果の欄に記載の本発明の効果を奏するとともに、フレッシュネス値を同期情報として利用しているので、従来のような専用の同期信号の送信を必要としないのはもちろん、フレッシュネス値自体を送信するか否かに関わらず、送信側電子制御装置１００及び受信側電子制御装置２００で同じ鍵を選択することができる。
【００３８】
４．メッセージ送信方法、メッセージ受信方法、及び同方法を実行するプログラム
送信側電子制御装置１００で実行されるメッセージ送信方法、及び受信側電子制御装置２００で実行されるメッセージ受信方法を、図２を用いて説明する。
なお、図２の処理の順序は、ある処理が次の処理の前提条件となっていなければ、適宜入れ替えることが可能である。以下のいずれの実施形態においても同様である。
【００３９】
送信側電子制御装置１００は、以下のステップを実行する。
同期情報であるフレッシュネス値を生成する（Ｓ１０１）
フレッシュネス値に基づき、鍵テーブル部１０１に保存された複数の鍵から一つの鍵を選択する（Ｓ１０２）。
受信側電子制御装置２００に送信するメッセージを生成する（Ｓ１０３）。
Ｓ１０２で選択した鍵、Ｓ１０３で生成したメッセージ、及びＳ１０１で生成したフレッシュネス値を用いて、メッセージ認証コードを生成する（Ｓ１０４）。
Ｓ１０３で生成したメッセージ、Ｓ１０１で生成したフレッシュネス値、からなるデータに、Ｓ１０４で生成したメッセージ認証コードを付与して送信する（Ｓ１０５）。
【００４０】
受信側電子制御装置２００は、以下のステップを実行する。
送信側電子制御装置１００から送信されたメッセージ及びフレッシュネス値からなるデータ、及びデータに付与されたメッセージ認証コードを受信する（Ｓ２０１）。
Ｓ２０１で受信したフレッシュネス値と、受信側電子制御装置２００で生成した検証用フレッシュネス値とを比較（検証）する（Ｓ２０２）。一致又は条件を満たさなければ、受信したデータを破棄する（Ｓ２０３）。
Ｓ２０２で一致又は条件を満たせば、検証用フレッシュネス値に基づき、鍵テーブル部２０１に保存された複数の鍵から一つの鍵を選択する（Ｓ２０４）。
Ｓ２０４で選択された鍵、Ｓ２０１で受信したメッセージ、及び検証用フレッシュネス値を用いて検証用メッセージ認証コードを生成する（Ｓ２０５）。
Ｓ２０１で受信したメッセージ認証コードとＳ２０５で生成した検証用メッセージ認証コードの同一性を検証する（Ｓ２０６）。一致すれば、メッセージの処理を行う（Ｓ２０７）。一致しなければ、データを破棄する（Ｓ２０３）。
【００４１】
なお、これらの方法を「コンピュータ」にて実行可能なプログラムの態様で実現してもよい。
【００４２】
ここで、本発明の「コンピュータ」とは、少なくとも演算回路及びメモリを備えていればよく、汎用、専用等、その用途を問わない。また、パーソナルコンピュータ、サーバ、マイクロコンピュータ等、その形態も問わない。
【００４３】
以上の本実施形態のメッセージ送信方法及びメッセージ受信方法によれば、発明の効果の欄に記載の本発明の効果を奏するとともに、メッセージ認証コードの検証に先立って、フレッシュネス値の検証を行っているので、メッセージの正真性を高めることができる。
【００４４】
５．鍵選択装置、鍵選択方法、及び鍵選択プログラム
本実施形態では、図３（ａ）のように、鍵選択装置１１及び鍵選択装置２１を送信側電子制御装置１００及び受信側電子制御装置２００を構成する部品として構成した。この場合、鍵選択装置１１及び鍵選択装置２１は、例えば部品としての半導体モジュールや半導体として構成される。
【００４５】
しかし、図３（ｂ）のように、鍵選択装置１１及び鍵選択装置２２を独立した電子制御装置として構成し、メッセージ生成部１０３、ＦＶ生成部１０４、ＭＡＣ生成部１０５、及び送信部１０６からなるメッセージ送信装置１２、並びに、受信部２０３、ＦＶ検証部２０４、検証用ＭＡＣ生成部２０５、及び検証部２０６からなるメッセージ受信装置２２との間をそれぞれ接続して全体を送信側電子制御装置１００及び受信側電子制御装置２００としてもよい。この場合、鍵選択装置１１及び鍵選択装置２１は、部品としての半導体モジュールや半導体として構成することの他、完成品又は半完成品としての電子制御装置や回路基板として構成することができる。
【００４６】
あるいは、図３（ｃ）のように、鍵選択装置１１を、メッセージ送信装置１２及びメッセージ受信装置２２とで共有してもよい。この場合も、鍵選択装置１１は、部品、完成品又は半完成品として構成することが可能である。
【００４７】
なお、鍵選択装置１１及び鍵選択装置２１で実行される鍵選択方法は、コンピュータにて実行可能な鍵選択プログラムの態様で実現してもよい。
【００４８】
ここで、本発明の「鍵選択装置」とは、入力に応じて複数の鍵から一つの鍵を選択できれば足り、その形態を問わない。すなわち、電子制御装置、回路基板、半導体モジュール、半導体などの、完成品、半完成品、部品の形態のいずれも含む。
【００４９】
なお、図３（ａ）（ｂ）（ｃ）は全て全体が通信システム１０となる。
また、図３（ｃ）のように、鍵テーブル部１０１と鍵選択部１０２からなる鍵選択装置１１を送信側と受信側で共有する場合、図３（ｃ）の鍵テーブル部１０１及び鍵選択部１０２は、送信側電子制御装置１００と受信側電子制御装置２００それぞれの鍵テーブル部１０１及び２０１、並びに鍵選択部１０２及び２０２として把握できる。
【００５０】
６．鍵の選択方法（鍵選択ルール）
本実施形態では、鍵選択部１０２や鍵選択部２０２で鍵の選択に用いる同期情報としてフレッシュネス値を用いているが、鍵の選択方法（鍵選択ルール）についてさらに詳しく説明する。なお、本項では、鍵テーブルに含まれる鍵が２個（鍵１、鍵２）の場合を前提に説明するが、鍵の個数は２以上でもよい。
【００５１】
（１）カウンタ
図４（ａ）に、フレッシュネス値の一例であるカウンタの一例を示す。カウンタは８ビットからなる。そして、上位４ビットはイグニッションＯＮの回数をカウントし、下位４ビットは特定のＣＡＮＩＤを有するメッセージの送受信回数をカウントする。
【００５２】
鍵選択ルールの一例として、カウンタの上位４ビットのうち最下位のビットが０の場合には鍵１を、１の場合には鍵２を選択する場合を考える。この場合は、イグニッションＯＮ毎に鍵を切り替えることができる。
他の例として、カウンタの上位４ビットのうち、最上位のビットが０の場合には鍵１を、１の場合には鍵２を選択する場合を考える。この場合は、イグニッションＯＮが８回実行される毎に鍵を切り替えることができる。
他の例として、カウンタの下位４ビットのうち、最上位のビットが０の場合には鍵１を、１の場合には鍵２を選択する場合を考える。この場合は、特定のＣＡＮＩＤの送受信回数が８回実行される毎に鍵を切り替えることができる。
さらに、これらの例を組み合わせたり、複数のビットを用いてもよい。
この構成によれば、多様な鍵の切り換えのタイミングを設計することが可能となる。
【００５３】
あるいは、図４（ａ）のカウンタに代えて、図４（ｂ）のようなＣＡＮＩＤ毎のフレッシュネス値を用いてもよい。ここでは、制御情報の種類毎にＣＡＮＩＤが付与されているとする。
この構成によれば、ＣＡＮＩＤ毎に鍵選択ルールを設けることもできる。例えば、ＣＡＮ＃１が付与されたメッセージは最下位ビット、ＣＡＮ＃２が付与されたメッセージは最上位ビットの値に応じて鍵を切り替えるというルールが考えられる。このように、ＣＡＮＩＤ毎に鍵選択ルールを定めることにより、例えば電子制御装置が扱う制御情報の重要度に応じて鍵の切り換えタイミングを決めることができ、制御情報の重要度が高い程鍵の切り換えタイミングを早くすることが可能である。
【００５４】
このように、鍵選択部１０２や鍵選択部２０２は、フレッシュネス値を構成する「特定のビット」に基づき、鍵テーブル部１０１及び鍵テーブル部２０１から一つの鍵を選択する。
【００５５】
ここで、本発明の「特定のビット」とは、特定の一つのビットの他、特定の複数のビット（bits）も含む。例えば、上位２ビット（bits）、下位４ビット(bits)等が挙げられる。
【００５６】
（２）時間情報
同期情報として、フレッシュネス値の一例である、送信側電子制御装置及び受信側電子制御装置で生成される時間情報を用いてもよい。例えば、送信側電子制御装置１００及び受信側電子制御装置２００のタイマーを同期させ、各々の時間情報または送信側電子制御装置１００から送信される時間情報に基づき、鍵を切り替えてもよい。
【００５７】
ここで、本発明の「時間情報」とは、時間を示す情報であり、例えば時刻やタイムスタンプ、基準時からの経過時間等が挙げられる。また時刻には、日や年の情報を含む場合、あるいは日や年の情報単独の場合も含む。
【００５８】
（３）ノンス
同期情報として、フレッシュネス値の一例である、ノンスを用いてもよい。ノンスとは、送信側電子制御装置１００から受信側電子制御装置２００に送信する使い捨てのランダムな値である。そして、例えばノンスの特定のビットに基づき、鍵を切り替えてもよい。
【００５９】
（実施形態２）
【００６０】
図５は、本実施形態の通信システム３０を構成する送信側電子制御装置３００、及び受信側電子制御装置４００を示す。なお、実施形態１と同様の構成は同じ図番を用いている。なお、本実施形態の通信システム３０及びこれを構成する送信側電子制御装置３００及び受信側電子制御装置４００は、車両に搭載されていることを前提としている。
【００６１】
１．送信側電子制御装置の構成
本実施形態の送信側電子制御装置３００は、実施形態１の送信側電子制御装置１００と同様の構成を有する。その結果、各ブロックの機能は以下の通りとなる。
【００６２】
メッセージ生成部１０３は、メッセージとして「車両を制御」する制御情報を生成する。
また、鍵選択部３０２は、制御情報に基づき、鍵テーブル部１０１に保存された複数の鍵から一つの鍵を選択する。つまり、本実施形態では、「車両を制御」する「制御情報」が同期情報に該当する。
【００６３】
ここで、本発明の「車両を制御」とは、車両全体の挙動を制御する場合の他、車両を構成する部品（例えば、ドア、ミラー、エアバック、ワイパー等）を制御する場合、車両に搭載されている各種装置（エアコン、ナビゲーションシステム、オーディオプレーヤー等）を制御する場合も含む。
本発明の「制御情報」には、例えば、速度、ドアの開閉に関する情報、ミラー角度の調整に関する情報、シート位置の調整に関する情報、イグニッションのＯＮ−ＯＦＦに関する情報、を含むが、これらに限定されない。
【００６４】
ＭＡＣ生成部３０５は、鍵選択部３０２で選択された鍵、メッセージ生成部１０３で生成された制御情報、及びＦＶ生成部１０４で生成したフレッシュネス値を用いて、を用いて、メッセージ認証コード（ＭＡＣ：Message Authentication Code）を生成する。
送信部３０６は、メッセージ生成部１０３で生成された制御情報にＦＶ生成部１０４で生成したフレッシュネス値を挿入又は付加したデータに、ＭＡＣ生成部３０５で生成したメッセージ認証コードを付与して送信する。
【００６５】
２．受信側電子制御装置の構成
本実施形態の受信側電子制御装置４００は、実施形態１の受信側電子制御装置２００と同様の構成を有する。その結果、各ブロックの機能は以下の通りとなる。
【００６６】
受信部４０３は、送信側電子制御装置１００から送信された制御情報にフレッシュネス値を挿入又は付加したデータ、及びデータに付与されたメッセージ認証コードを受信する。
鍵選択部４０２は、受信した制御情報に基づき、鍵テーブル部２０１に保存された複数の鍵から一つの鍵を選択する。
検証用ＭＡＣ生成部４０５は、鍵選択部４０２で選択された鍵、受信部４０３で受信した制御情報、及びＦＶ検証部２０４から出力された検証用フレッシュネス値を用いて、検証用メッセージ認証コードを生成する。
【００６７】
３．メッセージ送信方法、メッセージ受信方法、及び同方法を実行するプログラム
送信側電子制御装置３００で実行されるメッセージ送信方法、及び受信側電子制御装置４００で実行されるメッセージ受信方法を、図６を用いて説明する。
【００６８】
送信側電子制御装置３００は、以下のステップを実行する。
受信側電子制御装置４００に送信するメッセージである制御情報を生成する（Ｓ３０１）。
Ｓ３０１で生成した制御情報に基づき、鍵テーブル部１０１に保存された複数の鍵から一つの鍵を選択する（Ｓ３０２）。
Ｓ３０２で選択した鍵、Ｓ３０１で生成した制御情報、及びフレッシュネス値を用いて、メッセージ認証コードを生成する（Ｓ３０３）。
Ｓ３０１で生成した制御情報及びフレッシュネス値に、Ｓ３０３で生成したメッセージ認証コードを付与して送信する（Ｓ３０４）。
【００６９】
受信側電子制御装置４００は、以下のステップを実行する。
送信側電子制御装置３００から送信された制御情報及びフレッシュネス値、並びに制御情報及びフレッシュネス値に付与されたメッセージ認証コードを受信する（Ｓ４０１）。
Ｓ４０１で受信したフレッシュネス値と、受信側電子制御装置４００で生成した検証用フレッシュネス値とを比較（検証）する（Ｓ４０２）。一致又は条件を満たさなければ、受信した制御情報を破棄する（Ｓ４０７）。
Ｓ４０２で一致又は条件を満たせば、制御情報に基づき、鍵テーブル部２０１に保存された複数の鍵から一つの鍵を選択する（Ｓ４０３）。
Ｓ４０３で選択された鍵、Ｓ４０１で受信した制御情報、及び検証用フレッシュネス値を用いて検証用メッセージ認証コードを生成する（Ｓ４０４）。
Ｓ４０１で受信したメッセージ認証コードとＳ４０４で生成した検証用メッセージ認証コードの同一性を検証する（Ｓ４０５）。一致すれば、制御情報の処理を行う（Ｓ４０６）。一致しなければ、制御情報を破棄する（Ｓ４０７）。
【００７０】
４．鍵の選択方法（鍵選択ルール）
本実施形態では、鍵選択部３０２や鍵選択部４０２で鍵の選択に用いる同期情報として車両を制御する制御情報を用いているが、鍵の選択方法（鍵選択ルール）についてさらに詳しく説明する。なお、本項では、鍵テーブルに含まれる鍵が２個（鍵１、鍵２）の場合を前提に説明するが、鍵の個数は２以上でもよい。
【００７１】
（１）速度情報
鍵選択ルールの一例として、速度が一定以上となった場合には鍵１を、速度が一定以下となった場合には鍵２を選択するようにしてもよい。速度に応じて鍵を選択、変更するようにすることで、車両の危険性に応じた鍵の切り換えが可能となる。
【００７２】
（２）ドアの開閉情報
鍵選択ルールの一例として、ドアの開閉が所定回数毎に鍵１と鍵２を切り替えるようにしてもよい。ドアの開閉時は車両が停止しているので、車両が安全な状態、かつ車載ネットワークの輻輳が小さいときに鍵の切り換えを行うことが可能となる。
【００７３】
（３）ミラー調整情報、またはシートの位置調整情報
鍵選択ルールの一例として、ミラー調整が行われたとき、又はシートの位置調整が行われたときに、鍵１と鍵２を切り替えるようにしてもよい。これらが行われたときは運転者が変わった時である場合が多いので、事実上運転者毎に鍵を変更することが可能となる。
【００７４】
（４）その他
送信側電子制御装置３００から送信される制御情報の「送信頻度」に基づいて鍵を選択してもよい。
ここで、本発明の「送信頻度」とは、所定時間に送信される制御情報の頻度をいい、回数、周期、時間等で示されるものである。
【００７５】
以上の本実施形態の送信側電子制御装置３００及び受信側電子制御装置４００によれば、発明の効果の欄に記載の本発明の効果を奏するとともに、制御情報を同期情報として利用しているので、従来のような専用の同期信号の送信を必要としないのはもちろん、車両の搭載された電子制御装置の通信方式を変更することなく、送信側電子制御装置３００及び受信側電子制御装置４００で同じ鍵を選択することができる。
【００７６】
（実施形態３）
【００７７】
図７は、本実施形態の通信システム５０を構成する送信側電子制御装置５００、及び受信側電子制御装置６００を示す。なお、実施形態１と同様の構成は同じ図番を用いている。実施形態１及び実施形態２ではメッセージ認証の例を開示し、メッセージ認証コード生成のために鍵を用いる例を示した。本実施形態では暗号化の例を開示し、送信するメッセージを暗号化及び暗号化メッセージを復号するために鍵を用いる例を示す。なお、実施形態１及び２に記載された事項は、当然適宜実施形態３と組み合わせることが可能である。
【００７８】
１．送信側電子制御装置の構成
本実施形態の送信側電子制御装置５００は、鍵テーブル部１０１、鍵選択部１０２、メッセージ生成部１０３、ノンス生成部５０１、暗号化部５０２、及び送信部１０６を有する。
【００７９】
ノンス生成部５０１は、使い捨てのランダムな値であるノンスを生成する。本実施形態では、ノンスが本発明の「同期された情報」である同期情報となるが、これに限られない。
【００８０】
鍵選択部１０２は、ノンス生成部５０１で生成されたノンスに基づき、鍵テーブル部１０１に保存された複数の鍵から一つの鍵を選択する。
【００８１】
暗号化部５０２は、鍵選択部１０２で選択された鍵を用いてメッセージ生成部１０３で生成されたメッセージを暗号化し、暗号化メッセージを生成する。暗号化の方法は任意である。なお、ノンスを含めたメッセージを暗号化してもよい。
【００８２】
送信部１０６は、暗号化部５０２で生成した暗号化メッセージ、およびノンスを送信する。
【００８３】
２．受信側電子制御装置の構成
本実施形態の受信側電子制御装置６００は、受信部２０３、鍵テーブル部２０１、鍵選択部２０２、復号部６０１を有する。
【００８４】
鍵選択部２０２は、受信部２０３で受信したノンスに基づき、鍵テーブル部２０１に保存された複数の鍵から一つの鍵を選択する。
【００８５】
復号部６０１は、鍵選択部２０２で選択された鍵を用いて暗号化メッセージを復号し、メッセージを生成する。復号の方法も暗号化と同様任意である。なお、ノンスを含めたメッセージを復号してもよい。
【００８６】
以上の本実施形態の送信側電子制御装置５００及び受信側電子制御装置６００によれば、発明の効果の欄に記載の本発明の効果を奏するとともに、メッセージの秘匿性を確保することができる。
【００８７】
（その他の実施形態）
【００８８】
以上の実施形態では、二つの電子制御装置間に着目したが、これを３つ以上の電子制御装置に用いてもよい。例えば、ＥＣＵ１からＥＣＵ２及びＥＣＵ３にメッセージを送信する際、ＥＣＵ１及びＥＣＵ２の間では鍵選択ルール１及び鍵セットＡを用い、ＥＣＵ１及びＥＣＵ３の間では鍵選択ルール２及び鍵セットＢを用いるようにしてもよい。この構成によれば、受信側のＥＣＵ、あるいは送受信するメッセージの種類に応じて、鍵選択ルールや鍵セットを用いることが可能となる。
【００８９】
（総括）
【００９０】
以上、本発明の各実施形態における電子制御装置等について説明した。
なお、本発明は、コンピュータに実行されるプログラムの形態でも実現できるが、専用や汎用のハードウェアにおける記憶領域（外部記憶装置（ハードディスク、ＵＳＢメモリ等）、内部記憶装置（ＲＡＭ，ＲＯＭ等））に格納されるプログラムは、記録媒体を介して、あるいは記録媒体を介さずにサーバから通信回線を経由して上述の専用又は汎用のハードウェア（本発明の「コンピュータ」に相当）に提供することもできる。これにより、プログラムのアップグレードを通じて常に最新の機能を提供することができる。
【産業上の利用可能性】
【００９１】
本発明の電子制御装置等は、各実施形態で自動車に搭載される電子制御装置を念頭に置いて説明したが、自動二輪車、船舶、鉄道、航空機等、移動する移動体全般に適用することが可能でありこれらを含むものである。また、移動体に限らず、コンピュータを包含する製品全般に適用可能である。
【符号の説明】
【００９２】
１００  送信側電子制御装置、１０１  鍵テーブル部、１０２  鍵選択部、１０３  メッセージ生成部、１０４  ＦＶ生成部、１０５  ＭＡＣ生成部、１０６  送信部１０６、２００  受信側電子制御装置、２０１  鍵テーブル部、２０２  鍵選択部、２０３  受信部、２０４  ＦＶ検証部、２０５  検証用ＭＡＣ生成部、２０６  検証部
【図１】
2019140577.tif 000003
【図２】
2019140577.tif 000004
【図３】
2019140577.tif 000005
【図４】
2019140577.tif 000006
【図５】
2019140577.tif 000007
【図６】
2019140577.tif 000008
【図７】
2019140577.tif 000009