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

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

▶ 日産自動車株式会社の特許一覧

特許7494944ソフトウェア更新装置、車載端末装置及びソフトウェア更新システム
<>
  • 特許-ソフトウェア更新装置、車載端末装置及びソフトウェア更新システム 図1
  • 特許-ソフトウェア更新装置、車載端末装置及びソフトウェア更新システム 図2
  • 特許-ソフトウェア更新装置、車載端末装置及びソフトウェア更新システム 図3A
  • 特許-ソフトウェア更新装置、車載端末装置及びソフトウェア更新システム 図3B
  • 特許-ソフトウェア更新装置、車載端末装置及びソフトウェア更新システム 図4A
  • 特許-ソフトウェア更新装置、車載端末装置及びソフトウェア更新システム 図4B
  • 特許-ソフトウェア更新装置、車載端末装置及びソフトウェア更新システム 図5A
  • 特許-ソフトウェア更新装置、車載端末装置及びソフトウェア更新システム 図5B
  • 特許-ソフトウェア更新装置、車載端末装置及びソフトウェア更新システム 図6
  • 特許-ソフトウェア更新装置、車載端末装置及びソフトウェア更新システム 図7
  • 特許-ソフトウェア更新装置、車載端末装置及びソフトウェア更新システム 図8
< >
(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2024-05-27
(45)【発行日】2024-06-04
(54)【発明の名称】ソフトウェア更新装置、車載端末装置及びソフトウェア更新システム
(51)【国際特許分類】
   G06F 8/65 20180101AFI20240528BHJP
   H04L 67/10 20220101ALI20240528BHJP
【FI】
G06F8/65
H04L67/10
【請求項の数】 9
(21)【出願番号】P 2022577902
(86)(22)【出願日】2021-01-28
(86)【国際出願番号】 JP2021002961
(87)【国際公開番号】W WO2022162815
(87)【国際公開日】2022-08-04
【審査請求日】2023-03-16
(73)【特許権者】
【識別番号】000003997
【氏名又は名称】日産自動車株式会社
(74)【代理人】
【識別番号】110000486
【氏名又は名称】弁理士法人とこしえ特許事務所
(72)【発明者】
【氏名】菊池 光彦
(72)【発明者】
【氏名】大橋 栄介
(72)【発明者】
【氏名】静 仁盛
(72)【発明者】
【氏名】海江田 洋平
(72)【発明者】
【氏名】林 秀俊
【審査官】岩田 玲彦
(56)【参考文献】
【文献】特開2019-101706(JP,A)
【文献】特開2015-162179(JP,A)
【文献】特開2014-021914(JP,A)
【文献】寺岡秀敏・山崎裕紀・櫻井康平・船迫陽介・尾崎友哉,軽量スクリプト言語を用いた自動車ソフトウェア遠隔更新制御方式の検討,情報処理学会 論文誌(トランザクション) コンシューマ・デバイス&システム(CDS) Vol.8 N,日本,情報処理学会,2018年10月30日,P.32-42
(58)【調査した分野】(Int.Cl.,DB名)
G06F 8/65
H04L 67/10
(57)【特許請求の範囲】
【請求項1】
車両の外部に設けられ、前記車両のソフトウェアの更新データを用いて、前記ソフトウェアを更新するソフトウェア更新装置であって、
少なくとも前記更新データを含む共通パッケージと、前記共通パッケージに割り当てられた共通パッケージ識別情報と前記共通パッケージ識別情報に対応づけられ前記車両を識別する車両識別情報とを含む識別パッケージとを記憶する記憶装置を備え、
前記ソフトウェアの更新対象となる対象車両が複数ある場合には、前記対象車両ごとに、それぞれ異なる前記識別パッケージを生成し、
前記対象車両に、前記対象車両に対応付けられた前記車両識別情報を含む前記識別パッケージを送信し、
前記対象車両からの要求に応じて、前記識別パッケージに含まれる前記共通パッケージ識別情報が割り当てられた前記共通パッケージを前記対象車両に送信し、
前記識別パッケージは、前記対象車両ごとに、複数の前記対象車両に共通する前記共通パッケージ識別情報と、前記対象車両ごとに割り当てられた前記車両識別情報とを含むソフトウェア更新装置。
【請求項2】
複数の前記対象車両に、同一の前記共通パッケージを送信する請求項1に記載のソフトウェア更新装置。
【請求項3】
ハッシュ関数を用いて前記共通パッケージから生成されたハッシュ値を前記共通パッケージ識別情報として含む前記識別パッケージを生成する請求項1又は2に記載のソフトウェア更新装置。
【請求項4】
車両の外部に設けられ、前記車両のソフトウェアの更新データを用いて、前記ソフトウェアを更新するソフトウェア更新装置であって、
少なくとも前記更新データを含む共通パッケージと、前記共通パッケージに割り当てられた共通パッケージ識別情報と前記共通パッケージ識別情報に対応づけられ前記車両を識別する車両識別情報とを含む識別パッケージとを記憶する記憶装置を備え、
前記ソフトウェアの更新対象となる対象車両の前記車両識別情報に基づいて、前記共通パッケージ識別情報を生成し、
生成された前記共通パッケージ識別情報と、前記車両識別情報と、を含む前記識別パッケージを生成し、
前記対象車両に、前記対象車両に対応付けられた前記車両識別情報を含む前記識別パッケージを送信し、
前記対象車両からの要求に応じて、前記識別パッケージに含まれる前記共通パッケージ識別情報が割り当てられた前記共通パッケージを前記対象車両に送信するソフトウェア更新装置。
【請求項5】
車両の外部に設けられたサーバから、更新の対象となるソフトウェアの更新データを取得し、前記車両の前記ソフトウェアを更新する前記車両の車載端末装置であって、
前記更新データを含んで前記サーバに格納されている共通パッケージごとに割り当てられた共通パッケージ識別情報と、前記共通パッケージ識別情報に対応づけられた、前記車両を識別する車両識別情報と、を含んで前記サーバに格納されている識別パッケージを前記サーバから受信し、
受信された前記識別パッケージから、前記共通パッケージ識別情報を取得し、
取得された前記共通パッケージ識別情報が割り当てられた前記共通パッケージを前記サーバから受信し、
受信された前記共通パッケージに含まれる前記更新データを用いて、前記車両の前記ソフトウェアを更新し、
前記識別パッケージは、
前記ソフトウェアの更新対象となる前記車両が複数ある場合には、前記車両ごとに、それぞれ異なる前記識別パッケージが生成され、
前記車両ごとに、複数の前記車両に共通する前記共通パッケージ識別情報と、前記車両ごとに割り当てられた前記車両識別情報とを含む車載端末装置。
【請求項6】
受信された前記識別パッケージに含まれる前記車両識別情報と、前記車両に割り当てられた前記車両識別情報とが一致するか否かを判定し、
前記車両識別情報が一致すると判定される場合には、前記識別パッケージに含まれる前記共通パッケージ識別情報と、前記共通パッケージから取得される前記共通パッケージ識別情報とが一致するか否かを判定し、
前記共通パッケージ識別情報が一致すると判定される場合には、前記ソフトウェアを更新する請求項5に記載の車載端末装置。
【請求項7】
受信された前記識別パッケージに含まれる前記車両識別情報と、前記車両に割り当てられた前記車両識別情報とが一致するか否かを判定し、
前記車両識別情報が一致すると判定される場合には、前記共通パッケージの取得を要求する要求信号を前記サーバに送信し、
前記要求信号に対する応答信号として、前記共通パッケージを前記サーバから受信する請求項6に記載の車載端末装置。
【請求項8】
前記更新データを前記サーバから取得するときに、第1通信経路を介して、前記更新データを前記サーバから取得し、
前記第1通信経路は、前記更新データ以外のデータを供給するための第2通信経路よりもセキュリティ度が高い請求項5~7のいずれか一項に記載の車載端末装置。
【請求項9】
車両に搭載された車載端末装置と、前記車両の外部に設けられたソフトウェア更新装置と、を備え、
前記車両のソフトウェアの更新データを用いて、前記ソフトウェアを更新するソフトウェア更新システムであって、
前記ソフトウェア更新装置は、
少なくとも前記更新データを含む共通パッケージと、前記共通パッケージに割り当てられた共通パッケージ識別情報と前記共通パッケージ識別情報に対応づけられ前記車両を識別する車両識別情報とを含む識別パッケージとを記憶する記憶装置を備え、前記ソフトウェアの更新対象となる前記車両が複数ある場合には、前記車両ごとに、それぞれ異なる前記識別パッケージを生成し、前記車両に、前記車両に対応づけられた前記車両識別情報を含む前記識別パッケージを送信し、
前記車両からの要求に応じて、前記識別パッケージに含まれる前記共通パッケージ識別情報が割り当てられた前記共通パッケージを前記車両に送信し、
前記識別パッケージは、前記車両ごとに、複数の前記車両に共通する前記共通パッケージ識別情報と、前記車両ごとに割り当てられた前記車両識別情報とを含み、
前記車両は、
前記車両の前記車両識別情報を含む前記識別パッケージを前記ソフトウェア更新装置から受信し、
受信された前記識別パッケージから、前記共通パッケージ識別情報を取得し、
取得された前記共通パッケージ識別情報が割り当てられた前記共通パッケージを前記ソフトウェア更新装置から受信し、
受信された前記共通パッケージに含まれる前記更新データを用いて、前記車両の前記ソフトウェアを更新するソフトウェア更新システム。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、ソフトウェア更新装置、車載端末装置及びソフトウェア更新システムに関するものである。
【背景技術】
【0002】
車両の車載端末装置のソフトウェアをメンテナンスするメンテナンスシステムにおいて、情報センタが、車両側の保有ソフト/ハード情報に基づいて、バージョンアップ候補となる対象ソフトウェアを選択し、選択された対象ソフトウェアを車両に送信する技術が知られている(特許文献1)。
【0003】
特許文献1に係る技術では、車両側で、対象ソフトウェアによって実現される機能を示すデモ画像がユーザに表示され、ユーザが対象ソフトウェアをバージョンアップするか否かを選択する。そして、ユーザがバージョンアップをすることを選択した場合に、車両の車載端末装置は情報センタに対象ソフトウェアの送信を要求し、情報センタは対象ソフトウェアを車載端末装置に送信する。
【先行技術文献】
【特許文献】
【0004】
【文献】特開平11-027749号公報
【発明の概要】
【発明が解決しようとする課題】
【0005】
特許文献1の技術では、情報センタとして機能するサーバが対象ソフトウェアを記憶し、車載端末装置に対象ソフトウェアを送信する。更新の対象となるソフトウェアが車両ごとに準備される場合には、各車両の車載端末装置に記憶されたソフトウェアを更新するためにサーバが実行する処理の工程数、及びサーバの記憶装置の容量が増大するという問題がある。
【0006】
本発明が解決しようとする課題は、車両のソフトウェアを更新する処理において、サーバの処理負荷及び記憶容量を軽減させるソフトウェア更新装置、車載端末装置及びソフトウェア更新システムを提供することである。
【課題を解決するための手段】
【0007】
本発明は、車両のソフトウェアの更新データを用いて、ソフトウェアを更新するソフトウェア更新装置であって、少なくとも更新データを含む共通パッケージと、共通パッケージに割り当てられた共通パッケージ識別情報と共通パッケージ識別情報に対応づけられ車両を識別する車両識別情報とを含む識別パッケージとを記憶する記憶装置を備え、ソフトウェアの更新対象となる対象車両に、対象車両に対応付けられた車両識別情報を含む識別パッケージを送信し、対象車両からの要求に応じて、識別パッケージに含まれる共通パッケージ識別情報が割り当てられた共通パッケージを対象車両に送信することによって上記課題を解決する。
【発明の効果】
【0008】
本発明によれば、車両のソフトウェアを更新する処理において、サーバの処理負荷及び記憶容量を軽減させる。
【図面の簡単な説明】
【0009】
図1図1は、本実施形態にかかるソフトウェア更新システムの構成の一例を示す図である。
図2図2は、本実施形態にかかるソフトウェア更新リストの一例である。
図3A図3Aは、共通パッケージと識別パッケージの関係を示す図である。
図3B図3Bは、本実施形態にかかる識別パッケージを示す一例である。
図4A図4Aは、本実施形態にかかる共通パッケージを示す一例である。
図4B図4Bは、本実施形態にかかる共通パッケージを示す一例である。
図5A図5Aは、本実施形態にかかる共通パッケージを示す一例である。
図5B図5Bは、本実施形態にかかる共通パッケージを示す一例である。
図6図6は、本実施形態にかかるソフトウェア更新装置の制御フローを示す一例である。
図7図7は、本実施形態にかかる車載端末装置の制御フローを示す一例である。
図8図8は、本実施形態のソフトウェア更新システムにおける制御の流れを示すシーケンス図である。
【発明を実施するための形態】
【0010】
本発明に係るシステムの一実施形態を図面に基づいて説明する。本実施形態に係る車両のECU(Electronic Control Unit)のソフトウェアを更新するソフトウェア更新システムの構成を、図1を用いて説明する。図1は、本実施形態におけるソフトウェア更新装置1と、車両2に搭載された車載端末装置20と、通信ネットワーク3と、を備えるソフトウェア更新システム100の一例を示すブロック図である。ソフトウェア更新システム100は、車両2に搭載されているECUのソフトウェアをOTA(Over The Air)により更新することができるFOTA(Firmware Over The Air)システムである。ソフトウェア更新装置1と車載端末装置20は、通信ネットワーク3を介してお互いにデータの送受信が可能である。ソフトウェア更新装置1は、ソフトウェアの供給者により、ソフトウェアの書き換えを行うための更新データの入力があると、更新データを記憶する。そして、ソフトウェア更新装置1は、車載端末装置20からソフトウェアの更新データの要求があると、通信ネットワーク3を介して、要求があった車載端末装置20に、更新データを含む配信パッケージを送信する。車載端末装置20は、ソフトウェア更新装置1から配信パッケージを受信すると、配信パッケージに含まれる更新データを用いて、更新対象となるECUのソフトウェアを書き換えて更新する。通信ネットワーク3は、例えば4G回線等による移動体通信ネットワークやインターネット等を含んで構成される。ソフトウェアの更新データは、車両2のECUのソフトウェアを更新するための更新用プログラムデータであって、ソフトウェアの供給者から提供される。更新データは、更新後のソフトウェアの全体に相当する全データであってもよいし、更新前のソフトウェアと更新後のソフトウェアとの差分に相当する差分データであってもよい。また、更新データは周知のデータ圧縮技術により圧縮されていても良い。
【0011】
OTAによるソフトウェア更新においては、サイバーセキュリティの観点から、ソフトウェアの供給者が意図しないソフトウェアの更新が行われることを防止するために、車両が受信したソフトウェアの更新データが自車両のソフトウェア更新のためのデータであることを保証してもよい。更新データが自車両のソフトウェア更新のためのデータであることを保証する方法としては、更新データと、更新対象となる車両を識別するための車両識別情報とを対応づけて配信パッケージに含めて、当該配信パッケージを更新対象となる車両に送信するという方法がある。この場合、配信パッケージを受信した車両は、配信パッケージに含まれる車両識別番号と、自車の車両識別番号とを比較することで、配信パッケージに含まれる更新データが自車両のソフトウェア更新のためのデータであることを確認することができる。しかしながら、配信パッケージのデータ構造は、車両識別情報と更新データとを対応させて格納する構造であるため、対象車両が複数ある場合には、車両数分の車両識別情報があり、それぞれの車両識別情報に対応させて更新データを格納することになるため、車両の数の配信パッケージが必要になる。そして、更新データは、車両識別情報と比べてデータサイズが大きいため、更新データを含む配信パッケージを車両数分準備して記憶装置に保存することになると、記憶容量が増大してしまう。また、対象車両全てのソフトウェア更新を行うために必要な処理工数も増大する。
【0012】
これに対して、本実施形態では、ソフトウェア更新装置1は、配信パッケージを2種類のパッケージに分けて車載端末装置20に送信する。具体的には、ソフトウェア更新装置1は、更新データを含む共通パッケージを複数の車両間で共通して使用する。さらに、ソフトウェア更新装置1は、共通パッケージが自車両のソフトウェア更新のためのデータであることを判断するための情報として、車両識別情報と共通パッケージ識別情報を含む識別パッケージを更新対象となる車両ごとに準備する。すなわち、本実施形態では、データサイズの大きい更新データを含むパッケージを車両数に応じて準備するのではなく、データサイズの大きい当該パッケージを、更新対象となる全車両に共通するデータとして準備して、データサイズの小さい車両識別情報と共通パッケージ識別情報を含むパッケージを車両の数に応じて準備する。これにより、車両2が、車両識別番号を含むパッケージを用いて、更新データが自車両のソフトウェア更新のためのデータであることを確認することで、ソフトウェア更新のための処理工数及び記憶容量を低減しつつ、サイバーセキュリティを高めることができる。以下、より詳細に説明する。
【0013】
ソフトウェア更新装置1は、ソフトウェアの供給者等から提供されるソフトウェアの更新データを管理し、更新対象となる車両に更新データを送信するサーバである。ソフトウェア更新装置1は、コントローラ10と、記憶装置11と、通信装置12と、入力装置13とを有し、相互にデータ通信可能に構成されている。本実施形態におけるコントローラ10は、ハードウェア及びソフトウェアを有するコンピュータを備えており、このコンピュータはプログラムを格納したROM(Read Only Memory)と、ROMに格納されたプログラムを実行するCPU(Central Processing Unit)と、アクセス可能な記憶装置として機能するRAM(Random Access Memory)を含むものである。
【0014】
コントローラ10は、ソフトウェア更新リストを管理していて、ソフトウェアの供給者からソフトウェアの更新データの入力があると、更新データを管理するソフトウェア更新リストを更新する。また、コントローラ10は、入力された更新データを含む共通パッケージ(詳細は後述する)を生成して、生成された共通パッケージを記憶装置11に格納する。ソフトウェア更新リストには、例えば、図2に示すように、ソフトウェア更新のキャンペーンごとに、キャンペーンIDと、対象VINと、対象ECUと、更新後のソフトウェアのソフトウェアバージョンと、共通パッケージへのリンクと、共通パッケージ識別子とが管理されている。更新データの入力があると、入力された更新データのキャンペーンごとに、更新データが管理される。キャンペーンとは、入力された更新データに対して、更新対象となる1以上の車両の情報等を紐付けして管理するための情報の単位を意味する。対象VINは、更新対象となる車両の車両識別番号(Vehicle Identification Number、略してVIN)である。対象ECUは、ソフトウェア更新対象となるECUである。ソフトウェア更新のキャンペーンにおいて、対象ECUがひとつのECUである場合に限らず、対象ECUが複数ある場合には、対象ECUには、複数のECUが入力されることとしてもよい。ソフトウェアバージョンは、車載端末装置20に配信される更新後のソフトウェアのバージョンである。コントローラ10は、ソフトウェアの供給者から更新データの入力があると、当該ソフトウェア更新のキャンペーンに対して、キャンペーンIDを付与する。キャンペーンIDは、ソフトウェア更新のキャンペーンを識別するために付与される識別番号である。また、コントローラ10は、生成した共通パッケージを記憶装置11に格納して、格納先のリンクを共通パッケージへのリンクとしてソフトウェア更新リストに入力する。共通パッケージ識別子は、共通パッケージを識別するための識別情報である。コントローラ10は、共通パッケージごとに生成された共通パッケージ識別子をソフトウェア更新リストに入力する。コントローラ10は、生成されたソフトウェア更新リストを記憶装置11に格納する。
【0015】
コントローラ10は、管理している全車両を対象として、ソフトウェアの更新が必要であるか否かの判定を行う。具体的には、まず、コントローラ10は、車両ごとに、当該車両の車両識別番号と、ソフトウェアの更新対象として管理されている対象VINとを比較し、車両識別番号が一致するか否かを判定する。車両識別番号が一致する場合には、コントローラ10は、車両識別番号が一致する車両の現在のECUのソフトウェアバージョンと、更新後のソフトウェアのソフトウェアバージョンとを比較する。そして、コントローラ10は、車両の現在のECUのソフトウェアバージョンが、更新後のソフトウェアのソフトウェアバージョンよりも前のソフトウェアバージョンである場合には、ソフトウェア更新が必要であると判定する。
【0016】
コントローラ10は、ソフトウェア更新が必要であると判定された場合には、ソフトウェア更新が必要であると判定された車両ごとに、識別パッケージを生成して、当該車両の車載端末装置20に、生成された識別パッケージを送信する。対象車両が複数ある場合には、コントローラ10は、複数の対象車両ごとに、それぞれ異なる識別パッケージを生成する。識別パッケージは、対象車両ごとに、対象車両に対応する車両識別情報と、共通パッケージに割り当てられ、共通パッケージを識別するための共通パッケージ識別子とを含む。識別パッケージは、共通パッケージが自車両のソフトウェア更新のためのデータであることを車載端末装置20で判断するためのデータである。例えば、識別パッケージは、車両識別情報として、車両識別番号(VIN)を含む。図3Aは、識別パッケージと共通パッケージの関係を示す図である。共通パッケージは、後述するとおり、更新データと共通パッケージ識別子とを含む。更新対象となる車両が車両Aと車両Bと車両Cである場合には、識別パッケージとして、車両Aの識別パッケージと、車両Bの識別パッケージと、車両Cの識別パッケージが生成される。それぞれの識別パッケージは、それぞれの車両のVINを含むとともに、複数の車両に共通する同一の共通パッケージ識別子を含む。それぞれの車両のVINは、共通パッケージ識別子に対応づけられている。具体的には、それぞれの車両のVINは、共通パッケージに含まれる更新データを用いたソフトウェア更新の対象となる車両のVINである。識別パッケージに含まれる共通パッケージ識別子と共通パッケージに含まれる共通パッケージ識別子は同一のものである。また、更新対象となる車両が車種によって識別される場合には、車両識別情報は、車両の車種の情報であってもよい。本実施形態では、更新データが自車両のソフトウェア更新のためのデータであることを確認できるように、識別パッケージを取得した車載端末装置20が、識別パッケージに含まれる車両識別番号と、自車の車両識別番号を比較し、識別パッケージに含まれる車両識別番号と自車の車両識別番号が一致するか否かを判定する。車両識別番号が一致すれば、車載端末装置20は、識別パッケージに含まれる共通パッケージ識別子に対応する共通パッケージが自車向けのパッケージであることを確認することができる。
【0017】
また、共通パッケージ識別子は、共通パッケージを識別する識別情報であり、車載端末装置20に送信された共通パッケージが、車載端末装置20が要求したデータであることを車載端末装置20で証明するためのものである。共通パッケージ識別子は、例えば、ハッシュ関数を用いて共通パッケージから生成されるハッシュ値である。具体的には、共通パッケージ識別子は、共通パッケージに含まれるデータから生成される。例えば、共通パッケージ識別子は、更新データからハッシュ値を計算して生成される。本実施形態では、ハッシュ値を計算するための共通の計算式が、ソフトウェア更新装置1と車載端末装置20に実装される。そして、ソフトウェア更新装置1と車載端末装置20は、別々にハッシュ値を算出する。ハッシュ値の計算は、例えば、チェックサム、CRC、ND5、SHA-1等、各種計算式を用いて実行される。また、共通パッケージ識別子は、所定の値、例えば、キャンペーンに付されるキャンペーンIDであってもよい。本実施形態では、識別パッケージには、更新データ本体を含まない。識別パッケージに含まれるVINのデータサイズは17バイトであり、VINは、データサイズの小さいデータである。すなわち、識別パッケージは、サイズの大きいデータを含まず、サイズが小さいデータを含む。そのため、ソフトウェア本体と対象車両を識別する車両識別情報とを含むパッケージを車両ごとに生成して格納する場合よりも、コントローラ10におけるソフトウェア更新に必要な処理工数、及び記憶装置11の記憶容量を軽減することができる。
【0018】
また、コントローラ10は、識別パッケージに含める共通パッケージ識別子として、更新対象となる車両2の車両識別番号を用いた識別子を生成してもよい。例えば、コントローラ10は、共通パッケージから生成されたハッシュ値に車両2の車両識別番号を加算した値を共通パッケージ識別子として識別パッケージに含める。この場合、識別パッケージを取得した車両2は、識別パッケージに含まれる共通パッケージ識別子(ハッシュ値に車両識別番号を加算した値)から自車の車両識別番号を減算することで、共通パッケージから生成されたハッシュ値を算出することができる。また、コントローラ10は、“共通パッケージ識別子”=f(共通パッケージのハッシュ値,VIN)であり、かつ、“共通パッケージのハッシュ値=g(“共通パッケージ識別子”,VIN)”となる演算式を用いてもよい。ソフトウェア更新装置1が、共通パッケージのハッシュ値とVINを用いて上記計算式により共通パッケージ識別子を計算して、計算された共通パッケージ識別子を車両2に送信する。そして、車両2は、共通パッケージ識別子とVINを用いて上記計算式により共通パッケージのハッシュ値を計算する。
【0019】
また、コントローラ10は、車両識別番号と共通パッケージ識別子の他に、付帯データを含んで識別パッケージを生成してもよい。図3Bに示されるように、識別パッケージに含まれる付帯データは、例えば、共通パッケージのロケーションデータや共通パッケージの解凍用パスワードである。共通パッケージのロケーションデータは、例えば、共通パッケージが格納されているサーバのURLである。これにより、識別パッケージを取得した車載端末装置20は、適切な保管サーバから共通パッケージを取得することを保証できる。共通パッケージの解凍用パスワードは、圧縮された共通パッケージを解凍するためのパスワードである。また、コントローラ10は、識別パッケージに、識別パッケージに含まれるデータの暗号化及び復号化のための共通鍵を含んでもよい。共通鍵は、例えば、車両識別番号を用いることとしてもよい。また、データの暗号化及び復号化のための鍵は、共通鍵に限らず、公開鍵暗号方式で使用される公開鍵であってもよい。また、コントローラ10は、共通パッケージをダウンロードするためのパスワード、又は、ソフトウェア更新装置1と車載端末装置20との間の通信経路の暗号化に用いられるパスワードを識別パッケージに含んでもよい。また、コントローラ10は、識別パッケージを暗号化し、暗号化した識別パッケージを車載端末装置20に送信することとしてもよい。車載端末装置20は、暗号化された識別パッケージを復号することで、識別パッケージに含まれるデータを取得する。これにより、識別パッケージのサイバーセキュリティを高めることができる。
【0020】
また、コントローラ10は、識別パッケージを車載端末装置20に送信した後、車載端末装置20から共通パッケージの取得を要求する要求信号を受信する。コントローラ10は、車載端末装置20から要求信号を受信した場合には、要求信号において指定された共通パッケージ識別子を含む共通パッケージを車載端末装置20に送信する。共通パッケージは、更新データと共通パッケージ識別子とを含むパッケージである。共通パッケージは、ソフトウェア更新のキャンペーンごとに生成されるパッケージである。すなわち、キャンペーンで更新対象となる車両が複数ある場合に、共通パッケージは、更新対象となる複数の車両に共通するパッケージである。例えば、キャンペーンにおいて、更新データの適用対象となる車両が100万台あったとしても、コントローラ10は、100万台の車両が共通して使用する共通パッケージを準備して、それぞれの車両に、同一の共通パッケージを送信する。また、共通パッケージ識別子は、識別パッケージに含まれている共通パッケージ識別子と同一のものである。本実施形態では、コントローラ10は、ソフトウェアの供給者から更新データの入力があった場合、共通パッケージを生成する。コントローラ10は、生成された共通パッケージを記憶装置11に格納する。
【0021】
共通パッケージは、更新データの他に、付帯データを含むこととしてもよい。付帯データは、例えば、更新後のソフトウェアのソフトウェアバージョンや電子署名が挙げられる。電子署名は、更新データの完全性、すなわち、改ざんや文字化け等がないことを証明するためのものである。電子署名は、例えば、更新データから計算されたハッシュ値を暗号化したものである。図4Aは、共通パッケージの一例を示す図である。図4Aでは、共通パッケージ(PKG03.zip)は、更新データ(ECM_v3.bin)と電子署名(Signature.txt)とを含むファイル(CONTENTS.zip)の他に、共通パッケージ識別子を含む。共通パッケージ識別子は、更新データ(ECM_v3.bin)と、電子署名(Signature.txt)とをzipやtar等のアーカイブフォーマットでひとつにしたファイル(CONTENTS.zip)から計算されたハッシュ値である。また、共通パッケージ識別子は、所定の値、例えば、キャンペーンIDであってもよい。また、図4Bで示されるように、キャンペーンにおいて、複数のECUのソフトウェアが更新される場合には、共通パッケージ識別子は、複数の更新データ(更新データ1、更新データ2及び更新データ3)と、複数の更新データそれぞれの電子署名(電子署名1、電子署名2及び電子署名3)とをひとつにしたファイル(CONTENTS.zip)からハッシュ値を計算して生成されてもよい。また、共通パッケージの識別子がキャンペーンID等の所定の値である場合には、共通パッケージは、複数の更新データと複数の更新データそれぞれの電子署名とをひとつにしたファイル(CONTENTS.zip)と、当該ファイルに対応する共通パッケージの識別子として、キャンペーンIDとを含んでもよい。
【0022】
また、共通パッケージは、共通パッケージ識別子を含まないこととしてもよい。この場合には、共通パッケージを受信した車載端末装置20は、ハッシュ関数を用いて共通パッケージからハッシュ値を算出して、算出されたハッシュ値を共通パッケージ識別子として取得する。図5Aは、共通パッケージの一例を示す図である。図5Aでは、共通パッケージは、更新データ(ECM_v3.bin)と、電子署名(Signature.txt)とをまとめたファイル(PKG03.zip)として示されている。また、図5Bでは、キャンペーンにおいて更新データが複数ある場合に、共通パッケージは、複数の更新データ(更新データ1、更新データ2及び更新データ3)と、更新データそれぞれに対応する電子署名(電子署名1、電子署名2及び電子署名3)とをまとめたファイル(PKG03.zip)として示されている。この場合にも、共通パッケージを受信した車載端末装置20は、ハッシュ関数を用いて共通パッケージからハッシュ値を算出して、算出されたハッシュ値を共通パッケージ識別子として取得する。
【0023】
記憶装置11は、車両2のECUのソフトウェア更新に関する各種データを記憶している。具体的には、記憶装置11は、共通パッケージを記憶する。また、記憶装置11は、ソフトウェア更新リストを管理するデータベースを記憶する。また、記憶装置11は、識別パッケージを記憶することとしてもよい。通信装置12は、通信ネットワーク3を介して、車載端末装置20の車載通信装置22と接続していて、各種データの送受信を行う。例えば、通信装置12は、コントローラ10により生成された識別パッケージや共通パッケージを車載通信装置22に送信する。入力装置13は、ソフトウェアの供給者によるデータの入力を受け付ける。具体的には、入力装置13は、車両2のソフトウェアの更新データの入力を受け付ける。また、入力装置13は、更新データとともに、更新対象となる対象車両の車両識別情報と、更新対象となる対象ECUと、更新後のソフトウェアのソフトウェアバージョンとを含む付帯データを受け付ける。入力装置13は、更新データの入力を受け付けると、更新データをコントローラ10に出力する。
【0024】
車載端末装置20は、車両に搭載された各種ECUを制御し、ソフトウェア更新装置1からECUのソフトウェアの更新データを受信した場合には、更新データを用いて、更新対象となるECUのソフトウェアを更新する。車載端末装置20は、CGW(Central Gateway)21と、車載通信装置22と、ECU23と、車載記憶装置24とを備え、CGW21と車載通信装置22との間、CGW21とECU23との間でデータ通信可能に接続されている。
【0025】
CGW21は、データ中継機能を有する車両用ゲートウェイ装置であり、車載通信装置22から更新データを取得すると、当該更新データを更新対象となるECUに配信する。まず、CGW21は、ソフトウェア更新装置1から受信された識別パッケージに含まれる車両識別番号と、自車の車両識別番号とが一致しているか否かを判定する。具体的には、CGW21は、まず、車載記憶装置24から、自車の車両識別番号を取得する。次に、CGW21は、ソフトウェア更新装置1から、車載通信装置22を介して、識別パッケージを受信すると、識別パッケージから車両識別番号を取得し、識別パッケージに含まれる車両識別番号と、自車の車両識別番号とを比較する。そして、CGW21は、識別パッケージに含まれる車両識別番号と、自車の車両識別番号とが一致しているか否かを判定する。識別パッケージに含まれる車両識別番号と、自車の車両識別番号とが一致していると判定される場合には、CGW21は、車載通信装置22を介して、ソフトウェア更新装置1に、共通パッケージの取得を要求する要求信号を送信する。具体的には、CGW21は、識別パッケージから共通パッケージ識別子を取得し、共通パッケージ識別子が割り当てられた共通パッケージの取得を要求する要求信号を送信する。以上のように、CGW21は、識別パッケージに含まれる車両識別番号と自車の車両識別番号とを比較することで、当該識別パッケージの情報が自車両のソフトウェア更新のためのものであることを確認できる。そして、CGW21は、当該識別パッケージに含まれる共通パッケージ識別子が割り当てられた共通パッケージの取得を要求することで、自車両のソフトウェア更新のためのデータである共通パッケージを取得できる。
【0026】
CGW21は、ソフトウェア更新装置1から共通パッケージを受信すると、共通パッケージから共通パッケージ識別子を取得する。例えば、ソフトウェア更新装置1において共通パッケージに共通パッケージ識別子を格納していた場合には、CGW21は、共通パッケージに格納されている共通パッケージ識別子を取得する。また、共通パッケージ識別子が、共通パッケージからハッシュ値を計算して生成されている場合には、CGW21は、取得された共通パッケージからハッシュ値を計算して共通パッケージ識別子を取得することとしてもよい。次に、CGW21は、取得された共通パッケージ識別子と、識別パッケージに含まれる共通パッケージ識別子とが一致しているか否かを判定する。そして、共通パッケージから取得された共通パッケージ識別子と、識別パッケージ内に含まれる共通パッケージ識別子とが一致していると判定される場合には、CGW21は、共通パッケージから更新データを抽出する。そして、CGW21は、更新対象となるECUに、抽出された更新データを送信し、更新データを用いて、更新対象となるECUのソフトウェアを更新する。以上のように、CGW21は、共通パッケージから取得された共通パッケージ識別子と、識別パッケージ内に含まれる共通パッケージ識別子とを比較することにより、ソフトウェア更新装置1から送信された共通パッケージが、要求した共通パッケージであることを確認することができる。これにより、CGW21は、ソフトウェアの供給者が意図しないソフトウェアの更新が行われることを防止できる。
【0027】
また、CGW21は、複数のECU23のソフトウェアのソフトウェアバージョンを集約する。具体的には、CGW21は、車両2のイグニッション電源がオンになった時に、その時点のECUのソフトウェアバージョンを集約する。また、CGW21は、一定の周期で、その時点のECUのソフトウェアバージョンを集約する。CGW21は、集約された各ECUのソフトウェアバージョンを、車載通信装置22を介してソフトウェア更新装置1に送信する。
【0028】
車載通信装置22は、ソフトウェア更新装置1との間で通信ネットワーク3を介してデータ通信を行う車載通信機であり、ソフトウェア更新装置1から、識別パッケージやソフトウェアを含む共通パッケージを受信すると、受信された識別パッケージや共通パッケージをCGW21に転送する。また、車載通信装置22は、受信するデータの種類によって、使用する通信経路を分けてもよい。具体的には、車載通信装置22は、ソフトウェア更新装置1から更新データを受信する場合には、ソフトウェアを提供するための第1通信経路を介して、更新データを受信する。また、車載通信装置22は、更新データ以外のデータを受信する場合には、ソフトウェアの更新データ以外のデータを提供するための第2通信経路を介して、更新データ以外のデータを送信する。例えば、外部の地図データ提供者が、車両で使用される地図データを車載端末装置20に提供する際には、車載通信装置22は、第2通信経路を介して、地図データを受信する。第1通信経路は、第2通信経路よりもセキュリティ度が高い通信経路である。セキュリティ度は、通信経路のセキュリティリスク分析においてセキュリティリスクが低いと評価される通信経路ほど高く設定される値である。
【0029】
ECU23は、例えば、ボディ系ECUと、走行系ECUと、情報系ECUとを含む。ボディ系ECUは、例えばドアのロック/アンロックを制御するドアECU、メータ表示を制御するメータECU、エアコンの駆動を制御するエアコンECU、ウィンドウの開閉を制御するウィンドウECU等のボディ系の制御を行うECUである。走行系ECUは、例えばエンジンの駆動を制御するエンジンECU、ブレーキの駆動を制御するブレーキECU、パワーステアリングの駆動を制御するパワーステアリングECU等の走行系の制御を行うECUである。情報系ECUは、例えばナビゲーションシステムを制御するナビゲーションECU、オーディオ機器を制御するオーディオECU等の情報系の制御を行うECUである。ECU23の種類は例示した構成に限らない。ECU23は、CGW21から更新データを取得すると、当該更新データを用いてソフトウェアを更新する。また、ECU23は、ソフトウェアのソフトウェアバージョンを管理し、CGW21からの要求信号に応じて、ソフトウェアバージョンを送信する。
【0030】
車載記憶装置24は、各種データを記憶する。本実施形態では、車載記憶装置24は、自車に割り当てられた車両識別番号を記憶する。
【0031】
次に、ソフトウェア更新装置1により実行されるソフトウェア更新の制御処理を説明する。図6は、ソフトウェア更新装置1におけるソフトウェア更新の制御処理を実行するための制御フローを示している。本実施形態では、ソフトウェアの供給者が、入力装置13に更新データを入力すると、ステップS1から制御フローを開始する。
【0032】
ステップS1では、ソフトウェア更新装置1は、ソフトウェアの供給者により入力される更新データを受け付ける。ステップS2では、ソフトウェア更新装置1は、ステップS1で取得された更新データに基づいて、ソフトウェア更新リストを作成する。ステップS3では、ソフトウェア更新装置1は、ステップS1で取得された更新データに基づいて、共通パッケージを生成する。具体的には、ソフトウェア更新装置1は、更新データと共通パッケージ識別子とを含む共通パッケージを生成する。ソフトウェア更新装置1は、更新データを含み、共通パッケージ識別子を含まない共通パッケージを生成してもよい。ステップS4では、ソフトウェア更新装置1は、車載端末装置20から、車両2の車両識別番号と車両2のECUのソフトウェアバージョンとを受信する。ステップS5では、ソフトウェア更新装置1は、ソフトウェアの更新が必要であるか否かを判定する。具体的には、ソフトウェア更新装置1は、車両ごとに、車載端末装置20から取得された車両識別番号と、ソフトウェア更新リストに記憶されている更新対象車両の車両識別番号とを比較する。そして、ソフトウェア更新装置1は、車両識別番号が一致する車両のECUのソフトウェアバージョンと、更新後のソフトウェアのソフトウェアバージョンとが一致するか否かを判定する。ソフトウェアを更新する必要があると判定される場合には、ソフトウェア更新装置1は、ステップS6に進む。ソフトウェアを更新する必要があると判定されない場合には、ソフトウェア更新装置1は、制御フローを終了する。また、ステップS4~S5の制御は、管理している全車両についてそれぞれ実行される。
【0033】
ステップS6では、ソフトウェア更新装置1は、ステップS5でソフトウェアの更新が必要と判定された車両ごとの識別パッケージを生成する。識別パッケージは、ステップS5でソフトウェアを更新する必要があると判定された車両2の車両識別番号と、ステップS3で生成された共通パッケージの共通パッケージ識別子とを含む。ステップS7では、ソフトウェア更新装置1は、ステップS6で生成された識別パッケージを車載端末装置20に送信する。具体的には、ソフトウェア更新装置1は、ソフトウェアの更新対象となる対象車両に、対象車両に対応づけられた車両識別番号を含む識別パッケージを、当該対象車両の車載端末装置20に送信する。ステップS8では、ソフトウェア更新装置1は、車載端末装置20から、共通パッケージの取得を要求する要求信号を受信する。ステップS9では、ソフトウェア更新装置1は、車載端末装置20から要求された共通パッケージ識別子が割り当てられた共通パッケージを検索する。具体的には、ソフトウェア更新装置1は、要求された共通パッケージ識別子に応じて、記憶装置11に格納されている複数の共通パッケージから、当該共通パッケージ識別子が割り当てられた共通パッケージを検索する。ステップS10では、ソフトウェア更新装置1は、ステップS9で検索された共通パッケージを車載端末装置20に送信する。ステップS10終了後、ソフトウェア更新装置1は、制御フローを終了する。また、本実施形態では、ステップS6~S10までの制御は、ソフトウェア更新が必要であると判定された全車両について実行する。
【0034】
次に、車載端末装置20により実行されるソフトウェア更新の制御処理を説明する。図7は、車載端末装置20におけるソフトウェア更新の制御処理を実行するための制御フローを示している。本実施形態では、車載端末装置20は、イグニッション電源がオンになった時に、ステップS21から制御フローを開始する。また、車載端末装置20は、一定の周期で、ステップS21から制御フローを開始してもよい。
【0035】
ステップS21では、CGW21は、車載記憶装置24から、自車の車両識別番号を取得する。ステップS22では、CGW21は、車両2のECU23のソフトウェアバージョンを集約する。具体的には、CGW21は、車両2に搭載されている全てのECU23から、当該ECUのソフトウェアバージョンを取得する。ステップS23では、CGW21は、ステップS21で取得された車両識別番号と、ステップS22で取得されたソフトウェアバージョンとをソフトウェア更新装置1に送信する。ステップS24では、CGW21は、ソフトウェア更新装置1から識別パッケージを受信したか否かを判定する。識別パッケージを受信したと判定される場合には、CGW21は、ステップS25に進む。識別パッケージを受信したと判定されない場合には、CGW21は、制御フローを終了する。ステップS25では、CGW21は、車両識別番号が一致しているか否かを判定する。すなわち、CGW21は、識別パッケージに含まれる車両識別番号と、自車の車両識別番号とを比較して、車両識別番号が一致しているか否かを判定する。車両識別番号が一致していると判定される場合には、CGW21は、ステップS26に進む。車両識別番号が一致していないと判定される場合には、CGW21は、制御フローを終了する。
【0036】
ステップS26ではCGW21は、共通パッケージを要求する。具体的には、CGW21は、ステップS24で受信した識別パッケージから、共通パッケージ識別子を取得して、当該共通パッケージ識別子が割り当てられた共通パッケージの取得を要求する要求信号をソフトウェア更新装置1に送信する。ステップS27では、CGW21は、車載通信装置22を介して、共通パッケージを受信する。ステップS28では、CGW21は、共通パッケージ識別子が一致しているか否かを判定する。すなわち、CGW21は、ステップS24で受信された識別パッケージに含まれる共通パッケージ識別子と、ステップS27で受信された共通パッケージから取得された共通パッケージ識別子とを比較して、共通パッケージ識別子が一致しているか否かを判定する。共通パッケージ識別子が一致していると判定される場合には、CGW21は、ステップS29に進む。共通パッケージ識別子が一致していると判定されない場合には、CGW21は、制御フローを終了する。ステップS29では、CGW21は、ソフトウェアを更新する。具体的には、車載端末装置20は、ステップS27で受信された共通パッケージから更新データを取得して、更新データを用いて、車両2のECUのソフトウェアを更新する。
【0037】
次に、図8のフローチャートを用いて、本実施形態に係るソフトウェア更新システムのソフトウェア更新の制御処理を説明する。図8は、ソフトウェア更新システムにおけるソフトウェア更新の制御処理のシーケンス図である。本実施形態では、ソフトウェアの供給者が、入力装置13にソフトウェアの更新データを入力すると、ステップS31から制御フローを開始する。
【0038】
ステップS31では、ソフトウェア更新装置1は、ソフトウェアの供給者により入力される更新データを受け付ける。ステップS32では、ソフトウェア更新装置1は、ステップS1で取得された更新データに基づいて、ソフトウェア更新リストを作成する。ステップS33では、ソフトウェア更新装置1は、ステップS31で取得された更新データに基づいて、共通パッケージを生成する。ステップS34では、車載端末装置20は、自車の車両識別番号と、自車の各ECUのソフトウェアバージョンを取得する。ステップS35では、車載端末装置20は、ステップS34で取得した、車両識別番号とソフトウェアバージョンをソフトウェア更新装置1に送信する。ステップS36では、ソフトウェア更新装置1は、車載端末装置20から受信した車両識別番号と、ソフトウェアバージョンとに基づいて、車両2のソフトウェアの更新が必要であるか否かを判定する。ソフトウェアの更新が必要であると判定された場合には、ソフトウェア更新装置1は、ステップS37に進む。ソフトウェアの更新が必要ではないと判定された場合には、ソフトウェア更新装置1は、制御フローを終了する。また、ステップS34~S36の制御は、管理している全車両についてそれぞれ実行される。例えば、車両のイグニッション電源がオンになった時、あるいは、一定の周期で、ステップS4~6までの制御が実行される。
【0039】
ステップS37では、ソフトウェア更新装置1は、ステップS36でソフトウェアの更新が必要であると判定された車両2ごとの識別パッケージを生成する。ステップS38では、ソフトウェア更新装置1は、ステップS37で生成された識別パッケージを車載端末装置20に送信する。ステップS39では、車載端末装置20は、ステップS38で送信された識別パッケージに含まれる車両識別番号と、自車の車両識別番号とが一致しているか否かを判定する。車両識別番号が一致していると判定される場合には、車載端末装置20は、ステップS40に進む。車両識別番号が一致していると判定されない場合には、車載端末装置20は、制御フローを終了する。ステップS40では、車載端末装置20は、共通パッケージの取得を要求する要求信号をソフトウェア更新装置1に送信する。
【0040】
ステップS41では、ソフトウェア更新装置1は、ステップS40で車載端末装置20が要求した共通パッケージを検索する。ステップS42では、ソフトウェア更新装置1は、ステップS41で検索された共通パッケージを車載端末装置20に送信する。ステップS43では、車載端末装置20は、ステップS38で送信された識別パッケージに含まれる共通パッケージ識別子と、ステップS42で送信された共通パッケージから取得された共通パッケージ識別子とが一致しているか否かを判定する。共通パッケージ識別子が一致していると判定される場合には、車載端末装置20は、ステップS44に進む。共通パッケージ識別子が一致していると判定されない場合には、車載端末装置20は、制御フローを終了する。ステップS44では、車載端末装置20は、車両2のソフトウェアを更新する。また、本実施形態では、ステップS37~S44までの制御は、ソフトウェア更新が必要であると判定された全車両について実行する。
【0041】
以上のように、本実施形態では、車両の外部に設けられ、車両のソフトウェアの更新データを用いて、ソフトウェアを更新するソフトウェア更新装置であって、少なくとも更新データを含む共通パッケージと、共通パッケージに割り当てられた共通パッケージ識別情報と共通パッケージ識別情報に対応づけられ車両を識別する車両識別情報とを含む識別パッケージとを記憶する記憶装置を備え、ソフトウェアの更新対象となる対象車両に、対象車両に対応付けられた車両識別情報を含む識別パッケージを送信し、対象車両からの要求に応じて、識別パッケージに含まれる共通パッケージ識別情報が割り当てられた共通パッケージを対象車両に送信する。これにより、車両のソフトウェアを更新する処理において、サーバの処理負荷及び記憶容量を軽減させる。
【0042】
また、本実施形態では、対象車両が複数ある場合には、複数の対象車両ごとに、複数の対象車両に共通する共通パッケージ識別情報と、複数の対象車両ごとに割り当てられた車両識別情報とを含む識別パッケージを生成する。これにより、ソフトウェアを更新する車両が複数ある場合であっても、車両ごとに識別情報を生成するため、記憶容量を軽減することができる。
【0043】
また、本実施形態では、複数の対象車両に、同一の共通パッケージを送信する。これにより、ソフトウェアを更新する車両が複数ある場合であっても、同一の共通パッケージを送信するため、記憶容量を軽減することができる。
【0044】
また、本実施形態では、ハッシュ関数を用いて共通パッケージから生成されたハッシュ値を共通パッケージ識別情報として含む識別パッケージを生成する。これにより、更新データ全体を含むよりも識別パッケージのデータサイズを小さくできる。
【0045】
また、本実施形態では、対象車両の車両識別情報に基づいて、共通パッケージ識別情報を生成し、生成された共通パッケージ識別情報と、車両識別情報と、を含む識別パッケージを生成する。これにより、対象車両のみが共通パッケージを識別するための識別情報を取得できるため、サイバーセキュリティの強度を高めることができる。
【0046】
また、本実施形態では、車両の外部に設けられたサーバから、更新の対象となるソフトウェアの更新データを取得し、車両のソフトウェアを更新する車両の車載端末装置であって、更新データを含んでサーバに格納されている共通パッケージごとに割り当てられた共通パッケージ識別情報と、共通パッケージ識別情報に対応づけられた、車両を識別する車両識別情報と、を含んでサーバに格納されている識別パッケージをサーバから受信し、受信された識別パッケージから、共通パッケージ識別情報を取得し、取得された共通パッケージ識別情報が割り当てられた共通パッケージをサーバから受信し、受信された共通パッケージに含まれる更新データを用いて、車両のソフトウェアを更新する。これにより、車両のソフトウェアを更新する処理において、サーバの処理負荷及び記憶容量を軽減させる。
【0047】
また、本実施形態では、受信された識別パッケージに含まれる車両識別情報と、車両に割り当てられた車両識別情報とが一致するか否かを判定し、車両識別情報が一致すると判定される場合には、識別パッケージに含まれる共通パッケージ識別情報と、共通パッケージから取得される共通パッケージ識別情報とが一致するか否かを判定し、共通パッケージ識別情報が一致すると判定される場合には、ソフトウェアを更新する。これにより、車両は、更新データが自車両のソフトウェア更新のためのデータであることを保証することができる。
【0048】
また、本実施形態では、受信された識別パッケージに含まれる車両識別情報と、車両に割り当てられた車両識別情報とが一致するか否かを判定し、車両識別情報が一致すると判定される場合には、共通パッケージの取得を要求する要求信号をサーバに送信し、要求信号に対する応答信号として、共通パッケージをサーバから受信する。これにより、車両は、更新データが自車両のソフトウェア更新のためのデータであることを保証することができる。
【0049】
また、本実施形態では、更新データをサーバから取得するときに、第1通信経路を介して、更新データをサーバから取得し、第1通信経路は、更新データ以外のデータを供給するための第2通信経路よりもセキュリティ度が高い。これにより、更新データのサイバーセキュリティ強度を高めることができる。
【0050】
また、本実施形態では、車両に搭載された車載端末装置と、車両の外部に設けられたソフトウェア更新装置と、を備え、車両のソフトウェアの更新データを用いて、ソフトウェアを更新するソフトウェア更新システムであって、ソフトウェア更新装置は、少なくとも更新データを含む共通パッケージと、共通パッケージに割り当てられた共通パッケージ識別情報と共通パッケージ識別情報に対応づけられ車両を識別する車両識別情報とを含む識別パッケージとを記憶する記憶装置を備え、ソフトウェアの更新対象となる車両に、車両に対応づけられた車両識別情報を含む識別パッケージを送信し、車両からの要求に応じて、識別パッケージに含まれる共通パッケージ識別情報が割り当てられた共通パッケージを車両に送信し、車両は、車両の車両識別情報を含む識別パッケージをソフトウェア更新装置から受信し、受信された識別パッケージから、共通パッケージ識別情報を取得し、取得された共通パッケージ識別情報が割り当てられた共通パッケージをソフトウェア更新装置から受信し、受信された共通パッケージに含まれる更新データを用いて、車両のソフトウェアを更新する。これにより、車両のソフトウェアを更新する処理において、サーバの処理負荷及び記憶容量を軽減させる。
【0051】
なお、以上に説明した実施形態は、本発明の理解を容易にするために記載されたものであって、本発明を限定するために記載されたものではない。したがって、上記の実施形態に開示された各要素は、本発明の技術的範囲に属する全ての設計変更や均等物をも含む趣旨である。
【符号の説明】
【0052】
100…ソフトウェア更新システム
1…ソフトウェア更新装置
10…コントローラ
11…記憶装置
12…通信装置
13…入力装置
2…車両
20…車載端末装置
21…CGW
22…車載通信装置
23…ECU
24…車載記憶装置
3…通信ネットワーク
図1
図2
図3A
図3B
図4A
図4B
図5A
図5B
図6
図7
図8