JP2021114156A - Information processing apparatus, processing method thereof, and program - Google Patents

Information processing apparatus, processing method thereof, and program Download PDF

Info

Publication number
JP2021114156A
JP2021114156A JP2020006740A JP2020006740A JP2021114156A JP 2021114156 A JP2021114156 A JP 2021114156A JP 2020006740 A JP2020006740 A JP 2020006740A JP 2020006740 A JP2020006740 A JP 2020006740A JP 2021114156 A JP2021114156 A JP 2021114156A
Authority
JP
Japan
Prior art keywords
software module
program
information processing
tampered
verification
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
JP2020006740A
Other languages
Japanese (ja)
Inventor
健 裏垣
Takeshi Uragaki
健 裏垣
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.)
Canon Inc
Original Assignee
Canon Inc
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 Canon Inc filed Critical Canon Inc
Priority to JP2020006740A priority Critical patent/JP2021114156A/en
Publication of JP2021114156A publication Critical patent/JP2021114156A/en
Pending legal-status Critical Current

Links

Images

Abstract

To notify an external device about alteration of a program when the alteration occurs.SOLUTION: An information processing apparatus includes: first start means which starts a first software module in response to start of a boot program; first verification means which verifies alteration of a program in a second software module when the first software module is started; and notification means which starts a communication module in the second software module when it is determined that at least one program in the second software module has been altered and the communication module in the second software module has not been altered, to notify an external device about the alteration.SELECTED DRAWING: Figure 6

Description

本発明は、情報処理装置、情報処理装置の処理方法およびプログラムに関する。 The present invention relates to an information processing device, a processing method and a program of the information processing device.

ソフトウェアの脆弱性をついてソフトウェアを改ざんし、コンピュータを悪用する攻撃が問題となっている。そういった攻撃の対策として、プログラムに署名を施して保存しておき、起動するたびにプログラムの署名を検証することで改ざんの有無を検知する方法が知られている。 Attacks that exploit software by tampering with software vulnerabilities and exploiting computers have become a problem. As a countermeasure against such attacks, a method is known in which a program is signed and saved, and the presence or absence of tampering is detected by verifying the signature of the program each time it is started.

特許文献1には、プログラムを部分的に交換可能にするためにモジュール化し、各モジュールに対して署名を検証する処理や検証するのに必要な鍵情報をそれぞれに内包して格納する方法が開示されている。特許文献2には、起動時に各プログラムの正解値が一致するか検証する方法が開示されている。 Patent Document 1 discloses a method in which a program is modularized so as to be partially exchangeable, and a process for verifying a signature for each module and a method for containing and storing key information necessary for verification are included in each module. Has been done. Patent Document 2 discloses a method of verifying whether the correct answer values of each program match at startup.

特開2019−75000号公報JP-A-2019-75000 特開2019−191698号公報Japanese Unexamined Patent Publication No. 2019-191698

起動時に改ざんを検知した場合、悪意のある動作を防ぐために各プログラムの動作を停止させる。操作部には、改ざんが行われたことをユーザに知らせるため、エラーコードなどを表示する。 If tampering is detected at startup, the operation of each program is stopped to prevent malicious operation. An error code or the like is displayed on the operation unit in order to notify the user that the alteration has been performed.

しかし、この場合、プログラムが動作しないため、ユーザが復旧させることができない。さらに、管理サーバなどの外部装置へのエラー通知ができないため、管理者やサービスマンに対する通知が行えず、復旧のための初期対応が遅くなってしまう。そのため、ユーザが情報処理装置を利用できないダウンタイムが長く発生してしまう。 However, in this case, since the program does not operate, the user cannot recover it. Furthermore, since error notification to an external device such as a management server cannot be made, notification to an administrator or a service person cannot be made, and the initial response for recovery is delayed. Therefore, a long downtime occurs in which the user cannot use the information processing device.

本発明の目的は、プログラムの改ざんが行われている場合に、改ざんが行われている旨を外部装置に通知することができるようにすることである。 An object of the present invention is to be able to notify an external device that the program has been tampered with when the program has been tampered with.

本発明の情報処理装置は、ブートプログラムの起動に応じて第1のソフトウェアモジュールを起動する第1の起動手段と、前記第1のソフトウェアモジュールが起動すると、第2のソフトウェアモジュール内のプログラムの改ざんの検証を行う第1の検証手段と、前記第2のソフトウェアモジュール内の少なくとも1個のプログラムの改ざんが行われ、前記第2のソフトウェアモジュール内の通信モジュールの改ざんが行われていないと判断された場合には、前記第2のソフトウェアモジュール内の通信モジュールを起動し、改ざんが行われている旨を外部装置に通知する通知手段とを有する。 The information processing apparatus of the present invention has a first activation means for activating a first software module in response to activation of a boot program, and tampering with a program in the second software module when the first software module is activated. It is determined that the first verification means for verifying the above and at least one program in the second software module have been tampered with, and the communication module in the second software module has not been tampered with. In that case, it has a notification means for activating the communication module in the second software module and notifying the external device that the tampering has been performed.

本発明によれば、プログラムの改ざんが行われている場合に、改ざんが行われている旨を外部装置に通知することができる。 According to the present invention, when the program has been tampered with, it is possible to notify the external device that the program has been tampered with.

情報処理システムの構成例を示す図である。It is a figure which shows the configuration example of an information processing system. 複合機のハードウェア構成例を示す図である。It is a figure which shows the hardware configuration example of a multifunction device. 複合機の機能構成例を示す図である。It is a figure which shows the functional configuration example of a multifunction device. 正解値リストを示す図である。It is a figure which shows the correct answer value list. 複合機の起動時の動作を示す図である。It is a figure which shows the operation at the time of starting a multifunction device. 複合機の処理方法を示すフローチャートである。It is a flowchart which shows the processing method of a multifunction device.

以下では、図面を参照して実施形態について説明する。なお、以下の実施形態は特許請求の範囲に係る本発明を限定するものでなく、また本実施形態で説明されている特徴の組み合わせの全てが本発明の解決手段に必須のものとは限らない。また、実施形態に係る情報処理装置として複合機(デジタル複合機/MFP/Multi Function Peripheral)を例に説明する。しかしながら、適用範囲は複合機に限定はせず、情報処理装置であればよい。 Hereinafter, embodiments will be described with reference to the drawings. It should be noted that the following embodiments do not limit the present invention according to the claims, and not all combinations of features described in the present embodiments are essential to the means for solving the present invention. .. Further, as an information processing device according to the embodiment, a multifunction device (digital multifunction device / MFP / Multifunction Peripheral) will be described as an example. However, the scope of application is not limited to the multifunction device, and any information processing device may be used.

