JP2021018594A - 情報処理装置、その制御方法、及びプログラム - Google Patents

情報処理装置、その制御方法、及びプログラム Download PDF

Info

Publication number
JP2021018594A
JP2021018594A JP2019133751A JP2019133751A JP2021018594A JP 2021018594 A JP2021018594 A JP 2021018594A JP 2019133751 A JP2019133751 A JP 2019133751A JP 2019133751 A JP2019133751 A JP 2019133751A JP 2021018594 A JP2021018594 A JP 2021018594A
Authority
JP
Japan
Prior art keywords
firmware
storage device
sub
information processing
stored
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
JP2019133751A
Other languages
English (en)
Inventor
隆史 藤井
Takashi Fujii
隆史 藤井
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 JP2019133751A priority Critical patent/JP2021018594A/ja
Publication of JP2021018594A publication Critical patent/JP2021018594A/ja
Pending legal-status Critical Current

Links

Images

Landscapes

  • Accessory Devices And Overall Control Thereof (AREA)
  • Facsimiles In General (AREA)

Abstract

【課題】ファームウェアのバックアップメモリを設けることなく、不正なファームウェアを正当なファームウェアに復旧することができる情報処理装置を提供する。【解決手段】画像形成装置は、SSDから読み出した正当なサブファームウェアを実行した後の所定のタイミングでSSDに格納されたサブファームウェアが不正なファームウェアであるか否かを判別する。画像形成装置は、SSDに格納されたサブファームウェアが不正なファームウェアである場合、SSDに格納された不正なサブファームウェアを、サブCPUメモリで実行された正当なサブファームウェアに更新する。【選択図】図8

Description

