説明

画像形成装置、配信サーバーおよびファームウェアアップデート方法

【課題】ファームウェアの設定値を安全かつ確実に新ファームウェアに引継ぐことのできるファームウェアアップデートシステムを提供する。
【解決手段】現在のファームウェアに設定された設定値を取得し、設定値のうちの一部を暗号化する設定値暗号化部203と、暗号化された設定値および暗号化されていない設定値を配信サーバーに送信すると設定値送信部206と、暗号化された設定値および暗号化されていない設定値が設定された新ファームウェアを配信サーバーから取得するファームウェア取得部207と、暗号化された設定値を復号化し、新ファームウェアをインストールするファームウェアアップデート部202とを備える。

【発明の詳細な説明】
【技術分野】
【0001】
本発明は、ネットワークを通じてファームウェアを配信し、ファームウェアをアップデートする画像形成装置、配信サーバーおよびファームウェアアップデート方法に関するものである。
【背景技術】
【0002】
従来、機器組込みのファームウェアをアップデートするシステム(機器組込みファームウェアアップデートシステム)としては、例えば特許文献1および特許文献2に記載された装置が知られている。
【0003】
特許文献1では、画像形成装置は、装置の機種およびファームウェアの現在のバージョンを確認し、中央管理装置から、自己の機種および他の装置の機種に対応するファームウェアの最新バージョンの情報を入手してバージョンアップの有無をチェックする。次に、画像形成装置は、自己の機種に対応するファームウェアがバージョンアップされていれば、そのファームウェアを中央管理装置からダウンロードしてバージョンアップする。続いて、画像形成装置は、他の画像形成装置の機種に対応するファームウェアがバージョンアップされていれば、そのファームウェアを中央管理装置からダウンロードし、ネットワークを介して他の装置に転送してバージョンアップを行う。
【0004】
特許文献2では、管理装置は、新たなファームウェアを送信する際に、新たなファームウェアへの更新処理を行うため画像処理装置側で実行すべき処理を記述した制御プログラム(スクリプトを含む)をあわせて送信する。
【特許文献1】2002−222068号公報
【特許文献2】2003−196186号公報
【発明の開示】
【発明が解決しようとする課題】
【0005】
ところで、コンテンツを配信するサーバーが自動で、あるいはサービスマンがマニュアルで、画像形成装置(Multi Functional Priter:マルチ・ファンクション・プリンタ)のファームウェアをバージョンアップする場合がある。このとき、画像形成装置の各種設定値(ユーザー情報、ネットワーク設定情報など)を安全に移行することが求められる。
【0006】
すなわち、ファームウェアのバージョンアップに際しては、機能拡張や障害修正のため、ハードディスクのパーティション変更、データベースのスキーマ変更、設定値のスキーマ拡張など、画像形成装置の各種設定値の様々な変更が必要とされることがある。
【0007】
これら各種設定値の変更を伴うMFPのファームウェアのバージョンアップを行う場合、各種設定値を保全しつつ、格納位置の変更やスキーマの変更に伴う各種設定値のコンバートを自動的に行うことが好ましい。また、ファームウェアのバージョンアップを行う場合、各種設定値のうち個人情報が漏洩しないように安全に実行することが求められる。
【0008】
しかしながら、上記従来のシステムでは、現在動作中のファームウェアに設定された各種設定値を安全かつ自動的に新規のファームウェアに引継ぐことができない。すなわち、従来のシステムでは、ファームウェアを配信するサーバーは各種設定値を新規のファームウェアに合わせてコンバートすることができない。また、従来のシステムでは、ファームウェアのバージョンアップに伴う個人情報の保護も不十分であった。
【0009】
そこで、本発明の課題は、現在のファームウェアにかかわる設定情報を安全かつ確実に新規のファームウェアに引継ぐことのできるファームウェア配信システムおよびファームウェア配信方法を提供することである。
【課題を解決するための手段】
【0010】
そこで、本発明は、配信サーバーからファームウェアを受信し、前記ファームウェアをインストールする画像形成装置であって、現在のファームウェアに設定された設定値を取得し、前記設定値のうちの一部を暗号化する設定値暗号化手段と、暗号化された設定値および暗号化されていない設定値を前記配信サーバーに送信すると設定値送信手段と、前記暗号化された設定値および暗号化されていない設定値が設定された新ファームウェアを前記配信サーバーから取得するファームウェア取得手段と、前記暗号化された設定値を復号化し、前記新ファームウェアをインストールするファームウェアアップデート手段を備えたことを特徴とする。
【0011】
また、本発明は、画像形成装置にファームウェアを配信するための配信サーバーであって、ファームウェアを保管するファームウェア保管手段と、画像形成装置からの暗号化された設定値と暗号化されていない設定値を受け付ける設定値受付手段と、前記設定値を新ファームウェアに適合するように変換する設定値変換手段と、前記設定値変換手段によって変換された前記設定値を、前記新ファームウェアに設定するファームウェア設定手段と、前記ファームウェア設定手段により設定値が設定された新ファームウェアを前記画像形成装置に配信するファームウェア配信手段とを備えることを特徴とする。
【発明の効果】
【0012】
本発明によれば、現在のファームウェアの設定情報を、人手による再設定を要せず、自動的に新ファームウェアに引継ぐことができる。また、画像形成装置が配信サーバーへ設定値を送信するとき、個人情報などの一部の設定情報が画像形成装置に固有の暗号鍵で暗号化される。したがって、万が一配信サーバーから設定情報が読み取られた場合であっても、暗号化された個人情報は解読されないため、個人情報の漏洩を防止することができる。
【発明を実施するための最良の形態】
【0013】
<第1実施形態>
図1は、第1実施形態であるファームウェアアップデートシステムの構成の一例を示す図である。第1実施形態であるファームウェアアップデートシステムは、画像形成装置の一例である画像形成装置(例えば、Multi Functional Priter:マルチ・ファンクション・プリンタ)101を含む。また、ファームウェアアップデートシステムは、画像形成装置101にネットワーク103で接続された配信サーバー102を含む。なお、画像形成装置は、パーソナルコンピュータ、携帯端末、プリンタ、複写機など、ファームウェアを格納した他の装置であってもよい。
【0014】
画像形成装置101は、後述するROM202またはHDD203にファームウェアおよび設定値を格納している。画像形成装置101のユーザーは、画像形成装置101のファームウェア上で動作する各種アプリケーションに対して、独自の設定を行うことができる。ユーザーが独自の設定を行うことができるアプリケーションの一例として、印刷物のE−Mail送信アプリケーションがある。印刷物のE−Mail送信アプリケーションは、設定値として、E−Mail送信に使用するメールアドレスを記録したアドレス帳を保有している。
【0015】
配信サーバー102は、機種別およびバージョン別のファームウェア105を格納しており、データベースを用いてこれらファームウェア105を管理している。配信サーバー102は、前記データベースを検索し、各種ファームウェア105から適切なバージョンのファームウェアを選択し、画像形成装置101に配信する。
【0016】
図2に、画像形成装置101のハードウェアの構成の一例を示す。
画像形成装置101は、操作部134と、コントローラ133と、画像を入力するためのスキャナ部131と、画像を出力するためのプリンタ部132とから構成されている。
【0017】
コントローラ133は、スキャナ部131及びプリンタ部132に接続されると共に、ネットワーク(LAN)140及び公衆回線(WAN)150に接続されている。コントローラ133は、画像情報やデバイス情報の入出力の制御を行う。
【0018】
コントローラ133は、CPU200と、RAM201と、ROM202と、ハードディスクドライブ(以下、HDD)203とを備えている。CPU200はシステム全体を制御する。RAM201は、CPU200が動作するためのシステムワークメモリであり、入力された画像データを一時的に記憶するための画像メモリ(バッファメモリ)である。ROM202はブートROMであり、ファームウェア及びブートプログラムが格納されている。HDD203は、システムソフトウェア、画像データ等を格納する。
【0019】
コントローラ133は、さらに、操作部I/F204と、ネットワーク部205と、モデム206と、システムバス207とを備えている。操作部I/F204は、操作部134とのインタフェース部であり、操作部134に表示する画像データや画像データの情報を操作部134に対して出力する。操作部I/F204は、操作部134からオペレータが入力した情報を、CPU200に伝達する。ネットワーク部205は、ネットワーク(LAN)140に接続されて、情報の入出力を行う。モデム206は、公衆回線(WAN)150に接続され、画像情報の入出力を行う。システムバス207は、CPU200と、RAM201と、ROM202と、HDD203と、操作部I/F204と、ネットワーク部205と、モデム206とを接続している。
【0020】
コントローラ133は、さらに、イメージバス(Image Bus)I/F208と、画像バス209と、RIP(ラスタイメージプロセッサ)210と、デバイスI/F211と、スキャナ画像処理部214と、プリンタ画像処理部215とを備えている。イメージバスI/F208は、システムバス207と画像データを高速で転送する画像バス209とを接続し、データ構造を変換するバスブリッジである。画像バス209は、PCIバスまたはIEEE1394で構成される。
【0021】
ラスタイメージプロセッサ(RIP)210は、PDLコードをビットマップイメージに展開する。デバイスI/F211は、スキャナ部131とプリンタ部132とコントローラ133を画像入力部インタフェース212及び印刷部インタフェース213を介して接続し、画像データの同期系/ 非同期系の変換を行う。スキャナ画像処理部214は、入力画像データに対し補正,加工,編集を行う。スキャナ画像処理部214は、入力された画像がカラー原稿又は白黒原稿であるかを画像の彩度信号から判断し、その結果を保持する。プリンタ画像処理部215は、出力画像データに対し補正,加工,編集を行う。
【0022】
コントローラ133は、さらに、画像回転部216と、画像圧縮部217と、解像度変換部218と、色空間変換219と、階調変換部220とを備える。画像回転部216は、スキャナ画像処理部214と連携して、スキャナ部131からの画像読み込みと同時に画像を回転しメモリに格納する。画像回転部216は、また、メモリに格納された画像を回転して格納する。画像回転部216は、また、メモリに格納された画像をプリンタ画像処理部215と連携して、画像を回転させて印刷する。
【0023】
画像圧縮部217は、多値画像データに対してJPEG、2値画像画像データに対してJBIG、MMR、MR、MHの圧縮伸長処理を行う。解像度変換部218は、メモリに格納された画像の解像度を変換し、メモリに格納する。色空間変換部219は、マトリクス演算により、例えばメモリに格納されたYUV画像をLab画像に変換し、メモリに格納する。階調変換部220は、例えばメモリに格納されている8bit、256階調の画像を誤差拡散法等の手法により1bit、2階調に変換し、メモリに格納する。
【0024】
画像回転部216、画像圧縮部217、解像度変換部218、色空間変換部219及び階調変換部220は、それぞれ連動することが可能である。例えばメモリに格納された画像を画像回転及び解像度変換する場合は、両処理をメモリを介することなしに行うことができる。
【0025】
画像バス209は、イメージバス(Image Bus)I/F208と、画像バス209と、RIP(ラスタイメージプロセッサ)210と、デバイスI/F211と、スキャナ画像処理部214と、プリンタ画像処理部215とを接続している。また、画像バス209は、画像回転部216と、画像圧縮部217と、解像度変換部218と、色空間変換219と、階調変換部220とを接続している。
【0026】
図3に、画像形成装置101におけるファームウェアアップデートを行うコンピュータプログラムの構成の一例を示す。
【0027】
画像形成装置101のコンピュータプログラムは、アプリケーション実行部201と、ファームウェアアップデート部202と、設定値暗号化部203と、設定値作成部204とを含む。さらに、画像形成装置101のコンピュータプログラムは、ネットワークアクセス部205と、設定値送信部206と、ファームウェア取得部207と、バージョン確認部208を含む。
アプリケーション実行部201は、アプリケーション実行手段の一例である。ファームウェアアップデート部202は、ファームウェアアップデート手段の一例である。設定値暗号化部203は、設定値暗号化手段の一例である。設定値作成部204は、設定値作成手段の一例である。ネットワークアクセス部205は、ネットワークアクセス手段の一例である。設定値送信部206は、設定値送信手段の一例である。ファームウェア取得部207は、ファームウェア設定手段の一例である。バージョン確認部208は、バージョン確認手段の一例である。
【0028】
アプリケーション実行部201は、ファームウェア上で動作するアプリケーションを実行する。
ファームウェアアップデート部202は、例えば配信サーバー102からの指示に従ってファームウェアアップデートを開始する。ファームウェアアップデート部202は、また、暗号化された設定値を復号化し、新ファームウェアをインストールする。
【0029】
設定値暗号化部203は、現在動作中のファームウェアから設定値を取得するとともに、ファームウェア作成者により予め特定されている個人情報部分を暗号化する。すなわち、設定値暗号化部203は、取得した設定値のうち特定の部分、例えば、個人情報など機密情報として保護すべき設定値を部分的に暗号化する。
【0030】
以降の説明においては、設定値のうち特定の一部、例えば、部分暗号化される個人情報など機密情報の部分を「個人情報部分」と表記する。
【0031】
設定値作成部204は、設定値暗号化部203によって取得された設定値および暗号化された個人情報部分を基に、ファームウェアアップデートに用いられる設定値に関するエクスポートデータを作成する。
ネットワークアクセス部205は、ネットワーク103に対しアクセスし情報の送受信を行う。
【0032】
設定値送信部206は、設定値104と、現在動作中でアップデート対象のファームウェアのバージョン情報とを、アップデート要求に含ませて配信サーバー102に向けて送信する。
ファームウェア取得部207は、配信サーバー102からの新ファームウェア、つまり設定値106が設定済みの新ファームウェアを取得する。この設定済みの新ファームウェアには、個人情報部分が暗号化された設定値105が設定されている。
【0033】
バージョン確認部208は、現在動作中のファームウェアのバージョンを確認する。
上述した情報処理101に設けられているコンピュータシステムが有する上記各部は、HDD203およびROM202に格納されたコンピュータプログラムをCPU200が実行することにより実現される。
【0034】
図4に、配信サーバー102のハードウェアの構成の一例を示す。
配信サーバー102は、CPU230、記憶装置231、ROM232、RAM233および通信I/F234を有している。これらの構成要素230〜233はシステムバス234に接続されている。
【0035】
CPU230は、中央演算処理装置であり、記憶装置231から揮発性メモリ240へファームウェアアップデートのためのソフトウェアをロードして、実行する。
記憶装置231は、ファームウェアアップデート処理ソフトウェア、各種ファームウェア105、機種別・新旧バージョンを記憶しており、例えばハードディスク装置である。
【0036】
ROM232は、通信プロトコル情報を記憶している。RAM233は、記憶装置231からファームウェアアップデート用のソフトウェアを一時的に格納するとともに、送受信すべきデータを記憶する。
通信I/F234は、ネットワーク103を介して画像形成装置101との通信を司るインタフェースである。
【0037】
図5に、配信サーバー101におけるファームウェア配信を行うコンピュータプログラムの構成の一例を示す。
配信サーバー102で機能するコンピュータプログラムは、記憶装置231に格納されている。アップデート指示部240と、ファームウェア保管部241と、設定値受付部242と、バージョン選択部243と、設定値スキーマバリデーション部244と、設定値変換部245と、ファームウェア設定部246と、ファームウェア配信部247を有している。
アップデート指示部240は、アップデート指示手段の一例である。ファームウェア保管部241は、ファームウェア保管手段の一例である。設定値受付部242は、設定値変換手段の一例である。バージョン選択部243は、バージョン選択手段の一例である。設定値スキーマバリデーション部244は、設定値スキーマバリデーション手段の一例である。設定値変換部245は、設定値変換手段の一例である。ファームウェア設定部246は、ファームウェア設定手段の一例である。ファームウェア配信部247は、ファームウェア配信手段の一例である。
【0038】
アップデート指示部240は、新ファームウェアのリリース時に画像形成装置101に対してファームウェアのアップデート指示を出す。
ファームウェア保管部241は、機種別および新旧バージョンのファームウェア105を保管するとともに、各種ファームウェア105をデータベース等で管理する。
【0039】
設定値受付部242は、画像形成装置101からのアップデート要求、つまりファームウェアアップデートに必要な設定値104および現在動作中でアップデート対象のファームウェアのバージョン情報を受け付ける。
バージョン選択部243は、設定値受付部242が受け付けた要求の内容を解析する。この解析結果を基に、バージョン選択部243は、ファームウェア保管部241によって管理されているデータベースを検索し、各種ファームウェア105から適切なバージョンのファームウェアを選択する。
【0040】
設定値スキーマバリデーション部244は、設定値スキーマを承認する。
設定値変換部245は、設定値受付部242によって受け付けられたアップデート要求の中の設定値104を、バージョン選択部243によって選択された新ファームウェアに適合するように変換する。この場合、暗号化された個人情報部分は暗号化されたままとする。
【0041】
ファームウェア設定部246は、設定値変換部245によって適切に変換された設定値105を、バージョン選択部243によって選択された新ファームウェアに設定する。
ファームウェア配信部247は、ファームウェア設定部246による設定の処理が終了した新ファームウェアを、アップデート要求を行った画像形成装置101へ配信する。
【0042】
上述した配信サーバー102のコンピュータプログラムが有する上記各部のうち、ファームウェア保管部241以外の各部は、それぞれの機能を実現するためのコンピュータプログラムをCPU230が実行することにより実現される。ファームウェア保管部は、ハードディスクなどの記憶装置231で実現される。
【0043】
(画像形成装置のファームウェアアップデート処理)
図6は、画像形成装置101におけるファームウェアアップデート処理の処理手順を示すフローチャートである。
【0044】
画像形成装置101上のファームウェアアップデート部202は、配信サーバー102からのアップデート指示の受信を待ち受け、指示を受信することでファームウェアのアップデート処理を開始する(ステップS201)。
【0045】
なお、第1実施形態では、配信サーバー102からの指示によりアップデートが開始されるようになっているが、配信サーバー以外のサーバーからの指示でアップデートが開始されるようにしてもよい。例えば、画像形成装置101を監視する監視サーバーが指示を行っても良い。
【0046】
画像形成装置101は、配信サーバー102からの指示に従い、ファームウェアアップデート部202によりファームウェアアップデート処理を開始する。
このとき、画像形成装置101の設定値暗号化部203が、現在動作中のファームウェアから、アップデートに用いられる設定値を取得する。設定値暗号化部203は、また、ファームウェア作成者により予め特定されている個人情報部分を暗号化し、ファームウェアアップデートに用いられる設定値に関するエクスポートデータを作成する(ステップS202)。
【0047】
このエクスポートデータ作成処理については、図7のフローチャートを参照して後述する。
設定値送信部206は、設定値暗号化部203がステップS202で作成したエクスポートデータ、つまり部分暗号化された設定値104を、ネットワーク103を介して配信サーバー102に向けて送信する。設定値送信部206は、同時にまた、現在動作中であってアップデート対象のファームウェアのバージョン情報を送信する(ステップS203)。
【0048】
ステップS203を終了した画像形成装置101は、配信サーバー102からの新ファームウェアのダウンロードを待つ(ステップS204)。
ファームウェア取得部207は、配信サーバー102から新ファームウェアのダウンロード可能である旨の通知がされたら、配信サーバー102からの新ファームウェアを取得する(ステップS205)。
【0049】
ファームウェア取得部207によって取得された新ファームウェアには、画像形成装置101がステップS202で作成した個人情報が暗号化された設定値106が設定されている。
ファームウェアアップデート部201は、ステップS202で暗号化に使用したものと同じ鍵を用いて暗号化された設定値106を復号化し、再設定する(ステップS206)。
【0050】
続いて、ファームウェアアップデート部201は、設定値が復号化されて再設定された新ファームウェアをインストールする(ステップS207)。
新ファームウェアのインストールは、RAM201上で動作するファームウェアアップデートプログラムが新ファームウェアをROM202に書き込むことにより行われる。新ファームウェアが書き込まれた後、画像形成装置101は再起動され、新ファームウェアにより動作する。
【0051】
(エクスポートデータ作成処理)
図7は、画像形成装置101における設定値のエクスポートデータを作成する処理を示すフローチャートである。
設定値暗号化部203は、まず、現在動作中のファームウェアから、設定値を取得する(ステップS301)。
【0052】
以下、設定値暗号化部203は、W3CのXML Encryption Requirements(XML暗号化仕様)に基づいて暗号化処理を実行する。
設定値は、一例として、図10に示すようなXML(eXtensible Markup Language)文書として記述されている。また現在動作中のファームウェアは、図11に示すようなスキーマを持つ。
【0053】
このスキーマに基づいて、設定可能な属性であるName、CreditCard,Number,IssuerおよびExpirationが設定されている。暗号化される対象となる属性は、ファームウェア作成者により予め決められており、画像形成装置101の設定値暗号化部203に設定されている。この例では、CreditCard,Number,IssuerおよびExpirationが暗号化される対象として設定されている。
【0054】
設定値暗号化部203は、ステップS301で取得した設定値を順次読み取り、XML属性毎に暗号化対象データを含むか否かを判定する(ステップS302)。
設定値暗号化部203は、ステップS302において、読み取ったXML属性のデータが暗号対象属性のデータであると判定した場合は、画像形成装置101が予め別途保存してある、機器固有の暗号鍵を取得する(ステップS303)。
【0055】
設定値暗号化部203は、取得した暗号鍵を使用してステップS302での判定対象となったXML属性のデータを暗号化する(ステップS304)。設定値暗号化部203は、暗号対象データを含まないXML属性のデータについては暗号化せず、そのままのデータとする。
【0056】
例えば、図10(a)のXML文書において、属性CreditCard,Number、IssuerおよびExpirationとして記述された設定値は、図10(b)のように暗号化される。属性Nameとして記述された設定値は、暗号化されず、そのままのデータとされている。
【0057】
設定値作成部203は、暗号化された設定値と暗号化されない設定値とを含むデータをエクスポートデータとして保存する(ステップS305)。
【0058】
設定値暗号化部203は、他の設定値が存在するか否かを判断し(ステップS306)、このステップS306において、他の設定値が存在する場合には上記ステップS301に戻り、一方、他の設定値が存在しない場合は、この処理を終了する。
【0059】
(配信サーバーのアップデート処理)
図8は、配信サーバー102におけるファームウェアアップデート処理の手順を示すフローチャートである。
【0060】
配信サーバー102のアップデート指示部240は、アップデート指示を画像形成装置101に送る(ステップS401)。ファームウェア保管部241は、機種別および新旧バージョンのファームウェアをデータベースによって保管している。アップデート指示部240は、新ファームウェアのリリース時にデータベースを参照し、予め配信先として設定している画像形成装置101に対してアップデート指示を出す。
【0061】
配信サーバー102は、ステップS401でアップデート指示を画像形成装置101に向けて出した後、画像形成装置101からのアップデート要求を待つ。
設定値受付部242は、画像形成装置101からのアップデート要求を受信する(ステップS402)。画像形成装置101からのアップデート要求内容は、設定値104と、画像形成装置101で現在動作しているファームウェアのバージョン情報とを含んでいる。設定値104は、暗号化されている設定値と暗号化されていない設定値の両方を含んでいる。
【0062】
バージョン選択部243は、設定値受付部242が受け付けたファームウェアアップデート要求の内容を解析する。バージョン選択部243は、この解析結果を基に、ファームウェア保管部によって管理されているデータベースを検索し、適切なバージョンのファームウェアを選択する(ステップS403)。
【0063】
設定値変換部245は、ステップS402で設定値受付部242によって受け付けられたアップデート要求の中の設定値104を、選択された新ファームウェアに適合するように変換する(ステップS404)。
ファームウェア設定部246は、ステップS404において変換された設定値104を、新ファームウェアに設定する(ステップS405)。
【0064】
ファームウェア配信部247は、新ファームウェアを画像形成装置101に配信する(ステップS406)。
【0065】
(設定値の変換処理)
図9は、配信サーバー102における設定値の変換処理の手順を示すフローチャートである。
【0066】
設定値変換部245は、画像形成装置101から受信したアップデート要求から設定値を抽出する(ステップS501)。
設定値変換部245は、ステップS403でバージョン選択部243によって選択された新ファームウェアの設定値を設定するための新スキーマを取得する(ステップS502)。
【0067】
図13に、新スキーマの一例を示す。新スキーマは、図12に示す旧スキーマに対して、新ファームウェアにて新たに設定可能な項目として<element name=”CorpName”>の部分が拡張されている。
設定値変換部245は、拡張されたスキーマに基づき、画像形成装置101から取得した設定値を変換し、新ファームウェアに設定する(ステップS503)。
【0068】
具体的には、設定値変換部245は、図13に示す新スキーマに基づき、暗号化された設定値(すなわち、EncryptedData、CipherDataおよびCipherValue)および暗号化されていない設定値(すなわち、Name)を設定する。また、拡張された設定項目<element name=”CorpName”>に、設定値変換部245は、空文字列または新ファームウェア作成者が予め定めた文字列を設定する。
【0069】
以上述べたように、設定値変換部245は、設定値を新ファームウェアに適合するように変換する。なお、設定値を変換するに際し、暗号化された個人情報部分は暗号化されたまま扱われ、そのまま新ファームウェアに設定されることとなる。
【0070】
また、設定値変換部245は、設定値を新ファームウェアに合わせて変換する。例えば、旧ファームウェアでは印刷ジョブの履歴ファイルの格納場所を/var/log/jobRecord.logとしていた。設定値変換部245は、これを新しい格納場所である/local/var/log/jobRecord.logに自動的に変換する。すなわち、設定値変換部245は、ファームウェアの制御下にて管理される設定値を配置するためのディレクトリを所定のルールに基づき変更することで、ファームウェア設定部に設定値を設定させるのである。
【0071】
以上説明したように、第1実施形態によれば、以下の作用効果を奏する。
(1)画像形成装置のファームウェアをアップデートするとき、現在のファームウェアの設定情報を、人手による再設定を要せず、自動的に新ファームウェアに引継ぐことができる。
【0072】
(2)画像形成装置が配信サーバーへ設定情報を送信するとき、個人情報などの一部の設定情報が画像形成装置に固有の暗号鍵で暗号化される。したがって、万が一配信サーバーから設定情報が読み取られた場合であっても、暗号化された個人情報は解読されないため、個人情報の漏洩を防止することができる。
【0073】
(3)配信サーバーは、設定値が設定されている新ファームウェアを画像形成装置に配信するので、画像形成装置は設定値が確実に引継がれた新ファームウェアをインストールすることができる。
【0074】
<第2実施形態>
続いて本発明の第2実施形態に係るファームウェアアップデートシステムについて説明する。
【0075】
図14は、第2実施形態であるファームウェアアップデートシステムの構成の一例を示す図である。第1実施形態では、設定値のうち暗号化される一部が予め特定されていたが、第2実施形態では、図14に示すように、暗号化する部分および暗号化を要しない部分を配信サーバー602が画像形成装置601に対して指示をする点で異なる。
【0076】
第2実施形態におけるファームウェアを格納する画像形成装置の一例である画像形成装置602は、第1実施形態と同様のハードウェア及びコンピュータプログラムの構成を備えており、同一の符号を付し、その詳細な説明を省略する。
【0077】
第2実施形態におけるファームウェアを配信する配信サーバー602は、第1実施形態における配信サーバー102と同様のハードウェア及びコンピュータプログラムの構成を備えており、同一の符号を付し、その詳細な説明を省略する。
【0078】
(画像形成装置のファームウェアアップデート処理)
図15は、第2実施形態における画像形成装置601におけるファームウェアアップデート処理の処理手順を示すフローチャートである。
【0079】
画像形成装置601上のファームウェアアップデート部202は、配信サーバー602からのアップデート指示の受信を待ち受け、指示を受信することでファームウェアのアップデート処理を開始する(ステップS701)。
【0080】
第2実施形態では、配信サーバー602は、更新対象であるファームウェアの設定値のうち、暗号化部分と非暗号化部分とを指定する。すなわち、設定値はXML文書構造を持っていることから、配信サーバー602が暗号化部分のXMLタグと非暗号化部分のXMLタグとを指示する。
【0081】
ステップS702で、画像形成装置601は、配信サーバー602からの更新対象のファームウェアの設定値のうち、暗号化部分と非暗号化部分の指示(暗号化部分のXMLタグと非暗号化部分のXMLタグの指示)を受信する(ステップS702)。
【0082】
続いて、設定値暗号化部203は、また、配信サーバー602によって暗号化することを指示された部分を暗号化し、ファームウェアアップデートに用いられる設定値に関するエクスポートデータを作成する(ステップ703)。
【0083】
以降のステップS704からS708までは、図6における第1実施形態のステップ203からS207までと同様であるので、説明を省略する。
なお、第2実施形態における設定値のエクスポートデータを作成する処理は、図7に示す第1実施形態と処理と同様であるので、説明を省略する。
【0084】
(配信サーバーのアップデート処理)
図16は、配信サーバー602におけるファームウェアアップデート処理の手順を示すフローチャートである。
【0085】
配信サーバー602のアップデート指示部240は、アップデート指示を画像形成装置101に送る(ステップS401)。
続いて、第2実施形態では、アップデート指示部240は、更新対象であるファームウェアの設定値のうち、暗号化部分と非暗号化部分とを指定する指示を画像形成装置101に送る。すなわち、配信サーバー602が暗号化すべき部分のXMLタグと非暗号化とする部分のXMLタグとを指示する(ステップS901A)。
【0086】
以下、ステップS903からS906までの処理は、図8に示す第1実施形態のステップS403からS406までと同様である。
また、配信サーバー602における設定値の変換処理も、図9に示す第1実施形態のステップと同様である。
【0087】
以上説明したように、第2実施形態によれば、上述した第1実施形態の(1)〜(3)の作用効果を奏する。さらに、第2実施形態では、ファームウェアに設定される設定値のうち、配信サーバーが暗号化すべき部分と暗号化しない部分を画像形成装置に対して指示するので、個人情報の漏洩を確実に防止することができる。
【0088】
<第3実施形態>
続いて本発明の第3実施形態に係るファームウェアアップデートシステムについて説明する。
【0089】
図17は、第3実施形態であるファームウェアアップデートシステムの構成の一例を示す図である。
第1実施形態では、設定値の部分暗号化は画像形成装置に固有の暗号鍵を用いて行っていた。第3実施形態では、図17に示すように、画像形成装置801および配信サーバー802がそれぞれ共通の秘密鍵・公開鍵を保持しており、共通の鍵を用いて設定値を暗号化する点で異なる。
【0090】
第2実施形態における画像形成装置は、図17に示す秘密鍵801および公開鍵2を保持している点を除き、第1実施形態と同様のハードウェア及びコンピュータプログラムの構成を備えており、同一の符号を付して、その詳細な説明を省略する。
【0091】
第2実施形態における配信サーバーは、図17に示す秘密鍵2および公開鍵1を保持している点を除き、第1実施形態における配信サーバーと同様のハードウェア及びコンピュータプログラムの構成を備えており、同一の符号を付して、その詳細な説明を省略する。なお、秘密鍵1と公開鍵1は対となっており、秘密鍵2と公開鍵2は対となっている。
【0092】
(画像形成装置のファームウェアアップデート処理)
図18は、第3実施形態における画像形成装置801におけるファームウェアアップデート処理の処理手順を示すフローチャートである。
【0093】
画像形成装置801上のファームウェアアップデート部202は、配信サーバー102からのアップデート指示の受信を待ち受け、指示を受信することでファームウェアのアップデート処理を開始する(ステップS1101)。
【0094】
続いて、ファームウェアアップデート部202は、配信サーバー802から、設定値の暗号化に用いる公開鍵および復号化に用いる秘密鍵の指示を受信する(ステップS1101A)。図17では、配信サーバー802が公開鍵2を指定している。
【0095】
設定値暗号化部203は、また、配信サーバー102によって指示された公開鍵2を用いて、暗号化すべき部分を暗号化し、ファームウェアアップデートに用いられる設定値に関するエクスポートデータを作成する(ステップS1103)。なお、第3実施形態では、暗号化すべきではない設定値はそのままとなっている。暗号化すべき部分と暗号化すべきではない部分は、第1実施形態のように予め特定されていても良いし、第2実施形態のように配信サーバー802から指示を受けても良い。
【0096】
設定値送信部206は、エクスポートデータ、つまり部分暗号化された設定値804を、ネットワーク103を介して配信サーバー802に向けて送信する。設定値送信部206は、同時にまた、現在動作中であってアップデート対象のファームウェアのバージョン情報を送信する(ステップS1103)。
【0097】
ステップ1103を終了した画像形成装置101は、配信サーバー102からの新ファームウェアのダウンロードを待つ(ステップS204)。
ファームウェア取得部207は、配信サーバー802から新ファームウェアのダウンロード可能である旨の通知がされたら、配信サーバー802からの新ファームウェアを取得する(ステップS1105)。
【0098】
ファームウェア取得部207によって取得された新ファームウェアには、画像形成装置801がステップS1102で作成した個人情報が暗号化された設定値806が設定されている。
ファームウェアアップデート部201は、ステップS1101Aで配信サーバー802から指示された秘密鍵1を用いて暗号化された設定値106を復号化し、再設定する(ステップS1106)。
【0099】
続いて、ファームウェアアップデート部201は、復号化された設定値807が再設定された新ファームウェアをインストールする(ステップS1107)。
なお、第2実施形態における設定値のエクスポートデータを作成する処理は、図7に示す第1実施形態と処理と同様であるので、説明を省略する。
【0100】
(配信サーバーのアップデート処理)
図19は、配信サーバー802におけるファームウェアアップデート処理の手順を示すフローチャートである。
配信サーバー802のアップデート指示部240は、アップデート指示を画像形成装置101に送る(ステップS1201)。
【0101】
続いて、アップデート指示部240は、更新対象であるファームウェアの設定値を暗号化および復号化するための鍵を指示する。(ステップS1201A)。
配信サーバー102は、ステップS1201Aで指示を画像形成装置801に向けて出した後、画像形成装置801からのアップデート要求を待つ。
【0102】
設定値受付部242は、画像形成装置801からのアップデート要求を受信する(ステップS1202)。
バージョン選択部243は、適切なバージョンのファームウェアを選択する(ステップS1203)。
【0103】
設定値変換部245は、暗号化された設定値804を、公開鍵2に対応する秘密鍵2を用いて復号化し、さらに新ファームウェアに適合するように変換する(ステップS1204)。
ファームウェア設定部246は、ステップS404において変換された設定値104を、新ファームウェアに設定し、公開鍵1を用いて暗号化する(ステップS1205)。
【0104】
ファームウェア配信部247は、新ファームウェアを画像形成装置101に配信する(ステップS1206)。
なお、配信サーバー802における設定値の変換処理は、図9に示す第1実施形態のステップと同様である。
本発明を実現するコンピュータプログラムをコンピュータによる読み取り可能な記録媒体に記録し、この記録媒体に記録されたコンピュータプログラムをコンピュータのそれぞれに読み込ませ、実行することによって本発明を実現することができる。すなわち、本発明の機能処理を実現するためのコンピュータプログラム自体も本発明に含まれる。
【0105】
以上説明したように、第3実施形態によれば、上述した第1実施形態の(1)〜(3)の作用効果を奏する。さらに、第3実施形態では、設定値の暗号化を公開鍵および秘密鍵を使って行い、かつ使用する鍵を配信サーバーが指示するため、より高度な暗号化が行われるため、個人情報の漏洩を確実に防止することができる。
【図面の簡単な説明】
【0106】
【図1】第1実施形態に係るファームウェアアップデートシステムの構成を示す構成図である。
【図2】第1実施形態に係る画像形成装置の構成を示すブロック図である。
【図3】第1実施形態に係る画像形成装置のファームウェアアップデートのプログラムの構成を示すブロック図である。
【図4】第1実施形態に係る配信サーバーの構成を示すブロック図である。
【図5】第1実施形態に係る配信サーバーのファームウェアアップデートのプログラムの構成を示すブロック図である。
【図6】第1実施形態に係る画像形成装置によるファームウェアアップデート処理の処理手順を示すフローチャートである。
【図7】第1実施形態に係る画像形成装置によるエクスポートデータの作成処理を示すフローチャートである。
【図8】第1実施形態に係る配信サーバーによるファームウェアアップデート処理の処理手順を示すフローチャートである。
【図9】第1実施形態に係る配信サーバーによる各種設定値変換処理の処理手順を示すフローチャートである。
【図10】第1実施形態に係るユーザー設定情報の暗号化の一例を示す図である。
【図11】第1実施形態に係る暗号化前のユーザー設定情報スキーマの一例を示す図である。
【図12】第1実施形態に係る暗号化後のユーザー設定情報スキーマの一例を示す図である。
【図13】第1実施形態および第2実施形態に係る新ファームウェアの拡張されたユーザー設定情報スキーマの一例を示す図である。
【図14】第2実施形態に係るファームウェアアップデートシステムの構成を示す構成図である。
【図15】第2実施形態に係る画像形成装置によるファームウェアアップデート処理の処理手順を示すフローチャートである。
【図16】第2実施形態に係る配信サーバーによるファームウェアアップデート処理の処理手順を示すフローチャートである。
【図17】第3実施形態に係るファームウェアアップデートシステムの構成を示す構成図である。
【図18】第3実施形態に係る画像形成装置によるファームウェアアップデート処理の処理手順を示すフローチャートである。
【図19】第3実施形態に係る配信サーバーによるファームウェアアップデート処理の処理手順を示すフローチャートである。
【符号の説明】
【0107】
101,601,801 画像形成装置
102,602,802 配信サーバー
103,603,803 ネットワーク