図1は、本実施形態による情報処理システム110の構成例を示す図である。情報処理システム110は、複合機100と、コンピュータ101と、管理サーバ102と、ネットワーク118とを有する。 FIG. 1 is a diagram showing a configuration example of the information processing system 110 according to the present embodiment. The information processing system 110 includes a multifunction device 100, a computer 101, a management server 102, and a network 118.

複合機100は、ネットワーク118を介して、コンピュータ101と管理サーバ102に接続される。コンピュータ101は、複合機100に対して、印刷データを送信したり、複合機100のファームウェアアップデートを実行したりすることができる。 The multifunction device 100 is connected to the computer 101 and the management server 102 via the network 118. The computer 101 can transmit print data to the multifunction device 100 and execute a firmware update of the multifunction device 100.

管理サーバ102は、複合機100からの通知により、複合機100の状態を管理することができる。管理サーバ102は、印刷枚数およびトナー残量などの管理やエラー状況などを管理し、サービスマンの出動が必要な場合は、サービスマンに対してメール通知などを行うことができる。 The management server 102 can manage the state of the multifunction device 100 by the notification from the multifunction device 100. The management server 102 manages the number of prints, the remaining amount of toner, and the like, and manages the error status, and when it is necessary to dispatch a serviceman, the management server 102 can send an e-mail notification to the serviceman.

図2は、本実施形態による複合機100のハードウェア構成例を示す図である。複合機100は、情報処理装置の一例である。複合機100は、CPU201、ROM(Read-Only Memory)202、RAM(Random Access Memory)203、およびHDD(Hard Disk Drive)204を有する。また、複合機100は、ネットワークI/F制御部205、スキャナI/F制御部206、プリンタI/F制御部207、パネル制御部208、スキャナ211、プリンタ212、埋め込みコントローラ213、フラッシュメモリ214、およびLED217を有する。埋め込みコントローラ213は、CPU215およびRAM216を有する。 FIG. 2 is a diagram showing a hardware configuration example of the multifunction device 100 according to the present embodiment. The multifunction device 100 is an example of an information processing device. The multifunction device 100 includes a CPU 201, a ROM (Read-Only Memory) 202, a RAM (Random Access Memory) 203, and an HDD (Hard Disk Drive) 204. Further, the multifunction device 100 includes a network I / F control unit 205, a scanner I / F control unit 206, a printer I / F control unit 207, a panel control unit 208, a scanner 211, a printer 212, an embedded controller 213, and a flash memory 214. And LED 217. The embedded controller 213 has a CPU 215 and a RAM 216.

CPU201は、複合機100のプログラムを実行し、複合機100の全体の制御を統括的に行う。ROM202は、リードオンリーメモリであり、複合機100のBIOS(Basic Input/Output System)、固定パラメータ等を格納している。RAM203は、ランダムアクセスメモリであり、CPU201が複合機100を制御する際に、プログラムや一時的なデータを格納する。HDD204は、ハードディスクドライブであり、一部のアプリケーションや、各種データを格納する。フラッシュメモリ214は、ローダー、カーネル、およびアプリケーションなどの各種ソフトウェアモジュールを格納する。 The CPU 201 executes the program of the multifunction device 100 and controls the entire multifunction device 100 in an integrated manner. The ROM 202 is a read-only memory, and stores the BIOS (Basic Input / Output System), fixed parameters, and the like of the multifunction device 100. The RAM 203 is a random access memory, and stores programs and temporary data when the CPU 201 controls the multifunction device 100. The HDD 204 is a hard disk drive and stores some applications and various data. The flash memory 214 stores various software modules such as a loader, a kernel, and an application.

埋め込みコントローラ213のCPU215は、埋め込みコントローラ213のプログラムを実行し、複合機100における一部の制御を行う。RAM216は、ランダムアクセスメモリであり、CPU215が複合機100を制御する際に、プログラムや一時的なデータを格納する。複合機100は、埋め込みコントローラ213に対して、統括的に制御するメインコントローラを有する。当該メインコントローラは、少なくともCPU201、ROM202、およびRAM203を含む。 The CPU 215 of the embedded controller 213 executes the program of the embedded controller 213 and performs a part of control in the multifunction device 100. The RAM 216 is a random access memory, and stores programs and temporary data when the CPU 215 controls the multifunction device 100. The multifunction device 100 has a main controller that controls the embedded controller 213 in an integrated manner. The main controller includes at least CPU 201, ROM 202, and RAM 203.

ネットワークI/F制御部205は、ネットワーク118に対して、データの送受信を制御する。スキャナI/F制御部206は、スキャナ211による原稿の読み取りを制御する。プリンタI/F制御部207は、プリンタ212による印刷処理などを制御する。パネル制御部208は、タッチパネル式の操作パネル210を制御し、各種情報の表示、使用者からの指示入力を制御する。バス209は、CPU201、ROM202、RAM203、HDD204、ネットワークI/F制御部205、スキャナI/F制御部206、およびプリンタI/F制御部207を相互に接続する。さらに、バス209は、パネル制御部208、埋め込みコントローラ213、およびフラッシュメモリ214も相互に接続する。このバス209を介して、CPU201からの制御信号や各構成要素間のデータ信号が送受信される。LED217は、必要に応じて点灯し、プログラムやハードウェアの異常を外部に伝えるために利用される。 The network I / F control unit 205 controls the transmission / reception of data to the network 118. The scanner I / F control unit 206 controls the scanning of the document by the scanner 211. The printer I / F control unit 207 controls printing processing and the like by the printer 212. The panel control unit 208 controls the touch panel type operation panel 210 to control the display of various information and the input of instructions from the user. The bus 209 connects the CPU 201, ROM 202, RAM 203, HDD 204, network I / F control unit 205, scanner I / F control unit 206, and printer I / F control unit 207 to each other. Further, the bus 209 also connects the panel control unit 208, the embedded controller 213, and the flash memory 214 to each other. A control signal from the CPU 201 and a data signal between each component are transmitted and received via the bus 209. The LED 217 lights up as needed and is used to notify the outside of a program or hardware abnormality.

図3は、本実施形態による複合機100の機能構成例を示す図である。複合機100は、ソフトウェアモジュールとして、埋め込みコントローラ213内にブートプログラム309を含む。さらに、複合機100は、ソフトウェアモジュールとして、BIOS310、ローダー311、カーネル312、Initrd313、コントローラソフト314、UI制御部303、および通信管理部307を含む。 FIG. 3 is a diagram showing a functional configuration example of the multifunction device 100 according to the present embodiment. The multifunction device 100 includes a boot program 309 in the embedded controller 213 as a software module. Further, the multifunction device 100 includes a BIOS 310, a loader 311, a kernel 312, an Intrud 313, a controller software 314, a UI control unit 303, and a communication management unit 307 as software modules.