本発明は、情報処理装置、その制御方法、及びプログラムに関する。
SSD等の記憶デバイスにファームウェアを格納する情報処理装置としての画像形成装置が知られている。画像形成装置は、所定のタイミング、例えば、通常動作状態から省電力状態に移行する際に、記憶デバイスに格納されたファームウェアが改ざんされていない正当なファームウェアであるか否かを判別する。上記ファームウェアが改ざんされた不正なファームウェアである場合、画像形成装置は、その旨を示す警告通知を表示する(例えば、特許文献1参照)。警告通知が表示された画像形成装置では、格納された不正なファームウェアを改竄される前の元の状態に戻す処置が施される。このような事態に備え、例えば、画像形成装置にファームウェアのバックアップメモリを設け、改ざんを検知した際にバックアップメモリに格納されたファームウェアを使ってファームウェアを元の状態に復旧させることが考えられる。
特開2019−18459号公報
しかしながら、上述した方法では、画像形成装置にファームウェアのバックアップメモリを設ける必要があり、部品点数が増えてしまう。
本発明の目的は、ファームウェアのバックアップメモリを設けることなく、不正なファームウェアを正当なファームウェアに復旧することができる情報処理装置、その制御方法、及びプログラムを提供することにある。
上記目的を達成するために、本発明の情報処理装置は、ファームウェアを格納する記憶デバイスを備える情報処理装置であって、前記記憶デバイスから読み出したファームウェアが正当なファームウェアである場合、当該ファームウェアの実行を制御する制御手段と、前記記憶デバイスから読み出したファームウェアを実行した後の所定のタイミングで前記記憶デバイスに格納されたファームウェアが不正なファームウェアであるか否かを判別する判別手段と、前記記憶デバイスに格納されたファームウェアが不正なファームウェアである場合、前記記憶デバイスに格納された不正なファームウェアを前記制御手段によって実行された正当なファームウェアに更新する更新手段とを備えることを特徴とする。
本発明によれば、ファームウェアのバックアップメモリを設けることなく、不正なファームウェアを正当なファームウェアに復旧することができる。
本発明の実施の形態に係る情報処理装置としての画像形成装置の構成を概略的に示すブロック図である。 図1のコントローラの構成を概略的に示すブロック図である。 図2のメインCPUメモリ及びサブCPUメモリの構成を概略的に示すブロック図である。 ROM及びSSDに格納されたデータの一例を示す図である。 図1のメインCPUによって実行される起動制御処理の手順を示すフローチャートである。 図1の操作部に表示されたエラー画面の一例を示す図である。 図1のサブCPUによって実行される制御処理の手順を示すフローチャートである。 図1のメインCPUによって実行されるファームウェア検証処理の手順を示すフローチャートである。
以下、本発明の実施の形態について図面を参照しながら詳述する。なお、本実施の形態では、情報処理装置としての画像形成装置に本発明を適用した場合について説明するが、本発明は画像形成装置に限られない。例えば、スマートフォン、タブレット端末、PCといった情報処理装置に本発明を適用してもよい。
図1は、本発明の実施の形態に係る情報処理装置としての画像形成装置101の構成を概略的に示すブロック図である。図1において、画像形成装置101は、コントローラ103、スキャナ104、プリンタ107、操作部111、HDD112、及びSSD113を備える。コントローラ103は、スキャナ104、プリンタ107、操作部111、HDD112、及びSSD113と接続されている。
画像形成装置101は、例えば、プリント機能、スキャン機能、通信機能等の複数の機能を備えるMFPである。画像形成装置101は、例えば、LAN102を介して外部装置114と画像データ等を送受信する。また、画像形成装置101は、LAN102を介して外部装置114からジョブの実行指示等を受け付ける。
コントローラ103は、画像形成装置101全体を統括的に制御する。スキャナ104は、原稿給紙ユニット105及びスキャナユニット106を備える。スキャナ104は、原稿を光学的に読み取り、読み取った原稿の画像データを生成し、生成した画像データをコントローラ103へ送信する。原稿給紙ユニット105は、載置された原稿束を自動的に逐次入れ替える。スキャナユニット106は、原稿を光学的に読み取り、読み取った原稿の画像をデジタルデータである画像データに変換する。
プリンタ107は、給紙ユニット108、マーキングユニット109、及び排紙ユニット110を備え、画像データを用紙に印刷する。給紙ユニット108は、収納された用紙を一枚ずつマーキングユニット109へ給紙する。マーキングユニット109は、給紙ユニット108によって給紙された用紙に画像データを印刷する。排紙ユニット110は、印刷済の用紙を排紙する。操作部111は、表示部(不図示)及び複数の操作ボタン(不図示)を備える。操作部111は、ジョブの実行指示や画像形成装置101の設定指示等をユーザから受け付け、また、設定画面やエラー画面等を表示部に表示する。
HDD112及びSSD113は、電力が供給されているか否かに関わらずデータを保持可能な不揮発性の記憶デバイスである。HDD112は、画像データや制御プログラム等を格納する。SSD113は、例えば、後述する図4のメインファームウェア402、メイン電子署名403、サブファームウェア404、及びサブ電子署名405を格納する。
図2は、図1のコントローラ103の構成を概略的に示すブロック図である。図2において、コントローラ103は、メインコントローラ201及びサブコントローラ210を備える。
メインコントローラ201は、汎用的なCPUシステムである。メインコントローラ201は、メインCPU202、メインCPUメモリ203、ROM204、ディスクコントローラ205、ネットワークI/F206、操作部I/F207、及びセキュリティチップ208を備える。メインCPU202、メインCPUメモリ203、ROM204、ディスクコントローラ205、ネットワークI/F206、操作部I/F207、及びセキュリティチップ208は、内部バス209を介して互いに接続されている。
メインCPU202は、画像形成装置101全体を制御する。メインCPUメモリ203は、電力が供給されている場合のみデータを保持可能な揮発性のDRAMであり、メインCPU202の主記憶メモリとして用いられる。メインCPUメモリ203は、図3(a)に示すように、メインファームウェア領域301及び画像メモリ領域302で構成される。メインファームウェア領域301は、SSD113から読み出されたメインファームウェア402を書き込むための領域である。画像メモリ領域302は、ジョブの実行に基づいて生成された画像データを一時的に格納するための領域である。
ROM204は、電力が供給されているか否かに関わらずデータを保持可能な読み取り専用の不揮発性の記憶デバイスである。ディスクコントローラ205は、HDD112及びSSD113に対するデータの読み書き制御を行う。ネットワークI/F206は、LAN102を介して接続された外部装置114と画像形成装置101のデータ通信を実現させる。操作部I/F207は、操作部111とコントローラ103を接続する。セキュリティチップ208は、画像形成装置101のファームウェアの電子署名を検証する電子署名検証機能を備え、電子署名を検証するための鍵情報を保持する。
サブコントローラ210は、メインコントローラ201より小規模な汎用CPUシステムである。サブコントローラ210は、サブCPU211、サブCPUメモリ212、画像処理プロセッサ213、スキャナI/F214、及びプリンタI/F215を備える。サブCPU211、サブCPUメモリ212、画像処理プロセッサ213、スキャナI/F214、及びプリンタI/F215は内部バス216を介して互いに接続されている。内部バス216は、バスブリッジ217を介してメインコントローラ201の内部バス209と接続されている。サブCPU211は、サブコントローラ210に関する各種制御を行う。サブCPUメモリ212は、電力が供給されている場合のみデータを保持可能な揮発性のDRAMであり、サブCPU211の主記憶メモリとして用いられる。サブCPUメモリ212は、図3(b)に示すように、サブファームウェア領域303及び画像メモリ領域304で構成される。サブファームウェア領域303は、SSD113から読み出されたサブファームウェア404を書き込むための領域である。画像メモリ領域304は、ジョブの実行に基づいて生成された画像データを一時的に格納するための領域である。画像処理プロセッサ213は、リアルタイムデジタル画像処理を行う。スキャナI/F214は、スキャナ104とコントローラ103を接続する。プリンタI/F215は、プリンタ107とコントローラ103を接続する。
画像形成装置101において、例えば、ネットワークI/F206が外部装置114からプリントジョブを実行するための画像データを受信すると、メインCPU202は、受信した画像データをメインCPUメモリ203の画像メモリ領域302に格納する。メインCPU202は、画像メモリ領域302に画像データの一部又は全てが格納されると、格納された画像データをサブCPUメモリ212の画像メモリ領域304へ転送する。次いで、メインCPU202は、サブCPU211に指示してプリンタ107によるプリント動作を開始する。サブCPU211は、プリンタI/F215を介してプリンタ107へ画像出力指示を出す。また、サブCPU211は、画像メモリ領域304に格納された画像データの格納場所を示すサブCPUメモリ212上のアドレスを画像処理プロセッサ213へ通知する。さらに、サブCPU211は、プリンタ107から受信した同期信号に従って画像データを画像処理プロセッサ213とプリンタI/F215を介してプリンタ107へ送信する。プリンタ107は、受信した画像データを用紙に印刷する。
また、図2において、画像形成装置101は、電源制御回路218及び電源ユニット219を備える。電源制御回路218は、画像形成装置101の電力状態を制御するための電気回路である。電源ユニット219は、供給されたAC電源220に基づいて画像形成装置101の各部へ電力を供給する。図2において、電源制御回路218から伸びる矢印線は信号ラインを表し、電源ユニット219から伸びる矢印線は電力ラインを表す。スキャナ/プリンタ電力221は、電源ユニット219からスキャナ104及びプリンタ107へ供給される電力である。通常状態用電力222は、画像形成装置101が通常動作状態及び省電力状態のうち通常動作状態である場合に、電源ユニット219が供給する電力である。通常状態用電力222は、例えば、画像形成装置101の通常動作状態時に動作するメインコントローラ201、サブコントローラ210、HDD112、及びSSD113へ供給される。省電力状態用電力223は、画像形成装置101が通常動作状態及び省電力状態の何れであっても、電源ユニット219が供給する電力である。省電力状態用電力223は、例えば、通常動作状態及び省電力状態の何れでも動作するメインCPUメモリ203、ネットワークI/F206、及び操作部111に供給される。画像形成装置101では、上述した各電力を供給するか否かについて電源制御回路218が個別に制御する。
電源オン信号224は、画像形成装置101を電源オフ状態から電源オン状態へ移行させることを電源制御回路218に対して指示するための信号である。電源オン信号224は、画像形成装置101の電源スイッチ(不図示)をユーザがオン操作した際に電源制御回路218へ出力される。
メインリセット信号225は、メインCPU202のリセット状態を制御する信号である。画像形成装置101が電源オン状態に移行すると、メインリセット信号225の出力が停止されてメインCPU202のリセット状態が解除され、メインCPU202が動作を開始する。メイン省電力解除信号226は、省電力状態のメインCPU202を通常動作状態に移行させるための信号である。
サブリセット信号227は、サブCPU211のリセット状態を制御する信号である。サブリセット信号227の出力が停止されてサブCPU211のリセット状態が解除されると、サブCPU211が動作を開始する。電源制御回路218は、メインコントローラ201の内部バス209に接続されている。メインCPU202は、電源制御回路218に指示してサブリセット信号227を制御する。
省電力解除信号228は、画像形成装置101を省電力状態から通常動作状態へ移行させるための信号である。電源制御回路218が省電力解除信号228を受信すると、コントローラ103は、省電力状態からの復帰動作を開始する。省電力解除信号228は、操作部111の操作又はパケットの受信に従って電源制御回路218に出力される。具体的には、ユーザによる操作部111のスイッチ(不図示)の操作を検知した際に操作部111が省電力解除信号228を電源制御回路218へ出力する。また、ネットワークI/F206がLAN102からネットワークパケットを受信した際にネットワークI/F206が省電力解除信号228を電源制御回路218へ出力する。
次に、ROM204及びSSD113に格納されたデータについて説明する。ROM204には、図4(a)に示すように、BIOS401が格納されている。BIOS401は、画像形成装置101の電源がオンされた直後にメインCPU202が最初に実行する初期プログラムである。なお、ROM204は、読み取り専用の記憶デバイスであるので、BIOS401が悪意あるユーザによって改竄されることは無い。
SSD113には、図4(b)に示すように、メインファームウェア402、メイン電子署名403、サブファームウェア404、及びサブ電子署名405が格納されている。メインファームウェア402は、メインコントローラ201を動作させるためのソフトウェアモジュールである。メインファームウェア402は、例えば、画像形成装置101が起動する際にSSD113からメインCPUメモリ203に読み出される。メインCPU202は、メインCPUメモリ203内のメインファームウェア402を実行する。メイン電子署名403は、メインファームウェア402に対応する電子署名であり、メインファームウェア402の正当性を検証する際に使用される。サブファームウェア404は、サブコントローラ210を動作させるためのソフトウェアモジュールである。サブファームウェア404は、例えば、画像形成装置101が起動する際にサブCPUメモリ212に読み出される。サブCPU211は、サブCPUメモリ212内のサブファームウェア404を実行する。サブ電子署名405は、サブファームウェア404に対応する電子署名であり、サブファームウェア404の正当性を検証する際に使用される。本実施の形態では、ファームウェアのバージョンアップ等を容易に実施可能なように、メインファームウェア402及びサブファームウェア404は、書き込み可能な記憶デバイスであるSSD113に格納されている。このため、SSD113に格納されたメインファームウェア402及びサブファームウェア404が悪意あるユーザに改ざんされる懸念がある。これに対し、本実施の形態では、画像形成装置101が起動する際に、メインファームウェア402及びサブファームウェア404の改ざんを検知する図5の起動制御処理を実行する。
図5は、図1のメインCPU202によって実行される起動制御処理の手順を示すフローチャートである。図5の処理は、画像形成装置101を電源オフ状態から電源オン状態へ移行させるためのユーザ操作、例えば、操作部111におけるユーザによる画像形成装置101の電源スイッチのオン操作を検知した際に実行される。ユーザによる画像形成装置101の電源スイッチのオン操作が検知されると、操作部111は、電源オン信号224を電源制御回路218へ出力する。電源オン信号224を受信した電源制御回路218は、画像形成装置101の各部へ電力の供給を開始する。次いで、電源制御回路218がメインリセット信号225を制御してメインCPU202のリセット状態を解除すると、メインCPU202が動作を開始し、メインCPU202が図5のステップS501の処理を実行する。なお、この時点では、電源制御回路218は、サブCPU211のリセット状態を解除せず、サブCPU211が動作を開始しないように制御する。
図5において、メインCPU202は、ROM204に格納されたBIOS401を実行し(ステップS501)、ディスクコントローラ205を初期化する。次いで、メインCPU202は、SSD113に格納されたメインファームウェア402を読み出す(ステップS502)。読み出したメインファームウェア402は、メインCPUメモリ203のメインファームウェア領域301に格納される。次いで、メインCPU202は、メイン電子署名403を取得する(ステップS503)。次いで、メインCPU202は、セキュリティチップ208の電子署名検証機能により、メイン電子署名403を用いてメインファームウェア領域301に格納されたメインファームウェア402を検証する。メインCPU202は、検証した結果からメインファームウェア402が改ざんされていない正当なファームウェア及び改ざんされた不正なファームウェアの何れであるかを判別する(ステップS504)。
ステップS504の判別の結果、メインファームウェア402が不正なファームウェアであるとき、メインCPU202は、メインファームウェア402の異常を通知する(ステップS505)。具体的に、メインCPU202は、メインファームウェア402の異常を示す図6(a)のエラー画面600を操作部111に表示する。次いで、メインCPU202は、画像形成装置101の起動を中断し、本処理を終了する。
ステップS504の判別の結果、メインファームウェア402が正当なファームウェアであるとき、メインCPU202は、メインファームウェア領域301に格納されたメインファームウェア402の実行を開始する(ステップS506)。次いで、メインCPU202は、メイン初期化処理を実行する(ステップS507)。メイン初期化処理では、ネットワークI/F206及び操作部I/F207が初期化される。次いで、メインCPU202は、ディスクコントローラ205を介してSSD113を制御し、サブファームウェア404をメインCPUメモリ203に読み出す(ステップS508)。読み出されたサブファームウェア404は、メインCPUメモリ203の画像メモリ領域302に格納される。画像形成装置101は、ジョブを実行中である場合を除いて画像メモリ領域302を使用しないので、画像メモリ領域302をサブファームウェア404の一時的な格納場所として使用する。次いで、メインCPU202は、サブ電子署名405を取得する(ステップS509)。次いで、メインCPU202は、セキュリティチップ208の電子署名検証機能により、サブ電子署名405を用いて画像メモリ領域302に格納されたサブファームウェア404を検証する。メインCPU202は、検証した結果からサブファームウェア404が正当なファームウェア及び不正なファームウェアの何れであるかを判別する(ステップS510)。
ステップS510の判別の結果、サブファームウェア404が正当なファームウェアであるとき、メインCPU202は、画像メモリ領域302に格納されたサブファームウェア404をサブCPUメモリ212へ転送する(ステップS511)。転送されたサブファームウェア404は、サブCPUメモリ212のサブファームウェア領域303に格納される。次いで、メインCPU202は、電源制御回路218を介してサブリセット信号227を制御し、サブCPU211のリセット状態を解除し(ステップS512)、本処理を終了する。リセット状態を解除されたサブCPU211は、動作を開始して、後述する図7の制御処理を実行する。
ステップS510の判別の結果、サブファームウェア404が不正なファームウェアであるとき、メインCPU202は、サブファームウェア404の異常を示す図6(b)のエラー画面601を操作部111に表示する(ステップS513)。次いで、メインCPU202は、画像形成装置101の起動を中断し、本処理を終了する。
図7は、図1のサブCPU211によって実行される制御処理の手順を示すフローチャートである。図7の処理は、ステップS512にてサブCPU211のリセット状態が解除された際に実行される。
図7において、サブCPU211は、サブファームウェア領域303に格納されたサブファームウェア404の実行を開始する(ステップS701)。このサブファームウェア404は、図5の処理にてメインCPU202によって正当なファームウェアであると判別されている。次いで、サブCPU211は、サブ初期化処理を実行する(ステップS702)。サブ初期化処理では、スキャナI/F214、プリンタI/F215、及び画像処理プロセッサ213が初期化される。次いで、サブCPU211は、プリンタI/F215を介してプリンタ107とネゴシエーションを実行し(ステップS703)、スキャナI/F214を介してスキャナ104とネゴシエーションを実行する(ステップS704)。次いで、サブCPU211は、プリンタ107の準備が完了したか否かを判別する(ステップS705)。プリンタ107の準備は、プリンタ107がジョブを実行可能となるために行われるプリンタ107の各種調整動作である。プリンタ107の準備を完了すると(ステップS705でYES)、サブCPU211は、スキャナ104の準備を完了したか否かを判別する(ステップS706)。スキャナ104の準備は、スキャナ104がジョブを実行可能となるために行われるスキャナ104の各種調整動作である。スキャナ104の準備を完了すると(ステップS706でYES)、サブCPU211は、本処理を終了する。
このように、画像形成装置101は、起動時にメインファームウェア402及びサブファームウェア404の正当性を検証し、その何れもが正当である場合のみメインファームウェア402及びサブファームウェア404を実行する。これにより、画像形成装置101の起動時に不正なファームウェアが実行されるのを防止することができる。
なお、本実施の形態では、ファームウェアの正当性の検証に電子署名を用いる構成について説明したが、この構成に限られない。例えば、メインファームウェア402及びサブファームウェア404の各ハッシュ値を読み取り専用の不揮発性の記憶デバイスに保存し、このハッシュ値を用いて各ファームウェアの正当性を検証しても良い。具体的に、画像形成装置101は、上記ハッシュ値と起動時においてSSD113に格納されているメインファームウェア402及びサブファームウェア404の各ハッシュ値とを比較し、差分の有無に基づいてファームウェアの正当性を検証する。
ここで、例えば、上述した図5の起動制御処理及び図7の制御処理を実行した後に、SSD113に格納されたメインファームウェア402及びサブファームウェア404が悪意あるユーザによって改ざんされることがある。このように改ざんされた不正なファームウェアを、ファームウェアのバックアップメモリ等を設けることなく、正当なファームウェアに復旧可能な仕組みが求められている。これに対し、本実施の形態では、図8のファームウェア検証処理を実行する。
図8は、図1のメインCPU202によって実行されるファームウェア検証処理の手順を示すフローチャートである。図8の処理は、SSD113から読み出したメインファームウェア402及びサブファームウェア404を実行した後の所定のタイミング、例えば、画像形成装置101が通常動作状態から省電力状態へ移行する直前に実行される。画像形成装置101は、起動してから予め設定された所定の時間、操作部111のユーザ操作やジョブの実行指示を受け付けない場合に通常動作状態から省電力状態へ移行する。
図8において、メインCPU202は、ディスクコントローラ205を制御し、SSD113に格納されたファームウェア、例えば、サブファームウェア404をメインCPUメモリ203の画像メモリ領域302に読み出す(ステップS801)。このサブファームウェア404は、画像形成装置101を省電力状態から通常動作状態へ復帰させる際に用いられる。画像形成装置101は、省電力状態への移行時には、画像形成処理に関するジョブを実行しておらず、画像メモリ領域302を使用していないので、画像メモリ領域302をサブファームウェア404の一時的な格納場所として使用する。次いで、メインCPU202は、サブ電子署名405を取得する(ステップS802)。次いで、メインCPU202は、セキュリティチップ208の電子署名検証機能により、サブ電子署名405を用いて画像メモリ領域302に格納されたサブファームウェア404を検証する。メインCPU202は、検証した結果からサブファームウェア404が正当なファームウェア及び不正なファームウェアの何れであるかを判別する(ステップS803)。
ステップS803の判別の結果、サブファームウェア404が正当なファームウェアであるとき、メインCPU202は、本処理を終了する。
ステップS803の判別の結果、サブファームウェア404が不正なファームウェアであるとき、メインCPU202は、サブCPUメモリ212のサブファームウェア領域303に格納されたサブファームウェア404をメインCPUメモリ203に読み出す(ステップS804)。読み出されたサブファームウェア404は、図5の起動制御処理にて正当なファームウェアであると判別されているファームウェアである。このサブファームウェア404は、メインCPUメモリ203の画像メモリ領域302に格納される。次いで、メインCPU202は、SSD113に格納された不正なサブファームウェア404を、メインCPUメモリ203の画像メモリ領域302に保持された正当なサブファームウェア404に更新し(ステップS805)、本処理を終了する。その後、メインCPU202は、電源制御回路218を制御して画像形成装置101を省電力状態へ移行させる。電源制御回路218は、スキャナ/プリンタ電力221及び通常状態用電力222の通電を停止し、省電力状態用電力223の通電を維持する。画像形成装置101が省電力状態である間、メインCPUメモリ203への通電が維持され、画像メモリ領域302に格納されたサブファームウェア404は保持される。
上述した実施の形態によれば、SSD113から読み出した正当なサブファームウェア404を実行した後の所定のタイミングでSSD113に格納されたサブファームウェア404が不正なファームウェアであるか否かが判別される。SSD113に格納されたサブファームウェア404が不正なファームウェアである場合、SSD113に格納された不正なサブファームウェア404が、実行された正当なサブファームウェア404に更新される。これにより、ファームウェアのバックアップメモリを設けることなく、不正なファームウェアを正当なファームウェアに復旧することができる。
また、上述した実施の形態では、SSD113から読み出した正当なサブファームウェア404は、メインCPUメモリ203に保持される。これにより、ファームウェアのバックアップメモリを設けることなく、正当なサブファームウェア404を保持することができる。
さらに、上述した実施の形態では、所定のタイミングは、画像形成装置101が省電力状態に移行する直前である。これにより、画像形成装置101が省電力状態へ移行した際にメインCPUメモリ203への電力の供給が停止される構成であっても、メインCPUメモリ203に格納されたデータが消失する前に、SSD113に格納された不正なサブファームウェア404を正当なサブファームウェア404に復旧することができる。
上述した実施の形態では、画像形成装置101が通常動作状態から省電力状態へ移行しても、メインCPUメモリ203への電力の供給が維持される。これにより、画像形成装置101が省電力状態へ移行しても、正当なサブファームウェア404を保持することができる。
上述した実施の形態では、サブファームウェア404は、画像形成装置101が省電力状態から通常動作状態へ復帰する際に使用される。これにより、省電力状態から通常動作状態へ復帰する際に不正なサブファームウェア404が実行されるのを防止することができる。
以上、本発明について、上述した実施の形態を用いて説明したが、本発明は上述した実施の形態に限定されるものではない。例えば、画像形成装置101が起動した後に予め設定された間隔で図8のファームウェア検証処理が実行されても良い。これにより、不正なファームウェアを正当なファームウェアに復旧する処理を定期的に実施することができる。
また、上述した実施の形態では、ステップS801にてSSD113からサブファームウェア404が読み出される場合について説明したが、メインファームウェア402が読み出されても良い。この場合、メインCPU202は、メイン電子署名403を取得し(ステップS802)、メイン電子署名403を用いて画像メモリ領域302に格納されたメインファームウェア402を検証する。メインCPU202は、検証した結果からメインファームウェア402が正当なファームウェア及び不正なファームウェアの何れであるかを判別する(ステップS803)。ステップS803の判別の結果、メインファームウェア402が正当なファームウェアであるとき、ファームウェア検証処理を終了する。ステップS803の判別の結果、メインファームウェア402が不正なファームウェアであるとき、メインCPU202は、SSD113に格納された不正なメインファームウェア402を、メインCPUメモリ203のメインファームウェア領域301に保持された正当なメインファームウェア402に更新し(ステップS805)、ファームウェア検証処理を終了する。このように処理することで、上述した実施の形態と同様の効果を奏することができる。
本発明は、上述の実施の形態の1以上の機能を実現するプログラムをネットワーク又は記憶媒体を介してシステム又は装置に供給し、該システム又は装置のコンピュータにおける1つ以上のプロセッサがプログラムを読み出して実行する処理でも実現可能である。また、本発明は、1以上の機能を実現する回路(例えば、ASIC)によっても実現可能である。
101 画像形成装置
113 SSD
202 メインCPU
203 メインCPUメモリ
402 メインファームウェア
404 サブファームウェア

