WO2023243212A1 - 情報処理装置 - Google Patents

情報処理装置 Download PDF

Info

Publication number
WO2023243212A1
WO2023243212A1 PCT/JP2023/015322 JP2023015322W WO2023243212A1 WO 2023243212 A1 WO2023243212 A1 WO 2023243212A1 JP 2023015322 W JP2023015322 W JP 2023015322W WO 2023243212 A1 WO2023243212 A1 WO 2023243212A1
Authority
WO
WIPO (PCT)
Prior art keywords
program
control program
signature
information processing
processing device
Prior art date
Application number
PCT/JP2023/015322
Other languages
English (en)
French (fr)
Inventor
恒太 井手口
克哉 山内
幹雄 片岡
康広 藤井
伸義 森田
Original Assignee
日立Astemo株式会社
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 日立Astemo株式会社 filed Critical 日立Astemo株式会社
Publication of WO2023243212A1 publication Critical patent/WO2023243212A1/ja

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

Definitions

  • the present invention relates to an information processing device, and particularly to an information processing device that performs signature verification of a control program during secure boot.
  • Patent Document 1 discloses a technology in which, when a client device starts up, the validity of a program to be executed is verified based on information obtained from a server device, and then the program is executed. .
  • the present invention has been made in view of the above problems, and an object of the present invention is to provide an information processing device that can shift to another cryptographic algorithm when a secure boot cryptographic algorithm is compromised.
  • An example of an information processing device includes a calculation unit that performs calculation processing of a program, a storage unit that stores a first control program, and a first startup program that performs signature verification of the first control program;
  • the first startup program is capable of executing a plurality of signature verification methods, determines a signature verification method corresponding to the signature type of the first control program from the plurality of signature verification methods, and executes a signature verification method corresponding to the signature type of the first control program. Executes processing to obtain the results of signature verification.
  • FIG. 1 is a diagram showing a hardware configuration of an information processing device according to an embodiment of the present invention.
  • FIG. 2 is a block diagram showing the functional configuration of a ROM in which a boot loader program and a control program are stored.
  • FIG. 3 is a diagram illustrating a processing flow of a bootloader program according to an embodiment in a single bank configuration.
  • FIG. 6 is a diagram illustrating a program update processing flow according to the embodiment when a single bank configuration is used.
  • FIG. 3 is a diagram showing a processing flow of a bootloader program according to the first embodiment when a double bank configuration is used.
  • FIG. 3 is a diagram illustrating a program update processing flow according to the first embodiment when a double bank configuration is used.
  • FIG. 1 is a diagram showing a hardware configuration of an information processing device according to an embodiment of the present invention.
  • FIG. 2 is a block diagram showing the functional configuration of a ROM in which a boot loader program and a control program are stored.
  • FIG. 7 is a diagram illustrating a processing flow of a bootloader program according to the second embodiment when a double bank configuration is configured.
  • FIG. 7 is a diagram illustrating a program update processing flow according to the second embodiment when a double bank configuration is used.
  • FIG. 7 is a diagram illustrating a processing flow of a bootloader program according to the third embodiment when a double bank configuration is configured.
  • FIG. 7 is a diagram illustrating a program update processing flow according to the third embodiment when a double bank configuration is used.
  • FIG. 7 is a diagram illustrating a processing flow of a bootloader program according to the fourth embodiment when a double bank configuration is configured.
  • the information processing device 1 includes a ROM (Read Only Memory) 12 which is a storage device from which data can be read, a RAM (Random Access Memory) 13 which is capable of both writing and reading data, and a vehicle control system based on the data. It has a CPU (Central Processing Unit) 11 that calculates necessary parameters, and a communication module 10 that converts the calculation results into a communication protocol and sends them.
  • ROM Read Only Memory
  • RAM Random Access Memory
  • the information processing device 1 is, for example, a device that is mounted on a vehicle and controls the vehicle. However, the information processing device 1 may not be mounted on a vehicle, and may be a device that controls an object other than a vehicle.
  • the information processing device 1 is connected to an update program management server 3 and a program verification execution module 4 via a communication path 2.
  • the communication path 2 may physically include a plurality of communication buses, and the standards of each communication bus may be the same or different. Standards of these communication buses include CAN (registered trademark), LIN (registered trademark), FlexRay (registered trademark), and Ethernet (registered trademark).
  • the update program management server 3 transmits an update program to the information processing device 1 in response to a request from the information processing device 1 or when it becomes necessary to update the control program.
  • the program verification execution module 4 performs signature verification of the control program in response to a request from the boot loader program in the information processing device 1 and transmits the result to the information processing device 1 .
  • the program verification execution module is configured, for example, by an HSM (hardware cryptographic module), which is a device that has obtained certification from international standards that define the characteristics that a cryptographic processing and key management device should have.
  • HSM hardware cryptographic module
  • the information processing device 1 receives data that has passed through the communication path 2. Then, the received data is developed in the RAM 13 in response to reception. Then, the CPU 11 performs calculations based on the written data in the RAM 13 and the read data in the ROM 12. Further, a program is installed in the information processing device 1 in advance, and the CPU 11 executes the program, thereby making it possible to execute the processes described in the following embodiments.
  • FIG. 2 is a functional block diagram showing the functional configuration of a program stored in the ROM 12 according to the embodiment of the present invention.
  • FIG. 2(a) shows a single bank configuration with one program storage area
  • FIG. 2(b) shows a double bank configuration with two program storage areas.
  • the ROM 12 with a single bank configuration includes a control program 121 and a boot loader program 122.
  • the control program 121 is a program for performing functions installed in the information processing device 1, and is, for example, an OS (Operation System), but is not limited thereto.
  • the boot loader program 122 is a program for performing secure boot processing that verifies the signature of the control program 121 when the information processing device 1 is started up and determines whether the control program 121 has been tampered with.
  • the control program 121 stored in the ROM 12 with a single bank configuration has a program receiving function 121a, a program expansion function 121b, and a reset function 121c.
  • the update program is received from the update program management server 3 by the program receiving function 121a.
  • the program expansion function 121b expands the received program into bank 0.
  • the reset function 121c makes the program executable.
  • the boot loader program 122 has a signature method confirmation function 122a, a signature verification function 122b, a program control function 122c, and an encryption algorithm storage function 122d.
  • the signature method confirmation function 122a allows the signature method of the control program 121 to be confirmed.
  • the signature verification function 122b can verify the signature of the control program 121.
  • the program control function 122c executes and deletes the control program 121.
  • the cryptographic algorithm storage function 122d allows storing a plurality of cryptographic algorithms.
  • the cryptographic algorithm may be any method such as a common key cryptosystem such as AES or triple DES, or a public key cryptosystem such as RSA or elliptic curve cryptography.
  • signature verification will be described as an example in this specification, the present invention can also be suitably applied to MAC (Message Authentication Code) verification.
  • FIG. 2(b) shows the program configuration of the ROM 12 with a double bank configuration.
  • the ROM 12 with a double bank configuration is different from the ROM 12 with a single bank configuration in that it has two areas, bank 0 and bank 1, as areas for storing programs, and has a bank switching/resetting function 121d.
  • the bank switching/resetting function 121d switches whether the control program 121 stored in bank 0 or bank 1 is to be executed. Details of the differences in processing and effects between the single bank configuration and the double bank configuration will be described later.
  • Example for single bank configuration> 3 and 4 are flowcharts illustrating the processing performed when the ROM 12 having the single bank configuration shown in FIG. 2(a) is employed.
  • program 1 of signature method A is stored as a control program in bank 0 at the start of processing, including in the case of a double bank configuration.
  • FIG. 3 which shows the secure boot process executed when the information processing device 1 is started up, will be described.
  • the boot loader program 122 of bank 0 is activated by a command from the CPU 11.
  • the signature scheme of the program 1 is confirmed by the signature scheme confirmation function 122a. Since a known technique can be adopted as a method for verifying this signature method, a description thereof will be omitted.
  • signature verification function 122b applies signature method A to program 1 to perform signature verification. Note that this signature verification process may be executed by the program verification execution module 4 shown in FIG. 1 and receive the result, or may be executed by the boot loader program 122 itself.
  • step S304 the signature verification function 122b determines whether the signature verification was successful. If the signature verification fails, it is determined that the program 1 may have been tampered with, and the process is terminated. If the signature verification is successful, the program control function 122c starts executing the program 1 in step S305.
  • FIG. 4 is a flowchart showing the update process when the program 1 needs to be updated. Examples of cases where it is necessary to update a program include when a function is added to the program, when a patch is applied to correct a bug, when a vulnerability is discovered in the program, and the like.
  • step S401 the program control function 122c of the bootloader program 122 stops reading the program 1, and sets bank 0 to a rewritable state. Then, in step S402, the program reception function 121a receives the update program 2 from the update program management server 3, and the program expansion function 121b expands it onto bank 0.
  • the signature method A other signature methods stored by the cryptographic algorithm storage function 122d can be used as the signature method for the program 2.
  • the program can be received by, for example, an OTA (Over The Air) method.
  • step S403 the boot loader program 122 is started again and signature verification is performed using the corresponding signature method.
  • step S404 it is determined whether or not the verification has been successful, and if the verification has failed, the process ends. If the verification is successful, in step S405, the reset function 121c resets bank 0 to an executable state. Then, in step S406, the boot loader program 122 is started again, and if the signature verification passes, the program control function 122c starts executing the program 2.
  • FIG. 5 is a flowchart showing the secure boot process executed when the information processing device 1 having the ROM 12 having a double bank configuration is started.
  • steps S301 to S305 are the same as the processing in the single bank configuration, so the explanation will be omitted.
  • steps S501 and S502 are added.
  • step S501 the program control function 122c of bank 0 determines whether there is program data in the buffer of bank 1 (area where the program is expanded). If there is program data, the program data is deleted in step S502. Note that this deletion process does not need to be executed.
  • the update process when it becomes necessary to update the program 1 will be described using FIG. 6.
  • the boot loader program 122 cannot be rewritten, and the control program 121 can be rewritten only when the control program 121 or the boot loader program 122 of the other bank is executed.
  • step S601 the program receiving function 121a of bank 0 receives the update program 2 from the update program management server 3.
  • program expansion function 121b expands program 2 onto the buffer of bank 1.
  • the signature method of the program 2 in addition to the signature method A, other signature methods stored by the cryptographic algorithm storage function 122d can be adopted.
  • step S603 the boot loader program 122 is started again and signature verification is performed using the corresponding signature method.
  • step S604 it is determined whether or not the verification was successful, and if the verification fails, the process ends. If the verification is successful, in steps S605 and S606, the bank switching/resetting function 121d issues a switching command to switch the operating area from bank 0 to bank 1, and further resets bank 1 to make it executable. . Then, in step S607, the program control function 122c starts executing the program 2.
  • multiple cryptographic algorithms can be applied when updating a program, so that, for example, if signature method A is compromised and it becomes necessary to update the program.
  • Another non-compromised signature scheme can be applied to ensure security.
  • Example 2 for double bank configuration> a process executed by the information processing device 1 having the double bank configuration ROM 12 according to the second embodiment will be described using FIGS. 7 and 8.
  • bank 0 has signature method A. It is assumed that a program 1 is stored in the bank 1, and a program having a signature method B different from the signature method A and having the same content as the program 1 is stored in the bank 1.
  • FIG. 7 is a flowchart showing the secure boot process executed when the information processing device 1 having the ROM 12 with a double bank configuration according to the second embodiment is started.
  • steps S501 and S502 are deleted from the secure boot process according to the first embodiment shown in FIG. That is, in this embodiment, the same process as the secure boot process performed by the information processing apparatus 1 having a ROM having a single bank configuration is executed.
  • the program stored in bank 1 has the same content as program 1 but a different signature method B, but as a result, for example, signature method A of program 1 is compromised and signature method B is compromised. If it is not compromised, it is possible to immediately switch the operating area from bank 0 to bank 1 to ensure security.
  • steps S601 to S607 shown in FIG. 6 are the same as the processes executed in the first embodiment.
  • steps S801 to S805 are added in addition to the first embodiment.
  • a new update program 3 is received by the program reception function 121a of the control program 121 of bank 1.
  • This program 3 has the same content as program 2 stored in bank 1 but a different signature method.
  • step S802 the program expansion function 121b expands the program 3 to bank 0.
  • step S803 the signature verification function 122b verifies the signature of the program 3. As described above, this signature is a signature method different from signature method B of program 2.
  • step S804 it is determined whether the signature verification has been successful, and if the signature verification has failed, the process ends. If the signature verification is successful, the process moves to step S805.
  • the bank of the operating area is switched, but in this embodiment, the bank is not switched as shown in step S805, and the bank 1 is switched.
  • program 3 has the same content as program 2 but a different signature method, so if, for example, the signature method of program 2 is compromised and the signature method of program 3 is not compromised, the operating area is moved to bank 1. By switching from to bank 0, it is possible to perform the same processing as program 2 while ensuring security.
  • FIG. 9 is a flowchart showing the secure boot process executed when the information processing device 1 having the ROM 12 with a double bank configuration according to the third embodiment is started. As shown in FIG. 9, in this embodiment, steps S901 and S902 are added in addition to the secure boot process according to the second embodiment shown in FIG.
  • the signature method confirmation function 122a of the boot loader program 122 further determines the generation of signature method A of program 1 in bank 0 and the generation of the program stored in bank 1. Verify the generation of signature method B.
  • step S901 the generation of signature method B of program 2 in bank 1 is checked, and if the generation is older than signature method A, there is a high possibility that it has already been compromised and there is a security vulnerability. It is occurring. Therefore, if the generation of signature method B is older than the generation of signature method A, the process moves to step S902 and program 2 is deleted.
  • the program update process in this embodiment includes steps S1001 to S1007, which are processes that take into consideration the generation of the signature method. These added processes will be explained below.
  • step S602 After deploying the program to bank 1 in step S602, the generation of signature scheme B is confirmed by the signature scheme confirmation function 122a of bank 0 in step S1001. If the generation of signature method B is older than the signature method A of program 1, program 2 is deleted in step S1004 for the same reason as described above, and the process ends.
  • signature verification of program 2 is executed by the signature verification function 122b in steps S1002 to S1003.
  • the subsequent steps S605 to S802 are the same as in the second embodiment.
  • step S802 After program 3 is deployed again in bank 0 in step S802, the generation of signature scheme C of program 3 is compared with the generation of signature scheme B of program 2 in step S1005. If the generation of signature method C is older than the generation of signature method B, program 3 is deleted in step S1007, and execution of program 2 is continued in step S805.
  • the signature verification function 122b of the boot loader program 122 of bank 0 verifies the signature of program 3 using signature method C in step S1006. .
  • step S804 if the signature verification fails, the process ends. If the signature verification is successful, the process moves to step S805, and execution of program 2 in bank 1 continues.
  • the program is updated taking into account the generation of the signature method. This makes it possible to eliminate the risk of running a program with a signature scheme that has already been compromised.
  • FIG. 11 is a flowchart showing the secure boot process executed when the information processing device 1 having the ROM 12 with a double bank configuration according to the third embodiment is started. As shown in FIG. 11, in this embodiment, step S1101 is added in addition to the secure boot process according to the second embodiment shown in FIG.
  • the program control function 122c compares the version of program 1 stored in bank 0 with the version of the program stored in bank 1. If the version of program 1 stored in bank 0 is older than the version of the program stored in bank 1, no further processing is performed, and the version of program 1 stored in bank 0 is changed to bank 1. Only when the version is newer than or the same as the version of the stored program, the process moves to step S302 and the signature of the program 1 stored in bank 0 is verified. The subsequent processing is the same as in the above embodiment.
  • An information processing device stores a calculation unit that performs calculation processing of a program, a first control program, and a first startup program that performs signature verification of the first control program.
  • the first startup program is capable of executing a plurality of signature verification methods, and determines a signature verification method corresponding to the signature type of the first control program from the plurality of signature verification methods; Execute processing to obtain the result of signature verification using the signature verification method.
  • the storage unit includes a first storage area for storing a first control program, a first startup program, a second control program having a signature type different from that of the first control program, and a plurality of signature verification programs.
  • a second startup program that is capable of executing the signature verification method and executes signature verification using a signature verification method corresponding to the signature type of the second control program from among the plurality of signature verification methods; have This makes it possible to make the OTA mechanism adopted when receiving update programs more robust, and by leaving the data in bank 0 as is, it is possible to perform rollback processing to return the operating area from bank 1 to bank 0. It becomes possible to do so. Furthermore, by making the update program 2 the same as the program 1, redundancy can also be ensured.
  • Signature verification is executed by the first startup program. With this, signature verification can be easily executed without adding a device such as an HSM that performs signature verification.
  • the storage area to be executed is switched from the first storage area to the second storage area, and the first storage area performs the same control as the second control program.
  • a third control program that is a program and has a signature of a different type than the signature of the second control program is stored. This makes it possible to ensure redundancy between the second control program and the third control program.
  • the first startup program and the second startup program cannot be rewritten, the first control program can be rewritten only when the second startup program or the second control program is executed, and the second control program cannot be rewritten. It can be rewritten only when one startup program or first control program is executed. This makes it impossible to access banks that are not in the operating area except during rewriting, thereby eliminating the risk of erroneous data writing.
  • the first startup program deletes the second control program, and the second startup program deletes the first control program. This makes it possible to reduce memory capacity.
  • the present invention is not limited to the above embodiments, and various modifications are possible.
  • the above-mentioned embodiments have been described in detail to explain the present invention in an easy-to-understand manner, and the present invention is not necessarily limited to embodiments having all the configurations described.

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Hardware Design (AREA)
  • General Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Stored Programmes (AREA)