通信管理部307は、ネットワーク118に接続されるネットワークI/F制御部205を制御して、ネットワーク118を介して外部とデータの送受信を行う。UI制御部303は、パネル制御部208を介して操作パネル210への入力を受け取り、入力に応じた処理や操作パネル210への表示を行う。ブートプログラム309は、複合機100の電源を入れると、埋め込みコントローラ213のCPU215で実行されるプログラムであり、起動に関わる処理を実行する他に、BIOS310の改ざんの検証を行うBIOS改ざん検知部301を含む。 The communication management unit 307 controls the network I / F control unit 205 connected to the network 118 to transmit / receive data to / from the outside via the network 118. The UI control unit 303 receives the input to the operation panel 210 via the panel control unit 208, and performs processing according to the input and display on the operation panel 210. The boot program 309 is a program that is executed by the CPU 215 of the embedded controller 213 when the power of the multifunction device 100 is turned on. include.

BIOS310は、ブートプログラム309の実行後にCPU201で実行されるプログラムであり、起動に関わる処理を実行する他に、ローダー311の改ざんの検証を行うローダー改ざん検知部302を含む。ローダー311は、BIOS310の処理が完了した後にCPU201で実行されるプログラムであり、起動に関わる処理を実行する他に、カーネル312の改ざんの検証を行うカーネル改ざん検知部304を有する。 The BIOS 310 is a program executed by the CPU 201 after the boot program 309 is executed, and includes a loader tampering detection unit 302 that verifies tampering with the loader 311 in addition to executing a process related to booting. The loader 311 is a program executed by the CPU 201 after the processing of the BIOS 310 is completed, and has a kernel tampering detection unit 304 that verifies the tampering of the kernel 312 in addition to executing the processing related to booting.

カーネル312は、ローダー311の処理が完了した後にCPU201で実行されるプログラムであり、起動に関わる処理を実行する他に、Initrd313の改ざんの検証を行うInitrd改ざん検知部305を有する。Initrd313は、フラッシュメモリ214からコントローラソフト314を読み込み、開始する処理を実行する。Initrd313は、内部的にInitrdとしての制御ソフトと制御ソフトに対する署名データで構成される。起動時検証部306は、Initrd313に含まれ、コントローラソフト314を構成する全てのプログラムファイルを起動時に検証する処理と、付与された署名に対する公開鍵を含む。ここで、全ての署名データに対する秘密鍵は、ソフトウェアの開発時のみ利用され、一般に流通することはない。 The kernel 312 is a program executed by the CPU 201 after the processing of the loader 311 is completed, and has an Initial tamdisk detection unit 305 that verifies the tampering of the Initial 313 in addition to executing the processing related to startup. The Intrud 313 reads the controller software 314 from the flash memory 214 and executes a process of starting the controller software 314. The Initial 313 is internally composed of the control software as the Initial and the signature data for the control software. The startup verification unit 306 is included in the Intrud 313, and includes a process of verifying all the program files constituting the controller software 314 at startup, and a public key for the given signature. Here, the private key for all signature data is used only during software development and is not distributed to the general public.

コントローラソフト314は、CPU201で実行されるプログラムであり、複合機100の各機能を提供する複数のプログラムからなる。例えば、コントローラソフト314は、スキャナI/F制御部206やプリンタI/F制御部207を制御するプログラムや起動プログラムなどを含む。コントローラソフト314のプログラムの一つとして、複合機100の状態を管理する管理サーバ102と通信を行う管理サーバ通信部308を有する。管理サーバ通信部308は、通信管理部307を介して、管理サーバ102と種々のデータの送受信を行う。例えば、管理サーバ通信部308は、複合機100のシリアルナンバーや、コントローラのファームウェアバージョン、発生したエラーコードなどを通知する。また、コントローラソフト314は、起動時検証用の正解値リスト315を有し、起動時検証部306が検証処理に使用する。 The controller software 314 is a program executed by the CPU 201, and includes a plurality of programs that provide each function of the multifunction device 100. For example, the controller software 314 includes a program for controlling the scanner I / F control unit 206 and the printer I / F control unit 207, a start program, and the like. As one of the programs of the controller software 314, there is a management server communication unit 308 that communicates with the management server 102 that manages the state of the multifunction device 100. The management server communication unit 308 transmits and receives various data to and from the management server 102 via the communication management unit 307. For example, the management server communication unit 308 notifies the serial number of the multifunction device 100, the firmware version of the controller, the error code that has occurred, and the like. Further, the controller software 314 has a correct answer value list 315 for verification at startup, and is used by the verification unit 306 at startup for verification processing.

図4は、起動時検証用の正解値リスト315を示す図である。正解値リスト315は、コントローラソフト314に含まれる全てのプログラムファイルに対して、ファイル名401とハッシュ値402の組み合わせをリスト化したものである。プログラムファイルは、OSのプログラムおよび/または機能を提供するアプリケーションプログラムを含む。正解値リスト315は、少なくともファイル名称、ファイルの場所、ファイルに対して一意な値を含むものとし、情報がリスト化される。例えば、正解値リスト315は、ハッシュ値402を用いる。 FIG. 4 is a diagram showing a list of correct answer values 315 for verification at startup. The correct answer value list 315 is a list of combinations of the file name 401 and the hash value 402 for all the program files included in the controller software 314. The program file contains an OS program and / or an application program that provides a function. The correct value list 315 is assumed to include at least a file name, a file location, and a value unique to the file, and the information is listed. For example, the correct answer list 315 uses the hash value 402.

図5(a)〜(d)は、複合機100のソフトウェアモジュールの起動手順を示す図である。図5(a)は、改ざん検知を行わずに、複合機100が起動する順序を示す。ブートプログラム309がBIOS310を起動し、BIOS310がローダー311を起動し、ローダー311がカーネル312を起動し、カーネル312がInitrd313の中から起動プログラムを起動する。起動プログラムの中でコントローラソフト314が起動され、複合機100の機能を提供する。このように、各ソフトウェアモジュールは、所定の順序で起動制御が行われ、前のソフトウェアモジュールの起動が完了すると、次のソフトウェアモジュールの起動処理が実行される。 5 (a) to 5 (d) are diagrams showing a procedure for starting the software module of the multifunction device 100. FIG. 5A shows the order in which the multifunction device 100 is started without detecting falsification. The boot program 309 boots the BIOS 310, the BIOS 310 boots the loader 311, the loader 311 boots the kernel 312, and the kernel 312 boots the boot program from within the Intrud 313. The controller software 314 is started in the start program to provide the functions of the multifunction device 100. In this way, startup control of each software module is performed in a predetermined order, and when the startup of the previous software module is completed, the startup process of the next software module is executed.

