以下、本発明の好適な実施の形態(以下、「実施形態」という。)について、図面を用いて詳細に説明する。
[第1の実施形態]
図1は、本発明の第1の実施形態に係る画像処理システムにおけるシステム構成例を示す図である。
図1に示すように、画像処理システムは、拡張機能のプログラムをインストールする画像処理装置10と画像処理装置10にインストールする拡張機能のプログラムを管理する管理サーバ20とが、LAN(Local Area Network)やWAN(Wide Area Network)等のネットワーク30により接続されている。画像処理装置10は、ネットワーク30を介して、管理サーバ20が管理する拡張機能のプログラムをダウンロードすることができ、ダウンロードした拡張機能のプログラムをインストールし、機能拡張を行うことができる。
このように、画像処理システムは、画像処理装置10における機能拡張を迅速に行う拡張性の高いシステムを実現している。
次に、図1に示す画像処理システムを構成する画像処理装置10及び管理サーバ20のハードウェア構成について、画像処理装置10、管理サーバ20の順に図2を用いて説明する。
図2(a)は、本発明の第1の実施形態に係る画像処理装置10におけるハードウェア構成例を示す図である。
図2(a)に示すように、画像処理装置10は、入力部11、表示部12、補助記憶部13、ネットワークI/F14、外部記憶装置I/F15、外部入力装置I/F16、主記憶部17、及び制御部18を備えている。
入力部11は、操作部と呼ばれ、テンキー、各種ファンクションキー、スタート/ストップキー等を備え、画像処理機能の各種条件設定の入力(例えば、「解像度設定」や「変倍の倍率設定」等。)や機能実行を指示する入力(例えば、スタートキーによる「コピーの実行」。)を各キーにより受け付ける。例えは、本実施形態に係る入力部11は、後に説明する利用契約者認証を行う際に、契約者の識別コードやパスワード等をテンキーから入力することにより受け付ける。
表示部12は、液晶表示装置を備え、ジョブに関する情報(例えば、「画像処理中のジョブ名」。)、画像処理装置10の駆動条件(例えば、「設定された解像度値」や「設定された倍率」。)、装置状態(例えば、「ジョブ待ちの状態」や「ジョブ処理中の状態」。)等の各種情報を表示する。また、表示部12がタッチパネル機能を有している場合には、タッチパネル上からタッチペン等を用いてタッチ入力を行うことができ、パネル上に表示された機能ボタンを選択することで、入力部11が行う機能と同様の操作が行える。例えは、本実施形態に係る表示部12は、後に説明する管理サーバ20からダウンロードした拡張機能のプログラムに関する情報(例えば、「動作中のプログラムにより通知された機能名」。)を表示画面に表示する。また、表示部12がタッチパネル機能を有している場合には、入力部11と同様に、利用契約者認証を行う際に、契約者の識別コードやパスワード等をテンキーから入力することにより受け付ける。
補助記憶部13は、画像処理装置10が取り扱うデータ(例えば「画像データ」)の格納先であるハードディスク(HD:Hard Disk)等の不揮発性の記憶装置である。例えは、本実施形態に係る補助記憶部13は、拡張機能のプログラム及び関連するデータを格納する。
ネットワークI/F14は、LANやWAN等のネットワーク上の通信機器(例えば「管理サーバ20が備えるネットワークI/F」)と画像処理装置10との間で、データを双方向通信するためのインタフェースである。例えは、本実施形態に係るネットワークI/F14は、インストールする拡張機能のプログラム及び関連データ等を管理サーバ20からダウンロードする際や、プログラムの適正を判断する認証情報を管理サーバ20と送受信する際のインタフェースとして使用される。
外部記憶装置I/F15は、メモリカード等の外部の記憶メディアと画像処理装置10との間で、データをやり取りするためのインタフェースである。また、外部の記憶メディアには、メモリカードの他、FD(floppy disk)、MO(Magneto-Optical disk)、CD(Compact Disc)、及びDVD(Digital Versatile Disk)等の記憶メディアも含まれる。例えは、本実施形態に係る外部記憶装置I/F15は、メモリカードや記憶メディア内に格納された画像データ等を、画像処理装置10とやり取り(読み取り/書き込み)する際のインタフェースとして使用される。
外部入力装置I/F16は、スキャナやデジタルカメラ等の画像読み取り装置と画像処理装置10との間で、データをやり取りするためのインタフェースである。例えは、本実施形態に係る外部入力装置I/F16は、画像処理を行う画像データを入力する(画像を読み取る)。
主記憶部17は、ROM(Read Only Memory)、RAM(Random Access Memory)から構成され、画像処理装置10が有する機能を実現するためのプログラム及び関連データを格納又は一時保持する記憶装置である。例えは、本実施形態に係る主記憶部17は、画像処理装置10を制御する基本ソフト(以下、「OS:Operating System」という。)及び画像処理装置10が起動した際に機能提供される基本機能(例えば、「画像入力機能」、「画像加工機能」、及び「画像出力機能」等。)のプログラム及び関連データがROMに格納されており、後に説明する制御部18により、ROMに格納されたプログラム及び関連データがRAMへ展開(ロード)される。
制御部18は、コントローラ部と呼ばれ、プログラムをCPUにおいて実行し、制御命令の信号によって画像処理装置10を制御する制御装置である。例えは、本実施形態に係る制御部18は、画像処理装置10に電源が投入された後、ROMに格納されたプログラム及びデータを必要に応じてRAMへ展開(ロード)し、展開(ロード)したプログラムを実行することで、電源投入後OSが起動し、起動したOS上で基本機能を動作させている。また、制御部18は、拡張機能がインストールされている場合、インストールの際に補助記憶部13へ格納した拡張機能のプログラム及び関連データを、基本機能のプラグインソフトウェアとしてOS上で動作させている。
上記各ハードウェアは、データや制御信号の伝送路であるバス及び接続ケーブルによって接続されている。よって、制御部18は、周辺の入力部11、表示部12、補助記憶部13、ネットワークI/F14、外部記憶装置I/F15、外部入力装置I/F16、及び主記憶部17へ、制御信号を送信し、それに対して、入力部11、表示部12、補助記憶部13、ネットワークI/F14、外部記憶装置I/F15、外部入力装置I/F16、及び主記憶部17からは、制御命令に従って各装置で処理されたデータ信号が制御部18へ送信される。よって、制御部18は、画像処理装置全体の動作を制御することができる。
例えば、管理サーバ20が管理する拡張機能のプログラム及び関連データを画像処理装置10へインストールする場合、まず、制御部18では、インストールを行う制御用プログラムが実行され、管理サーバ20に対し、該当するプログラム及び関連データの取得を要求するデータ要求信号とデータ要求信号を管理サーバ20へ送信するようにネットワークI/F14へ制御信号を送る。
その後、制御部18は、管理サーバ20からデータ(プログラム及び各種データ)の送信が開始されたことを知らせる信号を、ネットワークI/F14から受け取り、取得したデータを補助記憶部13へ転送するようにデータ信号を制御し、転送されたデータを格納するように補助記憶部13へ制御信号を送る。
このように、画像処理装置10は、管理サーバ20が管理する拡張機能のプログラム及び関連データをネットワークI/F114を介して取得し、取得したプログラム及び関連データをインストールする(補助記憶部13へ格納する)ことができ、インストールされた拡張機能のプログラムや関連データを、補助記憶部13から主記憶部17のRAMへ展開(ロード)し、展開したプログラムを実行することで機能拡張を実現している。
図2(b)は、本発明の第1の実施形態に係る管理サーバ20におけるハードウェア構成例を示す図である。
図2(b)に示すように、管理サーバ20は、入力デバイスI/F21、ディスプレイI/F22、補助記憶部13、ネットワークI/F14、外部記憶装置I/F15、主記憶部17、及び制御部18を備えている。
入力デバイスI/F21は、キーボードやマウス等の入力デバイスと管理サーバ20との間で、データをやり取りするためのインタフェースである。
ディスプレイI/F22は、CRT(Cathode Ray Tube)や液晶等のディスプレイと管理サーバ20との間で、RGB信号をやり取りするためのインタフェースである。
管理サーバ20が備える補助記憶部13、ネットワークI/F14、外部記憶装置I/F15、主記憶部17、及び制御部18は、画像処理装置10が備えるハードウェアと同様のため、これらのハードウェアにおける基本的な動作については説明を省略し、画像処理装置10との違いについてのみ説明する。
管理サーバ20の補助記憶部13は、管理サーバ20が管理する拡張機能のプログラム及び関連するデータや認証情報を格納する。
管理サーバ20の外部記憶装置I/F15は、メモリカードや記憶メディア内に格納された拡張機能のプログラム及び関連するデータ等を、管理サーバ20とやり取り(読み取り/書き込み)する際のインタフェースとして使用される。
管理サーバ20の主記憶部17は、管理サーバ20を制御するOSのプログラム及び関連データがROMに格納されており、制御部18により、ROMに格納されたプログラム及び関連データがRAMへ展開(ロード)される。
管理サーバ20の制御部18は、管理サーバ20に電源が投入された後、ROMに格納されたプログラム及びデータを必要に応じてRAMへ展開(ロード)し、展開(ロード)したプログラムを実行することで、電源投入後OSが起動し、起動したOS上で基本機能(例えば、「拡張機能プログラム及び関連データ管理機能」や「認証情報管理機能」。)を動作させている。よって、管理サーバ20の制御部18は、管理サーバ20全体の動作を制御することができる。
このように、管理サーバ20は、画像処理装置10から拡張機能のプログラム及び関連データの取得要求を受け取り、要求に応じて、画像処理装置10へ該当するプログラム及び関連データを送信することができ、拡張機能のプログラムや関連データを画像処理装置10へ提供している。
次に、管理サーバ20から画像処理装置10に対して拡張する機能がどのように提供されているのかについて、図3を用いて説明する。
図3(a)は、本発明の第1の実施形態に係る管理サーバ20から画像処理装置10へ機能単位でプログラムをインストールする例を示す図である。
まず、画像処理装置10が有する機能構成は、大きく分けて基本機能41と拡張機能42から構成されている。
図3(a)に示すように、基本機能41は、画像データを入力する「画像入力機能」、入力した画像データを加工する「画像加工機能」、加工した画像データを出力する「画像出力機能」であり、入力データに対して画像処理を行い、処理した画像データを出力するために必要な機能で構成され、拡張機能42は、基本機能41を拡張する機能で構成されている。
よって、基本機能41は、画像処理装置10における機能ソフトウェアであり、拡張機能42は、機能ソフトウェアのプラグインという関係をもっている。
管理サーバ20では、これらの機能ソフトウェア及び拡張機能プラグインソフトウェアを構成するプログラム及び関連データを機能毎に管理している。
そのため、画像処理装置10にインストールする際は、インストールしたい機能を構成するプログラム及び関連データをパッケージ化したインストールパッケージ51(図中の「機能-Xパッケージ」)を、管理サーバ20からダウンロードし取得する。
また、管理サーバ20では、画像処理装置10にインストールするプログラムが適正なプログラムであるか否かを判断するための認証に必要な認証情報52を利用契約者毎に管理している。
ここで、認証情報52について、図4を用いて説明する。認証情報52は、プログラム識別情報521、使用可能期限情報522及び証明書523(暗号化情報)から構成されている。
プログラム識別情報521は、プログラム識別コード521a、プログラムバージョン521b及び対応機種521cから構成され、プログラムを識別する情報である。
プログラム識別コード521aは、プログラムを識別するため、英数字で構成された文字列(テキスト)データである。また、プログラムバージョン521bは、プログラムのバージョンを表す英数字で構成された文字列(テキスト)データである。また、対応機種521cは、プログラムが動作する機種を表す英数字で構成された文字列(テキスト)データである。
次に、使用可能期限情報522は、有効期限522a、自動更新条件522b、警告発生条件522c、期限切れ動作条件522d及び継続使用可能期限522eから構成され、該当するプログラムの使用可能期限に関する情報である。
有効期限522aは、利用契約者の契約により設定されたプログラムの使用可能期限の日時を表す文字列(テキスト)データである。例えば、「2006.06.15(22h.11m.07s)」等のように日付と時間が情報化され、該当するプログラムをインストールした日時から設定された期限日までは使用可能であることを示す。
また、自動更新条件522bは、有効期限522aが切れた場合、自動的に利用契約及び利用契約により設定されたプログラムの使用可能期限を更新するか否かを表すビットデータである。例えば、0を「自動更新しない」、1を「自動更新する」とし、自動更新情報522bに1が設定されていれば、有効期限522aが切れた際に、自動的に使用可能期限を更新する。
また、警告発生条件522cは、「使用可能期限切れ間近」の旨を表示部12の表示画面に表示するための残り日数の条件を表す数字で構成された文字列(テキスト)データである。例えば、"5"を「残り期限5日以下になった時」、"10"を「残り期限10日以下になった時」等、警告発生条件522cに"10"が設定されていれば、使用可能期限が残り期限10日以下になった際に、「使用可能期限切れ間近」の旨を表示部12の表示画面に表示する。
また、期限切れ動作条件522dは、有効期限522aが切れた場合、該当するプログラムの動作制御条件を表すビットデータである。例えば、'0x01'を「画面表示に警告し継続使用可」、'0x10'を「画面表示に警告し使用不可」等とし、期限切れ動作条件522dに'0x10'が設定されていれば、有効期限が切れた際に、画面表示に「使用可能期限切れ」の旨を表示し、該当するプログラムを終了又は起動しない。
また、継続使用可能期限522eは、期限切れ動作条件522dに「継続使用可」が設定された場合、該当するプログラムの継続使用可能な期間を表す文字列(テキスト)データである。例えば、"5"を「5日間」、"10"を「10日間」等、警告発生条件522cに"10"が設定されていれば、該当するプログラムを10日間継続して使用できる。
次に、証明書523は、プログラム識別情報521と使用可能期限情報522とを暗号化した暗号化情報である。
証明書523は、他人に広く公開する公開鍵(public key)と厳重に管理する秘密鍵53(secret key)と対になる2つの鍵を使ってデータの暗号化・復号化を行うRSA(Rivest Shamir Adleman)等の公開鍵暗号(public key cryptosystem)方式を用いて、プログラム識別情報521と使用可能期限情報522とを暗号化した暗号化情報である。
上記に説明した認証情報52は、利用契約者毎の情報で、利用契約者の機能使用権限が複数の機能にわたる場合、該当するプログラムに対応した複数のプログラム識別情報521と使用可能期限情報522とで構成された情報となる。
また、認証情報52の証明書523は、利用契約者の機能使用権限が複数の機能にわたる場合、複数のプログラム識別情報521と使用可能期限情報522とを1つにまとめ、暗号化した暗号化情報となる。
また、暗号化情報である証明書523は、認証情報52として、画像処理装置10と管理サーバ20との間で送受信される。
次に、図3(a)に戻り、証明書523に基づいて、管理サーバ20から画像処理装置10へ機能単位でプログラムをインストールする流れについて説明する。
まず、画像処理装置10から管理サーバ20へ、インストールする機能のプログラムを指定し、認証情報52の証明書523を送信することで、該当するプログラムのインストール(該当するプログラムの取得)許可認証を要求する。
次に、管理サーバ20は、画像処理装置10から受け取った証明書523が適正な証明書523(不正改竄されていないデータ)であるか否かを判断する。
管理サーバ20が、認証によって、適正な証明書523と判断された場合(認証結果がOKの場合)、管理サーバ20から画像処理装置10へ該当するプログラムを含むインストールパッケージ51が送信される。この時、該当するプログラムに対応するプログラム識別情報521と使用可能期限情報522とが更新され、更新後の情報を暗号化した証明書523が発行され画像処理装置10へ送信される。
画像処理装置10は、管理サーバ20から送信されたプログラムを含むインストールパッケージ51と証明書523を取得する。
次に、画像処理装置10は、取得したプログラムをインストールするとともに、証明書523を復号化し、インストールを要求する時点で保持していた認証情報52を、インストールしたプログラムに対応するプログラム識別情報521と使用可能期限情報522を含む認証情報52へ更新する。
ここで、画像処理装置10が証明書523を復号化し、認証情報52を更新する流れについて、図5を用いて説明する。
図5は、本発明の第1の実施形態に係る画像処理システムにおける認証情報52の送受信の様子を示す図である。
まず、管理サーバ20は、プログラム識別情報521と使用可能期限情報522とを、秘密鍵53によって暗号化し、証明書523を発行する。その後、認証情報52として発行した証明書523を画像処理装置10へ送信する。
画像処理装置10は、管理サーバ20から送信された証明書523を取得し、公開鍵54によって復号化し、プログラム識別情報521と使用可能期限情報522とを取得し、画像処理装置10が保持する認証情報52を更新する。
このように、公開鍵暗号方式を採用した第1の実施形態に係る画像処理システムでは、認証情報52の送受信において、機密性の高い管理サーバ20において秘密鍵53を保持し、認証情報52の暗号化を行い、管理サーバ20に比べて機密性の低い画像処理装置10において公開鍵54を保持し、管理サーバ20から取得した暗号化情報(証明書523)を公開鍵54により復号化する方法で、管理サーバ20と画像処理装置10との間における認証情報52の安全性を保持している。
次に、証明書523に基づいて、画像処理装置10にインストールしたプログラムを起動する流れについて、図3(b)を用いて説明する。
まず、画像処理装置10から管理サーバ20へ、起動するプログラムを指定し、認証情報52の証明書523を送信することで、該当するプログラムの起動許可認証を要求する。
次に、管理サーバ20は、画像処理装置10から受け取った証明書523が適正な証明書523(不正改竄されていないデータ)であるか否かを判断する。
管理サーバ20が、認証によって、適正な証明書523と判断された場合(認証結果がOKの場合)、認証結果(認証判定OK:プログラムの起動許可)が送信される。
画像処理装置10は、管理サーバ20から送信された認証結果(認証判定OK:適正な認証情報52)を取得し、取得した認証情報(認証判定OK:適正な認証情報52)に基づいてプログラムを起動する。
このように、第1の実施形態に係る画像処理システムは、管理サーバ20の認証結果に基づいて、機能毎にプログラムのインストール及びインストールされたプログラムの動作を制御(機能毎にプログラムを管理)することができる。
また、プログラムに埋め込んだ認証情報52に基づいて、プログラムの適正を判断する認証方式でないため、プログラムを開発する側の作業負担を軽減できる。
また、画像処理装置10と管理サーバ20との間で送受信される認証情報52は、暗号化されているため、悪意により認証情報52を不正に改竄し、画像処理装置10が有する機能を利用する等の不正使用を防ぐことができる。
よって、暗号化した情報を含む認証情報52に基づいて、画像処理装置内のプログラムを機能単位で認証し、適正なプログラムを効率よく管理する画像処理システムを実現することができる。
次に、図3、図4及び図5において説明した画像処理システムにおけるプログラムのインストール及びインストールされたプログラムの動作制御を、どのような機能部により実現しているかについて、図6を用いて説明する。
図6は、本発明の第1の実施形態に係る主要機能部の構成例を示しており、図6(a)が、画像処理装置における主要機能部の構成例を示すブロック図、図6(b)が、管理サーバにおける主要機能部の構成例を示すブロック図である。
まず、画像処理装置10における主要機能部について、図6(a)を用いて説明する。
図6(a)に示す主要機能部は、プログラム格納部61、プログラム動作管理部62、認証要求部63から構成されている。
プログラム格納部61は、認証情報更新要求手段611、証明書取得手段612、プログラム情報要求手段613、プログラム情報取得手段614、プログラム取得手段615、インストール手段616及びアンインストール手段617を有し、管理サーバ20から取得したプログラムをインストールし、インストールしたプログラム及び認証情報52を管理する(例えば、「プログラムの格納又は削除」や「認証情報52の更新」)。
プログラム動作管理部62は、動作制御手段621、使用可能期限判定手段622及び重要機能プログラム判定手段623を有し、管理サーバ20からの認証結果及び認証情報52に基づいてプログラムの起動と終了を行い、インストールされたプログラムの動作を制御する。
また、プログラム動作管理部62は、表示手段624を有し、管理サーバ20から取得し、インストールされたプログラムに関する情報(例えば「プログラムの使用可能期限情報522」)を表示部12の表示画面に表示する。
認証要求部63は、認証要求手段631及び利用契約者認証要求手段632を有し、利用契約者及び利用契約者に対し発行された証明書523が適正か否かを判断するように管理サーバ20へ要求する。
このように、画像処理装置10は、上記主要機能部により、プログラムのインストール及びインストールしたプログラムの動作を制御している。
次に、図6(a)において説明した各機能部が有する手段について、図7(a)を用いて説明する。
図7(a)は、本発明の第1の実施形態に係る画像処理装置における主要機能部が有する手段の構成例を示すブロック図である。
まず、プログラム格納部61が有する認証情報更新要求手段611は、管理サーバ20に対して認証情報52の更新を要求する。
インストールしたプログラムの使用可能期限切れ又は期限切れ間近の場合、今後も該当するプログラムを使用するため、使用可能期限情報522を更新する必要がある。
そのため、認証情報更新要求手段611は、利用契約者による更新指示(入力部11が有するハードキー又は表示部12のタッチパネルからの更新指示)や使用可能期限情報522の自動更新条件522bに従い、管理サーバ20に対して、認証情報52の使用可能期限情報522を利用契約に従って更新するように要求する。
次に、プログラム格納部61が有する証明書取得手段612は、管理サーバ20から送信される証明書523を取得する。
証明書取得手段612は、認証情報52を更新した時や新規プログラムをインストールする時等、画像処理装置10に新しい認証情報52が必要な場合、管理サーバ20から送信された証明書523を取得する。
また、証明書取得手段612は、取得する以前の証明書523を取得した証明書523に更新し、保持している公開鍵54により、更新した証明書523を復号化し得た認証情報52の使用可能期限情報522を基に、取得する以前の使用可能期限情報522を更新する。
よって、プログラム格納部61は、契約更新又は新規プログラムのインストールの際に、認証情報更新要求手段611により、管理サーバ20へ認証情報52の更新を要求し、要求に応じて管理サーバ20から送信された更新後の認証情報52である証明書523を証明書取得手段612により取得することで、画像処理処置10が保持する認証情報52の使用可能期限情報522を更新することができる。
次に、プログラム格納部61が有するプログラム情報要求手段613は、新規プログラムをインストールする際に、管理サーバ20へ、画像処理装置10に対しインストール可能なプログラムに関する情報を表すプログラムリストの取得を要求する。
プログラム情報要求手段613は、管理サーバ20へ、証明書取得手段612により取得した証明書523を認証情報52として送信し、プログラムリストの取得を要求する。
次に、プログラム格納部61が有するプログラム情報取得手段614は、新規プログラムをインストールする際に、管理サーバ20から送信されたプログラムリストを取得する。
プログラム情報取得手段614は、プログラム情報要求手段613により要求したプログラムリストを、管理サーバ20が認証結果に基づいて送信するため、送信されたプログラムリストを取得する。
次に、プログラム格納部61が有するプログラム取得手段615は、新規プログラムをインストールする際に、プログラムリストに基づいて該当するプログラムを管理サーバ20から取得する。
プログラム取得手段615は、プログラム情報取得手段614により取得したプログラムリストの中から新規インストールするプログラムを選び、管理サーバ20に対し、該当するプログラムの取得を要求する。
そして、プログラム取得手段615は、管理サーバ20からプログラム取得要求に応じて送信されたプログラムを取得する。
次に、プログラム格納部61が有するインストール手段616は、プログラム取得手段615により取得したプログラムをインストールする。
インストール手段616は、取得したプログラムを補助記憶部13の所定の記憶領域に格納する。
次に、プログラム格納部61が有するアンインストール手段617は、インストール手段616によりインストールしたプログラムをアンインストールする。
アンインストール手段617は、使用可能期限切れとなり契約更新されなかったプログラム等、補助記憶部13に格納されたプログラムを、プログラム動作管理部62からの指示により機能単位で削除する。
よって、プログラム格納部61は、プログラム情報要求手段613、プログラム情報取得手段614、プログラム取得手段615、インストール手段616により、管理サーバ20から機能単位でプログラムを取得し、インストールを行い、また、アンインストール手段617により、インストールしたプログラムを機能単位でアンインストールを行い、機能毎にプログラムを管理することができる。
次に、プログラム動作管理部62が有する動作制御手段621は、管理サーバ20から送信される認証結果に基づいてプログラムの動作を制御する。
動作制御手段621は、画像処理装置10に電源が投入された時や動作中に日付が変わった時(日付変化時)等、利用契約者に対し発行された証明書523が適正な認証情報52か否かを判断する必要がある場合に、管理サーバ20から送信された認証結果に基づいてプログラムの動作を制御する。
例えば、画像処理装置10に電源が投入された場合(プログラムを起動する場合)、管理サーバ20からの認証結果が認証判定OK(適正なプログラム)の時にプログラムを起動する。また、認証判定NG(不適正なプログラム)の時には、プログラムを起動しない。
また、例えば、画像処理装置10が動作中に日付が変わった場合、管理サーバ20からの認証結果が認証判定NG(不適正なプログラム)の時は、動作中のプログラムを終了する。
また、動作制御手段621は、使用可能期限情報522に基づいてプログラムの動作を制御する。
以下に、動作制御手段621がプログラムの動作を制御するための判定手段について説明する。
プログラム動作管理部62が有する使用可能期限判定手段622は、使用可能期限情報522の有効期限522aに基づいて、動作制御手段621により動作制御するプログラムの使用可能期限が過ぎたか否かを判断する。
使用可能期限判定手段622は、使用可能期限情報522の有効期限522aの日時と使用可能期限判定時の日時とを比較し、プログラムの使用可能期限が過ぎたか否かを判断する。
動作制御手段621は、画像処理装置10に電源が投入された際(プログラムを起動する際)、認証結果が認証判定OK(適正なプログラム)で、且つ使用可能期限判定手段622により、使用可能期限判定時において、該当するプログラムの使用可能期限が過ぎていると判断された場合、プログラムを起動しない。
また、動作制御手段621は、画像処理装置10が動作中に日付が変わった際、認証結果が認証判定OK(適正なプログラム)で、且つ使用可能期限判定手段622により、使用可能期限判定時において、該当するプログラムの使用可能期限が過ぎていると判断された場合、動作中のプログラムを終了する。
このような認証結果が認証判定OK(適正なプログラム)で、且つ使用可能期限判定手段622により、使用可能期限判定時において、該当するプログラムの使用可能期限が過ぎていると判断された場合の動作制御は、使用可能期限情報522の期限切れ動作条件522dに基づいて行う。
例えば、期限切れ動作条件522dが「画面表示に警告し使用不可」の場合、表示部12の表示画面に使用可能期限切れの旨を表示し、動作中のプログラムを終了又はプログラムを起動しない。
また、動作制御手段621は、認証情報52のプログラム識別情報521に基づいて、インストールしたプログラムのアンインストールをプログラム格納部61へ指示する。
以下に、動作制御手段621がプログラム格納部61にアンインストールを指示するための判定手段について説明する。
該当するプログラムをアンインストールすると画像処理装置10が使用不可能となるプログラムか否かを判断し、プログラム格納部61へアンインストールを指示しなければならない。
そのため、プログラム動作管理部62は、プログラム識別情報521のプログラム識別コード521aに基づいて、プログラムのアンインストールをプログラム格納部61へ指示する重要機能プログラム判定手段623を有し、動作制御手段621により、重要機能プログラム判定手段623により判断した結果に基づいて、プログラム格納部61へアンインストールを指示する。
また、動作制御手段61は、重要機能プログラム判定手段623により、使用可能期限切れとなったプログラムにおいて、動作を終了すると画像処理装置10が使用不可能となるプログラムと判断された場合、使用可能期限情報522の継続使用可能期限522eに基づいて、使用可能期限切れの後、一定期間の間、プログラムを動作又は起動する(使用可能期限切れであってもプログラムの動作を終了しない)。
よって、プログラム動作管理部62は、動作制御手段621において、認証結果及び使用可能期限判定手段622による判定結果に基づきプログラムの起動と終了を行う。
また、プログラム動作管理部62は、動作制御手段621において、重要機能プログラム判定手段623による判定結果に基づき、プログラムのアンインストールを行う。
このように、プログラム動作管理部62は、認証結果、使用可能期限、動作条件及び継続使用可能期間に基づいてプログラムの起動と終了を行い、インストールされたプログラムの動作を制御することができる。
また、プログラム動作管理部62は、使用可能期限切れとなり更新されなかったプログラム等、利用契約に従って画像処理装置10に格納しておく必要がないプログラムをアンインストールでき、画像処理装置10にインストールしたプログラム容量を最適に保つことができる(インストール容量を最小限に制限できる)。
次に、プログラム動作管理部62が有する表示手段624は、管理サーバ20から取得し、インストールされたプログラムに関する情報(例えば「プログラムの使用可能期限情報522」)を表示部12の表示画面に表示する。
表示手段624は、動作制御手段621により表示を指示された場合、表示部12の表示画面に表示する。
表示する内容は、「XX機能は、使用可能期限切れのため起動できません。契約を更新して下さい。」や「XX機能は、残り10日で使用可能期限切れとなります。契約が切れる前に更新手続きを行って下さい。」等のように、該当するプログラムの動作状態、現在の使用可能期限情報522及び契約更新に関する情報である。
よって、プログラム動作管理部62は、表示手段624により、プログラムの動作状態、現在の使用可能期限情報522及び契約更新に関する情報を利用契約者に通知することができ、利用契約者に適切な契約管理を促すことができる。
次に、認証要求部63が有する認証要求手段631は、画像処理装置10に電源が投入された時や動作中に日付が変わった時(日付変化時)等、利用契約者に対し発行された証明書523が適正な認証情報52か否かを判断する必要がある場合に、保持している証明書523を管理サーバ20へ送信し、認証情報52の認証を要求する。
また、認証要求手段631は、管理サーバ20から送信される、認証要求に応じた認証結果(認証判定OK:適正な認証情報52/NG:不正改竄された認証情報52)を取得する。
よって、認証要求部63は、認証要求手段631により、利用契約者に対し発行された証明書523が適正か否かを判断するように管理サーバ20へ要求し、管理サーバ20からの認証結果に基づいて、証明書523が悪意により不正改竄されていないかを確認し、利用契約に従った適正な証明書523によりプログラムの正当性を判断することができる。
次に、認証要求部63が有する利用契約者認証要求手段632は、新規のプログラムをインストールする際に、画像処理装置10に対し管理サーバ20から適正なプログラム(拡張機能)をインストールするため、インストール前にインストールを要求する利用契約者が正当な利用契約者か否かを判断するように、利用契約者を識別する情報(例えば「公開鍵54」)を管理サーバ20へ送信し、利用契約者の認証を要求する。
また、利用契約者認証要求手段632は、管理サーバ20から送信される、認証要求に応じた認証結果(認証判定OK:正当な利用契約者/NG:不正使用)を取得する。
よって、認証要求部63は、利用契約者認証要求手段632により、利用契約者が適正な契約者か否かを判断するように管理サーバ20へ要求し、管理サーバ20からの認証結果に基づいて、利用契約者になりすまし悪意により不正使用していないかを確認できる。
このように、画像処理装置10は、主要機能部が有する各手段により、認証結果に基づきプログラムのインストール、また、認証結果、使用可能期限及び使用可能期限切れの動作条件等に基づいてインストールしたプログラムの動作を制御し管理することができる。
次に、管理サーバ20における主要機能部について、図6(b)を用いて説明する。
図6(b)に示す主要機能部は、認証要求受取部71、認証部72、証明書発行部73、プログラム提供部74及び使用可能期限情報管理部75から構成されている。
認証要求受取部71は、画像処理装置10から認証を要求された際に送信される利用契約者を識別する情報及び証明書523を受け取り、受け取った情報を認証部72へ渡し、認証部72により認証された認証結果を要求先の画像処理装置10へ応答する。
認証部72は、認証手段721及び利用契約者認証手段722を有し、画像処理装置10から認証要求された利用契約者及び証明書523の認証を行う。
証明書発行部73は、証明書発行手段731を有し、認証情報52のプログラム識別情報521と使用可能期限情報522を暗号化した証明書523を発行する。
プログラム提供部74は、プログラム情報提供手段741及びプログラム提供手段742を有し、画像処理装置10に対しインストール可能なプログラムに関する情報、また、その情報を基に取得を要求されたプログラムを、認証結果に基づいて画像処理装置10へ提供する。
使用可能期限情報管理部75は、認証情報更新手段751を有し、画像処理装置10からの認証情報52の更新要求に応じて、管理サーバ20が保持する認証情報52を更新する。
このように、管理サーバ20は、上記主要機能部により、画像処理装置10におけるプログラムのインストール及びインストールしたプログラムの動作を制御するために必要な認証及びデータ管理を行っている。
次に、図6(b)において説明した各機能部が有する手段について、図7(b)を用いて説明する。
図7(b)は、本発明の第1の実施形態に係る管理サーバ20における主要機能部が有する手段の構成例を示すブロック図である。
まず、認証部72が有する認証手段721は、画像処理装置10から送信された証明書523が適正な認証情報52であるか否かを判断する。
認証手段721は、画像処理装置10に電源が投入された時や動作中に日付が変わった時(日付変化時)等、利用契約者に対し発行された証明書523が適正な認証情報52か否かを判断する必要がある場合に、画像処理装置10が保持している証明書523を送信され、送信された証明書523の認証要求に対し認証を行う。
また、認証手段721は、認証要求に応じた認証結果(認証判定OK:適正な認証情報52/NG:不正改竄された認証情報52)を画像処理装置10へ送信する。
よって、認証部72は、認証手段721により、画像処理装置10が保持する証明書523が適正か否かを判定し、画像処理装置10へ判定結果を送信することで、証明書523が悪意により不正改竄されていないかを確認し、利用契約に従った適正な証明書523によりプログラムの正当性を通知することができる。
次に、利用契約者認証手段722は、新規のプログラムをインストールする際に、画像処理装置10に対して適正なプログラムをインストールするため、画像処理装置10から、インストール前にインストールを要求する利用契約者が正当な利用契約者か否かを判断するように、利用契約者を識別する情報(例えば「公開鍵54」)が送信され、送信された利用契約者を識別する情報の認証要求に対して認証を行う。
また、利用契約者認証手段722は、認証要求に応じた認証結果(認証判定OK:正当な利用契約者/NG:不正使用)を画像処理装置10へ送信する。
よって、認証部72は、利用契約者認証手段722により、画像処理装置10から送信された利用契約者を識別する情報に基づいて利用契約者が適正な利用契約者か否かを判断し、画像処理装置10へ判定結果を送信することで、利用契約者になりすまし、画像処理装置10が有する機能を悪意により不正使用していないか通知することできる。
次に、証明書発行部73が有する証明書発行手段731は、プログラム識別情報521と使用可能期限情報522とを、保持する秘密鍵53によって、暗号化して証明書523を発行する。
証明書発行手段731は、認証情報52を更新した時や新規プログラムをインストールする時等、画像処理装置10に新しい認証情報52が必要な場合、画像処理装置10から証明書523の取得を要求され、その要求に応じて最新の証明書523を画像処理装置10へ送信する。
よって、証明書発行部73は、証明書発行手段731により、認証情報52のプログラム識別情報521と使用可能期限情報522を暗号化した証明書523を発行し、画像処理装置10に新しい認証情報52が必要な場合、利用契約に従い管理された最新の証明書523を画像処理装置10へ提供することができる。
次に、プログラム提供部74が有するプログラム情報提供手段741は、新規プログラムをインストールする際に、画像処理装置10からの要求に応じてインストール可能なプログラムに関する情報を表すプログラムリストを送信する。
プログラム情報提供手段741は、認証情報52に基づいて画像処理装置10へプログラムリストを送信する。
次に、プログラム提供部74が有するプログラム提供手段742は、新規プログラムをインストールする際に、画像処理装置10からの要求に応じて該当するプログラムを送信する。
よって、プログラム提供部74は、プログラム情報提供手段741及びプログラム提供手段742により、画像処理装置10に対しインストール可能なプログラムのプログラムリスト、また、そのプログラムリストを基に取得を要求されたプログラムを、認証結果に基づいて画像処理装置10へ送信し、利用契約に従って画像処理装置10に適正なプログラムを提供することができる。
次に、使用可能期限情報管理部75が有する認証情報更新手段751は、画像処理装置10において、インストールしたプログラムの使用可能期限切れ又は期限切れ間近の場合、今後も該当するプログラムを使用するため、使用可能期限情報522を更新する必要がある場合、認証情報52の使用可能期限情報522を利用契約に従って更新するように要求され、その要求に応じて使用可能期限情報522を更新する。
認証情報更新手段751は、プログラム毎の利用契約に従い使用可能期限(例えば「契約期間1年間」)の更新期間に基づいて、使用可能期限情報522の有効期限522aを変更する。
よって、使用可能期限情報管理部75は、認証情報更新手段751により、画像処理装置10からの認証情報52の更新要求に応じて、管理サーバ20が保持する認証情報52を契約更新時にプログラム毎の更新期間に基づいて、使用可能期限の期間を更新することできる。
このように、管理サーバ20は、主要機能部が有する各手段により、画像処理装置10におけるプログラムのインストール及びインストールしたプログラムの動作を制御するために必要な認証及びデータを管理し、要求に応じて画像処理装置10が必要な情報を提供することができる。
よって、第1の実施形態に係る画像処理システムは、画像処理装置10から暗号化した情報を含む認証情報52が管理サーバ20に送信され、送信された認証情報52が管理サーバ20において適正な認証情報52であるか否かを判断し、その結果が管理サーバ20から画像処理装置10に送信されることで、画像処理装置10が該当するプログラムの動作を認証結果に従って制御することができる。
よって、暗号化した情報を含む認証情報52に基づいて、画像処理装置内のプログラムを機能単位で認証し、適正なプログラムを効率よく管理する画像処理システムを実現することができる。
また、画像処理システムは、画像処理装置10におけるプログラムの動作を制御する必要な使用可能期限情報522とプログラム識別情報521を暗号化することで、機密性の高い認証情報52を構成することができる。
よって、画像処理装置10と管理サーバ20との間で送受信される認証情報52は、暗号化されているため、悪意により認証情報52を不正に改竄し、画像処理装置10が有する機能を利用する等の不正使用を防ぐことができる。
次に、図6及び図7において説明した画像処理システムにおけるプログラムのインストール及びインストールされたプログラムの動作制御を実現する詳細な方法について図8から図15を用いて、画像処理装置10、管理サーバ20の順に説明する。
まず、画像処理装置10の主要機能部の処理について、図8から図10を用いて詳細説明する。
図8は、本発明の第1の実施形態に係る画像処理装置10におけるプログラム格納部61に関する処理を示すフローチャートである。
まず、プログラム格納部61は、インストール、アンインストール又は認証情報52更新の動作要求を受け付けるまで待つ(S101)。
次に、プログラム格納部61は、動作要求があった場合(S101がYESの場合)、要求がインストール、アンインストール、又は認証情報更新のうち、どの動作要求かを判定する(S102、S110、又はS112)。
プログラム格納部61は、インストールの要求を受け付けた場合(S102がYESの場合)、利用契約者の正当性を確認するため、管理サーバ20へ認証を要求する。この時、利用契約者を識別する情報として保持している公開鍵54を管理サーバ20へ送信する(S103)。
次に、管理サーバ20において要求した利用契約者が認証された場合、認証後に利用契約者の利用契約に従って発行された証明書523が送信される。そのため、プログラム格納部61は、証明書取得手段612により、認証後に管理サーバ20から送信される証明書523の取得を待つ(S104)。
次に、プログラム格納部61は、管理サーバ20から利用契約者の証明書523を取得した場合(S104がYESの場合)、プログラム情報要求手段613により、インストール可能なプログラムに関する情報を表すプログラムリストの取得を管理サーバ20へ要求する。この時、取得した証明書523を管理サーバ20へ送信し、証明書523の認証を要求する(S105)。
次に、プログラム格納部61は、プログラム情報取得手段614により、管理サーバ20において要求した証明書523が認証された場合に管理サーバ20から送信されたプログラムリストを取得するまで待つ(S106)。
次に、プログラム格納部61は、管理サーバ20から送信されるプログラムリストを取得した場合(S106がYESの場合)、プログラム取得手段615により、プログラムリストに基づいて、インストールする機能毎のプログラムの取得を管理サーバ20へ要求し(S107)、管理サーバ20から該当するプログラムを取得するまで待つ(S108)。
次に、プログラム格納部61は、管理サーバ20から該当するプログラムを取得した場合(S108がYESの場合)、インストール手段616により、取得したプログラムを補助記憶部13へ格納する(S109)。
また、プログラム格納部61は、アンインストールの要求を受け付けた場合(S102がNOでS110がYESの場合)、アンインストール手段617により、インストールしたプログラムのうち、該当するプログラムを、機能単位で補助記憶部13から削除する(S111)。
また、プログラム格納部61は、認証情報52の要求を受け付けた場合(S110がNOでS112がYESの場合)、認証情報更新要求手段611により、管理サーバ20へ認証情報52の更新を要求する。この時、取得した証明書523を管理サーバ20へ送信し、証明書523の認証を要求する(S113)。
次に、プログラム格納部61は、証明書取得手段612により、管理サーバ20において要求した証明書523が認証された場合に管理サーバ20から送信された更新された証明書523を取得するまで待つ(S114)。
次に、プログラム格納部61は、管理サーバ20から送信された更新後の証明書523を取得した場合(S114がYESの場合)、保持している公開鍵54によって、証明書523を復号化し(115)、復号化して得たプログラム識別情報521と使用可能期限情報522とを基に、現在保持している認証情報52を更新する(S116)。
また、プログラム格納部61は、受け付けた動作要求がインストール、アンインストール又は認証情報更新以外の場合(S112がNOの場合)、インストール、アンインストール又は認証情報更新の動作要求待ちに戻る(S101へ戻る)。
図9は、本発明の第1の実施形態に係る画像処理装置10におけるプログラム動作管理部62に関する処理を示すフローチャートである。
図9(a)は、本発明の第1の実施形態に係る画像処理装置10における電源投入時のプログラム動作管理部62に関する処理を示すフローチャートである。
まず、プログラム動作管理部62は、画像処理装置10に電源が投入された場合や日付が変わった場合に適正なプログラムの起動要求を受け付けるまで待つ(S201)。
次に、プログラム動作管理部62は、プログラムの起動要求があった場合(S201がYESの場合)、管理サーバ20へ証明書523の認証を要求し(管理サーバ20へ証明書523を送信)、管理サーバ20からの認証結果(認証判定OK:適正な認証情報52/NG:不正改竄された認証情報52)を待つ(S202)。
次に、プログラム動作管理部62は、管理サーバ20からの認証結果がOK(認証判定OK:適正な認証情報52)の場合(S202がYESの場合)、プログラムの起動要求がどの条件(条件1:「画像処理装置10に電源が投入された時」、条件2:「日付が変わった時」。)によって要求されたかを判定する(S203)。
次に、プログラム動作管理部62は、プログラムの起動要求が条件1:「画像処理装置10に電源が投入された時」の場合(S203がYESの場合)、使用可能期限判定手段622により、プログラム格納部61で管理している認証情報52のうち、使用可能期限情報522の有効期限522aの日付と、使用可能期限判定時の日付とを比較する(S204)。
使用可能期限判定手段622は、比較結果から該当するプログラムの使用可能期限が過ぎているか否かを判定する(S205)。
次に、プログラム動作管理部62は、使用可能期限判定手段622により、使用可能期限が過ぎていると判断した場合(S205がYESの場合)、重要機能プログラム判定手段623により、プログラム格納部61が管理するプログラム識別情報521に基づいて、該当するプログラムが画像処理装置10に対し重要な機能であるか確認し(S206)、重要機能プログラム判定手段623により、該当するプログラムが画像処理装置10に対し重要な機能であるか否か判定する(S207)。
プログラム動作管理部62は、重要機能プログラム判定手段623により、重要機能のプログラムと判断した場合(S207がYESの場合)、プログラム格納部61が管理する認証情報52のうち、使用可能期限情報522の継続使用可能期限522eに基づいて、重要な機能であるために、使用可能期限切れ後において継続して使用可能な期間内であるか否かを判定する(S208)。
プログラム動作管理部62は、継続使用可能期限内であると判断した場合(S208がYESの場合)、表示手段624により、該当するプログラムの使用可能期限が切れてしまっているため、利用契約を更新するように促す内容を表示部12の表示画面へ表示する(S209)。
次に、プログラム動作管理部62は、動作制御手段621により、継続使用可能期限の間、該当するプログラムを起動し(S210)、起動したプログラムの機能名を表示部12の表示画面へ表示する(S211)。
また、プログラム動作管理部62は、重要機能プログラム判定手段623により、重要機能のプログラムでないと判断した場合(S207がNOの場合)、プログラムが画像処理装置10において不適正なプログラムであると判断し、且つ重要な機能でないプログラムと判断されたため、該当するプログラムを機能単位でアンインストールするように、プログラム格納部61へ要求し(S212)、表示手段624により、該当するプログラムをアンインストールした旨を表示部12の表示画面に表示する(S213)。
また、プログラム動作管理部62は、使用可能期限判定手段622により、使用可能期限内と判断した場合(S205がNOの場合)、プログラム格納部61が管理する認証情報52のうち、使用可能期限情報522の警告発生条件522cに基づいて、使用可能期限切れ間近により警告を発生するか否かを判定する(S214)。
プログラム動作管理部62は、警告を発生する判断した場合(S214がYESの場合)、表示手段624により、使用可能期限切れ間近のため、期限が切れる前に利用契約を更新するように促す内容を表示部12の表示画面に表示する(S215)。
次に、プログラム動作管理部62は、動作制御手段621により、該当するプログラムを起動し(S216)、起動したプログラムの機能名を表示部12の表示画面へ表示する(S217)。
また、プログラム動作管理部62は、管理サーバ20からの認証結果がNG(認証判定NG:不正改竄された認証情報52)の場合(S202がNOの場合)、表示手段624により、不適正な証明書523によりプログラムの起動が許可されなかった旨を表示部12の表示画面に表示し、該当するプログラムは起動しない(B)。
図9(b)は、本発明の第1の実施形態に係る画像処理装置10における日付変化時のプログラム動作管理部62に関する処理を示すフローチャートである。
プログラム動作管理部62は、プログラムの起動要求が条件2:「日付が変わった時」の場合(S203がNOの場合:A)、使用可能期限判定手段622により、プログラム格納部61で管理している認証情報52のうち、使用可能期限情報522の有効期限522aの日付と、使用可能期限判定時の日付とを比較する(S219)。
使用可能期限判定手段622は、比較結果から該当するプログラムの使用可能期限が過ぎているか否かを判定する(S220)。
次に、プログラム動作管理部62は、使用可能期限判定手段622により、使用可能期限が過ぎていると判断した場合(S220がYESの場合)、重要機能プログラム判定手段623により、プログラム格納部61が管理するプログラム識別情報521に基づいて、該当するプログラムが画像処理装置10に対し重要な機能であるか確認し(S221)、重要機能プログラム判定手段623により、該当するプログラムが画像処理装置10に対し重要な機能であるか否か判定する(S222)。
プログラム動作管理部62は、重要機能プログラム判定手段623により、重要機能のプログラムと判断した場合(S222がYESの場合)、プログラム格納部61が管理する認証情報52のうち、使用可能期限情報522の継続使用可能期限522eに基づいて、重要な機能であるために、使用可能期限切れ後において継続して使用可能な期間内であるか否かを判定する(S223)。
プログラム動作管理部62は、継続使用可能期限内であると判断した場合(S223がYESの場合)、表示手段624により、該当するプログラムの使用可能期限が切れてしまっているため、利用契約を更新するように促す内容を表示部12の表示画面へ表示する(S224)。
次に、プログラム動作管理部62は、動作制御手段621により、継続使用可能期限の間、起動したプログラムの機能名を表示部12の表示画面へ表示する(S225)。
また、プログラム動作管理部62は、重要機能プログラム判定手段623により、重要機能のプログラムでないと判断した場合(S222がNOの場合)、プログラムが画像処理装置10において不適正なプログラムであると判断し、且つ重要な機能でないプログラムと判断されたため、該当するプログラムの動作を終了し(S226)、該当するプログラムを機能単位でアンインストールするように、プログラム格納部61へ要求する(S227)。
次に、プログラム動作管理部62は、表示手段624により、該当するプログラムをアンインストールした旨を表示部12の表示画面に表示する(S228)。
また、プログラム動作管理部62は、使用可能期限判定手段622により、使用可能期限内と判断した場合(S220がNOの場合)、プログラム格納部61が管理する認証情報52のうち、使用可能期限情報522の警告発生条件522cに基づいて、使用可能期限切れ間近により警告を発生するか否かを判定する(S229)。
プログラム動作管理部62は、警告を発生する判断した場合(S229がYESの場合)、表示手段624により、使用可能期限切れ間近のため、期限が切れる前に利用契約を更新するように促す内容を表示部12の表示画面に表示する(S230)。
次に、プログラム動作管理部62は、動作制御手段621により、動作中のプログラムの機能名を表示部12の表示画面へ表示する(S231)。
図10は、本発明の第1の実施形態に係る画像処理装置10における認証要求部63に関する処理を示すフローチャートである。
まず、認証要求部63は、プログラム格納部61やプログラム動作管理部62からの認証要求を受け付けるまで待つ(S301)。
次に、認証要求部63は、認証要求を受け付け(S302)、認証要求の種類(「利用契約者認証」、「証明書認証」)を判定する(S303)。
認証要求部63は、利用契約者認証要求手段632により、利用契約者の認証要求を受け付けた場合(S303が「利用契約者認証」の場合)、利用契約者を識別する情報である公開鍵54を管理サーバ20へ送信し、認証を要求する(S304)。
また、認証要求部63は、利用契約者の認証要求を受け付けた場合(S303が「証明書認証」の場合)、認証要求手段631により、証明書523を管理サーバ20へ送信し、認証を要求する(S307)。
次に、認証要求部63は、管理サーバ20からの認証結果(利用契約者認証の場合は、「認証判定OK:正当な利用契約者/NG:不正使用」、証明書認証の場合は、「認証判定OK:適正な認証情報52/NG:不正改竄された認証情報52」)を受け取るまで待つ(S305)。
認証要求部63は、管理サーバ20からの認証結果を受け取った場合(S305がYESの場合)、取得した認証結果をプログラム格納部61やプログラム動作管理部62に応答する(S306)。
次に、管理サーバ20の主要機能部の処理について、図11から図15を用いて詳細説明する。
図11は、本発明の第1の実施形態に係る管理サーバ20における認証要求受取部71に関する処理を示すフローチャートである。
まず、認証要求受取部71は、画像処理装置10からの認証要求を受け付けるまで待つ。この時、画像処理装置10から送信された公開鍵54又は証明書523を取得する(S401)。
次に、認証要求受取部71は、認証要求を受け付け、受け付けた認証要求を認証部72へ転送する。この時、取得した公開鍵54又は証明書523を転送する(S402)。
次に、認証要求受取部71は、認証部72からの認証結果を待ち(S403)、認証結果を受け取った場合(S403がYESの場合)、受け取った認証結果を画像処理装置10へ送信する(S404)。
図12は、本発明の第1の実施形態に係る管理サーバ20における認証部72に関する処理を示すフローチャートである。
まず、認証部72は、認証要求受取部71からの認証要求を受け付けるまで待つ(S501)。
認証部72は、認証要求を受け付けた場合(S501がYESの場合)、受け付けた認証要求が「利用契約者認証」か「証明書認証」かを判定する(S502)。
次に、認証部72は、認証要求が「利用契約者認証」の場合(S502が「利用契約者認証」の場合)、利用契約者認証手段722により、取得した公開鍵54に対して、正当な利用契約者か否かを判定する(S503)。
次に、認証部72は、利用契約者認証手段722により認証した認証結果が、正当な利用契約者(認証判定OK)か不正使用(認証判定NG)かを判定し(S504)、「正当な利用契約者(認証判定OK)」の場合(S504がYESの場合)、認証結果(認証判定OK)とともに、プログラム提供部74に、インストール可能なプログラムに関する情報を表すプログラムリスト又はインストール可能なプログラムを送信するように指示する(S505)。
また、「不正使用(認証判定NG)」の場合(S504がNOの場合)、認証結果(認証判定NG)を認証要求受取部71に転送し、画像処理装置10へ送信するように指示する(S509)。
また、認証部72は、認証要求が「証明書認証」の場合(S502が「証明書認証」の場合)、認証手段721により、取得した証明書523に対して、適正な証明書523であるか否かを判定する(S506)。
次に、認証部72は、認証手段721により認証した認証結果が、適正な認証情報52(認証判定OK)か不正改竄された認証情報52(認証判定NG)かを判定し(S507)、「適正な認証情報52(認証判定OK)」の場合(S507がYESの場合)、認証結果(認証判定OK)とともに、使用可能期限情報管理部75に認証情報52の使用可能期限情報522の更新を指示し、更新後、新しい証明書523を画像処理装置10へ送信するように指示する(S508)。
また、「不正改竄された認証情報52(認証判定NG)」の場合(S507がNOの場合)、認証結果(認証判定NG)を認証要求受取部71に転送し、画像処理装置10へ送信するように指示する(S509)。
図13は、本発明の第1の実施形態に係る管理サーバ20における証明書発行部73に関する処理を示すフローチャートである。
まず、証明書発行部73は、使用可能期限情報管理部75から新しい証明書523を発行するように要求されるまで待つ(S601)。
次に、証明書発行部73は、証明書発行要求を受け付けた場合(S601がYESの場合)、取得した証明書523を受け取り(S602)、補助記憶部13へ格納された更新後の認証情報52を取得する(S603)。
次に、証明書発行部73は、証明書発行手段731により、保持している秘密鍵53によって、取得した認証情報52のプログラム識別情報521と使用可能期限情報522を暗号化し、新しい証明書523を発行する(S604)。
次に、証明書発行部73は、新しく発行した証明書523を補助記憶部13へ格納し(S605)、発行した証明書523を画像処理装置10へ送信する(S606)。
図14は、本発明の第1の実施形態に係る管理サーバ20におけるプログラム提供部74に関する処理を示すフローチャートである。
まず、プログラム提供部74は、認証部72からプログラムリスト又はプログラムを提供するように要求されるまで待つ(S701)。
次に、プログラム提供部74は、プログラムリスト又はプログラム提供要求を受け付けた場合(S701がYESの場合)、要求を受け付け(S702)、受け付けた要求が「プログラムリスト提供要求」か「プリグラム提供要求」かを判定する(S703)。
プログラム提供部74は、受け付けた要求が「プログラムリスト」の場合(S703が「プログラムリスト」の場合)、プログラム提供手段741により、補助記憶部13へ格納されたプログラムリストを取得し(S704)、取得したプログラムリストを画像処理装置10へ送信する(S705)。
また、プログラム提供部74は、受け付けた要求が「プログラム」の場合(S703が「プログラム」の場合)、プログラム提供手段741により、補助記憶部13へ格納されたプログラムを取得し(S706)、取得したプログラムを画像処理装置10へ送信する(S707)。
図15は、本発明の第1の実施形態に係る管理サーバ20における使用可能期限情報管理部75に関する処理を示すフローチャートである。
まず、使用可能期限情報管理部75は、認証部72から認証情報52の使用可能期限情報522を送信するように要求されるまで待つ(S801)。
次に、使用可能期限情報522の更新要求を受け付けた場合(S801がYESの場合)、要求を受け付け(S802)、補助記憶部13へ格納された認証情報52の使用可能期限情報522を取得し(S803)、認証情報更新手段751により、プログラム毎の利用契約に従い使用可能期限の更新期間に基づいて、取得した使用可能期限情報522の有効期限522aを変更し、補助記憶部13へ格納する(S804)。
次に、使用可能期限情報管理部75は、証明書発行部73に、更新した使用可能期限情報522を含む認証情報52を基に新しい証明書523を発行し、画像処理装置10へ送信するように指示する(S805)。
次に、図8から図15で示した画像処理装置10と管理サーバ20との関係性を明確にするため、画像処理システムにおけるプログラムのインストールとアンインストール、起動と終了及び認証情報52の更新の流れについて、図16から図19を用いて説明する。
図16は、本発明の第1の実施形態に係るプログラムをインストールする流れを示すシーケンス図である。
まず、画像処理装置10が有するプログラム格納部61は、インストール指示を受け付けると(1−1)、認証要求部63に利用契約者の認証を要求する(1−2)。
次に、認証要求部63は、画像処理装置10は保持している公開鍵54を管理サーバ20へ送信することで、管理サーバ20へ利用契約者の認証を要求する(1−3)。
管理サーバ20が有する認証要求受取部71は、画像処理装置10から送信された公開鍵54を受け取り、受け取った公開鍵54を認証部72へ転送することで、利用契約者の認証を指示する(1−4)。
次に、認証部72は、利用契約者に対して、取得した公開鍵54を基に認証を行い、認証結果に従って、認証判定がOKの場合、利用契約者に対応する証明書523の発行を証明書発行部73に指示し(1−5)、認証結果(認証判定OK)を認証要求受取部71に応答する(1−6)。その結果、認証要求受取部71は、画像処理装置10へ認証結果を送信する(1−7)。
次に、画像処理装置10が有する認証要求部63は、プログラム格納部61に認証結果を応答する(1−8)。
また、管理サーバ20が有する証明書発行部73は、発行した証明書523を画像処理装置10が有するプログラム格納部61へ送信する(1−9)。
このように、画像処理装置10は、管理サーバ20において、正当な利用契約者であることを確認され、利用契約者に対応した証明書523が発行される。
次に、画像処理装置10が有するプログラム格納部61は、認証要求部63にプログラムリストの取得を要求する(1―10)。
次に、認証要求部63は、取得した証明書523を管理サーバ20へ送信することで、管理サーバ20へ証明書523の認証を要求する(1―11)。
管理サーバ20が有する認証要求受取部71は、受け取った証明書523を認証部72へ転送することで、証明書523の認証を指示する(1―12)。
次に、認証部72は、取得した証明書523に対して認証を行い、認証結果に従って、認証判定がOKの場合、利用契約に対応するプログラムリストの提供をプログラム提供部74に指示し(1−13)、認証結果(認証判定OK)を認証要求受取部71に応答する(1−14)。その結果、認証要求受取部71は、画像処理装置10へ認証結果を送信する(1−15)。
次に、画像処理装置10が有する認証要求部63は、プログラム格納部61に認証結果を応答する(1−16)。
また、管理サーバ20が有するプログラム提供部74は、プログラムリストを画像処理装置10が有するプログラム格納部61へ送信する(1−17)。
このように、画像処理装置10は、管理サーバ20において、適正な証明書523であることが確認され、インストール可能なプログラムに関する情報を表すプログラムリストを取得する。
次に、画像処理装置10が有するプログラム格納部61は、認証要求部63にインストールするプログラムの取得を要求する(1−18)。
次に、認証要求部63は、証明書523を管理サーバ20へ送信することで、管理サーバ20へ証明書523の認証を要求する(1−19)。
管理サーバ20が有する認証要求受取部71は、受け取った証明書523を認証部72へ転送することで、証明書523の認証を指示する(1−20)。
次に、認証部72は、取得した証明書523に対して認証を行い、認証結果に従って、認証判定がOKの場合、利用契約に対応するプログラムの提供をプログラム提供部74に指示し(1−21)、認証結果(認証判定OK)を認証要求受取部71に応答する(1−22)。その結果、認証要求受取部71は、画像処理装置10へ認証結果を送信する(1−23)。
次に、画像処理装置10が有する認証要求部63は、プログラム格納部61に認証結果を応答する(1−24)。
また、管理サーバ20が有するプログラム提供部74は、プログラムを画像処理装置10が有するプログラム格納部61へ提供する(1−25)。
このように、画像処理装置10は、プログラムリストを基に、インストールするプログラムを管理サーバ20から取得し、インストールする。
よって、第1の実施形態に係る画像処理システムでは、利用契約に基づいてプログラムをインストールすることができる。
図17は、本発明の第1の実施形態に係るプログラムを起動した際の流れ示すシーケンス図である。
図17(a)は、本発明の第1の実施形態に係る電源投入時にプログラムを起動した際の認証結果がOKの場合の流れ示すシーケンス図である。
まず、画像処理装置10が有するプログラム動作管理部62は、画像処理装置10に電源が投入された場合、プログラムの起動指示を受け付ける(2−1)。
次に、プログラム動作管理部62は、プログラム格納部61に証明書523の取得を要求し(2−2)、要求に応じて送信された証明書523を受け取り(2−3)、認証要求部63に証明書523の認証を要求する(2―4)。
次に、認証要求部63は、証明書523を管理サーバ20へ送信することで、管理サーバ20へ証明書523の認証を要求する(2−5)。
管理サーバ20が有する認証要求受取部71は、画像処理装置10から送信された証明書523を受け取り、受け取った証明書523を認証部72へ転送することで、証明書523の認証を指示する(2−6)。
次に、認証部72は、取得した証明書523に対して認証を行い、認証結果(認証判定OK)を認証要求受取部71に応答する(2−7)。その結果、認証要求受取部71は、画像処理装置10へ認証結果を送信する(2−8)。
次に、画像処理装置10が有する認証要求部63は、プログラム動作管理部62に認証結果を応答する(2−9)。
次に、プログラム動作管理部62は、プログラム格納部61が管理する認証情報52の使用可能期限情報522の取得を要求し(2−10)、要求に応じて送信された使用可能期限情報522を受け取り(2−11)、受け取った使用可能期限情報522の有効期限522aに基づいて、使用可能期限判定を行う。
プログラム動作管理部62は、使用可能期限判定の結果に従って、起動するプログラムが使用可能期限内である場合、プログラムを起動し、起動したプログラムの機能名を表示部12に表示するよう指示する(2−12)。
図17(b)は、本発明の第1の実施形態に係る電源投入時にプログラムを起動した際の認証結果がNGの場合の流れを示すシーケンス図である。
図17(b)に示す流れのうち、(3−1)〜(3−9)については、管理サーバ20による証明書523の認証結果がNG以外は、図17(a)に示した(2−1)〜(2−9)と同じであるため、その説明を省略し、異なる点(プログラムを起動しない点)についての流れを説明する。
画像処理装置10が有するプログラム動作管理部62は、管理サーバ20からの証明書認証結果(認証判定NG)に従って、該当するプログラムを起動せず、認証結果がNGのため(利用契約者の証明書523が不適正な認証結果と判断されたため)、起動できない旨を表示部12に表示するよう指示する(3−10)。
図18は、本発明の第1の実施形態に係る日付変化時の流れを示すシーケンス図である。
図18(a)は、本発明の第1の実施形態に係る日付変化時に使用可能期限を判定した際の判定結果が「期限内」の場合の流れを示すシーケンス図である。
まず、画像処理装置10が有するプログラム動作管理部62は、プログラムの動作中に日付が変わった場合、プログラムにおける使用可能期限の確認指示を受け付ける(4−1)。
次に、プログラム動作管理部62は、プログラム格納部61に証明書523の取得を要求し(4−2)、要求に応じて送信された証明書523を受け取り(4−3)、認証要求部63に証明書523の認証を要求する(4―4)。
次に、認証要求部63は、証明書523を管理サーバ20へ送信することで、管理サーバ20へ証明書523の認証を要求する(4−5)。
管理サーバ20が有する認証要求受取部71は、受け取った証明書523を認証部72へ転送することで、証明書523の認証を指示する(4−6)。
次に、認証部72は、取得した証明書523に対して認証を行い、認証結果(認証判定OK)を認証要求受取部71に応答する(4−7)。その結果、認証要求受取部71は、画像処理装置10へ認証結果を送信する(4−8)。
次に、画像処理装置10が有する認証要求部63は、プログラム動作管理部62に認証結果を応答する(4−9)。
次に、プログラム動作管理部62は、プログラム格納部61が管理する認証情報52の使用可能期限情報522の取得を要求し(4−10)、要求に応じて送信された使用可能期限情報522を受け取り(4−11)、受け取った使用可能期限情報522の有効期限522aに基づいて、使用可能期限判定を行う。
プログラム動作管理部62は、使用可能期限判定の結果に従って、起動するプログラムが使用可能期限内である場合、プログラムをそのまま動作させる。
このように、第1の実施形態に係る画像処理システムでは、利用契約に基づいて、プログラムの動作を制御することができる。
図18(b)は、本発明の第1の実施形態に係る日付変化時に使用可能期限を判定した際の判定結果が「期限切れ」の場合の流れを示すシーケンス図である。
図18(b)に示す流れのうち、(5−1)〜(5−11)については、図18(a)に示した(4−1)〜(4−11)と同じであるため、その説明を省略し、異なる点(使用可能期限切れのため動作中のプログラムを終了する点)についての流れを説明する。
画像処理装置10が有するプログラム動作管理部62は、使用可能期限判定の結果(使用可能期限切れ)に従って、動作中のプログラムを終了する。
次に、プログラム動作管理部62は、プログラム格納部61が管理する認証情報52のプログラム識別情報521の取得を要求し(5−12)、要求に応じて送信されたプログラム識別情報521を受け取り(5−13)、受け取ったプログラム識別情報521のプログラム識別コード521aに基づいて、重要機能プログラム判定を行う。
プログラム動作管理部62は、重要機能プログラム判定の結果に従って、該当するプログラムが重要な機能のプログラムでない場合、プログラム格納部61に該当するプログラムを補助記憶部13から削除するように指示し(5−14)、「使用可能期限切れ」且つ「重要でない機能のプログラム」であったため、動作中のプログラムを終了し、アンインストールした旨を表示部12に表示するよう指示する(5−15)。
このように、第1の実施形態に係る画像処理システムでは、利用契約に基づいて必要ないプログラムをアンインストールすることができる。
図18(c)は、本発明の第1の実施形態に係る日付変化時に使用可能期限を判定した際の判定結果が「期限切れ間近」の場合の流れを示すシーケンス図である。
図18(c)に示す流れのうち、(6−1)〜(6−11)については、図18(a)に示した(4−1)〜(4−11)又は図18(b)に示した(5−1)〜(5−11)と同じであるため、その説明を省略し、異なる点(使用可能期限切れ間近のため利用契約の更新を要求する点)についての流れを説明する。
画像処理装置10が有するプログラム動作管理部62は、使用可能期限判定の結果(使用可能期限切れ間近)に従って、使用可能期限切れ間近であるため、利用契約を更新するように促す内容を表示部12に表示するよう指示する(6−12)。
このように、第1の実施形態に係る画像処理システムでは、利用契約の更新を使用可能期限が切れる前に通知することができる。
図19は、本発明の第1の実施形態に係る認証情報を更新する流れを示すシーケンス図である。
まず、画像処理装置10が有するプログラム格納部61は、認証情報52の更新指示を受け付けると(7−1)、認証要求部63に証明書523の認証を要求する(7−2)。
次に、認証要求部63は、証明書523を管理サーバ20へ送信することで、管理サーバ20へ証明書523の認証を要求する(7−3)。
管理サーバ20が有する認証要求受取部71は、受け取った証明書523を認証部72へ転送することで、証明書523の認証を指示する(7−4)。
次に、認証部72は、取得した証明書523に対して認証を行い、認証結果(認証判定OK)を認証要求受取部71に応答する(7−5)。その結果、認証要求受取部71は、画像処理装置10へ認証結果を送信する(7−6)。
次に、画像処理装置10が有する認証要求部63は、プログラム格納部61に認証結果を応答する(7−7)。
また、管理サーバ20が有する認証部72は、認証結果に従って、認証判定がOKの場合、認証情報52の使用可能期限情報522を更新するように使用可能期限情報管理部75へ指示する(7−8)。
使用可能期限情報管理部75は、利用契約に従い使用可能期限の更新期間に基づいて、取得した使用可能期限情報522の有効期限522aを変更し、証明書発行部73に更新後の認証情報52の使用可能期限情報522を含む新しい証明書523を発行し、画像処理装置10へ送信するように指示する(7−9)。
証明書発行部73は、更新後の認証情報52を基に、新しい証明書523を発行し、画像処理装置10へ送信する(7−10)。
画像処理装置10が有するプログラム格納部61は、管理サーバ20から送信された新しい証明書523を受け取り、復号化して得た使用可能期限情報522に基づいて、現在保持している使用可能期限情報522を更新し、認証情報52の使用可能期限情報522を更新した旨を表示部12に表示するよう指示する(7−11)。
このように、第1の実施形態に係る画像処理システムでは、認証情報52を更新することができる。
以下に、第1の実施形態の変形例について、図20〜図23を用いて説明する。
図20及び図21は、本発明の第1の実施形態の変形例に係る画像処理システムにおけるシステム構成例を示す図である。
本発明の第1の実施形態では、管理サーバ20において認証要求受取部71、認証部72、証明書発行部73、プログラム提供部74及び使用可能期限情報管理部75の全ての処理を1つの管理サーバ20によって実現する方法を説明したが、図20に示すように、認証要求受取部71及び認証部72を有する認証サーバ20aと、証明書発行部73、プログラム提供部74及び使用可能期限情報管理部75を有するプログラム管理サーバ20bとで構成し、機能毎に複数の管理サーバ20nに分離しても良い(分散型管理サーバ20a及び20b)。
このように構成された画像処理システムは、管理サーバ20の負荷が軽減される効果がある。
また、図21に示すように、認証部72を有する画像処理装置10(拡張型画像処理装置10)、証明書発行部73、プログラム提供部74及び使用可能期限情報管理部75を有するプログラム管理サーバ20で構成しても良い。
このように構成された画像処理システムは、認証時に、ネットワーク30を介して管理サーバ20へ認証要求することがないため、ネットワーク30の回線状態(送受信状態)や回線性能(帯域幅)等に影響されることがなく、認証要求に対する応答の迅速さと処理の高速化を図ることができる。
図22は、本発明の第1の実施形態の変形例に係る拡張型画像処理装置10のプログラムを起動した際の流れ示すシーケンス図である。
図22に示すように、画像処理装置内に認証部72を有するため、ネットワーク30を介して管理サーバ20へ認証を要求しない。
このように、拡張型画像処理装置10は、プログラムの起動や動作中のプログラムの確認等の場合、画像処理装置10において全ての処理が行えるため効果は大きい。
また、図23は、本発明の第1の実施形態の変形例に係る画像形成装置90のハードウェア構成例を示すブロック図である。
図23に示すように、画像形成装置90は、図1に示した画像処理装置10が有するハードウェア構成に加え、印刷部19を備えている。
印刷部19は、プリンタエンジンと呼ばれ、画像処理(例えば、「フィルタ処理」、「解像度変換」、「カラーマッチング」、「γ補正」、「階調変換」等。)を行った後に生成されたラスタイメージ(ビットマップイメージ)を用紙へ印刷する画像形成部と、用紙を画像形成部へ搬送する給紙搬送部と、印刷後の用紙を排紙する用紙排紙部とから構成される。
よって、印刷部19は、図2で示した基本機能41(「画像入力機能」、「画像加工機能」、「画像出力機能」)のうち、画像出力機能から受け取った画像データを用紙へ印刷する。
このように、画像形成装置90に代表される画像処理装置10を有する装置であれば、第1の実施形態を実施することができる。
以上のように、本発明の第1の実施形態によれば、画像処理装置10におけるプログラム格納部61は、認証情報更新要求手段611、証明書取得手段612、プログラム情報要求手段613、プログラム情報取得手段614、プログラム取得手段615、インストール手段616及びアンインストール手段617を有し、管理サーバ20から取得したプログラム及び関連データをインストールし、インストールしたプログラムや認証情報52を管理する(例えば、「プログラムの格納又は削除」や「認証情報52の更新」)。
プログラム動作管理部62は、動作制御手段621、使用可能期限判定手段622、重要機能プログラム判定手段623、管理サーバ20からの認証結果及び認証情報52に基づいてプログラムの起動と終了を行い、インストールされたプログラムの動作を制御する。
また、プログラム動作管理部62は、表示手段624を有し、管理サーバ20から取得し、インストールされたプログラムに関する情報(例えば「プログラムの使用可能期限情報522」)を表示部12の表示画面に表示する。
認証要求部63は、認証要求手段631及び利用契約者認証要求手段632を有し、利用契約者及び利用契約者に対し発行された証明書523が適正か否かを判断するように管理サーバ20へ要求する。
このように、画像処理装置10は、主要機能部が有する各手段により、認証結果に基づきプログラムをインストールすることができ、また、認証結果、使用可能期限及び使用可能期限切れの動作条件等に基づいてインストールしたプログラムの動作を制御し管理することができる。
また、管理サーバ20における認証要求受取部71は、画像処理装置10から認証を要求された際に送信される利用契約者を識別する情報及び証明書523を受け取り、受け取った情報を認証部72へ渡し、認証部72により認証された認証結果を要求先の画像処理装置10へ応答する。
認証部72は、認証手段721及び利用契約者認証手段722を有し、画像処理装置10から認証要求された利用契約者及び証明書523の認証を行う。
証明書発行部73は、証明書発行手段731を有し、認証情報52のプログラム識別情報521と使用可能期限情報522を暗号化した証明書523を発行する。
プログラム提供部74は、プログラム情報提供手段741及びプログラム提供手段742を有し、画像処理装置10に対しインストール可能なプログラムに関する情報、また、その情報を基に取得を要求されたプログラムを、認証結果に基づいて画像処理装置10へ提供する。
使用可能期限情報管理部75は、認証情報更新手段751を有し、画像処理装置10からの認証情報52の更新要求に応じて、管理サーバ20が保持する認証情報52を更新する。
このように、管理サーバ20は、主要機能部が有する各手段により、画像処理装置10におけるプログラムのインストール及びインストールしたプログラムの動作を制御するために必要な認証及びデータを管理し、要求に応じて画像処理装置10が必要な情報を提供することができる。
以上のように、本発明の第1の実施形態によれば、まず、画像処理装置10から暗号化した情報を含む認証情報52が管理サーバ20に送信される。その後、管理サーバ20において送信された認証情報52が適正な認証情報52であるか否かを判断され、適正な認証情報52であると判断された場合、管理サーバ20から画像処理装置10へプログラムが提供される。
画像処理装置10は、取得したプログラムを補助記憶部13の所定の記憶領域に格納し、プログラムの証明書を基に、拡張機能プログラムを動作させることで、画像処理装置10が該当するプログラムの動作を認証結果に従って制御することができる。
これによって、第1の実施形態では、暗号化した情報を含む認証情報52に基づいて、画像処理装置内のプログラムを機能単位で認証し、適正なプログラムを効率よく管理する画像処理システムを実現することができる。
また、画像処理システムは、画像処理装置10と管理サーバ20との間で送受信される認証情報52が暗号化されているため、悪意により認証情報52を不正に改竄し、画像処理装置10が有する機能を利用する等の不正使用を防ぐことができる。
[第2の実施形態]
第2の実施形態は、画像処理システムを構成するプログラム管理サーバから、プログラムのみを証明する機能(以下、「プログラム証明機能」という。)を分離し、分離したプログラム証明機能を別の管理サーバで行うことにより、適正なプログラムを効率よく管理し、「他の会社にプログラム開発を委託する」などのプログラムの開発環境の変化や「効率よくプログラム開発を行う」などのプログラムの開発効率に応じた管理サーバの仕様変更に柔軟に対応可能な画像処理システムを提供するものである。
第1の実施形態と第2の実施形態との違いは、第1の実施形態では、プログラム管理機能やプログラム証明機能などを同一の管理サーバ内(プログラム管理サーバ内)において実施するように構成していたのに対して、第2の実施形態では、プログラム管理機能を実施する第1の管理サーバ(プログラム管理サーバ)と、プログラム証明機能を実施する第2の管理サーバ(アクティベーションサーバ)とで構成し、それぞれの機能を異なる管理サーバで実施する点である。
以降に行う第2の実施形態の説明では、第1の実施形態と異なる点について、図24〜26を用いて説明する。そのため、第1の実施形態と同じ内容については、同一の図面及び図中の参照符号をもってその説明を省略する。
では、第2の実施形態に係る画像処理システムのシステム構成について、図24を用いて説明する。
図24は、本発明の第2の実施形態に係る画像処理システムにおけるシステム構成例(アクティベーションサーバ20cを用いた例)を示す図である。
図24に示すように、第2の実施形態に係る画像処理システムでは、拡張機能のプログラムをインストールする画像処理装置10と、画像処理装置10にインストールする拡張機能のプログラム管理機能を有するプログラム管理サーバ20bと、拡張機能のプログラム証明機能を有するアクティベーションサーバ20cとが、ネットワーク30により接続されている。画像処理装置10は、ネットワーク30を介して、プログラム管理サーバ20bが管理する拡張機能のプログラムをダウンロードすることができ、ダウンロードした拡張機能のプログラムをインストールし、機能拡張を行うことができる。また、画像処理装置10は、ネットワーク30を介して、アクティベーションサーバ20cが発行するプログラムの証明書を取得することができ、取得したプログラムの証明書を基に、インストールしたプログラムを実行することができる。
次に、図24において説明した画像処理システムにおけるプログラム管理サーバ20bが有する「プログラム管理機能」及びアクティベーションサーバ20cが有する「プログラム証明機能」を、どのような機能部により実現しているかについて、図25を用いて説明する。
図25は、本発明の第2の実施形態に係るプログラム管理サーバ20b及びアクティベーションサーバ20cにおける主要機能部の構成例を示しており、図25(a)が、プログラム管理サーバ20bの機能構成例を示すブロック図、図25(b)が、アクティベーションサーバ20cの機能構成例を示すブロック図である。
まず、プログラム管理サーバ20bにおける主要機能部について、図25(a)を用いて説明する。
図25(a)に示す主要機能部は、認証要求受取部71、認証部72、利用者証明書発行部73a、及びプログラム提供部74から構成されている。第1の実施形態に係る管理サーバ20における主要機能部(図6(b))と違いは、証明書発行部73が利用者証明書発行部73aという機能名に替わり利用契約者の証明書を発行する機能に限定されたことと、使用可能期限情報管理部75が機能構成に含まれていないことである。以下に、利用者証明書発行部73aについて説明する。
利用者証明書発行部73aは、利用者証明書発行手段731aを有し、利用契約者を識別する情報(例えば「公開鍵54」)と利用契約者の利用可能な拡張機能を示す情報(インストール可能なプログラムを示す情報を含む)とを暗号化した証明書を発行する。
画像処理装置10では、新規のプログラムをインストールする際に、プログラム管理サーバ20bから適正なプログラム(拡張機能)をインストールするため、インストール前にインストールを要求する利用契約者が正当な利用契約者か否かを判断するように、認証要求部63よって、利用契約者を識別する情報(例えば「公開鍵54」)をプログラム管理サーバ20bへ送信し、利用契約者の認証を要求する。
また、プログラム管理サーバ20bでは、管理者によって、登録された利用契約者が利用可能な拡張機能を示す情報(インストール可能なプログラムを示す情報を含む)が管理されている。
利用者証明書発行部73aは、画像処理装置10から受け取った利用契約者を識別する情報(例えば「公開鍵54」)と、利用契約者が利用可能な拡張機能を示す情報(インストール可能なプログラムを示す情報を含む)とを基に、利用者証明書発行手段731aによって暗号化し証明書を発行する。
利用者証明書発行部73aが有する利用者証明書発行手段731aは、利用契約者を識別する情報(例えば「公開鍵54」)と、利用契約者が利用可能な拡張機能を示す情報(インストール可能なプログラムを示す情報を含む)とを、保持する秘密鍵53によって暗号化する。
利用者証明書発行手段731aは、利用契約者が新規プログラムをインストールする時や利用契約者の利用可能な拡張機能(インストール可能なプログラムを含む)が変更になった時等、利用契約者の最新の証明書が必要な場合、画像処理装置10から利用契約者の認証要求とともに証明書の発行が要求され、認証された利用契約者に対してのみ利用契約者の証明書を発行し、発行した証明書を画像処理装置10へ送信する。
よって、利用者証明書発行部73aは、利用者証明書発行手段731aにより、利用契約者の最新の証明書が必要な場合、利用契約に従い管理された利用契約者の証明書を画像処理装置10へ提供することができる。
このように、プログラム管理サーバ20bは、認証要求受取部71、認証部72、利用者証明書発行部73a、及びプログラム提供部74の主要機能部により、画像処理装置10におけるプログラムのインストール及びインストールしたプログラムの動作を制御するために必要な認証及びデータ管理を行っている。
次に、アクティベーションサーバ20cにおける主要機能部について、図25(b)を用いて説明する。
図25(b)に示す主要機能部は、プログラム証明書発行部73b、使用可能期限情報管理部75、及び証明要求受取部76から構成されている。
プログラム証明書発行部73bは、プログラム証明書発行手段731bを有し、プログラム識別情報521と使用可能期限情報522を暗号化した証明書523を発行する。
画像処理装置10では、新規のプログラムをインストールする際に、プログラム管理サーバ20bからインストールするプログラム(拡張機能)を取得後、プログラム格納部61が認証要求部63を介して、プログラム識別情報521をアクティベーションサーバ20cへ送信し、取得したプログラムが正当なプログラムであることを証明する証明書を発行するように要求する。
また、アクティベーションサーバ20cでは、使用可能期限情報管理部75によって、証明書を発行した各プログラムに使用可能期限情報522が対応付けられており、これによって、各プログラムの使用可能期限が管理されている。
プログラム証明書発行部73bは、画像処理装置10から受け取ったプログラム識別情報521と使用可能期限情報522とを基に、プログラム証明書発行手段731bによって暗号化し証明書を発行する。また、プログラム証明書発行部73bは、利用契約者の利用形態に応じた証明書を発行する。利用契約者の利用形態には、例えば、プログラムを購入して利用する形態(以下、「購入」という。)や、プログラムをレンタル利用する形態(以下、「レンタル」という。)、またプログラムを試しに利用する形態(以下、「お試し利用」という。)などがある。
プログラム証明書発行部73bは、例えば、利用契約者の利用形態が「購入」の場合、プログラムの購入金額が支払われたことが確認された時点で、プログラムを永久利用可能な証明書を発行する。すなわち、購入したプログラムのプログラム識別情報521と、使用可能期限が無制限である使用可能期限情報522とを基に証明書を発行する。
また、プログラム証明書発行部73bは、例えば、利用契約者の利用形態が「レンタル」又は「お試し利用」の場合、プログラムをレンタル期間中又はお試し期間中利用可能な証明書を発行する。すなわち、レンタル契約又はお試し利用契約したプログラムのプログラム識別情報521と、使用可能期限がレンタル期間又はお試し期間である使用可能期限情報522とを基に証明書を発行する。
プログラム証明書発行部73bが有するプログラム証明書発行手段731bは、プログラム識別情報521と使用可能期限情報522とを、保持する秘密鍵53によって暗号化する。
プログラム証明書発行手段731bは、新規プログラムをインストールする時やプログラムの使用可能期限が変更になった時(利用契約者の利用形態が変更になった時)等、プログラムの最新の証明書が必要な場合、画像処理装置10からプログラムの証明書の発行が要求され、要求時に送信されたプログラム識別情報521と利用形態に応じた使用可能期限情報522とを基に、該当するプログラムの証明書の証明書を発行し、発行した証明書を画像処理装置10へ送信する。
よって、プログラム証明書発行部73bは、プログラム証明書発行手段731bにより、プログラムの最新の証明書が必要な場合、利用契約に従い管理されたプログラムの証明書を画像処理装置10へ提供することができる。
使用可能期限情報管理部75は、認証情報更新手段751を有し、画像処理装置10からの認証情報52の更新要求に応じて、プログラム管理サーバ20bが保持する認証情報52を更新する。
証明要求受取部76は、画像処理装置10からプログラムの証明書の発行を要求された際に送信されるプログラム識別情報521を受け取り、受け取った情報をプログラム証明書発行部73bへ渡し、プログラム発行部73bにより発行された証明書を要求先の画像処理装置10へ提供する。
このように、アクティベーションサーバ20cは、プログラム証明書発行部73b、使用可能期限情報管理部75、及び証明要求受取部76の主要機能部により、画像処理装置10にインストールされる又は画像処理装置10で起動されるプログラムの正当性や、利用契約者の利用形態に応じた使用可能期限管理を行っている。
次に、図26に示す画像処理システムにおけるプログラムをインストールするまでの流れ(処理手順)を一例に、図25を用いて説明を行ったプログラム管理サーバ20b及びアクティベーションサーバ20cと、画像処理装置10との関係性について説明する。
図26は、本発明の第2の実施形態に係るプログラムをインストールする流れを示すシーケンス図である。
まず、画像処理装置10が有するプログラム格納部61は、インストール指示を受け付けると(9−1)、認証要求部63に利用契約者の認証を要求する(9−2)。
次に、認証要求部63は、画像処理装置10が保持している公開鍵54をプログラム管理サーバ20bへ送信することで、プログラム管理サーバ20bへ利用契約者の認証を要求する(9―3)。
プログラム管理サーバ20bが有する認証要求受取部71は、受け取った公開鍵54を認証部72へ転送することで、利用契約者の認証を指示する(9―4)。
次に、認証部72は、利用契約者に対して、受け取った公開鍵54を基に認証を行い、認証結果に従って、認証判定がOKの場合、利用契約者の証明書の発行を利用者証明書発行部73aに指示し(9−5)、認証結果(認証判定OK)を認証要求受取部71に応答する(9−6)。その結果、認証要求受取部71は、画像処理装置10へ認証結果を送信する(9−7)。
次に、画像処理装置10が有する認証要求部63は、受け取った認証結果をプログラム格納部61に応答する(9−8)。
また、プログラム管理サーバ20bが有する利用者証明書発行部73aは、発行した利用契約者の証明書を画像処理装置10へ送信する(9−9)。
このように、画像処理装置10は、プログラム管理サーバ20bにおいて、正当な利用契約者であることを確認され、利用契約者に対応した証明書が発行される。
次に、画像処理装置10が有するプログラム格納部61は、受け取った利用契約者の証明書をプログラム管理サーバ20bへ送信することで、利用契約に対応するプログラムリストの提供を要求する(9−10)。
プログラム管理サーバ20bが有するプログラム提供部74は、受け取った利用契約者の証明書を基に、利用契約者が利用可能なプログラムを確認(利用契約者のプログラム利用権限を確認)し、利用契約に応じたプログラムリスト(利用可能なプログラムの一覧)を、画像処理装置10へ提供する(9−11)。
このように、画像処理装置10は、プログラム管理サーバ20bにおいて、利用可能なプログラムに関する情報を表すプログラムリストを取得する。
次に、画像処理装置10が有するプログラム格納部61は、受け取ったプログラムリストを基に選択指示された、画像処理装置10にインストールする(追加する拡張機能)プログラムの提供を、プログラム管理サーバ20bへ要求する(9−12)。
プログラム管理サーバ20bが有するプログラム提供部74は、要求されたプログラムを画像処理装置10へ提供する(9−13)。
このように、画像処理装置10は、プログラムリストを基に、インストールするプログラムをプログラム管理サーバ20から取得する。
次に、画像処理装置10が有するプログラム格納部61は、受け取ったプログラムの最新の証明書を発行するように、認証要求部63に要求する(9−14)。
認証要求部63は、受け取ったプログラムのプログラム識別情報521をアクティベーションサーバ20cへ送信することで、プログラムの証明書の発行を要求する(9−15)。
アクティベーションサーバ20cが有する証明要求受取部76は、プログラムの証明書の発行要求として受け取ったプログラム識別情報521を、プログラム証明書発行部73bへ転送し、プログラムの証明書の発行を指示する(9−16)。
プログラム証明書発行部73bは、プログラム識別情報521と利用契約に応じた使用可能期限情報522とを基に証明書を発行し、発行した証明書を証明要求受取部76へ渡す(9−17)。
証明要求受取部76は、発行されたプログラムの証明書を画像処理装置10へ送信する(9−18)。
画像処理装置10が有する認証要求部63は、受け取ったプログラムの証明書をプログラム格納部61に応答する(9−19)。
プログラム格納部61は、これまでにプログラム管理サーバ20b及びアクティベーションサーバ20cから受け取ったプログラム及びそのプログラムの証明書を、補助記憶部13の所定の記憶領域に格納する。
よって、画像処理システムでは、利用契約に基づいてプログラムをインストールすることができる。
以上のように、本発明の第2の実施形態によれば、まず、画像処理装置10から利用契約者情報がプログラム管理サーバ20bに送信される。その後、プログラム管理サーバ20bにおいて適正な利用契約者か否かが判断され、適正な利用契約者であると判断された場合、プログラム管理サーバ20bから画像処理装置10へ利用契約者の証明書とプログラムが提供され、更に、アクティベーションサーバ20cから画像処理装置10へプログラムの証明書が発行される。
画像処理装置10は、取得したプログラム及びそのプログラムの証明書を補助記憶部13の所定の記憶領域に格納し、格納したプログラムの証明書を基に、拡張機能プログラムを動作させる。
これによって、第2の実施形態では、適正なプログラムを効率よく管理することができ、更に「他の会社にプログラム開発を委託する」などのプログラムの開発環境の変化や「効率よくプログラム開発を行う」などのプログラムの開発効率に応じた管理サーバ20の仕様変更に柔軟に対応することができる。
[第3の実施形態]
第3の実施形態は、これまで画像処理装置が行っていた利用契約者の認証要求(以下、「利用認証要求機能」という。)やインストールプログラムの取得(以下、「プログラム取得機能」)などを、インストールプログラム作成用の情報処理装置(以下、「インストールプログラム作成用PC」という。)で行い、画像処理装置にインストールために必要な情報を、画像処理装置が読み取り可能な記憶メディア(例えば「メモリカード」等)に格納することにより、ネットワークに接続されていない画像処理装置(通信機器を備えていない画像処理装置を含む)に対して、利用契約に応じた適正なプログラムをインストール可能(適正な機能を拡張可能)な画像処理システムを提供するものである。
第1の実施形態及び第2の実施形態と第3の実施形態との違いは、第1の実施形態及び第2の実施形態では、プログラムをインストールして機能拡張する画像処理装置と管理サーバとがネットワークで接続されている構成であったのに対して、第3の実施形態では、画像処理装置の替わりに、インストールプログラム作成用PCと管理サーバとがネットワークで接続されている構成とし、利用認証要求機能やプログラム取得機能などを、インストールプログラム作成用の情報処理装置で実施する点である。
以降に行う第3の実施形態の説明では、第1の実施形態及び第2の実施形態と異なる点について、図27〜29を用いて説明する。そのため、第1の実施形態及び第2の実施形態と同じ内容については、同一の図面及び図中の参照符号をもってその説明を省略する。
では、第3の実施形態に係る画像処理システムのシステム構成について、図27を用いて説明する。
図27は、本発明の第3の実施形態に係る画像処理システムにおけるシステム構成例(インストールプログラム作成用PC40を用いた例)を示す図である。
図27に示すように、第3の実施形態に係る画像処理システムでは、画像処理装置10にインストールする拡張機能のプログラム管理機能を有するプログラム管理サーバ20bと、拡張機能のプログラム証明機能を有するアクティベーションサーバ20cと、利用認証要求機能やプログラム取得機能を有するインストールプログラム作成用PC40とが、ネットワーク30により接続されている。また、拡張機能のプログラムをインストールする画像処理装置10は、プログラム管理サーバ20b及びアクティベーションサーバ20cとネットワーク30と接続しない状態で利用する形態、すなわちスタンドアローンの状態となっている。
インストールプログラム作成用PC40は、ネットワーク30を介して、プログラム管理サーバ20bが管理する画像処理装置10にインストールするプログラムと、アクティベーションサーバ20cが発行するプログラムの証明書とを取得することができ、取得したプログラムを外部の記憶メディア50(例えば「メモリカード」等)に格納する。これによって、画像処理装置10は、外部の記憶メディア50(例えば「メモリカード」等)を介して、格納されたプログラムとそのプログラムの証明書を基にインストールを行い、ネットワーク30接続時と同様の機能拡張を実施することができる。
次に、図25において説明した画像処理システムにおける画像処理装置10が有する「プログラムインストール機能」や「プログラム動作生後機能」、及びインストールプログラム作成用PC40が有する「利用認証要求機能」や「プログラム取得機能」を、どのような機能部により実現しているかについて、図28を用いて説明する。
図28は、本発明の第3の実施形態に係る画像処理装置10及びインストールプログラム作成用PC40(情報処理装置)における主要機能部の構成例を示しており、図28(a)が、画像処理装置10の機能構成例を示すブロック図、図28(b)が、インストールプログラム作成用PC40の機能構成例を示すブロック図である。
図28(a)に示す画像処理装置10における主要機能部は、プログラム格納部61、プログラム動作管理部62、認証要求部63、及び認証部72から構成されている。
第1の実施形態及び第2の実施形態に係る画像処理装置10における主要機能部(図6(a))と違いは、プログラム格納部61がプログラムのインストール又はアンインストールを行う機能に限定されたことと、認証部72が機能構成に含まれていることである。
このように、画像処理装置10は、プログラム格納部61、プログラム動作管理部62、認証要求部63、及び認証部72の主要機能部により、画像処理装置10におけるプログラムのインストール又はアンインストール、またインストールされたプログラムの動作制御を行っている。
一方、図28(b)に示すインストールプログラム作成用PC40における主要機能部は、プログラム格納部61及び認証要求部63から構成されている。
プログラム格納部61は、画像処理装置10及びインストールプログラム作成用PC40のどちらの機能構成にも含まれているが、図28(a)及び(b)に示すように、プログラム格納部61により実施される機能は異なっている。
画像処理装置10が有するプログラム格納部61では、インストール手段616及びアンインストール手段617を有し、プログラム管理サーバ20bから取得したプログラムのインストール又はアンインストールを行うのに対して、インストールプログラム作成用PC40が有するプログラム格納部61では、認証情報更新要求手段611、証明書取得手段612、プログラム情報要求手段613、プログラム情報取得手段614、及びプログラム取得手段615を有し、インストールするプログラムやそのプログラムの証明書をプログラム管理サーバ20b及びアクティベーションサーバ20cから取得する。
また、認証要求部63も、画像処理装置10及びインストールプログラム作成用PC40のどちらの機能構成にも含まれているが、図28(a)及び(b)に示すように、プログラム格納部61により実施される機能は異なっている。
画像処理装置10が有する認証要求部63では、認証要求手段631のみを有し、インストールするプログラムに対し発行された証明書が適正か否かを判断するように、認証部72へ要求するのに対して、インストールプログラム作成用PC40が有する認証要求部63では、認証要求手段631及び利用契約者認証要求手段632を有し、利用契約者及び利用契約者に対し発行された証明書が適正か否かを判断するようにプログラム管理サーバ20bへ要求する。
このように、インストールプログラム作成用PC40は、プログラム格納部61及び認証要求部63の主要機能部により、画像処理装置10にインストールするプログラム及びインストールしたプログラムが正当なプログラムであることを証明する証明書の取得を行っている。
次に、図29に示す画像処理システムにおけるプログラムをインストールするまでの流れ(処理手順)を一例に、図28を用いて説明を行った画像処理装置10及びインストールプログラム作成用PC40と、プログラム管理サーバ20b、アクティベーションサーバ20cとの関係性について説明する。
図29は、本発明の第3の実施形態に係るプログラムをインストールする流れを示すシーケンス図である。
まず、インストールプログラム作成用PC40が有するプログラム格納部61は、インストール指示を受け付けると(10−1)、認証要求部63に利用契約者の認証を要求する(10−2)。
次に、認証要求部63は、インストールプログラム作成用PC40が保持している公開鍵54をプログラム管理サーバ20bへ送信することで、プログラム管理サーバ20bへ利用契約者の認証を要求する(10―3)。
プログラム管理サーバ20bが有する認証要求受取部71は、受け取った公開鍵54を認証部72へ転送することで、利用契約者の認証を指示する(10―4)。
次に、認証部72は、利用契約者に対して、取得した公開鍵54を基に認証を行い、認証結果に従って、認証判定がOKの場合、利用契約者の証明書の発行を利用者証明書発行部73aに指示し(10−5)、認証結果(認証判定OK)を認証要求受取部71に応答する(10−6)。その結果、認証要求受取部71は、インストールプログラム作成用PC40へ認証結果を送信する(10−7)。
次に、インストールプログラム作成用PC40が有する認証要求部63は、受け取った認証結果をプログラム格納部61に応答する(10−8)。
また、プログラム管理サーバ20bが有する利用者証明書発行部73aは、発行した利用契約者の証明書をインストールプログラム作成用PC40へ送信する(10−9)。
このように、インストールプログラム作成用PC40は、プログラム管理サーバ20bにおいて、正当な利用契約者であることを確認され、利用契約者に対応した証明書が発行される。
次に、インストールプログラム作成用PC40が有するプログラム格納部61は、受け取った利用契約者の証明書をプログラム管理サーバ20bへ送信することで、利用契約に対応するプログラムリストの提供を要求する(10−10)。
プログラム管理サーバ20bが有するプログラム提供部74は、受け取った利用契約者の証明書を基に、利用契約者が利用可能なプログラムを確認(利用契約者のプログラム利用権限を確認)し、利用契約に応じたプログラムリスト(利用可能なプログラムの一覧)を、インストールプログラム作成用PC40へ提供する(10−11)。
このように、インストールプログラム作成用PC40は、プログラム管理サーバ20bにおいて、利用可能なプログラムに関する情報を表すプログラムリストを取得する。
次に、インストールプログラム作成用PC40が有するプログラム格納部61は、受け取ったプログラムリストを基に選択指示された、画像処理装置10にインストールする(追加する拡張機能)プログラムの提供を、プログラム管理サーバ20bへ要求する(10−12)。
プログラム管理サーバ20bが有するプログラム提供部74は、要求されたプログラムをインストールプログラム作成用PC40へ提供する(10−13)。
このように、インストールプログラム作成用PC40は、プログラムリストを基に、インストールするプログラムをプログラム管理サーバ20から取得する。
次に、インストールプログラム作成用PC40が有するプログラム格納部61は、受け取ったプログラムの最新の証明書を発行するように、認証要求部63に要求する(10−14)。
認証要求部63は、受け取ったプログラムのプログラム識別情報521をアクティベーションサーバ20cへ送信することで、プログラムの証明書の発行を要求する(10−15)。
アクティベーションサーバ20cが有する証明要求受取部76は、プログラムの証明書の発行要求として受け取ったプログラム識別情報521を、プログラム証明書発行部73bへ転送し、プログラムの証明書の発行を指示する(10−16)。
プログラム証明書発行部73bは、プログラム識別情報521と利用契約に応じた使用可能期限情報522とを基に証明書を発行し、発行した証明書を証明要求受取部76へ渡す(10−17)。
証明要求受取部76は、発行されたプログラムの証明書を画像処理装置10へ送信する(10−18)。
画像処理装置10が有する認証要求部63は、プログラム格納部61に受け取ったプログラムの証明書を応答する(10−19)。
プログラム格納部61は、これまでにプログラム管理サーバ20b及びアクティベーションサーバ20cから受け取ったプログラム及びそのプログラムの証明書を、例えば、図2(b)に示すような外部記憶装置I/F15を介して外部の記憶メディア50(例えば「メモリカード」等)の所定の記憶領域に格納する。
次に、インストールするプログラム及びそのプログラムの証明書が格納された外部の記憶メディア50(例えば「メモリカード」等)を、例えば、図2(a)に示すような外部記憶装置I/F15を介して、画像処理装置10に接続し読み取り可能な状態にする。
画像処理装置10が有するプログラム格納部61は、インストール指示を受け付けると(10−20)、外部の記憶メディア50(例えば「メモリカード」等)から取得したプログラムの証明書を認証要求部63に渡すことで、インストールするプログラムの認証を要求する(10−21)。
認証要求部63は、受け取ったプログラムの証明書を認証部72に転送する(10−22)。
認証部72は、インストールするプログラムに対して、受け取った公開鍵54を基に認証を行い、認証結果に従って、認証判定がOKの場合、認証結果(認証判定OK)を認証要求受取部71に応答する(10−23)。その結果、認証要求受取部71は、プログラム格納部61へ認証結果を応答する(10−24)。
プログラム格納部61は、外部の記憶メディア(例えな、メモリカードなど。)から取得したプログラム及びそのプログラムの証明書を、補助記憶部13の所定の記憶領域に格納する。
よって、画像処理システムでは、スタンドアローンの状態となっている画像処理装置10においても、利用契約に基づいてプログラムをインストールすることができる。
以上のように、本発明の第3の実施形態によれば、まず、インストールプログラム作成用PC40から利用契約者情報がプログラム管理サーバ20bに送信される。その後、プログラム管理サーバ20bにおいて適正な利用契約者か否かが判断され、適正な利用契約者であると判断された場合、プログラム管理サーバ20bからインストールプログラム作成用PC40へ利用契約者の証明書とプログラムが提供され、更に、アクティベーションサーバ20cからインストールプログラム作成用PC40へプログラムの証明書が発行される。
その結果、インストールプログラム作成用PC40は、取得したプログラム及びそのプログラムの証明書を外部の記憶メディア50(例えば「メモリカード」等)に格納する。
これによって、第3の実施形態では、スタンドアローンの状態となっている画像処理装置10に対しても、適正なプログラムをインストールすることができ、拡張機能プログラムを効率よく管理することができる。
上記第1の実施形態から第3の実施形態に基づき本発明の説明を行ってきたが、上記各実施形態に挙げた公開鍵暗号方式は、暗号化方式に一例であって、この要件に、本発明が限定されるものではない。
例えば、公開鍵暗号方式の代わりに、DES(Data Encryption Standard)に代表される秘密鍵暗号方式を用いても良い。但し、本発明において暗号化する際に、公開鍵暗号方式を採用した理由として、公開鍵暗号方式は、秘密鍵53で暗号化されたデータは対応する公開鍵でしか復号できず、公開鍵54で暗号化されたデータは対応する秘密鍵53でしか復号できないため、暗号化と復号化を同じ鍵で行う秘密鍵暗号方式に比べ、鍵を安全な経路で輸送する必要がなく、鍵の管理が容易で安全性が高いためである。
そのため、秘密鍵暗号方式を採用する場合は、予め安全な経路を使って秘密鍵53を画像処理装置10と管理サーバ20とで共有する必要がある点に注意しなければならない。
また、上記実施形態に挙げた利用契約者認証時に管理サーバ20へ送信される公開鍵54は、利用契約者を識別する情報の一例であって、この要件に、本発明が限定されるものではない。
例えば、利用契約者IDとパスワードでも良く、利用契約者を特定可能な情報であれば良い。
また、上記各実施形態に挙げたプログラム識別情報521と使用可能期限情報522のデータ形式は、その一例であって、この要件に、本発明が限定されるものではない。
プログラム識別情報521と使用可能期限情報522を構成する各項目情報を表すことのできるデータ形式であれば良い。
最後に、上記各実施形態に挙げた形状に、その他の要素との組み合わせ等、ここで示した要件に、本発明が限定されるものではない。これらの点に関しては、本発明の主旨をそこなわない範囲で変更することが可能であり、その応用形態に応じて適切に定めることができる。