(57)【要約】      （修正有）【課題】  フルメッシュ網において、各端末が他端末の意思を確認するためのコミュニケーションシステム、コミュニケーション方法およびそのプログラムを提供する。【解決手段】  応対端末と、メンバ端末と、許可情報生成モジュールと、コネクション確立情報生成モジュールと、ＶＳＳ分散符号化モジュールと、ＶＳＳ復号化モジュールと、シェア検証モジュールと、共通鍵生成モジュールと、データベースと、許可情報比較モジュールと、コネクション確立情報比較モジュールと、公開鍵暗号化方式暗号化モジュールと、共通鍵暗号化方式暗号化モジュールと、ｄｉｇｅｓｔ生成モジュールと、公開鍵暗号化方式復号化モジュールと、共通鍵暗号化方式復号化モジュールと、意思入力モジュールと、メッセージ生成モジュールと、制御モジュールと、メッセージ不正判断モジュールと、メッセージ解析モジュールと、メッセージ処理モジュールと、を備える。【選択図】      図２
2006128869.tif 000002
【特許請求の範囲】
【請求項１】
ネットワークに接続されている複数の端末もしくは公開鍵サーバとの通信を行い、複数の前記端末に対してはコネクションを確立することでコミュニティを形成し、かつ、前記公開鍵サーバに対しては公開鍵取得要求により公開鍵を取得するためのコミュニケーションシステムであって、
２つ以上の前記端末間のフルメッシュのコネクションで形成されるフルメッシュ網により形成された前記コミュニティと、
前記コミュニティに属していない新規端末を前記コミュニティに招待することの要求がされているか、または、前記コミュニティに属していない新規端末が前記コミュニティへ属することの要求を受けた前記コミュニティに属する端末のいずれかにより構成される応対端末と、
前記応対端末以外の前記コミュニティに属する端末により構成されるメンバ端末と、
前記コミュニティへ新規端末を参加・加入させる場合に、この参加・加入の可否を決定するための投票用情報の作成の基礎となる情報であって、新規端末が前記メンバ端末のそれぞれに前記コネクションの確立を要求する場合に、その新規端末が前記コミュニティの前記メンバ端末および前記応対端末から前記参加・加入に対する賛成を得ているかどうかを確認するための情報である許可情報を生成するための許可情報生成モジュールと、
新規端末が前記メンバ端末と前記コネクションを確立したかどうかを前記応対端末が確認するために必要なコネクション確立情報を生成するコネクション確立情報生成モジュールと、
前記メンバ端末がそれぞれ独立に生成した許可情報を検証可秘密分散の（ｋ、ｎ）閾値法（ｋ≦ｎ）によって分散符号化し、投票用情報であるｎ個の許可情報シェアと１個の許可情報シェア検証用情報を生成し、同様にコネクション確立情報を秘密分散法の（ｋ、ｎ）閾値法（ｋ≦ｎ）によって分散符号化し、ｎ個のコネクション確立情報シェアを生成し、同様に前記コミュニティに参加・加入している全端末数が３以上のときに新規端末の宛先情報を前記検証可秘密分散の（ｋ、ｎ）閾値法（ｋ≦ｎ）によって分散符号化し、ｎ個の宛先情報シェアと１個の宛先情報シェア検証用情報を生成するためのＶＳＳ分散符号化モジュールと、
前記秘密分散法または前記検証可秘密分散の（ｋ、ｎ）閾値法によって、ｎ個の分散符号化されたシェアからｋ個以上のシェアを利用することで元の情報を復元するためのＶＳＳ復号化モジュールと、
前記許可情報シェア検証用情報と前記宛先情報シェア検証用情報を利用し、ＶＳＳにより前記許可情報シェアと前記コネクション確立情報シェアと前記宛先情報シェアに不正がないかどうかを確認するシェア検証モジュールと、
共通鍵暗号化方式によるセッションキーを生成する共通鍵生成モジュールと、
を有し、
前記許可情報生成モジュールで生成する前記許可情報と、前記ＶＳＳ分散符号化モジュールと前記許可情報とを利用して生成する前記許可情報シェアと、前記許可情報シェア検証用情報と、前記コネクション確立情報生成モジュールで生成するコネクション確立情報と、前記ＶＳＳ分散符号化モジュールと前記コネクション確立情報とを利用して生成する前記コネクション確立情報シェアと、前記共通鍵生成モジュールで生成するセッションキーと、前記公開鍵サーバに問い合わせることで取得する自端末以外の他の端末の公開鍵と、自端末の秘密鍵および公開鍵と、他の端末の宛先情報と、前記ＶＳＳ分散符号化モジュールと宛先情報とを利用して生成する前記宛先情報シェアと、前記宛先情報シェア検証用情報と、前記コミュニティに参加・加入している全ての端末を網羅した端末リストと、を管理するデータベースと、
前記新規端末が前記メンバ端末の各々に前記コネクションの確立を要求する場合に、前記メンバ端末において前記新規端末が前記コミュニティに属する他の端末から前記賛成を得ているかどうかを、前記新規端末から取得した前記許可情報シェアと、自端末の前記データベースで管理する前記許可情報シェアと、前記ＶＳＳ復号化モジュールと、を利用して復元した許可情報と、自端末の前記データベースで管理する許可情報と、を比較し確認するための許可情報比較モジュールと、
前記応対端末が前記新規端末からアクセスを受けた場合に、全ての前記メンバ端末と前記コネクションを確立しているかどうかを、前記新規端末から取得した前記コネクション確立情報シェアと、自端末の前記データベースで管理する前記コネクション確立情報シェアと、前記ＶＳＳ復号化モジュールと、を利用して復元した前記コネクション確立情報と、自端末の前記データベースで管理するコネクション確立情報と、を比較し確認するためのコネクション確立情報比較モジュールと、
暗号化の依頼を受けた情報を公開鍵暗号化方式により暗号化するための公開鍵暗号化方式暗号化モジュールと、
暗号化の依頼を受けた情報を共通鍵暗号化方式により暗号化するための共通鍵暗号化方式暗号化モジュールと、
複数の情報の変換結果が同一になることが困難なハッシュ関数の一種であるメッセージダイジェスト関数を利用して任意情報のダイジェストを生成するためのｄｉｇｅｓｔ生成モジュールと、
復号化の依頼を受けた情報を公開鍵暗号化方式により復号化するための公開鍵暗号化方式復号化モジュールと、
復号化の依頼を受けた情報を共通鍵暗号化方式により復号化するための共通鍵暗号化方式復号化モジュールと、
前記コネクションを確立するかどうかの決定と、前記コミュニティへの前記新規端末の参加・加入に対する賛否の一次決定と、前記コミュニティへの前記新規端末の参加・加入に対する賛否の最終決定と、前記コミュニティに参加・加入するかどうかの決定と、のそれぞれの決定をするための意思入力モジュールと、
要求された内容のメッセージを生成し、前記メッセージの生成の要求時に渡された情報を前記メッセージに添付する場合において、前記メッセージに電子署名と暗号化を施す場合は、前記公開鍵暗号方式暗号化モジュールと前記共通鍵暗号方式モジュールと前記ｄｉｇｅｓｔ生成モジュールとをもって前記添付を実行し、一方、前記暗号化のみを施す場合は、前記共通鍵暗号方式モジュールをもって前記添付を実行するためのメッセージ生成モジュールと、
前記許可情報の生成を前記許可情報生成モジュールに依頼し、前記コネクション確立情報の生成を前記コネクション確立情報生成モジュールに依頼し、前記許可情報シェアと、前記許可情報シェア検証用情報と、または前記コネクション確立情報シェアと、または前記宛先情報シェアと、前記宛先情報シェア検証用情報と、を生成することを前記ＶＳＳ分散符号化モジュールに依頼し、前記許可情報シェアの公開鍵による暗号化を前記公開鍵暗号方式暗号化モジュールに依頼し、暗号化された前記許可情報シェアの復号化を前記公開鍵暗号方式復号化モジュールに依頼し、前記意思入力モジュールに前記決定を下すように依頼し、前記宛先情報シェアから前記宛先情報を復元するように前記ＶＳＳ復号化モジュールに依頼し、前記許可情報の比較を前記許可情報比較モジュールに依頼し、前記コネクション確立情報の比較を前記コネクション確立情報比較モジュールに依頼し、前記セッションキーの生成を前記共通鍵生成モジュールに依頼し、前記シェア検証モジュールに、許可情報シェアか、または宛先情報シェアの不正チェックを依頼し、前記データベースに各種情報の問い合わせと保存を行って前記メッセージ生成モジュールに前記メッセージの生成を依頼するための制御モジュールと、
全ての端末について、受信された前記メッセージの送受信中に不正行為が行われていないかどうかを確認するために、前記メッセージに含まれるダイジェストと該メッセージの内容とから前記ｄｉｇｅｓｔ生成モジュールでもって生成されたダイジェストに相違がないかどうかを比較するためのメッセージ不正判断モジュールと、
全ての端末について、受信された前記メッセージに電子署名と暗号化が施されている場合は、前記公開鍵暗号化方式復号化モジュールと、前記共通鍵暗号方式復号化モジュールと、をもって前記メッセージを解読し、さらに、前記メッセージの解読に必要となる発信元端末の公開鍵を前記データベースに持っていない場合において、前記制御モジュールを通じて前記公開鍵サーバに対し公開鍵を取得するように要求し、解読処理後に前記メッセージに不正行為が行われていないかどうかを確認するために、得られた前記メッセージの内容とダイジェストから前記メッセージの内容をもって前記ｄｉｇｅｓｔ生成モジュールによりダイジェストを生成し、２つの前記ダイジェストを前記メッセージ不正判断モジュールに渡し、不正行為の有無の確認を依頼し、不正行為がなければ前記制御モジュールにメッセージ内容を渡し、一方、前記メッセージに暗号化だけが施されている場合は、前記共通鍵暗号化方式復号化モジュールによって前記メッセージを復号し、この復号後の前記メッセージの内容を前記制御モジュールへ渡すためのメッセージ解析モジュールと、
前記メッセージ生成モジュールによって生成された前記メッセージを、外部の端末または前記公開鍵サーバに対して送信し、外部の端末または公開鍵サーバから受信したメッセージを前記メッセージ解析モジュールに渡すためのメッセージ処理モジュールと、
を備えることを特徴とするコミュニケーションシステム。
【請求項２】
前記許可情報生成モジュールは、
前記許可情報を、生成時の時刻情報と、前記新規端末の前記宛先情報と、任意のランダムなキーワードと、により構成し生成することを特徴とする請求項１に記載のコミュニケーションシステム。
【請求項３】
前記コネクション確立情報生成モジュールは、
前記コネクション確立情報を、生成時の時刻情報と、前記新規端末の前記宛先情報と、任意のランダムなキーワードと、により構成し生成することを特徴とする請求項１または２のいずれかに記載のコミュニケーションシステム。
【請求項４】
全端末数が２つの場合において、
前記応対端末が、前記メンバ端末に前記新規端末の前記コミュニティへの参加・加入に対する賛否を伺い、前記メンバ端末は賛成の場合に独立に生成した前記許可情報を元に前記ＶＳＳ分散符号化モジュールにより投票用情報である前記許可情報シェアを閾値（３、３）により３個生成し、そのうちの一つを前記応対端末に配布する第一段階と、
前記第一段階で前記メンバ端末が賛成であった場合に、前記メンバ端末は自端末が持つ１つの前記許可情報シェアを賛成票として前記応対端末に提出し、前記新規端末を前記コミュニティに参加・加入させるかどうかを決定する第二段階と、
前記第二段階において前記メンバ端末が賛成であった場合に、前記応対端末が前記メンバ端末から賛成票として回収した１個と、前記応対端末が持つ１個と、を併せた２個の前記許可情報シェアを前記新規端末に前記コミュニティへの参加・加入するためのチケットとして提供し、前記新規端末が前記メンバ端末と前記コネクションを確立する際に、前記応対端末から取得した全ての前記許可情報シェアを、前記コネクションの確立要求を行うメッセージに添付する第三段階と、を有し、
あるいは、全端末数が３つ以上の場合において、
前記応対端末が全ての前記メンバ端末に前記新規端末の前記コミュニティへの参加・加入に対する賛否を伺い、各々の前記メンバ端末は独立に生成した前記許可情報を元に前記ＶＳＳ分散符号化モジュールにより閾値（（全端末数）、（全端末数））で（全端末数）個の前記許可情報シェアと、１個の前記許可情報シェア検証用情報と、を生成し、（全端末数）個のうちの（全端末数−１）個の前記許可情報シェアをそれぞれ他の全ての前記メンバ端末と前記応対端末に１つずつ配布し、同時に前記許可情報シェア検証用情報を配布した後を第一段階とし、
前記第一段階で全ての前記メンバ端末が賛成であった場合に、各々の前記メンバ端末は他の全ての前記メンバ端末から取得した（全端末数−２）個の前記許可情報シェアを賛成票として前記応対端末に提出することで、前記新規端末を前記コミュニティに参加・加入させるかどうかを決定することを第二段階とし、
前記第二段階において全ての前記メンバ端末が賛成であった場合に、前記応対端末が全ての前記メンバ端末から賛成票として回収した（全端末数−２）×（全端末数−１）個と前記応対端末が持つ（全端末数−１）個とを併せた、（全端末数−１）×（全端末数−１）個の前記許可情報シェアを前記新規端末に前記コミュニティへの参加・加入するためのチケットとして提供し、前記新規端末が各々の前記メンバ端末と前記コネクションを確立する際に、前記応対端末から取得した全ての前記許可情報シェアを前記コネクションの確立要求を行うメッセージに添付する第三段階とすることを特徴とする請求項１〜３のいずれかに記載のコミュニケーションシステム。
【請求項５】
前記第一段階は、
各々の前記メンバ端末が前記許可情報シェアを配布する場合において、
全端末数が２つのときは、前記メンバ端末は自端末が生成した３個の前記許可情報シェアのうちの一つを前記応対端末に配布し、また一つは自端末の賛成票とし、残りの一つの前記許可情報シェアは他端末に一切漏らすことなく管理し、
全端末数が３つ以上のときは、各々の前記メンバ端末は自端末が生成した（全端末数）個の前記許可情報シェアのうち、（全端末数−１）個は他の端末に配布し、残りの一つの前記許可情報シェアと前記許可情報はそれぞれが他端末に一切漏らすことなく管理することを特徴とする請求項４に記載のコミュニケーションシステム。
【請求項６】
前記メンバ端末が前記応対端末に前記許可情報シェアを提出する場合において、または前記応対端末が各々の前記メンバ端末から取得した前記許可情報シェアを前記新規端末に提供する場合において、
自端末の前記宛先情報を含めて前記新規端末の公開鍵を利用して前記公開鍵暗号方式暗号化モジュールにより暗号化して提出することを特徴とする請求項５に記載のコミュニケーションシステム。
【請求項７】
前記第二段階において、
全ての前記メンバ端末が前記応対端末に賛成票を提出した場合に、前記応対端末は前記コネクション確立情報生成モジュールにより前記コネクション確立情報を生成し、前記コネクション確立情報を前記ＶＳＳ分散符号化モジュールにより、閾値（（全端末数）、（全端末数））で分散符号化して得られた（全端末数）個の前記コネクション情報シェアのうちの（全端末数−１）を全ての前記メンバ端末にそれぞれ一つずつに提供し、残りの一つの前記コネクション確立情報シェアと、その元の情報である前記コネクション確立情報を前記データベースでもって外部に漏洩なく管理することを特徴とする請求項４〜６のいずれかに記載のコミュニケーションシステム。
【請求項８】
前記メンバ端末が前記新規端末から前記許可情報シェアが添付された前記コネクション確立要求を示すメッセージを受信した場合において、前記メンバ端末は前記新規端末が自端末以外の前記コミュニティに属する全端末から参加・加入に対する賛成を受けているかどうかを確認するために、前記許可情報比較モジュールは前記制御モジュールから前記許可情報の比較の依頼を受け、
全端末数が２つの場合は、前記コネクション確立要求メッセージに添付されている２個の前記許可情報シェアと、自端末の前記データベースで管理している１つの前記許可情報シェアを利用して、前記ＶＳＳ復号化モジュールにより前記許可情報を復元し、自端末の前記データベースに保存している前記許可情報と相違がないか比較を行い、相違がない場合は、前記許可情報に含まれる時刻情報と比較時の時刻情報との差分が予め設定された所定値以上であるか否かを調べ、前記所定値以下ならば、さらに前記宛先情報が前記新規端末と相違がないか否かを調べ、相違がなければ、前記制御モジュールに正常応答を返し、
全端末数が３つ以上の場合は、前記コネクション確立要求メッセージに添付されている（全端末数−１）×（全端末数−１）個の前記許可情報シェアのうち、自端末が配布した（全端末数−１）個の前記許可情報シェアと、自端末の前記データベースで管理している１つの前記許可情報シェアを利用して、前記ＶＳＳ復号化モジュールにより前記許可情報を復元し、自端末の前記データベースに保存している前記許可情報と相違があるか否かの比較を行い、相違がない場合は、前記許可情報に含まれる時刻情報と比較時の時刻情報との差分が前記所定値以上であるか否かを調べ、前記所定値以下ならば、さらに前記宛先情報が前記新規端末と相違があるか否かを調べ、相違がなければ、残りの（全端末数−２）×（全端末数−１）個の前記許可情報シェアに不正があるか否かを、前記シェア検証モジュールと他の前記メンバ端末から前記許可情報シェア配布時に取得した前記許可情報シェア検証用情報を利用して確認を行い、不正がなければ前記制御モジュールに正常応答を返すことを特徴とする請求項４〜７のいずれかに記載のコミュニケーションシステム。
【請求項９】
前記許可情報の有効期間を示す前記所定値を任意に設定するための許可情報有効期間設定手段を備えることを特徴とする請求項８に記載のコミュニケーションシステム。
【請求項１０】
前記新規端末が各々の前記メンバ端末に前記コネクション確立要求を示すメッセージを送信し、正常に前記コネクションが確立される際に、
各々の前記メンバ端末は、自端末が前記データベースに保存している前記コネクション確立情報シェアを提供し、前記新規端末は全ての前記メンバ端末から取得した（全端末数−１）個の前記コネクション確立情報シェアを含めて、前記応対端末に提供し、前記応対端末は前記新規端末が全ての前記メンバ端末と前記コネクションを確立しているか否かを確認するために、前記コネクション確立情報比較モジュールは前記制御モジュールから前記コネクション確立情報の比較の依頼を受け、前記新規端末から取得した（全端末数−１）個の前記コネクション確立情報シェアと、自端末の前記データベースで管理している１個の前記コネクション確立情報シェアと、前記ＶＳＳ復号化モジュールと、を利用して復元したコネクション確立情報と、自端末の前記データベースで管理している前記コネクション確立情報とを比較して相違があるか否かの確認を行い、相違がない場合は、前記コネクション確立情報に含まれる時刻情報と比較時の時刻情報との差分が前記所定値以上であるか否かを調べ、前記所定値以下ならば前記制御モジュールに正常応答を返すことを特徴とする請求項８または９のいずれかに記載のコミュニケーションシステム。
【請求項１１】
前記コネクション確立情報の有効期間を示す前記所定値を任意に設定するためのコネクション確立情報有効期間設定手段を備えることを特徴とする請求項１０に記載のコミュニケーションシステム。
【請求項１２】
前記応対端末が各々の前記メンバ端末に前記新規端末の前記コミュニティへの参加・加入に対して賛否を問う場合において、前記招待または参加・加入を希望する前記新規端末を、前記宛先情報として前記メンバ端末に知らせ、
全端末数が３つ以上の場合は、前記新規端末の前記宛先情報を前記ＶＳＳ分散符号化モジュールにより分散符号化して得られる前記宛先情報シェアと前記宛先情報シェア検証用情報とを知らせ、各々の前記メンバ端末同士は元の前記宛先情報を得るために前記応対端末から取得した前記宛先情報シェアをお互いに交換し、前記応対端末から取得した前記宛先情報シェア検証用情報と前記シェア検証用モジュールでもって、全ての前記宛先情報シェアの不正を検証した後に前記ＶＳＳ復号化モジュールにより元の前記宛先情報を復元することを特徴とする請求項４〜１１のいずれかに記載のコミュニケーションシステム。
【請求項１３】
前記メンバ端末は賛成票として前記許可情報シェアを提出する場合において、それぞれの前記許可情報シェアを前記許可情報シェア検証用情報によって不正があるか否かを前記シェア検証モジュールによってチェックを行うことを特徴とする請求項４〜１２のいずれかに記載のコミュニケーションシステム。
【請求項１４】
前記第一段階において、
前記応対端末が全ての前記メンバ端末から通知された前記新規端末の前記コミュニティへの参加・加入に対する賛否の伺いに対し、前記投票のために前記第二段階に進むことが可能であるか否かの集計結果を通知し、前記第二段階において、前記投票結果を通知することを特徴とする請求項４〜１３のいずれかに記載のコミュニケーションシステム。
【請求項１５】
ネットワークに接続されている複数の端末もしくは公開鍵サーバとの通信を行い、複数の前記端末に対してはコネクションを確立することでコミュニティを形成し、かつ、前記公開鍵サーバに対しては公開鍵取得要求により公開鍵を取得するためのコミュニケーション方法であって、
前記コミュニティを、２つ以上の前記端末間のフルメッシュのコネクションで形成されるフルメッシュ網により形成するステップと、
応対端末を、前記コミュニティに属していない新規端末を前記コミュニティに招待することの要求がされているか、または、前記コミュニティに属していない新規端末が前記コミュニティへ属することの要求を受けた前記コミュニティに属する端末のいずれかにより構成するステップと、
メンバ端末を、前記応対端末以外の前記コミュニティに属する端末により構成するステップと、
許可情報生成モジュールにより、前記コミュニティへ新規端末を参加・加入させる場合に、この参加・加入の可否を決定するための投票用情報の作成の基礎となる情報であって、新規端末が前記メンバ端末のそれぞれに前記コネクションの確立を要求する場合に、その新規端末が前記コミュニティの前記メンバ端末および前記応対端末から前記参加・加入に対する賛成を得ているかどうかを確認するための情報である許可情報を生成するステップと、
コネクション確立情報生成モジュールにより、新規端末が前記メンバ端末と前記コネクションを確立したかどうかを前記応対端末が確認するために必要なコネクション確立情報を生成するステップと、
ＶＳＳ分散符号化モジュールにより、前記メンバ端末がそれぞれ独立に生成した許可情報を検証可秘密分散の（ｋ、ｎ）閾値法（ｋ≦ｎ）によって分散符号化し、投票用情報であるｎ個の許可情報シェアと１個の許可情報シェア検証用情報を生成し、同様にコネクション確立情報を秘密分散法の（ｋ、ｎ）閾値法（ｋ≦ｎ）によって分散符号化し、ｎ個のコネクション確立情報シェアを生成し、同様に前記コミュニティに参加・加入している全端末数が３以上のときに新規端末の宛先情報を前記検証可秘密分散の（ｋ、ｎ）閾値法（ｋ≦ｎ）によって分散符号化し、ｎ個の宛先情報シェアと１個の宛先情報シェア検証用情報を生成するステップと、
ＶＳＳ復号化モジュールにより、前記秘密分散法または前記検証可秘密分散の（ｋ、ｎ）閾値法によって、ｎ個の分散符号化されたシェアからｋ個以上のシェアを利用することで元の情報を復元するステップと、
シェア検証モジュールにより、前記許可情報シェア検証用情報と前記宛先情報シェア検証用情報を利用し、ＶＳＳにより前記許可情報シェアと前記コネクション確立情報シェアと前記宛先情報シェアに不正がないかどうかを確認するステップと、
共通鍵生成モジュールにより、共通鍵暗号化方式によるセッションキーを生成するステップと、
を有し、
データベースにより、前記許可情報生成モジュールで生成する前記許可情報と、前記ＶＳＳ分散符号化モジュールと前記許可情報とを利用して生成する前記許可情報シェアと、前記許可情報シェア検証用情報と、前記コネクション確立情報生成モジュールで生成するコネクション確立情報と、前記ＶＳＳ分散符号化モジュールと前記コネクション確立情報とを利用して生成する前記コネクション確立情報シェアと、前記共通鍵生成モジュールで生成するセッションキーと、前記公開鍵サーバに問い合わせることで取得する自端末以外の他の端末の公開鍵と、自端末の秘密鍵および公開鍵と、他の端末の宛先情報と、前記ＶＳＳ分散符号化モジュールと宛先情報とを利用して生成する前記宛先情報シェアと、前記宛先情報シェア検証用情報と、前記コミュニティに参加・加入している全ての端末を網羅した端末リストと、を管理するステップと、
許可情報比較モジュールにより、前記新規端末が前記メンバ端末の各々に前記コネクションの確立を要求する場合に、前記メンバ端末において前記新規端末が前記コミュニティに属する他の端末から前記賛成を得ているかどうかを、前記新規端末から取得した前記許可情報シェアと、自端末の前記データベースで管理する前記許可情報シェアと、前記ＶＳＳ復号化モジュールと、を利用して復元した許可情報と、自端末の前記データベースで管理する許可情報と、を比較し確認するステップと、
コネクション確立情報比較モジュールにより、前記応対端末が前記新規端末からアクセスを受けた場合に、全ての前記メンバ端末と前記コネクションを確立しているかどうかを、前記新規端末から取得した前記コネクション確立情報シェアと、自端末の前記データベースで管理する前記コネクション確立情報シェアと、前記ＶＳＳ復号化モジュールと、を利用して復元した前記コネクション確立情報と、自端末の前記データベースで管理するコネクション確立情報と、を比較し確認するステップと、
公開鍵暗号化方式暗号化モジュールにより、暗号化の依頼を受けた情報を公開鍵暗号化方式により暗号化するステップと、
共通鍵暗号化方式暗号化モジュールにより、暗号化の依頼を受けた情報を共通鍵暗号化方式により暗号化するステップと、
ｄｉｇｅｓｔ生成モジュールにより、複数の情報の変換結果が同一になることが困難なハッシュ関数の一種であるメッセージダイジェスト関数を利用して任意情報のダイジェストを生成するステップと、
公開鍵暗号化方式復号化モジュールにより、復号化の依頼を受けた情報を公開鍵暗号化方式により復号化するステップと、
共通鍵暗号化方式復号化モジュールにより、復号化の依頼を受けた情報を共通鍵暗号化方式により復号化するステップと、
意思入力モジュールにより、前記コネクションを確立するかどうかの決定と、前記コミュニティへの前記新規端末の参加・加入に対する賛否の一次決定と、前記コミュニティへの前記新規端末の参加・加入に対する賛否の最終決定と、前記コミュニティに参加・加入するかどうかの決定と、のそれぞれの決定をするステップと、
メッセージ生成モジュールにより、要求された内容のメッセージを生成し、前記メッセージの生成の要求時に渡された情報を前記メッセージに添付する場合において、前記メッセージに電子署名と暗号化を施す場合は、前記公開鍵暗号方式暗号化モジュールと前記共通鍵暗号方式モジュールと前記ｄｉｇｅｓｔ生成モジュールとをもって前記添付を実行し、一方、前記暗号化のみを施す場合は、前記共通鍵暗号方式モジュールをもって前記添付を実行するステップと、
制御モジュールにより、前記許可情報の生成を前記許可情報生成モジュールに依頼し、前記コネクション確立情報の生成を前記コネクション確立情報生成モジュールに依頼し、前記許可情報シェアと、前記許可情報シェア検証用情報と、または前記コネクション確立情報シェアと、または前記宛先情報シェアと、前記宛先情報シェア検証用情報と、を生成することを前記ＶＳＳ分散符号化モジュールに依頼し、前記許可情報シェアの公開鍵による暗号化を前記公開鍵暗号方式暗号化モジュールに依頼し、暗号化された前記許可情報シェアの復号化を前記公開鍵暗号方式復号化モジュールに依頼し、前記意思入力モジュールに前記決定を下すように依頼し、前記宛先情報シェアから前記宛先情報を復元するように前記ＶＳＳ復号化モジュールに依頼し、前記許可情報の比較を前記許可情報比較モジュールに依頼し、前記コネクション確立情報の比較を前記コネクション確立情報比較モジュールに依頼し、前記セッションキーの生成を前記共通鍵生成モジュールに依頼し、前記シェア検証モジュールに、許可情報シェアか、または宛先情報シェアの不正チェックを依頼し、前記データベースに各種情報の問い合わせと保存を行って前記メッセージ生成モジュールに前記メッセージの生成を依頼するステップと、
メッセージ不正判断モジュールにより、全ての端末について、受信された前記メッセージの送受信中に不正行為が行われていないかどうかを確認するために、前記メッセージに含まれるダイジェストと該メッセージの内容とから前記ｄｉｇｅｓｔ生成モジュールでもって生成されたダイジェストに相違がないかどうかを比較するステップと、
メッセージ解析モジュールにより、全ての端末について、受信された前記メッセージに電子署名と暗号化が施されている場合は、前記公開鍵暗号化方式復号化モジュールと、前記共通鍵暗号方式復号化モジュールと、をもって前記メッセージを解読し、さらに、前記メッセージの解読に必要となる発信元端末の公開鍵を前記データベースに持っていない場合において、前記制御モジュールを通じて前記公開鍵サーバに対し公開鍵を取得するように要求し、解読処理後に前記メッセージに不正行為が行われていないかどうかを確認するために、得られた前記メッセージの内容とダイジェストから前記メッセージの内容をもって前記ｄｉｇｅｓｔ生成モジュールによりダイジェストを生成し、２つの前記ダイジェストを前記メッセージ不正判断モジュールに渡し、不正行為の有無の確認を依頼し、不正行為がなければ前記制御モジュールにメッセージ内容を渡し、一方、前記メッセージに暗号化だけが施されている場合は、前記共通鍵暗号化方式復号化モジュールによって前記メッセージを復号し、この復号後の前記メッセージの内容を前記制御モジュールへ渡すステップと、
メッセージ処理モジュールにより、前記メッセージ生成モジュールによって生成された前記メッセージを、外部の端末または前記公開鍵サーバに対して送信し、外部の端末または公開鍵サーバから受信したメッセージを前記メッセージ解析モジュールに渡すステップと、
を有することを特徴とするコミュニケーション方法。
【請求項１６】
前記許可情報生成モジュールは、
前記許可情報を、生成時の時刻情報と、前記新規端末の前記宛先情報と、任意のランダムなキーワードと、により構成し生成することを特徴とする請求項１５に記載のコミュニケーション方法。
【請求項１７】
前記コネクション確立情報生成モジュールは、
前記コネクション確立情報を、生成時の時刻情報と、前記新規端末の前記宛先情報と、任意のランダムなキーワードと、により構成し生成することを特徴とする請求項１５または１６のいずれかに記載のコミュニケーション方法。
【請求項１８】
全端末数が２つの場合において、
前記応対端末が、前記メンバ端末に前記新規端末の前記コミュニティへの参加・加入に対する賛否を伺い、前記メンバ端末は賛成の場合に独立に生成した前記許可情報を元に前記ＶＳＳ分散符号化モジュールにより投票用情報である前記許可情報シェアを閾値（３、３）により３個生成し、そのうちの一つを前記応対端末に配布する第一段階と、
前記第一段階で前記メンバ端末が賛成であった場合に、前記メンバ端末は自端末が持つ１つの前記許可情報シェアを賛成票として前記応対端末に提出し、前記新規端末を前記コミュニティに参加・加入させるかどうかを決定する第二段階と、
前記第二段階において前記メンバ端末が賛成であった場合に、前記応対端末が前記メンバ端末から賛成票として回収した１個と、前記応対端末が持つ１個と、を併せた２個の前記許可情報シェアを前記新規端末に前記コミュニティへの参加・加入するためのチケットとして提供し、前記新規端末が前記メンバ端末と前記コネクションを確立する際に、前記応対端末から取得した全ての前記許可情報シェアを、前記コネクションの確立要求を行うメッセージに添付する第三段階と、を有し、
あるいは、全端末数が３つ以上の場合において、
前記応対端末が全ての前記メンバ端末に前記新規端末の前記コミュニティへの参加・加入に対する賛否を伺い、各々の前記メンバ端末は独立に生成した前記許可情報を元に前記ＶＳＳ分散符号化モジュールにより閾値（（全端末数）、（全端末数））で（全端末数）個の前記許可情報シェアと、１個の前記許可情報シェア検証用情報と、を生成し、（全端末数）個のうちの（全端末数−１）個の前記許可情報シェアをそれぞれ他の全ての前記メンバ端末と前記応対端末に１つずつ配布し、同時に前記許可情報シェア検証用情報を配布した後を第一段階とし、
前記第一段階で全ての前記メンバ端末が賛成であった場合に、各々の前記メンバ端末は他の全ての前記メンバ端末から取得した（全端末数−２）個の前記許可情報シェアを賛成票として前記応対端末に提出することで、前記新規端末を前記コミュニティに参加・加入させるかどうかを決定することを第二段階とし、
前記第二段階において全ての前記メンバ端末が賛成であった場合に、前記応対端末が全ての前記メンバ端末から賛成票として回収した（全端末数−２）×（全端末数−１）個と前記応対端末が持つ（全端末数−１）個とを併せた、（全端末数−１）×（全端末数−１）個の前記許可情報シェアを前記新規端末に前記コミュニティへの参加・加入するためのチケットとして提供し、前記新規端末が各々の前記メンバ端末と前記コネクションを確立する際に、前記応対端末から取得した全ての前記許可情報シェアを前記コネクションの確立要求を行うメッセージに添付する第三段階とすることを特徴とする請求項１５〜１７のいずれかに記載のコミュニケーション方法。
【請求項１９】
前記第一段階は、
各々の前記メンバ端末が前記許可情報シェアを配布する場合において、
全端末数が２つのときは、前記メンバ端末は自端末が生成した３個の前記許可情報シェアのうちの一つを前記応対端末に配布し、また一つは自端末の賛成票とし、残りの一つの前記許可情報シェアは他端末に一切漏らすことなく管理し、
全端末数が３つ以上のときは、各々の前記メンバ端末は自端末が生成した（全端末数）個の前記許可情報シェアのうち、（全端末数−１）個は他の端末に配布し、残りの一つの前記許可情報シェアと前記許可情報はそれぞれが他端末に一切漏らすことなく管理することを特徴とする請求項１８に記載のコミュニケーション方法。
【請求項２０】
前記メンバ端末が前記応対端末に前記許可情報シェアを提出する場合において、または前記応対端末が各々の前記メンバ端末から取得した前記許可情報シェアを前記新規端末に提供する場合において、
自端末の前記宛先情報を含めて前記新規端末の公開鍵を利用して前記公開鍵暗号方式暗号化モジュールにより暗号化して提出することを特徴とする請求項１９に記載のコミュニケーション方法。
【請求項２１】
前記第二段階において、
全ての前記メンバ端末が前記応対端末に賛成票を提出した場合に、前記応対端末は前記コネクション確立情報生成モジュールにより前記コネクション確立情報を生成し、前記コネクション確立情報を前記ＶＳＳ分散符号化モジュールにより、閾値（（全端末数）、（全端末数））で分散符号化して得られた（全端末数）個の前記コネクション情報シェアのうちの（全端末数−１）を全ての前記メンバ端末にそれぞれ一つずつに提供し、残りの一つの前記コネクション確立情報シェアと、その元の情報である前記コネクション確立情報を前記データベースでもって外部に漏洩なく管理することを特徴とする請求項１８〜２０のいずれかに記載のコミュニケーション方法。
【請求項２２】
前記メンバ端末が前記新規端末から前記許可情報シェアが添付された前記コネクション確立要求を示すメッセージを受信した場合において、前記メンバ端末は前記新規端末が自端末以外の前記コミュニティに属する全端末から参加・加入に対する賛成を受けているかどうかを確認するために、前記許可情報比較モジュールは前記制御モジュールから前記許可情報の比較の依頼を受け、
全端末数が２つの場合は、前記コネクション確立要求メッセージに添付されている２個の前記許可情報シェアと、自端末の前記データベースで管理している１つの前記許可情報シェアを利用して、前記ＶＳＳ復号化モジュールにより前記許可情報を復元し、自端末の前記データベースに保存している前記許可情報と相違がないか比較を行い、相違がない場合は、前記許可情報に含まれる時刻情報と比較時の時刻情報との差分が予め設定された所定値以上であるか否かを調べ、前記所定値以下ならば、さらに前記宛先情報が前記新規端末と相違がないか否かを調べ、相違がなければ、前記制御モジュールに正常応答を返し、
全端末数が３つ以上の場合は、前記コネクション確立要求メッセージに添付されている（全端末数−１）×（全端末数−１）個の前記許可情報シェアのうち、自端末が配布した（全端末数−１）個の前記許可情報シェアと、自端末の前記データベースで管理している１つの前記許可情報シェアを利用して、前記ＶＳＳ復号化モジュールにより前記許可情報を復元し、自端末の前記データベースに保存している前記許可情報と相違があるか否かの比較を行い、相違がない場合は、前記許可情報に含まれる時刻情報と比較時の時刻情報との差分が前記所定値以上であるか否かを調べ、前記所定値以下ならば、さらに前記宛先情報が前記新規端末と相違があるか否かを調べ、相違がなければ、残りの（全端末数−２）×（全端末数−１）個の前記許可情報シェアに不正があるか否かを、前記シェア検証モジュールと他の前記メンバ端末から前記許可情報シェア配布時に取得した前記許可情報シェア検証用情報を利用して確認を行い、不正がなければ前記制御モジュールに正常応答を返すことを特徴とする請求項１８〜２１のいずれかに記載のコミュニケーション方法。
【請求項２３】
前記許可情報の有効期間を示す前記所定値を任意に設定するための許可情報有効期間設定手段を備えることを特徴とする請求項２２に記載のコミュニケーション方法。
【請求項２４】
前記新規端末が各々の前記メンバ端末に前記コネクション確立要求を示すメッセージを送信し、正常に前記コネクションが確立される際に、
各々の前記メンバ端末は、自端末が前記データベースに保存している前記コネクション確立情報シェアを提供し、前記新規端末は全ての前記メンバ端末から取得した（全端末数−１）個の前記コネクション確立情報シェアを含めて、前記応対端末に提供し、前記応対端末は前記新規端末が全ての前記メンバ端末と前記コネクションを確立しているか否かを確認するために、前記コネクション確立情報比較モジュールは前記制御モジュールから前記コネクション確立情報の比較の依頼を受け、前記新規端末から取得した（全端末数−１）個の前記コネクション確立情報シェアと、自端末の前記データベースで管理している１個の前記コネクション確立情報シェアと、前記ＶＳＳ復号化モジュールと、を利用して復元したコネクション確立情報と、自端末の前記データベースで管理している前記コネクション確立情報とを比較して相違があるか否かの確認を行い、相違がない場合は、前記コネクション確立情報に含まれる時刻情報と比較時の時刻情報との差分が前記所定値以上であるか否かを調べ、前記所定値以下ならば前記制御モジュールに正常応答を返すことを特徴とする請求項２２または２３のいずれかに記載のコミュニケーション方法。
【請求項２５】
前記コネクション確立情報の有効期間を示す前記所定値を任意に設定するためのコネクション確立情報有効期間設定手段を備えることを特徴とする請求項２４に記載のコミュニケーション方法。
【請求項２６】
前記応対端末が各々の前記メンバ端末に前記新規端末の前記コミュニティへの参加・加入に対して賛否を問う場合において、前記招待または参加・加入を希望する前記新規端末を、前記宛先情報として前記メンバ端末に知らせ、
全端末数が３つ以上の場合は、前記新規端末の前記宛先情報を前記ＶＳＳ分散符号化モジュールにより分散符号化して得られる前記宛先情報シェアと前記宛先情報シェア検証用情報とを知らせ、各々の前記メンバ端末同士は元の前記宛先情報を得るために前記応対端末から取得した前記宛先情報シェアをお互いに交換し、前記応対端末から取得した前記宛先情報シェア検証用情報と前記シェア検証用モジュールでもって、全ての前記宛先情報シェアの不正を検証した後に前記ＶＳＳ復号化モジュールにより元の前記宛先情報を復元することを特徴とする請求項１８〜２５のいずれかに記載のコミュニケーション方法。
【請求項２７】
前記メンバ端末は賛成票として前記許可情報シェアを提出する場合において、それぞれの前記許可情報シェアを前記許可情報シェア検証用情報によって不正があるか否かを前記シェア検証モジュールによってチェックを行うことを特徴とする請求項１８〜２６のいずれかに記載のコミュニケーション方法。
【請求項２８】
前記第一段階において、
前記応対端末が全ての前記メンバ端末から通知された前記新規端末の前記コミュニティへの参加・加入に対する賛否の伺いに対し、前記投票のために前記第二段階に進むことが可能であるか否かの集計結果を通知し、前記第二段階において、前記投票結果を通知することを特徴とする請求項１８〜２７のいずれかに記載のコミュニケーション方法。
【請求項２９】
ネットワークに接続されている複数の端末もしくは公開鍵サーバとの通信を行い、複数の前記端末に対してはコネクションを確立することでコミュニティを形成し、かつ、前記公開鍵サーバに対しては公開鍵取得要求により公開鍵を取得するためのコミュニケーションプログラムであって、
前記コミュニティを、２つ以上の前記端末間のフルメッシュのコネクションで形成されるフルメッシュ網により形成するステップと、
応対端末を、前記コミュニティに属していない新規端末を前記コミュニティに招待することの要求がされているか、または、前記コミュニティに属していない新規端末が前記コミュニティへ属することの要求を受けた前記コミュニティに属する端末のいずれかにより構成するステップと、
メンバ端末を、前記応対端末以外の前記コミュニティに属する端末により構成するステップと、
許可情報生成モジュールにより、前記コミュニティへ新規端末を参加・加入させる場合に、この参加・加入の可否を決定するための投票用情報の作成の基礎となる情報であって、新規端末が前記メンバ端末のそれぞれに前記コネクションの確立を要求する場合に、その新規端末が前記コミュニティの前記メンバ端末および前記応対端末から前記参加・加入に対する賛成を得ているかどうかを確認するための情報である許可情報を生成するステップと、
コネクション確立情報生成モジュールにより、新規端末が前記メンバ端末と前記コネクションを確立したかどうかを前記応対端末が確認するために必要なコネクション確立情報を生成するステップと、
ＶＳＳ分散符号化モジュールにより、前記メンバ端末がそれぞれ独立に生成した許可情報を検証可秘密分散の（ｋ、ｎ）閾値法（ｋ≦ｎ）によって分散符号化し、投票用情報であるｎ個の許可情報シェアと１個の許可情報シェア検証用情報を生成し、同様にコネクション確立情報を秘密分散法の（ｋ、ｎ）閾値法（ｋ≦ｎ）によって分散符号化し、ｎ個のコネクション確立情報シェアを生成し、同様に前記コミュニティに参加・加入している全端末数が３以上のときに新規端末の宛先情報を前記検証可秘密分散の（ｋ、ｎ）閾値法（ｋ≦ｎ）によって分散符号化し、ｎ個の宛先情報シェアと１個の宛先情報シェア検証用情報を生成するステップと、
ＶＳＳ復号化モジュールにより、前記秘密分散法または前記検証可秘密分散の（ｋ、ｎ）閾値法によって、ｎ個の分散符号化されたシェアからｋ個以上のシェアを利用することで元の情報を復元するステップと、
シェア検証モジュールにより、前記許可情報シェア検証用情報と前記宛先情報シェア検証用情報を利用し、ＶＳＳにより前記許可情報シェアと前記コネクション確立情報シェアと前記宛先情報シェアに不正がないかどうかを確認するステップと、
共通鍵生成モジュールにより、共通鍵暗号化方式によるセッションキーを生成するステップと、
を有し、
データベースにより、前記許可情報生成モジュールで生成する前記許可情報と、前記ＶＳＳ分散符号化モジュールと前記許可情報とを利用して生成する前記許可情報シェアと、前記許可情報シェア検証用情報と、前記コネクション確立情報生成モジュールで生成するコネクション確立情報と、前記ＶＳＳ分散符号化モジュールと前記コネクション確立情報とを利用して生成する前記コネクション確立情報シェアと、前記共通鍵生成モジュールで生成するセッションキーと、前記公開鍵サーバに問い合わせることで取得する自端末以外の他の端末の公開鍵と、自端末の秘密鍵および公開鍵と、他の端末の宛先情報と、前記ＶＳＳ分散符号化モジュールと宛先情報とを利用して生成する前記宛先情報シェアと、前記宛先情報シェア検証用情報と、前記コミュニティに参加・加入している全ての端末を網羅した端末リストと、を管理するステップと、
許可情報比較モジュールにより、前記新規端末が前記メンバ端末の各々に前記コネクションの確立を要求する場合に、前記メンバ端末において前記新規端末が前記コミュニティに属する他の端末から前記賛成を得ているかどうかを、前記新規端末から取得した前記許可情報シェアと、自端末の前記データベースで管理する前記許可情報シェアと、前記ＶＳＳ復号化モジュールと、を利用して復元した許可情報と、自端末の前記データベースで管理する許可情報と、を比較し確認するステップと、
コネクション確立情報比較モジュールにより、前記応対端末が前記新規端末からアクセスを受けた場合に、全ての前記メンバ端末と前記コネクションを確立しているかどうかを、前記新規端末から取得した前記コネクション確立情報シェアと、自端末の前記データベースで管理する前記コネクション確立情報シェアと、前記ＶＳＳ復号化モジュールと、を利用して復元した前記コネクション確立情報と、自端末の前記データベースで管理するコネクション確立情報と、を比較し確認するステップと、
公開鍵暗号化方式暗号化モジュールにより、暗号化の依頼を受けた情報を公開鍵暗号化方式により暗号化するステップと、
共通鍵暗号化方式暗号化モジュールにより、暗号化の依頼を受けた情報を共通鍵暗号化方式により暗号化するステップと、
ｄｉｇｅｓｔ生成モジュールにより、複数の情報の変換結果が同一になることが困難なハッシュ関数の一種であるメッセージダイジェスト関数を利用して任意情報のダイジェストを生成するステップと、
公開鍵暗号化方式復号化モジュールにより、復号化の依頼を受けた情報を公開鍵暗号化方式により復号化するステップと、
共通鍵暗号化方式復号化モジュールにより、復号化の依頼を受けた情報を共通鍵暗号化方式により復号化するステップと、
意思入力モジュールにより、前記コネクションを確立するかどうかの決定と、前記コミュニティへの前記新規端末の参加・加入に対する賛否の一次決定と、前記コミュニティへの前記新規端末の参加・加入に対する賛否の最終決定と、前記コミュニティに参加・加入するかどうかの決定と、のそれぞれの決定をするステップと、
メッセージ生成モジュールにより、要求された内容のメッセージを生成し、前記メッセージの生成の要求時に渡された情報を前記メッセージに添付する場合において、前記メッセージに電子署名と暗号化を施す場合は、前記公開鍵暗号方式暗号化モジュールと前記共通鍵暗号方式モジュールと前記ｄｉｇｅｓｔ生成モジュールとをもって前記添付を実行し、一方、前記暗号化のみを施す場合は、前記共通鍵暗号方式モジュールをもって前記添付を実行するステップと、
制御モジュールにより、前記許可情報の生成を前記許可情報生成モジュールに依頼し、前記コネクション確立情報の生成を前記コネクション確立情報生成モジュールに依頼し、前記許可情報シェアと、前記許可情報シェア検証用情報と、または前記コネクション確立情報シェアと、または前記宛先情報シェアと、前記宛先情報シェア検証用情報と、を生成することを前記ＶＳＳ分散符号化モジュールに依頼し、前記許可情報シェアの公開鍵による暗号化を前記公開鍵暗号方式暗号化モジュールに依頼し、暗号化された前記許可情報シェアの復号化を前記公開鍵暗号方式復号化モジュールに依頼し、前記意思入力モジュールに前記決定を下すように依頼し、前記宛先情報シェアから前記宛先情報を復元するように前記ＶＳＳ復号化モジュールに依頼し、前記許可情報の比較を前記許可情報比較モジュールに依頼し、前記コネクション確立情報の比較を前記コネクション確立情報比較モジュールに依頼し、前記セッションキーの生成を前記共通鍵生成モジュールに依頼し、前記シェア検証モジュールに、許可情報シェアか、または宛先情報シェアの不正チェックを依頼し、前記データベースに各種情報の問い合わせと保存を行って前記メッセージ生成モジュールに前記メッセージの生成を依頼するステップと、
メッセージ不正判断モジュールにより、全ての端末について、受信された前記メッセージの送受信中に不正行為が行われていないかどうかを確認するために、前記メッセージに含まれるダイジェストと該メッセージの内容とから前記ｄｉｇｅｓｔ生成モジュールでもって生成されたダイジェストに相違がないかどうかを比較するステップと、
メッセージ解析モジュールにより、全ての端末について、受信された前記メッセージに電子署名と暗号化が施されている場合は、前記公開鍵暗号化方式復号化モジュールと、前記共通鍵暗号方式復号化モジュールと、をもって前記メッセージを解読し、さらに、前記メッセージの解読に必要となる発信元端末の公開鍵を前記データベースに持っていない場合において、前記制御モジュールを通じて前記公開鍵サーバに対し公開鍵を取得するように要求し、解読処理後に前記メッセージに不正行為が行われていないかどうかを確認するために、得られた前記メッセージの内容とダイジェストから前記メッセージの内容をもって前記ｄｉｇｅｓｔ生成モジュールによりダイジェストを生成し、２つの前記ダイジェストを前記メッセージ不正判断モジュールに渡し、不正行為の有無の確認を依頼し、不正行為がなければ前記制御モジュールにメッセージ内容を渡し、一方、前記メッセージに暗号化だけが施されている場合は、前記共通鍵暗号化方式復号化モジュールによって前記メッセージを復号し、この復号後の前記メッセージの内容を前記制御モジュールへ渡すステップと、
メッセージ処理モジュールにより、前記メッセージ生成モジュールによって生成された前記メッセージを、外部の端末または前記公開鍵サーバに対して送信し、外部の端末または公開鍵サーバから受信したメッセージを前記メッセージ解析モジュールに渡すステップと、
を有することを特徴とするコミュニケーションプログラム。
【請求項３０】
前記許可情報生成モジュールは、
前記許可情報を、生成時の時刻情報と、前記新規端末の前記宛先情報と、任意のランダムなキーワードと、により構成し生成することを特徴とする請求項２９に記載のコミュニケーションプログラム。
【請求項３１】
前記コネクション確立情報生成モジュールは、
前記コネクション確立情報を、生成時の時刻情報と、前記新規端末の前記宛先情報と、任意のランダムなキーワードと、により構成し生成することを特徴とする請求項２９または３０のいずれかに記載のコミュニケーションプログラム。
【請求項３２】
全端末数が２つの場合において、
前記応対端末が、前記メンバ端末に前記新規端末の前記コミュニティへの参加・加入に対する賛否を伺い、前記メンバ端末は賛成の場合に独立に生成した前記許可情報を元に前記ＶＳＳ分散符号化モジュールにより投票用情報である前記許可情報シェアを閾値（３、３）により３個生成し、そのうちの一つを前記応対端末に配布する第一段階と、
前記第一段階で前記メンバ端末が賛成であった場合に、前記メンバ端末は自端末が持つ１つの前記許可情報シェアを賛成票として前記応対端末に提出し、前記新規端末を前記コミュニティに参加・加入させるかどうかを決定する第二段階と、
前記第二段階において前記メンバ端末が賛成であった場合に、前記応対端末が前記メンバ端末から賛成票として回収した１個と、前記応対端末が持つ１個と、を併せた２個の前記許可情報シェアを前記新規端末に前記コミュニティへの参加・加入するためのチケットとして提供し、前記新規端末が前記メンバ端末と前記コネクションを確立する際に、前記応対端末から取得した全ての前記許可情報シェアを、前記コネクションの確立要求を行うメッセージに添付する第三段階と、を有し、
あるいは、全端末数が３つ以上の場合において、
前記応対端末が全ての前記メンバ端末に前記新規端末の前記コミュニティへの参加・加入に対する賛否を伺い、各々の前記メンバ端末は独立に生成した前記許可情報を元に前記ＶＳＳ分散符号化モジュールにより閾値（（全端末数）、（全端末数））で（全端末数）個の前記許可情報シェアと、１個の前記許可情報シェア検証用情報と、を生成し、（全端末数）個のうちの（全端末数−１）個の前記許可情報シェアをそれぞれ他の全ての前記メンバ端末と前記応対端末に１つずつ配布し、同時に前記許可情報シェア検証用情報を配布した後を第一段階とし、
前記第一段階で全ての前記メンバ端末が賛成であった場合に、各々の前記メンバ端末は他の全ての前記メンバ端末から取得した（全端末数−２）個の前記許可情報シェアを賛成票として前記応対端末に提出することで、前記新規端末を前記コミュニティに参加・加入させるかどうかを決定することを第二段階とし、
前記第二段階において全ての前記メンバ端末が賛成であった場合に、前記応対端末が全ての前記メンバ端末から賛成票として回収した（全端末数−２）×（全端末数−１）個と前記応対端末が持つ（全端末数−１）個とを併せた、（全端末数−１）×（全端末数−１）個の前記許可情報シェアを前記新規端末に前記コミュニティへの参加・加入するためのチケットとして提供し、前記新規端末が各々の前記メンバ端末と前記コネクションを確立する際に、前記応対端末から取得した全ての前記許可情報シェアを前記コネクションの確立要求を行うメッセージに添付する第三段階とすることを特徴とする請求項２９〜３１のいずれかに記載のコミュニケーションプログラム。
【請求項３３】
前記第一段階は、
各々の前記メンバ端末が前記許可情報シェアを配布する場合において、
全端末数が２つのときは、前記メンバ端末は自端末が生成した３個の前記許可情報シェアのうちの一つを前記応対端末に配布し、また一つは自端末の賛成票とし、残りの一つの前記許可情報シェアは他端末に一切漏らすことなく管理し、
全端末数が３つ以上のときは、各々の前記メンバ端末は自端末が生成した（全端末数）個の前記許可情報シェアのうち、（全端末数−１）個は他の端末に配布し、残りの一つの前記許可情報シェアと前記許可情報はそれぞれが他端末に一切漏らすことなく管理することを特徴とする請求項３２に記載のコミュニケーションプログラム。
【請求項３４】
前記メンバ端末が前記応対端末に前記許可情報シェアを提出する場合において、または前記応対端末が各々の前記メンバ端末から取得した前記許可情報シェアを前記新規端末に提供する場合において、
自端末の前記宛先情報を含めて前記新規端末の公開鍵を利用して前記公開鍵暗号方式暗号化モジュールにより暗号化して提出することを特徴とする請求項３３に記載のコミュニケーションプログラム。
【請求項３５】
前記第二段階において、
全ての前記メンバ端末が前記応対端末に賛成票を提出した場合に、前記応対端末は前記コネクション確立情報生成モジュールにより前記コネクション確立情報を生成し、前記コネクション確立情報を前記ＶＳＳ分散符号化モジュールにより、閾値（（全端末数）、（全端末数））で分散符号化して得られた（全端末数）個の前記コネクション情報シェアのうちの（全端末数−１）を全ての前記メンバ端末にそれぞれ一つずつに提供し、残りの一つの前記コネクション確立情報シェアと、その元の情報である前記コネクション確立情報を前記データベースでもって外部に漏洩なく管理することを特徴とする請求項３２〜３４のいずれかに記載のコミュニケーションプログラム。
【請求項３６】
前記新規端末が各々の前記メンバ端末に前記コネクション確立要求を示すメッセージを送信し、正常に前記コネクションが確立される際に、前記メンバ端末は前記新規端末が自端末以外の前記コミュニティに属する全端末から参加・加入に対する賛成を受けているかどうかを確認するために、前記許可情報比較モジュールは前記制御モジュールから前記許可情報の比較の依頼を受け、
全端末数が２つの場合は、前記コネクション確立要求メッセージに添付されている２個の前記許可情報シェアと、自端末の前記データベースで管理している１つの前記許可情報シェアを利用して、前記ＶＳＳ復号化モジュールにより前記許可情報を復元し、自端末の前記データベースに保存している前記許可情報と相違がないか比較を行い、相違がない場合は、前記許可情報に含まれる時刻情報と比較時の時刻情報との差分が予め設定された所定値以上であるか否かを調べ、前記所定値以下ならば、さらに前記宛先情報が前記新規端末と相違がないか否かを調べ、相違がなければ、前記制御モジュールに正常応答を返し、
全端末数が３つ以上の場合は、前記コネクション確立要求メッセージに添付されている（全端末数−１）×（全端末数−１）個の前記許可情報シェアのうち、自端末が配布した（全端末数−１）個の前記許可情報シェアと、自端末の前記データベースで管理している１つの前記許可情報シェアを利用して、前記ＶＳＳ復号化モジュールにより前記許可情報を復元し、自端末の前記データベースに保存している前記許可情報と相違があるか否かの比較を行い、相違がない場合は、前記許可情報に含まれる時刻情報と比較時の時刻情報との差分が前記所定値以上であるか否かを調べ、前記所定値以下ならば、さらに前記宛先情報が前記新規端末と相違があるか否かを調べ、相違がなければ、残りの（全端末数−２）×（全端末数−１）個の前記許可情報シェアに不正があるか否かを、前記シェア検証モジュールと他の前記メンバ端末から前記許可情報シェア配布時に取得した前記許可情報シェア検証用情報を利用して確認を行い、不正がなければ前記制御モジュールに正常応答を返すことを特徴とする請求項３２〜３５のいずれかに記載のコミュニケーションプログラム。
【請求項３７】
前記許可情報の有効期間を示す前記所定値を任意に設定するための許可情報有効期間設定手段を備えることを特徴とする請求項３６に記載のコミュニケーションプログラム。
【請求項３８】
前記新規端末が全ての前記メンバ端末に前記コネクション確立要求を示すメッセージを送信し、正常に前記コネクションが確立された場合に、
各々の前記メンバ端末は、自端末が前記データベースに保存している前記コネクション確立情報シェアを提供し、前記新規端末は全ての前記メンバ端末から取得した（全端末数−１）個の前記コネクション確立情報シェアを含めて、前記応対端末に提供し、前記応対端末は前記新規端末が全ての前記メンバ端末と前記コネクションを確立しているか否かを確認するために、前記コネクション確立情報比較モジュールは前記制御モジュールから前記コネクション確立情報の比較の依頼を受け、前記新規端末から取得した（全端末数−１）個の前記コネクション確立情報シェアと、自端末の前記データベースで管理している１個の前記コネクション確立情報シェアと、前記ＶＳＳ復号化モジュールと、を利用して復元したコネクション確立情報と、自端末の前記データベースで管理している前記コネクション確立情報とを比較して相違があるか否かの確認を行い、相違がない場合は、前記コネクション確立情報に含まれる時刻情報と比較時の時刻情報との差分が前記所定値以上であるか否かを調べ、前記所定値以下ならば前記制御モジュールに正常応答を返すことを特徴とする請求項３６または３７のいずれかに記載のコミュニケーションプログラム。
【請求項３９】
前記コネクション確立情報の有効期間を示す前記所定値を任意に設定するためのコネクション確立情報有効期間設定手段を備えることを特徴とする請求項３８に記載のコミュニケーションプログラム。
【請求項４０】
前記応対端末が各々の前記メンバ端末に前記新規端末の前記コミュニティへの参加・加入に対して賛否を問う場合において、前記招待または参加・加入を希望する前記新規端末を、前記宛先情報として前記メンバ端末に知らせ、
全端末数が３つ以上の場合は、前記新規端末の前記宛先情報を前記ＶＳＳ分散符号化モジュールにより分散符号化して得られる前記宛先情報シェアと前記宛先情報シェア検証用情報とを知らせ、各々の前記メンバ端末同士は元の前記宛先情報を得るために前記応対端末から取得した前記宛先情報シェアをお互いに交換し、前記応対端末から取得した前記宛先情報シェア検証用情報と前記シェア検証用モジュールでもって、全ての前記宛先情報シェアの不正を検証した後に前記ＶＳＳ復号化モジュールにより元の前記宛先情報を復元することを特徴とする請求項３２〜３９のいずれかに記載のコミュニケーションプログラム。
【請求項４１】
前記メンバ端末は賛成票として前記許可情報シェアを提出する場合において、それぞれの前記許可情報シェアを前記許可情報シェア検証用情報によって不正があるか否かを前記シェア検証モジュールによってチェックを行うことを特徴とする請求項３２〜４０のいずれかに記載のコミュニケーションプログラム。
【請求項４２】
前記第一段階において、
前記応対端末が全ての前記メンバ端末から通知された前記新規端末の前記コミュニティへの参加・加入に対する賛否の伺いに対し、前記投票のために前記第二段階に進むことが可能であるか否かの集計結果を通知し、前記第二段階において、前記投票結果を通知することを特徴とする請求項３２〜４１のいずれかに記載のコミュニケーションプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、各端末間のコネクションにより構築されたフルメッシュ網において、各端末が他端末の意思を確認するためのコミュニケーションシステム、コミュニケーション方法およびそのプログラムに関する。
【背景技術】
【０００２】
従来、ＩＰネットワーク上において複数のエンティティ（例：端末）が参加・加入する多人数チャットのようなシステムでは、ある複数のエンティティから一時的に構成されたコミュニティを構築し、その中で各エンティティはアプリケーションデータをやり取りする。
【０００３】
このとき、各エンティティ間はデータを送受信するセッションをセットアップするためになんらかの関係（コネクションと呼ぶ）を持たなければならず、そのコネクションの構築モデルは複数存在する。
【０００４】
一般的に普及しているモデルとしては、コミュニティのエンティティ以外のコンポーネントとしてコネクションを管理するサーバを利用し、各エンティティはそのサーバとだけコネクションを構築するモデル（中央型モデルと呼ぶ）である。
【０００５】
しかし、この中央型モデルでは、各エンティティ以外に別途サーバが必要となり、上記のシステムやサービスとして提供する事業者だけでなく、自らシステムを構築する側にとっても管理・運用・保守におけるコストの点で導入が難しい。
【０００６】
また、中央型モデルでは一つのサーバでコネクションを管理するために、そのサーバに障害が発生した場合、そのサーバを利用して構築された全コミュニティ内の全コネクションが切断されるため、通信断が発生してしまう。つまり、中央型モデルでは単一箇所障害（ｓｉｎｇｌｅ  ｐｏｉｎｔ  ｏｆ  ｆａｉｌｕｒｅ）に非常に弱いシステムであり、可用性が低いといえる。
【０００７】
ここで、可用性とはアベイラビリティのことであり、一般的にシステムの壊れにくさ、障害の発生しにくさ、障害発生時の修復速度などによって計られる。アベイラビリティの高いシステムと言えば、めったに障害が発生せずいつでも安心して使えるシステムを指し、逆にアベイラビリティの低いシステムとは障害が頻発し、しかもなかなか復旧しないシステムのことを意味している。
【０００８】
さらに中央型モデルでは、コネクションはサーバで一括管理しているため、多くの場合、アプリケーションデータは一度、サーバに送られ、ミキシングなどのデータ加工が行われた後に、他のエンティティに送信される。このようなデータ送受信方法は、比較的データ量の大きさが小さい場合や厳密なリアルタイム性を必要としないアプリケーションには適するが、反対にテレビ会議や音声通話などの送受信するデータ量が大きく、厳密なリアルタイム性を必要とするアプリケーションには不適切である。
【０００９】
一方、コネクションのモデルとしては各エンティティ間のコネクションを直接フルメッシュに構築するフルメッシュ型のモデルが存在する。このモデルは中央型モデルと違い、コミュニティに参加・加入するエンティティを除いて、必要となるコンポーネントはない。つまり、コネクションを一括管理するサーバは必要なく、各エンティティ自身が代わりに複数のコネクションを管理する。
【００１０】
また、コネクションの管理が各エンティティに分散することにより、中央型モデルに比べ、可用性が高い。これにより、あるエンティティに障害が起きたとしてもその影響は最小限に抑えられ、コミュニティ全体の通信が切断されることはない。さらに、このモデルでは多くの場合、アプリケーションのデータはサーバを介さず、直接エンティティへ送信されるため、厳密なリアルタイム性を必要とするアプリケーションに適している。
【００１１】
ところで、コミュニティを形成する多地点通信のアプリケーションでは、新規にエンティティが参加・加入したり（新規エンティティと呼ぶ）、すでに参加・加入しているエンティティが離脱したりするといったイベントが多々発生する。このとき、コミュニティにおけるセキュリティを考えた場合、新規エンティティはコミュニティへの参加・加入に対する許可をコミュニティから得てから参加・加入することが必要である。
【００１２】
フルメッシュ型モデルでは各エンティティ間のエンティティ認証は電子署名などの既存技術により可能なものの、新規エンティティをそのコミュニティへ参加・加入させる場合のアクセスコントロールが非常に困難である。これは新規エンティティに対する参加・加入のアクセスコントロールの実権を持つエンティティが存在しないからである。中央型モデルの場合、例えば、コネクションを一括管理するサーバに一元的なアクセスコントロール機能を持たせることで実現できる。
【００１３】
一元的なアクセスコントロール機能がない、つまりコミュニティ内のエンティティ間の様々な権限に隔たりがなくフラットな関係にある場合、新規エンティティの参加・加入の可否はすでにコミュニティに参加・加入している複数のエンティティの賛否により決定する方法が考えられる（満場一致や過半数賛成など）。
【００１４】
この場合、票を生成する処理、票を各エンティティに配布する処理、各エンティティの賛否の票を収集する処理、その票によりエンティティの参加・加入の可否を決定する処理など、様々な処理（許可決定プロセス）をエンティティが行わなければならない。しかし、各エンティティ間はたとえエンティティ認証が行われていたとしても、これらの処理の間にエンティティがどのような不正を起こすか予想することができない。認証はエンティティを特定する機能を提供するだけのものであると考えられる。
【００１５】
よって、フルメッシュ型モデルでは全エンティティが信用できるエンティティが存在しないために、不正のない票の生成、不正のない票の配布、不正のない票の収集などを行うことが難しく、正しく票が配られたことや正しい手順で投票が行われたことを保証することが困難である。
【００１６】
また、フルメッシュ型モデルではコミュニティ内の他のエンティティ間でのやり取りは直接知ることができないため、あるエンティティが新規エンティティに関する参加・加入の許可決定プロセス（票の生成・配布など）を行い、許可決定プロセス後、その新規エンティティが既にコミュニティに参加・加入している各エンティティに対してアクセスしコネクションを構築するときに、アクセスを受けたエンティティは、許可決定プロセスにおける各処理が不正なく安全に実施され、その新規エンティティが他のエンティティから許可を得ていることを確実に知る事が難しい。
【００１７】
ここで不正とは、例えば、新規エンティティがあるコミュニティに参加・加入しているエンティティから満場一致の賛成を得られないと参加・加入できないとしたとき、不正を行わないあるエンティティ１とエンティティ２が前者は新規エンティティのコミュニティの参加・加入に対し反対であり、後者が賛成のときに、エンティティ１とエンティティ２以外の他のエンティティによる不正により、エンティティ２に対し、新規エンティティが満場一致の賛成を得ているように思わせることである（非特許文献１〜６を参照）。
【非特許文献１】Henry Sinnreich, Alan B.Johnson（著），阪口  克彦（翻訳），“マスタリングＴＣＰ／ＩＰ  ＳＩＰ編，”オーム社  Oct 2002.  １２章
【非特許文献２】J.Lennox, H.Schulzrinne, "A Protocol for Reliable Decentralized Conforencing" ACM International Workshop on Network and Operating Systems Support for Digital Audio and Video (NOSSDAV), Monterry, California, June 2003.
【非特許文献３】A.Shamir,"How to share a secret,"Communications of the ACM, page 612-613,1979.
【非特許文献４】P.Feldman,"A practical scheme for non-interactive verifiable secret sharing." InProc. 28th IEEE Symposium on Foundations of Computer Science (FOCS '87), pages 427-437, IEEE Computer Society, 1987.
【非特許文献５】T.P.Pedersen,"Non-interactive and information-theoretic secure verifiable secret sharing."In Advances in Cryptology?CRYPTO '91, volume 576 of Lecture Notesin Computer Science, pages 129-140, Berlin, 1992. Springer-Verlag.
【非特許文献６】岡本龍明，山本博資，“現代暗号  シリーズ/情報科学の数学，” P.217 産業図書出版，July 1997.
【発明の開示】
【発明が解決しようとする課題】
【００１８】
しかしながら、上述した従来の技術においては以下のような解決すべき課題があった。
【００１９】
上述のフルメッシュ型モデルでは、一元的なアクセスコントロール機関が存在しないために、既にコミュニティに参加・加入している複数のエンティティが新規エンティティのコミュニティへの参加・加入の決定を投票により決定する方法が考えられるが、この場合、許可決定プロセスを複数のエンティティが協力して行わなければならなかった。
【００２０】
また、たとえ電子署名などの認証技術を利用してエンティティ認証が行われたとしても、エンティティの行動は予想不可能であるため、フルメッシュ型モデルでは、結局、全エンティティが信用できるエンティティを仮定することが難しい。このため、不正のない票の生成、不正のない票の配布、不正のない票の収集などを行うことが困難であり、正しく票が配られたことや正しい手順で投票が行われたことを保証することが難しかった。
【００２１】
また、フルメッシュ型のコネクションでは、コミュニティ内の他のエンティティ間でのやり取りは直接知ることができないため、エンティティによる行動を直接他のエンティティが知ることが難しかった。よって、許可決定プロセスが実施され、新規エンティティとすでにコミュニティに参加・加入しているエンティティ間でコネクションを構築するときに、許可決定プロセスが各処理が不正なく安全に実施され、その新規エンティティが他のエンティティから許可を得ていることを各エンティティは確実に知ることが難しかった。
【００２２】
本発明は、上記の課題に鑑みてなされたもので、その目的とするところは、新規エンティティがフルメッシュ網によるコミュニティに参加・加入する場合に、既にコミュニティに加入している複数のエンティティによる賛否の票によるアクセスコントロールを実現でき、許可決定プロセス中において存在する不正なエンティティを検出することができ、許可決定プロセスが不正に操作されることを防止でき、新規エンティティがコミュニティに既に参加・加入している各エンティティに対してコネクションを確立する場合に、許可決定プロセスを不正なく安全に行うことができ、コミュニティに参加・加入している他のエンティティが新規エンティティのコミュニティへの参加・加入に賛否（許可）したことを確実に確認することができるコミュニケーションシステム、コミュニケーション方法およびそのプログラムを提供することにある。
【課題を解決するための手段】
【００２３】
課題を解決するために、本発明の請求項１は、ネットワークに接続されている複数の端末もしくは公開鍵サーバとの通信を行い、複数の前記端末に対してはコネクションを確立することでコミュニティを形成し、かつ、前記公開鍵サーバに対しては公開鍵取得要求により公開鍵を取得するためのコミュニケーションシステムであって、２つ以上の前記端末間のフルメッシュのコネクションで形成されるフルメッシュ網により形成された前記コミュニティと、前記コミュニティに属していない新規端末を前記コミュニティに招待することの要求がされているか、または、前記コミュニティに属していない新規端末が前記コミュニティへ属することの要求を受けた前記コミュニティに属する端末のいずれかにより構成される応対端末と、前記応対端末以外の前記コミュニティに属する端末により構成されるメンバ端末と、前記コミュニティへ新規端末を参加・加入させる場合に、この参加・加入の可否を決定するための投票用情報の作成の基礎となる情報であって、新規端末が前記メンバ端末のそれぞれに前記コネクションの確立を要求する場合に、その新規端末が前記コミュニティの前記メンバ端末および前記応対端末から前記参加・加入に対する賛成を得ているかどうかを確認するための情報である許可情報を生成するための許可情報生成モジュールと、新規端末が前記メンバ端末と前記コネクションを確立したかどうかを前記応対端末が確認するために必要なコネクション確立情報を生成するコネクション確立情報生成モジュールと、前記メンバ端末がそれぞれ独立に生成した許可情報を検証可秘密分散の（ｋ、ｎ）閾値法（ｋ≦ｎ）によって分散符号化し、投票用情報であるｎ個の許可情報シェアと１個の許可情報シェア検証用情報を生成し、同様にコネクション確立情報を秘密分散法の（ｋ、ｎ）閾値法（ｋ≦ｎ）によって分散符号化し、ｎ個のコネクション確立情報シェアを生成し、同様に前記コミュニティに参加・加入している全端末数が３以上のときに新規端末の宛先情報を前記検証可秘密分散の（ｋ、ｎ）閾値法（ｋ≦ｎ）によって分散符号化し、ｎ個の宛先情報シェアと１個の宛先情報シェア検証用情報を生成するためのＶＳＳ分散符号化モジュールと、前記秘密分散法または前記検証可秘密分散の（ｋ、ｎ）閾値法によって、ｎ個の分散符号化されたシェアからｋ個以上のシェアを利用することで元の情報を復元するためのＶＳＳ復号化モジュールと、前記許可情報シェア検証用情報と前記宛先情報シェア検証用情報を利用し、ＶＳＳにより前記許可情報シェアと前記コネクション確立情報シェアと前記宛先情報シェアに不正がないかどうかを確認するシェア検証モジュールと、共通鍵暗号化方式によるセッションキーを生成する共通鍵生成モジュールと、を有し、前記許可情報生成モジュールで生成する前記許可情報と、前記ＶＳＳ分散符号化モジュールと前記許可情報とを利用して生成する前記許可情報シェアと、前記許可情報シェア検証用情報と、前記コネクション確立情報生成モジュールで生成するコネクション確立情報と、前記ＶＳＳ分散符号化モジュールと前記コネクション確立情報とを利用して生成する前記コネクション確立情報シェアと、前記共通鍵生成モジュールで生成するセッションキーと、前記公開鍵サーバに問い合わせることで取得する自端末以外の他の端末の公開鍵と、自端末の秘密鍵および公開鍵と、他の端末の宛先情報と、前記ＶＳＳ分散符号化モジュールと宛先情報とを利用して生成する前記宛先情報シェアと、前記宛先情報シェア検証用情報と、前記コミュニティに参加・加入している全ての端末を網羅した端末リストと、を管理するデータベースと、前記新規端末が前記メンバ端末の各々に前記コネクションの確立を要求する場合に、前記メンバ端末において前記新規端末が前記コミュニティに属する他の端末から前記賛成を得ているかどうかを、前記新規端末から取得した前記許可情報シェアと、自端末の前記データベースで管理する前記許可情報シェアと、前記ＶＳＳ復号化モジュールと、を利用して復元した許可情報と、自端末の前記データベースで管理する許可情報と、を比較し確認するための許可情報比較モジュールと、前記応対端末が前記新規端末からアクセスを受けた場合に、全ての前記メンバ端末と前記コネクションを確立しているかどうかを、前記新規端末から取得した前記コネクション確立情報シェアと、自端末の前記データベースで管理する前記コネクション確立情報シェアと、前記ＶＳＳ復号化モジュールと、を利用して復元した前記コネクション確立情報と、自端末の前記データベースで管理するコネクション確立情報と、を比較し確認するためのコネクション確立情報比較モジュールと、暗号化の依頼を受けた情報を公開鍵暗号化方式により暗号化するための公開鍵暗号化方式暗号化モジュールと、暗号化の依頼を受けた情報を共通鍵暗号化方式により暗号化するための共通鍵暗号化方式暗号化モジュールと、複数の情報の変換結果が同一になることが困難なハッシュ関数の一種であるメッセージダイジェスト関数を利用して任意情報のダイジェストを生成するためのｄｉｇｅｓｔ生成モジュールと、復号化の依頼を受けた情報を公開鍵暗号化方式により復号化するための公開鍵暗号化方式復号化モジュールと、復号化の依頼を受けた情報を共通鍵暗号化方式により復号化するための共通鍵暗号化方式復号化モジュールと、前記コネクションを確立するかどうかの決定と、前記コミュニティへの前記新規端末の参加・加入に対する賛否の一次決定と、前記コミュニティへの前記新規端末の参加・加入に対する賛否の最終決定と、前記コミュニティに参加・加入するかどうかの決定と、のそれぞれの決定をするための意思入力モジュールと、要求された内容のメッセージを生成し、前記メッセージの生成の要求時に渡された情報を前記メッセージに添付する場合において、前記メッセージに電子署名と暗号化を施す場合は、前記公開鍵暗号方式暗号化モジュールと前記共通鍵暗号方式モジュールと前記ｄｉｇｅｓｔ生成モジュールとをもって前記添付を実行し、一方、前記暗号化のみを施す場合は、前記共通鍵暗号方式モジュールをもって前記添付を実行するためのメッセージ生成モジュールと、前記許可情報の生成を前記許可情報生成モジュールに依頼し、前記コネクション確立情報の生成を前記コネクション確立情報生成モジュールに依頼し、前記許可情報シェアと、前記許可情報シェア検証用情報と、または前記コネクション確立情報シェアと、または前記宛先情報シェアと、前記宛先情報シェア検証用情報と、を生成することを前記ＶＳＳ分散符号化モジュールに依頼し、前記許可情報シェアの公開鍵による暗号化を前記公開鍵暗号方式暗号化モジュールに依頼し、暗号化された前記許可情報シェアの復号化を前記公開鍵暗号方式復号化モジュールに依頼し、前記意思入力モジュールに前記決定を下すように依頼し、前記宛先情報シェアから前記宛先情報を復元するように前記ＶＳＳ復号化モジュールに依頼し、前記許可情報の比較を前記許可情報比較モジュールに依頼し、前記コネクション確立情報の比較を前記コネクション確立情報比較モジュールに依頼し、前記セッションキーの生成を前記共通鍵生成モジュールに依頼し、前記シェア検証モジュールに、許可情報シェアか、または宛先情報シェアの不正チェックを依頼し、前記データベースに各種情報の問い合わせと保存を行って前記メッセージ生成モジュールに前記メッセージの生成を依頼するための制御モジュールと、全ての端末について、受信された前記メッセージの送受信中に不正行為が行われていないかどうかを確認するために、前記メッセージに含まれるダイジェストと該メッセージの内容とから前記ｄｉｇｅｓｔ生成モジュールでもって生成されたダイジェストに相違がないかどうかを比較するためのメッセージ不正判断モジュールと、全ての端末について、受信された前記メッセージに電子署名と暗号化が施されている場合は、前記公開鍵暗号化方式復号化モジュールと、前記共通鍵暗号方式復号化モジュールと、をもって前記メッセージを解読し、さらに、前記メッセージの解読に必要となる発信元端末の公開鍵を前記データベースに持っていない場合において、前記制御モジュールを通じて前記公開鍵サーバに対し公開鍵を取得するように要求し、解読処理後に前記メッセージに不正行為が行われていないかどうかを確認するために、得られた前記メッセージの内容とダイジェストから前記メッセージの内容をもって前記ｄｉｇｅｓｔ生成モジュールによりダイジェストを生成し、２つの前記ダイジェストを前記メッセージ不正判断モジュールに渡し、不正行為の有無の確認を依頼し、不正行為がなければ前記制御モジュールにメッセージ内容を渡し、一方、前記メッセージに暗号化だけが施されている場合は、前記共通鍵暗号化方式復号化モジュールによって前記メッセージを復号し、この復号後の前記メッセージの内容を前記制御モジュールへ渡すためのメッセージ解析モジュールと、前記メッセージ生成モジュールによって生成された前記メッセージを、外部の端末または前記公開鍵サーバに対して送信し、外部の端末または公開鍵サーバから受信したメッセージを前記メッセージ解析モジュールに渡すためのメッセージ処理モジュールと、を備える。
【００２４】
また、請求項２に記載の本発明は、請求項１において、前記許可情報生成モジュールは、前記許可情報を、生成時の時刻情報と、前記新規端末の前記宛先情報と、任意のランダムなキーワードと、により構成し生成する。
【００２５】
また、請求項３に記載の本発明は、請求項１または２のいずれかにおいて、前記コネクション確立情報生成モジュールは、前記コネクション確立情報を、生成時の時刻情報と、前記新規端末の前記宛先情報と、任意のランダムなキーワードと、により構成し生成する。
【００２６】
また、請求項４に記載の本発明は、請求項１〜３のいずれかにおいて、全端末数が２つの場合において、前記応対端末が、前記メンバ端末に前記新規端末の前記コミュニティへの参加・加入に対する賛否を伺い、前記メンバ端末は賛成の場合に独立に生成した前記許可情報を元に前記ＶＳＳ分散符号化モジュールにより投票用情報である前記許可情報シェアを閾値（３、３）により３個生成し、そのうちの一つを前記応対端末に配布する第一段階と、前記第一段階で前記メンバ端末が賛成であった場合に、前記メンバ端末は自端末が持つ１つの前記許可情報シェアを賛成票として前記応対端末に提出し、前記新規端末を前記コミュニティに参加・加入させるかどうかを決定する第二段階と、前記第二段階において前記メンバ端末が賛成であった場合に、前記応対端末が前記メンバ端末から賛成票として回収した１個と、前記応対端末が持つ１個と、を併せた２個の前記許可情報シェアを前記新規端末に前記コミュニティへの参加・加入するためのチケットとして提供し、前記新規端末が前記メンバ端末と前記コネクションを確立する際に、前記応対端末から取得した全ての前記許可情報シェアを、前記コネクションの確立要求を行うメッセージに添付する第三段階と、を有し、あるいは、全端末数が３つ以上の場合において、前記応対端末が全ての前記メンバ端末に前記新規端末の前記コミュニティへの参加・加入に対する賛否を伺い、各々の前記メンバ端末は独立に生成した前記許可情報を元に前記ＶＳＳ分散符号化モジュールにより閾値（（全端末数）、（全端末数））で（全端末数）個の前記許可情報シェアと、１個の前記許可情報シェア検証用情報と、を生成し、（全端末数）個のうちの（全端末数−１）個の前記許可情報シェアをそれぞれ他の全ての前記メンバ端末と前記応対端末に１つずつ配布し、同時に前記許可情報シェア検証用情報を配布した後を第一段階とし、前記第一段階で全ての前記メンバ端末が賛成であった場合に、各々の前記メンバ端末は他の全ての前記メンバ端末から取得した（全端末数−２）個の前記許可情報シェアを賛成票として前記応対端末に提出することで、前記新規端末を前記コミュニティに参加・加入させるかどうかを決定することを第二段階とし、前記第二段階において全ての前記メンバ端末が賛成であった場合に、前記応対端末が全ての前記メンバ端末から賛成票として回収した（全端末数−２）×（全端末数−１）個と前記応対端末が持つ（全端末数−１）個とを併せた、（全端末数−１）×（全端末数−１）個の前記許可情報シェアを前記新規端末に前記コミュニティへの参加・加入するためのチケットとして提供し、前記新規端末が各々の前記メンバ端末と前記コネクションを確立する際に、前記応対端末から取得した全ての前記許可情報シェアを前記コネクションの確立要求を行うメッセージに添付する第三段階とする。
【００２７】
また、請求項５に記載の本発明は、請求項４において、前記第一段階は、各々の前記メンバ端末が前記許可情報シェアを配布する場合において、全端末数が２つのときは、前記メンバ端末は自端末が生成した３個の前記許可情報シェアのうちの一つを前記応対端末に配布し、また一つは自端末の賛成票とし、残りの一つの前記許可情報シェアは他端末に一切漏らすことなく管理し、全端末数が３つ以上のときは、各々の前記メンバ端末は自端末が生成した（全端末数）個の前記許可情報シェアのうち、（全端末数−１）個は他の端末に配布し、残りの一つの前記許可情報シェアと前記許可情報はそれぞれが他端末に一切漏らすことなく管理する。
【００２８】
また、請求項６に記載の本発明は、請求項５において、前記メンバ端末が前記応対端末に前記許可情報シェアを提出する場合において、または前記応対端末が各々の前記メンバ端末から取得した前記許可情報シェアを前記新規端末に提供する場合において、自端末の前記宛先情報を含めて前記新規端末の公開鍵を利用して前記公開鍵暗号方式暗号化モジュールにより暗号化して提出する。
【００２９】
また、請求項７に記載の本発明は、請求項４〜６のいずれかにおいて、前記第二段階において、全ての前記メンバ端末が前記応対端末に賛成票を提出した場合に、前記応対端末は前記コネクション確立情報生成モジュールにより前記コネクション確立情報を生成し、前記コネクション確立情報を前記ＶＳＳ分散符号化モジュールにより、閾値（（全端末数）、（全端末数））で分散符号化して得られた（全端末数）個の前記コネクション情報シェアのうちの（全端末数−１）を全ての前記メンバ端末にそれぞれ一つずつに提供し、残りの一つの前記コネクション確立情報シェアと、その元の情報である前記コネクション確立情報を前記データベースでもって外部に漏洩なく管理する。
【００３０】
また、請求項８に記載の本発明は、請求項４〜７のいずれかにおいて、前記メンバ端末が前記新規端末から前記許可情報シェアが添付された前記コネクション確立要求を示すメッセージを受信した場合において、前記メンバ端末は前記新規端末が自端末以外の前記コミュニティに属する全端末から参加・加入に対する賛成を受けているかどうかを確認するために、前記許可情報比較モジュールは前記制御モジュールから前記許可情報の比較の依頼を受け、全端末数が２つの場合は、前記コネクション確立要求メッセージに添付されている２個の前記許可情報シェアと、自端末の前記データベースで管理している１つの前記許可情報シェアを利用して、前記ＶＳＳ復号化モジュールにより前記許可情報を復元し、自端末の前記データベースに保存している前記許可情報と相違がないか比較を行い、相違がない場合は、前記許可情報に含まれる時刻情報と比較時の時刻情報との差分が予め設定された所定値以上であるか否かを調べ、前記所定値以下ならば、さらに前記宛先情報が前記新規端末と相違がないか否かを調べ、相違がなければ、前記制御モジュールに正常応答を返し、全端末数が３つ以上の場合は、前記コネクション確立要求メッセージに添付されている（全端末数−１）×（全端末数−１）個の前記許可情報シェアのうち、自端末が配布した（全端末数−１）個の前記許可情報シェアと、自端末の前記データベースで管理している１つの前記許可情報シェアを利用して、前記ＶＳＳ復号化モジュールにより前記許可情報を復元し、自端末の前記データベースに保存している前記許可情報と相違があるか否かの比較を行い、相違がない場合は、前記許可情報に含まれる時刻情報と比較時の時刻情報との差分が前記所定値以上であるか否かを調べ、前記所定値以下ならば、さらに前記宛先情報が前記新規端末と相違があるか否かを調べ、相違がなければ、残りの（全端末数−２）×（全端末数−１）個の前記許可情報シェアに不正があるか否かを、前記シェア検証モジュールと他の前記メンバ端末から前記許可情報シェア配布時に取得した前記許可情報シェア検証用情報を利用して確認を行い、不正がなければ前記制御モジュールに正常応答を返す。
【００３１】
また、請求項９に記載の本発明は、請求項８において、前記許可情報の有効期間を示す前記所定値を任意に設定するための許可情報有効期間設定手段を備える。
【００３２】
また、請求項１０に記載の本発明は、請求項８または９のいずれかにおいて、前記新規端末が各々の前記メンバ端末に前記コネクション確立要求を示すメッセージを送信し、正常に前記コネクションが確立される際に、各々の前記メンバ端末は、自端末が前記データベースに保存している前記コネクション確立情報シェアを提供し、前記新規端末は全ての前記メンバ端末から取得した（全端末数−１）個の前記コネクション確立情報シェアを含めて、前記応対端末に提供し、前記応対端末は前記新規端末が全ての前記メンバ端末と前記コネクションを確立しているか否かを確認するために、前記コネクション確立情報比較モジュールは前記制御モジュールから前記コネクション確立情報の比較の依頼を受け、前記新規端末から取得した（全端末数−１）個の前記コネクション確立情報シェアと、自端末の前記データベースで管理している１個の前記コネクション確立情報シェアと、前記ＶＳＳ復号化モジュールと、を利用して復元したコネクション確立情報と、自端末の前記データベースで管理している前記コネクション確立情報とを比較して相違があるか否かの確認を行い、相違がない場合は、前記コネクション確立情報に含まれる時刻情報と比較時の時刻情報との差分が前記所定値以上であるか否かを調べ、前記所定値以下ならば前記制御モジュールに正常応答を返す。
【００３３】
また、請求項１１に記載の本発明は、請求項１０において、前記コネクション確立情報の有効期間を示す前記所定値を任意に設定するためのコネクション確立情報有効期間設定手段を備える。
【００３４】
また、請求項１２に記載の本発明は、請求項４〜１１のいずれかにおいて、前記応対端末が各々の前記メンバ端末に前記新規端末の前記コミュニティへの参加・加入に対して賛否を問う場合において、前記招待または参加・加入を希望する前記新規端末を、前記宛先情報として前記メンバ端末に知らせ、全端末数が３つ以上の場合は、前記新規端末の前記宛先情報を前記ＶＳＳ分散符号化モジュールにより分散符号化して得られる前記宛先情報シェアと前記宛先情報シェア検証用情報とを知らせ、各々の前記メンバ端末同士は元の前記宛先情報を得るために前記応対端末から取得した前記宛先情報シェアをお互いに交換し、前記応対端末から取得した前記宛先情報シェア検証用情報と前記シェア検証用モジュールでもって、全ての前記宛先情報シェアの不正を検証した後に前記ＶＳＳ復号化モジュールにより元の前記宛先情報を復元する。
【００３５】
また、請求項１３に記載の本発明は、請求項４〜１２のいずれかにおいて、前記メンバ端末は賛成票として前記許可情報シェアを提出する場合において、それぞれの前記許可情報シェアを前記許可情報シェア検証用情報によって不正があるか否かを前記シェア検証モジュールによってチェックを行う。
【００３６】
また、請求項１４に記載の本発明は、請求項４〜１３のいずれかにおいて、前記第一段階において、前記応対端末が全ての前記メンバ端末から通知された前記新規端末の前記コミュニティへの参加・加入に対する賛否の伺いに対し、前記投票のために前記第二段階に進むことが可能であるか否かの集計結果を通知し、前記第二段階において、前記投票結果を通知する。
【００３７】
また、請求項１５に記載の本発明は、ネットワークに接続されている複数の端末もしくは公開鍵サーバとの通信を行い、複数の前記端末に対してはコネクションを確立することでコミュニティを形成し、かつ、前記公開鍵サーバに対しては公開鍵取得要求により公開鍵を取得するためのコミュニケーション方法であって、前記コミュニティを、２つ以上の前記端末間のフルメッシュのコネクションで形成されるフルメッシュ網により形成するステップと、応対端末を、前記コミュニティに属していない新規端末を前記コミュニティに招待することの要求がされているか、または、前記コミュニティに属していない新規端末が前記コミュニティへ属することの要求を受けた前記コミュニティに属する端末のいずれかにより構成するステップと、メンバ端末を、前記応対端末以外の前記コミュニティに属する端末により構成するステップと、許可情報生成モジュールにより、前記コミュニティへ新規端末を参加・加入させる場合に、この参加・加入の可否を決定するための投票用情報の作成の基礎となる情報であって、新規端末が前記メンバ端末のそれぞれに前記コネクションの確立を要求する場合に、その新規端末が前記コミュニティの前記メンバ端末および前記応対端末から前記参加・加入に対する賛成を得ているかどうかを確認するための情報である許可情報を生成するステップと、コネクション確立情報生成モジュールにより、新規端末が前記メンバ端末と前記コネクションを確立したかどうかを前記応対端末が確認するために必要なコネクション確立情報を生成するステップと、ＶＳＳ分散符号化モジュールにより、前記メンバ端末がそれぞれ独立に生成した許可情報を検証可秘密分散の（ｋ、ｎ）閾値法（ｋ≦ｎ）によって分散符号化し、投票用情報であるｎ個の許可情報シェアと１個の許可情報シェア検証用情報を生成し、同様にコネクション確立情報を秘密分散法の（ｋ、ｎ）閾値法（ｋ≦ｎ）によって分散符号化し、ｎ個のコネクション確立情報シェアを生成し、同様に前記コミュニティに参加・加入している全端末数が３以上のときに新規端末の宛先情報を前記検証可秘密分散の（ｋ、ｎ）閾値法（ｋ≦ｎ）によって分散符号化し、ｎ個の宛先情報シェアと１個の宛先情報シェア検証用情報を生成するステップと、ＶＳＳ復号化モジュールにより、前記秘密分散法または前記検証可秘密分散の（ｋ、ｎ）閾値法によって、ｎ個の分散符号化されたシェアからｋ個以上のシェアを利用することで元の情報を復元するステップと、シェア検証モジュールにより、前記許可情報シェア検証用情報と前記宛先情報シェア検証用情報を利用し、ＶＳＳにより前記許可情報シェアと前記コネクション確立情報シェアと前記宛先情報シェアに不正がないかどうかを確認するステップと、共通鍵生成モジュールにより、共通鍵暗号化方式によるセッションキーを生成するステップと、を有し、データベースにより、前記許可情報生成モジュールで生成する前記許可情報と、前記ＶＳＳ分散符号化モジュールと前記許可情報とを利用して生成する前記許可情報シェアと、前記許可情報シェア検証用情報と、前記コネクション確立情報生成モジュールで生成するコネクション確立情報と、前記ＶＳＳ分散符号化モジュールと前記コネクション確立情報とを利用して生成する前記コネクション確立情報シェアと、前記共通鍵生成モジュールで生成するセッションキーと、前記公開鍵サーバに問い合わせることで取得する自端末以外の他の端末の公開鍵と、自端末の秘密鍵および公開鍵と、他の端末の宛先情報と、前記ＶＳＳ分散符号化モジュールと宛先情報とを利用して生成する前記宛先情報シェアと、前記宛先情報シェア検証用情報と、前記コミュニティに参加・加入している全ての端末を網羅した端末リストと、を管理するステップと、許可情報比較モジュールにより、前記新規端末が前記メンバ端末の各々に前記コネクションの確立を要求する場合に、前記メンバ端末において前記新規端末が前記コミュニティに属する他の端末から前記賛成を得ているかどうかを、前記新規端末から取得した前記許可情報シェアと、自端末の前記データベースで管理する前記許可情報シェアと、前記ＶＳＳ復号化モジュールと、を利用して復元した許可情報と、自端末の前記データベースで管理する許可情報と、を比較し確認するステップと、コネクション確立情報比較モジュールにより、前記応対端末が前記新規端末からアクセスを受けた場合に、全ての前記メンバ端末と前記コネクションを確立しているかどうかを、前記新規端末から取得した前記コネクション確立情報シェアと、自端末の前記データベースで管理する前記コネクション確立情報シェアと、前記ＶＳＳ復号化モジュールと、を利用して復元した前記コネクション確立情報と、自端末の前記データベースで管理するコネクション確立情報と、を比較し確認するステップと、公開鍵暗号化方式暗号化モジュールにより、暗号化の依頼を受けた情報を公開鍵暗号化方式により暗号化するステップと、共通鍵暗号化方式暗号化モジュールにより、暗号化の依頼を受けた情報を共通鍵暗号化方式により暗号化するステップと、ｄｉｇｅｓｔ生成モジュールにより、複数の情報の変換結果が同一になることが困難なハッシュ関数の一種であるメッセージダイジェスト関数を利用して任意情報のダイジェストを生成するステップと、公開鍵暗号化方式復号化モジュールにより、復号化の依頼を受けた情報を公開鍵暗号化方式により復号化するステップと、共通鍵暗号化方式復号化モジュールにより、復号化の依頼を受けた情報を共通鍵暗号化方式により復号化するステップと、意思入力モジュールにより、前記コネクションを確立するかどうかの決定と、前記コミュニティへの前記新規端末の参加・加入に対する賛否の一次決定と、前記コミュニティへの前記新規端末の参加・加入に対する賛否の最終決定と、前記コミュニティに参加・加入するかどうかの決定と、のそれぞれの決定をするステップと、メッセージ生成モジュールにより、要求された内容のメッセージを生成し、前記メッセージの生成の要求時に渡された情報を前記メッセージに添付する場合において、前記メッセージに電子署名と暗号化を施す場合は、前記公開鍵暗号方式暗号化モジュールと前記共通鍵暗号方式モジュールと前記ｄｉｇｅｓｔ生成モジュールとをもって前記添付を実行し、一方、前記暗号化のみを施す場合は、前記共通鍵暗号方式モジュールをもって前記添付を実行するステップと、制御モジュールにより、前記許可情報の生成を前記許可情報生成モジュールに依頼し、前記コネクション確立情報の生成を前記コネクション確立情報生成モジュールに依頼し、前記許可情報シェアと、前記許可情報シェア検証用情報と、または前記コネクション確立情報シェアと、または前記宛先情報シェアと、前記宛先情報シェア検証用情報と、を生成することを前記ＶＳＳ分散符号化モジュールに依頼し、前記許可情報シェアの公開鍵による暗号化を前記公開鍵暗号方式暗号化モジュールに依頼し、暗号化された前記許可情報シェアの復号化を前記公開鍵暗号方式復号化モジュールに依頼し、前記意思入力モジュールに前記決定を下すように依頼し、前記宛先情報シェアから前記宛先情報を復元するように前記ＶＳＳ復号化モジュールに依頼し、前記許可情報の比較を前記許可情報比較モジュールに依頼し、前記コネクション確立情報の比較を前記コネクション確立情報比較モジュールに依頼し、前記セッションキーの生成を前記共通鍵生成モジュールに依頼し、前記シェア検証モジュールに、許可情報シェアか、または宛先情報シェアの不正チェックを依頼し、前記データベースに各種情報の問い合わせと保存を行って前記メッセージ生成モジュールに前記メッセージの生成を依頼するステップと、メッセージ不正判断モジュールにより、全ての端末について、受信された前記メッセージの送受信中に不正行為が行われていないかどうかを確認するために、前記メッセージに含まれるダイジェストと該メッセージの内容とから前記ｄｉｇｅｓｔ生成モジュールでもって生成されたダイジェストに相違がないかどうかを比較するステップと、メッセージ解析モジュールにより、全ての端末について、受信された前記メッセージに電子署名と暗号化が施されている場合は、前記公開鍵暗号化方式復号化モジュールと、前記共通鍵暗号方式復号化モジュールと、をもって前記メッセージを解読し、さらに、前記メッセージの解読に必要となる発信元端末の公開鍵を前記データベースに持っていない場合において、前記制御モジュールを通じて前記公開鍵サーバに対し公開鍵を取得するように要求し、解読処理後に前記メッセージに不正行為が行われていないかどうかを確認するために、得られた前記メッセージの内容とダイジェストから前記メッセージの内容をもって前記ｄｉｇｅｓｔ生成モジュールによりダイジェストを生成し、２つの前記ダイジェストを前記メッセージ不正判断モジュールに渡し、不正行為の有無の確認を依頼し、不正行為がなければ前記制御モジュールにメッセージ内容を渡し、一方、前記メッセージに暗号化だけが施されている場合は、前記共通鍵暗号化方式復号化モジュールによって前記メッセージを復号し、この復号後の前記メッセージの内容を前記制御モジュールへ渡すステップと、メッセージ処理モジュールにより、前記メッセージ生成モジュールによって生成された前記メッセージを、外部の端末または前記公開鍵サーバに対して送信し、外部の端末または公開鍵サーバから受信したメッセージを前記メッセージ解析モジュールに渡すステップと、を有する。
【００３８】
また、請求項１６に記載の本発明は、請求項１５において、前記許可情報生成モジュールは、前記許可情報を、生成時の時刻情報と、前記新規端末の前記宛先情報と、任意のランダムなキーワードと、により構成し生成する。
【００３９】
また、請求項１７に記載の本発明は、請求項１５または１６のいずれかにおいて、前記コネクション確立情報生成モジュールは、前記コネクション確立情報を、生成時の時刻情報と、前記新規端末の前記宛先情報と、任意のランダムなキーワードと、により構成し生成する。
【００４０】
また、請求項１８に記載の本発明は、請求項１５〜１７のいずれかにおいて、全端末数が２つの場合において、前記応対端末が、前記メンバ端末に前記新規端末の前記コミュニティへの参加・加入に対する賛否を伺い、前記メンバ端末は賛成の場合に独立に生成した前記許可情報を元に前記ＶＳＳ分散符号化モジュールにより投票用情報である前記許可情報シェアを閾値（３、３）により３個生成し、そのうちの一つを前記応対端末に配布する第一段階と、前記第一段階で前記メンバ端末が賛成であった場合に、前記メンバ端末は自端末が持つ１つの前記許可情報シェアを賛成票として前記応対端末に提出し、前記新規端末を前記コミュニティに参加・加入させるかどうかを決定する第二段階と、前記第二段階において前記メンバ端末が賛成であった場合に、前記応対端末が前記メンバ端末から賛成票として回収した１個と、前記応対端末が持つ１個と、を併せた２個の前記許可情報シェアを前記新規端末に前記コミュニティへの参加・加入するためのチケットとして提供し、前記新規端末が前記メンバ端末と前記コネクションを確立する際に、前記応対端末から取得した全ての前記許可情報シェアを、前記コネクションの確立要求を行うメッセージに添付する第三段階と、を有し、あるいは、全端末数が３つ以上の場合において、前記応対端末が全ての前記メンバ端末に前記新規端末の前記コミュニティへの参加・加入に対する賛否を伺い、各々の前記メンバ端末は独立に生成した前記許可情報を元に前記ＶＳＳ分散符号化モジュールにより閾値（（全端末数）、（全端末数））で（全端末数）個の前記許可情報シェアと、１個の前記許可情報シェア検証用情報と、を生成し、（全端末数）個のうちの（全端末数−１）個の前記許可情報シェアをそれぞれ他の全ての前記メンバ端末と前記応対端末に１つずつ配布し、同時に前記許可情報シェア検証用情報を配布した後を第一段階とし、前記第一段階で全ての前記メンバ端末が賛成であった場合に、各々の前記メンバ端末は他の全ての前記メンバ端末から取得した（全端末数−２）個の前記許可情報シェアを賛成票として前記応対端末に提出することで、前記新規端末を前記コミュニティに参加・加入させるかどうかを決定することを第二段階とし、前記第二段階において全ての前記メンバ端末が賛成であった場合に、前記応対端末が全ての前記メンバ端末から賛成票として回収した（全端末数−２）×（全端末数−１）個と前記応対端末が持つ（全端末数−１）個とを併せた、（全端末数−１）×（全端末数−１）個の前記許可情報シェアを前記新規端末に前記コミュニティへの参加・加入するためのチケットとして提供し、前記新規端末が各々の前記メンバ端末と前記コネクションを確立する際に、前記応対端末から取得した全ての前記許可情報シェアを前記コネクションの確立要求を行うメッセージに添付する第三段階とする。
【００４１】
また、請求項１９に記載の本発明は、請求項１８において、前記第一段階は、各々の前記メンバ端末が前記許可情報シェアを配布する場合において、全端末数が２つのときは、前記メンバ端末は自端末が生成した３個の前記許可情報シェアのうちの一つを前記応対端末に配布し、また一つは自端末の賛成票とし、残りの一つの前記許可情報シェアは他端末に一切漏らすことなく管理し、全端末数が３つ以上のときは、各々の前記メンバ端末は自端末が生成した（全端末数）個の前記許可情報シェアのうち、（全端末数−１）個は他の端末に配布し、残りの一つの前記許可情報シェアと前記許可情報はそれぞれが他端末に一切漏らすことなく管理する。
【００４２】
また、請求項２０に記載の本発明は、請求項１９において、前記メンバ端末が前記応対端末に前記許可情報シェアを提出する場合において、または前記応対端末が各々の前記メンバ端末から取得した前記許可情報シェアを前記新規端末に提供する場合において、自端末の前記宛先情報を含めて前記新規端末の公開鍵を利用して前記公開鍵暗号方式暗号化モジュールにより暗号化して提出する。
【００４３】
また、請求項２１に記載の本発明は、請求項１８〜２０のいずれかにおいて、前記第二段階において、全ての前記メンバ端末が前記応対端末に賛成票を提出した場合に、前記応対端末は前記コネクション確立情報生成モジュールにより前記コネクション確立情報を生成し、前記コネクション確立情報を前記ＶＳＳ分散符号化モジュールにより、閾値（（全端末数）、（全端末数））で分散符号化して得られた（全端末数）個の前記コネクション情報シェアのうちの（全端末数−１）を全ての前記メンバ端末にそれぞれ一つずつに提供し、残りの一つの前記コネクション確立情報シェアと、その元の情報である前記コネクション確立情報を前記データベースでもって外部に漏洩なく管理する。
【００４４】
また、請求項２２に記載の本発明は、請求項１８〜２１のいずれかにおいて、前記メンバ端末が前記新規端末から前記許可情報シェアが添付された前記コネクション確立要求を示すメッセージを受信した場合において、前記メンバ端末は前記新規端末が自端末以外の前記コミュニティに属する全端末から参加・加入に対する賛成を受けているかどうかを確認するために、前記許可情報比較モジュールは前記制御モジュールから前記許可情報の比較の依頼を受け、全端末数が２つの場合は、前記コネクション確立要求メッセージに添付されている２個の前記許可情報シェアと、自端末の前記データベースで管理している１つの前記許可情報シェアを利用して、前記ＶＳＳ復号化モジュールにより前記許可情報を復元し、自端末の前記データベースに保存している前記許可情報と相違がないか比較を行い、相違がない場合は、前記許可情報に含まれる時刻情報と比較時の時刻情報との差分が予め設定された所定値以上であるか否かを調べ、前記所定値以下ならば、さらに前記宛先情報が前記新規端末と相違がないか否かを調べ、相違がなければ、前記制御モジュールに正常応答を返し、全端末数が３つ以上の場合は、前記コネクション確立要求メッセージに添付されている（全端末数−１）×（全端末数−１）個の前記許可情報シェアのうち、自端末が配布した（全端末数−１）個の前記許可情報シェアと、自端末の前記データベースで管理している１つの前記許可情報シェアを利用して、前記ＶＳＳ復号化モジュールにより前記許可情報を復元し、自端末の前記データベースに保存している前記許可情報と相違があるか否かの比較を行い、相違がない場合は、前記許可情報に含まれる時刻情報と比較時の時刻情報との差分が前記所定値以上であるか否かを調べ、前記所定値以下ならば、さらに前記宛先情報が前記新規端末と相違があるか否かを調べ、相違がなければ、残りの（全端末数−２）×（全端末数−１）個の前記許可情報シェアに不正があるか否かを、前記シェア検証モジュールと他の前記メンバ端末から前記許可情報シェア配布時に取得した前記許可情報シェア検証用情報を利用して確認を行い、不正がなければ前記制御モジュールに正常応答を返す。
【００４５】
また、請求項２３に記載の本発明は、請求項２２において、前記許可情報の有効期間を示す前記所定値を任意に設定するための許可情報有効期間設定手段を備える。
【００４６】
また、請求項２４に記載の本発明は、請求項２２または２３のいずれかにおいて、前記新規端末が各々の前記メンバ端末に前記コネクション確立要求を示すメッセージを送信し、正常に前記コネクションが確立される際に、各々の前記メンバ端末は、自端末が前記データベースに保存している前記コネクション確立情報シェアを提供し、前記新規端末は全ての前記メンバ端末から取得した（全端末数−１）個の前記コネクション確立情報シェアを含めて、前記応対端末に提供し、前記応対端末は前記新規端末が全ての前記メンバ端末と前記コネクションを確立しているか否かを確認するために、前記コネクション確立情報比較モジュールは前記制御モジュールから前記コネクション確立情報の比較の依頼を受け、前記新規端末から取得した（全端末数−１）個の前記コネクション確立情報シェアと、自端末の前記データベースで管理している１個の前記コネクション確立情報シェアと、前記ＶＳＳ復号化モジュールと、を利用して復元したコネクション確立情報と、自端末の前記データベースで管理している前記コネクション確立情報とを比較して相違があるか否かの確認を行い、相違がない場合は、前記コネクション確立情報に含まれる時刻情報と比較時の時刻情報との差分が前記所定値以上であるか否かを調べ、前記所定値以下ならば前記制御モジュールに正常応答を返す。
【００４７】
また、請求項２５に記載の本発明は、請求項２４において、前記コネクション確立情報の有効期間を示す前記所定値を任意に設定するためのコネクション確立情報有効期間設定手段を備える。
【００４８】
また、請求項２６に記載の本発明は、請求項１８〜２５のいずれかにおいて、前記応対端末が各々の前記メンバ端末に前記新規端末の前記コミュニティへの参加・加入に対して賛否を問う場合において、前記招待または参加・加入を希望する前記新規端末を、前記宛先情報として前記メンバ端末に知らせ、全端末数が３つ以上の場合は、前記新規端末の前記宛先情報を前記ＶＳＳ分散符号化モジュールにより分散符号化して得られる前記宛先情報シェアと前記宛先情報シェア検証用情報とを知らせ、各々の前記メンバ端末同士は元の前記宛先情報を得るために前記応対端末から取得した前記宛先情報シェアをお互いに交換し、前記応対端末から取得した前記宛先情報シェア検証用情報と前記シェア検証用モジュールでもって、全ての前記宛先情報シェアの不正を検証した後に前記ＶＳＳ復号化モジュールにより元の前記宛先情報を復元する。
【００４９】
また、請求項２７に記載の本発明は、請求項１８〜２６のいずれかにおいて、前記メンバ端末は賛成票として前記許可情報シェアを提出する場合において、それぞれの前記許可情報シェアを前記許可情報シェア検証用情報によって不正があるか否かを前記シェア検証モジュールによってチェックを行う。
【００５０】
また、請求項２８に記載の本発明は、請求項１８〜２７のいずれかにおいて、前記第一段階において、前記応対端末が全ての前記メンバ端末から通知された前記新規端末の前記コミュニティへの参加・加入に対する賛否の伺いに対し、前記投票のために前記第二段階に進むことが可能であるか否かの集計結果を通知し、前記第二段階において、前記投票結果を通知する。
【００５１】
また、請求項２９に記載の本発明は、ネットワークに接続されている複数の端末もしくは公開鍵サーバとの通信を行い、複数の前記端末に対してはコネクションを確立することでコミュニティを形成し、かつ、前記公開鍵サーバに対しては公開鍵取得要求により公開鍵を取得するためのコミュニケーションプログラムであって、前記コミュニティを、２つ以上の前記端末間のフルメッシュのコネクションで形成されるフルメッシュ網により形成するステップと、応対端末を、前記コミュニティに属していない新規端末を前記コミュニティに招待することの要求がされているか、または、前記コミュニティに属していない新規端末が前記コミュニティへ属することの要求を受けた前記コミュニティに属する端末のいずれかにより構成するステップと、メンバ端末を、前記応対端末以外の前記コミュニティに属する端末により構成するステップと、許可情報生成モジュールにより、前記コミュニティへ新規端末を参加・加入させる場合に、この参加・加入の可否を決定するための投票用情報の作成の基礎となる情報であって、新規端末が前記メンバ端末のそれぞれに前記コネクションの確立を要求する場合に、その新規端末が前記コミュニティの前記メンバ端末および前記応対端末から前記参加・加入に対する賛成を得ているかどうかを確認するための情報である許可情報を生成するステップと、コネクション確立情報生成モジュールにより、新規端末が前記メンバ端末と前記コネクションを確立したかどうかを前記応対端末が確認するために必要なコネクション確立情報を生成するステップと、ＶＳＳ分散符号化モジュールにより、前記メンバ端末がそれぞれ独立に生成した許可情報を検証可秘密分散の（ｋ、ｎ）閾値法（ｋ≦ｎ）によって分散符号化し、投票用情報であるｎ個の許可情報シェアと１個の許可情報シェア検証用情報を生成し、同様にコネクション確立情報を秘密分散法の（ｋ、ｎ）閾値法（ｋ≦ｎ）によって分散符号化し、ｎ個のコネクション確立情報シェアを生成し、同様に前記コミュニティに参加・加入している全端末数が３以上のときに新規端末の宛先情報を前記検証可秘密分散の（ｋ、ｎ）閾値法（ｋ≦ｎ）によって分散符号化し、ｎ個の宛先情報シェアと１個の宛先情報シェア検証用情報を生成するステップと、ＶＳＳ復号化モジュールにより、前記秘密分散法または前記検証可秘密分散の（ｋ、ｎ）閾値法によって、ｎ個の分散符号化されたシェアからｋ個以上のシェアを利用することで元の情報を復元するステップと、シェア検証モジュールにより、前記許可情報シェア検証用情報と前記宛先情報シェア検証用情報を利用し、ＶＳＳにより前記許可情報シェアと前記コネクション確立情報シェアと前記宛先情報シェアに不正がないかどうかを確認するステップと、共通鍵生成モジュールにより、共通鍵暗号化方式によるセッションキーを生成するステップと、を有し、データベースにより、前記許可情報生成モジュールで生成する前記許可情報と、前記ＶＳＳ分散符号化モジュールと前記許可情報とを利用して生成する前記許可情報シェアと、前記許可情報シェア検証用情報と、前記コネクション確立情報生成モジュールで生成するコネクション確立情報と、前記ＶＳＳ分散符号化モジュールと前記コネクション確立情報とを利用して生成する前記コネクション確立情報シェアと、前記共通鍵生成モジュールで生成するセッションキーと、前記公開鍵サーバに問い合わせることで取得する自端末以外の他の端末の公開鍵と、自端末の秘密鍵および公開鍵と、他の端末の宛先情報と、前記ＶＳＳ分散符号化モジュールと宛先情報とを利用して生成する前記宛先情報シェアと、前記宛先情報シェア検証用情報と、前記コミュニティに参加・加入している全ての端末を網羅した端末リストと、を管理するステップと、許可情報比較モジュールにより、前記新規端末が前記メンバ端末の各々に前記コネクションの確立を要求する場合に、前記メンバ端末において前記新規端末が前記コミュニティに属する他の端末から前記賛成を得ているかどうかを、前記新規端末から取得した前記許可情報シェアと、自端末の前記データベースで管理する前記許可情報シェアと、前記ＶＳＳ復号化モジュールと、を利用して復元した許可情報と、自端末の前記データベースで管理する許可情報と、を比較し確認するステップと、コネクション確立情報比較モジュールにより、前記応対端末が前記新規端末からアクセスを受けた場合に、全ての前記メンバ端末と前記コネクションを確立しているかどうかを、前記新規端末から取得した前記コネクション確立情報シェアと、自端末の前記データベースで管理する前記コネクション確立情報シェアと、前記ＶＳＳ復号化モジュールと、を利用して復元した前記コネクション確立情報と、自端末の前記データベースで管理するコネクション確立情報と、を比較し確認するステップと、公開鍵暗号化方式暗号化モジュールにより、暗号化の依頼を受けた情報を公開鍵暗号化方式により暗号化するステップと、共通鍵暗号化方式暗号化モジュールにより、暗号化の依頼を受けた情報を共通鍵暗号化方式により暗号化するステップと、ｄｉｇｅｓｔ生成モジュールにより、複数の情報の変換結果が同一になることが困難なハッシュ関数の一種であるメッセージダイジェスト関数を利用して任意情報のダイジェストを生成するステップと、公開鍵暗号化方式復号化モジュールにより、復号化の依頼を受けた情報を公開鍵暗号化方式により復号化するステップと、共通鍵暗号化方式復号化モジュールにより、復号化の依頼を受けた情報を共通鍵暗号化方式により復号化するステップと、意思入力モジュールにより、前記コネクションを確立するかどうかの決定と、前記コミュニティへの前記新規端末の参加・加入に対する賛否の一次決定と、前記コミュニティへの前記新規端末の参加・加入に対する賛否の最終決定と、前記コミュニティに参加・加入するかどうかの決定と、のそれぞれの決定をするステップと、メッセージ生成モジュールにより、要求された内容のメッセージを生成し、前記メッセージの生成の要求時に渡された情報を前記メッセージに添付する場合において、前記メッセージに電子署名と暗号化を施す場合は、前記公開鍵暗号方式暗号化モジュールと前記共通鍵暗号方式モジュールと前記ｄｉｇｅｓｔ生成モジュールとをもって前記添付を実行し、一方、前記暗号化のみを施す場合は、前記共通鍵暗号方式モジュールをもって前記添付を実行するステップと、制御モジュールにより、前記許可情報の生成を前記許可情報生成モジュールに依頼し、前記コネクション確立情報の生成を前記コネクション確立情報生成モジュールに依頼し、前記許可情報シェアと、前記許可情報シェア検証用情報と、または前記コネクション確立情報シェアと、または前記宛先情報シェアと、前記宛先情報シェア検証用情報と、を生成することを前記ＶＳＳ分散符号化モジュールに依頼し、前記許可情報シェアの公開鍵による暗号化を前記公開鍵暗号方式暗号化モジュールに依頼し、暗号化された前記許可情報シェアの復号化を前記公開鍵暗号方式復号化モジュールに依頼し、前記意思入力モジュールに前記決定を下すように依頼し、前記宛先情報シェアから前記宛先情報を復元するように前記ＶＳＳ復号化モジュールに依頼し、前記許可情報の比較を前記許可情報比較モジュールに依頼し、前記コネクション確立情報の比較を前記コネクション確立情報比較モジュールに依頼し、前記セッションキーの生成を前記共通鍵生成モジュールに依頼し、前記シェア検証モジュールに、許可情報シェアか、または宛先情報シェアの不正チェックを依頼し、前記データベースに各種情報の問い合わせと保存を行って前記メッセージ生成モジュールに前記メッセージの生成を依頼するステップと、メッセージ不正判断モジュールにより、全ての端末について、受信された前記メッセージの送受信中に不正行為が行われていないかどうかを確認するために、前記メッセージに含まれるダイジェストと該メッセージの内容とから前記ｄｉｇｅｓｔ生成モジュールでもって生成されたダイジェストに相違がないかどうかを比較するステップと、メッセージ解析モジュールにより、全ての端末について、受信された前記メッセージに電子署名と暗号化が施されている場合は、前記公開鍵暗号化方式復号化モジュールと、前記共通鍵暗号方式復号化モジュールと、をもって前記メッセージを解読し、さらに、前記メッセージの解読に必要となる発信元端末の公開鍵を前記データベースに持っていない場合において、前記制御モジュールを通じて前記公開鍵サーバに対し公開鍵を取得するように要求し、解読処理後に前記メッセージに不正行為が行われていないかどうかを確認するために、得られた前記メッセージの内容とダイジェストから前記メッセージの内容をもって前記ｄｉｇｅｓｔ生成モジュールによりダイジェストを生成し、２つの前記ダイジェストを前記メッセージ不正判断モジュールに渡し、不正行為の有無の確認を依頼し、不正行為がなければ前記制御モジュールにメッセージ内容を渡し、一方、前記メッセージに暗号化だけが施されている場合は、前記共通鍵暗号化方式復号化モジュールによって前記メッセージを復号し、この復号後の前記メッセージの内容を前記制御モジュールへ渡すステップと、メッセージ処理モジュールにより、前記メッセージ生成モジュールによって生成された前記メッセージを、外部の端末または前記公開鍵サーバに対して送信し、外部の端末または公開鍵サーバから受信したメッセージを前記メッセージ解析モジュールに渡すステップと、を有する。
【００５２】
また、請求項３０に記載の本発明は、請求項２９において、前記許可情報生成モジュールは、前記許可情報を、生成時の時刻情報と、前記新規端末の前記宛先情報と、任意のランダムなキーワードと、により構成し生成する。
【００５３】
また、請求項３１に記載の本発明は、請求項２９または３０のいずれかにおいて、前記コネクション確立情報生成モジュールは、前記コネクション確立情報を、生成時の時刻情報と、前記新規端末の前記宛先情報と、任意のランダムなキーワードと、により構成し生成する。
【００５４】
また、請求項３２に記載の本発明は、請求項２９〜３１のいずれかにおいて、全端末数が２つの場合において、前記応対端末が、前記メンバ端末に前記新規端末の前記コミュニティへの参加・加入に対する賛否を伺い、前記メンバ端末は賛成の場合に独立に生成した前記許可情報を元に前記ＶＳＳ分散符号化モジュールにより投票用情報である前記許可情報シェアを閾値（３、３）により３個生成し、そのうちの一つを前記応対端末に配布する第一段階と、前記第一段階で前記メンバ端末が賛成であった場合に、前記メンバ端末は自端末が持つ１つの前記許可情報シェアを賛成票として前記応対端末に提出し、前記新規端末を前記コミュニティに参加・加入させるかどうかを決定する第二段階と、前記第二段階において前記メンバ端末が賛成であった場合に、前記応対端末が前記メンバ端末から賛成票として回収した１個と、前記応対端末が持つ１個と、を併せた２個の前記許可情報シェアを前記新規端末に前記コミュニティへの参加・加入するためのチケットとして提供し、前記新規端末が前記メンバ端末と前記コネクションを確立する際に、前記応対端末から取得した全ての前記許可情報シェアを、前記コネクションの確立要求を行うメッセージに添付する第三段階と、を有し、あるいは、全端末数が３つ以上の場合において、前記応対端末が全ての前記メンバ端末に前記新規端末の前記コミュニティへの参加・加入に対する賛否を伺い、各々の前記メンバ端末は独立に生成した前記許可情報を元に前記ＶＳＳ分散符号化モジュールにより閾値（（全端末数）、（全端末数））で（全端末数）個の前記許可情報シェアと、１個の前記許可情報シェア検証用情報と、を生成し、（全端末数）個のうちの（全端末数−１）個の前記許可情報シェアをそれぞれ他の全ての前記メンバ端末と前記応対端末に１つずつ配布し、同時に前記許可情報シェア検証用情報を配布した後を第一段階とし、前記第一段階で全ての前記メンバ端末が賛成であった場合に、各々の前記メンバ端末は他の全ての前記メンバ端末から取得した（全端末数−２）個の前記許可情報シェアを賛成票として前記応対端末に提出することで、前記新規端末を前記コミュニティに参加・加入させるかどうかを決定することを第二段階とし、前記第二段階において全ての前記メンバ端末が賛成であった場合に、前記応対端末が全ての前記メンバ端末から賛成票として回収した（全端末数−２）×（全端末数−１）個と前記応対端末が持つ（全端末数−１）個とを併せた、（全端末数−１）×（全端末数−１）個の前記許可情報シェアを前記新規端末に前記コミュニティへの参加・加入するためのチケットとして提供し、前記新規端末が各々の前記メンバ端末と前記コネクションを確立する際に、前記応対端末から取得した全ての前記許可情報シェアを前記コネクションの確立要求を行うメッセージに添付する第三段階とする。
【００５５】
また、請求項３３に記載の本発明は、請求項３２において、前記第一段階は、各々の前記メンバ端末が前記許可情報シェアを配布する場合において、全端末数が２つのときは、前記メンバ端末は自端末が生成した３個の前記許可情報シェアのうちの一つを前記応対端末に配布し、また一つは自端末の賛成票とし、残りの一つの前記許可情報シェアは他端末に一切漏らすことなく管理し、全端末数が３つ以上のときは、各々の前記メンバ端末は自端末が生成した（全端末数）個の前記許可情報シェアのうち、（全端末数−１）個は他の端末に配布し、残りの一つの前記許可情報シェアと前記許可情報はそれぞれが他端末に一切漏らすことなく管理する。
【００５６】
また、請求項３４に記載の本発明は、請求項３３において、前記メンバ端末が前記応対端末に前記許可情報シェアを提出する場合において、または前記応対端末が各々の前記メンバ端末から取得した前記許可情報シェアを前記新規端末に提供する場合において、自端末の前記宛先情報を含めて前記新規端末の公開鍵を利用して前記公開鍵暗号方式暗号化モジュールにより暗号化して提出する。
【００５７】
また、請求項３５に記載の本発明は、請求項３２〜３４のいずれかにおいて、前記第二段階において、全ての前記メンバ端末が前記応対端末に賛成票を提出した場合に、前記応対端末は前記コネクション確立情報生成モジュールにより前記コネクション確立情報を生成し、前記コネクション確立情報を前記ＶＳＳ分散符号化モジュールにより、閾値（（全端末数）、（全端末数））で分散符号化して得られた（全端末数）個の前記コネクション情報シェアのうちの（全端末数−１）を全ての前記メンバ端末にそれぞれ一つずつに提供し、残りの一つの前記コネクション確立情報シェアと、その元の情報である前記コネクション確立情報を前記データベースでもって外部に漏洩なく管理する。
【００５８】
また、請求項３６に記載の本発明は、請求項３２〜３５のいずれかにおいて、前記メンバ端末が前記新規端末から前記許可情報シェアが添付された前記コネクション確立要求を示すメッセージを受信した場合において、前記メンバ端末は前記新規端末が自端末以外の前記コミュニティに属する全端末から参加・加入に対する賛成を受けているかどうかを確認するために、前記許可情報比較モジュールは前記制御モジュールから前記許可情報の比較の依頼を受け、全端末数が２つの場合は、前記コネクション確立要求メッセージに添付されている２個の前記許可情報シェアと、自端末の前記データベースで管理している１つの前記許可情報シェアを利用して、前記ＶＳＳ復号化モジュールにより前記許可情報を復元し、自端末の前記データベースに保存している前記許可情報と相違がないか比較を行い、相違がない場合は、前記許可情報に含まれる時刻情報と比較時の時刻情報との差分が予め設定された所定値以上であるか否かを調べ、前記所定値以下ならば、さらに前記宛先情報が前記新規端末と相違がないか否かを調べ、相違がなければ、前記制御モジュールに正常応答を返し、全端末数が３つ以上の場合は、前記コネクション確立要求メッセージに添付されている（全端末数−１）×（全端末数−１）個の前記許可情報シェアのうち、自端末が配布した（全端末数−１）個の前記許可情報シェアと、自端末の前記データベースで管理している１つの前記許可情報シェアを利用して、前記ＶＳＳ復号化モジュールにより前記許可情報を復元し、自端末の前記データベースに保存している前記許可情報と相違があるか否かの比較を行い、相違がない場合は、前記許可情報に含まれる時刻情報と比較時の時刻情報との差分が前記所定値以上であるか否かを調べ、前記所定値以下ならば、さらに前記宛先情報が前記新規端末と相違があるか否かを調べ、相違がなければ、残りの（全端末数−２）×（全端末数−１）個の前記許可情報シェアに不正があるか否かを、前記シェア検証モジュールと他の前記メンバ端末から前記許可情報シェア配布時に取得した前記許可情報シェア検証用情報を利用して確認を行い、不正がなければ前記制御モジュールに正常応答を返す。
【００５９】
また、請求項３７に記載の本発明は、請求項３６において、前記許可情報の有効期間を示す前記所定値を任意に設定するための許可情報有効期間設定手段を備える。
【００６０】
また、請求項３８に記載の本発明は、請求項３６または３７のいずれかにおいて、前記新規端末が各々の前記メンバ端末に前記コネクション確立要求を示すメッセージを送信し、正常に前記コネクションが確立される際に、各々の前記メンバ端末は、自端末が前記データベースに保存している前記コネクション確立情報シェアを提供し、前記新規端末は全ての前記メンバ端末から取得した（全端末数−１）個の前記コネクション確立情報シェアを含めて、前記応対端末に提供し、前記応対端末は前記新規端末が全ての前記メンバ端末と前記コネクションを確立しているか否かを確認するために、前記コネクション確立情報比較モジュールは前記制御モジュールから前記コネクション確立情報の比較の依頼を受け、前記新規端末から取得した（全端末数−１）個の前記コネクション確立情報シェアと、自端末の前記データベースで管理している１個の前記コネクション確立情報シェアと、前記ＶＳＳ復号化モジュールと、を利用して復元したコネクション確立情報と、自端末の前記データベースで管理している前記コネクション確立情報とを比較して相違があるか否かの確認を行い、相違がない場合は、前記コネクション確立情報に含まれる時刻情報と比較時の時刻情報との差分が前記所定値以上であるか否かを調べ、前記所定値以下ならば前記制御モジュールに正常応答を返す。
【００６１】
また、請求項３９に記載の本発明は、請求項３８において、前記コネクション確立情報の有効期間を示す前記所定値を任意に設定するためのコネクション確立情報有効期間設定手段を備える。
【００６２】
また、請求項４０に記載の本発明は、請求項３２〜３９のいずれかにおいて、前記応対端末が各々の前記メンバ端末に前記新規端末の前記コミュニティへの参加・加入に対して賛否を問う場合において、前記招待または参加・加入を希望する前記新規端末を、前記宛先情報として前記メンバ端末に知らせ、全端末数が３つ以上の場合は、前記新規端末の前記宛先情報を前記ＶＳＳ分散符号化モジュールにより分散符号化して得られる前記宛先情報シェアと前記宛先情報シェア検証用情報とを知らせ、各々の前記メンバ端末同士は元の前記宛先情報を得るために前記応対端末から取得した前記宛先情報シェアをお互いに交換し、前記応対端末から取得した前記宛先情報シェア検証用情報と前記シェア検証用モジュールでもって、全ての前記宛先情報シェアの不正を検証した後に前記ＶＳＳ復号化モジュールにより元の前記宛先情報を復元する。
【００６３】
また、請求項４１に記載の本発明は、請求項３２〜４０のいずれかにおいて、前記メンバ端末は賛成票として前記許可情報シェアを提出する場合において、それぞれの前記許可情報シェアを前記許可情報シェア検証用情報によって不正があるか否かを前記シェア検証モジュールによってチェックを行う。
【００６４】
また、請求項４２に記載の本発明は、請求項３２〜４１のいずれかにおいて、前記第一段階において、前記応対端末が全ての前記メンバ端末から通知された前記新規端末の前記コミュニティへの参加・加入に対する賛否の伺いに対し、前記投票のために前記第二段階に進むことが可能であるか否かの集計結果を通知し、前記第二段階において、前記投票結果を通知する。
【発明の効果】
【００６５】
本発明によれば、新規エンティティがフルメッシュ網によるコミュニティに参加・加入する場合に、既にコミュニティに加入している複数のエンティティによる賛否の票によるアクセスコントロールを実現でき、許可決定プロセス中において存在する不正なエンティティを検出することができ、許可決定プロセスが不正に操作されることを防止でき、新規エンティティがコミュニティに既に参加・加入している各エンティティに対してコネクションを確立する場合に、許可決定プロセスを不正なく安全に行うことができ、コミュニティに参加・加入している他のエンティティが新規エンティティのコミュニティへの参加・加入に賛否（許可）したことを確実に確認することができるコミュニケーションシステム、コミュニケーション方法およびそのプログラムを提供することができる。
【発明を実施するための最良の形態】
【００６６】
本発明の実施の形態を、図面を参照して説明する。
【００６７】
図１は本発明の実施の形態に係る端末間の関係を表したネットワークの構成を示す説明図である。
【００６８】
端末１、端末２、端末３、端末４、公開鍵サーバ５はネットワーク１００に接続しており、それらの間で通信可能であるとする。図１の状態では、各端末間ではコネクションが確立されていないとする。また、公開鍵サーバ５は複数の端末の公開鍵を一括管理しており、端末からの要求に応じて、公開鍵を提供するリポジトリであるとする。
【００６９】
公開鍵サーバ５は少なくとも端末１、端末２、端末３、端末４の公開鍵を管理しているとする。ネットワーク１００は任意の情報をやり取りするためのインフラであり、例えば、インターネットやプライベートネットワークを表す。
【００７０】
図２は、図１で示された端末１、端末２、端末３、端末４、のそれぞれが持つ共通の機能モジュールの構成を示した図である。
【００７１】
ここで、コミュニティとは複数の端末間でフルメッシュにコネクションを確立することで形成されるフルメッシュ網であるとし、最低２つの端末間で構築される１対のコネクションが必要となる。
【００７２】
また、コミュニティにおいて発生する、端末の新規参加・加入や離脱といったイベントにおいて、コミュニティに属していない端末の招待を希望し、実際にその端末に対して招待を行う任意の端末、またはコミュニティに属していない端末が、あるコミュニティに新規に参加・加入するために、初めてアクセスを行ったコミュニティに属する任意の相手の端末を応対端末と呼ぶ。
【００７３】
また、コミュニティに属しておらず、新規に招待される、または参加・加入する端末は新規端末と呼ぶ。さらに、応対端末が属するコミュニティにおいて、応対端末を除くコミュニティに属する端末をメンバ端末と呼ぶ。コミュニティにおいて、応対端末は１つだけであり、残りの端末がメンバ端末となる。
【００７４】
制御モジュール１１０は、メッセージ生成モジュール１２６、メッセージ解析モジュール１２８、公開鍵暗号方式暗号化モジュール１２１、許可情報生成モジュール１１２、ＶＳＳ分散符号化モジュール１１６、共通鍵生成モジュール１１８、コネクション確立情報比較モジュール１１５、コネクション確立情報生成モジュール１１４、意思入力モジュール１１１、データベース１２５、公開鍵暗号方式復号化モジュール１２２、ＶＳＳ復号化モジュール１１７、シェア検証モジュール１２９とのインタフェースを持つ。
【００７５】
メッセージ生成モジュール１２６に対しては、コネクション確立要求メッセージ、コネクション確立確認メッセージ、コミュニティ参加・加入伺いメッセージ、コミュニティ招待メッセージ、コミュニティ参加・加入承諾メッセージ、賛否の一次意思決定メッセージ、賛否の最終意思決定メッセージ、宛先情報シェア取得要求メッセージ、応答メッセージ、公開鍵取得要求メッセージ、投票用情報提供メッセージ、一次結果通知メッセージ、最終結果通知メッセージを生成するように依頼する。
【００７６】
コネクション確立要求メッセージは、自端末が任意のコミュニティに属しておらず、さらに相手端末も任意のコミュニティに属していないときにコネクションの確立を要求するときと、応対端末からコミュニティ招待メッセージを受信した新規端末が各メンバ端末に対してコネクションの確立を要求するときと、応対端末へ参加・加入を示すメッセージを送信した新規端末が全メンバ端末に対してコネクションの確立を要求するときに生成する。
【００７７】
コネクション確立確認メッセージは、コネクション確立要求メッセージの応答メッセージを受信したときと、コミュニティ参加・加入承諾メッセージを受信したときの応答として生成する。
【００７８】
コミュニティ参加・加入伺いメッセージは、新規端末をコミュニティに招待または参加・加入させる前に、応対端末が全メンバ端末に新規端末のコミュニティへの参加・加入に対する賛否を伺うときに生成する。
【００７９】
コミュニティ参加・加入承諾メッセージは、新規端末が応対端末から受信したコミュニティ招待メッセージの応答メッセージであり、コミュニティへの参加・加入を承諾し、全メンバ端末とコネクション確立した後に生成する。
【００８０】
宛先情報シェア取得要求メッセージは、各メンバ端末が宛先情報を復元するために必要となる宛先情報シェアを他の全メンバ端末から取得するために生成する。
【００８１】
賛否の一次意思決定メッセージは、コミュニティ参加・加入伺いメッセージを応対端末から受信したメンバ端末が、新規端末のコミュニティへの参加・加入の可否を決定した後、応答メッセージとして生成する。
【００８２】
投票用情報提供メッセージは、全端末数が３以上の場合にメンバ端末が一次意思決定後に他の全メンバ端末に投票用情報となる許可情報シェア（許可情報を前記ＶＳＳ分散符号化モジュール１１６により分散符号化して得られるシェア）を提供するために生成する。
【００８３】
一次結果通知メッセージは、応対端末が全メンバ端末から賛否の一次意思決定メッセージを受信後、新規端末のコミュニティへの参加・加入に対する賛否の一次意思決定において、全メンバ端末が賛成の場合は投票準備が終了し投票が可能であることを、そうでない場合は投票が不可能であることを応対端末が全メンバ端末に通知するために生成する。
【００８４】
賛否の最終意思決定メッセージは、賛否の一次意思決定メッセージを送信したメンバ端末が、応対端末から一次結果通知メッセージを受信し応答メッセージを返した後、一次結果通知メッセージの内容が投票可能であることを示していた場合に、最終的に新規端末のコミュニティへの参加・加入の可否を決定した後、応対端末に意思を伝えるために生成する。
【００８５】
最終結果通知メッセージは、応対端末が全メンバ端末から賛否の最終意思決定メッセージを受信後、新規端末のコミュニティへの参加・加入に対する賛否の最終意思決定において、全メンバ端末が賛成であったか、そうでなかったかを応対端末が全メンバ端末に通知するために生成する。
【００８６】
コミュニティ招待メッセージは、応対端末が新規端末に参加・加入を依頼するときに生成する。
【００８７】
応答メッセージは、端末においてはコネクション確立要求メッセージを受信したとき、または賛否の最終意思決定メッセージを受信したときに、または宛先情報シェア取得要求メッセージを受信したときに、または投票用情報提供メッセージを受信したときに、または一次結果通知メッセージを受信したときに、または最終結果通知メッセージを受信したときに、公開鍵サーバ５にとっては公開鍵取得要求メッセージを受信したときに、応答として生成する。
【００８８】
公開鍵取得要求メッセージは、公開鍵を外部の公開鍵サーバ５に問い合わせるときに生成する。
【００８９】
制御モジュール１１０はメッセージの作成を依頼する際、メッセージをセキュアに送信するために、コネクション確立要求メッセージ、コミュニティ招待メッセージの場合は、公開鍵、セッションキー（共通鍵）を渡し、送信するメッセージに電子署名と暗号化を施すよう依頼する。その他のメッセージ（公開鍵取得要求メッセージを除く）の場合は、セッションキーを渡し暗号化してメッセージを送信するように依頼する。
【００９０】
また、コミュニティ参加・加入伺いメッセージの場合、全端末数が２の場合は新規端末の宛先情報を、３以上の場合は端末の宛先情報をＶＳＳにより分散符号化した宛先情報シェアと、宛先情報シェアに不正がないかどうかを検証するための宛先情報シェア検証用情報を添付する。
【００９１】
宛先情報シェア取得要求メッセージの場合、新規端末の宛先情報シェアを添付する。
【００９２】
賛否の一次意思決定メッセージの場合、賛成の意思を示す場合は、全端末数が２の場合は許可情報をＳＳＳにより閾値（３、３）で分散符号化して得られた許可情報シェアを、全端末数が３以上の場合はＶＳＳにより閾値（（全端末数）、（全端末数））で分散符号化して得られた許可情報シェアと、許可情報シェアが不正なく正しく生成されているかどうかを確認するための許可情報シェア検証用情報を添付する。
【００９３】
投票用情報提供メッセージの場合、許可情報をＶＳＳにより閾値（（全端末数）、（全端末数））で分散符号化し得られた許可情報シェアと、許可情報シェア検証用情報を添付する。
【００９４】
賛否の最終意思決定メッセージの場合、メンバ端末が賛成の意思を示す場合は、許可チケット（全端末数が２の場合は、自端末が生成した許可情報シェアと自端末の宛先情報とを、全端末数が３以上の場合は、他の全メンバ端末から取得した（全端末数−２）個の許可情報シェアと自端末の宛先情報とを新規端末の公開鍵で暗号化したもの）を賛成票として添付する。
【００９５】
コミュニティ招待メッセージの場合、新規端末が全メンバ端末とコネクションを確立するために必要となる（全端末数−１）×（全端末数−１）個の許可チケットを添付する。
【００９６】
コネクション確立要求メッセージの場合、新規端末が各メンバ端末に送信する場合には、全端末が２の場合は２個の許可情報シェアを、３以上の場合は（全端末数−１）×（全端末数−１）個の許可情報シェアを添付する。自端末と相手端末が両方ともコミュニティに参加・加入していない場合には何も添付しない。
【００９７】
コミュニティ参加・加入承諾メッセージの場合、新規端末は全メンバ端末とコネクションを確立したときに取得するコネクション確立情報シェアを（全端末数−１）個添付する。
【００９８】
最終結果通知メッセージの場合、応対端末は１個のコネクション確立情報シェアを添付する。
【００９９】
メッセージ解析モジュール１２８に対しては、制御モジュール１１０は受信するメッセージのうち、電子署名と暗号化が施されているコネクション確立要求メッセージ、またはコミュニティ招待メッセージを解読するのに必要な公開鍵がデータベース１２５にない場合に、公開鍵取得要求が伝えられる。そして、公開鍵取得後、制御モジュール１１０はメッセージ解析モジュール１２８に取得した公開鍵を渡す。
【０１００】
公開鍵暗号方式暗号化モジュール１２１に対しては、公開鍵を提供し、許可情報シェアを許可情報シェアの配布元端末の宛先情報を含めて暗号化するように依頼する。
【０１０１】
許可情報生成モジュール１１２に対しては、許可情報の生成を依頼する。
【０１０２】
ＶＳＳ分散符号化モジュール１１６に対しては、ＶＳＳによって各種情報（端末の宛先情報、許可情報、コネクション確立情報）の分散符号化を依頼する。
【０１０３】
共通鍵生成モジュール１１８に対しては、メッセージのなりすましや改竄、盗聴を防ぐためにメッセージに電子署名や暗号化を施すときに必要となるセッションキー（共通鍵）の生成を依頼する。
【０１０４】
コネクション確立情報比較モジュール１１５に対しては、コネクション確立情報の比較を依頼する。依頼は、コミュニティ参加・加入承諾メッセージを受信したときに発生し、このメッセージに含まれるコネクション確立情報シェアをコネクション確立情報比較モジュール１１５に提供する。
【０１０５】
コネクション確立情報生成モジュール１１４に対しては、コネクション確立情報の生成を依頼する。依頼は、応対端末が全メンバ端末から賛否の最終意思決定メッセージを受信後、全メンバ端末が新規端末のコミュニティへの参加・加入に対し賛成であったならば、最終結果通知メッセージを各メンバ端末に送信する前に発生する。
【０１０６】
意思入力モジュール１１１に対しては、各種意思決定（コネクションを確立してもよいかどうかの決定、コミュニティへの新規端末の参加・加入に対する賛否の一次決定、コミュニティへの新規端末の参加・加入に対する賛否の最終決定、コミュニティへの参加・加入の決定）を依頼する。
【０１０７】
データベース１２５に対しては、各種情報の問い合わせと保存依頼を行う。
【０１０８】
公開鍵暗号方式復号かモジュール１２２に対しては、自端末の公開鍵で暗号化された許可情報シェア（許可チケット）を復号化するように依頼する。依頼は、コミュニティ招待メッセージを新規端末が受信したときに発生する。
【０１０９】
ＶＳＳ復号化モジュール１１７に対しては、全端末が３以上のときに分散符号化された宛先情報シェアを復号化するように依頼する。
【０１１０】
シェア検証モジュール１２９に対しては、受信したメッセージに添付されている許可情報シェア、または宛先情報シェアに不正がないかどうかのチェックを依頼する。
【０１１１】
意思入力モジュール１１１は制御モジュール１１０とインタフェースを持つ。制御モジュール１１０から、コネクションを確立してもよいかどうか、またはコミュニティに新規端末を加えても良いかどうか、またはコミュニティに参加・加入するかどうか、の問い合わせがあるので、それに対する（ＹＥＳかＮＯの）回答を制御モジュール１１０に返す。
【０１１２】
許可情報生成モジュール１１２は制御モジュール１１０と、データベース１２５とインタフェースを持つ。
【０１１３】
制御モジュール１１０から許可情報の生成を依頼されると、許可情報生成モジュール１１２は許可情報を生成し、データベース１２５に保存後、生成した許可情報を制御モジュール１１０に返す。この許可情報は複数の端末間でフルメッシュにコネクションを確立することで形成されるコミュニティに新規に端末を招待または参加・加入させるときに必要であり、その新規端末の宛先情報、許可情報の生成時の時刻情報、さらに任意のランダムなキーワードで構成される。
【０１１４】
許可情報比較モジュール１１３は制御モジュール１１０、ＶＳＳ復号化モジュール１１７、データベース１２５とインタフェースを持つ。
【０１１５】
制御モジュール１１０に対しては、許可情報の比較を依頼される。依頼は、各メンバ端末が新規端末からコネクション確立要求メッセージを受信したときに発生する。このとき、全端末数が２の場合、２個の許可情報シェアが制御モジュール１１０から提供され、これら許可情報シェアと自端末のデータベース１２５で保存している許可情報シェアとを併せて、ＶＳＳ復号化モジュール１１７に許可情報を復号化するように依頼し、復号化された許可情報とデータベース１２５に保存している許可情報とを比較し、相違がないか調べ、相違がない場合は、許可情報に含まれる時刻情報と比較時の時刻情報の差分が一定の値以下であるかどうか調べ、一定値以下であれば、さらに許可情報に含まれる端末の宛先情報とコネクション確立要求メッセージを送信した端末の宛先情報が合っているかどうか比較する。
【０１１６】
なお、一定値は予め設定された任意の値であり、図示しない許可情報有効期間設定手段により入力され、設定される。
【０１１７】
また、全端末数３が以上の場合、メッセージに添付されていた（全端末数−１）×（全端末数−１）個のうち自端末が配布した（全端末数−１）個の許可情報シェアが制御モジュール１１０から提供され、これら許可情報シェアと自端末のデータベース１２５で保存している許可情報シェアとを併せて、ＶＳＳ復号化モジュール１１７に許可情報を復号化するように依頼し、復号化された許可情報とデータベース１２５に保存している許可情報とを比較し、相違がないか調べ、相違がない場合は、許可情報に含まれる時刻情報と比較時の時刻情報の差分が一定の値以下であるかどうか調べ、一定値以下であれば、さらに許可情報に含まれる端末の宛先情報とコネクション確立要求メッセージを送信した端末の宛先情報が合っているかどうか比較する。
【０１１８】
以上の比較を終了すると、制御モジュール１１０に対して正常応答を返す。
【０１１９】
コネクション確立情報生成モジュール１１４は制御モジュール１１０とインタフェースを持つ。
【０１２０】
制御モジュール１１０に対しては、コネクション確立情報の生成依頼を受け、新規端末の宛先情報、コネクション確立情報の生成時の時刻情報、さらに任意のランダムなキーワードで構成し、生成する。そして、制御モジュール１１０にその情報を返す。
【０１２１】
コネクション確立情報比較モジュール１１５は制御モジュール１１０、データベース１２５、ＶＳＳ復号化モジュール１１７とインタフェースを持つ。
【０１２２】
制御モジュール１１０に対しては、コネクション確立情報を比較するように依頼される。依頼は、コミュニティ参加・加入承諾メッセージを受信したときに発生する。
【０１２３】
コネクション確立情報比較モジュール１１５は、コミュニティ参加・加入承諾メッセージに含まれる（全端末数−１）個のコネクション確立情報シェアを制御モジュール１１０から提供されると、そのコネクション確立情報シェアとデータベース１２５に保存しているコネクション確立情報シェアからＶＳＳ復号化モジュール１１７を介してコネクション確立情報を復元する。
【０１２４】
復元したコネクション確立情報はデータベース１２５に保存しているコネクション確立情報と比較する。このとき、それらの情報に相違がないかどうか比較し、相違がなければ、コネクション確立情報に含まれる時刻情報と現在の時刻情報の差分がある一定値以下であるかどうか確認する。
【０１２５】
なお、一定値は予め設定された任意の値であり、図示しないコネクション確立情報有効期間設定手段により入力され、設定される。
【０１２６】
以上の比較を終了すると、制御モジュール１１０に対して正常応答を返す。
【０１２７】
ＶＳＳ分散符号化モジュール１１６は制御モジュール１１０、データベース１２５とインタフェースを持つ。
【０１２８】
制御モジュール１１０に対しては、各種情報が提供され、ＶＳＳまたはＳＳＳによる分散符号化を依頼される。
【０１２９】
端末の宛先情報の場合、ＶＳＳにより、閾値（（全端末数−１）、（全端末数−１））で分散符号化し、（全端末数−１）個の宛先情報シェアを生成する。さらに、宛先情報シェアを検証するための宛先情報シェア検証用情報を生成する。
【０１３０】
許可情報の場合、全端末数が２の場合はＳＳＳにより、閾値（３、３）で分散符号化し、３個の許可情報シェアを生成し、２個をデータベース１２５に保存後、残り一つを制御モジュール１１０に返す。
【０１３１】
また、全端末数が３以上の場合は、ＶＳＳにより閾値（（全端末数）、（全端末数））で分散符号化し（全端末数）個の許可情報シェアを生成する。また、許可情報シェアを検証するための許可情報シェア検証用情報を生成する。そして、（全端末数）個の許可情報シェアのうち、１個をデータベース１２５に保存後、残りの許可情報シェアと許可情報シェア検証用情報を制御モジュール１１０に返す。
【０１３２】
コネクション確立情報の場合、ＳＳＳによる閾値（（全端末数）、（全端末数））で分散符号化し、（全端末数）個のコネクション確立情報シェアを生成する。そして、得られたコネクション確立情報シェアのうち、一つをデータベース１２５に保存し、残りを制御モジュール１１０に返す。
【０１３３】
ＶＳＳ復号化モジュール１１７は制御モジュール１１０、コネクション確立情報比較モジュール１１５、許可情報比較モジュール１１３とインタフェースを持つ。
【０１３４】
ＶＳＳ復号化モジュール１１７はＶＳＳまたはＳＳＳの閾値法を用いて、複数のシェアから元の情報を復元する。
【０１３５】
制御モジュール１１０に対しては、宛先情報シェアから宛先情報の復元を依頼される。
【０１３６】
コネクション確立情報比較モジュール１１５に対しては、コネクション確立情報シェアからコネクション確立情報の復元を依頼される。
【０１３７】
許可情報比較モジュール１１３に対しては、許可情報シェアから許可情報の復元を依頼される。
【０１３８】
共通鍵生成モジュール１１８は制御モジュール１１０、データベース１２５とインタフェースを持つ。
【０１３９】
制御モジュール１１０に対しては、セッションキーの生成を依頼される。共通鍵生成モジュール１１８は共通鍵暗号方式のセッションキーを生成し、それをデータベース１２５に保存した後、制御モジュール１１０に返す。
【０１４０】
共通鍵暗号方式暗号化モジュール１１９はメッセージ生成モジュール１２６とインタフェースを持つ。
【０１４１】
メッセージ生成モジュール１２６に対しては、セッションキーによる暗号化を依頼されるので、共通鍵暗号方式暗号化モジュール１１９は、共通鍵暗号化方式により暗号化を行う。
【０１４２】
共通鍵暗号方式復号化モジュール１２０はメッセージ解析モジュール１２８、データベース１２５とインタフェースを持つ。
【０１４３】
メッセージ解析モジュール１２８に対しては、受信したメッセージの復号化を依頼される。依頼を受けると、メッセージの発信元端末と共有しているセッションキーをデータベース１２５に問い合わせ、取得した後にそのセッションキーを利用して復号化を行う。
【０１４４】
公開鍵暗号方式暗号化モジュール１２１は制御モジュール１１０、メッセージ生成モジュール１２６とインタフェースを持つ。
【０１４５】
制御モジュール１１０に対しては、コミュニティ招待メッセージ、または賛否の最終意思決定メッセージを送信するときに添付する情報である許可情報シェアを自端末の宛先情報を含めて、新規端末の公開鍵で暗号化するように依頼される。
【０１４６】
メッセージ生成モジュール１２６に対しては、コネクション確立情報メッセージ、コミュニティ招待メッセージ、の作成の際に実施される電子署名と暗号化において、秘密鍵によるダイジェストの暗号化、公開鍵によるセッションキーの暗号化を依頼される。
【０１４７】
公開鍵暗号方式復号化モジュール１２２は制御モジュール１１０、メッセージ解析モジュール１２８、データベース１２５とインタフェースを持つ。
【０１４８】
メッセージ解析モジュール１２８に対しては、コネクション確立要求メッセージ、コミュニティ招待メッセージを受信したときに、電子署名と暗号化が行われたメッセージの解読のために復号化を依頼される。
【０１４９】
制御モジュール１１０に対しては、許可情報シェア（暗号化されている許可情報シェア）を復号化する目的で復号化を依頼される。
【０１５０】
ｄｉｇｅｓｔ生成モジュール１２３はメッセージ生成モジュール１２６、メッセージ解析モジュール１２８とインタフェースを持つ。
【０１５１】
送信するメッセージの改竄を防止する目的と、受信したメッセージが改竄されていないかどうか確認する目的の２つの目的でｄｉｇｅｓｔ生成モジュール１２３はハッシュ関数（メッセージダイジェスト関数）を利用して、ダイジェストを生成する。
【０１５２】
メッセージ不正判断モジュール１２４はメッセージ解析モジュール１２８とインタフェースを持つ。
【０１５３】
端末が電子署名と暗号化が施されたメッセージ（コネクション確立要求メッセージ、コミュニティ招待メッセージ）を受信し、そのメッセージの解読が終了したときに、メッセージ不正判断モジュール１２４はメッセージ解析モジュール１２８からメッセージの不正がないかどうか確認するように依頼される。このとき、メッセージ解析モジュール１２８からは復号化されたダイジェストと生成したダイジェストの２つが渡されるので、これらの２つのダイジェストに相違がないかどうかを確認し相違がなければ正常応答をメッセージ解析モジュール１２８に返す。
【０１５４】
データベース１２５は制御モジュール１１０、共通鍵暗号方式復号化モジュール１２０、公開鍵暗号方式復号化モジュール１２２、許可情報比較モジュール１１３、コネクション確立情報比較モジュール１１５、許可情報生成モジュール１１２、ＶＳＳ分散符号化モジュール１１６、共通鍵作成モジュール１１８とインタフェースを持つ。
【０１５５】
データベース１２５は自端末の秘密鍵、公開鍵、セッションキー、許可情報、許可情報シェア、許可情報シェア検証用情報、端末の宛先情報、宛先情報シェア、宛先情報シェア検証用情報、コネクション確立情報、コネクション確立情報シェア、コミュニティに参加・加入している端末リスト、を管理する。
【０１５６】
データベース１２５は各モジュールから要求される情報を提供したり、逆に保存したりする。
【０１５７】
メッセージ生成モジュール１２６は制御モジュール１１０、ｄｉｇｅｓｔ生成モジュール１２３、公開鍵方式暗号化モジュール１２１、共通鍵暗号方式暗号化モジュール１１９、メッセージ処理モジュール１２７とインタフェースを持つ。
【０１５８】
制御モジュール１１０に対しては、コネクション確立要求メッセージ、コネクション確立確認メッセージ、コミュニティ参加・加入伺いメッセージ、コミュニティ招待メッセージ、コミュニティ参加・加入承諾メッセージ、賛否の一次意思決定メッセージ、賛否の最終意思決定メッセージ、宛先情報シェア取得要求メッセージ、応答メッセージ、公開鍵取得要求メッセージ、投票用情報提供メッセージ、一次結果通知メッセージ、最終結果通知メッセージを作成するように依頼される。
【０１５９】
メッセージ処理モジュール１２７はメッセージ生成モジュール１２６、メッセージ解析モジュール１２８、外部の端末２〜４、公開鍵サーバ５とインタフェースを持つ。
【０１６０】
メッセージ生成モジュール１２６に対しては、作成されたメッセージをネットワーク１００に接続される端末２〜４や公開鍵サーバ５に対して送信するように依頼される。
【０１６１】
メッセージ解析モジュール１２８に対しては、端末２〜４や公開鍵サーバ５からの受信したメッセージに解析処理を行うように依頼される。
【０１６２】
メッセージ解析モジュール１２８は制御モジュール１１０、ｄｉｇｅｓｔ生成モジュール１２３、メッセージ処理モジュール１２７、メッセージ不正判断モジュール１２４、共通鍵暗号方式復号化モジュール１２０、公開鍵暗号方式復号化モジュール１２２とインタフェースを持つ。
【０１６３】
メッセージ処理モジュール１２７から、コネクション確立要求メッセージ、コネクション確立確認メッセージ、コミュニティ参加・加入伺いメッセージ、コミュニティ招待メッセージ、コミュニティ参加・加入承諾メッセージ、賛否の一次意思決定メッセージ、賛否の最終意思決定メッセージ、宛先情報シェア取得要求メッセージ、応答メッセージ、公開鍵取得要求メッセージ、投票用情報提供メッセージ、一次結果通知メッセージ、最終結果通知メッセージの各種メッセージが渡される。
【０１６４】
コネクション確立要求メッセージ、コミュニティ招待メッセージが渡される場合、これらのメッセージは電子署名と暗号化が施されているので、公開鍵暗号方式復号化モジュール１２２、共通鍵暗号方式復号化モジュール１２０、ｄｉｇｅｓｔ生成モジュール１２３、メッセージ不正判断モジュール１２４を用いて、メッセージを解読し、なりすましや改竄をチェックしてから、不正がない場合に制御モジュール１１０に復号化されたメッセージの内容と添付されている情報を渡す。このとき、メッセージの解読に必要な公開鍵を内部のデータベース１２５に持っていなければ、制御モジュール１１０を通して公開鍵を取得する。
【０１６５】
その他のメッセージに関しては、セッションキーにより暗号化されているので、共通鍵暗号方式復号化モジュール１２０を利用して、メッセージの発信元端末と共有しているセッションキーを利用して復号化を行い、復号化されたメッセージの内容と添付されている情報を制御モジュール１１０に渡す。
【０１６６】
シェア検証モジュール１２９は制御モジュール１１０とインタフェースを持ち、ＶＳＳを利用して分散符号化された各シェア（宛先情報シェア、許可情報シェア）を、他端末から取得しているシェア検証用情報（具体的には宛先情報シェア検証用情報、許可情報シェア検証用情報）を利用して不正がないかどうかを調べる。
【０１６７】
端末７は図１の端末１、端末２、端末３、端末４のうちの任意の端末を示す。
【０１６８】
図３は図１のコネクションが全く構築されていない初期状態から最小規模のコミュニティが形成されるときの端末１と端末２でやり取りされるメッセージを示す説明図である。図３では端末１があらかじめ端末２へメッセージを送信するための宛先情報を知っているものとする。
【０１６９】
端末１は端末２とセキュアにコネクションを確立するために端末２の公開鍵が必要となる。端末１は公開鍵サーバ５に対して、公開鍵取得要求メッセージ３００を送信する。公開鍵サーバ５は公開鍵取得要求メッセージ３００を受信すると、メッセージの内容を判断し、端末２の公開鍵を添付した応答メッセージ３０１を返答する。
【０１７０】
次に、端末１はコネクション確立要求メッセージ３０２を端末２に対して送信する。端末２は端末１からコネクション確立要求メッセージ３０２を受信する。しかし、端末１が送信したメッセージ３０２は電子署名と暗号化が行われているために最初にメッセージ解読処理を行う。ここで端末１の公開鍵が必要となるが、内部のデータベースに端末１の公開鍵を持っていなければ、公開鍵サーバ５に端末１の公開鍵を公開鍵取得要求メッセージ３０３により問い合わせる。公開鍵サーバ５は端末１の公開鍵を添付した応答メッセージ３０４を返答する。
【０１７１】
端末２は端末１の公開鍵を取得すると、それを利用してコネクション確立要求メッセージ３０２を解読し、端末１がコネクションを確立した意思があることを知る。端末２はコネクションを確立するかどうかを図２の意思入力モジュールにより決定し、その意思が反映された応答メッセージ３０５が端末１に対し返答される。ここでは、端末１のコネクション確立要求を端末２が受け入れたとする。
【０１７２】
端末１は応答メッセージ３０５からコネクション確立が可能であることを知る。そして、コネクション確立確認メッセージ３０６を端末２に返答し、コネクションを確立する。
【０１７３】
図４は図３において端末１が端末２の公開鍵を取得し、コネクション確立要求メッセージ３０２を端末２に送信し、コネクションを確立するまでの端末１におけるモジュール処理を示すシーケンス図である。
【０１７４】
図３において、端末１が端末２とコネクションを確立したいとする。また、端末１は端末２の宛先情報をあらかじめ知っているものとする。端末１の制御モジュールは意思入力モジュールから端末２とコネクションを確立したいことを通知される。
【０１７５】
端末１の制御モジュールは端末２にコネクション確立要求メッセージを送信するが、セキュアにコネクションを確立するためにメッセージの電子署名と暗号化を行う。制御モジュールはデータベースに端末２の公開鍵の問い合わせを行い（シーケンス１０００、１００１）、端末２の公開鍵を持っていなければ、公開鍵サーバ５に対して端末２の公開鍵を問い合わせる（シーケンス１００２〜１００７）。公開鍵を取得すると、データベースに格納する（シーケンス１００８、１００９）。
【０１７６】
制御モジュールは端末２とコネクション確立後にメッセージのやり取りに利用するセッションキーを生成するよう共通鍵生成モジュールに依頼する（シーケンス１０１０）。そして、生成されたセッションキーはコネクション確立後、メッセージの暗号化に利用するためにデータベースに格納しておく（シーケンス１０１１、シーケンス１０１２）。そして、共通鍵生成モジュールは生成したセッションキーを制御モジュールに返答する（シーケンス１０１３）。
【０１７７】
制御モジュールはメッセージ生成モジュールに対し、電子署名と暗号化を施したコネクション確立要求メッセージを生成するように依頼する（シーケンス１０１４）。このとき、制御モジュールは端末２と共有するセッションキー、端末１の公開鍵をメッセージ生成モジュールに提供する。
【０１７８】
メッセージ生成モジュールはコネクション確立要求の内容が記述したメッセージを生成し、そのメッセージのダイジェストを生成するためにｄｉｇｅｓｔ生成モジュールに対し依頼する（シーケンス１０１５、１０１６）。
【０１７９】
ダイジェストを得ると、制御モジュールはそれを端末１の秘密鍵を利用し、公開鍵暗号方式暗号化モジュールを介して、公開鍵暗号方式で暗号化する（シーケンス１０１７、１０１８）。
【０１８０】
そして、コネクション確立要求の内容と暗号化されたダイジェストの両方を含んだものをセッションキーにより、共通鍵暗号方式で暗号化する（シーケンス１０１９、１０２０）。これを情報Ａとする。セッションキーは端末２の公開鍵により公開鍵暗号方式で暗号化する（シーケンス１０２１、１０２２）。これを情報Ｂとする。そして、情報Ａと情報Ｂを併せてコネクション確立要求メッセージとして、メッセージ処理モジュールを通じて（シーケンス１０２３）、端末２に送信する（シーケンス１０２４）。
【０１８１】
以下、メッセージに電子署名と暗号化を行うプロセス（シーケンス１０１５〜１０２２）をメッセージ電子署名・暗号化プロセスと呼ぶ。
【０１８２】
端末１は端末２からの応答を待つ。そして、応答メッセージ３０５を端末１のメッセージ処理モジュールが受信すると（シーケンス１０２５）、そのメッセージは（シーケンス１０１７、１０１８で生成した）端末２と共有しているセッションキーで暗号化されているので、メッセージ解析モジュールを通じて（シーケンス１０２６）、メッセージ解読処理を行う（シーケンス１０２７〜１０３０）。
【０１８３】
以下、セッションキーによるメッセージの復号化プロセス（シーケンス１０２７〜１０３０）をメッセージ復号化プロセスと呼ぶ。
【０１８４】
メッセージ解析モジュールはメッセージを解読後、復号化されたメッセージを制御モジュールに渡す。
【０１８５】
制御モジュールは復号化されたメッセージの内容からコネクション確立が可能であることを知る。そして、制御モジュールはコネクション確立確認メッセージを送信するが、端末２には既にセッションキーがわたっているため、セッションキーによる共通鍵暗号方式でメッセージを暗号化し送信する（シーケンス１０３２〜１０３６）。
【０１８６】
以下、セッションキーによるメッセージの暗号化プロセス（シーケンス１０３３、１０３４）をメッセージ暗号化プロセスと呼ぶ。
【０１８７】
図４において、シーケンス１００４、１００５はそれぞれ図３のメッセージ３００、３０１に、シーケンス１０２５は図３のメッセージ３０５に、シーケンス１０３６は図３のメッセージ３０６に相当する。
【０１８８】
図５は図４のシーケンス１０２５において端末１から送信されたコネクション確立要求メッセージ３０５を端末２が受信したときのモジュール処理を示すシーケンス図である。
【０１８９】
端末２のメッセージ処理モジュールはメッセージ３０２を受信すると、電子署名と暗号化が行われているので、メッセージの解読を行う。
【０１９０】
はじめにメッセージ３０２に含まれている情報Ａと情報Ｂのうち、情報Ｂからセッションキーを取得するために、端末２の秘密鍵を利用して公開鍵暗号方式により復号化を行い、セッションキーを取得する（シーケンス１１０１〜１１０５）。
【０１９１】
次に得られたセッションキーを用い、情報Ａを共通鍵暗号方式により復号化する（シーケンス１１０６、１１０７）。得られた情報はコネクション確立要求の内容と端末１の秘密鍵で暗号化されたダイジェストを含む。暗号化されたダイジェストからダイジェストを取得するために端末１の公開鍵を利用して復号化する（シーケンス１１０８〜１１１１）。このとき、端末１の公開鍵を端末２のデータベースが持っていない場合は、メッセージ解析モジュールは一度、制御モジュールに端末１の公開鍵を取得するように依頼する（シーケンス１１１２）。
【０１９２】
制御モジュールは公開鍵サーバ５に対し、端末１の公開鍵を要求する（シーケンス１１１３〜１１１８）。取得後、制御モジュールは端末１の公開鍵をデータベースに保存する（シーケンス１１１９、１１２０）。そして、制御モジュールはメッセージ解析モジュールに取得した端末１の公開鍵を渡す（シーケンス１１２１）。
【０１９３】
メッセージ解析モジュールはその公開鍵を用いて暗号化されたダイジェストの復号を行う（シーケンス１１２２、１１２３）。これをダイジェストＣとする。
【０１９４】
ダイジェスト復号化後、メッセージ解析モジュールはコネクション確立要求の内容が改竄されていないかどうか確認するために、得られたコネクション確立要求の内容からダイジェストを生成する（シーケンス１１２４、１１２５）。これをダイジェストＤとする。そして、ダイジェストＣとＤを比較し、不正がないかチェックするようにメッセージ不正判断モジュールに依頼する（シーケンス１１２６）。
【０１９５】
メッセージ不正判断モジュールはダイジェストＣとＤの相違を調べ、相違がなければ正常応答を返す（シーケンス１１２７）。
【０１９６】
メッセージ解析モジュールは正常応答を受けると、制御モジュールに対して、コネクション確立要求の内容とセッションキーを渡す（シーケンス１１２８）。
【０１９７】
以下、電子署名と暗号化されたメッセージの解読処理（シーケンス１１０２〜１１２７）をメッセージ解読プロセスと呼ぶ。
【０１９８】
制御モジュールはコネクション確立要求の内容より、端末１がコネクションを端末２と構築したいことを知る。制御モジュールは意思入力モジュールに対し、コネクション確立に対する意思決定の判断を依頼する（シーケンス１１２９）。ここで端末２はコネクション確立の意思があるとする。意思入力モジュールは制御モジュールに対し、コネクション確立の意思があることを伝える（シーケンス１１３０）。
【０１９９】
制御モジュールはコネクション確立後のセキュアなメッセージのやり取りのために、データベースに対し、セッションキーを保存する（シーケンス１１３１、１１３２）。
【０２００】
応答メッセージを返すために、制御モジュールはコネクション確立の承諾の内容を示したメッセージを作成するようにメッセージ生成モジュールに依頼する（シーケンス１１３３）。このとき、制御モジュールはセッションキーをメッセージ生成モジュールに提供する。
【０２０１】
メッセージ生成モジュールはコネクション確立の承諾の内容を示すメッセージを生成し、さらにメッセージ暗号化プロセスを行い、メッセージ処理モジュールを通じて応答メッセージ３０５を送信する（シーケンス１１３４〜１１３７）。
【０２０２】
応答メッセージ３０５を送信後、端末２のメッセージ処理モジュールは端末１からコネクション確立確認メッセージを受信すると（シーケンス１１３８）、メッセージは端末１と共有しているセッションキーで暗号化されているので、メッセージ復号化プロセスを行い、メッセージ解析モジュールは復号化されたメッセージを制御モジュールに渡す（シーケンス１１３９〜１１４４）。
【０２０３】
制御モジュールは復号化されたメッセージの内容からコネクション確立したことを知る。
【０２０４】
上記の過程により、端末１と端末２の間でコネクションが確立する。
【０２０５】
図５において、シーケンス１１００は図３のメッセージ３０２に、シーケンス１１３７は図３のメッセージ３０５に、シーケンス１１３８は図３のメッセージ３０６に相当する。
【０２０６】
［第１の実施の形態］
図６は既に端末１と端末２の間でコネクション１０が確立しており、端末１と端末２で全端末数が２の最小規模のコミュニティ２００が形成されている状態から、コミュニティ２００側から新規端末として、端末３をコミュニティ２００へ招待するために必要となる、端末間でやり取りされるメッセージを示す説明図である。
【０２０７】
図６では端末３をコミュニティ２００に招待を希望する端末は端末１であるとする（つまり、端末１が応対端末、端末３が新規端末であり、メンバ端末は端末２である）。端末１は初めに端末３とセキュアにコネクションを確立するために必要となる公開鍵を内部のデータベースに持っているかどうか問い合わせ、持っていなければ外部の公開鍵サーバ５に取得要求を行う（メッセージ４００、４０１）。そして、端末２に対して、招待希望の内容を示すコミュニティ参加・加入伺いメッセージ４０２を送信する。このとき、メッセージには端末３の宛先情報を含める。
【０２０８】
端末２はコミュニティ参加・加入伺いメッセージ４０２を受信すると、メッセージ内容から端末１が端末３のコミュニティへの招待を希望していることを知る。
【０２０９】
端末２は端末３とセキュアにコネクションを張るために必要となる公開鍵を持っているかどうか内部のデータベースに問い合わせし、持っていなければ、公開鍵サーバ５に対して取得要求を行う（メッセージ４０３、メッセージ４０４）。そして、公開鍵取得後、端末２は端末３をコミュニティ２００へ参加・加入させるかどうかの意思の一次決定を行う。ここで端末２は賛成であるとする。
【０２１０】
端末２は許可情報（１−２）を生成し、それを閾値（３、３）で分散符号化し、許可情報シェア（１−２−１）、許可情報シェア（１−２−２）、許可情報シェア（１−２−３）を生成する。
【０２１１】
そして、許可情報（１−２）と３つの許可情報シェアのうち、２つの許可情報シェア（ここでは許可情報シェア（１−２−２）、許可情報シェア（１−２−３）とする）は端末２自身が端末３のコネクション確立要求を受けたときに、端末３がコミュニティ２００への参加・加入に対しコミュニティに参加・加入している全端末の賛成を得ているかどうかを確認する目的と、自端末の投票用情報として使用する目的で内部のデータベースに保存しておく。
【０２１２】
端末２は端末１に対して、コミュニティ参加・加入伺いメッセージ４０２の応答メッセージとして、投票用情報として許可情報シェア（１−２−１）を添付した、賛否の一次意思決定メッセージ４０５を送信する。端末３がコミュニティへ参加・加入するためには、賛否の最終意思決定の際に全端末からの許可情報シェアを取得する必要がある。
【０２１３】
端末１は賛否の一次意思決定メッセージ４０５を受信し、メッセージ内容から端末３のコミュニティ２００への参加・加入に対して端末２が賛成であることを確認し、許可情報シェア（１−２−１）を内部のデータベースに保存しておく。
【０２１４】
端末１は全メンバ端末（端末２）から賛否の一次意思決定メッセージを受信したので、全メンバ端末に一次結果通知メッセージを送信する。このとき、全メンバ端末が賛成を示した場合、投票が可能であることを、そうでない場合、投票が不可能であることを伝える。
【０２１５】
端末１は投票が可能であることを示す内容の一次結果通知メッセージ４０６を端末２に送信する。
【０２１６】
端末２は端末１から一次結果通知メッセージ４０６を受信し、全メンバ端末が賛否の一次意思決定メッセージにおいて端末３のコミュニティ２００への参加・加入に賛成をし、投票が可能であることを知る。そして、応答メッセージ４０７を端末１に送信する。
【０２１７】
次に、端末２は端末３のコミュニティ２００への参加・加入に対する賛否の最終的な判断を行う。ここで端末２は最終的に端末３のコミュニティ２００への参加・加入に賛成であるとする。端末２は自端末の宛先情報と許可情報シェア（１−２−３）を併せて、端末３の公開鍵で暗号化した許可チケット（１−２）を生成する。
【０２１８】
端末２は最終的に端末３のコミュニティ２００への参加・加入に賛成であることを示す内容に許可チケット（１−２）を添付し、賛否の最終意思決定メッセージ４０８を送信する。メッセージ４０８送信後、端末２は端末１から応答メッセージ４０９を受信する。
【０２１９】
一方、端末１は賛否の最終意思決定メッセージ４０８により、端末３のコミュニティ２００への参加・加入に対して端末２が最終的に賛成であることを確認し、許可チケット（１−２）を内部のデータベースに保存する。そして、端末２に応答メッセージ４０９を送信する。
【０２２０】
端末１は全メンバ端末から賛否の最終意思決定メッセージを受信し、全メンバ端末が賛成であることを知る。
【０２２１】
端末１はコネクション確立情報（１−１）を生成し、データベースに保存する。そして、コネクション確立情報（１−１）をＶＳＳにより閾値（２、２）で分散符号化し、生成したコネクション確立情報シェア（１−１−１）、コネクション確立情報シェア（１−１−２）のうち一方（ここではコネクション確立情報シェア（１−１−１）とする）をデータベースに保存する。
【０２２２】
端末１は全メンバ端末が賛成であることを知らせる内容にコネクション確立情報シェア（１−１−２）を添付した最終結果通知メッセージ４１０を端末２に送信する。そして、端末２から応答メッセージ４１１を受信する。
【０２２３】
端末２は最終結果通知メッセージ４１０を受信し、全メンバ端末は最終的に端末３のコミュニティ２００への参加・加入に対して賛成であったことを知る。また、コネクション確立情報シェア（１−１−２）を取得する。そして、端末１に応答メッセージ４１１を送信する。
【０２２４】
一方、端末１は応答メッセージ４１１を受信後、端末１は賛否の一次意思決定メッセージ４０５より取得した許可情報シェア（１−２−１）に自端末の宛先情報を含めて端末３の公開鍵で暗号化を行い（許可チケット（１−３）とする）、許可チケット（１−２）と許可チケット（１−３）を添付したコミュニティ招待メッセージ４１２を端末３に対し送信する。このとき、メッセージには電子署名と暗号化を施す。
【０２２５】
端末３はコミュニティ招待メッセージ４１２を受信し、メッセージを解読する。ここで、端末１の公開鍵が必要となるが、データベースに持っていなければ、外部の公開鍵サーバ５に取得要求を行う（メッセージ４１３、４１４）。復号されたメッセージ内容から端末１が端末３のコミュニティへの招待を希望していることを知る。また、このとき許可チケット（１−２）、許可チケット（１−３）を取得する。
【０２２６】
端末３はコミュニティ２００にどのような端末が参加・加入しているかを調べるために、許可チケット（１−２）、許可チケット（１−３）を秘密鍵により復号化し、得られた許可情報シェア（１−２−１）、許可情報シェア（１−２−３）、端末１と端末２の宛先情報から、端末１と端末２がコミュニティ２００に参加・加入していることを知る。
【０２２７】
端末３はコミュニティ２００の招待に賛成であるとする。端末３は端末２に対して、セキュアにコネクションを確立するために端末２の公開鍵を内部のデータベースに問い合わせ、持っていなければ外部の公開鍵サーバ５に取得要求を行う（メッセージ４１５、応答メッセージ４１６）。
【０２２８】
端末３は許可情報シェア（１−２−１）、許可情報シェア（１−２−３）を含めた、コネクション確立要求メッセージ４１７を端末２に対して送信する。
【０２２９】
端末２は端末３からコネクション確立要求メッセージ４１７を受信すると、添付されている許可情報シェア（１−２−１）、許可情報シェア（１−２−３）を用いて、端末３がコミュニティ２００への参加・加入に対し他の全端末から賛成を得ているかどうかをチェックする。
【０２３０】
まず、端末２の内部がデータベースで持っている、許可情報シェア（１−２−２）と取得した許可情報シェア（１−２−１）、許可情報シェア（１−２−３）を利用し、ＶＳＳにより復号化を行い、許可情報（１−２−Ａ）を生成する。そして、端末２が内部のデータベースで持つ許可情報（１−２）と許可情報（１−２−Ａ）とを比較し、相違がないかどうか確認する。相違があった場合は、端末３のアクセスを不正（つまり、コミュニティの他の全ての端末から賛成を得ていない）とみなし、コネクションは確立しない。相違がなければ、比較時の時刻情報と許可情報に含まれる時刻情報の差分を計算し、その値が一定の時間以上であれば、不正と判断し、コネクションは確立しない。不正がなければ、さらに許可情報に記述されている宛先情報が端末３の宛先情報と一致するか比較し、相違があればコネクションは確立しない。
【０２３１】
以上のようなチェックを行い、端末３に不正がなく、コミュニティ２００への参加・加入に対し他の全端末から賛成を得ていることを確認すると、端末２は内部のデータベースに持つ、コネクション確立情報シェア（１−１−２）を添付した応答メッセージ４１８を端末３に送信する。
【０２３２】
応答メッセージ４１８を送信後、端末２は端末３からコネクション確立確認メッセージ４１９を受信する。
【０２３３】
一方、端末３は応答メッセージ４１８を受信すると、コネクション確立情報シェア（１−１−２）を内部のデータベースに保存した後、コネクション確立確認メッセージ４１９を端末２に送信する。
【０２３４】
端末３は端末２とコネクションを確立後、コミュニティ招待メッセージ４１２の応答メッセージとして、コネクション確立情報シェア（１−１−２）を添付したコミュニティ参加・加入承諾メッセージ４２０を送信する。
【０２３５】
端末１は端末３からコミュニティ参加・加入承諾メッセージ４２０を受信し、コネクション確立情報シェア（１−１−２）を取得する。そして、端末３がコミュニティの他の全ての端末とコネクションを確立しているかどうか確認するために、コネクション確立情報シェア（１−１−２）と内部のデータベースに持つコネクション確立情報シェア（１−１−１）からコネクション確立情報を復号化し、コネクション確立情報（１−１−Ａ）を生成する。
【０２３６】
得られたコネクション確立情報（１−１−Ａ）と内部のデータベースに持つコネクション確立情報（１−１）を比較し、相違がないかどうかチェックする。
【０２３７】
相違がある場合は、端末３がコミュニティ２００に参加・加入している他の全ての端末とはコネクションが確立していないと判断し、コネクションは確立しない。相違がない場合は、コネクション確立情報に含まれる時刻情報と比較時の時刻情報の差分が一定時間以内であるかどうかチェックする。一定時間以上であれば、コネクションは確立しない。
【０２３８】
以上のチェックが終わると、最終的に端末１はコネクション確立確認メッセージ４２１を端末３に送信し、端末３とコネクションを確立する。
【０２３９】
以上のように、メッセージ４００〜４２１を端末１、端末２、端末３、公開鍵サーバ５の間でやり取りすることで、端末３を新規にコミュニティ２００に招待する。
【０２４０】
図７から図２０は図６において端末間でやり取りされるメッセージを各端末が内部のモジュールを利用して処理するプロセスを詳細に示したシーケンス図である。
【０２４１】
図７は端末１が端末３の招待に対する賛否を問う内容を示すメッセージ（コミュニティ参加・加入伺いメッセージ）を端末２に対して送信するまでのモジュール処理を示すシーケンス図である。
【０２４２】
端末１の制御モジュールは端末３の宛先情報、端末２と共有しているセッションキー、端末３の公開鍵、を取得するためにデータベースに問い合わせる（シーケンス１２００、１２０１）。このとき、端末２の公開鍵がデータベースになければ、外部の公開鍵サーバ５に対して問い合わせ（シーケンス１２０２〜１２０７）、データベースに保存しておく（シーケンス１２０８、１２０９）。
【０２４３】
制御モジュールはメッセージ生成モジュールにコミュニティ参加・加入伺いメッセージを生成し、端末２へ送信するように依頼する（シーケンス１２１０）。このとき、同時に端末３の宛先情報、セッションキーを渡す。
【０２４４】
メッセージ生成モジュールは端末３のコミュニティ２００への招待に対する賛否を問う内容に端末３の宛先情報を添付したメッセージを生成し、メッセージ暗号化プロセスを行った後、コミュニティ参加・加入伺いメッセージ４０２を端末２に送信する（シーケンス１２１１〜１２１４）。
【０２４５】
図７において、シーケンス１２０４、１２０５、１２１４はそれぞれ図６のメッセージ４００、４０１、４０２に相当する。
【０２４６】
図８は図７で端末１が送信したコミュニティ参加・加入伺いメッセージ４０２を端末２が受信したときの端末２内でのモジュール処理を示すシーケンス図である。
【０２４７】
端末２のメッセージ処理モジュールはメッセージ４０２を受信すると、端末１と共有しているセッションキーで暗号化されたメッセージを復号化するため、メッセージ解析モジュールを介してメッセージ復号化プロセスを行う（シーケンス１３００〜１３０５）。そして、復号化されたメッセージを制御モジュールに渡す（シーケンス１３０６）。
【０２４８】
制御モジュールはメッセージから端末１が端末３をコミュニティ２００へ招待することを希望しているのを知る。
【０２４９】
制御モジュールは端末３の公開鍵を持っているかどうかチェックを行い（シーケンス１３０７、１３０８）、持っていなければ公開鍵サーバ５に対し取得要求を行う（シーケンス１３０９〜１３１４）。そして取得後、端末３の宛先情報とともにデータベースに保存する（シーケンス１３１５、１３１６）。
【０２５０】
そして、制御モジュールは意思入力モジュールに対しコミュニティ２００への端末３の参加・加入に対する賛否を伺う（シーケンス１３１７）。ここで、賛成の意思があるとする。意思入力モジュールは賛成の意思があることを制御モジュールに伝える（シーケンス１３１８）。この時点での意思決定は一次的なものである。
【０２５１】
制御モジュールは許可情報生成モジュールに対し、許可情報を生成するように依頼する（シーケンス１３１９）。
【０２５２】
許可情報生成モジュールは許可情報（１−２）を生成し、データベースに保存後（シーケンス１３２０、１３２１）、制御モジュールに許可情報（１−２）を返す（シーケンス１３２２）。
【０２５３】
制御モジュールは投票用情報を生成するために、許可情報（１−２）を分散符号化するようにＶＳＳ分散符号化モジュールに依頼する（シーケンス１３２３）。
【０２５４】
ＶＳＳ分散符号化モジュールは全端末数が２なので、閾値（３、３）で許可情報（１−２）を分散符号化し、許可情報シェア（１−２−１）と、許可情報シェア（１−２−２）、許可情報シェア（１−２−３）と生成する。そして、許可情報シェアのうち、２つ（ここでは許可情報シェア（１−２−２）、許可情報シェア（１−２−３）とする）をデータベースに保存し（シーケンス１３２４、１３２５）、許可情報シェア（１−２−１）を制御モジュールに返す（シーケンス１３２６）。
【０２５５】
制御モジュールは端末１と共有しているセッションキーをデータベースに問い合わせ（シーケンス１３２７、１３２８）、許可情報シェア（１−２−１）を添付した賛否の一次意思決定メッセージを端末１に送信するようにメッセージ生成モジュールに依頼する（シーケンス１３２９）。このとき、同時にセッションキー、許可情報シェア（１−２−１）をメッセージ生成モジュールに渡す。
【０２５６】
メッセージ生成モジュールは賛成の意思内容に許可情報シェア（１−２−１）を添付したメッセージを生成し、メッセージ暗号化プロセスを行って、メッセージ処理モジュールを介して端末１に対し送信する（シーケンス１３３０〜１３３３）。
【０２５７】
図８において、シーケンス１３００、１３１１、１３１２、１３３３はそれぞれ図６のメッセージ４０２、４０３、４０４、４０５に相当する。
【０２５８】
図９は図８において、端末２から送信された賛否の一次意思決定メッセージ４０５を端末１が受信したときのモジュール間の処理を示すシーケンス図である。
【０２５９】
端末１のメッセージ処理モジュールはメッセージ４０５を受信すると、端末２と共有しているセッションキーで暗号化されたメッセージを復号化するため、メッセージ解析モジュールを介してメッセージ復号化プロセスを行う（シーケンス１４００〜１４０５）。そして、復号化されたメッセージ内容と添付されている許可情報シェア（１−２−１）とを制御モジュールに渡す（シーケンス１４０６）。
【０２６０】
制御モジュールは復号化されたメッセージ内容から端末２が賛成の意思があることを知る。そして、取得した投票用情報である許可情報シェア（１−２−１）をデータベースに保存する（シーケンス１４０７、１４０８）。
【０２６１】
端末１は全メンバ端末（端末２）から賛否の一次意思決定メッセージを受信したので、全メンバ端末に一次結果通知メッセージを送信する。このとき、全メンバ端末が賛成を示した場合、投票が可能であることを、そうでない場合、投票が不可能であることを伝える。
【０２６２】
端末１の制御モジュールはメッセージ生成モジュールに対し、投票が可能であることを示す内容の一次結果通知メッセージを全メンバ端末に送信するように依頼する（シーケンス１４０９）。
【０２６３】
メッセージ生成モジュールは投票が可能であることを示す内容のメッセージを生成し、メッセージ暗号化プロセスを行って、メッセージ処理モジュールを介して端末２に一次結果通知メッセージ４０６を送信する（シーケンス１４１０〜１４１３）。
【０２６４】
一次結果通知メッセージ４０６送信後、端末１の制御モジュールは端末２から応答メッセージ４０７を送信する（シーケンス１４１４〜１４２０）。
【０２６５】
図９において、シーケンス１４００、１４１３、１４１４はそれぞれ図６のメッセージ４０５、４０６、４０７に相当する。
【０２６６】
図１０において、端末２が一次結果通知メッセージ４０６を受信したときの端末２内のモジュール処理を示すシーケンス図である。
【０２６７】
端末２のメッセージ処理モジュールはメッセージ４０６を受信すると、端末１と共有しているセッションキーで暗号化されたメッセージを復号化するために、メッセージ解析モジュールを介してメッセージ復号化プロセスを行う（シーケンス１５００〜１５０５）。そして、復号化されたメッセージを制御モジュールに渡す（シーケンス１５０６）。
【０２６８】
制御モジュールはメッセージから端末１が全メンバ端末から受信した賛否の一次意思決定メッセージにおいて、全メンバ端末（端末２）からの賛成を得て、投票準備が完了し、投票が可能であることを知る。
【０２６９】
制御モジュールはメッセージ生成モジュールを介して、一次結果通知メッセージ４０６の応答メッセージ４０７を端末１に送信する（シーケンス１５０７〜１５１１）。
【０２７０】
図１０において、シーケンス１５００、１５１１はそれぞれ図６のメッセージ４０６、４０７に相当する。
【０２７１】
図１１は図１０で端末１に応答メッセージ４０７を送信した後、端末２内のモジュール処理を示すシーケンス図である。
【０２７２】
端末２の制御モジュールは意思入力モジュールに対し、端末３のコミュニティ２００への参加・加入に対する最終的な賛否の意思決定を問い合わせる（シーケンス１６００）。ここで端末２は最終的に端末３のコミュニティ２００への参加・加入に賛成であるとする。意思入力モジュールは賛成であることを示す意思を制御モジュールに伝える（シーケンス１６０１）。
【０２７３】
制御モジュールに賛成の意思が伝えられると、端末１と共有しているセッションキー、端末３の公開鍵、許可情報シェア（１−２−３）をデータベースに問い合わせる（シーケンス１６０２、１６０３）。そして、許可情報シェア（１−２−３）と自端末の宛先情報を併せて、端末３の公開鍵で暗号化するように依頼する（シーケンス１６０４、１６０５）。これにより、許可チケット（１−２）が生成される。
【０２７４】
制御モジュールは許可チケット（１−２）、端末１と共有しているセッションキー、をメッセージ生成モジュールに提供し、賛否の最終意思決定メッセージを端末１に対して送信するように依頼する（シーケンス１６０６）。
【０２７５】
メッセージ生成モジュールは最終的な賛成の意思内容に許可チケット（１−２）を添付したメッセージを生成し、メッセージ暗号化プロセスを行い、メッセージ処理モジュールを通じて賛否の最終意思決定メッセージ４０８を送信する（シーケンス１６０７〜１６１０）。
【０２７６】
端末２は端末１に対して、賛否の最終意思決定メッセージ４０８を送信後、端末１から応答メッセージ４０９を受信する（シーケンス１６１１〜１６１７）。
【０２７７】
図１１において、シーケンス１６１０、１６１１はそれぞれ図６のメッセージ４０８、４０９に相当する。
【０２７８】
図１２は図１１で端末２が賛否の最終意思決定メッセージ４０８を送信し、そのメッセージを端末１が受信したときの端末１内のモジュール処理を示すシーケンス図である。
【０２７９】
端末１のメッセージ処理モジュールはメッセージ４０８を受信すると、端末２と共有しているセッションキーで暗号化されたメッセージを復号化するため、メッセージ解析モジュールを介してメッセージ復号化プロセスを行う（シーケンス１７００〜１７０５）。そして、復号化されたメッセージ内容と添付されている許可チケット（１−２）を制御モジュールに引き渡す（シーケンス１７０６）。
【０２８０】
制御モジュールは復号化されたメッセージ内容から端末２が最終的に賛成の意思を示したことを知る。そして、制御モジュールは許可チケット（１−２）をデータベースに保存しておく（シーケンス１７０７、１７０８）。
【０２８１】
制御モジュールは端末２に対して、応答メッセージ４０９を返す（シーケンス１７０９〜１７１３）。
【０２８２】
制御モジュールは全メンバ端末から賛否の最終意思決定メッセージを受信し、全メンバ端末が賛成であることを知る。
【０２８３】
制御モジュールは全メンバ端末が賛成であったことを知らせるために、最終結果通知メッセージを送信しなければならない。
【０２８４】
まず、制御モジュールはコネクション確立情報生成モジュールに対して、コネクション確立情報を生成するように依頼する（シーケンス１７１４）。
【０２８５】
コネクション確立情報生成モジュールはコネクション確立情報（１−１）を生成し、データベースに保存後、制御モジュールに返す（シーケンス１７１５〜１７１７）。
【０２８６】
制御モジュールは生成されたコネクション確立情報（１−１）をＶＳＳ分散符号化モジュールに対して閾値（２、２）で分散符号化するように依頼する（シーケンス１７１８）。
【０２８７】
ＶＳＳ分散符号化モジュールは閾値（２、２）でコネクション確立情報（１−１）を分散符号化し、生成したコネクション確立情報シェア（１−１−１）、コネクション確立情報シェア（１−１−２）のうち一方（ここではコネクション確立情報シェア（１−１−１）とする）をデータベースに保存後、残りのコネクション確立情報シェアを制御モジュールに返す（シーケンス１７１９〜１７２１）。
【０２８８】
制御モジュールは全メンバ端末が賛成であることを知らせる内容にコネクション確立情報シェア（１−１−２）を添付した最終結果通知メッセージを送信するようにメッセージ生成モジュールに依頼する（シーケンス１７２２）。このとき、端末２とのセッションキー、コネクション確立情報シェア（１−１−２）をメッセージ生成モジュールに渡す。
【０２８９】
メッセージ生成モジュールは全メンバ端末が賛成であることを知らせる内容にコネクション確立情報シェア（１−１−２）を添付したメッセージを生成し、メッセージ暗号化プロセスを行い、メッセージ処理モジュールを通じて最終結果通知メッセージ４１０を送信する（シーケンス１７２３〜１７２６）。
【０２９０】
最終結果通知メッセージ４１０送信後、端末２から応答メッセージ４１１を受信する（シーケンス１７２７〜１７２８）。
【０２９１】
図１２において、シーケンス１７００、１７１３、１７２６、１７２７はそれぞれ図６のメッセージ４０８、４０９、４１０、４１１に相当する。
【０２９２】
図１３は端末１が端末３に対し、コミュニティ招待メッセージ４１２を送信するまでの端末１内のモジュール処理を示すシーケンス図である。
【０２９３】
端末１の制御モジュールは端末３に対し、コミュニティ招待メッセージを送信するために、まず、全メンバ端末から取得した許可チケットに加え、自端末で許可チケットを生成しなければならない。
【０２９４】
制御モジュールは端末２から賛否の一次意思決定メッセージ４０５受信時に配布された、許可情報シェア（１−２−１）と、端末３の公開鍵とをデータベースに問い合わせる（シーケンス１８００、１８０１）。そして、許可情報シェア（１−２−１）と自端末の宛先情報を併せた情報を、端末３の公開鍵で暗号化する（シーケンス１８０２、１８０３）。これにより、許可チケット（１−３）が生成される。
【０２９５】
制御モジュールは端末３と共有するためのセッションキーの作成を共通鍵生成モジュールに依頼する（シーケンス１８０４）。共通鍵生成モジュールはセッションキーを生成しデータベースに保存後（シーケンス１８０５、１８０６）、制御モジュールにそのセッションキーを渡す（シーケンス１８０７）。
【０２９６】
制御モジュールは電子署名と暗号化されたコミュニティ招待メッセージを作成するようにメッセージ生成モジュールに依頼する（シーケンス１８０８）。このとき、許可チケット（１−２）、許可チケット（１−３）、端末３の公開鍵、端末３とのセッションキーをメッセージ生成モジュールに引き渡す。
【０２９７】
メッセージ生成モジュールは、コミュニティ２００への招待の内容に許可チケット（１−２）と許可チケット（１−３）を添付したメッセージを生成し、メッセージ電子署名・暗号化プロセスを行って、メッセージ処理モジュールを通じて、端末３にコミュニティ招待メッセージ４１２を送信する（シーケンス１８０９〜１８１８）。
【０２９８】
図１３において、シーケンス１８１８は図６のメッセージ４１２に相当する。
【０２９９】
図１４は端末３が端末１からコミュニティ招待メッセージ４１２を受信したときの端末３内のモジュール処理を示すシーケンス図である。
【０３００】
端末３のメッセージ処理モジュールは端末１からメッセージ４１２を受信すると、電子署名と暗号化が行われたメッセージを解読するために、メッセージ解析モジュールを介して、メッセージ解読プロセスを行う（シーケンス１９００〜１９２７）。そして、復号化されたメッセージ内容と添付されている、許可チケット（１−２）、許可チケット（１−３）、端末１と共有するセッションキー、を制御モジュールに渡す（シーケンス１９２８）。
【０３０１】
制御モジュールは復号化されたメッセージ内容から、端末１が端末３のコミュニティ２００への招待を希望していることを知る。ここで、端末３はコミュニティ２００へ参加・加入をするかどうかの判断を決定するにあたり、コミュニティ２００に参加・加入している端末がどのような端末であるかを知ることが必要となる。しかし、この時点では、コミュニティ２００に参加・加入している全端末のリストを知ることができない。
【０３０２】
よって、制御モジュールはコミュニティ２００に参加・加入している全端末を知るために、許可チケット（１−２）、許可チケット（１−３）を端末３の秘密鍵により復号化する（シーケンス１９２９〜１９３２）。
【０３０３】
得られた許可情報シェア（１−２−１）、許可情報シェア（１−２−３）、端末１と端末２の宛先情報から、端末３の制御モジュールはコミュニティ２００に参加・加入している全端末（端末１と端末２）を把握する。
【０３０４】
図１４において、シーケンス１９００、１９１５、１９１６はそれぞれ図６のメッセージ４１２、４１３、４１４に相当する。
【０３０５】
図１５は図１４において、端末３が端末１から受信したコミュニティ招待メッセージ４１２を処理した後、端末２に対してコネクション確立要求メッセージを送信するときの端末３内のモジュール処理を示すシーケンス図である。
【０３０６】
端末３の制御モジュールは端末２とセキュアにコネクションを確立するために必要な公開鍵をデータベースに問い合わせ（シーケンス２０００、２００１）、持っていなければ、外部の公開鍵サーバ５に対し取得要求を行う（シーケンス２００２〜２００９）。そして、公開鍵を取得後、制御モジュールは意思入力モジュールに対し、コミュニティ２００への参加・加入に対する意思決定を伺う（シーケンス２０１０）。ここで意思入力モジュールは端末３のコミュニティ２００への参加・加入に対し賛成の意思があるものとする。意思入力モジュールはコミュニティ２００への参加・加入の意思を制御モジュールに伝える（シーケンス２０１１）。
【０３０７】
制御モジュールは得られた全許可情報シェア（許可情報シェア（１−２−１）、許可情報シェア（１−２−３））、端末１の宛先情報、端末２の宛先情報、端末１と共有するセッションキー、および端末２の公開鍵をデータベースに保存する（シーケンス２０１２、２０１３）。
【０３０８】
制御モジュールはコネクション確立要求メッセージを端末２に対して送信するために、端末２と共有するためのセッションキーの生成を、共通鍵生成モジュールに依頼する（シーケンス２０１４）。
【０３０９】
共通鍵生成モジュールは生成したセッションキーをデータベースに保存し（シーケンス２０１５、２０１６）、そのセッションキーを制御モジュールに渡す（シーケンス２０１７）。
【０３１０】
制御モジュールは端末２にコネクション確立要求メッセージを送信するようにメッセージ生成モジュールに対して依頼する（シーケンス２０１８）。このとき、端末２とのセッションキー、全許可情報シェア、端末２の公開鍵をメッセージ生成モジュールに渡す。
【０３１１】
メッセージ生成モジュールはコネクション確立要求の内容に全許可情報シェアを添付したメッセージを生成し、メッセージ電子署名・暗号化プロセスを行って、メッセージ処理モジュールを通じて、端末２にコネクション確立要求メッセージ４１３を送信する（シーケンス２０１９〜２０２８）。
【０３１２】
図１５において、シーケンス２００４、２００５、２０２８はそれぞれ図６のメッセージ４１５、４１６、４１７に相当する。
【０３１３】
図１６は図１５において、端末３が送信したコネクション確立要求メッセージ４１７を端末２が受信したときの端末２内のモジュール処理を示すシーケンス図である。
【０３１４】
端末２のメッセージ処理モジュールはメッセージ４１７を受信すると、電子署名と暗号化が行われたメッセージを解読するために、メッセージ解析モジュールを介して、メッセージ解読プロセスを行う（シーケンス２１００〜２１１５）。そして、復号化されたメッセージ内容と添付されている全許可情報シェア、端末３と共有するセッションキーを渡す（シーケンス２１１６）。
【０３１５】
制御モジュールは復号化されたメッセージ内容から端末３が端末２とのコネクションの確立を要求していることを知る。コミュニティ２００への参加・加入にはコミュニティに参加・加入している全端末の賛成が必要であるため、全端末の賛成による参加・加入の権利を端末３が得ているかどうか、端末３から取得した全許可情報シェアを用いてチェックする。
【０３１６】
制御モジュールは全許可情報シェア（許可情報シェア（１−２−１）、許可情報シェア（１−２−３））を許可情報比較モジュールに渡し、端末２が持っている許可情報シェア（１−２−２）と許可情報（１−２）を利用して、端末３がコミュニティ２００へ参加・加入する権利をコミュニティ２００の他の全端末から得ているかどうかチェックするように依頼する（シーケンス２１１７）。このとき、同時に端末３の宛先情報を渡す。
【０３１７】
許可情報比較モジュールはデータベースに対し、許可情報シェア（１−２−２）と許可情報（１−２）を問い合わせる（シーケンス２１１８、２１１９）。そして、ＶＳＳ復号化モジュールに対し、許可情報シェア（１−２−１）、許可情報シェア（１−２−２）、許可情報シェア（１−２−３）から許可情報を復号化するように依頼する（シーケンス２１２０）。
【０３１８】
ＶＳＳ復号化モジュールは３個の許可情報シェアから復号化を行い生成した、許可情報（１−２−Ａ）を許可情報比較モジュールに渡す（シーケンス２１２１）。
【０３１９】
許可情報比較モジュールは許可情報（１−２）と許可情報（１−２−Ａ）の比較を行い、相違がないかどうかチェックする。相違があれば、不正とみなしコネクションは確立しない。相違がない場合、比較時の時刻情報と許可情報（１−２）に含まれる時刻情報の差分を計算し、一定時間以上、時間が経過していないことを確認する。経過していなければ正常であると判断し、さらに端末３の宛先情報の比較を行い、許可情報（１−２）に含まれる端末３の宛先情報と相違がないかどうか比較する。
【０３２０】
以上の比較が正常に終了すると正常応答を制御モジュールに返す（シーケンス２１２２）。
【０３２１】
以上のチェックを行い、全許可情報シェアに全く不正がなければ、端末３がコミュニティ２００への参加・加入に対する全端末の賛成を得ていると判断する。そして、コネクション確立要求を承諾し、端末３とのセッションキーをデータベースに保存する（シーケンス２１２３、２１２４）。また、コネクション確立情報シェア（１−１−２）をデータベースに問い合わせる（シーケンス２１２５、２１２６）。
【０３２２】
制御モジュールはコネクション確立情報シェア（１−１−２）を添付した応答メッセージを端末３に送信するようにメッセージ生成モジュールに依頼する（シーケンス２１２７）。このとき、メッセージ生成モジュールに端末３と共有するセッションキー、コネクション確立情報シェア（１−１−２）を渡す。
【０３２３】
メッセージ生成モジュールはコネクション確立要求に対する承諾の内容にコネクション確立情報シェア（１−１−２）を添付したメッセージを生成し、メッセージ暗号化プロセスを行った後、メッセージ処理モジュールを通じて、端末３に応答メッセージ４１８を送信する（シーケンス２１２８〜２１３１）。
【０３２４】
応答メッセージ４１８送信後、端末２はコネクション確立確認メッセージ４１９を端末３から受信する。そして、メッセージ内容から端末２と端末３の間でコネクションが正常に確立したことを知る（シーケンス２１３２〜２１３８）。
【０３２５】
図１６において、シーケンス２１００、２１３１、２１３２はそれぞれ図６のメッセージ４１７、４１８、４１９に相当する。
【０３２６】
図１７は端末２からの応答メッセージ４１８を端末３が受信したときの端末３内のモジュール処理を示すシーケンス図である。
【０３２７】
端末３のメッセージ処理モジュールはメッセージ４１８を受信すると、端末２と共有しているセッションキーで暗号化されたメッセージを復号化するために、メッセージ解析モジュールを介してメッセージ復号化プロセスを行う（シーケンス２２００〜２２０５）。そして、復号化したメッセージ内容とコネクション確立情報シェア（１−１−２）を制御モジュールに渡す（シーケンス２２０６）。
【０３２８】
制御モジュールは復号化されたメッセージ内容から端末２とのコネクションが確立可能であることを判断する。取得したコネクション確立情報シェア（１−１−２）をデータベースに保存後（シーケンス２２０７、２２０８）、コネクション確立確認メッセージ４１９を端末２に対して送信する（シーケンス２２０９〜２２１３）。
【０３２９】
図１７において、シーケンス２２００は図６のメッセージ４１８に、シーケンス２２１３は図６のメッセージ４１９に相当する。
【０３３０】
図１８はコネクション確立確認メッセージ４１９を送信後に、端末３が端末１に対してコミュニティ参加・加入承諾メッセージ４２０を送信するときの端末３内のモジュール処理を示すシーケンス図である。
【０３３１】
端末３の制御モジュールはデータベースに対して端末１と共有するセッションキーとコネクション確立情報シェア（１−１−２）を問い合わせる（シーケンス２３００、２３０１）。そして、セッションキーとコネクション確立情報シェア（１−１−２）をメッセージ生成モジュールに渡し、コミュニティ参加・加入承諾メッセージを送信するように依頼する（シーケンス２３０２）。
【０３３２】
メッセージ生成モジュールはコミュニティ参加・加入承諾の内容を記述したメッセージにコネクション確立情報シェア（１−１−２）を添付し、それをセッションキーで暗号化した後（シーケンス２３０３、２３０４）、メッセージ処理モジュールを通じて（シーケンス２３０５）、端末１にコミュニティ参加・加入承諾メッセージ４２０を送信する（シーケンス２３０６）。
【０３３３】
図１８において、シーケンス２３０６は図６のメッセージ４２０に相当する。
【０３３４】
図１９はコミュニティ参加・加入承諾メッセージ４２０を端末１が受信したときの端末１内のモジュール処理を示すシーケンス図である。
【０３３５】
端末１のメッセージ処理モジュールはメッセージ４２０を受信すると、端末３と共有しているセッションキーで暗号化されたメッセージを復号化するために、メッセージ解析モジュールを介して、メッセージ復号化プロセスを行う（シーケンス２４００〜２４０５）。そして、復号化されたメッセージ内容と添付されているコネクション確立情報シェア（１−１−２）を制御モジュールに渡す（シーケンス２４０６）。
【０３３６】
制御モジュールは復号化されたメッセージ内容から端末３がコミュニティ２００への参加・加入を承諾したことを知る。端末３とコネクションを確立するためには端末１以外のコミュニティ２００に参加・加入している全メンバ端末（端末２）とのコネクションが確立していなければ成らないため、端末３から取得したコネクション確立情報シェア（１−１−２）を用いて端末３のコネクション確立状況をチェックする。
【０３３７】
制御モジュールはコネクション確立情報比較モジュールに対し、コネクション確立情報シェア（１−１−２）を提供し、端末３が端末２とコネクションを確立しているかどうかをチェックするように依頼する（シーケンス２４０７）。
【０３３８】
コネクション確立情報比較モジュールはデータベースにコネクション確立情報シェア（１−１−１）、コネクション確立情報（１−１）を問い合わせる（シーケンス２４０８、２４０９）。そして、ＶＳＳ復号化モジュールに対し、コネクション確立情報シェア（１−１−１）とコネクション確立情報シェア（１−１−２）を提供し、復号化するように依頼する（シーケンス２４１０）。
【０３３９】
ＶＳＳ復号化モジュールはコネクション確立情報シェア（１−１−１）とコネクション確立情報シェア（１−１−２）から、コネクション確立情報（１−１−Ａ）を復元し、コネクション確立情報比較モジュールに返す（シーケンス２４１１）。
【０３４０】
コネクション確立情報比較モジュールはコネクション確立情報（１−１）とコネクション確立情報（１−１−Ａ）との比較を行い、相違がないかどうか確認を行う。相違があれば、端末３のアクセスは不正と判断する。相違がなければ、比較時の時刻情報とコネクション確立情報に含まれる時刻情報の差分を計算し、それが一定時間以上経過していないかどうか調べる。
【０３４１】
以上の処理が正常に終了するなら、コネクション確立情報比較モジュールは端末２とのコネクションが確立できていることを制御モジュールに知らせる（シーケンス２４１２）。
【０３４２】
コネクション確立情報シェアを利用したコネクションのチェックが正常に終了すると、端末１の制御モジュールはコネクション確立を承諾する。そして、制御モジュールはコネクション確立確認メッセージを送信するように、メッセージ生成モジュールに依頼する（シーケンス２４１３）。このとき、端末３と共有するセッションキーをメッセージ生成モジュールに渡す。
【０３４３】
メッセージ生成モジュールはコネクション確立確認の内容をメッセージとして生成し、メッセージ暗号化プロセスを行った後、メッセージ処理モジュールを通じて、端末４にコネクション確立情報メッセージ４２１を送信する（シーケンス２４１４〜２４１７）。
【０３４４】
図１９において、シーケンス２４００は図６のメッセージ４２０に、シーケンス２４１７は図６のメッセージ４２１に相当する。
【０３４５】
図２０はコネクション確立確認メッセージ４２１を端末３が受信したときの端末３内のモジュール処理を示すシーケンス図である。
【０３４６】
端末３のメッセージ処理モジュールはメッセージ４２１を受信すると、端末１と共有しているセッションキーで暗号化されたメッセージを解読するために、メッセージ解析モジュールを介して、メッセージ復号化プロセスを行う（シーケンス２５００〜２５０５）。そして、復号化されたメッセージ内容を制御モジュールに引き渡す（シーケンス２５０６）。
【０３４７】
制御モジュールは復号化されたメッセージから端末１とのコネクションが正常に確立したことを知る。
【０３４８】
以上、新規端末（端末３）のコミュニティへの参加・加入に対して、メンバ端末（端末２）は投票用情報である許可情報シェアを入るすることで投票の準備を行い、メンバ端末は自端末が生成した１個の許可情報シェアを賛成票として応対端末（端末１）に提出することで投票を行い、メンバ端末が賛成票を提出するかどうかによって、コミュニティへのアクセス権を集中的に管理する存在がいなくても、フルメッシュ網において新規端末に対するアクセスコントロールを実現することができる。
【０３４９】
また、各メンバ端末が他のメンバ端末に依存せず、それぞれ独立に任意のランダムなキーワードを含む許可情報を生成することで、他のメンバ端末が許可情報を推測して不正に生成し、それから許可情報シェアを生成することで、例えば、あたかも全端末が新規端末のコミュニティへの参加・加入に対して賛成したかのようにふるまうことを困難にし、各メンバ端末が新規端末からコネクション確立要求を受けたときに、その新規端末が自端末を除く他の全端末からコミュニティへの参加・加入から賛成を得ているかどうかを、
コミュニティに参加・加入している全端末数が２の場合は、自端末の許可情報からＳＳＳにより生成した３つの許可情報シェア（応対端末に提供した許可情報シェアと自端末が応対端末に提出した許可情報シェアと自端末のデータベース内の許可情報シェア）を利用して復元した許可情報と自端末のデータベース内の許可情報とを比較する処理を他の端末に不正に操作されずに各メンバ端末は独立に正しくチェックすることができる。
【０３５０】
また、コミュニティに参加・加入している全端末数が２の場合は、応対端末を除きコミュニティにはメンバ端末が１だけなので、許可情報をＶＳＳによりシェアとシェアの検証用情報を作る必要がなく、ＳＳＳによる分散符号化だけを行えばよく、許可情報シェア検証用情報とシェア検証モジュールを利用した計算を省くことができる。
【０３５１】
また、コミュニティに参加・加入している全端末数を２とすると、許可情報を閾値（３、３）で分散符号化し、得られた３個の許可情報シェアのうちの一つは必ず自端末で保存し、さらに許可情報も自端末で保存し、他端末に一切漏らさないため、他の端末が許可情報を推測するのを防止することができる。
【０３５２】
また、コミュニティに参加・加入している全端末数をｎとすると、基本的には許可情報を閾値（ｎ、ｎ）で分散符号化し、応対端末と全メンバ端末が賛成を示さなければ（つまり、満場一致）、新規端末は各メンバ端末とコネクションを確立することができないが、分散符号化するときの閾値を変化させることで必要な賛成票を自由に変更することができ、例えば、閾値をｋとすると、端末数ｎのうちｋ個の賛成票（許可情報シェア）があつまれば、新規端末はコミュニティに属する端末とコネクションを確立することができるようになるので、投票に必要な賛成票の数を自由に設定することが可能となる。
【０３５３】
また、新規端末に提供する許可情報シェアをそのまま提供するのではなく、宛先情報を含めて新規端末の公開鍵で暗号化した許可チケットとして提供することで、新規端末以外の端末に盗聴されることを防止し、さらに許可チケットを利用してコミュニティに参加・加入している全端末の宛先情報を新規端末に知らせることができる。
【０３５４】
また、投票用情報である許可情報シェアを各メンバ端末が独立に直接、新規端末に提供するのではなく、一度応対端末で収集することで、新規端末が各メンバ端末に対してコネクションの確立要求を行うときに必要となる許可情報シェアを、統一的に扱うことが可能となる。これにより、各メンバ端末が許可情報シェアを新規端末に直接提供するために新規端末へアクセスすることにより発生の可能性のある同時アクセスを防止することができる。
【０３５５】
また、許可情報に時刻情報を設定しておくことで、新規端末が各メンバ端末とコネクションを確立するまでの有効期限を設定することができ、セキュリティレベルを向上させ、さらに許可情報比較モジュールにおいて、基準となる有効時間を自由に設定することで、任意のセキュリティレベルを設定することが可能となる。
【０３５６】
また、メンバ端末が新規端末とコネクションを確立したかどうかを応対端末がチェックするために、応対端末はコネクション確立情報と閾値（２、２）によって分散符号化した２個のコネクション確立情報シェアとを利用し、メンバ端末が賛成票である許可情報シェアを提出後、応対端末はメンバ端末に１個のコネクション確立情報シェアを配布し、メンバ端末は新規端末とコネクションを確立するときに、あらかじめ応対端末から取得していたコネクション確立情報シェアを新規端末に渡し、その後、新規端末が応対端末とコネクションを確立するときにメンバ端末から取得した１個のコネクション確立情報シェアを応対端末に渡し、応対端末はその１個のコネクション確立情報シェアと、内部の前記データベースで管理するコネクション確立情報シェアとＶＳＳ復号化モジュールを利用して、コネクション確立情報を復元し、復元したコネクション情報と応対端末の内部の前記データベースで管理するコネクション確立情報を比較することで、応対端末は新規端末がメンバ端末とコネクションを確立しているかどうかを確認することができ、応対端末とコネクションを確立するときは必ず全メンバ端末とコネクションを確立しなければならないという状況を作り出すことが可能となる。
【０３５７】
また、コネクション確立情報に時刻情報を設定しておくことで、新規端末が応対端末とコネクションを確立するまでの有効期限を設定することができ、これによりセキュリティレベルを向上させ、さらにコネクション確立情報比較モジュールにおいて、基準となる有効時間を自由に設定することで、任意のセキュリティレベルを設定することが可能となる。
【０３５８】
また、各端末同士がやり取りするメッセージには電子署名と暗号化、または電子署名による認証後はお互いが共有しているセッションキーによる暗号化を必ず行うことで、各端末が交換する様々な情報（許可情報シェア、宛先情報、コネクション確立情報、コネクション確立情報シェア）が第三者に盗聴されることを防止することができる。
【０３５９】
また、本発明によれば、宛先情報は端末を特定することが可能な任意の種類の情報を適用することができ、例えば、ＩＰアドレスやＳＩＰアドレスを適用することができる。
【０３６０】
［第２の実施の形態］
図２１は既に端末１と端末２の間でコネクション１０が、端末２と端末３の間でコネクション１１が、端末３と端末１の間でコネクション１２が確立しており、全端末数が３のコミュニティ２０１が形成されている状態から、コミュニティ２０１側から新規端末として、端末４をコミュニティ２０１へ招待するために必要となる、端末間でやり取りされるメッセージを示す説明図である。
【０３６１】
図２１では端末４をコミュニティ２０１へ招待を希望する端末は端末３であるとする（つまり、端末３は応対端末、端末４が新規端末であり、メンバ端末は端末１と端末２である）。端末３は端末４の公開鍵を内部のデータベースに問い合わせ、持っていなければ、外部の公開鍵サーバ５に問い合わせ、取得する（メッセージ５００、５０１）。公開鍵は端末４とセキュアにコネクションを確立するために後で必要となる。
【０３６２】
端末３は端末１と端末２に対して、招待希望の内容を示すコミュニティ参加・加入伺いメッセージ５０２、５０３を送信する。このとき、メッセージには端末４の宛先情報をそのまま添付するのではなく、ＶＳＳを利用し閾値（２、２）で分散符号化を行い、宛先情報シェア（２−３−１）、宛先情報シェア（２−３−２）、宛先情報シェア検証用情報（２−３）を生成し、メッセージ５０２には、宛先情報シェア（２−３−１）と宛先情報シェア検証用情報（２−３）を、メッセージ５０３には宛先情報シェア（２−３−２）と宛先情報シェア検証用情報（２−３）を添付する。
【０３６３】
端末１はコミュニティ参加・加入伺いメッセージ５０２を受信すると、メッセージ内容から端末３がコミュニティ２０１への端末４の招待を希望していることを知る。また、同時に端末４の宛先情報シェア（２−３−１）、宛先情報シェア検証用情報（２−３）を取得する。しかし、メッセージに添付されているのは宛先情報シェアなので、この時点では端末４の実際の宛先情報はわからない。
【０３６４】
端末３が招待を希望する端末（端末４）の実際の宛先情報を知るためには、宛先情報シェア（２−３−２）が必要なので、端末１は端末２に対して宛先情報シェア取得要求メッセージ５０４を送信する。このとき、端末２が端末４の実際の宛先情報を把握するために必要となる、宛先情報シェア（２−３−１）を添付してメッセージを送信する。
【０３６５】
端末２は宛先情報シェア取得要求メッセージ５０４を受信し、宛先情報シェア（２−３−１）を取得した後、宛先情報シェア（２−３−２）を添付した応答メッセージ５０５を端末１に返す。ここで、第２の実施の形態では端末１側から宛先情報シェア取得要求メッセージを送信するが、場合によっては端末２側から送信する場合もある。
【０３６６】
端末１と端末２は宛先情報シェア（２−３−１）、宛先情報シェア（２−３−２）を取得すると、宛先情報シェア検証用情報（２−３）を用いて各宛先情報シェアをＶＳＳにより不正がないかどうかチェックを行い、チェックが正常に終了すると、２個の宛先情報シェアから端末４の宛先情報を復元する。
【０３６７】
端末２は端末４とセキュアにコネクションを構築するための端末４の公開鍵を持っているかどうかを内部のデータベースに問い合わせ、持っていなければ公開鍵サーバ５に対して取得要求を行う（公開鍵取得要求メッセージ５０６、応答メッセージ５０７）。そして、公開鍵取得後、端末２は端末４をコミュニティ２０１へ参加・加入させるかどうかの意思の一次決定を行う。ここで端末２は招待に賛成であるとする。
【０３６８】
端末２は許可情報（２−２）を生成し、それをＶＳＳにより閾値（３、３）で分散符号化し、許可情報シェア（２−２−１）、許可情報シェア（２−２−２）、許可情報シェア（２−２−３）と、許可情報シェア検証用情報（２−２）を生成する。
【０３６９】
そして、許可情報（２−２）と３個の許可情報シェアのうち、１個の許可情報シェア（ここでは許可情報シェア（２−２−２）とする）は、端末２が端末４のコネクション確立要求を受けたときに、端末４がコミュニティ２０１への参加・加入に対しコミュニティに参加・加入している全端末の賛成を得ているかどうかを確認するのに必要となるため、内部のデータベースに保存しておく。
【０３７０】
端末２は端末１に対し、賛否の最終意思決定の際に必要となる投票用情報として許可情報シェア（２−２−１）と許可情報シェア検証用情報（２−２）を添付した、投票用情報提供メッセージ５０８を送信する。そして、端末１から応答メッセージ５０９を受信する。
【０３７１】
同様に、端末２は端末３から受信したコミュニティ参加・加入伺いメッセージ５０３の応答メッセージとして賛否の一次意思決定メッセージ５１０を投票用情報である許可情報シェア（２−２−３）と許可情報シェア検証用情報（２−２）を添付して送信する。
【０３７２】
端末４がコミュニティへ参加・加入するためには、賛否の最終意思決定の際に全端末からの許可情報シェアが必要となる。
【０３７３】
同様に、端末１は端末４とセキュアにコネクションを張るために必要となる端末４の公開鍵を持っているかどうか内部のデータベースに問い合わせし、持っていなければ、公開鍵サーバ５に対して取得要求を行う（公開鍵取得要求メッセージ５１１、応答メッセージ５１２）。そして、公開鍵取得後、端末１は端末４をコミュニティ２０１へ参加・加入させるかどうかの意思の一次決定を行う。ここで端末１は招待に賛成であるとする。
【０３７４】
端末１は許可情報（２−１）を生成し、それをＶＳＳにより閾値（３、３）で分散符号化し、許可情報シェア（２−２−１）、許可情報シェア（２−１−２）、許可情報シェア（２−１−３）と、許可情報シェア検証用情報（２−１）を生成する。
【０３７５】
そして、許可情報（２−１）と３個の許可情報シェアのうち、１つの許可情報シェア（ここでは許可情報シェア（２−１−１）とする）は、端末１が端末４のコネクション確立要求を受けたときに、端末４がコミュニティ２０１への参加・加入に対しコミュニティに参加・加入している全端末の賛成を得ているかどうかを確認するのに必要となるために、内部のデータベースに保存しておく。
【０３７６】
端末１は端末２に対し、賛否の最終意思決定の際に必要となる投票用情報として許可情報シェア（２−１−２）と許可情報シェア検証用情報（２−１）を添付した、投票用情報提供メッセージ５１３を送信する。そして、端末２から応答メッセージ５１４を受信する。
【０３７７】
同様に、端末１は端末３から受信したコミュニティ参加・加入伺いメッセージ５０２の応答メッセージとして賛否の一次意思決定メッセージ５１５を投票用情報である許可情報シェア（２−１−３）と許可情報シェア検証用情報（２−１）を添付して送信する。
【０３７８】
次に、端末１は端末２からの投票用情報提供メッセージ５０８を受信し、投票用情報である、許可情報シェア（２−２−１）と許可情報シェア検証用情報（２−２）を取得する。
【０３７９】
取得した許可情報シェア（２−２−１）は賛否の最終意思決定の際の賛成票として必要であり、また、許可情報シェア検証用情報（２−２）はシェアの不正をチェックするために必要であるため、データベースに保存しておく。
【０３８０】
同様に、端末２は端末１からの投票養生法提供メッセージ５１３を受信し、投票用情報である、許可情報シェア（２−１−２）、許可情報シェア検証用情報（２−１）を取得する。
【０３８１】
取得した許可情報シェア（２−１−２）は賛否の最終意思決定の際の賛成票として必要であり、また、許可情報シェア検証用情報（２−１）はシェアの不正をチェックするために必要であるため、データベースに保存しておく。
【０３８２】
端末３は端末１と端末２へ送信したコミュニティ参加・加入伺いメッセージ５０２、５０３の応答メッセージとして、それぞれ賛否の一次意思決定メッセージ５１５、５１０を受信する。
【０３８３】
そして、それぞれメッセージから全メンバ端末が賛成であることを知る。また、許可情報シェア（２−１−３）、許可情報シェア検証用情報（２−１）、許可情報シェア（２−２−３）、許可情報シェア検証用情報（２−２）を取得する。
【０３８４】
取得した許可情報シェア（２−１−３）、許可情報シェア（２−２−３）は端末１と端末２からの賛否の最終意思決定メッセージを賛成票として受信した場合に、自端末も賛成であることを示すための情報として必要であり、また、許可情報シェア検証用情報（２−１）、許可情報シェア検証用情報（２−２）はシェアの不正をチェックするために必要であるため、これらはデータベースに保存しておく。
【０３８５】
端末３は全メンバ端末（端末１と端末２）から賛否の一次意思決定メッセージを受信したので、全メンバ端末に一次結果通知メッセージを送信する。このとき、全メンバ端末が賛成を示した場合、投票が可能であることを、そうでない場合、投票が不可能であることを伝える。
【０３８６】
端末３は投票が可能であることを示す内容の一次結果通知メッセージ５１６を端末１に送信する。同様に、端末２に一次結果通知メッセージ５１８を送信する。メッセージ５１６、５１８を送信後、それぞれ端末１と端末２から応答メッセージ５１７、５１９を受信する。
【０３８７】
一方、端末１は端末３から一次結果通知メッセージ５１６を受信し、全メンバ端末が賛否の一次意思決定メッセージにおいて端末４のコミュニティ２０１への参加・加入に賛成をし、投票が可能であることを知る。そして、応答メッセージ５１７を端末３に送信する。
【０３８８】
同様に、端末２は端末３から一次結果通知メッセージ５１８を受信し、全メンバ端末が賛否の一次意思決定メッセージにおいて端末４のコミュニティ２０１への参加・加入に賛成をし、投票が可能であることを知る。そして、応答メッセージ５１９を端末３に送信する。
【０３８９】
次に、端末１は賛否に対する最終的な判断を行う。ここで端末１は最終的に端末４のコミュニティ２０１への参加・加入に賛成であるとする。
【０３９０】
端末１は、端末２から取得した許可情報シェア（２−２−１）を許可情報シェア検証用情報（２−２）を利用して、不正がないかどうかをチェックし、その後、自端末の宛先情報を含めて、許可情報シェア（２−２−１）を端末４の公開鍵で暗号化する。これを許可チケット（２−１）とする。
【０３９１】
端末１は最終的に端末４のコミュニティ２０１への参加・加入に賛成であることを示す内容に許可チケット（２−１）を添付し、賛否の最終意思決定メッセージ５２０として送信する。そして、端末３から応答メッセージ５２１を受信する。
【０３９２】
同様に、端末２は賛否に対する最終的な決断を行う。ここで端末２は最終的に端末４のコミュニティ２０１への参加・加入に賛成であるとする。
【０３９３】
端末２は、端末１から取得した許可情報シェア（２−１−２）を許可情報シェア検証用情報（２−１）を利用して、不正がないかどうかをチェックし、その後、自端末の宛先情報を含めて、許可情報シェア（２−１−２）を端末４の公開鍵で暗号化する。これを許可チケット（２−２）とする。
【０３９４】
端末２は最終的に端末４のコミュニティ２０１への参加・加入に賛成であることを示す内容に許可チケット（２−２）を添付し、賛否の最終意思決定メッセージ５２２として送信する。そして、端末３から応答メッセージ５２３を受信する。
【０３９５】
一方、端末３は端末１から賛否の最終意思決定メッセージ５２０を受信し、許可チケット（２−１）を、また端末２から賛否の最終意思決定メッセージ５２２を受信し、許可チケット（２−２）を取得し、これらを内部のデータベースに保存する。
【０３９６】
端末３はメッセージ内容から全メンバ端末（端末１と端末２）が最終的に端末４のコミュニティ２０１への参加・加入に対し賛成の意思を示したことを知る。そして、端末１には応答メッセージ５２１を、端末２には応答メッセージ５２３を送信する。
【０３９７】
端末３はコネクション確立情報（２−３）を生成し、データベースに保存する。そして、そのコネクション確立情報（２−３）をＶＳＳにより閾値（３、３）で分散符号化し、生成したコネクション確立情報シェア（２−３−１）、コネクション確立情報シェア（２−３−２）、コネクション確立情報シェア（２−３−３）のうちの一つ（ここではコネクション確立情報シェア（２−３−３）とする）をデータベースに保存する。
【０３９８】
端末３は全メンバ端末が端末４のコミュニティ２０１への参加・加入に対し、賛成であることを知らせる内容にコネクション確立情報シェア（２−３−１）を添付した最終結果通知メッセージ５２４を端末１に送信する。
【０３９９】
同様に、端末３は全メンバ端末が賛成であることを知らせる内容にコネクション確立情報シェア（２−３−２）を添付した最終結果通知メッセージ５２６を端末２に送信する。
【０４００】
一方、端末１は最終結果通知メッセージ５２４を受信し、全メンバ端末は最終的に端末４のコミュニティ２０１への参加・加入に対して賛成であったことを知る。また、コネクション確立情報シェア（２−３−１）を取得する。そして、端末３に応答メッセージ５２５を送信する。
【０４０１】
同様に、端末２は最終結果通知メッセージ５２６を受信し、全メンバ端末は最終的に端末４のコミュニティ２０１への参加・加入に対して賛成であったことを知る。また、コネクション確立情報シェア（２−３−２）を取得する。そして、端末３に応答メッセージ５２７を送信する。
【０４０２】
一方、端末３は端末１、端末２からそれぞれ応答メッセージ５２５、５２７を受信する。そして、端末３は自身の賛成票を生成するために、まず、許可情報シェア（２−１−３）、許可情報シェア（２−２−３）に不正がないかどうかを、それぞれ許可情報シェア検証用情報（２−１）、許可情報シェア検証用情報（２−２）を利用してチェックを行い、自端末の宛先情報を含めて端末４の公開鍵で暗号化し、許可チケット（２−３）を生成する。
【０４０３】
そして、全許可チケット（許可チケット（２−１）、許可チケット（２−２）、許可チケット（２−３））を添付したコミュニティ招待メッセージ５２８を端末４に対し送信する。このとき、メッセージには電子署名と暗号化を施す。
【０４０４】
端末４はコミュニティ招待メッセージ５２８を受信し、メッセージを解読する。ここで、端末３の公開鍵が必要となるが、データベースに持っていなければ、外部の公開鍵サーバ５に取得要求を行う（メッセージ５２９、５３０）。復号化されたメッセージ内容から端末３が端末４のコミュニティへの招待を希望していることを知る。また、全許可チケットを取得する。
【０４０５】
端末４はコミュニティ２０１にどのような端末が参加・加入しているか調べるために、端末４の公開鍵で暗号化された全許可チケットを秘密鍵により復号化する。そして、復号化により、許可情報シェア（２−１−３）、許可情報シェア（２−２−３）、許可情報シェア（２−２−１）、許可情報シェア（２−１−２）と、端末１と端末２と端末３の宛先情報が得られ、コミュニティ２０１に参加・加入している端末が端末１、端末２、端末３であることを知る。
【０４０６】
端末４はコミュニティ２０１の招待に賛成であるとする。端末４は端末１と端末２に対して、セキュアにコネクションを確立するために端末１と端末２の公開鍵を内部のデータベースに問い合わせ、持っていなければ外部の公開鍵サーバ５に取得要求を行う（公開鍵取得要求メッセージ５３１、応答メッセージ５３２）。
【０４０７】
端末４は取得した全許可情報シェア（許可情報シェア（２−１−３）、許可情報シェア（２−２−３）、許可情報シェア（２−２−１）、許可情報シェア（２−１−２））を含めたコネクション確立要求メッセージ５３３を端末１に対して送信する。
【０４０８】
端末１は端末４からコネクション確立要求メッセージ５３３を受信すると、添付されている全許可情報シェアを用いて、端末４がコミュニティ２０１の他の全ての端末から参加・加入に対する許可を得ているかどうかをチェックする。
【０４０９】
まず、端末１の内部のデータベースで持っている、許可情報シェア（２−１−１）と、取得した許可情報シェア（２−１−２）、許可情報シェア（２−１−３）を利用し、ＶＳＳにより復号化を行い、許可情報（２−１−Ａ）を得る。
【０４１０】
そして、内部のデータベースで持つ端末１が生成した許可情報（２−１）と許可情報（２−１−Ａ）を比較し、相違がないかどうか確認する。相違があった場合は、端末４のアクセスを不正（つまり、コミュニティの他の全ての端末から賛成を得ていない）とみなし、コネクションは確立しない。相違がなければ、比較時の時刻情報と許可情報に含まれる時刻情報の差分を計算し、その値が一定の時間以上であれば、不正と判断し、コネクションは確立しない。不正がなければ、さらに許可情報に記述されている宛先情報が端末４のものと同じであるか判断し、相違があればコネクションは確立しない。
【０４１１】
上記のチェックが正常に終了すると、次に、残りの許可情報シェア（２−２−３）、許可情報シェア（２−２−１）に不正がないかどうかを許可情報シェア検証用情報（２−２）を利用して、検証を行い、不正がないかチェックを行う。
【０４１２】
以上のようなチェックを行い、正常に終了すれば、端末１は内部のデータベースに持つ、コネクション確立情報シェア（２−３−１）を添付した応答メッセージ５３４を端末４に送信する。応答メッセージ５３４送信後、端末１は端末４からコネクション確立確認メッセージ５３５を受信する。
【０４１３】
端末４は応答メッセージ５３４を受信すると、コネクション確立情報シェア（２−３−１）を内部のデータベースに保存した後、コネクション確立確認メッセージ５３５を端末１に送信する。
【０４１４】
端末４は端末１とコネクションを確立後、さらに端末２とコネクションを確立するために全許可情報シェアを含めた、コネクション確立要求メッセージ５３６を端末２に対して送信する。
【０４１５】
端末４と端末２の間でコネクションを確立するまでの処理は端末１の場合（メッセージ５３３〜５３５）と同様であり、端末２は端末４からコネクション確立要求メッセージ５３６を受信すると、添付されている全許可情報シェアのうち、許可情報シェア（２−２−１）、許可情報シェア（２−２−３）と、内部のデータベースに保存している許可情報シェア（２−２−２）を用いて、ＶＳＳにより許可情報を復元し（許可情報（２−２−Ａ））、許可情報（２−２−Ａ）と内部のデータベースに保存している許可情報（２−２）とを比較する。
【０４１６】
そして、残りの許可情報シェア（２−１−３）、許可情報シェア（２−１−２）に不正がないかどうかを許可情報シェア検証用情報（２−１）を利用して、検証を行う。
【０４１７】
以上のようなチェックを行い、正常に終了すれば、端末２はコネクション確立情報シェア（２−３−２）を添付した応答メッセージ５３７を端末４に送信する。応答メッセージ５３７の送信後、端末２は端末４からコネクション確立確認メッセージ５３８を受信する。
【０４１８】
端末４は応答メッセージ５３７を受信すると、コネクション確立情報シェア（２−３−２）を内部のデータベースに保存した後、コネクション確立確認メッセージ５３８を端末２に送信する。
【０４１９】
端末４は端末１および端末２とコネクションを確立すると、端末３に対してコネクション確立情報シェア（２−３−１）とコネクション確立情報シェア（２−３−２）を添付したコミュニティ参加・加入承諾メッセージ５３９を送信する。
【０４２０】
端末３は端末４からコミュニティ参加・加入承諾メッセージ５３９を受信し、コネクション確立情報シェア（２−３−１）、コネクション確立情報シェア（２−３−２）を取得する。そして、端末４がコミュニティの他の全端末とコネクションを確立しているかどうか確認するために、コネクション確立情報シェア（２−３−１）、コネクション確立情報シェア（２−３−２）と内部のデータベースに持つコネクション確立情報シェア（２−３−３）からコネクション確立情報をＶＳＳにより復号化する。得られたコネクション確立情報（２−３−Ａ）と内部のデータベースに持つコネクション確立情報（２−３）を比較し、相違がないかどうかチェックする。
【０４２１】
相違がある場合は、端末４が全メンバ端末とのコネクションが確立していないと判断し、端末３は端末４とコネクションは確立しない。相違がない場合は、コネクション確立情報に含まれる時刻情報と比較時の時刻情報の差分が一定時間以内であるかどうかチェックする。一定時間以上であれば、コネクションは確立しない。
【０４２２】
以上の処理により、端末４と全メンバ端末とのコネクションの確立を確認する。そして、端末３はコネクション確立確認メッセージ５４０を端末４に送信し、端末４とコネクションを確立する。
【０４２３】
以上のように、メッセージ５００〜５４０を端末１、端末２、端末３、端末４、公開鍵サーバ５の間でやり取りすることで、端末４を新規にコミュニティ２０１に招待する。また、コミュニティの全端末数が３以上の場合は、同様のメッセージのやり取りを行うことで、新規端末をコミュニティに招待する。
【０４２４】
図２２から図４６は図２１において端末間でやり取りされるメッセージを各端末が内部のモジュールを利用して処理するプロセスを詳細に示したシーケンス図である。
【０４２５】
図２２は端末３が端末４の招待に対する賛否問う内容を示すメッセージ（コミュニティ参加・加入伺いメッセージ）を端末１と端末２に対して送信するまでの端末３内のモジュール処理を示すシーケンス図である。
【０４２６】
端末３の制御モジュールは端末４の宛先情報、端末１、端末２と共有しているセッションキー、端末４の公開鍵、をデータベースに問い合わせる（シーケンス２６００、２６０１）。端末４の公開鍵がデータベースになければ、外部の公開鍵サーバ５に対して端末４の公開鍵を問い合わせ（シーケンス２６０２〜２６０７）、データベースに保存しておく（シーケンス２６０８、シーケンス２６０９）。
【０４２７】
制御モジュールは端末４の宛先情報をデータベースに問い合わせ（シーケンス２６１０、２６１１）、閾値（２、２）で分散符号化を行い、宛先情報シェア（２−３−１）と、宛先情報シェア（２−３−２）と、さらに宛先情報シェア検証用情報（２−３）を取得する（シーケンス２６１２、２６１３）。
【０４２８】
制御モジュールはまず端末１に対して、コミュニティ参加・加入伺いメッセージを送信するために、端末４の招待に対する賛否を問う内容に宛先情報シェア（２−３−１）、宛先情報シェア検証用情報（２−３）を添付したメッセージを生成し、端末１へ送信するように制御モジュールはメッセージ生成モジュールに依頼する（シーケンス２６１４）。このとき、同時に端末１のセッションキー、宛先情報シェア（２−３−１）、宛先情報シェア検証用情報（２−３）を渡す。
【０４２９】
メッセージ生成モジュールは端末４の招待に対する賛否を問う内容に宛先情報シェア（２−３−１）、宛先情報シェア検証用情報（２−３）を添付したメッセージを生成し、メッセージ暗号化プロセスを行った後、端末１にコミュニティ参加・加入伺いメッセージ５０２を送信する（シーケンス２６１５〜２６１８）。
【０４３０】
同様に、制御モジュールはメッセージ生成モジュールを通じて、端末４の招待に対する賛否を問う内容に宛先情報シェア（２−３−２）、宛先情報シェア検証用情報（２−３）を添付したメッセージを生成し、メッセージ暗号化プロセスを行った後、端末２へコミュニティ参加・加入伺いメッセージ５０３を送信する（シーケンス２６１９〜２６２３）。
【０４３１】
図２２において、シーケンス２６０４、２６０５、２６１８、２６２３はそれぞれ図２１のメッセージ５００、５０１、５０２、５０３に相当する。
【０４３２】
図２３は図２２で端末３が送信したコミュニティ参加・加入伺いメッセージ５０２を端末１が受信したときの端末１内のモジュールを処理を示すシーケンス図である。
【０４３３】
端末１のメッセージ処理モジュールはメッセージ５０２を受信すると、端末３と共有しているセッションキーで暗号化されたメッセージを復号化するため、メッセージ解析モジュールを介してメッセージ復号化プロセスを行う（シーケンス２７００〜２７０５）。そして、復号化されたメッセージの内容、添付されている宛先情報シェア（２−３−１）、宛先情報シェア検証用情報（２−３）を制御モジュールに渡す（シーケンス２７０６）。
【０４３４】
制御モジュールは復号化されたメッセージから端末３が端末４のコミュニティ２０１への招待を希望していることを知る。しかし、この時点ではまだ実際の端末４の宛先情報を得ていない。端末４の実際の宛先情報を得るためには残りの宛先情報シェアが必要であるため、応対端末（端末３）以外の全メンバ端末（端末２）から宛先情報シェアを取得しなければならない。
【０４３５】
制御モジュールは宛先情報シェア（２−３−１）、宛先情報シェア検証用情報（２−３）をデータベースに保存後（シーケンス２７０７、２７０８）、端末２と共有しているセッションキーをデータベースに問い合わせる（シーケンス２７０９、２７１０）。そして、宛先情報シェア（２−３−１）を添付した宛先情報シェア取得要求メッセージを送信するようにメッセージ生成モジュールに依頼する（シーケンス２７１１）。このとき、宛先情報シェア（２−３−１）、セッションキーをメッセージ生成モジュールに渡す。
【０４３６】
メッセージ生成モジュールは宛先情報シェア取得要求の内容に宛先情報シェア（２−３−１）を添付したメッセージを、メッセージ暗号化プロセスを行ってから、メッセージ処理モジュールを通じて、宛先情報シェア取得要求メッセージ５０４として端末２に送信する（シーケンス２７１２〜２７１５）。
【０４３７】
図２３において、シーケンス２７００、２７１５はそれぞれ図２１のメッセージ５０２、５０４に相当する。この実施例では、端末１が先に端末２に対して宛先情報シェア取得要求メッセージを送信するとする。このメッセージの送信と受信のタイミングは早いものが勝ちであり、場合によっては、端末２が送信する宛先情報シェア取得要求メッセージが端末１に先に到着する。
【０４３８】
図２４は端末３が送信したコミュニティ参加・加入伺いメッセージ５０３を端末２が受信し、図２３と同様の処理を内部で行ってから、端末１から宛先情報シェア取得要求メッセージ５０４を受信したときの端末２内のモジュール処理を示すシーケンス図である。
【０４３９】
端末２のメッセージ処理モジュールは端末１から宛先情報シェア取得要求メッセージ５０４を受信すると、端末１と共有しているセッションキーで暗号化されたメッセージを復号化するため、メッセージ解析モジュールを介して、メッセージ復号化プロセスを行う（シーケンス２８００〜２８０５）。そして、復号化されたメッセージの内容と添付されている宛先情報シェア（２−３−１）を制御モジュールに渡す（シーケンス２８０６）。
【０４４０】
制御モジュールは復号化されたメッセージ内容から端末１が宛先情報シェアを要求していることを知る。制御モジュールは端末１から取得した宛先情報シェア（２−３−１）をデータベースに保存し（シーケンス２８０７、２８０８）、データベースに端末３から取得した宛先情報シェア（２−３−２）、端末１と共有しているセッションキーを問い合わせる（シーケンス２８０９、２８１０）。
【０４４１】
制御モジュールは宛先情報シェア取得要求メッセージ５０４の応答を返すために、メッセージ生成モジュールに応答メッセージの生成を依頼する（シーケンス２８１１）。このとき、宛先情報シェア（２−３−２）、端末１と共有しているセッションキーを渡す。
【０４４２】
メッセージ生成モジュールは応答メッセージの内容に宛先情報シェア（２−３−２）を添付したメッセージを生成し、メッセージ暗号化プロセスを行ってから、メッセージ処理モジュールを通じて、端末１に宛先情報シェア取得要求メッセージの応答メッセージ５０５として送信する（シーケンス２８１２〜２８１５）。
【０４４３】
応答メッセージ５０５の送信後、制御モジュールは宛先情報シェア（２−３−１）と宛先情報シェア（２−３−２）を利用して、次のように端末４の実際の宛先情報を復元する。
【０４４４】
まず、各宛先情報シェアに不正がないかどうかを端末３から取得した宛先情報シェア検証用情報（２−３）を利用してチェックを行う。
【０４４５】
制御モジュールはデータベースに対して、宛先情報シェア（２−３−１）と宛先情報シェア検証用情報（２−３）を問い合わせ（シーケンス２８１６、２８１７）、シェア検証モジュールに検証を依頼する（シーケンス２８１８）。
【０４４６】
シェア検証モジュールは宛先情報シェア（２−３−１）の検証を行い、不正がなければ正常応答を返す（シーケンス２８１９）。
【０４４７】
同様に、制御モジュールは宛先情報シェア（２−３−２）と宛先情報シェア検証用情報（２−３）を利用して、シェア検証モジュールに宛先情報シェアの検証を依頼する（シーケンス２８２０〜２８２３）。
【０４４８】
宛先情報シェアの不正チェックが終わると、制御モジュールは宛先情報シェア（２−３−１）と宛先情報シェア（２−３−２）から宛先情報を復号化する（シーケンス２８２４、２８２５）。これにより、制御モジュールは実際の端末４の宛先情報を取得する。また、端末４とセキュアにコネクションを確立するための公開鍵をデータベースに問い合わせ（シーケンス２８２６、２８２７）、持っていなければ外部の公開鍵サーバ５に対して取得要求を行う（シーケンス２８２８〜２８３３）。取得した端末４の公開鍵と宛先情報はデータベースに保存する（シーケンス２８３４、２８３５）。
【０４４９】
制御モジュールは意思入力モジュールに対しコミュニティ２０１への端末４の参加・加入に対する賛否の判断を求める（シーケンス２８３６）。ここで意思入力モジュールにより、賛成の意思があるとする。意思入力モジュールは賛成の意思があることを制御モジュールに伝える（シーケンス２８３７）。この時点での意思決定は一次意思決定であるとする。
【０４５０】
図２４において、シーケンス２８００、２８１５、２８３０、２８３１はそれぞれ図２１のメッセージ５０４、５０５、５０６、５０７に相当する。
【０４５１】
図２５は端末２が送信した応答メッセージ５０５を端末１が受信したときの端末１内のモジュール処理を示すシーケンス図である。
【０４５２】
端末１のメッセージ処理モジュールは端末２から応答メッセージ５０５を受信すると、端末２と共有しているセッションキーで暗号化されたメッセージを復号化するため、メッセージ解析モジュールを介して、メッセージ復号化プロセスを行う（シーケンス２９００〜２９０５）。そして、復号化されたメッセージの内容と添付されている宛先情報シェア（２−３−２）を制御モジュールに渡す（シーケンス２９０６）。
【０４５３】
制御モジュールは復号化されたメッセージ内容から自端末が送信した宛先情報シェア取得要求メッセージ５０４に対する応答メッセージであることを知る。制御モジュールはデータベースに対して端末３から取得した宛先情報シェア（２−３−１）と宛先情報シェア検証用情報（２−３）を問い合わせ（シーケンス２９０７、２９０８）、次のように端末４の実際の宛先情報を復元する。
【０４５４】
まず、各宛先情報シェアに不正がないかどうかを端末３から取得した宛先情報シェア検証用情報（２−３）を利用してチェックを行う。
【０４５５】
制御モジュールは宛先情報シェア（２−３−１）と宛先情報シェア検証用情報（２−３）をシェア検証モジュールに渡し、検証を依頼する（シーケンス２９０９）。
【０４５６】
シェア検証モジュールは宛先情報シェア（２−３−１）の検証を行い、不正がなければ正常応答を返す（シーケンス２９１０）。
【０４５７】
同様に、制御モジュールは宛先情報シェア（２−３−２）と宛先情報シェア検証用情報（２−３）を利用して、シェア検証モジュールに宛先情報シェアの検証を依頼する（シーケンス２９１１、２９１２）。
【０４５８】
宛先情報シェアの不正チェックが終わると、制御モジュールは宛先情報シェア（２−３−１）と宛先情報シェア（２−３−２）から宛先情報を復号化する（シーケンス２９１３、２９１４）。これにより、制御モジュールは実際の端末４の宛先情報を取得する。また、端末４とセキュアにコネクションを確立するための公開鍵をデータベースに問い合わせ（シーケンス２９１５、２９１６）、持っていなければ外部の公開鍵サーバ５に対して取得要求を行う（シーケンス２９１７〜２９２２）。取得した端末４の公開鍵と宛先情報はデータベースに保存する（シーケンス２９２３、２９２４）。
【０４５９】
制御モジュールは意思入力モジュールに対しコミュニティ２０１への端末４の参加・加入に対する賛否の判断を求める（シーケンス２９２５）。ここで意思入力モジュールにより、賛成の意思があるとする。意思入力モジュールは賛成の意思があることを制御モジュールに伝える（シーケンス２９２６）。この時点での意思決定は一次意思決定であるとする。
【０４６０】
図２５において、シーケンス２９００、２９１９、２９２０はそれぞれ図２１のメッセージ５０５、５１１、５１２に相当する。
【０４６１】
図２６は図２５において、端末１が一次の意思決定を行った後の端末１内のモジュール処理を示すシーケンス図である。
【０４６２】
制御モジュールは図２５において、意思入力モジュールより端末４のコミュニティ２０１への参加・加入に対する賛成の一次意思決定を伝えられると（シーケンス２９２６）、投票用情報である許可情報シェアをそれぞれ端末２と端末２に対して配布するために、許可情報を作成するように制御モジュールは許可情報生成モジュールに依頼する（シーケンス３０００）。
【０４６３】
許可情報生成モジュールは許可情報（２−１）を生成し、データベースに保存後（シーケンス３００１、３００２）、制御モジュールにそれを渡す（シーケンス３００３）。
【０４６４】
制御モジュールは許可情報（２−１）を閾値（３、３）で分散符号化するようにＶＳＳ分散符号化モジュールに依頼する（シーケンス３００４）。
【０４６５】
ＶＳＳ分散符号化モジュールは許可情報（２−１）を閾値（３、３）で分散符号化し、許可情報シェア（２−１−１）、許可情報シェア（２−１−２）、許可情報シェア（２−１−３）、許可情報シェア検証用情報（２−１）を生成し、端末４からコネクション確立要求を受けた時に必要となる許可情報シェアを一つデータベースに保存する（ここでは許可情報シェア（２−１−１）とする）（シーケンス３００５、３００６）。そして、ＶＳＳ分散符号化モジュールは許可情報シェア（２−１−２）、許可情報シェア（２−１−３）を制御モジュールに返す（シーケンス３００７）。
【０４６６】
制御モジュールは端末２と端末３のセッションキーをデータベースに問い合わせる（シーケンス３００８、３００９）。そして、制御モジュールは、許可情報シェア（２−１−２）と許可情報シェア検証用情報（２−１）を添付したメッセージを端末２に対して、送信するようにメッセージ生成モジュールに依頼する（シーケンス３０１０）。このとき、許可情報シェア（２−１−２）、端末２と共有するセッションキー、許可情報シェア検証用情報（２−１）をメッセージ生成モジュールに渡す。
【０４６７】
メッセージ生成モジュールは投票用情報提供の内容に許可情報シェア（２−１−２）、許可情報シェア検証用情報（２−１）を添付したメッセージを生成し、メッセージ暗号化プロセスを行った後、メッセージ処理モジュールを通じて、端末２に投票用情報提供メッセージ５１３として送信する（シーケンス３０１０〜３０１４）。
【０４６８】
同様に端末１の制御モジュールは、許可情報シェア（２−１−３）、許可情報シェア検証用情報（２−１）を添付したメッセージを端末３に対し、送信するようにメッセージ生成モジュールに依頼する（シーケンス３０１５）。
【０４６９】
メッセージ生成モジュールは一次賛成の意思内容に許可情報シェア（２−１−３）、許可情報シェア検証用情報（２−１）を添付したメッセージを生成し、メッセージ暗号化プロセスを行った後、メッセージ処理モジュールを通じて、端末３に賛否の一次意思決定メッセージ５１５として送信する（シーケンス３０１６〜３０１９）。
【０４７０】
図２６において、シーケンス３０１４、３０１９はそれぞれ図２１のメッセージ５１３、５１５に相当する。
【０４７１】
図２７は、図２４において、端末２が一次の意思決定を行った後の端末２内のモジュール処理を示すシーケンス図である。
【０４７２】
図２７における処理（シーケンス３１００〜３１１９）は図２６の端末１内の処理（シーケンス３０００〜３０１９）とまったく同じであり、許可情報（２−２）を生成し、さらにその許可情報（２−２）を利用して、ＶＳＳにより閾値（３、３）で許可情報シェア（２−２−１）、許可情報シェア（２−２−２）、許可情報シェア（２−２−３）、許可情報シェア検証用情報（２−２）を生成し、許可情報シェア（２−２−２）は端末２のデータベースで保存し、許可情報シェア（２−２−１）と許可情報シェア検証用情報（２−２）はシーケンス３１１４により、端末１に投票用情報提供メッセージ５０８として送信し、許可情報シェア（２−２−３）と許可情報シェア検証用情報（２−２）はシーケンス３１１９により、端末３に賛否の一次意思決定メッセージ５１０として送信する。
【０４７３】
図２７において、シーケンス３１１４、３１１９はそれぞれ図２１のメッセージ５０８、５１０に相当する。
【０４７４】
図２８は端末１が端末２から投票用情報提供メッセージ５１３の応答メッセージとしてメッセージ５１４を受信し、端末２から投票用情報提供メッセージ５０８を受信し、その応答メッセージ５０９を送信し、端末３から一次結果通知メッセージ５１６を受信し、その応答メッセージ５１７を送信するまでの端末１内のモジュール処理を示すシーケンス図である。図２８において、メッセージ５１４、５０８、５０９と順番に処理するが、順番は場合によって異なる。
【０４７５】
端末１の制御モジュールは端末２から投票用情報提供メッセージ５１３の応答メッセージ５１４を受信する（シーケンス３２００〜３２０６）。
【０４７６】
端末１のメッセージ処理モジュールは端末２からメッセージ５０８を受信すると、端末２と共有しているセッションキーで暗号化されたメッセージを復号化するため、メッセージ解析モジュールを介してメッセージ復号化プロセスを行う（シーケンス３２０７〜３２１２）。そして、復号化されたメッセージの内容、添付されている許可情報シェア（２−２−１）、許可情報シェア検証用情報（２−２）を制御モジュールに渡す（シーケンス３２１３）。
【０４７７】
制御モジュールは復号されたメッセージ内容から投票用情報が添付されていることを知る。そして、制御モジュールは許可情報シェア（２−２−１）と許可情報シェアを検証用情報（２−２）をデータベースに保存する（シーケンス３２１４、３２１５）。
【０４７８】
次に、制御モジュールは端末２に応答メッセージを返すために、端末２と共有するセッションキーをデータベースに問い合わせた後（シーケンス３２１６、３２１７）、応答メッセージを端末２に対し送信するようにメッセージ生成モジュールに依頼する（シーケンス３２１８）。このとき、端末２と共有するセッションキーを渡す。
【０４７９】
メッセージ生成モジュールは応答内容を生成し、メッセージ暗号化プロセスを行った後、メッセージ処理モジュールを通じて応答メッセージ５０９を端末２に送信する（シーケンス３２１９〜３２２２）。
【０４８０】
応答メッセージ５０９送信後、端末１の制御モジュールは端末３から一次結果通知メッセージ５１６を受信する（シーケンス３２２３〜３２２９）。そして、制御モジュールはメッセージから、端末３が全メンバ端末（端末１と端末２）から受信した賛否の一次意思決定メッセージ５１５、５１０において、全メンバ端末からの賛成を得て、投票準備が完了し、投票が可能であることを知る。
【０４８１】
制御モジュールはメッセージ生成モジュールを介して、一次結果通知メッセージ５１６の応答メッセージ５１７を端末３に送信する（シーケンス３２３０〜３２３４）。
【０４８２】
応答メッセージ５１７を端末３に送信した後、制御モジュールに端末４のコミュニティ２０１への参加・加入に対する賛否の最終的な決定を行うために、意思入力モジュールに問い合わせる（シーケンス３２３５）。ここで端末１は最終的に端末４のコミュニティ２０１への参加・加入に賛成であるとする。意思入力モジュールは賛成であることを示す意思を制御モジュールに伝える（シーケンス３２３６）。
【０４８３】
図２８において、シーケンス３２００、３２０７、３２２２、３２２３、３２３４はそれぞれ図２１のメッセージ５１４、５０８、５０９、５１６、５１７に相当する。
【０４８４】
図２９は端末２が端末１から投票用情報提供メッセージ５０８の応答メッセージとして５０９を受信し、端末１から投票用情報提供メッセージ５１３を受信し、その応答メッセージ５１４を送信し、端末３から一次結果通知メッセージ５１８を受信し、その応答メッセージ５１９を送信するまでの端末２内のモジュール処理を示すシーケンス図である。図２９において、メッセージ５０９、５１３、５１４と順番に処理するが、順番は場合によって異なる。
【０４８５】
図２９における処理（シーケンス３３００〜３３３６）は図２８の処理（シーケンス３２００〜３２３６）とまったく同じであり、端末１から投票用情報提供メッセージ５１３により許可情報シェア（２−１−２）と許可情報シェア検証用情報（２−１）を取得し、端末３から一次結果通知メッセージ５１８において、端末３が全メンバ端末（端末１と端末２）から受信した賛否の一次意思決定メッセージ５１５、５１０において、全メンバ端末からの賛成を得て、投票準備が完了し、投票が可能であることを知る。
【０４８６】
応答メッセージ５１９を端末３に送信した後、端末２の制御モジュールは端末４のコミュニティ２０１への参加・加入に対する賛否の最終的な決定を行うために、意思入力モジュールに問い合わせる（シーケンス３３３５）。ここで端末２は最終的に端末４のコミュニティ２０１への参加・加入に賛成であるとする。意思入力モジュールは賛成であることを示す意思を制御モジュールに伝える（シーケンス３３３６）。
【０４８７】
図２９において、シーケンス３３００、３３０７、３３２２、３３２３、３３３４はそれぞれ図２１のメッセージ５０９、５１３、５１４、５１８、５１９に相当する。
【０４８８】
図３０は、賛否の一次意思決定メッセージ５１５を端末１から受信したときと、賛否の一次意思決定メッセージ５１０を端末２から受信したときの端末３内のモジュール処理を示すシーケンス図である。図３０では端末１からのメッセージが最初に端末３に到着しているが、場合によっては端末２からのメッセージが最初に到着することもある。
【０４８９】
端末３のメッセージ処理モジュールはメッセージ５１５を受信すると、端末１と共有するセッションキーで暗号化されたメッセージの復号化のために、メッセージ解析モジュールを介して、メッセージ復号化プロセスを行う（シーケンス３４００〜３４０５）。そして、復号化されたメッセージ内容、添付されている許可情報シェア（２−１−３）、許可情報シェア検証用情報（２−１）を制御モジュールに渡す（シーケンス３４０６）。
【０４９０】
制御モジュールは端末１が一次賛成の意思があることを知る。制御モジュールは取得した許可情報シェア（２−１−３）、許可情報シェア検証用情報（２−１）をデータベースに保存する（シーケンス３４０７、３４０８）。
【０４９１】
端末３のメッセージ処理モジュールはメッセージ５１０を受信すると、端末２と共有するセッションキーで暗号化されたメッセージの復号化のために、メッセージ解析モジュールを介して、メッセージ復号化プロセスを行う（シーケンス３４０９〜３４１４）。そして、復号化されたメッセージ内容、添付されている許可情報シェア（２−２−３）、許可情報シェア検証用情報（２−２）を制御モジュールに渡す（シーケンス３４１５）。
【０４９２】
制御モジュールは端末２が一次賛成の意思があることを知る。制御モジュールは取得した許可情報シェア（２−２−３）、許可情報シェア検証用情報（２−２）をデータベースに保存する（シーケンス３４１６、３４１７）。
【０４９３】
図３０において、シーケンス３４００は図２１のメッセージ５１５に、シーケンス３４０９は図２１のメッセージ５１０に相当する。
【０４９４】
図３１は図３０において、端末３が全メンバ端末（端末１と端末２）からそれぞれ賛否の一次意思決定メッセージ（メッセージ５１５、５１０）を受信し、その結果を全メンバ端末に通知するときの端末３内のモジュール処理を示すシーケンス図である。
【０４９５】
端末３は全メンバ端末（端末１と端末２）から賛否の一次意思決定メッセージを受信したので、全メンバ端末に一次結果通知メッセージを送信する。このとき、全メンバ端末が賛成を示した場合、投票が可能であることを、そうでない場合、投票が不可能であることを伝える。
【０４９６】
端末３の制御モジュールはメッセージ生成モジュールに対し、投票が可能であることを示す内容の一次結果通知メッセージを端末１に送信するように依頼する（シーケンス３５００）。
【０４９７】
メッセージ生成モジュールは投票が可能であることを示す内容のメッセージを生成し、メッセージ暗号化プロセスを行って、メッセージ処理モジュールを介して端末１に一次結果通知メッセージ５１６を送信する（シーケンス３５０１〜３５０４）。
【０４９８】
同様に、端末２に対しても一次結果通知メッセージ５１８を送信する（シーケンス３５０５〜３５０９）。
【０４９９】
一次結果通知メッセージ５１６、５１８を送信後、端末３の制御モジュールは端末１と端末２からそれぞれ応答メッセージ５１７、５１９を受信する（メッセージ３５１０〜３５２３）。
【０５００】
図３１において、シーケンス３５０４、３５０９、３５１０、３５１７はそれぞれ図２１のメッセージ５１６、５１８、５１７、５１９に相当する。
【０５０１】
図３２は図２８で端末１が端末４のコミュニティ２０１への参加・加入に対する最終的な意思決定を行った後の端末１のモジュール処理を示すシーケンス図である。
【０５０２】
端末１の制御モジュールは意思入力モジュールから最終的な賛否の意思決定を伝えられたので（シーケンス３２３６）、端末３と共有しているセッションキー、端末４の公開鍵、許可情報シェア（２−２−１）、許可情報シェア検証用情報（２−２）をデータベースに問い合わせる（シーケンス３６００、３６０１）。そして、許可情報シェア（２−２−１）に不正がないかどうかシェア検証モジュールに許可情報シェア（２−２−１）と許可情報シェア検証用情報（２−２）を渡してチェックを依頼する（シーケンス３６０２、３６０３）。
【０５０３】
許可情報シェア（２−２−１）に不正がなければ、許可情報シェア（２−２−１）と端末４の公開鍵を公開鍵暗号方式暗号化モジュールに渡し、暗号化を依頼する（シーケンス３６０４、３６０５）。このとき、端末１の宛先情報を併せて暗号化を行う。生成された情報を許可チケット（２−１）とする。
【０５０４】
制御モジュールは許可チケット（２−１）、端末３と共有しているセッションキー、をメッセージ生成モジュールに提供し、賛否の最終意思決定メッセージを端末３に対して送信するように依頼する（シーケンス３６０６）。
【０５０５】
メッセージ生成モジュールは最終的に賛成の意思を示す内容に許可チケット（２−１）を添付してメッセージを生成し、メッセージ暗号化プロセスを行い、メッセージ処理モジュールを通じて賛否の最終意思決定メッセージ５２０を送信する（シーケンス３６０７〜３６１０）。
【０５０６】
賛否の最終意思決定メッセージ５２０を送信後、端末１は端末３から応答メッセージ５２１を受信する（シーケンス３６１１〜３６１７）。
【０５０７】
また、応答メッセージ５２１を受信後、端末３から最終結果通知メッセージ５２４を受信する（シーケンス３６１８〜３６２４）。
【０５０８】
制御モジュールは最終結果通知メッセージ５２４の内容から最終的に全メンバ端末が端末４のコミュニティへの参加・加入に賛成であったことを知る。そして、コネクション確立情報シェア（２−３−１）を取得する。
【０５０９】
制御モジュールは取得したコネクション確立情報シェア（２−３−１）をデータベースに保存後（シーケンス３６２５、３６２６）、応答メッセージ５２５を送信する（シーケンス３６２７〜３６３１）。
【０５１０】
図３２において、シーケンス３６１０、３６１１、３６１８、３６３１はそれぞれ図２１のメッセージ５２０、５２１、５２４、５２５に相当する。
【０５１１】
図３３は、図２９で端末２が端末４のコミュニティ２０１への参加・加入に対する最終的な意思決定を行った後の端末２内のモジュール処理を示すシーケンス図である。
【０５１２】
図３３の処理（シーケンス３７００〜３７３１）は図３２の処理とまったく同じである（シーケンス３６００〜３６３１）。
【０５１３】
端末２は許可情報シェア（２−１−２）の不正チェックを行った後、端末４の公開鍵で許可情報シェア（２−１−２）を端末２の宛先情報と併せて暗号化を行い、許可チケット（２−２）を生成する（シーケンス３７００〜３７０５）。
【０５１４】
そして、許可チケット（２−２）を添付した賛否の最終意思決定メッセージ５２２を端末３に対して送信する（シーケンス３７０６〜３７１０）。賛否の最終意思決定メッセージ５２２送信後、応答メッセージ５２３を受信する（シーケンス３７１１〜３７１７）。
【０５１５】
応答メッセージ５２３の受信後、端末３から最終結果通知メッセージ５２６を受信し（シーケンス３７１８〜３７２４）、コネクション確立情報シェア（２−３−２）をデータベースに保存後（シーケンス３７２５、３７２６）、応答メッセージ５２７を送信する（シーケンス３７２７〜３７３１）。
【０５１６】
図３３において、シーケンス３７１０、３７１１、３７１８、３７３１はそれぞれ図２１のメッセージ５２２、５２３、５２６、５２７に相当する。
【０５１７】
図３４は、端末３が端末１から賛否の最終意思決定メッセージ５２０を受信したときと、端末２から賛否の最終意思決定メッセージ５２２を受信したときのモジュール処理を示すシーケンス図である。第２の実施の形態では図３２に示すようにメッセージ５２０が先に端末３に到着する例を示しているが、場合によってはメッセージ５２２が先に到着する場合もある。
【０５１８】
端末３のメッセージ処理モジュールは端末１からメッセージ５２０を受信すると、端末１と共有しているセッションキーで暗号化されたメッセージを復号化するために、メッセージ解析モジュールを介してメッセージ復号化プロセスを行う（シーケンス３８００〜３８０５）。そして、得られたメッセージ内容と添付されている許可チケット（２−１）を制御モジュールに引き渡す（シーケンス３８０６）。
【０５１９】
制御モジュールは復号化されたメッセージ内容から端末１が最終的に賛成の意思を示したことを知る。そして、制御モジュールは許可チケット（２−１）をデータベースに保存しておく（シーケンス３８０７、３８０８）。
【０５２０】
制御モジュールは端末１に対して、応答メッセージ５２１を返す（シーケンス３８０９〜３８１３）。
【０５２１】
同様に端末３のメッセージ処理モジュールは端末２からメッセージ５２２を受信すると、端末２と共有しているセッションキーで暗号化されたメッセージを復号化するために、メッセージ解析モジュールを介してメッセージ復号化プロセスを行う（シーケンス３８１４〜３８１９）。そして、得られたメッセージ内容と添付されている許可チケット（２−２）を制御モジュールに引き渡す（シーケンス３８２０）。
【０５２２】
制御モジュールは復号化されたメッセージ内容から端末２が最終的に賛成の意思を示したことを知る。そして、制御モジュールは許可チケット（２−２）をデータベースに保存しておく（シーケンス３８２１、３８２２）。
【０５２３】
そして、制御モジュールは端末２に対して、応答メッセージ５２３を返す（シーケンス３８２３〜３８２７）。
【０５２４】
図３４において、シーケンス３８００、３８１３、３８１４、３８２７はそれぞれ図２１のメッセージ５２０、５２１、５２２、５２３に相当する。
【０５２５】
図３５は、端末３が全メンバ端末（端末１と端末２）から最終意思決定メッセージ（メッセージ５２０、５２２）を受信し、全メンバ端末に応答メッセージ（メッセージ５２１、５２３）を送信した後の端末３内のモジュール処理を示すシーケンス図である。
【０５２６】
制御モジュールは全メンバ端末から賛否の脚週意思決定メッセージを受信し、全メンバ端末が賛成であることを知る。
【０５２７】
制御モジュールは全メンバ端末が賛成であったことを知らせるために、最終結果通知メッセージを送信しなければならない。
【０５２８】
まず、制御モジュールはコネクション確立情報生成モジュールに対して、コネクション確立情報を生成するように依頼する（シーケンス３９００）。
【０５２９】
コネクション確立情報生成モジュールはコネクション確立情報（２−３）を生成し、データベースに保存後、制御モジュールに返す（シーケンス３９０１〜３９０３）。
【０５３０】
制御モジュールは生成されたコネクション確立情報（２−３）をＶＳＳ分散符号化モジュールに対して閾値（３、３）で分散符号化するように依頼する（シーケンス３９０４）。
【０５３１】
ＶＳＳ分散符号化モジュールは式値（３，３）でコネクション確立情報（２−３）を分散符号化し、生成したコネクション確立情報シェア（２−３−１）、コネクション確立情報シェア（２−３−２）、コネクション確立情報シェア（２−３−）のうち一つ（ここではコネクション確立情報シェア（２−３−３）とする）をデータベースに保存後、残りのコネクション確立情報シェアを制御モジュールに返す（シーケンス３９０５〜３９０７）。
【０５３２】
制御モジュールは全メンバ端末が賛成であることを知らせる内容にコネクション確立情報シェア（２−３−１）を添付した最終結果通知メッセージを端末１に送信するようにメッセージ生成モジュールに依頼する（シーケンス３９０８）。このとき、端末１とのセッションキー、コネクション確立情報シェア（２−３−１）をメッセージ生成モジュールに渡す。
【０５３３】
メッセージ生成モジュールは全メンバ端末が賛成であることを知らせる内容にコネクション確立情報シェア（２−３−１）を添付したメッセージを生成し、メッセージ暗号化プロセスを行い、メッセージ処理モジュールを通じて最終結果通知メッセージ５２４を端末１に送信する（シーケンス３９０９〜３９１２）。
【０５３４】
同様に、制御モジュールはメッセージ生成モジュールを通じて、コネクション確立情報シェア（２−３−２）を添付した最終結果通知メッセージ５２６を端末２に送信する（シーケンス３９１３〜３９１７）。
【０５３５】
最終結果通知メッセージ５２４、５２６を送信後、端末３は端末１と端末２からそれぞれ応答メッセージ５２５、５２７を受信する（シーケンス３９１８〜３９３１）。
【０５３６】
図３５において、シーケンス３９１２、３９１７、３９１８、３９２５はそれぞれ図２１のメッセージ５２４、５２６、５２５、５２７に相当する。
【０５３７】
図３６は、図３５において、最終結果通知メッセージを全メンバ端末（端末１と端末２）に送信後、端末３が端末４に対してコミュニティ招待メッセージ５２８を送信するまでのモジュール処理を示すシーケンス図である。
【０５３８】
制御モジュールは端末４に対し、コミュニティ招待メッセージを送信するために、端末１と端末２からそれぞれ賛否の最終意思決定メッセージ受信時に取得した、許可チケット（２−１）、許可チケット（２−２）と、端末１と端末２からそれぞれ賛否の一次意思決定メッセージ受信時に取得した、許可情報シェア（２−１−３）、許可情報シェア検証用情報（２−１）、許可情報シェア（２−２−３）、許可情報シェア検証用情報（２−２）と、さらに端末４の公開鍵、をデータベースに問い合わせる（シーケンス４０００、４００１）。
【０５３９】
そして、図３２、３３と同様に許可チケットを生成する前に許可情報シェア（２−１−３）、許可情報シェア（２−２−３）の不正チェックをそれぞれ、許可情報シェア検証用情報（２−１）、許可情報シェア検証用情報（２−２）を利用して行う（シーケンス４００２〜４００５）。
【０５４０】
不正チェックが終わると、制御モジュールは許可情報シェア（２−１−３）と許可情報シェア（２−２−３）に自端末の宛先情報を併せた情報を、端末４の公開鍵で暗号化する（シーケンス４００６、４００７）。これを許可チケット（２−３）とする。
【０５４１】
制御モジュールは端末４と共有するセッションキーの作成を共通鍵生成モジュールに依頼する（シーケンス４００８）。共通鍵生成モジュールはセッションキーを生成し、データベースに保存後（シーケンス４００９、４０１０）、制御モジュールにそのセッションキーを渡す（シーケンス４０１１）。
【０５４２】
制御モジュールは電子署名と暗号化されたコミュニティ招待メッセージを作成するようにメッセージ生成モジュールに依頼する（シーケンス４０１２）。このとき、許可チケット（２−１）、許可チケット（２−２）、許可チケット（２−３）、端末４の公開鍵、端末４とのセッションキーをメッセージ生成モジュールに引き渡す。
【０５４３】
メッセージ生成モジュールは、コミュニティ２０１への招待の内容に許可チケット（２−１）、許可チケット（２−２）、許可チケット（２−３）、を添付したメッセージを生成し、メッセージ電子署名・暗号化プロセスを行って、メッセージ処理モジュールを通じて、端末４はコミュニティ招待メッセージ５２８を送信する（シーケンス４０１３〜４０２２）。
【０５４４】
図３６において、シーケンス４０２２は図２１のメッセージ５２８に相当する。
【０５４５】
図３７は、端末４が端末３からコミュニティ招待メッセージ５２８を受信したときの端末４内のモジュール処理を示すシーケンス図である。
【０５４６】
端末４のメッセージ処理モジュールは端末３からメッセージ５２８を受信すると、電子署名と暗号化が行われたメッセージを解読するために、メッセージ解析モジュールを介して、メッセージ解読プロセスを行う（シーケンス４１００〜４１２７）。そして、復号化されたメッセージ内容と添付されている、許可チケット（２−１）、許可チケット（２−２）、許可チケット（２−３）、端末３と共有するセッションキー、を引き渡す（シーケンス４１２８）。
【０５４７】
端末４の制御モジュールは復号化されたメッセージ内容から、端末３が端末４のコミュニティ２０１への招待を希望しているを知る。ここで、端末４がコミュニティへ参加・加入するかどうかを決定するときに、どのような端末がコミュニティ２０１に参加・加入しているかを知ることが必要となる。しかし、この時点では、コミュニティ２０１に参加・加入している全端末のリストを知ることができない。
【０５４８】
よって、制御モジュールは、コミュニティ２０１に参加・加入している全端末を知るために、許可チケット（２−１）、許可チケット（２−２）、許可チケット（２−３）を端末４の秘密鍵を利用して復号化する（シーケンス４１２９〜４１４０）。
【０５４９】
端末４の制御モジュールは許可チケットに含まれていた許可情報シェア（許可情報シェア（２−１−２）、許可情報シェア（２−１−３）、許可情報シェア（２−２−１）、許可情報シェア（２−２−３））と端末の宛先情報（端末１、端末２、端末３の宛先情報）を取得し、コミュニティ２０１に参加・加入している全端末が端末１、端末２、端末３であることを知る。
【０５５０】
図３７において、シーケンス４１００、４１１５、４１１５、４１１６はそれぞれ図２１のメッセージ５２８、５２９、５３０に相当する。
【０５５１】
図３８は、図３７において、端末４が端末３から受信したコミュニティ２０１への招待のメッセージを処理した後、端末１に対してコネクション確立要求メッセージを送信するときのモジュール処理を示すシーケンス図である。
【０５５２】
図３７において、端末４の制御モジュールをコミュニティ２０１に参加・加入している端末が端末１、端末２、および端末３であることを知る。
【０５５３】
端末４の制御モジュールは端末１と端末２とセキュアにコネクションを確立するために必要な公開鍵をデータベースに問い合わせ（シーケンス４２００、４２０１）、持っていなければ、外部の公開鍵サーバ５に対し取得要求を行う（シーケンス４２０２〜４２０７）。そして、公開鍵を取得後、制御モジュールは意思入力モジュールに対し、コミュニティ２０１への参加・加入に対する意思決定を伺う（シーケンス４２０８）。ここで意思入力モジュールは端末４のコミュニティ２０１への参加・加入に対し賛成の意思があるものとする。意思入力モジュールはコミュニティ２０１への参加・加入の意思を制御モジュールに伝える（シーケンス４２０９）。
【０５５４】
制御モジュールは得られた全許可情報シェア（許可情報シェア（２−１−２）、許可情報シェア（２−１−３）、許可情報シェア（２−２−１）、許可情報シェア（２−２−３））、端末（端末１と端末２と端末３）の宛先情報、端末３と共有するセッションキー、および端末１と端末２の公開鍵をデータベースに保存する（シーケンス４２１０、４２１１）。
【０５５５】
制御モジュールはコネクション確立要求メッセージを端末１に対して送信するために、端末１と共有するためのセッションキーの生成を、共通鍵生成モジュールに依頼する（シーケンス４２１２）。
【０５５６】
共通鍵生成モジュールは生成したセッションキーをデータベースに保存し（シーケンス４２１３、４２１４）、そのセッションキーを制御モジュールに渡す（シーケンス４２１５）。
【０５５７】
制御モジュールは端末１にコネクション確立要求メッセージを送信するようにメッセージ生成モジュールに対して依頼する（シーケンス４２１６）。このとき、端末１とのセッションキー、全許可情報シェア、端末１の公開鍵をメッセージ生成モジュールに渡す。
【０５５８】
メッセージ生成モジュールはコネクション確立要求の内容に全許可情報シェアを添付したメッセージを生成し、メッセージ電子署名・暗号化プロセスを行って、メッセージ処理モジュールを通じて、端末１にコネクション確立要求メッセージ５２５を送信する。
【０５５９】
図３８において、シーケンス４２０４、４２０５、４２２６はそれぞれ図２１のメッセージ５３１、５３２、５３３に相当する。
【０５６０】
図３９は、図３８において、端末４が送信したコネクション確立要求メッセージ５３３を端末１が受信したときの端末１内のモジュール処理を示すシーケンス図である。
【０５６１】
端末１のメッセージ処理モジュールはメッセージ５３３を受信すると、電子署名と暗号化が行われたメッセージを解読するために、メッセージ解析モジュールを介して、メッセージ解読プロセスを行う（シーケンス４３００〜４３１５）。そして、復号化されたメッセージ内容と添付されている、全許可情報シェア、端末４と共有するセッションキーを渡す（シーケンス４３１６）。
【０５６２】
制御モジュールは復号化されたメッセージ内容から端末４が端末１とのコネクションの確立を要求していることを知る。コミュニティ２０１への参加・加入には全端末の賛成が必要であるため、全端末の賛成による参加・加入の権利を端末４が得ているかどうかを、端末４から取得した全許可情報シェアを用いてチェックする。
【０５６３】
制御モジュールは全許可情報シェアのうち、許可情報シェア（２−１−２）、許可情報シェア（２−１−３）を許可情報比較モジュールに渡し、端末１が持っている許可情報シェア（２−１−１）と許可情報（２−１）を利用して、端末４がコミュニティ２０１へ参加・加入する権利をコミュニティ２０１の他の全端末から得ているかどうかチェックするように依頼する（シーケンス４３１７）。このとき、同時に端末４の宛先情報を渡す。
【０５６４】
許可情報比較モジュールはデータベースに対し、許可情報シェア（２−１−１）と許可情報（２−１）を問い合わせる（シーケンス４３１８、４３１９）。そして、ＶＳＳ復号化モジュールに対し、許可情報シェア（２−１−１）、許可情報シェア（２−１−２）、許可情報シェア（２−１−３）から許可情報を復号化するように依頼する（シーケンス４３２０）。
【０５６５】
ＶＳＳ復号化モジュールは３個の許可情報シェアから復号化を行い生成した、許可情報（２−１−Ａ）を生成し、許可情報比較モジュールに渡す（シーケンス４３２１）。
【０５６６】
許可情報比較モジュールは許可情報（２−１）と許可情報（２−１−Ａ）の比較を行い、相違がないかどうか判断する。相違があれば、不正とみなしコネクションは確立しない。相違がない場合、比較時の時刻情報と許可情報（２−１）に含まれる時刻情報の差分を計算し、一定時間以上、時間が経過していないことを確認する。経過していなければ正常であると判断し、さらに端末４の宛先情報の比較を行い、許可情報（２−１）に含まれる端末４の宛先情報と相違がないかどうか比較する。
【０５６７】
以上の比較が正常に終了すると正常応答を制御モジュールに返す（シーケンス４３２２）。
【０５６８】
次に残りの許可情報シェア（許可情報シェア（２−２−１）、許可情報シェア（２−２−３））に不正がないかどうかをシェア検証モジュールを利用して確認する。
【０５６９】
制御モジュールはデータベースに対し、端末２から取得した許可情報シェア検証用情報（２−２）を問い合わせる（シーケンス４３２３、４３２４）。そして、制御モジュールは許可情報シェア（２−２−１）と許可情報シェア検証用情報（２−２）をシェア検証モジュールに提供し、不正を検証するようにシェア検証モジュールに依頼し、シェア検証モジュールは不正がなければ、正常応答を制御モジュールに返す（シーケンス４３２５、４３２６）。
【０５７０】
同様に、許可情報シェア（２−２−３）の不正を検証する（シーケンス４３２７、４３２８）。
【０５７１】
以上のチェックを行い、全許可情報シェアに全く不正がなければ、端末４がコミュニティ２０１への参加・加入に対する全端末の賛成を得ていると判断する。そして、コネクション確立要求を承諾し、端末４とのセッションキーをデータベースに保存する（シーケンス４３２９、４３３０）。また、コネクション確立情報シェア（２−３−１）をデータベースに問い合わせる（シーケンス４３３１、４３３２）。
【０５７２】
制御モジュールはコネクション確立情報シェア（２−３−１）を添付した応答メッセージを端末４に送信するようにメッセージ生成モジュールに依頼する（シーケンス４３３３）。このとき、メッセージ生成モジュールに端末４と共有するセッションキーとコネクション確立情報シェア（２−３−１）を渡す。
【０５７３】
メッセージ生成モジュールはコネクション確立要求に対する承諾の内容にコネクション確立情報シェア（２−３−１）を添付したメッセージを生成し、メッセージ暗号化プロセスを行った後、メッセージ処理モジュールを通じて、端末４に応答メッセージ５３４を送信する（シーケンス４３３４〜４３３７）。
【０５７４】
応答メッセージ５３４を端末４に送信後、端末１のメッセージ処理モジュールは端末４からコネクション確立確認メッセージ５３５を受信する。
【０５７５】
メッセージ処理モジュールはメッセージ５３５を受信すると、端末４と共有しているセッションキーで暗号化されたメッセージを復号化するために、メッセージ解析モジュールをかいして、メッセージ復号化プロセスを行う（シーケンス４３３８〜４３４３）。そして、復号化されたメッセージ内容を制御モジュールに渡す（シーケンス４３４４）。
【０５７６】
制御モジュールは復号されたメッセージから端末１と端末４の間でコネクションが正常に確立したことを知る。
【０５７７】
図３９において、シーケンス４３００、４３３７、４３３８はそれぞれ図２１のメッセージ５３３、５３４、５３５に相当する。
【０５７８】
図４０は、応答メッセージ５３４を端末４が受信したときの端末４内のモジュール処理を示すシーケンス図である。
【０５７９】
端末４のメッセージ処理モジュールはメッセージ５３４を受信すると、端末１と共有しているセッションキーで暗号化されたメッセージを復号化するために、メッセージ解析モジュールを介してメッセージ復号化プロセスを行う（シーケンス４４００〜４４０５）。そして、復号化されたメッセージ内容とコネクション確立情報シェア（２−３−１）を制御モジュールに渡す（シーケンス４４０６）。
【０５８０】
制御モジュールは復号化されたメッセージ内容から端末１とのコネクションが確立可能であることを判断する。制御モジュールは取得したコネクション確立情報シェア（２−３−１）をデータベースに保存後（シーケンス４４０７、４４０８）、コネクション確立確認メッセージを端末１に対して送信する（シーケンス４４０９〜４４１３）。
【０５８１】
図４０において、シーケンス４４００、４４１３はそれぞれ図２１のメッセージ５３４、５３５に相当する。
【０５８２】
図４１は、図３９において、端末４が端末１とコネクションを確立した後、端末２に対してコネクション確立要求メッセージを送信するときの端末４内のモジュール処理を示すシーケンス図である。なお、第２の実施の形態では端末１と先にコネクションを確立するが、場合によっては先に端末２とコネクションを確立する。
【０５８３】
図４１の処理（シーケンス４５００〜４５１４）は図３８のシーケンス４２１２〜４２２６と全く同じであり、端末４の制御モジュールは端末２と共有するセッションキーを生成して、全許可情報シェアを添付したコネクション確立要求メッセージ５３６を端末２に対し送信する。
【０５８４】
図４１において、シーケンス４５１４は図２１のメッセージ５３６に相当する。
【０５８５】
図４２は、図４１において、端末４が送信したコネクション確立要求メッセージ５３６を端末２が受信したときのモジュール処理を示すシーケンス図である。
【０５８６】
図４２の処理（シーケンス４６００〜４６４４）は図３９の処理（シーケンス４３００〜４３４４）と全く同じであり、端末４から取得した全許可情報シェア（許可情報シェア（２−１−２）、許可情報シェア（２−１−３）、許可情報シェア（２−２−１）、許可情報シェア（２−２−３））を利用して、端末４がコミュニティへの参加・加入に対して全端末から賛成を得ていることを確認してから、端末２は応答メッセージ５３７にコネクション確立情報シェア（２−３−２）を添付し端末４に送信する。そして、端末２はコネクション確立確認メッセージ５３８を受信し、端末２と端末４の間でコネクションが正常に確立したことを確認する。
【０５８７】
図４２において、シーケンス４６００、４６３７、４６３８はそれぞれ図２１のメッセージ５３６、５３７、５３８に相当する。
【０５８８】
図４３は、応答メッセージ５３７を端末４が受信したときの端末４内のモジュール処理を示すシーケンス図である。
【０５８９】
図４３の処理（シーケンス４７００〜４７１３）は図４０の処理（シーケンス４４００〜４４１３）と同様であり、端末４は端末２からコネクション確立情報シェア（２−３−２）を取得し、コネクション確立確認メッセージ５３８を端末２に送信する。
【０５９０】
図４３において、シーケンス４７００、４７１３はそれぞれ図２１のメッセージ５３７、５３８に相当する。
【０５９１】
図４４は、端末４が端末２に対しコネクション確立確認メッセージ５３８を送信後、端末３に対してコミュニティ参加・加入承諾メッセージ５３９を送信するときの端末４内のモジュール処理を示すシーケンス図である。
【０５９２】
端末４の制御モジュールはデータベースに対して、端末３と共有するセッションキー、コネクション確立情報シェア（２−３−１）、コネクション確立情報シェア（２−３−２）を問い合わせる（シーケンス４８００、４８０１）。そして、端末３と共有するセッションキー、コネクション確立情報シェア（２−３−１）、コネクション確立情報シェア（２−３−２）をメッセージ生成モジュールに渡し、コミュニティ参加・加入承諾メッセージを送信するように依頼する（シーケンス４８０２）。
【０５９３】
メッセージ生成モジュールはコミュニティ参加・加入承諾の内容にコネクション確立情報シェア（２−３−１）、コネクション確立情報シェア（２−３−２）を添付したメッセージを生成し、メッセージ暗号化プロセスを行った後、メッセージ処理モジュールを通じて、端末３にコミュニティ参加・加入承諾メッセージ５３９を送信する（シーケンス４８０３〜４８０６）。
【０５９４】
図４４において、シーケンス４５０６は図２１のメッセージ５３９に相当する。
【０５９５】
図４５は、コミュニティ参加・加入承諾メッセージ５３９を端末３が受信したときの端末３内のモジュール処理を示すシーケンス図である。
【０５９６】
端末３のメッセージ処理モジュールはメッセージ５３９を受信すると、端末４と共有しているセッションキーで暗号化されたメッセージを復号化するために、メッセージ解析モジュールを介してメッセージ復号化プロセスを行う（シーケンス４９００〜４９０５）。そして、復号化されたメッセージ内容と添付されているコネクション確立情報シェア（２−３−１）、コネクション確立情報シェア（２−３−２）を制御モジュールに渡す（シーケンス４９０６）。
【０５９７】
制御モジュールは復号化されたメッセージ内容から端末４がコミュニティ２０１への参加・加入を承諾したことを知る。端末４とコネクションを確立するためには端末３以外のコミュニティ２０１に参加・加入している全メンバ端末（端末１と端末２）とのコネクションが確立していなければならないため、端末４から取得したコネクション確立情報シェア（２−３−１）、コネクション確立情報シェア（２−３−２）を用いて端末４のコネクション確立状況をチェックする。
【０５９８】
制御モジュールはコネクション確立情報比較モジュールに対し、コネクション確立情報シェア（２−３−１）、コネクション確立情報シェア（２−３−２）を提供し、端末４が端末１、端末２とコネクションを確立しているかどうかをチェックするように依頼する（シーケンス４９０７）。
【０５９９】
コネクション確立情報比較モジュールはデータベースにコネクション確立情報シェア（２−３−３）、コネクション確立情報（２−３）を問い合わせる（シーケンス４９０８、４９０９）。そして、ＶＳＳ復号化モジュールに対し、コネクション確立情報シェア（２−３−１）、コネクション確立情報シェア（２−３−２）、コネクション確立情報シェア（２−３−３）を提供し、復号化するように依頼する（シーケンス４９１０）。
【０６００】
ＶＳＳ復号化モジュールは３個のコネクション確立情報シェアから、コネクション確立情報（２−３−Ａ）を復元し、コネクション確立情報比較モジュールに返す（シーケンス４９１１）。
【０６０１】
コネクション確立情報比較モジュールはコネクション確立情報（２−３−Ａ）とコネクション確立情報（２−３）との比較を行い、相違がないかどうか確認を行う。相違があれば、端末４のアクセスは不正と判断する。相違がなければ、比較時の時刻情報とコネクション確立情報に含まれる時刻情報の差分を計算し、それが一定時間以上経過していないかどうか調べる。
【０６０２】
以上の処理が正常に終了するなら、コネクション確立情報比較モジュールは制御モジュールに正常応答を返す（シーケンス４９１２）。
【０６０３】
コネクション確立情報シェアを利用したコネクションのチェックが正常に終了すると、端末３の制御モジュールはコネクション確立を承諾する。そして、制御モジュールはコネクション確立確認メッセージを送信するように、メッセージ生成モジュールに依頼する（シーケンス４９１３）。このとき、端末４を共有するセッションキーをメッセージ生成モジュールに渡す。
【０６０４】
メッセージ生成モジュールはコネクション確立確認の内容をメッセージとして生成し、メッセージ暗号化プロセスを行った後、メッセージ処理モジュールを通じて、端末４にコネクション確立確認メッセージ５４０を送信する（シーケンス４９１４〜４９１７）。
【０６０５】
図４５において、シーケンス４９００は図２１のメッセージ５３９に、シーケンス４９１７は図２１のメッセージ５４０に相当する。
【０６０６】
図４６は、コネクション確立確認メッセージ５４０を端末４が受信したときの端末４内のモジュール処理を示す。
【０６０７】
端末４のメッセージ処理モジュールはメッセージ５４０を受信すると、端末３と共有しているセッションキーで暗号化されたメッセージを復号化するために、メッセージ解析モジュールを介して、メッセージ復号化プロセスを行う（シーケンス５０００〜５００５）。そして、復号化されたメッセージ内容を制御モジュールに渡す（シーケンス５００６）。
【０６０８】
制御モジュールは復号化されたメッセージ内容から端末３とのコネクションが正常に確立したことを知る。
【０６０９】
図４６において、シーケンス５０００は図２１のメッセージ５４０に相当する。
【０６１０】
以上より、新規端末（端末４）のコミュニティへの参加・加入に対して、各メンバ端末（端末１、端末２）は投票用情報である許可情報シェアを投票用情報提供メッセージ、または賛否の一次意思決定メッセージにより、配布することで投票の準備を行い、各メンバ端末が（コミュニティに参加・加入している全端末数−２）個の許可情報シェアを賛成票として、賛否の最終意思決定メッセージにより、応対端末（端末３）に提出することで投票を行い、全メンバ端末が賛成票を提出するかどうかによって、コミュニティへのアクセス権を集中的に管理する存在がいなくても、フルメッシュ網において新規端末のコミュニティへの参加・加入に対する全端末の意思（賛成か反対か）を各端末が確実に確認することができる。
【０６１１】
また、各メンバ端末が他のメンバ端末に依存せず、それぞれ独立に任意のランダムなキーワードを含む許可情報を生成することで、他のメンバ端末が許可情報を推測して不正に生成し、それから許可情報シェアを生成することで、例えば、他の端末が賛成票を提出していないにもかかわらず、あたかも全端末が新規端末のコミュニティへの参加・加入に対して賛成したかのようにふるまうことを困難にし、各メンバ端末が新規端末からコネクション確立要求メッセージを受信したときに、その新規端末が自端末を除く他の全端末からコミュニティへの参加・加入から賛成を得ているかどうかを、自端末の許可情報から生成し、各メンバ端末に配布した（コミュニティに属する全端末数）個の許可情報シェアと自端末のデータベース内の許可情報シェアからＶＳＳにより復元した許可情報と、自端末のデータベース内の許可情報とを比較する処理を、他の端末に不正に操作されずに各メンバ端末は独立に正しくチェックすることができる。
【０６１２】
また、各メンバ端末は新規端末からコネクション確立要求メッセージを受信したときに、自端末が配布した許可情報シェアを利用した許可情報の比較処理だけを行うのではなく、新規端末が所持している他のメンバ端末が配布した（コミュニティに参加・加入している全端末数−１）×（コミュニティに参加・加入している全端末数−２）個の許可情報シェアに不正がないかどうかを、許可情報シェアの配布時にあらかじめ他のメンバ端末から取得しておいた許可情報シェア検証用情報とシェア検証モジュールとを用いることで検証を行う。
【０６１３】
これにより、他の各メンバ端末が応対端末に賛成票として許可情報シェアを提出する過程（賛否の最終意思決定メッセージ）や、応対端末が各メンバ端末から回収した許可情報シェアと自端末の許可情報シェアを新規端末に提供する過程（コミュニティ招待メッセージ）において、例えば、すべての許可情報シェアを提出せずに一部の許可情報シェアだけしか提出しないといった不正を検出することができ、自端末で行った許可情報の比較処理において、新規端末がコミュニティへの参加・加入に対し賛成を得ていると判断されるときには、新規端末が自端末以外の他のメンバ端末と必ずコネクションを確立することができる状況を作り出すことができ、さらに、自端末で行った許可情報の比較処理において、新規端末がコミュニティへの参加・加入に対し賛成を得ていないと判断されるときには、新規端末が自端末以外の他のメンバ端末と必ずコネクションを確立することができない状況を作り出すことができる。これにより、賛成を受けていると判断したにもかかわらず新規端末は自端末以外とコネクションを確立することができない。または賛成を受けていないと判断したにもかかわらず新規端末は自端末以外とコネクションを確立することができるといった状況を防止することができる。
【０６１４】
また、第２の実施の形態では、各メンバ端末は許可情報を閾値（３、３）で分散符号化し、得られた３個の許可情報シェアのうちの一つは必ず自端末で保存し、さらに許可情報も自端末で保存し、他端末に一切漏らさないため、他の端末が許可情報を推測するのを防止することができる。
【０６１５】
また、第２の実施の形態では、各メンバ端末は許可情報を閾値（３、３）で分散符号化し、応対端末と全メンバ端末が賛成を示さなければ（つまり、配布したすべての許可情報シェアが集まらないといけない）、新規端末は各メンバ端末とコネクションを確立することができないが、分散符号化するときの閾値を変化させることで必要な賛成票を自由に変更することができ、例えば、閾値ｋ（ｋ≦３）をとすると、３つの端末からｋ個の賛成票（許可情報シェア）が集まれば、新規端末はコミュニティに属する端末とコネクションを確立することができるようになるので、投票に必要な賛成票の数を自由に設定することが可能となる。
【０６１６】
また、新規端末に提供する許可情報シェアをそのまま提供するのではなく、宛先情報も含めて新規端末の公開鍵で暗号化した許可チケットとして提供することで、新規端末以外の端末に盗聴されることを防止し、さらに許可チケットを利用してコミュニティに参加・加入している全端末の宛先情報を新規端末に知らせることができる。
【０６１７】
また、投票用情報である許可情報シェアを各メンバ端末が独立に直接、新規端末に提供するのではなく、賛否の最終意思決定メッセージにより、一度、応対端末で収集することで、新規端末が各メンバ端末に対してコネクションの確立要求を行うときに必要となる許可情報シェアを、統一的に扱うことが可能となる。これにより、各メンバ端末が許可情報シェアを新規端末に直接提供するために新規端末へアクセスすることにより発生の可能性のある同時アクセスを防止することができる。
【０６１８】
また、許可情報に時刻情報を設定しておくことで、新規端末が各メンバ端末とコネクションを確立するまでの有効期限を設定することができ、セキュリティレベルを向上させ、さらに許可情報比較モジュールにおいて、基準となる有効時間を自由に設定することで、任意のセキュリティレベルを設定することが可能となる。
【０６１９】
また、メンバ端末が新規端末とコネクションを確立したかどうかを応対端末がチェックするために、第２の実施の形態では応対端末はコネクション確立情報と閾値（３、３）によって分散符号化した３個のコネクション確立情報シェアとを利用し、各メンバ端末が賛成票である許可情報シェアを提出後、応対端末は全メンバ端末に２個のコネクション確立情報シェアをそれぞれ一つずつ配布し、各メンバ端末は新規端末とコネクションを確立するときに、あらかじめ応対端末から取得していたコネクション確立情報シェアを新規端末に渡し、その後、新規端末が応対端末とコネクションを確立するときに各メンバ端末から取得した２個のコネクション確立情報シェアを応対端末に渡し、応対端末はその２個のコネクション確立情報シェアと、内部の前記データベースで管理するコネクション確立情報シェアとＶＳＳ復号化モジュールを利用して、コネクション確立情報を復元し、復元したコネクション情報と応対端末の内部の前記データベースで管理するコネクション確立情報を比較することで、応対端末は新規端末が全メンバ端末とコネクションを確立しているかどうかを確認することができ、応対端末とコネクションを確立するときは必ず全端末とコネクションを確立しなければならないという状況を作り出すことが可能となる。
【０６２０】
また、コネクション確立情報に時刻情報を設定しておくことで、新規端末が応対端末とコネクションを確立するまでの有効期限を設定することができ、これによりセキュリティレベルを向上させ、さらにコネクション確立情報比較モジュールにおいて、基準となる有効時間を自由に設定することで、任意のセキュリティレベルを設定することが可能となる。
【０６２１】
また、第２の実施の形態の場合、応対端末がメンバ端末に対し、コミュニティに招待、または参加・加入を希望する新規端末の宛先情報をそのまま提供するのではなく、代わりに閾値（２、２）でＶＳＳにより分散符号化し、得られた宛先情報シェアと、宛先情報シェアの不正を検出するための宛先情報シェア検証用情報をメンバ端末に提供することで、各メンバ端末はそれぞれ取得した宛先情報シェアの不正を宛先情報シェア検証用情報とシェア検証モジュールとを利用して検証することができ、さらに応対端末を除くコミュニティに属する全メンバ端末が協力しないと元の新規端末の宛先情報を復元できないため、応対端末が各メンバ端末ごとに別々の宛先情報を提示するといった不正を防止することができる。
【０６２２】
また、各メンバ端末は賛成票を提出する前に、自端末以外の全メンバ端末から取得した許可情報シェアを許可情報シェア検証用情報とシェア検証モジュールを利用して不正のチェックを行うため、不正のない正しい賛成票を応対端末に提出することができると同時に、提出時における不正検出も可能となる。
【０６２３】
また、第２の実施の形態ではコミュニティに属する全端末数が３であるが（端末１、端末２、端末３）、４以上の場合でも同様の効果が得られる。
【０６２４】
また、端末同士がやり取りするメッセージには電子署名と暗号化、または電子署名による認証後はセッションキーによる暗号化を必ず行うことで、各端末が交換する様々な情報（許可情報シェア、許可情報シェア検証用情報、宛先情報、宛先情報シェア、宛先情報シェア検証用情報、コネクション確立情報、コネクション確立情報シェア）が第三者に盗聴されることを防止することができる。
【０６２５】
また、宛先情報は任意の種類の情報を適用することができ、例えば、ＩＰアドレスやＳＩＰアドレスを適用することができる。
【０６２６】
また、以上説明した本発明の実施の形態によれば、新規エンティティがフルメッシュ網によるコミュニティに参加・加入する場合に、既にコミュニティに加入している複数のエンティティによる賛否の票によるアクセスコントロールを実現でき、許可決定プロセス中において存在する不正なエンティティを検出することができ、許可決定プロセスが不正に操作されることを防止でき、新規エンティティがコミュニティに既に参加・加入している各エンティティに対してコネクションを確立する場合に、許可決定プロセスを不正なく安全に行うことができ、コミュニティに参加・加入している他のエンティティが新規エンティティのコミュニティへの参加・加入に賛否（許可）したことを確実に確認することができるコミュニケーションシステム、コミュニケーション方法およびそのプログラムを提供することができる。
【０６２７】
なお、以上説明した本発明の実施の形態において示した構成は、ネットワークに接続されている複数の端末もしくは公開鍵サーバとの通信を行い、複数の端末に対してはコネクションを確立することでコミュニティを形成し、かつ、公開鍵サーバに対しては公開鍵取得要求により公開鍵を取得するためのコミュニケーションシステムであって、２つ以上の端末間のフルメッシュのコネクションで形成されるフルメッシュ網により形成されたコミュニティと、コミュニティに属していない新規端末をコミュニティに招待することの要求がされているか、または、コミュニティに属していない新規端末がコミュニティへ属することの要求を受けたコミュニティに属する端末のいずれかにより構成される応対端末と、応対端末以外のコミュニティに属する端末により構成されるメンバ端末と、コミュニティへ新規端末を参加・加入させる場合に、この参加・加入の可否を決定するための投票用情報の作成の基礎となる情報であって、新規端末がメンバ端末のそれぞれにコネクションの確立を要求する場合に、その新規端末がコミュニティのメンバ端末および応対端末から参加・加入に対する賛成を得ているかどうかを確認するための情報である許可情報を生成するための許可情報生成モジュールと、新規端末がメンバ端末とコネクションを確立したかどうかを応対端末が確認するために必要なコネクション確立情報を生成するコネクション確立情報生成モジュールと、メンバ端末がそれぞれ独立に生成した許可情報を検証可秘密分散の（ｋ、ｎ）閾値法（ｋ≦ｎ）によって分散符号化し、投票用情報であるｎ個の許可情報シェアと１個の許可情報シェア検証用情報を生成し、同様にコネクション確立情報を秘密分散法の（ｋ、ｎ）閾値法（ｋ≦ｎ）によって分散符号化し、ｎ個のコネクション確立情報シェアを生成し、同様にコミュニティに参加・加入している全端末数が３以上のときに新規端末の宛先情報を検証可秘密分散の（ｋ、ｎ）閾値法（ｋ≦ｎ）によって分散符号化し、ｎ個の宛先情報シェアと１個の宛先情報シェア検証用情報を生成するためのＶＳＳ分散符号化モジュールと、秘密分散法または検証可秘密分散の（ｋ、ｎ）閾値法によって、ｎ個の分散符号化されたシェアからｋ個以上のシェアを利用することで元の情報を復元するためのＶＳＳ復号化モジュールと、許可情報シェア検証用情報と宛先情報シェア検証用情報を利用し、ＶＳＳにより許可情報シェアとコネクション確立情報シェアと宛先情報シェアに不正がないかどうかを確認するシェア検証モジュールと、共通鍵暗号化方式によるセッションキーを生成する共通鍵生成モジュールと、を有し、許可情報生成モジュールで生成する許可情報と、ＶＳＳ分散符号化モジュールと許可情報とを利用して生成する許可情報シェアと、許可情報シェア検証用情報と、コネクション確立情報生成モジュールで生成するコネクション確立情報と、ＶＳＳ分散符号化モジュールとコネクション確立情報とを利用して生成するコネクション確立情報シェアと、共通鍵生成モジュールで生成するセッションキーと、公開鍵サーバに問い合わせることで取得する自端末以外の他の端末の公開鍵と、自端末の秘密鍵および公開鍵と、他の端末の宛先情報と、ＶＳＳ分散符号化モジュールと宛先情報とを利用して生成する宛先情報シェアと、宛先情報シェア検証用情報と、コミュニティに参加・加入している全ての端末を網羅した端末リストと、を管理するデータベースと、新規端末がメンバ端末の各々にコネクションの確立を要求する場合に、メンバ端末において新規端末がコミュニティに属する他の端末から賛成を得ているかどうかを、新規端末から取得した許可情報シェアと、自端末のデータベースで管理する許可情報シェアと、ＶＳＳ復号化モジュールと、を利用して復元した許可情報と、自端末のデータベースで管理する許可情報と、を比較し確認するための許可情報比較モジュールと、応対端末が新規端末からアクセスを受けた場合に、全てのメンバ端末とコネクションを確立しているかどうかを、新規端末から取得したコネクション確立情報シェアと、自端末のデータベースで管理するコネクション確立情報シェアと、ＶＳＳ復号化モジュールと、を利用して復元したコネクション確立情報と、自端末のデータベースで管理するコネクション確立情報と、を比較し確認するためのコネクション確立情報比較モジュールと、暗号化の依頼を受けた情報を公開鍵暗号化方式により暗号化するための公開鍵暗号化方式暗号化モジュールと、暗号化の依頼を受けた情報を共通鍵暗号化方式により暗号化するための共通鍵暗号化方式暗号化モジュールと、複数の情報の変換結果が同一になることが困難なハッシュ関数の一種であるメッセージダイジェスト関数を利用して任意情報のダイジェストを生成するためのｄｉｇｅｓｔ生成モジュールと、復号化の依頼を受けた情報を公開鍵暗号化方式により復号化するための公開鍵暗号化方式復号化モジュールと、復号化の依頼を受けた情報を共通鍵暗号化方式により復号化するための共通鍵暗号化方式復号化モジュールと、コネクションを確立するかどうかの決定と、コミュニティへの新規端末の参加・加入に対する賛否の一次決定と、コミュニティへの新規端末の参加・加入に対する賛否の最終決定と、コミュニティに参加・加入するかどうかの決定と、のそれぞれの決定をするための意思入力モジュールと、要求された内容のメッセージを生成し、メッセージの生成の要求時に渡された情報をメッセージに添付する場合において、メッセージに電子署名と暗号化を施す場合は、公開鍵暗号方式暗号化モジュールと共通鍵暗号方式モジュールとｄｉｇｅｓｔ生成モジュールとをもって添付を実行し、一方、暗号化のみを施す場合は、共通鍵暗号方式モジュールをもって添付を実行するためのメッセージ生成モジュールと、許可情報の生成を許可情報生成モジュールに依頼し、コネクション確立情報の生成をコネクション確立情報生成モジュールに依頼し、許可情報シェアと、許可情報シェア検証用情報と、またはコネクション確立情報シェアと、または宛先情報シェアと、宛先情報シェア検証用情報と、を生成することをＶＳＳ分散符号化モジュールに依頼し、許可情報シェアの公開鍵による暗号化を公開鍵暗号方式暗号化モジュールに依頼し、暗号化された許可情報シェアの復号化を公開鍵暗号方式復号化モジュールに依頼し、意思入力モジュールに決定を下すように依頼し、宛先情報シェアから宛先情報を復元するようにＶＳＳ復号化モジュールに依頼し、許可情報の比較を許可情報比較モジュールに依頼し、コネクション確立情報の比較をコネクション確立情報比較モジュールに依頼し、セッションキーの生成を共通鍵生成モジュールに依頼し、シェア検証モジュールに、許可情報シェアか、または宛先情報シェアの不正チェックを依頼し、データベースに各種情報の問い合わせと保存を行ってメッセージ生成モジュールにメッセージの生成を依頼するための制御モジュールと、全ての端末について、受信されたメッセージの送受信中に不正行為が行われていないかどうかを確認するために、メッセージに含まれるダイジェストと該メッセージの内容とからｄｉｇｅｓｔ生成モジュールでもって生成されたダイジェストに相違がないかどうかを比較するためのメッセージ不正判断モジュールと、全ての端末について、受信されたメッセージに電子署名と暗号化が施されている場合は、公開鍵暗号化方式復号化モジュールと、共通鍵暗号方式復号化モジュールと、をもってメッセージを解読し、さらに、メッセージの解読に必要となる発信元端末の公開鍵をデータベースに持っていない場合において、制御モジュールを通じて公開鍵サーバに対し公開鍵を取得するように要求し、解読処理後にメッセージに不正行為が行われていないかどうかを確認するために、得られたメッセージの内容とダイジェストからメッセージの内容をもってｄｉｇｅｓｔ生成モジュールによりダイジェストを生成し、２つのダイジェストをメッセージ不正判断モジュールに渡し、不正行為の有無の確認を依頼し、不正行為がなければ制御モジュールにメッセージ内容を渡し、一方、メッセージに暗号化だけが施されている場合は、共通鍵暗号化方式復号化モジュールによってメッセージを復号し、この復号後のメッセージの内容を制御モジュールへ渡すためのメッセージ解析モジュールと、メッセージ生成モジュールによって生成されたメッセージを、外部の端末または公開鍵サーバに対して送信し、外部の端末または公開鍵サーバから受信したメッセージをメッセージ解析モジュールに渡すためのメッセージ処理モジュールと、を備える。
【０６２８】
また、許可情報生成モジュールは、許可情報を、生成時の時刻情報と、新規端末の宛先情報と、任意のランダムなキーワードと、により構成し生成する。
【０６２９】
また、コネクション確立情報生成モジュールは、コネクション確立情報を、生成時の時刻情報と、新規端末の宛先情報と、任意のランダムなキーワードと、により構成し生成する。
【０６３０】
また、全端末数が２つの場合において、応対端末が、メンバ端末に新規端末のコミュニティへの参加・加入に対する賛否を伺い、メンバ端末は賛成の場合に独立に生成した許可情報を元にＶＳＳ分散符号化モジュールにより投票用情報である許可情報シェアを閾値（３、３）により３個生成し、そのうちの一つを応対端末に配布する第一段階と、第一段階でメンバ端末が賛成であった場合に、メンバ端末は自端末が持つ１つの許可情報シェアを賛成票として応対端末に提出し、新規端末をコミュニティに参加・加入させるかどうかを決定する第二段階と、第二段階においてメンバ端末が賛成であった場合に、応対端末がメンバ端末から賛成票として回収した１個と、応対端末が持つ１個と、を併せた２個の許可情報シェアを新規端末にコミュニティへの参加・加入するためのチケットとして提供し、新規端末がメンバ端末とコネクションを確立する際に、応対端末から取得した全ての許可情報シェアを、コネクションの確立要求を行うメッセージに添付する第三段階と、を有し、あるいは、全端末数が３つ以上の場合において、応対端末が全てのメンバ端末に新規端末のコミュニティへの参加・加入に対する賛否を伺い、各々のメンバ端末は独立に生成した許可情報を元にＶＳＳ分散符号化モジュールにより閾値（（全端末数）、（全端末数））で（全端末数）個の許可情報シェアと、１個の許可情報シェア検証用情報と、を生成し、（全端末数）個のうちの（全端末数−１）個の許可情報シェアをそれぞれ他の全てのメンバ端末と応対端末に１つずつ配布し、同時に許可情報シェア検証用情報を配布した後を第一段階とし、第一段階で全てのメンバ端末が賛成であった場合に、各々のメンバ端末は他の全てのメンバ端末から取得した（全端末数−２）個の許可情報シェアを賛成票として応対端末に提出することで、新規端末をコミュニティに参加・加入させるかどうかを決定することを第二段階とし、第二段階において全てのメンバ端末が賛成であった場合に、応対端末が全てのメンバ端末から賛成票として回収した（全端末数−２）×（全端末数−１）個と応対端末が持つ（全端末数−１）個とを併せた、（全端末数−１）×（全端末数−１）個の許可情報シェアを新規端末にコミュニティへの参加・加入するためのチケットとして提供し、新規端末が各々のメンバ端末とコネクションを確立する際に、応対端末から取得した全ての許可情報シェアをコネクションの確立要求を行うメッセージに添付する第三段階とする。
【０６３１】
また、第一段階は、各々のメンバ端末が許可情報シェアを配布する場合において、全端末数が２つのときは、メンバ端末は自端末が生成した３個の許可情報シェアのうちの一つを応対端末に配布し、また一つは自端末の賛成票とし、残りの一つの許可情報シェアは他端末に一切漏らすことなく管理し、全端末数が３つ以上のときは、各々のメンバ端末は自端末が生成した（全端末数）個の許可情報シェアのうち、（全端末数−１）個は他の端末に配布し、残りの一つの許可情報シェアと許可情報はそれぞれが他端末に一切漏らすことなく管理する。
【０６３２】
また、メンバ端末が応対端末に許可情報シェアを提出する場合において、または応対端末が各々のメンバ端末から取得した許可情報シェアを新規端末に提供する場合において、自端末の宛先情報を含めて新規端末の公開鍵を利用して公開鍵暗号方式暗号化モジュールにより暗号化して提出する。
【０６３３】
また、第二段階において、全てのメンバ端末が応対端末に賛成票を提出した場合に、応対端末はコネクション確立情報生成モジュールによりコネクション確立情報を生成し、コネクション確立情報をＶＳＳ分散符号化モジュールにより、閾値（（全端末数）、（全端末数））で分散符号化して得られた（全端末数）個のコネクション情報シェアのうちの（全端末数−１）を全てのメンバ端末にそれぞれ一つずつに提供し、残りの一つのコネクション確立情報シェアと、その元の情報であるコネクション確立情報をデータベースでもって外部に漏洩なく管理する。
【０６３４】
また、メンバ端末が新規端末から許可情報シェアが添付されたコネクション確立要求を示すメッセージを受信した場合において、メンバ端末は新規端末が自端末以外のコミュニティに属する全端末から参加・加入に対する賛成を受けているかどうかを確認するために、許可情報比較モジュールは制御モジュールから許可情報の比較の依頼を受け、全端末数が２つの場合は、コネクション確立要求メッセージに添付されている２個の許可情報シェアと、自端末のデータベースで管理している１つの許可情報シェアを利用して、ＶＳＳ復号化モジュールにより許可情報を復元し、自端末のデータベースに保存している許可情報と相違がないか比較を行い、相違がない場合は、許可情報に含まれる時刻情報と比較時の時刻情報との差分が予め設定された所定値以上であるか否かを調べ、所定値以下ならば、さらに宛先情報が新規端末と相違がないか否かを調べ、相違がなければ、制御モジュールに正常応答を返し、全端末数が３つ以上の場合は、コネクション確立要求メッセージに添付されている（全端末数−１）×（全端末数−１）個の許可情報シェアのうち、自端末が配布した（全端末数−１）個の許可情報シェアと、自端末のデータベースで管理している１つの許可情報シェアを利用して、ＶＳＳ復号化モジュールにより許可情報を復元し、自端末のデータベースに保存している許可情報と相違があるか否かの比較を行い、相違がない場合は、許可情報に含まれる時刻情報と比較時の時刻情報との差分が所定値以上であるか否かを調べ、所定値以下ならば、さらに宛先情報が新規端末と相違があるか否かを調べ、相違がなければ、残りの（全端末数−２）×（全端末数−１）個の許可情報シェアに不正があるか否かを、シェア検証モジュールと他のメンバ端末から許可情報シェア配布時に取得した許可情報シェア検証用情報を利用して確認を行い、不正がなければ制御モジュールに正常応答を返す。
【０６３５】
また、許可情報の有効期間を示す所定値を任意に設定するための許可情報有効期間設定手段を備える。
【０６３６】
また、新規端末が各々のメンバ端末にコネクション確立要求を示すメッセージを送信し、正常にコネクションが確立される際に、各々のメンバ端末は、自端末がデータベースに保存しているコネクション確立情報シェアを提供し、新規端末は全てのメンバ端末から取得した（全端末数−１）個のコネクション確立情報シェアを含めて、応対端末に提供し、応対端末は新規端末が全てのメンバ端末とコネクションを確立しているか否かを確認するために、コネクション確立情報比較モジュールは制御モジュールからコネクション確立情報の比較の依頼を受け、新規端末から取得した（全端末数−１）個のコネクション確立情報シェアと、自端末のデータベースで管理している１個のコネクション確立情報シェアと、ＶＳＳ復号化モジュールと、を利用して復元したコネクション確立情報と、自端末のデータベースで管理しているコネクション確立情報とを比較して相違があるか否かの確認を行い、相違がない場合は、コネクション確立情報に含まれる時刻情報と比較時の時刻情報との差分が所定値以上であるか否かを調べ、所定値以下ならば制御モジュールに正常応答を返す。
【０６３７】
また、コネクション確立情報の有効期間を示す所定値を任意に設定するためのコネクション確立情報有効期間設定手段を備える。
【０６３８】
また、応対端末が各々のメンバ端末に新規端末のコミュニティへの参加・加入に対して賛否を問う場合において、招待または参加・加入を希望する新規端末を、宛先情報としてメンバ端末に知らせ、全端末数が３つ以上の場合は、新規端末の宛先情報をＶＳＳ分散符号化モジュールにより分散符号化して得られる宛先情報シェアと宛先情報シェア検証用情報とを知らせ、各々のメンバ端末同士は元の宛先情報を得るために応対端末から取得した宛先情報シェアをお互いに交換し、応対端末から取得した宛先情報シェア検証用情報とシェア検証用モジュールでもって、全ての宛先情報シェアの不正を検証した後にＶＳＳ復号化モジュールにより元の宛先情報を復元する。
【０６３９】
また、メンバ端末は賛成票として許可情報シェアを提出する場合において、それぞれの許可情報シェアを許可情報シェア検証用情報によって不正があるか否かをシェア検証モジュールによってチェックを行う。
【０６４０】
また、第一段階において、応対端末が全てのメンバ端末から通知された新規端末のコミュニティへの参加・加入に対する賛否の伺いに対し、投票のために第二段階に進むことが可能であるか否かの集計結果を通知し、第二段階において、投票結果を通知する。
【図面の簡単な説明】
【０６４１】
【図１】本発明のコミュニケーションシステムの第１の実施の形態に係る、ネットワークの構成を示す説明図である。
【図２】本発明のコミュニケーションシステムの第１の実施の形態に係る、端末１から端末４における内部のモジュール構成の例を示す説明図である。
【図３】本発明のコミュニケーションシステムの第１の実施の形態に係る、端末１と端末２の間で一対一にコネクションを確立するときにやり取りされるメッセージの例を示す説明図である。
【図４】本発明のコミュニケーションシステムの第１の実施の形態に係る、端末１と端末２の間で１対１にコネクションを確立するときに、端末１内のモジュール間処理を示す説明図である。
【図５】本発明のコミュニケーションシステムの第１の実施の形態に係る、端末１と端末２の間で１対１にコネクションを確立するときに、端末２内のモジュール間処理を示す説明図である。
【図６】本発明のコミュニケーションシステムの第１の実施の形態に係る、端末１と端末２の間で既にコネクションが確立され、コミュニティが形成されている状態から、端末３を新規にコミュニティに招待するときに各端末間でやり取りされるメッセージを示す説明図である。
【図７】本発明のコミュニケーションシステムの第１の実施の形態に係る、端末１がメッセージ４００、４０１、および端末２に対してメッセージ４０２を送信するまでの端末１内のモジュール処理を示すシーケンス図である。
【図８】本発明のコミュニケーションシステムの第１の実施の形態に係る、端末２が端末１からメッセージ４０２を受信し、４０３、４０４を送信するまでの端末２内のモジュール処理を示すシーケンス図である。
【図９】本発明のコミュニケーションシステムの第１の実施の形態に係る、端末１が端末２からメッセージ４０５を受信したときの端末１内のモジュール間の処理を示すシーケンス図である。
【図１０】本発明のコミュニケーションシステムの第１の実施の形態に係る、端末２がメッセージ４０６を受信し、メッセージ４０７を送信するまでの端末２内のモジュール処理を示すシーケンス図である。
【図１１】本発明のコミュニケーションシステムの第１の実施の形態に係る、端末２が端末１にメッセージ４０８を送信し、メッセージ４０９を受信するまでの端末２内のモジュール処理を示すシーケンス図である。
【図１２】本発明のコミュニケーションシステムの第１の実施の形態に係る、端末１が端末２からメッセージ４０８を受信したときの、端末１内のモジュール処理を示すシーケンス図である。
【図１３】本発明のコミュニケーションシステムの第１の実施の形態に係る、図１２の処理後の端末１が端末３に対してメッセージ４１２を送信するときの端末１内のモジュール処理を示すシーケンス図である。
【図１４】本発明のコミュニケーションシステムの第１の実施の形態に係る、端末３が端末１からメッセージ４１２を受信したときの端末３内のモジュール処理を示すシーケンス図である。
【図１５】本発明のコミュニケーションシステムの第１の実施の形態に係る、端末３が端末２にメッセージ４１７を送信するまでの端末３内のモジュール処理を示すシーケンス図である。
【図１６】本発明のコミュニケーションシステムの第１の実施の形態に係る、端末２が端末３からメッセージ４１７を受信したときの端末２内のモジュール処理を示すシーケンス図である。
【図１７】本発明のコミュニケーションシステムの第１の実施の形態に係る、端末３が端末２からメッセージ４１８を受信し、メッセージ４１９を返したときの端末３内のモジュール処理を示すシーケンス図である。
【図１８】本発明のコミュニケーションシステムの第１の実施の形態に係る、端末３が端末１にメッセージ４２０を送信したときの端末３内のモジュール処理を示すシーケンス図である。
【図１９】本発明のコミュニケーションシステムの第１の実施の形態に係る、端末１が端末３からメッセージ４２０を受信したときの端末１内のモジュール処理を示すシーケンス図である。
【図２０】本発明のコミュニケーションシステムの第１の実施の形態に係る、端末３が端末１からメッセージ４２１を受信したときの端末３内のモジュール処理を示すシーケンス図である。
【図２１】本発明のコミュニケーションシステムの第２の実施の形態に係る、端末１と端末２と端末３の間でフルメッシュにコネクションが確立されて、コミュニティが形成されている状態から、端末４を新規にコミュニティに招待するときに各端末間でやり取りされるメッセージを示す説明図である。
【図２２】本発明のコミュニケーションシステムの第２の実施の形態に係る、端末３がメッセージ５００を公開鍵サーバ５に送信し、公開鍵サーバからメッセージ５０１を受信し、さらに端末１にメッセージ５０２を、端末２にメッセージ５０３を送信するまでの端末３内のモジュール処理を示すシーケンス図である。
【図２３】本発明のコミュニケーションシステムの第２の実施の形態に係る、端末１が端末３からメッセージ５０２を受信し、メッセージ５０４を送信するまでの端末１内のモジュール処理を示すシーケンス図である。
【図２４】本発明のコミュニケーションシステムの第２の実施の形態に係る、端末２が端末１からメッセージ５０４を受信したときの端末２内のモジュール処理を示すシーケンス図である。
【図２５】本発明のコミュニケーションシステムの第２の実施の形態に係る、端末１がメッセージ５０５を受信したときの端末１内のモジュール処理を示すシーケンス図である。
【図２６】本発明のコミュニケーションシステムの第２の実施の形態に係る、図２５のシーケンス後に、端末１が端末２にメッセージ５１３を、端末３にメッセージ５１５を送信するまでの端末１内のモジュール処理を示すシーケンス図である。
【図２７】本発明のコミュニケーションシステムの第２の実施の形態に係る、図２４のシーケンス後に、端末２が端末１にメッセージ５０８を、端末３にメッセージ５１０を送信するまでの端末２内のモジュール処理を示すシーケンス図である。
【図２８】本発明のコミュニケーションシステムの第２の実施の形態に係る、端末１が端末２からメッセージ５１４を受信したときの端末１内のモジュール処理を示すシーケンス図である。
【図２９】本発明のコミュニケーションシステムの第２の実施の形態に係る、端末２が端末１からメッセージ５０９を受信したときの端末２内のモジュール処理を示すシーケンス図である。
【図３０】本発明のコミュニケーションシステムの第２の実施の形態に係る、端末３が端末１からメッセージ５１５を、端末２からメッセージ５１０を受信したときの端末３内のモジュール処理を示すシーケンス図である。
【図３１】本発明のコミュニケーションシステムの第２の実施の形態に係る、端末３が端末１と端末２にそれぞれメッセージ５１６、５１８を送信し、応答メッセージ５１７、５１９を受信するまでの端末３内のモジュール処理を示すシーケンス図である。
【図３２】本発明のコミュニケーションシステムの第２の実施の形態に係る、端末１が端末３にメッセージ５２０を送信し、メッセージ５２１、５２４を受信後、５２５を送信するまでの端末１内のモジュール処理を示すシーケンス図である。
【図３３】本発明のコミュニケーションシステムの第２の実施の形態に係る、端末２が端末３にメッセージ５２２を送信し、メッセージ５２３、５２６を受信後、５２７を送信するまでの端末２内のモジュール処理を示すシーケンス図である。
【図３４】本発明のコミュニケーションシステムの第２の実施の形態に係る、端末３が端末１からメッセージ５２０を受信し、メッセージ５２１を返し、端末２からメッセージ５２２を受信し、メッセージ５２３を返すまでの端末３内のモジュール処理を示すシーケンス図である。
【図３５】本発明のコミュニケーションシステムの第２の実施の形態に係る、端末３が端末１と端末２へメッセージ５２４、５２６を送信したときの端末３内のモジュール処理を示すシーケンス図である。
【図３６】本発明のコミュニケーションシステムの第２の実施の形態に係る、端末３が端末４にメッセージ５２８を送信するまでの端末３内のモジュール処理を示すシーケンス図である。
【図３７】本発明のコミュニケーションシステムの第２の実施の形態に係る、端末４が端末３からメッセージ５２８を受信したときの端末４内のモジュール処理を示すシーケンス図である。
【図３８】本発明のコミュニケーションシステムの第２の実施の形態に係る、端末４が端末１にメッセージ５３３を送信するまでの端末４内のモジュール処理を示すシーケンス図である。
【図３９】本発明のコミュニケーションシステムの第２の実施の形態に係る、端末１が端末４からメッセージ５３３を受信したときの端末１内のモジュール処理を示すシーケンス図である。
【図４０】本発明のコミュニケーションシステムの第２の実施の形態に係る、端末４が端末１からメッセージ５３４を受信したときの端末４内のモジュール処理を示すシーケンス図である。
【図４１】本発明のコミュニケーションシステムの第２の実施の形態に係る、端末４が端末２にメッセージ５３６を送信するまでの端末４内のモジュール処理を示すシーケンス図である。
【図４２】本発明のコミュニケーションシステムの第２の実施の形態に係る、端末２が端末４からメッセージ５３６を受信したときの端末２内のモジュール処理を示すシーケンス図である。
【図４３】本発明のコミュニケーションシステムの第２の実施の形態に係る、端末４が端末２からメッセージ５３７を受信したときの端末４内のモジュール処理を示すシーケンス図である。
【図４４】本発明のコミュニケーションシステムの第２の実施の形態に係る、端末４が端末３へメッセージ５３９を送信するまでの端末４内のモジュール処理を示すシーケンス図である。
【図４５】本発明のコミュニケーションシステムの第２の実施の形態に係る、端末３が端末４からメッセージ５３９を受信したときの端末３内のモジュール処理を示すシーケンス図である。
【図４６】本発明のコミュニケーションシステムの第２の実施の形態に係る、端末４が端末３からメッセージ５４０を受信したときの端末４内のモジュール処理を示すシーケンス図である。
【符号の説明】
【０６４２】
１、２、３、４、６  端末
５  公開鍵サーバ
１０、１１、１２  コネクション
１００  ネットワーク
１１１  意思入力モジュール
１１２  許可情報生成モジュール
１１３  許可情報比較モジュール
１１４  コネクション確立情報生成モジュール
１１５  コネクション確立情報比較モジュール
１１６  ＶＳＳ分散符号化モジュール
１１７  ＶＳＳ復号化モジュール
１１８  共通鍵生成モジュール
１１９  共通鍵暗号方式暗号化モジュール
１２０  共通鍵暗号方式復号化モジュール
１２１  公開鍵暗号方式暗号化モジュール
１２２  公開鍵暗号方式復号化モジュール
１２３  ｄｉｇｅｓｔ生成モジュール
１２４  メッセージ不正判断モジュール
１２５  データベース
１２６  メッセージ生成モジュール
１２７  メッセージ処理モジュール
１２８  メッセージ解析モジュール
１２９  シェア検証モジュール
【図１】
2006128869.tif 000003
【図２】
2006128869.tif 000004
【図３】
2006128869.tif 000005
【図４】
2006128869.tif 000006
【図５】
2006128869.tif 000007
【図６】
2006128869.tif 000008
【図７】
2006128869.tif 000009
【図８】
2006128869.tif 000010
【図９】
2006128869.tif 000011
【図１０】
2006128869.tif 000012
【図１１】
2006128869.tif 000013
【図１２】
2006128869.tif 000014
【図１３】
2006128869.tif 000015
【図１４】
2006128869.tif 000016
【図１５】
2006128869.tif 000017
【図１６】
2006128869.tif 000018
【図１７】
2006128869.tif 000019
【図１８】
2006128869.tif 000020
【図１９】
2006128869.tif 000021
【図２０】
2006128869.tif 000022
【図２１】
2006128869.tif 000023
【図２２】
2006128869.tif 000024
【図２３】
2006128869.tif 000025
【図２４】
2006128869.tif 000026
【図２５】
2006128869.tif 000027
【図２６】
2006128869.tif 000028
【図２７】
2006128869.tif 000029
【図２８】
2006128869.tif 000030
【図２９】
2006128869.tif 000031
【図３０】
2006128869.tif 000032
【図３１】
2006128869.tif 000033
【図３２】
2006128869.tif 000034
【図３３】
2006128869.tif 000035
【図３４】
2006128869.tif 000036
【図３５】
2006128869.tif 000037
【図３６】
2006128869.tif 000038
【図３７】
2006128869.tif 000039
【図３８】
2006128869.tif 000040
【図３９】
2006128869.tif 000041
【図４０】
2006128869.tif 000042
【図４１】
2006128869.tif 000043
【図４２】
2006128869.tif 000044
【図４３】
2006128869.tif 000045
【図４４】
2006128869.tif 000046
【図４５】
2006128869.tif 000047
【図４６】
2006128869.tif 000048