WO2023171443A1 - 電子制御装置及び認証方法 - Google Patents
電子制御装置及び認証方法 Download PDFInfo
- Publication number
- WO2023171443A1 WO2023171443A1 PCT/JP2023/007018 JP2023007018W WO2023171443A1 WO 2023171443 A1 WO2023171443 A1 WO 2023171443A1 JP 2023007018 W JP2023007018 W JP 2023007018W WO 2023171443 A1 WO2023171443 A1 WO 2023171443A1
- Authority
- WO
- WIPO (PCT)
- Prior art keywords
- software
- hardware
- development
- electronic control
- storage device
- Prior art date
Links
Images
Classifications
-
- B—PERFORMING OPERATIONS; TRANSPORTING
- B60—VEHICLES IN GENERAL
- B60R—VEHICLES, VEHICLE FITTINGS, OR VEHICLE PARTS, NOT OTHERWISE PROVIDED FOR
- B60R25/00—Fittings or systems for preventing or indicating unauthorised use or theft of vehicles
- B60R25/20—Means to switch the anti-theft system on or off
- B60R25/24—Means to switch the anti-theft system on or off using electronic identifiers containing a code not memorised by the user
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR 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; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/70—Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer
- G06F21/71—Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer to assure secure computing or processing of information
- G06F21/73—Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer to assure secure computing or processing of information by creating or determining hardware identification, e.g. serial numbers
-
- 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
Abstract
電気制御装置において、電子制御装置固有のハードウェアID及びソフトウェアプログラムに対応付けられたソフトウェアIDがROMに設定され、ハードウェアIDとソフトウェアIDとの照合結果に応じてデータ書き換え装置によるROMのデータの書き換えを許可する。ここで、電子制御装置の開発時において用いられる開発用のソフトウェアID及び量産時において用いられる量産用のソフトウェアIDがソフトウェアIDとしてROMに設定されている。そして、ROMからハードウェアID及び量産用のソフトウェアIDを取得して両者を照合し、適合しない場合には、ROMからさらに開発用のソフトウェアIDを取得して、ハードウェアIDと開発用のソフトウェアIDとを照合するように構成される。
Description
本発明は、車両に搭載される電子制御装置及び当該電子制御装置において実行される認証方法に関する。
車両に搭載されて車載機器を制御する電子制御装置においては、サイバーセキュリティ対策等に鑑み、不揮発性記憶装置(ROM)に記憶されたデータが不正に改変されないように保護することが必要である。このようなROMのデータへのアクセスを制御する技術の一例として、ROMにキーコード(秘密情報)がセットされている場合に、当該キーコードを利用した認証結果に応じてアクセスを制御する技術が提案されている。
ここで、一般に、セキュリティ対策を施して量産された電子制御装置で動作するソフトウェアプログラムについて、車両の年次改良や車種水平展開等の対応により、再開発や修正等が行われる。これらの作業は、量産された電子制御装置とは異なる開発用の電子制御装置を用いて行われることがある。このとき、量産用の電子制御装置に適用することを想定して作成されたソフトウェアプログラムに設定されたセキュリティの認証情報が開発用の電子制御装置に適合せず、データの書き換えができない状況が発生し得る。
そこで、本発明の1つの態様では、セキュリティ対策を有効に維持しつつ、開発用の電子制御装置においても量産用のソフトウェアプログラムのデータの書き換えを実現することを目的とする。
本発明の1つの態様では、電気制御装置が、プロセッサ及び電気的にデータを書き換え可能な不揮発性記憶装置、並びに外部のデータ書き換え装置との間の通信を実現するインターフェースを備える。当該電気制御装置は、不揮発性記憶装置に、電子制御装置固有のハードウェアID及びソフトウェアプログラムに対応付けられたソフトウェアIDが設定され、ハードウェアIDとソフトウェアIDとの照合結果に応じてデータ書き換え装置による不揮発性記憶装置のデータの書き換えを許可する。ここで、当該電子制御装置において、不揮発性記憶装置に、電子制御装置の開発時において用いられる開発用のソフトウェアID及び電子制御装置の量産時において用いられる量産用のソフトウェアIDがソフトウェアIDとして設定されている。そして、プロセッサが、不揮発性記憶装置からハードウェアID及び量産用のソフトウェアIDを取得して、ハードウェアIDと量産用のソフトウェアIDとを照合する。その結果、ハードウェアIDと量産用のソフトウェアIDとが適合しない場合には、不揮発性記憶装置からさらに開発用のソフトウェアIDを取得して、ハードウェアIDと開発用のソフトウェアIDとを照合するように構成される。
本発明の1つの態様によれば、セキュリティ対策を有効に維持しつつ、開発用の電子制御装置においても量産用のソフトウェアプログラムのデータの書き換えを実現することが可能となる。
以下、図面を参照しつつ、本発明の実施形態について説明する。なお、本明細書に記載する実施形態によって本発明が限定されるものではなく、異なる実施形態やその変形例は、適宜組み合わせることも可能である。
[1.本実施形態が適用される技術的背景等]
まず、本実施形態が適用され得る技術的背景の詳細について説明する。自動車等の車両に搭載する電子制御装置(ECU(Electronic Control Unit))の開発工程の一態様として、ECUの開発者(サプライヤ)側において、ECU及びこれに搭載するソフトウェアプログラムを開発する。そして、開発者側から自動車メーカー側に、ECUの開発時において用いられる開発用のECU、及びROMに格納された開発用のプログラムのデータが納入される。そして、当該自動車メーカー側において車両実験等が行われ、当該プログラムが車両に適合したことの確認がなされると、開発者側において、ECU及び当該プログラムが格納されたROMが量産される。そして、このような量産用のECU及び量産用のプログラムが格納されたROMが自動車メーカー等に納入される。
まず、本実施形態が適用され得る技術的背景の詳細について説明する。自動車等の車両に搭載する電子制御装置(ECU(Electronic Control Unit))の開発工程の一態様として、ECUの開発者(サプライヤ)側において、ECU及びこれに搭載するソフトウェアプログラムを開発する。そして、開発者側から自動車メーカー側に、ECUの開発時において用いられる開発用のECU、及びROMに格納された開発用のプログラムのデータが納入される。そして、当該自動車メーカー側において車両実験等が行われ、当該プログラムが車両に適合したことの確認がなされると、開発者側において、ECU及び当該プログラムが格納されたROMが量産される。そして、このような量産用のECU及び量産用のプログラムが格納されたROMが自動車メーカー等に納入される。
ここで、車両に搭載されるECUには、ROMに記憶されたデータを不正に改変されることを防ぐための方法の一例として、ROMに格納されたデータにアクセスする際にID認証が行われる。より詳細には、開発用のデバッグインターフェースを介して接続されるJTAG(Joint Test Action Group)通信ツール等の開発用デバッグツールにより、ECU固有のIDであるハードウェアIDが、ECUに搭載されているマイクロコンピュータ内部のROMの所定領域に設定される。そして、その後に開発用のデバッグインターフェース経由でROMに対してアクセスする際には、開発用デバッグツールにおいて、ROMに設定されたハードウェアIDを入力するID認証が必要となる。これにより、開発用デバッグツール等からECUのROMのデータを不正に書き換えられることを防ぐことが可能となる。
しかし、当該ID認証機能が有効になることに伴い、ROMに格納されたソフトウェアプログラムにおいて設定されたソフトウェアIDを用いたID認証機能も有効となる。より詳細には、当該ID認証では、データ書き換えインターフェースを介して接続されるCAN(Controller Area Network)通信ツール等のデータ書き換えツールによってROMのデータを書き換えるときに、ROMに設定されたソフトウェアIDとハードウェアIDとが照合される。そして、両者が一致しているときにのみ、データ書き換えツールによるROMのデータの書き換えが許可される。
ここで、一般に自動車メーカーでは、車両の年次改良や車種水平展開等の対応により、量産されたソフトウェアプログラムの再開発や修正が行われる。これらの作業は、自動車メーカー側において、開発用のECUを用いて行われることがある。しかし、前述のようなID認証機能が有効にされた状態において、量産用のECUのROMに設定されたデータに含まれるソフトウェアIDが、開発用のECUのROMに設定されたハードウェアIDと一致しない。このため、当該ID認証により、データ書き換えツールを用いたROMのデータの書き換えが許可されず、自動車メーカー側において、データ書き換えツールを用いたプログラムの修正作業を行うことができない状況が生じている。この場合、ECUの開発者側から自動車メーカーに対し、量産用のハードウェアIDを設定した開発用のECUを納入したり、開発用のECUのハードウェアIDが設定されたROMのデータを納入したりすることで問題解決を図っている。しかし、プログラムの新規開発の件数に比べて年次改良や車種水平展開の件数の方が多い状況において、このような問題解決のための対応には多くの工数を要している。
このような背景に鑑み、本実施形態においては、ECUのセキュリティ対策を有効に維持した状態で、開発用のECUにおいてはデータ書き換えツールによるROMのデータの書き換えを可能にする方法を提供する。
[2.本実施形態の構成概要]
図1は、本実施形態の構成概要について説明する図である。本実施形態では、車両に搭載されるECU10で動作するソフトウェアプログラムの開発や修正を行う際に、ECU10に対し、必要に応じて開発用デバッグツール20及びデータ書き換えツール30を接続する。
図1は、本実施形態の構成概要について説明する図である。本実施形態では、車両に搭載されるECU10で動作するソフトウェアプログラムの開発や修正を行う際に、ECU10に対し、必要に応じて開発用デバッグツール20及びデータ書き換えツール30を接続する。
ECU10は、車載機器を電子制御する電子制御装置である。ECU10は、プロセッサ及びメモリを備えたマイクロコンピュータを備え(詳細な構成は後述する)、ソフトウェアプログラムを実行することにより、各種車載機器に対する電子制御を行う。
開発用デバッグツール20は、主としてECU10の開発時において、集積回路や基板の検査やデバッグ等に用いられるコンピュータである。本実施形態において、開発用デバッグツール20は、JTAG通信の信号線(クロック、データ入力、データ出力及び状態制御等)によってECU10と接続され、JTAG通信によってECU10とデータの送受信を行う。なお、このような開発用デバッグツール20は、他の方式(例えば、AUD、UART、DAP等)を用いたものであってもよい。
開発用デバッグツール20は、主としてECU10の開発時において、集積回路や基板の検査やデバッグ等に用いられるコンピュータである。本実施形態において、開発用デバッグツール20は、JTAG通信の信号線(クロック、データ入力、データ出力及び状態制御等)によってECU10と接続され、JTAG通信によってECU10とデータの送受信を行う。なお、このような開発用デバッグツール20は、他の方式(例えば、AUD、UART、DAP等)を用いたものであってもよい。
データ書き換えツール30は、主としてECU10で動作させるソフトウェアプログラムの修正時にプログラムを書き換えるのに用いられるコンピュータである。本実施形態において、データ書き換えツール30は、CANバスによってECU10と接続され、CAN通信によってECU10とデータの送受信を行う。なお、このようなデータ書き換えツール30は、例えば、Ethernet(登録商標)、FlexRay等の他の方式によってもECU10と接続され得る。
[3.ECUのハードウェア構成]
次に、ECU10のハードウェア構成について説明する。ECU10は、図2に示すように、プロセッサ11、RAM12、ROM13、通信インターフェース14a及び14b、並びにこれらを相互通信可能に接続する内部バス15を含む。
次に、ECU10のハードウェア構成について説明する。ECU10は、図2に示すように、プロセッサ11、RAM12、ROM13、通信インターフェース14a及び14b、並びにこれらを相互通信可能に接続する内部バス15を含む。
プロセッサ11は、プログラムに記述された命令セット(データの転送、演算、加工、制御、管理など)を実行するハードウェアであって、演算装置、命令や情報を格納するレジスタ、周辺回路などから構成されている。
RAM12は、電源供給遮断によってデータが消失する揮発性メモリ(スタティックRAM等)からなり、プロセッサ11が動作中に使用する一時的な記憶領域を提供する。
ROM13は、電気的にデータを書き換え可能な不揮発性メモリ(フラッシュROM等)からなる。ROM13には、ECU10の機能に応じた制御プログラム(例えば、車両のエンジン、自動変速機、燃料噴射装置等を制御するプログラム)や、当該プログラムの処理に用いる各種データが格納される。また、本実施形態においては、ID認証処理において用いられるハードウェアID及びソフトウェアIDがROM13に格納される。さらに、本実施形態で当該ID認証処理を行うプログラム及びデータもROM13に格納される。
RAM12は、電源供給遮断によってデータが消失する揮発性メモリ(スタティックRAM等)からなり、プロセッサ11が動作中に使用する一時的な記憶領域を提供する。
ROM13は、電気的にデータを書き換え可能な不揮発性メモリ(フラッシュROM等)からなる。ROM13には、ECU10の機能に応じた制御プログラム(例えば、車両のエンジン、自動変速機、燃料噴射装置等を制御するプログラム)や、当該プログラムの処理に用いる各種データが格納される。また、本実施形態においては、ID認証処理において用いられるハードウェアID及びソフトウェアIDがROM13に格納される。さらに、本実施形態で当該ID認証処理を行うプログラム及びデータもROM13に格納される。
通信インターフェース14a及び14bは、ECU10に接続された他の機器との間の通信を実現する機能を提供する。具体的には、通信インターフェース14aは、外部の開発用デバッグツール20との間の通信を実現するインターフェースである。通信インターフェース14bは、外部のデータ書き換えツール30との間の通信を実現するインターフェースである。なお、図示を省略しているが、ECU10は、車載ネットワーク(CANネットワーク等)や、制御に関連する車載機器等(例えば、各種センサやアクチュエータ等)との間でCAN通信等や他の通信方式(オンオフ、アナログ信号等)を用いて通信を実現する通信インターフェースもさらに備え得る。
内部バス15は、各デバイス間でデータを交換するための経路であって、アドレスを転送するためのアドレスバス、データを転送するためのデータバス、アドレスバスやデータバスで実際に入出力を行うタイミングや制御情報を伝送するコントロールバスを含んでいる。
内部バス15は、各デバイス間でデータを交換するための経路であって、アドレスを転送するためのアドレスバス、データを転送するためのデータバス、アドレスバスやデータバスで実際に入出力を行うタイミングや制御情報を伝送するコントロールバスを含んでいる。
[4.ROMの内部領域とID認証パターン]
次に、ECU10のROM13の内部領域と、ID認証パターンについて説明する。本実施形態において、ECU10は、ECU10の開発工程や修正工程において用いられる開発用のECU10A、量産されて車両に搭載される量産用のECU10Bとの2種類存在する。
次に、ECU10のROM13の内部領域と、ID認証パターンについて説明する。本実施形態において、ECU10は、ECU10の開発工程や修正工程において用いられる開発用のECU10A、量産されて車両に搭載される量産用のECU10Bとの2種類存在する。
図3は、主として開発者側におけるECU10の開発工程における、開発用のECU10Aが備えるROM13Aの内部領域の一例を示す。ROM13Aは、原則として外部からのデータの書き換えが不可能な領域である書き換え不可領域131Aと、外部からのデータの書き換えが可能な書き換え可能領域132Aとを備える。書き換え不可領域131Aには、ECU10Aの出荷時に、開発用デバッグツール20によって開発用のハードウェアIDが設定されている。この開発用のハードウェアIDは、ECU10への初回のアクセス時にID認証機能が有効にされることにより、以降、当該ECU10AのROM13Aに格納されたデータへのアクセスの際のID認証に用いられる。また、書き換え可能領域132Aには、開発用のソフトウェアプログラムが格納されており、開発用のハードウェアIDと一致する開発用のソフトウェアIDが設定されている。
この例におけるID認証処理は次のようになる。まず、開発用デバッグツール20からROM13Aに対するアクセスの認証においては、開発用デバッグツール20において入力されたIDと、ROM13Aに設定された開発用のハードウェアIDとを照合する。そして、両者が一致した際に、開発用デバッグツール20からROM13Aのデータの書き換えを許可する。すなわち、開発用デバッグツール20の使用者が開発用のハードウェアIDを知っていれば、ROM13のデータの書き換えを行うことが可能である。一方、データ書き換えツール30からROM13Aへのアクセスについては、ROM13の書き換え不可領域131AのハードウェアIDと、書き換え可能領域132AのソフトウェアIDとを照合する。そして、両者が一致した際に、データ書き換えツール30からROM13Aへの書き換えを許可する。この例においては、書き換え不可領域131Aの開発用のハードウェアIDと、書き換え可能領域132Aの開発用のソフトウェアIDとが一致する。このため、データ書き換えツール30によってROM13の書き換え可能領域132Aのデータを書き換えることが許可される。
次に、図4は、主としてECU10が量産された後の段階における、量産用のECU10Bが備えるROM13Bの内部領域の一例を示す。ROM13Bは、開発用のECU10Aの場合と同様に、原則としてデータの書き換えが不可能な領域である書き換え不可領域131Bと、データの書き換えが可能な書き換え可能領域132Bとを備える。書き換え不可領域131Bには、ECU10Bの出荷時に、開発用デバッグツール20によって量産用のハードウェアIDが設定されている。この量産用のハードウェアIDは、ECU10Bへの初回のアクセス時にID認証機能が有効にされることにより、以降、当該ECU10BのROM13Bに格納されたデータへのアクセスの際のID認証に用いられる。また、書き換え可能領域132Bには、量産用のソフトウェアプログラムが格納されており、量産用のハードウェアIDと一致する量産用のソフトウェアIDが設定されている。
この例におけるID認証処理は次のようになる。まず、開発用デバッグツール20からROM13Bに対するアクセスの認証においては、開発用デバッグツール20において入力されたIDと、ROM13Bに設定された量産用のハードウェアIDとを照合する。そして、両者が一致した際に、開発用デバッグツール20からROM13Bのデータの書き換えを許可する。この場合、開発用デバッグツール20の使用者が量産用のハードウェアIDを知っていればROM13のデータを書き換えることが可能であるが、この量産用のハードウェアIDの秘匿性を確保することにより、セキュリティ対策は有効に維持される。一方、データ書き換えツール30からROM13Bへのアクセスについては、ROM13の書き換え不可領域131BのハードウェアIDと、書き換え可能領域132BのソフトウェアIDとを照合する。そして、両者が一致した際に、データ書き換えツール30からROM13Bのデータの書き換えを許可する。この例においては、書き換え不可領域131Bの量産用のハードウェアIDと、書き換え可能領域132Bの量産用のソフトウェアIDとが一致する。このため、データ書き換えツール30によってROM13の書き換え可能領域132Bのデータを書き換えることが許可される。
次に、前述したような車両の年次改良や車種水平展開等の対応により、量産されたソフトウェアプログラムの再開発や修正を開発用のECU10Aを用いて行う場合について説明する。この場合、開発用のECU10AのROM13Aの書き換え可能領域132Aに、量産用のECU10BのROM13Bの書き換え可能領域132Bに格納されていたデータが設定される。
ここで、図5に、当該状況における従来のROM13Aの内部領域及びID認証処理の一例を示す。従来においては、量産用のROM13Bの書き換え可能領域132Bには、量産用のソフトウェアIDのみが設定されていた。このため、当該データが開発用のECU10AのROM13Aの書き換え可能領域132Aに設定された場合、書き換え可能領域132Aには量産用のソフトウェアIDのみが設定されることとなる。この場合、ID認証処理において、書き換え不可領域131Aの開発用のハードウェアIDと、書き換え可能領域132Aに設定された量産用のソフトウェアIDとが一致しない。このため、データ書き換えツール30によってROM13の書き換え可能領域132Aのデータを書き換えることが禁止されてしまう。
一方で、図6は、当該状況における本実施形態のROM13Aの内部領域及びID認証処理の一例を示す。本実施形態では、量産用のECU10BのROM13Bの書き換え可能領域132Bにおいて、量産用のソフトウェアIDだけでなく、開発用のソフトウェアIDも設定しておく。このため、当該データが開発用のECU10AのROM13Aの書き換え可能領域132Aに設定された場合、書き換え可能領域132Aには量産用のソフトウェアIDと開発用のソフトウェアIDとの両方が設定されることとなる。この場合、図6に示すように、ID認証処理において、書き換え不可領域131Aの開発用のハードウェアIDと、書き換え可能領域132Aに設定された量産用のソフトウェアIDとが一致しない。しかし、この場合に、本実施形態ではさらに、書き換え不可領域131Aの開発用のハードウェアIDと、書き換え可能領域132Aに設定された開発用のソフトウェアIDとを照合する。この場合、両者が一致するため、データ書き換えツール30によってROM13の書き換え可能領域132Bのデータを書き換えることが許可される。
図7は、このようなID認証処理におけるハードウェアIDとソフトウェアIDとのそれぞれの組合せにおいてデータ書き換えツール30によるROM13の書き換え可能領域132のデータの書き換えが許可されるか否かをマトリックスで示している。
パターン1:量産用のハードウェアIDと量産用のソフトウェアIDとの場合
量産用のECU10BにおけるID認証処理であり、ROM13Bの書き換え可能領域132Bに量産用のソフトウェアIDが設定されているパターンである(上記図4のパターン)。この場合、書き換え不可領域131Bの量産用のハードウェアIDと、書き換え可能領域132Bの量産用のソフトウェアIDとが一致する。したがって、データ書き換えツール30によるROM13Bのデータの書き換えは許可される。
量産用のECU10BにおけるID認証処理であり、ROM13Bの書き換え可能領域132Bに量産用のソフトウェアIDが設定されているパターンである(上記図4のパターン)。この場合、書き換え不可領域131Bの量産用のハードウェアIDと、書き換え可能領域132Bの量産用のソフトウェアIDとが一致する。したがって、データ書き換えツール30によるROM13Bのデータの書き換えは許可される。
パターン2:量産用のハードウェアIDと開発用のソフトウェアIDとの場合
量産用のECU10BにおけるID認証処理であり、ROM13Bの書き換え可能領域132Bに開発用のソフトウェアIDが設定されているパターンである。もしこのような状況となった場合、書き換え不可領域131Bの量産用のハードウェアIDと、書き換え可能領域132Bの開発用のソフトウェアIDとが一致しない。したがって、データ書き換えツール30によるROM13Bのデータの書き換えは禁止される。
量産用のECU10BにおけるID認証処理であり、ROM13Bの書き換え可能領域132Bに開発用のソフトウェアIDが設定されているパターンである。もしこのような状況となった場合、書き換え不可領域131Bの量産用のハードウェアIDと、書き換え可能領域132Bの開発用のソフトウェアIDとが一致しない。したがって、データ書き換えツール30によるROM13Bのデータの書き換えは禁止される。
パターン3:開発用のハードウェアIDと量産用のソフトウェアIDとの場合
開発用のECU10AにおけるID認証処理であり、ROM13Aの書き換え可能領域132Aに量産用のソフトウェアIDが設定されているパターンである。この場合、図5で示した従来の状態だと、データ書き換えツール30によるROM13Bの書き換えは禁止される。しかし、図6で示したように、本実施形態では、ROM13Aの書き換え可能領域132Aにさらに開発用のソフトウェアIDが設定されている。この場合、書き換え不可領域131Aの開発用のハードウェアIDと、書き換え可能領域132Aの開発用のソフトウェアIDとが一致する。したがって、データ書き換えツール30によるROM13Bの書き換えは許可される。
開発用のECU10AにおけるID認証処理であり、ROM13Aの書き換え可能領域132Aに量産用のソフトウェアIDが設定されているパターンである。この場合、図5で示した従来の状態だと、データ書き換えツール30によるROM13Bの書き換えは禁止される。しかし、図6で示したように、本実施形態では、ROM13Aの書き換え可能領域132Aにさらに開発用のソフトウェアIDが設定されている。この場合、書き換え不可領域131Aの開発用のハードウェアIDと、書き換え可能領域132Aの開発用のソフトウェアIDとが一致する。したがって、データ書き換えツール30によるROM13Bの書き換えは許可される。
パターン4:開発用のハードウェアIDと開発用のソフトウェアIDとの場合
開発用のECU10AにおけるID認証処理であり、ROM13Aの書き換え可能領域132Aに開発用のソフトウェアIDが設定されているパターンである。(上記図3のパターン)。この場合、書き換え不可領域131Aの開発用のハードウェアIDと、書き換え可能領域132Aの開発用のソフトウェアIDとが一致する。したがって、データ書き換えツール30によるROM13Bのデータの書き換えは許可される。
開発用のECU10AにおけるID認証処理であり、ROM13Aの書き換え可能領域132Aに開発用のソフトウェアIDが設定されているパターンである。(上記図3のパターン)。この場合、書き換え不可領域131Aの開発用のハードウェアIDと、書き換え可能領域132Aの開発用のソフトウェアIDとが一致する。したがって、データ書き換えツール30によるROM13Bのデータの書き換えは許可される。
[4.ID認証処理]
図7は、上述したような本実施形態におけるID認証処理について説明するフローチャートである。当該ID認証処理は、ECU10のROM13に格納されたプログラムがRAM12にロードされ、プロセッサ11で実行されることによって実現される。
ステップ1001(図ではS1001と示す。以下同様)で、プロセッサ11は、ID認証に用いるハードウェアID及びソフトウェアIDを取得する。より詳細には、プロセッサ11は、ECU10のROM13の書き換え不可領域131に設定されたハードウェアIDと、ROM13の書き換え可能領域132に設定されたソフトウェアIDとを取得する。
図7は、上述したような本実施形態におけるID認証処理について説明するフローチャートである。当該ID認証処理は、ECU10のROM13に格納されたプログラムがRAM12にロードされ、プロセッサ11で実行されることによって実現される。
ステップ1001(図ではS1001と示す。以下同様)で、プロセッサ11は、ID認証に用いるハードウェアID及びソフトウェアIDを取得する。より詳細には、プロセッサ11は、ECU10のROM13の書き換え不可領域131に設定されたハードウェアIDと、ROM13の書き換え可能領域132に設定されたソフトウェアIDとを取得する。
ステップ1002で、プロセッサ11は、ハードウェアIDとソフトウェアIDとが一致するか否かを判定する。両者が一致しない場合には、ステップ1003に進み(No)、一致する場合には、ステップ1005に進む(Yes)。
ステップ1003で、プロセッサ11は、ROM13の書き換え可能領域132にさらに設定された開発用のソフトウェアIDを取得する。
ステップ1004で、プロセッサ11は、ハードウェアIDと、ステップ1003で取得した開発用のソフトウェアIDとが一致するか否かを判定する。両者が一致する場合には、ステップ1005に進み(Yes)、一致しない場合には、処理を終了する。
ステップ1005で、プロセッサ11は、データ書き換えツール30によるROM13の書き換え可能領域132のデータの書き換えを許可する。なお、当該ステップ1005の処理を経ずに処理を終了する場合には、データ書き換えツール30によるROM13の書き換え可能領域132のデータの書き換えは禁止された状態となる。
ステップ1003で、プロセッサ11は、ROM13の書き換え可能領域132にさらに設定された開発用のソフトウェアIDを取得する。
ステップ1004で、プロセッサ11は、ハードウェアIDと、ステップ1003で取得した開発用のソフトウェアIDとが一致するか否かを判定する。両者が一致する場合には、ステップ1005に進み(Yes)、一致しない場合には、処理を終了する。
ステップ1005で、プロセッサ11は、データ書き換えツール30によるROM13の書き換え可能領域132のデータの書き換えを許可する。なお、当該ステップ1005の処理を経ずに処理を終了する場合には、データ書き換えツール30によるROM13の書き換え可能領域132のデータの書き換えは禁止された状態となる。
[5.本実施形態による効果、変形例等]
本実施形態によれば、ECU10のROM13へのアクセスに関するID認証処理において、ROM13に設定された開発用のハードウェアIDと量産用のソフトウェアIDとが一致しないときに、さらに開発用のソフトウェアIDを用いて認証が行われる。このため、このようなID認証処理を開発用のECU10Aで実行した場合、開発用のECU10Aに対して量産用のROM13Bのデータを適用した状態においても、データ書き換えツール30によるデータの書き換えが許可される。したがって、量産されたソフトウェアプログラムの再開発や修正が行われる際に、ECU10自体のID認証機能を有効に維持したままで、開発用のECU10Aを用いて量産用のソフトウェアプログラムの修正作業を行うことが可能となる。その結果、このような修正作業を行うためのセキュリティ面の問題解決対応に要する工数を大幅に削減することができる。
本実施形態によれば、ECU10のROM13へのアクセスに関するID認証処理において、ROM13に設定された開発用のハードウェアIDと量産用のソフトウェアIDとが一致しないときに、さらに開発用のソフトウェアIDを用いて認証が行われる。このため、このようなID認証処理を開発用のECU10Aで実行した場合、開発用のECU10Aに対して量産用のROM13Bのデータを適用した状態においても、データ書き換えツール30によるデータの書き換えが許可される。したがって、量産されたソフトウェアプログラムの再開発や修正が行われる際に、ECU10自体のID認証機能を有効に維持したままで、開発用のECU10Aを用いて量産用のソフトウェアプログラムの修正作業を行うことが可能となる。その結果、このような修正作業を行うためのセキュリティ面の問題解決対応に要する工数を大幅に削減することができる。
また、本実施形態においては、このようにECU10のID認証機能が有効に維持されているため、例えば、量産用のECU10Bに対する開発用デバッグツール20等からの不正アクセスをID認証処理によって防ぐことは引き続き可能となる。ここで、量産用のECU10Bにおけるセキュリティ対策をより堅牢なものにするためのIDの生成方法の一例について、図9を参照して説明する。図9に示すように、量産用のECU10BのROM13Bにおいて、外部からの読み出しが可能である第1情報(公開鍵に相当)と、外部からの読み出しが不可能な第2情報(秘密鍵に相当)との両方を格納しておく。これらの2つの情報のうち、外部からの読み出しが不可能な第2情報については、さらに鍵管理サーバ90において保持する。そして、量産用のECU10Bにおいて用いるIDを生成する際には、このような第1情報と第2情報とを入力とし、入力に対する出力が一定になる所定の計算式(例えばハッシュ関数)を用いて演算を行う。そして、当該演算による出力結果(ハッシュ値)を、量産用のECU10Bにおいて用いるIDとする。これにより、量産用のECU10BのROM13Bにおいて格納されている固有の情報を用いてユニークなIDを生成することが可能となるとともに、計算式の入力として用いた情報について外部から特定されることを防ぐことができる。なお、当該IDの生成方法は、開発用のECU10Aにおいて用いるIDにも適用することが可能である。
なお、本実施形態におけるID認証処理では、ハードウェアIDとソフトウェアIDとが一致しているか否かを判定しているが、必ずしも両者が完全一致している必要はない。すなわち、ハードウェアIDとソフトウェアIDとを照合したときに、ハードウェアIDとソフトウェアIDとが適合しているか否かを判定できるような組合せであれば、ハードウェアIDとソフトウェアIDとはいかなる値の組合せであってもよい。
また、上記のID認証処理では、ハードウェアIDとソフトウェアIDとの照合結果に応じてデータ書き換えツール30によるROM13のデータの書き換えを許可又は禁止しているが、ROM13のデータへのアクセス自体を制御するようにしてもよい。
[6.その他]
以上に説明した本発明の実施形態は、本発明の技術的範囲で考え得る実施態様の一部に過ぎず、本発明の例示として開示されるものであって、本発明の技術的範囲を制限するものではない。また、各実施形態における機能的構成及び物理的構成は、前述の態様に限定されるものではなく、例えば、各機能や物理的資源を統合して実装したり、逆に、さらに分散して実装したり、さらには、構成の一部について他の構成の追加、削除、置換等をすることも可能である。
以上に説明した本発明の実施形態は、本発明の技術的範囲で考え得る実施態様の一部に過ぎず、本発明の例示として開示されるものであって、本発明の技術的範囲を制限するものではない。また、各実施形態における機能的構成及び物理的構成は、前述の態様に限定されるものではなく、例えば、各機能や物理的資源を統合して実装したり、逆に、さらに分散して実装したり、さらには、構成の一部について他の構成の追加、削除、置換等をすることも可能である。
10…ECU、10A…開発用のECU、10B…量産用のECU、11…プロセッサ、13…ROM、131…書き換え不可領域、132…書き換え可能領域、20…開発用デバッグツール、30…データ書き換えツール
Claims (5)
- プロセッサ及び電気的にデータを書き換え可能な不揮発性記憶装置、並びに外部のデータ書き換え装置との間の通信を実現するインターフェースを備え、前記不揮発性記憶装置に、電子制御装置固有のハードウェアID及びソフトウェアプログラムに対応付けられたソフトウェアIDが設定され、前記ハードウェアIDと前記ソフトウェアIDとの照合結果に応じて前記データ書き換え装置による前記不揮発性記憶装置のデータの書き換えを許可する電子制御装置において、
前記不揮発性記憶装置に、電子制御装置の開発時において用いられる開発用のソフトウェアID及び電子制御装置の量産時において用いられる量産用のソフトウェアIDが前記ソフトウェアIDとして設定されており、
前記プロセッサが、前記不揮発性記憶装置から前記ハードウェアID及び前記量産用のソフトウェアIDを取得して、当該ハードウェアIDと当該量産用のソフトウェアIDとを照合し、当該ハードウェアIDと当該量産用のソフトウェアIDとが適合しない場合には、前記不揮発性記憶装置からさらに前記開発用のソフトウェアIDを取得して、前記ハードウェアIDと当該開発用のソフトウェアIDとを照合するように構成された、
電子制御装置。 - 前記ハードウェアIDが、前記不揮発性記憶装置のうち外部からの書き換えが不可能な領域に設定されている一方、前記ソフトウェアIDが、前記不揮発性記憶装置のうち外部からの書き換えが可能な領域に設定されている、請求項1記載の電子制御装置。
- 外部の開発用デバッグツールとの間の通信を実現するインターフェースをさらに備え、
前記プロセッサは、前記ハードウェアIDと前記開発用デバッグツールにおいて入力されたIDとを照合し、当該照合結果に基づいて前記開発用デバッグツールによる前記不揮発性記憶装置のデータの書き換えを許可する、請求項1記載の電子制御装置。 - 前記ハードウェアIDは、前記不揮発性記憶装置に格納され外部からの読み出しが可能である第1情報と、前記不揮発性記憶装置に格納され外部からの読み出しが不可能な第2情報とを入力とした所定の計算式による演算の出力結果を用いて生成される、請求項1記載の電子制御装置。
- プロセッサ及び電気的にデータを書き換え可能な不揮発性記憶装置、並びに外部のデータ書き換え装置との間の通信を実現するインターフェースを備え、前記不揮発性記憶装置に、電子制御装置固有のハードウェアID及びソフトウェアプログラムに対応付けられたソフトウェアIDが設定され、前記ハードウェアIDと前記ソフトウェアIDとの照合結果に応じて前記データ書き換え装置による前記不揮発性記憶装置のデータの書き換えを許可する電子制御装置のプロセッサが、
電子制御装置の開発時において用いられる開発用のソフトウェアID及び電子制御装置の量産時において用いられる量産用のソフトウェアIDが前記ソフトウェアIDとして設定された前記不揮発性記憶装置から、前記ハードウェアID及び前記量産用のソフトウェアIDを取得して、当該ハードウェアIDと当該量産用のソフトウェアIDとを照合し、当該ハードウェアIDと当該量産用のソフトウェアIDとが適合しない場合には、前記不揮発性記憶装置からさらに前記開発用のソフトウェアIDを取得して、前記ハードウェアIDと当該開発用のソフトウェアIDとを照合する、
認証方法。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2022037417 | 2022-03-10 | ||
JP2022-037417 | 2022-03-10 |
Publications (1)
Publication Number | Publication Date |
---|---|
WO2023171443A1 true WO2023171443A1 (ja) | 2023-09-14 |
Family
ID=87935252
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
PCT/JP2023/007018 WO2023171443A1 (ja) | 2022-03-10 | 2023-02-27 | 電子制御装置及び認証方法 |
Country Status (1)
Country | Link |
---|---|
WO (1) | WO2023171443A1 (ja) |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH09134307A (ja) * | 1995-11-13 | 1997-05-20 | Denso Corp | 電子制御装置のメモリ書換システム,電子制御装置及びメモリ書換装置 |
JP2014056600A (ja) * | 2013-11-19 | 2014-03-27 | Renesas Electronics Corp | 電装ユニット及びデータ処理方法 |
-
2023
- 2023-02-27 WO PCT/JP2023/007018 patent/WO2023171443A1/ja unknown
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH09134307A (ja) * | 1995-11-13 | 1997-05-20 | Denso Corp | 電子制御装置のメモリ書換システム,電子制御装置及びメモリ書換装置 |
JP2014056600A (ja) * | 2013-11-19 | 2014-03-27 | Renesas Electronics Corp | 電装ユニット及びデータ処理方法 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US8719595B2 (en) | Semiconductor device including encryption section, semiconductor device including external interface, and content reproduction method | |
JP5419776B2 (ja) | 半導体装置及びデータ処理方法 | |
US6363486B1 (en) | Method of controlling usage of software components | |
CN103729597A (zh) | 系统启动校验方法、系统启动校验装置和终端 | |
JP2005516288A (ja) | 電子回路の認可された引渡および課金をするための管理システム、方法および装置 | |
JP4981957B2 (ja) | ライセンス外部メモリ | |
US5751595A (en) | Method for building and verifying authenticity of a rule system | |
CN114021081A (zh) | 产品软件的授权系统及方法 | |
WO2023171443A1 (ja) | 電子制御装置及び認証方法 | |
US7207066B2 (en) | Method for protecting a microcomputer system against manipulation of data stored in a storage arrangement of the microcomputer system | |
JP4534731B2 (ja) | 電子制御装置及びその識別コード生成方法 | |
JP5761880B2 (ja) | 自動車 | |
JP5603993B2 (ja) | 電装ユニット及びデータ処理方法 | |
CN111079194A (zh) | 计算装置和用于该计算装置的运行方法 | |
TWI818221B (zh) | 可認證晶片外部除錯功能韌體程式與除錯使用者的晶片與方法 | |
US20230185968A1 (en) | Method and Secure Element for Detecting a Trusted Electronic Assembly | |
JP2023510122A (ja) | インタフェースを備える装置およびインタフェースを備える装置の動作方法 | |
KR100425505B1 (ko) | 프로세서보드의 인증검사방법 | |
CN117555728A (zh) | Amd服务器升级方法、装置、电子设备及存储介质 | |
JP2013073472A (ja) | マイクロコンピュータ | |
CN117632168A (zh) | Ecu应用更新方法及设备 | |
JP2019111908A (ja) | プログラム制御装置、プログラム制御システムおよびプログラム制御方法 | |
Yang et al. | A Systems Engineering Approach to Verification of Distributed Body Control Applications Development |
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: 23766621 Country of ref document: EP Kind code of ref document: A1 |