JP2023087987A - Electronic control device - Google Patents

Electronic control device Download PDF

Info

Publication number
JP2023087987A
JP2023087987A JP2021202577A JP2021202577A JP2023087987A JP 2023087987 A JP2023087987 A JP 2023087987A JP 2021202577 A JP2021202577 A JP 2021202577A JP 2021202577 A JP2021202577 A JP 2021202577A JP 2023087987 A JP2023087987 A JP 2023087987A
Authority
JP
Japan
Prior art keywords
verification
area
divided area
value
processing
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.)
Pending
Application number
JP2021202577A
Other languages
Japanese (ja)
Inventor
翔太郎 川野
Shotaro Kawano
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.)
Denso Corp
Original Assignee
Denso Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Denso Corp filed Critical Denso Corp
Priority to JP2021202577A priority Critical patent/JP2023087987A/en
Publication of JP2023087987A publication Critical patent/JP2023087987A/en
Pending legal-status Critical Current

Links

Images

Landscapes

  • Storage Device Security (AREA)

Abstract

To appropriately shorten an execution time of secure boot.SOLUTION: An electronic control device 1 includes a hardware security module 4 for generating a verification value on the basis of an encryption key, and capable of executing verification processing of an area by collating the generated verification value with a collation value, and an arithmetic part 5 capable of executing arithmetic processing. A target area of secure boot is divided so as to include at least a first division area and a second division area. A portion of verification processing of the first division area is executed by the hardware security module, the entire verification processing of the second division area is executed by the arithmetic part, and the portion of the verification processing of the first division area and the entire verification processing of the second division area are executed in parallel.SELECTED DRAWING: Figure 1

Description

本発明は、電子制御装置に関する。 The present invention relates to electronic control units.

例えば車両に搭載される電子制御装置においては、アプリケーション(以下、アプリと称する)の機能追加や不具合改修を目的としてアプリを書き換える機能が搭載されていると共に、悪意を持った第三者によるアプリの改ざんを検知する機能も搭載されている。アプリとは、ある特定の機能を実現するソフトウェアを意味する。アプリの起動を開始する前に当該アプリの改ざんを検知する手法として、セキュアブートという仕組みがある。例えば特許文献1には、セキュアブートをハードウェアセキュリティモジュール(以下、HSM(Hardware Security Module)称する)で実行する手法が開示されている。 For example, electronic control units installed in vehicles are equipped with a function to rewrite applications (hereinafter referred to as applications) for the purpose of adding functions and fixing defects, and malicious third parties may modify applications. It also has a tamper detection function. An app is software that implements a specific function. There is a mechanism called secure boot as a method of detecting tampering with the application before starting the application. For example, Patent Literature 1 discloses a method of executing secure boot using a hardware security module (hereinafter referred to as HSM (Hardware Security Module)).

特開2017-33248号公報Japanese Unexamined Patent Application Publication No. 2017-33248

セキュアブートの対象領域と、その対象領域を検証するのに費やす検証時間とは比例する関係にあり、セキュアブートの対象領域が増大することに伴って検証時間も増大する。セキュアブートを実行する電子制御装置が他の電子制御装置と連携してアプリを実行する構成では、セキュアブートを実行する電子制御装置においては、他の電子制御装置とデータ通信を開始するまでにセキュアブートを完了している必要がある。しかしながら、上記したようにセキュアブートの対象領域が増大することに伴って検証時間も増大することから、セキュアブートの対象領域の全てをHSMで実行すると、データ通信を開始するまでに対象領域の全ての検証を完了することができない場合がある。 The secure boot target area and the verification time required to verify the target area are in a proportional relationship, and the verification time increases as the secure boot target area increases. In a configuration in which an electronic control unit that executes secure boot executes an application in cooperation with another electronic control unit, the electronic control unit that executes secure boot must be secured before starting data communication with the other electronic control unit. Must have finished booting. However, as described above, the verification time increases as the target area of secure boot increases. verification may not be completed.

本発明は、上記した事情に鑑みてなされたものであり、その目的は、セキュアブートの実行時間を適切に短縮することができる電子制御装置を提供することにある。 The present invention has been made in view of the circumstances described above, and an object of the present invention is to provide an electronic control device capable of appropriately shortening the execution time of secure boot.

