(57)【特許請求の範囲】
【請求項１】
暗号エンジンを用いてデータの暗号処理を行う情報処理装置であって、
１つ以上のアプリケーション手段と、
ネットワーク側から各プロトコルによって受信したデータを前記アプリケーション手段に振り分け、前記アプリケーション手段から受信したデータをネットワーク側に送信するネットワークコントロール手段と、
前記データに対して暗号処理を行う暗号処理手段と、
前記ネットワークコントロール手段に含まれる前記プロトコルに対応した複数の他の処理手段と前記暗号処理手段との間で、暗号処理に関するコマンド及び暗号処理の対象であるデータを送受信する暗号処理インターフェース手段と
を有し、
前記暗号処理手段は、
前記他の処理手段との間で、前記暗号処理に関するコマンド及び暗号処理の対象であるデータを、前記暗号処理インターフェース手段を介して送受信する送受信手段と、
前記データに対して暗号処理を行う暗号エンジンと、
前記送受信手段と前記暗号エンジンとの間で、前記データを送受信する暗号エンジンインターフェース手段と、
前記コマンドを解析し、前記コマンドに応じた暗号処理を、前記暗号エンジン及び暗号エンジンインターフェース手段を用いて行うコマンド解析手段と
を有することを特徴とする情報処理装置。
【請求項２】
前記暗号エンジンインターフェース手段は、前記暗号エンジンを使用する際、前記暗号エンジンの違いによる差異を吸収することを特徴とする請求項１記載の情報処理装置。
【請求項３】
前記コマンド解析手段は、前記コマンドに応じた暗号化処理実行，復号処理実行，前記暗号エンジンの選択を、前記暗号エンジン及び暗号エンジンインターフェース手段を用いて行うことを特徴とする請求項１記載の情報処理装置。
【請求項４】
前記暗号処理手段は、前記他の処理手段との間に張られたセッション数を計数し、前記セッション数が同時に並行処理可能なセッション数の範囲内となるように管理するセッション管理手段を更に有することを特徴とする請求項１記載の情報処理装置。
【請求項５】
前記暗号処理手段は、前記暗号エンジンを必要なときに読み込み、前記暗号エンジンが不要になったとき、読み込んだ前記暗号エンジンを破棄することを特徴とする請求項１記載の情報処理装置。
【請求項６】
前記情報処理装置は、プロッタ部及びスキャナ部を備えた画像処理装置であることを特徴とする請求項１乃至５何れか一項記載の情報処理装置。
【請求項７】
暗号エンジンを用いてデータの暗号処理を行う情報処理装置を、
１つ以上のアプリケーション手段、
ネットワーク側から各プロトコルによって受信したデータを前記アプリケーション手段に振り分け、前記アプリケーション手段から受信したデータをネットワーク側に送信するネットワークコントロール手段、
前記データに対して暗号処理を行う暗号処理手段、
前記ネットワークコントロール手段に含まれる前記プロトコルに対応した複数の他の処理手段と前記暗号処理手段との間で、暗号処理に関するコマンド及び暗号処理の対象であるデータを送受信する暗号処理インターフェース手段
として機能させ、
前記暗号処理手段は、
前記他の処理手段との間で、前記暗号処理に関するコマンド及び暗号処理の対象であるデータを、前記暗号処理インターフェース手段を介して送受信する送受信手段と、
前記データに対して暗号処理を行う暗号エンジンと、
前記送受信手段と前記暗号エンジンとの間で、前記データを送受信する暗号エンジンインターフェース手段と、
前記コマンドを解析し、前記コマンドに応じた暗号処理を、前記暗号エンジン及び暗号エンジンインターフェース手段を用いて行うコマンド解析手段と
を有する暗号処理プログラム。
【請求項８】
前記暗号エンジンインターフェース手段は、前記暗号エンジンを使用する際、前記暗号エンジンの違いによる差異を吸収することを特徴とする請求項７記載の暗号処理プログラム。
【請求項９】
前記コマンド解析手段は、前記コマンドに応じた暗号化処理実行，復号処理実行，前記暗号エンジンの選択を、前記暗号エンジン及び暗号エンジンインターフェース手段を用いて行うことを特徴とする請求項７記載の暗号処理プログラム。
【請求項１０】
前記暗号処理手段は、前記他の処理手段との間に張られたセッション数を計数し、前記セッション数が同時に並行処理可能なセッション数の範囲内となるように管理するセッション管理手段を更に有する請求項７記載の暗号処理プログラム。
【請求項１１】
前記暗号処理手段は、前記暗号エンジンを必要なときに読み込み、前記暗号エンジンが不要になったとき、読み込んだ前記暗号エンジンを破棄することを特徴とする請求項７記載の暗号処理プログラム。
【請求項１２】
前記情報処理装置は、プロッタ部及びスキャナ部を備えた画像処理装置であることを特徴とする請求項７乃至１１何れか一項記載の暗号処理プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は情報処理装置、暗号処理プログラムに係り、特に暗号エンジンを用いてデータの暗号処理を行う情報処理装置、暗号処理プログラムに関する。
【背景技術】
【０００２】
近年の情報セキュリティ意識の高まりに伴い、パーソナルコンピュータ，画像処理装置又は通信装置等の情報処理装置は、所定の暗号方式を用いてデータを暗号化し、通信中のデータの機密性を高めることが行われるようになった（例えば特許文献１参照）。
【特許文献１】特開２００６−２１７１５２号公報
【発明の開示】
【発明が解決しようとする課題】
【０００３】
従来の情報処理装置では、所定の通信方式に対応したデーモン（例えばｈｔｔｐｄ）の内部に暗号エンジン（例えばＯｐｅｎＳＳＬ）を取り込んでいた。しかしながら、従来の情報処理装置では、暗号エンジンを利用するデーモン毎に暗号エンジンを取り込む必要があり、同一の暗号エンジンが重複して取り込まれることによりＲＯＭ／ＲＡＭ等のメモリを浪費してしまうという問題があった。
【０００４】
また、従来の情報処理装置では、所定の通信方式に対応したデーモンの暗号エンジンを変更する場合に、デーモンを修正する必要があり、容易に暗号エンジンを変更できないという問題があった。
【０００５】
本発明は、上記の点に鑑みなされたもので、メモリの浪費を防ぐことができ、暗号エンジンの変更が容易な情報処理装置、暗号処理プログラムを提供することを目的とする。
【課題を解決するための手段】
【０００６】
上記課題を解決するため、本発明は、暗号エンジンを用いてデータの暗号処理を行う情報処理装置であって、１つ以上のアプリケーション手段と、ネットワーク側から各プロトコルによって受信したデータを前記アプリケーション手段に振り分け、前記アプリケーション手段から受信したデータをネットワーク側に送信するネットワークコントロール手段と、前記データに対して暗号処理を行う暗号処理手段と、前記ネットワークコントロール手段に含まれる前記プロトコルに対応した複数の他の処理手段と前記暗号処理手段との間で、暗号処理に関するコマンド及び暗号処理の対象であるデータを送受信する暗号処理インターフェース手段とを有し、前記暗号処理手段は、前記他の処理手段との間で、前記暗号処理に関するコマンド及び暗号処理の対象であるデータを、前記暗号処理インターフェース手段を介して送受信する送受信手段と、前記データに対して暗号処理を行う暗号エンジンと、前記送受信手段と前記暗号エンジンとの間で、前記データを送受信する暗号エンジンインターフェース手段と、前記コマンドを解析し、前記コマンドに応じた暗号処理を、前記暗号エンジン及び暗号エンジンインターフェース手段を用いて行うコマンド解析手段とを有することを特徴とする。
【０００７】
また、本発明は、暗号エンジンを用いてデータの暗号処理を行う情報処理装置を、１つ以上のアプリケーション手段、ネットワーク側から各プロトコルによって受信したデータを前記アプリケーション手段に振り分け、前記アプリケーション手段から受信したデータをネットワーク側に送信するネットワークコントロール手段、前記データに対して暗号処理を行う暗号処理手段、前記ネットワークコントロール手段に含まれる前記プロトコルに対応した複数の他の処理手段と前記暗号処理手段との間で、暗号処理に関するコマンド及び暗号処理の対象であるデータを送受信する暗号処理インターフェース手段として機能させ、前記暗号処理手段は、前記他の処理手段との間で、前記暗号処理に関するコマンド及び暗号処理の対象であるデータを、前記暗号処理インターフェース手段を介して送受信する送受信手段と、前記データに対して暗号処理を行う暗号エンジンと、前記送受信手段と前記暗号エンジンとの間で、前記データを送受信する暗号エンジンインターフェース手段と、前記コマンドを解析し、前記コマンドに応じた暗号処理を、前記暗号エンジン及び暗号エンジンインターフェース手段を用いて行うコマンド解析手段とを有する暗号処理プログラムであることを特徴とする。
【０００８】
なお、本発明の構成要素、表現または構成要素の任意の組合せを、方法、装置、システム、コンピュータプログラム、記録媒体、データ構造などに適用したものも本発明の態様として有効である。
【発明の効果】
【０００９】
本発明によれば、メモリの浪費を防ぐことができ、暗号エンジンの変更が容易な情報処理装置、暗号処理プログラムを提供可能である。
【発明を実施するための最良の形態】
【００１０】
次に、本発明を実施するための最良の形態を、以下の実施例に基づき図面を参照しつつ説明していく。まず、本発明の理解を容易とする為、本発明の原理について説明する。
【００１１】
図１は本発明の原理について説明する為のブロック図である。本発明では、所定の通信方式に対応したデーモン１から暗号エンジン４を切り出し、その暗号エンジン４をプロセスとしてモジュール化することにより、各デーモン１が暗号エンジン４を共通に利用できるようにしている。各デーモン１は他の処理手段に対応する。
【００１２】
モジュール化された暗号エンジン４は、暗号処理モジュール（ＤＥＳＳ）３によって制御される。暗号処理モジュール３は、暗号エンジン４を持つプロセスである。暗号処理モジュール３は動的に暗号エンジン４を取り込み、各デーモン１に暗号処理サービスを提供する。ＤＥＳＳ  Ｉ／Ｆ２は、各デーモン１が暗号処理モジュール３を利用する為のインターフェースである。各デーモン１は、ＤＥＳＳ  Ｉ／Ｆ２を介して暗号処理モジュール３を利用する。
【００１３】
図１では、デーモン１の一例としてｈｔｔｐｄ，ｎｃｓｄ，ｓｓｈｄ，ｓｎｍｐｄを表している。また、図１では、暗号エンジン４の一例としてＯｐｅｎＳＳＬ，ＢＳＡＦＥを表している。
【００１４】
図１のような構成とすることにより、各デーモン１は、使用する暗号エンジン４を動的に選択可能となり、暗号エンジン４の変更が容易となる。また、各デーモン１は個別に暗号エンジン４を取り込む必要が無くなるため、ＲＯＭ／ＲＡＭ等のメモリの容量を節約できる。
【実施例１】
【００１５】
次に、本発明による情報処理装置の一例として複合機を例に説明する。図２は本発明による複合機の一実施例のハードウェア構成図である。
【００１６】
複合機１０は、コントローラ１１と，操作パネル１２と，ＦＣＵ１３と，エンジン部１４とを含む。図２のコントローラ１１は、ＣＰＵ２１と，システムメモリ２２と，ノースブリッジ（ＮＢ）２３と，サウスブリッジ（ＳＢ）２４と，ＡＳＩＣ２５と，ローカルメモリ２６と，ＨＤＤ２７と、ネットワークインターフェースカード（ＮＩＣ）２８と，セントロニクス２９とを含む。
【００１７】
操作パネル１２は、コントローラ１１のＡＳＩＣ２５に接続されている。また、ＦＣＵ１３およびエンジン部１４は、コントローラ１１のＡＳＩＣ２５にＰＣＩバス３０で接続されている。
【００１８】
コントローラ１１は、ＡＳＩＣ２５にローカルメモリ２６，ＨＤＤ２７などが接続されると共に、ＣＰＵ２１とＡＳＩＣ２５とがＣＰＵチップセットのＮＢ２３を介して接続されている。コントローラ１１は、ＮＢ２３を介してＣＰＵ２１とＡＳＩＣ２５とを接続することにより、ＣＰＵ２１のインターフェースが公開されていない場合に対応する。ＡＳＩＣ２５とＮＢ２３とはＡＧＰ（Accelerated Graphics Port ）３１を介して接続されている。
【００１９】
このように、図２の複合機１０は一つ以上のプロセスを実行制御するため、ＡＳＩＣ２５とＮＢ２３とを低速のＰＣＩバスでなくＡＧＰ３１を介して接続し、パフォーマンスの低下を防いでいる。
【００２０】
ＣＰＵ２１は、複合機１０の全体制御を行うものである。例えばＣＰＵ２１は、後述するサービス層の各モジュールを、ＯＳ上にそれぞれプロセスとして起動して実行させると共に、アプリケーションを起動して実行させる。
【００２１】
ＮＢ２３は、ＣＰＵ２１，システムメモリ２２，ＳＢ２４，ＡＳＩＣ２５，ＮＩＣ２８及びセントロニクス２９を接続するためのブリッジである。ＳＢ２４，ＮＩＣ２８及びセントロニクス２９は、ＰＣＩバス３２を介してＮＢ２３に接続されている。なお、ＳＢ２４はＰＣＩバス３２とＲＯＭや周辺デバイス等とを接続するためのブリッジである。
【００２２】
システムメモリ２２は複合機１０の描画用メモリ等として用いるメモリである。ローカルメモリ２６はコピー用画像バッファ，符号バッファとして用いるメモリである。ＡＳＩＣ２５は、画像処理用のハードウェア要素を有する画像処理用途向けのＩＣである。ＨＤＤ２７は、画像データの蓄積，文書データの蓄積，プログラムの蓄積，フォントデータの蓄積，フォームの蓄積などを行うストレージ（補助記憶装置）の一例である。
【００２３】
ＮＩＣ２８は、複合機１０をネットワークに接続するインターフェース機器である。セントロニクス２９は、パソコンのプリンタ出力の規格であるセントロニクス規格に準じたインターフェースである。
【００２４】
また、操作パネル１２は、操作者からの入力操作を受け付けると共に、操作者に向けた表示を行う操作部である。ＦＣＵ（ファックスコントロールユニット）１３はファックスに関する制御を行うユニットであり、ファクシミリデータの送受信を行う。
【００２５】
図３は本発明による複合機の一実施例のソフトウェア構成図である。複合機１０は、アプリケーション４１，ＡＰＩ（アプリケーションプログラムインターフェース）４２，一つ以上のサービスモジュールを含むように構成されるサービス層４３，ＩＰＣ（プロセス間通信）部４４，スレッド制御部（ｐｔｈｒｅａｄ）４５及びＯＳ（オペレーティングシステム）４６を含むように構成される。
【００２６】
アプリケーション４１は、プリンタ，コピー，ファックスおよびスキャナなどの画像形成にかかる処理を行うプリンタアプリ，コピーアプリ，ファックスアプリ，スキャナアプリ等を含む。アプリケーション４１はＡＰＩ４２を利用して、サービス層４３のサービスモジュールを利用する。
【００２７】
サービス層４３は、アプリケーション４１からの処理要求を解釈してエンジン部１４等のハードウェアの獲得要求を発生すると共に、ハードウェアの管理を行って獲得要求を調停する。
【００２８】
ＩＰＣ部４４は動作中のモジュール（プロセス）間でデータをやり取りする為に利用されるものである。スレッド制御部４５は例えばスレッドを制御するライブラリである。ＯＳ４６は、アプリケーション４１，サービス層４３の各サービスモジュールをプロセスとして並列実行する。
【００２９】
上記した暗号処理モジュール（ＤＥＳＳ）３はネットワークコントロールサービス（ＮＣＳ）５１と同じくサービス層４３に含まれる。ＮＣＳ５１は、ネットワーク側から各プロトコルによって受信したデータを各アプリケーションに振り分け、各アプリケーションからのデータをネットワーク側に送信する際の仲介を行う。例えばＮＣＳ５１は、複合機１０にネットワークを介して接続されるクライアントとの通信を制御する。図３の複合機１０は、アプリケーション４１で共通的に必要な処理をサービス層４３で一元的に処理可能である。
【００３０】
図４は暗号処理モジュール及び暗号処理モジュールインターフェースの一実施例の機能ブロック図である。暗号処理モジュールインターフェース（ＤＥＳＳ  Ｉ／Ｆ）２は、コマンド送信部６１，コマンド受信部６２，データ送信部６３，データ受信部６４を含むように構成される。
【００３１】
ＤＥＳＳ３は、コマンド受信部６５，コマンド送信部６６，データ受信部６７，データ送信部６８，コマンド解析部６９，セッション管理部７０，暗号エンジンＩ／Ｆ７１及び暗号エンジン４を含むように構成される。
【００３２】
ＤＥＳＳ  Ｉ／Ｆ２のコマンド送信部６１及びコマンド受信部６２は、ＤＥＳＳ３との間でコマンドの送信，レスポンスの受信を行う。ＤＥＳＳ  Ｉ／Ｆ２のデータ送信部６３及びデータ受信部６４は、ＤＥＳＳ３との間で暗号処理前のデータの送信，暗号処理後のデータの受信を行う。
【００３３】
なお、ＤＥＳＳ  Ｉ／Ｆ２は、ＮＣＳ５１に含まれる各デーモン１からのコマンド及び暗号処理前のデータを受信し、各デーモン１へのレスポンス及び暗号処理後のデータを送信する。例えば各デーモン１は、上記のアプリケーション４１からの要求に基づき、ＤＥＳＳ  Ｉ／Ｆ２を介してＤＥＳＳ３を利用する。
【００３４】
ＤＥＳＳ３のコマンド受信部６５及びコマンド送信部６６は、ＤＥＳＳ  Ｉ／Ｆ２との間でコマンドの受信，レスポンスの送信を行う。なお、コマンドには、例えば暗号化処理の実行，復号処理の実行及び暗号エンジンの選択等がある。ＤＥＳＳ３のデータ受信部６７及びデータ送信部６８は、ＤＥＳＳ  Ｉ／Ｆ２との間で暗号処理前のデータの受信，暗号処理後のデータの送信を行う。
【００３５】
コマンド解析部６９は、コマンド受信部６５が受信したコマンドを解析し、そのコマンドに応じた処理を行うものである。コマンド解析部６９はセッションを割り当て、暗号エンジンＩ／Ｆ７１を使用してコマンドに応じた処理を行う。セッション管理部７０はＮＣＳ５１に含まれる各デーモン１との間に張られたセッション数を計数し、そのセッション数が同時に並行処理可能なセッション数の範囲内となるように管理する。
【００３６】
暗号エンジンＩ／Ｆ７１は、暗号エンジン４を使用する際に、呼び出し方の違いによる各暗号エンジン４の差異を吸収する部分である。暗号エンジン４はＯｐｅｎＳＳＬ，ＢＳＡＦＥなど、データに対して暗号処理を行う部分である。
【００３７】
なお、図４のＤＥＳＳ３では内部に暗号エンジン４を持つ構成を示したが、暗号エンジン４を外部モジュール化し、必要に応じてＤＥＳＳ３の外部から暗号エンジン４を読み込む構成としてもよい。例えばＤＥＳＳ３は必要に応じて暗号エンジン４を複合機１０の外からダウンロードする構成としてもよい。このように、暗号エンジン４を外部モジュール化し、必要に応じてＤＥＳＳ３の外部から暗号エンジン４を読み込む構成とすれば、更にＲＯＭ／ＲＡＭ等のメモリの容量を節約できる。
【００３８】
図５及び図６は暗号エンジンを読み込む構成としたＤＥＳＳの一例の構成図である。図５の構成図では、ＤＥＳＳ３が暗号エンジン４の一例としてＯｐｅｎＳＳＬを外部から読み込んでいる。図６の構成図では、ＤＥＳＳ３が暗号エンジン４の一例としてＢＳＡＦＥを外部から読み込んでいる。
【００３９】
図７の構成図では、ＤＥＳＳ３が暗号エンジン４の一例としてＯｐｅｎＳＳＬ及びＢＳＡＦＥを同時に外部から読み込んでいる。また、図８の構成図では、読み込んだ暗号エンジン４が不要になったとき、読み込んだ暗号エンジン４の一例としてのＯｐｅｎＳＳＬを破棄している。
【００４０】
図９は暗号エンジンＩ／Ｆが呼び出し方の違いによる各暗号エンジンの差異を吸収する仕組みについて説明する説明図である。図９に示すように、暗号エンジンＩ／Ｆ７１は暗号エンジン４に依らず、コマンド解析部６９に以下のような共通のＩ／Ｆを提供する。例えば暗号エンジンＩ／Ｆ７１は、ＥＮＣ＿Ｉｎｉｔ（），ＥＮＣ＿Ｕｐｄａｔｅ（）及びＥＮＣ＿Ｆｉｎａｌ（）を共通のＩ／Ｆとしてコマンド解析部６９に提供する。
【００４１】
暗号エンジンＩ／Ｆ７１は暗号エンジン４としてＯｐｅｎＳＳＬを利用する場合、コマンド解析部６９から受信したＥＮＣ＿Ｉｎｉｔ（）をＯｐｅｎＳＳＬ＿Ｉｎｉｔ（）に変換して暗号エンジン４としてＯｐｅｎＳＳＬに送信する。また、コマンド解析部６９から受信したＥＮＣ＿Ｕｐｄａｔｅ（）をＯｐｅｎＳＳＬ＿Ｕｐｄａｔｅ（）に変換して暗号エンジン４としてＯｐｅｎＳＳＬに送信する。さらに、コマンド解析部６９から受信したＥＮＣ＿Ｆｉｎａｌ（）をＯｐｅｎＳＳＬ＿Ｆｉｎａｌ（）に変換して暗号エンジン４としてＯｐｅｎＳＳＬに送信する。
【００４２】
暗号エンジンＩ／Ｆ７１は暗号エンジン４としてＢＳＡＦＥを利用する場合、コマンド解析部６９から受信したＥＮＣ＿Ｉｎｉｔ（）を、ＢＳＡＦＥ＿ＣＴＸ（）及びＢＳＡＦＥ＿Ｉｎｉｔ（）に変換して暗号エンジン４としてＢＳＡＦＥに送信する。また、コマンド解析部６９から受信したＥＮＣ＿Ｕｐｄａｔｅ（）をＢＳＡＦＥ＿Ｕｐｄａｔｅ（）に変換して暗号エンジン４としてＢＳＡＦＥに送信する。さらに、コマンド解析部６９から受信したＥＮＣ＿Ｆｉｎａｌ（）をＢＳＡＦＥ＿Ｆｉｎａｌ（）に変換して暗号エンジン４としてＢＳＡＦＥに送信する。
【００４３】
このように、暗号エンジンＩ／Ｆ７１はコマンド解析部６９から受信した暗号エンジン４に依らない共通のＩ／ＦであるＥＮＣ＿Ｉｎｉｔ（），ＥＮＣ＿Ｕｐｄａｔｅ（）及びＥＮＣ＿Ｆｉｎａｌ（）に基づき、暗号エンジン４に対応したＩ／Ｆを呼び出すことで各暗号エンジン４の差異を吸収できる。
【００４４】
以下、ＤＥＳＳ  Ｉ／Ｆ及びＤＥＳＳの処理手順について、シーケンス図を参照しつつ説明していく。図１０はＤＥＳＳ  Ｉ／Ｆ及びＤＥＳＳの処理手順の一例を表したシーケンス図である。図１０のシーケンス図は暗号エンジン４としてＯｐｅｎＳＳＬを選択する例を表している。
【００４５】
ステップＳ１に進み、ＤＥＳＳ  Ｉ／Ｆ２はＮＣＳ５１に含まれるデーモン１の一例としてのｈｔｔｐｄから暗号開始を要求される。ステップＳ２に進み、ＤＥＳＳ  Ｉ／Ｆ２はＤＥＳＳ３内のセッション管理部７０にセッション登録を要求する。ＤＥＳＳ  Ｉ／Ｆ２はステップＳ３に進み、セッション管理部７０に登録されたセッションの情報（例えばセッション識別子）をセッション管理部７０から通知される。ここでは、セッション管理部７０からセッション識別子が通知されたとして説明する。なお、ＤＥＳＳ  Ｉ／Ｆ２は通知されたセッション識別子と、デーモン１の一例としてのｈｔｔｐｄとを対応付けて管理する。
【００４６】
ステップＳ４に進み、ＤＥＳＳ  Ｉ／Ｆ２はデーモン１の一例としてのｈｔｔｐｄから暗号エンジン４としてＯｐｅｎＳＳＬの使用を要求される。ステップＳ５に進み、ＤＥＳＳ  Ｉ／Ｆ２はコマンド解析部６９に、暗号エンジン４としてＯｐｅｎＳＳＬを使用することを要求する。なお、ＤＥＳＳ  Ｉ／Ｆ２からコマンド解析部６９への要求には上記したセッション識別子（１）が付加されている。その他、後述のステップＳ６，Ｓ８〜Ｓ１６の要求にも上記したセッション識別子（１）が付加されている。また、ステップＳ６に進み、コマンド解析部６９は暗号エンジンＩ／Ｆ７１に、暗号エンジン４としてＯｐｅｎＳＳＬを使用することを通知する。
【００４７】
ステップＳ７に進み、ＤＥＳＳ  Ｉ／Ｆ２はデーモン１の一例としてのｈｔｔｐｄから暗号処理を要求される。ステップＳ８に進み、ＤＥＳＳ  Ｉ／Ｆ２はコマンド解析部６９にコマンドＥＮＣ＿Ｉｎｉｔ（１）を送信する。ステップＳ９に進み、コマンド解析部６９は受信したコマンドＥＮＣ＿Ｉｎｉｔ（１）を暗号エンジンＩ／Ｆ７１へ送信する。
【００４８】
ステップＳ１０に進み、暗号エンジンＩ／Ｆ７１は、共通のＩ／ＦであるＥＮＣ＿Ｉｎｉｔ（１）をＯｐｅｎＳＳＬ＿Ｉｎｉｔ（）に変換して暗号エンジン４としてＯｐｅｎＳＳＬに送信する。
【００４９】
また、ステップＳ１１に進み、ＤＥＳＳ  Ｉ／Ｆ２はコマンド解析部６９にコマンドＥＮＣ＿Ｕｐｄａｔｅ（１）を送信する。ステップＳ１２に進み、コマンド解析部６９は受信したコマンドＥＮＣ＿Ｕｐｄａｔｅ（１）を暗号エンジンＩ／Ｆ７１へ送信する。
【００５０】
ステップＳ１３に進み、暗号エンジンＩ／Ｆ７１は、共通のＩ／ＦであるＥＮＣ＿Ｕｐｄａｔｅ（１）をＯｐｅｎＳＳＬ＿Ｕｐｄａｔｅ（）に変換して暗号エンジン４としてＯｐｅｎＳＳＬに送信する。
【００５１】
また、ステップＳ１４に進み、ＤＥＳＳ  Ｉ／Ｆ２はコマンド解析部６９にコマンドＥＮＣ＿Ｆｉｎａｌ（１）を送信する。ステップＳ１５に進み、コマンド解析部６９は受信したコマンドＥＮＣ＿Ｆｉｎａｌ（１）を暗号エンジンＩ／Ｆ７１へ送信する。
【００５２】
ステップＳ１６に進み、暗号エンジンＩ／Ｆ７１は、共通のＩ／ＦであるＥＮＣ＿Ｆｉｎａｌ（１）をＯｐｅｎＳＳＬ＿Ｆｉｎａｌ（）に変換して暗号エンジン４としてＯｐｅｎＳＳＬに送信する。
【００５３】
ステップＳ１７に進み、ＤＥＳＳ  Ｉ／Ｆ２はＮＣＳ５１に含まれるデーモン１の一例としてのｈｔｔｐｄから暗号終了を要求される。ＤＥＳＳ  Ｉ／Ｆ２はステップＳ１８に進み、ＤＥＳＳ３内のセッション管理部７０にセッション（１）の削除を要求する。ＤＥＳＳ  Ｉ／Ｆ２は削除を要求したセッション識別子と、デーモン１の一例としてのｈｔｔｐｄとの対応付けを破棄する。
【００５４】
このように、暗号エンジンＩ／Ｆ７１は、暗号エンジン４に依らない共通のＩ／ＦであるＥＮＣ＿Ｉｎｉｔ（），ＥＮＣ＿Ｕｐｄａｔｅ（）及びＥＮＣ＿Ｆｉｎａｌ（）に基づいて暗号エンジン４に対応したＩ／Ｆを呼び出すことにより、各暗号エンジン４の差異を吸収できる。
【００５５】
また、図１１はＤＥＳＳ  Ｉ／Ｆ及びＤＥＳＳの処理手順の一例を表したシーケンス図である。図１１のシーケンス図は、複数の暗号エンジン４としてＯｐｅｎＳＳＬ４−１及びＢＳＡＦＥ４−２を同時に選択する例を表している。なお、図１１のシーケンス図は図１０のシーケンス図と同様な部分が含まれており、同様な部分について適宜説明を省略する。
【００５６】
ステップＳ２１に進み、ＤＥＳＳ  Ｉ／Ｆ２はデーモン１の一例としてのｈｔｔｐｄから暗号開始を要求される。ステップＳ２２に進み、ＤＥＳＳ  Ｉ／Ｆ２はＤＥＳＳ３内のセッション管理部７０にセッション登録を要求する。ＤＥＳＳ  Ｉ／Ｆ２はステップＳ２３に進み、セッション管理部７０に登録されたセッション識別子（１）をセッション管理部７０から通知される。
【００５７】
ステップＳ２４に進み、ＤＥＳＳ  Ｉ／Ｆ２はデーモン１の一例としてのｈｔｔｐｄから暗号エンジン４としてＯｐｅｎＳＳＬ４−１の使用を要求される。ステップＳ２５に進み、ＤＥＳＳ  Ｉ／Ｆ２はコマンド解析部６９に、暗号エンジン４としてＯｐｅｎＳＳＬ４−１を使用することを要求する。また、ステップＳ２６に進み、コマンド解析部６９は暗号エンジンＩ／Ｆ７１に、暗号エンジン４としてＯｐｅｎＳＳＬ４−１を使用することを通知する。
【００５８】
ステップＳ２７に進み、ＤＥＳＳ  Ｉ／Ｆ２はデーモン１の一例としてのｈｔｔｐｄから暗号処理を要求される。ステップＳ２８に進み、ＤＥＳＳ  Ｉ／Ｆ２はコマンド解析部６９にコマンドＥＮＣ＿Ｉｎｉｔ（１）を送信する。ステップＳ２９に進み、コマンド解析部６９は、受信したコマンドＥＮＣ＿Ｉｎｉｔ（１）を暗号エンジンＩ／Ｆ７１へ送信する。
【００５９】
ステップＳ３０に進み、暗号エンジンＩ／Ｆ７１は、共通のＩ／ＦであるＥＮＣ＿Ｉｎｉｔ（１）をＯｐｅｎＳＳＬ＿Ｉｎｉｔ（）に変換して暗号エンジン４としてＯｐｅｎＳＳＬ４−１に送信する。
【００６０】
ステップＳ３１に進み、ＤＥＳＳ  Ｉ／Ｆ２はデーモン１の一例としてのｈｔｔｐｄから暗号開始を要求される。ステップＳ３２に進み、ＤＥＳＳ  Ｉ／Ｆ２はＤＥＳＳ３内のセッション管理部７０にセッション登録を要求する。ＤＥＳＳ  Ｉ／Ｆ２はステップＳ３３に進み、セッション管理部７０に登録されたセッション識別子（２）をセッション管理部７０から通知される。
【００６１】
ステップＳ３４に進み、ＤＥＳＳ  Ｉ／Ｆ２はデーモン１の一例としてのｈｔｔｐｄから暗号エンジン４としてＢＳＡＦＥ４−２の使用を要求される。また、ステップＳ３５に進み、ＤＥＳＳ  Ｉ／Ｆ２は、コマンド解析部６９に、暗号エンジン４としてＢＳＡＦＥ４−２を使用することを要求する。また、ステップＳ３６に進み、コマンド解析部６９は暗号エンジンＩ／Ｆ７１に、暗号エンジン４としてＢＳＡＦＥ４−２を使用することを通知する。
【００６２】
さらに、ステップＳ３７に進み、ＤＥＳＳ  Ｉ／Ｆ２はコマンド解析部６９にコマンドＥＮＣ＿Ｕｐｄａｔｅ（１）を送信する。ステップＳ３８に進み、コマンド解析部６９は受信したコマンドＥＮＣ＿Ｕｐｄａｔｅ（１）を暗号エンジンＩ／Ｆ７１へ送信する。ステップＳ３９に進み、暗号エンジンＩ／Ｆ７１は、共通のＩ／ＦであるＥＮＣ＿Ｕｐｄａｔｅ（１）をＯｐｅｎＳＳＬ＿Ｕｐｄａｔｅ（）に変換して暗号エンジン４としてＯｐｅｎＳＳＬ４−１に送信する。
【００６３】
また、ステップＳ４０に進み、ＤＥＳＳ  Ｉ／Ｆ２はコマンド解析部６９にコマンドＥＮＣ＿Ｆｉｎａｌ（１）を送信する。ステップＳ４１に進み、コマンド解析部６９は受信したコマンドＥＮＣ＿Ｆｉｎａｌ（１）を暗号エンジンＩ／Ｆ７１へ送信する。
【００６４】
ステップＳ４２に進み、暗号エンジンＩ／Ｆ７１は、共通のＩ／ＦであるＥＮＣ＿Ｆｉｎａｌ（１）をＯｐｅｎＳＳＬ＿Ｆｉｎａｌ（）に変換して暗号エンジン４としてＯｐｅｎＳＳＬ４−１に送信する。
【００６５】
ステップＳ４３に進み、ＤＥＳＳ  Ｉ／Ｆ２はＮＣＳ５１に含まれるデーモン１の一例としてのｈｔｔｐｄから暗号終了を要求される。ＤＥＳＳ  Ｉ／Ｆ２はステップＳ４４に進み、ＤＥＳＳ３内のセッション管理部７０にセッション（１）の削除を要求する。
【００６６】
ステップＳ４５に進み、ＤＥＳＳ  Ｉ／Ｆ２はデーモン１の一例としてのｈｔｔｐｄから暗号処理を要求される。ステップＳ４６に進み、ＤＥＳＳ  Ｉ／Ｆ２はコマンド解析部６９にコマンドＥＮＣ＿Ｉｎｉｔ（２）を送信する。ステップＳ４７に進み、コマンド解析部６９は、受信したコマンドＥＮＣ＿Ｉｎｉｔ（２）を暗号エンジンＩ／Ｆ７１へ送信する。
【００６７】
ステップＳ４８，Ｓ４９に進み、暗号エンジンＩ／Ｆ７１は、共通のＩ／ＦであるＥＮＣ＿Ｉｎｉｔ（２）をＢＳＡＦＥ＿ＣＴＸ（）及びＢＳＡＦＥ＿Ｉｎｉｔ（）に変換して暗号エンジン４としてＢＳＡＦＥ４−２に送信する。
【００６８】
また、ステップＳ５０に進み、ＤＥＳＳ  Ｉ／Ｆ２はコマンド解析部６９にコマンドＥＮＣ＿Ｕｐｄａｔｅ（２）を送信する。ステップＳ５１に進み、コマンド解析部６９は受信したコマンドＥＮＣ＿Ｕｐｄａｔｅ（２）を暗号エンジンＩ／Ｆ７１へ送信する。
【００６９】
ステップＳ５２に進み、暗号エンジンＩ／Ｆ７１は、共通のＩ／ＦであるＥＮＣ＿Ｕｐｄａｔｅ（２）をＢＳＡＦＥ＿Ｕｐｄａｔｅ（）に変換して暗号エンジン４としてＢＳＡＦＥ４−２に送信する。
【００７０】
また、ステップＳ５３に進み、ＤＥＳＳ  Ｉ／Ｆ２はコマンド解析部６９にコマンドＥＮＣ＿Ｆｉｎａｌ（２）を送信する。ステップＳ５４に進み、コマンド解析部６９は受信したコマンドＥＮＣ＿Ｆｉｎａｌ（２）を暗号エンジンＩ／Ｆ７１へ送信する。
【００７１】
ステップＳ５５に進み、暗号エンジンＩ／Ｆ７１は、共通のＩ／ＦであるＥＮＣ＿Ｆｉｎａｌ（２）をＢＳＡＦＥ＿Ｆｉｎａｌ（）に変換して暗号エンジン４としてＢＳＡＦＥ４−２に送信する。
【００７２】
ステップＳ５６に進み、ＤＥＳＳ  Ｉ／Ｆ２はＮＣＳ５１に含まれるデーモン１の一例としてのｈｔｔｐｄから暗号終了を要求される。ＤＥＳＳ  Ｉ／Ｆ２はステップＳ５７に進み、ＤＥＳＳ３内のセッション管理部７０にセッション（２）の削除を要求する。
【００７３】
このように、暗号エンジンＩ／Ｆ７１は、複数の暗号エンジン４としてＯｐｅｎＳＳＬ４−１及びＢＳＡＦＥ４−２を同時に選択する場合であっても、暗号エンジン４に依らない共通のＩ／ＦであるＥＮＣ＿Ｉｎｉｔ（），ＥＮＣ＿Ｕｐｄａｔｅ（）及びＥＮＣ＿Ｆｉｎａｌ（）に基づいて暗号エンジン４に対応したＩ／Ｆを呼び出すことにより、各暗号エンジン４の差異を吸収できる。
【００７４】
また、図１２はＤＥＳＳ  Ｉ／Ｆ及びＤＥＳＳの処理手順の一例を表したシーケンス図である。図１２のシーケンス図は複数のデーモンから同時に暗号エンジン４を選択する例を表している。なお、図１２のシーケンス図は図１０のシーケンス図と同様な部分が含まれており、同様な部分について適宜説明を省略する。
【００７５】
ステップＳ６１に進み、ＤＥＳＳ  Ｉ／Ｆ２は、デーモン１の一例としてのｈｔｔｐｄ１−１から暗号開始を要求される。ステップＳ６２に進み、ＤＥＳＳ  Ｉ／Ｆ２はＤＥＳＳ３内のセッション管理部７０にセッション登録を要求する。ステップＳ２３に進み、ＤＥＳＳ  Ｉ／Ｆ２はセッション識別子（１）をセッション管理部７０から通知される。
【００７６】
ステップＳ６４に進み、ＤＥＳＳ  Ｉ／Ｆ２は、デーモン１の一例としてのｈｔｔｐｄ１−１から暗号エンジン４としてＯｐｅｎＳＳＬの使用を要求される。ステップＳ６５に進み、ＤＥＳＳ  Ｉ／Ｆ２はコマンド解析部６９に、暗号エンジン４としてＯｐｅｎＳＳＬを使用することを要求する。ステップＳ６６に進み、コマンド解析部６９は暗号エンジンＩ／Ｆ７１に、暗号エンジン４としてＯｐｅｎＳＳＬを使用することを通知する。
【００７７】
ステップＳ６７に進み、ＤＥＳＳ  Ｉ／Ｆ２は、デーモン１の一例としてのｈｔｔｐｄ１−１から暗号処理を要求される。ステップＳ６８に進み、ＤＥＳＳ  Ｉ／Ｆ２はコマンド解析部６９にコマンドＥＮＣ＿Ｉｎｉｔ（１）を送信する。ステップＳ６９に進み、コマンド解析部６９は、受信したコマンドＥＮＣ＿Ｉｎｉｔ（１）を暗号エンジンＩ／Ｆ７１へ送信する。
【００７８】
ステップＳ７０に進み、暗号エンジンＩ／Ｆ７１は、共通のＩ／ＦであるＥＮＣ＿Ｉｎｉｔ（１）をＯｐｅｎＳＳＬ＿Ｉｎｉｔ（）に変換して暗号エンジン４としてＯｐｅｎＳＳＬに送信する。
【００７９】
ステップＳ７１に進み、ＤＥＳＳ  Ｉ／Ｆ２はデーモン１の一例としてｎｃｓｄ１−２から暗号開始を要求される。ステップＳ７２に進み、ＤＥＳＳ  Ｉ／Ｆ２はＤＥＳＳ３内のセッション管理部７０にセッション登録を要求する。ＤＥＳＳ  Ｉ／Ｆ２はステップＳ７３に進み、セッション管理部７０に登録されたセッション識別子（２）をセッション管理部７０から通知される。
【００８０】
ステップＳ７４に進み、ＤＥＳＳ  Ｉ／Ｆ２はデーモン１の一例としてｎｃｓｄ１−２から暗号エンジン４としてＯｐｅｎＳＳＬの使用を要求される。また、ステップＳ７５に進み、ＤＥＳＳ  Ｉ／Ｆ２は、コマンド解析部６９に、暗号エンジン４としてＯｐｅｎＳＳＬを使用することを要求する。
【００８１】
さらに、ステップＳ７６に進み、ＤＥＳＳ  Ｉ／Ｆ２はコマンド解析部６９にコマンドＥＮＣ＿Ｕｐｄａｔｅ（１）を送信する。ステップＳ７７に進み、コマンド解析部６９は受信したコマンドＥＮＣ＿Ｕｐｄａｔｅ（１）を暗号エンジンＩ／Ｆ７１へ送信する。ステップＳ７８に進み、暗号エンジンＩ／Ｆ７１は、共通のＩ／ＦであるＥＮＣ＿Ｕｐｄａｔｅ（１）をＯｐｅｎＳＳＬ＿Ｕｐｄａｔｅ（）に変換して暗号エンジン４としてＯｐｅｎＳＳＬに送信する。
【００８２】
また、ステップＳ７９に進み、ＤＥＳＳ  Ｉ／Ｆ２はコマンド解析部６９にコマンドＥＮＣ＿Ｆｉｎａｌ（１）を送信する。ステップＳ８０に進み、コマンド解析部６９は受信したコマンドＥＮＣ＿Ｆｉｎａｌ（１）を暗号エンジンＩ／Ｆ７１へ送信する。
【００８３】
ステップＳ８１に進み、暗号エンジンＩ／Ｆ７１は、共通のＩ／ＦであるＥＮＣ＿Ｆｉｎａｌ（１）をＯｐｅｎＳＳＬ＿Ｆｉｎａｌ（）に変換して暗号エンジン４としてＯｐｅｎＳＳＬに送信する。
【００８４】
ステップＳ８２に進み、ＤＥＳＳ  Ｉ／Ｆ２は、ＮＣＳ５１に含まれるデーモン１の一例としてのｈｔｔｐｄ１−１から暗号終了を要求される。ＤＥＳＳ  Ｉ／Ｆ２は、ステップＳ８３に進み、ＤＥＳＳ３内のセッション管理部７０にセッション（１）の削除を要求する。
【００８５】
ステップＳ８４に進み、ＤＥＳＳ  Ｉ／Ｆ２はデーモン１の一例としてｎｃｓｄ１−２から暗号処理を要求される。ステップＳ８５に進み、ＤＥＳＳ  Ｉ／Ｆ２はコマンド解析部６９にコマンドＥＮＣ＿Ｉｎｉｔ（２）を送信する。ステップＳ８６に進み、コマンド解析部６９は、受信したコマンドＥＮＣ＿Ｉｎｉｔ（２）を暗号エンジンＩ／Ｆ７１へ送信する。
【００８６】
ステップＳ８７に進み、暗号エンジンＩ／Ｆ７１は、共通のＩ／ＦであるＥＮＣ＿Ｉｎｉｔ（２）をＯｐｅｎＳＳＬ＿Ｉｎｉｔ（）に変換して暗号エンジン４としてＯｐｅｎＳＳＬに送信する。
【００８７】
さらに、ステップＳ８８に進み、ＤＥＳＳ  Ｉ／Ｆ２はコマンド解析部６９にコマンドＥＮＣ＿Ｕｐｄａｔｅ（２）を送信する。ステップＳ８９に進み、コマンド解析部６９は受信したコマンドＥＮＣ＿Ｕｐｄａｔｅ（２）を暗号エンジンＩ／Ｆ７１へ送信する。ステップＳ９０に進み、暗号エンジンＩ／Ｆ７１は、共通のＩ／ＦであるＥＮＣ＿Ｕｐｄａｔｅ（２）をＯｐｅｎＳＳＬ＿Ｕｐｄａｔｅ（）に変換して暗号エンジン４としてＯｐｅｎＳＳＬに送信する。
【００８８】
また、ステップＳ９１に進み、ＤＥＳＳ  Ｉ／Ｆ２はコマンド解析部６９にコマンドＥＮＣ＿Ｆｉｎａｌ（２）を送信する。ステップＳ９２に進み、コマンド解析部６９は受信したコマンドＥＮＣ＿Ｆｉｎａｌ（２）を暗号エンジンＩ／Ｆ７１へ送信する。
【００８９】
ステップＳ９３に進み、暗号エンジンＩ／Ｆ７１は、共通のＩ／ＦであるＥＮＣ＿Ｆｉｎａｌ（２）をＯｐｅｎＳＳＬ＿Ｆｉｎａｌ（）に変換して暗号エンジン４としてＯｐｅｎＳＳＬに送信する。
【００９０】
ステップＳ９４に進み、ＤＥＳＳ  Ｉ／Ｆ２は、ＮＣＳ５１に含まれるデーモン１の一例としてのｎｃｓｄ１−２から暗号終了を要求される。ＤＥＳＳ  Ｉ／Ｆ２は、ステップＳ９５に進み、ＤＥＳＳ３内のセッション管理部７０に、セッション（２）の削除を要求する。
【００９１】
このように、暗号エンジンＩ／Ｆ７１は、複数のデーモンとしてのｈｔｔｐｄ１−１及びｎｃｓｄ１−２から同時に暗号エンジン４を選択する場合であっても、暗号エンジン４に依らない共通のＩ／ＦであるＥＮＣ＿Ｉｎｉｔ（），ＥＮＣ＿Ｕｐｄａｔｅ（）及びＥＮＣ＿Ｆｉｎａｌ（）に基づいて暗号エンジン４に対応したＩ／Ｆを呼び出すことにより各暗号エンジン４の差異を吸収できる。
【００９２】
また、図１３はＤＥＳＳ  Ｉ／Ｆ及びＤＥＳＳの処理手順の一例を表したシーケンス図である。図１３のシーケンス図は、使用する機能により自動的に暗号エンジン４を選択する例を表している。なお、図１３のシーケンス図は図１１のシーケンス図と同様な部分が含まれており、同様な部分について適宜説明を省略する。
【００９３】
ステップＳ１０１に進み、ＤＥＳＳ  Ｉ／Ｆ２はデーモン１の一例としてのｈｔｔｐｄからＳＳＬ開始を要求される。ステップＳ１０２に進み、ＤＥＳＳ  Ｉ／Ｆ２はＤＥＳＳ３内のセッション管理部７０にセッション登録を要求する。ステップＳ１０３に進み、ＤＥＳＳ  Ｉ／Ｆ２はセッション管理部７０に登録されたセッション識別子（１）をセッション管理部７０から通知される。
【００９４】
ステップＳ１０４に進み、ＤＥＳＳ  Ｉ／Ｆ２はコマンド解析部６９に、ＳＳＬを使用することを要求する。また、ステップＳ１０５に進み、コマンド解析部６９は暗号エンジンＩ／Ｆ７１に、ＳＳＬに基づき、暗号エンジン４としてのＯｐｅｎＳＳＬ４−１を使用することを通知する。
【００９５】
ステップＳ１０６に進み、ＤＥＳＳ  Ｉ／Ｆ２はデーモン１の一例としてのｈｔｔｐｄからＳＳＬ処理を要求される。ステップＳ１０７に進み、ＤＥＳＳ  Ｉ／Ｆ２はコマンド解析部６９にコマンドＥＮＣ＿Ｉｎｉｔ（１）を送信する。ステップＳ１０８に進み、コマンド解析部６９は、受信したコマンドＥＮＣ＿Ｉｎｉｔ（１）を暗号エンジンＩ／Ｆ７１へ送信する。
【００９６】
ステップＳ１０９に進み、暗号エンジンＩ／Ｆ７１は、共通のＩ／ＦであるＥＮＣ＿Ｉｎｉｔ（１）をＯｐｅｎＳＳＬ＿Ｉｎｉｔ（）に変換して暗号エンジン４としてＯｐｅｎＳＳＬ４−１に送信する。
【００９７】
さらに、ステップＳ１１０に進み、ＤＥＳＳ  Ｉ／Ｆ２は、コマンド解析部６９にコマンドＥＮＣ＿Ｕｐｄａｔｅ（１）を送信する。ステップＳ１１１に進み、コマンド解析部６９は、受信したコマンドＥＮＣ＿Ｕｐｄａｔｅ（１）を暗号エンジンＩ／Ｆ７１へ送信する。
【００９８】
ステップＳ１１２に進み、暗号エンジンＩ／Ｆ７１は、共通のＩ／ＦであるＥＮＣ＿Ｕｐｄａｔｅ（１）をＯｐｅｎＳＳＬ＿Ｕｐｄａｔｅ（）に変換して暗号エンジン４としてＯｐｅｎＳＳＬ４−１に送信する。
【００９９】
また、ステップＳ１１３に進み、ＤＥＳＳ  Ｉ／Ｆ２はコマンド解析部６９にコマンドＥＮＣ＿Ｆｉｎａｌ（１）を送信する。ステップＳ１１４に進み、コマンド解析部６９は受信したコマンドＥＮＣ＿Ｆｉｎａｌ（１）を暗号エンジンＩ／Ｆ７１へ送信する。
【０１００】
ステップＳ１１５に進み、暗号エンジンＩ／Ｆ７１は、共通のＩ／ＦであるＥＮＣ＿Ｆｉｎａｌ（１）をＯｐｅｎＳＳＬ＿Ｆｉｎａｌ（）に変換して暗号エンジン４としてＯｐｅｎＳＳＬ４−１に送信する。
【０１０１】
ステップＳ１１６に進み、ＤＥＳＳ  Ｉ／Ｆ２は、ＮＣＳ５１に含まれるデーモン１の一例としてのｈｔｔｐｄからＳＳＬ終了を要求される。ＤＥＳＳ  Ｉ／Ｆ２は、ステップＳ１１７に進み、ＤＥＳＳ３内のセッション管理部７０にセッション（１）の削除を要求する。
【０１０２】
ステップＳ１１８に進み、ＤＥＳＳ  Ｉ／Ｆ２はデーモン１の一例としてのｈｔｔｐｄから暗号開始を要求される。ステップＳ１１９に進み、ＤＥＳＳ  Ｉ／Ｆ２はＤＥＳＳ３内のセッション管理部７０にセッション登録を要求する。ＤＥＳＳ  Ｉ／Ｆ２はステップＳ１２０に進み、セッション管理部７０に登録されたセッション識別子（２）をセッション管理部７０から通知される。
【０１０３】
ステップＳ１２１に進み、ＤＥＳＳ  Ｉ／Ｆ２はコマンド解析部６９に、暗号を使用することを要求する。また、ステップＳ１２２に進み、コマンド解析部６９は暗号エンジンＩ／Ｆ７１に、ＢＳＡＦＥに基づき、暗号エンジン４としてのＢＳＡＦＥ４−２を使用することを通知する。
【０１０４】
ステップＳ１２３に進み、ＤＥＳＳ  Ｉ／Ｆ２はデーモン１の一例としてのｈｔｔｐｄから暗号処理を要求される。ステップＳ１２４に進み、ＤＥＳＳ  Ｉ／Ｆ２はコマンド解析部６９にコマンドＥＮＣ＿Ｉｎｉｔ（２）を送信する。ステップＳ１２５に進み、コマンド解析部６９は、受信したコマンドＥＮＣ＿Ｉｎｉｔ（２）を暗号エンジンＩ／Ｆ７１へ送信する。
【０１０５】
ステップＳ１２６，Ｓ１２７に進み、暗号エンジンＩ／Ｆ７１は、共通のＩ／ＦであるＥＮＣ＿Ｉｎｉｔ（２）をＢＳＡＦＥ＿ＣＴＸ（）及びＢＳＡＦＥ＿Ｉｎｉｔ（）に変換して暗号エンジン４としてＢＳＡＦＥ４−２に送信する。
【０１０６】
また、ステップＳ１２８に進み、ＤＥＳＳ  Ｉ／Ｆ２は、コマンド解析部６９にコマンドＥＮＣ＿Ｕｐｄａｔｅ（２）を送信する。ステップＳ１２９に進み、コマンド解析部６９は、受信したコマンドＥＮＣ＿Ｕｐｄａｔｅ（２）を、暗号エンジンＩ／Ｆ７１へ送信する。
【０１０７】
ステップＳ１３０に進み、暗号エンジンＩ／Ｆ７１は、共通のＩ／ＦであるＥＮＣ＿Ｕｐｄａｔｅ（２）をＢＳＡＦＥ＿Ｕｐｄａｔｅ（）に変換して暗号エンジン４としてＢＳＡＦＥ４−２に送信する。
【０１０８】
また、ステップＳ１３１に進み、ＤＥＳＳ  Ｉ／Ｆ２はコマンド解析部６９にコマンドＥＮＣ＿Ｆｉｎａｌ（２）を送信する。ステップＳ１３２に進み、コマンド解析部６９は受信したコマンドＥＮＣ＿Ｆｉｎａｌ（２）を暗号エンジンＩ／Ｆ７１へ送信する。
【０１０９】
ステップＳ１３３に進み、暗号エンジンＩ／Ｆ７１は、共通のＩ／ＦであるＥＮＣ＿Ｆｉｎａｌ（２）をＢＳＡＦＥ＿Ｆｉｎａｌ（）に変換して暗号エンジン４としてＢＳＡＦＥ４−２に送信する。
【０１１０】
ステップＳ１３４に進み、ＤＥＳＳ  Ｉ／Ｆ２はＮＣＳ５１に含まれるデーモン１の一例としてのｈｔｔｐｄから暗号終了を要求される。ＤＥＳＳ  Ｉ／Ｆ２はステップＳ１３５に進み、ＤＥＳＳ３内のセッション管理部７０にセッション（２）の削除を要求する。
【０１１１】
このように、暗号エンジンＩ／Ｆ７１は、使用する機能により自動的に暗号エンジン４を選択する場合であっても、暗号エンジン４に依らない共通のＩ／ＦであるＥＮＣ＿Ｉｎｉｔ（），ＥＮＣ＿Ｕｐｄａｔｅ（）及びＥＮＣ＿Ｆｉｎａｌ（）に基づいて暗号エンジン４に対応したＩ／Ｆを呼び出すことにより、各暗号エンジン４の差異を吸収できる。
【０１１２】
本発明は、具体的に開示された実施例に限定されるものではなく、特許請求の範囲から逸脱することなく、種々の変形や変更が可能である。
【図面の簡単な説明】
【０１１３】
【図１】本発明の原理について説明する為のブロック図である。
【図２】本発明による複合機の一実施例のハードウェア構成図である。
【図３】本発明による複合機の一実施例のソフトウェア構成図である。
【図４】暗号処理モジュール及び暗号処理モジュールインターフェースの一実施例の機能ブロック図である。
【図５】暗号エンジンを読み込む構成としたＤＥＳＳの一例の構成図である。
【図６】暗号エンジンを読み込む構成としたＤＥＳＳの一例の構成図である。
【図７】複数の暗号エンジンを同時に読み込む構成としたときのＤＥＳＳの一例の構成図である。
【図８】読み込んだ暗号エンジンが不要になったとき、読み込んだ暗号エンジンを破棄するＤＥＳＳの一例の構成図である。
【図９】暗号エンジンＩ／Ｆが呼び出し方の違いによる各暗号エンジンの差異を吸収する仕組みについて説明する説明図である。
【図１０】ＤＥＳＳ  Ｉ／Ｆ及びＤＥＳＳの処理手順を表したシーケンス図である。
【図１１】ＤＥＳＳ  Ｉ／Ｆ及びＤＥＳＳの処理手順を表したシーケンス図である。
【図１２】ＤＥＳＳ  Ｉ／Ｆ及びＤＥＳＳの処理手順を表したシーケンス図である。
【図１３】ＤＥＳＳ  Ｉ／Ｆ及びＤＥＳＳの処理手順を表したシーケンス図である。
【符号の説明】
【０１１４】
１    デーモン
２    暗号処理モジュールインターフェース（ＤＥＳＳ  Ｉ／Ｆ）
３    暗号処理モジュール（ＤＥＳＳ）
４    暗号エンジン
１０    複合機
１１    コントローラ
１２    操作パネル
１３    ＦＣＵ
１４    エンジン部
２１    ＣＰＵ
２２    システムメモリ
２３    ノースブリッジ（ＮＢ）
２４    サウスブリッジ（ＳＢ）
２５    ＡＳＩＣ
２６    ローカルメモリ
２７    ＨＤＤ
２８    ネットワークインターフェースカード（ＮＩＣ）
２９    セントロニクス
３０，３２    ＰＣＩバス
３１    ＡＧＰ（Accelerated Graphics Port ）
４１    アプリケーション
４２    ＡＰＩ（アプリケーションプログラムインターフェース）
４３    サービス層
４４    ＩＰＣ（プロセス間通信）部
４５    スレッド制御部（ｐｔｈｒｅａｄ）
４６    ＯＳ（オペレーティングシステム）
５１    ＮＣＳ
６１，６６    コマンド送信部
６２，６５    コマンド受信部
６３，６８    データ送信部
６４，６７    データ受信部
６９    コマンド解析部
７０    セッション管理部
７１    暗号エンジンＩ／Ｆ
【図１】
0005277576.tif 000002
【図２】
0005277576.tif 000003
【図３】
0005277576.tif 000004
【図４】
0005277576.tif 000005
【図５】
0005277576.tif 000006
【図６】
0005277576.tif 000007
【図７】
0005277576.tif 000008
【図８】
0005277576.tif 000009
【図９】
0005277576.tif 000010
【図１０】
0005277576.tif 000011
【図１１】
0005277576.tif 000012
【図１２】
0005277576.tif 000013
【図１３】
0005277576.tif 000014