Abstract

プログラムの演算処理を行う演算部と、第一制御プログラムと、第一制御プログラムの署名検証を実行する第一起動プログラムと、を記憶する記憶部と、を有し、第一起動プログラムは、複数の署名検証方式を実行可能であり、該複数の署名検証方式から第一制御プログラムの署名種類に対応した署名検証方式を判定し、署名検証方式にて署名検証を実行した結果を取得する処理を実行することを特徴とする。

Description

情報処理装置
 本発明は情報処理装置に関し、特にセキュアブート時に制御プログラムの署名検証を行う情報処理装置に関する。
 自動車、家電、医療機器等に搭載される組み込みシステムでは、攻撃者によって、不正にソフトウェアやファームウェアが書き換えられた場合、甚大な被害に繋がることが懸念されている。このような脅威への対策として、ECU起動時に、改ざんされていないプログラムのみを起動できるセキュアブート技術が検討されている。
 セキュアブートの一手法として、特許文献1では、クライアント装置の起動時に、サーバー装置から得られる情報に基づいて実行対象プログラムの正当性を検証してから、そのプログラムを実行する技術が開示されている。
特開2011-003020号公報
 通常、セキュアブート時に使用されるプログラム検証用の暗号アルゴリズムはECU毎に固定されている。従って、将来的に量子計算機の技術進展等によって暗号解読技術が進化して暗号アルゴリズムが危殆化してしまうと、セキュアブートそのものが脆弱となり、セキュリティ上非常に大きな問題となる。
 特許文献1の技術によれば、通常ブート用プログラムと暗号化OSでは異なる暗号アルゴリズムを用いており、その時点で高速な暗号アルゴリズムを選択すればよいことが示唆されていることから、複数の検証方式を備えているといえるが、起動用の通常ブート用プログラムは1つであり、やはりこれが危殆化するとセキュリティ上大きな問題となる。
 本発明は、以上の問題に鑑みなされたものであり、セキュアブート用の暗号アルゴリズムが危殆化した場合に、別の暗号アルゴリズムに移行可能な情報処理装置を提供することを目的とする。
 本発明に係る情報処理装置の一例は、プログラムの演算処理を行う演算部と、第一制御プログラムと、第一制御プログラムの署名検証を実行する第一起動プログラムと、を記憶する記憶部と、を有し、第一起動プログラムは、複数の署名検証方式を実行可能であり、該複数の署名検証方式から第一制御プログラムの署名種類に対応した署名検証方式を判定し、該署名検証方式にて署名検証を実行した結果を取得する処理を実行する。
 本発明によれば、セキュアブート用の暗号アルゴリズムが危殆化した場合に、別の暗号アルゴリズムに容易に移行することにより、セキュリティ上の安全性を担保することが可能になる。
 本発明に関連する更なる特徴は、本明細書の記述、添付図面から明らかになるものである。また、上記した以外の課題、構成及び効果は、以下の実施例の説明により明らかにされる。
