JP7091486B2 - 電子制御装置、電子制御装置のセキュリティ検証方法 - Google Patents

電子制御装置、電子制御装置のセキュリティ検証方法 Download PDF

Info

Publication number
JP7091486B2
JP7091486B2 JP2020569487A JP2020569487A JP7091486B2 JP 7091486 B2 JP7091486 B2 JP 7091486B2 JP 2020569487 A JP2020569487 A JP 2020569487A JP 2020569487 A JP2020569487 A JP 2020569487A JP 7091486 B2 JP7091486 B2 JP 7091486B2
Authority
JP
Japan
Prior art keywords
code
standby
storage unit
secure
control unit
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.)
Active
Application number
JP2020569487A
Other languages
English (en)
Other versions
JPWO2020158377A1 (ja
Inventor
裕紀 山▲崎▼
周平 金子
伸義 森田
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Hitachi Astemo Ltd
Original Assignee
Hitachi Astemo Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Hitachi Astemo Ltd filed Critical Hitachi Astemo Ltd
Publication of JPWO2020158377A1 publication Critical patent/JPWO2020158377A1/ja
Application granted granted Critical
Publication of JP7091486B2 publication Critical patent/JP7091486B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/50Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems
    • G06F21/57Certifying or maintaining trusted computer platforms, e.g. secure boots or power-downs, version controls, system software checks, secure updates or assessing vulnerabilities
    • G06F21/575Secure boot
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B60VEHICLES IN GENERAL
    • B60RVEHICLES, VEHICLE FITTINGS, OR VEHICLE PARTS, NOT OTHERWISE PROVIDED FOR
    • B60R16/00Electric or fluid circuits specially adapted for vehicles and not otherwise provided for; Arrangement of elements of electric or fluid circuits specially adapted for vehicles and not otherwise provided for
    • B60R16/02Electric or fluid circuits specially adapted for vehicles and not otherwise provided for; Arrangement of elements of electric or fluid circuits specially adapted for vehicles and not otherwise provided for electric constitutive elements
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements 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/44Arrangements for executing specific programs
    • G06F9/4401Bootstrapping
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements 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/44Arrangements for executing specific programs
    • G06F9/4401Bootstrapping
    • G06F9/4418Suspend and resume; Hibernate and awake
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B60VEHICLES IN GENERAL
    • B60RVEHICLES, VEHICLE FITTINGS, OR VEHICLE PARTS, NOT OTHERWISE PROVIDED FOR
    • B60R16/00Electric or fluid circuits specially adapted for vehicles and not otherwise provided for; Arrangement of elements of electric or fluid circuits specially adapted for vehicles and not otherwise provided for
    • B60R16/02Electric or fluid circuits specially adapted for vehicles and not otherwise provided for; Arrangement of elements of electric or fluid circuits specially adapted for vehicles and not otherwise provided for electric constitutive elements
    • B60R16/023Electric or fluid circuits specially adapted for vehicles and not otherwise provided for; Arrangement of elements of electric or fluid circuits specially adapted for vehicles and not otherwise provided for electric constitutive elements for transmission of signals between vehicle parts or subsystems

Description

本発明は、電子制御装置、電子制御装置のセキュリティ検証方法に関する。
近年、安全運転支援及び自動運転技術の進展によって、車両がサーバまたはクラウドのような車外システムと繋がるようになっている。車内外のセキュリティを確保するために、車載装置はセキュアブート等のコード検証機能が搭載されている。
特許文献1には、セキュアブートの方法が開示されている。
特開2017-188826号公報
車載装置のコードの改竄を検知するために、車載装置に搭載されるHSM(Hardware Security Module)のようなセキュアモジュールを用い、起動時にセキュアブートを行うことが望ましい。
一方、高速起動を要求されるECUの場合は、起動時にセキュアブートを実行する時間が確保できないため、コード実行前にコード検証処理をできず、セキュリティが確保できないという課題がある。しかし、コード検証処理が実行できない場合にセキュリティを確保する方法は、特許文献1には開示されていない。
本発明は、上記課題を解決するためのものであり、その目的は、高速起動時のセキュリティを確保する技術を提供することにある。
上記課題を解決するため、本発明に従う電子制御装置は、移動体に搭載される電子制御装置であって、コードを用いてマイコンを制御する制御部と、前記コードのセキュリティ検証を行うセキュリティ検証部と、前記コードの一部であって、前記マイコンがスタンバイ状態から起動される場合に実行されるスタンバイ起動コードを記憶するスタンバイ起動コード記憶部を備え、前記制御部は、前記マイコンがスタンバイ状態に移行する際、前記セキュリティ検証部による前記コードもしくは前記スタンバイ起動コードの検証が完了した場合に、前記スタンバイ起動コードを前記スタンバイ起動コード記憶部に格納し、前記スタンバイ起動コードを次回起動時に実行するよう有効化する。
本発明によれば、高速起動時のセキュリティを確保することができる。
第1実施形態に係るECUを示すブロック図。 第1実施形態に係るセキュリティ検証処理を示すフローチャート。 第1実施形態に係るセキュリティ検証処理を示すフローチャート。 第2実施形態に係るセキュリティ検証処理を示すフローチャート。 第3実施形態に係るセキュリティ検証処理を示すフローチャート。
以下、添付図面を参照して幾つかの実施形態について説明する。本実施形態は、本発明を実現するための一例に過ぎず、本発明の技術的範囲を限定するものではないことに注意すべきである。各図において共通の構成については、同一の参照符号が付されている。
本実施形態では、コードのセキュリティ検証(以下、セキュアブートとも呼ぶ)処理を実行する電子制御装置(Electronic Control Unit。以下、ECU)の一例を説明する。
<第1実施形態>
図1は、第1実施形態に係るECUの構成例を示すブロック図である。
ECU901は、互いにバス線で結線された、メイン制御部10と、メインコード記憶部11と、スタンバイ起動コード記憶部12と、メインデータ記憶部15と、電源制御部17と、デバッグポート18と、通信部19とを備える。さらに、バス線は、後述するセキュア制御部20からアクセスすることができる。後述するセキュア領域に対し、これらの構成要素が所属する領域及び結線を、便宜的にメイン領域1と呼称する。
さらに、ECU901は、互いにバス線で結線された、セキュア制御部20と、セキュアコード記憶部21と、セキュアデータ記憶部25とを備える。セキュア制御部20、セキュアコード記憶部21、及びセキュアデータ記憶部25が所属する領域及び結線を、便宜的にセキュア領域2と呼称する。前記メイン領域1は、ECU901において、セキュア領域2を除く部分である。
メイン領域1のバス線と、セキュア領域2のバス線とは、セキュリティ確保の理由から、直接接続されていない。両領域1,2間のコマンド及びデータの転送は、セキュア制御部20を介して行われる。
メイン制御部10は、プロセッサ(CPU、MPU、またはDSP)を有しており、メインコード記憶部11もしくはスタンバイ起動コード記憶部12に格納されたプログラムを実行する。
メインコード記憶部11は、メイン制御部10が実行するプログラムを格納する。メインコード記憶部11は、フラッシュメモリ、EEPROM、SSD、FRAM(登録商標、以下同じ)、または磁気ディスクのような不揮発性の記憶装置でよい。メインコード記憶部11は、複数の記憶装置から構成されてよく、各プログラムは、複数の記憶装置に分散して格納されてよい。
スタンバイ起動コード記憶部12は、メイン制御部10がスタンバイ起動時に実行するプログラムを格納する。スタンバイ起動コード記憶部12は、揮発性の記憶素子であるRAMを有するメモリでよい。スタンバイ起動コード記憶部12が揮発性の記憶素子からなる場合は、スタンバイ状態において後述する電源制御部17より電源の供給を受けることにより値を保持する。もしくはフラッシュメモリ、EEPROM、SSD、FRAM、または磁気ディスクのような不揮発性の記憶装置でよい。スタンバイ起動コード記憶部12は、複数の記憶装置から構成されてよく、各プログラムは、複数の記憶装置に分散して格納されてよい。
メインコード記憶部11及びスタンバイ起動コード記憶部12及びメインデータ記憶部15は、不揮発性の記憶素子であるROMと、揮発性の記憶素子であるRAMとを有するメモリでよい。ROMは、不変のプログラムを格納する。RAMは、DRAM(Dynamic Random Access Memory)のような高速かつ揮発性の記憶素子であり、メイン制御部10が実行するプログラムと、プログラムの実行時に使用されるデータとを一時的に格納する。
なお、メインコード記憶部11及びスタンバイ起動コード記憶部12及びメインデータ記憶部15は、その一部または全部を互いの構成要素として有してよい。デバイスとして明確な区別が無くても、メインコード記憶部11及びスタンバイ起動コード記憶部12は、コードを記憶している部分を示し、メインデータ記憶部15は、データを記憶している部分を示すとしてよい。
メインコード記憶部11は、メイン制御コード110と、スタンバイ起動制御コード111とを備える。メイン制御コード110は、メイン制御部10が実行するプログラムであり、ECU901の車載装置としての機能を実現させるためのプログラムである。メイン制御コード110は、複数でもよい。
スタンバイ起動制御コード111は、メイン制御部10に実行されるプログラムであり、ECU901がスタンバイ状態から起動する際に実行されるプログラムである。スタンバイ起動制御コード111は、後述するシーケンスによって、ECU901がスタンバイ状態となる前の所定のタイミングでスタンバイ起動コード記憶部12に書き込まれる。
メインデータ記憶部15は、メイン制御部10がプログラムを実行するときに使用されるデータを格納する。メインデータ記憶部15は、フラッシュメモリ、EEPROM、SSD、FRAM、または磁気ディスクのような不揮発性の記憶装置でよい。メインデータ記憶部15は、複数の記憶装置から構成されてよく、各データは、複数の記憶装置に分散して格納されてよい。
メインデータ記憶部15は、特に図示していないが、制御データを備える。メインデータ記憶部15の制御データは、メイン制御部10に実行されるメイン制御コード110もしくはスタンバイ起動制御コード111が処理に使用するデータであり、ECU901の車載装置としての機能を実現させるためのデータである。メインデータ記憶部15の制御データは、用途に応じて複数でよい。
電源制御部17は、ECU901の構成要素が電源の供給を受けるための構成要素である。電源制御部17は、状態に応じて個々の構成要素に別個に電力を供給する。一例として、スタンバイ状態で、スタンバイ起動コード記憶部12に電力を供給し、メイン制御部10に電力を供給しない制御を行う。
デバッグポート18は、メインコード記憶部11やメインデータ記憶部15に記憶されたコード及びデータを、ECU901の外部から書き換えるためのモジュールである。デバッグポート18は、JTAGやSPIなどであることが考えられる。デバッグポート18はデバッガ等の接続を検知して、電源制御部17と連携してECU901をリセットすることが考えられる。
通信部19は、ECU901が車両900の他の構成要素と通信するための構成要素である。通信部19は、CAN、CAN FD、Ethernet(登録商標)、またはFlexRayによって通信するためのモジュールである。ECU901は、用途及び通信方式に応じて複数の通信部19を含んでよい。さらに、通信部19は、他の通信を実施するモジュールと共用でよい。なお、通信部19は、無線通信する場合、アンテナ及び変復調回路を含んでよい。通信部19は、有線通信する場合、コネクタ及び変復調回路を含んでよい。
セキュア制御部20は、HSM、SHE、TPM、その他セキュアマイコン、またはセキュアコアと呼ばれるプロセッサ(CPU、MPU、またはDSP)から構成される。セキュア制御部20は、セキュアコード記憶部21に格納されたプログラムを実行する。セキュア制御部20には、耐タンパ性を有してよい。なお、セキュア制御部20の例として示したHSM,SHE、またはTPMは、後述のセキュアコード記憶部21、及びセキュアデータ記憶部25を包含してよい。
セキュアコード記憶部21は、セキュア制御部20が実行するプログラムを格納する。セキュアコード記憶部21は、フラッシュメモリ、EEPROM、SSD、FRAM、または磁気ディスクのような不揮発性の記憶装置でよい。セキュアコード記憶部21は、耐タンパ性を有してよい。セキュアコード記憶部21は、複数の記憶装置から構成されてよく、各プログラムは、複数の記憶装置に分散して格納されてよい。
セキュアデータ記憶部25は、セキュア制御部20がプログラムを実行するときに使用されるデータを格納する。セキュアデータ記憶部25は、フラッシュメモリ、EEPROM、SSD、FRAM、または磁気ディスクのような不揮発性の記憶装置でよい。セキュアデータ記憶部25は、耐タンパ性を有してよい。
セキュアコード記憶部21及びセキュアデータ記憶部25は、不揮発性の記憶素子であるROMと、揮発性の記憶素子であるRAMとを有するメモリでよい。ROMは、不変のプログラムを格納する。RAMは、DRAM(Dynamic Random Access Memory)のような高速かつ揮発性の記憶素子であり、セキュア制御部20が実行するプログラム及びプログラムの実行時に使用されるデータを一時的に格納する。
さらに、セキュアコード記憶部21及びセキュアデータ記憶部25は、その一部または全部を互いの構成要素として有してよい。デバイスとして明確な区別が無くても、セキュアコード記憶部21は、セキュア領域2においてコードを記憶している部分を示し、セキュアデータ記憶部25は、セキュア領域2においてデータを記憶している部分を示すとしてよい。
セキュアコード記憶部21は、セキュア制御コード210を備える。セキュア制御コード210は、セキュア制御部20で実行されるプログラムであり、ECU901の車載装置としてのセキュリティ機能を実現させるためのプログラムである。セキュア制御コード210は、複数でよい。後述するシーケンスにおいて、セキュア制御コード210は、ECU901のコードの正当性の検証を行う。
セキュアデータ記憶部25は、スタンバイ起動制御コード格納部251と、検証要否判定フラグ252とを備える。スタンバイ起動制御コード格納部251は、スタンバイ起動制御コード111を一時的または永続的に格納するための領域であり、後述する第2実施形態において詳細を述べる。検証要否判定フラグ252は、セキュア制御部20によるコード検証が必要か否かを判定するためのフラグであり、後述する第3実施形態において詳細を述べる。
また、セキュアデータ記憶部25は、セキュア制御部20に実行されるセキュア制御コード210が処理に使用するセキュア制御データを保持してよい。セキュアデータ記憶部25が保持するセキュア制御データは、ECU901の車載装置としてのセキュリティ機能を実現させるためのデータであり、用途に応じて複数でよい。
以下、図2と図3を参照しながらセキュリティ検証処理の一例を説明する。
図2は、第1実施形態に係るセキュリティ検証処理を示すフローチャートである。
以下、メインコード記憶部11のプログラムが実行主体となる記述をした場合、メイン制御部10によって当該プログラムが実行されるものとする。さらに、セキュアコード記憶部21のプログラムが実行主体となる記述をした場合、セキュア制御部20によって当該プログラムが実行されるものとする。
さらに、以下の図中の矢印は、概念的なコマンド及びデータの流れを示したものであって、通信方向及び指示方向を限定するものではない。矢印で図示されていない処理指示及びデータの流れがあってよい。
図示したシーケンスは、ECU901が、スタンバイ状態への移行を開始した状態から開始する(S101)。ECU901のスタンバイ状態への移行は、例えばエンジンOFFなどをきっかけに開始する。
まず、メイン制御部10は、セキュア制御部20にコード検証の実行を要求する(S102)。これを受けセキュア制御部20はメインコード記憶部11の制御コードのコード検証を行う(S103)。S102は無くともよく、S102が無い場合はセキュア制御部20がS101の次のステップとしてS103を実行してよい。あるいはセキュア制御部20がタイマ駆動などでS103を実行してもよい。S103でのコード検証が失敗した場合(S104 NG)、セキュア制御部20は所定のエラー処理を実施する(S105)。コード検証が成功した場合(S104 OK)、セキュア制御部20は検証完了をメイン制御部10に通知する(S106)。コード検証が正しく完了したことを受けたメイン制御部10は、スタンバイ起動制御コード111をスタンバイ起動コード記憶部12に書き込み(S107)、スタンバイモードに入る(S108)。
特に図2に示してはいないが、スタンバイモードでは、スタンバイ起動コード記憶部12に対し電源制御部17から電源が供給されており、スタンバイ起動コード記憶部12はスタンバイモード中も値を保持することができる。またスタンバイモードではメイン制御部10やセキュア制御部20への電源供給が停止されていてよい。
続いて、エンジンONなどのトリガでECU901のスタンバイ起動が開始すると(S109)、電源制御部17よりメイン制御部10に電源が供給され、メイン制御部10は、スタンバイ起動コード記憶部12に格納されたスタンバイ起動制御コード111を実行する(S110)。メイン制御部10は、S110に続いてメイン制御コード110を実行してよい(S111)。
また図2に示してはいないが、スタンバイ起動制御コード111は、その処理の中でセキュア制御部20にコード検証要求を行っても良い。これを受けたセキュア制御部20でのコード検証は、検証範囲はS103と同等であってよく、また、メイン制御部10によるスタンバイ起動制御コード111の実行もしくはメイン制御コード110の実行と、並行して行われてよい。
図3は、第1実施形態に係るセキュリティ検証処理を示すフローチャートであり、図2を用いて説明したフローチャートの分岐処理である。尚、図3に係るセキュリティ検証処理は、図2に係るセキュリティ検証処理において、スタンバイモード中にECU901にリセットがかかるケースを述べたものであり、その他の構成は、図2に係るリプログラミング処理と同様である。したがって、図2との相違点を中心に述べる。
S108でECU901がスタンバイモードにある場合に、デバッガ等が接続された場合(S201)、デバッグポート18と電源制御部17が連携してリセットが発生する(S202)。このときリセットによってスタンバイモードは解除され、スタンバイ起動コード記憶部12はクリアされる(S203)。S203は、スタンバイ起動コード記憶部12が不揮発メモリである場合は、明示的な書き換え処理を行ってもよい。
スタンバイモードが解除されてリセットからの起動となったECU901は、セキュア制御部20でメインコード記憶部11の制御コードのコード検証を行う(S204)。S102とS103の関係のように、メイン制御部10の信頼されたコードからコード検証要求を受けてS204が実行されてもよい。S205でのコード検証が失敗した場合(S205 NG)、セキュア制御部20は所定のエラー処理を実施する(S206)。コード検証が成功した場合(S205 OK)、セキュア制御部20は検証完了をメイン制御部10に通知する(S207)。以降、コード検証が正しく完了したことを受けたメイン制御部10は、S111の処理に進む。
尚、S201においてデバッガ接続を検知することはシーケンスの一例であり、S202のリセット動作が発生する処理フローであれば本例に限るものではない。すなわち、S201を含む、ECU901のコード改竄等の攻撃などが疑われる任意の事象により、S202のリセットが発生する場合に、S204以降の処理が実行される。
この構成によれば、リセットを伴う不正なコード書き換えを検知しつつ、スタンバイモードからの高速起動時のセキュリティを確保することができる。
なお、本実施形態において説明したステップが、実施されている最中に、何らかのエラーが発生した場合、そのエラーが車両情報システムの各構成要素の制御部に通知されてよい。
また、メイン制御コード110、スタンバイ起動制御コード111、及びセキュア制御コード210に含まれる各プログラムは、必要に応じて、実行中の処理を示す情報を表示装置に表示してよい。これら各プログラムは、特に一連の処理の完了や、分岐処理の発生を示す情報を表示装置に表示することが望ましい。さらに、分岐処理における判定を、入力装置を介してユーザが実行してよい。
さらに、本実施形態において、各ステップ間の情報のやり取りを省略していることがある。しかし、実際には、コマンドに対するレスポンスのペアを成していることがある。さらに、各ステップ間の情報のやり取りを一組の双方向矢印で示している場合でも、このやり取りにおいて複数のコマンド及びレスポンスを含んでよい。さらに、エンティティ間でデータを送受信する内容を記述している場合でも、実際の通信は、一方のエンティティがクライアント役、他方のエンティティがサーバ役となることがある。この場合、実際の通信は、コマンド及びレスポンスを通じて実施され、その結果として前述のデータを送信してよい。
<第2実施形態>
第2実施形態に係るセキュリティ検証処理について説明する。尚、第2実施形態に係るセキュリティ検証処理は、第1実施形態に係るセキュリティ検証処理とは、スタンバイ起動制御コード111の書き込みの主体が異なるだけであり、その他の構成は、第1実施形態に係るセキュリティ検証処理と同様である。したがって、第1実施形態との相違点を中心に述べる。
図4は、第2実施形態に係るセキュリティ検証処理を示すフローチャートである。
図4では、図3のS107に変わり、セキュア制御部20がS104(OK)の後に、スタンバイ起動制御コード格納部251に格納したスタンバイ起動制御コード111をスタンバイ起動コード記憶部12に書き込む(S301)。セキュア制御部20は、予めメインコード記憶部11からスタンバイ起動制御コード111をスタンバイ起動制御コード格納部251にコピーしてよい。あるいはスタンバイ起動制御コード格納部251に永続的にスタンバイ起動制御コード111を保持していてもよい。以降、図2で示したフローと同様の処理を実行する。
第2の実施形態においては、スタンバイ起動コード記憶部12は、セキュア領域2のみから書き込み可能であるように制御され、メイン領域1からは読み出しのみが可能であるように制御されることが望ましい。
この構成によれば、スタンバイ起動開始時に読み出されるスタンバイ起動コード記憶部12のコードが、セキュア領域2からによってのみ書き込まれることが保障されることから、高速起動時のセキュリティをより高い強度で確保することができる。
<第3実施形態>
第3実施形態に係るセキュリティ検証処理について説明する。尚、第3実施形態に係るセキュリティ検証処理は、第1実施形態に係るセキュリティ検証処理とは、セキュリティ検証実施要否の判断の方法が異なるだけであり、その他の構成は、第1実施形態に係るリプログラミング処理と同様である。したがって、第1実施形態との相違点を中心に述べる。
図5は、第3実施形態に係るセキュリティ検証処理を示すフローチャートである。
図5では、ECU901が、シャットダウンへの移行を開始した状態から開始する(S401)。第1、第2の実施形態と同様に、スタンバイ状態への移行を契機としてもよい。以降、S102~S104(OK)まで、第2の実施形態と同様に処理した後、検証が成功したことを受けて検証済みフラグを検証要否判定フラグ252に書き込む(S402)。その後、ECU901は電源OFF状態に移行する(S403)。第1、第2の実施形態と同様に、スタンバイモードに移行してもよい。
S403でECU901が電源OFF状態にある場合に、デバッガ等が接続された場合(S404)、デバッグポート18とセキュア制御部20が連携して検証要否判定フラグ252の検証済みフラグをクリアする。
ECU901にエンジンONなどで電源が投入されたり、リセットされたりすると(S405)、セキュア制御部20検証要否判定フラグ252をチェックし、検証済みであれば(S406 YES)、S207に進む。検証済みでなければ(S406 NO)、S204に進んでコード検証を実施する。ここで、検証済みである場合とは、シャットダウン前にS402によって検証要否判定フラグ252に検証済みを示すフラグが書き込まれ、かつ、S404等の検証済みを示すフラグのクリアが行われる処理が発生しなかった場合になる。
尚、S404においてデバッガ接続を検知することはシーケンスの一例であり、S404で検証済みフラグのクリアが行われる処理フローであれば本例に限るものではない。すなわち、S404を含む、ECU901のコード改竄等の攻撃などが疑われる任意の事象により、検証要否判定フラグ252の検証済みフラグのクリアが行われる場合に、S204以降の処理が実行される。
この構成によれば、検証要否をセキュア制御部20によって判断することが可能となり、スタンバイ起動に限らず、セキュリティを保ちつつ高速起動が可能となる。
なお、本発明は上記した各実施形態に限定されるものではなく、様々な変形例が含まれる。上記した各実施形態は本発明を分かりやすく説明するために詳細に説明されたものであり、必ずしも説明した全ての構成を備えるものに限定されるものではない。さらに、ある実施形態の構成の一部を他の実施形態の構成に置き換えることが可能であり、さらに、ある実施形態の構成に他の実施形態の構成を加えることも可能である。さらに、各実施形態の構成の一部について、他の構成の追加・削除・置換をすることが可能である。
さらに、上記の各構成、機能、処理部、処理手段は、それらの一部または全部を、集積回路で設計することによって、ハードウェアで実現してよい。さらに、上記の各構成、機能は、プロセッサがそれぞれの機能を実現するプログラムを解釈及び実行することによって、ソフトウェアで実現してもよい。各機能を実現するプログラム、テーブル、及びファイルのような情報は、メモリ、ハードディスク、若しくはSSDの記録装置、または、ICカード、SDカード、若しくはDVDのような記録媒体に格納されてよい。
さらに、制御線や情報線は説明上必要と考えられるものを示しており、製品上必ずしも全ての制御線や情報線を示しているとは限らない。実際には、殆ど全ての構成が相互に接続されてよい。
1…メイン領域、2…セキュア領域、10…メイン制御部、11…メインコード記憶部、12…スタンバイ起動コード記憶部、15…メインデータ記憶部、17…電源制御部、18…デバッグポート、19…通信部、20…セキュア制御部、21…セキュアコード記憶部、22…セキュアデータ記憶部、110…メイン制御コード、111…スタンバイ起動制御コード、210…セキュア制御コード、251…スタンバイ起動制御コード格納部、252…検証要否判定フラグ、901…ECU

Claims (3)

  1. 移動体に搭載される電子制御装置であって、
    コードを用いてマイコンを制御する制御部と、前記コードのセキュリティ検証を行うセキュリティ検証部と、
    前記コードの一部であって、前記マイコンがスタンバイ状態から起動される場合に実行されるスタンバイ起動コードを記憶するスタンバイ起動コード記憶部を備え、
    前記制御部は、前記マイコンがスタンバイ状態に移行する際、
    前記セキュリティ検証部による前記コードもしくは前記スタンバイ起動コードの検証が完了した場合に、
    前記スタンバイ起動コードを前記スタンバイ起動コード記憶部に格納し、
    前記スタンバイ起動コードを次回起動時に実行するよう有効化する、電子制御装置。
  2. 前記セキュリティ検証部は、前記マイコンが停止状態に移行する際、
    前記セキュリティ検証部による前記コードもしくは前記スタンバイ起動コードの検証が完了した場合に、
    前記スタンバイ起動コードを次回起動時に実行するよう有効化する、請求項1に記載の電子制御装置。
  3. コードを用いてマイコンを制御する制御部と、前記コードのセキュリティ検証を行うセキュリティ検証部と、
    前記コードの一部であって、前記マイコンがスタンバイ状態から起動される場合に実行されるスタンバイ起動コードを記憶するスタンバイ起動コード記憶部を備え、
    前記制御部は、前記マイコンがスタンバイ状態に移行する際、
    前記セキュリティ検証部による前記コードもしくは前記スタンバイ起動コードの検証が完了した場合に、
    前記スタンバイ起動コードを前記スタンバイ起動コード記憶部に格納し、
    前記スタンバイ起動コードを次回起動時に実行するよう有効化する、電子制御装置のセキュリティ検証方法。
JP2020569487A 2019-01-30 2020-01-15 電子制御装置、電子制御装置のセキュリティ検証方法 Active JP7091486B2 (ja)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
JP2019013764 2019-01-30
JP2019013764 2019-01-30
PCT/JP2020/000950 WO2020158377A1 (ja) 2019-01-30 2020-01-15 電子制御装置、電子制御装置のセキュリティ検証方法

Publications (2)

Publication Number Publication Date
JPWO2020158377A1 JPWO2020158377A1 (ja) 2021-10-14
JP7091486B2 true JP7091486B2 (ja) 2022-06-27

Family

ID=71842064

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2020569487A Active JP7091486B2 (ja) 2019-01-30 2020-01-15 電子制御装置、電子制御装置のセキュリティ検証方法

Country Status (5)

Country Link
US (1) US20220171855A1 (ja)
EP (1) EP3895939A4 (ja)
JP (1) JP7091486B2 (ja)
CN (1) CN113348110B (ja)
WO (1) WO2020158377A1 (ja)

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
FR3110005B1 (fr) * 2020-05-05 2022-05-27 Thales Sa Contrôleur de démarrage sécurisé pour un système embarqué, système embarqué et procédé de démarrage sécurisé associés
JP2022118486A (ja) * 2021-02-02 2022-08-15 株式会社Subaru 車両用制御装置
DE102022207941A1 (de) * 2022-08-01 2024-02-01 Robert Bosch Gesellschaft mit beschränkter Haftung Verfahren zum Booten einer elektronischen Steuereinheit

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2009129322A (ja) 2007-11-27 2009-06-11 Denso Corp 車両用制御装置
WO2016185577A1 (ja) 2015-05-20 2016-11-24 富士通株式会社 プログラム検証方法、検証プログラム、及び情報処理装置
JP2017156945A (ja) 2016-03-01 2017-09-07 株式会社東芝 情報処理装置及び制御方法

Family Cites Families (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20040193763A1 (en) * 2003-03-28 2004-09-30 Fujitsu Limited Inter-bus communication interface device and data security device
JP5582909B2 (ja) * 2010-07-29 2014-09-03 キヤノン株式会社 プラットフォーム完全性検証システム
US9575768B1 (en) * 2013-01-08 2017-02-21 Marvell International Ltd. Loading boot code from multiple memories
CN103522961B (zh) * 2013-03-26 2016-01-20 Tcl康钛汽车信息服务(深圳)有限公司 一种快速启动倒车影像的方法、系统及车机系统
JP6244759B2 (ja) * 2013-09-10 2017-12-13 株式会社ソシオネクスト セキュアブート方法、半導体装置、及び、セキュアブートプログラム

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2009129322A (ja) 2007-11-27 2009-06-11 Denso Corp 車両用制御装置
WO2016185577A1 (ja) 2015-05-20 2016-11-24 富士通株式会社 プログラム検証方法、検証プログラム、及び情報処理装置
JP2017156945A (ja) 2016-03-01 2017-09-07 株式会社東芝 情報処理装置及び制御方法

Also Published As

Publication number Publication date
US20220171855A1 (en) 2022-06-02
WO2020158377A1 (ja) 2020-08-06
EP3895939A1 (en) 2021-10-20
EP3895939A4 (en) 2022-08-24
JPWO2020158377A1 (ja) 2021-10-14
CN113348110A (zh) 2021-09-03
CN113348110B (zh) 2024-03-22

Similar Documents

Publication Publication Date Title
JP7091486B2 (ja) 電子制御装置、電子制御装置のセキュリティ検証方法
US10509568B2 (en) Efficient secure boot carried out in information processing apparatus
EP1754126B1 (en) Enhancing trusted platform module performance
JP5975629B2 (ja) メモリ保護ユニットおよび記憶素子へのアクセスコントロール方法
JP5576557B2 (ja) プロセッサシステム及びその制御方法
US9715601B2 (en) Secure access in a microcontroller system
US10384625B2 (en) Communication device and non-transitory recording medium
CN107567629A (zh) 在可信执行环境容器中的动态固件模块加载器
US20210117109A1 (en) Transparently Attached Flash Memory Security
WO2023024895A1 (zh) 充电座和充电座升级的方法、装置、设备、存储介质
US7934050B2 (en) Microcomputer for flash memory rewriting
JP4743182B2 (ja) マイクロコンピュータ
EP3432190B1 (en) Processing system and related integrated circuit for handling password management
KR20180066601A (ko) 메모리 시스템의 구동 방법
CN114008617A (zh) 固件防回滚
US20200050799A1 (en) Storage device and data tampering detection method
EP4064100A1 (en) Processing system, related integrated circuit, device and method
CN112068904A (zh) 一种芯片boot运行方法、装置及相关组件
JP2022052018A (ja) 情報処理装置
US20120265904A1 (en) Processor system
CN108369558B (zh) 用于运行微控制器的方法
JP4543505B2 (ja) マイクロコンピュータの制御方法及び異常監視装置
TW202338563A (zh) 用於存取控制之保存恢復引擎
CN117150494A (zh) 半导体设备
CN113791936A (zh) 数据备份方法、装置及存储介质

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20210416

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20220308

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20220328

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: 20220531

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20220615

R150 Certificate of patent or registration of utility model

Ref document number: 7091486

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150