(57)【要約】【課題】  画像形成装置の仕様構成によってファームウェアの更新を行う操作者を制限することで画像形成装置のセキュリティを高める。【解決手段】  画像形成装置１００にインストールされているファームウェアがセキュリティ仕様構成のファームウェアである場合、画像形成装置１００のファームウェアの更新を指示することができる操作者を管理者権限を有する操作者に限定する。【選択図】  図５
2018097888.tif 000002
【特許請求の範囲】
【請求項１】
ファームウェアを更新することが可能な画像形成装置であって、
前記画像形成装置のファームウェアの更新を行う更新手段と、
前記画像形成装置のファームウェアの更新の指示を受け付ける受付手段と、
前記画像形成装置にインストールされているファームウェアが特定の種類のファームウェアである場合、前記更新手段による前記画像形成装置のファームウェアの更新を制限する制限手段と、
を有することを特徴とする画像形成装置。
【請求項２】
前記受付手段が受け付けた前記ファームウェアの更新の指示を行なった前記画像形成装置の操作者の権限を特定する特定手段を更に有し、
前記制限手段は、前記特定手段が特定した前記画像形成装置の操作者が所定の権限を有さない場合に前記更新手段が前記画像形成装置のファームウェアを更新することを制限することを特徴とする、請求項１に記載の画像形成装置。
【請求項３】
前記制限手段は、前記特定手段が特定した前記画像形成装置の操作者が所定の権限を有する場合に前記更新手段が前記画像形成装置のファームウェアを更新することを制限しないことを特徴とする、請求項２に記載の画像形成装置。
【請求項４】
前記所定の権限は、前記画像形成装置の設定を行うことができる権限であることを特徴とする、請求項２または３に記載の画像形成装置。
【請求項５】
前記所定の権限は管理者権限であることを特徴とする、請求項２または３に記載の画像形成装置。
【請求項６】
前記画像形成装置の操作者を認証するための処理を行う認証手段を更に有し、
前記特定手段は認証手段によって認証された前記操作者の権限を特定することを特徴とする、請求項２乃至５のいずれか１項に記載の画像形成装置。
【請求項７】
前記受付手段が前記画像形成装置のファームウェアの更新の指示を受け付けたときに前記認証手段が前記画像形成装置の操作者を認証していない場合、前記認証手段は前記操作者の認証を促すための画面を表示部に表示することを特徴とする、請求項６に記載の画像形成装置。
【請求項８】
前記認証手段が前記表示部に表示した前記操作者の認証を促すための画面に対して前記操作者が認証を行わない旨の指示を行なった場合、前記制限手段は前記画像形成装置のファームウェアの更新を行うことを制限することを特徴とする、請求項７に記載の画像形成装置。
【請求項９】
前記画像形成装置にインストールされているファームウェアが特定の種類のファームウェアであり、前記特定手段が特定した前記画像形成装置の操作者が前記所定の権限を有さない場合、前記制限手段は前記画像形成装置にインストールされているファームウェアのバージョンを示す情報を可視出力することを制限することを特徴とする、請求項２乃至８のいずれか１項に記載の画像形成装置。
【請求項１０】
前記画像形成装置は複数種類のファームウェアをインストールすることが可能であり、前記特定の種類のファームウェアとは、他の種類のファームウェアよりも前記画像形成装置のセキュリティに関する機能が強化されたファームウェアであることを特徴とする、請求項１乃至９のいずれか１項に記載の画像形成装置。
【請求項１１】
ファームウェアを更新することが可能な画像形成装置の制御方法であって、
前記画像形成装置のファームウェアの更新の指示を受け付ける受付工程と、
前記画像形成装置にインストールされているファームウェアが特定の種類のファームウェアである場合、前記画像形成装置のファームウェアの更新を行うことを制限する制限工程と、
を有することを特徴とする制御方法。
【請求項１２】
ファームウェアを更新することが可能な画像形成装置に制御方法を実行させるためのプログラムであって、前記制御方法は、
前記画像形成装置のファームウェアの更新の指示を受け付ける受付工程と、
前記画像形成装置にインストールされているファームウェアが特定の種類のファームウェアである場合、前記画像形成装置のファームウェアの更新を行うことを制限する制限工程と、
を有することを特徴とするプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、ファームウェアを更新することが可能な画像形成装置に関する。
【背景技術】
【０００２】
複写機やＭＦＰ（Ｍｕｌｔｉ  Ｆｕｎｃｔｉｏｎ  Ｐｅｒｉｐｈｅｒａｌ）等の画像形成装置においては、ファームウェアの更新（アップデート）が行われている。
【０００３】
画像形成装置の操作者は、通常の利用者である一般ユーザ、機器のセキュリティ設定等を管理する管理者、機器のメンテナンスや修理を行うサービスマン等が含まれる。従来の画像形成装置では、管理者によってファームウェアのアップデートが行われたり、機器のメンテナンスの一環としてサービスマンによってファームウェアのアップデートが行われたりしていた。
【０００４】
特許文献１は、ファームウェアをネットワーク経由でダウンロードする際、ファームウェアプログラムを暗号化することで、ファームウェアの改ざんを防止し、不正なバージョンアップを防ぐことを可能にしている。
【０００５】
一般に画像形成装置のファームウェアはバージョンによって管理されており、ファームウェアのバージョンを確認するための手段が提供されている。操作者は画像形成装置のバージョンを確認することでアップデートの必要性の有無を判断することができる。従来の画像形成装置では、一般ユーザでも管理者でもサービスマンでもファームウェアのバージョンを確認することができた。
【０００６】
ファームウェアのバージョンの確認は正当な管理者だけができることが望ましい。ファームウェアのバージョンを誰でも確認できる場合、ファームアップデートを行っておらず脆弱性の放置された画像形成装置を探索することが容易になるのでセキュリティ上好ましくない。
【先行技術文献】
【特許文献】
【０００７】
【特許文献１】特開２００７−１１９４４号公報
【発明の概要】
【発明が解決しようとする課題】
【０００８】
同じモデルの画像形成装置であっても、セキュリティ仕様がより厳密な仕様のものと、一般的な仕様のものとがある。画像形成装置を利用するユーザの導入指針によりどちらの仕様の画像形成装置を使用するのかは異なる。ここで、画像形成装置におけるセキュリティ仕様構成について説明する。セキュリティ仕様構成とは、セキュリティ仕様が厳密に定められたファームウェアがインストールされた画像形成装置の構成である。セキュリティ仕様構成の画像形成装置は、ユーザ認証、データの暗号化、データの入出力管理など、セキュリティに関する機能を強化している。例えばＩＥＥＥ２６００標準規格の認証を取得したファームウェアがインストールされた画像形成装置や、セキュリティ要求が高い特定の顧客向けの特別なファームウェアがインストールされた画像形成装置がセキュリティ仕様構成に当てはまる。
【０００９】
操作者の権限に応じたファームウェアの更新を制限しない場合、セキュリティ仕様構成の画像形成装置に、管理者以外のユーザが誤って一般仕様構成のファームをインストールすることができる。すると、画像形成装置はセキュリティ仕様構成から一般仕様構成に変更されてしまい、画像形成装置のセキュリティが低下してしまう。
【００１０】
本発明は、上述の課題を解決するためになされたものであり、画像形成装置の仕様構成によってファームウェアの更新を行う操作者を制限することで画像形成装置のセキュリティを高めることを目的とする。
【課題を解決するための手段】
【００１１】
上述した課題を解決するため、本発明に係る画像形成装置は、ファームウェアを更新することが可能な画像形成装置であって、前記画像形成装置のファームウェアの更新を行う更新手段と、前記画像形成装置のファームウェアの更新の指示を受け付ける受付手段と、前記画像形成装置にインストールされているファームウェアが特定の種類のファームウェアである場合、前記更新手段による前記画像形成装置のファームウェアの更新を制限する制限手段と、を有することを特徴とする。
【発明の効果】
【００１２】
本発明によれば、画像形成装置の仕様構成によってファームウェアの更新を行う操作者を制限することが可能になり、画像形成装置のセキュリティを高めることができる。
【図面の簡単な説明】
【００１３】
【図１】画像形成システムの構成の一例を示すブロック図である。
【図２】本実施形態の画像形成装置のファームウェアの構成の一例を示す図である。
【図３】本実施形態におけるファーム種別情報の一例を示す図である。
【図４】本実施形態におけるコンテンツリストの一例を示す図である。
【図５】本実施形態におけるファームウェアの更新処理の一例を示すフローチャートである。
【図６】本実施形態における認証画面の一例を示す図である。
【図７】本実施形態におけるファームウェアの更新の可否を示すテーブルの一例である。
【図８】本実施形態における即時更新処理の一例を示すフローチャートである。
【図９】本実施形態におけるアップデート認証画面の一例を示す図である。
【図１０】本実施形態におけるファームウェアのバージョン確認時の処理の一例を示すフローチャートである。
【図１１】本実施形態におけるアップデート確認画面の一例を示す図である。
【図１２】本実施形態におけるファームウェアのバージョン情報画面の一例を示す図である。
【図１３】本実施形態における操作部に表示される画面の一例を示す図である。
【発明を実施するための形態】
【００１４】
以下、本発明を実施するための最良の形態について図面を用いて説明する。
【００１５】
本実施例では画像形成装置に適用した場合について詳細に説明する。なお、以下の実施の形態は特許請求の範囲に係る本発明を限定するものでなく、また本実施の形態で説明されている特徴の組み合わせの全てが本発明の解決手段に必須のものとは限らない。
【００１６】
以下、本発明を実施するための最良の形態について図面を用いて説明する。
【００１７】
図１は、本実施形態における画像形成システムの構成の一例を示すブロック図である。
【００１８】
図１において、ＬＡＮ１１０には画像形成装置１００、サーバ装置２２４、ＰＣ２２５、認証サーバ２２６が接続される。本実施形態において画像形成装置１００は、コピー、プリント、スキャン等の機能を有するＭＦＰ（Ｍｕｌｔｉ  Ｆｕｎｃｔｉｏｎ  Ｐｅｒｉｐｈｅｒａｌ）とする。画像形成装置１００はプリンタ機能だけを有するＳＦＰ（Ｓｉｎｇｌｅ  Ｆｕｎｃｔｉｏｎ  Ｐｅｒｉｐｈｅｒａｌ）であっても良い。サーバ装置２２４は、画像形成装置１００の更新用ファームウェアを格納し、画像形成装置１００からの要求に応じて、更新用ファームウェアを画像形成装置１００へ送信する。ＰＣ２２５は、画像形成装置１００にＰＤＬ等の印刷データを送信し、画像形成装置１００に印刷を行わせる。認証サーバ２２６は、画像形成装置１００から送信された認証情報（ユーザＩＤやパスワード）に基づきユーザ認証を行い、認証の成否を示す情報と、認証が成功した場合には認証されたユーザのロール（役割）を示す情報を送信する。本実施形態では認証サーバ２２６が管理するロールは管理者、一般ユーザの２種類を含み、それぞれのロールに対して権限が割り当てられている。ロールの種類はこれに限らず、他のロールがあってもよい。管理者に割り当てられる権限は一般ユーザに割り当てられる権限よりも高い権限である。一般ユーザの権限では画像形成装置１００の設定を行なったり設定を変更することはできず、一般ユーザは画像形成装置１００が提供する機能（コピー、スキャン、プリント等）を利用する権限を有する。管理者権限は一般ユーザの権限に加えて画像形成装置１００の設定を行なったり、設定を変更することができる。画像形成装置１００の設定を行なったり、設定を変更するためには管理者の権限を必要とする。
【００１９】
認証サーバ２２６は、ユーザＩＤ、パスワード（或いはパスワードのハッシュ値）、ユーザのロールを関連付けた情報を複数のユーザ分格納したユーザデータベースを有している。なお、認証サーバ２２６が有する構成を画像形成装置１００が有していても良い。
【００２０】
画像形成装置１００の制御部２００は、画像形成装置１００全体を制御する。
【００２１】
ＣＰＵ２１０は、フラッシュメモリ２１１に記憶されたプログラム（制御部２００のファームウェア）をＲＡＭ２１２に読出して実行する。
【００２２】
ハードディスクドライブ（ＨＤＤ）２１３は、ネットワークＩ／Ｆ（インターフェース）２１８を介してＰＣ２２５から受信した印刷データを記憶する。なお、ＣＰＵ２１０により実行されるプログラムには、プリント用アプリケーションプログラムが含まれる。そして、このプリント用アプリケーションプログラムにより、ＨＤＤ２１３に記憶された印刷データがプリンタ部２２０によるプリントが可能な画像データに変換される。そして、ＨＤＤ２１３には、プリンタ部２２０によるプリントが可能な画像データも記憶される。また、ＣＰＵ２１０により実行されるプログラムには、スキャン用アプリケーションプログラムが含まれる。そして、このスキャン用アプリケーションプログラムにより、スキャナ部２２１により画像データが読み取られるとともに、読み取られた画像データがＨＤＤ２１３に転送される。なお、フラッシュメモリ２１１やＨＤＤ２１３がＳＳＤ（Ｓｏｌｉｄ  Ｓｔａｔｅ  Ｄｒｉｖｅ）であってもよい。また、制御部２００が複数のＣＰＵを有する構成であっても良い。その場合、複数のフラッシュメモリが各ＣＰＵに対応して設けられていても良い。
【００２３】
操作部Ｉ／Ｆ（インターフェース）２１４は、操作部２１９を介して画像形成装置１００の操作者により入力される指示をＣＰＵ２１０に伝達する。また、操作部Ｉ／Ｆ２１４は、操作部２１９に含まれる表示部に表示される内容を切替えるための指示をＣＰＵ２１０から受信して操作部２１９に伝達する。
【００２４】
プリンタＩ／Ｆ（インターフェース）２１５は、制御部２００とプリンタ部２２０を接続するためのインターフェースである。プリンタ部２２０は、プリンタＩ／Ｆ２１５を介してＨＤＤ２１３から転送される画像データに基づいてシート上に印刷を行う。プリンタ部２２０は、ＣＰＵ２２０ａとフラッシュメモリ２２０ｂを有する。ＣＰＵ２２０ａは、フラッシュメモリ２２０ｂに記憶されたプログラム（プリンタ部２２０のファームウェア）を実行することにより、プリント処理に伴う各種の動作をプリンタ部２２０に実行させる。
【００２５】
スキャナＩ／Ｆ（インターフェース）２１６は、制御部２００とスキャナ部２２１を接続するためのインターフェースである。スキャナ部２２１（画像データを入力する入力手段）は、原稿上の画像をＣＣＤ（Ｃｈａｒｇｅ  Ｃｏｕｐｌｅｄ  Ｄｅｖｉｃｅ）等により構成される光学センサを用いて読み取るものである。そして、スキャナ部２２１は、原稿上の画像を読み取ることによって生成した画像データをスキャナＩ／Ｆ２１６を介してＨＤＤ２１３へ転送する。ＨＤＤ２１３へ転送され、記憶された画像データは、前述したプリント部２２０によりプリントすることが可能であり、スキャナ部２２１により読み取った画像データをプリント部２２０によりプリントすることにより、複写（コピー）処理が可能となる。スキャナ部２２１は、ＣＰＵ２２１ａとフラッシュメモリ２２１ｂを有する。ＣＰＵ２２１ａは、フラッシュメモリ２２１ｂに記憶されたプログラム（スキャナ部２２１のファームウェア）を実行することにより、スキャン処理に伴う各種の動作をスキャナ部２２１に実行させる。
【００２６】
ＵＳＢホストインターフェース（ＵＳＢ−ＨｏｓｔＩ／Ｆ）２１７は、制御部２００と外部ＵＳＢデバイス２２３を接続するためのインターフェースである。ここで、外部ＵＳＢデバイス２２３は、ＵＳＢメモリやＵＳＢキーボードなどが例として挙げられる。ＵＳＢメモリに更新用ファームウェアを格納し、画像形成装置１００にダウンロードしてファームウェアをアップデートすることも可能である。
【００２７】
ＳＲＡＭ２２７は、後述するメインパーティション、およびサブパーティションの各プログラムの更新状態、及び画像形成装置１００の構成、状態、設定内容を記憶する。なお、画像形成装置１００の構成、状態、設定内容はＨＤＤ２１３に記憶されていてもよい。
【００２８】
なお、本実施形態では、制御部２００のＣＰＵ２１０、プリンタ部２２０のＣＰＵ２２０ａ、スキャナ部２２１のＣＰＵ２２１ａの３つのＣＰＵを有しているが、このような構成に限らない。例えば、制御部２００とプリンタ部２２０とスキャナ部２２１とを１つのＣＰＵで制御するような構成であっても良い。
【００２９】
次に、制御部２００のＣＰＵ２１０により実行されるプログラムの構成について図２を用いて説明する。
【００３０】
図２は本実施形態の画像形成装置のファームウェアの構成の一例を示す図である。
【００３１】
本実施形態では図２に示されるプログラムは、図１のフラッシュメモリ２１１に記憶されているものとする。
【００３２】
フラッシュメモリ２１１に記憶されるプログラムは、フラッシュメモリ２１１上の２つのパーティションに分けて格納されている。１つはメインパーティション４０１であり、もう１つはサブパーティション４０２である。画像形成装置１００に通常の動作をさせる際には、メインパーティションに格納されたオペレーティングシステム４１１（以下、ＯＳ）をＣＰＵ２１０に実行させる。その一方で、画像形成装置１００の通常の動作をさせるためのプログラム（メインパーティション４０１に記憶されるプログラム）を更新する際には、サブパーティションに格納されたＯＳをＣＰＵ２１０に実行させる。
【００３３】
メインパーティション４０１には、ＯＳ４１１、メインモジュール４１０及びアップデートモジュール４２０の３種類のプログラムモジュールが含まれている。ＯＳ４１１は、画像形成装置１００を制御するためのプログラムであり、プリンタ部２２０を含む画像形成装置１００の各部の動作を制御するためのドライバプログラムを含む。
【００３４】
また、サブパーティション４０２には、ＯＳ４３１及びアップデートモジュール４３０の２つのプログラムモジュールが含まれている。ＯＳ４３１は、画像形成装置１００を制御するためのＯＳであり、前述したＯＳ４１１と同様のものである。
【００３５】
ここで、メインパーティション４０１のメインモジュール４１０に含まれる各プログラムモジュールについて説明する。なお、各プログラムモジュールは、ＯＳ４１１が起動した後に、ＯＳ４１１上で動作するアプリケーションプログラムである。
【００３６】
メインモジュール４１０に含まれる操作部プログラム４１２は、操作部２１９を介して画像形成装置１００の操作者により入力される指示をＣＰＵ２１０に伝達し、伝達された指示に応じた処理を実行するためのプログラムである。また、スキャンプログラム４１３は、前述したスキャナ部２２１によるスキャン処理を制御するためのプログラムである。また、プリントプログラム４１４は、前述したプリンタ部２２０によるプリント処理を制御するためのプログラムである。ネットワークプログラム４１５は、ＬＡＮ１１０上のサーバ装置２２４やＰＣ２２５や認証サーバ２２６との通信を行うためのプログラムである。バージョン情報格納部４１６は画像形成装置１００のメインモジュール４１０の各プログラムであるファームウェアのバージョン情報を管理している。各ファームウェアのバージョン情報は後に説明するコンテンツリストとして、フラッシュメモリ２１１に格納されている。バージョン情報格納部４１６に格納された情報はＣＰＵ２１０により読み出され、操作部２１９に表示される。認証部４１７は操作部２１９を介して入力されたユーザ情報（例えば、ユーザＩＤやパスワードなど）に基づいて、操作者の認証を行うためのプログラムである。
【００３７】
アップデートモジュール４２０に含まれるアップデートプログラム４２１は、メインパーティション４０１に含まれる各プログラム、およびサブパーティション４０２に含まれる各プログラムを更新するためのプログラムである。アップデートモジュール４２０に含まれるメインモジュール起動準備プログラム４２２は、ＣＰＵ２１０がメインモジュール４１０を実行するために必要な初期化処理等を行うためのプログラムである。
【００３８】
仕様構成判定部４２３は、画像形成装置１００がセキュリティ仕様構成であるか否か、あるいはアップデートするファームウェアのバージョンがセキュリティ仕様構成であるか否かの判断を行う。
【００３９】
次に、サブパーティション４０２のアップデートモジュール４３０に含まれる各プログラムモジュールについて説明する。なお、各プログラムモジュールは、ＯＳ４３１が起動した後に、ＯＳ４３１上で動作するアプリケーションプログラムである。
【００４０】
メインパーティションアップデートプログラム４３２は、メインパーティション４０１に含まれる各プログラムを更新するためのプログラムである。処理部アップデートプログラム４３３は、処理部プログラム（ここではフラッシュメモリ２２０ｂに含まれる、プリンタ部２２０を制御してプリント処理を実行するためのプログラム）を更新するためのプログラムである。仕様構成判定部４３４は、メインパーティション内の仕様構成判定部４２３同様、画像形成装置１００がセキュリティ仕様構成であるか否かの判断を行う。
【００４１】
なお、図２に示したプログラムモジュールはあくまで一例であり、図２に示したものと異なるプログラムモジュールが含まれていてもよい。
【００４２】
図３は、本実施形態におけるファーム種別情報の一例を示す図である。ファーム種別情報３００は、画像形成装置１００にインストールされているファームウェアの種別を示す情報である識別値３０２を含む。ファーム種別情報３００はフラッシュメモリ２１１のバージョン情報格納部４１６に格納されている。ファーム種別情報３００に含まれる識別値３０２は「０」または「１」の値となる。セキュリティ仕様構成ファームに対する識別値３０２として「１」が、一般仕様構成ファームに対する識別値３０２として「０」が対応づけられている。識別値は、後述する図４のコンテンツリストにも含まれている（ファームタイプ＝の後に続く値）。ファームウェアのアップデートを行う際に、ファーム種別情報３００に含まれる識別値３０２と、コンテンツリスト内の識別値とに基づいてアップデートの処理に制限を行う。識別値３０２は、画像形成装置１００にインストールされるファームウェアの種別が変更されることに従って変更される。なお、本実施形態では、ファームウェアの種別としてセキュリティ仕様構成ファームと一般仕様構成ファームの複数種類を例示したが、これら以外の種類のファームウェアがあっても良い。例えば、特定の仕向けにカスタマイズされたファームウェアといった種別が追加されてもよい。また、ファーム種別情報３００がＨＤＤ２１３やＳＲＡＭ２２７などに格納されてもよい。また、操作部２１９を用いた操作などによって識別値３０２が変更されてもよい。
【００４３】
図４は本実施形態におけるコンテンツリストの一例を示す図である。コンテンツリストは、画像形成装置１００の複数のファームウェアについて、各ファームウェアのバージョンが何であるのかを示す情報である。また、コンテンツリストは上述した識別値を含んでいる。更に、コンテンツリストは複数のファームウェアの組み合わせに対するバージョンを示す情報も含んでいる。ここで、コンテンツリストが示す複数のファームウェアの組み合わせを、パッケージと呼ぶ。画像形成装置１００にインストールされている複数のファームウェアに対応するコンテンツリストは画像形成装置のフラッシュメモリ２１１に格納されている。また、画像形成装置１００のファームウェアを更新する際には、複数のファームウェアとコンテンツリストとを含むパッケージを外部から取得する。
【００４４】
図４（ａ）はファーム種別情報の識別値が１、即ちセキュリティ仕様構成ファームのコンテンツリストである。図４（ａ）のパッケージのバージョンは９．０である。
【００４５】
図４（ｂ）はファーム種別情報の識別値は１であるのでセキュリティ仕様構成ファームのコンテンツリストである、パッケージのバージョンが９．１である。図４（ａ）のコンテンツリストに対応するパッケージが現在画像形成装置１００にインストールされているとすると、図４（ｂ）のコンテンツリストに対応するパッケージは新たに更新するパッケージとなる。ＣＰＵ２１０は、図４（ａ）のコンテンツリストと図４（ｂ）のコンテンツリストとを比較すると、プリントモジュールのバージョンが更新されていることが分かる。
【００４６】
図４（ｃ）はファーム種別情報の識別値が０、即ち一般仕様構成ファームのコンテンツリストである。図４（ｃ）のパッケージのバージョンは１０．０である。
【００４７】
図４（ｄ）はファーム識別情報の識別値は０であるので一般構成ファームのコンテンツリストで、パッケージのバージョンが１０．１である。図４（ｄ）のコンテンツリストに対応するパッケージは、図４（ｃ）のコンテンツリストに対応するパッケージを更新するパッケージとなる。ＣＰＵ２１０は、図４（ｃ）のコンテンツリストと図４（ｄ）のコンテンツリストとを比較すると、プリントモジュールのバージョンが１０．０から１０．１に更新されていることが分かる。
【００４８】
同じプリントモジュールであっても識別値がセキュリティ仕様構成となるファームに、一般仕様構成ファーム用の更新プリントモジュールを適用すると、画像形成装置１００のセキュリティ状態を保つことができない。画像形成装置１００のファームウェアを更新する場合には、更新前のパッケージと更新後のパッケージとでファーム種別情報が同じであることが必要である。
【００４９】
次に、画像形成装置１００におけるファームウェアの更新方法について説明する。画像形成装置１００では、以下の２つのパターンのファームウェア更新方法が存在する。
【００５０】
第１の方法では、まず、画像形成装置１００の操作部２１９からの管理者等による操作により、外部ＵＳＢデバイス２２３や、ネットワークＩ／Ｆ２１８を介してＰＣ２２５やサーバ装置２２４から更新用ファームウェアのパッケージをＨＤＤ２１３内にダウンロードする。パッケージは圧縮されていたり、或いは所定の暗号鍵によって暗号化されていたりする。そして、ダウンロードしたパッケージを展開するとともにアップデートモジュール４２０のアップデート４２１にあるプログラム領域を書き換える。
【００５１】
第２の方法では、アップデートモジュール４２０が、更新用パッケージの配信日時とプログラム領域の書き換え日時とをそれぞれ設定する。そして設定された配信日時にサーバ装置２２４から更新用パッケージのダウンロードを行い、設定された書き換え日時に書き換えを行う。第２の方法の場合、パッケージンのダウンロードと展開、及び書き換えは無人の状態で行われる。
【００５２】
本実施形態の画像形成装置１００は上述した２つの更新方法でファームウェアの更新を行うが、ここに挙げる以外の、ファームウェアダウンロード、およびファームウェアの更新方法及び更新タイミングがあってもよい。
【００５３】
図７は、更新用ファームウェアのパッケージが格納されている場所と、ファームウェア更新の指示者との関係から、ファームウェアの更新の可否を示すテーブルの一例である。図７（ａ）は画像形成装置１００に一般仕様構成のファームウェアがインストールされている場合に適用されるテーブルである。図７（ｂ）は、画像形成装置１００にセキュリティ仕様構成のファームウェアがインストールされている場合に適用されるテーブルである。図７に示すテーブルは画像形成装置１００のフラッシュメモリ２１１或いはＨＤＤ２１３に格納されている。図７において、「○」はファームウェアの更新が可能であることを意味しており、「×」はファームウェアの更新が不可であることを示している。
【００５４】
図７（ａ）に示すように、ＰＣや外部ＵＳＢデバイスから更新用ファームウェアをダウンロードした場合、ファームウェアの更新指示者が管理者、或いは一般ユーザであればファームウェアを更新することが可能である。サーバ装置から更新用ファームウェアをダウンロードした場合、上述の第１の方法であるならばファームウェアの更新指示者が管理者、或いは一般ユーザであればファームウェアを更新することが可能である。一方、第２の方法であるならば無人の状態でファームウェアを更新することが可能である。
【００５５】
一方、図７（ｂ）に示すように、セキュリティ仕様構成のファームウェアを更新する場合、更新用のファームウェアの格納場所がどこであっても、ファームウェア更新指示者が管理者でなければファームウェアの更新を行うことはできない。これにより、セキュリティ仕様構成から一般仕様構成に変更されてしまうことを防止する。
【００５６】
次に、本実施形態におけるファームウェアの更新処理について説明する。
【００５７】
図５は本実施形態におけるファームウェアの更新処理を示すフローチャートの一例を示す図である。図５の各ステップにおける処理は、制御部２００のＣＰＵ２１０がフラッシュメモリ２１１に記憶されたプログラムを実行することにより行われる。なお、ここで説明するファームウェアの展開とは、圧縮されたり暗号化された状態のダウンロードしたファームウェア一式（パッケージ）を伸長したり復号してフラッシュメモリ２１１の特定の領域に一時的に記憶しておくことを意味する。一方、ファームウェアの適用とはファームウェアをプログラム格納領域に書き込むことを意味する。
【００５８】
Ｓ８０１で、ＣＰＵ２１０は、操作者が操作部２１９に対して所定の操作を行うことにより画像形成装置１００のプログラムを更新するための更新処理の実行指示を受け付けたかどうかを判断する。或いは、あらかじめ設定された、ファームウェアをサーバ装置２２４からダウンロードする日時になったかを判定する。実行指示を受付けたと判定したらＳ８０２へ処理を進め、そうでなければ本フローチャートを終了する。
【００５９】
Ｓ８０２で、ＣＰＵ２１０は、ＯＳ４１１を介してアップデート４２１を実行することにより、フラッシュメモリ２１１、フラッシュメモリ２２０ｂ、フラッシュメモリ２２１ｂにインストールされた各ファームウェアのバージョン情報を取得する。各ファームウェアのバージョン情報は、フラッシュメモリ２１１に格納され、バージョン情報格納部４１６による管理されているコンテンツリストから取得することができる。
【００６０】
次にＳ８０３で、ＣＰＵ２１０は外部ＵＳＢデバイス２２３、ＰＣ２２５、あるいはサーバ装置２２４より更新後のファームウェアのコンテンツリストを取得する。そして、Ｓ８０４において、ＣＰＵ２１０はバージョン情報格納部４１６により管理されているコンテンツリストの情報を読み取り、画像形成装置１００がセキュリティ仕様構成の状態にあるか否かを判定する。Ｓ８０４にてセキュリティ仕様構成ではないと判定した場合、Ｓ８０５において、ＣＰＵ２１０はＳ８０３で取得したコンテンツリストに対応するファームウェアをダウンロードし、展開し、適用する。そして本フローチャートを終了する。
【００６１】
一方、Ｓ８０４にて画像形成装置１００がセキュリティ仕様構成であると判定した場合、Ｓ８０６へ進み、ＣＰＵ２１０は画像形成装置１００が管理者権限を有する操作者を認証しているか否かを判定する。Ｓ８０６にて管理者権限を有する操作者を認証していないと判定した場合、Ｓ８０７へ進みＣＰＵ２１０はユーザ認証を要求することが可能か否かを判定する。操作部２１９、あるいはＰＣ２２５からファームウェア更新の指示がなされた場合、操作部２１９、或いはＰＣ２２５を操作する操作者に対してユーザ認証の要求ができると判定してＳ８０８に遷移する。一方、アップデートモジュール４２０において、更新ファームウェアの配信日時とプログラム領域の書き換え日時が設定されており、ＣＰＵ２１０が判断して無人でアップデートするような場合、ユーザ認証を要求することができないと判定して、Ｓ８１２に遷移する。なお、本実施例ではセキュリティ仕様構成の場合に無人の状態でファームウェアのダウンロードと展開までは行い、適用は行わないことを前提としている。セキュリティ仕様構成の場合に無人の状態でのファームウェアのダウンロードを行わないようにしてもよい。この場合、Ｓ８０６の判定結果が肯定でない場合、本フローチャートを終了する。
【００６２】
Ｓ８０８では、操作部２１９にアップデート認証画面９００を表示し、Ｓ８０９に遷移する。
【００６３】
図９はＳ８０８にて表示されるアップデート認証画面の一例を示す図である。本実施形態の画像形成装置１００は、セキュリティ仕様構成のファームウェアを更新するためには管理者の権限を有する操作者による指示を必要とする。そのために、アップデート認証画面９００を操作部２１９に表示し、ファームウェアの更新の指示が管理者権限を有する操作者であることを確認する。操作者が管理者権限を有するのであれば、アップデート認証画面９００のユーザＩＤ入力欄９０１とパスワード入力欄９０２に管理者の認証情報が入力され、ログインボタン９０３が押下される。操作者が管理者権限を有さないのであればそのユーザの認証情報が入力されてもファームウェアの更新は行われない。この場合、操作者は保留ボタン９０４を押下する。
【００６４】
Ｓ８０９にて、図９のログインボタン９０３が押されたか判定する。Ｓ８０９でログインボタンが押下されたと判定した場合、Ｓ８１０へ進む。Ｓ８１０では、アップデート認証画面９００で入力された認証情報に基づき、管理者権限を有する操作者が認証されたか否かを判断する。Ｓ８１０で管理者権限を有する操作者が認証されたと判断した場合、Ｓ８０５へ進み、ファームウェアのダウンロード、展開、適用を行う。
【００６５】
Ｓ８０９にて、ログインボタンが押されていないと判定された場合、Ｓ８１１へ進み、アップデート認証画面９００の保留ボタン９０４が押されたか判定する。Ｓ８１１にて保留ボタン９０４が押されたと判定した場合、Ｓ８１２へ進む。Ｓ８１２ではパッケージのダウンロードと展開を行い、Ｓ８１３に遷移する。なお、Ｓ８１２では「適用」は行われない。そして、Ｓ８１３にて、ＨＤＤ２１３の所定の領域に即時アップデートフラグを記憶して本フローチャートを終了する。
【００６６】
図５のフローチャートを実行することにより、セキュリティ仕様構成のファームウェアは管理者権限を有する操作者による指示があった場合に更新することが可能となる。
【００６７】
次に即時アップデートフラグに応じた処理について図８のフローチャートを用いて説明する。
【００６８】
図８は本実施形態における即時更新処理の一例を示すフローチャートである。図８の各ステップにおける処理は、制御部２００のＣＰＵ２１０がフラッシュメモリ２１１に記憶されたプログラムを実行することにより行われる。
【００６９】
まず、Ｓ１００１で画像形成装置１００の操作者を認証する。Ｓ１００１において操作者の認証を行う場合には、図６に示す認証画面６００が表示される。ただし、Ｓ１００１ではメッセージ６０５は表示されない。そして、認証画面６００に対して入力された認証情報を用いて操作者の認証を行う。そして、Ｓ１００２へ進み、操作者が正しく認証され、かつ認証された操作者が管理者権限を有するかを判定する。Ｓ１００２で、操作者が管理者権限を有すると判定した場合、Ｓ１００３へ進む。そうでない場合、即ち、操作者が正しく認証されなかったと判定した場合、或いは操作者は正しく認証されたが、認証された操作者が管理者権限を有さないと判断した場合、ダウンロードしたファームウェアの適用は行わずに本フローチャートを終了する。
【００７０】
Ｓ１００３にて、ＣＰＵ２１０はＨＤＤ２１３の所定の領域に即時アップデートフラグが記憶されているか判定する。Ｓ１００３にて即時アップデートフラグが記憶されていないと判定した場合、ＣＰＵ２１０は本フローチャートを終了する。Ｓ１００３にて即時アップデートフラグが記憶されていると判定した場合、Ｓ１００４へ進む。Ｓ１００４にて、ＣＰＵ２１０は操作部２１９にアップデート確認画面（図１１の１１００）を表示し、Ｓ１００５に遷移する。
【００７１】
図１１はアップデート確認画面の一例を示す図である。アップデート確認画面１１００中のアップデートボタン１１０１が押下された場合、Ｓ１００５にてアップデート指示されたと判定し、Ｓ１００６へ進む。一方、アップデート確認画面１１００中のキャンセルボタン１１０２が押下された場合（Ｓ１００５でＮｏ）、本フローチャートを終了する。
【００７２】
Ｓ１００６にて、ＣＰＵ２１０はＳ８１２にて展開済みのファームの適用を行い、Ｓ１００７へ進む。そして、Ｓ１００７にて、ＣＰＵ２１０はＨＤＤ２１３の所定の領域に記憶されていた即時アップデートフラグを削除して本フローチャートを終了する。
【００７３】
図５のフローチャートを実行した際に操作者が管理者権限を有さない場合、ダウンロードしたファームウェアの展開までは行っておき（Ｓ８１２）、適用はせずに一旦処理を終える。その後、管理者権限を有する操作者による操作の下、図８のフローチャートを実行することによって、ダウンロードと展開までは行われたが適用がなされていなかったファームウェアが管理者権限を有する操作者の下に適用される。これによりセキュリティ仕様構成のファームウェアが管理者権限を有する操作者により正しく更新される。
【００７４】
以上、管理者権限を有する操作者による指示によってセキュリティ仕様構成のファームウェアを更新することについて説明した。次に、現在画像形成装置１００にインストールされているファームウェアのバージョンを確認する操作を、操作者の権限によって制限することについて説明する。
【００７５】
図１０は、本実施形態におけるファームウェアのバージョン確認時の処理の一例を示すフローチャートである。図１０の各ステップにおける処理は、制御部２００のＣＰＵ２１０がフラッシュメモリ２１１に記憶されたプログラムを実行することにより行われる。
【００７６】
まず、Ｓ５０１にて、ユーザが操作部２１９を操作し、バージョン表示の指示を行い、ＣＰＵ２１０はバージョン表示の指示を受け付ける。そしてＳ５０２に進む。Ｓ５０２にてＣＰＵ２１０はバージョン情報格納部４１６の情報を読み取り、画像形成装置１００がセキュリティ仕様構成の状態にあるか判定する。画像形成装置１００がセキュリティ仕様構成であるか否かは、画像形成装置にインストールされているファームウェアがセキュリティ仕様構成のファームウェアであるか否かに基づいて判定する。本実施形態では、ファーム種別情報３００に含まれる識別値３０２の値に基づき判定することができる。或いは、画像形成装置１００にインストールされているファームウェアのバージョン情報に基づき、ファームウェアがセキュリティ仕様構成であるか否かを判定することができる。Ｓ５０２にて画像形成装置１００がセキュリティ仕様構成ではないと判定した場合（例えば画像形成装置が一般仕様構成である場合）、Ｓ５０４へ進む。一方、Ｓ５０２にて画像形成装置１００がセキュリティ仕様構成であると判定した場合、Ｓ５０３に進む。
【００７７】
Ｓ５０３にて、ＣＰＵ２１０は画像形成装置１００の操作者が管理者であるか否かを判定する。Ｓ５０３にて操作者が認証され、認証された操作者が管理者権限を有すると判定した場合Ｓ５０４へ進む。Ｓ５０４にてＣＰＵ２１０は操作部２１９に現在画像形成装置１００にインストールされているファームウェアのバージョン情報を表示する。一方、Ｓ５０３にて操作者が認証され、認証された操作者が管理者権限を有さない場合、或いは操作者が認証されていないと判定した場合、Ｓ５０５に進む。Ｓ５０５にてＣＰＵ２１０は操作部２１９に操作者を認証するための認証画面を表示する。
【００７８】
図６は本実施形態における認証画面の一例を示す図である。
【００７９】
図６において認証画面６００は、ユーザＩＤ入力欄６０１、パスワード入力欄６０２、ログインボタン６０３、キャンセルボタン６０４、メッセージ６０５を表示項目として含んでいる。
【００８０】
Ｓ５０６では、認証画面６００のキャンセルボタン６０４が押下されたか否かを判定する。キャンセルボタン６０４が押下されたと判定した場合、操作者の認証が行われない。この場合、操作者が管理者権限を有することを確認できないので、バージョン情報を表示することなく本フローチャートを終了する。
【００８１】
Ｓ５０６でキャンセルボタン６０３が押下されていないと判定した場合、Ｓ５０７に進み、ログインボタン６０３が押下されたか否かを判定する。ログインボタンが押下されていないと判定した場合にはＳ５０６へ進む。一方、ログインボタンが押下されたと判定した場合にはＳ５０８へ進む。
【００８２】
Ｓ５０８では、認証画面６００で入力された認証情報（ユーザＩＤ入力欄６０１とパスワード入力欄６０２に入力されたパスワード）に基づき、管理者権限を有する操作者が認証されたか否かを判断する。Ｓ５０８で管理者権限を有する操作者が認証されたと判定した場合には、Ｓ５０４へ進み、現在画像形成装置１００にインストールされているファームウェアのバージョン情報を表示する。一方、Ｓ５０８で管理者権限を有する操作者が認証されていないと判定した場合には、Ｓ５０５へ戻る。
【００８３】
なお、Ｓ５０８で管理者権限を有する操作者が認証されていないと判定した場合には、Ｓ５０５へ戻る代わりに本フローチャートを終了しても良い。
【００８４】
図１２は、本実施形態におけるファームウェアのバージョン情報画面の一例を示す図である。
【００８５】
Ｓ５０４では、図１２に示すバージョン情報画面１２００が表示される。バージョン情報画面１２００は、１２０２−１２１８に示す表示項目を含む。
【００８６】
製品名１２０２は、画像形成装置１００の製品名を示す。メインボードバージョン１２０４は、画像形成装置１００の制御部２００の各構成が実装された基板のバージョンを示す。
【００８７】
ファームバージョン１２０６は、画像形成装置１００にインストールされているファームウェアのバージョン情報を示す。図１２では、ファームウェアのバージョンは９．１であり、セキュリティ仕様構成のファームウェアであることが分かる。
【００８８】
メモリＡ容量１２０８、メモリＢ容量１２１０はそれぞれ制御部２００のＲＡＭ２１２の容量を表す。図１２の表示例は、画像形成装置１００の制御部２００には２つのＲＡＭ２１２を２つ有しているものとするがこれに限らない。
【００８９】
スキャナーバージョン１２１２は、スキャナ部２２１のフラッシュメモリ２２１ｂにインストールされた、スキャナ部２２１のファームウェアのバージョン情報を示す。
【００９０】
プリンターバージョン１２１４は、プリンタ部２２０のフラッシュメモリ２２０ｂにインストールされた、プリンタ部２２０のファームウェアのバージョン情報を示す。
【００９１】
ＯＫボタン１２１６が押下されるとバージョン情報画面１２００は閉じられ、操作部２１９には所定の画面、或いはバージョン情報画面１２００が表示される前の画面が表示される。
【００９２】
図１２に示すバージョン情報画面１２００を確認することにより、画像形成装置１００にインストールされたファームウェアのバージョンを確認することができる。これにより、セキュリティ仕様構成のファームウェアがインストールされているか否を確認することができ、画像形成装置１００がセキュリティ仕様構成であるか否かを確認することができる。
【００９３】
また、Ｓ５０３で画像形成装置１００の操作者が管理者でないと判定された場合、Ｓ５０５へ進む代わりに、操作部２１９に図１３に示すような画面を表示しても良い。図１３は本実施形態における操作部２１９に表示される画面の一例を示す図である。図１３の画面１３００は、図１２に示すバージョン情報画面１２００において、メインボードバージョン１２０４、ファームバージョン１２０６、スキャナーバージョン１２１２、プリンターバージョン１２１４の各情報をマスクしたものである。画面１３００を表示することにより、管理者権限を有さない操作者に対しては、セキュリティ仕様構成であることが操作者に知られてしまう情報を隠蔽することが可能になる。
【００９４】
ファームウェアのバージョンの確認は正当な管理者だけができることが望ましい。本実施形態ではセキュリティ仕様構成のファームウェアと一般仕様構成のファームウェアとは異なるバージョンで管理される。セキュリティ仕様構成の画像形成装置においては、ファームウェアのバージョン情報自体も機密な情報として扱うべきである。しかし、従来の画像形成装置ではファームウェアのバージョン情報に対するアクセスを制限することはできなかった。図１０のフローチャートによれば、高いセキュリティが要求されるセキュリティ仕様構成の画像形成装置１００において、バージョンの確認可能な操作者を制限することが可能になる。これにより、セキュリティ仕様構成の画像形成装置１００が意図的に一般仕様構成に変更されてしまう可能性を低下させることができる。
【００９５】
なお、図１０のフローチャートは、ファームウェアのバージョンを操作部２１９に表示する場合だけでなく、他の手段でバージョン情報を可視出力する場合にも適用できる。例えば、ファームウェアのバージョン情報をプリンタ部２２０で印刷する場合にも適用することができる。
【００９６】
［他の実施の形態］
なお、本発明の目的は、以下の処理を実行することによっても達成される。即ち、上述した実施の形態の機能を実現するソフトウェアのプログラムコード（以下制御プログラム）を記録した記憶媒体を、画像処理装置や情報処理装置、或いはそれら装置の機能拡張ユニットに供給し、それら装置のコンピュータ（またはＣＰＵやＭＰＵ等）が記憶媒体に格納された制御プログラムを読み出す処理である。この場合、記憶媒体から読み出された制御プログラム自体が前述した実施の形態の機能を実現することになり、その制御プログラム及び該制御プログラムを記憶した記憶媒体は本発明を構成することになる。制御プログラムはネットワークを介してダウンロードしてもよい。
【符号の説明】
【００９７】
１００  画像形成装置
２１１  フラッシュメモリ
４２０  アップデートモジュール
４１６  バージョン情報格納部
【図１】
2018097888.tif 000003
【図２】
2018097888.tif 000004
【図３】
2018097888.tif 000005
【図４】
2018097888.tif 000006
【図５】
2018097888.tif 000007
【図６】
2018097888.tif 000008
【図７】
2018097888.tif 000009
【図８】
2018097888.tif 000010
【図９】
2018097888.tif 000011
【図１０】
2018097888.tif 000012
【図１１】
2018097888.tif 000013
【図１２】
2018097888.tif 000014
【図１３】
2018097888.tif 000015