本発明の一実施例に係る情報処理装置のハードウェア構成を示す図。 ブートローダプログラム及び制御プログラムが格納されたROMの機能構成を示すブロック図。 シングルバンク構成時の実施例に係るブートローダプログラムの処理フローを示す図。 シングルバンク構成時の実施例に係るプログラム更新の処理フローを示す図。 ダブルバンク構成時の実施例1に係るブートローダプログラムの処理フローを示す図。 ダブルバンク構成時の実施例1に係るプログラム更新の処理フローを示す図。 ダブルバンク構成時の実施例2に係るブートローダプログラムの処理フローを示す図。 ダブルバンク構成時の実施例2に係るプログラム更新の処理フローを示す図。 ダブルバンク構成時の実施例3に係るブートローダプログラムの処理フローを示す図。 ダブルバンク構成時の実施例3に係るプログラム更新の処理フローを示す図。 ダブルバンク構成時の実施例4に係るブートローダプログラムの処理フローを示す図。
 以下、本発明の実施形態について、実施例を用い、図面を参照しながら詳細に説明する。
 まず、本発明に係る情報処理装置1のハードウェア構成を説明する。情報処理装置1は、データの読み出しが可能な記憶装置であるROM(Read Only Memory)12、データの書き込みと読み出しの両方が可能であるRAM(Random Access Memory)13、データを基に車両制御に必要なパラメータの演算を行うCPU(Central Processing Unit)11、及び演算結果を通信用のプロトコルに変換して送信を行う通信モジュール10を保有している。
 また、情報処理装置1は、たとえば車両に搭載され、車両を制御する装置である。ただし、情報処理装置1は車両に搭載されないものであってもよく、車両以外の対象を制御する装置であってもよい。
 情報処理装置1は、通信路2を介して更新プログラム管理サーバ3及びプログラム検証実行モジュール4と接続されている。通信路2は、物理的には複数の通信バスを含んでもよく、各通信バスの規格はすべて同一でもよいし異なっていてもよい。これら通信バスの規格はCAN(登録商標)、LIN(登録商標)、FlexRay(登録商標)、イーサネット(登録商標)などである。
 更新プログラム管理サーバ3は、情報処理装置1からの要求に応じて、または制御プログラムの更新の必要性が生じた場合に、情報処理装置1に更新プログラムを送信する。プログラム検証実行モジュール4は、情報処理装置1内のブートローダプログラムからの要求に応じて、制御プログラムの署名検証を行い、その結果を情報処理装置1に送信する。プログラム検証実行モジュールは、例えば暗号処理および鍵管理デバイスが備えるべき特性を定義した、国際規格などの認定を取得しているデバイスであるHSM(ハードウェア暗号モジュール)により構成される。
 情報処理装置1は通信路2を通過したデータを受信する。すると、受信に応じて、受信データがRAM13に展開される。そして、書き込まれたRAM13のデータとROM12の読み出しデータを基に、CPU11が演算を行う。また、情報処理装置1には予めプログラムが組み込まれており、CPU11が当該プログラムを実行することによって以下の実施の形態で説明する処理を実行することが可能になる。
 図2は、本発明の実施例に係るROM12に格納されたプログラムの機能構成を示した機能ブロック図である。図2(a)はプログラム格納領域が1つのシングルバンク構成であり、図2(b)はプログラム格納領域が2つのダブルバンク構成である。
 図2(a)に示すように、シングルバンク構成のROM12は、制御プログラム121及びブートローダプログラム122を有する。制御プログラム121は、情報処理装置1に搭載された機能を発揮させるためのプログラムであり、例えばOS(Operation System)であるが、これに限定されない。ブートローダプログラム122は、情報処理装置1の起動時に制御プログラム121の署名検証を行い、制御プログラム121が改ざんされていないかどうか判定するセキュアブート処理を実行するためのプログラムである。
 シングルバンク構成のROM12に格納される制御プログラム121は、プログラム受信機能121a、プログラム展開機能121b、及びリセット機能121cを有する。プログラム受信機能121aによって更新プログラム管理サーバ3から更新プログラムを受信する。プログラム展開機能121bによって受信したプログラムをバンク0内に展開する。リセット機能121cによって、更新プログラムを受信・展開した後、プログラムを実行可能な状態にする。
 ブートローダプログラム122は、署名方式確認機能122a、署名検証機能122b、プログラム制御機能122c、及び暗号アルゴリズム記憶機能122dを有する。署名方式確認機能122aによって、制御プログラム121の署名方式を確認できる。署名検証機能122bによって、制御プログラム121の署名検証を行うことができる。プログラム制御機能122cによって制御プログラム121の実行及び削除を行う。暗号アルゴリズム記憶機能122dによって、複数の暗号アルゴリズムを記憶することができる。
 なお、暗号アルゴリズムとしてはAESやトリプルDESなどの共通鍵暗号方式、RSAや楕円曲線暗号などの公開鍵暗号公式などいずれの手法であっても良い。また、本明細書においては署名検証を例として説明するが、MAC(Message Authentication Code)検証に対しても本発明は好適に適用できる。
 図2(b)は、ダブルバンク構成のROM12のプログラム構成を示している。ダブルバンク構成のROM12がシングルバンク構成のROM12と異なる点は、プログラムを格納する領域としてバンク0及びバンク1の2領域を有する点と、バンク切替・リセット機能121dを有する点である。バンク切替・リセット機能121dによって、バンク0とバンク1のどちらに格納されている制御プログラム121を実行するかを切り替える。シングルバンク構成とダブルバンク構成との処理や効果の違いの詳細については後述する。