請求項1に記載した発明によれば、暗号鍵に基づいて検証値を生成し、その生成した検証値と照合値とを照合して領域の検証処理を実行可能なハードウェアセキュリティモジュール(4)と、演算処理を実行可能な演算部(5)と、を備える。セキュアブートの対象領域を少なくとも第1分割領域と第2分割領域とを含むように分割する。前記第1分割領域の検証処理の一部を前記ハードウェアセキュリティモジュールで実行し、前記第2分割領域の検証処理の全体を前記演算部で実行し、前記第1分割領域の検証処理の一部と前記第2分割領域の検証処理の全体とを並列に実行する。 According to the first aspect of the invention, a hardware security module (4) is capable of generating a verification value based on an encryption key and comparing the generated verification value with a verification value to execute region verification processing. and a calculation unit (5) capable of executing calculation processing. A secure boot target area is divided to include at least a first divided area and a second divided area. Part of verification processing of the first segmented region is performed by the hardware security module, entire verification processing of the second segmented region is performed by the computing unit, and part of verification processing of the first segmented region is performed. and the whole verification process of the second divided area are executed in parallel.

セキュアブートの対象領域の全てをハードウェアセキュリティモジュールで実行する従来とは異なり、ハードウェアセキュリティモジュールにおける第1分割領域の検証処理の一部と、演算部における前記第2分割領域の検証処理の全体とを並列に実行することで、セキュアブートの実行時間を適切に短縮することができる。 Unlike the conventional method in which a hardware security module executes all areas targeted for secure boot, a part of the verification processing of the first divided area in the hardware security module and the entire verification process of the second divided area in the arithmetic unit are performed. By executing and in parallel, the execution time of secure boot can be appropriately shortened.

一実施形態を示す機能ブロック図Functional block diagram showing one embodiment セキュアブートの対象領域の全体に対する処理を示すフローチャートFlowchart showing processing for the entire secure boot target area 領域Aの検証処理におけるCPU側の処理を示すフローチャートFlowchart showing processing on the CPU side in verification processing of area A 領域Aの検証処理におけるHSM側の処理を示すフローチャートFlowchart showing HSM-side processing in area A verification processing 領域Aの検証処理を説明する図Diagram for explaining the verification process of the area A 領域Bの検証処理におけるCPU側の処理を示すフローチャートFlowchart showing processing on the CPU side in verification processing for region B 領域Bの検証処理におけるHSM側の処理を示すフローチャートFlowchart showing processing on the HSM side in verification processing for area B 領域Bの検証処理を説明する図Diagram for explaining the verification process of the area B 領域Cの検証処理におけるCPU側の処理を示すフローチャートFlowchart showing processing on the CPU side in verification processing for area C 領域Cの検証処理を説明する図Diagram for explaining the verification process for area C タイミングチャートTiming chart

以下、一実施形態について図面を参照して説明する。図1に示すように、電子制御装置(ECU:Electronic Control Unit)1は、例えば車両に搭載される車載用の電子制御装置であり、複数のECUを統括管理する機能を備える装置である。電子制御装置1は、例えば駆動系の制御を行う装置、ADAS(Advanced Driving Assistant System)系の制御を行う装置、マルチメディア系の制御を行う装置等であっても良い。電子制御装置1は、悪意を持った第三者によるアプリの改ざんを検知する機能として、アプリの起動を開始する前に当該アプリの改ざんを検知するセキュアブートの機能を搭載している。 An embodiment will be described below with reference to the drawings. As shown in FIG. 1, an ECU (Electronic Control Unit) 1 is an in-vehicle electronic control unit mounted on a vehicle, for example, and has a function of managing a plurality of ECUs in an integrated manner. The electronic control unit 1 may be, for example, a device that controls a drive system, a device that controls an ADAS (Advanced Driving Assistant System) system, a device that controls a multimedia system, or the like. The electronic control unit 1 is equipped with a secure boot function for detecting tampering with an application by a malicious third party before starting the application.

電子制御装置1はMPU2を備える。MPU2は、ROM3と、HSM4と、演算部としてのCPU5と、データフラッシュ6とを備える。MPU2は、非遷移的実体的記憶媒体に格納されているコンピュータプログラムを実行することでコンピュータプログラムに対応する処理を実行し、電子制御装置1の動作を制御する。CPU5は演算処理を実行可能である。 The electronic control unit 1 has an MPU 2 . The MPU 2 includes a ROM 3 , an HSM 4 , a CPU 5 as an arithmetic unit, and a data flash 6 . The MPU 2 executes a computer program stored in a non-transitional physical storage medium to execute processing corresponding to the computer program, and controls the operation of the electronic control unit 1 . The CPU 5 can execute arithmetic processing.