【特許請求の範囲】
【請求項1】
配信サーバーからファームウェアを受信し、前記ファームウェアをインストールする画像形成装置であって、
現在のファームウェアに設定された設定値を取得し、前記設定値のうちの一部を暗号化する設定値暗号化手段と、
暗号化された設定値および暗号化されていない設定値を前記配信サーバーに送信する設定値送信手段と、
前記暗号化された設定値および暗号化されていない設定値が設定された新ファームウェアを前記配信サーバーから取得するファームウェア取得手段と、
前記暗号化された設定値を復号化し、前記新ファームウェアをインストールするファームウェアアップデート手段と
を備えたことを特徴とする画像形成装置。
【請求項2】
前記設定値のうち暗号化される設定値が予め特定されていることを特徴とする請求項1記載の画像形成装置。
【請求項3】
前記配信サーバーから、前記設定値のうち暗号化される設定値の指示を受けることを特徴とする請求項1記載の画像形成装置。
【請求項4】
前記配信サーバーから、前記設定値を暗号化および復号化するための鍵の指示を受けることを特徴とする請求項1記載の画像形成装置。
【請求項5】
コンピュータを、請求項1から4のいずれかに記載の画像形成装置として機能させるためのコンピュータプログラム。
【請求項6】
請求項5に記載のコンピュータプログラムを格納したコンピュータで読み取り可能な記録媒体。
【請求項7】
画像形成装置にファームウェアを配信するための配信サーバーであって、
ファームウェアを保管するファームウェア保管手段と、
画像形成装置からの暗号化された設定値と暗号化されていない設定値を受け付ける設定値受付手段と、
前記設定値を新ファームウェアに適合するように変換する設定値変換手段と、
前記設定値変換手段によって変換された前記設定値を、前記新ファームウェアに設定するファームウェア設定手段と、
前記ファームウェア設定手段により設定値が設定された新ファームウェアを前記画像形成装置に対して配信するファームウェア配信手段と
を備えることを特徴とする配信サーバー。
【請求項8】
前記設定値のうち暗号化する設定値を前記画像形成装置に指示することを特徴とする請求項7記載の配信サーバー。
【請求項9】
前記設定値を暗号化および復号化するために用いる鍵を前記画像形成装置に指示することを特徴とする請求項7記載の配信サーバー。
【請求項10】
前記設定値変換手段は、ファームウェアの制御下にて管理される設定値を配置するためのディレクトリを所定のルールに基づき変更することで、前記ファームウェア設定手段に設定値を設定させる請求項7に記載の配信サーバー。
【請求項11】
配信サーバーからファームウェアを配信し、画像形成装置のファームウェアをアップデートするファームウェアアップデート方法であって、
前記画像形成装置の設定値暗号化手段が、現在のファームウェアに設定された設定値を取得し、前記設定値のうちの一部を暗号化する工程と、
前記画像形成装置の設定値送信手段が暗号化された設定値および暗号化されていない設定値を前記配信サーバーに送信する工程と、
前記配信サーバーの設定値受付手段が前記画像形成装置からの暗号化された設定値と暗号化されていない設定値を受け付ける工程と、
前記配信サーバーの前記設定値変換手段が前記設定値を新ファームウェアに適合するように変換する工程と、
前記配信サーバーのファームウェア設定手段が、前記設定値変換手段によって変換された前記設定値を、前記新ファームウェアに設定する工程と、
前記配信サーバーのファームウェア配信手段が、前記ファームウェア設定手段により設定値が設定された新ファームウェアを前記画像形成装置に配信する工程と
を備えることを特徴とするファームウェアアップデート方法。

【図1】
image rotate

【図2】
image rotate

【図3】
image rotate

【図4】
image rotate

【図5】
image rotate

【図6】
image rotate

【図7】
image rotate

【図8】
image rotate

【図9】
image rotate

【図10】
image rotate

【図11】
image rotate

【図12】
image rotate

【図13】
image rotate

【図14】
image rotate

【図15】
image rotate

【図16】
image rotate

【図17】
image rotate

【図18】
image rotate

【図19】
image rotate