JP2022090870A - Vehicle control device, vehicle control method and control program - Google Patents
Vehicle control device, vehicle control method and control program Download PDFInfo
- Publication number
- JP2022090870A JP2022090870A JP2020203435A JP2020203435A JP2022090870A JP 2022090870 A JP2022090870 A JP 2022090870A JP 2020203435 A JP2020203435 A JP 2020203435A JP 2020203435 A JP2020203435 A JP 2020203435A JP 2022090870 A JP2022090870 A JP 2022090870A
- Authority
- JP
- Japan
- Prior art keywords
- software
- verification
- vms
- common
- vehicle
- 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
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/30—Authentication, i.e. establishing the identity or authorisation of security principals
- G06F21/44—Program or device authentication
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/44—Arrangements for executing specific programs
- G06F9/445—Program loading or initiating
- G06F9/44589—Program code verification, e.g. Java bytecode verification, proof-carrying code
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/50—Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems
- G06F21/57—Certifying or maintaining trusted computer platforms, e.g. secure boots or power-downs, version controls, system software checks, secure updates or assessing vulnerabilities
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/60—Software deployment
- G06F8/61—Installation
- G06F8/63—Image based installation; Cloning; Build to order
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/70—Software maintenance or management
- G06F8/71—Version control; Configuration management
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/44—Arrangements for executing specific programs
- G06F9/445—Program loading or initiating
- G06F9/44505—Configuring for program initiating, e.g. using registry, configuration files
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/44—Arrangements for executing specific programs
- G06F9/455—Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
- G06F9/45533—Hypervisors; Virtual machine monitors
- G06F9/45554—Instruction set architectures of guest OS and hypervisor or native processor differ, e.g. Bochs or VirtualPC on PowerPC MacOS
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/44—Arrangements for executing specific programs
- G06F9/455—Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
- G06F9/45533—Hypervisors; Virtual machine monitors
- G06F9/45558—Hypervisor-specific management and integration aspects
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/44—Arrangements for executing specific programs
- G06F9/455—Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
- G06F9/45533—Hypervisors; Virtual machine monitors
- G06F9/45558—Hypervisor-specific management and integration aspects
- G06F2009/4557—Distribution of virtual machine instances; Migration and load balancing
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/44—Arrangements for executing specific programs
- G06F9/455—Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
- G06F9/45533—Hypervisors; Virtual machine monitors
- G06F9/45558—Hypervisor-specific management and integration aspects
- G06F2009/45575—Starting, stopping, suspending or resuming virtual machine instances
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/44—Arrangements for executing specific programs
- G06F9/455—Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
- G06F9/45533—Hypervisors; Virtual machine monitors
- G06F9/45558—Hypervisor-specific management and integration aspects
- G06F2009/45583—Memory management, e.g. access or allocation
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/44—Arrangements for executing specific programs
- G06F9/455—Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
- G06F9/45533—Hypervisors; Virtual machine monitors
- G06F9/45558—Hypervisor-specific management and integration aspects
- G06F2009/45587—Isolation or security of virtual machine instances
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/44—Arrangements for executing specific programs
- G06F9/455—Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
- G06F9/45533—Hypervisors; Virtual machine monitors
- G06F9/45558—Hypervisor-specific management and integration aspects
- G06F2009/45591—Monitoring or debugging support
Landscapes
- Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Theoretical Computer Science (AREA)
- General Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Computer Security & Cryptography (AREA)
- Computer Hardware Design (AREA)
- Stored Programmes (AREA)
Abstract
【課題】複数のVMで共用するソフトウェアの検証の結果を流用することにより、複数のVMのソフトウェアの検証にかかる時間を短くする。
【解決手段】車両の制御装置10は、各VMのソフトウェアを検証する際に、VMに対して予め付与された指標に応じて、他のVMのソフトウェアの検証で得られた、共通ソフトウェアの検証結果を流用するか否かを決定する流用判断部310と、他のVMのソフトウェアの検証で得られた、共通ソフトウェアの検証結果を流用すると決定した場合には、他のVMのソフトウェアの検証で得られた、共通ソフトウェアの検証結果を流用して、VMのソフトウェアを検証する前記検証部330と、を備えている。
【選択図】図2
PROBLEM TO BE SOLVED: To shorten the time required for verification of software of a plurality of VMs by diverting the result of verification of software shared by a plurality of VMs.
SOLUTION: When a vehicle control device 10 verifies the software of each VM, the verification of the common software obtained by the verification of the software of other VMs according to the index given in advance to the VM. If it is decided to divert the common software verification result obtained by the diversion judgment unit 310 that determines whether or not to divert the result and the verification of the software of other VMs, the verification of the software of the other VM is performed. The verification unit 330 for verifying the VM software by diverting the obtained verification result of the common software is provided.
[Selection diagram] Fig. 2
Description
本発明は、車両の制御装置、車両の制御方法及び制御プログラムに関する。 The present invention relates to a vehicle control device, a vehicle control method, and a control program.
車両のECUの機能をソフトウェアとして1つの制御装置に統合するような開発が行われている。例えば、特許文献1には、バーチャルマシン(VM)間でプログラムモジュールを共用し、VMの起動時間短縮やメモリ節約をする技術が開示されている。 Development is being made to integrate the functions of the vehicle's ECU as software into a single control device. For example, Patent Document 1 discloses a technique for sharing a program module between virtual machines (VMs) to shorten the startup time of the VM and save memory.
ここで、車両のECUの機能を有する複数のソフトウェアを1つの制御装置で実行する場合、複数のVM(Virtual Machine)を構成することで実現される。この場合、ECUの起動時に、VMを構成するのに必要なソフトウェアの真正性を検証するため、VMの数が増加すると、真正性の検証にかかる時間がVMの数に比例して増加し、全てのVMを起動し終わるまでの時間が増加してしまう。 Here, when a plurality of software having an ECU function of a vehicle is executed by one control device, it is realized by configuring a plurality of VMs (Virtual Machines). In this case, in order to verify the authenticity of the software required to configure the VM at the time of starting the ECU, as the number of VMs increases, the time required for authenticity verification increases in proportion to the number of VMs. The time to finish starting all VMs will increase.
本発明は、複数のVMで共用するソフトウェアの検証の結果を流用することにより、複数のVMのソフトウェアの検証にかかる時間を短くする車両の制御装置、車両の制御方法及び制御プログラムを提供することを目的とする。 The present invention provides a vehicle control device, a vehicle control method, and a control program that shortens the time required for verification of software of a plurality of VMs by diverting the verification results of software shared by a plurality of VMs. With the goal.
請求項1に記載の車両の制御装置は、車両に搭載された機器を制御する複数のVM(Virtual Machine)のソフトウェアであるVMソフトウェア、及び2以上の前記VMで共用される共通ソフトウェアを記憶する記憶部と、各前記VMのソフトウェアを検証する際に、前記VMに対して予め付与された指標に応じて、他の前記VMのソフトウェアの検証で得られた、前記共通ソフトウェアの検証結果を流用する検証部と、を備えている。 The vehicle control device according to claim 1 stores VM software that is software of a plurality of VMs (Virtual Machines) that control devices mounted on the vehicle, and common software shared by two or more of the VMs. When verifying the software of each of the VM with the storage unit, the verification result of the common software obtained in the verification of the software of the other VM is diverted according to the index given in advance to the VM. It has a verification unit and a verification unit.
請求項1に記載の車両の制御装置では、車両に搭載された機器を制御する複数のVMのソフトウェアであるVMソフトウェア、及び2以上の前記VMで共用される共通ソフトウェアが、記憶部に記憶されている。当該車両の制御装置では、検証部により、各前記VMのソフトウェアを検証する際に、前記VMに対して予め付与された指標に応じて、他の前記VMのソフトウェアの検証で得られた、前記共通ソフトウェアの検証結果を流用する。これにより、共通ソフトウェアの検証を重複して行わない分だけ、複数のVMのソフトウェアの検証にかかる時間を短くすることができる。すなわち、複数のVMで共用するソフトウェアの検証の結果を流用することにより、複数のVMのソフトウェアの検証にかかる時間を短くすることができる。 In the vehicle control device according to claim 1, VM software, which is software of a plurality of VMs that control devices mounted on the vehicle, and common software shared by two or more of the VMs are stored in a storage unit. ing. In the control device of the vehicle, when the verification unit verifies the software of each of the VMs, the said is obtained by the verification of the software of the other VMs according to the index given in advance to the VMs. Use the verification results of common software. As a result, the time required for the verification of the software of a plurality of VMs can be shortened by the amount that the verification of the common software is not performed twice. That is, by diverting the result of the verification of the software shared by the plurality of VMs, the time required for the verification of the software of the plurality of VMs can be shortened.
請求項2に記載の車両の制御装置は、請求項1に記載の車両の制御装置において、各前記VMのソフトウェアを検証する際に、前記VMに対して予め付与された指標に応じて、他の前記VMのソフトウェアの検証で得られた、前記共通ソフトウェアの検証結果を流用するか否かを決定する流用判断部を更に備え、前記検証部は、他の前記VMのソフトウェアの検証で得られた、前記共通ソフトウェアの検証結果を流用すると決定した場合には、他の前記VMのソフトウェアの検証で得られた、前記共通ソフトウェアの検証結果を流用して、前記VMのソフトウェアを検証し、他の前記VMのソフトウェアの検証で得られた、前記共通ソフトウェアの検証結果を流用しないと決定した場合には、前記VMのVMソフトウェア及び前記共通ソフトウェアを検証する。これにより、他の前記VMのソフトウェアの検証で得られた、前記共通ソフトウェアの検証結果を流用すると決定した場合には、共通ソフトウェアの検証を重複して行わないため、複数のVMのソフトウェアの検証にかかる時間を短くすることができる。 The vehicle control device according to claim 2 is the vehicle control device according to claim 1, according to an index given in advance to the VM when verifying the software of each VM. Further provided with a diversion determination unit for determining whether or not to divert the verification result of the common software obtained in the verification of the software of the VM, the verification unit is obtained in the verification of the software of the other VM. If it is decided to divert the verification result of the common software, the verification result of the common software obtained in the verification of the software of the other VM is diverted to verify the software of the VM, and the other. When it is determined not to divert the verification result of the common software obtained in the verification of the VM software, the VM software of the VM and the common software are verified. As a result, when it is decided to divert the verification result of the common software obtained in the verification of the software of the other VM, the verification of the common software is not duplicated, so that the software of a plurality of VMs is verified. The time required for the software can be shortened.
請求項3に記載の車両の制御装置は、請求項1又は2に記載の車両の制御装置において、前記検証部は、前記VMのソフトウェアの真正性を検証する。これにより、複数のVMのソフトウェアの真正性の検証にかかる時間を短くすることができる。なお、真正性を検証する、とは、改ざんされていないことを検証することである。 The vehicle control device according to claim 3 is the vehicle control device according to claim 1, and the verification unit verifies the authenticity of the software of the VM. As a result, the time required for verifying the authenticity of the software of a plurality of VMs can be shortened. To verify the authenticity is to verify that it has not been tampered with.
請求項4に記載の車両の制御装置は、請求項1~請求項3の何れか1項記載の車両の制御装置において、前記検証部は、前記複数のVMのソフトウェアを起動するときに、各前記VMのソフトウェアを検証する。これにより、複数のVMのソフトウェアを起動するのにかかる時間を短くすることができる。なお、VMのソフトウェアを起動する、とは、VMのVMソフトウェア及び共通ソフトウェアを記憶部から読み出して展開することである。 The vehicle control device according to claim 4 is the vehicle control device according to any one of claims 1 to 3, wherein the verification unit activates the software of the plurality of VMs. Verify the VM software. As a result, the time required to start the software of a plurality of VMs can be shortened. In addition, starting the VM software means reading the VM software and the common software of the VM from the storage unit and expanding the software.
請求項5に記載の車両の制御装置は、請求項1~請求項4の何れか1項記載の車両の制御装置において、前記指標は、前記VMが制御する機器の機能安全に関する機能安全指標、又は前記VMのソフトウェアのセキュリティに関するセキュリティ指標である。これにより、VMが制御する機器の機能安全、又はVMのソフトウェアのセキュリティと、複数のVMのソフトウェアの検証にかかる時間の短縮とを両立することができる。 The vehicle control device according to claim 5 is the vehicle control device according to any one of claims 1 to 4, wherein the index is a functional safety index related to functional safety of the device controlled by the VM. Alternatively, it is a security index related to the security of the VM software. As a result, it is possible to achieve both functional safety of the device controlled by the VM or security of the software of the VM and reduction of the time required for verification of the software of a plurality of VMs.
請求項6に記載の車両の制御方法は、車両に搭載された機器を制御する複数のVM(Virtual Machine)のソフトウェアであるVMソフトウェア、及び2以上の前記VMで共用される共通ソフトウェアを記憶する記憶部を含むコンピュータが、各前記VMのソフトウェアを検証する際に、前記VMに対して予め付与された指標に応じて、他の前記VMのソフトウェアの検証で得られた、前記共通ソフトウェアの検証結果を流用する検証ステップ、を備えている。 The vehicle control method according to claim 6 stores VM software, which is software of a plurality of VMs (Virtual Machines) that control devices mounted on the vehicle, and common software shared by two or more of the VMs. When the computer including the storage unit verifies the software of each of the VMs, the verification of the common software obtained by the verification of the software of the other VMs according to the index given in advance to the VMs. It has a verification step, which diverts the results.
請求項6に記載の車両の制御方法は、検証ステップにより、各前記VMのソフトウェアを検証する際に、前記VMに対して予め付与された指標に応じて、他の前記VMのソフトウェアの検証で得られた、前記共通ソフトウェアの検証結果を流用する。これにより、共通ソフトウェアの検証を重複して行わない分だけ、複数のVMのソフトウェアの検証にかかる時間を短くすることができる。すなわち、複数のVMで共用するソフトウェアの検証の結果を流用することにより、複数のVMのソフトウェアの検証にかかる時間を短くすることができる。 The vehicle control method according to claim 6 is the verification of the software of the other VM according to the index given in advance to the VM when the software of each VM is verified by the verification step. The obtained verification result of the common software is diverted. As a result, the time required for the verification of the software of a plurality of VMs can be shortened by the amount that the verification of the common software is not performed twice. That is, by diverting the result of the verification of the software shared by the plurality of VMs, the time required for the verification of the software of the plurality of VMs can be shortened.
請求項7に記載の制御プログラムは、車両に搭載された機器を制御する複数のVM(Virtual Machine)のソフトウェアであるVMソフトウェア、及び2以上の前記VMで共用される共通ソフトウェアを記憶する記憶部を含むコンピュータに、各前記VMのソフトウェアを検証する際に、前記VMに対して予め付与された指標に応じて、他の前記VMのソフトウェアの検証で得られた、前記共通ソフトウェアの検証結果を流用する検証ステップを含む処理を実行させる。 The control program according to claim 7 is a storage unit that stores VM software that is software of a plurality of VMs (Virtual Machines) that control devices mounted on a vehicle, and common software shared by two or more VMs. When verifying the software of each of the VMs on a computer including the above, the verification result of the common software obtained by the verification of the software of the other VMs is obtained according to the index given in advance to the VM. Execute the process including the verification step to be diverted.
請求項7に記載の制御プログラムは、検証ステップにより、各前記VMのソフトウェアを検証する際に、前記VMに対して予め付与された指標に応じて、他の前記VMのソフトウェアの検証で得られた、前記共通ソフトウェアの検証結果を流用する。これにより、共通ソフトウェアの検証を重複して行わない分だけ、複数のVMのソフトウェアの検証にかかる時間を短くすることができる。すなわち、複数のVMで共用するソフトウェアの検証の結果を流用することにより、複数のVMのソフトウェアの検証にかかる時間を短くすることができる。 The control program according to claim 7 is obtained by verifying the software of the other VM according to the index given in advance to the VM when the software of each VM is verified by the verification step. In addition, the verification result of the common software will be diverted. As a result, the time required for the verification of the software of a plurality of VMs can be shortened by the amount that the verification of the common software is not performed twice. That is, by diverting the result of the verification of the software shared by the plurality of VMs, the time required for the verification of the software of the plurality of VMs can be shortened.
本発明によれば、複数のVMで共用するソフトウェアの検証の結果を流用することにより、複数のVMのソフトウェアの検証にかかる時間を短くすることができる。 According to the present invention, the time required for verification of software of a plurality of VMs can be shortened by diverting the result of verification of software shared by a plurality of VMs.
[第1の実施形態]
図1は、第1の実施形態に係る車両12の制御系を示すブロック図である。
[First Embodiment]
FIG. 1 is a block diagram showing a control system of the
(構成)
図1に示されるように、第1の実施形態に係る車両12は、車両の制御装置(以下、単に「制御装置」とする)10としてのECU(Electronic Control Unit)20と、ECU20に接続される車載機器群16とを含んで構成されている。車載機器群16は、車両12に設けられたセンサ類であって、ボデー各部、エンジン各部に装着されたセンサを含む。また、車載機器群16は、車両12に設けられた駆動用の装置類であって、ボデー各部、エンジン各部に装着されたモータ、バルブ、アクチュエータを含む。
(Constitution)
As shown in FIG. 1, the
ECU20は、CPU(Central Processing Unit)20A、ROM(Read Only Memory)20B、RAM(Random Access Memory)20C、通信I/F(Inter Face)20D及び入出力I/F(Inter Face)20E、ストレージ20F及びセキュリティモジュール20Gを含んで構成されている。CPU20A、ROM20B、RAM20C、通信I/F20D、入出力I/F20E、ストレージ20F及びセキュリティモジュール20Gは、バス20Hを介して相互に通信可能に接続されている。
The
CPU20Aは、中央演算処理ユニットであり、各種プログラムを実行したり、各部を制御したりする。すなわち、CPU20Aは、ROM20Bからプログラムを読み出し、RAM20Cを作業領域としてプログラムを実行する。本実施形態では、CPU20A自体を複数備えてもよいし(いわゆる、マルチプロセッサ)、CPU20Aにおいてコアを複数有していてもよい(いわゆる、マルチコア)。
The
ROM20Bは、各種プログラム及び各種データを記憶している。本実施形態のROM20Bには、制御プログラム200が記憶されている。制御プログラム200は、後述する起動処理を行うためのプログラムである。また、ROM20Bには、複数のVMで共用される共通ソフトウェア群210が記憶されている。
The
RAM20Cは、作業領域として一時的にプログラム又はデータを記憶する。
The
通信I/F20Dは、車両12に設けられた他の装置と接続するためのインタフェースである。当該インタフェースは、CAN(Controller Area Network)、イーサネット(登録商標)等による通信規格が用いられる。
The communication I /
入出力I/F20Eは、車両12に搭載される車載機器群16と通信するためのインタフェースである。
The input / output I /
ストレージ20Fには、VM起動順序リスト220が記憶されている。VM起動順序リスト220は、各VMを起動する場合における各VMの起動順序を規定したリストである。VM起動順序リスト220には、更に、各VMに対して予め定められた指標が付与されている。指標としては、例えば、VMに対して求められるシステム安全性要求レベルが用いられる。ここで、システム安全性要求レベルは、ECUの誤動作、故障などにより引き起こされる問題の種類と発生確率の組み合わせから、当該VMに求められる安全性のレベルである。車両の場合は、ISO26262で車両の電子制御システムに対し、安全性のレベルは、ASIL(Automotive Safety Intergrity Level)として定義されている。具体的には、システム異常が生じることにより人体へ危害を及ぼしたり物的損害を与えるなどの可能性があるVMには、システム安全性要求レベル「高」が付与されている。一方、システム安全性が要求されないVM、つまり、システム異常が生じることにより人体へ危害を及ぼしたり物的損害を与えるなどの可能性がないVMには、システム安全性要求レベル「低」が付与されている。それ以外のVMには、システム安全性要求レベル「中」が付与されている。
The VM
また、ストレージ20Fには、2つ以上のVMの各々を構成するためのVMソフトウェア群230が記憶されている。2つ以上のVMソフトウェア群230は、例えば、後述するマルチメディアVMを構成するためのマルチメディアVMソフトウェア群230A、後述するボデー制御VMを構成するためのボデー制御VMソフトウェア群230B、及び後述する自動運転制御VMを構成するための自動運転制御VMソフトウェア群230Cを含んでいる。なお、VMソフトウェア群230は、用途に応じたVMソフトウェア群230をさらに含んでいる。
Further, the
ストレージ20Fは、ROMやハードディスク、又は各種Flashデバイス(SSD(Solid State Drive)、eMMC(embedded MultiMediaCard)、SD(Secure Digital)など)で実現される。
The
セキュリティモジュール20Gは、ハードウェアでソフトウェアの真正性を検証するものであり、例えば、TPM(Trusted Platform Module)、又はHSM(Hardware Security Module)である。セキュリティモジュール20Gは、例えば、保管している鍵と、暗号又は復号アクセラレータとを用いた暗号又は復号を行ったり、ハッシュ値等の演算を行ったりして、ソフトウェアの真正性を検証する。
The
図2は、ECU20の機能構成の例を示すブロック図である。各機能構成は、CPU20AがROM20Bに記憶された制御プログラム200を読み出し、これを実行することによって実現される。
FIG. 2 is a block diagram showing an example of the functional configuration of the
図2に示されるように、ECU20は、2つ以上のVM110と、VM構成部300とを有している。VM110は、例えば、マルチメディアVM110A、ボデー制御VM110B及び自動運転制御VM110Cを含んでいる。
As shown in FIG. 2, the
なお、ECU20において実現されるVM110はこの限りでなく、用途に応じたVM110をさらに含んでいてもよい。
The VM110 realized in the
VM構成部300は、各VM110を仮想的に構成する機能を有している。このVM構成部300は、いわゆるハイパーバイザーの機能により実現され、起動時に、ストレージ20Fから、VM起動順序リスト220を読み出し、VM起動順序リスト220に規定されている起動順序に従って、VMソフトウェア群230及び共通ソフトウェア群210を読み出し、VM110を起動する。具体的には、VM構成部300は、VMのソフトウェア群230及び共通ソフトウェア群210をRAM20Cに展開し、VM110を起動させる。
The
VM構成部300は、起動VM判断部310と、流用判断部320と、検証部330と、起動部340とをさらに含んでいる。
The
起動VM判断部310は、VM起動順序リスト220に規定されている起動順序に従って、起動するVM110を判断すると共に、当該VM110のシステム安全性要求レベルを取得する。
The start-up
流用判断部320は、各VM110のVMソフトウェア群230を検証する際に、当該VM110に対して予め付与されたシステム安全性要求レベルに応じて、他のVM110のVMソフトウェア群230の検証で得られた、共通ソフトウェア群210の検証結果を流用するか否かを決定する。具体的には、流用判断部320は、当該VM110のシステム安全性要求レベルが「高」である場合には、共通ソフトウェア群210の検証結果を流用しないと決定する。例えば、ボデー制御VM110Bには、システム安全性要求レベル「高」が付与されているため、ボデー制御VM110Bについて、共通ソフトウェア群210の検証結果を流用しないと決定する。
The
流用判断部320は、当該VM110のシステム安全性要求レベルが「中」である場合には、他のVM110のVMソフトウェア群230の検証で得られた、共通ソフトウェア群210の検証結果を流用すると決定する。例えば、自動運転制御VM110Cには、システム安全性要求レベル「中」が付与されているため、自動運転制御VM110Cについて、共通ソフトウェア群210の検証結果を流用すると決定する。
When the system safety requirement level of the
流用判断部320は、当該VMのシステム安全性要求レベルが「低」である場合には、当該VM110のVMソフトウェア群230の検証を行わないと決定する。例えば、マルチメディアVM110Aには、システム安全性要求レベル「低」が付与されているため、マルチメディアVMソフトウェア群230Aの検証を行わないと決定する。
The
検証部330は、複数のVM110を起動するときに、各VM110のVMソフトウェア群230の真正性を検証する。このとき、検証部330は、他のVM110のVMソフトウェア群230の検証で得られた、共通ソフトウェア群210の検証結果を流用しないと決定した場合には、他のVM110のVMソフトウェア群230の検証で得られた、共通ソフトウェア群210の検証結果を流用しないで、当該VM110のVMソフトウェア群230の真正性を検証する。例えば、検証部330は、共通ソフトウェア群210の検証結果を流用しないと決定された場合には、セキュリティモジュール20Gを用いて、当該VM110のVMソフトウェア群230及び共通ソフトウェア群210の真正性を検証する。
The
検証部330は、共通ソフトウェア群210の検証結果を流用すると決定された場合には、セキュリティモジュール20Gを用いて、当該VM110のVMソフトウェア群230の真正性を検証し、共通ソフトウェア群210の検証を省略する。
When the
検証部330は、VMソフトウェア群230の検証を行わないと決定された場合には、当該VM110のVMソフトウェア群230及び共通ソフトウェア群210の検証を省略する。
When the
起動部340は、各VM110について、当該VM110のVMソフトウェア群230及び共通ソフトウェア群210の真正性の検証が成功した場合に、当該VM110のVMソフトウェア群230及び共通ソフトウェア群210をRAM20Cに展開して、当該VM110を起動する。
When the authenticity of the
(制御の流れ)
本実施形態において、ECU10が実行する起動処理の流れの例を図3のフローチャートで説明する。
(Control flow)
In the present embodiment, an example of the flow of the activation process executed by the
図3のステップS100において、CPU20Aは、ソフトウェアとしてのハイパーバイザーを起動する。
In step S100 of FIG. 3, the
ステップS101において、起動VM判断部310は、VM起動順序リスト220に規定されている起動順序に従って、起動するVM110を判断すると共に、当該VM110のシステム安全性要求レベルを取得する。
In step S101, the start-up
ステップS102において、起動VM判断部310は、起動していないVM110があるか否かを判定する。上記ステップS101で起動するVM110が判断された場合には、ステップS103へ進む。一方、上記ステップS101で起動するVM110が判断されなかった場合には、起動処理を終了する。
In step S102, the activation
ステップS103においては、流用判断部320は、起動するVM110のシステム安全性要求レベルが「高」、「中」、及び「低」の何れかであるかを判定する。起動するVM110のシステム安全性要求レベルが「高」である場合には、ステップS105へ進む。起動するVM110のシステム安全性要求レベルが「中」である場合には、ステップS104へ進む。起動するVM110のシステム安全性要求レベルが「低」である場合には、ステップS109へ進む。
In step S103, the
ステップS104において、流用判断部320は、共通ソフトウェア群210について、他のVM110の検証において検証済みであるか否かを判定する。共通ソフトウェア群210について、他のVM110の検証において検証済みである場合には、流用判断部320は、共通ソフトウェア群210についての検証結果を流用すると判断し、ステップS107へ進む。共通ソフトウェア群210について、他のVM110の検証において検証されていない場合には、ステップS105へ進む。
In step S104, the
ステップS105において、検証部330は、セキュリティモジュール20Gを用いて、共通ソフトウェア群210の真正性を検証する。
In step S105, the
ステップS106において、検証部330は、上記ステップS105の検証結果が、真正であるとの検証結果であるか否かを判定する。上記ステップS105の検証結果が、真正でないとの検証結果である場合には、ステップS110へ進み、CPU20Aが、起動エラーを出力し、起動処理を終了する。一方、上記ステップS105の検証結果が、真正であるとの検証結果である場合には、ステップS107へ進む。
In step S106, the
ステップS107において、検証部330は、セキュリティモジュール20Gを用いて、当該VM110のVMソフトウェア群230の真正性を検証する。
In step S107, the
ステップS108において、検証部330は、上記ステップS107の検証結果が、真正であるとの検証結果であるか否かを判定する。上記ステップS107の検証結果が、真正でないとの検証結果である場合には、ステップS110へ進む。一方、上記ステップS107の検証結果が、真正であるとの検証結果である場合には、ステップS109へ進む。
In step S108, the
ステップS109において、起動部340は、起動するVM110のVMソフトウェア群230及び共通ソフトウェア群210をRAM20Cに展開して、当該VM110を起動し、上記ステップS101へ戻る。
In step S109, the
ECU10が実行する起動処理の流れの具体例を図4のフローチャートで説明する。ここでは、VM起動順序リスト220に、マルチメディアVM110A、ボデー制御VM110B、自動運転制御VM110Cの順に起動することが規定されている場合を例に説明する。
A specific example of the flow of the activation process executed by the
ステップS101A~ステップS109Aにおいて、マルチメディアVM110Aを、起動するVM110として、上記図3のステップS101~ステップS109と同様に処理を行う。このとき、マルチメディアVM110Aのシステム安全性要求レベルが「低」であるため、ステップS103Aにおいて、起動するマルチメディアVM110Aのシステム安全性要求レベルが「低」であると判定され、マルチメディアVMソフトウェア群230A及び共通ソフトウェア群210の何れについても真正性の検証を行わずに、ステップS109Aへ進む。
In steps S101A to S109A, the multimedia VM110A is set as the VM110 to be activated, and the same processing as in steps S101 to S109 of FIG. 3 is performed. At this time, since the system safety requirement level of the multimedia VM110A is "low", it is determined in step S103A that the system safety requirement level of the multimedia VM110A to be activated is "low", and the multimedia VM software group. The process proceeds to step S109A without verifying the authenticity of either the 230A or the
そして、ステップS101B~ステップS109Bにおいて、ボデー制御VM110Bを、起動するVM110として、上記図3のステップS101~ステップS109と同様に処理を行う。このとき、ボデー制御VM110Bのシステム安全性要求レベルが「高」であるため、ステップS103Bにおいて、起動するボデー制御VM110Bのシステム安全性要求レベルが「高」であると判定され、ステップS105B、ステップS107Bにおいて、ボデー制御VMソフトウェア群230B及び共通ソフトウェア群210の双方について真正性の検証を行う。
Then, in steps S101B to S109B, the body control VM110B is set as the VM110 to be activated, and the same processing as in steps S101 to S109 of FIG. 3 is performed. At this time, since the system safety requirement level of the body control VM110B is "high", it is determined in step S103B that the system safety requirement level of the body control VM110B to be activated is "high", and steps S105B and S107B are determined. In, the authenticity of both the body control
そして、ステップS101C~ステップS109Cにおいて、自動運転制御VM110Cを、起動するVM110として、上記図3のステップS101~ステップS109と同様に処理を行う。このとき、自動運転制御VM110Cのシステム安全性要求レベルが「中」であるため、ステップS103Cにおいて、起動する自動運転制御VM110Cのシステム安全性要求レベルが「中」であると判定される。また、ステップS104Cにおいて、共通ソフトウェア群210について、ボデー制御VM110Bの検証において検証済みであると判定され、ステップS107へ進む。そして、ステップS107Cにおいて、自動運転制御VMソフトウェア群230Cについて真正性の検証を行う。
Then, in steps S101C to S109C, the automatic operation control VM110C is set as the VM110 to be activated, and the same processing as in steps S101 to S109 of FIG. 3 is performed. At this time, since the system safety requirement level of the automated driving control VM110C is "medium", it is determined in step S103C that the system safety requirement level of the automated driving control VM110C to be activated is "medium". Further, in step S104C, it is determined that the
(第1の実施形態のまとめ)
本実施形態の制御装置10では、複数のVMで共用する共通ソフトウェア群の検証の結果を流用することにより、複数のVMのソフトウェア群の検証にかかる時間を短くすることができる。
(Summary of the first embodiment)
In the
また、本実施形態の制御装置10では、VMが制御する機器の機能安全と、複数のVMのソフトウェアの検証にかかる時間の短縮とを両立することができる。
Further, in the
また、本実施形態の制御装置10では、ECUの故障時安全性担保のために、ECU起動時に、VMのソフトウェア群に改ざんがないことを検証する。ECU起動時に行う共通ソフトウェア群の検証を、特定条件下では検証済みであると認め、起動時間の短縮を図りつつ、共通ソフトウェア群の検証は、VMに求められる安全性のレベルに応じて、再検証するかどうかを決定し、自システムの安全性担保を図る。
Further, in the
また、システム安全性要求レベルが高いVMに関しては、システム異常が生じることにより人体へ危害を及ぼしたり、物的損害を与えるなどの可能性があり、VM起動前にそのVMを構成するVMソフトウェア群230、及び共通ソフトウェア群210が何らかの要因によって改ざんされてしまっていないかを、ECU20は、セキュリティモジュールを用いて検証する。一方で、システム安全性が要求されないVM、つまり、システム異常により人体へ危害を及ぼしたり、物的損害を与えるなどの可能性がないVMについては、そのソフトウェアの真正性検証は必須ではないため、VM起動時間の短縮のためにソフトウェア群の真正性検証を行わないこととする。
In addition, for VMs with a high system safety requirement level, there is a possibility that a system abnormality may cause harm to the human body or cause physical damage, and the VM software group that composes the VM before starting the VM. The
[第2の実施形態]
第1の実施形態では、ECU20にROM20Bを設けていた。これに対して、第2の実施形態では、ECU20にROM20Bを設けていない点で第1の実施形態と異なる。以下、第1の実施形態との相違点について説明する。なお、同一の構成には同一の符号を付しており、説明については省略する。
[Second Embodiment]
In the first embodiment, the
図5に示されるように、本実施形態のECU20は、CPU20A、RAM20C、通信I/F20D及び入出力I/F20E、ストレージ20F及びセキュリティモジュール20Gを含んで構成されている。
As shown in FIG. 5, the
ストレージ20Fには、制御プログラム200及び共通ソフトウェア群210が記憶されている。
The
本実施形態においても、第1の実施形態と同様の作用効果を得ることができる。 Also in this embodiment, the same effect as that of the first embodiment can be obtained.
[第3の実施形態]
第1の実施形態では、ECU20にストレージ20Fを設けていた。これに対して、第3の実施形態では、ECU20にストレージ20Fを設けていない点で第1の実施形態と異なる。以下、第1の実施形態との相違点について説明する。なお、同一の構成には同一の符号を付しており、説明については省略する。
[Third Embodiment]
In the first embodiment, the
図6に示されるように、本実施形態のECU20は、CPU20A、ROM20B、RAM20C、通信I/F20D、入出力I/F20E及びセキュリティモジュール20Gを含んで構成されている。
As shown in FIG. 6, the
ROM20Bには、VM起動順序リスト220及び2つ以上のVMソフトウェア群230が記憶されている。
The VM
本実施形態においても、第1の実施形態と同様の作用効果を得ることができる。 Also in this embodiment, the same effect as that of the first embodiment can be obtained.
[第4の実施形態]
第1の実施形態に対して、第4の実施形態では、ROM20Bの代わりにEEPROM(Electrically Erasable Programmable Read-Only Memory)420Bを設けた点で第1の実施形態と異なる。以下、第1の実施形態との相違点について説明する。なお、同一の構成には同一の符号を付しており、説明については省略する。
[Fourth Embodiment]
The fourth embodiment differs from the first embodiment in that an EEPROM (Electrically Erasable Project Read-Only Memory) 420B is provided instead of the
図7に示されるように、本実施形態のECU20は、CPU20A、EEPROM420B、RAM20C、通信I/F20D、入出力I/F20E、ストレージ20F及びセキュリティモジュール20Gを含んで構成されている。
As shown in FIG. 7, the
EEPROM20Bには、制御プログラム200及び共通ソフトウェア群210が記憶されている。
The
本実施形態においても、第1の実施形態と同様の作用効果を得ることができる。 Also in this embodiment, the same effect as that of the first embodiment can be obtained.
[第5の実施形態]
第1の実施形態に対して、第5の実施形態では、セキュリティモジュール20Gの他に、セキュリティモジュール20IをECU20に設けた点で異なる。以下、第1の実施形態との相違点について説明する。なお、同一の構成には同一の符号を付しており、説明については省略する。
[Fifth Embodiment]
The fifth embodiment is different from the first embodiment in that the security module 20I is provided in the
(構成)
図8に示されるように、本実施形態のECU20は、CPU20A、ROM20B、RAM20C、通信I/F20D、入出力I/F20E、ストレージ20F、セキュリティモジュール20G及びセキュリティモジュール20Iを含んで構成されている。
(Constitution)
As shown in FIG. 8, the
検証部330は、複数のVMのソフトウェアを起動するときに、各VMのソフトウェアの真正性の検証を、セキュリティモジュール20G及びセキュリティモジュール20Iを用いて並列に行う。
When starting the software of a plurality of VMs, the
(制御の流れ)
本実施形態において、ECU10が実行する起動処理の流れの例を図9のフローチャートで説明する。なお、上記実施形態と同一の処理には同一の符号を付しており、説明については省略する。
(Control flow)
In the present embodiment, an example of the flow of the activation process executed by the
図9のステップS100において、CPU20Aは、ソフトウェアとしてのハイパーバイザーを起動する。
In step S100 of FIG. 9, the
ステップS101において、起動VM判断部310は、VM起動順序リスト220に規定されている起動順序に従って、起動するVM110を判断すると共に、当該VM110のシステム安全性要求レベルを取得する。ここでは、起動するVM110を2つ判断する。
In step S101, the start-up
ステップS102において、起動VM判断部310は、起動していないVM110があるか否かを判定する。上記ステップS101で起動するVM110が判断された場合には、ステップS500へ進む。一方、上記ステップS101で起動するVM110が判断されなかった場合には、起動処理を終了する。
In step S102, the activation
ステップS500において、CPU20Aは、起動する2つのVM110の起動処理を並列に実行する。このステップS500は、起動する2つのVM110に対して、セキュリティモジュール20G及びセキュリティモジュール20Iを用いて、上記図3のステップS103~ステップS110と同様の処理を並列に行う。そして、ステップS101へ戻る。
In step S500, the
本実施形態においても、第1の実施形態と同様の作用効果を得ることができる。 Also in this embodiment, the same effect as that of the first embodiment can be obtained.
また、VM110の起動を並列化することが可能となり、安全性の担保はそのままにVMの起動時間の短縮を図ることができる。
In addition, it is possible to parallelize the activation of the
[備考]
なお、上記第5実施形態では、VM110の起動を並列化する場合を例に説明したが、これに限定されない。ソフトウェア群の真正性の検証を並列化するようにしてもよい。この場合における、ECU10が実行する起動処理の流れの例を図10のフローチャートで説明する。なお、上記実施形態と同一の処理には同一の符号を付しており、説明については省略する。
[remarks]
In the fifth embodiment, the case where the activation of the
図10のステップS104において、流用判断部320は、共通ソフトウェア群210について、他のVM110の検証において検証済みであるか否かを判定する。共通ソフトウェア群210について、他のVM110の検証において検証済みである場合には、流用判断部320は、共通ソフトウェア群210についての検証結果を流用すると判断し、ステップS107へ進む。共通ソフトウェア群210について、他のVM110の検証において検証されていない場合には、ステップS600へ進む。
In step S104 of FIG. 10, the
ステップS600において、検証部330は、セキュリティモジュール20Gを用いた、VMソフトウェア群230の真正性の検証と、セキュリティモジュール20Iを用いた、共通ソフトウェア群210の真正性の検証と、を並列に行う。
In step S600, the
ステップS601において、検証部330は、上記ステップS107又はS600の検証結果が、真正であるとの検証結果であるか否かを判定する。上記ステップS107又はS600の検証結果が、真正でないとの検証結果である場合には、ステップS110へ進む。一方、上記ステップS107又はS600の検証結果が、真正であるとの検証結果である場合には、ステップS109へ進む。
In step S601, the
また、上記実施形態では、システム安全性要求レベルを「高」、「中」、「低」の3段階としたが、ECUの特性や安全性要件などに合わせて、システム安全性要求レベルが更に細分化されてもよい。ISO26262では、ASILはA~Dの4段階と対象外とからなる5段階である。この5段階の何れであるかに応じて、共通ソフトウェア群210の検証結果を流用するか否かを決定してもよい。
Further, in the above embodiment, the system safety requirement level is set to three levels of "high", "medium", and "low", but the system safety requirement level is further increased according to the characteristics and safety requirements of the ECU. It may be subdivided. In ISO26262, ASIL has 4 stages from A to D and 5 stages consisting of non-target. Depending on which of these five stages, it may be determined whether or not to divert the verification result of the
また、上記実施形態では、安全性要求レベルが最上位のVMを起動するときにはVMソフトウェア群230と共通ソフトウェア群210との双方の真正性の検証を行う場合を例に説明したが、これに限定されない。安全性要求レベルが細分化されたとき、上位2レベルまでは、VMソフトウェア群230と共通ソフトウェア群210との双方の真正性の検証を行うようにしてもよい。
Further, in the above embodiment, the case where the authenticity of both the
また、上記実施形態では、共通ソフトウェア群210を1つとしてあげたが、起動するVMの内容によっては、共通ソフトウェア群210が複数存在することも考えられる。この場合、図11に示すように、ROM20Bは、共通ソフトウェア群210AB及び共通ソフトウェア群210CDを記憶している。例えば、共通ソフトウェア群210ABは、マルチメディアVM110Aとボデー制御VM110Bとで共用され、共通ソフトウェア群210CDは、自動運転制御VM110Cと他のVM110とで共用される。この場合、VM起動順序リスト220には、各VM110について、当該VM110と関係する共通ソフトウェア群210の情報を更に規定しておく必要がある。また、VM構成部300は、どの共通ソフトウェア群210を、どのシステム安全性要求レベルのVM起動時に真正性検証を行ったかを記憶しておく必要がある。
Further, in the above embodiment, the
また、上記実施形態では、共通ソフトウェア群210の真正性の検証を行い、その後、VMソフトウェア群230の真正性の検証を行う場合を例に説明したが、これに限定されない。共通ソフトウェア群210の真正性の検証と、VMソフトウェア群230の真正性の検証との順序を入れ替えてもよい。この場合には、図12に示すように、ステップS103において、流用判断部320は、起動するVM110のシステム安全性要求レベルが「高」、「中」、及び「低」の何れかであるかを判定する。起動するVM110のシステム安全性要求レベルが「中」又は「高」である場合には、ステップS107へ進む。起動するVM110のシステム安全性要求レベルが「低」である場合には、ステップS109へ進む。
Further, in the above embodiment, the case where the authenticity of the
ステップS107において、検証部330は、セキュリティモジュール20Gを用いて、当該VM110のVMソフトウェア群230の真正性を検証する。
In step S107, the
ステップS108において、検証部330は、上記ステップS107の検証結果が、真正であるとの検証結果であるか否かを判定する。上記ステップS107の検証結果が、真正でないとの検証結果である場合には、ステップS110へ進む。一方、上記ステップS107の検証結果が、真正であるとの検証結果である場合には、ステップS104へ進む。
In step S108, the
ステップS104において、流用判断部320は、共通ソフトウェア群210について、他のVM110の検証において検証済みであるか否かを判定する。共通ソフトウェア群210について、他のVM110の検証において検証済みである場合には、流用判断部320は、共通ソフトウェア群210についての検証結果を流用すると判断し、ステップS109へ進む。共通ソフトウェア群210について、他のVM110の検証において検証されていない場合には、ステップS105へ進む。
In step S104, the
ステップS105において、検証部330は、セキュリティモジュール20Gを用いて、共通ソフトウェア群210の真正性を検証する。
In step S105, the
ステップS106において、検証部330は、上記ステップS105の検証結果が、真正であるとの検証結果であるか否かを判定する。上記ステップS105の検証結果が、真正でないとの検証結果である場合には、ステップS110へ進み、CPU20Aが、起動エラーを出力し、起動処理を終了する。一方、上記ステップS105の検証結果が、真正であるとの検証結果である場合には、ステップS109へ進む。
In step S106, the
また、上記実施形態では、各VM110に対して付与される指標として、安全性要求レベルを用いる場合を例に説明したが、これに限定されない。各VM110に対して付与される指標として、例えば、当該VM110のソフトウェアのセキュリティレベルを付与してもよい。この場合、ソフトウェアのセキュリティレベルが高い場合には、他のVM110の検証で得られた共通ソフトウェア群210の真正性の検証結果を流用すると判断し、一方、ソフトウェアのセキュリティレベルが低い場合には、他のVM110の検証で得られた共通ソフトウェア群210の真正性の検証結果を流用せずに、当該VM110のVMソフトウェア群230及び共通ソフトウェア群210の真正性を検証する。
Further, in the above embodiment, the case where the safety requirement level is used as an index given to each
また、上記実施形態では、各VM110のVMソフトウェア群230及び共通ソフトウェア群210の真正性を検証する場合を例に説明したが、これに限定されない。例えば、各VM110のVMソフトウェア群230及び共通ソフトウェア群210の発行者の妥当性を検証するようにしてもよい。
Further, in the above embodiment, the case of verifying the authenticity of the
また、上記実施形態では、VM起動順序リスト220を基にVM110を起動していく場合を例に説明したが、これに限定されない。制御プログラム200内でVM110の起動順序を固定的にしてもよい。この場合、起動処理内における、起動するVM110の判定が不要となる。あるいは、起動VM判断部310が、VM起動順序リスト220を用いずに、ストレージ20F又はROM20B内のVMソフトウェア群230を走査し、VM110の起動順序を決めるようにしてもよい。
Further, in the above embodiment, the case where the
また、上記実施形態でCPU20Aがソフトウェア(プログラム)を読み込んで実行した処理は、CPU以外の各種のプロセッサが実行してもよい。この場合のプロセッサとしては、FPGA(Field-Programmable Gate Array)等の製造後に回路構成を変更可能なPLD(Programmable Logic Device)、及びASIC(Application Specific Integrated Circuit)等の特定の処理を実行させるために専用に設計された回路構成を有するプロセッサである専用電気回路等が例示される。また、各処理を、これらの各種のプロセッサのうちの1つで実行してもよいし、同種又は異種の2つ以上のプロセッサの組み合わせ(例えば、複数のFPGA、及びCPUとFPGAとの組み合わせ等)で実行してもよい。また、これらの各種のプロセッサのハードウェア的な構造は、より具体的には、半導体素子等の回路素子を組み合わせた電気回路である。
Further, the processing in which the
また、上記実施形態において、プログラムはコンピュータが読み取り可能な非一時的記録媒体に予め記憶(インストール)されている態様で説明した。例えば、ECU20において制御プログラム200は、ROM20Bに予め記憶されている。しかしこれに限らず、各プログラムは、HDD(Hard Disk Drive)、及びSSD等のストレージに記憶されていてもよい。また、各プログラムは、CD-ROM(Compact Disc Read Only Memory)、DVD-ROM(Digital Versatile Disc Read Only Memory)、及びUSB(Universal Serial Bus)メモリ等の非一時的記録媒体に記録された形態で提供されてもよい。また、各プログラムは、ネットワークを介して外部装置からダウンロードされる形態としてもよい。
Further, in the above embodiment, the program has been described in a manner in which the program is pre-stored (installed) in a non-temporary recording medium that can be read by a computer. For example, in the
上記実施形態で説明した処理の流れも、一例であり、主旨を逸脱しない範囲内において不要なステップを削除したり、新たなステップを追加したり、処理順序を入れ替えたりしてもよい。 The processing flow described in the above embodiment is also an example, and unnecessary steps may be deleted, new steps may be added, or the processing order may be changed within a range that does not deviate from the gist.
10 車両の制御装置
12 車両
20 ECU
20B ROM(記憶部)
20F ストレージ(記憶部)
110 VM(Virtual Machine)
110A マルチメディアVM
110B ボデー制御VM
110C 自動運転制御VM
200 制御プログラム
210、210AB、210CD 共通ソフトウェア群(共通ソフトウェア)
220 起動順序リスト
230 VMソフトウェア群(VMソフトウェア)
230A マルチメディアVMソフトウェア群
230B ボデー制御VMソフトウェア群
230C 自動運転制御VMソフトウェア群
300 VM構成部
320 流用判断部
330 検証部
340 起動部
10
20B ROM (storage unit)
20F storage (storage unit)
110 VM (Virtual Machine)
110A multimedia VM
110B body control VM
110C automatic operation control VM
200
220
230A Multimedia
Claims (7)
各前記VMのソフトウェアを検証する際に、前記VMに対して予め付与された指標に応じて、他の前記VMのソフトウェアの検証で得られた、前記共通ソフトウェアの検証結果を流用する検証部と、
を備える車両の制御装置。 A storage unit that stores VM software, which is software of a plurality of VMs (Virtual Machines) that control devices mounted on a vehicle, and common software shared by two or more VMs.
When verifying the software of each of the VMs, a verification unit that diverts the verification results of the common software obtained in the verification of the software of the other VMs according to the index given in advance to the VM. ,
Vehicle control device.
前記検証部は、
他の前記VMのソフトウェアの検証で得られた、前記共通ソフトウェアの検証結果を流用すると決定した場合には、他の前記VMのソフトウェアの検証で得られた、前記共通ソフトウェアの検証結果を流用して、前記VMのソフトウェアを検証し、
他の前記VMのソフトウェアの検証で得られた、前記共通ソフトウェアの検証結果を流用しないと決定した場合には、前記VMのVMソフトウェア及び前記共通ソフトウェアを検証
する請求項1記載の車両の制御装置。 When verifying the software of each VM, whether or not to divert the verification result of the common software obtained in the verification of other VM software according to the index given in advance to the VM. Further equipped with a diversion judgment unit to determine
The verification unit
If it is decided to divert the verification result of the common software obtained in the verification of the software of the other VM, the verification result of the common software obtained in the verification of the software of the other VM is diverted. Then, verify the VM software and
The vehicle control device according to claim 1, wherein when it is determined not to divert the verification result of the common software obtained in the verification of the other VM software, the VM software of the VM and the common software are verified. ..
各前記VMのソフトウェアを検証する際に、前記VMに対して予め付与された指標に応じて、他の前記VMのソフトウェアの検証で得られた、前記共通ソフトウェアの検証結果を流用する検証ステップ
を備える車両の制御方法。 A computer including a VM software that is software of a plurality of VMs (Virtual Machines) that control devices mounted on a vehicle, and a storage unit that stores common software shared by two or more VMs.
When verifying the software of each of the VMs, a verification step of diverting the verification result of the common software obtained in the verification of the software of the other VMs according to the index given in advance to the VM is performed. How to control the vehicle to be equipped.
各前記VMのソフトウェアを検証する際に、前記VMに対して予め付与された指標に応じて、他の前記VMのソフトウェアの検証で得られた、前記共通ソフトウェアの検証結果を流用する検証ステップ
を含む処理を実行させるための制御プログラム。 A computer including a VM software that is software of a plurality of VMs (Virtual Machines) that control devices mounted on a vehicle, and a storage unit that stores common software shared by two or more VMs.
When verifying the software of each of the VMs, a verification step of diverting the verification result of the common software obtained in the verification of the software of the other VMs according to the index given in advance to the VM is performed. A control program for executing the including processing.
Priority Applications (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2020203435A JP7524750B2 (en) | 2020-12-08 | 2020-12-08 | Vehicle control device, vehicle control method, and control program |
US17/504,562 US12147827B2 (en) | 2020-12-08 | 2021-10-19 | Vehicle control device, vehicle control method, and recording medium recording control program |
CN202111248519.8A CN114662081A (en) | 2020-12-08 | 2021-10-26 | Vehicle control device, control method, and recording medium on which control program is recorded |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2020203435A JP7524750B2 (en) | 2020-12-08 | 2020-12-08 | Vehicle control device, vehicle control method, and control program |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2022090870A true JP2022090870A (en) | 2022-06-20 |
JP7524750B2 JP7524750B2 (en) | 2024-07-30 |
Family
ID=81849037
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2020203435A Active JP7524750B2 (en) | 2020-12-08 | 2020-12-08 | Vehicle control device, vehicle control method, and control program |
Country Status (3)
Country | Link |
---|---|
US (1) | US12147827B2 (en) |
JP (1) | JP7524750B2 (en) |
CN (1) | CN114662081A (en) |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2006031203A (en) * | 2004-07-14 | 2006-02-02 | Xanavi Informatics Corp | In-vehicle information terminal |
JP2006350489A (en) * | 2005-06-14 | 2006-12-28 | Renesas Technology Corp | Program control method |
US7263700B1 (en) * | 2000-11-06 | 2007-08-28 | International Business Machines Corporation | Serially, reusable virtual machine |
WO2010100769A1 (en) * | 2009-03-06 | 2010-09-10 | 株式会社日立製作所 | Security management device and method |
Family Cites Families (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR20040063935A (en) * | 2001-11-22 | 2004-07-14 | 지멘스 악티엔게젤샤프트 | Method for controlling a safety-critical railway operating process and device for carrying out said method |
US7882198B2 (en) | 2007-07-02 | 2011-02-01 | Oracle America, Inc. | Shared JAVA JAR files |
US9130912B2 (en) * | 2010-03-05 | 2015-09-08 | International Business Machines Corporation | System and method for assisting virtual machine instantiation and migration |
US9396000B2 (en) * | 2010-06-25 | 2016-07-19 | Intel Corporation | Methods and systems to permit multiple virtual machines to separately configure and access a physical device |
WO2016081867A1 (en) * | 2014-11-20 | 2016-05-26 | Interdigital Patent Holdings, Inc. | Providing security to computing systems |
US11177961B2 (en) * | 2017-12-07 | 2021-11-16 | Nec Corporation | Method and system for securely sharing validation information using blockchain technology |
CN109951424A (en) * | 2017-12-20 | 2019-06-28 | 北京三星通信技术研究有限公司 | Sharing method and corresponding equipment |
US10776482B2 (en) * | 2018-05-18 | 2020-09-15 | International Business Machines Corporation | Automated virtual machine integrity checks |
KR102131982B1 (en) * | 2018-05-31 | 2020-07-08 | 현대오트론 주식회사 | Multi core system and software diagnostic system for vehicle and operating method thereof |
US11481482B2 (en) * | 2019-09-09 | 2022-10-25 | Mcafee, Llc | Securing an application framework from shared library sideload vulnerabilities |
DE102020116714A1 (en) * | 2020-06-25 | 2021-12-30 | Audi Aktiengesellschaft | Control unit for a vehicle, system, method and motor vehicle with such a control unit |
-
2020
- 2020-12-08 JP JP2020203435A patent/JP7524750B2/en active Active
-
2021
- 2021-10-19 US US17/504,562 patent/US12147827B2/en active Active
- 2021-10-26 CN CN202111248519.8A patent/CN114662081A/en active Pending
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7263700B1 (en) * | 2000-11-06 | 2007-08-28 | International Business Machines Corporation | Serially, reusable virtual machine |
JP2006031203A (en) * | 2004-07-14 | 2006-02-02 | Xanavi Informatics Corp | In-vehicle information terminal |
JP2006350489A (en) * | 2005-06-14 | 2006-12-28 | Renesas Technology Corp | Program control method |
WO2010100769A1 (en) * | 2009-03-06 | 2010-09-10 | 株式会社日立製作所 | Security management device and method |
Also Published As
Publication number | Publication date |
---|---|
JP7524750B2 (en) | 2024-07-30 |
US20220179676A1 (en) | 2022-06-09 |
US12147827B2 (en) | 2024-11-19 |
CN114662081A (en) | 2022-06-24 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US10009350B2 (en) | Hardware components configured for secure physical separation of communication networks in a vehicle and methods of use thereof | |
US9411688B1 (en) | System and method for searching multiple boot devices for boot images | |
CN112528345B (en) | Communication method, device, computer readable storage medium and chip | |
CN114817105B (en) | Device enumeration method, device, computer device and storage medium | |
CN107949847B (en) | Electronic control unit for vehicle | |
CN104247361A (en) | Secure message filtering to vehicle electronic control units with secure provisioning of message filtering rules | |
JP7091486B2 (en) | Electronic control device, security verification method for electronic control device | |
CN112236771B (en) | Computing device and operating method for computing device | |
CN118228265A (en) | Virtualization-oriented chip security starting method, system, equipment and medium | |
KR20230082388A (en) | Apparatus for verifying bootloader of ecu and method thereof | |
CN114872716B (en) | Vehicle-mounted information processing device, information processing method, and storage medium | |
CN116842516A (en) | Active defense methods, devices, electronic equipment and storage media for vehicle-mounted systems | |
JP2022090870A (en) | Vehicle control device, vehicle control method and control program | |
CN113935011A (en) | Method for executing a secure boot sequence of a control device | |
CN116233092B (en) | On-vehicle device, vehicle, control method, and non-transitory recording medium | |
CN119895420A (en) | Method for verifying data in a computing unit | |
CN114489713A (en) | Program processing method of domain controller | |
CN108804144B (en) | Control method/system for starting operating system, storage medium and electronic equipment | |
JP7632319B2 (en) | Vehicle, information processing method, and information processing program | |
CN117917641A (en) | Information processing device, vehicle, information processing method, and recording medium having program recorded thereon | |
CN119227077A (en) | Safe startup method, device, equipment and vehicle of cockpit domain controller system | |
CN120086832A (en) | A startup firmware signature verification method, related equipment and computer-readable storage medium | |
CN117850917A (en) | A method and device for secure factory startup deployment | |
WO2022168453A1 (en) | Vehicle control system, method for controlling vehicle control system, and program | |
CN119953292A (en) | Electronic device mounted on vehicle, method of operating the electronic device, and storage device |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20230718 |
|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20240605 |
|
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: 20240618 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20240701 |
|
R150 | Certificate of patent or registration of utility model |
Ref document number: 7524750 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R150 |