ROM3は、データを格納する領域として、セキュアブート対象領域7を備え、プログラムを格納する領域として、ブートプログラムを格納するブートプログラム領域8と、セキュリティ認証のためのセキュリティプログラムを格納するセキュリティプログラム領域9とを備える。セキュアブート対象領域7は、その領域を分割しており、第3分割領域としての領域Aと、第1分割領域としての領域Bと、第2分割領域としての領域Cとを含む。領域Aは、領域B,Cの領域分割情報と、領域BのMAC値と、領域CのMAC値とを含む。領域Bの領域分割情報は領域Bの先頭アドレスと末尾アドレスにより特定されるデータの格納範囲を示すアドレス情報であり、領域Cの領域分割情報は領域Cの先頭アドレスと末尾アドレスにより特定されるデータの格納範囲を示すアドレス情報である。MAC値は照合値に相当する。ブートプログラム領域8は、領域Aの領域分割情報を含む。領域Aの領域分割情報は領域Aの先頭アドレスと末尾アドレスにより特定されるデータの格納範囲を示すアドレス情報である。領域Aの領域分割情報は、書き込みが一度だけに制限される情報であり、書き込み後は更新不能な情報である。 The ROM 3 includes a secure boot target area 7 as an area for storing data, a boot program area 8 for storing a boot program as an area for storing programs, and a security program area 9 for storing a security program for security authentication. and The secure boot target area 7 is divided into an area A as a third divided area, an area B as a first divided area, and an area C as a second divided area. Region A includes region division information for regions B and C, the MAC value for region B, and the MAC value for region C. FIG. The area division information of area B is address information indicating the storage range of data specified by the start address and end address of area B, and the area division information of area C is data specified by the start address and end address of area C. This is address information indicating the storage range of the . A MAC value corresponds to a matching value. The boot program area 8 contains area division information for the area A. FIG. The area division information of the area A is address information indicating the storage range of the data specified by the top address and the end address of the area A. FIG. The area division information of area A is information that can be written only once, and cannot be updated after writing.

HSM4は、領域A,Bの検証を実行する際の検証値を生成するのに必要な暗号鍵と、領域AのMAC値とを格納する。データフラッシュ6は、セキュリティプログラム領域9に格納されている専用のセキュリティプログラムが起動されることでセキュリティアクセス可能であり、領域Cの検証を実行する際の検証値を生成するのに必要な暗号鍵を格納する。 The HSM 4 stores an encryption key required to generate a verification value for verifying the areas A and B, and the MAC value of the area A. FIG. The data flash 6 can be accessed by security by activating the dedicated security program stored in the security program area 9, and the encryption key required to generate the verification value when executing the verification of the area C to store

次に、上記した構成の作用について図2から図11を参照して説明する。
電子制御装置1は、領域A,Bの検証処理をそれぞれHSM4とCPU5が連携して実行し、領域Cの検証処理をCPU5が単独で実行する。電子制御装置1は、図2に示すように、領域Aの検証処理を実行し(S1)、領域Aの検証処理を完了すると、領域Bの検証処理と領域Cの検証処理とを並列に実行する(S2,S3)。以下、領域A~Cの各検証処理について説明する。
Next, the operation of the above configuration will be described with reference to FIGS. 2 to 11. FIG.
In the electronic control unit 1, the HSM 4 and the CPU 5 cooperate to execute the verification processes for the areas A and B, and the CPU 5 executes the verification process for the area C independently. As shown in FIG. 2, the electronic control unit 1 executes the verification process of area A (S1), and when the verification process of area A is completed, the verification process of area B and the verification process of area C are executed in parallel. (S2, S3). Each verification process for areas A to C will be described below.

(1)領域Aの検証処理
領域Aの検証処理について図3から図5を参照して説明する。
CPU5は、領域Aの検証処理におけるCPU側の処理を開始すると、ROM3のブートプログラム領域8に格納されている領域Aの領域分割情報を取得し(A1)、ROM3のセキュアブート対象領域7に格納されている領域Aのデータを取得する(A2)。CPU5は、領域Aの検証実行許可をHSM4へ送信し(A3)、領域Aの領域分割情報をHSM4へ送信し(A4)、領域AのデータをHSM4へ送信し(A5)、HSM4からの領域Aの検証結果の受信を待機する。
(1) Verification Processing of Region A Verification processing of region A will be described with reference to FIGS. 3 to 5. FIG.
When the CPU 5 starts processing on the CPU side in the verification processing of the area A, the CPU 5 acquires the area division information of the area A stored in the boot program area 8 of the ROM 3 (A1), and stores it in the secure boot target area 7 of the ROM 3. The data of the area A where the data is stored is acquired (A2). The CPU 5 transmits the verification execution permission of the area A to the HSM 4 (A3), transmits the area division information of the area A to the HSM 4 (A4), transmits the data of the area A to the HSM 4 (A5), and Wait to receive A's verification result.

