(57)【要約】【課題】実行プログラムデータの検査をより適切な時期に実行することが可能となる情報処理装置、検査方法、及び検査プログラムを提供する。【解決手段】メインＣＰＵ１１０は、複合機１００の状態を、Ｒｅａｄｙ状態と、Ｒｅａｄｙ状態より消費電力が低いＤｅｅｐＳｌｅｅｐ状態と、シャットダウン状態と、に切換可能である。そしてメインＣＰＵ１１０は、複合機１００の状態をＲｅａｄｙ状態から低消費電力状態に切換えるときに、Ｒｅａｄｙ時制御プログラム１３１、Ｒｅａｄｙ時制御プログラムの圧縮データ１２３及びＤｅｅｐＳｌｅｅｐ時制御プログラム１２４に対する署名チェックを実行する。【選択図】  図１
2020108073.tif 000002
【特許請求の範囲】
【請求項１】
実行プログラムデータを記憶した記憶部と、制御部と、を備えた情報処理装置であって、
前記制御部は、前記情報処理装置の状態を、
通常状態と、
前記通常状態より消費電力が低い低消費電力状態と、
シャットダウン状態と、に切換可能であり、
前記制御部は、前記情報処理装置の状態を前記通常状態から前記低消費電力状態に切換えるときに、前記実行プログラムデータに対する検査を行う検査処理を実行する
ことを特徴とする情報処理装置。
【請求項２】
前記制御部は、
前記情報処理装置を前記シャットダウン状態から起動させるときに、前回の前記通常状態から前記低消費電力状態への切換において前記検査処理を実行したか否かを判断する判断処理を実行し、
前記判断処理にて肯定判断した場合、前記情報処理装置を前記シャットダウン状態から起動させるときに、前記検査処理を省略する
ことを特徴とする請求項１に記載の情報処理装置。
【請求項３】
前記記憶部は、
前記実行プログラムデータを記憶し、書込可能状態と書込制限状態に切換可能な実行プログラムデータ記憶部を含み、
前記制御部は、
前記情報処理装置の状態を前記通常状態から前記低消費電力状態に切換えるときに、前記実行プログラムデータ記憶部を前記書込可能状態から前記書込制限状態へ切換える
ことを特徴とする請求項１又は２に記載の情報処理装置。
【請求項４】
前記実行プログラムデータ記憶部は、
前記書込可能状態のときより、前記書込制限状態のときの方が、消費電力が低い
ことを特徴とする請求項３に記載の情報処理装置。
【請求項５】
前記実行プログラムデータは、実行プログラム圧縮データと、前記実行プログラム圧縮データが展開されることにより生成される実行プログラム展開データと、の少なくとも一つを含み、
前記記憶部は、前記実行プログラム圧縮データを記憶し、
前記制御部は、前記情報処理装置を前記シャットダウン状態から起動させるときに、前記実行プログラム圧縮データを展開して前記実行プログラム展開データを生成し、前記実行プログラム展開データを前記記憶部に記憶させ、
前記検査処理は、前記実行プログラム圧縮データに対する検査処理と、前記実行プログラム展開データに対する検査処理と、を含み、
前記制御部は、前記情報処理装置を前記通常状態から前記低消費電力状態に切換えるときに、前記検査処理により、前記実行プログラム圧縮データに対する検査及び前記実行プログラム展開データに対する検査を行う
ことを特徴とする請求項３又は４に記載の情報処理装置。
【請求項６】
前記制御部は、
前記情報処理装置を前記通常状態から前記低消費電力状態に切換えるとき、前記検査処理において前記実行プログラムデータに異常があると判断した場合には、エラーを報知する
ことを特徴とする請求項１乃至５のいずれか１項に記載の情報処理装置。
【請求項７】
前記制御部は、
前記情報処理装置を前記通常状態から前記低消費電力状態に切換えるとき、前記検査処理において前記実行プログラムデータに異常があると判断した場合には、前記情報処理装置を前記シャットダウン状態へ切換える
ことを特徴とする請求項１乃至６のいずれか１項に記載の情報処理装置。
【請求項８】
前記制御部は、
前記情報処理装置を前記通常状態から前記低消費電力状態に切換えるとき、前記検査処理において、ジョブを受け付けた場合には、前記検査処理を中断する
ことを特徴とする請求項１乃至７のいずれか１項に記載の情報処理装置。
【請求項９】
前記制御部は、
前記検査処理の中断後の最初の前記情報処理装置の起動時に、中断した前記検査処理を実行する
ことを特徴とする請求項８に記載の情報処理装置。
【請求項１０】
実行プログラムデータを記憶した記憶部と、制御部と、を備えた情報処理装置であって、通常状態と、前記通常状態より消費電力が低い低消費電力状態と、シャットダウン状態と、に切換可能な情報処理装置を前記通常状態から前記低消費電力状態に切換えるときに、前記実行プログラムデータに対する検査を行う検査工程
を備えることを特徴とする検査方法。
【請求項１１】
実行プログラムデータを記憶した記憶部と、制御部と、を備えた情報処理装置であって、通常状態と、前記通常状態より消費電力が低い低消費電力状態と、シャットダウン状態と、に切換可能な情報処理装置に、
前記情報処理装置を前記通常状態から前記低消費電力状態に切換えるときに、前記実行プログラムデータに対する検査を行う検査処理
を実行させる検査プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、署名チェック等のセキュリティチェックを行う技術に関するものである。
【背景技術】
【０００２】
従来、署名チェック等のセキュリティチェックを行う技術が種々提案されている。
【０００３】
この種の技術として、例えば特許文献１に記載された改ざん検知機能付きコンピュータシステムでは、コンピュータシステムの起動時に署名チェックを行って、ファイル（実行プログラム等）の改ざんの検査を行なうようにしている。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特開平１０−３３３９０２号公報
【発明の概要】
【発明が解決しようとする課題】
【０００５】
しかし、上記従来の技術では、実行プログラムデータに対する検査が、システムの起動時のみ行われているので、実行プログラムデータに対する検査を適切な時期に実行できているとは言い難い。例えば、実行プログラムデータが改ざんされたか否かを、システムの起動時にしか実行しないという構成であると、実行プログラムデータが改ざんされてから次のシステムの起動までのセキュリティを確保できているとは言い難い。
【０００６】
そこで、本発明は、実行プログラムデータの検査をより適切な時期に実行することが可能となる情報処理装置、検査方法、及び検査プログラムを提供することを目的とする。
【課題を解決するための手段】
【０００７】
上記目的を達成するため、本発明の情報処理装置は、実行プログラムデータを記憶した記憶部と、制御部と、を備えた情報処理装置であって、制御部は、情報処理装置の状態を、通常状態と、通常状態より消費電力が低い低消費電力状態と、シャットダウン状態と、に切換可能であり、制御部は、情報処理装置の状態を通常状態から低消費電力状態に切換えるときに、実行プログラムデータに対する検査を行う検査処理を実行することを特徴とする。
【発明の効果】
【０００８】
本発明によれば、情報処理装置の状態を通常状態から低消費電力状態に切換えるときに、実行プログラムデータに対する検査を行うようにしたので、実行プログラムデータの検査をより適切な時期に実行することが可能となる。
【図面の簡単な説明】
【０００９】
【図１】本発明の一実施の形態に係る情報処理装置を適用した複合機の制御構成を示すブロック図である。
【図２】図１の複合機、特にメインＣＰＵが実行する起動時処理の手順を示すフローチャートである。
【図３】図２の起動時処理に含まれるＲｅａｄｙ時制御処理の詳細な手順を示すフローチャートである。
【図４】図３のＲｅａｄｙ時制御処理に含まれるＤｅｅｐＳｌｅｅｐ移行処理の詳細な手順を示すフローチャートである。
【図５】図１の複合機、特にサブＣＰＵが実行する起動時処理の手順を示すフローチャートである。
【図６】図５の起動時処理に含まれるＤｅｅｐＳｌｅｅｐからの復帰処理の詳細な手順を示すフローチャートである。
【発明を実施するための形態】
【００１０】
以下、本発明の実施の形態を図面に基づいて詳細に説明する。
【００１１】
図１は、本発明の一実施の形態に係る情報処理装置を適用した複合機（multifunction peripheral：ＭＦＰ）１００の制御構成を示しており、複合機１００は、コピー機能、プリンタ機能、スキャナ機能及びファックス機能等を備えている。
【００１２】
同図に示すように、複合機１００は、メイン（ｍａｉｎ）ＣＰＵ（central processing unit）１１０とサブ（Ｓｕｂ）ＣＰＵ１１１を備えている。メインＣＰＵ１１０は、複合機１００全体の動作を制御する。サブＣＰＵ１１１も、メインＣＰＵ１１０と並行して複合機１００の制御処理を実行する。
【００１３】
複合機１００の動作状態としては、大きく、通常状態、通常状態より消費電力が低い低消費電力状態、及びシャットダウン状態の３つの状態に分けられる。そして、通常状態の範疇に、ジョブ実行状態、Ｒｅａｄｙ（レディ）状態、及びＳｌｅｅｐ（スリープ）状態が含まれる。本実施形態では、通常状態の一例として、Ｒｅａｄｙ状態を挙げることにする。また本実施形態では、低消費電力状態の一例として、ＤｅｅｐＳｌｅｅｐ状態を挙げることにする。
【００１４】
Ｒｅａｄｙ状態のとき（以下、「Ｒｅａｄｙ時」という）の制御処理は、メインＣＰＵ１１０とサブＣＰＵ１１１により並行して実行される。このようにメインＣＰＵ１１０とサブＣＰＵ１１１が並行して処理を実行する場合に、メインＣＰＵ１１０により実行される処理とサブＣＰＵ１１１により実行される処理とが予め決まっている構成や、メインＣＰＵ１１０がビジー状態になりそうなときに、サブＣＰＵ１１１がメインＣＰＵ１１０の処理の一部を代わって実行する構成などが考えられる。本実施形態では、後者の構成を採用し、図２〜図４の処理はすべて、原則としてメインＣＰＵ１１０により実行されるものとする。
【００１５】
一方、ＤｅｅｐＳｌｅｅｐ状態のとき（以下、「ＤｅｅｐＳｌｅｅｐ時」という）の制御処理は、サブＣＰＵ１１１のみにより実行されるものとする。
【００１６】
また複合機１００は、ＲＯＭ（read only memory）１２０、メインメモリ１３０、ＤｅｅｐＳｌｅｅｐ用メモリ１４０、及びＥＥＰＲＯＭ（electrically erasable programmable read-only memory）１５０を備えている。
【００１７】
ＲＯＭ１２０は、本実施形態では、例えばフラッシュ（Ｆｌａｓｈ）ＲＯＭにより構成されている。そしてＲＯＭ１２０には、複合機１００が起動指示を受けたときにメインＣＰＵ１１０が最初に実行するブート（Ｂｏｏｔ）プログラム１２１、デジタル署名の正当性をチェックする署名チェックプログラム１２２、Ｒｅａｄｙ時制御プログラムの圧縮データ１２３、及びＤｅｅｐＳｌｅｅｐ時制御プログラム１２４等が格納されている。なお本実施形態では、Ｂｏｏｔプログラム１２１及び署名チェックプログラム１２２は、ＯＴＰ（one time programming）領域１２０ａに格納されている。ＯＴＰ領域１２０ａは、特定のコマンドにより、一度記憶されたプログラムは編集できない仕組みを備えた領域である。
【００１８】
メインメモリ１３０は、本実施形態ではＤＲＡＭ（dynamic random access memory）により構成され、Ｒｅａｄｙ時制御プログラムの圧縮データ１２３を展開して生成されたＲｅａｄｙ時制御プログラム１３１を記憶する。メインメモリ１３０は、通常モードと低消費電力モードとを切替え可能に構成されている。通常モードでは、外部回路（図示せず）によりメインメモリ１３０のリフレッシュがなされ、低消費電力モードでは、内部回路によりメインメモリ１３０のリフレッシュ、つまりセルフリフレッシュがなされる。したがって、通常モードでは、メインメモリ１３０へのデータの書き込みが可能となり、低消費電力モードでは、メインメモリ１３０へのデータの書き込みが制限される。
【００１９】
またメインメモリ１３０は、メインＣＰＵ１１０がＲｅａｄｙ時制御プログラム１３１を実行する際に用いるデータや信号等を一時的に記憶する記憶領域、あるいはデータ処理の作業領域としても使用される。
【００２０】
ＤｅｅｐＳｌｅｅｐ用メモリ１４０は、本実施形態ではＳＲＡＭ（static random access memory）により構成され、サブＣＰＵ１１１がＤｅｅｐＳｌｅｅｐ時制御プログラム１２４を実行する際に用いるデータや信号等を一時的に記憶する記憶領域、あるいはデータ処理の作業領域として使用される。このようにＤｅｅｐＳｌｅｅｐ用メモリ１４０として、ＤＲＡＭより低消費電力のＳＲＡＭを用いたのは、ＤｅｅｐＳｌｅｅｐ時にはより省電力化を図るためである。
【００２１】
ＥＥＰＲＯＭ１５０には、署名チェック済みフラグ１５１を含む各種フラグや署名チェック用認証情報１５２等が格納される。署名チェック済みフラグ１５１は、図３及び図４を用いて後述するように、署名チェックが完了した後にＤｅｅｐＳｌｅｅｐ移行処理が実行されたときにセット（“１”）されるフラグである。署名チェック用認証情報１５２は、署名チェックプログラム１２２が実行されて、デジタル署名の正当性をチェックする際に用いられる。
【００２２】
また複合機１００は、上記各種機能、つまりコピー機能、プリンタ機能、スキャナ機能及びファックス機能を実行するための各種エンジン１６０を備えている。各種エンジン１６０には、モデム１６１、読取エンジン１６２及び印刷エンジン１６３が含まれている。そして、ファックス機能がモデム１６１により実現され、スキャナ機能が読取エンジン１６２により実現され、プリンタ機能が印刷エンジン１６３により実現される。さらにコピー機能は、読取エンジン１６２と印刷エンジン１６３とによって実現される。具体的には、コピー機能は、原稿上の画像を読取エンジン１６２により読取り、その読取ったデータを印刷エンジン１６３により用紙上に印刷することで実現される。なお印刷エンジン１６３の印刷方式は、インクジェット方式や電子写真方式等、いずれの方式を採用してもよい。
【００２３】
さらに複合機１００は、外部通信Ｉ／Ｆ１７０を備えている。外部通信Ｉ／Ｆ１７０の典型例としては、ＬＡＮＩ／Ｆ（local area network interface）やＷＬＡＮ Ｉ／Ｆ（wireless LAN interface）を挙げることができる。
【００２４】
また複合機１００は、電源部１１５を備えている。電源部１１５は、複合機１００の電気系統に電力を供給するものである。
【００２５】
さらに複合機１００は、タッチパネル１８０及びハードキー１９０を備えている。タッチパネル１８０には、複合機１００の状態に応じて、様々な画面が表示される。ユーザは、画面上の入力ボタンを押下することで、入力操作をすることができる。ハードキー１９０は、ハードウェアにより形成されるキーである。電源スイッチ（ＳＷ）１９１は、ハードキー１９０に含まれる。この電源ＳＷ１９１により、電源部１１５から複合機１００への電力供給がオン／オフされる。
【００２６】
次に、ＤｅｅｐＳｌｅｅｐ状態、Ｓｌｅｅｐ状態、ジョブ実行状態、及びＲｅａｄｙ状態のそれぞれについて、複合機１００の各構成要素がどのような状態にあるかを説明する。但し、ジョブ実行状態とＲｅａｄｙ状態とでは、複合機１００の各構成要素の状態は同じである。
【００２７】
ＤｅｅｐＳｌｅｅｐ状態では、読取エンジン１６２、印刷エンジン１６３、及びメインＣＰＵ１１０への電力供給が停止された状態にある。電源部１１５は、一部も停止され、省電力状態とされている。メインメモリ（ＤＲＡＭ）１３０は、低消費電力モードにある。サブＣＰＵ１１１には電力が供給され、動作可能な状態にある。
【００２８】
Ｓｌｅｅｐ状態では、読取エンジン１６２及び印刷エンジン１６３への電力供給が停止された状態にある。サブＣＰＵ１１１及びメインＣＰＵ１１０には電力が供給され、サブＣＰＵ１１１及びメインＣＰＵ１１０が動作可能な状態にある。電源部１１５は、省電力状態が解除され、電力が供給されている。メインメモリ（ＤＲＡＭ）１３０は、通常モードにある。
【００２９】
ジョブ実行状態及びＲｅａｄｙ状態では、モデム１６１、読取エンジン１６２、印刷エンジン１６３、サブＣＰＵ１１１、及びメインＣＰＵ１１０へ電力が供給されており、モデム１６１、読取エンジン１６２、印刷エンジン１６３、サブＣＰＵ１１１、及びメインＣＰＵ１１０が動作可能な状態にある。電源部１１５は、省電力状態が解除され、電力が供給されている。メインメモリ（ＤＲＡＭ）１３０は、通常モードにある。
【００３０】
以下、以上のように構成された複合機１００が実行する制御処理を、図２〜図７を参照して詳細に説明する。
【００３１】
上記電源ＳＷ１９１がオンされ、複合機１００の電源がオンされると起動要求が発せられる。メインＣＰＵ１１０は、この起動要求を受けると図２に示す起動時処理を開始する。なお、図２の処理中、ステップ（以下「Ｓ」と略す）４を除くＳ１〜Ｓ３及びＳ５〜Ｓ８の処理が上記Ｂｏｏｔプログラム１２１に含まれる。
【００３２】
本起動時処理では、まずメインＣＰＵ１１０は、上記署名チェック済みフラグ１５１がセット状態（＝１）であるかどうかを判断する（Ｓ１）。署名チェック済みフラグ１５１は、後述するように、署名チェックが完了した後、ＤｅｅｐＳｌｅｅｐに移行したときにセットされる（図３のＳ１９，Ｓ２０及び図４のＳ３１参照）。そして、本起動時処理が開始されるのは、上述のように、複合機１００の電源がオンされたときであるので、ＤｅｅｐＳｌｅｅｐからシャットダウン状態、つまり電源オフ状態を経由している。つまり、Ｓ１の判断処理は、複合機１００の前回の起動時に、Ｒｅａｄｙ状態からＤｅｅｐＳｌｅｅｐ状態への切換において署名チェックを実行したか否かを判断するものである。したがって、Ｓ１の判断で肯定の場合とは、前回の起動時に、署名チェックが完了した後、ＤｅｅｐＳｌｅｅｐに移行し、その後シャットダウン状態になって、今回の起動に至った、つまり電源オンになった場合である。
【００３３】
Ｓ１の判断の結果、署名チェック済みフラグ１５１がセット状態であれば、メインＣＰＵ１１０は、処理をＳ２に進める。一方、署名チェック済みフラグ１５１がリセット状態（＝０）であれば、メインＣＰＵ１１０は、処理をＳ５に進める。
【００３４】
Ｓ２では、メインＣＰＵ１１０は署名チェック済みフラグ１５１をリセットする。その後メインＣＰＵ１１０は、処理を次のＳ３に進める。
【００３５】
上記Ｓ５では、メインＣＰＵ１１０は、上記Ｒｅａｄｙ時制御プログラムの圧縮データ１２３の署名チェックを開始する。署名チェックは、上述のように署名チェックプログラム１２２により実行されるので、Ｓ５の署名チェックの開始とは、メインＣＰＵ１１０が署名チェックプログラム１２２の実行を開始することを意味する。
【００３６】
処理がＳ１からＳ５に進む場合は、少なくとも署名チェックが完了していない場合であるので、メインＣＰＵ１１０は署名チェックを開始する。
【００３７】
そしてメインＣＰＵ１１０は、署名チェックが完了するまで署名チェックを実行し、署名チェックが完了すると（Ｓ６の判断でＹＥＳ）、署名チェック合格（＝署名チェックＯＫ）かどうかを判断する（Ｓ７）。
【００３８】
署名チェックを行う前提として、署名チェック用認証情報１５２は、署名チェック対象のプログラムを基に、所定のハッシュ関数を使ってハッシュ値が算出され、そのハッシュ値を上記プログラムの作成者の個人鍵で暗号化したものである。
【００３９】
この前提の下、まずメインＣＰＵ１１０は、Ｒｅａｄｙ時制御プログラムの圧縮データ１２３を基に、上記所定のハッシュ関数を使ってハッシュ値を算出する。次にメインＣＰＵ１１０は、上記Ｒｅａｄｙ時制御プログラムの圧縮データ１２３の作成者の個人鍵で暗号化されたハッシュ値をこの作成者の公開鍵で復号化する。そしてメインＣＰＵ１１０は、自身で算出したハッシュ値と、自身で復号化したハッシュ値とを比較し、両者が一致していれば、署名チェック合格と判断し、両者が一致していなければ、署名チェック不合格と判断する。
【００４０】
上記Ｓ７の判断の結果、署名チェックＯＫであれば、メインＣＰＵ１１０は処理を上記Ｓ３に進める。一方、署名チェックＯＫでなければ（＝署名チェック不合格）、メインＣＰＵ１１０は、署名チェック不合格であることをユーザに知らせるための警告を上記タッチパネル１８０上に表示した（Ｓ８）後、本起動時処理を終了する、つまりシャットダウン状態へ移行する。
【００４１】
Ｓ３では、メインＣＰＵ１１０は、Ｒｅａｄｙ時制御プログラムの圧縮データ１２３を展開してＲｅａｄｙ時制御プログラム１３１を生成し、このＲｅａｄｙ時制御プログラム１３１をメインメモリ１３０に格納する。続くＳ４では、メインＣＰＵ１１０はＲｅａｄｙ時制御プログラム１３１を開始する。
【００４２】
このように、Ｓ１の判断でＹＥＳの場合には、メインＣＰＵ１１０は、Ｒｅａｄｙ時制御プログラムの圧縮データ１２３についての署名チェックを省略して、Ｒｅａｄｙ時制御プログラムの圧縮データ１２３を展開し、Ｒｅａｄｙ時制御プログラム１３１を生成するようにしている。これは、前回の起動時に、署名チェックが完了してからＤｅｅｐＳｌｅｅｐ状態に移行し、さらにシャットダウン状態、つまり電源オフ状態に移行すれば、その後、電源オンになるまで、Ｒｅａｄｙ時制御プログラムの圧縮データ１２３が改ざんされる虞はないからである。このように言い得るのは、ＤｅｅｐＳｌｅｅｐ状態では、ＲＯＭ１２０の上記ＯＴＰ領域１２０ａ以外の領域でもデータの書き込みが禁止されているからである。
【００４３】
一方、Ｓ１の判断でＮＯの場合に、メインＣＰＵ１１０がＲｅａｄｙ時制御プログラムの圧縮データ１２３についての署名チェックしか行わないのは、Ｒｅａｄｙ時制御プログラム１３１は、Ｒｅａｄｙ時制御プログラムの圧縮データ１２３についての署名チェック後に、Ｒｅａｄｙ時制御プログラムの圧縮データ１２３を展開して生成する（Ｓ７からＳ３へ移行する）ものであるからである。つまり、メインメモリ１３０に格納されているＲｅａｄｙ時制御プログラム１３１が改ざんされたとしても、署名チェックＯＫのＲｅａｄｙ時制御プログラムの圧縮データ１２３を展開して、新たなＲｅａｄｙ時制御プログラム１３１が生成されて、メインメモリ１３０に格納されるので、問題は生じない。なお、Ｂｏｏｔプログラム１２１及び署名チェックプログラム１２２は、上述のようにＯＴＰ領域１２０ａに格納されているので、署名チェックは不要である。
【００４４】
図３は、Ｒｅａｄｙ時制御プログラム１３１の詳細な手順を示している。Ｒｅａｄｙ時制御プログラム１３１では、まずメインＣＰＵ１１０は、電源ＳＷ１９１がオフであるかどうかを判断する（Ｓ１１）。この判断の結果、電源ＳＷ１９１がオフであるときには、メインＣＰＵ１１０は、本Ｒｅａｄｙ時制御プログラム１３１を終了する。一方、電源ＳＷ１９１がオフでないとき、つまり電源ＳＷ１９１がオン状態で、複合機１００の電源がオン状態のときには、メインＣＰＵ１１０は、何らかの操作指示があるかどうかを判断する（Ｓ１２）。この判断の結果、何らかの操作指示があれば、メインＣＰＵ１１０は、この操作指示の内容に応じた処理を実行する（Ｓ１５）。但しこのとき、メインＣＰＵ１１０は、署名チェック中であるかどうかを判断し（Ｓ１３）、署名チェック中であれば（Ｓ１３の判断でＹＥＳ）、署名チェックを中止して（Ｓ１４）、上記Ｓ１５の処理を実行する。なお、中止された署名チェックは、中止後最初の複合機１００の起動時に、上記Ｓ１の判断でＮＯとなるため、再度実行される。
【００４５】
メインＣＰＵ１１０は、Ｓ１５の処理後、処理を上記Ｓ１１に戻す。
【００４６】
一方、上記Ｓ１２の判断の結果、何の操作指示もないときには、メインＣＰＵ１１０は、上記各種エンジン１６０がＤｅｅｐＳｌｅｅｐに移行可能かどうかを判断する（Ｓ１６）。この判断基準の一例としては、何の操作指示もない状態が継続した時間を挙げることができる。もちろん、判断基準は、これに限られる訳ではない。
【００４７】
Ｓ１６の判断の結果、各種エンジン１６０がＤｅｅｐＳｌｅｅｐに移行可能なときには、メインＣＰＵ１１０は、上記署名チェックプログラム１２２が未起動であるかどうかを判断する（Ｓ１７）。この判断は、例えば署名チェック起動フラグ（図示せず）のセット／リセット状態に基づいて行うようにすればよい。署名チェック起動フラグは、メインＣＰＵ１１０が署名チェックプログラム１２２を起動するとき、つまり後述するＳ１８の処理を開始するときにセットし、メインＣＰＵ１１０が署名チェックプログラム１２２を終了するときにリセットする。
【００４８】
Ｓ１７の判断の結果、未起動であれば（Ｓ１７の判断でＹＥＳ）、上記Ｒｅａｄｙ時制御プログラムの圧縮データ１２３、上記Ｒｅａｄｙ時制御プログラム１３１、及び上記ＤｅｅｐＳｌｅｅｐ時制御プログラム１２４の各署名チェックを開始する（Ｓ１８）。その後、メインＣＰＵ１１０は、処理を上記Ｓ１１に戻す。なおＳ１８の各署名チェックのうち、Ｒｅａｄｙ時制御プログラムの圧縮データ１２３に対する署名チェックについては上述したが、Ｒｅａｄｙ時制御プログラム１３１及びＤｅｅｐＳｌｅｅｐ時制御プログラム１２４に対する署名チェックについては述べていない。しかし、後者の署名チェックは、署名チェック対象が異なるのみであり、前者の署名チェックの具体的方法を類推適用することができるので、詳細な説明を省略する。
【００４９】
一方、Ｓ１７の判断の結果、署名チェックプログラム１２２が既に起動されているときには、メインＣＰＵ１１０は、その署名チェックが完了したかどうかを判断する（Ｓ１９）。
【００５０】
Ｓ１９の判断の結果、署名チェックが完了したときには、メインＣＰＵ１１０は、ＤｅｅｐＳｌｅｅｐ移行処理を開始する（Ｓ２０）一方、署名チェックが完了していないときには、メインＣＰＵ１１０は、処理を上記Ｓ１１に戻す。
【００５１】
図４は、上記Ｓ２０のＤｅｅｐＳｌｅｅｐ移行処理の詳細な手順を示している。本ＤｅｐＳｌｅｅｐ移行処理が開始されると、まずメインＣＰＵ１１０は、上記署名チェック済みフラグ１５１をセットする（Ｓ３１）。
【００５２】
次にメインＣＰＵ１１０は、上記各種エンジン１６０及び上記メインメモリ１３０を省電力モードへ移行させ（Ｓ３２）、さらにサブＣＰＵ１１１で上記ＤｅｅｐＳｌｅｅｐ時制御プログラム１２４を開始させる（Ｓ３３）。このように、処理の主体をメインＣＰＵ１１０からサブＣＰＵ１１１に切り替えるのは、メインＣＰＵ１１０よりサブＣＰＵ１１１の方が省電力で動作するからである。
【００５３】
図５は、ＤｅｅｐＳｌｅｅｐ時制御プログラム１２４の詳細な手順を示している。本ＤｅｅｐＳｌｅｅｐ時制御プログラム１２４では、まずサブＣＰＵ１１１は、電源ＳＷ１９１がオフであるかどうかを判断する（Ｓ４１）。この判断の結果、電源ＳＷ１９１がオフのときには、サブＣＰＵ１１１は、本ＤｅｅｐＳｌｅｅｐ時制御プログラム１２４を終了する。一方、電源ＳＷ１９１がオフでないとき、つまり電源ＳＷ１９１がオン状態で、複合機１００の電源がオン状態のときには、サブＣＰＵ１１１は、何らかの操作指示があるかどうかを判断する（Ｓ４２）。この判断の結果、何らかの操作指示があれば、サブＣＰＵ１１１は、ＤｅｅｐＳｌｅｅｐからの復帰処理を実行した（Ｓ４３）後、本ＤｅｅｐＳｌｅｅｐ時制御プログラム１２４を終了する。一方、何の操作指示もないときには、サブＣＰＵ１１１は、処理を上記Ｓ４１に戻す。
【００５４】
図６は、上記Ｓ４３のＤｅｅｐＳｌｅｅｐからの復帰処理の詳細な手順を示している。本ＤｅｅｐＳｌｅｅｐからの復帰処理では、まずサブＣＰＵ１１１は、上記署名チェック済みフラグ１５１をリセットする（Ｓ５１）。
【００５５】
次にサブＣＰＵ１１１は、上記各種エンジン１６０及び上記メインメモリ１３０を省電力モードから復帰させる（Ｓ５２）。
【００５６】
さらにサブＣＰＵ１１１は、メインメモリ１３０で上記Ｒｅａｄｙ時制御プログラム１３１を開始させる（Ｓ５３）。
【００５７】
以上説明したように、本実施形態の複合機１００は、Ｒｅａｄｙ時制御プログラム１３１を記憶したメインメモリ１３０、及びＲｅａｄｙ時制御プログラムの圧縮データ１２３及びＤｅｅｐＳｌｅｅｐ時制御プログラム１２４を記憶したＲＯＭ１２０と、メインＣＰＵ１１０と、を備えた複合機１００であって、メインＣＰＵ１１０は、複合機１００の状態を、Ｒｅａｄｙ状態と、Ｒｅａｄｙ状態より消費電力が低いＤｅｅｐＳｌｅｅｐ状態と、シャットダウン状態と、に切換可能である。
【００５８】
そしてメインＣＰＵ１１０は、複合機１００の状態をＲｅａｄｙ状態からＤｅｅｐＳｌｅｅｐ状態に切換えるときに、Ｒｅａｄｙ時制御プログラム１３１、Ｒｅａｄｙ時制御プログラムの圧縮データ１２３及びＤｅｅｐＳｌｅｅｐ時制御プログラム１２４に対する署名チェックを実行する。
【００５９】
このように、本実施形態の複合機１００では、複合機１００の状態をＲｅａｄｙ状態からＤｅｅｐＳｌｅｅｐ状態に切換えるときに、Ｒｅａｄｙ時制御プログラム１３１、Ｒｅａｄｙ時制御プログラムの圧縮データ１２３及びＤｅｅｐＳｌｅｅｐ時制御プログラム１２４に対する署名チェックを実行するようにしたので、Ｒｅａｄｙ時制御プログラム１３１、Ｒｅａｄｙ時制御プログラムの圧縮データ１２３及びＤｅｅｐＳｌｅｅｐ時制御プログラム１２４に対する署名チェックをより適切な時期に実行することが可能となる。
【００６０】
ちなみに、本実施形態において、複合機１００は、「情報処理装置」の一例である。Ｒｅａｄｙ時制御プログラム１３１、Ｒｅａｄｙ時制御プログラムの圧縮データ１２３及びＤｅｅｐＳｌｅｅｐ時制御プログラム１２４は、「実行プログラムデータ」の一例である。メインメモリ１３０及びＲＯＭ１２０は、「記憶部」の一例である。メインＣＰＵ１１０は、「制御部」の一例である。Ｒｅａｄｙ状態は、「通常状態」の一例である。ＤｅｅｐＳｌｅｅｐ状態は、「低消費電力状態」の一例である。署名チェックは、「検査」の一例である。
【００６１】
またメインＣＰＵ１１０は、複合機１００をシャットダウン状態から起動させるときに、前回のＲｅａｄｙ状態からＤｅｅｐＳｌｅｅｐ状態への切換において署名チェックを実行したか否かを判断するＳ１の判断処理を実行し、この判断処理にて肯定判断した場合、複合機１００をシャットダウン状態から起動させるときに、Ｒｅａｄｙ時制御プログラムの圧縮データ１２３に対する署名チェックを省略する。
【００６２】
上記特許文献１に記載された技術では、起動時の署名チェックは必ず行われているので、装置の起動後、セキュリティチェックが完了するまで、ユーザの所望する処理を実行することができなかった。
【００６３】
本実施形態の複合機１００によれば、複合機１００をシャットダウン状態から起動させるときに、前回のＲｅａｄｙ状態からＤｅｅｐＳｌｅｅｐ状態への切換において署名チェックが実行されていれば、複合機１００をシャットダウン状態から起動させるときに、Ｒｅａｄｙ時制御プログラムの圧縮データ１２３に対する署名チェックを省略するようにしたので、複合機１００の起動後、ユーザの所望する処理を迅速に実行することが可能となる。
【００６４】
またメインメモリ１３０は、Ｒｅａｄｙ時制御プログラム１３１を記憶し、書込可能状態と書込制限状態に切換可能であり、メインＣＰＵ１１０は、複合機１００の状態をＲｅａｄｙ状態からＤｅｅｐＳｌｅｅｐ状態に切換えるときに、メインメモリ１３０を書込可能状態から書込制限状態へ切換える。
【００６５】
これにより、ＤｅｅｐＳｌｅｅｐ時において、Ｒｅａｄｙ時制御プログラム１３１を保護することができる。
【００６６】
また  メインメモリ１３０は、書込可能状態のときより、書込制限状態のときの方が、消費電力が低い。
【００６７】
これにより、ＤｅｅｐＳｌｅｅｐ時にさらに省電力化を図ることが可能となる。
【００６８】
またＲＯＭ１２０は、Ｒｅａｄｙ時制御プログラムの圧縮データ１２３を記憶し、メインＣＰＵ１１０は、複合機１００をシャットダウン状態から起動させるときに、Ｒｅａｄｙ時制御プログラムの圧縮データ１２３を展開してＲｅａｄｙ時制御プログラム１３１を生成し、Ｒｅａｄｙ時制御プログラム１３１をメインメモリ１３０に記憶させる。
【００６９】
これにより、ＲＯＭ１２０として、記憶容量の小さいものを用いることができる。
【００７０】
そしてメインＣＰＵ１１０は、複合機１００をＲｅａｄｙ状態からＤｅｅｐＳｌｅｅｐ状態に切換えるときに、Ｒｅａｄｙ時制御プログラムの圧縮データ１２３に対する署名チェック及びＲｅａｄｙ時制御プログラム１３１に対する署名チェックを行う。
【００７１】
これにより、Ｒｅａｄｙ時制御プログラムの圧縮データ１２３及びＲｅａｄｙ時制御プログラム１３１の双方に対する署名チェックを実行することができる。
【００７２】
ちなみに、Ｒｅａｄｙ時制御プログラムの圧縮データ１２３は、「実行プログラム圧縮データ」の一例である。Ｒｅａｄｙ時制御プログラム１３１は、「実行プログラム展開データ」の一例である。
【００７３】
またメインＣＰＵ１１０は、複合機１００をＲｅａｄｙ状態からＤｅｅｐＳｌｅｅｐ状態に切換えるとき、署名チェックによりＲｅａｄｙ時制御プログラムの圧縮データ１２３に異常があると判断した場合には、警告を表示する。
【００７４】
これにより、ユーザは異常を確実に把握できるので、Ｒｅａｄｙ時制御プログラムの圧縮データ１２３に対する改ざんを容易に発見することができる。
【００７５】
ちなみに、警告を表示は、「エラーを報知」の一例である。
【００７６】
またメインＣＰＵ１１０は、複合機１００をＲｅａｄｙ状態からＤｅｅｐＳｌｅｅｐ状態に切換えるとき、署名チェックにおいてＲｅａｄｙ時制御プログラムの圧縮データ１２３に異常があると判断した場合には、複合機１００をシャットダウン状態へ切換える。
【００７７】
これにより、セキュリティリスクを低減することが可能となる。
【００７８】
またメインＣＰＵ１１０は、複合機１００をＲｅａｄｙ状態からＤｅｅｐＳｌｅｅｐ状態に切換えるとき、ジョブを受け付けた場合には、署名チェックを中断する。
【００７９】
これにより、署名チェックよりジョブを優先させることができる。
【００８０】
またメインＣＰＵ１１０は、署名チェックの中断後の最初の複合機１００の起動時に、中断した署名チェックを実行する。
【００８１】
これにより、署名チェックを完了させることができるので、セキュリティリスクを低減することが可能となる。
【００８２】
なお、本発明は上記実施形態に限定されるものでなく、その趣旨を逸脱しない範囲で様々な変更が可能である。
【００８３】
（１）上記実施形態では、情報処理装置として複合機１００を採用したが、これに限らず、単体のコピー機、プリンタあるいはスキャナなどを採用してもよい。また画像形成装置に限らず、スマートフォンやタブレット端末、ＰＣ（パーソナルコンピュータ）、ＰＤＡ（personal digital assistant）などを採用してもよい。
【００８４】
（２）上記実施形態では、Ｒｅａｄｙ時制御プログラム１３１、Ｒｅａｄｙ時制御プログラムの圧縮データ１２３及びＤｅｅｐＳｌｅｅｐ時制御プログラム１２４に対する改ざんチェックを、署名チェックプログラム１２２によりソフトウェアで行うようにしたが、これに限らず、ハードウェアで行うようにしてもよい。
【００８５】
（３）署名チェックの方法は、上記実施形態で上述した方法に限定される訳ではなく、実行プログラムの改ざんを検査できる方法であれば、どのような方法を採用してもよい。
【００８６】
（４）上記実施形態では、署名チェックが不合格になったときのエラー報知の態様として、タッチパネル１８０上に警告を表示する態様を採用した（上記図２のＳ８参照）が、報知態様はこれに限らず、音声による報知等、ユーザが署名チェック不合格であることを認識できる態様であれば、どのようなものを採用してもよい。
【００８７】
（５）上記実施形態では、ＣＰＵ１１０が複合機１００の状態をＲｅａｄｙ状態からＤｅｅｐＳｌｅｅｐ状態へ移行させる形態であったが、ＣＰＵ１１０が複合機１００の状態をＳｌｅｅｐ状態からＤｅｅｐＳｌｅｅｐ状態へ移行させる形態であってもよい。ＣＰＵ１１０は、Ｒｅａｄｙ状態にあるときに、操作が無い状態が所定時間経過すると、複合機１００の状態をＳｌｅｅｐ状態へ移行させる。そして、ＣＰＵ１１０は、Ｓｌｅｅｐ状態にあるときに、操作が無い状態が所定時間経過すると、複合機１００の状態をＤｅｅｐＳｌｅｅｐ状態へ移行させる。ＣＰＵ１１０は、複合機１００の状態をＳｌｅｅｐ状態からＤｅｅｐＳｌｅｅｐ状態へ移行させるのに先立ち、上記実施形態のＳ１８〜Ｓ２０と同様の処理を行う。
【符号の説明】
【００８８】
１００  複合機
１１０  メインＣＰＵ
１１１  サブＣＰＵ
１１５  電源部
１２０  ＲＯＭ
１２０ａ  ＯＴＰ領域
１２１  Ｂｏｏｔプログラム
１２２  署名チェックプログラム
１２３  Ｒｅａｄｙ時制御プログラムの圧縮データ
１２４  ＤｅｅｐＳｌｅｅｐ時制御プログラム
１３０  メインメモリ
１３１  Ｒｅａｄｙ時制御プログラム
１４０  ＤｅｅｐＳｌｅｅｐ用メモリ
１５０  ＥＥＰＲＯＭ
１５１  署名チェック済みフラグ
１５２  署名チェック用認証情報
１６０  各種エンジン
１６１  モデム
１６２  読取エンジン
１６３  印刷エンジン
１７０  外部通信Ｉ／Ｆ
１８０  タッチパネル
１９０  ハードキー
１９１  電源ＳＷ
【図１】
2020108073.tif 000003
【図２】
2020108073.tif 000004
【図３】
2020108073.tif 000005
【図４】
2020108073.tif 000006
【図５】
2020108073.tif 000007
【図６】
2020108073.tif 000008