Claims (8)

  1. ファームウェアを格納する記憶デバイスを備える情報処理装置であって、
    前記記憶デバイスから読み出したファームウェアが正当なファームウェアである場合、当該ファームウェアの実行を制御する制御手段と、
    前記記憶デバイスから読み出したファームウェアを実行した後の所定のタイミングで前記記憶デバイスに格納されたファームウェアが不正なファームウェアであるか否かを判別する判別手段と、
    前記記憶デバイスに格納されたファームウェアが不正なファームウェアである場合、前記記憶デバイスに格納された不正なファームウェアを前記制御手段によって実行された正当なファームウェアに更新する更新手段とを備えることを特徴とする情報処理装置。
  2. 前記記憶デバイスから読み出したファームウェアは、前記記憶デバイスと異なる他の記憶デバイスに保持され、
    前記更新手段は、前記記憶デバイスに格納された不正なファームウェアを前記他の記憶デバイスに保持された正当なファームウェアに更新することを特徴とする請求項1記載の情報処理装置。
  3. 前記他の記憶デバイスは、揮発性の記憶デバイスであり、
    前記所定のタイミングは、前記情報処理装置が省電力状態に移行する直前であることを特徴とする請求項2記載の情報処理装置。
  4. 前記情報処理装置が前記省電力状態へ移行しても、前記他の記憶デバイスへの電力の供給が維持されることを特徴とする請求項3記載の情報処理装置。
  5. 前記ファームウェアは、前記情報処理装置を前記省電力状態から通常動作状態へ復帰させる際に使用されることを特徴とする請求項3又は4記載の情報処理装置。
  6. 前記判別手段は、前記記憶デバイスから読み出したファームウェアを実行した後に予め設定された所定の間隔で前記記憶デバイスに格納されたファームウェアが不正なファームウェアであるか否かを判別することを特徴とする請求項1乃至5のいずれか1項に記載の情報処理装置。
  7. ファームウェアを格納する記憶デバイスを備える情報処理装置の制御方法であって、
    前記記憶デバイスから読み出したファームウェアが正当なファームウェアである場合、当該ファームウェアの実行を制御する制御ステップと、
    前記記憶デバイスから読み出したファームウェアを実行した後の所定のタイミングで前記記憶デバイスに格納されたファームウェアが不正なファームウェアであるか否かを判別する判別ステップと、
    前記記憶デバイスに格納されたファームウェアが不正なファームウェアである場合、前記記憶デバイスに格納された不正なファームウェアを前記制御ステップにて実行された正当なファームウェアに更新する更新ステップとを有することを特徴とする情報処理装置の制御方法。
  8. ファームウェアを格納する記憶デバイスを備える情報処理装置の制御方法をコンピュータに実行させるプログラムであって、
    前記情報処理装置の制御方法は、
    前記記憶デバイスから読み出したファームウェアが正当なファームウェアである場合、当該ファームウェアの実行を制御する制御ステップと、
    前記記憶デバイスから読み出したファームウェアを実行した後の所定のタイミングで前記記憶デバイスに格納されたファームウェアが不正なファームウェアであるか否かを判別する判別ステップと、
    前記記憶デバイスに格納されたファームウェアが不正なファームウェアである場合、前記記憶デバイスに格納された不正なファームウェアを前記制御ステップにて実行された正当なファームウェアに更新する更新ステップとを有することを特徴とするプログラム。
