(57)【要約】【課題】双方の秘匿通信仕様が異なる場合に、セキュリティレベルの低い方の秘匿通信仕様に合意せずに、秘匿通信を実行可能とする。【解決手段】送信者装置及び受信者装置間で秘匿通信仕様を合意する秘匿通信仕様合意システムであって、各装置は、自己の秘匿通信仕様毎に秘匿通信仕様モジュールが記憶される秘匿通信仕様モジュール部２５と、一方の装置が自己の秘匿通信仕様を他方の装置に秘匿通信の合意処理のメッセージにより提示するセッション管理部２３と、提示された又は自己の秘匿通信仕様のうち、セキュリティレベルが高い方の秘匿通信仕様を秘匿通信の合意処理のメッセージにより合意する秘匿通信仕様決定部３１と、合意した仕様に対応する秘匿通信仕様モジュールを有する方の装置が当該秘匿通信仕様モジュールを他方の装置に秘匿通信の合意処理のメッセージにより配信するメッセージ制御部２２と、を備えている。【選択図】    図３
2004274480.tif 000002
【特許請求の範囲】
【請求項１】
第１エンティティ装置と第２エンティティ装置との間でネットワークを介して秘匿通信をする際に、両エンティティ装置間で秘匿通信仕様を合意するための秘匿通信仕様合意システムであって、
前記各エンティティ装置は、
自己が有する秘匿通信仕様毎に、当該秘匿通信仕様を実行するための秘匿通信仕様モジュールが記憶される手段と、
少なくとも一方のエンティティ装置が自己の有する秘匿通信仕様を他方のエンティティ装置に、秘匿通信の合意処理のメッセージを用いて提示する手段と、
前記提示された秘匿通信仕様及び自己が有する秘匿通信仕様のうち、セキュリティレベルが高い方の秘匿通信仕様を、秘匿通信の合意処理のメッセージを用いて合意する手段と、
前記合意した秘匿通信仕様に対応する秘匿通信仕様モジュールを有する方のエンティティ装置が当該秘匿通信仕様モジュールを、他方のエンティティ装置に秘匿通信の合意処理のメッセージを用いて配信する手段と、
を備えたことを特徴とする秘匿通信仕様合意システム。
【請求項２】
請求項１に記載の秘匿通信仕様合意システムにおいて、
前記各エンティティ装置は、
前記配信された秘匿通信仕様モジュールの正当性を検証する手段と、
前記検証の結果が正当性を示すとき、当該秘匿通信仕様モジュールを実行する手段と、
を備えたことを特徴とする秘匿通信仕様合意システム。
【請求項３】
第１エンティティ装置と第２エンティティ装置との間でネットワークを介して秘匿通信をする際に、両エンティティ装置間で秘匿通信仕様を合意するための秘匿通信仕様合意システムに用いられる各々のエンティティ装置であって、
自己が有する秘匿通信仕様毎に、当該秘匿通信仕様を実行するための秘匿通信仕様モジュールが記憶される手段と、
少なくとも一方のエンティティ装置が自己の有する秘匿通信仕様を他方のエンティティ装置に、秘匿通信の合意処理のメッセージを用いて提示する手段と、
前記提示された秘匿通信仕様及び自己が有する秘匿通信仕様のうち、セキュリティレベルが高い方の秘匿通信仕様を、秘匿通信の合意処理のメッセージを用いて合意する手段と、
前記合意した秘匿通信仕様に対応する秘匿通信仕様モジュールを有する方のエンティティ装置が当該秘匿通信仕様モジュールを、他方のエンティティ装置に秘匿通信の合意処理のメッセージを用いて配信する手段と、
を備えたことを特徴とするエンティティ装置。
【請求項４】
請求項３に記載のエンティティ装置において、
前記配信された秘匿通信仕様モジュールの正当性を検証する手段と、
前記検証の結果が正当性を示すとき、当該秘匿通信仕様モジュールを実行する手段と、
を備えたことを特徴とするエンティティ装置。
【請求項５】
第１エンティティ装置と第２エンティティ装置との間でネットワークを介して秘匿通信をする際に、両エンティティ装置間で秘匿通信仕様を合意するための秘匿通信仕様合意システムに関し、各エンティティ装置に用いられるプログラムであって、
前記各エンティティ装置のコンピュータを、
自己が有する秘匿通信仕様毎に、当該秘匿通信仕様を実行するための秘匿通信仕様モジュールをメモリに記憶させる手段、
少なくとも一方のエンティティ装置が自己の有する秘匿通信仕様を他方のエンティティ装置に、秘匿通信の合意処理のメッセージを用いて提示する手段、
前記提示された秘匿通信仕様及び自己が有する秘匿通信仕様のうち、セキュリティレベルが高い方の秘匿通信仕様を、秘匿通信の合意処理のメッセージを用いて合意する手段、
前記合意した秘匿通信仕様に対応する秘匿通信仕様モジュールを有する方のエンティティ装置が当該秘匿通信仕様モジュールを前記メモリから読出し、得られた秘匿通信仕様モジュールを他方のエンティティ装置に秘匿通信の合意処理のメッセージを用いて配信する手段、
として機能させるためのプログラム。
【請求項６】
請求項５に記載のプログラムにおいて、
前記各エンティティ装置のコンピュータを、
前記配信された秘匿通信仕様モジュールをメモリに記憶させる手段、
前記記憶させた秘匿通信仕様モジュールの正当性を検証する手段、
前記検証の結果が正当性を示すとき、当該秘匿通信仕様モジュールを実行する手段、
として機能させるためのプログラム。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、秘匿通信仕様を合意する秘匿通信仕様合意システム、装置及びプログラムに係り、両通信者の秘匿通信仕様のうち、最もセキュリティレベルの高いものを合意し得る秘匿通信仕様合意システム、装置及びプログラムに関する。
【０００２】
【従来の技術】
近年、インターネットの普及に伴い、オープンな環境での通信が一般的になり、通信経路上での通信の保護が求められてきている。インターネットにおけるＷＷＷ（Ｗｏｒｌｄ  Ｗｉｄｅ  Ｗｅｂ）システムなどでは、ＷＷＷクライアント装置とＷＷＷサーバ装置との間の通信を保護する場合、一般に、秘匿通信プロトコルが用いられる。
【０００３】
ここで、秘匿通信プロトコルは、主に通信内容の秘匿、通信相手の認証、通信内容の認証、及び暗号化鍵の交換等を統合的に処理するための通信規約である。具体的にはＳＳＬ（Ｓｅｃｕｒｅ  Ｓｏｃｋｅｔｓ  Ｌａｙｅｒ）、ＴＬＳ（Ｔｒａｎｓｐｏｒｔ  Ｌａｙｅｒ  Ｓｅｃｕｒｉｔｙ）及びＳ−ＨＴＴＰ（Ｓｅｃｕｒｅ  ＨＴＴＰ）等がある。
【０００４】
例えばＳＳＬ又はＴＬＳは、ＯＳＩ（Ｏｐｅｎ  Ｓｙｓｔｅｍｓ  Ｉｎｔｅｒｃｏｎｎｅｃｔｉｏｎ）７層モデルのセッション層を対象とし、上位層に対して透過的な秘匿通信を提供する。このため、ＳＳＬ及びＴＬＳは、標準的な秘匿通信プロトコルとして広く普及している（例えば、非特許文献１及び非特許文献２参照）。
【０００５】
また、ＯＳＩ７層モデルのネットワーク層における通信プロトコルであるＩＰ（Ｉｎｔｅｒｎｅｔ  Ｐｒｏｔｏｃｏｌ）を対象とした秘匿通信としてＩＰｓｅｃ（ＩＰ  Ｓｅｃｕｒｉｔｙ  Ｐｒｏｔｏｃｏｌ）がある。このＩＰｓｅｃは、ＩＰパケットレベルでの認証及び暗号化のための通信規約であり、ホスト単位での秘匿通信を実現し、ＶＰＮ（Ｖｉｒｔｕａｌ  Ｐｒｉｖａｔｅ  Ｎｅｔｗｏｒｋ）等に利用される。
【０００６】
以上のような秘匿通信を利用する場合、秘匿通信の仕様（暗号化仕様、圧縮仕様、データ認証仕様、鍵交換仕様、相互認証仕様など）は、通信エンティティ同士が予め保持していることが前提となっている場合が多い。
【０００７】
秘匿通信仕様が固定でない場合においても、双方のエンティティが有する秘匿通信仕様の中から合意可能な（互いのセキュリティポリシーを満たす）秘匿通信仕様を交渉することで秘匿通信を決定している。また、合意可能な秘匿通信仕様が無い場合には、秘匿通信を行なわない。
【０００８】
【非特許文献１】
Ｔ．  Ｄｉｅｒｋｓ  ａｎｄ  Ｃ．  Ａｌｌｅｎ、  ”Ｔｈｅ  ＴＬＳ  Ｐｒｏｔｏｃｏｌ  Ｖｅｒｓｉｏｎ  １．０”，  ＲＦＣ  ２２４６、  ［ｏｎｌｉｎｅ］、１９９９年１月、ＩＥＴＦ（Ｉｎｔｅｒｎｅｔ  Ｅｎｇｉｎｅｅｒｉｎｇ  Ｔａｓｋ  Ｆｏｒｃｅ）、［平成１３年１０月１９日検索］、インターネット＜ＵＲＬ：
ｈｔｔｐ：／／ｗｗｗ．ｉｅｔｆ．ｏｒｇ／ｒｆｃ／ｆｒｃ２２４６．ｔｘｔ＞
【０００９】
【非特許文献２】
Ｓ．  Ｂｌａｋｅ−Ｗｉｌｓｏｎ，  Ｍ．  Ｎｙｓｔｒｏｍ，  Ｄ．  Ｈｏｐｗｏｏｄ，  Ｊ．  Ｍｉｋｋｅｌｓｅｎ  ａｎｄ  Ｔ．  Ｗｒｉｇｈｔ、  “ＴＬＳ  Ｅｘｔｅｎｓｉｏｎｓ”，  Ｉｎｔｅｒｎｅｔ−Ｄｒａｆｔ、  ［ｏｎｌｉｎｅ］、  ２００１年６月２０日、ＩＥＴＦ（Ｉｎｔｅｒｎｅｔ  Ｅｎｇｉｎｅｅｒｉｎｇ  Ｔａｓｋ  Ｆｏｒｃｅ）、［平成１３年１０月１９日検索］、インターネット＜ＵＲＬ：
ｈｔｔｐ：／／ｗｗｗ．ｉｅｔｆ．ｏｒｇ／ｉｎｔｅｒｎｅｔ−ｄｒａｆｔｓ／ｄｒａｆｔ−ｉｅｔｆ−ｔｌｓ−ｅｘｔｅｎｓｉｏｎｓ−００．ｔｘｔ＞
【００１０】
【発明が解決しようとする課題】
しかしながら、以上のような秘匿通信の合意交渉では、双方のエンティティの秘匿通信仕様が互いに同一であれば問題ないが、双方の秘匿通信仕様が互いに異なる場合には、セキュリティレベルの低い方の秘匿通信仕様に合意する必要がある。現在の秘匿通信の合意交渉は、そのように行われている。
【００１１】
このとき、低い方の秘匿通信仕様が他方のエンティティのセキュリティポリシーを満たさない場合、即ち合意可能な秘匿通信仕様が無い場合には、秘匿通信を行なうことができない。この場合、秘匿通信のセッション確立を拒否して、合意交渉を中止する。
【００１２】
本発明は上記実情を考慮してなされたもので、双方の秘匿通信仕様が異なる場合に、セキュリティレベルの低い方の秘匿通信仕様に合意せずに、秘匿通信を実行し得る秘匿通信仕様合意システム、装置及びプログラムを提供することを目的とする。
【００１３】
また、本発明の他の目的は、セキュリティレベルの低い方の秘匿通信仕様がセキュリティレベルの高い方のセキュリティポリシーを満たさない場合に、合意交渉を中止せずに、秘匿通信を実行し得る秘匿通信仕様合意システム、装置及びプログラムを提供することを目的とする。
【００１４】
【課題を解決するための手段】
第１の発明は、第１エンティティ装置と第２エンティティ装置との間でネットワークを介して秘匿通信をする際に、両エンティティ装置間で秘匿通信仕様を合意するための秘匿通信仕様合意システムであって、前記各エンティティ装置は、自己が有する秘匿通信仕様毎に、当該秘匿通信仕様を実行するための秘匿通信仕様モジュールが記憶される手段と、少なくとも一方のエンティティ装置が自己の有する秘匿通信仕様を他方のエンティティ装置に、秘匿通信の合意処理のメッセージを用いて提示する手段と、前記提示された秘匿通信仕様及び自己が有する秘匿通信仕様のうち、セキュリティレベルが高い方の秘匿通信仕様を、秘匿通信の合意処理のメッセージを用いて合意する手段と、前記合意した秘匿通信仕様に対応する秘匿通信仕様モジュールを有する方のエンティティ装置が当該秘匿通信仕様モジュールを、他方のエンティティ装置に秘匿通信の合意処理のメッセージを用いて配信する手段と、を備えた秘匿通信仕様合意システムである。
【００１５】
これにより、双方の秘匿通信仕様が異なる場合に、セキュリティレベルの低い方の秘匿通信仕様に合意せずに、秘匿通信を実行することができる。また、セキュリティレベルの低い方の秘匿通信仕様がセキュリティレベルの高い方のセキュリティポリシーを満たさない場合に、合意交渉を中止せずに、秘匿通信を実行することができる。
【００１６】
なお、第１の発明は、各装置の集合からなる「システム」として表現したが、これに限らず、各装置の集合又は各装置毎に「装置」、「プログラム」、「コンピュータ読取り可能な記憶媒体」又は「方法」等とカテゴリーを変えて表現してもよいことは言うまでもない。
【００１７】
【発明の実施の形態】
以下、本発明の各実施形態について図面を参照して説明する。
【００１８】
（第１の実施形態）
図１は本発明の第１の実施形態に係る秘匿通信仕様合意システムの構成例を示す概要図である。この秘匿通信仕様合意システムは、第１エンティティ装置としての送信者（Ｉｎｉｔｉａｔｏｒ）装置１０が、インターネットに代表されるオープン・ネットワーク等のネットワークＮｗを介して、第２エンティティ装置としての受信者（Ｒｅｓｐｏｎｄｅｒ）装置４０に接続された構成となっている。
【００１９】
なお、送信者装置１０は、送信専用の装置としてもよいが、ここでは送受信可能な装置が送信に用いられた場合を意味している。同様に、受信者装置４０は、受信専用の装置としてもよいが、ここでは送受信可能な装置が受信に用いられた場合を意味している。
【００２０】
ここで、送信者装置２０は、通常のコンピュータ機能に加え、ネットワークＮｗを介して他の装置４０と秘匿通信をするための秘匿通信装置２０を備えている。
【００２１】
秘匿通信装置２０は、受信者装置４０へ秘匿通信確立要求をし、秘匿通信合意後にアプリケーションデータを送受信し合うものであり、予め設定されたセキュリティポリシーに従い、秘匿通信仕様を決定する機能をもっている。
【００２２】
ここで、秘匿通信装置２０は、周知の秘匿通信プロトコル実現機能に加え、本発明に係る秘匿通信合意機能及び秘匿通信仕様配信機能を有しており、入出力部２１、メッセージ制御部２２、セッション管理部２３、秘匿部（暗号化部２４ａ、圧縮部２４ｂ、データ認証部２４ｃ及び鍵交換部２４ｄ）２４、秘匿通信仕様モジュール部２５、秘匿通信仕様モジュール検証部２６、秘匿通信仕様モジュール制御部２７、公開鍵検証部２８、認証部２９、セキュリティポリシー部３０及び秘匿通信仕様決定部３１から構成される。
【００２３】
なお、各部２１〜３１のうち、周知の機能以外の機能は、メッセージ制御部２２の一部、セッション管理部２３の一部、秘匿通信仕様モジュール検証部２６、秘匿通信仕様モジュール制御部２７、秘匿通信仕様決定部３１等である。
【００２４】
メッセージ制御部２２は、周知のメッセージ制御機能に加え、秘匿通信仕様決定部３１の決定に基づいて、秘匿通信モジュール制御部２７から転送された秘匿通信仕様モジュールを配信する機能をもっている。
【００２５】
セッション管理部２３は、周知のセッション管理機能に加え、秘匿通信仕様モジュールの配信に関するセッションを管理する機能をもっている。なお、秘匿通信仕様モジュールは、秘匿通信仕様を実行するためのモジュールである。
【００２６】
秘匿通信仕様モジュール検証部２６は、他装置４０の秘匿通信仕様モジュールを用いる時、メッセージ制御部２２から受けた他装置４０の秘匿通信仕様モジュールを検証し、検証結果を秘匿通信仕様モジュール制御部２７に通知する機能をもっている。
【００２７】
秘匿通信仕様モジュール制御部２７は、秘匿通信仕様モジュール検証部２６による検証結果が正当性を示すとき、受信者装置４０から配信された秘匿通信仕様モジュールを実行する機能と、自装置２０の秘匿通信仕様モジュールを用いる時、秘匿通信仕様決定部３１から受ける秘匿通信仕様モジュールを実行する機能とをもっている。
【００２８】
秘匿通信仕様決定部３１は、セキュリティポリシー部３０に記憶されたセキュリティポリシーを参照しつつ、自装置２０と他装置４０の秘匿通信仕様を比較し、セキュリティレベルの高い方の秘匿通信仕様を用いることを決定するものであり、決定した結果が他装置４０の秘匿通信仕様モジュールを用いる旨を示すとき、その旨をセッション管理部２３に通知する機能をもっている。
【００２９】
一方、決定した結果が自装置４０の秘匿通信仕様モジュールを用いる旨を示すとき、秘匿通信仕様モジュール部２５内の該当する秘匿通信仕様モジュールを秘匿通信仕様モジュール制御部２７に転送する機能とをもっている。
【００３０】
なお、受信者装置４０は、送信者装置２０と同様の装置であり、同様の秘匿通信装置５０を備えている。この秘匿通信装置５０も、セキュリティポリシーの内容と秘匿通信仕様モジュールの内容とを除き、前述した秘匿通信装置２０と同様に構成されている。
【００３１】
また、各秘匿通信装置２０，５０は、例えば、ハードウェア構成とソフトウェア構成との組合せにより実現可能となっている。この場合、秘匿通信装置２０，５０の機能を実現するためのプログラムが予め記憶媒体又はネットワークから各装置１０，４０のコンピュータにインストールされている。
【００３２】
また、秘匿通信装置２０，５０は、プログラムがインストールされて実現される形態に限らず、例えば、チップ装置、カード装置又はボード装置等といった別体の装置として実現され、各装置１０，４０に搭載されてもよい。
【００３３】
次に、以上のように構成された秘匿通信仕様合意システムの動作を図３及び図４のシーケンス図を用いて説明する。
送信者装置１０の秘匿通信装置２０は、受信者装置４０との間に秘匿通信路を確立するために、秘匿通信確立要求を受信者装置４０に送信する。秘匿通信の合意交渉が必要な場合、送信者装置の秘匿通信装置２０は、自己の有する秘匿通信仕様を示した秘匿通信仕様リストを提示する（ＳＴ１）。
【００３４】
受信者装置４０の秘匿通信装置５０は、自己のセキュリティポリシーに従い、秘匿通信仕様決定部により秘匿通信仕様を決定する。このとき、送信者装置１０の秘匿通信装置２０の秘匿通信仕様の方が、自己の秘匿通信仕様よりもセキュリティポリシーを満たしていた（秘匿通信仕様のセキュリティレベルが高いなど）場合には、提示された秘匿通信仕様より一つ選択し、セッション（＝確立する秘匿通信路）で利用する通信用秘匿通信仕様とする。
【００３５】
また同時に、秘匿通信仕様モジュールを配信するための配信用秘匿通信仕様を決定する。これは両エンティティが有する秘匿通信仕様のサブセットの中で、最もセキュリティレベルの高いものを選択する。但し、この選択に代えて、デフォルトで規定する構成にしてもよい。
【００３６】
受信者装置４０の秘匿通信装置５０は、通信用秘匿通信仕様及び配信用秘匿通信仕様を送信者装置２０に指定する（ＳＴ２）。
【００３７】
送信者装置１０の秘匿通信装置２０は、指定された各秘匿通信仕様が自己のセキュリティポリシーを満たしているかを判断し、満たしていた場合には合意交渉を継続する。
【００３８】
秘匿通信仕様の合意がなされた後、配信用秘匿通信仕様に従い、通信パラメータを交換及び通信相手のエンティティを認証する（ＳＴ３）。これらの処理は各秘匿通信仕様に規定されているものを利用する。
【００３９】
上記手順により共有した配信用秘匿通信仕様の通信パラメータを用い、セキュリティポリシーをより満たす方の通信用秘匿通信仕様モジュールを暗号化して配信する。この配信は、通信用秘匿通信仕様モジュールを有する方の装置４０又は１０が行なう（図３のＳＴ４、又は図４のＳＴ４ａ）。
【００４０】
暗号化された通信用秘匿通信仕様モジュールを受信した装置１０又は４０は、この通信用秘匿通信仕様モジュールをメモリ等に記憶した後、この通信用秘匿通信仕様モジュールに予め施されたデジタル署名を検証し、受信したモジュールの正当性を確認する。このデジタル署名は、秘匿通信仕様モジュール作成者自身又は認証機関のいずれが施したものとしてもよい。
【００４１】
次に、各装置１０，４０の秘匿通信装置２０，５０は、通信用秘匿通信仕様に従い通信パラメータを交換する（ＳＴ５）。この交換は、配信用秘匿通信仕様の通信パラメータ交換のときに同時に行ってもよい。
【００４２】
上記手順により共有した通信用秘匿通信仕様の通信パラメータを用いて、アプリケーションデータ（秘匿したい通信データ）を秘匿通信路上で送受信を行う（ＳＴ６）。
【００４３】
上述したように本実施形態によれば、送信者装置１０及び受信者装置４０の双方の秘匿通信仕様が異なる場合に、秘匿通信仕様決定部３１が自装置２０と他装置４０の秘匿通信仕様を比較し、セキュリティレベルの高い方の秘匿通信仕様を用いることを決定する構成により、セキュリティレベルの低い方の秘匿通信仕様に合意せずに、秘匿通信を実行することができる。
【００４４】
また、これにより、セキュリティレベルの低い方の秘匿通信仕様がセキュリティレベルの高い方のセキュリティポリシーを満たさない場合に、合意交渉を中止せずに、秘匿通信を実行することができる。
【００４５】
また、より好ましい使い方として、双方が有する秘匿通信仕様の中で最もセキュリティレベルの高い秘匿通信仕様を選択することを実現できる。また、秘匿通信仕様を動的に変更することもできる。
【００４６】
（第２の実施形態）
図５は本発明の第２の実施形態に係る秘匿通信合意システムの構成例を示す概要図である。
【００４７】
本実施形態は、第１の実施形態の具体例であり、ＷＷＷシステム等にて一般的な秘匿通信プロトコルであるＳＳＬ／ＴＬＳを例として用いるものである。
【００４８】
通信形態及び秘匿通信を行うエンティティについては、一般的なＷＷＷシステムにおけるクライアント装置１０’とサーバ装置４０’による通信を想定して説明する。各装置１０’，４０’の秘匿通信装置２０，５０は、ＳＳＬ／ＴＬＳの基本仕様を満たしたハードウェア構成、又はハードウェアとソフトウェアとの組合せ構成からなるものとする。
【００４９】
また、合意対象の秘匿通信仕様は、暗号アルゴリズム及び鍵交換アルゴリズム、一方向性関数を示した暗号化仕様（ＣｉｐｈｅｒＳｕｉｔｅｓ）とする。但し、配信対象とするモジュールは、鍵交換アルゴリズムを除く。
【００５０】
互いに対応していない暗号化仕様の交換は、暗号化仕様モジュール（暗号化仕様を実行するためのモジュール：ＤＬＬ（Ｄｙｎａｍｉｃ  Ｌｉｎｋ  Ｌｉｂｒａｒｙ）ファイル、クラスファイルなど）を送信することで実現される。暗号化仕様モジュールは、正当性の保証用に暗号化仕様モジュール作成者自身もしくは認証機関のデジタル署名が施されたものとする。
【００５１】
次に、以上のように構成された秘匿通信仕様合意システムの動作を図６及び図７のシーケンス図を用いて説明する。なお、各シーケンス図は秘匿通信のハンドシェイク（Ｈａｎｄｓｈａｋｅ）プロトコルを表している。
【００５２】
始めにクライアント装置１０’の秘匿通信装置２０は、所望サービスを提供するサービスプロバイダ等のサーバ装置４０’にセッション確立要求を送信する（ＳＴ１−１）。
【００５３】
サーバ装置４０’の秘匿通信装置５０は、ハンドシェイク開始を宣言するハローリクエスト（ＨｅｌｌｏＲｅｑｕｅｓｔ）メッセージをクライアント装置１０’に送信する（ＳＴ１−２）。
【００５４】
クライアント装置１０’の秘匿通信装置２０は、クライアント乱数（ＣｌｉｅｎｔＲａｎｄｏｍ）と、自己の有する暗号化仕様（ＣｉｐｈｅｒＳｕｉｔｅｓ）及び圧縮仕様（ＣｏｍｐｒｅｓｓｉｏｎＭｅｔｈｏｄ）からなる暗号化仕様リストとを含むクライアントハロー（ＣｌｉｅｎｔＨｅｌｌｏ）メッセージをサーバ装置４０’に送信する（ＳＴ１−３）。
【００５５】
ここで、暗号化仕様リストは、クライアント装置１０’の秘匿通信装置２０が後述する秘匿通信仕様の配信処理に対応する旨を示す拡張暗号化仕様（ＥｘｔｅｎｓｉｏｎＣｉｐｈｅｒＳｕｉｔｅ）コードが追加されている。なお、拡張暗号化仕様コードは、標準で規定された暗号化仕様を示すコードと衝突しない値となっている。この拡張暗号化仕様は、特定の暗号化仕様に対応せずに、クライアント装置１０’における秘匿通信装置２０の暗号化仕様受入可能を示すものである。また、必要により、クライアント装置１０’のオペレーションシステムなどの情報を含めてもよい。
【００５６】
サーバ装置４０’の秘匿通信装置５０は、受信した暗号化仕様リストの中より自己のセキュリティポリシーを満たす暗号化仕様を選択する。
【００５７】
＜サーバ装置４０’からクライアント装置１０’への暗号化仕様配信＞
サーバ装置４０’の秘匿通信装置５０は、受信した暗号化仕様リストに自己のセキュリティポリシーを満たす暗号化仕様が無い場合、自己の有する暗号化仕様の指定を含むサーバハロー（ＳｅｒｖｅｒＨｅｌｌｏ）メッセージをクライアント装置１０’に送信する（ＳＴ２−１）。
【００５８】
また同時に、サーバ装置４０’の秘匿通信装置５０は、受信した暗号化仕様リストより配信用暗号化仕様を指定する。配信用暗号化仕様は、暗号化仕様モジュールを配信する際に使用する暗号化仕様である。
【００５９】
クライアント装置１０’の秘匿通信装置２０は、サーバハローメッセージにより指定された暗号化仕様が受入可能であればハンドシェイクを続行し、受入拒否であれば、警報（Ａｌｅｒｔ）メッセージを送信してハンドシェイクを中止する。
【００６０】
ハンドシェイク続行の場合、クライアント鍵交換（ＣｌｉｅｎｔＫｅｙＥｘｃｈａｎｇｅ）メッセージまでのシーケンスを行う（ＳＴ２−２〜ＳＴ３−５）。クライアント鍵交換メッセージにより、クライアント装置１０’が生成したプリマスタシークレットをサーバ装置４０’へ送信し（ＳＴ３−５，ＳＴ３−６）、クライアント装置１０’とサーバ装置４０’間でセッション鍵（セッションで利用する通信パラメータ：ステート）を共有する。
【００６１】
標準のステートで使用する主要パラメータは、サーバハローメッセージとクライアントハローメッセージで送信された乱数（サーバランダム、クライアントランダム）とプリマスタシークレットより生成される。ここで、主要パラメータとは、クライアント書込みＭＡＣシークレット、サーバ書込みＭＡＣシークレット、クライアント書込みキー、サーバ書込みキー、クライアント書込み初期ベクタ及びサーバ書込み初期ベクタである。
【００６２】
サーバランダム、クライアントランダム及びプリマスタシークレットを擬似乱数生成関数ＰＲＦ（ｐｓｅｕｄｏ−ｒａｎｄｏｍ  ｆｕｎｃｔｉｏｎ）の入力として得た値をマスタシークレットとする。
【００６３】
次に、マスタシークレット、サーバランダム及びクライアントランダムを同様に疑似乱数生成関数ＰＲＦに入力して得た値をキーブロックとし、このキーブロックを必要なサイズに分割して、各パラメータを得る。このとき、本来余分なキーブロックは破棄されるが、本実施形態では配信暗号化用パラメータ（配信書込みキー、配信書込み初期ベクタ）分のキーブロックを余分に生成する。
【００６４】
サーバ装置４０’及びクライアント装置１０’の各秘匿通信装置２０，５０は、互いに各パラメータを正常に生成すると、配信用仕様交換（ＤｅｌｉｖｅｒｙＣｉｐｈｅｒＳｐｅｃ）メッセージを送信し合い（ＳＴ３−７，ＳＴ３−８）、互いの配信用暗号化パラメータを有効化する。
【００６５】
サーバ装置４０’の秘匿通信装置５０は、有効化した配信暗号化用パラメータに基づいて、配信する暗号化仕様モジュールを暗号化し、暗号化された暗号化仕様モジュールを暗号配信（ＤｅｌｉｖｅｒｙＣｉｐｈｅｒ）メッセージにて送信する（ＳＴ４−１）。また、暗号化仕様モジュールのディジタル署名を検証するための証明書（公開鍵証明書）があれば、証明書配信（ＤｅｌｉｖｅｒｙＣｅｒｔｉｆｉｃａｔｅ）メッセージをクライアント装置１０’へ送信する（ＳＴ４−２）。
【００６６】
クライアント装置１０’の秘匿通信装置２０は、受信した暗号配信メッセージより暗号化仕様を復号し、証明書配信メッセージの公開鍵証明書により正当性を検証する。
【００６７】
クライアント装置１０’の秘匿通信装置２０は、受信した暗号化仕様モジュールを受け入れるのであれば配信完了（ＤｅｌｉｖｅｒｙＤｏｎｅ）メッセージを送信し（ＳＴ４−３）、受入拒否であれば警報メッセージを送信する。
【００６８】
クライアント装置１０’の秘匿通信装置２０は、配信完了メッセージの送信後、暗号化仕様モジュールをインポートして、使用可能な状態とする。
【００６９】
クライアント装置１０’とサーバ装置４０’の各秘匿通信装置２０，５０は、上記の通信用ステートに切り替えたことを通知するために互いに暗号仕様交換（ＣｈａｎｇｅＣｉｐｈｅｒＳｐｅｃ）メッセージを送信し合い（ＳＴ５−１〜ＳＴ５−３）、終了（Ｆｉｎｉｓｈ）メッセージでハンドシェイクを終了する（ＳＴ５−４）。
【００７０】
ハンドシェイク終了後、上記交換した暗号化仕様を用いてアプリケーションデータを送受信する（ＳＴ６）。
【００７１】
＜クライアント装置１０’からサーバ装置４０’への暗号化仕様配信＞
クライアント装置１０’からサーバ装置４０’へ暗号化仕様を配信する場合は、上記サーバハローメッセージにて暗号化仕様を指定する際に、クライアント装置１０’の暗号化仕様リストより配信希望の暗号化仕様を選択し、同時にクライアント装置１０’の暗号化仕様リストより配信用暗号化仕様を指定する。このとき、必要により、サーバ装置４０’のオペレーションシステムなどの情報を含めてもよい。
【００７２】
クライアント装置１０’の秘匿通信装置２０は、サーバハローメッセージにより指定された暗号化仕様が配信可能であればハンドシェイクを続行し、配信拒否であれば警報メッセージを送信してハンドシェイクを中止する。
【００７３】
その後のシーケンスは、前述したシーケンスと同様である。但し、暗号配信メッセージ及び証明書配信メッセージは、クライアント装置１０’の秘匿通信装置２０からサーバ装置４０’へ送信される（ＳＴ４ａ−１，ＳＴ４ａ−２）。
【００７４】
上述したように本実施形態によれば、第１の実施形態の効果に加え、ＳＳＬ／ＴＳＬの如き、具体的な秘匿通信プロトコル上で実現させることができる。
【００７５】
なお、本実施形態の変形例として、プライベートな暗号化仕様を利用する場合、クライアントハローメッセージ及びサーバハローメッセージ内に暗号化仕様の詳細説明を示す拡張項目を加えてもよい。
【００７６】
また、本実施形態の変形例として、相互接続を考慮する場合、上記使用した拡張項目は、ＴＬＳの汎用拡張仕様「ＴＬＳ  Ｅｘｔｅｎｓｉｏｎｓ」のような拡張を行ってもよい。本発明は、拡張項目の表現・記述方法に関し、任意の方法が使用可能である。
【００７７】
なお、上記各実施形態に記載した手法は、コンピュータに実行させることのできるプログラムとして、磁気ディスク（フロッピー（登録商標）ディスク、ハードディスクなど）、光ディスク（ＣＤ−ＲＯＭ、ＤＶＤなど）、光磁気ディスク（ＭＯ）、半導体メモリなどの記憶媒体に格納して頒布することもできる。
【００７８】
また、この記憶媒体としては、プログラムを記憶でき、かつコンピュータが読み取り可能な記憶媒体であれば、その記憶形式は何れの形態であっても良い。
【００７９】
また、記憶媒体からコンピュータにインストールされたプログラムの指示に基づきコンピュータ上で稼働しているＯＳ（オペレーティングシステム）や、データベース管理ソフト、ネットワークソフト等のＭＷ（ミドルウェア）等が本実施形態を実現するための各処理の一部を実行しても良い。
【００８０】
さらに、本発明における記憶媒体は、コンピュータと独立した媒体に限らず、ＬＡＮやインターネット等により伝送されたプログラムをダウンロードして記憶または一時記憶した記憶媒体も含まれる。
【００８１】
また、記憶媒体は１つに限らず、複数の媒体から本実施形態における処理が実行される場合も本発明における記憶媒体に含まれ、媒体構成は何れの構成であっても良い。
【００８２】
尚、本発明におけるコンピュータは、記憶媒体に記憶されたプログラムに基づき、本実施形態における各処理を実行するものであって、パソコン等の１つからなる装置、複数の装置がネットワーク接続されたシステム等の何れの構成であっても良い。
【００８３】
また、本発明におけるコンピュータとは、パソコンに限らず、情報処理機器に含まれる演算処理装置、マイコン等も含み、プログラムによって本発明の機能を実現することが可能な機器、装置を総称している。
【００８４】
なお、本願発明は、上記各実施形態に限定されるものでなく、実施段階ではその要旨を逸脱しない範囲で種々に変形することが可能である。また、各実施形態は可能な限り適宜組み合わせて実施してもよく、その場合、組み合わされた効果が得られる。さらに、上記各実施形態には種々の段階の発明が含まれており、開示される複数の構成要件における適宜な組み合わせにより種々の発明が抽出され得る。例えば実施形態に示される全構成要件から幾つかの構成要件が省略されることで発明が抽出された場合には、その抽出された発明を実施する場合には省略部分が周知慣用技術で適宜補われるものである。
【００８５】
その他、本発明はその要旨を逸脱しない範囲で種々変形して実施できる。
【００８６】
【発明の効果】
以上説明したように本発明によれば、双方の秘匿通信仕様が異なる場合に、セキュリティレベルの低い方の秘匿通信仕様に合意せずに、秘匿通信を実行できる。また、低い方の秘匿通信仕様が高い方のセキュリティポリシーを満たさない場合に、合意交渉を中止せずに、秘匿通信を実行できる。
【図面の簡単な説明】
【図１】本発明の第１の実施形態に係る秘匿通信仕様合意システムの構成例を示す概要図
【図２】同実施形態における秘匿通信装置の構成を示す機能ブロック図
【図３】同実施形態における動作を説明するためのシーケンス図
【図４】同実施形態における動作を説明するためのシーケンス図
【図５】本発明の第２の実施形態に係る秘匿通信仕様合意システムの構成例を示す概要図
【図６】同実施形態における動作を説明するためのシーケンス図
【図７】同実施形態における動作を説明するためのシーケンス図
【符号の説明】
１０…送信者装置
２０，４０…秘匿通信装置
２０’…クライアント装置
２１…入出力部
２２…メッセージ制御部
２３…セッション管理部
２４…秘匿部
２４ａ…暗号化部
２４ｂ…圧縮部
２４ｃ…データ認証部
２４ｄ…鍵交換部
２５…秘匿通信仕様モジュール部
２６…秘匿通信仕様モジュール検証部
２７…秘匿通信仕様モジュール制御部
２８…公開鍵検証部
２９…認証部
３０…セキュリティポリシー部
３１…秘匿通信仕様決定部
Ｎｗ…ネットワーク
４０…受信者
４０’…サーバ装置
【図１】
2004274480.tif 000003
【図２】
2004274480.tif 000004
【図３】
2004274480.tif 000005
【図４】
2004274480.tif 000006
【図５】
2004274480.tif 000007
【図６】
2004274480.tif 000008
【図７】
2004274480.tif 000009