(57)【特許請求の範囲】
【請求項１】
複数の暗号モジュールのなかからいずれかを選定する暗号モジュール選定装置であって、
当該暗号方式を実行する暗号モジュールの識別情報と当該暗号モジュールに対する機能または性能のいずれか一方または両方を記述した暗号評価情報とを対応づけて記憶する暗号評価情報記憶部と、
当該選定する暗号モジュールの条件を指定する条件情報を取得する条件情報取得部と、
前記暗号評価情報記憶部に記憶された暗号モジュールの暗号評価情報から、前記条件情報取得部が取得した条件情報に適合する暗号評価情報を抽出する抽出部と、
前記抽出部が抽出した暗号評価情報に対応する暗号モジュールの識別情報を前記暗号評価情報記憶部から読み出して出力する出力部と
を有し、
前記暗号評価情報は、前記暗号モジュールの暗号方式のカテゴリ、および前記暗号モジュールの暗号方式の安全性を含んでおり、
前記条件情報取得部は、前記暗号モジュールを実行する装置内に記憶されている当該装置の動作条件となるハードウェアの機能または性能のいずれか一方または両方に関するハードウェアプロファイル情報を対象の条件情報として取得し、
前記ハードウェアプロファイル情報は、前記ハードウェアでのメモリの使用上限値、およびＣＰＵの処理速度を含んでおり、
前記抽出部は、前記暗号評価情報の集合から、各々の暗号評価情報を比較して、前記条件情報抽出部により抽出された条件情報に最も適合するデータを判定することによって暗号モジュールを条件に最適なものに絞り込むことを特徴とする暗号モジュール選定装置。
【請求項２】
前記出力部によって出力された暗号モジュールの識別情報に対応する暗号モジュールを実行可能に動作させる暗号モジュール管理部をさらに備えたことを特徴とする請求項１に記載の暗号モジュール選定装置。
【請求項３】
前記抽出部は、暗号評価情報を抽出する場合に、暗号評価情報が前記条件情報抽出部により抽出された条件情報を満たすかどうかを判定し、これを満たす暗号評価情報を抽出することを特徴とする請求項１または請求項２に記載の暗号モジュール選定装置。
【請求項４】
前記抽出部が暗号モジュールの条件に合致する暗号評価情報を選定する場合に、暗号モジュールの条件に合致する暗号評価情報がない場合に、暗号モジュールの条件を当該暗号モジュール選定装置と接続されている外部装置に対して当該暗号モジュールの検索依頼を指示する検索要求部と、
前記検索要求部からの検索要求に応じて検索された暗号モジュールの識別情報を受信する受信部と
を有することを特徴とする請求項１から請求項３のうちいずれか１項に記載の暗号モジュール選定装置。
【請求項５】
前記抽出部は、前記取得した条件情報に適合する暗号評価情報を抽出した際に当該暗号評価情報に含まれる暗号方式情報を、当該暗号モジュール暗号装置と接続される第２の暗号モジュール選定装置に送信し、当該第２の暗号モジュール選定装置に当該暗号方式に対応する適合暗号モジュールを選定させることを特徴とする請求項１から請求項３のうちいずれか１項に記載の暗号モジュール選定装置。
【請求項６】
複数の暗号モジュールのなかからいずれかを選定する暗号モジュール選定装置であるコンピュータに、
当該暗号方式を実行する暗号モジュールの識別情報と当該暗号モジュールに対する機能または性能のいずれか一方または両方を記述した暗号評価情報とを対応づけて記憶する暗号評価情報記憶部と、
当該選定する暗号モジュールの条件を指定する条件情報を取得する条件情報取得機能と、
前記評価情報記憶部に記憶された暗号モジュールの暗号評価情報のなかから、前記条件情報取得部が取得した条件情報に含まれる選定する暗号モジュールの条件に適合する暗号評価情報を抽出する抽出機能と、
前記抽出機能が選定した暗号評価情報に対応する暗号モジュールの識別情報を前記暗号評価情報記憶部から読み出して出力する出力機能と
を実現させ、
前記暗号評価情報は、前記暗号モジュールの暗号方式のカテゴリ、および前記暗号モジュールの暗号方式の安全性を含んでおり、
前記条件情報取得部は、前記暗号モジュールを実行する装置内に記憶されている当該装置の動作条件となるハードウェアの機能または性能のいずれか一方または両方に関するハードウェアプロファイル情報を対象の条件情報として取得し、
前記ハードウェアプロファイル情報は、前記ハードウェアでのメモリの使用上限値、およびＣＰＵの処理速度を含んでおり、
前記抽出部は、前記暗号評価情報の集合から、各々の暗号評価情報を比較して、前記条件情報抽出部により抽出された条件情報に最も適合するデータを判定することによって暗号モジュールを条件に最適なものに絞り込むための暗号モジュール選定プログラム。
【請求項７】
複数の暗号モジュールのなかからいずれかを選定する暗号モジュール選定装置であって、
当該暗号方式を実行する暗号モジュールの識別情報と当該暗号モジュールに対する機能または性能のいずれか一方または両方を記述した暗号評価情報とを対応づけて記憶する暗号評価情報記憶部と、
当該選定する暗号モジュールの条件を指定する条件情報を取得する条件情報取得部と、
前記暗号評価情報記憶部に記憶された暗号モジュールの暗号評価情報から、前記条件情報取得部が取得した条件情報に適合する暗号評価情報を抽出する抽出部と、
前記抽出部が抽出した暗号評価情報に対応する暗号モジュールの識別情報を前記暗号評価情報記憶部から読み出して出力する出力部と、
前記抽出部が暗号モジュールの条件に合致する暗号評価情報を選定する場合に、暗号モジュールの条件に合致する暗号評価情報がない場合に、暗号モジュールの条件を当該暗号モジュール選定装置と接続されている外部装置に対して当該暗号モジュールの検索依頼を指示する検索要求部と、
前記検索要求部からの検索要求に応じて検索された暗号モジュールの識別情報を受信する受信部と
を有することを特徴とする暗号モジュール選定装置。
【請求項８】
前記出力部によって出力された暗号モジュールの識別情報に対応する暗号モジュールを実行可能に動作させる暗号モジュール管理部をさらに備えたことを特徴とする請求項７に記載の暗号モジュール選定装置。
【請求項９】
前記条件情報取得部は、
前記暗号モジュールを実行する装置内に記憶されている当該装置の動作条件となる情報を対象の条件情報として取得することを特徴とする請求項７または請求項８に記載の暗号モジュール選定装置。
【請求項１０】
前記抽出部は、暗号評価情報を抽出する場合に、暗号評価情報が前記条件情報抽出部により抽出された条件情報を満たすかどうかを判定し、これを満たす暗号評価情報を抽出することを特徴とする請求項７ないし請求項９に記載の暗号モジュール選定装置。
【請求項１１】
前記抽出部は、前記暗号評価情報の集合から、各々の暗号評価情報を比較して、前記条件情報抽出部により抽出された条件情報に最も適合するデータを判定することによって暗号モジュールを条件に最適なものに絞り込むことを特徴とする請求項７から請求項１０のうちいずれか１項に記載の暗号モジュール選定装置。
【請求項１２】
複数の暗号モジュールのなかからいずれかを選定する暗号モジュール選定装置であるコンピュータに、
当該暗号方式を実行する暗号モジュールの識別情報と当該暗号モジュールに対する機能または性能のいずれか一方または両方を記述した暗号評価情報とを対応づけて記憶する暗号評価情報記憶部と、
当該選定する暗号モジュールの条件を指定する条件情報を取得する条件情報取得機能と、
前記評価情報記憶部に記憶された暗号モジュールの暗号評価情報のなかから、前記条件情報取得部が取得した条件情報に含まれる選定する暗号モジュールの条件に適合する暗号評価情報を抽出する抽出機能と、
前記抽出機能が選定した暗号評価情報に対応する暗号モジュールの識別情報を前記暗号評価情報記憶部から読み出して出力する出力機能と、
前記抽出機能が暗号モジュールの条件に合致する暗号評価情報を選定する場合に、暗号モジュールの条件に合致する暗号評価情報がない場合に、暗号モジュールの条件を当該暗号モジュール選定装置と接続されている外部装置に対して当該暗号モジュールの検索依頼を指示する検索要求機能と、
前記検索要求機能からの検索要求に応じて検索された暗号モジュールの識別情報を受信する受信機能と
を実現させるための暗号モジュール選定プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、電子データの暗号化・署名を行う暗号方式を選定する暗号モジュール選定装置、方法及びプログラムに関する。
【背景技術】
【０００２】
高度情報化社会において情報セキュリティを確保するためには、暗号技術が基本的な技術となる。
暗号技術は、大きくは共通鍵暗号、公開鍵暗号、ハッシュ関数、乱数等のカテゴリに分類することができ、それぞれのカテゴリでも様々な方式が開発されている。これら暗号には、それぞれ特徴があり、その利用にあたっては、その特徴を考慮して状況に最適なものを利用することが望ましい。
暗号方式を変更する必要がある場合、変更後の暗号方式をシステム内に反映させるための技術としては、例えば、下記に示す特許文献１のものがある。
また、このような暗号方式の選定の一つの指針としては、例えば非特許文献１にあるような電子政府で用いられる暗号方式を使用することが考えられる。
また、どのような共通鍵暗号を用いるかについては、非特許文献２に記載されている。
【特許文献１】特開２００２−２８１０１８公報
【非特許文献１】CRYPTREC、電子政府推奨暗号リスト、［ｏｎｌｉｎｅ］、〈平成１９年３月７日検索〉、〈ＵＲＬ：http://www.soumu.go.jp/joho_tsusin/security/pdf/cryptrec_01.pdf〉
【非特許文献２】共通鍵ブロック暗号の選択／設計／評価に関するドキュメント、通信・放送機構、［ｏｎｌｉｎｅ］、〈平成１９年３月７日検索〉、〈ＵＲＬ：http://www2.nict.go.jp/tao/kenkyu/yokohama/guidebook.pdf〉
【発明の開示】
【発明が解決しようとする課題】
【０００３】
しかしながら、これは使用する暗号方式の集合を一般的に決めているだけであり、暗号技術を利用する状況によっては、必ずしもその状況に応じた暗号方式となっているわけではない。
また、共通鍵暗号方式の選定では、例えば非特許文献２で判断することが考えられるが、これを理解し、いずれの共通鍵暗号方式を選定するかは、専門的な知識が必要であった。
また、既存の暗号方式に対する新規の攻撃方法の発見により脆弱性が発見されるなどの影響によって、既存の暗号方式を別の暗号方式に切り替える必要が生じることがある。
また、一つの暗号方式についても実装の仕方の異なる複数の暗号モジュールが存在し、その実装の仕方によって暗号モジュールの速度やリソース使用量が異なる等の事情により、場合によっては同じ暗号方式の別の暗号モジュールに切り替える必要が生じることもある。
このような場合に新規の暗号方式を実行する暗号モジュールを該当装置に配信し、更新する方法については例えば特許文献１のような特許が提案されているが、その中でも暗号モジュール選定についてはコンピュータによって最適に自動化できてはいない。
このように、従来においては、セキュアな情報システムに組み込まれる暗号モジュールは固定されており、その切り替えはできたとしても専門知識を有するものが選定をして切り替える必要があり、暗号方式の選定には利用者に専門的な知識が必要であった。
【０００４】
本発明は、このような事情に鑑みてなされたもので、その目的は、状況に応じた最適な暗号方式または暗号モジュールの選定を専門的な知識なしでも、行うことができる暗号選定装置を提供することにある。
【課題を解決するための手段】
【０００５】
上述した課題を解決するために、本発明は、以下の構成を有する。すなわち、暗号モジュールにその機能・性質等を記述した暗号評価情報を紐付けし、指定条件に対して、このデータを参照して以下を出力するアルゴリズムである「暗号モジュール選定手順」を構築する。
１）指定条件に適合する暗号モジュールのリストを作成する。
ここでは、暗号モジュール依存関係、制約条件を暗号評価情報に記述しておき、リスト作成時に使用する。
２）指定条件の優先度により１）の適合リストから最適な暗号モジュールを選ぶ。
ここでは、条件指定された性質に関して暗号モジュールの点数評価を行い、その結果を暗号評価情報に記述しておき、選定時に使用する。
これは自マシンで使用する暗号を選定する場合に限るものではなく、端末のハードウェアに最適な暗号モジュールをサーバで選定する場合等にも用いる。
【０００６】
本発明は、複数の暗号モジュールのなかからいずれかのモジュールを選定する暗号モジュール選定装置であって、その暗号方式を実行する暗号モジュールの識別情報と当該暗号モジュールにその機能または性能のいずれか一方または両方を記述した暗号評価情報とを対応づけて記憶する暗号評価情報記憶部と、選定する暗号モジュールの条件を指定する条件情報を取得する条件情報取得部と、前記暗号評価情報記憶部に記憶された暗号モジュールの暗号評価情報から、前記条件情報取得部が取得した条件情報に含まれる選定する暗号モジュールの条件に適合する暗号評価情報を抽出する抽出部と、前記抽出部が抽出した暗号評価情報に対応する暗号モジュールの識別情報を前記暗号評価情報記憶部から読み出して出力する出力部とを有することを特徴とする。
【０００７】
また、本発明は、上述の暗号選定装置において、前記条件情報取得部は、前記暗号モジュールを実行する装置内に記憶されている当該装置の動作条件となる情報を対象の条件情報として取得することを特徴とする。
【０００８】
また、本発明は、上述の暗号モジュール選定装置において、前記抽出部は、暗号評価情報を抽出する場合に、暗号評価情報が条件情報抽出部により抽出された条件情報を満たすかどうかを判定し、これを満たす暗号評価情報を抽出することを特徴とする。
【０００９】
また、本発明は、上述の暗号モジュール選定装置において、前記抽出部は、前記暗号評価情報の集合から、各々の暗号評価情報を比較して、条件情報抽出部により抽出された条件情報に最も適合するデータを判定することによって暗号モジュールを条件に最適なものに絞り込むことを特徴とする。
【００１０】
また、本発明は、上述の暗号モジュール選定装置において、前記抽出部が暗号モジュールの条件に合致する暗号評価情報を選定する場合に、暗号モジュールの条件に合致する暗号評価情報がない場合に、暗号モジュールの条件を外部の装置に出力して検索を指示する検索要求部と、前記検索要求部からの検索要求に応じて検索された暗号モジュールの識別情報を受信する受信部とを有することを特徴とする。
【発明の効果】
【００１１】
以上説明したように、この発明によれば、状況に応じた最適な暗号方式または暗号モジュールの選定を専門的な知識を有するものでなくても行うことができる。
【発明を実施するための最良の形態】
【００１２】
以下、本発明の一実施形態による暗号モジュール配信システムについて図面を参照して説明する。
まず、本システムの概要について説明する。本システムにおいては、サーバとクライアント装置とが接続され、サーバとクライアント装置間において特定の暗号方式に沿った暗号モジュールを用いて暗号化された情報を送受信することが可能なシステムである。ここで、暗号モジュールを定期的に切り替えることも可能である。このような、暗号モジュールを切り替え可能な暗号システムとしては、暗号の手法ごとに暗号方式に依存しないインターフェースを規定し、各暗号ベンダが実装可能なフレームワークがいくつか存在する。例えば、Ｍｉｃｒｏｓｏｆｔ（登録商標）のＣｒｙｐｔＡＰＩやＳｕｎ（登録商標）のＪＣＡ（Java（登録商標） Cryptographic Architecture)／ＪＣＥ（Java（登録商標） Cryptographic Extensions）やＯｐｅｎ  Ｇｒｏｕｐ（登録商標）のＣＤＳＡ（Common Data Security Architecture）などがある。
【００１３】
これらのフレームワークでは、暗号化／復号、署名生成／検証、認証子生成／検証などの暗号の手法ごとに暗号モジュールにアクセスするインターフェースを規定し、インターフェースに従って、例えば、ＤＥＳ（Data Encryption Standard）、ＡＥＳ（Advanced Encryption Standard）などの暗号方式を実装することが可能になっている。そして、暗号やセキュリティの専門家がシステム構築時に、これらの実装された暗号の中から適切な暗号方式をあらかじめ選定し、いずれの暗号方式を利用するかを示す暗号方式パラメータをフレームワークに入力して、暗号方式を切り替えることが可能である。
【００１４】
このようなフレームワークを利用する場合、アプリケーションシステムの運用上のセキュリティポリシが変更された場合、従来であれば暗号やセキュリティの専門家が、再度システムに適した暗号方式を選定する必要があり、暗号やセキュリティの専門家の人材リソースの問題やコストの問題に直面する。また、既存の暗号方式の不備が発見されたり、新しい暗号方式が発表されたりした際に、運用中のシステムに対して、暗号方式の変更をスムーズに適用するのが難しい。さらには、セキュリティを実施する環境に応じて、必要なセキュリティ強度や処理速度などが違う場合に、最適なセキュリティを実現することも、従来システムでは難しい問題である。
本システムにおいては、暗号方式の切り替えが可能な暗号システムでは、この問題についても解決することが可能である。
【００１５】
＜第１の実施形態＞
図１は、本発明の第１の実施形態による暗号モジュール配信システムの構成を示す概略ブロック図である。
本暗号システムは、暗号モジュール３０８と暗号評価記述ファイル３０９とを含む暗号パッケージ３０７を送信する暗号管理サーバ装置３５０と、受信した暗号パッケージ３０７を用いて暗号処理を行う暗号クライアント装置１５０とから構成される。暗号評価記述ファイル３０９に記述される暗号モジュールの評価とは、対応する暗号モジュール３０８の暗号方式の信頼度や強度等が数値化された情報であり、例えば、実装している暗号方式の安全性や暗号モジュールの処理速度、暗号モジュールに利用可能な鍵長などである。なお、この暗号評価記述ファイル３０９は、上述の暗号評価情報の一例であり、暗号評価情報をXML形式で表現したものが暗号評価記述ファイル３０９として適用することも可能である。
【００１６】
暗号管理サーバ装置３５０は、暗号モジュール３０８を蓄積した暗号モジュールＤＢ３５３と、暗号評価記述ファイル３０９を蓄積した暗号評価DB３５４と、暗号モジュールＤＢ３５３と暗号評価DB３５４との管理を行う暗号管理部３５１と、暗号モジュールＤＢ３５３と暗号評価DB３５４とに新規の情報を登録する暗号登録部３５５と、暗号クライアント装置１５０の要求に応じて最適な暗号パッケージ３０７を暗号モジュールＤＢ３５３と暗号評価DB３５４とから読み出して送信する暗号配信部３５２とを備える。
【００１７】
暗号クライアント装置１５０は、暗号制御マネージャ部１５２を介して暗号実装部１５３が提供する暗号機能を呼び出して利用するアプリケーションやミドルウェアである上位システム部１５１と、暗号管理サーバ装置３５０から送信された暗号パッケージ３０７の受信や暗号実装部１５３から提供される暗号機能の切り替えを行う暗号制御マネージャ部１５２と、主要な暗号方式による暗号処理をハードウェアとして実現した耐タンパーな暗号ハードウェア部４５０と、暗号方式を実装した暗号モジュール３０８が実行可能・利用可能な状態にされて暗号機能を提供する暗号実装部１５３とから構成される。暗号管理サーバ装置３５０は、暗号クライアント装置１５０からの要求に基づき、暗号の初期登録・配信・更新の３つの手順を行うことで、適切な暗号パッケージ３０７を暗号クライアント装置１５０に送信する。
【００１８】
ここで、暗号の初期登録とは、暗号クライアント装置１５０が暗号モジュール３０８を有せず、暗号実装部１５３が存在しない場合に、暗号クライアント装置１５０の暗号ハードウェア部４５０を利用して、利用上必要不可欠な暗号モジュール３０８を暗号管理サーバ装置３５０から暗号実装部１５３に安全に送信することである。
暗号の配信とは、暗号管理サーバ装置３５０が、暗号クライアント装置１５０から受信した暗号要求に応じて、適切な暗号モジュール３０８または暗号パッケージ３０７を選定して暗号クライアント装置１５０に送信することである。暗号要求は暗号に関する条件情報を含み、条件情報は、暗号化や署名生成などの暗号方式の分類（暗号のカテゴリ）、暗号モジュール３０８を作成したメーカ、暗号モジュール３０８が動作するハードウェアの情報、および、暗号の評価情報などがある。暗号の評価情報は、本実施形態例のように、暗号評価記述ファイル３０９として、暗号モジュール３０８とは独立したファイルとして扱われることとしても良い。
【００１９】
暗号の更新とは、新規の暗号モジュール３０８を登録したり、危殆化した暗号方式を利用した該当する暗号モジュール３０８を削除したり、暗号モジュール３０８のバグを発見し既存の暗号モジュール３０８とその暗号モジュール３０８が実行されている暗号実装部１５３を更新したり、計算機の処理速度の高速化等に伴って暗号方式の評価を変更したりした際に、暗号管理サーバ装置３５０上の暗号モジュールＤＢ３５３や暗号評価DB３５４に」記憶された情報を更新し、この更新した暗号パッケージ３０７の情報を、暗号クライアント装置１５０に対して定期的に送信したり、暗号クライアント装置１５０からの要求に基づいて送信したりして、暗号管理サーバ装置３５０が新しい暗号モジュール３０８を送信することや既存の暗号実装部１５３が使えなくなったことを通知することである。
【００２０】
図２は、暗号クライアント装置１５０の詳細な構成図である。暗号制御マネージャ部１５２は、暗号処理情報ＤＢ１５７を持つ暗号処理制御部１５６と、暗号モジュールＤＢ１６４と、暗号評価DB１６３と、暗号モジュール選定ポリシ１５８とハードウェアプロファイル１６０とを持つ暗号モジュール選定部１５９と、鍵情報ＤＢ１６５と、その鍵情報ＤＢ１６５へのアクセス制御ポリシが記述されたアクセス制御ポリシ１６１を持つ鍵情報管理部１６２と、暗号制御マネージャポリシ１６７を持つ暗号管理部１６６と、暗号ハードウェア部４５０と通信を行う暗号ハードウェア管理制御部１７０と、外部との通信を行う通信機能１５５と、通信機能１５５と連携するアルゴリズムネゴシエーション部１６８と、通信機能１５５と連携するセキュア通信管理部１６９とから構成される。
【００２１】
暗号処理制御部１５６は、上位システム部１５１からの暗号処理呼び出しに基づき、鍵生成処理、鍵登録処理、暗号処理を行う。
鍵生成処理の場合、暗号処理制御部１５６は、上位システム部１５１から指定された暗号方式、鍵長、暗号方式パラメータを暗号処理情報ＤＢ１５７に登録した際の暗号処理の識別子により、指定された暗号方式に対する暗号モジュール３０８を暗号モジュール選定部１５９により選定する。
【００２２】
暗号処理制御部１５６が、選定された暗号モジュール３０８をメモリ上にロードし暗号実装部１５３として実行状態にさせる。暗号処理制御部１５６が、指定された暗号処理の識別子に対応する鍵生成のための暗号方式パラメータを鍵情報管理部１６２経由で鍵情報ＤＢ１６５から引き出す。暗号処理制御部１５６が、指定された鍵長と引き出した暗号方式パラメータで暗号実装部１５３を呼び出すと、暗号実装部１５３は鍵情報を生成する。暗号処理制御部１５６は、生成された鍵情報を受け取る。暗号処理制御部１５６は、暗号実装部１５３が生成した鍵情報を鍵情報管理部１６２経由で鍵情報ＤＢ１６５に登録してその鍵情報に対応する鍵識別子を受け取り、処理結果として新しく発行した暗号処理の識別子と鍵識別子の関連付けを暗号処理情報ＤＢ１５７に保存し、暗号処理の識別子を上位システム部１５１に返す。
【００２３】
鍵登録の場合、暗号処理制御部１５６は、上位システム部１５１から指定された鍵情報を、鍵情報管理部１６２を経由して鍵情報ＤＢ１６５に登録して鍵識別子を受け取り、処理結果として新しく発行した暗号処理の識別子と鍵識別子の関連付けを暗号処理情報ＤＢ１５７に保存し、暗号処理の識別子を上位システム部１５１に返す。
【００２４】
暗号処理の場合、上位システム部１５１から指定された暗号に関する条件情報と暗号処理対象データ（平文）と鍵生成または鍵登録を行った際に受け取った暗号処理の識別子とを受け取り、暗号に関する条件情報を参照して適切な暗号モジュール３０８を暗号モジュール選定部１５９により選定し、選定された暗号モジュール３０８をメモリ上にロードして暗号実装部１５３として実行させ、指定された暗号処理の識別子に対応する鍵情報を鍵情報管理部１６２経由で鍵情報ＤＢ１６５から引き出し、指定された暗号処理対象データと引き出した鍵情報とを、呼び出した暗号実装部１５３に入力し、対応して処理された暗号データを受け取り、処理結果として新しく発行した暗号処理の識別子と鍵識別子の関連付けを暗号処理情報ＤＢ１５７に保存し、暗号処理の識別子を返す。暗号処理の際に利用した鍵情報などを暗号処理の識別子に結びつけることにより、暗号処理の再実行や復号を簡単に実施することができるようにする。
【００２５】
暗号モジュールＤＢ１６４は、暗号管理サーバ装置３５０から受信した暗号モジュール３０８を格納する記憶部である。
暗号評価DB３５４は、暗号管理サーバ装置３５０から受信した暗号評価記述ファイル３０９を格納する記憶部である。
暗号モジュール選定部１５９は、暗号化や署名生成などの暗号のカテゴリ、暗号モジュール３０８を作成したメーカ、暗号モジュール３０８が動作するハードウェアの情報、および、暗号方式の評価情報などの暗号に関する条件情報を、上位システム部１５１からの入力を元に、暗号モジュールＤＢ１６４が記憶している暗号モジュール３０８の中から一番適切な暗号モジュール３０８を選定する。暗号モジュール３０８の選定にあたっては、暗号クライアント装置１５０のハードウェア情報を記述したハードウェアプロファイル１６０に適合するものの中から選び、かつ、暗号クライアント装置１５０を利用する利用者のポリシを記述した暗号モジュール選定ポリシ１５８にも従うようにする。
【００２６】
ハードウェアプロファイル１６０とは、例えば、暗号クライアント装置１５０のＣＰＵアーキテクチャ、ＣＰＵクロック、搭載メモリ量などの情報を含む情報である。暗号モジュール選定ポリシ１５８とは、例えば、入力条件により選定された暗号が複数ある場合に利用者が優先したい条件、利用者が優先的に利用したい暗号のメーカ、利用者が利用禁止にしたい暗号方式などを含む情報である。
【００２７】
このように、暗号モジュール選定部１５９は、上位システム部１５１からの入力情報と、ハードウェアプロファイル１６０と、暗号モジュール選定ポリシ１５８とを参照して、入力情報に一致する暗号モジュール３０８を選定する。暗号モジュール選定部１５９が暗号モジュール３０８を一意に選定した場合には、選定した暗号モジュール３０８を暗号モジュールＤＢ１６４から取り出す。暗号モジュール選定部１５９は、暗号モジュール３０８が一意に選定できなかった場合は、エラーを出力する。
【００２８】
鍵情報管理部１６２は、暗号実装部１５３を呼び出す際に指定される鍵情報や暗号方式パラメータなどの情報を鍵情報ＤＢ１６５へデータを記憶させ、または読み出す。鍵情報管理部１６２は、指定される鍵情報や暗号方式パラメータの情報がひとつではない場合、複数の情報をひとつにまとめて引き出せるように関連付けを行って、鍵情報ＤＢ１６５に登録する。また、鍵情報管理部１６２は、鍵情報ＤＢ１６５から鍵情報や暗号方式パラメータを引き出す際には、暗号モジュール選定ポリシ１５８に従い、複数ある上位システム部１５１からの鍵情報へのアクセス制御を行う。
【００２９】
鍵情報管理部１６２は、上位システム部１５１から指定されたクレデンシャル（アクセスのための鍵やパスワードなど）とアクセスしたい鍵識別子と鍵識別子に関連付けられた暗号処理の識別子とにより、そのクレデンシャルの正当性を検証する。鍵情報管理部１６２は、クレデンシャルの持ち主に対してアクセス可能な鍵情報ＤＢ１６５の鍵情報の規定を記述したアクセス制御ポリシ１６１に基づき、アクセス可否を判定し、アクセス可ならば、暗号処理の識別子に対応する鍵識別子を鍵情報ＤＢ１６５から引き出し、鍵識別子に対応する鍵情報や暗号方式パラメータを引き出し、上位システム部１５１にこれを返す。一方、アクセス不可ならば、上位システム部１５１にエラーを返す。
【００３０】
暗号管理部１６６では、通信機能１５５を介して暗号管理サーバ装置３５０と通信を行い、暗号の初期登録・配信・更新の手順に従って、暗号パッケージ３０７等の受信を行う。暗号管理部１６６が暗号管理サーバ装置３５０から暗号パッケージ３０７等を受信する際には、暗号制御マネージャポリシ１６７の内容に従って処理する。暗号制御マネージャポリシ１６７の内容は、例えば、以下の５つである。１つめは、暗号管理サーバ装置３５０との通信におけるサーバ認証の実施可否である。２つめは、暗号管理サーバ装置３５０からの暗号パッケージ３０７等の受信時の暗号化可否である。３つめは、暗号管理サーバ装置３５０からの暗号パッケージ３０７等の受信時の改ざん検出子（ＭＡＣ（Message Authentication Code））付加可否である。４つめは、受信した暗号パッケージ３０７等の認証子の検証実施可否である。５つめは、暗号評価DB１６３と暗号モジュールＤＢ１６４とに記憶された暗号パッケージ３０７を定期的に更新可否や更新頻度などを示す定期更新に関する設定情報、などとする。
【００３１】
暗号ハードウェア管理制御部１７０は、暗号ハードウェア部４５０と通信を行い、暗号管理サーバ装置３５０から、暗号の初期登録の手順に従って暗号パッケージ３０７の受信を行う。暗号パッケージ３０７の受信の際には、暗号パッケージ３０７自身が暗号化されている場合、暗号ハードウェア部４５０にて暗号パッケージ３０７を復号する。また、暗号モジュール３０８に改ざん検出子が付加されていることを検出すると、暗号ハードウェア部４５０が暗号モジュール３０８の改ざん検出を行う。
【００３２】
アルゴリズムネゴシエーション部１６８は、通信機能１５５と連携し、２つの暗号クライアント装置間で安全な通信セッションを構築する事前に、通信セッションの構築で利用する暗号方式、通信セッションで利用する暗号方式の調停を行う。暗号方式の調停を行う際には、以下の４つの調停方法のいずれかで調停を行えるようにする。
【００３３】
第１の調停方法は、自身の暗号モジュールＤＢ１６４に記憶された暗号モジュール３０８が提供する暗号方式群のみからアルゴリズムネゴシエーション部１６８が一方的に暗号方式を決定する。自身のアルゴリズムネゴシエーション部１６８は、上位システム部１５１から指定された１つ以上の暗号方式の分類（暗号のカテゴリ）、暗号制御マネージャポリシ、ハードウェアプロファイル、暗号に関する条件情報から、暗号評価DB１６３と暗号モジュールＤＢ１６４とを参照して適切な暗号モジュール３０８を選定し、暗号方式を決定する。暗号方式の分類が複数指定された場合は、個々の暗号方式の分類ごとに選定を行い、暗号方式を決定する。
【００３４】
このとき、アルゴリズムネゴシエーション部１６８は、上位システム部１５１から暗号方式が未決定である暗号方式の分類が指定された場合は、指定された暗号に関する条件情報を参照して暗号の配信の手順を行い暗号管理サーバ装置３５０から暗号モジュール３０８を受信し、その暗号モジュール３０８の暗号方式を結果とする。それでも未決定の場合は、アルゴリズムネゴシエーション部１６８は、上位システム部１５１にエラーを返す。
【００３５】
アルゴリズムネゴシエーション部１６８が暗号方式を決定すると、上位システム部１５１から指定された相手方の暗号制御マネージャ部１５２の宛先に対して、暗号方式調停方法番号と、結果として出力された暗号方式の分類と暗号方式の対応群と、暗号モジュール３０８が足りない場合の暗号管理サーバ装置３５０からの受信可否に関する情報を送信する。受信した相手方の暗号制御マネージャ部１５２は、指定された暗号方式の暗号モジュール３０８を所持しているかを暗号評価DB１６３および暗号モジュールＤＢ１６４から検索し、すべての暗号方式に対して適切な暗号モジュール３０８が存在する場合には通信可能である返信を行う。
【００３６】
相手方の暗号制御マネージャ部１５２は、存在しない暗号モジュール３０８があった場合、暗号管理サーバ装置３５０からの受信可否に関する情報に従って処理する。すなわち、受信可の場合は、暗号の配信の手順に従って、暗号方式に対する暗号モジュール３０８を受信し、受信完了後、通信可能である返信を行う。受信不可の場合や、受信可の場合でも適切な暗号モジュール３０８が受信できなかった場合、通信不可能である返信を行う。自身の暗号制御マネージャ部１５２は、相手方の暗号制御マネージャ部１５２からの返信を上位システム部１５１に転送する。
【００３７】
第２の調停方法は、相手方の暗号制御マネージャ部１５２が保持する暗号方式群のみから相手の暗号制御マネージャ部１５２が一方的に暗号方式を決定する。これは上記第１の調停方法と対称の処理となり同様の手順である。
【００３８】
第３の調停方法は、双方の暗号制御マネージャ部１５２が保持する暗号方式群から自身の暗号制御マネージャ部１５２が共通の暗号方式を決定する。
自身の暗号制御マネージャ部１５２のアルゴリズムネゴシエーション部１６８は、上位システム部１５１から指定された１つ以上の暗号方式の分類（暗号のカテゴリ）、相手方の暗号制御マネージャ部１５２の宛先から、相手方の暗号制御マネージャ部１５２に対して暗号方式調停方法番号、暗号方式の分類を送信する。相手方の暗号制御マネージャ部１５２は、受信した暗号方式の分類、ハードウェアプロファイルから、暗号評価DB１６３および暗号モジュールＤＢ１６４を参照して該当するすべての暗号モジュール３０８を選び、選んだすべての暗号モジュール３０８が対応する暗号方式一覧を作成する。
【００３９】
この際、相手方の暗号制御マネージャ部１５２は、暗号方式の分類が複数指定された場合は、個々の暗号方式の分類ごとに暗号モジュール３０８を選び、暗号方式一覧を作成する。相手方の暗号制御マネージャ部１５２は、暗号方式の分類ごとの暗号方式一覧を自身の暗号制御マネージャ部１５２に送信する。暗号方式の分類ごとの暗号方式一覧を受信した自身の暗号制御マネージャ部１５２は、上位システム部１５１から指定された１つ以上の暗号方式の分類（暗号のカテゴリ）、暗号制御マネージャポリシ、ハードウェアプロファイル、暗号に関する条件情報から、暗号評価DB１６３および暗号モジュールＤＢ１６４を参照して適切な暗号モジュール３０８を選定し、選定した暗号モジュール３０８から暗号方式を決定する。
【００４０】
この際、暗号制御マネージャ部１５２は、暗号方式の分類が複数指定された場合は、個々の暗号方式の分類ごとに選定を行い、暗号方式を決定する。例えば、次の場合、暗号方式の分類に対する暗号方式は決定されたとする。まず、自身の暗号制御マネージャ部１５２で選定した暗号方式が暗号方式一覧に存在する場合。次に、自身の暗号制御マネージャ部１５２が受信した暗号方式一覧のいずれかの暗号方式に対応する暗号モジュール３０８を所持している場合。それ以外の場合、暗号方式の分類に対する暗号方式は未決定とする。
【００４１】
暗号制御マネージャ部１５２は、未決定の暗号方式の分類がある場合、受信した暗号方式一覧のいずれかを指定して、暗号の配信の手順に従い、暗号管理サーバ装置３５０から暗号モジュール３０８を受信する。暗号制御マネージャ部１５２は、対応する暗号モジュール３０８を受信できるまで暗号方式一覧のすべての暗号方式について同様の処理を繰り返す。それでも未決定の場合、該当の暗号方式の分類に関する暗号方式は未決定とする。すべての暗号方式の分類に対して、上記の処理が完了したら、相手方の暗号制御マネージャ部１５２に対して、すべての暗号方式の分類に対する暗号方式の決定／未決定を送信する。
【００４２】
第４の調停方法は、双方の暗号制御マネージャ部の保持する暗号方式群から相手方の暗号制御マネージャ部１５２に共通の暗号方式を決定する。これは第３の調停方法の場合と対称の処理となり同様の手順である。
アルゴリズムネゴシエーション部１６８は、以上の４つの調停方法のいずれかで調停を行う。
【００４３】
セキュア通信管理部１６９は、通信機能１５５と連携し、他の暗号クライアント装置１５０との間で安全な通信セッションを構築する。セキュア通信管理部１６９は、安全なセッションを構築する際には、アルゴリズムネゴシエーション部１６８により、通信セッション構築で利用するための暗号方式と通信セッションで利用するための暗号方式を決定した後に、セッション鍵共有を行う。安全な通信セッションの構築後は、決定した暗号方式に従い、セッション鍵を利用して、通信データの暗号化や通信データの改ざん防止のための認証子の付加を行うことができるようにする。また、セキュア通信管理部１６９は、一度、構築した通信セッションは、一定時間内は再利用できるように、通信セッションの保持を行うことができるようにする。
【００４４】
セキュア通信管理部１６９は、上位システム部１５１から指定された通信相手の宛先にセキュア接続要求を送信し、セキュア接続の開始を通知する。次に、セキュア通信管理部１６９は、事前にアルゴリズムネゴシエーション部１６８が決定した暗号方式の分類に従ってセキュア接続を確立する。暗号方式の分類には、例えば、認証、鍵共有、共通鍵情報暗号化（ストリーム暗号あるいはブロック暗号）、公開鍵暗号、データ認証（ＭＡＣ認証または署名認証）、擬似乱数生成（ストリーム暗号および公開鍵暗号の場合のみ）、セッション鍵導出、ＭＡＣ鍵導出（ＭＡＣ認証の場合のみ）、などの分類がある。セキュア通信管理部１６９は、セキュア接続に認証が必要な場合、認証処理を行う。
【００４５】
次に、セキュア通信管理部１６９は、鍵共有処理により鍵の共有を行い、セキュアセッションを確立する。ただし、公開鍵暗号の暗号方式が調停されている場合、鍵共有処理は行わない。公開鍵暗号なしで暗号化通信を行う場合には、共有した鍵からセッション鍵導出方式により、セッション鍵を作成し、共通鍵情報暗号化方式に従って送信したいデータを暗号化し、暗号化データを相手に送信する。通信相手は、同様の方法でセッション鍵を作成し、共通鍵情報暗号化方式に従って受信したデータを復号する。
【００４６】
セキュア通信管理部１６９は、公開鍵暗号ありで暗号化通信を行う場合には、擬似乱数生成方式に従ってランダムなセッション鍵を作成し、共通鍵情報暗号化方式に従ってセッション鍵で送信したいデータを暗号化し、信頼機関から通信相手の公開鍵を受信し、公開鍵暗号方式に従って通信相手の公開鍵でセッション鍵自体を暗号化し、暗号化データと暗号化セッション鍵を相手に送信する。通信相手は、自分の秘密鍵で暗号化セッション鍵を復号し、共通鍵情報暗号化方式に従ってセッション鍵で受信したデータを復号する。
【００４７】
セキュア通信管理部１６９は、データ認証子付き通信を行う場合であってＭＡＣ認証の場合、共有した鍵からＭＡＣ鍵導出方式により、ＭＡＣ鍵を作成し、ＭＡＣ認証方式に従って送信したいデータにＭＡＣデータを付加し、ＭＡＣ付きデータを相手に送信する。通信相手は、同様の方法でＭＡＣ鍵を作成し、ＭＡＣ認証方式に従って受信したデータのＭＡＣを検証する。
【００４８】
セキュア通信管理部１６９は、データ認証子付き通信を行う場合で署名認証の場合、自分の秘密鍵で署名を付加し、署名付きデータを相手に送信する。通信相手は、相手の公開鍵が登録されている信頼機関から通信相手の公開鍵を受信し、相手の公開鍵の正当性を検証し、検証が正しく終了した場合、署名認証方式に従って相手の公開鍵で受信した署名付きデータを検証する。
【００４９】
図３は、暗号管理サーバ装置３５０の詳細な構成図である。暗号管理サーバ装置３５０は、暗号モジュールＤＢ３５３と、暗号評価DB３５４と、暗号モジュールＤＢ３５３と暗号評価DB３５４とに記憶された情報の読み出しや更新等の処理を行う暗号管理部３５１と、暗号モジュールＤＢ３５３と暗号評価DB３５４とに情報の登録を行う暗号登録部３５５と、暗号クライアント装置１５０へ暗号の送信を行う暗号配信部３５２とから構成される。
【００５０】
暗号モジュールＤＢ３５３は、予め記憶するかユーザによって入力される暗号モジュール３０８を記憶するデータベースである。
暗号評価DB３５４は、予め記憶するかユーザに入力される暗号評価記述ファイル３０９を記憶するデータベースである。
【００５１】
暗号管理部３５１は、暗号管理サーバ装置３５０のユーザに対して、暗号モジュールＤＢ３５３と暗号評価DB３５４に格納された暗号モジュール３０８や暗号パッケージ３０７の検索、暗号評価部の内容表示、管理している暗号のリスト表示、既存の暗号の更新、既存の暗号の削除、新規の暗号の登録、暗号配信部の起動／終了を行うインターフェースを備える。暗号管理部３５１は、新規の暗号を登録する場合は、暗号登録部３５５へ登録依頼を行う。
【００５２】
暗号登録部３５５は、暗号パッケージ登録部３５７と複合型記述生成部３５８とを備えている。
暗号配信部３５２は、暗号パッケージ配信制御部３５９と、配布ポリシ３７１を持つ暗号パッケージ配布構成部３７０と、配布ポリシ３７１を持つ配布暗号モジュール選定部３６０とを備える。暗号配信部３５２は、暗号クライアント装置１５０からの要求を解釈し、暗号の初期登録・配信・更新の３つの手順を実施する待ち受けサービスを実行する。また、この待ち受けサービスは、処理内容のログを記録する。
【００５３】
配布暗号モジュール選定部３６０では、暗号の初期登録・配信・更新の３つの手順と暗号クライアント装置１５０からの要求に基づき、配信に適切な暗号モジュール３０８を選定する。暗号の初期登録の場合、配信する暗号モジュール３０８は、利用上必要不可欠であると規定し、配布ポリシ３７１に記述された暗号方式である。
暗号パッケージ配布構成部３７０では、配布暗号モジュール選定部３６０で選定された暗号モジュール３０８を元に、配布ポリシ３７１に従って、暗号モジュール３０８と、暗号モジュール３０８に対応する暗号評価記述ファイル３０９とを暗号パッケージ３０７として配布可能な形にするための構成処理を行う。配布ポリシ３７１は、例えば、以下の４つの項目が記述されている。
【００５４】
第１の項目は、暗号パッケージ３０７の配布の際の暗号化の可否である。第２の項目は、暗号パッケージ３０７の暗号化の暗号方式である。第３の項目は、暗号パッケージ３０７の配布の際の改ざん検出子の付加の可否である。第４の項目は、暗号パッケージ３０７の改ざん検出子の暗号方式である。
暗号パッケージ配布構成部３７０が行う構成処理では、暗号評価DB３５４に格納された内容を暗号評価記述ファイル３０９として特定の形式で生成し、暗号パッケージ３０７に対して暗号管理サーバ装置３５０が配布認定する目的で認証子を付加し、暗号モジュール３０８と暗号評価記述ファイル３０９とをペアにして、暗号パッケージ３０７としてまとめる。
【００５５】
また、暗号パッケージ配布構成部３７０は、複数の暗号モジュール３０８を組み合わせた暗号モジュール３０８を、複数の暗号モジュール３０８とそれぞれに対応する暗号評価記述ファイル３０９とをまとめて１つの暗号パッケージとしても良い。また、暗号パッケージ配布構成部３７０が行う構成処理では、暗号クライアント装置１５０の暗号制御マネージャポリシや暗号管理サーバ装置３５０の配布ポリシ３７１に従って、暗号パッケージ３０７の暗号化および改ざん検出子の付加、そのための鍵生成と鍵管理を行う。
【００５６】
＜第２の実施形態＞
第１の実施形態では、最適な暗号方式の選定を、暗号クライアント装置が処理する場合について説明したが、第２の実施の形態は、暗号管理サーバ装置が最適な暗号方式の選定を主導で行う。すなわち、図４に示す暗号モジュール配信システムでは、暗号管理サーバ装置１３５０が選定した暗号方式の結果情報をモジュール選定ポリシ記憶部１１０が管理および利活用するサーバ強連携機構である。特に、モジュール選定ポリシ記憶部１１０の計算能力が乏しい場合、暗号管理サーバ装置１３５０が演算支援することで、暗号クライアント装置１１００内の応答パフォーマンスを向上させることができる。
【００５７】
具体的には、上位システム部１１５１からの要求に最適な暗号モジュール３０８の選定を暗号管理サーバ装置１３５０が実施し、暗号クライアント装置１１００の暗号制御マネージャ部１１５２はその結果を受け取り、その要求条件と最適な暗号モジュール３０８との関係を当該装置内の暗号情報記憶部１６００で管理する。暗号制御マネージャ部１１５２は、上位システム部１５１からの要求とこの要求に最適な暗号モジュール３０８との関係に基づき、上位システム部１５１からの暗号処理制御要求に応じた処理を行う。よって、第１の実施形態と異なり、暗号クライアント装置１１００は、暗号モジュール３０８の全選定機能や暗号モジュール３０８の選定に必要となる暗号パッケージ３０７の管理および暗号管理サーバ装置１３５０らの受信を必ずしも必要としない。
【００５８】
図４は、本発明の第２の実施形態による暗号モジュール配信システムの概略構成を示すブロック図である。本システムは、１個以上の暗号クライアント装置１１００、１個以上の暗号ハードウェア１４５０及び暗号管理サーバ装置１３５０を備えている。暗号ハードウェア１４５０は、第１の実施形態と同様である。ここで、暗号ハードウェア１４５０は、１個の暗号クライアント装置１１００につき、複数接続する形態でもよい。また暗号ハードウェア１４５０を暗号クライアント装置１１００内部に実装する形態でもよい。
【００５９】
図５は、暗号クライアント装置１１００の構成を示すブロック図である。暗号クライアント装置１１００は、上位システム部１１５１と、暗号制御マネージャ部１１５２と、暗号実装部１１５３と、通信機能１１５５とを備えている。また選定ポリシ１１５８は、安全性、処理速度、リソースに関する優先情報を設定したファイルである。上位システム部１１５１および暗号実装部１１５３は、第１の実施形態と同様の構成・機能である。
【００６０】
暗号制御マネージャ部１１５２は、暗号処理制御部１１５６と、鍵管理部１１６２と、暗号情報記憶部１６００と、暗号パッケージ管理部１１６６と、暗号ハードウェア管理制御部１１７０とを備えている。
暗号処理制御部１１５６は、上位システム部１１５１から暗号処理条件を含む暗号処理制御要求を受け付ける機能と、暗号情報記憶部１６００を参照して暗号処理条件に紐づいた暗号モジュール１１５３を特定する機能と、暗号処理実行タイミングに従って暗号実装部１１５３へ暗号処理を要求する機能と、当該暗号処理に対する暗号処理ＩＤを発行して当該暗号処理に関する情報と関連付けて暗号情報記憶部１６００に記憶させる機能と、暗号実装部１１５３からの暗号処理結果および当該暗号処理に関する暗号処理ＩＤとを上位システム部１１５１へ出力する機能とをもっている。
【００６１】
鍵管理部１１６２は、上位システム部１１５１からの要求に従い、暗号情報記憶部１６００の鍵情報ＤＢ１１６５への鍵情報の登録、削除、取得、検索、更新処理を行う機能と、暗号鍵の登録が正常に実施された場合に鍵ＩＤを発行して当該登録処理に関する情報と関連づけて暗号情報記憶部１６００に記憶させる機能と、各処理結果を場合により暗号処理ＩＤや鍵ＩＤを含めて上位システム部１１５１へ出力する機能をもっている。
【００６２】
暗号情報記憶部１６００は、選定ＤＢ１６０１と、暗号モジュールリンクＤＢ１６０２と、暗号モジュールＤＢ１６０３と、鍵情報ＤＢ１１６５と、暗号処理ＤＢ１６０４とを記憶する機能を備えている。また、暗号情報記憶部１６００は、鍵管理部１１６２や暗号処理制御部１１５６および暗号パッケージ管理部１１６６からの要求に従い、暗号情報記憶部１６００が備える各ＤＢを制御管理する機能をもっていることとしても良い。
【００６３】
選定ＤＢ１６０１のデータ構造は、図６に示す通りである。暗号モジュールリンクＤＢ１６０２のデータ構造は、図７に示す通りである。暗号モジュールＤＢ１６０３のデータ構造は、図８に示す通りである。鍵情報ＤＢ１１６５のデータ構造は、図９に示す通りである。暗号処理ＤＢ１６０４のデータ構造は、図１０に示す通りである。図１１に、暗号情報記憶部１６００が備える各データベースの論理関係を示す。
【００６４】
暗号パッケージ管理部１１６６は、以下に説明する機能を有している。
まず、暗号パッケージ管理部１１６６は、上位システム部１１５１から入力された選定条件、選定ポリシ及びハードウェアプロファイルを含む情報を通信機能１１５５経由で暗号管理サーバ装置１３５０へ送信して得られる、選定された暗号パッケージ３０７のアルゴリズムＩＤ、 暗号評価記述ＩＤ、 暗号モジュールＩＤ及び推奨される鍵長情報を暗号情報記憶部１６００に登録する機能を持っている。
【００６５】
また、暗号パッケージ管理部１１６６は、上位システム部１１５１から入力された選定条件を基に選定ＤＢを特定して暗号化アルゴリズムから対応される鍵生成暗号モジュールのアルゴリズムＩＤを特定する機能を持っている。
また、暗号パッケージ管理部１１６６は、暗号管理サーバ装置１３５０にて選定された鍵生成暗号モジュールのアルゴリズムＩＤ、暗号評価記述ＩＤ及び暗号モジュールＩＤを暗号情報記憶部１６００に登録する機能を持っている。
【００６６】
また、暗号パッケージ管理部１１６６は、上位システム部１１５１から入力された要求に基づき通信機能１１５５経由で暗号管理サーバ装置１３５０に対して最終初期登録日時および最終初期登録ドメインを入力として暗号パッケージ初期登録プロトコルを実行し、必要最低限の暗号パッケージ３０７を暗号管理サーバ装置１３５０からダウンロードして暗号情報記憶部１６００に登録する機能を持っている。
【００６７】
また、暗号パッケージ管理部１１６６は、上位システム部１１５１から入力された選定条件、選定ポリシ、ハードウェアプロファイル及び端末内に保持する暗号パッケージ３０７のリストを含む情報を通信機能１１５５経由で暗号管理サーバ装置１３５０へ送信し、当該暗号管理サーバ装置１３５０にて選定された暗号パッケージ３０７の実体及びその付帯情報（アルゴリズムＩＤ、暗号評価記述ＩＤ、暗号モジュールＩＤ）を入手して暗号情報記憶部１６００に登録する機能を持っている。
【００６８】
また、暗号パッケージ管理部１１６６は、暗号管理サーバ装置１３５０からの更新通知の通知先登録及び更新事象発生時に暗号制御マネージャ部１１５２が行うアクションのポリシ設定を行える機能を持っている。
また、暗号パッケージ管理部１１６６は、上位システム部１１５１から要求された内容と暗号制御マネージャ部１１５２に保持した最後の更新通知識別子に基づき通信機能１１５５経由で暗号管理サーバ装置１３５０と連携して暗号制御マネージャ部１１５２に保持している暗号パッケージ３０７の実体と暗号パッケージ３０７の選定ポリシと暗号パッケージ３０７の紐付けについて更新処理を実行する機能を持っている。
【００６９】
また、暗号パッケージ管理部１１６６は、上位システム部１１５１から要求された暗号パッケージ３０７の実体を暗号情報記憶部１６００から削除して当該暗号パッケージ３０７に紐付けられた暗号情報記憶部１６００が備える各データベースの関連付けを解除する機能を持っている。
また、暗号パッケージ管理部１１６６は、上位システム部１１５１から入力された移行先ドメイン情報、ハードウェアプロファイル及び当該装置内に保持する暗号パッケージ３０７のリストを含む情報を通信機能１１５５経由で暗号管理サーバ装置１３５０へ送信し、暗号管理サーバ装置１３５０にて選定された持ち出し規制の対象となる暗号パッケージ情報を取得して暗号クライアント装置１１００内に保持する対象の暗号パッケージ３０７を削除する機能とをもっている。
【００７０】
暗号ハードウェア管理制御部１１７０は、暗号制御マネージャ部１１５２の各部からの要求に応じて通信機能１１５５経由で暗号ハードウェアへの通信制御を行う機能をもっている。
通信機能１１５５は、暗号パッケージ管理部１１６６や暗号ハードウェア管理制御部１１７０と相手通信装置または暗号ハードウェアとが相互に通信するための機能をもっている。
【００７１】
図１２は、暗号管理サーバ装置１３５０の構成を示す機能ブロック図である。暗号管理サーバ装置１３５０は、サーバ上位システム部１３８０と、通信機能１３５６と、暗号管理サーバ制御部１３５２と、暗号パッケージ記憶部１３５５と、サーバ暗号制御マネージャ部１３９０とを備えている。
【００７２】
サーバ上位システム部１３８０は、暗号クライアント装置１１００のサーバ上位システム部１３８０と同様の機能に加え、暗号管理に関するシステム管理者からの制御要求を暗号管理サーバ制御部１３５２に送信する機能とをもっている。
通信機能１３５６は、暗号管理サーバ制御部１３５２やサーバ暗号制御マネージャ部１３９０と相手通信装置、暗号ハードウェアまたは暗号ハードウェアの動作を模擬したシミュレータとが相互に通信するための機能をもっている。
【００７３】
暗号管理サーバ制御部１３５２は、暗号パッケージ管制部１３５９と、暗号パッケージ管理部１３５１と、暗号パッケージ配布構成部１３７０と、配布暗号パッケージ選定部１３７３とを備えている。
暗号パッケージ管制部１３５９は、サーバ上位システム部１３８０からの要求により暗号パッケージ３０７を登録する機能と、サーバ上位システム部１３８０からの要求により既に登録済みの暗号パッケージを更新する機能と、ベンダからの暗号パッケージ提供時に該当する暗号パッケージの出所の確認を行うためのベンダ認定認証子を検証する機能と、複数の単体型暗号評価記述部または複数の複合型暗号評価記述部を組み合わせて複合型暗号評価記述部を生成する機能と、暗号モジュールＤＢ１３５５に登録されている暗号パッケージ３０７を検索および一覧を取得する機能と、サーバ上位システム部１３８０からの要求により暗号モジュール３０８及び関連する暗号パッケージ３０７を暗号モジュールＤＢ１３５５から削除する機能と、暗号パッケージ記憶部１３５５に対して行った登録・更新・削除処理に対するログを出力する機能とをもっている。
【００７４】
暗号パッケージ管理部１３５１は、複数の暗号クライアント装置１１００からの管制要求を同時に並行して処理する機能と、暗号パッケージ３０７の初期登録処理、配信処理、更新処理、選定処理、更新通知処理および暗号管理ドメイン移行処理を行う機能と、暗号クライアント装置１１００と暗号管理サーバ装置１３５０との間でセキュリティ保護された通信路を確立するための機能と、当該暗号管理サーバ装置１３５０が管理するドメイン内に存在する暗号クライアント管理装置の状況を管理する機能と、暗号パッケージ３０７の初期登録処理、配信処理、更新処理、選定処理、更新通知処理および暗号管理ドメイン移行処理に対するログを生成する機能とをもっている。
【００７５】
暗号パッケージ配布構成部１３７０は、配布暗号パッケージ選定部１３７３で選ばれた暗号パッケージ３０７を暗号モジュールＤＢ１３５５から取得する機能と、暗号モジュールＤＢ１３５５に格納された各記述項目のデータをＸＭＬといった暗号評価記述形式で構成して出力する機能と、暗号パッケージ官制部１３５９のセキュリティ通信で使用する鍵に関して指定のセキュリティ方式に応じてサーバ暗号制御マネージャ部１３９０に処理を依頼して鍵生成を行う機能と、暗号クライアント装置１１００のＩＤや鍵のセキュリティ方式を含む情報を元に鍵に関する情報の管理を行う機能と、暗号管理サーバ装置１３５０の配布ポリシで定義されたセキュリティレベル及びセキュリティ方式に応じて暗号管理サーバ装置１３５０から暗号クライアント装置１１００に対して送信する情報に対するデータ秘匿やデータ認証のセキュリティ処理を行う機能とをもっている。
【００７６】
配布暗号パッケージ選定部１３７３は、暗号パッケージ初期登録処理における初期登録判定、暗号方式の選定及び暗号パッケージ選定を行う機能と、暗号パッケージ配信処理における配信判定及び暗号パッケージの選定を行う機能と、暗号パッケージ更新処理における配信判定を行う機能と、暗号パッケージ更新処理における更新暗号リスト取得及び暗号パッケージの選定を行う機能と、暗号パッケージ選定処理における選定判定及び暗号パッケージ選定を行う機能と、暗号管理ドメイン移行処理のおける移動判定およびドメイン移動処理情報の生成を行う機能と、選定条件、選定ポリシ及びハードウェアポリシを満たす暗号パッケージを暗号パッケージ記憶部から検索する機能とをもっている。
【００７７】
暗号モジュールＤＢ１３５５は、登録されている暗号モジュール３０８を記録管理する暗号モジュールＤＢ１３５３と暗号評価記述ファイル３０９を記録管理する暗号評価DB１３５４とを備えている。
サーバ暗号制御マネージャ部１３９０は、暗号クライアント装置１１００の暗号制御マネージャ部１１５２と同様の機能に加え、暗号管理サーバ制御部１３５２と連携して暗号管理サーバ装置１３５０内の暗号資産管理制御や他通信装置との暗号認証通信を行う機能をもっている。
【００７８】
＜第３の実施形態＞
次に、予め複数の暗号モジュールを保有する端末装置内において、当該端末装置が自己の装置に適合した暗号モジュールを選定する場合について説明する。
図１３は、第３の実施形態における端末装置１００の構成を示す概略ブロック図である。第３実施形態における端末装置１００は、図２に示す暗号クライアント装置の機能の全部または一部を含んだ装置であり、第３実施形態や後述の第４実施形態では当該端末装置１００自身に暗号モジュールの選定機能が含まれている構成である。この図１３において、端末装置１００では、端末装置１００に適した暗号モジュールは、例えば、端末装置１００自身によって選定される。この端末装置１００においては、暗号モジュールに対して、その機能・性質等を記述した暗号評価情報を作成し、これを暗号モジュールに紐付けされている。状況については外部から指定条件として入力し、このデータを用いて最適な暗号モジュールを決定し、出力する。ここで、外部とは、例えば、図２に示す暗号実装部１５３や暗号モジュールＤＢ１６４等の暗号モジュール自体には直接関係するが当該暗号モジュール選定には必要とならない機能部を表しており、図２に示す上位システム部１５１が一例として該当する。条件は、選定の都度条件入力されるものの他に、ハードウェアプロファイル、暗号モジュール選定ポリシ等がありうる。端末装置１００は、図２に示す暗号モジュール選定部１５９、暗号モジュール選定ポリシ１５８、ハードウェアプロファイル１６０、暗号評価DB１６３を少なくとも含むものである。さらに具体的には、暗号モジュール選定部１５９は、図１３に示す条件入力部２０１、暗号モジュール抽出部２０２、暗号モジュール絞込部２０３、選定結果出力部２０４により構成されるものである。
【００７９】
この図１３において、条件入力部２０１は、選定する暗号モジュールの条件を指定する条件情報を取得する。この取得は、上位システム部によって指定される条件情報を取得する。また、この取得は、外部機器から入力される情報を受信するようにしてもよいし、キーボード等の入力装置から入力される情報を取得するようにしてもよい。また、ここでいう条件情報には、例えば、指定条件があり、この指定条件としては、暗号モジュールのカテゴリを特定するカテゴリ情報、暗号モジュールの処理の速度、暗号モジュールを実行するために必要となるメモリ量等がある。
また、条件入力部２０１は、暗号モジュールを実行する装置内に記憶されている当該装置の動作条件となる情報を条件情報として取得することも可能である。
【００８０】
ハードウェアプロファイル１６０は、暗号モジュールを利用する端末装置１００のハードウェアの機能や性能に関する情報が記憶されており、例えば、ハードウェアでのメモリの使用上限値や、CPUの処理速度、暗号モジュールの処理速度等がある。このハードウェアプロファイルは、装置内に記憶されていればよく、例えば、所定のメモリ領域にハードウェアプロファイルを記憶する領域として確保され記憶されるようにしてもよいし、ハードウェアの機能や性能についてそのハードウェア毎にそれぞれ分散して記憶されていてもよい。
【００８１】
暗号評価DB１６３は、暗号モジュールの識別情報と当該暗号モジュールにその機能または性能のいずれか一方または両方を記述した暗号評価情報とを対応づけて記憶する。
この暗号評価DB１６３に記憶される暗号評価情報の一例を図１４に示す。この図１４に示すように、暗号評価情報には、記述項目とその概要が対応付けされて記憶されており、一つの暗号評価情報にそれぞれ暗号評価情報が対応付けされて記憶される。
【００８２】
暗号モジュール抽出部２０２は、条件入力部２０１から入力される指定条件に適合する暗号モジュールを抽出してリストを作成する機能を有する。この指定条件の入力は、選定の都度条件入力されるものだけでなく、その端末のハードウェアから生じる制約条件として、端末に保管されている場合（ここでは、例えば、ハードウェアプロファイル１６０に記憶される）や、この両者が組み合わされる場合がある。そのため、暗号モジュール依存関係、制約条件を暗号評価情報に記述しておき、リスト作成時に使用する。
【００８３】
また、暗号モジュール抽出部２０２は、評価情報記憶部１６３に記憶された暗号モジュールの暗号評価情報のなかから、条件入力部２０１が取得した条件情報に含まれる選定する暗号モジュールの条件に適合する暗号評価情報を抽出する。
また、暗号モジュール抽出部２０２は、暗号評価情報を抽出する場合に、暗号評価情報が条件情報を満たすかどうかを判定し、これを満たす暗号評価情報を抽出する。
【００８４】
暗号モジュール選定ポリシ１５８は、入力条件により選定された暗号モジュールが複数ある場合に利用者が優先したい条件、利用者が優先的に利用したい暗号モジュールの開発メーカ、利用者が利用禁止にしたい暗号方式や暗号モジュールなどを含む情報を記憶する。
【００８５】
暗号モジュール絞込部２０３は、指定条件が、最も適したものを選ぶという、優先度によって絞り込むような性質のものである場合に、条件に最適な暗号モジュールを選定する機能を有する。すなわち、暗号モジュール絞込部２０３は、暗号評価情報の集合から、各々の暗号評価情報を比較して、条件入力部２０１によって入力された条件情報に最も適合する情報を判定することによって暗号モジュールを条件に最適なものに絞り込む。この指定条件の入力は、選定の都度条件入力される場合だけでなく、その端末での定常的な条件として、端末に保管されている場合（ここでは、例えば、暗号モジュール選定ポリシ１５８は記憶される）や、この両者が組み合わされる場合がある。選定対象は、端末装置１００内部の全ての暗号モジュールから行う場合と暗号モジュール抽出部２０２が出力する暗号モジュール（群）から行う場合の両方がありうる。このために暗号モジュールの点数評価を暗号評価情報に記述しておき、選定時に参照する。
【００８６】
選定結果出力部２０４は、暗号モジュール抽出部２０２または暗号モジュール絞込部２０３が選定した暗号評価情報に対応する暗号モジュールの識別情報を暗号評価情報記憶部１６３から読み出して出力する。
選定結果出力部２０４は、暗号モジュール抽出部２０２または暗号モジュール絞込部２０３が暗号モジュールの条件に合致する暗号評価情報を抽出する場合に、暗号モジュールの条件に合致する暗号評価情報がない場合には、次の２つの処理が考えられる。
（１） 該当する暗号モジュールが無いことを出力して終了する。
（２）暗号モジュールの条件を外部の装置に出力して検索の指示を出力し、この検索要求に応じて検索された暗号モジュールの識別情報を外部の装置から受信する機能を有する。
第３の実施形態としては（１）の処理を行うものとし、（２）の処理については、第５の実施形態にて行う処理として説明する。
【００８７】
次に、図１３における端末装置１００の動作について図１５を用いて説明する。
ある端末装置において使用する暗号モジュールを決める場合、使用したい暗号モジュールの条件を指定条件として条件入力部２０１から入力されると（ステップＳ２０１）、端末装置１００の暗号モジュール抽出部２０２は、ハードウェアプロファイル１６０に記憶された端末装置のハードウェアプロファイルを読み出し、指定条件とハードウェアプロファイルとを合わせて指定条件として用いて、暗号評価情報DB１６３を検索し、指定条件を満たす最適な暗号モジュールを選定する（ステップＳ２０２）。
【００８８】
ここでは、図１６に本実施形態における入出力データの例を挙げる。この図１６に示すように、上位のアプリケーションから指定条件が入力されると、暗号評価DB１６３を参照し、指定条件を満たす最適な暗号モジュールを抽出する。更に、指定条件の一例としては、 （１）カテゴリとして「公開鍵暗号」、 （２）速度として評価値が「７０点以上」、（３）メモリ使用上限として「２０ＭＢ」、（４）その他として「（１）〜（３）の条件を満たすものの中でもっとも安全性が高い」の情報が含まれる。端末のハードウェアプロファイルの一例としては、（５）このハードウェアでのメモリ使用上限として「１０ＭＢ」の情報が読み出される。
【００８９】
このとき、暗号モジュール抽出部２０２は、暗号選定を次の手順で行う。
手順（Ａ）
（１）、（２）、（３）の条件を暗号モジュール抽出部２０２が条件入力部２０１を介して取得する。暗号モジュール抽出部２０２は暗号評価DB１６３、ハードウェアプロファイル１６０（上記のハードウェアプロファイルの（５））を参照して、この中から、条件を満たす暗号モジュールのリストを作成し、これを出力する。
【００９０】
より具体的に述べると次のようになる。まず、上記のハードウェアの条件である(3)と(5)の条件を比較すると、(5)の条件の方が(3)より強い条件（厳しい条件）であるため、(3)の条件を(5)に置き換える補正を行う。ここでは、仮に(3)の指定条件がなかった場合も(5)の条件を(1)(2)の条件に加えて指定条件とすることになる。そして、暗号モジュール抽出部２０２は、(1)(2)(5)の条件を満たす暗号モジュールについて暗号評価DB１６３を検索して、条件を満たす暗号モジュールのリストを作成し、出力する。ここで、条件を満たすような該当暗号モジュールがあったか否かを判定し（ステップＳ２０３）、指定条件を満たす暗号モジュールが無ければ、その旨を出力し（ステップＳ２０４）、該当する暗号モジュールがある場合は、下記の手順（Ｂ）に移行する。
【００９１】
手順（Ｂ）
手順（Ａ）の出力と(4)の条件とが、暗号モジュール抽出部２０２から暗号モジュール絞込部２０３に入力されると、暗号モジュール絞込部２０３は、暗号評価DB１６３暗号モジュール選定ポリシ１５８は参照して、手順（Ａ）の出力リストから、最も(4)の条件に適合する（この場合は最も安全性が高い）暗号モジュールを選び（ステップＳ２０５）、その暗号モジュールの識別情報を出力する（ステップＳ２０６）。この手順（Ｂ）において選定され出力された暗号モジュールの識別情報が所望の暗号モジュールを示す情報となる。
【００９２】
ここで、手順（Ｂ）において、条件が複数ある場合もありうる。例えば、速度が最速で、メモリ使用量が最小となる暗号モジュールを選びたい場合である。このような場合には、例えば「速度をメモリ使用量より優先する」、という条件を決めておいて、速度が最も速いものをまず選び、選ばれた暗号モジュールが複数あれば、その中からメモリ使用量が最も小さいものを選定する、という方法がある。このようにして絞り込みを行うことが可能となるが、勿論これは一例であって、絞り込む方法はこれに限定されない。
【００９３】
なお、上述の実施形態における、条件入力部２０１、暗号モジュール抽出部２０２、暗号モジュール絞込部２０３、選定結果出力部２０４を組み合わせた構成を図３の配布暗号モジュール選定部３６０に備えるようにしてもよい。
【００９４】
＜第４の実施形態＞
次に、第４の実施形態について説明する。第３の実施形態においては、端末装置１００自身が端末装置１００内で使用する暗号モジュールを抽出する場合について説明したが、この第４の実施形態においては、第３の実施形態と構成は共通とし、複数の端末装置間での最適な暗号モジュールを抽出するための暗号通信を行う場合について説明する。
図１７に第４の実施形態における端末の構成を示す機能ブロック図をあげる。
図１７の端末A,Bの暗号選定部の内部構成は図１３と同じである。
図１７において、端末装置Ａ，Ｂ間で暗号通信するシステムにおいて、共通で使用する暗号方式を決めるために、暗号評価情報以外に、通信する双方の端末のハードウェアプロファイルを「暗号モジュール選定部１５９」への入力情報として暗号方式を決め、このアルゴリズムについて端末装置Ａ，Ｂでの最適な暗号モジュールの選定を行う。
図１７における端末装置Ａ，Ｂの動作につき図１８を用いて説明する。
端末装置Aで指定条件を暗号モジュール選定部１５９内の暗号モジュール抽出部２０２に入力して（ステップＳ２２０）第３の実施形態と同様に暗号モジュールの選定を行う。但し暗号モジュール選定部１５９内の暗号モジュール抽出部２０２までしか使用せず、その結果、指定条件を満たす端末装置Ａ内の暗号モジュールＤＢにある場合には（ステップＳ２２１）、その暗号モジュールの暗号方式（暗号アルゴリズム）のリストを端末装置Aから端末装置Bに送信する（ステップＳ２２２）。
端末装置Bでは、通常の指定条件に加えて、端末装置Aから受け取った暗号方式を追加条件として暗号モジュールの選定を第３の実施形態と同様に行う（ステップＳ２２３）。その結果、指定条件を満たす暗号モジュールが端末装置Ｂ内の暗号モジュールＤＢ内にある場合には（ステップＳ２２４）、その暗号モジュールの識別情報を得て（ステップＳ２２５）、その暗号モジュールを端装置末Bでは使用することにし、その暗号方式（暗号モジュール絞込部２０３を経由しているので、暗号モジュールは一つしかなく、その結果暗号方式も一つしかない）を端末装置Bから端末装置Aに送り返す（ステップＳ２２６）。端末装置Aでは、端末装置Bから受け取った暗号方式を追加条件として暗号モジュールの選定を第３の実施形態と同様に行う（ステップＳ２２７）。この結果、得られた暗号モジュールの識別情報を得て（ステップＳ２２８）、その暗号モジュールを端末装置Aで使用する。
【００９５】
ここで、図１９に本実施形態における入出力データの一例について説明する。この図に示すように、上位のアプリケーションから指定条件と、端末装置間において通信をする両端末装置のハードウェアプロファイルとが条件として入力されると、両端末装置で暗号評価DB１６３を参照し、端末装置間において通信をする両端末装置の環境に適した最適な暗号モジュールが選定される。
【００９６】
＜第５の実施形態＞
次に、第５の実施形態について説明する。第３の実施形態においては、端末装置１００自身が端末装置１００内で使用する暗号モジュールを抽出する場合について説明したが、この第５の実施形態においては、端末装置１００が当該端末装置内で指定条件を満たす暗号モジュールの選定を行い、その結果端末装置１００に指定条件を満たす暗号モジュールが見つからなかった場合に、端末装置１００から暗号モジュールの選定依頼（委託）を受けたサーバが最適な暗号モジュールを選定して端末装置１００へ暗号モジュールを配信する場合について説明する。
ここでいう「サーバ」とは、多くの暗号モジュールを記憶しており、端末装置１００向けの暗号モジュールを選定し、必要に応じて暗号モジュールを配信できるものを指している。
ここでいう「端末装置」とは、第３実施形態や第４実施形態と同一の機能を有する装置である。
図２０に第５の実施形態における端末のサーバの構成を示す機能ブロック図をあげる。
サーバと端末装置との間で暗号方式を更新するシステムにおいて、暗号モジュールをサーバから端末装置に配信する処理の過程で、サーバ側にて、暗号評価情報、端末のハードウェアプロファイル、及び端末の暗号方式を「暗号モジュール選定部１５９」への入力情報とした最適な暗号モジュールの選定を行う。
【００９７】
次に、図２１を用いて第５の実施形態についてさらに説明する。
まず、第３の実施形態と同様に、端末装置１００にて暗号モジュール選定手順（Ａ）、（Ｂ）を実施する。ここでは、指定条件が入力されると（ステップＳ２４０）、この指定条件に合致する暗号モジュールがあるか否かを判定し（ステップＳ２４１）、その結果、該当する暗号モジュールが得られた場合には、暗号モジュールの識別情報を出力し（ステップＳ２４２）、指定条件を満たすものがない場合には、暗号モジュールを管理するサーバ（暗号方式選定装置から選定の委託を受ける外部装置）から条件を満たす暗号モジュールを配信してもらう処理を行う。これは上記した選定結果出力部の処理を行う場合であり、以下にその詳細を述べる。
この場合、端末装置内の暗号選定部にて指定条件を入力として暗号モジュール選定手順（Ａ）、（Ｂ）が実施される。ここで入出力されるデータの一例を図２２に示す。この図に示すように、上位のシステム部から指定条件、端末装置の暗号モジュール選定ポリシ、端末装置のハードウェアプロファイルが入力されると、暗号評価ＤＢ１６３を参照し、これら条件を満たす最適な暗号モジュールが抽出される。この手順を実行した結果、条件に合致する暗号モジュールが抽出されなかったことが検出されると、図２０に示す端末内の選定結果出力部２０４は、暗号モジュール絞込部２０３から出力される指定条件、選定ポリシ及びその端末のハードウェアプロファイルを条件（５）として外部サーバの配布暗号モジュール選定部３６０に送信する（ステップＳ２４３）。
【００９８】
外部サーバ内の配布暗号モジュール選定部３６０は、(５)の条件を入力とし（ステップＳ２４４）、暗号モジュール選定手順を実施する。ここで入出力されるデータの一例を図２２に示す。この図に示すように、上位のアプリケーションから指定条件、端末装置の暗号モジュール選定ポリシ、端末装置のハードウェアプロファイルが入力されると、サーバ内の暗号評価ＤＢ３５４を参照し、これら条件を満たす最適な暗号モジュールの識別情報を抽出する（ステップＳ２４５）。そして、抽出した暗号モジュールの識別情報を出力する（ステップＳ２４６）。
このように、条件を満たす最適な暗号モジュールの識別情報が抽出されると暗号配信部３５２は、この識別情報に該当する暗号モジュールをサーバ内の暗号モジュールＤＢ３５３から抽出し、この識別情報に該当する暗号モジュールの暗号評価記述をサーバ内の暗号評価DB３５４から抽出し、これら２つを合わせて暗号パッケージを作成し、端末装置に配信する（ステップＳ２４７）。
【００９９】
端末装置は、サーバの暗号配信部３５２から配信された暗号パッケージを受信し、自身の暗号モジュールとして情報の登録を行う。登録処理としては、端末装置の持つ暗号モジュールＤＢ１６４への暗号モジュールの追加登録、暗号評価DB１６３への暗号評価記述の追加登録が行われる（ステップＳ２４８）。
【０１００】
ここで、次回に同じ指定条件での選定手順を実施する場合を考える。ここでは、サーバから新たな暗号モジュールが暗号評価DB１６３に登録されていることから、指定条件が入力されると、この新たに登録された暗号モジュールが選定されるようになる。即ち同じ指定条件で第３の実施形態の動作を実施することが可能になる。
【０１０１】
以上説明した実施形態によれば、条件を指定するだけで、その状況に応じた最適な暗号モジュールの選定を専門的な知識なしでも自動的に行うことができるようになる。
【０１０２】
以上説明した実施形態によれば、使用する暗号を端末装置自身で選定する場合に限らず、端末装置のハードウェアに最適な暗号モジュールをサーバで選定する場合等にも適用することが可能である。これには次の２つのケースがある。
（１）サーバが、端末装置からの選定依頼を受けることなく、選定する暗号モジュールをサーバ内部の暗号モジュールDBの中から選定し、選定された暗号モジュールをサーバから端末装置に配信する場合。
選定された暗号モジュールが既に端末装置内部の暗号モジュールDBに存在している場合には、サーバから端末装置への配信は不要であるため行わない。この条件の判定のために、端末装置はサーバに対し、選定ポリシ、ハードウェアプロファイルに加えて、端末装置の暗号モジュールリストを送付する。サーバは、暗号評価ＤＢ３５を参照して暗号モジュールを選定した後、選定した暗号モジュールが、端末装置の暗号モジュールリストにあるかどうかをチェックし、無い場合にのみサーバから端末装置への暗号モジュール配信を行う。また指定条件については、端末装置から受け取るのではなく、サーバ側のアプリケーションから入力される。このときの入出力データの例を図２３に示す。
【０１０３】
（２）サーバが、端末装置からの選定依頼を受けて、暗号モジュールを当該端末装置内部の暗号モジュールDBの中から選定する場合、即ち端末装置がサーバに選定処理のみを依頼する場合。
サーバは第３の実施形態における端末装置での選定処理を肩代わりするため、端末装置はサーバに対し、選定ポリシ、ハードウェアプロファイル、指定条件に加えて、端末装置の暗号モジュールリスト及び、暗号モジュールリストにある暗号モジュールに関する暗号評価記述を送信することが必要である。サーバ内部の配布暗号モジュール選定部３６０は、これらデータを基に、第３の実施形態における端末装置内部の暗号選定部と全く同じ動作を行い、選定結果を端末の選定部に通知する。
【０１０４】
なお、上述した実施形態においては、暗号モジュール抽出部２０２、暗号モジュール絞込部２０３の両方が設けられる場合について説明したが、いずれか一方のみを構成要素として含むようにしてもよい。ここで、暗号モジュール抽出部２０２を含まず暗号モジュール絞込部２０３のみの場合は、暗号モジュール絞込部２０３は、そのマシンの持つ全ての暗号モジュールを選定対象として暗号モジュールの絞り込みを行う。
【０１０５】
以上、この発明の実施形態について図面を参照して詳述してきたが、具体的な構成はこの実施形態に限られるものではなく、この発明の要旨を逸脱しない範囲の設計等も含まれる。
【図面の簡単な説明】
【０１０６】
【図１】本発明の第１の実施形態による暗号モジュール配信システムの構成を示すブロック図である。
【図２】本発明の第１の実施形態による暗号クライアント装置の構成を示すブロック図である。
【図３】本発明の第１の実施形態による暗号管理サーバ装置の構成を示すブロック図である。
【図４】本発明の第２の実施形態による暗号モジュール配信システムの構成を示すブロック図である。
【図５】本発明の第２の実施形態による暗号クライアント装置の構成を示すブロック図である。
【図６】本発明の第２の実施形態による選定ＤＢのデータ構成例を示す図である。
【図７】本発明の第２の実施形態による暗号モジュールリンクＤＢのデータ構成例を示す図である。
【図８】本発明の第２の実施形態による暗号モジュールＤＢのデータ構成例を示す図である。
【図９】本発明の第２の実施形態による鍵情報ＤＢのデータ構成例を示す図である。
【図１０】本発明の第２の実施形態による暗号処理ＤＢのデータ構成例を示す図である。
【図１１】本発明の第２の実施形態によるデータベースの論理構成を示す図である。
【図１２】本発明の第２の実施形態による暗号管理サーバ装置の構成を示すブロック図である。
【図１３】本発明の第３の実施形態に係る暗号選定装置の機能ブロック図である。
【図１４】本発明の第３の実施形態に係る暗号評価情報の記述項目例である。
【図１５】本発明の第３の実施形態に係る暗号選定装置の動作のフローチャートである。
【図１６】本発明の第３の実施形態に係る暗号モジュール選定手順への入出力データの例である。
【図１７】本発明の第４の実施形態に係る暗号選定装置の機能ブロック図である。
【図１８】本発明の第４の実施形態に係る暗号選定装置の動作のフローチャートである。
【図１９】本発明の第４の実施形態に係る暗号モジュール選定手順への入出力データの例である。
【図２０】本発明の第５の実施形態に係る暗号選定装置の機能ブロック図である。
【図２１】本発明の第５の実施形態に係る暗号モジュール選定の全体的な動作を表す図である。
【図２２】本発明の第５の実施形態に係る、端末側の要求に応えてサーバ側が配信する暗号モジュールを選定する場合の暗号モジュール選定手順への入出力データの例である。
【図２３】本発明の第５の実施形態に係る、サーバ側の主導で端末側が持つべき暗号モジュールを選定して、配信する場合の暗号モジュール選定手順への入出力データの例である。
【符号の説明】
【０１０７】
２０１  条件入力部
２０２  暗号モジュール抽出部
２０３  暗号モジュール絞込部
２０４  選定結果出力部
１５０  暗号クライアント装置
１５１  上位システム部
１５２  暗号制御マネージャ部
１５３  暗号実装部
１５４  暗号実装Ｉ／Ｆ部
１５５  通信機能
１５６  暗号処理制御部
１５７  暗号処理情報ＤＢ
１５８  暗号モジュール選定ポリシ
１５９  暗号モジュール選定部
１６０  ハードウェアプロファイル
１６１  アクセス制御ポリシ
１６２  鍵情報管理部
１６３  暗号評価DB
１６４  暗号モジュールＤＢ
１６５  鍵情報ＤＢ
１６６  暗号管理部
１６７  暗号制御マネージャポリシ
１６８  アルゴリズムネゴシエーション部
１６９  セキュア通信管理部
１７０  暗号ハードウェア管理制御部
３０８  暗号モジュール
３０９  暗号評価記述ファイル
３５０  暗号管理サーバ装置
３５１  暗号管理部
３５２  暗号配信部
３５３  暗号モジュールＤＢ
３５４  暗号評価DB
３５５  暗号登録部
３５６  通信機能
３５７  暗号パッケージ登録部
３５８  複合型記述生成部
３５９  暗号パッケージ配信制御部
３６０  配布暗号モジュール選定部
３７０  暗号パッケージ配布構成部
３７１  配布ポリシ
４５０  暗号ハードウェア部
１１５１  上位システム部
１１５２  暗号制御マネージャ部
１１５３  暗号実装部
１１５５  通信機能
１１５６  暗号処理制御部
１１５８  選定ポリシ
１１６０  ハードウェアプロファイル
１１６２  鍵管理部
１１６５  鍵情報ＤＢ
１１６６  暗号パッケージ管理部
１１７０  暗号ハードウェア管理制御部
１３５０  暗号管理サーバ装置
１３５１  暗号パッケージ管理部
１３５２  暗号管理サーバ制御部
１３５３  暗号モジュールＤＢ
１３５４  暗号評価DB
１３５５  暗号パッケージ記憶部
１３５６  通信機能
１３５９  暗号パッケージ官制部
１３７０  暗号パッケージ配布構成部
１３７１  配布ポリシ
１３７２  ドメイン情報
１３７３  配布暗号パッケージ選定部
１３８０  サーバ上位システム部
１３９０  サーバ暗号制御マネージャ部
１４５０  暗号ハードウェア
１６００  暗号情報記憶部
１６０１  選定ＤＢ
１６０２  暗号モジュールリンクＤＢ
１６０３  暗号モジュールＤＢ
１６０４  暗号処理ＤＢ
【図１】
0005100286.tif 000002
【図２】
0005100286.tif 000003
【図３】
0005100286.tif 000004
【図４】
0005100286.tif 000005
【図５】
0005100286.tif 000006
【図６】
0005100286.tif 000007
【図７】
0005100286.tif 000008
【図８】
0005100286.tif 000009
【図９】
0005100286.tif 000010
【図１０】
0005100286.tif 000011
【図１１】
0005100286.tif 000012
【図１２】
0005100286.tif 000013
【図１３】
0005100286.tif 000014
【図１４】
0005100286.tif 000015
【図１５】
0005100286.tif 000016
【図１６】
0005100286.tif 000017
【図１７】
0005100286.tif 000018
【図１８】
0005100286.tif 000019
【図１９】
0005100286.tif 000020
【図２０】
0005100286.tif 000021
【図２１】
0005100286.tif 000022
【図２２】
0005100286.tif 000023
【図２３】
0005100286.tif 000024