(57)【特許請求の範囲】
【請求項１】
複数の暗号モジュールを管理し、暗号モジュールの選定要求に応じて暗号モジュールを選定して出力する暗号管理装置であって、
複数の暗号モジュールを格納する暗号モジュール記憶部と、
当該個々の暗号モジュールの属するカテゴリを表すカテゴリ情報と、当該個々の暗号モジュールに対する所定の評価結果を示す第１の評価情報と、当該個々の暗号モジュールの実行に他の関連暗号モジュールを必要とする場合に当該他の関連暗号モジュールが属するカテゴリを表すカテゴリ情報と、当該他の関連暗号モジュールに対する所定の評価結果を示す第２の評価情報と前記第１の評価情報とから当該暗号モジュールと当該他の関連暗号モジュールとを組み合わせて実行した場合に対する所定の評価情報を示す複合型暗号評価情報の導出方法を示す導出方法情報とを含む暗号モジュールメタ情報を記憶する暗号モジュールメタ情報記憶部と、
要求される暗号モジュールのカテゴリ情報に基づき、前記暗号モジュールメタ情報記憶部を参照して前記暗号モジュールメタ情報を検索する暗号モジュールメタ情報検索部と、
前記暗号モジュールメタ情報検索部によって検索された暗号モジュールメタ情報に関連暗号モジュールカテゴリ情報が含まれている場合、前記暗号モジュールメタ情報検索部を用いて関連暗号モジュールの暗号モジュールメタ情報を検索し、検索の結果得られた各々の関連暗号モジュールの暗号モジュールメタ情報を指定して当該復号型暗号評価計算部を再帰的に呼び出すことによって得られる復号型暗号評価情報である前記第２の評価情報と、当該暗号モジュールの暗号モジュールメタ情報に含まれる前記導出方法情報とに基づき、複合型暗号評価情報を当該暗号モジュールの評価情報として生成する複合型暗号評価計算部と、
前記複合型暗号評価計算部による計算結果を得て、この得た計算結果に基づき、暗号モジュールを選定する暗号モジュール選定部と、
前記暗号モジュール選定部によって選定された暗号モジュールを前記暗号モジュール記憶部から読み出して出力する暗号モジュール取得部と、
を有することを特徴とする暗号管理装置。
【請求項２】
前記複合型暗号評価計算部は、
指定された暗号モジュールメタ情報に前記第２のカテゴリ情報が含まれていない場合には、当該暗号モジュールに対する前記第１の評価情報を前記複合型暗号評価情報として生成することを特徴とする請求項１記載の暗号管理装置。
【請求項３】
複数の暗号モジュールを管理し、暗号モジュールの選定要求に応じて暗号モジュールを選定して出力する暗号管理装置であって、
複数の暗号モジュールを格納する暗号モジュール記憶部と、
組み合わされる暗号モジュールのうち最上位の暗号モジュールのカテゴリを表すカテゴリ情報と、当該暗号モジュールを組み合わせて実行した場合に対する所定の評価情報を示す複合型暗号評価情報と、当該暗号モジュールの組み合わせに含まれる各々の暗号モジュールを識別する暗号モジュール識別情報を含む組み合わせ暗号モジュール識別情報と、を含む複合型メタ情報を記憶する複合型メタ情報記憶部と、
選定要求に対応する暗号モジュールのカテゴリ情報に基づき、前記複合型メタ情報記憶部を参照して複数の複合型メタ情報を検索し、得られる複合型メタ情報の複合型暗号評価情報に基づき、組み合わせに含まれる暗号モジュールを選定する暗号モジュール選定部と、
前記暗号モジュール選定部によって選定された暗号モジュールを前記暗号モジュール記憶部から読み出して出力する暗号モジュール取得部と、
を有し、
前記複合型暗号評価情報は、
組み合わされる暗号モジュールの各々の評価情報を基に所定の導出方法を用いて算出された、暗号モジュールを組み合わせて実行する場合の評価情報であること
を特徴とする暗号管理装置。
【請求項４】
当該暗号モジュールの属するカテゴリを表すカテゴリ情報と、当該暗号モジュールが評価された結果である評価情報と、当該暗号モジュールの実行に関連暗号モジュールを必要とする場合にその関連暗号モジュールが属するカテゴリを表す関連暗号モジュールカテゴリ情報と、当該暗号モジュールの実行に関連暗号モジュールを必要とする場合に前記暗号モジュールに設定された評価情報と前記関連暗号モジュールに設定された評価情報とから当該暗号モジュールと当該関連暗号モジュールとを組み合わせて実行した場合の評価情報である複合型暗号評価情報を導出する方法を表す導出方法情報と、を含む暗号モジュールメタ情報を記憶する暗号モジュールメタ情報記憶部と、
指定された暗号モジュールメタ情報に関連暗号モジュールカテゴリ情報が含まれている場合は、前記暗号モジュールメタ情報検索部を用いて関連暗号モジュールの暗号モジュールメタ情報を検索し、検索の結果得られた各々の関連暗号モジュールの暗号モジュールメタ情報を指定して自身を再帰的に呼び出すことによって得られる前記関連暗号モジュールの評価情報と、当該暗号モジュールの暗号モジュールメタ情報に含まれる前記導出方法情報とに基づき、複合型暗号評価情報を当該暗号モジュールの評価情報として生成して評価結果とする複合型暗号評価計算部と、
前記複合型暗号評価計算部によって計算された複合型暗号評価を前記複合型メタ情報記憶部に書き込む書き込み部と、
を有することを特徴とする請求項３記載の暗号管理装置。
【請求項５】
前記複合型暗号評価計算部は、
指定された暗号モジュールメタ情報に前記関連暗号モジュールカテゴリ情報が含まれていない場合には、当該暗号モジュールの評価情報を前記複合型暗号評価情報として生成することを特徴とする請求項４記載の暗号管理装置。
【請求項６】
複数の暗号モジュールを管理し、暗号モジュールの選定要求に応じて暗号モジュールを選定して出力する暗号管理装置における暗号管理方法であって、
前記暗号管理装置は、
複数の暗号モジュールを格納する暗号モジュール記憶部と、
当該個々の暗号モジュールの属するカテゴリを表すカテゴリ情報と、当該個々の暗号モジュールに対する所定の評価結果を示す第１の評価情報と、当該個々の暗号モジュールの実行に他の関連暗号モジュールを必要とする場合に当該他の関連暗号モジュールが属するカテゴリを表すカテゴリ情報と、当該他の関連暗号モジュールに対する所定の評価結果を示す第２の評価情報と前記第１の評価情報とから当該暗号モジュールと当該他の関連暗号モジュールとを組み合わせて実行した場合に対する所定の評価情報を示す複合型暗号評価情報の導出方法を示す導出方法情報とを含む暗号モジュールメタ情報を記憶する暗号モジュールメタ情報記憶部と、
を有しており、
暗号モジュールメタ情報検索部が、要求される暗号モジュールのカテゴリ情報に基づき、前記暗号モジュールメタ情報記憶部を参照して前記暗号モジュールメタ情報を検索し、
複合型暗号評価計算部が、
前記暗号モジュールメタ情報検索部によって検索された暗号モジュールメタ情報に関連暗号モジュールカテゴリ情報が含まれている場合は、前記暗号モジュールメタ情報検索部を用いて関連暗号モジュールの暗号モジュールメタ情報を検索し、検索の結果得られた各々の関連暗号モジュールの暗号モジュールメタ情報を指定して当該複合型暗号評価計算部を再帰的に呼び出すことによって得られる複合型暗号評価情報である前記第２の評価情報と、当該暗号モジュールの暗号モジュールメタ情報に含まれる前記導出方法情報とに基づき、複合型暗号評価情報を当該暗号モジュールの評価情報として生成して評価結果とし、
暗号モジュール選定部が、前記選定要求に対応する暗号モジュールメタ情報を指定して前記複合型暗号評価計算部による計算結果を得て、この得た計算結果に基づき、暗号モジュールを選定し、
暗号モジュール取得部が、前記暗号モジュール選定部によって選定された暗号モジュールを前記暗号モジュール記憶部から読み出して出力する
ことを特徴とする暗号管理方法。
【請求項７】
複数の暗号モジュールを管理し、暗号モジュールの選定要求に応じて暗号モジュールを選定して出力するコンピュータであって、
複数の暗号モジュールを格納する暗号モジュール記憶部と、
当該個々の暗号モジュールの属するカテゴリを表すカテゴリ情報と、当該個々の暗号モジュールに対する所定の評価結果を示す第１の評価情報と、当該個々の暗号モジュールの実行に他の関連暗号モジュールを必要とする場合に当該他の関連暗号モジュールが属するカテゴリを表すカテゴリ情報と、当該他の関連暗号モジュールに対する所定の評価結果を示す第２の評価情報と前記第１の評価情報とから当該暗号モジュールと要害他の関連暗号モジュールとを組み合わせて実行した場合に対する所定の評価情報を示す複合型暗号評価情報の導出方法を示す導出方法情報と、
を含む暗号モジュールメタ情報を記憶する暗号モジュールメタ情報記憶部と、
を有するコンピュータに、
要求される暗号モジュールのカテゴリ情報に基づき、前記暗号モジュールメタ情報記憶部を参照して前記暗号モジュールメタ情報を検索する手順、
前記暗号モジュールメタ情報検索部によって検索された暗号モジュールメタ情報に関連暗号モジュールカテゴリ情報が含まれている場合は、前記暗号モジュールメタ情報検索部を用いて関連暗号モジュールの暗号モジュールメタ情報を検索し、検索の結果得られた各々の関連暗号モジュールの暗号モジュールメタ情報を指定して当該複合型暗号評価計算部を再帰的に呼び出すことによって得られる複合型暗号評価情報である前記第２の評価情報と、当該暗号モジュールの暗号モジュールメタ情報に含まれる前記導出方法情報とに基づき、複合型暗号評価情報を当該暗号モジュールの評価情報として生成して評価結果とする手順、
前記選定要求に対応する暗号モジュールメタ情報を指定して前記評価結果とする手順を呼び出し評価結果を得て、得られた評価結果に基づき、暗号モジュールを選定する手順、
前記選定された暗号モジュールを前記暗号モジュール記憶部から読み出して出力する手順
を実行させるためのプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、クライアントからの暗号モジュール配信要求に対して、暗号モジュールの評価情報に従って選定・配信する暗号管理装置、暗号管理方法、暗号管理プログラムに関するものである。
【背景技術】
【０００２】
従来から、秘匿性のある情報を取り扱う際、一般に暗号処理が行われている。このような暗号処理を実行するためには、暗号モジュールが用いられる。この暗号モジュールとは、暗号処理を行う場合に実行されるプログラムであって、暗号処理を行う場合に実行されるプログラムの一部を構成する要素となるプログラム（例えば、ハッシュ関数の計算、疑似乱数生成処理等）も暗号モジュールとして含まれる。また、暗号モジュールは、プログラムとして単体で実行可能なものと、複数のモジュールを組み合わせることによって１つのプログラムとして実行可能なものがある。以下の実施形態においては、１つのプログラムとして実行可能な暗号モジュールであっても、複数を組み合わせなければ実行できないプログラムであっても、両方の場合を含めて暗号モジュールとして説明する。
【０００３】
この場合、特定の暗号モジュールによっては複数の暗号処理で重複して用いられるものがある。例えば、ハッシュ関数（ＳＨＡ−１など）は、電子署名生成（例えば、非特許文献１に記載のＲＳＡＳＳＡなど）の際にも用いられるし、認証子（例えば、非特許文献２に記載のＨＭＡＣなど）生成の際にも用いられるし、ハッシュ関数単体で用いられる場合もある。
【非特許文献１】M. Bellare and P. Rogaway, “The exact security of digital signatures - How to sign with RSA and Rabin, ” In Advances in Cryptology - Eurocrypt’96, pp. 399-416, Springer-Verlag, 1996.
【非特許文献２】M.Bellare, R.Canetti and H.Krawczyk, “Keying hash functions for message authentication,” In Advances in Cryptology - CRYPTO'96, pp.1-15, Springer-Verlag, 1996.
【発明の開示】
【発明が解決しようとする課題】
【０００４】
ここで、例えばメモリ容量の少ない携帯端末などで暗号モジュールを管理・利用する場合などを考慮する。この場合、携帯端末内のメモリ使用量の効率の面から、暗号処理の構成要素毎にモジュール化し、同じ暗号モジュールであってもその組み合わせを変えることによって、各暗号処理で暗号モジュールを共通して用いることができるようにモジュール設計することが望ましい。しかしながら、このように暗号処理の構成要素毎にモジュール化された暗号モジュールを端末装置からの選定要求に応じて配信する場合、端末装置からの要求に対して、その要求を満たすような暗号モジュールの組み合わせを選定して端末装置に配信することが必要である。
また、暗号モジュールを選定する際に暗号モジュールを組み合わせた場合における評価を行うとすると、選定要求を受けてから選定が完了するまでの負荷が増大してしまうという問題があった。
【０００５】
本発明は、このような事情に鑑みてなされたもので、その目的は、選定要求を受けた時点において自身が有する暗号モジュールのうち、当該暗号モジュールの適切な組み合わせを選定することができ、また、暗号モジュールの選定要求を受けてから選定が完了するまでの負荷を低減できる暗号管理装置、暗号管理方法、暗号管理プログラムを提供することにある。
【課題を解決するための手段】
【０００６】
本発明は、複数の暗号モジュールを管理し、暗号モジュールの選定要求に応じて暗号モジュールを選定して出力する暗号管理装置であって、複数の暗号モジュールを格納する暗号モジュール記憶部と、当該個々の暗号モジュールの属するカテゴリを表すカテゴリ情報と、当該個々の暗号モジュールに対する所定の評価結果を示す第１の評価情報と、当該個々の暗号モジュールの実行に他の関連暗号モジュールを必要とする場合に当該他の関連暗号モジュールが属するカテゴリを表すカテゴリ情報と、当該他の関連暗号モジュールに対する所定の評価結果を示す第２の評価情報と前記第１の評価情報とから当該暗号モジュールと当該他の関連暗号モジュールとを組み合わせて実行した場合に対する所定の評価情報を示す複合型暗号評価情報の導出方法を示す導出方法情報とを含む暗号モジュールメタ情報を記憶する暗号モジュールメタ情報記憶部と、要求される暗号モジュールのカテゴリ情報に基づき、前記暗号モジュールメタ情報記憶部を参照して前記暗号モジュールメタ情報を検索する暗号モジュールメタ情報検索部と、前記暗号モジュールメタ情報検索部によって検索された暗号モジュールメタ情報に関連暗号モジュールカテゴリ情報が含まれている場合、前記暗号モジュールメタ情報検索部を用いて関連暗号モジュールの暗号モジュールメタ情報を検索し、検索の結果得られた各々の関連暗号モジュールの暗号モジュールメタ情報を指定して当該復号型暗号評価計算部を再帰的に呼び出すことによって得られる復号型暗号評価情報である前記第２の評価情報と、当該暗号モジュールの暗号モジュールメタ情報に含まれる前記導出方法情報とに基づき、複合型暗号評価情報を当該暗号モジュールの評価情報として生成する複合型暗号評価計算部と、前記複合型暗号評価計算部による計算結果を得て、この得た計算結果に基づき、暗号モジュールを選定する暗号モジュール選定部と、前記暗号モジュール選定部によって選定された暗号モジュールを前記暗号モジュール記憶部から読み出して出力する暗号モジュール取得部と、を有することを特徴とする。
また、本発明は、上述の暗号管理装置において、前記複合型暗号評価計算部は、指定された暗号モジュールメタ情報に前記第２のカテゴリ情報が含まれていない場合には、当該暗号モジュールに対する前記第１の評価情報を前記複合型暗号評価情報として生成することを特徴とする。
【０００７】
このように、本発明では、外部から暗号モジュールの選定要求を受信した際に、その選定要求のカテゴリ情報に対応するカテゴリの暗号モジュールメタ情報が検索される。ここでは、組み合わせ可能な暗号モジュールについては、暗号モジュールメタ情報に関連暗号カテゴリ情報が設けられ、他の暗号モジュールメタ情報のカテゴリ情報と関連付けされていることから、選定要求のカテゴリ情報に対応するカテゴリの暗号モジュールメタ情報を起点として組み合わせ可能な暗号モジュールメタ情報を再帰的に呼び出して、暗号モジュールを組み合わせた場合の評価情報を生成することができる。この評価情報は、暗号モジュールメタ情報に記憶された評価情報と、当該暗号モジュールメタ情報の関連暗号モジュールである暗号モジュールメタ情報の評価情報とを用い、当該暗号モジュールメタ情報に記憶された導出方法情報を基に生成される。そして、生成された評価情報を基に、暗号モジュールが選定され、選定された暗号モジュールが出力される。
【０００８】
また、本発明は、複数の暗号モジュールを管理し、暗号モジュールの選定要求に応じて暗号モジュールを選定して出力する暗号管理装置であって、複数の暗号モジュールを格納する暗号モジュール記憶部と、組み合わされる暗号モジュールのうち最上位の暗号モジュールのカテゴリを表すカテゴリ情報と、当該暗号モジュールを組み合わせて実行した場合に対する所定の評価情報を示す複合型暗号評価情報と、当該暗号モジュールの組み合わせに含まれる各々の暗号モジュールを識別する暗号モジュール識別情報を含む組み合わせ暗号モジュール識別情報と、を含む複合型メタ情報を記憶する複合型メタ情報記憶部と、選定要求に対応する暗号モジュールのカテゴリ情報に基づき、前記複合型メタ情報記憶部を参照して複数の複合型メタ情報を検索し、得られる複合型メタ情報の複合型暗号評価情報に基づき、組み合わせに含まれる暗号モジュールを選定する暗号モジュール選定部と、前記暗号モジュール選定部によって選定された暗号モジュールを前記暗号モジュール記憶部から読み出して出力する暗号モジュール取得部と、を有し、前記複合型暗号評価情報は、組み合わされる暗号モジュールの各々の評価情報を基に所定の導出方法を用いて算出された、暗号モジュールを組み合わせて実行する場合の評価情報であることを特徴とする。
【０００９】
このように、本発明では、暗号モジュールを組み合わせた場合の評価情報について計算した結果を複合型メタ情報として記憶しておくようした。ここでは、暗号モジュールを組み合わせて実行する場合の評価情報は、組み合わされる暗号モジュールの各々の評価情報を基に、所定の導出方法を用いて算出された結果が記憶されるものである。このように、所定の導出方法に従って暗号モジュールを組み合わせた場合の評価情報が生成されて記憶されているので、この評価情報を参照することによって、選定要求を受けた時点で評価情報を生成する処理を行うことなく、暗号モジュールが選定される。
【００１０】
また、本発明は、上述の暗号管理装置において、当該暗号モジュールの属するカテゴリを表すカテゴリ情報と、当該暗号モジュールが評価された結果である評価情報と、当該暗号モジュールの実行に関連暗号モジュールを必要とする場合にその関連暗号モジュールが属するカテゴリを表す関連暗号モジュールカテゴリ情報と、当該暗号モジュールの実行に関連暗号モジュールを必要とする場合に前記暗号モジュールに設定された評価情報と前記関連暗号モジュールに設定された評価情報とから当該暗号モジュールと当該関連暗号モジュールとを組み合わせて実行した場合の評価情報である複合型暗号評価情報を導出する方法を表す導出方法情報と、を含む暗号モジュールメタ情報を記憶する暗号モジュールメタ情報記憶部と、指定された暗号モジュールメタ情報に関連暗号モジュールカテゴリ情報が含まれている場合は、前記暗号モジュールメタ情報検索部を用いて関連暗号モジュールの暗号モジュールメタ情報を検索し、検索の結果得られた各々の関連暗号モジュールの暗号モジュールメタ情報を指定して自身を再帰的に呼び出すことによって得られる前記関連暗号モジュールの評価情報と、当該暗号モジュールの暗号モジュールメタ情報に含まれる前記導出方法情報とに基づき、複合型暗号評価情報を当該暗号モジュールの評価情報として生成して評価結果とする複合型暗号評価計算部と、前記複合型暗号評価計算部によって計算された複合型暗号評価を前記複合型メタ情報記憶部に書き込む書き込み部と、を有することを特徴とする。
【００１１】
このように、本発明では、暗号モジュールメタ情報が記憶されてあり、この記憶された暗号モジュールメタ情報を基に、暗号モジュールが組み合わされた場合の評価情報が生成されて複合型暗号メタ情報記憶部に書き込まれる。これにより、暗号管理装置が新たな暗号モジュールを管理する必要が発生したときに、その新たな暗号モジュールを組み合わせた場合における評価情報を生成して記憶しておくことが可能となる。
また、本発明は、上述の暗号管理装置において、前記複合型暗号評価計算部は、指定された暗号モジュールメタ情報に前記関連暗号モジュールカテゴリ情報が含まれていない場合には、当該暗号モジュールの評価情報を前記複合型暗号評価情報として生成することを特徴とする。
【００１２】
また、本発明は、複数の暗号モジュールを管理し、暗号モジュールの選定要求に応じて暗号モジュールを選定して出力する暗号管理装置における暗号管理方法であって、前記暗号管理装置は、複数の暗号モジュールを格納する暗号モジュール記憶部と、を含む暗号モジュールメタ情報を記憶する暗号モジュールメタ情報記憶部と、を有しており、暗号モジュールメタ情報検索部が、要求される暗号モジュールのカテゴリ情報に基づき、前記暗号モジュールメタ情報記憶部を参照して前記暗号モジュールメタ情報を検索し、複合型暗号評価計算部が、前記暗号モジュールメタ情報検索部によって検索された暗号モジュールメタ情報に関連暗号モジュールカテゴリ情報が含まれている場合は、前記暗号モジュールメタ情報検索部を用いて関連暗号モジュールの暗号モジュールメタ情報を検索し、検索の結果得られた各々の関連暗号モジュールの暗号モジュールメタ情報を指定して当該複合型暗号評価計算部を再帰的に呼び出すことによって得られる複合型暗号評価情報である前記第２の評価情報と、当該暗号モジュールの暗号モジュールメタ情報に含まれる前記導出方法情報とに基づき、複合型暗号評価情報を当該暗号モジュールの評価情報として生成して評価結果とし、暗号モジュール選定部が、前記選定要求に対応する暗号モジュールメタ情報を指定して前記複合型暗号評価計算部による計算結果を得て、この得た計算結果に基づき、暗号モジュールを選定し、暗号モジュール取得部が、前記暗号モジュール選定部によって選定された暗号モジュールを前記暗号モジュール記憶部から読み出して出力することを特徴とする暗号管理方法。
【００１３】
また、本発明は、複数の暗号モジュールを管理し、暗号モジュールの選定要求に応じて暗号モジュールを選定して出力するコンピュータであって、複数の暗号モジュールを格納する暗号モジュール記憶部と、当該個々の暗号モジュールの属するカテゴリを表すカテゴリ情報と、当該個々の暗号モジュールに対する所定の評価結果を示す第１の評価情報と、当該個々の暗号モジュールの実行に他の関連暗号モジュールを必要とする場合に当該他の関連暗号モジュールが属するカテゴリを表すカテゴリ情報と、当該他の関連暗号モジュールに対する所定の評価結果を示す第２の評価情報と前記第１の評価情報とから当該暗号モジュールと要害他の関連暗号モジュールとを組み合わせて実行した場合に対する所定の評価情報を示す複合型暗号評価情報の導出方法を示す導出方法情報と、を含む暗号モジュールメタ情報を記憶する暗号モジュールメタ情報記憶部と、を有するコンピュータに、要求される暗号モジュールのカテゴリ情報に基づき、前記暗号モジュールメタ情報記憶部を参照して前記暗号モジュールメタ情報を検索する手順、
前記暗号モジュールメタ情報検索部によって検索された暗号モジュールメタ情報に関連暗号モジュールカテゴリ情報が含まれている場合は、前記暗号モジュールメタ情報検索部を用いて関連暗号モジュールの暗号モジュールメタ情報を検索し、検索の結果得られた各々の関連暗号モジュールの暗号モジュールメタ情報を指定して当該複合型暗号評価計算部を再帰的に呼び出すことによって得られる複合型暗号評価情報である前記第２の評価情報と、当該暗号モジュールの暗号モジュールメタ情報に含まれる前記導出方法情報とに基づき、複合型暗号評価情報を当該暗号モジュールの評価情報として生成して評価結果とする手順、前記選定要求に対応する暗号モジュールメタ情報を指定して前記評価結果とする手順を呼び出し評価結果を得て、得られた評価結果に基づき、暗号モジュールを選定する手順、前記選定された暗号モジュールを前記暗号モジュール記憶部から読み出して出力する手順を実行させるためのプログラムである。
【発明の効果】
【００１４】
以上説明したように、この発明によれば、暗号モジュールの実行に関連暗号モジュールを必要とする場合に、暗号モジュールと関連暗号モジュールとを組み合わせて評価を行うようにしたので、選定要求に応じた暗号モジュールの組み合わせの中から、評価結果を基に暗号モジュールを選定し、選定要求を行った要求元に対して出力することができる。
また、この発明によれば、暗号モジュールを組み合わせた場合における評価情報を計算して予め記憶しておくようにしたので、外部から選定要求を受信した時点で評価情報の計算を行う必要がなく、選定要求を受信した後に評価情報を計算する場合に比べて、選定要求を受信してから暗号モジュールを選定するまでの処理にかかる負荷を削減することができる。
【発明を実施するための最良の形態】
【００１５】
以下、本発明の一実施形態による暗号モジュール配信システムについて図面を参照して説明する。
まず、本システムの概要について説明する。本システムにおいては、サーバとクライアント装置とが接続され、サーバとクライアント装置間において暗号モジュールを用いて暗号化された情報を送受信することが可能なシステムである。ここで、暗号モジュールを定期的に切り替えることも可能である。このような、暗号モジュールを切り替え可能な暗号システムとしては、暗号の手法ごとに暗号方式に依存しないインターフェースを規定し、各暗号ベンダが実装可能なフレームワークがいくつか存在する。例えば、Ｍｉｃｒｏｓｏｆｔ（登録商標）のＣｒｙｐｔＡＰＩやＳｕｎ（登録商標）のＪＣＡ（Ｊａｖａ（登録商標）  Ｃｒｙｐｔｏｇｒａｐｈｉｃ  Ａｒｃｈｉｔｅｃｔｕｒｅ）／ＪＣＥ（Ｊａｖａ（登録商標）  Ｃｒｙｐｔｏｇｒａｐｈｉｃ  Ｅｘｔｅｎｓｉｏｎｓ）やＯｐｅｎ  Ｇｒｏｕｐ（登録商標）のＣＤＳＡ（Ｃｏｍｍｏｎ  Ｄａｔａ  Ｓｅｃｕｒｉｔｙ  Ａｒｃｈｉｔｅｃｔｕｒｅ）などがある。
【００１６】
これらのフレームワークでは、暗号化／復号、署名生成／検証、認証子生成／検証などの暗号の手法ごとに暗号モジュールにアクセスするインターフェースを規定し、インターフェースに従って、例えば、ＤＥＳ（Ｄａｔａ  Ｅｎｃｒｙｐｔｉｏｎ  Ｓｔａｎｄａｒｄ）、ＡＥＳ（Ａｄｖａｎｃｅｄ  Ｅｎｃｒｙｐｔｉｏｎ  Ｓｔａｎｄａｒｄ）などの暗号方式を実装することが可能になっている。そして、暗号やセキュリティの専門家がシステム構築時に、これらの実装された暗号方式の中から適切な暗号方式をあらかじめ選択し、いずれの暗号方式を利用するかを示す暗号方式パラメータをフレームワークに入力して、暗号方式を切り替えることが可能である。
【００１７】
このようなフレームワークを利用する場合、アプリケーションシステムの運用上のセキュリティポリシが変更された場合、従来であれば暗号やセキュリティの専門家が、再度システムに適した暗号方式を選定する必要があり、暗号やセキュリティの専門家の人材リソースの問題やコストの問題に直面する。また、既存の暗号方式の不備が発見されたり、新しい暗号が発表されたりした際に、運用中のシステムに対して、暗号方式の変更をスムーズに適用するのが難しい。さらには、セキュリティを実施する環境に応じて、必要なセキュリティ強度や処理速度などが違う場合に、最適なセキュリティを実現することも、従来システムでは難しい問題である。
本システムにおいては、暗号方式の切り替えが可能な暗号システムでは、この問題についても解決することが可能である。
【００１８】
＜第１の実施形態＞
図１は、本発明の第１の実施形態による暗号モジュール配信システムの構成を示す概略ブロック図である。
本暗号システムは、暗号モジュール３０８と暗号評価記述ファイル３０９とを含む暗号パッケージ３０７を送信する暗号管理サーバ装置３５０と、受信した暗号パッケージ３０７を用いて暗号処理を行う暗号クライアント装置１５０とから構成される。暗号評価記述ファイル３０９に記述される暗号の評価とは、対応する暗号モジュール３０８の暗号方式の信頼度等が数値化された情報であり、例えば、実装している暗号方式の安全性や暗号の処理速度、暗号に利用可能な鍵長などである。
【００１９】
暗号管理サーバ装置３５０は、暗号モジュール３０８を蓄積した暗号モジュールＤＢ３５３と、暗号評価記述ファイル３０９を蓄積した暗号評価ＤＢ３５４と、暗号モジュールＤＢ３５３と暗号評価ＤＢ３５４との管理を行う暗号管理部３５１と、暗号モジュールＤＢ３５３と暗号評価ＤＢ３５４とに新規の情報を登録する暗号登録部３５５と、暗号クライアント装置１５０の要求に応じて最適な暗号パッケージ３０７を暗号モジュールＤＢ３５３と暗号評価ＤＢ３５４とから読み出して送信する暗号配信部３５２とを備える。
【００２０】
暗号クライアント装置１５０は、暗号制御マネージャ部１５２を介して暗号実装部１５３が提供する暗号機能を呼び出して利用するアプリケーションやミドルウェアである上位システム部１５１と、暗号管理サーバ装置３５０から送信された暗号パッケージ３０７の受信や暗号実装部１５３から提供される暗号機能の切り替えを行う暗号制御マネージャ部１５２と、主要な暗号方式による暗号処理をハードウェアとして実現した耐タンパーな暗号ハードウェア部４５０と、暗号方式を実装した暗号モジュール３０８が実行可能・利用可能な状態にされて暗号機能を提供する暗号実装部１５３とから構成される。暗号管理サーバ装置３５０は、暗号クライアント装置１５０からの要求に基づき、暗号の初期登録・配信・更新の３つの手順を行うことで、適切な暗号パッケージ３０７を暗号クライアント装置１５０に送信する。
【００２１】
ここで、暗号の初期登録とは、暗号クライアント装置１５０が暗号モジュール３０８を有せず、暗号実装部１５３が存在しない場合に、暗号クライアント装置１５０の暗号ハードウェア部４５０を利用して、利用上必要不可欠な暗号モジュール３０８を暗号管理サーバ装置３５０から暗号実装部１５３に安全に送信することである。
暗号の配信とは、暗号管理サーバ装置３５０が、暗号クライアント装置１５０から受信した暗号の選定要求に応じて、適切な暗号モジュール３０８または暗号パッケージ３０７を選定して暗号クライアント装置１５０に送信することである。暗号の選定要求は暗号に関する条件情報を含み、条件情報は、暗号化や署名生成などの暗号方式の分類（暗号のカテゴリ）、暗号モジュール３０８を作成したメーカ、暗号モジュール３０８が動作するハードウェアの情報、および、暗号の評価情報などがある。暗号の評価情報は、本実施形態例のように、暗号評価記述ファイル３０９として、暗号モジュール３０８とは独立したファイルとして扱われることとしても良い。
【００２２】
暗号の更新とは、新規の暗号モジュール３０８を登録したり、危殆化した暗号方式を利用した該当する暗号モジュール３０８を削除したり、暗号モジュール３０８のバグを発見し既存の暗号モジュール３０８とその暗号モジュール３０８が実行されている暗号実装部１５３を更新したり、計算機の処理速度の高速化等に伴って暗号の評価を変更したりした際に、暗号管理サーバ装置３５０上の暗号モジュールＤＢ３５３や暗号評価ＤＢ３５４に記憶された情報を更新し、この更新した暗号パッケージ３０７の情報を、暗号クライアント装置１５０に対して定期的に送信したり、暗号クライアント装置１５０からの要求に基づいて送信したりして、暗号管理サーバ装置３５０が新しい暗号モジュール３０８を送信することや既存の暗号実装部が使えなくなったことを通知することである。
【００２３】
図２は、暗号クライアント装置１５０の詳細な構成図である。暗号制御マネージャ部１５２は、暗号処理情報ＤＢ１５７を持つ暗号処理制御部１５６と、暗号モジュールＤＢ１６４と、暗号評価ＤＢ１６３と、暗号モジュール選定ポリシ１５８とハードウェアプロファイル１６０とを持つ暗号モジュール選定部１５９と、鍵情報ＤＢ１６５と、その鍵情報ＤＢ１６５へのアクセス制御ポリシが記述されたアクセス制御ポリシ１６１を持つ鍵情報管理部１６２と、暗号制御マネージャポリシ１６７を持つ暗号管理部１６６と、暗号ハードウェア部４５０と通信を行う暗号ハードウェア管理制御部１７０と、外部との通信を行う通信機能１５５と、通信機能１５５と連携するアルゴリズムネゴシエーション部１６８と、通信機能１５５と連携するセキュア通信管理部１６９とから構成される。
【００２４】
暗号処理制御部１５６は、上位システム部１５１からの暗号処理呼び出しに基づき、鍵生成処理、鍵登録処理、暗号処理を行う。
鍵生成処理の場合、暗号処理制御部１５６は、上位システム部１５１から指定された暗号方式、鍵長、暗号方式パラメータを暗号処理情報ＤＢ１５７に登録した際の暗号処理の識別子により、指定された暗号方式に対する暗号モジュール３０８を暗号モジュール選定部１５９により選定する。
【００２５】
暗号処理制御部１５６が、選定された暗号モジュール３０８をメモリ上にロードし暗号実装部１５３として実行状態にさせる。暗号処理制御部１５６が、指定された暗号処理の識別子に対応する鍵生成のための暗号方式パラメータを鍵情報管理部１６２経由で鍵情報ＤＢ１６５から引き出す。暗号処理制御部１５６が、指定された鍵長と引き出した暗号方式パラメータで暗号実装部１５３を呼び出すと、暗号実装部１５３は鍵情報を生成する。暗号処理制御部１５６は、生成された鍵情報を受け取る。暗号処理制御部１５６は、暗号実装部１５３が生成した鍵情報を鍵情報管理部１６２経由で鍵情報ＤＢ１６５に登録してその鍵情報に対応する鍵識別子を受け取り、処理結果として新しく発行した暗号処理の識別子と鍵識別子の関連付けを暗号処理情報ＤＢ１５７に保存し、暗号処理の識別子を上位システム部１５１に返す。
【００２６】
鍵登録の場合、暗号処理制御部１５６は、上位システム部１５１から指定された鍵情報を、鍵情報管理部１６２を経由して鍵情報ＤＢ１６５に登録して鍵識別子を受け取り、処理結果として新しく発行した暗号処理の識別子と鍵識別子の関連付けを暗号処理情報ＤＢ１５７に保存し、暗号処理の識別子を上位システム部１５１に返す。
【００２７】
暗号処理の場合、上位システム部１５１から指定された暗号に関する条件情報と暗号処理対象データ（平文）と鍵生成または鍵登録を行った際に受け取った暗号処理の識別子とを受け取り、暗号に関する条件情報を参照して適切な暗号モジュール３０８を暗号モジュール選定部１５９により選定し、選定された暗号モジュール３０８をメモリ上にロードして暗号実装部１５３として実行させ、指定された暗号処理の識別子に対応する鍵情報を鍵情報管理部１６２経由で鍵情報ＤＢ１６５から引き出し、指定された暗号処理対象データと引き出した鍵情報とを、呼び出した暗号実装部１５３に入力し、対応して処理された暗号データを受け取り、処理結果として新しく発行した暗号処理の識別子と鍵識別子の関連付けを暗号処理情報ＤＢ１５７に保存し、暗号処理の識別子を返す。暗号処理の際に利用した鍵情報などを暗号処理の識別子に結びつけることにより、暗号処理の再実行や復号を簡単に実施することができるようにする。
【００２８】
暗号モジュールＤＢ１６４は、暗号管理サーバ装置３５０から受信した暗号モジュール３０８を格納する記憶部である。
暗号評価ＤＢ３５４は、暗号管理サーバ装置３５０から受信した暗号評価記述ファイル３０９を格納する記憶部である。
暗号モジュール選定部１５９は、暗号化や署名生成などの暗号のカテゴリ、暗号モジュール３０８を作成したメーカ、暗号モジュール３０８が動作するハードウェアの情報、および、暗号の評価情報などの暗号に関する条件情報を、上位システム部１５１からの入力を元に、暗号モジュールＤＢ１６４が記憶している暗号モジュール３０８の中から一番適切な暗号モジュール３０８を選定する。暗号モジュール３０８の選定にあたっては、暗号クライアント装置１５０のハードウェア情報を記述したハードウェアプロファイル１６０に適合するものの中から選び、かつ、暗号クライアント装置１５０を利用する利用者のポリシを記述した暗号モジュール選定ポリシ１５８にも従うようにする。
【００２９】
ハードウェアプロファイル１６０とは、例えば、暗号クライアント装置１５０のＣＰＵアーキテクチャ、ＣＰＵクロック、搭載メモリ量などの情報を含む情報である。暗号モジュール選定ポリシ１５８とは、例えば、入力条件により選定された暗号が複数ある場合に利用者が優先したい条件、利用者が優先的に利用したい暗号のメーカ、利用者が利用禁止にしたい暗号方式などを含む情報である。
【００３０】
このように、暗号モジュール選定部１５９は、上位システム部１５１からの入力情報と、ハードウェアプロファイル１６０と、暗号モジュール選定ポリシ１５８とを参照して、入力情報に一致する暗号モジュール３０８を選定する。暗号モジュール選定部１５９が暗号モジュール３０８を一意に選定した場合には、選定した暗号モジュール３０８を暗号モジュールＤＢ１６４から取り出す。暗号モジュール選定部１５９は、暗号モジュール３０８が一意に選定できなかった場合は、エラーを出力する。
【００３１】
鍵情報管理部１６２は、暗号実装部１５３を呼び出す際に指定される鍵情報や暗号方式パラメータなどの情報を鍵情報ＤＢ１６５へデータを記憶させ、または読み出す。鍵情報管理部１６２は、指定される鍵情報や暗号方式パラメータの情報がひとつではない場合、複数の情報をひとつにまとめて引き出せるように関連付けを行って、鍵情報ＤＢ１６５に登録する。また、鍵情報管理部１６２は、鍵情報ＤＢ１６５から鍵情報や暗号方式パラメータを引き出す際には、暗号モジュール選定ポリシ１５８に従い、複数ある上位システム部１５１からの鍵情報へのアクセス制御を行う。
【００３２】
鍵情報管理部１６２は、上位システム部１５１から指定されたクレデンシャル（アクセスのための鍵やパスワードなど）とアクセスしたい鍵識別子と鍵識別子に関連付けられた暗号処理の識別子とにより、そのクレデンシャルの正当性を検証する。鍵情報管理部１６２は、クレデンシャルの持ち主に対してアクセス可能な鍵情報ＤＢ１６５の鍵情報の規定を記述したアクセス制御ポリシ１６１に基づき、アクセス可否を判定し、アクセス可ならば、暗号処理の識別子に対応する鍵識別子を鍵情報ＤＢ１６５から引き出し、鍵識別子に対応する鍵情報や暗号方式パラメータを引き出し、上位システム部１５１にこれを返す。一方、アクセス不可ならば、上位システム部１５１にエラーを返す。
【００３３】
暗号管理部１６６では、通信機能１５５を介して暗号管理サーバ装置３５０と通信を行い、暗号の初期登録・配信・更新の手順に従って、暗号パッケージ３０７等の受信を行う。暗号管理部１６６が暗号管理サーバ装置３５０から暗号パッケージ３０７等を受信する際には、暗号制御マネージャポリシ１６７の内容に従って処理する。暗号制御マネージャポリシ１６７の内容は、例えば、以下の５つである。１つめは、暗号管理サーバ装置３５０との通信におけるサーバ認証の実施可否である。２つめは、暗号管理サーバ装置３５０からの暗号パッケージ３０７等の受信時の暗号化可否である。３つめは、暗号管理サーバ装置３５０からの暗号パッケージ３０７等の受信時の改ざん検出子（ＭＡＣ（Ｍｅｓｓａｇｅ  Ａｕｔｈｅｎｔｉｃａｔｉｏｎ  Ｃｏｄｅ））付加可否である。４つめは、受信した暗号パッケージ３０７等の認証子の検証実施可否である。５つめは、暗号評価ＤＢ１６３と暗号モジュールＤＢ１６４とに記憶された暗号パッケージ３０７を定期的に更新可否や更新頻度などを示す定期更新に関する設定情報、などとする。
【００３４】
暗号ハードウェア管理制御部１７０は、暗号ハードウェア部４５０と通信を行い、暗号管理サーバ装置３５０から、暗号の初期登録の手順に従って暗号パッケージ３０７の受信を行う。暗号パッケージ３０７の受信の際には、暗号パッケージ３０７自身が暗号化されている場合、暗号ハードウェア部４５０にて暗号パッケージ３０７を復号する。また、暗号モジュール３０８に改ざん検出子が付加されていることを検出すると、暗号ハードウェア部４５０が暗号モジュール３０８の改ざん検出を行う。
【００３５】
アルゴリズムネゴシエーション部１６８は、通信機能１５５と連携し、２つの暗号クライアント装置間で安全な通信セッションを構築する事前に、通信セッションの構築で利用する暗号方式、通信セッションで利用する暗号方式の調停を行う。暗号方式の調停を行う際には、以下の４つの調停方法のいずれかで調停を行えるようにする。
【００３６】
第１の調停方法は、自身の暗号モジュールＤＢ１６４に記憶された暗号モジュール３０８が提供する暗号方式群のみからアルゴリズムネゴシエーション部１６８が一方的に暗号方式を決定する。自身のアルゴリズムネゴシエーション部１６８は、上位システム部１５１から指定された１つ以上の暗号方式の分類（暗号のカテゴリ）、暗号制御マネージャポリシ、ハードウェアプロファイル、暗号に関する条件情報から、暗号評価ＤＢ１６３と暗号モジュールＤＢ１６４とを参照して適切な暗号モジュール３０８を選定し、暗号方式を決定する。暗号方式の分類が複数指定された場合は、個々の暗号方式の分類ごとに選定を行い、暗号方式を決定する。
【００３７】
このとき、アルゴリズムネゴシエーション部１６８は、上位システム部１５１から暗号方式が未決定である暗号方式の分類が指定された場合は、指定された暗号に関する条件情報を参照して暗号の配信の手順を行い暗号管理サーバ装置３５０から暗号モジュール３０８を受信し、その暗号モジュール３０８の暗号方式を結果とする。それでも未決定の場合は、アルゴリズムネゴシエーション部１６８は、上位システム部１５１にエラーを返す。
【００３８】
アルゴリズムネゴシエーション部１６８が暗号方式を決定すると、上位システム部１５１から指定された相手方の暗号制御マネージャ部１５２の宛先に対して、暗号方式調停方法番号と、結果として出力された暗号方式の分類と暗号方式の対応群と、暗号モジュール３０８が足りない場合の暗号管理サーバ装置３５０からの受信可否に関する情報を送信する。受信した相手方の暗号制御マネージャ部１５２は、指定された暗号方式の暗号モジュール３０８を所持しているかを暗号評価ＤＢ１６３および暗号モジュールＤＢ１６４から検索し、すべての暗号方式に対して適切な暗号モジュール３０８が存在する場合には通信可能である返信を行う。
【００３９】
相手方の暗号制御マネージャ部１５２は、存在しない暗号モジュール３０８があった場合、暗号管理サーバ装置３５０からの受信可否に関する情報に従って処理する。すなわち、受信可の場合は、暗号の配信の手順に従って、暗号方式に対する暗号モジュール３０８を受信し、受信完了後、通信可能である返信を行う。受信不可の場合や、受信可の場合でも適切な暗号モジュール３０８が受信できなかった場合、通信不可能である返信を行う。自身の暗号制御マネージャ部１５２は、相手方の暗号制御マネージャ部１５２からの返信を上位システム部１５１に転送する。
【００４０】
第２の調停方法は、相手方の暗号制御マネージャ部１５２が保持する暗号方式群のみから相手の暗号制御マネージャ部１５２が一方的に暗号方式を決定する。これは上記第１の調停方法と対称の処理となり同様の手順である。
【００４１】
第３の調停方法は、双方の暗号制御マネージャ部１５２が保持する暗号方式群から自身の暗号制御マネージャ部１５２が共通の暗号方式を決定する。
自身の暗号制御マネージャ部１５２のアルゴリズムネゴシエーション部１６８は、上位システム部１５１から指定された１つ以上の暗号方式の分類（暗号のカテゴリ）、相手方の暗号制御マネージャ部１５２の宛先から、相手方の暗号制御マネージャ部１５２に対して暗号方式調停方法番号、暗号方式の分類を送信する。相手方の暗号制御マネージャ部１５２は、受信した暗号方式の分類、ハードウェアプロファイルから、暗号評価ＤＢ１６３および暗号モジュールＤＢ１６４を参照して該当するすべての暗号モジュール３０８を選び、選んだすべての暗号モジュール３０８が対応する暗号方式一覧を作成する。
【００４２】
この際、相手方の暗号制御マネージャ部１５２は、暗号方式の分類が複数指定された場合は、個々の暗号方式の分類ごとに暗号モジュール３０８を選び、暗号方式一覧を作成する。相手方の暗号制御マネージャ部１５２は、暗号方式の分類ごとの暗号方式一覧を自身の暗号制御マネージャ部１５２に送信する。暗号方式の分類ごとの暗号方式一覧を受信した自身の暗号制御マネージャ部１５２は、上位システム部１５１から指定された１つ以上の暗号方式の分類（暗号のカテゴリ）、暗号制御マネージャポリシ、ハードウェアプロファイル、暗号に関する条件情報から、暗号評価ＤＢ１６３および暗号モジュールＤＢ１６４を参照して適切な暗号モジュール３０８を選定し、選定した暗号モジュール３０８から暗号方式を決定する。
【００４３】
この際、暗号制御マネージャ部１５２は、暗号方式の分類が複数指定された場合は、個々の暗号方式の分類ごとに選定を行い、暗号方式を決定する。例えば、次の場合、暗号方式の分類に対する暗号方式は決定されたとする。まず、自身の暗号制御マネージャ部１５２で選定した暗号方式が暗号方式一覧に存在する場合。次に、自身の暗号制御マネージャ部１５２が受信した暗号方式一覧のいずれかの暗号方式に対応する暗号モジュール３０８を所持している場合、それ以外の場合、暗号方式の分類に対する暗号方式は未決定とする。
【００４４】
暗号制御マネージャ部１５２は、未決定の暗号方式の分類がある場合、受信した暗号方式一覧のいずれかを指定して、暗号の配信の手順に従い、暗号管理サーバ装置３５０から暗号モジュール３０８を受信する。暗号制御マネージャ部１５２は、対応する暗号モジュール３０８を受信できるまで暗号方式一覧のすべての暗号方式について同様の処理を繰り返す。それでも未決定の場合、該当の暗号方式の分類に関する暗号方式は未決定とする。すべての暗号方式の分類に対して、上記の処理が完了したら、相手方の暗号制御マネージャ部１５２に対して、すべての暗号方式の分類に対する暗号方式の決定／未決定を送信する。
【００４５】
第４の調停方法は、双方の暗号制御マネージャ部の保持する暗号方式群から相手方の暗号制御マネージャ部１５２に共通の暗号方式を決定する。これは第３の調停方法の場合と対称の処理となり同様の手順である。
アルゴリズムネゴシエーション部１６８は、以上の４つの調停方法のいずれかで調停を行う。
【００４６】
セキュア通信管理部１６９は、通信機能１５５と連携し、他の暗号クライアント装置１５０との間で安全な通信セッションを構築する。セキュア通信管理部１６９は、安全なセッションを構築する際には、アルゴリズムネゴシエーション部１６８により、通信セッション構築で利用するための暗号方式と通信セッションで利用するための暗号方式を決定した後に、セッション鍵共有を行う。安全な通信セッションの構築後は、決定した暗号方式に従い、セッション鍵を利用して、通信データの暗号化や通信データの改ざん防止のための認証子の付加を行うことができるようにする。また、セキュア通信管理部１６９は、一度、構築した通信セッションは、一定時間内は再利用できるように、通信セッションの保持を行うことができるようにする。
【００４７】
セキュア通信管理部１６９は、上位システム部１５１から指定された通信相手の宛先にセキュア接続要求を送信し、セキュア接続の開始を通知する。次に、セキュア通信管理部１６９は、事前にアルゴリズムネゴシエーション部１６８が決定した暗号方式の分類に従ってセキュア接続を確立する。暗号方式の分類には、例えば、認証、鍵共有、共通鍵情報暗号化（ストリーム暗号あるいはブロック暗号）、公開鍵暗号、データ認証（ＭＡＣ認証または署名認証）、擬似乱数生成（ストリーム暗号および公開鍵暗号の場合のみ）、セッション鍵導出、ＭＡＣ鍵導出（ＭＡＣ認証の場合のみ）、などの分類がある。セキュア通信管理部１６９は、セキュア接続に認証が必要な場合、認証処理を行う。
【００４８】
次に、セキュア通信管理部１６９は、鍵共有処理により鍵の共有を行い、セキュアセッションを確立する。ただし、公開鍵暗号の暗号方式が調停されている場合、鍵共有処理は行わない。公開鍵暗号なしで暗号化通信を行う場合には、共有した鍵からセッション鍵導出方式により、セッション鍵を作成し、共通鍵情報暗号化方式に従って送信したいデータを暗号化し、暗号化データを相手に送信する。通信相手は、同様の方法でセッション鍵を作成し、共通鍵情報暗号化方式に従って受信したデータを復号する。
【００４９】
セキュア通信管理部１６９は、公開鍵暗号ありで暗号化通信を行う場合には、擬似乱数生成方式に従ってランダムなセッション鍵を作成し、共通鍵情報暗号化方式に従ってセッション鍵で送信したいデータを暗号化し、信頼機関から通信相手の公開鍵を受信し、公開鍵暗号方式に従って通信相手の公開鍵でセッション鍵自体を暗号化し、暗号化データと暗号化セッション鍵を相手に送信する。通信相手は、自分の秘密鍵で暗号化セッション鍵を復号し、共通鍵情報暗号化方式に従ってセッション鍵で受信したデータを復号する。
【００５０】
セキュア通信管理部１６９は、データ認証子付き通信を行う場合であってＭＡＣ認証の場合、共有した鍵からＭＡＣ鍵導出方式により、ＭＡＣ鍵を作成し、ＭＡＣ認証方式に従って送信したいデータにＭＡＣデータを付加し、ＭＡＣ付きデータを相手に送信する。通信相手は、同様の方法でＭＡＣ鍵を作成し、ＭＡＣ認証方式に従って受信したデータのＭＡＣを検証する。
【００５１】
セキュア通信管理部１６９は、データ認証子付き通信を行う場合で署名認証の場合、自分の秘密鍵で署名を付加し、署名付きデータを相手に送信する。通信相手は、相手の公開鍵が登録されている信頼機関から通信相手の公開鍵を受信し、相手の公開鍵の正当性を検証し、検証が正しく終了した場合、署名認証方式に従って相手の公開鍵で受信した署名付きデータを検証する。
【００５２】
図３は、暗号管理サーバ装置３５０の詳細な構成図である。暗号管理サーバ装置３５０は、暗号モジュールＤＢ３５３と、暗号評価ＤＢ３５４と、暗号モジュールＤＢ３５３と暗号評価ＤＢ３５４とに記憶された情報の読み出しや更新等の処理を行う暗号管理部３５１と、暗号モジュールＤＢ３５３と暗号評価ＤＢ３５４とに情報の登録を行う暗号登録部３５５と、暗号クライアント装置１５０へ暗号の送信を行う暗号配信部３５２とから構成される。
【００５３】
暗号モジュールＤＢ３５３は、予め記憶するかユーザによって入力される暗号モジュール３０８を記憶するデータベースである。
暗号評価ＤＢ３５４は、予め記憶するかユーザに入力される暗号評価記述ファイル３０９を記憶するデータベースである。
【００５４】
暗号管理部３５１は、暗号管理サーバ装置３５０のユーザに対して、暗号モジュールＤＢ３５３と暗号評価ＤＢ３５４に格納された暗号モジュール３０８や暗号パッケージ３０７の検索、暗号評価部の内容表示、管理している暗号のリスト表示、既存の暗号の更新、既存の暗号の削除、新規の暗号の登録、暗号配信部の起動／終了を行うインターフェースを備える。暗号管理部３５１は、新規の暗号を登録する場合は、暗号登録部３５５へ登録依頼を行う。
【００５５】
暗号登録部３５５は、暗号パッケージ登録部３５７と複合型記述生成部３５８とを備えている。
暗号配信部３５２は、暗号パッケージ配信制御部３５９と、配布ポリシ３７１を持つ暗号パッケージ配布構成部３７０と、配布ポリシ３７１を持つ配布暗号モジュール選定部３６０とを備える。暗号配信部３５２は、暗号クライアント装置１５０からの要求を解釈し、暗号の初期登録・配信・更新の３つの手順を実施する待ち受けサービスを実行する。また、この待ち受けサービスは、処理内容のログを記録する。
【００５６】
配布暗号モジュール選定部３６０では、暗号の初期登録・配信・更新の３つの手順と暗号クライアント装置１５０からの要求に基づき、配信に適切な暗号モジュール３０８を選定する。暗号の初期登録の場合、配信する暗号モジュール３０８は、利用上必要不可欠であると規定し、配布ポリシ３７１に記述された暗号方式である。
暗号パッケージ配布構成部３７０では、配布暗号モジュール選定部３６０で選定された暗号モジュール３０８を基に、配布ポリシ３７１に従って、暗号モジュール３０８と、暗号モジュール３０８に対応する暗号評価記述ファイル３０９とを暗号パッケージ３０７として配布可能な形にするための構成処理を行う。配布ポリシ３７１は、例えば、以下の４つの項目が記述されている。
【００５７】
第１の項目は、暗号パッケージ３０７の配布の際の暗号化の可否である。第２の項目は、暗号パッケージ３０７の暗号化の暗号方式である。第３の項目は、暗号パッケージ３０７の配布の際の改ざん検出子の付加の可否である。第４の項目は、暗号パッケージ３０７の改ざん検出子の暗号方式である。
暗号パッケージ配布構成部３７０が行う構成処理では、暗号評価ＤＢ３５４に格納された内容を暗号評価記述ファイル３０９として特定の形式で生成し、暗号パッケージ３０７に対して暗号管理サーバ装置３５０が配布認定する目的で認証子を付加し、暗号モジュール３０８と暗号評価記述ファイル３０９とをペアにして、暗号パッケージ３０７としてまとめる。
【００５８】
また、暗号パッケージ配布構成部３７０は、複数の暗号モジュール３０８を組み合わせた暗号モジュール３０８を、複数の暗号モジュール３０８とそれぞれに対応する暗号評価記述ファイル３０９とをまとめて１つの暗号パッケージとしても良い。また、暗号パッケージ配布構成部３７０が行う構成処理では、暗号クライアント装置１５０の暗号制御マネージャポリシや暗号管理サーバ装置３５０の配布ポリシ３７１に従って、暗号パッケージ３０７の暗号化および改ざん検出子の付加、そのための鍵生成と鍵管理を行う。
【００５９】
＜第２の実施形態＞
第１の実施形態では、最適な暗号方式の選定を、暗号クライアント装置が処理する場合について説明したが、第２の実施の形態は、暗号管理サーバ装置が最適な暗号方式の選定を主導で行う。すなわち、図４に示す暗号モジュール配信システムでは、暗号管理サーバ装置１３５０が選定した暗号方式の結果情報をモジュール選定ポリシ記憶部１１０が管理および利用するサーバ連携機構である。特に、モジュール選定ポリシ記憶部１１０の計算能力が乏しい場合、暗号管理サーバ装置１３５０が演算支援することで、暗号クライアント装置１１００内の応答パフォーマンスを向上させることができる。
【００６０】
具体的には、上位システム部１１５１からの要求に最適な暗号モジュール３０８の選定を暗号管理サーバ装置１３５０が実施し、暗号クライアント装置１１００の暗号制御マネージャ部１１５２はその結果を受け取り、その要求条件と最適な暗号モジュール３０８との関係を当該装置内の暗号情報記憶部１６００で管理する。暗号制御マネージャ部１１５２は、上位システム部１５１からの要求とこの要求に最適な暗号モジュール３０８との関係に基づき、上位システム部１５１からの暗号処理制御要求に応じた処理を行う。よって、第１の実施形態と異なり、暗号クライアント装置１１００は、暗号モジュール３０８の全選定機能や暗号モジュール３０８の選定に必要となる暗号パッケージ３０７の管理および暗号管理サーバ装置１３５０らの受信を必ずしも必要としない。
【００６１】
図４は、本発明の第２の実施形態による暗号モジュール配信システムの概略構成を示すブロック図である。本システムは、１個以上の暗号クライアント装置１１００、１個以上の暗号ハードウェア１４５０及び暗号管理サーバ装置１３５０を備えている。暗号ハードウェア１４５０は、第１の実施形態と同様である。ここで、暗号ハードウェア１４５０は、１個の暗号クライアント装置１１００につき、複数接続する形態でもよい。また暗号ハードウェア１４５０を暗号クライアント装置１１００内部に実装する形態でもよい。
【００６２】
図５は、暗号クライアント装置１１００の構成を示すブロック図である。暗号クライアント装置１１００は、上位システム部１１５１と、暗号制御マネージャ部１１５２と、暗号実装部１１５３と、通信機能１１５５とを備えている。また選定ポリシ１１５８は、安全性、処理速度、リソースに関する優先情報を設定したファイルである。上位システム部１１５１および暗号実装部１１５３は、第１の実施形態と同様の構成・機能である。
【００６３】
暗号制御マネージャ部１１５２は、暗号処理制御部１１５６と、鍵管理部１１６２と、暗号情報記憶部１６００と、暗号パッケージ管理部１１６６と、暗号ハードウェア管理制御部１１７０とを備えている。
暗号処理制御部１１５６は、上位システム部１１５１から暗号処理条件を含む暗号処理制御要求を受け付ける機能と、暗号情報記憶部１６００を参照して暗号処理条件に紐づいた暗号モジュール１１５３を特定する機能と、暗号処理実行タイミングに従って暗号実装部１１５３へ暗号処理を要求する機能と、当該暗号処理に対する暗号処理ＩＤを発行して当該暗号処理に関する情報と関連付けて暗号情報記憶部１６００に記憶させる機能と、暗号実装部１１５３からの暗号処理結果および当該暗号処理に関する暗号処理ＩＤとを上位システム部１１５１へ出力する機能と、をもっている。
【００６４】
鍵管理部１１６２は、上位システム部１１５１からの要求に従い、暗号情報記憶部１６００の鍵情報ＤＢ１１６５への鍵情報の登録、削除、取得、検索、更新処理を行う機能と、暗号鍵の登録が正常に実施された場合に鍵ＩＤを発行して当該登録処理に関する情報と関連づけて暗号情報記憶部１６００に記憶させる機能と、各処理結果を場合により暗号処理ＩＤや鍵ＩＤを含めて上位システム部１１５１へ出力する機能をもっている。
【００６５】
暗号情報記憶部１６００は、選定ＤＢ１６０１と、暗号モジュールリンクＤＢ１６０２と、暗号モジュールＤＢ１６０３と、鍵情報ＤＢ１１６５と、暗号処理ＤＢ１６０４とを記憶する機能を備えている。また、暗号情報記憶部１６００は、鍵管理部１１６２や暗号処理制御部１１５６および暗号パッケージ管理部１１６６からの要求に従い、暗号情報記憶部１６００が備える各ＤＢを制御管理する機能をもっていることとしても良い。
【００６６】
選定ＤＢ１６０１のデータ構造は、図６に示す通りである。暗号モジュールリンクＤＢ１６０２のデータ構造は、図７に示す通りである。暗号モジュールＤＢ１６０３のデータ構造は、図８に示す通りである。鍵情報ＤＢ１１６５のデータ構造は、図９に示す通りである。暗号処理ＤＢ１６０４のデータ構造は、図１０に示す通りである。図１１に、暗号情報記憶部１６００が備える各データベースの論理関係を示す。
【００６７】
暗号パッケージ管理部１１６６は、以下に説明する機能を有している。
まず、暗号パッケージ管理部１１６６は、上位システム部１１５１から入力された選定条件、選定ポリシ及びハードウェアプロファイルを含む情報を通信機能１１５５経由で暗号管理サーバ装置１３５０へ送信して得られる、選定された暗号パッケージ３０７のアルゴリズムＩＤ、暗号評価記述ＩＤ、暗号モジュールＩＤ及び推奨される鍵長情報を暗号情報記憶部１６００に登録する機能を持っている。
【００６８】
また、暗号パッケージ管理部１１６６は、上位システム部１１５１から入力された選定条件を基に選定ＤＢを特定して暗号化アルゴリズムから対応される鍵生成エンジンのアルゴリズムＩＤを特定する機能を持っている。
また、暗号パッケージ管理部１１６６は、暗号管理サーバ装置１３５０にて選定された鍵生成エンジンのアルゴリズムＩＤ、暗号評価記述ＩＤ及び暗号モジュールＩＤを暗号情報記憶部１６００に登録する機能を持っている。
【００６９】
また、暗号パッケージ管理部１１６６は、上位システム部１１５１から入力された要求に基づき通信機能１１５５経由で暗号管理サーバ装置１３５０に対して最終初期登録日時および最終初期登録ドメインを入力として暗号パッケージ初期登録プロトコルを実行し、必要最低限の暗号パッケージ３０７を暗号管理サーバ装置１３５０からダウンロードして暗号情報記憶部１６００に登録する機能を持っている。
【００７０】
また、暗号パッケージ管理部１１６６は、上位システム部１１５１から入力された選定条件、選定ポリシ、ハードウェアプロファイル及び端末内に保持する暗号パッケージ３０７のリストを含む情報を通信機能１１５５経由で暗号管理サーバ装置１３５０へ送信し、当該暗号管理サーバ装置１３５０にて選定された暗号パッケージ３０７の実体及びその付帯情報（アルゴリズムＩＤ、暗号評価記述ＩＤ、暗号モジュールＩＤ）を入手して暗号情報記憶部１６００に登録する機能を持っている。
【００７１】
また、暗号パッケージ管理部１１６６は、暗号管理サーバ装置１３５０からの更新通知の通知先登録及び更新事象発生時に暗号制御マネージャ部１１５２が行うアクションのポリシ設定を行える機能を持っている。
また、暗号パッケージ管理部１１６６は、上位システム部１１５１から要求された内容と暗号制御マネージャ部１１５２に保持した最後の更新通知識別子に基づき通信機能１１５５経由で暗号管理サーバ装置１３５０と連携して暗号制御マネージャ部１１５２に保持している暗号パッケージ３０７の実体と暗号パッケージ３０７の選定ポリシと暗号パッケージ３０７の紐付けについて更新処理を実行する機能を持っている。
【００７２】
また、暗号パッケージ管理部１１６６は、上位システム部１１５１から要求された暗号パッケージ３０７の実体を暗号情報記憶部１６００から削除して当該暗号パッケージ３０７に紐付けられた暗号情報記憶部１６００が備える各データベースの関連付けを解除する機能を持っている。
また、暗号パッケージ管理部１１６６は、上位システム部１１５１から入力された移行先ドメイン情報、ハードウェアプロファイル及び当該装置内に保持する暗号パッケージ３０７のリストを含む情報を通信機能１１５５経由で暗号管理サーバ装置１３５０へ送信し、暗号管理サーバ装置１３５０にて選定された持ち出し規制の対象となる暗号パッケージ情報を取得して暗号クライアント装置１１００内に保持する対象の暗号パッケージ３０７を削除する機能とをもっている。
【００７３】
暗号ハードウェア管理制御部１１７０は、暗号制御マネージャ部１１５２の各部からの要求に応じて通信機能１１５５経由で暗号ハードウェアへの通信制御を行う機能をもっている。
通信機能１１５５は、暗号パッケージ管理部１１６６や暗号ハードウェア管理制御部１１７０と相手通信装置または暗号ハードウェアとが相互に通信するための機能をもっている。
【００７４】
図１２は、暗号管理サーバ装置１３５０の構成を示す機能ブロック図である。暗号管理サーバ装置１３５０は、サーバ上位システム部１３８０と、通信機能１３５６と、暗号管理サーバ制御部１３５２と、暗号パッケージ記憶部１３５５と、サーバ暗号制御マネージャ部１３９０とを備えている。
【００７５】
サーバ上位システム部１３８０は、暗号クライアント装置１１００のサーバ上位システム部１３８０と同様の機能に加え、暗号管理に関するシステム管理者からの制御要求を暗号管理サーバ制御部１３５２に送信する機能とをもっている。
通信機能１３５６は、暗号管理サーバ制御部１３５２やサーバ暗号制御マネージャ部１３９０と相手通信装置、暗号ハードウェアまたは暗号ハードウェアの動作を模擬したシミュレータとが相互に通信するための機能をもっている。
【００７６】
暗号管理サーバ制御部１３５２は、暗号パッケージ管制部１３５９と、暗号パッケージ管理部１３５１と、暗号パッケージ配布構成部１３７０と、配布暗号パッケージ選定部１３７３とを備えている。
暗号パッケージ管制部１３５９は、サーバ上位システム部１３８０からの要求により暗号パッケージ３０７を登録する機能と、サーバ上位システム部１３８０からの要求により既に登録済みの暗号パッケージを更新する機能と、ベンダからの暗号パッケージ提供時に該当する暗号パッケージの出所の確認を行うためのベンダ認定認証子を検証する機能と、複数の単体型暗号評価記述部または複数の複合型暗号評価記述部を組み合わせて複合型暗号評価記述部を生成する機能と、暗号モジュールＤＢ１３５５に登録されている暗号パッケージ３０７を検索および一覧を取得する機能と、サーバ上位システム部１３８０からの要求により暗号モジュール３０８及び関連する暗号パッケージ３０７を暗号モジュールＤＢ１３５５から削除する機能と、暗号パッケージ記憶部１３５５に対して行った登録・更新・削除処理に対するログを出力する機能とをもっている。
【００７７】
暗号パッケージ管理部１３５１は、複数の暗号クライアント装置１１００からの管制要求を同時に並行して処理する機能と、暗号パッケージ３０７の初期登録処理、配信処理、更新処理、選定処理、更新通知処理および暗号管理ドメイン移行処理を行う機能と、暗号クライアント装置１１００と暗号管理サーバ装置１３５０との間でセキュリティ保護された通信路を確立するための機能と、当該暗号管理サーバ装置１３５０が管理するドメイン内に存在する暗号クライアント管理装置の状況を管理する機能と、暗号パッケージ３０７の初期登録処理、配信処理、更新処理、選定処理、更新通知処理および暗号管理ドメイン移行処理に対するログを生成する機能とをもっている。
【００７８】
暗号パッケージ配布構成部１３７０は、配布暗号パッケージ選定部１３７３で選ばれた暗号パッケージ３０７を暗号モジュールＤＢ１３５５から取得する機能と、暗号モジュールＤＢ１３５５に格納された各記述項目のデータをＸＭＬといった暗号評価記述形式で構成して出力する機能と、暗号パッケージ官制部１３５９のセキュリティ通信で使用する鍵に関して指定のセキュリティ方式に応じてサーバ暗号制御マネージャ部１３９０に処理を依頼して鍵生成を行う機能と、暗号クライアント装置１１００のＩＤや鍵のセキュリティ方式を含む情報を元に鍵に関する情報の管理を行う機能と、暗号管理サーバ装置１３５０の配布ポリシで定義されたセキュリティレベル及びセキュリティ方式に応じて暗号管理サーバ装置１３５０から暗号クライアント装置１１００に対して送信する情報に対するデータ秘匿やデータ認証のセキュリティ処理を行う機能とをもっている。
【００７９】
配布暗号パッケージ選定部１３７３は、暗号パッケージ初期登録処理における初期登録判定、暗号方式の選択及び暗号パッケージ選択を行う機能と、暗号パッケージ配信処理における配信判定及び暗号パッケージの選択を行う機能と、暗号パッケージ更新処理における配信判定を行う機能と、暗号パッケージ更新処理における更新暗号リスト取得及び暗号パッケージの選択を行う機能と、暗号パッケージ選定処理における選択判定及び暗号パッケージ選択を行う機能と、暗号管理ドメイン移行処理のおける移動判定およびドメイン移動処理情報の生成を行う機能と、選定条件、選定ポリシ及びハードウェアポリシを満たす暗号パッケージを暗号パッケージ記憶部から検索する機能とをもっている。
【００８０】
暗号モジュールＤＢ１３５５は、登録されている暗号モジュール３０８を記録管理する暗号モジュールＤＢ１３５３と暗号評価記述ファイル３０９を記録管理する暗号評価ＤＢ１３５４とを備えている。
サーバ暗号制御マネージャ部１３９０は、暗号クライアント装置１１００の暗号制御マネージャ部１１５２と同様の機能に加え、暗号管理サーバ制御部１３５２と連携して暗号管理サーバ装置１３５０内の暗号資産管理制御や他通信装置との暗号認証通信を行う機能をもっている。
【００８１】
次に、上述した暗号モジュール配信システムにおいて、暗号モジュールを組み合わせた複合暗号モジュールを用いる場合に、複合暗号モジュールの評価値を計算し、この計算結果を用いて、選定要求に応じた暗号モジュールを選定して出力する暗号管理装置について説明する。
【００８２】
［第３の実施形態］
以下、第３の実施形態について図面を用いて説明する。
図１３は、本発明の第３の実施形態における暗号管理装置の構成を示す概略ブロック図である。暗号管理装置１は、暗号モジュールメタ情報記憶部１０１、暗号モジュール記憶部１０２、暗号モジュールメタ情報検索部１０３、記憶部１０４、複合型暗号評価計算部１０５、暗号モジュール選定部１０６、暗号モジュール取得部１０７を有する。この暗号管理装置１は、例えば、無線または有線によって接続される端末装置からの選定要求に応じて暗号モジュールを選定し、選定した暗号モジュールを当該選定要求を行った端末装置に出力する。
端末装置からの選定要求は、例えば「安全な電子署名生成モジュールがほしい」、「高速な共通鍵暗号モジュールがほしい」、「メモリ使用量の小さいハッシュ関数モジュールがほしい」といった、暗号を用いる用途や、暗号処理を実行する環境に応じて発生する要求である。この選定要求には、少なくとも共通鍵暗号や電子署名などの暗号モジュールのカテゴリ情報を含み、更に安全性、速度、メモリ使用量などの条件や、実行可能なプラットフォームや最大入力長、最大鍵長などの制限情報や、暗号モジュールを作成したベンダの指定などの情報を含んでいても良い。
【００８３】
暗号モジュールメタ情報記憶部１０１は、暗号モジュールに付帯される暗号モジュールメタ情報を記憶する。暗号モジュール記憶部１０２は、複数の暗号モジュールを格納する。暗号モジュールメタ情報検索部１０３は、端末装置からの選定要求に含まれる暗号モジュールのカテゴリ情報に基づき、暗号モジュールメタ情報記憶部１０１を参照して暗号モジュールメタ情報を検索し、得られた暗号モジュールメタ情報を記憶部１０４に書き込む。記憶部１０４は、暗号モジュールメタ情報検索部１０３によって検索された結果や、複合型暗号評価計算部１０５の計算結果を記憶する。
【００８４】
複合型暗号評価計算部１０５は、暗号モジュール選定部１０６によって指定された暗号モジュールメタ情報に関連暗号モジュールカテゴリ情報が含まれている場合は、暗号モジュールメタ情報検索部１０３を用いて関連暗号モジュールの暗号モジュールメタ情報を検索し、検索の結果得られた各々の関連暗号モジュールの暗号モジュールメタ情報を指定して自身（複合型暗号評価計算部１０５）を再帰的に呼び出すことによって得られる関連暗号モジュールの評価情報と、当該暗号モジュールの暗号モジュールメタ情報に含まれる導出方法情報とに基づき、複合型暗号評価情報を生成する。
また、複合型暗号評価計算部１０５は、暗号モジュール選定部１０６によって指定された暗号モジュールの暗号モジュールメタ情報に関連暗号モジュールカテゴリ情報が含まれていない場合は、当該暗号モジュールの評価情報を複合型暗号評価情報として生成する。
【００８５】
暗号モジュール選定部１０６は、選定要求に対応して暗号モジュールメタ情報検索部１０３によって選定された暗号モジュールの暗号モジュールメタ情報に基づいて複合型暗号評価計算部１０５を呼び出し、複合型暗号評価情報を得る。暗号モジュール選定部１０６は、この得られた複合型暗号評価情報に基づき、暗号モジュールを選定する。この選定は、例えば、複合型暗号評価計算部１０５から出力される複合型暗号評価情報の評価点数が最も高い暗号モジュールを選ぶことによって行われる。
暗号モジュール取得部１０７は、暗号モジュール選定部１０６によって選定された暗号モジュールの暗号モジュール名を基に、暗号モジュール記憶部１０６から暗号モジュールを読み出して選定要求を行った要求元（例えば端末装置）へ出力する。
【００８６】
図１４は、暗号モジュールメタ情報の一例を示す図面である。この暗号モジュールメタ情報は、各々の暗号モジュールに付帯する情報であり、暗号モジュールを作成したベンダや暗号モジュールの評価機関などによって生成されるものである。そして、事前に暗号モジュールとともに暗号管理装置１の暗号モジュールメタ情報記憶部１０１に登録されることにより、暗号モジュールメタ情報は暗号モジュールメタ情報記憶部１０１に、暗号モジュールは暗号モジュール記憶部１０２にそれぞれ記憶されている。
この暗号モジュールメタ情報は、暗号モジュール名と、暗号モジュールカテゴリ（上述のカテゴリ情報に相当）と、暗号モジュール評価情報（上述の評価情報に相当）とを含む。暗号モジュール名（上述の暗号モジュール識別情報に相当）は、当該暗号モジュールを識別する情報である。暗号モジュールカテゴリは、当該暗号モジュールが実行可能な暗号処理のカテゴリを表す情報である。ここで、暗号モジュールカテゴリは、例えば、共通鍵暗号、公開鍵暗号、電子署名、ハッシュ関数、擬似乱数生成等がある。暗号モジュール評価情報は、当該暗号モジュールが評価された結果の情報であり、暗号モジュールの安全性、速度、メモリ使用量などを数値化、例えば点数化した情報である．さらに、その暗号モジュールが実行可能なプラットフォームや、最大入力長、最大鍵長などの使用制限に関する情報が記述されていても良い．
【００８７】
図１５は、暗号モジュール評価情報の一例を示す図である。この暗号モジュール評価情報は、暗号モジュールメタ情報毎に、評価項目とその評価項目において評価された結果である評価点数が対応付けされて予め記憶される。評価項目としては、例えば、安全性、速度、メモリ使用量等があり、これらの評価項目に対し、その評価項目に応じた点数（例えば６０点、２０点、３０点）が対応付けされて記憶される。この評価点数は、予め決められた所定の計算式に従って計算されるものとする。
【００８８】
また、暗号モジュールメタ情報は、当該暗号モジュールの実行に関連暗号モジュールを必要とする場合に、その関連暗号モジュールが属するカテゴリを表す関連暗号モジュールカテゴリ情報も含む。この「暗号モジュールの実行に関連暗号モジュールを必要とする場合」とは、言い換えると、暗号モジュールが単体では暗号処理を実行不可能な場合である。例えば、ＲＳＡＳＳＡなどの暗号モジュールは、ハッシュ関数および擬似乱数生成を行う暗号モジュール等と組み合わせなければ実行できない場合がある。このとき、暗号モジュールの関連暗号カテゴリ情報には、ハッシュ関数および擬似乱数生成、といった、組み合わせることが必要な暗号モジュールのカテゴリが関連暗号カテゴリ情報として記憶される。
【００８９】
また、暗号モジュールメタ情報は、当該暗号モジュールの実行に関連暗号モジュールを必要とする場合に、当該暗号モジュールに設定された評価情報と当該関連暗号モジュールに設定された評価情報とから当該暗号モジュールと当該関連暗号モジュールとを組み合わせて実行した場合の評価情報である複合型暗号評価情報を導出する方法を表す複合型暗号評価計算式情報（上述の導出方法情報に相当）を含む。この複合型暗号評価計算式情報は、これらのモジュールを組み合わせた場合の評価情報を計算するための複合型暗号評価計算式を含む計算プログラムである。複合型暗号評価情報は、各々の暗号モジュール評価情報と同様に、当該暗号モジュールと当該関連暗号モジュールとを組み合わせて実行した場合の安全性、速度、メモリ使用量などを数値化、例えば点数化した情報であり、さらに、それらの暗号モジュールが実行可能なプラットフォームや、最大入力長、最大鍵長などの使用制限に関する情報を含んでいても良い．
【００９０】
例えば、電子署名を行う暗号モジュールと、ハッシュ関数を計算するモジュールと、擬似乱数を生成する暗号モジュールとを組み合わせた場合の安全性に関する複合型暗号評価情報を計算する場合については、電子署名モジュールの複合型暗号評価計算式情報は、以下の情報を含む。すなわち、電子署名モジュールの安全性を表す評価値、およびハッシュ関数、擬似乱数生成のそれぞれのカテゴリの安全性を表す評価値に重み付け係数ｗ１、ｗ２、ｗ３を用いて加算した値を組み合わせの安全性評価値とする場合、複合型暗号評価計算式情報には下記の計算式（１）が記述される。
【００９１】
（電子署名の安全性評価値）
＝ｗ１×（電子署名モジュールの安全性評価値）
＋ｗ２×（ハッシュ関数の安全性評価値）
＋ｗ３×（擬似乱数生成の安全性評価値）      ・・・（１）
【００９２】
ここで、電子署名モジュールの安全性評価値は当該電子署名のモジュールの暗号モジュールメタ情報に記述された評価値が代入され、ハッシュ関数の安全性評価値および擬似乱数生成の安全性評価値は、組み合わせるハッシュ関数および擬似乱数生成モジュールの暗号モジュールメタ情報に記述された評価値、またはそれらの暗号モジュールの実行に更に関連暗号モジュールを必要とする場合には、それらの暗号モジュールメタ情報に記述された復号型暗号評価計算式情報により計算された評価値を代入するための変数である。
また、この複合型暗号評価計算式情報は、重み付け係数ｗ１、ｗ２、ｗ３を含んでいる。
【００９３】
図１６は、関連暗号カテゴリ情報を用いた暗号モジュールメタ情報について説明するための図である。
暗号モジュールメタ情報Ａに関連暗号カテゴリ情報が含まれており、この関連暗号カテゴリ情報に「擬似乱数生成」なるカテゴリが設定されている場合、暗号モジュールカテゴリとして「擬似乱数生成」に設定された暗号モジュールメタ情報（ここでは、例えば暗号モジュールメタ情報Ｃ）が付帯された暗号モジュールＣが関連暗号モジュールの１つである。ここでは、暗号モジュールメタ情報Ａが上位の暗号モジュールメタ情報であり、関連暗号カテゴリ情報に一致する暗号モジュールカテゴリ情報が設定された暗号モジュールメタ情報が下位の暗号モジュールメタ情報となる。
【００９４】
また、ここでは、暗号モジュールメタ情報Ｃにも関連暗号カテゴリ情報が含まれており、この関連暗号カテゴリ情報が「ハッシュ関数」なるカテゴリである場合、暗号モジュールカテゴリとして「ハッシュ関数」に設定された暗号モジュールメタ情報（ここでは、暗号モジュールメタ情報Ｄ）が付帯された暗号モジュールＤが関連暗号モジュールの１つである。なお、ここでは、暗号モジュールメタ情報Ｄには関連暗号カテゴリ情報が含まれていないので、この関連暗号カテゴリ情報Ｄが暗号モジュールメタ情報Ａに対する最下位の暗号モジュールメタ情報となる。ここで、暗号モジュールメタ情報Ｃにも複合型暗号評価計算式情報が含まれており、例えば擬似乱数生成を計算するモジュールとハッシュ関数を計算するモジュールとを組み合わせた安全性に関する復号型暗号評価情報を計算するための計算式として下記の計算式（２）が記述されている。
【００９５】
（擬似乱数生成の安全性評価値）
＝ｗ４×（擬似乱数生成モジュールの安全性評価値）
＋ｗ５×（ハッシュ関数の安全性評価値）      ・・・（２）
【００９６】
計算式（1）と同様に、擬似乱数生成の安全性評価値は当該電子署名のモジュールの暗号モジュールメタ情報に記述された評価値が代入され、ハッシュ関数の安全性評価値は組み合わせるハッシュ関数の暗号モジュールメタ情報に記述された評価値、またはハッシュ関数の暗号モジュールの実行に更に関連暗号モジュールを必要とする場合には、ハッシュ関数の暗号モジュールメタ情報に記述された複合型暗号評価計算式情報により計算された評価値を代入するための変数である。また、この複合型暗号評価計算式情報は、重み付け係数ｗ４、ｗ５を含んでいる。
【００９７】
また、暗号モジュールメタ情報Ａに更に「擬似乱数生成」とは異なる関連暗号カテゴリ情報が含まれており、この関連暗号カテゴリ情報に「ハッシュ関数」なるカテゴリが設定されている場合、暗号モジュールカテゴリとして「ハッシュ関数」に設定された暗号モジュールメタ情報（ここでは、例えば暗号モジュールメタ情報Ｂ）が付帯された暗号モジュールＢが関連暗号モジュールの１つである。ここでは、暗号モジュールメタ情報Ｂには関連暗号カテゴリ情報が含まれていないので、更なる下位の暗号モジュールメタ情報はない。
【００９８】
次に、複合型暗号評価計算部１０５の計算について図１６を用いてさらに説明する。
例えば、端末装置側において「安全な電子署名生成モジュール」を必要とする場合、選択要求としてカテゴリ「電子署名」と評価項目「安全性」とを含む選択要求が端末装置から暗号管理装置１に送信され、暗号モジュールメタ情報検索部１０３において「電子署名」のカテゴリが設定された暗号モジュールとして暗号モジュールＡの暗号モジュールメタ情報Ａが検索結果として得られると、複合型暗号評価計算部１０５は、暗号モジュールメタ情報Ａの関連暗号カテゴリ情報を読み出し、この関連暗号カテゴリ情報が暗号モジュールカテゴリとして記述された暗号モジュールメタ情報を暗号モジュールメタ情報検索部１０３によって検索する。ここで、暗号カテゴリ情報Ａの関連暗号カテゴリ情報に「擬似乱数生成」なるカテゴリが記述されているため、暗号モジュールメタ情報検索部１０３は、この「擬似乱数生成」のカテゴリが暗号モジュールカテゴリとして記述された暗号モジュールメタ情報Ｃを検索結果として得る。
【００９９】
暗号モジュールメタ情報Ｃが検索されると、複合型暗号評価計算部１０５は、この暗号モジュールメタ情報Ｃに関連暗号カテゴリ情報があるか否かを判定する。ここでは、関連暗号カテゴリ情報が記述されているので、複合型暗号評価計算部１０５は、暗号モジュールメタ情報Ｃの関連暗号カテゴリ情報を読み出し、この関連暗号カテゴリ情報が暗号モジュールカテゴリとして記述された暗号モジュールメタ情報を暗号モジュールメタ情報検索部１０３によって検索する。ここで、暗号カテゴリ情報Ｃの関連暗号カテゴリ情報に「ハッシュ関数」なるカテゴリが記述されているため、暗号モジュールメタ情報検索部１０３は、この「ハッシュ関数」のカテゴリが暗号モジュールカテゴリとして記述された暗号モジュールメタ情報Ｄを検索結果として得る。
暗号モジュールメタ情報Ｄが検索されると、複合型暗号評価計算部１０５は、この暗号モジュールメタ情報Ｄに関連暗号カテゴリ情報があるか否かを判定する。ここでは、関連暗号カテゴリ情報がないので、複合型暗号評価計算部１０５は上位に戻って暗号モジュールメタ情報Ｃの関連暗号カテゴリ情報に更にカテゴリが記述されているか否かを判定する。ここでは、暗号モジュールメタ情報Ｃの関連暗号カテゴリ情報には「ハッシュ関数」以外の更なるカテゴリは記述されていないため、複合型暗号評価計算部１０５は更に上位に戻って暗号モジュールメタ情報Ａの関連暗号カテゴリ情報に更にカテゴリが記述されているか否かを判定する。ここで、暗号モジュールメタ情報Ａの関連暗号カテゴリ情報には「擬似乱数生成」以外に「ハッシュ関数」なるカテゴリが記述されているため、暗号モジュールメタ情報検索部１０３によって暗号モジュールカテゴリとして「ハッシュ関数」が記述された暗号モジュールメタ情報を更に検索する。ここでは、その検索結果として暗号モジュールメタ情報Ｂを得る。ここで、既に擬似乱数生成の下位モジュールとして検索されたハッシュ関数の暗号モジュールメタ情報Ｄが得られても良い。暗号モジュールメタ情報Ｂが検索されると、複合型暗号評価計算部１０５は、この暗号モジュールメタ情報Ｂに関連暗号カテゴリ情報があるか否かを判定する。ここでは、関連暗号カテゴリ情報がないので、上位に戻って暗号モジュールメタ情報Ａの関連暗号カテゴリ情報に更にカテゴリが記述されているか否かを判定する。ここでは、更なるカテゴリは記述されていないため、以上で暗号モジュールメタ情報の検索を終了する。
続いて、複合型暗号評価計算部１０５は、検索の結果得られた暗号モジュールメタ情報Ａ、Ｂ、Ｃ、Ｄを用いて複合型暗号評価情報を生成する。
【０１００】
複合型暗号評価計算部１０５は、まず、最下位の暗号モジュールメタ情報Ｄを含む暗号モジュールメタ情報Ｃ、Ｄを用いて、以下のようにして擬似乱数生成の複合型暗号評価情報を生成する。複合型暗号評価計算部１０５は、暗号モジュールメタ情報Ｃ、暗号モジュールメタ情報Ｄの暗号モジュール評価情報のうち、暗号モジュールメタ情報検索部１０３が受信した評価項目「安全性」に一致する評価項目の評価点数を読み出す。ここでは、例えば、暗号モジュールメタ情報Ｃの「安全性」の評価点数が「４０点」であり、暗号モジュールメタ情報Ｄの「安全性」の評価項目の点数が「６０点」である場合、複合型暗号評価計算部１０５は、これらの点数をそれぞれ読み出す。
次に、複合型暗号評価計算部１０５は、暗号モジュールメタ情報Ｃの複合型暗号評価計算式情報に記述された前記擬似乱数生成の安全性評価値の計算式（２）に従い、複合型暗号評価情報を計算する。ここで、Ｗ４が０．３、Ｗ５が０．５として複合型暗号評価計算式情報に含まれている場合、複合型暗号評価計算部１０５は、擬似乱数生成の安全性評価値として、これらの式と値に基づき、０．３×４０＋０．５×６０を計算し、擬似乱数生成の安全性評価値の計算結果４２を得る。なお、この計算結果は、暗号モジュールメタ情報Ｃと暗号モジュールメタ情報Ｄとを組み合わせた場合の安全性評価値であるので、例えば、暗号モジュールメタ情報Ｄとは異なるハッシュ関数のカテゴリの暗号モジュールメタ情報Ｅがあった場合には、この暗号モジュールメタ情報Ｅの安全性評価値が暗号モジュールメタ情報Ｃの複合型暗号評価計算式情報における計算に用いられるため、同じ「ハッシュ関数」のカテゴリに属する暗号モジュールメタ情報であっても、異なる評価結果が得られる場合もある。
【０１０１】
暗号モジュールメタ情報Ｃと暗号モジュールメタ情報Ｄとを組み合わせた擬似乱数生成の安全性評価結果が得られると、複合型暗号評価計算部１０５は、暗号モジュールメタ情報Ｃの上位である暗号モジュールメタ情報Ａの組み合わせの安全性評価値である電子署名の安全性評価値を、上記の計算で得られた擬似乱数生成の安全性評価結果と、暗号モジュールメタ情報Ａと、その直下の暗号モジュールメタ情報Ｂを用いて計算する。ここでは、複合型暗号評価計算部１０５は、暗号モジュールメタ情報Ａの暗号モジュール評価情報（ここでは一例として６０点とする）と、上記の計算で得られた擬似乱数生成の安全性評価値の計算結果４２と、暗号モジュールメタ情報Ｂの暗号モジュール評価情報（ここでは一例として５０点とする）と、これらの上位である暗号モジュールメタ情報Ａの複合型暗号評価計算式情報である計算式（１）とを用いて計算する。ここで、Ｗ１が０．７、Ｗ２が０．４、Ｗ３が０．３として複合型暗号評価計算式情報に記述されている場合、複合型暗号評価計算部１０５は、電子署名の安全性評価値として、これらの式と値に基づき、０．７×６０＋０．４×５０＋０．３×４２を計算し、電子署名の安全性評価値の計算結果７４．６を得る。
【０１０２】
更に、複合型暗号評価計算部１０５は暗号モジュールメタ情報検索部１０３を用いて、暗号モジュールメタ情報Ａ、Ｂ、Ｃ、Ｄ以外の全ての組み合わせについても同様に復号型暗号評価情報を計算する。例えば、暗号モジュールメタ情報Ｂの他に「ハッシュ関数」のカテゴリが暗号モジュールカテゴリとして記述された暗号モジュールメタ情報Ｆが暗号モジュールメタ情報検索部１０３によって検索された場合、複合型暗号評価計算部１０５は、暗号モジュールメタ情報Ａ、Ｆ、Ｃ、Ｄとを組み合わせた場合における複合型暗号評価情報についても計算する。ここでは、複合型暗号評価計算部１０５は、暗号モジュールメタ情報Ａの暗号モジュール評価情報と、暗号モジュールメタ情報Ｆの暗号モジュール評価情報（ここでは、例えば２０点とする）と、暗号モジュールメタ情報ＣとＤの組み合わせによって得られた擬似乱数生成の安全性評価結果と、これらの上位である暗号モジュールメタ情報Ａの複合型暗号評価計算式情報である計算式（１）とを用いて計算する。つまり、ここでは０．７×６０＋０．４×２０＋０．３×４２を計算し、組み合わせの安全性評価値の計算結果６２．６を得る。
【０１０３】
このようにして検索された全ての暗号モジュールメタ情報の組み合わせについて複合型暗号評価情報が得られると、複合型暗号評価計算部１０５は、複合型暗号評価情報の算出に用いられた暗号モジュールメタ情報の組み合わせを示す情報と得られた復号型暗号評価情報の組を、全ての暗号モジュールメタ情報の組み合わせについて暗号モジュール選定部１０６に出力する。例えば、前述の組み合わせの場合は、暗号モジュールメタ情報の組み合わせが暗号モジュールメタ情報Ａ、Ｂ、Ｃ、Ｄであることを示す情報と、暗号モジュールメタ情報Ａ、Ｂ、Ｃ、Ｄを組み合わせた場合の複合型暗号評価情報が７４．６であることを示す情報とを暗号モジュール選定部１０６に出力される。
【０１０４】
ここで、例えばメモリ使用量の評価値に関する復号型暗号評価情報を算出する場合で、暗号モジュールメタ情報Ｂの代わりに暗号モジュールメタ情報Ｄが検索された場合に、暗号モジュールメタ情報Ａ、Ｂ、Ｃ、Ｄの組み合わせの復号型暗号評価情報を算出する場合、暗号モジュールメタ情報Ａの複合型暗号評価計算式情報として前述の安全性に関する復号型復号型暗号評価情報と同様な複合型暗号評価計算式情報が記述されていると、暗号モジュールメタ情報Ｄのメモリ使用量の評価値を二重に加算してしまい、適切な複合型暗号評価値が得られない場合がある。この場合、複合型暗号評価計算式情報に、同じ暗号モジュールの評価情報を二重に加算しない旨の条件式が記述されていても良い。
【０１０５】
次に、上述した第３の実施形態における暗号管理装置１の動作について説明する。図１７は、暗号管理装置１の動作について説明するためのフローチャートである。まず、端末装置側において「安全な電子署名生成モジュール」を必要とする場合、選択要求としてカテゴリ「電子署名」と評価項目「安全性」とを含む選択要求が端末装置から暗号管理装置１に送信される。
端末装置から暗号管理装置１に選択要求が送信されると、暗号管理装置１の暗号モジュールメタ情報検索部１０３は、この選択要求を受信する（ステップＳ１０１）。次に、暗号モジュールメタ情報検索部１０３は、受信した選択要求に含まれるカテゴリ「電子署名」を表すカテゴリの暗号モジュールメタ情報を暗号モジュールメタ情報記憶部１０１を参照して検索する（ステップＳ１０２）。そして、暗号モジュールメタ情報検索部１０３は、検索結果として得られた暗号モジュールメタ情報を記憶部１０４に書き込む（ステップＳ１０３）。ここでは、検索の結果、複数の暗号モジュールメタ情報が得られた場合には、この得られた各暗号モジュールメタ情報が記憶部１０４に書き込まれる。
【０１０６】
記憶部１０４に暗号モジュールメタ情報が書き込まれると、複合型暗号評価計算部１０５は、記憶部１０４に記憶された暗号モジュールメタ情報を起点とし、この暗号モジュールメタ情報に関連暗号カテゴリ情報が含まれているか否か判定する（ステップＳ１０４）。
暗号モジュールメタ情報に関連暗号カテゴリ情報が含まれていない場合（ステップＳ１０４−ＮＯ）、複合型暗号評価計算部１０５は、暗号モジュールメタ情報の暗号モジュール評価情報（ここでは、「安全性」の評価項目に対応する評価点数）を複合型評価情報として生成する（ステップＳ１０５）。
【０１０７】
一方、暗号モジュールメタ情報に関連暗号カテゴリ情報が含まれている場合（ステップＳ１０４−ＹＥＳ）、複合型暗号評価計算部１０５は、暗号モジュールメタ情報検索部１０３を用いて、この関連暗号カテゴリ情報のカテゴリに一致するカテゴリの暗号モジュールの暗号モジュールメタ情報を検索し、検索の結果得られた各々の関連暗号モジュールの暗号モジュールメタ情報を指定して復号型暗号評価計算部１０５を再帰的に呼び出すことによって得られる関連暗号モジュールの評価情報（ここでは、「安全性」の評価項目に対応する評価点数）と、当該暗号モジュールの暗号モジュールメタ情報に含まれる複合型暗号評価計算式情報とを基に、暗号モジュールの複合型暗号評価情報を生成する（ステップＳ１０６）。
【０１０８】
複合型暗号評価情報が生成されると、暗号モジュール選定部１０６は、記憶部１０４に記憶された暗号モジュールメタ情報の全てについて複合型暗号評価情報の算出を行ったか否かを判定し（ステップＳ１０７）、記憶部１０４に記憶された暗号モジュールメタ情報のうち、複合型暗号評価情報の算出をしていない暗号モジュールメタ情報の組み合わせがある場合には、ステップＳ１０４に移行し（ステップＳ１０７−ＮＯ）、暗号モジュールメタ情報を指定して複合型暗号評価計算部１０５によって複合型暗号評価情報を計算させる。
【０１０９】
一方、記憶部１０４に記憶された暗号モジュールメタ情報の全てについて複合型暗号評価情報の算出が行われた場合（ステップＳ１０７−ＹＥＳ）、暗号モジュール選定部１０６は、複合型暗号評価計算部１０５によって算出した複合型暗号評価情報とその複合型暗号評価情報の算出に用いられた暗号モジュールメタ情報との組み合わせのうち、複合型暗号評価情報に基づいて、最も高い評価点である複合型暗号評価情報を選択し（ステップＳ１０８）、この複合型暗号評価情報の組み合わせとなる暗号モジュールメタ情報を暗号モジュール取得部１０７に出力する。
【０１１０】
暗号モジュール選定部１０６から暗号モジュールメタ情報が出力されると、暗号モジュール取得部１０７は、暗号モジュールメタ情報に含まれている暗号モジュール名に基づいて、暗号モジュール記憶部１０２に記憶された暗号モジュールを読み出し、読み出した暗号モジュールを、選定要求を行った端末装置に対して配信する（ステップＳ１０９）。
【０１１１】
次に、第３の実施形態における暗号管理装置１の変形例について図１８のフローチャートを用いて説明する。
まず、端末装置側において「安全な電子署名生成モジュール」を必要とする場合、選択要求としてカテゴリ「電子署名」と評価項目「安全性」とを含む選択要求が端末装置から暗号管理装置１に送信される。
端末装置から暗号管理装置１に選択要求が送信されると、暗号管理装置１の暗号モジュールメタ情報検索部１０３は、この選択要求を受信する（ステップＳ２０１）。次に、暗号モジュールメタ情報検索部１０３は、受信した選択要求に含まれるカテゴリ「電子署名」を表すカテゴリの暗号モジュールメタ情報を暗号モジュールメタ情報記憶部１０１を参照して検索する（ステップＳ２０２）。そして、暗号モジュールメタ情報検索部１０３は、検索結果として得られた暗号モジュールメタ情報を記憶部１０４に書き込む（ステップＳ２０３）。ここでは、検索結果として複数の暗号モジュールメタ情報が得られた場合には、暗号モジュールメタ情報検索部１０３は、これらの得られた暗号モジュールメタ情報を全て記憶部１０４に書き込む。
【０１１２】
記憶部１０４に暗号モジュールメタ情報が書き込まれると、複合型暗号評価計算部１０５は、記憶部１０４に記憶された暗号モジュールメタ情報のうち、複合型暗号評価情報の計算がまだされていない暗号モジュールメタ情報を選択して読み出し（ステップＳ２０４）、この読み出した暗号モジュールメタ情報に関連暗号カテゴリ情報が含まれているか否か判定する（ステップＳ２０５）。
【０１１３】
暗号モジュールメタ情報に関連暗号カテゴリ情報が含まれていない場合（ステップＳ２０５−ＮＯ）、複合型暗号評価計算部１０５は、暗号モジュールメタ情報の暗号モジュール評価情報（ここでは、「安全性」の評価項目に対応する評価点数）を複合型評価情報として生成する（ステップＳ２０６）。
【０１１４】
一方、暗号モジュールメタ情報に関連暗号カテゴリ情報が含まれている場合（ステップＳ２０５−ＹＥＳ）、複合型暗号評価計算部１０５は、暗号モジュールメタ情報検索部１０３を用いて、この関連暗号カテゴリ情報のカテゴリに一致するカテゴリの暗号モジュールの暗号モジュールメタ情報を再帰的に検索する（ステップＳ２０６）。この検索は、関連暗号カテゴリ情報が含まれていない暗号モジュールメタ情報に到達するまで繰り返し行われ、検索して得られた結果は、暗号モジュールメタ情報検索部１０３によって記憶部１０４に記憶される。
そして、複合型暗号評価計算部１０５は、検索結果が記憶部１０４に記憶されると、この記憶部１０４に記憶された検索結果に基づいて、関連暗号カテゴリ情報が含まれていない暗号モジュールメタ情報を下位とし、記憶部１０４から読み出した暗号モジュールメタ情報を上位とし、下位から上位に向かって順に計算を行う（ステップＳ２０８）。この計算については、複合型暗号評価計算部１０５は、暗号モジュールメタ情報の暗号モジュール評価情報と、当該暗号モジュールメタ情報の関連暗号カテゴリ情報に属する関連暗号モジュールの暗号モジュール評価情報と、当該暗号モジュールの暗号モジュールメタ情報に含まれる複合型暗号評価計算式情報とに基づき、暗号モジュールの複合型暗号評価情報として生成する。
【０１１５】
複合型暗号評価情報が生成されると、複合型暗号評価計算部１０５は、記憶部１０４に記憶された暗号モジュールメタ情報の全てについて複合型暗号評価情報の算出を行ったか否かを判定し（ステップＳ２０９）、記憶部１０４に記憶された暗号モジュールメタ情報のうち複合型暗号評価情報の算出をしていない暗号モジュールメタ情報の組み合わせがある場合には、ステップＳ２０４に移行する（ステップＳ２０９−ＮＯ）。
【０１１６】
一方、記憶部１０４に記憶された暗号モジュールメタ情報の全てについて複合型暗号評価情報の算出が行われると（ステップＳ２０９−ＹＥＳ）、複合型暗号評価計算部１０５は、算出した複合型暗号評価情報とその複合型暗号評価情報の算出に用いられた暗号モジュールメタ情報との組み合わせを、暗号モジュール選定部１０６に出力する。複合型暗号評価情報が複数算出された場合には、複合型暗号評価情報とその複合型暗号評価情報の算出に用いられた暗号モジュールメタ情報との組み合わせが複数存在することになり、これら複数の組み合わせがそれぞれ暗号モジュール選定部１０６に出力される。
【０１１７】
複合型暗号評価計算部１０５から複合型暗号評価情報と暗号モジュールメタ情報の組み合わせが出力されると、暗号モジュール選定部１０６は、複合型暗号評価計算部１０５から出力された複合型暗号評価情報と暗号モジュールメタ情報の組み合わせのうち、複合型暗号評価情報に基づいて、最も高い評価点である複合型暗号評価情報を選択し（ステップＳ２１０）、この複合型暗号評価情報の組み合わせとなる暗号モジュールメタ情報とを暗号モジュール取得部１０７に出力する。
【０１１８】
暗号モジュール選定部１０６から暗号モジュールメタ情報が出力されると、暗号モジュール取得部１０７は、暗号モジュールメタ情報に含まれている暗号モジュール名に基づいて、暗号モジュール記憶部１０２に記憶された暗号モジュールを読み出し、読み出した暗号モジュールを、選定要求を行った端末装置に対して配信する（ステップＳ２１１）。
【０１１９】
以上説明した第３の実施形態によれば、暗号モジュールの実行に関連暗号モジュールを必要とする場合に、暗号モジュールと関連暗号モジュールとを組み合わせて評価を行うようにしたので、選定要求に応じた暗号モジュールの組み合わせの中から評価結果を基に暗号モジュールを選定し、選定要求を行った端末装置に対して配信することができる。
【０１２０】
なお、以上説明した第３の実施形態において、暗号モジュール評価情報として、評価項目と評価点数とを対応付けして記憶する場合について説明したが、暗号モジュールが実行可能なプラットフォームや、最大入力長、最大鍵長などの使用制限に関する情報である使用制限情報についても記憶するようにし、端末装置から送信される選択要求に、当該端末装置の使用環境を表す端末使用環境情報（例えば、端末装置が実行可能なプラットフォーム、最大入力長、最大鍵長など）を含めて端末装置から暗号管理装置に送信するようにしてもよい。
【０１２１】
この場合、暗号管理装置１の暗号モジュール選択部１０５は、複合型暗号評価情報を計算した後、計算の結果得られた複合型暗号評価情報が高い順に暗号モジュールをソートしたのち、さらに、この暗号モジュールに付帯された暗号モジュール評価情報の使用制限情報と、選定要求を行った端末装置の端末使用環境情報とについて、複合型暗号評価情報が高い順に比較を行い、端末装置の端末使用環境情報によって表された環境を満たす使用制限情報が付帯された暗号モジュールを選択するようにしてもよい。例えば、端末装置の実行可能なプラットフォームに一致する実行可能なプラットフォームを含む使用制限情報であって、かつ、端末使用環境情報の最大入力長及び最大鍵長と、暗号モジュールに付帯された暗号モジュール評価情報の使用制限情報の最大入力長及び最大鍵長とが一致する場合に、端末装置の端末使用環境情報によって表された環境を満たす使用制限情報として選択する。これにより、端末装置の使用条件を満たしつつ、評価が最も高い暗号モジュールを選定することが可能となる。
【０１２２】
［第４の実施形態］
次に、第４の実施形態について説明する。第３の実施形態においては、端末装置から選択要求を受信した時点で暗号モジュールの組み合わせた場合の評価を行い、評価結果を基に暗号モジュールを選定して端末装置に配信する場合について説明したが、この第４の実施形態においては、暗号モジュールを組み合わせた場合における評価を予め行って記憶しておく場合について説明する。
【０１２３】
以下、第４の実施形態について図面を用いて説明する。図１９は、第４の実施形態における暗号管理装置の構成を示す図面である。この図において、暗号管理装置２は、メタ情報記憶部２０１、暗号モジュール登録装置２０２、メタ情報検索部２０３、暗号モジュール選定部２０４、暗号モジュール取得部２０５、暗号モジュール記憶部２０６を有する。暗号モジュール選定部２０４は第３の実施形態における暗号モジュール選定部１０６、暗号モジュール取得部２０５は第３の実施形態における暗号モジュール取得部１０７、暗号モジュール記憶部２０６は第３の実施形態における暗号モジュール記憶部１０２にそれぞれ対応し、同様の機能を有する。
【０１２４】
メタ情報記憶部２０１は、暗号モジュールメタ情報と、複合型メタ情報とを記憶する。この暗号モジュールメタ情報は、第３の実施形態において説明した暗号モジュールメタ情報と同様の情報である。暗号モジュール登録装置２０２は、関連暗号モジュール検索部２１０、複合型暗号評価計算部２１１、複合型メタ情報生成部２１２を有する。
関連暗号モジュール検索部２１０は、外部に無線または有線によって接続される登録要求装置から送信される暗号モジュールと当該暗号モジュールの暗号モジュールメタ情報とを受信する。そして、まず当該暗号モジュールメタ情報の関連暗号カテゴリ情報にカテゴリが記述されていた場合は、メタ情報記憶部２０１を検索して、複合型暗号カテゴリが当該カテゴリに一致する複合型メタ情報（下位モジュールの複合型メタ情報）を検索し、当該暗号モジュールメタ情報と検索の結果得られた複合型メタ情報の組を出力する。また当該暗号モジュールメタ情報の関連暗号カテゴリ情報にカテゴリが記述されていない場合には、まず当該暗号モジュールメタ情報のみを出力する。更に、当該暗号モジュールメタ情報の暗号モジュールカテゴリに従い、関連暗号カテゴリ情報に記載されたカテゴリが当該暗号モジュールカテゴリに一致する暗号モジュールメタ情報（上位モジュールの暗号モジュールメタ情報）を検索し、当該暗号モジュールメタ情報と下位の複合型メタ情報と検索の結果得られた上位の暗号モジュールメタ情報の組を出力する。このとき、検索された暗号モジュールメタ情報の関連暗号カテゴリ情報にカテゴリが記述されていた場合は、メタ情報記憶部２０１を更に検索して、複合型暗号カテゴリが当該関連暗号カテゴリ情報のカテゴリに一致する複合型メタ情報を検索し、その結果得られた複合型メタ情報もあわせて出力する。更に、再帰的にメタ情報記憶部２０１を検索して、前記得られた上位の暗号モジュールメタ情報の暗号モジュールカテゴリが関連暗号モジュールカテゴリ情報に一致する暗号モジュールメタ情報（更に上位の暗号モジュールメタ情報）を検索して、それらの組を出力する。これを更に上位の暗号モジュールメタ情報が検索されなくなるまで繰り返す。要するに、登録要求装置から送信された暗号モジュールを含んで実行可能な暗号モジュールの組み合わせに対応する暗号モジュールメタ情報および複合型メタ情報の組を全て検索して出力する。このとき、下位の暗号モジュールの組み合わせはいずれも複合型メタ情報を検索すれば十分であり、これにより検索の手間が削減できる。
【０１２５】
複合型暗号評価計算部２１１は、関連暗号モジュール検索部２１０により検索された暗号モジュールメタ情報および複合型メタ情報の組み合わせから、暗号モジュールメタ情報の暗号モジュール評価情報と、暗号モジュールメタ情報の関連暗号カテゴリ情報に記述された暗号モジュールカテゴリに属する暗号モジュール（下位モジュール）の暗号モジュールメタ情報に記述された暗号モジュール評価情報または複合型メタ情報に記載された複合型暗号評価情報とを用い、この下位モジュールが属するモジュールである上位モジュールの複合型暗号評価計算式情報に従い、これら組み合わせの評価値である複合型暗号評価情報を計算する。
【０１２６】
複合型メタ情報生成部２１２は、複合型暗号評価計算部２１１の計算結果を基に複合型メタ情報を生成し、メタ情報記憶部２０１に書き込む。ここでは、関連暗号モジュール検索部２１０が受信した暗号モジュールメタ情報についてもメタ情報記憶部２０１に書き込む。
【０１２７】
図２０は、複合型メタ情報の一例を示す図である。複合型メタ情報は、複合型名、複合型暗号カテゴリ、複合型評価情報、関連暗号モジュール名を含む。
ここで、複合型名は、暗号モジュールの組み合わせを識別する情報である。複合型暗号カテゴリは、暗号モジュールの組み合わせのうち、最上位の暗号モジュールのカテゴリを表すカテゴリが記憶される。複合型暗号評価情報は、複合型暗号評価計算部２１１により生成された複合型暗号評価情報が記憶される。関連暗号モジュール名には、複合型暗号評価情報を計算した際に組み合わせされた暗号モジュールの暗号モジュール名が記憶される。
【０１２８】
次に、上述した構成における暗号管理装置２の動作について図２１を用いて説明する。ここでは、暗号管理装置２に複数の暗号モジュール、暗号モジュールメタ情報、複合型暗号メタ情報が既に記憶されている場合において、まだ暗号管理装置２に記憶されていない暗号モジュールを暗号管理装置２に記憶する場合について説明する。図２１は、第４の実施形態における暗号管理装置２の動作について説明するためのフローチャートである。
暗号管理装置２の外部に接続される登録要求装置から暗号モジュールと暗号モジュールメタ情報とが暗号管理装置２に登録要求とともに送信されると、関連暗号モジュール検索部２１０は、この暗号モジュールと暗号モジュールメタ情報とを受信する（ステップＳ３０１）。関連暗号モジュール検索部２１０は、前述の通りメタ情報記憶部２０１を検索して暗号モジュールメタ情報および複合型メタ情報の組を得る（ステップＳ３０２）。
関連暗号モジュール検索部２１０によって暗号モジュールメタ情報および複合型メタ情報の組が得られると、複合型暗号評価計算部２１１は、前述の通りこれら組み合わせに対する複合型暗号評価情報を生成する（ステップＳ３０３）。
【０１２９】
そして、複合型暗号評価情報が生成されると、複合型暗号メタ情報生成部２１２は、複合型暗号メタ情報を生成し（ステップＳ３０４）、生成した複合型暗号メタ情報と関連暗号モジュール検索部２１０が受信した暗号モジュールメタ情報とをメタ情報記憶部２０１に書き込む（ステップＳ３０５）。ここで、複合型暗号メタ情報生成部２１２は、複合型暗号評価計算部２１１によって複合型暗号評価情報を計算した暗号モジュールメタ情報および複合型メタ情報の組み合わせを基に、この組み合わせを識別する情報を生成して複合型暗号名としてメタ情報記憶部２０１の複合型メタ情報に書き込む。また、複合型暗号メタ情報生成部２１２は、複合型暗号評価計算部２１１によって複合型暗号評価情報を計算した暗号モジュールメタ情報の組み合わせのうち、最も上位の暗号モジュールの暗号モジュールメタ情報のカテゴリを当該生成した複合型暗号名に対応づけて、複合型暗号カテゴリとしてメタ情報記憶部２０１の複合型メタ情報に書き込む。さらに、複合型暗号メタ情報生成部２１２は、複合型暗号評価計算部２１１によって計算された複合型暗号評価情報を当該生成した複合型暗号名に対応づけて、メタ情報記憶部２０１の複合型暗号評価情報に書き込む。さらにまた、複合型暗号メタ情報生成部２１２は、複合型暗号評価計算部２１１によって複合型暗号評価情報を計算した際に、組み合わされた各々の暗号モジュールメタ情報の暗号モジュール名を当該生成した複合型暗号名に対応づけて、関連暗号モジュール名としてメタ情報記憶部２０１の複合型メタ情報に書き込む。
【０１３０】
そして、複合型メタ情報生成部２１２は、関連暗号モジュール検索部２１０で複数の組み合わせが検索された場合であって、複合型暗号メタ情報を生成していない暗号モジュールメタ情報の組み合わせがある場合には、ステップＳ３０３に移行し（ステップＳ３０６−ＮＯ）、ない場合には処理を終了する（ステップＳ３０６−ＹＥＳ）。以上のようにして、複合型メタ情報が生成され、メタ情報記憶部２０１に記憶される。
【０１３１】
このようにして複合型メタ情報がメタ情報記憶部２０１に登録された後、端末装置側において「安全な電子署名生成モジュール」を必要とする場合、選択要求としてカテゴリ「電子署名」と評価項目「安全性」とを含む選択要求が端末装置から暗号管理装置２に送信された場合は、メタ情報検索部２０３が、端末装置の選択要求に含まれるカテゴリに従い、メタ情報記憶部２０１を検索し、複合型メタ情報の複合型暗号カテゴリが一致する複合型メタ情報を得て、得られた複合型暗号メタ情報を暗号モジュール選定部２０４へ出力する。
【０１３２】
暗号モジュール選定部２０４は、第３の実施形態と同様に複合型メタ情報に記述された評価情報から、要求を満たす最適な複合型メタ情報を選定し、選定した複合型暗号メタ情報の関連暗号モジュール名を基に暗号モジュールを暗号モジュール記憶部２０６から読み出して端末装置に出力する。
【０１３３】
以上説明したように、暗号モジュール全ての組み合わせに対する暗号評価の計算を、暗号モジュールの登録要求を受けた時点で行ってメタ情報記憶部２０１に書き込むようにしたので、選定要求を受信した時点で評価情報を計算する必要が無くなる。これにより、選定要求を受信した後に評価情報を計算する場合に比べて、選定要求を受信してから暗号モジュールを選定するまでの処理において評価情報を計算する処理の分についての負荷を削減することができる。これにより、複数のクライアントからの暗号モジュールの選定要求に対応することも可能となる。
【０１３４】
［第５の実施形態］
次に、第５の実施形態について説明する。この第５の実施形態においては、暗号管理装置内に格納されている暗号モジュールが危殆化した場合に、危殆化した暗号モジュールを削除する場合について説明する。
【０１３５】
図２２は、第５の実施形態における暗号管理装置３の構成を示す概略ブロック図である。この図において、メタ情報関連テーブル記憶部３０１は、暗号モジュールと当該暗号モジュールが必要とする関連暗号モジュールとの関係を記憶する。メタ情報記憶部３０２は、複合型メタ情報と暗号モジュールメタ情報とを記憶する。この複合型メタ情報と暗号モジュールメタ情報は、例えば、第４の実施形態における複合型メタ情報と暗号モジュールメタ情報と同様である。暗号モジュール記憶部３０３は、暗号モジュールを記憶する。
削除部３０４は、危殆化した暗号モジュールの暗号モジュール名と削除要求を暗号管理装置３の外部に接続される管理装置から受信し、受信した暗号モジュール名を基にメタ情報関連テーブル記憶部３０１を検索し、検索結果に基づいて、受信した暗号モジュール名に一致する暗号モジュールを削除する。
【０１３６】
図２３は、メタ情報関連テーブル記憶部３０１に記憶されるメタ情報関連テーブルの一例を示す図である。この図において、メタ情報関連テーブルは、上位モジュール名と下位モジュール名とから構成される。ここでは、上位モジュール名の暗号モジュール名に対し、当該暗号モジュール名を含む暗号モジュールメタ情報の関連暗号カテゴリに一致するカテゴリが設定された暗号モジュールメタ情報の暗号モジュール名が下位モジュール名として対応付けされる。
また、下位モジュール名として記憶された暗号モジュール名の暗号モジュールに関連暗号モジュールがある場合には、この下位情報として記憶された暗号モジュール名を上位モジュール名とし、関連暗号モジュールの暗号モジュール名が下位モジュール名としてメタ情報関連テーブルに記憶される。
図２３においては、暗号モジュール名ａの下位として暗号モジュール名ｂ、ｃがそれぞれ対応付けされて記憶されている。また、暗号モジュール名ｃの下位として暗号モジュール名ｄが対応付けされて記憶される。
【０１３７】
以上説明した構成における暗号管理装置３の動作について説明する。ここでは、メタ情報関連テーブル記憶部３０１に予め上位と下位の暗号モジュール名が対応付けされて記憶されているものとする。
外部の管理装置から暗号管理装置３に暗号モジュール名と削除要求が送信されると、削除部３０３は、メタ情報関連テーブル記憶部３０１の下位モジュール名を検索し、削除要求された暗号モジュール名と一致する暗号モジュール名があるか否かを判定する。削除部３０３は、削除要求された暗号モジュール名と一致する暗号モジュール名が下位モジュール名に無ければ処理を終了し、削除要求された暗号モジュール名と一致する暗号モジュール名が下位モジュール名にある場合に、その下位モジュール名と当該下位モジュール名に対応する上位モジュール名の暗号モジュール名をメタ情報関連テーブル記憶部３０１から削除するとともに、この削除した暗号モジュール名を基にメタ情報記憶部２０１から暗号モジュールメタ情報を削除し、さらに、削除した暗号モジュール名を基に暗号モジュールを暗号モジュール記憶部３０３から削除する。
【０１３８】
また、この第５の実施形態によれば、別の効果として、暗号モジュールが危殆化した場合のシステムへの影響度を知るために、その暗号モジュールがどれだけの上位モジュールから参照されているかを知りたい場合にも、このメタ情報管理テーブルを参照することにより、参照されている数を把握することができる。
【０１３９】
なお、以上説明した暗号管理装置１、２、３は、暗号配信システムにおいてサーバ装置側が備えていても良く、クライアント端末側が備えていても良い。例えば、予めクライアント端末側に複数の暗号モジュールを保持することが可能な場合には、クライアント端末内の当該暗号管理装置によってこれらの暗号モジュールを管理してもよい。これにより、アプリケーションからの暗号モジュール要求に対して、クライアント内のみで効率的に暗号の選定・管理が可能となる。
【０１４０】
また、図２、３、５、１２、１３、１９、２２における暗号クライアント装置、暗号管理サーバ、暗号管理装置の機能を実現するためのプログラムをコンピュータ読み取り可能な記録媒体に記録して、この記録媒体に記録されたプログラムをコンピュータシステムに読み込ませ、実行することにより暗号モジュールの管理を行ってもよい。なお、ここでいう「コンピュータシステム」とは、ＯＳや周辺機器等のハードウェアを含むものとする。
【０１４１】
また、「コンピュータシステム」は、ＷＷＷシステムを利用している場合であれば、ホームページ提供環境（あるいは表示環境）も含むものとする。
また、「コンピュータ読み取り可能な記録媒体」とは、フレキシブルディスク、光磁気ディスク、ＲＯＭ、ＣＤ−ＲＯＭ等の可搬媒体、コンピュータシステムに内蔵されるハードディスク等の記憶装置のことをいう。さらに「コンピュータ読み取り可能な記録媒体」とは、インターネット等のネットワークや電話回線等の通信回線を介してプログラムを送信する場合の通信線のように、短時間の間、動的にプログラムを保持するもの、その場合のサーバやクライアントとなるコンピュータシステム内部の揮発性メモリのように、一定時間プログラムを保持しているものも含むものとする。また上記プログラムは、前述した機能の一部を実現するためのものであっても良く、さらに前述した機能をコンピュータシステムにすでに記録されているプログラムとの組み合わせで実現できるものであっても良い。
【０１４２】
以上、この発明の実施形態について図面を参照して詳述してきたが、具体的な構成はこの実施形態に限られるものではなく、この発明の要旨を逸脱しない範囲の設計等も含まれる。
【図面の簡単な説明】
【０１４３】
【図１】本発明の第１の実施形態による暗号モジュール配信システムの構成を示すブロック図である。
【図２】本発明の第１の実施形態による暗号クライアント装置の構成を示すブロック図である。
【図３】本発明の第１の実施形態による暗号管理サーバ装置の構成を示すブロック図である。
【図４】本発明の第２の実施形態による暗号モジュール配信システムの構成を示すブロック図である。
【図５】本発明の第２の実施形態による暗号クライアント装置の構成を示すブロック図である。
【図６】本発明の第２の実施形態による選定ＤＢのデータ構成例を示す図である。
【図７】本発明の第２の実施形態による暗号モジュールリンクＤＢのデータ構成例を示す図である。
【図８】本発明の第２の実施形態による暗号モジュールＤＢのデータ構成例を示す図である。
【図９】本発明の第２の実施形態による鍵情報ＤＢのデータ構成例を示す図である。
【図１０】本発明の第２の実施形態による暗号処理ＤＢのデータ構成例を示す図である。
【図１１】本発明の第２の実施形態によるデータベースの論理構成を示す図である。
【図１２】本発明の第２の実施形態による暗号管理サーバ装置の構成を示すブロック図である。
【図１３】本発明の第３の実施形態に係る暗号管理装置の機能ブロック図である。
【図１４】本発明の第３の実施形態に係る暗号モジュールメタ情報の一例を示す図である。
【図１５】本発明の第３の実施形態に係る暗号モジュール評価情報一例を示す図である。
【図１６】関連暗号カテゴリ情報を用いた暗号モジュールメタ情報について説明するための図である。
【図１７】本発明の第３の実施形態に係る暗号管理装置の動作について説明するためのフローチャートである。
【図１８】本発明の第３の実施形態の変形例に係る暗号管理装置の動作について説明するためのフローチャートである。
【図１９】第４の実施形態における暗号管理装置の構成を示す図面である。
【図２０】複合型メタ情報について説明するための図である。
【図２１】暗号管理装置２の動作について説明するためのフローチャートである。
【図２２】第５の実施形態における暗号管理装置３の構成を示す概略ブロック図である。
【図２３】本発明の第５の実施形態におけるメタ情報関連テーブルの一例を示す図である。
【符号の説明】
【０１４４】
１  暗号管理装置
２  暗号管理装置
３  暗号管理装置
１０１  暗号モジュールメタ情報記憶部
１０２  暗号モジュール記憶部
１０３  暗号モジュールメタ情報検索部
１０５  複合型暗号評価計算部
１０６  暗号モジュール選定部
１０７  暗号モジュール取得部
２０１  暗号モジュール登録装置
２０２  メタ情報記憶部
２０３  メタ情報検索部
２０４  暗号モジュール選定部
２０５  暗号モジュール取得部
２０６  暗号モジュール記憶部
２１０  関連暗号モジュール検索部
２１１  複合型暗号評価計算部
２１２  複合暗号メタ情報生成部
【図１】
0005024999.tif 000002
【図２】
0005024999.tif 000003
【図３】
0005024999.tif 000004
【図４】
0005024999.tif 000005
【図５】
0005024999.tif 000006
【図６】
0005024999.tif 000007
【図７】
0005024999.tif 000008
【図８】
0005024999.tif 000009
【図９】
0005024999.tif 000010
【図１０】
0005024999.tif 000011
【図１１】
0005024999.tif 000012
【図１２】
0005024999.tif 000013
【図１３】
0005024999.tif 000014
【図１４】
0005024999.tif 000015
【図１５】
0005024999.tif 000016
【図１６】
0005024999.tif 000017
【図１７】
0005024999.tif 000018
【図１８】
0005024999.tif 000019
【図１９】
0005024999.tif 000020
【図２０】
0005024999.tif 000021
【図２１】
0005024999.tif 000022
【図２２】
0005024999.tif 000023
【図２３】
0005024999.tif 000024