〈シングルバンク構成時の実施例〉
 図3及び図4は、図2(a)に示すシングルバンク構成のROM12を採用した場合に行われる処理を説明するフローチャートである。なお、以下の説明では、ダブルバンク構成時も含めて、処理開始時にはバンク0に制御プログラムとして署名方式Aのプログラム1が格納されていることを前提とする。
 まず、情報処理装置1を起動させた際に実行されるセキュアブート処理を示す図3について説明する。ステップS301において、CPU11からの指令によってバンク0のブートローダプログラム122を起動する。そして、ステップS302において、署名方式確認機能122aによってプログラム1の署名方式を確認する。この署名方式の確認方法については既知の技術を採用可能であるため、説明を省略する。そして、ステップS303において、署名検証機能122bによって署名方式Aをプログラム1に適用し、署名検証を行う。なお、この署名検証処理については、図1に示すプログラム検証実行モジュール4により実行されてその結果を受け取る方式でもよいし、ブートローダプログラム122自体が実行する方式でもよい。
 そして、ステップS304において、署名検証機能122bによって署名検証が成功したか判定される。署名検証が失敗した場合にはプログラム1が改ざんされた可能性があるとして処理を終了する。署名検証が成功した場合には、ステップS305において、プログラム制御機能122cによってプログラム1の実行を開始する。
 上記のように、本実施例においてはブートローダプログラム122に暗号アルゴリズム記憶機能122dを付与することによって、セキュアブート時に必要な暗号アルゴリズムを複数用意することが可能になる。したがって、ある暗号アルゴリズムが危殆化した場合には、機器自体を交換することなく、容易に別の暗号アルゴリズムに移行することが可能になる。
 図4は、プログラム1に更新の必要性が生じた場合の更新処理を示すフローチャートである。プログラムに更新の必要性が生じた場合とは、例えばプログラムに機能を追加する場合、バグを修正するパッチを充てる場合、プログラムに脆弱性が発見された場合等である。
 まず、ステップS401において、ブートローダプログラム122のプログラム制御機能122cによってプログラム1の読み込みを停止し、バンク0を書き換え可能な状態にする。そして、ステップS402において、プログラム受信機能121aによって更新プログラム管理サーバ3から更新用のプログラム2を受信し、プログラム展開機能121bによってバンク0上に展開する。なお、プログラム2の署名方式については署名方式Aの他、暗号アルゴリズム記憶機能122dによって記憶されたその他の署名方式を採用できる。また、プログラム受信については、例えばOTA(Over The Air)方式で受信できる。
 ステップS403において、再びブートローダプログラム122を起動させ、対応する署名方式で署名検証を行う。ステップS404において、検証が成功したか否か判定し、検証が失敗すれば処理を終了する。検証が成功した場合には、ステップS405において、リセット機能121cによってバンク0をリセットして実行可能な状態にする。そして、ステップS406において、再びブートローダプログラム122を起動し、署名検証が通った場合にプログラム制御機能122cによってプログラム2の実行を開始する。
 上記のように、プログラム更新時においても、複数の暗号アルゴリズムを適用可能であることにより、例えば署名方式Aが危殆化し、かつプログラム更新の必要性が生じた場合に、別の危殆化していない署名方式を適用し、セキュリティ上の安全性を確保することができる。