JP2019133751A 2019-07-19 2019-07-19 情報処理装置、その制御方法、及びプログラム Pending JP2021018594A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2019133751A JP2021018594A (ja) 2019-07-19 2019-07-19 情報処理装置、その制御方法、及びプログラム

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2019133751A JP2021018594A (ja) 2019-07-19 2019-07-19 情報処理装置、その制御方法、及びプログラム

Publications (1)

Publication Number Publication Date
JP2021018594A true JP2021018594A (ja) 2021-02-15

Family

ID=74566045

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2019133751A Pending JP2021018594A (ja) 2019-07-19 2019-07-19 情報処理装置、その制御方法、及びプログラム

Country Status (1)

Country Link
JP (1) JP2021018594A (ja)

Similar Documents

Publication Publication Date Title
KR102327309B1 (ko) 정보 처리장치 및 정보 처리장치의 제어방법
US11669609B2 (en) Information processing apparatus, control method of the same, and storage medium
US11010153B2 (en) Information processing apparatus that detects falsification of a program, method of controlling the same, and storage medium
US20200201622A1 (en) Information processing apparatus and method
JP2020003957A (ja) 起動時に実行されるソフトウェアの改ざんを検知する情報処理装置及び改ざん検知方法
JP2019159892A (ja) 情報処理装置及び情報処理方法
JP2019128792A (ja) 画像処理装置、その制御方法、及びプログラム
JP7170482B2 (ja) 情報処理装置及びその制御方法、並びにプログラム
JP2022135443A (ja) 情報処理装置、情報処理方法及びプログラム
JP7321795B2 (ja) 情報処理装置、情報処理方法およびプログラム
JP7134670B2 (ja) 画像形成装置、及び、画像形成装置の制御方法
JP2021018594A (ja) 情報処理装置、その制御方法、及びプログラム
JP6773000B2 (ja) 情報処理装置、改ざん検出方法
JP2020082441A (ja) 画像形成装置、その制御方法、及びプログラム
JP7289641B2 (ja) 情報処理装置、およびその制御方法
KR102467636B1 (ko) 정보 처리장치, 정보 처리장치의 제어방법, 및 기억매체
JP7210238B2 (ja) 情報処理装置、情報処理装置の制御方法、及び、プログラム
JP2020053002A (ja) 情報処理装置とその制御方法、及びプログラム
JP2010099873A (ja) 情報処理システム、情報処理プログラムおよび情報処理プログラムを記録する記録媒体
JP2021140601A (ja) 情報処理装置、その制御方法、及びプログラム
JP7322233B2 (ja) 起動時に実行されるソフトウェアの改ざんを検知する情報処理装置及び改ざん検知方法
US11126728B2 (en) Electronic apparatus enabling omission of software tampering detection processing at activation
JP7178839B2 (ja) 情報処理装置及びその制御方法、並びにプログラム
US20220382533A1 (en) Information processing apparatus and control method of the same
JP2018124611A (ja) 外部メディア処理装置およびプログラム