HSM4は、領域Aの検証処理におけるHSM側の処理を開始すると、CPU5から送信された領域Aの検証実行許可を受信する(B1)。HSM4は、CPU5から送信された領域Aの領域分割情報を受信し(B2)、CPU5から送信された領域Aのデータを受信すると(B3)、自己が保持している暗号鍵を用いて領域Aの検証値を生成する(B4)。HSM4は、その生成した領域Aの検証値と、自己が保持している領域AのMAC値とを照合し(B5)、領域Aを検証し(B6)、その領域Aの検証結果をCPU5へ送信し(B7)、HSM側の処理を終了する。即ち、HSM4は、検証値とMAC値が一致していれば、検証値とMAC値の一致を示す検証結果をCPU5へ送信し、検証値とMAC値が一致していなければ、検証値とMAC値の不一致を示す検証結果をCPU5へ送信する。 When HSM 4 starts processing on the HSM side in verification processing for region A, it receives verification execution permission for region A transmitted from CPU 5 (B1). When the HSM 4 receives the area division information of the area A transmitted from the CPU 5 (B2), and receives the data of the area A transmitted from the CPU 5 (B3), the HSM 4 uses the encryption key held by itself to (B4). The HSM 4 compares the generated verification value of the area A with the MAC value of the area A held by itself (B5), verifies the area A (B6), and sends the verification result of the area A to the CPU 5. (B7), and the processing on the HSM side ends. That is, if the verification value and the MAC value match, the HSM 4 transmits to the CPU 5 a verification result indicating that the verification value and the MAC value match. A verification result indicating mismatch of values is sent to the CPU 5 .

CPU5は、HSM4から送信された領域Aの検証結果を受信すると(A6)、その受信した検証結果に基づいて検証値とMAC値が一致しているか否かを判定する(A7)。CPU5は、検証値とMAC値が一致していると判定すると(A7:YES)、領域B,Cの検証に移行し(A8)、CPU側の処理を終了する。CPU5は、検証値とMAC値が一致していないと判定すると(A7:NO)、領域B,Cの検証に移行せずに起動を中断し(A9)、CPU側の処理を終了する。図5は、領域Aの検証処理における各種情報を送受信する態様を示している。 When the CPU 5 receives the verification result of the area A transmitted from the HSM 4 (A6), it determines whether or not the verification value and the MAC value match based on the received verification result (A7). When the CPU 5 determines that the verification value and the MAC value match (A7: YES), it shifts to verification of the areas B and C (A8), and ends the processing on the CPU side. When the CPU 5 determines that the verification value and the MAC value do not match (A7: NO), the activation is interrupted without moving to the verification of the areas B and C (A9), and the processing on the CPU side ends. FIG. 5 shows a mode of transmitting and receiving various information in the verification process of area A. In FIG.

(2)領域Bの検証処理
領域Bの検証処理について図6から図8を参照して説明する。
CPU5は、領域Aの検証結果が一致していると判定したことで領域Bの検証処理におけるCPU側の処理を開始すると、ROM3のセキュアブート対象領域7に格納されている領域Bの領域分割情報を取得し(A11)、その取得した領域Bの領域分割情報に基づいてデータの格納範囲を特定して領域Bのデータを取得する(A12)。CPU5は、領域Bの検証実行許可をHSM4へ送信し(A13)、領域Bの領域分割情報をHSM4へ送信し(A14)、領域BのデータをHSM4へ送信し(A15)、HSM4からの領域Bの検証値の受信を待機する。
(2) Verification Processing of Region B Verification processing of region B will be described with reference to FIGS. 6 to 8. FIG.
When the CPU 5 starts processing on the CPU side in the verification processing of the area B by determining that the verification result of the area A matches, the area division information of the area B stored in the secure boot target area 7 of the ROM 3 is acquired (A11), the data storage range is specified based on the acquired area division information of the area B, and the data of the area B is acquired (A12). The CPU 5 transmits verification execution permission of the area B to the HSM 4 (A13), transmits area division information of the area B to the HSM 4 (A14), transmits data of the area B to the HSM 4 (A15), and Wait to receive B's verification value.

HSM4は、領域Bの検証処理におけるHSM側の処理を開始すると、CPU5から送信された領域Bの検証実行許可を受信する(B11)。HSM4は、CPU5から送信された領域Bの領域分割情報を受信し(B12)、CPU5から送信された領域Bのデータを受信すると(B13)、自己が保持している暗号鍵を用いて領域Bの検証値を生成する(B14)。HSM4は、その生成した領域Bの検証値をCPU5へ送信し(B15)、HSM側の処理を終了する。 When the HSM 4 starts processing on the HSM side in the verification processing of the region B, the HSM 4 receives verification execution permission of the region B transmitted from the CPU 5 (B11). When the HSM 4 receives the area division information of the area B transmitted from the CPU 5 (B12), and receives the data of the area B transmitted from the CPU 5 (B13), the HSM 4 uses the encryption key held by itself to is generated (B14). The HSM 4 transmits the generated verification value of the area B to the CPU 5 (B15), and ends the processing on the HSM side.