〈ダブルバンク構成時の実施例1〉
 続いて、図5から図11を用いて、図2(b)に示すダブルバンク構成のROM12を採用した場合の処理について説明する。図5は、ダブルバンク構成のROM12を有する情報処理装置1を起動させた際に実行されるセキュアブート処理を示すフローチャートである。
 この時の処理については、ステップS301からステップS305まではシングルバンク構成時の処理と同一であるため、説明を省略する。ダブルバンク構成を採用した場合には、ステップS501及びS502が追加される。
 ステップS305においてプログラム1の実行が開始された後、ステップS501において、バンク0のプログラム制御機能122cによって、バンク1のバッファ(プログラムが展開される領域)にプログラムデータがあるか否か判定される。そして、プログラムデータがある場合には、ステップS502において、当該プログラムデータが削除される。なお、この削除処理は実行されなくてもよい。
 次に、プログラム1に更新の必要性が生じた場合の更新処理について図6を用いて説明する。なお、本実施例においては、ブートローダプログラム122は書換不可であり、制御プログラム121は、他方のバンクの制御プログラム121またはブートローダプログラム122の実行時にのみ書換可能である。
 まず、ステップS601において、バンク0のプログラム受信機能121aによって更新プログラム管理サーバ3から更新用のプログラム2を受信する。ステップS602において、プログラム展開機能121bによってプログラム2をバンク1のバッファ上に展開する。なお、本実施例においても、プログラム2の署名方式については署名方式Aの他、暗号アルゴリズム記憶機能122dによって記憶されたその他の署名方式を採用できる。
 ステップS603において、再びブートローダプログラム122を起動させ、対応する署名方式で署名検証を行う。ステップS604において、検証が成功したか否か判定し、検証が失敗すれば処理を終了する。検証が成功した場合には、ステップS605及びS606において、バンク切替・リセット機能121dによって動作領域をバンク0からバンク1に切り替える切り替え命令を発行し、さらにバンク1をリセットして実行可能な状態にする。そして、ステップS607において、プログラム制御機能122cによってプログラム2の実行を開始する。
 本実施例においても、シングルバンク構成時と同様に、プログラム更新時においても、複数の暗号アルゴリズムを適用可能であることにより、例えば署名方式Aが危殆化し、かつプログラム更新の必要性が生じた場合に、別の危殆化していない署名方式を適用し、セキュリティ上の安全性を確保することができる。
 さらに、ダブルバンク構成を採用することにより、更新プログラム受信時に採用するOTAの仕組みを頑強にすることが可能になり、また、バンク0のデータをそのまま残しておくことにより、動作領域をバンク1からバンク0に戻すロールバック処理を行うことが可能になる。さらに、更新用のプログラム2をプログラム1と同じものにしておくことで、冗長性も確保することが可能になる。
