(57)【特許請求の範囲】
【請求項１】
プログラム又は当該プログラムに付加する電子署名を生成するための特徴情報と、前記電子署名のレベルを第２装置へ送信する第１送信手段と、
前記第１送信手段から送信された前記特徴情報又は前記プログラムと、前記レベルへの応答として前記第２装置から送信される電子署名又はプログラムを受信する第１受信手段と、
前記第１受信手段が受信した電子署名を前記プログラムに付加する第１付加手段と
を有する第１装置と、
前記第１送信手段から送信された特徴情報又はプログラムと、前記レベルを受信する第２受信手段と、
前記第２受信手段が受信した前記特徴情報又は前記プログラムと、前記レベルから電子署名を生成する生成手段と、
前記生成手段が前記プログラムと前記レベルとから前記電子署名を生成した場合、当該電子署名を当該プログラムに付加する第２付加手段と、
前記特徴情報と前記レベルとから前記電子署名が生成された場合、当該電子署名を前記第１装置へ送信し、前記プログラムと前記レベルとから前記電子署名が生成された場合、前記第２付加手段で当該電子署名が付加された前記プログラムを前記第１装置へ送信する第２送信手段と
を有する前記第２装置と
を備える情報処理システム。
【請求項２】
前記生成手段は、前記第２受信手段が前記プログラムを受信した場合、前記レベルに対応して当該プログラムに対して予め定められた処理を実行する
請求項１に記載の情報処理システム。
【請求項３】
前記処理は、前記プログラムを検証する処理を含む
請求項２に記載の情報処理システム。
【請求項４】
前記レベルが予め定められたレベルである場合、前記処理は、さらに前記プログラムの動作を評価する処理を含む
請求項３に記載の情報処理システム。
【請求項５】
前記プログラムの作成者の信頼性が予め設定されており、前記レベルは、前記信頼性により設定される
請求項１から請求項４のいずれか一項に記載の情報処理システム。
【請求項６】
前記レベルは、前記プログラムがインストールされる装置において前記プログラムが使用する機能のうち、当該装置のセキュリティに影響を及ぼす機能の使用の有無により設定される
請求項１から請求項４のいずれか一項に記載の情報処理システム。
【請求項７】
前記生成手段は、前記第２受信手段が前記プログラムを受信し、当該プログラムを識別するための情報が記憶されている場合、当該プログラムの変更の有無により前記レベルを変更する
請求項１から請求項４のいずれか一項に記載の情報処理システム。
【請求項８】
前記電子署名が付加されたプログラムがインストールされる装置は、当該電子署名のレベルに対応して予め定められているタイミングで当該電子署名を検証する
請求項１から請求項７のいずれか一項に記載の情報処理システム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、情報処理システムに関する。
【背景技術】
【０００２】
複合機にアプリをインストールする発明として、例えば特許文献１に開示されている情報処理システムがある。この情報処理システムにおいては、複合機は、プログラムのインストール用ファイルに含まれる電子署名の種類毎に、インストールの可否を表す情報と、プログラムの機能とを対応付けて署名情報テーブルに記憶している。複合機は、プログラムをインストールする際には、インストール用ファイルに含まれている電子署名の種類がインストール可能なものであるか署名情報テーブルを参照して確認する。複合機は、インストール用ファイルに含まれている電子署名がインストール可能なものである場合には、インストール用ファイルに含まれているプログラムをインストールする。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開２０１４−１７９０３４号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
ところで、複合機等の装置にプログラムを追加する場合、例えば、装置の提供者以外の外部のソフトウェア会社等からプログラムが提供され、そのプログラムについて装置の提供者が電子署名を行うことがある。
【０００５】
本発明は、上述した背景の下になされたものであり、常にソースコードの解析が可能な形で外部からプログラムの提供を受け、そのプログラムに対して電子署名をする場合と比較して、当該プログラムに関する情報が漏えいする可能性を低減することを目的とする。
【課題を解決するための手段】
【０００７】
本発明の請求項１に係る情報処理システムは、プログラム又は当該プログラムに付加する電子署名を生成するための特徴情報と、前記電子署名のレベルを第２装置へ送信する第１送信手段と、前記第１送信手段から送信された前記特徴情報又は前記プログラムと、前記レベルへの応答として前記第２装置から送信される電子署名又はプログラムを受信する第１受信手段と、前記第１受信手段が受信した電子署名を前記プログラムに付加する第１付加手段とを有する第１装置と、前記第１送信手段から送信された特徴情報又はプログラムと、前記レベルを受信する第２受信手段と、前記第２受信手段が受信した前記特徴情報又は前記プログラムと、前記レベルから電子署名を生成する生成手段と、前記生成手段が前記プログラムと前記レベルとから前記電子署名を生成した場合、当該電子署名を当該プログラムに付加する第２付加手段と、前記特徴情報と前記レベルとから前記電子署名が生成された場合、当該電子署名を前記第１装置へ送信し、前記プログラムと前記レベルとから前記電子署名が生成された場合、前記第２付加手段で当該電子署名が付加された前記プログラムを前記第１装置へ送信する第２送信手段とを有する前記第２装置とを備える。
【０００８】
本発明の請求項２に係る情報処理システムにおいては、前記生成手段は、前記第２受信手段が前記プログラムを受信した場合、前記レベルに対応して当該プログラムに対して予め定められた処理を実行する。
【０００９】
本発明の請求項３に係る情報処理システムにおいては、前記処理は、前記プログラムを検証する処理を含む。
【００１０】
本発明の請求項４に係る情報処理システムにおいては、前記レベルが予め定められたレベルである場合、前記処理は、さらに前記プログラムの動作を評価する処理を含む。
【００１１】
本発明の請求項５に係る情報処理システムにおいては、前記プログラムの作成者の信頼性が予め設定されており、前記レベルは、前記信頼性により設定される。
【００１２】
本発明の請求項６に係る情報処理システムにおいては、前記レベルは、前記プログラムがインストールされる装置において前記プログラムが使用する機能のうち、当該装置のセキュリティに影響を及ぼす機能の使用の有無により設定される。
【００１３】
本発明の請求項７に係る情報処理システムにおいては、前記生成手段は、前記第２受信手段が前記プログラムを受信し、当該プログラムを識別するための情報が記憶されている場合、当該プログラムの変更の有無により前記レベルを設定する。
【００１４】
本発明の請求項８に係る情報処理システムにおいては、前記電子署名が付加されたプログラムがインストールされる装置は、当該電子署名のレベルに対応して予め定められているタイミングで当該電子署名を検証する。
【発明の効果】
【００１５】
請求項１に係る情報処理システムによれば、レベルに応じた電子署名を生成してプログラムに付加することができる。
請求項２に係る情報処理システムによれば、電子署名が付加されるプログラムに対して、電子署名のレベルに応じた処理を実行し、プログラムを検証することができる。
請求項３に係る情報処理システムによれば、電子署名が付加されるプログラムに対して、電子署名のレベルによって、プログラムを検証するタイミングを異ならせることができる。
請求項４に係る情報処理システムによれば、電子署名が付加されるプログラムに対して、電子署名のレベルに応じた処理を実行し、プログラムの動作を検証することができる。
請求項５に係る情報処理システムによれば、予め設定されている前記プログラムの作成者の信頼性に応じて自動的に電子署名のレベルを設定することができる。
請求項６に係る情報処理システムによれば、プログラムがインストールされる装置においてプログラムが使用する機能のうち、セキュリティに影響を及ぼす機能に応じて、自動的に電子署名のレベルを設定することができる。
請求項７に係る情報処理システムによれば、電子署名を生成する側で電子署名のレベルを設定することができる。
請求項８に係る情報処理システムによれば、プログラムがインストールされる装置は、電子署名のレベルに応じたタイミングで電子署名を検証することができる。
【図面の簡単な説明】
【００１６】
【図１】本発明の一実施形態に係る情報処理システム１に含まれる装置を示した図。
【図２】要求装置１０のハードウェア構成を示した図。
【図３】要求装置１０の機能ブロック図。
【図４】管理装置２０のハードウェア構成を示した図。
【図５】署名管理テーブルＴＢ１の一例を示した図。
【図６】管理装置２０の機能ブロック図。
【図７】要求装置１０が表示する画面の一例を示した図。
【図８】制御部１０１が行う処理の流れを示したフローチャート。
【図９】制御部２０１が行う処理の流れを示したフローチャート。
【図１０】レベル１の電子署名をプラグインに付加する場合のシーケンス図。
【図１１】レベル２の電子署名をプラグインに付加する場合のシーケンス図。
【図１２】レベル３の電子署名をプラグインに付加する場合のシーケンス図。
【図１３】画像形成装置３０が表示する画面の一例を示した図。
【図１４】画像形成装置３０が行う処理の流れを示したフローチャート。
【図１５】変形例に係る制御部１０１が行う処理の流れを示したフローチャート。
【図１６】変形例に係る制御部２０１が行う処理の流れを示したフローチャート。
【図１７】変形例に係る制御部２０１が行う処理の流れを示したフローチャート。
【発明を実施するための形態】
【００１７】
［実施形態］
（全体構成）
図１は、本発明の実施形態に係る情報処理システム１に含まれる装置を示した図である。通信回線２は、インターネットや公衆回線網を含む通信網である。本発明に係る第１装置の一例である要求装置１０は、コンピュータ装置であり、後述する第２ベンダーが製造及び販売する装置にインストールされるプログラムの一例であるプラグインを開発及び販売する企業（第１ベンダー）に設置されている。要求装置１０は、通信回線２に接続されており、通信回線２を介して通信を行う。本実施形態に係る要求装置１０は、据え置き型のコンピュータ装置であるが、データ通信を行うコンピュータ装置であれば、例えばラップトップ型などの他のコンピュータ装置であってもよい。
【００１８】
本発明に係る第２装置の一例である管理装置２０は、上記のプラグインに付加される電子署名を生成する装置である。管理装置２０は、上記のプラグインをインストール可能な装置を製造及び販売する企業（第２ベンダー）に設置されている。本実施形態においては、プラグインをインストール可能な装置は、複写機能やファクシミリ機能などを備えた画像形成装置３０であるが、プラグインをインストールすることにより機能が拡張される装置であれば他の装置であってもよい。管理装置２０は、通信回線２に接続されており、通信回線２を介して要求装置１０と通信を行う。
【００１９】
（要求装置１０の構成）
図２は、要求装置１０のハードウェア構成の一例を示した図である。表示部１０３は、ディスプレイ装置を備えている。表示部１０３は、要求装置１０を操作するための各種画面などを表示する。操作部１０４は、キーボードやマウスなど、要求装置１０を操作するための入力装置を有している。通信部１０５は、通信回線２を介した通信を行う通信インターフェースの機能を備えている。
【００２０】
記憶部１０２は、データを永続的に記憶する装置（例えばハードディスク装置）を有しており、オペレーティングシステムのプログラムやアプリケーションプログラム、第１ベンダーが開発したプラグインなどを記憶している。本実施形態においては、記憶部１０２は、管理装置２０と通信を行う機能や、プラグインに電子署名を付加する機能を実現するアプリケーションプログラム（以下、署名付加アプリと称する）を記憶している。制御部１０１は、ＣＰＵ（Central Processing Unit）やＲＡＭ（Random Access Memory）を備えており、ＣＰＵは、記憶部１０２に記憶されているオペレーティングシステムのプログラムやアプリケーションプログラムを実行する。
【００２１】
（要求装置１０の機能構成）
図３は、署名付加アプリを実行することにより実現する機能のうち、本発明に係る機能の構成を示した機能ブロック図である。生成部１００１は、記憶部１０２に記憶されているプラグインのハッシュ値をハッシュ関数により生成する。ハッシュ値は、本発明に係る特徴情報の一例である。送受信部１００２は、管理装置２０に対して情報を送信する。送受信部１００２が管理装置２０へ送信する情報としては、生成部１００１が生成したハッシュ値、記憶部１０２に記憶されているプラグイン、プラグインに付加する電子署名のレベルを表すレベル情報、評価スクリプトによるプラグインの評価結果などがある。また、送受信部１００２は、管理装置２０から送信される情報を受信する。送受信部１００２が管理装置２０から受信する情報としては、電子署名や、電子署名が付加されたプラグインなどがある。送受信部１００２は、本発明に係る第１送信手段及び第１受信手段の一例である。付加部１００３は、送受信部１００２が受信した電子署名を、記憶部１０２に記憶されているプラグインに付加する。付加部１００３は、本発明に係る第１付加手段の一例である。コントロール部１００４は、上述の各部を制御する。
【００２２】
（管理装置２０の構成）
図４は、管理装置２０のハードウェア構成の一例を示したブロック図である。通信部２０５は、通信回線２を介した通信を行うための通信インターフェースとして機能する。記憶部２０２は、データを永続的に記憶する装置（例えばハードディスク装置）を有しており、オペレーティングシステムのプログラムやアプリケーションプログラムを記憶している。本実施形態においては、記憶部２０２は、電子署名を生成するアプリケーションプログラムを記憶している。また、記憶部２０２は、開発者番号と、署名管理テーブルＴＢ１を記憶している。開発者番号は、第２ベンダーが第１ベンダーに割り当てた一意的な番号である。
【００２３】
署名管理テーブルＴＢ１は、生成した電子署名に関する情報をログとして格納するテーブルである。図５は、署名管理テーブルＴＢ１の一例を示した図であり、図に示したように、署名管理テーブルＴＢ１は、開発者番号フィールド、プラグイン識別子フィールド、ハッシュ値フィールド、レベル情報フィールドを有している。開発者番号フィールドは、管理装置２０が生成した電子署名が付加されるプラグインを開発した第１ベンダーに割り当てられた開発者番号を格納する。プラグイン識別子フィールドは、管理装置２０が生成した電子署名が付加されるプラグインを一意的に識別するプラグイン識別子が格納される。ハッシュ値フィールドは、管理装置２０が生成した電子署名が付加されるプラグインのハッシュ値が格納される。レベル情報フィールドは電子署名のレベルを表すレベル情報が格納される。本実施形態においては、電子署名のレベルとは、プラグインについて第２ベンダーが保証する内容を表す。例えば、レベル情報がレベル１の場合、プラグインの開発企業として第２ベンダーが認めたことを保証する。また、レベル情報がレベル２の場合、レベル１に加えて不正な動作を行わないプラグインであることを保証し、レベル情報がレベル３の場合、レベル２に加えて第２ベンダーの品質基準を満たしているプラグインであることを保証する。
【００２４】
制御部２０１は、ＣＰＵやＲＡＭを有しており、記憶部２０２に記憶されているオペレーティングシステムのプログラムやアプリケーションプログラムを実行する。
【００２５】
（管理装置２０の機能構成）
図６は、管理装置２０において実現する機能のうち、本発明に係る機能の構成を示した機能ブロック図である。送受信部２００１は、要求装置１０から送信される各種情報を受信し、要求装置１０へ各種情報を送信する。送受信部２００１は、本発明に係る第２送信手段及び第２受信手段の一例である。生成部２００２は、送受信部２００１が受信したプラグインのハッシュ値をハッシュ関数により生成する。署名作成部２００３は、送受信部２００１が受信したプラグインの電子署名を作成する。署名作成部２００３は、本発明に係る生成手段の一例である。付加部２００４は、送受信部２００１が受信したプラグインに対して署名作成部２００３が作成した電子署名を付加する。付加部２００４は、本発明に係る第２付加手段の一例である。署名管理部２００５は、署名作成部２００３が作成した電子署名に関する情報をログとして署名管理テーブルＴＢ１に格納する。署名管理部２００５は、本発明に係る記憶制御手段の一例である。開発者管理部２００６は、送受信部２００１が要求装置１０から受信した開発者番号が記憶部２０２に記憶されている場合、要求装置１０に対して管理装置２０の利用を許可する。
【００２６】
（実施形態の動作例）
次に本実施形態の動作例について、まずレベル１の電子署名をプラグインに付加する場合の動作例について説明する。図７は、署名付加アプリを実行した要求装置１０の表示部１０３に表示される画面の一例を示した図である。また、図８は、制御部１０１が行う処理の流れを示したフローチャート、図９は、制御部２０１が行う処理の流れを示したフローチャート、図１０は、レベル１の電子署名をプラグインに付加する場合のシーケンス図である。
【００２７】
要求装置１０の操作者は、開発したプラグインに対してレベル１の電子署名を付加する場合、図７の画面においてレベル１のラジオボタンＲＢ１を選択し、開発者番号をテキストボックスＴＸ１に入力する。また、レベル１の電子署名を付加するプラグインをテキストボックスＴＸ２で指定する。この後、操作者が送信ボタンＢ３をクリックする操作を行うと、まず、コントロール部１００４は、テキストボックスＴＸ１に入力された開発者番号を送受信部１００２へ送る（ステップＳＡ１）。送受信部１００２は、コントロール部１００４から送られた開発者番号を管理装置２０へ送信する（ステップＳ１、ステップＳＡ２）。
【００２８】
管理装置２０の送受信部２００１は、要求装置１０が送信した開発者番号を受信し（ステップＳ２０）、受信した開発者番号を開発者管理部２００６へ送る（ステップＳＡ３）。開発者管理部２００６は、送受信部２００１から送られた開発者番号が記憶部２０２に記憶されているか確認する（ステップＳ２１、ステップＳＡ４）。ここで開発者管理部２００６は、送受信部２００１から送られた開発者番号が記憶部２０２に記憶されている場合（ステップＳ２１でＹＥＳ）、管理装置２０の利用を許可する通知を送受信部２００１へ送る（ステップＳＡ５）。送受信部２００１は、開発者管理部２００６から送られた通知を要求装置１０へ送信する（ステップＳ２２、ステップＳＡ６）。
【００２９】
送受信部１００２は、送受信部２００１から送られた通知を受信し、受信した通知をコントロール部１００４へ送る（ステップＳＡ７）。コントロール部１００４は、送受信部１００２から送られた通知が、管理装置２０の利用を許可する通知である場合（ステップＳ２でＹＥＳ）、図７の画面で指定された電子署名のレベルを判定する（ステップＳ３）。
【００３０】
コントロール部１００４は、図７の画面において、ラジオボタンＲＢ１が選択されていた場合（ステップＳ３でレベル１）、テキストボックスＴＸ２で指定されたプラグインを生成部１００１へ送る（ステップＳＡ８）。生成部１００１は、生成部１００１から送られたプラグインからハッシュ値を生成し（ステップＳ４、ステップＳＡ９）、生成したハッシュ値をコントロール部１００４へ送る（ステップＳＡ１０）。コントロール部１００４は、生成部１００１から送られたハッシュ値、ラジオボタンＲＢ１で指定された電子署名のレベル（レベル１）を表すレベル情報、プラグインを一意的に識別するプラグイン識別子を送受信部１００２へ送る（ステップＳＡ１１）。送受信部１００２は、コントロール部１００４から送られたハッシュ値、レベル情報及びプラグイン識別子を管理装置２０へ送信する（ステップＳ５、ステップＳＡ１２）。
【００３１】
送受信部２００１は、要求装置１０が送信したハッシュ値、レベル情報及びプラグイン識別子を受信し（ステップＳ２３）、受信したレベル情報を判定する（ステップＳ２４）。送受信部２００１は、受信したレベル情報がレベル１を表す場合、受信したハッシュ値、レベル情報、プラグイン識別子を署名作成部２００３へ送る（ステップＳＡ１３）。署名作成部２００３は、送受信部２００１から送られたレベル情報がレベル１を表す場合（ステップＳ２４でレベル１）、送受信部２００１から送られたハッシュ値とレベル情報とを署名生成鍵（秘密鍵）で暗号化してレベル１の電子署名を生成する（ステップＳ２５、ステップＳＡ１４）。
【００３２】
次に署名作成部２００３は、ステップＳＡ２で送受信部２００１が受信した開発者番号、送受信部２００１から送られたプラグイン識別子、ハッシュ値及びレベル情報を署名管理部２００５へ送る（ステップＳＡ１５）。署名管理部２００５は、署名作成部２００３から送られた開発者番号、プラグイン識別子、ハッシュ値及びレベル情報を対応付けてログとして記憶部２０２の署名管理テーブルＴＢ１に記録する（ステップＳ２６、ステップＳＡ１６）。また、署名作成部２００３は、生成した電子署名を送受信部２００１へ送る（ステップＳＡ１７）。送受信部２００１は、署名作成部２００３から送られた電子署名を要求装置１０へ送信する（ステップＳ２７、ステップＳＡ１８）。
【００３３】
送受信部１００２は、送受信部２００１から送られた電子署名を受信し（ステップＳ６）、受信した電子署名をコントロール部１００４へ送る（ステップＳＡ１９）。コントロール部１００４は、送受信部１００２から送られた電子署名を付加部１００３へ送る（ステップＳＡ２０）。付加部１００３は、コントロール部１００４から送られた電子署名を、テキストボックスＴＸ２で指定されたプラグインに付加する（ステップＳ７、ステップＳＡ２１）。付加部１００３は、電子署名が付加されたプラグインを生成すると、電子署名が付加されたプラグインの生成が終了したことをコントロール部１００４へ通知する（ステップＳＡ２２）。コントロール部１００４は、付加部１００３から送られた通知を受け取ると、電子署名が付加されたプラグインの生成が終了したことを表示部１０３で報知する（ステップＳ８、ステップＳＡ２３）。
【００３４】
次に、プラグインに対してレベル２の電子署名を付加する場合の動作例について説明する。図１１は、レベル２の電子署名をプラグインに付加する場合のシーケンス図である。
【００３５】
要求装置１０の操作者は、開発したプラグインについてレベル２の電子署名を付加する場合、図７の画面においてレベル２のラジオボタンＲＢ２を選択し、開発者番号をテキストボックスＴＸ１に入力する。また、レベル２の電子署名を付加するプラグインをテキストボックスＴＸ２で指定する。この後、操作者が送信ボタンＢ３をクリックする操作を行うと、まず、コントロール部１００４は、テキストボックスＴＸ１に入力された開発者番号を送受信部１００２へ送る（ステップＳＢ１）。送受信部１００２は、コントロール部１００４か送られた開発者番号を管理装置２０へ送信する（ステップＳ１、ステップＳＢ２）。
【００３６】
管理装置２０の送受信部２００１は、要求装置１０が送信した開発者番号を受信し（ステップＳ２０）、受信した開発者番号を開発者管理部２００６へ送る（ステップＳＢ３）。開発者管理部２００６は、送受信部２００１から送られた開発者番号が記憶部２０２に記憶されているか確認する（ステップＳ２１、ステップＳＢ４）。ここで開発者管理部２００６は、送受信部２００１から送られた開発者番号が記憶部２０２に記憶されている場合（ステップＳ２１でＹＥＳ）、管理装置２０の利用を許可する通知を送受信部２００１へ送る（ステップＳＢ５）。送受信部２００１は、開発者管理部２００６から送られた通知を要求装置１０へ送信する（ステップＳ２２、ステップＳＢ６）。
【００３７】
送受信部１００２は、送受信部２００１から送られた通知を受信し、受信した通知をコントロール部１００４へ送る（ステップＳＢ７）。コントロール部１００４は、送受信部１００２から送られた通知が、管理装置２０の利用を許可する通知である場合（ステップＳ２でＹＥＳ）、図７の画面で指定された電子署名のレベルを判断する（ステップＳ３）。
【００３８】
コントロール部１００４は、図７の画面において、ラジオボタンＲＢ２が選択されていた場合（ステップＳ３でレベル２）、テキストボックスＴＸ２で指定されたプラグイン、ラジオボタンＲＢ２で指定された電子署名のレベル（レベル２）を表すレベル情報、プラグインを一意的に識別するプラグイン識別子を送受信部１００２へ送る（ステップＳＢ８）。送受信部１００２は、コントロール部１００４から送られたプラグイン、レベル情報及びプラグイン識別子を管理装置２０へ送信する（ステップＳ９、ステップＳＢ９）。
【００３９】
送受信部２００１は、要求装置１０が送信したプラグイン、レベル情報及びプラグイン識別子を受信し（ステップＳ２３）、受信したレベル情報を判定する（ステップＳ２４）。送受信部２００１は、受信したレベル情報がレベル２を表す場合（ステップＳ２４でレベル２）、受信したプラグイン、レベル情報及びプラグイン識別子を署名作成部２００３へ送る（ステップＳＢ１０）。
【００４０】
署名作成部２００３は、送られたレベル情報がレベル２を表す場合（ステップＳ２４でレベル２）、送受信部２００１から送られたプラグインを検証する（ステップＳ２８、ステップＳＢ１１）。具体的には、署名作成部２００３は、受信したプラグインが第２ベンダーの定めた条件を満たすものであるかプラグインを解析して検証する処理を実行する。例えば、第２ベンダーは、プラグインをインストールした画像形成装置３０が、画像形成装置３０に記憶されている情報を通信により外部へ送信する動作や、画像形成装置３０の設定を変更する動作などを行わないことを条件とし、署名作成部２００３は、プラグインがこれらの動作を行うか解析する。
【００４１】
署名作成部２００３は、検証の結果、プラグインが定められた条件を満たす場合（ステップＳ２９でＹＥＳ）、プラグインを生成部２００２へ送る（ステップＳＢ１２）。生成部２００２は、署名作成部２００３から送られたプラグインのハッシュ値を生成し（ステップＳ３０、ステップＳＢ１３）、生成したハッシュ値を署名作成部２００３へ送る（ステップＳＢ１４）。署名作成部２００３は、送受信部２００１から送られたレベル情報がレベル２を表す場合、このレベル情報と、生成部２００２から送られたハッシュ値とを署名生成鍵（秘密鍵）で暗号化して電子署名を生成する（ステップＳ３１、ステップＳＢ１５）。
【００４２】
次に署名作成部２００３は、ステップＳＢ２で送受信部２００１が受信した開発者番号、送受信部２００１から送られたプラグイン識別子、生成部２００２から送られたハッシュ値及び送受信部２００１から送られたレベル情報を署名管理部２００５へ送る（ステップＳＢ１６）。署名管理部２００５は、署名作成部２００３から送られた開発者番号、プラグイン識別子、ハッシュ値及びレベル情報を対応付けてログとして記憶部２０２の署名管理テーブルＴＢ１に記録する（ステップＳ３２、ステップＳＢ１７）。
【００４３】
次に署名作成部２００３は、送受信部２００１から送られたレベル情報がレベル２を表す場合、送受信部２００１から送られたプラグインと、生成した電子署名を付加部２００４へ送る（ステップＳＢ１８）。付加部２００４は、署名作成部２００３から送られたプラグインと電子署名を受け取ると、受け取った電子署名を受け取ったプラグインに付加する（ステップＳ３３、ステップＳＢ１９）。次に付加部２００４は、電子署名が付加されたプラグインを送受信部２００１へ送る（ステップＳＢ２０）。送受信部２００１は、付加部２００４から送られたプラグインを要求装置１０へ送信する（ステップＳ３４、ステップＳＢ２１）。
【００４４】
送受信部１００２は、送受信部２００１から送られたプラグインを受信し、受信したプラグインをコントロール部１００４へ送る（ステップＳＢ２２）。コントロール部１００４は、電子署名が付加されたプラグインを送受信部１００２が受信した場合（ステップＳ１０でＹＥＳ）、送受信部１００２から送られたプラグインを記憶部１０２に記憶させ（ステップＳ１１、ステップＳＢ２３）、電子署名が付加されたプラグインの生成が終了したことを表示部１０３で報知する（ステップＳ８、ステップＳＢ２４）。
【００４５】
次に、プラグインに対してレベル３の電子署名を付加する場合の動作例について説明する。図１２は、レベル３の電子署名をプラグインに付加する場合のシーケンス図である。
【００４６】
要求装置１０の操作者は、開発したプラグインについてレベル３の電子署名を付加する場合、図７の画面においてレベル３のラジオボタンＲＢ３を選択し、開発者番号をテキストボックスＴＸ１に入力する。また、レベル３の電子署名を付加するプラグインをテキストボックスＴＸ２で指定し、第２ベンダーから提供された評価スクリプトによるプラグインの評価結果をテキストボックスＴＸ３で指定する。この後、操作者が送信ボタンＢ３をクリックする操作を行うと、まず、コントロール部１００４は、テキストボックスＴＸ１に入力された開発者番号を送受信部１００２へ送る（ステップＳＣ１）。送受信部１００２は、コントロール部１００４か送られた開発者番号を管理装置２０へ送信する（ステップＳ１、ステップＳＣ２）。
【００４７】
管理装置２０の送受信部２００１は、要求装置１０が送信した開発者番号を受信し（ステップＳ２０）、受信した開発者番号を開発者管理部２００６へ送る（ステップＳＣ３）。開発者管理部２００６は、送受信部２００１から送られた開発者番号が記憶部２０２に記憶されているか確認する（ステップＳ２１、ステップＳＣ４）。ここで開発者管理部２００６は、送受信部２００１から送られた開発者番号が記憶部２０２に記憶されている場合（ステップＳ２１でＹＥＳ）、管理装置２０の利用を許可する通知を送受信部２００１へ送る（ステップＳＣ５）。送受信部２００１は、開発者管理部２００６から送られた通知を要求装置１０へ送信する（ステップＳ２２、ステップＳＣ６）。
【００４８】
送受信部１００２は、送受信部２００１から送られた通知を受信し、受信した通知をコントロール部１００４へ送る（ステップＳＣ７）。コントロール部１００４は、送受信部１００２から送られた通知が、管理装置２０の利用を許可する通知である場合（ステップＳ２でＹＥＳ）、図７の画面で指定された電子署名のレベルを判断する（ステップＳ３）。
【００４９】
コントロール部１００４は、図７の画面において、ラジオボタンＲＢ３が選択されていた場合（ステップＳ３でレベル３）、テキストボックスＴＸ２で指定されたプラグイン、テキストボックスＴＸ３で指定された評価結果、ラジオボタンＲＢ２で指定された電子署名のレベル（レベル３）を表すレベル情報、プラグインを一意的に識別するプラグイン識別子を送受信部１００２へ送る（ステップＳＣ８）。送受信部１００２は、コントロール部１００４から送られたプラグイン、評価結果、レベル情報及びプラグイン識別子を管理装置２０へ送信する（ステップＳ１２、ステップＳＣ９）。
【００５０】
送受信部２００１は、要求装置１０が送信したプラグイン、評価結果、レベル情報及びプラグイン識別子を受信し（ステップＳ２３）、受信したレベル情報を判定する（ステップＳ２４）。送受信部２００１は、受信したレベル情報がレベル３を表す場合、受信したプラグイン、評価結果、レベル情報及びプラグイン識別子を署名作成部２００３へ送る（ステップＳＣ１０）。
【００５１】
署名作成部２００３は、送られたレベル情報がレベル３を表す場合（ステップＳ２４でレベル３）、ステップＳＢ１１と同様に、送受信部２００１から送られたプラグインを検証する（ステップＳ３５、ステップＳＣ１１）。署名作成部２００３は、検証の結果、プラグインが定められた条件を満たす場合（ステップＳ３６でＹＥＳ）、送受信部２００１から送られた評価結果を検証する（ステップＳ３７、ステップＳＣ１２）。具体的には、署名作成部２００３は、評価結果の内容が、第２ベンダーが予め定めた基準を満たしているか検証する。
【００５２】
署名作成部２００３は、評価結果の内容が、第２ベンダーが予め定めた基準を満たしている場合（ステップＳ３８でＹＥＳ）、プラグインを生成部２００２へ送る（ステップＳＣ１３）。生成部２００２は、署名作成部２００３から送られたプラグインのハッシュ値を生成し（ステップＳ３９、ステップＳＣ１４）、生成したハッシュ値を署名作成部２００３へ送る（ステップＳＣ１５）。署名作成部２００３は、送受信部２００１から送られたレベル情報がレベル３を表す場合、このレベル情報と、生成部２００２から送られたハッシュ値とを署名生成鍵（秘密鍵）で暗号化して電子署名を生成する（ステップＳ４０、ステップＳＣ１６）。
【００５３】
次に署名作成部２００３は、ステップＳＣ２で送受信部２００１が受信した開発者番号、送受信部２００１から送られたプラグイン識別子、生成部２００２から送られたハッシュ値及び送受信部２００１から送られたレベル情報を署名管理部２００５へ送る（ステップＳＣ１７）。署名管理部２００５は、署名作成部２００３から送られた開発者番号、プラグイン識別子、ハッシュ値及びレベル情報を対応付けてログとして記憶部２０２の署名管理テーブルＴＢ１に記録する（ステップＳ４１、ステップＳＣ１８）。
【００５４】
次に署名作成部２００３は、送受信部２００１から送られたレベル情報がレベル３を表す場合、送受信部２００１から送られたプラグインと、生成した電子署名を付加部２００４へ送る（ステップＳＣ１９）。付加部２００４は、署名作成部２００３から送られたプラグインと電子署名を受け取ると、受け取った電子署名を受け取ったプラグインに付加する（ステップＳ４２、ステップＳＣ２０）。次に付加部２００４は、電子署名が付加されたプラグインを送受信部２００１へ送る（ステップＳＣ２１）。送受信部２００１は、付加部２００４から送られたプラグインを要求装置１０へ送信する（ステップＳ４３、ステップＳＣ２２）。
【００５５】
送受信部１００２は、送受信部２００１から送られたプラグインを受信し、受信したプラグインをコントロール部１００４へ送る（ステップＳＣ２３）。コントロール部１００４は、電子署名が付加されたプラグインを送受信部１００２が受信した場合（ステップＳ１３でＹＥＳ）、送受信部１００２から送られたプラグインを記憶部１０２に記憶させ（ステップＳ１４、ステップＳＣ２４）、電子署名が付加されたプラグインの生成が終了したことを表示部１０３で報知する（ステップＳ８、ステップＳＣ２５）。
【００５６】
なお、開発者管理部２００６は、ステップＳ２１でＮＯと判断した場合や、送受信部２００１から送られた開発者番号が記憶部２０２に記憶されていない場合（ステップＳ２１でＮＯ）、管理装置２０の利用を不許可とする通知を送受信部２００１へ送る。送受信部２００１は、開発者管理部２００６から送られた通知を要求装置１０へ送信する（ステップＳ４４）。また、署名作成部２００３は、プラグインを検証した結果、プラグインが条件を満たさない場合（ステップＳ２９でＮＯ、ステップＳ３６でＮＯ）、又は評価結果の内容が、第２ベンダーが予め定めた基準を満たしていない場合（ステップＳ３８でＮＯ）、電子署名の生成を拒否する通知を送受信部２００１へ送り、送受信部２００１は、この通知を要求装置１０へ送信する（ステップＳ４５）。
【００５７】
コントロール部１００４は、管理装置２０の利用を不許可とする通知を送受信部１００２が受信した場合（ステップＳ２でＮＯ）、管理装置２０の利用が不可であることを表示部１０３で報知する（ステップＳ１５）。また、コントロール部１００４は、電子署名の生成を拒否する通知を送受信部１００２が受信した場合（ステップＳ１０でＮＯ、ステップＳ１３でＮＯ）、電子署名の生成が拒否されたことを表示部１０３で報知する（ステップＳ１６）。
【００５８】
次に、プラグインを画像形成装置３０へインストールするときの動作例について説明する。画像形成装置３０においては、インストールを許可するプラグインの電子署名のレベルを設定する。例えば、画像形成装置３０が備えるタッチパネルにおいて、図１３の画面を表示し、インストールを許可するプラグインの電子署名のレベルをユーザーに選択させる。例えば、不正動作を行わないことが保証されているプラグインのインストールを許可し、不正動作を行わないことが保証されていないプラグインのインストールを不許可とする場合、図１３に示したように、チェックボックスＣＫ３とチェックボックスＣＫ４についてはオンとし、チェックボックスＣＫ１とチェックボックスＣＫ２についてはオフとして、設定ボタンＢ５をタップする。
【００５９】
画像形成装置３０は、プラグインをインストールする操作がユーザーにより行われると、図１４に示した処理を実行する。具体的には、画像形成装置３０は、ユーザーの操作に応じてプラグインをダウンロードすると、プラグインに付加されている電子署名を公開鍵で復号し、電子署名に含まれているハッシュ値とレベル情報を得る（ステップＳ６０）。
【００６０】
次に画像形成装置３０は、プラグインのハッシュ値を求め、求めたハッシュ値と上記の復号で得たハッシュ値とが一致するか判断する（ステップＳ６１）。画像形成装置３０は、ハッシュ値が一致した場合、上記の設定によりインストールが許可されているプラグインの電子署名のレベルと、電子署名を復号して得たレベル情報とを比較し、インストールが許可されているか否かを判断する（ステップＳ６２）。例えば、上述したようにレベル２やレベル３の電子署名が付加されているプラグインについてイントールが許可されている場合、上記の復号処理で得られたレベル情報がレベル２又はレベル３を表す場合、画像形成装置３０は、ダウンロードしたプラグインをインストールする（ステップＳ６３）。
【００６１】
画像形成装置３０は、プラグインのインストールが終了すると、インストールしたプラグインを起動し（ステップＳ６４）、正常に起動したか判断する（ステップＳ６５）。画像形成装置３０は、インストールしたプラグインが正常に起動した場合（ステップＳ６５でＹＥＳ）、プラグインを終了し（ステップＳ６６）、正常にインストールしたことをタッチパネルで報知する（ステップＳ６７）。
【００６２】
また、画像形成装置３０は、ハッシュ値が一致しなかった場合（ステップＳ６１でＮＯ）、又はダウンロードしたプラグインの電子署名のレベルが、設定されたレベルに対応していない場合（ステップＳ６２でＮＯ）、ダウンロードしたプラグインのインストールをしなかったことをタッチパネルで報知する（ステップＳ６９）。また、画像形成装置３０は、インストールしたプラグインが正常に起動しなかった場合（ステップＳ６５でＮＯ）、インストールしたプラグインをアンインストールし（ステップＳ６８）、ダウンロードしたプラグインのインストールをしなかったことをタッチパネルで報知する（ステップＳ６９）。
なお、画像形成装置３０においては、インストールされたプラグインのリストをユーザーの操作に応じてタッチパネルに表示してもよく、表示するリストにおいては、プラグインに付加されていた電子署名のレベルも表示するようにしてもよい。
【００６３】
［変形例］
以上、本発明の実施形態について説明したが、本発明は上述した実施形態に限定されることなく、他の様々な形態で実施可能である。例えば、上述の実施形態を以下のように変形して本発明を実施してもよい。なお、上述した実施形態及び以下の変形例は、各々を組み合わせてもよい。
【００６４】
上述した実施形態においては、プラグインの検証や評価結果の検証を制御部２０１が行っているが、制御部１０１に替えて第２ベンダーの検証者がプラグインの検証や評価結果の検証を行う構成としてもよい。この構成の場合、検証者が検証結果を管理装置２０へ入力し、制御部２０１は、入力された検証結果に応じて、ステップＳ２９、ステップＳ３６、ステップＳ３８の判断を行う。
【００６５】
上述した実施形態においては、電子署名のレベルが異なっていても署名生成鍵を同じとしていたが、レベル毎に署名生成鍵と公開鍵の組が違う構成としてもよい。例えば、レベル１の電子署名を生成する場合、レベル１に対応した署名生成鍵でハッシュ値を暗号化して電子署名を生成し、レベル２の電子署名を生成する場合、レベル２に対応した署名生成鍵でハッシュ値を暗号化して電子署名を生成し、レベル３の電子署名を生成する場合、レベル３に対応した署名生成鍵でハッシュ値を暗号化して電子署名を生成する構成とする。
画像形成装置３０においては、各レベルに対応した公開鍵を取得し、プラグインをダウンロードすると、取得済みの公開鍵で電子署名の復号を試みる。画像形成装置３０は、電子署名を復号できた場合、復号できたときに使用した公開鍵が対応しているレベルを特定し、特定したレベルの電子署名がプラグインに付加されていると判断する。
【００６６】
本発明においては、電子署名のレベルについて、レベル１とレベル２との間のレベル（例えばレベル１．５）を設ける構成としてもよい。図１５は、要求装置１０の操作者が電子署名のレベルを１．５に設定したとステップＳ３において判定した後の処理の流れを示したフローチャートである。また、図１６は、ステップＳ２４において電子署名のレベルを１．５と判定した後の処理の流れを示したフローチャートである。
【００６７】
コントロール部１００４は、ステップＳ３において、要求装置１０の操作者が電子署名のレベルを１．５に設定したと判定した場合、テキストボックスＴＸ２で指定されたプラグインを生成部１００１へ送る。生成部１００１は、生成部１００１から送られたプラグインからハッシュ値を生成し（ステップＳ８０）、生成したハッシュ値をコントロール部１００４へ送る。次にコントロール部１００４は、プラグインを解析し、プラグインが使用するＡＰＩ（Application Programming Interface）のリストを生成する（ステップＳ８１）。コントロール部１００４は、ＡＰＩのリストの生成が終了すると、生成部１００１から送られたハッシュ値、ラジオボタンＲＢ１で指定された電子署名のレベル（レベル１．５）を表すレベル情報、プラグインを一意的に識別するプラグイン識別子、ＡＰＩのリストを送受信部１００２へ送る（ステップＳ８２，ステップＳＡ１１）。送受信部１００２は、コントロール部１００４から送られたハッシュ値、レベル情報、プラグイン識別子及びＡＰＩのリストを管理装置２０へ送信する（ステップＳ５、ステップＳＡ１２）。
【００６８】
送受信部２００１は、要求装置１０が送信したハッシュ値、レベル情報、プラグイン識別子及びＡＰＩのリストを受信し、受信したレベル情報を判定する。送受信部２００１は、受信したレベル情報がレベル１．５を表す場合、受信したハッシュ値、レベル情報、プラグイン識別子、ＡＰＩのリストを署名作成部２００３へ送る。署名作成部２００３は、送受信部２００１から送られたレベル情報がレベル１．５を表す場合、第２ベンダーにより使用が禁止されている予め定められたＡＰＩがＡＰＩのリストにあるか判断する（ステップＳ９０）。
【００６９】
署名作成部２００３は、第２ベンダーにより使用が禁止されている予め定められたＡＰＩがＡＰＩのリストにない場合（ステップＳ９０でＮＯ）、送受信部２００１から送られたハッシュ値とレベル情報とを署名生成鍵（秘密鍵）で暗号化してレベル１．５の電子署名を生成する（ステップＳ９１）。
次に署名作成部２００３は、ステップＳＡ２で送受信部２００１が受信した開発者番号、送受信部２００１から送られたプラグイン識別子、ハッシュ値及びレベル情報を署名管理部２００５へ送る。署名管理部２００５は、署名作成部２００３から送られた開発者番号、プラグイン識別子、ハッシュ値及びレベル情報を対応付けてログとして記憶部２０２の署名管理テーブルＴＢ１に記録する（ステップＳ９２）。また、署名作成部２００３は、生成した電子署名を送受信部２００１へ送る。送受信部２００１は、署名作成部２００３から送られた電子署名を要求装置１０へ送信する（ステップＳ９３）。
なお、署名作成部２００３は、第２ベンダーにより使用が禁止されている予め定められたＡＰＩがＡＰＩのリストにある場合（ステップＳ９０でＹＥＳ）、電子署名の生成を拒否する通知を送受信部２００１へ送り、送受信部２００１は、この通知を要求装置１０へ送信する（ステップＳ９４）。
【００７０】
送受信部１００２は、送受信部２００１から送られた電子署名を受信し、受信した電子署名をコントロール部１００４へ送る。コントロール部１００４は、送受信部１００２が電子署名を受信した場合（ステップＳ８３でＹＥＳ）、送受信部１００２から送られた電子署名を付加部１００３へ送る。付加部１００３は、コントロール部１００４から送られた電子署名を、テキストボックスＴＸ２で指定されたプラグインに付加する（ステップＳ８４）。付加部１００３は、電子署名が付加されたプラグインを生成すると、電子署名が付加されたプラグインの生成が終了したことをコントロール部１００４へ通知する。コントロール部１００４は、付加部１００３から送られた通知を受け取ると、電子署名が付加されたプラグインの生成が終了したことを表示部１０３で報知する（ステップＳ８５）。
なお、送受信部２００１は、電子署名の生成を拒否する通知を送受信部１００２が受信した場合（ステップＳ８３でＮＯ）、電子署名の生成が拒否されたことを表示部１０３で報知する（ステップＳ８６）。
【００７１】
上述した実施形態においては、電子署名のレベルを要求装置１０の操作者が設定しているが、管理装置２０が自動的に電子署名のレベルを設定する構成としてもよい。本変形例の場合、要求装置１０は、プラグインのハッシュ値、プラグイン識別子、プラグインが使用するＡＰＩのリストを管理装置２０へ送信する。また、本変形例の場合、署名管理テーブルＴＢ１に情報を格納する際に、管理装置２０は、要求装置１０からプラグインが使用するＡＰＩのリストを取得し、取得したリストを署名管理テーブルＴＢ１に格納する。
【００７２】
図１７は、管理装置２０が自動的に電子署名のレベルを設定する処理の流れを示したフローチャートである。制御部２０１は、要求装置１０から送信されたプラグイン識別子が署名管理テーブルＴＢ１に格納されている場合（ステップＳ１００でＹＥＳ）、要求装置１０から送信されたプラグインのハッシュ値と、受信したプラグイン識別子に対応付けて署名管理テーブルＴＢ１に格納されているハッシュ値とが同じであるか判断する（ステップＳ１０１）。制御部２０１は、受信したハッシュ値と、署名管理テーブルＴＢ１に格納されているハッシュ値とが同じである場合（ステップＳ１０１でＹＥＳ）、電子署名のレベルをレベル１とする（ステップＳ１０２）。制御部２０１は、レベルを決定して図１７の処理を終えると、ステップＳ２５へ処理の流れを移し、電子署名を生成する。
【００７３】
制御部２０１は、受信したハッシュ値と、署名管理テーブルＴＢ１に格納されているハッシュ値とが異なる場合（ステップＳ１０１でＮＯ）、署名管理テーブルＴＢ１に格納されているＡＰＩのリストと、受信したＡＰＩのリストとを比較し、プラグインが使用するＡＰＩに変化があるか判断する（ステップＳ１０３）。制御部２０１は、プラグインが使用するＡＰＩに変化がない場合（ステップＳ１０３でＮＯ）、受信したＡＰＩのリストを用い、プラグインをインストールした装置が通信回線２を介した通信を行うか判断する（ステップＳ１０４）。制御部２０１は、プラグインをインストールした装置が通信回線２を介した通信を行わない場合（ステップＳ１０４でＮＯ）、電子署名のレベルをレベル２とする（ステップＳ１０５）。制御部２０１は、レベルを決定して図１７の処理を終えると、プラグインを送信するよう要求装置１０へ要求する。制御部２０１は、当該要求に応じて要求装置１０から送信されたプラグインを受信すると、ステップＳ２８へ処理の流れを移し、電子署名を生成する。
【００７４】
制御部２０１は、ステップＳ１０３又はステップＳ１０４でＹＥＳと判断した場合、開発者番号に基づいて、第１ベンダーの契約種別を判定する。本変形例の場合、第１ベンダーは、プラグインの開発に際して第２ベンダーと契約を結び、第２ベンダーは契約の内容に応じて第１ベンダーに対して契約種別を設定する。この契約種別は、プログラムを作成する作成者である第１ベンダーの信頼性を表す情報の一例である。例えば、レベル１〜レベル３の電子署名の生成を行い、プラグインの評価を第２ベンダーが行う場合には契約種別をプレミアムとし、レベル１の電子署名の生成のみを行う場合には、契約種別をベーシックとする。
制御部２０１は、契約種別がプレミアムである場合（ステップＳ１０６でＹＥＳ）、電子署名のレベルをレベル３とする（ステップＳ１０７）。制御部２０１は、レベルを決定して図１７の処理を終えると、プラグインを送信するよう要求装置１０へ要求する。制御部２０１は、当該要求に応じて要求装置１０から送信されたプラグインを受信すると、受信したプラグインを予め定められた評価スクリプトで評価する。制御部２０１は、評価スクリプトによる評価を終えると、ステップＳ３５へ処理の流れを移し、レベル３の電子署名を生成する。
【００７５】
制御部２０１は、契約種別がベーシックである場合（ステップＳ１０６でＮＯ）、電子署名のレベルをレベル３とする（ステップＳ１０９）。制御部２０１は、レベルを決定して図１７の処理を終えると、プラグインと、評価スクリプトによる当該プラグインの評価結果を送信するよう要求装置１０へ要求する。制御部２０１は、当該要求に応じて要求装置１０から送信されたプラグインと評価結果を受信すると、ステップＳ３５へ処理の流れを移し、レベル３の電子署名を生成する。
【００７６】
また、制御部２０１は、ステップＳ１００でＮＯと判断した場合、受信したＡＰＩのリストを用い、プラグインをインストールした装置が通信回線２を介した通信を行うか判断する（ステップＳ１０９）。制御部２０１は、プラグインをインストールした装置が通信回線２を介した通信を行わない場合（ステップＳ１０９でＮＯ）、処理の流れをステップＳ１０５へ移す。制御部２０１は、ステップＳ１０９でＹＥＳと判断した場合、処理の流れをステップＳ１０８へ移す。
【００７７】
なお、上述した変形例では、プラグインが通信を行わない場合には電子署名のレベルをレベル２とし、プラグインが通信を行う場合には電子署名のレベルをレベル３としているが、この構成に限定されるものではない。例えば、プラグインがインストールされる画像形成装置３０においてプラグインが使用する機能のうち、セキュリティに影響を及ぼす機能に応じて自動的に電子署名のレベルを設定してもよい。具体的には、画像形成装置３０が備える記憶部の情報にアクセスする機能をプラグインが使用する場合、電子署名のレベルをレベル３としてもよい。
【００７８】
上述した実施形態においては、要求装置１０は、開発者番号を管理装置２０へ送信し、管理装置２０から管理装置２０の利用を許可する通知を受信した後、電子署名のレベルに応じて電子署名を生成するための各種情報を管理装置２０へ送信しているが、電子署名を生成するための各種情報は、開発者番号を送信するときにまとめて送るようにしてもよい。この構成においては、管理装置２０は、開発者番号により管理装置２０の利用を許可した後、送られた各種情報を用いて電子署名を生成し、生成した電子署名又は生成した電子署名が付加されたプラグインを要求装置１０へ送信する。
【００７９】
上述した実施形態においては、電子署名のレベルがレベル２又はレベル３である場合、電子署名が付加されたプラグインを管理装置２０から要求装置１０へ送信しているが、管理装置２０が生成した電子署名を要求装置１０へ送信し、要求装置１０において、受信した電子署名をプラグインに付加する構成としてもよい。
【００８０】
本発明においては、プラグインをインストールした画像形成装置３０は、インストールされたプラグインに付加されている電子署名のレベルに応じたタイミングで電子署名を検証してもよい。例えば、電子署名のレベルがレベル１である場合、プラグインのインストール時のみ、電子署名を検証する。また、電子署名のレベルがレベル２である場合、レベル１のタイミングに加えて、画像形成装置３０の電源をオンにするときにも電子署名を検証し、電子署名のレベルがレベル３である場合、レベル２のタイミングに加えて、プラグインの起動時や外部装置から指示されたときに電子署名を検証する構成としてもよい。
【００８１】
本発明に係る各装置のプログラムは、磁気記録媒体（磁気テープ、磁気ディスク（ＨＤＤ（Hard Disk Drive）、ＦＤ（Flexible Disk））など）、光記録媒体（光ディスクなど）、光磁気記録媒体、半導体メモリーなどのコンピュータ読取り可能な記録媒体に記憶した状態で提供し、インストールしてもよい。また、通信回線を介してプログラムをダウンロードしてインストールしてもよい。
【符号の説明】
【００８２】
１…情報処理システム、２…通信回線、１０…要求装置、２０…管理装置、３０…画像形成装置、１０１…制御部、１０２…記憶部、１０３…表示部、１０４…操作部、１０５…通信部、２０１…制御部、２０２…記憶部、２０５…通信部、１００１…生成部、１００２…送受信部、１００３…付加部、１００４…コントロール部、２００１…送受信部、２００２…生成部、２００３…署名作成部、２００４…付加部、２００５…署名管理部、２００６…開発者管理部
【図１】
0006531564.tif 000002
【図２】
0006531564.tif 000003
【図３】
0006531564.tif 000004
【図４】
0006531564.tif 000005
【図５】
0006531564.tif 000006
【図６】
0006531564.tif 000007
【図７】
0006531564.tif 000008
【図８】
0006531564.tif 000009
【図９】
0006531564.tif 000010
【図１０】
0006531564.tif 000011
【図１１】
0006531564.tif 000012
【図１２】
0006531564.tif 000013
【図１３】
0006531564.tif 000014
【図１４】
0006531564.tif 000015
【図１５】
0006531564.tif 000016
【図１６】
0006531564.tif 000017
【図１７】
0006531564.tif 000018