WO2022162815A1 - ソフトウェア更新装置、車載端末装置及びソフトウェア更新システム - Google Patents
ソフトウェア更新装置、車載端末装置及びソフトウェア更新システム Download PDFInfo
- Publication number
- WO2022162815A1 WO2022162815A1 PCT/JP2021/002961 JP2021002961W WO2022162815A1 WO 2022162815 A1 WO2022162815 A1 WO 2022162815A1 JP 2021002961 W JP2021002961 W JP 2021002961W WO 2022162815 A1 WO2022162815 A1 WO 2022162815A1
- Authority
- WO
- WIPO (PCT)
- Prior art keywords
- vehicle
- package
- software
- common package
- identification information
- Prior art date
Links
- 238000004891 communication Methods 0.000 claims description 45
- 230000004044 response Effects 0.000 claims description 6
- 238000000034 method Methods 0.000 description 14
- 238000012545 processing Methods 0.000 description 12
- 238000010586 diagram Methods 0.000 description 8
- 230000006870 function Effects 0.000 description 7
- 238000007726 management method Methods 0.000 description 3
- 238000004364 calculation method Methods 0.000 description 2
- 230000006837 decompression Effects 0.000 description 2
- 238000013144 data compression Methods 0.000 description 1
- 238000013461 design Methods 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 239000000284 extract Substances 0.000 description 1
- 238000012423 maintenance Methods 0.000 description 1
- 238000010295 mobile communication Methods 0.000 description 1
- 238000012502 risk assessment Methods 0.000 description 1
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04W—WIRELESS COMMUNICATION NETWORKS
- H04W4/00—Services specially adapted for wireless communication networks; Facilities therefor
- H04W4/30—Services specially adapted for particular environments, situations or purposes
- H04W4/40—Services specially adapted for particular environments, situations or purposes for vehicles, e.g. vehicle-to-pedestrians [V2P]
- H04W4/44—Services specially adapted for particular environments, situations or purposes for vehicles, e.g. vehicle-to-pedestrians [V2P] for communication between vehicles and infrastructures, e.g. vehicle-to-cloud [V2C] or vehicle-to-home [V2H]
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/60—Software deployment
- G06F8/65—Updates
-
- G—PHYSICS
- G07—CHECKING-DEVICES
- G07C—TIME OR ATTENDANCE REGISTERS; REGISTERING OR INDICATING THE WORKING OF MACHINES; GENERATING RANDOM NUMBERS; VOTING OR LOTTERY APPARATUS; ARRANGEMENTS, SYSTEMS OR APPARATUS FOR CHECKING NOT PROVIDED FOR ELSEWHERE
- G07C5/00—Registering or indicating the working of vehicles
- G07C5/008—Registering or indicating the working of vehicles communicating information to a remotely located station
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/34—Network arrangements or protocols for supporting network services or applications involving the movement of software or configuration parameters
Definitions
- the present invention relates to a software update device, an in-vehicle terminal device, and a software update system.
- the information center selects target software as upgrade candidates based on information on the software/hardware owned by the vehicle, and transmits the selected target software to the vehicle.
- Patent Document 1 A technique for doing so is known.
- a demo image showing the functions realized by the target software is displayed to the user on the vehicle side, and the user selects whether or not to upgrade the target software.
- the in-vehicle terminal device of the vehicle requests the information center to transmit the target software, and the information center transmits the target software to the in-vehicle terminal device.
- a server functioning as an information center stores target software and transmits the target software to an in-vehicle terminal device.
- software to be updated is prepared for each vehicle, the number of processing steps executed by the server to update the software stored in the vehicle-mounted terminal device of each vehicle and the capacity of the storage device of the server.
- the problem to be solved by the present invention is to provide a software update device, an in-vehicle terminal device, and a software update system that reduce the processing load and storage capacity of the server in the process of updating vehicle software.
- the present invention is a software update device for updating software using update data for vehicle software, comprising a common package including at least update data, common package identification information assigned to the common package, and common package identification information. and an identification package including vehicle identification information for identifying the associated vehicle, and transmitting the identification package including the vehicle identification information associated with the target vehicle to the target vehicle whose software is to be updated. Then, according to a request from the target vehicle, the common package to which the common package identification information contained in the identification package is assigned is transmitted to the target vehicle.
- the processing load and storage capacity of the server are reduced in the process of updating vehicle software.
- FIG. 1 is a diagram showing an example of the configuration of a software update system according to this embodiment.
- FIG. 2 is an example of a software update list according to this embodiment.
- FIG. 3A is a diagram showing the relationship between common packages and identification packages.
- FIG. 3B is an example showing an identification package according to this embodiment.
- FIG. 4A is an example showing a common package according to this embodiment.
- FIG. 4B is an example showing a common package according to this embodiment.
- FIG. 5A is an example showing a common package according to this embodiment.
- FIG. 5B is an example showing a common package according to this embodiment.
- FIG. 6 is an example showing the control flow of the software update device according to this embodiment.
- FIG. 7 is an example showing a control flow of the in-vehicle terminal device according to this embodiment.
- FIG. 8 is a sequence diagram showing the flow of control in the software update system of this embodiment.
- FIG. 1 is a block diagram showing an example of a software update system 100 including a software update device 1, an in-vehicle terminal device 20 mounted on a vehicle 2, and a communication network 3 according to this embodiment.
- the software update system 100 is a FOTA (Firmware Over The Air) system capable of updating the software of the ECU installed in the vehicle 2 by OTA (Over The Air).
- the software update device 1 and the in-vehicle terminal device 20 can transmit and receive data to and from each other via the communication network 3 .
- the software update device 1 When the software supplier inputs update data for rewriting the software, the software update device 1 stores the update data. When receiving a request for software update data from an in-vehicle terminal device 20 , the software update device 1 transmits a distribution package including the update data to the requested in-vehicle terminal device 20 via the communication network 3 . Upon receiving the distribution package from the software update device 1, the in-vehicle terminal device 20 rewrites and updates the software of the ECU to be updated using the update data included in the distribution package.
- the communication network 3 includes, for example, a mobile communication network such as a 4G line, the Internet, and the like.
- the software update data is update program data for updating the software of the ECU of the vehicle 2 and is provided by the software supplier.
- the update data may be all data corresponding to the entire software after the update, or may be difference data corresponding to the difference between the software before the update and the software after the update. Also, the update data may be compressed by a known data compression technique.
- the software update data received by the vehicle is used to update the software of the own vehicle in order to prevent the software from being updated unintentionally by the software supplier. Data may be guaranteed.
- the update data is data for updating the software of the own vehicle
- the update data and the vehicle identification information for identifying the vehicle to be updated are associated with each other and included in the distribution package.
- the data structure of the distribution package is a structure in which vehicle identification information and update data are stored in association with each other. Since update data will be stored in correspondence with the information, distribution packages for the number of vehicles are required. Since update data is larger in data size than vehicle identification information, if distribution packages containing update data are prepared for the number of vehicles and stored in a storage device, the storage capacity increases. In addition, the number of processing man-hours required to update the software of all target vehicles also increases.
- the software update device 1 divides the distribution package into two types of packages and transmits them to the in-vehicle terminal device 20 .
- the software update device 1 uses a common package including update data in common among a plurality of vehicles.
- the software update device 1 updates an identification package containing vehicle identification information and common package identification information for each vehicle to be updated as information for determining that the common package is data for updating the software of the own vehicle.
- the packages having a large data size are prepared as data common to all vehicles to be updated.
- packages containing small data size vehicle identification information and common package identification information are prepared according to the number of vehicles.
- the vehicle 2 uses the package containing the vehicle identification number to confirm that the update data is data for updating the software of the own vehicle, thereby reducing the processing man-hours and storage capacity for updating the software. while improving cyber security. A more detailed description will be given below.
- the software update device 1 is a server that manages software update data provided by a software supplier or the like, and transmits the update data to a vehicle to be updated.
- the software update device 1 has a controller 10, a storage device 11, a communication device 12, and an input device 13, and is configured to be able to communicate data with each other.
- the controller 10 in this embodiment includes a computer having hardware and software, and the computer includes a ROM (Read Only Memory) storing a program and a CPU (Central Processing Unit) executing the program stored in the ROM. and a RAM (Random Access Memory) that functions as an accessible storage device.
- ROM Read Only Memory
- CPU Central Processing Unit
- RAM Random Access Memory
- the controller 10 manages the software update list, and updates the software update list that manages the update data when software update data is input from the software supplier. Also, the controller 10 generates a common package (details of which will be described later) including the input update data, and stores the generated common package in the storage device 11 .
- the software update list includes, for each software update campaign, a campaign ID, a target VIN, a target ECU, a software version of the updated software, a link to the common package, A common package identifier is managed.
- a campaign means a unit of information for linking input update data with information of one or more vehicles to be updated and managing the information.
- the target VIN is the vehicle identification number (VIN for short) of the vehicle to be updated.
- the target ECU is an ECU that is subject to software update. In the software update campaign, the target ECU is not limited to one ECU, and when there are a plurality of target ECUs, a plurality of ECUs may be input as the target ECU.
- the software version is the updated version of the software distributed to the in-vehicle terminal device 20 .
- the controller 10 assigns a campaign ID to the software update campaign.
- Campaign ID is an identification number assigned to identify a software update campaign.
- the controller 10 stores the generated common package in the storage device 11 and inputs the link of the storage destination into the software update list as a link to the common package.
- a common package identifier is identification information for identifying a common package.
- the controller 10 inputs the common package identifier generated for each common package to the software update list. Controller 10 stores the generated software update list in storage device 11 .
- the controller 10 determines whether software update is necessary for all vehicles under management. Specifically, first, for each vehicle, the controller 10 compares the vehicle identification number of the vehicle with the target VIN managed as a software update target, and determines whether or not the vehicle identification numbers match. do. If the vehicle identification numbers match, the controller 10 compares the software version of the current ECU of the vehicle with the matching vehicle identification number with the software version of the updated software. Then, the controller 10 determines that software update is necessary when the current software version of the ECU of the vehicle is a software version earlier than the software version of the updated software.
- the controller 10 When it is determined that the software update is required, the controller 10 generates an identification package for each vehicle determined to require the software update, and stores the generated identification package in the in-vehicle terminal device 20 of the vehicle. send a unique identification package.
- the controller 10 When there are multiple target vehicles, the controller 10 generates different identification packages for each of the multiple target vehicles.
- the identification package includes, for each target vehicle, vehicle identification information corresponding to the target vehicle and a common package identifier assigned to the common package for identifying the common package.
- the identification package is data for the in-vehicle terminal device 20 to determine that the common package is data for updating the software of the own vehicle. For example, the identification package includes a vehicle identification number (VIN) as vehicle identification information.
- VIN vehicle identification number
- the common package includes update data and a common package identifier, as described later. If the vehicles to be updated are vehicle A, vehicle B, and vehicle C, an identification package for vehicle A, an identification package for vehicle B, and an identification package for vehicle C are generated as identification packages.
- Each identification package contains the VIN of each vehicle and the same common package identifier that is common to multiple vehicles.
- Each vehicle's VIN is associated with a common package identifier. Specifically, the VIN of each vehicle is the VIN of the vehicle whose software is to be updated using the update data included in the common package.
- the common package identifier included in the identified package and the common package identifier included in the common package are the same.
- the vehicle identification information may be information on the vehicle type.
- the vehicle-mounted terminal device 20 that has acquired the identification package uses the vehicle identification number included in the identification package and the The vehicle identification numbers are compared to determine whether or not the vehicle identification number included in the identification package matches the vehicle identification number of the host vehicle. If the vehicle identification numbers match, the in-vehicle terminal device 20 can confirm that the common package corresponding to the common package identifier included in the identification package is the package for its own vehicle.
- the common package identifier is identification information for identifying a common package, and is used by the in-vehicle terminal device 20 to prove that the common package transmitted to the in-vehicle terminal device 20 is the data requested by the in-vehicle terminal device 20. It is.
- a common package identifier is, for example, a hash value generated from a common package using a hash function. Specifically, the common package identifier is generated from data included in the common package. For example, a common package identifier is generated by calculating a hash value from update data. In this embodiment, a common calculation formula for calculating hash values is implemented in the software update device 1 and the in-vehicle terminal device 20 .
- the software update device 1 and the in-vehicle terminal device 20 separately calculate hash values.
- the hash value is calculated using various calculation formulas such as checksum, CRC, ND5, and SHA-1.
- the common package identifier may be a predetermined value, such as a campaign ID attached to the campaign.
- the identification package does not include the update data itself.
- the data size of the VIN included in the identification package is 17 bytes, and the VIN is data with a small data size. That is, the identification package does not contain data of large size, but data of small size.
- the processing man-hours required for updating the software in the controller 10 and the storage capacity of the storage device 11 are reduced compared to the case where a package including the software main body and the vehicle identification information for identifying the target vehicle is generated and stored for each vehicle. can do.
- the controller 10 may generate an identifier using the vehicle identification number of the vehicle 2 to be updated as a common package identifier to be included in the identification package.
- the controller 10 includes a value obtained by adding the vehicle identification number of the vehicle 2 to the hash value generated from the common package as a common package identifier in the identification package.
- the vehicle 2 that has acquired the identification package is generated from the common package by subtracting the vehicle identification number of its own vehicle from the common package identifier (value obtained by adding the vehicle identification number to the hash value) included in the identification package.
- a hash value can be calculated.
- the software update device 1 calculates a common package identifier according to the above formula using the hash value of the common package and the VIN, and transmits the calculated common package identifier to the vehicle 2 . Then, the vehicle 2 uses the common package identifier and VIN to calculate the hash value of the common package according to the above formula.
- the controller 10 may generate an identification package including additional data in addition to the vehicle identification number and the common package identifier.
- the additional data included in the identification package is, for example, the location data of the common package and the decompression password of the common package.
- the common package location data is, for example, the URL of the server in which the common package is stored. This ensures that the vehicle-mounted terminal device 20 that has acquired the identification package acquires the common package from an appropriate storage server.
- the common package decompression password is a password for decompressing the compressed common package.
- the controller 10 may also include in the identity package a common key for encryption and decryption of data contained in the identity package.
- the common key may be, for example, a vehicle identification number.
- the key for encrypting and decrypting data is not limited to a common key, and may be a public key used in public key cryptography.
- the controller 10 may include a password for downloading the common package or a password used for encrypting the communication path between the software update device 1 and the in-vehicle terminal device 20 in the identification package.
- the controller 10 may encrypt the identification package and transmit the encrypted identification package to the vehicle-mounted terminal device 20 .
- the in-vehicle terminal device 20 obtains the data contained in the identification package by decrypting the encrypted identification package. This can increase the cyber security of the identification package.
- the controller 10 receives from the in-vehicle terminal device 20 a request signal requesting acquisition of the common package.
- the controller 10 transmits to the in-vehicle terminal device 20 the common package including the common package identifier specified in the request signal.
- a common package is a package that includes update data and a common package identifier.
- a common package is a package generated for each software update campaign. That is, when there are multiple vehicles to be updated in the campaign, the common package is a package common to the multiple vehicles to be updated.
- the controller 10 prepares a common package that is commonly used by the 1 million vehicles, and distributes the same package to each vehicle. send a common package of Also, the common package identifier is the same as the common package identifier included in the identification package.
- the controller 10 generates a common package when update data is input from a software supplier. The controller 10 stores the generated common package in the storage device 11 .
- the common package may include additional data in addition to update data.
- the accompanying data includes, for example, the software version and electronic signature of the updated software.
- the electronic signature is for proving the integrity of the update data, that is, proof that there is no falsification, garbled characters, or the like.
- An electronic signature is, for example, an encrypted hash value calculated from update data.
- FIG. 4A is a diagram showing an example of a common package.
- the common package (PKG03.zip) includes a common package identifier in addition to a file (CONTENTS.zip) containing update data (ECM_v3.bin) and an electronic signature (Signature.txt).
- the common package identifier is a hash value calculated from a file (CONTENTS.zip) in which the update data (ECM_v3.bin) and electronic signature (Signature.txt) are combined in an archive format such as zip or tar. Also, the common package identifier may be a predetermined value, such as a campaign ID. Further, as shown in FIG.
- the common package identifier when the software of a plurality of ECUs is updated in a campaign, the common package identifier includes a plurality of update data (update data 1, update data 2, and update data 3), It may be generated by calculating a hash value from a file (CONTENTS.zip) in which the electronic signatures (electronic signature 1, electronic signature 2, and electronic signature 3) of each of the plurality of update data are combined. Further, when the identifier of the common package is a predetermined value such as a campaign ID, the common package includes a file (CONTENTS.zip) in which a plurality of update data and electronic signatures for each of the plurality of update data are combined; A campaign ID may be included as an identifier of the common package corresponding to the file.
- the common package may not include a common package identifier.
- the in-vehicle terminal device 20 that has received the common package calculates a hash value from the common package using a hash function, and obtains the calculated hash value as the common package identifier.
- FIG. 5A is a diagram showing an example of a common package.
- the common package is shown as a file (PKG03.zip) containing update data (ECM_v3.bin) and electronic signature (Signature.txt). Also, in FIG.
- the common package when there is a plurality of update data in the campaign, the common package includes a plurality of update data (update data 1, update data 2, and update data 3) and an electronic signature corresponding to each of the update data (electronic signature 1, electronic signature 2, and electronic signature 3) as a file (PKG03.zip). Also in this case, the vehicle-mounted terminal device 20 that has received the common package calculates a hash value from the common package using a hash function, and obtains the calculated hash value as the common package identifier.
- the storage device 11 stores various data related to software update of the ECU of the vehicle 2 . Specifically, the storage device 11 stores a common package. The storage device 11 also stores a database that manages software update lists. Also, the storage device 11 may store an identification package.
- the communication device 12 is connected to the in-vehicle communication device 22 of the in-vehicle terminal device 20 via the communication network 3, and transmits and receives various data. For example, the communication device 12 transmits the identification package and common package generated by the controller 10 to the vehicle-mounted communication device 22 .
- the input device 13 receives data input by software suppliers. Specifically, the input device 13 receives input of update data for the software of the vehicle 2 .
- the input device 13 receives incidental data including vehicle identification information of a target vehicle to be updated, a target ECU to be updated, and a software version of software after update.
- the input device 13 outputs the update data to the controller 10 upon receiving the input of the update data.
- the in-vehicle terminal device 20 controls various ECUs mounted in the vehicle, and when receiving update data for the software of the ECU from the software update device 1, uses the update data to update the software of the ECU to be updated. do.
- the in-vehicle terminal device 20 includes a CGW (Central Gateway) 21, an in-vehicle communication device 22, an ECU 23, and an in-vehicle storage device 24. Data communication is performed between the CGW 21 and the in-vehicle communication device 22 and between the CGW 21 and the ECU 23. connected as possible.
- CGW Central Gateway
- the CGW 21 is a vehicle gateway device having a data relay function, and when update data is acquired from the vehicle-mounted communication device 22, it distributes the update data to the ECU to be updated. First, the CGW 21 determines whether or not the vehicle identification number included in the identification package received from the software update device 1 matches the vehicle identification number of its own vehicle. Specifically, the CGW 21 first acquires the vehicle identification number of its own vehicle from the in-vehicle storage device 24 . Next, when the CGW 21 receives the identification package from the software update device 1 via the in-vehicle communication device 22, the CGW 21 acquires the vehicle identification number from the identification package, Compare with identification number.
- the CGW 21 determines whether or not the vehicle identification number included in the identification package matches the vehicle identification number of its own vehicle.
- the CGW 21 sends the common package to the software update device 1 via the in-vehicle communication device 22. Send a request signal to request acquisition.
- the CGW 21 acquires the common package identifier from the identification package and transmits a request signal requesting acquisition of the common package to which the common package identifier is assigned.
- the CGW 21 compares the vehicle identification number included in the identification package with the vehicle identification number of the own vehicle to confirm that the information in the identification package is for updating the software of the own vehicle. can.
- the CGW 21 can acquire the common package, which is data for updating the software of the own vehicle, by requesting acquisition of the common package to which the common package identifier included in the identification package is assigned.
- the CGW 21 Upon receiving the common package from the software update device 1, the CGW 21 acquires a common package identifier from the common package. For example, when the common package identifier is stored in the common package in the software update device 1, the CGW 21 acquires the common package identifier stored in the common package. Also, when the common package identifier is generated by calculating a hash value from the common package, the CGW 21 may calculate the hash value from the acquired common package to acquire the common package identifier. Next, the CGW 21 determines whether the acquired common package identifier matches the common package identifier included in the identification package. Then, when it is determined that the common package identifier obtained from the common package matches the common package identifier included in the identified package, the CGW 21 extracts update data from the common package.
- the CGW 21 transmits the extracted update data to the update target ECU, and uses the update data to update the software of the update target ECU.
- the CGW 21 compares the common package identifier acquired from the common package with the common package identifier included in the identification package, so that the common package transmitted from the software updating device 1 is the requested common package. You can confirm that it is a package. Thereby, the CGW 21 can prevent software from being updated unintended by the software supplier.
- the CGW 21 aggregates the software versions of the software of the multiple ECUs 23 . Specifically, when the ignition power source of the vehicle 2 is turned on, the CGW 21 aggregates the software versions of the ECUs at that time. In addition, the CGW 21 aggregates the software versions of the ECUs at that time at regular intervals. The CGW 21 transmits the integrated software version of each ECU to the software update device 1 via the in-vehicle communication device 22 .
- the in-vehicle communication device 22 is an in-vehicle communication device that performs data communication with the software update device 1 via the communication network 3.
- the received information is received. It transfers the identified package and common package to the CGW 21 .
- the in-vehicle communication device 22 may use different communication paths depending on the type of data to be received. Specifically, when receiving the update data from the software update device 1, the in-vehicle communication device 22 receives the update data via the first communication path for providing the software. When receiving data other than the update data, the in-vehicle communication device 22 transmits the data other than the update data via the second communication path for providing the data other than the software update data.
- the in-vehicle communication device 22 receives the map data via the second communication path.
- the first communication path is a communication path with a higher security level than the second communication path.
- the security degree is a value that is set higher for a communication route that is evaluated to have a lower security risk in the security risk analysis of the communication route.
- the ECU 23 includes, for example, a body system ECU, a driving system ECU, and an information system ECU.
- the body system ECU controls body systems such as a door ECU that controls door locking/unlocking, a meter ECU that controls meter display, an air conditioner ECU that controls the operation of the air conditioner, and a window ECU that controls the opening and closing of windows. It is an ECU that performs
- the traveling system ECU is an ECU that controls the traveling system, such as an engine ECU that controls the driving of the engine, a brake ECU that controls the driving of the brake, and a power steering ECU that controls the driving of the power steering.
- the information system ECU is an ECU that controls information systems such as a navigation ECU that controls a navigation system and an audio ECU that controls audio equipment.
- the type of ECU 23 is not limited to the illustrated configuration.
- ECU23 will update software using the said update data, if update data are acquired from CGW21.
- ECU23 manages the software version of software, and transmits a software version according to the request signal from CGW21.
- the in-vehicle storage device 24 stores various data.
- the in-vehicle storage device 24 stores the vehicle identification number assigned to the own vehicle.
- FIG. 6 shows a control flow for executing the software update control process in the software update device 1 .
- the control flow starts from step S1.
- step S1 the software update device 1 accepts update data input by the software supplier.
- step S2 the software update device 1 creates a software update list based on the update data acquired in step S1.
- the software update device 1 generates a common package based on the update data obtained at step S1. Specifically, the software update device 1 generates a common package including update data and a common package identifier. The software update device 1 may generate a common package that includes update data and does not include a common package identifier.
- step S ⁇ b>4 the software update device 1 receives the vehicle identification number of the vehicle 2 and the software version of the ECU of the vehicle 2 from the in-vehicle terminal device 20 .
- step S5 the software update device 1 determines whether software update is necessary.
- the software update device 1 compares the vehicle identification number acquired from the in-vehicle terminal device 20 with the vehicle identification number of the update target vehicle stored in the software update list. Then, the software update device 1 determines whether or not the software version of the ECU of the vehicle with the matching vehicle identification number matches the software version of the updated software. If it is determined that the software needs to be updated, the software update device 1 proceeds to step S6. If it is not determined that the software needs to be updated, the software update device 1 terminates the control flow. Further, the control of steps S4 to S5 is executed for all vehicles under management.
- step S6 the software update device 1 generates an identification package for each vehicle determined to require software update in step S5.
- the identification package includes the vehicle identification number of the vehicle 2 whose software needs to be updated in step S5 and the common package identifier of the common package generated in step S3.
- the software update device 1 transmits the identification package generated at step S ⁇ b>6 to the in-vehicle terminal device 20 .
- the software update device 1 transmits an identification package including the vehicle identification number associated with the target vehicle to which the software is to be updated, to the in-vehicle terminal device 20 of the target vehicle.
- step S ⁇ b>8 the software update device 1 receives a request signal requesting acquisition of the common package from the in-vehicle terminal device 20 .
- step S ⁇ b>9 the software update device 1 searches for a common package to which the common package identifier requested by the in-vehicle terminal device 20 is assigned. Specifically, according to the requested common package identifier, the software update device 1 searches for a common package to which the common package identifier is assigned from among the plurality of common packages stored in the storage device 11 .
- step S10 the software update device 1 transmits the common package retrieved in step S9 to the in-vehicle terminal device 20.
- FIG. 7 shows a control flow for executing control processing for updating software in the in-vehicle terminal device 20 .
- the in-vehicle terminal device 20 starts the control flow from step S21 when the ignition power is turned on.
- the in-vehicle terminal device 20 may start the control flow from step S21 at regular intervals.
- the CGW 21 acquires the vehicle identification number of the own vehicle from the onboard storage device 24.
- the CGW 21 aggregates software versions of the ECU 23 of the vehicle 2 . Specifically, the CGW 21 acquires the software versions of the ECUs from all the ECUs 23 mounted on the vehicle 2 .
- the CGW 21 transmits the vehicle identification number obtained in step S21 and the software version obtained in step S22 to the software update device 1.
- the CGW 21 determines whether or not the identification package has been received from the software update device 1. FIG. When it is determined that the identification package has been received, the CGW 21 proceeds to step S25.
- step S25 the CGW 21 determines whether or not the vehicle identification numbers match. That is, the CGW 21 compares the vehicle identification number included in the identification package with the vehicle identification number of its own vehicle to determine whether the vehicle identification numbers match. When it is determined that the vehicle identification numbers match, the CGW 21 proceeds to step S26. If it is determined that the vehicle identification numbers do not match, the CGW 21 terminates the control flow.
- the CGW 21 requests a common package. Specifically, the CGW 21 acquires the common package identifier from the identification package received in step S24, and transmits to the software updating device 1 a request signal requesting acquisition of the common package to which the common package identifier is assigned. .
- the CGW 21 receives the common package via the in-vehicle communication device 22 .
- the CGW 21 determines whether or not the common package identifiers match. That is, the CGW 21 compares the common package identifier included in the identification package received in step S24 with the common package identifier acquired from the common package received in step S27 to determine whether the common package identifiers match.
- step S29 the CGW 21 updates the software. Specifically, the in-vehicle terminal device 20 acquires the update data from the common package received in step S27, and updates the software of the ECU of the vehicle 2 using the update data.
- FIG. 8 is a sequence diagram of software update control processing in the software update system.
- the control flow starts from step S31.
- step S31 the software update device 1 accepts update data input by the software supplier.
- step S32 the software update device 1 creates a software update list based on the update data acquired in step S1.
- the software update device 1 generates a common package based on the update data acquired at step S31.
- step S34 the vehicle-mounted terminal device 20 acquires the vehicle identification number of the own vehicle and the software version of each ECU of the own vehicle.
- step S ⁇ b>35 the vehicle-mounted terminal device 20 transmits the vehicle identification number and the software version acquired in step S ⁇ b>34 to the software update device 1 .
- step S36 the software update device 1 determines whether or not the software of the vehicle 2 needs to be updated based on the vehicle identification number received from the in-vehicle terminal device 20 and the software version. If it is determined that software update is necessary, the software update device 1 proceeds to step S37. If it is determined that software update is not necessary, the software update device 1 ends the control flow. Further, the control of steps S34 to S36 is executed for all vehicles under management. For example, when the ignition power source of the vehicle is turned on, or at regular intervals, the control of steps S4 to S6 is executed.
- step S37 the software update device 1 generates an identification package for each vehicle 2 determined to require software update in step S36.
- the software update device 1 transmits the identification package generated at step S ⁇ b>37 to the vehicle-mounted terminal device 20 .
- step S39 the vehicle-mounted terminal device 20 determines whether or not the vehicle identification number included in the identification package transmitted in step S38 matches the vehicle identification number of its own vehicle. If it is determined that the vehicle identification numbers match, the in-vehicle terminal device 20 proceeds to step S40. If it is determined that the vehicle identification numbers do not match, the in-vehicle terminal device 20 terminates the control flow.
- step S40 the vehicle-mounted terminal device 20 transmits a request signal requesting acquisition of the common package to the software update device 1.
- step S41 the software update device 1 searches for the common package requested by the in-vehicle terminal device 20 in step S40.
- step S42 the software update device 1 transmits the common package retrieved in step S41 to the in-vehicle terminal device 20.
- step S43 the vehicle-mounted terminal device 20 determines whether the common package identifier included in the identification package transmitted in step S38 matches the common package identifier acquired from the common package transmitted in step S42. judge. If it is determined that the common package identifiers match, the in-vehicle terminal device 20 proceeds to step S44. If it is determined that the common package identifiers do not match, the in-vehicle terminal device 20 terminates the control flow.
- step S ⁇ b>44 the vehicle-mounted terminal device 20 updates the software of the vehicle 2 . Further, in this embodiment, the control from steps S37 to S44 is executed for all vehicles determined to require software update.
- the software update device is provided outside the vehicle and updates the software using update data for the software of the vehicle.
- An identification package including the associated vehicle identification information is transmitted, and a common package to which the common package identification information included in the identification package is assigned is transmitted to the target vehicle in response to a request from the target vehicle. This reduces the processing load and storage capacity of the server in the process of updating the software of the vehicle.
- common package identification information common to the plurality of target vehicles and vehicle identification information assigned to each of the plurality of target vehicles are added to each of the plurality of target vehicles. Generate an identity package containing Accordingly, even if there are a plurality of vehicles whose software is to be updated, the identification information is generated for each vehicle, so the storage capacity can be reduced.
- the same common package is transmitted to a plurality of target vehicles.
- the same common package is transmitted, so the storage capacity can be reduced.
- an identification package is generated that includes a hash value generated from a common package using a hash function as common package identification information.
- the data size of the identification package can be made smaller than when the entire update data is included.
- common package identification information is generated based on the vehicle identification information of the target vehicle, and an identification package including the generated common package identification information and the vehicle identification information is generated.
- the target vehicle can acquire the identification information for identifying the common package, so that the strength of cyber security can be enhanced.
- an in-vehicle terminal device for a vehicle that acquires update data of software to be updated from a server provided outside the vehicle and updates the software of the vehicle, and includes the update data.
- An identification package stored in a server containing common package identification information assigned to each common package stored in the server and vehicle identification information for identifying a vehicle associated with the common package identification information. receive from the server, acquire common package identification information from the received identification package, receive from the server the common package to which the acquired common package identification information is assigned, and update data contained in the received common package to update the vehicle's software. This reduces the processing load and storage capacity of the server in the process of updating the software of the vehicle.
- the vehicle identification information included in the received identification package matches the vehicle identification information assigned to the vehicle. determines whether or not the common package identification information contained in the identification package matches the common package identification information acquired from the common package, and if it is determined that the common package identification information matches, the software is Update. Thereby, the vehicle can guarantee that the update data is data for updating the software of the own vehicle.
- the vehicle determines whether or not the vehicle identification information included in the received identification package matches the vehicle identification information assigned to the vehicle. sends a request signal requesting acquisition of a common package to the server, and receives the common package from the server as a response signal to the request signal. Thereby, the vehicle can guarantee that the update data is data for updating the software of the own vehicle.
- update data when update data is acquired from the server, the update data is acquired from the server via the first communication path, and the first communication path is used for supplying data other than the update data.
- Security level is higher than 2 communication paths. As a result, the cyber security strength of update data can be enhanced.
- a software update system includes an in-vehicle terminal device mounted in a vehicle and a software update device provided outside the vehicle, and updates software using update data for software in the vehicle.
- a software updater stores a common package containing at least update data, and an identification package containing common package identification information assigned to the common package and vehicle identification information associated with the common package identification information and identifying a vehicle.
- An identification package including vehicle identification information associated with the vehicle is transmitted to a vehicle whose software is to be updated, and common package identification information included in the identification package is transmitted in response to a request from the vehicle.
- the vehicle receives the identification package containing the vehicle identification information of the vehicle from the software update device, obtains the common package identification information from the received identification package, and obtains A common package to which common package identification information is assigned is received from the software update device, and software of the vehicle is updated using update data included in the received common package. This reduces the processing load and storage capacity of the server in the process of updating the software of the vehicle.
Landscapes
- Engineering & Computer Science (AREA)
- Software Systems (AREA)
- General Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Computer Security & Cryptography (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Stored Programmes (AREA)
Abstract
Description
1…ソフトウェア更新装置
10…コントローラ
11…記憶装置
12…通信装置
13…入力装置
2…車両
20…車載端末装置
21…CGW
22…車載通信装置
23…ECU
24…車載記憶装置
3…通信ネットワーク
Claims (10)
- 車両の外部に設けられ、前記車両のソフトウェアの更新データを用いて、前記ソフトウェアを更新するソフトウェア更新装置であって、
少なくとも前記更新データを含む共通パッケージと、前記共通パッケージに割り当てられた共通パッケージ識別情報と前記共通パッケージ識別情報に対応づけられ前記車両を識別する車両識別情報とを含む識別パッケージとを記憶する記憶装置を備え、
前記ソフトウェアの更新対象となる対象車両に、前記対象車両に対応付けられた前記車両識別情報を含む前記識別パッケージを送信し、
前記対象車両からの要求に応じて、前記識別パッケージに含まれる前記共通パッケージ識別情報が割り当てられた前記共通パッケージを前記対象車両に送信するソフトウェア更新装置。 - 前記対象車両が複数ある場合には、複数の前記対象車両ごとに、複数の前記対象車両に共通する前記共通パッケージ識別情報と、複数の前記対象車両ごとに割り当てられた前記車両識別情報とを含む前記識別パッケージを生成する請求項1に記載のソフトウェア更新装置。
- 複数の前記対象車両に、同一の前記共通パッケージを送信する請求項2に記載のソフトウェア更新装置。
- ハッシュ関数を用いて前記共通パッケージから生成されたハッシュ値を前記共通パッケージ識別情報として含む前記識別パッケージを生成する請求項1~3のいずれか一項に記載のソフトウェア更新装置。
- 前記対象車両の前記車両識別情報に基づいて、前記共通パッケージ識別情報を生成し、
生成された前記共通パッケージ識別情報と、前記車両識別情報と、を含む前記識別パッケージを生成する請求項1~3のいずれか一項に記載のソフトウェア更新装置。 - 車両の外部に設けられたサーバから、更新の対象となるソフトウェアの更新データを取得し、前記車両の前記ソフトウェアを更新する前記車両の車載端末装置であって、
前記更新データを含んで前記サーバに格納されている共通パッケージごとに割り当てられた共通パッケージ識別情報と、前記共通パッケージ識別情報に対応づけられた、前記車両を識別する車両識別情報と、を含んで前記サーバに格納されている識別パッケージを前記サーバから受信し、
受信された前記識別パッケージから、前記共通パッケージ識別情報を取得し、
取得された前記共通パッケージ識別情報が割り当てられた前記共通パッケージを前記サーバから受信し、
受信された前記共通パッケージに含まれる前記更新データを用いて、前記車両の前記ソフトウェアを更新する車載端末装置。 - 受信された前記識別パッケージに含まれる前記車両識別情報と、前記車両に割り当てられた前記車両識別情報とが一致するか否かを判定し、
前記車両識別情報が一致すると判定される場合には、前記識別パッケージに含まれる前記共通パッケージ識別情報と、前記共通パッケージから取得される前記共通パッケージ識別情報とが一致するか否かを判定し、
前記共通パッケージ識別情報が一致すると判定される場合には、前記ソフトウェアを更新する請求項6に記載の車載端末装置。 - 受信された前記識別パッケージに含まれる前記車両識別情報と、前記車両に割り当てられた前記車両識別情報とが一致するか否かを判定し、
前記車両識別情報が一致すると判定される場合には、前記共通パッケージの取得を要求する要求信号を前記サーバに送信し、
前記要求信号に対する応答信号として、前記共通パッケージを前記サーバから受信する請求項7に記載の車載端末装置。 - 前記更新データを前記サーバから取得するときに、第1通信経路を介して、前記更新データを前記サーバから取得し、
前記第1通信経路は、前記更新データ以外のデータを供給するための第2通信経路よりもセキュリティ度が高い請求項6~8のいずれか一項に記載の車載端末装置。 - 車両に搭載された車載端末装置と、前記車両の外部に設けられたソフトウェア更新装置と、を備え、
前記車両のソフトウェアの更新データを用いて、前記ソフトウェアを更新するソフトウェア更新システムであって、
前記ソフトウェア更新装置は、
少なくとも前記更新データを含む共通パッケージと、前記共通パッケージに割り当てられた共通パッケージ識別情報と前記共通パッケージ識別情報に対応づけられ前記車両を識別する車両識別情報とを含む識別パッケージとを記憶する記憶装置を備え、
前記ソフトウェアの更新対象となる車両に、前記車両に対応づけられた前記車両識別情報を含む前記識別パッケージを送信し、
前記車両からの要求に応じて、前記識別パッケージに含まれる前記共通パッケージ識別情報が割り当てられた前記共通パッケージを前記車両に送信し、
前記車両は、
前記車両の前記車両識別情報を含む前記識別パッケージを前記ソフトウェア更新装置から受信し、
受信された前記識別パッケージから、前記共通パッケージ識別情報を取得し、
取得された前記共通パッケージ識別情報が割り当てられた前記共通パッケージを前記ソフトウェア更新装置から受信し、
受信された前記共通パッケージに含まれる前記更新データを用いて、前記車両の前記ソフトウェアを更新するソフトウェア更新システム。
Priority Applications (5)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
EP21921666.0A EP4287032A4 (en) | 2021-01-28 | 2021-01-28 | SOFTWARE UPDATE DEVICE, VEHICLE-MOUNTED TERMINAL DEVICE AND SOFTWARE UPDATE SYSTEM |
JP2022577902A JP7494944B2 (ja) | 2021-01-28 | 2021-01-28 | ソフトウェア更新装置、車載端末装置及びソフトウェア更新システム |
PCT/JP2021/002961 WO2022162815A1 (ja) | 2021-01-28 | 2021-01-28 | ソフトウェア更新装置、車載端末装置及びソフトウェア更新システム |
US18/259,595 US20240061671A1 (en) | 2021-01-28 | 2021-01-28 | Software updating device, in-vehicle terminal, and software updating system |
CN202180092369.8A CN116888580A (zh) | 2021-01-28 | 2021-01-28 | 软件更新装置、车载终端装置以及软件更新系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
PCT/JP2021/002961 WO2022162815A1 (ja) | 2021-01-28 | 2021-01-28 | ソフトウェア更新装置、車載端末装置及びソフトウェア更新システム |
Publications (1)
Publication Number | Publication Date |
---|---|
WO2022162815A1 true WO2022162815A1 (ja) | 2022-08-04 |
Family
ID=82653172
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
PCT/JP2021/002961 WO2022162815A1 (ja) | 2021-01-28 | 2021-01-28 | ソフトウェア更新装置、車載端末装置及びソフトウェア更新システム |
Country Status (5)
Country | Link |
---|---|
US (1) | US20240061671A1 (ja) |
EP (1) | EP4287032A4 (ja) |
JP (1) | JP7494944B2 (ja) |
CN (1) | CN116888580A (ja) |
WO (1) | WO2022162815A1 (ja) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
DE102022004825A1 (de) | 2022-12-20 | 2024-06-20 | Mercedes-Benz Group AG | Verfahren und System zur Verteilung von Softwarekomponenten auf Fahrzeuge |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH1127749A (ja) | 1997-07-04 | 1999-01-29 | Toyota Motor Corp | ソフトウェアのメンテナンスシステム、そのシステムに適した基地局側装置、およびソフトウェアのメンテナンス方法 |
JP2015162179A (ja) * | 2014-02-28 | 2015-09-07 | ファナック株式会社 | プログラマブルコントローラのシーケンスプログラム置き換え方法 |
JP2019101706A (ja) * | 2017-11-30 | 2019-06-24 | 株式会社日立製作所 | 車載ソフトウェア配信システム、車載ソフトウェア配信サーバ、及び車載ソフトウェア配信方法 |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2014021914A (ja) | 2012-07-23 | 2014-02-03 | Sumitomo Electric Ind Ltd | 端末装置、管理装置、通信システム、データファイル更新方法およびデータファイル更新プログラム |
-
2021
- 2021-01-28 JP JP2022577902A patent/JP7494944B2/ja active Active
- 2021-01-28 WO PCT/JP2021/002961 patent/WO2022162815A1/ja active Application Filing
- 2021-01-28 US US18/259,595 patent/US20240061671A1/en active Pending
- 2021-01-28 CN CN202180092369.8A patent/CN116888580A/zh active Pending
- 2021-01-28 EP EP21921666.0A patent/EP4287032A4/en active Pending
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH1127749A (ja) | 1997-07-04 | 1999-01-29 | Toyota Motor Corp | ソフトウェアのメンテナンスシステム、そのシステムに適した基地局側装置、およびソフトウェアのメンテナンス方法 |
JP2015162179A (ja) * | 2014-02-28 | 2015-09-07 | ファナック株式会社 | プログラマブルコントローラのシーケンスプログラム置き換え方法 |
JP2019101706A (ja) * | 2017-11-30 | 2019-06-24 | 株式会社日立製作所 | 車載ソフトウェア配信システム、車載ソフトウェア配信サーバ、及び車載ソフトウェア配信方法 |
Non-Patent Citations (2)
Title |
---|
See also references of EP4287032A4 |
TERAOKA, HIDETOSHI, YAMAZAKI, HIROKI, SAKURAI, KOHEI, FUNASEKO, YOUSUKE, OZAKI, TOMOCHIKA.: "A Study of OTA Update Control Method for Vehicle System Using Lightweight Script Language", TRANSACTIONS OF INFORMATION PROCESSING SOCIETY OF JAPAN, vol. 8, no. 3, 30 October 2018 (2018-10-30), JP , pages 32 - 42, XP009539006, ISSN: 2186-5728 * |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
DE102022004825A1 (de) | 2022-12-20 | 2024-06-20 | Mercedes-Benz Group AG | Verfahren und System zur Verteilung von Softwarekomponenten auf Fahrzeuge |
WO2024132506A1 (de) | 2022-12-20 | 2024-06-27 | Mercedes-Benz Group AG | Verfahren und system zur verteilung von softwarekomponenten auf fahrzeuge |
Also Published As
Publication number | Publication date |
---|---|
EP4287032A4 (en) | 2024-03-27 |
US20240061671A1 (en) | 2024-02-22 |
EP4287032A1 (en) | 2023-12-06 |
JPWO2022162815A1 (ja) | 2022-08-04 |
JP7494944B2 (ja) | 2024-06-04 |
CN116888580A (zh) | 2023-10-13 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN109479000B (zh) | 再利用系统、密钥生成装置、数据安全装置、车载计算机、再利用方法以及存储介质 | |
JP6724717B2 (ja) | 車載機器判定システム | |
EP3319266B1 (en) | Software distribution processing device, vehicle, software distribution processing method, and computer program | |
US9577997B2 (en) | Authentication system and authentication method | |
JP5949732B2 (ja) | プログラム更新システム及びプログラム更新方法 | |
JP6782446B2 (ja) | 監視装置、通信システム、車両、監視方法、およびコンピュータプログラム | |
CN109804597B (zh) | 车载网关、密钥管理装置 | |
CN104904156B (zh) | 认证处理装置、认证处理系统以及认证处理方法 | |
US9853973B2 (en) | Information distribution system, and server, on-board terminal and communication terminal used therefor | |
CN104580352A (zh) | 从远程装置对车辆模块编程及相关方法和系统 | |
WO2015041161A1 (ja) | 書換検出システム、書換検出装置及び情報処理装置 | |
WO2013045988A1 (en) | Method and system for a vehicle information integrity verification | |
CN103679005A (zh) | 启用安全电子控制单元的开发模式的方法 | |
US8638932B2 (en) | Security method and system and computer-readable medium storing computer program for executing the security method | |
WO2022162815A1 (ja) | ソフトウェア更新装置、車載端末装置及びソフトウェア更新システム | |
CN112713999A (zh) | 基于双向身份认证的网联汽车安全远程更新方法 | |
JP2020092289A (ja) | 機器統合システム及び更新管理システム | |
Kathiresh et al. | Vehicle diagnostics over internet protocol and over-the-air updates | |
CN113225733B (zh) | 用户识别模块、证书获取方法、装置和存储介质 | |
CN114741100A (zh) | 车辆固件的升级任务发布方法、装置、服务器及存储介质 | |
CN115543369A (zh) | 中心、ota管理器、方法、非暂时性存储介质及车辆 | |
CN114297591A (zh) | 一种数字证书的校验方法、装置、电子设备及存储介质 | |
EP4269186A1 (en) | Request processing system | |
KR102706926B1 (ko) | 차량 시스템을 위한 분산 식별자 관리 방법 및 분산 식별자 관리 장치 | |
WO2024127446A1 (ja) | 情報処理装置及びシステム並びに車載電子装置 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
121 | Ep: the epo has been informed by wipo that ep was designated in this application |
Ref document number: 21921666 Country of ref document: EP Kind code of ref document: A1 |
|
ENP | Entry into the national phase |
Ref document number: 2022577902 Country of ref document: JP Kind code of ref document: A |
|
WWE | Wipo information: entry into national phase |
Ref document number: 18259595 Country of ref document: US |
|
WWE | Wipo information: entry into national phase |
Ref document number: 202180092369.8 Country of ref document: CN |
|
WWE | Wipo information: entry into national phase |
Ref document number: 202347057166 Country of ref document: IN |
|
WWE | Wipo information: entry into national phase |
Ref document number: 2021921666 Country of ref document: EP |
|
NENP | Non-entry into the national phase |
Ref country code: DE |
|
ENP | Entry into the national phase |
Ref document number: 2021921666 Country of ref document: EP Effective date: 20230828 |