〈ダブルバンク構成時の実施例2〉
 次に、実施例2に係るダブルバンク構成のROM12を有する情報処理装置1が実行する処理について図7及び図8を用いて説明する。なお、実施例1においては、処理開始時にはバンク1にはプログラムデータがあってもなくてもどちらでもよいと説明したが、以下の実施例においては、処理開始時には、バンク0には署名方式Aのプログラム1が格納されており、バンク1には署名方式Aとは異なる署名方式Bを有しかつプログラム1と同じ内容のプログラムが格納されていることを前提とする。
 図7は、実施例2に係るダブルバンク構成のROM12を有する情報処理装置1を起動させた際に実行されるセキュアブート処理を示すフローチャートである。図7に示すように、本実施例においては、図5で示した、実施例1に係るセキュアブート処理からステップS501とS502が削除された処理となっている。すなわち、本実施例においてはシングルバンク構成のROMを有する情報処理装置1が行うセキュアブート処理と同一の処理を実行する。前述のようにバンク1に格納されているプログラムはプログラム1と同じ内容でかつ異なる署名方式Bを有するものであるが、これにより、例えばプログラム1の署名方式Aが危殆化し、かつ署名方式Bが危殆化していない場合に、すぐに動作領域をバンク0からバンク1に切り替えて、セキュリティ上の安全性を確保することが可能になる。
 次に、バンク0に格納されたプログラム1の更新処理について図8を用いて説明する。
 本実施例においては、まず図6に示すステップS601からS607までは実施例1で実行される処理と同一である。
 本実施例においては実施例1に加えてステップS801からS805が追加される。図6においてバンク1のプログラム2に係る処理が開始された後、ステップS801において、バンク1の制御プログラム121のプログラム受信機能121aによって新たに更新用のプログラム3を受信する。このプログラム3は、バンク1に格納されていたプログラム2と同一の内容かつ異なる署名方式を有するものである。
 ステップS802において、プログラム展開機能121bによってバンク0にプログラム3を展開する。ステップS803において、署名検証機能122bによってプログラム3の署名検証を行う。上述の通り、この署名はプログラム2の署名方式Bとは異なる署名方式である。
 ステップS804において、署名の検証が成功したか否か判定し、署名検証が失敗した場合には処理を終了する。署名検証が成功した場合には、ステップS805に移行する。ここで、実施例1においては、更新したプログラムの署名検証が成功した場合には動作領域のバンクを切り替えていたが、本実施例においてはステップS805に示すようにバンクを切り替えず、バンク1のプログラム2の実行を継続する。上述の通り、プログラム3はプログラム2と同一の内容かつ異なる署名方式であるため、例えばプログラム2の署名方式が危殆化し、かつプログラム3の署名方式が危殆化していない場合に、動作領域をバンク1からバンク0に切り替えることで、プログラム2と同一の処理を行いつつセキュリティ上の安全性を確保することが可能になる。
〈ダブルバンクの実施例3〉
 次に、実施例3に係るダブルバンク構成のROM12を有する情報処理装置1が実行する処理について図9及び図10を用いて説明する。
 図9は、実施例3に係るダブルバンク構成のROM12を有する情報処理装置1を起動させた際に実行されるセキュアブート処理を示すフローチャートである。図9に示すように、本実施例においては、図7で示した、実施例2に係るセキュアブート処理に加えてステップS901及びS902が追加されている。
 本実施例においては、ステップS305においてプログラム1の実行を開始した後、ブートローダプログラム122の署名方式確認機能122aによってさらにバンク0のプログラム1の署名方式Aの世代とバンク1に格納されているプログラムの署名方式Bの世代を検証する。
 ここで、署名方式の世代について説明する。上述のように、セキュアブートに用いられる暗号としては例えばRSA暗号や楕円曲線暗号が用いられることが多い。しかしながら、これらの暗号は量子計算機が実現すると容易に解読されることが判明している。そのため、量子計算機を用いても容易に解読できない耐量子計算機暗号の実用化が進められている(例えば格子暗号)。この場合において、格子暗号の世代はRSA暗号及び楕円曲線暗号の世代より新しいといえる。このように、ある世代Aの暗号を解読可能な技術が実現した場合に、次の世代Bにおいて、当該技術を用いても容易に解読できない暗号が実現したとき、世代Bは世代Aより新しい、と定義される。換言すると、古い世代の署名方式は、新しい世代の署名方式に比べて危殆化しやすい、あるいはすでに危殆化している。
 したがって、ステップS901においてバンク1のプログラム2の署名方式Bの世代を確認し、その世代が署名方式Aよりも古い世代であれば、すでに危殆化している可能性が高く、セキュリティ上の脆弱性が生じている。したがって、署名方式Bの世代が署名方式Aの世代よりも古い場合には、ステップS902に移行し、プログラム2を削除する。
 次に、本実施例におけるプログラム更新処理について図10を用いて説明する。本実施例におけるプログラムの更新処理は、署名方式の世代を考慮することによる処理であるステップS1001からS1007が追加されている。以下ではこれらの追加した処理について説明する。
 ステップS602でバンク1にプログラムを展開した後、ステップS1001においてバンク0の署名方式確認機能122aによって署名方式Bの世代を確認する。署名方式Bの世代がプログラム1の署名方式Aよりも古い場合には、ステップS1004において上述と同様の理由によりプログラム2を削除し、処理を終了する。
 署名方式Bの世代が署名方式Aの世代よりも新しい世代かあるいは同じ世代の場合には、ステップS1002~S1003において署名検証機能122bによりプログラム2の署名検証を実行する。その後のステップS605からS802までは実施例2と同様である。
 ステップS802においてバンク0に再びプログラム3を展開した後、ステップS1005においてプログラム3の署名方式Cの世代を、プログラム2の署名方式Bの世代と比較する。そして、署名方式Cの世代が署名方式Bの世代より古い場合には、ステップS1007においてプログラム3を削除し、ステップS805においてプログラム2の実行を継続する。
 署名方式Cの世代が署名方式Bの世代より新しい世代かあるいは同じ世代の場合には、ステップS1006において、バンク0のブートローダプログラム122の署名検証機能122bによって署名方式Cでプログラム3の署名検証を行う。
 ステップS804において、署名検証が失敗した場合には、処理を終了する。署名検証が成功した場合には、ステップS805に移行し、バンク1のプログラム2の実行を継続する。
 以上のように、本実施例によれば、署名方式の世代も考慮してプログラム更新を行う。これにより、すでに危殆化した署名方式を有するプログラムを実行してしまう危険性を排除することが可能になる。
〈ダブルバンクの実施例4〉
 最後に、実施例4に係るダブルバンク構成のROM12を有する情報処理装置1が実行する処理について図11を用いて説明する。本実施例においては、プログラムを更新する処理は実施例2または3と同様であるが、情報処理装置1を起動する際のセキュアブート処理が異なる。
 図11は、実施例3に係るダブルバンク構成のROM12を有する情報処理装置1を起動させた際に実行されるセキュアブート処理を示すフローチャートである。図11に示すように、本実施例においては、図7で示した、実施例2に係るセキュアブート処理に加えてステップS1101が追加されている。
 本実施例においては、バンク0のブートローダ起動後、プログラム制御機能122cによって、バンク0に格納されたプログラム1のバージョンと、バンク1に格納されたプログラムのバージョンとを比較する。そして、バンク0に格納されたプログラム1のバージョンが、バンク1に格納されたプログラムのバージョンより古い場合にはその後の処理を行わず、バンク0に格納されたプログラム1のバージョンが、バンク1に格納されたプログラムのバージョンより新しいか同じバージョンの場合にのみステップS302に移行してバンク0に格納されたプログラム1の署名検証を行う。その後の処理は上記の実施例と同様である。
 本実施例によれば、バージョンが古く、例えば脆弱性に問題がある制御プログラムを実行することを防止できる。
 以上で説明した本発明の実施例によれば、以下の作用効果を奏する。