CPU5は、HSM4から送信された領域Bの検証値を受信すると(A16)、ROM3のセキュアブート対象領域7に格納されている領域BのMAC値を取得し(A17)、その受信した領域Bの検証値と、取得した領域BのMAC値とを照合し(A18)、領域Bを検証する(A19)。CPU5は、検証値とMAC値が一致していると判定すると(A20:YES)、CPU側の処理を終了する。CPU5は、検証値とMAC値が一致していないと判定すると(A20:NO)、起動を中断し(A21)、CPU側の処理を終了する。図8は、領域Bの検証処理における各種情報を送受信する態様を示している。 When the CPU 5 receives the verification value of the area B transmitted from the HSM 4 (A16), the CPU 5 acquires the MAC value of the area B stored in the secure boot target area 7 of the ROM 3 (A17). The verification value is compared with the obtained MAC value of area B (A18), and area B is verified (A19). When the CPU 5 determines that the verification value and the MAC value match (A20: YES), the processing on the CPU side ends. When the CPU 5 determines that the verification value and the MAC value do not match (A20: NO), it interrupts activation (A21) and terminates the processing on the CPU side. FIG. 8 shows a mode of transmitting and receiving various information in the verification process of area B. FIG.

(3)領域Cの検証処理
領域Cの検証処理について図9から図10を参照して説明する。
CPU5は、領域Aの検証結果が一致していると判定したことで領域Cの検証処理におけるCPU側の処理を開始すると、ROM3のセキュアブート対象領域7に格納されている領域Cの領域分割情報を取得し(A31)、その取得した領域Cの領域分割情報に基づいてデータの格納範囲を特定して領域Cのデータを取得する(A32)。CPU5は、暗号鍵の読み出し指示をセキュリティプログラムへ送信し(A33)、セキュリティプログラムを起動させることでデータフラッシュ6に格納されている暗号鍵を取得し(A34)、その取得した暗号鍵を用いて領域Cの検証値を生成する(A35)。
(3) Verification Processing of Region C Verification processing of region C will be described with reference to FIGS. 9 to 10. FIG.
When the CPU 5 starts processing on the CPU side in the verification processing of the area C by determining that the verification result of the area A matches, the area division information of the area C stored in the secure boot target area 7 of the ROM 3 is obtained (A31), and the data storage range is specified based on the obtained area division information of the area C to obtain the data of the area C (A32). The CPU 5 transmits an instruction to read out the encryption key to the security program (A33), acquires the encryption key stored in the data flash 6 by activating the security program (A34), and uses the acquired encryption key to A verification value for area C is generated (A35).

CPU5は、ROM3のセキュアブート対象領域7に格納されている領域CのMAC値を取得し(A36)、その生成した領域Cの検証値と、取得した領域CのMAC値とを照合し(A37)、領域Cを検証する(A38)。CPU5は、検証値とMAC値が一致していると判定すると(A39:YES)、CPU側の処理を終了する。CPU5は、検証値とMAC値が一致していないと判定すると(A39:NO)、起動を中断し(A40)、CPU側の処理を終了する。図10は、領域Cの検証処理における各種情報を送受信する態様を示している。即ち、領域Cの検証処理では、HSM4は一切関与していない。 The CPU 5 acquires the MAC value of the area C stored in the secure boot target area 7 of the ROM 3 (A36), and compares the generated verification value of the area C with the acquired MAC value of the area C (A37 ), and verify area C (A38). When the CPU 5 determines that the verification value and the MAC value match (A39: YES), the processing on the CPU side ends. When the CPU 5 determines that the verification value and the MAC value do not match (A39: NO), it interrupts activation (A40) and terminates the processing on the CPU side. FIG. 10 shows a mode of transmitting and receiving various information in the verification process of area C. In FIG. That is, the HSM 4 is not involved in the verification process of the area C at all.

図11に示すように、領域Bの検証値の生成をHSM4で実行し、領域Cの検証値の生成及び検証値とMAC値との照合をCPU5で実行することで、領域Bの検証値の生成と、領域Cの検証値の生成及び検証値とMAC値との照合とを並列に実行する。尚、HSM4で検証処理を実行する領域Bのデータ量とCPU5で検証処理を実行する領域Cのデータ量との割り当ては以下の計算式にしたがって決定することができる。具体的には、セキュアブートの対象領域となるアプリ領域の容量が確定した時点で、HSM4の起動時間、CPU5のブートローダの時間、HSM4及びCPU5の各処理速度に基づいて領域B,Cに割り当てるデータ量を決定する。 As shown in FIG. 11, the HSM 4 generates the verification value for the area B, and the CPU 5 generates the verification value for the area C and compares the verification value with the MAC value. The generation, the generation of the verification value for area C, and the comparison between the verification value and the MAC value are executed in parallel. The allocation between the amount of data in the area B where the verification process is performed by the HSM 4 and the amount of data in the area C where the verification process is performed by the CPU 5 can be determined according to the following formula. Specifically, when the capacity of the application area that is the target area of the secure boot is determined, the data allocated to areas B and C based on the startup time of HSM 4, the boot loader time of CPU 5, and the processing speeds of HSM 4 and CPU 5 Determine quantity.

