JP2020057250A - Information processor, and control method and program therefor - Google Patents
Information processor, and control method and program therefor Download PDFInfo
- Publication number
- JP2020057250A JP2020057250A JP2018188111A JP2018188111A JP2020057250A JP 2020057250 A JP2020057250 A JP 2020057250A JP 2018188111 A JP2018188111 A JP 2018188111A JP 2018188111 A JP2018188111 A JP 2018188111A JP 2020057250 A JP2020057250 A JP 2020057250A
- Authority
- JP
- Japan
- Prior art keywords
- program
- verification
- activation
- unit
- information processing
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
- 238000000034 method Methods 0.000 title claims abstract description 36
- 238000012795 verification Methods 0.000 claims abstract description 61
- 230000004913 activation Effects 0.000 claims description 38
- 230000010365 information processing Effects 0.000 claims description 27
- 230000003213 activating effect Effects 0.000 claims description 4
- 238000011084 recovery Methods 0.000 description 27
- 230000006870 function Effects 0.000 description 9
- 238000010586 diagram Methods 0.000 description 4
- 238000004891 communication Methods 0.000 description 2
- 238000003825 pressing Methods 0.000 description 1
- 238000004904 shortening Methods 0.000 description 1
Images
Landscapes
- Stored Programmes (AREA)
Abstract
Description
本発明は、情報処理装置、情報処理装置の制御方法及びプログラムに関する。 The present invention relates to an information processing apparatus, a control method for the information processing apparatus, and a program.
近年の情報処理装置や画像形成装置は、フラグ情報や特定の入力などに基づき、起動するOS(Operating System)を切り替える機能を有するものがある。このような機能は、例えば、通常動作用のOSが破損した場合は、リカバリ用のOSを起動し、通常動作用システムを復旧する。また、システムを起動する前に、電子署名などを用いて、システムを構成するファイルやデータを検証することで、改ざんされた悪意あるシステムの起動を防止する機能を有するものもある。ここで、検証対象が増えるほど、検証のための演算処理が増大するため、システム起動に要する時間も長くなる傾向がある。 Some information processing apparatuses and image forming apparatuses in recent years have a function of switching an OS (Operating System) to be started based on flag information or a specific input. With such a function, for example, when the OS for normal operation is damaged, the OS for recovery is started to recover the system for normal operation. In addition, some systems have a function of preventing a falsified malicious system from starting by verifying files and data constituting the system using an electronic signature or the like before starting the system. Here, as the number of verification targets increases, the number of calculation processes for verification increases, so that the time required for system startup tends to increase.
下記の特許文献1には、フラグの有無によって検証処理が必要か否かを判断し、必要な場合のみ検証処理を行う技術が開示されている。 Patent Literature 1 below discloses a technique of determining whether verification processing is necessary based on the presence or absence of a flag, and performing verification processing only when necessary.
通常動作用OSとリカバリ用OSなどの複数の対象について検証処理を行うと、検証処理に要する時間が増大することにより、システム起動時間が長くなり、結果的に、ユーザの待ち時間が増大するという課題がある。 When the verification process is performed on a plurality of targets such as the normal operation OS and the recovery OS, the time required for the verification process increases, so that the system boot time increases, and as a result, the user's waiting time increases. There are issues.
本発明の目的は、通常動作時に、プログラムの検証を行いつつ、情報処理装置を短時間で起動することができるようにすることである。 An object of the present invention is to enable an information processing apparatus to be started in a short time while verifying a program during a normal operation.
本発明の情報処理装置は、情報処理装置であって、前記情報処理装置の起動後、起動情報が第1のプログラムの起動を示す場合には、第1のプログラムの検証を行い、前記起動情報が第2のプログラムの起動を示す場合には、第2のプログラムの検証を行う検証手段と、前記検証手段による前記第1のプログラムの検証が成功した場合、前記第2のプログラムの起動指示がない場合には、前記第1のプログラムを起動する第1の起動手段と、前記検証手段による前記第1のプログラムの検証が成功した場合、前記第2のプログラムの起動指示がある場合には、前記第2のプログラムの起動を示す起動情報を記録し、前記情報処理装置を再起動する再起動手段とを有する。 An information processing apparatus according to the present invention is an information processing apparatus, and after activation of the information processing apparatus, when activation information indicates activation of a first program, the information processing apparatus verifies the first program, Indicates the activation of the second program, a verification unit for verifying the second program, and if the verification of the first program by the verification unit succeeds, an instruction for starting the second program is issued. If not, first activation means for activating the first program, and if the verification of the first program by the verification means succeeds, if there is an instruction to activate the second program, A restart unit that records start information indicating the start of the second program and restarts the information processing apparatus.
本発明によれば、通常動作時に、プログラムの検証を行いつつ、情報処理装置を短時間で起動することができる。 According to the present invention, at the time of normal operation, the information processing apparatus can be started up in a short time while verifying the program.
以下、本発明を実施するための最良の形態について図面を用いて説明する。なお、以下の実施の形態は特許請求の範囲に係る発明を限定するものでなく、また実施の形態で説明されている特徴の組み合わせの全てが発明の解決手段に必須のものとは限らない。 Hereinafter, the best mode for carrying out the present invention will be described with reference to the drawings. The following embodiments do not limit the invention according to the claims, and all combinations of the features described in the embodiments are not necessarily essential for solving the invention.
図1は、本発明の実施形態による画像形成装置100のハードウェア構成例を示す図である。画像形成装置100は、情報処理装置の一例である。中央演算処理装置(以下CPUという)101は、画像形成装置100を稼働させるためのプログラムを実行する。システムバス102は、CPU101が、他のユニットにアクセスするための通路、及び、他のユニット同士がアクセスするための通路である。
FIG. 1 is a diagram illustrating a hardware configuration example of an
ハードディスクドライブユニット(以下HDDという)103は、画像形成装置100が動作するために必要な各種プログラム、データベース、一時保存ファイルを格納している。ランダムアクセスメモリ((以下RAMという)104は、画像形成装置100のプログラムが展開され、プログラム動作時の変数や、各ユニットからダイレクトメモリアクセス((以下DMAという)で転送されるデータの格納領域を有する。
A hard disk drive unit (hereinafter referred to as an HDD) 103 stores various programs, databases, and temporary storage files necessary for the operation of the
ネットワークコントローラ105とネットワークコントローラI/F106は、画像形成装置100とネットワーク上の他の機器との間の通信を制御する。USBホストコントローラ107とUSBホストI/F108は、画像形成装置100とUSBデバイスとの間の通信を制御する。USBホストI/F108は、USBケーブルを使用してUSBデバイスと接続される。USBデバイスの形態によっては、USBケーブルは使用せず直接接続される。
The
CPLD109は、CPU101を介して、基盤回路上の信号線のローレベル/ハイレベルの状況を読み取り、CPU101が上記のローレベル/ハイレベルの状況の設定を変更可能にする。CPLD109は、プログラマブルなロジックデバイスであり、画像形成装置100上で電力のオフ/オンを制御可能にする。CPLD109の内部には、General Purpose Input Output(以下GPIOという)が存在する。CPU101は、そのGPIOレジスタの設定値を変更することで、電力のオフ/オンを可能としている。
The CPLD 109 reads the low-level / high-level status of the signal line on the board circuit via the
ディスプレイ111は、画像形成装置100の動作状況をユーザ等が確認できるように表示する。ディスプレイコントローラ110は、ディスプレイ111の表示を制御する。入力部113は、画像形成装置100へのユーザからの指示を受け付ける。入力部コントローラ112は、入力部113を制御する。入力部113は、例えば、キーボード、マウス、テンキー、カーソルキー、又はタッチパネルである。入力部113がタッチパネルである場合は、物理的にはディスプレイ111の表面に入力部113が装着される。
The display 111 displays an operation state of the
リアルタイムクロック(以下RTCという)114は、画像形成装置100の時計機能、アラーム機能、及びタイマ機能等を有する。不揮発メモリ115は、書き換え可能なメモリである。不揮発メモリ115は、BIOS(Basic Input Output System)121を保存する。通電開始直後に、CPU101は、BIOS121の処理を開始する。また、不揮発メモリ115は、データ領域を有し、後述する署名検証処理に使用する公開鍵や特殊起動フラグ120を保存する。
The real-time clock (hereinafter, referred to as RTC) 114 has a clock function, an alarm function, a timer function, and the like of the
スキャナ117は、スキャナI/F116を介して、システムバス102に接続される。スキャナ117は、原稿の画像を光学的に読み取り、画像データを生成する。プリンタ119は、プリンタI/F118を介して、システムバス102に接続される。プリンタ119は、画像データを印刷する。
The
図2は、HDD103に保存されているデータを示す図である。HDD103は、2種類のオペレーティングシステム(以下OSという)201,202と、ローダ(Loader)203を保存し、2種類の保存領域204,205を有する。OS201は、通常動作用途に使用されるOSである。OS202は、OS201のアップデートや破損時のリカバリを想定したリカバリOSである。ローダ203は、入力部113やフラグ情報の有無により、OS201及び202のいずれを起動するかを判断する。保存領域204及び205には、それぞれ、プリント処理などを行うファームウェア、設定ファイル、ユーザデータが保存される。保存領域204は、OS201が使用する領域である。保存領域205は、OS202が使用する領域である。保存領域204及び205は、その用途によって、保存されるプログラムが異なり、保存領域のサイズが異なっている。なお、前述したいずれのデータについても、後述する検証処理で判断材料とするための、予め計算され導出された電子署名情報が付与されている。
FIG. 2 is a diagram illustrating data stored in the
図3は、画像形成装置100の起動処理を示すフローチャートである。画像形成装置100の起動後、画像形成装置100は、図3のフローチャートの処理を行う。以下、画像形成装置100の制御方法を説明する。
FIG. 3 is a flowchart illustrating a startup process of the
まず、ステップS301では、CPU101は、不揮発メモリ115上に格納されているBIOS121を読み出し、BIOS121の処理を実施する。CPU101は、BIOS121の処理により、ローダ203、OS201およびOS202に対して署名検証処理を行い、その結果によって、改ざんの有無を判定する。ステップS301の詳細は、後に図4を参照しながら説明する。
First, in step S301, the
次に、ステップS302では、CPU101は、BIOS121の処理により、HDD103上のローダ203を読み出し、ローダ203の処理を行う。CPU101は、ローダ203の処理により、OS201及び202のいずれを起動するかを判断し、その判断結果に基づいて、OS201及び202のいずれかとそれに対応する格納領域204又は205のファームウェア等を読み出す。ステップS302の詳細は、後に図5を参照しながら説明する。
Next, in step S302, the
次に、ステップS303では、CPU101は、ステップS302で読み出したOSの処理により、図1に記載の各ハードウェアブロックの初期化を行い、使用可能な状態とする。
Next, in step S303, the
次に、ステップS304では、CPU101は、ハードウェアブロックの初期化完了後、OSの処理により、各種ファームウェアの起動処理を開始し、画像形成装置100が備える機能を実行可能な状態とする。
Next, in step S304, after the initialization of the hardware block is completed, the
図4は、図3のステップS301のCPU101が起動するBIOS121の処理を示すフローチャートである。本実施形態では、BIOS121がOSとローダの検証処理を行う例について説明する。検証処理は、不揮発メモリ115上に保存された公開鍵を使用し、署名検証処理を行うが、その他の手法を用いてもよい。本実施形態では、ステップS402、S403、S404は、同じ手法で検証を行う例を示しているが、それぞれ異なる手法を用いてもよい。
FIG. 4 is a flowchart showing the processing of the
まず、ステップS401では、CPU101は、不揮発メモリ115に特殊起動フラグ120が記録されているか否かをチェックする。特殊起動フラグ120は、起動情報である。初期時には、特殊起動フラグ120が記録されていない。特殊起動フラグ120の記録処理は、後に図5を参照しながら説明する。CPU101は、特殊起動フラグ120が記録されている場合(S401のYes)には、特殊起動フラグ120がリカバリ用OS202の起動を示すので、リカバリ用OS202の起動をユーザが指示したと判断し、ステップS402に進む。一方、CPU101は、特殊起動フラグ120が記録されていない場合(S401のNo)には、特殊起動フラグ120が通常動作用OS201の起動を示すので、リカバリ用OS202の起動をユーザが指示していないと判断し、ステップS403に進む。
First, in step S401, the
ステップS402では、CPU101は、HDD103上のリカバリ用OS202に対して署名検証処理を行い、ステップS404に進む。リカバリ用OS202は、CPU101が実行するプログラムである。ステップS403では、CPU101は、HDD103上の通常動作用OS201に対して署名検証処理を行い、ステップS404に進む。通常動作用OS201は、CPU101が実行するプログラムである。
In step S402, the
ステップS404では、CPU101は、HDD103上のローダ203に対して署名検証処理を行う。ローダ203は、CPU101が実行するプログラムである。次に、ステップS405では、CPU101は、OS201及び202のいずれかの検証とローダ203の検証のうちのいずれか一方でも検証が失敗(NG)した場合(S405のYes)には、ステップS406に進む。一方、CPU101は、OS201及び202のいずれかの検証とローダ203の検証のいずれの検証も成功(OK)した場合(S405のNo)には、ステップS407に進む。
In step S404, the
ステップS406では、CPU101は、改ざんがなされたと判断し、ディスプレイ111に対してエラー表示を行うことにより、エラーを通知し、起動処理を中止する。ステップS407では、CPU101は、起動処理の継続を決定し、ローダ203をHDD103からRAM104にロードし、ローダ203を起動する。
In step S406, the
図5は、図3のステップS302のCPU101が起動するローダ203の処理を示すフローチャートである。図4のステップS405で検証結果がOKだった場合に、図5のフローチャートの処理が実施される。
FIG. 5 is a flowchart showing the processing of the
まず、ステップS501では、CPU101は、不揮発メモリ115に特殊起動フラグ120が記録されているか否かをチェックする。CPU101は、特殊起動フラグ120が記録されている場合(S501のYes)には、ステップS502に進む。一方、CPU101は、特殊起動フラグ120が記録されていない場合(S501のNo)には、ステップS504に進む。
First, in step S501, the
ステップS502では、CPU101は、リカバリOS202が図4の処理により正常であると検証されたと判断し、不揮発メモリ115上の特殊起動フラグ120を消去する。すなわち、CPU101は、通常動作用OS201の起動を示す起動情報を記録する。これにより、ユーザの指示が無いにもかかわらず、リカバリ用OS202が起動されることを防止する。次に、ステップS503では、CPU101は、HDD103上のリカバリ用OS202をRAM104にロードし、リカバリ用OS202を起動する。
In step S502, the
ステップS504では、CPU101は、通常動作用OS201が図4の処理により正常であると検証されたと判断し、ユーザによるリカバリOS202の起動指示の有無をチェックする。例えば、CPU101は、入力部113から特殊キー押下の操作を検知した場合には、ユーザによるリカバリOS202の起動指示があったと判断する。CPU101は、ユーザによるリカバリOS202の起動指示がある場合(S504のYes)には、ステップS505に進む。一方、CPU101は、ユーザによるリカバリOS202の起動指示がない場合(S504のNo)には、ステップS507に進む。
In step S <b> 504, the
ステップS505では、CPU101は、未検証のリカバリ用OS202を検証するため、不揮発メモリ115に特殊起動フラグ120を記録する。これにより、図4のステップS401の判定結果を変えることができ、CPU101は、BIOS121に対してリカバリ用OS202の検証を指示することができる。次に、ステップS506では、CPU101は、BIOS121から処理をやり直すため、画像形成装置100を再起動する。これにより、CPU101は、図3のステップS301から起動処理をやり直し、前述した通り、BIOS121においてリカバリ用OS202を検証することができ、更には、ステップS503によってリカバリ用OS202を起動することができる。
In step S505, the
ステップS507では、CPU101は、通常動作用OS201をHDD103からRAM104にロードし、通常動作用OS201を起動する。
In step S507, the
以上、図4及び図5の処理により、CPU101は、通常使用時はリカバリ用OS202の検証処理を省くことにより、検証時間の増大をOS一つ分に抑制することができる。一方で、ユーザによるリカバリ用OS202の起動指示があった場合でも、再起動を挟むものの、リカバリ用OS202の検証処理はなされるため、堅牢性は維持される。
As described above, by the processing in FIGS. 4 and 5, the
画像形成装置100は、通常動作用OS201による通常起動の起動時間の遅延を減らすことができる。また、画像形成装置100は、検証処理プログラムをBIOS121のみに組み込み、ローダ203に組み込む必要がないため、ローダ203のHDD103の使用量増加を抑制することができる。
The
CPU101は、特殊起動フラグ120がない場合には、リカバリ用OS202を検証せず、通常動作用OS201のみを検証することにより、画像形成装置100の起動時間を短縮することができる。
When there is no
また、ユーザが特殊キーを押下した場合には、CPU101は、特殊起動フラグ120を記録し、画像形成装置100を再起動する。再起動後、CPU101は、特殊起動フラグ120が記録されているので、リカバリ用OS202を検証し、特殊起動フラグ120を消去し、リカバリ用OS202を起動する。
When the user presses the special key, the
(その他の実施形態)
本発明は、上述の実施形態の1以上の機能を実現するプログラムを、ネットワーク又は記憶媒体を介してシステム又は装置に供給し、そのシステム又は装置のコンピュータにおける1つ以上のプロセッサがプログラムを読み出し実行する処理でも実現可能である。また、1以上の機能を実現する回路(例えば、ASIC)によっても実現可能である。
(Other embodiments)
The present invention supplies a program that realizes one or more functions of the above-described embodiments to a system or an apparatus via a network or a storage medium, and one or more processors in a computer of the system or the apparatus read and execute the program. This processing can be realized. Further, it can be realized by a circuit (for example, an ASIC) that realizes one or more functions.
なお、上記実施形態は、何れも本発明を実施するにあたっての具体化の例を示したものに過ぎず、これらによって本発明の技術的範囲が限定的に解釈されてはならないものである。すなわち、本発明はその技術思想、又はその主要な特徴から逸脱することなく、様々な形で実施することができる。 It should be noted that each of the above-described embodiments is merely an example of a concrete example for carrying out the present invention, and the technical scope of the present invention should not be interpreted in a limited manner. That is, the present invention can be implemented in various forms without departing from the technical idea or the main features.
100 画像形成装置、101 CPU、103 HDD、120 特殊起動フラグ、121 BIOS、201,202 OS、203 ローダ
REFERENCE SIGNS
Claims (11)
前記情報処理装置の起動後、起動情報が第1のプログラムの起動を示す場合には、第1のプログラムの検証を行い、前記起動情報が第2のプログラムの起動を示す場合には、第2のプログラムの検証を行う検証手段と、
前記検証手段による前記第1のプログラムの検証が成功した場合、前記第2のプログラムの起動指示がない場合には、前記第1のプログラムを起動する第1の起動手段と、
前記検証手段による前記第1のプログラムの検証が成功した場合、前記第2のプログラムの起動指示がある場合には、前記第2のプログラムの起動を示す起動情報を記録し、前記情報処理装置を再起動する再起動手段と
を有することを特徴とする情報処理装置。 An information processing device,
After the information processing apparatus is activated, if the activation information indicates the activation of the first program, the first program is verified. If the activation information indicates the activation of the second program, the second program is validated. Verification means for verifying the program of
When the verification of the first program by the verification unit succeeds, when there is no instruction to start the second program, a first activation unit that activates the first program;
When the verification of the first program by the verification means is successful, and when there is a start instruction of the second program, start information indicating the start of the second program is recorded, and the information processing apparatus is An information processing apparatus, comprising: restart means for restarting.
前記第2のプログラムは、第2のオペレーティングシステムであることを特徴とする請求項1〜5のいずれか1項に記載の情報処理装置。 The first program is a first operating system,
The information processing apparatus according to claim 1, wherein the second program is a second operating system.
前記検証手段による前記第1のオペレーティングシステムと前記ローダの検証が成功した場合、又は前記検証手段による前記第2のオペレーティングシステムと前記ローダの検証が成功した場合、前記ローダを起動する第3の起動手段をさらに有することを特徴とする請求項6に記載の情報処理装置。 The verification means verifies the loader,
When the verification of the first operating system and the loader by the verification unit succeeds, or when the verification of the second operating system and the loader by the verification unit succeeds, a third activation that activates the loader. 7. The information processing apparatus according to claim 6, further comprising a unit.
検証手段により、前記情報処理装置の起動後、起動情報が第1のプログラムの起動を示す場合には、第1のプログラムの検証を行い、前記起動情報が第2のプログラムの起動を示す場合には、第2のプログラムの検証を行う検証ステップと、
第1の起動手段により、前記検証ステップで前記第1のプログラムの検証が成功した場合、前記第2のプログラムの起動指示がない場合には、前記第1のプログラムを起動する第1の起動ステップと、
再起動手段により、前記検証ステップで前記第1のプログラムの検証が成功した場合、前記第2のプログラムの起動指示がある場合には、前記第2のプログラムの起動を示す起動情報を記録し、前記情報処理装置を再起動する再起動ステップと
を有することを特徴とする情報処理装置の制御方法。 A method for controlling an information processing device, comprising:
The verification means verifies the first program when the activation information indicates the activation of the first program after the activation of the information processing apparatus, and verifies the activation of the first program when the activation information indicates the activation of the second program. Comprises a verification step of verifying a second program;
A first activating step for activating the first program if the first activating means succeeds in the verification of the first program in the verifying step and if there is no instruction to activate the second program; When,
When the verification of the first program is successful in the verification step by the restart unit, if there is an instruction to start the second program, the start information indicating the start of the second program is recorded, And a restarting step of restarting the information processing apparatus.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2018188111A JP2020057250A (en) | 2018-10-03 | 2018-10-03 | Information processor, and control method and program therefor |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2018188111A JP2020057250A (en) | 2018-10-03 | 2018-10-03 | Information processor, and control method and program therefor |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2020057250A true JP2020057250A (en) | 2020-04-09 |
Family
ID=70107392
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2018188111A Pending JP2020057250A (en) | 2018-10-03 | 2018-10-03 | Information processor, and control method and program therefor |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP2020057250A (en) |
-
2018
- 2018-10-03 JP JP2018188111A patent/JP2020057250A/en active Pending
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP7059127B2 (en) | Information processing device that detects tampering with software executed at startup and its control method | |
US20140149644A1 (en) | Electronic apparatus, method of updating firmware, and computer-readable recording medium | |
US8949816B2 (en) | Firmware updating method, image forming apparatus, and storage medium | |
US11928217B2 (en) | Information processing apparatus, control method of information processing apparatus, and storage medium | |
JP7321795B2 (en) | Information processing device, information processing method and program | |
JP7608211B2 (en) | Information processing device, information processing method, and program | |
JP2020160747A (en) | Information processing device, control method therefor, and program | |
WO2010113282A1 (en) | A reconfigurable information processing device having a verification function and a control method therefor | |
JP7374780B2 (en) | Information processing device and method of controlling the information processing device | |
US11106797B2 (en) | Data processing apparatus, image processing apparatus and method for verifying and restoring operating system in activation mode | |
JP2020057250A (en) | Information processor, and control method and program therefor | |
JP2020082441A (en) | Image formation device, control method and program of the same | |
JP2020086516A (en) | Information processing device, control method of information processing device, and program | |
JP7696707B2 (en) | Information processing device, information processing method, and program | |
JP2019128775A (en) | Information processing device, control method therefor, and program | |
JP2018156230A (en) | Information processor | |
CN111382009B (en) | Automatic system maintenance method and computer equipment with automatic maintenance function | |
JP2022157063A (en) | Information processing device, information processing method and program | |
JP7322233B2 (en) | Information processing device and tampering detection method for detecting tampering of software executed at startup | |
JP2017102887A (en) | Information processing device, start method, and start program | |
JP7614881B2 (en) | Information processing device | |
US12323536B2 (en) | Information processing apparatus and control method for information processing apparatus | |
JP2025033167A (en) | Information processing device, method for controlling information processing device, and program | |
JP2019200660A (en) | Information processing apparatus, method for controlling information processing apparatus, and program | |
JP2024058152A (en) | Information processing apparatus and control method thereof |