図5(b)は、改ざん検知を行いながら、複合機100が起動する順序を示す。図示するように、ブートプログラム309から、BIOS310、ローダー311、カーネル312、Initrd313、コントローラソフト314の順に改ざん検知を行いながら、起動する。起動するソフトウェアモジュールの改ざん検知は、直前に起動されたソフトウェアモジュールが行う。例えば、BIOS310の改ざん検知は、ブートプログラム309が行う。 FIG. 5B shows the order in which the multifunction device 100 is started while detecting falsification. As shown in the figure, the boot program 309 is started while detecting tampering in the order of BIOS310, loader 311, kernel 312, Intrud 313, and controller software 314. The software module that was started immediately before detects tampering with the software module that is started. For example, the boot program 309 detects tampering with the BIOS 310.

図5(b)は、各プログラムの保存場所、デジタル署名(以下、署名という)と署名を検証するための公開鍵(検証情報)の保存場所を表している。以下では、ROM202にブートプログラム309とBIOS310が保存され、フラッシュメモリ214にローダー311とカーネル312とInitrd313とコントローラソフト314とが保存されている。 FIG. 5B shows a storage location of each program, a digital signature (hereinafter referred to as a signature), and a storage location of a public key (verification information) for verifying the signature. In the following, the boot program 309 and the BIOS 310 are stored in the ROM 202, and the loader 311, the kernel 312, the Intrud 313, and the controller software 314 are stored in the flash memory 214.

ブートプログラム309は、BIOSの署名検証用の公開鍵500を含む。BIOS310は、BIOSの署名502とローダー検証用の公開鍵503を含む。ローダー311は、ローダー署名504とカーネル検証用の公開鍵505を含む。カーネル312は、カーネル署名506とInitrd検証用の公開鍵507を含む。Initrd313は、Initrdの署名509を含む。これらの公開鍵と署名は、予め複合機100の工場出荷前に、ソフトウェアモジュール(プログラム)に対して付与されることが望ましい。BIOS改ざん検知部301、ローダー改ざん検知部302、カーネル改ざん検知部304およびInitrd改ざん検知部305は、次に起動する各ソフトウェアモジュールの改ざんの検証を行い、問題がなければ、次のソフトウェアモジュールを起動する。 The boot program 309 includes a public key 500 for verifying the signature of the BIOS. The BIOS 310 includes a BIOS signature 502 and a public key 503 for loader verification. The loader 311 includes a loader signature 504 and a public key 505 for kernel verification. Kernel 312 includes a kernel signature 506 and a public key 507 for Initial verification. The Initial 313 includes an Initial 509 signature. It is desirable that these public keys and signatures be given to the software module (program) in advance before the multifunction device 100 is shipped from the factory. The BIOS tampering detection unit 301, the loader tampering detection unit 302, the kernel tampering detection unit 304, and the Initial tamdisk detection unit 305 verify the tampering of each software module to be started next, and if there is no problem, start the next software module. do.

図5(c)は、コントローラソフト314の検証手順を示す。Initrd313の起動時検証部306は、コントローラソフト314の検証を行う。コントローラソフト314は、複数のソフトウェアから成り、管理サーバ102と通信を行うための通信モジュールである管理サーバ通信部308もこの1つである。 FIG. 5C shows a verification procedure of the controller software 314. The startup verification unit 306 of the Intrud 313 verifies the controller software 314. The controller software 314 is composed of a plurality of software, and the management server communication unit 308, which is a communication module for communicating with the management server 102, is one of them.

起動時検証部306は、各ソフトウェアのハッシュ値を計算し、コントローラソフト314に含まれる、正解値リスト315に記載されたハッシュ値402と比較する。起動時検証部306は、比較の結果が一致すれば、改ざんされていないものと判断し、次のソフトウェアの検証を実施する。すべてのソフトウェアの検証が正常に終了すると、起動時検証部306は、コントローラソフト314が改ざんされていないと判断し、検証を終了する。検証が終了すると、Initrd313は、各ソフトウェアの起動を行う。なお、通信モジュールである管理サーバ通信部308の起動順は限定されない。 The startup verification unit 306 calculates the hash value of each software and compares it with the hash value 402 described in the correct answer value list 315 included in the controller software 314. If the comparison results match, the startup verification unit 306 determines that the software has not been tampered with, and verifies the next software. When the verification of all the software is normally completed, the startup verification unit 306 determines that the controller software 314 has not been tampered with, and ends the verification. When the verification is completed, the Intrud 313 starts each software. The startup order of the management server communication unit 308, which is a communication module, is not limited.

図5(d)は、コントローラソフト314の検証に失敗した時の手順を示す。起動時検証部306は、各ソフトウェアの検証を順に行い、改ざんされているソフトウェアが見つかった場合、検証失敗として検証処理を中断する。起動時検証部306は、管理サーバ102に通知を行うため、通信モジュールである管理サーバ通信部308のみの起動を行う。起動時検証部306は、管理サーバ通信部308のハッシュ値を計算し、正解値リスト315に記載されたハッシュ値402と等しいか否かを確認する。起動時検証部306は、検証に成功した場合、管理サーバ通信部308のみを起動し、実行する。なお、通信モジュールは、1つのソフトウェアであるとして説明したが、複数のソフトウェアから成っていてもよい。その場合、起動時検証部306は、全ての通信モジュールの検証に成功した場合のみ、起動を行う。 FIG. 5D shows a procedure when the verification of the controller software 314 fails. The startup verification unit 306 verifies each software in order, and if tampered software is found, the verification process is interrupted as a verification failure. The startup verification unit 306 starts only the management server communication unit 308, which is a communication module, in order to notify the management server 102. The startup verification unit 306 calculates the hash value of the management server communication unit 308, and confirms whether or not it is equal to the hash value 402 shown in the correct answer value list 315. If the verification is successful, the startup verification unit 306 starts and executes only the management server communication unit 308. Although the communication module has been described as one software, it may be composed of a plurality of software. In that case, the start-up verification unit 306 starts up only when the verification of all the communication modules is successful.