HSM検証速度:HSM4の1秒あたりの検証量から算出される時間
CPU検証速度:CPU5の1秒あたりの検証量から算出される時間
HSM起動時間:HSM4が起動に要する時間
ブートローダ時間:CPU5のブートローダの時間
検証総領域:領域Bと領域Cとの和
HSM検証量:領域Bに割り当てるデータ量
CPU検証量:領域Cに割り当てるデータ量
とした場合に、
HSM起動時間+(HSM検証量/HSM検証速度)
=ブートローダ時間+(CPU検証量/CPU検証速度)…(ア)
HSM検証量+CPU検証量=検証総領域…(イ)
が成立するので、上記した(ア)、(イ)からHSM検証量及びCPU検証量をそれぞれ以下の計算式により求めることができる。
HSM検証量=((検証総領域+(HSM起動時間-ブートローダ時間)×HSM検証速度)×CPU検証速度)/(HSM検証速度+CPU検証速度)
CPU検証量=((検証総領域+(ブートローダ時間-HSM起動時間)×CPU検証速度)×HSM検証速度)/(HSM検証速度+CPU検証速度)
HSM verification speed: Time calculated from the verification amount per second of HSM4 CPU verification speed: Time calculated from the verification amount per second of CPU5 HSM startup time: Time required for HSM4 to start Boot loader time: Boot loader of CPU5 total verification area: sum of area B and area C HSM verification amount: amount of data allocated to area B CPU verification amount: amount of data allocated to area C
HSM activation time + (HSM verification amount/HSM verification speed)
= Boot loader time + (CPU verification amount/CPU verification speed) (A)
HSM verification amount + CPU verification amount = verification total area (a)
holds, the HSM verification amount and the CPU verification amount can be obtained from the above (a) and (b) by the following formulas.
HSM verification amount = ((total verification area + (HSM startup time - boot loader time) x HSM verification speed) x CPU verification speed) / (HSM verification speed + CPU verification speed)
CPU verification amount = ((verification total area + (boot loader time - HSM startup time) x CPU verification speed) x HSM verification speed) / (HSM verification speed + CPU verification speed)

以上に説明したように実施形態によれば、次に示す作用効果を得ることができる。
電子制御装置1において、領域Bの検証値の生成をHSM4で実行し、領域Cの検証値の生成及び検証値とMAC値との照合をCPU5で実行し、領域Bの検証値の生成と、領域Cの検証値の生成及び検証値とMAC値との照合とを並列に実行するようにした。セキュアブートの対象領域の全てをHSM4で実行する従来とは異なり、HSM4における領域Bの検証値の生成と、CPU5における領域Cの検証値の生成及び検証値とMAC値との照合とを並列に実行することで、セキュアブートの実行時間を適切に短縮することができる。
As described above, according to the embodiment, the following effects can be obtained.
In the electronic control device 1, the HSM 4 generates the verification value for the area B, the CPU 5 generates the verification value for the area C and compares the verification value with the MAC value, and generates the verification value for the area B; The generation of the verification value for area C and the comparison between the verification value and the MAC value are executed in parallel. Unlike the conventional method in which the HSM 4 executes all the target areas for secure boot, generation of the verification value of the area B in the HSM 4, generation of the verification value of the area C in the CPU 5, and matching of the verification value and the MAC value are performed in parallel. By executing it, the execution time of secure boot can be shortened appropriately.

専用のセキュリティプログラムが起動されることでセキュリティアクセス可能なデータフラッシュ6に、CPU5が領域Cの検証値を生成するのに必要な暗号鍵が格納されているようにした。暗号鍵の安全性を適切に確保することができる。 An encryption key required for a CPU 5 to generate a verification value of an area C is stored in a data flash 6 which can be accessed by security by activating a dedicated security program. The security of encryption keys can be appropriately ensured.

領域Aの検証処理を完了後に、領域Bの検証値の生成と、領域Cの検証値の生成及び検証値とMAC値との照合とを並列に実行するようにした。領域B,Cの検証処理を実行するにあたり、領域B,CのMAC値が改ざんされていたら検証結果が無意味になってしまうので、最初に領域B,CのMAC値が格納されている領域Aの検証処理を実行し、領域Aの検証値とMAC値とが一致していることを条件として領域B,Cの検証処理を実行することで、領域B,Cの検証結果を適切に保証することができる。 After completion of the verification process for the area A, generation of the verification value for the area B, generation of the verification value for the area C, and collation between the verification value and the MAC value are executed in parallel. When executing the verification process for the areas B and C, if the MAC values of the areas B and C are tampered with, the verification result becomes meaningless. By executing the verification process of A and executing the verification process of areas B and C on the condition that the verification value of area A and the MAC value match, the verification results of areas B and C are appropriately guaranteed. can do.

