(57)【要約】      （修正有）【課題】実行プログラムの起動を早くすることが可能となる情報処理装置、情報処理方法、及びプログラムを提供する。【解決手段】複合機１００は、ネットワークに接続される通信部１１０と、実行プログラム１３１を記憶するフラッシュＲＯＭ１３０と、実行プログラム１３１の異常の有無を判断する署名チェックプログラム１３６を実行するメインＣＰＵ１０１と、を備えている。そしてメインＣＰＵ１０１は、起動指示を受けたことに応じて、複合機１００の前回起動から前回シャットダウンまでの期間内に通信部１１０がネットワーク接続されたか否かを判断する処理と、その判断の処理により否定判断した場合には、署名チェックプログラム１３６を行わずに、実行プログラム１３１を起動する処理と、を実行する。【選択図】図１
2020088793.tif 000002
【特許請求の範囲】
【請求項１】
ネットワークに接続される通信部と、
実行プログラムを記憶する記憶部と、
前記実行プログラムの異常の有無を判断する第１異常判断処理を実行する制御部と、を備えた情報処理装置であって、
前記制御部は、起動指示を受けたことに応じて、
前記情報処理装置の前回起動から前回シャットダウンまでの期間内に前記通信部がネットワーク接続されたか否かを判断する第１判断処理と、
前記第１判断処理により否定判断した場合には、前記第１異常判断処理を行わずに、前記実行プログラムを起動する第１起動処理と、
を実行する
ことを特徴とする情報処理装置。
【請求項２】
前記通信部から送信される通信データを暗号化する暗号回路をさらに備え、
前記制御部は、前記暗号回路の異常の有無を判断する第２異常判断処理を実行するように構成され、
前記制御部はさらに、前記起動指示を受けたことに応じて、
前記通信部がネットワーク接続されている状態か否かを判断する第２判断処理と、
前記第２判断処理により否定判断した場合には、前記第２異常判断処理を行わずに、前記実行プログラムを起動する第２起動処理と、
を実行する
ことを特徴とする請求項１に記載の情報処理装置。
【請求項３】
前記制御部はさらに、前記起動指示を受けたことに応じて、
前記第１判断処理及び前記第２判断処理の両方の判断処理により肯定判断した場合には、前記第１異常判断処理及び前記第２異常判断処理の両方を行ってから、前記実行プログラムを起動する第３起動処理を実行する
ことを特徴とする請求項２に記載の情報処理装置。
【請求項４】
前記制御部はさらに、前記起動指示を受けたことに応じて、
前記第１判断処理により肯定判断し、かつ前記第２判断処理により否定判断した場合には、前記第１異常判断処理及び前記第２異常判断処理のうち、前記第１異常判断処理のみを実行してから、前記実行プログラムを起動する第４起動処理を実行する
ことを特徴とする請求項２又は３に記載の情報処理装置。
【請求項５】
前記制御部はさらに、前記起動指示を受けたことに応じて、
前記第１判断処理により否定判断し、かつ前記第２判断処理により肯定判断した場合には、前記第１異常判断処理及び前記第２異常判断処理のうち、前記第２異常判断処理のみを実行してから、前記実行プログラムを起動する第５起動処理を実行する
ことを特徴とする請求項２乃至４のいずれか１項に記載の情報処理装置。
【請求項６】
前記制御部はさらに、
前記情報処理装置の稼働中に、前記通信部がネットワーク接続されたか否かを判断する第３判断処理
を実行し、
前記制御部は、前記起動指示を受けたことに応じて、
前記第３判断処理により肯定判断し、かつ前記第２判断処理により否定判断した場合に、前記第２異常判断処理を実行してから、前記実行プログラムを起動する第６起動処理を実行する
ことを特徴とする請求項２乃至５のいずれか１項に記載の情報処理装置。
【請求項７】
前記起動指示は、起動指示後に前記実行プログラムのアップデートが実行された後の再起動指示を含むことを特徴とする請求項１乃至６のいずれか１項に記載の情報処理装置。
【請求項８】
情報処理装置の記憶部に記憶された実行プログラムの異常の有無を判断する異常判断工程と、
前記情報処理装置が起動指示を受けたことに応じて、前記情報処理装置の前回起動から前回シャットダウンまでの期間内に、ネットワークに接続される通信部がネットワーク接続されたか否かを判断する判断工程と、
前記判断工程により否定判断した場合には、前記異常判断工程を行わずに、前記実行プログラムを起動する起動工程と、
を備えたことを特徴とする情報処理方法。
【請求項９】
ネットワークに接続される通信部と、実行プログラムを記憶する記憶部と、を備えた情報処理装置に、
前記実行プログラムの異常の有無を判断する異常判断処理と、
前記情報処理装置が起動指示を受けたことに応じて、前記情報処理装置の前回起動から前回シャットダウンまでの期間内に前記通信部がネットワーク接続されたか否かを判断する判断処理と、
前記判断処理により否定判断した場合には、前記異常判断処理を行わずに、前記実行プログラムを起動させる起動処理と、
を実行させるプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、装置の起動時に実行プログラムの改ざん判断等のセキュリティチェックを行う情報処理装置、情報処理方法、及びプログラムに関するものである。
【背景技術】
【０００２】
従来、装置の起動時に実行プログラムの改ざん判断等のセキュリティチェックを行う情報処理装置に関する技術が種々提案されている。
【０００３】
例えば、特許文献１に記載された改ざん検知機能付きコンピュータシステムは、コンピュータの起動時に、ＯＳ、ＯＳローダやその他の被検査ファイルの改ざんの有無を検査し、安全確認後にＯＳ、ＯＳローダ、アプリケーションを起動するようにしている。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特開平１０−３３３９０２号公報
【発明の概要】
【発明が解決しようとする課題】
【０００５】
しかし、上記従来の改ざん検知機能付きコンピュータシステムでは、コンピュータの起動時に常に、ＯＳ、ＯＳローダやその他の被検査ファイル、つまり実行プログラムのセキュリティチェックを行うので、実行プログラムの起動が遅くなる。
【０００６】
そこで、本発明は、実行プログラムの起動を早くすることが可能となる情報処理装置、情報処理方法、及びプログラムを提供することを目的とする。
【課題を解決するための手段】
【０００７】
上記目的を達成するため、発明の情報処理装置は、ネットワークに接続される通信部と、実行プログラムを記憶する記憶部と、実行プログラムの異常の有無を判断する第１異常判断処理を実行する制御部と、を備えた情報処理装置であって、制御部は、起動指示を受けたことに応じて、情報処理装置の前回起動から前回シャットダウンまでの期間内に通信部がネットワーク接続されたか否かを判断する第１判断処理と、第１判断処理により否定判断した場合には、第１異常判断処理を行わずに、実行プログラムを起動する第１起動処理と、を実行することを特徴とする。
【発明の効果】
【０００８】
本発明によれば、実行プログラムの起動を早くすることが可能となる。
【図面の簡単な説明】
【０００９】
【図１】本発明の一実施の形態に係る情報処理装置を適用した複合機の制御構成を示すブロック図である。
【図２】図１の複合機が署名チェックあるいは暗号回路チェックを省略可能あるいは省略不可能な場合を示す図である。
【図３】図１の複合機、特にＣＰＵが実行する起動時処理の手順を示すフローチャートである。
【図４】図３の起動時処理に含まれるセルフテスト処理の詳細な手順を示すフローチャートである。
【図５】図４のセルフテスト処理の続きの手順を示すフローチャートである。
【図６】図１の複合機、特にＣＰＵが実行する稼働中処理の手順を示すフローチャートである。
【図７】図６の稼働中処理の続きの手順を示すフローチャートである。
【発明を実施するための形態】
【００１０】
以下、本発明の実施の形態を図面に基づいて詳細に説明する。
【００１１】
図１は、本発明の一実施の形態に係る情報処理装置を適用した複合機（multifunction peripheral：ＭＦＰ）１００の制御構成を示しており、複合機１００は、コピー機能、プリンタ機能、スキャナ機能及びファックス機能等を備えている。
【００１２】
同図に示すように、複合機１００は、メイン（ｍａｉｎ）ＣＰＵ（central processing unit）１０１とサブ（Ｓｕｂ）ＣＰＵ１０２を備えている。メインＣＰＵ１０１は、複合機１００全体の動作を制御する。サブＣＰＵ１０２は、メインＣＰＵ１０１と並行して複合機１００の制御処理を実行する。メインＣＰＵ１０１とサブＣＰＵ１０２が並行して処理を実行する場合に、メインＣＰＵ１０１により実行される処理とサブＣＰＵ１０２により実行される処理とが予め決まっている構成や、メインＣＰＵ１０１がビジー状態になりそうなときに、サブＣＰＵ１０２がメインＣＰＵ１０１の処理の一部を代わって実行する構成などが考えられる。本実施形態では、後者の構成を採用し、図３〜図７の処理はすべて、メインＣＰＵ１０１により実行されるものとする。このため、以下、メインＣＰＵ１０１から「メイン」を取って、ＣＰＵ１０１と略すことにする。
【００１３】
また複合機１００は、読取部１０３、印刷部１０４、及び電源部１０５を備えている。読取部１０３は、上記スキャナ機能を実現するものであり、原稿上の画像を読み取って、画像データを生成する。印刷部１０４は、上記プリンタ機能を実現するものであり、画像データを含む印刷データに基づいて用紙上に印刷する。上記コピー機能は、読取部１０３と印刷部１０４とによって実現される。具体的には、コピー機能は、原稿上の画像を読取部１０３により読取り、その読取ったデータを印刷部１０４により用紙上に印刷することで実現される。なお印刷部１０４の印刷方式は、インクジェット方式や電子写真方式等、いずれの方式を採用してもよい。電源部１０５は、複合機１００の電気系統に電力を供給するものである。
【００１４】
さらに複合機１００は、タッチパネル１０８及びハードキー１０９を備えている。タッチパネル１０８には、複合機１００の状態に応じて、様々な画面が表示される。ユーザは、画面上の入力ボタンを押下することで、入力操作をすることができる。ハードキー１０９は、ハードウェアにより形成されるキーである。その典型例としては、電源スイッチやリセットスイッチ（ともに図示せず）などを挙げることができる。
【００１５】
また複合機１００は、ＲＡＭ（random access memory）１２０、フラッシュ（Ｆｌａｓｈ）ＲＯＭ（read only memory）１３０、及びＥＥＰＲＯＭ（electrically erasable programmable read-only memory）１４０を備えている。フラッシュＲＯＭ１３０には、ＣＰＵ１０１が複合機１００の画像形成制御を含む各種動作を制御するための実行プログラム１３１や、デジタル署名１３３、複合機１００が起動指示を受けたときにＣＰＵ１０１が最初に実行するブートプログラム１３４等が格納されている。ＥＥＰＲＯＭ１４０には、各種フラグ１４１等が格納される。ＲＡＭ１２０は、ＣＰＵ１０１が上記プログラムを実行する際に用いるデータや信号等を一時的に記憶する記憶領域、あるいはデータ処理の作業領域として使用される。
【００１６】
さらに複合機１００は、通信部１１０を備えている。そして通信部１１０は、ＦＡＸＩＦ（facsimile interface）１１１、ＬＡＮ ＩＦ（local area network interface）１１２、及びＷＬＡＮ ＩＦ（wireless LAN interface）１１３を備えている。ＦＡＸ ＩＦ１１１は、上記ファックス機能を実現するものであり、ファックスの送受信を行うものである。ＬＡＮＩＦ１１２は、複合機１００を有線ＬＡＮ回線に接続するものである。ＷＬＡＮ ＩＦ１１３は、複合機１００を無線ＬＡＮ回線に接続するものである。
【００１７】
また複合機１００は、暗号回路１０６及び乱数生成回路１０７を備えている。暗号回路１０６は、有線ＬＡＮ回線あるいは無線ＬＡＮ回線を介して送信されるデータを暗号化し、受信されるデータを復号化するものである。乱数生成回路１０７は、その暗号化及び復号化に用いる乱数を発生させるものである。
【００１８】
以下、以上のように構成された複合機１００が実行する制御処理を、図２〜図７を参照して詳細に説明する。
【００１９】
上記ハードキー１０９に含まれる上記電源スイッチが押下され、複合機１００の電源がオン（ＯＮ）されると起動要求が発せられ、ＣＰＵ１０１は、起動要求を受けると図３に示す起動時処理を開始する。
【００２０】
本起動時処理では、まずＣＰＵ１０１は、上記ブートプログラム１３４を起動させ（ステップ（以下「Ｓ」と略す）１）、セルフテスト処理を開始する（Ｓ２）。図４及び図５は、セルフテスト処理の詳細な手順を示している。
【００２１】
本セルフテスト処理では、まずＣＰＵ１０１は、テスト結果ＮＧによる起動であるかどうかを判断する（Ｓ２１）。この判断は、上記各種フラグ１４１の１つである、テスト結果ＯＫフラグがセット状態（＝１）であるか、リセット状態（＝０）であるかを判断することにより行う。ＣＰＵ１０１は、後述するハードテストＮＧフラグ及び署名チェックＮＧフラグの少なくとも一方をＮＧ状態（セット状態）とする場合は、それに応じてテスト結果ＯＫフラグをＮＧ状態（リセット状態）とする。また、ＣＰＵ１０１は、後述するハードテストＮＧフラグ及び署名チェックＮＧフラグの両方をＯＫ状態（リセット状態）とする場合は、それに応じてテスト結果ＯＫフラグをＯＫ状態（セット状態）とする。
【００２２】
Ｓ２１の判断の結果、テスト結果ＮＧによる起動であれば、つまりテスト結果ＯＫフラグがリセット状態であれば、ＣＰＵ１０１は、署名チェックを実施する（Ｓ２２）。署名チェックは、実行プログラム１３１が改ざんされていないかどうかをチェックするものであり、ブートプログラム１３４に含まれる署名チェックプログラム１３６（図１参照）を起動し、デジタル署名１３３の正当性をチェックする。
【００２３】
署名チェックを行う前提として、デジタル署名１３３は、実行プログラム１３１を基に、所定のハッシュ関数を使ってハッシュ値が算出され、そのハッシュ値を実行プログラム１３１の作成者の個人鍵で暗号化したものである。
【００２４】
この前提の下、まずＣＰＵ１０１は、実行プログラム１３１を基に、上記所定のハッシュ関数を使ってハッシュ値を算出する。次にＣＰＵ１０１は、上記実行プログラム１３１の作成者の個人鍵で暗号化されたハッシュ値を当該作成者の公開鍵で復号化する。そしてＣＰＵ１０１は、自身で算出したハッシュ値と、自身で復号化したハッシュ値とを比較し、両者が一致していれば、署名チェック合格（＝テスト結果ＯＫ）と判断し、両者が一致していなければ、署名チェック不合格と判断する。
【００２５】
続くＳ２３では、ＣＰＵ１０１は、テスト結果ＯＫかどうか、つまり署名チェック合格かどうかを判断し、テスト結果ＯＫであれば、ＣＰＵ１０１は、ハードウェアテストを実施する（Ｓ２４）。ハードウェアテストは、暗号回路１０６の異常の有無を検査するものであり、上記ブートプログラム１３４に含まれる暗号回路チェックプログラム１３５（図１参照）を起動して行われる。
【００２６】
ハードウェアテストは、具体的には、次のようにして行う。すなわち、まずＣＰＵ１０１は、暗号回路１０６に対して、所定の平文と個人鍵を与える。次にＣＰＵ１０１は、暗号回路１０６により所定の平文を暗号化した暗号文を取得する。さらにＣＰＵ１０１は、暗号回路１０６に対して、上記暗号文と上記個人鍵を与える。そしてＣＰＵ１０１は、暗号回路１０６により上記暗号文を復号化した平文を取得し、暗号化前の平文と復号化後の平文とを比較する。比較の結果、両者が一致していれば、ＣＰＵ１０１は、ハードウェアテスト合格（＝テスト結果ＯＫ）と判断し、両者が一致していなければ、ＣＰＵ１０１は、ハードウェアテスト不合格と判断する。
【００２７】
続くＳ２５では、ＣＰＵ１０１は、テスト結果ＯＫかどうか、つまりハードウェアテスト合格かどうかを判断し、テスト結果ＯＫであれば、ＣＰＵ１０１は、上記テスト結果ＯＫフラグをセットした（Ｓ２６）後、本セルフテスト処理を終了する。一方、Ｓ２５の判断の結果、テスト結果ＯＫでなければ、ＣＰＵ１０１は、上記各種フラグ１４１の１つである、ハードテストＮＧフラグをセットした（Ｓ２８）後、本セルフテスト処理を終了する。
【００２８】
一方、上記Ｓ２３の判断の結果、テスト結果ＯＫでなければ、つまり署名チェック不合格であれば、ＣＰＵ１０１は、上記各種フラグ１４１の１つである、署名チェックＮＧフラグをセットした（Ｓ２７）後、本セルフテスト処理を終了する。
【００２９】
一方、上記Ｓ２１の判断の結果、テスト結果ＮＧによる起動でなければ、つまりテスト結果ＯＫフラグがセット状態であれば、ＣＰＵ１０１は、ファームウェアアップデートによる起動であるかどうかを判断する（Ｓ２９）。この判断の結果、ファームウェアアップデートによる起動であれば、ＣＰＵ１０１は、上記Ｓ２２と同様にして、署名チェックを実施する（Ｓ３０）。
【００３０】
続くＳ３１では、ＣＰＵ１０１は、上記Ｓ２３と同様にして、テスト結果ＯＫかどうか、つまり署名チェック合格かどうかを判断し、テスト結果ＯＫであれば、ＣＰＵ１０１は、処理を図５のＳ３４に進める一方、テスト結果ＯＫでなければ、ＣＰＵ１０１は、上記Ｓ２７と同様にして、署名チェックＮＧフラグをセットした（Ｓ３２）後、本セルフテスト処理を終了する。
【００３１】
一方、上記Ｓ２９の判断の結果、ファームウェアアップデートによる起動でなければ、ＣＰＵ１０１は、複合機１００が起動前の稼働中にネットワーク接続があったかどうかを判断する（図５のＳ３３）。この判断は、上記各種フラグ１４１の１つである、ネットワーク接続フラグの状態に基づいて判断する。ネットワーク接続フラグは、複合機１００が稼働中に、ＬＡＮＩＦ１１２あるいはＷＬＡＮ ＩＦ１１３を介してネットワーク接続されたときにセットされる（後述する図６のＳ４２参照）フラグである。
【００３２】
上記Ｓ３３の判断の結果、複合機１００が起動前の稼働中にネットワーク接続があったとき、つまりネットワーク接続フラグがセット状態であるときには、ＣＰＵ１０１は、処理を上記図４のＳ３０に進めて、Ｓ３０以降の処理を継続する一方、複合機１００が起動前の稼働中にネットワーク接続がなかったときには、ＣＰＵ１０１は、処理を次のＳ３４に進める。
【００３３】
Ｓ３４では、ＣＰＵ１０１は、複合機１００の起動時にネットワーク接続があったかどうかを判断する。この判断の結果、複合機１００の起動時にネットワーク接続があれば、ＣＰＵ１０１は、上記Ｓ２４と同様にして、ハードウェアテストを実施する（Ｓ３５）。
【００３４】
続くＳ３６では、ＣＰＵ１０１は、上記Ｓ２５と同様にして、テスト結果ＯＫかどうか、つまりハードウェアテスト合格かどうかを判断し、テスト結果ＯＫであれば、ＣＰＵ１０１は、上記Ｓ２６と同様にして、テスト結果ＯＫフラグをセットした（Ｓ３８）後、本セルフテスト処理を終了する。一方、Ｓ３６の判断の結果、テスト結果ＯＫでなければ、ＣＰＵ１０１は、上記Ｓ２８と同様にして、ハードテストＮＧフラグをセットした（Ｓ３７）後、本セルフテスト処理を終了する。
【００３５】
一方、上記Ｓ３４の判断の結果、複合機１００の起動時にネットワーク接続がなければ、ＣＰＵ１０１は、処理を上記３８に進める。
【００３６】
図３に戻り、上記Ｓ２のセルフテスト処理が終了すると、ＣＰＵ１０１は、上記テスト結果ＯＫフラグがセットされているかどうかを判断する（Ｓ３）。この判断の結果、テスト結果ＯＫフラグがセットされていれば、つまり、セルフテスト処理の結果、署名チェックもハードウェアテストもいずれも合格であれば、ＣＰＵ１０１は、上記実行プログラム１３１に含まれるメインプログラムを起動し（Ｓ４）、複合機１００（マシン）を使用可能状態にした（Ｓ５）後、本起動時処理を終了する。
【００３７】
一方、上記Ｓ３の判断の結果、テスト結果ＯＫフラグがセットされていなければ、ＣＰＵ１０１は、上記署名チェックＮＧフラグがセットされているかどうかを判断する（Ｓ６）。この判断の結果、署名チェックＮＧフラグがセットされていれば、ＣＰＵ１０１は、署名ＮＧ用エラー表示を上記タッチパネル１０８上に表示し（Ｓ７）、すべての機能を停止（ＯＦＦ）させ（Ｓ８）、上記各種フラグ１４１の１つである、エラーフラグをセットした（Ｓ９）後、本起動時処理を終了する。
【００３８】
一方、上記Ｓ６の判断の結果、署名チェックＮＧフラグがセットされていなければ、このときは必ず、ハードテストＮＧフラグがセット状態であるので、ＣＰＵ１０１は、ハードＮＧ用エラー表示をタッチパネル１０８上に表示し（Ｓ１０）、暗号通信の機能を停止（ＯＦＦ）させた（Ｓ１１）後、処理を上記Ｓ９に進める。
【００３９】
複合機１００、特にＣＰＵ１０１は、起動時に実行するセルフテスト処理において、署名チェック及びハードウェアテスト（本実施形態では、暗号回路１０６の回路チェック）のうち、いずれか一方、あるいは両方を省略して、メインプログラム（暗号化プログラム１３２）を起動するようにしている。図２は、複合機１００が署名チェックあるいはハードウェアテストを省略可能あるいは省略不可能な場合を示している。なお複合機１００は、図２（ａ）に示すように、今回起動する前に、起動（前回起動）とシャットダウン（前回シャットダウン）を行っているものとする。
【００４０】
前回起動から前回シャットダウンまでの間に複合機１００がネットワーク接続されていれば（上記図５のＳ３３でＹＥＳ）、ＣＰＵ１０１は常に、つまり今回起動時に複合機１００がネットワーク接続されるかどうかに拘わらず、署名チェックを実施する（上記図４のＳ３０と図２（ｂ）に示す表中の第２列を参照）。これは、複合機１００の今回起動時に、ネットワーク接続が無かったとしても、その起動前にネットワーク接続されていれば、実行プログラム１３１は改ざんされている虞があるからである。
【００４１】
これに対して、前回起動から前回シャットダウンまでの間に複合機１００がネットワーク接続されている場合、ハードウェアテスト（暗号回路１０６の回路チェック）は、今回起動時に複合機１００がネットワーク接続されれば実行される一方、ネットワーク接続されなければ実行されない（上記図５のＳ３４と図２（ｂ）に示す表中の第２列を参照）。これは、前回起動から前回シャットダウンまでの間に複合機１００がネットワーク接続されていれば、その期間では暗号回路１０６に異常は無く、ハードウェアでの暗号化は問題なく実施されていたと考えられるからである。しかしこのことは、今回起動時に暗号回路１０６に異常が無いことまで担保することにはならないからである。
【００４２】
一方、前回起動から前回シャットダウンまでの間に複合機１００がネットワーク接続されていなければ（上記Ｓ３３でＮＯ）、ＣＰＵ１０１は常に、つまり今回起動時に複合機１００がネットワーク接続されるかどうかに拘わらず、署名チェックを実施しない（図２（ｂ）に示す表中の第３列を参照）。これは、前回起動から前回シャットダウンまでの間に複合機１００がネットワーク接続されていなければ、実行プログラム１３１が改ざんされる虞は皆無であるからである。
【００４３】
これに対して、前回起動から前回シャットダウンまでの間に複合機１００がネットワーク接続されていない場合、暗号回路１０６の回路チェックは、今回起動時に複合機１００がネットワーク接続されれば実行される一方、ネットワーク接続されなければ実行されない（上記図５のＳ３４と図２（ｂ）に示す表中の第３列を参照）。これは、前回起動から前回シャットダウンまでの間に複合機１００がネットワーク接続されていなければ、その期間内に暗号化は実施されていないので、今回起動時に暗号回路１０６に異常が無いかどうかは不明であるからである。
【００４４】
次に、ＣＰＵ１０１が実行する稼働中処理について、図６及び図７に基づいて詳細に説明する。本稼働中処理は、上記図３のＳ４でメインプログラムが起動され、Ｓ５で複合機１００が使用可能となった後に、実行されるものである。
【００４５】
本稼働中処理では、まずＣＰＵ１０１は、ネットワーク接続を検出したかどうかを判断する（Ｓ４１）。ここでネットワーク接続は、上記ＬＡＮＩＦ１１２及び上記ＷＬＡＮ ＩＦ１１３のいずれを介してのネットワーク接続であってもよい。
【００４６】
Ｓ４１の判断の結果、ネットワーク接続を検出すれば、ＣＰＵ１０１は、上記ネットワーク接続フラグをセットし（Ｓ４２）、ハードウェアテストを実施済みであるかどうかを判断する（Ｓ４３）。この判断は、上記各種フラグ１４１の１つである、ハードテスト完了フラグの状態に基づいてなされる。ハードテスト完了フラグは、ＣＰＵ１０１がハードウェアテストを実行したときにセットされるフラグである。したがって、ＣＰＵ１０１は、上記図４のＳ２４や上記図５のＳ３５等でハードウェアテストを実施したときに一緒に、ハードテスト完了フラグもセットする。またＣＰＵ１０１は、図３の起動時処理が終了したことに応じて、ネットワーク接続フラグをリセット状態とする。
【００４７】
上記Ｓ４３の判断の結果、ハードウェアテストを実施済みであれば、つまりハードテスト完了フラグがセットされていれば、ＣＰＵ１０１は、本稼働中処理を終了する一方、ハードウェアテストを未実施であれば、ＣＰＵ１０１は、上記Ｓ２４と同様にして、ハードウェアテストを実施する（Ｓ４４）。
【００４８】
続くＳ４５では、ＣＰＵ１０１は、テスト結果ＯＫかどうか、つまりハードウェアテスト合格かどうかを判断し、テスト結果ＯＫであれば、ＣＰＵ１０１は、本稼働中処理を終了する。一方、Ｓ４５の判断の結果、テスト結果ＯＫでなければ、ＣＰＵ１０１は、上記図３のＳ１０と同様にして、ハードＮＧ用エラー表示をタッチパネル１０８上に表示し（Ｓ４６）、上記図３のＳ１１と同様にして、暗号通信の機能を停止（ＯＦＦ）させ（Ｓ４７）、上記図３のＳ９と同様にして、エラーフラグをセットした（Ｓ４８）後、本稼働中処理を終了する。
【００４９】
一方、上記Ｓ４１の判断の結果、ネットワーク接続を検出しなければ、ＣＰＵ１０１は、ファームウェアアップデートの実施要求があるかどうかを判断する（Ｓ４９）。この判断の結果、ファームウェアアップデートの実施要求があれば、ＣＰＵ１０１は、ファームウェアアップデートを実施し（Ｓ５０）、再起動を指示した（Ｓ５１）後、本稼働中処理を終了する。
【００５０】
一方、上記Ｓ４９の判断の結果、ファームウェアアップデートの実施要求がなければ、ＣＰＵ１０１は、処理を図７のＳ５２に進める。
【００５１】
Ｓ５２では、ＣＰＵ１０１は、データ暗号化要求があるかどうかを判断する。この判断の結果、データ暗号化要求があれば、ＣＰＵ１０１は、上記エラーフラグがセットされているかどうかを判断する（Ｓ５３）。この判断の結果、エラーフラグがセットされていなければ、暗号回路１０６は正常に作動しているので、ＣＰＵ１０１は、ハードウェアでの暗号化を実施させた（Ｓ５４）後、本稼働中処理を終了する。
【００５２】
一方、上記Ｓ５３の判断の結果、エラーフラグがセットされていれば、暗号回路１０６は異常であるので、ＣＰＵ１０１は、上記実行プログラム１３１に含まれる暗号化プログラム１３２を起動し、ソフトウェアでの暗号化を実施した（Ｓ５５）後、本稼働中処理を終了する。
【００５３】
一方、上記Ｓ５２の判断の結果、データ暗号化要求がなければ、ＣＰＵ１０１は、上記図６のＳ４１に戻って、Ｓ４１以降の処理を継続する。
【００５４】
以上説明したように、本実施形態の複合機１００は、ネットワークに接続される通信部１１０と、実行プログラム１３１を記憶するフラッシュＲＯＭ１３０と、実行プログラム１３１の異常の有無を判断する署名チェックプログラム１３６を実行するメインＣＰＵ１０１と、を備えている。
【００５５】
メインＣＰＵ１０１は、起動指示を受けたことに応じて、複合機１００の前回起動から前回シャットダウンまでの期間内に通信部１１０がネットワーク接続されたか否かを判断するＳ３３の処理と、Ｓ３３の処理により否定判断した場合には、署名チェックプログラム１３６を行わずに、実行プログラム１３１を起動するＳ４の処理と、を実行する。
【００５６】
このように、本実施形態の複合機１００では、Ｓ３３の処理により否定判断した場合には、署名チェックプログラム１３６を行わずに、実行プログラム１３１を起動するようにしたので、実行プログラムの起動を早くすることが可能となる。
【００５７】
ちなみに、本実施形態において、複合機１００は、「情報処理装置」の一例である。フラッシュＲＯＭ１３０は、「記憶部」の一例である。署名チェックプログラム１３６は、「第１異常判断処理」の一例である。メインＣＰＵ１０１は、「制御部」の一例である。Ｓ３３の処理は、「第１判断処理」の一例である。Ｓ４の処理は、「第１起動処理」の一例である。
【００５８】
また複合機１００は、通信部１１０から送信される通信データを暗号化する暗号回路１０６をさらに備え、メインＣＰＵ１０１は、暗号回路１０６の異常の有無を判断する暗号回路チェックプログラム１３５を実行するように構成されている。そしてメインＣＰＵ１０１はさらに、通信部１１０がネットワーク接続されている状態か否かを判断するＳ３４の処理と、Ｓ３４の処理により否定判断した場合には、暗号回路チェックプログラム１３５を行わずに、実行プログラム１３１を起動するＳ４の処理と、を実行する。
【００５９】
このように、本実施形態の複合機１００では、Ｓ３４の処理により否定判断した場合には、暗号回路チェックプログラム１３５を行わずに、実行プログラム１３１を起動するようにしたので、実行プログラムの起動を早くすることが可能となる。
【００６０】
ちなみに、暗号回路チェックプログラム１３５は、「第２異常判断処理」の一例である。Ｓ３４の処理は、「第２判断処理」の一例である。Ｓ４の処理は、「第２起動処理」の一例である。
【００６１】
メインＣＰＵ１０１はさらに、起動指示を受けたことに応じて、Ｓ３３の処理及びＳ３４の処理の両方の判断処理により肯定判断した場合には、署名チェックプログラム１３６及び暗号回路チェックプログラム１３５の両方を行ってから、実行プログラム１３１を起動するＳ４の処理を実行する。
【００６２】
これにより、セキュリティを確保することが可能となる。
【００６３】
ちなみに、Ｓ４の処理は、「第３起動処理」の一例である。
【００６４】
メインＣＰＵ１０１はさらに、起動指示を受けたことに応じて、Ｓ３３の処理により肯定判断し、かつＳ３４の処理により否定判断した場合には、署名チェックプログラム１３６及び暗号回路チェックプログラム１３５のうち、署名チェックプログラム１３６のみを実行してから、実行プログラム１３１を起動するＳ４の処理を実行する。
【００６５】
これにより、署名チェックプログラム１３６及び暗号回路チェックプログラム１３５のうち、署名チェックプログラム１３６のみを実行してから、実行プログラム１３１を起動するので、実行プログラムの起動を早くすることが可能となる。
【００６６】
ちなみに、Ｓ４の処理は、「第４起動処理」の一例である。
【００６７】
メインＣＰＵ１０１はさらに、起動指示を受けたことに応じて、Ｓ３３の処理により否定判断し、かつＳ３４の処理により肯定判断した場合には、署名チェックプログラム１３６及び暗号回路チェックプログラム１３５のうち、暗号回路チェックプログラム１３５のみを実行してから、実行プログラム１３１を起動するＳ４の処理を実行する。
【００６８】
これにより、署名チェックプログラム１３６及び暗号回路チェックプログラム１３５のうち、暗号回路チェックプログラム１３５のみを実行してから、実行プログラム１３１を起動するので、実行プログラムの起動を早くすることが可能となる。
【００６９】
ちなみに、Ｓ４の処理は、「第５起動処理」の一例である。
【００７０】
メインＣＰＵ１０１はさらに、複合機１００の稼働中に、通信部１１０がネットワーク接続されたか否かを判断するＳ４１の処理を実行し、メインＣＰＵ１０１は、起動指示を受けたことに応じて、Ｓ４１の処理により肯定判断し、かつＳ３４の処理により否定判断した場合に、暗号回路チェックプログラム１３５を実行してから、実行プログラム１３１を起動するＳ４の処理を実行する。
【００７１】
これにより、セキュリティを確保することが可能となる。
【００７２】
ちなみに、Ｓ４１の処理は、「第３判断処理」の一例である。Ｓ４の処理は、「第６起動処理」の一例である。
【００７３】
起動指示は、起動指示後に実行プログラム１３１のアップデートが実行された後の再起動指示（Ｓ５０）を含む。
【００７４】
なお、本発明は上記実施形態に限定されるものでなく、その趣旨を逸脱しない範囲で様々な変更が可能である。
【００７５】
（１）上記実施形態では、情報処理装置として複合機１００を採用したが、これに限らず、単体のコピー機、プリンタあるいはスキャナなどを採用してもよい。但しこの場合でも、ネットワーク接続可能な通信部を備え、外部の機器と暗号通信ができるように構成されている必要がある。また画像形成装置に限らず、スマートフォンやタブレット端末、ＰＣ（パーソナルコンピュータ）、ＰＤＡ（personal digital assistant）などを採用してもよい。
【００７６】
（２）上記実施形態では、暗号回路１０６に異常が無い限り、暗号回路１０６を用いてハードウェアでの暗号化を行っているが、これに限らず、暗号化の一部をソフトウェアで行うようにしてもよい。
【００７７】
（３）上記実施形態では、ハードウェアテストの対象を暗号回路１０６に限定しているが、これに加えて、乱数生成回路１０７を対象にしてもよい。乱数生成回路１０７に対するハードウェアテストは、具体的には、乱数生成回路１０７に付与する条件を特定した場合に、乱数生成回路１０７から特定の乱数が生成されるかどうかをチェックする。なお乱数生成回路１０７は、上記実施形態ではハードウェアにより構成したが、これに限らず、ソフトウェアにより構成してもよい。
【００７８】
（４）上記実施形態では、実行プログラム１３１の改ざんチェックを、署名チェックプログラム１３６によりソフトウェアで行うようにしたが、これに限らず、ハードウェアで行うようにしてもよい。同様に上記実施形態では、暗号回路１０６の異常チェックも、暗号回路チェックプログラム１３５によりソフトウェアで行うようにしたが、これに限らず、ハードウェアで行うようにしてもよい。
【符号の説明】
【００７９】
１００  複合機
１０１  メインＣＰＵ
１０２  サブＣＰＵ
１０６  暗号回路
１０７  乱数生成回路
１０８  タッチパネル
１０９  ハードキー
１１０  通信部
１１２  ＬＡＮ ＩＦ
１１３  ＷＬＡＮ ＩＦ
１２０  ＲＡＭ
１３０  フラッシュＲＯＭ
１３１  実行プログラム
１３２  暗号化プログラム
１３３  デジタル署名
１３４  ブートプログラム
１３５  暗号回路チェックプログラム
１３６  署名チェックプログラム
１４０  ＥＥＰＲＯＭ
１４１  各種フラグ
【図１】
2020088793.tif 000003
【図２】
2020088793.tif 000004
【図３】
2020088793.tif 000005
【図４】
2020088793.tif 000006
【図５】
2020088793.tif 000007
【図６】
2020088793.tif 000008
【図７】
2020088793.tif 000009