(57)【要約】【課題】選択のための評価指標と評価方法を用いて、用途に応じたソフトウェアモジュールを選択するシステムにおいて、既存のソフトウェアモジュールの不具合を修正した新規のソフトウェアモジュールを配信し、既存のソフトウェアモジュールを安全に更新する。【解決手段】選択のための評価指標と評価方法を用いて、用途に応じたソフトウェアモジュールを選択するシステムにおいて、既存のソフトウェアモジュールと同等の機能を具備した代替のソフトウェアモジュール及び評価指標と評価方法のいずれかまたはすべてを配信する手段と、その後、既存のソフトウェアモジュールの不具合を修正した新規のソフトウェアモジュールおよび評価指標と評価方法のいずれかまたはすべてを配信する手段と、代替のソフトウェアモジュールの使用を停止させるための評価指標と評価方法のいずれかまたはすべてを配信する手段により、既存のソフトウェアモジュールを安全に更新する。【選択図】図１
2012133812.tif 000002
【特許請求の範囲】
【請求項１】
所定の被暗号対象データに対して暗号処理を実行する暗号クライアント装置であって、
当該暗号処理を行う際の暗号鍵と、前記暗号処理を実行するための暗号モジュールと、当該暗号モジュールに関連付けられた当該暗号モジュールの評価記述ファイルとをそれぞれ記憶する記憶部と、
前記暗号処理の要求情報を受け付ける暗号処理要求受付部と、
前記暗号処理要求受付部によって受け付けた要求情報に基づいて、前記記憶部から当該要求情報に応じた暗号鍵を取得する暗号鍵取得部と、
前記暗号処理要求受付部によって受け付けた要求情報に基づいて、前記記憶部から当該要求情報に応じた暗号評価記述ファイルを取得する暗号評価記述ファイル取得部と、
前記暗号評価記述ファイル取得部によって取得された暗号評価記述ファイルに対応する暗号モジュールを取得し、前記被暗号対象データに対して暗号処理を実行する暗号処理実行部と、
前記暗号処理実行部によって実行された暗号済みの被暗号対象データを出力する出力部とを具備することを特徴とする暗号クライアント装置。
【請求項２】
所定の被暗号対象データに対して暗号処理を実行する暗号クライアント装置と、当該暗号クライアント装置に対して当該暗号処理に適した暗号パッケージを配信する暗号管理サーバ装置とがネットワークを介して接続された暗号パッケージ配信システムであって、
前記暗号クライアント装置は、
前記暗号パッケージの配信要求情報を受け付ける配信要求情報受付部と、
前記配信要求情報受付部によって受け付けた配信要求情報を前記暗号管理サーバ装置に送信する配信要求情報送信部とを備え、
前記暗号管理サーバ装置は、
前記暗号処理を実行するための暗号モジュールと、当該暗号モジュールに関連付けられた当該暗号モジュールの暗号評価記述ファイルとをそれぞれ記憶する記憶部と、
前記配信要求情報送信部によって送信された配信要求情報を受信する配信要求情報受付部と、
前記配信要求情報受付部によって受信した配信要求情報に基づいて、前記記憶部から当該配信要求情報に応じた暗号評価記述ファイル及び暗号モジュールを取得して暗号パッケージを生成する暗号パッケージ生成部と、
前記暗号パッケージ生成部によって生成された暗号パッケージを前記暗号クライアント装置に配信する暗号パッケージ配信部とを具備することを特徴とする暗号パッケージ配信システム。
【請求項３】
前記暗号クライアント装置は、前記暗号パッケージ配信部によって配信された暗号パッケージを暗号評価記述ファイル及び暗号モジュールに分けて当該暗号クライアント装置の記憶部に記憶することを特徴とする請求項２記載の暗号パッケージ配信システム。
【請求項４】
ネットワークを介して接続された暗号クライアント装置に対して所定の暗号処理に適した暗号パッケージを配信する暗号管理サーバ装置であって、
前記暗号処理を実行するための暗号モジュールと、当該暗号モジュールに関連付けられた当該暗号モジュールの評価記述ファイルとをそれぞれ記憶する記憶部と、
前記暗号クライアント装置から送信された暗号パッケージの配信要求情報を受信する配信要求情報受付部と、
前記配信要求情報受付部によって受信した配信要求情報に基づいて、前記記憶部から当該配信要求情報に応じた暗号評価記述ファイル及び暗号モジュールを取得して暗号パッケージを生成する暗号パッケージ生成部と、
前記暗号パッケージ生成部によって生成された暗号パッケージを前記暗号クライアント装置に配信する暗号パッケージ配信部とを具備することを特徴とする暗号管理サーバ装置。
【請求項５】
所定の被暗号対象データに対して暗号処理を実行する暗号クライアント装置であって、
当該暗号処理を行う際の暗号鍵と、前記暗号処理を実行するための暗号モジュールと、当該暗号モジュールの条件情報であるポリシ情報と同一のポリシ情報を有する暗号モジュールの情報を記述した暗号モジュールリンク情報と、前記暗号処理を実行する暗号モジュールを選定するための選定情報とをそれぞれ記憶する記憶部と、
前記暗号処理の要求情報を受け付ける暗号処理要求受付部と、
前記暗号処理要求受付部によって受け付けた要求情報に基づいて、前記記憶部から当該要求情報に応じた選定情報を取得する選定情報取得部と、
前記暗号処理要求受付部によって受け付けた要求情報に基づいて、前記記憶部から当該要求情報に応じた暗号鍵を取得する暗号鍵取得部と、
前記選定情報取得部によって取得された選定情報に対応する暗号モジュール及び暗号モジュールリンク情報を前記記憶部から取得し、前記被暗号対象データに対して暗号処理を実行する暗号処理実行部と、
前記暗号処理実行部によって実行された暗号済みの被暗号対象データを出力する出力部とを具備することを特徴とする暗号クライアント装置。
【請求項６】
所定の被暗号対象データに対して暗号処理を実行する暗号クライアント装置と、当該暗号クライアント装置に対して当該暗号処理に適した暗号コンテナを配信する暗号管理サーバ装置とがネットワークを介して接続された暗号コンテナ配信システムであって、
前記暗号クライアント装置は、
前記暗号コンテナを構成する暗号モジュールの選定依頼情報を受け付ける選定依頼情報受付部と、
前記選定依頼情報受付部によって受け付けた選定依頼情報を前記暗号管理サーバ装置に送信する選定依頼情報送信部と、
前記暗号コンテナを生成するための暗号コンテナ生成情報を前記暗号管理サーバ装置に送信する暗号コンテナ生成情報送信部とを備え、
前記暗号管理サーバ装置は、
前記暗号処理を実行するための暗号モジュールと、当該暗号モジュールに関連付けられた当該暗号モジュールの暗号評価記述ファイルとをそれぞれ記憶する記憶部と、
前記暗号クライアント装置から送信された選定依頼情報及び暗号コンテナ生成依頼情報をそれぞれ受信する受信部と、
前記受信部によって受信した選定依頼情報に基づいて、前記記憶部から当該選定依頼情報に応じた暗号モジュールの暗号評価記述ファイルの識別子を抽出する暗号評価記述ファイル識別子抽出部と、
前記暗号評価記述ファイル識別子抽出部によって抽出された識別子に基づいて、前記暗号コンテナの生成要否依頼情報を前記暗号クライアント装置に送信する暗号コンテナ生成要否検討依頼部と、
前記暗号コンテナ生成要否検討依頼部によって送信された生成要否依頼情報に対する前記暗号クライアント装置からの回答情報に基づいて、前記抽出された識別子に対応する暗号評価記述ファイル及び暗号モジュールから暗号コンテナを生成する暗号コンテナ生成部と、
前記暗号コンテナ生成部によって生成された暗号コンテナを前記暗号クライアント装置に配信する暗号コンテナ配信部とを具備することを特徴とする暗号コンテナ配信システム。
【請求項７】
前記暗号クライアント装置は、前記暗号コンテナ配信部によって配信された暗号コンテナを暗号評価記述ファイル及び暗号モジュールに分けて当該暗号クライアント装置の記憶部に記憶することを特徴とする請求項６記載の暗号コンテナ配信システム。
【請求項８】
ネットワークを介して接続された暗号クライアント装置に対して所定の暗号処理に適した暗号コンテナを配信する暗号管理サーバ装置であって、
前記暗号処理を実行するための暗号モジュールと、当該暗号モジュールに関連付けられた当該暗号モジュールの暗号評価記述ファイルとをそれぞれ記憶する記憶部と、
前記暗号クライアント装置から送信された前記暗号コンテナを構成する暗号モジュールの選定依頼情報及び当該暗号コンテナの生成依頼情報をそれぞれ受信する受信部と、
前記受信部によって受信した選定依頼情報に基づいて、前記記憶部から当該選定依頼情報に応じた暗号モジュールの暗号評価記述ファイルの識別子を抽出する暗号評価記述ファイル識別子抽出部と、
前記暗号評価記述ファイル識別子抽出部によって抽出された識別子に基づいて、前記暗号コンテナの生成要否依頼情報を前記暗号クライアント装置に送信する暗号コンテナ生成要否検討依頼部と、
前記暗号コンテナ生成要否検討依頼部によって送信された生成要否依頼情報に対する前記暗号クライアント装置からの回答情報に基づいて、前記抽出された識別子に対応する暗号評価記述ファイル及び暗号モジュールから暗号コンテナを生成する暗号コンテナ生成部と、
前記暗号コンテナ生成部によって生成された暗号コンテナを前記暗号クライアント装置に配信する暗号コンテナ配信部とを具備することを特徴とする暗号管理サーバ装置。
【請求項９】
端末装置内で動作する第１のソフトウェアモジュールを第２のソフトウェアモジュールに変更する場合におけるソフトウェアモジュールの管理を行うソフトウェアモジュール管理装置であって、
前記第１のソフトウェアモジュールや第２のソフトウェアモジュールとは異なる第３のソフトウェアモジュールを記憶する記憶部と、
前記記憶部に記憶された第３のソフトウェアモジュールを読み出し、この読み出した第３のソフトウェアモジュールを、前記端末装置に配信して前記第１のソフトウェアモジュールから第３のソフトウェアモジュールに切り替えさせて使用可能状態にさせる第１の配信部と、
前記第２のソフトウェアモジュールを前記端末装置に配信し、第３のソフトウェアモジュールから第２のソフトウェアモジュールに切り替えさせて使用可能状態にさせる第２の配信部と、
を有することを特徴とするソフトウェアモジュール管理装置。
【請求項１０】
端末装置内で動作する第１のソフトウェアモジュールを第２のソフトウェアモジュールに変更する場合におけるソフトウェアモジュールの管理を行うソフトウェアモジュール管理装置であって、
少なくとも１つのソフトウェアモジュールを記憶する記憶部と、
前記記憶部に記憶されたソフトウェアモジュールを当該記憶装置から読み出し、この読み出した前記ソフトウェアモジュールを前記端末装置に配信する第１の配信部と、
前記第２のソフトウェアモジュールを前記端末装置に配信し、前記選択されたソフトウェアモジュールから第２のソフトウェアモジュールに切り替えさせて使用可能状態にする第２の配信部と、
を有することを特徴とするソフトウェアモジュール管理装置。
【請求項１１】
端末装置内で動作する第１のソフトウェアモジュールを第２のソフトウェアモジュールに変更する場合におけるソフトウェアモジュールの管理を行うソフトウェアモジュール管理装置であって、
少なくとも１つのソフトウェアモジュールを記憶する記憶部と、
前記記憶部に記憶されたソフトウェアモジュールの選択を行わせるソフトウェアモジュール選択催促部と、
前記ソフトウェアモジュール選択催促部により選択されたソフトウェアモジュールを前記記憶部から読み出し、この読み出した前記ソフトウェアモジュールを前記端末装置に配信する第１の配信部と、
前記第２のソフトウェアモジュールを前記端末装置に配信し、前記選択されたソフトウェアモジュールから第２のソフトウェアモジュールに切り替えさせて使用可能状態にする第２の配信部と、
を有することを特徴とするソフトウェアモジュール管理装置。
【請求項１２】
端末装置内で動作する第１のソフトウェアモジュールを第２のソフトウェアモジュールに変更する場合におけるソフトウェアモジュールの管理を行うソフトウェアモジュール管理装置であって、
前記ソフトウェアモジュールを選択するための基準を示す選定基準情報を記憶する記憶部と、
前記記憶部に記憶された選定基準情報を読み出し、この読み出した選定基準情報を、前記端末装置に配信して当該選定基準に基づくソフトウェアモジュールの選択を行わせる第１の配信部と、
前記第２のソフトウェアモジュールを前記端末装置に配信し、前記選択モジュールによって選択されたソフトウェアモジュールから第２のソフトウェアモジュールに切り替えさせて前記動作を可能な状態にする第２の配信部と、
を有することを特徴とするソフトウェアモジュール管理装置。
【請求項１３】
前記第２の配信部は、前記第２のソフトウェアモジュールを配信した後に、前記第１のソフトウェアモジュールの次に利用しているソフトウェアモジュールの使用を終了させる
ことを特徴とする請求項１から請求項３のうちいずれかに記載のソフトウェアモジュール管理装置。
【請求項１４】
前記第１から第３のソフトウェアモジュールは、暗号処理を行う機能を有する
ことを特徴とする請求項１から請求項４のうちいずれかに記載のソフトウェアモジュール管理装置。
【請求項１５】
端末装置内で動作する第１のソフトウェアモジュールを第２のソフトウェアモジュールに変更する場合におけるソフトウェアモジュールの管理を行うソフトウェアモジュール管理装置であるコンピュータに、
前記第１のソフトウェアモジュールや第２のソフトウェアモジュールとは異なる第３のソフトウェアモジュールを記憶する記憶部として機能させる記憶機能と、
前記記憶部に記憶された第３のソフトウェアモジュールを読み出し、この読み出した第３のソフトウェアモジュールを、前記端末装置に配信して前記第１のソフトウェアモジュールから第３のソフトウェアモジュールに切り替えさせて使用可能状態にさせる第１の配信機能と、
前記第２のソフトウェアモジュールを前記端末装置に配信し、第３のソフトウェアモジュールから第２のソフトウェアモジュールに切り替えさせて使用可能状態にさせる第２の配信機能と、
を実現させるためのソフトウェアモジュール管理プログラム。
【請求項１６】
端末装置内で動作する第１のソフトウェアモジュールを第２のソフトウェアモジュールに変更する場合におけるソフトウェアモジュールの管理を行うソフトウェアモジュール管理装置であるコンピュータに、
少なくとも１つのソフトウェアモジュールを記憶する記憶部として機能させる記憶機能と、
前記記憶部に記憶されたソフトウェアモジュールを当該記憶部から読み出し、この読み出した前記ソフトウェアモジュールを前記端末装置に配信する第１の配信機能と、
前記第２のソフトウェアモジュールを前記端末装置に配信し、前記選択されたソフトウェアモジュールから第２のソフトウェアモジュールに切り替えさせて使用可能状態にする第２の配信機能と、
を実現させるためのソフトウェアモジュール管理プログラム。
【請求項１７】
端末装置内で動作する第１のソフトウェアモジュールを第２のソフトウェアモジュールに変更する場合におけるソフトウェアモジュールの管理を行うソフトウェアモジュール管理装置であるコンピュータに、
少なくとも１つのソフトウェアモジュールを記憶する記憶部として機能させる記憶機能と、
前記記憶部に記憶されたソフトウェアモジュールの選択を行わせるソフトウェアモジュール選択催促機能と、
前記ソフトウェアモジュール選択催促機能により選択されたソフトウェアモジュールを前記記憶部から読み出し、この読み出した前記ソフトウェアモジュールを前記端末装置に配信する第１の配信機能と、
前記第２のソフトウェアモジュールを前記端末装置に配信し、前記選択されたソフトウェアモジュールから第２のソフトウェアモジュールに切り替えさせて使用可能状態にする第２の配信機能と、
を実現させるためのソフトウェアモジュール管理プログラム。
【請求項１８】
端末装置内で動作する第１のソフトウェアモジュールを第２のソフトウェアモジュールに変更する場合におけるソフトウェアモジュールの管理を行うソフトウェアモジュール管理装置であるコンピュータに、
前記ソフトウェアモジュールを選択するための基準を示す選定基準情報を記憶する記憶部として機能させる記憶機能と、
前記記憶部に記憶された選定基準情報を読み出し、この読み出した選定基準情報を、前記端末装置に配信して当該選定基準に基づくソフトウェアモジュールの選択を行わせる第１の配信機能と、
前記第２のソフトウェアモジュールを前記端末装置に配信し、前記選択モジュールによって選択されたソフトウェアモジュールから第２のソフトウェアモジュールに切り替えさせて前記動作を可能な状態にする第２の配信機能と、
を実現させるためのソフトウェアモジュール管理プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、オペレーティングシステム、アプリケーションプログラム等のソフトウェアモジュールの更新を安全に行うためのソフトウェアモジュールの更新を行うソフトウェアモジュール管理装置およびプログラムに関する。
【背景技術】
【０００２】
現在、多くのコンピューティングデバイスは、機器を動作させるためのオペレーティングシステムと数々の更新可能なソフトウェアモジュールから構成される。ソフトウェアモジュールの用途は多岐にわたり、用途ごとに専用のソフトウェアモジュールが開発され、組み合わせて利用される。また、ソフトウェアモジュールは機能の拡充や性能向上が必要になった場合あるいは不具合を修正する必要がある場合には更新されることがある。
【０００３】
このようなコンピューティングデバイスにおいては、ソフトウェアモジュールの不具合をつき、本来の利用者以外が悪用する攻撃が今日的な脅威となっている。例えば、非特許文献１には、「ＡＥＳ−ＸＣＢＣ−ＭＡＣ」と呼ばれる認証方式の実装上の不具合修正が公開されている。この情報と修正モジュールの変更箇所の解析を悪用すれば、どのような入力により不具合が引き起こされるかが判明し、不具合の修正を未だ行っていないコンピュータに対して悪用される虞がある。
【０００４】
従来、信頼できる機関あるいは開発元に対して不具合の報告が行われると、その内容を修正するソフトウェアモジュールが開発され、新規ソフトウェアモジュールの配信と不具合内容の公開が行われるという手法が一般的であった。しかし、不具合を修正するソフトウェアモジュールが配布されるよりも前に不具合が暴露されてしまった場合などは、コンピュータに対する脅威がより高まる危険があった。
【０００５】
また、対策を急ぐあまり、修正ソフトウェアモジュールに十分な検証を行えず、他の不具合を誘起する問題や、不具合の修正が不十分となってしまうなどの問題も見られる。
【０００６】
このような脅威を低減させるため、定期的あるいは外部からの指示により、修正プログラムの配布が行われているかを確認し、自動的に更新するシステムや、利用者に修正プログラムによる更新を促す通知を行うシステムが広く用いられている。
【先行技術文献】
【非特許文献】
【０００７】
【非特許文献１】“announce-jp : 1319”、[online]、[平成１９年３月２７日検索]、インターネット<http://home.jp.freebsd.org/cgi-bin/showmail/announce-jp/1319>
【発明の概要】
【発明が解決しようとする課題】
【０００８】
しかしながら、従来の技術では、自動更新機能などを用いて、既存のソフトウェアモジュールの不具合を修正した新規ソフトウェアモジュールを配信し適用することにより、不具合に対応する。ところが、不具合を利用しようと考える攻撃者に対しても、この更新を促す通知等を手がかりに、新規ソフトウェアモジュールを解析し不具合の発生要因を特定する機会を与えることとなり、不具合を悪用した攻撃プログラムの開発を容易に助長させてしまう。その結果、新規ソフトウェアモジュールが未適用のコンピューティングデバイスは、脅威に晒されることとなる。
【０００９】
また、共通部品による被害拡大リスクを抑制する観点から、同一の機能を目的とするソフトウェアモジュールを複数の開発あるいは提供元（以下、まとめて「ベンダ」と称す）から供給される場合にも、攻撃を受ける可能性のある機器の絶対数を減少させることはできるが、攻撃自体は行われてしまう。また、本来修正が必要であるにもかかわらず修正ソフトウェアモジュールが適用されないまま利用される事態も発生し得る。
【００１０】
コンピューティングデバイスにおいては、さまざまなソフトウェアモジュールが利用される。その中には、他のベンダの提供するソフトウェアモジュールであっても機能が代替可能であるものが含まれる。たとえば、暗号化と復号のモジュール、符号化と復号のモジュール、通信プロトコルスタック、ＸＭＬ（Extensible Markup Language）パーサなどは、コンピューティングデバイスの設計によっては、オペレーティングシステムの中核部分以外のほとんどが代替可能である。
【００１１】
従来の技術では、不具合の発生したソフトウェアモジュールに対する攻撃を防止するためには、アプリケーションあるいはソフトウェアモジュールそのものの利用を停止する手法が用いられていた。ソフトウェアモジュールの利用を停止すると、目的とする機能が利用できなくなる。このため、脅威を認識しつつも使用を続けてしまい、不具合を利用した攻撃による被害を受ける問題や、その情報により攻撃対象となるソフトウェアモジュールの不具合が特定され、他者の攻撃による被害を受ける問題が依然として残される。従来技術でみられる上記その他の問題が、本発明によって対処されるものである。
【００１２】
本発明は、このような事情に鑑みてなされたもので、その目的は、用途に応じたソフトウェアモジュールを選択するシステムにおいて、既存のソフトウェアモジュールの不具合を修正した新規のソフトウェアモジュールをより安全に配信し、既存のソフトウェアモジュールを安全に更新することができるソフトウェアモジュール管理装置およびソフトウェアモジュール管理プログラムを提供することにある。
【課題を解決するための手段】
【００１３】
上述した課題を解決するために、本発明は、所定の被暗号対象データに対して暗号処理を実行する暗号クライアント装置（例えば、本実施形態における暗号クライアント装置１５０）であって、当該暗号処理を行う際の暗号鍵と、前記暗号処理を実行するための暗号モジュールと、当該暗号モジュールに関連付けられた当該暗号モジュールの評価記述ファイルとをそれぞれ記憶する記憶部（例えば、本実施形態における鍵情報ＤＢ１６５）と、前記暗号処理の要求情報を受け付ける暗号処理要求受付部（例えば、本実施形態における暗号処理制御部１５６）と、前記暗号処理要求受付部によって受け付けた要求情報に基づいて、前記記憶部から当該要求情報に応じた暗号鍵を取得する暗号鍵取得部（例えば、本実施形態における鍵情報管理部１６２）と、前記暗号処理要求受付部によって受け付けた要求情報に基づいて、前記記憶部から当該要求情報に応じた暗号評価記述ファイルを取得する暗号評価記述ファイル取得部（例えば、本実施形態における暗号モジュール選定部１５９）と、前記暗号評価記述ファイル取得部によって取得された暗号評価記述ファイルに対応する暗号モジュールを取得し、前記被暗号対象データに対して暗号処理を実行する暗号処理実行部（例えば、本実施形態における暗号実装部１５３）と、前記暗号処理実行部によって実行された暗号済みの被暗号対象データを出力する出力部（例えば、本実施形態における暗号処理制御部１５６）とを具備することを特徴とする。
【００１４】
さらに、本発明は、所定の被暗号対象データに対して暗号処理を実行する暗号クライアント装置（例えば、本実施形態における暗号クライアント装置１５０）と、当該暗号クライアント装置に対して当該暗号処理に適した暗号パッケージを配信する暗号管理サーバ装置（例えば、本実施形態における暗号管理サーバ装置３５０）とがネットワークを介して接続された暗号パッケージ配信システムであって、前記暗号クライアント装置は、前記暗号パッケージの配信要求情報を受け付ける配信要求情報受付部と、前記配信要求情報受付部によって受け付けた配信要求情報を前記暗号管理サーバ装置に送信する配信要求情報送信部とを備え、前記暗号管理サーバ装置は、前記暗号処理を実行するための暗号モジュールと、当該暗号モジュールに関連付けられた当該暗号モジュールの暗号評価記述ファイルとをそれぞれ記憶する記憶部（例えば、本実施形態における暗号モジュールＤＢ３５３、暗号評価ＤＢ３５４）と、前記配信要求情報送信部によって送信された配信要求情報を受信する配信要求情報受付部と、前記配信要求情報受付部によって受信した配信要求情報に基づいて、前記記憶部から当該配信要求情報に応じた暗号評価記述ファイル及び暗号モジュールを取得して暗号パッケージを生成する暗号パッケージ生成部（例えば、本実施形態における配布暗号モジュール選定部３６０、暗号パッケージ配布構成部３７０）と、前記暗号パッケージ生成部によって生成された暗号パッケージを前記暗号クライアント装置に配信する暗号パッケージ配信部（例えば、本実施形態における暗号パッケージ配信制御部３５９）とを具備することを特徴とする。
【００１５】
次に、本発明は、ネットワークを介して接続された暗号クライアント装置に対して所定の暗号処理に適した暗号パッケージを配信する暗号管理サーバ装置であって、前記暗号処理を実行するための暗号モジュールと、当該暗号モジュールに関連付けられた当該暗号モジュールの評価記述ファイルとをそれぞれ記憶する記憶部と、前記暗号クライアント装置から送信された暗号パッケージの配信要求情報を受信する配信要求情報受付部と、前記配信要求情報受付部によって受信した配信要求情報に基づいて、前記記憶部から当該配信要求情報に応じた暗号評価記述ファイル及び暗号モジュールを取得して暗号パッケージを生成する暗号パッケージ生成部と、前記暗号パッケージ生成部によって生成された暗号パッケージを前記暗号クライアント装置に配信する暗号パッケージ配信部とを具備することを特徴とする。
【００１６】
次に、本発明は、所定の被暗号対象データに対して暗号処理を実行する暗号クライアント装置であって、当該暗号処理を行う際の暗号鍵と、前記暗号処理を実行するための暗号モジュールと、当該暗号モジュールの条件情報であるポリシ情報と同一のポリシ情報を有する暗号モジュールの情報を記述した暗号モジュールリンク情報と、前記暗号処理を実行する暗号モジュールを選定するための選定情報とをそれぞれ記憶する記憶部と、前記暗号処理の要求情報を受け付ける暗号処理要求受付部と、前記暗号処理要求受付部によって受け付けた要求情報に基づいて、前記記憶部から当該要求情報に応じた選定情報を取得する選定情報取得部と、前記暗号処理要求受付部によって受け付けた要求情報に基づいて、前記記憶部から当該要求情報に応じた暗号鍵を取得する暗号鍵取得部と、前記選定情報取得部によって取得された選定情報に対応する暗号モジュール及び暗号モジュールリンク情報を前記記憶部から取得し、前記被暗号対象データに対して暗号処理を実行する暗号処理実行部と、前記暗号処理実行部によって実行された暗号済みの被暗号対象データを出力する出力部とを具備することを特徴とする。
【００１７】
次に、本発明は、所定の被暗号対象データに対して暗号処理を実行する暗号クライアント装置と、当該暗号クライアント装置に対して当該暗号処理に適した暗号コンテナを配信する暗号管理サーバ装置とがネットワークを介して接続された暗号コンテナ配信システムであって、前記暗号クライアント装置は、前記暗号コンテナを構成する暗号モジュールの選定依頼情報を受け付ける選定依頼情報受付部と、前記選定依頼情報受付部によって受け付けた選定依頼情報を前記暗号管理サーバ装置に送信する選定依頼情報送信部と、前記暗号コンテナを生成するための暗号コンテナ生成情報を前記暗号管理サーバ装置に送信する暗号コンテナ生成情報送信部とを備え、前記暗号管理サーバ装置は、前記暗号処理を実行するための暗号モジュールと、当該暗号モジュールに関連付けられた当該暗号モジュールの暗号評価記述ファイルとをそれぞれ記憶する記憶部と、前記暗号クライアント装置から送信された選定依頼情報及び暗号コンテナ生成依頼情報をそれぞれ受信する受信部と、前記受信部によって受信した選定依頼情報に基づいて、前記記憶部から当該選定依頼情報に応じた暗号モジュールの暗号評価記述ファイルの識別子を抽出する暗号評価記述ファイル識別子抽出部と、前記暗号評価記述ファイル識別子抽出部によって抽出された識別子に基づいて、前記暗号コンテナの生成要否依頼情報を前記暗号クライアント装置に送信する暗号コンテナ生成要否検討依頼部と、前記暗号コンテナ生成要否検討依頼部によって送信された生成要否依頼情報に対する前記暗号クライアント装置からの回答情報に基づいて、前記抽出された識別子に対応する暗号評価記述ファイル及び暗号モジュールから暗号コンテナを生成する暗号コンテナ生成部と、前記暗号コンテナ生成部によって生成された暗号コンテナを前記暗号クライアント装置に配信する暗号コンテナ配信部とを具備することを特徴とする。
【００１８】
次に、本発明は、ネットワークを介して接続された暗号クライアント装置に対して所定の暗号処理に適した暗号コンテナを配信する暗号管理サーバ装置であって、前記暗号処理を実行するための暗号モジュールと、当該暗号モジュールに関連付けられた当該暗号モジュールの暗号評価記述ファイルとをそれぞれ記憶する記憶部と、前記暗号クライアント装置から送信された前記暗号コンテナを構成する暗号モジュールの選定依頼情報及び当該暗号コンテナの生成依頼情報をそれぞれ受信する受信部と、前記受信部によって受信した選定依頼情報に基づいて、前記記憶部から当該選定依頼情報に応じた暗号モジュールの暗号評価記述ファイルの識別子を抽出する暗号評価記述ファイル識別子抽出部と、前記暗号評価記述ファイル識別子抽出部によって抽出された識別子に基づいて、前記暗号コンテナの生成要否依頼情報を前記暗号クライアント装置に送信する暗号コンテナ生成要否検討依頼部と、前記暗号コンテナ生成要否検討依頼部によって送信された生成要否依頼情報に対する前記暗号クライアント装置からの回答情報に基づいて、前記抽出された識別子に対応する暗号評価記述ファイル及び暗号モジュールから暗号コンテナを生成する暗号コンテナ生成部と、前記暗号コンテナ生成部によって生成された暗号コンテナを前記暗号クライアント装置に配信する暗号コンテナ配信部とを具備することを特徴とする。
【００１９】
さらに、本発明は、端末装置（例えば、本実施形態における暗号クライアント装置１５０、暗号クライアント装置１１００、コンピューティングデバイス１００）における第１のソフトウェアモジュール（例えば、本実施形態における危殆化した暗号モジュール、ソフトウェアモジュールＡ）を第２のソフトウェアモジュール（例えば、本実施形態における修正された暗号モジュール、ソフトウェアモジュールＡ´）に変更する場合における、ソフトウェアモジュールの管理を行うソフトウェアモジュール管理装置（例えば、本実施形態における暗号管理サーバ装置３５０、暗号管理サーバ装置１３５０、ソフトウェアモジュール管理装置３０１）であって、第１のソフトウェアモジュールとは異なる第３のソフトウェアモジュール（例えば、本実施形態における代替モジュール、ソフトウェアモジュールＢ）を記憶する記憶部（例えば、本実施形態における暗号モジュールＤＢ３５３、暗号モジュールＤＢ１３５３、記憶部３１０）と、記憶部に記憶された第３のソフトウェアモジュールを読み出し、読み出した第３のソフトウェアモジュールを、端末装置に配信して第１のソフトウェアモジュールから第３のソフトウェアモジュールに切り替えさせて使用可能状態にさせる第１の配信部と、第１のソフトウェアモジュールとは異なる第２のソフトウェアモジュールが生成された後に、第２のソフトウェアモジュールを端末装置に配信し、第３のソフトウェアモジュールから第２のソフトウェアモジュールに切り替えさせて使用可能状態にさせる第２の配信部と、を有することを特徴とするソフトウェアモジュール管理装置である。
【００２０】
本発明は、端末装置における第１のソフトウェアモジュールを第２のソフトウェアモジュールに変更する場合における、ソフトウェアモジュールの管理を行うソフトウェアモジュール管理装置であって、ソフトウェアモジュールを選択する選択モジュールを記憶する記憶部と、記憶部に記憶された選択モジュールを読み出し、読み出した選択モジュールを、端末装置に配信してソフトウェアモジュールの選択を行わせる第１の配信部と、第１のソフトウェアモジュールとは異なる第２のソフトウェアモジュールが生成された後に、第２のソフトウェアモジュールを端末装置に配信し、選択モジュールによって選択されたソフトウェアモジュールから第２のソフトウェアモジュールに切り替えさせて使用可能状態にする第２の配信部と、を有することを特徴とするソフトウェアモジュール管理装置である。
【００２１】
本発明は、端末装置における第１のソフトウェアモジュールを第２のソフトウェアモジュールに変更する場合における、ソフトウェアモジュールの管理を行うソフトウェアモジュール管理装置であって、ソフトウェアモジュールを選択する基準を示す選定基準を記憶する記憶部と、記憶部に記憶された選定基準を読み出し、読み出した選定基準を、端末装置に配信して当該選定基準に基づくソフトウェアモジュールの選択を行わせる第１の配信部と、第１のソフトウェアモジュールとは異なる第２のソフトウェアモジュールが生成された後に、第２のソフトウェアモジュールを端末装置に配信し、選択モジュールによって選択されたソフトウェアモジュールから第２のソフトウェアモジュールに切り替えさせて使用可能状態にする第２の配信部と、を有することを特徴とするソフトウェアモジュール管理装置である。
【００２２】
本発明は、第２の配信部は、第２のソフトウェアモジュールを配信した後に、第１のソフトウェアモジュールの次に利用しているソフトウェアモジュールの使用を終了させることを特徴とする請求項１から請求項３のうちいずれかに記載のソフトウェアモジュール管理装置である。
【００２３】
本発明は、第１から第３のソフトウェアモジュールは、暗号処理を行う機能を有することを特徴とする請求項１から請求項４のうちいずれかに記載のソフトウェアモジュール管理装置である。
【発明の効果】
【００２４】
以上説明したように、この発明によれば、既存のソフトウェアモジュールを安全に更新することができる。
【図面の簡単な説明】
【００２５】
【図１】本発明の第１の実施形態によるセキュリティ情報通信システムの構成を示すブロック図である。
【図２】本発明の第１の実施形態による暗号クライアント装置の構成を示すブロック図である。
【図３】本発明の第１の実施形態による暗号管理サーバ装置の構成を示すブロック図である。
【図４】本発明の第２の実施形態によるセキュリティ情報通信システムの構成を示すブロック図である。
【図５】本発明の第２の実施形態による暗号クライアント装置の構成を示すブロック図である。
【図６】本発明の第２の実施形態による選定ＤＢのデータ構成例を示す図である。
【図７】本発明の第２の実施形態による暗号モジュールリンクＤＢのデータ構成例を示す図である。
【図８】本発明の第２の実施形態による暗号モジュールＤＢのデータ構成例を示す図である。
【図９】本発明の第２の実施形態による鍵情報ＤＢのデータ構成例を示す図である。
【図１０】本発明の第２の実施形態による暗号処理ＤＢのデータ構成例を示す図である。
【図１１】本発明の第２の実施形態によるデータベースの論理構成を示す図である。
【図１２】本発明の第２の実施形態による暗号管理サーバ装置の構成を示すブロック図である。
【図１３】本発明の第３の実施形態によるソフトウェアモジュール管理装置の構成を示すブロック図である。
【図１４】本発明の第３の実施形態によるコンピューティングデバイスの構成を示すブロック図である。
【図１５】本発明の第３の実施形態による更新可能なソフトウェアモジュールの構成を示すブロック図である。
【図１６】本発明の第３の実施形態によるセキュリティ情報通信システムの構成を示す図である。
【図１７】本発明の第３の実施形態によるコンピューティングデバイスの構成を示す図である。
【図１８】従来技術による修正ソフトウェアモジュールの配信動作例を示す図である。
【図１９】本発明の第３の実施形態による修正ソフトウェアモジュールの配信動作例を示す図である。
【図２０】本発明の第１の実施形態による暗号クライアント装置の暗号処理動作例を示す図である。
【図２１】本発明の第１の実施形態による暗号クライアント装置の暗号処理フロー例を示す図である。
【図２２】本発明の第１の実施形態による暗号評価ＤＢの構成例を示す図である。
【図２３】本発明の第１の実施形態による暗号実装ＤＢの構成例を示す図である。
【図２４】本発明の第１の実施形態による暗号処理情報ＤＢと鍵情報ＤＢの構成例を示す図である。
【図２５】本発明の第１の実施形態による暗号パッケージの配信動作例を示す図である。
【図２６】本発明の第１の実施形態による暗号パッケージの配信処理フロー例を示す図である。
【図２７】本発明の第２の実施形態による暗号クライアント装置の暗号処理動作例を示す図である。
【図２８】本発明の第２の実施形態による暗号クライアント装置の暗号処理フロー例を示す図である。
【図２９】本発明の第２の実施形態による最適暗号の問い合わせ処理を示す図である。
【図３０】本発明の第２の実施形態による最適暗号の問い合わせ処理フロー例を示す図である。
【図３１】本発明の第２の実施形態による暗号モジュールの配信処理を示す図である。
【図３２】本発明の第２の実施形態による暗号モジュールの配信処理フロー例を示す図である。
【発明を実施するための形態】
【００２６】
以下、本発明の一実施形態によるソフトウェアモジュール管理装置（図１で示す暗号管理サーバ装置のこと）を含むシステム（以下、「第１実施形態における本システム」という）について図面を参照して説明する。
【００２７】
まず、第１実施形態における本システムの概要について説明する。第１実施形態における本システムにおいては、サーバとクライアント装置とが接続され、サーバとクライアント装置間において暗号モジュールを用いて暗号化された情報を送受信することが可能なシステムである。ここで、暗号モジュールを定期的に切り替えることも可能である。このような、暗号モジュールを切り替え可能な暗号システムとしては、暗号の手法ごとに暗号方式に依存しないインターフェースを規定し、各暗号ベンダが実装可能なフレームワークがいくつか存在する。例えば、Ｍｉｃｒｏｓｏｆｔ（登録商標）のＣｒｙｐｔＡＰＩやＳｕｎ（登録商標）のＪＣＡ（Java（登録商標） Cryptographic Architecture)／ＪＣＥ（Java（登録商標） Cryptographic Extensions）やＯｐｅｎ  Ｇｒｏｕｐ（登録商標）のＣＤＳＡ（Common Data Security Architecture）などがある。
【００２８】
これらのフレームワークでは、暗号化／復号、署名生成／検証、認証子生成／検証などの暗号の手法ごとに暗号モジュールにアクセスするインターフェースを規定し、インターフェースに従って、例えば、ＤＥＳ（Data Encryption Standard）、ＡＥＳ（Advanced Encryption Standard）などの暗号方式を実装することが可能になっている。そして、暗号やセキュリティの専門家がシステム構築時に、これらの実装された暗号の中から適切な暗号方式をあらかじめ選択し、いずれの暗号方式を利用するかを示す暗号方式パラメータをフレームワークに入力して、暗号方式を切り替えることが可能である。
【００２９】
このようなフレームワークを利用する場合、アプリケーションシステムの運用上のセキュリティポリシが変更された場合、暗号やセキュリティの専門家が、再度システムに適した暗号方式を選定する必要があり、暗号やセキュリティの専門家の人材リソースの問題やコストの問題に直面する。また、既存の暗号方式の不備が発見されたり、新しい暗号が発表されたりした際に、運用中のシステムに対して、暗号方式の変更をスムーズに適用するのが難しい。さらには、セキュリティを実施する環境に応じて、必要なセキュリティ強度や処理速度などが違う場合に、最適なセキュリティを実現することも、従来システムでは難しい問題である。
【００３０】
第１実施形態における本システムにおいては、発明の切り替えが可能な暗号システムでは、この問題についても解決することが可能である。
【００３１】
＜第１の実施形態＞
図１は、本発明の第１の実施形態における本システムの構成を示す概略ブロック図である。
【００３２】
第１実施形態における本システムは、暗号モジュール３０８と暗号評価記述ファイル３０９とを含む暗号パッケージ３０７を送信する暗号管理サーバ装置３５０と、受信した暗号パッケージ３０７を用いて暗号処理を行う暗号クライアント装置１５０とから構成される。暗号評価記述ファイル３０９に記述される暗号の評価とは、対応する暗号モジュール３０８の暗号方式の信頼度や強度等が数値化された情報であり、例えば、暗号クライアント装置１５０などの端末装置上に実装している暗号方式の安全性や暗号の処理速度、暗号に利用可能な鍵長などである。
【００３３】
暗号管理サーバ装置３５０は、暗号モジュール３０８を蓄積した暗号モジュールＤＢ３５３と、暗号評価記述ファイル３０９を蓄積した暗号評価ＤＢ３５４と、暗号モジュールＤＢ３５３と暗号評価ＤＢ３５４との管理を行う暗号管理部３５１と、暗号モジュールＤＢ３５３と暗号評価ＤＢ３５４とに新規の情報を登録する暗号登録部３５５と、暗号クライアント装置１５０の要求に応じて最適な暗号パッケージ３０７を暗号モジュールＤＢ３５３と暗号評価ＤＢ３５４とから読み出して送信する暗号配信部３５２とを備える。
【００３４】
暗号クライアント装置１５０は、暗号制御マネージャ部１５２を介して暗号実装部１５３が提供する暗号機能を呼び出して利用するアプリケーションやミドルウェアである上位システム部１５１と、暗号管理サーバ装置３５０から送信された暗号パッケージ３０７の受信や暗号実装部１５３から提供される暗号機能の切り替えを行う暗号制御マネージャ部１５２と、主要な暗号方式による暗号処理をハードウェアとして実現した耐タンパーな暗号ハードウェア部４５０と、暗号方式を実装した暗号モジュール３０８が実行可能・利用可能な状態にされて暗号機能を提供する暗号実装部１５３とから構成される。暗号管理サーバ装置３５０は、暗号クライアント装置１５０からの要求に基づき、暗号の初期登録・配信・更新の３つの手順を行うことで、適切な暗号パッケージ３０７を暗号クライアント装置１５０に送信する。
【００３５】
ここで、暗号の初期登録とは、暗号クライアント装置１５０が暗号モジュール３０８を有せず、暗号実装部１５３が存在しない場合に、暗号クライアント装置１５０の暗号ハードウェア部４５０を利用して、利用上必要不可欠な暗号モジュール３０８を暗号管理サーバ装置３５０から暗号実装部１５３に安全に送信することである。
【００３６】
暗号の配信とは、暗号管理サーバ装置３５０が、暗号クライアント装置１５０から受信した暗号要求に応じて、適切な暗号モジュール３０８または暗号パッケージ３０７を選定して暗号クライアント装置１５０に送信することである。暗号要求は暗号に関する条件情報を含む。この条件情報は、暗号化や署名生成などの暗号方式の分類（暗号のカテゴリ）、暗号モジュール３０８を作成したメーカ、暗号モジュール３０８が動作するハードウェアの情報、および暗号の評価情報などがある。暗号の評価情報は、本実施形態例のように、暗号評価記述ファイル３０９として、暗号モジュール３０８とは独立したファイルとして扱われることとしても良い。
【００３７】
暗号の更新とは、新規の暗号モジュール３０８を登録したり、危殆化した暗号方式を利用した該当する暗号モジュール３０８を削除したり、暗号モジュール３０８のバグを発見し既存の暗号モジュール３０８とその暗号モジュール３０８が実行されている暗号実装部１５３を更新したり、計算機の処理速度の高速化等に伴って暗号の評価を変更した際に、暗号管理サーバ装置３５０上の暗号モジュールＤＢ３５３や暗号評価ＤＢ３５４に記憶された情報を更新し、この更新した暗号パッケージ３０７の情報を、暗号クライアント装置１５０に対して定期的に送信したり、暗号クライアント装置１５０からの要求に基づいて送信し、暗号管理サーバ装置３５０が新しい暗号モジュール３０８を送信することや既存の暗号実装部１５３が動作できなくなったことを通知することである。
【００３８】
図２は、暗号クライアント装置１５０の詳細な構成図である。暗号制御マネージャ部１５２は、暗号処理情報ＤＢ１５７を持つ暗号処理制御部１５６と、暗号モジュールＤＢ１６４と、暗号評価ＤＢ１６３と、暗号モジュール選定ポリシ１５８とハードウェアプロファイル１６０とを持つ暗号モジュール選定部１５９と、鍵情報ＤＢ１６５と、その鍵情報ＤＢ１６５へのアクセス制御ポリシが記述されたアクセス制御ポリシ１６１を持つ鍵情報管理部１６２と、暗号制御マネージャポリシ１６７を持つ暗号管理部１６６と、暗号ハードウェア部４５０と通信を行う暗号ハードウェア管理制御部１７０と、外部との通信を行う通信機能１５５と、通信機能１５５と連携するアルゴリズムネゴシエーション部１６８と、通信機能１５５と連携するセキュア通信管理部１６９とから構成される。
【００３９】
暗号処理制御部１５６は、上位システム部１５１からの暗号処理呼び出しに基づき、鍵生成処理、鍵登録処理、暗号処理を行う。
【００４０】
鍵生成処理の場合、暗号処理制御部１５６は、上位システム部１５１から指定された暗号方式、鍵長、暗号方式パラメータを暗号処理情報ＤＢ１５７に登録した際の暗号処理の識別子により、指定された暗号方式に対する暗号モジュール３０８を暗号モジュール選定部１５９により選定するように制御（依頼・指示）する。
【００４１】
暗号処理制御部１５６が、選定された暗号モジュール３０８をメモリ上にロードし暗号実装部１５３として実行状態にさせる。暗号処理制御部１５６が、指定された暗号処理の識別子に対応する鍵生成のための暗号方式パラメータを鍵情報管理部１６２経由で鍵情報ＤＢ１６５から引き出す。暗号処理制御部１５６が、指定された鍵長と引き出した暗号方式パラメータで暗号実装部１５３を呼び出すと、暗号実装部１５３は鍵情報を生成する。暗号処理制御部１５６は、生成された鍵情報を受け取る。暗号処理制御部１５６は、暗号実装部１５３が生成した鍵情報を鍵情報管理部１６２経由で鍵情報ＤＢ１６５に登録してその鍵情報に対応する鍵識別子を受け取り、処理結果として新しく発行した暗号処理の識別子と鍵識別子の関連付けを暗号処理情報ＤＢ１５７に保存し、暗号処理の識別子を上位システム部１５１に返す。
【００４２】
鍵登録の場合、暗号処理制御部１５６は、上位システム部１５１から指定された鍵情報を、鍵情報管理部１６２を経由して鍵情報ＤＢ１６５に登録して鍵識別子を受け取り、処理結果として新しく発行した暗号処理の識別子と鍵識別子の関連付けを暗号処理情報ＤＢ１５７に保存し、暗号処理の識別子を上位システム部１５１に返す。
【００４３】
暗号処理の場合、上位システム部１５１から指定された暗号に関する条件情報と暗号処理対象データ（平文）と鍵生成または鍵登録を行った際に受け取った暗号処理の識別子とを受け取り、暗号に関する条件情報を参照して適切な暗号モジュール３０８を暗号モジュール選定部１５９により選定するように制御し、選定された暗号モジュール３０８をメモリ上にロードして暗号実装部１５３として実行させ、指定された暗号処理の識別子に対応する鍵情報を鍵情報管理部１６２経由で鍵情報ＤＢ１６５から引き出し、指定された暗号処理対象データと引き出した鍵情報とを、呼び出した暗号実装部１５３に入力し、対応して処理された暗号データを受け取り、処理結果として新しく発行した暗号処理の識別子と鍵識別子の関連付けを暗号処理情報ＤＢ１５７に保存し、暗号処理の識別子を返す。暗号処理の際に利用した鍵情報などを暗号処理の識別子に結びつけることにより、暗号処理の再実行や復号を簡単に実施することができるようにする。
【００４４】
暗号モジュールＤＢ１６４は、暗号管理サーバ装置３５０から受信した暗号モジュール３０８を格納する記憶部である。
【００４５】
暗号評価ＤＢ３５４は、暗号管理サーバ装置３５０から受信した暗号評価記述ファイル３０９を格納する記憶部である。
【００４６】
暗号モジュール選定部１５９は、暗号化や署名生成などの暗号のカテゴリ、暗号モジュール３０８を作成したメーカ、暗号モジュール３０８が動作するハードウェアの情報、および、暗号の評価情報などの暗号に関する条件情報を、上位システム部１５１からの入力を元に、暗号モジュールＤＢ１６４が記憶している暗号モジュール３０８の中から一番適切な暗号モジュール３０８を選定する。暗号モジュール３０８の選定にあたっては、暗号クライアント装置１５０のハードウェア情報を記述したハードウェアプロファイル１６０に適合するものの中から選び、かつ、暗号クライアント装置１５０を利用する利用者のポリシを記述した暗号モジュール選定ポリシ１５８にも従うようにする。
【００４７】
ハードウェアプロファイル１６０とは、例えば、暗号クライアント装置１５０のＣＰＵアーキテクチャ、ＣＰＵクロック、搭載メモリ量などの情報を含む情報である。暗号モジュール選定ポリシ１５８とは、例えば、入力条件により選定された暗号が複数ある場合に利用者が優先したい条件、利用者が優先的に利用したい暗号のメーカ、利用者が利用禁止にしたい暗号方式などを含む情報である。
【００４８】
このように、暗号モジュール選定部１５９は、上位システム部１５１からの入力情報と、ハードウェアプロファイル１６０と、暗号モジュール選定ポリシ１５８とを参照して、入力情報に一致する暗号モジュール３０８を選定する。暗号モジュール選定部１５９が暗号モジュール３０８を一意に選定した場合には、選定した暗号モジュール３０８を暗号モジュールＤＢ１６４から取り出す。暗号モジュール選定部１５９は、暗号モジュール３０８が一意に選定できなかった場合は、エラーを出力する。
【００４９】
鍵情報管理部１６２は、暗号実装部１５３を呼び出す際に指定される鍵情報や暗号方式パラメータなどの情報を鍵情報ＤＢ１６５へデータを記憶させ、または読み出す。鍵情報管理部１６２は、指定される鍵情報や暗号方式パラメータの情報がひとつではない場合、複数の情報をひとつにまとめて引き出せるように関連付けを行って、鍵情報ＤＢ１６５に登録する。また、鍵情報管理部１６２は、鍵情報ＤＢ１６５から鍵情報や暗号方式パラメータを引き出す際には、暗号モジュール選定ポリシ１５８に従い、複数ある上位システム部１５１からの鍵情報へのアクセス制御を行う。
【００５０】
鍵情報管理部１６２は、上位システム部１５１から指定されたクレデンシャル（アクセスのための鍵やパスワードなど）とアクセスしたい鍵識別子と鍵識別子に関連付けられた暗号処理の識別子とにより、そのクレデンシャルの正当性を検証する。鍵情報管理部１６２は、クレデンシャルの持ち主に対してアクセス可能な鍵情報ＤＢ１６５の鍵情報の規定を記述したアクセス制御ポリシ１６１に基づき、アクセス可否を判定し、アクセス可ならば、暗号処理の識別子に対応する鍵識別子を鍵情報ＤＢ１６５から引き出し、鍵識別子に対応する鍵情報や暗号方式パラメータを引き出し、上位システム部１５１にこれを返す。一方、アクセス不可ならば、上位システム部１５１にエラーを返す。
【００５１】
暗号管理部１６６では、通信機能１５５を介して暗号管理サーバ装置３５０と通信を行い、暗号の初期登録・配信・更新の手順に従って、暗号パッケージ３０７等の受信を行う。暗号管理部１６６が暗号管理サーバ装置３５０から暗号パッケージ３０７等を受信する際には、暗号制御マネージャポリシ１６７の内容に従って処理する。暗号制御マネージャポリシ１６７の内容は、例えば、以下の５つである。１つめは、暗号管理サーバ装置３５０との通信におけるサーバ認証の実施可否である。２つめは、暗号管理サーバ装置３５０からの暗号パッケージ３０７等の受信時の暗号化可否である。３つめは、暗号管理サーバ装置３５０からの暗号パッケージ３０７等の受信時の改ざん検出子（ＭＡＣ（Message Authentication Code））付加可否である。４つめは、受信した暗号パッケージ３０７等の認証子の検証実施可否である。５つめは、暗号評価ＤＢ１６３と暗号モジュールＤＢ１６４とに記憶された暗号パッケージ３０７を定期的に更新可否や更新頻度などを示す定期更新に関する設定情報、などとする。
【００５２】
暗号ハードウェア管理制御部１７０は、暗号ハードウェア部４５０と通信を行い、暗号管理サーバ装置３５０から、暗号の初期登録の手順に従って暗号パッケージ３０７の受信を行う。暗号パッケージ３０７の受信の際には、暗号パッケージ３０７自身が暗号化されている場合、暗号ハードウェア部４５０にて暗号パッケージ３０７を復号する。また、暗号モジュール３０８に改ざん検出子が付加されていることを検出すると、暗号ハードウェア部４５０が暗号モジュール３０８の改ざん検出を行う。
【００５３】
アルゴリズムネゴシエーション部１６８は、通信機能１５５と連携し、２つの暗号クライアント装置間で安全な通信セッションを構築する事前に、通信セッションの構築で利用する暗号方式、通信セッションで利用する暗号方式の調停を行う。暗号方式の調停を行う際には、以下の４つの調停方法のいずれかで調停を行えるようにする。
【００５４】
第１の調停方法は、自身の暗号モジュールＤＢ１６４に記憶された暗号モジュール３０８が提供する暗号方式群のみからアルゴリズムネゴシエーション部１６８が一方的に暗号方式を決定する。自身のアルゴリズムネゴシエーション部１６８は、上位システム部１５１から指定された１つ以上の暗号方式の分類（暗号のカテゴリ）、暗号制御マネージャポリシ、ハードウェアプロファイル、暗号に関する条件情報から、暗号評価ＤＢ１６３と暗号モジュールＤＢ１６４とを参照して適切な暗号モジュール３０８を選定し、暗号方式を決定する。暗号方式の分類が複数指定された場合は、個々の暗号方式の分類ごとに選定を行い、暗号方式を決定する。
【００５５】
このとき、アルゴリズムネゴシエーション部１６８は、上位システム部１５１から暗号方式が未決定である暗号方式の分類が指定された場合は、指定された暗号に関する条件情報を参照して暗号の配信の手順を行い暗号管理サーバ装置３５０から暗号モジュール３０８を受信し、その暗号モジュール３０８の暗号方式を結果とする。それでも未決定の場合は、アルゴリズムネゴシエーション部１６８は、上位システム部１５１にエラーを返す。
【００５６】
アルゴリズムネゴシエーション部１６８が暗号方式を決定すると、上位システム部１５１から指定された相手方の暗号制御マネージャ部１５２の宛先に対して、暗号方式調停方法番号と、結果として出力された暗号方式の分類と暗号方式の対応群と、暗号モジュール３０８が足りない場合の暗号管理サーバ装置３５０からの受信可否に関する情報を送信する。受信した相手方の暗号制御マネージャ部１５２は、指定された暗号方式の暗号モジュール３０８を所持しているかを暗号評価ＤＢ１６３および暗号モジュールＤＢ１６４から検索し、すべての暗号方式に対して適切な暗号モジュール３０８が存在する場合には通信可能である返信を行う。
【００５７】
相手方の暗号制御マネージャ部１５２は、存在しない暗号モジュール３０８があった場合、暗号管理サーバ装置３５０からの受信可否に関する情報に従って処理する。すなわち、受信可の場合は、暗号の配信の手順に従って、暗号方式に対する暗号モジュール３０８を受信し、受信完了後、通信可能である返信を行う。受信不可の場合や、受信可の場合でも適切な暗号モジュール３０８が受信できなかった場合、通信不可能である返信を行う。自身の暗号制御マネージャ部１５２は、相手方の暗号制御マネージャ部１５２からの返信を上位システム部１５１に転送する。
【００５８】
第２の調停方法は、相手方の暗号制御マネージャ部１５２が保持する暗号方式群のみから相手の暗号制御マネージャ部１５２が一方的に暗号方式を決定する。これは上記第１の調停方法と対称の処理となり同様の手順である。
【００５９】
第３の調停方法は、双方の暗号制御マネージャ部１５２が保持する暗号方式群から自身の暗号制御マネージャ部１５２が共通の暗号方式を決定する。
【００６０】
自身の暗号制御マネージャ部１５２のアルゴリズムネゴシエーション部１６８は、上位システム部１５１から指定された１つ以上の暗号方式の分類（暗号のカテゴリ）、相手方の暗号制御マネージャ部１５２の宛先から、相手方の暗号制御マネージャ部１５２に対して暗号方式調停方法番号、暗号方式の分類を送信する。相手方の暗号制御マネージャ部１５２は、受信した暗号方式の分類、ハードウェアプロファイルから、暗号評価ＤＢ１６３および暗号モジュールＤＢ１６４を参照して該当するすべての暗号モジュール３０８を選び、選んだすべての暗号モジュール３０８が対応する暗号方式一覧を作成する。
【００６１】
この際、相手方の暗号制御マネージャ部１５２は、暗号方式の分類が複数指定された場合は、個々の暗号方式の分類ごとに暗号モジュール３０８を選び、暗号方式一覧を作成する。相手方の暗号制御マネージャ部１５２は、暗号方式の分類ごとの暗号方式一覧を自身の暗号制御マネージャ部１５２に送信する。暗号方式の分類ごとの暗号方式一覧を受信した自身の暗号制御マネージャ部１５２は、上位システム部１５１から指定された１つ以上の暗号方式の分類（暗号のカテゴリ）、暗号制御マネージャポリシ、ハードウェアプロファイル、暗号に関する条件情報から、暗号評価ＤＢ１６３および暗号モジュールＤＢ１６４を参照して適切な暗号モジュール３０８を選定し、選定した暗号モジュール３０８から暗号方式を決定する。
【００６２】
この際、暗号制御マネージャ部１５２は、暗号方式の分類が複数指定された場合は、個々の暗号方式の分類ごとに選定を行い、暗号方式を決定する。例えば、次の場合、暗号方式の分類に対する暗号方式は決定されたとする。まず、自身の暗号制御マネージャ部１５２で選定した暗号方式が暗号方式一覧に存在する場合。次に、自身の暗号制御マネージャ部１５２が受信した暗号方式一覧のいずれかの暗号方式に対応する暗号モジュール３０８を所持している場合。それ以外の場合、暗号方式の分類に対する暗号方式は未決定とする。
【００６３】
暗号制御マネージャ部１５２は、未決定の暗号方式の分類がある場合、受信した暗号方式一覧のいずれかを指定して、暗号の配信の手順に従い、暗号管理サーバ装置３５０から暗号モジュール３０８を受信する。暗号制御マネージャ部１５２は、対応する暗号モジュール３０８を受信できるまで暗号方式一覧のすべての暗号方式について同様の処理を繰り返す。それでも未決定の場合、該当の暗号方式の分類に関する暗号方式は未決定とする。すべての暗号方式の分類に対して、上記の処理が完了したら、相手方の暗号制御マネージャ部１５２に対して、すべての暗号方式の分類に対する暗号方式の決定／未決定を送信する。
【００６４】
第４の調停方法は、双方の暗号制御マネージャ部の保持する暗号方式群から相手方の暗号制御マネージャ部１５２に共通の暗号方式を決定する。これは第３の調停方法の場合と対称の処理となり同様の手順である。
【００６５】
アルゴリズムネゴシエーション部１６８は、以上の４つの調停方法のいずれかで調停を行う。
【００６６】
セキュア通信管理部１６９は、通信機能１５５と連携し、他の暗号クライアント装置１５０との間で安全な通信セッションを構築する。セキュア通信管理部１６９は、安全なセッションを構築する際には、アルゴリズムネゴシエーション部１６８により、通信セッション構築で利用するための暗号方式と通信セッションで利用するための暗号方式を決定した後に、セッション鍵共有を行う。安全な通信セッションの構築後は、決定した暗号方式に従い、セッション鍵を利用して、通信データの暗号化や通信データの改ざん防止のための認証子の付加を行うことができるようにする。また、セキュア通信管理部１６９は、一度、構築した通信セッションは、一定時間内は再利用できるように、通信セッションの保持を行うことができるようにする。
【００６７】
セキュア通信管理部１６９は、上位システム部１５１から指定された通信相手の宛先にセキュア接続要求を送信し、セキュア接続の開始を通知する。次に、セキュア通信管理部１６９は、事前にアルゴリズムネゴシエーション部１６８が決定した暗号方式の分類に従ってセキュア接続を確立する。暗号方式の分類には、例えば、認証、鍵共有、共通鍵情報暗号化（ストリーム暗号あるいはブロック暗号）、公開鍵暗号、データ認証（ＭＡＣ認証または署名認証）、擬似乱数生成（ストリーム暗号および公開鍵暗号の場合のみ）、セッション鍵導出、ＭＡＣ鍵導出（ＭＡＣ認証の場合のみ）、などの分類がある。セキュア通信管理部１６９は、セキュア接続に認証が必要な場合、認証処理を行う。
【００６８】
次に、セキュア通信管理部１６９は、鍵共有処理により鍵の共有を行い、セキュアセッションを確立する。ただし、公開鍵暗号の暗号方式が調停されている場合、鍵共有処理は行わない。公開鍵暗号なしで暗号化通信を行う場合には、共有した鍵からセッション鍵導出方式により、セッション鍵を作成し、共通鍵情報暗号化方式に従って送信したいデータを暗号化し、暗号化データを相手に送信する。通信相手は、同様の方法でセッション鍵を作成し、共通鍵情報暗号化方式に従って受信したデータを復号する。
【００６９】
セキュア通信管理部１６９は、公開鍵暗号ありで暗号化通信を行う場合には、擬似乱数生成方式に従ってランダムなセッション鍵を作成し、共通鍵情報暗号化方式に従ってセッション鍵で送信したいデータを暗号化し、信頼機関から通信相手の公開鍵を受信し、公開鍵暗号方式に従って通信相手の公開鍵でセッション鍵自体を暗号化し、暗号化データと暗号化セッション鍵を相手に送信する。通信相手は、自分の秘密鍵で暗号化セッション鍵を復号し、共通鍵情報暗号化方式に従ってセッション鍵で受信したデータを復号する。
【００７０】
セキュア通信管理部１６９は、データ認証子付き通信を行う場合であってＭＡＣ認証の場合、共有した鍵からＭＡＣ鍵導出方式により、ＭＡＣ鍵を作成し、ＭＡＣ認証方式に従って送信したいデータにＭＡＣデータを付加し、ＭＡＣ付きデータを相手に送信する。通信相手は、同様の方法でＭＡＣ鍵を作成し、ＭＡＣ認証方式に従って受信したデータのＭＡＣを検証する。
【００７１】
セキュア通信管理部１６９は、データ認証子付き通信を行う場合で署名認証の場合、自分の秘密鍵で署名を付加し、署名付きデータを相手に送信する。通信相手は、相手の公開鍵が登録されている信頼機関から通信相手の公開鍵を受信し、相手の公開鍵の正当性を検証し、検証が正しく終了した場合、署名認証方式に従って相手の公開鍵で受信した署名付きデータを検証する。
【００７２】
図３は、暗号管理サーバ装置３５０の詳細な構成図である。暗号管理サーバ装置３５０は、暗号モジュールＤＢ３５３と、暗号評価ＤＢ３５４と、暗号モジュールＤＢ３５３と暗号評価ＤＢ３５４とに記憶された情報の読み出しや更新等の処理を行う暗号管理部３５１と、暗号モジュールＤＢ３５３と暗号評価ＤＢ３５４とに情報の登録を行う暗号登録部３５５と、暗号クライアント装置１５０へ暗号の送信を行う暗号配信部３５２とから構成される。
【００７３】
暗号モジュールＤＢ３５３は、予め記憶するかユーザによって入力される暗号モジュール３０８を記憶するデータベースである。
【００７４】
暗号評価ＤＢ３５４は、予め記憶するかユーザに入力される暗号評価記述ファイル３０９を記憶するデータベースである。
【００７５】
暗号管理部３５１は、暗号管理サーバ装置３５０のユーザに対して、暗号モジュールＤＢ３５３と暗号評価ＤＢ３５４に格納された暗号モジュール３０８や暗号パッケージ３０７の検索、暗号評価部の内容表示、管理している暗号のリスト表示、既存の暗号の更新、既存の暗号の削除、新規の暗号の登録、暗号配信部の起動／終了を行うインターフェースを備える。暗号管理部３５１は、新規の暗号を登録する場合は、暗号登録部３５５へ登録依頼を行う。
【００７６】
暗号登録部３５５は、暗号パッケージ登録部３５７と複合型記述生成部３５８とを備えている。
【００７７】
暗号配信部３５２は、暗号パッケージ配信制御部３５９と、配布ポリシ３７１を持つ暗号パッケージ配布構成部３７０と、配布ポリシ３７１を持つ配布暗号モジュール選定部３６０とを備える。
【００７８】
暗号パッケージ配信制御部３５９は、暗号クライアント装置１５０からの要求を解釈し、暗号の初期登録・配信・更新の３つの手順を実施する待ち受けサービスを実行する。また、この待ち受けサービスは、処理内容のログを記録する。
【００７９】
配布暗号モジュール選定部３６０では、暗号の初期登録・配信・更新の３つの手順と暗号クライアント装置１５０からの要求に基づき、配信に適切な暗号モジュール３０８を選定する。暗号の初期登録の場合、配信する暗号モジュール３０８は、利用上必要不可欠であると規定し、配布ポリシ３７１に記述された暗号方式である。
【００８０】
暗号パッケージ配布構成部３７０では、配布暗号モジュール選定部３６０で選定された暗号モジュール３０８を元に、配布ポリシ３７１に従って、暗号モジュール３０８と、暗号モジュール３０８に対応する暗号評価記述ファイル３０９とを暗号パッケージ３０７として配布可能な形にするための構成処理を行う。配布ポリシ３７１は、例えば、以下の４つの項目が記述されている。
【００８１】
第１の項目は、暗号パッケージ３０７の配布の際の暗号化の可否である。第２の項目は、暗号パッケージ３０７の暗号化の暗号方式である。第３の項目は、暗号パッケージ３０７の配布の際の改ざん検出子の付加の可否である。第４の項目は、暗号パッケージ３０７の改ざん検出子の暗号方式である。
【００８２】
暗号パッケージ配布構成部３７０が行う構成処理では、暗号評価ＤＢ３５４に格納された内容を暗号評価記述ファイル３０９として特定の形式で生成し、暗号パッケージ３０７に対して暗号管理サーバ装置３５０が配布認定する目的で認証子を付加し、暗号モジュール３０８と暗号評価記述ファイル３０９とをペアにして、暗号パッケージ３０７としてまとめる。
【００８３】
また、暗号パッケージ配布構成部３７０は、複数の暗号モジュール３０８を組み合わせた暗号モジュール３０８を、複数の暗号モジュール３０８とそれぞれに対応する暗号評価記述ファイル３０９とをまとめて１つの暗号パッケージとしても良い。また、暗号パッケージ配布構成部３７０が行う構成処理では、暗号クライアント装置１５０の暗号制御マネージャポリシや暗号管理サーバ装置３５０の配布ポリシ３７１に従って、暗号パッケージ３０７の暗号化および改ざん検出子の付加、そのための鍵生成と鍵管理を行う。
【００８４】
ここで、本発明の第１の実施形態による、暗号クライアント装置１５０内で上位システム部１５１からの暗号処理要求に対して、暗号処理制御部１５６が最適な暗号モジュールを選定し、暗号処理を実行、暗号処理結果を上位システム部１５１へ出力する暗号処理動作を示す。図２０は、本発明の第１の実施形態による暗号クライアント装置の暗号処理動作例を示す図である。図２１は、本発明の第１の実施形態による暗号クライアント装置の暗号処理フロー例を示す図である。図２２は、本発明の第１の実施形態による暗号評価ＤＢの構成例を示す図である。図２３は、本発明の第１の実施形態による暗号実装ＤＢの構成例を示す図である。図２４は、本発明の第１の実施形態による暗号処理情報ＤＢと鍵情報ＤＢの構成例を示す図である。
【００８５】
サポートモードは、共通鍵暗号の動作モードや、サポートしている規格名といった情報である。例えば、ECDSA方式では、SECG SEC1のv1.0をサポートしている等である。暗号処理情報ＤＢにある、暗号評価記述ファイルＩＤ（暗号処理）とは、当該暗号処理に利用した暗号モジュールに対応する暗号評価記述ファイルＩＤである。また、暗号処理情報ＤＢにある、暗号評価記述ファイルＩＤ（鍵生成）とは、当該暗号処理に用いた暗号鍵を暗号処理ＤＢ１５７に追加登録した際に関連づけた暗号評価記述ファイルＩＤ、または当該暗号鍵を当該暗号制御マネージャ部１５２で鍵生成を実行した際に利用した暗号モジュールに対応する暗号評価記述ファイルＩＤである。
【００８６】
本発明の第１の実施形態による暗号クライアント装置の暗号処理動作の一例を次に示す。上位システム部１５１は、暗号処理の対象となるデータ及び暗号処理のカテゴリの識別子を含む暗号処理要求情報を入力として暗号処理制御部１５６に暗号処理を要求する（ステップＳ１）。暗号処理制御部１５６は、上位システム部１５１からの暗号処理要求情報に応じた鍵情報を鍵情報管理部１６２に要求する（ステップＳ２）。鍵情報管理部１６２は鍵情報ＤＢ１６５から当該鍵情報を取得し、暗号処理制御部１５６へ出力する（ステップＳ３）。
【００８７】
暗号処理制御部１５６は、暗号モジュール選定部１５９に上位システム部１５１からの暗号処理要求情報を入力し、最適な暗号モジュールの選定を依頼する（ステップＳ４）。暗号モジュール選定部１５９は、ハードウェアプロファイル１６０や暗号モジュール選定ポリシ１５８を読み込む。暗号評価ＤＢの暗号評価標準ファイルを適宜読み出し、当該暗号処理に最適な暗号モジュールを選定する。暗号モジュール選定部１５９は、選定した暗号モジュールに対応する暗号評価記述ＩＤを含む選定結果を暗号処理制御部１５６に出力する（ステップＳ５）。
【００８８】
暗号処理制御部１５６は、選定された暗号モジュールが当該暗号クライアント装置１５０内に存在しない場合は、上位システム部へエラー出力し、処理を完了する（ステップＳ６、ステップＳ１１）。選定された暗号モジュールが当該暗号クライアント装置１５０内に存在する場合は、暗号処理制御部１５６は、暗号モジュール選定部１５９で選定された暗号モジュールを暗号実装部１５３としてメモリにロードする。
【００８９】
暗号処理制御部１５６は、鍵情報管理部１６２で出力された上記鍵情報や暗号処理対象データを入力して暗号実装部１５３に暗号処理を要求する（ステップＳ６、ステップ７）。暗号実装部１５３は、暗号処理対象データに対する暗号処理結果を暗号処理制御部１５６に出力する（ステップＳ８）。
【００９０】
暗号処理制御部１５６は、鍵情報管理部１６２から得られた鍵情報、暗号モジュール選定部１５９から得られた選定結果情報を含む、当該暗号処理の実行環境情報を当該暗号処理に対して発行した暗号処理ＩＤを関連づけて暗号処理条件情報として暗号処理情報ＤＢに登録する（ステップＳ９）。暗号処理制御部１５６は、暗号処理ＩＤ及び暗号処理対象データに対する暗号処理結果データを含む暗号処理結果情報を上位システム部１５１に出力する（ステップＳ１０）。
【００９１】
暗号クライアント装置１５０に上位システム部１５１からの暗号処理要求や当該暗号管理ドメイン及び暗号クライアント装置１５０のセキュリティポリシに最適な暗号モジュールが存在しない場合、当該暗号モジュール及び対応する暗号評価記述ファイルを含む暗号パッケージを暗号管理サーバ装置３５０から取得する。図２５は、本発明の第１の実施形態による暗号パッケージの配信動作例を示す図である。図２６は、本発明の第１の実施形態による暗号パッケージの配信処理フロー例を示す図である。
【００９２】
暗号クライアント装置１５０は、次のようにして暗号管理サーバ装置３５０から暗号パッケージを取得する。上位システム部１５１は、当該暗号クライアント装置１５０に不足している暗号パッケージの取得を暗号管理部１６６に要求する（ステップＳ２１）。暗号管理部１６６は、通信機能１５５を用いて当該暗号クライアント装置１５０のハードウェアプロファイルを含む暗号パッケージ配信要求情報を暗号管理サーバ装置３５０へ送信する（ステップＳ２２）。
【００９３】
暗号パッケージ配信制御部３５９は、通信機能３５６を通じて暗号クライアント装置１５０からの暗号パッケージ配信要求情報を受信する（ステップＳ２３）。暗号パッケージ配信制御部３５９は、配布暗号モジュール選定部３６０に暗号クライアント装置１５０からの配信要求に最適な暗号モジュールの選定を要求する（ステップＳ２４）。配布暗号モジュール選定部３６０は、暗号クライアント装置１５０からの暗号パッケージ配信要求情報や暗号評価ＤＢ３５４の暗号評価記述ファイルを含む選定入力情報を基に当該要求に最適な配布暗号モジュールを選定し、当該選定結果を暗号パッケージ配信制御部３５９に出力する（ステップＳ２５）。
【００９４】
暗号パッケージ配信制御部３５９は、ステップＳ２５での選定結果情報を用いて暗号パッケージ配布構成部３７０に配布暗号パッケージ情報の作成を要求する（ステップＳ２６）。暗号パッケージ配布構成部３７０は、暗号モジュールＤＢ及び暗号評価ＤＢを用いて、ステップＳ２６の配布パッケージ情報作成要求に応じた暗号モジュール３０８及び暗号評価記述ファイル３０９を含む暗号パッケージ３０７を暗号パッケージ配信制御部３５９に出力する（ステップＳ２７）。
【００９５】
暗号パッケージ配信制御部３５９は、通信機能３５６を用いて暗号パッケージ３０７を含む暗号パッケージ情報を暗号クライアント装置１５０に送信する（ステップＳ２８）。暗号管理部１６６は、通信機能１５５を通じて暗号管理サーバ装置３５０からの暗号パッケージ情報を受信する（ステップＳ２９）。
【００９６】
暗号管理部１６６は、暗号評価記述ファイル３０９の認定子検証を含む暗号パッケージ情報の評価を実行する。評価が処理を継続する条件を満たしていない場合はエラーを暗号管理サーバ装置３５０及び上位システム１５１へ通知し処理を終了する。条件を満たしている場合は、暗号パッケージ情報から暗号モジュール３０８及び暗号評価記述ファイル３０９を分解し、暗号モジュールＤＢ１６４及び暗号評価ＤＢ１６３へ登録する。暗号管理部１６６は、上位システム部１５１及び通信機能１５５を用いて暗号管理サーバ装置３５０へ完了結果を通知する（ステップＳ３０）。暗号パッケージ配信制御部３５９は、通信機能３５６を通じて暗号クライアント装置１５０からの完了通知を受信し、通信切断を含む処理の完了処理を実行する（ステップＳ３１）。
【００９７】
選定された暗号モジュールが当該暗号クライアント装置１５０内に存在しない場合に、暗号処理制御部１５６が上位システム部１５１を介さず、暗号管理部１６６へ暗号管理サーバ装置３５０から不足暗号モジュールを配信するよう暗号制御マネージャ部１５２内部で自動連携してもよい。暗号管理サーバ装置３５０から配信された暗号パッケージ情報の評価が処理を継続する条件を満たしていない場合は、エラーで処理終了ではなく、暗号管理サーバ装置３５０へエラー内容を踏まえた再配信処理を連続要求してもよい。
【００９８】
＜第２の実施形態＞
第１の実施形態では、最適な暗号方式の選定を、暗号クライアント装置が処理する場合について説明したが、第２の実施の形態は、暗号管理サーバ装置が最適な暗号方式の選定を主導で行う。すなわち、図４に示す暗号管理サーバ装置１３５０と複数の暗号クライアント装置１１００と当該暗号クライアント装置１１００に対応する暗号ハードウェア４５０とからなるシステム（以下、「第２の実施形態における本システム」という）では、暗号管理サーバ装置１３５０が選定した暗号方式の結果情報をモジュール選定ポリシ記憶部１１０が管理および利活用するサーバ強連携機構である。特に、モジュール選定ポリシ記憶部１１０の計算能力が乏しい場合、暗号管理サーバ装置１３５０が演算支援することで、暗号クライアント装置１１００内の応答パフォーマンスを向上させることができる。
【００９９】
具体的には、上位システム部１１５１からの要求に最適な暗号モジュール３０８の選定を暗号管理サーバ装置１３５０が実施し、暗号クライアント装置１１００の暗号制御マネージャ部１１５２はその結果を受け取り、その要求条件と最適な暗号モジュール３０８との関係を当該装置内の暗号情報記憶部１６００で管理する。暗号制御マネージャ部１１５２は、上位システム部１１５１からの要求とこの要求に最適な暗号モジュール３０８との関係に基づき、上位システム部１１５１からの暗号処理制御要求に応じた処理を行う。よって、第１の実施形態と異なり、暗号クライアント装置１１００は、暗号モジュール３０８の全選定機能や暗号モジュール３０８の選定に必要となる暗号パッケージ３０７の管理および暗号管理サーバ装置１３５０らの受信を必ずしも必要としない。
【０１００】
図４は、本発明の第２の実施形態における本システムの概略構成を示すブロック図である。第２の実施形態における本システムは、１個以上の暗号クライアント装置１１００、１個以上の暗号ハードウェア４５０及び暗号管理サーバ装置１３５０を備えている。暗号ハードウェア４５０は、第１の実施形態と同様である。ここで、暗号ハードウェア４５０は、１個の暗号クライアント装置１１００につき、複数接続する形態でもよい。また暗号ハードウェア４５０を暗号クライアント装置１１００内部に実装する形態でもよい。
【０１０１】
図５は、暗号クライアント装置１１００の構成を示すブロック図である。暗号クライアント装置１１００は、上位システム部１１５１と、暗号制御マネージャ部１１５２と、暗号実装部１１５３と、通信機能１１５５とを備えている。また選定ポリシ１１５８は、安全性、処理速度、リソースに関する優先情報を設定したファイルである。上位システム部１１５１および暗号実装部１１５３は、第１の実施形態と同様の構成・機能である。
【０１０２】
暗号制御マネージャ部１１５２は、暗号処理制御部１１５６と、鍵管理部１１６２と、暗号情報記憶部１６００と、暗号パッケージ管理部１１６６と、暗号ハードウェア管理制御部１１７０とを備えている。
【０１０３】
暗号処理制御部１１５６は、上位システム部１１５１から暗号処理条件を含む暗号処理制御要求を受け付ける機能と、暗号情報記憶部１６００を参照して暗号処理条件に紐づいた暗号実装部１１５３を特定する機能と、暗号処理実行タイミングに従って暗号実装部１１５３へ暗号処理を要求する機能と、当該暗号処理に対する暗号処理ＩＤを発行して当該暗号処理に関する情報と関連付けて暗号情報記憶部１６００に記憶させる機能と、暗号実装部１１５３からの暗号処理結果および当該暗号処理に関する暗号処理ＩＤとを上位システム部１１５１へ出力する機能とをもっている。
【０１０４】
鍵管理部１１６２は、上位システム部１１５１からの要求に従い、暗号情報記憶部１６００の鍵情報ＤＢ１１６５への鍵情報の登録、削除、取得、検索、更新処理を行う機能と、暗号鍵の登録が正常に実施された場合に鍵ＩＤを発行して当該登録処理に関する情報と関連づけて暗号情報記憶部１６００に記憶させる機能と、各処理結果を場合により暗号処理ＩＤや鍵ＩＤを含めて上位システム部１１５１へ出力する機能をもっている。
【０１０５】
暗号情報記憶部１６００は、選定ＤＢ１６０１と、暗号モジュールリンクＤＢ１６０２と、暗号モジュールＤＢ１６０３と、鍵情報ＤＢ１１６５と、暗号処理ＤＢ１６０４とを記憶する機能を備えている。また、暗号情報記憶部１６００は、鍵管理部１１６２や暗号処理制御部１１５６および暗号パッケージ管理部１１６６からの要求に従い、暗号情報記憶部１６００が備える各ＤＢを制御管理する機能をもっていることとしても良い。
【０１０６】
選定ＤＢ１６０１のデータ構造は、図６に示す通りである。暗号モジュールリンクＤＢ１６０２のデータ構造は、図７に示す通りである。暗号モジュールＤＢ１６０３のデータ構造は、図８に示す通りである。鍵情報ＤＢ１１６５のデータ構造は、図９に示す通りである。暗号処理ＤＢ１６０４のデータ構造は、図１０に示す通りである。図１１に、暗号情報記憶部１６００が備える各データベースの論理関係を示す。
【０１０７】
暗号パッケージ管理部１１６６は、以下に説明する機能を有している。
【０１０８】
まず、暗号パッケージ管理部１１６６は、上位システム部１１５１から入力された選定条件、選定ポリシ及びハードウェアプロファイルを含む情報を通信機能１１５５経由で暗号管理サーバ装置１３５０へ送信して得られる、選定された暗号パッケージ３０７のアルゴリズムＩＤ、 暗号評価記述ＩＤ、 暗号モジュールＩＤ及び推奨される鍵長情報を暗号情報記憶部１６００に登録する機能を持っている。
【０１０９】
また、暗号パッケージ管理部１１６６は、上位システム部１１５１から入力された選定条件を基に選定ＤＢ１６０１を特定して暗号化アルゴリズムから対応される鍵生成エンジンのアルゴリズムＩＤを特定する機能を持っている。
【０１１０】
また、暗号パッケージ管理部１１６６は、暗号管理サーバ装置１３５０にて選定された鍵生成エンジンのアルゴリズムＩＤ、暗号評価記述ＩＤ及び暗号モジュールＩＤを暗号情報記憶部１６００に登録する機能を持っている。
【０１１１】
また、暗号パッケージ管理部１１６６は、上位システム部１１５１から入力された要求に基づき通信機能１１５５経由で暗号管理サーバ装置１３５０に対して最終初期登録日時および最終初期登録ドメインを入力として暗号パッケージ初期登録プロトコルを実行し、必要最低限の暗号パッケージ３０７を暗号管理サーバ装置１３５０からダウンロードして暗号情報記憶部１６００に登録する機能を持っている。
【０１１２】
また、暗号パッケージ管理部１１６６は、上位システム部１１５１から入力された選定条件、選定ポリシ、ハードウェアプロファイル及び端末内に保持する暗号パッケージ３０７のリストを含む情報を通信機能１１５５経由で暗号管理サーバ装置１３５０へ送信し、当該暗号管理サーバ装置１３５０にて選定された暗号パッケージ３０７の実体及びその付帯情報（アルゴリズムＩＤ、暗号評価記述ＩＤ、暗号モジュールＩＤ）を入手して暗号情報記憶部１６００に登録する機能を持っている。
【０１１３】
また、暗号パッケージ管理部１１６６は、暗号管理サーバ装置１３５０からの更新通知の通知先登録及び更新事象発生時に暗号制御マネージャ部１１５２が行うアクションのポリシ設定を行える機能を持っている。
【０１１４】
また、暗号パッケージ管理部１１６６は、上位システム部１１５１から要求された内容と暗号制御マネージャ部１１５２に保持した最後の更新通知識別子に基づき通信機能１１５５経由で暗号管理サーバ装置１３５０と連携して暗号制御マネージャ部１１５２に保持している暗号パッケージ３０７の実体と暗号パッケージ３０７の選定ポリシと暗号パッケージ３０７の紐付けについて更新処理を実行する機能を持っている。
【０１１５】
また、暗号パッケージ管理部１１６６は、上位システム部１１５１から要求された暗号パッケージ３０７の実体を暗号情報記憶部１６００から削除して当該暗号パッケージ３０７に紐付けられた暗号情報記憶部１６００が備える各データベースの関連付けを解除する機能を持っている。
【０１１６】
また、暗号パッケージ管理部１１６６は、上位システム部１１５１から入力された移行先ドメイン情報、ハードウェアプロファイル及び当該装置内に保持する暗号パッケージ３０７のリストを含む情報を通信機能１１５５経由で暗号管理サーバ装置１３５０へ送信し、暗号管理サーバ装置１３５０にて選定された持ち出し規制の対象となる暗号パッケージ情報を取得して暗号クライアント装置１１００内に保持する対象の暗号パッケージ３０７を削除する機能とをもっている。
【０１１７】
暗号ハードウェア管理制御部１１７０は、暗号制御マネージャ部１１５２の各部からの要求に応じて通信機能１１５５経由で暗号ハードウェアへの通信制御を行う機能をもっている。
【０１１８】
通信機能１１５５は、暗号パッケージ管理部１１６６や暗号ハードウェア管理制御部１１７０と相手通信装置または暗号ハードウェアとが相互に通信するための機能をもっている。
【０１１９】
図１２は、暗号管理サーバ装置１３５０の構成を示す機能ブロック図である。暗号管理サーバ装置１３５０は、サーバ上位システム部１３８０と、通信機能１３５６と、暗号管理サーバ制御部１３５２と、暗号パッケージ記憶部１３５５と、サーバ暗号制御マネージャ部１３９０とを備えている。
【０１２０】
サーバ上位システム部１３８０は、暗号クライアント装置１１００のサーバ上位システム部１３８０と同様の機能に加え、暗号管理に関するシステム管理者からの制御要求を暗号管理サーバ制御部１３５２に送信する機能とをもっている。
【０１２１】
通信機能１３５６は、暗号管理サーバ制御部１３５２やサーバ暗号制御マネージャ部１３９０と相手通信装置、暗号ハードウェアまたは暗号ハードウェアの動作を模擬したシミュレータとが相互に通信するための機能をもっている。
【０１２２】
暗号管理サーバ制御部１３５２は、暗号パッケージ管制部１３５９と、暗号パッケージ管理部１３５１と、暗号パッケージ配布構成部１３７０と、配布暗号パッケージ選定部１３７３とを備えている。
【０１２３】
暗号パッケージ管制部１３５９は、サーバ上位システム部１３８０からの要求により暗号パッケージ３０７を登録する機能と、サーバ上位システム部１３８０からの要求により既に登録済みの暗号パッケージを更新する機能と、ベンダからの暗号パッケージ提供時に該当する暗号パッケージの出所の確認を行うためのベンダ認定認証子を検証する機能と、複数の単体型暗号評価記述部または複数の複合型暗号評価記述部を組み合わせて複合型暗号評価記述部を生成する機能と、暗号モジュールＤＢ１３５５に登録されている暗号パッケージ３０７を検索および一覧を取得する機能と、サーバ上位システム部１３８０からの要求により暗号モジュール３０８及び関連する暗号パッケージ３０７を暗号モジュールＤＢ１３５５から削除する機能と、暗号パッケージ記憶部１３５５に対して行った登録・更新・削除処理に対するログを出力する機能とをもっている。
【０１２４】
暗号パッケージ管理部１３５１は、複数の暗号クライアント装置１１００からの管制要求を同時に並行して処理する機能と、暗号パッケージ３０７の初期登録処理、配信処理、更新処理、選定処理、更新通知処理および暗号管理ドメイン移行処理を行う機能と、暗号クライアント装置１１００と暗号管理サーバ装置１３５０との間でセキュリティ保護された通信路を確立するための機能と、当該暗号管理サーバ装置１３５０が管理するドメイン内に存在する暗号クライアント管理装置の状況を管理する機能と、暗号パッケージ３０７の初期登録処理、配信処理、更新処理、選定処理、更新通知処理および暗号管理ドメイン移行処理に対するログを生成する機能とをもっている。
【０１２５】
暗号パッケージ配布構成部１３７０は、配布暗号パッケージ選定部１３７３で選ばれた暗号パッケージ３０７を暗号モジュールＤＢ１３５５から取得する機能と、暗号モジュールＤＢ１３５５に格納された各記述項目のデータをＸＭＬといった暗号評価記述形式で構成して出力する機能と、暗号パッケージ官制部１３５９のセキュリティ通信で使用する鍵に関して指定のセキュリティ方式に応じてサーバ暗号制御マネージャ部１３９０に処理を依頼して鍵生成を行う機能と、暗号クライアント装置１１００のＩＤや鍵のセキュリティ方式を含む情報を元に鍵に関する情報の管理を行う機能と、暗号管理サーバ装置１３５０の配布ポリシで定義されたセキュリティレベル及びセキュリティ方式に応じて暗号管理サーバ装置１３５０から暗号クライアント装置１１００に対して送信する情報に対するデータ秘匿やデータ認証のセキュリティ処理を行う機能とをもっている。
【０１２６】
配布暗号パッケージ選定部１３７３は、暗号パッケージ初期登録処理における初期登録判定、暗号方式の選択及び暗号パッケージ選択を行う機能と、暗号パッケージ配信処理における配信判定及び暗号パッケージの選択を行う機能と、暗号パッケージ更新処理における配信判定を行う機能と、暗号パッケージ更新処理における更新暗号リスト取得及び暗号パッケージの選択を行う機能と、暗号パッケージ選定処理における選択判定及び暗号パッケージ選択を行う機能と、暗号管理ドメイン移行処理のおける移動判定およびドメイン移動処理情報の生成を行う機能と、選定条件、選定ポリシ及びハードウェアポリシを満たす暗号パッケージを暗号パッケージ記憶部から検索する機能とをもっている。
【０１２７】
暗号モジュールＤＢ１３５５は、登録されている暗号モジュール３０８を記録管理する暗号モジュールＤＢ１３５３と暗号評価記述ファイル３０９を記録管理する暗号評価ＤＢ１３５４とを備えている。
【０１２８】
サーバ暗号制御マネージャ部１３９０は、暗号クライアント装置１１００の暗号制御マネージャ部１１５２と同様の機能に加え、暗号管理サーバ制御部１３５２と連携して暗号管理サーバ装置１３５０内の暗号資産管理制御や他通信装置との暗号認証通信を行う機能をもっている。
【０１２９】
ここで、本発明の第２の実施形態による、暗号クライアント装置１１００内で上位システム部１１５１からの暗号処理要求に対して、暗号処理制御部１１５６が最適な暗号モジュールを検索し、暗号処理を実行、暗号処理結果を上位システム部１１５１へ出力する暗号処理動作を示す。図２７は、本発明の第２の実施形態による暗号クライアント装置の暗号処理動作例を示す図である。図２８は、第２の実施形態による暗号クライアント装置の暗号処理フロー例を示す図である。
【０１３０】
本発明の実施形態による、暗号クライアント装置１１００内で上位システム部１１５１からの暗号処理要求に対する暗号制御マネージャ部１１５２および暗号実装部１１５３の処理動作を以下に示す。上位システム部１１５１は、暗号処理の対象となるデータ及び暗号処理のカテゴリの識別子を含む暗号処理要求情報を入力として暗号処理制御部１１５６に暗号処理を要求する（ステップＳ４１）。
【０１３１】
暗号処理制御部１１５６は、上位システム部１１５１からの暗号処理要求に対する最適な暗号モジュールを選定ＤＢ１６０１から読み出す（ステップＳ４２）。この時、選定ＤＢに当該暗号処理要求に対する最適な暗号モジュールの選定情報が存在しない場合、上位システム部へエラー出力し、処理を終了する（ステップＳ４３、ステップＳ５０）。最適な暗号モジュールの選定情報が存在する場合、暗号処理制御部１１５６は、上位システム部１１５１からの暗号処理要求に応じた鍵情報を鍵情報ＤＢ１１６５から読み出す（ステップＳ４４）。
【０１３２】
選定された暗号モジュールが当該暗号クライアント装置１１００に存在しない場合、上位システム部１１５１へエラーを出力し、処理を終了する（ステップＳ４５、ステップＳ５１）。選定された暗号モジュールが当該暗号クライアント装置１１００に存在する場合、暗号処理制御部１１５６は、暗号モジュールリンクＤＢ及び暗号モジュールＤＢから暗号モジュールリンク情報及び暗号モジュール情報を読み出し、当該暗号モジュールを暗号実装部１１５３としてメモリにロードする。
【０１３３】
暗号処理制御部１１５６は、暗号実装部１１５３に上記鍵情報や上位システム部からの暗号処理対象データを入力して、暗号処理を依頼する（ステップＳ４６）。暗号実装部１１５３は、暗号処理対象データに対する暗号処理結果を暗号処理制御部１１５６に出力する（ステップＳ４７）。暗号処理制御部１１５６は、暗号処理の識別子を含む暗号処理条件情報を生成して暗号処理ＤＢ１６０４に記録する（ステップＳ４８）。暗号処理制御部１１５６は、暗号処理制御部１５６は、暗号処理ＩＤ及び暗号処理対象データに対する暗号処理結果データを含む暗号処理結果情報を上位システム部１１５１に出力する（ステップＳ４９）。
【０１３４】
ステップＳ４３において、選定ＤＢに当該暗号処理要求に対する最適な暗号モジュールの選定情報が存在しない場合、上位システム部へエラー出力せずに、暗号管理サーバ装置１３５０に最適暗号モジュールの選定を依頼し、選定結果情報をダウンロードしてもよい。また、当該選定結果情報に記載された暗号モジュールが、当該暗号クライアント装置１１００に存在しない場合、上位システム部へエラー出力せずに、暗号管理サーバ装置１３５０から当該暗号モジュールを当該暗号クライアント装置１１００にダウンロードしてもよい。
【０１３５】
選定ＤＢに当該暗号処理要求に対する最適な暗号モジュールの選定情報が存在しない場合も含め、暗号クライアント装置１１００は、上位システム要求と最適な暗号とを紐付ける情報を次のようにして関係ＤＢに登録することができる。これにより、上位システムからの同一暗号処理要求に対する最適暗号の選定には暗号管理サーバ装置１３５０への接続が不要となる。本発明の第２の実施形態による最適な暗号の問い合わせ処理を図２９に示す。また本発明の第２の実施形態による最適な暗号の問い合わせ処理フロー例を図３０に示す。
【０１３６】
上位システム部１１５１は、カテゴリの識別情報を含む選択条件に最適な暗号モジュールの選定を暗号パッケージ管理部１１６６に依頼する（ステップＳ６１）。暗号パッケージ管理部１１６６は、上位システム部１１５１からの暗号選択依頼情報を基に通信機能１１５５を用いて暗号管理サーバ装置１３５０へ暗号選択要求を行う（ステップＳ６２）。暗号選択要求には、例えば、カテゴリの識別子、暗号クライアント装置１１００の暗号モジュール選定ポリシやハードウェアプロファイルに関する情報を含む。
【０１３７】
暗号パッケージ管制部１３５１は、通信機能１３５６を通じて、暗号クライアント装置１１００からの暗号選択要求依頼を受信する（ステップＳ６３）。暗号パッケージ管制部１３５１は、暗号選択要求依頼に含まれているカテゴリの識別子、ハードウェアプロファイル、選定ポリシ情報を配布暗号パッケージ選定部１３７３に入力し、当該条件に合致する暗号パッケージの選定を依頼する（ステップＳ６４）。
【０１３８】
配布暗号パッケージ選定部１３７３は、暗号評価ＤＢ１３５４から必要な暗号評価記述ファイルを取得しながら、当該条件に合致する暗号パッケージの選定を実施し、選定された暗号評価記述ファイルの識別子一覧を出力する（ステップＳ６５）。暗号パッケージ管制部１３５１は、出力された暗号評価記述ファイル数が０個である場合は終了、０個でない場合は選定結果に応じた暗号コンテナ送付の必要有無要求を、通信機能１３５６を用いて暗号クライアント装置１１００に送信する（ステップＳ６６）。
【０１３９】
暗号パッケージ管理部１１６６は、暗号管理サーバ装置１３５０からの選定結果通知に応じて終了処理または選定結果に応じた暗号コンテナの送付依頼要求を行う（ステップＳ６７）。暗号パッケージ管制部１３５１は、暗号クライアント装置１１００から暗号コンテナの送付依頼を通信機能１３５６経由で受け取ると、次の処理を継続する（ステップＳ６８）。暗号パッケージ管制部１３５１は、ステップＳ６５で選定された暗号評価記述ファイルの識別子を入力として、対象となる暗号パッケージの作成を暗号パッケージ配布構成部１３７０に送付する（ステップＳ６９）。
【０１４０】
暗号パッケージ配布構成部１３７０は、暗号評価ＤＢ１３５４及び暗号モジュールＤＢ１３５３から必要な情報を取得して暗号パッケージ情報を作成し、暗号パッケージ管制部１３５１に出力する（ステップＳ７０）。暗号パッケージ管制部１３５１は、当該暗号パッケージ情報を通信セキュリティレベルに応じたセキュリティ保護処理を実施した暗号コンテナを作成し、通信機能経由１３５６で暗号クライアント装置１１００に送信する（ステップＳ７１）。暗号パッケージ管理部１１６６は、暗号コンテナ情報からセキュリティレベルに応じたセキュリティ保護解除や正当性認証を行い、必要な情報を選定ＤＢ１６０１及び暗号モジュールリンクＤＢ１６０２に登録し、上位システムに処理結果を出力する（ステップＳ７２）。
【０１４１】
上記ＤＢ１６０１及び暗号モジュールリンクＤＢ１６０２への選定結果登録後も含め、最適な暗号モジュールが当該暗号クライアント装置１１００内部に存在しない場合には、次のような暗号配信処理にて対象暗号モジュールを暗号管理サーバ装置１３５０からダウンロードする。本発明の第２の実施形態による暗号モジュールの配信動作を図３１に示す。また本発明の第２の実施形態による暗号モジュールの配信処理フロー例を図３２に示す。
【０１４２】
上位システム部１１５１は、暗号アルゴリズムの識別子を含む情報を入力として、暗号モジュールの配信要求を暗号パッケージ管理部１１６６に依頼する（ステップＳ８１）。暗号パッケージ管理部１１６６は、上位システム部１１５１からの暗号パッケージ配信依頼情報を基に通信機能１１５５を用いて暗号管理サーバ装置１３５０へ暗号選択要求を行う（ステップＳ８２）。
【０１４３】
暗号配信要求は、例えば、暗号アルゴリズムの識別子、暗号クライアント装置１１００の暗号モジュール選定ポリシやハードウェアプロファイルに関する情報を含む。暗号パッケージ管制部１３５１は、通信機能１３５６を通じて、暗号クライアント装置１１００からの暗号配信要求依頼を受信する（ステップＳ８３）。暗号パッケージ管制部１３５１は、暗号配信要求依頼に含まれている暗号アルゴリズムの識別子、ハードウェアプロファイル、選定ポリシ情報を配布暗号パッケージ選定部１３７３に入力し、当該配信要求に合致した暗号パッケージの選定を依頼する（ステップＳ８４）。
【０１４４】
配布暗号パッケージ選定部１３７３は、当該暗号クライアント装置１１００のハードウェアプロファイルや選定ポリシを含む配信要求依頼情報を元に暗号評価ＤＢ１３５４から必要な暗号評価記述ファイルを取得しながら、当該条件に合致する暗号パッケージの選定を実施し、選定された暗号評価記述ファイルの識別子一覧を出力する（ステップＳ８５）。
【０１４５】
暗号パッケージ管制部１３５１は、出力された暗号評価記述ファイル数が０個である場合は終了、０個でない場合は配信評価結果に応じた暗号パッケージ送付の必要有無要求を、通信機能１３５６を用いて暗号クライアント装置１１００に送信する（ステップＳ８６）。暗号パッケージ管理部１１６６は、暗号管理サーバ装置１３５０からの配信評価結果通知に応じて終了処理または選定結果に応じた暗号コンテナの送付依頼要求を行う（ステップＳ８７）。
【０１４６】
暗号パッケージ管制部１３５１は、暗号クライアント装置１１００から暗号パッケージの送付依頼を通信機能１３５６経由で受け取ると、次の処理を継続する（ステップＳ８８）。暗号パッケージ管制部１３５１は、ステップ８５で選定された暗号評価記述ファイルの識別子を入力として、対象となる暗号パッケージの作成を暗号パッケージ配布構成部１３７０に送付する（ステップＳ８９）。
【０１４７】
暗号パッケージ配布構成部１３７０は、暗号評価ＤＢ１３５４及び暗号モジュールＤＢ１３５３から必要な情報を取得して暗号パッケージ情報を作成し、暗号パッケージ管制部１３５１に出力する（ステップＳ９０）。暗号パッケージ管制部１３５１は、当該暗号パッケージ情報を通信セキュリティレベルに応じたセキュリティ保護処理を実施した暗号パッケージ情報を作成し、通信機能経由１３５６で暗号クライアント装置１１００に送信する（ステップＳ９１）。
【０１４８】
セキュリティ保護処理は、暗号パッケージに対してＭＡＣを付与したり、暗号パッケージを暗号化して送信し暗号ハードウェア４５０の依頼復号機能を利用してもよい。暗号パッケージ管理部１１６６は、暗号パッケージ情報からセキュリティレベルに応じたセキュリティ保護解除や正当性認証を行い、必要な情報を暗号モジュールＤＢ１６０３に登録し、上位システムに処理結果を出力する（ステップＳ９２）。
【０１４９】
上記暗号コンテナは、暗号管理サーバ装置１３５０から暗号クライアント装置１１００に送り届ける暗号評価記述ファイルに関する情報や暗号モジュールといった暗号コンテンツにセキュリティ保護処理を施したデータ及びヘッダ情報を含む配信データ列である。セキュリティ保護処理には、暗号コンテンツの暗号化、ヘッダ情報及び暗号コンテンツに対するＭＡＣ（Ｍｅｓｓａｇｅ  Ａｕｔｈｅｎｔｉｃａｔｉｏｎ  Ｃｏｄｅ）付与、ヘッダ情報及び暗号化した暗号コンテンツに対するＭＡＣ付与といった手段が含まれる。ここで、セキュリティ保護処理として何も施さず、暗号コンテンツ自体にヘッダ情報を付与する形態でもよい。
【０１５０】
前記セキュリティ保護処理に用いる暗号鍵の格納やセキュリティ保護処理そのものを暗号ハードウェア４５０で実行する形態でもよい。例えば、暗号ハードウェア管理制御部１１７０が暗号ハードウェア４５０に暗号化された暗号コンテンツを入力し、暗号ハードウェア４５０内部で復号処理を実行して出力した復号した暗号コンテンツを取得する実装がある。暗号コンテナのヘッダ情報は、例えば、暗号コンテンツの種別、送信する暗号モジュールの数、送信データサイズである。
【０１５１】
＜第３の実施形態＞
次に、上述したシステムにおいて、端末側において利用するソフトウェアモジュールに不具合が発見された場合に、代替のソフトウェアモジュールが完成するまでの間、他のソフトウェアモジュールを提供するシステムについて説明する。
【０１５２】
第３の実施形態によれば、第１の実施形態と第２の実施形態とで行う暗号モジュール３０８や暗号パッケージ３０７などの更新を、より安全に処理することができる。なお、本実施形態による更新対象は暗号パッケージ３０７に限るものでなく、あらゆるソフトウェアモジュールの更新処理に用いることができる。すなわち、コンピューティングデバイスにおいて既に実行中・利用中であるソフトウェアモジュールに脆弱性などの不具合が発覚した際に、その不具合を解消した修正版モジュールを配信して提供するものであれば、ソフトウェアモジュールは暗号モジュール３０８などでなくとも良い。
【０１５３】
第３の実施形態は、使用するソフトウェアモジュールを選定する機能において、不具合が発見されたソフトウェアモジュールよりも優等な判定が得られるソフトウェアモジュールを、その評価指標とともに配布する実施形態である。これによりどのソフトウェアモジュールに不具合が発見されたかを秘匿したまま、該ソフトウェアモジュールの使用を停止させることで、不具合を利用した攻撃を防止する効果がある。
【０１５４】
図１３は、本実施形態におけるソフトウェアモジュール管理装置３０１の構成を示す図である。ソフトウェアモジュール管理装置３０１は、記憶部３１０と、第１の配信部３１１と、第２の配信部３１２とを備えている。
【０１５５】
記憶部３１０には、例えば、ソフトウェアモジュールＡと、ソフトウェアモジュールＡと同様の機能を有するソフトウェアモジュールＢと、それらに対応する評価指標とが記憶されている。
【０１５６】
第１の配信部３１１は、例えば、ソフトウェアモジュールに不具合が発生した際に、該ソフトウェアモジュールを利用するコンピューティングデバイス１００に、該ソフトウェアモジュールの代替モジュールを送信し、コンピューティングデバイス１００のソフトウェアモジュールを切り替える。
【０１５７】
また、第２の配信部３１２は、例えば、上記代替モジュールを利用中のコンピューティングデバイス１００に、上記不具合の発生したソフトウェアモジュールの修正版を送信し、コンピューティングデバイス１００のソフトウェアモジュールを切り替える。
【０１５８】
次に、本実施形態におけるコンピューティングデバイス１００の機能モジュールの概略構成を図１４に示す。コンピューティングデバイス１００は、中央演算装置１０１と、記憶装置１０２と、オペレーティングシステムモジュール１０３と、モジュール選定モジュール１０４と、更新可能ソフトウェアモジュール１０５と、ネットワーク接続部１０６と、モジュール選定ポリシ記憶部１１０とを備えており、それぞれが、論理的なバス１０７により接続されている。更新可能ソフトウェアモジュール１０５は、複数のソフトウェアモジュールを表す。ネットワーク接続部１０６は、ネットワーク１０８に接続される。モジュール選定モジュール１０４は、モジュール選定ポリシ記憶部１１０に記憶された選定基準を参照して、目的の用途に合致する適切なソフトウェアモジュール１０５を選択する。選定基準は、例えば、使用リソース量、処理の速さなどの１以上の項目について下限と上限が指定された情報である。
【０１５９】
モジュール選定モジュール１０４は、モジュール選定ポリシ記憶部１１０から選定基準情報を読み出して、選定基準情報と、更新可能なソフトウェアモジュール２０３に含まれる評価指標とを比較し、選定基準情報の条件を満たす評価指標に対応する実行可能なソフトウェアモジュール２０１を検出する。
【０１６０】
本実施形態における配布される更新可能ソフトウェアモジュールの概略構成を図１５に示す。配布される更新可能ソフトウェアモジュール２０３は、実行可能ソフトウェアモジュール２０１と評価指標２０２から構成される。評価指標２０２は、対応するソフトウェアモジュール２０１の評価情報が記憶された情報であり、例えば、ＸＭＬ形式で評価情報が表されたデータファイルである。評価指標２０２には、評価に使用可能な指標である、使用リソース量２１１、処理の速さ２１２、処理内容２１３、用途２１４、利用期間２１５などの情報が格納されている。また、評価指標２０２は、対応する実行可能なソフトウェアモジュール２０１の識別情報を格納していることとしても良い。
【０１６１】
使用リソース量２１１は、例えば、対応する実行可能なソフトウェアモジュール２０１が動作するときの必要メモリ量などのリソース情報を数値化した情報である。処理の速さ２１２は、例えば、対応する実行可能なソフトウェアモジュール２０１が動作する際の計算量が数値化された情報である。処理内容２１３は、例えば、実行可能なソフトウェアモジュール２０１のアルゴリズムの動作処理内容を示す情報である。用途２１４は、例えば、対応する実行可能なソフトウェアモジュール２０１の処理用途が予め定められたカテゴリの識別情報などでも良い。利用期間２１５は、例えば、対応する実行可能なソフトウェアモジュール２０１の利用保証期間を示す情報である。
【０１６２】
なお、評価指標２０２が含むこれらの情報は例示であり、評価に使用可能な指標であれば内容は制約されない。評価指標２０２は、モジュール選定モジュール１０４と実行可能なソフトウェアモジュール２０１とに基づいて利用される。
【０１６３】
本発明の実施の形態におけるコンピューティングデバイスの代表的なハードウェア構成例を図１７に示す。コンピューティングデバイス４００において、ＲＯＭ４０１、ＲＡＭ４０２、書き換え可能な不揮発メモリ４０３は、バス４０６を介してＣＰＵ４０４と相互に接続される。バス４０６はＩ／Ｏ４０５を介して、外部記憶装置４０７、記憶媒体読み込み装置４０８、ネットワークインターフェース４１０に接続される。コンピューティングデバイスの外部に位置する記憶媒体４０９は記憶媒体読み込み装置４０８により読み込み可能である。ネットワークインターフェース４１０はコンピューティングデバイスの外部に位置するネットワーク４１１と接続可能である。
【０１６４】
本発明の実施の形態における更新可能なソフトウェアモジュールの配布の概略構成を図１６に示す。ソフトウェアモジュール管理装置３０１は、ネットワーク３０２を介して、複数のコンピューティングデバイス３０３、コンピューティングデバイス３０４、コンピューティングデバイス３０５にソフトウェアモジュール３２０を配布する。ネットワーク３０２を介して配布されるソフトウェアモジュール３２０は、必要に応じて、暗号化または電子署名等の従来技術により保護・秘匿されて配布されてもよい。また、本実施形態例では、該配布されるソフトウェアモジュール３２０は、図１５における実行可能なソフトウェアモジュール２０１と評価指標２０２のいずれかもしくは両方の組み合わせでも良い。
【０１６５】
また、本実施形態では、ネットワーク３０２を介した配布を例示したが、この例示に制限されない。ソフトウェアモジュール３２０の配布であれば、任意の形態の記憶媒体や入力装置であっても同様の目的が達せられることは、当業者にとって容易に類推可能であろう。
【０１６６】
本実施形態の動作例の説明に先立ち、従来技術による修正ソフトウェアモジュールの配布と利用開始の動作例を時系列にて図１８に示す。時間の経過５００は図の左から右に流れる。すなわち、左端が過去の時点であり、右端が現在および未来の時点に対応する。ステップＳ５０１でソフトウェアモジュールの不具合が判明したならば、該ソフトウェアモジュールの開発元はステップＳ５０２で修正モジュール開発を開始し、ステップＳ５０３で修正モジュール配布を開始する。不具合を利用する攻撃者はステップＳ５０３で配布が開始された修正ソフトウェアモジュールを入手し、ステップＳ５０４で修正内容の解析を開始する。その後、攻撃者は解析結果を用いてステップＳ５０５で不具合を利用した攻撃を開始する。あるコンピューティングデバイスにおいて、ステップＳ５０３で配布が開始された修正モジュールの利用が開始されるのがステップＳ５０６であるとすると、ステップＳ５０５からステップＳ５０６の間が、脆弱期間として、該不具合修正の内容に関する攻撃可能な期間となる。
【０１６７】
本実施形態による修正ソフトウェアモジュールの配布と利用開始の動作例を時系列にて図１９に示す。時間の経過６００は図の左から右に流れる。
【０１６８】
例えば、コンピューティングデバイス３０３の更新可能なソフトウェアモジュール１０５に含まれるソフトウェアモジュールＡであって、実行可能状態であるソフトウェアモジュールＡが実行中であるとする。ステップＳ６０１で、ソフトウェアモジュールＡの不具合が判明すると、例えば、ソフトウェアモジュールＡの提供元であるベンダが、ソフトウェアモジュールＡの修正モジュールであるソフトウェアモジュールＡ´の開発を開始する（ステップＳ６０２）。
【０１６９】
そして、ソフトウェアモジュール管理装置３０１の第１の配信部３１１は、ステップＳ６０１よりも後の時点であるステップＳ６０３において、ソフトウェアモジュールＡの代替モジュールであって、記憶部３１０に予め記憶されているソフトウェアモジュールＢの配布を開始する。ここで、ソフトウェアモジュールＢはソフトウェアモジュールＡと同様の機能を持つが異なるアルゴリズムが実装されたモジュールとする。すなわち、第１の配信部３１１は、不具合の判明したソフトウェアモジュールＡを利用するコンピューティングデバイス１００に、代替モジュールであるソフトウェアモジュールＢを配布し、それとともに、利用中のソフトウェアモジュールＡをソフトウェアモジュールＢに切り替える命令である代替モジュール切り替え命令を送信する。
【０１７０】
コンピューティングデバイス１００の中央演算装置１０１は、ネットワーク接続部１０６を介して、代替モジュールであるソフトウェアモジュールＢと、代替モジュール切り替え命令を受信する。すると、コンピューティングデバイス１００に予め記憶されたモジュール選定モジュール１０４が、実行中のソフトウェアモジュールＡを、ソフトウェアモジュールＢに切り替える。ここで、「切り替える」とは、例えば、ソフトウェアモジュールＡが提供していた機能サービスを、ソフトウェアモジュールＢが提供するようにすることであり、具体的には、機能サービスの演算を実行する実行ファイル等を置き換えて、さらに、例えば機能サービスを再起動して、各ソフトウェアモジュール間の連携関係を再構築させることをいう。
【０１７１】
ベンダが修正モジュールであるソフトウェアモジュールＡ´の開発を完了し、記憶装置３１０に当該ソフトウェアモジュールＡ´を記憶すると（ステップＳ６０４）、第２の配信部３１２が、ソフトウェアモジュールＡ´の配布を開始する（ステップＳ６０５）。すなわち、第２の配信部３１２は、ソフトウェアモジュールＡ´と、修正モジュール切り替え命令とを、コンピューティングデバイス１００に送信する。コンピューティングデバイス１００が、ソフトウェアモジュールＡ´と修正モジュール切り替え命令とを受信すると、モジュール選定モジュール１０４が、実行中のソフトウェアモジュールＢをソフトウェアモジュールＡ´に切り替える（ステップＳ６０６、Ｓ６０７）。
【０１７２】
このようにすれば、代替モジュールが配布開始されたステップＳ６０３以降では、従来使用されていた不具合を含むソフトウェアモジュールの利用は停止されている。また、図１８で示した従来技術によるステップＳ５０３の修正モジュール配布とは異なり、ステップＳ６０３で配布された代替モジュールには不具合修正の内容が含まれていないため、攻撃者に不具合の手がかりを与えてしまう危険が廃される効果がある。
【０１７３】
なお、代替モジュールの配布開始（ステップＳ６０３）を不具合判明時点（ステップＳ６０１）よりも後になっているが、このＳ６０３の処理はＳ６０１よりも前の時点であっても構わない。具体的には、代替モジュールを事前にコンピューティングデバイス１００に予め配布しておくことで、万が一不具合が発生した場合に当該代替モジュールをすぐに使用可能とすることで緊急事態を回避することができる。
【０１７４】
＜第４の実施形態＞
第４の実施形態は、コンピューティングデバイス１００のモジュール選定モジュール１０４が、使用する更新可能なソフトウェアモジュール１０５から実行する更新可能なソフトウェアモジュールを選定する機能において、不具合が発見されたソフトウェアモジュールよりも他の不具合を含まないソフトウェアモジュールが優位な判定が得られるよう、更新されたモジュール選定ポリシを配布する方法である。コンピューティングデバイス１００のネットワーク接続部１０６が新たなモジュール選定ポリシを受信すると、中央演算装置１０１が、新たなモジュール選定ポリシをモジュール選定ポリシ記憶部１１０に記憶させる。そして、モジュール選定モジュール１０４は、更新可能なソフトウェアモジュール１０５で実行中のソフトウェアモジュールを、新たなモジュール選定ポリシに従って選定しなおし、選定されたソフトウェアモジュールを実行状態にさせる。
【０１７５】
このようにすれば、結果としてどのソフトウェアモジュールに不具合が発見されたかを秘匿したまま、該ソフトウェアモジュールの使用を停止させ、不具合を利用した攻撃を防止する効果がある。
【０１７６】
本発明の実施の形態において、図１６においてソフトウェアモジュール３２０は、モジュール選択ポリシを含むこととする。モジュール選択ポリシは、ソフトウェアモジュール管理装置３０１からネットワーク３０２を介してコンピューティングデバイス３０３、３０４、３０５に配布される。そして、図１４に示すコンピューティングデバイス１００のモジュール選定ポリシ記憶部１１０に、配布されたモジュール選定ポリシが記憶される。新しいモジュール選定ポリシは、ステップＳ６０１で不具合が判明したソフトウェアモジュールに対応する評価指標２０２よりも厳しい条件が設定されていることとする。すなわち、不具合が判明したソフトウェアモジュールの使用リソース量２１１には、「１００ＫＢ」が設定されているとすると、「使用リソース量が１００ＫＢより小さいこと」を条件情報として含む新しいモジュール選定ポリシが配布される。そして、モジュール選定モジュール１０４が、新しいモジュール選定ポリシに従って更新可能なソフトウェアモジュール１０５で動作するソフトウェアモジュールを新たなソフトウェアモジュールに更新すれば、不具合が判明したソフトウェアモジュール以外のソフトウェアモジュールが選定され、実行状態になる。
【０１７７】
このように、不具合により利用を停止したいソフトウェアモジュールを含む１つ以上のソフトウェアモジュールではなく、たとえば古いバージョンである従来からコンピューティングデバイスに格納されていた不具合を含まないソフトウェアモジュールを選択するように調整された内容の評価指標２０２を含む。
【０１７８】
本実施形態においては、運用者は不具合が発見されていない場合であっても、一定の有効期限が定められた評価指標を定期的あるいは不定期に配布し更新することにより、選定基準に用いられる評価指標の配布をもって不具合の発生を類推することが困難となり、システム全体の安全性を高められる。
【０１７９】
＜第５の実施形態＞
第５の実施形態は、第３および第４の実施形態において、代替モジュールの使用の終了をサーバから各コンピューティングデバイスに通知する。
【０１８０】
これにより、代替モジュールの利用期間を任意のタイミングで終了させることができ、修正モジュールの配布と適用完了状況を鑑みつつ、修正モジュールの使用開始時期を任意に選択できる。
【０１８１】
＜第６の実施形態＞
第６の実施形態は、使用するソフトウェアモジュールを選定する機能において、不具合が発見されたソフトウェアモジュールよりも他の不具合を含まないソフトウェアモジュールが優位な判定が得られるよう、該選定機能のソフトウェアモジュールを変更する方法である。結果としてどのソフトウェアモジュールに不具合が発見されたかを秘匿したまま、該ソフトウェアモジュールの使用を停止させ、不具合を利用した攻撃を防止する効果がある。
【０１８２】
本発明の実施の形態において、図１６において選定機能のソフトウェアモジュール３２０はモジュール選定モジュール１０４を含むこととし、モジュール選定モジュール１０４がサーバ３０１からネットワーク３０２を介してコンピューティングデバイス３０３、３０４、３０５に配布される。図１４に示す該コンピューティングデバイスにおいて、選定モジュール１０４が配布された新しい選定モジュールで更新される。
【０１８３】
新しいモジュールは不具合により利用を停止したいソフトウェアモジュールを含む１つ以上のソフトウェアモジュールではなく、たとえば古いバージョンである従来からコンピューティングデバイスに格納されていた不具合を含まないソフトウェアモジュールを選択する。
【０１８４】
本発明の実施の形態においては、運用者は不具合が発見されていない場合であっても、選定モジュールの定期的あるいは不定期な更新を行うことにより、選定モジュールの更新をもって不具合の発生を類推することが困難となり、システム全体の安全性を高められる。
【０１８５】
＜第７の実施形態＞
第７の実施例は、本発明の実施の形態として、更新するソフトウェアモジュールを暗号処理のソフトウェアモジュールに限定する方法である。暗号処理はデータの秘匿あるいは電子署名による完全性保証などを目的とする数多くのアルゴリズムが存在し、任意に選択可能である。あるアルゴリズムについて実装上の不具合ではなく、アルゴリズムそのものが危殆化した場合、第３から第６の実施形態で示したそれぞれにより、特にシステムの安全性を高める効果がある。
【０１８６】
以上説明したように、本発明によれば、従来の手法で課題とされていた、不具合を修正する新規のソフトウェアモジュールから得た情報を用いて、新規のソフトウェアモジュールをまだ適用していないコンピューティングデバイスに対する不具合を悪用した攻撃の脅威を低減できる。
【０１８７】
また、本発明は、同一の機能を目的とするソフトウェアモジュールが複数のベンダから供給される場合において、あるベンダのソフトウェアモジュールに不具合が発見された場合に、同一の機能を供する複数のベンダのソフトウェアモジュールを代替するソフトウェアモジュールを配布する。利用する機器においては、ソフトウェアモジュールの選定機能により、目的の機能に対応したソフトウェアモジュールが選択される。第４の実施形態では、選定の基準となる指標が従来のソフトウェアモジュールよりも優等となるように調整したソフトウェアモジュールを配信する。別の実施形態は、選定方法の基準を変更する指示を配信し、新たに配布したソフトウェアモジュールが従来のソフトウェアモジュールを代替する。いずれの実施形態においても、運用者またはソフトウェアモジュール開発者が、適切な配布期間が経過し、代替のソフトウェアモジュールがコンピュータデバイスに適切に配布し終った後に、不具合を修正するソフトウェアモジュールを配布し有効化する。
【０１８８】
以上説明した実施の形態は典型例として挙げたに過ぎず、その変形およびバリエーションは当業者にとっては明らかであり、当業者であれば本発明の原理および請求の範囲に記載した発明の範囲を逸脱することなく上述の実施形態の種々の変形を行えることは明らかである。
【０１８９】
以上説明した実施の形態では、ネットワーク接続可能なコンピューティングデバイスをもって説明したが、本発明は、パーソナルコンピュータ、タブレットコンピュータ、ノート型コンピュータ、携帯情報端末、みにコンピュータおよびメインフレームコンピュータ、携帯電話機、無線通信装置、あるいは携帯電話機と携帯情報端末を組み合わせたハイブリッド型コンピューティングデバイスなど、多種類のコンピュータ、コンピューティングデバイス、あるいはコンピューティングシステムにおけるソフトウェアモジュールの配布のために実施され得る。
【０１９０】
以上、この発明の実施形態について図面を参照して詳述してきたが、具体的な構成はこの実施形態に限られるものではなく、この発明の要旨を逸脱しない範囲の設計等も含まれる。
【０１９１】
なお、本発明における処理部の機能を実現するためのプログラムをコンピュータ読み取り可能な記録媒体に記録して、この記録媒体に記録されたプログラムをコンピュータシステムに読み込ませ、実行することによりソフトウェアモジュールの配布を行ってもよい。なお、ここでいう「コンピュータシステム」とは、ＯＳや周辺機器等のハードウェアを含むものとする。また、「コンピュータシステム」は、ホームページ提供環境（あるいは表示環境）を備えたＷＷＷシステムも含むものとする。また、「コンピュータ読み取り可能な記録媒体」とは、フレキシブルディスク、光磁気ディスク、ＲＯＭ、ＣＤ−ＲＯＭ等の可搬媒体、コンピュータシステムに内蔵されるハードディスク等の記憶装置のことをいう。さらに「コンピュータ読み取り可能な記録媒体」とは、インターネット等のネットワークや電話回線等の通信回線を介してプログラムが送信された場合のサーバやクライアントとなるコンピュータシステム内部の揮発性メモリ（ＲＡＭ）のように、一定時間プログラムを保持しているものも含むものとする。
【０１９２】
また、上記プログラムは、このプログラムを記憶装置等に格納したコンピュータシステムから、伝送媒体を介して、あるいは、伝送媒体中の伝送波により他のコンピュータシステムに伝送されてもよい。ここで、プログラムを伝送する「伝送媒体」は、インターネット等のネットワーク（通信網）や電話回線等の通信回線（通信線）のように情報を伝送する機能を有する媒体のことをいう。また、上記プログラムは、前述した機能の一部を実現するためのものであっても良い。さらに、前述した機能をコンピュータシステムにすでに記録されているプログラムとの組み合わせで実現できるもの、いわゆる差分ファイル（差分プログラム）であっても良い。
【産業上の利用可能性】
【０１９３】
本発明は、ソフトウェアモジュールの不具合を修正するために更新を行うコンピュータ装置において、ソフトウェアモジュールの不具合が悪用される脅威を低減せしめ、安全性を向上させるソフトウェアモジュールの配信および更新システムが提供可能となる。
【符号の説明】
【０１９４】
１００…コンピューティングデバイス、１０１…中央演算装置、１０２…記憶装置、１０３…オペレーティングシステムモジュール、１０４…選定機能モジュール、１０５…更新可能なソフトウェアモジュール、１０６…ネットワーク接続部、１０８…ネットワーク、１１０…選定基準記憶部、１１１…ネットワーク、１５０…暗号クライアント装置、１５１…上位システム部、１５２…暗号制御マネージャ部、１５３…暗号実装部、１５４…暗号実装Ｉ／Ｆ部、１５５…通信機能、１５６…暗号処理制御部、１５７…暗号処理情報ＤＢ、１５８…暗号モジュール選定ポリシ、１５９…暗号モジュール選定部、１６０…ハードウェアプロファイル、１６１…アクセス制御ポリシ、１６２…鍵情報管理部、１６３…暗号評価ＤＢ、１６４…暗号モジュールＤＢ、１６５…鍵情報ＤＢ、１６６…暗号管理部、１６７…暗号制御マネージャポリシ、１６８…アルゴリズムネゴシエーション部、１６９…セキュア通信管理部、１７０…暗号ハードウェア管理制御部、２０１…実行可能なソフトウェアモジュール、２０２…評価指標、２０３…更新可能なソフトウェアモジュール、２１１…使用リソース量、２１２…処理の速さ、２１３…処理内容、２１４…用途、２１５…利用期間、３０１…ソフトウェアモジュール管理装置、３０２…ネットワーク、３０３…コンピューティングデバイス、３０４…コンピューティングデバイス、３０５…コンピューティングデバイス、３０７…暗号パッケージ、３０８…暗号モジュール、３０９…暗号評価記述ファイル、３１０…記憶部、３１１…第１の配信部、３１２…第２の配信部、３２０…ソフトウェアモジュール、３５０…暗号管理サーバ装置、３５１…暗号管理部、３５２…暗号配信部、３５３…暗号モジュールＤＢ、３５４…暗号評価ＤＢ、３５５…暗号登録部、３５６…通信機能、３５７…暗号パッケージ登録部、３５８…複合型記述生成部、３５９…暗号パッケージ配信制御部、３６０…配布暗号モジュール選定部、３７０…暗号パッケージ配布構成部、３７１…配布ポリシ、４５０…暗号ハードウェア部、１１００…暗号クライアント装置、１１５１…上位システム部、１１５２…暗号制御マネージャ部、１１５３…暗号実装部、１１５５…通信機能、１１５６…暗号処理制御部、１１５８…選定ポリシ、１１６０…ハードウェアプロファイル、１１６２…鍵管理部、１１６５…鍵情報ＤＢ、１１６６…暗号パッケージ管理部、１１７０…暗号ハードウェア管理制御部、１３５０…暗号管理サーバ装置、１３５１…暗号パッケージ管理部、１３５２…暗号管理サーバ制御部、１３５３…暗号モジュールＤＢ、１３５４…暗号評価ＤＢ、１３５５…暗号パッケージ記憶部、１３５６…通信機能、１３５９…暗号パッケージ官制部、１３７０…暗号パッケージ配布構成部、１３７１…配布ポリシ、１３７２…ドメイン情報、１３７３…配布暗号パッケージ選定部、１３８０…サーバ上位システム部、１３９０…サーバ暗号制御マネージャ部、１４５０…暗号ハードウェア、１６００…暗号情報記憶部、１６０１…選定ＤＢ、１６０２…暗号モジュールリンクＤＢ、１６０３…暗号モジュールＤＢ、１６０４…暗号処理ＤＢ。
【図１】
2012133812.tif 000003
【図２】
2012133812.tif 000004
【図３】
2012133812.tif 000005
【図４】
2012133812.tif 000006
【図５】
2012133812.tif 000007
【図６】
2012133812.tif 000008
【図７】
2012133812.tif 000009
【図８】
2012133812.tif 000010
【図９】
2012133812.tif 000011
【図１０】
2012133812.tif 000012
【図１１】
2012133812.tif 000013
【図１２】
2012133812.tif 000014
【図１３】
2012133812.tif 000015
【図１４】
2012133812.tif 000016
【図１５】
2012133812.tif 000017
【図１６】
2012133812.tif 000018
【図１７】
2012133812.tif 000019
【図１８】
2012133812.tif 000020
【図１９】
2012133812.tif 000021
【図２０】
2012133812.tif 000022
【図２１】
2012133812.tif 000023
【図２２】
2012133812.tif 000024
【図２３】
2012133812.tif 000025
【図２４】
2012133812.tif 000026
【図２５】
2012133812.tif 000027
【図２６】
2012133812.tif 000028
【図２７】
2012133812.tif 000029
【図２８】
2012133812.tif 000030
【図２９】
2012133812.tif 000031
【図３０】
2012133812.tif 000032
【図３１】
2012133812.tif 000033
【図３２】
2012133812.tif 000034
【手続補正書】
【提出日】平成24年3月15日(2012.3.15)
【手続補正１】
【補正対象書類名】特許請求の範囲
【補正対象項目名】全文
【補正方法】変更
【補正の内容】
【特許請求の範囲】
【請求項１】
端末装置内で動作する第１のソフトウェアモジュールを第２のソフトウェアモジュールに変更する場合におけるソフトウェアモジュールの管理を行うソフトウェアモジュール管理装置であって、
前記第１のソフトウェアモジュールや第２のソフトウェアモジュールとは異なる第３のソフトウェアモジュールを記憶する記憶部と、
前記記憶部に記憶された第３のソフトウェアモジュールを読み出し、この読み出した第３のソフトウェアモジュールを、前記端末装置に配信して前記第１のソフトウェアモジュールから第３のソフトウェアモジュールに切り替えさせて使用可能状態にさせる第１の配信部と、
前記第２のソフトウェアモジュールを前記端末装置に配信し、第３のソフトウェアモジュールから第２のソフトウェアモジュールに切り替えさせて使用可能状態にさせる第２の配信部と、
を有することを特徴とするソフトウェアモジュール管理装置。
【請求項２】
端末装置内で動作する第１のソフトウェアモジュールを第２のソフトウェアモジュールに変更する場合におけるソフトウェアモジュールの管理を行うソフトウェアモジュール管理装置であって、
少なくとも１つのソフトウェアモジュールを記憶する記憶部と、
前記記憶部に記憶されたソフトウェアモジュールを当該記憶装置から読み出し、この読み出した前記ソフトウェアモジュールを前記端末装置に配信する第１の配信部と、
前記第２のソフトウェアモジュールを前記端末装置に配信し、前記選択されたソフトウェアモジュールから第２のソフトウェアモジュールに切り替えさせて使用可能状態にする第２の配信部と、
を有することを特徴とするソフトウェアモジュール管理装置。
【請求項３】
端末装置内で動作する第１のソフトウェアモジュールを第２のソフトウェアモジュールに変更する場合におけるソフトウェアモジュールの管理を行うソフトウェアモジュール管理装置であって、
少なくとも１つのソフトウェアモジュールを記憶する記憶部と、
前記記憶部に記憶されたソフトウェアモジュールの選択を行わせるソフトウェアモジュール選択催促部と、
前記ソフトウェアモジュール選択催促部により選択されたソフトウェアモジュールを前記記憶部から読み出し、この読み出した前記ソフトウェアモジュールを前記端末装置に配信する第１の配信部と、
前記第２のソフトウェアモジュールを前記端末装置に配信し、前記選択されたソフトウェアモジュールから第２のソフトウェアモジュールに切り替えさせて使用可能状態にする第２の配信部と、
を有することを特徴とするソフトウェアモジュール管理装置。
【請求項４】
端末装置内で動作する第１のソフトウェアモジュールを第２のソフトウェアモジュールに変更する場合におけるソフトウェアモジュールの管理を行うソフトウェアモジュール管理装置であって、
前記ソフトウェアモジュールを選択するための基準を示す選定基準情報を記憶する記憶部と、
前記記憶部に記憶された選定基準情報を読み出し、この読み出した選定基準情報を、前記端末装置に配信して当該選定基準に基づくソフトウェアモジュールの選択を行わせる第１の配信部と、
前記第２のソフトウェアモジュールを前記端末装置に配信し、前記選択モジュールによって選択されたソフトウェアモジュールから第２のソフトウェアモジュールに切り替えさせて前記動作を可能な状態にする第２の配信部と、
を有することを特徴とするソフトウェアモジュール管理装置。
【請求項５】
前記第２の配信部は、前記第２のソフトウェアモジュールを配信した後に、前記第１のソフトウェアモジュールの次に利用しているソフトウェアモジュールの使用を終了させる
ことを特徴とする請求項１から請求項３のうちいずれかに記載のソフトウェアモジュール管理装置。
【請求項６】
前記第１から第３のソフトウェアモジュールは、暗号処理を行う機能を有する
ことを特徴とする請求項１から請求項４のうちいずれかに記載のソフトウェアモジュール管理装置。
【請求項７】
端末装置内で動作する第１のソフトウェアモジュールを第２のソフトウェアモジュールに変更する場合におけるソフトウェアモジュールの管理を行うソフトウェアモジュール管理装置であるコンピュータに、
前記第１のソフトウェアモジュールや第２のソフトウェアモジュールとは異なる第３のソフトウェアモジュールを記憶する記憶部として機能させる記憶機能と、
前記記憶部に記憶された第３のソフトウェアモジュールを読み出し、この読み出した第３のソフトウェアモジュールを、前記端末装置に配信して前記第１のソフトウェアモジュールから第３のソフトウェアモジュールに切り替えさせて使用可能状態にさせる第１の配信機能と、
前記第２のソフトウェアモジュールを前記端末装置に配信し、第３のソフトウェアモジュールから第２のソフトウェアモジュールに切り替えさせて使用可能状態にさせる第２の配信機能と、
を実現させるためのソフトウェアモジュール管理プログラム。
【請求項８】
端末装置内で動作する第１のソフトウェアモジュールを第２のソフトウェアモジュールに変更する場合におけるソフトウェアモジュールの管理を行うソフトウェアモジュール管理装置であるコンピュータに、
少なくとも１つのソフトウェアモジュールを記憶する記憶部として機能させる記憶機能と、
前記記憶部に記憶されたソフトウェアモジュールを当該記憶部から読み出し、この読み出した前記ソフトウェアモジュールを前記端末装置に配信する第１の配信機能と、
前記第２のソフトウェアモジュールを前記端末装置に配信し、前記選択されたソフトウェアモジュールから第２のソフトウェアモジュールに切り替えさせて使用可能状態にする第２の配信機能と、
を実現させるためのソフトウェアモジュール管理プログラム。
【請求項９】
端末装置内で動作する第１のソフトウェアモジュールを第２のソフトウェアモジュールに変更する場合におけるソフトウェアモジュールの管理を行うソフトウェアモジュール管理装置であるコンピュータに、
少なくとも１つのソフトウェアモジュールを記憶する記憶部として機能させる記憶機能と、
前記記憶部に記憶されたソフトウェアモジュールの選択を行わせるソフトウェアモジュール選択催促機能と、
前記ソフトウェアモジュール選択催促機能により選択されたソフトウェアモジュールを前記記憶部から読み出し、この読み出した前記ソフトウェアモジュールを前記端末装置に配信する第１の配信機能と、
前記第２のソフトウェアモジュールを前記端末装置に配信し、前記選択されたソフトウェアモジュールから第２のソフトウェアモジュールに切り替えさせて使用可能状態にする第２の配信機能と、
を実現させるためのソフトウェアモジュール管理プログラム。
【請求項１０】
端末装置内で動作する第１のソフトウェアモジュールを第２のソフトウェアモジュールに変更する場合におけるソフトウェアモジュールの管理を行うソフトウェアモジュール管理装置であるコンピュータに、
前記ソフトウェアモジュールを選択するための基準を示す選定基準情報を記憶する記憶部として機能させる記憶機能と、
前記記憶部に記憶された選定基準情報を読み出し、この読み出した選定基準情報を、前記端末装置に配信して当該選定基準に基づくソフトウェアモジュールの選択を行わせる第１の配信機能と、
前記第２のソフトウェアモジュールを前記端末装置に配信し、前記選択モジュールによって選択されたソフトウェアモジュールから第２のソフトウェアモジュールに切り替えさせて前記動作を可能な状態にする第２の配信機能と、
を実現させるためのソフトウェアモジュール管理プログラム。
【手続補正３】
【補正対象書類名】明細書
【補正対象項目名】０００１
【補正方法】変更
【補正の内容】
【０００１】
本発明は、オペレーティングシステム、アプリケーションプログラム等のソフトウェアモジュールの更新を安全に行うためのソフトウェアモジュールの更新を行うソフトウェアモジュール管理装置およびソフトウェアモジュール管理プログラムに関する。
【手続補正４】
【補正対象書類名】明細書
【補正対象項目名】００１３
【補正方法】削除
【補正の内容】
【手続補正５】
【補正対象書類名】明細書
【補正対象項目名】００１４
【補正方法】削除
【補正の内容】
【手続補正６】
【補正対象書類名】明細書
【補正対象項目名】００１５
【補正方法】削除
【補正の内容】
【手続補正７】
【補正対象書類名】明細書
【補正対象項目名】００１６
【補正方法】削除
【補正の内容】
【手続補正８】
【補正対象書類名】明細書
【補正対象項目名】００１７
【補正方法】削除
【補正の内容】
【手続補正９】
【補正対象書類名】明細書
【補正対象項目名】００１８
【補正方法】削除
【補正の内容】
【手続補正１０】
【補正対象書類名】明細書
【補正対象項目名】００１９
【補正方法】変更
【補正の内容】
【００１９】
上述した課題を解決するために、本発明は、端末装置（例えば、本実施形態における暗号クライアント装置１５０、暗号クライアント装置１１００、コンピューティングデバイス１００）における第１のソフトウェアモジュール（例えば、本実施形態における危殆化した暗号モジュール、ソフトウェアモジュールＡ）を第２のソフトウェアモジュール（例えば、本実施形態における修正された暗号モジュール、ソフトウェアモジュールＡ´）に変更する場合における、ソフトウェアモジュールの管理を行うソフトウェアモジュール管理装置（例えば、本実施形態における暗号管理サーバ装置３５０、暗号管理サーバ装置１３５０、ソフトウェアモジュール管理装置３０１）であって、第１のソフトウェアモジュールとは異なる第３のソフトウェアモジュール（例えば、本実施形態における代替モジュール、ソフトウェアモジュールＢ）を記憶する記憶部（例えば、本実施形態における暗号モジュールＤＢ３５３、暗号モジュールＤＢ１３５３、記憶部３１０）と、記憶部に記憶された第３のソフトウェアモジュールを読み出し、読み出した第３のソフトウェアモジュールを、端末装置に配信して第１のソフトウェアモジュールから第３のソフトウェアモジュールに切り替えさせて使用可能状態にさせる第１の配信部と、第１のソフトウェアモジュールとは異なる第２のソフトウェアモジュールが生成された後に、第２のソフトウェアモジュールを端末装置に配信し、第３のソフトウェアモジュールから第２のソフトウェアモジュールに切り替えさせて使用可能状態にさせる第２の配信部と、を有することを特徴とするソフトウェアモジュール管理装置である。
【手続補正１１】
【補正対象書類名】明細書
【補正対象項目名】００２５
【補正方法】変更
【補正の内容】
【００２５】
【図１】本発明の第１の参考例によるセキュリティ情報通信システムの構成を示すブロック図である。
【図２】本発明の第１の参考例による暗号クライアント装置の構成を示すブロック図である。
【図３】本発明の第１の参考例による暗号管理サーバ装置の構成を示すブロック図である。
【図４】本発明の第２の参考例によるセキュリティ情報通信システムの構成を示すブロック図である。
【図５】本発明の第２の参考例による暗号クライアント装置の構成を示すブロック図である。
【図６】本発明の第２の参考例による選定ＤＢのデータ構成例を示す図である。
【図７】本発明の第２の参考例による暗号モジュールリンクＤＢのデータ構成例を示す図である。
【図８】本発明の第２の参考例による暗号モジュールＤＢのデータ構成例を示す図である。
【図９】本発明の第２の参考例による鍵情報ＤＢのデータ構成例を示す図である。
【図１０】本発明の第２の参考例による暗号処理ＤＢのデータ構成例を示す図である。
【図１１】本発明の第２の参考例によるデータベースの論理構成を示す図である。
【図１２】本発明の第２の参考例による暗号管理サーバ装置の構成を示すブロック図である。
【図１３】本発明の第１の実施形態によるソフトウェアモジュール管理装置の構成を示すブロック図である。
【図１４】本発明の第１の実施形態によるコンピューティングデバイスの構成を示すブロック図である。
【図１５】本発明の第１の実施形態による更新可能なソフトウェアモジュールの構成を示すブロック図である。
【図１６】本発明の第１の実施形態によるセキュリティ情報通信システムの構成を示す図である。
【図１７】本発明の第１の実施形態によるコンピューティングデバイスの構成を示す図である。
【図１８】従来技術による修正ソフトウェアモジュールの配信動作例を示す図である。
【図１９】本発明の第１の実施形態による修正ソフトウェアモジュールの配信動作例を示す図である。
【図２０】本発明の第１の参考例による暗号クライアント装置の暗号処理動作例を示す図である。
【図２１】本発明の第１の参考例による暗号クライアント装置の暗号処理フロー例を示す図である。
【図２２】本発明の第１の参考例による暗号評価ＤＢの構成例を示す図である。
【図２３】本発明の第１の参考例による暗号実装ＤＢの構成例を示す図である。
【図２４】本発明の第１の参考例による暗号処理情報ＤＢと鍵情報ＤＢの構成例を示す図である。
【図２５】本発明の第１の参考例による暗号パッケージの配信動作例を示す図である。
【図２６】本発明の第１の参考例による暗号パッケージの配信処理フロー例を示す図である。
【図２７】本発明の第２の参考例による暗号クライアント装置の暗号処理動作例を示す図である。
【図２８】本発明の第２の参考例による暗号クライアント装置の暗号処理フロー例を示す図である。
【図２９】本発明の第２の参考例による最適暗号の問い合わせ処理を示す図である。
【図３０】本発明の第２の参考例による最適暗号の問い合わせ処理フロー例を示す図である。
【図３１】本発明の第２の参考例による暗号モジュールの配信処理を示す図である。
【図３２】本発明の第２の参考例による暗号モジュールの配信処理フロー例を示す図である。
【手続補正１２】
【補正対象書類名】明細書
【補正対象項目名】００２６
【補正方法】変更
【補正の内容】
【００２６】
以下、本発明の一参考例によるソフトウェアモジュール管理装置（図１で示す暗号管理サーバ装置のこと）を含むシステム（以下、「第１参考例における本システム」という）について図面を参照して説明する。
【手続補正１３】
【補正対象書類名】明細書
【補正対象項目名】００２７
【補正方法】変更
【補正の内容】
【００２７】
まず、第１参考例における本システムの概要について説明する。第１参考例における本システムにおいては、サーバとクライアント装置とが接続され、サーバとクライアント装置間において暗号モジュールを用いて暗号化された情報を送受信することが可能なシステムである。ここで、暗号モジュールを定期的に切り替えることも可能である。このような、暗号モジュールを切り替え可能な暗号システムとしては、暗号の手法ごとに暗号方式に依存しないインターフェースを規定し、各暗号ベンダが実装可能なフレームワークがいくつか存在する。例えば、Ｍｉｃｒｏｓｏｆｔ（登録商標）のＣｒｙｐｔＡＰＩやＳｕｎ（登録商標）のＪＣＡ（Java（登録商標） Cryptographic Architecture)／ＪＣＥ（Java（登録商標） Cryptographic Extensions）やＯｐｅｎ  Ｇｒｏｕｐ（登録商標）のＣＤＳＡ（Common Data Security Architecture）などがある。
【手続補正１４】
【補正対象書類名】明細書
【補正対象項目名】００３０
【補正方法】変更
【補正の内容】
【００３０】
第１参考例における本システムにおいては、暗号モジュールの切り替えが可能な暗号システムでは、この問題についても解決することが可能である。
【手続補正１５】
【補正対象書類名】明細書
【補正対象項目名】００３１
【補正方法】変更
【補正の内容】
【００３１】
＜第１の参考例＞
図１は、本発明の第１の参考例における本システムの構成を示す概略ブロック図である。
【手続補正１６】
【補正対象書類名】明細書
【補正対象項目名】００３２
【補正方法】変更
【補正の内容】
【００３２】
第１参考例における本システムは、暗号モジュール３０８と暗号評価記述ファイル３０９とを含む暗号パッケージ３０７を送信する暗号管理サーバ装置３５０と、受信した暗号パッケージ３０７を用いて暗号処理を行う暗号クライアント装置１５０とから構成される。暗号評価記述ファイル３０９に記述される暗号の評価とは、対応する暗号モジュール３０８の暗号方式の信頼度や強度等が数値化された情報であり、例えば、暗号クライアント装置１５０などの端末装置上に実装している暗号方式の安全性や暗号の処理速度、暗号に利用可能な鍵長などである。
【手続補正１７】
【補正対象書類名】明細書
【補正対象項目名】００３６
【補正方法】変更
【補正の内容】
【００３６】
暗号の配信とは、暗号管理サーバ装置３５０が、暗号クライアント装置１５０から受信した暗号要求に応じて、適切な暗号モジュール３０８または暗号パッケージ３０７を選定して暗号クライアント装置１５０に送信することである。暗号要求は暗号に関する条件情報を含む。この条件情報は、暗号化や署名生成などの暗号方式の分類（暗号のカテゴリ）、暗号モジュール３０８を作成したメーカ、暗号モジュール３０８が動作するハードウェアの情報、および暗号の評価情報などがある。暗号の評価情報は、本参考例のように、暗号評価記述ファイル３０９として、暗号モジュール３０８とは独立したファイルとして扱われることとしても良い。
【手続補正１８】
【補正対象書類名】明細書
【補正対象項目名】００８４
【補正方法】変更
【補正の内容】
【００８４】
ここで、本発明の第１の参考例による、暗号クライアント装置１５０内で上位システム部１５１からの暗号処理要求に対して、暗号処理制御部１５６が最適な暗号モジュールを選定し、暗号処理を実行、暗号処理結果を上位システム部１５１へ出力する暗号処理動作を示す。図２０は、本発明の第１の参考例による暗号クライアント装置の暗号処理動作例を示す図である。図２１は、本発明の第１の参考例による暗号クライアント装置の暗号処理フロー例を示す図である。図２２は、本発明の第１の参考例による暗号評価ＤＢの構成例を示す図である。図２３は、本発明の第１の参考例による暗号実装ＤＢの構成例を示す図である。図２４は、本発明の第１の参考例による暗号処理情報ＤＢと鍵情報ＤＢの構成例を示す図である。
【手続補正１９】
【補正対象書類名】明細書
【補正対象項目名】００８６
【補正方法】変更
【補正の内容】
【００８６】
本発明の第１の参考例による暗号クライアント装置の暗号処理動作の一例を次に示す。上位システム部１５１は、暗号処理の対象となるデータ及び暗号処理のカテゴリの識別子を含む暗号処理要求情報を入力として暗号処理制御部１５６に暗号処理を要求する（ステップＳ１）。暗号処理制御部１５６は、上位システム部１５１からの暗号処理要求情報に応じた鍵情報を鍵情報管理部１６２に要求する（ステップＳ２）。鍵情報管理部１６２は鍵情報ＤＢ１６５から当該鍵情報を取得し、暗号処理制御部１５６へ出力する（ステップＳ３）。
【手続補正２０】
【補正対象書類名】明細書
【補正対象項目名】００９１
【補正方法】変更
【補正の内容】
【００９１】
暗号クライアント装置１５０に上位システム部１５１からの暗号処理要求や当該暗号管理ドメイン及び暗号クライアント装置１５０のセキュリティポリシに最適な暗号モジュールが存在しない場合、当該暗号モジュール及び対応する暗号評価記述ファイルを含む暗号パッケージを暗号管理サーバ装置３５０から取得する。図２５は、本発明の第１の参考例による暗号パッケージの配信動作例を示す図である。図２６は、本発明の第１の参考例による暗号パッケージの配信処理フロー例を示す図である。
【手続補正２１】
【補正対象書類名】明細書
【補正対象項目名】００９８
【補正方法】変更
【補正の内容】
【００９８】
＜第２の参考例＞
第１の参考例では、最適な暗号方式の選定を、暗号クライアント装置が処理する場合について説明したが、第２の参考例は、暗号管理サーバ装置が最適な暗号方式の選定を主導で行う。すなわち、図４に示す暗号管理サーバ装置１３５０と複数の暗号クライアント装置１１００と当該暗号クライアント装置１１００に対応する暗号ハードウェア４５０とからなるシステム（以下、「第２の参考例における本システム」という）では、暗号管理サーバ装置１３５０が選定した暗号方式の結果情報をモジュール選定ポリシ記憶部１１０が管理および利活用するサーバ強連携機構である。特に、モジュール選定ポリシ記憶部１１０の計算能力が乏しい場合、暗号管理サーバ装置１３５０が演算支援することで、暗号クライアント装置１１００内の応答パフォーマンスを向上させることができる。
【手続補正２２】
【補正対象書類名】明細書
【補正対象項目名】００９９
【補正方法】変更
【補正の内容】
【００９９】
具体的には、上位システム部１１５１からの要求に最適な暗号モジュール３０８の選定を暗号管理サーバ装置１３５０が実施し、暗号クライアント装置１１００の暗号制御マネージャ部１１５２はその結果を受け取り、その要求条件と最適な暗号モジュール３０８との関係を当該装置内の暗号情報記憶部１６００で管理する。暗号制御マネージャ部１１５２は、上位システム部１１５１からの要求とこの要求に最適な暗号モジュール３０８との関係に基づき、上位システム部１１５１からの暗号処理制御要求に応じた処理を行う。よって、第１の参考例と異なり、暗号クライアント装置１１００は、暗号モジュール３０８の全選定機能や暗号モジュール３０８の選定に必要となる暗号パッケージ３０７の管理および暗号管理サーバ装置１３５０らの受信を必ずしも必要としない。
【手続補正２３】
【補正対象書類名】明細書
【補正対象項目名】０１００
【補正方法】変更
【補正の内容】
【０１００】
図４は、本発明の第２の参考例における本システムの概略構成を示すブロック図である。第２の参考例における本システムは、１個以上の暗号クライアント装置１１００、１個以上の暗号ハードウェア４５０及び暗号管理サーバ装置１３５０を備えている。暗号ハードウェア４５０は、第１の参考例と同様である。ここで、暗号ハードウェア４５０は、１個の暗号クライアント装置１１００につき、複数接続する形態でもよい。また暗号ハードウェア４５０を暗号クライアント装置１１００内部に実装する形態でもよい。
【手続補正２４】
【補正対象書類名】明細書
【補正対象項目名】０１０１
【補正方法】変更
【補正の内容】
【０１０１】
図５は、暗号クライアント装置１１００の構成を示すブロック図である。暗号クライアント装置１１００は、上位システム部１１５１と、暗号制御マネージャ部１１５２と、暗号実装部１１５３と、通信機能１１５５とを備えている。また選定ポリシ１１５８は、安全性、処理速度、リソースに関する優先情報を設定したファイルである。上位システム部１１５１および暗号実装部１１５３は、第１の参考例と同様の構成・機能である。
【手続補正２５】
【補正対象書類名】明細書
【補正対象項目名】０１２９
【補正方法】変更
【補正の内容】
【０１２９】
ここで、本発明の第２の参考例による、暗号クライアント装置１１００内で上位システム部１１５１からの暗号処理要求に対して、暗号処理制御部１１５６が最適な暗号モジュールを検索し、暗号処理を実行、暗号処理結果を上位システム部１１５１へ出力する暗号処理動作を示す。図２７は、本発明の第２の参考例による暗号クライアント装置の暗号処理動作例を示す図である。図２８は、第２の参考例による暗号クライアント装置の暗号処理フロー例を示す図である。
【手続補正２６】
【補正対象書類名】明細書
【補正対象項目名】０１３０
【補正方法】変更
【補正の内容】
【０１３０】
本発明の参考例による、暗号クライアント装置１１００内で上位システム部１１５１からの暗号処理要求に対する暗号制御マネージャ部１１５２および暗号実装部１１５３の処理動作を以下に示す。上位システム部１１５１は、暗号処理の対象となるデータ及び暗号処理のカテゴリの識別子を含む暗号処理要求情報を入力として暗号処理制御部１１５６に暗号処理を要求する（ステップＳ４１）。
【手続補正２７】
【補正対象書類名】明細書
【補正対象項目名】０１３５
【補正方法】変更
【補正の内容】
【０１３５】
選定ＤＢに当該暗号処理要求に対する最適な暗号モジュールの選定情報が存在しない場合も含め、暗号クライアント装置１１００は、上位システム要求と最適な暗号とを紐付ける情報を次のようにして関係ＤＢに登録することができる。これにより、上位システムからの同一暗号処理要求に対する最適暗号の選定には暗号管理サーバ装置１３５０への接続が不要となる。本発明の第２の参考例による最適な暗号の問い合わせ処理を図２９に示す。また本発明の第２の参考例による最適な暗号の問い合わせ処理フロー例を図３０に示す。
【手続補正２８】
【補正対象書類名】明細書
【補正対象項目名】０１４１
【補正方法】変更
【補正の内容】
【０１４１】
上記ＤＢ１６０１及び暗号モジュールリンクＤＢ１６０２への選定結果登録後も含め、最適な暗号モジュールが当該暗号クライアント装置１１００内部に存在しない場合には、次のような暗号配信処理にて対象暗号モジュールを暗号管理サーバ装置１３５０からダウンロードする。本発明の第２の参考例による暗号モジュールの配信動作を図３１に示す。また本発明の第２の参考例による暗号モジュールの配信処理フロー例を図３２に示す。
【手続補正２９】
【補正対象書類名】明細書
【補正対象項目名】０１５１
【補正方法】変更
【補正の内容】
【０１５１】
＜第１の実施形態＞
次に、上述したシステムにおいて、端末側において利用するソフトウェアモジュールに不具合が発見された場合に、代替のソフトウェアモジュールが完成するまでの間、他のソフトウェアモジュールを提供するシステムについて説明する。
【手続補正３０】
【補正対象書類名】明細書
【補正対象項目名】０１５２
【補正方法】変更
【補正の内容】
【０１５２】
第１の実施形態によれば、第１の参考例と第２の参考例とで行う暗号モジュール３０８や暗号パッケージ３０７などの更新を、より安全に処理することができる。なお、本実施形態による更新対象は暗号パッケージ３０７に限るものでなく、あらゆるソフトウェアモジュールの更新処理に用いることができる。すなわち、コンピューティングデバイスにおいて既に実行中・利用中であるソフトウェアモジュールに脆弱性などの不具合が発覚した際に、その不具合を解消した修正版モジュールを配信して提供するものであれば、ソフトウェアモジュールは暗号モジュール３０８などでなくとも良い。
【手続補正３１】
【補正対象書類名】明細書
【補正対象項目名】０１５３
【補正方法】変更
【補正の内容】
【０１５３】
第１の実施形態は、使用するソフトウェアモジュールを選定する機能において、不具合が発見されたソフトウェアモジュールよりも優等な判定が得られるソフトウェアモジュールを、その評価指標とともに配布する実施形態である。これによりどのソフトウェアモジュールに不具合が発見されたかを秘匿したまま、該ソフトウェアモジュールの使用を停止させることで、不具合を利用した攻撃を防止する効果がある。
【手続補正３２】
【補正対象書類名】明細書
【補正対象項目名】０１７４
【補正方法】変更
【補正の内容】
【０１７４】
＜第２の実施形態＞
第２の実施形態は、コンピューティングデバイス１００のモジュール選定モジュール１０４が、使用する更新可能なソフトウェアモジュール１０５から実行する更新可能なソフトウェアモジュールを選定する機能において、不具合が発見されたソフトウェアモジュールよりも他の不具合を含まないソフトウェアモジュールが優位な判定が得られるよう、更新されたモジュール選定ポリシを配布する方法である。コンピューティングデバイス１００のネットワーク接続部１０６が新たなモジュール選定ポリシを受信すると、中央演算装置１０１が、新たなモジュール選定ポリシをモジュール選定ポリシ記憶部１１０に記憶させる。そして、モジュール選定モジュール１０４は、更新可能なソフトウェアモジュール１０５で実行中のソフトウェアモジュールを、新たなモジュール選定ポリシに従って選定しなおし、選定されたソフトウェアモジュールを実行状態にさせる。
【手続補正３３】
【補正対象書類名】明細書
【補正対象項目名】０１７９
【補正方法】変更
【補正の内容】
【０１７９】
＜第３の実施形態＞
第３の実施形態は、第１および第２の実施形態において、代替モジュールの使用の終了をサーバから各コンピューティングデバイスに通知する。
【手続補正３４】
【補正対象書類名】明細書
【補正対象項目名】０１８１
【補正方法】変更
【補正の内容】
【０１８１】
＜第４の実施形態＞
第４の実施形態は、使用するソフトウェアモジュールを選定する機能において、不具合が発見されたソフトウェアモジュールよりも他の不具合を含まないソフトウェアモジュールが優位な判定が得られるよう、該選定機能のソフトウェアモジュールを変更する方法である。結果としてどのソフトウェアモジュールに不具合が発見されたかを秘匿したまま、該ソフトウェアモジュールの使用を停止させ、不具合を利用した攻撃を防止する効果がある。
【手続補正３５】
【補正対象書類名】明細書
【補正対象項目名】０１８５
【補正方法】変更
【補正の内容】
【０１８５】
＜第５の実施形態＞
第５の実施形態は、本発明の実施の形態として、更新するソフトウェアモジュールを暗号処理のソフトウェアモジュールに限定する方法である。暗号処理はデータの秘匿あるいは電子署名による完全性保証などを目的とする数多くのアルゴリズムが存在し、任意に選択可能である。あるアルゴリズムについて実装上の不具合ではなく、アルゴリズムそのものが危殆化した場合、第１から第４の実施形態で示したそれぞれにより、特にシステムの安全性を高める効果がある。
【手続補正３６】
【補正対象書類名】明細書
【補正対象項目名】０１８７
【補正方法】変更
【補正の内容】
【０１８７】
また、本発明は、同一の機能を目的とするソフトウェアモジュールが複数のベンダから供給される場合において、あるベンダのソフトウェアモジュールに不具合が発見された場合に、同一の機能を供する複数のベンダのソフトウェアモジュールを代替するソフトウェアモジュールを配布する。利用する機器においては、ソフトウェアモジュールの選定機能により、目的の機能に対応したソフトウェアモジュールが選択される。第２の実施形態では、選定の基準となる指標が従来のソフトウェアモジュールよりも優等となるように調整したソフトウェアモジュールを配信する。別の実施形態は、選定方法の基準を変更する指示を配信し、新たに配布したソフトウェアモジュールが従来のソフトウェアモジュールを代替する。いずれの実施形態においても、運用者またはソフトウェアモジュール開発者が、適切な配布期間が経過し、代替のソフトウェアモジュールがコンピュータデバイスに適切に配布し終った後に、不具合を修正するソフトウェアモジュールを配布し有効化する。
【手続補正３７】
【補正対象書類名】明細書
【補正対象項目名】０１８８
【補正方法】変更
【補正の内容】
【０１８８】
以上説明した参考例および実施の形態は典型例として挙げたに過ぎず、その変形およびバリエーションは当業者にとっては明らかであり、当業者であれば本発明の原理および請求の範囲に記載した発明の範囲を逸脱することなく上述の実施形態の種々の変形を行えることは明らかである。
【手続補正３８】
【補正対象書類名】明細書
【補正対象項目名】０１８９
【補正方法】変更
【補正の内容】
【０１８９】
以上説明した参考例および実施の形態では、ネットワーク接続可能なコンピューティングデバイスをもって説明したが、本発明は、パーソナルコンピュータ、タブレットコンピュータ、ノート型コンピュータ、携帯情報端末、みにコンピュータおよびメインフレームコンピュータ、携帯電話機、無線通信装置、あるいは携帯電話機と携帯情報端末を組み合わせたハイブリッド型コンピューティングデバイスなど、多種類のコンピュータ、コンピューティングデバイス、あるいはコンピューティングシステムにおけるソフトウェアモジュールの配布のために実施され得る。
【手続補正３９】
【補正対象書類名】明細書
【補正対象項目名】０１９０
【補正方法】変更
【補正の内容】
【０１９０】
以上、この発明の参考例および実施形態について図面を参照して詳述してきたが、具体的な構成はこの参考例および実施形態に限られるものではなく、この発明の要旨を逸脱しない範囲の設計等も含まれる。