(1)本発明の一実施例に係る情報処理装置は、プログラムの演算処理を行う演算部と、第一制御プログラムと、第一制御プログラムの署名検証を実行する第一起動プログラムと、を記憶する記憶部と、を有し、第一起動プログラムは、複数の署名検証方式を実行可能であり、該複数の署名検証方式から第一制御プログラムの署名種類に対応した署名検証方式を判定し、署名検証方式にて署名検証を実行した結果を取得する処理を実行する。
 上記構成により、セキュアブート用の暗号アルゴリズムが危殆化した場合に、別の暗号アルゴリズムに容易に移行することにより、セキュリティ上の安全性を担保することが可能になる。
(2)記憶部は、第一制御プログラムと、第一起動プログラムと、を記憶する第一記憶領域と、第一制御プログラムと異なる種類の署名種類を有する第二制御プログラムと、複数の署名検証方式を実行可能であり、該複数の署名検証方式から第二制御プログラムの署名種類に対応した署名検証方式にて署名検証を実行する第二起動プログラムと、を記憶する第二記憶領域と、を有する。これにより、更新プログラム受信時に採用するOTAの仕組みを頑強にすることが可能になり、また、バンク0のデータをそのまま残しておくことにより、動作領域をバンク1からバンク0に戻すロールバック処理を行うことが可能になる。さらに、更新用のプログラム2をプログラム1と同じものにしておくことで、冗長性も確保することが可能になる。
(3)署名検証は、第一起動プログラムによって実行される。これにより、署名検証を行うHSM等の機器を追加することなく、簡便に署名検証を実行できる。
(4)第二制御プログラムが第二記憶領域に格納された後、実行する記憶領域が第一記憶領域から第二記憶領域に切り替えられ、第一記憶領域は、第二制御プログラムと同一の制御プログラムであって第二制御プログラムの署名とは異なる種類の署名を有する第三制御プログラムを格納する。これにより、第二制御プログラムと第三制御プログラムとの冗長性を確保することが可能になる。
(5)第一制御プログラムの署名および第二制御プログラムの署名の優先度を比較し、優先度の低い署名を有する方の制御プログラムを削除する。これにより、制御プログラム同士の世代やバージョンを比較し、世代やバージョンが古く、危殆化した署名方式を有する、もしくは脆弱化したプログラムを実行してセキュリティ上の脆弱性が生じる恐れを防止できる。
(6)第二制御プログラムを受信する場合、第一制御プログラムの署名の第一優先度および第二制御プログラムの署名の第二優先度を比較し、第一優先度の方が第二優先度よりも低いときまたは第一優先度と第二優先度が同じときにのみ第二制御プログラムを第二記憶領域に格納する。これにより、(5)と同様に、危殆化した署名方式を有するプログラムを実行してセキュリティ上の脆弱性が生じる恐れを防止できる。
(7)第二制御プログラムを受信する場合、第一制御プログラムの第一ソフトウェアバージョン情報および第二制御プログラムの第二ソフトウェアバージョン情報を比較し、第一ソフトウェアバージョン情報の方が第二ソフトウェアバージョン情報より古いときにのみ第二制御プログラムを第二記憶領域に格納する。これにより、(5)と同様に、脆弱化したプログラムを実行してセキュリティ上の脆弱性が生じる恐れを防止できる。
(8)第一起動プログラムと第二起動プログラムは、書換不可であり、第一制御プログラムは、第二起動プログラムもしくは第二制御プログラムの実行時のみ書換可能であり、第二制御プログラムは、第一起動プログラムもしくは第一制御プログラムの実行時のみ書換可能である。これにより、書換時以外には動作領域ではないバンクにアクセスすることができないため、データの誤書込みをする危険性を排除できる。
(9)第三制御プログラムを受信する場合、第二制御プログラムの署名検証方式の第二優先度および第三制御プログラムの署名検証方式の第三優先度を比較し、第二優先度の方が低いときもしくは第二優先度と第三優先度が同じときにのみ第三制御プログラムを第一記憶領域に格納する。これにより、(5)と同様の効果を奏する。
(10)制御プログラムの削除は、第一起動プログラムが第二制御プログラムを削除し、第二起動プログラムが第一制御プログラムを削除する。これにより、メモリ容量を削減することが可能になる。
 なお、本発明は、上記の実施例に限定されるものではなく、様々な変形が可能である。例えば、上記の実施例は、本発明を分かりやすく説明するために詳細に説明したものであり、本発明は、必ずしも説明した全ての構成を備える態様に限定されるものではない。また、ある実施例の構成の一部を他の実施例の構成に置き換えることが可能である。また、ある実施例の構成に他の実施例の構成を加えることも可能である。また、各実施例の構成の一部について、削除したり、他の構成を追加・置換したりすることが可能である。
1 情報処理装置、11 CPU(演算部)、12 ROM(記憶部)、121 制御プログラム、122 ブートローダプログラム(起動プログラム)

