(57)【要約】      （修正有）【課題】ファームウェアのアップデートを適切に行うことができる画像形成装置を提供する。【解決手段】画像形成装置は、ＲＯＭ１０４及びＨＤＤ１０６を備え、ＲＯＭ１０４はハッシュ格納領域２１３を含むスタンダードパーティション２０２を備え、ＨＤＤ１０６はダウンロード領域２１４及び一時展開領域２１５を備え、ハッシュ格納領域２１３に格納されたファームウェアのダウンロード直後のダウンロード領域２１４のハッシュ値とファームウェアの適用時刻に画像形成装置を再起動するときに計算されたダウンロード領域２１４のハッシュ値とを比較し、且つダウンロードしたファームウェアの一時展開直後の一時展開領域２１５のハッシュ値とファームウェアの適用時刻に画像形成装置を再起動するときに計算された一時展開領域２１５のハッシュ値とを比較する。【選択図】図２
2015132923.tif 000002
【特許請求の範囲】
【請求項１】
ファームウェアが適用されていると共に前記ファームウェアを更新することができる画像形成装置において、
前記適用されているファームウェアの更新用ファームウェアを格納領域に格納する格納手段と、
前記格納領域に格納された更新用ファームウェアを適用する適用手段と、
前記更新用ファームウェアが格納されたときの格納領域の固有情報と前記更新用ファームウェアを適用するときの格納領域の固有情報とを比較するか、又は前記格納領域に格納された更新用ファームウェアの固有情報と前記更新用ファームウェアを適用するときの格納領域に格納された更新用ファームウェアの固有情報とを比較する比較手段とを備えることを特徴とする画像形成装置。
【請求項２】
前記適用手段は、前記更新用ファームウェアが格納されたときの格納領域の固有情報と前記更新用ファームウェアを適用するときの格納領域の固有情報とが一致した場合に更新用ファームウェアを適用することを特徴とする請求項１記載の画像形成装置。
【請求項３】
前記適用手段は、前記格納領域に格納された更新用ファームウェアの固有情報と前記更新用ファームウェアを適用するときの格納領域に格納された更新用ファームウェアの固有情報とが一致した場合に更新用ファームウェアを適用することを特徴とする請求項１記載の画像形成装置。
【請求項４】
前記更新用ファームウェアを取得する取得手段と、
前記取得された更新用ファームウェアを他の格納領域に格納する他の格納手段とを更に備え、
前記比較手段は、前記更新用ファームウェアが格納されたときの他の格納領域の固有情報と前記更新用ファームウェアを適用するときの他の格納領域の固有情報とを更に比較することを特徴とする請求項１乃至３のいずれか１項に記載の画像形成装置。
【請求項５】
前記格納領域を暗号化する暗号化手段を更に備えることを特徴とする請求項４記載の画像形成装置。
【請求項６】
前記暗号化手段が前記他の格納領域を暗号化することを特徴とする請求項５記載の画像形成装置。
【請求項７】
前記取得された更新用ファームウェアが展開されており、
前記取得手段は、前記取得される更新用ファームウェアに加えて前記取得される更新用ファームウェアの固有情報、前記展開された更新用ファームウェア、及び前記展開された更新用ファームウェアの固有情報を取得することを特徴とする請求項４乃至６のいずれか１項に記載の画像形成装置。
【請求項８】
前記取得された更新用ファームウェアの固有情報を前記他の格納領域の固有情報とみなし、及び前記展開された更新用ファームウェアの固有情報を前記格納領域の固有情報とみなすことを特徴とする請求項７記載の画像形成装置。
【請求項９】
前記固有情報がハッシュ値であることを特徴とする請求項１乃至８のいずれか１項に記載の画像形成装置。
【請求項１０】
ファームウェアが適用されていると共に前記ファームウェアを更新することができ、前記適用されているファームウェアの更新用ファームウェアを格納領域に格納する格納手段を備える画像形成装置の制御方法であって、
前記格納領域に格納された更新用ファームウェアを適用する適用ステップと、
前記更新用ファームウェアが格納されたときの格納領域の固有情報と前記更新用ファームウェアを適用するときの格納領域の固有情報とを比較するか、又は前記格納領域に格納された更新用ファームウェアの固有情報と前記更新用ファームウェアを適用するときの格納領域に格納された更新用ファームウェアの固有情報とを比較する比較ステップとを備えることを特徴とする画像形成装置の制御方法。
【請求項１１】
画像形成装置の制御方法をファームウェアが適用されていると共に前記ファームウェアを更新することができ、前記適用されているファームウェアの更新用ファームウェアを格納領域に格納する格納手段を備える画像形成装置に実行させるプログラムであって、
前記画像形成装置の制御方法は、
前記格納領域に格納された更新用ファームウェアを適用する適用ステップと、
前記更新用ファームウェアが格納されたときの格納領域の固有情報と前記更新用ファームウェアを適用するときの格納領域の固有情報とを比較するか、又は前記格納領域に格納された更新用ファームウェアの固有情報と前記更新用ファームウェアを適用するときの格納領域に格納された更新用ファームウェアの固有情報とを比較する比較ステップとを備えることを特徴とするプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、画像形成装置及びその制御方法、並びにプログラムに関し、特に、ファームウェアを更新することができる画像形成装置及びその制御方法、並びにプログラムに関する。
【背景技術】
【０００２】
従来の画像形成装置は、ネットワークに接続することができ、且つ画像の印刷機能及び送信機能に加えて画像データの格納機能及びＰＣに対して画像データを提供するファイルサービス機能を備えるので、ネットワークに接続するＰＣやサーバ機器等のコンピュータ機器と同等の機能を有している。
【０００３】
ＰＣやサーバ機器では、セキュリティ上の脆弱性及び動作の不具合に対処するためにネットワークやＣＤ−ＲＯＭ等のメディアを介してファームウェアを含むソフトウエアを更新しているが、ファームウェアの更新は画像形成装置では画像形成装置を停止して行うので、ユーザが画像形成装置を使用できない時間（ダウンタイム）が発生する。ダウンタイムは、ユーザの利便性を損なうのでできる限り低減されることが望まれており、画像形成装置のバックグラウンドでファームウェアを更新するか、又は画像形成装置を使用しない深夜等の時間帯でファームウェアを更新することによって低減されている。
【０００４】
特に、画像形成装置のバックグラウンドで行うファームウェアの更新は、通常起動中の画像形成装置のバックグラウンドで更新に必要なファームウェア（以下、「更新用ファームウェア」という）をダウンロードし且つ当該更新用ファームウェアを一時展開すると共に、画像形成装置の再起動時にそれまで適用されていたファームウェアを一時展開した更新用ファームウェアに差し替える「更新用ファームウェアの適用」によって行われる。
【０００５】
このようなファームウェアの更新では、ダウンロードした更新用ファームウェアを暗号化して改竄等されたファームウェアの適用を防止している。また、更新用ファームウェアを画像形成装置にダウンロードし且つ及び一時展開して画像形成装置に適用する前に更新用ファームウェアの改竄チェックを行うと共に、更新用ファームウェアが改竄されているときは更新用ファームウェアの適用を中止する改竄等されたファームウェアの適用を防止している（例えば、特許文献１参照）。
【先行技術文献】
【特許文献】
【０００６】
【特許文献１】特開２００６−３２３６７５号公報
【発明の概要】
【発明が解決しようとする課題】
【０００７】
しかしながら、ダウンロードし且つ一時展開された更新用ファームウェアは画像形成装置に適用されるまで画像形成装置内に存在することとなり、その存在時間が長いほど暗号化された更新用ファームウェアが復号化される場合がある。この復号化によって更新用ファームウェアが改竄されるか、又は更新用ファームウェアの改竄チェック後に更新用ファームウェアが改竄される場合がある。その結果、不正なファームウェアが適用されるおそれがある。
【０００８】
本発明の目的は、ファームウェアの更新を適切に行うことができる画像形成装置及びその制御方法、並びにプログラムを提供することにある。
【課題を解決するための手段】
【０００９】
上記目的を達成するために、本発明の画像形成装置は、ファームウェアが適用されていると共に前記ファームウェアを更新することができる画像形成装置において、前記適用されているファームウェアの更新用ファームウェアを格納領域に格納する格納手段と、前記格納領域に格納された更新用ファームウェアを適用する適用手段と、前記更新用ファームウェアが格納されたときの格納領域のハッシュ値と前記更新用ファームウェアを適用するときの格納領域のハッシュ値とを比較するか、又は前記格納領域に格納された更新用ファームウェアのハッシュ値と前記更新用ファームウェアを適用するときの格納領域に格納された更新用ファームウェアのハッシュ値とを比較する比較手段とを備えることを特徴とする。
【発明の効果】
【００１０】
本発明によれば、ファームウェアの更新を適切に行うことができる。
【図面の簡単な説明】
【００１１】
【図１】本発明の実施の形態に係る画像形成装置を有する画像形成システムの構成を概略的に示すブロック図である。
【図２】図１の画像形成装置によって実行されるファームウェアの構成を概略的に示すブロック図である。
【図３】図１の画像形成装置によって実行されるバックグラウンド更新処理の手順を示すフローチャートである。
【図４】図３のバックグラウンド更新処理の変形例の手順を示すフローチャートである。
【図５】図３のバックグラウンド更新処理の他の変形例の手順を示すフローチャートである。
【図６】図３のバックグラウンド更新処理のさらに他の変形例の手順を示すフローチャートである。
【発明を実施するための形態】
【００１２】
以下、本発明の実施の形態を図面を参照しながら詳述する。
【００１３】
図１は、本発明の実施の形態に係る画像形成装置１００を有する画像形成システムの構成を概略的に示すブロック図である。
【００１４】
図１の画像形成システムは、画像形成装置１００、外部ＵＳＢデバイス１１５、ユーザ用ＰＣ１１６、メンテナンス用ＰＣ１１７、及び外部サーバ１１８を備え、画像形成装置１００、ユーザ用ＰＣ１１６、メンテナンス用ＰＣ１１７、及び外部サーバ１１８はネットワーク１０１を介して互いに接続されている。外部ＵＳＢデバイス１１５は後述するＵＳＢ−ホストＩ／Ｆ１１０に接続されている。
【００１５】
画像形成装置１００は、制御部１０２、操作部１１２、プリンタ１１３、及びスキャナ１１４を備える。
【００１６】
制御部１０２は、ＣＰＵ１０３、ＲＯＭ１０４、ＲＡＭ１０５、ＨＤＤ１０６、操作部Ｉ／Ｆ１０７、プリンタＩ／Ｆ１０８、スキャナＩ／Ｆ１０９、ＵＳＢ−ホストＩ／Ｆ１１０、及びネットワークＩ／Ｆ１１１を備え、これらは、内部バス１１９を介して互いに接続されている。
【００１７】
操作部Ｉ／Ｆ１０７、プリンタＩ／Ｆ１０８、スキャナＩ／Ｆ１０９、ＵＳＢ−ホストＩ／Ｆ１１０、及びネットワークＩ／Ｆ１１１は、操作部１１２、プリンタ１１３、スキャナ１１４、外部ＵＳＢデバイス１１５、及びネットワーク１０１に夫々接続されている。
【００１８】
ＣＰＵ１０３は、ＲＯＭ１０４に格納されたプログラムをＲＡＭ１０５に読み出して実行することにより、画像形成装置１００の全体を制御する。ＨＤＤ１０６は、画像データ及びユーザデータ等を格納する。
【００１９】
操作部１１２は、例えば、液晶タッチパネル等で構成される。プリンタ１１３はＨＤＤ１０６に格納された画像データを受信して当該画像データを紙面上に印刷する。スキャナ１１４はＣＣＤ（Charge Coupled Device）等から構成されるラインセンサを用いて読み取られた原稿上の画像を画像データに変換する。当該画像データはＨＤＤ１０６に格納されると共にプリンタ１１３によって紙面上に印刷される。外部ＵＳＢデバイス１１５は、例えばＵＳＢメモリやＵＳＢキーボードが該当する。
【００２０】
外部サーバ１１８は、更新用ファームウェアを格納し、画像形成装置１００からの要求に応じて更新用ファームウェアを画像形成装置１００へ送信する。
【００２１】
図２は、図１の画像形成装置１００によって実行されるファームウェアの構成を概略的に示すブロック図である。
【００２２】
図２のファームウェアは、図１におけるＲＯＭ１０４及びＨＤＤ１０６に格納されている。
【００２３】
図２において、ＲＯＭ１０４は、ローダ２０１、スタンダードパーティション２０２、セーフパーティション２０３、適用時刻情報格納領域２１１、ファームウェア情報格納領域２１２、及びハッシュ格納領域２１３を備え、ＨＤＤ１０６はダウンロード領域２１４及び一時展開領域２１５を備える。
【００２４】
スタンダードパーティション２０２は、認証モジュール２０４、復号化モジュール２０５、暗号化モジュール２０６、ハッシュ計算モジュール２０７、スタンダードアップデートモジュール２０８、及びセーフアップデートモジュール２０９を備え、セーフパーティション２０３はセーフモジュール２１０を備える。スタンダードパーティション２０２の各モジュールは、ユーザが画像形成装置１００によってプリント、スキャン、ＦＡＸ、又は送受信等を行うときに起動する。
【００２５】
ローダ２０１は、画像形成装置の起動設定又はメンテナンス作業時に操作部１１２を介して行われるセーフ起動指示に従って起動すべきパーティションとモジュールを判断する。なお、セーフ起動指示がない限り、スタンダードパーティション２０２に含まれるモジュールが起動する。
【００２６】
認証モジュール２０４はファームウェアの更新時のユーザ認証に使用され、復号化モジュール２０５は後述するダウンロード領域２１４に一時的に格納された更新用ファームウェアを復号化し、暗号化モジュール２０６はダウンロード領域２１４及び一時展開領域２１５を夫々暗号化する。ハッシュ計算モジュール２０７は、後述するダウンロード領域２１４のハッシュ値及び一時展開領域２１５のハッシュ値を計算すると共に、当該ハッシュ値をハッシュ格納領域２１３に格納する。
【００２７】
スタンダードアップデートモジュール２０８は、後述するダウンロード領域２１４にダウンロードされると共に、復号化モジュール２０５によって復号化された更新用ファームウェアを一時展開領域２１５に一時展開してスタンダードパーティション２０２が備える各モジュールに更新用ファームウェアを適用する。セーフアップデートモジュール２０９はセーフパーティション２０３が備えるセーフモジュールの更新を行う。セーフモジュール２１０はスタンダードパーティション２０２が備える各モジュールの更新やメンテナンス作業時の機能の制御を行う。
【００２８】
適用時刻情報格納領域２１１は設定されたファームウェアの適用時刻を格納する。適用時刻は、操作部１１２を介して画像形成装置１００に事前に設定してもよく、更新用ファームウェアを受信するときに外部サーバ１１８から設定してもよい。適用時刻には、例えば、定期的に更新を行う時刻を設定できる。
【００２９】
ファームウェア情報格納領域２１２は更新用ファームウェアの認証情報等を格納する。ハッシュ格納領域２１３はファームウェアの更新時に使用するハッシュ値を格納する。ダウンロード領域２１４はダウンロード等により取得したファームウェアを一時的に格納し、一時展開領域２１５はダウンロード領域２１４に一時的に格納されているファームウェアを一時的に展開する。なお、ファームウェアの一時展開とは、ＲＯＭ１０４において適用されるべきファームウェアをダウンロード後に一度ＨＤＤ１０６において展開することである。
【００３０】
図３は、図１の画像形成装置１００によって実行されるバックグラウンド更新処理の手順を示すフローチャートである。
【００３１】
図３のバックグラウンド更新処理は、画像形成装置１００のＣＰＵ１０３によって実行される。
【００３２】
図３において、スタンダードパーティション２０２のモジュールが起動している画像形成装置１００の通常起動状態時に、外部サーバ１１８からファームウェアの更新の指示を受付けると共に、当該指示をスタンダードアップデートモジュール２０８に通知する（ステップＳ３０１）。当該指示が通知されたスタンダードアップデートモジュール２０８は、更新用ファームウェアの情報をファームウェア情報格納領域２１２に格納する。次に、認証画面を操作部１１２に表示し（ステップＳ３０２）、画像形成装置１００のユーザ認証がされたか否かを判別する（ステップＳ３０３）。ステップＳ３０２〜Ｓ３０３は、ユーザ認証の必要がない画像形成装置１００のときはスキップしてもよい。
【００３３】
ステップＳ３０３の判別の結果、ユーザ認証がされたときは、外部サーバ１１８からスタンダードパーティション２０２、セーフパーティション２０３に格納される各モジュールの新しいバージョンの更新用ファームウェアをバックグラウンドでダウンロードしてダウンロード領域２１４に格納し（ステップＳ３０４）、ダウンロード領域２１４のハッシュ値をハッシュ計算モジュール２０７によって計算すると共に、計算したハッシュ値をハッシュ格納領域２１３に格納する（ステップＳ３０５）。次に、ダウンロード領域２１４にダウンロードされた更新用ファームウェアをバックグラウンドで復号化モジュール２０５によって復号化して一時展開領域２１５で一時展開し（ステップＳ３０６）、更新用ファームウェアが一時展開されたときの一時展開領域２１５のハッシュ値をハッシュ計算モジュール２０７によって計算し、計算したハッシュ値をハッシュ格納領域２１３に格納する（ステップＳ３０７）。
【００３４】
次いで、適用時刻情報格納領域２１１に設定されたファームウェアの適用時刻に達すると（ステップＳ３０８でＹＥＳ）、操作部１１２に認証画面を表示して（ステップＳ３０９）、ユーザ認証がされたか否かを判別する（ステップＳ３１０）。ステップＳ３０９〜Ｓ３１０は、ユーザ認証の必要がない画像形成装置１００のときはステップＳ３０２〜Ｓ３０３と同様にスキップしてもよい。
【００３５】
ステップＳ３１０の判別の結果、ユーザ認証がされているときは、セーフパーティション２０３のモジュールが起動するセーフ起動状態での画像形成装置１００の再起動を指示する（ステップＳ３１１）。
【００３６】
次に、再起動後のダウンロード領域２１４及び一時展開領域２１５の夫々のハッシュ値をハッシュ計算モジュール２０７によって再度計算し（ステップＳ３１２）、再起動後に計算されたダウンロード領域２１４のハッシュ値とステップＳ３０５において格納されたダウンロード領域２１４のハッシュ値、及び再起動後に計算された一時展開領域２１５のハッシュ値とステップＳ３０７において格納された一時展開領域２１５のハッシュ値とを夫々比較して両者が一致するか否かを判別する（ステップＳ３１３）。
【００３７】
ステップＳ３１３の判別の結果、ダウンロード領域２１４及び一時展開領域２１５のハッシュ値が夫々一致しているときは、一時展開領域２１５に格納されている更新用ファームウェアをスタンダードパーティション２０２の各モジュールに適用する（ステップＳ３１４）。
【００３８】
次いで、更新用ファームウェアが適用されたモジュールによって画像形成装置１００を通常起動状態で再起動し（ステップＳ３１５）、更新用ファームウェアが適用された各モジュールが起動しているときに、バックグラウンドでセーフアップデートモジュール２０９を起動し（ステップＳ３１６）、セーフアップデートモジュール２０９はバックグラウンドで一時展開領域２１５に格納されている展開された更新用ファームウェアをセーフモジュール２１０に適用し（ステップＳ３１７）、本処理を終了する。
【００３９】
ステップＳ３１５〜Ｓ３１７において、スタンダードパーティション２０２の各モジュールが起動しているときにセーフモジュール２１０は起動していないので、セーフモジュール２１０のバックグラウンドでの更新は画像形成装置１００の動作に関係なく行うことができる。
【００４０】
一方、ステップＳ３１３の判別の結果、ダウンロード領域２１４及び一時展開領域２１５のハッシュ値が夫々一致しなかったときは、ダウンロード領域２１４又は一時展開領域２１５のいずれかにおいてファームウェアのデータが改竄された可能性があるので、ファームウェアの更新を中止して、本処理を終了する。
【００４１】
ステップＳ３０１において外部サーバ１１８からファームウェアの更新の指示を受付けること、及びステップＳ３０４において外部サーバ１１８からファームウェアを取得することを説明したが、ファームウェアの取得方法は他の方法であってもよい。具体的には、ファームウェアが格納されたＵＳＢメモリ１１５及びメンテナンス用ＰＣ１１７を画像形成装置１００に接続することによってファームウェアを取得してもよい。
【００４２】
図３のバックグラウンド更新処理によれば、ファームウェアのダウンロード直後のダウンロード領域のハッシュ値（ステップＳ３０５）と画像形成装置１００を再起動するときに再度計算されたダウンロード領域のハッシュ値（ステップＳ３１２）、及びダウンロードしたファームウェアの一時展開直後の一時展開領域のハッシュ値（ステップＳ３０７）と画像形成装置１００を再起動するときに再度計算された一時展開領域のハッシュ値（ステップＳ３１２）とを夫々比較して両者が一致するか否かを判別する（ステップＳ３１３）ので、両者が一致しないときはダウンロードされたファームウェア及び一時展開されたファームウェアに改竄がされたとしてファームウェアの更新を中止し、もって不正なファームウェアの適用を防止することができる。
【００４３】
図４は、図３のバックグラウンド更新処理の変形例の手順を示すフローチャートである。
【００４４】
図４のステップＳ４０１〜Ｓ４０４、Ｓ４０５〜Ｓ４１０、Ｓ４１３〜Ｓ４１６の処理は夫々図３のステップＳ３０１〜３０４、Ｓ３０６〜Ｓ３１１、Ｓ３１４〜Ｓ３１７の処理と同一であり、図３の処理と異なる点のみ説明する。
【００４５】
図４において、外部サーバ１１８からスタンダードパーティション２０２、セーフパーティション２０３に格納される各モジュールの新しいバージョンの更新用ファームウェアをバックグラウンドでダウンロードして、ダウンロード領域２１４に格納する（ステップＳ４０４）。次に、ダウンロード領域２１４のハッシュ値を計算することなく、ダウンロード領域２１４にダウンロードされた更新用ファームウェアをバックグラウンドで復号化モジュール２０５によって復号化して、一時展開領域２１５で一時展開する（ステップＳ４０５）。一時展開された更新用ファームウェアのハッシュ値をハッシュ計算モジュール２０７によって計算し、ハッシュ格納領域２１３に計算したハッシュ値を格納する（ステップＳ４０６）。
【００４６】
次いで、ステップＳ４０７〜Ｓ４１０の処理を行った後、一時展開領域２１５の更新用ファームウェアのハッシュ値を再度計算して（ステップＳ４１１）、ステップＳ４０６で計算された更新用ファームウェアのハッシュ値とステップＳ４１１で計算された更新用ファームウェアのハッシュ値とを比較して両者が一致するか否かを判別する（ステップＳ４１２）。その後、ステップＳ４１３以降の処理を実行して、本処理を終了する。
【００４７】
図４のバックグラウンド更新処理によれば、一時展開後の更新用ファームウェアのハッシュ値（ステップＳ４０６）と画像形成装置１００の再起動後の更新用ファームウェアのハッシュ値とを比較して両者が一致するか否かを判別する（ステップＳ４１２）ので、両者が一致しないときは一時展開されたファームウェアが改竄されたと判別すると共に、改竄がされた更新用ファームウェアを個別に特定でき、もって不正なファームウェアの適用を迅速に防止することができる。
【００４８】
また、図４のバックグラウンド更新処理は図３の同処理と比較して、ダウンロード領域２１４のハッシュ値を計算しないので、画像形成装置１００の負担を軽減することができる。
【００４９】
図５は、図３のバックグラウンド更新処理の他の変形例の手順を示すフローチャートである。
【００５０】
図５のステップＳ５０１〜Ｓ５０３、Ｓ５０７〜Ｓ５１６の処理は夫々図３のステップＳ３０１〜３０３、Ｓ３０８〜Ｓ３１７の処理と同一であり、図３の処理と異なる点のみ説明する。
【００５１】
図５において、画像形成装置１００のユーザが認証されたか否かを判別し（ステップＳ５０３）、ステップＳ５０３の判別の結果、ユーザが認証されているときは、外部サーバ１１８から更新用ファームウェア、更新用ファームウェアのハッシュ値及び復号化され且つ展開された更新用ファームウェア、展開された更新用ファームウェアのハッシュ値をダウンロードする（ステップＳ５０４）。
【００５２】
更新用ファームウェア及び展開された更新用ファームウェアは、夫々ダウンロード領域２１４及び一時展開領域２１５に格納される。また、更新用ファームウェア及び展開された更新用ファームウェアの夫々のハッシュ値はハッシュ格納領域２１３に格納される（ステップＳ５０５〜Ｓ５０６）。格納された更新用ファームウェアのハッシュ値及び展開された更新用ファームウェアのハッシュ値は夫々ダウンロード領域２１４のハッシュ値及び一時展開領域２１５のハッシュ値に相当するとみなされる。その後、ステップＳ５０７以降の処理を実行して、本処理を終了する。
【００５３】
図５のバックグラウンド更新処理によれば、更新用ファームウェア、更新用ファームウェアのハッシュ値及び展開された更新用ファームウェア、展開された更新用ファームウェアのハッシュ値をダウンロードする（ステップＳ５０４）ので、ダウンロードされた更新用ファームウェアのハッシュ値及び展開された更新用ファームウェアのハッシュ値を計算する必要がなく、もって画像形成装置１００の負担を軽減することができる。
【００５４】
図６は、図３のバックグラウンド更新処理のさらに他の変形例の手順を示すフローチャートである。
【００５５】
図６のステップＳ６０１〜Ｓ６０４、Ｓ６０７〜Ｓ６１０、Ｓ６１２〜Ｓ６１５の処理は夫々図３のステップＳ３０１〜Ｓ３０４、Ｓ３０８〜Ｓ３１１、Ｓ３１４〜Ｓ３１７の処理と同一であり、図３の処理と異なる点のみ説明する。
【００５６】
図６において、外部サーバ１１８から更新用ファームウェアをダウンロード領域２１４にダウンロードする（ステップＳ６０４）と共に、復号化モジュール２０５による復号化処理を行った当該更新用ファームウェアを一時展開領域２１５に一時展開する（ステップＳ６０５）。
【００５７】
次に、ダウンロード領域２１４と一時展開領域２１５を暗号化モジュール２０６によって夫々暗号化し（ステップＳ６０６）、ステップＳ６０７〜Ｓ６１０の処理を実行する。
【００５８】
次いで、再起動処理の実行中に暗号化されたダウンロード領域２１４と一時展開領域２１５を復号化モジュール２０５によって復号化する（ステップＳ６１１）。その後、ステップＳ６１２以降の処理を実行して、本処理を終了する。
【００５９】
図６のバックグラウンド更新処理によれば、ダウンロード領域２１４にダウンロードされた更新用ファームウェアに復号化処理を行って一時展開領域２１５に一時展開すると共に、ダウンロード領域２１４及び一時展開領域２１５を暗号化モジュール２０６によって夫々暗号化する（ステップＳ６０４〜Ｓ６０６）ので、ダウンロードされた更新用ファームウェア及び展開された更新用ファームウェアの一時展開データの改竄自体を防止することができる。また、ハッシュ値の計算をしないで改竄防止ができる（ステップＳ６０４〜Ｓ６０６）ので、ハッシュ値に基づいて改竄を検出する場合に比べて画像形成装置１００の負担を軽減できる。
【００６０】
本発明の実施の形態において、更新用ファームウェアが改竄されていないことを確認するための指標（固有情報）としてハッシュ値を例に説明したが、ハッシュ値に限らずチェックサムや更新用ファームウェアが格納されているダウンロード領域２１４及び一時展開領域２１５へのアクセス履歴等であってもよく、更新用ファームウェアの改竄の有無を確認できればよい。
【００６１】
本発明は、上述した実施形態の機能を実現するソフトウエア（プログラム）をネットワーク又は各種記憶媒体を介してシステム或いは装置に供給し、そのシステム或いは装置のコンピュータ（又はＣＰＵやＭＰＵ等）がプログラムを読み出して実行する処理において、そのプログラム、及び該プログラムを格納するコンピュータ読み取り可能な記憶媒体によって構成されてもよい。
【符号の説明】
【００６２】
１００  画像形成装置
１０３  ＣＰＵ
２０５  復号化モジュール
２０６  暗号化モジュール
２０７  ハッシュ計算モジュール
２０８  スタンダードアップデートモジュール
２１２  ファームウェア情報格納領域
２１３  ハッシュ格納領域
２１４  ダウンロード領域
２１５  一時展開領域
【図１】
2015132923.tif 000003
【図２】
2015132923.tif 000004
【図３】
2015132923.tif 000005
【図４】
2015132923.tif 000006
【図５】
2015132923.tif 000007
【図６】
2015132923.tif 000008