(19)【発行国】日本国特許庁(JP)
(12)【公報種別】公開特許公報(A)
(11)【公開番号】P2024118938
(43)【公開日】2024-09-02
(54)【発明の名称】書込制御装置、更新制御装置、電子制御システム、ソフトウェア更新制御方法、及びソフトウェア更新制御プログラム
(51)【国際特許分類】
G06F 21/57 20130101AFI20240826BHJP
G06F 8/65 20180101ALI20240826BHJP
H04L 9/32 20060101ALI20240826BHJP
B60R 16/02 20060101ALI20240826BHJP
B60R 25/24 20130101ALI20240826BHJP
【FI】
G06F21/57 320
G06F8/65
H04L9/32 200B
H04L9/32 200E
B60R16/02 660U
B60R25/24
【審査請求】未請求
【請求項の数】16
【出願形態】OL
(21)【出願番号】P 2023025556
(22)【出願日】2023-02-21
(71)【出願人】
【識別番号】000004260
【氏名又は名称】株式会社デンソー
(74)【代理人】
【識別番号】230120499
【弁護士】
【氏名又は名称】藤江 和典
(74)【代理人】
【識別番号】100201385
【弁理士】
【氏名又は名称】中安 桂子
(72)【発明者】
【氏名】井本 礼一郎
(72)【発明者】
【氏名】菅野 康治
(72)【発明者】
【氏名】中村 剛
【テーマコード(参考)】
5B376
【Fターム(参考)】
5B376AB01
5B376AB43
5B376CA05
5B376CA43
5B376CA76
5B376FA11
5B376GA08
(57)【要約】 (修正有)
【課題】署名の検証を適切な検証装置に割り振る書込制御装置、更新制御装置、電子制御システム、ソフトウェア更新制御方法及びソフトウェア更新制御プログラムを提供する。
【解決手段】複数の電子制御装置及びこれらを接続する車載ネットワークから構成されている電子制御システムにおいて、複数の電子制御装置20のうち、情報の書込対象である書込対象装置に対して情報の書込みを制御する書込制御装置又は更新制御装置11は、車両の外部に設けられた配信装置30から、ネットワークを介して、情報を書込むためのファイル及びファイルから生成した署名を取得し、書込対象装置に対してファイルを送信するファイル転送部101と、署名の方式に基づき、複数の電子制御装置のうち署名を検証する検証装置を決定する検証装置決定部103と、署名及び署名の検証を指示する検証指示を検証装置に送信する検証指示部104と、を有する。
【選択図】
図3
【特許請求の範囲】
【請求項1】
接続された複数の電子制御装置(20)のうち、ソフトウェアの更新対象である更新対象装置に対して前記ソフトウェアの更新を制御する更新制御装置であって、
配信装置(30)から前記ソフトウェアを更新するための更新ファイル及び前記更新ファイルから生成した署名を取得し、前記更新対象装置に対して前記更新ファイルを送信する更新ファイル転送部(101)と、
前記署名の方式に基づき、前記複数の電子制御装置のうち前記署名を検証する検証装置を決定する検証装置決定部(103,113)と、
前記署名、及び前記署名の検証を指示する検証指示を前記検証装置に送信する検証指示部(104)と、を有する、
更新制御装置(11,12)。
【請求項2】
前記更新ファイル転送部は、前記更新対象装置に対して前記署名及び前記更新ファイルを送信し、
当該更新制御装置は、さらに、前記更新対象装置から送信された前記署名の検証の要求である検証要求を受信する検証要求受信部(102)を有し、
前記検証装置決定部(103)は、前記検証要求受信部が前記検証要求を受信した場合、前記検証装置を決定する、
請求項1記載の更新制御装置(11)。
【請求項3】
前記検証装置決定部(113)は、前記署名又は前記更新ファイルから前記署名の方式を特定し、前記署名の方式に基づき、前記検証装置を決定する、
請求項1記載の更新制御装置(12)。
【請求項4】
当該更新制御装置は、さらに、前記複数の電子制御装置のそれぞれについて、前記署名の検証の可否を示す情報である検証可否情報を記録した検証可否情報管理テーブル(107)を有し、
前記検証装置決定部は、前記検証可否情報管理テーブルに基づき、前記検証装置を決定する、
請求項2又は3記載の更新制御装置。
【請求項5】
前記検証指示部は、前記検証指示に、前記署名の検証の結果である検証結果を前記更新対象装置に対して送信する指示を含める、
請求項2又は3記載の更新制御装置。
【請求項6】
当該更新制御装置は、さらに、前記署名の検証の結果である検証結果を前記検証装置から受信する検証結果受信部(105)と、
前記検証結果を前記更新対象装置に送信する検証結果送信部(106)と、を有する、
請求項2又は3記載の更新制御装置。
【請求項7】
当該更新制御装置は、さらに、前記複数の電子制御装置のそれぞれの保存部の状況を示す情報である保存部情報を記録した保存部情報管理テーブル(110)と、
前記保存部情報管理テーブルに基づき、前記署名及び前記更新ファイルの保存先である保存装置を決定する保存装置決定部(108)と、
前記署名、前記更新ファイル、及び前記更新ファイルの保存を指示する保存指示を前記保存装置に送信する保存指示部(109)と、を有する、
請求項2又は3記載の更新装置。
【請求項8】
前記保存装置決定部は、前記配信装置からの前記更新ファイルの配信方式に基づき、前記保存装置を決定する、
請求項7記載の更新装置。
【請求項9】
前記更新ファイルは、複数の前記更新対象装置それぞれに対する前記ソフトウェアが含まれる更新ファイル群である、
請求項2又は3記載の更新装置。
【請求項10】
当該更新制御装置は、前記電子制御装置とともに移動体に搭載されている、
請求項2又は3記載の更新制御装置。
【請求項11】
前記電子制御装置は移動体に搭載されており、
当該更新制御装置は、前記移動体の外部に配置されている、
請求項2又は3記載の更新制御装置。
【請求項12】
接続された複数の電子制御装置(20)のうち、ソフトウェアの更新対象である更新対象装置に対して前記ソフトウェアの更新を制御する更新制御装置、及び前記複数の電子制御装置からなる電子制御システムであって、
前記更新制御装置は、
配信装置(30)から前記ソフトウェアを更新するための更新ファイル及び前記更新ファイルから生成した署名を取得し、前記更新対象装置に対して前記更新ファイルを送信する更新ファイル転送部(101)と、
前記署名の方式に基づき、前記複数の電子制御装置のうち前記署名を検証する検証装置を決定する検証装置決定部(103)と、
前記署名、及び前記署名の検証を指示する検証指示を前記検証装置に送信する検証指示部(104)と、を有し、
前記更新対象装置は、
前記更新制御装置から前記更新ファイルを受信する更新ファイル受信部(201)と、
前記署名の検証結果を前記検証装置又は前記更新制御装置から受信する検証結果受信部(204)と、
前記検証結果に基づき、前記更新ファイルを用いてソフトウェアの更新を行うソフトウェア更新部(205)と、を有する、
電子制御システム。
【請求項13】
前記更新制御装置の前記更新ファイル転送部は、前記更新対象装置に対して前記署名及び前記更新ファイルを送信し、
前記更新対象装置は、さらに、
前記署名又は前記更新ファイルから前記署名の方式を特定し、前記署名の方式に基づき前記署名の検証の要求である検証要求を生成する検証要求生成部(202)と、
前記検証要求を前記更新制御装置に送信する検証要求送信部(203)と、を有する、
請求項12記載の電子制御システム。
【請求項14】
接続された複数の電子制御装置(20)のうち、情報の書込対象である書込対象装置に対して前記情報の書込みを制御する書込制御装置であって、
配信装置(30)から前記情報を書込むためのファイル及び前記ファイルから生成した署名を取得し、前記書込対象装置に対して前記ファイルを送信するファイル転送部(101,121)と、
前記署名の方式に基づき、前記複数の電子制御装置のうち前記署名を検証する検証装置を決定する検証装置決定部(103,113)と、
前記署名、及び前記署名の検証を指示する検証指示を前記検証装置に送信する検証指示部(104)と、を有する、
書込制御装置(11,12,13)。
【請求項15】
接続された複数の電子制御装置(20)のうち、ソフトウェアの更新対象である更新対象装置に対して前記ソフトウェアの更新を制御する更新制御装置で実行されるソフトウェア更新制御方法であって、
配信装置(30)から前記ソフトウェアを更新するための更新ファイル及び前記更新ファイルから生成した署名を取得し、前記更新対象装置に対して前記更新ファイルを送信し(S101)、
前記署名の方式に基づき、前記複数の電子制御装置のうち前記署名を検証する検証装置を決定し(S103)、
前記署名、及び前記署名の検証を指示する検証指示を前記検証装置に送信する(S104)、
ソフトウェア更新制御方法。
【請求項16】
接続された複数の電子制御装置(20)のうち、ソフトウェアの更新対象である更新対象装置に対して前記ソフトウェアの更新を制御する更新制御装置で実行可能なソフトウェア更新制御プログラムであって、
配信装置(30)から前記ソフトウェアを更新するための更新ファイル及び前記更新ファイルから生成した署名を取得し、前記更新対象装置に対して前記更新ファイルを送信し(S101)、
前記署名の方式に基づき、前記複数の電子制御装置のうち前記署名を検証する検証装置を決定し(S103)、
前記署名、及び前記署名の検証を指示する検証指示を前記検証装置に送信する(S104)、
ソフトウェア更新制御プログラム。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、主として車載の電子制御システムに搭載されたソフトウェアの更新を制御する装置である更新制御装置、及び当該電子制御システム、並びにこれらの装置で実現する方法及びこれらの装置で実行可能なプログラムに関する。
【背景技術】
【0002】
自動車においては、車載ネットワークで接続された様々な電子制御装置が搭載されている。近年の自動運転技術の発展に伴い自動車に求められる機能が複雑になるため、自動車に搭載される電子制御装置の数は増加しつつある。
【0003】
電子制御装置のソフトウェアは、脆弱性を無くしてセキュリティ性能を高めたり、新機能の追加や既存機能の改善を行うことを目的として、更新(すなわち、アップデート)する必要がある。ソフトウェアを更新するための更新ファイルは、例えば配信装置から通信回線を通じて提供を受けることができる。
【0004】
配信装置から更新ファイルの提供を受ける場合、更新ファイルの正真性確認、認証、及び否認防止を目的として、更新ファイルに署名を付して送信することが望ましい。例えば、特許文献1には、車両に第1デバイス及び第2デバイスが搭載されており、第2デバイスのためのアップデート情報に付されている耐量子アルゴリズムを用いた署名を第1デバイスで検証し、アップデート情報が有効と見なされた場合アップデート情報を第2デバイスに中継し、第2デバイスがアップデート情報を用いて第2デバイスのソフトウェアコンポーネントを更新することが開示されている。
【先行技術文献】
【特許文献】
【0005】
【発明の概要】
【発明が解決しようとする課題】
【0006】
ここで、本発明者は、詳細な検討の結果、以下の課題を見出した。
既存暗号の危殆化に備え、将来耐量子暗号(Post-Quantum Cryptography)への移行が進む可能性がある。その場合、耐量子暗号は既存暗号に比べ、装置に高い処理性能が必要であることが予想される。また、耐量子暗号は鍵データ長も長く、十分な保存領域が必要であることが予想される。そして、電子制御システムを構成する複数の電子制御装置全てが耐量子暗号に対応するまでには相当時間がかかることが予想されるので、耐量子暗号に対応した電子制御システムの実現が遅延するおそれがある。また、特許文献1のように、第1デバイスで検証を行う場合、第1デバイスの負荷が増大してしまう。
【0007】
そこで、本発明は、署名の検証ができない装置がある場合、署名の検証が可能な装置に署名の検証を適宜割り振ることができる書込制御装置及び更新制御装置等を実現することを目的とする。
【課題を解決するための手段】
【0008】
本開示の一態様による更新制御装置は、
接続された複数の電子制御装置(20)のうち、ソフトウェアの更新対象である更新対象装置に対して前記ソフトウェアの更新を制御する更新制御装置(11、12)であって、
配信装置(30)から前記ソフトウェアを更新するための更新ファイル及び前記更新ファイルから生成した署名を取得し、前記更新対象装置に対して前記更新ファイルを送信する更新ファイル転送部(101)と、
前記署名の方式に基づき、前記複数の電子制御装置のうち前記署名を検証する検証装置を決定する検証装置決定部(103)と、
前記署名、及び前記署名の検証を指示する検証指示を前記検証装置に送信する検証指示部(104)と、を備える。
【0009】
本開示の一態様による書込制御装置は、
接続された複数の電子制御装置(20)のうち、情報の書込対象である書込対象装置に対して前記情報の書込みを制御する書込制御装置(11,12,13)であって、
配信装置(30)から前記情報を書込むためのファイル及び前記ファイルから生成した署名を取得し、前記書込対象装置に対して前記ファイルを送信するファイル転送部(101,121)と、
前記署名の方式に基づき、前記複数の電子制御装置のうち前記署名を検証する検証装置を決定する検証装置決定部(103,113)と、
前記署名、及び前記署名の検証を指示する検証指示を前記検証装置に送信する検証指示部(104)と、を備える。
【0010】
なお、特許請求の範囲、及び本項に記載した発明の構成要件に付した括弧内の番号は、本発明と後述の実施形態との対応関係を示すものであり、本発明を限定する趣旨ではない。
【発明の効果】
【0011】
以上の構成によれば、本発明の書込制御装置及び更新制御装置等は、署名を検証する検証装置を決定して検証装置に対して検証指示を行うので、署名の検証を適切な検証装置に割り振ることができる。
【図面の簡単な説明】
【0012】
【
図3】実施形態1の更新制御装置の構成を説明するブロック図
【
図4】実施形態1の更新制御装置で用いる検証可否情報管理テーブルを説明する説明図
【
図5】実施形態1の更新制御装置における検証装置の決定方法を説明する説明図
【
図6】実施形態1の更新対象装置の構成を説明するブロック図
【
図7】実施形態1の更新制御装置の動作を説明する図
【
図8】実施形態1の変形例の更新制御装置の構成を説明するブロック図
【
図9】実施形態1の変形例の更新制御装置で用いる保存部情報管理テーブルを説明する説明図
【
図10】実施形態1の変形例の更新制御装置の動作を説明する図
【
図11】実施形態2の更新制御装置の構成を説明するブロック図
【
図12】実施形態2の更新対象装置の構成を説明するブロック図
【
図13】実施形態2の更新制御装置の動作を説明する図
【
図14】実施形態2の変形例の更新対象装置の構成を説明するブロック図
【
図15】実施形態2の変形例の更新制御装置の動作を説明する図
【
図16】実施形態3の書込制御装置の構成を説明するブロック図
【
図17】実施形態3の書込対象装置の構成を説明するブロック図
【
図18】実施形態3の書込制御装置の動作を説明する図
【発明を実施するための形態】
【0013】
以下、本発明の実施形態について、図面を参照して説明する。
【0014】
なお、本発明とは、特許請求の範囲又は課題を解決するための手段の項に記載された発明を意味するものであり、以下の実施形態に限定されるものではない。また、少なくともかぎ括弧内の語句は、特許請求の範囲又は課題を解決するための手段の項に記載された語句を意味し、同じく以下の実施形態に限定されるものではない。
【0015】
特許請求の範囲の従属項に記載の構成及び方法は、特許請求の範囲の独立項に記載の発明において任意の構成及び方法である。従属項に記載の構成及び方法に対応する実施形態の構成及び方法、並びに特許請求の範囲に記載がなく実施形態のみに記載の構成及び方法は、本発明において任意の構成及び方法である。特許請求の範囲の記載が実施形態の記載よりも広い場合における実施形態に記載の構成及び方法も、本発明の構成及び方法の例示であるという意味で、本発明において任意の構成及び方法である。いずれの場合も、特許請求の範囲の独立項に記載することで、本発明の必須の構成及び方法となる。
【0016】
実施形態に記載した効果は、本発明の例示としての実施形態の構成を有する場合の効果であり、必ずしも本発明が有する効果ではない。
【0017】
複数の実施形態(変形例を含む。)がある場合、各実施形態に開示の構成は各実施形態のみで閉じるものではなく、実施形態をまたいで組み合わせることが可能である。例えば一の実施形態に開示の構成を、他の実施形態に組み合わせてもよい。また、複数の実施形態それぞれに開示の構成を集めて組み合わせてもよい。
【0018】
発明が解決しようとする課題に記載した課題は公知の課題ではなく、本発明者が独自に知見したものであり、本発明の構成及び方法と共に発明の進歩性を肯定する事実である。
【0019】
1.各実施形態の前提となる構成
(1)書込制御装置又は更新制御装置の配置
図1は、各実施形態の「書込制御装置」又は「更新制御装置」の配置を説明する図である。例えば、
図1(a)や
図1(b)に示すように、更新制御装置11、更新制御装置12、及び書込制御装置13(以下、更新制御装置11等と略する。)が電子制御システムSを構成する電子制御装置20とともに「移動体」である車両に「搭載」されている場合と、
図1(c)に示すように、電子制御システムSを構成する電子制御装置20が「移動体」である車両に「搭載」され、更新制御装置11等が車両の外部に配置されたサーバ装置等で実現する場合と、が想定される。
なお、「書込制御装置」はソフトウェアやデータ等の情報を電子制御装置に書込む装置であることから、古いソフトウェアや古いデータに代えて新たなソフトウェアや新たなデータを電子制御装置に書込む「更新制御装置」を包含する概念である。
ここで、
「移動体」とは、移動可能な物体をいい、移動速度は任意である。また移動体が停止している場合も当然含む。例えば、自動車、自動二輪車、自転車、歩行者、船舶、航空機、及びこれらに搭載される物を含み、またこれらに限らない。
「搭載」される、とは、移動体に直接固定されている場合の他、移動体に固定されていないが移動体と共に移動する場合も含む。例えば、移動体に乗った人が所持している場合、移動体に載置された積荷に搭載されている場合、が挙げられる。
【0020】
更新制御装置11及び更新制御装置12は、更新制御装置11や更新制御装置12に「接続」された電子制御システムSを構成する単数若しくは複数の「電子制御装置」20(以下、ECU(Electronic Control Unit)と称する)に対して「ソフトウェア」の更新を制御する装置である。電子制御装置20のうち、特にソフトウェアの更新対象となっている装置を、更新対象装置と称する。
書込制御装置13は、書込制御装置13に「接続」された電子制御システムSを構成する単数若しくは複数の「電子制御装置」20(以下、ECU(Electronic Control Unit)と称する)に対して「情報」の書込みを制御する装置である。電子制御装置20のうち、特にソフトウェアの書込対象となっている装置を、書込対象装置と称する。
ここで、
「接続」とは、データのやり取りが可能な状態をいい、異なるハードウェアが有線又は無線の通信ネットワークを介して接続されている場合はもちろん、同一のハードウェア上で実現された仮想マシン同士が仮想的に接続されている場合も含む。
「電子制御装置」とは、物理的に独立した電子制御装置の他、仮想化技術を用いて実現した仮想化電子制御装置であってもよい。
「ソフトウェア」には、OS(Operating System)上で動作するソフトウェアはもちろん、電子制御装置そのものを動作させるミドルウェア(例えば、OS)も含む。
「情報」には、ソフトウェア又はデータが含まれる。ソフトウェアにはOS(Operating System)上で動作するソフトウェアはもちろん、電子制御装置そのものを動作させるミドルウェア(例えば、OS)も含む。データには、動画像、静止画像、地図等も含む。
【0021】
図1(a)や
図1(b)の場合、更新制御装置11等と各ECU20とは、例えばCAN(Controller Area Network)、LIN(Local Interconnect Network)といった車載通信ネットワークを介して「接続」されている。あるいは、Ethernet(登録商標)、Wi-Fi(登録商標)、Bluetooth(登録商標)等、有線無線を問わず任意の通信方式を用いて接続されてもよい。
【0022】
図1(a)は、電子制御システムSの内部に更新制御装置11等を設けたもの、又は電子制御システムSを構成するECU20の少なくとも一つに、更新制御装置11等の機能を内蔵したものである。
【0023】
図1(b)は、電子制御システムSの外部に更新制御装置11等を設けたものであるが、接続の形態の視点では、実質的には
図1(a)と同じである。
【0024】
図1(c)の場合も電子制御システムSの外部に更新制御装置11等を設けたものであるが、更新制御装置11等は車両の外部に設けられているので、接続の形態は
図1(a)や
図1(b)とは異なる。更新制御装置11等と電子制御システムSとは、例えば、IEEE802.11(Wi-Fi(登録商標))、IEEE802.16(WiMAX(登録商標))、W-CDMA(Wideband Code Division Multiple Access)、HSPA(High Speed Packet Access)、LTE(Long Term Evolution)、LTE-A(Long Term Evolution Advanced)、4G、5G等の無線通信方式といった通信ネットワークを介して「接続」されている。あるいは、DSRC(Dedicated Short Range Communication)を用いることができる。車両が駐車場に駐車されていたり、修理工場に収容されている場合は、無線通信方式に代えて、有線通信方式を用いることができる。例えば、LAN(Local Area Network)やインターネット、固定電話回線を用いることができる。
【0025】
図1(c)の場合、サーバ装置である更新制御装置11等は、車両に搭載された電子制御システムSを構成する各ECU20に搭載されたソフトウェアの更新や書込みを車両の外部から制御する。
【0026】
(2)電子制御システムSの構成
図2は、電子制御システムSの構成例を示す図である。電子制御システムSは、複数のECU20、及びこれらを接続する車載ネットワークから構成されている。
図2は8つのECU(ECU20a~ECU20h)を例示しているが、当然のことながら、電子制御システムSは任意の数のECUから構成される。以後の説明では、単数又は複数の電子制御装置全体を包括して説明する場合はECU20や各ECU20、個々の電子制御装置を特定して説明する場合はECU20a、ECU20b、ECU20c、・・・のように記載している。
【0027】
図2の場合、各ECU20間は、上述の
図1(a)や
図1(b)の説明で記載した車載ネットワークや、その他の有線通信方式や無線通信方式で接続されている。
なお、接続とは、データのやり取りが可能な状態をいい、異なるハードウェアが有線又は無線の通信ネットワークを介して接続されている場合はもちろん、同一のハードウェア上で実現された仮想ECU(あるいは、仮想マシンとも呼ばれる)同士が仮想的に接続されている場合も含む。
【0028】
図2に示す電子制御システムSは、統合ECU20a、外部通信ECU20b、ゾーンECU(20c、20d)、及び個別ECU(20e~20h)を含んでいる。
【0029】
統合ECU20aは、電子制御システムS全体を制御する機能を備えるとともに、各ECU20間の通信を仲介するゲートウェイ機能を備えたECUである。統合ECU20aは、ゲートウェイECU(G-ECU)、モビリティコンピュータ(MC)と呼ばれることもある。また、統合ECU20aは、中継装置やゲートウェイ装置であってもよい。
【0030】
外部通信ECU20bは、車両の外部に設けられた外部装置、例えば各実施形態では配信装置30と通信を行う通信部を有するECUである。外部通信ECU20bが用いる通信方式は、
図1(c)の説明で記載した無線通信方式や有線通信方式である。
なお、複数の通信方式を実現するため、外部通信ECU20bを複数設けるようにしてもよい。また、外部通信ECU20bを設ける代わりに、統合ECU20aが外部通信ECU20bの機能を内包してもよい。
【0031】
ゾーンECU(20c、20d)は、個別ECUが配置される場所や機能に応じて適宜配置されたゲートウェイ機能を備えたECUである。例えば、ゾーンECU20cは、車両の前方に配置された個別ECU20e及び個別ECU20fと他のECU20との通信を仲介するゲートウェイ機能を有するECU、ゾーンECU20dは、車両の後方に配置された個別ECU20g及び個別ECU20hと他のECU20との通信を仲介するゲートウェイ機能を有するECU、である。ゾーンECU(20c、20d)は、ドメインコンピュータ(DC)と呼ばれることもある。ゾーンECU20cには、ネットワーク1(NW1)を介して個別ECU20e及び個別ECU20fが接続され、ゾーンECU20dには、ネットワーク2(NW2)を介して個別ECU20g及び個別ECU20hが接続されている。
【0032】
個別ECU(20e~20h)は任意の機能を有するECUで構成することができる。例えば、エンジン、ハンドル、ブレーキ等の制御を行う駆動系電子制御装置、メータやパワーウインドウ等の制御を行う車体系電子制御装置、ナビゲーション装置等の情報系電子制御装置、あるいは、障害物や歩行者との衝突を防止するための制御を行う安全制御系電子制御装置が挙げられる。また、ECU同士が並列ではなく、マスタとスレーブとに分類されていてもよい。
【0033】
各実施形態において、更新制御装置11等は、
図1(a)の場合のうち、統合ECU20aに設けられている場合を例として説明する。もっとも、更新制御装置11等は、外部通信ECU20b、ゾーンECU(20c,20d)、又は個別ECU(20e~20h)に設けられていてもよい。個別ECU(20e~20h)の1つに設けられる場合は、更新制御装置11等を実現する専用のECUとすることが望ましい。
【0034】
なお、電子制御システムSを構成する各ECU20のうち、外部通信ECU20bではないECU20が更新制御装置11等の機能を内蔵する場合、後述する更新制御装置11等の更新ファイル転送部101やファイル転送部121は、外部通信ECU20bを介して、電子制御システムSの外部から更新ファイルやファイルを取得する。この場合、
図1(a)における更新制御装置11等は、AUTOSAR(AUTomotive Open System ARchitecture)仕様においてUCMマスタと称される。また、外部通信ECU20bは、AUTOSAR仕様においてOTA(Over The Air)クライアントと称される。なお、
図2における各ECU20は、AUTOSAR仕様においてUCM(Update and Configuration Management)サブオーディネイトと称される。
【0035】
以下、実施形態1の例として更新制御装置11、実施形態2の例として更新制御装置12、実施形態3の例として書込制御装置13について説明する。なお、上述の通り、「書込制御装置」は「更新制御装置」を包含する概念であるので、実施形態1及び実施形態2は「更新制御装置」の実施形態であり、実施形態1乃至実施形態3は「書込制御装置」の実施形態である。
【0036】
2.実施形態1
(1)更新制御装置11の構成
図3を用いて、本実施形態の更新制御装置11の構成例を説明する。更新制御装置11は、更新ファイル転送部101、検証要求受信部102、検証装置決定部103、検証指示部104、検証結果受信部105、検証結果送信部106、検証可否情報管理テーブル保存部107を有する。本実施形態では、更新制御装置11は、
図2の統合ECU20aに設けられているとする。
【0037】
更新ファイル転送部101(「ファイル転送部」又は「更新ファイル転送部」に相当)は、配信装置30からソフトウェア(「情報」又は「ソフトウェア」に相当)を更新するための更新ファイル(「ファイル」又は「更新ファイル」に相当)及び「更新ファイルから生成した署名」を取得し、更新対象装置(「書込対象装置」又は「更新対象装置」に相当)に対して更新ファイルを送信する。本実施形態では、更新対象装置に対しては、更新ファイルに加えて、署名も送信する。さらには、更新対象装置に対して、ソフトウェアの更新指示を送信してもよい。
ここで、
「更新ファイルから生成した署名」には、更新ファイルから直接生成した署名の他、更新ファイルから間接的に生成した署名、例えば更新ファイルのハッシュ値のように更新ファイルを特定する情報から生成した署名も含む。
【0038】
図1(a)や
図1(b)に示すように、更新制御装置11が移動体に搭載されている場合、更新ファイル転送部101は、電子制御システムSの外部に設けられたサーバ装置等から無線通信又は有線通信を介して更新ファイルを取得し、車載通信ネットワークを介して各ECU20のうち更新対象装置に対して更新ファイルを送信する。なお、
図1(c)に示すように、更新制御装置11を車両外部のサーバ装置等で実現する場合、更新制御装置11は当該サーバ装置で生成された、あるいは他の装置で生成された更新ファイルを取得し、無線通信又は有線通信を介して電子制御システムSを構成する各ECU20のうち更新対象装置に対して更新ファイルを送信する。
【0039】
更新ファイル転送部101が取得する更新ファイルは、更新対象装置に搭載されたソフトウェアを更新するための更新ファイルを含む。更新ファイルは、複数のソフトウェアを更新するための複数の更新ファイルを含む更新ファイル群であってもよい。更新ファイル群は、複数の更新対象装置それぞれに対する更新ファイルが含まれていてもよい。あるいは、更新ファイルは、一の更新ファイルが複数に分割されたファイルであってもよい。
【0040】
更新ファイルには、更新すべきソフトウェアを搭載している更新対象装置を特定する情報や、それぞれの更新ファイルのデータ量を示す情報を含めてもよい。これらの情報は更新ファイルのヘッダに格納してもよいし、更新ファイルの更新データ部分に格納されていてもよい。
【0041】
署名には、署名のサイズ、署名に用いた鍵、署名の方式を示す情報を含めてもよい。これらの情報は、署名のヘッダに格納してもよい。
【0042】
配信装置30で署名を作成するために用いる鍵は、任意の鍵であればよい。もっとも、本実施形態では、後述の通り処理性能の高い検証装置を用いて署名を検証することができるので、耐量子暗号(Post-Quantum Cryptography:以下PQCと略する。)を用いることが望ましい。例えば、多変数公開鍵暗号が挙げられる。具体的には、2022年7月に米国国立標準技術研究所が選定した標準PQCであるCRYSTAL-Dilithium、FALCON、SPHINCS+、が挙げられる。
【0043】
検証要求受信部102は、署名の検証の要求である検証要求を更新対象装置から受信する。本実施形態では、検証要求には、署名の方式や、署名の方式を特定する情報が含まれているとする。もっとも、更新ファイル転送部101で取得した更新ファイルや署名を用いて署名の方式を特定することができるので、検証要求には署名の検証処理を要求するリクエストやフラグ等のみであってもよい。更新対象装置で検証要求を生成する方法については、更新対象装置の構成の項で説明する。
【0044】
検証装置決定部103は、署名を検証する検証装置を決定する。本実施形態では、検証要求受信部102が検証要求を受信した場合、次に説明する検証可否情報管理テーブルに基づき検証装置を決定する。また、本実施形態では、電子制御システムSを構成するECU20の中から検証装置を決定する。検証装置決定部103は、署名の方式に基づき、複数のECU20のうち署名を検証する検証装置を決定してもよい。
なお、検証装置は、更新制御装置11を実現しているECU20と同じECUであってもよい。あるいは、検証装置は、更新制御装置11を実現しているECU20を除くようにしてもよい。
また、検証装置は、電子制御システムSの外部の装置であってもよい。
【0045】
図4を用いて、検証可否情報管理テーブルの内容を説明する。
検証可否情報管理テーブルは、電子制御システムSを構成するECU20それぞれについて、「署名の検証の可否を示す情報」である検証可否情報を記録している。検証可否情報管理テーブルは、検証可否情報管理テーブル保存部107に保存されている。
ここで、「署名の検証の可否を示す情報」には、署名の検証の可否を直接示している情報の他、それぞれの電子制御装置のリソース等、署名の検証の可否を間接的に示している情報も含む。
【0046】
図4では、署名の検証の可否を示す情報として、署名の検証が可能なPQCの方式が記録されている。例えば、統合ECU20aは、方式A及び方式Bが検証可能であり、ゾーンECU20c、ゾーンECU20d、及び個別ECU20gは、方式Bのみ検証可能であり、その他のECUは検証可能な方式を有していない。
【0047】
図4では、署名の検証の可否を示す情報として、さらに電子制御システムにおける位置、動作状況、及び処理能力が記録されている。
電子制御システムにおける位置は、例えば接続されているネットワークを特定する情報である。
動作状況は、例えば署名の検証処理やその他の処理が行われているかどうかを示す情報である。動作状況を示す情報は、一定時間毎に更新されている。
処理能力は、例えば各ECU20のリソースを示しており、CPUの処理速度、RAMの容量やアクセス速度、I/Oの帯域、ネットワークプロトコル等を総合評価して定めた値や符号である。
【0048】
検証装置決定部103は、本実施形態では、検証要求受信部102で受信した検証要求に含まれる署名の方式と、検証可否情報管理テーブル保存部107から読み出した検証可否情報管理テーブルに基づき、検証可能なECU20を検証装置として決定する。例えば、検証要求に方式Aを示す情報が含まれていた場合、検証装置決定部103は、統合ECU20aを検証装置として決定する。検証要求に方式Bを示す情報が含まれていた場合、検証装置決定部103は、統合ECU20a、ゾーンECU20c、ゾーンECU20d、個別ECU20gのいずれかを検証装置として決定する。
【0049】
図5を用いて、検証装置の決定方法を説明する。
検証装置の候補が、統合ECU20a、ゾーンECU20c、ゾーンECU20d、及び個別ECU20gであり、更新対象装置が個別ECU20fである場合を想定する。
例えば、検証装置決定部103が、更新対象装置の位置に一番近い装置を基準に選択する場合は、個別ECU20fと同じネットワークに設けられており、かつ上位のECUであるゾーンECU20cを検証装置として決定する。検証装置決定部103が、一番処理能力の高い装置を基準に選択する場合は、処理能力が最も大きい統合ECU20aを検証装置として決定する。検証装置決定部103が、現在処理中でない装置を基準に選択する場合は、処理中でない個別ECU20gを検証装置として決定する。検証装置決定部103は、これらの基準を複数用いて検証装置を決定してもよい。
【0050】
検証指示部104は、検証装置決定部103で決定した検証装置に対し、署名、及び署名の検証を指示する検証指示を「送信する」。検証指示部104は、さらに、署名の検証に必要な情報、例えば更新ファイルや、更新ファイルから生成したハッシュ値のような更新ファイルを特定する情報を送信する。
「送信する」とは、通信ネットワークに対して出力する場合の他、送信先である検証装置が更新制御装置と同一のハードウェア上で実現されている場合に更新制御装置の内部で情報の処理を移管する場合も含む。
【0051】
検証結果受信部105は、署名の検証の結果である検証結果を検証装置から受信する。
検証結果送信部106は、検証結果受信部105で受信した検証結果を更新対象装置に送信する。
【0052】
なお、検証結果を検証装置から直接更新対象装置に送信するようにしてもよい。例えば、検証指示部104が送信する検証指示に、検証結果を更新対象装置に対して送信する指示を含めるようにすればよい。
この場合、検証結果受信部105及び検証結果送信部106は不要となる。
【0053】
(2)更新対象装置の構成
図6を用いて、本実施形態の更新対象装置の構成例を説明する。更新対象装置(「書込対象装置」又は「更新対象装置」に相当)は、更新ファイル受信部201、検証要求生成部202、検証要求送信部203、検証結果受信部204、及びソフトウェア更新部205を有する。
【0054】
更新ファイル受信部201は、更新制御装置11から更新ファイルを受信する。本実施形態では、更新ファイルに加え、更新ファイルから生成した署名も受信する。さらには、更新制御装置11からソフトウェアの更新指示を受信してもよい。
【0055】
検証要求生成部202は、更新ファイル受信部201で受信した署名又は更新ファイルから署名の方式を特定し、署名の方式に基づき署名の検証の要求である検証要求を生成する。
検証要求生成部202は、例えば、署名に含まれる署名に用いた鍵や署名の方式を示す情報、あるいは更新ファイルに含まれる更新ファイルのデータ量やその他の情報から署名の方式を特定し、更新対象装置自身が当該署名の方式による署名の検証ができるかどうかを判定する。署名の検証ができる場合は、更新対象装置自身で署名の検証を行い、検証結果に基づきソフトウェアの更新を行う。署名の検証ができない場合は、署名の検証の要求である検証要求を生成する。検証要求には、署名の方式や、署名の方式を特定する情報を含めるようにしてもよい。
【0056】
検証要求送信部203は、検証要求生成部202で生成した検証要求を更新制御装置11に送信する。
【0057】
検証結果受信部204は、検証要求送信部203から送信した検証要求に対する検証結果を受信する。検証結果は、検証結果を送信した装置である更新制御装置11又は検証装置から受信する。
【0058】
ソフトウェア更新部205は、検証結果受信部204で受信した検証結果に基づき、更新ファイル受信部201で受信した更新ファイルを用いてソフトウェアの更新を行う。具体的には、検証結果が検証に成功したことを示す場合はソフトウェアの更新指示に従いソフトウェアの更新を実行し、検証結果が検証に失敗したことを示す場合はソフトウェアの更新を中断する。
【0059】
(3)更新制御装置11の動作
図7を用いて、更新制御装置11を含めた本実施形態の電子制御システムS全体の動作を説明する。なお、
図7に示す動作は、更新制御装置11で実行される更新制御方法を示すだけでなく、更新制御装置11で実行可能な更新制御プログラムの処理手順を示すものでもある。そして、これらで示す処理は、
図7で示した順序には限定されない。すなわち、あるステップでその前段のステップの結果を利用する関係にある等の制約がない限り、順序を入れ替えてもよい。後述の
図10、
図13、及び
図15においても同様である。
【0060】
更新制御装置11の更新ファイル転送部101は、配信装置30からソフトウェアを更新するための更新ファイル及び更新ファイルから生成した署名を取得し、更新対象装置に対して署名及び更新ファイルを送信する(S101)。
【0061】
更新対象装置の更新ファイル受信部201は、更新制御装置11から署名及び更新ファイルを受信する(S201)。検証要求生成部202は、S201で受信した署名又は更新ファイルから署名の方式を特定し、更新対象装置自身が当該署名の方式による署名の検証ができるかどうかを判定する(S202)。署名の検証ができる場合は、更新対象装置自身で署名の検証を行い、検証結果に基づきソフトウェアの更新を行う(S205)。署名の検証ができない場合は、署名の検証の要求である検証要求を生成し、検証要求送信部203は検証要求を更新制御装置11に送信する(S203)。
【0062】
更新制御装置11の検証要求受信部102は、検証要求を更新対象装置から受信する(S102)。検証装置決定部103は、S102で検証要求を受信した場合、検証可否情報管理テーブル保存部107から検証可否情報管理テーブルを読出し、検証可否情報管理テーブルに基づき、検証装置を決定する(S103)。そして、検証指示部104は、署名、更新ファイル、及び検証指示を検証装置に送信する(S104)。
【0063】
検証装置は、更新制御装置11から署名、更新ファイル、及び検証指示を受信し、検証指示に基づき自身が保持する公開鍵を用いて署名の検証を行う(S105)。そして、検証装置は、検証結果を更新制御装置11に送信する。検証指示に、検証結果を更新対象装置に対して送信する指示が含まれる場合は、検証装置は、検証結果を更新対象装置に送信する。
【0064】
更新制御装置11の検証結果受信部105は、検証装置から検証結果を受信する(S106)。そして、検証結果送信部106は、S106で受信した検証結果を更新対象装置に送信する)(S107)。
【0065】
更新対象装置の検証結果受信部204は、検証結果を更新制御装置11又は検証装置から検証結果を受信する(S204)。そして、ソフトウェア更新部205は、S204で受信した検証結果に基づき、ソフトウェアの更新を行う(S205)。
【0066】
(4)小括
以上、本実施形態によれば、更新制御装置11は、検証要求を受信した場合に検証装置を決定するので、更新対象装置が署名を検証できない場合にのみ検証装置を決定すれば足り、配信装置30から送信される署名の全てに対して検証装置を決定する必要がなく、更新制御装置11の負担を軽減することができる。
また、本実施形態の更新制御装置11は、例えば検証可否情報管理テーブルに基づき署名の検証に適した検証対象装置を選択することができるので、複数のECU20がPQCに対応しているが全てのECU20がPQCに対応していないという状況、すなわち既存暗号からPQCへの移行過渡期において、最適な検証対象装置を選択してPQCの検証を行うことができる。しかも、複数のPQCの検証を複数の検証装置に割り振ることもできるので、特定の検証装置の負担が増大することを防ぐことができる。
【0067】
(5)更新制御装置11の変形例
実施形態1では、更新対象装置での署名の検証ができない場合に、更新制御装置11が検証装置を決定し、署名の検証を検証装置で行うようにしている。もっとも、PQCは既存暗号に比べ鍵データ長が長いので十分な保存領域が必要であるが、検証装置は必ずしも十分な保存領域を有しない場合もある。
そこで、本変形例の更新制御装置11は、実施形態1の構成に加え、署名や更新ファイルを保存する保存装置を決定し、署名や更新ファイルを保存装置で保存する構成を有している。以下、実施形態1と相違する構成を説明し、実施形態1と共通する構成は実施形態1の説明を引用し、説明を省略する。
【0068】
図8を用いて、本件変形例の更新制御装置11の構成例を説明する。本変形例の更新制御装置11は、実施形態1の更新制御装置11の構成に加え、保存装置決定部108、保存指示部109、及び保存部情報管理テーブル保存部110を有する。
【0069】
保存装置決定部108は、次に説明する保存部情報管理テーブルに基づき、署名及び更新ファイルの保存先である保存装置を決定する。
【0070】
図9を用いて、保存部情報管理テーブルの内容を説明する。保存部情報管理テーブルは、電子制御システムSを構成するECU20それぞれについて、それぞれのECU20の「保存部の状況を示す情報」である保存部情報を記録している。保存部情報管理テーブルは、保存部情報管理テーブル保存部110に保存されている。
ここで、「保存部の状況を示す情報」とは、保存部自体や保存部の動作に関連する情報であり、例えば保存部の容量、保存部の空き容量、保存部の書込み速度、保存部の読出し速度、保存部からの転送速度等が含まれる。
【0071】
図9では、保存部情報として、保存部であるストレージの全容量が記録されている。例えば、統合ECU20aは、1GBの容量を有している。
図9では、保存部情報として、さらに空き容量、書込み速度、読出し速度が記録されている。空き容量は、一定時間毎に更新されている。その他、シークタイム、アクセスタイム、プラッタ枚数、回転数、インターフェースの種類、キャッシュメモリの容量を記録してもよい。
【0072】
保存装置決定部108は、本変形例では、更新ファイル転送部101が受信した署名及び更新ファイルのサイズと、保存部情報管理テーブル保存部110から読み出した保存部情報管理テーブルに基づき、署名及び更新ファイルが保存可能なECU20を保存装置として決定する。例えば、署名及び更新ファイルのサイズを有するファイルを保存でき、かつ空き容量が全容量に対して所定の割合以上のストレージを有するECU20を保存装置として決定する。
なお、保存装置は、更新制御装置11を実現しているECU20と同じECUであってもよい。あるいは、保存装置は、更新制御装置11を実現しているECU20を除くようにしてもよい。
また、保存装置は、電子制御システムSの外部の装置であってもよい。
【0073】
保存装置決定部108が保存装置を決定する基準は、これ以外であってもよい。例えば、書き込み速度及び読み出し速度が所定の速度以上のストレージの中から決定してもよい。
【0074】
さらに、保存装置決定部108は、配信装置30からの更新ファイルの配信方式に基づき、保存装置を決定してもよい。
例えば、ダウンロード方式の場合、署名及び更新ファイルを一括でダウンロードできるストレージの容量を有する保存装置を選択する。
例えば、ストリーミング方式の場合、ストレージの容量はダウンロード方式の場合に比べて小さくてもよい。
例えば、疑似ストリーミング方式の場合、ストレージの容量はダウンロード方式の場合に比べて小さくてもよいが、頻繁に転送動作が必要になるので、レイテンシの小さいデバイスを有する保存装置を選択する。
【0075】
なお、保存部情報管理テーブルと検証可否情報管理テーブルとを一つのテーブルとしてもよい。
【0076】
保存指示部109は、署名、更新ファイル、及び更新ファイルの保存を指示する保存指示を保存装置に「送信する」。保存指示に、検証装置を特定する情報や、検証装置からのリクエストがあった場合に検証装置に署名及び更新ファイルを出力する指示を含めるようにしてもよい。
ここで、「送信する」とは、通信ネットワークに対して出力する場合の他、送信先である保存装置が更新制御装置と同一のハードウェア上で実現されている場合に更新制御装置の内部で情報の処理を移管する場合も含む。
【0077】
更新対象装置の構成は、実施形態1と同じであるので、実施形態1の説明及び
図6を引用し、説明を省略する。
【0078】
図10を用いて、更新制御装置11を含めた本実施形態1の変形例の電子制御システムS全体の動作を説明する。
図10のステップのうち、
図7と同じステップは同じステップ番号を付しており、実施形態1の説明を引用する。
【0079】
更新制御装置11の保存装置決定部108は、保存部情報管理テーブル保存部110から保存部情報管理テーブルを読出し、保存部情報管理テーブルに基づき、保存装置を決定する(S111)。そして、保存指示部109は、署名、更新ファイル、及び保存指示を保存装置に送信する(S112)。
【0080】
保存装置は、更新制御装置11から署名、更新ファイル、及び保存指示を受信し、保存指示に基づき署名及び更新ファイルを保存部に保存する(S113)。また、検証装置からのリクエストや更新制御装置11からの指示があった場合には、保存装置は、保存部に保存している署名及び更新ファイルを検証装置に出力する(S114)。
【0081】
以上、本変形例によれば、更新制御装置11は、検証装置に加えて保存装置を決定するので、検証装置に十分な保存領域を有しない場合でも検証装置での検証を行うことができる。
また、本変形例の更新制御装置11は、配信装置30からの更新ファイルの配信方式に基づき保存装置を決定するので、配信方式の特徴を踏まえた適切な保存装置を決定することができる。
【0082】
3.実施形態2
(1)更新制御装置12の構成
実施形態1では、更新対象装置からの検証要求を受信した場合に、更新制御装置11が検証装置を決定していた。本実施形態では、更新対象装置からの検証要求によらずに、更新制御装置12が検証装置を決定する。
【0083】
図11を用いて、本実施形態の更新制御装置12の構成例を説明する。本実施形態の更新制御装置12は、実施形態1の更新制御装置11の構成と異なり、検証要求受信部102を有しない。また、検証装置決定部113の動作が異なる。実施形態1のブロックと機能が共通するブロックは実施形態1のブロックの番号と同じ番号を付し、実施形態1の説明を引用する。
【0084】
検証装置決定部113は、署名を検証する検証装置を決定する。本実施形態では、更新ファイル転送部101が配信装置30から取得した署名又は更新ファイルから署名の方式を特定し、署名の方式に基づき検証装置を決定する。例えば、署名に含まれる署名に用いた鍵や署名の方式を示す情報、あるいは更新ファイルに含まれる更新ファイルのデータ量やその他の情報から署名の方式を特定し、検証可否情報管理テーブルに基づき、更新対象装置が当該署名の方式による署名の検証ができるかどうかを判定する。更新対象装置が署名の検証ができると判定した場合は、検証装置の決定は行わない。更新対象装置が署名の検証ができないと判定した場合は、検証装置を決定する。
【0085】
(2)更新対象装置の構成
図12を用いて本実施形態の更新対象装置の構成例を説明する。本実施形態の更新対象装置は、
図6で示す実施形態1の更新対象装置と異なり、検証要求生成部202及び検証要求送信部203は有しない。その他の構成は実施形態1の構成と同じであるので、実施形態1の説明を引用する。
なお、本実施形態の更新対象装置は、署名の検証を行わない場合は、更新ファイル受信部201は、更新制御装置12から署名は受信せず、更新ファイルのみを受信するようにしてもよい。
【0086】
(3)更新制御装置12の動作
図13を用いて、更新制御装置12を含めた本実施形態の電子制御システムS全体の動作を説明する。
図13のステップのうち、
図7と同じステップは同じステップ番号を付しており、実施形態1の説明を引用する。
【0087】
更新制御装置12の検証装置決定部113は、S101で配信装置30から取得した署名又は更新ファイルから署名の方式を特定し、署名の方式に基づき検証装置を決定する(S113)。
【0088】
(4)小括
以上、本実施形態によれば、更新制御装置12は、配信装置30から受信した署名又は更新ファイルから署名の方式を特定し、署名の方式に基づき検証装置を決定するので、検証装置の決定プロセスを更新制御装置12の中で閉じることができ、検証装置の決定を一元化することができる。
また、本実施形態の更新制御装置12は、例えば検証可否情報管理テーブルに基づき署名の検証に適した検証対象装置を選択することができるので、複数のECU20がPQCに対応しているが全てのECU20がPQCに対応していないという状況、すなわち既存暗号からPQCへの移行過渡期において、最適な検証対象装置を選択してPQCの検証を行うことができる。しかも、複数のPQCの検証を複数の検証装置に割り振ることもできるので、特定の検証装置の負担が増大することを防ぐことができる。
【0089】
(5)更新制御装置12の変形例
実施形態1の変形例と同様、本実施形態も保存装置を決定する構成を有してもよい。すなわち、本変形例の更新制御装置12は、実施形態2の構成に加え、署名や更新ファイルを保存する保存装置を決定し、署名や更新ファイルを保存装置で保存する構成を有している。
【0090】
図14は、本件変形例の更新制御装置12の構成例を示す図である。本変形例の更新制御装置12は、実施形態2の更新制御装置12の構成に加え、保存装置決定部108、保存指示部109、及び保存部情報管理テーブル保存部110を有する。これらの構成は、実施形態1の変形例の構成と同じであるので、実施形態1の変形例の説明を引用する。
【0091】
図15は、更新制御装置12を含めた本実施形態の変形例の電子制御システムS全体の動作を示す図である。
図15のステップのうち、
図13と同じステップは同じステップ番号を付しており、実施形態2を介して実施形態1の説明を引用する。また、
図10と同じステップは同じステップ番号を付しており、実施形態1の変形例の説明を引用する。
【0092】
以上、本変形例によれば、更新制御装置12は、検証装置に加えて保存装置を決定するので、検証装置に十分な保存領域を有しない場合でも検証装置での検証を行うことができる。
【0093】
4.実施形態3
(1)書込制御装置13の構成
実施形態1及び実施形態2では、ソフトウェアの更新のために更新ファイルを取得した。本実施形態では、ソフトウェアの更新目的に限らず、ソフトウェアや各種データを取得している。
【0094】
図16を用いて、本実施形態の書込制御装置13の構成例を説明する。書込制御装置13は、実施形態1の更新制御装置11の構成と異なり、更新ファイル転送部101に代えてファイル転送部121を有する。実施形態1のブロックと機能が共通するブロックは実施形態1のブロックの番号と同じ番号を付し、実施形態1の説明を引用する。
【0095】
ファイル転送部121(「ファイル転送部」に相当)は、配信装置30からソフトウェアや各種データ(「情報」に相当)を書込むためのファイル(「ファイル」に相当)及び「ファイルから生成した署名」を取得し、書込対象装置(「書込対象装置」に相当)に対してファイルを送信する。
ここで、
「ファイルから生成した署名」には、ファイルから直接生成した署名の他、ファイルから間接的に生成した署名、例えばファイルのハッシュ値のようにファイルを特定する情報から生成した署名も含む。
【0096】
ファイル転送部121が取得するファイルは、更新対象のソフトウェアに限らず、その他の用途のソフトウェアや各種データであればよい。例えば、動画像や静止画像などの画像データ、地図データ、経路データ、サイバー攻撃の判定に用いる攻撃判定テーブル等が挙げられる。
【0097】
(2)書込対象装置の構成
図17を用いて、本実施形態の書込対象装置の構成例を説明する。書込対象装置(「書込対象装置」に相当)は、実施形態1の更新対象装置と異なり、更新ファイル受信部201に代えてファイル受信部221、ソフトウェア更新部205に代えて情報処理部225を有する。実施形態1のブロックと機能が共通するブロックは実施形態1のブロックの番号と同じ番号を付し、実施形態1の説明を引用する。
【0098】
ファイル受信部221は、書込制御装置13からファイルを受信する。ファイルの例は上述の通りである。
【0099】
情報処理部225は、検証結果受信部204で受信した検証結果に基づき、ファイル受信部221で受信したファイルを用いて、ファイルに含まれるソフトウェアや各種データの目的に沿った処理を実行する。例えば、ソフトウェアを実行する、画像データを用いた検証を行う、地図データをインストールする、経路データに沿って案内を行う、攻撃判定テーブルを用いてサイバー攻撃の判定を行うことが挙げられる。
【0100】
(3)書込制御装置13の動作
図18を用いて、書込制御装置13を含めた本実施形態の電子制御システムS全体の動作を説明する。
図18のステップのうち、
図7と同じステップは同じステップ番号を付しており、実施形態1の説明を引用する。
【0101】
書込対象装置の情報処理部225は、S201で書込制御装置13から取得したファイルを用いて、ファイルに含まれるソフトウェアや各種データの目的に沿った処理を実行する(S215)。
【0102】
(4)その他
本実施形態は、実施形態1だけでなく、実施形態1の変形例や、実施形態2及びその変形例にも適用することができる。その場合、実施形態1及び実施形態2で記載した『更新』は『書込み』と、『ソフトウェア』は『ソフトウェア又は各種データ』と適宜読み替えて引用する。
【0103】
5.実施形態4(その他の発明)
実施形態1や実施形態2では、更新制御装置11や更新制御装置12が検証装置を決定していた。これに対し、本実施形態においては、更新対象装置の検証要求を受信したECU20で署名の検証が可能な場合は署名の検証を行い、署名の検証が可能でないなら他のECU20に検証要求を転送する。
【0104】
本実施形態の更新対象装置は、
図6で示す実施形態1の更新対象装置と同じである。すなわち、更新ファイル受信部201は、更新制御装置11から署名及び更新ファイルを受信し、検証要求生成部202は、更新ファイル受信部201で受信した署名又は更新ファイルから署名の方式を特定し、署名の方式に基づき署名の検証の要求である検証要求を生成し、検証要求送信部203は、検証要求生成部202で生成した検証要求を上位のECU20に送信する。
【0105】
例えば、
図2において、個別ECU20fが更新対象装置である場合、個別ECU20fはゾーンECU20cに検証要求を送信し、ゾーンECU20cがこれを受信する。ゾーンECU20cで署名の検証ができる場合は、ゾーンECU20cは署名の検証を行い、検証結果を個別ECU20fに送信する。ゾーンECU20cで署名の検証ができない場合は、個別ECU20fが生成した検証要求を上位のECU20である統合ECU20aに転送する。
検証要求を受信した統合ECU20aは署名の検証を行い、検証結果を個別ECU20fに送信する。
【0106】
この構成によれば、更新制御装置11や更新制御装置12が署名の検証の管理を行う必要がなく、簡単な構成でPQCの検証を行うことができる。
【0107】
6.総括
以上、本発明の各実施形態における書込制御装置及び更新制御装置等の特徴について説明した。
【0108】
各実施形態で使用した用語は例示であるので、同義の用語、あるいは同義の機能を含む用語に置き換えてもよい。
【0109】
実施形態の説明に用いたブロック図は、装置の構成を機能毎に分類及び整理したものである。それぞれの機能を示すブロックは、ハードウェア又はソフトウェアの任意の組み合わせで実現される。また、機能を示したものであることから、かかるブロック図は方法の発明、及び当該方法を実現するプログラムの発明の開示としても把握できるものである。
【0110】
各実施形態に記載した処理、フロー、及び方法として把握できる機能ブロック、については、一のステップでその前段の他のステップの結果を利用する関係にある等の制約がない限り、順序を入れ替えてもよい。
【0111】
各実施形態、及び特許請求の範囲で使用する、第1、第2、乃至、第N(Nは整数)、の用語は、同種の2以上の構成や方法を区別するために使用しており、順序や優劣を限定するものではない。
【0112】
各実施形態の更新制御装置は、車両に搭載される車載システムを構成する電子制御装置の更新を制御するための装置であることを前提としているが、本発明の更新制御装置は、特許請求の範囲で特に限定する場合を除き、任意の電子制御装置の更新を制御する装置に適用される。
各実施形態の書込制御装置は、車両に搭載される車載システムを構成する電子制御装置に対する書込を制御するための装置であることを前提としているが、本発明の書込制御装置は、特許請求の範囲で特に限定する場合を除き、任意の電子制御装置に対する書込みを制御する装置に適用される。
【0113】
また、本発明の装置の形態の例として、以下のものが挙げられる。
部品の形態として、半導体素子、電子回路、モジュール、マイクロコンピュータが挙げられる。
半完成品の形態として、電子制御装置(ECU(Electric Control Unit))、システムボードが挙げられる。
完成品の形態として、携帯電話、スマートフォン、タブレット、パーソナルコンピュータ(PC)、ワークステーション、サーバが挙げられる。
その他、通信機能を有するデバイス等を含み、例えばビデオカメラ、スチルカメラ、カーナビゲーションシステムが挙げられる。
【0114】
また各装置に、アンテナや通信用インターフェースなど、必要な機能を追加してもよい。
【0115】
加えて、本発明は、各実施形態で説明した構成及び機能を有する専用のハードウェアで実現できるだけでなく、メモリやハードディスク等の記録媒体に記録した本発明を実現するためのプログラム、及びこれを実行可能な専用又は汎用CPU及びメモリ等を有する汎用のハードウェアとの組み合わせとしても実現できる。
【0116】
専用や汎用のハードウェアの非遷移的実体的記録媒体(例えば、外部記憶装置(ハードディスク、USBメモリ、CD/BD等)、又は内部記憶装置(RAM、ROM等))に格納されるプログラムは、記録媒体を介して、あるいは記録媒体を介さずにサーバから通信回線を経由して、専用又は汎用のハードウェアに提供することもできる。これにより、プログラムのアップグレードを通じて常に最新の機能を提供することができる。
【産業上の利用可能性】
【0117】
本開示は、主として自動車に搭載される車載用電子制御装置用の書込制御装置及び更新制御装置として説明したが、自動二輪車、船舶、鉄道、航空機等、移動する移動体全般に適用することが可能である。また、移動体に限らず、マイクロコンピュータを包含する製品全般に適用可能である。
また、本開示は、署名の検証を対象としているが、耐量子化暗号で暗号化されたメッセージの復号を対象としてもよい。
また、本開示は、配信装置と更新対象装置との間の署名を対象としているが、電子制御装置内の装置間、例えば更新制御装置と更新対象装置との間の署名を対象としてもよい。
【符号の説明】
【0118】
11,12 更新制御装置、13 書込制御装置、101 更新ファイル転送部、102 検証要求受信部、103 検証装置決定部、104 検証指示部、105 検証結果受信部、106 検証結果送信部、107 検証可否情報管理テーブル保存部、108 保存装置決定部、109 保存指示部、110 保存部情報管理テーブル保存部、20 ECU、201 更新ファイル受信部、202 検証要求生成部、203 検証要求送信部、204 検証結果受信部、205 ソフトウェア更新部、30 配信装置