IP Force 特許公報掲載プロジェクト 2022.1.31 β版

知財求人 - 知財ポータルサイト「IP Force」

▶ 日立オートモティブシステムズ株式会社の特許一覧

特許7390476プログラム更新システム、車両制御装置及びプログラム更新方法
<>
  • 特許-プログラム更新システム、車両制御装置及びプログラム更新方法 図1
  • 特許-プログラム更新システム、車両制御装置及びプログラム更新方法 図2
  • 特許-プログラム更新システム、車両制御装置及びプログラム更新方法 図3
  • 特許-プログラム更新システム、車両制御装置及びプログラム更新方法 図4
  • 特許-プログラム更新システム、車両制御装置及びプログラム更新方法 図5
< >
(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2023-11-22
(45)【発行日】2023-12-01
(54)【発明の名称】プログラム更新システム、車両制御装置及びプログラム更新方法
(51)【国際特許分類】
   G06F 8/65 20180101AFI20231124BHJP
   G06F 21/60 20130101ALI20231124BHJP
   B60R 16/02 20060101ALI20231124BHJP
【FI】
G06F8/65
G06F21/60 320
B60R16/02 660U
【請求項の数】 8
(21)【出願番号】P 2022511552
(86)(22)【出願日】2021-01-15
(86)【国際出願番号】 JP2021001177
(87)【国際公開番号】W WO2021199575
(87)【国際公開日】2021-10-07
【審査請求日】2022-04-13
(31)【優先権主張番号】P 2020060932
(32)【優先日】2020-03-30
(33)【優先権主張国・地域又は機関】JP
(73)【特許権者】
【識別番号】509186579
【氏名又は名称】日立Astemo株式会社
(74)【代理人】
【識別番号】110001678
【氏名又は名称】藤央弁理士法人
(72)【発明者】
【氏名】小暮 佑介
(72)【発明者】
【氏名】野海道 崇顕
(72)【発明者】
【氏名】吉村 健太郎
【審査官】坂庭 剛史
(56)【参考文献】
【文献】米国特許出願公開第2019/0265965(US,A1)
【文献】特開2020-027639(JP,A)
【文献】国際公開第2019/038855(WO,A1)
(58)【調査した分野】(Int.Cl.,DB名)
G06F 8/60- 8/658
G06F 21/60-21/64
B60R 16/02
(57)【特許請求の範囲】
【請求項1】
更新プログラム配信部から車両制御装置に更新プログラムを配信するプログラム更新システムであって、
前記更新プログラム配信部は、更新プログラムを所定の暗号化単位で暗号化して、所定の転送単位で更新対象となる前記車両制御装置宛に送信し、
前記車両制御装置は、前記受信した更新プログラムを、前記暗号化単位で復号化して、所定の書き込み単位でプログラム記憶部に格納するものであって、
前記書き込み単位は、前記暗号化単位より大きく、かつ前記暗号化単位の整数倍であることを特徴とするプログラム更新システム。
【請求項2】
請求項1に記載のプログラム更新システムであって、
前記転送単位は、前記暗号化単位より大きく、かつ前記暗号化単位の整数倍であることを特徴とするプログラム更新システム。
【請求項3】
請求項1に記載のプログラム更新システムであって、
前記暗号化単位は、前記転送単位より大きく、かつ前記転送単位の整数倍であることを特徴とするプログラム更新システム。
【請求項4】
請求項1に記載のプログラム更新システムであって、
前記車両制御装置は、
暗号化して転送された更新プログラムを保存する第一保存部と、
前記第一保存部に保存された更新プログラムを復号する暗号復号部と、
前記暗号復号部で復号して得られる分割更新プログラムを保存する第二保存部とを有することを特徴とするプログラム更新システム。
【請求項5】
請求項4に記載のプログラム更新システムであって、
前記プログラム記憶部は、同じサイズの二つのプログラム格納領域を有し、
前記車両制御装置は、一方のプログラム格納領域に格納されたプログラムを実行し、他方のプログラム格納領域に前記第二保存部に保存された分割更新プログラムを格納することを特徴とするプログラム更新システム。
【請求項6】
請求項1に記載のプログラム更新システムであって、
前記更新プログラム配信部から前記車両制御装置へのプログラムの転送が途中で失敗した場合に、プログラムの転送を再開する単位となるレジュームサイズが定められており、
前記レジュームサイズは、前記書き込み単位の整数倍であることを特徴とするプログラム更新システム。
【請求項7】
更新プログラム配信部から更新プログラムが配信される車両制御装置であって、
前記更新プログラム配信部で所定の暗号化単位で暗号化された更新プログラムを、所定の転送単位で受信し、
前記受信した更新プログラムを、前記暗号化単位で復号化して、所定の書き込み単位でプログラム記憶部に格納するものであって、
前記書き込み単位は、前記暗号化単位より大きく、かつ前記暗号化単位の整数倍であることを特徴とする車両制御装置。
【請求項8】
更新プログラム配信部から車両制御装置に更新プログラムを配信するプログラム更新システムにおけるプログラム更新方法であって、
前記更新プログラム配信部が、更新プログラムを所定の暗号化単位で暗号化して、所定の転送単位で更新対象となる前記車両制御装置宛に送信する手順と、
前記車両制御装置が、前記受信した更新プログラムを、前記暗号化単位で復号化して、所定の書き込み単位でプログラム記憶部に格納する手順とを含み、
前記書き込み単位は、前記暗号化単位より大きく、かつ前記暗号化単位の整数倍であることを特徴とするプログラム更新方法。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、プログラム更新システム及びプログラムが更新可能な車両制御装置に関する。
【背景技術】
【0002】
近年、車両の電子制御装置(ECU:Electronic Control Unit)のプログラム更新方式の一つとして、プログラム配信センタより無線で配信されるプログラムをネットワーク経由でダウンロードし、ECUのプログラムを更新するオンライン更新機能が実用化されている。また、セキュリティ向上の観点から、更新用プログラムを暗号化して配信し、車両制御装置にダウンロードする技術が実用化されている。
【0003】
本技術分野の背景技術として、特開2018-79768号公報(特許文献1)がある。特開2018-79768号公報には、車両に設けられ、内部にデータを保存可能な複数の機器であって、非走行系に属する複数の機器と、前記車両に搭載される所定機器に保存される所定のデータを更新するための更新データを複数の分割データに分割するデータ分割部と、前記複数の分割データの各々の保存先として、前記複数の機器の何れか1 つを対応付ける対応付け部と、前記複数の分割データの各々を、前記複数の機器のうちの前記対応付け部により対応付けられた機器に保存させる保存処理部と、を備える、更新データ保存システムが記載されている(請求項1参照)。
【先行技術文献】
【特許文献】
【0004】
【文献】特開2018-79768号公報
【発明の概要】
【発明が解決しようとする課題】
【0005】
車両制御装置の多機能化に伴って、車両制御装置における更新用プログラムのサイズが大きくなっている。そのため、ダウンロード途中の更新プログラムを車両制御装置に一時的に保存するために大きな記憶領域が必要になるという課題がある。
【0006】
このような問題を回避するため、前述の従来技術のように、更新プログラムを複数の車両制御装置に分割して保存し、一つの車両制御装置あたりでの一時保存用の記憶領域を小さくする方法が知られている。
【0007】
しかし、この方法では、プログラム更新の対象となる車両制御装置において、復号されたプログラムデータを一時的に記憶するために大きな記憶領域が必要となるという課題がある。いわゆる公開鍵方式の暗号化では、プログラム更新の対象となる車両制御装置でのみで復号処理が実行できる。そのため、暗号化されたプログラムデータを、更新対象となる車両制御装置の一時記憶領域に記憶し、復号処理を実行し、復号されたプログラムデータを一時記憶領域に保存した後に、復号されたプログラムデータを不揮発性メモリに書き込む必要がある。
【0008】
本発明は、前述した課題に鑑みてなされたものであり、その目的とするところは、暗号化からプログラムメモリへの書き込みの一連の処理において、更新用プログラムデータを所定の単位で分割をすることによって、小さいサイズの一時記憶領域でもプログラムの更新を実現することにある。
【課題を解決するための手段】
【0009】
本願において開示される発明の代表的な一例を示せば以下の通りである。すなわち、更新プログラム配信部から車両制御装置に更新プログラムを配信するプログラム更新システムであって、前記更新プログラム配信部は、更新プログラムを所定の暗号化単位で暗号化して、所定の転送単位で更新対象となる前記車両制御装置宛に送信し、前記車両制御装置は、前記受信した更新プログラムを、前記暗号化単位で復号化して、所定の書き込み単位でプログラム記憶部に格納するものであって、前記書き込み単位は、前記暗号化単位より大きく、かつ前記暗号化単位の整数倍であることを特徴とする。
【発明の効果】
【0010】
本発明によれば、更新対象の車両制御装置で必要となる一時記憶領域のサイズを小さくできる。前述した以外の課題、構成及び効果は、以下の実施例の説明によって明らかにされる。
【図面の簡単な説明】
【0011】
図1】本発明の実施例のプログラム更新システムの構成図である。
図2】本実施例の車両制御装置の構成図である。
図3】本実施例のプログラム更新処理のタイムチャートである。
図4】本実施例のプログラム更新処理部が実行する処理のフローチャートである。
図5】本実施例の各処理でのサイズの例を示す図である。
【発明を実施するための形態】
【0012】
本発明の実施例を図1から図5を参照して説明する。
【0013】
図1は、本実施例のプログラム更新システムの構成図であり、図2は、本実施例の車両制御装置10の構成図である。
【0014】
図1に示すプログラム更新システムは、プログラムを配信する更新プログラム配信部30と、更新プログラム配信部30から配信されるプログラムを中継する中継部20と、プログラムの配信を受ける車両制御装置10とを有する。
【0015】
車両制御装置10は、第一保存部11と、第二保存部12と、プログラム記憶部13とを有する。第一保存部11及び第二保存部12は、車両制御装置10の揮発性メモリ(RAM)45に設けられる記憶領域であり、第一保存部11は更新プログラムの暗号文111を格納し、第二保存部12は復号された分割更新プログラムを格納する。プログラム記憶部13は、第一プログラム記憶部131と、第二プログラム記憶部132とを有する。
中継部20は、暗号文保存部21を有する。更新プログラム配信部30は、更新すべき更新プログラム31と、更新プログラム31が分割して暗号化された暗号文32とを記憶装置に格納する。
【0016】
更新プログラム配信部30は、暗号文32を中継部20に送信する。中継部20は、受信した暗号文をメモリ(暗号文保存部21)に保存し、車両制御装置10に送信する。車両制御装置10は、分割されて暗号化された暗号文111を受信して、第一保存部11に保存し、所定の単位で暗号を復号化して更新プログラム121として再構築し、第二保存部12に保存する。車両制御装置10は、プログラム記憶部13の第一プログラム記憶部131と第二プログラム記憶部132のうち、待機中の(プログラム動作中ではない)プログラム記憶部13のプログラム格納領域を選択し、選択されたプログラム格納領域に更新プログラム121を書き込んでプログラムを更新する。
【0017】
図2に示すように、車両制御装置10は、電源41と、演算部42と、通信部43と、判定部44と、揮発性メモリ45と、不揮発性メモリ46とで構成される。揮発性メモリ45は、プログラム一時格納部451と、暗号復号部452と、プログラム更新処理部453とを有し、不揮発性メモリ46は、マスクROMで構成される非書き換え領域461と、データが書き換え可能なフラッシュメモリ462とを有する。電源41は給電装置50と接続されており、通信部43は外部装置である中継部20と接続されている。
【0018】
図3は、本実施例のプログラム更新処理のタイムチャートである。
【0019】
外部装置20は、通信の単位に従って分割して暗号化されて、更新プログラム配信部30から送信されたリプロデータ(暗号文)を車両制御装置10に転送する(S100)。
車両制御装置10は、受信した暗号文を暗号状態のまま第一保存部11に格納する。プログラム更新処理部453は、第一保存部11に格納されたリプロデータの量を監視しており、格納されたデータ量が暗号復号部452の復号処理の単位になると、第一保存部11にバッファされた暗号化データを復号処理の単位で読み出し(S103)、暗号復号部452に復号処理を要求する(S104)。暗号復号部452は、更新プログラム配信部30から送信された暗号文を復号して、プログラム更新処理部453に返信する(S105)。このように、暗号復号部452は、リプロデータが復号処理の単位まで溜まり次第、受信したリプロデータをストリーミングで復号化する。プログラム更新処理部453は、復号されたリプロデータを暗号化単位で第二保存部12に格納する(S106)。このステップS103からS106の処理は、更新プログラム配信部30からリプロデータ(暗号文)が送信される毎に実行され、復号されたリプロデータが第二保存部12に蓄積される。
【0020】
プログラム更新処理部453は、第二保存部12に格納されたリプロデータの量を監視しており、格納されたデータ量がプログラム記憶部13を構成するフラッシュメモリ462の書き込み単位になると、復号されたリプロデータを第二保存部12から読み出し(S109)、読み出した復号されたリプロデータをプログラム記憶部13に書き込む(S110)。プログラム記憶部13は、リプロデータの書き込みが完了すると、プログラム更新処理部453に書き込み完了を返信する(S111)。このステップS109からS111の処理は、第二保存部12に格納されたリプロデータの量がフラッシュメモリ462の書き込み単位になる毎に実行され、復号されたリプロデータがプログラム記憶部13に蓄積される。
【0021】
図3では、転送サイズが暗号化サイズより小さい場合を説明したが、後述する図5のパターン2のように、転送サイズは暗号化サイズより大きくてもよい。この場合、1単位(例えば、1パケットや1フレーム)のリプロデータ(暗号文)が転送されると、転送されたリプロデータから複数の暗号文を取り出して、暗号復号部452で順に復号されて、第二保存部12に保存される。
【0022】
図4は、プログラム更新処理部453が実行する処理のフローチャートである。
【0023】
まず、プログラム更新処理部453は、第一保存部11に格納されたリプロデータの量をチェックする(S101)。ステップS102において、第一保存部11に格納されたリプロデータの量が暗号復号部452の復号処理の単位未満であれば、ステップS107に進む。一方、第一保存部11に格納されたリプロデータの量が暗号復号部452の復号処理の単位以上であれば、プログラム更新処理部453は、復号処理の単位分のサイズの暗号化データを第一保存部11から読み出し(S103)、暗号復号部452へ送信する(S104)。プログラム更新処理部453は、復号化データを暗号復号部452から受領し(S105)、第二保存部12に格納する(S106)。
【0024】
その後、プログラム更新処理部453は、第二保存部12に格納されたリプロデータの量をチェックする(S107)。ステップS108において、第二保存部12に格納されたリプロデータの量がプログラム記憶部13の書き込み単位未満であれば、書き込み単位に満たないサイズのデータを書き込むと、後続する処理も含めて書き込み処理の効率が悪いので、処理を終了する。一方、第二保存部12に格納されたリプロデータの量がプログラム記憶部13の書き込み単位以上であれば、プログラム更新処理部453は、プログラム記憶部13の書き込み単位分のサイズの暗号化データを第二保存部12から読み出し(S109)、プログラム記憶部13の第一プログラム記憶部131と第二プログラム記憶部132のうち、待機中の(プログラム動作中ではない)プログラム格納領域にリプロデータを書き込んでプログラムを更新する。
【0025】
次に、各処理でのサイズの例について説明する。図5は、通信路の転送サイズ、暗号化及び復号化のサイズ、フラッシュメモリ462への書き込みサイズ、更新されるプログラムのResumeサイズの推奨値を示す。なお、a、m、n、kは所定の整数である。通信路のサイズは、1単位の通信で転送可能なデータ量(例えば、1パケットや1フレームのペイロードサイズ)である。暗号化サイズは、ブロック暗号で指定可能なサイズであり、書込みサイズは、車両制御装置10の仕様(すなわち、プログラム記憶部13を構成するフラッシュメモリ462の書き込み単位)として指定可能なサイズである。Resumeサイズは、プログラムの更新が途中で停止した場合に、プログラムの更新が完了している単位となるサイズを示し、Resumeサイズに満たない部分のプログラムの更新は再度実行される。
【0026】
例えば、CANのように通信路の転送サイズが小さいパターン1では、転送サイズがa、暗号化サイズがa×m、書き込みサイズがa×m×nのように整数倍の関係にあり、転送サイズが暗号化サイズより小さい。このとき、Resumeサイズをa×m×n×kとするとよい。具体的には、転送サイズa=8byte、暗号化サイズa×m=16byte、書き込みサイズa×m×n=256byte、Resumeサイズa×m×n×k=16kbyteとする。
【0027】
パターン1では、暗号化データの転送から、復号、フラッシュメモリ462への書き込みまで第一保存部11及び第二保存部12のRAM使用量と読み出し処理が少なくなり、処理に必要なリソースを低減できる。一方、転送サイズが小さく、通信回数が多いので、通信速度の高速化に限界がある。
【0028】
32kbyte+αまでフラッシュメモリ462への書き込みが完了していた場合、パターン1ではResumeポイントが32kbyteなので、車両制御装置10は、32kbyteからの再開要求を外部装置20に送信する。Resumeサイズが暗号化サイズの倍数となっていれば、外部装置20や更新プログラム配信部30では、再開要求のアドレスを見るだけで更新プログラムの暗号文を特定できる。一方、Resumeサイズが暗号化サイズの倍数となっていなければ、Resumeポイントの一つ前の暗号文を特定する必要があり、処理が煩雑になる問題が生じる。
【0029】
また、イーサネットのように通信路の転送サイズが大きいパターン2では、転送サイズがa、暗号化サイズがa÷m、書き込みサイズがa÷m×nのように整数倍の関係にあるが、転送サイズが暗号化サイズより大きい。このとき、Resumeサイズをa÷m×n×kとするとよい。具体的には、転送サイズa=1280byte、暗号化サイズa÷m=16byte、書き込みサイズa÷m×n=256byte、Resumeサイズa÷m×n×k=16kbyteとする。
【0030】
パターン2では、暗号化データの転送から、復号、フラッシュメモリ462への書き込みまで第一保存部11及び第二保存部12のRAM使用量と読み出し処理が大きくなり、処理に必要なリソースが増大する。一方、転送サイズが大きく、通信回数が少ないので、通信速度を高速化できる。
【0031】
本実施例ではこのようなパターンを採用する。暗号化サイズは、ブロック暗号で指定できるサイズ(64bit、128bitなど)が限られるため、暗号化サイズとフラッシュメモリ462への書き込み単位を自由に決めると、処理の効率が悪かった。このため、本発明では、通信路の転送サイズに基づいて、暗号化及び復号化のサイズ、フラッシュメモリ462へ書き込みサイズの推奨値を提案するものである。
【0032】
本実施例は、転送サイズと暗号化サイズと書き込みサイズの間を適切に定めて、処理を効率的に行うものであるが、前述したパターン1、2のように、転送サイズと暗号化サイズと書き込みサイズの他に、更新されるプログラムのResumeサイズとの関係を定めてもよい。すなわち、Resumeサイズが、フラッシュメモリ462へ書き込みサイズの整数倍で、かつ暗号化サイズの整数倍であるとよい。
【0033】
以上に説明したように、本発明の実施例によると、更新プログラム配信部30は、更新プログラムを所定の暗号化単位で暗号化して、所定の転送単位で更新対象となる車両制御装置10宛に送信し、車両制御装置10は、受信した更新プログラムを、暗号化単位で復号化して、所定の書き込み単位でプログラム記憶部13に格納するものであって、書き込み単位は、前記暗号化単位の整数倍としたので、車両制御装置10で必要となる一時記憶領域のサイズを小さくできる。また、プログラム記憶部13の書き込みサイズに合わせた量のデータを書き込むので、フラッシュメモリ462で構成されるプログラム記憶部13への書き込みにおいて無駄な処理が生じなく、車両制御装置10の処理能力の低下を抑制できる。
【0034】
また、転送単位は暗号化単位の整数倍、又は、暗号化単位は転送単位の整数倍であるので、多様なネットワークで更新プログラムを転送できる。
【0035】
また、車両制御装置10は、暗号化して転送された更新プログラムを保存する第一保存部11と、第一保存部11に保存された更新プログラムを復号する暗号復号部452と、暗号復号部452で復号して得られる分割更新プログラムを保存する第二保存部12とを有するので、復合化処理の前後のバッファによって、更新プログラム配信部30からの転送単位と、プログラム記憶部13への格納単位において、1回で処理されるデータ量を調整できる。
【0036】
また、プログラム記憶部13は、同じサイズの二つのプログラム格納領域131、132を有し、車両制御装置10は、一方のプログラム格納領域に格納されたプログラムを実行し、他方のプログラム格納領域に第二保存部12に保存された分割更新プログラムを格納するので、車両制御装置10の稼働を停止することなく、プログラムを更新できる。
【0037】
また、更新プログラム配信部30から車両制御装置10へのプログラムの転送が途中で失敗した場合に、プログラムの転送を再開する単位となるレジュームサイズが定められており、レジュームサイズは、書き込み単位の整数倍としたので、再開要求のレジュームポイントのアドレスを見るだけで再送すべき更新プログラムの暗号文を特定できる。
【0038】
なお、本発明は前述した実施例に限定されるものではなく、添付した特許請求の範囲の趣旨内における様々な変形例及び同等の構成が含まれる。例えば、前述した実施例は本発明を分かりやすく説明するために詳細に説明したものであり、必ずしも説明した全ての構成を備えるものに本発明は限定されない。また、ある実施例の構成の一部を他の実施例の構成に置き換えてもよい。また、ある実施例の構成に他の実施例の構成を加えてもよい。
また、各実施例の構成の一部について、他の構成の追加・削除・置換をしてもよい。
【0039】
また、前述した各構成、機能、処理部、処理手段等は、それらの一部又は全部を、例えば集積回路で設計する等により、ハードウェアで実現してもよく、プロセッサがそれぞれの機能を実現するプログラムを解釈し実行することにより、ソフトウェアで実現してもよい。
【0040】
各機能を実現するプログラム、テーブル、ファイル等の情報は、メモリ、ハードディスク、SSD(Solid State Drive)等の記憶装置、又は、ICカード、SDカード、DVD、BD等の記録媒体に格納することができる。
【0041】
また、制御線や情報線は説明上必要と考えられるものを示しており、実装上必要な全ての制御線や情報線を示しているとは限らない。実際には、ほとんど全ての構成が相互に接続されていると考えてよい。
【符号の説明】
【0042】
10 車両制御装置
11 第一保存部
12 第二保存部
121 分割更新プログラム
13 プログラム記憶部
131 第一プログラム記憶部
132 第二プログラム記憶部
20 外部装置(中継部)
30 更新プログラム配信部
41 電源
42 演算部
43 通信部
44 判定部
45 揮発性メモリ
451 プログラム一時格納部
452 暗号復号部
453 プログラム更新処理部
46 不揮発性メモリ
461 非書き換え領域
462 フラッシュメモリ
50 給電装置
図1
図2
図3
図4
図5