JP2019164809A - Software updating system of mobile body using on-vehicle gateway device - Google Patents

Software updating system of mobile body using on-vehicle gateway device Download PDF

Info

Publication number
JP2019164809A
JP2019164809A JP2019083942A JP2019083942A JP2019164809A JP 2019164809 A JP2019164809 A JP 2019164809A JP 2019083942 A JP2019083942 A JP 2019083942A JP 2019083942 A JP2019083942 A JP 2019083942A JP 2019164809 A JP2019164809 A JP 2019164809A
Authority
JP
Japan
Prior art keywords
software
vehicle
log information
update
software update
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
JP2019083942A
Other languages
Japanese (ja)
Other versions
JP6702581B2 (en
Inventor
裕太郎 石黒
Yutaro Ishiguro
裕太郎 石黒
詩音 伊藤
Shion Ito
詩音 伊藤
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Toshiba Corp
Toshiba Digital Solutions Corp
Original Assignee
Toshiba Corp
Toshiba Digital Solutions Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Toshiba Corp, Toshiba Digital Solutions Corp filed Critical Toshiba Corp
Priority to JP2019083942A priority Critical patent/JP6702581B2/en
Publication of JP2019164809A publication Critical patent/JP2019164809A/en
Application granted granted Critical
Publication of JP6702581B2 publication Critical patent/JP6702581B2/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Landscapes

  • Information Transfer Between Computers (AREA)
  • Stored Programmes (AREA)

Abstract

To provide a software updating system to be executed in a mobile body via an on-vehicle GW device.SOLUTION: A system includes: an on-vehicle GW device 200 to be connected to a predetermined system for controlling a mobile body; and a SW updating device 100 for delivering software to be executed in the predetermined system to the on-vehicle GW device 200. The SW updating device 100 delivers software to the on-vehicle GW device 200 on the basis of delivery side log information related to software to be delivered. The on-vehicle GW device 200 transmits mobile body side log information where a software reception result is recorded to the SW updating device 100. When it is determined that mobile body side log information is not coincident with delivery side log information after matching the respective pieces of log information, the SW updating device 100 performs control to allow the on-vehicle GW device 200 to update mobile body side log information and also re-delivers software to the on-vehicle GW device 200 on the basis of delivery side log information updated by non-coincidence of log information.SELECTED DRAWING: Figure 10

Description

本発明の実施形態は、車両などの移動体内に設けられる車載ゲートウェイ装置を介して、移動体で実行されるソフトウェアの更新技術に関する。   Embodiments described herein relate generally to a software update technique executed in a mobile body via an in-vehicle gateway device provided in the mobile body such as a vehicle.

例えば、車両は、車両制御システムによって全体が管理されている。車両制御システムは、複数の制御プログラムを実行して車両を制御している。車両制御システムで使用されるソフトウェア(制御プログラムや制御プログラムの実行に使用されるデータ)は、適宜更新(修正プログラム又は/及び新規プログラムのインストール)することがある。ソフトウェアの更新は、ネットワークを介したデータ通信で行ったり、ディーラーや工場で行ったりすることができる。   For example, the entire vehicle is managed by a vehicle control system. The vehicle control system controls a vehicle by executing a plurality of control programs. Software used in the vehicle control system (control program and data used for execution of the control program) may be appropriately updated (installation of a correction program or / and a new program). The software update can be performed by data communication via a network, or at a dealer or a factory.

特開2004−254120号公報JP 2004-254120 A 特開平11−239126号公報JP-A-11-239126 国際公開第2004/028112号International Publication No. 2004/028112

移動体内に設けられる車載ゲートウェイ装置を介した、移動体で実行されるソフトウェアの更新システムを提供する。   Provided is a software update system executed in a mobile body via an in-vehicle gateway device provided in the mobile body.

実施形態のソフトウェア更新システムは、移動体を制御するための所定のシステムで実行されるソフトウェアを更新する。ソフトウェア更新システムは、移動体内に設けられ、前記所定のシステムと接続される車載ゲートウェイ装置と、ネットワークを介して前記車載ゲートウェイ装置に接続されるソフトウェア更新装置と、を含む。前記ソフトウェア更新装置は、前記車載ゲートウェイ装置に配信するソフトウェアに関連する配信側ログ情報に基づいて、前記ソフトウェアを前記車載ゲートウェイ装置に配信する配信制御を行うソフトウェア更新制御部を有する。前記車載ゲートウェイ装置は、前記ソフトウェアの受信結果が記録される移動体側ログ情報を前記ソフトウェア更新装置に送信するソフトウェア更新管理部を有する。前記ソフトウェア更新制御部は、前記移動体側ログ情報と前記配信側ログ情報とをマッチングしてログ情報が不一致であると判別された場合に、前記配信側ログ情報のログ情報を更新するとともに、前記車載ゲートウェイ装置に対して、前記移動体側ログ情報においてログ情報を更新するように制御するとともに、ログ情報の不一致によって更新された前記配信側ログ情報に基づいて、前記ソフトウェアを前記車載ゲートウェイ装置に再配信する。   The software update system according to the embodiment updates software executed in a predetermined system for controlling a moving body. The software update system includes an in-vehicle gateway device provided in a moving body and connected to the predetermined system, and a software update device connected to the in-vehicle gateway device via a network. The software update device includes a software update control unit that performs distribution control for distributing the software to the in-vehicle gateway device based on distribution-side log information related to software distributed to the in-vehicle gateway device. The in-vehicle gateway device includes a software update management unit that transmits mobile-side log information in which a reception result of the software is recorded to the software update device. The software update control unit updates the log information of the delivery-side log information when the mobile-side log information and the delivery-side log information are matched and it is determined that the log information does not match, and The in-vehicle gateway device is controlled to update the log information in the mobile-side log information, and the software is retransmitted to the in-vehicle gateway device based on the distribution-side log information updated due to the mismatch of the log information. To deliver.

第1実施形態のソフトウェア更新システムの概略図である。It is the schematic of the software update system of 1st Embodiment. 第1実施形態の車載ゲートウェイ装置が適用された車内及び車外のネットワーク構成図である。1 is a network configuration diagram inside and outside a vehicle to which an in-vehicle gateway device of a first embodiment is applied. 第1実施形態の車載ゲートウェイ装置の構成ブロックを示す図である。It is a figure which shows the structural block of the vehicle-mounted gateway apparatus of 1st Embodiment. 第1実施形態のソフトウェア更新装置の構成ブロックを示す図である。It is a figure which shows the structural block of the software update apparatus of 1st Embodiment. 第1実施形態の複数の移動体に対するTree構造のソフトウェア管理情報の一例を示す図である。It is a figure which shows an example of the software management information of the Tree structure with respect to the some mobile body of 1st Embodiment. 第1実施形態のグループ鍵暗号化方式に基づく移動体の固有鍵を説明するための図である。It is a figure for demonstrating the specific key of the moving body based on the group key encryption system of 1st Embodiment. 第1実施形態のグループ鍵暗号化方式に基づく移動体の固有鍵の登録処理を示すフローチャートである。It is a flowchart which shows the registration process of the moving body specific key based on the group key encryption system of 1st Embodiment. 第1実施形態の移動体の固有鍵によるソフトウェアの一斉更新を説明するための図である。It is a figure for demonstrating the simultaneous update of the software by the specific key of the mobile body of 1st Embodiment. 第1実施形態の配信側ログファイル及び移動体側ログファイルを使用したソフトウェアの配信制御を説明するための図である。It is a figure for demonstrating the delivery control of the software using the delivery side log file and mobile body side log file of 1st Embodiment. 第1実施形態の車載ゲートウェイ装置を介したソフトウェア更新処理を示すフローチャートである。It is a flowchart which shows the software update process via the vehicle-mounted gateway apparatus of 1st Embodiment. 第1実施形態の車載ゲートウェイ装置を介したソフトウェア更新処理(差分更新処理)を示すフローチャートである。It is a flowchart which shows the software update process (difference update process) via the vehicle-mounted gateway apparatus of 1st Embodiment.

以下、実施形態につき、図面を参照して説明する。   Hereinafter, embodiments will be described with reference to the drawings.

(第1実施形態)
図1は、第1実施形態のソフトウェア更新システムの概略図である。本実施形態のソフトウェア更新システムは、移動体で実行され、移動体の制御に用いられるソフトウェアの更新システムである。なお、本実施形態では、移動体として車両を一例に説明するが、他の移動体(電車、自動で又は無線により遠隔操作されるロボットや飛行体など)にも適用可能である。
(First embodiment)
FIG. 1 is a schematic diagram of a software update system according to the first embodiment. The software update system of the present embodiment is a software update system that is executed by a mobile body and used for control of the mobile body. In the present embodiment, a vehicle is described as an example of the moving body. However, the present invention can also be applied to other moving bodies (such as trains, robots or flying bodies operated automatically or wirelessly).

移動体には、車載ゲートウェイ装置200(以下、車載GW装置と称する)が設けられており、所定のネットワークを介してソフトウェア更新装置100と接続されている。ソフトウェア更新装置100は、複数の各移動体に、1つ又は複数のプログラムモジュールで構成されたソフトウェアを配信する。移動体は、ソフトウェア更新装置100から配信されるソフトウェアを車載GW装置200を介して受信し、移動体で実行されるソフトウェアや移動体の制御に用いられるソフトウェアを更新する。   The mobile body is provided with an in-vehicle gateway device 200 (hereinafter referred to as an in-vehicle GW device), and is connected to the software update device 100 via a predetermined network. The software updating apparatus 100 distributes software composed of one or a plurality of program modules to a plurality of mobile units. The mobile body receives the software distributed from the software updating apparatus 100 via the in-vehicle GW apparatus 200, and updates the software executed on the mobile body and the software used for controlling the mobile body.

なお、移動体に配信されるソフトウェアは、制御プログラムなどのプログラムモジュール以外にも、例えば、各プログラムモジュールの実行を制御するためのパラメータや各種データ、手順などを含むことができる。   Note that the software distributed to the mobile object can include, for example, parameters, various data, procedures, and the like for controlling the execution of each program module, in addition to the program module such as a control program.

図2は、車載GW装置200が適用された移動体の車内及び車外のネットワーク構成図である。本実施形態では、移動体内に設けられる車載GW装置200が、ソフトウェア更新装置100から配信されるソフトウェアの更新制御(ソフトウェアの受信制御及びソフトウェアの更新実行制御)を行う。   FIG. 2 is a network configuration diagram of the inside and outside of a moving body to which the in-vehicle GW apparatus 200 is applied. In the present embodiment, the in-vehicle GW apparatus 200 provided in the moving body performs update control of software distributed from the software update apparatus 100 (software reception control and software update execution control).

<車載GW装置200>
まず、車載GW装置200について説明する。車載GW装置200は、車内のデータソースと直接接続されたり、データソースが接続される車載ネットワークと接続されたりする車載器である。車載GW装置200は、車外ネットワークと接続することができ、車内と車外を中継するネットワークノードとして構成される。車載GW装置200は、アクセスポイントを経由したWi−Fiなどの無線LAN規格に準拠する無線通信、及び基地局を中継した3GやLTE(LongTerm Evolution)などの携帯電話通信の各通信インターフェースを備えている。車載GW装置200は、車両外部の車外ネットワークと複数の通信経路(外部通信方式)で接続することができる。
<In-vehicle GW device 200>
First, the in-vehicle GW apparatus 200 will be described. The in-vehicle GW apparatus 200 is an in-vehicle device that is directly connected to an in-vehicle data source or connected to an in-vehicle network to which the data source is connected. The in-vehicle GW apparatus 200 can be connected to a network outside the vehicle, and is configured as a network node that relays between the inside and outside the vehicle. The in-vehicle GW apparatus 200 includes communication interfaces for wireless communication complying with a wireless LAN standard such as Wi-Fi via an access point, and mobile phone communication such as 3G and LTE (Long Term Evolution) relaying a base station. Yes. The in-vehicle GW apparatus 200 can be connected to an external network outside the vehicle through a plurality of communication paths (external communication methods).

車外ネットワークは、例えば、IP(InternetProtocol)網である。車載GW装置200は、IP網を経由してソフトウェア更新装置100に接続することができる。車載GW装置200は、ソフトウェア更新装置100との間でデータ通信を行うことができるとともに、後述する移動体側ログファイル(ログファイルに書き込まれる情報を含む)をソフトウェア更新装置100に送信したりすることができる。また、ソフトウェア更新装置100以外の外部サービスシステムとの間でデータ通信を行ったり、車内のデータソースから取得した各種データをソフトウェア更新装置100や所定の外部サービスシステムに送信したりすることもできる。   The outside-vehicle network is, for example, an IP (Internet Protocol) network. The in-vehicle GW apparatus 200 can be connected to the software update apparatus 100 via the IP network. The in-vehicle GW apparatus 200 can perform data communication with the software update apparatus 100 and can transmit a mobile log file (including information to be written to the log file), which will be described later, to the software update apparatus 100. Can do. In addition, data communication can be performed with an external service system other than the software update device 100, and various data acquired from an in-vehicle data source can be transmitted to the software update device 100 or a predetermined external service system.

図2に示すように、車載GW装置200は、Wi−Fiや3G/LTEの通信インターフェースを備えた携帯情報端末を介して、車外ネットワークと接続することもできる。車載GW装置200は、携帯情報端末に対し、USB接続したり、無線通信やBluetooth(登録商標)/NFCなどの規格に基づく近距離通信で接続したりすることができる。携帯情報端末は、スマートフォンなどの多機能携帯電話機、携帯電話機、タブレット端末などの通信機能を備えたモバイル機器である。   As shown in FIG. 2, the in-vehicle GW apparatus 200 can be connected to a network outside the vehicle via a portable information terminal having a Wi-Fi or 3G / LTE communication interface. The in-vehicle GW apparatus 200 can be connected to a portable information terminal by USB, or by short-range communication based on a standard such as wireless communication or Bluetooth (registered trademark) / NFC. The portable information terminal is a mobile device having a communication function such as a multi-function mobile phone such as a smartphone, a mobile phone, and a tablet terminal.

車載GW装置200は、車内のデータソースに、直接または既設の車載ネットワークを介して接続することができる。データソースは、例えば、マイク(集音装置)、人感センサやユーザが装着するバイタルセンサなどのセンサ機器、カメラ(撮影装置)が搭載されたドライブレコーダーや車内を撮影する車内カメラなどの車載カメラ、液晶ディスプレイ装置などの表示手段を備えたナビゲーションシステムなどの車載情報端末、及び車載LANなどがある。車載LANは、車両制御システム300やマルチメディア系のオーディオ機器などと接続され、これらがデータソースとなる。   The in-vehicle GW apparatus 200 can be connected to a data source in the vehicle directly or via an existing in-vehicle network. Data sources include, for example, microphones (sound collectors), sensor devices such as human sensors and vital sensors worn by users, drive recorders equipped with cameras (imaging devices), and in-vehicle cameras such as in-car cameras There are in-vehicle information terminals such as navigation systems equipped with display means such as liquid crystal display devices, and in-vehicle LANs. The in-vehicle LAN is connected to the vehicle control system 300, multimedia audio devices, and the like, and these are data sources.

車載GW装置200は、各データソース又は車載ネットワークが備える通信方式に応じて、データソース毎に異なる通信方式でデータ通信を行う。例えば、センサ機器は、近距離無線通信でデータ通信を行う。車載カメラは、車載GW装置200とケーブルで接続されたシリアル(UART)通信(RS232C,RS422,RS485)でデータ通信を行う。車載情報端末は、LANケーブルで接続されたEthernet通信でデータ通信を行う。   The in-vehicle GW apparatus 200 performs data communication using a different communication method for each data source according to a communication method provided in each data source or in-vehicle network. For example, the sensor device performs data communication by short-range wireless communication. The in-vehicle camera performs data communication by serial (UART) communication (RS232C, RS422, RS485) connected to the in-vehicle GW apparatus 200 with a cable. The in-vehicle information terminal performs data communication by Ethernet communication connected by a LAN cable.

車載LANは、CAN(controllerarea network)、FlexRay、LIN、MOST(mediaoriented systems transport)などの通信方式で車載ネットワークが組まれている。車載GW装置200は、車載LANを構成する1つ又は複数の車載ネットワークそれぞれに接続し、各通信方式でデータ通信を行う。   The in-vehicle LAN has a built-in in-vehicle network by a communication method such as CAN (Controlled Rare Network), FlexRay, LIN, and MOST (Mediaoriented Systems Transport). The in-vehicle GW apparatus 200 is connected to each of one or a plurality of in-vehicle networks constituting the in-vehicle LAN, and performs data communication by each communication method.

図3は、車載GW装置200の構成ブロックを示す図である。車載GW装置200は、ハードウェア構成として、各データソースや携帯情報端末との間の通信インターフェースを構成する通信デバイス210と、車載GW装置200全体の制御を行う制御デバイス220と、を含んでいる。   FIG. 3 is a diagram illustrating a configuration block of the in-vehicle GW apparatus 200. The in-vehicle GW apparatus 200 includes, as a hardware configuration, a communication device 210 that configures a communication interface with each data source and a portable information terminal, and a control device 220 that controls the entire in-vehicle GW apparatus 200. .

通信デバイス210は、Ethernet、CAN、UART、USB、近距離無線通信などの車内通信(内部通信)インターフェース211と、無線通信、携帯電話通信などの車外通信(外部通信)インターフェース212と、を含む。なお、車内通信インターフェース211は、携帯情報端末との間の無線通信機能やUSB等の接続インターフェースを含むことができる。   The communication device 210 includes an in-vehicle communication (internal communication) interface 211 such as Ethernet, CAN, UART, USB, and short-range wireless communication, and an external communication (external communication) interface 212 such as wireless communication and mobile phone communication. The in-vehicle communication interface 211 can include a wireless communication function with the portable information terminal and a connection interface such as a USB.

制御デバイス220は、主にソフトウェアによって動作する各機能部を含んで構成されている。制御デバイス220は、まず、各データソースに対する制御を行うことができる。例えば、センサ機器のセンサ制御(動作やデータ検出)、車載カメラの撮影制御(映像出力制御を含む)、車載情報端末の端末制御を行うことができる。   The control device 220 is configured to include each functional unit that mainly operates by software. First, the control device 220 can control each data source. For example, sensor control (operation and data detection) of the sensor device, shooting control (including video output control) of the in-vehicle camera, and terminal control of the in-vehicle information terminal can be performed.

したがって、制御デバイス220は、車外ネットワークから受信したデータを各データソースに出力したり、受信したデータに基づいて各データソースを制御したりすることができる。また、データソース間で、一方又は双方のデータソースを制御することができる。例えば、センサ機器で取得された検出データや車載カメラで撮影された映像を、車載情報端末のディスプレイに表示する制御を行うこともできる。   Therefore, the control device 220 can output data received from the external network to each data source, or control each data source based on the received data. In addition, one or both data sources can be controlled between data sources. For example, it is possible to perform control for displaying detection data acquired by a sensor device or video captured by an in-vehicle camera on a display of the in-vehicle information terminal.

そして、本実施形態の制御デバイス220は、車内通信制御部221、車外通信制御部222、ゲートウェイ制御部(GW制御部)223、ソフトウェア更新管理部224、及び記憶部225を含んでいる。   The control device 220 according to the present embodiment includes an in-vehicle communication control unit 221, an out-of-vehicle communication control unit 222, a gateway control unit (GW control unit) 223, a software update management unit 224, and a storage unit 225.

車載GW装置200は、無線通信や携帯電話通信、UART、USB、近距離無線通信等の各デバイスドライバがインストールされている。車内通信制御部221及び車外通信制御部222は、各デバイスドライバを通じて、車内通信インターフェース211及び車外通信インターフェース212を介した通信制御を行う。また、車内通信制御部221は、デバイスドライバを介さずに、例えば、車載LAN(車両制御システム300)との間の通信制御を行うこともできる。   The in-vehicle GW apparatus 200 is installed with device drivers such as wireless communication, mobile phone communication, UART, USB, and short-range wireless communication. The in-vehicle communication control unit 221 and the out-of-vehicle communication control unit 222 perform communication control via the in-vehicle communication interface 211 and the out-of-vehicle communication interface 212 through each device driver. The in-vehicle communication control unit 221 can also control communication with, for example, an in-vehicle LAN (vehicle control system 300) without using a device driver.

なお、車外通信制御部222は、Wi−Fiなどの無線通信のアクセスポイント登録処理を行うことができる。例えば、車外通信制御部222は、車両の物理的な移動に伴って各所のアクセスポイントを検出し、登録することができる。   The outside-vehicle communication control unit 222 can perform an access point registration process for wireless communication such as Wi-Fi. For example, the out-of-vehicle communication control unit 222 can detect and register access points at various places as the vehicle physically moves.

GW制御部223は、ネットワーク制御部223Aと、通信制御部223Bとを含んで構成されている。ネットワーク制御部223Aは、ルーティング制御部2231、プロトコル変換部2232及びセキュリティ部2233を含んでいる。ルーティング制御部2231は、各データソース(車載LANを介した車両制御システム300を含む)から収集されるデータを車外ネットワークに送信する際のルーティング制御、及び車外ネットワークから受信されたデータを各データソースに伝送する際のルーティング制御を行う。また、車内ネットワーク内でのデータソース間でのデータ通信におけるルーティング制御も行う。   The GW control unit 223 includes a network control unit 223A and a communication control unit 223B. The network control unit 223A includes a routing control unit 2231, a protocol conversion unit 2232, and a security unit 2233. The routing control unit 2231 includes routing control when data collected from each data source (including the vehicle control system 300 via the in-vehicle LAN) is transmitted to the outside network, and data received from the outside network is each data source. Performs routing control when transmitting to. It also performs routing control in data communication between data sources in the in-vehicle network.

プロトコル変換部2232は、各データソースに対応する異なる通信方式間でのプロトコル変換処理を行う。データソース別の通信方式をプロトコル変換表として予め保持しておくことができ、例えば、車外ネットワークから受信されたデータをデータソースに伝送する際にプロトコル変換を行う。   The protocol conversion unit 2232 performs protocol conversion processing between different communication methods corresponding to each data source. A communication method for each data source can be stored in advance as a protocol conversion table. For example, protocol conversion is performed when data received from an external network is transmitted to a data source.

セキュリティ部2233は、SSL(SecureSockets Layer)/TLS(TransportLayer Security)プロトコルの通信設定及び通信処理を行う。SSL/TLS通信は、データソース毎に設定することができ、セキュリティ部2233は、車内ネットワークから車外ネットワークにデータが送信される際に、SSL/TLSの設定有無を確認し、暗号化処理を行うことができる。   The security unit 2233 performs communication setting and communication processing of SSL (Secure Sockets Layer) / TLS (Transport Layer Security) protocol. SSL / TLS communication can be set for each data source, and the security unit 2233 checks whether SSL / TLS is set and performs encryption processing when data is transmitted from the in-vehicle network to the external network. be able to.

通信制御部223Bは、通信状態監視部2234、通信経路選択部2235、監視制御部2236、及びConfig設定制御部2237を含んでいる。通信制御部223Bは、Config設定情報に基づいて、通信経路選択制御、データ監視制御、及びデータソースから収集されたデータを車外ネットワークに伝送するデータ伝送制御を行うことができる。   The communication control unit 223B includes a communication state monitoring unit 2234, a communication path selection unit 2235, a monitoring control unit 2236, and a Config setting control unit 2237. Based on the Config setting information, the communication control unit 223B can perform communication route selection control, data monitoring control, and data transmission control for transmitting data collected from the data source to the external network.

通信経路選択部2235は、通信接続Config設定情報に基づいて、通信経路選択制御を行うことができる。通信接続Config設定情報は、車外ネットワークから車内ネットワークへのデータ受信時の通信経路設定と、車内ネットワークから車外ネットワークへのデータ伝送時の通信経路設定と、が含まれる。   The communication path selection unit 2235 can perform communication path selection control based on the communication connection config setting information. The communication connection Config setting information includes a communication path setting at the time of data reception from the outside network to the in-vehicle network and a communication path setting at the time of data transmission from the in-vehicle network to the outside network.

本実施形態の車載GW装置200は、車両などの移動体に搭載される。このため、例えば、車載GW装置200は、ネットワークノードとして動的IPアドレスが割り当てられる。車載GW装置200は、データの送受信の際、能動的に車外ネットワークのソフトウェア更新装置100に接続してコネクションを張る。   The in-vehicle GW apparatus 200 of this embodiment is mounted on a moving body such as a vehicle. For this reason, for example, the in-vehicle GW apparatus 200 is assigned a dynamic IP address as a network node. The in-vehicle GW apparatus 200 actively connects to and establishes a connection with the software update apparatus 100 in the outside-vehicle network when transmitting and receiving data.

通信接続の設定内容は、自動設定又は/及び優先設定がある。車載GW装置200は、複数の通信方式の経路で、車外ネットワークに接続することができる。例えば、Wi−Fi、携帯情報端末経由及び3G/LTEの3つの経路の中から1つを選択したり、3つの経路に優先度を設定したりすることができる。また、「自動」の優先度は、例えば、Wi−fi>携帯情報端末経由>3G/LTEのように、予め任意に決めておくことができる。   The communication connection setting includes automatic setting and / or priority setting. The in-vehicle GW apparatus 200 can be connected to a network outside the vehicle through a plurality of communication method paths. For example, one can be selected from the three routes of Wi-Fi, via a portable information terminal, and 3G / LTE, or priority can be set for the three routes. In addition, the priority of “automatic” can be arbitrarily determined in advance, for example, Wi-fi> via mobile information terminal> 3G / LTE.

通信接続の設定内容は、受信するデータ種別に設定することもできる。例えば、ソフトウェア更新装置100から配信されるソフトウェアとそれ以外のシステムから配信されるデータとで通信経路の優先度を変えたり、ソフトウェア更新装置100から配信されるソフトウェアのデータ容量の大きさで通信経路の優先度を変えたりすることができる。   The setting contents of the communication connection can be set to the type of data to be received. For example, the priority of the communication path is changed between the software distributed from the software update apparatus 100 and the data distributed from the other system, or the communication path is determined depending on the data capacity of the software distributed from the software update apparatus 100 You can change the priority.

車内ネットワークから車外ネットワークへのデータ伝送時の通信接続についても同様である。例えば、車両制御システム300から取得される車両情報をアップロードする通信経路や車載カメラで撮影された映像や画像をアップデートする通信経路などにおいても、同様に自動設定又は/及び優先設定を行うことができる。   The same applies to the communication connection during data transmission from the in-vehicle network to the outside network. For example, automatic setting and / or priority setting can be similarly performed in a communication path for uploading vehicle information acquired from the vehicle control system 300 and a communication path for updating video and images taken by an in-vehicle camera. .

また、通信接続Config設定には、車外ネットワークの接続先であるソフトウェア更新装置100のURL指定(登録)が含まれる。なお、ソフトウェア更新装置100は、複数の拠点に、複数設けることもできる。この場合、各拠点のソフトウェア更新装置100の各URLが登録されるように構成することができる。外部サービスシステムについても同様である。   In addition, the communication connection config setting includes URL designation (registration) of the software updating apparatus 100 that is a connection destination of the outside-vehicle network. A plurality of software updating apparatuses 100 can be provided at a plurality of bases. In this case, each URL of the software update device 100 at each site can be registered. The same applies to the external service system.

さらに、通信接続Config設定は、車載GW装置200が利用する複数の通信経路それぞれの有効/無効の設定が含まれる。Wi−Fi通信利用設定、3G/LTE通信利用設定、携帯情報端末通信利用設定の有効(ON)/無効(OFF)を設定することができる。   Furthermore, the communication connection Config setting includes a setting for enabling / disabling each of a plurality of communication paths used by the in-vehicle GW apparatus 200. Wi-Fi communication use settings, 3G / LTE communication use settings, and portable information terminal communication use settings can be set to valid (ON) / invalid (OFF).

車載GW装置200(通信制御部223B)は、起動後、通信接続Config設定情報を取得し、接続フラグがONの通信経路に対して通信接続処理を行う。接続フラグとは、各通信方式の通信利用設定における有効(ON)/無効(OFF)である。接続フラグがONの通信経路が複数ある場合、複数の通信経路全ての通信接続を維持するように、制御される。すなわち、車載GW装置200の監視制御やデータ収集・伝送制御に関係なく、接続フラグがONの複数の通信経路全てに対し、常時接続状態を維持するように制御される。そして、データソース毎に、各通信経路の通信状態に応じてConfig設定に基づく適切な通信経路選択を行い、車外ネットワークとの間でデータ通信を行う。   The in-vehicle GW apparatus 200 (communication control unit 223B) acquires the communication connection config setting information after activation, and performs communication connection processing for the communication path whose connection flag is ON. The connection flag is valid (ON) / invalid (OFF) in the communication use setting of each communication method. When there are a plurality of communication paths whose connection flags are ON, control is performed so as to maintain communication connections of all the plurality of communication paths. That is, regardless of the monitoring control and data collection / transmission control of the in-vehicle GW apparatus 200, control is performed so as to always maintain a connection state for all of the plurality of communication paths whose connection flags are ON. For each data source, an appropriate communication path is selected based on the Config setting according to the communication state of each communication path, and data communication is performed with the network outside the vehicle.

通信状態監視部2234は、接続フラグがONの通信経路の通信状態(接続中/遮断)を監視する。通信状態監視部2234は、各通信経路の通信状態を通信制御部223Bに出力する。次に、通信状態監視部2234は、接続状態監視終了信号(例えば、車両のイグニッションスイッチのOFF信号)の有無を確認する。監視を終了しない場合は、通信制御部223Bは、接続フラグがONの通信経路が遮断されていないと判別された場合、通信状態の監視を継続する。一方、遮断されていると判別された場合、通信制御部223Bは、接続フラグがONで、遮断されている通信経路に対し、再度通信接続処理を行う。一方、接続状態監視終了信号の入力があり、監視を終了する場合は、接続中の全ての通信経路の遮断処理を行う。   The communication state monitoring unit 2234 monitors the communication state (connected / blocked) of the communication path whose connection flag is ON. The communication state monitoring unit 2234 outputs the communication state of each communication path to the communication control unit 223B. Next, the communication state monitoring unit 2234 checks whether or not there is a connection state monitoring end signal (for example, an ignition switch OFF signal of the vehicle). When the monitoring is not terminated, the communication control unit 223B continues to monitor the communication state when it is determined that the communication path whose connection flag is ON is not blocked. On the other hand, when it is determined that the communication is interrupted, the communication control unit 223B performs the communication connection process again for the communication path whose connection flag is ON and is interrupted. On the other hand, when there is an input of a connection status monitoring end signal and the monitoring is ended, all the communication paths being connected are blocked.

一方で、監視制御部2236は、各データソースから出力されるデータを監視することができ、監視制御部2236で利用されるConfig設定情報を設定することもできる。例えば、車載LANConfig設定情報は、車両制御システム300から取得される車両情報を、車外ネットワーク(外部システム)にアップロードする周期、平均車速閾値、運転時間閾値などの設定情報が含まれる。また、センサ機器は、例えば、ユーザの心拍数、脈拍の間隔、血圧などを測定又は/及び算出して車載GW装置100に出力することができる。センサ機器Config設定情報は、バイタル情報転送(アップロード)周期、心拍数転送閾値、心拍数異常閾値などの設定情報が含まれる。   On the other hand, the monitoring control unit 2236 can monitor data output from each data source, and can also set Config setting information used by the monitoring control unit 2236. For example, the in-vehicle LANConfig setting information includes setting information such as a cycle in which vehicle information acquired from the vehicle control system 300 is uploaded to an external network (external system), an average vehicle speed threshold, and a driving time threshold. In addition, the sensor device can measure or / and calculate, for example, the user's heart rate, pulse interval, blood pressure, and the like and output the measured value to the in-vehicle GW apparatus 100. The sensor device Config setting information includes setting information such as a vital information transfer (upload) cycle, a heart rate transfer threshold, and a heart rate abnormality threshold.

監視制御部2236は、例えば、データソース毎に設定されたConfig設定情報に基づく監視制御を行う。データソースは、時系列に連続したデータを車載GW装置200に出力することができる。Config設定情報に基づく監視制御は、データソースから収集されるデータを監視し、例えば、閾値を超えるデータが検出された場合に異常発生を検知する異常検出制御と、データソースから収集されたデータを、車外ネットワークに伝送するデータ収集・伝送制御とが含まれる。   For example, the monitoring control unit 2236 performs monitoring control based on the Config setting information set for each data source. The data source can output time-sequential data to the in-vehicle GW apparatus 200. The monitoring control based on the Config setting information monitors the data collected from the data source. For example, when the data exceeding the threshold is detected, the abnormality detection control for detecting the occurrence of the abnormality and the data collected from the data source are used. And data collection / transmission control to be transmitted to the outside network.

監視制御部2236は、データソースから出力されるデータを対象に、データソース毎に異常検出を行い、異常が検出された場合、例えば、車載情報端末に異常が検出された旨を表示する通知処理を行うことができる。   The monitoring control unit 2236 performs abnormality detection for each data source for data output from the data source, and when an abnormality is detected, for example, a notification process for displaying that the abnormality is detected on the in-vehicle information terminal It can be performed.

なお、監視制御は、通信状態監視と同様に、車両のイグニッションスイッチのOFF信号などのデータソースの監視制御を終了する信号の有無を確認して、行うことができる。   The monitoring control can be performed by confirming the presence or absence of a signal for ending the monitoring control of the data source, such as an OFF signal of an ignition switch of the vehicle, as in the communication state monitoring.

これらのConfig設定情報は、外部サービスシステム側で予め設定したり、ユーザが外部サービスシステムに接続して設定したりすることができる。車載GW装置200は、例えば、車両のイグニッションスイッチのON/OFFに連動して、車両のバッテリなどから電力供給を受けて起動することができる。車載GW装置200は、起動時に外部サービスシステムに接続して、Config設定情報を取得することができる。このとき、車載GW装置200は、通信接続Config設定情報に基づいて、通信経路選択処理を行うことができる。   The Config setting information can be set in advance on the external service system side, or can be set by the user connecting to the external service system. The in-vehicle GW apparatus 200 can be activated by receiving power supply from a vehicle battery or the like in conjunction with ON / OFF of an ignition switch of the vehicle, for example. The in-vehicle GW apparatus 200 can acquire Config setting information by connecting to an external service system at the time of activation. At this time, the in-vehicle GW apparatus 200 can perform a communication route selection process based on the communication connection config setting information.

Config設定制御部2237は、外部サービスシステムから制御デバイス220に入力されたConfig設定情報を、通信経路選択部2235及び監視制御部2236が利用できるように記憶部225にセット(更新)する。   The Config setting control unit 2237 sets (updates) the Config setting information input from the external service system to the control device 220 in the storage unit 225 so that the communication path selection unit 2235 and the monitoring control unit 2236 can use them.

なお、車載GW装置200とソフトウェア更新装置100との間のデータ通信は、予め設定されるユーザの識別IDや車両GW装置200の固体識別子(例えば、MACアドレス)などを用いて、双方で認証を行うことができる。車載GW装置200は、ソフトウェア更新装置100との間のデータ通信において、固体識別子が含まれるように制御する。   Note that data communication between the in-vehicle GW apparatus 200 and the software update apparatus 100 is performed by using both a user identification ID set in advance and a solid identifier (for example, a MAC address) of the vehicle GW apparatus 200 to perform authentication. It can be carried out. The in-vehicle GW apparatus 200 performs control so that a solid identifier is included in data communication with the software update apparatus 100.

記憶部225は、ソフトウェア更新管理部224を含む制御デバイス220で処理される各種データ、各処理のために使用される情報、車外ネットワークから受信したデータや情報などを記憶する。図3の例では、記憶部225が車載GW装置200に内蔵されているが、例えば、記憶部225が車載GW装置200に対して外付けされてもよい。   The storage unit 225 stores various data processed by the control device 220 including the software update management unit 224, information used for each process, data and information received from the outside network. In the example of FIG. 3, the storage unit 225 is built in the in-vehicle GW device 200, but the storage unit 225 may be externally attached to the in-vehicle GW device 200, for example.

<車載GW装置200を介したソフトウェア更新>
本実施形態では、車載GW装置200が、車載LANを介して車両制御システム300に接続され、車両制御システム300を構成する車両ECUなどの制御装置で実行されるソフトウェアをソフトウェア更新装置100から受信する。なお、ソフトウェア更新装置100は、移動体における既存のソフトウェアの更新用ソフトウェアの配信のみならず、移動体で実行される新たなソフトウェアを配信することもでき、ソフトウェア更新装置100は、移動体で実行され、移動体の制御に用いられるソフトウェアの配信管理を行う管理装置として位置付けられる。
<Software update via in-vehicle GW device 200>
In the present embodiment, the in-vehicle GW apparatus 200 is connected to the vehicle control system 300 via the in-vehicle LAN, and receives software executed by a control apparatus such as a vehicle ECU configuring the vehicle control system 300 from the software update apparatus 100. . The software update apparatus 100 can distribute not only software for updating existing software on a mobile body but also new software executed on the mobile body. The software update apparatus 100 can be executed on the mobile body. Therefore, it is positioned as a management device that performs distribution management of software used for control of a mobile object.

図4は、本実施形態のソフトウェア更新装置100の構成ブロックを示す図である。ソフトウェア更新装置100は、通信装置110、制御装置120及び記憶装置130を含んで構成されている。   FIG. 4 is a diagram illustrating a configuration block of the software update apparatus 100 according to the present embodiment. The software update device 100 includes a communication device 110, a control device 120, and a storage device 130.

通信装置110は、移動体の車載GW装置200との間のデータ通信及び接続を制御する。通信装置110は、車載GW装置200との間で、アクセスポイントを経由したWi−Fiなどの無線LAN規格に準拠する無線通信、及び基地局を中継した3GやLTE(LongTerm Evolution)などの携帯電話通信を行うことができる。ソフトウェア更新装置100は、移動体の車載GW装置200と、複数の通信経路で接続することができ、例えば、IP(InternetProtocol)網を通じて、更新ソフトウェアを、配信することができる。   The communication device 110 controls data communication and connection with the in-vehicle GW device 200 as a mobile object. The communication device 110 communicates with the in-vehicle GW device 200 according to wireless LAN standards such as Wi-Fi via an access point, and mobile phones such as 3G and LTE (Long Term Evolution) that relay base stations. Communication can be performed. The software update device 100 can be connected to the mobile in-vehicle GW device 200 through a plurality of communication paths. For example, the update software can be distributed through an IP (Internet Protocol) network.

制御装置120は、ソフトウェア管理部(SW管理部)121、鍵管理部122及びソフトウェア更新制御部(SW更新制御部)123を含んで構成されている。   The control device 120 includes a software management unit (SW management unit) 121, a key management unit 122, and a software update control unit (SW update control unit) 123.

本実施形態のソフトウェア更新システムは、複数の移動体を対象に、各移動体の制御に用いられるソフトウェアを配信する。図5は、複数の移動体に対するTree構造のソフトウェア管理情報の一例を示す図である。   The software update system according to the present embodiment distributes software used for controlling each mobile object to a plurality of mobile objects. FIG. 5 is a diagram illustrating an example of software management information having a tree structure for a plurality of moving objects.

図5に示すように、例えば、車両制御システムは、複数の制御システムで構成され、各制御システムでソフトウェアによるハードウェアの動作制御などが行われている。これらの制御システムは、例えば、異なる車種間で共通で用いられたり、車両の各年式で共通で用いられたりする。逆に、同じ車種間や同じ年式であっても異なることもある。   As shown in FIG. 5, for example, the vehicle control system includes a plurality of control systems, and hardware operation control by software is performed in each control system. These control systems are, for example, commonly used among different vehicle types or commonly used in each year of the vehicle. Conversely, there may be differences between the same model and the same model year.

したがって、車両制御システムの制御に用いられるソフトウェアは、複数の制御システム毎に使用されるソフトウェアの関連付けと、そのソフトウェアが適用される車両との関連付けとが必要となり、車両毎に適用されるソフトウェアの管理は、極めて複雑である。そこで、本実施形態では、図5の例のように、制御システム、制御システムに使用されるソフトウェア、ソフトウェアが適用される車種、年式、車体番号を各ノードとして、各ノードをTree構造で結び付けたグループ管理を行う。   Therefore, the software used for the control of the vehicle control system needs to be associated with the software used for each of the plurality of control systems and with the vehicle to which the software is applied. Management is extremely complex. Therefore, in this embodiment, as shown in the example of FIG. 5, the control system, the software used in the control system, the vehicle type to which the software is applied, the model year, and the vehicle body number are used as the nodes, and the nodes are connected in a tree structure. Group management.

SW管理部121は、複数の各移動体の属性(車種、年式、車体番号など)や各移動体の制御システムで使用される各ソフトウェアに関する情報の入力を受け付け、図5に示した各ノードの設定及び各ノードをTree構造で結び付けたグループ管理機能を提供する。Tree構造のソフトウェア管理情報は、記憶装置130に記憶される。また、SW管理部121は、Tree構造のソフトウェア管理情報の各ノードにおける更新用ソフトウェアの登録を受け付け、各ノードに関連付けて更新用ソフトウェアを記憶装置130に記憶する。   The SW management unit 121 receives input of attributes (vehicle type, model year, body number, etc.) of each of the plurality of moving objects and information regarding each software used in the control system of each moving object, and each node illustrated in FIG. And a group management function in which each node is linked by a tree structure. The software management information having a tree structure is stored in the storage device 130. In addition, the SW management unit 121 receives registration of update software in each node of the tree-structured software management information, and stores the update software in the storage device 130 in association with each node.

一方で、ソフトウェア管理を行う移動体の数が多くなると、ソフトウェアの配信制御も煩雑になる。例えば、セキュリティ上、各移動体それぞれに異なる秘密鍵を設定し、移動体に対して異なる秘密鍵でソフトウェアを暗号化して、対象の移動体それぞれに個別に配信する必要があった。また、車両は、例えば、年間で数万台、数十万台の車両が生産、販売されるため、各車両に一意の秘密鍵を割り当てて管理することは現実的ではない。特に、近年、車種や年式間でのソフトウェア共通化も進んでおり、毎年増え続ける膨大な車両数に対して効率的なソフトウェア管理が必要となる。   On the other hand, when the number of mobile units that perform software management increases, software distribution control also becomes complicated. For example, for security reasons, it is necessary to set a different secret key for each mobile unit, encrypt software with a different secret key for each mobile unit, and distribute it individually to each target mobile unit. In addition, for example, tens of thousands and hundreds of thousands of vehicles are produced and sold annually, so it is not realistic to assign and manage a unique secret key to each vehicle. In particular, in recent years, software sharing among vehicle types and model years is also progressing, and efficient software management is required for a huge number of vehicles that are increasing every year.

本実施形態では、Tree構造のソフトウェア管理情報の各ノードをグループ管理しつつ、グループ鍵暗号化方式を応用し、配信するソフトウェアを共通のグループ鍵を用いて暗号化して各移動体に送信する。図6は、グループ鍵暗号化方式に基づく移動体の固有鍵を説明するための図である。   In the present embodiment, while managing each node of the software management information having a tree structure, a group key encryption method is applied, and the software to be distributed is encrypted using a common group key and transmitted to each mobile unit. FIG. 6 is a diagram for explaining a unique key of a mobile object based on the group key encryption method.

鍵管理部122は、Tree構造のソフトウェア管理情報の各ノードに、ノード鍵を割り当てる。ノード鍵は、暗号鍵である。例えば、図4の例と対比して説明すると、エネルギー制御を上位ノードとして、バッテリ制御ソフトウェア、熱マネジメントソフトウェアがその下位ノードとして管理される。そこで、上位ノードにノード鍵「K0XXXX」を割り当て、その下位ノード「バッテリ制御ソフトウェア」にノード鍵「K00XXX」と、「熱マネジメントソフトウェア」にノード鍵「K01XXX」を割り当てる。   The key management unit 122 assigns a node key to each node of the tree-structured software management information. The node key is an encryption key. For example, in comparison with the example of FIG. 4, energy control is managed as an upper node, and battery control software and heat management software are managed as lower nodes. Therefore, the node key “K0XXX” is assigned to the upper node, the node key “K00XXX” is assigned to the lower node “battery control software”, and the node key “K01XXX” is assigned to the “thermal management software”.

また、ノード「バッテリ制御ソフトウェア」に対して下位ノードである複数の車種に対応するノード鍵「K000XX」、「K001XX」を割り当て、さらに車種の下位ノードである「年式」にノード鍵「K0000X」、「K0001X」を割り当てる。そして、最下位のノード、すなわち移動体を一意に識別する車体番号に対して「K00000」、「K00001」のノード鍵を割り当てる。   Further, node keys “K000XX” and “K001XX” corresponding to a plurality of vehicle types that are lower nodes are assigned to the node “battery control software”, and further, the node key “K0000X” is assigned to “year” that is a lower node of the vehicle type. , “K0001X” is assigned. Then, node keys of “K00000” and “K00001” are assigned to the lowest node, that is, the vehicle body number that uniquely identifies the moving object.

したがって、移動体は、固有鍵として、例えば、「K00000」、「K0000X」、「K000XX」、「K00XXX」、「K0XXXX」の5つの暗号鍵を保有することになる。鍵管理部122は、これらの暗号鍵を複合化して各移動体の固有鍵を生成し、登録・管理する。   Therefore, the mobile body holds, for example, five encryption keys of “K00000”, “K0000X”, “K000XX”, “K00XXX”, and “K0XXX” as unique keys. The key management unit 122 generates a unique key for each mobile body by decrypting these encryption keys, and registers and manages them.

図7は、グループ鍵暗号化方式に基づく移動体の固有鍵の登録処理を示すフローチャートである。SW管理部121は、上述した複数の移動体の属性(車種、年式、車体番号など)や制御システムで使用される各ソフトウェアに関する情報の入力を受け付け、各ノードの設定及び各ノードをTree構造で結び付けたTree構造のソフトウェア管理情報を生成し、記憶装置130に記憶する(S101)。   FIG. 7 is a flowchart showing the registration process of the unique key of the mobile based on the group key encryption method. The SW management unit 121 accepts input of information about each software used in the control system, such as the attributes of the plurality of moving objects (vehicle type, year, body number, etc.), and sets each node and sets each node to a tree structure. The software management information having the Tree structure linked in the above is generated and stored in the storage device 130 (S101).

鍵管理部122は、生成されたTree構造のソフトウェア管理情報の各ノードに、ノード鍵を割り当て(S102)、最上位のノードから最下位のノードまでの各ノード鍵を複合化して、移動体別の固有鍵を生成する(S103)。鍵管理部122は、生成された移動体の各固有鍵を記憶装置130に記憶すると共に(S104)、ソフトウェア更新装置100に登録された移動体の固有鍵を、各移動体(車載GW装置200)に送信する(S105)。   The key management unit 122 assigns a node key to each node of the generated software management information of the Tree structure (S102), combines each node key from the highest node to the lowest node, A unique key is generated (S103). The key management unit 122 stores the generated unique keys of the mobile objects in the storage device 130 (S104), and also stores the unique keys of the mobile objects registered in the software updating apparatus 100 in the respective mobile objects (the in-vehicle GW device 200). (S105).

各移動体が保有する固有鍵は、グループ鍵暗号方式に基づく複数のノード鍵を用いて生成され、ソフトウェア更新装置100と移動体との間で共有される。図8は、本実施形態の固有鍵によるソフトウェアの一斉更新を説明するための図である。図8に示すように、例えば、「バッテリ制御ソフトウェア」を更新する場合、SW更新制御部123は、ソフトウェア管理情報とノード鍵との対応関係から、「バッテリ制御ソフトウェア」のノード鍵「K00XXX」と、上位ノードのノード鍵「K0XXXX」とを抽出する。SW更新制御部123は、ノード鍵「K00XXX」とノード鍵「K0XXXX」とを複合化したグループ鍵を用いて配信するソフトウェアを暗号化し、「バッテリ制御ソフトウェア」の下位ノードに属する各移動体に配信する。   The unique key possessed by each mobile unit is generated using a plurality of node keys based on the group key encryption method, and is shared between the software updating apparatus 100 and the mobile unit. FIG. 8 is a diagram for explaining simultaneous update of software using a unique key according to the present embodiment. As illustrated in FIG. 8, for example, when “battery control software” is updated, the SW update control unit 123 determines the node key “K00XXX” of “battery control software” from the correspondence between the software management information and the node key. The node key “K0XXXX” of the upper node is extracted. The SW update control unit 123 encrypts software to be distributed using a group key in which the node key “K00XXX” and the node key “K0XXX” are combined, and distributes it to each mobile unit belonging to the lower node of “battery control software” To do.

移動体は、予め各ノード鍵を保有しているので、ソフトウェア更新装置100から受信した暗号化されたソフトウェアを、ノード鍵「K00XXX」とノード鍵「K0XXXX」とを複合化したグループ鍵で復号して平文に戻す。   Since the mobile body holds each node key in advance, the encrypted software received from the software updating apparatus 100 is decrypted with the group key obtained by decrypting the node key “K00XXX” and the node key “K0XXXX”. Return to plain text.

このように本実施形態では、「バッテリ制御ソフトウェア」を更新する場合、ノード鍵「K00XXX」を指定するだけで、下位のノード、すなわち、移動体を個別に指定することなく、セキュリティ性が確保されつつ、一斉に複数の移動体を対象としたソフトウェアの配信を行うことができる。   As described above, in the present embodiment, when updating the “battery control software”, it is possible to ensure the security without specifying the lower-level node, that is, the mobile unit, by simply specifying the node key “K00XXX”. However, it is possible to distribute software for a plurality of mobile objects all at once.

また、「バッテリ制御ソフトウェア」の更新を「車種A」だけに行いたい場合、SW更新制御部123は、ソフトウェア管理情報とノード鍵との対応関係から、「車種A」に対応するノード鍵「K000XX」をさらに含むグループ鍵「K000XX」、「K00XXX」、「K0XXXX」を用いて配信するソフトウェアを暗号化し、「車種A」の下位ノードに属する各移動体に配信することができる。   In addition, when updating the “battery control software” only for “car model A”, the SW update control unit 123 determines the node key “K000XX” corresponding to “car model A” from the correspondence between the software management information and the node key. Can be encrypted using group keys “K000XX”, “K00XXX”, and “K0XXX”, and distributed to each mobile unit belonging to the lower node of “car type A”.

次に、図9から図11を参照して、本実施形態のソフトウェア更新方法について説明する。本実施形態では、ソフトウェア更新装置100と移動体(車載GW装置200)との間で、ログファイルを共有し、両者を照合(マッチング)することで、移動体へのソフトウェア配信の確実性を向上させている。   Next, the software update method of this embodiment will be described with reference to FIGS. In this embodiment, the reliability of software distribution to the mobile body is improved by sharing the log file between the software updating apparatus 100 and the mobile body (vehicle-mounted GW apparatus 200) and collating them. I am letting.

図9は、配信側ログファイル及び移動体側ログファイルを使用したソフトウェアの配信制御を説明するための図である。まず、配信側ログファイルは、配信するソフトウェア毎に生成されるとともに、配信する対象である移動体の固有鍵(上位ノードのノード鍵を含む)が記録されている。そして、ソフトウェアを構成する複数のプログラムモジュール毎に、配信OK/NGがそれぞれ記録される。   FIG. 9 is a diagram for explaining software distribution control using the distribution-side log file and the mobile-side log file. First, the distribution-side log file is generated for each piece of software to be distributed, and the unique key (including the node key of the upper node) of the mobile object to be distributed is recorded. Distribution OK / NG is recorded for each of a plurality of program modules constituting the software.

移動体側ログファイルも同様の構成であり、移動体自身の固有鍵(上位ノードのノード鍵を含む)が記録されており、ソフトウェアを構成する複数のプログラムモジュール毎に、受信OK/NGがそれぞれ記録される。ソフトウェア更新装置100と移動体とは、同じログファイルをそれぞれ保有している。配信OK/NGを示す配信履歴は、受信OK/NGを示す受信履歴と対応しており、配信履歴は、ソフトウェア更新装置100からソフトウェアを配信しただけでは、配信NGから配信OKには変わらず、あくまでも移動体側の受信履歴(受信した実績)に基づいて配信NGから配信OKに遷移する。   The mobile unit log file has the same configuration, in which the mobile unit's own key (including the node key of the upper node) is recorded, and the received OK / NG is recorded for each of a plurality of program modules constituting the software. Is done. The software update device 100 and the mobile unit each have the same log file. The distribution history indicating distribution OK / NG corresponds to the reception history indicating reception OK / NG, and the distribution history does not change from distribution NG to distribution OK just by distributing software from the software update device 100. Transition from distribution NG to distribution OK is based solely on the reception history (received record) on the mobile unit side.

なお、本実施形態では、ソフトウェアが複数のプログラムモジュールで構成されている例について説明しているがこれに限らず、例えば、ソフトウェアを複数に分割して配信する態様も含まれる。また、複数のプログラムモジュールで構成されたソフトウェアにおいて、任意のプログラムモジュールを配信したり、1つのプログラムモジュールだけを配信したりすることもできる。   In the present embodiment, an example in which software is configured by a plurality of program modules has been described. However, the present invention is not limited to this, and includes, for example, a mode in which software is divided into a plurality of distributions. Further, in software composed of a plurality of program modules, an arbitrary program module can be distributed, or only one program module can be distributed.

図10は、車載GW装置200を介したソフトウェア更新処理を示すフローチャートである。車載GW装置200は、移動体の起動、例えば、車両のイグニッションスイッチがオンされたとき、起動信号をソフトウェア更新装置100に送信する(S301)。ソフトウェア更新装置100は、車載GW装置200から起動信号を受信すると(S111のYES)、移動体の固定鍵に関連する配信側ログファイルをチェックする(S112)。   FIG. 10 is a flowchart showing software update processing via the in-vehicle GW apparatus 200. The in-vehicle GW apparatus 200 transmits an activation signal to the software updating apparatus 100 when the moving body is activated, for example, when an ignition switch of the vehicle is turned on (S301). When receiving the activation signal from the in-vehicle GW device 200 (YES in S111), the software update device 100 checks the distribution-side log file related to the fixed key of the mobile object (S112).

例えば、移動体の固定鍵と車載GW装置200との対応関係を予め記憶装置130に記憶しておくことができる。SW更新制御部123は、車載GW装置200から送信される起動信号に含まれる車載GW装置200のMACアドレスや車体番号を用いて、移動体を特定し、該当する配信側ログファイルを抽出することができる。つまり、移動体(車載GW装置200)、配信側ログファイル及び固定鍵は、互いに関連付けられている。   For example, the correspondence between the fixed key of the mobile object and the in-vehicle GW apparatus 200 can be stored in the storage device 130 in advance. The SW update control unit 123 uses the MAC address and the vehicle body number of the in-vehicle GW device 200 included in the activation signal transmitted from the in-vehicle GW device 200 to identify the moving body and extract the corresponding distribution side log file. Can do. That is, the mobile body (vehicle-mounted GW apparatus 200), the distribution-side log file, and the fixed key are associated with each other.

SW更新制御部123は、抽出された配信側ログファイルを参照し、ログファイル内に配信NGが記憶されているか否かをチェックする(S112)。配信が完了した配信側ログファイルは、各プログラムモジュールの配信履歴が全て配信OKとなっている。配信側ログファイル内に配信NGが記録されていない場合、配信NGのプログラムモジュールがないと判断し(S113)、新たに更新する更新用ソフトウェアが登録されているか否かを判別する(S114)。   The SW update control unit 123 refers to the extracted delivery-side log file and checks whether or not the delivery NG is stored in the log file (S112). The distribution log file for which distribution has been completed has the distribution OK for each program module. If no distribution NG is recorded in the distribution-side log file, it is determined that there is no program module for distribution NG (S113), and it is determined whether update software to be newly updated is registered (S114).

例えば、SW管理部121は、更新用ソフトウェアの登録を受け付けるが、このとき、配信前の更新用ソフトウェアの更新フラグを「未配信」に設定することができる。SW更新制御部123は、更新フラグを参照して、新たに更新するソフトウェアが登録されていると判別した場合(S114のYES)、更新するソフトウェアに関連する配信側ログファイルを生成して、記憶装置130に記憶する(S115)。   For example, the SW management unit 121 accepts registration of update software. At this time, the update flag of the update software before distribution can be set to “undistributed”. When the SW update control unit 123 refers to the update flag and determines that the software to be newly updated is registered (YES in S114), the SW update control unit 123 generates and stores a distribution-side log file related to the software to be updated. It memorize | stores in the apparatus 130 (S115).

図9に示すように、更新用ソフトウェアに対し、更新用ソフトウェアとそのプログラムモジュール群との組み合わせを含む更新ソフトウェア情報が登録される。SW更新制御部123は、更新ソフトウェア情報を参照し、例えば、更新するソフトウェアAのプログラムモジュール群を羅列した配信側ログファイルを生成することができる。このとき、各プログラムモジュールそれぞれに配信OK/NGの記録領域が設定され、初めて配信されるソフトウェアのログファイルでは、全てのプログラムモジュールに対して、「配信NG」がデフォルトで書き込まれる。   As shown in FIG. 9, update software information including a combination of the update software and its program module group is registered for the update software. The SW update control unit 123 can generate the distribution-side log file listing the program module groups of the software A to be updated with reference to the updated software information, for example. At this time, a distribution OK / NG recording area is set for each program module, and in the software log file distributed for the first time, “distribution NG” is written to all program modules by default.

配信前の更新用ソフトウェアの更新フラグは「未配信」に設定され、「未配信」の更新フラグを有する更新用ソフトウェアに対して配信側ログファイルが生成された時点で、更新フラグは、「配信中」となり、車載GW装置200から送信される受信履歴によって配信側ログファイルの配信履歴が全て配信OKとなった時点で、更新フラグは「配信済」となる。これらのフラグ制御は、SW管理部121又はSW更新制御部123によって行われる。   The update flag of the update software before distribution is set to “undistributed”, and when the distribution side log file is generated for the update software having the update flag of “undistributed”, the update flag is set to “distributed” The update flag becomes “distributed” when the distribution history of the distribution side log file is all distributed according to the reception history transmitted from the in-vehicle GW apparatus 200. These flag controls are performed by the SW management unit 121 or the SW update control unit 123.

SW更新制御部123は、ソフトウェア管理情報とノード鍵との対応関係から、新たに登録されたソフトウェアのグループ鍵を生成して、配信するソフトウェアを暗号化する(S116)。SW更新制御部123は、配信するソフトウェアが複数のプログラムモジュールで構成されている場合、各プログラムモジュールを個別に暗号化して、順次プログラムモジュールを配信することができる。   The SW update control unit 123 generates a group key for newly registered software from the correspondence between the software management information and the node key, and encrypts the software to be distributed (S116). When the software to be distributed is composed of a plurality of program modules, the SW update control unit 123 can individually encrypt the program modules and sequentially distribute the program modules.

なお、複数のプログラムモジュールの配信順は、任意であり、予め決められた順序で配信してもよい。また、1つプログラムモジュールが移動体側で受信されたことを確認した後(受信OKを受信した後)に、次のプログラムモジュールを配信するように構成してもよい。また、プログラムモジュールが移動体側で受信されたことを確認せずに、各プログラムモジュールを順次配信してもよい。この場合であっても、車載GW装置200は、受信した各プログラムモジュール別に受信履歴を移動体側ログファイルに記録するとともに、受信履歴をソフトウェア更新装置100に送信する。   The distribution order of the plurality of program modules is arbitrary, and may be distributed in a predetermined order. Further, after confirming that one program module is received on the mobile unit side (after receiving the reception OK), the next program module may be distributed. Alternatively, each program module may be distributed in sequence without confirming that the program module has been received on the mobile unit side. Even in this case, the in-vehicle GW device 200 records the reception history for each received program module in the moving body side log file and transmits the reception history to the software update device 100.

次に、移動体側では、車載GW装置200が、更新用ソフトウェアの各プログラムモジュールを受信する。このとき、車載GW装置200のソフトウェア更新管理部224は、予め記憶部225に記憶されている固有鍵を用いて、暗号化されたプログラムモジュールを平文に戻す。つまり、移動体側で固有鍵を用いた鍵認証を行う(S302)。このとき、例えば、公開鍵暗号方式のデジタル署名により、送信元であるソフトウェア更新装置100を認証するように構成することもできる。   Next, on the mobile body side, the in-vehicle GW apparatus 200 receives each program module of the update software. At this time, the software update management unit 224 of the in-vehicle GW apparatus 200 returns the encrypted program module to plain text using the unique key stored in the storage unit 225 in advance. That is, key authentication using a unique key is performed on the mobile body side (S302). At this time, for example, the software update apparatus 100 that is a transmission source can be authenticated by a digital signature of a public key cryptosystem.

ソフトウェア更新管理部224は、固有鍵を用いて平文に戻したプログラムモジュールを記憶部225に記憶する受信処理を行うと共に(S303)、移動体側ログファイルを生成する(S304)。なお、受信したプログラムモジュールは、記憶部225ではなく、車両制御システム300に設けられた所定の記憶領域に記憶されてもよい。   The software update management unit 224 performs reception processing for storing the program module returned to plain text using the unique key in the storage unit 225 (S303), and generates a mobile log file (S304). The received program module may be stored in a predetermined storage area provided in the vehicle control system 300 instead of the storage unit 225.

例えば、新たに更新されるソフトウェアを配信するとき、ソフトウェア更新装置100は、新たな更新用ソフトウェアを表すフラグ等を含ませて配信することができる。この場合、ソフトウェア更新管理部224は、更新用ソフトウェアに関連する上述した移動体側ログファイルを新たに生成する。また、更新用ソフトウェアと移動体側ログファイルは、互いに関連付いているので、ソフトウェア更新管理部224が、既に生成された移動体側ログファイルを検索して、受信した更新用ソフトウェアに関連する移動体側ログファイルがあるか否かを判別することができる。該当する移動体側ログファイルがないと判別された場合に、新たに移動体側ログファイルを生成することもできる。   For example, when software that is to be newly updated is distributed, the software update device 100 can distribute the software by including a flag that represents new software for update. In this case, the software update management unit 224 newly generates the above-described mobile-side log file related to the update software. In addition, since the update software and the mobile log file are associated with each other, the software update management unit 224 searches the mobile log file already generated, and the mobile log related to the received update software. It is possible to determine whether or not a file exists. When it is determined that there is no corresponding mobile-side log file, a new mobile-side log file can be generated.

また、移動体側で一度も受信していない更新用ソフトウェアに対応する移動体側ログファイルは、ソフトウェア更新装置100から提供することもできる。つまり、ソフトウェア更新装置100は、配信に伴って配信側ログファイル(全てのログが配信NGであるログファイル)を生成しており、このログファイルを移動体に送信することで、移動体側ログファイルとしてそのまま利用することができる。   In addition, a mobile log file corresponding to update software that has never been received on the mobile side can be provided from the software update device 100. That is, the software update apparatus 100 generates a distribution-side log file (a log file in which all logs are distribution NG) along with distribution, and transmits the log file to the mobile unit, thereby moving the mobile-side log file. Can be used as is.

また、SW更新制御部123は、配信側ログファイルを生成する際に参照した更新ソフトウェア情報を、移動体に配信することもできる。この場合、ソフトウェア更新管理部224が、配信側ログファイルと同様に、初めて配信されるソフトウェアのログファイルなので、全てのプログラムモジュールに対して「配信NG」がデフォルトで書き込まれた移動体側ログファイルを生成することができる。   The SW update control unit 123 can also distribute the updated software information referred to when generating the distribution-side log file to the mobile body. In this case, the software update management unit 224 is the log file of the software that is distributed for the first time in the same way as the distribution-side log file. Therefore, the mobile-side log file in which “distribution NG” is written by default for all program modules is stored. Can be generated.

そして、ソフトウェア更新管理部224は、受信されるプログラムモジュール毎に、受信OK/NGを移動体側ログファイルに記録する(S305)。ソフトウェア更新管理部224は、移動体側ログファイルに記録される受信履歴(受信OK/NG)を、ソフトウェア更新装置100に送信する(S306)。ソフトウェア更新装置100は、車載GW装置200から受信履歴を受信し、該当するプログラムモジュール毎に配信側ログファイルに配信OK/NGを記録する(S118)。本実施形態では、車載GW装置200から受信履歴を受信しない限り、配信側ログファイルの配信履歴は、「配信OK」に遷移しない。   Then, the software update management unit 224 records the received OK / NG in the mobile unit side log file for each received program module (S305). The software update management unit 224 transmits the reception history (reception OK / NG) recorded in the mobile log file to the software update device 100 (S306). The software update device 100 receives the reception history from the in-vehicle GW device 200, and records distribution OK / NG in the distribution-side log file for each corresponding program module (S118). In the present embodiment, unless a reception history is received from the in-vehicle GW device 200, the distribution history of the distribution side log file does not transition to “distribution OK”.

ソフトウェア更新装置100は、配信処理が終了するまでステップS117,S118を繰り返し行う(S119)。また、車載GW装置200でも同様に、受信処理が終了するまでステップS302からステップS306を繰り返し行う(S307)。なお、配信処理の終了及び受信処理の終了には、通信経路の遮断による配信中断も含まれる。   The software update device 100 repeats steps S117 and S118 until the distribution process is completed (S119). Similarly, the in-vehicle GW apparatus 200 repeats steps S302 to S306 until the reception process is completed (S307). Note that the end of the distribution process and the end of the reception process include a distribution interruption due to interruption of the communication path.

ソフトウェア更新管理部224は、受信処理が終了した後、移動体側ログファイルを参照して、全てのプログラムモジュールが「受信OK」であるか否かを判別する(S308)。ソフトウェア更新管理部224は、全てのプログラムモジュールが「受信OK」である移動体側ログファイルに該当するソフトウェアの更新を許可する。具体的には、ソフトウェア更新管理部224は、記憶部225に記憶されたソフトウェアを車両制御システム300に出力するとともに、ソフトウェア更新指示を出力する(S309)。車両制御システム300は、例えば、車両全体を制御する車両ECUが、所定のタイミング又はリアルタイムに、ソフトウェア更新を実行する。ソフトウェア更新の実行結果(更新OK/NG)は、車両制御システム300からソフトウェア更新管理部224に出力される。ソフトウェア更新管理部224は、ソフトウェア更新の実行結果(更新OK/NG)をソフトウェア更新管理装置100に送信することができる。   After completing the reception process, the software update management unit 224 refers to the mobile-side log file and determines whether all the program modules are “reception OK” (S308). The software update management unit 224 permits the update of the software corresponding to the moving body side log file in which all the program modules are “reception OK”. Specifically, the software update management unit 224 outputs the software stored in the storage unit 225 to the vehicle control system 300 and outputs a software update instruction (S309). In the vehicle control system 300, for example, a vehicle ECU that controls the entire vehicle executes software update at a predetermined timing or in real time. The execution result (update OK / NG) of the software update is output from the vehicle control system 300 to the software update management unit 224. The software update management unit 224 can transmit a software update execution result (update OK / NG) to the software update management apparatus 100.

図11は、車載GW装置200を介したソフトウェア更新処理を示すフローチャートであり、図10のステップS113で更新用ソフトウェアの配信が未完の状態で終了した後の差分更新処理を示す図である。配信が未完の状態とは、配信側ログファイルが生成されて更新用ソフトウェアの配信が行われたものの(更新フラグが「配信中」)、配信側ログファイルの配信履歴に配信NGが少なくとも1つ含まれている状態である。   FIG. 11 is a flowchart showing the software update process via the in-vehicle GW apparatus 200, and shows the difference update process after the distribution of the update software is ended in an unfinished state in step S113 of FIG. The distribution incomplete state means that the distribution side log file is generated and the update software is distributed (the update flag is “distributing”), but at least one distribution NG is included in the distribution log of the distribution side log file. It is included.

図11の例は、更新用ソフトウェアの配信中に途中で通信が遮断されたり、データ容量や配信タイミングの関係から、ソフトウェアの各プログラムモジュールの全て又は一部が移動体側で受信されたか否かが不明なプログラムモジュールを差分配信する処理である。   In the example of FIG. 11, whether or not all the program modules of the software have been received on the mobile unit side due to the relationship between the data capacity and the distribution timing is interrupted during the distribution of the update software. This is a process of differentially distributing an unknown program module.

SW更新制御部123は、ステップS113において、作成済の配信側ログファイル内に配信NGが記録されていると判別された場合、車載GW装置200に、移動体側ログファイルをソフトウェア更新装置100に送信する送信要求を出力する(S121)。車載GW装置200は、送信要求に基づいて、該当する移動体側ログファイルをソフトウェア更新装置100に送信する(S321)。   If the SW update control unit 123 determines in step S113 that the delivery NG is recorded in the created delivery side log file, the SW update control unit 123 transmits the mobile body side log file to the software update device 100 to the in-vehicle GW device 200. The transmission request to be output is output (S121). The in-vehicle GW apparatus 200 transmits the corresponding mobile body side log file to the software update apparatus 100 based on the transmission request (S321).

SW更新制御部123は、車載GW装置200から受信した移動体側ログファイルと、配信側ログファイルとを照合し、プログラムモジュール毎に配信履歴のOK/NGと受信履歴のOK/NGとをマッチングする(S122)。SW更新制御部123は、配信履歴と受信履歴とで、OK/NGの不一致であるプログラムモジュールが1つでもある場合(S123のYES)、ログファイルの書き換え処理を行う。   The SW update control unit 123 compares the mobile-side log file received from the in-vehicle GW apparatus 200 with the distribution-side log file, and matches OK / NG of the distribution history and OK / NG of the reception history for each program module. (S122). The SW update control unit 123 performs a log file rewrite process when there is even one program module that does not match OK / NG in the distribution history and the reception history (YES in S123).

SW更新制御部123は、車載GW装置200に、移動体側ログファイルの破棄要求を車載GW装置200に送信する(S124)。車載GW装置200は、ソフトウェア更新装置100から受信したログファイルの破棄要求に基づいて、保存されていた移動体側ログファイルを破棄(削除)する(S323)。   The SW update control unit 123 transmits a request for discarding the moving body side log file to the in-vehicle GW apparatus 200 to the in-vehicle GW apparatus 200 (S124). The in-vehicle GW apparatus 200 discards (deletes) the stored mobile-side log file based on the log file discard request received from the software updating apparatus 100 (S323).

SW更新制御部123は、配信側ログファイルの配信履歴において、配信履歴と受信履歴とでOK/NGの不一致のプログラムモジュール特定し(S125)、不一致のログ全てを配信NGに書き換える(S126)。SW更新制御部123は、配信側ログファイルの書き換えと共に、ログファイルの内容を書き換えた配信側ログファイルと同一の移動体側ログファイルを生成して、車載GW装置200に送信する(S127)。車載GW装置200は、配信側ログファイルと同一の内容のログファイルをソフトウェア更新装置100から受信して、移動体側ログファイルとして記憶部225に記憶する(S324)。   In the distribution history of the distribution log file, the SW update control unit 123 specifies an OK / NG mismatch program module in the distribution history and the reception history (S125), and rewrites all the mismatched logs into the distribution NG (S126). The SW update control unit 123 rewrites the distribution-side log file, generates the same mobile-side log file as the distribution-side log file whose content has been rewritten, and transmits it to the in-vehicle GW apparatus 200 (S127). The in-vehicle GW apparatus 200 receives the log file having the same content as the distribution side log file from the software update apparatus 100 and stores it in the storage unit 225 as the mobile body side log file (S324).

つまり、本実施形態では、配信側ログファイルと移動体側ログファイルのログ内容に不一致が生じている場合、不一致のプログラムモジュールに対する配信側ログファイルの配信履歴と移動体側ログファイルの受信履歴の双方をNGに書き換え、プログラムモジュールを再送するように制御する。例えば、移動体側ログファイルの受信履歴が受信OKであっても、配信側ログファイルの配信履歴が配信NGの場合や、配信側ログファイルの配信履歴が配信OKであっても、移動体側ログファイルの受信履歴が受信NGの場合、ログファイルの内容を一度リセットし(NGに書き換え)、再送処理を行うようにしている。   That is, in this embodiment, when there is a mismatch between the log contents of the distribution side log file and the mobile unit log file, both the distribution log of the distribution side log file and the reception history of the mobile unit log file for the mismatched program module are displayed. Rewrite to NG and control to resend the program module. For example, even if the reception history of the mobile log file is reception OK, the distribution log of the distribution log file is NG, or the distribution log of the distribution log file is distribution OK. If the reception history of NG is reception NG, the contents of the log file are reset once (rewritten to NG), and retransmission processing is performed.

このように構成することで、ソフトウェアの更新を確実に行うための環境を実現することができる。移動体は、通信環境が変化するため、通信が途中で切断されたりする。つまり、更新用ソフトウェアが移動体側で一括して受信できればよいが、通信環境の変化により、更新用ソフトウェア(プログラムモジュール)全体が完全に受信できないことがある。このような場合、配信側のソフトウェア更新装置100で管理される配信結果だけでは、移動体側の受信状況を把握できず、更新用ソフトウェアに欠損が生ずるおそれがある。   With this configuration, it is possible to realize an environment for reliably updating software. Since the communication environment of the mobile object changes, communication is cut off in the middle. That is, it is sufficient that the update software can be received collectively on the mobile unit side, but the entire update software (program module) may not be completely received due to a change in the communication environment. In such a case, only the distribution result managed by the software update apparatus 100 on the distribution side cannot grasp the reception state on the mobile unit side, and there is a possibility that the update software may be lost.

そこで、本実施形態のソフトウェア更新方法は、配信側ログファイルと移動体側ログファイルの双方で配信履歴及び受信履歴を管理し、更新用ソフトウェアの配信が何らかの理由で中断した場合、互いのログファイルを照合して、履歴が不一致なプログラムモジュールについて配信履歴及び受信履歴をNGに書き換えてリセットし、再送するように制御する。   Therefore, the software update method of this embodiment manages the distribution history and the reception history in both the distribution side log file and the mobile side log file, and when the distribution of the update software is interrupted for some reason, Control is performed so that the distribution history and reception history are rewritten to NG and reset for program modules whose histories do not match and are retransmitted.

このように構成することで、移動体に確実に更新用ソフトウェアを配信することができ、移動体側ログファイルを参照して、全てのプログラムモジュールが「受信OK」であるとき、該当するソフトウェアの更新を許可するので、ソフトウェアの更新を確実に行うことができる。   With this configuration, the update software can be reliably distributed to the mobile unit, and when all program modules are “receive OK” with reference to the mobile unit side log file, the corresponding software is updated. The software can be surely updated.

一方、ステップS123において、SW更新制御部123は、配信履歴と受信履歴とで、OK/NGの不一致が一つもないと判別された場合、配信側ログファイルを参照して、配信NGのプログラムモジュールを抽出する。その後、ソフトウェア更新装置100は、ステップS116以降の処理を行い、グループ鍵に基づく暗号化、配信、車載GW装置200から受信した受信履歴のログ記録処理を順次行う。車載GW装置200も同様に、ステップS302以降の処理を順次行い、受信履歴のログ記録処理、ログ記録をソフトウェア更新装置100に送信する処理等を順次行う。なお、図11の例は差分更新処理なので、ステップS304は省略される。また、再送されたプログラムモジュールが重複する場合、ソフトウェア更新管理部224は、上書きして保存することができる。   On the other hand, in step S123, if it is determined that there is no OK / NG mismatch between the distribution history and the reception history, the SW update control unit 123 refers to the distribution-side log file and determines the program module of the distribution NG. To extract. Thereafter, the software update device 100 performs the processing from step S116 onward, and sequentially performs encryption, distribution based on the group key, and log recording processing of the reception history received from the in-vehicle GW device 200. Similarly, the in-vehicle GW apparatus 200 sequentially performs the processes from step S302 onward, and sequentially performs a reception history log recording process, a process of transmitting log records to the software update apparatus 100, and the like. Since the example of FIG. 11 is a difference update process, step S304 is omitted. If the retransmitted program module is duplicated, the software update management unit 224 can overwrite and save it.

以上、本実施形態について説明したが、車載ゲートウェイ装置200は、車載ゲートウェイシステムとして構成することができる。例えば、通信デバイス210及び制御デバイス220を個別の装置として構成し、これらを相互に接続した車載ゲートウェイシステムとして構成することができる。また、同様に、制御デバイス220の各機能部も、適宜個別の処理装置として構成して、車載ゲートウェイシステムとして構成することもできる。   Although the present embodiment has been described above, the in-vehicle gateway device 200 can be configured as an in-vehicle gateway system. For example, the communication device 210 and the control device 220 can be configured as individual devices, and can be configured as an in-vehicle gateway system in which these are connected to each other. Similarly, each functional unit of the control device 220 can be appropriately configured as an individual processing device and configured as an in-vehicle gateway system.

また、ソフトウェア更新装置100及び車載ゲートウェイ装置200の制御デバイス220の各機能は、プログラムによって実現可能であり、各機能を実現するために予め用意されたコンピュータプログラムが補助記憶装置に格納され、CPU等の制御部が補助記憶装置に格納されたプログラムを主記憶装置に読み出し、主記憶装置に読み出された該プログラムを制御部が実行することで、各部の機能を動作させることができる。   Each function of the software update device 100 and the control device 220 of the in-vehicle gateway device 200 can be realized by a program. A computer program prepared in advance for realizing each function is stored in the auxiliary storage device, and the CPU or the like. The control unit reads the program stored in the auxiliary storage device to the main storage device, and the control unit executes the program read to the main storage device, thereby enabling the functions of the respective units to operate.

また、上記プログラムは、コンピュータ読取可能な記録媒体に記録された状態で、車載GW装置200に提供することも可能である。コンピュータ読取可能な記録媒体としては、CD−ROM等の光ディスク、DVD−ROM等の相変化型光ディスク、MO(Magnet Optical)やMD(Mini Disk)などの光磁気ディスク、フロッピー(登録商標)ディスクやリムーバブルハードディスクなどの磁気ディスク、コンパクトフラッシュ(登録商標)、スマートメディア、SDメモリカード、メモリスティック等のメモリカードが挙げられる。また、本発明の目的のために特別に設計されて構成された集積回路(ICチップ等)等のハードウェア装置も記録媒体として含まれる。また、通信デバイス210を介して車外ネットワークから車載GW装置200に各部を実現するためのプログラムを提供し、インストールさせることもできる。   Further, the program can be provided to the in-vehicle GW apparatus 200 in a state where the program is recorded on a computer-readable recording medium. Computer-readable recording media include optical disks such as CD-ROM, phase change optical disks such as DVD-ROM, magneto-optical disks such as MO (Magnet Optical) and MD (Mini Disk), floppy (registered trademark) disks, Examples include magnetic disks such as removable hard disks, memory cards such as compact flash (registered trademark), smart media, SD memory cards, and memory sticks. A hardware device such as an integrated circuit (IC chip or the like) specially designed and configured for the purpose of the present invention is also included as a recording medium. In addition, a program for realizing each unit from the network outside the vehicle to the in-vehicle GW apparatus 200 can be provided and installed via the communication device 210.

なお、本発明の実施形態を説明したが、当該実施形態は、例として提示したものであり、発明の範囲を限定することは意図していない。この新規な実施形態は、その他の様々な形態で実施されることが可能であり、発明の要旨を逸脱しない範囲で、種々の省略、置き換え、変更を行うことができる。これら実施形態やその変形は、発明の範囲や要旨に含まれるとともに、特許請求の範囲に記載された発明とその均等の範囲に含まれる。   In addition, although embodiment of this invention was described, the said embodiment is shown as an example and is not intending limiting the range of invention. The novel embodiment can be implemented in various other forms, and various omissions, replacements, and changes can be made without departing from the scope of the invention. These embodiments and modifications thereof are included in the scope and gist of the invention, and are included in the invention described in the claims and the equivalents thereof.

100 ソフトウェア更新装置
110 通信装置
120 制御装置
121 ソフトウェア管理部(SW管理部)
122 鍵管理部
123 ソフトウェア更新制御部(SW更新制御部)
200 車載ゲートウェイ装置(車載GW装置)
210 通信デバイス
211 車内通信インターフェース
212 車外通信インターフェース
220 制御デバイス
221 車内通信制御部
222 車外通信制御部
223 ゲートウェイ制御部(GW制御部)
223A ネットワーク制御部
2231 ルーティング制御部
2232 プロトコル変換部
2233 セキュリティ部
223B 通信制御部
2234 通信状態監視部
2235 通信経路選択部
2236 監視制御部
2237 Config設定制御部
224 ソフトウェア更新管理部
225 記憶部
300 車両制御システム
DESCRIPTION OF SYMBOLS 100 Software update apparatus 110 Communication apparatus 120 Control apparatus 121 Software management part (SW management part)
122 Key management unit 123 Software update control unit (SW update control unit)
200 In-vehicle gateway device (in-vehicle GW device)
210 Communication device 211 In-vehicle communication interface 212 In-vehicle communication interface 220 Control device 221 In-vehicle communication control unit 222 In-vehicle communication control unit 223 Gateway control unit (GW control unit)
223A Network control unit 2231 Routing control unit 2232 Protocol conversion unit 2233 Security unit 223B Communication control unit 2234 Communication state monitoring unit 2235 Communication path selection unit 2236 Monitoring control unit 2237 Config setting control unit 224 Software update management unit 225 Storage unit 300 Vehicle control system

Claims (3)

移動体を制御するための所定のシステムで実行されるソフトウェアを更新するソフトウェア更新システムであって、
移動体内に設けられ、前記所定のシステムと接続される車載ゲートウェイ装置と、ネットワークを介して前記車載ゲートウェイ装置に接続されるソフトウェア更新装置と、を含み、
前記ソフトウェア更新装置は、
前記車載ゲートウェイ装置に配信するソフトウェアに関連する配信側ログ情報に基づいて、前記ソフトウェアを前記車載ゲートウェイ装置に配信する配信制御を行うソフトウェア更新制御部を有し、
前記車載ゲートウェイ装置は、
前記ソフトウェアの受信結果が記録される移動体側ログ情報を前記ソフトウェア更新装置に送信するソフトウェア更新管理部を有し、
前記ソフトウェア更新制御部は、
前記移動体側ログ情報と前記配信側ログ情報とをマッチングしてログ情報が不一致であると判別された場合に、前記配信側ログ情報のログ情報を更新するとともに、前記車載ゲートウェイ装置に対して、前記移動体側ログ情報においてログ情報を更新するように制御し、
ログ情報の不一致によって更新された前記配信側ログ情報に基づいて、前記ソフトウェアを前記車載ゲートウェイ装置に再配信することを特徴とするソフトウェア更新システム。
A software update system for updating software executed in a predetermined system for controlling a mobile body,
An in-vehicle gateway device provided in a mobile body and connected to the predetermined system; and a software update device connected to the in-vehicle gateway device via a network;
The software update device includes:
Based on distribution-side log information related to software distributed to the in-vehicle gateway device, the software update control unit for performing distribution control to distribute the software to the in-vehicle gateway device,
The in-vehicle gateway device is
A software update management unit for transmitting mobile side log information in which the reception result of the software is recorded to the software update device;
The software update control unit
When the mobile body side log information and the distribution side log information are matched and it is determined that the log information does not match, the log information of the distribution side log information is updated, and for the in-vehicle gateway device, Control to update the log information in the mobile log information,
A software update system, wherein the software is redistributed to the in-vehicle gateway device based on the distribution-side log information updated due to mismatch of log information.
前記ソフトウェアは、複数のプログラムモジュールで構成され、
前記ソフトウェア更新制御部は、前記複数のプログラムモジュールそれぞれを前記車載ゲートウェイ装置に配信するとともに、前記車載ゲートウェイ装置から前記複数のプログラムモジュールそれぞれの受信OK又は受信NGを受信して、前記配信側ログ情報に記録し、
前記ソフトウェア更新管理部は、
前記ソフトウェア更新装置から配信される前記複数のプログラムモジュールそれぞれの受信OK又は受信NGを前記移動体側ログ情報に記録し、
前記ソフトウェア更新制御部は、
前記移動体側ログ情報と前記配信側ログ情報とをマッチングして、少なくとも1つの前記プログラムモジュールのログ情報の受信OK又は受信NGが不一致であると判別された場合に、前記車載ゲートウェイ装置に、前記移動体側ログ情報を破棄させるための破棄要求を伝送し、
不一致と判別された前記プログラムモジュールのログ情報を受信NGに書き換えて更新された前記配信側ログ情報とログ内容を同期させた前記移動体側ログ情報を生成して、前記車載ゲートウェイ装置に送信することを特徴とする請求項1に記載のソフトウェア更新システム。
The software is composed of a plurality of program modules,
The software update control unit distributes each of the plurality of program modules to the in-vehicle gateway device, receives reception OK or reception NG of each of the plurality of program modules from the in-vehicle gateway device, and distributes the log information on the distribution side Recorded in
The software update management unit
Record the reception OK or reception NG of each of the plurality of program modules distributed from the software update device in the mobile body side log information,
The software update control unit
When the mobile body side log information and the delivery side log information are matched and it is determined that the reception OK or the reception NG of the log information of at least one of the program modules is inconsistent, Transmit the discard request to discard the mobile log information,
Regenerating the log information of the program module determined to be inconsistent with reception NG and generating the mobile side log information in which the log content is synchronized with the distribution side log information and transmitting it to the in-vehicle gateway device The software update system according to claim 1.
前記ソフトウェア更新管理部は、前記移動体側ログ情報を参照して、前記ソフトウェアの受信履歴が受信OKである場合に、前記所定のシステムに対する前記ソフトウェアの更新を許可することを特徴とする請求項1又は2に記載のソフトウェア更新システム。   The software update management unit refers to the mobile side log information and permits the software update to the predetermined system when the reception history of the software is reception OK. Or the software update system according to 2;
JP2019083942A 2019-04-25 2019-04-25 Mobile software update system using in-vehicle gateway device Active JP6702581B2 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2019083942A JP6702581B2 (en) 2019-04-25 2019-04-25 Mobile software update system using in-vehicle gateway device

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2019083942A JP6702581B2 (en) 2019-04-25 2019-04-25 Mobile software update system using in-vehicle gateway device

Related Parent Applications (1)

Application Number Title Priority Date Filing Date
JP2018506621A Division JP6526906B2 (en) 2016-10-28 2016-10-28 Mobile Software Update System Using In-Vehicle Gateway Device

Publications (2)

Publication Number Publication Date
JP2019164809A true JP2019164809A (en) 2019-09-26
JP6702581B2 JP6702581B2 (en) 2020-06-03

Family

ID=68064615

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2019083942A Active JP6702581B2 (en) 2019-04-25 2019-04-25 Mobile software update system using in-vehicle gateway device

Country Status (1)

Country Link
JP (1) JP6702581B2 (en)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2021056804A (en) * 2019-09-30 2021-04-08 トヨタ自動車株式会社 Relay device and external device
WO2023085050A1 (en) * 2021-11-09 2023-05-19 株式会社オートネットワーク技術研究所 Management device, management system, management method, and computer program

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2010273181A (en) * 2009-05-22 2010-12-02 Denso Corp In-vehicle device management system
JP2013069005A (en) * 2011-09-21 2013-04-18 Hitachi Automotive Systems Ltd Electronic control device for automobile

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2010273181A (en) * 2009-05-22 2010-12-02 Denso Corp In-vehicle device management system
JP2013069005A (en) * 2011-09-21 2013-04-18 Hitachi Automotive Systems Ltd Electronic control device for automobile

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2021056804A (en) * 2019-09-30 2021-04-08 トヨタ自動車株式会社 Relay device and external device
JP7230760B2 (en) 2019-09-30 2023-03-01 トヨタ自動車株式会社 Relay device and external device
WO2023085050A1 (en) * 2021-11-09 2023-05-19 株式会社オートネットワーク技術研究所 Management device, management system, management method, and computer program

Also Published As

Publication number Publication date
JP6702581B2 (en) 2020-06-03

Similar Documents

Publication Publication Date Title
JP6526906B2 (en) Mobile Software Update System Using In-Vehicle Gateway Device
JP6766967B2 (en) Systems and methods for microlocation sensor communication
CN106576096B (en) Apparatus, method, and medium for authentication of devices with unequal capability
US9948717B2 (en) Vehicle-mounted communication device, inter-vehicle communication system, and communication method
US20130070925A1 (en) Communication device, recording medium, and method thereof
US8972736B2 (en) Fully authenticated content transmission from a provider to a recipient device via an intermediary device
EP3104584B1 (en) Data synchronization between an in-vehicle computing device and a mobile device
EP3664415A1 (en) Connected gateway server system for real-time vehicle control service
US10231273B2 (en) Vehicle wireless device connection management with switchover of primary connected device
US20170163608A1 (en) Secure offline data offload in a sensor network
US8983681B2 (en) Method of communicating with a vehicle having a telematics unit
US20190075423A1 (en) Location-based vehicle wireless communications
US20160366229A1 (en) Communication device, communication system, and computer program product
WO2015067217A1 (en) Vehicle information processing system, method, vehicle-mounted device and storage medium
US20150033019A1 (en) Cryptographic communication system, communication device, key distribution device, and cryptographic communication method
KR20220092606A (en) Methods and devices for handling upgrade packages for vehicles
JP6654738B1 (en) Processing telemetry data based on the operating state of the data source
US10419984B2 (en) Wireless device connection management
JP6702581B2 (en) Mobile software update system using in-vehicle gateway device
CN113056898A (en) Method and device for obtaining secret key and secret key management system
US11606334B2 (en) Communication security apparatus, control method, and storage medium storing a program
JP7412506B2 (en) Fraud detection rule update method, fraud detection electronic control unit and in-vehicle network system
US20210029103A1 (en) A control apparatus, in-vehicle communication system, communication control method and program
US20220264293A1 (en) Relay device and vehicle communication method
US20220231997A1 (en) Setting device, communication system, and vehicle communication management method

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20190425

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20200326

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20200407

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20200424

R150 Certificate of patent or registration of utility model

Ref document number: 6702581

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

S111 Request for change of ownership or part of ownership

Free format text: JAPANESE INTERMEDIATE CODE: R313117

R350 Written notification of registration of transfer

Free format text: JAPANESE INTERMEDIATE CODE: R350

S111 Request for change of ownership or part of ownership

Free format text: JAPANESE INTERMEDIATE CODE: R313111

R350 Written notification of registration of transfer

Free format text: JAPANESE INTERMEDIATE CODE: R350

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250