本開示は、実施例に準拠して記述されたが、当該実施例や構造に限定されるものではないと理解される。本開示は、様々な変形例や均等範囲内の変形をも包含する。加えて、様々な組み合わせや形態、更には、それらに一要素のみ、それ以上、或いはそれ以下を含む他の組み合わせや形態をも、本開示の範疇や思想範囲に入るものである。 Although the present disclosure has been described with reference to examples, it is understood that it is not limited to such examples or structures. The present disclosure also includes various modifications and modifications within the equivalent range. In addition, various combinations and configurations, as well as other combinations and configurations including single elements, more, or less, are within the scope and spirit of this disclosure.

CPUが1個である場合を例示したが、CPUが2個以上であっても良い。2個のCPUとして第1CPUと第2CPUとを備える場合、領域A,B,C,Dに分割し、最初に領域B,C,Dの各MAC値が格納されている領域Aの検証処理を実行し、領域Aの検証値とMAC値とが一致していることを条件として領域B,C,Dの各検証処理を実行し、HSM4における領域Bの検証値の生成と、第1CPUにおける領域Cの検証値の生成及び検証値とMAC値との照合と、第2CPUにおける領域Dの検証値の生成及び検証値とMAC値との照合とを並列に実行する構成としても良い。 Although the case where the number of CPUs is one has been exemplified, the number of CPUs may be two or more. When a first CPU and a second CPU are provided as two CPUs, they are divided into areas A, B, C, and D, and first, verification processing of area A in which MAC values of areas B, C, and D are stored is performed. Execute, and on the condition that the verification value of region A and the MAC value match, each verification process of regions B, C, and D is executed, the verification value of region B is generated in HSM 4, and the region in the first CPU The generation of the verification value for C and the comparison between the verification value and the MAC value and the generation of the verification value for the area D and the comparison between the verification value and the MAC value in the second CPU may be executed in parallel.

本開示に記載の制御部及びその手法は、コンピュータプログラムにより具体化された一つ乃至は複数の機能を実行するようにプログラムされたプロセッサ及びメモリを構成することにより提供された専用コンピュータにより実現されても良い。或いは、本開示に記載の制御部及びその手法は、一つ以上の専用ハードウェア論理回路によりプロセッサを構成することにより提供された専用コンピュータにより実現されても良い。若しくは、本開示に記載の制御部及びその手法は、一つ乃至は複数の機能を実行するようにプログラムされたプロセッサ及びメモリと一つ以上のハードウェア論理回路により構成されたプロセッサとの組み合わせにより構成された一つ以上の専用コンピュータにより実現されても良い。又、コンピュータプログラムは、コンピュータにより実行されるインストラクションとして、コンピュータ読み取り可能な非遷移有形記録媒体に記憶されていても良い。 The controller and techniques described in this disclosure may be implemented by a dedicated computer provided by configuring a processor and memory programmed to perform one or more functions embodied by the computer program. can be Alternatively, the controller and techniques described in this disclosure may be implemented by a dedicated computer provided by configuring the processor with one or more dedicated hardware logic circuits. Alternatively, the controller and techniques described in this disclosure can be implemented by a combination of a processor and memory programmed to perform one or more functions and a processor configured with one or more hardware logic circuits. It may also be implemented by one or more dedicated computers configured. The computer program may also be stored as computer-executable instructions on a computer-readable non-transitional tangible storage medium.

図面中、1は電子制御装置、2はMPU、3はROM、4はHSM、5はCPU(演算部)、6はデータフラッシュである。 In the drawing, 1 is an electronic control unit, 2 is an MPU, 3 is a ROM, 4 is an HSM, 5 is a CPU (arithmetic unit), and 6 is a data flash.

Claims (5)

