(57)【要約】【課題】  待機状態からの起動時にユーザからの所定の操作無しでソフトウェアの改ざん検知処理を省略する。【解決手段】  所定のソフトウェアの改ざんを検知することが可能な電子機器において、電源オフ指示に従って、電子機器をパワーオフ状態またはサスペンド状態に移行する。パワーオフ状態からの起動時に所定のソフトウェアの改ざんを検知するが（Ｓ７０４）、サスペンド状態からの起動時には所定のソフトウェアの改ざんを検知する処理を実行しない（Ｓ７０８）。【選択図】  図７
2020149164.tif 000002
【特許請求の範囲】
【請求項１】
所定のソフトウェアの改ざんを検知することが可能な電子機器であって、
電源オフ指示に従って、前記電子機器を第１のオフ状態または第２のオフ状態に移行する移行手段と、
前記第１のオフ状態からの起動時に所定のソフトウェアの改ざんを検知する検知手段と、を備え、
前記検知手段は、前記第２のオフ状態からの起動時には前記所定のソフトウェアの改ざんを検知する処理を実行しない、ことを特徴とする電子機器。
【請求項２】
前記電源オフ指示に従って移行するべき状態を設定する設定手段をさらに備え、
前記移行手段は、前記設定手段によって設定された設定に基づいて、前記電子機器を前記第１のオフ状態または前記第２のオフ状態に移行する、ことを特徴とする請求項１に記載の電子機器。
【請求項３】
前記移行手段は、電源スイッチの操作時間に基づいて、前記電子機器を前記第１のオフ状態または前記第２のオフ状態に移行する、ことを特徴とする請求項１に記載の電子機器。
【請求項４】
前記検知手段は、少なくとも予め記憶された正解値データと前記所定のソフトウェアのハッシュ値とに基づいて、所定のソフトウェアの改ざんを検知する、ことを特徴とする請求項１乃至３の何れか１項に記載の電子機器。
【請求項５】
起動時に所定のソフトウェアの改ざんを検知するか否かを設定する設定手段をさらに備え、
前記検知手段は、前記設定手段によって設定された設定に基づいて、前記第１のオフ状態からの起動時に所定のソフトウェアの改ざんを検知する、又は、前記第１のオフ状態からの起動時に所定のソフトウェアの改ざんを検知しない、ことを特徴とする請求項１乃至４の何れか１項に記載の電子機器。
【請求項６】
前記検知手段は、前記設定手段によって起動時に所定のソフトウェアの改ざんを検知すると設定されていても、前記第２のオフ状態からの起動時には前記所定のソフトウェアの改ざんを検知する処理を実行しない、ことを特徴とする請求項５に記載の電子機器。
【請求項７】
前記検知手段によって所定のソフトウェアの改ざんが検知された場合に、エラーを通知する通知手段をさらに備える、ことを特徴とする請求項１乃至６の何れか１項に記載の電子機器。
【請求項８】
前記第１のオフ状態は、ＡＣＰＩのＳ５状態であり、前記第２のオフ状態は、ＡＣＰＩのＳ３状態又はＳ４状態である、ことを特徴とする請求項１乃至７の何れか１項に記載の電子機器。
【請求項９】
前記所定のソフトウェアは、ブートプログラム及びオペレーションシステムの少なくとも１つを含む、ことを特徴とする請求項１乃至８の何れか１項に記載の電子機器。
【請求項１０】
記録媒体に画像を印刷する印刷手段をさらに備える、ことを特徴とする請求項１乃至９の何れか１項に記載の電子機器。
【請求項１１】
原稿の画像を読み取る読取手段をさらに備える、ことを特徴とする請求項１乃至１０の何れか１項に記載の電子機器。
【請求項１２】
所定のソフトウェアの改ざんを検知することが可能な電子機器の制御方法であって、
電源オフ指示に従って、前記電子機器を第１のオフ状態または第２のオフ状態に移行する移行ステップと、
前記第１のオフ状態からの起動時に所定のソフトウェアの改ざんを検知する検知ステップと、を備え、
前記第２のオフ状態からの起動時には前記所定のソフトウェアの改ざんを検知する処理を実行しない、ことを特徴とする電子機器の制御方法。
【請求項１３】
所定のソフトウェアの改ざんを検知することが可能な電子機器であって、
前記電子機器を待機状態に移行することが可能な移行手段と、
所定のソフトウェアの改ざんを検知する検知手段と、
前記待機状態からの起動時に前記所定のソフトウェアの改ざんを検知するか否かを設定する設定手段と、を備えることを特徴とする電子機器。
【請求項１４】
前記検知手段は、前記設定手段によって設定された設定に基づいて、前記待機状態からの起動時に所定のソフトウェアの改ざんを検知する、又は、前記待機状態からの起動時に所定のソフトウェアの改ざんを検知しない、ことを特徴とする請求項１３に記載の電子機器。
【請求項１５】
前記待機状態に移行するか否かを設定する設定手段をさらに備え、
前記移行手段は、前記設定手段によって設定された設定に基づいて、前記電子機器を電源オフ状態または待機状態に移行する、ことを特徴とする請求項１３又は１４に記載の電子機器。
【請求項１６】
前記移行手段は、電源スイッチの操作時間に基づいて、前記電子機器を電源オフ状態または前記待機状態に移行する、ことを特徴とする請求項１３又は１４に記載の電子機器。
【請求項１７】
前記検知手段は、少なくとも予め記憶された正解値データと前記所定のソフトウェアのハッシュ値とに基づいて、所定のソフトウェアの改ざんを検知する、ことを特徴とする請求項１３乃至１６の何れか１項に記載の電子機器。
【請求項１８】
電源オフ状態からの起動時に所定のソフトウェアの改ざんを検知するか否かを設定する他の設定手段をさらに備え、
前記検知手段は、前記他の設定手段によって設定された設定に基づいて、前記電源オフ状態からの起動時に所定のソフトウェアの改ざんを検知する、又は、前記電源オフ状態からの起動時に所定のソフトウェアの改ざんを検知しない、ことを特徴とする請求項１３乃至１７の何れか１項に記載の電子機器。
【請求項１９】
前記検知手段によって所定のソフトウェアの改ざんが検知された場合に、エラーを通知する通知手段をさらに備える、ことを特徴とする請求項１３乃至１８の何れか１項に記載の電子機器。
【請求項２０】
前記待機状態は、ＡＣＰＩのＳ３状態又はＳ４である、ことを特徴とする請求項１３乃至１９の何れか１項に記載の電子機器。
【請求項２１】
前記所定のソフトウェアは、ブートプログラム及びオペレーションシステムの少なくとも１つを含む、ことを特徴とする請求項１３乃至２０の何れか１項に記載の電子機器。
【請求項２２】
記録媒体に画像を印刷する印刷手段をさらに備える、ことを特徴とする請求項１３乃至２１の何れか１項に記載の電子機器。
【請求項２３】
原稿の画像を読み取る読取手段をさらに備える、ことを特徴とする請求項１３乃至２２の何れか１項に記載の電子機器。
【請求項２４】
所定のソフトウェアの改ざんを検知することが可能な電子機器の制御方法であって、
前記電子機器を待機状態に移行する移行ステップと、
前記待機状態からの起動時に前記所定のソフトウェアの改ざんを検知するか否かを設定する設定ステップと、を備えることを特徴とする電子機器の制御方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、起動時にソフトウェアの改ざん検知処理を省略することが可能な電子機器等に関する。
【背景技術】
【０００２】
ソフトウェアの脆弱性をついてソフトウェアを改ざんし、コンピュータを悪用しようとする攻撃が問題となっている。ソフトウェアの改ざんへの対策として、装置の起動時にソフトウェアの改ざんの検知を行う技術が知られている（例えば、特許文献１及び特許文献２）。特許文献１には、装置の起動時に、ブートプログラムのハッシュ値と予め記憶された値とを比較し、ハッシュ値と予め記憶された値とが一致すれば、起動を許可する装置が開示されている。起動時にソフトウェアの改ざんの検知を行うと、ソフトウェアの改ざんの検知に要する時間だけ、通常の起動時間より起動時間が長くなる。特許文献２には、起動時にキーボードのファンクションキーの押下により、一時的にソフトウェアの改ざんの検知をスキップする装置が開示されている。
【０００３】
また、環境への配慮のために、例えば、欧州待機電力実施規則（ＥｒＰ  Ｌｏｔ６）は、機器が電源オフ状態（ＡＣプラグのみが接続されている状態）や待機状態（起動機能のみを有効にする状態）のときの消費電力が０．５Ｗ以下となるように求めている。そこで、例えば、消費電力が０．５Ｗ以下であって且つ待機状態からの起動時間を短くするために、ＡＣＰＩのＳ３状態やＳ４状態での消費電力が０．５Ｗ以下となる装置が提案されている。ＡＣＰＩは、Ａｄｖａｎｃｅｄ  Ｃｏｎｆｉｇｕｒａｔｉｏｎ  ａｎｄ  Ｐｏｗｅｒ  Ｉｎｔｅｒｆａｃｅの略である。Ｓ３状態は、ＳＴＲ（Ｓｕｓｐｅｎｄ  Ｔｏ  ＲＡＭ）状態であり、Ｓ４状態は、ＳＴＤ（Ｓｕｓｐｅｎｄ  Ｔｏ  Ｄｉｓｋ）状態である。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特開２００８−２４４９９２号公報
【特許文献２】特開２０１３−１４９１３５号公報
【発明の概要】
【発明が解決しようとする課題】
【０００５】
装置を短時間で起動させたいユーザは、装置の不使用時には、ＡＣＰＩのＳ５状態では無く、装置がＳ３状態やＳ４状態に移行させる。しかし、Ｓ３状態やＳ４状態からの起動時に、特許文献１のようにソフトウェアの改ざん検知処理を行うと、改ざん検知処理に要する時間だけ起動時間が長くなってしまう。特許文献２では、ソフトウェアの改ざん検知処理を一時的な解除操作（ファンクションキーの押下）によってスキップすることが可能であるが、ユーザは、装置を起動させるたびに解除操作を行う必要がある。
【０００６】
そこで、本発明は、上記課題を鑑みてなされたものであり、待機状態からの起動時にユーザからの所定の操作無しでソフトウェアの改ざん検知処理を省略することを目的とする。
【課題を解決するための手段】
【０００７】
上記の目的を達成するために、本発明の電子機器は、所定のソフトウェアの改ざんを検知することが可能な電子機器であって、電源オフ指示に従って、前記電子機器を第１のオフ状態または第２のオフ状態に移行する移行手段と、前記第１のオフ状態からの起動時に所定のソフトウェアの改ざんを検知する検知手段と、を備える。前記検知手段は、前記第２のオフ状態からの起動時には前記所定のソフトウェアの改ざんを検知する処理を実行しない。
【発明の効果】
【０００８】
本発明によれば、待機状態からの起動時にユーザからの所定の操作無しでソフトウェアの改ざん検知処理を省略することができる。
【図面の簡単な説明】
【０００９】
【図１】画像形成装置１００の構成を示すハードウェアブロック図
【図２Ａ】スリープ状態の画像形成装置１００を示す図
【図２Ｂ】サスペンド状態の画像形成装置１００を示す図
【図２Ｃ】パワーオフ状態の画像形成装置１００を示す図
【図３】ＲＯＭ１１２に記憶される各種プログラムを示した図
【図４】主電源ＯＮ時の高速起動を実行するかどうかを設定する画面
【図５】起動時にソフトウェアの改ざんを検知するか否かを設定するための画面
【図６】電源スイッチがオフされたときに実行されるフローチャート
【図７】電源スイッチがオンされたときに実行されるフローチャート
【図８】サスペンド状態からの起動時にソフトウェアの改ざんを検知するか否かを設定するための画面
【図９】電源スイッチがオンされたときに実行されるフローチャート
【発明を実施するための形態】
【００１０】
本発明を実施するための形態について図面を用いて説明する。ここでは、電子機器の一例として、プリント機能やスキャン機能を有する画像形成装置を例に説明する。画像形成装置１００は、通常電力状態、スリープ状態、サスペンド状態（待機状態）、パワーオフ状態（電源オフ状態）に移行可能である。通常電力状態は、ＡＣＰＩのＳ０状態であり、スリープ状態及びサスペンド状態は、ＡＣＰＩのＳ３状態であり、パワーオフ状態は、ＡＣＰＩのＳ５状態である。なお、画像形成装置１００は、ＡＣＰＩのＳ４状態であるハイバネーション状態に移行しても良い。
【００１１】
［実施例１］
図１は、画像形成装置１００の構成を示すハードウェアブロック図である。画像形成装置１００は、メインコントローラ１１０と、操作部ユニット１３０と、プリンタユニット１４０と、スキャナユニット１５０と、ＦＡＸ（Ｆａｃｓｉｍｉｌｅ）ユニット１６０と、を備える。メインコントローラ１１０は、画像形成装置１００の各部（操作部ユニット１３０、プリンタユニット１４０、スキャナユニット１５０、ＦＡＸユニット１６０）を制御する。メインコントローラ１１０は、ＣＰＵ（Ｃｅｎｔｒａｌ  Ｐｒｏｃｅｓｓｉｎｇ  Ｕｎｉｔ）１１１、ＲＯＭ（Ｒｅａｄ  Ｏｎｌｙ  Ｍｅｍｏｒｙ）１１２、及び、ＲＡＭ（Ｒａｎｄｏｍ  ａｃｃｅｓｓ  ｍｅｍｏｒｙ）１１３を有する。また、メインコントローラ１１０は、ＨＤＤ（Ｈａｒｄ  Ｄｉｓｋ  Ｄｒｉｖｅ）１１４、及び、ＣＰＬＤ（Ｃｏｍｐｌｅｘ  Ｐｒｏｇｒａｍｍａｂｌｅ  Ｌｏｇｉｃ  Ｄｅｖｉｃｅ）１１５を有する。また、メインコントローラ１１０は、操作部Ｉ／Ｆ１１６、プリンタＩ／Ｆ１１７、スキャナＩ／Ｆ１１８、ＵＳＢ（Ｕｎｉｖｅｒｓａｌ  Ｓｅｒｉａｌ  Ｂｕｓ）−ＨｏｓｔＩ／Ｆ１１９、及び、ネットワークＩ／Ｆ１２０を有する。上記したＩ／Ｆは、インターフェースの略である。
【００１２】
ＣＰＵ１１１は、ＣＰＵ１１１の周辺の装置や回路の制御やデータの演算などを行う。システムバス１２１は、ＣＰＵ１１１が他のデバイスにアクセスするため、および、他のデバイス同士がアクセスする伝送路である。ＣＰＵ１１１は、ＲＯＭ１１２に記憶されたメインコントローラ１１０用のプログラムをＲＡＭ１１３に展開して実行する。ＲＡＭ１１３は、メインメモリであって、プログラム内の変数や、各ユニットからＤｙｎａｍｉｃ  Ｍｅｍｏｒｙ  Ａｃｃｅｓｓ（以下、ＤＭＡ）で転送されるデータを記憶する。ＨＤＤ１１４は、画像形成装置１００が動作するために必要な各種プログラム（例えば、オペレーティングシステム）、データベース、一時保存ファイルを格納する。
【００１３】
操作部Ｉ／Ｆ１１６には、操作部ユニット１３０が接続されている。操作部Ｉ／Ｆ１１６は、操作部ユニット１３０がユーザによって入力された指示を、ＣＰＵ１１１に伝達するためのＩ／Ｆである。操作部ユニット１３０は、情報を表示する表示部、及び、ユーザからの入力を受け付ける入力部を有する。入力部は、例えば、キーボード、ハードキー、タッチセンサである。操作部Ｉ／Ｆ１１６は、操作部ユニット１３０の表示部に表示される表示データをＣＰＵ１１１から受信し、操作部ユニット１３０に送信する。また、プリンタＩ／Ｆ１１７には、プリンタユニット（印刷手段）１４０が接続されている。プリンタＩ／Ｆ１１７は、画像データをプリンタユニット１４０に送信する。プリンタユニット１４０は、受信した画像データに基づいてプリントする。スキャナＩ／Ｆ１１８には、スキャナユニット（読取手段）１５０が接続されている。スキャナユニット１５０は、原稿上の画像をＣＣＤ（ＣｈａｒｇｅＣｏｕｐｌｅｄＤｅｖｉｃｅ）等により構成されるラインセンサにより読み取り、画像データを生成する。スキャナユニット１５０は、生成した画像データをスキャナＩ／Ｆ１１８に送信する。スキャナＩ／Ｆ１１８は、ＨＤＤ１１４に画像データを格納する。
【００１４】
ＵＳＢ−ＨｏｓｔＩ／Ｆ１１９は、ＵＳＢ−ＨｏｓｔＩ／Ｆ１１９に通信可能に接続されたＵＳＢデバイスと通信する。ＵＳＢ−ＨｏｓｔＩ／Ｆ１１９には、ＵＳＢケーブルが接続される。なお、ＵＳＢ−ＨｏｓｔＩ／Ｆ１１９に、ＵＳＢデバイスを直接接続しても良い。この実施例のＵＳＢ−ＨｏｓｔＩ／Ｆ１１９は、メインコントローラ１１０とＦＡＸユニット１６０を接続するためのインターフェースである。ＦＡＸユニット１６０は、ＵＳＢ−ＨｏｓｔＩ／Ｆ１１９を介して送信された画像データに基づいて、ＦＡＸ回線１０５にＦＡＸデータを送信する。また、ＦＡＸユニット１６０は、ＦＡＸ回線１０５から受信したＦＡＸデータに基づいて画像データを生成し、当該画像データをＵＳＢ−ＨｏｓｔＩ／Ｆ１１９を介してＨＤＤ１１４に転送する。なお、ＨＤＤ１１４に記憶された画像データは、プリンタユニット１４０によって記憶媒体にプリントされる。なお、ＵＳＢ−ＨｏｓｔＩ／Ｆ１１９は、外部ＵＳＢデバイス１０４とも接続可能である。例えば、外部ＵＳＢデバイス１０４は、ＵＳＢメモリやＵＳＢキーボードなどである。ＵＳＢメモリは、アップデートに必要な更新ファイルを転送することが可能である。
【００１５】
ネットワークＩ／Ｆ１２０は、ネットワークＩ／Ｆ１２０に通信可能に接続されたネットワーク上の他の機器（例えば、ＰＣ１０２）と通信を行う。ネットワークＩ／Ｆ１２０には、ネットワークケーブル（例えば、ＬＡＮケーブル）が接続される。ネットワークＩ／Ｆ１２０は、ＬＡＮ１０１を介して、ＰＣ１０２やサーバ装置１０３と通信を行う。ＰＣ１０２は、印刷データの送信、ＷＥＢブラウザ経由での画像形成装置１００の操作、ファームウェアファイルの送信等が可能である。
【００１６】
ＣＰＬＤ（結合プログラマブル論理回路）１１５は、画像形成装置１００の各部への電力の供給と停止を行う電力制御手段として機能する。ＣＰＵ１１１は、画像形成装置１００を、通常動作状態（ＡＣＰＩ−Ｓ０）、スリープ状態（ＡＣＰＩ−Ｓ３）、サスペンド状態（ＡＣＰＩ−Ｓ３）、パワーオフ状態（ＡＣＰＩ−Ｓ５）に移行可能である。
【００１７】
ＣＰＬＤ１１５は、ＣＰＵ１１１が通知する電力状態を示す情報に基づいて、画像形成装置１００の各部の電力の供給と停止を行う。通常動作状態では、画像形成装置１００の各部に電力が供給される。ＣＰＵ１１１からスリープ状態が通知されると、ＣＰＬＤ１１５は、図２Ａに示すように、ＣＰＵ１１１、ＲＯＭ１１２、ＨＤＤ１１４、プリンタＩ／Ｆ１１７、スキャナＩ／Ｆ１１８、プリンタユニット１４０、及び、スキャナユニット１５０への電力を停止する。また、ＣＰＵ１１１からサスペンド状態が通知されると、ＣＰＬＤ１１５は、図２Ｂに示すように、ＲＡＭ１１３及び自身（ＣＰＬＤ１１５）以外への電力を停止する。サスペンド状態では、ＲＡＭ１１３への電力は停止されないので、ＲＡＭ１１３はデータを保持することが可能である。なお、ＲＡＭ１１３は、ＤＲＡＭであって、サスペンド状態においてセルフリフレッシュモードになっていても良い。また、ＣＰＵ１１１からパワーオフ状態が通知されると、ＣＰＬＤ１１５は、図２Ｃに示すように、全てのデバイスへの電力を停止する。パワーオフ状態であっても、電源スイッチの操作を検知する個所には電力が供給されている。
【００１８】
ＣＰＵ１１１は、スリープ移行条件を満たすと判定すると、スリープ移行処理を実行する。そして、ＣＰＬＤ１１５にスリープ状態を通知する。本実施例の画像形成装置１００は、スリープ移行条件として、ＰＣ１０２やサーバ装置１０３から所定のアクセスを受信せず且つ操作部ユニット１３０がユーザ操作を受け付けずに所定時間が経過した場合に、スリープ状態に移行する。また、画像形成装置１００は、操作部ユニット１３０に設けられる節電ボタン（図示せず）が押下された場合に、スリープ状態に移行する。
【００１９】
また、本実施例では、電源オフ指示に従って、画像形成装置１００は、サスペンド状態またはパワーオフ状態に移行する。電源オフ指示とは、電源スイッチのオフ操作、外部装置からのリモートオフ指示、指定した時刻にタイマから発行されるオフ指示、所定の時間経過でタイマから発行されるオフ指示である。例えば、電源オフ指示を受信したときにサスペンド状態に移行するかパワーオフ状態に移行するかを予め設定しておき（図４参照）、電源オフ指示に従って、画像形成装置１００は、予め設定された状態（サスペンド状態またはパワーオフ状態）に移行する。なお、電源スイッチの操作時間に応じて、サスペンド状態に移行するかパワーオフ状態に移行するかを決定しても良い。例えば、電源スイッチを長押しした場合に、画像形成装置１００はパワーオフ状態に移行し、電源スイッチを短押しした場合に、画像形成装置１００はサスペンド状態に移行する。
【００２０】
サスペンド状態で電源スイッチがオンされた場合に、画像形成装置１００は通常電力状態に起動する。また、パワーオフ状態で電源スイッチがオンされた場合に、画像形成装置１００は通常電力状態に起動する。サスペンド状態から通常電力状態に起動するまでに要する時間は、パワーオフ状態から通常電力状態に起動するまでに要する時間より短い。サスペンド状態から通常電力状態への起動時間は短いが、サスペンド状態はパワーオフ状態より消費電力が大きい。また、パワーオフ状態に移行する前には、シャットダウン処理（アプリケーションの終了処理やオペレーティングシステムの終了処理を含む処理）を実行する。サスペンド状態への移行時には、シャットダウン処理は実行されない。
【００２１】
図３は、ＲＯＭ１１２に記憶される各種プログラムを示した図である。ＲＯＭ１１２に記憶されるプログラムは、メインコントローラ１１０のＣＰＵ１１１により実行される。
【００２２】
操作部制御プログラム３１１は、操作部Ｉ／Ｆ１１６を介して、操作部ユニット１３０の制御を行うためのプログラムである。プリンタ制御プログラム３１２は、プリンタＩ／Ｆ１１７を介して、プリンタユニット１４０の制御を行うためのプログラムである。スキャナ制御プログラム３１３は、スキャナＩ／Ｆ１１８を介して、スキャナユニット１５０の制御を行うためのプログラムである。
【００２３】
ＵＳＢ制御プログラム３１４は、ＵＳＢ−ＨｏｓｔＩ／Ｆ１１９を介して、その先のＵＳＢデバイスの制御を行うためのプログラムである。また、ＵＳＢ制御プログラム３１４は、外部ＵＳＢデバイス１０４から送信されたデータの処理を行う。外部ＵＳＢデバイス１０４から送信されたファイルは、ＨＤＤ１１４に保存される。
【００２４】
電力制御プログラム３１５は、ＣＰＬＤ１１５や各ユニットと通信して、画像形成装置１００の各部の電力制御を行う。電力制御プログラム３１５は、スリープ移行条件を満たしたか否かを判定して、スリープ移行条件を満たしたと判定したら、ＣＰＬＤ１１５にスリープ状態を通知する。また、電力制御プログラム３１５は、サスペンド移行条件を満たしたか否かを判定して、サスペンド移行条件を満たしたと判定したら、ＣＰＬＤ１１５にサスペンド状態を通知する。また、電力制御プログラム３１５は、パワーオフ移行条件を満たしたか否かを判定して、パワーオフ移行条件を満たしたと判定したら、ＣＰＬＤ１１５にパワーオフ状態を通知する。
【００２５】
ブートプログラム（ブートローダー）３１６は、オペレーティングシステムを起動するためのプログラムである。正解値データ３１７は、ソフトウェアの改ざんの有無を判定する際に利用されるデータである。この正解値データ３１７は、ソフトウェアが更新されると正解値データ３１７も更新される。
【００２６】
改ざん検知プログラム３１８は、画像形成装置１００の起動時に、対象のソフトウェアの計算値（例えば、ハッシュ値）を計算し、正解値データ３１７と一致するか否かの判定を行う。本実施例では、改ざん検知プログラム３１８は、ブートプログラム３１６及びオペレーティングシステムの改ざんを検知する。したがって、正解値データ３１７は、ブートプログラム３１６の計算値と比較される正解値と、オペレーティングシステムの計算値と比較される正解値と、を有する。計算値と正解値とが一致しない場合は、対象のソフトウェアに改ざんがあったと判断して、操作部Ｉ／Ｆ１１６を介して、操作部ユニット１３０の表示部にエラー情報が表示される。
【００２７】
図４は、主電源ＯＮ時の高速起動を実行するかどうかを設定する画面である。
【００２８】
図４の画面には、「主電源ＯＮ時の高速起動」というメッセージが表示されている。この図４の画面では、主電源（すなわち、電源スイッチ）をオンしたときに高速起動を実行するかどうかを設定することができる。図４の画面において、ＯＮボタン４０１が選択されると、電源スイッチをオフしたときに、画像形成装置１００はサスペンド状態に移行する。一方で、図４の画面において、ＯＦＦボタン４０２が選択されると、電源スイッチをオフしたときに、画像形成装置１００はパワーオフ状態に移行する。サスペンド状態から通常電力状態への起動時間は、パワーオフ状態から通常電力状態への起動時間より短いので、高速起動と言える。図４の画面では、電源スイッチをオフにしたときにサスペンド状態に移行するかパワーオフ状態に移行するかを設定する画面、とも言える。
【００２９】
ＯＮボタン４０１又はＯＦＦボタン４０２を選択し、ＯＫボタン４０４を選択することによって、高速起動を実行するか否かを設定することができる。設定の変更をキャンセルする場合には、キャンセルボタン４０３を選択する。
【００３０】
図５は、起動時にソフトウェアの改ざんを検知するか否かを設定するための画面である。
【００３１】
図５の画面には、「起動時のシステム検証」というメッセージが表示されている。この図５の画面では、パワーオフ状態から起動するときに対象のソフトウェアの改ざんを検知するかどうかを設定することができる。図５の画面において、ＯＮボタン５０１が選択されると、パワーオフ状態から起動するときに、対象のソフトウェアの改ざんを検知する。一方で、図５の画面において、ＯＦＦボタン５０２が選択されると、パワーオフ状態から起動するときに、対象のソフトウェアの改ざんを検知することなく、対象のソフトウェアを実行等の起動処理を実行する。ＯＮボタン５０１又はＯＦＦボタン５０２を選択し、ＯＫボタン５０４を選択することによって、対象のソフトウェアの改ざんを検知するか否かを設定することができる。設定の変更をキャンセルする場合には、キャンセルボタン５０３を選択する。
【００３２】
改ざん検知プログラム３１８による対象のソフトウェアの改ざん検知処理は、セキュリティ上の安全性を確保することはできるが、対象のソフトウェアの規模によっては起動時間が長くなる。この場合、電源スイッチをオンしてから画像形成装置１００を使用することができるまでの時間が長くなってしまう。そのため、使用環境やユーザの要望によってソフトウェアの改ざんを検知するか否かを設定することができるようになっている。
【００３３】
図６は、電源スイッチがオフされたときに実行されるフローチャートである。図６のフローチャートの各ステップは、ＲＯＭ１１２に記憶されたプログラムを実行したＣＰＵ１１１が実行する。
【００３４】
ユーザ操作によって電源スイッチがオフされると、ＣＰＵ１１１は、ＣＰＬＤ１１５から電源スイッチのオフを示す信号を受信する（Ｓ６０１）。ＣＰＬＤ１１５は、電源スイッチがオフされたことを検知することができる。ＣＰＬＤ１１５は、電源スイッチがオフされたことを検知すると、電源スイッチのオフを示す信号をＣＰＵ１１１に送信する。電源スイッチは、シーソースイッチ（ロッカースイッチ）のようにオン状態及びオフ状態が保持されるスイッチであっても、タクトスイッチのようにオン状態及びオフ状態が保持されないスイッチであっても良い。
【００３５】
次に、ＣＰＵ１１１は、主電源ＯＮ時の高速起動の設定がオンか否かを判定する（Ｓ６０２）。ＣＰＵ１１１は、図４の画面で設定した主電源ＯＮ時の高速起動の設定がオンか否かを判定する。高速起動の設定がオフの場合は（Ｓ６０２：Ｎｏ）、Ｓ６０５に進む。そして、ＣＰＵ１１１は、画像形成装置１００のシャットダウン処理を実行する（Ｓ６０５）。
【００３６】
高速起動の設定がオンの場合は（Ｓ６０２：Ｙｅｓ）、Ｓ６０３に進む。そして、ＣＰＵ１１１は、画像形成装置がサスペンド状態に移行可能な状態か否かの判定を行う（Ｓ６０３）。具体的には、ＣＰＵ１１１は、ジョブの実行状況、サスペンド状態になると不整合になる設定が無いか否か、各シャットダウン処理が必要な状態か否か、シャットダウン処理が実行されずに長時間経過したか否か、等の判断を行う。主電源ＯＮ時の高速起動の設定がＯＮになっていても、Ｓ６０３でサスペンド状態への所定の移行条件を満たさない場合は（Ｓ６０３：Ｎｏ）、シャットダウン処理を実行する（Ｓ６０５）。シャットダウン処理後、画像形成装置１００はパワーオフ状態となる。
【００３７】
サスペンド状態への所定の移行条件を満たした場合、サスペンド状態への移行処理を実行する。サスペンド状態への移行処理後、画像形成装置１００はサスペンド状態となる。サスペンド状態では、ＲＡＭ１１３のデータは保持されている。画像形成装置１００は、サスペンド状態の代わりに、ハイバネーション状態に移行しても良い。
【００３８】
図７は、電源スイッチがオンされたときに実行されるフローチャートである。図７のフローチャートの各ステップは、ＲＯＭ１１２に記憶されたプログラムを実行したＣＰＵ１１１が実行する。
【００３９】
ユーザ操作によって電源スイッチがオンされると、ＣＰＵ１１１に電力が供給される。そして、ＣＰＵ１１１は、ＣＰＬＤ１１５から電源スイッチのオンを示す信号を受信する（Ｓ７０１）。ＣＰＬＤ１１５は、電源スイッチがオフされたことを検知することができる。ＣＰＬＤ１１５は、電源スイッチがオンされたことを検知すると、電源スイッチのオンを示す信号をＣＰＵ１１１に送信する。
【００４０】
そして、ＣＰＵ１１１は、サスペンド状態からの起動か否かを判定する（Ｓ７０２）。サスペンド状態からの起動であると判定した場合（Ｓ７０２：Ｙｅｓ）、ＣＰＵ１１１は、対象のソフトウェアの改ざん検知処理を実行しないで、通常電力状態への起動処理を行う（Ｓ７０８）。
【００４１】
サスペンド状態からの起動ではない、すなわち、パワーオフ状態から起動であると判定した場合（Ｓ７０２：Ｎｏ）、Ｓ７０３に進む。Ｓ７０３では、ＣＰＵ１１１は、図５の画面で設定したソフトウェアの改ざんの検知の設定がオンか否かを判定する。改ざん検知の設定がオフの場合は（Ｓ７０３：Ｎｏ）、Ｓ７０７に進む。そして、対象のソフトウェアの改ざんの検知は行わずに、画像形成装置１００の起動処理を実行する（Ｓ７０７）。Ｓ７０７における起動処理は、Ｓ７０８における起動処理とは違い、ＲＯＭ１１２に記憶された起動に必要なプログラムを順番に読み出しながら起動処理を実行する。改ざん検知の設定がオンの場合は（Ｓ７０３：Ｙｅｓ）、Ｓ７０４に進む。
【００４２】
Ｓ７０４では、ＣＰＵ１１１が、対象のソフトウェア（ブートプログラム、及び、オペレーションシステム）の改ざん検知処理を実行する。具体的には、ＣＰＵ１１１は、改ざん検知プログラム３１８を実行して、まず、ブートプログラムのハッシュ値と正解値データ３１７とを比較する。ブートプログラムのハッシュ値と正解値データ３１７とが一致すれば、続いて、オペレーションシステムのハッシュ値と正解値データ３１７とを比較する。
【００４３】
ブートプログラムのハッシュ値と正解値データ３１７とが一致しない場合、Ｓ７０６に進む。また、オペレーションシステムのハッシュ値と正解値データ３１７とが一致しない場合も、Ｓ７０６に進む。そして、Ｓ７０６において、対象のソフトウェアに改ざんがあることを、操作部Ｉ／Ｆ１１６を介して、操作部ユニット１３０の表示部に表示する。表示部には、ソフトウェアの改ざんを示すエラーコードが表示されても良いし、対象のソフトウェアが改ざんされている旨のメッセージが表示されても良い。なお、ソフトウェアの改ざんの通知は、表示部の表示でなくても構わない。ＬＥＤなどの発光であっても良いし、音声による通知であっても良い。
【００４４】
ブートプログラムのハッシュ値と正解値データ３１７とが一致し、且つ、オペレーションシステムのハッシュ値と正解値データ３１７とが一致する場合には、Ｓ７０７に進む。
【００４５】
ソフトウェアの改ざんを検知する機能が有効になっている場合であっても、高速起動を望むユーザにとっては、サスペンド状態からの起動時にはソフトウェアの改ざん検知処理が省略される。よって、ユーザは、画像形成装置１００の起動を待つ時間が短縮される。
【００４６】
［実施例２］
別の実施例として、図５に示した起動時の改ざん検知の設定に加えて、高速起動時の改ざん検知の設定を設ける例について説明する。
【００４７】
実施例１では、サスペンド状態からの起動時には対象のソフトウェアの改ざんの検知を実行しなかったが、サスペンド状態からの起動時にもソフトウェアの改ざんを実行したいケースはあり得る。そこで、実施例２では、サスペンド状態からの起動時にソフトウェアの改ざんを検知するか否かをユーザに設定させる。
【００４８】
図８は、サスペンド状態からの起動時にソフトウェアの改ざんを検知するか否かを設定するための画面である。図８の画面には、「高速起動時のシステム検証」というメッセージが表示されている。この図８の画面では、サスペンド状態から起動するときに対象のソフトウェアの改ざんを検知するかどうかを設定することができる。図８の画面において、ＯＮボタン８０１が選択されると、サスペンド状態から起動するときに、対象のソフトウェアの改ざんを検知する。一方で、図８の画面において、ＯＦＦボタン８０２が選択されると、サスペンド状態から起動するときに、対象のソフトウェアの改ざんを検知することなく、対象のソフトウェアを実行する。ＯＮボタン８０１又はＯＦＦボタン８０２を選択し、ＯＫボタン８０４を選択することによって、対象のソフトウェアの改ざんを検知するか否かを設定することができる。設定の変更をキャンセルする場合には、キャンセルボタン８０３を選択する。
【００４９】
図５の画面による設定に加えて、図８の画面による設定を設けることによって、サスペンド状態からの起動時にソフトウェアの改ざん検知をするか否かを設定することができる。また、パワーオフ状態からの起動時にソフトウェアの改ざんを検知するか否かを設定することができる。
【００５０】
図９は、電源スイッチがオンされたときに実行されるフローチャートである。図９のフローチャートの各ステップは、ＲＯＭ１１２に記憶されたプログラムを実行したＣＰＵ１１１が実行する。
【００５１】
Ｓ９０１〜Ｓ９０８の各ステップは、図７のＳ７０１〜Ｓ７０８の各ステップと同様であるので、その説明を割愛する。
【００５２】
起動処理が実行されると（Ｓ９０９）、ＣＰＵ１１１は、図８の画面で設定したソフトウェアの改ざんの検知の設定がオンか否かを判定する（Ｓ９０９）。改ざんの検知の設定がオフの場合は（Ｓ９０９：Ｎｏ）、対象のソフトウェアの改ざんの検知を行わずに、本フローチャートを終了する。改ざんの検知の設定がオンの場合は（Ｓ９０９：Ｙｅｓ）、Ｓ９１０に進む。
【００５３】
Ｓ９１０では、ＣＰＵ１１１が、対象のソフトウェア（ブートプログラム、及び、オペレーションシステム）の改ざん検知処理を実行する。具体的には、ＣＰＵ１１１は、改ざん検知プログラム３１８を実行して、まず、ブートプログラムのハッシュ値と正解値データ３１７とを比較する。ブートプログラムのハッシュ値と正解値データ３１７とが一致すれば、続いて、オペレーションシステムのハッシュ値と正解値データ３１７とを比較する。
【００５４】
ブートプログラムのハッシュ値と正解値データ３１７とが一致しない場合、Ｓ９０６に進む。また、オペレーションシステムのハッシュ値と正解値データ３１７とが一致しない場合も、Ｓ９０６に進む。そして、Ｓ９０６において、対象のソフトウェアに改ざんがあることを、操作部Ｉ／Ｆ１１６を介して、操作部ユニット１３０の表示部に表示する。表示部には、ソフトウェアの改ざんを示すエラーコードが表示されても良いし、対象のソフトウェアが改ざんされている旨のメッセージが表示されても良い。なお、ソフトウェアの改ざんの通知は、表示部の表示でなくても構わない。ＬＥＤなどの発光であっても良いし、音声による通知であっても良い。
【００５５】
ブートプログラムのハッシュ値と正解値データ３１７とが一致し、且つ、オペレーションシステムのハッシュ値と正解値データ３１７とが一致する場合には（Ｓ９１１：Ｎｏ）、本フローチャートを終了する。
【００５６】
図９のフローを実行することにより、サスペンド状態からの起動時にもソフトウェアの改ざんの検知が可能となり、セキュリティを重視した起動処理を行うことができる。
【００５７】
（その他の実施例）
上記した実施例では、本発明の電子機器の一例として画像形成装置について説明したが、本発明の電子機器は、画像形成装置に限定されない。例えば、本発明の電子機器は、ノートＰＣ、タブレットＰＣ、デスクトップＰＣ、スマートフォン、自動車、空調機、遊技機、ロボットなど種々の電子機器に適用可能である。
【００５８】
上記した実施例では、主電源ＯＮ時の高速起動をＯＮに設定した場合に、ソフトウェアの改ざんを検知しない設定に変更しても良い。また、ソフトウェアの改ざんを検知する設定にした場合に、主電源ＯＮ時の高速起動をＯＦＦに設定しても良い。
【００５９】
本発明の目的は、前述した実施形態の機能を実現するソフトウェアのプログラムコードを記録した記録媒体を、システムあるいは装置に供給するよう構成することによっても達成される。この場合、そのシステムあるいは装置のコンピュータ（またはＣＰＵやＭＰＵ）が記録媒体に格納されたプログラムコードを読出し実行することにより、上記機能が実現されることとなる。なお、この場合、そのプログラムコードを記憶した記録媒体は本発明を構成することになる。
【００６０】
プログラムコードを供給するための記録媒体としては、例えば、フレキシブルディスク、ハードディスク、光ディスク、光磁気ディスク、ＣＤ−ＲＯＭ、ＣＤ−Ｒ、磁気テープ、不揮発性のメモリカード、ＲＯＭなどを用いることができる。
【００６１】
また、コンピュータが読出したプログラムコードを実行することにより、前述した実施形態の機能が実現される場合に限られない。例えば、そのプログラムコードの指示に基づき、コンピュータ上で稼働しているＯＳ（オペレーティングシステム）などが実際の処理の一部または全部を行い、その処理によって前述した実施形態の機能が実現される場合も含まれる。
【００６２】
さらに、記録媒体から読出されたプログラムコードが、コンピュータに挿入された機能拡張ボードやコンピュータに接続された機能拡張ユニットに備わるメモリに書込まれた後、前述した実施形態の機能が実現される場合も含まれる。つまり、プログラムコードがメモリに書込まれた後、そのプログラムコードの指示に基づき、その機能拡張ボードや機能拡張ユニットに備わるＣＰＵなどが実際の処理の一部または全部を行い、その処理によって実現される場合も含まれる。
【符号の説明】
【００６３】
１００  画像形成装置
１１０  メインコントローラ
１１１  ＣＰＵ
【図１】
2020149164.tif 000003
【図２Ａ】
2020149164.tif 000004
【図２Ｂ】
2020149164.tif 000005
【図２Ｃ】
2020149164.tif 000006
【図３】
2020149164.tif 000007
【図４】
2020149164.tif 000008
【図５】
2020149164.tif 000009
【図６】
2020149164.tif 000010
【図７】
2020149164.tif 000011
【図８】
2020149164.tif 000012
【図９】
2020149164.tif 000013