Claims (10)

  1.  プログラムの演算処理を行う演算部と、
     第一制御プログラムと、前記第一制御プログラムの署名検証を実行する第一起動プログラムと、を記憶する記憶部と、を有し、
     前記第一起動プログラムは、複数の署名検証方式を実行可能であり、該複数の署名検証方式から前記第一制御プログラムの署名種類に対応した署名検証方式を判定し、前記署名検証方式にて署名検証を実行した結果を取得する処理を実行する、
    ことを特徴とする情報処理装置。
  2.  請求項1に記載の情報処理装置であって、
     前記記憶部は、
      前記第一制御プログラムと、前記第一起動プログラムと、を記憶する第一記憶領域と、
      前記第一制御プログラムと異なる種類の署名種類を有する第二制御プログラムと、複数の署名検証方式を実行可能であり、該複数の署名検証方式から前記第二制御プログラムの前記署名種類に対応した署名検証方式にて署名検証を実行する第二起動プログラムと、を記憶する第二記憶領域と、を有する、
    ことを特徴とする情報処理装置。
  3.  請求項1に記載の情報処理装置であって、
     前記署名検証は、前記第一起動プログラムによって実行される、
    ことを特徴とする情報処理装置。
  4.  請求項2に記載の情報処理装置であって、
     前記第二制御プログラムが前記第二記憶領域に格納された後、実行する記憶領域が前記第一記憶領域から前記第二記憶領域に切り替えられ、
     前記第一記憶領域は、前記第二制御プログラムと同一の制御プログラムであって前記第二制御プログラムの署名とは異なる種類の署名を有する第三制御プログラムを格納する、ことを特徴とする情報処理装置。
  5.  請求項2に記載の情報処理装置であって、
     前記第一制御プログラムの署名および前記第二制御プログラムの署名の優先度を比較し、優先度の低い署名を有する方の制御プログラムを削除する、
    ことを特徴とする情報処理装置。
  6.  請求項2に記載の情報処理装置であって、
     前記第二制御プログラムを受信する場合、前記第一制御プログラムの署名の第一優先度および前記第二制御プログラムの署名の第二優先度を比較し、前記第一優先度の方が前記第二優先度よりも低いときまたは前記第一優先度と第二優先度が同じときにのみ前記第二制御プログラムを前記第二記憶領域に格納する、
    ことを特徴とする情報処理装置。
  7.  請求項2に記載の情報処理装置であって、
     前記第二制御プログラムを受信する場合、前記第一制御プログラムの第一ソフトウェアバージョン情報および前記第二制御プログラムの第二ソフトウェアバージョン情報を比較し、前記第一ソフトウェアバージョン情報の方が前記第二ソフトウェアバージョン情報より古いときにのみ前記第二制御プログラムを前記第二記憶領域に格納する、
    ことを特徴とする情報処理装置。
  8.  請求項2に記載の情報処理装置であって、
     前記第一起動プログラムと前記第二起動プログラムは、書換不可であり、
     前記第一制御プログラムは、前記第二起動プログラムもしくは前記第二制御プログラムの実行時のみ書換可能であり、
     前記第二制御プログラムは、前記第一起動プログラムもしくは前記第一制御プログラムの実行時のみ書換可能である、
    ことを特徴とする情報処理装置。
  9.  請求項5に記載の情報処理装置であって、
     前記第三制御プログラムを受信する場合、前記第二制御プログラムの署名検証方式の第二優先度および前記第三制御プログラムの署名検証方式の第三優先度を比較し、前記第二優先度の方が低いときもしくは前記第二優先度と前記第三優先度が同じときにのみ前記第三制御プログラムを前記第一記憶領域に格納する、
    ことを特徴とする情報処理装置。
  10.  請求項5に記載の情報処理装置であって、
     前記制御プログラムの削除は、
     前記第一起動プログラムが第二制御プログラムを削除し、
     前記第二起動プログラムが第一制御プログラムを削除する、
    ことを特徴とする情報処理装置。
PCT/JP2023/015322 2022-06-14 2023-04-17 情報処理装置 WO2023243212A1 (ja)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
JP2022-095964 2022-06-14
JP2022095964A JP2023182388A (ja) 2022-06-14 2022-06-14 情報処理装置

Publications (1)

Publication Number Publication Date
WO2023243212A1 true WO2023243212A1 (ja) 2023-12-21

Family

ID=89190946

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/JP2023/015322 WO2023243212A1 (ja) 2022-06-14 2023-04-17 情報処理装置

Country Status (2)

Country Link
JP (1) JP2023182388A (ja)
WO (1) WO2023243212A1 (ja)

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2000339153A (ja) * 1999-05-25 2000-12-08 Nippon Telegr & Teleph Corp <Ntt> プログラム検証方法及び装置及びプログラム検証プログラムを格納した記憶媒体
US20120005480A1 (en) * 2010-07-01 2012-01-05 Rockwell Automation Technologies, Inc. Methods for firmware signature
WO2012160760A1 (ja) * 2011-05-25 2012-11-29 パナソニック株式会社 情報処理装置および情報処理方法
CN110990084A (zh) * 2019-12-20 2020-04-10 紫光展讯通信(惠州)有限公司 芯片的安全启动方法、装置、存储介质和终端

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2000339153A (ja) * 1999-05-25 2000-12-08 Nippon Telegr & Teleph Corp <Ntt> プログラム検証方法及び装置及びプログラム検証プログラムを格納した記憶媒体
US20120005480A1 (en) * 2010-07-01 2012-01-05 Rockwell Automation Technologies, Inc. Methods for firmware signature
WO2012160760A1 (ja) * 2011-05-25 2012-11-29 パナソニック株式会社 情報処理装置および情報処理方法
CN110990084A (zh) * 2019-12-20 2020-04-10 紫光展讯通信(惠州)有限公司 芯片的安全启动方法、装置、存储介质和终端

Also Published As

Publication number Publication date
JP2023182388A (ja) 2023-12-26

Similar Documents

Publication Publication Date Title
EP3937046B1 (en) Trusted startup methods and apparatuses of blockchain integrated station
JP6067449B2 (ja) 情報処理装置、情報処理プログラム
US9594909B2 (en) Software updating apparatus, software updating system, invalidation method, and invalidation program
US8464347B2 (en) Software updating apparatus, software updating system, alteration verification method and alteration verification program
JP6678548B2 (ja) 中継装置、中継方法およびプログラム
US20020157010A1 (en) Secure system and method for updating a protected partition of a hard drive
US20170250818A1 (en) Method and System for Securely Updating Field Upgradeable Units
JP5690412B2 (ja) ハードウェアデバイスの鍵プロビジョン方法および装置
US8732445B2 (en) Information processing device, information processing method, information processing program, and integrated circuit
US8127144B2 (en) Program loader operable to verify if load-destination information has been tampered with, processor including the program loader, data processing device including the processor, promgram loading method, and integrated circuit
JP2019036251A (ja) 更新制御装置、ソフトウェア更新システムおよび更新制御方法
TWI749622B (zh) 韌體更新系統及方法
US8392724B2 (en) Information terminal, security device, data protection method, and data protection program
US20100185859A1 (en) Software update system, management apparatus, recording medium, and integrated circuit
CN109445705B (zh) 固件认证方法及固态硬盘
WO2008054058A1 (en) Apparatus and method for updating firmware
US9448785B1 (en) System and method updating full disk encryption software
JP2011003020A (ja) コンピューターシステムおよびプログラム起動方法
CN113360914A (zh) 一种bios更新的方法、系统、设备及介质
WO2023243212A1 (ja) 情報処理装置
CN114003915A (zh) 基于芯片的安全启动方法及装置
KR20230137422A (ko) 디지털 장치를 위한 신뢰할 수 있는 컴퓨팅
JP7477990B2 (ja) 情報処理装置、及びプログラム起動方法
WO2022185570A1 (ja) 制御装置
KR20190118894A (ko) 안전한 usb 장치를 보장하는 부트 방법

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

Country of ref document: EP

Kind code of ref document: A1