暗号鍵に基づいて検証値を生成し、その生成した検証値と照合値とを照合して領域の検証処理を実行可能なハードウェアセキュリティモジュール(4)と、
演算処理を実行可能な演算部(5)と、を備え、
セキュアブートの対象領域を少なくとも第1分割領域と第2分割領域とを含むように分割し、前記第1分割領域の検証処理の一部を前記ハードウェアセキュリティモジュールで実行し、前記第2分割領域の検証処理の全体を前記演算部で実行し、
前記第1分割領域の検証処理の一部と前記第2分割領域の検証処理の全体とを並列に実行する電子制御装置。
a hardware security module (4) capable of generating a verification value based on an encryption key and comparing the generated verification value with a verification value to execute region verification processing;
A calculation unit (5) capable of executing calculation processing,
A secure boot target area is divided to include at least a first divided area and a second divided area, a part of verification processing of the first divided area is executed by the hardware security module, and the second divided area is executed. The entire verification process of is executed by the calculation unit,
An electronic control device that executes, in parallel, part of the verification processing of the first segmented region and the entire verification processing of the second segmented region.
前記第1分割領域の検証処理の一部として、暗号鍵に基づいた検証値の生成を前記ハードウェアセキュリティモジュールで実行し、
前記第1分割領域の検証処理の残りとして、検証値と照合値との照合を前記演算部で実行する請求項1に記載した電子制御装置。
As part of the verification processing of the first segmented region, the hardware security module generates a verification value based on an encryption key;
2. The electronic control device according to claim 1, wherein, as a remainder of the verification process for the first divided area, the calculation unit executes verification between a verification value and a verification value.
専用のセキュリティプログラムが起動されることでセキュリティアクセス可能なデータフラッシュ(6)を備え、
前記データフラッシュに、前記演算部が検証値を生成するのに必要な暗号鍵が格納されている請求項1又は2に記載した電子制御装置。
Equipped with a data flash (6) that can be accessed by security by activating a dedicated security program,
3. The electronic control device according to claim 1, wherein said data flash stores an encryption key necessary for said calculation unit to generate a verification value.
前記セキュアブートの対象領域を少なくとも前記第1分割領域と前記第2分割領域とに加え、更に第3分割領域を含むように分割し、
前記第3分割領域に、前記第1分割領域と前記第2分割領域の各領域を示す分割領域情報と、前記第1分割領域の照合値と、前記第2分割領域の照合値とが格納され、
前記第3分割領域の検証処理を完了後に、前記第1分割領域の検証処理の一部と前記第2分割領域の検証とを並列に実行する請求項1から3の何れか一項に記載した電子制御装置。
dividing the secure boot target area so as to include at least the first divided area and the second divided area, and further including a third divided area;
The third divided area stores divided area information indicating each area of the first divided area and the second divided area, a matching value of the first divided area, and a matching value of the second divided area. ,
4. The method according to any one of claims 1 to 3, wherein a part of the verification process of the first divided area and the verification of the second divided area are executed in parallel after the verification process of the third divided area is completed. electronic controller.
前記演算部が複数であり、
前記第2分割領域が複数である請求項1から4の何れか一項に記載した電子制御装置。
The computing unit is plural,
The electronic control device according to any one of claims 1 to 4, wherein the second divided areas are plural.
JP2021202577A 2021-12-14 2021-12-14 Electronic control device Pending JP2023087987A (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2021202577A JP2023087987A (en) 2021-12-14 2021-12-14 Electronic control device

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2021202577A JP2023087987A (en) 2021-12-14 2021-12-14 Electronic control device

Publications (1)

Publication Number Publication Date
JP2023087987A true JP2023087987A (en) 2023-06-26

Family

ID=86899523

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2021202577A Pending JP2023087987A (en) 2021-12-14 2021-12-14 Electronic control device

Country Status (1)

Country Link
JP (1) JP2023087987A (en)

Similar Documents

Publication Publication Date Title
US9881162B2 (en) System and method for auto-enrolling option ROMS in a UEFI secure boot database
JP4647300B2 (en) Method and system to ensure that software updates can be installed or run only on a specific device or class of devices
EP1209563B1 (en) Method and system for allowing code to be securely initialized in a computer
US8281229B2 (en) Firmware verification using system memory error check logic
US20130212406A1 (en) Technique for providing secure firmware
US11429364B2 (en) Software installation method
US10482256B2 (en) Information processing apparatus and method of controlling the apparatus
US20160026799A1 (en) Security device having indirect access to external non-volatile memory
JP6639620B2 (en) Secure client authentication based on conditional rules for code signing
US20130124845A1 (en) Embedded device and control method thereof
US8108905B2 (en) System and method for an isolated process to control address translation
US20180285570A1 (en) Method and Apparatus for Secure Computing Device Start Up
CN112236771A (en) Computing device and operating method for a computing device
EP3933631B1 (en) Fast and versatile multicore soc secure boot method
US20200159929A1 (en) Basic input/output system updates
JP2023508913A (en) COMPUTING DEVICE OPERATING METHOD AND OPERATING APPARATUS
WO2017012588A1 (en) Fast authentication of code in low-power system
JP2023087987A (en) Electronic control device
JP2021057043A (en) Processing system having trust anchor computing device and corresponding method
WO2023002635A1 (en) Information processing device, information processing method, and information processing program
CN117494079B (en) Mirror image right transfer method, safe starting method and related devices
US11526598B2 (en) Microcontroller and semiconductor device
US20240004804A1 (en) Method for managing access rights of memory regions and corresponding system on chip
JP2023082498A (en) Electronic control device
JP2023026017A (en) Activation verification program, information processing apparatus, and activation verification method

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20240307