図6は、本実施形態による複合機100の起動時の処理方法を示すフローチャートである。複合機100の電源が投入されると、ROM202からRAM216にブートプログラム309が読み込まれ、CPU215は、ブートプログラム309を起動する。 FIG. 6 is a flowchart showing a processing method at the time of starting the multifunction device 100 according to the present embodiment. When the power of the multifunction device 100 is turned on, the boot program 309 is read from the ROM 202 into the RAM 216, and the CPU 215 starts the boot program 309.

ステップS601では、ブートプログラム309に含まれるBIOS改ざん検知部301は、検証部として機能し、BIOSの署名502の検証を行い、成功したか否かを判定する。具体的には、BIOS改ざん検知部301は、フラッシュメモリ214からBIOS310と、ローダー検証用の公開鍵503と、BIOSの署名502をRAM216に読み込む。さらに、BIOS改ざん検知部301は、BIOS検証用の公開鍵500を用いて、BIOSの署名502の検証を行い、成功したか否かを判定する。BIOS改ざん検知部301は、署名502の検証に失敗した場合、BIOS310の改ざんが行われていると判断し、ステップS603に進む。一方、BIOS改ざん検知部301は、署名502の検証に成功した場合、BIOS310の改ざんが行われていないと判断し、CPU201に通電し、ブートプログラムの処理を終了し、ステップS602に進む。 In step S601, the BIOS tampering detection unit 301 included in the boot program 309 functions as a verification unit, verifies the signature 502 of the BIOS, and determines whether or not it has succeeded. Specifically, the BIOS tampering detection unit 301 reads the BIOS 310 from the flash memory 214, the public key 503 for loader verification, and the signature 502 of the BIOS into the RAM 216. Further, the BIOS tampering detection unit 301 verifies the signature 502 of the BIOS using the public key 500 for the BIOS verification, and determines whether or not it has succeeded. If the BIOS tampering detection unit 301 fails to verify the signature 502, it determines that the BIOS 310 has been tampered with, and proceeds to step S603. On the other hand, if the BIOS tampering detection unit 301 succeeds in verifying the signature 502, it determines that the BIOS 310 has not been tampered with, energizes the CPU 201, ends the boot program process, and proceeds to step S602.

ステップS603では、BIOS改ざん検知部301は、LED217を点灯させ、図6の処理を終了する。 In step S603, the BIOS tampering detection unit 301 turns on the LED 217 and ends the process of FIG.

ステップS602では、CPU201は、起動部として機能し、フラッシュメモリ214からBIOS310とローダー検証用の公開鍵503をRAM203に読み込み、BIOS310を起動する。BIOS310が起動されると、CPU201は、ステップS604に進む。 In step S602, the CPU 201 functions as an activation unit, reads the BIOS 310 from the flash memory 214 and the public key 503 for loader verification into the RAM 203, and activates the BIOS 310. When the BIOS 310 is started, the CPU 201 proceeds to step S604.

ステップS604では、CPU201は、BIOS310により、各種初期化処理を実行する。BIOS310に含まれるローダー改ざん検知部302は、フラッシュメモリ214からローダー311と、カーネル検証用の公開鍵505と、ローダー署名504をRAM203に読み込む。さらに、ローダー改ざん検知部302は、検証部として機能し、ローダー検証用の公開鍵505を用いて、ローダー署名504の検証を行い、成功したか否かを判定する。ローダー改ざん検知部302は、ローダー署名504の検証に失敗した場合は、ローダー311の改ざんが行われていると判断し、ステップS615に進む。一方、ローダー改ざん検知部304は、ローダー署名504の検証に成功した場合は、ローダー311の改ざんが行われていないと判断し、ステップS605に進む。 In step S604, the CPU 201 executes various initialization processes by the BIOS 310. The loader tampering detection unit 302 included in the BIOS 310 reads the loader 311 from the flash memory 214, the public key 505 for kernel verification, and the loader signature 504 into the RAM 203. Further, the loader tampering detection unit 302 functions as a verification unit, verifies the loader signature 504 using the loader verification public key 505, and determines whether or not the loader signature 504 is successful. If the loader tampering detection unit 302 fails to verify the loader signature 504, it determines that the loader 311 has been tampered with, and proceeds to step S615. On the other hand, if the loader tampering detection unit 304 succeeds in verifying the loader signature 504, it determines that the loader 311 has not been tampered with, and proceeds to step S605.

ステップS615では、ローダー改ざん検知部302は、操作パネル210にエラーメッセージを表示するように制御し、図6の処理を終了する。 In step S615, the loader tampering detection unit 302 controls to display an error message on the operation panel 210, and ends the process of FIG.

ステップS605では、CPU201は、起動部として機能し、BIOS310により、RAM203に読み込まれたローダー311を起動する。ローダー311が起動されると、CPU201は、ステップS606に進む。 In step S605, the CPU 201 functions as a startup unit, and the BIOS 310 starts the loader 311 read into the RAM 203. When the loader 311 is started, the CPU 201 proceeds to step S606.

ステップS606では、CPU201は、ローダー311により、各種初期化処理を実行する。ローダー311に含まれるカーネル改ざん検知部304は、フラッシュメモリ214からカーネル312とNativeプログラム検証用の公開鍵507とカーネル署名506をRAM203に読み込む。カーネル改ざん検知部304は、検証部として機能し、カーネル検証用の公開鍵505を用いて、カーネル署名506の検証を行い、成功したか否かを判定する。カーネル改ざん検知部304は、カーネル署名506の検証に失敗した場合は、カーネル312の改ざんが行われていると判断し、ステップS615に進み、操作パネル210にエラーメッセージを表示し、図6の処理を終了する。一方、カーネル改ざん検知部304は、カーネル署名506の検証に成功した場合、カーネル312の改ざんが行われていないと判断し、ステップS607に進む。 In step S606, the CPU 201 executes various initialization processes by the loader 311. The kernel tampering detection unit 304 included in the loader 311 reads the kernel 312, the public key 507 for verifying the Native program, and the kernel signature 506 from the flash memory 214 into the RAM 203. The kernel tampering detection unit 304 functions as a verification unit, verifies the kernel signature 506 using the public key 505 for kernel verification, and determines whether or not it has succeeded. If the kernel tampering detection unit 304 fails to verify the kernel signature 506, it determines that the kernel 312 has been tampered with, proceeds to step S615, displays an error message on the operation panel 210, and performs the process of FIG. To finish. On the other hand, if the kernel tampering detection unit 304 succeeds in verifying the kernel signature 506, it determines that the kernel 312 has not been tampered with, and proceeds to step S607.

