(57)【要約】      （修正有）【課題】起動プログラムの改ざんをセキュアブート対応のマイコンで効率よく検証する仕組みを提供する。また、当該マイコンへの電源供給を好適に制御することにより、改ざん検知を行う装置の消費電力を低減する仕組みを提供する。【解決手段】本画像処理装置は、画像処理装置を制御するＣＰＵと、不揮発性メモリに格納されたＣＰＵが実行するプログラムの改ざんを検証し、検証結果を示す通知信号を出力するマイコンとを備える。さらに、本画像処理装置は、画像処理装置の電源を制御する電源制御部を備え、電源制御部は、画像処理装置を起動する際に、マイコンに電源を供給しＳ４０２、マイコンから出力された通知信号を受信するとＳ４０４（ＹＥＳ）、当該通知信号が示す検証結果を保持しＳ４０５、マイコンへの電源供給を遮断するＳ４０６。【選択図】図４
2019128792.tif 000002
【特許請求の範囲】
【請求項１】
画像処理装置であって、
前記画像処理装置を制御する制御手段と、
不揮発性メモリに格納された前記制御手段が実行するプログラムの改ざんを検証し、検証結果を示す通知信号を出力する検証手段と、
前記画像処理装置の電源を制御する電源制御手段であって、該画像処理装置を起動する際に、前記検証手段に電源を供給し、該検証手段から出力された通知信号を受信すると該通知信号が示す検証結果を保持し、前記検証手段への電源供給を遮断する前記電源制御手段と
を備えることを特徴とする画像処理装置。
【請求項２】
前記電源制御手段から前記制御手段へ該制御手段の起動に関わるリセット信号を出力する信号線をさらに備え、
前記電源制御手段は、
前記画像処理装置を起動する際に、前記検証手段及び前記制御手段へ電源を供給するとともに、前記リセット信号を出力することを特徴とする請求項１に記載の画像処理装置。
【請求項３】
前記電源制御手段は、さらに、
前記検証結果が改ざんが検知されなかったことを示す場合には、前記制御手段へのリセット信号をディアサートすることを特徴とする請求項２に記載の画像処理装置。
【請求項４】
前記電源制御手段は、さらに、
前記検証結果が改ざんが検知されたことを示す場合には、前記画像処理装置の起動を停止することを特徴とする請求項２又は３の何れか１項に記載の画像処理装置。
【請求項５】
前記検証手段は、前記プログラムの改ざんを検知すると前記検証結果を示す通知信号を出力せず、前記プログラムの改ざんを検知しなければ該通知信号を出力することを特徴とする請求項２乃至４の何れか１項に記載の画像処理装置。
【請求項６】
前記電源制御手段は、
前記検証手段へ電源を供給してからの経過時間を計時するタイマ回路を備え、
前記タイマ回路の計時時間が所定時間を超えると、前記検証手段によって前記検証結果を示す通知信号が出力されなかったと判断することを特徴とする請求項５に記載の画像処理装置。
【請求項７】
前記電源制御手段は、
前記検証手段によって前記検証結果を示す通知信号が出力されなかったと判断すると、前記検証手段及び前記制御手段への電源供給を遮断することを特徴とする請求項６に記載の画像処理装置。
【請求項８】
前記検証手段は、１チップ上に設けられたマイクロコンピュータであることを特徴とする請求項１乃至７の何れか１項に記載の画像処理装置。
【請求項９】
装置を制御する制御手段と、不揮発性メモリに格納された前記制御手段が実行するプログラムの改ざんを検証し、検証結果を示す通知信号を出力する検証手段と、装置の電源を制御する電源制御手段とを備える画像処理装置の制御方法であって、
前記電源制御手段において、
前記画像処理装置を起動する際に、前記検証手段に電源を供給する工程と、
該検証手段から出力された通知信号を受信すると該通知信号が示す検証結果を保持し、前記検証手段への電源供給を遮断する工程と
を含むことを特徴とする画像処理装置の制御方法。
【請求項１０】
装置を制御する制御手段と、不揮発性メモリに格納された前記制御手段が実行するプログラムの改ざんを検証し、検証結果を示す通知信号を出力する検証手段と、装置の電源を制御する電源制御手段とを備える画像処理装置の制御方法における各工程をコンピュータに実行させるためのプログラムであって、前記制御方法は、
前記電源制御手段において、
前記画像処理装置を起動する際に、前記検証手段に電源を供給する工程と、
該検証手段から出力された通知信号を受信すると該通知信号が示す検証結果を保持し、前記検証手段への電源供給を遮断する工程とを含むことを特徴とするプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、起動プログラムの正当性を検証するセキュアブートを実行する画像処理装置、その制御方法、及びプログラムに関する。
【背景技術】
【０００２】
近年、機器のセキュリティに対する要求が高まっている。例えば、機器がマルウェアからの攻撃を受けると、機器内にアプリケーションソフトを侵入させ、機器に保存されているデータを盗み取ったり、又は、ネットワークに接続されている他の機器を攻撃したりする可能性がある。
【０００３】
そこで、対策としてＯＳ上でマルウェアを実行されないようにし、機器の安全性を高めるセキュアブートの技術がある。セキュアブートとは、まず、機器の起動時にＢＩＯＳの起動の正当性を検証し、次に、正当性が保たれたＢＩＯＳに従い、ＯＳの正当性を検証し、そして、正当性が保たれたＯＳに従い、アプリケーションソフトを検証及び実行するものである。このように、機器の起動時に順番に各プログラムの正当性を検証することで、プログラムの正当性を保った状態で装置を起動する技術が知られている。例えば、特許文献１には、機器のプログラムの正当性を保つため、デフォルト設定でセキュアブート機能が実行される技術が提案されている。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特開２０１３−１４９１３５号公報
【発明の概要】
【発明が解決しようとする課題】
【０００５】
しかしながら、上記従来技術には以下に記載する課題がある。上記従来技術では、デフォルト設定でセキュアブート機能を実行する機器において、セキュアブートを実行するかスキップするかを判断するため、常時通電される電源にマイコンが接続されている。そのため、セキュアブート機能の実行に関わらず、マイコンに電源が供給されているため無駄な消費電力が高くなるという課題がある。
【０００６】
本発明は、上述の問題の少なくとも一つに鑑みて成されたものであり、起動プログラムの改ざんをセキュアブート対応のマイコンで効率よく検証することを一つの目的とする。また、当該マイコンへの電源供給を好適に制御することにより、改ざん検知を行う装置の消費電力を低減する仕組みを提供することをさらに別の目的とする。
【課題を解決するための手段】
【０００７】
本発明は、例えば、画像処理装置であって、前記画像処理装置を制御する制御手段と、不揮発性メモリに格納された前記制御手段が実行するプログラムの改ざんを検証し、検証結果を示す通知信号を出力する検証手段と、前記画像処理装置の電源を制御する電源制御手段であって、該画像処理装置を起動する際に、前記検証手段に電源を供給し、該検証手段から出力された通知信号を受信すると該通知信号が示す検証結果を保持し、前記検証手段への電源供給を遮断する前記電源制御手段とを備えることを特徴とする。
【発明の効果】
【０００８】
本発明によれば、起動プログラムの改ざんをセキュアブート対応のマイコンで効率よく検証することができる。また、当該マイコンへの電源供給を好適に制御することにより、改ざん検知を行う装置の消費電力を低減することができる。
【図面の簡単な説明】
【０００９】
【図１】一実施形態に係る情報処理システムのシステム構成を示す図。
【図２】一実施形態に係る画像処理装置のハードウェア構成を示す図。
【図３】一実施形態に係る画像処理装置のハードウェア構成を示す図。
【図４】一実施形態に係る画像処理装置の処理を示すフローチャート。
【図５】一実施形態に係る画像処理装置の処理を示すタイミング図。
【図６】一実施形態に係る画像処理装置の処理を示すフローチャート。
【発明を実施するための形態】
【００１０】
以下に本発明の一実施形態を示す。以下で説明される個別の実施形態は、本発明の上位概念、中位概念及び下位概念など種々の概念を理解するために役立つであろう。また、本発明の技術的範囲は、特許請求の範囲によって確立されるのであって、以下の個別の実施形態によって限定されるわけではない。
【００１１】
＜第１の実施形態＞
＜システム構成＞
以下では、本発明の第１の実施形態について説明する。まず、図１を参照して、本実施形態に係る情報処理システムのシステム構成を説明する。
【００１２】
本情報処理システムは、画像処理装置１００、プリントサーバ１１０、及びクライアントＰＣ１１１がＬＡＮ１２０を介して相互通信可能に接続されている。画像処理装置１００は、画像の入出力や送受信と、それに関連する画像処理を行う。画像処理装置１００は、コントローラ１０１、ユーザインタフェースである操作部１０２、画像入力デバイスであるスキャナ１０３、及び、画像出力デバイスであるプリンタ１０４を備える。操作部１０２、スキャナ１０３、及び、プリンタ１０４は、それぞれコントローラ１０１に接続され、コントローラ１０１が各部の動作を制御する。
【００１３】
コントローラ１０１は、後述するネットワークＩ／Ｆ２０５を介して、ＬＡＮ（Ｌｏｃａｌ  Ａｒｅａ  Ｎｅｔｗｏｒｋ）１２０に接続され、プリントサーバ１１０やクライアントＰＣ１１１と通信を行う。ユーザは、クライアントＰＣ１１１において、画像の印刷を行うべくプリントジョブを作成し、印刷処理を指示する。これにより、プリントジョブはプリントサーバ１１０及びＬＡＮ１２０を介して画像処理装置１００にもたらされる。
【００１４】
操作部１０２は、画像処理装置１００のユーザインタフェースであり、機械式のハードウェアボタンに加えて、表示部と操作部を兼ね備える液晶表示パネルを備え、ユーザに情報を伝達するとともに、ユーザ入力を受け付ける。スキャナ１０３は、原稿を読み取って、画像データを出力する画像読取装置である。プリンタ１０４は、画像データに基づいて、記録媒体に画像を記録する印刷装置である。これらのコンポーネントを用いて、画像処理装置１００は、印刷、コピー、スキャン、ファクシミリ送受信、ＳＥＮＤ等のサービスを提供することができる。
【００１５】
＜画像処理装置のハードウェア構成＞
次に、図２を参照して、本実施形態に係るコントローラ１０１の構成を説明する。コントローラ１０１は、スキャナＩ／Ｆ２０３に接続されるスキャナ１０３と、プリンタＩ／Ｆ２０４に接続されるプリンタ１０４とを制御する。また、コントローラ１０１は、ネットワークＩ／Ｆ２０５を介して、ＬＡＮ１２０に接続された外部機器、例えば、プリントサーバ１１０やクライアントＰＣ１１１との間で画像データ、デバイス情報の入出力を行う。コントローラ１０１は、ＣＰＵ２０１、操作部Ｉ／Ｆ２０２、スキャナＩ／Ｆ２０３、プリンタＩ／Ｆ２０４、ネットワークＩ／Ｆ２０５、ＲＯＭ２０６、ＲＡＭ２０７、ＨＤＤ２０８、画像処理部２０９、マイコン２１０、及び電源制御部２２０を備える。
【００１６】
ＣＰＵ２０１は、画像処理装置１００の主制御を司る中央処理装置（Ｃｅｎｔｒａｌ  Ｐｒｏｃｅｓｓｉｎｇ  Ｕｎｉｔ）である。ＣＰＵ２０１は、システムバスを介して、ＲＯＭ２０６（Ｒｅａｄ  Ｏｎｌｙ  Ｍｅｍｏｒｙ）、ＲＡＭ２０７（Ｒａｎｄｏｍ  Ａｃｃｅｓｓ  Ｍｅｍｏｒｙ）、及びＨＤＤ２０８（Ｈａｒｄ  Ｄｉｓｋ  Ｄｒｉｖｅ）と接続される。更に、ＣＰＵ２０１は、ネットワークＩ／Ｆ２０５、及び操作部Ｉ／Ｆ２０２と接続される。
【００１７】
ＲＯＭ２０６は、ブートＲＯＭであり、システム起動に必要な起動プログラムを格納する。ここで、ＲＯＭ２０６には、少なくともＣＰＵ２０１の起動プログラムが格納されている。ＲＡＭ２０７は、ＣＰＵ２０１の主記憶部として作業領域を提供するための随時読み書き可能なメモリであり、内部処理する画像データを一時記憶するための画像メモリとしても使用される。ＨＤＤ２０８は、不揮発性メモリでありオペレーティングシステムやアプリケーションのプログラム、画像処理装置１００の電源遮断後にも保持が必要な設定値データやユーザデータ等を格納する。ＣＰＵ２０１が、ＲＯＭ２０６、ＨＤＤ２０８等に記憶されているプログラムに基づき処理を実行することにより、画像処理装置１００の機能が実現される。
【００１８】
マイコン２１０は、１チップ上に設けられたマイクロコンピュータであり、ＣＰＵ２０１が実行する起動プログラムの改ざん検証を行う。マイコン２１０は、改ざん検証を行うための公開鍵を内部に保持する。マイコン２１０は、バスを介してＲＯＭ２０６と接続される。マイコン２１０は、ＲＯＭ２０６に格納されている署名データを取得し、取得した署名データをマイコン２１０内部の公開鍵で複合することで、署名データのハッシュ値を得る。また、マイコン２１０は、ＲＯＭ２０６に格納されるＣＰＵ２０１の起動プログラムからハッシュ値を計算し、署名データのハッシュ値と比較することで、起動プログラムの改ざん検証を行う。そして、マイコン２１０は、改ざん検証の結果を通知するため、電源制御部２２０と信号線２２２で接続される。ここで、改ざん検証の結果、改ざんが行われていない場合、マイコン２１０は後述する通知信号３２０を信号線２２２を介して電源制御部２２０へ出力する。
【００１９】
ネットワークＩ／Ｆ２０５は、ＬＡＮ１２０と接続するためのインタフェースであり、ＬＡＮ１２０に対してデータの入出力を行う。これにより、ＬＡＮ１２０に接続された外部装置、例えば、プリントサーバ１１０やクライアントＰＣ１１１と通信を行うことができる。
【００２０】
操作部Ｉ／Ｆ２０２は、液晶タッチパネル等で構成する操作部１０２との間で入出力を行うためのインタフェースである。ＣＰＵ２０１は、操作部Ｉ／Ｆ２０２を介して、操作部１０２に対して表示すべき画像データを出力する。また、操作部Ｉ／Ｆ２０２は、ユーザが操作部１０２を介して入力したデータをＣＰＵ２０１に伝送するために使用される。
【００２１】
画像処理部２０９は、スキャナＩ／Ｆ２０３、及びプリンタＩ／Ｆ２０４が接続される。スキャナＩ／Ｆ２０３、及びプリンタＩ／Ｆ２０４は、それぞれスキャナ１０３及びプリンタ１０４と、コントローラ１０１とを接続するインタフェースである。画像処理部２０９は、スキャナ１０３から読み込んだ入力画像データに対して、補正、加工、編集等の画像処理を行う。その後、画像処理部２０９は、プリンタ１０４へ出力するプリント出力画像データに対して、色変換、フィルタ処理、及び解像度変換等の処理を行う。
【００２２】
電源制御部２２０は、画像処理装置１００の動作状態に応じて、各部への電源供給のオン／オフを切り替える。電源制御部２２０は、ＣＰＵ２０１からシステムバスを介して制御信号を受信し、受信した制御信号に基づいて、電源供給部である電源装置２２１に対して制御信号を送信することで給電制御を行う。電源装置２２１は、後述する商用電源３０１から電源を受け、電源制御部２２０からの受信した制御信号に基づいて、画像処理装置１００の各部に対して電源を供給する。電源装置２２１は、電源ケーブルにより商用電源３０１と接続されている限り常時通電され、電源供給が可能である。電源装置２２１は、画像処理装置１００の各部に対しＤＣ電源を出力するため、図３で示す第１電源部３０２、及び第２電源部３０６の電源回路を備えている。また、電源制御部２２０は、マイコン２１０による改ざん検証の結果、改ざんが行われていない場合、マイコン２１０から通知信号３２０を受けて、ＣＰＵ２０１のリセット信号３２１をディアサートし、ＣＰＵ２０１を起動させる。
【００２３】
＜画像処理装置の電源構成＞
次に、図３を参照して、画像処理装置１００の電源構成を説明する。電源装置２２１は、主電源スイッチ３０３、第１電源部３０２、第２電源部３０６、スイッチ３０４、及びスイッチ３０５を備える。
【００２４】
ユーザにより主電源スイッチ３０３がオンされると、主電源スイッチ３０３が導通し、第１電源部３０２が生成する電源が、電源制御部２２０に供給される。電源制御部２２０は、各スイッチ３０４、３０５、３１０〜３１３、３１７〜３１９をオンすることで画像処理装置１００の各部へ電源供給を行う。その後、ＣＰＵ２０１がＲＯＭ２０６に格納されている起動プログラムに従い起動処理を行うことで、画像処理装置１００は、画像形成可能な動作状態へ遷移する。
【００２５】
ここで、画像処理装置１００は、電力制御状態として、動作状態と省電力状態を備える。動作状態において、電源装置２２１は、コントローラ１０１、操作部１０２、スキャナ１０３、及びプリンタ１０４の各部に電源供給を行う。また、ＣＰＵ２０１は、システムバスを介して制御信号を送信し、電源制御部２２０の内部にあるレジスタ値を書き換える。電源制御部２２０は書き換えられたレジスタ値に基づいて、各スイッチ３０４、３０５、３１０〜３１３、３１７〜３１９のオン／オフを制御し、各部へ電源供給を行う。動作状態では、ユーザが画像処理装置１００のスキャンやプリントなどの機能を使用することが可能である。
【００２６】
省電力状態では、電源装置２２１は、電源制御部２２０に電源供給を行う。また、ＣＰＵ２０１は、コントローラ１０１の一部に対して電源供給を有効にし、かつ、操作部１０２、スキャナ１０３、プリンタ１０４の電源供給が無効となるように電源制御部２２０を制御する。電源制御部２２０は、電源ラインに接続されたスイッチ３１２及びスイッチ３１３、スイッチ３１７〜３１９をオフし、電源供給を遮断する。その後、電源制御部２２０は、スイッチ３０５をオフし、第２電源部３０６をオフすることで、第２電源部の待機電力を削減する。省電力状態において、ユーザによる操作部１０２のボタンの押下や、ネットワークからのデータ受信などを電源制御部２２０で検知すると、画像処理装置１００は動作状態へと移行する。
【００２７】
＜画像処理装置の制御フロー＞
次に、図４のフローチャートを参照して、本実施形態に係る電源制御部２２０が行う、画像処理装置１００の電源制御について説明する。以下で説明する処理は、電源制御部２２０がＣＰＵ２０１からの制御信号に基づいて実行するものである。なお、ＣＰＵ２０１が実行する処理は、ＲＯＭ２０６やＨＤＤ２０８等に予め格納された制御プログラムをＲＡＭ２０７に読み出して実行することにより実現される。即ち、以下で説明する処理は、ＣＰＵ２０１の制御信号に基づいて、各コンポーネントが協働して動作することにより実現される。また、図５は、マイコン２１０とＣＰＵ２０１の動作状態を示すタイミング図である。タイミング図では、横軸に時間経過を示し、電源制御部２２０、マイコン２１０、及びＣＰＵ２０１の電源状態と動作について、図４のフローチャートの各ステップとの関係を図示する。
【００２８】
まず、Ｓ４０１で、ユーザによって主電源スイッチ３０３がオンされると、主電源スイッチ３０３が導通し、第１電源部３０２から電源制御部２２０に電源が供給される。続いて、Ｓ４０２で、電源制御部２２０は、電源投入後の初期状態として、スイッチ３１０をオンし、マイコン２１０へ電源を供給する。同様に、Ｓ４０３で、電源制御部２２０は、電源投入後の初期状態として、スイッチ３１１をオンし、ＣＰＵ２０１とＲＯＭ２０６へ電源を供給する。ここで、図５に示すように、ＣＰＵ２０１は、電源制御部２２０からの信号線２２２を介して通知されるリセット信号３２１がアサートされたままなので、電源が供給されるもののリセットされた状態となり起動しない。これにより、セキュアブートを実現することができる。
【００２９】
Ｓ４０４で、電源制御部２２０は、マイコン２１０が出力する通知信号３２０を受けたか否かを判定する。通知信号３２０を受けると、マイコン２１０による改ざん検証の結果を取得したものと判断してＳ４０５に進む。このように、マイコン２１０は、電源が供給されると、ＲＯＭ２０６の改ざん検証を行い、検証結果（通知信号３２０）を電源制御部２２０へ通知する。具体的には、マイコン２１０は、ＲＯＭ２０６に格納される署名データを取得し、公開鍵で署名データのハッシュ値を得る。続いて、マイコン２１０は、ＲＯＭ２０６に格納されるＣＰＵ２０１の起動プログラムからハッシュ値を計算する。それぞれのハッシュ値の比較を行うことで、マイコン２１０は、起動プログラムの改ざんを検証する。マイコン２１０は、改ざんが行われていない場合、電源制御部２２０へ通知信号３２０を出力する。電源制御部２２０は、通知信号３２０の信号レベルの変化を受け、改ざんが行われていないと判断する。
【００３０】
一方、改ざんを検出した場合、マイコン２１０は、電源制御部２２０へ通知信号３２０を出力しないので、その後の起動処理が実行されない。即ち、電源制御部２２０は、通知信号３２０の信号レベルが変化しない場合、マイコン２１０が改ざんを検出したと判断し、処理を終了する。なお、Ｓ４０４の判定タイミングについては、マイコン２１０の処理速度等を考慮して設定されることが望ましい。ここではタイムアウト制御を設けてもよいが、当該制御については後述する第２の実施形態で説明する。ここで、通知信号３２０は、改ざんが行われていない場合に出力するものとしたが、通知信号３２０を複数持ち、検証終了を示す信号と改ざん結果を示す信号のように分けてもよい。マイコン２１０が検証終了を示す信号を出力し、電源制御部２２０は、検証終了を示す信号を受けた際の改ざん結果を示す信号の信号レベルにより、改ざんの有無を判断することができる。
【００３１】
Ｓ４０５で、電源制御部２２０は、マイコン２１０が出力した通知信号３２０の信号レベルの変化を受け、通知された検証結果を電源制御部２２０のレジスタに保持する。ここで、保持された検証結果は、ユーザにより主電源スイッチ３０３がオフされ、画像処理装置１００がオフするまで、電源制御部２２０が保持する。これにより、画像処理装置１００の起動時のみ、起動プログラムの改ざんを検証し、その後は、検証を行わなくとも検証結果を保持することができる。例えば、スリープ状態からの復帰時等においては、電源制御部２２０が、上記保持した検証結果を参照し、マイコン２１０による再度の検証を行うことなく、画像処理装置を動作状態へ移行することができる。つまり、このような場合においては、マイコン２１０への電源供給を行う必要がないため、消費電力を低減することができる。
【００３２】
次に、Ｓ４０６で、電源制御部２２０は、スイッチ３１０をオフにして、マイコン２１０の電源を遮断する。図５に示すように、マイコン２１０はオフ状態となり、通知信号３２０も不定となる。その後、Ｓ４０７で、電源制御部２２０は、ＣＰＵ２０１のリセット信号３２１をディアサートし、処理を終了する。リセット解除されたＣＰＵ２０１は、ＲＯＭ２０６に格納されている、検証済みの起動プログラムを実行し、ＯＳの読み込みやアプリケーションソフトの起動処理を行う。これにより、画像処理装置１００は、スキャンやプリントなどの機能を使用可能な動作状態に移行する。
【００３３】
以上説明したように、本実施形態に係る画像処理装置は、画像処理装置を制御するＣＰＵと、不揮発性メモリ（ＲＯＭ、ＨＤＤ）に格納されたＣＰＵが実行するプログラムの改ざんを検証し、検証結果を示す通知信号を出力するマイコンとを備える。さらに、本画像処理装置は、画像処理装置の電源を制御する電源制御部を備え、電源制御部は、画像処理装置を起動する際に、マイコンに電源を供給し、マイコンから出力された通知信号を受信すると当該通知信号が示す検証結果を保持し、マイコンへの電源供給を遮断する。このように、セキュアブート終了後にマイコン２１０の電源をオフすることで、セキュアブートを行いつつも画像処理装置１００の消費電力を低減することが可能となる。
【００３４】
また、本発明は、電源制御部からＣＰＵへ当該ＣＰＵの起動に関わるリセット信号を出力する信号線をさらに備える。電源制御部は、画像処理装置を起動する際に、マイコン及びＣＰＵへ電源を供給するとともに、上記リセット信号を出力して、ＣＰＵの起動を制限する。さらに、本画像処理装置は、マイコンによりプログラムの改ざんが検知されなければ、リセット信号をディアサートして、ＣＰＵを起動させる。このように、本実施形態によれば、好適にセキュアブートを実現している。
【００３５】
＜第２の実施形態＞
以下では、本発明の第２の実施形態について説明する。図６のフローチャートを参照して、本実施形態に係る電源制御部２２０が行う、画像処理装置１００の電源制御について説明する。図４との違いは、電源制御部２２０が改ざん検証のタイムアウトを設けている点である。従って、以下では、上記第１の実施形態と異なる制御についてのみ説明を記載する。例えば、電源制御部２２０がマイコン２１０を起動し、マイコン２１０が起動プログラムの改ざん検証を行い、改ざんが行われていない場合の動作は、上記第１の実施形態と同様であるため説明を省略する。同様の処理については同一のステップ番号を付し説明を省略する。
【００３６】
電源制御部２２０がマイコン２１０の電源を供給し、起動プログラムの改ざん検証中や改ざんを検出した場合は、通知信号３２０が出力されない。そこで、Ｓ４０２でマイコン２１０へ電源を供給した後に、Ｓ６０３で、電源制御部２２０は、自身が備える不図示のタイマ回路を用いて、マイコン２１０へ電源を供給してからの経過時間の計時を開始して、Ｓ４０３に進む。
【００３７】
Ｓ４０４の判定でマイコン２１０から通知信号３２０を受けていないと判断すると、Ｓ６０２で、電源制御部２２０は、タイマ回路による計時時間が所定時間を経過したか否かを判定する。経過していない場合は、マイコン２１０により改ざん検証中であると判断し、処理をＳ４０４に戻して、通知信号３２０が出力されるのを待つ。
【００３８】
一方、タイマ回路によって計時された時間が所定時間を経過したと判定すると、電源制御部２２０は、マイコン２１０により改ざんを検出したと判断し、画像処理装置１００の起動を停止する。上記所定時間については、ＲＯＭ２０６から起動プログラムを読み出す時間と、ハッシュ値を計算する時間とに基づいて設定される。具体的には、Ｓ６０３で、電源制御部２２０は、スイッチ３１０をオフして、マイコン２１０の電源を遮断する。続いて、Ｓ６０４で、電源制御部２２０は、スイッチ３１１をオフして、ＣＰＵ２０１とＲＯＭ２０６の電源を遮断する。このように、起動プログラムの改ざんを検出した場合、電源制御部２２０は、ＣＰＵ２０１の電源を遮断し、画像処理装置１００の起動処理を実行しない。
【００３９】
以上説明したように、本実施形態に係る画像処理装置は、上記実施形態の構成に加えて、マイコン２１０からの通知の受信制御において、タイムアウト制御を設ける。これにより、マイコン２１０等の不具合にも好適に対応しつつ、上記第１の実施形態と同様に、マイコン２１０による改ざんを検出した場合には、電源制御部２２０で、マイコン２１０をオフし、その後、ＣＰＵ２０１もオフすることがきる。よって、起動を停止した場合の画像処理装置１００の消費電力をより低減することが可能となる。
【００４０】
＜その他の実施形態＞
本発明は、上述の実施形態の１以上の機能を実現するプログラムを、ネットワーク又は記憶媒体を介してシステム又は装置に供給し、そのシステム又は装置のコンピュータにおける１つ以上のプロセッサーがプログラムを読出し実行する処理でも実現可能である。また、１以上の機能を実現する回路（例えば、ＡＳＩＣ）によっても実現可能である。
【符号の説明】
【００４１】
１００：画像処理装置、１０１：コントローラ、１０２：操作部、１０３：スキャナ、１０４：プリンタ、１１０：プリントサーバ、１１１：クライアントＰＣ、１２０：ＬＡＮ、２０１：ＣＰＵ、２１０：マイコン、２２２：信号線、３２０：通知信号、３２１：リセット信号
【図１】
2019128792.tif 000003
【図２】
2019128792.tif 000004
【図３】
2019128792.tif 000005
【図４】
2019128792.tif 000006
【図５】
2019128792.tif 000007
【図６】
2019128792.tif 000008