(57)【要約】【課題】データサイズの肥大化を防止でき、作業効率が良く、統一したセキュリティ機能の提供が可能な画像処理装置、暗号モジュールのプロセス化方法を提供することを目的とする。【解決手段】ネットワーク３を介して接続される外部処理装置１との間で暗号通信を行なう画像処理装置２０であって、外部処理装置１からの要求に基づき外部処理装置１へ提供するサービスに掛かる処理を行う１つ以上のサービス提供手段２１と、外部処理装置１との間で行なう暗号通信に掛かる処理を行う暗号手段３０とを備え、サービス提供手段２１は、暗号手段３０とのインターフェース手段として暗号ライブラリ２２を有することにより上記課題を解決する。【選択図】図２
2007158618.tif 000002
【特許請求の範囲】
【請求項１】
ネットワークを介して接続される外部処理装置との間で暗号通信を行なう画像処理装置であって、
前記外部処理装置からの要求に基づき前記外部処理装置へ提供するサービスに掛かる処理を行う１つ以上のサービス提供手段と、
前記外部処理装置との間で行なう暗号通信に掛かる処理を行う暗号手段とを備え、
前記サービス提供手段は、前記暗号手段とのインターフェース手段として暗号ライブラリを有することを特徴とする画像処理装置。
【請求項２】
前記暗号ライブラリは、ネゴシエーション処理，暗号化処理，復号処理の要求を前記暗号手段にプロセス間通信で行なうことを特徴とする請求項１記載の画像処理装置。
【請求項３】
前記暗号手段は、前記暗号ライブラリとのインターフェース手段と、
前記暗号ライブラリから前記ネゴシエーション処理，暗号化処理又は復号処理の要求を受信し、その要求の振り分け及び管理を行なう振分／管理手段と、
前記振分／管理手段に振り分けられた前記要求に応じて前記ネゴシエーション処理，暗号化処理又は復号処理を行なう１つ以上の処理手段と
を有することを特徴とする請求項２記載の画像処理装置。
【請求項４】
前記サービス提供手段は、前記外部処理装置へ提供するサービスに掛かる処理の少なくとも一部を行なう処理単位毎に前記暗号ライブラリを有することを特徴とする請求項１乃至３何れか一項記載の画像処理装置。
【請求項５】
前記暗号手段は、ストレージに保存されていることを特徴とする請求項１乃至４何れか一項記載の画像処理装置。
【請求項６】
ネットワークを介して接続される外部処理装置との間で暗号通信を行なう画像処理装置の暗号モジュールのプロセス化方法であって、
前記画像処理装置に含まれるサービス提供手段が、前記外部処理装置からの要求に基づき前記外部処理装置へ提供するサービスに掛かる処理を行うステップと、
前記サービス提供手段が、暗号ライブラリを利用して前記画像処理装置に含まれる暗号モジュールに暗号通信に掛かる処理を要求するステップと、
前記暗号モジュールが、前記外部処理装置との間で行なう暗号通信に掛かる処理を行うステップとを有することを特徴とする暗号モジュールのプロセス化方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、画像処理装置、暗号モジュールのプロセス化方法に係り、特にネットワークを介して接続される外部処理装置との間で暗号通信を行なう画像処理装置、その画像処理装置で利用される暗号モジュールのプロセス化方法に関する。
【背景技術】
【０００２】
近年、プリンタ，スキャナ又は複合機（ＭＦＰ）等の画像処理装置は、インターネットやＬＡＮ等のネットワークに接続可能なものが増えている。このような画像処理装置はネットワークを介して接続されるパーソナルコンピュータ（ＰＣ）等の外部処理装置からの要求に基づき、印刷，スキャン，コピー等の各種サービスを提供している。
【０００３】
例えば特許文献１には、プリンタ，コピー，ファクシミリおよびスキャナなどの各装置の機能を１つの筐体内に収納した複合機が記載されている。この複合機は、１つの筐体内に表示部，印刷部および撮像部などを設けると共に、プリンタ，コピー，ファクシミリおよびスキャナにそれぞれ対応する４種類のアプリケーション（ソフトウェア）を設け、そのアプリケーションを切り替えることより、プリンタ，コピー，ファクシミリおよびスキャナとして動作させるものである。
【０００４】
インターネットやＬＡＮ等のネットワークに接続可能な画像処理装置は、外部処理装置からの要求に基づき、印刷，スキャン，コピー等の各種サービスを提供する場合、セキュリティ機能を実装していることが多い。例えば画像処理装置は、セキュリティ機能の一例として例えば外部処理装置との間で暗号通信を行なう。
【０００５】
図１は、外部処理装置からの要求に基づき各種サービスを提供する画像処理装置を含むシステムの一例の構成図である。図１のシステムは、外部処理装置としてのＰＣ１と画像処理装置としてのＭＦＰ１０とがネットワーク３を介して接続されている。ＰＣ１とＭＦＰ１０に実装されているアプリケーション１１との間では、暗号通信が行われている。ＭＦＰ１０では、ＰＣ１との間で行なう暗号通信に掛かる処理を各アプリケーション１１が保持している暗号モジュール１２が行っていた。
【特許文献１】特開２００２−８４３８３号公報
【発明の開示】
【発明が解決しようとする課題】
【０００６】
図１のシステムのＭＦＰ１０では、暗号モジュール１２を各アプリケーション１１が個別に保持していた為、アプリケーション１１の数が多くなると全体のデータサイズが肥大化するという問題があった。また、ＭＦＰ１０では、暗号モジュールの設計・開発を各アプリケーション１１毎に行なう必要がある為、作業効率が悪いという問題があった。
【０００７】
また、ＭＦＰ１０では暗号モジュール１２を各アプリケーション１１が個別に保持していた為、暗号モジュール１２に脆弱性が発見された場合等に、各アプリケーション１１が個別に保持している暗号モジュール１２を全て作り直す必要があり、作業効率が悪いという問題があった。さらに、ＭＦＰ１０では暗号モジュール１２を各アプリケーション１１が個別に保持していた為、統一したセキュリティ機能を提供できないことがあるという問題があった。
【０００８】
本発明は、上記の点に鑑みなされたもので、データサイズの肥大化を防止でき、作業効率が良く、統一したセキュリティ機能の提供が可能な画像処理装置、暗号モジュールのプロセス化方法を提供することを目的とする。
【課題を解決するための手段】
【０００９】
上記課題を解決するため、本発明は、ネットワークを介して接続される外部処理装置との間で暗号通信を行なう画像処理装置であって、前記外部処理装置からの要求に基づき前記外部処理装置へ提供するサービスに掛かる処理を行う１つ以上のサービス提供手段と、前記外部処理装置との間で行なう暗号通信に掛かる処理を行う暗号手段とを備え、前記サービス提供手段は、前記暗号手段とのインターフェース手段として暗号ライブラリを有することを特徴とする。
【００１０】
また、本発明は、ネットワークを介して接続される外部処理装置との間で暗号通信を行なう画像処理装置の暗号モジュールのプロセス化方法であって、前記画像処理装置に含まれるサービス提供手段が、前記外部処理装置からの要求に基づき前記外部処理装置へ提供するサービスに掛かる処理を行うステップと、前記サービス提供手段が、暗号ライブラリを利用して前記画像処理装置に含まれる暗号モジュールに暗号通信に掛かる処理を要求するステップと、前記暗号モジュールが、前記外部処理装置との間で行なう暗号通信に掛かる処理を行うステップとを有することを特徴とする。
【００１１】
本発明では、暗号手段又は暗号モジュールを各サービス提供手段の外部で保持し、暗号手段又は暗号モジュールとのインターフェース手段として暗号ライブラリを利用することにより、各サービス提供手段が暗号手段又は暗号モジュールを共有できる。
【００１２】
各サービス提供手段が暗号手段又は暗号モジュールを共有できる為、各サービス提供手段の数が多くなってもデータサイズの肥大化を防止できる。暗号手段又は暗号モジュールを各サービス提供手段の外部で保持している為、暗号手段又は暗号モジュールの設計・開発を各サービス提供手段毎に行なう必要が無く、作業効率が良い。また、各サービス提供手段が暗号手段又は暗号モジュールを共有できる為、統一したセキュリティ機能の提供が可能である。
【００１３】
なお、本発明の構成要素、表現または構成要素の任意の組合せを、方法、装置、システム、コンピュータプログラム、記録媒体、データ構造などに適用したものは、本発明の態様として有効である。
【発明の効果】
【００１４】
本発明によれば、データサイズの肥大化を防止でき、作業効率が良く、統一したセキュリティ機能の提供が可能な画像処理装置、暗号モジュールのプロセス化方法を提供可能である。
【発明を実施するための最良の形態】
【００１５】
次に、本発明を実施するための最良の形態を、以下の実施例に基づき図面を参照しつつ説明していく。なお、本実施例では画像処理装置の一例としての複合機（ＭＦＰ）が外部処理装置の一例としてのパーソナルコンピュータ（ＰＣ）からの要求に基づいてサービスを提供する例を説明するが、この例に限るものではない。
【００１６】
図２は、外部処理装置からの要求に基づき各種サービスを提供する画像処理装置を含むシステムの一実施例の構成図である。図２のシステムは、ＰＣ１Ａ〜１Ｃ及びＭＦＰ２０がネットワーク３を介して接続された構成である。ＭＦＰ２０は、アプリケーション２１Ａ〜２１Ｃ及び暗号モジュール３０を含むように構成されている。アプリケーション２１Ａ〜２１Ｃは、暗号モジュール３０とのインターフェース手段として暗号ライブラリ２２Ａ〜２２Ｃを有している。なお、ＰＣ１Ａ〜１Ｃを総称する場合は単にＰＣ１という。アプリケーション２１Ａ〜２１Ｃを総称する場合は単にアプリケーション２１という。暗号ライブラリ２２Ａ〜２２Ｃを総称する場合は単に暗号ライブラリ２２という。
【００１７】
ＰＣ１とＭＦＰ２０に実装されているアプリケーション２１との間では、暗号通信が行われている。アプリケーション２１は、ＰＣ１との間で行なう暗号通信に掛かる処理を暗号ライブラリ２２から呼び出される暗号モジュール３０を利用して行なう。アプリケーション２１と暗号モジュール３０との通信はプロセス間通信により行われる。
【００１８】
ＰＣ１はアプリケーション２１に対して、印刷，スキャン，コピー等の各種サービスの提供を要求する。アプリケーション２１はＰＣ１からの要求に基づき、ＰＣ１に提供するサービスに掛かる処理を行う。また、アプリケーション２１は暗号ライブラリ２２から呼び出される暗号モジュール３０に暗号通信に掛かる処理を要求する。
【００１９】
暗号モジュール３０は、暗号ライブラリ２２から要求のあった暗号通信に掛かる処理を行い、その処理結果を暗号ライブラリ２２経由でアプリケーション２１に応答する。暗号モジュール３０とは、暗号化，復号，デジタル署名，認証技術，乱数生成などの暗号機能を実装したソフトウェア，ハードウェア，ファームウェア及びその組み合わせを言う。
【００２０】
アプリケーション２１はＰＣ１に提供するサービスに掛かる処理の処理結果をＰＣ１に対して応答する。なお、サービスに掛かる処理の処理結果は、印刷，スキャン，コピー等の各種サービスによって異なる。
【００２１】
例えばサービスに掛かる処理が印刷である場合、サービスに掛かる処理の処理結果として印刷結果をＰＣ１に対して応答してもよい。また、サービスに掛かる処理がスキャンである場合、サービスに掛かる処理の処理結果としてスキャンされた画像データをＰＣ１に対して応答してもよい。
【００２２】
ＭＦＰ２０は、アプリケーション２１が暗号モジュール３０を共有できる為、各アプリケーション２１の数が多くなってもＭＦＰ２０のデータサイズの肥大化を防止することができる。また、ＭＦＰ２０は暗号モジュール３０をアプリケーション２１の外部で保持している為、暗号モジュール３０の設計・開発をアプリケーション２１毎に行なう必要が無くなり、作業効率が良くなる。また、アプリケーション２１は暗号モジュール３０を共有できる為、脆弱性に対する対応も容易となり、統一したセキュリティ機能の提供が可能である。さらに、アプリケーション２１は暗号モジュール３０とのインターフェース手段として暗号ライブラリ２２を用いる為、簡単に暗号モジュール３０を利用できる。
【００２３】
次に、アプリケーション２１と暗号モジュール３０とのプロセス間通信の詳細について説明する。図３はアプリケーション及び暗号モジュールの構成を詳細に示したブロック図である。図４はアプリケーションと暗号モジュールとのプロセス間通信を示すシーケンス図である。
【００２４】
図３では、アプリケーション２１Ａ，２１Ｂが、ＰＣ１へ提供するサービスに掛かる処理を行なう例を示している。アプリケーション２１Ａは、ＰＣ１へ提供するサービスに掛かる処理の少なくとも一部を行なう処理単位であるデーモン２３Ａ，２３Ｂが暗号ライブラリ２２Ａ，２２Ｂを有している。また、アプリケーション２１Ｂは暗号ライブラリ２２Ｂを有している。なお、デーモン２３Ａ，２３Ｂ等を総称する場合は単にデーモン２３という。デーモン（ｄａｅｍｏｎ）２３とは、アプリケーション２１やシステムの状態に応じて自動的に各種のサービスを提供するプログラムのことを言う。
【００２５】
デーモン２３Ａ及び２３Ｂは、暗号ライブラリ２２Ａ及び２２Ｂから呼び出される暗号モジュール３０に暗号通信に掛かる処理を要求する。また、アプリケーション２１Ｂは暗号ライブラリ２２Ｂから呼び出される暗号モジュール３０に暗号通信に掛かる処理を要求する。
【００２６】
暗号モジュール３０は、インターフェース部３１，振分／管理部３２，ネゴシエーション処理を行うネゴシエーション処理部３３，暗号化処理を行う暗号化処理部３４及び復号処理を行う復号処理部３５を有する構成である。インターフェース部３１は、暗号ライブラリ２２とのインターフェース手段である。
【００２７】
振分／管理部３２は、暗号ライブラリ２２からネゴシエーション処理，暗号化処理又は復号処理の要求を受信し、その要求をネゴシエーション処理部３３，暗号化処理部３４及び復号処理部３５に振り分けると共に、受信した要求の管理も行なう。
【００２８】
ネゴシエーション処理を行うネゴシエーション処理部３３，暗号化処理を行う暗号化処理部３４及び復号処理を行う復号処理部３５は、処理を要求したデーモン２３Ａ，２３Ｂ及びアプリケーション２１Ｂ毎に起動される処理スレッドである。
【００２９】
また、暗号ライブラリ２２はネゴシエーション処理専用のプロセス間通信を行なう処理部２５と、暗号化処理専用のプロセス間通信を行なう処理部２６と、復号処理専用のプロセス間通信を行なう処理部２７とを有する構成である。処理部２５は、暗号モジュール３０のネゴシエーション処理部３３との間でプロセス間通信を行なう。処理部２６は、暗号モジュール３０の暗号化処理部３４との間でプロセス間通信を行なう。処理部２７は、暗号モジュール３０の復号処理部３５との間でプロセス間通信を行なう。
【００３０】
図４では、アプリケーション２１Ａ〜２１Ｃが、ＰＣ１Ａ，１Ｂへ提供するサービスに掛かる処理を行なう例を示している。ステップＳ１では、ＰＣ１Ａがアプリケーション２１Ａに対してサービスの提供を要求する。ステップＳ２に進み、アプリケーション２１Ａは暗号ライブラリ２２Ａから呼び出される暗号モジュール３０に暗号通信に掛かる処理を要求する。
【００３１】
ステップＳ３に進み、暗号モジュール３０はネゴシエーション処理，暗号化処理，復号処理等の暗号通信に掛かる処理を行う処理スレッドを起動し、処理を行なう。ここで言う処理スレッドは、上記したネゴシエーション処理部３３，暗号化処理部３４及び復号処理部３５の何れかである。
【００３２】
ステップＳ４に進み、暗号モジュール３０はステップＳ３で起動した処理スレッドから処理結果を受信する。暗号モジュール３０は、ネゴシエーション処理，暗号化処理，復号処理等の暗号通信に掛かる処理を行う処理スレッドを終了させる。
【００３３】
ステップＳ５に進み、暗号モジュール３０は処理スレッドから受信した処理結果を暗号ライブラリ２２Ａ経由でアプリケーション２１Ａに応答する。ステップＳ６に進み、アプリケーション２１ＡはＰＣ１Ａに提供するサービスに掛かる処理の処理結果をＰＣ１Ａに対して応答する。
【００３４】
ステップＳ１〜Ｓ６と同様、ステップＳ７〜Ｓ１２ではアプリケーション２１ＢがＰＣ１Ｂへ提供するサービスに掛かる処理を行っている。また、ステップＳ１３〜Ｓ１８ではアプリケーション２１ＣがＰＣ１Ｂへ提供するサービスに掛かる処理を行っている。ステップＳ７〜Ｓ１２及びＳ１３〜Ｓ１８の処理はステップＳ１〜Ｓ６と同様である為、説明を省略する。
【００３５】
更に、アプリケーション２１Ａが、ＰＣ１Ａへ提供するサービスに掛かる処理を行なう例の詳細について説明する。図５〜図６はアプリケーションが、ＰＣへ提供するサービスに掛かる処理を行なう例を示したシーケンス図である。図５〜図６のシーケンス図に示した処理はネゴシエーション処理と、復号処理と、暗号化処理とで構成されている。
【００３６】
まず、アプリケーション２１Ａのデーモン２３ＡはステップＳ２１に進み、暗号ライブラリ２２Ａからネゴシエーション処理専用のプロセス間通信を行なう処理部２５を呼び出す。処理部２５はデータを待ち受ける。ステップＳ２２に進み、ＰＣ１Ａはネゴシエーションデータをデーモン２３Ａの暗号ライブラリ２２Ａが有するネゴシエーション処理専用のプロセス間通信を行なう処理部２５に送信する。ネゴシエーションデータを送信したあと、ＰＣ１Ａはデータを待ち受ける。
【００３７】
ステップＳ２３に進み、ネゴシエーション処理専用のプロセス間通信を行なう処理部２５は暗号通信開始要求を暗号モジュール３０に送信する。このとき、暗号モジュール３０はデータを待ち受けているものとする。暗号通信開始要求は、インターフェース部３１を介して振分／管理部３２に送信される。振分／管理部３２は受信した暗号通信開始要求をネゴシエーション処理に振り分ける振り分けと、アプリケーション２１Ａとのセッションを管理するセッション管理を行なう。
【００３８】
ステップＳ２４に進み、振分／管理部３２はネゴシエーション処理を行うネゴシエーション処理部３３，暗号化処理部３４及び復号処理部３５を起動する。ネゴシエーション処理部３３はデータを待ち受ける。また、ステップＳ２５に進み、振分／管理部３２は暗号通信開始応答を処理部２５に送信する。ステップＳ２６に進み、処理部２５はネゴシエーションデータをステップＳ２４で起動したネゴシエーション処理部３３に送信する。処理部２５はネゴシエーションデータを送信した後、データを待ち受ける。
【００３９】
ステップＳ２７に進み、ネゴシエーション処理部３３はネゴシエーションデータレスポンスを処理部２５に送信する。さらに、ステップＳ２８に進み、処理部２５は受信したネゴシエーションデータレスポンスをＰＣ１Ａに送信する。ステップＳ２９に進み、ネゴシエーション処理部３３は「ネゴシエーション中」である旨を状態監視中の処理部２５に送信し、データを待ち受ける。また、処理部２５は「ネゴシエーション中」である旨を受信すると、データを待ち受ける。
【００４０】
ステップＳ３０に進み、ＰＣ１Ａはネゴシエーションデータをデーモン２３Ａの暗号ライブラリ２２Ａが有する処理部２５に送信し、データを待ち受ける。ステップＳ３１に進み、処理部２５はネゴシエーションデータをネゴシエーション処理部３３に送信し、データを待ち受ける。ステップＳ３２に進み、ネゴシエーション処理部３３はネゴシエーションデータレスポンスを処理部２５に送信する。
【００４１】
さらに、ステップＳ３３に進み、処理部２５は受信したネゴシエーションデータレスポンスをＰＣ１Ａに送信する。ステップＳ３４に進み、ネゴシエーション処理部３３は「ネゴシエーション終了」である旨を状態監視中の処理部２５に送信したあと、データを待ち受ける。また、処理部２５は「ネゴシエーション終了」である旨を受信すると、ステップＳ３５に進み、その旨をデーモン２３Ａに送信する。なお、ステップＳ２９〜Ｓ３３の処理は、処理部２５が「ネゴシエーション終了」である旨を受信するまで繰り返し行われる。
【００４２】
ステップＳ３６に進み、デーモン２３Ａは暗号ライブラリ２２Ａから復号処理専用のプロセス間通信を行なう処理部２７を呼び出す。処理部２７は、データを待ち受ける。ステップＳ３７に進み、ＰＣ１Ａは暗号データをデーモン２３Ａが有する復号処理専用のプロセス間通信を行なう処理部２７に送信する。暗号データを送信し、ＰＣ１Ａはデータを待ち受ける。
【００４３】
ステップＳ３８に進み、復号処理専用のプロセス間通信を行なう処理部２７は暗号モジュール３０に暗号データ（アプリケーションデータ）を送信する。処理部２７はデータを待ち受ける。また、暗号モジュール３０はデータを待ち受けているものとする。
【００４４】
暗号データ（アプリケーションデータ）は、インターフェース部３１を介して振分／管理部３２に送信される。振分／管理部３２は暗号データ（アプリケーションデータ）を復号処理部３５に振り分ける振り分けと、アプリケーション２１Ａとのセッションを管理するセッション管理を行なう。復号処理部３５は暗号データ（アプリケーションデータ）を平文データ（アプリケーションデータ）に復号する。
【００４５】
ステップＳ３９に進み、復号処理部３５は平文データ（アプリケーションデータ）を処理部２７に送信する。ステップＳ４０に進み、処理部２７は平文データ（アプリケーションデータ）をデーモン２３Ａに送信する。
【００４６】
デーモン２３Ａは平文データ（アプリケーションデータ）を受信すると、アプリケーションデータの処理を行う。ステップＳ４１に進み、デーモン２３Ａは暗号ライブラリ２２Ａから暗号化処理専用のプロセス間通信を行なう処理部２６を呼び出す。ステップＳ４２に進み、暗号化処理専用のプロセス間通信を行なう処理部２６は暗号モジュール３０に平文データ（アプリケーションデータレスポンス）を送信する。処理部２６はデータを待ち受けているものとする。
【００４７】
平文データ（アプリケーションデータレスポンス）は、インターフェース部３１を介して振分／管理部３２に送信される。処理部２６は、データを待ち受ける。また、暗号モジュール３０はデータを待ち受けているものとする。
【００４８】
振分／管理部３２は平文データ（アプリケーションデータレスポンス）を暗号化処理部３４に振り分ける振り分けと、アプリケーション２１Ａとのセッションを管理するセッション管理を行なう。暗号化処理部３４は、平文データ（アプリケーションデータレスポンス）を暗号データ（アプリケーションデータ）に暗号化する。
【００４９】
ステップＳ４３に進み、暗号化処理部３４は暗号データ（アプリケーションデータ）を処理部２６に送信する。ステップＳ４４に進み、処理部２６は暗号データ（アプリケーションデータ）をＰＣ１Ａに送信する。また、ステップＳ４５に進み、処理部２６は暗号データ（アプリケーションデータ）をデーモン２３Ａに送信する。
【００５０】
このように、図５及び図６のシーケンス図に示した処理により、ＰＣ１ＡとＭＦＰ２０との暗号通信が可能となる。アプリケーション２１，デーモン２３と暗号モジュールとのプロセス間通信が可能となる。
【００５１】
図７は、暗号ライブラリの一例を示す説明図である。アプリケーション２１，デーモン２３は暗号ライブラリ２２をリンクし、暗号モジュール３０との通信を暗号ライブラリ２２に行わせる。図７の暗号ライブラリは、宣言部分７１と、各アプリケーション２１又はデーモン２３の処理を示す定義部分７２と、ネゴシエーション処理部３３，暗号化処理部３４又は復号処理部３５の処理を示す定義部分７３とで構成される。
【００５２】
図８は、暗号ライブラリの形態を示す模式図である。図８（Ａ）は、スタティックリンクライブラリを示し、常にアプリケーション２１，デーモン２３と暗号ライブラリ２２をリンクしている。また、図８（Ｂ）はダイナミックリンクライブラリを示し、必要なときにアプリケーション２１，デーモン２３と暗号ライブラリ２２をリンクする。暗号ライブラリ２２は、スタティックリンクライブラリであっても、ダイナミックリンクライブラリであってもよい。
【００５３】
図９は、暗号モジュールの形態を示す模式図である。図９（Ａ）は、暗号モジュール３０をＳＤカード３０に保持している例を示す。図９（Ｂ）は、暗号モジュール３０をＨＤＤ９２に保持している例を示す。図９（Ｃ）は、暗号モジュール３０をＵＳＢストレージ９３に保持している例を示す。図９に示すように、各アプリケーション２１又はデーモン２３は暗号ライブラリ２２をリンクし、暗号モジュール３０との通信を暗号ライブラリ２２に行わせているため、暗号モジュール３０をＳＤカード９１，ＨＤＤ９２又はＵＳＢストレージ９３等のストレージに保持することができる。
【００５４】
図１０は、ＳＤＫにより開発されたユーザツールから暗号モジュールを利用する例を示す模式図である。ＳＤＫ１０１は、ＭＦＰ２０の環境に合ったソフトウエア開発を促すために用意する開発ツールキットである。図１０に示すように、本発明によればＳＤＫ１０１により開発されたユーザツール１００であっても、暗号ライブラリ２２をリンクし、暗号モジュール３０との通信を暗号ライブラリ２２に行わせることができる。従って、ＳＤＫにより開発されたユーザツール１００はＰＣ１Ａとの暗号通信が可能となる。
【００５５】
なお、暗号モジュール３０はアプリケーション２１の外部で保持されている為、容易に差し替えが可能である。ただし、差し替えが容易であるため、暗号モジュール３０の正当性をチェックする仕組みが必要となる。
【００５６】
図１１は、暗号モジュールの正当性をチェックする仕組みを示す一例のシーケンス図である。ここでは、暗号モジュール３０をＭＦＰ２０の管理者が管理する例を説明する。ＭＦＰ２０の管理者は暗号モジュール３０の更新／変更を行うことができる。なお、暗号モジュール３０の更新／変更方法は暗号モジュール３０が保持されているストレージによって異なる。
【００５７】
例えば暗号モジュール３０がＳＤカード９１に保持されている場合、暗号モジュール３０はＳＤドライブの変更やＳＤカード９１の差し替えによって変更できる。また、暗号モジュール３０がＨＤＤ９２に保持されている場合、暗号モジュール３０は暗号ライブラリ２２に記載されたファイルパスの変更やファイル名の変更により変更できる。さらに、暗号モジュール３０がＵＳＢストレージ９３に保持されている場合、暗号モジュール３０はＵＳＢストレージ９３の差し替えによって変更できる。また、暗号ライブラリ２２は暗号モジュール３０のデジタル署名を参照し、暗号モジュール３０の正当性をチェックすることもできる。
【００５８】
本発明は、具体的に開示された実施例に限定されるものではなく、特許請求の範囲から逸脱することなく、種々の変形や変更が可能である。
【図面の簡単な説明】
【００５９】
【図１】外部処理装置からの要求に基づき各種サービスを提供する画像処理装置を含むシステムの一例の構成図である。
【図２】外部処理装置からの要求に基づき各種サービスを提供する画像処理装置を含むシステムの一実施例の構成図である。
【図３】アプリケーション及び暗号モジュールの構成を詳細に示したブロック図である。
【図４】アプリケーションと暗号モジュールとのプロセス間通信を示すシーケンス図である。
【図５】アプリケーションが、ＰＣへ提供するサービスに掛かる処理を行なう例を示したシーケンス図（１／２）である。
【図６】アプリケーションが、ＰＣへ提供するサービスに掛かる処理を行なう例を示したシーケンス図（２／２）である。
【図７】暗号ライブラリの一例を示す説明図である。
【図８】暗号ライブラリの形態を示す模式図である。
【図９】暗号モジュールの形態を示す模式図である。
【図１０】ＳＤＫにより開発されたユーザツールから暗号モジュールを利用する例を示す模式図である。
【図１１】暗号モジュールの正当性をチェックする仕組みを示す一例のシーケンス図である。
【符号の説明】
【００６０】
１，１Ａ〜１Ｃ    パーソナルコンピュータ（ＰＣ）
３    ネットワーク
２０    複合機（ＭＦＰ）
２１，２１Ａ〜２１Ｃ    アプリケーション
２２，２２Ａ〜２２Ｃ    暗号ライブラリ
２３，２３Ａ，２３Ｂ    デーモン
２５    ネゴシエーション処理専用のプロセス間通信を行なう処理部
２６    暗号化処理専用のプロセス間通信を行なう処理部
２７    復号処理専用のプロセス間通信を行なう処理部
３０    暗号モジュール
３１    インターフェース部
３２    振分／管理部
３３    ネゴシエーション処理部
３４    暗号化処理部
３５    復号処理部
【図１】
2007158618.tif 000003
【図２】
2007158618.tif 000004
【図３】
2007158618.tif 000005
【図４】
2007158618.tif 000006
【図５】
2007158618.tif 000007
【図６】
2007158618.tif 000008
【図７】
2007158618.tif 000009
【図８】
2007158618.tif 000010
【図９】
2007158618.tif 000011
【図１０】
2007158618.tif 000012
【図１１】
2007158618.tif 000013