ステップS607では、CPU201は、起動部として機能し、ローダー311により、RAM203に読み込まれたカーネル312を起動する。カーネル312が起動されると、CPU201は、ステップS608に進む。 In step S607, the CPU 201 functions as a boot unit, and the loader 311 boots the kernel 312 loaded in the RAM 203. When the kernel 312 is started, the CPU 201 proceeds to step S608.

ステップS608では、CPU201は、カーネル312により、各種初期化処理を実行する。カーネル312に含まれるInitrd改ざん検知部305は、フラッシュメモリ214からInitrd313とInitrdの署名509をRAM203に読み込む。Initrd改ざん検知部305は、検証部として機能し、Initrd検証用の公開鍵507を用いて、Initrd313の署名509の検証を行い、成功したか否かを判定する。Initrd改ざん検知部305は、Initrd313の署名509の検証に失敗した場合、Initrd313の改ざんが行われていると判断し、ステップS615に進み、操作パネル210にエラーメッセージを表示し、図6の処理を終了する。一方、Initrd改ざん検知部305は、Initrd313の署名509の検証に成功した場合、Initrd313の改ざんが行われていないと判断し、ステップS609に進む。 In step S608, the CPU 201 executes various initialization processes by the kernel 312. The Initial ramdisk tampering detection unit 305 included in the kernel 312 reads the Initial 313 and the Initial 509 signature 509 from the flash memory 214 into the RAM 203. The Initial tamdisk detection unit 305 functions as a verification unit, verifies the signature 509 of the Initial 313 using the public key 507 for the Initial verification, and determines whether or not it has succeeded. If the Initial tamdisk detection unit 305 fails to verify the signature 509 of the Initial 313, it determines that the Initial 313 has been tampered with, proceeds to step S615, displays an error message on the operation panel 210, and performs the process of FIG. finish. On the other hand, if the Initial tamdisk detection unit 305 succeeds in verifying the signature 509 of the Initial 313, it determines that the Initial 313 has not been tampered with, and proceeds to step S609.

ステップS609では、CPU201は、起動部として機能し、カーネル312により、Initrd313を起動する。Initrd313に含まれる起動時検証部306が起動されると、起動時検証部306は、ステップS610に進む。 In step S609, the CPU 201 functions as a boot unit, and the kernel 312 boots the Intrud 313. When the startup verification unit 306 included in the Intrud 313 is activated, the startup verification unit 306 proceeds to step S610.

ステップS610では、起動時検証部306は、フラッシュメモリ214に保存されている起動時検証の正解値リスト315を読み込み、正解値リスト315に記載されたコントローラソフト314に含まれる全プログラムのハッシュ値402を取得する。そして、起動時検証部306は、フラッシュメモリ214に保存されるコントローラソフト314内の全プログラムのハッシュ値を計算する。起動時検証部306は、検証部として機能し、その計算したハッシュ値と正解値リスト315のハッシュ値402との比較を行うことにより、コントローラソフト314内の全プログラムの改ざんの検証を行う。起動時検証部306は、比較の結果、コントローラソフト314内の少なくとも1個のプログラムの検証に失敗し、コントローラソフト314内の少なくとも1個のプログラムの改ざんが行われていると判断した場合には、ステップS612に進む。一方、起動時検証部306は、比較の結果、コントローラソフト314内の全プログラムの検証に成功し、コントローラソフト314内の全プログラムの改ざんが行われていないと判断した場合には、ステップS611に進む。 In step S610, the startup verification unit 306 reads the startup verification correct answer value list 315 stored in the flash memory 214, and the hash value 402 of all the programs included in the controller software 314 described in the correct answer value list 315. To get. Then, the startup verification unit 306 calculates the hash values of all the programs in the controller software 314 stored in the flash memory 214. The startup verification unit 306 functions as a verification unit, and verifies the tampering of all the programs in the controller software 314 by comparing the calculated hash value with the hash value 402 in the correct answer value list 315. When the startup verification unit 306 fails to verify at least one program in the controller software 314 as a result of comparison and determines that at least one program in the controller software 314 has been tampered with. , Step S612. On the other hand, when the startup verification unit 306 succeeds in verifying all the programs in the controller software 314 as a result of comparison and determines that all the programs in the controller software 314 have not been tampered with, the process proceeds to step S611. move on.

ステップS611では、起動時検証部306は、コントローラソフト314が複数のプログラムファイルに分割されているため、起動部として機能し、複合機100の起動に必要なコントローラソフト314内のプログラムを順次起動する。起動が完了すると、起動時検証部306は、図6の処理を終了する。 In step S611, the start-up verification unit 306 functions as a start-up unit because the controller software 314 is divided into a plurality of program files, and sequentially starts the programs in the controller software 314 necessary for starting the multifunction device 100. .. When the startup is completed, the startup verification unit 306 ends the process shown in FIG.

ステップS612では、起動時検証部306は、表示制御部として機能し、操作パネル210にエラーメッセージを表示するように制御し、ステップS613に進む。 In step S612, the startup verification unit 306 functions as a display control unit, controls the operation panel 210 to display an error message, and proceeds to step S613.

ステップS613では、起動時検証部306は、コントローラソフト314内の管理サーバ通信部308を起動するため、検証部として機能し、コントローラソフト314内の管理サーバ通信部(通信モジュール)308の改ざんの検証を行う。起動時検証部306は、フラッシュメモリ214に保存されている管理サーバ通信部308のハッシュ値を計算し、その計算したハッシュ値と起動時検証用の正解値リスト315のハッシュ値402とを比較する。起動時検証部306は、比較の結果、管理サーバ通信部308の改ざんが行われていないと判断した場合には、ステップS614に進み、管理サーバ通信部308の改ざんが行われていると判断した場合には、図6の処理を終了する。 In step S613, the startup verification unit 306 functions as a verification unit to start the management server communication unit 308 in the controller software 314, and verifies the falsification of the management server communication unit (communication module) 308 in the controller software 314. I do. The startup verification unit 306 calculates the hash value of the management server communication unit 308 stored in the flash memory 214, and compares the calculated hash value with the hash value 402 in the correct answer value list 315 for startup verification. .. When the startup verification unit 306 determines that the management server communication unit 308 has not been tampered with as a result of comparison, the process proceeds to step S614 and determines that the management server communication unit 308 has been tampered with. In that case, the process of FIG. 6 is terminated.

ステップS614では、起動時検証部306は、管理サーバ通信部308を起動し、ステップS616に進む。なお、ステップS614で起動するコントローラソフト314のプログラムは、単一のプログラムでもよいし、連携する複数のプログラムでもよい。 In step S614, the startup verification unit 306 activates the management server communication unit 308 and proceeds to step S616. The program of the controller software 314 started in step S614 may be a single program or a plurality of linked programs.

