(57)【要約】【課題】車載装置のセキュリティを向上させる。【解決手段】複数の対象ＥＣＵ２０のそれぞれは、ゲートウェイＥＣＵ２２から送信されたデータの正当性を認証するための自装置の鍵である第１鍵を記憶し、他の対象ＥＣＵ２０の第１鍵の一部に対応する第２鍵をさらに記憶する。ゲートウェイＥＣＵ２２は、特定の対象ＥＣＵ２０の第１鍵を生成するための、他の対象ＥＣＵ２０に記憶された複数の第２鍵の組み合わせ態様を定めた組み合わせテーブル２６を記憶する。ゲートウェイＥＣＵ２２は、特定の対象ＥＣＵ２０へデータを送信すべき場合、他の複数の対象ＥＣＵ２０から複数の第２鍵を取得し、複数の第２鍵を、組み合わせテーブル２６が定める態様で組み合わせることにより、特定の対象ＥＣＵ２０の第１鍵を生成する。ゲートウェイＥＣＵ２２は、生成した第１鍵を使用して、特定の対象ＥＣＵ２０へデータを送信する。【選択図】図１
2018166310.tif 000002
【特許請求の範囲】
【請求項１】
車載ネットワークを介して複数の電子制御装置へデータを送信する送信装置であって、
前記複数の電子制御装置のそれぞれは、前記送信装置から送信されたデータの正当性を認証するための自装置の鍵である第１鍵を記憶するとともに、他の電子制御装置の第１鍵の一部に対応する第２鍵を記憶し、
前記送信装置は、
特定の電子制御装置の第１鍵を生成するのに用いられる、他の複数の電子制御装置に記憶された複数の第２鍵の組み合わせ態様を記憶する記憶部と、
前記特定の電子制御装置へデータを送信する場合、前記他の複数の電子制御装置から複数の第２鍵を取得する鍵取得部と、
前記鍵取得部により取得された複数の第２鍵を、前記記憶部に記憶された態様で組み合わせることにより、前記特定の電子制御装置の第１鍵を生成する鍵生成部と、
前記鍵生成部により生成された第１鍵を使用して、前記特定の電子制御装置へデータを送信する送信部と、
を備える送信装置。
【請求項２】
前記記憶部は、前記複数の電子制御装置の異なる第１鍵を生成するための、前記複数の第２鍵の異なる組み合わせ態様を記憶し、
前記鍵生成部は、前記異なる組み合わせ態様のうちデータ送信先の電子制御装置に応じた態様で前記複数の第２鍵を組み合わせることにより、前記データ送信先の電子制御装置の第１鍵を生成する、
請求項１に記載の送信装置。
【請求項３】
複数の電子制御装置と、
車載ネットワークを介して前記複数の電子制御装置へデータを送信する送信装置と、
を備え、
前記複数の電子制御装置のそれぞれは、前記送信装置から送信されたデータの正当性を認証するための自装置の鍵である第１鍵を記憶するとともに、他の電子制御装置の第１鍵の一部に対応する第２鍵を記憶し、
前記送信装置は、
特定の電子制御装置の第１鍵を生成するのに用いられる、他の複数の電子制御装置に記憶された複数の第２鍵の組み合わせ態様を記憶する記憶部と、
前記特定の電子制御装置へデータを送信する場合、前記他の複数の電子制御装置から複数の第２鍵を取得する鍵取得部と、
前記鍵取得部により取得された複数の第２鍵を、前記記憶部に記憶された態様で組み合わせることにより、前記特定の電子制御装置の第１鍵を生成する鍵生成部と、
前記鍵生成部により生成された第１鍵を使用して、前記特定の電子制御装置へデータを送信する送信部と、を含む車載通信システム。
【請求項４】
車載ネットワークを介して複数の電子制御装置へデータを送信する送信装置が実行する通信方法であって、
前記複数の電子制御装置のそれぞれは、前記送信装置から送信されたデータの正当性を認証するための自装置の鍵である第１鍵を記憶するとともに、他の電子制御装置の第１鍵の一部に対応する第２鍵を記憶し、
前記送信装置は、特定の電子制御装置の第１鍵を生成するのに用いられる、他の複数の電子制御装置に記憶された複数の第２鍵の組み合わせ態様を記憶する記憶部を備えており、
前記送信装置が、
前記特定の電子制御装置へデータを送信する場合、前記他の複数の電子制御装置から複数の第２鍵を取得し、
取得した複数の第２鍵を、前記記憶部に記憶された態様で組み合わせることにより、前記特定の電子制御装置の第１鍵を生成し、
生成した第１鍵を使用して、前記特定の電子制御装置へデータを送信する、
通信方法。
【請求項５】
車載ネットワークを介して複数の電子制御装置へデータを送信する送信装置が実行するコンピュータプログラムであって、
前記複数の電子制御装置のそれぞれは、前記送信装置から送信されたデータの正当性を認証するための自装置の鍵である第１鍵を記憶するとともに、他の電子制御装置の第１鍵の一部に対応する第２鍵を記憶し、
前記送信装置は、特定の電子制御装置の第１鍵を生成するのに用いられる、他の複数の電子制御装置に記憶された複数の第２鍵の組み合わせ態様を記憶する記憶部を備えており、
前記送信装置に、
前記特定の電子制御装置へデータを送信する場合、前記他の複数の電子制御装置から複数の第２鍵を取得し、
取得した複数の第２鍵を、前記記憶部に記憶された態様で組み合わせることにより、前記特定の電子制御装置の第１鍵を生成し、
生成した第１鍵を使用して、前記特定の電子制御装置へデータを送信する、
ことを実行させるためのコンピュータプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明はデータ通信技術に関し、特に送信装置、車載通信システム、通信方法およびコンピュータプログラムに関する。
【背景技術】
【０００２】
従来技術として、車載通信システムにおいて中継器となるゲートウェイが、各ＥＣＵ（Electronic Control Unit）の照合コードを記憶すること、ＥＣＵが、プログラムの書換要求の送信元がゲートウェイか否かを照合コードを用いて判定し、送信元がゲートウェイの場合にプログラムの書換を許可することが知られている。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開２０１３−１１２１２０号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
従来の車載通信システムでは、ゲートウェイが攻撃され、ゲートウェイが記憶する各ＥＣＵの照合コードが盗窃された場合、各ＥＣＵが記憶するプログラムの不正書換が容易になされてしまう場合があった。
【０００５】
本発明は上記課題に鑑みたもので、１つの目的は、車載装置のセキュリティを向上させることである。
【課題を解決するための手段】
【０００６】
上記課題を解決するために、本発明のある態様の送信装置は、車載ネットワークを介して複数の電子制御装置へデータを送信する送信装置であって、複数の電子制御装置のそれぞれは、送信装置から送信されたデータの正当性を認証するための自装置の鍵である第１鍵を記憶するとともに、他の電子制御装置の第１鍵の一部に対応する第２鍵を記憶し、送信装置は、特定の電子制御装置の第１鍵を生成するのに用いられる、他の複数の電子制御装置に記憶された複数の第２鍵の組み合わせ態様を記憶する記憶部と、特定の電子制御装置へデータを送信する場合、他の複数の電子制御装置から複数の第２鍵を取得する鍵取得部と、鍵取得部により取得された複数の第２鍵を、記憶部に記憶された態様で組み合わせることにより、特定の電子制御装置の第１鍵を生成する鍵生成部と、鍵生成部により生成された第１鍵を使用して、特定の電子制御装置へデータを送信する送信部と、を備える。
【０００７】
本発明の別の態様は、車載通信システムである。この車載通信システムは、複数の電子制御装置と、車載ネットワークを介して複数の電子制御装置へデータを送信する送信装置と、を備える。複数の電子制御装置のそれぞれは、送信装置から送信されたデータの正当性を認証するための自装置の鍵である第１鍵を記憶するとともに、他の電子制御装置の第１鍵の一部に対応する第２鍵を記憶し、送信装置は、特定の電子制御装置の第１鍵を生成するのに用いられる、他の複数の電子制御装置に記憶された複数の第２鍵の組み合わせ態様を記憶する記憶部と、特定の電子制御装置へデータを送信する場合、他の複数の電子制御装置から複数の第２鍵を取得する鍵取得部と、鍵取得部により取得された複数の第２鍵を、記憶部に記憶された態様で組み合わせることにより、特定の電子制御装置の第１鍵を生成する鍵生成部と、鍵生成部により生成された第１鍵を使用して、特定の電子制御装置へデータを送信する送信部と、を含む。
【０００８】
本発明のさらに別の態様は、通信方法である。この方法は、車載ネットワークを介して複数の電子制御装置へデータを送信する送信装置が実行する通信方法であって、複数の電子制御装置のそれぞれは、送信装置から送信されたデータの正当性を認証するための自装置の鍵である第１鍵を記憶するとともに、他の電子制御装置の第１鍵の一部に対応する第２鍵を記憶し、送信装置は、特定の電子制御装置の第１鍵を生成するのに用いられる、他の複数の電子制御装置に記憶された複数の第２鍵の組み合わせ態様を記憶する記憶部を備えており、送信装置が、特定の電子制御装置へデータを送信する場合、他の複数の電子制御装置から複数の第２鍵を取得し、取得した複数の第２鍵を、記憶部に記憶された態様で組み合わせることにより、特定の電子制御装置の第１鍵を生成し、生成した第１鍵を使用して、特定の電子制御装置へデータを送信する。
【０００９】
なお、以上の構成要素の任意の組合せ、本発明の表現を、コンピュータプログラム、コンピュータプログラムを記録した記録媒体、本装置を搭載した車両などの間で変換したものもまた、本発明の態様として有効である。
【発明の効果】
【００１０】
本発明によれば、車載装置のセキュリティを向上させることができる。
【図面の簡単な説明】
【００１１】
【図１】実施例の車載通信システムの概要を説明する図である。
【図２】実施例の車載通信システムの構成を示す図である。
【図３】図２の対象ＥＣＵの動作を示すフローチャートである。
【図４】図２のゲートウェイＥＣＵの動作を示すフローチャートである。
【発明を実施するための形態】
【００１２】
図１は、実施例の車載通信システム１０の概要を説明する図である。実施例の車載通信システム１０では、プログラム更新（言い換えればリプログラミング）の対象となるＥＣＵである対象ＥＣＵ２０ａ、対象ＥＣＵ２０ｂ、対象ＥＣＵ２０ｃが、車載ネットワーク２４を介して、ゲートウェイＥＣＵ２２に接続される。
【００１３】
対象ＥＣＵ２０ａ、対象ＥＣＵ２０ｂ、対象ＥＣＵ２０ｃは、各種アクチュエータ（ステアリング、ブレーキ等）を制御するＥＣＵであってもよく、各種センサ（温度センサ、加速度センサ等）に接続されたＥＣＵであってもよい。以下、対象ＥＣＵ２０ａ、対象ＥＣＵ２０ｂ、対象ＥＣＵ２０ｃを総称する場合、対象ＥＣＵ２０と呼ぶ。車載ネットワーク２４は、例えば、ＣＡＮ（Controller Area Network）であってもよい。
【００１４】
複数の対象ＥＣＵ２０のそれぞれは、予め定められた自装置の鍵（以下「第１鍵」とも呼ぶ。）を使用したチャレンジレスポンス認証により、データ送信元装置の正当性を判定する。複数の対象ＥＣＵ２０のそれぞれは、第１鍵を記憶するとともに、他の対象ＥＣＵの第１鍵の一部に対応するデータ（以下「第２鍵」とも呼ぶ。）を記憶する。例えば、第２鍵は、第１鍵のデータ全体のうちの一部を構成するデータであってもよい。このように、車載通信システム１０では、ある対象ＥＣＵ２０の第１鍵を、他の複数の対象ＥＣＵ２０で分散管理する。
【００１５】
ゲートウェイＥＣＵ２２は、各対象ＥＣＵの第１鍵を生成するための、第２鍵の組み合わせ態様を定めた組み合わせテーブル２６を記憶する。ゲートウェイＥＣＵ２２は、対象ＥＣＵ２０ａへデータを送信すべき場合、対象ＥＣＵ２０ｂが記憶する第２鍵と、対象ＥＣＵ２０ｃが記憶する第２鍵を取得して組み合わせることにより、対象ＥＣＵ２０ａの第１鍵を生成する。ゲートウェイＥＣＵ２２は、生成した第１鍵を使用して、対象ＥＣＵ２０ａへデータを送信することによりチャレンジレスポンス認証をクリアする。この構成によると、車載通信システム１０のセキュリティを向上でき、例えば、対象ＥＣＵ２０の鍵の安全性を高めることができる。
【００１６】
図２は、実施例の車載通信システム１０の構成を示す。車載通信システム１０は、車両１２の内部に構築され、また、車両１２の外部に存在する外部機器１４と接続される。外部機器１４は、複数の対象ＥＣＵ２０に記憶されたプログラムの書換・更新を指示するデータ（以下「書換指示」とも呼ぶ。）を車両１２へ入力する。
【００１７】
車両１２は、対象ＥＣＵ２０ａ、対象ＥＣＵ２０ｂ、対象ＥＣＵ２０ｃ、ゲートウェイＥＣＵ２２、コネクタ２８を備える。既述したように、複数の対象ＥＣＵ２０とゲートウェイＥＣＵ２２は、車載ネットワーク２４に接続される。コネクタ２８は、外部機器１４とのインタフェースを提供する。
【００１８】
図２は、対象ＥＣＵ２０ａの機能構成を示すブロック図を含む。本明細書のブロック図において示される各ブロックは、ハードウェア的には、コンピュータのＣＰＵ・メモリをはじめとする素子や機械装置で実現でき、ソフトウェア的にはコンピュータプログラム等によって実現されるが、ここでは、それらの連携によって実現される機能ブロックを描いている。これらの機能ブロックはハードウェア、ソフトウェアの組合せによっていろいろなかたちで実現できることは、当業者には理解されるところである。
【００１９】
対象ＥＣＵ２０ａは、通信部３０、記憶部３２、制御部３４を備える。対象ＥＣＵ２０ｂ、対象ＥＣＵ２０ｃの構成も対象ＥＣＵ２０ａと同様である。
【００２０】
通信部３０は、所定の通信プロトコルにしたがって、車載ネットワーク２４へデータを送信し、また、車載ネットワーク２４を流れるデータを受信する。制御部３４は、各種データ処理を制御する。制御部３４に含まれる機能ブロックは、対象ＥＣＵ２０ａのＣＰＵがプログラムを実行することにより実現されてよい。記憶部３２は、制御部３４により参照または更新されるデータを記憶する。記憶部３２は、例えばフラッシュメモリにより実現されてよい。
【００２１】
記憶部３２は、プログラム記憶部３６、第１鍵記憶部３８、第２鍵記憶部４０、配送鍵記憶部４１を含む。プログラム記憶部３６は、対象ＥＣＵ２０ａが担当する車両１２の走行に関するデータ処理を実行するためのプログラム（以下「データ処理プログラム」とも呼ぶ。）を記憶する。データ処理プログラムは、例えば、センサによる検知内容の通知処理、または、アクチュエータの制御処理を規定してもよい。第１鍵記憶部３８は、外部装置（実施例ではゲートウェイＥＣＵ２２）から送信されたデータの正当性を共通鍵方式で認証するための第１鍵を記憶する。
【００２２】
第２鍵記憶部４０は、他の対象ＥＣＵ２０（例えば対象ＥＣＵ２０ｂ、対象ＥＣＵ２０ｃ）の第１鍵の一部に対応する第２鍵を記憶する。実施例では、第２鍵記憶部４０は、他の複数の対象ＥＣＵ２０それぞれの第２鍵であり、対象ＥＣＵ２０ごとに異なる第２鍵を記憶する。例えば、対象ＥＣＵ２０ａの第２鍵記憶部４０は、対象ＥＣＵ２０ｂ用の第２鍵と、対象ＥＣＵ２０ｃ用の第２鍵の両方を記憶する。
【００２３】
配送鍵記憶部４１は、対象ＥＣＵ２０ａとゲートウェイＥＣＵ２２の間での第２鍵交換時に第２鍵を暗号化するための共通鍵（以下「配送鍵」と呼ぶ。）を記憶する。配送鍵は、対象ＥＣＵ２０ごとに異なるデータが設定される。
【００２４】
制御部３４は、データ処理部４２、照合部４４、書換実行部４６、第２鍵提供部４８を含む。データ処理部４２は、プログラム記憶部３６に記憶されたデータ処理プログラムを実行することにより、対象ＥＣＵ２０ａが担当するデータ処理を実行する。照合部４４は、第１鍵記憶部３８に記憶された第１鍵を使用して、書換要求の送信元を認証し、言い換えれば、ゲートウェイＥＣＵ２２から送信された書換要求の正当性を認証する。
【００２５】
書換実行部４６は、照合部４４により書換要求の正当性が確認された場合に、ゲートウェイＥＣＵ２２から送信された書換プログラムをプログラム記憶部３６に保存することにより、既存のデータ処理プログラムを書換プログラムに置き換える。
【００２６】
第２鍵提供部４８は、ゲートウェイＥＣＵ２２から送信された鍵提供要求に応じて、第２鍵記憶部４０に記憶された第２鍵をゲートウェイＥＣＵ２２へ送信する。実施例の鍵提供要求のフレームには、要求する第２鍵の種類（対象ＥＣＵ２０ａ〜対象ＥＣＵ２０ｃのいずれか）ごとに異なるフレームＩＤが設定される。第２鍵提供部４８は、フレームＩＤに対応する第２鍵を、配送鍵記憶部４１に記憶された配送鍵で暗号化し、暗号化したデータを含む応答フレームをゲートウェイＥＣＵ２２へ送信する。応答フレームには、送信元の対象ＥＣＵ２０（対象ＥＣＵ２０ａ〜対象ＥＣＵ２０ｃのいずれか）を示すフレームＩＤが設定される。
【００２７】
図２は、ゲートウェイＥＣＵ２２の機能構成を示すブロック図を含む。ゲートウェイＥＣＵ２２は、通信部５０、記憶部５２、制御部５４を備える。これらの機能ブロックは、対象ＥＣＵ２０ａの通信部３０、記憶部３２、制御部３４に対応する。
【００２８】
記憶部５２は、プログラム記憶部５６、鍵生成規則記憶部５８、配送鍵記憶部５９を含む。プログラム記憶部５６は、外部機器１４から受信した書換指示に含まれる書換プログラムを一時的に記憶する。配送鍵記憶部５９は、複数の対象ＥＣＵ２０との通信で使用する複数の配送鍵を記憶し、すなわち、各対象ＥＣＵ２０用の配送鍵を記憶する。
【００２９】
鍵生成規則記憶部５８は、複数の対象ＥＣＵ２０それぞれの第１鍵を生成するための規則であり、複数の対象ＥＣＵ２０に記憶された複数の第２鍵の組み合わせ態様を記憶する。実施例では、鍵生成規則記憶部５８は、図１の組み合わせテーブル２６を記憶する。
【００３０】
組み合わせテーブル２６には、複数の対象ＥＣＵ２０それぞれの第１鍵であり、対象ＥＣＵ２０ごとに異なる第１鍵を生成するための、複数の第２鍵の異なる組み合わせ態様が定められる。例えば、図１の組み合わせテーブル２６では、対象ＥＣＵ２０ａの第１鍵を、対象ＥＣＵ２０ｂから提供された第２鍵と、対象ＥＣＵ２０ｃから提供された第２鍵とを組み合わせて生成することが定められている。また、対象ＥＣＵ２０ｂの第１鍵を、対象ＥＣＵ２０ａから提供された第２鍵と、対象ＥＣＵ２０ｃから提供された第２鍵とを組み合わせて生成することが定められている。
【００３１】
制御部５４は、書換指示受信部６０、書換要求部６２、第２鍵取得部６４、第１鍵生成部６６を含む。書換指示受信部６０は、外部機器１４からコネクタ２８を介して入力された書換指示を受信する。書換指示は、プログラム書換対象となる対象ＥＣＵ２０（以下、「特定ＥＣＵ」と呼ぶ。）のＩＤを含む。さらに書換要求は、特定ＥＣＵに記憶された既存のプログラムに置き換えるべき新たなプログラムのデータ（以下「書換プログラム」とも呼ぶ。）を含む。
【００３２】
変形例として、クラウド上のサーバ（不図示）が、インターネット等、車両１２外部のネットワークを介して、書換指示を車両１２へ送信してもよい。この場合、通信部５０は、車両１２外部のネットワークと通信し、書換指示受信部６０は、通信部５０を介して、サーバから送信された書換指示を受信してもよい。
【００３３】
書換要求部６２は、書換指示受信部６０により書換指示が受信された場合、データ処理プログラムの書換要求を対象ＥＣＵ２０へ送信する。書換要求部６２は、対象ＥＣＵ２０へ送信する書換要求のフレームに対して、特定ＥＣＵの種類（例えば対象ＥＣＵ２０ａ、対象ＥＣＵ２０ｂ、または対象ＥＣＵ２０ｃ）ごとに異なるフレームＩＤを設定する。なお、当該フレームのペイロードに、特定ＥＣＵのＩＤを指定してもよい。
【００３４】
第２鍵取得部６４は、複数の対象ＥＣＵ２０から複数の第２鍵を取得する。具体的には、第２鍵取得部６４は、鍵提供要求を複数の対象ＥＣＵ２０（少なくとも特定ＥＣＵ以外の対象ＥＣＵ２０）へ送信し、鍵提供要求に対する応答フレーム（第２鍵を含む）を複数の対象ＥＣＵ２０から取得する。第２鍵取得部６４は、応答フレームのフレームＩＤに基づいて、複数の第２鍵それぞれの提供元（例えば対象ＥＣＵ２０ａ、対象ＥＣＵ２０ｂ、または対象ＥＣＵ２０ｃ）を識別する。
【００３５】
第１鍵生成部６６は、第２鍵取得部６４により取得された複数の第２鍵を、鍵生成規則記憶部５８の組み合わせテーブル２６が示す態様で組み合わせることにより、特定ＥＣＵの第１鍵を生成する。組み合わせテーブル２６は、複数の第２鍵の連結順序を定めてもよい。第１鍵生成部６６は、組み合わせテーブル２６が示す順序で複数の第２鍵のデータを連結することにより、特定ＥＣＵの第１鍵を生成してもよい。例えば、第１鍵生成部６６は、図１の組み合わせテーブル２６を参照して、対象ＥＣＵ２０ｂから提供された第２鍵の後に対象ＥＣＵ２０ｃから提供された第２鍵を連結することにより、特定ＥＣＵである対象ＥＣＵ２０ａの第１鍵を生成してもよい。
【００３６】
また、第１鍵生成部６６は、組み合わせテーブル２６に規定された第２鍵の複数の組み合わせ態様のうち、データ送信先（言い換えればプログラム書換先）となる特定ＥＣＵに応じた態様で複数の第２鍵を組み合わせる。これにより、第１鍵生成部６６は、特定ＥＣＵごとに異なる第１鍵を生成する。
【００３７】
書換要求部６２は、第１鍵生成部６６により生成された特定ＥＣＵの第１鍵を使用して特定ＥＣＵへデータを送信する。実施例では、書換要求部６２は、特定ＥＣＵから受信したチャレンジ（乱数）に対するレスポンスを、特定ＥＣＵの第１鍵に基づいて生成し、当該レスポンスを特定ＥＣＵへ送信する。また、書換要求部６２は、特定ＥＣＵから書換開始要求を受信した場合、特定ＥＣＵへ書換プログラムを送信する。
【００３８】
以上の構成による車載通信システム１０の動作を説明する。
図３は、図２の対象ＥＣＵ２０の動作を示すフローチャートである。対象ＥＣＵ２０ａ、対象ＥＣＵ２０ｂ、対象ＥＣＵ２０ｃのいずれも同様の動作になる。図３には不図示だが、対象ＥＣＵ２０が起動中（例えば電源オンの間）、データ処理部４２は、プログラム記憶部３６に記憶されたデータ処理プログラムを実行することにより、対象ＥＣＵ２０が担当するデータ処理を実行する。
【００３９】
通信部３０が、ゲートウェイＥＣＵ２２から送信された鍵提供要求を受信すると（Ｓ１０のＹ）、第２鍵提供部４８は、鍵提供要求のＩＤが示す対象ＥＣＵ２０の第２鍵（すなわち特定ＥＣＵの第１鍵の一部）を取得する。第２鍵提供部４８は、取得した第２鍵を、配送鍵記憶部４１に記憶された配送鍵により暗号化する。第２鍵提供部４８は、第２鍵の暗号化データと、自装置を示すＩＤとを含む応答フレームをゲートウェイＥＣＵ２２へ送信する（Ｓ１２）。鍵提供要求を未受信であれば（Ｓ１０のＮ）、Ｓ１２をスキップする。
【００４０】
通信部３０が、ゲートウェイＥＣＵ２２から送信された書換要求を受信すると（Ｓ１４のＹ）、照合部４４は、所定の乱数生成器から乱数を取得し、取得した乱数をゲートウェイＥＣＵ２２へ送信する（Ｓ１６）。照合部４４は、取得した乱数に対して、第１鍵記憶部３８に記憶された第１鍵を使用して演算し、演算結果を照合コードとして取得する（Ｓ１８）。また、照合部４４は、通信部３０を介して、ゲートウェイＥＣＵ２２から送信された照合コードを取得する（Ｓ２０）。Ｓ１８で取得した照合コードと、Ｓ２０で取得した照合コードが一致する場合（Ｓ２２のＹ）、照合部４４は、自ＥＣＵを書換許可状態へ移行させる（Ｓ２４）。
【００４１】
書換許可状態へ移行されると、書換実行部４６は、書換プログラムの提供を要求する書換開始要求をゲートウェイＥＣＵ２２へ送信し（Ｓ２６）、ゲートウェイＥＣＵ２２から送信された書換プログラムを取得する（Ｓ２８）。書換実行部４６は、取得した書換プログラムをプログラム記憶部３６へ格納し、既存のデータ処理プログラムを更新する（Ｓ３０）。書換実行部４６は、データ処理プログラムの書換完了通知をゲートウェイＥＣＵ２２へ送信する（Ｓ３２）。
【００４２】
Ｓ１８で取得した照合コードと、Ｓ２０で取得した照合コードとが不一致であれば（Ｓ２２のＮ）、照合部４４は、自ＥＣＵを書換禁止状態へ移行させ、または、自ＥＣＵの書換禁止状態を維持する（Ｓ３４）。図３には不図示だが、Ｓ３４の後、照合部４４は、所定の異常時処理を実行してもよい。例えば、照合部４４は、書換禁止状態あること、または、照合コードの検証に失敗したことを示すデータをゲートウェイＥＣＵ２２へ送信してもよい。また、照合部４４は、照合コードの検証に失敗したことを所定のログファイルへ記録してもよい。書換要求を未受信であれば（Ｓ１４のＮ）、Ｓ１６以降の処理をスキップし、本図のフローを終了する。
【００４３】
図４は、図２のゲートウェイＥＣＵ２２の動作を示すフローチャートである。図３には不図示だが、ゲートウェイＥＣＵ２２は、起動中（例えば電源オンの間）、車載ネットワーク２４を流れるフレームの中継処理およびルーティング処理を実行する。
【００４４】
書換指示受信部６０は、外部機器１４から入力された書換指示を受信すると（Ｓ４０のＹ）、書換指示が含む書換プログラムをプログラム記憶部５６へ格納する。書換要求部６２は、書換指示が示す特定ＥＣＵへデータ処理プログラムの書換要求を送信する（Ｓ４２）。第２鍵取得部６４は、特定ＥＣＵに対応するフレームＩＤを設定したフレームであり、特定ＥＣＵの第２鍵の提供を要求するフレームを複数の対象ＥＣＵ２０（実施例では特定ＥＣＵを含む）へ送信する（Ｓ４４）。例えば、第２鍵取得部６４は、車載ネットワーク２４のバスへ上記フレームをブロードキャストしてもよい。
【００４５】
第２鍵取得部６４は、複数の対象ＥＣＵ２０から送信された複数の第２鍵（暗号化データ）を取得して、配送鍵記憶部５９に記憶された配送鍵によりそれらの暗号化データを復号し、複数の第２鍵（平文）を取得する（Ｓ４６）。第１鍵生成部６６は、鍵生成規則記憶部５８の組み合わせテーブル２６を参照し、特定ＥＣＵの第１鍵の生成規則にしたがって複数の第２鍵を組み合わせることにより、特定ＥＣＵの第１鍵を生成する（Ｓ４８）。書換要求部６２は、特定ＥＣＵから送信された乱数を取得する（Ｓ５０）。書換要求部６２は、Ｓ５０で取得した乱数と、Ｓ４８で生成した第１鍵とに基づいて所定の演算を実行し、演算結果を照合コードとして取得する（Ｓ５２）。書換要求部６２は、照合コードを特定ＥＣＵへ送信する（Ｓ５４）。
【００４６】
既述したように、照合コードが正しければ、特定ＥＣＵからゲートウェイＥＣＵ２２へ書換開始要求が送信される。通信部５０が、特定ＥＣＵから送信された書換開始要求を受信すると（Ｓ５６のＹ）、書換要求部６２は、書換プログラムを特定ＥＣＵへ送信する（Ｓ５８）。書換要求部６２は、特定ＥＣＵから書換完了通知を受信すると、所定の後処理を実行し、例えば、リプログラミングの完了を外部機器１４へ通知する（Ｓ６０）。書換開始要求を未受信であれば（Ｓ５６のＮ）、Ｓ５８以降をスキップして本図のフローを終了する。外部機器１４から書換指示を未受信であれば（Ｓ４０のＮ）、Ｓ４２以降をスキップして本図のフローを終了する。
【００４７】
実施例の車載通信システム１０によると、リプログラミングの対象となる対象ＥＣＵ２０が、ゲートウェイＥＣＵ２２から送信されたデータの正当性を第１鍵を用いて認証することを実現しつつ、鍵の秘密性を向上することができる。ゲートウェイＥＣＵ２２は、第２鍵の組み合わせ態様のデータを記憶するだけであるため、仮にゲートウェイＥＣＵ２２が攻撃されても、各電子制御装置の第１鍵が漏洩することを防止できる。また仮に、ある対象ＥＣＵ２０が攻撃されても、盗まれるのは当該ＥＣＵの第１鍵と他の対象ＥＣＵ２０の第１鍵の一部となり、鍵の漏洩を最小限に抑えることができる。
【００４８】
以上、本発明を実施例をもとに説明した。この実施例は例示であり、それらの各構成要素あるいは各処理プロセスの組合せにいろいろな変形例が可能なこと、またそうした変形例も本発明の範囲にあることは当業者に理解されるところである。
【００４９】
変形例を説明する。上記実施例では、対象ＥＣＵ２０のそれぞれは、他の複数の対象ＥＣＵ２０それぞれの第２鍵を記憶した。例えば、対象ＥＣＵ２０ａは、対象ＥＣＵ２０ｂの第２鍵と、その第２鍵とは異なる対象ＥＣＵ２０ｃの第２鍵を記憶した。変形例として、対象ＥＣＵ２０のそれぞれは、他の対象ＥＣＵ２０に依存しない共通の第２鍵（典型的には単一の第２鍵）を記憶してもよい。例えば、対象ＥＣＵ２０ａは、対象ＥＣＵ２０ｂと対象ＥＣＵ２０ｃに共通の第２鍵を記憶してもよい。
【００５０】
本変形例のゲートウェイＥＣＵ２２の組み合わせテーブル２６には、複数の対象ＥＣＵ２０から取得された複数の第２鍵の組み合わせ態様として、特定ＥＣＵごとに異なる組み合わせ態様が定められる。この態様によると、対象ＥＣＵ２０が記憶する第２鍵は単一であっても、複数の第２鍵の組み合わせ態様を異ならせることで、対象ＥＣＵ２０ごとに異なる第１鍵を生成することができる。本変形例も上記実施例と同様の効果を奏する。
【００５１】
別の変形例を説明する。上記実施例では、対象ＥＣＵ２０のリプログラミング時に、ゲートウェイＥＣＵ２２が、複数の第２鍵を組み合わせて第１鍵を生成することを例示した。ただし、実施例に記載の技術はこれに制限されない。実施例に記載の技術は、複数のＥＣＵと、複数のＥＣＵのいずれかに対して何らかのデータを送信する送信装置（実施例のゲートウェイＥＣＵ２２に対応）とを含むシステムであり、ＥＣＵが第１鍵を使用して送信元の正当性を検証するシステムに広く適用可能である。
【００５２】
実施例および変形例に記載の技術は、以下の項目によって特定されてもよい。
［項目１］
車載ネットワークを介して複数の電子制御装置へデータを送信する送信装置であって、
前記複数の電子制御装置のそれぞれは、前記送信装置から送信されたデータの正当性を認証するための自装置の鍵である第１鍵を記憶するとともに、他の電子制御装置の第１鍵の一部に対応する第２鍵を記憶し、
前記送信装置は、
特定の電子制御装置の第１鍵を生成するのに用いられる、他の複数の電子制御装置に記憶された複数の第２鍵の組み合わせ態様を記憶する記憶部と、
前記特定の電子制御装置へデータを送信する場合、前記他の複数の電子制御装置から複数の第２鍵を取得する鍵取得部と、
前記鍵取得部により取得された複数の第２鍵を、前記記憶部に記憶された態様で組み合わせることにより、前記特定の電子制御装置の第１鍵を生成する鍵生成部と、
前記鍵生成部により生成された第１鍵を使用して、前記特定の電子制御装置へデータを送信する送信部と、を備える送信装置。
この構成によると、電子制御装置が、送信装置から送信されたデータの正当性を第１鍵を用いて認証することを実現しつつ、鍵の秘密性を向上することができる。送信装置は第２鍵の組み合わせ態様のデータを記憶するだけであるため、仮に送信装置が攻撃されても、各電子制御装置の鍵が漏洩することを防止できる。また仮に、ある電子制御装置が攻撃されても、盗まれうるのは当該電子制御装置の鍵と他の電子制御装置の鍵の一部であり、鍵の漏洩を最小限に抑えることができる。
［項目２］
前記記憶部は、前記複数の電子制御装置の異なる第１鍵を生成するための、前記複数の第２鍵の異なる組み合わせ態様を記憶し、
前記鍵生成部は、前記異なる組み合わせ態様のうちデータ送信先の電子制御装置に応じた態様で前記複数の第２鍵を組み合わせることにより、前記データ送信先の電子制御装置の第１鍵を生成する、項目１に記載の送信装置。
この態様によると、複数の電子制御装置それぞれに異なる第１鍵を設定でき、セキュリティを一層向上させることができる。
［項目３］
複数の電子制御装置と、
車載ネットワークを介して前記複数の電子制御装置へデータを送信する送信装置と、
を備え、
前記複数の電子制御装置のそれぞれは、前記送信装置から送信されたデータの正当性を認証するための自装置の鍵である第１鍵を記憶するとともに、他の電子制御装置の第１鍵の一部に対応する第２鍵を記憶し、
前記送信装置は、
特定の電子制御装置の第１鍵を生成するのに用いられる、他の複数の電子制御装置に記憶された複数の第２鍵の組み合わせ態様を記憶する記憶部と、
前記特定の電子制御装置へデータを送信する場合、前記他の複数の電子制御装置から複数の第２鍵を取得する鍵取得部と、
前記鍵取得部により取得された複数の第２鍵を、前記記憶部に記憶された態様で組み合わせることにより、前記特定の電子制御装置の第１鍵を生成する鍵生成部と、
前記鍵生成部により生成された第１鍵を使用して、前記特定の電子制御装置へデータを送信する送信部と、を含む車載通信システム。
この車載通信システムによると、項目１と同様に、電子制御装置が、送信装置から送信されたデータの正当性を第１鍵を用いて認証することを実現しつつ、鍵の秘密性を向上することができる。
［項目４］
車載ネットワークを介して複数の電子制御装置へデータを送信する送信装置が実行する通信方法であって、
前記複数の電子制御装置のそれぞれは、前記送信装置から送信されたデータの正当性を認証するための自装置の鍵である第１鍵を記憶するとともに、他の電子制御装置の第１鍵の一部に対応する第２鍵を記憶し、
前記送信装置は、特定の電子制御装置の第１鍵を生成するのに用いられる、他の複数の電子制御装置に記憶された複数の第２鍵の組み合わせ態様を記憶する記憶部を備えており、
前記送信装置が、
前記特定の電子制御装置へデータを送信する場合、前記他の複数の電子制御装置から複数の第２鍵を取得し、
取得した複数の第２鍵を、前記記憶部に記憶された態様で組み合わせることにより、前記特定の電子制御装置の第１鍵を生成し、
生成した第１鍵を使用して、前記特定の電子制御装置へデータを送信する、通信方法。
この通信方法によると、項目１と同様に、電子制御装置が、送信装置から送信されたデータの正当性を第１鍵を用いて認証することを実現しつつ、鍵の秘密性を向上することができる。
［項目５］
車載ネットワークを介して複数の電子制御装置へデータを送信する送信装置が実行するコンピュータプログラムであって、
前記複数の電子制御装置のそれぞれは、前記送信装置から送信されたデータの正当性を認証するための自装置の鍵である第１鍵を記憶するとともに、他の電子制御装置の第１鍵の一部に対応する第２鍵を記憶し、
前記送信装置は、特定の電子制御装置の第１鍵を生成するのに用いられる、他の複数の電子制御装置に記憶された複数の第２鍵の組み合わせ態様を記憶する記憶部を備えており、
前記送信装置に、
前記特定の電子制御装置へデータを送信する場合、前記他の複数の電子制御装置から複数の第２鍵を取得し、
取得した複数の第２鍵を、前記記憶部に記憶された態様で組み合わせることにより、前記特定の電子制御装置の第１鍵を生成し、
生成した第１鍵を使用して、前記特定の電子制御装置へデータを送信する、ことを実行させるためのコンピュータプログラム。
このコンピュータプログラムによると、項目１と同様に、電子制御装置が、送信装置から送信されたデータの正当性を第１鍵を用いて認証することを実現しつつ、鍵の秘密性を向上することができる。
【００５３】
上述した実施例および変形例の任意の組み合わせもまた本発明の実施の形態として有用である。組み合わせによって生じる新たな実施の形態は、組み合わされる実施例および変形例それぞれの効果をあわせもつ。また、請求項に記載の各構成要件が果たすべき機能は、実施例および変形例において示された各構成要素の単体もしくはそれらの連携によって実現されることも当業者には理解されるところである。
【符号の説明】
【００５４】
１０  車載通信システム、  ２０  対象ＥＣＵ、  ２２  ゲートウェイＥＣＵ、  ２４  車載ネットワーク、  ３８  第１鍵記憶部、  ４０  第２鍵記憶部、  ５８  鍵生成規則記憶部、  ６２  書換要求部、  ６４  第２鍵取得部、  ６６  第１鍵生成部。
【図１】
2018166310.tif 000003
【図２】
2018166310.tif 000004
【図３】
2018166310.tif 000005
【図４】
2018166310.tif 000006