(57)【要約】【課題】ファームウェアの設定値を安全かつ確実に新ファームウェアに引継ぐことのできるファームウェアアップデートシステムを提供する。【解決手段】現在のファームウェアに設定された設定値を取得し、設定値のうちの一部を暗号化する設定値暗号化部２０３と、暗号化された設定値および暗号化されていない設定値を配信サーバーに送信すると設定値送信部２０６と、暗号化された設定値および暗号化されていない設定値が設定された新ファームウェアを配信サーバーから取得するファームウェア取得部２０７と、暗号化された設定値を復号化し、新ファームウェアをインストールするファームウェアアップデート部２０２とを備える。【選択図】図３
2010086370.tif 000002
【特許請求の範囲】
【請求項１】
配信サーバーからファームウェアを受信し、前記ファームウェアをインストールする画像形成装置であって、
現在のファームウェアに設定された設定値を取得し、前記設定値のうちの一部を暗号化する設定値暗号化手段と、
暗号化された設定値および暗号化されていない設定値を前記配信サーバーに送信する設定値送信手段と、
前記暗号化された設定値および暗号化されていない設定値が設定された新ファームウェアを前記配信サーバーから取得するファームウェア取得手段と、
前記暗号化された設定値を復号化し、前記新ファームウェアをインストールするファームウェアアップデート手段と
を備えたことを特徴とする画像形成装置。
【請求項２】
前記設定値のうち暗号化される設定値が予め特定されていることを特徴とする請求項１記載の画像形成装置。
【請求項３】
前記配信サーバーから、前記設定値のうち暗号化される設定値の指示を受けることを特徴とする請求項１記載の画像形成装置。
【請求項４】
前記配信サーバーから、前記設定値を暗号化および復号化するための鍵の指示を受けることを特徴とする請求項１記載の画像形成装置。
【請求項５】
コンピュータを、請求項１から４のいずれかに記載の画像形成装置として機能させるためのコンピュータプログラム。
【請求項６】
請求項５に記載のコンピュータプログラムを格納したコンピュータで読み取り可能な記録媒体。
【請求項７】
画像形成装置にファームウェアを配信するための配信サーバーであって、
ファームウェアを保管するファームウェア保管手段と、
画像形成装置からの暗号化された設定値と暗号化されていない設定値を受け付ける設定値受付手段と、
前記設定値を新ファームウェアに適合するように変換する設定値変換手段と、
前記設定値変換手段によって変換された前記設定値を、前記新ファームウェアに設定するファームウェア設定手段と、
前記ファームウェア設定手段により設定値が設定された新ファームウェアを前記画像形成装置に対して配信するファームウェア配信手段と
を備えることを特徴とする配信サーバー。
【請求項８】
前記設定値のうち暗号化する設定値を前記画像形成装置に指示することを特徴とする請求項７記載の配信サーバー。
【請求項９】
前記設定値を暗号化および復号化するために用いる鍵を前記画像形成装置に指示することを特徴とする請求項７記載の配信サーバー。
【請求項１０】
前記設定値変換手段は、ファームウェアの制御下にて管理される設定値を配置するためのディレクトリを所定のルールに基づき変更することで、前記ファームウェア設定手段に設定値を設定させる請求項７に記載の配信サーバー。
【請求項１１】
配信サーバーからファームウェアを配信し、画像形成装置のファームウェアをアップデートするファームウェアアップデート方法であって、
前記画像形成装置の設定値暗号化手段が、現在のファームウェアに設定された設定値を取得し、前記設定値のうちの一部を暗号化する工程と、
前記画像形成装置の設定値送信手段が暗号化された設定値および暗号化されていない設定値を前記配信サーバーに送信する工程と、
前記配信サーバーの設定値受付手段が前記画像形成装置からの暗号化された設定値と暗号化されていない設定値を受け付ける工程と、
前記配信サーバーの前記設定値変換手段が前記設定値を新ファームウェアに適合するように変換する工程と、
前記配信サーバーのファームウェア設定手段が、前記設定値変換手段によって変換された前記設定値を、前記新ファームウェアに設定する工程と、
前記配信サーバーのファームウェア配信手段が、前記ファームウェア設定手段により設定値が設定された新ファームウェアを前記画像形成装置に配信する工程と
を備えることを特徴とするファームウェアアップデート方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、ネットワークを通じてファームウェアを配信し、ファームウェアをアップデートする画像形成装置、配信サーバーおよびファームウェアアップデート方法に関するものである。
【背景技術】
【０００２】
従来、機器組込みのファームウェアをアップデートするシステム（機器組込みファームウェアアップデートシステム）としては、例えば特許文献１および特許文献２に記載された装置が知られている。
【０００３】
特許文献１では、画像形成装置は、装置の機種およびファームウェアの現在のバージョンを確認し、中央管理装置から、自己の機種および他の装置の機種に対応するファームウェアの最新バージョンの情報を入手してバージョンアップの有無をチェックする。次に、画像形成装置は、自己の機種に対応するファームウェアがバージョンアップされていれば、そのファームウェアを中央管理装置からダウンロードしてバージョンアップする。続いて、画像形成装置は、他の画像形成装置の機種に対応するファームウェアがバージョンアップされていれば、そのファームウェアを中央管理装置からダウンロードし、ネットワークを介して他の装置に転送してバージョンアップを行う。
【０００４】
特許文献２では、管理装置は、新たなファームウェアを送信する際に、新たなファームウェアへの更新処理を行うため画像処理装置側で実行すべき処理を記述した制御プログラム（スクリプトを含む）をあわせて送信する。
【特許文献１】２００２−２２２０６８号公報
【特許文献２】２００３−１９６１８６号公報
【発明の開示】
【発明が解決しようとする課題】
【０００５】
ところで、コンテンツを配信するサーバーが自動で、あるいはサービスマンがマニュアルで、画像形成装置（Ｍｕｌｔｉ  Ｆｕｎｃｔｉｏｎａｌ  Ｐｒｉｔｅｒ：マルチ・ファンクション・プリンタ）のファームウェアをバージョンアップする場合がある。このとき、画像形成装置の各種設定値（ユーザー情報、ネットワーク設定情報など）を安全に移行することが求められる。
【０００６】
すなわち、ファームウェアのバージョンアップに際しては、機能拡張や障害修正のため、ハードディスクのパーティション変更、データベースのスキーマ変更、設定値のスキーマ拡張など、画像形成装置の各種設定値の様々な変更が必要とされることがある。
【０００７】
これら各種設定値の変更を伴うＭＦＰのファームウェアのバージョンアップを行う場合、各種設定値を保全しつつ、格納位置の変更やスキーマの変更に伴う各種設定値のコンバートを自動的に行うことが好ましい。また、ファームウェアのバージョンアップを行う場合、各種設定値のうち個人情報が漏洩しないように安全に実行することが求められる。
【０００８】
しかしながら、上記従来のシステムでは、現在動作中のファームウェアに設定された各種設定値を安全かつ自動的に新規のファームウェアに引継ぐことができない。すなわち、従来のシステムでは、ファームウェアを配信するサーバーは各種設定値を新規のファームウェアに合わせてコンバートすることができない。また、従来のシステムでは、ファームウェアのバージョンアップに伴う個人情報の保護も不十分であった。
【０００９】
そこで、本発明の課題は、現在のファームウェアにかかわる設定情報を安全かつ確実に新規のファームウェアに引継ぐことのできるファームウェア配信システムおよびファームウェア配信方法を提供することである。
【課題を解決するための手段】
【００１０】
そこで、本発明は、配信サーバーからファームウェアを受信し、前記ファームウェアをインストールする画像形成装置であって、現在のファームウェアに設定された設定値を取得し、前記設定値のうちの一部を暗号化する設定値暗号化手段と、暗号化された設定値および暗号化されていない設定値を前記配信サーバーに送信すると設定値送信手段と、前記暗号化された設定値および暗号化されていない設定値が設定された新ファームウェアを前記配信サーバーから取得するファームウェア取得手段と、前記暗号化された設定値を復号化し、前記新ファームウェアをインストールするファームウェアアップデート手段を備えたことを特徴とする。
【００１１】
また、本発明は、画像形成装置にファームウェアを配信するための配信サーバーであって、ファームウェアを保管するファームウェア保管手段と、画像形成装置からの暗号化された設定値と暗号化されていない設定値を受け付ける設定値受付手段と、前記設定値を新ファームウェアに適合するように変換する設定値変換手段と、前記設定値変換手段によって変換された前記設定値を、前記新ファームウェアに設定するファームウェア設定手段と、前記ファームウェア設定手段により設定値が設定された新ファームウェアを前記画像形成装置に配信するファームウェア配信手段とを備えることを特徴とする。
【発明の効果】
【００１２】
本発明によれば、現在のファームウェアの設定情報を、人手による再設定を要せず、自動的に新ファームウェアに引継ぐことができる。また、画像形成装置が配信サーバーへ設定値を送信するとき、個人情報などの一部の設定情報が画像形成装置に固有の暗号鍵で暗号化される。したがって、万が一配信サーバーから設定情報が読み取られた場合であっても、暗号化された個人情報は解読されないため、個人情報の漏洩を防止することができる。
【発明を実施するための最良の形態】
【００１３】
＜第１実施形態＞
図１は、第１実施形態であるファームウェアアップデートシステムの構成の一例を示す図である。第１実施形態であるファームウェアアップデートシステムは、画像形成装置の一例である画像形成装置（例えば、Ｍｕｌｔｉ  Ｆｕｎｃｔｉｏｎａｌ  Ｐｒｉｔｅｒ：マルチ・ファンクション・プリンタ）１０１を含む。また、ファームウェアアップデートシステムは、画像形成装置１０１にネットワーク１０３で接続された配信サーバー１０２を含む。なお、画像形成装置は、パーソナルコンピュータ、携帯端末、プリンタ、複写機など、ファームウェアを格納した他の装置であってもよい。
【００１４】
画像形成装置１０１は、後述するＲＯＭ２０２またはＨＤＤ２０３にファームウェアおよび設定値を格納している。画像形成装置１０１のユーザーは、画像形成装置１０１のファームウェア上で動作する各種アプリケーションに対して、独自の設定を行うことができる。ユーザーが独自の設定を行うことができるアプリケーションの一例として、印刷物のＥ−Ｍａｉｌ送信アプリケーションがある。印刷物のＥ−Ｍａｉｌ送信アプリケーションは、設定値として、Ｅ−Ｍａｉｌ送信に使用するメールアドレスを記録したアドレス帳を保有している。
【００１５】
配信サーバー１０２は、機種別およびバージョン別のファームウェア１０５を格納しており、データベースを用いてこれらファームウェア１０５を管理している。配信サーバー１０２は、前記データベースを検索し、各種ファームウェア１０５から適切なバージョンのファームウェアを選択し、画像形成装置１０１に配信する。
【００１６】
図２に、画像形成装置１０１のハードウェアの構成の一例を示す。
画像形成装置１０１は、操作部１３４と、コントローラ１３３と、画像を入力するためのスキャナ部１３１と、画像を出力するためのプリンタ部１３２とから構成されている。
【００１７】
コントローラ１３３は、スキャナ部１３１及びプリンタ部１３２に接続されると共に、ネットワーク（ＬＡＮ）１４０及び公衆回線（ＷＡＮ）１５０に接続されている。コントローラ１３３は、画像情報やデバイス情報の入出力の制御を行う。
【００１８】
コントローラ１３３は、ＣＰＵ２００と、ＲＡＭ２０１と、ＲＯＭ２０２と、ハードディスクドライブ（以下、ＨＤＤ）２０３とを備えている。ＣＰＵ２００はシステム全体を制御する。ＲＡＭ２０１は、ＣＰＵ２００が動作するためのシステムワークメモリであり、入力された画像データを一時的に記憶するための画像メモリ（バッファメモリ）である。ＲＯＭ２０２はブートＲＯＭであり、ファームウェア及びブートプログラムが格納されている。ＨＤＤ２０３は、システムソフトウェア、画像データ等を格納する。
【００１９】
コントローラ１３３は、さらに、操作部Ｉ／Ｆ２０４と、ネットワーク部２０５と、モデム２０６と、システムバス２０７とを備えている。操作部Ｉ／Ｆ２０４は、操作部１３４とのインタフェース部であり、操作部１３４に表示する画像データや画像データの情報を操作部１３４に対して出力する。操作部Ｉ／Ｆ２０４は、操作部１３４からオペレータが入力した情報を、ＣＰＵ２００に伝達する。ネットワーク部２０５は、ネットワーク（ＬＡＮ）１４０に接続されて、情報の入出力を行う。モデム２０６は、公衆回線（ＷＡＮ）１５０に接続され、画像情報の入出力を行う。システムバス２０７は、ＣＰＵ２００と、ＲＡＭ２０１と、ＲＯＭ２０２と、ＨＤＤ２０３と、操作部Ｉ／Ｆ２０４と、ネットワーク部２０５と、モデム２０６とを接続している。
【００２０】
コントローラ１３３は、さらに、イメージバス（Ｉｍａｇｅ  Ｂｕｓ）Ｉ／Ｆ２０８と、画像バス２０９と、ＲＩＰ（ラスタイメージプロセッサ）２１０と、デバイスＩ／Ｆ２１１と、スキャナ画像処理部２１４と、プリンタ画像処理部２１５とを備えている。イメージバスＩ／Ｆ２０８は、システムバス２０７と画像データを高速で転送する画像バス２０９とを接続し、データ構造を変換するバスブリッジである。画像バス２０９は、ＰＣＩバスまたはＩＥＥＥ１３９４で構成される。
【００２１】
ラスタイメージプロセッサ（ＲＩＰ）２１０は、ＰＤＬコードをビットマップイメージに展開する。デバイスＩ／Ｆ２１１は、スキャナ部１３１とプリンタ部１３２とコントローラ１３３を画像入力部インタフェース２１２及び印刷部インタフェース２１３を介して接続し、画像データの同期系/ 非同期系の変換を行う。スキャナ画像処理部２１４は、入力画像データに対し補正，加工，編集を行う。スキャナ画像処理部２１４は、入力された画像がカラー原稿又は白黒原稿であるかを画像の彩度信号から判断し、その結果を保持する。プリンタ画像処理部２１５は、出力画像データに対し補正，加工，編集を行う。
【００２２】
コントローラ１３３は、さらに、画像回転部２１６と、画像圧縮部２１７と、解像度変換部２１８と、色空間変換２１９と、階調変換部２２０とを備える。画像回転部２１６は、スキャナ画像処理部２１４と連携して、スキャナ部１３１からの画像読み込みと同時に画像を回転しメモリに格納する。画像回転部２１６は、また、メモリに格納された画像を回転して格納する。画像回転部２１６は、また、メモリに格納された画像をプリンタ画像処理部２１５と連携して、画像を回転させて印刷する。
【００２３】
画像圧縮部２１７は、多値画像データに対してＪＰＥＧ、２値画像画像データに対してＪＢＩＧ、ＭＭＲ、ＭＲ、ＭＨの圧縮伸長処理を行う。解像度変換部２１８は、メモリに格納された画像の解像度を変換し、メモリに格納する。色空間変換部２１９は、マトリクス演算により、例えばメモリに格納されたＹＵＶ画像をＬａｂ画像に変換し、メモリに格納する。階調変換部２２０は、例えばメモリに格納されている８ｂｉｔ、２５６階調の画像を誤差拡散法等の手法により１ｂｉｔ、２階調に変換し、メモリに格納する。
【００２４】
画像回転部２１６、画像圧縮部２１７、解像度変換部２１８、色空間変換部２１９及び階調変換部２２０は、それぞれ連動することが可能である。例えばメモリに格納された画像を画像回転及び解像度変換する場合は、両処理をメモリを介することなしに行うことができる。
【００２５】
画像バス２０９は、イメージバス（Ｉｍａｇｅ  Ｂｕｓ）Ｉ／Ｆ２０８と、画像バス２０９と、ＲＩＰ（ラスタイメージプロセッサ）２１０と、デバイスＩ／Ｆ２１１と、スキャナ画像処理部２１４と、プリンタ画像処理部２１５とを接続している。また、画像バス２０９は、画像回転部２１６と、画像圧縮部２１７と、解像度変換部２１８と、色空間変換２１９と、階調変換部２２０とを接続している。
【００２６】
図３に、画像形成装置１０１におけるファームウェアアップデートを行うコンピュータプログラムの構成の一例を示す。
【００２７】
画像形成装置１０１のコンピュータプログラムは、アプリケーション実行部２０１と、ファームウェアアップデート部２０２と、設定値暗号化部２０３と、設定値作成部２０４とを含む。さらに、画像形成装置１０１のコンピュータプログラムは、ネットワークアクセス部２０５と、設定値送信部２０６と、ファームウェア取得部２０７と、バージョン確認部２０８を含む。
アプリケーション実行部２０１は、アプリケーション実行手段の一例である。ファームウェアアップデート部２０２は、ファームウェアアップデート手段の一例である。設定値暗号化部２０３は、設定値暗号化手段の一例である。設定値作成部２０４は、設定値作成手段の一例である。ネットワークアクセス部２０５は、ネットワークアクセス手段の一例である。設定値送信部２０６は、設定値送信手段の一例である。ファームウェア取得部２０７は、ファームウェア設定手段の一例である。バージョン確認部２０８は、バージョン確認手段の一例である。
【００２８】
アプリケーション実行部２０１は、ファームウェア上で動作するアプリケーションを実行する。
ファームウェアアップデート部２０２は、例えば配信サーバー１０２からの指示に従ってファームウェアアップデートを開始する。ファームウェアアップデート部２０２は、また、暗号化された設定値を復号化し、新ファームウェアをインストールする。
【００２９】
設定値暗号化部２０３は、現在動作中のファームウェアから設定値を取得するとともに、ファームウェア作成者により予め特定されている個人情報部分を暗号化する。すなわち、設定値暗号化部２０３は、取得した設定値のうち特定の部分、例えば、個人情報など機密情報として保護すべき設定値を部分的に暗号化する。
【００３０】
以降の説明においては、設定値のうち特定の一部、例えば、部分暗号化される個人情報など機密情報の部分を「個人情報部分」と表記する。
【００３１】
設定値作成部２０４は、設定値暗号化部２０３によって取得された設定値および暗号化された個人情報部分を基に、ファームウェアアップデートに用いられる設定値に関するエクスポートデータを作成する。
ネットワークアクセス部２０５は、ネットワーク１０３に対しアクセスし情報の送受信を行う。
【００３２】
設定値送信部２０６は、設定値１０４と、現在動作中でアップデート対象のファームウェアのバージョン情報とを、アップデート要求に含ませて配信サーバー１０２に向けて送信する。
ファームウェア取得部２０７は、配信サーバー１０２からの新ファームウェア、つまり設定値１０６が設定済みの新ファームウェアを取得する。この設定済みの新ファームウェアには、個人情報部分が暗号化された設定値１０５が設定されている。
【００３３】
バージョン確認部２０８は、現在動作中のファームウェアのバージョンを確認する。
上述した情報処理１０１に設けられているコンピュータシステムが有する上記各部は、ＨＤＤ２０３およびＲＯＭ２０２に格納されたコンピュータプログラムをＣＰＵ２００が実行することにより実現される。
【００３４】
図４に、配信サーバー１０２のハードウェアの構成の一例を示す。
配信サーバー１０２は、ＣＰＵ２３０、記憶装置２３１、ＲＯＭ２３２、ＲＡＭ２３３および通信Ｉ／Ｆ２３４を有している。これらの構成要素２３０〜２３３はシステムバス２３４に接続されている。
【００３５】
ＣＰＵ２３０は、中央演算処理装置であり、記憶装置２３１から揮発性メモリ２４０へファームウェアアップデートのためのソフトウェアをロードして、実行する。
記憶装置２３１は、ファームウェアアップデート処理ソフトウェア、各種ファームウェア１０５、機種別・新旧バージョンを記憶しており、例えばハードディスク装置である。
【００３６】
ＲＯＭ２３２は、通信プロトコル情報を記憶している。ＲＡＭ２３３は、記憶装置２３１からファームウェアアップデート用のソフトウェアを一時的に格納するとともに、送受信すべきデータを記憶する。
通信Ｉ／Ｆ２３４は、ネットワーク１０３を介して画像形成装置１０１との通信を司るインタフェースである。
【００３７】
図５に、配信サーバー１０１におけるファームウェア配信を行うコンピュータプログラムの構成の一例を示す。
配信サーバー１０２で機能するコンピュータプログラムは、記憶装置２３１に格納されている。アップデート指示部２４０と、ファームウェア保管部２４１と、設定値受付部２４２と、バージョン選択部２４３と、設定値スキーマバリデーション部２４４と、設定値変換部２４５と、ファームウェア設定部２４６と、ファームウェア配信部２４７を有している。
アップデート指示部２４０は、アップデート指示手段の一例である。ファームウェア保管部２４１は、ファームウェア保管手段の一例である。設定値受付部２４２は、設定値変換手段の一例である。バージョン選択部２４３は、バージョン選択手段の一例である。設定値スキーマバリデーション部２４４は、設定値スキーマバリデーション手段の一例である。設定値変換部２４５は、設定値変換手段の一例である。ファームウェア設定部２４６は、ファームウェア設定手段の一例である。ファームウェア配信部２４７は、ファームウェア配信手段の一例である。
【００３８】
アップデート指示部２４０は、新ファームウェアのリリース時に画像形成装置１０１に対してファームウェアのアップデート指示を出す。
ファームウェア保管部２４１は、機種別および新旧バージョンのファームウェア１０５を保管するとともに、各種ファームウェア１０５をデータベース等で管理する。
【００３９】
設定値受付部２４２は、画像形成装置１０１からのアップデート要求、つまりファームウェアアップデートに必要な設定値１０４および現在動作中でアップデート対象のファームウェアのバージョン情報を受け付ける。
バージョン選択部２４３は、設定値受付部２４２が受け付けた要求の内容を解析する。この解析結果を基に、バージョン選択部２４３は、ファームウェア保管部２４１によって管理されているデータベースを検索し、各種ファームウェア１０５から適切なバージョンのファームウェアを選択する。
【００４０】
設定値スキーマバリデーション部２４４は、設定値スキーマを承認する。
設定値変換部２４５は、設定値受付部２４２によって受け付けられたアップデート要求の中の設定値１０４を、バージョン選択部２４３によって選択された新ファームウェアに適合するように変換する。この場合、暗号化された個人情報部分は暗号化されたままとする。
【００４１】
ファームウェア設定部２４６は、設定値変換部２４５によって適切に変換された設定値１０５を、バージョン選択部２４３によって選択された新ファームウェアに設定する。
ファームウェア配信部２４７は、ファームウェア設定部２４６による設定の処理が終了した新ファームウェアを、アップデート要求を行った画像形成装置１０１へ配信する。
【００４２】
上述した配信サーバー１０２のコンピュータプログラムが有する上記各部のうち、ファームウェア保管部２４１以外の各部は、それぞれの機能を実現するためのコンピュータプログラムをＣＰＵ２３０が実行することにより実現される。ファームウェア保管部は、ハードディスクなどの記憶装置２３１で実現される。
【００４３】
（画像形成装置のファームウェアアップデート処理）
図６は、画像形成装置１０１におけるファームウェアアップデート処理の処理手順を示すフローチャートである。
【００４４】
画像形成装置１０１上のファームウェアアップデート部２０２は、配信サーバー１０２からのアップデート指示の受信を待ち受け、指示を受信することでファームウェアのアップデート処理を開始する（ステップＳ２０１）。
【００４５】
なお、第１実施形態では、配信サーバー１０２からの指示によりアップデートが開始されるようになっているが、配信サーバー以外のサーバーからの指示でアップデートが開始されるようにしてもよい。例えば、画像形成装置１０１を監視する監視サーバーが指示を行っても良い。
【００４６】
画像形成装置１０１は、配信サーバー１０２からの指示に従い、ファームウェアアップデート部２０２によりファームウェアアップデート処理を開始する。
このとき、画像形成装置１０１の設定値暗号化部２０３が、現在動作中のファームウェアから、アップデートに用いられる設定値を取得する。設定値暗号化部２０３は、また、ファームウェア作成者により予め特定されている個人情報部分を暗号化し、ファームウェアアップデートに用いられる設定値に関するエクスポートデータを作成する（ステップＳ２０２）。
【００４７】
このエクスポートデータ作成処理については、図７のフローチャートを参照して後述する。
設定値送信部２０６は、設定値暗号化部２０３がステップＳ２０２で作成したエクスポートデータ、つまり部分暗号化された設定値１０４を、ネットワーク１０３を介して配信サーバー１０２に向けて送信する。設定値送信部２０６は、同時にまた、現在動作中であってアップデート対象のファームウェアのバージョン情報を送信する（ステップＳ２０３）。
【００４８】
ステップＳ２０３を終了した画像形成装置１０１は、配信サーバー１０２からの新ファームウェアのダウンロードを待つ（ステップＳ２０４）。
ファームウェア取得部２０７は、配信サーバー１０２から新ファームウェアのダウンロード可能である旨の通知がされたら、配信サーバー１０２からの新ファームウェアを取得する（ステップＳ２０５）。
【００４９】
ファームウェア取得部２０７によって取得された新ファームウェアには、画像形成装置１０１がステップＳ２０２で作成した個人情報が暗号化された設定値１０６が設定されている。
ファームウェアアップデート部２０１は、ステップＳ２０２で暗号化に使用したものと同じ鍵を用いて暗号化された設定値１０６を復号化し、再設定する（ステップＳ２０６）。
【００５０】
続いて、ファームウェアアップデート部２０１は、設定値が復号化されて再設定された新ファームウェアをインストールする（ステップＳ２０７）。
新ファームウェアのインストールは、ＲＡＭ２０１上で動作するファームウェアアップデートプログラムが新ファームウェアをＲＯＭ２０２に書き込むことにより行われる。新ファームウェアが書き込まれた後、画像形成装置１０１は再起動され、新ファームウェアにより動作する。
【００５１】
（エクスポートデータ作成処理）
図７は、画像形成装置１０１における設定値のエクスポートデータを作成する処理を示すフローチャートである。
設定値暗号化部２０３は、まず、現在動作中のファームウェアから、設定値を取得する（ステップＳ３０１）。
【００５２】
以下、設定値暗号化部２０３は、Ｗ３ＣのＸＭＬ  Ｅｎｃｒｙｐｔｉｏｎ  Ｒｅｑｕｉｒｅｍｅｎｔｓ（ＸＭＬ暗号化仕様）に基づいて暗号化処理を実行する。
設定値は、一例として、図１０に示すようなＸＭＬ（ｅＸｔｅｎｓｉｂｌｅ  Ｍａｒｋｕｐ  Ｌａｎｇｕａｇｅ）文書として記述されている。また現在動作中のファームウェアは、図１１に示すようなスキーマを持つ。
【００５３】
このスキーマに基づいて、設定可能な属性であるＮａｍｅ、ＣｒｅｄｉｔＣａｒｄ，Ｎｕｍｂｅｒ，ＩｓｓｕｅｒおよびＥｘｐｉｒａｔｉｏｎが設定されている。暗号化される対象となる属性は、ファームウェア作成者により予め決められており、画像形成装置１０１の設定値暗号化部２０３に設定されている。この例では、ＣｒｅｄｉｔＣａｒｄ，Ｎｕｍｂｅｒ，ＩｓｓｕｅｒおよびＥｘｐｉｒａｔｉｏｎが暗号化される対象として設定されている。
【００５４】
設定値暗号化部２０３は、ステップＳ３０１で取得した設定値を順次読み取り、ＸＭＬ属性毎に暗号化対象データを含むか否かを判定する（ステップＳ３０２）。
設定値暗号化部２０３は、ステップＳ３０２において、読み取ったＸＭＬ属性のデータが暗号対象属性のデータであると判定した場合は、画像形成装置１０１が予め別途保存してある、機器固有の暗号鍵を取得する（ステップＳ３０３）。
【００５５】
設定値暗号化部２０３は、取得した暗号鍵を使用してステップＳ３０２での判定対象となったＸＭＬ属性のデータを暗号化する（ステップＳ３０４）。設定値暗号化部２０３は、暗号対象データを含まないＸＭＬ属性のデータについては暗号化せず、そのままのデータとする。
【００５６】
例えば、図１０（ａ）のＸＭＬ文書において、属性ＣｒｅｄｉｔＣａｒｄ，Ｎｕｍｂｅｒ、ＩｓｓｕｅｒおよびＥｘｐｉｒａｔｉｏｎとして記述された設定値は、図１０（ｂ）のように暗号化される。属性Ｎａｍｅとして記述された設定値は、暗号化されず、そのままのデータとされている。
【００５７】
設定値作成部２０３は、暗号化された設定値と暗号化されない設定値とを含むデータをエクスポートデータとして保存する（ステップＳ３０５）。
【００５８】
設定値暗号化部２０３は、他の設定値が存在するか否かを判断し（ステップＳ３０６）、このステップＳ３０６において、他の設定値が存在する場合には上記ステップＳ３０１に戻り、一方、他の設定値が存在しない場合は、この処理を終了する。
【００５９】
（配信サーバーのアップデート処理）
図８は、配信サーバー１０２におけるファームウェアアップデート処理の手順を示すフローチャートである。
【００６０】
配信サーバー１０２のアップデート指示部２４０は、アップデート指示を画像形成装置１０１に送る（ステップＳ４０１）。ファームウェア保管部２４１は、機種別および新旧バージョンのファームウェアをデータベースによって保管している。アップデート指示部２４０は、新ファームウェアのリリース時にデータベースを参照し、予め配信先として設定している画像形成装置１０１に対してアップデート指示を出す。
【００６１】
配信サーバー１０２は、ステップＳ４０１でアップデート指示を画像形成装置１０１に向けて出した後、画像形成装置１０１からのアップデート要求を待つ。
設定値受付部２４２は、画像形成装置１０１からのアップデート要求を受信する（ステップＳ４０２）。画像形成装置１０１からのアップデート要求内容は、設定値１０４と、画像形成装置１０１で現在動作しているファームウェアのバージョン情報とを含んでいる。設定値１０４は、暗号化されている設定値と暗号化されていない設定値の両方を含んでいる。
【００６２】
バージョン選択部２４３は、設定値受付部２４２が受け付けたファームウェアアップデート要求の内容を解析する。バージョン選択部２４３は、この解析結果を基に、ファームウェア保管部によって管理されているデータベースを検索し、適切なバージョンのファームウェアを選択する（ステップＳ４０３）。
【００６３】
設定値変換部２４５は、ステップＳ４０２で設定値受付部２４２によって受け付けられたアップデート要求の中の設定値１０４を、選択された新ファームウェアに適合するように変換する（ステップＳ４０４）。
ファームウェア設定部２４６は、ステップＳ４０４において変換された設定値１０４を、新ファームウェアに設定する（ステップＳ４０５）。
【００６４】
ファームウェア配信部２４７は、新ファームウェアを画像形成装置１０１に配信する（ステップＳ４０６）。
【００６５】
（設定値の変換処理）
図９は、配信サーバー１０２における設定値の変換処理の手順を示すフローチャートである。
【００６６】
設定値変換部２４５は、画像形成装置１０１から受信したアップデート要求から設定値を抽出する（ステップＳ５０１）。
設定値変換部２４５は、ステップＳ４０３でバージョン選択部２４３によって選択された新ファームウェアの設定値を設定するための新スキーマを取得する（ステップＳ５０２）。
【００６７】
図１３に、新スキーマの一例を示す。新スキーマは、図１２に示す旧スキーマに対して、新ファームウェアにて新たに設定可能な項目として＜ｅｌｅｍｅｎｔ  ｎａｍｅ＝”ＣｏｒｐＮａｍｅ”＞の部分が拡張されている。
設定値変換部２４５は、拡張されたスキーマに基づき、画像形成装置１０１から取得した設定値を変換し、新ファームウェアに設定する（ステップＳ５０３）。
【００６８】
具体的には、設定値変換部２４５は、図１３に示す新スキーマに基づき、暗号化された設定値（すなわち、ＥｎｃｒｙｐｔｅｄＤａｔａ、ＣｉｐｈｅｒＤａｔａおよびＣｉｐｈｅｒＶａｌｕｅ）および暗号化されていない設定値（すなわち、Ｎａｍｅ）を設定する。また、拡張された設定項目＜ｅｌｅｍｅｎｔ  ｎａｍｅ＝”ＣｏｒｐＮａｍｅ”＞に、設定値変換部２４５は、空文字列または新ファームウェア作成者が予め定めた文字列を設定する。
【００６９】
以上述べたように、設定値変換部２４５は、設定値を新ファームウェアに適合するように変換する。なお、設定値を変換するに際し、暗号化された個人情報部分は暗号化されたまま扱われ、そのまま新ファームウェアに設定されることとなる。
【００７０】
また、設定値変換部２４５は、設定値を新ファームウェアに合わせて変換する。例えば、旧ファームウェアでは印刷ジョブの履歴ファイルの格納場所を/var/log/jobRecord.logとしていた。設定値変換部２４５は、これを新しい格納場所である/local/var/log/jobRecord.logに自動的に変換する。すなわち、設定値変換部２４５は、ファームウェアの制御下にて管理される設定値を配置するためのディレクトリを所定のルールに基づき変更することで、ファームウェア設定部に設定値を設定させるのである。
【００７１】
以上説明したように、第１実施形態によれば、以下の作用効果を奏する。
（１）画像形成装置のファームウェアをアップデートするとき、現在のファームウェアの設定情報を、人手による再設定を要せず、自動的に新ファームウェアに引継ぐことができる。
【００７２】
（２）画像形成装置が配信サーバーへ設定情報を送信するとき、個人情報などの一部の設定情報が画像形成装置に固有の暗号鍵で暗号化される。したがって、万が一配信サーバーから設定情報が読み取られた場合であっても、暗号化された個人情報は解読されないため、個人情報の漏洩を防止することができる。
【００７３】
（３）配信サーバーは、設定値が設定されている新ファームウェアを画像形成装置に配信するので、画像形成装置は設定値が確実に引継がれた新ファームウェアをインストールすることができる。
【００７４】
＜第２実施形態＞
続いて本発明の第２実施形態に係るファームウェアアップデートシステムについて説明する。
【００７５】
図１４は、第２実施形態であるファームウェアアップデートシステムの構成の一例を示す図である。第１実施形態では、設定値のうち暗号化される一部が予め特定されていたが、第２実施形態では、図１４に示すように、暗号化する部分および暗号化を要しない部分を配信サーバー６０２が画像形成装置６０１に対して指示をする点で異なる。
【００７６】
第２実施形態におけるファームウェアを格納する画像形成装置の一例である画像形成装置６０２は、第１実施形態と同様のハードウェア及びコンピュータプログラムの構成を備えており、同一の符号を付し、その詳細な説明を省略する。
【００７７】
第２実施形態におけるファームウェアを配信する配信サーバー６０２は、第１実施形態における配信サーバー１０２と同様のハードウェア及びコンピュータプログラムの構成を備えており、同一の符号を付し、その詳細な説明を省略する。
【００７８】
（画像形成装置のファームウェアアップデート処理）
図１５は、第２実施形態における画像形成装置６０１におけるファームウェアアップデート処理の処理手順を示すフローチャートである。
【００７９】
画像形成装置６０１上のファームウェアアップデート部２０２は、配信サーバー６０２からのアップデート指示の受信を待ち受け、指示を受信することでファームウェアのアップデート処理を開始する（ステップＳ７０１）。
【００８０】
第２実施形態では、配信サーバー６０２は、更新対象であるファームウェアの設定値のうち、暗号化部分と非暗号化部分とを指定する。すなわち、設定値はＸＭＬ文書構造を持っていることから、配信サーバー６０２が暗号化部分のＸＭＬタグと非暗号化部分のＸＭＬタグとを指示する。
【００８１】
ステップＳ７０２で、画像形成装置６０１は、配信サーバー６０２からの更新対象のファームウェアの設定値のうち、暗号化部分と非暗号化部分の指示（暗号化部分のＸＭＬタグと非暗号化部分のＸＭＬタグの指示）を受信する（ステップＳ７０２）。
【００８２】
続いて、設定値暗号化部２０３は、また、配信サーバー６０２によって暗号化することを指示された部分を暗号化し、ファームウェアアップデートに用いられる設定値に関するエクスポートデータを作成する（ステップ７０３）。
【００８３】
以降のステップＳ７０４からＳ７０８までは、図６における第１実施形態のステップ２０３からＳ２０７までと同様であるので、説明を省略する。
なお、第２実施形態における設定値のエクスポートデータを作成する処理は、図７に示す第１実施形態と処理と同様であるので、説明を省略する。
【００８４】
（配信サーバーのアップデート処理）
図１６は、配信サーバー６０２におけるファームウェアアップデート処理の手順を示すフローチャートである。
【００８５】
配信サーバー６０２のアップデート指示部２４０は、アップデート指示を画像形成装置１０１に送る（ステップＳ４０１）。
続いて、第２実施形態では、アップデート指示部２４０は、更新対象であるファームウェアの設定値のうち、暗号化部分と非暗号化部分とを指定する指示を画像形成装置１０１に送る。すなわち、配信サーバー６０２が暗号化すべき部分のＸＭＬタグと非暗号化とする部分のＸＭＬタグとを指示する（ステップＳ９０１Ａ）。
【００８６】
以下、ステップＳ９０３からＳ９０６までの処理は、図８に示す第１実施形態のステップＳ４０３からＳ４０６までと同様である。
また、配信サーバー６０２における設定値の変換処理も、図９に示す第１実施形態のステップと同様である。
【００８７】
以上説明したように、第２実施形態によれば、上述した第１実施形態の（１）〜（３）の作用効果を奏する。さらに、第２実施形態では、ファームウェアに設定される設定値のうち、配信サーバーが暗号化すべき部分と暗号化しない部分を画像形成装置に対して指示するので、個人情報の漏洩を確実に防止することができる。
【００８８】
＜第３実施形態＞
続いて本発明の第３実施形態に係るファームウェアアップデートシステムについて説明する。
【００８９】
図１７は、第３実施形態であるファームウェアアップデートシステムの構成の一例を示す図である。
第１実施形態では、設定値の部分暗号化は画像形成装置に固有の暗号鍵を用いて行っていた。第３実施形態では、図１７に示すように、画像形成装置８０１および配信サーバー８０２がそれぞれ共通の秘密鍵・公開鍵を保持しており、共通の鍵を用いて設定値を暗号化する点で異なる。
【００９０】
第２実施形態における画像形成装置は、図１７に示す秘密鍵８０１および公開鍵２を保持している点を除き、第１実施形態と同様のハードウェア及びコンピュータプログラムの構成を備えており、同一の符号を付して、その詳細な説明を省略する。
【００９１】
第２実施形態における配信サーバーは、図１７に示す秘密鍵２および公開鍵１を保持している点を除き、第１実施形態における配信サーバーと同様のハードウェア及びコンピュータプログラムの構成を備えており、同一の符号を付して、その詳細な説明を省略する。なお、秘密鍵１と公開鍵１は対となっており、秘密鍵２と公開鍵２は対となっている。
【００９２】
（画像形成装置のファームウェアアップデート処理）
図１８は、第３実施形態における画像形成装置８０１におけるファームウェアアップデート処理の処理手順を示すフローチャートである。
【００９３】
画像形成装置８０１上のファームウェアアップデート部２０２は、配信サーバー１０２からのアップデート指示の受信を待ち受け、指示を受信することでファームウェアのアップデート処理を開始する（ステップＳ１１０１）。
【００９４】
続いて、ファームウェアアップデート部２０２は、配信サーバー８０２から、設定値の暗号化に用いる公開鍵および復号化に用いる秘密鍵の指示を受信する（ステップＳ１１０１Ａ）。図１７では、配信サーバー８０２が公開鍵２を指定している。
【００９５】
設定値暗号化部２０３は、また、配信サーバー１０２によって指示された公開鍵２を用いて、暗号化すべき部分を暗号化し、ファームウェアアップデートに用いられる設定値に関するエクスポートデータを作成する（ステップＳ１１０３）。なお、第３実施形態では、暗号化すべきではない設定値はそのままとなっている。暗号化すべき部分と暗号化すべきではない部分は、第１実施形態のように予め特定されていても良いし、第２実施形態のように配信サーバー８０２から指示を受けても良い。
【００９６】
設定値送信部２０６は、エクスポートデータ、つまり部分暗号化された設定値８０４を、ネットワーク１０３を介して配信サーバー８０２に向けて送信する。設定値送信部２０６は、同時にまた、現在動作中であってアップデート対象のファームウェアのバージョン情報を送信する（ステップＳ１１０３）。
【００９７】
ステップ１１０３を終了した画像形成装置１０１は、配信サーバー１０２からの新ファームウェアのダウンロードを待つ（ステップＳ２０４）。
ファームウェア取得部２０７は、配信サーバー８０２から新ファームウェアのダウンロード可能である旨の通知がされたら、配信サーバー８０２からの新ファームウェアを取得する（ステップＳ１１０５）。
【００９８】
ファームウェア取得部２０７によって取得された新ファームウェアには、画像形成装置８０１がステップＳ１１０２で作成した個人情報が暗号化された設定値８０６が設定されている。
ファームウェアアップデート部２０１は、ステップＳ１１０１Ａで配信サーバー８０２から指示された秘密鍵１を用いて暗号化された設定値１０６を復号化し、再設定する（ステップＳ１１０６）。
【００９９】
続いて、ファームウェアアップデート部２０１は、復号化された設定値８０７が再設定された新ファームウェアをインストールする（ステップＳ１１０７）。
なお、第２実施形態における設定値のエクスポートデータを作成する処理は、図７に示す第１実施形態と処理と同様であるので、説明を省略する。
【０１００】
（配信サーバーのアップデート処理）
図１９は、配信サーバー８０２におけるファームウェアアップデート処理の手順を示すフローチャートである。
配信サーバー８０２のアップデート指示部２４０は、アップデート指示を画像形成装置１０１に送る（ステップＳ１２０１）。
【０１０１】
続いて、アップデート指示部２４０は、更新対象であるファームウェアの設定値を暗号化および復号化するための鍵を指示する。（ステップＳ１２０１Ａ）。
配信サーバー１０２は、ステップＳ１２０１Ａで指示を画像形成装置８０１に向けて出した後、画像形成装置８０１からのアップデート要求を待つ。
【０１０２】
設定値受付部２４２は、画像形成装置８０１からのアップデート要求を受信する（ステップＳ１２０２）。
バージョン選択部２４３は、適切なバージョンのファームウェアを選択する（ステップＳ１２０３）。
【０１０３】
設定値変換部２４５は、暗号化された設定値８０４を、公開鍵２に対応する秘密鍵２を用いて復号化し、さらに新ファームウェアに適合するように変換する（ステップＳ１２０４）。
ファームウェア設定部２４６は、ステップＳ４０４において変換された設定値１０４を、新ファームウェアに設定し、公開鍵１を用いて暗号化する（ステップＳ１２０５）。
【０１０４】
ファームウェア配信部２４７は、新ファームウェアを画像形成装置１０１に配信する（ステップＳ１２０６）。
なお、配信サーバー８０２における設定値の変換処理は、図９に示す第１実施形態のステップと同様である。
本発明を実現するコンピュータプログラムをコンピュータによる読み取り可能な記録媒体に記録し、この記録媒体に記録されたコンピュータプログラムをコンピュータのそれぞれに読み込ませ、実行することによって本発明を実現することができる。すなわち、本発明の機能処理を実現するためのコンピュータプログラム自体も本発明に含まれる。
【０１０５】
以上説明したように、第３実施形態によれば、上述した第１実施形態の（１）〜（３）の作用効果を奏する。さらに、第３実施形態では、設定値の暗号化を公開鍵および秘密鍵を使って行い、かつ使用する鍵を配信サーバーが指示するため、より高度な暗号化が行われるため、個人情報の漏洩を確実に防止することができる。
【図面の簡単な説明】
【０１０６】
【図１】第１実施形態に係るファームウェアアップデートシステムの構成を示す構成図である。
【図２】第１実施形態に係る画像形成装置の構成を示すブロック図である。
【図３】第１実施形態に係る画像形成装置のファームウェアアップデートのプログラムの構成を示すブロック図である。
【図４】第１実施形態に係る配信サーバーの構成を示すブロック図である。
【図５】第１実施形態に係る配信サーバーのファームウェアアップデートのプログラムの構成を示すブロック図である。
【図６】第１実施形態に係る画像形成装置によるファームウェアアップデート処理の処理手順を示すフローチャートである。
【図７】第１実施形態に係る画像形成装置によるエクスポートデータの作成処理を示すフローチャートである。
【図８】第１実施形態に係る配信サーバーによるファームウェアアップデート処理の処理手順を示すフローチャートである。
【図９】第１実施形態に係る配信サーバーによる各種設定値変換処理の処理手順を示すフローチャートである。
【図１０】第１実施形態に係るユーザー設定情報の暗号化の一例を示す図である。
【図１１】第１実施形態に係る暗号化前のユーザー設定情報スキーマの一例を示す図である。
【図１２】第１実施形態に係る暗号化後のユーザー設定情報スキーマの一例を示す図である。
【図１３】第１実施形態および第２実施形態に係る新ファームウェアの拡張されたユーザー設定情報スキーマの一例を示す図である。
【図１４】第２実施形態に係るファームウェアアップデートシステムの構成を示す構成図である。
【図１５】第２実施形態に係る画像形成装置によるファームウェアアップデート処理の処理手順を示すフローチャートである。
【図１６】第２実施形態に係る配信サーバーによるファームウェアアップデート処理の処理手順を示すフローチャートである。
【図１７】第３実施形態に係るファームウェアアップデートシステムの構成を示す構成図である。
【図１８】第３実施形態に係る画像形成装置によるファームウェアアップデート処理の処理手順を示すフローチャートである。
【図１９】第３実施形態に係る配信サーバーによるファームウェアアップデート処理の処理手順を示すフローチャートである。
【符号の説明】
【０１０７】
１０１，６０１，８０１    画像形成装置
１０２，６０２，８０２    配信サーバー
１０３，６０３，８０３    ネットワーク
【図１】
2010086370.tif 000003
【図２】
2010086370.tif 000004
【図３】
2010086370.tif 000005
【図４】
2010086370.tif 000006
【図５】
2010086370.tif 000007
【図６】
2010086370.tif 000008
【図７】
2010086370.tif 000009
【図８】
2010086370.tif 000010
【図９】
2010086370.tif 000011
【図１０】
2010086370.tif 000012
【図１１】
2010086370.tif 000013
【図１２】
2010086370.tif 000014
【図１３】
2010086370.tif 000015
【図１４】
2010086370.tif 000016
【図１５】
2010086370.tif 000017
【図１６】
2010086370.tif 000018
【図１７】
2010086370.tif 000019
【図１８】
2010086370.tif 000020
【図１９】
2010086370.tif 000021