ステップS616では、管理サーバ通信部308は、ネットワーク118を介して管理サーバ102に、コントローラソフト314内のプログラムの改ざんが行われている旨を、複合機100のシリアルナンバーおよびエラーコードと共に通知する。この際、管理サーバ通信部308は、通知部として機能する。なお、複合機100のシリアルナンバーは、複合機100の識別子であればよい。管理サーバ102は、外部装置である。管理サーバ102の通信先については、事前に複合機100の管理サーバ通信部308にハードコーディングされていてもよいし、複合機100のユーザーモードやサービスモードなどから設定したものを使用できる仕組みとしてもよい。管理サーバ102に通知後は、複合機100は、ステップS612で操作パネル210にエラーメッセージを表示したまま、停止する。 In step S616, the management server communication unit 308 notifies the management server 102 via the network 118 that the program in the controller software 314 has been tampered with, together with the serial number and error code of the multifunction device 100. At this time, the management server communication unit 308 functions as a notification unit. The serial number of the multifunction device 100 may be an identifier of the multifunction device 100. The management server 102 is an external device. The communication destination of the management server 102 may be hard-coded in the management server communication unit 308 of the multifunction device 100 in advance, or it may be used as a mechanism that can be set from the user mode, service mode, etc. of the multifunction device 100. good. After notifying the management server 102, the multifunction device 100 stops while displaying an error message on the operation panel 210 in step S612.

以上により、複合機100は、起動時に改ざんが検知された場合、管理サーバ102に対して、改ざんが行われている旨を通知することで、早期に複合機100の復旧を行うことが可能になる。 As described above, when the multifunction device 100 is detected to be tampered with at the time of startup, the multifunction device 100 can be restored at an early stage by notifying the management server 102 that the tampering has been performed. Become.

なお、複合機100は、上記の実施形態に限らず、様々な変形が可能である。上記の実施形態では公開鍵が異なるものがあるとして説明したが、同じものがあってもよい。また、各プログラムの保存場所としてROM202、フラッシュメモリ214およびHDD204があるものとして説明したが、保存場所を限定するものではなく、別の記憶媒体があってもよい。またプログラムの保存場所が説明した箇所になくてもよく、例えばROM202上にローダー311を記憶する構成であってもよい。 The multifunction device 100 is not limited to the above embodiment, and can be modified in various ways. In the above embodiment, it has been described that some public keys are different, but the same ones may be used. Further, although it has been described that the storage location of each program includes the ROM 202, the flash memory 214, and the HDD 204, the storage location is not limited, and another storage medium may be used. Further, the storage location of the program does not have to be in the location described, and for example, the loader 311 may be stored on the ROM 202.

(その他の実施形態)
本発明は、上述の実施形態の1以上の機能を実現するプログラムを、ネットワーク又は記憶媒体を介してシステム又は装置に供給し、そのシステム又は装置のコンピュータにおける1つ以上のプロセッサがプログラムを読み出し実行する処理でも実現可能である。また、1以上の機能を実現する回路(例えば、ASIC)によっても実現可能である。
(Other embodiments)
The present invention supplies a program that realizes one or more functions of the above-described embodiment to a system or device via a network or storage medium, and one or more processors in the computer of the system or device reads and executes the program. It can also be realized by the processing to be performed. It can also be realized by a circuit (for example, ASIC) that realizes one or more functions.

なお、上記実施形態は、何れも本発明を実施するにあたっての具体化の例を示したものに過ぎず、これらによって本発明の技術的範囲が限定的に解釈されてはならないものである。すなわち、本発明はその技術思想、又はその主要な特徴から逸脱することなく、様々な形で実施することができる。 It should be noted that all of the above embodiments merely show examples of embodiment in carrying out the present invention, and the technical scope of the present invention should not be construed in a limited manner by these. That is, the present invention can be implemented in various forms without departing from the technical idea or its main features.

100 複合機、213 埋め込みコントローラ、301 BIOS改ざん検知部、302 ローダー改ざん検知部、304 カーネル改ざん検知部、305 Initrd改ざん検知部、306 起動時検証部、308 管理サーバ通信部、309 ブートプログラム、310 BIOS、311 ローダー、312 カーネル、313 Initrd、314 コントローラソフト、315 起動時検証用正解値リスト 100 compound machine, 213 embedded controller, 301 BIOS tampering detection unit, 302 loader tampering detection unit, 304 kernel tampering detection unit, 305 Initial tamdisk detection unit, 306 startup verification unit, 308 management server communication unit, 309 boot program, 310 BIOS 311 loader, 312 kernel, 313 Initial, 314 controller software, 315 list of correct values for boot verification

Claims (12)

ブートプログラムの起動に応じて第1のソフトウェアモジュールを起動する第1の起動手段と、
前記第1のソフトウェアモジュールが起動すると、第2のソフトウェアモジュール内のプログラムの改ざんの検証を行う第1の検証手段と、
前記第2のソフトウェアモジュール内の少なくとも1個のプログラムの改ざんが行われ、前記第2のソフトウェアモジュール内の通信モジュールの改ざんが行われていないと判断された場合には、前記第2のソフトウェアモジュール内の通信モジュールを起動し、改ざんが行われている旨を外部装置に通知する通知手段と
を有することを特徴とする情報処理装置。
The first boot means for booting the first software module in response to the boot program boot,
When the first software module is started, the first verification means for verifying the tampering of the program in the second software module and the first verification means.
When it is determined that at least one program in the second software module has been tampered with and the communication module in the second software module has not been tampered with, the second software module An information processing device characterized by having a notification means for activating a communication module inside and notifying an external device that tampering has been performed.
前記第2のソフトウェアモジュール内のプログラムの改ざんが行われていないと判断された場合には、前記第2のソフトウェアモジュール内のプログラムを起動する第2の起動手段をさらに有することを特徴とする請求項1に記載の情報処理装置。 When it is determined that the program in the second software module has not been tampered with, the claim is characterized by further having a second starting means for starting the program in the second software module. Item 1. The information processing apparatus according to item 1. 前記第2のソフトウェアモジュール内の少なくとも1個のプログラムの改ざんが行われていると判断された場合には、前記第2のソフトウェアモジュール内の通信モジュールの改ざんの検証を行う第2の検証手段をさらに有することを特徴とする請求項1または2に記載の情報処理装置。 When it is determined that at least one program in the second software module has been tampered with, a second verification means for verifying tampering with the communication module in the second software module is provided. The information processing apparatus according to claim 1 or 2, further comprising. 前記第2のソフトウェアモジュール内の少なくとも1個のプログラムの改ざんが行われていると判断された場合には、エラーメッセージを表示するように制御する表示制御手段をさらに有することを特徴とする請求項1〜3のいずれか1項に記載の情報処理装置。 The claim is characterized in that it further has a display control means for controlling to display an error message when it is determined that at least one program in the second software module has been tampered with. The information processing apparatus according to any one of 1 to 3. 前記通知手段は、前記情報処理装置の識別子と共に、前記改ざんが行われている旨を前記外部装置に通知することを特徴とする請求項1〜4のいずれか1項に記載の情報処理装置。 The information processing device according to any one of claims 1 to 4, wherein the notification means notifies the external device that the falsification has been performed together with the identifier of the information processing device. 前記通知手段は、前記情報処理装置の識別子およびエラーコードと共に、前記改ざんが行われている旨を前記外部装置に通知することを特徴とする請求項1〜5のいずれか1項に記載の情報処理装置。 The information according to any one of claims 1 to 5, wherein the notification means notifies the external device that the falsification has been performed together with the identifier and the error code of the information processing device. Processing equipment. ブートプログラムの起動に応じて第3のソフトウェアモジュールを起動する第3の起動手段と、
前記第3のソフトウェアモジュールが起動すると、前記第1のソフトウェアモジュールの改ざんの検証を行う第3の検証手段とをさらに有し、
前記第1の起動手段は、前記第1のソフトウェアモジュールの改ざんが行われていないと判断された場合に、前記第1のソフトウェアモジュールを起動することを特徴とする請求項1〜6のいずれか1項に記載の情報処理装置。
A third boot means that boots the third software module in response to the boot program boot,
When the third software module is started, it further has a third verification means for verifying tampering with the first software module.
Any of claims 1 to 6, wherein the first activation means activates the first software module when it is determined that the first software module has not been tampered with. The information processing apparatus according to item 1.
前記第3の検証手段は、第1の公開鍵を用いて、前記第1のソフトウェアモジュールの署名の検証を行うことを特徴とする請求項7に記載の情報処理装置。 The information processing apparatus according to claim 7, wherein the third verification means verifies the signature of the first software module by using the first public key. 前記第1の検証手段は、前記第2のソフトウェアモジュール内のプログラムのハッシュ値を計算し、前記計算したハッシュ値と保存されているハッシュ値とを比較することを特徴とする請求項1〜8のいずれか1項に記載の情報処理装置。 Claims 1 to 8 are characterized in that the first verification means calculates a hash value of a program in the second software module and compares the calculated hash value with a stored hash value. The information processing apparatus according to any one of the above items. 前記第2の検証手段は、前記第2のソフトウェアモジュール内の通信モジュールのハッシュ値を計算し、前記計算したハッシュ値と保存されているハッシュ値とを比較することを特徴とする請求項3に記載の情報処理装置。 The third verification means is characterized in that the hash value of the communication module in the second software module is calculated and the calculated hash value is compared with the stored hash value. The information processing device described. ブートプログラムの起動に応じて第1のソフトウェアモジュールを起動する第1の起動ステップと、
前記第1のソフトウェアモジュールが起動すると、第2のソフトウェアモジュール内のプログラムの改ざんの検証を行う第1の検証ステップと、
前記第2のソフトウェアモジュール内の少なくとも1個のプログラムの改ざんが行われ、前記第2のソフトウェアモジュール内の通信モジュールの改ざんが行われていないと判断された場合には、前記第2のソフトウェアモジュール内の通信モジュールを起動し、改ざんが行われている旨を外部装置に通知する通知ステップと
を有することを特徴とする情報処理装置の処理方法。
The first boot step, which boots the first software module in response to the boot program boot,
When the first software module is started, the first verification step of verifying the tampering of the program in the second software module and
When it is determined that at least one program in the second software module has been tampered with and the communication module in the second software module has not been tampered with, the second software module A processing method of an information processing device, which comprises a notification step of activating a communication module in the device and notifying an external device of the fact that tampering has been performed.
コンピュータを、請求項1〜10のいずれか1項に記載された情報処理装置の各手段として機能させるためのプログラム。 A program for causing a computer to function as each means of the information processing apparatus according to any one of claims 1 to 10.
JP2020006740A 2020-01-20 2020-01-20 Information processing apparatus, processing method thereof, and program Pending JP2021114156A (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2020006740A JP2021114156A (en) 2020-01-20 2020-01-20 Information processing apparatus, processing method thereof, and program

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2020006740A JP2021114156A (en) 2020-01-20 2020-01-20 Information processing apparatus, processing method thereof, and program

Publications (1)

Publication Number Publication Date
JP2021114156A true JP2021114156A (en) 2021-08-05

Family

ID=77077621

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2020006740A Pending JP2021114156A (en) 2020-01-20 2020-01-20 Information processing apparatus, processing method thereof, and program

Country Status (1)

Country Link
JP (1) JP2021114156A (en)

Similar Documents

Publication Publication Date Title
KR102347703B1 (en) Information processing apparatus, method for controlling same, and storage medium
US10225426B2 (en) Image forming apparatus having firmware update function, method of controlling the same, program for executing the method, and storage medium
US20200401688A1 (en) Information processing apparatus, control method of the same, and storage medium
JP2019212114A (en) Information processing device, control method thereof, and program
US11681809B2 (en) Information processing apparatus, control method, and storage medium
JP2020057040A (en) Information processing device, control method therefor, and program
JP2022135443A (en) Information processor, method for processing information, and program
US11526597B2 (en) Information processing apparatus, method of controlling the same, and storage medium
JP7374780B2 (en) Information processing device and method of controlling the information processing device
JP2020082441A (en) Image formation device, control method and program of the same
JP2021114156A (en) Information processing apparatus, processing method thereof, and program
KR102402373B1 (en) Information processing apparatus, and information processing method
JP7182966B2 (en) Information processing device, method for starting information processing device, and program
US11907375B2 (en) System and method for signing and interlocking a boot information file to a host computing system
JP2021140601A (en) Information processing device, control method therefor, and program
JP2020052597A (en) Information processing apparatus, control method thereof, and program
JP2020154601A (en) Information processing device and its control method, and program
US11928217B2 (en) Information processing apparatus, control method of information processing apparatus, and storage medium
JP2023172570A (en) Information processing device and control method for information processing device
JP2021117523A (en) Information processing apparatus, method for processing information processing apparatus, and program
JP2021128469A (en) Information processor and boot method for information processor
JP2022157063A (en) Information processing device, information processing method and program
JP2021117589A (en) Information processing apparatus, method for processing information processing apparatus, and program